var omitformtags=["input", "textarea", "select"]
omitformtags=omitformtags.join("|")
function disableselect(e){
	if (omitformtags.indexOf(e.target.tagName.toLowerCase())==-1)
		return false
}

function reEnable(){return true}

if (typeof document.onselectstart!="undefined")
	document.onselectstart=new Function ("return false")
else{
	document.onmousedown=disableselect
	document.onmouseup=reEnable
}
	
function getMonthNo(month){
	if (month == "January")		return 0;
	else if (month == "February")	return 1;
	else if (month == "March")	return 2;					
	else if (month == "April")	return 3;
	else if (month == "May")	return 4;
	else if (month == "June")	return 5;
	else if (month == "July")	return 6;
	else if (month == "August")	return 7;
	else if (month == "September")	return 8;
	else if (month == "October")	return 9;
	else if (month == "November")	return 10;
	else if (month == "December")	return 11;				
}

function getDayOfWeek(year, month, day)	{
	var d=new Date(year, month, day)
	var weekday=new Array(7)
	weekday[0]="Sunday"
	weekday[1]="Monday"
	weekday[2]="Tuesday"
	weekday[3]="Wednesday"
	weekday[4]="Thursday"
	weekday[5]="Friday"
	weekday[6]="Saturday"
	return weekday[d.getDay()];
}
			
function getNextDay(currentDay){
	if (currentDay == "Sunday") return "Monday";
	else if (currentDay == "Monday") return "Tuesday";
	else if (currentDay == "Tuesday") return "Wednesday";
	else if (currentDay == "Wednesday") return "Thursday";
	else if (currentDay == "Thursday") return "Friday";
	else if (currentDay == "Friday") return "Saturday";
	else if (currentDay == "Saturday") return "Sunday";
	else return "NULL";	
}			
			
//THIS FUNCTION IS NOT STANDALONE IT REQUIRES BuildCalendar.js AND CalendarInfo.js	
//THIS FUNCTION ALSO DEPENDS ON CALENDAR.HTML's GLOBAL VARIABLES:
// CALENDAR_INDEX
// a_calendarInfo
function getDayOfTheWeekFromID(tableDataID){
	var da, mo, ye;
	if (tableDataID.substring(1,2) == "1")	{
		mo = a_calendarInfo[CALENDAR_INDEX][0];
		ye = a_calendarInfo[CALENDAR_INDEX][3];
	}else{
		mo = a_calendarInfo[CALENDAR_INDEX+1][0];
		ye = a_calendarInfo[CALENDAR_INDEX+1][3];
	}
	da = tableDataID.substring(3,tableDataID.length);
	mo = getMonthNo(mo);
	return (getDayOfWeek(ye, mo, da));	
}

function getArrayOfWeekdays(arrivalTableDataId, noNights)
{
	currentDay = getDayOfTheWeekFromID(arrivalTableDataId);
	var days = new Array();
	days[0] = currentDay;
	
	if (noNights > 1){
		for (var idx = 1; idx < noNights; idx++){
			days[idx] = getNextDay(currentDay);
			currentDay = getNextDay(currentDay);
		}
	}
	return days;
}//end getArrayOfWeekdays

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + '.' + cents);
}

function buildCalendars(Month, Year)
{
	var firstMonIndex = -1;
	var idx = 0;
	
	if (Year < "2006" || Year > "2011") 	return;
	
	for (var i=0; i < a_calendarInfo.length; i++){
		if (a_calendarInfo[i][3] == Year && a_calendarInfo[i][0] == Month){
				firstMonIndex = i;
				i = 100;
		}//end if
	}//end look for Year
	
	if (firstMonIndex == -1) return;
	else
		CALENDAR_INDEX = firstMonIndex;		
	
	//+--------------------------------------------+
	//|	Create controls for the table	       |
	//+--------------------------------------------+
	var myTableControls = '<table border="0" cellpadding=0 cellspacing=0 width="220" rules="none" height="28">';

	myTableControls += '<tr class="trdarkblue">';
	//Can not book the past
	if (firstMonIndex <= 1)
		myTableControls	+= '<th align="left" valign="center"><a href="javascript:redirect(\'' + a_calendarInfo[0][0] + '\',\'' + a_calendarInfo[0][3] + '\');" class="leftarrow"> </th>';
	else
		myTableControls	+= '<th align="left" valign="center"><a href="javascript:redirect(\'' + a_calendarInfo[firstMonIndex - 1][0] + '\',\'' + a_calendarInfo[firstMonIndex - 1][3] + '\');"  class="leftarrow"></a></th>';
	
	//Refresh
	myTableControls	+= '<th align="center" valign="center"><a href="javascript:ResetAll(true);" class="cleardates">  </a></th>';
	
	//Can not too far in the future
	if (firstMonIndex >= a_calendarInfo.length -3)
		myTableControls	+= '<th align="right" valign="center"><a href="javascript:redirect(\''+ a_calendarInfo[a_calendarInfo.length-2][0] + '\',\'' + a_calendarInfo[a_calendarInfo.length -2][3] + '\');"  class="rightarrow"><img border="0" src="Images/rightarrow.gif" width="78"></a></th>';
	else
		myTableControls	+= '<th align="right" valign="center"><a href="javascript:redirect(\''+ a_calendarInfo[firstMonIndex+1][0] + '\',\'' + a_calendarInfo[firstMonIndex+1][3] + '\');" class="rightarrow"></a></th>';
	myTableControls	+= '</tr>';
	myTableControls += '</table>';
	
	document.getElementById("CalendarControls").innerHTML = myTableControls;
	
	//+--------------------------------------------+
	//|	Create first table and headers	       |
	//+--------------------------------------------+
	var myTable = '<table border="1" style="border-collapse: collapse" bordercolor="black" width="220" max-height="200">';
	myTable += '<tr class="trjustblue"><th colspan="7"><span class="dates2" ><center>' + a_calendarInfo[firstMonIndex][4] + ' ' + a_calendarInfo[firstMonIndex][3] + '</center></span></th></tr>';
	myTable += '<tr class="trgrey">'
	myTable += '<th width="14%" align="CENTER"  class="ignore"><span class="smalltxtbold">Di.</span></th>';
	myTable += '<th width="14%" align="CENTER"  class="ignore"><span class="smalltxtbold">Lu.</span></th>';
	myTable += '<th width="14%" align="CENTER"  class="ignore"><span class="smalltxtbold">Ma.</span></th>';
	myTable += '<th width="14%" align="CENTER"  class="ignore"><span class="smalltxtbold">Mi.</span></th>';
	myTable += '<th width="14%" align="CENTER"  class="ignore"><span class="smalltxtbold">Je.</span></th>';
	myTable += '<th width="14%" align="CENTER"  class="ignore"><span class="smalltxtbold">Ve.</span></th>';
	myTable += '<th width="14%" align="CENTER"  class="ignore"><span class="smalltxtbold">Sa.</span></th>';
	myTable += '</tr>';
	
	var TotalNumDays = 0;
	
	//Meat of Calendar
	for (idx = 1; idx < 7; idx++)//Rows
	{		
		myTable += '<TR>';
		
		if (idx == 1)
		{	
			var start = 1;
			if (a_calendarInfo[firstMonIndex][2] == "Sun")	    start = 1;
			else if (a_calendarInfo[firstMonIndex][2] == "Mon") start = 2;
			else if (a_calendarInfo[firstMonIndex][2] == "Tue") start = 3;
			else if (a_calendarInfo[firstMonIndex][2] == "Wed") start = 4;
			else if (a_calendarInfo[firstMonIndex][2] == "Thu") start = 5;
			else if (a_calendarInfo[firstMonIndex][2] == "Fri") start = 6;
			else if (a_calendarInfo[firstMonIndex][2] == "Sat") start = 7;
			
			for (var i = 1; i < 8; i++)
			{
				if (i < start)
					myTable += '<td height="20" valign="top" align="right" class="ignore"></td>';
				else
				{
					TotalNumDays++;
					if (TotalNumDays < 10)
						myTable += '<td id="C1_0' + TotalNumDays + '" class="date" height="26" valign="top" align="right" onMouseOver="javascript:handleMouseOverTD(event);" onMouseOut="javascript:handleMouseOutTD(event);" style="cursor: pointer"><font size="-3" face="Verdana, Arial, Helvetica, sans-serif" class="date" id="C1_0' + TotalNumDays + '">' +  TotalNumDays + '</font></td>';
					else
						myTable += '<td id="C1_' + TotalNumDays + '" class="date" height="26" valign="top" align="right" onMouseOver="javascript:handleMouseOverTD(event);" onMouseOut="javascript:handleMouseOutTD(event);" style="cursor: pointer"><font size="-3" face="Verdana, Arial, Helvetica, sans-serif" class="date" id="C1_' + TotalNumDays + '">' +  TotalNumDays + '</font></td>';				
				}//end else
			}//end for
		}//end first row
		else
		{
			for (var idy = 1; idy < 8; idy++)
			{
				TotalNumDays++;
				if (TotalNumDays <= a_calendarInfo[firstMonIndex][1]){
					if (TotalNumDays < 10)
						myTable += '<td id="C1_0' + TotalNumDays + '" class="date" height="26" valign="top" align="right" bgcolor="WHITE" onMouseOver="javascript:handleMouseOverTD(event);" onMouseOut="javascript:handleMouseOutTD(event);" style="cursor: pointer"><font size="-3" class="date" id="C1_0' + TotalNumDays + '">' +  TotalNumDays + '</font></td>';
					else
						myTable += '<td id="C1_' + TotalNumDays + '" class="date" height="26" valign="top" align="right" bgcolor="WHITE" onMouseOver="javascript:handleMouseOverTD(event);" onMouseOut="javascript:handleMouseOutTD(event);" style="cursor: pointer"><font size="-3" class="date" id="C1_' + TotalNumDays + '">' +  TotalNumDays + '</font></td>';
				}//end if
				else 
				{
					myTable += '<td height="20" valign="top" align="right" class="ignore"></td>';
					idx = 10;
				}//end else
			}//end create numbers	
		}//end else
		
		if (TotalNumDays >= a_calendarInfo[firstMonIndex][1])
			idx = 9; // jump out of the loop
		
		myTable += '</TR>';	
	}//end create row
	
	myTable += '</table>';
	document.getElementById("Calendar1").innerHTML= myTable;

	//+--------------------------------------------+
	//|	Create the second table and headers    |
	//+--------------------------------------------+	
	firstMonIndex += 1;
	
	var myTable2 = '<table border="1" style="border-collapse: collapse" bordercolor="black" width="220" max-height="200">';
	myTable2 += '<tr class="trjustblue"><th colspan="7"><span class="dates2"><center>' + a_calendarInfo[firstMonIndex][4] + ' ' + a_calendarInfo[firstMonIndex][3] + '</center></span></th></tr>';
	myTable2 += '<tr class="trgrey">'

	myTable2 += '<th width="14%" align="CENTER" class="ignore"><span class="smalltxtbold">Di.</span></th>';
	myTable2 += '<th width="14%" align="CENTER" class="ignore"><span class="smalltxtbold">Lu.</span></th>';
	myTable2 += '<th width="14%" align="CENTER" class="ignore"><span class="smalltxtbold">Ma.</span></th>';
	myTable2 += '<th width="14%" align="CENTER" class="ignore"><span class="smalltxtbold">Me.</span></th>';
	myTable2 += '<th width="14%" align="CENTER" class="ignore"><span class="smalltxtbold">Je.</span></th>';
	myTable2 += '<th width="14%" align="CENTER" class="ignore"><span class="smalltxtbold">Ve.</span></th>';
	myTable2 += '<th width="14%" align="CENTER" class="ignore"><span class="smalltxtbold">Sa.</span></th>';

	myTable2 += '</tr>';
	
	var TotalNumDays2 = 0;
	
	//Meat of Calendar
	for (idx = 1; idx < 7; idx++)//Rows
	{		
		myTable2 += '<TR>';

		if (idx == 1)	{	
			var start2 = 1;
			if (a_calendarInfo[firstMonIndex][2] == "Sun")	start2 = 1;
			else if (a_calendarInfo[firstMonIndex][2] == "Mon") start2 = 2;
			else if (a_calendarInfo[firstMonIndex][2] == "Tue") start2 = 3;
			else if (a_calendarInfo[firstMonIndex][2] == "Wed") start2 = 4;
			else if (a_calendarInfo[firstMonIndex][2] == "Thu") start2 = 5;
			else if (a_calendarInfo[firstMonIndex][2] == "Fri") start2 = 6;
			else if (a_calendarInfo[firstMonIndex][2] == "Sat") start2 = 7;
			
			for (var i = 1; i < 8; i++)
			{
				if (i < start2)
					myTable2 += '<td height="20" valign="top" align="right" class="ignore"></td>';
				else
				{
					TotalNumDays2++;
					if (TotalNumDays2 < 10)
						myTable2 += '<td id="C2_0' + TotalNumDays2 + '" class="date" height="26" valign="top" align="right" onMouseOver="javascript:handleMouseOverTD(event);" onMouseOut="javascript:handleMouseOutTD(event);" style="cursor: pointer"><font size="-3" class="date" id="C2_0' + TotalNumDays2 + '">' +  TotalNumDays2 + '</font></td>';
					else
						myTable2 += '<td id="C2_' + TotalNumDays2 + '" class="date" height="26" valign="top" align="right" onMouseOver="javascript:handleMouseOverTD(event);" onMouseOut="javascript:handleMouseOutTD(event);" style="cursor: pointer"><font size="-3" class="date" id="C2_' + TotalNumDays2 + '">' +  TotalNumDays2 + '</font></td>';
				}//end else
			}//end for
		}//end first row
		else
		{
			for (var idy = 1; idy < 8; idy++)
			{
				TotalNumDays2++;
				if (TotalNumDays2 <= a_calendarInfo[firstMonIndex][1]){
					if (TotalNumDays2 < 10)
						myTable2 += '<td id="C2_0' + TotalNumDays2 + '" class="date" height="26" valign="top" align="right" onMouseOver="javascript:handleMouseOverTD(event);" onMouseOut="javascript:handleMouseOutTD(event);" style="cursor: pointer"><font size="-3" class="date" id="C2_0' + TotalNumDays2 + '">' +  TotalNumDays2 + '</font></td>';
					else
						myTable2 += '<td id="C2_' + TotalNumDays2 + '" class="date" height="26" valign="top" align="right" onMouseOver="javascript:handleMouseOverTD(event);" onMouseOut="javascript:handleMouseOutTD(event);" style="cursor: pointer"><font size="-3" class="date" id="C2_' + TotalNumDays2 + '">' +  TotalNumDays2 + '</font></td>';
				}//end if
				else
				{
					myTable2 += '<td height="20" valign="top" align="right" class="ignore"></td>';
					idx = 10;
				}//end else
			}//end create numbers	
		}//end else
		
	if (TotalNumDays2 >= a_calendarInfo[firstMonIndex][1])
		idx = 9; // jump out of the loop
		
		myTable2 += '</TR>';	
	}//end create row
	
	myTable2 += '</table>';
	document.getElementById("Calendar2").innerHTML= myTable2;
}

function handleMouseOverTD(Event){
	if (Event == null || Event.target == null){//IE
	 	if (event.srcElement.nodeName=="TD" && event.srcElement.className == "closed")
			!showPopup("Closed", "true");
		else if (event.srcElement.nodeName=="TD" && event.srcElement.className == "closedArr")
			!showPopup("ClosedA", "false");	
	}//end if
	else {//NN	
		if(Event.target.nodeName=="TD" && Event.target.className == "closed")
			!showPopup("Closed", "true");
		else if(Event.target.nodeName=="TD" && Event.target.className == "closedArr")
			!showPopup("ClosedA", "false");			
	}//end else
}

function handleMouseOutTD(Event){
	if (Event == null || Event.target == null){
	 	if (event.srcElement.nodeName=="TD" && (event.srcElement.className == "closed" || event.srcElement.className == "closedArr"))
			hideCurrentPopup();
	}else {
		if(Event.target.nodeName=="TD" && (Event.target.className == "closed" || Event.target.className == "closedArr"))
			hideCurrentPopup();
	}	
}

