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-10'] = '1';
Holiday['2010-10-11'] = '1';
Holiday['2010-10-16'] = '1';
Holiday['2010-10-17'] = '1';
Holiday['2010-10-23'] = '1';
Holiday['2010-10-24'] = '1';
Holiday['2010-10-2'] = '1';
Holiday['2010-10-30'] = '1';
Holiday['2010-10-31'] = '1';
Holiday['2010-10-3'] = '1';
Holiday['2010-10-9'] = '1';
Holiday['2010-11-13'] = '1';
Holiday['2010-11-14'] = '1';
Holiday['2010-11-20'] = '1';
Holiday['2010-11-21'] = '1';
Holiday['2010-11-23'] = '1';
Holiday['2010-11-27'] = '1';
Holiday['2010-11-28'] = '1';
Holiday['2010-11-3'] = '1';
Holiday['2010-11-6'] = '1';
Holiday['2010-11-7'] = '1';
Holiday['2010-12-11'] = '1';
Holiday['2010-12-12'] = '1';
Holiday['2010-12-18'] = '1';
Holiday['2010-12-19'] = '1';
Holiday['2010-12-23'] = '1';
Holiday['2010-12-25'] = '1';
Holiday['2010-12-26'] = '1';
Holiday['2010-12-28'] = '1';
Holiday['2010-12-29'] = '1';
Holiday['2010-12-30'] = '1';
Holiday['2010-12-31'] = '1';
Holiday['2010-12-4'] = '1';
Holiday['2010-12-5'] = '1';
Holiday['2010-7-10'] = '1';
Holiday['2010-7-11'] = '1';
Holiday['2010-7-17'] = '1';
Holiday['2010-7-18'] = '1';
Holiday['2010-7-19'] = '1';
Holiday['2010-7-24'] = '1';
Holiday['2010-7-25'] = '1';
Holiday['2010-7-31'] = '1';
Holiday['2010-7-3'] = '1';
Holiday['2010-7-4'] = '1';
Holiday['2010-8-12'] = '1';
Holiday['2010-8-13'] = '1';
Holiday['2010-8-14'] = '1';
Holiday['2010-8-15'] = '1';
Holiday['2010-8-1'] = '1';
Holiday['2010-8-21'] = '1';
Holiday['2010-8-22'] = '1';
Holiday['2010-8-28'] = '1';
Holiday['2010-8-29'] = '1';
Holiday['2010-8-7'] = '1';
Holiday['2010-8-8'] = '1';
Holiday['2010-9-11'] = '1';
Holiday['2010-9-12'] = '1';
Holiday['2010-9-18'] = '1';
Holiday['2010-9-19'] = '1';
Holiday['2010-9-23'] = '1';
Holiday['2010-9-25'] = '1';
Holiday['2010-9-26'] = '1';
Holiday['2010-9-4'] = '1';
Holiday['2010-9-5'] = '1';
Holiday['2011-10-10'] = '1';
Holiday['2011-10-15'] = '1';
Holiday['2011-10-16'] = '1';
Holiday['2011-10-1'] = '1';
Holiday['2011-10-22'] = '1';
Holiday['2011-10-23'] = '1';
Holiday['2011-10-29'] = '1';
Holiday['2011-10-2'] = '1';
Holiday['2011-10-30'] = '1';
Holiday['2011-10-8'] = '1';
Holiday['2011-10-9'] = '1';
Holiday['2011-11-12'] = '1';
Holiday['2011-11-13'] = '1';
Holiday['2011-11-19'] = '1';
Holiday['2011-11-20'] = '1';
Holiday['2011-11-23'] = '1';
Holiday['2011-11-26'] = '1';
Holiday['2011-11-27'] = '1';
Holiday['2011-11-3'] = '1';
Holiday['2011-11-5'] = '1';
Holiday['2011-11-6'] = '1';
Holiday['2011-12-10'] = '1';
Holiday['2011-12-11'] = '1';
Holiday['2011-12-17'] = '1';
Holiday['2011-12-18'] = '1';
Holiday['2011-12-23'] = '1';
Holiday['2011-12-24'] = '1';
Holiday['2011-12-25'] = '1';
Holiday['2011-12-28'] = '1';
Holiday['2011-12-29'] = '1';
Holiday['2011-12-30'] = '1';
Holiday['2011-12-31'] = '1';
Holiday['2011-12-3'] = '1';
Holiday['2011-12-4'] = '1';
Holiday['2011-1-10'] = '1';
Holiday['2011-1-15'] = '1';
Holiday['2011-1-16'] = '1';
Holiday['2011-1-1'] = '1';
Holiday['2011-1-22'] = '1';
Holiday['2011-1-23'] = '1';
Holiday['2011-1-29'] = '1';
Holiday['2011-1-2'] = '1';
Holiday['2011-1-30'] = '1';
Holiday['2011-1-3'] = '1';
Holiday['2011-1-4'] = '1';
Holiday['2011-1-8'] = '1';
Holiday['2011-1-9'] = '1';
Holiday['2011-2-11'] = '1';
Holiday['2011-2-12'] = '1';
Holiday['2011-2-13'] = '1';
Holiday['2011-2-19'] = '1';
Holiday['2011-2-20'] = '1';
Holiday['2011-2-26'] = '1';
Holiday['2011-2-27'] = '1';
Holiday['2011-2-5'] = '1';
Holiday['2011-2-6'] = '1';
Holiday['2011-3-12'] = '1';
Holiday['2011-3-13'] = '1';
Holiday['2011-3-19'] = '1';
Holiday['2011-3-20'] = '1';
Holiday['2011-3-21'] = '1';
Holiday['2011-3-26'] = '1';
Holiday['2011-3-27'] = '1';
Holiday['2011-3-5'] = '1';
Holiday['2011-3-6'] = '1';
Holiday['2011-4-10'] = '1';
Holiday['2011-4-16'] = '1';
Holiday['2011-4-17'] = '1';
Holiday['2011-4-23'] = '1';
Holiday['2011-4-24'] = '1';
Holiday['2011-4-29'] = '1';
Holiday['2011-4-2'] = '1';
Holiday['2011-4-30'] = '1';
Holiday['2011-4-3'] = '1';
Holiday['2011-4-9'] = '1';
Holiday['2011-5-14'] = '1';
Holiday['2011-5-15'] = '1';
Holiday['2011-5-1'] = '1';
Holiday['2011-5-21'] = '1';
Holiday['2011-5-22'] = '1';
Holiday['2011-5-28'] = '1';
Holiday['2011-5-29'] = '1';
Holiday['2011-5-3'] = '1';
Holiday['2011-5-4'] = '1';
Holiday['2011-5-5'] = '1';
Holiday['2011-5-7'] = '1';
Holiday['2011-5-8'] = '1';
Holiday['2011-6-11'] = '1';
Holiday['2011-6-12'] = '1';
Holiday['2011-6-18'] = '1';
Holiday['2011-6-19'] = '1';
Holiday['2011-6-25'] = '1';
Holiday['2011-6-26'] = '1';
Holiday['2011-6-4'] = '1';
Holiday['2011-6-5'] = '1';
Holiday['2011-7-10'] = '1';
Holiday['2011-7-16'] = '1';
Holiday['2011-7-17'] = '1';
Holiday['2011-7-18'] = '1';
Holiday['2011-7-23'] = '1';
Holiday['2011-7-24'] = '1';
Holiday['2011-7-2'] = '1';
Holiday['2011-7-30'] = '1';
Holiday['2011-7-31'] = '1';
Holiday['2011-7-3'] = '1';
Holiday['2011-7-9'] = '1';
Holiday['2011-8-12'] = '1';
Holiday['2011-8-13'] = '1';
Holiday['2011-8-14'] = '1';
Holiday['2011-8-15'] = '1';
Holiday['2011-8-20'] = '1';
Holiday['2011-8-21'] = '1';
Holiday['2011-8-27'] = '1';
Holiday['2011-8-28'] = '1';
Holiday['2011-8-6'] = '1';
Holiday['2011-8-7'] = '1';
Holiday['2011-9-10'] = '1';
Holiday['2011-9-11'] = '1';
Holiday['2011-9-17'] = '1';
Holiday['2011-9-18'] = '1';
Holiday['2011-9-19'] = '1';
Holiday['2011-9-23'] = '1';
Holiday['2011-9-24'] = '1';
Holiday['2011-9-25'] = '1';
Holiday['2011-9-3'] = '1';
Holiday['2011-9-4'] = '1';

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 #333333;';
css['table']  = ' style="width:180px;border-collapse:collapse;margin:0px;border:solid 0px #ffffff;"';
css['mo']     = ' style="'+tdcom+'font-size:10pt;color:#336699;background-color:#ffffff;"';
css['cap']    = ' style="'+tdcom+'font-size:9pt;color:#ffffff;background-color:#2a8c7a;"';
css['day']    = ' style="'+tdcom+'font-size:9pt;color:#2C3C56;background-color:#f2f0e2;"';
css['dayb']   = ' style="'+tdcom+'font-size:9pt;color:#2C3C56;background-color:#f2f0e2;font-weight:bolder;"';
css['hol']    = ' style="'+tdcom+'font-size:9pt;color:#cccccc;background-color:#aaddff;"';
css['holb']   = ' style="'+tdcom+'font-size:9pt;color:#cccccc;background-color:#aaddff;font-weight:bolder;"';
css['bla']    = ' style="'+tdcom+'font-size:9pt;background-color:#ffffff;font-weight:bolder;"';
css['no']     = ' style="'+tdcom+'font-size:9pt;color:;background-color:#ffffff;"';
css['hol-1'] = ' style="'+tdcom+'font-size:9pt;color:;background-color:#e5a744;font-weight:normal;"';
css['holb-1'] = ' style="'+tdcom+'font-size:9pt;color:;background-color:#e5a744;font-weight:bolder;"';

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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:#336699;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:#f2f0e2;background-color:#f2f0e2;width:8px;height:8px;line-height:100%;font-size:9pt;margin:0px;padding:0px;">■</span> &nbsp;営業';cale += '&nbsp;<span style="color:#e5a744;background-color:#e5a744;width:8px;height:8px;line-height:100%;font-size:9pt;margin:0px;padding:0px;">■</span> &nbsp;休日';
	if('' == 1){
		var linkc =  'style="color:;text-decoration:none;"';
		cale += '<p style="font-size:9pt;margin:3px 1px 1px 1px;padding:0px;text-align:center;overflow:hidden;display:block;"><a href="http://g-prj.com/booei/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;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


