<HTML>
<head>
<TITLE>Calendar</TITLE>
<STYLE type="text/css">
.TABLEHEAD {
font-size : 9pt;
font-family : Arial;
font-weight : bold;
color : white;
background-color : #66CCFF;
}
.DAYS {
font-size : 9pt;
font-weight : Bold;
font-family : Arial;
font-style : normal;
color : #000000;
background-color : FFFFCC;
}
.BEFORETODAY {
font-size : 9pt;
font-family : Arial;
font-weight : normal;
font-style : normal;
color : #000080;
background-color : #CCEEFF;
line-height: 20px;
}
.WeekEndBefore {
font-size : 9pt;
font-family : Arial;
font-weight : normal;
font-style : normal;
color : red;
background-color : #CCEEFF;
line-height: 20px;
}
.SpecialDayBefore {
font-size : 9pt;
font-family : Arial;
font-weight : normal;
font-style : normal;
color : red;
background-color : #CCEEFF;
line-height: 20px;
}
.WeekEndAfter {
font-size : 9pt;
font-family : Arial;
font-weight : normal;
font-style : normal;
color : red;
background-color : #CCCCFF;
line-height: 20px;
}
.AFTERTODAY {
font-size : 9pt;
font-family : Arial;
font-weight : normal;
font-style : normal;
color : #000080;
background-color : #CCCCFF;
line-height: 20px;
}
.SpecialDayAfter {
font-size : 9pt;
font-family : Arial;
font-weight : normal;
font-style : normal;
color : red;
background-color : #CCCCFF;
line-height: 20px;
}
.TODAY {
font-size : 9pt;
font-family : Arial;
font-weight : bold;
font-style : normal;
color : red;
background-color : #FFCC99;
line-height: 20px;
}
</STYLE>
<SCRIPT LANGUAGE="JScript">
<!--// Hide JS Code
// AUTHOR: Unknown
// MODIFIED BY: Ng Kim Boon
// MODIFIED BY/DATE: Cheng Wei/2001-Feb-17
// COMPANY: NCS Pte. Ltd
var defaultFormat = "yyyy-mm-dd";
//var defaultFormat = "mm/dd/yyyy";
var dateFormat = defaultFormat;
var days = new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
//var specialDay=new Array("1977/5/27","2000/9/11","2004/5/27");
//var months = new Array( "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" );
//var days = new Array("SUN","MON","TUE","WED","THU","FRI","SAT");
var specialDay=new Array("1977/5/27","2000/9/11","2004/5/27");
var months = new Array( "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" );
var numDays = new Array( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );
var today = new Date();
var currMonth;
var beginYear = 1900;
var endYear = 2100;
function init() {
dateFormat = defaultFormat;
var m ;
m = today.getMonth() + 1;
var y;
y = today.getFullYear();
currMonth = new Month( y, m );
var strHtml = showCalendar(currMonth);
MyLabel.outerHTML="<Label ID=MyLabel>" + strHtml + "</Label>";
restorePrevFocus();
document.form1.hidFlag.value="m";
}
function restorePrevFocus(){
var flag=document.form1.hidFlag.value;
switch (flag){
case "m"://month combo
document.form1.m.focus();
break;
case "y"://year combo
document.form1.y.focus();
break;
case "p"://previous month
document.all.p.focus();
break;
case "n"://next month
document.all.n.focus();
break;
default :
document.form1.m.focus();
}
}
function prevMonth(){
var y = document.form1.y.value;
var m = document.form1.m.value;
currMonth = new Month( y,m );
var prevMonth = getRelativeMonth(currMonth , -1 );
prevMonth = new Month( prevMonth.year, prevMonth.month );
strHtml = showCalendar(prevMonth);
MyLabel.outerHTML="<Label ID=MyLabel>" + strHtml + "</Label>";
restorePrevFocus();
document.form1.hidFlag.value="p";
}
function nextMonth(){
var y = document.form1.y.value;
var m = document.form1.m.value;
currMonth = new Month( y,m );
var nextMonth = getRelativeMonth(currMonth , 1 );
nextMonth = new Month( nextMonth.year, nextMonth.month );
strHtml = showCalendar(nextMonth);
MyLabel.outerHTML="<Label ID=MyLabel>" + strHtml + "</Label>";
restorePrevFocus();
document.form1.hidFlag.value="n";
}
function changeMonth(){
var y = document.form1.y.value;
var m = document.form1.m.value;
currMonth = new Month( y,m );
strHtml = showCalendar(currMonth);
MyLabel.outerHTML="<Label ID=MyLabel>" + strHtml + "</Label>";
restorePrevFocus();
document.form1.hidFlag.value="m";
}
function changeYear(){
var y = document.form1.y.value;
var m = document.form1.m.value;
if (document.form1.y.value==document.form1.hidYear.value) return;
currMonth = new Month( y,m );
strHtml = showCalendar(currMonth);
MyLabel.outerHTML="<Label ID=MyLabel>" + strHtml + "</Label>";
restorePrevFocus();
document.form1.hidFlag.value="y";
}
function showCalendar( currMonth ) {
var prevMonth = getRelativeMonth( currMonth, -1 );
var nextMonth = getRelativeMonth( currMonth, 1 );
var strHtml="";
strHtml= strHtml + "<TABLE border=0 cellspacing=1 width=400><TR class=TABLEHEAD align=center>";
strHtml= strHtml + "<TD colspan=2 ><A class=TABLEHEAD id=p tabindex=0 style='cursor:hand;' onFocus='document.form1.hidFlag.value=\"p\";' onKeyPress='prevMonth()' onclick='prevMonth()'" + ">上个月</A></TD>";
// strHtml= strHtml + "<TD colspan=5 class=TABLEHEAD>";
//strHtml= strHtml + "<TD colspan=2 ><A class=TABLEHEAD id=p tabindex=0 style='cursor:hand;' onFocus='document.form1.hidFlag.value=\"p\";' onKeyPress='prevMonth()' onclick='prevMonth()'" + ">Previous Month</A></TD>";
strHtml= strHtml + "<TD colspan=3 class=TABLEHEAD>";
strHtml= strHtml + "<SELECT NAME=m tabindex=1 onFocus='document.form1.hidFlag.value=\"m\";' onChange='javascript:changeMonth()'>" ;
for (var i=1; i<13; i++ )
strHtml= strHtml + "<OPTION value=" + i + ((i==currMonth.month)? " selected" : "")+ ">" + months[i-1] ;
strHtml= strHtml + "</SELECT>" ;
strHtml= strHtml + "<SELECT NAME=y onFocus='document.form1.hidFlag.value=\"y\";' tabindex=2 onChange='javascript:changeYear()'>" ;
for (var tempYear=beginYear; tempYear<endYear; tempYear++ )
strHtml= strHtml + "<OPTION value=" + tempYear + ((tempYear==currMonth.year)? " selected" : "")+ ">" + tempYear ;
strHtml= strHtml + "</SELECT>" ;
strHtml= strHtml + "<INPUT type=hidden name=hidYear value=" + currMonth.year + ">" ;
strHtml= strHtml + "</TD>" ;
strHtml= strHtml + "<TD colspan=2><A tabindex=3 id=n class=TABLEHEAD style='cursor:hand;' onFocus='document.form1.hidFlag.value=\"n\";' onKeyPress='nextMonth()' onclick='nextMonth()'" + ">下个月</a></td>";
//strHtml= strHtml + "<TD colspan=2><A tabindex=3 id=n class=TABLEHEAD style='cursor:hand;' onFocus='document.form1.hidFlag.value=\"n\";' onKeyPress='nextMonth()' onclick='nextMonth()'" + ">Next Month</a></td>";
strHtml= strHtml + "</TR>";
// writes the days of the week
strHtml= strHtml + "<TR align=center bgcolor=#FFFFFF>";
for(var d=0;d<7;d++){
strHtml= strHtml + "<TD width=14% CLASS=DAYS><B> " + days[d] + " </B></TD>";
}
strHtml= strHtml + "</TR>";
var daycounter = 1;
var cls = "";
// allows month to possibly span over 6 weeks
for(var i=0; i<6; i++){
// if we have not exceeded number of days in month
if(daycounter<=currMonth.length) {
strHtml= strHtml +"<TR align=center>"
// display each day of the week
for(var j=0;j<7;j++){
// First choose different style for different period.
// Not yet the first day of the month, or
// it has exceeded the last day in the month.
if( (i==0 && j<currMonth.firstDay) || daycounter>currMonth.length) {
cls = "";
// Current date
} else if(daycounter==today.getDate() && currMonth.month==today.getMonth()+1 && currMonth.year==today.getFullYear()) {
cls = " class=TODAY";
// Future date
} else if((daycounter>today.getDate() && currMonth.month==today.getMonth()+1 && currMonth.year==today.getFullYear()) || (currMonth.month>today.getMonth()+1 && currMo