/*
+------------------------------------------------------+
|【moocalen 1.01】                                     |
|Copyright : 無料素材屋 Moo　～無料素材～              |
|URL       : http://common1.biz/                       |
+------------------------------------------------------+
|※注意事項                                            |
|１．このスクリプトはフリー素材です。                  |
|２．このスクリプトを使用したことによって生じる        |
|    いかなる損害に対して作者は一切の責任を負いません。|
+------------------------------------------------------+
*/
var Holiday        = new Object();
var RegularHoliday = new Object();
var HolidayColor   = new Array();
var Yasumi         = new Array();
//----------------------------------------------------//
Yasumi[1] = '休診日';
Yasumi[2] = 'マザーズタイム';
Yasumi[3] = '19：00まで診療';
Yasumi[4] = '午前のみの診療';

HolidayColor[1] = '#ff8642';
HolidayColor[2] = '#3599c5';
HolidayColor[3] = '#ffff00';
HolidayColor[4] = '#00ED1B';

Holiday['20100905'] = 1;
Holiday['20100907'] = 2;
Holiday['20100912'] = 1;
Holiday['20100919'] = 1;
Holiday['20100920'] = 1;
Holiday['20100921'] = 2;
Holiday['20100923'] = 1;
Holiday['20100926'] = 1;
Holiday['20101003'] = 1;
Holiday['20101005'] = 2;
Holiday['20101009'] = 1;
Holiday['20101010'] = 1;
Holiday['20101011'] = 1;
Holiday['20101017'] = 1;
Holiday['20101019'] = 2;
Holiday['20101024'] = 1;
Holiday['20101031'] = 1;
Holiday['20101102'] = 2;
Holiday['20101103'] = 1;
Holiday['20101107'] = 1;
Holiday['20101113'] = 1;
Holiday['20101114'] = 1;
Holiday['20101116'] = 2;
Holiday['20101121'] = 1;
Holiday['20101123'] = 1;
Holiday['20101127'] = 1;
Holiday['20101128'] = 1;
Holiday['20101130'] = 2;
Holiday['20101205'] = 1;
Holiday['20101212'] = 1;
Holiday['20101214'] = 2;
Holiday['20101219'] = 1;
Holiday['20101223'] = 1;
Holiday['20101226'] = 1;
Holiday['20101229'] = 1;
Holiday['20101230'] = 1;
Holiday['20101231'] = 1;
Holiday['20110101'] = 1;
Holiday['20110102'] = 1;
Holiday['20110103'] = 1;
Holiday['20110109'] = 1;
Holiday['20110110'] = 1;
Holiday['20110111'] = 2;
Holiday['20110116'] = 1;
Holiday['20110123'] = 1;
Holiday['20110125'] = 2;
Holiday['20110130'] = 1;
Holiday['20110206'] = 1;
Holiday['20110208'] = 2;
Holiday['20110211'] = 1;
Holiday['20110213'] = 1;
Holiday['20110220'] = 1;
Holiday['20110222'] = 2;
Holiday['20110227'] = 1;
Holiday['20110306'] = 1;
Holiday['20110308'] = 2;
Holiday['20110311'] = 1;
Holiday['20110312'] = 1;
Holiday['20110313'] = 1;
Holiday['20110314'] = 1;
Holiday['20110320'] = 1;
Holiday['20110321'] = 1;
Holiday['20110322'] = 2;
Holiday['20110327'] = 1;
Holiday['20110403'] = 1;
Holiday['20110405'] = 2;
Holiday['20110410'] = 1;
Holiday['20110413'] = 3;
Holiday['20110416'] = 1;
Holiday['20110417'] = 1;
Holiday['20110419'] = 2;
Holiday['20110424'] = 1;
Holiday['20110427'] = 3;
Holiday['20110429'] = 1;
Holiday['20110501'] = 1;
Holiday['20110502'] = 1;
Holiday['20110503'] = 1;
Holiday['20110504'] = 1;
Holiday['20110505'] = 1;
Holiday['20110508'] = 1;
Holiday['20110510'] = 2;
Holiday['20110515'] = 1;
Holiday['20110522'] = 1;
Holiday['20110524'] = 2;
Holiday['20110525'] = 1;
Holiday['20110529'] = 1;
Holiday['20110605'] = 1;
Holiday['20110607'] = 2;
Holiday['20110608'] = 3;
Holiday['20110611'] = 1;
Holiday['20110612'] = 1;
Holiday['20110613'] = 1;
Holiday['20110619'] = 1;
Holiday['20110621'] = 2;
Holiday['20110626'] = 1;
Holiday['20110703'] = 1;
Holiday['20110705'] = 2;
Holiday['20110710'] = 1;
Holiday['20110717'] = 1;
Holiday['20110718'] = 1;
Holiday['20110719'] = 2;
Holiday['20110724'] = 1;
Holiday['20110731'] = 1;
Holiday['20110802'] = 2;
Holiday['20110807'] = 1;
Holiday['20110813'] = 1;
Holiday['20110814'] = 1;
Holiday['20110815'] = 1;
Holiday['20110816'] = 1;
Holiday['20110817'] = 3;
Holiday['20110820'] = 1;
Holiday['20110821'] = 1;
Holiday['20110823'] = 2;
Holiday['20110828'] = 1;
Holiday['20110904'] = 1;
Holiday['20110906'] = 2;
Holiday['20110911'] = 1;
Holiday['20110918'] = 1;
Holiday['20110919'] = 1;
Holiday['20110920'] = 2;
Holiday['20110923'] = 1;
Holiday['20110925'] = 1;
Holiday['20111002'] = 1;
Holiday['20111004'] = 2;
Holiday['20111009'] = 1;
Holiday['20111010'] = 1;
Holiday['20111016'] = 1;
Holiday['20111018'] = 2;
Holiday['20111023'] = 1;
Holiday['20111026'] = 3;
Holiday['20111027'] = 4;
Holiday['20111030'] = 1;
Holiday['20111101'] = 2;
Holiday['20111102'] = 3;
Holiday['20111103'] = 1;
Holiday['20111106'] = 1;
Holiday['20111109'] = 4;
Holiday['20111113'] = 1;
Holiday['20111115'] = 2;
Holiday['20111116'] = 3;
Holiday['20111118'] = 4;
Holiday['20111119'] = 1;
Holiday['20111120'] = 1;
Holiday['20111123'] = 1;
Holiday['20111126'] = 1;
Holiday['20111127'] = 1;
Holiday['20111130'] = 3;
Holiday['20111201'] = 1;
Holiday['20111204'] = 1;
Holiday['20111206'] = 2;
Holiday['20111211'] = 1;
Holiday['20111218'] = 1;
Holiday['20111220'] = 2;
Holiday['20111221'] = 3;
Holiday['20111223'] = 1;
Holiday['20111225'] = 1;
Holiday['20111228'] = 4;
Holiday['20111229'] = 1;
Holiday['20111230'] = 1;
Holiday['20111231'] = 1;
Holiday['20120101'] = 1;
Holiday['20120102'] = 1;
Holiday['20120103'] = 1;
Holiday['20120104'] = 4;
Holiday['20120108'] = 1;
Holiday['20120109'] = 1;
Holiday['20120111'] = 4;
Holiday['20120115'] = 1;
Holiday['20120117'] = 2;
Holiday['20120118'] = 4;
Holiday['20120122'] = 1;
Holiday['20120125'] = 4;
Holiday['20120129'] = 1;
Holiday['20120131'] = 2;
Holiday['20120201'] = 4;
Holiday['20120205'] = 1;
Holiday['20120208'] = 4;
Holiday['20120211'] = 1;
Holiday['20120212'] = 1;
Holiday['20120214'] = 2;
Holiday['20120215'] = 4;
Holiday['20120219'] = 1;
Holiday['20120222'] = 4;
Holiday['20120225'] = 1;
Holiday['20120226'] = 1;
Holiday['20120228'] = 2;

RegularHoliday['1-0'] = 1;
RegularHoliday['1-1'] = 0;
RegularHoliday['1-2'] = 0;
RegularHoliday['1-3'] = 0;
RegularHoliday['1-4'] = 0;
RegularHoliday['1-5'] = 0;
RegularHoliday['1-6'] = 0;
RegularHoliday['2-0'] = 1;
RegularHoliday['2-1'] = 0;
RegularHoliday['2-2'] = 0;
RegularHoliday['2-3'] = 0;
RegularHoliday['2-4'] = 0;
RegularHoliday['2-5'] = 0;
RegularHoliday['2-6'] = 0;
RegularHoliday['3-0'] = 1;
RegularHoliday['3-1'] = 0;
RegularHoliday['3-2'] = 0;
RegularHoliday['3-3'] = 0;
RegularHoliday['3-4'] = 0;
RegularHoliday['3-5'] = 0;
RegularHoliday['3-6'] = 0;
RegularHoliday['4-0'] = 1;
RegularHoliday['4-1'] = 0;
RegularHoliday['4-2'] = 0;
RegularHoliday['4-3'] = 0;
RegularHoliday['4-4'] = 0;
RegularHoliday['4-5'] = 0;
RegularHoliday['4-6'] = 0;
RegularHoliday['5-0'] = 1;
RegularHoliday['5-1'] = 0;
RegularHoliday['5-2'] = 0;
RegularHoliday['5-3'] = 0;
RegularHoliday['5-4'] = 0;
RegularHoliday['5-5'] = 0;
RegularHoliday['5-6'] = 0;
RegularHoliday['6-0'] = 1;
RegularHoliday['6-1'] = 0;
RegularHoliday['6-2'] = 0;
RegularHoliday['6-3'] = 0;
RegularHoliday['6-4'] = 0;
RegularHoliday['6-5'] = 0;
RegularHoliday['6-6'] = 0;

var type        = '1';
var fsize       = '12px';
var view_month  = '2';
var yoko        = '1';
var main_color  = '#66cccc';
var wid         = '22px';
var hei         = '19px';
var b0_color    = '#fff4fb';
var b6_color    = '#ebf4ff';

//----------------------------------------------------//

var Week = new Array('日','月','火','水','木','金','土');


var Days = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var calen = new String();

var now = new Date();
var yea = now.getFullYear();
var mon = now.getMonth()+1;
calen += '<table style="border:none;margin:auto;padding:0px;background-color:transparent;">';
for(var c=0;c<view_month;c++){
	if(c % yoko == 0){calen += '<tr>';}
	calen += '<td style="border:none;padding:3px;">';
	calen += moo_calen(yea,mon);
	calen += '</td>';
	if(c % yoko == yoko-1){calen += '</tr>';}
	mon++;
	if(mon > 12){yea++;mon-=12;}
}
calen += '<tr>';
calen += '<td style="border:none;padding:3px;font-size:'+fsize+';text-align:left;padding:5px 10px;line-height:150%;" colspan="'+yoko+'">';
for(var h=1;h<HolidayColor.length;h++){
	calen += '<span style="background-color:'+HolidayColor[h]+';">&nbsp;&nbsp;&nbsp;&nbsp;</span> … '+Yasumi[h]+'<br />';
}
calen += '</td>';
calen += '</tr>';

calen += '</table>';
document.write(calen);

function moo_calen(yea,mon){
	var now = new Date();
	var now_yea = now.getFullYear();
	var now_mon = now.getMonth()+1;
	var now_day = now.getDate();
	
	if(!yea){yea = now_yea;}
	if(!mon){mon = now_mon;}
	
	var date = new Date();
	    date.setDate(1);
	    date.setMonth(mon-1);
	    date.setFullYear(yea);
	var start_week = date.getDay();
	
	uruu(yea);
	var last_day = Days[mon-1];
	
	var back_yea = yea;
	var back_mon = mon-1;
	if(back_mon < 1){
		back_yea --;
		back_mon += 12;
	}
	var next_yea = yea;
	var next_mon = mon+1;
	if(next_mon > 12){
		next_yea ++;
		next_mon -= 12;
	}
	
	var ye = new String(yea);
	var mo = new String(mon);
	if(mo < 10){mo = '0'+mo;}
	
	var base;
	var tabl;
	var tdym;
	var tdw;
	var td0;
	var td6;
	var tdh = new Object();
	var td;
	if(type == 1){
		base = 'text-align:center;vertical-align:middle;font-size:'+fsize+';padding:0px;margin:auto;line-height:120%;color:#000000;';
		tabl = '<table style="border-collapse:collapse;border:none;background-color:transparent;">';
		tdym = '<td style="'+base+'border:solid 1px '+main_color+';width:auto;height:'+hei+';background-color:'+main_color+';color:#ffffff;" colspan="7">';
		tdw  = '<td style="'+base+'border:solid 1px '+main_color+';width:'+wid+';height:'+hei+';background-color:#ffffff;">';
		td0  = '<td style="'+base+'border:solid 1px '+main_color+';width:'+wid+';height:'+hei+';background-color:'+b0_color+';">';
		td6  = '<td style="'+base+'border:solid 1px '+main_color+';width:'+wid+';height:'+hei+';background-color:'+b6_color+';">';
		td   = '<td style="'+base+'border:solid 1px '+main_color+';width:'+wid+';height:'+hei+';background-color:#ffffff;">';
		for(var h=1;h<HolidayColor.length;h++){
			tdh[h]  = '<td style="'+base+'border:solid 1px '+main_color+';width:'+wid+';height:'+hei+';background-color:'+HolidayColor[h]+';">';
		}
	}else if(type == 2){
		base = 'border:none;text-align:center;vertical-align:middle;font-size:'+fsize+';padding:0px;margin:auto;line-height:120%;color:#000000;';
		tabl = '<table style="border-collapse:separate;border:none;background-color:transparent;">';
		tdym = '<td style="'+base+'width:auto;height:'+hei+';background-color:transparent;" colspan="7">';
		tdw  = '<td style="'+base+'width:'+wid+';height:'+hei+';background-color:'+main_color+';color:#ffffff;">';
		td0  = '<td style="'+base+'width:'+wid+';height:'+hei+';background-color:'+b0_color+';">';
		td6  = '<td style="'+base+'width:'+wid+';height:'+hei+';background-color:'+b6_color+';">';
		td   = '<td style="'+base+'width:'+wid+';height:'+hei+';background-color:#f3f3f3;">';
		for(var h=1;h<HolidayColor.length;h++){
			tdh[h]  = '<td style="'+base+'width:'+wid+';height:'+hei+';background-color:'+HolidayColor[h]+';">';
		}
	}else if(type == 3){
		base = 'text-align:center;vertical-align:middle;font-size:'+fsize+';padding:0px;margin:auto;line-height:120%;color:#000000;';
		tabl = '<table style="border-collapse:separate;border:none;background-color:transparent;">';
		tdym = '<td style="'+base+'border:none;width:auto;height:'+hei+';background-color:transparent;" colspan="7">';
		tdw  = '<td style="'+base+'border:none;width:'+wid+';height:'+hei+';background-color:transparent;">';
		td0  = '<td style="'+base+'border:solid 1px '+main_color+';width:'+wid+';height:'+hei+';background-color:'+b0_color+';">';
		td6  = '<td style="'+base+'border:solid 1px '+main_color+';width:'+wid+';height:'+hei+';background-color:'+b6_color+';">';
		td   = '<td style="'+base+'border:solid 1px '+main_color+';width:'+wid+';height:'+hei+';background-color:#ffffff;">';
		for(var h=1;h<HolidayColor.length;h++){
			tdh[h]  = '<td style="'+base+'border:solid 1px '+main_color+';width:'+wid+';height:'+hei+';background-color:'+HolidayColor[h]+';">';
		}
	}
    
	var view = new String();
	var nanshuume = new Object();
	var we = 0;
	var da = 0;
	
	view += tabl;
	view += '<tr>'+tdym;
	view += yea+'年'+mon+'月';
	view += '</td></tr>';
	view += '<tr>';
	for(var w=0;w<7;w++){
		view += tdw+Week[w]+'</td>';
		nanshuume[w] = 0;
	}
	view += '</tr>';
	
	for(var g=0;g<6;g++){
		view += '<tr>';
		for(var d=g*7+1;d<=g*7+7;d++){
			if(we < start_week){
				view += td+'&nbsp;</td>';
        	}else{
        		var wee = we % 7;
        		nanshuume[wee]++;
        		if(da < Days[mo-1]){
					da++;
					var dd = da;
					if(da < 10){dd = '0'+da;}
					if(Holiday[ye+mo+dd] == -1){
						view += td;
					}else if(Holiday[ye+mo+dd] > 0){
						view += tdh[Holiday[ye+mo+dd]];
					}else if(RegularHoliday[nanshuume[wee]+'-'+wee] > 0){
						view += tdh[RegularHoliday[nanshuume[wee]+'-'+wee]];
					}else if(we % 7 == 0){
						view += td0;
					}else if(we % 7 == 6){
						view += td6;
					}else{
						view += td;
					}
					view += da+'</td>';
        		}else{
					view += td+'&nbsp;</td>';
        		}
        	}
			we++;
		}
		view += '</tr>';
	}
	view += '</table>';
	return view;
}

function uruu(yea){
	var uruu = 28;
	if((yea % 4 == 0 && yea % 100 != 0) || yea % 400 == 0){
		uruu = 29;
	}
	Days[1] = uruu;
}

