﻿ var Map;var MenuLength=14;var ActiveMenu="";var MenuIndexToPoiIndex=new Array(MenuLength);var HighlightIconDiameter=42;var CurrentIconDiameter=20;var MapWidth=810;var MapHeight=600;var NavLineOverlay;var PropertyGroupIndex=0;var POISmallImgIndex=1;var POIBigImgIndex=1;var SubNavigatingPOIs=false;var ActivePropIndex=-1;var PendingMarkerWinOpen=false;var LastWindowClosedTime=0;var LastWindowClosedId="";var OpenWindowId="";function MAP_init(containerID,lat,lon,zoom,style){var size=new YSize(MapWidth,MapHeight);var pos=new YGeoPoint(lat,lon);var type=style==2?YAHOO_MAP_HYB:YAHOO_MAP_REG;Map=new YMap(document.getElementById(containerID),type,size);var zp=new YCoordPoint(MapWidth-30,5);Map.addZoomLong(zp);Map.drawZoomAndCenter(pos,zoom);Map.disableKeyControls();YEvent.Capture(Map,EventsList.endPan,MAP_endPanEventHandler);YEvent.Capture(Map,EventsList.changeZoom,MAP_zoomEventHandler);YEvent.Capture(Map,EventsList.endAutoPan,MAP_endPanEventHandler);LastWindowClosedTime=0;ActiveMenu="";CurrentIconDiameter=20;PropertyGroupIndex=0;POISmallImgIndex=1;POIBigImgIndex=1;SubNavigatingPOIs=false;PendingMarkerWinOpen=false;ActivePropIndex=-1;}function MAP_reset(lat,lon,zoom){var pos=new YGeoPoint(StartingLat,StartingLon);Map.drawZoomAndCenter(pos,StartingZoom);MAP_zoomAndCenterOnProperties();}function MAP_setMapType(type){if(type==0)Map.setMapType(YAHOO_MAP_REG);if(type==1)Map.setMapType(YAHOO_MAP_SAT);if(type==2)Map.setMapType(YAHOO_MAP_HYB);}function MAP_endPanEventHandler(){MAP_updateMenu();}function MAP_zoomEventHandler(){MAP_updateMarkerLODs();}function _yahooMarginHackFix(){var table=document.getElementById("mytable");if(table!=null){var parent=table.parentNode;if(parent!=null){parent.style.marginRight="0";}}}function _timeSinceLastWindowClosed(){var t=new Date();var sinceLast=t-LastWindowClosedTime;return t-LastWindowClosedTime;}function MAP_smartWindowOpenHandler(){OpenWindowId=this.id;_yahooMarginHackFix();var markerPt=Map.convertLatLonXY(this.YGeoPoint);var markerTargetX=MapWidth/4;var markerTargetY=MapHeight*5/6;var panParam=new YCoordPoint();panParam.x=MapWidth/2-markerPt.x+markerTargetX+12;panParam.y=MapHeight/2-markerPt.y+markerTargetY+48;Map.panToXY(panParam);MAP_hideCenterOverlay();PropertyGroupIndex=0;POISmallImgIndex=1;POIBigImgIndex=1;PendingMarkerWinOpen=false;}function MAP_markerMouseOutHandler(_e,_c){_e.thisObj.closeAutoExpand();}function MAP_smartWindowCloseHandler(){OpenWindowId="";if(SubNavigatingPOIs==true){MAP_openPropertySmartWindow(ActivePropIndex);SubNavigatingPOIs=false;}else if(PendingMarkerWinOpen==false){MAP_showCenterOverlay();Map.panToLatLon(this.YGeoPoint);}LastWindowClosedId=this.id;var time=new Date();LastWindowClosedTime=time.getTime();}function MAP_closePropertySmartWindow(index){if(PropertyMarkerData[index].rendered==0)index=PropertyGroups[PropertyMarkerData[index].group][0];PropertyMarkerData[index].marker.closeSmartWindow();}function MAP_closePOISmartWindow(index){POIMarkerData[index].marker.closeSmartWindow();}function MAP_zoomOnCondo(condo){for(var i=0;i<POIMarkerData.length;i++){if(POIMarkerData[i].title==condo){Map.drawZoomAndCenter(POIMarkerData[i].marker.YGeoPoint,3);MAP_updateMenu();break;}}}function MAP_zoomAndCenterOnProperties(){var points=new Array();var pointsIdx=0;for(var i=0;i<PropertyMarkerData.length;i++){if(PropertyMarkerData[i].rendered==1){points[pointsIdx]=PropertyMarkerData[i].marker.YGeoPoint;pointsIdx++;}}if(points.length>0){var obj=Map.getBestZoomAndCenter(points);var zoom=obj.zoomLevel;if(zoom<3)zoom=3;Map.setZoomLevel(zoom);Map.panToLatLon(obj.YGeoPoint);}}function createPropertyMarkerLabel(index,type,iconDiameter){var size=iconDiameter.toString();var title="Vacation Home";var iconName="images/mapicons/"+type+"prop_"+size+".gif";var labelHtml="<img id='hmrk"+index.toString()+"' src='"+iconName+"' alt='"+title+"' height='"+size+"' width='"+size+"'/>";return labelHtml;}function getPropertyMarkerHtml(index){var name=PropertyMarkerData[index].name;var price=PropertyMarkerData[index].price;var beds=PropertyMarkerData[index].beds;var desc=PropertyMarkerData[index].desc;var propId=PropertyMarkerData[index].propId;var locId=PropertyMarkerData[index].locId;var group=PropertyMarkerData[index].group;var imgIndex=PropertyMarkerData[index].imgIdx.toString();var nImages=PropertyMarkerData[index].nImages.toString();var houseImgSrc="Site_Data/"+locId+"/gtimg"+propId+"_"+imgIndex+".jpg";var detailsLink="Details.aspx?propertyID="+propId+"&localeID="+locId+"&smp=1";var savePropertyText=PropertyMarkerData[index].msg;var poiHtml="";if(PropertyMarkerData[index].cc!=""||PropertyMarkerData[index].type!="M"){poiHtml=MAP_getNearestPOIsHtml(index,PropertyMarkerData[index].lat,PropertyMarkerData[index].lon,6,2,0);}var html="<table id='mytable' width='280' cellpadding='0' cellspacing='0' bgcolor='#EADCAE'>"+"<tr><td colspan='2' class='tx-api-house-title'>"+name+"</td></tr>"+"<tr><td colspan='2'><img src='images/clear.gif' width='300' height='2'>"+"<img src='"+houseImgSrc+"' width = '176' align='left' hspace='5'><br/>"+"<font class='tx-api'>Price: $"+price+"<br/>Beds: "+beds+"<br/>"+"<br><a href='"+detailsLink+"'>More Details</a><br/>"+"<a href='#' onclick='SaveProp("+propId+");return false;'>"+savePropertyText+"</a><br/>"+"<br/><a class='tx-api' href='#' onclick='MAP_cyclePropImg("+index+"); return false;'>Image "+imgIndex+" of "+nImages+"</a><br />"+"</td></tr>"+"<tr><td bgcolor='#F2EAC3' colspan='2'>"+desc+"</td></tr>"+poiHtml;if(group!=0){var groupSize=PropertyGroups[group].length;var num=PropertyGroupIndex+1;html=html+"<tr><td>Viewing #"+num+" of "+groupSize+"</td>"+"<td align = 'right'><a href='#' onclick='MAP_cyclePropertySmartWindow("+group+",1); return false;'>Show Next Unit</a></td></tr>";}html=html+"<tr><td colspan='2'><a href='#' class='map_prop_pois' onclick='MAP_closePropertySmartWindow("+index+"); return false;'>close window</a></td></tr>"+"</table>";return html;}function MAP_getPropertyMarkerDataIndex(propertyId){for(var i=0;i<PropertyMarkerData.length;i++){if(propertyId==PropertyMarkerData[i].propId)return i;}return-1;}function MAP_getPOIDataIndex(id){for(var i=0;i<POIMarkerData.length;i++){if(id==POIMarkerData[i].id)return i;}return-1;}function MAP_updatePropertySmartWindow(index){html=getPropertyMarkerHtml(index);if(PropertyMarkerData[index].rendered==0)index=PropertyGroups[PropertyMarkerData[index].group][0];PropertyMarkerData[index].marker.updateSmartWindow(html);_yahooMarginHackFix();}function MAP_openPropertySmartWindow(index){html=getPropertyMarkerHtml(index);if(PropertyMarkerData[index].rendered==0)index=PropertyGroups[PropertyMarkerData[index].group][0];PropertyMarkerData[index].marker.openSmartWindow(html);}function MAP_updatePropertyMessage(index,text){PropertyMarkerData[index].msg=text;}function MAP_cyclePropertySmartWindow(group,inc){PropertyGroupIndex+=inc;if(PropertyGroupIndex>=PropertyGroups[group].length)PropertyGroupIndex=0;if(PropertyGroupIndex<0)PropertyGroupIndex=PropertyGroups[group].length-1;var index=PropertyGroups[group][PropertyGroupIndex];html=getPropertyMarkerHtml(index);PropertyMarkerData[PropertyGroups[group][0]].marker.updateSmartWindow(html);_yahooMarginHackFix();}function MAP_createPropertyMarker(index){var lat=PropertyMarkerData[index].lat;var lon=PropertyMarkerData[index].lon;var name=PropertyMarkerData[index].name;var html=getPropertyMarkerHtml(index);var pos=new YGeoPoint(lat,lon);var iconImg=new YImage();iconImg.src="images/mapicons/house_32.gif";iconImg.size=new YSize(1,1);iconImg.offsetSmartWindow=new YCoordPoint(0,0);var marker=new YMarker(pos,iconImg);var labelHtml=createPropertyMarkerLabel(index,PropertyMarkerData[index].type,20);marker.addLabel(labelHtml);var previewHtml=createPropertyMarkerPreviewHtml(index);marker.addAutoExpand(previewHtml);marker.disableAutoContain();marker.setSmartWindowColor("maroon");YEvent.Capture(marker,EventsList.MouseClick,function(){if(OpenWindowId==this.id||(this.id==LastWindowClosedId&&_timeSinceLastWindowClosed()<1000)){return;}PendingMarkerWinOpen=true;ActivePropIndex=index;marker.openSmartWindow(html)});YEvent.Capture(marker,EventsList.openSmartWindow,MAP_smartWindowOpenHandler);YEvent.Capture(marker,EventsList.closeSmartWindow,MAP_smartWindowCloseHandler);YEvent.Capture(marker,EventsList.MouseOut,MAP_markerMouseOutHandler);return marker;}function createPropertyMarkerPreviewHtml(index){var name=PropertyMarkerData[index].name;var locId=PropertyMarkerData[index].locId;var group=PropertyMarkerData[index].group;var propId=PropertyMarkerData[index].propId;var houseImgSrc="Site_Data/"+locId+"/gtimg"+propId+"_1.jpg";name=name.slice(name.indexOf("-")+1);var html="<table width='176' cellpadding='5' cellspacing='1' bgcolor='#EADCAE'>"+"<tr><td class='tx-api-house-title'>"+name+"</td></tr>"+"<tr><td ><img src='images/clear.gif' width='176' height='2'><br/>"+"<img src='"+houseImgSrc+"' align='left' hspace='5'><br/></td></tr>"+"<tr><td bgcolor='#F2EAC3'>click icon for details</td></tr></table>";if(group!=0){html="Multiple Properties<br/>click for details";}if(PropertyMarkerData[index].cc!=""){html=PropertyMarkerData[index].cc+"<br/>click to see units";}return html;}function createPOIMarkerLabel(poiIndex,iconDiameter){var size=iconDiameter.toString();var iconName=POIMarkerData[poiIndex].icon+'_'+size+".gif";if(POIMarkerData[poiIndex].type!="Activity"&&POIMarkerData[poiIndex].type!="Condo")iconName=POIMarkerData[poiIndex].icon.slice(0,POIMarkerData[poiIndex].icon.length-1)+'_'+size+".gif";var title=POIMarkerData[poiIndex].title;var labelHtml="<img id='pmrk"+poiIndex.toString()+"' src='images/mapicons/"+iconName+"' alt='"+title+"' height='"+size+"' width='"+size+"'/>";return labelHtml;}function createPOIMarkerPreviewHtml(poiIndex){var title=POIMarkerData[poiIndex].title;if(title.length>23)title=title.slice(0,20)+"...";var html=title+"<br/>click for more info";return html;}function getPOIMarkerHtml(index,withBigImage,saveActivityText){var sourceUrl=POIMarkerData[index].sourceUrl;var title=POIMarkerData[index].title;var rating=POIMarkerData[index].rating;var desc=POIMarkerData[index].desc;var comment=POIMarkerData[index].comment;var imgUrl=POIMarkerData[index].imgUrl;var nSmallImages=imgUrl.slice(imgUrl.indexOf("_")+1,imgUrl.lastIndexOf("_"));var nBigImages=imgUrl.slice(imgUrl.lastIndexOf("_")+1);var imgId=imgUrl.slice(imgUrl.indexOf("poi")+3,imgUrl.indexOf("_"));var imgSrcSmall="Images/poi/s_poi"+imgId+"_"+POISmallImgIndex+".jpg";var imgSrcBig="Images/poi/b_poi"+imgId+"_"+POIBigImgIndex+".jpg";var html="<table id='mytable' ";if(POIMarkerData[index].type=="Activity")html=html+"width = '500'";html=html+"bgcolor='#F2EAC3'><tr><td class='tx-api-house-title'>"+title+"</td>";html=html+"<td align = 'right'>";if(POIMarkerData[index].type=="Beach"||POIMarkerData[index].type=="Attraction"){html+="<img src='images/icon_star_"+rating+".gif' width='60' height='10' align='right' border='0'>";}else if(POIMarkerData[index].type=="Activity"&&sourceUrl!=""){html+=comment;}html+="</td></tr><tr><td colspan = '2'>";if(withBigImage==true){html=html+"<div style=\"overflow:scroll;overflow-y:hidden;width:570px;\"><div><img src='"+imgSrcBig+"'/></div></div>";}else{html=html+"<img src='"+imgSrcSmall+"'";if(POIMarkerData[index].type=="Condo")html=html+" width='570' height='380'";if(POIMarkerData[index].type=="Activity")html=html+" style='float:left'";html+=">";}if(POIMarkerData[index].type=="Activity"){html=html+"</td></tr><tr><td colspan='2'><div style='height:87px; width:500px; overflow:auto'>"+desc+"</div><br/>";}else{html=html+"</td></tr><tr><td colspan='2'>"+desc+"<br/>";}var smallImgText="";var bigImgText="";if(withBigImage==false){smallImgText="Viewing Image "+POISmallImgIndex+" of "+nSmallImages;nextSmallImg=POISmallImgIndex+1>nSmallImages?1:POISmallImgIndex+1;nextBigImg=POIBigImgIndex;bigImgText="View Panorama "+nextBigImg+" of "+nBigImages;}else{bigImgText="Viewing Panorama "+POIBigImgIndex+" of "+nBigImages;nextBigImg=POIBigImgIndex+1>nBigImages?1:POIBigImgIndex+1;nextSmallImg=POISmallImgIndex;smallImgText="View Image "+nextSmallImg+" of "+nSmallImages;}html+="<a href='#'"+"onclick=\"MAP_cyclePOIImg("+nextSmallImg+","+nextBigImg+"); MAP_updatePOISmartWindow("+index+','+"false, 'Save Activity (you must be logged in)'); return false;\">"+smallImgText+"</a>";if(nBigImages!=0){html+=" | <a href='#'"+"onclick=\"MAP_cyclePOIImg("+nextSmallImg+","+nextBigImg+"); MAP_updatePOISmartWindow("+index+','+"true, 'Save Activity (you must be logged in)'); return false;\">"+bigImgText+"</a>";}if(POIMarkerData[index].type=="Activity"){html+="<br/><a href='#' onclick='SaveActivity("+POIMarkerData[index].id+"); return false;'>"+saveActivityText+"</a>";}if(POIMarkerData[index].type=="Activity"&&sourceUrl!=""){html=html+"<br/><a href='http://"+sourceUrl+"' target='_blank'>Visit Website</a>";}if(POIMarkerData[index].type=="Condo"&&sourceUrl!=""){html=html+"<br/><a href='http://"+sourceUrl+"' target='_blank'>More Information</a>";}html+="<br/><a href='#' class='map_prop_pois' onclick='MAP_closePOISmartWindow("+index+"); return false;'>close window</a>";html=html+"</td></tr></table>";return html;}function MAP_cyclePropImg(index){var imgIndex=PropertyMarkerData[index].imgIdx+1;var nImages=PropertyMarkerData[index].nImages;if(imgIndex>nImages)imgIndex=1;PropertyMarkerData[index].imgIdx=imgIndex;MAP_updatePropertySmartWindow(index);}function MAP_cyclePOIImg(smallImgIndex,bigImgIndex){POISmallImgIndex=smallImgIndex;POIBigImgIndex=bigImgIndex;}function MAP_updatePOISmartWindow(index,withBigImage,saveActivityText){html=getPOIMarkerHtml(index,withBigImage,saveActivityText);POIMarkerData[index].marker.updateSmartWindow(html);_yahooMarginHackFix();}function MAP_createPOIMarker(index){var html=getPOIMarkerHtml(index,false,"Save Activity (you must be logged in)");var pos=new YGeoPoint(POIMarkerData[index].lat,POIMarkerData[index].lon);var iconImg=new YImage();if(POIMarkerData[index].type!="Activity"&&POIMarkerData[index].type!="Condo")iconImg.src="images/mapicons/"+POIMarkerData[index].icon.slice(0,POIMarkerData[index].icon.length-1)+'_'+CurrentIconDiameter.toString()+".gif";else iconImg.src="images/mapicons/"+POIMarkerData[index].icon+'_'+CurrentIconDiameter.toString()+".gif";iconImg.size=new YSize(1,1);iconImg.offsetSmartWindow=new YCoordPoint(0,0);var marker=new YMarker(pos,iconImg);var labelHtml=createPOIMarkerLabel(index,20);marker.addLabel(labelHtml);var previewHtml=createPOIMarkerPreviewHtml(index);marker.addAutoExpand(previewHtml);marker.disableAutoContain();marker.setSmartWindowColor("orange");YEvent.Capture(marker,EventsList.MouseClick,function(){if(OpenWindowId==this.id||(this.id==LastWindowClosedId&&_timeSinceLastWindowClosed()<1000)){return;}PendingMarkerWinOpen=true;SubNavigatingPOIs=false;marker.openSmartWindow(html)});YEvent.Capture(marker,EventsList.openSmartWindow,MAP_smartWindowOpenHandler);YEvent.Capture(marker,EventsList.closeSmartWindow,MAP_smartWindowCloseHandler);YEvent.Capture(marker,EventsList.MouseOut,MAP_markerMouseOutHandler);return marker;}function MAP_panToPOIMarker(index){Map.panToLatLon(POIMarkerData[index].marker.YGeoPoint);}function MAP_subNavToPOI(propertyIndex,poiIndex){var html=getPOIMarkerHtml(poiIndex,false,"Save Activity (you must be logged in)");PendingMarkerWinOpen=true;POIMarkerData[poiIndex].marker.openSmartWindow(html);SubNavigatingPOIs=true;}function MAP_setupMarkers(){for(var i=0;i<PropertyMarkerData.length;i++){if(PropertyMarkerData[i].rendered==1&&PropertyMarkerData[i].lat!=0&&PropertyMarkerData[i].lon!=0){PropertyMarkerData[i].marker=MAP_createPropertyMarker(i);Map.addOverlay(PropertyMarkerData[i].marker);}}for(var i=0;i<POIMarkerData.length;i++){POIMarkerData[i].marker=MAP_createPOIMarker(i);Map.addOverlay(POIMarkerData[i].marker);}}function MAP_initMarkerVisibility(type,visible){if(type=="Properties"){for(var i=0;i<PropertyMarkerData.length;i++){if(PropertyMarkerData[i].rendered==1){if(visible==true)PropertyMarkerData[i].marker.unhide();else PropertyMarkerData[i].marker.hide();}}}else{for(var i=0;i<POIMarkerData.length;i++){if(type==POIMarkerData[i].type){if(visible==true)POIMarkerData[i].marker.unhide();else{POIMarkerData[i].marker.hide();}}}}}function MAP_toggleMarkerVisibility(type){if(type=="Properties"){for(var i=0;i<PropertyMarkerData.length;i++){if(PropertyMarkerData[i].rendered==1){if(PropertyMarkerData[i].marker.ishidden())PropertyMarkerData[i].marker.unhide();else PropertyMarkerData[i].marker.hide();}}}else{var hidePoll=0;for(var i=0;i<POIMarkerData.length&&Math.abs(hidePoll)<7;i++){if(type==POIMarkerData[i].type){hidePoll+=1;if(POIMarkerData[i].marker.ishidden())hidePoll-=2;}}for(var i=0;i<POIMarkerData.length;i++){if(type==POIMarkerData[i].type){if(hidePoll<=0)POIMarkerData[i].marker.unhide();else POIMarkerData[i].marker.hide();}}}MAP_updateMarkerLODs();}function MAP_initMenu(type){ActiveMenu=type;for(var i=0;i<MenuIndexToPoiIndex.length;i++){var linkButton=document.getElementById("ctl00_CPH1_LinkButton"+i.toString());linkButton.innerHTML="";var linkButtonLabel=document.getElementById("ctl00_CPH1_LinkButton"+i.toString()+"Label");linkButtonLabel.innerHTML="";var img=document.getElementById("MenuImg"+i.toString());img.src="images/clear.gif";}for(var markerIndex=0,menuIndex=0;markerIndex<POIMarkerData.length&&menuIndex<MenuIndexToPoiIndex.length;markerIndex++){if(type==POIMarkerData[markerIndex].type){var linkButton=document.getElementById("ctl00_CPH1_LinkButton"+menuIndex.toString());linkButton.innerHTML=POIMarkerData[markerIndex].title;var img=document.getElementById("MenuImg"+menuIndex.toString());if(type!="Activity")img.src="images/mapicons/"+POIMarkerData[markerIndex].icon+".gif";else img.src="images/mapicons/"+POIMarkerData[markerIndex].icon+'_20'+".gif";MenuIndexToPoiIndex[menuIndex]=markerIndex;menuIndex++;}}}function MAP_menuMouseOverHandler(menuIndex){var index=MenuIndexToPoiIndex[menuIndex];var alpha=0.6;var xy1=new YCoordPoint(MapWidth/2+21,MapHeight/2+20);var latlon1=Map.convertXYLatLon(xy1);var latlon2=new YGeoPoint(POIMarkerData[index].lat,POIMarkerData[index].lon);var xy2=Map.convertLatLonXY(latlon2);xy2.x+=CurrentIconDiameter/2;xy2.y+=CurrentIconDiameter/2;latlon2=Map.convertXYLatLon(xy2);NavLineOverlay=new YPolyline([latlon1,latlon2],'red',7,alpha);Map.addOverlay(NavLineOverlay);}function MAP_menuMouseOutHandler(menuIndex){var index=MenuIndexToPoiIndex[menuIndex];POIMarkerData[index].marker.closeAutoExpand();Map.removeOverlay(NavLineOverlay);}function MAP_menuClickHandler(menuIndex){PendingMarkerWinOpen=true;var poiIndex=MenuIndexToPoiIndex[menuIndex];SubNavigatingPOIs=false;POISmallImgIndex=1;POIBigImgIndex=1;var html=getPOIMarkerHtml(poiIndex,false,"Save Activity (you must be logged in)");var index=MenuIndexToPoiIndex[menuIndex];if(POIMarkerData[index].marker.ishidden())POIMarkerData[index].marker.unhide();POIMarkerData[index].marker.openSmartWindow(html);}function DistanceObj(poiDataIndex,distance){this.poiDataIndex=poiDataIndex;this.dist=distance;}function _compareDistObj(a,b){return a.dist-b.dist;}function MAP_getNearestPOIsHtml(propertyIndex,lat,lon,maxPOIs,maxActivities,extraActivities){var fromPoint=new YGeoPoint(lat,lon);var distData=new Array();var actData=new Array();var objs=0;var actObjs=0;for(var i=0;i<POIMarkerData.length;i++){if(POIMarkerData[i].type=="Beach"||POIMarkerData[i].type=="Attraction"||POIMarkerData[i].type=="Activity"){var poiLat=parseFloat(POIMarkerData[i].lat);var poiLon=parseFloat(POIMarkerData[i].lon);var x=69.1*(fromPoint.Lat-poiLat);var y=69.1*(fromPoint.Lon-poiLon)*Math.cos(fromPoint.Lat/57.3);var d_squared=x*x+y*y;distData[objs++]=new DistanceObj(i,d_squared);if(POIMarkerData[i].type=="Activity")actData[actObjs++]=new DistanceObj(i,d_squared);}}distData.sort(_compareDistObj);actData.sort(_compareDistObj);var html="<tr><td bgcolor='#EADCAE' colspan='2'><center>Nearby Points of Interest</center></td></tr>";var nActivitiesSelected=0;var nTotalSelected=0;for(var i=0;i<distData.length&&nTotalSelected<maxPOIs;i++){var isActivity=POIMarkerData[distData[i].poiDataIndex].type=="Activity";if(isActivity&&nActivitiesSelected>=maxActivities)continue;if(!isActivity&&(maxPOIs-nTotalSelected<=maxActivities-nActivitiesSelected))continue;var title=POIMarkerData[distData[i].poiDataIndex].title;var distance=Math.sqrt(distData[i].dist).toFixed(1);html+="<tr><td><a class='map_prop_pois' href='#' onClick='MAP_subNavToPOI("+propertyIndex+","+distData[i].poiDataIndex+"); return false;'>"+title+"</a></td><td>"+distance+" mi</td></tr>";if(isActivity)nActivitiesSelected++;nTotalSelected++;}if(actData.length-maxActivities>=extraActivities){var randMin=maxActivities;var randMax=actData.length-extraActivities;var start=Math.floor(Math.random()*(randMax-randMin)+randMin);var selected=0;for(var i=start;i<actData.length&&selected<extraActivities;i++){var title=POIMarkerData[actData[i].poiDataIndex].title;var distance=Math.sqrt(actData[i].dist).toFixed(1);selected++;html+="<tr bgcolor='#F2EAC3'><td><a class='map_prop_pois' href='#' onClick='MAP_subNavToPOI("+propertyIndex+","+actData[i].poiDataIndex+"); return false;'>"+title+"</a></td><td>"+distance+" mi</td></tr>";}}return html;}function MAP_updateMenu(){var mapCenter=Map.getCenterLatLon();var distData=new Array();var objs=0;for(var i=0;i<POIMarkerData.length;i++){if(POIMarkerData[i].type==ActiveMenu){var poiLat=parseFloat(POIMarkerData[i].lat);var poiLon=parseFloat(POIMarkerData[i].lon);var x=69.1*(mapCenter.Lat-poiLat);var y=69.1*(mapCenter.Lon-poiLon)*Math.cos(mapCenter.Lat/57.3);var d=Math.sqrt(x*x+y*y);d=d.toFixed(1);distData[objs++]=new DistanceObj(i,d);}}distData.sort(_compareDistObj);for(var i=0;i<MenuLength;i++){var img=document.getElementById("MenuImg"+i.toString());img.src="images/clear.gif";}for(var i=0;i<distData.length&&i<MenuLength;i++){var linkButton=document.getElementById("ctl00_CPH1_LinkButton"+i.toString());linkButton.innerHTML=POIMarkerData[distData[i].poiDataIndex].title;var linkButtonLabel=document.getElementById("ctl00_CPH1_LinkButton"+i.toString()+"Label");linkButtonLabel.innerHTML=distData[i].dist.toString();var img=document.getElementById("MenuImg"+i.toString());if(ActiveMenu!="Activity")img.src="images/mapicons/"+POIMarkerData[distData[i].poiDataIndex].icon+".gif";else img.src="images/mapicons/"+POIMarkerData[distData[i].poiDataIndex].icon+'_32'+".gif";MenuIndexToPoiIndex[i]=distData[i].poiDataIndex;}}function switchMarkerLOD(newIconDiameter,poiMarkerIndex){var html=createPOIMarkerLabel(poiMarkerIndex,newIconDiameter);POIMarkerData[poiMarkerIndex].marker.reLabel(html);}function switchMarkerLODs(newIconDiameter){if(CurrentIconDiameter==newIconDiameter)return;CurrentIconDiameter=newIconDiameter;for(var i=0;i<POIMarkerData.length;i++){var html=createPOIMarkerLabel(i,newIconDiameter);POIMarkerData[i].marker.reLabel(html);}for(var i=0;i<PropertyMarkerData.length;i++){if(PropertyMarkerData[i].rendered==1){var html=createPropertyMarkerLabel(i,PropertyMarkerData[i].type,newIconDiameter);PropertyMarkerData[i].marker.reLabel(html);}}}function MAP_updateMarkerLODs(){var nOverlaps=0;nOverlaps=MAP_getNumOverlapingMarkers(32,2);if(nOverlaps<2)switchMarkerLODs(32);else switchMarkerLODs(20);}function MAP_getNumOverlapingMarkers(iconDiameter,limit){var nOverlaps=0;var nVisibleMarkers=0;var overlapGrid1=new Array();var overlapGrid2=new Array();var markerIds=Map.getMarkerIDs();for(var id=0;id<markerIds.length;id++){var marker=Map.getMarkerObject(markerIds[id]);if(marker.ishidden()==false){var point=Map.convertLatLonXY(marker.YGeoPoint);if(point.x>0&&point.y>0&&point.x<MapWidth&&point.y<MapHeight){nVisibleMarkers++;cx=point.x+iconDiameter/2;cy=point.y+iconDiameter/2;p1x=Math.round(cx/iconDiameter);p1y=Math.round(cy/iconDiameter);p2x=Math.round(point.x/iconDiameter);p2y=Math.round(point.y/iconDiameter);gridId1=p1x+','+p1y;gridId2=p2x+','+p2y;var overlap=false;if(typeof(overlapGrid1[gridId1])=='undefined')overlapGrid1[gridId1]=1;else overlap=true;if(typeof(overlapGrid2[gridId2])=='undefined')overlapGrid2[gridId2]=1;else overlap=true;if(overlap==true){nOverlaps++;if(nOverlaps>=limit)return nOverlaps;}}}}return nOverlaps;}var MapCenterObj;function MAP_initOverlays(){var html="<img src='Images/map_center_icon.gif'/>";MapCenterObj=YUtility.createNode('div','menu');var style={position:"absolute",zIndex:1};YUtility.setStyle(MapCenterObj,style);MapCenterObj.innerHTML+=html;var overlayPos=new YCoordPoint(MapWidth/2,MapHeight/2);var overlay=new YCustomOverlay(overlayPos);YUtility.appendNode(overlay,MapCenterObj);Map.addOverlay(overlay);}function MAP_hideCenterOverlay(){var objStyle={visibility:"hidden"};YUtility.setStyle(MapCenterObj,objStyle);}function MAP_showCenterOverlay(){var objStyle={visibility:"visible"};YUtility.setStyle(MapCenterObj,objStyle);}function MAP_moveZoomControl(x,y){Map.removeZoomControl();var zp=new YCoordPoint(x,y);Map.addZoomLong(zp);}
