frbgimg = new Array();
inbgimg = new Array();
tdbgimg = new Array();
/*----------------*
 * 設定はここから *
 *----------------*/
// 画像へのパス (最後に / を付けること)
var imgdir = "./image/";

// 背景画像 (複数のランダム化が可能)
// [n]のnを0から連番で必要なだけ行を追加し、3つの背景の同番号が1セット。
// ランダムにせず、固定で使用する場合は、[0]だけで良い。
// 枠の背景
frbgimg[0] = "bgf_c.jpg";
// カレンダー内側の背景
inbgimg[0] = "";
// 本日の背景
tdbgimg[0] = "bgt_b.gif";

// 月用画像
var monimg_w = 64;  // 画像の幅
var monimg_h = 11;  // 画像の高さ
var mpoststr = "mon.gif";  // 月用画像名。設定がmon.gifなら、1月は1mon.gif、2月は2mon.gif、以降同様。

// 曜日用画像
var yoimg_w = 12;  // 画像の幅
var yoimg_h = 11;  // 画像の高さ
var yoposstr = "yo.gif";  // 曜日用画像名。設定がyo.gifなら、日曜は0yo.gif、月曜は1yo.gif、以降同様。

// 日付用画像
var dayimg_w = 5;  // 画像の幅
var dayimg_h = 7;  // 画像の高さ
var npoststr = "gy.gif"; // 平日用画像名。設定がblk.gifなら、1は1blk.gif、2は2blk.gif、以降同様。
var kpoststr = "pk.gif"; // 休日用画像名。設定がred.gifなら、1は1red.gif、2は2red.gif、以降同様。

// 日付なし欄用画像
var nodayimg_w = 5;  // 画像の幅
var nodayimg_h = 7;  // 画像の高さ
var nodayimg = "noday.gif"; // 日付の無い欄に表示する画像名。
/*----------------*
 * 設定はここまで *
 *----------------*/
bgnum = Math.floor(Math.random() * frbgimg.length);
//for test
var test = 0;	// 1:testmode on
var testyear = 2003;	// year for test
var testmonth = 9;		// month for test
var bgnum = bgnum;		// background
//
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); }
var year = date.getFullYear();
var month = date.getMonth() + 1;
var today = date.getDate();
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { maxday[1]++; }
date.setDate(1);
var yo1 = date.getDay();
var flag = 0;
var daycnt = 1;
var moncnt = 0;
var yasumi, syuku, furi;
document.write('<table border="0" background="' + imgdir + frbgimg[bgnum] + '" cellpadding="10">');
document.write('<tr><td align="center" valign="middle">');
document.write('<img src="' + imgdir + month + mpoststr + '" width="' + monimg_w + '" height="' + monimg_h + '">');
document.write('<table border="0" background="' + imgdir + inbgimg[bgnum] + '" cellpadding="2" cellspacing="0"><tr>');
for (yo = 0; yo < 7; yo++) {
  document.write('<td align="center" valign="middle">');
  document.write('<img src="' + imgdir + yo + yoposstr + '" width="' + yoimg_w + '" height="' + yoimg_h + '">');
  document.write('<\/td>');
}
document.write('<\/tr>');
while (flag < 2) {
  document.write('<tr>');
  for (yo = 0; yo < 7; yo++) {
    document.write('<td align="center" valign="middle"');
    if (flag == 0 && yo1 == yo) { flag = 1; }	// 1日
    if (flag == 1) {	// 日付あり
      if (daycnt == today) {
        document.write('background="' + imgdir + tdbgimg[bgnum] + '"');	// 本日の背景設定
      }
      document.write('>');
      yasumi = 0;
      syuku = 0;
      // 月曜に関する処理 (Happy Mondayと振替休日)
      if (yo == 1) {
        if (furi == 1) {
          yasumi = 1;
          furi = 0;
        }
        if (++moncnt == 2) {	// 第2月曜
          if (month == 1) { syuku = 1; }	// 1月 成人の日
          if (month == 10) { syuku = 1; }	// 10月 体育の日
        }
        if (moncnt == 3) {		// 第3月曜
          if (year >= 2003 && month == 7) { syuku = 1; } 	// 7月 海の日 (2003〜)
          if (year >= 2003 && month == 9) { syuku = 1; } 	// 9月 敬老の日 (2003〜)
        }
      }
      // Happy Monday以外の祝日に関する処理
      if (month == 1 && daycnt == 1) { syuku = 1; }		//  1月 1日 元日
      if (month == 2 && daycnt == 11) { syuku = 1; }	//  2月11日 建国記念の日
      if (month == 3) {
        if (daycnt == Math.floor(20.8431+0.242194*(year-1980))-Math.floor((year-1980)/4)) {
          syuku = 1;	// 春分の日
        }
      }
      if (month == 4 && daycnt == 29) { syuku = 1; }	//  4月29日 みどりの日
      if (month == 5 && daycnt == 3) { syuku = 1; }		//  5月 3日 憲法記念日
      if (month == 5 && daycnt == 4) { syuku = 1; }		//  5月 4日 国民の休日
      if (month == 5 && daycnt == 5) { syuku = 1; }		//  5月 5日 こどもの日
      if (month == 9) {
        if (daycnt == Math.floor(23.2488+0.242194*(year-1980))-Math.floor((year-1980)/4)) {
          syuku = 1;	// 秋分の日
        }
      }
      if (month == 11 && daycnt == 3) { syuku = 1; }	// 11月 3日 文化の日
      if (month == 11 && daycnt == 23) { syuku = 1; }	// 11月23日 勤労感謝の日
      if (month == 12 && daycnt == 23) { syuku = 1; }	// 12月23日 天皇誕生日
      if (year < 2003 && month == 7 && daycnt == 20) { syuku = 1; }	// 7月20日 海の日 (〜2002)
      if (year < 2003 && month == 9 && daycnt == 15) { syuku = 1; }	//  9月15日 敬老の日 (〜2002)
      if (syuku == 1) { yasumi = 1; }
      // 日曜に関する処理
      if (yo == 0) {
        yasumi = 1;
        if (syuku == 1) { furi = 1; }
      }
      daycnt1 = Math.floor(daycnt/10);
      daycnt2 = daycnt % 10;
      if (yasumi == 1) {
        if (daycnt1 > 0) {
          document.write('<img src="' + imgdir + daycnt1 + kpoststr + '" width="' + dayimg_w + '" height="' + dayimg_h + '">');
        }
        document.write('<img src="' + imgdir + daycnt2 + kpoststr + '" width="' + dayimg_w + '" height="' + dayimg_h + '">');
      } else {
        if (daycnt1 > 0) {
          document.write('<img src="' + imgdir + daycnt1 + npoststr + '" width="' + dayimg_w + '" height="' + dayimg_h + '">');
        }
        document.write('<img src="' + imgdir + daycnt2 + npoststr + '" width="' + dayimg_w + '" height="' + dayimg_h + '">');
      }

      if (++daycnt > maxday[month - 1]) { flag = 2; }	// 最終日
    } else {	// 日付なし
      document.write('><img src="' + imgdir + nodayimg + '" width="' + nodayimg_w + '" height="' + nodayimg_h + '">');
    }
    document.write('<\/td>');
  }
  document.write('<\/tr>');
}
document.write('<\/table>');
document.write('<\/td><\/tr><\/table>');
