<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function Calendar(Y, M){
    var U = new Object();
    U.Main  = "#ffffff"; // 外側のTABLEの背景色
    U.Sub   = "#FFFFFF"; // 内側のTABLEの背景色
    U.Today = "#A0F0A0"; // 今日の背景色
    U.Empty = "*";       // 空欄の文字
    U.Week = new Array( "日", "月", "火", "水", "木", "金", "土" );
    U.Month = new Array(12);
    U.Month[0]  = "January";
    U.Month[1]  = "February";
    U.Month[2]  = "March";
    U.Month[3]  = "April";
    U.Month[4]  = "May";
    U.Month[5]  = "June";
    U.Month[6]  = "July";
    U.Month[7]  = "August";
    U.Month[8]  = "September";
    U.Month[9]  = "October";
    U.Month[10] = "November";
    U.Month[11] = "December";
    function M_F(num){
        return Math.floor(num);
    }

    //
    // 春分日・秋分日簡易算出関数
    //
    function CalcEquinox(Type, Y){
    // 変数をセット
        var i = 0, j = Y - 1980, x = 0;

        switch(Type){
            case 0: // 春分
            if(1851 <= Y && Y <= 1899){
                i = 19.8277;
            }
            else if(1900 <= Y && Y <= 1979){
                i = 20.8357;
            }
            else if(1980 <= Y && Y <= 2099){
                i = 20.8431;
            }
            else if(2100 <= Y && Y <= 2150){
                i = 21.8510;
            }
            break;

            case 1: // 秋分
            if(1851 <= Y && Y <= 1979){
                i = 22.2588;
            }
            else if(1980 <= Y && Y <= 2150){
                i = 23.2488;
            }
            break;
        }

        x = M_F(i + 0.242194 * j - M_F(j / 4));
        return x;
    }

    //
    // 祝日判定関数
    //
    function CheckHolyday(i){
        with(i){
            switch(M){
                case 0:
                //
                // 1月 1日：元旦
                //
                if(D == 1){
                    return true;
                }
                //
                // 1月 第ニ月曜：成人の日
                // (1949〜2000年は1月15日)
                //
                else if((1949 <= Y && Y <= 2000 && D == 15 ) ||
                        (Y >= 2001 && N == 2 && W == 1)){
                            return true;
                        }
                break;

                case 1:
                //
                // 2月 11日：建国記念の日
                //
                if(Y >= 1967 && D == 11){
                    return true;
                }
                //
                // 1989年2月24日(金) 昭和天皇の大喪の礼
                //
                else if(Y == 1989 && D == 24 ){
                        return true;
                }
                break;

                case 2:
                //
                // 3月 *日：春分の日
                //
                if(Y >= 1949 && D == CalcEquinox(0, Y)){
                        return true;
                }
                break;

                case 3:
                //
                // 1959年4月10日(金) 皇太子明仁親王の結婚の儀
                //
                if(Y == 1959 && D == 10 ){
                        return true;
                }
                //
                // 4月 29日：昭和の日
                // (1949〜1988年は天皇誕生日)
                // (1989〜2006年はみどりの日)
                //
                else if(Y >= 1949 && D == 29){
                        return true;
                }
                break;

                case 4:
                //
                // 5月 3日：憲法記念日
                //
                if(Y >= 1949 && D == 3){
                        return true;
                }
                //
                // 5月 4日：みどりの日
                // (1986〜2006年は国民の休日)
                //
                else if(Y >= 1986 && D == 4){
                        return true;
                }
                //
                // 5月 5日：こどもの日
                //
                else if(Y >= 1949 && D == 5){
                        return true;
                }
                break;

                case 5:
                //
                // 1993年6月9日(水) 皇太子徳仁親王の結婚の儀
                //
                if(Y == 1993 && D == 9){
                        return true;
                }
                break;

                case 6:
                //
                // 7月 第三月曜：海の日
                // (1996〜2002年は7月20日)
                //
                if((1996 <= Y && Y <= 2002 && D ==20 ) ||
                   (Y >= 2003 && N == 3 && W == 1)){
                       return true;
                   }
                break;

                case 8:
                //
                // 9月 第三月曜：敬老の日
                // (1966〜2002年は9月15日)
                //
                if((1966 <= Y && Y <= 2002 && D == 15 ) ||
                   (Y >= 2003 && N == 3 && W == 1)){
                       return true;
                   }
                //
                // 9月 *日：秋分の日
                //
                else if(Y >= 1948 && D == CalcEquinox(1, Y)){
                        return true;
                }
                //
                // 敬老の日と秋分の日に挟まれると
                // 国民の休日になる
                //
                else if(Y >= 2003 && N == 3 && W == 2 &&
                        D == CalcEquinox(1, Y) - 1){
                            return true;
                        }
                break;

                case 9:
                //
                // 10月 第二月曜：体育の日
                // (1966〜1999年は10月10日)
                //
                if((1966 <= Y && Y <= 1999 && D == 10 ) ||
                   (Y >= 2000 && N == 2 && W == 1)){
                       return true;
                   }
                break;

                case 10:
                //
                // 11月 3日：文化の日
                //
                if(Y >= 1948 && D == 3){
                        return true;
                }
                //
                // 1990年11月12日(月) 即位礼正殿の儀
                //
                else if(Y == 1990 && D == 12){
                        return true;
                }
                //
                // 11月 23日：勤労感謝の日
                //
                else if(Y >= 1948 && D == 23){
                        return true;
                }
                break;

                case 11:
                //
                // 12月 23日：天皇誕生日
                //
                if(Y >= 1989 && D == 23){
                        return true;
                }
                break;
            }
            return false;
        }
    }

    //
    // 曜日用 css 設定関数
    //
    function SetCSS(week){
        switch(week){
            case 0:
            return "sun";
            break;

            case 6:
            return "sat";
            break;

            default:
            return "nor";
            break;
        }
        return false;
    }

    //
    // 現在の日時を取得
    //
    var N = new Object();
    N.T = new Date();
    with(N.T){
        N.Y = getFullYear();
        N.M = getMonth();
        N.D = getDate();
    }
    if(N.Y < 2000){ N.Y += 1900; }

    //
    // 出力する月の情報を格納するオブジェクトをセット
    //
    var T = new Object();
    if(Y == M_F(Y) && 1900 <= Y && Y <= 2100 &&
       M == M_F(M) && 1 <= M && M <= 12){
           T.T = new Date(Y, (M - 1));
           T.Y = Y;
       }
    else{
        T.T = N.T;
        T.Y = N.Y;
    }
    T.T.setDate(1);
    with(T.T){
        T.M = getMonth();
        T.D = 1;
        T.W = getDay();
    }
    if(T.Y != N.Y || T.M != N.M){ N.D = ""; }
    T.N = 0;

    var R = new Object();
    R.H_F = false, R.S_F = false, R.Cal = "";
    R.D = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    if( T.Y % 4 == 0 && T.Y % 100 != 0 || T.Y % 400 == 0){ R.D[1]++; }

    //
    // テーブルのヘッダを作成
    //
    R.Cal += '<TABLE class="T_main" bgcolor="' + U.Main + '">'
        + '<TR><TD class="month">' + U.Month[T.M] + " " + T.Y + '<\/TD><\/TR>'
        + '<TR><TD><TABLE class="T_sub" bgcolor="' + U.Sub + '"><TR>';

    //
    // 曜日を作成
    //
    for(var i = 0; i <= 6; i++){
        R.Cal += '<TD class="' + SetCSS(i) + '">' + U.Week[i] + '<\/TD>';
    }
    R.Cal += '<\/TR><TR>';

    //
    // 日付を作成
    //
    for(var i = 0; i < T.W; i++){
        R.Cal += '<TD class="emp">' + U.Empty + '<\/TD>';
    }
    for(T.D; T.D <= R.D[T.M]; T.D++){
        if(T.W == 1){
            T.N++;
        }
        else if(T.W > 6){
            R.Cal += '<\/TR><TR>';
            T.W = 0;
        }

        //
        // 祝日判定
        //
        R.H_F = CheckHolyday(T);

        //
        // 色の決定
        //
        if(R.H_F){
            R.CSS = "sun";
            if(T.W == 0){ R.S_F = true; }
        }
        else if(R.S_F){
            R.CSS = "sun";
            R.S_F = false;
        }
        else{
            R.CSS = SetCSS(T.W);
        }
        R.Cal += '<TD class="' + R.CSS;
        if(T.D == N.D){ R.Cal += '" bgcolor="' + U.Today; }
        R.Cal += '">' + T.D + '<\/TD>';

        if(R.S && T.W != 0 && T.Y <= 2006){ R.S_F = false; }
        T.W++;
    }

    //
    // テーブルのフッタを作成
    //
    for(T.W; T.W <= 6; T.W++){
        R.Cal += '<TD class="emp">' + U.Empty + '<\/TD>';
    }
    R.Cal += '<\/TR><\/TABLE><\/TD><\/TR><\/TABLE>';

    //
    // 結果を出力
    //
    return R.Cal;
}

//
// DHTML 出力用関数
//
function SetCalendar(){
    //
    // 変数をセット
    //
    var Y = document.setcalendar.Y.value - 0;
    var M = document.setcalendar.M.value - 0;

    //
    // カレンダーを出力
    //
    if(document.getElementById || window.opera){
        document.getElementById("CL").innerHTML = Calendar(Y, M);
    }
    else if(document.layers){
        document.layers["CL"].document.open();
        document.layers["CL"].document.write(Calendar(Y, M));
        document.layers["CL"].document.close();
    }
    else if(document.all){
        document.all("CL").innerHTML = Calendar(Y, M);
    }
}
//-->