﻿
var closeDate = Array();
closeDate[1] = '1,2,3,4,9';
closeDate[2] = '11';
closeDate[3] = '21';
closeDate[4] = '29';
closeDate[5] = '3,4,5';
closeDate[6] = '';
closeDate[7] = '18';
closeDate[8] = '';
closeDate[9] = '19,23';
closeDate[10] = '8,10';
closeDate[11] = '3,23';
closeDate[12] = '23,30,31';

Kaas.addEvent(window, "load", allInit);

function allInit(){
	if (document.getElementById('calender')){
		var today_data = new Date();
		today_data.setDate(1);

		document.getElementById('calender').innerHTML = makeCalender(today_data);
/*
		var tempM = today_data.getMonth();
		today_data.setMonth(tempM + 1);
		document.getElementById('calenderNext').innerHTML = makeCalender(today_data);
*/
	}
}

/* ============================================================================== like lightBox
*/

var opacityFin = 80;
var opNow = 0;
var timerID;
var opObj;
var opValue;

function makeCalender(today){
	var monthName = '1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月'.split(',');
	var monthDays = '31,28,31,30,31,30,31,31,30,31,30,31'.split(',');

	var year = today.getYear();
	if (year < 2000)year += 1900;
	var month = today.getMonth() + 1;
	var day = today.getDate();

	if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))monthDays[1] = 29;
	var start = calcDay(year, month, 1);
	var outHtml = '';

	outHtml += '<table cellpadding="0" cellspacing="1" summary="'+year+'年'+monthName[month-1]+'のカレンダー">';
	outHtml += '<caption>'+year+'年'+monthName[month-1]+'</caption>';
						
	outHtml += '<tr>';
	outHtml += '<th class="sun" abbr="日曜日">日</th>';
	outHtml += '<th class="mon" abbr="月曜日">月</th>';
	outHtml += '<th class="tue" abbr="火曜日">火</th>';
	outHtml += '<th class="wed" abbr="水曜日">水</th>';
	outHtml += '<th class="thu" abbr="木曜日">木</th>';
	outHtml += '<th class="fri" abbr="金曜日">金</th>';
	outHtml += '<th class="sat" abbr="土曜日">土</th>';
	outHtml += '</tr>';

	var classClose = Array();
	if (closeDate[month]){
		var dataArray = closeDate[month].split(',');
		for(i=0; i<dataArray.length; i++){
			classClose[dataArray[i]] = 'on';
		}
	}
	var count=0;

	if (start > 0){
		outHtml += '<tr>';
		for(i=0; i<start; i++){
			outHtml += '<td>&nbsp;</td>';
			count++;
		}
	}

	var classValue = '';
	for(i=1; i<=monthDays[month-1]; i++){
		if (count % 7==0)outHtml += '<tr>';
		if (classClose[i] == 'on'){
			classValue = ' class="holi"';
		} else if (count % 7==6){
			classValue = ' class="sat"';
		} else if (count % 7==0){
			classValue = ' class="sun"';
		} else {
			classValue = '';
		}
		outHtml += '<td'+classValue+'>'+i+'</td>';
		if (count % 7==6)outHtml += '</tr>';
		count++;
	}
	if (count % 7 != 0){
		for(i=count % 7; i<7; i++){
			outHtml += '<td>&nbsp;</td>';
		}
		outHtml += '</tr>';
	}

	outHtml += '</table>';
return outHtml;
}

function calcDay(yy, mm, dd){
	if ((mm == 1)||(mm == 2)){yy--; mm += 12;}
	return (yy + Math.floor(yy / 4) - Math.floor(yy / 100) + Math.floor(yy / 400) + Math.floor((13 * mm + 8) / 5) + dd) % 7
}
