var Week = new Array('日','月','火','水','木','金','土');
var Days = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
var Holiday = new Object();
Holiday['2010-10-11'] = 'h';
Holiday['2010-10-18'] = 'h';
Holiday['2010-10-25'] = 'h';
Holiday['2010-10-4'] = 'h';
Holiday['2010-11-15'] = 'h';
Holiday['2010-11-1'] = 'h';
Holiday['2010-11-22'] = 'h';
Holiday['2010-11-23'] = 'h';
Holiday['2010-11-29'] = 'h';
Holiday['2010-11-3'] = 'h';
Holiday['2010-11-8'] = 'h';
Holiday['2010-12-13'] = 'h';
Holiday['2010-12-20'] = 'h';
Holiday['2010-12-23'] = 'h';
Holiday['2010-12-27'] = 'h';
Holiday['2010-12-30'] = 'h';
Holiday['2010-12-31'] = 'h';
Holiday['2010-12-6'] = 'h';
Holiday['2010-8-13'] = 'h';
Holiday['2010-8-14'] = 'h';
Holiday['2010-8-15'] = 'h';
Holiday['2010-8-16'] = 'h';
Holiday['2010-8-23'] = 'h';
Holiday['2010-8-2'] = 'h';
Holiday['2010-8-30'] = 'h';
Holiday['2010-8-5'] = 'h';
Holiday['2010-8-9'] = 'h';
Holiday['2010-9-13'] = 'h';
Holiday['2010-9-20'] = 'h';
Holiday['2010-9-23'] = 'h';
Holiday['2010-9-27'] = 'h';
Holiday['2010-9-6'] = 'h';
Holiday['2011-10-10'] = 'h';
Holiday['2011-10-17'] = 'h';
Holiday['2011-10-24'] = 'h';
Holiday['2011-10-31'] = 'h';
Holiday['2011-10-3'] = 'h';
Holiday['2011-11-14'] = 'h';
Holiday['2011-11-21'] = 'h';
Holiday['2011-11-23'] = 'h';
Holiday['2011-11-28'] = 'h';
Holiday['2011-11-3'] = 'h';
Holiday['2011-11-7'] = 'h';
Holiday['2011-12-12'] = 'h';
Holiday['2011-12-19'] = 'h';
Holiday['2011-12-23'] = 'h';
Holiday['2011-12-26'] = 'h';
Holiday['2011-12-30'] = 'h';
Holiday['2011-12-31'] = 'h';
Holiday['2011-12-5'] = 'h';
Holiday['2011-1-10'] = 'h';
Holiday['2011-1-17'] = 'h';
Holiday['2011-1-1'] = 'h';
Holiday['2011-1-24'] = 'h';
Holiday['2011-1-2'] = 'h';
Holiday['2011-1-31'] = 'h';
Holiday['2011-1-3'] = 'h';
Holiday['2011-2-11'] = 'h';
Holiday['2011-2-14'] = 'h';
Holiday['2011-2-21'] = 'h';
Holiday['2011-2-28'] = 'h';
Holiday['2011-2-7'] = 'h';
Holiday['2011-3-12'] = 'h';
Holiday['2011-3-13'] = 'h';
Holiday['2011-3-14'] = 'h';
Holiday['2011-3-15'] = 'h';
Holiday['2011-3-16'] = 'h';
Holiday['2011-3-17'] = 'h';
Holiday['2011-3-18'] = 'h';
Holiday['2011-3-19'] = 'h';
Holiday['2011-3-20'] = 'h';
Holiday['2011-3-21'] = 'h';
Holiday['2011-3-28'] = 'h';
Holiday['2011-3-7'] = 'h';
Holiday['2011-4-11'] = 'h';
Holiday['2011-4-18'] = 'h';
Holiday['2011-4-25'] = 'h';
Holiday['2011-4-29'] = 'h';
Holiday['2011-4-4'] = 'h';
Holiday['2011-5-16'] = 'h';
Holiday['2011-5-23'] = 'h';
Holiday['2011-5-2'] = 'h';
Holiday['2011-5-30'] = 'h';
Holiday['2011-5-3'] = 'h';
Holiday['2011-5-4'] = 'h';
Holiday['2011-5-5'] = 'h';
Holiday['2011-5-9'] = 'h';
Holiday['2011-6-13'] = 'h';
Holiday['2011-6-20'] = 'h';
Holiday['2011-6-27'] = 'h';
Holiday['2011-6-6'] = 'h';
Holiday['2011-7-11'] = 'h';
Holiday['2011-7-18'] = 'h';
Holiday['2011-7-25'] = 'h';
Holiday['2011-7-4'] = 'h';
Holiday['2011-8-13'] = 'h';
Holiday['2011-8-14'] = 'h';
Holiday['2011-8-15'] = 'h';
Holiday['2011-8-1'] = 'h';
Holiday['2011-8-22'] = 'h';
Holiday['2011-8-29'] = 'h';
Holiday['2011-8-8'] = 'h';
Holiday['2011-9-12'] = 'h';
Holiday['2011-9-17'] = 'h';
Holiday['2011-9-19'] = 'h';
Holiday['2011-9-23'] = 'h';
Holiday['2011-9-26'] = 'h';
Holiday['2011-9-5'] = 'h';

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
var css = new Object();
var tdcom = 'width:auto;padding:3px 1px 2px 1px;line-height:120%;text-align:center;vertical-align:middle;border:solid 1px #ffffff;';
css['table']  = ' style="width:160px;border-collapse:collapse;margin:0px;border:solid 0px #ffffff;"';
css['mo']     = ' style="'+tdcom+'font-size:12px;color:#000000;background-color:#ffffff;"';
css['cap']    = ' style="'+tdcom+'font-size:12px;color:#ffffff;background-color:#669933;"';
css['day']    = ' style="'+tdcom+'font-size:12px;color:#006633;background-color:#bbff99;"';
css['dayb']   = ' style="'+tdcom+'font-size:12px;color:#006633;background-color:#bbff99;font-weight:bolder;"';
css['hol']    = ' style="'+tdcom+'font-size:12px;color:#cccccc;background-color:#eeeeee;"';
css['holb']   = ' style="'+tdcom+'font-size:12px;color:#cccccc;background-color:#eeeeee;font-weight:bolder;"';
css['bla']    = ' style="'+tdcom+'font-size:12px;background-color:#eeffcc;font-weight:bolder;"';
css['no']     = ' style="'+tdcom+'font-size:10px;color:#666666;background-color:#ffffff;"';

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
var date = new Date();
var yea = date.getFullYear();
var mon = date.getMonth()+1;
booei(yea,mon);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function booei(yea,mon){
	var last_m = mon-1;
	var next_m = mon+1;
	var last_y = yea;
	var next_y = yea;
	if(last_m <= 0 ){last_m+=12;last_y--;}
	if(next_m >= 13){next_m-=12;next_y++;}
	uruu(yea);
	var start_week = week_judge(yea,mon,1);
	var last_day = Days[mon-1];
	cale = calendar(yea,mon,start_week,last_day,last_y,last_m,next_y,next_m);
	document.getElementById('booei').innerHTML = cale;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function calendar(yea,mon,start_week,last_day,last_y,last_m,next_y,next_m){
	var date = new Date();
	var now_ye = date.getFullYear();
	var now_mo = date.getMonth()+1;
	var today  = date.getDate();
	var linkc =  'style="color:#000000;text-decoration:none;"';
	//
	var cale = new String();
	cale += '<table'+css['table']+'>';
	cale += '<tr>';
	cale += '<td colspan="7"'+css['mo']+'>';
	cale += '<a href="javascript:booei('+last_y+','+last_m+');"'+linkc+'>&lt;&lt;</a> &nbsp;';
	cale += yea+'年'+mon+'月 &nbsp;';
	cale += '<a href="javascript:booei('+next_y+','+next_m+');"'+linkc+'>&gt;&gt;</a>';
	cale += '</td>';
	cale += '</tr>';
	for(var w=0;w<7;w++){cale += '<td'+css['cap']+'>'+Week[w]+'</td>';}
	cale += '</tr>';
	var gyo   = Math.floor(last_day/7)+2;
	var start = 0;
	var day   = 1;
	for(var g=0;g<gyo;g++){
		cale += "<tr>";
		for(var w=0;w<7;w++){
			if(start == 0 && w == start_week){start++;}
			if(start == 0 || day > last_day){
				cale += '<td'+css['bla']+'>&nbsp;</td>';
			}else{
				var csw = 'day';
				if(Holiday[yea+'-'+mon+'-'+day]){
					if(yea == now_ye && mon == now_mo && day == today){
						csw = 'holb';
						if(Holiday[yea+'-'+mon+'-'+day] > 0){
							csw += '-'+Holiday[yea+'-'+mon+'-'+day];
						}
					}else{
						csw = 'hol';
						if(Holiday[yea+'-'+mon+'-'+day] > 0){
							csw += '-'+Holiday[yea+'-'+mon+'-'+day];
						}
					}
				}else{
					if(yea == now_ye && mon == now_mo && day == today){
						csw = 'dayb';
					}else{
						csw = 'day';
					}
				}
				cale += '<td'+css[csw]+'>'+day+'</td>';
				day++;
			}
		}
		cale += "</tr>";
		if(day > last_day){break;}
	}
	cale += '<tr>';
	cale += '<td'+css['no']+' colspan="7">';
	cale += '<span style="color:#bbff99;background-color:#bbff99;width:8px;height:8px;line-height:100%;font-size:10px;margin:0px;padding:0px;">■</span> &nbsp;開講';cale += '&nbsp;<span style="color:#eeeeee;background-color:#eeeeee;width:8px;height:8px;line-height:100%;font-size:10px;margin:0px;padding:0px;">■</span> &nbsp;休講';
	if('' == 1){
		var linkc =  'style="color:#666666;text-decoration:none;"';
		cale += '<p style="font-size:10px;margin:3px 1px 1px 1px;padding:0px;text-align:center;overflow:hidden;display:block;"><a href="http://pal-net.ne.jp/cgi-bin/hello-pc/lesson/booei.cgi"'+linkc+'>ADMIN</a></p>';
	}
	cale += '</td>';
	cale += '</tr>';
	cale += '</table>';
	return cale;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function week_judge(yea,mon,day){
	if(mon < 3){
		mon+=12;
		yea--;
	}
	var wn = (yea+Math.floor(yea/4)-Math.floor(yea/100)+Math.floor(yea/400)+Math.floor((13*mon+8)/5)+day)%7;
	return wn;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function uruu(yea){
	var uruu = 28;
	if((yea % 4 == 0 && yea % 100 != 0) || yea % 400 == 0){
	    uruu = 29;
	}
	Days[1] = uruu;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


