<!-- Begin
var calStartDOW = 0;
var holidays = new Array();
holidays["1 Jan 2004"] = true;
holidays["17Jan 2004"] = true;
holidays["21 Feb 2004"] = true;
holidays["21 Apr 2004"] = true;
holidays["29 May 2004"] = true;
holidays["3 Jul 2004"] = true;
holidays["4 Jul 2004"] = true;
holidays["4 Sep 2004"] = true;
holidays["10 Nov 2004"] = true;
holidays["23 Nov 2004"] = true;
holidays["24 Nov 2004"] = true;
holidays["25 Dec 2004"] = true;
holidays["31 Dec 2004"] = true;
 
var months = new Array( "Jan","Feb","Mar", "Apr","May","Jun", "Jul","Aug","Sep","Oct", "Nov", "Dec");
var longmonths = new Array( "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ); 
var leapdays = new Array(31,29,31, 30,31,30, 31,31,30, 31,30,31); 
var yeardays = new Array(31,28,31, 30,31,30, 31,31,30, 31,30,31); 
var dow = new Array("S","M","T","W","T","F","S"); 
var globalCalWidth = "140"; 

var colorWhite 	= "#CCCC99"; 
var colorDarkRed 	= "#000000";
var colorMedRed  	= "#000000";	// color of weekend days
var colorLightGrey	= "#f9f8e7";	// background of weekdays
var colorMedGray 	= "#f9f8e7";	// background of month-year
var colorOffWhite 	= "#00639C";	// color of month-year text
var colorDkBlue   	= "#000000";	// color of week name text

var holidayColor 	= colorMedRed;    	// fg color for weekends and holidays 
var dowBGColor   	= colorLightGrey;  	// bg for days of week at top of calendar
var dowFGColor   	= colorDkBlue;     	// fg for days of week 
var calHdrBGColor	= colorMedGray;   	// bg for month and year
var calHdrFGColor 	= colorOffWhite;  	// fg for month and year

var myDate = new Date(); 
var thisMonth = myDate.getMonth(); 
var thisYear  = myDate.getFullYear(); 

var URLargs = getURLArgs(true); 
if (URLargs.year)    { thisYear = parseInt(URLargs.year);            } 
if (URLargs.month)   { thisMonth = (parseInt(URLargs.month)%12);     } 
if (URLargs.starton) { calStartDOW = (parseInt(URLargs.starton)%7);  }

function isLeapYear( year ){
  return ( (0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))); 
} 

function isValidDayOfMonth( day, month, year) 
{ 
  if (day <= 0) { return false; }
  if (isLeapYear(year)) { return (day <= leapdays[month])}
  return ( day <= yeardays[month]); 
} 

function canonicalDate(day, month, year) 
{ 
  var canonDate = 0;
  var mday = myDate.getDate(); 
  var mmon = myDate.getMonth(); 
  var myr  = myDate.getFullYear(); 
  if( arguments.length > 0 ) 	 { mday = arguments[0];	 } 
  if( arguments.length > 1 ) 	 { mmon = arguments[1];	 } 
  if( arguments.length > 2 ) 	 { myr  = arguments[2];	 } 
 if(myr >= 2000) 
	{ canonDate += mday; 
	  while(mmon > 0)  { canonDate += isLeapYear(myr) ? leapdays[mmon]: yeardays[mmon]; mmon--;} 
	  while(myr > 2000){ canonDate += isLeapYear(myr) ? 366: 365; myr--;  } 
	} 
 else
	{ canonDate -= isLeapYear(myr) ? leapdays[mmon] - mday: yeardays[mmon] - mday; 
	  while(mmon < 11)  { mmon++; canonDate -= isLeapYear(myr) ? leapdays[mmon]: yeardays[mmon];} 
	  while(myr < 1999){ myr++; canonDate -= isLeapYear(myr) ? 366: 365;} 
	} 
 return canonDate; 
} 

function dateDiff(firstDate, secondDate) 
{ 
  var days= ( canonicalDate(secondDate.getDate(), secondDate.getMonth(), secondDate.getFullYear()) -  
				  canonicalDate(firstDate.getDate(), firstDate.getMonth(), firstDate.getFullYear())); 
  return days; 
} 

function shiftArray(myArray) 
{ 
  if(-1 != navigator.appVersion.indexOf("MSIE")) 		{ 
	 var myVal = myArray[0];
	 for(i=0; i<(myArray.length -1); i++)
		{ myArray[i] = myArray[i+1];}
	 myArray.length = myArray.length -1; 
	 return myVal; 		} 
	 else return myArray.shift(); 
} 

function isHoliday(year,mon,mday)
{ 
  var dStr = mday + " " + mon + " " + year; 
  if(holidays[dStr]) { return true; } 
  return false; 
} 

function isWeekend( year, mon, mday) 
{ 
  var mDate = new Date(mday + " " + mon + " " + year); 
  return ( ( 0 == mDate.getDay())  ||  ( 6 == mDate.getDay()  )); 
} 

function calculateWorkDays( startDate, endDate) 
{ 
  var myEndDate = canonicalDate(endDate.getDate(), endDate.getMonth(), endDate.getFullYear()); 
  var counter = 0; 
  var mDay = startDate.getDate(); 
  var mMonth = startDate.getMonth(); 
  var mYear  = startDate.getFullYear(); 
  while  (canonicalDate(mDay, mMonth, mYear) <= myEndDate)
    { 
		if(! ( isHoliday(mYear,months[mMonth],mDay) ||	 isWeekend(mYear,months[mMonth],mDay)) ) 
		{ counter++; } 
      var omDay = mDay;
      var omMonth = mMonth; 
      var omYear = mYear; 
      mDay = isLeapYear(mYear) ? 
		  ((mDay >= leapdays[mMonth]) ? 1 : mDay+1):
		  ((mDay >= yeardays[mMonth]) ? 1 : mDay+1);
      mMonth = (mDay == 1) ?  (mMonth +1) % 12: mMonth; 
      mYear = ( (mDay == 1) && (mMonth == 0)) ? mYear + 1: mYear;
    }
  return counter; 
} 

function writeCalendar(target, myYear, myMonth, sday, eday)
{ 
  var calDate = new Date( myYear,  myMonth, 1, 0,0,0,0 ); 
  var mDays = isLeapYear(myYear) ? leapdays[myMonth]: yeardays[myMonth]; 
  var i = 0; 
  var wkDay = calDate.getDay(); 
  var dateBgAtt = ""; 
  var dateFontTag = "";
  var fontCloseTag = ""; 
  var boldTag = "";
  var unBoldTag = ""; 
  var useBold = arguments.length >= 5 ? true: false; 
  target.write("<CENTER>\n<TABLE BORDER='0' CELLPADDING='1' CELLSPACING='0' WIDTH=\"100%\">\n");
  target.write("<TR BGCOLOR=\"", calHdrBGColor,  "\">");
  target.write("<TD COLSPAN='5'><FONT face=\"Verdana, Arial, helvetica\" size=\"1\" COLOR=\"", calHdrFGColor,  "\"><STRONG>",longmonths[myMonth],
					"</STRONG></FONT></TD>","<TD COLSPAN='2' ALIGN='right'><FONT face=\"Verdana, Arial, helvetica\" size=\"1\" COLOR=\"", calHdrFGColor,  "\"><STRONG>", 	
					myYear, "</STRONG></FONT></TD></TR>\n"); 

  target.write("<TR BGCOLOR=\"", dowBGColor, "\" ALIGN='center'>"); 
  for(i=0; i< 7; i++) 
	 { target.write("<TD><FONT face=\"Verdana, Arial, helvetica\" size=\"1\" COLOR=\"#000000\">", dow[((i+calStartDOW)%7)], "</FONT></TD>");}
  target.write("</TR>\n");

  target.write("<TR ALIGN='center'>"); 
  for(i=0 ; i < ((7 - calStartDOW + wkDay)%7); i++) 
	 { target.write("<TD BGCOLOR=#F9F9F2><FONT face=\"Verdana, Arial, helvetica\" size=\"1\" COLOR=\"#F9F9F2\">.</font></TD>");	 }
  var cmdate = i - ((7 - calStartDOW + wkDay)%7); 
  var todaysdate = myDate.getDate(); 
  for( i=i; cmdate < mDays ; i++) 
	 {  
		// what is the date ? 
		cmdate++; 
		if(0 == (i%7)){ target.write("</TR>\n<TR ALIGN='center'>"); } 
		if( (isHoliday(calDate.getFullYear(),months[calDate.getMonth()],cmdate))
		    || (isWeekend(calDate.getFullYear(),months[calDate.getMonth()],cmdate)) )
		  { 	 
			 dateBgAtt = "BGCOLOR=#F9F9F2"; 
			 dateFontTag = "<FONT face=\"Verdana, Arial, helvetica\" size=\"1\" COLOR=\"#6B6342\">";
			 fontCloseTag = "</FONT>"; 		  }
		else  
		  {	 dateBgAtt = "BGCOLOR=#F9F9F2"; 
			 dateFontTag = "<FONT face=\"Verdana, Arial, helvetica\" size=\"1\" COLOR=\"#6B6342\">";
			 fontCloseTag = "</FONT>";   		  } 

		if( ( useBold )  && (cmdate >= sday) && (cmdate <= eday))
		  { 	boldTag = "<strong><i>"; 
  			 	dateFontTag = "<FONT face=\"Verdana, Arial, helvetica\" size=\"1\" COLOR=\"#00639C\">";
		 		dateBgAtt = "BGCOLOR=#E6FBFF"; 
				unBoldTag = "</strong>"; 
				fontCloseTag = "</FONT></i>";		} 
		else  { 
			 boldTag = ""; 
			 unBoldTag = "";   } 

		if ( ((cmdate < todaysdate) && (myMonth <= myDate.getMonth()) && (myYear <= myDate.getYear())) || (myMonth < myDate.getMonth()) && (myYear <= myDate.getYear()) )
			{	boldTag = "<strike>";
				unBoldTag = "</strike>";}
		else
			{	dateFontTag = "<FONT face=\"Verdana, Arial, helvetica\" size=\"1\" COLOR=\"#000000\">";}
			
		if (  (cmdate == todaysdate) && (myMonth == myDate.getMonth())   )
			{	dateFontTag = "<FONT face=\"Verdana, Arial, helvetica\" size=\"1\" COLOR=\"#FFFFFF\">";
				 fontCloseTag = "</FONT>";
				dateBgAtt = "BGCOLOR=#2F2F2F";  }

		cmdatep = cmdate;
		for (xx=1; xx <= examDate_end; xx++){
			webthis_month = examDate[xx].substring(0,3);
			webthis_day = examDate[xx].substring(4,6);
			mm2 = longmonths[myMonth].substring(0,3);

			if ((webthis_day == cmdate) && (webthis_month == mm2))
			{	if (  (cmdate == todaysdate) && (myMonth == myDate.getMonth())   )
					{cmdatep = "<A HREF ='' onClick='return false' onmouseover=\"popup('"+ examLine[xx] +"', 'f6f0f6'); \" onmouseout=kill()><FONT COLOR=\"#FFFFFF\">" + cmdate+ "</font></a>";}
				else
					{cmdatep = "<A HREF ='' onClick='return false' onmouseover=\"popup('"+ examLine[xx] +"', 'f6f0f6'); \" onmouseout=kill()><FONT COLOR=\"#990000\">" + cmdate+ "</font></a>";}
  			 	dateFontTag = "<FONT face=\"Verdana, Arial, helvetica\" size=\"1\" COLOR=\"#00639C\">";
  			 	boldTag = "";
			 	unBoldTag = "";
			 	fontCloseTag = "</FONT>";
			}
		}
				
							
		target.write("<TD ", dateBgAtt, " >", dateFontTag, boldTag, cmdatep, unBoldTag, fontCloseTag, "</TD>");
	 }
  while(0 != (i%7)) { 	target.write("<TD BGCOLOR=#F9F9F2><FONT face=\"Verdana, Arial, helvetica\" size=\"1\" COLOR=\"#F9F9F2\">.</font></TD>"); i++; }
  target.write("</TR>"); 
  target.write("</TABLE></CENTER>\n"); 
} 

function drawCalendar( ourTarget, ourYear, ourMonth, startDay, endDay)
{
  var myMonth = myDate.getMonth(); 
  var myYear  = myDate.getFullYear(); 
  var target = document; 
  if(arguments.length >= 1) { target = ourTarget; }
  if(arguments.length >= 2) { myYear = ourYear; } 
  if(arguments.length >= 3) { myMonth = ourMonth; } 
	 { writeCalendar(target, myYear, myMonth, startDay, endDay); }
} 
function getURLArgs(caseBool) 
{ 
  var casefree = ( (true == caseBool) || (caseBool >= 1)) ? true: false; 
  var args  = new Object(); 
  var query = location.search.substring(1); 
  var pairs = query.split("&"); 
  for(var i = 0; i< pairs.length; i++) 
	 { 
		pairs[i]= unescape(pairs[i]); 
		var pos=pairs[i].indexOf('='); 
		if(-1 == pos) continue; 
		var argname; 
		if(true != casefree) { argname = pairs[i].substring(0,pos); } 
		else { argname = pairs[i].substring(0,pos).toLowerCase(); } 
		var value = pairs[i].substring(pos+1); 
		args[argname] = value; 
	 } 
  return args; 
} 
function newCalendars(myear, mmonth)
{ 
  var myMonth = thisMonth; 
  var myYear  = thisYear; 
  if(arguments.length == 2) { myMonth = mmonth; myYear == myear; } 
  var lastMonth = (myMonth + 11) % 12; 
  var lmYear    = (myMonth == 0)? myYear -1: myYear; 
  var nextMonth = (myMonth +1)%12; 
  var nmYear    = (myMonth == 11)? myYear + 1: myYear;
  document.write("<TABLE BORDER='0' CELLPADDING='1' CELLSPACING='0' WIDTH=\"100%\"><TR VALIGN=\"TOP\"><TD>");
  var isThisMonth = ((lastMonth == myDate.getMonth())&& (lmYear==myDate.getFullYear())); 

  ///////////////////////////////////////////////////////////////////////////
  // WRITE CALENDAR #2
  //////////////////////////////////////////////////////////////////////////////
  drawCalendar(document, myYear, myMonth, 
					(isThisMonth? myDate.getDate():0), 
					(isThisMonth? myDate.getDate():0)); 
  document.write("<hr noshade size=\"1\" color=\"#CCCC99\">");
  ///////////////////////////////////////////////////////////////////////////
  // WRITE CALENDAR #3
  //////////////////////////////////////////////////////////////////////////////
  isThisMonth = ((nextMonth == myDate.getMonth())&& (nmYear==myDate.getFullYear())); 
  drawCalendar(document, nmYear, nextMonth,
					(isThisMonth ? myDate.getDate():0), 
					(isThisMonth ? myDate.getDate():0)); 
  document.write("</TD></TR></TABLE>\n");
} 
//  End -->