if(typeof Hos=="undefined"){Hos={};}Hos.MaxiMap={MAP_CANVAS_ID:"map_canvas",map:null,startingpoint:"",regionLat:54.313919,regionLong:-2.23218,zoom:12,distance:20,_minZoom:5,_maxZoom:14,clusterMarkers:{},singleMarkers:{},siteData:{},overlays:[],mapLoad:function(){if(GBrowserIsCompatible()){Hos.MaxiMap.localSearch=new GlocalSearch();Hos.MaxiMap.map=new GMap2(document.getElementById(this.MAP_CANVAS_ID));GEvent.addListener(Hos.MaxiMap.map,"load",Hos.MaxiMap.addLoadingReport);Hos.MaxiMap.map.enableScrollWheelZoom();Hos.MaxiMap.map.addControl(new GMapTypeControl());Hos.MaxiMap.map.addControl(new GLargeMapControl());Hos.MaxiMap.map.addControl(new GScaleControl());G_PHYSICAL_MAP.getMinimumResolution=function(){return Hos.MaxiMap._minZoom;};G_NORMAL_MAP.getMinimumResolution=function(){return Hos.MaxiMap._minZoom;};G_SATELLITE_MAP.getMinimumResolution=function(){return Hos.MaxiMap._minZoom;};G_HYBRID_MAP.getMinimumResolution=function(){return Hos.MaxiMap._minZoom;};G_PHYSICAL_MAP.getMaximumResolution=function(){return Hos.MaxiMap._maxZoom;};G_NORMAL_MAP.getMaximumResolution=function(){return Hos.MaxiMap._maxZoom;};G_SATELLITE_MAP.getMaximumResolution=function(){return Hos.MaxiMap._maxZoom;};G_HYBRID_MAP.getMaximumResolution=function(){return Hos.MaxiMap._maxZoom;};Hos.MaxiMap.PlotPointOnMap();}GEvent.addListener(Hos.MaxiMap.map,"zoomend",Hos.MaxiMap.mapOnZoomEnd);GEvent.addListener(Hos.MaxiMap.map,"dragend",Hos.MaxiMap.mapOnDragEnd);},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.MaxiMap.startingpoint=new GLatLng(Hos.MaxiMap.regionLat,Hos.MaxiMap.regionLong);Hos.MaxiMap.map.setCenter(Hos.MaxiMap.startingpoint,parseInt(Hos.MaxiMap.zoom));Hos.MaxiMap.CallSuccess({clusterMarkers:Hos.MaxiMap.clusterMarkers,singleMarkers:Hos.MaxiMap.singleMarkers,siteData:Hos.MaxiMap.siteData});},setmapcenter:function(){Hos.MaxiMap.map.setCenter(Hos.MaxiMap.startingpoint,parseInt(Hos.MaxiMap.zoom));},usePointFromPostcode:function(b,a){Hos.MaxiMap.localSearch.setSearchCompleteCallback(null,function(){var e=54.313919;var g=-2.23218;if(Hos.MaxiMap.localSearch.results[0]){e=Hos.MaxiMap.localSearch.results[0].lat;g=Hos.MaxiMap.localSearch.results[0].lng;}if(!Hos.MaxiMap.localSearch.results[0]||e<48.5083||e>60||g<-8.63||g>2){e=54.313919;g=-2.23218;try{document.getElementById("noResultsMessage").style.display="block";}catch(f){}return;}var c=new GLatLng(e,g);var d=new GMarker(c,Hos.MaxiMap.GetCentreIcon());Hos.MaxiMap.map.setCenter(c,parseInt(Hos.MaxiMap.zoom));Hos.MaxiMap.map.addOverlay(d);Hos.MaxiMap.startingpoint=c;a(e,g);});Hos.MaxiMap.localSearch.execute(b+", UK");},GetCottageIcon:function(){var a=new GIcon();a.image="../../Images/WWApartment/GoogleMapIcons/Complex.png";a.iconAnchor=new GPoint(16,16);a.infoWindowAnchor=new GPoint(16,0);a.iconSize=new GSize(55,71);return a;},GetCottageClusterIcon:function(b){if(b>10){b=10;}var a=new GIcon();a.image="../../Images/WWApartment/GoogleMapIcons/ComplexCluster"+b+".png";a.iconAnchor=new GPoint(16,16);a.infoWindowAnchor=new GPoint(16,0);a.iconSize=new GSize(37,45);return a;},createMarkerClickHandler:function(a){var b=a.introText+"...";return function(){scrollTo(0,180);try{if(!a.marker.overlayOn){Hos.MaxiMap.map.addOverlay(a.marker);a.marker.overlayOn=true;Hos.MaxiMap.map.setCenter(a.marker.getLatLng(),Hos.MaxiMap.viewOnMapZoom);}a.marker.openInfoWindowHtml('<table id="balloon">            <tr>              <td>                <a id="balloonTitle" href="../WWApartment/ProductDetailPage.aspx?ISDLNK=1&amp;SCODE='+a.siteCode+"&ACODE="+a.accommodationCode+'&TIDPDWWAPARTMENT=apartment                  ">'+a.name+'</a>                <br/>                <p id="introText">'+b+'</p>              </td>              <td>                <a href="../WWApartment/ProductDetailPage.aspx?ISDLNK=1&amp;SCODE='+a.siteCode+"&ACODE="+a.accommodationCode+'&TIDPDWWAPARTMENT=apartment                   "><img id="searchResultImage" src="'+a.image+'"></a>              </td>            </tr>            <tr >              <td>                <div id="viewComplex">                  <a href="../WWApartment/ProductDetailPage.aspx?ISDLNK=1&amp;SCODE='+a.siteCode+"&ACODE="+a.accommodationCode+'&TIDPDWWAPARTMENT=apartment">Read more>></a>                </div>              </td>            </tr>          </table>');}catch(c){}return false;};},createClusterMarkerClickHandler:function(a){return function(){Hos.MaxiMap.map.setCenter(a.getLatLng());Hos.MaxiMap.map.zoomIn();return false;};},mapOnZoomEnd:function(b,a){Hos.MaxiMap.zoom=a;Hos.MaxiMap.drawOverlays();},mapOnDragEnd:function(){Hos.MaxiMap.drawOverlays();},CallSuccessString:function(res){Hos.MaxiMap.CallSuccess(eval("("+res+")"));},CallSuccess:function(d){Hos.MaxiMap.clusterMarkers=d.clusterMarkers;Hos.MaxiMap.singleMarkers=d.singleMarkers;Hos.MaxiMap.siteData=d.siteData;var c=0;for(i in Hos.MaxiMap.siteData){var b=Hos.MaxiMap.siteData[i];Hos.MaxiMap.siteData[i].marker=Hos.MaxiMap.createMarker(parseFloat(b.lat),parseFloat(b.lng));var e=Hos.MaxiMap.createMarkerClickHandler(Hos.MaxiMap.siteData[i]);GEvent.addListener(Hos.MaxiMap.siteData[i].marker,"click",e);Hos.MaxiMap.siteData[i].clickHandler=e;c++;}Hos.MaxiMap.count=c;for(i in Hos.MaxiMap.clusterMarkers){for(var a=0;a<Hos.MaxiMap.clusterMarkers[i].length;a++){Hos.MaxiMap.clusterMarkers[i][a].marker=Hos.MaxiMap.createClusterMarker(Hos.MaxiMap.clusterMarkers[i][a].lat,Hos.MaxiMap.clusterMarkers[i][a].lng,Hos.MaxiMap.clusterMarkers[i][a].count);}}Hos.MaxiMap.drawOverlays();},drawOverlays:function(){try{for(var e=0;e<Hos.MaxiMap.overlays.length;e++){Hos.MaxiMap.overlays[e].overlayOn=false;Hos.MaxiMap.map.removeOverlay(Hos.MaxiMap.overlays[e]);}Hos.MaxiMap.overlays=[];var l=0;var a=0;var d=Hos.MaxiMap.map.getBounds();var b=d.getSouthWest();var c=d.getNorthEast();var m=Hos.MaxiMap.map.getZoom();var f=Hos.MaxiMap.clusterMarkers[m];var j=Hos.MaxiMap.singleMarkers[m];var h={};for(var e=0;e<j.length;e++){if(Hos.MaxiMap.siteData[j[e]]){h=Hos.MaxiMap.siteData[j[e]];if(h.lng>b.lng()&&h.lng<c.lng()&&h.lat>b.lat()&&h.lat<c.lat()){Hos.MaxiMap.drawSingleOverlay(h);}}}for(var e=0;e<f.length;e++){clusterMarkerData=f[e];if(clusterMarkerData.lng>b.lng()&&clusterMarkerData.lng<c.lng()&&clusterMarkerData.lat>b.lat()&&clusterMarkerData.lat<c.lat()){Hos.MaxiMap.drawClusterMarker(clusterMarkerData);}}}catch(g){}},drawSingleOverlay:function(a){Hos.MaxiMap.map.addOverlay(a.marker);a.marker.overlayOn=true;Hos.MaxiMap.overlays.push(a.marker);},drawClusterMarker:function(a){Hos.MaxiMap.map.addOverlay(a.marker);a.marker.overlayOn=true;Hos.MaxiMap.overlays.push(a.marker);},createClusterMarker:function(f,c,e){var a=new GLatLng(f,c);var b=new GMarker(a,Hos.MaxiMap.GetCottageClusterIcon(e));var d=Hos.MaxiMap.createClusterMarkerClickHandler(b);GEvent.addListener(b,"click",d);return b;},createMarker:function(d,c){var a=new GLatLng(d,c);var b;b=new GMarker(a,Hos.MaxiMap.GetCottageIcon());return b;},viewOnMapClick:function(a){try{Hos.MaxiMap.siteData[a].clickHandler();}catch(b){}}};
