﻿	/* イベント名 */
	var eventName = {0:"集合ミーティング", 1:"休業日", 2:"土曜営業日", 3:"総会", 4:"納会", 5:"祝日", 6:"休業日"};
	/* イベントClass名 */
	var classNames ={0:'meeting', 1:'vacation', 2:'workday', 3:'assembly', 4:'last', 5:'holiday', 6:"holiday"};


	/* ▽▽予定をココに記述してください ▽▽*/
	//event[year/month/date] = X; Xにはイベント名のコード値(集合ミーティングなら0)を入力
	var event = new Object();
	//event[] = 0;(集合ミーティング）
	event["2011/5/20"] = 0;
	event["2011/6/17"] = 0;
	event["2011/8/5"] = 0;
	event["2011/10/7"] = 0;
	event["2011/12/9"] = 0;
	event["2012/2/17"] = 0;
	//event[] = 1;(指定有休日）
	event["2011/5/2"] = 1;
	event["2011/5/6"] = 1;
	event["2011/8/15"] = 1;
	event["2011/11/4"] = 1;
	event["2012/3/19"] = 1;
	//event[] = 2;(土曜出勤日）
	event["2011/10/1"] = 2;
	event["2011/12/17"] = 2;
	event["2012/1/21"] = 2;
	event["2012/2/25"] = 2;
	//event[] = 3;(総会）
	event["2011/4/23"] = 3;
	//event[] = 4;(納会）
	event["2011/12/29"] = 4;
	//event[] = 5;(祝日）
	event["2011/4/29"] = 5;
	event["2011/5/3"] = 5;
	event["2011/5/4"] = 5;
	event["2011/5/5"] = 5;
	event["2011/7/18"] = 5;
	event["2011/9/19"] = 5;
	event["2011/9/23"] = 5;
	event["2011/10/10"] = 5;
	event["2011/11/3"] = 5;
	event["2011/11/23"] = 5;
	event["2011/12/23"] = 5;
	event["2012/1/2"] = 5;
	event["2012/1/3"] = 5;
	event["2012/1/4"] = 5;
	event["2012/1/9"] = 5;
	event["2012/3/20"] = 5;

	//event[] = 6;(休業日）
	event["2011/12/30"] = 6;
	event["2011/12/31"] = 6;
	/* △△予定をココに記述してください △△*/


	//日付取得
	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 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 showTip(_elm,_tip){
 		var my_tooltip = new Tooltip(_elm,_tip)
	}

	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','January','February','March','April','May','June','July','August','September','October','November','December');
		
		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='tb_cal'>";
		cal_tags += "<tr>";
		cal_tags += "<th><a href='javaScript:prevCal();'><img src='common/img/ico/ico_arrow_l.gif' alt='back'></a></th>";
		cal_tags += "<th colspan='5'>";
		cal_tags += monthName[month] + " . " + year + "</th>";
		cal_tags += "<th><a href='javaScript:nextCal();'><img src='common/img/ico/ico_arrow_r.gif' alt='next'></a></th>";
		cal_tags += "</tr>";
		cal_tags += "<tr>";
		for(var i=0;i<weeks.length;i++){
			cal_tags += "<td class='day'>" + 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 = "";

			var eventCd = event[cal_day_match];
			if(eventCd != undefined){
				dayClass += classNames[event[cal_day_match]];
			}
			if(cal_day_cnt == day){
				dayClass += ' today';
			}
			if(cal_start_day == 0){
				dayClass += ' sun';
			}
			if(cal_start_day == 6){
				dayClass += ' sat';
			}

			/* 日セル：イベント時 */
			if(eventCd != undefined){
				var evntStr = eventName[eventCd];
				cal_tags += "<td onmouseover=showTip(this,'"+ evntStr + "') " 
							+ "class='" + dayClass + "'>" 
							+ cal_day_cnt + "</td>";
			}
			/* 日セル：未イベント時 */
			else{
				cal_tags += "<td class='" + 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);


