// ROYAL‚Pƒ•ŒŽŒã—pƒJƒŒƒ“ƒ_[•\Ž¦JavaScript
// 2012/01/01
// T.SASAKI

//œ2012”N‰[”NÝ’è’†I
numd = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
cldr = "";
day = new Date();
month = day.getMonth() + 2;
year = day.getYear();

if (month == 13) {
	month = 1;
	year = year + 1;
} else {
	;
}

if (month == 1) {
	day.setDate(32);
} else {if ((month == 3) && ((year%4 == 0) && (year%100 != 0) || (year%400 == 0))) {
	day.setDate(numd[month - 1] + 2);
} else {
	day.setDate(numd[month - 1] + 1);
}}

if(year < 2000) year += 1900;
numdays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

//if((year%4 == 0) && (year%100 != 0) || (year%400 == 0)) numdays[1] = 29;

//œ2012”N‰[”NÝ’è’†I
var leap_year=false;
if ((year%4 == 0 && year%100 != 0) || (year%400 == 0)) leap_year=true;
numdays = new Array(31,28+leap_year,31,30,31,30,31,31,30,31,30,31);

//’è‹x“ú‚Ì’è‹` dd1`dd6 ¥2012”N3ŒŽ‚Ü‚ÅÝ’èŠ®—¹¥2011”N12ŒŽ‚Ü‚ÅÁžŠ®—¹
if(month == 1){dd1 = 6; dd2 = 15; dd3 = 16; dd4 = 17; dd5 = 18; dd6 = 19}
else if(month == 2){dd1 = 7; dd2 = -1; dd3 = -1; dd4 = -1; dd5 = -1; dd6 = -1}
else if(month == 3){dd1 = 13; dd2 = -1; dd3 = -1; dd4 = -1; dd5 = -1; dd6 = -1}
else if(month == 4){dd1 = -1; dd2 = -1; dd3 = -1; dd4 = -1; dd5 = -1; dd6 = -1}
else if(month == 5){dd1 = -1; dd2 = -1; dd3 = -1; dd4 = -1; dd5 = -1; dd6 = -1}
else if(month == 6){dd1 = -1; dd2 = -1; dd3 = -1; dd4 = -1; dd5 = -1; dd6 = -1}
else if(month == 7){dd1 = -1; dd2 = -1; dd3 = -1; dd4 = -1; dd5 = -1; dd6 = -1}
else if(month == 8){dd1 = -1; dd2 = -1; dd3 = -1; dd4 = -1; dd5 = -1; dd6 = -1}
else if(month == 9){dd1 = -1; dd2 = -1; dd3 = -1; dd4 = -1; dd5 = -1; dd6 = -1}
else if(month == 10){dd1 = -1; dd2 = -1; dd3 = -1; dd4 = -1; dd5 = -1; dd6 = -1}
else if(month == 11){dd1 = -1; dd2 = -1; dd3 = -1; dd4 = -1; dd5 = -1; dd6 = -1}
else if(month == 12){dd1 = -1; dd2 = -1; dd3 = -1; dd4 = -1; dd5 = -1; dd6 = -1}
//jÕ“ú‚Ì’è‹`
// ‚Q‚O‚O‚X”N‚TŒŽ‚R“ú‚ÌuŒ›–@‹L”O“úvU‘Ö‹x“ú‚Ì‚TŒŽ‚U“ú‹x“ú‰ðœ
// ‚Q‚O‚O‚X”N‚XŒŽ‚Q‚Q“ú‚Ìu‘–¯‚Ì‹x“úv‚ð‹x“ú‰ðœ
// ‚Q‚O‚P‚P”N‚PŒŽ‚P‚O“ú‚Ìu¬l‚Ì“úv‚ð‹x“ú•Û—¯if(month == 1){holiday1 = 1; holiday2 = 14-(day.getDay()+5)%7; holiday3 = -1; holiday4 = -1}//holiday2‚Í¬l‚Ì“ú
if(month == 1){holiday1 = 1; holiday2 = -1; holiday3 = -1; holiday4 = -1}//holiday2‚Í¬l‚Ì“ú
else if(month == 2){holiday1 = 11; holiday2 = -1; holiday3 = -1; holiday4 = -1}
else if(month == 3){
  ed =  20.8431 + 0.242194 * (year - 1980) - Math.floor((year - 1980)/4);
  holiday1 = Math.floor(ed);//t•ª‚Ì“ú
  holiday2 = -1;
  holiday3 = -1; holiday4 = -1
}
else if(month == 4){holiday1 = 29; holiday2 = -1; holiday3 = -1; holiday4 = -1}
else if(month == 5){holiday1 =  3; holiday2 =  4; holiday3 =  5; holiday4 = -1}
else if(month == 6){holiday1 = -1; holiday2 = -1; holiday3 = -1; holiday4 = -1}
else if(month == 7){holiday1 = 21-(day.getDay()+5)%7; holiday2 = -1; holiday3 = -1; holiday4 = -1}//holiday1‚ÍŠC‚Ì“ú
else if(month == 8){holiday1 = -1; holiday2 = -1; holiday3 = -1; holiday4 = -1}
else if(month == 9){
  holiday1 = 21-(day.getDay()+5)%7;//Œh˜V‚Ì“ú
  ed =  23.2488 + 0.242194 * (year - 1980) - Math.floor((year - 1980)/4);
  holiday2 = Math.floor(ed);//H•ª‚Ì“ú
  holiday3 = -1; holiday4 = -1
}
else if(month == 10){holiday1 = 14-(day.getDay()+5)%7; holiday2 = -1; holiday3 = -1; holiday4 = -1}//holiday1‚Í‘Ìˆç‚Ì“ú
else if(month == 11){holiday1 =  3; holiday2 = 23; holiday3 = -1; holiday4 = -1}
else if(month == 12){holiday1 = 23; holiday2 = -1; holiday3 = -1; holiday4 = -1}

//—ÕŽž‹x‹Æ“ú‚Ì’è‹`i–ˆŒŽŒÅ’è“újA10“ú‚ª—ÕŽž‹x‹Æ“ú‚Ìê‡10B‘S‚Ä-1‚È‚ç—ÕŽž‹x‹Æ“ú–³‚µB
{rinji1 = -1; rinji2 = -1; rinji3 = -1; rinji4 = -1; rinji5 = -1; rinji6 = -1}

//ƒe[ƒuƒ‹–{‘Ì
cldr += "<table WIDTH=180 BORDER=0 CELLPADDING=0 CELLSPACING=1>";
cldr += "<tr><th colspan=7 height=20 bgcolor=#888888><font style=\"font-size:16px\" color=#363636>"+year+" - "+month+"</font></th></tr>";
cldr += "<tr><th height=20 width=30 bgcolor=#aaaaaa><font style=\"font-size:14px\" color=red>SU</font></th><th width=30 bgcolor=#aaaaaa><font style=\"font-size:14px\" color=#363636>MO</font></th><th width=30 bgcolor=#aaaaaa><font style=\"font-size:14px\" color=#363636>TU</font></th><th width=30 bgcolor=#aaaaaa><font style=\"font-size:14px\" color=#363636>WE</font></th><th width=30 bgcolor=#aaaaaa><font style=\"font-size:14px\" color=#363636>TH</font></th><th width=30 bgcolor=#aaaaaa><font style=\"font-size:14px\" color=#363636>FR</font></th><th width=30 bgcolor=#aaaaaa><font style=\"font-size:14px\" color=#6177ff>SA</font></th></tr>";
//“ú•t‚Ì‘‚«ž‚Ý
for(sunday = 1-day.getDay(); sunday <= 31; sunday +=7){
  cldr += "<tr>";
  for(i = sunday; i < sunday + 7; i++){
    if((i > 0) && (i <= numdays[month-1])){
      day.setDate(i);
      today = day.getDay();
  //’è‹x“ú‚ðƒoƒbƒNÔA•¶Žš”’‚É
        if((i == dd1)||(i == dd2)||(i == dd3)||(i == dd4)||(i == dd5)||(i == dd6)){
          cldr += "<th height=20 bgcolor=#ff0033><font style=\"font-size:14px\" style=\"font-size:14px\" color=\"#ffffff\">"+ i +"</font></th>";
        }else if((today == 1)&&((i-1 == dd1)||(i-1 == dd2)||(i-1 == dd3)||(i-1 == dd4)||(i-1 == dd5)||(i-1 == dd6))){
          cldr += "<th height=20 bgcolor=#ff0033><font style=\"font-size:14px\" style=\"font-size:14px\" color=\"#ffffff\">"+ i +"</font></th>";
  //“újAU‘Ö‹x“ú‚ðÔ‚É
        }else if(today == 0){
          cldr += "<th height=20 bgcolor=#ffffff><font style=\"font-size:14px\" color=\"red\">"+ i +"</font></th>";
        }else if((i == holiday1)||(i == holiday2)||(i == holiday3)||(i == holiday4)){
          cldr += "<th height=20 bgcolor=#ffffff><font style=\"font-size:14px\" color=\"red\">"+ i +"</font></th>";
        }else if((today == 1)&&((i-1 == holiday1)||(i-1 == holiday2)||(i-1 == holiday3)||(i-1 == holiday4))){
          cldr += "<th height=20 bgcolor=#ffffff><font style=\"font-size:14px\" color=\"red\">"+ i +"</font></th>";
  //—ÕŽž‹x“ú‚ðƒIƒŒƒ“ƒW‚É
        }else if((i == rinji1)||(i == rinji2)||(i == rinji3)||(i == rinji4)||(i == rinji5)||(i == rinji6)){
          cldr += "<th height=20 bgcolor=#ff0033><font style=\"font-size:14px\" color=\"#ffa201\">"+ i +"</font></th>";
  //“y—j‚ð’WÂ‚É
        }else if(today == 6){
          cldr += "<th height=20 bgcolor=#ffffff><font style=\"font-size:14px\" color=\"#6177ff\">"+ i +"</font></th>";
  //’Êí‚Ì“ú‚ð363636‚É
        }else{
          cldr += "<th height=20 bgcolor=#ffffff><font style=\"font-size:14px\" color=\"363636\">"+ i +"</font></th>";
        }
  //ŒŽ‚ÌƒXƒ^[ƒgˆÊ’u’²®—p—]”’
    } else {
      cldr += "<th height=20 bgcolor=#ffffff></th>";
    }
  }
  cldr += "</tr>";
}
cldr += "</table>";
document.write(cldr);
