//設定項目-------------------------
//日曜日の文字色
sunday_color="#990000";

//土曜日の文字色
saturday_color="#000099";

//カレンダー全体の背景色
table_bgcolor="#FFFFFF";

//日曜日名欄の背景色
th_bgcolor_sunday="#DD9976";

//土曜日名欄の背景色
th_bgcolor_saturday="#BCC3E2";

//その他曜日名欄の背景色
th_bgcolor="#E2C9B8";

//各日付欄の横幅
td_width=70;

//各日付欄の高さ
td_height=30;

//文字のサイズ(pixel)
font_size=12;

//行送り(pixel)
line_height=14;

//曜日の設定
weeks=new Array("日","月","火","水","木","金","土");

//処理開始-------------------------
//HTMLソースの初期化
calenderHTML="";
 
//今日の年月日曜日を取得 
Now=new Date();
with(Now) {
	YY = getYear(); 
	MM=getMonth()+1; 
	DD=getDate(); 
	WW=getDay();
} 

//西暦を４桁に成形
A="20"; 
if(YY < 90) {A="20";	YY = A+YY;}
else if(YY < 99) {A="19";	YY = A+YY;}
else if(YY < 1900) {A="20";	YY = 1900+YY;}

//▼指定月の日数を取得
function NumDays(a, b) {
	if(b==2) {
		if(a % 4==0) {
			if(a % 100==0 && a % 400!=0) return 28; 
			else return 29;
		} 
		else return 28;
	} 
	else if(b==4 || b==6 || b==9 || b==11) return 30; 
	else return 31;
}

//▼カレンダーを作成
function Calender(myMonth,myYear,myRepeat) {
	First=0; 

	for(k=0; k < myRepeat; k++) {
		if(myMonth==13){myYear++; myMonth=1;}

		calenderHTML+="<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR><TD BGCOLOR='#000000'>"; 
		calenderHTML+="<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=2>"; 
		calenderHTML+="<TR BGCOLOR='#9E2327'>"; 
		calenderHTML+="<TH COLSPAN=7><FONT COLOR='#FFFFFF' SIZE=4 CLASS=size4>"+myYear+"年"+myMonth+"月</FONT></TH>"; 
		calenderHTML+="</TR>"; 

		//曜日の表示
		calenderHTML+="<TR BGCOLOR='#FFFFFF'>"; 
		for(i=0; i<weeks.length; i++){
			if(i==0)calenderHTML+='<TH WIDTH="'+td_width+'" BGCOLOR="'+th_bgcolor_sunday+'">';
			else if(i==6)calenderHTML+='<TH WIDTH="'+td_width+'" BGCOLOR="'+th_bgcolor_saturday+'">';
			else calenderHTML+='<TH WIDTH="'+td_width+'" BGCOLOR="'+th_bgcolor+'">';
			calenderHTML+='<FONT STYLE="font-size:'+font_size+'px;" SIZE="4">'+weeks[i]+'<\/FONT><\/TH>';
		}
		calenderHTML+="<\/TR>"; 

		

		Num=NumDays(myYear, myMonth); 
		Y=myYear%(Math.floor(myYear/100)); 
		M=myMonth; 

		if(M==1) {M=13;	Y-=1;}
		else if(M==2) {M=14;	Y-=1;}

		//月の初日を算出
		First=(Math.floor(A/4)-2*A+Y+Math.floor(Y/4)+Math.floor((26*(eval(M)+1)/10)))%7; 
		if(First<0) First+=7; 

		calenderHTML+="<TR ALIGN='CENTER' BGCOLOR='#FFFFFF'>"; 
		col=0;
		//月の初日まで空欄を繰り返す
		for(i=0; i < First; i++) {
			calenderHTML+="<TD><\/TD>"; 
			col++;
		}

			j=(First+i)%7; 

			mySaturday=7-First-1;
			mySunday=7-First;
			if(mySaturday==7){mySaturday-=7; mySunday-=7;}
			if(mySunday==7){mySunday-=7;}

		blank=7-(Num+First)%7;

		for(i=0; i < Num; i++) {
			if(col==0){ calenderHTML+="<TR ALIGN='CENTER' BGCOLOR='#FFFFFF'>"; }

			myHoliday=0;
			myDesignate = Date.parse(myYear+"/"+myMonth+"/"+(i+1)); 
			for(l=0; l < reservation.length; l++) {
				datas=reservation[l].split(",");
				hd=Date.parse(datas[0]); 
				if(myDesignate==hd) {
					myState=" "+datas[1]; 
					if(datas[2]){myHoliday=1;}
					break;
				} 
				else myState="&nbsp;";
			}
			state_txt='<BR><FONT SIZE="-1" CLASS="SmallTxt">'+myState+'<\/FONT>';

			calenderHTML+='<TD WIDTH="'+td_width+'" HEIGHT="'+td_height+'" VALIGN="TOP">';
			if(i%7==mySunday || myHoliday)calenderHTML+='<FONT STYLE="font-size:'+font_size+'px;line-height:'+line_height+'px;" COLOR="'+sunday_color+'" SIZE="3">';
			else if(i%7==mySaturday)calenderHTML+='<FONT STYLE="font-size:'+font_size+'px;line-height:'+line_height+'px;" COLOR="'+saturday_color+'" SIZE="3">';
			else calenderHTML+='<FONT STYLE="font-size:'+font_size+'px;line-height:'+line_height+'px;" SIZE="3">';
			calenderHTML+='<B>'+(i+1)+'<\/B><\/FONT>'+state_txt+'<\/TD>';

			col++;
			j++;

			//月の最終日以降の空欄を繰り返す
			if((i+1) == Num){
				if(blank < 7){
					for(m=0; m < blank; m++){calenderHTML+="<TD><\/TD>"; col++;}
				}
			}

			if(col==7){
				calenderHTML+="<\/TR>";
				col=0;
			}
		}

		calenderHTML+="<\/TABLE><\/TD><\/TR><\/TABLE><BR>";
		myMonth++;
	}
}

