// define variables
 
var month_names = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
var days_in_month  = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var this_date = new Date();                                   // get todays date
var this_day = this_date.getDate();                           // returns date within month - range 1-31
var this_month = this_date.getMonth();                        // returns month within year - range 0-11 
 
function makeCalendar(the_month, the_year)
{   first_of_month = new Date(the_year, the_month, 1);        // creates instance of date object for first of month
    day_of_week = first_of_month.getDay();                    // returns day within week - range 0-6
    if  (((the_year % 4 == 0) && (the_year % 100 != 0)) || (the_year % 400 == 0))
    {   days_in_month[1] = 29;                                // it's a leap year so change # days in Feb in array
    }
    else
    {   days_in_month[1] = 28;                                // not leap year - future use if multi year calendar built
    }
    document.write("<TABLE class='month'>");    // start building the month table
    document.write("<TR class='row_month'><TH COLSPAN=7>" + month_names[the_month] + " " + the_year);        // month and year heading
    document.write("<TR BGCOLOR='#FF8888'><TH>S</TH><TH>M</TH><TH>T</TH><TH>W</TH><TH>T</TH><TH>F</TH><TH>S</TH></TR>");    // day of week heading
    document.write("<TR ALIGN=RIGHT>");
    var column = 0;
    for (i=0; i<day_of_week; i++)                             // skip to day_of_week value for first_of_month
    {   document.write("<TD> </TD>");
        column++;
    }
    for (i=1; i<=days_in_month[the_month]; i++)
    {   if  ((i == this_day)  && (the_month == this_month) && (the_year == this_year))
        {   document.write("<TD BGCOLOR='#CC0000'><B>" + i + "</B></TD>");       // highlite todays date
        }
        else
        {   document.write("<TD BGCOLOR='#33CCFF'><B>" + i + "</B></TD>");       // no highlite for other dates
        }
        column++;
        if  (column == 7)                                     // start next row of dates for month
        {   document.write("</TR><TR ALIGN=RIGHT>");
            column = 0;
        }
    }
    document.write("</TR></TABLE>");                          // month complete - close table
}
    
function y2K(number)                                          // if year < 2000 javascript gives only 2 digits for year
{ return (number < 1000) ? number + 1900 : number; 
}
 
var this_year = y2K(this_date.getYear());
  
