function keepDateOrder(isArr) { // preserve a logically valid period var arr = document.FormAdvSearch.Arr.value; var dep = document.FormAdvSearch.Dep.value; var dateArr = tBDateNew(arr); var dateDep = tBDateNew(dep); if (dateArr == false || dateDep == false) { return true } if (isArr && (dateArr >= dateDep)){ if (dateArr.valueOf() == tBDateSelectors["FormAdvSearchArr"].end.valueOf()){ dateArr = tBDecrementDate(dateArr); } dateDep = tBIncrementDate(dateArr); tBDateSelectors["FormAdvSearchDep"].update(tBDateToDMYStr(dateDep)); tBDateSelectors["FormAdvSearchArr"].update(tBDateToDMYStr(dateArr)); } if (!isArr && (dateArr >= dateDep)){ if (dateDep.valueOf() == tBDateSelectors["FormAdvSearchArr"].start.valueOf()){ dateDep = tBIncrementDate(dateDep); } dateArr = tBDecrementDate(dateDep); tBDateSelectors["FormAdvSearchArr"].update(tBDateToDMYStr(dateArr)); tBDateSelectors["FormAdvSearchDep"].update(tBDateToDMYStr(dateDep)); } return true; } function hightlightAdvSearchCategory(strID, boolOn){ var objRow = document.getElementById(strID); if (boolOn){ document.getElementById(strID).className = "tbRowSelected"; } else { document.getElementById(strID).className = "tbRow2"; } } function redirectNeeded(){ return location.href.indexOf("SearchResultsOnl.asp") == -1; } function refreshAdvancedSearchOptions(){ var tagID = "advSearchOptions"; if (document.getElementById(tagID).style.display != "none"){ var xmlHttp=GetXmlHttpObject(); if (xmlHttp == null){ alert ("Browser does not support HTTP Request"); return false; } document.getElementById(tagID).innerHTML = PleaseWait; var LocationGeoCodeID = document.getElementById("LocationGeoCodeID").value; var Arr = document.getElementById("tBDateSelectFormAdvSearchArr").value; var Dep = document.getElementById("tBDateSelectFormAdvSearchDep").value; var url="/Advs/ajaxRefreshAdvancedSearchOptions.asp"; url += "?sid=" + Math.random(); url += "&LocationGeoCodeID=" + LocationGeoCodeID; url += "&Arr=" + Arr; url += "&Dep=" + Dep; url += "&LangID=" + LangID; xmlHttp.onreadystatechange = function(){ if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ document.getElementById(tagID).innerHTML = xmlHttp.responseText; } } xmlHttp.open("GET",url,true); xmlHttp.send(null); } } function refreshCities(CountryID){ var xmlHttp=GetXmlHttpObject() if (xmlHttp == null){ alert ("Browser does not support HTTP Request"); return false; } var tagID = "divLocationGeoCodeID"; document.getElementById("LocationGeoCodeID").options.length = 1; document.getElementById("LocationGeoCodeID").options[0].value = 0; document.getElementById("LocationGeoCodeID").options[0].text = PleaseWait; var url="/Advs/ajaxRefreshCities.asp"; url += "?CountryID=" + CountryID; url += "&LangID=" + LangID; url += "&sid=" + Math.random(); xmlHttp.onreadystatechange = function(){ if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete"){ document.getElementById(tagID).innerHTML = xmlHttp.responseText; if (document.getElementById("advSearchOptions").style.display != "none"){ swapSearchPane(true); } resetSearchSettings(); } } xmlHttp.open("GET",url,true); xmlHttp.send(null); } function refreshClassifications(boolOn, strClassifications){ swapImage(boolOn, "Classification"); var tagID = "ClassificationPane"; if (boolOn){ var xmlHttp=GetXmlHttpObject(); if (xmlHttp == null){ alert ("Browser does not support HTTP Request"); return false; } document.getElementById(tagID).innerHTML = PleaseWait; var LocationGeoCodeID = document.getElementById("LocationGeoCodeID").value; var url="/Advs/ajaxRefreshClassifications.asp"; url += "?sid=" + Math.random(); url += "&LocationGeoCodeID=" + LocationGeoCodeID; url += "&Classifications=" + strClassifications; url += "&LangID=" + LangID; xmlHttp.onreadystatechange = function(){ if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ document.getElementById(tagID).innerHTML = xmlHttp.responseText; document.getElementById("aClassification").onclick = function(){ refreshClassifications(false, ''); return false; }; } } xmlHttp.open("GET",url,true); xmlHttp.send(null); } else { document.getElementById(tagID).innerHTML = ""; document.getElementById("aClassification").onclick = function(){ refreshClassifications(true, ''); return false; }; } } function refreshMaxDistance(boolOn, maxDistance){ swapImage(boolOn, "Distance"); var tagID = "DistancePane"; if (boolOn){ var xmlHttp=GetXmlHttpObject(); if (xmlHttp == null){ alert ("Browser does not support HTTP Request"); return false; } document.getElementById(tagID).innerHTML = PleaseWait; var LocationGeoCodeID = document.getElementById("LocationGeoCodeID").value; var url="/Advs/ajaxRefreshMaxDistance.asp"; url += "?sid=" + Math.random(); url += "&LocationGeoCodeID=" + LocationGeoCodeID; url += "&MaxDistance=" + maxDistance; url += "&LangID=" + LangID; xmlHttp.onreadystatechange = function(){ if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ document.getElementById(tagID).innerHTML = xmlHttp.responseText; document.getElementById("aDistance").onclick = function(){ refreshMaxDistance(false, ''); return false; }; } } xmlHttp.open("GET",url,true); xmlHttp.send(null); } else { document.getElementById(tagID).innerHTML = ""; document.getElementById("aDistance").onclick = function(){ refreshMaxDistance(true, ''); return false; }; } } function refreshFacilityGroup(boolOn, intFacilityGroupID, strFacilities){ swapImage(boolOn, "FG" + intFacilityGroupID); var tagID = "FacilityGroupPane" + intFacilityGroupID; if (boolOn){ var xmlHttp=GetXmlHttpObject(); if (xmlHttp == null){ alert ("Browser does not support HTTP Request"); return false; } document.getElementById(tagID).innerHTML = PleaseWait; var LocationGeoCodeID = document.getElementById("LocationGeoCodeID").value; var Arr = document.getElementById("tBDateSelectFormAdvSearchArr").value; var Dep = document.getElementById("tBDateSelectFormAdvSearchDep").value; var OrderBy = document.getElementById("OrderBy").value; var url="/Advs/ajaxRefreshFacilityGroups.asp"; url += "?sid=" + Math.random(); url += "&LocationGeoCodeID=" + LocationGeoCodeID; url += "&FacilityGroupID=" + intFacilityGroupID; url += "&Facilities=" + strFacilities; url += "&LangID=" + LangID; xmlHttp.onreadystatechange = function(){ if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ document.getElementById(tagID).innerHTML = xmlHttp.responseText; document.getElementById("aFacilityGroup" + intFacilityGroupID).onclick = function(){ refreshFacilityGroup(false, intFacilityGroupID, ''); return false; }; } } xmlHttp.open("GET",url,true); xmlHttp.send(null); } else { document.getElementById(tagID).innerHTML = ""; document.getElementById("aFacilityGroup" + intFacilityGroupID).onclick = function(){ refreshFacilityGroup(true, intFacilityGroupID, ''); return false; }; } } function refreshHotels(PageID, pOrderBy){ if (redirectNeeded()){ refreshPage(); return 0; } var xmlHttp=GetXmlHttpObject(); if (xmlHttp == null){ alert ("Browser does not support HTTP Request"); return false; } var tagID = "mainPane"; document.getElementById(tagID).innerHTML = "
" + "
" + PleaseWait + "
" + PleaseWait +" " + "
" + "
"; PageID = PageID != undefined ? PageID : 0; if (pOrderBy != undefined){ var obj = document.getElementById("OrderBy"); var maxI = obj.options.length; var i = 0; while (i < maxI && obj.options[i].value != pOrderBy){ i++; } obj.selectedIndex = i < maxI ? i : 0; } var LocationGeoCodeID = document.getElementById("LocationGeoCodeID").value; var CountryID = document.getElementById("CountryID").value; var Arr = document.getElementById("tBDateSelectFormAdvSearchArr").value; var Dep = document.getElementById("tBDateSelectFormAdvSearchDep").value; //var NrOfPersons = document.getElementById("NrOfPersons").value; var AvailableOnly = document.getElementById("AvailableOnly").checked ? 1 : 0; var OrderBy = document.getElementById("OrderBy").value; var ShowMap = document.getElementById("ShowMap").checked ? 1 : 0; var MaxDistance = ""; if (document.getElementById("MaxDistance")){ var objMaxDistance = document.getElementById("MaxDistance"); MaxDistance = objMaxDistance.options[objMaxDistance.selectedIndex].value; } var Buckets = ""; var Classifications = ""; var Districts = ""; var FacilityGroup1 = ""; var FacilityGroup2 = ""; var FacilityGroup3 = ""; var FacilityGroup4 = ""; for (var i = 0; i < document.getElementsByTagName("input").length; i++){ if ( document.getElementsByTagName("input")[i].type == "checkbox" && document.getElementsByTagName("input")[i].checked ){ if (document.getElementsByTagName("input")[i].name == "chkAdvBucket"){ var intID = document.getElementsByTagName("input")[i].id.substring(12); Buckets += "," + intID; } if (document.getElementsByTagName("input")[i].name == "chkAdvClass"){ var intID = document.getElementsByTagName("input")[i].id.substring(11); Classifications += "," + intID; } if (document.getElementsByTagName("input")[i].name == "chkAdvDistrict"){ var intID = document.getElementsByTagName("input")[i].id.substring(14); Districts += "," + intID; } if (document.getElementsByTagName("input")[i].name.indexOf("chkAdvFacilityGroup1_") != -1){ var intID = document.getElementsByTagName("input")[i].id.substring(21); FacilityGroup1 += "," + intID; } if (document.getElementsByTagName("input")[i].name.indexOf("chkAdvFacilityGroup2") != -1){ var intID = document.getElementsByTagName("input")[i].id.substring(21); FacilityGroup2 += "," + intID; } if (document.getElementsByTagName("input")[i].name.indexOf("chkAdvFacilityGroup3_") != -1){ var intID = document.getElementsByTagName("input")[i].id.substring(21); FacilityGroup3 += "," + intID; } if (document.getElementsByTagName("input")[i].name.indexOf("chkAdvFacilityGroup4_") != -1){ var intID = document.getElementsByTagName("input")[i].id.substring(21); FacilityGroup4 += "," + intID; } } } Buckets = Buckets.substring(1); Classifications = Classifications.substring(1); Districts = Districts.substring(1); FacilityGroup1 = FacilityGroup1.substring(1); FacilityGroup2 = FacilityGroup2.substring(1); FacilityGroup3 = FacilityGroup3.substring(1); FacilityGroup4 = FacilityGroup4.substring(1); var url="/Advs/ajaxRefreshHotelList.asp"; url += "?sid=" + Math.random(); url += "&LocationGeoCodeID=" + LocationGeoCodeID; url += "&CountryID=" + CountryID; url += "&Arr=" + Arr; url += "&Dep=" + Dep; url += "&AvailableOnly=" + AvailableOnly; url += "&OrderBy=" + OrderBy; url += "&ShowMap=" + ShowMap; url += "&Buckets=" + Buckets; url += "&Classifications=" + Classifications; url += "&Districts=" + Districts; url += "&MaxDistance=" + MaxDistance; url += "&FacilityGroup1=" + FacilityGroup1; url += "&FacilityGroup2=" + FacilityGroup2; url += "&FacilityGroup3=" + FacilityGroup3; url += "&FacilityGroup4=" + FacilityGroup4; url += "&PageID=" + PageID; url += "&LangID=" + LangID; xmlHttp.onreadystatechange = function(){ if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete"){ document.getElementById(tagID).innerHTML = xmlHttp.responseText; if (document.getElementById("ShowMap").checked){ hlInitMap(); } } } xmlHttp.open("GET",url,true); xmlHttp.send(null); } function refreshPage(){ if (document.getElementById("tBDateSelectFormAdvSearchArr").value == ""){ alert(AlertNoArr); return false; } if (document.getElementById("tBDateSelectFormAdvSearchDep").value == ""){ alert(AlertNoDep); return false; } var langTags = new Array(); langTags[1] = "/"; langTags[2] = "/fr/"; langTags[3] = "/de/"; langTags[4] = "/it/"; langTags[5] = "/es/"; langTags[6] = "/it/"; langTags[7] = "/tr/"; langTags[8] = "/hu/"; langTags[9] = "/nl/"; var LocationGeoCodeID = document.getElementById("LocationGeoCodeID").value; var CountryID = document.getElementById("CountryID").value; var Arr = document.getElementById("tBDateSelectFormAdvSearchArr").value; var Dep = document.getElementById("tBDateSelectFormAdvSearchDep").value; var AvailableOnly = document.getElementById("AvailableOnly").checked ? 1 : 0; var OrderBy = document.getElementById("OrderBy").value; var ShowMap = document.getElementById("ShowMap").checked ? 1 : 0; var MaxDistance = ""; if (document.getElementById("MaxDistance")){ var objMaxDistance = document.getElementById("MaxDistance"); MaxDistance = objMaxDistance.options[objMaxDistance.selectedIndex].value; } var Buckets = ""; var Classifications = ""; var Districts = ""; var FacilityGroup1 = ""; var FacilityGroup2 = ""; var FacilityGroup3 = ""; var FacilityGroup4 = ""; for (var i = 0; i < document.getElementsByTagName("input").length; i++){ if ( document.getElementsByTagName("input")[i].type == "checkbox" && document.getElementsByTagName("input")[i].checked ){ if (document.getElementsByTagName("input")[i].name == "chkAdvBucket"){ var intID = document.getElementsByTagName("input")[i].id.substring(12); Buckets += "," + intID; } if (document.getElementsByTagName("input")[i].name == "chkAdvClass"){ var intID = document.getElementsByTagName("input")[i].id.substring(11); Classifications += "," + intID; } if (document.getElementsByTagName("input")[i].name == "chkAdvDistrict"){ var intID = document.getElementsByTagName("input")[i].id.substring(14); Districts += "," + intID; } if (document.getElementsByTagName("input")[i].name.indexOf("chkAdvFacilityGroup1_") != -1){ var intID = document.getElementsByTagName("input")[i].id.substring(21); FacilityGroup1 += "," + intID; } if (document.getElementsByTagName("input")[i].name.indexOf("chkAdvFacilityGroup2") != -1){ var intID = document.getElementsByTagName("input")[i].id.substring(21); FacilityGroup2 += "," + intID; } if (document.getElementsByTagName("input")[i].name.indexOf("chkAdvFacilityGroup3_") != -1){ var intID = document.getElementsByTagName("input")[i].id.substring(21); FacilityGroup3 += "," + intID; } if (document.getElementsByTagName("input")[i].name.indexOf("chkAdvFacilityGroup4_") != -1){ var intID = document.getElementsByTagName("input")[i].id.substring(21); FacilityGroup4 += "," + intID; } } } Buckets = Buckets.substring(1); Classifications = Classifications.substring(1); Districts = Districts.substring(1); FacilityGroup1 = FacilityGroup1.substring(1); FacilityGroup2 = FacilityGroup2.substring(1); FacilityGroup3 = FacilityGroup3.substring(1); FacilityGroup4 = FacilityGroup4.substring(1); var url = langTags[LangID] + "SearchResultsOnl.asp"; url += "?sid=" + Math.random(); url += "&LocationGeoCodeID=" + LocationGeoCodeID; url += "&CountryID=" + CountryID; url += "&Arr=" + Arr; url += "&Dep=" + Dep; url += "&AvailableOnly=" + AvailableOnly; url += "&OrderBy=" + OrderBy; url += "&ShowMap=" + ShowMap; url += "&Buckets=" + Buckets; url += "&Classifications=" + Classifications; url += "&MaxDistance=" + MaxDistance; url += "&Districts=" + Districts; url += "&FacilityGroup1=" + FacilityGroup1; url += "&FacilityGroup2=" + FacilityGroup2; url += "&FacilityGroup3=" + FacilityGroup3; url += "&FacilityGroup4=" + FacilityGroup4; url += "&FormHotelSearchSubmit=" + "FormHotelSearchSubmit"; window.location = url; } function refreshPriceBuckets(boolOn, strBuckets){ swapImage(boolOn, "PriceCategory"); var tagID = "PriceBucketPane"; if (boolOn){ var xmlHttp=GetXmlHttpObject(); if (xmlHttp == null){ alert ("Browser does not support HTTP Request"); return false; } document.getElementById(tagID).innerHTML = PleaseWait; var LocationGeoCodeID = document.getElementById("LocationGeoCodeID").value; var Arr = document.getElementById("tBDateSelectFormAdvSearchArr").value; var Dep = document.getElementById("tBDateSelectFormAdvSearchDep").value; var url="/Advs/ajaxRefreshPriceBuckets.asp"; url += "?sid=" + Math.random(); url += "&LocationGeoCodeID=" + LocationGeoCodeID; url += "&Buckets=" + strBuckets; url += "&Arr=" + Arr; url += "&Dep=" + Dep; url += "&LangID=" + LangID; xmlHttp.onreadystatechange = function(){ if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ document.getElementById(tagID).innerHTML = xmlHttp.responseText; document.getElementById("aPriceCategory").onclick = function(){ refreshPriceBuckets(false, ''); return false; }; } } xmlHttp.open("GET",url,true); xmlHttp.send(null); } else { document.getElementById(tagID).innerHTML = ""; document.getElementById("aPriceCategory").onclick = function(){ refreshPriceBuckets(true, ''); return false; }; } } function resetSearchSettings(){ refreshClassifications(false, ''); refreshMaxDistance(false, ''); refreshDistricts(false, ''); refreshFacilityGroup(false, 1, ''); refreshFacilityGroup(false, 2, ''); refreshFacilityGroup(false, 3, ''); refreshFacilityGroup(false, 4, ''); refreshPriceBuckets(false, ''); if (redirectNeeded()){ if (document.getElementById("tBDateSelectFormAdvSearchArr").value != "" && document.getElementById("tBDateSelectFormAdvSearchDep").value != "") { refreshPage(); } } else if (document.getElementById("mainPane")){ document.getElementById("mainPane").innerHTML = PleaseWait; refreshHotels(0,document.getElementById("OrderBy").value); } } function swapImage(boolOn, strName){ objIMG = document.getElementById("img" + strName); if (boolOn){ // right >> down, show 'Search' if (objIMG.src.indexOf("-hi") == -1){ objIMG.src = "/images/blue-down-arrow.gif"; } else { objIMG.src = "/images/blue-down-arrow-hi.gif"; } } else { //down >> right, hide 'Search' if (objIMG.src.indexOf("-hi") == -1){ objIMG.src = "/images/blue-right-arrow.gif"; } else { objIMG.src = "/images/blue-right-arrow-hi.gif"; } } } function swapPageBarImage(intMode){ var obj = document.getElementById("imgOrderBy"); if (intMode == 1){ //blue to orange obj.src = obj.src.replace("blue", "orange"); } else if (intMode == 2){ //orange to blue obj.src = obj.src.replace("orange", "blue"); } return 1; } function highlightImage(BoolON, strName){ objIMG = document.getElementById("img" + strName); if (BoolON){ //highlight ON if (objIMG.src.indexOf("right") == -1){ objIMG.src = "/images/blue-down-arrow-hi.gif"; } else { objIMG.src = "/images/blue-right-arrow-hi.gif"; } } else { //highlight OFF if (objIMG.src.indexOf("right") == -1){ objIMG.src = "/images/blue-down-arrow.gif"; } else { objIMG.src = "/images/blue-right-arrow.gif"; } } } function swapSearchPane(boolOn){ if (boolOn){ //simpe to advanced document.getElementById("showAdvSearchLink").style.display = "none"; document.getElementById("advSearchOptions").style.display = "block"; document.getElementById("showSmpSearchLink").style.display = "block"; refreshAdvancedSearchOptions(); } else { //advanced to simpe document.getElementById("showAdvSearchLink").style.display = "block"; document.getElementById("advSearchOptions").style.display = "none"; document.getElementById("showSmpSearchLink").style.display = "none"; document.getElementById("advSearchOptions").innerHTML = ""; } }