//月の休日["年月"]
var RestDay = new Object();
RestDay["201101"] = "1,2,3,4,5,8,9,10,15,16,22,23,29,30";
RestDay["201102"] = "5,6,11,12,13,19,20,26,27";
RestDay["201103"] = "5,6,12,13,19,20,21,26,27";
RestDay["201104"] = "2,3,9,10,16,17,23,24,29,30";
RestDay["201105"] = "1,2,3,4,5,7,8,14,15,21,22,28,29";
RestDay["201106"] = "4,5,11,12,18,19,25,26";
RestDay["201107"] = "2,3,9,10,16,17,18,23,24,30,31";
RestDay["201108"] = "6,7,13,14,15,16,20,21,27,28";
RestDay["201109"] = "3,4,10,11,17,18,19,23,24,25";
RestDay["201110"] = "1,2,8,9,10,15,16,22,23,29,30";
RestDay["201111"] = "3,5,6,12,13,19,20,23,26,27";
RestDay["201112"] = "3,4,10,11,17,18,23,24,25,29,30,31";
RestDay["201201"] = "1,2,3,4,7,8,9,14,15,21,22,28,29";
RestDay["201202"] = "4,5,11,12,18,19,25,26";
RestDay["201203"] = "3,4,10,11,17,18,20,24,25,31";
RestDay["201204"] = "1,7,8,14,15,21,22,28,29,30";
RestDay["201205"] = "3,4,5,6,12,13,19,20,26,27";
RestDay["201206"] = "3,4,9,10,16,17,23,24,30";
RestDay["201207"] = "1,7,8,14,15,21,22,28,29";
RestDay["201208"] = "4,5,11,12,13,14,15,16,18,19,25,26";
RestDay["201209"] = "1,2,8,9,15,16,17,22,23,29,30";
RestDay["201210"] = "6,7,8,13,14,20,21,27,28";
RestDay["201211"] = "3,4,10,11,17,18,23,24,25";
RestDay["201212"] = "1,2,8,9,15,16,22,23,24,29,30,31";


restdays1 = new Array();
restdays2 = new Array();
//配列生成
monstr = new Array();
yostr = new Array();

Err1 = new String();
Err2 = new String();
/*----------------*
 * 設定はここから *
 *----------------*/
//var clfont     = "HGP創英角ｺﾞｼｯｸUB";  // フォントの種類（全体共通）
var clfont     = "";  // フォントの種類（全体共通）

var frbgcolor  = "#ffffff";	    // 外枠の背景色
var frborder   = 1;             // 外枠の幅
var monfnsize  = "12pt";        // 月のフォントサイズ
var frfncolor  = "#333333";     // 月の文字色

var inbgcolor  = "#ffffff";     // 日付部の背景色
var yobgcolor  = "#CCFF99";     // 曜日部の背景色
var tdbgcolor  = "#FFCC66";     // 本日の背景色
var dwidth     = 27;            // 日付・曜日欄の幅
var dheight    = 10;            // 日付・曜日欄の高さ
var dayfnsize  = "9pt";         // 日付と曜日のフォントサイズ
var dayfncolor = "#333333";     // 平日の文字色（曜日・日付共通）
var kdfncolor  = "#ff3333";     // 日曜・休日の文字色（曜日・日付共通）
var ndstr      = "・";          // 日付なし欄に出す文字
var ndfncolor  = "#333333";     // 日付なし欄の文字色

// 月の表示文字
monstr[0]  = "1月";  //  1月
monstr[1]  = "2月";  //  2月
monstr[2]  = "3月";  //  3月
monstr[3]  = "4月";  //  4月
monstr[4]  = "5月";  //  5月
monstr[5]  = "6月";  //  6月
monstr[6]  = "7月";  //  7月
monstr[7]  = "8月";  //  8月
monstr[8]  = "9月";  //  9月
monstr[9]  = "10月"; // 10月
monstr[10] = "11月"; // 11月
monstr[11] = "12月"; // 12月

// 曜日の表示文字
yostr[0] = "日";  // 日曜
yostr[1] = "月";  // 月曜
yostr[2] = "火";  // 火曜
yostr[3] = "水";  // 水曜
yostr[4] = "木";  // 木曜
yostr[5] = "金";  // 金曜
yostr[6] = "土";  // 土曜

/*----------------*
 * 設定はここまで *
 *----------------*/
//for test
var test = 0;	// 1:testmode on
var testyear = 2006;  // year for test
var testmonth = 8;    // month for test
var testday = 1;      // day for test
//
maxday = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var date = new Date();
if (test == 1) { date.setYear(testyear); date.setMonth(testmonth-1); date.setDate(testday); }

//年判定
var year = date.getFullYear();
var month = date.getMonth() + 1;

if(month < 10){ var dispM1 = "0" + month; }
else{ var dispM1 = new String(month); }

if(month == 12){
	var nextyear = year + 1;
	var nextmonth = 1;
}else{
	var nextyear = year;
	var nextmonth = month + 1;
}

if(nextmonth < 10){ var dispM2 = "0" + nextmonth; }
else{ var dispM2 = new String(nextmonth); }

var today = date.getDate();
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { maxday[1]++; }
date.setDate(1);

if(RestDay[ year + dispM1 ]){
	restdays1 = RestDay[ year + dispM1 ].split(",");
}else{
	Err1 = '<p>今月のデータがありません</p>';
}
if(RestDay[ nextyear + dispM2 ]){
	restdays2 = RestDay[ nextyear + dispM2 ].split(",");
}else{
	Err2 = '<p>来月のデータがありません</p>';
}
//今月のカレンダー表示

if(Err1.length){
	document.write(Err1);
}else{

month = Number(month);
nextmonth = Number(nextmonth);

var yo1 = date.getDay();
var yo2 = 0;
var flag = 0;
var daycnt = 1;
var moncnt = 0;
var yasumi, syuku, furi;
document.write('<table border="0" style="margin-top: 5px;" bgcolor="' + frbgcolor + '" cellpadding="' + frborder + '" cellspacing="0" width="199">');
document.write('<tr><td align="center">');
document.write('<span style="font-family:' + clfont + ';font-size:' + monfnsize + '">');
document.write('<font color="' + frfncolor + '"><b>'
  + monstr[month - 1] + ' ' + year + '<\/font><\/b><\/span><br>');
// 曜日欄
document.write('<table border="0" bgcolor="' + inbgcolor + '" cellpadding="3" cellspacing="0">');
document.write('<tr bgcolor="' + yobgcolor + '">');
for (yo = 0; yo < 7; yo++) {
  document.write('<td width="' + dwidth + '" height="' + dheight + '" align="center">');
  document.write('<span style="font-family:' + clfont + ';font-size:' + dayfnsize + '">');
  if (yo == 0) { document.write('<font color="' + kdfncolor + '">'); }
    else { document.write('<font color="' + dayfncolor + '">'); }
  document.write(yostr[yo]);
  if (yo == 0) { document.write('<\/font>'); }
  document.write('<\/span>');
  document.write('<\/td>');
}
document.write('<\/tr>');
while (flag < 2) {
  document.write('<tr>');
  for (yo = 0; yo < 7; yo++) {
    document.write('<td width="' + dwidth + '" height="' + dheight + '" align="center"');
    if (flag == 0 && yo1 == yo) { flag = 1; }	// 1日
    if (flag == 1) {	// 日付あり
		yo2 = yo;
      if (daycnt == today) {
        document.write('bgcolor="' + tdbgcolor + '"');	// 本日の背景設定
      }
      document.write('>');
      document.write('<span style="font-family:' + clfont + ';font-size:' + dayfnsize + '">');
      yasumi = 0;
      syuku = 0;
      
      for(i=0; i<restdays1.length; i++){
      	if(restdays1[i] == daycnt){
		yasumi = 1;
		}
     }
      if (yasumi == 1) { document.write('<font color="' + kdfncolor + '">' + daycnt + '<\/font>'); }
        else { document.write('<font color="' + dayfncolor + '">' + daycnt + '<\/font>'); }
      if (++daycnt > maxday[month - 1]) { flag = 2; }	// 最終日
    } else {	// 日付なし
      document.write('><font color="' + ndfncolor + '">' + ndstr + '<\/font>');
    }
    document.write('<\/span>');
    document.write('<\/td>');
  }
  document.write('<\/tr>');
}
document.write('<\/table>');
document.write('<\/td><\/tr><\/table>');

}


//来月のカレンダー表示

if(Err2.length){
	document.write(Err2);
}else{

var yo1 = yo2 + 1;
if(yo1 == 7){
	var yo1 = 0;
}
var flag = 0;
var daycnt = 1;
var moncnt = 0;
var yasumi, syuku, furi;
document.write('<table border="0" bgcolor="' + frbgcolor + '" cellpadding="' + frborder + '" cellspacing="0" width="199">');
document.write('<tr><td align="center">');
document.write('<span style="font-family:' + clfont + ';font-size:' + monfnsize + '">');
document.write('<font color="' + frfncolor + '"><b>'
  + monstr[nextmonth - 1] + ' ' + nextyear + '<\/font><\/b><\/span><br>');
// 曜日欄
document.write('<table border="0" bgcolor="' + inbgcolor + '" cellpadding="3" cellspacing="0">');
document.write('<tr bgcolor="' + yobgcolor + '">');
for (yo = 0; yo < 7; yo++) {
  document.write('<td width="' + dwidth + '" height="' + dheight + '" align="center">');
  document.write('<span style="font-family:' + clfont + ';font-size:' + dayfnsize + '">');
  if (yo == 0) { document.write('<font color="' + kdfncolor + '">'); }
    else { document.write('<font color="' + dayfncolor + '">'); }
  document.write(yostr[yo]);
  if (yo == 0) { document.write('<\/font>'); }
  document.write('<\/span>');
  document.write('<\/td>');
}
document.write('<\/tr>');
while (flag < 2) {
  document.write('<tr>');
  for (yo = 0; yo < 7; yo++) {
    document.write('<td width="' + dwidth + '" height="' + dheight + '" align="center"');
    if (flag == 0 && yo1 == yo) { flag = 1; }	// 1日
    if (flag == 1) {	// 日付あり
      document.write('>');
      document.write('<span style="font-family:' + clfont + ';font-size:' + dayfnsize + '">');
      yasumi = 0;
      syuku = 0;
      
      for(i=0; i<restdays2.length; i++){
      	if(restdays2[i] == daycnt){
		yasumi = 1;
		}
      }
      if (yasumi == 1) { document.write('<font color="' + kdfncolor + '">' + daycnt + '<\/font>'); }
        else { document.write('<font color="' + dayfncolor + '">' + daycnt + '<\/font>'); }
      if (++daycnt > maxday[nextmonth - 1]) { flag = 2; }	// 最終日
    } else {	// 日付なし
      document.write('><font color="' + ndfncolor + '">' + ndstr + '<\/font>');
    }
    document.write('<\/span>');
    document.write('<\/td>');
  }
  document.write('<\/tr>');
}
document.write('<\/table>');
document.write('<\/td><\/tr><\/table>');

}
