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 +
"

" +
"
" +
"
";
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 = "";
}
}