﻿<!--

	//CSSのクラス名を指定

	var classNames = new Array('holyday','xday','birthday');

	//holyday[ここに日にちを半角で] = X; Xにはクラスの配列番号

	var holyday = new Object();



//定休日などはここで設定

//通常は、holyday["2007/11/6"] = 0;　の年月日だけを書き換え




holyday["2012/1/1"] = 0;

holyday["2012/1/2"] = 0;

holyday["2012/1/3"] = 0;

holyday["2012/1/4"] = 0;

holyday["2012/1/5"] = 0;

holyday["2012/1/10"] = 0;

holyday["2012/1/15"] = 0;

holyday["2012/1/17"] = 0;

holyday["2012/1/24"] = 0;

holyday["2012/1/29"] = 0;

holyday["2012/1/30"] = 0;


holyday["2012/2/5"] = 0;

holyday["2012/2/7"] = 0;

holyday["2012/2/14"] = 0;

holyday["2012/2/19"] = 0;

holyday["2012/2/21"] = 0;

holyday["2012/2/28"] = 0;


holyday["2012/3/4"] = 0;

holyday["2012/3/6"] = 0;

holyday["2012/3/13"] = 0;

holyday["2012/3/18"] = 0;

holyday["2012/3/20"] = 0;

holyday["2012/3/27"] = 0;







//上の定休日指定は、増やすことも減らすことも可能です。

//例えば半年先まで定休日を設定しておいたり

//半年前までの定休日を残しておくなどのこともできます。

//追加・削除を自由におこなってください。

	

	var today = new Date();

	var cal_year = today.getYear();

	var cal_month = today.getMonth() + 1;

	var cal_day = today.getDate();

	if (cal_year < 1900) cal_year += 1900;

	document.write("<div id='calendar'></div>");

	var cal = document.getElementById("calendar");

	var defaultBackgroundColors = new Object();

	var to_year = cal_year;

	var to_month = cal_month;

	var to_day = cal_day;

	

	function tdOver(obj){

		defaultBackgroundColors[obj] = obj.style.backgroundColor;

		obj.style.backgroundColor = '#E8EEF9';

	}

	function tdOut(obj){

		obj.style.backgroundColor = defaultBackgroundColors[obj];

	}

	function spanOver(obj){

		defaultBackgroundColors[obj] = obj.style.backgroundColor;

		obj.style.color = '#FF9900';

	}

	function spanOut(obj){

		obj.style.color = defaultBackgroundColors[obj];

	}

	

	function currentCal(){

		cal_year = to_year;

		cal_month = to_month;

		cal_day = to_day;

		writeCal(cal_year,cal_month,cal_day);

	}

	function prevCal(){

		cal_month -= 1;

		if(cal_month < 1){

			cal_month = 12;

			cal_year -= 1;

		}

		writeCal(cal_year,cal_month,0);

	}

	function nextCal(){

		cal_month += 1;

		if(cal_month > 12){

			cal_month = 1;

			cal_year += 1;

		}

		writeCal(cal_year,cal_month,0);

	}

	function getWeek(year,month,day){

		if (month == 1 || month == 2) {

			year--;

			month += 12;

		}

		var week = Math.floor(year + Math.floor(year/4) - Math.floor(year/100) + Math.floor(year/400) + Math.floor((13 * month + 8) / 5) + day) % 7;

		return week;

	}

	function writeCal(year,month,day){

		var calendars = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);

		var weeks = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");

		var monthName = new Array('none','1','2','3','4','5','6','7','8','9','10','11','12');

		

		var cal_flag = 0;

		if(year % 100 == 0 || year % 4 != 0){

			if(year % 400 != 0){

				cal_flag = 0;

			}

			else{

				cal_flag = 1;

			}

		}

		else if(year % 4 == 0){

			cal_flag = 1;

		}

		else{

			cal_flag = 0;

		}

		calendars[2] += cal_flag;

		

		var cal_start_day = getWeek(year,month,1);

		var cal_tags = "<table border='0' cellspacing='0' cellpadding='0' class='calendar'>";

		cal_tags += "<tr><th colspan='7'>";

		cal_tags += "<span onMouseOver='spanOver(this);' onMouseOut='spanOut(this);' onClick='nextCal();'>▲</span>";

		cal_tags += "<span onMouseOver='spanOver(this);' onMouseOut='spanOut(this);' onClick='currentCal();'>〓</span>";

		cal_tags += "<span onMouseOver='spanOver(this);' onMouseOut='spanOut(this);' onClick='prevCal();'>▼</span>";

		cal_tags += year + "年" + monthName[month] + "月" + "</th></tr>";

		cal_tags += "<tr class='headline'>";

		for(var i=0;i<weeks.length;i++){

			cal_tags += "<td>" + weeks[i] + "</td>";

		}

		cal_tags += "</tr><tr>";

		for(var i=0;i < cal_start_day;i++){

			cal_tags += "<td>&nbsp;</td>";

		}

		

		//main

		for(var cal_day_cnt = 1;cal_day_cnt <= calendars[month];cal_day_cnt++){

			var cal_day_match = year + "/" + month + "/" + cal_day_cnt;

			var dayClass = "";

			

			if(holyday[cal_day_match] != undefined){

				dayClass = ' class="'+classNames[holyday[cal_day_match]]+'"';

			}

			else if(cal_day_cnt == day){

				dayClass = ' class="Today"';

			}

			else if(cal_start_day == 0){

				dayClass = ' class="Sun"';

			}

			else if(cal_start_day == 6){

				dayClass = ' class="Sat"';

			}

			cal_tags += "<td onMouseOver='tdOver(this);' onMouseOut='tdOut(this);'"+dayClass+">" + cal_day_cnt + "</td>";

			if(cal_start_day == 6){

				cal_tags += "</tr>";

				if(cal_day_cnt < calendars[month]){

					cal_tags += "<tr>";

				}

				cal_start_day = 0;

			}

			else{

				cal_start_day++;

			}

		}

		while(cal_start_day <= 6 && cal_start_day != 0){

			cal_tags += "<td>&nbsp;</td>";

			if(cal_start_day == 6){

				cal_tags += "</tr>";

			}

			cal_start_day++;

		}

		cal_tags += "</table>";

		cal.innerHTML = cal_tags;

	}

	writeCal(cal_year,cal_month,cal_day);

//-->
