<!-- Hide
var Calendar_IsActive = false;
var Calendar_FormFieldDate = null;
var Calendar_FormFieldDateDay = null;
var Calendar_FormFieldDateMonth = null;
var Calendar_FormFieldDateYear = null;
var Calendar_DayLength = 24*60*60*1000;
var Calendar_Columns = 7;
var Calendar_Rows = 6;
var Calendar_Cells = (Calendar_Columns * Calendar_Rows);
var Calendar_DateStart;
var Calendar_ReturnFunction;
var Calendar_DateCurrent;
var Calendar_MonthStart;


function OnSelectDateArrival()
	{
	var TheFormFindDateArrival;
	var TheFormFindDateArrivalDay;
	var TheFormFindDateArrivalMonthYear;
	TheFormFindDateArrival = document.getElementById("FormFindDateArrival");
	TheFormFindDateArrivalDay = document.getElementById("FormFindDateArrivalDay");
	TheFormFindDateArrivalMonth = document.getElementById("FormFindDateArrivalMonth");
	TheFormFindDateArrivalYear = document.getElementById("FormFindDateArrivalYear");
	TheFormFindDateArrival.value = TheFormFindDateArrivalDay.options[TheFormFindDateArrivalDay.selectedIndex].value + "/" + TheFormFindDateArrivalMonth.options[TheFormFindDateArrivalMonth.selectedIndex].value + "/" + TheFormFindDateArrivalYear.value;
	}

function OnSelectDateArrivalMonth()
	{
	var TheMonthYear;
	var TheMonth;
	var TheYear;
	TheMonthYear = TheField.options[TheField.selectedIndex].value;
	TheMonthYear = TheMonthYear.split("/");
	TheMonth = TheMonthYear[0];
	TheYear = TheMonthYear[1];
	}

function DOM_SetText(TheElement, TheText)
	{
	// Check for FireFox
	if (TheElement.textContent != undefined)
		{
		TheElement.textContent = TheText;
		}
	else
		TheElement.innerText = TheText;
	}

function Javascript_Today()
	{
	var TheToday = new Date();
	TheToday = new Date(TheToday.setHours(0));
	TheToday = new Date(TheToday.setMinutes(0));
	TheToday = new Date(TheToday.setSeconds(0));
	TheToday = new Date(TheToday.setHours(0));
	TheToday = new Date(TheToday.setMinutes(0));
	TheToday = new Date(TheToday.setSeconds(0));
	return(TheToday);
	}

function Javascript_PadLeft(TheValue, ThePad, TheLength)
	{
	TheValue = "" + TheValue;
	while (TheValue.length < TheLength)
		TheValue = ThePad + TheValue;
	return(TheValue);
	}

function DOM_SetHTML(TheElement, TheHTML)
	{
	TheElement.innerHTML = TheHTML;
	}

function Date_MonthName(TheMonth)
	{
	var TheMonthNames = ["", "January", "February", "March", "April", "May", "June", "July", "August", "Sepetember", "October", "November", "December"];
	return(TheMonthNames[TheMonth]);
	} 

function Date_DaysInMonth(TheMonth, TheYear)
	{
	var TheMonthDays = [0,31,28,31,30,31,30,31,31,30,31,30,31];
	var TheDays = 0;

	// Get the days
	TheDays = TheMonthDays[TheMonth];

	// Check for a Leap Year
	if (TheMonth == 2 && TheYear % 4 == 0)
		{
		if (TheYear % 100 != 0 || TheYear % 400 == 0)
			TheDays += 1;
		}
	return(TheDays);
	} 

function Calendar_Start_Safe(TheFormFieldDate)
	{
	TheTestDate = Calendar_FormFieldDate.value.split("/");
	} 

function Calendar_Start(TheCalendarOffsetY, TheDateStart, TheReturnFunction, TheFormFieldDate, TheFormFieldDateDay, TheFormFieldDateMonth, TheFormFieldDateYear)
	{
	if (!Calendar_IsActive)
		{
		var TheToday = Javascript_Today();
		var ThePanelCalendar;

		// Test the date for validity
		var TheDay, TheMonth, TheYear;
		var TheTestDate;
		var IsValid = false;

		// Get the field
		Calendar_DateStart = TheDateStart;
		Calendar_ReturnFunction = TheReturnFunction;
		Calendar_FormFieldDate = document.getElementById(TheFormFieldDate);
		Calendar_FormFieldDateDay = document.getElementById(TheFormFieldDateDay);
		Calendar_FormFieldDateMonth = document.getElementById(TheFormFieldDateMonth);
		Calendar_FormFieldDateYear = document.getElementById(TheFormFieldDateYear);
		TheTestDate = Calendar_FormFieldDateDay.options[Calendar_FormFieldDateDay.selectedIndex].value + "/" + Calendar_FormFieldDateMonth.options[Calendar_FormFieldDateMonth.selectedIndex].value + "/" + Calendar_FormFieldDateYear.options[Calendar_FormFieldDateYear.selectedIndex].value;
		TheTestDate = TheTestDate.split("/");
		TheDay = TheTestDate[0];
		TheMonth = TheTestDate[1];
		TheYear = TheTestDate[2];
		Calendar_DateCurrent = new Date(TheToday);
		Calendar_MonthStart = new Date(TheToday);
		if (!isNaN(TheDay) && !isNaN(TheMonth) && !isNaN(TheYear))
			{
			TheTestDate = new Date(TheYear, TheMonth - 1, TheDay, 0, 0, 0);
			IsValid = ((parseInt("1" + TheDay) - 100 == TheTestDate.getDate()) && (parseInt("1" + TheMonth) - 100 == TheTestDate.getMonth() + 1) && (parseInt(TheYear) == TheTestDate.getFullYear()))
			if (IsValid && TheTestDate >= TheToday)
				Calendar_MonthStart = TheTestDate;
			}

		// Draw the calendar
		Calendar_MonthStart = new Date(Calendar_MonthStart.setDate(1));
		Calendar_Clear();
		Calendar_Build();
		ThePanelCalendar = document.getElementById("PanelCalendar");
		ThePanelCalendar.style["display"] = "block";
		ThePanelCalendar.style.marginTop = TheCalendarOffsetY + "px";
		Calendar_IsActive = true;
		}
	}

function Calendar_Close(TheDateSelected)
	{
	var ThePanelCalendar;
	var TheTestDate;
	var TheDay, TheMonth, TheMonthName, TheYear;
	var TheCount;
 
	// Split the date
	TheTestDate = TheDateSelected.split("/");
	TheDay = TheTestDate[0];
	TheMonth = TheTestDate[1];
	TheYear = TheTestDate[2];
 
	// Set the day field
	for (TheCount = 0; TheCount < Calendar_FormFieldDateDay.options.length; TheCount++)
		{
		if (Calendar_FormFieldDateDay.options[TheCount].value == TheDay)
			{
			Calendar_FormFieldDateDay.selectedIndex = TheCount;
			TheCount = Calendar_FormFieldDateDay.options;
			}
		}
 
	// Set the month field
	for (TheCount = 0; TheCount < Calendar_FormFieldDateMonth.options.length; TheCount++)
		{
		if (Calendar_FormFieldDateMonth.options[TheCount].value == TheMonth)
			{
			TheMonthName = Date_MonthName(new Number(TheMonth)).substring(0, 3);
			Calendar_FormFieldDateMonth.selectedIndex = TheCount;
			TheCount = Calendar_FormFieldDateMonth.options.length;
			}
		}
 
	// Set the month field
	for (TheCount = 0; TheCount < Calendar_FormFieldDateYear.options.length; TheCount++)
		{
		if (Calendar_FormFieldDateYear.options[TheCount].value == TheYear)
			{
			Calendar_FormFieldDateYear.selectedIndex = TheCount;
			TheCount = Calendar_FormFieldDateYear.options.length;
			}
		}

	Calendar_FormFieldDate.value = TheDay + " " + TheMonthName + " " + TheYear;
	Calendar_FormFieldDate.value = TheDateSelected;
	ThePanelCalendar = document.getElementById("PanelCalendar");
	ThePanelCalendar.style["display"] = "none";
	Calendar_IsActive = false;
	Calendar_ReturnFunction();
	}

function Calendar_Clear()
	{
	var TheCount = 0;
	var TheCell;

	// Clear each cell
	for (TheCount = 0; TheCount < Calendar_Cells; TheCount++)
		{
		TheCell = document.getElementById("CalendarDate_" + TheCount);
		DOM_SetHTML(TheCell, " ");
		}
	}

function Calendar_Reset()
	{
	// Clear the calendar
	Calendar_Clear();
	
	// Set the date to today & this month
	Calendar_DateCurrent = new Date();
	Calendar_MonthStart = new Date(Calendar_DateCurrent.setDate(1));
	}

function Calendar_SetMonth(TheMonthAddition)
	{
	var TheToday = Javascript_Today();
	var TheMonth = 0;
	var TheYear = 0;

	// Get the month & year
	TheMonth = Calendar_MonthStart.getMonth() + 1;
	TheYear = Calendar_MonthStart.getFullYear();

	// Check if the calendar has reached this month
	//alert (TheMonth + ":" + (TheToday.getMonth() + 1)  + " " +  (TheYear  + ":" +  TheToday.getFullYear()));
	if (TheMonthAddition < 0 && TheMonth == (TheToday.getMonth() + 1) && (TheYear == TheToday.getFullYear()))
		{
		Calendar_MonthStart = TheToday;
		}
	else
		{
		Calendar_MonthStart = new Date(Calendar_MonthStart.setMonth(Calendar_MonthStart.getMonth() + TheMonthAddition));
		Calendar_Clear();
		Calendar_Build();
		}
	}

function Calendar_Build()
	{
	var TheDay = 0;
	var TheMonth = 0;
	var TheMonthName = "";
	var TheYear = 0;
	var TheDayMonthStart = 0;
	var TheDaysInMonth = 0;
	var TheCount = 0;
	var TheCell;
	var TheLink;
	var TheDate;

	// Get the month & year
	TheDay = Calendar_DateCurrent.getDate();
	TheMonth = Calendar_MonthStart.getMonth() + 1;
	TheYear = Calendar_MonthStart.getFullYear();

	// Show the month
	TheMonthName = Date_MonthName(TheMonth);
	TheCell = document.getElementById("Calendar_Month");
	DOM_SetText(TheCell, "" + TheMonthName);

	// Show the year
	TheCell = document.getElementById("Calendar_Year");
	DOM_SetText(TheCell, "" + TheYear);

	// Get the days in this month
	TheDayMonthStart = Calendar_MonthStart.getDay();
	TheDaysInMonth = Date_DaysInMonth(TheMonth, TheYear);

	// Clear each cell
	for (TheCount = 0; TheCount < TheDaysInMonth; TheCount++)
		{
		TheCell = document.getElementById("CalendarDate_" + (TheDayMonthStart + TheCount));
		TheDate = new Date(Calendar_MonthStart);
		TheDate = new Date(TheDate.setDate(TheCount + 1));
		if (TheDate < Calendar_DateStart)
			TheLink = "" + TheDate.getDate();
		else
			{
			TheDay = TheDate.getDate();
			TheMonth = TheDate.getMonth();
			TheYear = TheDate.getFullYear();
			TheLink = "<a href=\"javascript: Calendar_Close('" + Javascript_PadLeft(TheDay, "0", 2) + "/" + Javascript_PadLeft((TheMonth + 1), "0", 2) + "/" + TheYear + "');\">" + TheDate.getDate() + "</a>";
			}
		DOM_SetHTML(TheCell, TheLink);
		//if (Calendar_DateCurrent.getDate() == TheDay && Calendar_DateCurrent.getMonth() == TheMonth && Calendar_DateCurrent.getFullYear() == TheYear)
		//	TheCell.setAttribute("class", "CalendarDateCurrent");
		}
	}

// Rountine to check the validation of all fields in a form
var WindowValidation;
function onValidateCalendar(TheForm, TheFieldDateArrival, TheFieldDateDepature)
	{
	var TheField;
	var TheErrorCount = 0;
	var TheErrorMessage = "";
	if (!Valid_Date(TheFieldDateArrival))
		{
		TheErrorCount++;
		TheErrorMessage += TheErrorCount +") Please enter the arrival date.\n";
		}
	if (!Valid_Date(TheFieldDateDepature))
		{
		TheErrorCount++;
		TheErrorMessage += TheErrorCount +") Please enter the depature date.\n";
		}
	if (TheErrorCount == 0)
		{
		var TheDateToday;
		var TheDateArrival, TheDateDepature;
		var TheDay, TheMonth, TheYear;
		TheDateArrival = TheFieldDateArrival.value.split("/");
		TheDay = TheDateArrival[0];
		TheMonth = TheDateArrival[1];
		TheYear = TheDateArrival[2];
		TheDateArrival = new Date(TheYear, TheMonth - 1, TheDay, 0, 0, 0);
		TheDateDepature = TheFieldDateDepature.value.split("/");
		TheDay = TheDateDepature[0];
		TheMonth = TheDateDepature[1];
		TheYear = TheDateDepature[2];
		TheDateDepature = new Date(TheYear, TheMonth - 1, TheDay, 0, 0, 0);
		TheDateToday = new Date();
		TheDateToday = new Date(TheDateToday.getFullYear(), TheDateToday.getMonth(), TheDateToday.getDate(), 0, 0, 0);
		if (TheDateArrival < TheDateToday)
			{
			TheErrorCount++;
			TheErrorMessage += TheErrorCount +") Please enter an arrival date from at least today.\n";
			}
		if (TheDateDepature < TheDateArrival)
			{
			TheErrorCount++;
			TheErrorMessage += TheErrorCount +") Please enter a depature date after the arrival date.\n";
			}
		}
	if (TheErrorCount != 0)
		{
		TheErrorMessage = "Please correct these problem(s):\n\n" + TheErrorMessage;
		alert(TheErrorMessage);
		}
	return(TheErrorCount == 0);
	}

function trim(TheString)
	{
	var TheStringTemp = TheString.toString();
	
	if (TheStringTemp.length > 0)
		{
		// Left Trim
		while(TheStringTemp.indexOf(" ") == 0)
			TheStringTemp = TheStringTemp.substring(1, TheStringTemp.length);
		
		// Right Trim
		while(TheStringTemp.lastIndexOf(" ") == TheStringTemp.length - 1)
			TheStringTemp = TheStringTemp.substring(0, TheStringTemp.length - 1);
		}
	
	return (TheStringTemp);
	}

// Function to left pad a string with a character
function leftPad(TheString, TheFill, TheWidth)
	{
	var Count, ThePad = "";

	TheString = new String(TheString);
	for (Count = 0; Count < (TheWidth - TheString.length); Count++)
		ThePad += TheFill;
	TheString = ThePad + TheString;
	return(TheString);
	}

// Function to determine if a date is valid
function Valid_Date(TheField)
	{
	var TheDay, TheMonth, TheYear;
	var TestDate;
	var IsValid = false;
	TestDate = TheField.value.split("/");
	TheDay = TestDate[0];
	TheMonth = TestDate[1];
	TheYear = TestDate[2];
	if (!isNaN(TheDay) && !isNaN(TheMonth) && !isNaN(TheYear))
		{
		TestDate = new Date(TheYear, TheMonth - 1, TheDay, 0, 0, 0);
		IsValid = ((parseInt("1" + TheDay) - 100 == TestDate.getDate()) && (parseInt("1" + TheMonth) - 100 == TestDate.getMonth() + 1) && (parseInt(TheYear) == TestDate.getFullYear()))
		if (IsValid)
			{
			TheField.value = leftPad(TestDate.getDate(), "0", 2) + "/" + leftPad(TestDate.getMonth()+1, "0", 2) + "/" + TestDate.getFullYear();
			}
		}
	return (IsValid);
	}

// End hide -->
