function pageInit() {
	setDays('Out');
	setDays('Ret');
}

function validResorts () {
	var form = document.FSSform;
	var date = prepare_date(form.OutDay, form.OutMon, form.OutYear);
	var validCombos = "";
	
	for (var i = 1; i < pkgDatesArray.length; i= i+2) {
		if ((date >= pkgDatesArray[i].substr(0,6)) && ( date <= pkgDatesArray[i].substr(6,6)))
			validCombos += pkgDatesArray[i-1] ;
	}
	return validCombos;
}

function validAirports () {
	var form = document.FSSform;
	var date = prepare_date(form.OutDay, form.OutMon, form.OutYear);
	var validCombos = "";
	
	for (var i = 1; i < cfoDatesArray.length; i= i+2) {
		if ((date >= cfoDatesArray[i].substr(0,6)) && ( date <= cfoDatesArray[i].substr(6,6)))
			validCombos += cfoDatesArray[i-1] ;
	}
	return validCombos;
}

function filterDDB(ddb) {
	var valids = validResorts();
	if (ddb == ddb.form.PHGToCC) 
		valids = validAirports();
	var i = 0;
	while (i< ddb.options.length) {
			 var check;
		 if (ddb == ddb.form.PHGfrom) check = ddb.options[i].value;
		 else check  = getDropDownValue(ddb.form.PHGfrom) + ddb.options[i].value;
		if  (valids.indexOf(check) %6 != 0 ) ddb.options[i] = null;
		else i++;
	}
}

function pageStart() {
	var form = document.FSSform;
	var myCookie = new Cookie(document, "packsearch", null, "/");
	if (myCookie.load()) {
		if (myCookie.override == form.dfltCC.value+";"+form.dfltRes.value+";"+form.UniqueId.value) { 
			form.dfltCC.value = myCookie.dfltCC;
			form.dfltRes.value = myCookie.dfltRes;
			form.dfltDate.value = myCookie.dfltDate;
			form.dfltFrom.value = myCookie.dfltFrom;
		}
	}

		populateDDB(form.PHGfrom, '');
		setDropDown(form.PHGfrom, form.dfltFrom.value);
		if (typeof form.PHGToCC != "undefined") {
			populateDDB(form.PHGToCC, getDropDownValue(form.PHGfrom));
			if (form.dfltCC) {
				setDropDown (form.PHGToCC, form.dfltCC.value);
			}
			populateDDB(form.PHGToRes, getDropDownValue(form.PHGToCC));
			if (form.dfltRes) {
				setDropDown(form.PHGToRes, form.dfltRes.value);
			}
		}

	buildDateArrays(form.dateRangeStart.value.substr(0,2) + "0101", 
					form.dateRangeEnd.value.substr(0,2) + "1231",
			form.OutYear, form.OutMon, form.OutDay,
									form.dfltDate.value);
									changeDate(); 
}

function setDateValue(form){
 form.Dept_Date.value=prepare_date(form.OutDay, form.OutMon, form.OutYear);
}

function daterange (form) {
	var dateRng = form.dateRangeStart.value + form.dateRangeEnd.value;
	var route = getDropDownValue(form.PHGfrom) + getDropDownValue(form.PHGToRes);
	if (getDropDownValue(form.PHGToRes) == "")
		route = getDropDownValue(form.PHGfrom) + getDropDownValue(form.PHGToCC);

	for (var i = 0; i < pkgDatesArray.length; i = i + 2) {
		if (pkgDatesArray[i] == route) dateRng = pkgDatesArray[i+1];
	}

	if (dateRng.substr(0,6) < form.dateRangeStart.value)
		dateRng = form.dateRangeStart.value + dateRng.substr(6,6);
	if (dateRng.substr(6,6) > form.dateRangeEnd.value)
		dateRng = dateRng.substr(0,6) + form.dateRangeEnd.value;

	if (comp_daterange(form.OutDay, form.OutMon, form.OutYear, dateRng.substr(0,6), dateRng.substr(6,6)) == false){
		alert ('Departure Date is out of range for selected destination (' + strLongDate(dateRng.substr(0,6)) + '-' + strLongDate(dateRng.substr(6,6)) + '). Please reselect');
		return false;
	} else {
		return true;
	}
}

function formSubmit() {
	var form = document.FSSform;
	if (!daterange(form)) return;
	if (getDropDownValue(form.PHGfrom) == "000") {
		alert("Please select which airport you would like to fly from");
		return;
	}
	var myCookie = new Cookie(document, "packsearch", null, "/");
	myCookie.dfltFrom = getDropDownValue(form.PHGfrom);
	myCookie.dfltToCC = getDropDownValue(form.PHGToCC);
	myCookie.dfltDate = getDropDownValue(form.OutYear)+getDropDownValue(form.OutMon)+getDropDownValue(form.OutDay);
	myCookie.override = form.dfltCC.value+";"+form.dfltRes.value +";"+form.UniqueId.value;
	myCookie.store();
	document.cookie = myCookie;
	setDateValue(form);
	form.arrDate.value=form.Dept_Date.value;
	if (form.HotelCode.value != "") form.option.value="TACLDPKGAC"
	else form.option.value="TINTEGAVLC";
	
	if (getDropDownValue(form.PHGToRes) == "001") 
		form.PHGToRes.options[form.PHGToRes.selectedIndex].value = ' ';
	form.submit();
}

function changeOrigin(form) {
	if (typeof form.PHGToCC != "undefined") {
		var curCC = getDropDownValue(form.PHGToCC);
		populateDDB(form.PHGToCC, getDropDownValue(form.PHGfrom));
		filterDDB(form.PHGToCC);
		setDropDown(form.PHGToCC, curCC);
		form.PHGToCC.onchange();
	}
}

function changeDate() {
	var form = document.FSSform;
	setDays('Out');
	var origin = getDropDownValue(form.PHGfrom);
	populateDDB(form.PHGfrom, '');
	filterDDB(form.PHGfrom);
	setDropDown(form.PHGfrom, origin);
	form.PHGfrom.onchange();
}

function changeDest(form) {
	var curRes = getDropDownValue(form.PHGToRes);
	populateDDB(form.PHGToRes, getDropDownValue(form.PHGToCC));
	filterDDB(form.PHGToRes);
	setDropDown(form.PHGToRes, curRes);
}
var PHGToCC000Array = new Array (
	"('Please Select', '000')"
);

var PHGToCCDUBArray = new Array (
	"('Please Select', '000')",
	"('Algarve','FAO')",
	"('Andorra Ski','AND')",
	"('Azores','AZO')",
	"('Bulgaria','BUL')",
	"('Bulgaria Ski','BUB')",
	"('Costa de la Luz','LUZ')",
	"('Costa del Sol','AGP')",
	"('Crete','CRE')",
	"('Croatia','CRO')",
	"('Cyprus','CYP')",
	"('Fuerteventura','FUE')",
	"('Gran Canaria','LPA')",
    "('Lake Garda','VRN')",
	"('Lanzarote','SPA')",
	"('Lapland','RVN')",
	"('Lisbon','LIS')",
	"('Livigno Ski','BGY')",
	"('Majorca','PMI')",
	"('Montenegro','CSG')",
	"('Malta','MLA')",
	"('Morocco','MOR')",
	"('Norway Ski','NOR')",
	"('Romania','ROM')",
	"('Salou','SAL')",
	"('Sardinia','SAR')",
	"('Sicily','SIC')",
	"('Sorrento','NAP')",
	"('Tenerife','TFS')",
	"('Tunisia','TUN')",
	"('Turkey','TUR')",	
	"('Tuscany','PSA')"	
);

var PHGToCCORKArray = new Array (
	"('Please Select', '000')",
	"('Bulgaria','BUL')",
	"('Croatia','CRO')",
	"('Fuerteventura','FUE')",
	"('Gran Canaria','LPA')",
	"('Lanzarote','SPA')",
	"('Majorca','PMI')",
	"('Montenegro','CSG')",
	"('Morocco','MOR')",
	"('Sorrento','NAP')",
	"('Turkey','TUR')"
);

var PHGToCCSNNArray = new Array (
	"('Please Select', '000')",
	"('Algarve','FAO')",
	"('Bulgaria','BUL')",
	"('Croatia','CRO')",
	"('Fuerteventura','FUE')",
	"('Gran Canaria','LPA')",
	"('Lanzarote','SPA')",
	"('Majorca','PMI')",
	"('Montenegro','CSG')",
	"('Morocco','MOR')",
	"('Sicily','SIC')",
	"('Turkey','TUR')"
);


var PHGToCCNOCArray = new Array (
	"('Please Select', '000')",
	"('Bulgaria','BUL')",
	"('Gran Canaria','LPA')",
	"('Lanzarote','SPA')",
	"('Majorca','PMI')"
);

var anyArray = new Array ("('Any','001')");

