// © Copyright 2000, Peter Prins
// http://askpete.alienalchemy.com/v2/freeware.shtml
// This script is fully customizable by setting the config variables below
// It is compatible with Netscape and Explorer on Mac, Windows, etc...

// config variables
var TABLE_COLOR = "#CDD2B7";
var MONTHYEAR_TEXT_COLOR = "#000000";
var WEEKDAYS_BGCOLOR = "#575757";
var WEEKDAYS_TEXT_COLOR = "#FFFFFF";
var CURRENT_DATE_BGCOLOR = "#C0C0C0";
var DATE_BGCOLOR = "#FFFFFF";
var DATE_TEXT_COLOR = "#0066CC";

function getDayStr(day_num){
        switch(day_num){
                case 0: return "Sunday";
                case 1: return "Monday";
                case 2: return "Tuesday";
                case 3: return "Wednesday";
                case 4: return "Thursday";
                case 5: return "Friday";
                case 6: return "Saturday";
                default: return false;
        }
}

function getMonthStr(month_num){
        switch(month_num){
                case 0: return "January";
                case 1: return "February";
                case 2: return "March";
                case 3: return "April";
                case 4: return "May";
                case 5: return "June";
                case 6: return "July";
                case 7: return "August";
                case 8: return "September";
                case 9: return "October";
                case 10: return "November";
                case 11: return "December";
                default: return false;
        }
}

function getDaysInMonth(month_num, year_num){
        switch(month_num){
                case 0: return 31;
                case 1: if((year_num % 4) == 0){return 29;}else{return 28;}
                case 2: return 31;
                case 3: return 30;
                case 4: return 31;
                case 5: return 30;
                case 6: return 31;
                case 7: return 31;
                case 8: return 30;
                case 9: return 31;
                case 10: return 30;
                case 11: return 31;
                default: return false;
        }
}

var currentDate = new Date();
var dayNum = currentDate.getDate();
var dayStr = getDayStr(dayNum);
var monthNum = currentDate.getMonth();
var monthStr = getMonthStr(monthNum);
var yearNum = currentDate.getYear();
if (yearNum < 1000) { yearNum += 1900; }

var startDate = new Date(yearNum, monthNum, 1);
var startNum = startDate.getDay();
var startStr = getDayStr(startNum);
var daysInMonth = getDaysInMonth(monthNum, yearNum);

// fix dates for output
monthNum++;

// stylesheet
if (navigator.appVersion.indexOf("Mac") > 1){
        document.writeln("<style> .caldate {font-family:sans-serif; font-size: 10pt; color: "+DATE_TEXT_COLOR+";} .calwkdy {font-family:sans-serif; font-size: 10pt; color: "+WEEKDAYS_TEXT_COLOR+";} .caltitle {font-family:sans-serif; font-size: 14pt; color: "+MONTHYEAR_TEXT_COLOR+"; font-weight: bold;}<\/style>");
        }else{
        document.writeln("<style> .caldate {font-family:sans-serif; font-size: 8pt; color: "+DATE_TEXT_COLOR+";} .calwkdy {font-family:sans-serif; font-size: 8pt; color: "+WEEKDAYS_TEXT_COLOR+";} .caltitle {font-family:sans-serif; font-size: 12pt; color: "+MONTHYEAR_TEXT_COLOR+"; font-weight: bold;}<\/style>");
}

document.write('<table style="border:1px solid #CDD2B7;" cellspacing="0" cellpadding="1" bordercolorlight="'+TABLE_COLOR+'" bordercolordark="'+TABLE_COLOR+'">');
document.write('<tr><td colspan="7" align="center" bgcolor="'+TABLE_COLOR+'">');
document.write("<font class=font_header>"+monthStr+" "+yearNum+"</font></td></tr>");
document.write('<tr><td width="10" bgcolor="'+WEEKDAYS_BGCOLOR+'"><font class=calwkdy>Sun</font></td><td width="10" bgcolor="'+WEEKDAYS_BGCOLOR+'"><font class=calwkdy>Mon</font></td><td width="10" bgcolor="'+WEEKDAYS_BGCOLOR+'"><font class=calwkdy>Tue</font></td><td width="10" bgcolor="'+WEEKDAYS_BGCOLOR+'"><font class=calwkdy>Wed</font></td><td width="10" bgcolor="'+WEEKDAYS_BGCOLOR+'"><font class=calwkdy>Thu</font></td><td width="10" bgcolor="'+WEEKDAYS_BGCOLOR+'"><font class=calwkdy>Fri</font></td><td width="10" bgcolor="'+WEEKDAYS_BGCOLOR+'"><font class=calwkdy>Sat</font></td></tr>');

document.write("<tr>");

for (x=0; x < startNum; x++){
        document.write('<td width="10" bgcolor="'+DATE_BGCOLOR+'"><font class=caldate>&nbsp;</font></td>');
}

for (x=1; x <= daysInMonth; x++){
        if (x == dayNum){
                document.write('<td width="10" bgcolor="'+CURRENT_DATE_BGCOLOR+'"><font class=caldate>'+x+'</font></td>');
        }else{
                document.write('<td width="10" bgcolor="'+DATE_BGCOLOR+'"><font class=caldate>'+x+'</font></td>');
        }
        if (((x+startNum) % 7 == 0) && (x != daysInMonth)){
         document.write("</tr><tr>");
     }
}

if ((daysInMonth+startNum) % 7 != 0){
     if (daysInMonth+startNum+1 > 35){
         var boxes = 42;
     }else{
      var boxes = 35;
     }
     for (x=daysInMonth+startNum; x < boxes; x++){
         document.write('<td width="10" bgcolor="'+DATE_BGCOLOR+'"><font class=caldate>&nbsp;</font></td>');
     }
}

document.write("</tr><tr><td colspan=7 align=center bgcolor="+TABLE_COLOR+"></td></tr></table>");