var CONST_MAP_ADD_PADDING=70;var MAP_DEFAULT_ZOOM=8;var MAP_MINIMUM_ZOOM_LEVEL=6;var MAP_PADDING={top:30,right:140,bottom:30,left:70};var map=null;function $addHandler(element,eventName,handler){if(element.addEventListener){element.addEventListener(eventName,handler,false);} else if(element.attachEvent){element.attachEvent('on'+eventName,handler);}}
function $(id){return document.getElementById(id);}google.load("maps","2");function loadMap(){$addHandler(document.body,'unload',GUnload);var mapPlaceholder=$('map');if(GBrowserIsCompatible()&&mapPlaceholder){map=new google.maps.Map2(mapPlaceholder);var _point=null;var _marker=null;map.addControl(new GScaleControl());map.addControl(new GSmallMapControl());map.addControl(new GMapTypeControl());map.addControl(new GOverviewMapControl());map.addMapType(G_PHYSICAL_MAP);map.setCenter(new GLatLng(ProviderInfo.Latitude,ProviderInfo.Longitude),10);map.setZoom(MAP_DEFAULT_ZOOM);_point=new GLatLng(ProviderInfo.Latitude,ProviderInfo.Longitude);_marker=new GMarker(_point);GEvent.addListener(_marker,"click",function(){_marker.openInfoWindowHtml(getWindowHtml(ProviderInfo));});map.addOverlay(_marker);ProviderInfo.Marker=_marker;GEvent.addListener(map,"zoomend",function(){if(map.getZoom()<MAP_MINIMUM_ZOOM_LEVEL){map.setZoom(MAP_MINIMUM_ZOOM_LEVEL);alert("Minimum allowed zoom level reached.");}});return;}}
google.setOnLoadCallback(loadMap);function zoomToMarkers(map,markers,slopPercentage,heightOffsetPct){if(!map||!markers)return;var marker,thePoint,x,y,minX,maxX,minY,maxY,span;var count=0;for(var i=0;i<markers.length;i++){marker=markers[i];thePoint=marker.getPoint();x=parseFloat(thePoint.lat());y=parseFloat(thePoint.lng());if(count===0){minX=x;maxX=x;minY=y;maxY=y;} else{if(x<minX)minX=x;if(x>maxX)maxX=x;if(y<minY)minY=y;if(y>maxY)maxY=y;} count++;} if(count==1){map.setCenter(new GLatLng(x,y),map.getZoom());} else if(count>1){var center=new GLatLng((minX+maxX)/2,(minY+maxY)/2);span=new GSize(Math.abs(maxX-minX),Math.abs(maxY-minY));slopWid=0;slopHgt=0;if(typeof slopPercentage!="undefined"){slopWid=span.width*slopPercentage/200;slopHgt=span.height*slopPercentage/200;span.width*=1+slopPercentage/100;span.height*=1+slopPercentage/100;} deltaHgt=0;if(typeof heightOffsetPct!="undefined"){deltaHgt=span.height*heightOffsetPct/100;center=new GLatLng(center.lat()+deltaHgt,center.lng());} var bounds=new GLatLngBounds(new GLatLng(minX-slopHgt,minY-slopWid),new GLatLng(maxX+slopHgt,maxY+slopWid));var zoom=map.getBoundsZoomLevel(bounds);map.setCenter(center,zoom);}}
function addRectangle(pointA,pointB,color){var points=[];points.push(pointA);points.push(new GLatLng(pointA.y,pointB.x));points.push(pointB);points.push(new GLatLng(pointB.y,pointA.x));points.push(pointA);map.addOverlay(new GPolyline(points,color));}function getWindowHtml(provider){var DISTANCE_PRECISION=2;var name=provider.Name;var URL=provider.URL;var distance=provider.Distance;var link='';if(isString(URL)){if(URL.indexOf('http://')==-1){URL='http://'+URL;} link="<a class='mapwindowsiteurl' href='"+URL+"' >"+decodeUmlauts(StaticTextTable.SearchNearby.MoreInformation)+"</a>";} if(isString(name)&&name.length>30)name=name.substring(0,30)+'...';var outputHTML="";outputHTML+="<div class='mapwindow'>";outputHTML+="<div class='mapwindowprovider'>"+name+"</div>";outputHTML+="<div class='mapwindowbody'>";if(provider.Image!==''){outputHTML+="<img class='mapwindowimage' align='right' src='"+provider.Image+"' />";} if(provider.TotalStayFrom!==''){outputHTML+="<div class='mapwindowprice'>";outputHTML+=decodeUmlauts(StaticTextTable.SearchNearby.TotalStayFrom)+provider.TotalStayFrom;outputHTML+="</div>";} if(isNumber(distance)){outputHTML+=distance.toFixed(DISTANCE_PRECISION)+decodeUmlauts(StaticTextTable.SearchNearby.MilesAway);} outputHTML+=link;outputHTML+="</div>";outputHTML+="</div>";return outputHTML;}
