setCal()

function getTime() {
	// initialize time-related variables with current time settings
	var now = new Date()
	var hour = now.getHours()
	var minute = now.getMinutes()
	now = null
	var ampm = "" 

	// validate hour values	and set value of ampm
	if (hour >= 12) {
		hour -= 12
		ampm = "PM"
	} else
		ampm = "AM"
	hour = (hour == 0) ? 12 : hour

	// add zero digit to a one digit minute
	if (minute < 10)
		minute = "0" + minute // do not parse this number!

	// return time string
	return hour + ":" + minute + " " + ampm
}

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 setCal() {
	// standard time attributes
	var now = new Date()
	var year = now.getFullYear()
	 if(year>=100) { 

   }
	var month = now.getMonth()
	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

	var browserName=navigator.appName; 
		if ((browserName=="Netscape")&&(document.layers))
	{ 
 		drawCal(firstDay + 0, days, date, monthName, + year)
	}
	else
	{
		drawCal(firstDay + 1, days, date, monthName, + year)
	}
}

function drawCal(firstDay, lastDate, date, monthName, year) {
	// constant table settings
	var headerHeight = "" // height of the table's header cell
	var border = 0 // 3D height of table's border
	var cellspacing = 1 // width of table's border
	var headerColor = "#FFFFFF" // color of table's header
	var headerSize = "2" // size of tables header font
	var colWidth = "" // width of columns in table
	var dayCellHeight = "" // height of cells containing days of the week
	var dayColor = "#330000" // color of font representing week days
	var cellHeight = "20" // height of cells representing dates in the calendar
	var todayColor = "#FFFFFF" // color specifying today's date in the calendar
	var timeColor = "FFFFFF" // color of font representing current time

	// create basic table structure
	var text = "" // initialize accumulative variable to empty string
	text += ''
	
	
	text += '<TABLE VALIGN="TOP" ALIGN="center" CELLPADDING="1" WIDTH="135" BORDER="0" bgcolor="#E1F0FF"' + border + ' CELLSPACING=' + cellspacing
+ '>' // table settings
	text += 	'<TH BGCOLOR="9999cc" COLSPAN=7 HEIGHT=' + headerHeight + '>' // create table header cell
	text += 		'<span class="textsmallbold">' // set font for table header
	text += 			monthName + ' ' + year 
	text += 		'</span>' // close table header's font settings
	text += 	'</TH>' // close header cell

	// variables to hold constant settings
	var openCol = '<TD BGCOLOR="ccccff" WIDTH=' + colWidth + ' HEIGHT=' + dayCellHeight
+ '>'
	openCol += '<SPAN CLASS="textsmall">'
	var closeCol = '</SPAN></TD>'

	// create array of abbreviated day names
	var weekDay = new Array(1)
	weekDay[0] = "S"

	var weekDay2 = new Array(6)
	weekDay2[0] = "M"
	weekDay2[1] = "T"
	weekDay2[2] = "W"
	weekDay2[3] = "T"
	weekDay2[4] = "F"
	weekDay2[5] = "S"
	
	// create first row of table to set column width and specify week day
	text += '<TR ALIGN="center" VALIGN="center" BGCOLOR="#FFFFFF"><B><SPAN CLASS="textsmall">' 
	for (var dayNum = 0; dayNum < 1; ++dayNum) {

		text += openCol + '<FONT COLOR="#330000">' + weekDay[dayNum] + '</FONT>' + closeCol 
	}
	for (var dayNum = 0; dayNum < 6; ++dayNum) {

		text += openCol + '</SPAN></B><SPAN CLASS="textsmall">' +weekDay2[dayNum] + '</SPAN>' + closeCol 
	}
	text += '</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) {
		text += '<TR ALIGN="center">'
		for (var col = 1; col <= 7; ++col) {
			if (digit > lastDate)
				break
			if (curCell < firstDay) {
				text += '<TD bgcolor="FFFFFF">&nbsp;</TD>';
				curCell++
			} else {
				if (digit == date) { // current cell represent today's date
					text += '<TD BGCOLOR="#000080">'
					text += '<FONT color="white" face="Arial, Helvetica, sans-serif" size="2"><b>'
					text += digit 
					text += '</b></font>'
					//text += '<FONT FACE="Arial" SIZE="1" COLOR="' +
timeColor + '" SIZE=1>'
					//text += '<CENTER>' + getTime() +
'</CENTER>'
					text += '<CENTER>'  +
'</CENTER>'
					text += '</FONT>'
					text += '</TD>'

				} 

else
				text += '<TD BGCOLOR="#FCFCFC" class="textsmall">' + digit + '</TD>'
				digit++
			}
		}
		text += '</TR>'
	}
	
	// close all basic table tags
	text += '</TABLE>'
	text += ''

	// print accumulative HTML string
	document.write(text) 
}
