//  SET ARRAYS
var day_of_week_en = new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
var day_of_week_fr = new Array('Dim','Lun','Mar','Mer','Jeu','Ven','Sam');
var month_of_year_en = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
var month_of_year_fr = new Array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre');
var randomImages = new Array(111)

function displayCalendar()
{
	
	//  DECLARE AND INITIALIZE VARIABLES
	var backColor = "#efefef";
	var highlightColor = "#669999";
	var randomImagesIndex = 0;
	
	var Calendar = new Date();
	
	Calendar.setDate(1);
	Calendar.setYear(calYear);
	Calendar.setMonth(calMonth);
	
	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)
	
	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
	
	Calendar.setDate(1);    // Start the calendar day at '1'
	Calendar.setMonth(month);    // Start the calendar month at now
	
	
	/* VARIABLES FOR FORMATTING
	NOTE: You can format the 'BORDER', 'BGCOLOR', 'CELLPADDING', 'BORDERCOLOR'
	      tags to customize your caledanr's look. */
	
	var TR_start = '<TR>';
	var TR_end = '</TR>';
	var TD_start = '<TD WIDTH="100" Height="100"><CENTER><font face="Verdana" size="2">';
	var TD_end = '</font></CENTER></TD>';
	
	/* BEGIN CODE FOR CALENDAR
	NOTE: You can format the 'BORDER', 'BGCOLOR', 'CELLPADDING', 'BORDERCOLOR'
	tags to customize your calendar's look.*/
	
	generateRandomNbr();
	
	cal =  '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 BORDERCOLOR=BBBBBB><TR><TD>';
	cal += '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=2>' + TR_start;
	cal += '<TD COLSPAN="' + DAYS_OF_WEEK + '" BGCOLOR=' + backColor + '>'
	cal += '<Table BORDER=0 CELLSPACING=0 CELLPADDING=0 width="100%"><tr><td>'
	cal += '<CENTER><B><font face="Verdana" size="2">';
	cal += month_of_year_en[month]  + '   ' + Calendar.getFullYear();
	cal += '</font></B></td><td><CENTER><B><font face="Verdana" size="2">';
	cal += month_of_year_fr[month]  + '   ' + Calendar.getFullYear();
	cal += '</font></B></td></tr></table>';
	cal += TD_end + TR_end;
	cal += TR_start;
	
	
	//   DO NOT EDIT BELOW THIS POINT  //

	// LOOPS FOR EACH DAY OF WEEK
	for(index=0; index < DAYS_OF_WEEK; index++)
	{
		if (index == 0 || index == 6 )
			{
			cal += getTD(20, backColor, "Center", "Top", 2);
			cal += '<Table BORDER=0 CELLSPACING=0 CELLPADDING=0 width="100%"><tr><td>'
			cal += '<CENTER><B><font face="Verdana" size="2">';
			cal += day_of_week_en[index];
			cal += '</font></B></td><td><CENTER><B><font face="Verdana" size="2">';
			cal += day_of_week_fr[index];
			cal += '</font></B></td></tr></table>';
			cal += '</font></CENTER></TD>';
			}
		else
			{
			cal += getTD(20, "", "Center", "Top", 2);
			cal += '<Table BORDER=0 CELLSPACING=0 CELLPADDING=0 width="100%"><tr><td>'
			cal += '<CENTER><B><font face="Verdana" size="2">';
			cal += day_of_week_en[index];
			cal += '</font></B></td><td><CENTER><B><font face="Verdana" size="2">';
			cal += day_of_week_fr[index];
			cal += '</font></B></td></tr></table>';
			cal += '</font></CENTER></TD>';
			}
	}

	cal += TD_end + TR_end;
	cal += TR_start;

	// FILL IN BLANK GAPS UNTIL TODAY'S DAY
	for(index=0; index < Calendar.getDay(); index++)
		{
		if (index == 0 || index == 6)
			cal += getTD(0,backColor, "Center", "Center", 2) +  /* randomImages[randomImagesIndex++] */ "&nbsp;" +   TD_end;
		else
			cal += getTD(0,backColor, "Center", "Center", 2 ) + /* randomImages[randomImagesIndex++] */ "&nbsp;" +  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();
  
  			if (week_day == 0 || week_day == 6)
		  	{
				//cal += TD_start + day + TD_end;
				cal += getTD(100,backColor, "Center", "Top", 2);
				cal += "<table width='100%'><tr>";
				cal += getTD(20,"", "Right", "Top", 2);
				cal += getHoliday(day) + day;
				cal += TD_end;
				cal += "</tr><tr>";
				cal += getTD("","", "Left", "Top", 1);
				cal += getEvents(day);
				cal += TD_end;
				cal += "</tr></table>";
				cal += TD_end;
			}
			else
			{
				if (getHoliday(day) != "")
					cal += getTD(100, highlightColor, "Center", "Top", 2);			
				else
					cal += getTD(100,"", "Center", "Top", 2);			
				cal += "<table width='100%'><tr>";
				cal += getTD(20,"", "Right", "Top",2 );
				cal += getHoliday(day) + day;			
				cal += TD_end;
				cal += "</tr><tr>";
				cal += getTD("","", "Left", "Top",1);
				cal += getEvents(day);
				cal += TD_end;
				cal += "</tr></table>";
				cal += TD_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

	// FILL IN BLANK GAPS UNTIL THE END
	for(index=week_day + 1; index <= 6; index++)
		{
		if (index == 0 || index == 6)
			cal += getTD(0,backColor, "Center", "Center", 2) +  /* randomImages[randomImagesIndex++] */ "&nbsp;"  + TD_end;
		else
			cal += getTD(0,backColor, "Center", "Center", 2) +  /* randomImages[randomImagesIndex++] */ "&nbsp;"  +  TD_end;			

		}

	cal += '</TD></TR></TABLE></TABLE>';

	//  PRINT CALENDAR
	document.write(cal);
}

function displayPrevious()
{
	var Calendar = new Date();
	var Str = " ";
	
	if (calYear > 0)
		{
		Calendar.setYear(calYear);
		Calendar.setMonth(calMonth);
		Calendar.setDate(1);
		
		if (calMonth == 0)
			{
			Calendar.setYear(calYear - 1);
			Calendar.setMonth(11);
			Calendar.setDate(1);
			}
		else
			{
			Calendar.setYear(calYear);
			Calendar.setMonth(calMonth - 1);
			Calendar.setDate(1);
			}

		if (calYear == 2005 && calMonth == 8)
			{
				// do nothing 
			}	
		else
			{
	 		Str = "<a title='Previous Month' style='text-decoration: none' href='CalEvents.asp?file=" + Calendar.getFullYear() + Right("00" + String(Calendar.getMonth()), 2) + "'><img border='0' src='images/btn_Prev.gif' width='15' height='15'></a>";
			}
		}
	document.write (Str);
}

function displayNext()
{
	var Calendar = new Date();
	var Str = " ";
	
	if (calYear > 0)
		{
		Calendar.setYear(calYear);
		Calendar.setMonth(calMonth);
		Calendar.setDate(1);
		
		if (calMonth == 11)
			{
			Calendar.setYear(calYear + 1);
			Calendar.setMonth(0);
			Calendar.setDate(1);
			}
		else
			{
			Calendar.setYear(calYear);
			Calendar.setMonth(calMonth + 1);
			Calendar.setDate(1);
			}

		if (calYear == 2011 && calMonth == 11)
			{
				// do nothing 
			}	
		else

			{
	 		Str = "<a title='Next Month' style='text-decoration: none' href='CalEvents.asp?file=" + Calendar.getFullYear() + Right("00" + String(Calendar.getMonth()), 2) + "'><img border='0' src='images/btn_Next.gif' width='15' height='15'></a>";
			}
		}
	document.write (Str);
}


function getTD ( height, bkColor, align, valign, fontSize )
{
	var TD = "";
	TD += "<td ";
	TD += " align=" + align;
	TD += " valign=" + valign;
	TD += " width=130";
	if (height >= 0)
		TD += " height=" + height;
	if (bkColor != "")
		TD += " bgcolor=" + bkColor;
	TD += ">";
	TD += "<font face='Verdana' size='" + fontSize + "'>";
	
	return (TD);
}

function getHoliday ( thisday )
{
	var retStr = ""
	for (i=0; i < holidayArray.length; i++)
	{
		if (thisday == holidayArray[i])
			retStr += "<b>" + holidayArray[i + 1] + "</b>  ";
	}
	
	return (retStr);
}


function getEvents ( thisday )
{
	var eventsArrow = "<img src='images/right-arrow.gif'>&nbsp;";
	var retStr = "";

	for (i=0; i < eventsArray.length; i++)
	{
		if (thisday == eventsArray[i])
			retStr += eventsArrow + eventsArray[i + 1] + "</br>";
	}
	
	return (retStr);
}

function generateRandomNbr() {
	temp = 0
	newnumber = 0

	for (i = 0; i < randomImages.length; i++) {
		randomImages[i] = "<img src='images/Photos/Random/" + (i + 1) + ".jpg'>" 
		}

	for (i = 0; i < randomImages.length; i++) {
		newnumber = (Math.random() * randomImages.length - 1) + 1
		newnumber = parseInt(newnumber, 10)
		temp = randomImages[i]
		randomImages[i] = randomImages[newnumber]
		randomImages[newnumber] = temp
	}
}

	//  End