<!-- TWO STEPS TO INSTALL THIS SCRIPT -->

<!-- STEP ONE: Place the following script into a separate JavaScript file called: calendar.js	 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
//  SET ARRAYS
var day_of_week = new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
var month_of_year = new Array('January','February','March','April','May','June','July','August','September','October','November','December');

var DAYS_OF_WEEK = 7;    // "constant" for number of days in a week
var DAYS_OF_MONTH = 31;    // "constant" for number of days in a month

var TR_start = '<TR>';
var TR_end = '</TR>';
var highlight_start = '<TD width=14% height=100%><TABLE CELLSPACING=0 BORDER=1 BGCOLOR=DEDEFF BORDERCOLOR=CCCCCC WIDTH=100% HEIGHT=100%><TR><TD WIDTH=100%><B><CENTER>';
var highlight_middle = '</B></CENTER></TD></TR><TR><TD WIDTH=100% HEIGHT=100%>';
var highlight_end   = '</TD></TR></TABLE></TD>';
var TD_DAY_OF_WEEK_start = '<TD width=14%><TABLE CELLSPACING=0 BORDER=0 BGCOLOR=FFFFFF WIDTH=100% HEIGHT=100%><TR><TD WIDTH=100% HEIGHT=100%><CENTER>';
var TD_DAY_OF_WEEK_end = '</CENTER></TD></TR></TABLE></TD>';
var TD_start = '<TD width=14%><TABLE CELLSPACING=0 BORDER=0 BGCOLOR=FFFFFF WIDTH=100% HEIGHT=100%><TR><TD WIDTH=100% HEIGHT=100%><CENTER>';
var TD_end = '</CENTER></TD></TR></TABLE></TD>';
var TD_DAY_start = '<TD width=14% height=100%><TABLE CELLSPACING=0 BORDER=1 BGCOLOR=FFFFFF BORDERCOLOR=CCCCCC WIDTH=100% HEIGHT=100%><TR><TD WIDTH=100%><CENTER><B>';
var TD_DAY_middle = '</B></CENTER></TD></TR><TR><TD WIDTH=100% HEIGHT=100%>';
var TD_DAY_end = '</TD></TR></TABLE></TD>';


//  DECLARE AND INITIALIZE VARIABLES
var Calendar = new Date();

var year = Calendar.getYear();	    // Returns year
var month = Calendar.getMonth();    // Returns month (0-11)

var weekday = Calendar.getDay();    // Returns day (1-31)

var currentDay = Calendar.getDate();    // Returns day (1-31)
var currentMonth = Calendar.getMonth();    // Returns month (0-11)
var currentYear = Calendar.getYear();	    // Returns year

var cal;    // Used for printing

Calendar.setDate(1);    // Start the calendar day at '1'
Calendar.setMonth(month);    // Start the calendar month at now

function decreaseMonth() {
	month--;
	if(month < 0) {
		month = 11;
		year--;
		Calendar.setYear(year);
	}
	Calendar.setDate(1);    // Start the calendar day at '1'
	Calendar.setMonth(month);
	WriteCalendar();
}

function increaseMonth() {
	month++;
	if(month > 11) {
		month = 0;
		year++;
		Calendar.setYear(year);
	}
	Calendar.setDate(1);    // Start the calendar day at '1'
	Calendar.setMonth(month);
	WriteCalendar();
}

function WriteCalendar() {
	var textYear = (year < 1000) ? year + 1900 : year;
	cal =  '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 BORDERCOLOR=BBBBBB WIDTH=100%><TR><TD>';
	cal += '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR=FFFFFF WIDTH=100%>' + TR_start;
	cal += '<TD COLSPAN="' + DAYS_OF_WEEK + '" BGCOLOR="#EFEFEF"><CENTER><B>';
	cal += '<a href=# onClick="javascript:decreaseMonth();">&lt;&lt;</a>&nbsp;&nbsp;';
	cal += month_of_year[month]  + '   ' + textYear;
	cal += '&nbsp;&nbsp;<a href=# onClick="javascript:increaseMonth();">&gt;&gt;</a>';
	cal += '</B></CENTER></TD>' + TR_end;

	//   DO NOT EDIT BELOW THIS POINT  //

	// LOOPS FOR EACH DAY OF WEEK
	cal += TR_start;

	for(index=0; index < DAYS_OF_WEEK; index++)
	{
		cal += TD_DAY_OF_WEEK_start + day_of_week[index] + TD_DAY_OF_WEEK_end 
	}

	cal += TR_end;

	// END OF DAY OF WEEK

	var textMonth = (Calendar.getMonth() + 1).toString();
	if(textMonth.length == 1) textMonth = '0' + textMonth;

	cal += TR_start;

	// FILL IN BLANK GAPS UNTIL TODAY'S DAY
	for(index=0; index < Calendar.getDay(); index++)
		cal += TD_start + '  ' + TD_end;

	// LOOPS FOR EACH DAY IN CALENDAR
	for(index=0; index < DAYS_OF_MONTH; index++)
	{
		if( Calendar.getDate() > index )
		{
			var textDay = Calendar.getDate().toString();
			if(textDay.length == 1) textDay = '0' + textDay;
			var dataIndex = textYear + textMonth + textDay;

			// RETURNS THE NEXT DAY TO PRINT
			week_day =Calendar.getDay();

			// START NEW ROW FOR FIRST DAY OF WEEK
			if(week_day == 0)
				cal += TR_start;

			if(week_day != DAYS_OF_WEEK)
			{
				// SET VARIABLE INSIDE LOOP FOR INCREMENTING PURPOSES
				var day  = Calendar.getDate();
				var dateText = calendarData[dataIndex];
				if(dateText == null) {
					dateText = '&nbsp;<br>&nbsp;<br>&nbsp;';
				}
				
				// HIGHLIGHT TODAY'S DATE
				if( currentDay==Calendar.getDate() && currentMonth == Calendar.getMonth() && currentYear == Calendar.getYear())
					cal += highlight_start + day + highlight_middle + dateText + highlight_end;

				// PRINTS DAY
				else
					cal += TD_DAY_start + day + TD_DAY_middle + dateText + TD_DAY_end;
			}

			// END ROW FOR LAST DAY OF WEEK
			if(week_day == DAYS_OF_WEEK)
				cal += TR_end;
		}
		// INCREMENTS UNTIL END OF THE MONTH
		Calendar.setDate(Calendar.getDate()+1);
	}// end for loop
	cal += '</TD></TR></TABLE></TABLE>';
	document.getElementById("calendar").innerHTML = cal;
}

//  PRINT CALENDAR
document.write('<div id="calendar"></div>');
WriteCalendar();


//  End -->