//Calendar created 3/9/06 DHT

var now = new Date();
var month = now.getMonth();
var mycalendar = "" // initialize accumulative variable to empty string


setCal()

function leapYear(year)
{
    if (year % 4 == 0) // basic rule
        return true // is leap year
    /* else */ // else not needed when statement is "return"
    return false // is not leap year
}

function getDays(month, year)
{
    // create array to hold number of days in each month
    var ar = new Array(12)
    ar[0] = 31 // January
    ar[1] = (leapYear(year)) ? 29 : 28 // February
    ar[2] = 31 // March
    ar[3] = 30 // April
    ar[4] = 31 // May
    ar[5] = 30 // June
    ar[6] = 31 // July
    ar[7] = 31 // August
    ar[8] = 30 // September
    ar[9] = 31 // October
    ar[10] = 30 // November
    ar[11] = 31 // December

    // return number of days in the specified month (parameter)
    return ar[month]
}

function getMonthName(month) 
{
    // create array to hold name of each month
    var ar = new Array(12)
    ar[0] = "January"
    ar[1] = "February"
    ar[2] = "March"
    ar[3] = "April"
    ar[4] = "May"
    ar[5] = "June"
    ar[6] = "July"
    ar[7] = "August"
    ar[8] = "September"
    ar[9] = "October"
    ar[10] = "November"
    ar[11] = "December"

    // return name of specified month (parameter)
    return ar[month]
}

function lastmonth()
{
    month--
    setCal()
}

function nextmonth()
{
    month++
    setCal()
}

//month=month+1


function setCal() 
{
    // standard time attributes

    var year = now.getYear()
    if (year < 1000)
    year+=1900


    var monthName = getMonthName(month)
    var date = now.getDate()
    //now = null

    // create instance of first day of month, and extract the day on which it occurs
    var firstDayInstance = new Date(year, month, 1)
    var firstDay = firstDayInstance.getDay()
    firstDayInstance = null

    // number of days in current month
    var days = getDays(month, year)

    // call function to draw calendar
    drawCal(firstDay + 1, days, date, monthName, year)
}

function drawCal(firstDay, lastDate, date, monthName, year) 
{
    // constant table settings
    var headerHeight = 20 // height of the table's header cell
    var border = 1 // 3D height of table's border
    var cellspacing = 0 // width of table's border
    var headerColor = "ffffff" // color of table's header text
    var headerSize = "-2" // size of tables header font
    var colWidth = 15 // width of columns in table
    var dayCellHeight = 10 // height of cells containing days of the week
    var dayColor = "darkblue" // color of font representing week days
    var cellHeight = 10 // height of cells representing dates in the calendar
    var todayColor = "red" // color specifying today's date in the calendar
    var timeColor = "purple" // color of font representing current time
    var wkday = "339900" // Weekday background colour = green
    var wkend = "ff0000" // Weekend background colour = red

    // create basic table structure

    mycalendar = "" // Null any existing calendar
    mycalendar += '<TABLE BORDER=' + border + ' bordercolor=#ccccff CELLSPACING=' + cellspacing + '>' // table settings
    mycalendar += '<TH bgcolor=#6699cc COLSPAN=7 HEIGHT=' + headerHeight + '>' // create table header cell
    mycalendar += '<FONT COLOR="' + headerColor + '" SIZE=' + headerSize + '>' // set font for table header
    //text +='&laquo' + '&nbsp'
    mycalendar += '<a href=\"javascript:lastmonth();\">' + '&laquo'  + '</a>'  + '&nbsp;' 
    mycalendar += monthName + ' ' + year 
    //text +='&nbsp;' + '&raquo'
    mycalendar += '<a href=\"javascript:nextmonth();\">' + '&nbsp'  + '&raquo' + '</a>'
    mycalendar += '</FONT>' // close table header's font settings
    mycalendar += '</TH>' // close header cell


    // variables to hold constant settings
    var openCol = '<TD bgcolor=' + wkday + ' WIDTH=' + colWidth + ' HEIGHT=' + dayCellHeight + '>'
    openCol += '<FONT COLOR="' + dayColor + '">'
    var closeCol = '</FONT></TD>'

    var openColw = '<TD bgcolor=' + wkend + ' WIDTH=' + colWidth + ' HEIGHT=' + dayCellHeight + '>'
    openCol += '<FONT COLOR="' + dayColor + '">'
    var closeColw = '</FONT></TD>'

    // create array of abbreviated day names
    var weekDay = new Array(7)
    weekDay[0] = "S"
    weekDay[1] = "M"
    weekDay[2] = "T"
    weekDay[3] = "W"
    weekDay[4] = "T"
    weekDay[5] = "F"
    weekDay[6] = "S"

    // create first row of table to set column width and specify week day and weekend colours

    var dayNum = 0
    mycalendar += '<TR ALIGN="center" VALIGN="center">'
    mycalendar += openColw + weekDay[dayNum] + closeColw
    for (var dayNum = 1; dayNum < 6; ++dayNum) 
    {
        mycalendar += openCol + weekDay[dayNum] + closeCol
    }
    
    mycalendar += openColw + weekDay[dayNum] + closeColw
    mycalendar += '</TR>'

    // declaration and initialization of two variables to help with tables
    var digit = 1
    var curCell = 1

    for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) 
    {
        mycalendar += '<TR ALIGN="right" VALIGN="top">'
        for (var col = 1; col <= 7; ++col)
        {
            if (digit > lastDate)
                break
            
            if (curCell < firstDay) 
            {
            mycalendar += '<TD></TD>';
            curCell++
            }
            else
            {
                if (digit == date) 
                {   
                    // current cell represent today's date
                    mycalendar += '<TD align=center HEIGHT=' + cellHeight + ' bgcolor=ffff00>'
                    mycalendar += '<font COLOR="' + todayColor + '">'
                    mycalendar += digit
                    mycalendar += '</FONT>'
                    mycalendar += '</TD>'
                }
                else
                    mycalendar += '<TD align=center HEIGHT=' + cellHeight + '>' + digit + '</TD>'
                
                digit++
            }
        }
        
       mycalendar += '</TR>'
    }

    // close all basic table tags
    mycalendar += '</TABLE>'

    // print accumulative HTML string
    var theCalendar = document.getElementById("CalendarIE")
    if (theCalendar != null)
	{
	    theCalendar.innerHTML = mycalendar;
	}
}

document.write('<span id="CalendarIE">'+mycalendar+'</span>');