<!-- 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');

//  DECLARE AND INITIALIZE VARIABLES

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 cal;    // Used for printing
var Calendar = new Date();
var year = Calendar.getYear();	    // Returns year
var month = Calendar.getMonth();    // Returns month (0-11)
var today = Calendar.getDate();    // Returns day (1-31)
var weekday = Calendar.getDay();    // Returns day (1-31)

function DoCalendar(monthDifference, sDay, iMonth, iYear,iTimeZone, minDay, minMonth, minYear, maxDay, maxMonth, maxYear) {

//Added by Regina 12-22-2005. 
if (maxYear > iYear) {
	if (monthDifference > 0)
	{
		if (iMonth < 11)
		{
			iMonth += monthDifference;
		}
		else
		{
			iMonth = 0;
			iYear += 1;
		}
	} else if (monthDifference < 0) {
			iMonth -= monthDifference;
	}
}


if (monthDifference < 0)
{
	if (iMonth > 0)
	{
		iMonth += monthDifference;
	}
	else
	{
		iMonth = 11;
		iYear -= 1;
	}
}

month = iMonth;
year = iYear;

today = sDay;
Calendar.setDate(1);    // Start the calendar day at '1'
Calendar.setMonth(month);    // Start the calendar month at now
Calendar.setYear(year);	

var TR_start = '<TR>';
var TR_end = '</TR>';
var highlight_start = '<TD><TABLE CELLSPACING=0><TR><TD id="DayHighlight">';
var highlight_end   = '</TD></TR></TABLE>';
var TD_start = '<TD class="DayNormal">';
var TD_start_previows = '<TD class="DayNormalPreviows">';
var TD_end = '</TD>';


cal =  '<TABLE CELLSPACING=0 CELLPADDING=0 Class="CalendarOuter"><TR><TD>';
cal += '<TABLE CELLSPACING=0 CELLPADDING=0  Class="CalendarInner" border=0><TR class="CalendarHead">';

if ((minMonth < month) && (minYear <= year))
{
	cal += '<TD><A HREF="?frmTimeZone=' + iTimeZone + '&frmMonthDiff=-1&frmDateFrom=' + (month+1) + '/1/' + year + '"">&lt;</A></TD>';
}else if(maxYear == year) {				//Added by Regina 12-22-2005. - Start
	if (month == 0) {
		var tempDay = minDay;
		var tempMonth = 12;
		var tempYear = year - 1;
		cal += '<TD><A HREF="?frmTimeZone=' + iTimeZone + '&frmMonthDiff=-1&frmDateFrom=' + (tempMonth) + '/'+ tempDay +'/' + tempYear + '"">&lt;</A></TD>';
	} else if (minMonth != month){
		cal += '<TD><A HREF="?frmTimeZone=' + iTimeZone + '&frmMonthDiff=1&frmDateFrom=' + (month) + '/1/' + year + '"">&lt;</A></TD>';
	}else {
		cal += '<TD>&nbsp;</TD>';
	}
}else if (minYear < year) {
	cal += '<TD><A HREF="?frmTimeZone=' + iTimeZone + '&frmMonthDiff=-1&frmDateFrom=' + (month) + '/1/' + year + '"">&lt;</A></TD>';
}else {
	cal += '<TD>&nbsp;</TD>';
}

//End


cal += '<TD COLSPAN="5">' + month_of_year[month]  + '   ' + year + '</TD>';

if (maxYear > year) {
	if(month == 11) {
		var	tempMonth = 1;
		var	tempYear = year + 1;
		cal += '<TD><A HREF="?frmTimeZone=' + iTimeZone + '&frmMonthDiff=1&frmDateFrom=' + (tempMonth) + '/1/' + tempYear + '"">&gt;</A>' + TD_end + TR_end;
	} else {
		cal += '<TD><A HREF="?frmTimeZone=' + iTimeZone + '&frmMonthDiff=1&frmDateFrom=' + (month+1) + '/1/' + year + '"">&gt;</A>' + TD_end + TR_end;
	}
}else if ((maxYear == year) && (maxMonth > month)){
	cal += '<TD><A HREF="?frmTimeZone=' + iTimeZone + '&frmMonthDiff=1&frmDateFrom=' + (month+2) + '/1/' + year + '"">&gt;</A>' + TD_end + TR_end;
} else {
	cal += '<TD>&nbsp;</TD>';

}

//End

cal += '<TR class=DaysofWeek>';

//   DO NOT EDIT BELOW THIS POINT  //
// LOOPS FOR EACH DAY OF WEEK
for(index=0; index < DAYS_OF_WEEK; index++)
{
	cal += '<TD>' + day_of_week[index] + TD_end;
}

cal += TD_end + TR_end;
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 )
	{
		// 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();
		}
		
		//Added by Regina 12-22-2005 - Start
		//if (maxYear > year) {
		// HIGHLIGHT TODAY'S DATE
		if (today == Calendar.getDate())
		{
			cal += highlight_start + day + highlight_end + TD_end;
			// PRINTS DAY
		}
		else if (((day < minDay) && (month <= minMonth) && (year <=minYear)) || ((day > maxDay) && (month >= maxMonth) && (year >= maxYear)))
		{
			cal += TD_start_previows +  day + TD_end;
		}else{
			cal += TD_start + '<A HREF="?frmTimeZone=' + iTimeZone + '&frmDateFrom=' + (month+1) + '/' + day + '/' + year + '">' +  day + '</A>' + TD_end;
		}
		
		// END ROW FOR LAST DAY OF WEEK
		if(week_day == DAYS_OF_WEEK)
		{
			cal += TR_end;
		}
		//End
	}
	
	
	// INCREMENTS UNTIL END OF THE MONTH
	Calendar.setDate(Calendar.getDate()+1);

}// end for loop

cal += '</TD></TR></TABLE></TABLE>';

//  PRINT CALENDAR
document.write(cal);
}
//  End -->