// Script: Search panel selection and validation functions

function validateSearchForm (form) {
	var strArrDateMenuPrefix;
	var strDepDateMenuPrefix;
	var dtArr;
	var dtDep;

	// Base names of 3-menu date selection
	strArrDateMenuPrefix = 'arrDate';
	strDepDateMenuPrefix = 'depDate';

	// Date menus
	dtArr = form_getDateFromHTMLDateMenu(form, strArrDateMenuPrefix);
	dtDep = form_getDateFromHTMLDateMenu(form, strDepDateMenuPrefix);
	if (dtArr == null) {
		alert('Please select a valid arrival date.');
		frmSimpleSearch.arrDateDay.focus();
		return false;
	}
	if (dtDep == null) {
		alert('Please select a valid departure date.');
		frmSimpleSearch.depDateDay.focus();
		return false;
	}
	if (dtDep <= dtArr) {
		alert('Please select a departure date that is later than the arrival date.');
		frmSimpleSearch.depDateDay.focus();
		return false;
	}

	// Adult / child count
	if (frmSimpleSearch.adultCount1.options[frmSimpleSearch.adultCount1.selectedIndex].value == 0
		&& frmSimpleSearch.childCount1.options[frmSimpleSearch.childCount1.selectedIndex].value == 0) {
		alert('Please select one or more guests.');
		frmSimpleSearch.adultCount.focus();
		return false;
	}

	return true;
}

function onArrivalDateChange (select) {
	ensureDepDateValid();
}

function onDepartureDateChange (select) {
	return true;
}

function sdoToolTip () {
	return true;
}

function shideToolTip () {
	return true;
}

// Purpose: Sets departure date to valid date
function ensureDepDateValid () {
	var strArrDateMenuPrefix;
	var strDepDateMenuPrefix;
	var dtArr;
	var dtDep;
	var dtNewDep;
	var frmSearch;

	// Base names of 3-menu date selection
	strArrDateMenuPrefix = 'arrDate';
	strDepDateMenuPrefix = 'depDate';
	frmSearch = document.frmSimpleSearch;

	// Get dates from menus
	dtArr = form_getDateFromHTMLDateMenu(frmSearch, strArrDateMenuPrefix);
	dtDep = form_getDateFromHTMLDateMenu(frmSearch, strDepDateMenuPrefix);
	if (dtDep <= dtArr || dtDep == null) {
		// Departure date earlier or same as arrival so set 1 day ahead
		dtNewDep = new Date();
		dtNewDep.setYear(dtArr.getFullYear());
		dtNewDep.setMonth(dtArr.getMonth());
		dtNewDep.setDate(dtArr.getDate() + 1);
		form_setHTMLDateMenuDate(frmSearch, strDepDateMenuPrefix, dtNewDep);
	}
}

// Sets date menus to default dates
function initDateMenus () {
	var dtArrDate;
	var dtDepDate;

	dtArrDate = new Date(); // current date
	dtDepDate = new Date();
	dtDepDate.setYear(dtArrDate.getFullYear());
	dtDepDate.setMonth(dtArrDate.getMonth());
	dtDepDate.setDate(dtArrDate.getDate() + 1);
	form_setHTMLDateMenuDate(document.frmSimpleSearch, "arrDate", dtArrDate);
	form_setHTMLDateMenuDate(document.frmSimpleSearch, "depDate", dtDepDate);
}
