﻿<!--
	//CSSのクラス名
	var classNames = new Array('holiday','xday','birthday');
	
	//holiday[ここに日にちを半角で] = X; Xにはクラスの配列番号
	var holiday = new Object();

	//ここに休業日を羅列していく。いつも = 0; とすること。
	holiday["2009/4/10"] = 0;
	holiday["2009/4/13"] = 0;
	holiday["2009/5/1"] = 0;
	holiday["2009/5/21"] = 0;
	holiday["2009/5/31"] = 0;
	holiday["2009/6/1"] = 0;
	holiday["2009/6/11"] = 0;
	holiday["2009/10/03"] = 0;
	holiday["2009/11/1"] = 0;
	holiday["2009/12/24"] = 0;
	holiday["2009/12/25"] = 0;
	holiday["2009/12/26"] = 0;
	holiday["2009/12/31"] = 0;
	holiday["2010/1/1"] = 0;
	holiday["2010/1/6"] = 0;
	holiday["2010/2/15"] = 0;
	holiday["2010/4/2"] = 0;
	holiday["2010/4/5"] = 0;
	holiday["2010/5/1"] = 0;
	holiday["2010/5/13"] = 0;
	holiday["2010/5/24"] = 0;
	holiday["2010/6/3"] = 0;
	holiday["2010/8/4"] = 0;
	holiday["2010/8/5"] = 0;
	holiday["2010/8/6"] = 0;
	holiday["2010/8/7"] = 0;
	holiday["2010/8/8"] = 0;
	holiday["2010/8/9"] = 0;
	holiday["2010/8/10"] = 0;
	holiday["2010/8/11"] = 0;
	holiday["2010/8/12"] = 0;
	holiday["2010/8/13"] = 0;
	holiday["2010/10/3"] = 0;
	holiday["2010/11/1"] = 0;
	holiday["2010/12/25"] = 0;
	holiday["2010/12/26"] = 0;
	holiday["2011/4/22"] = 0;
	holiday["2011/4/25"] = 0;
	holiday["2011/4/26"] = 0;
	holiday["2011/4/27"] = 0;
	holiday["2011/4/28"] = 0;
	holiday["2011/4/29"] = 0;
	holiday["2011/4/30"] = 0;
	holiday["2011/6/2"] = 0;
	holiday["2011/6/13"] = 0;
	holiday["2011/6/23"] = 0;
	holiday["2011/8/11"] = 0;
	holiday["2011/8/12"] = 0;
	holiday["2011/8/13"] = 0;
	holiday["2011/8/14"] = 0;
	holiday["2011/8/15"] = 0;
	holiday["2011/8/16"] = 0;
	holiday["2011/8/17"] = 0;
	holiday["2011/8/18"] = 0;
	holiday["2011/8/19"] = 0;
	holiday["2011/8/20"] = 0;
	holiday["2011/8/21"] = 0;
	holiday["2011/10/3"] = 0;
	holiday["2011/11/1"] = 0;
	holiday["2011/12/26"] = 0;
	holiday["2012/1/1"] = 0;
	holiday["2012/2/20"] = 0;
	holiday["2012/4/6"] = 0;
	holiday["2012/4/9"] = 0;
	holiday["2012/5/1"] = 0;
	holiday["2012/5/17"] = 0;
	holiday["2012/5/28"] = 0;
	holiday["2012/6/7"] = 0;
	holiday["2012/10/3"] = 0;
	holiday["2012/11/1"] = 0;
	holiday["2012/12/25"] = 0;
	holiday["2012/12/26"] = 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("日","月","火","水","木","金","土");
		var monthName = new Array('none','１月','２月','３月','４月','５月','６月','７月','８月','９月','１０月','１１月','１２月');
		
		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 += "営業日カレンダー【赤：休業日】<br />" + 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(holiday[cal_day_match] != undefined){
				dayClass = ' class="'+classNames[holiday[cal_day_match]]+'"';
			}
			else if(cal_start_day == 0){
				dayClass = ' class="Sun"';
			}
			else if(cal_start_day == 6){
				dayClass = ' class="Sat"';
			}
			else if(cal_day_cnt == day){
				dayClass = ' class="Today"';
			}
			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);
//-->
