// ------------------------------------------------------------
// 　　　カレンダー表示用
// ------------------------------------------------------------

   nDate = new Date();

   thisDay = nDate.getDate();

   thisMonth = nDate.getMonth();

function koyomi(mymonth) {

   myday = new Date(mymonth+"/01");

   monthDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

 //祭日設定(変更出来ません)

   kyuDays = new Array("0101","0110","0211","0321","0429","0503","0504","0505","0720","0915","0923","1010","1103","1123");


 //特別休日設定

   tokuDays = new Array("0102","0103","0104","0812","0813","0814","1231","0416","0417","0418");

   year = myday.getYear(); if (year < 2000) year = year + 1900;

   month = myday.getMonth()+1;



   if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))

	  { monthDays[1] = 29; }  // うるう年計算

   kyuDays[3] = "03" + Math.floor(20.8431 + 0.242194 * (year - 1980) - Math.floor((year - 1980)/4));  // 春分の日を求める（1980-2099まで）

   kyuDays[10] = "09" + Math.floor(23.2488 + 0.242194 * (year - 1980) - Math.floor((year - 1980)/4));  // 秋分の日を求める（1980-2099まで）



   nDays = monthDays[myday.getMonth()];



   firstDay = myday;

   firstDay.setDate(1);

   startDay = firstDay.getDay();



if (year >= 2000 &&(month == 1 || month == 10)) { // 2000年以降の成人の日/体育の日(第２月曜日)の計算

   if (startDay <= 1) happyMon = 7 + (2 - startDay);

   else 			  happyMon = 14 - (startDay - 2);

   if (happyMon < 10) happyMon = "0" + happyMon;

   if (month == 1) kyuDays[1] = "01" + happyMon;

   else 		   kyuDays[11] = "10" + happyMon;

}



for (i = 0; i < kyuDays.length; i++) { // 振替休日の自動計算

   hmon = kyuDays[i].substring(0,2);

   if (hmon == month) {

	  hday = kyuDays[i].substring(2,4)*1;

	  if (hmon <= 2) { zyear = year - 1;	zmon = parseInt(hmon) + 12; }

	  else { zyear = year;	zmon = hmon; }

	  zday = (zyear + parseInt(zyear/4) - parseInt(zyear/100) + parseInt(zyear/400) + parseInt((13*zmon + 8)/5) + hday ) % 7;

	  if (zday == 0) {

		 hday = hday + 1;

		 if (hday < 10) hday = "0"+ hday;

		 kyuDays[kyuDays.length] = hmon + hday;

	  }

   }

}

   doc ="<TABLE bgcolor=white border=0 bordercolor=white cellpadding=2>";

   doc+="<TR bgcolor=#ffffff><TD COLSPAN=7 align=center>";

doc+=year + "年 ";

doc+=month + "月</TD></TR>";

   doc+="<TR bgcolor=#ffdddd><TD><FONT color=red>日</FONT></TD><TD><FONT color=black>月</font></TD><TD><FONT color=black>火</FONT></TD><TD><FONT color=black>水</FONT></TD><TD><FONT color=black>木</FONT></TD><TD><FONT color=black>金</FONT></TD><TD><FONT color=black>土</FONT></TD></TR>";



   doc+="<TR bgcolor=#ffeeee>";

   column = 0;

   for (i=0; i<startDay; i++)

   {

	  doc+="<TD>　</TD>";

	  column++;

   }

   for (i=1; i<=nDays; i++)

   {

	  if (i==thisDay && myday.getMonth()==thisMonth) {	//本日の背景色変更

		doc+="<TD ALIGN=center bgcolor=#ffee00>";

	  } else { doc+="<TD ALIGN=center>"; }

	  weekDay = myday;

	  weekDay.setDate(i);

	  if (weekDay.getDay() == 0)	  doc+="<FONT COLOR=red>";

	  else if (weekDay.getDay() == 6) doc+="<FONT COLOR=blue>";

	  else							  doc+="<FONT COLOR=black>";

	  for (j=0; j<kyuDays.length; j++)		//休日判定

	  {

		if (myday.getMonth()+1 == kyuDays[j].substring(0,2) && i == kyuDays[j].substring(2,4)*1) doc+="<FONT COLOR=red>";

	  }

	  for (j=0; j<tokuDays.length; j++)		//特別日判定

	  {

		if (myday.getMonth()+1 == tokuDays[j].substring(0,2) && i == tokuDays[j].substring(2,4)*1) doc+="<FONT COLOR=red>";

	  }

	  doc+=i;

	  doc+="</FONT></TD>"

	  column++;

	  if (column == 7 && i != nDays)

	  {

		 doc+="</TR><TR bgcolor=#ffeeee>";

		 column = 0;

	  }

   }

   for (i=0; column<7; i++){

	  doc+="<TD>　</TD>";

	  column++;

   }

   doc+="</TR></TABLE>";

   document.write(doc);

}







