// The function getXMLHttpRequest is contained in the xmlhttp-objects.jsp page // This is included by the gaz_search_inc.jsp page. var xmlHttpRequest = getXMLHttpRequest(); var loadingImageHotelsURI = "/images/routes/ajax-loader-white.gif"; var poiSearchItemCount=0; function populateHotelsBarGaz() { if($("#dbEurope").is(':checked') || $("#dbIreland").is(':checked')) { //No hotels lookup for Europe/Ireland $("#internalAdvert").show(); $("#nearbyHotels").html("") return; } var confirmPlace = document.getElementById("confirmPlace"); var gazLocString = escape(confirmPlace.value); populateHotelsBarByDestination('','',"overlayMapMessage",gazLocString); } //called by getplace function populateHotelsBarByDestination(lat,lon,poiMsgID,gazLocString) { //poiType 102 and poiType 104=bandb var nearbyHotelsElement = $('#nearbyHotels'); var padding = 14; var margin = 20; var hotelBarWidth = nearbyHotelsElement.outerWidth(true) - padding - margin; var maxHotelsToDisplay = Math.floor( hotelBarWidth/213 ); //nearbyHotelsElement.html($("
Updating hotels...
")); var baseRequest = '/aaservlet/poi-search'; var baseParameters = 'poitype=118&lat=' + lat + '&long=' + lon + '&maxresults=25'; if(lat==''&&lon==''&&gazLocString!='') { baseParameters = 'poitype=118&gazLocation=' + gazLocString + '&maxresults=' + maxHotelsToDisplay; } var bolMarkersOnMap=true; if(gazLocString!='') { //initial route request bolMarkersOnMap=false; } $.ajax({ url:baseRequest, type: "get", data: baseParameters, dataType: "json", error: function(xhr, desc, exceptionobj) { //error getting hotels nearbyHotelsElement.html(""); }, success:function(json) { populateHotelsBarFromJson(json,bolMarkersOnMap,poiMsgID,gazLocString); //markers already on map } //end success }); //end ajax }//end function function populateHotelsBarFromJson(json,bolMarkersOnMap,poiMsgID,gazLocString) { var nearbyHotelsElement = $('#nearbyHotels'); var padding = 14; var margin = 20; var hotelBarWidth = nearbyHotelsElement.outerWidth(true) - padding - margin; var maxHotelsToDisplay = Math.floor( hotelBarWidth/213); var strHTMLOutput='
' if(bolMarkersOnMap) { strHTMLOutput+='

AA Hotels & B&Bs nearby

'; } else { strHTMLOutput+='

AA Hotels & B&Bs near your destination

'; } if(!bolMarkersOnMap&&gazLocString!='') { var arrGazString=gazLocString.split("%7C"); var placeArr=arrGazString[1].split("%2C"); var placeName=unescape(placeArr[0]); var tmpEastings=arrGazString[3]; var tmpNorthings=arrGazString[4]; //link to hotel search //strHTMLOutput+='

Show more AA Hotels & B&Bs in ' + placeName + '

'; //display icons on map strHTMLOutput+='

Show more AA Hotels & B&Bs in ' + placeName + '

'; } strHTMLOutput+='
' +'
'; var hotelCount=0; //now we have an array of hotels $.each(json.summaries, function(i,poiItem) { var strName=poiItem.name; var strlongitude=poiItem.longitude; var strSummary=poiItem.summary; var isRedStars=poiItem.isRedStars; var imageUrl=isEmpty(poiItem.imageUrl); var poiTypeID=poiItem.poiType; var strpercent=isEmpty(poiItem.percent); var strcategory=isEmpty(poiItem.category); var strlatitude=poiItem.latitude; var strqualityRating=isEmpty(poiItem.qualityRating); var strpriceFrom=isEmpty(poiItem.priceFrom); var strShortName=strName; if (strShortName.length>20) { strShortName=strShortName.substring(0,19) + '...'; } var strPOIid=poiItem.id; var starImage="star_" + strqualityRating + ".gif"; if(isRedStars) { starImage="redstar_" + strqualityRating + ".gif"; } var tmpStrPOIType=getPOITypeFromID(poiTypeID); strHTMLOutput+='
'; strHTMLOutput+='
'; strHTMLOutput+='

' + strShortName + '

'; strHTMLOutput+='

'; if(!isNaN(strqualityRating)&&strqualityRating!='') { strHTMLOutput+='' + strqualityRating + ' star'; } if(parseInt(strpriceFrom,10)>0) { strHTMLOutput+=" from £" + strpriceFrom; } strHTMLOutput+='
' + strcategory + '

'; strHTMLOutput+='
'; strHTMLOutput+='
'; //no images if(imageUrl!='') { strHTMLOutput+='' + strName + ''; } strHTMLOutput+='
'; strHTMLOutput+='
'; hotelCount++; if(i==(maxHotelsToDisplay-1)) { return false; } hotelCount++; }); //end each strHTMLOutput+='
'; //clear loading hidePOIMsg("#overlayMapMessage") //update page if(hotelCount>0) { $("#internalAdvert").hide(); nearbyHotelsElement.html(strHTMLOutput); } else{ $("#internalAdvert").show(); nearbyHotelsElement.html("") }; }