var sortBy = 2; var byPrice = 4; var curr_default = 1; var hotelPerPage = 10; var dataLength = 1; var priceFromArray = new Array('2', '26', '51', '101', '201', '0'); var priceToArray = new Array('25', '50', '100', '200', '999999', '2'); var starRateArray = new Array('5', '4', '3', '2'); var priceTabArray = new Array(); var starTabArray = new Array(); var hotelArray = new Array(); var hotelFilterArray = new Array(); var hotelSortArray = new Array(); function selectSortBy(sortType) { location.href = sortType; } function clearVariable() { top.page = 1; top.alphabet = 'All'; top.price = 0; top.star = 0; top.area = 'All'; } function hotelList(url) { top.url = url; var xmlHttp; try { xmlHttp=new XMLHttpRequest(); } catch (e) { try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert("Your browser does not support AJAX!"); return false; } } } xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState==4) { if (xmlHttp.status < 400) { httext = xmlHttp.responseText; tempArray=xmlHttp.responseText.split("\n"); top.dataLength = tempArray.length; for (index = 0; index < top.dataLength; index++) { top.hotelArray[index] = tempArray[index].split("\t"); } for (index = 0; index < hotelArray[0].length; index++) { top.hotelArray[top.dataLength - 1][index] = CRates(2, top.hotelArray[8][index], top.hotelArray[7][index], 0); } tabPriceFilter(); tabStarFilter(); setTimeout("divideByPrice(0)", 0); setTimeout("divideByPrice(1)", 0); setTimeout("divideByPrice(2)", 0); setTimeout("divideByPrice(3)", 0); setTimeout("divideByPrice(4)", 0); setTimeout("divideByPrice(5)", 0); } } } xmlHttp.open("GET", url, true); xmlHttp.send(null); } function printStarRating(starRating) { var text = ''; for (i = 1; i <= Math.ceil(starRating); i++) { text += ''; } return text; } function printHead() { var text = ''; return text; } function printTitle() { var text = ''; return text; } function printTable(table, index) { var text = ''; text += ' '; text += eval('top.' + table + '[0][' + index + ']').substring(0, 30); if(eval('top.' + table + '[3][' + index + ']') == 1){ text += '      Popular'; } if(eval('top.' + table + '[4][' + index + ']') == 1){ text += '      Special Promotion'; } if(eval('top.' + table + '[5][' + index + ']') == 1){ text += '      Instant Confirmation'; } if(eval('top.' + table + '[6][' + index + ']') == 1){ text += '      New Hotel'; } //text += ''+CRates(getCurr(), eval('top.' + table + '[8][' + index + ']'), eval('top.' + table + '[7][' + index + ']'), 1); text += ' '; return text; } function tabPageNo(itemTotal, pageTotal, itemFrom, itemTo, inner) { if (itemTotal == 0) { itemFrom = 0; itemTo = 0; } var displayByPageNo = ''; /*displayByPageNo += '
'; displayByPageNo += ' Hotels in All Locations with Approx. Under Range (Under 25 USD)'; displayByPageNo += '
';*/ if(inner == 0){ txtRange = 'Hotels in ' + RangeName + ' with Approx. Under USD 25 Range'; } else if (inner == 1){ txtRange = 'Hotels in ' + RangeName + ' with Approx. USD 25 - USD 50 Range'; } else if (inner == 2){ txtRange = 'Hotels in ' + RangeName + ' with Approx. USD 51 - USD 100 Range'; } else if (inner == 3){ txtRange = 'Hotels in ' + RangeName + ' with Approx. USD 101 - USD 200 Range'; } else if ( inner == 4){ txtRange = 'Hotels in ' + RangeName + ' with Approx. Up USD 201 Range'; } else if (inner == 5){ txtRange = 'If you are interested in the rates for the below hotels, please send in your request.'; } displayByPageNo += '
' + txtRange + '
'; displayByPageNo += '
'; displayByPageNo += '
'; displayByPageNo += '
'; displayByPageNo += '  Found : ' + itemTotal + '  Hotels'; displayByPageNo += '
'; displayByPageNo += '
'; displayByPageNo += ' Display hotels   ' + itemFrom + ' - ' + itemTo + ' of ' + itemTotal; if (page != 1) { displayByPageNo += '   '; displayByPageNo += ' Previous'; } if (page != pageTotal && itemTotal != 0) { displayByPageNo += '   '; displayByPageNo += ' Next >'; } displayByPageNo += '   '; displayByPageNo += '
'; displayByPageNo += '
'; return displayByPageNo; } function divideByPageNo(page, inner) { top.page = page; var table = ''; var tab = ''; var type = 0; switch(sortBy) { case 2 : table = 'hotelFilterArray'; tab = tabPrice(); type = 1; break; } sortProcess(table, type); var hotelTotal = eval('top.' + table + '[0].length'); //alert(hotelTotal); var pageTotal = Math.ceil(hotelTotal / hotelPerPage); var pageMod = hotelTotal % hotelPerPage; var hotelFrom = (top.page - 1) * hotelPerPage; var hotelTo = hotelFrom + hotelPerPage; if (top.page == pageTotal && hotelTotal < hotelTo) { hotelTo = hotelFrom + pageMod; } //alert(hotelFrom); //alert(hotelTo); var displayHotelList = printHead() + tabPageNo(hotelTotal, pageTotal, hotelFrom + 1, hotelTo, inner) + printTitle(); displayHotelList += '
'; displayHotelList += '
'; if( inner == 0){ //prompt(displayHotelList,''); ListHotel0.innerHTML= /*tab + '
' +*/ displayHotelList /*+ tabPageNo(hotelTotal, pageTotal, hotelFrom + 1, hotelTo)*/; } else if ( inner == 1){ //prompt(displayHotelList,''); ListHotel1.innerHTML= displayHotelList; } else if ( inner == 2){ ListHotel2.innerHTML= displayHotelList; } else if ( inner == 3){ ListHotel3.innerHTML= displayHotelList; } else if ( inner == 4){ ListHotel4.innerHTML= displayHotelList; } else if ( inner == 5){ ListHotel5.innerHTML= displayHotelList; } if (sortBy == 2) { var objectName = deleteLastTab('price'); if (eval('document.getElementById("' + objectName + '")') != null) { eval(objectName + '.style.display=\'none\''); } } else if (sortBy == 3) { var objectName = deleteLastTab('star'); if (eval('document.getElementById("' + objectName + '")') != null) { eval(objectName + '.style.display=\'none\''); } } } function deleteLastTab(table) { var lastTab = 0; for (index = 0; index < eval(table + 'TabArray.length'); index++) { if (eval(table + 'TabArray[index]') == 1) { lastTab = index; } } return table + lastTab; } function tabPriceFilter() { for (index = 0; index < priceFromArray.length; index++) { var priceFrom = priceFromArray[index]; var priceTo = priceToArray[index]; var isFound = 0; var subIndex = 0; while (subIndex < top.hotelArray[0].length && isFound == 0) { var hotelMinRate = top.hotelArray[top.dataLength - 1][subIndex]; if (hotelMinRate >= priceFrom && hotelMinRate < priceTo) { isFound = 1; } subIndex++; } priceTabArray[index] = isFound; } } function tabPrice() {/* var priceTitleArray = new Array('100-200 USD', '50-100 USD', '25-50 USD', 'Under 25 USD', '200 USD up'); var divideByPrice = '
'; for (index = 0; index < priceFromArray.length; index++) { if (priceTabArray[index] != 0) { if (top.price != index) { divideByPrice += ''; } divideByPrice += priceTitleArray[index]; if (top.price != index) { divideByPrice += ''; } divideByPrice += '  '; divideByPrice += '|  '; } } divideByPrice += '
'; return divideByPrice;*/ } function divideByPrice(price) { top.price = price; var priceFrom = priceFromArray[price]; var priceTo = priceToArray[price]; var hotelTotal = top.hotelArray[0].length; var hotelListArray = new Array(); var countIndex = 0; for (subIndex = 0; subIndex < top.dataLength; subIndex++) { hotelListArray[subIndex] = ''; } for (index = 0; index < hotelTotal; index++) { var hotelMinRate = top.hotelArray[top.dataLength - 1][index]; if (hotelMinRate >= priceFrom && hotelMinRate < priceTo) { for (subIndex = 0; subIndex < top.dataLength; subIndex++) { hotelListArray[subIndex] += top.hotelArray[subIndex][index] + '\t'; } countIndex++; } } for (subIndex = 0; subIndex < top.dataLength; subIndex++) { top.hotelFilterArray[subIndex] = hotelListArray[subIndex].split('\t'); top.hotelFilterArray[subIndex].length = countIndex; } if (countIndex != 0) { divideByPageNo(1, price); } else { price++; if (price < priceFromArray.length) { divideByPrice(price); } else { divideByPageNo(1, price); } } } function tabStarFilter() { for (index = 0; index < starRateArray.length; index++) { var starFrom = Math.floor(starRateArray[index]); var starTo = starFrom + 1; var isFound = 0; var subIndex = 0; while (subIndex < top.hotelArray[9].length && isFound == 0) { var hotelStar = top.hotelArray[9][subIndex]; if (hotelStar >= starFrom && hotelStar < starTo) { isFound = 1; } subIndex++; } starTabArray[index] = isFound; } } function sortProcess(table, type) { top.hotelSortArray[type] = new Array(); if (type == 0) { for (index = 0; index < eval(table + '[0].length'); index++) { top.hotelSortArray[0][index] = index + '@' + eval(table + '[0][' + index + ']'); } } else if (type == 1) { for (index = 0; index < eval(table + '[0].length'); index++) { top.hotelSortArray[1][index] = index + '@' + CRates(2, eval(table + '[8][' + index + ']'), eval(table + '[7][' + index + ']'), 0); } } else if (type == 2) { for (index = 0; index < eval(table + '[0].length'); index++) { top.hotelSortArray[2][index] = index + '@' + eval(table + '[9][' + index + ']'); } } switch (type) { case 0 : hotelSortArray[type].sort(sortByAlphabet); // Sort by Hotel name break; case 1 : hotelSortArray[type].sort(sortByNumber); // Sort by Price break; case 2 : hotelSortArray[type].sort(sortByNumber); // Sort by Star rating break; } for (index = 0; index < hotelSortArray[type].length; index++) { top.hotelSortArray[type][index] = top.hotelSortArray[type][index].substring(0, top.hotelSortArray[type][index].indexOf('@')); } } function sortByNumber(first, second) { first = parseFloat(first.substring(first.indexOf('@') + 1)); second = parseFloat(second.substring(second.indexOf('@') + 1)); return (first - second); } function sortByAlphabet(first, second) { first += ''; second += ''; first = first.substring(first.indexOf('@') + 1); second = second.substring(second.indexOf('@') + 1); return first>second?1:first