var holyday = new Object();

var classNames = new Array('','http://ai.frontier-web.com/cat74/post_63.html','http://ai.frontier-web.com/cat74/post_59.html','http://ai.frontier-web.com/cat74/post_62.html','http://ai.frontier-web.com/cat74/post_55.html','http://ai.frontier-web.com/cat78/post_64.html','http://ai.frontier-web.com/cat78/post_61.html','http://ai.frontier-web.com/cat78/post_60.html','http://ai.frontier-web.com/cat59/post_58.html','http://ai.frontier-web.com/cat60/post_57.html','http://ai.frontier-web.com/cat60/post_56.html','http://ai.frontier-web.com/lovesaderenai/post_54.html','http://ai.frontier-web.com/cat6/post_39.html','http://ai.frontier-web.com/cat6/post_40.html','http://ai.frontier-web.com/lovesaderenai/post_49.html','http://ai.frontier-web.com/lovesadekekkon/post_48.html','http://ai.frontier-web.com/lovesaderenai/post_50.html','http://ai.frontier-web.com/lovesaderenai/post_52.html','http://ai.frontier-web.com/cat6/post_38.html','http://ai.frontier-web.com/cat6/post_37.html','http://ai.frontier-web.com/lovesadekekkon/post_46.html','http://ai.frontier-web.com/cat6/post_41.html','http://ai.frontier-web.com/lovesaderenai/post_53.html','http://ai.frontier-web.com/lovesaderenai/post_51.html','http://ai.frontier-web.com/lovesadekekkon/post_47.html','http://ai.frontier-web.com/lovesaderenai/post_45.html','http://ai.frontier-web.com/lovesaderenai/post_44.html','http://ai.frontier-web.com/lovesaderenai/post_43.html','http://ai.frontier-web.com/lovesaderenai/post_42.html','http://ai.frontier-web.com/cat6/post_36.html','http://ai.frontier-web.com/cat6/post_35.html','http://ai.frontier-web.com/cat6/post_29.html','http://ai.frontier-web.com/cat6/post_27.html','http://ai.frontier-web.com/cat6/post_25.html','http://ai.frontier-web.com/cat6/post_34.html','http://ai.frontier-web.com/cat6/post_26.html','http://ai.frontier-web.com/cat6/post_33.html','http://ai.frontier-web.com/cat6/post_24.html','http://ai.frontier-web.com/cat6/post_28.html','http://ai.frontier-web.com/cat6/post_23.html','http://ai.frontier-web.com/cat6/post_32.html','http://ai.frontier-web.com/cat6/post_31.html','http://ai.frontier-web.com/cat6/post_22.html','http://ai.frontier-web.com/cat6/post_30.html','http://ai.frontier-web.com/cat6/post_21.html','http://ai.frontier-web.com/cat6/post_20.html','http://ai.frontier-web.com/cat6/post_19.html','http://ai.frontier-web.com/cat6/post_18.html','http://ai.frontier-web.com/cat6/post_17.html','http://ai.frontier-web.com/cat6/post_16.html','http://ai.frontier-web.com/cat6/post_15.html','http://ai.frontier-web.com/cat6/post_14.html','http://ai.frontier-web.com/cat6/post_13.html','http://ai.frontier-web.com/cat6/post_12.html','http://ai.frontier-web.com/cat6/post_11.html','http://ai.frontier-web.com/cat6/post_10.html','http://ai.frontier-web.com/cat6/post_9.html','http://ai.frontier-web.com/cat6/post_8.html','http://ai.frontier-web.com/cat7/jrank.html','http://ai.frontier-web.com/cat6/post_7.html','http://ai.frontier-web.com/cat7/post_6.html','http://ai.frontier-web.com/cat7/post_5.html','http://ai.frontier-web.com/cat6/post_4.html','http://ai.frontier-web.com/cat7/post_3.html','http://ai.frontier-web.com/cat7/fc2_blog_ranking.html','http://ai.frontier-web.com/cat6/post_2.html','http://ai.frontier-web.com/cat7/post_1.html','http://ai.frontier-web.com/cat6/post.html','http://ai.frontier-web.com/cat74/pcmax.html');

holyday["2035/1/04"] = 1;

holyday["2034/5/26"] = 2;

holyday["2033/1/01"] = 3;

holyday["2030/3/16"] = 4;

holyday["2012/1/17"] = 5;

holyday["2011/6/20"] = 6;

holyday["2011/6/08"] = 7;

holyday["2011/5/11"] = 8;

holyday["2011/4/08"] = 9;

holyday["2011/3/26"] = 10;

holyday["2010/10/24"] = 11;

holyday["2010/9/30"] = 12;

holyday["2010/9/22"] = 13;

holyday["2010/9/13"] = 14;

holyday["2010/9/02"] = 15;

holyday["2010/8/26"] = 16;

holyday["2010/8/20"] = 17;

holyday["2010/8/10"] = 18;

holyday["2010/8/03"] = 19;

holyday["2010/8/01"] = 20;

holyday["2010/7/28"] = 21;

holyday["2010/7/18"] = 22;

holyday["2010/7/15"] = 23;

holyday["2010/7/10"] = 24;

holyday["2010/7/08"] = 25;

holyday["2010/7/07"] = 26;

holyday["2010/7/06"] = 27;

holyday["2010/7/05"] = 28;

holyday["2010/7/04"] = 29;

holyday["2010/7/02"] = 30;

holyday["2010/7/01"] = 31;

holyday["2010/6/28"] = 32;

holyday["2010/6/25"] = 33;

holyday["2010/6/25"] = 34;

holyday["2010/6/23"] = 35;

holyday["2010/6/19"] = 36;

holyday["2010/6/16"] = 37;

holyday["2010/6/15"] = 38;

holyday["2010/6/13"] = 39;

holyday["2010/6/11"] = 40;

holyday["2010/6/08"] = 41;

holyday["2010/6/06"] = 42;

holyday["2010/6/04"] = 43;

holyday["2010/6/04"] = 44;

holyday["2010/5/31"] = 45;

holyday["2010/5/26"] = 46;

holyday["2010/5/18"] = 47;

holyday["2010/5/12"] = 48;

holyday["2010/5/08"] = 49;

holyday["2010/4/27"] = 50;

holyday["2010/4/24"] = 51;

holyday["2010/4/22"] = 52;

holyday["2010/4/21"] = 53;

holyday["2010/4/15"] = 54;

holyday["2010/4/08"] = 55;

holyday["2010/4/06"] = 56;

holyday["2010/4/02"] = 57;

holyday["2010/4/01"] = 58;

holyday["2010/3/30"] = 59;

holyday["2010/3/23"] = 60;

holyday["2010/3/22"] = 61;

holyday["2010/3/20"] = 62;

holyday["2010/3/17"] = 63;

holyday["2010/3/16"] = 64;

holyday["2010/3/14"] = 65;

holyday["2010/3/10"] = 66;

holyday["2010/3/10"] = 67;

holyday["2010/1/01"] = 68;


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 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','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>";
	cal_tags += "<tr><th colspan='7'>";
	cal_tags += "<span onClick='nextCal();' class='nextcal'></span>";
	cal_tags += "<span onClick='currentCal();' class='currentcal'></span>";
	cal_tags += "<span onClick='prevCal();' class='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_cnt_sub = cal_day_cnt;
		if (cal_day_cnt_sub < 10){
			cal_day_cnt_sub = "0" + cal_day_cnt_sub;
		};
		var cal_day_match = year + "/" + month + "/" + cal_day_cnt_sub;
		var dayClass = "";
		var onClass1 = "";
		var onClass2 = "";
		var onClass3 = "";
		
		if(holyday[cal_day_match] != undefined){
			onClass1 = ' on';
			onClass2 = '<a href="'+classNames[holyday[cal_day_match]]+'">';
			onClass3 = '</a>';
		}
		else if(cal_start_day == 0){
			dayClass = 'Sun';
		}
		else if(cal_start_day == 6){
			dayClass = 'Sat';
		}
		cal_tags += "<td class=\""+dayClass+""+onClass1+"\">"+onClass2+"" + cal_day_cnt + ""+onClass3+"</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);
