<SCRIPT type="text/javascript">
<!--

//------------------------ カレンダー表示 2007/10/08 -------------------------

// 前月、翌月を表示できるように修正    
    
    today = new Date() ;                       // 今日のデータ
    var cal_yy = change_year(today.getYear()); // 年
    var cal_mm = today.getMonth() + 1;         // 月
    var today_holiday = 0;                     // 当日が祝日の場合

function calendar_disp(){

    document.write("<DIV id='calendar' style='position:absolute;'>") ;
    document.write(calendar(cal_yy , cal_mm))
    document.write("</DIV>")

    holiday_com(today_holiday) 
}    

//-- 前月、翌月の切り替え 
function month_back_next(nn){
    cal_mm = cal_mm + nn
    qq=calendar(cal_yy , cal_mm)
    cal_changeElementText("calendar", qq);
    
    holiday_com(today_holiday)
}

//-- 年号を4桁で取得できない場合、4桁に変換
function change_year(qq){
    if(qq < 2000){
        qq = qq + 1900
    }
    return qq
}

//------------ カレンダーの表示 ---------------
//-- http://www004.upp.so-net.ne.jp/sekiuchi/js/contents/hcc3.html


function calendar(cal_yy , cal_mm){

    var siz   = "style='font-size:9pt;line-height:120%'";  // 表示サイズ
    var youbi = new Array("日","月","火","水","木","金","土")
    var css_calendar_waku = "border-width : 2px ; border-color : #ff9494 ; border-style : solid ;"
    var today_holiday = 0;                     // 当日が祝日の場合

    var z_today = new Date()
    var cal_yyy = change_year(z_today.getYear());  // 年
    var cal_mmm = z_today.getMonth() + 1;          // 月

    var now_year = z_today.getYear();
    if(now_year < 2000){ now_year += 1900;}
    var now_month = z_today.getMonth() + 1;

    var q1 = cal_yyy + "" + cal_mmm
    var q2 = cal_yy  + "" + cal_mm

    if (q1 == q2){
        day = new Date()                          // 今日のデータ
        thisday = day.getDate();                  // 今日の日付
        firstday = new Date()
        firstday.setDate(1)
        var startday = firstday.getDay();         // 初日の曜日
    }else{
        day = new Date(cal_yy , cal_mm - 1 , 1);  // 指定年月日のデータ
        day.setDate(1);                           // 1日にセット
        var startday = day.getDay();              // 初日の曜日
    }

    day.setDate(1);           //今月最初の日にセット
    month = day.getMonth() + 1;

    year = change_year(day.getYear());
    numdays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

    dd = new Array()

    // うるう年
    if((year%4 == 0) && (year%100 != 0) || (year%400 == 0)) numdays[1] = 29;

    //---------- 休日の定義 ----------
    
    hol_com1 = "" ; hol_com2="" ; hol_com3=""

    if(month == 1){
        holiday1 = 1; holiday2 = 14-(day.getDay()+5)%7; holiday3 = -1
        hol_com1 = "元旦" ; hol_com2 = "成人の日"
    }

    else if(month == 2){
        holiday1 = 11; holiday2 = -1; holiday3 = -1
        hol_com1 = "建国記念の日" 
    }

    else if(month == 3){
        ed =  20.8431 + 0.242194 * (year - 1980) - Math.floor((year - 1980)/4);
        holiday1 = Math.floor(ed);
        holiday2 = -1;
        holiday3 = -1;
        
        hol_com1 = "春分の日"
    }

    else if(month == 4){
        holiday1 = 29; holiday2 = -1; holiday3 = -1
        hol_com1 = "昭和の日"
    }

    else if(month == 5){
        holiday1 = 3; holiday2 = 4; holiday3 = 5
        hol_com1 = "憲法記念日" ; hol_com2 = "みどりの日" ; hol_com3 = "こどもの日"
    }

    else if(month == 6){
        holiday1 = -1; holiday2 = -1; holiday3 = -1
    }

    else if(month == 7){
        holiday1 = 21-(day.getDay()+5)%7; holiday2 = -1;holiday3 = -1
        hol_com1 = "海の日"
    }

    else if(month == 8){
        holiday1 = -1; holiday2 = -1; holiday3 = -1
    }

    else if(month == 9){
        holiday1 = 21-(day.getDay()+5)%7;
        ed =  23.2488 + 0.242194 * (year - 1980) - Math.floor((year - 1980)/4);
        holiday2 = Math.floor(ed);
        holiday3 = -1
        
        hol_com1 = "敬老の日" ; hol_com2 = "秋分の日"

    }
    else if(month == 10){
        holiday1 = 14-(day.getDay()+5)%7;; holiday2 = -1; holiday3 = -1
        hol_com1 = "体育の日"
    }

    else if(month == 11){
        holiday1 = 3; holiday2 = 23; holiday3 = -1
        hol_com1 = "文化の日" ; hol_com2 = "勤労感謝の日"

    }

    else if(month == 12){
        holiday1 = 23; holiday2 = -1; holiday3 = -1
        hol_com1 = "天皇誕生日"
    }
    
    if(holiday1 != -1){dd[holiday1] = hol_com1}
    if(holiday2 != -1){dd[holiday2] = hol_com2}
    if(holiday3 != -1){dd[holiday3] = hol_com3}
    

    //---------- 休日の定義終わり ----------

    //--- カレンダー本体
    var tuki = month
    if(month < 10){tuki = "0" + month}

    var cc=""
    cc +="<TABLE border='0' cellspacing='0' cellpadding='0' onMouseout='javascript:holiday_com(today_holiday)'>";
    cc +="<TBODY>"
    cc +="<TR><TD>";

    //-- カレンダー本体の表示
    cc +="<TABLE  border='1' cellspacing='0' cellpadding='1' bgcolor='#ffffff' style= '" + css_calendar_waku + "'>";
    cc +="<TBODY>"
    cc +="<TR><TD colspan='7' bgcolor='#336699' align='center'>";
        cc +="<TABLE border='0' cellspacing='0' cellpadding='1'>";// height='23'>";
        cc +="<TBODY>"
        cc +="<TR>";    
        cc +="<TD><A href='javascript:month_back_next(-1)' onfocus='this.blur()'><IMG src='a_left.gif' border='0' hspace='10' vspace='3' title='前月のカレンダー'></A></TD>"
        cc +="<TD><B><FONT " + siz + " color='#ffffff'>" + year + " 年 " + tuki + " 月" + "</FONT></B></TD>";
        cc +="<TD><A href='javascript:month_back_next(1)' onfocus='this.blur()'><IMG src='a_right.gif' border='0' hspace='10' vspace='3' title='翌月のカレンダー'></A></TD>"
        cc +="</TR>"
        cc +="</TBODY>"
        cc +="</TABLE>"
    cc +="</TD></TR>";

    cc +="<TR>";
    for(ii=0 ; ii<7 ; ii++){
        col="black"
        if(ii == 0){col='red'}
        if(ii == 6){col='blue'}

        cc += "<TD bgcolor='#d9ffff' align='center'>"
        cc +="<B><FONT " + siz + " color='" + col + "'>"
        cc += youbi[ii]
        cc +="</FONT></B>"
        cc +="</TD>";
    }
    cc += "</TR>";

    //-- 日付の書き込み
    var col="";
    var flag_today = 0
    
    for(sunday = 1-day.getDay(); sunday <= numdays[month-1]; sunday +=7){
        cc += "<TR align=center>";
        for(i = sunday; i < sunday + 7; i++){
        
            if((i > 0) && (i <= numdays[month-1])){
                day.setDate(i);
                today = day.getDay();

                if(thisday == i && year == now_year && month == now_month){
                    cc += "<TD bgcolor='#ffff00' onMouseover='javascript:holiday_com(" + i + ")'>";    // 今日の背景色を黄色にする
                    flag_today = 1
                    today_holiday = i
                }else{
                    cc += "<TD onMouseover='javascript:holiday_com(" + i + ")'>";
                    flag_today = 0
                }

                if(today == 0){
                    col = "#ff0000"
                }else if((i == holiday1)||(i == holiday2)||(i == holiday3)){
                    col = "#ff0000"
                }else if((today == 1)&&((i-1 == holiday1)||(i-1 == holiday2)||(i-1 == holiday3))){
                    col = "#ff0000"
                    dd[i] = "振替休日"
                }else if(today == 6){
                    col = "#0000ff"
                }else{
                    col = "#000000"
                }

                //-- 今日の日付を強調表示
                if(flag_today == 1){
                    cc +="<FONT " + siz + " color='" + col + "'><B>" + i + "</B></FONT>"
                    cc +="</TD>"
                }else{
                    cc +="<FONT " + siz + " color='" + col + "'>" + i + "</FONT></TD>"
                }

            }else{
                cc +="<TD><FONT " + siz + "'> </FONT></TD>";
                dd[i]=""
            }
        }

        cc +="</TR>";
    }

    cc +="</TBODY>"
    cc +="</TABLE>";
    cc +="</TD></TR>"

    //-- 祝日名の表示
    cc +="<TR><TD>"
    cc +="<FONT style='color : #ff0000 ; font-size:10pt ; line-height : 160%'><SPAN id='holiday'></SPAN></FONT>"
    cc +="</TD>";
    cc +="</TR>";
    cc +="</TBODY>"
    cc +="</TABLE>";

    return cc ; 
    //document.write(cc);

}

//---------- テキストの表示 ------------
function cal_changeElementText(id, newText) {
    element = document.getElementById(id);
    element.innerHTML = newText;
}

//-- 祝日名の表示
function holiday_com(ii){
    var qq = dd[ii]
    if(qq == null){
        qq=" "
    }
    cal_changeElementText('holiday', qq)
}

//-->
</SCRIPT>