var map;var poiMarkers;function loadMap(sourceElementId,targetElementId,page,size,isVacationMap,printable){try{cleanUpPriorMap();if(GBrowserIsCompatible()){var targetElement=document.getElementById(targetElementId);map=new GMap2(targetElement);if(!isVacationMap){var oldOuterMarkers=YAHOO.util.Dom.getElementsByClassName("gmapMarker","div",targetElement.parentNode);for(var i=0;i<oldOuterMarkers.length;i++){oldOuterMarkers[i].parentNode.removeChild(oldOuterMarkers[i])}var oldOuterInfoboxes=YAHOO.util.Dom.getElementsByClassName("gmapInfobox","div",targetElement.parentNode);for(var i=0;i<oldOuterInfoboxes.length;i++){oldOuterInfoboxes[i].parentNode.removeChild(oldOuterInfoboxes[i])}}if(isVacationMap){poiMarkers=new GmapsVacationMarkerManager(sourceElementId,targetElementId,map,page,size,printable)}else{poiMarkers=new GmapsNearbyMarkerManager(sourceElementId,targetElementId,map,page,size,printable)}map.setMapType(G_PHYSICAL_MAP);switch(size){case"small":var nearby=!this.isVacationMap;map.addControl(new GmapsSweetSmallMapControl(nearby));break;case"large":map.addControl(new GmapsSweetLargeMapControl());break}}}catch(e){}}function GmapsSweetMarkerManager(){}GmapsSweetMarkerManager.prototype.poiMarkers=new Array();GmapsSweetMarkerManager.prototype.getPoisFromHtml=function(){this.poiMarkers=new Array();this.referenceMarker=null;var pois=YAHOO.util.Dom.getElementsByClassName("poiData",null,document.getElementById(this.elementId));var referencePoi=document.getElementById("currentPoiMapReference");if(referencePoi!=undefined){this.referenceMarker=this.createPoiMarkerFromHtmlElement(referencePoi,"reference")}for(var i=0;i<pois.length;i++){pois[i].style.display="none"}var poi=null;var latitude=null;var longitude=null;var poiType=null;var startElement=(this.page-1)*this.elementsPerPage;for(var i=startElement;((i<pois.length)&&(i<(startElement+this.elementsPerPage)));i++){var index=this.poiMarkers.length;pois[i].style.display="block";this.poiMarkers.push(this.createPoiMarkerFromHtmlElement(pois[i],index))}};GmapsSweetMarkerManager.prototype.addPoiMarkersToMap=function(){for(var i=0;i<this.poiMarkers.length;i++){this.gmap.addOverlay(this.poiMarkers[i])}if(this.referenceMarker!=null){this.gmap.addOverlay(this.referenceMarker)}};GmapsSweetMarkerManager.prototype.addPrintablePoiMarkersToMap=function(){for(var i=0;i<this.poiMarkers.length;i++){this.gmap.addOverlay(new GMarker(this.poiMarkers[i].loc))}};GmapsSweetMarkerManager.prototype.closeOtherInfoboxes=function(callerIndex){for(var i=0;i<this.poiMarkers.length;i++){if(i!=callerIndex){this.poiMarkers[i].deactivate()}}};GmapsSweetMarkerManager.prototype.closeAllInfoboxes=function(){this.gmap.enableDragging();for(var i=0;i<this.poiMarkers.length;i++){this.poiMarkers[i].deactivate()}};GmapsSweetMarkerManager.prototype.getPoiTypeFromHtmlElement=function(element){if(YAHOO.util.Dom.hasClass(element,"placesToEat")){return"placesToEat"}else{if(YAHOO.util.Dom.hasClass(element,"placesToStay")){return"placesToStay"}else{return"thingToDo"}}};GmapsSweetMarkerManager.prototype.createMapTabMouseBindings=function(){var tabs=YAHOO.util.Dom.getElementsByClassName("poiTabTrigger",null,document.getElementById("mapPoiTabs"));for(var i=0;i<tabs.length;i++){var index=i+1;this.createMapTabMouseListener(tabs[i],index)}};GmapsSweetMarkerManager.prototype.createMapTabMouseListener=function(element,index){YAHOO.util.Event.removeListener(element,"click");YAHOO.util.Event.addListener(element,"click",function(){loadMap(document.getElementById("mapPoiList"+index).id,"map",1,this.size,true,false);showPoiList(index)},this,true)};function showPoiList(showIndex){var poiLists=YAHOO.util.Dom.getElementsByClassName("mapPoiList",null,document.getElementById("tabbedListsContainer"));for(var i=0;i<poiLists.length;i++){var thisIndex=i+1;if(thisIndex==showIndex){document.getElementById("mapPoiList"+thisIndex).style.display="block"}else{document.getElementById("mapPoiList"+thisIndex).style.display="none"}}}GmapsSweetMarkerManager.prototype.clearTimeouts=function(){for(var i=0;i<this.poiMarkers.length;i++){this.poiMarkers[i].clearTimeouts()}};GmapsSweetMarkerManager.prototype.cleanUpMapMedia=function(){var mediaElements=YAHOO.util.Dom.getElementsByClassName("activeMapMedia");for(var i=0;i<mediaElements.length;i++){mediaElements[i].parentNode.removeChild(mediaElements[i])}var detailsElements=YAHOO.util.Dom.getElementsByClassName("POIdetailsMedia");for(var i=0;i<detailsElements.length;i++){detailsElements[i].parentNode.removeChild(detailsElements[i])}};GmapsSweetMarkerManager.prototype.cleanUpMapTimeouts=function(){if(poiMarkers!=undefined){poiMarkers.clearTimeouts()}};function GmapsVacationMarkerManager(elementId,targetElementId,gmap,page,size,printable){this.gmap=gmap;this.targetElement=document.getElementById(targetElementId);this.mapPositionElement=this.targetElement.getElementsByTagName("div")[0].getElementsByTagName("div")[0];this.printable=printable;this.page=page;this.size=size;this.elementsPerPage=(size=="large")?15:5;this.elementId=elementId;this.savedPosition=false;this.allMarkersBounds=null;this.boxOpened=false;this.createMapTabMouseBindings();this.getPoisFromHtml();this.fitMapToPois();this.addPoiMarkersToMap();this.expandDefaultMarker();if(!printable){this.createPaginationLinks();this.selectPageLink(page);setTimeout(hideKey,4000)}}GmapsVacationMarkerManager.prototype=new GmapsSweetMarkerManager();GmapsVacationMarkerManager.prototype.expandDefaultMarker=function(){this.poiMarkers[0].showSmallInfobox();function hideDefaultMarker(){this.poiMarkers[0].hideSmallInfobox();YAHOO.util.Event.removeListener(this.targetElement,"mouseover",hideDefaultMarker);YAHOO.util.Event.removeListener(YAHOO.util.Dom.getElementsByClassName("poiData","li","tabbedListsContainer"),"mouseover",hideDefaultMarker)}YAHOO.util.Event.addListener(this.targetElement,"mouseover",hideDefaultMarker,this,true);YAHOO.util.Event.addListener(YAHOO.util.Dom.getElementsByClassName("poiData","li","tabbedListsContainer"),"mouseover",hideDefaultMarker,this,true)};GmapsVacationMarkerManager.prototype.createPoiMarkerFromHtmlElement=function(element,index){poiType=this.getPoiTypeFromHtmlElement(element);latitude=YAHOO.util.Dom.getElementsByClassName("poiLatitude",null,element)[0].innerHTML;longitude=YAHOO.util.Dom.getElementsByClassName("poiLongitude",null,element)[0].innerHTML;poi={numeral:(index=="reference")?0:index+1,type:poiType,loc:new GLatLng(latitude,longitude),outsideElement:element,infoboxElementId:element.id};var index=this.poiMarkers.length;return new GmapsVacationMarker(poi,this,index,this.printable)};GmapsVacationMarkerManager.prototype.createPaginationLinks=function(){var page=1;var pois=YAHOO.util.Dom.getElementsByClassName("poiData",null,document.getElementById(this.elementId));this.numberOfPages=Math.ceil(pois.length/this.elementsPerPage);if(this.numberOfPages>1){this.paginationElement=YAHOO.util.Dom.getElementsByClassName("poiListPaginationLinks",null,document.getElementById(this.elementId))[0];this.paginationElement.innerHTML="";for(var i=0;i<this.numberOfPages;i++){link=document.createElement("a");link.innerHTML=page;if(page==this.page){link.className="selected"}link.href="javascript:loadMap('"+this.elementId+"', 'map', "+page+", '"+this.size+"', true);";this.paginationElement.appendChild(link);page++}var previousPage=this.page-1;var previousLink=YAHOO.util.Dom.getElementsByClassName("previousLink",null,document.getElementById(this.elementId))[0];if(previousPage>0){previousLink.href="javascript:loadMap('"+this.elementId+"', 'map', "+previousPage+", '"+this.size+"', true);"}else{previousLink.href="javascript:void(0);"}var nextPage=this.page+1;var nextLink=YAHOO.util.Dom.getElementsByClassName("nextLink",null,document.getElementById(this.elementId))[0];if(nextPage<=this.numberOfPages){nextLink.href="javascript:loadMap('"+this.elementId+"', 'map', "+nextPage+", '"+this.size+"', true);"}else{nextLink.href="javascript:void(0);"}}else{var paginationElement=YAHOO.util.Dom.getElementsByClassName("pagination_right",null,document.getElementById(this.elementId))[0];paginationElement.style.display="none"}var sizeToggle=YAHOO.util.Dom.getElementsByClassName("mapSizeToggle",null,document.getElementById(this.elementId))[0];switch(this.size){case"small":sizeToggle.href='javascript:showLargeMap("'+this.elementId+'");';sizeToggle.innerHTML="View Larger Map";break;case"large":sizeToggle.href='javascript:showSmallMap("'+this.elementId+'");';sizeToggle.innerHTML="View Smaller Map";break}};GmapsVacationMarkerManager.prototype.selectPageLink=function(page){if(this.numberOfPages>1){var pageLinks=this.paginationElement.getElementsByTagName("a");for(var i=0;i<pageLinks.length;i++){var index=i+1;if(index==page){pageLinks[i].className="selected"}else{pageLinks[i].className=""}}}};GmapsVacationMarkerManager.prototype.fitMapToPois=function(){for(var i=0;i<this.poiMarkers.length;i++){if(this.allMarkersBounds==null){if(this.referenceMarker!=null){this.allMarkersBounds=new GLatLngBounds(this.referenceMarker.loc,this.referenceMarker.loc);this.allMarkersBounds.extend(this.poiMarkers[i].loc)}else{this.allMarkersBounds=new GLatLngBounds(this.poiMarkers[i].loc,this.poiMarkers[i].loc)}}else{this.allMarkersBounds.extend(this.poiMarkers[i].loc)}}var center=this.allMarkersBounds.getCenter();var zoomLevel=this.gmap.getBoundsZoomLevel(this.allMarkersBounds)-1;this.gmap.setCenter(center,zoomLevel);var timeoutObject=this;var pixCenter=this.gmap.fromLatLngToDivPixel(center);pixCenter.x=pixCenter.x+35;pixCenter.y=pixCenter.y-60;center=this.gmap.fromDivPixelToLatLng(pixCenter);timeoutObject.gmap.setCenter(center,zoomLevel)};function GmapsNearbyMarkerManager(elementId,targetElementId,gmap,page,size,printable){this.gmap=gmap;this.targetElement=document.getElementById(targetElementId);this.mapPositionElement=this.targetElement.getElementsByTagName("div")[0].getElementsByTagName("div")[0];this.printable=printable;this.page=page;this.size=size;this.elementsPerPage=(size=="large")?15:5;this.elementId=elementId;this.savedPosition=false;this.allMarkersBounds=null;this.boxOpened=false;this.createMapTabMouseBindings();this.getPoisFromHtml();this.fitMapToPois();this.addPoiMarkersToMap()}GmapsNearbyMarkerManager.prototype=new GmapsSweetMarkerManager();GmapsNearbyMarkerManager.prototype.createPoiMarkerFromHtmlElement=function(element,index){poiType=this.getPoiTypeFromHtmlElement(element);latitude=YAHOO.util.Dom.getElementsByClassName("poiLatitude",null,element)[0].innerHTML;longitude=YAHOO.util.Dom.getElementsByClassName("poiLongitude",null,element)[0].innerHTML;poi={numeral:(index=="reference")?0:index+1,type:poiType,loc:new GLatLng(latitude,longitude),outsideElement:element,infoboxElementId:element.id};var index=this.poiMarkers.length;return new GmapsNearbyMarker(poi,this,index,this.printable)};GmapsNearbyMarkerManager.prototype.fitMapToPois=function(){for(var i=0;i<this.poiMarkers.length;i++){if(this.allMarkersBounds==null){if(this.referenceMarker!=null){this.allMarkersBounds=new GLatLngBounds(this.referenceMarker.loc,this.referenceMarker.loc);this.allMarkersBounds.extend(this.poiMarkers[i].loc)}else{this.allMarkersBounds=new GLatLngBounds(this.poiMarkers[i].loc,this.poiMarkers[i].loc)}}else{this.allMarkersBounds.extend(this.poiMarkers[i].loc)}}var center=this.allMarkersBounds.getCenter();var zoomLevel=this.gmap.getBoundsZoomLevel(this.allMarkersBounds)-1;this.gmap.setCenter(center,zoomLevel);var timeoutObject=this;var pixCenter=this.gmap.fromLatLngToDivPixel(center);var shakeCenter=new GPoint(pixCenter.x,pixCenter.y);pixCenter.y=pixCenter.y-8;center=this.gmap.fromDivPixelToLatLng(pixCenter);shakeCenter.x=pixCenter.x+1000;shakeCenter.y=pixCenter.y-1000;var tempCenter=this.gmap.fromDivPixelToLatLng(shakeCenter);timeoutObject.gmap.setCenter(center,zoomLevel)};function showLargeMap(sourceElement){YAHOO.util.Dom.addClass(background,"mapLarge");YAHOO.util.Dom.removeClass(background,"mapSmall");var backgroundHeight=700;var backgroundWidth=1021;var viewportHeight=YAHOO.util.Dom.getViewportHeight();var viewportWidth=YAHOO.util.Dom.getViewportWidth();var scrollTop=YAHOO.util.Dom.getDocumentScrollTop();var topCorrection=scrollTop-0+((viewportHeight-backgroundHeight)/2);var leftCorrection=((viewportWidth-backgroundWidth)/2);topCorrecetion=(topCorrection<0)?0:topCorrection;leftCorrecetion=(leftCorrection<0)?0:leftCorrection;background.style.top=topCorrection+"px";background.style.left=leftCorrection+"px";createLargeMapTabLinks();loadMap(sourceElement,"map",1,"large",true)}function showSmallMap(sourceElement){YAHOO.util.Dom.addClass(background,"mapSmall");YAHOO.util.Dom.removeClass(background,"mapLarge");var backgroundHeight=490;var backgroundWidth=860;var viewportHeight=YAHOO.util.Dom.getViewportHeight();var viewportWidth=YAHOO.util.Dom.getViewportWidth();var scrollTop=YAHOO.util.Dom.getDocumentScrollTop();var topCorrection=scrollTop-0+((viewportHeight-backgroundHeight)/2);var leftCorrection=((viewportWidth-backgroundWidth)/2);topCorrecetion=(topCorrection<0)?0:topCorrection;leftCorrecetion=(leftCorrection<0)?0:leftCorrection;background.style.top=topCorrection+"px";background.style.left=leftCorrection+"px";createSmallMapTabLinks();loadMap(sourceElement,"map",1,"small",true)}function createLargeMapTabLinks(){var navLinks=YAHOO.util.Dom.getElementsByClassName("poiTabTrigger","li","mapPoiTabs");for(var i=0;i<navLinks.length;i++){var innerLink=navLinks[i].getElementsByTagName("a")[0];innerLink.href=innerLink.href.replace(/small/,"large")}}function createSmallMapTabLinks(){var navLinks=YAHOO.util.Dom.getElementsByClassName("poiTabTrigger","li","mapPoiTabs");for(var i=0;i<navLinks.length;i++){var innerLink=navLinks[i].getElementsByTagName("a")[0];innerLink.href=innerLink.href.replace(/large/,"small")}}function cleanUpPriorMap(){if(poiMarkers!=undefined){poiMarkers.closeAllInfoboxes();poiMarkers.cleanUpMapTimeouts();poiMarkers.cleanUpMapMedia()}}function closeItinMap(){cleanUpPriorMap();GUnload();map=null;document.getElementById("map").innerHTML="";document.body.removeChild(darkness);background.style.display="none";var mapEl=document.getElementById("gmapOverlayContainer");mapEl.style.display="none";window.scrollBy(0,mapCloseUnScroll)}function makePoiListTabActive(poiListId){var tabs=YAHOO.util.Dom.getElementsByClassName("poiTabTrigger",null,document.getElementById("mapPoiTabs"));YAHOO.util.Dom.removeClass(tabs,"ui-tabs-selected");YAHOO.util.Dom.addClass(poiListId,"ui-tabs-selected")}function hideKey(){document.getElementById("hideKey").className="hiddenKey";document.getElementById("hideKeyBack").className="hiddenKey";document.getElementById("hideKeyLink").href="javascript:showKey();";document.getElementById("hideKeyLink").innerHTML="Show Key";document.getElementById("hideKeyLink").blur()}function showKey(){document.getElementById("hideKey").className="";document.getElementById("hideKeyBack").className="";document.getElementById("hideKeyLink").href="javascript:hideKey();";document.getElementById("hideKeyLink").innerHTML="Hide Key";document.getElementById("hideKeyLink").blur()}