var Week = new Array('日','月','火','水','木','金','土');
var Days = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var view_month = '';
var retu       = ''||1;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
var Holiday = new Object();
Holiday['2011-10-14'] = '1';
Holiday['2011-10-28'] = '1';
Holiday['2011-10-8'] = '1';
Holiday['2011-12-29'] = '1';
Holiday['2011-12-30'] = '1';
Holiday['2011-12-31'] = '1';
Holiday['2011-5-9'] = '1';
Holiday['2011-6-28'] = '1';
Holiday['2011-7-18'] = '1';
Holiday['2011-7-27'] = '1';
Holiday['2011-8-25'] = '1';
Holiday['2011-8-26'] = '1';
Holiday['2011-8-27'] = '1';
Holiday['2011-9-10'] = '1';
Holiday['2011-9-28'] = '1';
Holiday['2012-1-2'] = '1';
Holiday['2012-1-3'] = '1';
Holiday['2012-2-15'] = '1';
Holiday['2012-2-24'] = '1';

var WH = new Array('1','','','','','','','1','','','','','','','1','','','','','','','1','','','','','','','1','','','','','','','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:225px;border-collapse:collapse;margin:0px;border:solid 0px #ffffff;"';
css['mo']     = ' style="'+tdcom+'font-size:10pt;color:#000000;background-color:#ffffff;"';
css['cap']    = ' style="'+tdcom+'font-size:9pt;color:#ffffff;background-color:#666666;"';
css['day']    = ' style="'+tdcom+'font-size:9pt;color:#000000;background-color:#eeeeee;"';
css['dayb']   = ' style="'+tdcom+'font-size:9pt;color:#000000;background-color:#eeeeee;font-weight:bolder;"';
css['hol']    = ' style="'+tdcom+'font-size:9pt;color:#336699;background-color:#aaddff;"';
css['holb']   = ' style="'+tdcom+'font-size:9pt;color:#336699;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:#666666;background-color:transparent;border:none;"';
css['na']     = ' style="width:auto;padding:0px;line-height:100%;text-align:center;vertical-align:middle;border:none;font-size:9pt;color:#666666;background-color:transparent;"';
css['hol-1'] = ' style="'+tdcom+'font-size:9pt;color:#ffffff;background-color:#ff0000;font-weight:normal;"';
css['holb-1'] = ' style="'+tdcom+'font-size:9pt;color:#ffffff;background-color:#ff0000;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 today  = date.getDate();
	var now_mo = date.getMonth()+1;
	var now_ye = date.getFullYear();
	//---------------------------
	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;"';
		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];
			if(mo % retu == 0){cale += '<tr>';}
			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);
			cale += '</td>';
			if(mo % retu == retu-1){cale += '</tr>';}
			mon++;
		}
		cale += '</tr>';
		cale += '<tr>';
		cale += '<td'+css['no']+' colspan="'+retu+'">';
		if((view_month != 1 && '1' == 1) || (view_month == 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:9pt;margin:0px;padding:2px 0px;">■</span> &nbsp;営業';cale += '&nbsp;<span style="color:#ff0000;background-color:#ff0000;width:8px;height:8px;line-height:100%;font-size:9pt;margin:0px;padding:0px;">■</span> &nbsp;休業';
		if('' == 1){
			var linkc =  'style="color:#666666;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://jcworld.biz/wp/cal/booei.cgi"'+linkc+'>ADMIN</a></p>';
		}
		cale += '</td>';
		cale += '</tr>';
		cale += '</table>';
	}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){
	var linkc =  'style="color:#000000;text-decoration:none;"';
	//
	var cale = new String();
	cale += '<table'+css['table']+'>';
	cale += '<tr>';
	cale += '<td colspan="7"'+css['mo']+'>';
	if(!view_month && '' != 1){
		cale += '<a href="javascript:booei('+last_y+','+last_m+');"'+linkc+'>&lt;&lt;</a> &nbsp;';
	}
	cale += yea+'年'+mon+'月';
	if(!view_month && '' != 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]>0){
					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(WH[g*7+w] && (!Holiday[yea+'-'+mon+'-'+day] || Holiday[yea+'-'+mon+'-'+day] > 0)){
					if(yea == now_ye && mon == now_mo && day == today){
						csw = 'holb';
						if(WH[g*7+w] > 0){
							csw += '-'+WH[g*7+w];
						}
					}else{
						csw = 'hol';
						if(WH[g*7+w] > 0){
							csw += '-'+WH[g*7+w];
						}
					}
				}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(retu == 1 && day > last_day){break;}
	}
	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;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


