// 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=''
+'';
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+='
';
strHTMLOutput+='
';
if(!isNaN(strqualityRating)&&strqualityRating!='')
{
strHTMLOutput+='
';
}
if(parseInt(strpriceFrom,10)>0)
{
strHTMLOutput+=" from £" + strpriceFrom;
}
strHTMLOutput+='
' + strcategory + '
';
strHTMLOutput+='
';
strHTMLOutput+='
';
//no images
if(imageUrl!='')
{
strHTMLOutput+='

';
}
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("")
};
}