//http://kikuchisan.net/wsp/java/java15.html


   nDate = new Date();
   thisDay = nDate.getDate();
   thisMonth = nDate.getMonth();
function koyomi(mymonth) {
   var str = new Array();
   str = mymonth.split("/");
   while( str[1] <  1 ) { str[1] = str[1]*1 + 12; str[0] = str[0]*1 - 1; }
   while( str[1] > 12 ) { str[1] = str[1]*1 - 12; str[0] = str[0]*1 + 1; }
   mymonth = str[0] +"/"+ str[1];
   myday = new Date(mymonth+"/01");
   monthDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
   kyuDays = new Array("0104","0115","0211","0321","0429","0503","0504","0505"
      ,"0720","0915","0923","1010","1103","1123","1223","1231"); //休日設定(変更出来ません)！！！


   tokuDays = new Array("0101","0102","0103","0203","0210","0218","0224","0312","0319","0325","0401","0409","0416","0422","0430","0507","0514","0520","0527","0608","0615","0621","0628","0705","0713","0720","0726","0802","0810","0817","0823","0830","0906","0914","0921","0927","1004","1012","1019","1025","1101","1109","1116","1122","1129","1206","1214","1221","1227");	//特別日設定（）の中に日付入力!!!
   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();

// 2000年以降の成人の日/体育の日(第２月曜日)の計算
if (year >= 2000 &&(month == 1 || month == 10)) {
   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;
}
// 2003年以降の海の日/敬老の日(第３月曜日)の計算
if (year >= 2003 && (month == 7 || month == 9)) {
   if (startDay <= 1) happyMon = 14 + (2 - startDay);
   else               happyMon = 21 - (startDay - 2);
   if (happyMon < 10) happyMon = "0" + happyMon;
   if (month == 7) kyuDays[8] = "07" + happyMon;
   else            kyuDays[9] = "09" + happyMon;
}

skip = 0;
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;}
         for (i = 0; i < kyuDays.length; i++) { //振替休日が祝日の場合スキップ
          if (kyuDays[i] == (hmon + hday)) { skip = 1; }
         }
         if (skip == 0) {
           kyuDays[kyuDays.length] = hmon + hday;
         }
      }
   }
}
   doc ="<CENTER><TABLE bgcolor=white border=0 bordercolor=white cellpadding=2>";
   doc+="<TR bgcolor=#0099FF><TH COLSPAN=7><FONT color=white>";
//   doc+=year + "年 ";
   doc+=month + "月</FONT></TH></TR>";
   doc+="<TR bgcolor=#f7ffa0 align=center><TD><FONT color=red>日</FONT></TD>";
   doc+="<TD><FONT color=black>月</FONT></TD><TD><FONT color=black>火</FONT></TD>";
   doc+="<TD><FONT color=black>水</FONT></TD><TD><FONT color=black>木</FONT></TD>";
   doc+="<TD><FONT color=black>金</FONT></TD><TD><FONT color=blue>土</FONT></TD></TR>";

   doc+="<TR bgcolor=#ddffdd>";
   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 >";
      } else { doc+="<TD ALIGN=center>"; }
      weekDay = myday;
      weekDay.setDate(i);
//		if (weekDay.getDay() == 2) doc+="<FONT COLOR=red>";    //定休日火曜日
//		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=black>";//休日の色
      }


      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=#ddffdd>";
         column = 0;
      }
   }
   for (i=0; column<7; i++){
      doc+="<TD>　</TD>";
      column++;
   }
   doc+="</TR></TABLE></CENTER>";
   document.write(doc);
}



function day_disp()
{
dt=new Date();
yy=dt.getYear(); if (yy < 2000) yy = yy + 1900;
mm=dt.getMonth()+1;
document.write("<center><table bgcolor=white border=1 bordercolor=silver cellspacing=0>");
document.write("<tr><td valign=top>");
koyomi(yy+"/"+mm);
document.write("</td></tr></table></center>");

}

// 今日の日付を表示


timeID = 10; //　割り込みタイマ用 


function today_disp()

{ 
d = new Date();
y = new Array("日","月","火","水","木","金","土","日");
document.write("今日は" + (d.getMonth()+1)+"月"+d.getDate()+"日" +"("+y[d.getDay()]+")です");

}








