if(typeof Hos=="undefined"){Hos={};}Hos.PromoMap={MAP_CANVAS_ID:"map_canvas",map:null,regionLat:54.313919,regionLong:-2.23218,zoom:12,_minZoom:5,_maxZoom:17,markersData:[],isParkMode:true,overlays:[],mapLoad:function(){if(GBrowserIsCompatible()){Hos.PromoMap.map=new GMap2(document.getElementById(this.MAP_CANVAS_ID));GEvent.addListener(Hos.PromoMap.map,"load",Hos.PromoMap.addLoadingReport);Hos.PromoMap.map.enableScrollWheelZoom();Hos.PromoMap.map.addControl(new GMapTypeControl());Hos.PromoMap.map.addControl(new GLargeMapControl());Hos.PromoMap.map.addControl(new GScaleControl());G_PHYSICAL_MAP.getMinimumResolution=function(){return Hos.PromoMap._minZoom;};G_NORMAL_MAP.getMinimumResolution=function(){return Hos.PromoMap._minZoom;};G_SATELLITE_MAP.getMinimumResolution=function(){return Hos.PromoMap._minZoom;};G_HYBRID_MAP.getMinimumResolution=function(){return Hos.PromoMap._minZoom;};G_PHYSICAL_MAP.getMaximumResolution=function(){return Hos.PromoMap._maxZoom;};G_NORMAL_MAP.getMaximumResolution=function(){return Hos.PromoMap._maxZoom;};G_SATELLITE_MAP.getMaximumResolution=function(){return Hos.PromoMap._maxZoom;};G_HYBRID_MAP.getMaximumResolution=function(){return Hos.PromoMap._maxZoom;};Hos.PromoMap.startingpoint=new GLatLng(54.313919,-2.23218);Hos.PromoMap.map.setCenter(Hos.PromoMap.startingpoint,parseInt(Hos.PromoMap.zoom));GEvent.addListener(Hos.PromoMap.map,"zoomend",Hos.PromoMap.mapOnZoomEnd);GEvent.addListener(Hos.PromoMap.map,"dragend",Hos.PromoMap.mapOnDragEnd);Hos.PromoMap.PlotPointOnMap();}},addLoadingReport:function(){var a="Loading Map...";var b=document.createElement("div");b.appendChild(document.createTextNode(a));b.setAttribute("id","mapLoading");b.style.position="relative";b.style.padding="2em";b.style.fontWeight="bold";b.style.fontSize="12px";b.style.color="#000";this.getContainer().insertBefore(b,this.getContainer().firstChild);},PlotPointOnMap:function(){Hos.PromoMap.startingpoint=new GLatLng(Hos.PromoMap.regionLat,Hos.PromoMap.regionLong);Hos.PromoMap.map.setCenter(Hos.PromoMap.startingpoint,parseInt(Hos.PromoMap.zoom));Hos.PromoMap.CallSuccess(Hos.PromoMap.markersData);},setmapcenter:function(){Hos.PromoMap.map.setCenter(Hos.MaxiMap.startingpoint,parseInt(Hos.PromoMap.zoom));},GetParkIcon:function(){var a=new GIcon();a.image=Hos.PromoMap.isParkMode?"../../Images/UKPark/GoogleMapIcons/Complex.png":"../../Images/Lodge/GoogleMapIcons/Complex.png";a.iconAnchor=new GPoint(11,47);a.infoWindowAnchor=new GPoint(16,0);a.iconSize=new GSize(64,53);return a;},GetParkClusterIcon:function(b){if(b>15){b=15;}var a=new GIcon();a.image=Hos.PromoMap.isParkMode?"../../Images/UKPark/GoogleMapIcons/ComplexCluster"+b+".png":"../../Images/Lodge/GoogleMapIcons/ComplexCluster"+b+".png";a.iconAnchor=new GPoint(11,47);a.infoWindowAnchor=new GPoint(16,0);a.iconSize=new GSize(64,53);return a;},createMarkerClickHandler:function(a,b){return function(){scrollTo(0,180);try{if(!a.overlayOn){Hos.PromoMap.map.addOverlay(a);a.overlayOn=true;Hos.PromoMap.map.setCenter(a.getLatLng(),Hos.PromoMap.viewOnMapZoom);}a.openInfoWindowHtml('<table id="balloon">            <tr>              <td>                <a id="balloonTitle" href="../UKPark/ProductDetailPage.aspx?ISDLNK=1&amp;SCODE='+b.siteCode+"&ISPKMD="+Hos.PromoMap.isParkMode+'                  ">'+b.name+'</a>                <br/>                <span id="weeklyPriceFrom">Prices from </span>                <span id="minPrice">'+b.minPrice+'</span>                <p id="introText">'+b.introText+'</p>              </td>              <td>                <a href="../UKPark/ProductDetailPage.aspx?ISDLNK=1&amp;SCODE='+b.siteCode+"&ISPKMD="+Hos.PromoMap.isParkMode+'                   "><img id="searchResultImage" src="'+b.image+'"></a>              </td>            </tr>            <tr >              <td>                <div id="viewComplex">                  <a href="../UKPark/ProductDetailPage.aspx?ISDLNK=1&amp;SCODE='+b.siteCode+"&ISPKMD="+Hos.PromoMap.isParkMode+'">Read more>></a>                </div>              </td>            </tr>          </table>');}catch(c){}return false;};},createClusterMarkerClickHandler:function(a){return function(){Hos.PromoMap.map.setCenter(a.getLatLng());Hos.PromoMap.map.zoomIn();return false;};},mapOnZoomEnd:function(b,a){Hos.PromoMap.zoom=a;Hos.PromoMap.drawOverlays();},mapOnDragEnd:function(){Hos.PromoMap.drawOverlays();},CallSuccess:function(b){if(!Hos.PromoMap.markersData){Hos.PromoMap.markersData=[];}for(var a=0;a<Hos.PromoMap.markersData.length;a++){var d=parseFloat(Hos.PromoMap.markersData[a].lat);var c=parseFloat(Hos.PromoMap.markersData[a].lng);Hos.PromoMap.markersData[a].marker=Hos.PromoMap.createMarker(Hos.PromoMap.markersData[a]);}Hos.PromoMap.drawOverlays();},drawOverlays:function(){for(var g=0;g<Hos.PromoMap.overlays.length;g++){Hos.PromoMap.overlays[g].overlayOn=false;Hos.PromoMap.map.removeOverlay(Hos.PromoMap.overlays[g]);}Hos.PromoMap.overlays=[];try{var l=0;var a=0;var f=Hos.PromoMap.map.getBounds();var c=f.getSouthWest();var d=f.getNorthEast();var o=Hos.PromoMap.map.getZoom();if(o==Hos.PromoMap._maxZoom){for(var g=0;g<Hos.PromoMap.markersData.length;g++){if(Hos.PromoMap.markersData[g].lng>c.lng()&&Hos.PromoMap.markersData[g].lng<d.lng()&&Hos.PromoMap.markersData[g].lat>c.lat()&&Hos.PromoMap.markersData[g].lat<d.lat()){Hos.PromoMap.drawSingleOverlay(Hos.PromoMap.markersData[g]);}}}else{var b=[[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}],[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]];var h=parseFloat(b[0].length);var e=parseFloat(b.length);for(var j=b.length-1;j>=0;j--){for(var m=0;m<b[j].length;m++){var n={latSW:0,lngSW:0,latNE:0,lngNE:0,markerData:[]};n.lngSW=c.lng()+(m/h)*(d.lng()-c.lng());n.latSW=c.lat()+(j/e)*(d.lat()-c.lat());n.lngNE=c.lng()+((m+1)/h)*(d.lng()-c.lng());n.latNE=c.lat()+((j+1)/e)*(d.lat()-c.lat());for(var g=0;g<Hos.PromoMap.markersData.length;g++){if(Hos.PromoMap.markersData[g].lng>n.lngSW&&Hos.PromoMap.markersData[g].lng<n.lngNE&&Hos.PromoMap.markersData[g].lat>n.latSW&&Hos.PromoMap.markersData[g].lat<n.latNE){n.markerData.push(Hos.PromoMap.markersData[g]);}}if(n.markerData.length==0){}else{if(n.markerData.length==1){Hos.PromoMap.drawSingleOverlay(n.markerData[0]);}else{Hos.PromoMap.drawClusterMarker(n.latSW+(n.latNE-n.latSW)/2,n.lngSW+(n.lngNE-n.lngSW)/2,n.markerData.length);}}b[(b.length-1)-j][m]=n;}}}}catch(i){}},drawSingleOverlay:function(a){try{Hos.PromoMap.map.addOverlay(a.marker);a.marker.overlayOn=true;Hos.PromoMap.overlays.push(a.marker);}catch(b){}},drawClusterMarker:function(f,c,e){var a=new GLatLng(f,c);var b;b=new GMarker(a,Hos.PromoMap.GetParkClusterIcon(e));var d=Hos.PromoMap.createClusterMarkerClickHandler(b);GEvent.addListener(b,"click",d);Hos.PromoMap.map.addOverlay(b);b.overlayOn=true;Hos.PromoMap.overlays.push(b);},createMarker:function(d){var a=new GLatLng(d.lat,d.lng);var c=Hos.PromoMap.count+1;var b;b=new GMarker(a,Hos.PromoMap.GetParkIcon());var e=Hos.PromoMap.createMarkerClickHandler(b,d);GEvent.addListener(b,"click",e);return b;}};
