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['2009-10-10'] = '2';
Holiday['2009-10-11'] = '1';
Holiday['2009-10-14'] = '2';
Holiday['2009-10-17'] = '2';
Holiday['2009-10-18'] = '1';
Holiday['2009-10-21'] = '2';
Holiday['2009-10-24'] = '2';
Holiday['2009-10-25'] = '1';
Holiday['2009-10-28'] = '2';
Holiday['2009-10-31'] = '2';
Holiday['2009-10-3'] = '2';
Holiday['2009-10-4'] = '1';
Holiday['2009-10-7'] = '2';
Holiday['2009-11-14'] = '2';
Holiday['2009-11-15'] = '1';
Holiday['2009-11-17'] = '2';
Holiday['2009-11-1'] = '1';
Holiday['2009-11-21'] = '2';
Holiday['2009-11-22'] = '1';
Holiday['2009-11-28'] = '2';
Holiday['2009-11-29'] = '1';
Holiday['2009-11-3'] = '2';
Holiday['2009-11-7'] = '2';
Holiday['2009-11-8'] = '1';
Holiday['2009-12-12'] = '2';
Holiday['2009-12-19'] = '1';
Holiday['2009-12-26'] = '2';
Holiday['2009-12-5'] = '1';
Holiday['2009-7-11'] = 'h';
Holiday['2009-7-18'] = 'h';
Holiday['2009-7-25'] = 'h';
Holiday['2009-7-4'] = 'h';
Holiday['2009-8-15'] = '2';
Holiday['2009-8-16'] = '1';
Holiday['2009-8-18'] = '2';
Holiday['2009-8-1'] = '2';
Holiday['2009-8-22'] = '2';
Holiday['2009-8-23'] = '1';
Holiday['2009-8-29'] = '2';
Holiday['2009-8-2'] = '1';
Holiday['2009-8-30'] = '1';
Holiday['2009-8-4'] = '2';
Holiday['2009-8-8'] = '2';
Holiday['2009-8-9'] = '1';
Holiday['2009-9-12'] = '2';
Holiday['2009-9-13'] = '1';
Holiday['2009-9-15'] = '2';
Holiday['2009-9-19'] = '2';
Holiday['2009-9-1'] = '2';
Holiday['2009-9-20'] = '1';
Holiday['2009-9-26'] = '2';
Holiday['2009-9-27'] = '1';
Holiday['2009-9-5'] = '2';
Holiday['2009-9-6'] = '1';
Holiday['2010-1-10'] = '1';
Holiday['2010-1-16'] = '1';
Holiday['2010-1-17'] = '1';
Holiday['2010-1-23'] = '2';
Holiday['2010-1-24'] = '1';
Holiday['2010-1-2'] = '1';
Holiday['2010-1-30'] = '2';
Holiday['2010-1-31'] = '1';
Holiday['2010-1-3'] = '1';
Holiday['2010-1-9'] = '2';
Holiday['2010-2-13'] = '2';
Holiday['2010-2-14'] = '1';
Holiday['2010-2-20'] = '1';
Holiday['2010-2-21'] = '1';
Holiday['2010-2-27'] = '2';
Holiday['2010-2-28'] = '1';
Holiday['2010-2-6'] = '1';
Holiday['2010-2-7'] = '1';
Holiday['2010-3-13'] = '2';
Holiday['2010-3-14'] = '1';
Holiday['2010-3-20'] = '1';
Holiday['2010-3-21'] = '1';
Holiday['2010-3-27'] = '2';
Holiday['2010-3-28'] = '1';
Holiday['2010-3-6'] = '1';
Holiday['2010-3-7'] = '1';
Holiday['2010-4-10'] = '2';
Holiday['2010-4-11'] = '1';
Holiday['2010-4-17'] = '1';
Holiday['2010-4-18'] = '1';
Holiday['2010-4-24'] = '2';
Holiday['2010-4-25'] = '1';
Holiday['2010-4-3'] = '1';
Holiday['2010-4-4'] = '1';
Holiday['2010-5-15'] = '1';
Holiday['2010-5-16'] = '1';
Holiday['2010-5-1'] = '1';
Holiday['2010-5-22'] = '2';
Holiday['2010-5-23'] = '1';
Holiday['2010-5-29'] = '2';
Holiday['2010-5-2'] = '1';
Holiday['2010-5-30'] = '1';
Holiday['2010-5-8'] = '2';
Holiday['2010-5-9'] = '1';
Holiday['2010-6-13'] = '1';
Holiday['2010-6-15'] = '1';
Holiday['2010-6-1'] = '1';
Holiday['2010-6-20'] = '1';
Holiday['2010-6-27'] = '1';
Holiday['2010-6-6'] = '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 2px #ffffff;';
css['table']  = ' style="width:180px;border-collapse:collapse;margin:0px;border:solid 0px #ffffff;"';
css['mo']     = ' style="'+tdcom+'font-size:10px;color:#336699;background-color:#ffffff;"';
css['cap']    = ' style="'+tdcom+'font-size:10px;color:#ffffff;background-color:#4499cc;"';
css['day']    = ' style="'+tdcom+'font-size:10px;color:#4499cc;background-color:#eeeeee;"';
css['dayb']   = ' style="'+tdcom+'font-size:10px;color:#4499cc;background-color:#eeeeee;font-weight:bolder;"';
css['hol']    = ' style="'+tdcom+'font-size:10px;color:#336699;background-color:#99ccff;"';
css['holb']   = ' style="'+tdcom+'font-size:10px;color:#336699;background-color:#99ccff;font-weight:bolder;"';
css['bla']    = ' style="'+tdcom+'font-size:10px;background-color:#eeffff;font-weight:bolder;"';
css['no']     = ' style="'+tdcom+'font-size:10px;color:#666666;background-color:#ffffff;"';
css['na']     = ' style="width:auto;padding:0px;line-height:100%;text-align:center;vertical-align:middle;border:none;font-size:10px;color:#666666;background-color:#ffffff;"';
css['hol-1'] = ' style="'+tdcom+'font-size:10px;color:#ff3366;background-color:#ffcccc;font-weight:normal;"';
css['holb-1'] = ' style="'+tdcom+'font-size:10px;color:#ff3366;background-color:#ffcccc;font-weight:bolder;"';
css['hol-2'] = ' style="'+tdcom+'font-size:10px;color:#ff6600;background-color:#ffff99;font-weight:normal;"';
css['holb-2'] = ' style="'+tdcom+'font-size:10px;color:#ff6600;background-color:#ffff99;font-weight:bolder;"';

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
var date = new Date();
var yea = date.getFullYear();
var mon = date.getMonth()+1;
booei(yea,mon);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function booei(yea,mon){
	//---------------------------
	var date = new Date();
	var now_ye = date.getFullYear();
	var now_mo = date.getMonth()+1;
	var today  = date.getDate();
	//---------------------------
	var view_month = '2';
	var tateyoko   = '1';
	var cale = new String();
	if(view_month > 0){
		var last_m,next_m,last_y,next_y;
		var linkc =  'style="color:#666666;text-decoration:none;"';
		if(tateyoko == 1){//縦
			for(var mo=0;mo<view_month;mo++){
				if(mon > 12){mon-=12;yea++;}
				last_m = mon-1;
				next_m = mon+1;
				last_y = yea;
				next_y = yea;
				if(last_m < 1 ){last_m+=12;last_y--;}
				if(next_m > 12){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,now_ye,now_mo,today,view_month,tateyoko);
				mon++;
			}
		}else{//横
			cale += '<table>';
			cale += '<tr>';
			for(var mo=0;mo<view_month;mo++){
				if(mon > 12){mon-=12;yea++;}
				last_m = mon-1;
				next_m = mon+1;
				last_y = yea;
				next_y = yea;
				if(last_m < 1 ){last_m+=12;last_y--;}
				if(next_m > 12){next_m-=12;next_y++;}
				uruu(yea);
				var start_week = week_judge(yea,mon,1);
				var last_day = Days[mon-1];
				cale += '<td style="border:none;vertical-align:top;">';
				cale += calendar(yea,mon,start_week,last_day,last_y,last_m,next_y,next_m,now_ye,now_mo,today,view_month,tateyoko);
				cale += '</td>';
				mon++;
			}
			cale += '</tr>';
			cale += '</table>';
		}
		cale += '<div style="width:180px;padding:0px;line-height:180%;text-align:center;vertical-align:middle;border:none;font-size:10px;color:#666666;background-color:#ffffff;margin:0px;">';
		if('1' == 1){
			var last_m = mon-view_month-view_month;
			var next_m = mon;
			var last_y = yea;
			var next_y = yea;
			if(last_m < 1 ){last_m+=12;last_y--;}
			if(next_m > 12){next_m-=12;next_y++;}
			cale += '<table style="border:none;margin:0px;width:100%;">';
			cale += '<tr>';
			cale += '<td'+css['na']+'><a href="javascript:booei('+last_y+','+last_m+');"'+linkc+'>←</a></td>';
			cale += '<td'+css['na']+'><a href="javascript:booei('+now_ye+','+now_mo+');"'+linkc+'>今月</a></td>';
			cale += '<td'+css['na']+'><a href="javascript:booei('+next_y+','+next_m+');"'+linkc+'>→</a></td>';
			cale += '</tr>';
			cale += '</table>';
		}
		cale += '<span style="color:#eeeeee;background-color:#eeeeee;width:8px;height:8px;line-height:100%;font-size:10px;margin:0px;padding:0px;">■</span> &nbsp;営業';cale += '&nbsp;<span style="color:#ffcccc;background-color:#ffcccc;width:8px;height:8px;line-height:100%;font-size:10px;margin:0px;padding:0px;">■</span> &nbsp;全休';cale += '&nbsp;<span style="color:#ffff99;background-color:#ffff99;width:8px;height:8px;line-height:100%;font-size:10px;margin:0px;padding:0px;">■</span> &nbsp;午後だけ休み';
		if('' == 1){
			cale += '<p style="font-size:10px;margin:3px 1px 1px 1px;padding:0px;text-align:center;overflow:hidden;display:block;"><a href="http://127.0.0.1/boocgi/cgibox/booei/booei.cgi"'+linkc+'>ADMIN</a></p>';
		}
		cale += '</div>';
	}else{
		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,now_ye,now_mo,today);
	}
	document.getElementById('booei').innerHTML = cale;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function calendar(yea,mon,start_week,last_day,last_y,last_m,next_y,next_m,now_ye,now_mo,today,view_month,tateyoko){
	var linkc =  'style="color:#336699;text-decoration:none;"';
	//
	var cale = new String();
	cale += '<table'+css['table']+'>';
	cale += '<tr>';
	cale += '<td colspan="7"'+css['mo']+'>';
	if(!view_month && '1' != 1){
		cale += '<a href="javascript:booei('+last_y+','+last_m+');"'+linkc+'>&lt;&lt;</a> &nbsp;';
	}
	cale += yea+'年'+mon+'月';
	if(!view_month && '1' != 1){
		cale += ' &nbsp;<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   = 6;
	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(tateyoko == 1 && day > last_day){break;}
	}
	if(!view_month){
		cale += '<tr>';
		cale += '<td'+css['no']+' colspan="7">';
		if('1' == 1){
			var linkc =  'style="color:#666666;text-decoration:none;"';
			cale += '<table style="border:none;margin:0px;width:100%;">';
			cale += '<tr>';
			cale += '<td'+css['na']+'><a href="javascript:booei('+last_y+','+last_m+');"'+linkc+'>←</a></td>';
			cale += '<td'+css['na']+'><a href="javascript:booei('+now_ye+','+now_mo+');"'+linkc+'>今月</a></td>';
			cale += '<td'+css['na']+'><a href="javascript:booei('+next_y+','+next_m+');"'+linkc+'>→</a></td>';
			cale += '</tr>';
			cale += '</table>';
		}
		cale += '<span style="color:#eeeeee;background-color:#eeeeee;width:8px;height:8px;line-height:100%;font-size:10px;margin:0px;padding:0px;">■</span> &nbsp;営業';cale += '&nbsp;<span style="color:#ffcccc;background-color:#ffcccc;width:8px;height:8px;line-height:100%;font-size:10px;margin:0px;padding:0px;">■</span> &nbsp;全休';cale += '&nbsp;<span style="color:#ffff99;background-color:#ffff99;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://127.0.0.1/boocgi/cgibox/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;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

