var mapId="mapControl";var myMap1;function homeInit(){VIDEO_PLUGIN=new VideoPlugin;CATEGORY_CONTAINER=new CategoryContainer;Url=new UrlUtils;Lat49={initAds:noop,fetchCSS:noop,updateMultiAdsByLatLon:noop,updateAdByLatLon:noop,Ads:{},AdHelper:function(){}};disactivatePrintCss();init();window.setInterval("refreshAds()",TANAD_REFRESH_INTERVAL_SECONDS*1E3);if(SHOW_SPLASH)showPromotionalWindowIfFirstVisit()}
function initQuickSearchField(){var oQuickSearchField=document.getElementById("quickSearchField");oQuickSearchField.setAttribute("default","Search Map");oQuickSearchField.onfocus=function(e){if(this.value==this.getAttribute("default"))this.value="";else this.select()};oQuickSearchField.onblur=function(e){if(this.value=="")this.value=this.getAttribute("default")};oQuickSearchField.onkeydown=function(e){var keycode=null;var oContent=this.value;if(window.event)keycode=window.event.keyCode;else if(e)keycode=
e.which;if(keycode==13){var oCategoy=CATEGORY_CONTAINER.get("quicksearch");if(oContent!=""){oCategoy.activate();oCategoy.searchForScreen(1,oContent)}else oCategoy.disactivate()}};oQuickSearchField.onblur()}
function init(){if(arguments.callee.done)return;arguments.callee.done=true;initEmailDialog();var pt=getURLParams().pt;onWindowResize();YAHOO.util.Event.addListener(window,"resize",onWindowResize);showtab(1);sizeWholeWindow();myMap1=new RMMap("mapControl");myMap=deCarta.App.mainWrapper("master_control","mapControl","toolbar","map_footer");if(YAHOO.env.ua.ie)myMap.setDigitalZoomEnabled(false);myMap.mapId="mapControl";var infoWindow=myMap.getInfoWindow();infoWindow.setAutoCenter(false);infoWindow.centerNow=
function(){var j=this.associatedPin;if(!(j&&j.map))return;var z=j.map;var f=j.pinImg.clientHeight;var m=j.pinImg.clientWidth;var w=parseInt(j.pinImg.style.top);var B=parseInt(j.pinImg.style.left);var C=Utilities.radsPerPixelAtZoomLevel(z.getTileSize(),z.getZoomController().selected);var p=j.getViewableBoundingBox(C);var A=p.getUpperLeftPosition();var r=z.posToMercPix(A);var y=new PixelPoint(r.x+m,r.y-f);var u=this.bubble.clientHeight;var t=this.bubble.clientWidth;var l=parseInt(this.bubble.style.top);
var s=parseInt(this.bubble.style.left);var n=r.y+(w-l);var b=r.x-(B-s);var a=new PixelPoint(b,n);var h=new PixelPoint(b+t,n-u);var o=new PixelPoint(b,n-u);var k=new PixelPoint(b+t,n);var c=z.mercPixToPos(o);var q=z.mercPixToPos(k);var d=new BoundingBox(c,q);var g=d.getCenterPosition();var currentPosition=deCarta.App.map.getCenterPosition();z.panToPosition(g)}.scope(infoWindow);infoWindow.setOnClose(function(){var infoWindow=deCarta.App.map.getInfoWindow();var pin=infoWindow.associatedPin;if(pin&&
pin.id&&/^route-step-/.test(pin.id))pin.hide();infoWindow.associatedPin=null});infoWindow.setOnHide(function(){var infoWindow=deCarta.App.map.getInfoWindow();var pin=infoWindow.associatedPin;if(pin&&pin.id&&/^route-step-/.test(pin.id))pin.hide()});getCEM().subscribeEvent(RMEvent.Service.COMPLETE,mapId,RMMap_removeWaitingWindow,myMap);document.getElementById("searchToDirectionsButton").onclick=function(){goToDirections(document.getElementById("txtPlaceAddress").value,document.getElementById("selMapLocale").value)};
deCarta.App.RMZoomBar=RMMap_addZoomBar2();YAHOO.util.Event.addListener("tileportcheck","click",function(ev){if(this.checked);else;});var wpFactory=new WaypointFactory("rm_location_template");poiPanel=new POIPanel("place_search_header");var acInputLoc=new RMAutoComplete("txtPlaceAddress",null,null,27,16,function(wordLimit){var panel=YAHOO.util.Dom.getXY(this._elContainer.parentNode);new RMErrorWindow("error",285,panel[1]+6,RMResources.TOO_MANY_WORDS_PREFIX+this.wordLimit+RMResources.TOO_MANY_WORDS_SUFFIX)});
acInputLoc.getAutoCompleteObject().doBeforeExpandContainer=function(oTextbox,oContainer,sQuery,aResults){var pos=YAHOO.util.Dom.getXY(oTextbox);pos[1]+=YAHOO.util.Dom.get(oTextbox).offsetHeight;YAHOO.util.Dom.setXY(oContainer,pos);YAHOO.util.Dom.setStyle(oContainer,"width","155px");return true};var acInputPOI=new RMAutoComplete("txtPlace",null,"cat=poi&val",50);acInputPOI.getAutoCompleteObject().doBeforeExpandContainer=function(oTextbox,oContainer,sQuery,aResults){var pos=YAHOO.util.Dom.getXY(oTextbox);
pos[1]+=YAHOO.util.Dom.get(oTextbox).offsetHeight;YAHOO.util.Dom.setXY(oContainer,pos);YAHOO.util.Dom.setStyle(oContainer,"width","284px");return true};poiPanel.setMap(myMap);poiPanel.setForm("poiform");if(pt!=null)YAHOO.util.Event.addListener("poiform","submit",function(e){document.title="Rand McNally Maps and Directions"},null,poiPanel);directionPanel=new DirectionPanel("maps_dir_content");directionPanel.setForm("dirform");directionPanel.setMap(myMap);singleLineBox=wpFactory.createWaypointPanel("location_a",
"A");singleLineBox.setMap(myMap);singleLineBox.activateGeocoding();directionPanel.addWaypointPanel(singleLineBox);var locB=wpFactory.createWaypointPanel("location_b","B");locB.setMap(myMap);directionPanel.addWaypointPanel(locB);RMUtils.getEl("map_version").innerHTML=MAP_REVISION;clearPOIList();if(window.location.href.indexOf("?")>-1)processURLParams();if(pt!=null)getCEM().subscribeEvent(RMEvent.Service.READY,myMap.mapId,function(e,a,m){document.title="Rand McNally Maps and Directions"},null);deCarta.App.RMZoomBar.setMap(myMap);
deCarta.App.RMZoomBar.updateSliderFromZoomController();EventRegistry.addListener(deCarta.App.map,"zoomend",function(){getCEM().fireEvent(RMEvent.Zoom.COMPLETE,deCarta.App.map.mapId,null)});if(!YAHOO.env.ua.ie)getCEM().subscribeEvent(RMEvent.Zoom.COMPLETE,deCarta.App.map.mapId,function(){if(deCarta.App.zoom.getZoomLevel()>16)$(deCarta.App.overView.frame).hide();else{$(deCarta.App.overView.frame).show();if(deCarta.App.UserPreferences.showOverviewMap)deCarta.App.overView.open();else deCarta.App.overView.close()}});
$(deCarta.App.overView.frame).hide();$("#MapOverviewToggle").click(function(e){deCarta.App.UserPreferences.showOverviewMap=deCarta.App.overView.mapVisible;deCarta.App.UserPreferences.save()})};function validateFormSearch(thisform){with(thisform){var myRegxp=new RegExp("([a-zA-Z0-9_-]+)$");if((what.value==null||what.value=="")&&(where.value==null||where.value=="")){alert("Please enter a search query.");what.focus();return false}if(!what.value.match(myRegxp)&&!where.value.match(myRegxp)){alert("Please enter a correct search query.");what.focus();return false}}var re=new RegExp(document.demoMatch.regex.value);if(document.demoMatch.subject.value.match(re))alert("Successful match")}
function setSearchCaption(captionId,action){var defaultValue="Address, City, State, or Zip";if($("#"+captionId).val()==defaultValue)$("#"+captionId).val("");if(action=="blur"&&$("#"+captionId).val()=="")$("#"+captionId).val(defaultValue)}function validateEmail(email){var reg=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;if(reg.test(email)==false)return false;else return true}
function getDocumentScrollTop(){var oAnswer=window.document.body.scrollTop;if(oAnswer==null||oAnswer==0)oAnswer=window.document.documentElement.scrollTop;return oAnswer}function changeCssStateForHref(pHref,pState){var oStyleSheets=document.styleSheets;for(var i in oStyleSheets){var oStyleSheet=oStyleSheets[i];if(oStyleSheet.href!=null&&oStyleSheet.href.indexOf(pHref)!=-1){oStyleSheet.disabled=pState;break}}}function disactivateCssForHref(pHref){changeCssStateForHref(pHref,true)}
function activateCssForHref(pHref){changeCssStateForHref(pHref,false)}function disactivateCss(pIndex){document.styleSheets[pIndex].disabled=true}function activateCss(pIndex){document.styleSheets[pIndex].disabled=false}
function clearSearch(){try{CATEGORY_CONTAINER.disacivateAll();var oWhatInput=document.getElementById("txtPlace");var oWhereInput=document.getElementById("txtPlaceAddress");var oQuickSearchInput=document.getElementById("quickSearchField");var oInputs=new Array;if(oWhatInput!=null)oInputs.push(oWhatInput);if(oWhereInput!=null)oInputs.push(oWhereInput);if(oQuickSearchInput!=null)oInputs.push(oQuickSearchInput);for(var i in oInputs){var oInput=oInputs[i];oInput.value="";oInput.onblur()}}catch(ignored){}}
function callTracker(pUrl){var oEscapedUserAgent=escape(navigator.userAgent);var oUrl=pUrl+oEscapedUserAgent;var rblPxl=new Image;rblPxl.src=oUrl}function launchPrint(){try{window.print()}catch(ignored){}}
function changeDisplay(ctrl,btn){var style=document.getElementById(ctrl).style.display;if(style=="none")document.getElementById(ctrl).style.display="block";else document.getElementById(ctrl).style.display="none";try{if(document.getElementById("map_display").offsetTop>380)document.getElementById("map_display").style.pageBreakBefore="always";else document.getElementById("map_display").style.pageBreakBefore="avoid"}catch(e){}}
function showRandomTripologySentence(pCityName){var oLinkId="tripologyLink";var oCityName=pCityName;var oLink=document.getElementById(oLinkId);var oCityNameToken="$city_name;";var SENTENCES=["Need help planning your trip to "+oCityNameToken+"? Let Tripology connect you to a Travel Specialist now!","Let Tripology connect you with a "+oCityNameToken+" Travel Specialist now!  It&#39;s FREE.","Hassle and stress-free travel planning with the help of a Tripology Travel Specialist &#45; get connected now!",
"Save time. Get connected to one of Tripology&#39;s 15,000 Travel Specialists to plan your trip to "+oCityNameToken+"!"];var LINKS=["http://www.tripology.com/?cmpid=RM_MD_1","http://www.tripology.com/?cmpid=RM_MD_2","http://www.tripology.com/?cmpid=RM_MD_3","http://www.tripology.com/?cmpid=RM_MD_4"];var randomIndex=Math.floor(Math.random()*SENTENCES.length);if(pCityName==null||pCityName=="")randomIndex=2;var oSentence=SENTENCES[randomIndex].replace(oCityNameToken,pCityName);oLink.href=LINKS[randomIndex];
oLink.innerHTML=oSentence}function showHotDealsAds(pAddress){var oCityName=null;if(pAddress!=null)oCityName=pAddress.city;showRandomTripologySentence(oCityName)}
function logRouteInformation(pRoute,pRouteIndex){if(!IS_LOGGING_ACTIVE)return;var oStartIndex=pRouteIndex;var oStartAddress=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[oStartIndex]]._geocodedAddress;var oEndAddress=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[oStartIndex+1]]._geocodedAddress;if(oStartAddress==null||oEndAddress==null){console.log("error while logRouteInformation");return}pRoute.start.state=oStartAddress.state;pRoute.start.county=
oStartAddress.county;pRoute.start.city=oStartAddress.city;pRoute.start.postalCode=oStartAddress.zip;pRoute.start.street=oStartAddress.street;pRoute.end.state=oEndAddress.state;pRoute.end.county=oEndAddress.county;pRoute.end.city=oEndAddress.city;pRoute.end.postalCode=oEndAddress.zip;pRoute.end.street=oEndAddress.street;var url="logRouteInfo.do?from="+JSON.stringify(pRoute.start)+"&to="+JSON.stringify(pRoute.end)+"&distance="+pRoute.distance+"&time="+pRoute.time+"&maneuverCount="+pRoute.maneuverCount;
sendRequest(url)}
function logLocationInformation(pLocation,deCartaGeocodedAddress){if(!IS_LOGGING_ACTIVE)return;var oLocation=new Object;oLocation.lon=pLocation.latLongPosition.lon;oLocation.lat=pLocation.latLongPosition.lat;oLocation.precision=pLocation.precision;oLocation.street=pLocation.street;oLocation.city=pLocation.city;oLocation.state=pLocation.state;oLocation.county=pLocation.county;oLocation.postalCode=pLocation.zip;oLocation.country=pLocation.country;oLocation.code=null;oLocation.name=pLocation.addressName;
var url="logLocationInfo.do?location="+JSON.stringify(oLocation);sendRequest(url)}function hideNavColumn(){deCarta.App.UI.expandMap()}function showNavColumn(){deCarta.App.UI.shrinkMap()}
function setNavColumn(isDisplayed){var hideButton=document.getElementById("master_control_hide_button");var showButton=document.getElementById("master_control_show_button");var masterControl=document.getElementById("master_control");var leftishColumn=document.getElementById("map_display");var oMapControl=document.getElementById("mapControl");var oOriginalWidth=oMapControl.offsetWidth;var oPostModificationWidth,oDeltaWidth,oPanLength;showButton.style.display=isDisplayed?"none":"inline";masterControl.style.display=
isDisplayed?"block":"none";hideButton.style.display=isDisplayed?"block":"none"}
function goToDirections(pAddress,pLocale){var oDirectionsFromField=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[0]];var oDirectionsToField=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[1]];try{directionPanel.clearDirections()}catch(ignored){}singleLineBox.deactivateGeocoding();singleLineBox.activateRouting();if(pAddress!=null&&pAddress!=""&&pAddress!=sDefaultAddress)try{oDirectionsToField._inputbox.onfocus();oDirectionsToField.setAddress(pAddress);
if(undefined!=pLocale&&null!=pLocale&&pLocale!="")oDirectionsToField._mapLocaleSel.value=pLocale}catch(ignored){}else{showLabel(oDirectionsToField._inputbox,sDefaultAddress);oDirectionsToField._mapLocaleSel.value="US-EN"}oDirectionsFromField._mapLocaleSel.value="US-EN";LEFTCOLUMNSCROLLLEVEL[0]=0;showtab(0);CATEGORY_CONTAINER.insertResultsInSponsorAdField("");CATEGORY_CONTAINER.get("default").displayPanel();showLabel(oDirectionsFromField._inputbox,sDefaultAddress)}
function activateTypeForCity(pType,pZoomLevel,pLat,pLon){var oCategory=CATEGORY_CONTAINER.get(pType);if(pType!="video"&&oCategory==null)return;deCarta.App.RMZoomBar().setDeCartaZoomLevel(pZoomLevel);myMap.panToPosition(new Position(pLat,pLon),function(args){if(pType=="video"){if(!VIDEO_PLUGIN.isActive())VIDEO_PLUGIN.activate()}else if(!oCategory.isActive())oCategory.activate(true);for(var i in CATEGORY_CONTAINER.mCategories){var oTemp=CATEGORY_CONTAINER.mCategories[i];if(oTemp.isActive()&&oTemp.getType()!=
"default")if(oTemp.getType()=="video")setTimeout("VIDEO_PLUGIN.getVideosForGeoPosition()",1E3);else oTemp.searchForPosition(1,null,pLat,pLon,1)}})}
function updateDestinationExplorer(pCityName,pZoom,pLat,pLon){var oDestinationExplorer=document.getElementById("destination-explorer");if(oDestinationExplorer==null)return;var oLinkClassMatcher=/^poi-tab-(\w+)$/;if(pCityName==null||pCityName.length==0){oDestinationExplorer.style.display="none";return}else oDestinationExplorer.style.display="block";for(var i in oDestinationExplorer.childNodes){var oChild=oDestinationExplorer.childNodes[i];if(oChild.nodeType==1)switch(oChild.tagName.toLowerCase()){case "h2":oChild.innerHTML=
pCityName;break;case "ul":for(var j in oChild.childNodes){var oChild2=oChild.childNodes[j];if(oChild2.nodeType==1&&oChild2.tagName.toLowerCase()=="li")for(var k in oChild2.childNodes){var oChild3=oChild2.childNodes[k];if(oChild3.nodeType==1&&oChild3.tagName.toLowerCase()=="a"){var oMatches=oChild3.className.match(oLinkClassMatcher);if(oMatches)oChild3.href="javascript:activateTypeForCity('"+RegExp.$1+"',"+pZoom+","+pLat+","+pLon+");"}}}}}}function refreshAds(){refreshAd1();refreshBannerAd()}
function refreshAd1(){refreshTanAd("ad1Iframe")}function refreshBannerAd(){refreshTanAd("ad-728x90")}
function refreshTanAd(pId){var theIframe=document.getElementById(pId);if(theIframe==null)return;var oUrl=theIframe.src.split("?")[0];var oUrlParams=new Array;var oDestination;var oPoiPanel=document.getElementById("find_place");var oDirectionsPanel=document.getElementById("maps_dir");var oCountryName,oStateName,oCityName;if(oDirectionsPanel.style.display!="none")oDestination=directionPanel.arrayOfAddresses[directionPanel.arrayOfAddresses.length-1];else if(oPoiPanel.style.display!="none")oDestination=
poiPanel._geocodedAddress;if(oDestination!=null){oCountryName=oDestination.country!=null&&oDestination.country!=""?oDestination.country:"USA";oStateName=oDestination.state!=null&&oDestination.state!=""?oDestination.state.replace(" ","+"):null;oCityName=oDestination.city!=null&&oDestination.city!=""?oDestination.city.replace(" ","+"):null;oUrlParams.push("country="+oCountryName);if(oStateName!=null){oUrlParams.push("state="+oStateName);if(oCityName!=null)oUrlParams.push("city="+oCityName)}}theIframe.src=
null;if(oUrlParams.length>0)oUrl+="?"+oUrlParams.join("&");theIframe.src=oUrl}function getInnerHeight(){var oAnswer;if(isIE)oAnswer=window.document.documentElement.clientHeight;else oAnswer=window.innerHeight;return oAnswer}
function UrlUtils(){this.decode=function(pText){return pText.replace(/%20/g,"&#32;").replace(/%21/g,"&#33;").replace(/%22/g,"&#34;").replace(/%23/g,"&#35;").replace(/%24/g,"&#36;").replace(/%25/g,"&#37;").replace(/%26/g,"&amp;").replace(/%27/g,"&#39;").replace(/%28/g,"&#40;").replace(/%29/g,"&#41;").replace(/%2A/g,"&#42;").replace(/%2B/g,"&#43;").replace(/%2C/g,"&#44;").replace(/%2D/g,"&#45;").replace(/%2E/g,"&#46;").replace(/%2F/g,"&#47;").replace(/%3F/g,"?").replace(/\+/g," ")};this.encode=function(pText){return encodeURI(pText)}}
function showStarBusiness(pSponsorElement,pOffsetX,pOffsetY){if(pSponsorElement==null)return;if(pOffsetX==null)pOffsetX=0;if(pOffsetY==null)pOffsetY=0;var oMap=myMap;var oStar=getStarBusiness();var oLat=pSponsorElement.getAttribute("lat");var oLon=pSponsorElement.getAttribute("lon");var oLatLon=new LatLong(oLat,oLon);var pixelPoint=myMap.getWCS().LatLonToPixels(oLatLon);var oXoffset=0-(oStar.offsetWidth/2+pOffsetX);var oYoffset=0-(oStar.offsetHeight+pOffsetY);var oTop=pixelPoint.y+oYoffset;var oLeft=
pixelPoint.x+oXoffset;oStar.style.left=oLeft+"px";oStar.style.top=oTop+"px";oStar.style.display="block"}function getStarBusiness(){var oAnswer=document.getElementById("starBusinessIcon");if(oAnswer==null)oAnswer=createStarBusiness();return oAnswer}function createStarBusiness(){var oAnswer=document.createElement("DIV");var oContainer=document.getElementById("mapControl_RMPANEL");oAnswer.id="starBusinessIcon";oAnswer.style.display="none";oContainer.appendChild(oAnswer);return oAnswer}
function hideStarBusiness(){getStarBusiness().style.display="none"}function clearMap(){directionPanel.clearDirections();showtab(1)}function stopEventPropagation(pEvent){var oEvent=pEvent||window.event;if(oEvent.stopPropagation)oEvent.stopPropagation();else oEvent.cancelBubble=true}
function addEventHandler(pElement,pEvent,pFunction,pCatch){if(pElement.addEventListener){if(!(pCatch===true))pCatch=false;pElement.addEventListener(pEvent,pFunction,pCatch)}else if(pElement.attachEvent)pElement.attachEvent("on"+pEvent,pFunction)}
function removeEventHandler(pElement,pEvent,pFunction,pCatch){if(pFunction==null)return;if(pElement.removeEventListener){if(!(pCatch===true))pCatch=false;pElement.removeEventListener(pEvent,pFunction,pCatch)}else if(pElement.detachEvent)pElement.detachEvent("on"+pEvent,pFunction)}
var getElementsByClassName=function(className,tag,elm){if(document.getElementsByClassName)getElementsByClassName=function(className,tag,elm){elm=elm||document;var elements=elm.getElementsByClassName(className),nodeName=tag?new RegExp("\\b"+tag+"\\b","i"):null,returnElements=[],current;for(var i=0,il=elements.length;i<il;i+=1){current=elements[i];if(!nodeName||nodeName.test(current.nodeName))returnElements.push(current)}return returnElements};else if(document.evaluate)getElementsByClassName=function(className,
tag,elm){tag=tag||"*";elm=elm||document;var classes=className.split(" "),classesToCheck="",xhtmlNamespace="http://www.w3.org/1999/xhtml",namespaceResolver=document.documentElement.namespaceURI===xhtmlNamespace?xhtmlNamespace:null,returnElements=[],elements,node;for(var j=0,jl=classes.length;j<jl;j+=1)classesToCheck+="[contains(concat(' ', @class, ' '), ' "+classes[j]+" ')]";try{elements=document.evaluate(".//"+tag+classesToCheck,elm,namespaceResolver,0,null)}catch(e){elements=document.evaluate(".//"+
tag+classesToCheck,elm,null,0,null)}while(node=elements.iterateNext())returnElements.push(node);return returnElements};else getElementsByClassName=function(className,tag,elm){tag=tag||"*";elm=elm||document;var classes=className.split(" "),classesToCheck=[],elements=tag==="*"&&elm.all?elm.all:elm.getElementsByTagName(tag),current,returnElements=[],match;for(var k=0,kl=classes.length;k<kl;k+=1)classesToCheck.push(new RegExp("(^|\\s)"+classes[k]+"(\\s|$)"));for(var l=0,ll=elements.length;l<ll;l+=1){current=
elements[l];match=false;for(var m=0,ml=classesToCheck.length;m<ml;m+=1){match=classesToCheck[m].test(current.className);if(!match)break}if(match)returnElements.push(current)}return returnElements};return getElementsByClassName(className,tag,elm)};
function changeFont(multiplier){var fontsize="13px";var segment_header_font="15px";var step_map_font="11px";if(multiplier=="1"){fontsize="14px";segment_header_font="16px";step_map_font="12px"}else if(multiplier=="2"){fontsize="15px";segment_header_font="17px";step_map_font="13px"}else if(multiplier=="3"){fontsize="16px";segment_header_font="18px";step_map_font="14px"}var divs=document.getElementsByTagName("div");var spans=document.getElementsByTagName("span");var td=document.getElementsByTagName("table");
var location_entry=getElementsByClassName("location_entry");var printermessage=getElementsByClassName("printer_message1");var segment_marker=getElementsByClassName("segment_marker");var segment_content=getElementsByClassName("segment_content");var poi_address=getElementsByClassName("poi-address");var notes=getElementsByClassName("add_a_note");var poi_details=getElementsByClassName("poi-details");var step_maps=getElementsByClassName("step_stepmaps");for(var i=0;i<printermessage.length;i++)printermessage[i].style.fontSize=
fontsize;for(var i=0;i<location_entry.length;i++)location_entry[i].style.fontSize=segment_header_font;for(var i=0;i<segment_content.length;i++)segment_content[i].style.fontSize=fontsize;for(var i=0;i<poi_address.length;i++)poi_address[i].style.fontSize=fontsize;for(var i=0;i<poi_details.length;i++)poi_details[i].style.fontSize=fontsize;for(var i=0;i<notes.length;i++)notes[i].style.fontSize=fontsize;for(var i=0;i<step_maps.length;i++)step_maps[i].style.fontSize=step_map_font;if(document.getElementById("print_choice")!=
null)document.getElementById("print_choice").style.fontSize=fontsize;if(document.getElementById("route_detail")!=null)document.getElementById("route_detail").style.fontSize=fontsize;if(document.getElementById("print_choice")!=null)document.getElementById("print_choice").style.fontSize=fontsize;try{if(document.getElementById("map_display").offsetTop>380)document.getElementById("map_display").style.pageBreakBefore="always";else document.getElementById("map_display").style.pageBreakBefore="avoid"}catch(e){}}
function copyVal(from,to){RMUtils.getEl(to).innerHTML=RMUtils.getEl(from).value}function roundAtDepth(pNumber,pDepth){if(pDepth!=null&&!isNaN(pDepth)){var oModifier=Math.pow(10,pDepth);return Math.round(pNumber*oModifier)/oModifier}else return Math.round(pNumber)}function detachAd1(){$("#ad1").removeClass("home-page")}function attachAd1(){$("#ad1").addClass("home-page")}
function requestTracker(pUri){if(pUri==null||pUri=="")return;var oImg=new Image;var oRandomNumber=(new Date).getTime()+""+Math.floor(Math.random()*1E6);var oSrc=appendSeparatorToUrl(pUri);var oToken="_random_";oSrc=oSrc.replace(oToken,""+oRandomNumber);oSrc+="p="+oRandomNumber;oImg.src=oSrc}function appendSeparatorToUrl(pUri){var oAnswer=pUri;if(pUri.split("?").length>1){if(pUri.split("?")[1].length>0)oAnswer+="&"}else oAnswer+="?";return oAnswer}
function countAreaChars(areaId,limit){var areaName=document.getElementById(areaId);if(areaName.value.length>limit){areaName.value=areaName.value.substring(0,limit);alert("You cannot enter more than "+limit+" character.")}}
function grayOut(vis,options){var options=options||{};var zindex=options.zindex||300;var opacity=options.opacity||70;var opaque=opacity/100;var bgcolor=options.bgcolor||"#000000";var forScreenDiv=RMUtils.getEl(options.div)||null;var dark=document.getElementById("darkenScreenObject");if(!dark){var tbody=document.getElementById("container");var tnode=document.createElement("div");tnode.style.position="absolute";tnode.style.top="0px";tnode.style.left="0px";tnode.style.overflow="hidden";tnode.style.display=
"none";tnode.id="darkenScreenObject";tbody.appendChild(tnode);dark=document.getElementById("darkenScreenObject")}if(vis){if(document.body&&(document.body.scrollWidth||document.body.scrollHeight)){var pageWidth=document.body.scrollWidth+"px";var pageHeight=document.body.scrollHeight+"px"}else if(document.body.offsetWidth){var pageWidth=document.body.offsetWidth+"px";var pageHeight=document.body.offsetHeight+"px"}else{var pageWidth="100%";var pageHeight="100%"}dark.style.opacity=opaque;dark.style.MozOpacity=
opaque;dark.style.filter="alpha(opacity="+opacity+")";dark.style.zIndex=zindex;dark.style.backgroundColor=bgcolor;dark.style.width=pageWidth;dark.style.height=pageHeight;dark.style.display="block";if(null!=forScreenDiv){forScreenDiv.style.opacity=1;forScreenDiv.style.MozOpacity=90;forScreenDiv.style.filter="alpha(opacity="+90+")";forScreenDiv.style.zIndex=700}}else dark.style.display="none"};function sendRequest(url,callback,postData,pXmlResponse){var req=createXMLHTTPObject();if(postData==false)postData=null;if(!req)return;var method=postData!=null?"POST":"GET";req.open(method,url,true);if(postData!=null)req.setRequestHeader("Content-type","application/x-www-form-urlencoded");if(callback==null)callback=function(){};req.onreadystatechange=function(){if(req.readyState==4)if(req.status==200||req.status==304){var oText=req.responseText;if(!pXmlResponse)callback(oText);else{var oXmlDoc;if(navigator.appName==
"Microsoft Internet Explorer"){oXmlDoc=new ActiveXObject("Microsoft.XMLDOM");oXmlDoc.async="false";oXmlDoc.loadXML(oText)}else if(window.DOMParser){parser=new DOMParser;oXmlDoc=parser.parseFromString(oText,"text/xml")}else{oXmlDoc=new ActiveXObject("Microsoft.XMLDOM");oXmlDoc.async="false";oXmlDoc.loadXML(oText)}if(oXmlDoc!=null)callback(oXmlDoc);else callback(oText)}}};if(req.readyState==4)return;req.send(postData);return req}
var XMLHttpFactories=[function(){return new XMLHttpRequest},function(){return new ActiveXObject("Microsoft.XMLHTTP")},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml3.XMLHTTP")}];function createXMLHTTPObject(){for(var i=0;i<XMLHttpFactories.length;i++)try{return XMLHttpFactories[i]()}catch(e){}}function sendRequest2(pUrl,pCallback){$.ajax({url:pUrl,success:function(pData){pCallback(pData)},crossDomain:true})};function StringBuilder(value){this.mStrings=new Array("");this.append(value)}StringBuilder.prototype.append=function(value){if(value)this.mStrings.push(value)};StringBuilder.prototype.clear=function(){this.mStrings.length=1};StringBuilder.prototype.toString=function(){return this.mStrings.join("")};if(!this.JSON)this.JSON={};
(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=
/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,
mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function")value=value.toJSON(key);if(typeof rep==="function")value=rep.call(holder,key,value);switch(typeof value){case "string":return quote(value);case "number":return isFinite(value)?String(value):"null";case "boolean":case "null":return String(value);case "object":if(!value)return"null";gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=
1)partial[i]=str(i,value)||"null";v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==="string"){v=str(k,value);if(v)partial.push(quote(k)+(gap?": ":":")+v)}}}else for(k in value)if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v)partial.push(quote(k)+(gap?": ":":")+v)}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+
gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function")JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number")for(i=0;i<space;i+=1)indent+=" ";else if(typeof space==="string")indent=space;rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number"))throw new Error("JSON.stringify");return str("",{"":value})};if(typeof JSON.parse!=="function")JSON.parse=
function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object")for(k in value)if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined)value[k]=v;else delete value[k]}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text))text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)});if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse");}})();var base64alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function Base64Reader(base64){this.position=0;this.base64=base64;this.bits=0;this.bitsLength=0;this.readByte=function(){if(this.bitsLength==0){var tailBits=0;while(this.position<this.base64.length&&this.bitsLength<24){var ch=this.base64.charAt(this.position);++this.position;if(ch>" "){var index=base64alphabet.indexOf(ch);if(index<0)throw"Invalid character";if(index<64){if(tailBits>0)throw"Invalid encoding (padding)";this.bits=this.bits<<6|index}else{if(this.bitsLenght<8)throw"Invalid encoding (extra)";
this.bits<<=6;tailBits+=6}this.bitsLength+=6}}if(this.position>=this.base64.length)if(this.bitsLength==0)return-1;else if(this.bitsLength<24)throw"Invalid encoding (end)";if(tailBits==6)tailBits=8;else if(tailBits==12)tailBits=16;this.bits=this.bits>>tailBits;this.bitsLength-=tailBits}this.bitsLength-=8;var code=this.bits>>this.bitsLength&255;return code}}
function BitReader(reader){this.bitsLength=0;this.bits=0;this.reader=reader;this.readBit=function(){if(this.bitsLength==0){var nextByte=this.reader.readByte();this.bits=nextByte;this.bitsLength=8}var bit=(this.bits&1)!=0;this.bits>>=1;--this.bitsLength;return bit};this.align=function(){this.bitsLength=0};this.readLSB=function(length){var data=0;for(var i=0;i<length;++i)if(this.readBit())data|=1<<i;return data};this.readMSB=function(length){var data=0;for(var i=0;i<length;++i)if(this.readBit())data=
data<<1|1;else data<<=1;return data}}
function TextReader(translator){this.translator=translator;this.unreads=new Array(0);this.readChar=function(){if(this.unreads.length>0)return this.unreads.pop();else return translator.readChar()};this.unreadChar=function(ch){this.unreads.push(ch)};this.readToEnd=function(){var slarge="";var s="";var oTest=true;while(oTest)try{var ch=this.readChar();if(ch==null)oTest=false;else{s+=ch;if(s.length>1E3){slarge+=s;s=""}}}catch(e){oTest=false}return slarge+s};this.readLine=function(){var s="";var ch=this.readChar();
if(ch==null)return null;while(ch!="\r"&&ch!="\n"){s+=ch;ch=this.readChar();if(ch==null)return s}if(ch=="\r"){ch=this.readChar();if(ch!=null&&ch!="\n")this.unreadChar(ch)}return s}}function DefaultTranslator(reader){this.reader=reader;this.readChar=function(){var code=reader.readByte();return code<0?null:String.fromCharCode(code)}}
function UnicodeTranslator(reader){this.reader=reader;this.bomState=0;this.readChar=function(){var b1=reader.readByte();if(b1<0)return null;var b2=reader.readByte();if(b2<0)throw"Incomplete unicode character";if(this.bomState==0&&b1+b2==509){this.bomState=b2==254?1:2;b1=reader.readByte();if(b1<0)return null;b2=reader.readByte();if(b2<0)throw"Incomplete unicode character";}else this.bomState=1;var code=this.bomState==1?b2<<8|b1:b1<<8|b2;return String.fromCharCode(code)}}
function Utf8Translator(reader){this.reader=reader;this.waitBom=true;this.pendingChar=null;this.readChar=function(){var ch=null;do{if(this.pendingChar!=null){ch=this.pendingChar;this.pendingChar=null}else{var b1=this.reader.readByte();if(b1<0)return null;if((b1&128)==0)ch=String.fromCharCode(b1);else{var currentPrefix=192;var validBits=5;do{var mask=currentPrefix>>1|128;if((b1&mask)==currentPrefix)break;currentPrefix=currentPrefix>>1|128;--validBits}while(validBits>=0);if(validBits>0){var code=b1&
(1<<validBits)-1;for(var i=5;i>=validBits;--i){var bi=this.reader.readByte();if((bi&192)!=128)throw"Invalid sequence character";code=code<<6|bi&63}if(code<=65535)if(code==65279&&this.waitBom)ch=null;else ch=String.fromCharCode(code);else{var v=code-65536;var w1=55296|v>>10&1023;var w2=56320|v&1023;this.pendingChar=String.fromCharCode(w2);ch=String.fromCharCode(w1)}}else throw"Invalid character";}}this.waitBom=false}while(ch==null);return ch}}var staticCodes,staticDistances;
var encodedLengthStart=new Array(3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258);var encodedLengthAdditionalBits=new Array(0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0);var encodedDistanceStart=new Array(1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577);var encodedDistanceAdditionalBits=new Array(0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13);
var clenMap=new Array(16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15);
function buildCodes(lengths){var codes=new Array(lengths.length);var maxBits=lengths[0];for(var i=1;i<lengths.length;i++)if(maxBits<lengths[i])maxBits=lengths[i];var bitLengthsCount=new Array(maxBits+1);for(var i=0;i<=maxBits;i++)bitLengthsCount[i]=0;for(var i=0;i<lengths.length;i++)++bitLengthsCount[lengths[i]];var nextCode=new Array(maxBits+1);var code=0;bitLengthsCount[0]=0;for(var bits=1;bits<=maxBits;bits++){code=code+bitLengthsCount[bits-1]<<1;nextCode[bits]=code}for(var n=0;n<codes.length;n++){var len=
lengths[n];if(len!=0){codes[n]=nextCode[len];nextCode[len]++}}return codes}
function initializeStaticTrees(){var codes=new Array(288);var codesLengths=new Array(288);for(var i=0;i<=143;i++){codes[i]=48+i;codesLengths[i]=8}for(var i=144;i<=255;i++){codes[i]=400+i-144;codesLengths[i]=9}for(var i=256;i<=279;i++){codes[i]=0+i-256;codesLengths[i]=7}for(var i=280;i<=287;i++){codes[i]=192+i-280;codesLengths[i]=8}staticCodes=buildTree(codes,codesLengths);var distances=new Array(32);var distancesLengths=new Array(32);for(var i=0;i<=31;i++){distances[i]=i;distancesLengths[i]=5}staticDistances=
buildTree(distances,distancesLengths)}function buildTree(codes,lengths){var nonEmptyCodes=new Array(0);for(var i=0;i<codes.length;++i)if(lengths[i]>0){var code=new Object;code.bits=codes[i];code.length=lengths[i];code.index=i;nonEmptyCodes.push(code)}return buildTreeBranch(nonEmptyCodes,0,0)}
function buildTreeBranch(codes,prefix,prefixLength){if(codes.length==0)return null;var zeros=new Array(0);var ones=new Array(0);var branch=new Object;branch.isLeaf=false;for(var i=0;i<codes.length;++i)if(codes[i].length==prefixLength&&codes[i].bits==prefix){branch.isLeaf=true;branch.index=codes[i].index;break}else{var nextBit=(codes[i].bits>>codes[i].length-prefixLength-1&1)>0;if(nextBit)ones.push(codes[i]);else zeros.push(codes[i])}if(!branch.isLeaf){branch.zero=buildTreeBranch(zeros,prefix<<1,prefixLength+
1);branch.one=buildTreeBranch(ones,prefix<<1|1,prefixLength+1)}return branch}
function readDynamicTrees(bitReader){var hlit=bitReader.readLSB(5)+257;var hdist=bitReader.readLSB(5)+1;var hclen=bitReader.readLSB(4)+4;var clen=new Array(19);for(var i=0;i<clen.length;++i)clen[i]=0;for(var i=0;i<hclen;++i)clen[clenMap[i]]=bitReader.readLSB(3);var clenCodes=buildCodes(clen);var clenTree=buildTree(clenCodes,clen);var lengthsSequence=new Array(0);while(lengthsSequence.length<hlit+hdist){var p=clenTree;while(!p.isLeaf)p=bitReader.readBit()?p.one:p.zero;var code=p.index;if(code<=15)lengthsSequence.push(code);
else if(code==16){var repeat=bitReader.readLSB(2)+3;for(var q=0;q<repeat;++q)lengthsSequence.push(lengthsSequence[lengthsSequence.length-1])}else if(code==17){var repeat=bitReader.readLSB(3)+3;for(var q=0;q<repeat;++q)lengthsSequence.push(0)}else if(code==18){var repeat=bitReader.readLSB(7)+11;for(var q=0;q<repeat;++q)lengthsSequence.push(0)}}var codesLengths=lengthsSequence.slice(0,hlit);var codes=buildCodes(codesLengths);var distancesLengths=lengthsSequence.slice(hlit,hlit+hdist);var distances=
buildCodes(distancesLengths);var result=new Object;result.codesTree=buildTree(codes,codesLengths);result.distancesTree=buildTree(distances,distancesLengths);return result}
function Inflator(reader){this.reader=reader;this.bitReader=new BitReader(reader);this.buffer=new Array(0);this.bufferPosition=0;this.state=0;this.blockFinal=false;this.readByte=function(){while(this.bufferPosition>=this.buffer.length){var item=this.decodeItem();if(item==null)return-1;switch(item.itemType){case 0:this.buffer=this.buffer.concat(item.array);break;case 2:this.buffer.push(item.symbol);break;case 3:var j=this.buffer.length-item.distance;for(var i=0;i<item.length;i++)this.buffer.push(this.buffer[j++]);
break}}var symbol=this.buffer[this.bufferPosition++];if(this.bufferPosition>49152){var shift=this.buffer.length-32768;if(shift>this.bufferPosition)shift=this.bufferPosition;this.buffer.splice(0,shift);this.bufferPosition-=shift}return symbol};this.decodeItem=function(){if(this.state==2)return null;var item;if(this.state==0){this.blockFinal=this.bitReader.readBit();var blockType=this.bitReader.readLSB(2);switch(blockType){case 0:this.bitReader.align();var len=this.bitReader.readLSB(16);var nlen=this.bitReader.readLSB(16);
if((len&~nlen)!=len)throw"Invalid block type 0 length";item=new Object;item.itemType=0;item.array=new Array(len);for(var i=0;i<len;++i){var nextByte=this.reader.readByte();if(nextByte<0)throw"Uncomplete block";item.array[i]=nextByte}if(this.blockFinal)this.state=2;return item;case 1:this.codesTree=staticCodes;this.distancesTree=staticDistances;this.state=1;break;case 2:var dynamicTrees=readDynamicTrees(this.bitReader);this.codesTree=dynamicTrees.codesTree;this.distancesTree=dynamicTrees.distancesTree;
this.state=1;break;default:throw new "Invalid block type (3)";}}item=new Object;var p=this.codesTree;while(!p.isLeaf)p=this.bitReader.readBit()?p.one:p.zero;if(p.index<256){item.itemType=2;item.symbol=p.index}else if(p.index>256){var lengthCode=p.index;if(lengthCode>285)throw new "Invalid length code";var length=encodedLengthStart[lengthCode-257];if(encodedLengthAdditionalBits[lengthCode-257]>0)length+=this.bitReader.readLSB(encodedLengthAdditionalBits[lengthCode-257]);p=this.distancesTree;while(!p.isLeaf)p=
this.bitReader.readBit()?p.one:p.zero;var distanceCode=p.index;var distance=encodedDistanceStart[distanceCode];if(encodedDistanceAdditionalBits[distanceCode]>0)distance+=this.bitReader.readLSB(encodedDistanceAdditionalBits[distanceCode]);item.itemType=3;item.distance=distance;item.length=length}else{item.itemType=1;this.state=this.blockFinal?2:0}return item}}initializeStaticTrees();function fitProfileDivOnMap(){var oMapControlId="mapControl";var oProfileDivId="profileDiv";var oProfileDivContentId="profileDivContent";var oProfileDiv=document.getElementById(oProfileDivId);var oMapControlDiv=document.getElementById(oMapControlId);var oProfileDivContentDiv=document.getElementById(oProfileDivContentId);if(oProfileDiv==null||oMapControlDiv==null||oProfileDivContentDiv==null)return;var oBlankSpaceWidth=0;var oBlankSpaceHeight=0;var oMapLeft=oBlankSpaceWidth/2;var oMapTop=oBlankSpaceHeight/
2;var oMapWidth=oMapControlDiv.offsetWidth-oBlankSpaceWidth;var oMapHeight=oMapControlDiv.offsetHeight-oBlankSpaceHeight;var oProfileDivContentHeight=oMapHeight-80;for(var oParent=oMapControlDiv;oParent!=null;oParent=oParent.offsetParent){oMapLeft+=oParent.offsetLeft;oMapTop+=oParent.offsetTop}oProfileDiv.style.left=oMapLeft+"px";oProfileDiv.style.top=oMapTop+"px";oProfileDiv.style.width=oMapWidth+"px";oProfileDiv.style.height=oMapHeight+"px";oProfileDivContentDiv.style.height=oProfileDivContentHeight+
"px"}function showProfileDiv(){setDisplayProfileDiv(true)}function hideProfileDiv(){setDisplayProfileDiv(false)}function setDisplayProfileDiv(pDisplay){var oProfileDivId="profileDiv";var oProfileDiv=document.getElementById(oProfileDivId);if(oProfileDiv==null)return;oProfileDiv.style.display=pDisplay?"block":"none"}
function profilePageShow(pTabId,pContentId){var oTabContainerId="tabsContainer";var oContentContainerId="contentContainer";var oTabContainer=document.getElementById(oTabContainerId);var oContentContainer=document.getElementById(oContentContainerId);var oTabContainerChildren=oTabContainer.childNodes;var oContentContainerChildren=oContentContainer.childNodes;var oTabActiveClassName="active";for(var i in oTabContainerChildren){var oChild=oTabContainerChildren[i];if(oChild.nodeType==1){var oLink=null;
for(var i in oChild.childNodes){var oElementA=oChild.childNodes[i];if(oElementA.nodeType==1&&oElementA.tagName.toLowerCase()=="a")oLink=oElementA}if(oLink!=null){var isActive=oLink.className.indexOf(oTabActiveClassName)>-1;if(oLink.id==pTabId){if(!isActive)oLink.className+=" "+oTabActiveClassName}else if(isActive)oLink.className=oChild.className.replace(oTabActiveClassName,"").replace(/\s+/g," ")}}}for(var i in oContentContainerChildren){var oChild=oContentContainerChildren[i];if(oChild.nodeType==
1){var isDisplayed=oChild.style.display!="none";if(oChild.id==pContentId){if(!isDisplayed)oChild.style.display="block"}else if(isDisplayed)oChild.style.display="none"}}}function showProfile(pId,pTab){try{var oUrl=CITY_PROFILE_WS+"?listingId="+pId;var oCallBack=function(pResult){displayProfile(pResult)};if(pTab!=null)oUrl+="&tab="+pTab;sendRequest(oUrl,oCallBack);getCEM().fireEvent(RMEvent.Service.READY,myMap.mapId)}catch(ignored){}}
function displayProfile(pHtmlProfile){var oProfileDivContentId="profileDivContent";var oMapControlId="mapControl";var oMapControlDiv=document.getElementById(oMapControlId);var oProfileDivContent=document.getElementById(oProfileDivContentId);if(oProfileDivContent==null)return;if(pHtmlProfile!=""){var oReader=new Base64Reader(pHtmlProfile);var oInflator=new Inflator(oReader);var oUtf8Translator=new Utf8Translator(oInflator);var oTextReader=new TextReader(oUtf8Translator);pHtmlProfile=oTextReader.readToEnd()}oProfileDivContent.innerHTML=
pHtmlProfile;fitProfileDivOnMap();showProfileDiv();fitContentContainerOnProfileDiv();getCEM().fireEvent(RMEvent.Service.COMPLETE,myMap.mapId)}
function fitContentContainerOnProfileDiv(){var oProfileDivContentId="profileDivContent";var oContentContainerId="contentContainer";var oHeaderContainerId="headerContainer";var oContentContainerDiv=document.getElementById(oContentContainerId);var oProfileDivContentDiv=document.getElementById(oProfileDivContentId);var oHeaderContainerDiv=document.getElementById(oHeaderContainerId);var oHeight=0;if(oContentContainerDiv==null)return;oHeight=oProfileDivContentDiv.offsetHeight-oHeaderContainerDiv.offsetHeight;
oContentContainerDiv.style.height=oHeight+"px"};var BrowserDetect={init:function(){this.browser=this.searchString(this.dataBrowser)||"An unknown browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.OS=this.searchString(this.dataOS)||"an unknown OS"},searchString:function(data){for(var i=0;i<data.length;i++){var dataString=data[i].string;var dataProp=data[i].prop;this.versionSearchString=data[i].versionSearch||data[i].identity;if(dataString){if(dataString.indexOf(data[i].subString)!=
-1)return data[i].identity}else if(dataProp)return data[i].identity}},searchVersion:function(dataString){var index=dataString.indexOf(this.versionSearchString);if(index==-1)return;return parseFloat(dataString.substring(index+this.versionSearchString.length+1))},dataBrowser:[{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",
identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",
identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};BrowserDetect.init();
var MouseWheelEventManager={init:function(){function wheel(event){var delta=0;if(!event)event=window.event;if(event.wheelDelta){delta=event.wheelDelta/120;if(window.opera)delta=-delta}else if(event.detail)delta=-event.detail/3;var handled=0;if(delta)if(event.rangeParent)handled=MouseWheelEventManager.handle(event.rangeParent,delta,event);else handled=MouseWheelEventManager.handle(event.srcElement,delta,event);if(handled==1){if(event.preventDefault)event.preventDefault();event.returnValue=false}}YAHOO.util.Event.addListener(window,
"DOMMouseScroll",wheel,true,this);YAHOO.util.Event.addListener(document,"mousewheel",wheel,true,this)},_listeners:[],handle:function(target,delta,event){if(target!=null)for(l in this._listeners)if(target.id==l||RMUtils.isChildOf(target,l)){var handler=this._listeners[l].handler;if(handler!=null)handler.call(this._listeners[l].context,delta,event);return 1}return 0},addListener:function(component,eventHandler,context){this._listeners[component.id]={handler:eventHandler,context:context}}};MouseWheelEventManager.init();
function noop(){}var RMUtils=[];RMUtils.createDOMElement=RMUtils_createDOMElement;RMUtils.sendQueryToServer=RMUtils_sendQueryToServer;RMUtils.getBrowserGraphicSupport=RMUtils_getBrowserGraphicSupport;RMUtils.includeCSS=RMUtils_includeCSS;RMUtils.includeJS=RMUtils_includeJS;RMUtils.constrainInRegion=RMUtils_constrainInRegion;RMUtils.log=RMUtils_log;RMUtils.isChildOf=RMUtils_isChildOf;RMUtils.loadDOM=RMUtils_loadDOM;RMUtils.formatPhoneStr=RMUtils_formatPhoneStr;RMUtils.getEl=RMUtils_getElement;
RMUtils.getElement=RMUtils_getElement;RMUtils.getElementInBlock=RMUtils_getElementInBlock;RMUtils.formatTime=RMUtils_formatTime;RMUtils.formatDistance=RMUtils_formatDistance;RMUtils.removeChildElements=RMUtils_removeChildElements;RMUtils.createRMAddresses=RMUtils_createRMAddresses;RMUtils.prepareName=RMUtils_prepareName;RMUtils.formatAddresses=RMUtils_formatAddresses;RMUtils.encodeURLParam=RMUtils_encodeURLParam;RMUtils.addTwoDistance=RMUtils_addTwoDistance;RMUtils.getBBoxUnion=RMUtils_getBBoxUnion;
RMUtils.createRouteCacheKey=RMUtils_createRouteCacheKey;RMUtils.getFullCountryName=RMUtils_getFullCountryName;RMUtils.getNewZoomLevel=RMUtils_getNewZoomLevel;RMUtils.getBoundZoomCommand=RMUtils_getBoundZoomCommand;RMUtils.addTimeObjects=RMUtils_addTimeObjects;RMUtils.formatTimeObject=RMUtils_formatTimeObject;function RMUtils_getElement(el){if(typeof el!="string")return el;else if(document.getElementById)return document.getElementById(el);else if(document.all)return document.all[el]}
function RMUtils_getElementInBlock(elementID,containerEl){var els=YAHOO.util.Dom.getElementsBy(function(el){return el.id==elementID},"*",containerEl);if(els.length>0)return els[0]}function RMUtils_createDOMElement(element,type){var object=null;if(document.createElementNS!=null){var sNSURL=SVGNS;if(type=="html"||type==null)sNSURL=XHTMLNS;object=document.createElementNS(sNSURL,element)}else object=document.createElement(element);return object}
function RMUtils_sendQueryToServer(scriptScr){var scriptTag=RMUtils.createDOMElement("script","html");scriptTag.src=scriptScr;document.getElementsByTagName("head").item(0).appendChild(scriptTag)}function RMUtils_includeJS(scriptSrc){var scriptTag=RMUtils.createDOMElement("script","html");scriptTag.src=scriptSrc;document.getElementsByTagName("head").item(0).appendChild(scriptTag)}
function RMUtils_includeCSS(scriptSrc,media){var cssTag=RMUtils.createDOMElement("link","html");cssTag.setAttribute("rel","stylesheet");cssTag.setAttribute("type","text/css");cssTag.setAttribute("href",scriptSrc);if(media)cssTag.setAttribute("media",media);document.getElementsByTagName("head").item(0).appendChild(cssTag)}
function RMUtils_loadDOM(url,container){var callback={success:function(htmlResponse){container.innerHTML=htmlResponse.responseText}};YAHOO.util.Connect.asyncRequest("GET",url,callback)}function RMUtils_getBrowserGraphicSupport(){if(document.createElementNS!=null&&document.createElementNS(SVGNS,"svg:svg")!=null)return SVGSUPPORT;else if(document.createElement("v:polyline")!=null)return VMLSUPPORT;else return NOVMLSVGSUPPORT}function RMUtils_log(message){if(typeof console!="undefined");}
function RMUtils_constrainInRegion(element,region){var Dom=YAHOO.util.Dom;var xy=Dom.getXY(element);var width=parseInt(Dom.getStyle(element,"width"),10);var height=parseInt(Dom.getStyle(element,"height"),10);var left=xy[0]-region.left;var right=region.right-xy[0]-width;var top=xy[1]-region.top;var bottom=region.bottom-xy[1]-height;if(left<0)Dom.setX(element,region.left);if(top<0)Dom.setY(element,region.top);if(bottom<0)Dom.setY(element,region.bottom-height);if(right<0)Dom.setX(element,region.right-
width)}function RMUtils_isChildOf(element,ancestor){if(element==null||element.parentNode==null)return 0;else if(element.parentNode.id==ancestor)return 1;else return RMUtils.isChildOf(element.parentNode,ancestor)}
function RMUtils_formatPhoneStr(phoneNumber){if(typeof phoneNumber=="undefined")return"";var tempPhone=phoneNumber.replace(/[^0-9xX]/g,"");tempPhone=tempPhone.replace(/[xX]/g,"x");var extension="";if(tempPhone.indexOf("x")>-1){extension=" "+tempPhone.substr(tempPhone.indexOf("x"));tempPhone=tempPhone.substr(0,tempPhone.indexOf("x"))}switch(tempPhone.length){case 10:return tempPhone.replace(/(...)(...)(....)/g,"($1) $2-$3")+extension;case 11:if(tempPhone.substr(0,1)=="1")return tempPhone.substr(1).replace(/(...)(...)(....)/g,
"($1) $2-$3")+extension;break;default:}return phoneNumber}function RMUtils_formatTime(secs){time=[0,0,secs];for(var i=2;i>0;i--){time[i-1]=Math.floor(time[i]/60);time[i]=time[i]%60;if(time[i]<10)time[i]="0"+time[i]}var formattedTime=(time[0]>0?time[0]+" hrs  ":"")+(time[1]>0?time[1]+" min  ":"");if(secs<3600)formattedTime+=time[2]>0?time[2]+" sec":"";return formattedTime}
function RMUtils_formatDistance(distance,metric){distance=parseFloat(distance);if(distance=="NaN"){distance="";return distance}if(metric=="miles")if(distance>=0.2)distance=distance.toFixed(1)+" miles";else if(distance<0.2&&distance>0.0946969695)distance=Math.round(distance*5280/100)*100+" feet";else{if(distance<0.0946969695)distance=Math.round(distance*5280/50)*50+" feet"}else if(metric=="km")if(distance>=0.2)distance=distance.toFixed(1)+" km";else if(distance<0.2&&distance>0.05)distance=Math.round(distance*
1E3/10)*10+" m";else if(distance<0.05)distance=Math.round(distance*1E3/5)*5+" m";return distance+""}
function RMUtils_addTwoDistance(distA,distB){var sum="";var metric="miles";var len=distA.length;if(distA.indexOf(" ",0)>0)len=distA.indexOf(" ",0);var metricA=distA.substring(len).replace(/^\s+|\s+$/g,"");var distanceA=len>0?parseFloat(distA.substring(0,len)):0;if(metricA==="feet")distanceA=distanceA/5280;else if(metricA==="m")distanceA=distanceA/1E3;len=distB.length;if(distB.indexOf(" ",0)>0)len=distB.indexOf(" ",0);var metricB=distB.substring(len).replace(/^\s+|\s+$/g,"");var distanceB=len>0?parseFloat(distB.substring(0,
len)):0;if(metricB==="feet")distanceB=distanceB/5280;else if(metricB==="m")distanceB=distanceB/1E3;if(metricA==="km"||metricA==="m"||metricB==="km"||metricB==="m")metric="km";if(metric==="miles")if(distanceA+distanceB>=0.2)sum=(distanceA+distanceB).toFixed(1)+" miles";else sum=((distanceA+distanceB)*5280).toFixed(0)+" feet";else if(distanceA+distanceB>=0.2)sum=(distanceA+distanceB).toFixed(1)+" km";else sum=((distanceA+distanceB)*1E3).toFixed(0)+" m";return sum}
function RMUtils_removeChildElements(parentID){var parent=RMUtils.getEl(parentID);if(parent==null)return;while(parent.firstChild)parent.removeChild(parent.firstChild)}
function RMUtils_prepareName(address,useCounty){var notEmpty=function(s){if(typeof s==="undefined"||s===null||""===s)return false;return true};var s="";if(address.code){s+=notEmpty(address.name)?address.name:"";return s}if(notEmpty(address.street))s+=address.street+", ";if(notEmpty(address.city)){s+=address.city;if((useCounty===undefined||useCounty===true)&&notEmpty(address.county))s+=", "+address.county;if(notEmpty(address.state)||notEmpty(address.postalCode))s+=", "}if(notEmpty(address.state))s+=
address.state;if(notEmpty(address.zip))s+=" "+address.zip;else if(notEmpty(address.postalCode))s+=" "+address.postalCode;if(notEmpty(address.country)&&address.country!="US")s+=(notEmpty(s)?", ":"")+address.country;if(!notEmpty(s))s+=notEmpty(address.name)?address.name:"";if(!notEmpty(s))s+=notEmpty(address.addressName)?address.addressName:"";return s}
function RMUtils_formatAddresses(addresses){var NewObj=function(address,i){this.address=address;this.pos=i};var chkCountry=function(newObjList){for(i=0;i<newObjList.length;i++){var x=newObjList[i];for(j=1;j===newObjList.length;j++){var y=newObjList[j];if(x.address.country!==y.address.country)return true}}return false};var chkCounty=function(newObjList,temp){for(i=0;i<newObjList.length;i++){var x=newObjList[i];for(j=i+1;j<newObjList.length;j++){var y=newObjList[j];if(x.address.state===y.address.state&&
x.address.city===y.address.city&&x.address.county!==y.address.county){temp[x.pos].pos=-1;temp[y.pos].pos=-1}}}for(i=0;i<temp.length;i++)if(temp[i].pos!==-1)temp[i].address.county="";return temp};if(typeof addresses.length==="undefined"){var list1=[];addresses.country=addresses.country?addresses.country:"";addresses.county=addresses.county?addresses.county:"";list1[0]=addresses;return list1}else if(addresses.length===1){addresses[0].country=addresses[0].country?addresses[0].country:"";addresses[0].county=
addresses[0].county?addresses[0].county:"";return addresses}var differentCountry=false;var list=[];var tempList=[];for(var i=0;i<addresses.length;i++){list[i]=new NewObj(addresses[i],i);tempList[i]=new NewObj(addresses[i],i)}tempList=chkCounty(list,tempList);differentCountry=chkCountry(tempList);var geocodedLocs=[];for(var j=0;j<tempList.length;j++){geocodedLocs[j]=tempList[j].address;if(!differentCountry)geocodedLocs[j].country=""}return geocodedLocs}
function RMUtils_createRMAddresses(geocodedLocationsList){var addressList=[];var convert=function(geocodedLocations){var type=typeof geocodedLocations;var addresses=[];if(typeof geocodedLocations.length=="undefined")if(geocodedLocations instanceof RMAddress)addresses.push(geocodedLocations);else{var pr=geocodedLocations.precision;if(typeof pr==="undefined")pr="";var latLongPoint=new LatLong(geocodedLocations.lat,geocodedLocations.lon);addresses.push(new RMAddress(geocodedLocations.street?geocodedLocations.street:
"",geocodedLocations.city?geocodedLocations.city:"",geocodedLocations.state?geocodedLocations.state:"",geocodedLocations.postalCode?geocodedLocations.postalCode:"",geocodedLocations.county?geocodedLocations.county:"",geocodedLocations.country?geocodedLocations.country:"",latLongPoint,geocodedLocations.name?geocodedLocations.name:"",pr,geocodedLocations.code?true:false))}else for(var i=0;i<geocodedLocations.length;i++)if(geocodedLocations instanceof RMAddress)addresses.push(geocodedLocations[i]);else{var pr=
geocodedLocations[i].precision;if(typeof pr==="undefined")pr="";var latLongPoint1=new LatLong(geocodedLocations[i].lat,geocodedLocations[i].lon);addresses.push(new RMAddress(geocodedLocations[i].street?geocodedLocations[i].street:"",geocodedLocations[i].city?geocodedLocations[i].city:"",geocodedLocations[i].state?geocodedLocations[i].state:"",geocodedLocations[i].postalCode?geocodedLocations[i].postalCode:"",geocodedLocations[i].county?geocodedLocations[i].county:"",geocodedLocations[i].country?geocodedLocations[i].country:
"",latLongPoint1,geocodedLocations[i].name?geocodedLocations[i].name:"",pr,geocodedLocations[i].code?true:false))}return addresses};var format=function(geocodedLocations,addresses){var formattedAddr=RMUtils.formatAddresses(geocodedLocations);for(var i=0;i<formattedAddr.length;i++)addresses[i].formattedAddress=RMUtils.prepareName(formattedAddr[i],false);return addresses};addressList=convert(geocodedLocationsList);addressList=format(geocodedLocationsList,addressList);return addressList}
function RMUtils_encodeURLParam(param){var GOODCHARS="0123456789"+"ABCDEFGHIJKLMNOPQRSTUVWXYZ"+"abcdefghijklmnopqrstuvwxyz"+"-_.!~*'()";var HEX="0123456789ABCDEF";var encoded="";for(var i=0;i<param.length;i++){var ch=param.charAt(i);if(ch===" ")encoded+="+";else if(GOODCHARS.indexOf(ch)!==-1)encoded+=ch;else{var charCode=ch.charCodeAt(0);if(charCode>255)encoded+="+";else{encoded+="%";encoded+=HEX.charAt(charCode>>4&15);encoded+=HEX.charAt(charCode&15)}}}return encoded}
String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};function isEmptyString(s){if(s==undefined)return true;if(s==null)return true;if(s.trim()=="")return true;return false}
function RMUtils_getBBoxUnion(bboxes){if(bboxes===undefined||bboxes.length==0)return null;var unionBBox=bboxes[0];for(var i=1;i<bboxes.length;i++){if(bboxes[i].minLat<unionBBox.minLat)unionBBox.minLat=bboxes[i].minLat;if(bboxes[i].minLon<unionBBox.minLon)unionBBox.minLon=bboxes[i].minLon;if(bboxes[i].maxLat>unionBBox.maxLat)unionBBox.maxLat=bboxes[i].maxLat;if(bboxes[i].maxLon>unionBBox.maxLon)unionBBox.maxLon=bboxes[i].maxLon}return unionBBox}
function RMUtils_createRouteCacheKey(start,end){var encode=function(point){return point.inputText===null||point.inputText===""?point.addressName:point.inputText};var key=encode(start)+";"+encode(end);return key.toLowerCase().replace(/\s+/g,"")}
function RMUtils_getFullCountryName(sCountry){if(isEmptyString(sCountry))return"";var countries=new Array(4);countries["USA"]="United States";countries["US"]="United States";countries["MEX"]="Mexico";countries["CAN"]="Canada";var fullCountryName=countries[sCountry.toUpperCase()];if(isEmptyString(fullCountryName))return"";else return fullCountryName}
function RMUtils_getNewZoomLevel(currentZoom,zoomCommand){var newZoomLevel=currentZoom;switch(zoomCommand.substring(0,1)){case "+":if(currentZoom<MAX_ZOOM_LEVEL)newZoomLevel=currentZoom+parseInt(zoomCommand.substring(1),10);break;case "-":if(currentZoom>1)newZoomLevel=currentZoom-parseInt(zoomCommand.substring(1),10);break;default:newZoomLevel=parseInt(zoomCommand,10);break}return Math.max(Math.min(newZoomLevel,MAX_ZOOM_LEVEL),1)}
function RMUtils_getNewZoomLevel2(currentZoom,zoomCommand){var newZoomLevel=currentZoom;switch(zoomCommand.substring(0,1)){case "+":if(currentZoom>deCarta.App.zoom.lowerBound)newZoomLevel=currentZoom-parseInt(zoomCommand.substring(1),10);break;case "-":if(currentZoom<deCarta.App.zoom.upperBound)newZoomLevel=currentZoom+parseInt(zoomCommand.substring(1),10);break;default:newZoomLevel=parseInt(zoomCommand,10);break}return Math.max(Math.min(newZoomLevel,MAX_ZOOM_LEVEL),1)}
function RMUtils_getBoundZoomCommand(currentZoom,zoomCommand){var posDelta=MAX_ZOOM_LEVEL-currentZoom;var negDelta=1-currentZoom;var signChar=zoomCommand.substring(0,1);var result;if(signChar=="-"||signChar=="+"){var zoomLevel=parseInt(zoomCommand,10);result=signChar+Math.abs(Math.max(Math.min(zoomLevel,posDelta),negDelta))}else{var zoomLevel=parseInt(zoomCommand,10);result=""+Math.max(Math.min(zoomLevel,MAX_ZOOM_LEVEL),1)}return result}
function getDateFromUTCString(pString){try{var oDateTime=pString.split("T");var oYearMonthDay=oDateTime[0].split("-");var oHourMinuteSeconds=oDateTime[1].split(":");var oYear=oYearMonthDay[0];var oMonth=oYearMonthDay[1];var oDay=oYearMonthDay[2];var oHours=oHourMinuteSeconds[0];var oMinutes=oHourMinuteSeconds[1];var oSeconds=oHourMinuteSeconds[2].split(".")[0];return new Date(oYear,oMonth,oDay,oHours,oMinutes,oSeconds)}catch(e){return null}}
var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function locationsForResult(result){var list=[];var geoAddr=result.geoAddr;if(geoAddr&&geoAddr!=null)for(var x=0;x<geoAddr.length;x++)list[list.length]=locationForDecartaGeocodedAddress(geoAddr[x]);return list}
function locationForPositionAndAddress(curPos,curAddr){var msg=deCarta.App.Util.formatFreeformAddress(curAddr,", ",", ");var msgShort=deCarta.App.Util.formatShortFreeformAddress(curAddr);var city=""==curAddr.municipalitySubdivision?curAddr.municipality:curAddr.municipalitySubdivision;var result={city:city,country:curAddr.countryCode,county:curAddr.countrySecondarySubdivision,lat:curPos.lat,lon:curPos.lon,name:city+", "+city+", "+curAddr.countrySubdivision+", "+curAddr.countryCode,postalCode:curAddr.postalCode,
precision:4,state:curAddr.countrySubdivision,street:curAddr.street,poitext:null,msgShort:msgShort};return result}
function locationForDecartaGeocodedAddress(deCartaGeocodedAddress){var curPos=deCartaGeocodedAddress.position;var curAddr=deCartaGeocodedAddress.structuredAddress;var msg=deCarta.App.Util.formatFreeformAddress(curAddr,", ",", ");var msgShort=deCarta.App.Util.formatShortFreeformAddress(curAddr);var name=curAddr.toString();var city=""==curAddr.municipalitySubdivision?curAddr.municipality:curAddr.municipalitySubdivision;var result={city:city,country:curAddr.countryCode,county:curAddr.countrySecondarySubdivision,
lat:curPos.lat,lon:curPos.lon,name:name,postalCode:curAddr.postalCode,precision:4,state:curAddr.countrySubdivision,street:curAddr.street,poitext:null,msgShort:msgShort};return result}
function addressForPositionAndAddress(curPos,curAddr){var isAirport,addressName,precision;try{isAirport=curAddr.isAirport;addressName=curAddr.airportCode}catch(e){isAirport=false;addressName=""}if(undefined==precision||null==precision)precision="";if(undefined==isAirport||null==isAirport||""==isAirport)isAirport=false;if(undefined==addressName||null==addressName)addressName="";var street=curAddr.street;if(undefined!=curAddr.buildingNumber&&null!=curAddr.buildingNumber)street=curAddr.buildingNumber+
" "+street;var city=""==curAddr.municipalitySubdivision?curAddr.municipality:curAddr.municipalitySubdivision;var address=new RMAddress(street.trim(),city,curAddr.countrySubdivision,curAddr.postalCode,curAddr.countrySecondarySubdivision,curAddr.countryCode,new LatLong(curPos.lat,curPos.lon),addressName,precision,isAirport);return address}
function rmAddressForDeCartaGeocodedAddress(deCartaGeocodedAddress){return addressForPositionAndAddress(deCartaGeocodedAddress.position,deCartaGeocodedAddress.structuredAddress)}function geocodeResultJSONForResult(result){var locations=locationsForResult(result);var newResult={code:0,airportLocations:[],latLonLocations:[],geocodedLocation:locations,count:locations.length,message:"Ok",tid:"12345"};return newResult}function doNothing(){}
function parseLatLong(str){var exp=/([-+]?\d+\.\d+)[\s+,]+([-+]?\d+\.\d+)/;if(str.match(exp)){var lat=str.replace(exp,"$1");var lon=str.replace(exp,"$2");return new Position(lat,lon)}return null}
function RMUtils_addTimeObjects(TimeObjects){var tempTimeObject=TimeObjects[0];if(isNaN(tempTimeObject.days))tempTimeObject.days=0;for(var i=1;i<TimeObjects.length;i++){if(isNaN(TimeObjects[i].days))TimeObjects[i].days=0;var extraMin=0;var extraHr=0;var extraday=0;var sec=TimeObjects[i].seconds+tempTimeObject.seconds;while(sec>59){sec=sec-60;extraMin=extraMin+1}tempTimeObject.seconds=sec;var min=TimeObjects[i].minutes+tempTimeObject.minutes+extraMin;while(min>59){min=min-60;extraHr=extraHr+1}tempTimeObject.minutes=
min;var hr=TimeObjects[i].hours+tempTimeObject.hours+extraHr;while(hr>23){hr=hr-24;extraday=extraday+1}tempTimeObject.hours=hr;tempTimeObject.days=TimeObjects[i].days+tempTimeObject.days+extraday}return tempTimeObject}
function RMUtils_formatTimeObject(TimeObject){var formattedTime="";if(TimeObject.days>0)formattedTime+=TimeObject.days+(TimeObject.days>1?" days ":" day ");formattedTime+=(TimeObject.hours>0?TimeObject.hours+" hrs  ":"")+(TimeObject.minutes>0?TimeObject.minutes+" min  ":"");if(TimeObject.hours<1)formattedTime+=TimeObject.seconds>0?TimeObject.seconds+" sec":"";return formattedTime}
function localeForMapLocaleString(string){var array=string.split("-");var country=array[0];var language=array[1];return new Locale(language,country)}function pinOnClickCallback(p){p.showInfoWindow();deCarta.App.map.getInfoWindow().centerNow()}
function convertHintToDecartaGeoAddrFormat(hintListArr){var addresses=[];var positions=[];for(var i=0;i<hintListArr.length;i++){var airport=hintListArr[i].airportFullName!=""?true:false;var address={buildingNumber:"",street:"",countrySubdivision:hintListArr[i].state,countrySecondarySubdivision:"",municipality:hintListArr[i].city,postalCode:"",municipalitySubdivision:"",locale:"",isAirport:airport,airportFullName:hintListArr[i].airportFullName,airportCode:hintListArr[i].name,fromHintList:true};var position=
{lat:hintListArr[i].lat,lon:hintListArr[i].lng};addresses.push(address);positions.push(position)}var results={address:addresses,position:positions};return results}function getOldInfoWindow(){if(!myMap._oldInfoWindow){myMap._oldInfoWindow=new RMInfoWindow(myMap.mapId+"_step_bot",null);YAHOO.util.Dom.addClass(myMap._oldInfoWindow._container,"step_bot");myMap._oldInfoWindow.setVisible(false);myMap.getMapDiv().appendChild(myMap._oldInfoWindow._container)}return myMap._oldInfoWindow}
function decartaStructuredAddressToString(address){var toString="";if(address.buildingNumber!="")toString+=address.buildingNumber+" ";if(address.street!="")toString+=address.street+" ";if(address.municipalitySubdivision!="")toString+=address.municipalitySubdivision+" ";else if(address.municipality!="")toString+=address.municipality+" ";if(address.countrySubdivision!="")toString+=address.countrySubdivision+" ";if(address.postalCode!="")toString+=address.postalCode;return toString}
function dateInMilliseconds(d){var s=d.getMilliseconds()+d.getSeconds()*1E3+d.getMinutes()*60*1E3+d.getHours()*60*60*1E3;return s}function dateInSeconds(d){var s=d.getSeconds()+d.getMinutes()*60+d.getHours()*60*60;return s}function millisecondsToHMSString(ms){var h=Math.floor(ms/(60*60*1E3));ms=ms%(60*60*1E3);var m=Math.floor(ms/(60*1E3));ms=ms%(60*1E3);var s=Math.floor(ms/1E3);ms=ms%1E3;return twoDigit(h)+":"+twoDigit(m)+":"+twoDigit(s)+"."+ms}
function secondsToHMSString(s){var h=s/(60*60);h=h<1?0:h;s=s%(60&60);var m=s/60;m=m<1?0:m;s=s%60;return twoDigit(h)+":"+twoDigit(m)+":"+twoDigit(s)}function twoDigit(n){return n<10?"0"+n:""+n};var MAP_REVISION="ver 0.9.40";var MAX_ZOOM_LEVEL=17;var INIT_ZOOM_LEVEL=13;var ZOOMLEVEL_OFFSET=2;var IS_PRINT_PREVIEW=false;var BKPOI_MAX_ZOOM=8;ROUTE_RIBBON_WIDTH=3;ROUTE_RIBBON_COLOR="#007700";ROUTE_RIBBON_OPACITY=0.6;var WORLD_BOUND_MIN_LONG=-180;var WORLD_BOUND_MAX_LONG=0;var WORLD_BOUND_MIN_LAT=-60;var WORLD_BOUND_MAX_LAT=66.5;var RMPosition=[];RMPosition.TOP="top:0%";RMPosition.VCENTER="top:50%";RMPosition.BOTTOM="bottom:0%";RMPosition.LEFT="left:0%";RMPosition.HCENTER="left:50%";
RMPosition.RIGHT="right:0%";var RMMapType=[];RMMapType.Satellite="Satellite";RMMapType.Aerial="Aerial";var RMConfig=[];RMConfig.TILE_WIDTH=256;RMConfig.TILE_HEIGHT=256;RMConfig.VIEWPORT_HEIGHT=512;RMConfig.VIEWPORT_WIDTH=512;var RMMARKER_TYPE=[];RMMARKER_TYPE.LOCATION="LOCATION";RMMARKER_TYPE.POI="POI";RMMARKER_TYPE.POI_ACTIVITIES="POI_ACTIVITIES";RMMARKER_TYPE.POI_DINING="POI_DINING";RMMARKER_TYPE.POI_ENTERTAINMENT="POI_ENTERTAINMENT";RMMARKER_TYPE.POI_EVENTS="POI_EVENTS";
RMMARKER_TYPE.POI_GENRES="POI_GENRES";RMMARKER_TYPE.POI_LODGING="POI_LODGING";RMMARKER_TYPE.POI_MISCELLANEOUS="POI_MISCELLANEOUS";RMMARKER_TYPE.POI_NIGHTLIFE="POI_NIGHTLIFE";RMMARKER_TYPE.POI_SHOPPING="POI_SHOPPING";RMMARKER_TYPE.POI_SIGHTSEEING="POI_SIGHTSEEING";RMMARKER_TYPE.DRAGDOT="DRAGDOT";var ROUTERIBBON_RADIUS=2;var MIN_MAP_CONTROL_WIDTH=1;var MIN_MAP_CONTROL_HEIGHT=1;var MAX_MAP_CONTROL_WIDTH=12800;var MAX_MAP_CONTROL_HEIGHT=10240;var STEP_MAP_ZOOM_LEVEL=17;var STEP_MAP_WIDTH=300;
var STEP_MAP_HEIGHT=150;var STEP_MAP_PRINT_WIDTH=200;var STEP_MAP_PRINT_HEIGHT=120;var AVERAGE_SCALE_BAR_WIDTH=60;var MAX_RECENT_ADDRESSES=5;var MAX_SAVED_ADDRESSES=10;var MAX_POI_PER_PAGE=10;var MAX_STOPS_IN_ROUTE=10;var ZINDEX_MAP=1;var ZINDEX_ROUTE_RIBBON=2;var ZINDEX_BKPOI=100;var ZINDEX_PLACEMARK=101;var ZINDEX_INFO_WINDOW=300;var CITYGRID_BBOX_MAX_LENGTH_MILES=25;var BV_HOST="";var ZOOMCONTROLBASEURL="http://a248.e.akamai.net/f/248/2863/7d/www.randmcnally.com/images/other/imgGetMapZoom";
var SVGSUPPORT="SVGSUPPORT";var VMLSUPPORT="VMLSUPPORT";var NOVMLSVGSUPPORT="NOVMLSVGSUPPORT";var SVGNS="http://www.w3.org/2000/svg";var XHTMLNS="http://www.w3.org/1999/xhtml";if(undefined===BASE_PATH)var BASE_PATH=".";document.ondrag=function(){return false};YAHOO.util.DragDropMgr.mode=YAHOO.util.DragDropMgr.INTERSECT;var ALPH=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];var CLOSE_BRACES="}";var ZOOM_PRECISION=[];ZOOM_PRECISION[0]=2;
ZOOM_PRECISION[1]=4;ZOOM_PRECISION[2]=11;ZOOM_PRECISION[3]=11;ZOOM_PRECISION[4]=11;ZOOM_PRECISION[5]=13;ZOOM_PRECISION[6]=13;ZOOM_PRECISION[7]=13;var RMEvent=[];RMEvent.Zoom=[];RMEvent.Zoom.READY="zoomReady";RMEvent.Zoom.INPROGRESS="zoomInProgress";RMEvent.Zoom.COMPLETE="zoomComplete";RMEvent.Pan=[];RMEvent.Pan.READY="panReady";RMEvent.Pan.INPROGRESS="panInProgress";RMEvent.Pan.COMPLETE="panComplete";RMEvent.TilesDownload=[];RMEvent.TilesDownload.INPROGRESS="tilesDownloadInProgress";
RMEvent.Service=[];RMEvent.Service.READY="serviceReady";RMEvent.Service.INPROGRESS="serviceInProgress";RMEvent.Service.COMPLETE="serviceComplete";RMEvent.Geocode=[];RMEvent.Geocode.COMPLETE="geocodeComplete";RMEvent.CalcRoute=[];RMEvent.CalcRoute.COMPLETE="calcRouteComplete";RMEvent.PoiSearch=[];RMEvent.PoiSearch.COMPLETE="onPOISearchComplete";var _CEM;function getCEM(){if(_CEM===undefined)_CEM=new CustomEventManager;return _CEM}
function CustomEventManager(){this._events=new XMap;this.subscribeEvent=CustomEventManager_subscribeEvent;this.unsubscribeEvent=CustomEventManager_unsubscribeEvent;this.fireEvent=CustomEventManager_fireEvent}function CustomEventManager_fireEvent(type,target,args){var eventId=target?type+",target:"+target:type;var event=this._events.get(eventId);if(event)event.fire(args)}
function CustomEventManager_subscribeEvent(type,target,callback,ctxObj){var eventId=target?type+",target:"+target:type;var event=this._events.get(eventId);if(!event){event=new YAHOO.util.CustomEvent(eventId);this._events.put(eventId,event)}event.subscribe(callback,ctxObj)}function CustomEventManager_unsubscribeEvent(type,target,callback,ctxObj){var eventId=target?type+",target:"+target:type;var event=this._events.get(eventId);if(event)event.unsubscribe(callback,ctxObj)}var RMZoomEvent=[];
RMZoomEvent.onReady=new YAHOO.util.CustomEvent("onZoomReady");RMZoomEvent.onInProgress=new YAHOO.util.CustomEvent("onZoomInProgress");RMZoomEvent.onComplete=new YAHOO.util.CustomEvent("onZoomComplete");function OriginTile(){this.iWCS=0;this.jWCS=0;this.originPointLatLon=null;this.originPoint_XPixelOffset=0;this.originPoint_YPixelOffset=0;this.URL=""}
function WorldCoordSystem(){this.zoomLevel=0;this.originTile=new OriginTile;this.tilePanelOriginXPixelPoint=null;this.mercatorMath=null;this.tilePort=0;this.worldPixelBound=null;this.accurateCenterLL=null;this.initRoute=WCS_initRoute;this.initMapAtLatLong=WCS_initMapAtLatLong;this.getWorldPixelBound=WCS_getWorldPixelBound;this.setWorldPixelBound=WCS_setWorldPixelBound;this.enforceWorldBound=WCS_enforceWorldBound;this.getTileUrl=WCS_getTileUrl;this.getCopyRightUrl=WCS_getCopyRightUrl;this.getCurrentZoom=
WCS_getCurrentZoom;this.changeZoom=WCS_changeZoom;this.getScaleFor=WCS_getScaleFor;this.setTilePort=WCS_setTilePort;this.computeLatLongDistanceKm=WCS_computeLatLongDistanceKm;this.LatLonToPixels=WCS_LatLonToPixels;this.PixelToLatLon=WCS_PixelToLatLon;this.MercatorPixelToTilesPanelPixel=WCS_MercatorPixelToTilesPanelPixel;this.TilesPanelPixelToMercatorPixel=WCS_TilesPanelPixelToMercatorPixel;this.convertToMapEngineZoomLevel=WCS_convertToMapEngineZoomLevel;this.convertToMapControlZoomLevel=WCS_convertToMapControlZoomLevel;
this.setAccurateCenterLL=WCS_setAccurateCenterLL;this.KmToMiles=WCS_KmToMiles;this.KmToMeters=WCS_KmToMeters;this.KmToFeet=WCS_KmToFeet;this.getSquareBoundingBox=WCS_getSquareBoundingBox}
function WCS_initMapAtLatLong(pointLL,zoom){this.zoomLevel=this.convertToMapEngineZoomLevel(zoom);this.mercatorMath=new MercatorMath(RMConfig.TILE_WIDTH,RMConfig.TILE_HEIGHT,this.zoomLevel);this.originTile.originPointLatLon=pointLL;var tileResult=this.mercatorMath.getTile(pointLL.lat,pointLL.lon);this.originTile.iWCS=tileResult.getX();this.originTile.jWCS=tileResult.getY();this.originTile.originPoint_XPixelOffset=tileResult.getOffsetX();this.originTile.originPoint_YPixelOffset=tileResult.getOffsetY();
var oOriginXPixelPoint=this.mercatorMath.convertMercatorLatLongToWorldPixel(this.originTile.originPointLatLon.lat,this.originTile.originPointLatLon.lon);this.tilePanelOriginXPixelPoint=new XPixelPoint(oOriginXPixelPoint.x-this.originTile.originPoint_XPixelOffset,oOriginXPixelPoint.y-this.originTile.originPoint_YPixelOffset)}function WCS_getWorldPixelBound(){return this.worldPixelBound}
function WCS_setWorldPixelBound(viewportWidth,viewportHeight){var minXPixelPoint=this.LatLonToPixels(new LatLong(WORLD_BOUND_MAX_LAT,WORLD_BOUND_MIN_LONG));var maxXPixelPoint=this.LatLonToPixels(new LatLong(WORLD_BOUND_MIN_LAT,WORLD_BOUND_MAX_LONG));this.worldPixelBound=new RMLatLongBound(maxXPixelPoint.x,maxXPixelPoint.y,minXPixelPoint.x,minXPixelPoint.y);this.worldPixelBound.minX*=-1;this.worldPixelBound.minY*=-1;this.worldPixelBound.maxX*=-1;this.worldPixelBound.maxY*=-1;this.worldPixelBound.minX+=
viewportWidth;this.worldPixelBound.minY+=viewportHeight}
function WCS_enforceWorldBound(newPixelPosition){var inboundsPoint=new XPixelPoint(newPixelPosition.x,newPixelPosition.y);if(inboundsPoint.x<this.worldPixelBound.minX)inboundsPoint.x=this.worldPixelBound.minX;if(inboundsPoint.x>this.worldPixelBound.maxX)inboundsPoint.x=this.worldPixelBound.maxX;if(inboundsPoint.y<this.worldPixelBound.minY)inboundsPoint.y=this.worldPixelBound.minY;if(inboundsPoint.y>this.worldPixelBound.maxY)inboundsPoint.y=this.worldPixelBound.maxY;return inboundsPoint}
function WCS_initRoute(addressArray,zoom){this.zoomLevel=zoom;this.mercatorMath=new MercatorMath(RMConfig.TILE_WIDTH,RMConfig.TILE_HEIGHT,this.zoomLevel)}function WCS_getTileUrl(mTileIndex,nTileIndex){return MAP_ENGINE.getBaseTileUrl()+"&i="+this.originTile.iWCS+"&j="+this.originTile.jWCS+"&z="+this.zoomLevel+"&x="+mTileIndex+"&y="+nTileIndex+(this.tilePort===0?"":"&tp="+this.tilePort)}
function WCS_getCopyRightUrl(mTileIndex,nTileIndex){return MAP_ENGINE.getBaseCopyrightUrl()+"?i="+this.originTile.iWCS+"&j="+this.originTile.jWCS+"&x="+mTileIndex+"&y="+nTileIndex+"&z="+this.zoomLevel}function WCS_getCurrentZoom(){return this.convertToMapControlZoomLevel(this.zoomLevel)}
function WCS_changeZoom(xPixelsFromOrigin,yPixelsFromOrigin,newZoom){var zoomPointLL=null;if(xPixelsFromOrigin===0&&yPixelsFromOrigin===0)zoomPointLL=this.originTile.originPointLatLon;else{var wcsOriginPixelPosition=this.mercatorMath.convertMercatorLatLongToWorldPixel(this.originTile.originPointLatLon.lat,this.originTile.originPointLatLon.lon);var wcsZoomPointPixelPosition=new XPixelPoint(wcsOriginPixelPosition.x+xPixelsFromOrigin,wcsOriginPixelPosition.y+yPixelsFromOrigin);zoomPointLL=this.mercatorMath.convertPixelToMercatorLatLong(wcsZoomPointPixelPosition.x,
wcsZoomPointPixelPosition.y)}if(this.accurateCenterLL!=null){var computedXPixelPoint=this.LatLonToPixels(zoomPointLL);var accurateXPixelPoint=this.LatLonToPixels(this.accurateCenterLL);if(Math.abs(computedXPixelPoint.x-accurateXPixelPoint.x)<=1&&Math.abs(computedXPixelPoint.y-accurateXPixelPoint.y)<=1){zoomPointLL=this.accurateCenterLL;this.accurateCenterLL=null}}this.initMapAtLatLong(zoomPointLL,newZoom)}
function WCS_getScaleFor(mTileIndex,nTileIndex){var i=this.originTile.iWCS+mTileIndex;var j=this.originTile.jWCS+nTileIndex;var tileResult=this.mercatorMath.getTileByIndex(i,j);var minLL=tileResult.getMinLL();var maxLL=tileResult.getMaxLL();var point1=new LatLong(minLL.lat,minLL.lon);var point2=new LatLong(minLL.lat,maxLL.lon);var nDistKm=this.mercatorMath.computeLatLongDistance(point1,point2);var scaleKmPerPixel=nDistKm/RMConfig.TILE_WIDTH;var scaleMilesPerPixel=this.KmToMiles(nDistKm)/RMConfig.TILE_WIDTH;
var scaleMetersPerPixel=this.KmToMeters(nDistKm)/RMConfig.TILE_WIDTH;var scaleFeetPerPixel=this.KmToFeet(nDistKm)/RMConfig.TILE_WIDTH;return{miles:scaleMilesPerPixel,km:scaleKmPerPixel,feet:scaleFeetPerPixel,meters:scaleMetersPerPixel}}function WCS_computeLatLongDistanceKm(llPoint1,llPoint2){return this.mercatorMath.computeLatLongDistance(llPoint1,llPoint2)}
function WCS_LatLonToPixels(oLatLonPoint){var oMercatorXPixelPoint=this.mercatorMath.convertMercatorLatLongToWorldPixel(oLatLonPoint.lat,oLatLonPoint.lon);return this.MercatorPixelToTilesPanelPixel(oMercatorXPixelPoint)}
function WCS_PixelToLatLon(xPixelsFromOrigin,yPixelsFromOrigin){var wcsOriginPixelPosition=this.mercatorMath.convertMercatorLatLongToWorldPixel(this.originTile.originPointLatLon.lat,this.originTile.originPointLatLon.lon);var wcsZoomPointPixelPosition=new XPixelPoint(wcsOriginPixelPosition.x+xPixelsFromOrigin,wcsOriginPixelPosition.y+yPixelsFromOrigin);var llPoint=this.mercatorMath.convertPixelToMercatorLatLong(wcsZoomPointPixelPosition.x,wcsZoomPointPixelPosition.y);return llPoint}
function WCS_MercatorPixelToTilesPanelPixel(mercatorPoint){var oTilesPanelXPixelPoint=new XPixelPoint;oTilesPanelXPixelPoint.x=mercatorPoint.x-this.tilePanelOriginXPixelPoint.x;oTilesPanelXPixelPoint.y=mercatorPoint.y-this.tilePanelOriginXPixelPoint.y;return oTilesPanelXPixelPoint}
function WCS_TilesPanelPixelToMercatorPixel(pPoint){var oAnswer=new XPixelPoint;var wcsOriginPixelPosition=this.mercatorMath.convertMercatorLatLongToWorldPixel(this.originTile.originPointLatLon.lat,this.originTile.originPointLatLon.lon);oAnswer.x=this.tilePanelOriginXPixelPoint.x+pPoint.x-wcsOriginPixelPosition.x;oAnswer.y=this.tilePanelOriginXPixelPoint.y+pPoint.y-wcsOriginPixelPosition.y;return oAnswer}
function WCS_convertToMapEngineZoomLevel(mapControlZoomLevel){return mapControlZoomLevel+ZOOMLEVEL_OFFSET}function WCS_convertToMapControlZoomLevel(mapEngineZoomLevel){return mapEngineZoomLevel-ZOOMLEVEL_OFFSET}function WCS_setAccurateCenterLL(centerLL){this.accurateCenterLL=centerLL}Number.prototype.toRad=function(){return this*Math.PI/180};function WCS_setTilePort(port){this.tilePort=port}function WCS_KmToMiles(km){return km*0.621371192}function WCS_KmToMeters(km){return km*1E3}
function WCS_KmToFeet(km){return km*3280.8399}function WCS_MilesToKm(mi){return mi/0.621371192}function WCS_getSquareBoundingBox(pLat,pLon,pSideInMiles){return this.mercatorMath.getSquareFromCenterPoint(pLat,pLon,pSideInMiles)};var MAP_ENGINE=new MapEngine;var serviceRequests=[];var dummyArray=[];var authToken=true;function ds_geo(jsonObj){_invokeCallback(jsonObj)}function ds_poi(jsonObj){_invokeCallback(jsonObj)}function ds_category(jsonObj){_invokeCallback(jsonObj)}function ds_calcroute(jsonObj){_invokeCallback(jsonObj)}function ds_copyright(jsonObj){_invokeCallback(jsonObj)}function ds_ribbon(jsonObj){_invokeCallback(jsonObj)}
function _invokeCallback(jsonObj){var tid=0;if(jsonObj.tid){tid=jsonObj.tid;if(serviceRequests[tid]){var thisContext=this;if(serviceRequests[tid].context)thisContext=serviceRequests[tid].context;serviceRequests[tid].callback.call(thisContext,jsonObj);serviceRequests.splice(tid,1)}else RMUtils.log("Request id "+tid+" not recognized. There are "+serviceRequests.length+" pending requests")}else RMUtils.log("Callback id not defined in jsonObj.")}
function _prepareRequest(callback,context){var serviceReqToken=Math.random();serviceRequests[serviceReqToken]={callback:callback,context:context};return serviceReqToken}
function MapEngine(){var DEV_TILE_PORT=7080;var DEV_GEOCODE_PORT=6080;var DEV_ROUTE_PORT=DEV_GEOCODE_PORT;var DEV_POI_PORT=DEV_GEOCODE_PORT;var DEV_HOST_NAME="titan";var ME_CONTEXT="/mapengine3/";var DEV_MACHINE_TILE1=DEV_HOST_NAME+".corp.randmcnally.com";var DEV_MACHINE_TILE2=DEV_HOST_NAME+"1.corp.randmcnally.com";var DEV_MACHINE_TILE3=DEV_HOST_NAME+"2.corp.randmcnally.com";var DEV_MACHINE_TILE4=DEV_HOST_NAME+"3.corp.randmcnally.com";var DEV_MACHINE_ROUTE1=DEV_HOST_NAME+".corp.randmcnally.com";var DEV_MACHINE_ROUTE2=
DEV_HOST_NAME+"1.corp.randmcnally.com";var DEV_MACHINE_ROUTE3=DEV_HOST_NAME+"2.corp.randmcnally.com";var DEV_MACHINE_ROUTE4=DEV_HOST_NAME+"3.corp.randmcnally.com";var DEV_MACHINE_POI=DEV_HOST_NAME+".corp.randmcnally.com";var DEV_MACHINE_GEOCODE=DEV_HOST_NAME+".corp.randmcnally.com";var MAP_ENGINE_TILE_HOST1=DEV_MACHINE_TILE1;var MAP_ENGINE_TILE_HOST2=DEV_MACHINE_TILE2;var MAP_ENGINE_TILE_HOST3=DEV_MACHINE_TILE3;var MAP_ENGINE_TILE_HOST4=DEV_MACHINE_TILE4;var MAP_ENGINE_ROUTE_HOST1=DEV_MACHINE_ROUTE1;
var MAP_ENGINE_ROUTE_HOST2=DEV_MACHINE_ROUTE2;var MAP_ENGINE_ROUTE_HOST3=DEV_MACHINE_ROUTE3;var MAP_ENGINE_ROUTE_HOST4=DEV_MACHINE_ROUTE4;var MAP_ENGINE_POI_HOST=DEV_MACHINE_POI;var MAP_ENGINE_GEOCODE_HOST=DEV_MACHINE_GEOCODE;var MAP_ENGINE_TILE_PORT=DEV_TILE_PORT;var MAP_ENGINE_ROUTE_PORT=DEV_ROUTE_PORT;var MAP_ENGINE_POI_PORT=DEV_POI_PORT;var MAP_ENGINE_GEOCODE_PORT=DEV_GEOCODE_PORT;MAP_ENGINE_TILE_HOST1=conf_MAP_ENGINE_TILE_HOST1;MAP_ENGINE_TILE_HOST2=conf_MAP_ENGINE_TILE_HOST2;MAP_ENGINE_TILE_HOST3=
conf_MAP_ENGINE_TILE_HOST3;MAP_ENGINE_TILE_HOST4=conf_MAP_ENGINE_TILE_HOST4;MAP_ENGINE_TILE_PORT=conf_MAP_ENGINE_TILE_PORT;MAP_ENGINE_ROUTE_HOST1=conf_MAP_ENGINE_ROUTE_HOST1;MAP_ENGINE_ROUTE_HOST2=conf_MAP_ENGINE_ROUTE_HOST2;MAP_ENGINE_ROUTE_HOST3=conf_MAP_ENGINE_ROUTE_HOST3;MAP_ENGINE_ROUTE_HOST4=conf_MAP_ENGINE_ROUTE_HOST4;MAP_ENGINE_ROUTE_PORT=conf_MAP_ENGINE_ROUTE_PORT;MAP_ENGINE_POI_HOST=conf_MAP_ENGINE_POI_HOST;MAP_ENGINE_POI_PORT=conf_MAP_ENGINE_POI_PORT;MAP_ENGINE_GEOCODE_HOST=conf_MAP_ENGINE_GEOCODE_HOST;
MAP_ENGINE_GEOCODE_PORT=conf_MAP_ENGINE_GEOCODE_PORT;var GEOCODE_ENGINE_HOST_PORT;if(MAP_ENGINE_GEOCODE_PORT==80)GEOCODE_ENGINE_HOST_PORT=MAP_ENGINE_GEOCODE_HOST;else GEOCODE_ENGINE_HOST_PORT=MAP_ENGINE_GEOCODE_HOST+":"+MAP_ENGINE_GEOCODE_PORT;var POI_ENGINE_HOST_PORT;if(MAP_ENGINE_POI_PORT==80)POI_ENGINE_HOST_PORT=MAP_ENGINE_POI_HOST;else POI_ENGINE_HOST_PORT=MAP_ENGINE_POI_HOST+":"+MAP_ENGINE_POI_PORT;if(MAP_ENGINE)throw"One instance of MapEngine is already available";if(MAP_ENGINE_TILE_PORT==80)this._MAP_ENGINE_URL=
["http://"+MAP_ENGINE_TILE_HOST1+ME_CONTEXT,"http://"+MAP_ENGINE_TILE_HOST2+ME_CONTEXT,"http://"+MAP_ENGINE_TILE_HOST3+ME_CONTEXT,"http://"+MAP_ENGINE_TILE_HOST4+ME_CONTEXT];else this._MAP_ENGINE_URL=["http://"+MAP_ENGINE_TILE_HOST1+":"+MAP_ENGINE_TILE_PORT+ME_CONTEXT,"http://"+MAP_ENGINE_TILE_HOST2+":"+MAP_ENGINE_TILE_PORT+ME_CONTEXT,"http://"+MAP_ENGINE_TILE_HOST3+":"+MAP_ENGINE_TILE_PORT+ME_CONTEXT,"http://"+MAP_ENGINE_TILE_HOST4+":"+MAP_ENGINE_TILE_PORT+ME_CONTEXT];this.routeRoundRobinEngineIndex=
0;if(MAP_ENGINE_ROUTE_PORT==80)this._ROUTE_ENGINE_URL=["http://"+MAP_ENGINE_ROUTE_HOST1+ME_CONTEXT,"http://"+MAP_ENGINE_ROUTE_HOST2+ME_CONTEXT,"http://"+MAP_ENGINE_ROUTE_HOST3+ME_CONTEXT,"http://"+MAP_ENGINE_ROUTE_HOST4+ME_CONTEXT];else this._ROUTE_ENGINE_URL=["http://"+MAP_ENGINE_ROUTE_HOST1+":"+MAP_ENGINE_ROUTE_PORT+ME_CONTEXT,"http://"+MAP_ENGINE_ROUTE_HOST2+":"+MAP_ENGINE_ROUTE_PORT+ME_CONTEXT,"http://"+MAP_ENGINE_ROUTE_HOST3+":"+MAP_ENGINE_ROUTE_PORT+ME_CONTEXT,"http://"+MAP_ENGINE_ROUTE_HOST4+
":"+MAP_ENGINE_ROUTE_PORT+ME_CONTEXT];this._GEOCODE_ENGINE_URL="http://"+GEOCODE_ENGINE_HOST_PORT+ME_CONTEXT;this._POI_ENGINE_URL="http://"+POI_ENGINE_HOST_PORT+ME_CONTEXT;this.roundRobinIndex=0;this._defaultRouteOptions="cp=false";this.geocode=ME_geocode;this.poiSearch=ME_poiSearch;this.singleLineSearch=ME_singleLineSearch;this.alongRouteSearch=ME_alongRouteSearch;this.tripPoiSearch=ME_tripPoiSearch;this.getCopyRight=ME_getCopyRight;this.categorySearch=ME_categorySearch;this.getBaseUrl=ME_getBaseUrl;
this.getBaseCopyrightUrl=ME_getBaseCopyrightUrl;this.getBaseTileUrl=ME_getBaseTileUrl;this.getStepMapUrl=ME_getStepMapUrl;this.setDefaultRouteOptions=ME_setDefaultRouteOptions;this.calcRoute=ME_calcRoute;this.getRouteRibbon=ME_getRouteRibbon;this.TT=MAP_API_KEY}function ME_getBaseUrl(){this.roundRobinIndex=(this.roundRobinIndex+1)%this._MAP_ENGINE_URL.length;return this._MAP_ENGINE_URL[this.roundRobinIndex]}
function ME_getStepMapUrl(spid,zoom,width,height){return this.getBaseUrl()+"downloadStepMap?spid="+spid+"&tok="+this.TT+"&z="+zoom+"&w="+width+"&h="+height}function ME_setDefaultRouteOptions(sURLParams){this._defaultRouteOptions=sURLParams}function ME_getBaseTileUrl(){return this.getBaseUrl()+"tile?tok="+this.TT}function ME_getBaseCopyrightUrl(){return this.getBaseUrl()+"copyright"}
function ME_geocode(address,callback,context){RMUtils.log("here");postCallback={success:function(o){RMUtils.log("Map service call completed")},failure:function(o){RMUtils.log("An error occurred while retrieving data from the map server")}};var params="line="+RMUtils.encodeURLParam(address);var serviceReqToken=_prepareRequest(callback,context);var url=this._GEOCODE_ENGINE_URL+"sli?tid="+serviceReqToken+"&cb=ds_geo&"+params;if(authToken)url=url+"&tok="+this.TT;RMUtils.log("geocode URL ->"+url);RMUtils.log("Calling map service...");
var objTransaction=YAHOO.util.Get.script(url,{onSuccess:postCallback.success,onFailure:postCallback.failure})}
function ME_getRouteRibbon(routeSPID,zoomLevel,radius,minBB,maxBB,callback,context){var params="&spid="+routeSPID+"&z="+zoomLevel+"&r="+radius+"&min="+minBB+"&max="+maxBB;var serviceReqToken=_prepareRequest(callback,context);postCallback={success:function(o){},failure:function(o){RMUtils.log("An error occurred while retrieving data from the map server for downloadRoute")}};this.routeRoundRobinEngineIndex=(this.routeRoundRobinEngineIndex+1)%this._ROUTE_ENGINE_URL.length;var url=this._ROUTE_ENGINE_URL[this.routeRoundRobinEngineIndex]+
"downloadRoute?tid="+serviceReqToken+"&cb=ds_ribbon&"+params;if(authToken)url=url+"&tok="+this.TT;RMUtils.log(url);var objTransaction=YAHOO.util.Get.script(url,{onSuccess:postCallback.success,onFailure:postCallback.failure,data:{reqId:serviceReqToken}})}
function ME_poiSearch(poiName,selectedCategory,poiLocation,latLonBound,startIndex,count,width,height,callback,context){postCallback={success:function(o){}};var serviceReqToken=_prepareRequest(callback,context);var params="tid="+serviceReqToken+"&index="+startIndex+"&count="+count+"&cb=ds_poi"+"&cat="+selectedCategory;if(authToken)params=params+"&tok="+this.TT;if(poiName)params=params+"&name="+RMUtils.encodeURLParam(poiName);if(width!==undefined&&height!==undefined)params=params+"&w="+width+"&h="+
height;var url=this._POI_ENGINE_URL;if(poiLocation==null){params=params+"&min="+latLonBound.minY+","+latLonBound.minX+"&max="+latLonBound.maxY+","+latLonBound.maxX;url+="poi?"+params}else{if(poiLocation.id!=null&&poiLocation.id!=""){var searchLoc='{id:"'+poiLocation.id+'",ll:"'+poiLocation.latLongPosition.lat+","+poiLocation.latLongPosition.lon+'",nm:"'+poiLocation.toString()+'",pr:"'+poiLocation.precision+'"';if(poiLocation.precision==0||poiLocation.precision==1||poiLocation.precision==2){var country;
if(poiLocation.country=="USA")country="US";else country=poiLocation.country;searchLoc+=',c:"'+country+'",s:"'+poiLocation.state+'",ct:"'+poiLocation.city+'"'+CLOSE_BRACES}else searchLoc+=',c:"",s:"",ct:""'+CLOSE_BRACES;params=params+"&loc="+RMUtils.encodeURLParam(searchLoc);RMUtils.log(searchLoc)}else params=params+"&loc="+RMUtils.encodeURLParam(poiLocation.addressName);url+="poinearloc?"+params}RMUtils.log("POI URL ->"+url);var objTransaction=YAHOO.util.Get.script(url,{onSuccess:postCallback.success,
data:{reqId:serviceReqToken}})}
function ME_singleLineSearch(searchText,category,subcategory,latLonBound,startIndex,count,width,height,callback,context){postCallback={success:function(o){}};var url=this._POI_ENGINE_URL;var serviceReqToken=_prepareRequest(callback,context);var params="tid="+serviceReqToken+"&index="+startIndex+"&count="+count+"&cb=ds_poi";if(authToken)params=params+"&tok="+this.TT;if(category&&category.value){params+="&taggroup="+RMUtils.encodeURLParam(category.value);if(subcategory&&subcategory.value)params+="&tag="+
RMUtils.encodeURLParam(subcategory.value)}if(searchText)params+="&line="+RMUtils.encodeURLParam(searchText);if(width!==undefined&&height!==undefined)params+="&w="+width+"&h="+height;if(latLonBound)params+="&min="+latLonBound.minY+","+latLonBound.minX+"&max="+latLonBound.maxY+","+latLonBound.maxX;url+="tripSli?"+params;RMUtils.log("POI URL ->"+url);var objTransaction=YAHOO.util.Get.script(url,{onSuccess:postCallback.success,data:{reqId:serviceReqToken}})}
function ME_alongRouteSearch(searchText,category,subcategory,startIndex,count,segmentIds,corridorWidth,dataSet,callback,context){postCallback={success:function(o){}};var url=this._POI_ENGINE_URL;var serviceReqToken=_prepareRequest(callback,context);var params="tid="+serviceReqToken+"&index="+startIndex+"&count="+count+"&cb=ds_poi";if(authToken)params=params+"&tok="+this.TT;var spIds="";for(var i=0;i<segmentIds.length;i++)spIds=spIds+segmentIds[i]+",";params=params+"&spid="+spIds.substring(0,spIds.length-
1);if(dataSet)params+="&ds="+dataSet;if(corridorWidth)params+="&cw="+corridorWidth;if(category&&category.value){params+="&taggroup="+RMUtils.encodeURLParam(category.value);if(subcategory&&subcategory.value)params+="&tag="+RMUtils.encodeURLParam(subcategory.value)}if(searchText)params+="&name="+RMUtils.encodeURLParam(searchText);url+="findTripPoiAlongRoute?"+params;RMUtils.log("POI URL ->"+url);var objTransaction=YAHOO.util.Get.script(url,{onSuccess:postCallback.success,data:{reqId:serviceReqToken}})}
function ME_tripPoiSearch(name,location,category,subcategory,latLonBound,startIndex,count,width,height,callback,context){postCallback={success:function(o){}};var url=this._POI_ENGINE_URL;var serviceReqToken=_prepareRequest(callback,context);var params="tid="+serviceReqToken+"&index="+startIndex+"&count="+count+"&cb=ds_poi";if(authToken)params=params+"&tok="+this.TT;if(name)params+="&name="+RMUtils.encodeURLParam(name);if(location)params+="&loc="+RMUtils.encodeURLParam(location);if(width!==undefined&&
height!==undefined)params+="&w="+width+"&h="+height;if(category&&category.value){params+="&taggroup="+RMUtils.encodeURLParam(category.value);if(subcategory&&subcategory.value)params+="&tag="+RMUtils.encodeURLParam(subcategory.value)}if(latLonBound)params+="&min="+latLonBound.minY+","+latLonBound.minX+"&max="+latLonBound.maxY+","+latLonBound.maxX;url+="findTripPoi?"+params;RMUtils.log("POI URL ->"+url);var objTransaction=YAHOO.util.Get.script(url,{onSuccess:postCallback.success,data:{reqId:serviceReqToken}})}
function ME_getCopyRight(tileCopyRightUrl,callback,context){postCallback={success:function(o){}};var serviceReqToken=_prepareRequest(callback,context);tileCopyRightUrl+="&tid="+serviceReqToken+"&cb=ds_copyright";if(authToken)tileCopyRightUrl=tileCopyRightUrl+"&tok="+this.TT;RMUtils.log("Calling copyright..."+tileCopyRightUrl);var objTransaction=YAHOO.util.Get.script(tileCopyRightUrl,{onSuccess:postCallback.success,data:{reqId:serviceReqToken}})}
function ME_categorySearch(callback,context){postCallback={success:function(o){RMUtils.log("Category service call completed")},failure:function(o){RMUtils.log("An error occurred while retrieving data from the map server")}};var serviceReqToken=_prepareRequest(callback,context);var url=this._POI_ENGINE_URL+"category?tid="+serviceReqToken+"&cb=ds_category";if(authToken)url=url+"&tok="+this.TT;RMUtils.log("Calling map service...");var objTransaction=YAHOO.util.Get.script(url,{onSuccess:postCallback.success,
onFailure:postCallback.failure,data:{reqId:serviceReqToken}})}
function ME_calcRoute(start,end,advancedOptions,viewportWidth,viewportHeight,callback,context,segmentIndex,segmentTotal){postCallback={success:function(o){RMUtils.log("CalcRoute service call completed")},failure:function(o){RMUtils.log("An error occurred while retrieving data from the route server")}};var serviceReqToken=_prepareRequest(callback,context);var params="";var locationList=[start,end];for(var i=0;i<locationList.length;i++)if(locationList[i].id!=null&&locationList[i].id!=""){var locName=
locationList[i].formattedAddress;locName='{id:"'+RMUtils.encodeURLParam(locationList[i].id)+'",ll:"'+locationList[i].latLongPosition.lat+","+locationList[i].latLongPosition.lon+'",nm:"'+RMUtils.encodeURLParam(locName)+'"'+CLOSE_BRACES;params+="&loc="+locName}else if(locationList[i].latLongPosition){var locName="";var id="location_"+ALPH[i];if(locationList[i].formattedAddress&&locationList[i].formattedAddress.trim()!="")locName=String(locationList[i].formattedAddress);else if(locationList[i].addressName&&
locationList[i].addressName!="")locName=locationList[i].addressName;else alert("Usage error in MapEngine.js - either RMAddress.formattedAddress or RMAddress.name must exist before the calculate route.");locName='{id:"'+id+'",ll:"'+locationList[i].latLongPosition.lat+","+locationList[i].latLongPosition.lon+'",nm:"'+RMUtils.encodeURLParam(locName)+'"'+CLOSE_BRACES;params+="&loc="+locName}else params+="&loc="+RMUtils.encodeURLParam(locationList[i].addressName);if(advancedOptions){if(advancedOptions.routeType!=
"none")params+="&type="+advancedOptions.routeType;if(advancedOptions.metrc!="none")params+="&metrc="+advancedOptions.metrc;if(advancedOptions.tolls!="none")params+="&tolls="+advancedOptions.tolls}else RMUtils.log("Advanced options are null");if(this._defaultRouteOptions!="")params+="&"+this._defaultRouteOptions;params+="&w="+viewportWidth+"&h="+viewportHeight+"&sindex="+segmentIndex+"&stotal="+segmentTotal;this.routeRoundRobinEngineIndex=(this.routeRoundRobinEngineIndex+1)%this._ROUTE_ENGINE_URL.length;
var url=this._ROUTE_ENGINE_URL[this.routeRoundRobinEngineIndex]+"calcroute?tid="+serviceReqToken+"&cb=ds_calcroute"+params;if(authToken)url=url+"&tok="+this.TT;RMUtils.log("calcroute : "+url);RMUtils.log("Calling route service...");var objTransaction=YAHOO.util.Get.script(url,{onSuccess:postCallback.success,onFailure:postCallback.failure,data:{reqId:serviceReqToken}})};function TileResult(indexX,indexY,offsetX,offsetY,minLL,maxLL){this._indexX=indexX;this._indexY=indexY;this._offsetX=offsetX;this._offsetY=offsetY;this._minLL=minLL;this._maxLL=maxLL;this.getX=TileResult_getX;this.getY=TileResult_getY;this.getOffsetX=TileResult_getOffsetX;this.getOffsetY=TileResult_getOffsetY;this.getMinLL=TileResult_getMinLL;this.getMaxLL=TileResult_getMaxLL}function TileResult_getX(){return this._indexX}function TileResult_getY(){return this._indexY}
function TileResult_getOffsetX(){return this._offsetX}function TileResult_getOffsetY(){return this._offsetY}function TileResult_getMinLL(){return this._minLL}function TileResult_getMaxLL(){return this._maxLL}
function MercatorMath(singleTileWidthPixel,singleTileWidthHeight,zoomIndex){this.PI=3.141592653589793;this.METERS_PER_DEGREE_LAT=110874.4;this._zoomIndex=0;this._tileCountPerAxis=0;this._singleTileWidthPixel=0;this._singleTileHeightPixel=0;this._totalWorldWidthPixels=0;this._totalWorldHeightPixels=0;this._pixelsPerDegree=0;this._mercatorOffset=0;this._mercatorScale=0;this._centerX=0;this._centerY=0;this._seedTile=null;this.constructor=MercatorMath_constructor;this.getMaxTileIndex=MercatorMath_getMaxTileIndex;
this.getEquatorialTileWidthMeters=MercatorMath_getEquatorialTileWidthMeters;this.getEquatorialScale=MercatorMath_getEquatorialScale;this.getTileHeightMeters=MercatorMath_getTileHeightMeters;this.getSingleTileWidthPixels=MercatorMath_getSingleTileWidthPixels;this.getSingleTileHeightPixels=MercatorMath_getSingleTileHeightPixels;this.getTotalWorldWidthPixels=MercatorMath_getTotalWorldWidthPixels;this.getTotalWorldHeightPixels=MercatorMath_getTotalWorldHeightPixels;this.getTileByIndex=MercatorMath_getTileByIndex;
this.getTile=MercatorMath_getTile;this.convertMercatorLatLongToWorldPixel=MercatorMath_convertMercatorLatLongToWorldPixel;this.convertPixelToMercatorLatLong=MercatorMath_convertPixelToMercatorLatLong;this.getZoomIndex=MercatorMath_getZoomIndex;this.getSeedTile=MercatorMath_getSeedTile;this.m=MercatorMath_m;this.minverse=MercatorMath_minverse;this.computeLatLongDistance=MercatorMath_computeLatLongDistance;this.radsPerPixelAtZoom=MercatorMath_radsPerPixelAtZoom;this.convertLat2MercatorPix=MercatorMath_convertLat2MercatorPix;
this.convertLon2MercatorPix=MercatorMath_convertLon2MercatorPix;this.convertMercatorPix2Lat=MercatorMath_convertMercatorPix2Lat;this.convertMercatorPix2Lon=MercatorMath_convertMercatorPix2Lon;this.mercatorUnproject=MercatorMath_mercatorUnproject;this.findRadPhi=MercatorMath_findRadPhi;this.getSquareFromCenterPoint=MercatorMath_getSquareFromCenterPoint;this.getNbMilesFor1degreeLongitude=MercatorMah_getNbMilesFor1degreeLongitude;this.getNbMilesFor1degreeLatitude=MercatorMah_getNbMilesFor1degreeLatitude;
this.constructor(singleTileWidthPixel,singleTileWidthHeight,zoomIndex)}
function MercatorMath_constructor(singleTileWidthPixel,singleTileWidthHeight,zoomIndex){this._zoomIndex=zoomIndex;this._singleTileWidthPixel=singleTileWidthPixel;this._singleTileHeightPixel=singleTileWidthHeight;this._tileCountPerAxis=Math.pow(2,zoomIndex);this._totalWorldWidthPixels=this._tileCountPerAxis*this._singleTileWidthPixel;this._totalWorldHeightPixels=this._tileCountPerAxis*this._singleTileHeightPixel;var minLon=-180;var maxLon=180;var minLat=-85.05113;var maxLat=85.05113;var cosineCenterLat=
Math.cos(0);this._pixelsPerDegree=this._totalWorldWidthPixels/Math.abs(maxLon-minLon)/cosineCenterLat;var yPerLat=this._totalWorldHeightPixels/(Math.abs(this.m(maxLat)-this.m(minLat))*180/this.PI)/cosineCenterLat;if(yPerLat<this._pixelsPerDegree)this._pixelsPerDegree=yPerLat;this._mercatorOffset=this.m(0);this._mercatorScale=this._pixelsPerDegree*cosineCenterLat;this._centerX=this._totalWorldWidthPixels/2;this._centerY=this._totalWorldHeightPixels/2;this._seedTile=this.getTileByIndex(0,Math.floor(this._tileCountPerAxis/
2-1))}function MercatorMath_getMaxTileIndex(){return this._tileCountPerAxis}function MercatorMath_getEquatorialTileWidthMeters(){var metersPerTile=EARTH_CIRCUMFERENCE_METERS/(this._tileCountPerAxis*1);return Math.floor(metersPerTile)}function MercatorMath_getEquatorialScale(){var scale=this._totalWorldWidthPixels/75/39.3700787*EARTH_CIRCUMFERENCE_METERS;return Math.floor(cale)}function MercatorMath_getTileHeightMeters(){return this.METERS_PER_DEGREE_LAT*(180/(this._tileCountPerAxis*0))}
function MercatorMath_getSingleTileWidthPixels(){return this._singleTileWidthPixel}function MercatorMath_getSingleTileHeightPixels(){return this._singleTileHeightPixel}function MercatorMath_getTotalWorldWidthPixels(){return this._totalWorldWidthPixels}function MercatorMath_getTotalWorldHeightPixels(){return this._totalWorldHeightPixels}
function MercatorMath_getTileByIndex(indexX,indexY){var min=this.convertPixelToMercatorLatLong(indexX*this._singleTileWidthPixel,(indexY+1)*this._singleTileHeightPixel);var max=this.convertPixelToMercatorLatLong((indexX+1)*this._singleTileWidthPixel,indexY*this._singleTileHeightPixel);var tile=new TileResult(indexX,indexY,0,0,min,max);return tile}
function MercatorMath_getTile(latitude,longitude){var pixelCoord=this.convertMercatorLatLongToWorldPixel(latitude,longitude);var tileIndexX=Math.floor(pixelCoord.x/this._singleTileWidthPixel);var tileIndexY=Math.floor(pixelCoord.y/this._singleTileHeightPixel);var tileOffsetX=Math.floor(pixelCoord.x%this._singleTileWidthPixel);var tileOffsetY=Math.floor(pixelCoord.y%this._singleTileHeightPixel);var min=this.convertPixelToMercatorLatLong(tileIndexX*this._singleTileWidthPixel,(tileIndexY+1)*this._singleTileHeightPixel);
var max=this.convertPixelToMercatorLatLong((tileIndexX+1)*this._singleTileWidthPixel,tileIndexY*this._singleTileHeightPixel);var tile=new TileResult(tileIndexX,tileIndexY,tileOffsetX,tileOffsetY,min,max);return tile}
function MercatorMath_convertMercatorLatLongToWorldPixel(latitude,longitude){var rpp=this.radsPerPixelAtZoom(256,this._zoomIndex);var x=Math.floor(this.convertLon2MercatorPix(longitude,rpp)+this._centerX);var y=Math.floor(this._centerY-this.convertLat2MercatorPix(latitude,rpp));var pixelPoint=new XPixelPoint(x,y);return pixelPoint}
function MercatorMath_convertPixelToMercatorLatLong(x,y){var rpp=this.radsPerPixelAtZoom(256,this._zoomIndex);var lat=this.convertMercatorPix2Lat(y,rpp);var lon=this.convertMercatorPix2Lon(x,rpp);var newLLPoint=new LatLong(lat,lon);return newLLPoint}function MercatorMath_radsPerPixelAtZoom(B,A){var S=B<<A;var R=2*Math.PI/S;return R}
function MercatorMath_convertLat2MercatorPix(D,F){var E=D*2*Math.PI/360;var B=0.08181919084262157;var A=Math.sin(E);var G=B*A;var C=Math.log((1+A)/(1-A)*Math.pow((1-G)/(1+G),B))/2;var R=C/F;return R}function MercatorMath_convertLon2MercatorPix(B,A){var R=B/180*Math.PI/A;return R}
function MercatorMath_convertMercatorPix2Lat(y,rpp){var G=1.0E-7;var E=12;var B=Math.pow(Math.E,-(this._centerY-y)*rpp);var D=this.mercatorUnproject(B);var A=this.findRadPhi(D,B);var C=0;while(C<E&&Math.abs(D-A)>G){D=A;A=this.findRadPhi(D,B);C++}return A*180/Math.PI}function MercatorMath_convertMercatorPix2Lon(x,rpp){return(x-this._centerX)*rpp*180/Math.PI}function MercatorMath_mercatorUnproject(A){return Math.PI/2-2*Math.atan(A)}
function MercatorMath_findRadPhi(C,B){var A=0.08181919084262157;var D=A*Math.sin(C);return Math.PI/2-2*Math.atan(B*Math.pow((1-D)/(1+D),A/2))}function MercatorMath_m(deg){var sinLat=Math.sin(deg*this.PI/180);return Math.log((1+sinLat)/(1-sinLat))/2}function MercatorMath_minverse(y){var e2y=Math.exp(2*y);return Math.asin((e2y-1)/(e2y+1))*180/this.PI}
function MercatorMath_computeLatLongDistance(latLong1,latLong2){var R=6371;var dLat=(latLong2.lat-latLong1.lat).toRad();var dLon=(latLong2.lon-latLong1.lon).toRad();var a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(latLong1.lat.toRad())*Math.cos(latLong2.lat.toRad())*Math.sin(dLon/2)*Math.sin(dLon/2);var c=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));var d=R*c;return d}
function MercatorMath_getSquareFromCenterPoint(pLat,pLon,pSideInMiles){if(pLat==null||pLon==null||pSideInMiles==null||isNaN(pSideInMiles))return;var oHalfSide=pSideInMiles/2;var oLatRange=oHalfSide/this.getNbMilesFor1degreeLatitude();var oTopLat=pLat+oLatRange;var oBottomLat=pLat-oLatRange;var oRatioLatDegreeTop=this.getNbMilesFor1degreeLongitude(oTopLat);var oRatioLatDegreeBottom=this.getNbMilesFor1degreeLongitude(oBottomLat);var oRatio=Math.min(oRatioLatDegreeTop,oRatioLatDegreeBottom);var oLeftLon=
pLon-oHalfSide/oRatio;var oRightLon=pLon+oHalfSide/oRatio;return new RMLatLongBound(oLeftLon,oBottomLat,oRightLon,oTopLat)}function MercatorMah_getNbMilesFor1degreeLongitude(pLatitude){var oRadianLatitude=pLatitude*Math.PI/180;return Math.cos(oRadianLatitude)*this.getNbMilesFor1degreeLatitude()}function MercatorMah_getNbMilesFor1degreeLatitude(){return 69.172}
function distVincenty(lat1,lon1,lat2,lon2){var a=6378137;var b=6356752.3142;var f=1/298.257223563;var L=(lon2-lon1).toRad();var U1=Math.atan((1-f)*Math.tan(lat1.toRad()));var U2=Math.atan((1-f)*Math.tan(lat2.toRad()));var sinU1=Math.sin(U1),cosU1=Math.cos(U1);var sinU2=Math.sin(U2),cosU2=Math.cos(U2);var lambda=L;var lambdaP=2*Math.PI;var iterLimit=20;while(Math.abs(lambda-lambdaP)>1.0E-12&&--iterLimit>0){var sinLambda=Math.sin(lambda),cosLambda=Math.cos(lambda);var sinSigma=Math.sqrt(cosU2*sinLambda*
cosU2*sinLambda+(cosU1*sinU2-sinU1*cosU2*cosLambda)*(cosU1*sinU2-sinU1*cosU2*cosLambda));if(sinSigma===0)return 0;var cosSigma=sinU1*sinU2+cosU1*cosU2*cosLambda;var sigma=Math.atan2(sinSigma,cosSigma);var sinAlpha=cosU1*cosU2*sinLambda/sinSigma;var cosSqAlpha=1-sinAlpha*sinAlpha;var cos2SigmaM=cosSigma-2*sinU1*sinU2/cosSqAlpha;if(isNaN(cos2SigmaM))cos2SigmaM=0;var C=f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha));lambdaP=lambda;lambda=L+(1-C)*f*sinAlpha*(sigma+C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*
cos2SigmaM)))}if(iterLimit===0)return NaN;var uSq=cosSqAlpha*(a*a-b*b)/(b*b);var A=1+uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));var B=uSq/1024*(256+uSq*(-128+uSq*(74-47*uSq)));var deltaSigma=B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));var s=b*A*(sigma-deltaSigma);s=s.toFixed(3);return s}function MercatorMath_getZoomIndex(){return this._zoomIndex}
function MercatorMath_getSeedTile(){return this._seedTile};RMUtils.includeCSS(BASE_PATH_CSS+"/skins/tiles.css","all");RMUtils.includeCSS(BASE_PATH_CSS+"/skins/tilesprint.css","print");
function ViewPort(map,divViewPortID,divTilesPanelID,vWidth,vHeight){this.map=map;this.width=vWidth;this.height=vHeight;this.oTilesPanel=document.getElementById(divTilesPanelID);this.divElement=document.getElementById(divViewPortID);this.setSize=ViewPort_setSize;this.getLeftX=ViewPort_getLeftX;this.getRightX=ViewPort_getRightX;this.getTopY=ViewPort_getTopY;this.getBottomY=ViewPort_getBottomY;this.getCenterX=ViewPort_getCenterX;this.getCenterY=ViewPort_getCenterY;this.init()}
ViewPort.prototype.init=function(){this.map.getWCS().setWorldPixelBound(this.width,this.height)};
ViewPort.prototype.isTileInViewPort=function(pTile){var oTileLeft=pTile.left;var oTileTop=pTile.top;var oTileRight=oTileLeft+RMConfig.TILE_WIDTH;var oTileBottom=oTileTop+RMConfig.TILE_HEIGHT;var oViewPortLeft=this.getLeftX();var oViewPortTop=this.getTopY();var oViewPortRight=this.getRightX();var oViewPortBottom=this.getBottomY();return(oTileLeft>oViewPortLeft||oTileRight>oViewPortLeft)&&(oTileRight<oViewPortRight||oTileLeft<oViewPortRight)&&(oTileTop>oViewPortTop||oTileBottom>oViewPortTop)&&(oTileBottom<
oViewPortBottom||oTileTop<oViewPortBottom)};function ViewPort_setSize(newWidth,newHeight){this.width=newWidth;this.height=newHeight;this.map.getWCS().setWorldPixelBound(this.width,this.height)}function ViewPort_getLeftX(){return parseInt(this.oTilesPanel.style.left,10)*-1}function ViewPort_getRightX(){return this.getLeftX()+this.width-1}function ViewPort_getTopY(){return parseInt(this.oTilesPanel.style.top,10)*-1}function ViewPort_getBottomY(){return this.getTopY()+this.height-1}
function ViewPort_getCenterX(){return this.getLeftX()+Math.floor(this.width/2)}function ViewPort_getCenterY(){return this.getTopY()+Math.floor(this.height/2)}function DraggableItem(oTilesPanel){this.divContainer=oTilesPanel.oDivTilesPanel;this.oTilesPanel=oTilesPanel;this.deltaX=0;this.deltaY=0;this.id=oTilesPanel.oDivTilesPanel.id;this.setCursor("grab")}DraggableItem.prototype.getX=function(){return parseInt(this.divContainer.style.left,10)};
DraggableItem.prototype.getY=function(){return parseInt(this.divContainer.style.top,10)};DraggableItem.prototype.getWidth=function(){return parseInt(this.divContainer.style.width,10)};DraggableItem.prototype.getHeight=function(){return parseInt(this.divContainer.style.height,10)};DraggableItem.prototype.setX=function(x){if(this.getX()!=x)this.divContainer.style.left=x+"px"};DraggableItem.prototype.setY=function(y){if(this.getY()!=y)this.divContainer.style.top=y+"px"};
DraggableItem.prototype.setCursor=function(sCursorName){var sCursor;if(BrowserDetect.browser=="Firefox"){sCursor=sCursorName=="grabbing"?"-moz-grabbing":"-moz-grab";this.divContainer.style.cursor=sCursor}else this.divContainer.style.cursor="hand"};function _zoom(srcId,arg){var command=[];command[0]=arg.command;getCEM().fireEvent(RMEvent.Zoom.READY,srcId,command)}
function dragMove(e){var newX=YAHOO.util.Event.getPageX(e)-this.deltaX;var newY=YAHOO.util.Event.getPageY(e)-this.deltaY;var inboundsPixelPosition=this.oTilesPanel.map.getWCS().enforceWorldBound(new XPixelPoint(newX,newY));this.setX(inboundsPixelPosition.x);this.setY(inboundsPixelPosition.y)}
function dragRelease(e){if(e.type=="mouseout"){var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);if(x>0&&x<parseInt(YAHOO.util.Dom.getViewportWidth(),10)&&y>0&&y<parseInt(YAHOO.util.Dom.getViewportHeight(),10))return}YAHOO.util.Event.removeListener(document.body,"mousemove",dragMove);YAHOO.util.Event.removeListener(document.body,"mouseup",dragRelease);YAHOO.util.Event.removeListener(document.body,"mouseout",dragRelease);dragMove.call(this,e);var bHasMoved=this.mouseXWhenMouseDown!=
this.getX()||this.mouseYWhenMouseDown!=this.getY();this.mouseXWhenMouseDown=null;this.mouseYWhenMouseDown=null;if(bHasMoved)this.oTilesPanel.updateTiles();this.setCursor("grab");if(bHasMoved)getCEM().fireEvent(RMEvent.Pan.COMPLETE,this.oTilesPanel.map.mapId,this.oTilesPanel)}
function dragPress(e,source){if(e.button==2&&BrowserDetect.browser=="Explorer")return false;else if(e.which==3)return false;this.setCursor("grabbing");this.deltaX=YAHOO.util.Event.getPageX(e)-this.getX();this.deltaY=YAHOO.util.Event.getPageY(e)-this.getY();if(this.mouseXWhenMouseDown==null&&this.mouseYWhenMouseDown==null){this.mouseXWhenMouseDown=this.getX();this.mouseYWhenMouseDown=this.getY()}YAHOO.util.Event.addListener(document.body,"mousemove",dragMove,this,true);YAHOO.util.Event.addListener(document.body,
"mouseup",dragRelease,this,true);YAHOO.util.Event.addListener(document.body,"mouseout",dragRelease,this,true);return false}
function Tile(){this.i=0;this.j=0;this.left=0;this.top=0;this.width=RMConfig.TILE_WIDTH;this.height=RMConfig.TILE_HEIGHT;this.mapLayer=RMUtils.createDOMElement("div","html");this.overlaySVGLayer=null;this.isDownloaded=false;this.mBkPois=new Array;this.computeCoordFromAnInnerPoint=Tile_computeCoordFromAnInnerPoint;this.isSameAsTile=Tile_isSameAsTile;this.computeTilePosition=Tile_computeTilePosition;this.createImageElement=Tile_createImageElement;this.downloadTileImage=Tile_downloadTileImage;this.downloadTile=
Tile_downloadTile}Tile.prototype.clearBkPois=function(){var oMap=myMap;for(var i in this.mBkPois){this.mBkPois[i].clearEventListener();oMap.removeOverlayObject(this.mBkPois[i]);delete this.mBkPois[i]}this.mBkPois=new Array};function Tile_computeCoordFromAnInnerPoint(pointX,pointY){this.i=Math.floor(pointX/this.width);this.j=Math.floor(pointY/this.height)}function Tile_computeTilePosition(){this.left=this.i*this.width;this.top=this.j*this.height}
function Tile_isSameAsTile(oSecondTile){return oSecondTile.i==this.i&&oSecondTile.j==this.j}
function Tile_createImageElement(zoomLevel,tileUrl){this.zoomLevel=zoomLevel;this.mapLayer.id="DIVLAYER|"+this.i+"|"+this.j;this.mapLayer.name="DIVLAYER|"+this.i+"|"+this.j;this.mapLayer.style.position="absolute";this.mapLayer.style.top=this.top+"px";this.mapLayer.style.left=this.left+"px";this.mapLayer.style.width=this.width+"px";this.mapLayer.style.height=this.height+"px";var imgEl=RMUtils.createDOMElement("img","html");YAHOO.util.Dom.addClass(imgEl,"tileImg");imgEl.src=tileUrl;imgEl.width=RMConfig.TILE_WIDTH;
imgEl.height=RMConfig.TILE_HEIGHT;this.mapLayer.appendChild(imgEl);this.mapLayer.style.backgroundImage="url('"+tileUrl+"')";this.mapLayer.style.zIndex=ZINDEX_MAP}function Tile_downloadTileImage(){}function Tile_downloadTile(){this.downloadTileImage()}
function TilesPanel(map,divTilesPanelID,zoomLevel,viewPort){this.map=map;this.oDivTilesPanel=document.getElementById(divTilesPanelID);this.oTilesArray=[];this.nZoomLevel=zoomLevel;this.viewPort=viewPort;this.id=divTilesPanelID;this.getOriginX=TilesPanel_getOriginX;this.getOriginY=TilesPanel_getOriginY;this.putTile=TilesPanel_putTile;this.updateTiles=TilesPanel_updateTiles;this.downloadTiles=TilesPanel_downloadTiles;this.constructNewTiles=TilesPanel_constructNewTiles;this.isTileExist=TilesPanel_isTileExist;
this.searchForTile=TilesPanel_searchForTile;this.isAllTilesDownloaded=TilesPanel_isAllTilesDownloaded;this.removeAllTiles=TilesPanel_removeAllTiles;this.movePanel=TilesPanel_movePanel;this.getCenterTileCoordinate=TilesPanel_getCenterTileCoordinate;this.addOverlayObject=TilesPanel_addOverlayObject;this.removeOverlayObject=TilesPanel_removeOverlayObject;this.moveToViewportCenter=TilesPanel_moveToViewportCenter;this.getViewportLLBound=TilesPanel_getViewportLLBound;this.getViewportCenterLL=TilesPanel_getViewportCenterLL;
this.getViewportPixelBound=TilesPanel_getViewportPixelBound;this.getViewportPixelCenter=TilesPanel_getViewportPixelCenter;this.panAndZoom=TilesPanel_panAndZoom;this.handleDoubleClick=TilesPanel_handleDoubleClick;this.handleMouseDown=TilesPanel_handleMouseDown;this.handleMouseWheel=TilesPanel_handleMouseWheel;this.scheduleZoom=TilesPanel_scheduleZoom;this.handleDeltaZoom=TilesPanel_handleDeltaZoom;this.getMouseCenterDelta=TilesPanel_getMouseCenterDelta;this.getCenterDelta=TilesPanel_getCenterDelta;
this.handleMouseMove=TilesPanel_handleMouseMove;this.init()}
TilesPanel.prototype.init=function(){this.removeAllTiles();this.moveToViewportCenter();var dx=RMConfig.TILE_HEIGHT/2*-1;var dy=RMConfig.TILE_WIDTH/2*-1;var topPixel=Math.floor(this.viewPort.height/2+dy);var leftPixel=Math.floor(this.viewPort.width/2+dx);this.oDivTilesPanel.style.top=topPixel+"px";this.oDivTilesPanel.style.left=leftPixel+"px";MouseWheelEventManager.addListener(this.oDivTilesPanel,this.handleMouseWheel,this);YAHOO.util.Event.removeListener(this.oDivTilesPanel,"dblclick",this.handleDoubleClick);
YAHOO.util.Event.removeListener(this.oDivTilesPanel,"mousemove",this.handleMouseMove);YAHOO.util.Event.addListener(this.oDivTilesPanel,"dblclick",this.handleDoubleClick,this,true);YAHOO.util.Event.addListener(this.oDivTilesPanel,"mousemove",this.handleMouseMove,this,true)};
function TilesPanel_panAndZoom(deltaX,deltaY,relativeZoom){relativeZoom=RMUtils.getBoundZoomCommand(this.map.getWCS().getCurrentZoom(),relativeZoom);if(parseInt(relativeZoom,10)==0)this.movePanel(deltaX,deltaY,false);else{this.movePanel(deltaX,deltaY,false);_zoom(this.map.mapId,{command:relativeZoom})}}var currentMouseLoc={x:0,y:0};function TilesPanel_handleMouseMove(event){currentMouseLoc.x=YAHOO.util.Event.getPageX(event);currentMouseLoc.y=YAHOO.util.Event.getPageY(event)}
function TilesPanel_handleDoubleClick(mouseEvent){var htmlEl=YAHOO.util.Event.getTarget(mouseEvent);if(!htmlEl)return;if(typeof htmlEl.id!="unknown")if(htmlEl.id.indexOf("DIVLAYER|")<=-1&&htmlEl.nodeName!="svg:svg"&&htmlEl.nodeName!="svg:polyline"&&htmlEl.nodeName!="polyline")return;var delta=this.getMouseCenterDelta(mouseEvent);if(mouseEvent.ctrlKey)this.panAndZoom(delta.x,delta.y,"-1");else this.panAndZoom(delta.x,delta.y,"+1")}function TilesPanel_handleMouseDown(mouseEvent){}
function TilesPanel_getMouseCenterDelta(mouseEvent){var x=YAHOO.util.Event.getPageX(mouseEvent);var y=YAHOO.util.Event.getPageY(mouseEvent);return this.getCenterDelta(x,y)}function TilesPanel_getCenterDelta(pointX,pointY){var center={x:parseInt(this.viewPort.divElement.style.width,10)/2,y:parseInt(this.viewPort.divElement.style.height,10)/2};var orig=YAHOO.util.Dom.getXY(this.viewPort.divElement);var deltaX=orig[0]+center.x-pointX;var deltaY=orig[1]+center.y-pointY;return{x:deltaX,y:deltaY}}
var UIComponent_scrollTimer=0;var UIComponent_lastDelta=0;var UIComponent_mouseWheelLocation;function TilesPanel_handleMouseWheel(scrollInt,event){UIComponent_lastDelta=UIComponent_lastDelta+scrollInt;if(UIComponent_scrollTimer)clearTimeout(UIComponent_scrollTimer);UIComponent_mouseWheelLocation=currentMouseLoc;var that=this;UIComponent_scrollTimer=setInterval(function(){that.scheduleZoom.call(that)},200)}
function TilesPanel_scheduleZoom(){clearTimeout(UIComponent_scrollTimer);if(UIComponent_lastDelta!==0){var zoomCommand=UIComponent_lastDelta<0?""+UIComponent_lastDelta:"+"+UIComponent_lastDelta;zoomCommand=RMUtils.getBoundZoomCommand(this.map.getWCS().getCurrentZoom(),zoomCommand);var deltaZoom=parseInt(zoomCommand,10);this.handleDeltaZoom(deltaZoom);UIComponent_lastDelta=0}}
function TilesPanel_handleDeltaZoom(deltaZoomLevels){var deltaXY=this.getCenterDelta(UIComponent_mouseWheelLocation.x,UIComponent_mouseWheelLocation.y);var factor=0;var i;if(deltaZoomLevels>0)for(i=1;i<=deltaZoomLevels;i++)factor+=Math.pow(0.5,i);else for(i=1;i<=Math.abs(deltaZoomLevels);i++)factor-=Math.pow(2,i-1);panX=deltaXY.x*factor;panY=deltaXY.y*factor;deltaZoomLevels=(deltaZoomLevels>=0?"+":"")+parseInt(deltaZoomLevels,10);var currentZoom=this.map.getWCS().getCurrentZoom();deltaZoomLevels=
RMUtils.getBoundZoomCommand(currentZoom,deltaZoomLevels);if(parseInt(deltaZoomLevels,10)!==0)this.panAndZoom(panX,panY,deltaZoomLevels)}function TilesPanel_moveToViewportCenter(){var dx=RMConfig.TILE_HEIGHT/2*-1;var dy=RMConfig.TILE_WIDTH/2*-1;var topPixel=Math.floor(this.viewPort.height/2+dy);var leftPixel=Math.floor(this.viewPort.width/2+dx);this.oDivTilesPanel.style.top=topPixel+"px";this.oDivTilesPanel.style.left=leftPixel+"px"}
function TilesPanel_addOverlayObject(overlay){this.oDivTilesPanel.appendChild(overlay)}function TilesPanel_removeOverlayObject(overlay){var element=document.getElementById(overlay.id);if(element!=null)this.oDivTilesPanel.removeChild(element)}function TilesPanel_removeAllTiles(){if(this!=null){for(var i=this.oDivTilesPanel.childNodes.length-1;i>=0;--i){var oNode=this.oDivTilesPanel.childNodes[i];if(oNode.id.indexOf("DIVLAYER|")>-1)this.oDivTilesPanel.removeChild(oNode)}this.oTilesArray=[]}}
function TilesPanel_movePanel(deltaX,deltaY,animate){if(deltaX===0&&deltaY===0)return;var newX=parseInt(this.oDivTilesPanel.style.left,10)+deltaX;var newY=parseInt(this.oDivTilesPanel.style.top,10)+deltaY;var inboundsPixelPosition=this.map.getWCS().enforceWorldBound(new XPixelPoint(newX,newY));if(inboundsPixelPosition.x!=newX)deltaX+=inboundsPixelPosition.x-newX;if(inboundsPixelPosition.y!=newY)deltaY+=inboundsPixelPosition.y-newY;if(undefined==animate||animate){var moveit=new YAHOO.util.Motion(this.oDivTilesPanel,
{points:{by:[deltaX,deltaY]}},0.3,YAHOO.util.Easing.easeOut);moveit.onComplete.subscribe(function(){this.updateTiles();getCEM().fireEvent(RMEvent.Pan.COMPLETE,this.map.mapId,this)},0,this);moveit.animate()}else{this.oDivTilesPanel.style.top=parseInt(this.oDivTilesPanel.style.top,10)+deltaY+"px";this.oDivTilesPanel.style.left=parseInt(this.oDivTilesPanel.style.left,10)+deltaX+"px";this.updateTiles();getCEM().fireEvent(RMEvent.Pan.COMPLETE,this.map.mapId,this)}}
function TilesPanel_getCenterTileCoordinate(x,y){var tileMFloat=x/RMConfig.TILE_WIDTH;var tileNFloat=y/RMConfig.TILE_HEIGHT;var tileMInteger=Math.floor(tileMFloat)*-1;var tileNInteger=Math.floor(tileNFloat)*-1;var offsetX=(Math.abs(tileMFloat)-Math.abs(tileMInteger))*RMConfig.TILE_WIDTH;var offsetY=(Math.abs(tileNFloat)-Math.abs(tileNInteger))*RMConfig.TILE_HEIGHT;var html="X :"+x+", Y: "+y+"<br>";html+="tileM :"+tileMInteger+", tileN :"+tileNInteger+"<br>";html+="OFFSET : "+offsetX+","+offsetY;html+=
"<br>";html+="CENTER VIEW PORT :"+this.viewPort.getCenterX()+", "+this.viewPort.getCenterY();html+="<br>";html+="TOP LEFT :"+this.viewPort.getLeftX()+", "+this.viewPort.getTopY();document.getElementById("stats").innerHTML=html;return{m:tileMInteger,n:tileNInteger,deltaX:offsetX,deltaY:offsetY}}
function TilesPanel_isAllTilesDownloaded(){var bAllTilesDownloaded=true;for(var i=0;i<this.oTilesArray.length;i++){var oTile=g_oTilesPanel.oTilesArray[i];if(!oTile.isDownloaded){bAllTilesDownloaded=false;break}}return bAllTilesDownloaded}function TilesPanel_getOriginX(){return parseInt(this.oDivTilesPanel.style.left,10)}function TilesPanel_getOriginY(){return parseInt(this.oDivTilesPanel.style.top,10)}function TilesPanel_putTile(oTile){this.oDivTilesPanel.appendChild(oTile.mapLayer)}
function TilesPanel_updateTiles(){var bIsNewTileNeeded=false;var oNewTilesArray=[];var xMax=this.viewPort.getLeftX()+this.viewPort.width;var yMax=this.viewPort.getTopY()+this.viewPort.height;if(isNaN(yMax)||isNaN(xMax))return;for(var x=this.viewPort.getLeftX();true;x+=RMConfig.TILE_WIDTH){var bLastX=false;if(x>=xMax){x=xMax-1;bLastX=true}for(var y=this.viewPort.getTopY();true;y+=RMConfig.TILE_HEIGHT){var bLastY=false;if(y>=yMax){y=yMax-1;bLastY=true}var oTile=new Tile;oTile.computeCoordFromAnInnerPoint(x,
y);if(!this.isTileExist(oTile)){this.oTilesArray[this.oTilesArray.length]=oTile;oNewTilesArray[oNewTilesArray.length]=oTile;bIsNewTileNeeded=true}if(bLastY)break}if(bLastX)break}this.constructNewTiles(oNewTilesArray);this.downloadTiles()}
function TilesPanel_constructNewTiles(oNewTilesArray){for(var i=0;i<oNewTilesArray.length;i++){var oNewTile=oNewTilesArray[i];oNewTile.computeTilePosition();oNewTile.createImageElement(this.nZoomLevel,this.map.getWCS().getTileUrl(oNewTile.i,oNewTile.j));this.putTile(oNewTile)}getCEM().fireEvent(RMEvent.TilesDownload.INPROGRESS,this.map.mapId,oNewTilesArray)}
function TilesPanel_downloadTiles(){var vpLeft=this.viewPort.getLeftX();var vpRight=this.viewPort.getRightX();var vpTop=this.viewPort.getTopY();var vpBottom=this.viewPort.getBottomY()}function TilesPanel_isTileExist(oTile){for(var i=0;i<this.oTilesArray.length;i++)if(this.oTilesArray[i].isSameAsTile(oTile))return true;return false}
function TilesPanel_searchForTile(x,y){for(var i=0;i<this.oTilesArray.length;i++)if(this.oTilesArray[i].i==x&&this.oTilesArray[i].j==y)return this.oTilesArray[i];return null}
function TilesPanel_getViewportLLBound(pTopMargin,pRightMargin,pBottomMargin,pLeftMargin){var check=function(num){return isNaN(num)?0:num};var topLeftX=-1*check(parseInt(this.oDivTilesPanel.style.left,10));var topLeftY=-1*check(parseInt(this.oDivTilesPanel.style.top,10));var bottomRightX=topLeftX+check(parseInt(this.viewPort.divElement.style.width,10));var bottomRightY=topLeftY+check(parseInt(this.viewPort.divElement.style.height,10));topLeftX+=check(pLeftMargin);topLeftY+=check(pTopMargin);bottomRightX-=
check(pRightMargin);bottomRightY-=check(pBottomMargin);var wcsOrigTile=this.map.getWCS().originTile;topLeftX-=wcsOrigTile.originPoint_XPixelOffset;topLeftY-=wcsOrigTile.originPoint_YPixelOffset;bottomRightX-=wcsOrigTile.originPoint_XPixelOffset;bottomRightY-=wcsOrigTile.originPoint_YPixelOffset;var topLeftLL=this.map.getWCS().PixelToLatLon(topLeftX,topLeftY);var bottomRightLL=this.map.getWCS().PixelToLatLon(bottomRightX,bottomRightY);return new RMLatLongBound(topLeftLL.lon,bottomRightLL.lat,bottomRightLL.lon,
topLeftLL.lat)}function TilesPanel_getViewportPixelCenter(){var pos=this.getViewportPixelBound();return{x:(pos.maxX-pos.minX)/2,y:(pos.maxY-pos.minY)/2}}
function TilesPanel_getViewportPixelBound(){var topLeftX=-1*parseInt(this.oDivTilesPanel.style.left,10);var topLeftY=-1*parseInt(this.oDivTilesPanel.style.top,10);var bottomRightX=topLeftX+parseInt(this.viewPort.divElement.style.width,10);var bottomRightY=topLeftY+parseInt(this.viewPort.divElement.style.height,10);return{minX:topLeftX,minY:topLeftY,maxX:bottomRightX,maxY:bottomRightY}}
function TilesPanel_getViewportCenterLL(){var topLeftX=-1*parseInt(this.oDivTilesPanel.style.left,10);var topLeftY=-1*parseInt(this.oDivTilesPanel.style.top,10);var bottomRightX=topLeftX+parseInt(this.viewPort.divElement.style.width,10);var bottomRightY=topLeftY+parseInt(this.viewPort.divElement.style.height,10);var wcsOrigTile=this.map.getWCS().originTile;topLeftX-=wcsOrigTile.originPoint_XPixelOffset;topLeftY-=wcsOrigTile.originPoint_YPixelOffset;bottomRightX-=wcsOrigTile.originPoint_XPixelOffset;
bottomRightY-=wcsOrigTile.originPoint_YPixelOffset;var centerX=Math.round(topLeftX+bottomRightX)/2;var centerY=Math.round(topLeftY+bottomRightY)/2;return this.map.getWCS().PixelToLatLon(centerX,centerY)};function RMAddress(street,city,state,zip,county,country,latLongPosition,addressName,precision,isAirport,mapLocale){this.toString=RMAddress_toString;this.toOneLiner=RMAddress_toOneLiner;this.toHTML=RMAddress_toHTML;this.toXML=RMAddress_toXML;this.toJSONString=RMAddress_toJSONString;this.clone=RMAddress_clone;this.notEmpty=RMAddress_notEmpty;this.street=street;this.city=city;this.state=state;try{zip=zip.replace('"',"").replace('"',"")}catch(e){}this.zip=zip;this.county=county;if(null!=country||country!=
""){if(country=="CA")country="CAN";else if(country=="MX")country="MEX";this.country=country}else this.country="US";this.latLongPosition=latLongPosition;if(this.notEmpty(addressName)){var addr=addressName.split("-");addressName=addr[0].trim();for(var i=1;i<addr.length;i++)addressName=addressName+"-"+addr[i].trim()}this.addressName=addressName;if(null==mapLocale||undefined==mapLocale||mapLocale=="")if(this.country=="US")mapLocale="US-EN";else if(this.country=="CA")mapLocale="CA-EN";else if(this.country==
"MX")mapLocale="MX-ES";this.mapLocale=mapLocale;this.precision=precision;this.inputText=null;this.mapLocaleValue=null;this.formattedAddress=null;this.id=null;this.isAirport=isAirport}function RMAddress_clone(){var newObj=new RMAddress;for(var key in this)newObj[key]=this[key];return newObj}
function RMAddress_toJSONString(){var sJSON="{";if(this.street)sJSON+='street:"'+this.street+'",';if(this.city)sJSON+='city:"'+this.city+'",';if(this.state)sJSON+='state:"'+this.state+'",';if(this.zip)sJSON+='zip:"'+this.zip+'",';if(this.county)sJSON+='county:"'+this.county+'",';if(this.country)sJSON+='country:"'+this.country+'",';if(this.latLongPosition){sJSON+="latLongPosition:{lat:"+this.latLongPosition.lat+",";sJSON+="lon:"+this.latLongPosition.lon+"},"}if(this.addressName)sJSON+='addressName:"'+
this.addressName+'",';if(this.precision)sJSON+="precision:"+this.precision+",";if(this.inputText)sJSON+='inputText:"'+this.inputText+'",';if(this.isAirport)sJSON+='isAirport:"'+this.isAirport+'",';if(this.mapLocale)sJSON+='mapLocale:"'+this.mapLocale+'",';if(this.mapLocaleValue)sJSON+='mapLocaleValue:"'+this.mapLocaleValue+'",';if(sJSON.charAt(sJSON.length-1)==",")sJSON=sJSON.substring(0,sJSON.length-1);sJSON+=CLOSE_BRACES;return sJSON}RMAddress.prototype.uid=null;RMAddress.prototype.street=null;
RMAddress.prototype.city=null;RMAddress.prototype.state=null;RMAddress.prototype.zip=null;RMAddress.prototype.latLongPosition=null;RMAddress.prototype.county=null;RMAddress.prototype.addressName=null;RMAddress.prototype.country=null;
function RMAddress_toString(){var s="";if(this.isAirport){if(this.notEmpty(this.addressName))s+=this.addressName;return s}if(!isEmptyString(this.formattedAddress))return this.formattedAddress;if(this.notEmpty(this.street))s+=this.street+", ";if(this.notEmpty(this.city)){s+=this.city;if(this.notEmpty(this.state)||this.notEmpty(this.zip))s+=","}if(this.notEmpty(this.state))s+=" "+this.state;if(this.notEmpty(this.zip))s+=" "+this.zip;if(this.notEmpty(this.country)&&this.country!="USA")s+=(this.notEmpty(s)?
", ":"")+this.country;return s}
function RMAddress_toOneLiner(){var s="";if(this.isAirport)if(this.notEmpty(this.addressName))return this.addressName;else return"";if(this.notEmpty(this.street))s+=this.street+", ";if(this.notEmpty(this.city)){s+=this.city;if(this.notEmpty(this.state)||this.notEmpty(this.zip))s+=","}if(this.notEmpty(this.state))s+=" "+this.state;if(this.notEmpty(this.zip))s+=" "+this.zip;if(this.notEmpty(this.country)&&this.country!="US")s+=(this.notEmpty(s)?", ":"")+this.country;return s}
function RMAddress_toHTML(bDisplayAddressName,bDisplayCountry){var s="";if(this.isAirport){if(this.notEmpty(this.addressName)){s+=this.addressName+" Airport";if(this.notEmpty(this.city)){s+=", <br>\n"+this.city;if(this.notEmpty(this.state))s+=", "+this.state}}return s}if(bDisplayAddressName&&this.notEmpty(this.addressName))s+=this.addressName+"<br>\n";if(this.notEmpty(this.street))s+=this.street+"<br>\n";if(this.notEmpty(this.city)){s+=this.city;if(this.notEmpty(this.state)||this.notEmpty(this.zip))s+=
","}if(this.notEmpty(this.state))s+=" "+this.state;if(this.notEmpty(this.zip))s+=" "+this.zip;if(this.notEmpty(this.country))if(this.country==="US"&&!this.notEmpty(s))s+=this.country;else if(this.country!="US")s+=(this.notEmpty(s)?"<br>\n":"")+this.country;return s}function RMAddress_notEmpty(s){if(undefined===s)return false;if(typeof s==="number")s=""+s;if(""===s.trim())return false;return true}function RMAddress_toXML(){}
function RMLatLongBound(minX,minY,maxX,maxY){this.minX=minX;this.minY=minY;this.maxX=maxX;this.maxY=maxY;this.intersects=RMLatLongBound_intersects;this.containsPoint=RMLatLongBound_containsPoint;this.contains=RMLatLongBound_contains;this.isLargerThan=RMLatLongBound_isLargerThan;this.isTallerOrWiderThan=RMLatLongBound_isTallerOrWiderThan;this.toString=RMLatLongBound_toString}RMLatLongBound.prototype.minX=null;RMLatLongBound.prototype.minY=null;RMLatLongBound.prototype.maxX=null;
RMLatLongBound.prototype.maxY=null;function RMLatLongBound_containsPoint(x,y){var isBetween=function(val,min,max){return val>min&&val<max};return isBetween(x,this.minX,this.maxX)&&isBetween(y,this.minY,this.maxY)}function RMLatLongBound_intersects(bbox){if(this.containsPoint(bbox.minX,bbox.minY))return true;if(this.containsPoint(bbox.minX,bbox.maxY))return true;if(this.containsPoint(bbox.maxX,bbox.minY))return true;if(this.containsPoint(bbox.maxX,bbox.maxY))return true;return false}
function RMLatLongBound_contains(bbox){if(bbox.minX<this.minX)return false;if(bbox.maxY>this.maxY)return false;if(bbox.minY<this.minY)return false;if(bbox.maxY>this.maxY)return false;return true}function RMLatLongBound_isLargerThan(bbox){var thisW=Math.abs(this.maxX-this.minX);var thisH=Math.abs(this.maxY-this.minY);var bboxW=Math.abs(bbox.maxX-bbox.minX);var bboxH=Math.abs(bbox.maxY-bbox.minY);return thisW>bboxW&&thisH>bboxH}
function RMLatLongBound_isTallerOrWiderThan(bbox){var thisW=Math.abs(this.maxX-this.minX);var thisH=Math.abs(this.maxY-this.minY);var bboxW=Math.abs(bbox.maxX-bbox.minX);var bboxH=Math.abs(bbox.maxY-bbox.minY);return thisW>bboxW||thisH>bboxH}function RMLatLongBound_toString(){return"("+this.minX+", "+this.minY+")"+"("+this.maxX+", "+this.maxY+")"}function LatLong(lat,lon){this.lat=lat;this.lon=lon;this.toString=LatLong_toString}LatLong.prototype.lat=null;LatLong.prototype.lon=null;
function LatLong_toString(){return"("+this.lat+", "+this.lon+")"}LatLong.prototype.isAtSamePlace=function(pLatLon,pDepth){return roundAtDepth(pLatLon.lat,pDepth)==roundAtDepth(this.lat,pDepth)&&roundAtDepth(pLatLon.lon,pDepth)==roundAtDepth(this.lon,pDepth)};function XPixelPoint(x,y){this.x=x;this.y=y}XPixelPoint.prototype.x=null;XPixelPoint.prototype.y=null;function Pair(x,y){this.x=x;this.y=y}
var ADDRESS_CACHE={put:function(rmAddress,id){rmAddress.id=id;this._list[id]=rmAddress;return id},get:function(id){return this._list[id]},remove:function(id){var address=this.get(id);if(address!==undefined)delete ADDRESS_CACHE._list[id];return address},size:function(){return this._list.length},clear:function(){if(this._list.length>0)this._list.splice(0,this._list.length-1)},_list:[]};
var XMap=function(){this.containsKey=function(key){return _indexOfKey(key)!==-1};this.get=function(key){var result;var index=_indexOfKey(key);if(index!==-1)result=_arr[index].value;return result};this.put=function(key,value){var mapEntry={key:key,value:value};var index=_indexOfKey(key);var result=null;if(index!==-1)result=_arr.splice(index,1,mapEntry)[0];else _arr.push(mapEntry);return result?result.value:null};this.remove=function(key){var index=_indexOfKey(key);var result=null;if(index!==-1)result=
_arr.splice(index,1)[0];return result?result.value:null};this.removeByIndexRange=function(start,end){if(start>=0&&start<=_arr.length&&end>=0&&end<=_arr.length&&end>start)_arr.splice(start,end-start)};this.clear=function(){_arr=[]};this.entrySet=function(){return _arr.concat([])};this.keySet=function(){var i;var result=[];for(i=0;i<_arr.length;i++)result[i]=_arr[i].key;return result};this.values=function(){var i;var result=[];for(i=0;i<_arr.length;i++)result[i]=_arr[i].value;return result};this.size=
function(){return _arr?_arr.length:0};this.isEmpty=function(key){return this.size()===0};this.isKeyEqual=function(a,b){return a===b};this.sort=function(sortFunc){if(this.isEmpty())return;if(!sortFunc)sortFunc=function(a,b){if(a.key<b.key)return-1;if(a.key>b.key)return 1;return 0};_arr.sort(sortFunc)};var that=this;var _arr=[];var _indexOfKey=function(key){if(key==undefined||key==null)return-1;var i;for(i=0;i<_arr.length;i++)if(that.isKeyEqual(_arr[i].key,key))return i;return-1}};
function RouteCache(maxStoreNum){this._maxStoreNum=maxStoreNum;this._routeOptions=null;this._map=new XMap;this.getRoute=RouteCache_getRoute;this.putRoute=RouteCache_putRoute;this.clearIfNecessary=RouteCache_clearIfNecessary}function RouteCache_putRoute(cacheKey,route){if(this._map.size()==this._maxStoreNum)this._map.removeByIndexRange(0,1);var jsonStr=YAHOO.lang.JSON.stringify(route);this._map.put(cacheKey,jsonStr)}
function RouteCache_getRoute(cacheKey){var route=null;var jsonStr=this._map.get(cacheKey);if(jsonStr!==undefined&&jsonStr)try{route=YAHOO.lang.JSON.parse(jsonStr)}catch(e){}return route}
function RouteCache_clearIfNecessary(otherOptions){if(this._routeOptions==null&&otherOptions!=null||this._routeOptions!=null&&otherOptions==null||this._routeOptions!=null&&otherOptions!=null&&(this._routeOptions.routeType!==otherOptions.routeType||this._routeOptions.metrc!==otherOptions.metrc||this._routeOptions.tolls!==otherOptions.tolls)){this._map.clear();this._routeOptions=otherOptions}};if(RMUtils.getBrowserGraphicSupport()==SVGSUPPORT)RMUtils.includeJS(BASE_PATH_JS+"/overlays/RMOverlaysUtilities_svg.js");else if(RMUtils.getBrowserGraphicSupport()==VMLSUPPORT)RMUtils.includeJS(BASE_PATH_JS+"/overlays/RMOverlaysUtilities_vml.js");RMUtils.includeCSS(BASE_PATH_CSS+"/skins/RMOverlays.css");if(BrowserDetect.browser=="Explorer"&&BrowserDetect.version=="6")RMUtils.includeCSS(BASE_PATH_CSS+"/skins/RMOverlays.css");
function RMMapOverlay(){this._latlonPoint=null;this._xAdjust=0;this._yAdjust=0;this.addEventListener=RMMapOverlay_addEventListener;this.removeEventListener=RMMapOverlay_removeEventListener;this.getCenterPoint=RMMapOverlay_getCenterPoint;this.getType=RMMapOverlay_getType;this.setCenterPoint=RMMapOverlay_setCenterPoint;this.setSize=RMMapOverlay_setSize;this.updatePosition=RMMapOverlay_updatePosition;this.setLocationAdjustmentsFromCSS=RMMapOverlay_setLocationAdjustmentsFromCSS;this.getWidth=RMMapOverlay_getWidth;
this.getHeight=RMMapOverlay_getHeight;this.getLocationAdjustmentsX=RMMapOverlay_getLocationAdjustmentsX;this.getLocationAdjustmentsY=RMMapOverlay_getLocationAdjustmentsY;this.getBoundingBox=RMMapOverlay_getBoundingBox;this._putOnTile=RMMapOverlay_putOnTile;this._getTileCoordinates=RMMapOverlay_getTileCoordinates}
function RMMapOverlay_setLocationAdjustmentsFromCSS(adjustDivId){var dummyDiv=RMUtils.getEl(adjustDivId);if(dummyDiv==null){dummyDiv=RMUtils.createDOMElement("div","html");dummyDiv.id=adjustDivId;document.body.appendChild(dummyDiv)}var left=YAHOO.util.Dom.getStyle(dummyDiv,"left");var top=YAHOO.util.Dom.getStyle(dummyDiv,"top");document.body.removeChild(dummyDiv);if(undefined==left||undefined==top||isNaN(parseInt(left,10))||isNaN(parseInt(top,10)))alert("RMMapOverlay_setLocationAdjustmentsFromCSS() Function usage error.  "+
'Make sure the style "'+adjustDivId+'" is defined in an external css file');this._xAdjust=parseInt(left,10);this._yAdjust=parseInt(top,10)}function RMMapOverlay_getWidth(){return 0}function RMMapOverlay_getHeight(){return 0}function RMMapOverlay_getLocationAdjustmentsX(){return this._xAdjust}function RMMapOverlay_getLocationAdjustmentsY(){return this._yAdjust}function RMMapOverlay_getBoundingBox(){return{left:0,right:0,top:0,bottom:0}}
RMMapOverlay.prototype._init=function(container,worldCoordSystem){this.id=container.id;this._container=container;this._WCS=worldCoordSystem;var stopProp=function(e){YAHOO.util.Event.preventDefault(e)};YAHOO.util.Event.addListener(this._container,"mouseup",stopProp);YAHOO.util.Event.addListener(this._container,"mousemove",stopProp);YAHOO.util.Event.addListener(this._container,"mousedown",stopProp)};RMMapOverlay.prototype.rmInfoWindow=null;RMMapOverlay.prototype.visible=null;
RMMapOverlay.prototype.width=200;RMMapOverlay.prototype.height=200;RMMapOverlay.prototype.id=null;RMMapOverlay.prototype.centerPoint=null;RMMapOverlay.prototype.pxlTop=0;RMMapOverlay.prototype.pxlLeft=0;RMMapOverlay.prototype._container=null;RMMapOverlay.prototype._WCS=null;RMMapOverlay.prototype._type=null;RMMapOverlay.prototype._tileM=null;RMMapOverlay.prototype._tileN=null;function RMMapOverlay_addEventListener(eventName,fnCallBack){_RMMapOverlay_addEventListener(eventName,fnCallBack,this)}
function RMMapOverlay_removeEventListener(eventName,fnCallBack){_RMMapOverlay_removeEventListener(eventName,fnCallBack,this)}function RMMapOverlay_setCenterPoint(pixelPoint){}function RMMapOverlay_getCenterPoint(){}RMMapOverlay.prototype.setVisible=function(makeItSo){if(makeItSo)this._container.style.display="block";else this._container.style.display="none";this.visible=makeItSo};function RMMapOverlay_setSize(width,height){}
function RMMapOverlay_updatePosition(pWCS){if(undefined==this._latlonPoint)return;var pixelPoint=myMap.positionToMapLayerPixel(new Position(this._latlonPoint.lat,this._latlonPoint.lon));this._container.style.top=pixelPoint.y+this._yAdjust+"px";this._container.style.left=pixelPoint.x+this._xAdjust+"px"}function RMMapOverlay_putOnTile(tileM,tileN){this._tileM=tileM;this._tileN=tileN}function RMMapOverlay_getTileCoordinates(){return{tileM:this._tileM,tileN:this._tileN}}
function RMMapOverlay_getType(){return this._type}
function RMPolyline(ID,listOfPoints,worldCoordSystem,topLeftCornerPixel,polyWidth,polyHeight,polyAttributes){this.setColor=RMMapOverlay_RMPolyline_setColor;this.setType=RMMapOverlay_RMPolyline_setType;this.setOpacityLevel=RMMapOverlay_RMPolyline_setOpacityLevel;this.setStrokeWidth=RMMapOverlay_RMPolyline_setStrokeWidth;this.setPoints=RMMapOverlay_RMPolyline_setPoints;this.updatePosition=RMMapOverlay_RMPolyline_updatePosition;this._init(ID,listOfPoints,worldCoordSystem,topLeftCornerPixel,polyWidth,
polyHeight,polyAttributes)}RMPolyline.prototype=new RMMapOverlay;RMPolyline.prototype.constructor=RMPolyline;RMPolyline.superclass=RMMapOverlay.prototype;RMPolyline.prototype._init=function(ID,listOfPoints,worldCoordSystem,topLeftCornerPixel,polyWidth,polyHeight,polyAttributes){var object=_RMPolyline_init(ID,listOfPoints,worldCoordSystem,topLeftCornerPixel,polyWidth,polyHeight,polyAttributes,this);object.style.zIndex=ZINDEX_ROUTE_RIBBON;RMPolyline.superclass._init.call(this,object,worldCoordSystem)};
RMPolyline.prototype.points=null;RMPolyline.prototype.color=null;RMPolyline.prototype.opacityLevel=null;RMPolyline.prototype.routeRibbonOverlayWidth=null;RMPolyline.prototype.type=null;function RMMapOverlay_RMPolyline_setColor(colorAttribute){_RMMapOverlay_RMPolyline_setColor(colorAttribute,this)}function RMMapOverlay_RMPolyline_setPoints(points){_RMMapOverlay_RMPolyline_setPoints(points,this)}
function RMMapOverlay_RMPolyline_setOpacityLevel(opacityLevel){_RMMapOverlay_RMPolyline_setOpacityLevel(opacityLevel,this)}function RMMapOverlay_RMPolyline_setStrokeWidth(strokeWidth){_RMMapOverlay_RMPolyline_setStrokeWidth(strokeWidth,this)}function RMMapOverlay_RMPolyline_setType(type){}function RMMapOverlay_RMPolyline_updatePosition(){}
function RMPlaceMark(ID,placeMarkLocation,worldCoordSystem,label,markerType,cssAttributes,pAdditionalCssClasses){this.setType=RMMapOverlay_RMPlaceMark_setType;this.setColor=RMMapOverlay_RMPlaceMark_setColor;this.setLabel=RMMapOverlay_RMPlaceMark_setLabel;this.getWidth=RMMapOverlay_RMPlaceMark_getWidth;this.getHeight=RMMapOverlay_RMPlaceMark_getHeight;this._init(ID,placeMarkLocation,worldCoordSystem,label,markerType,cssAttributes,pAdditionalCssClasses)}RMPlaceMark.prototype=new RMMapOverlay;
RMPlaceMark.prototype.constructor=RMPlaceMark;RMPlaceMark.superclass=RMMapOverlay.prototype;RMPlaceMark.type="RMPlaceMark";
RMPlaceMark.prototype._init=function(ID,placeMarkLocation,worldCoordSystem,label,markerType,cssAttributes,pAdditionalCssClasses){var isPOICategory=markerType.indexOf("POI_")>-1;var oPoiClasses="RMOverlays RMPlaceMark";if(pAdditionalCssClasses!=null)oPoiClasses+=" "+pAdditionalCssClasses;this._type=RMPlaceMark.type;this._latlonPoint=placeMarkLocation;this.moveToPosition=function(p){this._latlonPoint=p;this.updatePosition()};this._yAdjust=-33;this._xAdjust=-10;if(isPOICategory)this.setLocationAdjustmentsFromCSS("RMPlaceMark_Adjust_POI_CATEGORY");
else this.setLocationAdjustmentsFromCSS("RMPlaceMark_Adjust_"+markerType);var object=RMUtils.createDOMElement("div","html");YAHOO.util.Dom.addClass(object,oPoiClasses);var cssAttributeKey=null;for(cssAttributeKey in cssAttributes)YAHOO.util.Dom.setStyle(object,cssAttributeKey,cssAttributes[cssAttributeKey]);YAHOO.util.Dom.setStyle(object,"cursor","pointer");YAHOO.util.Dom.setStyle(object,"z-index","2");object.id=ID;var pixelPoint=deCarta.App.map.positionToMapLayerPixel(this._latlonPoint);var yAdjusted=
pixelPoint.y+this._yAdjust;var xAdjusted=pixelPoint.x+this._xAdjust;object.style.top=yAdjusted+"px";object.style.left=xAdjusted+"px";var placemark="";if(markerType===undefined||markerType.toLowerCase()==="location")placemark="<img src='"+BASE_PATH_IMG+"/location_marker.gif' class='print_location' />";else if(markerType.toLowerCase()!=="custom")placemark="<img src='"+BASE_PATH_IMG+"/"+markerType.toLowerCase()+"_marker.gif' class='print_poi' />";var paragraph=RMUtils.createDOMElement("div","html");
paragraph.id=ID+"_paragraph";if(isPOICategory){YAHOO.util.Dom.addClass(paragraph,"POI_CATEGORY");paragraph.innerHTML='<div class="markerLabel">'+label+"</div>"+placemark}else paragraph.innerHTML='<span class="iconLabel">'+label+"</span>"+placemark;YAHOO.util.Dom.addClass(paragraph,markerType);object.appendChild(paragraph);object.style.zIndex=ZINDEX_PLACEMARK;RMPlaceMark.superclass._init.call(this,object,worldCoordSystem)};RMPlaceMark.prototype.label=null;RMPlaceMark.prototype.color=null;
RMPlaceMark.prototype.type=null;function RMMapOverlay_RMPlaceMark_getWidth(){return this._container.style.width}function RMMapOverlay_RMPlaceMark_getHeight(){return this._container.style.height}function RMMapOverlay_RMPlaceMark_setColor(colorAttribute){this._container.style.backgroundColor=colorAttribute;this.color=this._container.style.backgroundColor}function RMMapOverlay_RMPlaceMark_setType(type){}
function RMMapOverlay_RMPlaceMark_setLabel(label){this._container.style.innerHTML=label;this.label=this._container.style.innerHTML.toString()}function RMArea(){this.addContainer=RMMapOverlay_RMArea_addContainer}RMArea.prototype=new RMMapOverlay;RMArea.prototype.constructor=RMArea;RMArea.superclass=RMMapOverlay.prototype;RMArea.prototype._init=function(ID){var object;RMArea.superclass._init.call(this,object)};function RMMapOverlay_RMArea_addContainer(container){}
function RMInfoWindow(containerID,worldCoordSystem){this._latlonPoint=null;this._contentUrl="";this._width=0;this._height=0;this.setContentUrl=RMMapOverlay_RMInfoWindow_setContentUrl;this.setContentHTML=RMMapOverlay_RMInfoWindow_setContentHTML;this.setContentNode=RMMapOverlay_RMInfoWindow_setContentNode;this.setLocation=RMMapOverlay_RMInfoWindow_setLocation;this.getWidth=RMMapOverlay_RMInfoWindow_getWidth;this.getHeight=RMMapOverlay_RMInfoWindow_getHeight;this.generateWindow=RMMapOverlay_RMInfoWindow_generateWindow;
this.getBoundingBox=RMMapOverlay_RMInfoWindow_getBoundingBox;this.setVisible=RMMapOverlay_RMInfoWindow_setVisible;this.setFlavor=RMMapOverlay_RMInfoWindow_setFlavor;this._init(containerID,worldCoordSystem)}RMInfoWindow.prototype=new RMMapOverlay;RMInfoWindow.prototype.constructor=RMInfoWindow;RMInfoWindow.superclass=RMMapOverlay.prototype;RMInfoWindow.type="RMInfoWindow";
RMInfoWindow.prototype._init=function(containerID,worldCoordSystem){this._type=RMInfoWindow.type;this.setLocationAdjustmentsFromCSS("RMInfoWindow_Adjust");var oThis=this;var container=this.generateWindow(containerID);YAHOO.util.Event.addListener(container,"mousedown",function(e){YAHOO.util.Event.stopEvent(e)});var closeButton=RMUtils.getElementInBlock(containerID+"_bubble_close",container);YAHOO.util.Event.addListener(closeButton,"click",function(){this.style.display="none";this.className=this.className.replace(/video(\d+)/g,
"").replace(/\s+/," ").replace(/\s$/,"")},null,container);getCEM().subscribeEvent(RMEvent.CalcRoute.COMPLETE,myMap.mapId,function(){oThis.setVisible(false)},this);container.style.zIndex=ZINDEX_INFO_WINDOW;RMInfoWindow.superclass._init.call(this,container,worldCoordSystem)};
function RMMapOverlay_RMInfoWindow_generateWindow(containerID){if(containerID==null)throw"Invalid container id for the SavedAddresses panel";var sHtml='<table class="box_outer_table" border="0" cellspacing="0">'+"<tr>"+'<td class="box_11"><img src="'+BASE_PATH_IMG+'/spacer.gif" width="10px" height="15px" /></td>'+'<td class="box_12">'+'<div style="margin-right: -4px; margin-top: 6px; width: 150px;" id="'+containerID+'_bubble_close" class="bubble_close"><a style="float: right;" href="javascript:noop();">Close&nbsp;<img src="'+
BASE_PATH_IMG+'/spacer.gif" height="13" width="14" alt="Close" title="Close" class="close_button button" /></a></div>'+"</td>"+'<td class="box_13"><img src="'+BASE_PATH_IMG+'/spacer.gif" width="16px" height="15px" /></td>'+"</tr>"+"<tr>"+'<td class="box_21"></td>'+'<td class="box_22">'+'<div class="box_contents_style box_contents"></div>'+"</td>"+'<td class="box_23"></td>'+"</tr>"+"<tr>"+'<td class="box_31"></td>'+'<td class="box_32" valign="top"><img class="box_32_arrow" alt="" src="'+BASE_PATH_IMG+
'/spacer.gif" height="30px" width="34px"/></td><td class="box_33"/></tr>'+"</table>";var container=RMUtils.createDOMElement("div","html");container.id=containerID;container.innerHTML=sHtml;return container}function RMMapOverlay_RMInfoWindow_setVisible(bVisible,sFlavor,element){RMInfoWindow.superclass.setVisible.call(this,bVisible);this._container.className=this._container.className.replace(/video(\d+)/g,"").replace(/\s+/," ").replace(/\s$/,"");if(null!=sFlavor)this.setFlavor(sFlavor,element)}
function RMMapOverlay_RMInfoWindow_setFlavor(sFlavor,element){element=YAHOO.util.Dom.get(element);if(element&&element.length<0)element=element[0];this._flavor=sFlavor;if(this._orig_width==null){this._orig_width=198;this._orig_height=209;this._orig_xAdjust=this._xAdjust;this._orig_yAdjust=this._yAdjust}var expandWidth=0;var expandHeight=0;var elementheight=0;if("PLACE_MARK"==sFlavor){expandWidth=-50;elementheight=element?element.offsetHeight:100}else if("POI"==sFlavor){expandWidth=0;var elementheight=
element?element.offsetHeight:30}else if("STEP_MAP"==sFlavor){expandWidth=STEP_MAP_WIDTH-195;elementheight=element?element.offsetHeight:0}expandHeight=this._orig_yAdjust+this._container.offsetHeight;this._width=this._orig_width+expandWidth;this._height=this._orig_height+expandHeight;this._yAdjust=this._orig_yAdjust-expandHeight-elementheight-10;console.log("RMMapOverlay_RMInfoWindow_setFlavor: this._orig_yAdjust="+this._orig_yAdjust);console.log("RMMapOverlay_RMInfoWindow_setFlavor: expandHeight="+
expandHeight);console.log("RMMapOverlay_RMInfoWindow_setFlavor: elementheight="+elementheight);console.log("RMMapOverlay_RMInfoWindow_setFlavor: this._yAdjust="+this._yAdjust);this.updatePosition()}function RMMapOverlay_RMInfoWindow_getWidth(){return this._width}function RMMapOverlay_RMInfoWindow_getHeight(){return this._height}
function RMMapOverlay_RMInfoWindow_setLocation(placeMarkLocation){this._latlonPoint=placeMarkLocation;var pixelPoint=myMap.positionToMapLayerPixel(new Position(this._latlonPoint.lat,this._latlonPoint.lon));var yAdjusted=pixelPoint.y+this._yAdjust;var xAdjusted=pixelPoint.x+this._xAdjust;this._container.style.top=yAdjusted+"px";this._container.style.left=xAdjusted+"px"}
function RMMapOverlay_RMInfoWindow_getBoundingBox(){var INFO_WINDOW_MARGIN=3;var left=-1*this.getLocationAdjustmentsX()+INFO_WINDOW_MARGIN;var right=this.getWidth()+INFO_WINDOW_MARGIN;var top=-1*this.getLocationAdjustmentsY()+INFO_WINDOW_MARGIN;var bottom=this.getHeight()+this.getLocationAdjustmentsY()+INFO_WINDOW_MARGIN;return{left:left,right:right,top:top,bottom:bottom}}function RMMapOverlay_RMInfoWindow_setContentUrl(url){this._contentUrl=url}
function RMMapOverlay_RMInfoWindow_setContentHTML(htmlBlock){var contentContainer=YAHOO.util.Selector.query(".box_22 .box_contents",this.id,true);contentContainer.innerHTML=htmlBlock+"<!--<br />--\>";setwidthcc(contentContainer)}
function RMMapOverlay_RMInfoWindow_setContentNode(contentNode){var contentContainer=YAHOO.util.Selector.query(".box_22 .box_contents",this.id,true);while(contentContainer.hasChildNodes())contentContainer.removeChild(contentContainer.childNodes[0]);contentContainer.appendChild(contentNode);setwidthcc(contentContainer)}
function setwidthcc(cc){var contentContainer=cc;YAHOO.util.Dom.setStyle(contentContainer,"width","auto");setTimeout(function(){var width=contentContainer.scrollWidth+1;var minwidth=parseInt(YAHOO.util.Dom.getStyle(contentContainer,"min-width"));var maxwidth=parseInt(YAHOO.util.Dom.getStyle(contentContainer,"max-width"));width=width>=maxwidth?maxwidth:width<=minwidth?minwidth:width;YAHOO.util.Dom.setStyle(contentContainer,"width",width+"px")},1)};RMUtils.includeCSS(BASE_PATH_CSS+"/skins/RMControls.css");function RMControls(){this.setPosition=RMControls_setPosition;this.dock=RMControls_dock;this.setControlSize=RMControls_setControlSize;this.setVisible=RMControls_setVisible;this.addEventListener=RMControls_addEventListener;this.removeEventListener=RMControls_removeEventListener;this._setMap=RMControls_setMap}
RMControls.prototype._init=function(divContainer){this.id=divContainer.id;this._divContainer=divContainer;YAHOO.util.Dom.addClass(this._divContainer,"RMControls");if(this.visible)YAHOO.util.Dom.setStyle(this._divContainer,"display","block");else YAHOO.util.Dom.setStyle(this._divContainer,"display","none");this.horizontalPosition=[];this.verticalPosition=[]};RMControls.prototype.horizontalPosition=RMPosition.RIGHT;RMControls.prototype.verticalPosition=RMPosition.BOTTOM;
RMControls.prototype.visible=true;RMControls.prototype.width="400px";RMControls.prototype.height="20%";RMControls.prototype.id=null;RMControls.prototype._zIndex=200;RMControls.prototype._divContainer=null;RMControls.prototype._map=null;RMControls.prototype._type=null;
function RMControls_setPosition(horizontalPosition,verticalPosition){var hMap=horizontalPosition.split(":");var vMap=verticalPosition.split(":");this.horizontalPosition=hMap;this.verticalPosition=vMap;YAHOO.util.Dom.setStyle(this._divContainer,this.horizontalPosition[0],this.horizontalPosition[1]);YAHOO.util.Dom.setStyle(this._divContainer,this.verticalPosition[0],this.verticalPosition[1])}
function RMControls_dock(bOnLeft,bOnTop,container,xBufferPixels,yBufferPixels){var containerWidth=parseInt(YAHOO.util.Dom.getStyle(container,"width"),10);var containerHeight=parseInt(YAHOO.util.Dom.getStyle(container,"height"),10);var controlWidth=parseInt(YAHOO.util.Dom.getStyle(this._divContainer,"width"),10);var controlHeight=parseInt(YAHOO.util.Dom.getStyle(this._divContainer,"height"),10);var x=bOnLeft?xBufferPixels:containerWidth-controlWidth-xBufferPixels;var y=bOnTop?yBufferPixels:containerHeight-
controlHeight-yBufferPixels;YAHOO.util.Dom.setStyle(this._divContainer,"left",x);YAHOO.util.Dom.setStyle(this._divContainer,"top",y)}
function RMControls_setControlSize(width,height){var unit=null;if(parseInt(width,10)==parseFloat(width)){this.width=width;unit="px"}else{this.width=width;unit="%"}YAHOO.util.Dom.setStyle(this._divContainer,"width",this.width+unit);if(parseInt(height,10)==parseFloat(height)){this.height=height;unit="px"}else{this.height=height;unit="%"}YAHOO.util.Dom.setStyle(this._divContainer,"height",this.height+unit)}
function RMControls_setVisible(isVisible){this.visible=isVisible;if(this.visible)YAHOO.util.Dom.setStyle(this._divContainer,"display","block");else YAHOO.util.Dom.setStyle(this._divContainer,"display","none")}function RMControls_addEventListener(eventName,fnCallBack){YAHOO.util.Event.addListener(this.id,eventName,fnCallBack,this,true)}function RMControls_removeEventListener(eventName,fnCallBack){YAHOO.util.Event.removeListener(this.id,eventName,fnCallBack)}
function RMControls_setMap(map){this._map=map}function RMCustomControl(ID){this.addHTMLElement=RMControls_RMCustomControl_addHTMLElement;this._init(ID)}RMCustomControl.prototype=new RMControls;RMCustomControl.prototype.constructor=RMCustomControl;RMCustomControl.superclass=RMControls.prototype;RMCustomControl.prototype._init=function(ID){var object=RMUtils.createDOMElement("div");object.id=ID;object.name=ID;this._type="RMCustomControl";RMCustomControl.superclass._init.call(this,object)};
function RMControls_RMCustomControl_addHTMLElement(divElement){this._divContainer.appendChild(divElement)}
function RMZoomBar(ID,isPrintPreview,initZoomLevel){this.setSmallZoomBar=RMControls_RMZoomBar_setSmallZoomBar;this._onZoomReadyHandler=RMControls_RMZoomBar_onZoomReadyHandler;this._onZoomCompleteHandler=RMControls_RMZoomBar_onZoomCompleteHandler;this._mouseWheelHandler=RMControls_RMZoomBar_mouseWheelHandler;this.setZoomLevel=RMControls_RMZoomBar_setZoomLevel;this.setMap=RMControls_RMZoomBar_setMap;this.zoom=RMControls_RMZoomBar_zoom;this._init(ID,isPrintPreview,initZoomLevel)}
RMZoomBar.prototype=new RMControls;RMZoomBar.prototype.constructor=RMZoomBar;RMZoomBar.superclass=RMControls.prototype;
RMZoomBar.prototype._init=function(ID,isPrintPreview,initZoomLevel){this.ZOOM_LEVELS=MAX_ZOOM_LEVEL;var maxZoomLevel=MAX_ZOOM_LEVEL;var minZoomLevel=0;this._type="RMZoomBar";var object=RMUtils.createDOMElement("div");object.id=ID;object.name=ID;var zoomInDivContainer=RMUtils.createDOMElement("div");var zoomOutDivContainer=RMUtils.createDOMElement("div");var zoomHandleContainer=RMUtils.createDOMElement("div");var cursorRegion=RMUtils.createDOMElement("div");zoomInDivContainer.className="zoominbutton";
zoomOutDivContainer.className="zoomoutbutton";this._zoomPanel=RMUtils.createDOMElement("div");this._zoomPanel.id="zoompanel";this._zoomPanel.className="zoomlevelbar";cursorRegion.id="cursorregion";if(IS_PRINT_PREVIEW!=true)for(i=maxZoomLevel;i>minZoomLevel;i--){var zoomLevelDiv=RMUtils.createDOMElement("div");var divId="z"+i;zoomLevelDiv.id=divId;zoomLevelDiv.className="levelbutton";var target=new YAHOO.util.DDTarget(zoomLevelDiv,"zoomddgroup");this._zoomPanel.appendChild(zoomLevelDiv);YAHOO.util.Event.addListener(divId,
"click",this.zoom,{command:i},this)}this.cursorDiv=RMUtils.createDOMElement("div");this.cursorDiv.id="zoomlevelcursor";this._zoomPanel.appendChild(this.cursorDiv);this._zoomPanel.appendChild(cursorRegion);object.appendChild(zoomInDivContainer);object.appendChild(this._zoomPanel);object.appendChild(zoomOutDivContainer);var zoomHandleDD=new DDZoomCursor(this.cursorDiv,"zoomddgroup");zoomHandleDD.setZoomBar(this);YAHOO.util.Event.addListener(zoomInDivContainer,"click",this.zoomInOneLevel,null,this);
YAHOO.util.Event.addListener(zoomOutDivContainer,"click",this.zoomOutOneLevel,null,this);MouseWheelEventManager.addListener(object,this._mouseWheelHandler);if(IS_PRINT_PREVIEW==true){cursorRegion.style.height="40px";this.cursorDiv.style.display="none"}RMZoomBar.superclass._init.call(this,object)};RMZoomBar.prototype.isSmallZoomBar=null;RMZoomBar.prototype._isPrintPreviewZoomBar=null;RMZoomBar.prototype._currentZoomLevel=null;RMZoomBar.prototype._maxAllowedZoomLevel=null;
RMZoomBar.prototype._zoomPanelImageTag=null;function RMControls_RMZoomBar_setMap(map){getCEM().subscribeEvent(RMEvent.Zoom.READY,map.mapId,this._onZoomReadyHandler,this);getCEM().subscribeEvent(RMEvent.Zoom.COMPLETE,map.mapId,this._onZoomCompleteHandler,this);RMZoomBar.prototype._setMap.call(this,map)}function RMControls_RMZoomBar_zoom(e,args){_zoom(this._map.mapId,args)}function RMControls_RMZoomBar_setSmallZoomBar(isSmallZoomBar){this.isSmallZoomBar=isSmallZoomBar}
function RMControls_RMZoomBar_onZoomReadyHandler(type,params,myself){var currentZoom=myself._map.getWCS().getCurrentZoom();var zoomLevel=RMUtils.getNewZoomLevel(currentZoom,params[0].toString());if(myself._isPrintPreviewZoomBar&&(zoomLevel<myself._maxAllowedZoomLevel-2||zoomLevel>myself._maxAllowedZoomLevel))return;if(zoomLevel!=myself._map.getWCS().getCurrentZoom()){var paramArray=[];paramArray[0]=zoomLevel;getCEM().fireEvent(RMEvent.Zoom.INPROGRESS,myself._map.mapId,paramArray)}}
function RMControls_RMZoomBar_onZoomCompleteHandler(type,params,myself){myself.setZoomLevel(parseInt(params[0],10))}
function RMControls_RMZoomBar_setZoomLevel(zoomLevel){var zoomleveldiv=document.getElementById("z"+zoomLevel);if(zoomleveldiv){var pos=YAHOO.util.Dom.getXY(zoomleveldiv);pos[0]=YAHOO.util.Dom.getXY("cursorregion")[0];var motion=(new YAHOO.util.Motion("zoomlevelcursor",{points:{to:pos}},0.3,YAHOO.util.Easing.easeOut)).animate()}else YAHOO.log("There is not zoom level "+zoomLevel);this._currentZoomLevel=zoomLevel}var RMControls_RMZoombar_scrollTimer=0;var RMControls_RMZoombar_lastDelta=0;
function RMControls_RMZoomBar_mouseWheelHandler(scrollInt){RMControls_RMZoombar_lastDelta=RMControls_RMZoombar_lastDelta+scrollInt;if(RMControls_RMZoombar_scrollTimer)clearTimeout(RMControls_RMZoombar_scrollTimer);RMControls_RMZoombar_scrollTimer=setInterval(RMControls_RMZoomBar_scheduleZoom,200)}
function RMControls_RMZoomBar_scheduleZoom(){if(RMControls_RMZoombar_lastDelta!==0){if(RMControls_RMZoombar_lastDelta>=0)RMControls_RMZoombar_lastDelta="+"+parseInt(RMControls_RMZoombar_lastDelta,10);this.zoom("RMZoomBar",{command:RMControls_RMZoombar_lastDelta});RMControls_RMZoombar_lastDelta=0}clearTimeout(RMControls_RMZoombar_scrollTimer)}function RMScaleBar(ID){this.setMetricUnit=RMControls_RMScaleBar_setMetricUnit;this.setScaleBar=RMControls_RMScaleBar_setScaleBar;this._init(ID)}
RMScaleBar.prototype=new RMControls;RMScaleBar.prototype.constructor=RMScaleBar;RMScaleBar.superclass=RMControls.prototype;
RMScaleBar.prototype._init=function(ID){var object=RMUtils.createDOMElement("div");this._metricDivContainer=RMUtils.createDOMElement("div");this._SIDivContainer=RMUtils.createDOMElement("div");object.id=ID;object.name=ID;object.style.zIndex=200;this._metricDivContainer.id=ID+"_metricScaleBar";YAHOO.util.Dom.addClass(this._metricDivContainer,"RMScaleBarBar");this._metricUnitContainer=RMUtils.createDOMElement("div");this._metricUnitContainer.innerHTML="50 miles";YAHOO.util.Dom.addClass(this._metricUnitContainer,
"RMScaleBarUnit");this._SIDivContainer.id=ID+"_SIScaleBar";this._SIDivContainer.style.width="50px";YAHOO.util.Dom.addClass(this._SIDivContainer,"RMScaleBarBar");this._siUnitContainer=RMUtils.createDOMElement("div");this._siUnitContainer.innerHTML="5 Km";YAHOO.util.Dom.addClass(this._siUnitContainer,"RMScaleBarUnit");object.appendChild(this._metricDivContainer);object.appendChild(this._metricUnitContainer);object.appendChild(this._SIDivContainer);object.appendChild(this._siUnitContainer);this._type=
"RMScaleBar";RMScaleBar.superclass._init.call(this,object)};RMScaleBar.prototype.isMetricUnit=null;RMScaleBar.prototype._metricDivContainer=null;RMScaleBar.prototype._SIDivContainer=null;RMScaleBar.prototype._metricUnitContainer=null;RMScaleBar.prototype._siUnitContainer=null;RMScaleBar.prototype._copyrights=null;function RMControls_RMScaleBar_setMetricUnit(isMetricUnit){this.isMetricUnit=isMetricUnit}
function RMControls_RMScaleBar_setScaleBar(siWidth,metricWidth,siLabel,metricLabel){var maxWidth=siWidth;if(maxWidth<metricWidth)maxWidth=metricWidth;var avgCharWidth=11;maxWidth+=20;if(siLabel.length>metricLabel.length)maxWidth+=siLabel.length*avgCharWidth;else maxWidth+=metricLabel.length*avgCharWidth;YAHOO.util.Dom.setStyle(this._divContainer,"width",maxWidth+"px");YAHOO.util.Dom.setStyle(this._metricDivContainer,"width",metricWidth+"px");YAHOO.util.Dom.setStyle(this._SIDivContainer,"width",siWidth+
"px");this._metricDivContainer.innerHTML='<img src="'+BASE_PATH_IMG+'/scale_spacer.gif" height="3" width="'+metricWidth+'" alt="" title=""/>';this._SIDivContainer.innerHTML='<img src="'+BASE_PATH_IMG+'/scale_spacer.gif" height="3" width="'+siWidth+'" alt="" title=""/>';this._metricUnitContainer.innerHTML=metricLabel;this._siUnitContainer.innerHTML=siLabel}
function RMPanControl(ID,compassOrientation,tip){this._panControlFnCallBack=RMControl_RMPanControl_panControlFnCallBack;this.setMap=RMControl_RMPanControl_setMap;this._init(ID,compassOrientation,tip)}RMPanControl.prototype=new RMControls;RMPanControl.prototype.constructor=RMPanControl;RMPanControl.superclass=RMControls.prototype;
RMPanControl.prototype._init=function(ID,compassOrientation,tip){var panContainer=RMUtils.createDOMElement("li");var panLink=RMUtils.createDOMElement("a");if(tip)panLink.title=tip;panContainer.style.zIndex=202;this._type="RMPanControl";panLink.id=ID;panLink.innerHTML="Pan "+compassOrientation.substring(0,1).toUpperCase()+compassOrientation.substring(1);YAHOO.util.Dom.addClass(panContainer,"compass-"+compassOrientation);YAHOO.util.Event.addListener(panLink.id,"click",this._panControlFnCallBack,compassOrientation,
this);object.appendChild(panLink);RMPanControl.superclass._init.call(this,object)};function RMControl_RMPanControl_setMap(map){RMPanControl.prototype._setMap.call(this,map)}function RMControl_RMPanControl_panControlFnCallBack(e,compassOrientation){getCEM().fireEvent(RMEvent.Pan.READY,this._map.mapId,compassOrientation)}function RMCopyrights(ID){this.updateCopyrights=RMControls_RMCopyrights_updateCopyrights;this._init(ID)}RMCopyrights.prototype=new RMControls;RMCopyrights.prototype.constructor=RMCopyrights;
RMCopyrights.superclass=RMControls.prototype;
RMCopyrights.prototype._init=function(ID){this._copyrights=RMUtils.createDOMElement("div");this._copyrights.id=ID;this._copyrightContainer=RMUtils.createDOMElement("div");YAHOO.util.Dom.addClass(this._copyrightContainer,"RMCopyright_background");this._copyrights.appendChild(this._copyrightContainer);YAHOO.util.Dom.addClass(this._copyrights,"RMCopyright");this._copyrightContainer.innerHTML="<div style='border: 1px dashed red;'>&copy;2011 Rand McNally <img src='images/DG_logo_web_final.gif'/></div>";RMCopyrights.superclass._init.call(this,
this._copyrights)};function RMControls_RMCopyrights_updateCopyrights(copyrights){if(typeof copyrights=="string")this._copyrightContainer.innerHTML=copyrights;else if(copyrights.length>0){var i=0;var crText=copyrights[0].copyright;for(i=1;i<copyrights.length;i++)crText+=" - "+copyrights[i].copyright;this._copyrightContainer.innerHTML=crText}}RMCopyrights.prototype._copyrights=null;function RMOverviewMap(){}RMOverviewMap.prototype=new RMControls;RMOverviewMap.prototype.constructor=RMOverviewMap;
RMOverviewMap.superclass=RMControls.prototype;DDZoomCursor=function(id,sGroup,config){DDZoomCursor.superclass.constructor.apply(this,arguments);8};
YAHOO.extend(DDZoomCursor,YAHOO.util.DD,{origZ:0,onDragDrop:function(el,ddObjects,group){},onDrag:function(ev){deCarta.App.RMZoomBar.dragging=true;var region=YAHOO.util.Dom.getRegion("cursorregion");var cursor=this.getEl();RMUtils.constrainInRegion(cursor,region)},onMouseDown:function(ev){YAHOO.util.Dom.addClass(this.getEl(),"cursorpressed")},onMouseUp:function(ev){YAHOO.util.Dom.removeClass(this.getEl(),"cursorpressed");if(deCarta.App.RMZoomBar.dragging){var zoomTargets=deCarta.App.RMZoomBar.zoomTargets;
var pair=[];for(var x=0;x<zoomTargets.length;x++){var zoomTarget=zoomTargets[x];if(YAHOO.util.Region.getRegion(zoomTarget.getEl()).intersect(YAHOO.util.Region.getRegion(this.getEl()))){pair.push(zoomTarget);if(pair.length==2)break}}var button=pair.length==1?pair[0]:YAHOO.util.DragDropMgr.getBestMatch(pair);var zLevel=button.id.substring(1);var params={command:zLevel};this.zoomBar.zoom("RMZoomBar",params);deCarta.App.RMZoomBar.dragging=false}}});DDZoomCursor.prototype.zoomBar=null;
DDZoomCursor.prototype.setZoomBar=function(zoomBar){this.zoomBar=zoomBar};
function RMZoomBar2(ID,isPrintPreview,initZoomLevel){this.setSmallZoomBar=RMControls_RMZoomBar2_setSmallZoomBar;this._onZoomCompleteHandler=RMControls_RMZoomBar2_onZoomCompleteHandler;this.setZoomLevel=RMControls_RMZoomBar2_setZoomLevel;this.setDeCartaZoomLevel=RMControls_RMZoomBar2_setDeCartaZoomLevel;this.setMap=RMControls_RMZoomBar2_setMap;this.zoom=RMControls_RMZoomBar2_zoom;this.updateSliderFromZoomController=RMControls_RMZoomBar2_updateSliderFromZoomController;this.zoomInOneLevel=RMControls_RMZoomBar2_zoomInOneLevel;
this.zoomOutOneLevel=RMControls_RMZoomBar2_zoomOutOneLevel;this.zoomToNewLevel=RMControls_RMZoomBar2_zoomToNewLevel;this._init(ID,isPrintPreview,initZoomLevel)}RMZoomBar2.prototype=new RMControls;RMZoomBar2.prototype.constructor=RMZoomBar2;RMZoomBar2.superclass=RMControls.prototype;
RMZoomBar2.prototype._init=function(ID,isPrintPreview,initZoomLevel){this.zoomTargets=[];this.draggin=false;this.ZOOM_LEVELS=deCarta.App.zoom.zoomLevels;var maxZoomLevel=deCarta.App.zoom.upperBound;var minZoomLevel=deCarta.App.zoom.lowerBound;this._type="RMZoomBar";var object=RMUtils.createDOMElement("div");object.id=ID;object.name=ID;var zoomInDivContainer=RMUtils.createDOMElement("div");var zoomOutDivContainer=RMUtils.createDOMElement("div");var zoomHandleContainer=RMUtils.createDOMElement("div");
var cursorRegion=RMUtils.createDOMElement("div");zoomInDivContainer.className="zoominbutton";zoomOutDivContainer.className="zoomoutbutton";this._zoomPanel=RMUtils.createDOMElement("div");this._zoomPanel.id="zoompanel";this._zoomPanel.className="zoomlevelbar";cursorRegion.id="cursorregion";if(IS_PRINT_PREVIEW!=true)for(i=minZoomLevel;i<=maxZoomLevel;i++){var zoomLevelDiv=RMUtils.createDOMElement("div");var divId="z"+i;zoomLevelDiv.id=divId;zoomLevelDiv.className="levelbutton";var target=new YAHOO.util.DDTarget(zoomLevelDiv,
"zoomddgroup");this.zoomTargets.push(target);this._zoomPanel.appendChild(zoomLevelDiv);YAHOO.util.Event.addListener(divId,"click",this.zoom,{command:i},this)}this.cursorDiv=RMUtils.createDOMElement("div");this.cursorDiv.id="zoomlevelcursor";this._zoomPanel.appendChild(this.cursorDiv);this._zoomPanel.appendChild(cursorRegion);object.appendChild(zoomInDivContainer);object.appendChild(this._zoomPanel);object.appendChild(zoomOutDivContainer);var zoomHandleDD=new DDZoomCursor(this.cursorDiv,"zoomddgroup");
zoomHandleDD.setZoomBar(this);YAHOO.util.Event.addListener(zoomInDivContainer,"click",this.zoomInOneLevel,null,this);YAHOO.util.Event.addListener(zoomOutDivContainer,"click",this.zoomOutOneLevel,null,this);if(IS_PRINT_PREVIEW==true){cursorRegion.style.height="40px";this.cursorDiv.style.display="none"}RMZoomBar2.superclass._init.call(this,object)};RMZoomBar2.prototype.isSmallZoomBar=null;RMZoomBar2.prototype._isPrintPreviewZoomBar=null;RMZoomBar2.prototype._currentZoomLevel=null;
RMZoomBar2.prototype._maxAllowedZoomLevel=null;RMZoomBar2.prototype._zoomPanelImageTag=null;
function RMControls_RMZoomBar2_setMap(map){getCEM().subscribeEvent(RMEvent.Zoom.COMPLETE,map.mapId,function(){RMControls_RMZoomBar2_onZoomCompleteHandler();CATEGORY_CONTAINER.refreshBackgroundPois();CATEGORY_CONTAINER.updateActivatedCategories()},this);EventRegistry.addListener(map,"moveend",function(){CATEGORY_CONTAINER.showBackgroundPois();CATEGORY_CONTAINER.updateActivatedCategories()}.scope(this));RMZoomBar2.prototype._setMap.call(this,map)}
function RMControls_RMZoomBar2_updateSliderFromZoomController(){RMControls_RMZoomBar2_setZoomLevel(deCarta.App.zoom.getZoomLevel())}function RMControls_RMZoomBar2_zoomInOneLevel(){deCarta.App.zoom.zoomInOneLevel();this.updateSliderFromZoomController()}function RMControls_RMZoomBar2_zoomOutOneLevel(){deCarta.App.zoom.zoomOutOneLevel();this.updateSliderFromZoomController()}
function RMControls_RMZoomBar2_zoom(e,args){var currentZoom=deCarta.App.zoom.getZoomLevel();var zoomLevel=RMUtils_getNewZoomLevel2(currentZoom,args.command.toString());this.zoomToNewLevel(zoomLevel)}function RMControls_RMZoomBar2_setSmallZoomBar(isSmallZoomBar){this.isSmallZoomBar=isSmallZoomBar}function RMControls_RMZoomBar2_onZoomCompleteHandler(type,params,myself){console.log("--x RMControls_RMZoomBar2_onZoomCompleteHandler ...");RMControls_RMZoomBar2_updateSliderFromZoomController()}
function RMControls_RMZoomBar2_setDeCartaZoomLevel(zoomLevel){deCarta.App.zoom.setZoomLevel(zoomLevel);this.setZoomLevel(zoomLevel);if(deCarta.App.RMStepMapInfoWindow&&deCarta.App.RMStepMapInfoWindow.visible)deCarta.App.RMStepMapInfoWindow.updatePosition()}
function RMControls_RMZoomBar2_setZoomLevel(zoomLevel){var zoomleveldiv=document.getElementById("z"+zoomLevel);if(zoomleveldiv){var pos=YAHOO.util.Dom.getXY(zoomleveldiv);pos[0]=YAHOO.util.Dom.getXY("cursorregion")[0];var motion=(new YAHOO.util.Motion("zoomlevelcursor",{points:{to:pos}},0.3,YAHOO.util.Easing.easeOut)).animate()}else YAHOO.log("There is not zoom level "+zoomLevel);this._currentZoomLevel=zoomLevel}
function RMControls_RMZoomBar2_zoomToNewLevel(zoomLevel){deCarta.App.zoom.zoomToNewLevel(zoomLevel);this.updateSliderFromZoomController()};function highlight(e,index){YAHOO.util.Dom.addClass("z"+index,"hoverlevel")}function restore(e,index){YAHOO.util.Dom.removeClass("z"+index,"hoverlevel")}function applyAlpha(el,alphaValue){if(el)YAHOO.util.Dom.setStyle(el,"opacity",alphaValue)}
function RMZoomBar_uiInit(){var ZOOM_LEVELS=17;var LEVEL_TIP="level ";var zoomBar=document.getElementById("RMZoomBar");var IT=0.3;for(i=1;i<=ZOOM_LEVELS;i++){var elName="z"+i;var el=document.getElementById(elName);applyAlpha(el,IT+(1-IT)*i/ZOOM_LEVELS);el.title=LEVEL_TIP+i;YAHOO.util.Event.addListener(elName,"mouseover",highlight,i,false);YAHOO.util.Event.addListener(elName,"mouseout",restore,i)}}YAHOO.util.Event.onContentReady("z17",RMZoomBar_uiInit,"",false);var RMResources=[];RMResources.GEOCODE_MISSING_INPUT_ADDRESS="Please enter a street, city, state, or postal code.";RMResources.GEOCODE_ADDRESS_NOT_FOUND="We could not find the location you entered. Please,<br/><br/><ul class='errorBullets'><li>Check your spelling</li><br/><li>Enter a street, city, state, or postal code</li></ul>";RMResources.ADDRESS_CANNOT_SAVE_EMPTY="Please specify an address before saving.";RMResources.ADDRESS_CANNOT_SAVE_AIRPORT="Sorry, you cannot add an airport code in the address book.";
RMResources.GEOCODE_MULTIPLE_RESULTS="Please select one of the following locations:";RMResources.GEOCODE_MULTIPLE_POI_RESULTS="Did you mean to locate one of the following locations?";RMResources.GEOCODE_MULTIPLE_ONLY_POI_RESULTS="We could not find the location you entered. Did you mean to locate one of the following locations?";RMResources.GEOCODE_NO_STATE_INPUT_ERROR="There are multiple cities with this name.<br/>Please specify the state to locate the address.";
RMResources.DIR_MISSING_INPUT_ADDRESS="Enter a starting address, city, and state here for your driving directions.";RMResources.DIR_MISSING_INPUT_STOP="Please enter an address or remove this stop.";RMResources.DIR_ROUNDTRIP_STOP_LIMIT="The round trip is not available when 5 or more stops are present.";RMResources.DIR_ROUNDTRIP_DUPLICATE="The round trip has already been requested. Please change the addresses and try again.";RMResources.DIR_CANNOT_REMOVE_STOP="This stop cannot be removed.";
RMResources.DIR_STOP_LIMIT="You already reached the maximum number of stops allowed.";RMResources.DIR_UNABLE_TO_CALCULATE_ROUTE="We are unable to produce these driving directions.<br/> Please try a different origin and/or destination.";RMResources.DIR_RETURNTOSTART_STOP_LIMIT="The return to start is available only when 9 or less stops are present.Please remove a location to avail this feature.";RMResources.DIR_UNABLE_TO_CALCULATE_ROUTE_TOLL_ROAD="We are unable to produce these driving directions.<br/><br/> Please try a different origin and/or destination or try again without avoiding toll roads.<br/> ";
RMResources.POI_MISSING_SEARCH_STRING="Please enter a search text or select a category.";RMResources.POI_NOT_FOUND="No results were found. To find more results, please try:<br><br><ul class='errorBullets'><li>Using an alternate name for the type of business you want to locate. For a suggestion of business types, please click on &quot;Category List&quot; under the search box to the left<br><br><li>Changing the search area, either by entering a new location for search or by zooming the map out</ul>";
RMResources.POI_CATEGORIES_ERROR="An error occurred while retrieving the list of categories.";RMResources.TOO_MANY_WORDS_PREFIX="The location can not be longer than ";RMResources.TOO_MANY_WORDS_SUFFIX=" words. Please shorten it.";RMUtils.includeCSS(BASE_PATH_CSS+"/skins/viewPort.css");
RMMap.prototype._init=function(containerID){containerID="mapControl";this._container=document.getElementById(containerID);this._container.style.position="relative";this._container.style.overflow="hidden";this.width=parseInt(this._container.style.width,10);this.height=parseInt(this._container.style.height,10);this._controls=[];this._overlays=[];this._panControls=[];var object=RMUtils.createDOMElement("div","html");object.id=containerID+"_RMPANEL";object.style.position="absolute";object.style.top="0px";
object.style.left="0px";object.style.height=0;object.style.width=0;this.panelId=object.id;this._container.appendChild(object);getCEM().subscribeEvent(RMEvent.Pan.COMPLETE,mapId,this._progressiveRouteRibbonRequest,this);getCEM().subscribeEvent(RMEvent.Pan.COMPLETE,mapId,this._adjustScaleBar,this);getCEM().subscribeEvent(RMEvent.Zoom.READY,mapId,this._onZoomReadyHandler,this);getCEM().subscribeEvent(RMEvent.Zoom.COMPLETE,mapId,this._adjustScaleBar,this);getCEM().subscribeEvent(RMEvent.Zoom.INPROGRESS,
mapId,this._onZoomInProgressHandler,this);getCEM().subscribeEvent(RMEvent.Service.READY,mapId,this.displayWaitingWindow,myMap1);getCEM().subscribeEvent(RMEvent.Service.COMPLETE,mapId,this.removeWaitingWindow,myMap1)};
function RMMap_onWindowResize(){var newWidth=YAHOO.util.Dom.getViewportWidth()-this._nTotalBrowserMarginHoz;var newHeight=YAHOO.util.Dom.getViewportHeight()-this._nTotalBrowserMarginVer;if(newWidth<MIN_MAP_CONTROL_WIDTH)newWidth=MIN_MAP_CONTROL_WIDTH;if(newWidth>MAX_MAP_CONTROL_WIDTH)newWidth=MAX_MAP_CONTROL_WIDTH;if(newHeight<MIN_MAP_CONTROL_HEIGHT)newHeight=MIN_MAP_CONTROL_HEIGHT;if(newHeight>MAX_MAP_CONTROL_HEIGHT)newHeight=MAX_MAP_CONTROL_HEIGHT;var deltaHeight=newHeight-parseInt(this._container.style.height,
10);this._container.style.width=newWidth+"px";this._container.style.height=newHeight+"px";this.setViewportSize(newWidth,newHeight)}
function RMMap_loadMap(rmAddress,deCartaGeocodedAddress){var currentZoomLevel=deCarta.App.map.getZoomController().getZoomLevel();var newZoomLevel=currentZoomLevel;if(deCartaGeocodedAddress!=null){if(rmAddress!=null)deCartaGeocodedAddress.position.customProperties.rmAddress=rmAddress;var boundingBox=deCartaGeocodedAddress.boundingBox;if(boundingBox!=null)newZoomLevel=deCarta.App.map.getZoomController().getZoomLevelToFitBoundingBox(boundingBox);else{var structuredAddress=deCartaGeocodedAddress.structuredAddress;
if(structuredAddress)if(RMAddress_notEmpty(structuredAddress.getStreet()))newZoomLevel=6}}var callback=function(p){deCarta.App.map.removeAllPins();deCarta.App.map.getInfoWindow().hide();var addrText=null;var structuredAddress=null;if(addrText==null||addrText=="")if(deCartaGeocodedAddress&&deCartaGeocodedAddress!=null){structuredAddress=deCartaGeocodedAddress.structuredAddress;addrText=structuredAddress&&structuredAddress!=null?structuredAddress.toString():null}if(addrText==null||addrText=="")addrText=
rmAddress&&rmAddress!=null?rmAddress.toString():null;if(addrText==null||addrText=="")addrText=p.lat+" "+p.lon;var label=ALPH[parseInt(0,10)];var pin=deCarta.App.Util.renderPin(p,null,label,addrText,null);pin.setId("location-pin");pin.setZIndex(302);pin.addEventListener("click",pinOnClickCallback);if(rmAddress&&rmAddress!=null)showHotDealsAds(rmAddress);var zoomLevel=deCarta.App.map.getZoomController().getZoomLevel();CATEGORY_CONTAINER.showBackgroundPois();CATEGORY_CONTAINER.updateActivatedCategories()};
deCarta.App.RMZoomBar.setDeCartaZoomLevel(newZoomLevel);deCarta.App.map.centerOnPosition(deCartaGeocodedAddress.position,callback)}
function RMMap_loadMapForHintListAddrr(rmAddress,position,address){deCarta.App.map.removeAllPins();deCarta.App.map.getInfoWindow().hide();var text=null!=address.airportFullName&&address.airportFullName!=""?address.airportFullName+" ["+address.airportCode+"]<br>"+address.municipality+" "+address.countrySubdivision:address.municipality+" "+address.countrySubdivision;var position=new Position(position.lat,position.lon);var label=ALPH[parseInt(0,10)];var pin=deCarta.App.Util.renderPin(position,null,label,
text,null);pin.setId("location-pin");pin.addEventListener("click",pinOnClickCallback);if(null!=address.airportFullName&&address.airportFullName!="")deCarta.App.RMZoomBar.setDeCartaZoomLevel(9);else deCarta.App.RMZoomBar.setDeCartaZoomLevel(10);deCarta.App.map.centerOnPosition(position,function(){deCarta.App.search.searchesLocked=false;CATEGORY_CONTAINER.showBackgroundPois();CATEGORY_CONTAINER.updateActivatedCategories()}.scope(this));if(rmAddress&&rmAddress!=null)showHotDealsAds(rmAddress);var zoomLevel=
deCarta.App.map.getZoomController().getZoomLevel()}
function RMMap_fitExtentWithinViewport(bbox,newZoom,forceZoom){if(forceZoom==null)forceZoom=true;var needToZoomOut=forceZoom;var currentViewportLLBound;if(!forceZoom){currentViewportLLBound=this.tilesPanel.getViewportLLBound();needToZoomOut=bbox.isTallerOrWiderThan(currentViewportLLBound)}if(needToZoomOut){if(newZoom==null)newZoom=this.getZoomToFitBBox(bbox);this.setZoomLevel(newZoom);currentViewportLLBound=this.tilesPanel.getViewportLLBound()}if(currentViewportLLBound.contains(bbox))return;var currentMapExtentIsNearby=
currentViewportLLBound.intersects(bbox);if(currentMapExtentIsNearby&&!needToZoomOut){var ohiddenCornerLL=new LatLong(bbox.minY,bbox.minX);if(bbox.minX<currentViewportLLBound.minX)ohiddenCornerLL.lon=bbox.minX;if(bbox.minY<currentViewportLLBound.minY)ohiddenCornerLL.lat=bbox.minY;if(bbox.maxX>currentViewportLLBound.maxX)ohiddenCornerLL.lon=bbox.maxX;if(bbox.maxY>currentViewportLLBound.maxY)ohiddenCornerLL.lat=bbox.maxY;if(ohiddenCornerLL.lat!==0&&ohiddenCornerLL.lon!==0){this.scrollForVisibility(ohiddenCornerLL,
0,0,10,-10);return}else alert("hidden corner not found.  "+(currentViewportLLBound.contains(bbox)?"currentViewportLLBound.contains(bbox)":"vp not contain bbox")+(bbox.contains(currentViewportLLBound)?" bbox.contains(currentViewportLLBound)":"bbox not contain vp")+" Bbox="+bbox.toString()+" vp="+currentViewportLLBound.toString())}var bboxCenterLL=new LatLong((bbox.minY+bbox.maxY)/2,(bbox.minX+bbox.maxX)/2);this.panToNewCenterLL(bboxCenterLL,true)}
function RMMap_panToNewCenterLL(newCenterLatLong,animate){var oldCenterLatLong=this.tilesPanel.getViewportCenterLL();var oldXPixelPoint=this._WCS.LatLonToPixels(oldCenterLatLong);var newXPixelPoint=this._WCS.LatLonToPixels(newCenterLatLong);this.pan(oldXPixelPoint.x-newXPixelPoint.x,oldXPixelPoint.y-newXPixelPoint.y,animate)}
function RMMap_displayPlaceMark(address,placeMarker){var placemark=new RMPlaceMark("pm"+address.latLongPosition.lat+"_"+address.latLongPosition.lon,address.latLongPosition,this._WCS,placeMarker,RMMARKER_TYPE.LOCATION);var myself=this;placemark.addEventListener("click",function(){var htmlText=address.toHTML(false);if(htmlText.trim().length===0)htmlText=address.toHTML(true);if(htmlText.trim().length===0)htmlText=address.latLongPosition.lat+", "+address.latLongPosition.lon;myself._infoWindow.setLocation(placemark._latlonPoint);
myself._infoWindow.setContentHTML(htmlText);myself._infoWindow.setVisible(true,"PLACE_MARK",placemark._container.id);var box=myself._infoWindow.getBoundingBox();myself.scrollForVisibility(placemark._latlonPoint,box.left,box.right,box.top,0)});this.addOverlayObject(placemark);return placemark}
function RMMap_displayPlaceMark_POI(poiJSON,label,addToRouteFunction){var markerType=this.getMarkerTypeForCategory(poiJSON.category,poiJSON.subcategory);var llPos=new LatLong(poiJSON.lat,poiJSON.lon);var placemark=new RMPlaceMark("poi"+label+"_"+poiJSON.lat+"_"+poiJSON.lon,llPos,this._WCS,label,markerType);this.handlePOIClick(poiJSON,placemark._container,addToRouteFunction);this.addOverlayObject(placemark)}
function RMMap_handlePOIClick(poiJSON,poiElement,addToRouteFunction){var llPos=new LatLong(poiJSON.lat,poiJSON.lon);var sPOINameDisplay="<b>"+poiJSON.name+"</b>";if(poiJSON.telephone&&""!==poiJSON.telephone)sPOINameDisplay+="<br>\n"+RMUtils.formatPhoneStr(poiJSON.telephone);var address=new RMAddress(poiJSON.street,poiJSON.city,poiJSON.state,poiJSON.postalCode,"","",llPos,sPOINameDisplay);var infoWindowHTML="<p>"+address.toHTML(true)+"</p>";if(addToRouteFunction)infoWindowHTML+='<br/><a id="addRoute_'+
poiElement.id+'" href="javascript:noop();">Add to Route</a>';var myself=this;YAHOO.util.Event.addListener(poiElement,"click",function(e){myself._infoWindow.setLocation(llPos);myself._infoWindow.setContentHTML(infoWindowHTML);myself._infoWindow.setVisible(true,"POI",poiElement);var box=myself._infoWindow.getBoundingBox();myself.scrollForVisibility(llPos,box.left,box.right,box.top,0);YAHOO.util.Event.addListener("addRoute_"+poiElement.id,"click",function(e){addToRouteFunction(e,poiJSON)})})}
function RMMap_displayPlaceMarkForLatLon(latLong,label,idPrefix,clickFunc,category,subcategory,placeMarkerId,pAdditionalCssClasses){var id=placeMarkerId?placeMarkerId:idPrefix+"_"+label+"_"+latLong.lat+"_"+latLong.lon;var markerType;var oCssAttributes=null;if(idPrefix.toUpperCase()==="POI")markerType=this.getMarkerTypeForCategory(category,subcategory);else markerType=RMMARKER_TYPE.LOCATION;var placemark=new RMPlaceMark(id,latLong,this._WCS,label,markerType,oCssAttributes,pAdditionalCssClasses);if(typeof clickFunc==
"function")YAHOO.util.Event.addListener(placemark._container,"click",clickFunc);this.addOverlayObject(placemark);return placemark}
function RMMap_showInfoWindowForLatLon(latLong,content){var infoWindow=this.getInfoWindow();var sFlavor="POI";if(typeof content=="string")infoWindow.setContentHTML(content);else infoWindow.setContentNode(content);infoWindow.setLocation(latLong);infoWindow.setVisible(true,sFlavor);var box=infoWindow.getBoundingBox();this.scrollForVisibility(latLong,box.left,box.right,box.top,0)}
function RMMap_getMarkerTypeForCategory(category,subcategory){var markerType;if(!this._bShowCategoryPOIIcons||!category||category=="")markerType=RMMARKER_TYPE.POI;else if(category=="Travel")markerType=RMMARKER_TYPE.POI+"_"+(subcategory=="Accommodations"?"LODGING":"SIGHTSEEING");else if(category=="Food and Drink")markerType=RMMARKER_TYPE.POI+"_"+"DINING";else if(category=="Amusement and Recreation")markerType=RMMARKER_TYPE.POI+"_"+"ENTERTAINMENT";else if(category=="Arts and Entertainment")markerType=
RMMARKER_TYPE.POI+"_"+"EVENTS";else if(category=="Shopping")markerType=RMMARKER_TYPE.POI+"_"+"SHOPPING";else{markerType=RMMARKER_TYPE["POI_"+category.toUpperCase()];if(!markerType)markerType=RMMARKER_TYPE.POI_MISCELLANEOUS}return markerType}function RMMap_setTilePort(port){this._tilePort=port;if(this.tilesPanel)this._WCS.setTilePort(port)}
function RMMAP_resizeViewportWithBrowserWindow(shouldResize){if(shouldResize){this._nTotalBrowserMarginHoz=YAHOO.util.Dom.getViewportWidth()-this._container.offsetWidth;this._nTotalBrowserMarginVer=YAHOO.util.Dom.getViewportHeight()-this._container.offsetHeight;YAHOO.util.Event.addListener(window,"resize",this._onWindowResize,this,true)}else YAHOO.util.Event.removeListener(window,"resize",RMMap_onWindowResize)}
function RMMap_setMapControlSizeMinMax(minWidth,minHeight,maxWidth,maxHeight){if(minWidth)MIN_MAP_CONTROL_WIDTH=minWidth;if(minHeight)MIN_MAP_CONTROL_HEIGHT=minHeight;if(maxWidth)MAX_MAP_CONTROL_WIDTH=maxWidth;if(maxHeight)MAX_MAP_CONTROL_HEIGHT=maxHeight}
function RMMAP_addEventListener(sEventType,fn,obj,override){if(this.tilesPanel&&this.tilesPanel.viewPort){YAHOO.util.Event.removeListener(this.tilesPanel.viewPort,sEventType,fn);YAHOO.util.Event.addListener(this.tilesPanel.viewPort,sEventType,fn,obj,override)}else{if(!this._tempEventsHolderArr)this._tempEventsHolderArr=new Array;var len=this._tempEventsHolderArr.length;this._tempEventsHolderArr[len]={sEventType:sEventType,fn:fn,obj:obj,override:override}}}
function RMMap_refreshTiles(){this.tilesPanel.removeAllTiles();this.tilesPanel.updateTiles()}function RMMap_pan(deltaX,deltaY,animate){this.tilesPanel.movePanel(deltaX,deltaY,animate)}function RMMap_setZoomLevel(zoom){var params={command:zoom};_zoom(mapId,params)}
function RMMap_addOverlayObject(overlay){var overlayIndex=overlay.id+"_"+overlay._type;if(this._overlays[overlayIndex])this.removeOverlayObject(this._overlays[overlayIndex]);this._overlays[overlayIndex]=overlay;if(this.tilesPanel)this.tilesPanel.addOverlayObject(overlay._container)}function RMMap_removeOverlayObject(overlay){this.removeOverlayObjectByID(overlay.id,overlay._type)}
function RMMap_removeOverlayObjectByID(overlayID,overlayType){var overlayIndex=overlayID+"_"+overlayType;var overlayObj=this._overlays[overlayIndex];if(!overlayObj)return;this.tilesPanel.removeOverlayObject(overlayObj._container);this._overlays[overlayIndex]=null;delete this._overlays[overlayIndex]}
function RMMap_removeAllOverlayObjects(){if(this._infoWindow)this._infoWindow.setVisible(false);var nCount=0;for(var i in this._overlays){var overlay=this._overlays[i];if(overlay.getType()!="RMInfoWindow"){this.removeOverlayObject(overlay);nCount++}}return nCount>0}
function RMMap_removeOverlayObjects(sOverlayType,sIDStart){var nCount=0;for(var i in this._overlays){var overlay=this._overlays[i];if(overlay.getType()==sOverlayType){if(sIDStart)if(overlay.id.indexOf(sIDStart)<0)continue;this.removeOverlayObject(overlay);nCount++}}return nCount>0}function RMMap_getOverlayObject(overlayType,overlayID){return this._overlays[overlayID+"_"+overlayType]}
function RMMap_updatePositionForAllOverlayObjects(){for(var i in this._overlays){var overlay=this._overlays[i];if(overlay.getType()=="RMPlaceMark"||overlay.getType()=="RMInfoWindow"||overlay.getType()=="Video")overlay.updatePosition(this._WCS)}}function RMMap_clearRoute(){this._maneuverResult=null;this._routeResult=null;this.removeOverlayObjects("RMPolyline");this.removeOverlayObjects("RMPlaceMark","pm");this.clearStepMap()}
function RMMap_clearPOIPlacemarks(){this.removeOverlayObjects("RMPlaceMark","poi")}function RMMap_clearPOIsAndInfoWindow(){this.clearPOIPlacemarks();try{this.getInfoWindow().setVisible(false)}catch(ignored){}}function RMMap_clearStepMap(){var stepmaps=YAHOO.util.Dom.getElementsByClassName("step_bot info-destination");for(i=0;i<stepmaps.length;i++)stepmaps[i].style.display="none"}
function RMMap_addZoomBar(zoomBarControl){this._controls.RMZoomBar=zoomBarControl;this._container.appendChild(zoomBarControl._divContainer);zoomBarControl.setMap(this);zoomBarControl.setZoomLevel(this.initZoomLevel)}function RMMap_addScaleBar(scaleBarControl){this._controls.RMScaleBar=scaleBarControl;this._container.appendChild(scaleBarControl._divContainer);if(this.tilesPanel)this._adjustScaleBar(null,null,this)}
function RMMap_addCopyrightsBar(copyrightsControl){this._controls.RMCopyrights=copyrightsControl;this._container.appendChild(copyrightsControl._divContainer);if(this.tilesPanel)this._controls.RMCopyrights.updateCopyrights(this._sCurrentCopyright)}function RMMap_addCustomControl(customControl){this._controls.RMCustomControl=customControl;this._container.appendChild(customControl._divContainer)}
function RMMap_addPanControl(){var oUl=document.createElement("UL");var oDirections=["North","West","East","South"];var oMapControl=document.getElementById("mapControl");oUl.className="map-compass";for(i in oDirections){var oDirection=oDirections[i];var oLi=document.createElement("LI");var oLink=document.createElement("A");oLink.id="pan"+oDirection;oLink.innerHTML="Pan "+oDirection;oLi.className="compass-"+oDirection.toLowerCase();oLi.appendChild(oLink);YAHOO.util.Event.addListener(oLink.id,"mousedown",
function(pMap,pDirection){return function(){console.log("?.mousedown ...")}}(this,oDirection.toLowerCase()));oUl.appendChild(oLi)}oMapControl.appendChild(oUl)}function RMMap_removePanControl(){for(var key in this._panControls)this._container.removeChild(this._panControls[key]._divContainer);this._panControls=null}
function RMMap_panMap(pOrientation){switch(pOrientation){case "northwest":this.pan(100,100);break;case "north":this.pan(0,100);break;case "northeast":this.pan(-100,100);break;case "west":this.pan(100,0);break;case "east":this.pan(-100,0);break;case "southwest":this.pan(100,-100);break;case "southeast":this.pan(-100,-100);break;case "south":this.pan(0,-100);break}}function RMMap_removeControl(control){this._controls[control._type]=null;this._container.removeChild(control._divContainer)}
function RMMap_setDraggable(isDraggable){this._isDraggable=isDraggable;if(this._isDraggable)YAHOO.util.Event.addListener(this.tilesPanel.oDivTilesPanel.id,"mousedown",dragPress,new DraggableItem(this.tilesPanel),true);else YAHOO.util.Event.removeListener(this.tilesPanel.id,"mousedown",dragPress)}function RMMap_zoomIn(){var params={command:"+1"};_zoom(mapId,params)}function RMMap_zoomOut(){var params={command:"-1"};_zoom(mapId,params)}
function RMMap_setVisible(isVisible){this._isVisible=isVisible;if(!this._isVisible)this._container.style.display="none";else this._container.style.display="block"}function RMMap_saveMapState(mapState){}function RMMap_getMapState(){}function RMMap_setMapType(mapType){}function RMMap_setTileDimension(height,width){}
function RMMap_updateCopyRight(type,param,myself){var oNewTilesArray=param[0];if(!oNewTilesArray||!oNewTilesArray||0===oNewTilesArray.length)return;var oTile=oNewTilesArray[0];for(var i=0;i<oNewTilesArray.length;i++){var oNewTile=oNewTilesArray[i];var image=YAHOO.util.Dom.getFirstChild(oNewTile.mapLayer);var url=image.src;if(url.indexOf("x=0&y=0")>-1){oTile=oNewTile;break}}var sCopyrightUrl=myself._WCS.getCopyRightUrl(oTile.i,oTile.j);MAP_ENGINE.getCopyRight(sCopyrightUrl,function(o){if(o.code==1||
o.count<1)throw"Error while getting Copyright.";myself._sCurrentCopyright=o.copyrights;if(myself._controls&&myself._controls.RMCopyrights)myself._controls.RMCopyrights.updateCopyrights(myself._sCurrentCopyright)})}
function RMMap_adjustScaleBar(type,params,myself){if(!myself._controls.RMScaleBar)return;var viewportCenterX=myself.tilesPanel.viewPort.getCenterX();var viewportCenterY=myself.tilesPanel.viewPort.getCenterY();var oTile=new Tile;oTile.computeCoordFromAnInnerPoint(viewportCenterX,viewportCenterY);var oScales=myself._WCS.getScaleFor(oTile.i,oTile.j);var FEET_THRESHOLD=3640;var siLabel;var siBarWidth;var siPixelWidth=AVERAGE_SCALE_BAR_WIDTH;var nFeetForAvgScaleBar=oScales.feet*AVERAGE_SCALE_BAR_WIDTH;
var nMilesForAvgScaleBar=oScales.miles*AVERAGE_SCALE_BAR_WIDTH;if(nFeetForAvgScaleBar<FEET_THRESHOLD){siLabel=nFeetForAvgScaleBar.nearestToStep([1,2,5,10,20,50,100,200,500,1E3,2E3]);siBarWidth=Math.round(siLabel/oScales.feet);siLabel=siLabel+"ft"}else{siLabel=nMilesForAvgScaleBar.nearestToStep([1,2,5,10,20,50,100,200,500,1E3,2E3,5E3,1E4,2E4]);siBarWidth=Math.round(siLabel/oScales.miles);siLabel=siLabel+"mi"}var METERS_THRESHOLD=750;var sMetricLabel;var metricBarWidth;var nMetersForAvgScaleBar=oScales.meters*
AVERAGE_SCALE_BAR_WIDTH;var nKmForAvgScaleBar=oScales.km*AVERAGE_SCALE_BAR_WIDTH;if(nMetersForAvgScaleBar<METERS_THRESHOLD){metricLabel=nMetersForAvgScaleBar.nearestToStep([1,2,5,10,20,50,100,200,500]);metricBarWidth=Math.round(metricLabel/oScales.meters);metricLabel=metricLabel+"m"}else{metricLabel=nKmForAvgScaleBar.nearestToStep([1,2,5,10,20,50,100,200,500,1E3,2E3,5E3,1E4,2E4,5E4]);metricBarWidth=Math.round(metricLabel/oScales.km);metricLabel=metricLabel+"km"}myself._controls.RMScaleBar.setScaleBar(siBarWidth,
metricBarWidth,siLabel,metricLabel)}Number.prototype.nearestToStep=function(arrSteps){if(arrSteps.length===0){alert("Function nearestToStep() usage error");return}if(this<arrSteps[0])return arrSteps[0];for(var i=0;i<arrSteps.length-1;i++){var nLow=arrSteps[i];var nHigh=arrSteps[i+1];if(this>=nLow&&this<nHigh){var nDistanceToLow=this-nLow;var nDistanceToHigh=nHigh-this;return nDistanceToLow<nDistanceToHigh?nLow:nHigh}}return arrSteps[arrSteps.length-1]};
function RMMap_setViewportSize(width,height){if(this.tilesPanel){this.width=width;this.height=height;this.tilesPanel.viewPort.setSize(width,height);this.tilesPanel.updateTiles()}}function RMMap_setViewportSizeTo100Percent(){this.setViewportSize(this._container.offsetWidth,this._container.offsetHeight)}
function RMMap_expandLeft(bRetract,nPixels){if(bRetract){this._container.style.left=parseInt(this._container.style.left,10)+nPixels+"px";this._container.style.width=parseInt(this._container.style.width,10)-nPixels+"px";this.pan(nPixels*-1,0)}else{this._container.style.left=parseInt(this._container.style.left,10)-nPixels+"px";this._container.style.width=parseInt(this._container.style.width,10)+nPixels+"px";this.pan(nPixels,0)}this.setViewportSizeTo100Percent()}
function RMMap_onZoomReadyHandler(type,params,myself){if(!myself._controls.RMZoomBar){var currentZoom=myself.getWCS().getCurrentZoom();var zoomLevel=RMUtils.getNewZoomLevel(currentZoom,params[0].toString());if(zoomLevel!=myself.getWCS().getCurrentZoom()){var paramArray=[];paramArray[0]=zoomLevel;getCEM().fireEvent(RMEvent.Zoom.INPROGRESS,mapId,paramArray)}}}
function RMMap_onZoomInProgressHandler(type,params,myself){myself.removeOverlayObjects("RMPolyline");if(params[0]===0)return;var zoomLevel=parseInt(params[0],10);myself.tilesPanel.removeAllTiles();var wcs=myself._WCS;var deltaX=myself.tilesPanel.viewPort.getCenterX()-wcs.originTile.originPoint_XPixelOffset;var deltaY=myself.tilesPanel.viewPort.getCenterY()-wcs.originTile.originPoint_YPixelOffset;wcs.changeZoom(deltaX,deltaY,zoomLevel);wcs.setWorldPixelBound(myself.tilesPanel.viewPort.width,myself.tilesPanel.viewPort.height);
myself.updatePositionForAllOverlayObjects();var offSetX=Math.floor(RMConfig.TILE_WIDTH/2)-wcs.originTile.originPoint_XPixelOffset;var offSetY=Math.floor(RMConfig.TILE_HEIGHT/2)-wcs.originTile.originPoint_YPixelOffset;myself.tilesPanel.moveToViewportCenter();myself.tilesPanel.movePanel(offSetX,offSetY,false);if(myself._routeResult)myself.displayRouteRibbon(myself._routeResult,zoomLevel);getCEM().fireEvent(RMEvent.Zoom.COMPLETE,mapId,params)}
function RMMap_getPixelSize(){var viewportWidth;var viewportHeight;if(this.tilesPanel){viewportWidth=this.tilesPanel.viewPort.width;viewportHeight=this.tilesPanel.viewPort.height}else{viewportWidth=this._container.style.width;viewportHeight=this._container.style.height}return[viewportWidth,viewportHeight]}
function RMMap_getZoomToFitBBox(bbox){var currentVPCenterLatLong=this.tilesPanel.getViewportCenterLL();var currentVPCenterXPixelPoint=this._WCS.LatLonToPixels(currentVPCenterLatLong);var bboxCenterX=(bbox.minX+bbox.maxX)/2;var bboxCenterY=(bbox.minY+bbox.maxY)/2;var bboxCenterLatLong=new LatLong(bboxCenterY,bboxCenterX);var bboxCenterXPixelPoint=this._WCS.LatLonToPixels(bboxCenterLatLong);var panPixelsX=0+bboxCenterXPixelPoint.x-currentVPCenterXPixelPoint.x;var panPixelsY=0+bboxCenterXPixelPoint.y-
currentVPCenterXPixelPoint.y;function virtualPan(i_panPixelsX,i_panPixelsY,tilesPanel,worldCoordSystem){var topLeftX=-1*parseInt(tilesPanel.oDivTilesPanel.style.left,10);var topLeftY=-1*parseInt(tilesPanel.oDivTilesPanel.style.top,10);var bottomRightX=topLeftX+parseInt(tilesPanel.viewPort.divElement.style.width,10);var bottomRightY=topLeftY+parseInt(tilesPanel.viewPort.divElement.style.height,10);topLeftX+=i_panPixelsX;topLeftY+=i_panPixelsY;bottomRightX+=i_panPixelsX;bottomRightY+=i_panPixelsY;var wcsOrigTile=
worldCoordSystem.originTile;topLeftX-=wcsOrigTile.originPoint_XPixelOffset;topLeftY-=wcsOrigTile.originPoint_YPixelOffset;bottomRightX-=wcsOrigTile.originPoint_XPixelOffset;bottomRightY-=wcsOrigTile.originPoint_YPixelOffset;var topLeftLL=worldCoordSystem.PixelToLatLon(topLeftX,topLeftY);var bottomRightLL=worldCoordSystem.PixelToLatLon(bottomRightX,bottomRightY);return new RMLatLongBound(topLeftLL.lon,bottomRightLL.lat,bottomRightLL.lon,topLeftLL.lat)}function virtualZoom(zoomIn,oldViewportLLBound){var bbWidth=
oldViewportLLBound.maxX-oldViewportLLBound.minX;var bbHeight=oldViewportLLBound.maxY-oldViewportLLBound.minY;var centerX=(oldViewportLLBound.maxX+oldViewportLLBound.minX)/2;var centerY=(oldViewportLLBound.maxY+oldViewportLLBound.minY)/2;var distToCenterX=bbWidth/2;var distToCenterY=bbHeight/2;if(zoomIn){distToCenterX/=2;distToCenterY/=2}else{distToCenterX*=2;distToCenterY*=2}var newVPBound=new RMLatLongBound;newVPBound.minX=centerX-distToCenterX;newVPBound.maxX=centerX+distToCenterX;newVPBound.minY=
centerY-distToCenterY;newVPBound.maxY=centerY+distToCenterY;return newVPBound}var virtualViewportLLBound=virtualPan(panPixelsX,panPixelsY,this.tilesPanel,this._WCS);var virtualIsLarger=virtualViewportLLBound.isLargerThan(bbox);var curZoom=this._WCS.getCurrentZoom();while(virtualIsLarger){curZoom++;virtualViewportLLBound=virtualZoom(true,virtualViewportLLBound);virtualIsLarger=virtualViewportLLBound.isLargerThan(bbox)}while(!virtualIsLarger){curZoom--;virtualViewportLLBound=virtualZoom(false,virtualViewportLLBound);
virtualIsLarger=virtualViewportLLBound.isLargerThan(bbox)}return curZoom}
function RMMap_getMileSize(){var wcs=this._WCS;var latLonBound=this.tilesPanel.getViewportLLBound();var midX=(latLonBound.minX+latLonBound.maxX)/2;var midY=(latLonBound.minY+latLonBound.maxY)/2;var distanceKmHorizontal=wcs.computeLatLongDistanceKm(new LatLong(latLonBound.minX,midY),new LatLong(latLonBound.maxX,midY));var distanceKmVertical=wcs.computeLatLongDistanceKm(new LatLong(midX,latLonBound.minY),new LatLong(midX,latLonBound.maxY));var distanceMilesHorizontal=RandMcNally.Util.kmToMiles(distanceKmHorizontal);
var distanceMilesVertical=RandMcNally.Util.kmToMiles(distanceKmVertical);return{X:distanceMilesHorizontal,Y:distanceMilesVertical}}
function RMMap_displayWaitingWindow(type,params,myself){myself=myMap1;if(!this._trasparentLayer){this._progressLayer=RMUtils.createDOMElement("div");this._progressLayer.id="viewPortProgressLayer";var viewPortTransparentLayer=RMUtils.createDOMElement("div");viewPortTransparentLayer.id="viewPortTransparentLayer";this._messageBox=RMUtils.createDOMElement("div");this._messageBox.id="viewPortTransparentLayerMessageBox";this._progressLayer.appendChild(viewPortTransparentLayer);this._progressLayer.appendChild(this._messageBox)}if(params&&
params.message&&params.message.length>0)this._messageBox.innerHTML="Message";if(!RMUtils.getEl("viewPortProgressLayer"))myself._container.appendChild(this._progressLayer);else;}
function disableContainer(containerID,disable){var containerEl=RMUtils.getEl(containerID);if(disable){var transparentLayer=RMUtils.createDOMElement("div");transparentLayer.id="transparentLayer";var parentWidth=YAHOO.util.Dom.getStyle(containerEl,"width");var parentHeight=YAHOO.util.Dom.getStyle(containerEl,"height");YAHOO.util.Dom.setStyle(transparentLayer,"width",parentWidth);YAHOO.util.Dom.setStyle(transparentLayer,"height",parentHeight);containerEl.appendChild(transparentLayer)}else containerEl.removeChild(RMUtils.getEl("transparentLayer"))}
function RMMap_removeWaitingWindow(type,params,myself){myself=myMap1;if(RMUtils.getEl("viewPortProgressLayer"))myself._container.removeChild(RMUtils.getEl("viewPortProgressLayer"))}
function RMMap_progressiveRouteRibbonRequest(type,params,myself){if(!myself._maneuverResult)return;var clipAreaBB=myself._maneuverResult.inputBounds;var topLeftCorner=myself._WCS.MercatorPixelToTilesPanelPixel(new XPixelPoint(clipAreaBB.left,clipAreaBB.top));var bottomRightCorner=myself._WCS.MercatorPixelToTilesPanelPixel(new XPixelPoint(clipAreaBB.right,clipAreaBB.bottom));var viewPortBB=myself.tilesPanel.getViewportPixelBound();var resultBB=myself._maneuverResult.resultBounds;var resultTopLeftCorner=
myself._WCS.MercatorPixelToTilesPanelPixel(new XPixelPoint(resultBB.left,resultBB.top));var resultBottomRightCorner=myself._WCS.MercatorPixelToTilesPanelPixel(new XPixelPoint(resultBB.right,resultBB.bottom));if(viewPortBB.minX>=topLeftCorner.x&&viewPortBB.minY>=topLeftCorner.y&&viewPortBB.maxX<=bottomRightCorner.x&&viewPortBB.maxY<=bottomRightCorner.y)return;RMUtils.log("WE ARE OUT OF BOUNDARY");myself.removeOverlayObjects("RMPolyline");var routeList=myself._routeResult.route;viewPortBB=null;viewPortBB=
myself.tilesPanel.getViewportLLBound();var cbFunction=function(o){myself._displayRouteRibbonCallBackFunc(o)};for(var routeIndex in routeList){var wcs=myself._WCS;var zoom=wcs.convertToMapEngineZoomLevel(wcs.getCurrentZoom());MAP_ENGINE.getRouteRibbon(routeList[routeIndex].spid,zoom,ROUTERIBBON_RADIUS,viewPortBB.minY+","+viewPortBB.minX,viewPortBB.maxY+","+viewPortBB.maxX,cbFunction)}}
function RMMap_displayRouteRibbon(routeResult,zomLevel){var rrObject=routeResult.route;var mapEngineZoomLevel=this._WCS.convertToMapEngineZoomLevel(zomLevel);this._routeResult=routeResult;var route=null;var manuever=null;var myself=this;var viewPortBB=this.tilesPanel.getViewportLLBound();var cbFunction=function(o){myself._displayRouteRibbonCallBackFunc(o)};for(route in rrObject)MAP_ENGINE.getRouteRibbon(rrObject[route].spid,mapEngineZoomLevel,ROUTERIBBON_RADIUS,viewPortBB.minY+","+viewPortBB.minX,
viewPortBB.maxY+","+viewPortBB.maxX,cbFunction,myself)}
function RMMap_displayRouteRibbonCallBackFunc(maneuverResult){if(maneuverResult.spid){if(maneuverResult.zoom){var mapControlZoomLevel=this._WCS.convertToMapControlZoomLevel(maneuverResult.zoom);if(mapControlZoomLevel!=this._WCS.getCurrentZoom())return}this._maneuverResult=maneuverResult;var inputBounds=maneuverResult.inputBounds;var resultBounds=maneuverResult.resultBounds;var maneuverIndex;var worldCoordSystem=this._WCS;var convertedPixel=this._WCS.MercatorPixelToTilesPanelPixel(new XPixelPoint(resultBounds.left,resultBounds.top));
var clipAreaBB=inputBounds;var topLeftCorner=this._WCS.MercatorPixelToTilesPanelPixel(new XPixelPoint(clipAreaBB.left,clipAreaBB.top));var bottomRightCorner=this._WCS.MercatorPixelToTilesPanelPixel(new XPixelPoint(clipAreaBB.right,clipAreaBB.bottom));var resultTopLeft=this._WCS.MercatorPixelToTilesPanelPixel(new XPixelPoint(resultBounds.left,resultBounds.top));var resultBottomRight=this._WCS.MercatorPixelToTilesPanelPixel(new XPixelPoint(resultBounds.right,resultBounds.bottom));var polyWidth=resultBottomRight.x-
resultTopLeft.x;var polyHeight=resultBottomRight.y-resultTopLeft.y;var ribbonStyle={width:ROUTE_RIBBON_WIDTH,color:ROUTE_RIBBON_COLOR,opacity:ROUTE_RIBBON_OPACITY};if(!maneuverResult.lines[0])return;var overlay=new RMPolyline(maneuverResult.spid,maneuverResult.lines,this._WCS,convertedPixel,polyWidth,polyHeight,ribbonStyle);this.addOverlayObject(overlay);if(YAHOO.env.ua.ie&&BrowserDetect.version>=8){var k=overlay;setTimeout(function(){k._container.outerHTML=k._container.outerHTML},1)}}else;}
function RMMap_showCategoryPOIIcons(bShow){this._bShowCategoryPOIIcons=bShow}
RMMap.prototype.debug_AddBox=function(id,borderColor,backgroundColor,left,top,width,height){var object=document.getElementById(id);if(!object){object=RMUtils.createDOMElement("div","html");object.id=id;object.style.position="absolute";object.style.opacity=0.3;object.style.zIndex=10;this.tilesPanel.addOverlayObject(object)}object.style.border="solid "+borderColor;object.style.backgroundColor=backgroundColor;object.style.left=left+"px";object.style.top=top+"px";object.style.width=width+"px";object.style.height=
height+"px"};function RMMap_getCurrentAddress(){return this._currentAddress}
function RMMap_scrollForVisibility(latLonPoint,xPixelsMarginLeft,xPixelsMarginRight,yPixelsMarginTop,yPixelsMarginBottom){var app=deCarta.App;var map=app.map;var pinMercPix=map.posToMercPix(latLonPoint);var newMinMercPix=new PixelPoint(pinMercPix.x+xPixelsMarginLeft,pinMercPix.y+yPixelsMarginBottom);var newMaxMercPix=new PixelPoint(pinMercPix.x+xPixelsMarginRight,pinMercPix.y+yPixelsMarginTop);var newMinPosition=map.mercPixToPos(newMinMercPix);var newMaxPosition=map.mercPixToPos(newMaxMercPix);var newBoundingBox=
new BoundingBox(newMinPosition,newMaxPosition);var newPosition=newBoundingBox.getCenterPosition();map.panToPosition(newPosition)}
function RMMap_showStepMap(maneuverSPImageUrl,maneuverLLPoint,maneuverInstruction,pos,maneuvers,bIsFirstRoute){var img=RMUtils.createDOMElement("img");img.alt="Loading...";img.height=STEP_MAP_HEIGHT;img.width=STEP_MAP_WIDTH;img.src=maneuverSPImageUrl;var p=RMUtils.createDOMElement("p");p.appendChild(document.createTextNode(maneuverInstruction));var span=RMUtils.createDOMElement("span");span.appendChild(img);span.appendChild(p);if(maneuvers){var loop=function(index,text){var m=maneuvers[bIsFirstRoute?
index:index-1];if(!m)return"continue";el=RMUtils.createDOMElement("a");el.appendChild(document.createTextNode(text));YAHOO.util.Event.addListener(el,"click",function(e,arg){if(IS_PRINT_PREVIEW==false){var stepNum=arg.stepNum;var maneuver=arg.maneuver;var instr=maneuver.Instruction;instr=stepNum+". "+instr;RMMap_showStepMap(maneuver.maneuverMap.URL,maneuver.position,instr,stepNum,maneuvers,bIsFirstRoute)}},{maneuver:m,stepNum:index},this);return el};var next=null,prev=null,index;for(index=pos+1;index<
maneuvers.length;index++){next=loop.call(this,index,"Next");if(next=="continue"){next=null;continue}else break}for(index=pos-1;index>0;index--){prev=loop.call(this,index,"Previous");if(prev=="continue"){prev=null;continue}else break}if(prev||next){var buttons=RMUtils.createDOMElement("div");YAHOO.util.Dom.addClass(buttons,"nextprev");YAHOO.util.Dom.setStyle(buttons,"overflow","hidden");if(prev){var div=RMUtils.createDOMElement("div");YAHOO.util.Dom.addClass(div,"sm_next");div.appendChild(prev);buttons.appendChild(div)}if(next){var div=
RMUtils.createDOMElement("div");YAHOO.util.Dom.addClass(div,"sm_prev");div.appendChild(next);buttons.appendChild(div)}span.appendChild(buttons)}}if(!deCarta.App.RMStepMapInfoWindow){deCarta.App.RMStepMapInfoWindow=new RMInfoWindow(deCarta.App.map.mapId+"_step_bot",null);YAHOO.util.Dom.addClass(deCarta.App.RMStepMapInfoWindow._container,"step_bot");rmAddOverlayObject(deCarta.App.RMStepMapInfoWindow);getCEM().subscribeEvent(RMEvent.Zoom.COMPLETE,deCarta.App.map.mapId,function(){console.log("Zoom.COMPLETE [RMMap.js: (1)]");
if(deCarta.App.RMStepMapInfoWindow&&deCarta.App.RMStepMapInfoWindow.visible)deCarta.App.RMStepMapInfoWindow.updatePosition()},this)}deCarta.App.RMStepMapInfoWindow.setContentNode(span);deCarta.App.RMStepMapInfoWindow.setLocation(maneuverLLPoint);deCarta.App.RMStepMapInfoWindow.setVisible(true,"STEP_MAP");var pixelPointRelativeBox=deCarta.App.RMStepMapInfoWindow.getBoundingBox();RMMap_scrollForVisibility(maneuverLLPoint,pixelPointRelativeBox.left,pixelPointRelativeBox.right,pixelPointRelativeBox.top,
pixelPointRelativeBox.bottom)}
function RMMap_showInlineStepMap(maneuverSPImageUrl,segmentID,stepNum){var sStepMapHTML='<img alt="Loading..." height="'+STEP_MAP_PRINT_HEIGHT+'" width="'+STEP_MAP_PRINT_WIDTH+'" src="'+maneuverSPImageUrl+'">';var sLinkContainer=segmentID+"_step_link_"+stepNum;var sMapContainer=segmentID+"_step_link_map_"+stepNum;var objMapContainer=RMUtils.getEl(sMapContainer);var objLinkContainer=RMUtils.getEl(sLinkContainer);objMapContainer.innerHTML=sStepMapHTML;objLinkContainer.innerHTML="Hide Step Map";YAHOO.util.Event.removeListener(sLinkContainer,
"click");YAHOO.util.Event.addListener(sLinkContainer,"click",function(e,arg){objMapContainer.innerHTML="";objLinkContainer.innerHTML="Show Step Map";YAHOO.util.Event.removeListener(sLinkContainer,"click");YAHOO.util.Event.addListener(sLinkContainer,"click",function(e,arg){RMMap_showInlineStepMap(maneuverSPImageUrl,segmentID,stepNum)})},"",this)}
function RMMap_buildInlineStepMap(maneuverSPImageUrl,segmentID,stepNum){var sStepMapHTML='<img alt="Loading..." height="'+STEP_MAP_PRINT_HEIGHT+'" width="'+STEP_MAP_PRINT_WIDTH+'" src="'+maneuverSPImageUrl+'">';return sStepMapHTML}
function RMMap_getInfoWindow(){if(!this._infoWindow){this._infoWindow=new RMInfoWindow(mapId+"_step_bot",this._WCS);YAHOO.util.Dom.addClass(this._infoWindow._container,"step_bot");this._infoWindow.setVisible(false);this.addOverlayObject(this._infoWindow)}return this._infoWindow}function RMMap_getWCS(){return this._WCS}
function RMMap(containerID){this._tilePort=0;this._nTotalBrowserMarginHoz=0;this._nTotalBrowserMarginVer=0;this._infoWindow=null;this._sCurrentCopyright="&copy; Rand McNally";this._currentAddress=null;this._bShowCategoryPOIIcons=true;this._WCS=new WorldCoordSystem;this.loadMap=RMMap_loadMap;this.fitExtentWithinViewport=RMMap_fitExtentWithinViewport;this.setTilePort=RMMap_setTilePort;this.resizeViewportWithBrowserWindow=RMMAP_resizeViewportWithBrowserWindow;this.setMapControlSizeMinMax=RMMap_setMapControlSizeMinMax;
this.addEventListener=RMMAP_addEventListener;this.refreshTiles=RMMap_refreshTiles;this.pan=RMMap_pan;this.panToNewCenterLL=RMMap_panToNewCenterLL;this.setZoomLevel=RMMap_setZoomLevel;this.addOverlayObject=RMMap_addOverlayObject;this.removeOverlayObject=RMMap_removeOverlayObject;this.removeOverlayObjectByID=RMMap_removeOverlayObjectByID;this.removeAllOverlayObjects=RMMap_removeAllOverlayObjects;this.removeOverlayObjects=RMMap_removeOverlayObjects;this.getOverlayObject=RMMap_getOverlayObject;this.updatePositionForAllOverlayObjects=
RMMap_updatePositionForAllOverlayObjects;this.clearRoute=RMMap_clearRoute;this.clearPOIPlacemarks=RMMap_clearPOIPlacemarks;this.clearPOIsAndInfoWindow=RMMap_clearPOIsAndInfoWindow;this.clearStepMap=RMMap_clearStepMap;this.addZoomBar=RMMap_addZoomBar;this.addScaleBar=RMMap_addScaleBar;this.addCopyrightsBar=RMMap_addCopyrightsBar;this.addCustomControl=RMMap_addCustomControl;this.addPanControl=RMMap_addPanControl;this.removePanControl=RMMap_removePanControl;this.removeControl=RMMap_removeControl;this.setDraggable=
RMMap_setDraggable;this.zoomIn=RMMap_zoomIn;this.zoomOut=RMMap_zoomOut;this.setVisible=RMMap_setVisible;this.setMapType=RMMap_setMapType;this.saveMapState=RMMap_saveMapState;this.getMapState=RMMap_getMapState;this.setTileDimension=RMMap_setTileDimension;this.setViewportSize=RMMap_setViewportSize;this.setViewportSizeTo100Percent=RMMap_setViewportSizeTo100Percent;this.expandLeft=RMMap_expandLeft;this._panMap=RMMap_panMap;this.displayPlaceMark=RMMap_displayPlaceMark;this.displayPlaceMark_POI=RMMap_displayPlaceMark_POI;
this.handlePOIClick=RMMap_handlePOIClick;this.displayPlaceMarkForLatLon=RMMap_displayPlaceMarkForLatLon;this.showInfoWindowForLatLon=RMMap_showInfoWindowForLatLon;this.getMarkerTypeForCategory=RMMap_getMarkerTypeForCategory;this.getZoomToFitBBox=RMMap_getZoomToFitBBox;this.getMileSize=RMMap_getMileSize;this.getPixelSize=RMMap_getPixelSize;this.displayWaitingWindow=RMMap_displayWaitingWindow;this.removeWaitingWindow=RMMap_removeWaitingWindow;this.updateCopyRight=RMMap_updateCopyRight;this.getCurrentAddress=
RMMap_getCurrentAddress;this.scrollForVisibility=RMMap_scrollForVisibility;this.showStepMap=RMMap_showStepMap;this.showInlineStepMap=RMMap_showInlineStepMap;this.buildInlineStepMap=RMMap_buildInlineStepMap;this.getInfoWindow=RMMap_getInfoWindow;this.displayRouteRibbon=RMMap_displayRouteRibbon;this.showCategoryPOIIcons=RMMap_showCategoryPOIIcons;this.getWCS=RMMap_getWCS;this._displayRouteRibbonCallBackFunc=RMMap_displayRouteRibbonCallBackFunc;this._adjustScaleBar=RMMap_adjustScaleBar;this._progressiveRouteRibbonRequest=
RMMap_progressiveRouteRibbonRequest;this._onZoomReadyHandler=RMMap_onZoomReadyHandler;this._onZoomInProgressHandler=RMMap_onZoomInProgressHandler;this._onWindowResize=RMMap_onWindowResize;this._init(containerID)}RMMap.prototype.pixelCenterPoint=null;RMMap.prototype.mercatorCenterPoint=null;RMMap.prototype._isDraggable=null;RMMap.prototype.mapHeight=null;RMMap.prototype.mapWidth=null;RMMap.prototype.tileHeight=null;RMMap.prototype.tileWidth=null;RMMap.prototype._isVisible=null;
RMMap.prototype.mapType=null;RMMap.prototype._container=null;RMMap.prototype.mapId=null;RMMap.prototype.panelId=null;RMMap.prototype.tilesPanel=null;RMMap.prototype.initZoomLevel=INIT_ZOOM_LEVEL;RMMap.prototype._controls=[];RMMap.prototype._overlays=null;RMMap.prototype._maneuverResult=null;RMMap.prototype._routeResult=null;RMUtils.includeCSS(BASE_PATH_CSS+"/skins/custom-rand-skin.css");function RMPanel(){this._field1="RMPanel";this._sourceFile="RMPanels.js";this.id=null;this._container=null;this._map=null;this.setCollapsed=RMPanel_setCollapsed;this.setVisible=RMPanel_setVisible;this.isVisible=RMPanel_isVisible;this.getID=RMPanel_getID;this.setMap=RMPanel_setMap;this.getPosition=RMPanel_getPosition;this.setPosition=RMPanel_setPosition}RMPanel.prototype._init=function(container){this.id=container.id;this._container=container};
RMPanel.prototype.id=null;RMPanel.prototype._header=null;RMPanel.prototype._body=null;RMPanel.prototype._footer=null;RMPanel.prototype._map=null;RMPanel.prototype._container=null;function RMPanel_setCollapsed(isCollapsed){}function RMPanel_isVisible(){return this._container.style.display!="none"}function RMPanel_setVisible(isVisible){this._container.style.display=isVisible?"block":"none"}function RMPanel_getID(){}function RMPanel_setMap(mapObject){this._map=mapObject}
function RMPanel_getPosition(){var left=parseInt(YAHOO.util.Dom.getStyle(this._container,"left"),10);var top=parseInt(YAHOO.util.Dom.getStyle(this._container,"top"),10);return new XPixelPoint(left,top)}function RMPanel_setPosition(pixelPos){YAHOO.util.Dom.setStyle(this._container,"left",pixelPos.x+"px");YAHOO.util.Dom.setStyle(this._container,"top",pixelPos.y+"px")}
function POIPanel(containerID){this._field1="POIPanel";this._sourceFile="RMPanels.js";this.performSearch=RMPanel_POIPanel_performSearch;this.queryServer=RMPanel_POIPanel_queryServer;this.setPageLimit=RMPanel_POIPanel_setPageLimit;this.setDisplayRowPerPageLimit=RMPanel_POIPanel_setDisplayRowPerPageLimit;this.setForm=RMPanel_POIPanel_setForm;this.poiDisplay=RMPanel_POIPanel_display;this.loadMap=RMPanel_POIPanel_loadMap;this.setAddress=RMPanel_POIPanel_setAddress;this.setMapLocale=RMPanel_POIPanel_setMapLocale;
this.isGeocodingActive=RMPanel_POIPanel_isGeocodingActive;this.addToRoute=RMPanel_POIPanel_addToRoute;this.showPanel=RMPanel_AdvancedOptionsPanel_showPanel;this.saveAdvancedOptions=RMPanel_AdvancedOptionsPanel_saveAdvancedOptions;this.readOptionsFromPanel=RMPanel_AdvancedOptionsPanel_readOptionsFromPanel;this.initializeAdvancedOptionsPanel=RMPanel_AdvancedOptionsPanel_initializeAdvancedOptionsPanel;this.queryCategory=RMPanel_POIPanel_queryCategory;this.setSearchText=RMPanel_POIPanel_setSearchText;
this.disablePanels=RMPanel_POIPanel_disablePanels;this.enablePanels=RMPanel_POIPanel_enablePanels;this.reportError=RMPanel_POIPanel_reportError;this.setMap=RMPanel_POIPanel_setMap;this.listPOIResults=RMPanel_POIPanel_listPOIResults;this._init(containerID);this._cacheList=false;this._savedAddressesPanel=null;this._inputbox=null;this._mapLocaleSel=null;this._inputSearchTextbox=null;this._newlySelectedCategory=null;this._prevSelectedCategory=null;this._region=null;this._totalCount=null;this._addressID=
null;this._geocodedAddress=null}POIPanel.prototype.poiResults=null;POIPanel.prototype=new RMPanel;POIPanel.prototype.constructor=POIPanel;POIPanel.superclass=RMPanel.prototype;POIPanel.prototype._init=function(containerID){var container=document.getElementById(containerID);POIPanel.superclass._init.call(this,container)};
function RMPanel_POIPanel_setMap(map){getCEM().subscribeEvent(RMEvent.Service.READY,mapId,this.disablePanels,this);getCEM().subscribeEvent(RMEvent.Service.COMPLETE,mapId,this.enablePanels,this);POIPanel.prototype.setMap.call(this,map)}function RMPanel_POIPanel_disablePanels(type,params,myself){disableClick(RMUtils.getEl("maps_dir_content"),true);disableClick(RMUtils.getEl("maps_dir_footer"),true);disableClick(RMUtils.getEl("find_place_content"),true);disableClick(RMUtils.getEl("toolbar"),true)}
function RMPanel_POIPanel_enablePanels(type,params,myself){disableClick(RMUtils.getEl("maps_dir_content"),false);disableClick(RMUtils.getEl("maps_dir_footer"),false);disableClick(RMUtils.getEl("find_place_content"),false);disableClick(RMUtils.getEl("toolbar"),false)}function stopEventFn(e){YAHOO.util.Event.stopEvent(e)}
function disableClick(el,disabled){try{if(el.id==undefined)throw"Skip element but not children";if(!this._eventLimbo)this._eventLimbo=new Array;var sNodeName=el.nodeName.toUpperCase();if(sNodeName=="DIV"&&(el.id.indexOf("_segment_content_collapse")>-1||el.id.indexOf("_segment_content_expand")>-1))throw"Skip element but not children";if(sNodeName=="A"||sNodeName=="FORM"||el.onclick!=undefined){if(el.onclick!=undefined){YAHOO.util.Event.addListener(el,"click",el.onclick);el.onclick=""}if(disabled){var sEventType=
sNodeName=="FORM"?"submit":"click";var listeners=YAHOO.util.Event.getListeners(el,sEventType);if(listeners==null){sEventType="mouseup";listeners=YAHOO.util.Event.getListeners(el,sEventType)}if(listeners&&listeners.length>0&&el.id!=""){this._eventLimbo[el.id]=listeners;YAHOO.util.Event.removeListener(el,sEventType)}YAHOO.util.Event.addListener(el,"click",stopEventFn)}else{YAHOO.util.Event.removeListener(el,"click",stopEventFn);if(el.id){var listeners=this._eventLimbo[el.id];if(listeners)for(var i=
0;i<listeners.length;++i){var listener=listeners[i];YAHOO.util.Event.addListener(el,listener.type,listener.fn,listener.obj,listener.adjust)}delete this._eventLimbo[el.id]}}}}catch(E){if(E.indexOf("Skip element but not children")==-1){alert(" error "+E);return}}if(el.childNodes&&el.childNodes.length>0)for(var x=0;x<el.childNodes.length;x++)disableClick(el.childNodes[x],disabled)}function RMPanel_POIPanel_setDisplayRowPerPageLimit(maxNumberOfRow){this.maxNumberOfRow=maxNumberOfRow}
function RMPanel_POIPanel_setPageLimit(maxNumberOfPage){}function RMPanel_POIPanel_setAddress(address){if(typeof address=="RMAddress")this._inputbox.value=RMUtils.prepareName(address,false);else if(typeof address=="string"){var arr=address.split("|");address=arr[0];this._inputbox.value=address}this._inputbox.focus()}
function RMPanel_POIPanel_setMapLocale(object){if(typeof object=="RMAddress")this._mapLocaleSel.value=object.mapLocale;else if(typeof object=="string")if(object.charAt(object.length-2)=="|"){var mapLocale="US-EN";var arr=object.split("|");if(null!=arr&&arr.length>1)if(arr[1]=="US")mapLocale="US-EN";else if(arr[1]=="CA")mapLocale="CA-EN";else if(arr[1]=="MX")mapLocale="MX-EN";this._mapLocaleSel.value=mapLocale}else this._mapLocaleSel.value=object;console.exception("*** DEBUG ***")}
function RMPanel_POIPanel_setSearchText(text){this._inputSearchTextbox.value=text;this._inputSearchTextbox.focus()}function RMPanel_POIPanel_isGeocodingActive(){return false}var globalPOIPanel;var isSearchPOI=false;
function RMPanel_POIPanel_setForm(form){globalPOIPanel=this;var formEl=RMUtils.getEl(form);this._form=formEl;YAHOO.util.Event.addListener(formEl,"submit",this.queryServer,null,this);YAHOO.util.Event.addListener("change_place_category_search","mouseup",this.queryCategory,null,this);YAHOO.util.Event.addListener("place_category_search","mouseup",this.queryCategory,null,this);YAHOO.util.Event.addListener("showAdvancedOptionsPanel","mouseup",this.showPanel,null,this);YAHOO.util.Event.addListener("saveAdvancedOptions",
"click",this.saveAdvancedOptions,null,this);this._savedAddressesPanel=new SavedAddressesPanel("addresses",this);this._savedAddressesPanel.loadAddressesFromCookie();this._inputSearchTextbox=YAHOO.util.Selector.query("input[name=txtPlace]",formEl.id,true);YAHOO.util.Event.addListener(this._inputSearchTextbox,"keyup",function(e){if(e.keyCode!=13)hidePanel("error")});this._inputbox=YAHOO.util.Selector.query("input[name=txtPlaceAddress]",formEl.id,true);this._mapLocaleSel=YAHOO.util.Selector.query("select[name=selMapLocale]",
formEl.id,true);YAHOO.util.Event.addListener(this._inputbox,"keyup",function(e){if(e.keyCode!=13)hidePanel("error")});this._region=YAHOO.util.Dom.getRegion("place_search_header");this._newlySelectedCategory=YAHOO.util.Selector.query("input[name=hdnNewlySelectedCategory]",formEl.id,true);this._prevSelectedCategory=YAHOO.util.Selector.query("input[name=hdnPrevSelectedCategory]",formEl.id,true);this.initializeAdvancedOptionsPanel()}
function RMPanel_POIPanel_queryServer(e){var form;if(e)form=YAHOO.util.Event.getTarget(e);if(form==null)form=this._form;var hdnNewlySelectedCategory=RMUtils.getEl("hdnNewSelCat");var hdnPrevSelectedCategory=RMUtils.getEl("hdnPrevSelCat");hdnPrevSelectedCategory.value=hdnNewlySelectedCategory.value;var hdnSearchText=RMUtils.getEl("hdnSearchTxt");hdnSearchText.value=this._inputSearchTextbox.value;var hdnSearchLoc=RMUtils.getEl("hdnSearchLoc");hdnSearchLoc.value=this._inputbox.value;this.performSearch(form.id,
0,false,null,null);return false}function RMPanel_POIPanel_reportError(errMsg){scrollTab(this._region);var errorTip=new RMErrorWindow("error",this._region.left+285,this._region.top,errMsg)}
function RMPanel_POIPanel_listPOIResults(POIResultJSON,sSearchText,sSearchCategory,searchLoc,isLocationSearch,pageNum,multipleAddr){var poiSearchContent;var errMsg;var errorTip;var poiPaging;if(POIResultJSON.code==0)if(POIResultJSON.poi.length>0){if(POIResultJSON.count!=0)this._totalCount=POIResultJSON.count;var centerpoint=null;if(isLocationSearch){if(!multipleAddr){addAddressToCacheOrPanel(this,POIResultJSON.geocodedLocation,false);directionPanel.arrayOfAddresses=[];directionPanel.arrayOfAddresses[0]=
this._geocodedAddress}centerpoint=new LatLong((POIResultJSON.boundingBox.minLat+POIResultJSON.boundingBox.maxLat)/2,(POIResultJSON.boundingBox.minLong+POIResultJSON.boundingBox.maxLong)/2)}this.poiDisplay("place_search_content","place_paging",POIResultJSON.poi,centerpoint,pageNum);isSearchPOI=true;poiSearchContent=RMUtils.getEl("place_search_content");poiSearchContent.style.display="block"}else{this._totalCount=0;poiSearchContent=RMUtils.getEl("place_search_content");poiSearchContent.innerHTML="";
poiSearchContent.style.display="none";poiPaging=RMUtils.getEl("place_paging");poiPaging.innerHTML="";showLabel(poiPaging,sDefaultAddress);showLabel(poiSearchContent,sDefaultFindPlace);this.reportError(RMResources.POI_NOT_FOUND)}else{this._totalCount=0;if(POIResultJSON.code==1&&sSearchText!=null&&sSearchText.trim()!="")this.reportError(RMResources.POI_NOT_FOUND);else if(POIResultJSON.code===206)this.reportError(RMResources.GEOCODE_NO_STATE_INPUT_ERROR);else if(POIResultJSON.code===205)this.reportError(RMResources.GEOCODE_ADDRESS_NOT_FOUND);
else if(POIResultJSON.code==601)singleLineBox.renderMultipleAddressBaloon(POIResultJSON.details.addressList,"poi",0,"place_search_header");else this.reportError(POIResultJSON.message);poiSearchContent=RMUtils.getEl("place_search_content");poiSearchContent.innerHTML="";poiSearchContent.style.display="none";poiPaging=RMUtils.getEl("place_paging");poiPaging.innerHTML="";showLabel(poiPaging,sDefaultAddress);showLabel(poiSearchContent,sDefaultFindPlace);isSearchPOI=false}}
function RMPanel_POIPanel_performSearch(id,pos,multipleAddr,lat,lon){this._region=YAHOO.util.Dom.getRegion("place_search_header");var isSearchStringEmpty=false;if(isTextBoxEmpty(this._inputSearchTextbox)){isSearchStringEmpty=true;if(!this._prevSelectedCategory.value){if(false){var errMsg=RMResources.POI_MISSING_SEARCH_STRING;var myregion=this._region;setTimeout(function(){scrollTab(myregion);var errorTip=new RMErrorWindow("error",myregion.left+115,myregion.top+10,errMsg)},1);showLabel(this._inputbox,
sDefaultAddress);showLabel(this._inputSearchTextbox,sDefaultFindPlace);getCEM().fireEvent(RMEvent.Service.COMPLETE,mapId)}var oAddress=this._inputbox.value;var oMapLocale=this._mapLocaleSel.value;setValueToField(singleLineBox._inputbox,oAddress);setValueToField(singleLineBox._mapLocaleSel,oMapLocale);setValueToField(this._inputbox,oAddress);setValueToField(this._mapLocaleSel,oMapLocale);singleLineBox.doGeocodeHandler();return}}var searchLoc;var locationSearch=false;if(this._geocodedAddress!=null)if(this._geocodedAddress.inputText!=
this._inputbox.value.replace(/^\s+|\s+$/g,"")){ADDRESS_CACHE.remove(this._addressID);this._geocodedAddress=null;this._addressID=null}addAddressToCacheOrPanel(this,null,false);if(this._addressID!=null){searchLoc=ADDRESS_CACHE.get(this._addressID);locationSearch=true}else if(!isTextBoxEmpty(this._inputbox)){searchLoc=new RMAddress("","","","","","","",this._inputbox.value,this._mapLocaleSel.value);locationSearch=true}var searchText=null;if(!isTextBoxEmpty(this._inputSearchTextbox))searchText=this._inputSearchTextbox.value;
directionPanel._map.clearPOIsAndInfoWindow();var rmMapController=new RMMapController(this._map);rmMapController.POISearch(searchText,this._prevSelectedCategory.value,searchLoc,locationSearch,pos,this);refreshAds()}function setValueToField(pField,pValue){if(pField!=null){pField.value=pValue;pField.className=pField.className.replace(" default_text","");pField.className=pField.className.replace("default_text","")}}
function RMPanel_POIPanel_loadMap(address,multipleAddr,zoom){console.log("***** RMPanels.RMPanel_POIPanel_loadMap ***");var ZOOM_UNDEFINED=99;var mapZoom=ZOOM_UNDEFINED;if(multipleAddr){directionPanel.arrayOfAddresses=[];directionPanel.arrayOfAddresses[0]=globalPOIPanel._geocodedAddress;globalPOIPanel.performSearch("poiform",0,multipleAddr,address.lat,address.lon);hidePanel("error");return}var locRMAddr=RMUtils.createRMAddresses(address);var precision=address.precision;if(zoom)mapZoom=zoom;if(typeof precision!==
"undefined"&&precision!==""&&precision>0&&precision<8)mapZoom=Math.min(mapZoom,ZOOM_PRECISION[precision]);if(mapZoom==ZOOM_UNDEFINED)mapZoom=INIT_ZOOM_LEVEL;globalPOIPanel._map.loadMap(locRMAddr[0],mapZoom,"")}
function callNextPrevPOI(control,pos,searchText){var hdnSearchText=RMUtils.getEl("hdnSearchTxt");var hdnSearchLoc=RMUtils.getEl("hdnSearchLoc");if(hdnSearchLoc.value!=control._inputbox.value){control._inputbox.value=hdnSearchLoc.value;YAHOO.util.Dom.removeClass(control._inputbox,"default_text");hidePanel("place_cats")}if(hdnSearchText.value!=control._inputSearchTextbox.value){control._inputSearchTextbox.value=hdnSearchText.value;YAHOO.util.Dom.removeClass(control._inputSearchTextbox,"default_text");
hidePanel("place_cats")}control.performSearch("poiform",pos)}
function saveSelectedCategory(selCat){if(selCat){var hdnSelectedCategory=RMUtils.getEl("hdnNewSelCat");hdnSelectedCategory.value=selCat;var selectedCat=RMUtils.getEl("selected_category");var selectedCatText=RMUtils.getEl("selected_category_text");selectedCatText.title=selCat;if(selCat.length>32)selCat=selCat.substring(0,42)+"...";selectedCatText.innerHTML="Search in "+selCat;selectedCat.style.display="block";var placeCat=RMUtils.getEl("place_category_search");placeCat.style.display="none";hidePanel("place_cats")}}
function clearCatSelection(){return;var hdnSelectedCategory=document.getElementById("hdnNewSelCat");hdnSelectedCategory.value="";var placeCat=returnElement("place_category_search");placeCat.style.display="block";var selectedCat=RMUtils.getEl("selected_category");selectedCat.style.display="none"}
function RMPanel_POIPanel_display(main_panel_name,paging_panel_name,poiList,centerpoint,startIndex){if(null!=poiList&&startIndex>=0){if(poiList.length==0){var errMsg=RMResources.POI_NOT_FOUND;var errorTip=new RMErrorWindow("error",285,490,errMsg);return}var count=poiList.length;var poiPanel=RMUtils.getEl(main_panel_name);while(poiPanel.firstChild)poiPanel.removeChild(poiPanel.firstChild);for(i=0;i<count&&i<10;i++){var poiString="";var distance=poiList[i].distance;if(typeof distance=="undefined"||
null==distance)distance="";else{if(null==distance||distance.length==0||distance=="0.0")distance=RandMcNally.Util.kmToMiles(this._map.getWCS().computeLatLongDistanceKm(centerpoint,new LatLong(poiList[i].lat,poiList[i].lon)));distance=RMUtils.formatDistance(RandMcNally.Util.kmToMiles(distance),"miles")}var poiDesc=RMUtils.prepareName(new RMAddress(poiList[i].street,poiList[i].city,poiList[i].state,"","","",null,"",""),false);var poiPhone=poiList[i].telephone;var aPoiDiv=RMUtils.createDOMElement("div",
"html");var poiNumber=RMUtils.createDOMElement("div");var poiAddress=RMUtils.createDOMElement("div");var poiName=RMUtils.createDOMElement("div");var poiDistance=RMUtils.createDOMElement("div");var poifooter=RMUtils.createDOMElement("div");var poiAdd=RMUtils.createDOMElement("div");var poiPhoneDiv=RMUtils.createDOMElement("div");YAHOO.util.Dom.addClass(aPoiDiv,"place");YAHOO.util.Dom.addClass(poiNumber,"place_number");YAHOO.util.Dom.addClass(poiAddress,"place_address");YAHOO.util.Dom.addClass(poiName,
"place_name");YAHOO.util.Dom.addClass(poiDistance,"place_distance");YAHOO.util.Dom.addClass(poifooter,"clear_float");YAHOO.util.Dom.addClass(poiAdd,"place_add_link");YAHOO.util.Dom.addClass(poiPhoneDiv,"place_phone");aPoiDiv.id="place_"+(i+1);poiNumber.innerHTML=parseInt(startIndex,10)+i+1;poiAddress.innerHTML=poiDesc;poiPhoneDiv.innerHTML=RMUtils.formatPhoneStr(poiPhone);if(poiList[i].poiname)poiName.innerHTML=poiList[i].poiname;else poiName.innerHTML=poiList[i].name;poiDistance.innerHTML=distance;
var poiAddToRouteLink=RMUtils.createDOMElement("a");YAHOO.util.Event.addListener(poiAddToRouteLink,"click",this.addToRoute,poiList[i],this);poiAdd.appendChild(poiAddToRouteLink);poiAddToRouteLink.href="javascript:noop();";poiAddToRouteLink.innerHTML="Add to Route";aPoiDiv.appendChild(poiNumber);aPoiDiv.appendChild(poiName);aPoiDiv.appendChild(poiAddress);aPoiDiv.appendChild(poiDistance);aPoiDiv.appendChild(poiPhoneDiv);aPoiDiv.appendChild(poiAdd);aPoiDiv.appendChild(poifooter);poiPanel.appendChild(aPoiDiv);
this._map.handlePOIClick(poiList[i],aPoiDiv,this.addToRoute)}var paging_panel=RMUtils.getEl(paging_panel_name);var child=paging_panel.firstChild;while(child){if(child.id)if(child.id.indexOf("poiPrev")>-1||child.id.indexOf("poiNext")>-1)YAHOO.util.Event.removeListener(child,"click");paging_panel.removeChild(child);child=paging_panel.firstChild}var elResultCount=RMUtils.createDOMElement("span");elResultCount.innerHTML="Showing results "+(startIndex+1)+" to "+(startIndex+i)+" out of "+this._totalCount+
"&nbsp;&nbsp;";var elPOIPrev;if(startIndex==0)elPOIPrev=RMUtils.createDOMElement("span");else if(startIndex>0){elPOIPrev=RMUtils.createDOMElement("a");elPOIPrev.id="poiPrev"+Math.floor(Math.random()*1000001);elPOIPrev.href="javascript:noop();";YAHOO.util.Event.addListener(elPOIPrev,"click",function(e){if(startIndex-10>=0)callNextPrevPOI(this,startIndex-10)},null,this)}elPOIPrev.innerHTML="&lt;&lt; Previous";var elBar=RMUtils.createDOMElement("span");elBar.innerHTML="&nbsp;|&nbsp;";var elPOINext;var bNoMorePOI=
startIndex+i>=this._totalCount;if(bNoMorePOI)elPOINext=RMUtils.createDOMElement("span");else{elPOINext=RMUtils.createDOMElement("a");elPOINext.id="poiNext"+Math.floor(Math.random()*1000001);elPOINext.href="javascript:noop();";YAHOO.util.Event.addListener(elPOINext,"click",function(e){if(startIndex+10<=this._totalCount&&bNoMorePOI==false)callNextPrevPOI(this,startIndex+10)},null,this)}elPOINext.innerHTML="Next &gt;&gt;";var eText1=RMUtils.createDOMElement("span");eText1.innerHTML="<br/>[";var elClearPlaces=
RMUtils.createDOMElement("a");elClearPlaces.href="javascript:clearPOIList();";elClearPlaces.innerHTML="Clear Places";var eText2=RMUtils.createDOMElement("span");eText2.innerHTML="]";paging_panel.appendChild(elResultCount);paging_panel.appendChild(elPOIPrev);paging_panel.appendChild(elBar);paging_panel.appendChild(elPOINext);paging_panel.appendChild(eText1);paging_panel.appendChild(elClearPlaces);paging_panel.appendChild(eText2);paging_panel.style.display="block";scrollPOIPanelForVisibility()}}
function RMPanel_POIPanel_queryCategory(){cacheList=RMUtils.getEl("cache");var textPanel=RMUtils.getEl("place_cats_text");if(cacheList.value=="true"&&textPanel.innerHTML.length>0)showPanel(10,145,"place_cats",textPanel.innerHTML);else MAP_ENGINE.categorySearch(function(o){if(o.code==0){var catStr="<div>";var mainCatList=o.categoryList;for(i=0;i<mainCatList.length;i++)if(mainCatList[i].subcategory.length==1){mainCatList[i]=mainCatList[i].subcategory[0];mainCatList[i].subcategory=[]}mainCatList=mainCatList.sort(function(a,
b){if(a.name=="Other")return 1;else if(b.name=="Other")return-1;return a.name.charCodeAt(0)-b.name.charCodeAt(0)});for(i=0;i<mainCatList.length;i++){if(escape(mainCatList[i].name.length)==0)continue;catStr+="<div>";if(mainCatList[i].subcategory.length==0){catStr+="<div>";catStr+='<div class ="places_expand_disabled"></div>';catStr+="<a class='places_maincat' id='subcat_item_"+i+"_0"+"' href=\"javascript:saveSelectedCategory('"+mainCatList[i].name+"');\">"+mainCatList[i].name+"</a>";catStr+="</div>"}else{catStr+=
'<div class="places_collapse" id="subcat_'+i+'_collapse" onclick="javascript:collapse(\'subcat_'+i+"')\"></div> ";catStr+='<div class="places_expand" id="subcat_'+i+'_expand" onclick="javascript:expand(\'subcat_'+i+"')\"></div> ";catStr+="<a href=\"javascript:saveSelectedCategory('"+mainCatList[i].name+"');\" class='places_maincat'>"+mainCatList[i].name;catStr+="<div class='places_subcats' id='subcat_"+i+"'>";for(j=0;j<mainCatList[i].subcategory.length;j++)catStr+='<a class="place_subcat_item" id=\'subcat_item_'+
i+"_"+j+"' href=\"javascript:saveSelectedCategory('"+mainCatList[i].subcategory[j].name+"');\">"+mainCatList[i].subcategory[j].name+"</a><br/>";catStr+="</div>"}catStr+="</div>"}var baloonTip=new RMBaloonTip("place_cats",10,145,catStr);cacheList.value="true"}else if(o.code==1){var errMsg=RMResources.POI_CATEGORIES_ERROR;var reg=YAHOO.util.Dom.getRegion("place_category_search");scrollTab(reg);var errorTip=new RMErrorWindow("error",reg.left+50,reg.top-13,errMsg)}})}
function RMPanel_POIPanel_addToRoute(e,poiJSON){if(!e)e=window.event;var el=YAHOO.util.Event.getTarget(e);YAHOO.util.Event.stopPropagation(e);if(directionPanel.arrayOfWpDisplayOrder.length<10){var index=-1;for(var i=0;i<directionPanel.arrayOfWpDisplayOrder.length;i++){var txtbox=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[i]]._inputbox;if(isTextBoxEmpty(txtbox)){if(index==-1)index=i}else index=-1}if(index==-1){index=directionPanel.arrayOfWpDisplayOrder.length-1;rearrangeWPPanels(directionPanel.arrayOfWpDisplayOrder[index],
"ADD");index=index+1}wayPointPanel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[index]];addAddressToCacheOrPanel(wayPointPanel,poiJSON,true);expand("maps_dir_content");expand("maps_dir_footer");wayPointPanel._geocodedAddress.formattedAddress=poiJSON.name+", "+wayPointPanel._geocodedAddress.formattedAddress;wayPointPanel.setAddress(wayPointPanel._geocodedAddress.formattedAddress);wayPointPanel._geocodedAddress.inputText=wayPointPanel._geocodedAddress.formattedAddress;try{wayPointPanel._inputbox.focus()}catch(e){}if(wayPointPanel._inputbox.onfocus)wayPointPanel._inputbox.onfocus();
wayPointPanel._addedFromPOI=true;var saveAddressLink=RMUtils.getEl(wayPointPanel.id+"_save_address");saveAddressLink.style.display="inline";el.innerHTML="<b>Successfully Added</b>";setTimeout(function(){if(el)el.innerHTML="Add to Route"},3E3)}else alert("No more steps can be added to route now. Please remove any existing panels and then add.")}
function OptionPanel(){this._field1="OptionPanel";this._sourceFile="RMPanels.js";this.setMetricUnit=RMPanel_OptionPanel_setMetricUnit;this.setRouteType=RMPanel_OptionPanel_setRouteType;this.getRouteType=RMPanel_OptionPanel_getRouteType;this.getScaleUnit=RMPanel_OptionPanel_getMetricUnit}OptionPanel.prototype.isMetricUnit=null;OptionPanel.prototype.routeType=null;OptionPanel.prototype=new RMPanel;OptionPanel.prototype.constructor=OptionPanel;OptionPanel.superclass=RMPanel.prototype;
OptionPanel.prototype._init=function(containerID){var container=document.getElementById(containerID);OptionPanel.superclass._init.call(this,container)};function RMPanel_OptionPanel_setMetricUnit(isMetricUnit){}function RMPanel_OptionPanel_setRouteType(routeType){}function RMPanel_OptionPanel_getRouteType(){}function RMPanel_OptionPanel_getScaleUnit(){}
function WaypointPanel(ID,marker,DO_NOT_USE_THIS_CONSTRUCTOR){if(DO_NOT_USE_THIS_CONSTRUCTOR!="OK")alert("Do not use WaypointPanel constructor. Use WaypointFactory instead.");this._field1="WaypointPanel";this._sourceFile="RMPanels.js";this._savedAddressesPanel=null;this._saveAddressBox=null;this.getAddressFromInputBox=RMPanel_WaypointPanel_getAddressFromInputBox;this.getMapLocaleFromSelect=RMPanel_WaypointPanel_getMapLocaleFromSelect;this.setMapLocaleToSelect=RMPanel_WaypointPanel_setMapLocaleToSelect;
this.setAddress=RMPanel_WaypointPanel_setAddress;this.doGeocode=RMPanel_WaypointPanel_doGeocode;this.doGeocodeHandler=RMPanel_WaypointPanel_doGeocodeHandler;this.loadMap=RMPanel_WaypointPanel_loadMap;this.createStepMap=RMPanel_WaypointPanel_createStepMap;this.activateGeocoding=RMPanel_WaypointPanel_activateGeocoding;this.activateRouting=RMPanel_WaypointPanel_activateRouting;this.deactivateGeocoding=RMPanel_WaypointPanel_deactivateGeocoding;this.deactivateRouting=RMPanel_WaypointPanel_deactivateRouting;
this.isGeocodingActive=RMPanel_WaypointPanel_isGeocodingActive;this.getMarker=RMPanel_WaypointPanel_getMarker;this.setMarker=RMPanel_WaypointPanel_setMarker;this.setInnerHTML=RMPanel_WaypointPanel_setInnerHTML;this.setWaypointMenuDisplay=RMPanel_WaypointPanel_setWaypointMenuDisplay;this.setSegmentSummary=RMPanel_WaypointPanel_setSegmentSummary;this.renderMultipleAddressBaloon=RMPanel_WaypointPanel_renderMultipleAddressBaloon;this.isEmpty=RMPanel_WaypointPanel_isEmpty;this.handleGeocodeResults=RMPanel_WaypointPanel_handleGeocodeResults;
this.handleGeocodeResults2=RMPanel_WaypointPanel_handleGeocodeResults2;this._addressID=null;this._geocodedAddress=null;this._init(ID,marker);this._addedFromPOI=false;this.geocoding=false;this.routable=false}WaypointPanel.prototype.startAddress=null;WaypointPanel.prototype.endAddress=null;WaypointPanel.prototype.segmentResult=null;WaypointPanel.prototype=new RMPanel;WaypointPanel.prototype.constructor=WaypointPanel;WaypointPanel.superclass=RMPanel.prototype;
WaypointPanel.prototype._init=function(containerID,marker){var panel=RMUtils.getEl(containerID);if(panel!=null){panel.style.display="block";this._form=YAHOO.util.Selector.query("form",panel,true);this._inputbox=YAHOO.util.Selector.query("input",this._form,true);this._mapLocaleSel=YAHOO.util.Selector.query("select",this._form,true);this._panelHeader_marker=YAHOO.util.Selector.query(".segment_marker",panel,true);if(undefined==marker)this._marker=this._panelHeader_marker.innerHTML.trim();else{this._marker=
marker;this._panelHeader_marker.innerHTML=marker}}else{panel=RMUtils.createDOMElement("div");panel.id=containerID;if(marker)this._marker=marker}this._savedAddressesPanel=new SavedAddressesPanel("addresses",this);this._savedAddressesPanel.loadAddressesFromCookie();this._saveAddressBox=new SaveAddressBox("save",this);this._saveAddressBox.setSavedAddressesPanel(this._savedAddressesPanel);YAHOO.util.Event.addListener(containerID+"_save_address","click",function(){if(this.isEmpty()){var errMsg=RMResources.ADDRESS_CANNOT_SAVE_EMPTY;
var errorTip=new RMErrorWindow("error",250,YAHOO.util.Dom.getXY(panel)[1]-4,errMsg)}else if(this._geocodedAddress&&this._geocodedAddress.isAirport){var errMsg=RMResources.ADDRESS_CANNOT_SAVE_AIRPORT;var errorTip=new RMErrorWindow("error",250,YAHOO.util.Dom.getXY(panel)[1]-4,errMsg)}else{var nX=YAHOO.util.Dom.getX(containerID)+35;var nY=YAHOO.util.Dom.getY(containerID)+30;var pixelPoint=new XPixelPoint(nX,nY);var locationEntryEl=RMUtils.getElementInBlock("location_entry",panel);var left=parseInt(YAHOO.util.Dom.getStyle(locationEntryEl,
"left"),10);this._saveAddressBox.setPosition(pixelPoint);this._saveAddressBox.setPlaceName(this.getAddressFromInputBox());this._saveAddressBox.setMapLocale(this.getMapLocaleFromSelect());this._saveAddressBox.setVisible(true);this._saveAddressBox.highlightPlaceName();this._saveAddressBox._waypointPanel=this}},null,this);this._geocodingActive=false;WaypointPanel.superclass._init.call(this,panel)};function RMPanel_WaypointPanel_isEmpty(){return isTextBoxEmpty(this._inputbox)}
function RMPanel_WaypointPanel_setInnerHTML(innerHTML){innerHTML=innerHTML.replace(/@ID@/g,this._container.id);this._container.innerHTML=innerHTML;this._form=YAHOO.util.Selector.query(".waypoint_form",this._container,true);this._inputbox=YAHOO.util.Selector.query(".location_entry",this._form,true);this._mapLocaleSel=YAHOO.util.Selector.query(".location_map_locale",this._form,true);this._panelHeader_marker=YAHOO.util.Selector.query(".segment_marker",this._container,true);this._panelBody=YAHOO.util.Selector.query(".segment_content",
this._container,true);if(this._marker)this.setMarker(this._marker);this._waypointMenu=YAHOO.util.Selector.query(".waypointMenu",this._container,true);this._segmentSummary=YAHOO.util.Selector.query(".segment_summary",this._container,true);this._segmentOverview=YAHOO.util.Selector.query(".segment_overview",this._container,true)}function RMPanel_WaypointPanel_activateGeocoding(){YAHOO.util.Event.addListener(this._form,"submit",this.doGeocodeHandler,null,this);this._geocodingActive=true}
function RMPanel_WaypointPanel_deactivateGeocoding(){YAHOO.util.Event.removeListener(this._form,"submit");this._geocodingActive=false}function RMPanel_WaypointPanel_activateRouting(){YAHOO.util.Event.addListener(this._form,"submit",function(e){directionPanel.resolveMapsDirCall(e)},null,directionPanel)}function RMPanel_WaypointPanel_deactivateRouting(){YAHOO.util.Event.removeListener(this._form,"submit")}function RMPanel_WaypointPanel_isGeocodingActive(){return this._geocodingActive==true}
function RMPanel_WaypointPanel_getAddressFromInputBox(){return this._inputbox.value}function RMPanel_WaypointPanel_getMapLocaleFromSelect(){var value=this._mapLocaleSel.value;return value}function RMPanel_WaypointPanel_setMapLocaleToSelect(locale){this._mapLocaleSel.value=locale}function RMPanel_WaypointPanel_setWaypointMenuDisplay(status){this._waypointMenu.style.display=status}
function RMPanel_WaypointPanel_setSegmentSummary(innerHTML){this._segmentSummary.innerHTML=innerHTML;if(innerHTML!="")this._segmentOverview.style.display="block";else this._segmentOverview.style.display="none"}
function RMPanel_WaypointPanel_createStepMap(segmentID,stepLength,stepAccum,showAccum,stepNumber,stepExp,showMap){var stepMapEnvelope=RMUtils.createDOMElement("tr");var stepMapNumber=RMUtils.createDOMElement("td");var stepMapExp=RMUtils.createDOMElement("td");var stepStats=RMUtils.createDOMElement("td");var stepStatsTot=RMUtils.createDOMElement("td");var stepStepMap=RMUtils.createDOMElement("td");YAHOO.util.Dom.addClass(stepMapNumber,"step_num");YAHOO.util.Dom.addClass(stepMapExp,"step_exp");YAHOO.util.Dom.addClass(stepStats,
"step_dist");YAHOO.util.Dom.addClass(stepStatsTot,"step_statsTot");YAHOO.util.Dom.addClass(stepStepMap,"step_stepmaps");if(stepNumber%2==0)YAHOO.util.Dom.addClass(stepMapEnvelope,"step_even");else YAHOO.util.Dom.addClass(stepMapEnvelope,"step_odd");if(stepNumber==0)YAHOO.util.Dom.addClass(stepMapEnvelope,"routeHeader");if(stepNumber==-1){YAHOO.util.Dom.addClass(stepMapEnvelope,"routePrintHeader");stepMapExp.innerHTML="<b>Directions</b>";stepStats.innerHTML="<b>Mileage</b>";stepStatsTot.innerHTML=
"<b>Total Mileage</b>"}else{stepMapNumber.innerHTML=stepNumber==0?"&nbsp;&nbsp;&nbsp;":stepNumber+".";var showMapDiv="";if(showMap=="true")stepMapExp.innerHTML=stepExp+"</div>";else stepMapExp.innerHTML=stepExp+"</div>";if(showAccum=="true")stepStats.innerHTML=stepLength+'<div class="segment_step_accum">'+stepAccum+"</div>";else stepStats.innerHTML=stepLength;stepStatsTot.innerHTML="<div>"+stepAccum+"</div>";stepMapEnvelope.id=segmentID+"_step_"+stepNumber;var stepid=segmentID+"_step_link_"+stepNumber;
var steplinkid=segmentID+"_step_link_map_"+stepNumber;var mapdiv=RMUtils.createDOMElement("div");var maplinkdiv=RMUtils.createDOMElement("div");if(showMap=="true")stepStepMap.innerHTML="<a href=\"javascript:togglePrintStepMap('"+segmentID+"','"+stepNumber+'\')" id="'+segmentID+"_step_link_"+stepNumber+'" class="step_exp_map_link">Show Step Map</a><div id="'+segmentID+"_step_link_map_"+stepNumber+'" class="step_exp_map">';else stepStepMap.innerHTML='<a href="javascript:togglePrintStepMap()" id="'+
segmentID+"_step_link_"+stepNumber+'" class="step_exp_map_link" style="display:none">Show Step Map</a><div id="'+segmentID+"_step_link_map_"+stepNumber+'" class="step_exp_map" style="display:none">'}stepMapEnvelope.appendChild(stepMapNumber);stepMapEnvelope.appendChild(stepMapExp);stepMapEnvelope.appendChild(stepStats);stepMapEnvelope.appendChild(stepStatsTot);stepMapEnvelope.appendChild(stepStepMap);return stepMapEnvelope}
function RMPanel_WaypointPanel_renderMultipleAddressBaloon(results,action,index,panelID){var convertedAddrList=[];for(var i=0;i<results.address.length;i++)convertedAddrList.push(addressForPositionAndAddress(results.position[i],results.address[i]));var panel=action=="poi"?poiPanel:directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[index]];var addresses=RMUtils.formatAddresses(convertedAddrList);var setEvent=function(addr,action,i,index,res,decartaAddr){if(action=="loadMap")YAHOO.util.Event.addListener("list_"+
i,"click",function(e){YAHOO.util.Event.stopEvent(e);var field=RMUtils.getEl("txtPlaceAddress");var countrySuffix=RMPanel_countrySuffixForAddressString(field.value);field.value=addr.toString()+countrySuffix;addAddressToCacheOrPanel(panel,addr,true);logLocationInformation(panel._geocodedAddress);var fromHintList=false;try{fromHintList=res.address[i].fromHintList}catch(e){fromHintList=false}if(undefined==fromHintList||null==fromHintList||fromHintList==false)RMMap_loadMap(panel._geocodedAddress,res.geoAddr[i]);
else RMMap_loadMapForHintListAddrr(panel._geocodedAddress,res.position[i],res.address[i]);_singleton_SavedAddressesPanel.saveAddressToCookie(panel._geocodedAddress.toString(),"addresses");hidePanel("error");var saveAddressLink=RMUtils.getEl(panel.id+"_save_address");saveAddressLink.style.display="inline";poiPanel._geocodedAddress=addr;refreshAds();var params=[];params[0]=0;params[1]=panel._geocodedAddress;params[2]=null;getCEM().fireEvent(RMEvent.Geocode.COMPLETE,mapId,params)});else if(action=="route"||
action=="roundTrip"||action=="reverse"||action=="optimized")YAHOO.util.Event.addListener("list_"+i,"click",function(e){addAddressToCacheOrPanel(panel,addr,true);hidePanel("error");_singleton_SavedAddressesPanel.saveAddressToCookie(panel._geocodedAddress.toString(),"addresses");if(action=="roundTrip")directionPanel.resolveMapsDirCall(null,index,panel._geocodedAddress,true,false,true,false);else if(action=="reverse")directionPanel.resolveMapsDirCall(null,index,panel._geocodedAddress,true,true,false,
false);else if(action=="optimized")directionPanel.resolveMapsDirCall(null,index,panel._geocodedAddress,true,false,false,true);else directionPanel.resolveMapsDirCall(null,index,panel._geocodedAddress,true,false,false,false);var saveAddressLink=RMUtils.getEl(panel.id+"_save_address");saveAddressLink.style.display="inline"});else if(action=="poi")YAHOO.util.Event.addListener("list_"+i,"click",function(e){addAddressToCacheOrPanel(panel,addr,true);var hdnSearchLoc=RMUtils.getEl("hdnSearchLoc");hdnSearchLoc.value=
panel._geocodedAddress.toString();_singleton_SavedAddressesPanel.saveAddressToCookie(panel._geocodedAddress.toString(),"addresses");panel.loadMap(addr)})};var multipleDiv="<div id='address_list' style='overflow:hidden;max-height:144px'><table>";var multipleAddresses="";var multiplePOIs="";var foundAddresses=false;var foundPOIs=false;var totalCount=0;var dummyAddrList=[];for(var i=0;i<addresses.length;i++)if(typeof addresses[i].poitext!="undefined"&&addresses[i].poitext!=null)foundPOIs=true;else{foundAddresses=
true;totalCount++;var displayText="";if(addresses[i].isAirport==true)displayText=addresses[i].addressName;else displayText=RMUtils.prepareName(addresses[i],false);multipleAddresses+='<tr><td><a id="list_'+i+'" href="javascript:noop();"><img src="'+BASE_PATH_IMG+'/location_marker_sm.gif"/>&nbsp;'+displayText+"</a><br/>";dummyAddrList.push(addresses[i])}if(foundAddresses){if(foundPOIs)multipleDiv+="<tr><td>"+RMResources.GEOCODE_MULTIPLE_ONLY_POI_RESULTS+"</td></tr>"+multipleAddresses;else multipleDiv+=
"<tr><td>"+RMResources.GEOCODE_MULTIPLE_RESULTS+"</td></tr>"+multipleAddresses;multipleDiv+="</table>";multipleDiv+="</div>";if(totalCount>8){multipleDiv+="<div id='more' align='left'>";multipleDiv+='<a href="javascript:noop()" onclick="seeMore(event)">More ...</a>';multipleDiv+="</div>"}}else multipleDiv=RMResources.GEOCODE_ADDRESS_NOT_FOUND;var panelElement=document.getElementById(panelID);panelElement.scrollIntoView(false);var region=YAHOO.util.Dom.getRegion(panelID);if(!region){region=new Object;
region.left=30;region.top=183}else scrollTab(region);var baloonTip=new RMErrorWindow("error",region.left+250,region.top,multipleDiv);if(foundAddresses)for(i=0;i<dummyAddrList.length;i++)setEvent(dummyAddrList[i],action,i,index,results,this)}
function RMPanel_WaypointPanel_doGeocodeHandler(e,arg){if(IS_PRINT_PREVIEW===true)return;var sAddress="";var mapLocale=null;var panel=null;if(typeof arg=="string")sAddress=arg.trim();else{panel=arg!=null?arg:this;if(!panel.isEmpty()){sAddress=panel.getAddressFromInputBox().trim();mapLocale=panel.getMapLocaleFromSelect()}else{if(e)e.cancelBubble=true;var errMsg=RMResources.GEOCODE_MISSING_INPUT_ADDRESS;scrollTabTop();var errorTip=new RMErrorWindow("error",250,YAHOO.util.Dom.getXY(this._container)[1]-
4,errMsg);return false}}redrawPanel(false);deCarta.App.UI.wipeMap();if(""!=sAddress){panel.doGeocode(sAddress,mapLocale);isSearchPOI=false}return false}
function RMPanel_WaypointPanel_handleGeocodeResults(sAddressLine,results){var saveAddressLink=RMUtils.getEl(this.id+"_save_address");var errMsg="";RMUtils.getEl("route_detail").innerHTML="";getHist()._justNavigated=true;if(results.length==0||results.address.toString()==""){errMsg=RMResources.GEOCODE_ADDRESS_NOT_FOUND;scrollTabTop();var txtbox=RMUtils.getEl("txtPlaceAddress");errorTip=new RMErrorWindow("error",YAHOO.util.Dom.getXY(txtbox)[0]+250,YAHOO.util.Dom.getXY(txtbox)[1]-10,errMsg);saveAddressLink.style.display=
"none"}else results.length!=0&&results.position.length>=1;var pos=results.position;var addr=results.address;RMUtils.getEl("route_detail").innerHTML="Map of: "+sAddressLine;if(null==pos||pos.length==0||addr.toString()==""){errMsg=RMResources.GEOCODE_ADDRESS_NOT_FOUND;scrollTabTop();var txtbox=RMUtils.getEl("txtPlaceAddress");errorTip=new RMErrorWindow("error",YAHOO.util.Dom.getXY(txtbox)[0]+250,YAHOO.util.Dom.getXY(txtbox)[1]-10,errMsg);saveAddressLink.style.display="none"}else{var nonPOIs=0;var addrList=
[];if(pos.length===1&&!addr[0].poitext){nonPOIs++;addrList=addr}else for(i=0;i<addr.length;i++)if(typeof addr[i].poitext=="undefined"||addr[i].poitext==null){nonPOIs++;addrList.push(addr[i])}if(nonPOIs==1){saveAddressLink.style.display="inline";this._savedAddressesPanel.saveAddressToCookie(sAddressLine);addAddressToCacheOrPanel(this,addrList,false);refreshAds()}else{var oInputId;if(document.getElementById("maps_dir").style.display!="none")oInputId=directionPanel.arrayOfWpDisplayOrder[0];else oInputId=
"whereFieldSet";this.renderMultipleAddressBaloon(results,"loadMap",0,oInputId);saveAddressLink.style.display="none"}}}
function RMPanel_WaypointPanel_handleGeocodeResults2(sAddressLine,addressList){var saveAddressLink=RMUtils.getEl(this.id+"_save_address");var errMsg="";RMUtils.getEl("route_detail").innerHTML="";getHist()._justNavigated=true;if(geocodeResultJSON.code==0){if(geocodeResultJSON.geocodedLocation.length>0)RMUtils.getEl("route_detail").innerHTML="Map of: "+geocodeResultJSON.geocodedLocation[0].name;else if(geocodeResultJSON.airportLocations.length>0)RMUtils.getEl("route_detail").innerHTML="Map of: "+geocodeResultJSON.airportLocations[0].name;
else RMUtils.getEl("route_detail").innerHTML="Map of: "+sAddressLine;if(null==addressList||addressList.length==0){errMsg=RMResources.GEOCODE_ADDRESS_NOT_FOUND;scrollTabTop();var errorTip=new RMErrorWindow("error",250,YAHOO.util.Dom.getXY(this._container)[1]-4,errMsg);saveAddressLink.style.display="none"}else{var nonPOIs=0;var addrList=[];if(geocodeResultJSON.count==1&&!addressList[0].poitext){nonPOIs++;addrList=addressList}else for(i=0;i<addressList.length;i++)if(typeof addressList[i].poitext=="undefined"||
addressList[i].poitext==null){nonPOIs++;addrList.push(addressList[i])}if(nonPOIs==1){saveAddressLink.style.display="inline";this._savedAddressesPanel.saveAddressToCookie(sAddressLine);addAddressToCacheOrPanel(this,addrList,false);refreshAds()}else{var oInputId;if(document.getElementById("maps_dir").style.display!="none")oInputId=directionPanel.arrayOfWpDisplayOrder[0];else oInputId="whereFieldSet";this.renderMultipleAddressBaloon(addressList,"loadMap",0,oInputId);saveAddressLink.style.display="none"}}}else{if(geocodeResultJSON.code===
206)errMsg=RMResources.GEOCODE_NO_STATE_INPUT_ERROR;else errMsg=RMResources.GEOCODE_ADDRESS_NOT_FOUND;scrollTabTop();errorTip=new RMErrorWindow("error",250,100,errMsg);saveAddressLink.style.display="none"}}
function RMPanel_WaypointPanel_doGeocode(sAddressLine,mapLocale){if(!sAddressLine)if(!this.isEmpty())sAddressLine=this._inputbox.value;if(!mapLocale)mapLocale=this._mapLocaleSel.value;if(null==sAddressLine||sAddressLine.trim().length==0){var errMsg=RMResources.GEOCODE_MISSING_INPUT_ADDRESS;var errorTip=new RMErrorWindow("error",250,YAHOO.util.Dom.getXY(this._container)[1]-4,errMsg);return}if(!chkWordLimit(null,sAddressLine)){var errMsg=RMResources.GEOCODE_MISSING_INPUT_ADDRESS;var errorTip=new RMErrorWindow("error",
250,YAHOO.util.Dom.getXY(this._container)[1]-4,RMResources.TOO_MANY_WORDS_PREFIX+"16"+RMResources.TOO_MANY_WORDS_SUFFIX);return}if(this._addressID!=null){ADDRESS_CACHE.remove(this._addressID);this._addressID=null}this._geocodedAddress=null;if(this._addressID!=null){var address=ADDRESS_CACHE.get(this._addressID);this.loadMap(address);logLocationInformation(address);return}else if(this._geocodedAddress!=null){addAddressToCacheOrPanel(this,null,false);_singleton_SavedAddressesPanel.saveAddressToCookie(this._geocodedAddress.toOneLiner());
this.loadMap(this._geocodedAddress);logLocationInformation(this._geocodedAddress);var params=[];params[0]=sAddressLine;params[1]=null;params[2]=this._geocodedAddress;getCEM().fireEvent(RMEvent.Geocode.COMPLETE,mapId,params);detachAd1();return}var rmMapController=new RMMapController(this._map);rmMapController.geocode(sAddressLine,this,mapLocale)}var ADDRESS_SUFFIX_REGEX_CAN=/,[\s+]*can(ada\s*|\s*)$/i;var ADDRESS_SUFFIX_REGEX_MEX=/,[\s+]*mex(ico\s*|\s*)$/i;var ADDRESS_SUFFIX_REGEX_AU=/,[\s+]*au(s\s*|strailia\s*|\s*)$/i;
var ADDRESS_SUFFIX_REGEX_ENG=/,[\s+]*eng(l\s*|land\s*|\s*)$/i;var ADDRESS_SUFFIX_REGEX_HK=/,[\s+]*h(k\s*|ong kong\s*)$/i;var ADDRESS_SUFFIX_REGEX_ID=/,[\s+]*Indonesia\s*$/i;var ADDRESS_SUFFIX_REGEX_IN=/,[\s+]*India\s*$/i;var ALL_ADDRESS_SUFFIX_REGEXs=[];ALL_ADDRESS_SUFFIX_REGEXs.push({regex:ADDRESS_SUFFIX_REGEX_CAN,code:"CA-EN",name:"Canada"});ALL_ADDRESS_SUFFIX_REGEXs.push({regex:ADDRESS_SUFFIX_REGEX_MEX,code:"MX-ES",name:"Mexico"});
ALL_ADDRESS_SUFFIX_REGEXs.push({regex:ADDRESS_SUFFIX_REGEX_AU,code:"AU-EN",name:"Austrailia"});ALL_ADDRESS_SUFFIX_REGEXs.push({regex:ADDRESS_SUFFIX_REGEX_ENG,code:"GB-EN",name:"England"});ALL_ADDRESS_SUFFIX_REGEXs.push({regex:ADDRESS_SUFFIX_REGEX_HK,code:"HK-EN",name:"Hong Kong"});ALL_ADDRESS_SUFFIX_REGEXs.push({regex:ADDRESS_SUFFIX_REGEX_ID,code:"ID-EN",name:"Indonesia"});ALL_ADDRESS_SUFFIX_REGEXs.push({regex:ADDRESS_SUFFIX_REGEX_IN,code:"IN-EN",name:"India"});
function RMPanel_localeForAddressString(string){var canadianZipcodeMatch=string.match(/^\s*([A-Za-z]\d[A-Za-z])\s*(\d[A-Za-z]\d){0,1}\s*$/);if(canadianZipcodeMatch)return"CA-EN";for(var x=0;x<ALL_ADDRESS_SUFFIX_REGEXs.length;x++)if(string.match(ALL_ADDRESS_SUFFIX_REGEXs[x].regex))return ALL_ADDRESS_SUFFIX_REGEXs[x].code;return"US-EN"}
function RMPanel_countrySuffixForAddressString(string){var canadianZipcodeMatch=string.match(/^\s*([A-Za-z]\d[A-Za-z])\s*(\d[A-Za-z]\d){0,1}\s*$/);if(canadianZipcodeMatch)return", Canada";for(var x=0;x<ALL_ADDRESS_SUFFIX_REGEXs.length;x++)if(string.match(ALL_ADDRESS_SUFFIX_REGEXs[x].regex))return", "+ALL_ADDRESS_SUFFIX_REGEXs[x].name;return""}
function RMPanel_removeLocaleFromAddressString(string){for(var x=0;x<ALL_ADDRESS_SUFFIX_REGEXs.length;x++)if(string.match(ALL_ADDRESS_SUFFIX_REGEXs[x].regex))return string.replace(ALL_ADDRESS_SUFFIX_REGEXs[x].regex,"");return string}
function RMPanel_WaypointPanel_loadMap(address,pos,addr){var precision=address.precision;directionPanel.arrayOfAddresses=[];directionPanel.arrayOfAddresses[0]=address;var zoom=INIT_ZOOM_LEVEL;if(precision!=null&&typeof precision!=="undefined"&&precision!==""&&precision>=0&&precision<8)zoom=ZOOM_PRECISION[precision];RMMap_loadMap(address,pos,addr);console.log("RMPanel.RMPanel_WaypointPanel_loadMap: fix this");hidePanel("error")}function RMPanel_WaypointPanel_getMarker(){return this._marker}
function RMPanel_WaypointPanel_setMarker(marker){this._marker=String(marker).trim();this._panelHeader_marker.innerHTML=this._marker}
function RMPanel_WaypointPanel_setAddress(address){if(null!==address&&typeof address=="object"){this._geocodedAddress=address;if(!isEmptyString(address.inputText))this._inputbox.value=address.inputText;else if(!isEmptyString(address.addressName))this._inputbox.value=address.addressName;else this._inputbox.value=address.toString()}else if(typeof address=="string")this._inputbox.value=address;this._mapLocaleSel.value=RMPanel_localeForAddressString(this._inputbox.value);try{this._inputbox.focus()}catch(e){if(this._inputbox.onfocus)this._inputbox.onfocus()}}
var WaypointFactoryInstance=null;function WaypointFactory(htmlElement){this._field1="WaypointFactory";this._sourceFile="RMPanels.js";this._prototypeObject=null;this.createWaypointPanel=RMPanel_WaypointFactory_createWaypointPanel;this._init(htmlElement)}WaypointFactory.prototype._init=WaypointFactory_init;WaypointFactory.prototype._prototypeObject=null;
function WaypointFactory_init(htmlElement){var element=RMUtils.getEl(htmlElement);if(!element){var elementId=typeof htmlElement=="string"?htmlElement:htmlElement.id;throw"The html element "+elementId+" is not present in the document";}this._prototypeObject=new WaypointPanel(htmlElement,null,"OK");this._prototypeObject.setVisible(false);WaypointFactoryInstance=this}
function RMPanel_WaypointFactory_createWaypointPanel(id,marker){var newPanel=new WaypointPanel(id,null,"OK");newPanel.setInnerHTML(this._prototypeObject._container.innerHTML);newPanel.setMarker(marker);if(directionPanel.count<2)newPanel.setWaypointMenuDisplay("none");else newPanel.setWaypointMenuDisplay("block");if(id!="location_a")newPanel.activateRouting();YAHOO.util.Event.addListener(newPanel._inputbox,"keyup",function(e){if(e.keyCode!=13){inputBoxChanged(newPanel._inputbox);newPanel._addedFromPOI=
false}});YAHOO.util.Event.addListener(newPanel._inputbox,"paste",function(e){newPanel._addedFromPOI=false;setTimeout('checkInputBoxOnCutPaste("'+newPanel.id+'")',10)});YAHOO.util.Event.addListener(newPanel._inputbox,"cut",function(e){newPanel._addedFromPOI=false;setTimeout('checkInputBoxOnCutPaste("'+newPanel.id+'")',10)});YAHOO.util.Event.onContentReady(id,function(){var oAC=new RMAutoComplete(newPanel._inputbox,null,null,37,16,function(wordLimit){var panel=YAHOO.util.Dom.getXY(this._elContainer.parentNode);
new RMErrorWindow("error",250,panel[1]-8,RMResources.TOO_MANY_WORDS_PREFIX+this.wordLimit+RMResources.TOO_MANY_WORDS_SUFFIX)})});return newPanel}var _singleton_SavedAddressesPanel=null;
function SavedAddressesPanel(containerID,waypointPanel){if(_singleton_SavedAddressesPanel!=null)return _singleton_SavedAddressesPanel;_singleton_SavedAddressesPanel=this;this._recentAddressesContainer=null;this._waypointPanel=waypointPanel;this._field1="SaveAddressesPanel";this._sourceFile="RMPanels.js";this.generatePanel=RMPanel_SavedAddressesPanel_generatePanel;this.close=RMPanel_SavedAddressesPanel_close;this.loadAddressesFromCookie=RMPanel_SavedAddressesPanel_loadAddressesFromCookie;this.saveAddressToCookie=
RMPanel_SavedAddressesPanel_saveAddressToCookie;this.displayAddresses=RMPanel_SavedAddressesPanel_displayAddresses;this.removeAddress=RMPanel_SavedAddressesPanel_removeAddress;this.persistAddresses=RMPanel_SavedAddressesPanel_persistAddresses;this.open=RMPanel_SavedAddressesPanel_open;this._init(containerID)}SavedAddressesPanel.prototype=new RMPanel;SavedAddressesPanel.prototype.constructor=SavedAddressesPanel;SavedAddressesPanel.superclass=RMPanel.prototype;
SavedAddressesPanel.prototype._init=function(containerID){var container=this.generatePanel(containerID);document.body.appendChild(container);this._recentAddressesContainer=YAHOO.util.Selector.query(".addresses_text",container,true);var closeButton=YAHOO.util.Selector.query(".bubble_close",container,true);YAHOO.util.Event.addListener(closeButton,"click",this.close,null,this);SavedAddressesPanel.superclass._init.call(this,container)};
function RMPanel_SavedAddressesPanel_close(){this._container.style.display="none"}function RMPanel_SavedAddressesPanel_open(waypointPanel){this._waypointPanel=waypointPanel;var inputbox=waypointPanel._inputbox;var wppLoc=YAHOO.util.Dom.getRegion(inputbox);setTimeout("RMPanel_SavedAddressesPanel_openAt('"+this._container.id+"',"+wppLoc.left+","+wppLoc.bottom+")",10)}
function RMPanel_SavedAddressesPanel_openAt(id,left,bottom){YAHOO.util.Dom.setStyle(id,"display","block");YAHOO.util.Dom.setXY(id,[left,bottom]);YAHOO.util.Event.addListener(id,"mousedown",function(e){e.cancelBubble=true})}
function RMPanel_SavedAddressesPanel_generatePanel(containerID){if(containerID==null)throw"Invalid container id for the SavedAddresses panel";var sHtml=RMUtils.getEl("rm_addresses").innerHTML;sHtml=sHtml.replace(/@ID@/g,containerID);var container=RMUtils.createDOMElement("div","html");container.id=containerID;container.style.display="none";container.style.zIndex=204;container.innerHTML=sHtml;return container}
function doGeocodeIfActive(panelID){var panel=null;if(poiPanel.id==panelID)panel=poiPanel;else panel=directionPanel.arrayOfWayPointPanel[panelID];if(panel.isGeocodingActive())panel.doGeocodeHandler(panel.getAddressFromInputBox().trim())}
function RMPanel_SavedAddressesPanel_displayAddresses(addressesArray,savedAddressesArray){this._recentAddressesContainer.innerHTML="";ADDRESS_BOOK.savedAddressesList=[];ADDRESS_BOOK.recentAddressesList=[];var origLength=addressesArray.length;var newliner=null;var displayName=null;var i=0;var addressStr="";if(addressesArray.length>0)addressStr+='<a href="javascript:noop();" id="removeAll"  style="float:right;margin-right: 15px" >[Clear All]</a><br/>';while(i<addressesArray.length&&i<MAX_RECENT_ADDRESSES){if(addressesArray[i].trim()==
0){addressesArray.splice(i,1);continue}if(i>0)addressStr="";displayName=addressesArray[i];if(displayName.length>25)displayName=displayName.substring(0,25)+"...";addressStr+='<a href="javascript:noop();" id="@repID@_link_'+i+'" >'+(i+1)+". "+displayName+"</a><br/>";var savedAddr=new ADDRESS_BOOK.savedAddress(addressStr,displayName,addressesArray[i]);ADDRESS_BOOK.recentAddressesList[i]=savedAddr;i++}if(i!=origLength)this.persistAddresses(addressesArray,"addresses");if(null===savedAddressesArray)return;
origLength=savedAddressesArray.length;i=0;while(i<savedAddressesArray.length&&i<MAX_SAVED_ADDRESSES)try{if(savedAddressesArray[i].trim().length==0){savedAddressesArray.splice(i,1);continue}ADDRESS_BOOK.savedAddressesList[i]=savedAddressesArray[i];i++}catch(e){savedAddressesArray.splice(i,1)}if(origLength!=i)this.persistAddresses(savedAddressesArray,"SavedAddresses")}
function RMPanel_SavedAddressesPanel_loadAddressesFromCookie(){var addressesArray=null;var addressesConcat=YAHOO.util.Cookie.get("addresses");if(addressesConcat==null)addressesArray=[];else addressesArray=addressesConcat.split("=");var savedAddressesArray=null;var savedAddressesConcat=YAHOO.util.Cookie.get("SavedAddresses");if(savedAddressesConcat==null)savedAddressesArray=[];else savedAddressesArray=savedAddressesConcat.split("=");this.displayAddresses(addressesArray,savedAddressesArray)}
function RMPanel_SavedAddressesPanel_removeAddress(event,sAddressIndex){var addressesConcat=YAHOO.util.Cookie.get("SavedAddresses");if(addressesConcat==null)throw"Empty saved addresses on remove operation!";var addressesArray=addressesConcat.split("=");if(addressesArray.length<=sAddressIndex)throw"The index of the address ("+sAddressIndex+") to remove is greater than the size of the array containing the addresses ("+addressesArray.length+")";var addressToRemove=eval("("+addressesArray[sAddressIndex]+
")");addressesArray.splice(sAddressIndex,1);if(addressesArray.length===0){var cookie_date=new Date;cookie_date.setTime(cookie_date.getTime()-1);YAHOO.util.Cookie.set("SavedAddresses","",{expires:cookie_date,path:"/"})}else this.persistAddresses(addressesArray,"SavedAddresses");this.loadAddressesFromCookie()}
function RMPanel_SavedAddressesPanel_saveAddressToCookie(sAddress){var addressesConcat=YAHOO.util.Cookie.get("addresses");if(addressesConcat==null)addressesConcat="";var addressesArray=addressesConcat.split("=");sAddress=sAddress.trim();var addressesArrayLower=sAddress.toLowerCase();for(var i=addressesArray.length-1;i>=0;i--)if(addressesArray[i].toLowerCase()==addressesArrayLower||addressesArray[i].toLowerCase().trim()=="")addressesArray.splice(i,1);addressesArray.reverse();addressesArray[addressesArray.length]=
sAddress;addressesArray.reverse();this.persistAddresses(addressesArray,"addresses");this.loadAddressesFromCookie()}
function RMPanel_SavedAddressesPanel_persistAddresses(addressesArray,cookieName){addressesConcat="";var maxAddresses;switch(cookieName){case "addresses":maxAddresses=MAX_RECENT_ADDRESSES;break;case "SavedAddresses":maxAddresses=MAX_SAVED_ADDRESSES;break}for(var i=0;i<addressesArray.length&&i<maxAddresses;i++)addressesConcat+=(i==0?"":"=")+addressesArray[i];YAHOO.util.Cookie.set(cookieName,addressesConcat,{expires:new Date("January 12, 2025"),path:"/"})}var _singleton_SaveAddressBox=null;
function SaveAddressBox(containerID,waypointPanel){if(_singleton_SaveAddressBox!=null)return _singleton_SaveAddressBox;_singleton_SaveAddressBox=this;this._field1="SaveAddressBox";this._sourceFile="RMPanels.js";this._waypointPanel=waypointPanel;this._form=null;this._savedAddressesPanel=null;this.generatePanel=RMPanel_SaveAddressBox_generatePanel;this.setSavedAddressesPanel=RMPanel_SaveAddressBox_setSavedAddressesPanel;this.close=RMPanel_SaveAddressBox_close;this.saveAddressToCookie=RMPanel_SaveAddressBox_saveAddressToCookie;
this.setPlaceName=RMPanel_SaveAddressBox_setPlaceName;this.setMapLocale=RMPanel_SaveAddressBox_setMapLocale;this.highlightPlaceName=RMPanel_SaveAddressBox_highlightPlaceName;this._init(containerID);this._inputbox=this._form.txtSaveName;this._mapLocaleSel=this._form.selSaveMapLocale}SaveAddressBox.prototype=new RMPanel;SaveAddressBox.prototype.constructor=SaveAddressBox;SaveAddressBox.superclass=RMPanel.prototype;
SaveAddressBox.prototype._init=function(containerID){var container=this.generatePanel(containerID);document.body.appendChild(container);var closeButton=RMUtils.getElementInBlock(containerID+"_bubble_close",container);YAHOO.util.Event.addListener(closeButton,"click",this.close,null,this);this._form=RMUtils.getElementInBlock("form_"+containerID,container);YAHOO.util.Event.addListener(this._form,"submit",this.saveAddressToCookie,this,true);YAHOO.util.Event.addListener(containerID,"mousedown",function(e){e.cancelBubble=
true});SaveAddressBox.superclass._init.call(this,container)};function RMPanel_SaveAddressBox_setPlaceName(placeNameText){this._inputbox.value=placeNameText}function RMPanel_SaveAddressBox_setMapLocale(value){}function RMPanel_SaveAddressBox_highlightPlaceName(){this._inputbox.focus();this._inputbox.select()}function RMPanel_SaveAddressBox_close(){this._container.style.display="none"}
function RMPanel_SaveAddressBox_generatePanel(containerID){if(containerID==null)throw"Invalid container id for the SavedAddresses panel";var sHtml=RMUtils.getEl("rm_save_addresses").innerHTML;sHtml=sHtml.replace(/@ID@/g,containerID);var container=RMUtils.createDOMElement("div","html");container.id=containerID;container.innerHTML=sHtml;return container}function RMPanel_SaveAddressBox_setSavedAddressesPanel(savedAddressesPanel){this._savedAddressesPanel=savedAddressesPanel}
function RMPanel_SaveAddressBox_saveAddressToCookie(){var saveNameEl=YAHOO.util.Selector.query("input[name=txtSaveName]",this._form,true);var sSaveName=saveNameEl.value;var oRMAddress;if(this._waypointPanel._geocodedAddress!=null){oRMAddress=this._waypointPanel._geocodedAddress.clone();if(!isEmptyString(sSaveName))oRMAddress.addressName=sSaveName;else if(isEmptyString(oRMAddress.addressName))oRMAddress.addressName=oRMAddress.inputText;if(isEmptyString(oRMAddress.addressName))oRMAddress.addressName=
this._waypointPanel.getAddressFromInputBox();if(isEmptyString(oRMAddress.addressName))oRMAddress.addressName=oRMAddress.toString()}else{oRMAddress=new RMAddress;oRMAddress.inputText=this._waypointPanel.getAddressFromInputBox();oRMAddress.inputText=oRMAddress.inputText.trim();if(oRMAddress.inputText==""){errorTip=new RMErrorWindow("error",250,160,RMResources.ADDRESS_CANNOT_SAVE_EMPTY);return}if(!isEmptyString(sSaveName))oRMAddress.addressName=sSaveName;else oRMAddress.addressName=oRMAddress.inputText}var errorTip=
null;var region=null;var iChars='@#$%^()+=-[]\\;/{}|":<>?';for(var i=0;i<oRMAddress.addressName.length;i++)if(iChars.indexOf(oRMAddress.addressName.charAt(i))!=-1){region=YAHOO.util.Dom.getRegion(this._waypointPanel.id);scrollTab(region);errorTip=new RMErrorWindow("error",region.left+250,region.top-3,"Special characters are not allowed in address name.Please remove them and try again.");this.close();return}var addressesConcat=YAHOO.util.Cookie.get("SavedAddresses");if(addressesConcat==null)addressesConcat=
"";var addressesArray=addressesConcat.split("=");for(var i=addressesArray.length-1;i>=0;i--){if(isEmptyString(addressesArray[i])||addressesArray[i]=="SavedAddresses")continue;var savedRMAddress=eval("("+addressesArray[i]+")");if(savedRMAddress==null)continue;if(savedRMAddress.addressName.trim().toLowerCase()==oRMAddress.addressName.trim().toLowerCase()){region=YAHOO.util.Dom.getRegion(this._waypointPanel.id);errorTip=new RMErrorWindow("error",region.left+250,region.top,"Another address with this name already exists.");
this.close();return}}addressesArray.reverse();addressesArray[addressesArray.length]=oRMAddress.toJSONString();addressesArray.reverse();this._savedAddressesPanel.persistAddresses(addressesArray,"SavedAddresses");if(this._savedAddressesPanel!=null)this._savedAddressesPanel.loadAddressesFromCookie();this.close()}
function DirectionPanel(containerID){this._field1="DirectionPanel";this._sourceFile="RMPanels.js";this.arrayOfWayPointPanel=null;this.arrayOfWpDisplayOrder=null;this.arrayOfAddresses=null;this.addWaypointPanel=RMPanel_DirectionPanel_addWaypointPanel;this.setWaypointPanel=RMPanel_DirectionPanel_setWaypointPanel;this.removeWaypointPanel=RMPanel_DirectionPanel_removeWaypointPanel;this.getWaypointPanelList=RMPanel_DirectionPanel_getWaypointPanelList;this.setRequestingDistance=RMPanel_DirectionPanel_setRequestingDistance;
this.resolveRoute=RMPanel_DirectionPanel_resolveRoute;this.subscribeStepMaps=RMPanel_DirectionPanel_subscribeStepMaps;this.displayRoutePlacemarks=RMPanel_DirectionPanel_displayRoutePlacemarks;this.extractAddressNameFromInstruction=RMPanel_DirectionPanel_extractAddressNameFromInstruction;this.resolveMapsDirCall=RMPanel_DirectionPanel_resolveMapsDirCall;this.setCollapse=RMPanel_DirectionPanel_setCollapse;this.setForm=RMPanel_DirectionPanel_setForm;this.getGeocodedLocationsArray=RMPanel_DirectionPanel_getGeocodedLocationsArray;
this.count=0;this._init(containerID);this.clearDirections=RMPanel_DirectionPanel_clearDirections;this.handleRouteResults=RMPanel_POIPanel_handleRouteResults}DirectionPanel.prototype.arrayOfWayPointPanel=null;DirectionPanel.prototype.arrayOfAddresses=null;DirectionPanel.prototype=new RMPanel;DirectionPanel.prototype.constructor=DirectionPanel;DirectionPanel.superclass=RMPanel.prototype;
DirectionPanel.prototype._init=function(containerID){containerID="maps_dir_content";var container=document.getElementById(containerID);this.arrayOfWayPointPanel=[];this.arrayOfWpDisplayOrder=[];this.arrayOfAddresses=[];DirectionPanel.superclass._init.call(this,container);YAHOO.util.Cookie.set("RouteCalculated","false",{expires:new Date("January 12, 2025"),path:"/"})};
function RMPanel_DirectionPanel_addWaypointPanel(wpPanel,index){this._container.appendChild(wpPanel._container);this.setWaypointPanel(wpPanel,index)}function RMPanel_DirectionPanel_getWaypointPanelList(){return this.arrayOfWayPointPanel}
function RMPanel_DirectionPanel_setWaypointPanel(wpPanel,index){this.arrayOfWayPointPanel[wpPanel.id]=wpPanel;if(undefined==index)this.arrayOfWpDisplayOrder.push(wpPanel.id);else directionPanel.arrayOfWpDisplayOrder.splice(index,0,wpPanel.id);this.count++;return this.arrayOfWayPointPanel.length}
function RMPanel_DirectionPanel_removeWaypointPanel(waypointPanel,index){var wp=this.arrayOfWayPointPanel[waypointPanel.id];this._container.removeChild(wp._container);this.arrayOfWayPointPanel[waypointPanel.id]=null;this.arrayOfWayPointPanel.splice(waypointPanel.id,1);if(undefined==index||index==0)this.arrayOfWpDisplayOrder.pop();else this.arrayOfWpDisplayOrder.splice(index,1)}function RMPanel_DirectionPanel_getGeocodedLocationsArray(){return this.arrayOfAddresses}
function scrollDirPanelForVisibility(scrollDiv){var element=RMUtils.getEl("maps_dir_content");element.scrollTop=0;if(scrollDiv){region=YAHOO.util.Dom.getRegion(directionPanel.arrayOfWpDisplayOrder[3]);element.scrollTop=region.top}}function scrollPOIPanelForVisibility(){var element=RMUtils.getEl("place_search_content");element.scrollTop=0}
function RMPanel_DirectionPanel_clearDirections(){while(this.arrayOfWpDisplayOrder.length>2){var panel=this.arrayOfWayPointPanel[this.arrayOfWpDisplayOrder[this.arrayOfWpDisplayOrder.length-1]];this.removeWaypointPanel(panel,this.arrayOfWpDisplayOrder.length-1)}var first_panel=this.arrayOfWayPointPanel[this.arrayOfWpDisplayOrder[0]];first_panel._inputbox.value="";YAHOO.util.Dom.addClass(first_panel._inputbox,"default_text");try{first_panel._inputbox.focus()}catch(e){}first_panel._inputbox.blur();
if(first_panel._addressID!=null){ADDRESS_CACHE.remove(first_panel._addressID);first_panel._addressID=null}first_panel._geocodedAddress=null;first_panel._addedFromPOI=false;var saveAddressLink=RMUtils.getEl(first_panel.id+"_save_address");saveAddressLink.style.display="none";var second_panel=this.arrayOfWayPointPanel[this.arrayOfWpDisplayOrder[1]];second_panel._inputbox.value="";YAHOO.util.Dom.addClass(second_panel._inputbox,"default_text");try{second_panel._inputbox.focus();second_panel._inputbox.blur()}catch(e){}if(second_panel._addressID!=
null){ADDRESS_CACHE.remove(second_panel._addressID);second_panel._addressID=null}second_panel._geocodedAddress=null;second_panel._addedFromPOI=false;saveAddressLink=RMUtils.getEl(second_panel.id+"_save_address");saveAddressLink.style.display="none";RMUtils.getEl("route_detail").innerHTML="";deCarta.App.UI.wipeMap();redrawPanel(false);var hidEmailData=RMUtils.getEl("hidData");hidEmailData.directions="";getHist().resetAllStates();$(".directions-segment").removeClass("directions-full")}
function RMPanel_DirectionPanel_setRequestingDistance(flag){this._requestingDistance=flag}
function RMPanel_DirectionPanel_StepHighlight(){if(document.getElementById&&document.createTextNode){var tables=document.getElementsByTagName("table");for(var i=0;i<tables.length;i++)if(tables[i].className=="ruler"){var trs=tables[i].getElementsByTagName("tr");for(var j=0;j<trs.length;j++)if(!trs[j].className=="routePrintHeader"&&(trs[j].parentNode.nodeName=="TBODY"||trs[j].parentNode.nodeName=="tbody")){trs[j].className="unruled";trs[j].onmouseover=function(){this.className="ruled";return false};
trs[j].onmouseout=function(){this.className="unruled";return false}}}}}
function RMPanel_DirectionPanel_resolveRoute(advancedOptions,locAddrList,reverse,roundTrip,returnToStartAddr,optimized){this._reverse=reverse;this._roundTrip=roundTrip;this._returnToStartAddr=returnToStartAddr;this._optimized=optimized;RandMcNally.App.RouteController.optimized=optimized;RandMcNally.App.RouteController.reverse=reverse;RandMcNally.App.RouteController.roundTrip=roundTrip;var rmMapController=new RMMapController(this._map);rmMapController.calcRoute(locAddrList,advancedOptions,this)}
function RMPanel_POIPanel_handleRouteResults(routeResultJSON,locAddrList,advancedOptions){var directionPanel=this;var viewportWidth;var dirPanel=null;var destination_panel;var source_panel;var txtBox_destination;var txtBox_source;var address;var wayPointPanel;var wayPointPanelB;var saveAddressLink;var errMsg;var errorTip;var hidEmailData=RMUtils.getEl("hidData");var sEmailData="";var sEmailSteps="";var sEmailSummary="";var reverse=this._reverse;var roundTrip=this._roundTrip;var returnToStartAddr=
this._returnToStartAddr;var optimized=this._optimized;redrawPanel(reverse);if(routeResultJSON.length>0){setTimeout("clearCatSelection()",10);if(roundTrip){noOfNewPanels=directionPanel.arrayOfWpDisplayOrder.length-1;noOfCurrentPanels=directionPanel.arrayOfWpDisplayOrder.length;for(var i=0;i<noOfNewPanels;i++){dirPanel=WaypointFactoryInstance.createWaypointPanel("location_"+directionPanel.count,ALPH[directionPanel.count]);directionPanel.addWaypointPanel(dirPanel,noOfCurrentPanels+i);destination_panel=
directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[noOfCurrentPanels+i]];source_panel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[noOfCurrentPanels-i-2]];txtBox_destination=destination_panel._inputbox;txtBox_source=source_panel._inputbox;address=source_panel._geocodedAddress;if(address!=null)destination_panel.setAddress(address);else destination_panel.setAddress(txtBox_source.value);destination_panel.setAddress(txtBox_source.value);YAHOO.util.Dom.removeClass(destination_panel._inputbox,
"default_text");inputBoxChanged(txtBox_destination);destination_panel._addedFromPOI=source_panel._addedFromPOI;addAddressToCacheOrPanel(destination_panel,address,false)}redrawPanel(false)}if(returnToStartAddr){noOfCurrentPanels=directionPanel.arrayOfWpDisplayOrder.length;dirPanel=WaypointFactoryInstance.createWaypointPanel("location_"+directionPanel.count,ALPH[directionPanel.count]);directionPanel.addWaypointPanel(dirPanel,noOfCurrentPanels);destination_panel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[noOfCurrentPanels]];
source_panel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[0]];txtBox_destination=destination_panel._inputbox;txtBox_source=source_panel._inputbox;address=source_panel._geocodedAddress;destination_panel.setAddress(address);destination_panel.setAddress(txtBox_source.value);destination_panel._addedFromPOI=source_panel._addedFromPOI;inputBoxChanged(txtBox_destination);addAddressToCacheOrPanel(destination_panel,address,false);redrawPanel(false)}if(optimized){var seq=routeResultJSON[0].viaPointSequence.split(",");
if(seq.length>1){for(var i=0;i<seq.length;i++)seq[i]=parseInt(seq[i],10);var tempRoutePoints=[];var tempDirPanelWpDisplayOrder=[];tempRoutePoints.push(RandMcNally.App.RouteController.routePoints[0]);tempDirPanelWpDisplayOrder.push(directionPanel.arrayOfWpDisplayOrder[0]);var i=0;for(i=0;i<seq.length;i++){tempRoutePoints.push(RandMcNally.App.RouteController.routePoints[seq[i]+1]);tempDirPanelWpDisplayOrder.push(directionPanel.arrayOfWpDisplayOrder[seq[i]+1])}tempRoutePoints.push(RandMcNally.App.RouteController.routePoints[i+
1]);tempDirPanelWpDisplayOrder.push(directionPanel.arrayOfWpDisplayOrder[i+1]);RandMcNally.App.RouteController.routePoints=tempRoutePoints;directionPanel.arrayOfWpDisplayOrder=tempDirPanelWpDisplayOrder;redrawPanel(false)}}var metric="miles";var totalDistance="";if(this._requestingDistance){this._requestingDistance=false;var oRouteTimeHours=Math.floor(time/3600);var oRouteTimeMinutes=Math.round((time-oRouteTimeHours*3600)/60);var formattedSummary='<span class="float-r small">'+totalDistance+" | ";
if(oRouteTimeHours>0)formattedSummary+=oRouteTimeHours+" hrs ";formattedSummary+=oRouteTimeMinutes+" min";formattedSummary+="</span>Distance";var inputPanel=new RMInputPanel(OK_DIALOG,"Mileage Calculation",formattedSummary,null,this);return}else{directionPanel.arrayOfAddresses=[];var rt_detail="";for(var j=0;j<directionPanel.arrayOfWpDisplayOrder.length;j++){wayPointPanel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[j]];directionPanel.arrayOfAddresses[j]=wayPointPanel._geocodedAddress;
RMUtils.getEl(wayPointPanel.id+"_waypointInputTxtBox_hidden").innerHTML=wayPointPanel._geocodedAddress.toString()}wayPointPanel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[0]];wayPointPanelB=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[directionPanel.arrayOfWpDisplayOrder.length-1]];rt_detail+="From: "+wayPointPanel._geocodedAddress.toString()+"<br/>";rt_detail+="To: "+wayPointPanelB._geocodedAddress.toString()+"<br/>";var tour=0;var stepCount=
0;var firstStepOfTour=false;var lastStepOfTour=false;var maneuvers=routeResultJSON[0].RouteInstructions;var maneuversSubList=[];var cum_dis="";var cum_time=[];var segmentTimeArray=[];for(var i=0;i<maneuvers.length;i++){if(i==0){firstStepOfTour=true;lastStepOfTour=false}else if(lastStepOfTour){lastStepOfTour=false;firstStepOfTour=true;tour=tour+1;wayPointPanel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[tour]];maneuversSubList=[];stepCount=0;cum_dis="";segmentTimeArray=
[]}else if(i<maneuvers.length-1&&maneuvers[i].tour!=maneuvers[i+1].tour||i==maneuvers.length-1){firstStepOfTour=false;lastStepOfTour=true}else{firstStepOfTour=false;lastStepOfTour=false}stepCount=stepCount+1;maneuversSubList.push(maneuvers[i]);if(firstStepOfTour){wayPointPanel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[tour]];saveAddressLink=RMUtils.getEl(wayPointPanel.id+"_save_address");saveAddressLink.style.display="inline"}var segment=RMUtils.getEl(directionPanel.arrayOfWpDisplayOrder[tour]+
"_segment_content");var stepTable=RMUtils.createDOMElement("table");YAHOO.util.Dom.addClass(stepTable,"ruler");var stepBody=RMUtils.createDOMElement("tbody");segment.appendChild(stepTable);stepTable.appendChild(stepBody);metric=routeResultJSON[0].uom=="MI"?"miles":"km";var showMap=firstStepOfTour||lastStepOfTour?"false":"true";var message_text=maneuvers[i].Instruction;segmentTimeArray.push(maneuvers[i].duration);var dist="";if(maneuvers[i].distance){dist=RMUtils.formatDistance(maneuvers[i].distance,
metric);cum_dis=RMUtils.addTwoDistance(dist,cum_dis)}if(firstStepOfTour)stepBody.appendChild(new RMPanel_WaypointPanel_createStepMap(segment.id,dist,cum_dis,"true",-1,message_text,showMap));if(advancedOptions!=null&&advancedOptions.showAccumulatedDistance=="true"&&!(lastStepOfTour&&i==maneuvers.length-1))stepBody.appendChild(new RMPanel_WaypointPanel_createStepMap(segment.id,dist,cum_dis,"true",tour>0?stepCount:stepCount-1,message_text,showMap));else stepBody.appendChild(new RMPanel_WaypointPanel_createStepMap(segment.id,
dist,cum_dis,"false",tour>0?stepCount:stepCount-1,message_text,showMap));var nStepNum=tour>0?stepCount:stepCount-1;if(nStepNum>0)sEmailSteps+=nStepNum+". ";if(firstStepOfTour||lastStepOfTour)sEmailSteps+=message_text+"  "+dist+"\n\n";else sEmailSteps+=message_text+" - "+dist+"\n\n";if(lastStepOfTour){var addedTime=RMUtils.addTimeObjects(segmentTimeArray);var oTime=RMUtils.formatTimeObject(addedTime);cum_time.push(addedTime);var formattedSummary='<span id="route_print_summary" class="float-r small printer_message1">Total Distance: '+
cum_dis+"<br/>Total Time: "+oTime;formattedSummary+="</span>";formattedSummary+='<span class="float-r small route_summary">'+cum_dis+" | "+oTime;formattedSummary+='</span><p class="route_summary">Distance</p>';wayPointPanel.setSegmentSummary(formattedSummary);totalDistance=RMUtils.addTwoDistance(cum_dis,totalDistance);sEmailSteps+="Trip distance: "+cum_dis+"\n\n\n\n"+" Time: "+oTime+"\n\n\n\n";directionPanel.subscribeStepMaps(maneuversSubList,tour>0?0:1,segment.id);var oRoute=routeResultJSON[0];logRouteInformation(oRoute,
0)}}wayPointPanel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[tour+1]];saveAddressLink=RMUtils.getEl(wayPointPanel.id+"_save_address");saveAddressLink.style.display="inline";var route_summary=RMUtils.getEl("route_summary");var TotalTimeText=RMUtils.formatTimeObject(RMUtils.addTimeObjects(cum_time));var formattedSummary='<span id="route_print_summary" class="float-r small printer_message1">Total Distance: '+totalDistance+"<br/>Total Time: "+TotalTimeText;formattedSummary+=
"</span>";formattedSummary+='<span class="float-r small route_summary">'+totalDistance+" | "+TotalTimeText;formattedSummary+='</span><p class="route_summary">Distance</p>';route_summary.innerHTML=formattedSummary;route_summary.style.display="block";var formattedSummary='<span class="float-r small">'+totalDistance+" | "+TotalTimeText;formattedSummary+="</span>Distance";rt_detail+=totalDistance+" <br/>";rt_detail+=TotalTimeText;RMUtils.getEl("route_detail").innerHTML=rt_detail;sEmailSummary="Total Trip distance: "+
totalDistance+" Time: "+TotalTimeText+"\n\n\n\n";sEmailData=sEmailSteps;if(locAddrList.length>2)sEmailData+=sEmailSummary;hidEmailData.directions=sEmailData;var hidEmailType=RMUtils.getEl("hidEmailType");hidEmailType.value="route";isSearchPOI=false;YAHOO.util.Cookie.set("RouteCalculated","true",{expires:new Date("January 12, 2025"),path:"/"});for(i=0;i<locAddrList.length;i++){wayPointPanel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[i]];_singleton_SavedAddressesPanel.saveAddressToCookie(wayPointPanel._geocodedAddress.toOneLiner())}}refreshAds()}else{var index=
0;if(routeResultJSON.details)index=routeResultJSON.details.index;if(index>3)scrollDirPanelForVisibility(true);else scrollDirPanelForVisibility(false);var region=YAHOO.util.Dom.getRegion(directionPanel.arrayOfWpDisplayOrder[index]);for(i=0;i<directionPanel.arrayOfWpDisplayOrder.length;i++){saveAddressLink=RMUtils.getEl(directionPanel.arrayOfWpDisplayOrder[i]+"_save_address");saveAddressLink.style.display="none"}if(routeResultJSON.details)if(routeResultJSON.code==601){var panel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[index]];
if(roundTrip)panel.renderMultipleAddressBaloon(routeResultJSON.details.addressList,"roundTrip",index,directionPanel.arrayOfWpDisplayOrder[index]);else if(reverse)panel.renderMultipleAddressBaloon(routeResultJSON.details.addressList,"reverse",index,directionPanel.arrayOfWpDisplayOrder[index]);else if(optimized)panel.renderMultipleAddressBaloon(routeResultJSON.details.addressList,"optimized",index,directionPanel.arrayOfWpDisplayOrder[index]);else panel.renderMultipleAddressBaloon(routeResultJSON.details.addressList,
"route",index,directionPanel.arrayOfWpDisplayOrder[index])}else if(routeResultJSON.code===206){errMsg=RMResources.GEOCODE_NO_STATE_INPUT_ERROR;scrollTab(region);errorTip=new RMErrorWindow("error",region.left+250,region.top,errMsg)}else{scrollTab(region);errMsg=RMResources.GEOCODE_ADDRESS_NOT_FOUND;errorTip=new RMErrorWindow("error",region.left+250,region.top,errMsg)}else if(routeResultJSON.code==303)if(advancedOptions!=null&&advancedOptions.tolls==="true"){scrollTab(region);errorTip=new RMErrorWindow("error",
region.left+250,region.top,RMResources.DIR_UNABLE_TO_CALCULATE_ROUTE_TOLL_ROAD)}else{scrollTab(region);errorTip=new RMErrorWindow("error",region.left+250,region.top,RMResources.DIR_UNABLE_TO_CALCULATE_ROUTE)}else{scrollTab(region);errMsg=routeResultJSON.message;errorTip=new RMErrorWindow("error",region.left+250,region.top,errMsg)}}RMPanel_DirectionPanel_StepHighlight()}
function RMPanel_DirectionPanel_subscribeStepMaps(maneuvers,maneuversStartIndex,segmentID){var bIsFirstRoute=maneuversStartIndex==1;for(var i=maneuversStartIndex;i<maneuvers.length;i++){var maneuverDivID=segmentID+"_step_"+i;var maneuverLinkID=segmentID+"_step_link_"+i;var sMapContainer=segmentID+"_step_link_map_"+i;var objMapContainer=RMUtils.getEl(sMapContainer);var j=bIsFirstRoute?i:i-1;var maneuver;var container=RMMapOverlay_RMInfoWindow_generateWindow(mapId);maneuver=maneuvers[j];if(!maneuver)continue;
YAHOO.util.Event.addListener(maneuverDivID,"click",function(e,arg){if(!IS_PRINT_PREVIEW){var stepNum=arg.stepNum;var maneuver=arg.maneuver;var maneuvers=arg.maneuvers;var bIsFirstRoute=arg.bIsFirstRoute;var instr=maneuver.Instruction.content?maneuver.Instruction.content:maneuver.Instruction;instr=stepNum+". "+instr;RMMap_showStepMap(maneuver.maneuverMap.URL,maneuver.position,instr,stepNum,maneuvers,bIsFirstRoute)}},{maneuver:maneuver,stepNum:i,maneuvers:maneuvers,bIsFirstRoute:bIsFirstRoute},this);
objMapContainer.innerHTML=RMMap_buildInlineStepMap(maneuver.maneuverMap.URL,segmentID,i);objMapContainer.style.display="none"}}function RMPanel_DirectionPanel_displayRoutePlacemarks(address,i){var label=ALPH[parseInt(i,10)];this._map.displayPlaceMark(address,label)}
function RMPanel_DirectionPanel_extractAddressNameFromInstruction(instruction){if(instruction.content)instruction=instruction.content;if(instruction.indexOf("You are at ")==0)instruction=instruction.substring("You are at ".length);else{var regEx=new RegExp("Leave ([^;]+);","i");var matches=regEx.exec(instruction);if(matches)if(matches.length>1)instruction=matches[1]}return instruction}RMPanel_DirectionPanel_resolveMapsDirCall_lastTimestamp=null;
function RMPanel_DirectionPanel_resolveMapsDirCall(e,index,address,multipleAddr,reverse,roundTrip,optimized){RMPanel_DirectionPanel_resolveMapsDirCall_lastTimestamp=new Date;RandMcNally.App.RouteController.resetStringsAndTimes();console.log("RMPanel_DirectionPanel_resolveMapsDirCall_lastTimestamp="+RMPanel_DirectionPanel_resolveMapsDirCall_lastTimestamp);if(IS_PRINT_PREVIEW===true)return;if(e)e.cancelBubble=true;var locAddrList=[];var locAddrListForRoundTrip=[];var locAddrListForRetToStartAddr=[];
var returnToStartAddr=false;var errMsg;var errorTip;if(directionPanel.arrayOfWpDisplayOrder.length>1){var noOfNewPanels;var noOfCurrentPanels;var optionsModified=YAHOO.util.Cookie.get("OptionsModifiedSinceLastAccess");var advancedOptions=null;if(optionsModified=="true"){advancedOptions=eval("("+globalPOIPanel.readOptionsFromPanel()+")");RandMcNally.App.RouteController.advancedOptions=advancedOptions;if(advancedOptions!=null&&advancedOptions.makeThisMyDefault=="false")YAHOO.util.Cookie.set("OptionsModifiedSinceLastAccess",
"false",{expires:new Date("January 12, 2025"),path:"/"})}else advancedOptions=RandMcNally.App.RouteController.advancedOptions;if(advancedOptions!=null&&advancedOptions.returnToStartAddress=="true"&&!roundTrip){returnToStartAddr=true;console.log("*****************true************");if(directionPanel.arrayOfWpDisplayOrder.length+1>10){scrollTabTop();errMsg=RMResources.DIR_RETURNTOSTART_STOP_LIMIT;errorTip=new RMErrorWindow("error",250,YAHOO.util.Dom.getXY(this._container)[1]-4,errMsg);return}}if(roundTrip||
returnToStartAddr)if(roundTrip&&2*directionPanel.arrayOfWpDisplayOrder.length-1>10){scrollTabTop();errMsg=RMResources.DIR_ROUNDTRIP_STOP_LIMIT;errorTip=new RMErrorWindow("error",250,YAHOO.util.Dom.getXY(this._container)[1]-4,errMsg);return}else{var roundTripExecuted=true;var allBoxesEmpty=true;for(var i=0,j=directionPanel.arrayOfWpDisplayOrder.length-1;i<directionPanel.arrayOfWpDisplayOrder.length-1&&j>=0;i++,j--){var wp1=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[i]];
var wp2=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[j]];if(!wp1.isEmpty()||!wp2.isEmpty())allBoxesEmpty=false;if(wp1._inputbox.value!=wp2._inputbox.value)roundTripExecuted=false;else if(wp1._geocodedAddress!=null&&wp2._geocodedAddress!=null)if(wp1._geocodedAddress.formattedAddress!=wp2._geocodedAddress.formattedAddress)roundTripExecuted=false}if(allBoxesEmpty){scrollTabTop();errMsg=RMResources.DIR_MISSING_INPUT_ADDRESS;errorTip=new RMErrorWindow("error",250,YAHOO.util.Dom.getXY(this._container)[1]-
4,errMsg);return}else if(roundTrip&&roundTripExecuted){scrollTabTop();errMsg=RMResources.DIR_ROUNDTRIP_DUPLICATE;errorTip=new RMErrorWindow("error",250,YAHOO.util.Dom.getXY(this._container)[1]-4,errMsg);return}else if(returnToStartAddr&&roundTripExecuted)returnToStartAddr=false}var text1OK=true;var textOtherOK=true;var textEmptyIndex=0;var textEmpty=false;var roundTripCount=1;var withinWordLimit=true;for(i=0;i<directionPanel.arrayOfWpDisplayOrder.length;i++){var panel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[i]];
var txtBox=panel._inputbox;if(panel._geocodedAddress!=null)if(panel._geocodedAddress.inputText!=panel._inputbox.value.replace(/^\s+|\s+$/g,"")){if(panel._addressID!=null){ADDRESS_CACHE.remove(panel._addressID);panel._addressID=null}panel._geocodedAddress=null}addAddressToCacheOrPanel(panel,null,false);if(isTextBoxEmpty(txtBox)||txtBox.value.trim().length==1)if(i==0){text1OK=false;break}else if(i<=directionPanel.arrayOfWpDisplayOrder.length-1){textEmpty=true;textEmptyIndex=i;break}else if(textEmpty){textEmptyIndex=
i-1;textEmpty=false;break}else{if(directionPanel.arrayOfWpDisplayOrder.length==2){textOtherOK=false;textEmptyIndex=i;break}}else if(!chkWordLimit(panel)){withinWordLimit=false;textEmptyIndex=i;break}else{if(null!=panel._addressID){var addr=ADDRESS_CACHE.get(panel._addressID);locAddrList.splice(i,0,addr)}else{var rmAddress=new RMAddress("","","","","","","",txtBox.value);rmAddress.txtBox=txtBox;locAddrList.splice(i,0,rmAddress)}if(roundTrip&&i<directionPanel.arrayOfWpDisplayOrder.length-1)locAddrListForRoundTrip.splice(0,
0,locAddrList[i])}}if(roundTrip){locAddrList=locAddrList.concat(locAddrListForRoundTrip);returnToStartAddr=false}else if(returnToStartAddr){if(locAddrList[0].toString()!=locAddrList[locAddrList.length-1].toString())locAddrListForRetToStartAddr=locAddrList[0];else if(locAddrList[0].addressName!=locAddrList[locAddrList.length-1].addressName)locAddrListForRetToStartAddr=locAddrList[0];else returnToStartAddr=false;locAddrList=locAddrList.concat(locAddrListForRetToStartAddr)}if(text1OK&&textOtherOK&&!textEmpty&&
withinWordLimit){if(reverse){directionPanel.arrayOfWpDisplayOrder.reverse();locAddrList.reverse()}this.resolveRoute(advancedOptions,locAddrList,reverse,roundTrip,returnToStartAddr,optimized)}else{directionPanel.arrayOfAddresses=null;if(textEmptyIndex>3)scrollDirPanelForVisibility(true);else scrollDirPanelForVisibility(false);var region=YAHOO.util.Dom.getRegion(directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[textEmptyIndex]].id);if(!text1OK){scrollTab(region);errMsg=RMResources.DIR_MISSING_INPUT_ADDRESS;
errorTip=new RMErrorWindow("error",region.left+250,region.top,errMsg)}else if(text1OK&&!textOtherOK){scrollTab(region);errMsg=RMResources.DIR_MISSING_INPUT_ADDRESS;errorTip=new RMErrorWindow("error",region.left+250,region.top,errMsg)}else if(textEmpty){scrollTab(region);if(textEmptyIndex>1)errMsg=RMResources.DIR_MISSING_INPUT_STOP;else errMsg=RMResources.GEOCODE_MISSING_INPUT_ADDRESS;errorTip=new RMErrorWindow("error",region.left+250,region.top,errMsg)}else if(!withinWordLimit){scrollTab(region);
new RMErrorWindow("error",region.left+250,region.top,RMResources.TOO_MANY_WORDS_PREFIX+"16"+RMResources.TOO_MANY_WORDS_SUFFIX)}}}}
function scrollTab(region){var scrollDiv=YAHOO.util.Selector.query(".tabs");if(!scrollDiv||scrollDiv.length<=0)return;scrollDiv=scrollDiv[0];var tregion=YAHOO.util.Dom.getRegion(scrollDiv);if(!tregion)return;var regiona=region;regiona.bottom=region.top+50;if(!tregion.contains(regiona)){var regiondiff=0;if(tregion.top>=region.top)regiondiff=region.top-tregion.top;else regiondiff=regiona.bottom-tregion.bottom;scrollDiv.scrollTop+=regiondiff;region.top-=regiondiff;return region}}
function scrollTabTop(){var scrollDiv=YAHOO.util.Selector.query(".tabs");if(!scrollDiv||scrollDiv.length<=0)return;scrollDiv=scrollDiv[0];scrollDiv.scrollTop=0}function showHideSavedAddressesPanel(waypointPanelId){ADDRESS_BOOK.populateSavedAddressesPanel(waypointPanelId);return}
function showHideWaypointMenu(waypointPanelId){var menu=RMUtils.getEl("wp_menu");if(menu.style.display!="none")menu.style.display="none";else{isWaypointPanelMenuVisible=true;menu.style.display="block";var region=YAHOO.util.Dom.getRegion(waypointPanelId);YAHOO.util.Dom.setXY(menu,[region.right-34,region.top+10]);var pos=0;for(var i=0;i<directionPanel.arrayOfWpDisplayOrder.length;i++)if(directionPanel.arrayOfWpDisplayOrder[i]==waypointPanelId){pos=i;break}if(pos==1&&pos<directionPanel.arrayOfWpDisplayOrder.length-
1)menu.innerHTML="<ul><li><a href=\"javascript:rearrangeWPPanels('"+waypointPanelId+"','DOWN')\">Move Down</a></li>"+"<li><a href=\"javascript:rearrangeWPPanels('"+waypointPanelId+"','REMOVE')\">Remove</a></li></ul>";else if(pos>1&&pos==directionPanel.arrayOfWpDisplayOrder.length-1)menu.innerHTML="<ul><li><a href=\"javascript:rearrangeWPPanels('"+waypointPanelId+"','UP')\">Move Up</a></li>"+"<li><a href=\"javascript:rearrangeWPPanels('"+waypointPanelId+"','REMOVE')\">Remove</a></li></ul>";else menu.innerHTML=
"<ul><li><a href=\"javascript:rearrangeWPPanels('"+waypointPanelId+"','UP')\">Move Up</a></li>"+"<li><a href=\"javascript:rearrangeWPPanels('"+waypointPanelId+"','REMOVE')\">Remove</a></li>"+"<li><a href=\"javascript:rearrangeWPPanels('"+waypointPanelId+"','DOWN')\">Move Down</a></li></ul>"}}
function rearrangeWPPanels(panelID,action){var pos=1;var errMsg;var errorTip;for(var i=0;i<directionPanel.arrayOfWpDisplayOrder.length;i++)if(directionPanel.arrayOfWpDisplayOrder[i]==panelID){pos=i;break}if(action=="UP"){if(pos>1)directionPanel.arrayOfWpDisplayOrder.splice(pos-1,2,directionPanel.arrayOfWpDisplayOrder[pos],directionPanel.arrayOfWpDisplayOrder[pos-1])}else if(action=="DOWN"){if(pos<=directionPanel.arrayOfWpDisplayOrder.length-1)directionPanel.arrayOfWpDisplayOrder.splice(pos,2,directionPanel.arrayOfWpDisplayOrder[pos+
1],directionPanel.arrayOfWpDisplayOrder[pos])}else if(action=="REMOVE")if(directionPanel.arrayOfWpDisplayOrder.length>2){var panel=RMUtils.getEl(panelID);directionPanel.removeWaypointPanel(panel,pos)}else{errMsg=RMResources.DIR_CANNOT_REMOVE_STOP;var panel=RMUtils.getEl(panelID);errorTip=new RMErrorWindow("error",250,YAHOO.util.Dom.getXY(panel)[1]-4,errMsg)}else if(action=="ADD")if(directionPanel.arrayOfWpDisplayOrder.length<10){var dirPanel=WaypointFactoryInstance.createWaypointPanel("location_"+
directionPanel.count,ALPH[directionPanel.count]);directionPanel.addWaypointPanel(dirPanel,pos+1);var region=YAHOO.util.Dom.getRegion(directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[pos]].id);var element=RMUtils.getEl("maps_dir_content");element.scrollTop=region.top}else{errMsg=RMResources.DIR_STOP_LIMIT;var panel=RMUtils.getEl(panelID);errorTip=new RMErrorWindow("error",250,YAHOO.util.Dom.getXY(panel)[1]-4,errMsg)}redrawPanel(false);var hidEmailData=RMUtils.getEl("hidData");
hidEmailData.directions="";var menu=RMUtils.getEl("wp_menu");menu.style.display="none"}
function redrawPanel(reverse){var maps_dir_panel=RMUtils.getEl("maps_dir_content");RMUtils.removeChildElements("maps_dir_content");var mapObject;for(i=0;i<directionPanel.arrayOfWpDisplayOrder.length;i++){var panel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[i]];if(panel){panel._panelHeader_marker.innerHTML=ALPH[i];panel.setSegmentSummary("");maps_dir_panel.appendChild(panel._container);if(i>0&&directionPanel.arrayOfWpDisplayOrder.length>2)panel.setWaypointMenuDisplay("block");
else panel.setWaypointMenuDisplay("none");if(reverse){if(i===0){panel.deactivateRouting();panel.activateGeocoding()}else{if(panel.isGeocodingActive()){mapObject=panel._map;panel.deactivateGeocoding()}panel.activateRouting()}panel.setMarker(ALPH[i])}}else;}if(reverse){panel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[0]];panel.setMap(mapObject)}removeStepMaps();YAHOO.util.Cookie.set("RouteCalculated","false",{expires:new Date("January 12, 2025"),path:"/"})}
function removeStepMaps(){for(var i=0;i<directionPanel.arrayOfWpDisplayOrder.length;i++)RMUtils.removeChildElements(directionPanel.arrayOfWpDisplayOrder[i]+"_segment_content");var route_summary=RMUtils.getEl("route_summary");route_summary.innerHTML="";route_summary.style.display="none"}
function RMPanel_DirectionPanel_setForm(form){this._form=document.getElementById(form);YAHOO.util.Event.addListener(this._form,"submit",function(e){this.resolveMapsDirCall(e)},this,true);var reverse_route=RMUtils.getEl("reverse_route");YAHOO.util.Event.addListener(reverse_route,"click",function(e){this.resolveMapsDirCall(e,"","","",true,false,false)},this,true);var round_trip=RMUtils.getEl("round_trip");YAHOO.util.Event.addListener(round_trip,"click",function(e){this.resolveMapsDirCall(e,"","","",
false,true,false)},this,true);var clear_all=RMUtils.getEl("clear_all");var clear_all_top=RMUtils.getEl("clear_all_top");YAHOO.util.Event.addListener(clear_all,"click",function(e){clearMap()},this,true);YAHOO.util.Event.addListener(clear_all_top,"click",function(e){clearMap()},this,true);var maps_dir_directions=RMUtils.getEl("img_maps_dir_directions");YAHOO.util.Event.addListener(maps_dir_directions,"click",function(e){this.resolveMapsDirCall(e,"","","",false,false,false)},this,true);var maps_dir_locate=
RMUtils.getEl("img_maps_dir_locate");YAHOO.util.Event.addListener(maps_dir_locate,"click",function(e){singleLineBox.doGeocodeHandler(e)},this,true);var optimizedRoute=RMUtils.getEl("optimize_route");YAHOO.util.Event.addListener(optimizedRoute,"click",function(e){optimizeRouteDialog()},this,true)}function RMPanel_DirectionPanel_setCollapse(isCollapsed){}
function CustomPanel(){this._field1="CustomPanel";this._sourceFile="RMPanels.js";this.setBodyHTML=RMPanel_CustomPanel_setBodyHTML;this.setHeaderHTML=RMPanel_CustomPanel_setHeaderHTML;this.setFooterHTML=RMPanel_CustomPanel_setFooterHTML;this.setURL=RMPanel_CustomPanel_setURL}CustomPanel.prototype=new RMPanel;CustomPanel.prototype.constructor=CustomPanel;CustomPanel.superclass=RMPanel.prototype;
CustomPanel.prototype._init=function(containerID){var container=document.getElementById(containerID);CustomPanel.superclass._init.call(this,container)};function RMPanel_CustomPanel_setBodyHTML(htmlElement){}function RMPanel_CustomPanel_setHeaderHTML(htmlElement){}function RMPanel_CustomPanel_setFooterHTML(htmlElement){}function RMPanel_CustomPanel_setURL(url){}
function RMMasterPanel(map){this._field1="RMMasterPanel";this._sourceFile="RMPanels.js";this.addSubPanel=RMMasterPanel_addSubPanel;this.removeSubPanel=RMMasterPanel_removeSubPanel;this.getDirectionObject=RMMasterPanel_getDirectionObject;this.getPOIPanel=RMMasterPanel_getPOIPanel;this.getDirectionPanel=RMMasterPanel_getDirectionPanel;this.getCustomPanels=RMMasterPanel_getCustomPanels;this.getOptionPanel=RMMasterPanel_getOptionPanel}RMMasterPanel.prototype.map=null;
RMMasterPanel.prototype.poiPanel=null;RMMasterPanel.prototype.optionPanel=null;RMMasterPanel.prototype.direction=null;RMMasterPanel.prototype.dirPanel=null;RMMasterPanel.prototype.listOfCustomPanels=null;RMMasterPanel.prototype.ID=null;function RMMasterPanel_addSubPanel(panel){}function RMMasterPanel_removeSubPanel(panel){}function RMMasterPanel_getDirectionObject(){}function RMMasterPanel_getPOIPanel(){}function RMMasterPanel_getDirectionPanel(){}function RMMasterPanel_getCustomPanels(){}
function RMMasterPanel_getOptionPanel(){}var OK_DIALOG=0;var OK_CANCEL_DIALOG=1;var YES_NO_DIALOG=2;var YES_NO_CANCEL_DIALOG=3;function RMInputPanel(type,title,text,callbacks,context,param){this._field1="RMInputPanel";this._sourceFile="RMPanels.js";this._init(type,title,text,callbacks,context,param)}RMInputPanel.prototype.constructor=RMPanel;RMInputPanel.superclass=RMPanel.prototype;RMInputPanel.prototype.options=null;
RMInputPanel.prototype._init=function(type,title,text,callbacks,context,param){var handlePositive=function(){this.destroy();if(callbacks&&callbacks[0])callbacks[0].call(context,param)};var handleNegative=function(){this.destroy();if(callbacks&&callbacks[1])callbacks[1].call(context,param)};var buttons=[{text:"OK",handler:handlePositive}];switch(type){case OK_DIALOG:break;case OK_CANCEL_DIALOG:button[1]={text:"Cancel",handler:handleNegative,isDefault:true};break;case YES_NO_CANCEL_DIALOG:button[2]=
{text:"Cancel",handler:handleNegative,isDefault:true};case YES_NO_DIALOG:buttons[0].text="Yes";buttons[1]={text:"No",handler:handleNegative};break}this._dialog=new YAHOO.widget.SimpleDialog("userdialog",{zIndex:204,width:"250px",effect:"",fixedcenter:true,modal:true,close:false,visible:false,draggable:false});this._dialog.setHeader(title);this._dialog.setBody(text);this._dialog.cfg.setProperty("icon",YAHOO.widget.SimpleDialog.ICON_WARN);this._dialog.cfg.queueProperty("buttons",buttons);this._dialog.render(document.body);
this._dialog.show();RMInputPanel.superclass._init.call(this,"dialog")};function RMInputPanel_setVisible(visibility){if(visibility)this._dialog.show();else this._dialog.hide()}
function RMPanel_AdvancedOptionsPanel_saveAdvancedOptions(){var cookieString=this.readOptionsFromPanel();var prevAdvancedOptionsCookie=eval("("+YAHOO.util.Cookie.get("AdvancedOptionsCookie")+")");var curAdvancedOptionsCookie=eval("("+cookieString+")");if(true&&prevAdvancedOptionsCookie!=null&&prevAdvancedOptionsCookie.routeType==curAdvancedOptionsCookie.routeType&&prevAdvancedOptionsCookie.metrc==curAdvancedOptionsCookie.metrc&&prevAdvancedOptionsCookie.tolls==curAdvancedOptionsCookie.tolls&&prevAdvancedOptionsCookie.tunnels==
curAdvancedOptionsCookie.tunnels&&prevAdvancedOptionsCookie.bridges==curAdvancedOptionsCookie.bridges&&prevAdvancedOptionsCookie.ferries==curAdvancedOptionsCookie.ferries&&prevAdvancedOptionsCookie.returnToStartAddress==curAdvancedOptionsCookie.returnToStartAddress&&prevAdvancedOptionsCookie.showAccumulatedDistance==curAdvancedOptionsCookie.showAccumulatedDistance&&prevAdvancedOptionsCookie.makeThisMyDefault==curAdvancedOptionsCookie.makeThisMyDefault&&true){hidePanel("advanced");grayOut(false);return}else{if(curAdvancedOptionsCookie.makeThisMyDefault==
"true")YAHOO.util.Cookie.set("AdvancedOptionsCookie",cookieString,{expires:new Date("January 12, 2025"),path:"/"});else YAHOO.util.Cookie.set("AdvancedOptionsCookie","",{expires:new Date("January 12, 2000"),path:"/"});YAHOO.util.Cookie.set("OptionsModifiedSinceLastAccess","true",{expires:new Date("January 12, 2025"),path:"/"});var isRouteCalculated=YAHOO.util.Cookie.get("RouteCalculated");hidePanel("advanced");grayOut(false);if(isRouteCalculated=="true")directionPanel.resolveMapsDirCall(null,"","",
"",false,false)}}
function RMPanel_AdvancedOptionsPanel_readOptionsFromPanel(){var typeObj=document.getElementsByName("radType");var unitsObj=document.getElementsByName("radUnits");var reorderOptionsObj=document.getElementsByName("chkReorder");var selectedType;var selectedUnits;var avoidTollRoads;var avoidTunnels;var avoidBridges;var avoidFerries;var returnToStartAddress;var showAccumlDistance;var makeThisDefault;selectedType=getRadioButtonValue(typeObj);selectedUnits=getRadioButtonValue(unitsObj);avoidTollRoads=reorderOptionsObj[0].checked;
avoidBridges=reorderOptionsObj[1].checked;avoidTunnels=reorderOptionsObj[2].checked;avoidFerries=reorderOptionsObj[3].checked;showAccumlDistance=reorderOptionsObj[4].checked;returnToStartAddress=reorderOptionsObj[5].checked;makeThisDefault=reorderOptionsObj[6].checked;var cookieString="";if(selectedType=="1")cookieString+='{"routeType":"f",';else if(selectedType=="2")cookieString+='{"routeType":"s",';else if(selectedType=="3")cookieString+='{"routeType":"a",';else if(selectedType=="4")cookieString+=
'{"routeType":"n",';else if(selectedType=="5")cookieString+='{"routeType":"m",';else if(selectedType=="6")cookieString+='{"routeType":"e",';else if(selectedType=="7")cookieString+='{"routeType":"p",';else cookieString+='{"routeType":"none",';if(selectedUnits=="1")cookieString+='"metrc":"false",';else if(selectedUnits=="2")cookieString+='"metrc":"true",';else cookieString+='"metrc":"none",';cookieString+='"tolls":"'+(avoidTollRoads?"true":"false")+'",';cookieString+='"tunnels":"'+(avoidTunnels?"true":
"false")+'",';cookieString+='"bridges":"'+(avoidBridges?"true":"false")+'",';cookieString+='"ferries":"'+(avoidFerries?"true":"false")+'",';if(returnToStartAddress)cookieString+='"returnToStartAddress":"true",';else cookieString+='"returnToStartAddress":"false",';if(showAccumlDistance)cookieString+='"showAccumulatedDistance":"true",';else cookieString+='"showAccumulatedDistance":"false",';if(makeThisDefault)cookieString+='"makeThisMyDefault":"true"'+CLOSE_BRACES;else cookieString+='"makeThisMyDefault":"false"'+
CLOSE_BRACES;return cookieString}function getRadioButtonValue(radioObj){if(!radioObj)return"";var radioLength=radioObj.length;if(radioLength==undefined)if(radioObj.checked)return radioObj.value;else return"";for(var i=0;i<radioLength;i++)if(radioObj[i].checked)return radioObj[i].value;return""}function RMPanel_AdvancedOptionsPanel_showPanel(){grayOut(true,{div:"advanced"});showPanel("40","73","advanced")}
function RMPanel_AdvancedOptionsPanel_initializeAdvancedOptionsPanel(){var advancedOptions=eval("("+YAHOO.util.Cookie.get("AdvancedOptionsCookie")+")");var radType=document.getElementsByName("radType");var radUnits=document.getElementsByName("radUnits");var chkReorder=document.getElementsByName("chkReorder");if(advancedOptions){if(advancedOptions.routeType=="f")setRadioValue(radType,1);else if(advancedOptions.routeType=="s")setRadioValue(radType,2);else if(advancedOptions.routeType=="a")setRadioValue(radType,
3);else if(advancedOptions.routeType=="n")setRadioValue(radType,4);else if(advancedOptions.routeType=="m")setRadioValue(radType,5);else if(advancedOptions.routeType=="e")setRadioValue(radType,6);else if(advancedOptions.routeType=="p")setRadioValue(radType,7);else setRadioValue(radType,0);if(advancedOptions.metrc=="false")setRadioValue(radUnits,1);else if(advancedOptions.metrc=="true")setRadioValue(radUnits,2);else setRadioValue(radUnits,0);chkReorder[0].checked=advancedOptions.tolls=="true";chkReorder[1].checked=
advancedOptions.bridges=="true";chkReorder[2].checked=advancedOptions.tunnels=="true";chkReorder[3].checked=advancedOptions.ferries=="true";chkReorder[4].checked=advancedOptions.showAccumulatedDistance=="true";chkReorder[5].checked=advancedOptions.returnToStartAddress=="true";chkReorder[6].checked=advancedOptions.makeThisMyDefault=="true"}else{setRadioValue(radType,1);setRadioValue(radUnits,1);chkReorder[0].checked=false;chkReorder[1].checked=false;chkReorder[2].checked=false;chkReorder[3].checked=
false;chkReorder[4].checked=false;chkReorder[5].checked=false;chkReorder[6].checked=false}}function setRadioValue(radioObj,newValue){if(!radioObj)return;var radioLength=radioObj.length;if(radioLength==undefined){radioObj.checked=radioObj.value==newValue.toString();return}for(var i=0;i<radioLength;i++){radioObj[i].checked=false;if(radioObj[i].value==newValue.toString())radioObj[i].checked=true}}function clearPOIList(){clearSearch();isSearchPOI=false}var ref;var isWaypointPanelMenuVisible=true;
function hideMenu(divId){if(isWaypointPanelMenuVisible)ref=setInterval('document.getElementById("'+divId+'").style.display = "none"; clearInterval(ref); isWaypointPanelMenuVisible=false;',200)}function stillIn(){clearInterval(ref);isWaypointPanelMenuVisible=true}function isTextBoxEmpty(textbox){return textbox.value.trim().length==0||YAHOO.util.Dom.hasClass(textbox,"default_text")}
function checkInputBoxOnCutPaste(panelID){var panel=directionPanel.arrayOfWayPointPanel[panelID];inputBoxChanged(panel._inputbox)}
function inputBoxChanged(textbox){hidePanel("error");var isDirections=false;if(textbox)isDirections=true;else for(var i=1;i<directionPanel.arrayOfWpDisplayOrder.length;i++){var txtbox=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[i]]._inputbox;if(!isTextBoxEmpty(txtbox)){isDirections=true;break}}if(isDirections){document.getElementById("maps_dir_directions").style.display="block";document.getElementById("maps_dir_locate").style.display="none"}else{document.getElementById("maps_dir_directions").style.display=
"none";document.getElementById("maps_dir_locate").style.display="block"}var imgTag=YAHOO.util.Selector.query("img","maps_dir_locate",true);if(imgTag!=null)imgTag.title="Locate "+textbox.value}
function addAddressToCacheOrPanel(panel,addrJSON,poi){if(poi){if(null!=panel._addressID)ADDRESS_CACHE.remove(panel._addressID);panel._addressID=null;try{panel._geocodedAddress=addressForPositionAndAddress(addrJSON[0],addrJSON[1])}catch(e){panel._geocodedAddress=null}if(null==panel._geocodedAddress)panel._geocodedAddress=RMUtils.createRMAddresses(addrJSON)[0];var countrySuffix=RMPanel_countrySuffixForAddressString(panel._inputbox.value);panel._inputbox.value=panel._geocodedAddress.toString()+countrySuffix;
panel._geocodedAddress.inputText=panel._inputbox.value.replace(/^\s+|\s+$/g,"")}else if(null==panel._addressID)if(null!=panel._geocodedAddress)panel._addressID=ADDRESS_CACHE.put(panel._geocodedAddress,panel.id);else if(null!=addrJSON){try{panel._geocodedAddress=addressForPositionAndAddress(addrJSON[0],addrJSON[1])}catch(e){panel._geocodedAddress=null}if(null==panel._geocodedAddress)panel._geocodedAddress=RMUtils.createRMAddresses(addrJSON)[0];panel._geocodedAddress.inputText=panel._inputbox.value;
panel._addressID=null}}function chkWordLimit(panel,wordString){var cleanedString="";if(null!=panel){var txtBox=panel._inputbox;cleanedString=txtBox.value.replace(/\,/g," ")}else cleanedString=wordString.replace(/\,/g," ");cleanedString=cleanedString.replace(/^\s+|\s+$/g,"");cleanedString=cleanedString.replace(/\s{2,}/g," ");var words=cleanedString.split(" ");if(words.length>16)return false;else return true}
function optimizeRouteDialog(cancel,optimized){if(cancel==true){hidePanel("optimizeRouteDialog");grayOut(false);return}else if(optimized){grayOut(false);hidePanel("optimizeRouteDialog");directionPanel.resolveMapsDirCall(null,"","","",false,false,true)}else{var divpanel=RMUtils.getEl("optimizeRouteDialog");if(directionPanel.arrayOfWpDisplayOrder.length>3){RMUtils.getEl("dialog1").style.display="block";RMUtils.getEl("dialog1").style.zIndex="9999";RMUtils.getEl("dialog").style.display="none"}else{RMUtils.getEl("dialog").style.display=
"block";RMUtils.getEl("dialog").style.zIndex="9999";RMUtils.getEl("dialog1").style.display="none"}grayOut(true,{div:"optimizeRouteDialog"});divpanel.style.zIndex="9999";divpanel.style.display="block"}};function RMMapController(rmmap){this._map=rmmap;this.geocode=RMMapController_geocode;this.calcRoute=RMMapController_calcRoute;this.POISearch=RMMapController_POISearch;this.pins=[];this._messageBox=RMPanel_messageBox}
function RMMapController_geocode(sAddressLine,waypointPanel,mapLocale){deCarta.App.map.getInfoWindow().hide();if(null==sAddressLine||sAddressLine==""||sAddressLine.length==1||sAddressLine==sDefaultAddress){var results=[];waypointPanel.handleGeocodeResults(sAddressLine,results);return}getCEM().fireEvent(RMEvent.Service.READY,mapId,{message:"Looking up for "+sAddressLine+"..."});var callback=function(results){deCarta.App.UI.wipeMap();if(results.length==0||results.address.toString()==""){if(!waypointPanel)this._messageBox(RMResources.GEOCODE_ADDRESS_NOT_FOUND);
deCarta.App.UI.enableSearches()}else{var pos=results.position;var addr=results.address;var usOrMexZipcodeMatch=sAddressLine.match(/^\s*([0-9]{5})(-[0-9]{4}){0,1}\s*$/);var canadianZipcodeMatch=sAddressLine.match(/^\s*([A-Za-z]\d[A-Za-z])\s*(\d[A-Za-z]\d){0,1}\s*$/);if(usOrMexZipcodeMatch||canadianZipcodeMatch||locFromURL){pos.splice(1,pos.length-1);results.position=pos;addr.splice(1,addr.length-1);results.address=addr;if(results["geoAddr"])results.geoAddr.splice(1,results.geoAddr.length-1);locFromURL=
false}var msg="";var msgShort="";var nonPOIs=0;var addrList=[];if(pos.length===1){nonPOIs++;addrList=addr}if(nonPOIs==1){var deCartaGeocodedAddress=results.geoAddr[0];var rmAddress=rmAddressForDeCartaGeocodedAddress(deCartaGeocodedAddress);logLocationInformation(rmAddress,deCartaGeocodedAddress);poiPanel._geocodedAddress=rmAddress;RMMap_loadMap(rmAddress,deCartaGeocodedAddress)}else if(!waypointPanel)this._messageBox(RMResources.GEOCODE_MULTIPLE_RESULTS)}if(waypointPanel)waypointPanel.handleGeocodeResults(sAddressLine,
results);getCEM().fireEvent(RMEvent.Service.COMPLETE,mapId);var params=[];params[0]=null;params[1]=geocodeResultJSONForResult(results);params[2]=results;getCEM().fireEvent(RMEvent.Geocode.COMPLETE,mapId,params);detachAd1()}.scope(this);var canadianZipcodeMatch=sAddressLine.match(/^\s*([A-Za-z]\d[A-Za-z])\s*(\d[A-Za-z]\d){0,1}\s*$/);var airportCodeMatch=sAddressLine.match(/^\s*([A-Za-z0-9]{3})\s*$/);if(canadianZipcodeMatch){if(canadianZipcodeMatch[1]&&canadianZipcodeMatch[2])sAddressLine=canadianZipcodeMatch[1]+
" "+canadianZipcodeMatch[2];mapLocale="CA-EN"}if(airportCodeMatch){var airportCode=airportCodeMatch[1];var params="cat=city&val="+airportCode;AIRPORT_SEARCH.search(params)}else deCarta.App.search.Address(sAddressLine.toLowerCase(),callback,mapLocale)}
function RMMapController_calcRoute(locAddrList,advancedOptions,directionsPanel,bClearOldRoute,bZoomPanToRoute,bDisplayRouteStopIcons,bDisplayRouteRibbon){getCEM().fireEvent(RMEvent.Service.READY,mapId,{message:"REQUESTING ROUTE..."});var routeCache=getRouteCache();routeCache.clearIfNecessary(RandMcNally.App.RouteController.advancedOptions);RandMcNally.App.RouteController.locAddrList=locAddrList;var segmentTotal=locAddrList.length-1;RandMcNally.App.RouteController.requests=[];var responses=[];var start=
0;RandMcNally.App.RouteController.attemptGeocoding(0,false)}
function RMMapController_POISearch(sSearchText,sSearchCategory,searchLoc,isLocationSearch,pageNum,poiPanel){this._map.removeOverlayObjects("RMPlaceMark","poi");getCEM().fireEvent(RMEvent.Service.READY,"robertmap");var latLonBound=this._map.tilesPanel.getViewportLLBound();var isFirstPage=pageNum===0;var multipleAddr=false;var oAddress=null;if(searchLoc!=null)oAddress=searchLoc.addressName;searchWhatWhere(sSearchText,oAddress);return;MAP_ENGINE.poiSearch(sSearchText,sSearchCategory,searchLoc,latLonBound,
pageNum,MAX_POI_PER_PAGE,this._map.getPixelSize()[0],this._map.getPixelSize()[1],function(POIResultJSON){if(POIResultJSON.code===0)if(POIResultJSON.poi.length>0){this._map.getInfoWindow().setVisible(false);if(isLocationSearch){var zoom=this._map.getWCS().convertToMapControlZoomLevel(POIResultJSON.zoom);var bbox=new RMLatLongBound(POIResultJSON.boundingBox.minLong,POIResultJSON.boundingBox.minLat,POIResultJSON.boundingBox.maxLong,POIResultJSON.boundingBox.maxLat);this._map.fitExtentWithinViewport(bbox,
zoom,isFirstPage)}for(var i=0;i<POIResultJSON.poi.length;i++)this._map.displayPlaceMark_POI(POIResultJSON.poi[i],parseInt(pageNum,10)+i+1,poiPanel.addToRoute)}else{if(!poiPanel)this._messageBox(RMResources.POI_NOT_FOUND)}else{this._totalCount=0;poiSearchContent=RMUtils.getEl("place_search_content");poiPaging=RMUtils.getEl("place_paging");poiPaging.innerHTML="";showLabel(poiPaging,sDefaultAddress);showLabel(poiSearchContent,sDefaultFindPlace)}if(poiPanel)poiPanel.listPOIResults(POIResultJSON,sSearchText,
sSearchCategory,searchLoc,isLocationSearch,pageNum,multipleAddr);getCEM().fireEvent(RMEvent.Service.COMPLETE,"robertmap")},this)}function RMPanel_messageBox(sMessage){sMessage=sMessage.replace(/<li?>/gi,"\n\t.");sMessage=sMessage.replace(/<(br|p)?>/gi,"\n");sMessage=sMessage.replace(/<(.|\n)*?>/gi,"");alert(sMessage)}var _ROUTE_CACHE;function getRouteCache(){if(_ROUTE_CACHE===undefined)_ROUTE_CACHE=new RouteCache(100);return _ROUTE_CACHE}
function RMMapController_RouteRequestHandler(controller,addressList,handleSuccess,handleFailure){this._controller=controller;var _addressList=addressList;this.getAddressList=function(){return _addressList};this._handleSuccess=handleSuccess;this._handleFailure=handleFailure;this._bbox=null;this._route=[];this._routeRequests=addressList.length-1;this._routeResponses=[];this._error=false;this.handleResponse=RMMapController_RouteRequestHandler_handleResponse}
function RMMapController_RouteRequestHandler_handleResponse(jsonResult){this._routeResponses[this._routeResponses.length]=jsonResult;var segmentIndex=parseInt(jsonResult.sindex,10);if(jsonResult.code==0){this._route[segmentIndex]=jsonResult.route[0];var bbox={minLat:parseFloat(jsonResult.bbox.minLat),minLon:parseFloat(jsonResult.bbox.minLon),maxLat:parseFloat(jsonResult.bbox.maxLat),maxLon:parseFloat(jsonResult.bbox.maxLon)};this._bbox=this._bbox==null?bbox:RMUtils.getBBoxUnion([this._bbox,bbox]);
var key=RMUtils.createRouteCacheKey(this.getAddressList()[segmentIndex],this.getAddressList()[segmentIndex+1]);RMUtils.log("Handle response: cache key = "+key);RMUtils.log("Start: "+jsonResult.route[0].start.name+" ; End: "+jsonResult.route[0].end.name);getRouteCache().putRoute(key,jsonResult)}else{RMUtils.log("Handle response: error");if(!this._error){this._error=true;if(jsonResult.details)jsonResult.details.index=parseInt(jsonResult.details.index,10)+segmentIndex;if(this._handleFailure)this._handleFailure.call(this._controller,
jsonResult)}}if(this._routeResponses.length==this._routeRequests&&!this._error){var result={bbox:this._bbox,route:this._route,code:0};if(this._handleSuccess)this._handleSuccess.call(this._controller,result)}};function RMBaloonTip(sPanel,left,top,sText){this.addDivContainer=RMBaloonTip_addDivContainer;this.setSize=RMBaloonTip_setSize;this.show=RMBaloonTip_show;this.hide=RMBaloonTip_hide;var objPanel=RMUtils.getEl(sPanel);if(objPanel==null){objPanel=RMUtils.createDOMElement("div","html");objPanel.id=sPanel}if(left)YAHOO.util.Dom.setStyle(objPanel,"left",parseInt(left,10)+"px");if(top)YAHOO.util.Dom.setStyle(objPanel,"top",parseInt(top,10)+"px");if(sText!=null){var sTextArea=sPanel+"_text";var objText=RMUtils.getEl(sTextArea);
if(objText)objText.innerHTML=sText}this.container=objPanel;this.show()}RMBaloonTip.prototype._init=function(){};function RMBaloonTip_addDivContainer(divElement){}function RMBaloonTip_setSize(width,height){}RMBaloonTip.prototype.horizontalPosition=null;RMBaloonTip.prototype.verticalPosition=null;RMBaloonTip.prototype.width=null;RMBaloonTip.prototype.height=null;RMBaloonTip.prototype._divContainer=null;function RMBaloonTip_show(){this.container.style.display="block"}
function RMBaloonTip_hide(){this.container.style.display="none"}function RMErrorWindow(sPanel,left,top,sText){top=top-10;left=left-10;RMErrorWindow.superclass.constructor.call(this,sPanel,left,top,sText)}RMErrorWindow.prototype=new RMBaloonTip;RMErrorWindow.prototype.constructor=RMErrorWindow;RMErrorWindow.superclass=RMBaloonTip.prototype;RMErrorWindow.prototype._init=function(){};
function seeMore(mouseEvent){RMUtils.getEl("more").style.display="none";RMUtils.getEl("address_list").style.overflow="auto";if(mouseEvent)mouseEvent.cancelBubble=true};var _rmHist;var locFromURL=false;function getHist(){if(_rmHist===undefined)_rmHist=new RMHistory(myMap,directionPanel);return _rmHist}
function RMHistory(rmMap,directionPanel){this._rmMap=rmMap;this._directionPanel=directionPanel;this._timerID=-1;this._justNavigated=false;this._justRestored=false;this._fromStates=[];this._init();this.saveMapState=RMHistory_saveMapState;this.saveGeocodeState=RMHistory_saveGeocodeState;this.navigate=RMHistory_navigate;this.multiNavigate=RMHistory_multiNavigate;this.screenStateChangeHandler=RMHistory_screenStateChangeHandler;this.delayedStateChangeHandler=RMHistory_delayedStateChangeHandler;this.restoreState=
RMHistory_restoreState;this.restoreState_geocode=RMHistory_restoreState_geocode;this.restoreState_calcRoute=RMHistory_restoreState_calcRoute;this.navigateBack=RMHistory_navigateBack;this.getCurrentURL=RMHistory_getCurrentURL;this.resetAllStates=RMHistory_resetAllStates;this.addressStringForStructuredAddress=RMHistory_addressStringForStructuredAddress}function doNothing(){}
RMHistory.prototype._init=function(){for(var i=1;i<=MAX_STOPS_IN_ROUTE;i++)this._fromStates["loc"+i]="";var centerPosition=this._rmMap.getCenterPosition();var centerLatLong={lat:centerPosition.lat,lon:centerPosition.lon};var sLat=""+centerLatLong.lat;var sLon=""+centerLatLong.lon;var sZoom=""+this._rmMap.getZoomController().getZoomLevel();this._fromStates["lat"]=sLat;this._fromStates["lon"]=sLon;this._fromStates["zoom"]=sZoom;var screenBookmarkedState=YAHOO.util.History.getBookmarkedState("s");var screenInitialState=
screenBookmarkedState||"screen";YAHOO.util.History.register("s",screenInitialState,RMHistory_screenStateChangeHandler,this,true);var latBookmarkedState=YAHOO.util.History.getBookmarkedState("lat");var latInitialState=latBookmarkedState||sLat;YAHOO.util.History.register("lat",latInitialState,RMHistory_delayedStateChangeHandler,this,true);var lonBookmarkedState=YAHOO.util.History.getBookmarkedState("lon");var lonInitialState=lonBookmarkedState||sLon;YAHOO.util.History.register("lon",lonInitialState,
RMHistory_delayedStateChangeHandler,this,true);var zoomBookmarkedState=YAHOO.util.History.getBookmarkedState("zoom");var zoomInitialState=zoomBookmarkedState||sZoom;YAHOO.util.History.register("zoom",zoomInitialState,RMHistory_delayedStateChangeHandler,this,true);for(var i=1;i<=MAX_STOPS_IN_ROUTE;i++){var locBookmarkedState=YAHOO.util.History.getBookmarkedState("loc"+i);var locInitialState=locBookmarkedState||"";YAHOO.util.History.register("loc"+i,locInitialState,RMHistory_delayedStateChangeHandler,
this,true)}getCEM().subscribeEvent(RMEvent.Geocode.COMPLETE,mapId,RMHistory_saveMapState,this);getCEM().subscribeEvent(RMEvent.CalcRoute.COMPLETE,mapId,RMHistory_saveMapState,this);YAHOO.util.History.onReady(function(){var loc1CurrentState=getCurrentState_Safe("loc1");if(!isEmptyString(loc1CurrentState))getHist().restoreState()});YAHOO.util.History.initialize("yui-history-field","yui-history-iframe")};
function RMHistory_screenStateChangeHandler(state){var sState=getCurrentState_Safe("s");if(sState=="screen")goToPrint(false);else if(sState=="preview")goToPrint(true)}function RMHistory_delayedStateChangeHandler(state){obj=this;try{if(this._timerID==-1)this._timerID=setTimeout("obj.restoreState()",100)}catch(e){}return}function changeTitle(){document.title.text="Rand McNally Maps and Directions"}
function RMHistory_restoreState(){setTimeout("changeTitle()",100);this._timerID=-1;if(this._justNavigated){this._justNavigated=false;return}var lat=getCurrentState_Safe("lat");var lon=getCurrentState_Safe("lon");var zoom=getCurrentState_Safe("zoom");var loc1=getCurrentState_Safe("loc1").trim();var loc2=getCurrentState_Safe("loc2").trim();if(!isEmptyString(loc1)&&!isEmptyString(loc2)){locFromURL=true;this.restoreState_calcRoute();return}else if(!isEmptyString(loc1)&&loc1!=this._fromStates["loc1"]){locFromURL=
true;this.restoreState_geocode(loc1);return}if(!isEmptyString(zoom)&&zoom!=this._fromStates["zoom"]){deCarta.App.RMZoomBar.setDeCartaZoomLevel(zoom);this._fromStates["zoom"]=zoom}if(!isEmptyString(lat)&&!isEmptyString(lon)&&lat!=this._fromStates["lat"]&&lon!=this._fromStates["lon"]){var centerLatLong=new Position(lat,lon);this._rmMap.panToPosition(centerLatLong);this._fromStates["lat"]=lat;this._fromStates["lon"]=lon}this._justRestored=true}
function RMHistory_restoreState_geocode(loc1){this._directionPanel.clearDirections();document.getElementById("txtPlaceAddress").value=loc1;$("#txtPlaceAddress").removeClass("default_text");document.getElementById("selMapLocale").value=RMPanel_localeForAddressString(loc1);var rmMapController=new RMMapController(this._rmMap);rmMapController.geocode(loc1)}
function RMHistory_restoreState_calcRoute(){var bRouteChanged=false;for(var i=1;i<=MAX_STOPS_IN_ROUTE;i++){var loc=getCurrentState_Safe("loc"+i).trim();if(loc!=this._fromStates["loc"+i]){bRouteChanged=true;break}}if(!bRouteChanged)return;goToDirections(document.getElementById("txtPlaceAddress").value);this._directionPanel.clearDirections();var wpPanelList=this._directionPanel.getWaypointPanelList();for(var i=1;i<=MAX_STOPS_IN_ROUTE;i++){var loc=getCurrentState_Safe("loc"+i).trim();if(loc=="")continue;
var wpPanel;if(i<=2)wpPanel=wpPanelList["location_"+ALPH[i-1].toLowerCase()];else{var numWPPanels=this._directionPanel.count;wpPanel=WaypointFactoryInstance.createWaypointPanel("location_"+numWPPanels,ALPH[numWPPanels]);this._directionPanel.addWaypointPanel(wpPanel,numWPPanels+1)}$("#"+wpPanel._inputbox.id).removeClass("default_text");wpPanel.setAddress(loc)}setTimeout("directionPanel.resolveMapsDirCall()",0)}
function RMHistory_saveMapState(type,params,myself){locFromURL=false;if(myself._justRestored){myself._justRestored=false;return}if(type.indexOf(RMEvent.Geocode.COMPLETE)!=-1){var deCartaGeocodeResult=params[0].length>2?params[0][2]:null;var geocodeResultStatus=null;if(params[0].length>=1)geocodeResultStatus=params[0][0];var geocodedAddress=null;if(params[0].length>=2)geocodedAddress=params[0][1];myself.saveGeocodeState(geocodeResultStatus,geocodedAddress,deCartaGeocodeResult)}else if(type.indexOf(RMEvent.CalcRoute.COMPLETE)!=
-1){var status=params[0][0];if(status===0){var states=[];states["lat"]=deCarta.App.map.getCenterPosition().getLat();states["lon"]=deCarta.App.map.getCenterPosition().getLon();states["zoom"]=deCarta.App.zoom.getZoomLevel();for(var j=0;j<directionPanel.arrayOfWpDisplayOrder.length;j++){var waypointPanel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[j]];if(waypointPanel._geocodedAddress.isAirport==true)states["loc"+(j+1)]=waypointPanel._inputbox.value;else states["loc"+(j+
1)]=RMUtils.prepareName(waypointPanel._geocodedAddress,false)}myself.multiNavigate(states);myself._justNavigated=true}}else if(type.indexOf(RMEvent.PoiSearch.COMPLETE)!=-1);else if(type.indexOf(RMEvent.Pan.COMPLETE)!=-1){var centerLatLong=myself._rmMap.getCenterPosition();var sLat=""+centerLatLong.getLat();var sLon=""+centerLatLong.getLon();if(myself._fromStates["lat"]!=sLat||myself._fromStates["lon"]!=sLon){myself.multiNavigate({lat:sLat,lon:sLon});myself._justNavigated=true}}else if(type.indexOf(RMEvent.Zoom.COMPLETE)!=
-1){var sZoom=""+myself._rmMap.getZoomController().getZoomLevel();if(myself._fromStates["zoom"]!=sZoom){myself.multiNavigate({zoom:sZoom});myself._justNavigated=true}}else alert("RMHistory_saveMapState() error.  Unkown type = "+type)}
function RMHistory_saveGeocodeState(geocodeResultStatus,geocodedAddress,deCartaGeocodeResult){if(geocodeResultStatus==null&&geocodedAddress==null&&deCartaGeocodeResult==null)return;var deCartaGeocodedAddress=null;if(deCartaGeocodeResult!=null){var deCartaGeocodedAddresses=deCartaGeocodeResult.geoAddr;if(deCartaGeocodedAddresses&&deCartaGeocodedAddresses.length>0)deCartaGeocodedAddress=deCartaGeocodedAddresses[0]}var states=[];if(deCartaGeocodedAddress&&deCartaGeocodedAddress!=null){states["lat"]=
deCartaGeocodedAddress.position.lat;states["lon"]=deCartaGeocodedAddress.position.lon;try{states["zoom"]=deCarta.App.map.getZoomController().getZoomLevelToFitBoundingBox(deCartaGeocodedAddress.boundingBox)}catch(e){states["zoom"]=deCarta.App.zoom.getZoomLevel()}states["loc1"]=this.addressStringForStructuredAddress(deCartaGeocodedAddress.structuredAddress)}else if(geocodeResultStatus===0){states["lat"]=deCarta.App.map.getCenterPosition().getLat();states["lon"]=deCarta.App.map.getCenterPosition().getLon();
states["zoom"]=deCarta.App.zoom.getZoomLevel();if(geocodedAddress.isAirport==true)states["loc1"]=geocodedAddress.addressName;else states["loc1"]=RMUtils.prepareName(geocodedAddress,false)}for(var j=2;j<=MAX_STOPS_IN_ROUTE;j++)states["loc"+j]="";this.multiNavigate(states);this._justNavigated=true}
function RMHistory_addressStringForStructuredAddress(structuredAddress){var string=decartaStructuredAddressToString(structuredAddress);for(var x=0;x<ALL_ADDRESS_SUFFIX_REGEXs.length;x++){var countryCode=ALL_ADDRESS_SUFFIX_REGEXs[x].code.split("-")[0];if(structuredAddress.countryCode==countryCode)return string+", "+ALL_ADDRESS_SUFFIX_REGEXs[x].name}return string}function RMHistory_navigate(module,state){this._fromStates[module]=state;YAHOO.util.History.navigate(module,state)}
function RMHistory_multiNavigate(statesArr){for(var s in statesArr)this._fromStates[s]=statesArr[s];YAHOO.util.History.multiNavigate(statesArr)}function RMHistory_navigateBack(){history.back()}function RMHistory_getCurrentURL(){return window.location.href}
function RMHistory_resetAllStates(){var states=[];for(var i=1;i<=MAX_STOPS_IN_ROUTE;i++){this._fromStates["loc"+i]="";states["loc"+i]=""}var centerLatLong=this._rmMap.getCenterPosition();var sLat=""+centerLatLong.getLat();var sLon=""+centerLatLong.getLon();var sZoom=""+this._rmMap.getZoomController().getZoomLevel();this._fromStates["lat"]=sLat;this._fromStates["lon"]=sLon;this._fromStates["zoom"]=sZoom;states["lat"]=sLat;states["lon"]=sLon;states["zoom"]=sZoom;this.multiNavigate(states);this._justNavigated=
true}function getCurrentState_Safe(sState){var stateValue=YAHOO.util.History.getCurrentState(sState);stateValue=stateValue.replace(/<script>.*<\/script>/gi,"");stateValue=stateValue.replace(/[<>]/gi,"");return stateValue};YAHOO.namespace("login.container");
function logout(){performLogout(function(data){if(data.code===0){RMUtils.log("Sign out call completed");RMUtils.getEl("isSignedIn").style.display="none";RMUtils.getEl("isNotSignedIn").style.display="inline";var welcomeBox=RMUtils.getEl("welcomeText");if(!isEmptyString(data.memberName))welcomeBox.innerHTML="Welcome back, ";else welcomeBox.innerHTML="Welcome, "}else{alert("some error occured while logging out.Please try again");RMUtils.log("An error occurred while signing out")}},this)}
function performLogout(callback,context){postCallback={success:function(data){},failure:function(o){RMUtils.log("An error occurred while signing out")}};var serviceReqToken=_prepareRequest(callback,context);var url=BV_HOST+"login.jsp?logout=true&tid="+serviceReqToken+"&callback=ds_addrBook";RMUtils.log("Calling sign out service...");var objTransaction=YAHOO.util.Get.script(url,{onSuccess:postCallback.success,onFailure:postCallback.failure})}
function login(name,password){postCallback={success:function(data){},failure:function(o){RMUtils.log("An error occurred while signing out")}};var serviceReqToken=_prepareRequest(function(data){if(data.code===0){var welcomeBox=RMUtils.getEl("welcomeText");var sWelcome="Welcome, "+data.name+".";welcomeBox.innerHTML=sWelcome;RMUtils.getEl("isSignedIn").style.display="inline";RMUtils.getEl("isNotSignedIn").style.display="none";if(afterLoginDoAction){if(action==="add")ADDRESS_BOOK.callAddressBookService(function(rm_addresses){var region=
YAHOO.util.Dom.getRegion(panelID);if(rm_addresses.code===0)errorTip=new RMErrorWindow("error",region.left+250,region.top,rm_addresses.message);else if(rm_addresses.code===1)errorTip=new RMErrorWindow("error",region.left+250,region.top,'You are not signed in. To save this address to your address book, please <a id="addSignIn" href="javascript:showLoginBox(\'addSignIn\')"><u>sign in</u></a> here.');else if(rm_addresses.code===82005)errorTip=new RMErrorWindow("error",region.left+250,region.top,"We were unable to save this address to address book. Please try a different address or try after sometime");
else errorTip=new RMErrorWindow("error",region.left+250,region.top,rm_addresses.details)},this,URL);else if(action==="display")showHideSavedAddressesPanel(panelID);afterLoginDoAction=false;URL=null;action=null;panelID=null}}else{YAHOO.util.Dom.setStyle("loginError","display","block");var error=RMUtils.getEl("loginError");error.innerHTML=data.details;if(data.details.length>0){var charRatioPerPixel=40/250;var actualCharsByWidth=parseInt(loginBoxHeight)*charRatioPerPixel;var divHeight=Math.round(parseInt(data.details.length)/
actualCharsByWidth)*10}YAHOO.login.container.myDialog.show()}},this);var url=BV_HOST+"login.jsp?tid="+serviceReqToken+"&callback=ds_addrBook&txtMemberName="+name+"&txtPassword="+password;RMUtils.log("Calling sign out service...");var objTransaction=YAHOO.util.Get.script(url,{onSuccess:postCallback.success,onFailure:postCallback.failure})}
function showLoginBox(cnt){var error=RMUtils.getEl("loginError");error.innerHTML="";YAHOO.util.Dom.setStyle("loginError","display","none");var region=YAHOO.util.Dom.getRegion(cnt);YAHOO.login.container.myDialog.cfg.setProperty("x",region.left-75);YAHOO.login.container.myDialog.cfg.setProperty("y",region.top+14);YAHOO.login.container.myDialog.show()}
function initLoginBox(){YAHOO.login.container.myDialog=new YAHOO.widget.Dialog("loginDialog",{width:loginBoxWidth,zIndex:504,close:false,autofillheight:"body",modal:false,draggable:false,underlay:"none",visible:false,constraintoviewport:true,xy:[0,0]});YAHOO.login.container.myDialog.setHeader("ROAD EXPLORER SIGN IN");var bodyHTML=RMUtils.getEl("myDialog").innerHTML;YAHOO.login.container.myDialog.setBody(bodyHTML);var footerHTML='<input type="button" id="onSign" value="Sign In" class="dialog_button" />&nbsp;&nbsp;<input type="button" id="onCancel" value="Cancel"  class="dialog_button" />';
YAHOO.login.container.myDialog.setFooter(footerHTML);YAHOO.login.container.myDialog.render("dialog_login");YAHOO.util.Event.addListener("onSign","click",function(e){var data=YAHOO.login.container.myDialog.getData();login(data.txtMemberName,data.txtPassword);YAHOO.login.container.myDialog.hide()});YAHOO.util.Event.addListener("onCancel","click",function(e){var objMemberName=RMUtils.getEl("txtMemberName");var objMemberPass=RMUtils.getEl("txtPassword");objMemberName.value="";objMemberPass.value="";afterLoginDoAction=
false;URL=null;action=null;panelID=null;YAHOO.login.container.myDialog.cancel()})}
function isSignedIn(){postCallback={success:function(data){},failure:function(o){RMUtils.log("An error occurred while signing out")}};var serviceReqToken=_prepareRequest(function(data){if(data.code===0){var welcomeBox=RMUtils.getEl("welcomeText");var sWelcome="Welcome, "+data.name+".";welcomeBox.innerHTML=sWelcome;RMUtils.getEl("isSignedIn").style.display="inline";RMUtils.getEl("isNotSignedIn").style.display="none"}else{RMUtils.getEl("isSignedIn").style.display="none";RMUtils.getEl("isNotSignedIn").style.display=
"inline";var welcomeBox=RMUtils.getEl("welcomeText");if(!isEmptyString(data.memberName))welcomeBox.innerHTML="Welcome back, ";else welcomeBox.innerHTML="Welcome, "}},this);var url=BV_HOST+"login.jsp?isLoggedIn=true&tid="+serviceReqToken+"&callback=ds_addrBook";RMUtils.log("Calling sign out service...");var objTransaction=YAHOO.util.Get.script(url,{onSuccess:postCallback.success,onFailure:postCallback.failure})}var afterLoginDoAction=false;var URL=null;var action=null;var panelID=null;
var loginBoxHeight="170px";var loginBoxWidth="250px";var ADDRESS_BOOK=new RMAddressBook;function RMAddressBook(){this.callAddressBookService=RMAddressBook_addressBook;this.populateSavedAddressesPanel=RMAddressBook_populateSavedAddressesPanel;this.getAddressesFromAddrBook=RMAddressBook_getAddressesFromAddrBook;this.recentAddressesList=[];this.addressBookList=[];this.savedAddressesList=[];this.savedAddress=RMAddressBook_savedAddress}function ds_addrBook(jsonObj){_invokeCallback(jsonObj)}
function RMAddressBook_addressBook(callback,context,params){postCallback={success:function(o){},failure:function(o){}};var serviceReqToken=_prepareRequest(callback,context);var url=BV_HOST+"addressBook.jsp?tid="+serviceReqToken+"&callback=ds_addrBook&"+params;var objTransaction=YAHOO.util.Get.script(url,{onSuccess:postCallback.success,onFailure:postCallback.failure})}
function RMAddressBook_populateSavedAddressesPanel(waypointPanelId){wpID=waypointPanelId;if(_singleton_SavedAddressesPanel.isVisible())_singleton_SavedAddressesPanel.close();else{ADDRESS_BOOK.getAddressesFromAddrBook(waypointPanelId);var wpPanel=directionPanel.arrayOfWayPointPanel[waypointPanelId];if(wpPanel)_singleton_SavedAddressesPanel.open(wpPanel);else{_singleton_SavedAddressesPanel.open(poiPanel);_singleton_SavedAddressesPanel._waypointPanel=poiPanel}}}
function RMAddressBook_getAddressesFromAddrBook(waypointPanelId){var mySavedAddrBookText="";ADDRESS_BOOK.addressBookList=[];for(i=0;i<this.savedAddressesList.length;i++){if(i<0)mySavedAddrBookText="";var obj=eval("("+this.savedAddressesList[i]+")");var savedAddress=new RMAddress(obj.street,obj.city,obj.state,obj.zip,obj.county,obj.country,obj.latLongPosition,obj.addressName,obj.precision,obj.isAirport);savedAddress.inputText=obj.inputText;savedAddress.formattedAddress=RMUtils.prepareName(savedAddress,
false);if(isEmptyString(savedAddress.addressName)){savedAddressesArray.splice(i,1);continue}displayName=savedAddress.addressName;if(displayName.length>25)displayName=displayName.substring(0,25)+"...";mySavedAddrBookText+='<a href="javascript:noop()" id="@repID@_ab_link_'+i+'" >'+(i+1)+". "+displayName+"</a>&nbsp;&nbsp;&nbsp;";mySavedAddrBookText+='<a href="javascript:noop();" id="@repID@_ab_rlink_'+i+'"><img src="'+BASE_PATH_IMG+'/btn_remove_address.gif" align="top" title="Delete"/> </a><br/>';var savedAddr=
new ADDRESS_BOOK.savedAddress(mySavedAddrBookText,displayName,savedAddress.formattedAddress);ADDRESS_BOOK.addressBookList[i]=savedAddr}displayInTabView(waypointPanelId)}
function displayInTabView(waypointPanelId){var wpPanel=directionPanel.arrayOfWayPointPanel[waypointPanelId];if(!wpPanel){wpPanel=poiPanel;waypointPanelId=poiPanel.id}var recentTabContent="";var savedTabContent="";var i=0;for(i=0;i<ADDRESS_BOOK.recentAddressesList.length;i++)recentTabContent+=ADDRESS_BOOK.recentAddressesList[i].textHTML;recentTabContent=recentTabContent.replace(/@repID@/g,waypointPanelId);for(i=0;i<ADDRESS_BOOK.addressBookList.length;i++)savedTabContent=ADDRESS_BOOK.addressBookList[i].textHTML;
savedTabContent=savedTabContent.replace(/@repID@/g,waypointPanelId);var myTabs=new YAHOO.widget.TabView;var tabHolder=RMUtils.getEl("addresses_tabs");tabHolder.innerHTML="";myTabs.addTab(new YAHOO.widget.Tab({label:"RECENT ",content:'<div style="height:110px;overflow:auto" >'+recentTabContent+"</div>",active:true}));myTabs.addTab(new YAHOO.widget.Tab({label:"SAVED ",content:'<div style="height:110px;overflow:auto" >'+savedTabContent+"</div>"}));myTabs.appendTo(tabHolder);for(i=0;i<ADDRESS_BOOK.recentAddressesList.length;i++){YAHOO.util.Event.removeListener(waypointPanelId+
"_link_"+i,"click");YAHOO.util.Event.addListener(waypointPanelId+"_link_"+i,"click",function(e,args){wpPanel.setAddress(args);setTimeout('doGeocodeIfActive("'+waypointPanelId+'")',100);_singleton_SavedAddressesPanel.close()},ADDRESS_BOOK.recentAddressesList[i].address,_singleton_SavedAddressesPanel);YAHOO.util.Event.removeListener("removeAll","click");YAHOO.util.Event.addListener("removeAll","click",function(e,args){var cookie_date=new Date;cookie_date.setTime(cookie_date.getTime()-1);YAHOO.util.Cookie.set("addresses",
"",{expires:cookie_date,path:"/"});_singleton_SavedAddressesPanel.loadAddressesFromCookie();_singleton_SavedAddressesPanel.close()},_singleton_SavedAddressesPanel)}for(i=0;i<ADDRESS_BOOK.addressBookList.length;i++)if(ADDRESS_BOOK.addressBookList[i].address!=null){YAHOO.util.Event.removeListener(waypointPanelId+"_ab_link_"+i,"click");YAHOO.util.Event.addListener(waypointPanelId+"_ab_link_"+i,"click",function(e,args){wpPanel.setAddress(args);setTimeout('doGeocodeIfActive("'+waypointPanelId+'")',100);
_singleton_SavedAddressesPanel.close()},ADDRESS_BOOK.addressBookList[i].address,_singleton_SavedAddressesPanel);YAHOO.util.Event.removeListener(waypointPanelId+"_ab_rlink_"+i,"click");var params=[];params[0]=i;params[1]=ADDRESS_BOOK.addressBookList[i];YAHOO.util.Event.addListener(waypointPanelId+"_ab_rlink_"+i,"click",function(e,args){var confDialog=new RMInputPanel(YES_NO_DIALOG,"Confirm Deletion","Do you want to remove the place '"+args[1].displayText+"' from your address book ?",[function(){_singleton_SavedAddressesPanel.removeAddress(e,
args[0]);new RMInputPanel(OK_DIALOG,"Deleted",args[1].displayText+" has been removed from your address book.")}],this)},params,_singleton_SavedAddressesPanel)}}function RMAddressBook_savedAddress(textHTML,displayText,address,alias){this.textHTML=textHTML;this.displayText=displayText;this.address=address;this.alias=alias};function RMAutoComplete(input,datasource,scriptQueryParam,charWidth,wordLimit,wordErrorCallback){this.getAutoCompleteObject=RMAutoComplete_getAutoCompleteObject;this.getDataSource=RMAutoComplete_getDataSource;this.getContainer=RMAutoComplete_getContainer;this.getInput=RMAutoComplete_getInput;RMAutoComplete.prototype._init.call(this,input,datasource,scriptQueryParam,charWidth,wordLimit,wordErrorCallback)}
RMAutoComplete.prototype._init=function(input,datasource,scriptQueryParam,charWidth,wordLimit,wordErrorCallback){var DEV_URL="HintList/ItemLookup";this.datasource=DEV_URL;if(datasource)this.datasource=datasource;this.input=input;this.container=document.createElement("div");YAHOO.util.Dom.generateId(this.container,"conatiner");YAHOO.util.Dom.insertAfter(this.container,this.input);this.oDS=new YAHOO.widget.DS_XHR(this.datasource,["results","name","cat","lat","lng","city","state","country","airportFullName"]);
this.oDS.queryMatchContains=true;this.oDS.scriptQueryParam="cat=city&val";if(scriptQueryParam)this.oDS.scriptQueryParam=scriptQueryParam;var old=this.oDS.doQuery;this.oDS.doQuery=function(oCallbackFn,sQuery,oParent){var lowerQuery=sQuery.toLowerCase();if(!(this.scriptQueryParam.indexOf("city")!=-1&&!(lowerQuery.charAt(0)>="a"&&lowerQuery.charAt(0)<="z")))old.call(this,oCallbackFn,sQuery,oParent)};this.oAC=new YAHOO.widget.AutoComplete(this.input,this.container,this.oDS,{animSpeed:0.05,maxResultsDisplayed:10,
minQueryLength:3,queryDelay:0.1,autoHighlight:false,useShadow:true});this.oAC.formatResult=formatResult;this.oAC.charWidth=charWidth;this.oAC.wordLimit=wordLimit;this.oAC.wordErrorCallback=wordErrorCallback;this.oAC.getWords=RMAutoComplete_getWords;this.oAC.doBeforeSendQuery=doBeforeSendQuery;this.oAC.doBeforeExpandContainer=function(oTextbox,oContainer,sQuery,aResults){var pos=YAHOO.util.Dom.getXY(oTextbox);pos[1]+=YAHOO.util.Dom.get(oTextbox).offsetHeight;YAHOO.util.Dom.setXY(oContainer,pos);var w=
YAHOO.util.Dom.getStyle(oTextbox,"width");YAHOO.util.Dom.setStyle(oContainer,"width",w);return true};var myHandler=function(sType,aArgs){var myAC=aArgs[0];var elLI=aArgs[1];var oData=aArgs[2];var tab=activetab();var actName=oData[0];if(null!=oData[7]&&oData[7]!="")actName=oData[0].substring(0,3);var jsonData={name:actName,cat:oData[1],lat:oData[2],lng:oData[3],city:oData[4],state:oData[5],country:oData[6],airportFullName:oData[7]};var results=[jsonData];if(tab==1){myAC._elTextbox.value=actName;callbackHintListSearch(results)}else{var id=
myAC._elTextbox.id;id=id.substring(0,id.indexOf("_waypointInputTxtBox"));var panel=directionPanel.arrayOfWayPointPanel[id];var address=[];var convertedAddr=convertHintToDecartaGeoAddrFormat(results);address.push(convertedAddr.position[0]);address.push(convertedAddr.address[0]);addAddressToCacheOrPanel(panel,address,true)}};this.oAC.itemSelectEvent.subscribe(myHandler)};
function doBeforeSendQuery(sQuery){if(!this.wordLimit)return sQuery;words=this.getWords(unescape(sQuery));if(words.length>this.wordLimit){this.wordErrorCallback(this.wordLimit);return escape(words.slice(0,this.wordLimit-1).join(" "))}return sQuery}
function formatResult(oResultItem,sQuery){var i=sQuery.indexOf("&");var sqp=this.dataSource.scriptQueryParam;var category=sqp.substring(sqp.indexOf("=",i)+1,sqp.indexOf("&",i));if(i>0)sQuery=sQuery.substring(0,i);var sKey=oResultItem[0];var start=sKey.toLowerCase().indexOf(trim(sQuery).toLowerCase());var words=[];var delimited=sQuery.replace(/(\[|\]|\^|\*|\+|\(|\)|\||\\|\{|\}|\?|\.|\$)/g,"\\$1");words=delimited.split(/(\s|,)+/);words.push(delimited.replace(/\t/,"\\t").replace(/\s/,"\\s"));sKeyOriginal=
sKey;var tolerance=4;var maxWidth=this.charWidth-tolerance;if(sKey.length>maxWidth)sKey=sKey.substring(0,maxWidth-1)+"...";var re=new RegExp("(("+words.join("|")+")+)","gi");var s=sKey.replace(re,"<span class='hinthighlight'>$1</span>");var icon="<span class='hintpoi'>";if(oResultItem[1])icon="<span class='hintpoicategory'>";if(category=="city")icon="<span class='hintlocation'>";var dynamicID=Math.floor(Math.random()*1E3);var aMarkup=[icon,"<span id='link_"+dynamicID+"' class='hintcat'>",s,"</span></span>"];
if(sKey!=sKeyOriginal)var tt=new YAHOO.widget.Tooltip("tt_"+dynamicID,{context:"link_"+dynamicID,text:"<span class='hintexpand'>"+sKeyOriginal+"</span>",showdelay:0,hidedelay:0});return aMarkup.join("")}function trim(value){var re=/\s*((\S.*\S)|(\S)|(\S\S))\s*/;return value.replace(re,"$1")}RMAutoComplete.prototype.container=null;RMAutoComplete.prototype.datasource=null;RMAutoComplete.prototype.input=null;RMAutoComplete.prototype.oDS=null;RMAutoComplete.prototype.oAC=null;
function RMAutoComplete_getAutoCompleteObject(){return this.oAC}function RMAutoComplete_getDataSource(){return this.oDS}function RMAutoComplete_getContainer(){return this.container}function RMAutoComplete_getInput(){return this.input}function RMAutoComplete_getWords(wordString){var cleanedString=wordString.replace(/\,/g," ");cleanedString=cleanedString.replace(/^\s+|\s+$/g,"");cleanedString=cleanedString.replace(/\s{2,}/g," ");return cleanedString.split(" ")};var AIRPORT_SEARCH=new RMAirportSearch;function RMAirportSearch(){this.type="";this.search=RMAirportSearch_search;this.populateSavedAddressesPanel=RMAddressBook_populateSavedAddressesPanel;this.getAddressesFromAddrBook=RMAddressBook_getAddressesFromAddrBook;this.recentAddressesList=[];this.addressBookList=[];this.savedAddressesList=[];this.savedAddress=RMAddressBook_savedAddress}function ds_airportSearch(jsonObj){callbackHintListSearch(jsonObj.results)}
function RMAirportSearch_search(params){var DEV_URL="HintList/ItemLookup";postCallback={success:function(o){},failure:function(o){}};var serviceReqToken=_prepareRequest("callbackHintListSearch",this);var url=DEV_URL+"?tid="+serviceReqToken+"&callback=ds_airportSearch&"+params;var objTransaction=YAHOO.util.Get.script(url,{onSuccess:postCallback.success,onFailure:postCallback.failure})}
function callbackHintListSearch(sResults){var tab=activetab();var panel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[0]];if(sResults.length==0){var results=convertHintToDecartaGeoAddrFormat(sResults);if(tab==1)panel.handleGeocodeResults("",results);else{results=[];RandMcNally.App.RouteController.callbackRoute(results)}getCEM().fireEvent(RMEvent.Service.COMPLETE,mapId);return}else{if(sResults.length>1){var tempResults=sResults[0];sResults=[];sResults.push(tempResults)}var results=
convertHintToDecartaGeoAddrFormat(sResults);var rmaddress=addressForPositionAndAddress(results.position[0],results.address[0]);if(tab==1){deCarta.App.UI.wipeMap();var oData=sResults[0];if(null!=oData.airportFullName&&oData.airportFullName!=""){rmaddress.isAirport=true;rmaddress.addressName=oData.name.substring(0,3);sResults[0].name=oData.name.substring(0,3)}logLocationInformation(rmaddress,results.address[0]);poiPanel._geocodedAddress=rmaddress;RMMap_loadMapForHintListAddrr(rmaddress,results.position[0],
results.address[0]);panel.handleGeocodeResults(sResults[0].name,results);getCEM().fireEvent(RMEvent.Service.COMPLETE,mapId);var params=[];params[0]=0;params[1]=rmaddress;params[2]=null;getCEM().fireEvent(RMEvent.Geocode.COMPLETE,mapId,params);detachAd1()}else RandMcNally.App.RouteController.callbackRoute(results)}};if(undefined===RandMcNally)var RandMcNally={};if(undefined===RandMcNally.App)RandMcNally.App={};
RMDraggableRouteController={route:null,routeLine:null,routePlacemark:null,activeRoutePlacemark:null,newRoute:null,newRouteLine:null,lastRequestTime:null,mouseLine:null,originalRouteQuery:null,routePoints:[],routePreference:null,wasInitted:false,setRouteAndLine:function(route,line,routePoints,routePreference){if(!this.wasInitted)this.initMapDivForDraggableRoute(deCarta.App.map);this.route=route;this.routePoints=routePoints;this.routePreference=routePreference;if(this.routeLine!=line){this.routeLine=
line;this.routeLine.route=route;this.routeLine.snappedPlacemark=null;this.routeLine.controller=this;this.routeLine.addEventListener("onmouseover",routeline_onmouseover.scope(this))}},setActiveRoutePlacemark:function(o){this.activeRoutePlacemark=o},mapDivOnMouseMove:function(e){console.log("--x RMDraggableRouteController.mapDivOnMouseMove");if(this.activeRoutePlacemark&&this.activeRoutePlacemark.isDragging){var pos=positionForEvent(e);this.activeRoutePlacemark.setPosition(pos);this.execRoute(pos)}},
mapDivOnMouseUp:function(e){console.log("--x RMDraggableRouteController.mapDivOnMouseUp");if(this.activeRoutePlacemark&&this.activeRoutePlacemark.isDragging){var pos=positionForEvent(e);this.activeRoutePlacemark.setPosition(pos);this.activeRoutePlacemark.isDragging=false;deCarta.App.map.setDragEnabled(true);this.execRoute(pos)}},initMapDivForDraggableRoute:function(map){YAHOO.util.Event.addListener(map.getMapDiv(),"mousemove",this.mapDivOnMouseMove.scope(this));YAHOO.util.Event.addListener(map.getMapDiv(),
"mouseup",this.mapDivOnMouseUp.scope(this));this.wasInitted=true},execRoute:function(newWaypoint){var routeObj=this.getNewRoute(this.routeLine.route,newWaypoint);var now=(new Date).getTime();console.log("new - lastRequestTime = "+(this.lastRequestTime?now-this.lastRequestTime:null));if(this.lastRequestTime&&now-this.lastRequestTime<500)return;this.lastRequestTime=now;var positions=new Array(routeObj.origin);console.log("--x execRoute: server is called for route");for(var i=0;i<routeObj.waypoints.length;i++)positions.push(routeObj.waypoints[i]);
if(routeObj.latestWaypoint)positions.push(routeObj.latestWaypoint);positions.push(routeObj.destination);var routePreference=routeObj.routePreference;var routeQuery=new RouteQuery;routeObj.routeQuery=routeQuery;routeQuery.query(positions,routePreference,function(route){console.log("--x routeCallback: server returns route");if(!route)return;this.routeLine.setPositions(route.RouteGeometry);this.routeLine.raphael_element.toBack();this.routeLine.drawing=true}.scope(this))},getNewRoute:function(route,newWaypoint){if(route||
this.newRoute==null){var waypoints=this.routePoints.slice(1,this.routePoints-1);if(newWaypoint)waypoints.push(newWaypoint);this.newRoute={origin:this.routePoints[0],destination:this.routePoints[this.routePoints.length-1],routeQuery:null,routePreference:this.routePreference,waypoints:waypoints}}return this.newRoute}};
function radiusForPixels(pixels){var screenPixToPos=deCarta.App.map.screenPixToPos;return Utilities.positions2Distance(screenPixToPos(new PixelPoint(0,0)),screenPixToPos(new PixelPoint(0,pixels)))}
function routeline_onmouseover(routeLine,e){var placemark=null;var controller=routeLine.controller;console.log("--x routeline_onmouseover: controller.activeRoutePlacemark="+controller.activeRoutePlacemark+", routeLine.snappedPlacemark="+routeLine.snappedPlacemark+", this.mouseLine="+this.mouseLine);if(controller.activeRoutePlacemark==null){placemark=createDraggableRoutePlacemark(e);placemark.controller=controller;controller.routePlacemark=placemark;deCarta.App.map.addOverlay(placemark);controller.activeRoutePlacemark=
placemark}else{placemark=controller.activeRoutePlacemark;placemark.show()}routeLine.snappedPlacemark=placemark;placemark.snapsToLine=routeLine;if(!controller.mouseLine){controller.mouseLine=createInvisibleMouseLineForLine(routeLine);controller.mouseLine.controller=this;deCarta.App.map.addOverlay(controller.mouseLine)}else if(!controller.mouseLine.isVisible)controller.mouseLine.show();placemark.mouseLine=controller.mouseLine;controller.mouseLine.placemark=placemark}
function createDraggableRoutePlacemark(e){console.log("--x createDraggableRoutePlacemark");var pos=positionForEvent(e);var object=new DDSCircle(pos,radiusForPixels(5));object.setBorderWidth("3");object.setOpacity("60");object.setBorderColor("(88.0.88)");object.setFillColor("(255.255.255)");object.fixedOnLine=null;object.snapsToLine=null;object.mouseLine=null;object.addEventListener("onmouseout",placemark_onmouseout);object.addEventListener("onclick",placemark_onclick);object.addEventListener("onmousedown",
placemark_onmousedown);object.addEventListener("onmousemove",placemark_onmousemove);object.addEventListener("onmouseup",placemark_onmouseup);return object}function placemark_onmouseout(placemark,e){console.log("--x placemark_onmouseout: placemark.mouseLine="+placemark.mouseLine);if(placemark.mouseLine){var line=placemark.mouseLine;line.eventListenerMap.onmouseout(line,e)}}
function placemark_onmousemove(placemark,e){if(placemark.isDragging){console.log("--x placemark_onmousemove: dragging ...");YAHOO.util.Event.on(deCarta.App.map.getMapDiv(),"mousemove",e)}}
function placemark_onclick(placemark,e){if(placemark.mouseLine!=null){var mouseLine=placemark.mouseLine;placemark.mouseLine=null;mouseLine.placemark=null;mouseLine.hide();var routeLine=placemark.snapsToLine;var route=routeLine.route;var position=placemark.getPosition();addPositionToRouteGeometry(position,route.RouteGeometry);routeLine.setPositions(addPositionToRouteGeometry(position,routeLine.getPositions()));placemark.fixedOnLine=routeLine}if(placemark.isDragging)placemark.isDragging=false}
function placemark_onmousedown(placemark,e){console.log("--x placemark_onmousedown: ");var controller=placemark.controller;if(placemark.mouseLine!=null){var mouseLine=placemark.mouseLine;placemark.mouseLine=null;mouseLine.placemark=null;mouseLine.hide();var routeLine=placemark.snapsToLine;addPositionToRouteGeometry(placemark._latlonPoint,currentRoute.RouteGeometry);routeLine.setPositions(addPositionToRouteGeometry(placemark._latlonPoint,routeLine.getPositions()));placemark.fixedOnLine=routeLine}deCarta.App.map.setDragEnabled(false);
placemark.isDragging=true;console.log("placemark_onmousedown: setting controller.activeRoutePlacemark to "+placemark);controller.setActiveRoutePlacemark(placemark)}function placemark_onmouseup(placemark,e){YAHOO.util.Event.on(deCarta.App.map.getMapDiv(),"mouseup",e)}
function createInvisibleMouseLineForLine(routeLine){console.log("--x createInvisibleMouseLineForLine");var line=new DDSLine;line.setWidth("12");line.setOpacity("0");line.setColor("(0.126.255)");line.setPositions(routeLine.route.RouteGeometry);line.addEventListener("onmouseout",guideline_onmouseout);line.addEventListener("onmousemove",guideline_onmousemove);line.addEventListener("onmousedown",guideline_onmousedown);return line}
function guideline_onmouseout(guideLine,e){console.log("--x guideline_onmouseout");var placemark=guideLine.placemark;if(placemark!=null)if(placemark.fixedOnLine==null){placemark.hide();guideLine.hide()}}function guideline_onmousemove(guideLine,e){if(guideLine.placemark!=null){var pos=positionForEvent(e);guideLine.placemark.setPosition(pos)}guideLine.raphael_element.toFront()}
function guideline_onmousedown(guideLine,e){console.log("--x guideline_onmousedown");var controller=guideLine.controller;var placemark=guideLine.placemark;placemark.isDragging=true;placemark.mouseLine=null;guideLine.placemark=null;guideLine.hide();deCarta.App.map.setDragEnabled(false);console.log("guideline_onmousedown: setting this.activeRoutePlacemark to "+placemark);controller.setActiveRoutePlacemark(placemark)}
function positionForEvent(e){var clickScreenPix=new PixelPoint(e.clientX,e.clientY);var pos=deCarta.App.map.screenPixToPos(clickScreenPix);return pos}
function addPositionToRouteGeometry(position,positions){var lastDistance=-1;var closestPositionIndex=null;for(var i=0;i<positions.length;i++){var currentPosition=positions[i];var newDistance=Utilities.positions2Distance(position,currentPosition).distance;if(lastDistance==-1||newDistance<lastDistance){lastDistance=newDistance;closestPositionIndex=i}}positions.splice(closestPositionIndex,0,position);return positions}
RandMcNally.App.RouteController={_globalVariable:"RandMcNally.App.RouteController",_file:"RMRouteController.js",no_of_waypoints_geocoded:0,error_panel_id:null,errormessage:null,routePoints:[],index:null,routeResponses:[],optimized:false,reverse:false,roundTrip:false,routes:[],waypointPanel:null,requests:null,locAddrList:[],advancedOptions:"",routePreference:null,attemptGeocoding:function(startIndex,nextFlag){this.index=startIndex;this.errormessage="";this.error_panel_id="";if(!nextFlag){this.routePoints=
[];this.index=0;this.no_of_waypoints_geocoded=0;this.routeResponses=[];this.geocodeWaypoint(0)}else this.geocodeWaypoint(this.index)},geocodeWaypoint_strings:[],geocodeWaypoint_last_start_times:[],geocodeWaypoint_last_end_times:[],resetStringsAndTimes:function(){this.geocodeWaypoint_strings=[];this.geocodeWaypoint_last_start_times=[];this.geocodeWaypoint_last_end_times=[]},geocodeWaypoint:function(index){console.log("geocode index="+index);this.waypointPanel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[index]];
if(null!==this.waypointPanel._addressID){var rmLatLong=this.waypointPanel._geocodedAddress.latLongPosition;this.routePoints.push(new Position(rmLatLong.lat,rmLatLong.lon));this.no_of_waypoints_geocoded+=1;if(this.no_of_waypoints_geocoded>=directionPanel.arrayOfWpDisplayOrder.length){if(this.locAddrList.length-1==this.routePoints.length)this.routePoints.push(this.routePoints[0]);else if(this.locAddrList.length-(this.routePoints.length-1)==this.routePoints.length){var extrapoints=this.routePoints.length-
1;for(var i=1;i<=extrapoints;i++)this.routePoints.push(this.routePoints[extrapoints-i])}this.performIndividualRouting(0);this.index=0}else{this.index+=1;this.attemptGeocoding(this.index,true)}}else{var addr=this.waypointPanel._inputbox.value.replace(/^\s+|\s+$/g,"");console.log("gecode string="+addr);var mapLocale=this.waypointPanel._mapLocaleSel.value;addr=RMPanel_removeLocaleFromAddressString(addr);var canadianZipcodeMatch=addr.match(/^\s*([A-Za-z]\d[A-Za-z])\s*(\d[A-Za-z]\d){0,1}\s*$/);if(canadianZipcodeMatch){if(canadianZipcodeMatch[1]&&
canadianZipcodeMatch[2])addr=canadianZipcodeMatch[1]+" "+canadianZipcodeMatch[2];mapLocale="CA-EN"}var callback=function(res){this.geocodeWaypoint_last_end_times.push(new Date);this.callbackRoute(res)}.scope(this);if(addr.length==3){var params="cat=city&val="+addr;AIRPORT_SEARCH.search(params)}else{this.geocodeWaypoint_strings.push(addr);this.geocodeWaypoint_last_start_times.push(new Date);deCarta.App.search.Address(addr.toLowerCase(),callback,mapLocale)}}},callbackRoute:function(results){if(results.length==
0||results.address.toString()==""){var region=YAHOO.util.Dom.getRegion(directionPanel.arrayOfWpDisplayOrder[this.index]);scrollTab(region);errMsg=RMResources.GEOCODE_ADDRESS_NOT_FOUND;errorTip=new RMErrorWindow("error",region.left+250,region.top,errMsg);getCEM().fireEvent(RMEvent.Service.COMPLETE,mapId);return}else{var sAddressLine=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[this.index]]._inputbox.value;var pos=results.position;var usOrMexZipcodeMatch=sAddressLine.match(/^\s*([0-9]{5})(-[0-9]{4}){0,1}\s*$/);
var canadianZipcodeMatch=sAddressLine.match(/^\s*([A-Za-z]\d[A-Za-z])\s*(\d[A-Za-z]\d){0,1}\s*$/);if(usOrMexZipcodeMatch||canadianZipcodeMatch||locFromURL){pos.splice(1,pos.length-1);results.position=pos;var addr=results.address;addr.splice(1,addr.length-1);results.address=addr;if(results["geoAddr"])results.geoAddr.splice(1,results.geoAddr.length-1);pos=results.position;locFromURL=false}if(pos.length>1){if(this.waypointPanel){var action="route";if(this.optimized==true)action="optimized";else if(this.reverse==
true)action="reverse";else if(this.roundTrip==true)action="roundTrip";this.waypointPanel.renderMultipleAddressBaloon(results,action,this.index,directionPanel.arrayOfWpDisplayOrder[this.index]);getCEM().fireEvent(RMEvent.Service.COMPLETE,mapId)}}else{var addrJson=[];addrJson.push(pos[0]);addrJson.push(results.address[0]);addAddressToCacheOrPanel(this.waypointPanel,addrJson,false);console.log("geocode lat"+pos[0].lat+" "+pos[0].lon+" index"+this.index);var origin=new Position(pos[0].lat,pos[0].lon);
console.log("geocode lat"+origin.lat+" "+origin.lon);this.routePoints.push(origin);this.no_of_waypoints_geocoded+=1;if(this.no_of_waypoints_geocoded>=directionPanel.arrayOfWpDisplayOrder.length){if(this.locAddrList.length-1==this.routePoints.length)this.routePoints.push(this.routePoints[0]);else if(this.locAddrList.length-(this.routePoints.length-1)==this.routePoints.length){var extrapoints=this.routePoints.length-1;for(var i=1;i<=extrapoints;i++)this.routePoints.push(this.routePoints[extrapoints-
i])}this.performIndividualRouting(0);this.index=0}else{this.index+=1;this.attemptGeocoding(this.index,true)}}}},performIndividualRouting_last_before_query_timestamp:null,performIndividualRouting_last_after_query_timestamp:null,performIndividualRouting:function(ind){var identicalPoints=false;for(var i=1;i<this.routePoints.length&&!identicalPoints;i++){var prevPoint=this.routePoints[i-1];if(this.routePoints[i].lat==prevPoint.lat&&this.routePoints[i].lon==prevPoint.lon)identicalPoints=true}if(identicalPoints){var region=
YAHOO.util.Dom.getRegion(directionPanel.arrayOfWpDisplayOrder[0]);scrollTab(region);errMsg="Not enough distinct locations to calculate route";errorTip=new RMErrorWindow("error",region.left+250,region.top,errMsg);getCEM().fireEvent(RMEvent.Service.COMPLETE,mapId);return}this.routePreference=null;var uom=null;if(this.advancedOptions){if(this.advancedOptions.metrc=="true")uom=new UOM("KM");else uom=new UOM("MI");if(this.advancedOptions.routeType=="f")this.routePreference=new RoutePreference("Fastest",
uom);else if(this.advancedOptions.routeType=="s")this.routePreference=new RoutePreference("Shortest",uom);else if(this.advancedOptions.routeType=="a")this.routePreference=new RoutePreference("AvoidFreeways",uom);else if(this.advancedOptions.routeType=="p")this.routePreference=new RoutePreference("Pedestrian",uom);else if(this.advancedOptions.routeType=="n")this.routePreference=new RoutePreference("NoFreeways",uom);else if(this.advancedOptions.routeType=="m")this.routePreference=new RoutePreference("MoreFreeways",
uom);else if(this.advancedOptions.routeType=="e")this.routePreference=new RoutePreference("Easy",uom);else this.routePreference=new RoutePreference("Fastest",uom);var avoidList=[];if(this.advancedOptions.tolls=="true")avoidList.push("Toll");if(this.advancedOptions.tunnels=="true")avoidList.push("Tunnels");if(this.advancedOptions.bridges=="true")avoidList.push("Bridges");if(this.advancedOptions.ferries=="true")avoidList.push("Ferry");this.routePreference.avoidList=avoidList}else{uom=new UOM("MI");
this.routePreference=new RoutePreference("Fastest",uom)}if(this.optimized==true)this.routePreference.optimized=true;this.routePreference.maneuverMaps=false;this.routePreference.maneuverMapConfig.height=STEP_MAP_HEIGHT;this.routePreference.maneuverMapConfig.width=STEP_MAP_WIDTH;this.routePreference.maneuverMapConfig.format="PNG";this.index=ind;var routeQuery=new RouteQuery;console.log("routepoints"+this.routePoints);this.performIndividualRouting_last_before_query_timestamp=new Date;console.log("RouteController.performIndividualRouting_last_before_query_timestamp="+
this.performIndividualRouting_last_before_query_timestamp);this.returnRouteInstructions=false;this.returnRouteGeometry=true;routeQuery.query(this.routePoints,this.routePreference,function(routeResponse){this.performIndividualRouting_last_after_query_timestamp=new Date;console.log("RouteController.performIndividualRouting_last_after_query_timestamp="+this.performIndividualRouting_last_after_query_timestamp);this.handleLowestZoomRoute(routeResponse)}.scope(this));this.routePreference.maneuverMaps=true;
this.returnRouteInstructions=true;this.returnRouteGeometry=false;var bbox=Utilities.positionsToBoundingBox(this.routePoints);var genZoom=deCarta.App.zoom.getZoomLevelToFitBoundingBox(bbox);if(undefined==genZoom||null==genZoom||genZoom==""||genZoom>17)genZoom=17;console.log(genZoom);this.routePreference.setGeneralizationFactor(this.routePoints,genZoom);routeQuery.query(this.routePoints,this.routePreference,function(routeResponse){this.performIndividualRouting_last_after_query_timestamp=new Date;console.log("RouteController.performIndividualRouting_last_after_query_timestamp="+
this.performIndividualRouting_last_after_query_timestamp);this.handleRoute(routeResponse)}.scope(this))},handleRoute:function(routeResponse){if(!routeResponse){var region=YAHOO.util.Dom.getRegion(directionPanel.arrayOfWpDisplayOrder[0]);scrollTab(region);var msg="<p><b>Can Not Find Route</b></p>"+"<p>This may be because no routes are available with your current trip settings. "+'You can change these settings by clicking "Trip Settings" in the left panel.</p>';errorTip=new RMErrorWindow("error",region.left+
250,region.top,msg);getCEM().fireEvent(RMEvent.Service.COMPLETE,mapId);return}this.routeResponses.push(routeResponse);this.index=0;this.drawRoute()},handleLowestZoomRoute:function(routeResponse){if(!routeResponse)return;deCarta.App.UI.wipeMap();this.displayRoute(routeResponse);var treroute=new Date;var tlast=this.performIndividualRouting_last_after_query_timestamp;var tfirst=RMPanel_DirectionPanel_resolveMapsDirCall_lastTimestamp;console.log("tlast-treroute: "+(treroute-tlast)+"ms | "+millisecondsToHMSString(dateInMilliseconds(treroute)-
dateInMilliseconds(tlast)));console.log("tfirst-treroute: "+(treroute-treroute)+"ms | "+millisecondsToHMSString(dateInMilliseconds(treroute)-dateInMilliseconds(tfirst)))},drawRoute:function(){var callback=function(){CATEGORY_CONTAINER.showBackgroundPois();CATEGORY_CONTAINER.updateActivatedCategories()};directionPanel.handleRouteResults(this.routeResponses,this.routePoints,this.advancedOptions);console.log("drawRoute: this.routePoints="+this.routePoints);var bbox=this.routeResponses[0].boundingBox;
var newCenter=bbox.getCenterPosition();var zoom=deCarta.App.zoom.getZoomLevelToFitBoundingBox(bbox);if(zoom>17)zoom=17;deCarta.App.RMZoomBar.setDeCartaZoomLevel(zoom);deCarta.App.map.centerOnPosition(newCenter,callback.scope(this));this.optimized=false;this.reverse=false;this.roundTrip=false;getCEM().fireEvent(RMEvent.Service.COMPLETE,mapId);var params=[];params[0]=0;params[1]=this.routeResponses;getCEM().fireEvent(RMEvent.CalcRoute.COMPLETE,mapId,params);deCarta.App.search.searchesLocked=false;CATEGORY_CONTAINER.showBackgroundPois();
CATEGORY_CONTAINER.updateActivatedCategories();this.displayRoute_last_end_timestamp=new Date;console.log("RandMcNally.App.RouteController.displayRoute_last_end_timestamp="+this.displayRoute_last_end_timestamp);this.displayTimeSummary()},displayRoute:function(routeResponse){var line=new DDSLine;if(isIE&&routeResponse.RouteGeometry.length>3E4)line.setPositions(Utilities.generalize(routeResponse.RouteGeometry,deCarta.App.zoom.getZoomLevel(),6,256));else line.setPositions(routeResponse.RouteGeometry);
console.log("routeResponse.RouteGeometry"+routeResponse.RouteGeometry.length);line.setWidth("12");line.setOpacity("60");line.setColor("(0.126.255)");deCarta.App.map.addOverlay(line);var zindex=303;for(var i=0;i<this.routePoints.length;i++){var panel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[i]];var label=ALPH[parseInt(i,10)];var pin=deCarta.App.Util.renderPin(this.routePoints[i],null,label,panel._geocodedAddress.toString(),null);pin.setZIndex(zindex);zindex=zindex+1;
pin.addEventListener("click",pinOnClickCallback)}CATEGORY_CONTAINER.showBackgroundPois();CATEGORY_CONTAINER.updateActivatedCategories()},displayRoute_last_end_timestamp:null,displayTimeSummary:function(){var t1=RMPanel_DirectionPanel_resolveMapsDirCall_lastTimestamp;var t2=this.performIndividualRouting_last_before_query_timestamp;var t3=this.performIndividualRouting_last_after_query_timestamp;var t4=this.displayRoute_last_end_timestamp;console.log("t1-t2: "+(t2-t1)+"ms | "+millisecondsToHMSString(dateInMilliseconds(t2)-
dateInMilliseconds(t1)));this.displayGeocodingTimeSummary();console.log("t2-t3: "+(t3-t2)+"ms | "+millisecondsToHMSString(dateInMilliseconds(t3)-dateInMilliseconds(t2)));console.log("t3-t4: "+(t4-t3)+"ms | "+millisecondsToHMSString(dateInMilliseconds(t4)-dateInMilliseconds(t3)));console.log("t1-t4: "+(t4-t1)+"ms | "+millisecondsToHMSString(dateInMilliseconds(t4)-dateInMilliseconds(t1)))},displayGeocodingTimeSummary:function(){for(var x=0;x<this.geocodeWaypoint_strings.length;x++){var t1=this.geocodeWaypoint_last_start_times[x];
var t2=this.geocodeWaypoint_last_end_times[x];console.log(this.geocodeWaypoint_strings[x]+": "+(t2-t1)+"ms | "+millisecondsToHMSString(dateInMilliseconds(t2)-dateInMilliseconds(t1)))}},openStepMap:function(index){var infoWindow=deCarta.App.map.getInfoWindow();infoWindow.hide();var pin1=myMap.getPinById("route-step-"+index);pin1.show();pin1.showInfoWindow();infoWindow.centerNow()}};var THUMBNAILER_WS_URL="http://images.tripfilms.com/t/";
function VideoPlugin(){var mVideoWsUrl="videos.do";var mMap=null;var mIsActive=false;var mLinkedCategory=null;var mXoffset=40;var mYoffset=30;var mMaxVideosAvailable;var mCurrentPage;var mNbVideosPerPage=20;this.mVideos=null;this.getLinkedCategory=function(){return mLinkedCategory};this.setLinkedCategory=function(pLinkedCategory){mLinkedCategory=pLinkedCategory};this.getVideoWsUrl=function(){return mVideoWsUrl};this.setVideoWsUrl=function(pUrl){mVideoWsUrl=pUrl};this.getMap=function(){if(mMap==null)mMap=
myMap;return mMap};this.setMap=function(pMap){mMap=pMap};this.isActive=function(){return mIsActive};this.setIsActive=function(pIsActive){mIsActive=pIsActive};this.getXoffset=function(){return mXoffset};this.getYoffset=function(){return mYoffset};this.setXoffset=function(pXoffset){mXoffset=pXoffset};this.setYoffset=function(pYoffset){mYoffset=pYoffset};this.getMaxVideosAvailable=function(){return mMaxVideosAvailable};this.setMaxVideosAvailable=function(pMaxVideosAvailable){mMaxVideosAvailable=pMaxVideosAvailable};
this.getCurrentPage=function(){return mCurrentPage};this.setCurrentPage=function(pCurrentPage){mCurrentPage=pCurrentPage};this.getNbVideosPerPage=function(){return mNbVideosPerPage};this.setNbVideosPerPage=function(pNbVideosPerPage){mNbVideosPerPage=pNbVideosPerPage}}VideoPlugin.prototype.getVideos=function(){return this.mVideos};VideoPlugin.prototype.setVideos=function(pVideos){this.mVideos=pVideos};
VideoPlugin.prototype.getVideo=function(pVideoId){for(var i in this.mVideos){var oVideo=this.mVideos[i];if(oVideo.VideoId==pVideoId)return oVideo}return null};VideoPlugin.prototype.init=function(){this.setMap(myMap);this.getVideosForGeoPosition()};VideoPlugin.prototype.activate=function(){if(this.isActive())return;var oVideoToggleButton=document.getElementById("videoToggleButton");this.setIsActive(true);oVideoToggleButton.className="m-active";this.getLinkedCategory().activate();this.getVideosForGeoPosition()};
VideoPlugin.prototype.disactivate=function(){if(!this.isActive())return;var oVideoToggleButton=document.getElementById("videoToggleButton");this.setIsActive(false);oVideoToggleButton.className="";this.clearVideos();this.getLinkedCategory().disactivate()};VideoPlugin.prototype.toggleActivity=function(){if(this.isActive())this.disactivate();else this.activate()};VideoPlugin.prototype.hideVideoPanel=function(){this.getMap().getInfoWindow().setVisible(false)};
VideoPlugin.prototype.getVideosForGeoPosition=function(pPage){if(!this.isActive())return;if(this.getMap()==null)return;var oPage=1;if(!isNaN(pPage)&&pPage>oPage)oPage=pPage;var oFrom,oTo;var oNbVideos=this.getNbVideosPerPage();var bbox=this.getMap().getBoundingBoxViewable();var util=RandMcNally.Util;util.increaseBoundingBoxMaxLatByPixels(bbox,-105);util.increaseBoundingBoxMaxLonByPixels(bbox,-20);util.increaseBoundingBoxMinLatByPixels(bbox,0);util.increaseBoundingBoxMinLonByPixels(bbox,20);var oVideoPlugin=
this;var oQueryString="";oTo=oPage*oNbVideos;oFrom=oTo-oNbVideos+1;this.setCurrentPage(oPage);var minPosition=bbox.getMinPosition();var maxPosition=bbox.getMaxPosition();oQueryString+="q=upl:1+AND+";oQueryString+="sampleLat:["+minPosition.lat+"+TO+"+maxPosition.lat+"]";oQueryString+="+AND+";oQueryString+="sampleLng:["+minPosition.lon+"+TO+"+maxPosition.lon+"]";oQueryString+="&from="+oFrom;oQueryString+="&to="+oTo;oQueryString+="&rsort=byAvgRating";var oUrl=this.getVideoWsUrl()+"?"+oQueryString;sendRequest(oUrl,
function(e){oVideoPlugin.insertResultsInMap(e)},null,true)};VideoPlugin.prototype.getVideosForCityName=function(pCityName){var oUrl=this.getVideoWsUrl()+"q="+pCityName.split(" ").join("+")+"&to=30";var oVideoPlugin=this;sendRequest(oUrl,oVideoPlugin.insertVideos,null,true)};
VideoPlugin.prototype.getParamValue=function(pElement,pParamName){var oAnswer;var oAnswerElement=pElement.getElementsByTagName(pParamName)[0];if(oAnswerElement==null)return null;oAnswer=oAnswerElement.textContent;if(oAnswer==null)oAnswer=oAnswerElement.text;return oAnswer};
VideoPlugin.prototype.insertResultsInMap=function(pResult){var oDocument=pResult;var oResults;var oVideos=new Array;var oFeaturedVideos=new Array;var oNonFeaturedVideos=new Array;try{this.setMaxVideosAvailable(this.getParamValue(oDocument,"TotalResultsAvailable"));oResults=oDocument.getElementsByTagName("Result")}catch(e){return}this.clearVideos();for(var i=0;i<oResults.length;i++){var oResult=oResults[i];var oVideo=new Video;var oVideoID=this.getParamValue(oResult,"VideoID");var oTitle=this.getParamValue(oResult,
"Title");var oDescription=this.getParamValue(oResult,"Description");var oSnapshot=this.getParamValue(oResult,"Snapshot");var oCityLon=this.getParamValue(oResult,"LocationLng");var oCityLat=this.getParamValue(oResult,"LocationLat");var oLon=this.getParamValue(oResult,"SampleLng");var oLat=this.getParamValue(oResult,"SampleLat");var oCreationTime=this.getParamValue(oResult,"CreationTime");var oFilmmaker=this.getParamValue(oResult,"Filmmaker");var oFilmmakerID=this.getParamValue(oResult,"FilmmakerID");
var oTotalViews=this.getParamValue(oResult,"TotalViews");var oTotalComments=this.getParamValue(oResult,"TotalComments");var oTotalRatings=this.getParamValue(oResult,"TotalRatings");var oLength=this.getParamValue(oResult,"Length");var oAverageRating=this.getParamValue(oResult,"AverageRating");var oLocation=this.getParamValue(oResult,"Location");var oParentLocation=this.getParamValue(oResult,"ParentLocation");var oFeature=this.getParamValue(oResult,"Feature");oVideo._init(oVideoID,oTitle,oDescription,
oSnapshot,oLon,oLat);oVideo.CreationTime=getDateFromUTCString(oCreationTime);oVideo.Filmmaker=oFilmmaker;oVideo.FilmmakerID=oFilmmakerID;oVideo.TotalViews=oTotalViews;oVideo.TotalComments=oTotalComments;oVideo.TotalRatings=oTotalRatings;oVideo.Length=oLength;oVideo.AverageRating=oAverageRating;oVideo.Location=oLocation;oVideo.ParentLocation=oParentLocation;oVideo.Feature=oFeature=="true";if(oVideo.Feature)oFeaturedVideos.push(oVideo);else oNonFeaturedVideos.push(oVideo)}oVideos=oFeaturedVideos.concat(oNonFeaturedVideos);
this.setVideos(oVideos);this.insertVideos(oVideos);this.insertInBrowsingPanel(oVideos)};VideoPlugin.prototype.nextPage=function(){this.getVideosForGeoPosition(this.getCurrentPage()+1)};VideoPlugin.prototype.previousPage=function(){this.getVideosForGeoPosition(this.getCurrentPage()-1)};
VideoPlugin.prototype.generateResultPanelHeader=function(){var oAnswerBuilder=new StringBuilder;var oCurrentPage=this.getCurrentPage();var oTo=oCurrentPage*this.getNbVideosPerPage();var oFrom=oTo-this.getNbVideosPerPage()+1;var oMaxNbVideos=this.getMaxVideosAvailable();var oPreviousPage='<a href="javascript:VIDEO_PLUGIN.previousPage()">Previous</a>';var oNextPage='<a href="javascript:VIDEO_PLUGIN.nextPage()">Next</a>';if(oTo>oMaxNbVideos)oTo=oMaxNbVideos;var isShowPrevious=oCurrentPage>1;var isShowNext=
oTo<oMaxNbVideos;if(oMaxNbVideos<1)oAnswerBuilder.append('<div class="results-none"><h4>No Search Results found on this Map.</h4><p>Try searching again in another area.</p></div>');else{oAnswerBuilder.append('<div class="poi-list-page">');oAnswerBuilder.append("<span>");if(oMaxNbVideos>0)oAnswerBuilder.append(oFrom+"-"+oTo+" of "+oMaxNbVideos+" videos");oAnswerBuilder.append("(<a href=\"javascript:clearATab('videos')\">");oAnswerBuilder.append("Clear</a>");oAnswerBuilder.append(")</span>");if(isShowPrevious)oAnswerBuilder.append(oPreviousPage);
if(isShowPrevious&&isShowNext)oAnswerBuilder.append('<var class="quiet">|</var>');if(isShowNext)oAnswerBuilder.append(oNextPage);oAnswerBuilder.append("</div>")}return oAnswerBuilder.toString()};
VideoPlugin.prototype.insertInBrowsingPanel=function(pVideos){var oCategory=this.getLinkedCategory();if(oCategory==null)return;var oDescriptionMaxLength=60;var oPanel=oCategory.getResultPanel();var oHtmlBuilder=new StringBuilder;var oHeaderFooter=this.generateResultPanelHeader();oHtmlBuilder.append(oHeaderFooter);for(var i in pVideos){var oVideo=pVideos[i];var oRating=Math.floor(oVideo.AverageRating);var oDescription=oVideo.Description.substring(0,oDescriptionMaxLength);if(oVideo.Description.length>
oDescriptionMaxLength)oDescription+=" ...";var oFormattedSecond=(oVideo.Length%60).toString();if(oFormattedSecond.length==1)oFormattedSecond="0"+oFormattedSecond;var oFormatLength=Math.floor(oVideo.Length/60)+":"+oFormattedSecond;var oDestination=oVideo.getFullDestination();var oVideoId=oVideo.VideoId;var oLat=oVideo.LocationLat;var oLon=oVideo.LocationLon;oHtmlBuilder.append('<div class="poi-card"');oHtmlBuilder.append(" onmouseover=\"showVideoOverBox('"+oVideoId+"')\"");oHtmlBuilder.append(' onmouseout="hideInfoBaloon()">');
oHtmlBuilder.append('<div class="pin-list poi-video"><img src="'+oVideo.getSnapshotUrl(40,30)+'"></div>');oHtmlBuilder.append('<div class="poi-meta poi-video ie6">');oHtmlBuilder.append("<h3><a href=\"javascript:VIDEO_PLUGIN.playVideo('"+oVideoId+"')\">"+oVideo.Title+"</a></h3>");oHtmlBuilder.append('<ul class="poi-details">');oHtmlBuilder.append('<li class="poi-rating quiet">');oHtmlBuilder.append('<div class="rating rated-'+oRating+'-5">'+oRating+" out of 5 stars</div>");if(oVideo.Feature)oHtmlBuilder.append("&nbsp;&nbsp;|&nbsp;&nbsp;<img src='http://www.tripfilms.com/images/epSeal_16.gif'>Editor's Pick");
oHtmlBuilder.append("</li>");oHtmlBuilder.append('<li class="poi-vid-desc">'+oDescription+"</li>");oHtmlBuilder.append('<li class="quiet float-r">'+oFormatLength+"</li>");oHtmlBuilder.append('<li class="quiet"><a href="#">'+oDestination+'</a> by <a href="http://www.tripfilms.com/users/'+oVideo.Filmmaker+'" target="_blank">'+oVideo.Filmmaker+"</a></li>");oHtmlBuilder.append("</ul>");oHtmlBuilder.append("</div>");oHtmlBuilder.append("</div>")}if(this.getMaxVideosAvailable()>0)oHtmlBuilder.append(oHeaderFooter);
oPanel.innerHTML=oHtmlBuilder.toString();CATEGORY_CONTAINER.showTabsSplitter()};
VideoPlugin.prototype.generateBubble=function(pVideo){var oAnswer="";var oImageUrl=pVideo.getSnapshotUrl(80,60);var videoId=pVideo.VideoId;var oLengthSummary=50;var oDescription=pVideo.Description.substr(0,oLengthSummary);var oFormatDate="";var oFormattedSecond=(pVideo.Length%60).toString();if(oFormattedSecond.length==1)oFormattedSecond="0"+oFormattedSecond;var oFormatLength=Math.floor(pVideo.Length/60)+":"+oFormattedSecond;var oRating=Math.floor(pVideo.AverageRating);var oDisplayLocation=pVideo.getFullDestination();
var oAutoPlay=false;var oWidth=330;var oHeight=212;if(pVideo.CreationTime!=null)oFormatDate=MONTHS[pVideo.CreationTime.getMonth()]+" "+pVideo.CreationTime.getFullYear();oAnswer+='<div id="videoInfoBubble" class="video-info" >';oAnswer+="<h2>"+pVideo.Title+"</h2>";oAnswer+='<ul class="video-meta quiet">';oAnswer+='<li class="float-r">'+oFormatLength+"</li>";oAnswer+="<li>"+oDisplayLocation+' by <a href="http://www.tripfilms.com/users/'+pVideo.Filmmaker+'" target="_blank">'+pVideo.Filmmaker+"</a></li>";
oAnswer+="</ul>";oAnswer+='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" height="'+oHeight+'" width="'+oWidth+'" id="flashplayer">';oAnswer+='<param name="movie" value="http://player.tripfilms.com/TripfilmsPlayer-2.0.swf" />';oAnswer+='<param name="wmode" value="opaque"/>';oAnswer+='<param name="allowfullscreen" value="true"/>';oAnswer+='<param name="allowscriptaccess" value="always" />';oAnswer+='<param name="flashvars" value="videoID='+videoId+'&tag=RANDMCNALLY"/>';oAnswer+="<!--[if !IE]>--\>";
oAnswer+='<object type="application/x-shockwave-flash" data="http://player.tripfilms.com/TripfilmsPlayer-2.0.swf"  height="'+oHeight+'" width="'+oWidth+'">';oAnswer+='<param name="wmode" value="opaque" />';oAnswer+='<param name="allowfullscreen" value="true" />';oAnswer+='<param name="allowscriptaccess" value="always" />';oAnswer+='<param name="flashvars" value="videoID='+videoId+'&tag=RANDMCNALLY"/>';oAnswer+="<!--<![endif]--\>";oAnswer+='<a href="http://www.adobe.com/go/getflashplayer">';oAnswer+=
'<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player"/>';oAnswer+="</a>";oAnswer+="<!--[if !IE]>--\>";oAnswer+="</object>";oAnswer+="<!--<![endif]--\>";oAnswer+="</object>";oAnswer+='<ul class="video-meta quiet">';oAnswer+='<li class="float-r">';oAnswer+='<div class="rating rated-'+oRating+'-5">'+oRating+" out of 5 stars</div>";oAnswer+="</li>";if(pVideo.Feature){oAnswer+='<li class="float-r">';oAnswer+='<img src="http://www.tripfilms.com/images/epSeal_16.gif" style="float:none;margin:-2px 2px -5px!important">Editor\'s Pick&nbsp;&nbsp;|&nbsp;&nbsp;';
oAnswer+="</li>"}oAnswer+="<li>Uploaded "+oFormatDate+"</li>";oAnswer+="</ul>";oAnswer+="<p>";oAnswer+=oDescription+' &#133;<a href="http://www.randmcnally.com/watch_video-v'+videoId+'-.html" target="_blank">more</a></p>';oAnswer+="</div>";return oAnswer};
function showVideo(videoId){var oInnerHtml="";var oVitre=document.getElementById("vitre");var oInnerHeight=getInnerHeight();document.body.style.overflow="hidden";oVitre.style.position="absolute";oVitre.style.top=0;oVitre.style.left=0;oVitre.style.width=document.body.offsetWidth+"px";oVitre.style.height=document.body.offsetHeight+10+"px";oVitre.style.textAlign="center";oVitre.style.zIndex=1E3;oInnerHtml+=' <div style="display:inline-block;vertical-align:middle;">';oInnerHtml+=' <object width="400" height="373">';
oInnerHtml+=' <param name="movie" value="http://www.tripfilms.com/playerservices/flashplayer_v2.swf?videoID='+videoId+'&tag=TFEMBED&autoPlay=false"></param>';oInnerHtml+=' <param name="wmode" value="opaque"></param><param name="allowScriptAccess" value="always"></param>';oInnerHtml+=' <param name="allowFullScreen" value="true"></param>';oInnerHtml+=' <embed src="http://www.tripfilms.com/playerservices/flashplayer_v2.swf?videoID='+videoId+'&tag=TFEMBED&autoPlay=false" ';oInnerHtml+=' type="application/xshockwave-flash" wmode="opaque" allowFullScreen="true" allowScriptAccess="always" width="400" height="373"></embed>';
oInnerHtml+=' </object><br />Watch more <a target="_blank" href="http://www.tripfilms.com/Tourism-l63555-Stowe-Travel_Videos.html">Stowe videos</a> at tripfilms.com';oInnerHtml+=" </div>";var oFrame=document.createElement("DIV");oFrame.style.position="absolute";oFrame.style.width="440px";oFrame.style.height="400px";oFrame.style.left=(document.body.offsetWidth/2-220).toString()+"px";oFrame.style.top=(document.body.offsetHeight/2-200).toString()+"px";oFrame.style.top=(oInnerHeight/2-200).toString()+
"px";oFrame.style.opacity="1";oFrame.style.backgroundColor="#000000";oFrame.innerHTML=oInnerHtml;oFrame.style.zIndex=1001;oFrame.style.textAlign="center";var oClose=document.createElement("DIV");oClose.style.position="absolute";oClose.style.width="35px";oClose.style.height="35px";oClose.style.background="transparent url('images/close.png') no-repeat 0 0";oClose.style.cursor="pointer";oClose.style.left=(document.body.offsetWidth/2-220-18).toString()+"px";oClose.style.top=(oInnerHeight/2-200-18).toString()+
"px";oClose.style.opacity=1;oClose.style.zIndex=1002;oClose.onclick=function(){var oPanel=document.getElementById("vitre");document.body.removeChild(oFrame);document.body.removeChild(oClose);document.body.style.overflow="auto";oPanel.style.display="none"};document.body.appendChild(oFrame);document.body.appendChild(oClose);oVitre.style.display="block"}
VideoPlugin.prototype.setupOverlappingVidoes=function(pVideos){var oIndexesToIgnore=new Array;for(var i=0;i<pVideos.length;i++)if(!contains(oIndexesToIgnore,i)){var oVideo=pVideos[i];var oGroup=new Array;oIndexesToIgnore.push(i);for(var j=0;j<pVideos.length;j++)if(!contains(oIndexesToIgnore,j)){var oTemp=pVideos[j];if(oVideo.isOverlapping(oTemp,this.getXoffset(),this.getYoffset())){oGroup.push(oTemp);oIndexesToIgnore.push(j)}}if(oGroup.length>0){oGroup.push(oVideo);for(var j=0;j<oGroup.length;j++){var oTemp=
oGroup[j];oTemp._container.className+=" minivideo video"+(j+1).toString()}}}};function contains(a,obj){var i=a.length;while(i--)if(a[i]===obj)return true;return false}VideoPlugin.prototype.insertVideos=function(pVideos){this.setupOverlappingVidoes(pVideos);for(var i=0;i<pVideos.length;i++){var oVideo=pVideos[i];this.insertVideo(oVideo)}};
VideoPlugin.prototype.playVideo=function(pVideoId,cancel){hideInfoBaloon();if(cancel==true){hidePanel("video_bubble");return}else{var oVideo=VIDEO_PLUGIN.getVideo(pVideoId);var oBubbleMessage=VIDEO_PLUGIN.generateBubble(oVideo);var divpanel=RMUtils.getEl("video_bubble");var divpanelText=RMUtils.getEl("video_bubble_mid_text");divpanelText.innerHTML=oBubbleMessage;divpanel.style.zIndex="9999";divpanel.style.display="block"}};
VideoPlugin.prototype.attachClickEvent=function(pVideo){var oElement=pVideo._container;YAHOO.util.Event.addListener(oElement,"click",function(video){return function(){VIDEO_PLUGIN.playVideo(pVideo.VideoId)}}(pVideo))};
VideoPlugin.prototype.attachMouseEvent=function(pVideo){var oElement=pVideo._container;var oThis=this;var oBubbleMessage=this.generateBubble(pVideo);YAHOO.util.Event.addListener(oElement,"mouseover",function(e){showVideoOverBox(pVideo.VideoId)});YAHOO.util.Event.addListener(oElement,"mouseout",function(e){hideInfoBaloon(e)})};
VideoPlugin.prototype.insertVideo=function(pVideo){var oXPixelPoint=myMap.positionToMapLayerPixel(pVideo._latlonPoint);var yAdjusted=oXPixelPoint.y+pVideo._yAdjust;var xAdjusted=oXPixelPoint.x+pVideo._xAdjust;var oElement=pVideo._container;oElement.style.top=yAdjusted+"px";oElement.style.left=xAdjusted+"px";for(var i=0;i<oElement.childNodes.length;i++){var tempNode=oElement.childNodes[i];if(tempNode.nodeType==1&&tempNode.tagName.toLowerCase()=="img"){tempNode.onmouseover=function(){this.parentNode.style.zIndex=
ZINDEX_PLACEMARK+1};tempNode.onmouseout=function(){this.parentNode.style.zIndex=ZINDEX_PLACEMARK}}}this.getMap().getTileDiv().appendChild(pVideo._container);this.attachClickEvent(pVideo);this.attachMouseEvent(pVideo)};VideoPlugin.prototype.clearVideos=function(){for(i in this.mVideos){var e=this.mVideos[i]._container;YAHOO.util.Event.purgeElement(e);this.getMap().getTileDiv().removeChild(e)}this.mVideos=new Array};function toggleVideoPluginActivity(){VIDEO_PLUGIN.toggleActivity()};function Video(){this.VideoId=null;this.CreationTime=null;this.Snapshot=null;this.Title=null;this.Description=null;this.Filmmaker=null;this.FilmmakerID=null;this.Location=null;this.CityLat=null;this.CityLng=null;this.LocationLat=null;this.LocationLng=null;this.ParentLocation=null;this.TotalViews=null;this.TotalComments=null;this.TotalRatings=null;this.Length=null;this.AverageRating=null;this.Feature=null;this.Category=null;this.LIDs=null;this.getVideoId=function(){var idPrefix="videoId";return idPrefix+
this.VideoId};this.getVideoWidth=function(){return 40};this.getVideoHeight=function(){return 30}}Video.prototype=new RMMapOverlay;Video.prototype.constructor=Video;Video.superclass=RMMapOverlay.prototype;
Video.prototype._init=function(pVideoId,pTitle,pDesctription,pSnapshot,pLon,pLat){this.VideoId=pVideoId;this.Title=pTitle;this.Description=pDesctription;this.Snapshot=pSnapshot;this.LocationLng=pLon;this.LocationLat=pLat;this._latlonPoint=new LatLong(this.LocationLat,this.LocationLng);this._type="Video";this._xAdjust=0-Math.floor(this.getVideoWidth()/2);this._yAdjust=0-this.getVideoHeight();this._yAdjust-=25;var oImageUrl=this.getSnapshotUrl();var oElement=window.document.createElement("DIV");oElement.className=
"RMOverlays pin-video";oElement.style.cursor="pointer";oElement.id=this.getVideoId();var oImgElement=window.document.createElement("IMG");oImgElement.src=oImageUrl;oImgElement.style.width=this.getVideoWidth()+"px";oImgElement.style.height=this.getVideoHeight()+"px";oElement.appendChild(oImgElement);oElement.style.zIndex=ZINDEX_PLACEMARK;Video.superclass._init.call(this,oElement,null)};
Video.prototype.getSnapshotUrl=function(pWidth,pHeight){var oWidth=this.getVideoWidth();var oHeight=this.getVideoHeight();var oAmazonUrl=this.Snapshot.replace(/\/\/s3.amazonaws.com\//,"s3://");if(!isNaN(pWidth))oWidth=pWidth;if(!isNaN(pHeight))oHeight=pHeight;return THUMBNAILER_WS_URL+oWidth+"x"+oHeight+"/"+oAmazonUrl+"?appKey=123ABC"};
Video.prototype.isOverlapping=function(pVideo,pYOffset,pXOffset){if(pVideo==null)return;var oXOffset=0;var oYOffset=0;if(!isNaN(pYOffset))oYOffset=pYOffset;if(!isNaN(pXOffset))oXOffset=pXOffset;var oThisXPixelPoint=myMap.posToMercPix(this._latlonPoint);var oComparedlPoint=myMap.posToMercPix(pVideo._latlonPoint);return Math.sqrt(Math.pow(oThisXPixelPoint.x-oComparedlPoint.x,2))<oXOffset&&Math.sqrt(Math.pow(oThisXPixelPoint.y-oComparedlPoint.y,2))<oYOffset};
Video.prototype.getFullDestination=function(){return this.ParentLocation+", "+this.Location};Video.prototype.play=function(){};function Category(pType,pName){var mBkPoiType="BkPoi";var mBkPoiPrefix=mBkPoiType+"_";this.getBkPoiType=function(){return mBkPoiType};this.getBkPoiPrefix=function(){return mBkPoiPrefix};this.mDisplayedName=pName;if(pType!=null){this.setType(pType);this.init()}}Category.prototype.mType=null;Category.prototype.mActive=false;Category.prototype.mResultPanelId=null;Category.prototype.mCurrentRequest=null;Category.prototype.mCurrentPOIS=null;Category.prototype.mDisplayedBackgroundPoiCache=null;
Category.prototype.mDisplayedName=null;Category.prototype.mBkPois=new Array;Category.prototype.mUniqueId=0;Category.prototype.getNbBackGroundPois=function(){return this.mBkPois.length};Category.prototype.getCurrentRequest=function(){return this.mCurrentRequest};Category.prototype.setCurrentRequest=function(pRequest){if(this.mCurrentRequest!=null)try{this.mCurrentRequest.onreadystatechange=function(){};this.mCurrentRequest.abort()}catch(ignored){}this.mCurrentRequest=pRequest};
Category.prototype.getDisplayName=function(){return this.mDisplayedName};Category.prototype.isActive=function(){return this.mActive};Category.prototype.setActive=function(pActive){this.mActive=pActive};Category.prototype.getType=function(){return this.mType};Category.prototype.setType=function(pType){this.mType=pType};Category.prototype.getResultPanelId=function(){if(this.mResultPanelId==null)this.setResultPanelId("result_"+this.mType);return this.mResultPanelId};
Category.prototype.setResultPanelId=function(pId){this.mResultPanelId=pId};Category.prototype.getPoiPrefix=function(){return"POI_"+this.getType()};Category.prototype.getUniqueId=function(){return this.mUniqueId++};Category.prototype.resetUniqueId=function(){this.mUniqueId=1};
Category.prototype.init=function(){var oTab=this.getTab();this.mCurrentPOIS=new Array;this.mDisplayedBackgroundPoiCache=new BackgroundPoiCache;if(oTab!=null){var oTabChildren=oTab.childNodes;for(var i=0;i<oTabChildren.length;i++){var oChild=oTabChildren[i];if(oChild.nodeType==1&&oChild.tagName.toLowerCase()=="a")oChild.href="javascript:clickTab('"+this.getType()+"')"}oTab.style.display="none"}this.initButtonClick()};
Category.prototype.initButtonClick=function(){var oButton=this.getButton();if(oButton==null){CATEGORY_CONTAINER.addNavButton(this.createNavButton());oButton=this.getButton()}if(oButton!=null)oButton.href="javascript:toggleButtonClick('"+this.getType()+"')"};
Category.prototype.createNavButton=function(){var oLi=document.createElement("LI");var oA=document.createElement("A");var oSpan=document.createElement("SPAN");oA.id=this.getButtonId();oA.href="#";oA.className="pin-chunk p-"+this.getType();oSpan.innerHTML=this.getDisplayName();oA.appendChild(oSpan);oLi.appendChild(oA);return oLi};
Category.prototype.createTabButton=function(){var oLi=document.createElement("LI");var oA=document.createElement("A");var oSpan=document.createElement("SPAN");oLi.id=this.getTabId();oA.className="poi-tab-"+this.getType();oSpan.innerHTML=this.getDisplayName();oA.appendChild(oSpan);oLi.appendChild(oA);CATEGORY_CONTAINER.addTabButton(oLi);return oLi};Category.prototype.getTabId=function(){return"poiTab_"+this.getType()};
Category.prototype.getTab=function(){var oAnswer=document.getElementById(this.getTabId());if(oAnswer==null)oAnswer=this.createTabButton();return oAnswer};Category.prototype.getButtonId=function(){return"toggleButton_"+this.getType()};Category.prototype.getButton=function(){return document.getElementById(this.getButtonId())};Category.prototype.getResultPanel=function(){return document.getElementById(this.getResultPanelId())};Category.prototype.getBBOxMaxLength=function(){return CITYGRID_BBOX_MAX_LENGTH_MILES};
Category.prototype.searchForScreen=function(pageNum,what){var util=RandMcNally.Util;var bbox=myMap.getBoundingBoxViewable();console.log("original: "+bbox.toString());util.increaseBoundingBoxMaxLatByPixels(bbox,-40);util.increaseBoundingBoxMaxLonByPixels(bbox,-30);util.increaseBoundingBoxMinLatByPixels(bbox,20);util.increaseBoundingBoxMinLonByPixels(bbox,65);console.log("original (shrunk): "+bbox.toString());var maxBoxSideLengthMi=this.getBBOxMaxLength();var bboxHeightMi=util.widthOfBoundingBoxInMiles(bbox);
var bboxWidthMi=util.heightOfBoundingBoxInMiles(bbox);var diameterMi=Math.min(maxBoxSideLengthMi,bboxHeightMi,bboxWidthMi);var radiusMi=diameterMi/2;var radius=new Radius(radiusMi,new UOM("MI"));bbox=util.boundingBoxTrimmedToRadius(bbox,radius);var upperLeftPos=bbox.getUpperLeftPosition();var lat=upperLeftPos.lat;var lon=upperLeftPos.lon;var lowerRightPos=bbox.getLowerRightPosition();var lat2=lowerRightPos.lat;var lon2=lowerRightPos.lon;setDisplayName(what);this.searchForPosition(pageNum,what,lat,
lon,radiusMi,lat2,lon2)};Category.prototype.searchForPosition=function(pPageNum,pWhat,pLat,pLon,pRadius,pLat2,pLon2){var oReqParams=this.getQueryParams(pPageNum,pWhat,pLat,pLon,pRadius,pLat2,pLon2);this.requestPOIS(oReqParams,false)};
Category.prototype.getQueryParams=function(pPageNum,pWhat,pLat,pLon,pRadius,pLat2,pLon2){var oAnswer="";var oType=this.getType();var oWhat=deleteIllegalCharacters(pWhat);oAnswer+="lon="+pLon;oAnswer+="&lat="+pLat;oAnswer+="&type="+oType;if(oWhat!=null)oAnswer+="&what="+Url.encode(oWhat);if(pPageNum!=null)oAnswer+="&page="+pPageNum;if(pLon2!=null&&pLat2!=null&&!isNaN(pLon2)&&!isNaN(pLat2)){oAnswer+="&lat2="+pLat2;oAnswer+="&lon2="+pLon2}else oAnswer+="&radius="+pRadius;return oAnswer};
Category.prototype.activate=function(pPreventSearch){this.setActive(true);this.activateButton();if(!pPreventSearch)this.searchForScreen();this.displayPanel()};Category.prototype.disactivate=function(){this.setActive(false);this.disactivateButton();this.clearBackgroundPois();this.getTab().style.display="none";this.hidePanel();this.getResultPanel().innerHTML="";this.clearPois();CATEGORY_CONTAINER.postDisactivation()};
Category.prototype.toggleActivity=function(){if(this.isActive())this.disactivate();else this.activate()};Category.prototype.getTabActiveClassName=function(){return"active"};Category.prototype.getButtonActiveClassName=function(){return"p-active"};Category.prototype.disactivateTab=function(){this.setTabState(false)};Category.prototype.activateTab=function(){this.setTabState(true)};
Category.prototype.setTabState=function(pIsActive){var oTab=this.getTab();if(oTab==null)return;var oClassName=this.getTabActiveClassName();var oClasses=oTab.className.split(" ");var isClassPresent=false;for(var i=0;i<oClasses.length;i++)if(oClasses[i]==oClassName)isClassPresent=true;if(pIsActive&&!isClassPresent)oClasses.push(oClassName);else if(!pIsActive&&isClassPresent)for(var i=0;i<oClasses.length;i++)if(oClasses[i]==oClassName)oClasses[i]="";oTab.className=oClasses.join(" ")};
Category.prototype.activateButton=function(){this.setButtonState(true);refreshAds()};Category.prototype.disactivateButton=function(){this.setButtonState(false)};
Category.prototype.setButtonState=function(pIsActive){var oButton=this.getButton();if(oButton==null)return;var oClassName=this.getButtonActiveClassName();var oClasses=oButton.className.split(" ");var isClassPresent=false;for(var i=0;i<oClasses.length;i++)if(oClasses[i]==oClassName)isClassPresent=true;if(pIsActive&&!isClassPresent)oClasses.push(oClassName);else if(!pIsActive&&isClassPresent)for(var i=0;i<oClasses.length;i++)if(oClasses[i]==oClassName)oClasses[i]="";oButton.className=oClasses.join(" ")};
Category.prototype.displayPanel=function(){if(this.getResultPanel().style.display=="block")return;CATEGORY_CONTAINER.clearBackgroundPois();CATEGORY_CONTAINER.hideAllPanels();this.activateTab();this.getResultPanel().style.display="block";this.displayTitle();this.showBackgroundPois()};
Category.prototype.displayTitle=function(){var oTag=document.getElementById("categoryTitle");oTag.style.display="block";oTag.innerHTML="<a href=\"javascript:clearATab('"+this.getType()+'\')" class="float-r">Close Tab</a>'+this.getDisplayName()};Category.prototype.isSelected=function(){return this.getResultPanel().style.display!="none"};Category.prototype.isTabDisplayed=function(){return this.getTab().style.display!="none"};
Category.prototype.hidePanel=function(){this.disactivateTab();if(this.getResultPanel().style.display!="none")this.getResultPanel().style.display="none"};Category.prototype.displayTab=function(){this.setTabDisplay(true)};Category.prototype.hideTab=function(){this.setTabDisplay(false)};Category.prototype.setTabDisplay=function(pShow){var oState=pShow?"block":"none";var oTab=this.getTab();if(oTab.style.display!=oState)oTab.style.display=oState};Category.prototype.getOnClickFunction=function(pProfileId){return function(){showProfile(pProfileId)}};
Category.prototype.infoWindowMessageForPOICardElement=function(e){var oProfileId=e.getAttribute("profileId");var jqChild=$(e);var oPoiName=jqChild.find(".poi-meta").find("h3").find("a").html();var oPoiAddress=jqChild.find(".poi-address").html();var oPoiPhone=jqChild.find(".poi-phone").html();var oRating=jqChild.find(".rating").html();var oNbReviews=parseInt(jqChild.find(".poi-rating").find("a").html());var message=hoverBoxHTMLContentForValues(oProfileId,oPoiName,oPoiAddress,oPoiPhone,oRating,oNbReviews,
"poiHoverContent");return message};Category.prototype.attachMouseEvent=function(placeMark){var oElement=placeMark._container;YAHOO.util.Event.addListener(oElement,"mouseover",function(e){placeMark.poiCardElement.onmouseover(e)});YAHOO.util.Event.addListener(oElement,"mouseout",function(e){placeMark.poiCardElement.onmouseout(e)})};
Category.prototype.syncPoisWithMap=function(pDoCenter){var oResultPanel=this.getResultPanel();if(oResultPanel==null)return;var oChildNodes=oResultPanel.childNodes;var oMap=myMap;var oIdPrefix=this.getPoiPrefix();var oPoiClass="map-poi-pin map-"+this.getType();var oMinLon=200;var oMinLat=200;var oMaxLon=-200;var oMaxLat=-200;var oCounter=0;this.clearPois();this.showAllBkPois();for(var i=0;i<oChildNodes.length;i++){var oChild=oChildNodes[i];if(oChild.nodeType==1&&$(oChild).hasClass("poi-card")){oCounter++;
var oLat=oChild.getAttribute("lat");var oLon=oChild.getAttribute("lon");var oScript=oChild.getAttribute("click");var oProfileId=oChild.getAttribute("profileId");oMinLon=Math.min(oMinLon,oLon);oMinLat=Math.min(oMinLat,oLat);oMaxLon=Math.max(oMaxLon,oLon);oMaxLat=Math.max(oMaxLat,oLat);var oPlaceMark=rmDisplayPlaceMarkForLatLon(new LatLong(oLat,oLon),oCounter,"",null,null,null,oIdPrefix+"_"+oCounter,oPoiClass);oPlaceMark.poiCardElement=oChild;this.attachMouseEvent(oPlaceMark);var oOnClickFunction=this.getOnClickFunction(oProfileId);
var oElement=oPlaceMark._container;this.mCurrentPOIS.push(oPlaceMark);oElement.onclick=oOnClickFunction;this.hideBkPoiforLatLon(new LatLong(oLat,oLon))}}};Category.prototype.clearPoiEvents=function(){for(i in this.mCurrentPOIS){var oPOI=this.mCurrentPOIS[i];deCarta.App.map.getTileDiv().removeChild(oPOI._container)}};Category.prototype.clearPois=function(){var oMap=myMap;var oIdPrefix=this.getPoiPrefix();this.clearPoiEvents();this.mCurrentPOIS=new Array};
Category.prototype.requestPOIS=function(pRequestParams,pDoCenter){var oType=this.getType();var oUrl=this.getWsUrl()+"?"+pRequestParams;var oCallBack=function(pResult){insertPoisToLeftColumn(oType,pResult,pDoCenter)};this.setCurrentRequest(sendRequest(oUrl,oCallBack));hideProfileDiv()};
Category.prototype.requestPOISInCorridor=function(pWhat){if(RandMcNally.App.RouteController.routeResponses.length==0)return;var route=RandMcNally.App.RouteController.routeResponses[0];var geometry=route.RouteGeometry;var ddsCircleFromPointAndRadius=RandMcNally.Util.ddsCircleFromPointAndRadius;var radius=new Radius(0.5,new UOM("MI"));var radiusKm=radius.getKm();var anchor=geometry[0];var anchors=[anchor];var box=Utilities.centerContextToBoundingBox(anchor,radiusKm);var boxes=[box];var circle=ddsCircleFromPointAndRadius(anchor,
radius);var circles=[circle];var position=null;var oThis=this;var zoomLevel=deCarta.App.zoom.getZoomLevel();var oCallBack=function(pResult){oThis.bkPoiCallBack(pResult,zoomLevel,null,null)};var oTileTopLeftPosition=box.getUpperLeftPosition();var oTileBottomRightPosition=box.getLowerRightPosition();var pReqParams=this.getQueryParams(null,pWhat,anchor.lat,anchor.lon,radius.getMiles(),null,null);pReqParams+="&zoom="+zoomLevel;var oUrl=CITY_BACKGROUND_WS+"?"+pReqParams;sendRequest(oUrl,oCallBack);for(var routeIdx=
0;routeIdx<geometry.length;routeIdx++){position=geometry[routeIdx];var distanceFromAnchor=Utilities.positions2Distance(anchor,position).distance;var boxContainsPosition=box.contains(position);var circleContainsPosition=circle.inside(position);if(!circleContainsPosition){anchor=position;anchors.push(anchor);box=Utilities.centerContextToBoundingBox(anchor,radiusKm);boxes.push[box];var circle=ddsCircleFromPointAndRadius(anchor,radius);var circles=[circle];var oTileTopLeftPosition=box.getUpperLeftPosition();
var oTileBottomRightPosition=box.getLowerRightPosition();var pReqParams=this.getQueryParams(null,pWhat,position.lat,position.lon,radius.getMiles(),null,null);pReqParams+="&zoom="+zoomLevel;var oUrl=CITY_BACKGROUND_WS+"?"+pReqParams;sendRequest(oUrl,oCallBack)}}};
Category.prototype.requestBackgroundPOIS=function(pReqParams,pZoom,pTopLeftPosition,pTile){var oWsUrl=CITY_BACKGROUND_WS;var oUrl=oWsUrl+"?"+pReqParams;var oThis=this;var oCallBack=function(pResult){oThis.bkPoiCallBack(pResult,pZoom,pTopLeftPosition,pTile)};sendRequest(oUrl,oCallBack)};Category.prototype.getWsUrl=function(){return CITY_SEARCH_WS};Category.prototype.showBackgroundPois=function(){this.getBackgroundPois()};Category.prototype.getBkPoiMaxZoom=function(){return BKPOI_MAX_ZOOM};
Category.prototype.getBackgroundPois=function(pWhat){var zoomLevel=deCarta.App.zoom.getZoomLevel();var bkPoiMaxZoom=this.getBkPoiMaxZoom();if(zoomLevel>bkPoiMaxZoom)return;var util=RandMcNally.Util;var map=deCarta.App.map;var mapDiv=map.getMapDiv();var mapLayers=map.getMapLayers();var mapLayer=mapLayers["STREET"];if(!mapLayer)return;var bbox=deCarta.App.map.getBoundingBoxViewable();for(var i=0;i<mapLayer.tileArray.length;i++){var rowTiles=mapLayer.tileArray[i];for(var j=0;j<rowTiles.length;j++){var tile=
rowTiles[j];var tileBBox=new BoundingBox(tile.coords2.ll,tile.coords2.ur);var oTileTopLeftPosition=tileBBox.getUpperLeftPosition();var oTileBottomRightPosition=tileBBox.getLowerRightPosition();if(!this.mDisplayedBackgroundPoiCache.get(zoomLevel,oTileTopLeftPosition.lat,oTileTopLeftPosition.lon)){var oReqParams=this.getQueryParams(null,pWhat,oTileTopLeftPosition.lat,oTileTopLeftPosition.lon,null,oTileBottomRightPosition.lat,oTileBottomRightPosition.lon);oReqParams+="&zoom="+zoomLevel;this.requestBackgroundPOIS(oReqParams,
zoomLevel,oTileTopLeftPosition,tile)}}}};Category.prototype.clearBackgroundPois=function(){if(!this.isSelected())return;var oMap=myMap;for(var i in this.mBkPois){var oPoi=this.mBkPois[i];if(oPoi!=null){oPoi.clearEventListener();var tileDiv=deCarta.App.map.getTileDiv();var poiContainer=oPoi._container;$($("#"+oPoi.id)[0]).remove()}}this.mBkPois=new Array;this.mDisplayedBackgroundPoiCache=new BackgroundPoiCache;this.resetUniqueId()};
Category.prototype.bkPoiCallBack=function(pResult,pZoom,pTopLeftPosition,pTile){this.insertBackgroundPois(pResult,pZoom,pTopLeftPosition,pTile)};Category.prototype.uncypher=function(pCyphered){if(pCyphered!=null){var oReader=new Base64Reader(pCyphered);var oInflator=new Inflator(oReader);var oUtf8Translator=new Utf8Translator(oInflator);var oTextReader=new TextReader(oUtf8Translator);return oTextReader.readToEnd()}};
Category.prototype.isPoiOnMap=function(pLatLon){if(this.mCurrentPOIS!=null)for(var i=0;i<this.mCurrentPOIS.length;i++)if(pLatLon.isAtSamePlace(this.mCurrentPOIS[i]._latlonPoint,4))return true;return false};Category.prototype.isBkPoiOnMap=function(pLatLon){if(this.mBkPois!=null)for(var i=0;i<this.mBkPois.length;i++)if(pLatLon.isAtSamePlace(this.mBkPois[i]._latlonPoint,4))return true;return false};
Category.prototype.hideBkPoiforLatLon=function(pLatLon){if(this.mBkPois!=null)for(var i=0;i<this.mBkPois.length;i++)if(pLatLon.isAtSamePlace(this.mBkPois[i]._latlonPoint,4))this.mBkPois[i].hide()};
Category.prototype.insertBackgroundPois=function(pResult,pZoom,pTopLeftPosition,pTile){if(this.getResultPanel().style.display=="none")return;pResult=this.uncypher(pResult);var oPositions=pResult.split(";");var map=deCarta.App.map;var oIdPrefix=this.getBkPoiPrefix()+this.getType();for(var i in oPositions){var oData=oPositions[i].split(",");if(oData.length>4){var oId=parseInt(oData[0]);var oLat=parseFloat(oData[1]);var oLon=parseFloat(oData[2]);if(oLat!=null&&oLon!=null&&!isNaN(oLat)&&!isNaN(oLon)){var oName=
oData[3].replace(/_comma_/ig,",").replace(/_semicolon_/ig,";");var oRating=parseInt(oData[4]);var oBkPoi=new BackgroundPoi(this.getType());oBkPoi._init(this.getUniqueId(),oLat,oLon,oId,oName,oRating);var oXPixelPoint=deCarta.App.map.positionToMapLayerPixel(oBkPoi._latlonPoint);var yAdjusted=oXPixelPoint.y+oBkPoi._yAdjust;var xAdjusted=oXPixelPoint.x+oBkPoi._xAdjust;var oElement=oBkPoi._container;oElement.style.top=yAdjusted+"px";oElement.style.left=xAdjusted+"px";rmAddOverlayObject(oBkPoi);this.mBkPois.push(oBkPoi);
if(this.isPoiOnMap(new LatLong(oLat,oLon)))oBkPoi.hide()}}}};Category.prototype.showAllBkPois=function(){for(var i=0;i<this.mBkPois.length;i++)this.mBkPois[i].show()};
function searchWhatWhere(pWhat,pWhere,pPageNum,pDoCenter){var oType="default";var oCategory=CATEGORY_CONTAINER.get(oType);var oWhat=deleteIllegalCharacters(pWhat);var oWhere=deleteIllegalCharacters(pWhere);if(pWhere==null)oCategory.searchForScreen(1,oWhat);else{if(pDoCenter==null)pDoCenter=true;var oReqParams="where="+Url.encode(oWhere);if(oWhat!=null)oReqParams+="&what="+Url.encode(oWhat);if(pPageNum!=null)oReqParams+="&page="+pPageNum;oCategory.requestPOIS(oReqParams,pDoCenter)}CATEGORY_CONTAINER.defaultSearchKeyWord=
pWhat}var USCANZipRegexObj={canada:/ [ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ]( )?\d[ABCEGHJKLMNPRSTVWXYZ]\d$/i,usa:/ \d{5}(-\d{4})?$/};var USCANZipRegexObj2={canada:/( [ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ]( )?\d[ABCEGHJKLMNPRSTVWXYZ]\d)$/i,usa:/( \d{5}(-\d{4})?)$/};var spannedZipCodeReplaceExp="<span class='zipcode'>$1</span>";function removeZipCode(value){return value.replace(USCANZipRegexObj.canada,"").replace(USCANZipRegexObj.usa,"")}
function wrapZipCode(value){return value.replace(USCANZipRegexObj2.canada,spannedZipCodeReplaceExp).replace(USCANZipRegexObj2.usa,spannedZipCodeReplaceExp)}
function insertPoisToLeftColumn(oType,pPois,pDoCenter){var oCategory=CATEGORY_CONTAINER.get(oType);if(oCategory==null||!oCategory.isActive())return;var leftColumnSearchResults=oCategory.getResultPanel();leftColumnSearchResults.innerHTML=pPois;hidePhoneNumbersAdjustAdjacentItem(leftColumnSearchResults);setTimeout("CATEGORY_CONTAINER.showTabAndResultPanel('"+oType+"');getCEM().fireEvent(RMEvent.Service.COMPLETE, myMap.mapId);",1);oCategory.syncPoisWithMap(pDoCenter);detachAd1()}
function hidePhoneNumbersAdjustAdjacentItem(leftColumnSearchResultsElem){var jqLeftColumnSearchResults=$(leftColumnSearchResultsElem);jqLeftColumnSearchResults.find(".poi-details").filter(":visible").each(function(i,e){var jqE=$(e);var jqPOIPhoneLI=$(jqE.children(".poi-phone").get(0));jqPOIPhoneLI.css("display","none");var jqFirstPOIInfoLIA=$($(jqE.children(".poi-info").get(0)).children("a").get(0));jqFirstPOIInfoLIA.css("border-left","0");jqFirstPOIInfoLIA.css("margin-left","0");jqFirstPOIInfoLIA.css("padding-left",
"0")});jqLeftColumnSearchResults.find(".poi-address").filter(":visible").each(function(i,e){var newHTML=wrapZipCode(e.innerHTML);e.innerHTML=newHTML})}function didYouMeanSearch(pWhat){console.log("Category.didYouMeanSearch ...");var oInputWhere=document.getElementById("txtPlace");var oLocateInput=document.getElementById("locateButton");if(oInputWhere==null||oLocateInput==null)return;oInputWhere.value=pWhat;oLocateInput.click()}
function changePage(pWhat,pType,pWhere,pPageNum){getCEM().fireEvent(RMEvent.Service.READY,myMap.mapId);if(pType==null)searchWhatWhere(pWhat,pWhere,pPageNum);else{var oCategory=CATEGORY_CONTAINER.get(pType);if(oCategory!=null)oCategory.searchForScreen(pPageNum,pWhat)}}function deleteIllegalCharacters(pString){if(pString==null)return null;var oIllegalCharacters=new Array(/\\/gi);for(var i in oIllegalCharacters)pString=pString.replace(oIllegalCharacters[i],"");return pString}
function clickTab(pType){var oCategoryContainer=CATEGORY_CONTAINER;var oCategory=CATEGORY_CONTAINER.get(pType);if(oCategory==null)return;oCategory.displayPanel();oCategoryContainer.requestSponsorAds();oCategoryContainer.showBackgroundPois()}function toggleButtonClick(pType){var oCategory=CATEGORY_CONTAINER.get(pType);if(oCategory==null)return;oCategory.toggleActivity()}
function clearATab(pType){if(pType==null||pType=="null")pType="default";var oCategory=CATEGORY_CONTAINER.get(pType);if(oCategory==null)return;oCategory.disactivate();if(pType=="default"){var oWhatInput=document.getElementById("txtPlace");var oWhereInput=document.getElementById("txtPlaceAddress");oWhatInput.value="";oWhereInput.value="";oWhatInput.onblur();oWhereInput.onblur();oCategory.setActive(true)}else if(pType=="quicksearch"){var oQuickSearchInput=document.getElementById("quickSearchField");
oQuickSearchInput.value="";oQuickSearchInput.onblur()}}setDisplayName=function(pWhat){try{var quickSearchTab=document.getElementsByClassName("poi-tab-quicksearch");if(quickSearchTab&&pWhat&&pWhat!=null&&pWhat!="")quickSearchTab[0].innerHTML="<span>Search for "+pWhat+" </span>"}catch(e){}};if(!RandMcNally)RandMcNally={};if(!RandMcNally.Util)RandMcNally.Util={};RandMcNally.Util.currentScale=function(){return Utilities.radsPerPixelAtZoom(deCarta.App.map.getTileSize(),deCarta.App.zoom.getGXConvertedZoomLevel())};
RandMcNally.Util.ddsCircleFromPointAndRadius=function(p,r){var s=new DDSCircle(p,r);s.setOpacity("15");s.setFillColor("(255.0.0)");s.setFillOpacity("5");return s};RandMcNally.Util.ddsShapeFromBoundingBox=function(b){var s=new DDSPolygon;s.setPositions(RandMcNally.Util.cornerPositionsFromBoundingBox(b));s.setOpacity("15");s.setFillColor("(255.0.0)");s.setFillOpacity("5");return s};RandMcNally.Util.boundingBoxForPositionAndRadius=function(p,r){return RandMcNally.Util.ddsCircleFromPointAndRadius(p,r).getBoundingBox()};
RandMcNally.Util.intersectionOfBoundingBoxes=function(b1,b2){var b1MaxPosition=b1.getMaxPosition();var b2MaxPosition=b2.getMaxPosition();var b1MinPosition=b1.getMinPosition();var b2MinPosition=b2.getMinPosition();var maxLat=Math.min(b1MaxPosition.lat,b2MaxPosition.lat);var minLat=Math.max(b1MinPosition.lat,b2MinPosition.lat);var maxLon=Math.min(b1MaxPosition.lon,b2MaxPosition.lon);var minLon=Math.max(b1MinPosition.lon,b2MinPosition.lon);var maxPosition=new Position(maxLat,maxLon);var minPosition=
new Position(minLat,minLon);return new BoundingBox(minPosition,maxPosition)};RandMcNally.Util.boundingBoxTrimmedToRadius=function(b,r){var util=RandMcNally.Util;var otherBoundingBox=util.boundingBoxForPositionAndRadius(b.getCenterPosition(),r);return util.intersectionOfBoundingBoxes(b,otherBoundingBox)};
RandMcNally.Util.cornerPositionsFromBoundingBox=function(b){var a=[];a[a.length]=b.getUpperLeftPosition();a[a.length]=b.getMaxPosition();a[a.length]=b.getLowerRightPosition();a[a.length]=b.getMinPosition();return a};RandMcNally.Util.increaseBoundingBoxMaxLatByPixels=function(b,value){var pos=b.getMaxPosition();var s=RandMcNally.Util.currentScale();var newValue=Utilities.lat2pix(pos.lat,s);newValue+=value;pos.setLat(Utilities.pix2lat(newValue,s))};
RandMcNally.Util.increaseBoundingBoxMaxLonByPixels=function(b,value){var pos=b.getMaxPosition();var s=RandMcNally.Util.currentScale();var newValue=Utilities.lon2pix(pos.lon,s);newValue+=value;pos.setLon(Utilities.pix2lon(newValue,s))};RandMcNally.Util.increaseBoundingBoxMinLatByPixels=function(b,value){var pos=b.getMinPosition();var s=RandMcNally.Util.currentScale();var newValue=Utilities.lat2pix(pos.lat,s);newValue+=value;pos.setLat(Utilities.pix2lat(newValue,s))};
RandMcNally.Util.increaseBoundingBoxMinLonByPixels=function(b,value){var pos=b.getMinPosition();var s=RandMcNally.Util.currentScale();var newValue=Utilities.lon2pix(pos.lon,s);newValue+=value;pos.setLon(Utilities.pix2lon(newValue,s))};RandMcNally.Util.kmToMiles=function(km){return(new Radius(km,new UOM("KM"))).getMiles()};RandMcNally.Util.widthOfBoundingBoxInKilometers=function(b){return Utilities.positions2Distance(b.getUpperLeftPosition(),b.getMaxPosition()).distance};
RandMcNally.Util.widthOfBoundingBoxInMiles=function(b){return RandMcNally.Util.kmToMiles(RandMcNally.Util.widthOfBoundingBoxInKilometers(b))};RandMcNally.Util.heightOfBoundingBoxInKilometers=function(b){return Utilities.positions2Distance(b.getUpperLeftPosition(),b.getMaxPosition()).distance};RandMcNally.Util.heightOfBoundingBoxInMiles=function(b){return RandMcNally.Util.kmToMiles(RandMcNally.Util.heightOfBoundingBoxInKilometers(b))};
RandMcNally.Util.pix2lat=function(value){return Utilities.pix2lat(value,RandMcNally.Util.currentScale())};RandMcNally.Util.pix2lon=function(value){return Utilities.pix2lon(value,RandMcNally.Util.currentScale())};RandMcNally.Util.lat2pix=function(value){return Utilities.lat2pix(value,RandMcNally.Util.currentScale())};RandMcNally.Util.lon2pix=function(value){return Utilities.lon2pix(value,RandMcNally.Util.currentScale())};
function rmDisplayPlaceMarkForLatLon(latLong,label,idPrefix,clickFunc,category,subcategory,placeMarkerId,pAdditionalCssClasses){var id=placeMarkerId?placeMarkerId:idPrefix+"_"+label+"_"+latLong.lat+"_"+latLong.lon;var markerType;var oCssAttributes=null;if(idPrefix.toUpperCase()==="POI")markerType=this.getMarkerTypeForCategory(category,subcategory);else markerType=RMMARKER_TYPE.LOCATION;var placemark=new RMPlaceMark(id,latLong,null,label,markerType,oCssAttributes,pAdditionalCssClasses);if(typeof clickFunc==
"function")YAHOO.util.Event.addListener(placemark._container,"click",clickFunc);rmAddOverlayObject(placemark);return placemark}function rmAddOverlayObject(overlay){var overlayIndex=overlay.id+"_"+overlay._type;deCarta.App.map.getTileDiv().appendChild(overlay._container)};function MainPanelCategory(pType){if(pType!=null){this.setType(pType);this.init()}}MainPanelCategory.prototype=new Category;MainPanelCategory.prototype.isTabDisplayed=function(){return false};MainPanelCategory.prototype.isSelected=function(){return false};MainPanelCategory.prototype.activate=function(){this.setActive(true);this.activateButton();this.displayTab();this.displayPanel();console.log("MainPanelCategory.activate: here")};MainPanelCategory.prototype.disactivate=function(){this.disactivateButton()};
MainPanelCategory.prototype.displayTitle=function(){var oTag=document.getElementById("categoryTitle");oTag.style.display="none";oTag.innerHTML=""};MainPanelCategory.prototype.initButtonClick=function(){};MainPanelCategory.prototype.getDisplayName=function(){return"Map &amp; Directions"};function BackgroundPoi(pType){var mPoiType=pType;this.getPoiType=function(){return mPoiType}}BackgroundPoi.prototype=new RMMapOverlay;BackgroundPoi.prototype.constructor=BackgroundPoi;BackgroundPoi.superclass=RMMapOverlay.prototype;BackgroundPoi.prototype.id;BackgroundPoi.prototype.poiId;BackgroundPoi.prototype.poiName;BackgroundPoi.prototype.getWidth=function(){return 13};BackgroundPoi.prototype.getHeight=function(){return 13};BackgroundPoi.prototype.getType=function(){return"BkPoi"};
BackgroundPoi.prototype.getOverlayId=function(){return this.getType()+this.id};
BackgroundPoi.prototype._init=function(pId,pLat,pLon,pPoiId,pPoiName,pRating){this.id=pId;this.LocationLng=pLon;this.LocationLat=pLat;this.poiId=pPoiId;this.poiName=pPoiName;this.rating=pRating;this._latlonPoint=new LatLong(this.LocationLat,this.LocationLng);this._position=new Position(this.LocationLat,this.LocationLng);this._type=this.getType();this._xAdjust=0-Math.floor(this.getWidth()/2);this._yAdjust=0-Math.floor(this.getHeight()/2);var oElement=window.document.createElement("DIV");oElement.className=
"RMOverlays RMPlaceMark poi-dot map-"+this.getPoiType();this.className="RMOverlays RMPlaceMark poi-dot map-"+this.getPoiType();this.zIndex=ZINDEX_BKPOI;oElement.id=this.getOverlayId();oElement.style.zIndex=ZINDEX_BKPOI;this.id=oElement.id;this._container=oElement;this.setEventListener()};
BackgroundPoi.prototype.isOverlapping=function(pPoi,pYOffset,pXOffset){if(pPoi==null)return;var oXOffset=0;var oYOffset=0;if(!isNaN(pYOffset))oYOffset=pYOffset;if(!isNaN(pXOffset))oXOffset=pXOffset;var oThisXPixelPoint=deCarta.App.map.positionToMapLayerPixel(this._latlonPoint);var oComparedlPoint=deCarta.App.map.positionToMapLayerPixel(pPoi._latlonPoint);return Math.abs(oThisXPixelPoint.x-oComparedlPoint.x)<oXOffset&&Math.abs(oThisXPixelPoint.y-oComparedlPoint.y)<oYOffset};
BackgroundPoi.prototype.getFullDestination=function(){return this.ParentLocation+", "+this.Location};BackgroundPoi.prototype.setEventListener=function(){var oElement=this._container;var oThis=this;oElement.onclick=function(){showProfile(oThis.poiId)};oElement.onmouseover=function(){oThis.showBackgroundPoiInfoBox()};oElement.onmouseout=function(pEvent){hideBackgroundPoiInfoBox(pEvent)}};BackgroundPoi.prototype.clearEventListener=function(){YAHOO.util.Event.purgeElement(this._container,true)};
BackgroundPoi.prototype.showBackgroundPoiInfoBox=function(){var oInfoBox=getBackgroundPoiInfoBox();var oContentBuilder=new StringBuilder;var oRatingText="NA";var oRating=this.rating;if(!isNaN(oRating)&&oRating!=null&&oRating>-1)oRatingText=oRating.toString();oContentBuilder.append("<ul>");oContentBuilder.append("<li>");oContentBuilder.append(this.poiName);oContentBuilder.append("</li>");oContentBuilder.append("<li>");oContentBuilder.append('<span class="rating rated-'+oRatingText+'-10">Rated '+oRatingText+
" out of 10 stars</span>");oContentBuilder.append("</li>");oContentBuilder.append("<li>");oContentBuilder.append('<a href="javascript:showProfile('+this.poiId+')">More Info</a>');oContentBuilder.append("</li>");oContentBuilder.append("</ul>");oInfoBox.innerHTML=oContentBuilder.toString();var oXPixelPoint=deCarta.App.map.positionToMapLayerPixel(this._latlonPoint);var oXoffset=0;var oYoffset=-3;oInfoBox.style.display="block";oXoffset=0-oInfoBox.offsetWidth/2;oYoffset-=oInfoBox.offsetHeight;oInfoBox.style.top=
oXPixelPoint.y+oYoffset+"px";oInfoBox.style.left=oXPixelPoint.x+oXoffset+"px"};BackgroundPoi.prototype.hide=function(){this._container.style.display="none"};BackgroundPoi.prototype.show=function(){this._container.style.display="block"};
function hideBackgroundPoiInfoBox(pEvent){var oInfoBox=getBackgroundPoiInfoBox();if(pEvent==null){pEvent=window.event;if(pEvent==null)oInfoBox.style.display="none"}var oMouseX=pEvent.clientX;var oMouseY=pEvent.clientY;var oInfoBoxLeft=0;var oInfoBoxTop=0;var oScrollTop=0;var oScrollLeft=0;for(var oElement=oInfoBox;oElement!=null;oElement=oElement.offsetParent){oInfoBoxLeft+=oElement.offsetLeft;oInfoBoxTop+=oElement.offsetTop}for(var oElement=oInfoBox;oElement!=null;oElement=oElement.parentElement){oScrollTop+=
oElement.scrollTop;oScrollLeft+=oElement.scrollLeft}oInfoBoxLeft-=oScrollLeft;oInfoBoxTop-=oScrollTop;if(oMouseX<oInfoBoxLeft||oMouseY<oInfoBoxTop||oMouseX>oInfoBoxLeft+oInfoBox.offsetWidth||oMouseY>oInfoBoxTop+oInfoBox.offsetHeight+1)oInfoBox.style.display="none"}function getBackgroundPoiInfoBox(){var oAnswer=document.getElementById("backgroundPoiInfoBox");if(oAnswer==null)oAnswer=createBackgroundPoiInfoBox();return oAnswer}
function createBackgroundPoiInfoBox(){var oMapControlPanel=deCarta.App.map.getTileDiv();var oAnswer=document.createElement("DIV");oAnswer.id="backgroundPoiInfoBox";oAnswer.onmouseout=hideBackgroundPoiInfoBox;oAnswer.onmousedown=stopEventPropagation;oAnswer.onmouseover=stopEventPropagation;oMapControlPanel.appendChild(oAnswer);return oAnswer};function BackgroundSponsorPoi(pType){var mPoiType=pType;this.getPoiType=function(){return mPoiType}}BackgroundSponsorPoi.prototype=new BackgroundPoi;BackgroundSponsorPoi.prototype.constructor=BackgroundSponsorPoi;BackgroundSponsorPoi.superclass=BackgroundPoi.prototype;BackgroundSponsorPoi.prototype.moreInfoHref="#";
BackgroundSponsorPoi.prototype.showBackgroundPoiInfoBox=function(){var oInfoBox=getBackgroundPoiInfoBox();var oContentBuilder=new StringBuilder;oContentBuilder.append("<ul>");oContentBuilder.append("<li>");oContentBuilder.append(this.poiName);oContentBuilder.append("</li>");oContentBuilder.append("<li>");oContentBuilder.append("<a onmousedown=\"requestTracker('"+CHOICE_HOTEL_MORE_INFO_TRACKER+'\')" href="'+this.moreInfoHref+'">More Info</a>');oContentBuilder.append("</li>");oContentBuilder.append("</ul>");
oInfoBox.innerHTML=oContentBuilder.toString();var oXPixelPoint=myMap.getWCS().LatLonToPixels(this._latlonPoint);var oXoffset=0;var oYoffset=-3;oInfoBox.style.display="block";oXoffset=0-oInfoBox.offsetWidth/2;oYoffset-=oInfoBox.offsetHeight;oInfoBox.style.top=oXPixelPoint.y+oYoffset+"px";oInfoBox.style.left=oXPixelPoint.x+oXoffset+"px"};
BackgroundSponsorPoi.prototype._init=function(pId,pLat,pLon,pPoiId,pPoiName,pMoreInfoHref){BackgroundPoi.prototype._init.call(this,pId,pLat,pLon,pPoiId,pPoiName);this.moreInfoHref=pMoreInfoHref};function BackgroundPoiCache(){this.a=new Array}BackgroundPoiCache.prototype.add=function(pZoom,pLat,pLon,pValue){if(pZoom==null||pLat==null||pLon==null)return false;var oZoom=pZoom.toString();var oLat=pLat.toString();var oLon=pLon.toString();if(this.a[oZoom]==null)this.a[oZoom]=new Array;if(this.a[oZoom][oLat]==null)this.a[oZoom][oLat]=new Array;this.a[oZoom][oLat][oLon]=pValue;return true};
BackgroundPoiCache.prototype.get=function(pZoom,pLat,pLon){if(pZoom==null||pLat==null||pLon==null)return null;var oZoom=pZoom.toString();var oLat=pLat.toString();var oLon=pLon.toString();if(this.a[oZoom]==null)return null;if(this.a[oZoom][oLat]==null)return null;return this.a[oZoom][oLat][oLon]};BackgroundPoiCache.prototype.clear=function(){this.a=new Array};function OfferCategory(pType,pName){if(pType!=null){this.setType(pType);this.init()}this.mDisplayedName=pName}OfferCategory.prototype=new Category;OfferCategory.prototype.getWsUrl=function(){return CITY_OFFER_WS};OfferCategory.prototype.getButtonActiveClassName=function(){return"m-active"};
OfferCategory.prototype.initButtonClick=function(){var oButton=this.getButton();if(oButton!=null){var oLink=document.getElementById("toggleButton_offers_link");oLink.href="javascript:toggleButtonClick('"+this.getType()+"')"}};OfferCategory.prototype.getOnClickFunction=function(pProfileId){return function(){showProfile(pProfileId,"offer")}};
function showOfferOverBox(pElementId,pLat,pLon,pOfferTitle,pRating,pBusinessName){var oElementId=pElementId;var oLat=pLat;var oLon=pLon;var oOffsetX=0;var oOffsetY=17;var oBaloon=getInfoBaloon();oBaloon.className="poi-hover";var oDescLength=20;var oHtmlBuilder=new StringBuilder;var oOfferTitle=Url.decode(pOfferTitle);var oRating=pRating;var oBusinessName=Url.decode(pBusinessName);oHtmlBuilder.append("<h2>");oHtmlBuilder.append('<a href="javascript:showProfile('+pElementId+",'offer');\">");oHtmlBuilder.append(oOfferTitle);
oHtmlBuilder.append("</a>");oHtmlBuilder.append("</h2>");oHtmlBuilder.append("<ul>");oHtmlBuilder.append('<li style="float:left;" class="quiet">');oHtmlBuilder.append('at <a href="javascript:showProfile('+pElementId+');">'+oBusinessName+"</a>");oHtmlBuilder.append("&nbsp;</li>");oHtmlBuilder.append('<li style="float:left;">');oHtmlBuilder.append('<span class="rating rated-'+oRating+'-10">Rated '+oRating+" out of 10 stars</span>");oHtmlBuilder.append("</li>");oHtmlBuilder.append("</ul>");showInfoBaloon(oElementId,
oLat,oLon,oHtmlBuilder.toString(),oOffsetX,oOffsetY)};function VideoCategory(pType,pName){this.setType(pType);this.init();this.mDisplayedName=pName}VideoCategory.prototype=new Category(null,"Videos");VideoCategory.prototype.mVideoPlugin=null;VideoCategory.prototype.getVideoPlugin=function(){if(this.mVideoPlugin==null)this.setVideoPlugin(VIDEO_PLUGIN);return this.mVideoPlugin};VideoCategory.prototype.setVideoPlugin=function(pVideoPlugin){this.mVideoPlugin=pVideoPlugin};VideoCategory.prototype.searchForScreen=function(){this.getVideoPlugin().getVideosForGeoPosition()};
VideoCategory.prototype.getPoiPrefix=function(){return"Video_"};VideoCategory.prototype.init=function(){var oTab=this.getTab();var oButton=this.getButton();this.mDisplayedBackgroundPoiCache=new BackgroundPoiCache;if(oTab!=null){var oTabChildren=oTab.childNodes;for(var i=0;i<oTabChildren.length;i++){var oChild=oTabChildren[i];if(oChild.nodeType==1&&oChild.tagName.toLowerCase()=="a")oChild.href="javascript:clickTab('"+this.getType()+"')"}oTab.style.display="none"}};
VideoCategory.prototype.getButton=function(){return document.getElementById("videoToggleButton")};VideoCategory.prototype.getResultPanel=function(){return document.getElementById(this.getResultPanelId())};VideoCategory.prototype.searchForPosition=function(pPageNum,pWhat,pLat,pLon,pRadius){this.getVideoPlugin().getVideosForGeoPosition()};
VideoCategory.prototype.activate=function(pPreventSearch){if(this.isActive())return;this.setActive(true);this.activateButton();this.getTab().style.display="block";this.displayPanel();this.getVideoPlugin().activate()};VideoCategory.prototype.disactivate=function(){if(!this.isActive())return;this.setActive(false);this.getTab().style.display="none";this.hidePanel();this.getResultPanel().innerHTML="";this.getVideoPlugin().disactivate();CATEGORY_CONTAINER.postDisactivation()};
VideoCategory.prototype.toggleActivity=function(){if(this.isActive())this.disactivate();else this.activate()};VideoCategory.prototype.disactivateTab=function(){this.setTabState(false)};VideoCategory.prototype.activateTab=function(){this.setTabState(true)};
VideoCategory.prototype.setTabState=function(pIsActive){var oTab=this.getTab();if(oTab==null)return;var oClassName="active";var oClasses=oTab.className.split(" ");var isClassPresent=false;for(var i=0;i<oClasses.length;i++)if(oClasses[i]==oClassName)isClassPresent=true;if(pIsActive&&!isClassPresent)oClasses.push(oClassName);else if(!pIsActive&&isClassPresent)for(var i=0;i<oClasses.length;i++)if(oClasses[i]==oClassName)oClasses[i]="";oTab.className=oClasses.join(" ")};
VideoCategory.prototype.setButtonState=function(pIsActive){};VideoCategory.prototype.syncPoisWithMap=function(pDoCenter){};VideoCategory.prototype.clearPois=function(){};VideoCategory.prototype.requestPOIS=function(pRequestParams,pDoCenter){};
function showVideoOverBox(pVideoId){var oVideo=VIDEO_PLUGIN.getVideo(pVideoId);if(oVideo==null)return;var oTitle=oVideo.Title;var oLcation=oVideo.getFullDestination();var oRating=Math.floor(oVideo.AverageRating)*2;var oContent="";var oLat=oVideo.LocationLat;var oLon=oVideo.LocationLng;var oOffsetX=0;var oOffsetY=40;var oElement=oVideo._container;var isMiniVideo=oElement.className.indexOf("minivideo")!=-1;var oBaloon=getInfoBaloon();oBaloon.className="poi-hover";if(isMiniVideo){var oMatches=oElement.className.match(/video(\d+)/);
oOffsetX-=48;if(oMatches)oBaloon.className=oBaloon.className+" video"+RegExp.$1}oContent+="<h2>";oContent+='<a href="#">';oContent+=oTitle;oContent+="</a></h2>";oContent+='<ul class="quiet">';if(oVideo.Feature){oContent+="<li>";oContent+="<img src='http://www.tripfilms.com/images/epSeal_16.gif'>Editor's Pick";oContent+="</li>"}oContent+="<li>";oContent+=oLcation;oContent+="</li>";oContent+="<li>";oContent+='<span class="rating rated-'+oRating+'-10">Rated '+oRating+" out of 10 stars</span>";oContent+=
oVideo.TotalViews+' views | <a href="javascript:VIDEO_PLUGIN.playVideo('+pVideoId+')">Play</a>';oContent+="</li>";oContent+="</ul>";showInfoBaloon(pVideoId,oLat,oLon,oContent,oOffsetX,oOffsetY)};function SponsorCategory(pType,pName,pNavBarPictureUri,pTabPictureUri){this.mDisplayedName=pName;this.navBarPictureUri=pNavBarPictureUri;this.tabPictureUri=pTabPictureUri;if(pType!=null){this.setType(pType);this.init()}}SponsorCategory.prototype=new Category;SponsorCategory.prototype.sponsoredByPicUri="";SponsorCategory.prototype.browsingTabPicUri="";SponsorCategory.prototype.logoBoxPicUri="";SponsorCategory.prototype.websiteUri="";SponsorCategory.prototype.navBarPictureUri="";
SponsorCategory.prototype.tabPictureUri="";SponsorCategory.prototype.logoBoxContent="";SponsorCategory.prototype.bannerAdContent="";SponsorCategory.prototype.rectangleAdContent="";SponsorCategory.prototype.previousIdSet=new Array;SponsorCategory.prototype.getButtonActivationTrackerUri=function(){return CHOICE_HOTEL_ACTIVE_TRACKER};
SponsorCategory.prototype.getQueryParams=function(pPageNum,pWhat,pLat,pLon,pRadius,pLat2,pLon2){var oAnswer="";var oSponsorId=this.getType();oAnswer+="lon1="+pLon;oAnswer+="&lat1="+pLat;oAnswer+="&lat2="+pLat2;oAnswer+="&lon2="+pLon2;oAnswer+="&sponsorId="+oSponsorId;if(pPageNum!=null)oAnswer+="&page="+pPageNum;return oAnswer};SponsorCategory.prototype.getWsUrl=function(){return SPONSOR_POI_WS};
SponsorCategory.prototype.requestPOIS=function(pRequestParams,pDoCenter){var oType=this.getType();var oUrl=this.getWsUrl()+"?"+pRequestParams;var oCallBack=function(pResult){insertPoisToLeftColumn(oType,pResult,pDoCenter)};this.setCurrentRequest(sendRequest(oUrl,oCallBack));hideProfileDiv()};
SponsorCategory.prototype.requestBackgroundPOIS=function(pReqParams,pZoom,pTopLeftPosition,pTile){var oWsUrl=SPONSOR_POI_BK_WS;var oUrl=oWsUrl+"?"+pReqParams;var oThis=this;var oCallBack=function(pResult){oThis.bkPoiCallBack(pResult,pZoom,pTopLeftPosition,pTile)};sendRequest(oUrl,oCallBack)};
SponsorCategory.prototype.createTabButton=function(){var oLi=document.createElement("LI");var oA=document.createElement("A");var oSpan=document.createElement("SPAN");var oImg=document.createElement("IMG");oLi.id=this.getTabId();oA.className="poi-tab-sponsor";oImg.src=this.tabPictureUri;$(oImg).attr("width",30);$(oImg).attr("height",29);oSpan.innerHTML=this.getDisplayName();oA.appendChild(oImg);oA.appendChild(oSpan);oLi.appendChild(oA);CATEGORY_CONTAINER.addTabButton(oLi);return oLi};
SponsorCategory.prototype.createNavButton=function(){var oLi=document.createElement("LI");var oA=document.createElement("A");var oSpan=document.createElement("SPAN");var oImg=document.createElement("IMG");oA.id=this.getButtonId();oA.href="#";oA.className="pin-sponsor";oSpan.innerHTML=this.getDisplayName();oImg.src=this.navBarPictureUri;oImg.width=37;oImg.height=35;oA.appendChild(oImg);oA.appendChild(oSpan);oLi.appendChild(oA);return oLi};SponsorCategory.prototype.getOnClickFunction=function(){return null};
SponsorCategory.prototype.getBkPoiMaxZoom=function(){return 14};SponsorCategory.prototype.getBBOxMaxLength=function(){return 1E3};SponsorCategory.prototype.insertLogoBoxAd=function(){var oLogoBoxArea=document.getElementById("logoBoxArea");if(oLogoBoxArea==null)return;oLogoBoxArea.innerHTML=this.logoBoxContent.replace(/\[timestamp\]/g,(new Date).getTime())};
SponsorCategory.prototype.syncPoisWithMap=function(pDoCenter){var oResultPanel=this.getResultPanel();if(oResultPanel==null)return;var oResultList=document.getElementById("resultsArea");if(oResultList==null)return;var oResults=oResultList.childNodes;var oMap=myMap;var oIdPrefix=this.getPoiPrefix();var oPoiClass="map-poi-pin map-sponsor";var oMinLon=200;var oMinLat=200;var oMaxLon=-200;var oMaxLat=-200;var oCounter=0;var oCurrentIdSet=new Array;this.clearPois();this.showAllBkPois();for(var i=0;i<oResults.length;i++){var oChild=
oResults[i];if(oChild.nodeType==1&&oChild.className.indexOf("poi-card")!=-1){oCounter++;var oLat=$(oChild).attr("lat");var oLon=$(oChild).attr("lon");var oMapIcon=$(oChild).attr("mapIcon");var oPoiId=$(oChild).attr("poiId");oCurrentIdSet.push(oPoiId);if($.inArray(oPoiId,this.previousIdSet)==-1)this.sendPoiTracker(oPoiId);oMinLon=Math.min(oMinLon,oLon);oMinLat=Math.min(oMinLat,oLat);oMaxLon=Math.max(oMaxLon,oLon);oMaxLat=Math.max(oMaxLat,oLat);var pin=deCarta.App.Util.renderSpritePin(new Position(oLat,
oLon),oMapIcon?"<img height='20' width='24' src='"+oMapIcon+"' style='margin-top: 3px;'>":"&nbsp;",null,null,oPoiClass+" LOCATION "+oPoiId);pin.setId(oPoiId);pin.resultElement=oChild;this.mCurrentPOIS.push(pin);EventRegistry.addListener(pin,"mouseover",function(p){if(p.resultElement&&p.resultElement.onmouseover)p.resultElement.onmouseover()});EventRegistry.addListener(pin,"mouseout",function(p){if(p.resultElement&&p.resultElement.onmouseout)p.resultElement.onmouseout()})}}if(oCounter>0){if(oMinLon==
oMaxLon){oMinLon-=1.0E-5;oMaxLon+=1.0E-5}if(oMinLat==oMaxLat){oMinLat-=1.0E-5;oMaxLat+=1.0E-5}var oBBox=new BoundingBox(new Position(oMinLat,oMinLon),new Position(oMaxLat,oMaxLon));myMap.panToPosition(oBBox.getCenterPosition())}this.previousIdSet=oCurrentIdSet;this.insertLogoBoxAd()};SponsorCategory.prototype.activateButton=function(){Category.prototype.activateButton.call(this);this.getButton().style.backgroundImage="url(images/sponsor-on.gif)";this.showBannerAd();this.showRectangleAd()};
SponsorCategory.prototype.disactivateButton=function(){Category.prototype.disactivateButton.call(this);this.getButton().style.backgroundImage="none";this.hideBannerAd();this.hideRectangleAd()};
SponsorCategory.prototype.fireTrackers=function(){var oBannerAdDiv=document.getElementById(this.getBannerAdDivId());var oRectangleAdDiv=document.getElementById(this.getRectangleAdDivId());if(oBannerAdDiv!=null)oBannerAdDiv.innerHTML=this.getBannerAdContent();if(oRectangleAdDiv!=null)oRectangleAdDiv.innerHTML=this.getRectangleAdContent();this.insertLogoBoxAd();requestTracker(this.getButtonActivationTrackerUri())};
SponsorCategory.prototype.showBannerAd=function(){var oBannerAd=document.getElementById("ad-728x90");if(oBannerAd==null)return;var oDiv=document.createElement("DIV");var oFrame=document.createElement("IFRAME");var oLeft=0;var oTop=0;var oTimeStamp=(new Date).getTime();for(var oElement=oBannerAd;oElement!=null;oElement=oElement.offsetParent){oLeft+=oElement.offsetLeft;oTop+=oElement.offsetTop}oLeft+=5;oTop+=5;oDiv.style.position="absolute";oDiv.id=this.getBannerAdDivId();oDiv.style.left=oLeft+"px";
oDiv.style.top=oTop+"px";oFrame.style.padding="0";$(oFrame).attr("frameborder","0");$(oFrame).attr("marginheight","0");$(oFrame).attr("marginwidth","0");$(oFrame).attr("scrolling","no");$(oFrame).attr("allowtransparency","true");$(oFrame).attr("width","728");$(oFrame).attr("height","90");oFrame.src="choiceHotelAd_728x90.do";oDiv.appendChild(oFrame);document.body.appendChild(oDiv);oBannerAd.style.visibility="hidden"};
SponsorCategory.prototype.getBannerAdContent=function(){return this.bannerAdContent.replace(/\[timestamp\]/g,(new Date).getTime())};SponsorCategory.prototype.getBannerAdDivId=function(){return"ad728x90_"+this.getType()};
SponsorCategory.prototype.showRectangleAd=function(){var oRectangleAd=document.getElementById("ad1Iframe");if(oRectangleAd==null)return;var oContainer=document.getElementById("ad1");var oFrame=document.createElement("IFRAME");var oLeft=0;var oTop=0;var oTimeStamp=(new Date).getTime();for(var oElement=oRectangleAd;oElement!=null;oElement=oElement.offsetParent){oLeft+=oElement.offsetLeft;oTop+=oElement.offsetTop}oFrame.id=this.getRectangleAdDivId();oFrame.style.padding="0px 9px";$(oFrame).attr("frameborder",
"0");$(oFrame).attr("marginheight","0");$(oFrame).attr("marginwidth","0");$(oFrame).attr("scrolling","no");$(oFrame).attr("allowtransparency","true");$(oFrame).attr("width","300");$(oFrame).attr("height","250");oFrame.src="choiceHotelAd_300x250.do";oContainer.appendChild(oFrame);oRectangleAd.style.display="none"};SponsorCategory.prototype.getRectangleAdContent=function(){return this.rectangleAdContent.replace(/\[timestamp\]/g,(new Date).getTime())};
SponsorCategory.prototype.getRectangleAdDivId=function(){return"ad300x250_"+this.getType()};SponsorCategory.prototype.hideRectangleAd=function(){var oRectangleAd=document.getElementById("ad1Iframe");var oCustomRectangleAd=document.getElementById("ad300x250_"+this.getType());var oContainer=document.getElementById("ad1");oRectangleAd.style.display="block";oContainer.removeChild(oCustomRectangleAd)};
SponsorCategory.prototype.hideBannerAd=function(){var oBannerAd=document.getElementById("ad-728x90");var oCustomBannerAd=document.getElementById("ad728x90_"+this.getType());oBannerAd.style.visibility="visible";document.body.removeChild(oCustomBannerAd)};
SponsorCategory.prototype.insertBackgroundPois=function(pResult,pZoom,pTopLeftPosition,pTile){if(this.getResultPanel().style.display=="none")return;pResult=this.uncypher(pResult);var oPositions=pResult.split(";");var oMap=myMap;var oWCS=oMap.getWCS();var oIdPrefix=this.getBkPoiPrefix()+this.getType();for(var i=0;i<oPositions.length;i++){var oData=oPositions[i].split(",");if(oData.length==5){var oId=parseInt(oData[0]);var oLat=parseFloat(oData[1]);var oLon=parseFloat(oData[2]);var oName=oData[3].replace(/_comma_/ig,
",").replace(/_semicolon_/ig,";");var oMoreInfoHref=oData[4].replace(/_comma_/ig,",").replace(/_semicolon_/ig,";");if(oLat!=null&&oLon!=null&&!isNaN(oLat)&&!isNaN(oLon)&&!this.isPoiOnMap(new LatLong(oLat,oLon))){var oBkPoi=new BackgroundSponsorPoi(this.getType());oBkPoi._init(this.getNbBackGroundPois(),oLat,oLon,oId,oName,oMoreInfoHref);var oXPixelPoint=oWCS.LatLonToPixels(oBkPoi._latlonPoint);var yAdjusted=oXPixelPoint.y+oBkPoi._yAdjust;var xAdjusted=oXPixelPoint.x+oBkPoi._xAdjust;var oElement=oBkPoi._container;
pTile.mBkPois.push(oBkPoi);oBkPoi._WCS=oWCS;oElement.style.top=yAdjusted+"px";oElement.style.left=xAdjusted+"px";oElement.onmousedown=stopEventPropagation;$(oElement).addClass("map-sponsored");oMap.addOverlayObject(oBkPoi);this.mBkPois.push(oBkPoi)}}}this.mDisplayedBackgroundPoiCache.add(pZoom,pTopLeftPosition.lat,pTopLeftPosition.lon,true)};SponsorCategory.prototype.sendPoiTracker=function(pPoiId){var oUri=appendSeparatorToUrl(CHOICE_HOTEL_SPONSOR_POI_TRACKER_URI);oUri+="poiId="+pPoiId;requestTracker(oUri)};
function addLogoToSponsoredByList(pPic,pUrl){var oContainer=document.getElementById("sponsoredByContainer");var oList=document.getElementById("sponsoredByList");var oLi=document.createElement("LI");var oA=document.createElement("A");var oImg=document.createElement("IMG");oA.className="sponsoredByLink";oA.href=pUrl;oImg.src=pPic;oImg.width="88";oImg.height="31";oA.appendChild(oImg);oLi.appendChild(oA);oList.appendChild(oLi);if($("#sponsoredByList > li").size()>0)$(oContainer).show()}
function getSponsorCategories(){var oUrl=SPONSOR_ACTIVE_WS;if(SPONSOR_ACTIVE_WS==null||SPONSOR_ACTIVE_WS=="")return;$.ajax({url:oUrl,type:"GET",dataType:"json",success:function(pSponsors){initActiveSponsors(pSponsors)}})}
function initActiveSponsors(pSponsors){for(var i=0;i<pSponsors.length;i++){var oSponsor=pSponsors[i];var oCategory=new SponsorCategory(""+oSponsor.id,oSponsor.mName,oSponsor.mNavBarPictureUri,oSponsor.mTabPictureUri);oCategory.sponsoredByPicUri=oSponsor.mSponsoredByPictureUri;oCategory.browsingTabPicUri=oSponsor.mTabPictureUri;oCategory.logoBoxPicUri=oSponsor.mLogoBoxPictureUri;oCategory.websiteUri=oSponsor.mWebsiteUri;oCategory.logoBoxContent=oSponsor.mLogoBoxContent;oCategory.bannerAdContent=oSponsor.mBannerAdContent;
oCategory.rectangleAdContent=oSponsor.mRectangleAdContent;CATEGORY_CONTAINER.mCategories.push(oCategory);oCategory.getButton();CATEGORY_CONTAINER.createResultPanel(oCategory);requestTracker(oCategory.getButtonActivationTrackerUri())}};function QuickSearchCategory(pType){if(pType!=null){this.setType(pType);this.init()}}QuickSearchCategory.prototype=new Category;QuickSearchCategory.prototype.mCurrentWord=null;QuickSearchCategory.prototype.searchForScreen=function(pPage,pWhat){if(pWhat!=null&&pWhat!=this.mCurrentWord){this.mCurrentWord=pWhat;this.mDisplayedBackgroundPoiCache.clear();this.clearBackgroundPois();this.showBackgroundPois()}Category.prototype.searchForScreen.call(this,pPage,this.mCurrentWord)};
QuickSearchCategory.prototype.getQueryParams=function(pPageNum,pWhat,pLat,pLon,pRadius,pLat2,pLon2){var oAnswer=Category.prototype.getQueryParams.call(this,pPageNum,pWhat,pLat,pLon,pRadius,pLat2,pLon2);var oRegexp=/&what=.*(?=&|$)/;var oReplacement="&what="+this.mCurrentWord;if(oAnswer.match(oRegexp)!=null)oAnswer.replace(oRegexp,oReplacement);else oAnswer+=oReplacement;return oAnswer};QuickSearchCategory.prototype.disactivate=function(){this.mCurrentWord=null;Category.prototype.disactivate.call(this)};
QuickSearchCategory.prototype.syncPoisWithMap=function(pDoCenter){Category.prototype.syncPoisWithMap.call(this,pDoCenter);var oButton=document.getElementById("magnifierButton");oButton.className=oButton.className.replace(" search-loading","")};
QuickSearchCategory.prototype.requestPOIS=function(pRequestParams,pDoCenter){Category.prototype.requestPOIS.call(this,pRequestParams,pDoCenter);var oButton=document.getElementById("magnifierButton");if(oButton.className.indexOf("search-loading")==-1)oButton.className+=" search-loading";if(this.isSelected())this.displayTitle()};QuickSearchCategory.prototype.activate=function(){this.setActive(true);this.activateButton();this.displayPanel()};
QuickSearchCategory.prototype.getDisplayName=function(){var oWord=this.mCurrentWord;if(oWord==null)oWord="";return"Search for '"+oWord+"'"};QuickSearchCategory.prototype.initButtonClick=function(){};var globalInfoBaloon=null;
function createInfoBaloon(){var oMapControlPanel=myMap.getTileDiv();var oHOverBox=document.createElement("DIV");var oContent="";oHOverBox.id="poi_summary_info";oHOverBox.className="poi-hover";oHOverBox.style.display="none";oHOverBox.style.position="absolute";oHOverBox.style.zIndex=INFO_BALOON_ZINDEX;oHOverBox.onmouseout=function(e){hideInfoBaloon(e)};oContent+='<div class="poi-hover-top">';oContent+='<div class="poi-hov-body">';oContent+='<div id="poiHoverContent">';oContent+='<h2><a href="#">Insert Name Here</a></h2>';
oContent+='<ul class="quiet">';oContent+="<li>Address, City, State, Zip, Phone</li>";oContent+='<li><span class="rating rated-#-10">Rated # out of 10 stars</span> 123 reviews</li>';oContent+="</ul>";oContent+="</div>";oContent+="</div>";oContent+='<div class="poi-hov-margin"></div>';oContent+="</div>";oContent+='<div class="poi-hover-bottom">';oContent+='<div class="poi-hov-l"></div>';oContent+='<div class="poi-hov-c"></div>';oContent+='<div class="poi-hov-r"></div>';oContent+="</div>";oHOverBox.innerHTML=
oContent;oMapControlPanel.appendChild(oHOverBox);myMap._infoWindow=oHOverBox;return oHOverBox}function getInfoBaloon(){var oAnswer=document.getElementById("poi_summary_info");if(oAnswer==null)oAnswer=createInfoBaloon();return oAnswer}
function hoverBoxHTMLContentForValues(oListingId,oPoiName,oPoiAddress,oPoiPhone,oRating,oNbReviews,divId){var oContent="";oContent+="<div id='"+divId+"'>";oContent+=hoverBoxHTMLContentForValues2(oListingId,oPoiName,oPoiAddress,oPoiPhone,oRating,oNbReviews,divId);oContent+="</div>";return oContent}
function hoverBoxHTMLContentForValues2(oListingId,oPoiName,oPoiAddress,oPoiPhone,oRating,oNbReviews){var oContent="";var line=null;oContent+="<h2>";oContent+='<a href="javascript:showProfile('+oListingId+')">';oContent+=oPoiName;oContent+="</a></h2>";oContent+='<ul class="quiet">';if(oPoiAddress&&oPoiPhone)oContent+="<li>"+oPoiAddress+", "+oPoiPhone+"</li>";var line=null;if(oRating&&oRating>=0){line=!line?"":line;line+='<span class="rating rated-'+oRating+'-10">Rated '+oRating+" out of 10 stars</span>"}if(oNbReviews){line=
!line?"":line+" ";line+='<a href="javascript:showProfile('+oListingId+",'review');\">"+oNbReviews+" reviews</a>"}line=!line?"":line+" | ";line+='<a href="javascript:showProfile('+oListingId+')">More Info</a>';line+=" | <a href=\"javascript:goToDirections('"+oPoiAddress+"')\">Directions</a>";oContent+="<li>"+line+"</li>";oContent+="</ul>";return oContent}var InfoBaloonMouseOverHander;
function showHOverBox(pEvent,pListingId,pPoiName,pPoiAddress,pPoiPhone,pNbReviews,pLat,pLon,pRating){var oListingId=pListingId;var oPoiName=Url.decode(pPoiName);var oPoiAddress=pPoiAddress;var oPoiPhone=pPoiPhone;var oNbReviews=pNbReviews;var oRating=pRating;var oContent="";var oOffsetX=0;var oOffsetY=17;var oBaloon=getInfoBaloon();if(oRating==null||oRating<0||oNbReviews<1)oRating="NA";oBaloon.className="poi-hover";oContent+="<h2>";oContent+='<a href="javascript:showProfile('+oListingId+')">';oContent+=
oPoiName;oContent+="</a></h2>";oContent+='<ul class="quiet">';oContent+="<li>";oContent+=oPoiAddress+", "+oPoiPhone;oContent+="</li>";oContent+="<li>";oContent+='<span class="rating rated-'+oRating+'-10">Rated '+oRating+" out of 10 stars</span>";oContent+=' <a href="javascript:showProfile('+oListingId+",'review');\">"+oNbReviews+" reviews</a>";oContent+=' | <a href="javascript:showProfile('+oListingId+')">More Info</a>';oContent+=" | <a href=\"javascript:goToDirections('"+oPoiAddress+"')\">Directions</a>";
oContent+="</li>";oContent+="</ul>";showInfoBaloon(pListingId,pLat,pLon,oContent,oOffsetX,oOffsetY,pEvent)}
function showSponsorPoiOverBox(pEvent,pPoiName,pPoiAddress,pPoiPhone,pWebsiteUri,pLat,pLon){var oPoiName=Url.decode(pPoiName);var oPoiAddress=pPoiAddress;var oPoiPhone=pPoiPhone;var oContent="";var oContentBuilder=new StringBuilder;var oOffsetX=0;var oOffsetY=17;var oBaloon=getInfoBaloon();oBaloon.className="poi-hover";oContentBuilder.append("<h2>");oContentBuilder.append(oPoiName);oContentBuilder.append("</h2>");oContentBuilder.append('<ul class="quiet">');oContentBuilder.append("<li>");oContentBuilder.append(oPoiAddress);
oContentBuilder.append("</li>");oContentBuilder.append("<li>");oContentBuilder.append(oPoiPhone);oContentBuilder.append("</li>");oContentBuilder.append("<li>");oContentBuilder.append("<a onmousedown=\"requestTracker('"+CHOICE_HOTEL_MORE_INFO_TRACKER+'\')" href="'+pWebsiteUri+'" target="_blank">More Info</a>');oContentBuilder.append(" | <a href=\"javascript:goToDirections('"+oPoiAddress+"')\">Directions</a>");oContentBuilder.append("</li>");oContentBuilder.append("</ul>");showInfoBaloon(""+pLat+"_"+
pLon,pLat,pLon,oContentBuilder.toString(),oOffsetX,oOffsetY,pEvent)}
function showInfoBaloon(pElementId,pLat,pLon,pHtmlContent,pOffsetX,pOffsetY,pEvent){var oBaloon=getInfoBaloon();if(oBaloon==null)oBaloon=createInfoBaloon();if(isNaN(pOffsetX))pOffsetX=0;if(isNaN(pOffsetY))pOffsetY=0;var oElementAttribute="elementId";if(oBaloon.getAttribute(oElementAttribute)==pElementId&&oBaloon.style.display!="none")return;var oEvent=pEvent;if(oEvent==null)oEvent=window.event;var oBaloonContentDiv=document.getElementById("poiHoverContent");var oLatLon=new Position(pLat,pLon);var oContent=
"";var oSrcElement=oEvent?oEvent.currentTarget:null;if(oSrcElement==null)oSrcElement=oEvent?oEvent.srcElement:null;oBaloonContentDiv.innerHTML=pHtmlContent;oBaloon.style.display="block";var pixelPoint=myMap.positionToMapLayerPixel(oLatLon);var oXoffset=0-(oBaloon.offsetWidth/2+pOffsetX);var oYoffset=0-(oBaloon.offsetHeight+pOffsetY);var yAdjusted=pixelPoint.y+oYoffset;var xAdjusted=pixelPoint.x+oXoffset;oBaloon.setAttribute(oElementAttribute,pElementId);oBaloon.style.top=yAdjusted+"px";oBaloon.style.left=
xAdjusted+"px";InfoBaloonMouseOverHander=function(pElement){return function(pEvent){hideInfoBaloon(pEvent,pElement)}}(oSrcElement);oBaloon.onmousedown=stopEventPropagation;oBaloon.onmouseover=stopEventPropagation}
function hideInfoBaloon(pEvent,pElement,pForce){if(!(pForce===true))pForce=false;var oBaloon=getInfoBaloon();var oDocumentOffset=getDocumentScrollTop();var isOverSource=false;var isOverInfoBox=false;if(pEvent==null)pEvent=window.event;if(pEvent!=null&&!pForce){var oSrcElement=pElement;if(oSrcElement==null)oSrcElement=pEvent.currentTarget;if(oSrcElement==null)oSrcElement=pEvent.srcElement;var clientX=pEvent.clientX;var clientY=pEvent.clientY;var oMinX=0;var oMinY=0;var oMaxX=0;var oMaxY=0;var oInfoBoxMinX=
0;var oInfoBoxMinY=0;var oInfoBoxMaxX=0;var oInfoBoxMaxY=0;var oSrcElementScrollOffset=0;var oInfoBaloonScrollOffset=0;for(var oElement=oBaloon;oElement!=null;oElement=oElement.parentElement)oInfoBaloonScrollOffset+=oElement.scrollTop;for(var oElement=oSrcElement;oElement!=null;oElement=oElement.parentElement)oSrcElementScrollOffset+=oElement.scrollTop;for(var parent=oSrcElement;parent!=null;parent=parent.offsetParent){oMinX+=parent.offsetLeft;oMinY+=parent.offsetTop}for(var parent=oBaloon;parent!=
null;parent=parent.offsetParent){oInfoBoxMinX+=parent.offsetLeft;oInfoBoxMinY+=parent.offsetTop}oInfoBoxMinY-=oInfoBaloonScrollOffset;oMinY-=oSrcElementScrollOffset;oMaxX=oMinX+oSrcElement.offsetWidth;oMaxY=oMinY+oSrcElement.offsetHeight;oInfoBoxMaxX=oInfoBoxMinX+oBaloon.offsetWidth;oInfoBoxMaxY=oInfoBoxMinY+oBaloon.offsetHeight;isOverSource=clientX>=oMinX&&clientX<=oMaxX&&clientY>=oMinY&&clientY<=oMaxY;isOverInfoBox=clientX>=oInfoBoxMinX&&clientX<=oInfoBoxMaxX&&clientY>=oInfoBoxMinY&&clientY<=oInfoBoxMaxY}if(!isOverSource&&
!isOverInfoBox){oBaloon.style.display="none";oBaloon.setAttribute("elementId",null);InfoBaloonMouseOverHander=null}}function showRouteExamples(pElement){showSearchExamples(pElement)}
function showSearchExamples(pElement){var oElements=new Array;oElements.push(createLI("Rand McNally gives you flexibility in entering locations. We support all of the following formats:"));oElements.push(createLI("Addresses: 1234 Main St., Springfield, CO"));oElements.push(createLI('Cities: "Austin, TX" or "Austin, Texas"'));oElements.push(createLI('Zip Codes: "11223"'));oElements.push(createLI('Cross Streets: "3rd Ave and 14th St, New York, NY"'));oElements.push(createLI('Airports: "LGA" or "O\'Hare Airport"'));
oElements.push(createLI('Latitude & Longitude: "32.8029,-96.7699"'));showExamples(oElements,pElement)}function createLI(pInnerHtml){var oAnswer=document.createElement("LI");oAnswer.innerHTML=pInnerHtml;return oAnswer}
function showExamples(pLiElements,pElement){var oBaloon=getExampleBaloon();var oExampleList=getExampleBaloonContent();var oSrcElement=pElement;var oLeft=50;var oTop=100;oExampleList.innerHTML="";for(var i in pLiElements)oExampleList.appendChild(pLiElements[i]);oBaloon.style.position="absolute";oBaloon.style.left=oLeft+"px";oBaloon.style.top=oTop+"px";oBaloon.style.display="block"}
function hideExampleBaloon(){var oBaloon=getExampleBaloon();var oExampleList=getExampleBaloonContent();oBaloon.style.display="none";while(oExampleList.childNodes.length>0)oExampleList.removeChild(oExampleList.firstChild)}function getExampleBaloon(){document.getElementById("exampleBaloonClose").onclick=hideExampleBaloon;return document.getElementById("exampleBaloon")}function getExampleBaloonContent(){return document.getElementById("exampleList")};function CategoryContainer(){this.mCategories=null;this.mSponsoredLinksContainer="sponsoredLinksContainer";this.defaultSearchKeyWord=null;this.mUpdateTimeout;this.navButtonUl=document.getElementById("toggleButtonList");this.tabButtonUl=document.getElementById("poi-tabs");var mOnPanFunction=function(pElement){return function(){clearTimeout(pElement.mUpdateTimeout);pElement.mUpdateTimeout=setTimeout("CATEGORY_CONTAINER.showBackgroundPois();CATEGORY_CONTAINER.updateActivatedCategories()",1)}}(this);
var mOnZoomFunction=function(pElement){return function(){clearTimeout(pElement.mUpdateTimeout);pElement.mUpdateTimeout=setTimeout("CATEGORY_CONTAINER.refreshBackgroundPois();CATEGORY_CONTAINER.updateActivatedCategories()",1)}}(this);this.getOnPan=function(){return mOnPanFunction};this.getOnZoom=function(){return mOnZoomFunction}}CategoryContainer.prototype.hideAllPanels=function(){for(var i=0;i<this.mCategories.length;i++)this.mCategories[i].hidePanel()};
CategoryContainer.prototype.get=function(pType){for(var i=0;i<this.mCategories.length;i++){var oCategory=this.mCategories[i];if(oCategory.getType()==pType)return oCategory}return null};
CategoryContainer.prototype.init=function(){this.mCategories=new Array;var oDefaultCategory=new MainPanelCategory("default");oDefaultCategory.setResultPanelId("mainTab");this.mCategories.push(oDefaultCategory);this.mCategories.push(new QuickSearchCategory("quicksearch"));this.mCategories.push(new Category("hotel","Hotels"));this.mCategories.push(new Category("restaurant","Restaurants"));this.mCategories.push(new Category("nightlife","Clubs & Nightlife"));var oGasCategory=new Category("gas","Gas Stations");
oGasCategory.getQueryParams=function(pPageNum,pWhat,pLat,pLon,pRadius,pLat2,pLon2){console.log("**** oGasCategory: getQueryParams -- here ***");var oAnswer=Category.prototype.getQueryParams.call(this,pPageNum,pWhat,pLat,pLon,pRadius,pLat2,pLon2);if(oAnswer.indexOf("what=")!=-1)oAnswer=oAnswer.replace(/what=([^&]*)/,"what=Gas Stations");else oAnswer+="&what=Gas Stations";return oAnswer};this.mCategories.push(oGasCategory);var oAtmCategory=new Category("atm","ATMs");oAtmCategory.getQueryParams=function(pPageNum,
pWhat,pLat,pLon,pRadius,pLat2,pLon2){var oAnswer=Category.prototype.getQueryParams.call(this,pPageNum,pWhat,pLat,pLon,pRadius,pLat2,pLon2);if(oAnswer.indexOf("what=")!=-1)oAnswer=oAnswer.replace(/what=([^&]*)/,"what=ATM");else oAnswer+="&what=ATM";oAnswer+="&sort=dist";return oAnswer};this.mCategories.push(oAtmCategory);var oParkCategory=new Category("parks","Parks");oParkCategory.getQueryParams=function(pPageNum,pWhat,pLat,pLon,pRadius,pLat2,pLon2){var oAnswer=Category.prototype.getQueryParams.call(this,
pPageNum,pWhat,pLat,pLon,pRadius,pLat2,pLon2);var oOutdoorTag=4115;var oFreeAttractonsTag=6181;var oAttractionTag=75;var oSportingGoods=4094;var oParamToAdd="tag="+oAttractionTag+","+oOutdoorTag;if(oAnswer.indexOf("what=")!=-1)oAnswer=oAnswer.replace(/what=([^&]*)/,oParamToAdd);else oAnswer+="&"+oParamToAdd;return oAnswer};this.mCategories.push(oParkCategory);this.mCategories.push(new VideoCategory("videos","Videos"));if(window.getSponsorCategories!=null)getSponsorCategories();this.insertResultPanels();
var defaultCategory=this.get("default");defaultCategory.activate();getCEM().subscribeEvent(RMEvent.Zoom.COMPLETE,mapId,this.getOnZoom(),this);getCEM().subscribeEvent(RMEvent.Pan.COMPLETE,mapId,this.getOnPan(),this)};CategoryContainer.prototype.getSelectedCategory=function(){var oCategories=this.mCategories;for(var i in oCategories){var oCategory=oCategories[i];if(oCategory.isSelected())return oCategory}return null};
CategoryContainer.prototype.insertResultPanels=function(){var oCategories=this.mCategories;for(var i=0;i<oCategories.length;i++)this.createResultPanel(oCategories[i])};CategoryContainer.prototype.createResultPanel=function(pCategory){var oDiv=document.createElement("DIV");var oSearchArea=document.getElementById("place_search");oDiv.id=pCategory.getResultPanelId();oDiv.style.display="none";oSearchArea.appendChild(oDiv)};
CategoryContainer.prototype.updateActivatedCategories=function(){if(this.mCategories==null)return;for(var i=0;i<this.mCategories.length;i++){var oCategory=this.mCategories[i];if(oCategory.getType()!="default"&&oCategory.isActive())oCategory.searchForScreen()}this.requestSponsorAds()};
CategoryContainer.prototype.disacivateAll=function(){if(this.mCategories==null)return;for(var i=0;i<this.mCategories.length;i++){var oCategory=this.mCategories[i];if(oCategory.isActive())oCategory.disactivate()}this.hideTabsSplitter();this.get("default").setActive(true)};CategoryContainer.prototype.getNbActive=function(){var oAnswer=0;for(var i in this.mCategories)if(this.mCategories[i].isActive())++oAnswer;return oAnswer};
CategoryContainer.prototype.postDisactivation=function(){var oCategories=this.mCategories;if(this.getSelectedCategory()==null)for(var i in oCategories){var oCategory=oCategories[i];if(oCategory.getTab().style.display!="none"){oCategory.displayPanel();break}}this.requestSponsorAds();this.hideTabsSplitter()};CategoryContainer.prototype.clearBackgroundPois=function(){var oCategory=this.getSelectedCategory();if(oCategory==null)return;oCategory.clearBackgroundPois()};
CategoryContainer.prototype.refreshBackgroundPois=function(){this.clearBackgroundPois();this.showBackgroundPois()};CategoryContainer.prototype.showBackgroundPois=function(){var oCategory=this.getSelectedCategory();if(oCategory==null)return;oCategory.showBackgroundPois()};CategoryContainer.prototype.hideTabsSplitter=function(){for(var i in this.mCategories)if(this.mCategories[i].isTabDisplayed())return;document.getElementById("poi-tabs").style.display="none"};
CategoryContainer.prototype.showTabsSplitter=function(){var oSplitter=document.getElementById("poi-tabs");if(oSplitter.style.display=="none")oSplitter.style.display="block"};CategoryContainer.prototype.showTabAndResultPanel=function(pType){var oCategory=this.get(pType);if(oCategory.getTab().style.display=="none"){this.showTabsSplitter();oCategory.displayPanel();oCategory.displayTab();this.requestSponsorAds()}};
CategoryContainer.prototype.requestSponsorAds=function(){var oUrl=CITY_SPONSOR_WS;var oCategory=this.getSelectedCategory();if(oCategory==null){this.insertResultsInSponsorAdField("");return}var oCenterPoint=myMap.getCenterPosition();var oBoundingBox=myMap.getBoundingBoxViewable();var bboxHeightMi=RandMcNally.Util.widthOfBoundingBoxInMiles(oBoundingBox);var bboxWidthMi=RandMcNally.Util.heightOfBoundingBoxInMiles(oBoundingBox);var diameterMi=Math.min(bboxHeightMi,bboxWidthMi);var oRadius=diameterMi/
2;var oWhat=oCategory.getType();if(oCategory.getType()=="default"){oWhat=this.defaultSearchKeyWord;if(oWhat==null||oWhat=="")return}if(oCategory instanceof QuickSearchCategory){oWhat=oCategory.mCurrentWord;if(oWhat==null||oWhat=="")return}var oParams=["max=3",oCategory.getQueryParams(1,oWhat,oCenterPoint.lat,oCenterPoint.lon,oRadius)];var oCallBack=function(pContent){CATEGORY_CONTAINER.insertResultsInSponsorAdField(pContent)};oUrl+="?"+oParams.join("&");sendRequest(oUrl,oCallBack)};
CategoryContainer.prototype.insertResultsInSponsorAdField=function(pContent){var oFieldId=this.mSponsoredLinksContainer;var oSponsorAdField=document.getElementById(oFieldId);oSponsorAdField.innerHTML=pContent};CategoryContainer.prototype.addNavButton=function(pNavButton){if($("#toggleButtonList > li").size()==0)pNavButton.className="first";this.navButtonUl.appendChild(pNavButton)};CategoryContainer.prototype.addTabButton=function(pTabButton){this.tabButtonUl.appendChild(pTabButton)};var AdPushpin={myMap:null,a:[],adIDs:[],toh:null,init:function(publisherID,myMap,adIDs){var org=Lat49.AdHelper.prototype.updateMultiAdsByLatLon;Lat49.AdHelper.prototype.updateMultiAdsByLatLon=function(a,b,c,d){org.call(this,a,b,c,d);YAHOO.util.Dom.setStyle(document.getElementById("pushpindivid"+this.num+"-adlat49"),"display","none")};this.adIDs=adIDs;this.myMap=myMap;Lat49.initAds(publisherID);var ec=[RMEvent.Zoom.COMPLETE,RMEvent.Pan.COMPLETE,RMEvent.Geocode.COMPLETE,RMEvent.PoiSearch.COMPLETE,RMEvent.CalcRoute.COMPLETE];
for(var x=0;x<ec.length;x++)getCEM().subscribeEvent(ec[x],this.myMap.mapId,function(e,m,o){try{clearTimeout(o.toh)}catch(Exception){}o.toh=setTimeout(function(){o.updateAd()},25)},this,true);for(var adid in this.adIDs){var num=0;YAHOO.util.Event.addListener(adid,"mouseover",function(e,o){YAHOO.util.Dom.setStyle("pushpindivid"+o+"-adlat49","display","block")},num);YAHOO.util.Event.addListener(adid,"mouseout",function(e,o){YAHOO.util.Dom.setStyle("pushpindivid"+o+"-adlat49","display","none")},num)}},
updateAd:function(){var loc=myMap.tilesPanel.getViewportCenterLL();Lat49.updateMultiAdsByLatLon(this.adIDs,loc.lat,loc.lon,zoomControl._currentZoomLevel)},showPushPin:function(loc){for(var x=0;x<loc.length;x++){var marker=this.createMarker(loc[x]);this.a.push({marker:marker,loc:loc[x]})}this.onupdateAds("adlat49")},createMarker:function(loc){var point=new LatLong(loc.lat,loc.lon);var cssStyles={height:"32px"};if(BrowserDetect.browser=="Explorer"&&BrowserDetect.version=="6")cssStyles["filter"]="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+
loc.pinurl+"',sizingMethod=crop)! important";else cssStyles["background-image"]="url("+loc.pinurl+")";var marker=new RMPlaceMark("poi_"+point.lat+"_"+point.lon,point,this.myMap.getWCS(),"","CUSTOM",cssStyles);var imageTag=RMUtils.createDOMElement("img");imageTag.border="0";imageTag.src=loc.pinurl;imageTag.className="print_poi";marker._container.getElementsByTagName("div")[0].appendChild(imageTag);this.myMap.addOverlayObject(marker);marker._locx=loc;var me=this;var htmlAddress=loc.address.replace(/\n/g,
"<br/>");this.myMap.handlePOIClick({name:loc.title,lat:loc.lat,lon:loc.lon,street:htmlAddress},marker._container,function(e,json){AdPushpin.addToRoute.call(me,e,json,loc)});return marker},addToRoute:function(e,poiJSON,loc){if(!e)e=window.event;var el=YAHOO.util.Event.getTarget(e);YAHOO.util.Event.stopPropagation(e);if(directionPanel.arrayOfWpDisplayOrder.length<10){var index=-1;for(var i=0;i<directionPanel.arrayOfWpDisplayOrder.length;i++){var txtbox=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[i]]._inputbox;
if(isTextBoxEmpty(txtbox)){if(index==-1)index=i}else index=-1}if(index==-1){index=directionPanel.arrayOfWpDisplayOrder.length-1;rearrangeWPPanels(directionPanel.arrayOfWpDisplayOrder[index],"ADD");index=index+1;var j;for(j in this.a)try{this.myMap.removeOverlayObject(this.a[j].marker)}catch(e){}for(j in this.a){var m=this.createMarker(this.a[j].loc);this.a[j].marker=m}}wayPointPanel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[index]];expand("maps_dir_content");expand("maps_dir_footer");
var pinAddr=new RMAddress("","","","","","",new LatLong(loc.lat,loc.lon),loc.title,6,false);wayPointPanel.setAddress(pinAddr);wayPointPanel._geocodedAddress.formattedAddress=loc.title;wayPointPanel._geocodedAddress.inputText=loc.title;try{wayPointPanel._inputbox.focus()}catch(e){}if(wayPointPanel._inputbox.onfocus)wayPointPanel._inputbox.onfocus();wayPointPanel._addedFromPOI=true;var saveAddressLink=RMUtils.getEl(wayPointPanel.id+"_save_address");saveAddressLink.style.display="inline";el.innerHTML=
"<b>Successfully Added</b>";setTimeout(function(){if(el)el.innerHTML="Add to Route"},3E3)}else alert("No more steps can be added to route now. Please remove any existing panels and then add the new location.")},hidePushPin:function(){for(var x=0;x<this.a.length;x++)this.myMap.removeOverlayObject(this.a[x].marker);this.a=[];this.myMap._infoWindow.setVisible(false);this.onupdateAds("adlat49")},onupdateAds:function(elid){var el=YAHOO.util.Dom.get(elid);if(el.firstChild)YAHOO.util.Dom.setStyle(el.firstChild,
"bottom",BrowserDetect.browser=="Explorer"?"-10px":"-8px");YAHOO.util.Dom.setStyle("pushpindivid"+0+"-adlat49","display","none")}};var Lat49={numAdHelpers:0,adHelper_golems:{},cycleTimers:{},requests:{},popuplist:{},initAds:function(A){var B=new Lat49.AdHelper(A);Lat49.fetchCSS()},fetchCSS:function(){var A=document.getElementsByTagName("head")[0];var B=document.createElement("link");B.rel="stylesheet";B.type="text/css";B.href=Lat49.Ads.baseURL+"/lat49.css.php?serverURL="+Lat49.SERVER;A.appendChild(B)},fetchJSDependencies:function(B){var A=Lat49.Ads.baseURL;var C=document.getElementsByTagName("head")[0];Lat49.fetchScript(A+"/lat49tile.js",
B,C);Lat49.fetchScript(A+"/userUtilities/lat49-yahoo/yui-2_5_2/yahoo-dom-event.js",B,C);Lat49.fetchScript(A+"/userUtilities/lat49-yahoo/yui-2_5_2/animation-min.js",B,C);Lat49.fetchScript(A+"/userUtilities/lat49adpopup.js",B,C)},fetchScript:function(D,B,C){if(B){if(!C)C=document.getElementsByTagName("head")[0];var A=document.createElement("script");A.type="text/javascript";A.src=D;C.appendChild(A)}else{var A="<script type='text/javascript' src='"+D+"'><\/script>";document.write(A)}},updateAdByLatLon:function(E,
B,D,C){if(this.adHelper_golems[0]){var A=new Object;A[E]="";this.adHelper_golems[0].updateMultiAdsByLatLonExtents(A,B,D,C)}},updateMultiAdsByLatLon:function(A,B,D,C){if(this.adHelper_golems[0])this.adHelper_golems[0].updateMultiAdsByLatLonExtents(A,B,D,C)},updateAdByLatLonWithExtents:function(B,F,A,E,D,I,C,G){if(this.adHelper_golems[0]){var H=new Object;H[B]="";this.adHelper_golems[0].updateMultiAdsByLatLonExtents(H,F,A,E,D,I,C,G)}},updateMultiAdsByLatLonWithExtents:function(B,E,H,G,D,A,F,C){if(this.adHelper_golems[0])this.adHelper_golems[0].updateMultiAdsByLatLonExtents(B,
E,H,G,D,A,F,C)},updateAdByTile:function(E,A,D,C){if(this.adHelper_golems[0]){var B=new Object;B[E]="";this.adHelper_golems[0].updateMultiAdsByTile(B,A,D,C)}},updateMultiAdsByTile:function(B,A,D,C){if(this.adHelper_golems[0])this.adHelper_golems[0].updateMultiAdsByTile(B,A,D,C)},getAdHelper:function(A){return this.adHelper_golems[A==undefined?0:A]},setAdHelper:function(B,A){this.adHelper_golems[B]=A},showPushPins:function(A,B){this.adHelper_golems[B==undefined?0:B].showPushPin(A)},trackPinClick:function(A,
B,C){this.adHelper_golems[C==undefined?0:C].trackPinClicked(A,B)},hidePushPins:function(A,B){this.adHelper_golems[B==undefined?0:B].hidePushPin(A)},onMouseOverShow:function(B,A){this.adHelper_golems[B==undefined?0:B].onMouseOverShow(A)},onMouseOutShow:function(B,A){this.adHelper_golems[B==undefined?0:B].onMouseOutShow(A)},onMouseOverHide:function(B,A){this.adHelper_golems[B==undefined?0:B].onMouseOverHide(A)},onMouseOutHide:function(B,A){this.adHelper_golems[B==undefined?0:B].onMouseOutHide(A)},setCustomMapitPanel:function(B,
C,A,D){this.adHelper_golems[D==undefined?0:D].setCustomMapitPanel(B,C,A)},setCustomMapitButton:function(A,B,C){this.adHelper_golems[C==undefined?0:C].setCustomMapitButton(A,B)},setCustomClearButton:function(B,A,C){this.adHelper_golems[C==undefined?0:C].setCustomClearButton(B,A)},setMapitPanelBehaviour:function(A,B){this.adHelper_golems[B==undefined?0:B].setMapitPanelBehaviour(A)},getPushpinCount:function(B,C){var A=this.adHelper_golems[C==undefined?0:C].getPushpinCount(B);return A},getPushpins:function(A,
C){var B=this.adHelper_golems[C==undefined?0:C].getPushpins(A);return B},getCampaignId:function(B,C){var A=this.adHelper_golems[C==undefined?0:C].getCampaignId(B);return A},publisherReferrer:function(B,A){this.adHelper_golems[B].publisherRefer(A)},requestAdResponse:function(E){var C=this.requests[E.reqid];var B=0;for(var G in C.args.adtypes){var A=document.getElementById(G);if(A)this.assignAdToDivId(G,E.ads[B],C);B++}var F=C.args.cacheid;var D=document.getElementById(F+"-script");if(D&&D.parentNode){if(D.timerId)clearTimeout(D.timerId);
setTimeout(function(){if(D.parentNode!=null)D.parentNode.removeChild(D)},1E3)}this.removeRequestState(C.id)},setPinnedPosition:function(A,B){if(B=="top-left"||B=="top-right")A.style.top="0px";if(B=="bottom-left"||B=="bottom-right")A.style.bottom="0px";if(B=="top-left"||B=="bottom-left")A.style.left="0px";if(B=="top-right"||B=="bottom-right")A.style.right="0px"},addRequestState:function(A){var B=new Lat49.RequestState(A);this.requests[B.id]=B;return B.id},removeRequestState:function(A){this.requests[A]=
null;delete this.requests[A]},validatePopup:function(B,A){var C=document.getElementById(A);if(C==null){C=document.createElement("img");C.id=A;C.name=A;C.style.visibility="hidden";C.src=A;B.appendChild(C)}},isOffMap:function(B){var A=false;if(B==Lat49.Ads.MEDIUM_RECTANGLE||B==Lat49.Ads.LEADERBOARD||B==Lat49.Ads.FULL_BANNER)A=true;return A},assignAdToDivId:function(P,Z,A){var K=A.args.adtypes;var M=A.args.helperid;var O=this.adHelper_golems[M];var L=Z.ad;var S=document.getElementById(P);var B=O.getAdPos(S);
var N=K[P]!=""?true:false;var T=L.template;var R=Z.size;var Y=T&&L!=0?Lat49.Ads.create(T,L,N):document.createElement("div");var Q;if(!T||Lat49.isOffMap(R))Q=Y;else{if(Lat49.popuplist[P]!=null){Lat49.popuplist[P].destroy();Lat49.popuplist[P]=null}if(L.interactive_type=="1"){var V=Lat49.SERVER+L.flyout_image;var G=Lat49AdPopup.createImagePopup(V);var D=L.url;if(D.substring(0,17)=="/stw/stwgetad/hit")D=Lat49.SERVER+L.url;Lat49.popuplist[P]=new Lat49AdPopup(Y,G,B,D);Q=Lat49.popuplist[P].get()}else if(L.interactive_type==
"2"){var V=Lat49.SERVER+L.flyout_image;var D=L.url;var C=Lat49AdPopup.createFormPopup(V,D,L.interactive,L.publisherid,L.adid);D="";Lat49.popuplist[P]=new Lat49AdPopup(Y,C,B,D);Lat49.YAHOO.util.Event.addListener("popupform"+L.adid,"click",function(){Lat49.popuplist[P].popin(true);Lat49.popuplist[P].clearIntAdFormFields()});C.onmouseout=null;Q=Lat49.popuplist[P].get();Q.popup=Lat49.popuplist[P]}else if(L.interactive_type=="3")if(L.custom_flyout){var I=Lat49AdPopup.createCustomPopup("");Lat49.popuplist[P]=
new Lat49AdPopup(Y,I,B,D,L.custom_flyout);Q=Lat49.popuplist[P].get()}else Q=Y;else Q=Y;if(L.popvalurl!=undefined&&L.popvalurl!=""&&Lat49.popuplist[P]!=null)Lat49.popuplist[P].subscribeToAnimateOutEvent(Lat49.validatePopup,L.popvalurl,Lat49)}if(A.args.callback)A.args.callback(Q);else{var E=A.args.cacheid;Q.id=E;Q.name=E;Q.style.display="none";Q.style.position="absolute";Q.style.textAlign="left";Q.className="lat49adwrapper";this.setPinnedPosition(Q,B);if(Q.innerHTML==""&&O.getAdDebug(S)){var W=/(\d{14})/;
W.test(E);var U=RegExp.$1;var F=parseInt(U.substring(0,2),10);var H=parseInt(U.substring(2,8),10);var J=parseInt(U.substring(8,14),10);Q.innerHTML="No current ad for "+J+" "+H+" "+F;Q.style.width="226px";Q.style.height="58px"}if(L!=undefined){if(L.lat!=undefined){Q.lat=L.lat;Q.lon=L.lon}if(L.loc!=undefined)Q.loc=L.loc;if(L.headline!=undefined)Q.headline=L.headline;if(L.adid!=undefined)Q.adid=L.adid;if(L.adaccount!=undefined)Q.adaccount=L.adaccount;if(L.branded!=undefined)Q.branded=L.branded}var X=
parseInt(A.id)==parseInt(Lat49.Ads.mostRecentRequest[P][E]);O.cacheAd(P,E,Q,X)}}};Lat49.MAPIT_PANEL_ALWAYS=0;Lat49.MAPIT_PANEL_WITH_ADS=1;Lat49.MAPIT_PANEL_WITH_PUSHPINS=2;Lat49.MAPIT_PANEL_NEVER=-1;Lat49.MAPIT_PANEL_PUSHPIN_DRIVEN=-2;Lat49.VERSION="v1.0";var theHead=document.getElementsByTagName("head")[0];
for(i=0;i<theHead.childNodes.length;i++)if(theHead.childNodes[i].nodeName=="SCRIPT"){var res=/(.*)\/lat49\/(v[^\/]+)\/lat49.*\.js/.exec(theHead.childNodes[i].src);if(res){Lat49.SERVER=res[1];Lat49.VERSION=res[2];break}}if(!Lat49.SERVER)Lat49.SERVER="http://adserver.lat49.com";Lat49.RequestState=function(A){this.id=Lat49.RequestState.id++;this.args=A};Lat49.RequestState.id=0;Lat49.projMercator=0;Lat49.projUnprojected=1;Lat49.Ads=function(A){var B=A||-1;this.getPublisherId=function(){return B}};
Lat49.Ads.mostRecentRequest=new Array(new Array);Lat49.Ads.getAdSizes=function(C){var B="[";var A=1;for(var D in C){if(A>1)B+=",";B+=C[D];A++}B+="]";return B};Lat49.Ads.getAdDivIds=function(C){var B="[";var A=1;for(var D in C){if(A>1)B+=",";B+=D;A++}B+="]";return B};Lat49.Ads.isCustomTemplate=function(A){var B=false;if(A==Lat49.Ads.CUSTOM_HALF_BANNER||A==Lat49.Ads.CUSTOM_BUTTON||A==Lat49.Ads.CUSTOM_MEDIUM_RECTANGLE||A==Lat49.Ads.CUSTOM_LEADERBOARD||A==Lat49.Ads.CUSTOM_FULL_BANNER)B=true;return B};
Lat49.Ads.prototype.showErrorMsg=function(E,B){var A=document.getElementById(E);if(A){var D=A.getAttribute("lat49debug",false);var C=D!=null&&D;if(C){A.innerHTML=B;A.style.backgroundColor="#ffffff"}}};
Lat49.Ads.prototype.requestAd=function(K,G,F,A,E){var H=document.getElementsByTagName("head")[0];var I=document.createElement("script");var C=this.getPublisherId();if(C<0){var D="Invalid or missing publisherId: "+C;this.showErrorMsg(E.adcontainerid,D)}else{I.type="text/javascript";if(E.cacheid==null)E.cacheid=Lat49.Ads.hashTileIndices(K,G,F);if(E.adtypes==null){E.adtypes=new Object;E.adtypes[E.adcontainerid]=""}var J=Lat49.Ads.getAdSizes(E.adtypes);var B=Lat49.addRequestState(E);for(var L in E.adtypes){if(Lat49.Ads.mostRecentRequest[L]==
undefined)Lat49.Ads.mostRecentRequest[L]=new Array;Lat49.Ads.mostRecentRequest[L][E.cacheid]=B}I.id=E.cacheid+"-script";I.src=Lat49.Ads.serverURL+"/getad2?publisher="+C+"&x="+K+"&y="+G+"&z="+F+"&ad_sizes="+J+"&reqid=";I.src+=B+"&api_ver=1000000&rand="+Math.random()+"&";if(A)I.src+="debug=1&";I.timerId=setTimeout('Lat49.Ads.cleanScript("'+I.id+'")',3E4);H.appendChild(I)}};
Lat49.Ads.prototype.trackmapit=function(A){var D=document.getElementsByTagName("head")[0];var C=document.createElement("script");var B=this.getPublisherId();C.type="text/javascript";C.id="trackmapit"+Math.round(Math.random()*1E3);C.src=Lat49.Ads.serverURL+"/trackmapit?p="+B+"&ad="+A+"&key=a&rand="+Math.random()+"&";C.timerId=setTimeout('Lat49.Ads.cleanScript("'+C.id+'")',3E4);D.appendChild(C)};Lat49.Ads.cleanScript=function(B){var A=document.getElementById(B);if(A&&A.parentNode&&A.parentNode!=null)A.parentNode.removeChild(A)};
Lat49.Ads.serverURL=Lat49.SERVER+"/stw/stwgetad";Lat49.Ads.baseURL=Lat49.SERVER+"/lat49/"+Lat49.VERSION;Lat49.Ads.CUSTOM_HALF_BANNER=1;Lat49.Ads.IMAGE_BANNER=2;Lat49.Ads.IMAGE_BUTTON=3;Lat49.Ads.TEXT_IMAGE_HORIZ=4;Lat49.Ads.TEXT_IMAGE_BUTTON=5;Lat49.Ads.TEXT_BANNER=6;Lat49.Ads.CUSTOM_BUTTON=7;Lat49.Ads.IMAGE_MEDIUM_RECTANGLE=8;Lat49.Ads.CUSTOM_MEDIUM_RECTANGLE=9;Lat49.Ads.IMAGE_LEADERBOARD=10;Lat49.Ads.CUSTOM_LEADERBOARD=11;Lat49.Ads.IMAGE_FULL_BANNER=12;Lat49.Ads.CUSTOM_FULL_BANNER=13;
Lat49.Ads.BUTTON=1;Lat49.Ads.HALF_BANNER=2;Lat49.Ads.MEDIUM_RECTANGLE=4;Lat49.Ads.LEADERBOARD=5;Lat49.Ads.FULL_BANNER=6;
Lat49.Ads.create=function(B,J,M){var K=null;var E=Lat49.SERVER;var F=navigator.userAgent,I,D=-1;I=F.match(/MSIE\s([^;]*)/);if(I&&I[1])D=parseFloat(I[1]);var H=D>0&&D<7;var A="src='"+E+J.image+"'";if(B!=Lat49.Ads.TEXT_BANNER&&H&&J.image.substr(J.image.length-3).toLowerCase()=="png")A="src='http://lat49.com/lat49/blank.gif' style='width:"+J.imagesize.w+"px;height:"+J.imagesize.h+'px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+E+J.image+'", sizingMethod="scale")\';';var G=Lat49.Ads.isCustomTemplate(B);
if(M)K=Lat49.Ads.createAdWithSizeSpecified(B,J,A,G);else K=Lat49.Ads.createAdWithNoSizeSpecified(B,J,A,G);if(J.advalurl!=undefined&&J.advalurl!=""){var O=document.createElement("img");O.className="hidden_img";O.src=J.advalurl;K.appendChild(O)}var N=document.createElement("div");if(G)N.appendChild(K);else if(K.className!=""){var C=J.url;if(C.substring(0,17)=="/stw/stwgetad/hit")C=Lat49.SERVER+J.url;if(D>0)switch(parseInt(B)){case Lat49.Ads.IMAGE_BANNER:case Lat49.Ads.IMAGE_BUTTON:K.onclick=function(){window.open(C)};
break}var L=document.createElement("a");L.href=C;L.target="_blank";L.style.textDecoration="none";if(J.adbroker!=undefined)L.onclick=function(){var Q=document.getElementsByTagName("head")[0];var P=document.createElement("script");P.type="text/javascript";P.id="brokerhit"+J.reqid;P.src=Lat49.Ads.serverURL+"/brokerhit?p="+J.publisherid+"&broker="+J.adbroker+"&si="+J.serveid;P.timerId=setTimeout('Lat49.Ads.cleanScript("'+P.id+'")',3E4);Q.appendChild(P)};L.appendChild(K);N.appendChild(L)}else N.appendChild(K);
return N};Lat49.Ads.hashTileIndices=function(A,E,D){if(typeof A=="string")A=parseInt(A);var B=D*1E12+E*1E6+A;var C=B.toString();if(D<10)C="0"+C;return"lat49ad-"+C};
Lat49.Ads.createAdWithSizeSpecified=function(B,F,E,A){var C=document.createElement("div");if(B==Lat49.Ads.TEXT_BANNER){C.className="container_text-h";C.innerHTML="<div class='copy_text-h'><b><u>"+F.headline+"</span></u></b><br>"+F.message+"</div>"}else if(B==Lat49.Ads.IMAGE_BANNER){C.className="container_adsize";C.innerHTML="<div class='container_adsize_img'><img id='adimage' class='img-h' "+E+"/></div>"}else if(B==Lat49.Ads.IMAGE_BUTTON){C.className="container_adsize";C.innerHTML="<div class='container_adsize_img'><img id='adimage' class='img-sq' "+
E+"/></div>"}else if(B==Lat49.Ads.TEXT_IMAGE_BUTTON){C.className="container_adsize_textimg-sq-s";C.innerHTML="<div class='container_adsize_img_textimg-sq'><div class='center1_textimg-sq'><div class='center2_textimg-sq'><div class='center3_textimg-sq'><img class='img_textimg-sq' id='adimage' "+E+"/></div></div></div></div><div class='copy_textimg-sq'><b><u>"+F.headline+"</u></b><br>"+F.message+"</div>"}else if(A){var D=F.headline;C.className="container_"+D;C.innerHTML="<div class='container_img_"+
D+"'><div class='center1_"+D+"'><div class='center2_"+D+"'><div class='center3_"+D+"'>"+F.message+"</div></div></div></div>"}else{C.className="container_adsize";C.innerHTML="<div class='container_adsize_img'><img id='adimage' class='img-h' "+E+"/></div>"}return C};
Lat49.Ads.createAdWithNoSizeSpecified=function(C,G,F,B){var D=document.createElement("div");var A="";if(C==Lat49.Ads.TEXT_BANNER){D.className="container_text-h";D.innerHTML="<div class='copy_text-h'><b><u>"+G.headline+"</span></u></b><br>"+G.message+"</div>"}else if(C==Lat49.Ads.IMAGE_BANNER){D.className="container_img-h";D.innerHTML="<div class='container_img_img-h'><div class='center1_img-h'><div class='center2_img-h'><div class='center3_img-h'><img id='adimage' class='img-h' "+F+"/></div></div></div></div>"}else if(C==
Lat49.Ads.IMAGE_BUTTON){D.className="container_img-sq";D.innerHTML="<div class='container_img_img-sq'><div class='center1_img-sq'><div class='center2_img-sq'><div class='center3_img-sq'><img id='adimage' class='img-sq' "+F+"/></div></div></div></div>"}else if(C==Lat49.Ads.TEXT_IMAGE_BUTTON){D.className="container_textimg-sq";D.innerHTML="<div class='container_img_textimg-sq'><div class='center1_textimg-sq'><div class='center2_textimg-sq'><div class='center3_textimg-sq'><img class='img_textimg-sq' id='adimage' "+
F+"/></div></div></div></div><div class='copy_textimg-sq'><b><u>"+G.headline+"</u></b><br>"+G.message+"</div>"}else if(C==Lat49.Ads.TEXT_IMAGE_HORIZ){D.className="container_textimg-h";D.innerHTML="<div class='container_img_textimg-h'><div class='center1_textimg-h'><div class='center2_textimg-h'><div class='center3_textimg-h'><img class='img_textimg-h' id='adimage' "+F+"/></div></div></div></div><div class='copy_textimg-h'><b><u>"+G.headline+"</u></b><br>"+G.message+"</div>"}else if(B){var E=G.headline;
D.className="container_"+E;D.innerHTML="<div class='container_img_"+E+"'><div class='center1_"+E+"'><div class='center2_"+E+"'><div class='center3_"+E+"'>"+G.message+"</div></div></div></div>"}return D};
Lat49.CycleTimer=function(G,H){var D=G;var A=H;var F,E;var B;var C;var I;this.updateNext=function(){var J=document.getElementById(A);if(J==null){B=null;return}var O=D.getAdZoomLevel(D.zoomlevel);if(O==-1)D.clearAd(A);else{var M=Math.floor(Lat49.Tile.lonToXAtZ(D.lonmin,O));var K=Math.floor(Lat49.Tile.lonToXAtZ(D.lonmax,O));var P=Math.floor(Lat49.Tile.latToYAtZ(D.latmax,O));var N=Math.floor(Lat49.Tile.latToYAtZ(D.latmin,O));if(F==null||F<M)F=M;else F++;if(E==null)E=P;else if(F>K){E++;F=M}if(E<P||E>
N)E=P;D.updateAdByTile(A,F,E,O)}var L=A+"-"+D.num;B=setTimeout('Lat49.cycleTimers["'+L+'"].updateNext()',C*1E3)};this.setCycleInterval=function(J){if(typeof J=="string")J=parseInt(J);C=J;if(B){clearTimeout(B);B=null;D.clearAd(A)}if(C>0)this.updateNext()};this.updateNextMulti=function(){var N=D.getAdZoomLevel(D.zoomlevel);if(N==-1);else{var L=Math.floor(Lat49.Tile.lonToXAtZ(D.lonmin,N));var J=Math.floor(Lat49.Tile.lonToXAtZ(D.lonmax,N));var O=Math.floor(Lat49.Tile.latToYAtZ(D.latmax,N));var M=Math.floor(Lat49.Tile.latToYAtZ(D.latmin,
N));if(F==null||F<L)F=L;else F++;if(E==null)E=O;else if(F>J){E++;F=L}if(E<O||E>M)E=O;D.updateMultiAdsByTile(I,F,E,N)}var K=Lat49.CycleTimer.getMultiCycleTimerKey(I);B=setTimeout('Lat49.cycleTimers["'+K+'"].updateNextMulti()',C*1E3)};this.setAdtypes=function(J){I=J};this.setMultiCycleInterval=function(K){if(typeof K=="string")K=parseInt(K);C=K;if(B){clearTimeout(B);B=null;for(var J in I)D.clearAd(J)}if(C>0)this.updateNextMulti(I)}};
Lat49.CycleTimer.getMultiCycleTimerKey=function(B){var C=Lat49.Ads.getAdSizes(B);var A=Lat49.Ads.getAdDivIds(B)+C;return A};
Lat49.AdHelper=function(A){this.screenWidth=0;this.screenHeight=0;this.latmin=0;this.lonmin=0;this.latmax=0;this.lonmax=0;this.zoomlevel=-1;this.cache=new Array(new Array);this.cacheSize=0;this.maxCacheSize=0;this.hidepinflag=false;this.showpinflag=false;this.pid=A;this.mapitClickedAds=new Array;this.mapextents=null;this.adtypes=new Array;this.mapitPanelBehaviour=Lat49.MAPIT_PANEL_WITH_PUSHPINS;this.ads=new Lat49.Ads(A);this.num=Lat49.numAdHelpers++;Lat49.setAdHelper(this.num,this)};
Lat49.AdHelper.prototype.setMaxCacheSize=function(A){if(A<this.cacheSize)this.removeNCacheItems(this.cacheSize-A);this.maxCacheSize=A};Lat49.AdHelper.prototype.removeFirstCacheItem=function(){this.removeNCacheItems(1)};Lat49.AdHelper.prototype.removeNCacheItems=function(D){var C=0;for(var A in this.cache)for(var B in this.cache[A]){if(C<D){this.cache[A][B]=null;delete this.cache[A][B];this.cacheSize--}else break;C++}};
Lat49.AdHelper.prototype.ensureCacheSpace=function(){if(this.cacheSize>=this.maxCacheSize){var A=this.maxCacheSize;this.setMaxCacheSize(Math.floor(A/2));this.setMaxCacheSize(A)}};Lat49.AdHelper.prototype.getAdPos=function(B){var E="top-left";var C=B.getAttribute("lat49adposition",false);if(C)if(C.indexOf("centre")!=-1||C.indexOf("center")!=-1)E="top-left";else{var D=C.indexOf("right")!=-1;var A=C.indexOf("bottom")!=-1||C.indexOf("lower")!=-1;E=(A?"bottom":"top")+"-"+(D?"right":"left")}return E};
Lat49.AdHelper.prototype.getAdDebug=function(A){var B=A.getAttribute("lat49debug",false);return B!=null&&B};
Lat49.AdHelper.prototype.updateAdByTile=function(B,A,H,F){var D=document.getElementById(B);if(D==null)return;var G=this.getAdPos(D);var C=this.getAdDebug(D);A=Lat49.Tile.normTileIndex(A,F);H=Lat49.Tile.normTileIndex(H,F);var E=Lat49.Ads.hashTileIndices(A,H,F);if(this.cache[B]==undefined)this.cache[B]=new Array;this.cache[B][E]="waiting-for-request";this.ads.requestAd(A,H,F,C,{helperid:this.num,cacheid:E,adcontainerid:B})};
Lat49.AdHelper.prototype.isValidAdSize=function(A){var B=false;if(A==Lat49.Ads.BUTTON||A==Lat49.Ads.HALF_BANNER||A==Lat49.Ads.MEDIUM_RECTANGLE||A==Lat49.Ads.LEADERBOARD||A==Lat49.Ads.FULL_BANNER)B=true;return B};
Lat49.AdHelper.prototype.updateMultiAdsByTile=function(L,K,J,I){K=Lat49.Tile.normTileIndex(K,I);J=Lat49.Tile.normTileIndex(J,I);var D=Lat49.Ads.getAdSizes(L);var E=Lat49.Ads.hashTileIndices(K,J,I)+D;var H=false;var B=false;var A=false;for(var M in L){if(L[M]!=""){H=this.isValidAdSize(L[M]);if(!H){var F="Invalid ad size requested.";this.ads.showErrorMsg(M,F);L[M]=Lat49.Ads.HALF_BANNER}}var G=document.getElementById(M);if(G){var C=this.getAdDebug(G);if(C)B=true}if(this.cache[M]==undefined)this.cache[M]=
new Array;if(this.cache[M][E]==undefined){this.cache[M][E]="waiting-for-request";A=true}}A=true;if(A)this.ads.requestAd(K,J,I,B,{helperid:this.num,cacheid:E,adcontainerid:"",adtypes:L});else for(var M in L)if(this.cache[M][E]!="waiting-for-request")this.finalizeUpdateByAdTile(M,E)};
Lat49.AdHelper.prototype.finalizeUpdateByAdTile=function(divId,hashIndex){var adDiv=document.getElementById(divId);var newAd=this.cache[divId][hashIndex];if(adDiv==null||newAd==null)return;if(adDiv.popup){adDiv.popup.popin(true);adDiv.popup.clearIntAdFormFields()}var child=adDiv.firstChild;while(child){var childID=child.id;if(childID&&childID.substring(0,7)=="lat49ad"){newAd.style.display="";if(child.popup){child.popup.popin(true);child.popup.clearIntAdFormFields()}child.style.display="none";adDiv.removeChild(child)}child=
child.nextSibling}if(adDiv.firstChild&&this.getAdPos(adDiv).substring(0,6)=="bottom")adDiv.insertBefore(newAd,adDiv.firstChild);else adDiv.appendChild(newAd);newAd.style.display="";this.updateMapitPanel(adDiv,hashIndex,divId);var callbackAttr=adDiv.getAttribute("onlat49update",false);if(callbackAttr!=null){var contents=this.cache[divId][hashIndex].innerHTML;var hasContents=!(contents==""||contents.substring(0,17)=="No current ad for");var callback=callbackAttr+"("+hasContents+");";eval(callback)}};
Lat49.AdHelper.prototype.updateMapitPanel=function(F,E,G){var C;var I;var H=this.cache[G][E];var A=this.num;if(H.loc!=undefined){F.setAttribute("lat49locations",H.loc);F.setAttribute("lat49adaccount",H.adaccount);F.setAttribute("lat49adid",H.adid)}else F.removeAttribute("lat49locations");var D=F.getAttribute("onlat49pushpin",false);if(D!=null&&this.mapitPanelBehaviour>=Lat49.MAPIT_PANEL_ALWAYS){var B=document.getElementById("pushpindivid"+this.num+"-"+F.id);if(B==null){B=this.createMapitPanel(F,C,
I);if(this.getAdPos(F).indexOf("right")!=-1)B.style.right="0px";else B.style.left="0px";if(F.firstChild&&this.getAdPos(F).substring(0,3)=="top"){B.style.top="0px";F.insertBefore(B,F.firstChild)}else{B.style.bottom="0px";F.appendChild(B)}}if(this.getAdPos(F).substring(0,3)=="top")H.style.top="23px";else H.style.bottom="23px"}this.handleMapitPanel(F)};
Lat49.AdHelper.prototype.createMapitPanel=function(C,D,B){var A=document.createElement("div");A.id="pushpindivid"+this.num+"-"+C.id;A.style.fontSize="8pt";A.style.backgroundColor="transparent";A.style.position="absolute";A.style.width="133px";A.style.height="23px";A.style.display="block";D=this.createMapitPanelShowLink(C,A);B=this.createMapitPanelHideLink(C,A);var G=this.num;var E=this.pid;var F=this.createLogo(G,E);A.appendChild(F);return A};
Lat49.AdHelper.prototype.createLogo=function(C,A){var B=document.createElement("img");B.id="logoid"+C;this.filterPNG(B,Lat49.SERVER+"/lat49/"+Lat49.VERSION+"/img/lat49_58x23.png","58px","23px");B.onclick=function(){Lat49.publisherReferrer(C,A)};B.style.cursor="pointer";return B};Lat49.AdHelper.prototype.isPublisherBranded=function(A){var C=false;if(A!=null){var D=A.firstChild;while(D){var B=D.id;if(B&&B.substring(0,7)=="lat49ad")if(D.branded!=undefined&&D.branded=="1"){C=true;break}D=D.nextSibling}}return C};
Lat49.AdHelper.prototype.createMapitPanelShowLink=function(B,A){var D=this.num;var C=document.createElement("img");C.id="lat49showpinid"+this.num+"-"+B.id;C.onclick=function(){Lat49.showPushPins(B,D)};C.style.cursor="pointer";var E=B.id;C.onmouseover=function(){Lat49.onMouseOverShow(D,E)};C.onmouseout=function(){Lat49.onMouseOutShow(D,E)};C.src="";A.appendChild(C);return C};
Lat49.AdHelper.prototype.createMapitPanelHideLink=function(C,A){var D=this.num;var B=document.createElement("img");B.id="lat49hidepinid"+D+"-"+C.id;var E=C.id;B.onmouseover=function(){Lat49.onMouseOverHide(D,E)};B.onmouseout=function(){Lat49.onMouseOutHide(D,E)};A.appendChild(B);return B};
Lat49.AdHelper.prototype.filterPNG=function(C,H,B,E){if(C!=null){var D=navigator.userAgent,A,G=-1;A=D.match(/MSIE\s([^;]*)/);if(A&&A[1])G=parseFloat(A[1]);var F=G>0&&G<7;if(F){C.src=Lat49.SERVER+"/lat49/blank.gif";C.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+H+'", sizingMethod="scale")\''}else C.src=H;C.style.width=B;C.style.height=E}};
Lat49.AdHelper.prototype.trackPinClicked=function(C,D){var B=document.getElementsByTagName("head")[0];var A=document.createElement("script");A.type="text/javascript";A.id="43";A.src=Lat49.Ads.serverURL+"/trackpinclicked?p="+D+"&pinid="+C+"&rand="+Math.random()+"&";A.timerId=setTimeout('Lat49.Ads.cleanScript("'+A.id+'")',3E4);B.appendChild(A)};
Lat49.AdHelper.prototype.showPushPin=function(adDiv){var adid=adDiv.getAttribute("lat49adid",false);this.ads.trackmapit(adid);var callbackAttr=adDiv.getAttribute("onlat49pushpin",false);if(callbackAttr!=null){var loc=eval(adDiv.getAttribute("lat49locations",false));var i=0;for(i=0;i<loc.length;i++)loc[i].pinurl=Lat49.SERVER+loc[i].pinurl;if(loc.length>0){var adaccount=adDiv.getAttribute("lat49adid",false);this.mapitClickedAds.push(adaccount);this.hidepinflag=true;if(this.mapitPanelBehaviour!=Lat49.MAPIT_PANEL_PUSHPIN_DRIVEN)this.handleMapitPanel(adDiv);
var callback=callbackAttr+"(loc);";eval(callback)}}},Lat49.AdHelper.prototype.containedInBounds=function(B,A,C){var D=false;if(B>C.south&&A>C.west&&B<C.north&&A<C.east)D=true;return D},Lat49.AdHelper.prototype.arePinsWithinMapBounds=function(C,B){var A=false;var D=0;while(D<C.length&&A==false){A=this.containedInBounds(C[D].lat,C[D].lon,this.mapextents);D++}return A},Lat49.AdHelper.prototype.findDistanceToPin=function(H,I){var B=null;var A=null;var L=null;var D=null;var C=null;var E=I.firstChild;while(E){var K=
E.id;if(K&&K.substring(0,7)=="lat49ad"){var J=/(\d{14})/;J.test(K);var F=RegExp.$1;L=parseInt(F.substring(0,2),10);A=parseInt(F.substring(2,8),10);B=parseInt(F.substring(8,14),10)}E=E.nextSibling}for(var G=0;G<H.length;G++){D=Lat49.Tile.lonToXAtZ(H[G].lon,L);C=Lat49.Tile.latToYAtZ(H[G].lat,L);H[G].dist=this.getDistanceBetweenAdPin(B,A,D,C)}};Lat49.AdHelper.prototype.getDistanceBetweenAdPin=function(A,E,C,B){var D=(A+0.5-C)*(A+0.5-C)+(E+0.5-B)*(E+0.5-B);return D};
Lat49.AdHelper.prototype.sortByDistance=function(C,B){var A=C.dist;var D=B.dist;return A<D?-1:A>D?1:0};Lat49.AdHelper.prototype.hidePushPin=function(adDiv){var callbackAttr=adDiv.getAttribute("onlat49hidepushpin",false);this.mapitClickedAds=null;this.mapitClickedAds=new Array;if(callbackAttr!=null){this.hidepinflag=false;if(this.mapitPanelBehaviour!=Lat49.MAPIT_PANEL_PUSHPIN_DRIVEN){this.handleMapitPanel(adDiv);this.setPanelState(adDiv)}var callback=callbackAttr+"();";eval(callback)}};
Lat49.AdHelper.prototype.onMouseOverShow=function(B){if(this.showpinflag){var A=document.getElementById("lat49showpinid"+this.num+"-"+B);this.filterPNG(A,Lat49.SERVER+"/lat49/"+Lat49.VERSION+"/img/mapit_40x23_hover.png","40px","23px")}};Lat49.AdHelper.prototype.onMouseOutShow=function(B){if(this.showpinflag){var A=document.getElementById("lat49showpinid"+this.num+"-"+B);this.filterPNG(A,Lat49.SERVER+"/lat49/"+Lat49.VERSION+"/img/mapit_40x23_on.png","40px","23px")}};
Lat49.AdHelper.prototype.onMouseOverHide=function(B){if(this.hidepinflag){var A=document.getElementById("lat49hidepinid"+this.num+"-"+B);this.filterPNG(A,Lat49.SERVER+"/lat49/"+Lat49.VERSION+"/img/clear_35x23_hover.png","35px","23px")}};Lat49.AdHelper.prototype.onMouseOutHide=function(B){if(this.hidepinflag){var A=document.getElementById("lat49hidepinid"+this.num+"-"+B);this.filterPNG(A,Lat49.SERVER+"/lat49/"+Lat49.VERSION+"/img/clear_35x23_on.png","35px","23px")}};
Lat49.AdHelper.prototype.publisherRefer=function(A){window.open("http://lat49.com/index.php?pubid="+A)};Lat49.AdHelper.prototype.getInnerAd=function(A){var B=null;if(A!=null){var D=A.firstChild;while(D){var C=D.id;if(C&&C.substring(0,7)=="lat49ad"){B=D;break}D=D.nextSibling}}return B};Lat49.AdHelper.prototype.isAdVisible=function(A){var B=true;if(A!=null){var D=A.firstChild;while(D){var C=D.id;if(C&&C.substring(0,7)=="lat49ad")if(D.childNodes.length==0||D.style.display=="none")B=false;D=D.nextSibling}}return B};
Lat49.AdHelper.prototype.setPanelVisibility=function(B){var F=null;var A="pushpindivid"+this.num+"-"+B.id;var E=true;F=document.getElementById(A);if(F!=null){switch(this.mapitPanelBehaviour){case Lat49.MAPIT_PANEL_ALWAYS:break;case Lat49.MAPIT_PANEL_WITH_ADS:F.style.display=this.isAdVisible(B)?"block":"none";E=F.style.display=="block"?true:false;break;case Lat49.MAPIT_PANEL_WITH_PUSHPINS:E=false;var D=this.getInnerAd(B);try{B.removeChild(F);if(this.getAdPos(B).substring(0,3)=="top")D.style.top="0px";
else D.style.bottom="0px";if(this.isAdVisible(B))if(this.hidepinflag||this.showpinflag){B.appendChild(F);F.style.display="block";E=true;if(this.getAdPos(B).substring(0,3)=="top")D.style.top="23px";else D.style.bottom="23px"}}catch(C){}break;case Lat49.MAPIT_PANEL_NEVER:F.style.display="none";E=false;break;default:F.style.display="none";E=false}if(this.isAdVisible(B))this.updateBranding(F,B)}return E};
Lat49.AdHelper.prototype.handleThisMapitPanel=function(adDiv){var showpinimg=document.getElementById("lat49showpinid"+this.num+"-"+adDiv.id);if(showpinimg!=null){this.showpinflag=adDiv.getAttribute("lat49locations",false)!=null;if(this.showpinflag==true)this.showpinflag=this.mapitAlreadyClicked(adDiv);this.setPanelState(adDiv)}if(this.mapitPanelBehaviour==Lat49.MAPIT_PANEL_PUSHPIN_DRIVEN&&this.isAdVisible(adDiv)){var mapiton=this.mapitAlreadyClicked(adDiv);if(mapiton){var loc=eval(adDiv.getAttribute("lat49locations",
false));if(loc&&loc.length>0)this.showPushPin(adDiv)}}else this.setPanelVisibility(adDiv)};Lat49.AdHelper.prototype.handleMapitPanel=function(A){for(var C in this.adtypes){var B=document.getElementById(C);if(B!=null)this.handleThisMapitPanel(B)}};
Lat49.AdHelper.prototype.mapitAlreadyClicked=function(adDiv){var adaccount=adDiv.getAttribute("lat49adid",false);var enableMapit=true;for(var i=0;i<this.mapitClickedAds.length;i++)if(adaccount==this.mapitClickedAds[i])enableMapit=false;if(this.mapextents!=null){var loc=eval(adDiv.getAttribute("lat49locations",false));enableMapit=enableMapit&&this.arePinsWithinMapBounds(loc,adDiv)}return enableMapit};
Lat49.AdHelper.prototype.setPanelState=function(adDiv){var showpinimg=document.getElementById("lat49showpinid"+this.num+"-"+adDiv.id);var hidepinimg=document.getElementById("lat49hidepinid"+this.num+"-"+adDiv.id);if(this.showpinflag&&this.isAdVisible(adDiv)){var loc=eval(adDiv.getAttribute("lat49locations",false));if(loc)if(loc.length<=0)this.showpinflag=false}else this.showpinflag=false;this.enableShowImg(this.showpinflag,adDiv);this.enableHideImg(this.hidepinflag,adDiv)};
Lat49.AdHelper.prototype.updateBranding=function(C,A){C.style.width=this.isPublisherBranded(A)?"133px":"85px";var B=document.getElementById("logoid"+this.num);if(!this.isPublisherBranded(A)){if(B!=null)C.removeChild(B)}else if(B==null){B=this.createLogo(this.num,this.pubid);if(B!=null)C.appendChild(B)}};
Lat49.AdHelper.prototype.enableShowImg=function(B,A){var D=this.num;var C=document.getElementById("lat49showpinid"+D+"-"+A.id);if(C!=null)if(B){this.filterPNG(C,Lat49.SERVER+"/lat49/"+Lat49.VERSION+"/img/mapit_40x23_on.png","40px","23px");C.style.cursor="pointer";C.onclick=function(){Lat49.showPushPins(A,D)}}else{this.filterPNG(C,Lat49.SERVER+"/lat49/"+Lat49.VERSION+"/img/mapit_40x23_off.png","40px","23px");C.style.cursor="default";C.onclick=function(){return false}}};
Lat49.AdHelper.prototype.enableHideImg=function(B,A){var D=this.num;var C=document.getElementById("lat49hidepinid"+D+"-"+A.id);if(C!=null)if(B){this.filterPNG(C,Lat49.SERVER+"/lat49/"+Lat49.VERSION+"/img/clear_35x23_on.png","35px","23px");C.style.cursor="pointer";C.onclick=function(){Lat49.hidePushPins(A,D)}}else{this.filterPNG(C,Lat49.SERVER+"/lat49/"+Lat49.VERSION+"/img/clear_35x23_off.png","35px","23px");C.style.cursor="default";C.onclick=function(){return false}}};
Lat49.AdHelper.prototype.setMapitPanelBehaviour=function(A){this.mapitPanelBehaviour=A};Lat49.AdHelper.prototype.setCustomMapitPanel=function(C,E,A){var B=document.getElementById(C);var F=document.getElementById(E);var G=document.getElementById(A);var D=this.num;F.onclick=function(){Lat49.showPushPins(B,D)};G.onclick=function(){Lat49.hidePushPins(B,D)};this.mapitPanelBehaviour=Lat49.MAPIT_PANEL_NEVER};
Lat49.AdHelper.prototype.setCustomMapitButton=function(B,D){var A=document.getElementById(B);var E=document.getElementById(D);var C=this.num;E.onclick=function(){Lat49.showPushPins(A,C)}};Lat49.AdHelper.prototype.setCustomClearButton=function(C,A){var B=document.getElementById(C);var E=document.getElementById(A);var D=this.num;E.onclick=function(){Lat49.hidePushPins(B,D)}};
Lat49.AdHelper.prototype.getPushpinCount=function(adDivId){var count=0;var div=document.getElementById(adDivId);var loc=eval(div.getAttribute("lat49locations",false));if(loc!=null)count=loc.length;return count};Lat49.AdHelper.prototype.getPushpins=function(adDivId){var div=document.getElementById(adDivId);var loc=eval(div.getAttribute("lat49locations",false));return loc};
Lat49.AdHelper.prototype.getCampaignId=function(adDivId){var div=document.getElementById(adDivId);var campaignId=eval(div.getAttribute("lat49adid",false));return campaignId};Lat49.AdHelper.prototype.cacheAd=function(A,C,D,B){if(B==null)B=true;this.ensureCacheSpace();this.cache[A][C]=D;this.cacheSize++;if(B)this.finalizeUpdateByAdTile(A,C)};
Lat49.AdHelper.prototype.clearAd=function(A){var B=document.getElementById(A);if(B==null)return;var D=B.firstChild;while(D){var C=D.id;if(C&&C.substring(0,7)=="lat49ad")D.style.display="none";D=D.nextSibling}};Lat49.AdHelper.prototype.normLon=function(A){while(A<-180)A+=360;while(A>=180)A-=360;return A};Lat49.AdHelper.prototype.getAdZoomLevel=function(B){var A=7+3*Math.floor((B-5)/3);if(A>16)A=16;else if(A<7)A=-1;return A};
Lat49.AdHelper.prototype.updateMultiAdsByLatLon=function(A,B,D,C){this.updateMultiAdsByLatLon(A,B,D,C)};
Lat49.AdHelper.prototype.updateMultiAdsByLatLonExtents=function(L,H,A,G,F,M,D,I){if(F!=undefined)this.mapextents={south:F,west:M,north:D,east:I};for(var B in L)this.adtypes[B]=L[B];A=this.normLon(A);var C=this.getAdZoomLevel(G);if(C==-1){for(var N in L){this.clearAd(N);var E=document.getElementById(N);this.handleMapitPanel(E)}return}var K=Math.floor(Lat49.Tile.lonToXAtZ(A,C));var J=Math.floor(Lat49.Tile.latToYAtZ(H,C));this.updateMultiAdsByTile(L,K,J,C)};
Lat49.AdHelper.prototype.updateAdByLatLon=function(B,E,G,F){G=this.normLon(G);var D=this.getAdZoomLevel(F);if(D==-1){this.clearAd(B);var C=document.getElementById(B);this.handleMapitPanel(C);return}var A=Math.floor(Lat49.Tile.lonToXAtZ(G,D));var H=Math.floor(Lat49.Tile.latToYAtZ(E,D));this.updateAdByTile(B,A,H,D)};Lat49.AdHelper.prototype.setScreenSpace=function(B,A){this.screenWidth=B;this.screenHeight=A;this.computeZoomLevel()};
Lat49.AdHelper.prototype.setLatLonSpace=function(A,B,D,E,C){this.latmin=A;this.lonmin=B;this.latmax=D;this.lonmax=E;while(this.lonmin>this.lonmax)this.lonmin-=360;if(C==undefined)this.proj=Lat49.projMercator;else this.proj=C;this.computeZoomLevel()};Lat49.AdHelper.prototype.computeZoomLevel=function(){if(this.screenWidth<=0||this.lonmax<=this.lonmin)this.zoomlevel=-1;else{var A=(this.latmin+this.latmax)/2;this.zoomlevel=Lat49.Tile.computeZoomLevel(A,this.lonmin,A,this.lonmax,this.screenWidth)}};
Lat49.AdHelper.prototype.updateAdByPixel=function(C,B,H){if(zoomLevel!=-1){var E,F;switch(this.proj){case Lat49.projMercator:F=this.lonmin+(this.lonmax-this.lonmin)*B/this.screenWidth;var D=Lat49.Tile.latToYAtZ(this.latmax,zoomLevel);var A=Lat49.Tile.latToYAtZ(this.latmin,zoomLevel);var G=D+(A-D)*H/this.screenHeight;E=Lat49.Tile.yToLatAtZ(G,zoomLevel);break;case Lat49.projUnprojected:F=this.lonmin+(this.lonmax-this.lonmin)*B/this.screenWidth;E=this.latmax+(this.latmin-this.latmax)*H/this.screenHeight;
break;default:return}this.updateAdByLatLon(C,E,F,this.zoomlevel)}};Lat49.AdHelper.prototype.cycleAdsForScreen=function(A,B){var C=A+"-"+this.num;if(Lat49.cycleTimers[C]==undefined)Lat49.cycleTimers[C]=new Lat49.CycleTimer(this,A);Lat49.cycleTimers[C].setCycleInterval(B)};Lat49.AdHelper.prototype.cycleMultiAdsForScreen=function(C,A){var B=Lat49.CycleTimer.getMultiCycleTimerKey(C);if(Lat49.cycleTimers[B]==undefined){Lat49.cycleTimers[B]=new Lat49.CycleTimer(this);Lat49.cycleTimers[B].setAdtypes(C)}Lat49.cycleTimers[B].setMultiCycleInterval(A)};
if(typeof Lat49=="undefined"||!Lat49)var Lat49={};
Lat49.Tile=function(){function B(D){return D*Math.PI/180}function C(D){return D*180/Math.PI}function A(D){return 2*Math.PI/(1<<D)}return{latToYAtZ:function(F,D){var E=Math.sin(B(F));return(Math.PI-0.5*Math.log((1+E)/(1-E)))/A(D)},yToLatAtZ:function(F,D){var E=Math.atan(Math.exp(F*A(D)-Math.PI));return C(Math.PI/2-2*E)},lonToXAtZ:function(E,D){return(B(E)+Math.PI)/A(D)},xToLonAtZ:function(D,E){return C(D*A(E)-Math.PI)},computeZoomLevel:function(O,G,E,L,H){var J=0;var F=Lat49.Tile.lonToXAtZ(G,J);var D=
Lat49.Tile.lonToXAtZ(L,J);var N=Lat49.Tile.latToYAtZ(O,J);var M=Lat49.Tile.latToYAtZ(E,J);var I=256*Math.sqrt((D-F)*(D-F)+(M-N)*(M-N));var K=Math.round(Math.log(H/I)/Math.LN2);if(K<0)K=0;return K},convertGMapZoom:function(D){return 17-D},convertGMap2Zoom:function(D){return D},convertLiveZoom:function(D){return D},convertYahooZoom:function(D){return 18-D},convertMapQuestZoom:function(D){return D>=4?D+3:D>=2?D+2:D+1},normTileIndex:function(F,E){var D=1<<E;while(F<0)F+=D;while(F>=D)F-=D;return F}}}();
if(typeof Lat49=="undefined"||!Lat49)var Lat49={};if(typeof Lat49.YAHOO=="undefined"||!Lat49.YAHOO)Lat49.YAHOO={};
(function(){var A=Lat49.YAHOO;if(typeof A=="undefined"||!A)var A={};A.namespace=function(){var F=arguments,G=null,I,J,H;for(I=0;I<F.length;I=I+1){H=F[I].split(".");G=A;for(J=H[0]=="YAHOO"?1:0;J<H.length;J=J+1){G[H[J]]=G[H[J]]||{};G=G[H[J]]}}return G};A.log=function(F,E,G){var H=A.widget.Logger;if(H&&H.log)return H.log(F,E,G);else return false};A.register=function(M,R,J){var N=A.env.modules;if(!N[M])N[M]={versions:[],builds:[]};var L=N[M],O=J.version,P=J.build,Q=A.env.listeners;L.name=M;L.version=
O;L.build=P;L.versions.push(O);L.builds.push(P);L.mainClass=R;for(var K=0;K<Q.length;K=K+1)Q[K](L);if(R){R.VERSION=O;R.BUILD=P}else A.log("mainClass is undefined for module "+M,"warn")};A.env=A.env||{modules:[],listeners:[]};A.env.getVersion=function(B){return A.env.modules[B]||null};A.env.ua=function(){var E={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};var F=navigator.userAgent,D;if(/KHTML/.test(F))E.webkit=1;D=F.match(/AppleWebKit\/([^\s]*)/);if(D&&D[1]){E.webkit=parseFloat(D[1]);if(/ Mobile\//.test(F))E.mobile=
"Apple";else{D=F.match(/NokiaN[^\/]*/);if(D)E.mobile=D[0]}D=F.match(/AdobeAIR\/([^\s]*)/);if(D)E.air=D[0]}if(!E.webkit){D=F.match(/Opera[\s\/]([^\s]*)/);if(D&&D[1]){E.opera=parseFloat(D[1]);D=F.match(/Opera Mini[^;]*/);if(D)E.mobile=D[0]}else{D=F.match(/MSIE\s([^;]*)/);if(D&&D[1])E.ie=parseFloat(D[1]);else{D=F.match(/Gecko\/([^\s]*)/);if(D){E.gecko=1;D=F.match(/rv:([^\s\)]*)/);if(D&&D[1])E.gecko=parseFloat(D[1])}}}}return E}();(function(){A.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var H=
YAHOO_config.listener,E=A.env.listeners,F=true,G;if(H){for(G=0;G<E.length;G=G+1)if(E[G]==H){F=false;break}if(F)E.push(H)}}})();A.lang=A.lang||{};(function(){var D=A.lang,E=["toString","valueOf"],F={isArray:function(B){if(B)return D.isNumber(B.length)&&D.isFunction(B.splice);return false},isBoolean:function(B){return typeof B==="boolean"},isFunction:function(B){return typeof B==="function"},isNull:function(B){return B===null},isNumber:function(B){return typeof B==="number"&&isFinite(B)},isObject:function(B){return B&&
(typeof B==="object"||D.isFunction(B))||false},isString:function(B){return typeof B==="string"},isUndefined:function(B){return typeof B==="undefined"},_IEEnumFix:A.env.ua.ie?function(I,J){for(var K=0;K<E.length;K=K+1){var B=E[K],C=J[B];if(D.isFunction(C)&&C!=Object.prototype[B])I[B]=C}}:function(){},extend:function(C,B,J){if(!B||!C)throw new Error("extend failed, please check that all dependencies are included.");var K=function(){};K.prototype=B.prototype;C.prototype=new K;C.prototype.constructor=
C;C.superclass=B.prototype;if(B.prototype.constructor==Object.prototype.constructor)B.prototype.constructor=B;if(J){for(var L in J)if(D.hasOwnProperty(J,L))C.prototype[L]=J[L];D._IEEnumFix(C.prototype,J)}},augmentObject:function(C,J){if(!J||!C)throw new Error("Absorb failed, verify dependencies.");var M=arguments,K,B,L=M[2];if(L&&L!==true)for(K=2;K<M.length;K=K+1)C[M[K]]=J[M[K]];else{for(B in J)if(L||!(B in C))C[B]=J[B];D._IEEnumFix(C,J)}},augmentProto:function(B,C){if(!C||!B)throw new Error("Augment failed, verify dependencies.");
var I=[B.prototype,C.prototype];for(var H=2;H<arguments.length;H=H+1)I.push(arguments[H]);D.augmentObject.apply(this,I)},dump:function(B,O){var R,P,M=[],C="{...}",S="f(){...}",N=", ",Q=" => ";if(!D.isObject(B))return B+"";else if(B instanceof Date||"nodeType"in B&&"tagName"in B)return B;else if(D.isFunction(B))return S;O=D.isNumber(O)?O:3;if(D.isArray(B)){M.push("[");for(R=0,P=B.length;R<P;R=R+1){if(D.isObject(B[R]))M.push(O>0?D.dump(B[R],O-1):C);else M.push(B[R]);M.push(N)}if(M.length>1)M.pop();
M.push("]")}else{M.push("{");for(R in B)if(D.hasOwnProperty(B,R)){M.push(R+Q);if(D.isObject(B[R]))M.push(O>0?D.dump(B[R],O-1):C);else M.push(B[R]);M.push(N)}if(M.length>1)M.pop();M.push("}")}return M.join("")},substitute:function(C,g,Z){var c,d,e,W,V,T,X=[],f,b="dump",Y=" ",B="{",U="}";for(;;){c=C.lastIndexOf(B);if(c<0)break;d=C.indexOf(U,c);if(c+1>=d)break;f=C.substring(c+1,d);W=f;T=null;e=W.indexOf(Y);if(e>-1){T=W.substring(e+1);W=W.substring(0,e)}V=g[W];if(Z)V=Z(W,V,T);if(D.isObject(V))if(D.isArray(V))V=
D.dump(V,parseInt(T,10));else{T=T||"";var a=T.indexOf(b);if(a>-1)T=T.substring(4);if(V.toString===Object.prototype.toString||a>-1)V=D.dump(V,parseInt(T,10));else V=V.toString()}else if(!D.isString(V)&&!D.isNumber(V)){V="~-"+X.length+"-~";X[X.length]=f}C=C.substring(0,c)+V+C.substring(d+1)}for(c=X.length-1;c>=0;c=c-1)C=C.replace(new RegExp("~-"+c+"-~"),"{"+X[c]+"}","g");return C},trim:function(C){try{return C.replace(/^\s+|\s+$/g,"")}catch(B){return C}},merge:function(){var B={},H=arguments;for(var C=
0,I=H.length;C<I;C=C+1)D.augmentObject(B,H[C],true);return B},later:function(M,S,C,Q,P){M=M||0;S=S||{};var R=C,N=Q,O,B;if(D.isString(C))R=S[C];if(!R)throw new TypeError("method undefined");if(!D.isArray(N))N=[Q];O=function(){R.apply(S,N)};B=P?setInterval(O,M):setTimeout(O,M);return{interval:P,cancel:function(){if(this.interval)clearInterval(B);else clearTimeout(B)}}},isValue:function(B){return D.isObject(B)||D.isString(B)||D.isNumber(B)||D.isBoolean(B)}};D.hasOwnProperty=Object.prototype.hasOwnProperty?
function(C,B){return C&&C.hasOwnProperty(B)}:function(C,B){return!D.isUndefined(C[B])&&C.constructor.prototype[B]!==C[B]};F.augmentObject(D,F,true);A.util.Lang=D;D.augment=D.augmentProto;A.augment=D.augmentProto;A.extend=D.extend})();A.register("yahoo",A,{version:"2.5.2",build:"1076"});(function(){var R=A.util,X,Z,Y={},c={},V=window.document;A.env._id_counter=A.env._id_counter||0;var Q=A.env.ua.opera,W=A.env.ua.webkit,S=A.env.ua.gecko,b=A.env.ua.ie;var d={HYPHEN:/(-[a-z])/i,ROOT_TAG:/^body|html$/i,
OP_SCROLL:/^(?:inline|table-row)$/i};var U=function(C){if(!d.HYPHEN.test(C))return C;if(Y[C])return Y[C];var B=C;while(d.HYPHEN.exec(B))B=B.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());Y[C]=B;return B};var T=function(B){var C=c[B];if(!C){C=new RegExp("(?:^|\\s+)"+B+"(?:\\s+|$)");c[B]=C}return C};if(V.defaultView&&V.defaultView.getComputedStyle)X=function(E,B){var C=null;if(B=="float")B="cssFloat";var D=E.ownerDocument.defaultView.getComputedStyle(E,"");if(D)C=D[U(B)];return E.style[B]||C};
else if(V.documentElement.currentStyle&&b)X=function(F,D){switch(U(D)){case "opacity":var B=100;try{B=F.filters["DXImageTransform.Microsoft.Alpha"].opacity}catch(C){try{B=F.filters("alpha").opacity}catch(C){}}return B/100;case "float":D="styleFloat";default:var E=F.currentStyle?F.currentStyle[D]:null;return F.style[D]||E}};else X=function(C,B){return C.style[B]};if(b)Z=function(D,C,B){switch(C){case "opacity":if(A.lang.isString(D.style.filter)){D.style.filter="alpha(opacity="+B*100+")";if(!D.currentStyle||
!D.currentStyle.hasLayout)D.style.zoom=1}break;case "float":C="styleFloat";default:D.style[C]=B}};else Z=function(D,C,B){if(C=="float")C="cssFloat";D.style[C]=B};var P=function(C,B){return C&&C.nodeType==1&&(!B||B(C))};A.util.Dom={get:function(C){if(C&&(C.nodeType||C.item))return C;if(A.lang.isString(C)||!C)return V.getElementById(C);if(C.length!==undefined){var B=[];for(var D=0,E=C.length;D<E;++D)B[B.length]=R.Dom.get(C[D]);return B}return C},getStyle:function(D,B){B=U(B);var C=function(E){return X(E,
B)};return R.Dom.batch(D,C,R.Dom,true)},setStyle:function(E,C,B){C=U(C);var D=function(F){Z(F,C,B)};R.Dom.batch(E,D,R.Dom,true)},getXY:function(C){var B=function(D){if((D.parentNode===null||D.offsetParent===null||this.getStyle(D,"display")=="none")&&D!=D.ownerDocument.body)return false;return a(D)};return R.Dom.batch(C,B,R.Dom,true)},getX:function(C){var B=function(D){return R.Dom.getXY(D)[0]};return R.Dom.batch(C,B,R.Dom,true)},getY:function(C){var B=function(D){return R.Dom.getXY(D)[1]};return R.Dom.batch(C,
B,R.Dom,true)},setXY:function(E,B,C){var D=function(G){var H=this.getStyle(G,"position");if(H=="static"){this.setStyle(G,"position","relative");H="relative"}var J=this.getXY(G);if(J===false)return false;var F=[parseInt(this.getStyle(G,"left"),10),parseInt(this.getStyle(G,"top"),10)];if(isNaN(F[0]))F[0]=H=="relative"?0:G.offsetLeft;if(isNaN(F[1]))F[1]=H=="relative"?0:G.offsetTop;if(B[0]!==null)G.style.left=B[0]-J[0]+F[0]+"px";if(B[1]!==null)G.style.top=B[1]-J[1]+F[1]+"px";if(!C){var I=this.getXY(G);
if(B[0]!==null&&I[0]!=B[0]||B[1]!==null&&I[1]!=B[1])this.setXY(G,B,true)}};R.Dom.batch(E,D,R.Dom,true)},setX:function(B,C){R.Dom.setXY(B,[C,null])},setY:function(C,B){R.Dom.setXY(C,[null,B])},getRegion:function(C){var B=function(E){if((E.parentNode===null||E.offsetParent===null||this.getStyle(E,"display")=="none")&&E!=E.ownerDocument.body)return false;var D=R.Region.getRegion(E);return D};return R.Dom.batch(C,B,R.Dom,true)},getClientWidth:function(){return R.Dom.getViewportWidth()},getClientHeight:function(){return R.Dom.getViewportHeight()},
getElementsByClassName:function(F,B,E,D){B=B||"*";E=E?R.Dom.get(E):null||V;if(!E)return[];var I=[],J=E.getElementsByTagName(B),C=T(F);for(var H=0,G=J.length;H<G;++H)if(C.test(J[H].className)){I[I.length]=J[H];if(D)D.call(J[H],J[H])}return I},hasClass:function(C,D){var E=T(D);var B=function(F){return E.test(F.className)};return R.Dom.batch(C,B,R.Dom,true)},addClass:function(C,D){var B=function(E){if(this.hasClass(E,D))return false;E.className=A.lang.trim([E.className,D].join(" "));return true};return R.Dom.batch(C,
B,R.Dom,true)},removeClass:function(C,D){var E=T(D);var B=function(G){if(!D||!this.hasClass(G,D))return false;var F=G.className;G.className=F.replace(E," ");if(this.hasClass(G,D))this.removeClass(G,D);G.className=A.lang.trim(G.className);return true};return R.Dom.batch(C,B,R.Dom,true)},replaceClass:function(C,E,F){if(!F||E===F)return false;var D=T(E);var B=function(G){if(!this.hasClass(G,E)){this.addClass(G,F);return true}G.className=G.className.replace(D," "+F+" ");if(this.hasClass(G,E))this.replaceClass(G,
E,F);G.className=A.lang.trim(G.className);return true};return R.Dom.batch(C,B,R.Dom,true)},generateId:function(D,B){B=B||"yui-gen";var C=function(F){if(F&&F.id)return F.id;var E=B+A.env._id_counter++;if(F)F.id=E;return E};return R.Dom.batch(D,C,R.Dom,true)||C.apply(R.Dom,arguments)},isAncestor:function(C,B){C=R.Dom.get(C);B=R.Dom.get(B);if(!C||!B)return false;if(C.contains&&B.nodeType&&!W)return C.contains(B);else if(C.compareDocumentPosition&&B.nodeType)return!!(C.compareDocumentPosition(B)&16);
else if(B.nodeType)return!!this.getAncestorBy(B,function(D){return D==C});return false},inDocument:function(B){return this.isAncestor(V.documentElement,B)},getElementsBy:function(B,H,G,E){H=H||"*";G=G?R.Dom.get(G):null||V;if(!G)return[];var F=[],C=G.getElementsByTagName(H);for(var D=0,I=C.length;D<I;++D)if(B(C[D])){F[F.length]=C[D];if(E)E(C[D])}return F},batch:function(E,B,C,G){E=E&&(E.tagName||E.item)?E:R.Dom.get(E);if(!E||!B)return false;var F=G?C:window;if(E.tagName||E.length===undefined)return B.call(F,
E,C);var D=[];for(var H=0,I=E.length;H<I;++H)D[D.length]=B.call(F,E[H],C);return D},getDocumentHeight:function(){var B=V.compatMode!="CSS1Compat"?V.body.scrollHeight:V.documentElement.scrollHeight;var C=Math.max(B,R.Dom.getViewportHeight());return C},getDocumentWidth:function(){var B=V.compatMode!="CSS1Compat"?V.body.scrollWidth:V.documentElement.scrollWidth;var C=Math.max(B,R.Dom.getViewportWidth());return C},getViewportHeight:function(){var C=self.innerHeight;var B=V.compatMode;if((B||b)&&!Q)C=
B=="CSS1Compat"?V.documentElement.clientHeight:V.body.clientHeight;return C},getViewportWidth:function(){var C=self.innerWidth;var B=V.compatMode;if(B||b)C=B=="CSS1Compat"?V.documentElement.clientWidth:V.body.clientWidth;return C},getAncestorBy:function(C,B){while(C=C.parentNode)if(P(C,B))return C;return null},getAncestorByClassName:function(C,D){C=R.Dom.get(C);if(!C)return null;var B=function(E){return R.Dom.hasClass(E,D)};return R.Dom.getAncestorBy(C,B)},getAncestorByTagName:function(C,D){C=R.Dom.get(C);
if(!C)return null;var B=function(E){return E.tagName&&E.tagName.toUpperCase()==D.toUpperCase()};return R.Dom.getAncestorBy(C,B)},getPreviousSiblingBy:function(C,B){while(C){C=C.previousSibling;if(P(C,B))return C}return null},getPreviousSibling:function(B){B=R.Dom.get(B);if(!B)return null;return R.Dom.getPreviousSiblingBy(B)},getNextSiblingBy:function(C,B){while(C){C=C.nextSibling;if(P(C,B))return C}return null},getNextSibling:function(B){B=R.Dom.get(B);if(!B)return null;return R.Dom.getNextSiblingBy(B)},
getFirstChildBy:function(D,B){var C=P(D.firstChild,B)?D.firstChild:null;return C||R.Dom.getNextSiblingBy(D.firstChild,B)},getFirstChild:function(C,B){C=R.Dom.get(C);if(!C)return null;return R.Dom.getFirstChildBy(C)},getLastChildBy:function(D,B){if(!D)return null;var C=P(D.lastChild,B)?D.lastChild:null;return C||R.Dom.getPreviousSiblingBy(D.lastChild,B)},getLastChild:function(B){B=R.Dom.get(B);return R.Dom.getLastChildBy(B)},getChildrenBy:function(D,B){var C=R.Dom.getFirstChildBy(D,B);var E=C?[C]:
[];R.Dom.getNextSiblingBy(C,function(F){if(!B||B(F))E[E.length]=F;return false});return E},getChildren:function(B){B=R.Dom.get(B);if(!B);return R.Dom.getChildrenBy(B)},getDocumentScrollLeft:function(B){B=B||V;return Math.max(B.documentElement.scrollLeft,B.body.scrollLeft)},getDocumentScrollTop:function(B){B=B||V;return Math.max(B.documentElement.scrollTop,B.body.scrollTop)},insertBefore:function(B,C){B=R.Dom.get(B);C=R.Dom.get(C);if(!B||!C||!C.parentNode)return null;return C.parentNode.insertBefore(B,
C)},insertAfter:function(B,C){B=R.Dom.get(B);C=R.Dom.get(C);if(!B||!C||!C.parentNode)return null;if(C.nextSibling)return C.parentNode.insertBefore(B,C.nextSibling);else return C.parentNode.appendChild(B)},getClientRegion:function(){var C=R.Dom.getDocumentScrollTop(),D=R.Dom.getDocumentScrollLeft(),B=R.Dom.getViewportWidth()+D,E=R.Dom.getViewportHeight()+C;return new R.Region(C,B,E,D)}};var a=function(){if(V.documentElement.getBoundingClientRect)return function(C){var B=C.getBoundingClientRect();var D=
C.ownerDocument;return[B.left+R.Dom.getDocumentScrollLeft(D),B.top+R.Dom.getDocumentScrollTop(D)]};else return function(C){var B=[C.offsetLeft,C.offsetTop];var D=C.offsetParent;var E=W&&R.Dom.getStyle(C,"position")=="absolute"&&C.offsetParent==C.ownerDocument.body;if(D!=C)while(D){B[0]+=D.offsetLeft;B[1]+=D.offsetTop;if(!E&&W&&R.Dom.getStyle(D,"position")=="absolute")E=true;D=D.offsetParent}if(E){B[0]-=C.ownerDocument.body.offsetLeft;B[1]-=C.ownerDocument.body.offsetTop}D=C.parentNode;while(D.tagName&&
!d.ROOT_TAG.test(D.tagName)){if(D.scrollTop||D.scrollLeft)if(!d.OP_SCROLL.test(R.Dom.getStyle(D,"display")))if(!Q||R.Dom.getStyle(D,"overflow")!=="visible"){B[0]-=D.scrollLeft;B[1]-=D.scrollTop}D=D.parentNode}return B}}()})();A.util.Region=function(G,F,E,H){this.top=G;this[1]=G;this.right=F;this.bottom=E;this.left=H;this[0]=H};A.util.Region.prototype.contains=function(B){return B.left>=this.left&&B.right<=this.right&&B.top>=this.top&&B.bottom<=this.bottom};A.util.Region.prototype.getArea=function(){return(this.bottom-
this.top)*(this.right-this.left)};A.util.Region.prototype.intersect=function(G){var I=Math.max(this.top,G.top);var H=Math.min(this.right,G.right);var F=Math.min(this.bottom,G.bottom);var J=Math.max(this.left,G.left);if(F>=I&&H>=J)return new A.util.Region(I,H,F,J);else return null};A.util.Region.prototype.union=function(G){var I=Math.min(this.top,G.top);var H=Math.max(this.right,G.right);var F=Math.max(this.bottom,G.bottom);var J=Math.min(this.left,G.left);return new A.util.Region(I,H,F,J)};A.util.Region.prototype.toString=
function(){return"Region {top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}"};A.util.Region.getRegion=function(J){var H=A.util.Dom.getXY(J);var K=H[1];var I=H[0]+J.offsetWidth;var G=H[1]+J.offsetHeight;var L=H[0];return new A.util.Region(K,I,G,L)};A.util.Point=function(C,D){if(A.lang.isArray(C)){D=C[1];C=C[0]}this.x=this.right=this.left=this[0]=C;this.y=this.top=this.bottom=this[1]=D};A.util.Point.prototype=new A.util.Region;A.register("dom",A.util.Dom,{version:"2.5.2",
build:"1076"});A.util.CustomEvent=function(H,J,I,F){this.type=H;this.scope=J||window;this.silent=I;this.signature=F||A.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent);var G="_YUICEOnSubscribe";if(H!==G)this.subscribeEvent=new A.util.CustomEvent(G,this,true);this.lastError=null};A.util.CustomEvent.LIST=0;A.util.CustomEvent.FLAT=1;A.util.CustomEvent.prototype={subscribe:function(F,E,D){if(!F)throw new Error("Invalid callback for subscriber to '"+this.type+"'");if(this.subscribeEvent)this.subscribeEvent.fire(F,
E,D);this.subscribers.push(new A.util.Subscriber(F,E,D))},unsubscribe:function(J,H){if(!J)return this.unsubscribeAll();var I=false;for(var L=0,G=this.subscribers.length;L<G;++L){var K=this.subscribers[L];if(K&&K.contains(J,H)){this._delete(L);I=true}}return I},fire:function(){this.lastError=null;var T=[],Z=this.subscribers.length;if(!Z&&this.silent)return true;var V=[].slice.call(arguments,0),X=true,N,U=false;if(!this.silent);var O=this.subscribers.slice(),Q=A.util.Event.throwErrors;for(N=0;N<Z;++N){var R=
O[N];if(!R)U=true;else{if(!this.silent);var S=R.getScope(this.scope);if(this.signature==A.util.CustomEvent.FLAT){var P=null;if(V.length>0)P=V[0];try{X=R.fn.call(S,P,R.obj)}catch(Y){this.lastError=Y;if(Q)throw Y;}}else try{X=R.fn.call(S,this.type,V,R.obj)}catch(W){this.lastError=W;if(Q)throw W;}if(false===X){if(!this.silent);break}}}return X!==false},unsubscribeAll:function(){for(var B=this.subscribers.length-1;B>-1;B--)this._delete(B);this.subscribers=[];return B},_delete:function(C){var D=this.subscribers[C];
if(D){delete D.fn;delete D.obj}this.subscribers.splice(C,1)},toString:function(){return"CustomEvent: '"+this.type+"', scope: "+this.scope}};A.util.Subscriber=function(F,E,D){this.fn=F;this.obj=A.lang.isUndefined(E)?null:E;this.override=D};A.util.Subscriber.prototype.getScope=function(B){if(this.override)if(this.override===true)return this.obj;else return this.override;return B};A.util.Subscriber.prototype.contains=function(C,D){if(D)return this.fn==C&&this.obj==D;else return this.fn==C};A.util.Subscriber.prototype.toString=
function(){return"Subscriber { obj: "+this.obj+", override: "+(this.override||"no")+" }"};if(!A.util.Event){A.util.Event=function(){var Q=false;var P=[];var O=[];var R=[];var T=[];var L=0;var S=[];var M=[];var N=0;var K={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};return{POLL_RETRYS:2E3,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,lastError:null,isSafari:A.env.ua.webkit,webkit:A.env.ua.webkit,isIE:A.env.ua.ie,_interval:null,_dri:null,DOMReady:false,
throwErrors:false,startInterval:function(){if(!this._interval){var C=this;var B=function(){C._tryPreloadAttach()};this._interval=setInterval(B,this.POLL_INTERVAL)}},onAvailable:function(E,H,D,F,G){var C=A.lang.isString(E)?[E]:E;for(var B=0;B<C.length;B=B+1)S.push({id:C[B],fn:H,obj:D,override:F,checkReady:G});L=this.POLL_RETRYS;this.startInterval()},onContentReady:function(E,C,D,B){this.onAvailable(E,C,D,B,true)},onDOMReady:function(C,D,B){if(this.DOMReady)setTimeout(function(){var E=window;if(B)if(B===
true)E=D;else E=B;C.call(E,"DOMReady",[],D)},0);else this.DOMReadyEvent.subscribe(C,D,B)},addListener:function(c,e,E,J,d){if(!E||!E.call)return false;if(this._isValidCollection(c)){var D=true;for(var I=0,G=c.length;I<G;++I)D=this.on(c[I],e,E,J,d)&&D;return D}else if(A.lang.isString(c)){var Z=this.getEl(c);if(Z)c=Z;else{this.onAvailable(c,function(){A.util.Event.on(c,e,E,J,d)});return true}}if(!c)return false;if("unload"==e&&J!==this){O[O.length]=[c,e,E,J,d];return true}var B=c;if(d)if(d===true)B=
J;else B=d;var b=function(U){return E.call(B,A.util.Event.getEvent(U,c),J)};var C=[c,e,E,b,B,J,d];var H=P.length;P[H]=C;if(this.useLegacyEvent(c,e)){var a=this.getLegacyIndex(c,e);if(a==-1||c!=R[a][0]){a=R.length;M[c.id+e]=a;R[a]=[c,e,c["on"+e]];T[a]=[];c["on"+e]=function(U){A.util.Event.fireLegacyEvent(A.util.Event.getEvent(U),a)}}T[a].push(C)}else try{this._simpleAdd(c,e,b,false)}catch(F){this.lastError=F;this.removeListener(c,e,E);return false}return true},fireLegacyEvent:function(G,I){var E=true,
U,C,D,B,F;C=T[I].slice();for(var J=0,H=C.length;J<H;++J){D=C[J];if(D&&D[this.WFN]){B=D[this.ADJ_SCOPE];F=D[this.WFN].call(B,G);E=E&&F}}U=R[I];if(U&&U[2])U[2](G);return E},getLegacyIndex:function(B,D){var C=this.generateId(B)+D;if(typeof M[C]=="undefined")return-1;else return M[C]},useLegacyEvent:function(B,D){if(this.webkit&&("click"==D||"dblclick"==D)){var C=parseInt(this.webkit,10);if(!isNaN(C)&&C<418)return true}return false},removeListener:function(X,Y,D){var I,F,B;if(typeof X=="string")X=this.getEl(X);
else if(this._isValidCollection(X)){var C=true;for(I=X.length-1;I>-1;I--)C=this.removeListener(X[I],Y,D)&&C;return C}if(!D||!D.call)return this.purgeElement(X,false,Y);if("unload"==Y){for(I=O.length-1;I>-1;I--){B=O[I];if(B&&B[0]==X&&B[1]==Y&&B[2]==D){O.splice(I,1);return true}}return false}var H=null;var G=arguments[3];if("undefined"===typeof G)G=this._getCacheIndex(X,Y,D);if(G>=0)H=P[G];if(!X||!H)return false;if(this.useLegacyEvent(X,Y)){var J=this.getLegacyIndex(X,Y);var W=T[J];if(W)for(I=0,F=W.length;I<
F;++I){B=W[I];if(B&&B[this.EL]==X&&B[this.TYPE]==Y&&B[this.FN]==D){W.splice(I,1);break}}}else try{this._simpleRemove(X,Y,H[this.WFN],false)}catch(E){this.lastError=E;return false}delete P[G][this.WFN];delete P[G][this.FN];P.splice(G,1);return true},getTarget:function(D,B){var C=D.target||D.srcElement;return this.resolveTextNode(C)},resolveTextNode:function(B){try{if(B&&3==B.nodeType)return B.parentNode}catch(C){}return B},getPageX:function(B){var C=B.pageX;if(!C&&0!==C){C=B.clientX||0;if(this.isIE)C+=
this._getScrollLeft()}return C},getPageY:function(C){var B=C.pageY;if(!B&&0!==B){B=C.clientY||0;if(this.isIE)B+=this._getScrollTop()}return B},getXY:function(B){return[this.getPageX(B),this.getPageY(B)]},getRelatedTarget:function(B){var C=B.relatedTarget;if(!C)if(B.type=="mouseout")C=B.toElement;else if(B.type=="mouseover")C=B.fromElement;return this.resolveTextNode(C)},getTime:function(D){if(!D.time){var B=(new Date).getTime();try{D.time=B}catch(C){this.lastError=C;return B}}return D.time},stopEvent:function(B){this.stopPropagation(B);
this.preventDefault(B)},stopPropagation:function(B){if(B.stopPropagation)B.stopPropagation();else B.cancelBubble=true},preventDefault:function(B){if(B.preventDefault)B.preventDefault();else B.returnValue=false},getEvent:function(E,C){var B=E||window.event;if(!B){var D=this.getEvent.caller;while(D){B=D.arguments[0];if(B&&Event==B.constructor)break;D=D.caller}}return B},getCharCode:function(B){var C=B.keyCode||B.charCode||0;if(A.env.ua.webkit&&C in K)C=K[C];return C},_getCacheIndex:function(E,D,F){for(var G=
0,B=P.length;G<B;G=G+1){var C=P[G];if(C&&C[this.FN]==F&&C[this.EL]==E&&C[this.TYPE]==D)return G}return-1},generateId:function(C){var B=C.id;if(!B){B="yuievtautoid-"+N;++N;C.id=B}return B},_isValidCollection:function(B){try{return B&&typeof B!=="string"&&B.length&&!B.tagName&&!B.alert&&typeof B[0]!=="undefined"}catch(C){return false}},elCache:{},getEl:function(B){return typeof B==="string"?document.getElementById(B):B},clearCache:function(){},DOMReadyEvent:new A.util.CustomEvent("DOMReady",this),_load:function(B){if(!Q){Q=
true;var C=A.util.Event;C._ready();C._tryPreloadAttach()}},_ready:function(B){var C=A.util.Event;if(!C.DOMReady){C.DOMReady=true;C.DOMReadyEvent.fire();C._simpleRemove(document,"DOMContentLoaded",C._ready)}if(IS_PRINT_PREVIEW){YAHOO.util.Dom.setStyle("mapControl","width","675px");YAHOO.util.Dom.setStyle("mapControl","height","820px")}},_tryPreloadAttach:function(){if(S.length===0){L=0;clearInterval(this._interval);this._interval=null;return}if(this.locked)return;if(this.isIE)if(!this.DOMReady){this.startInterval();
return}this.locked=true;var E=!Q;if(!E)E=L>0&&S.length>0;var F=[];var D=function(V,J){var W=V;if(J.override)if(J.override===true)W=J.obj;else W=J.override;J.fn.call(W,J.obj)};var B,C,G,H,I=[];for(B=0,C=S.length;B<C;B=B+1){G=S[B];if(G){H=this.getEl(G.id);if(H)if(G.checkReady){if(Q||H.nextSibling||!E){I.push(G);S[B]=null}}else{D(H,G);S[B]=null}else F.push(G)}}for(B=0,C=I.length;B<C;B=B+1){G=I[B];D(this.getEl(G.id),G)}L--;if(E){for(B=S.length-1;B>-1;B--){G=S[B];if(!G||!G.id)S.splice(B,1)}this.startInterval()}else{clearInterval(this._interval);
this._interval=null}this.locked=false},purgeElement:function(G,F,D){var I=A.lang.isString(G)?this.getEl(G):G;var E=this.getListeners(I,D),H,C;if(E)for(H=E.length-1;H>-1;H--){var B=E[H];this.removeListener(I,B.type,B.fn)}if(F&&I&&I.childNodes)for(H=0,C=I.childNodes.length;H<C;++H)this.purgeElement(I.childNodes[H],F,D)},getListeners:function(I,U){var F=[],J;if(!U)J=[P,O];else if(U==="unload")J=[O];else J=[P];var D=A.lang.isString(I)?this.getEl(I):I;for(var G=0;G<J.length;G=G+1){var B=J[G];if(B)for(var E=
0,C=B.length;E<C;++E){var H=B[E];if(H&&H[this.EL]===D&&(!U||U===H[this.TYPE]))F.push({type:H[this.TYPE],fn:H[this.FN],obj:H[this.OBJ],adjust:H[this.OVERRIDE],scope:H[this.ADJ_SCOPE],index:E})}}return F.length?F:null},_unload:function(D){var J=A.util.Event,G,H,I,E,F,C=O.slice();for(G=0,E=O.length;G<E;++G){I=C[G];if(I){var B=window;if(I[J.ADJ_SCOPE])if(I[J.ADJ_SCOPE]===true)B=I[J.UNLOAD_OBJ];else B=I[J.ADJ_SCOPE];I[J.FN].call(B,J.getEvent(D,I[J.EL]),I[J.UNLOAD_OBJ]);C[G]=null;I=null;B=null}}O=null;
if(P){for(H=P.length-1;H>-1;H--){I=P[H];if(I)J.removeListener(I[J.EL],I[J.TYPE],I[J.FN],H)}I=null}R=null;J._simpleRemove(window,"unload",J._unload)},_getScrollLeft:function(){return this._getScroll()[1]},_getScrollTop:function(){return this._getScroll()[0]},_getScroll:function(){var C=document.documentElement,B=document.body;if(C&&(C.scrollTop||C.scrollLeft))return[C.scrollTop,C.scrollLeft];else if(B)return[B.scrollTop,B.scrollLeft];else return[0,0]},regCE:function(){},_simpleAdd:function(){if(window.addEventListener)return function(E,
D,B,C){E.addEventListener(D,B,C)};else if(window.attachEvent)return function(E,D,B,C){E.attachEvent("on"+D,B)};else return function(){}}(),_simpleRemove:function(){if(window.removeEventListener)return function(E,D,B,C){E.removeEventListener(D,B,C)};else if(window.detachEvent)return function(B,D,C){B.detachEvent("on"+D,C)};else return function(){}}()}}();(function(){var B=A.util.Event;B.on=B.addListener;if(B.isIE){A.util.Event.onDOMReady(A.util.Event._tryPreloadAttach,A.util.Event,true);var C=document.createElement("p");
B._dri=setInterval(function(){try{C.doScroll("left");clearInterval(B._dri);B._dri=null;B._ready();C=null}catch(D){}},B.POLL_INTERVAL)}else if(B.webkit&&B.webkit<525)B._dri=setInterval(function(){var D=document.readyState;if("loaded"==D||"complete"==D){clearInterval(B._dri);B._dri=null;B._ready()}},B.POLL_INTERVAL);else B._simpleAdd(document,"DOMContentLoaded",B._ready);B._simpleAdd(window,"load",B._load);B._simpleAdd(window,"unload",B._unload);B._tryPreloadAttach()})()}A.util.EventProvider=function(){};
A.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(G,K,H,I){this.__yui_events=this.__yui_events||{};var J=this.__yui_events[G];if(J)J.subscribe(K,H,I);else{this.__yui_subscribers=this.__yui_subscribers||{};var L=this.__yui_subscribers;if(!L[G])L[G]=[];L[G].push({fn:K,obj:H,override:I})}},unsubscribe:function(M,K,I){this.__yui_events=this.__yui_events||{};var H=this.__yui_events;if(M){var J=H[M];if(J)return J.unsubscribe(K,I)}else{var N=true;for(var L in H)if(A.lang.hasOwnProperty(H,
L))N=N&&H[L].unsubscribe(K,I);return N}return false},unsubscribeAll:function(B){return this.unsubscribe(B)},createEvent:function(P,J){this.__yui_events=this.__yui_events||{};var M=J||{};var N=this.__yui_events;if(N[P]);else{var O=M.scope||this;var R=M.silent;var L=new A.util.CustomEvent(P,O,R,A.util.CustomEvent.FLAT);N[P]=L;if(M.onSubscribeCallback)L.subscribeEvent.subscribe(M.onSubscribeCallback);this.__yui_subscribers=this.__yui_subscribers||{};var Q=this.__yui_subscribers[P];if(Q)for(var K=0;K<
Q.length;++K)L.subscribe(Q[K].fn,Q[K].obj,Q[K].override)}return N[P]},fireEvent:function(K,L,H,M){this.__yui_events=this.__yui_events||{};var I=this.__yui_events[K];if(!I)return null;var N=[];for(var J=1;J<arguments.length;++J)N.push(arguments[J]);return I.fire.apply(I,N)},hasEvent:function(B){if(this.__yui_events)if(this.__yui_events[B])return true;return false}};A.util.KeyListener=function(G,H,L,K){if(!G);else if(!H);else if(!L);if(!K)K=A.util.KeyListener.KEYDOWN;var J=new A.util.CustomEvent("keyPressed");
this.enabledEvent=new A.util.CustomEvent("enabled");this.disabledEvent=new A.util.CustomEvent("disabled");if(typeof G=="string")G=document.getElementById(G);if(typeof L=="function")J.subscribe(L);else J.subscribe(L.fn,L.scope,L.correctScope);function I(B,C){if(!H.shift)H.shift=false;if(!H.alt)H.alt=false;if(!H.ctrl)H.ctrl=false;if(B.shiftKey==H.shift&&B.altKey==H.alt&&B.ctrlKey==H.ctrl){var E;if(H.keys instanceof Array)for(var D=0;D<H.keys.length;D++){E=H.keys[D];if(E==B.charCode){J.fire(B.charCode,
B);break}else if(E==B.keyCode){J.fire(B.keyCode,B);break}}else{E=H.keys;if(E==B.charCode)J.fire(B.charCode,B);else if(E==B.keyCode)J.fire(B.keyCode,B)}}}this.enable=function(){if(!this.enabled){A.util.Event.addListener(G,K,I);this.enabledEvent.fire(H)}this.enabled=true};this.disable=function(){if(this.enabled){A.util.Event.removeListener(G,K,I);this.disabledEvent.fire(H)}this.enabled=false};this.toString=function(){return"KeyListener ["+H.keys+"] "+G.tagName+(G.id?"["+G.id+"]":"")}};A.util.KeyListener.KEYDOWN=
"keydown";A.util.KeyListener.KEYUP="keyup";A.util.KeyListener.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};A.register("event",A.util.Event,{version:"2.5.2",build:"1076"});A.register("yahoo-dom-event",A,{version:"2.5.2",build:"1076"})})();
(function(){var A=Lat49.YAHOO;(function(){var D=A.util;var C=function(H,I,G,B){if(!H);this.init(H,I,G,B)};C.NAME="Anim";C.prototype={toString:function(){var E=this.getEl()||{};var B=E.id||E.tagName;return this.constructor.NAME+": "+B},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(G,B,F){return this.method(this.currentFrame,B,
F-B,this.totalFrames)},setAttribute:function(G,B,F){if(this.patterns.noNegatives.test(G))B=B>0?B:0;D.Dom.setStyle(this.getEl(),G,B+F)},getAttribute:function(M){var K=this.getEl();var I=D.Dom.getStyle(K,M);if(I!=="auto"&&!this.patterns.offsetUnit.test(I))return parseFloat(I);var L=this.patterns.offsetAttribute.exec(M)||[];var B=!!L[3];var J=!!L[2];if(J||D.Dom.getStyle(K,"position")=="absolute"&&B)I=K["offset"+L[0].charAt(0).toUpperCase()+L[0].substr(1)];else I=0;return I},getDefaultUnit:function(B){if(this.patterns.defaultUnit.test(B))return"px";
return""},setRuntimeAttribute:function(N){var B;var M;var L=this.attributes;this.runtimeAttributes[N]={};var J=function(E){return typeof E!=="undefined"};if(!J(L[N]["to"])&&!J(L[N]["by"]))return false;B=J(L[N]["from"])?L[N]["from"]:this.getAttribute(N);if(J(L[N]["to"]))M=L[N]["to"];else if(J(L[N]["by"]))if(B.constructor==Array){M=[];for(var K=0,O=B.length;K<O;++K)M[K]=B[K]+L[N]["by"][K]*1}else M=B+L[N]["by"]*1;this.runtimeAttributes[N].start=B;this.runtimeAttributes[N].end=M;this.runtimeAttributes[N].unit=
J(L[N].unit)?L[N]["unit"]:this.getDefaultUnit(N);return true},init:function(U,P,Q,M){var B=false;var T=null;var R=0;U=D.Dom.get(U);this.attributes=P||{};this.duration=!A.lang.isUndefined(Q)?Q:1;this.method=M||D.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=D.AnimMgr.fps;this.setEl=function(E){U=D.Dom.get(E)};this.getEl=function(){return U};this.isAnimated=function(){return B};this.getStartTime=function(){return T};this.runtimeAttributes={};this.animate=function(){if(this.isAnimated())return false;
this.currentFrame=0;this.totalFrames=this.useSeconds?Math.ceil(D.AnimMgr.fps*this.duration):this.duration;if(this.duration===0&&this.useSeconds)this.totalFrames=1;D.AnimMgr.registerElement(this);return true};this.stop=function(E){if(!this.isAnimated())return false;if(E){this.currentFrame=this.totalFrames;this._onTween.fire()}D.AnimMgr.stop(this)};var N=function(){this.onStart.fire();this.runtimeAttributes={};for(var E in this.attributes)this.setRuntimeAttribute(E);B=true;R=0;T=new Date};var O=function(){var E=
{duration:new Date-this.getStartTime(),currentFrame:this.currentFrame};E.toString=function(){return"duration: "+E.duration+", currentFrame: "+E.currentFrame};this.onTween.fire(E);var F=this.runtimeAttributes;for(var G in F)this.setAttribute(G,this.doMethod(G,F[G].start,F[G].end),F[G].unit);R+=1};var S=function(){var F=(new Date-T)/1E3;var E={duration:F,frames:R,fps:R/F};E.toString=function(){return"duration: "+E.duration+", frames: "+E.frames+", fps: "+E.fps};B=false;R=0;this.onComplete.fire(E)};
this._onStart=new D.CustomEvent("_start",this,true);this.onStart=new D.CustomEvent("start",this);this.onTween=new D.CustomEvent("tween",this);this._onTween=new D.CustomEvent("_tween",this,true);this.onComplete=new D.CustomEvent("complete",this);this._onComplete=new D.CustomEvent("_complete",this,true);this._onStart.subscribe(N);this._onTween.subscribe(O);this._onComplete.subscribe(S)}};D.Anim=C})();A.util.AnimMgr=new function(){var I=null;var J=[];var F=0;this.fps=1E3;this.delay=1;this.registerElement=
function(B){J[J.length]=B;F+=1;B._onStart.fire();this.start()};this.unRegister=function(B,C){C=C||G(B);if(!B.isAnimated()||C==-1)return false;B._onComplete.fire();J.splice(C,1);F-=1;if(F<=0)this.stop();return true};this.start=function(){if(I===null)I=setInterval(this.run,this.delay)};this.stop=function(B){if(!B){clearInterval(I);for(var C=0,D=J.length;C<D;++C)this.unRegister(J[0],0);J=[];I=null;F=0}else this.unRegister(B)};this.run=function(){for(var B=0,D=J.length;B<D;++B){var C=J[B];if(!C||!C.isAnimated())continue;
if(C.currentFrame<C.totalFrames||C.totalFrames===null){C.currentFrame+=1;if(C.useSeconds)H(C);C._onTween.fire()}else A.util.AnimMgr.stop(C,B)}};var G=function(B){for(var C=0,D=J.length;C<D;++C)if(J[C]==B)return C;return-1};var H=function(L){var C=L.totalFrames;var D=L.currentFrame;var E=L.currentFrame*L.duration*1E3/L.totalFrames;var M=new Date-L.getStartTime();var B=0;if(M<L.duration*1E3)B=Math.round((M/E-1)*L.currentFrame);else B=C-(D+1);if(B>0&&isFinite(B)){if(L.currentFrame+B>=C)B=C-(D+1);L.currentFrame+=
B}}};A.util.Bezier=new function(){this.getPosition=function(I,J){var H=I.length;var K=[];for(var L=0;L<H;++L)K[L]=[I[L][0],I[L][1]];for(var G=1;G<H;++G)for(L=0;L<H-G;++L){K[L][0]=(1-J)*K[L][0]+J*K[parseInt(L+1,10)][0];K[L][1]=(1-J)*K[L][1]+J*K[parseInt(L+1,10)][1]}return[K[0][0],K[0][1]]}};(function(){var E=function(D,I,C,B){E.superclass.constructor.call(this,D,I,C,B)};E.NAME="ColorAnim";var G=A.util;A.extend(E,G.Anim);var F=E.superclass;var H=E.prototype;H.patterns.color=/color$/i;H.patterns.rgb=
/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;H.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;H.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;H.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;H.parseColor=function(C){if(C.length==3)return C;var B=this.patterns.hex.exec(C);if(B&&B.length==4)return[parseInt(B[1],16),parseInt(B[2],16),parseInt(B[3],16)];B=this.patterns.rgb.exec(C);if(B&&B.length==4)return[parseInt(B[1],10),parseInt(B[2],10),parseInt(B[3],10)];
B=this.patterns.hex3.exec(C);if(B&&B.length==4)return[parseInt(B[1]+B[1],16),parseInt(B[2]+B[2],16),parseInt(B[3]+B[3],16)];return null};H.getAttribute=function(I){var C=this.getEl();if(this.patterns.color.test(I)){var B=A.util.Dom.getStyle(C,I);if(this.patterns.transparent.test(B)){var D=C.parentNode;B=G.Dom.getStyle(D,I);while(D&&this.patterns.transparent.test(B)){D=D.parentNode;B=G.Dom.getStyle(D,I);if(D.tagName.toUpperCase()=="HTML")B="#fff"}}}else B=F.getAttribute.call(this,I);return B};H.doMethod=
function(L,B,K){var C;if(this.patterns.color.test(L)){C=[];for(var D=0,M=B.length;D<M;++D)C[D]=F.doMethod.call(this,L,B[D],K[D]);C="rgb("+Math.floor(C[0])+","+Math.floor(C[1])+","+Math.floor(C[2])+")"}else C=F.doMethod.call(this,L,B,K);return C};H.setRuntimeAttribute=function(L){F.setRuntimeAttribute.call(this,L);if(this.patterns.color.test(L)){var D=this.attributes;var B=this.parseColor(this.runtimeAttributes[L].start);var K=this.parseColor(this.runtimeAttributes[L].end);if(typeof D[L]["to"]==="undefined"&&
typeof D[L]["by"]!=="undefined"){K=this.parseColor(D[L].by);for(var C=0,M=B.length;C<M;++C)K[C]=B[C]+K[C]}this.runtimeAttributes[L].start=B;this.runtimeAttributes[L].end=K}};G.ColorAnim=E})();A.util.Easing={easeNone:function(H,E,F,G){return F*H/G+E},easeIn:function(H,E,F,G){return F*(H/=G)*H+E},easeOut:function(H,E,F,G){return-F*(H/=G)*(H-2)+E},easeBoth:function(H,E,F,G){if((H/=G/2)<1)return F/2*H*H+E;return-F/2*(--H*(H-2)-1)+E},easeInStrong:function(H,E,F,G){return F*(H/=G)*H*H*H+E},easeOutStrong:function(H,
E,F,G){return-F*((H=H/G-1)*H*H*H-1)+E},easeBothStrong:function(H,E,F,G){if((H/=G/2)<1)return F/2*H*H*H*H+E;return-F/2*((H-=2)*H*H*H-2)+E},elasticIn:function(M,H,I,J,N,K){if(M==0)return H;if((M/=J)==1)return H+I;if(!K)K=J*0.3;if(!N||N<Math.abs(I)){N=I;var L=K/4}else var L=K/(2*Math.PI)*Math.asin(I/N);return-(N*Math.pow(2,10*(M-=1))*Math.sin((M*J-L)*2*Math.PI/K))+H},elasticOut:function(M,H,I,J,N,K){if(M==0)return H;if((M/=J)==1)return H+I;if(!K)K=J*0.3;if(!N||N<Math.abs(I)){N=I;var L=K/4}else var L=
K/(2*Math.PI)*Math.asin(I/N);return N*Math.pow(2,-10*M)*Math.sin((M*J-L)*2*Math.PI/K)+I+H},elasticBoth:function(M,H,I,J,N,K){if(M==0)return H;if((M/=J/2)==2)return H+I;if(!K)K=J*0.3*1.5;if(!N||N<Math.abs(I)){N=I;var L=K/4}else var L=K/(2*Math.PI)*Math.asin(I/N);if(M<1)return-0.5*N*Math.pow(2,10*(M-=1))*Math.sin((M*J-L)*2*Math.PI/K)+H;return N*Math.pow(2,-10*(M-=1))*Math.sin((M*J-L)*2*Math.PI/K)*0.5+I+H},backIn:function(J,F,G,H,I){if(typeof I=="undefined")I=1.70158;return G*(J/=H)*J*((I+1)*J-I)+F},
backOut:function(J,F,G,H,I){if(typeof I=="undefined")I=1.70158;return G*((J=J/H-1)*J*((I+1)*J+I)+1)+F},backBoth:function(J,F,G,H,I){if(typeof I=="undefined")I=1.70158;if((J/=H/2)<1)return G/2*J*J*(((I*=1.525)+1)*J-I)+F;return G/2*((J-=2)*J*(((I*=1.525)+1)*J+I)+2)+F},bounceIn:function(H,E,F,G){return F-A.util.Easing.bounceOut(G-H,0,F,G)+E},bounceOut:function(H,E,F,G){if((H/=G)<1/2.75)return F*7.5625*H*H+E;else if(H<2/2.75)return F*(7.5625*(H-=1.5/2.75)*H+0.75)+E;else if(H<2.5/2.75)return F*(7.5625*
(H-=2.25/2.75)*H+0.9375)+E;return F*(7.5625*(H-=2.625/2.75)*H+0.984375)+E},bounceBoth:function(H,E,F,G){if(H<G/2)return A.util.Easing.bounceIn(H*2,0,F,G)*0.5+E;return A.util.Easing.bounceOut(H*2-G,0,F,G)*0.5+F*0.5+E}};(function(){var G=function(D,E,C,B){if(D)G.superclass.constructor.call(this,D,E,C,B)};G.NAME="Motion";var I=A.util;A.extend(G,I.ColorAnim);var H=G.superclass;var K=G.prototype;K.patterns.points=/^points$/i;K.setAttribute=function(D,B,C){if(this.patterns.points.test(D)){C=C||"px";H.setAttribute.call(this,
"left",B[0],C);H.setAttribute.call(this,"top",B[1],C)}else H.setAttribute.call(this,D,B,C)};K.getAttribute=function(C){if(this.patterns.points.test(C))var B=[H.getAttribute.call(this,"left"),H.getAttribute.call(this,"top")];else B=H.getAttribute.call(this,C);return B};K.doMethod=function(F,B,E){var C=null;if(this.patterns.points.test(F)){var D=this.method(this.currentFrame,0,100,this.totalFrames)/100;C=I.Bezier.getPosition(this.runtimeAttributes[F],D)}else C=H.doMethod.call(this,F,B,E);return C};
K.setRuntimeAttribute=function(B){if(this.patterns.points.test(B)){var T=this.getEl();var R=this.attributes;var U;var F=R.points["control"]||[];var S;var E,C;if(F.length>0&&!(F[0]instanceof Array))F=[F];else{var Q=[];for(E=0,C=F.length;E<C;++E)Q[E]=F[E];F=Q}if(I.Dom.getStyle(T,"position")=="static")I.Dom.setStyle(T,"position","relative");if(J(R.points["from"]))I.Dom.setXY(T,R.points["from"]);else I.Dom.setXY(T,I.Dom.getXY(T));U=this.getAttribute("points");if(J(R.points["to"])){S=L.call(this,R.points["to"],
U);var D=I.Dom.getXY(this.getEl());for(E=0,C=F.length;E<C;++E)F[E]=L.call(this,F[E],U)}else if(J(R.points["by"])){S=[U[0]+R.points["by"][0],U[1]+R.points["by"][1]];for(E=0,C=F.length;E<C;++E)F[E]=[U[0]+F[E][0],U[1]+F[E][1]]}this.runtimeAttributes[B]=[U];if(F.length>0)this.runtimeAttributes[B]=this.runtimeAttributes[B].concat(F);this.runtimeAttributes[B][this.runtimeAttributes[B].length]=S}else H.setRuntimeAttribute.call(this,B)};var L=function(D,B){var C=I.Dom.getXY(this.getEl());D=[D[0]-C[0]+B[0],
D[1]-C[1]+B[1]];return D};var J=function(B){return typeof B!=="undefined"};I.Motion=G})();(function(){var F=function(D,I,C,B){if(D)F.superclass.constructor.call(this,D,I,C,B)};F.NAME="Scroll";var H=A.util;A.extend(F,H.ColorAnim);var G=F.superclass;var E=F.prototype;E.doMethod=function(I,B,D){var C=null;if(I=="scroll")C=[this.method(this.currentFrame,B[0],D[0]-B[0],this.totalFrames),this.method(this.currentFrame,B[1],D[1]-B[1],this.totalFrames)];else C=G.doMethod.call(this,I,B,D);return C};E.getAttribute=
function(D){var B=null;var C=this.getEl();if(D=="scroll")B=[C.scrollLeft,C.scrollTop];else B=G.getAttribute.call(this,D);return B};E.setAttribute=function(I,B,C){var D=this.getEl();if(I=="scroll"){D.scrollLeft=B[0];D.scrollTop=B[1]}else G.setAttribute.call(this,I,B,C)};H.Scroll=F})();A.register("animation",A.util.Anim,{version:"2.5.2",build:"1076"})})();
Lat49AdPopup=function(K,g,D,F,p){var a=false;var B=false;var H=false;var G=true;var b;var A,j;var P;var e=typeof Lat49!="undefined"&&Lat49&&typeof Lat49.YAHOO!="undefined"&&Lat49.YAHOO?Lat49.YAHOO:YAHOO;var C=1;var J=0.5;var n=e.util.Easing.easeOutStrong;var R=e.util.Easing.easeInStrong;var Y=0.5;var f=false;var Z;var d;var S=new e.util.CustomEvent("animateOutEvent",this,true,e.util.CustomEvent.FLAT);T();this.setPopupDiv=W;this.popin=V;this.popout=E;this.subscribeToAnimateOutEvent=function(s,t,r){S.subscribe(s,
t,r)};this.get=function(){return d};this.destroy=function(){if(H)V(true);if(K!=null){K.onmouseover=null;K.onmouseout=null}if(Z!=null)Z.onclick=null;if(g!=null){g.onmouseover=null;g.onmouseout=null}if(Z!=null)Z=null;if(K!=null)K=null;if(d!=null)d=null};this.setAdPos=function(r){D=r;Lat49AdPopup.setPinnedPosition(K,D);Lat49AdPopup.setPinnedPosition(Z,D);Lat49AdPopup.setReversedPinnedPosition(g,D)};this.reset=function(){this.popin();this.setTransitionEnabled(true)};this.setTransitionEnabled=function(r){G=
r};this.setAnimationOutTime=function(r){C=r};this.setAnimationInTime=function(r){J=r};this.setMouseOverDelay=function(r){Y=r};this.setAnimationOutMethod=function(r){n=r};this.setAnimationInMethod=function(r){R=r};this.setDebugCallback=function(r){P=r};this.clearIntAdFormFields=function(){var t=this.get();if(t!=null){var r=t.getElementsByTagName("input");if(r.length>0)for(var s=0;s<r.length;s++)r[s].value=""}};function T(){d=document.createElement("div");Z=document.createElement("div");K.style.position=
"absolute";K.style.cursor="pointer";Z.style.position="absolute";Z.style.overflow="hidden";Lat49AdPopup.setPinnedPosition(K,D);Lat49AdPopup.setPinnedPosition(Z,D);O(Z);K.onmouseover=I;K.onmouseout=m;if(F){var r=function(){if(H)V(true)};Z.onclick=function(){if(H)V(true);window.open(F).focus()}}W(g);d.appendChild(K);d.appendChild(Z)}function W(r){if(g.parentNode==Z){g.onmouseover=null;g.onmouseout=null;Z.removeChild(g)}Lat49AdPopup.setReversedPinnedPosition(r,D);r.style.position="absolute";r.style.width=
"300px";r.style.height="250px";r.onmouseover=L;r.onmouseout=N;g=r}function o(){if(!f){if(g.innerHTML==""&&p)g.innerHTML=p;Z.appendChild(g)}f=true}function V(r){if(K!=null){G=typeof r=="undefined"?false:r;B=false;H=false;A.stop();j.stop();K.style.visibility="visible";Z.style.width="0px";Z.style.height="0px"}}function E(r){G=typeof r=="undefined"?false:r;o();H=true;A.stop();j.stop();K.style.visibility="hidden";Z.style.width="300px";Z.style.height="250px"}function h(){o();A.stop();j.animate();Lat49AdPopup.playFlashMovie();
S.fire(d);H=true;setTimeout(c,C*1E3)}function l(){Lat49AdPopup.playFlashMovie(1);B=false;if(H){j.stop();A.animate();H=false}}function U(r){if(P)P(r)}function O(r){j=new e.util.Anim(r,{width:{to:300},height:{to:250}});j.duration=C;j.method=n;j.onTween.subscribe(Q);A=new e.util.Anim(r,{width:{to:0},height:{to:0}});A.duration=J;A.method=R;A.onTween.subscribe(X)}function Q(r,s){if(s[0].currentFrame>C*1E3-C*500)K.style.visibility="hidden"}function X(r,s){if(s[0].currentFrame>J*1E3-J*500)K.style.visibility=
"visible"}function I(r){if(!G)return;if(!r&&event)r=event;a=true;b=setTimeout(function(){if(a&&!H)h()},Y*1E3)}function c(){if(!G)return;if(!B&&!a)l()}function m(r){if(!G)return;if(!r&&event)r=event;a=false;if(!H)clearTimeout(b)}function L(r){if(!G)return;if(!r&&event)r=event;if(!k(this,r))return;B=true}function N(r){if(!G)return;if(!r&&event)r=event;if(!q(this,r))return;l()}function k(s,r){if(s.contains&&r.fromElement)return!s.contains(r.fromElement);else if(r.relatedTarget)return!M(s,r.relatedTarget)}
function q(s,r){if(s.contains&&r.toElement)return!s.contains(r.toElement);else if(r.relatedTarget)return!M(s,r.relatedTarget)}function M(r,u){var s=false;do{if(s=r==u)break;try{u=u.parentNode}catch(t){return true}}while(u!=null);return s}};
Lat49AdPopup.setPinnedPosition=function(A,B){A.style.top=A.style.left=A.style.bottom=A.style.right="";if(B=="top-left"||B=="top-right")A.style.top="0px";if(B=="bottom-left"||B=="bottom-right")A.style.bottom="0px";if(B=="top-left"||B=="bottom-left")A.style.left="0px";if(B=="top-right"||B=="bottom-right")A.style.right="0px"};
Lat49AdPopup.setReversedPinnedPosition=function(A,B){A.style.top=A.style.left=A.style.bottom=A.style.right="";if(B=="top-left"||B=="top-right")A.style.bottom="0px";if(B=="bottom-left"||B=="bottom-right")A.style.top="0px";if(B=="top-left"||B=="bottom-left")A.style.right="0px";if(B=="top-right"||B=="bottom-right")A.style.left="0px"};
Lat49AdPopup.createImagePopup=function(D,C){var E=navigator.userAgent,B,H=-1;B=E.match(/MSIE\s([^;]*)/);if(B&&B[1])H=parseFloat(B[1]);var G=H>0&&H<7;var F=document.createElement("img");var A=G&&D.substr(D.length-3).toLowerCase()=="png";F.src=A?"http://lat49.com/lat49/blank.gif":D;if(A)F.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+D+"', sizingMethod='scale')";F.style.width="300px";F.style.height="250px";F.style.cursor="pointer";return F};
Lat49AdPopup.validateForm=function(F,B,E){var D=[];var A=false;for(var C=1;C<=B;C++)if(E[C-1]==1){D[C]=document.getElementById("finput"+C+"_"+F).value;if(D[C]==""){var H=document.getElementById("finput"+C+"_"+F);var G=document.getElementById("flabel"+C+"_"+F);H.className=H.className+" fInputErr";G.className=G.className+" fLabelErr";A=true}}return A};
Lat49AdPopup.submitForm=function(D,U,K,H,T,R,Q,P,O,M,J){if(!this.validateForm(D,U,P)){var G=document.getElementById("finput1_"+D);var F=document.getElementById("finput2_"+D);var C=document.getElementById("finput3_"+D);var B=G?this.addslashes(G.value):"";var A=F?this.addslashes(F.value):"";var W=C?this.addslashes(C.value):"";var N="['"+B+"','"+A+"','"+W+"']";var L="['"+T+"','"+R+"','"+Q+"']";var P=[];var I=document.getElementsByTagName("head")[0];var S=document.createElement("script");S.type="text/javascript";
var V=D;K=escape(K);H=escape(H);L=escape(L);N=escape(N);O=escape(O);var E="adid="+J+"&publisher="+M+"&number="+D+"&numfields="+U+"&headline="+K+"&emailto="+H+"&fieldlabels="+L+"&fieldvalues="+N+"&requiredfields="+P+"&url="+O+"&";S.id=V+"-script";S.src=Lat49.Ads.serverURL+"/sendInteractiveAdForm?"+E;I.appendChild(S)}};
Lat49AdPopup.interactiveFormResponse=function(B){if(B.responsecode=="0"){var A=document.getElementById("formContainer_"+B.number);A.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" border="0" class="standardTable"><tr><td class="standardCell" colspan="2" style="text-align:center;padding-top:40px"><strong>Thank you!</strong><br /> Your information has been sent.</td></tr><tr><td style="padding-top:50px"><p class="fplink"><a href="'+B.url+'" id="fpurl" target="_blank">Website</a></p></td></tr></table>'}};
Lat49AdPopup.addslashes=function(A){A=A.replace(/\'/g,"\\'");return A};
Lat49AdPopup.createFormPopup=function(C,X,S,P,F,a,M){var W=navigator.userAgent,T,A=-1;T=W.match(/MSIE\s([^;]*)/);if(T&&T[1])A=parseFloat(T[1]);var H=A>0&&A<7;var N=document.createElement("div");var Z=H&&C.substr(C.length-3).toLowerCase()=="png";N.src=Z?"http://lat49.com/lat49/blank.gif":C;if(Z)N.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+C+"', sizingMethod='scale')";N.style.width="300px";N.style.height="250px";N.style.zIndex="0";N.style.paddingTop=M?"60px":"";N.style.background=
"url('"+C+"') no-repeat";var D=[S.field1,S.field2,S.field3];var R="'"+S.field1+"'";var Q="'"+S.field2+"'";var O="'"+S.field3+"'";var K=[];if(S.field1req==1){D[0]=D[0]+"*";K[0]=1}if(S.field2req==1){D[1]=D[1]+"*";K[1]=1}if(S.field3req==1){D[2]=D[2]+"*";K[2]=1}var Y="["+K[0]+","+K[1]+","+K[2]+"]";N.innerHTML="";N.innerHTML+='<form name="iaf_'+S.number+'">';var E=typeof Lat49!="undefined"&&Lat49?Lat49.SERVER+"/lat49/v0.10/img/close_11x11.gif":Session.docroot+"/img/common/close_11x11.gif";var L=S.number;
var G=S.headline;var B=S.emailto;var b=S.numfields;fieldsHtml="";for(var V=1;V<=b;V++){var U="flabel"+V+"_"+L;var I="finput"+V+"_"+L;fieldsHtml+='<tr style="height:10px"><td class="standardCell" style="width:100px"><div id="'+U+'" class="flabel">'+D[V-1]+'</div></td><td class="standardCell" style="width:180px"><div class="finput"><input id="'+I+'" class="standardInput finput" type="text" value="" /></div></td></tr>'}var J=typeof a=="undefined"?"position:absolute; top: 0px; left:0px;":J;N.innerHTML+=
'<div style="'+J+'width:300px;height:178px;padding-top:2px;z-index:1;"><div id="popupform'+F+'" style="position:relative;float:right;padding:3px;cursor:pointer;'+(M?"margin-top:-60px":"")+'"><img src="'+E+'" /></div><div id="formContainer_'+L+'" style="height:176px;*height:178px;border: 1px #817e7e solid;'+(!M?"margin-top:60px;":"")+'padding: 10px 0px 0px 10px;background-color: #ffffff;"><table width="100%" cellpadding="0" cellspacing="0" border="0" class="standardTable"><tr><td class="standardCell" colspan="2"><div class="fheadline">'+
G+"</div></td></tr>"+fieldsHtml+'<tr><td class="standardCell"></td><td class="standardCell"><input type="image" style="margin-right: 5px; cursor: pointer;" class="button66x18" src="http://lat49.com/utilities/img/submit_66x18.gif" onclick="'+(M?"":"Lat49AdPopup.submitForm("+L+","+b+",'"+G+"','"+B+"',"+R+","+Q+","+O+","+Y+",'"+X+"',"+P+","+F+")")+'" onmousedown="this.src=\'http://lat49.com/utilities/img/submit_66x18_pressed.gif\'" onmouseup="this.src=\'http://lat49.com/utilities/img/submit_66x18.gif\'" onmouseout="this.src=\'http://lat49.com/utilities/img/submit_66x18.gif\'" alt=""/></td></tr><tr><td></td><td><p class="fplink"><a href="'+
X+'" id="fpurl" target="_blank">Website</a></p></td></tr><tr><td></td><td></td></tr></table></div></div>';N.innerHTML+="</form>";return N};Lat49AdPopup.createCustomPopup=function(A){var B=document.createElement("div");B.style.width="300px";B.style.height="250px";B.style.zIndex="99998";B.innerHTML=A;B.id="Lat49CustomAd";return B};
Lat49AdPopup.playFlashMovie=function(C){var A="Lat49FlashAdId";var E=null;var B=navigator.userAgent;if(B.indexOf("Mac")!=-1)return;if(navigator.appName.indexOf("Microsoft")!=-1)E=window[A];else E=window.document[A];if(!E)E=document.getElementById(A);if(E)try{if(C)E.StopPlay();else E.Play()}catch(D){}};var isIE=navigator.appVersion.indexOf("MSIE")!=-1?true:false;var isWin=navigator.appVersion.toLowerCase().indexOf("win")!=-1?true:false;var isOpera=navigator.userAgent.indexOf("Opera")!=-1?true:false;
function ControlVersion(){var version;var axo;var e;try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");version=axo.GetVariable("$version")}catch(e){}if(!version)try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version="WIN 6,0,21,0";axo.AllowScriptAccess="always";version=axo.GetVariable("$version")}catch(e){}if(!version)try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version=axo.GetVariable("$version")}catch(e){}if(!version)try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
version="WIN 3,0,18,0"}catch(e){}if(!version)try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");version="WIN 2,0,0,11"}catch(e){version=-1}return version}
function GetSwfVer(){var flashVer=-1;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var swVer2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;var descArray=flashDescription.split(" ");var tempArrayMajor=descArray[2].split(".");var versionMajor=tempArrayMajor[0];var versionMinor=tempArrayMajor[1];var versionRevision=descArray[3];
if(versionRevision=="")versionRevision=descArray[4];if(versionRevision[0]=="d")versionRevision=versionRevision.substring(1);else if(versionRevision[0]=="r"){versionRevision=versionRevision.substring(1);if(versionRevision.indexOf("d")>0)versionRevision=versionRevision.substring(0,versionRevision.indexOf("d"))}var flashVer=versionMajor+"."+versionMinor+"."+versionRevision}}else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6")!=-1)flashVer=4;else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5")!=
-1)flashVer=3;else if(navigator.userAgent.toLowerCase().indexOf("webtv")!=-1)flashVer=2;else if(isIE&&isWin&&!isOpera)flashVer=ControlVersion();return flashVer}
function DetectFlashVer(reqMajorVer,reqMinorVer,reqRevision){versionStr=GetSwfVer();if(versionStr==-1)return false;else if(versionStr!=0){if(isIE&&isWin&&!isOpera){tempArray=versionStr.split(" ");tempString=tempArray[1];versionArray=tempString.split(",")}else versionArray=versionStr.split(".");var versionMajor=versionArray[0];var versionMinor=versionArray[1];var versionRevision=versionArray[2];if(versionMajor>parseFloat(reqMajorVer))return true;else if(versionMajor==parseFloat(reqMajorVer))if(versionMinor>
parseFloat(reqMinorVer))return true;else if(versionMinor==parseFloat(reqMinorVer))if(versionRevision>=parseFloat(reqRevision))return true;return false}}function AC_AddExtension(src,ext){if(src.indexOf("?")!=-1)return src.replace(/\?/,ext+"?");else return src+ext}
function AC_Generateobj(objAttrs,params,embedAttrs){var strGetAdobeFlash='\t<a href="http://www.adobe.com/go/getflashplayer" target="_blank">\t\t<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" border="0" />\t</a>';var str="";if(isIE&&isWin&&!isOpera){str+="<object ";for(var i in objAttrs)str+=i+'="'+objAttrs[i]+'" ';str+=">";for(var i in params)str+='<param name="'+i+'" value="'+params[i]+'" /> ';str+=strGetAdobeFlash;str+="</object>"}else{str+=
"<embed ";for(var i in embedAttrs)str+=i+'="'+embedAttrs[i]+'" ';str+="> </embed>"}document.write(str)}function AC_FL_RunContent(){var ret=AC_GetArgs(arguments,".swf","movie","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash");AC_Generateobj(ret.objAttrs,ret.params,ret.embedAttrs)}function AC_SW_RunContent(){var ret=AC_GetArgs(arguments,".dcr","src","clsid:166B1BCA-3F9C-11CF-8075-444553540000",null);AC_Generateobj(ret.objAttrs,ret.params,ret.embedAttrs)}
function AC_GetArgs(args,ext,srcParamName,classid,mimeType){var ret=new Object;ret.embedAttrs=new Object;ret.params=new Object;ret.objAttrs=new Object;for(var i=0;i<args.length;i=i+2){var currArg=args[i].toLowerCase();switch(currArg){case "classid":break;case "pluginspage":ret.embedAttrs[args[i]]=args[i+1];break;case "src":case "movie":args[i+1]=AC_AddExtension(args[i+1],ext);ret.embedAttrs["src"]=args[i+1];ret.params[srcParamName]=args[i+1];break;case "onafterupdate":case "onbeforeupdate":case "onblur":case "oncellchange":case "onclick":case "ondblclick":case "ondrag":case "ondragend":case "ondragenter":case "ondragleave":case "ondragover":case "ondrop":case "onfinish":case "onfocus":case "onhelp":case "onmousedown":case "onmouseup":case "onmouseover":case "onmousemove":case "onmouseout":case "onkeypress":case "onkeydown":case "onkeyup":case "onload":case "onlosecapture":case "onpropertychange":case "onreadystatechange":case "onrowsdelete":case "onrowenter":case "onrowexit":case "onrowsinserted":case "onstart":case "onscroll":case "onbeforeeditfocus":case "onactivate":case "onbeforedeactivate":case "ondeactivate":case "type":case "codebase":case "id":ret.objAttrs[args[i]]=
args[i+1];break;case "width":case "height":case "align":case "vspace":case "hspace":case "class":case "title":case "accesskey":case "name":case "tabindex":ret.embedAttrs[args[i]]=ret.objAttrs[args[i]]=args[i+1];break;default:ret.embedAttrs[args[i]]=ret.params[args[i]]=args[i+1]}}ret.objAttrs["classid"]=classid;if(mimeType)ret.embedAttrs["type"]=mimeType;return ret};function returnElement(sContent){var objLocation;var sElement;if(document.getElementById)sElement="document.getElementById('"+sContent+"')";else if(document.all)sElement="document.all['"+sContent+"']";objLocation=eval(sElement);return objLocation}function showObject(objObject){objObject.style.display="block"}function hideObject(objObject){objObject.style.display="none"}
function collapse(sContent){var objCollapse=returnElement(sContent);var sControlHide=sContent+"_collapse";var sControlShow=sContent+"_expand";if(objCollapse){hideObject(objCollapse);var objControlShow=returnElement(sControlShow);var objControlHide=returnElement(sControlHide);if(objControlShow&&objControlHide){showObject(objControlShow);hideObject(objControlHide)}}}
function expand(sContent){var objExpand=returnElement(sContent);var sControlHide=sContent+"_expand";var sControlShow=sContent+"_collapse";if(objExpand){showObject(objExpand);var objControlShow=returnElement(sControlShow);var objControlHide=returnElement(sControlHide);if(objControlShow&&objControlHide){showObject(objControlShow);hideObject(objControlHide)}}}
function showPanel(x,y,sPanel,sText){if(sPanel!=""){var objPanel=returnElement(sPanel);if(objPanel){showObject(objPanel);YAHOO.util.Dom.setStyle(sPanel,"left",parseInt(x)+"px");YAHOO.util.Dom.setStyle(sPanel,"top",parseInt(y)+"px");if(sText!=null){var sTextArea=sPanel+"_text";var objText=returnElement(sTextArea);if(objText)objText.innerHTML=sText}}}}function hidePanel(sPanel){if(sPanel!=""){var objPanel=returnElement(sPanel);if(objPanel)hideObject(objPanel)}}
function returnBlank(sString){if(sString==undefined||sString==null)sString="";return sString}var g_bAlreadyGaveFireFox2PrintWarning=false;
function displayPrint(pDisplay){goToPrint(pDisplay);return;var printToken="print/?";if(pDisplay){if(window.location.toString().indexOf(printToken)!=-1)return;var tabCurrentLocation=window.location.toString().split("/");tabCurrentLocation[tabCurrentLocation.length-1]=printToken+tabCurrentLocation[tabCurrentLocation.length-1];window.open(tabCurrentLocation.join("/"),"_blank")}else window.location=window.location.toString().split(printToken).join("")}
function showPrintPanel(bGoToPrint){if(BrowserDetect.browser=="Firefox"&&BrowserDetect.version==2&&bGoToPrint&&!g_bAlreadyGaveFireFox2PrintWarning){var confDialog=new RMInputPanel(OK_DIALOG,"Print Preview","Directions may not print properly in your browser, FireFox 2. Please try with a different browser or upgrade to FireFox 3.",[goToPrint],null,bGoToPrint);g_bAlreadyGaveFireFox2PrintWarning=true}else goToPrint(bGoToPrint)}
function isActiveStyleSheet(title){var i,a;for(i=0;a=document.getElementsByTagName("link")[i];i++)if(a.getAttribute("rel").indexOf("style")!=-1&&a.getAttribute("title")==title&&!a.disabled)return true;return false}
function setActiveStyleSheet(type){var main;var oLinkTags=document.getElementsByTagName("link");for(var i=0;i<oLinkTags.length;i++){var a=oLinkTags[i];if(a.getAttribute("rel").indexOf("style")!=-1&&a.getAttribute("title"))if(type=="screen")if(a.getAttribute("title")=="preview_css"||a.getAttribute("title")=="preview_css_ie6")a.disabled=true;else{if(a.getAttribute("title")=="screen_css"||a.getAttribute("title")=="screen_css_ie6")a.disabled=false}else if(a.getAttribute("title")=="preview_css"||a.getAttribute("title")==
"preview_css_ie6")a.disabled=false;else if(a.getAttribute("title")=="screen_css"||a.getAttribute("title")=="screen_css_ie6")a.disabled=true}}
function resetStepMapDisplay(){var els=document.getElementsByTagName("div");var elsLen=els.length;var pattern_map_link=new RegExp("(^|\\s)step_exp_map_link(\\s|$)");var pattern_map_text=new RegExp("(^|\\s)step_exp_map(\\s|$)");var firstNode=true;var lastNode=null;for(i=0;i<elsLen;i++)if(pattern_map_link.test(els[i].className))if(firstNode){els[i].innerHTML="";firstNode=false}else{els[i].innerHTML="Show Step Map";lastNode=els[i]}else if(pattern_map_text.test(els[i].className))els[i].innerHTML="";if(null!=
lastNode)lastNode.innerHTML=""};function getURLParams(){var args=[];var query="";if(location.search.length>0)query=location.search.substring(1);if(location.href.indexOf("#")>-1){var parts=location.href.split("#");if(parts.length>=2){if(query.length>0)query+="&";parts.splice(0,1);query=parts.join("")}}var pairs=query.split("&");for(var i=0;i<pairs.length;i++){var pos=pairs[i].indexOf("=");if(pos===-1)continue;var argname=pairs[i].substring(0,pos);var value="";if(pos<pairs[i].length-1){value=pairs[i].substring(pos+1);value=value.replace(/\+/g,
" ")}if(args[argname]!==undefined){var array;if(typeof args[argname]=="object"){array=args[argname];array[array.length]=unescape(value)}else{array=[];array[0]=args[argname];array[1]=unescape(value);args[argname]=array}}else args[argname]=unescape(value)}return args};function sizeWholeWindow(){if(!isActiveStyleSheet("preview_css"))try{var nMinTotalWidth=945;var nRealWidth=YAHOO.util.Dom.getViewportWidth();var sWidth=nRealWidth;if(nRealWidth<nMinTotalWidth)sWidth=nMinTotalWidth;YAHOO.util.Dom.setX("dialog_email",sWidth-490);nWidthDiff=YAHOO.util.Dom.getXY("mapControl")[0]+2;nHeightDiff=YAHOO.util.Dom.getXY("mapControl")[1]+25;YAHOO.util.Dom.setStyle("mapControl","width",sWidth-nWidthDiff+"px");YAHOO.util.Dom.setStyle("mapControl","height",YAHOO.util.Dom.getViewportHeight()-
nHeightDiff+"px")}catch(e){}}
function sizeMapControl(){var nHeightDiff=182;var nWidthDiff=338;if(isIE7){nHeightDiff-=0;nWidthDiff+=3}else if(isIE6){nHeightDiff+=4;nWidthDiff+=3}else if(BrowserDetect.version="3")nWidthDiff+=17;nWidthDiff=YAHOO.util.Dom.getXY("mapControl")[0]+1;nHeightDiff=YAHOO.util.Dom.getXY("mapControl")[1]+80;YAHOO.util.Dom.setStyle("mapControl","width",YAHOO.util.Dom.getViewportWidth()-nWidthDiff+"px");YAHOO.util.Dom.setStyle("mapControl","height",YAHOO.util.Dom.getViewportHeight()-nHeightDiff+"px")}
window.onresize=sizeWholeWindow;var a=null;var scaleBar;var b=100;var customControl;var zoomControl;var zoomControlPrint;var myMap=null;var directionPanel=null;var singleLineBox=null;var poiPanel=null;var thisPage="index.html";function fncallback(ID){myMap.getOverlayObject("RMPolyline",ID).setColor("red")}function placemarkHandler(e,args){myMap._infoWindow.setLocation(args._latlonPoint,getWCS());myMap._infoWindow.setContentHTML(args.id);myMap._infoWindow.setVisible(true)}
function showtab(tabnum){if(!YAHOO.email.container||!YAHOO.email.container.dialog_email)return;var oScrollableDiv=document.getElementById("leftColumnContentScollableDiv");var tabs=[{div:"maps_dir",onactive:function(){YAHOO.email.container.dialog_email.setHeader("Share Directions by Email");RMUtils.getEl("hidMapType").value="route"}},{div:"find_place",onactive:function(){YAHOO.email.container.dialog_email.setHeader("Share Map by Email");RMUtils.getEl("hidMapType").value="map"}}];for(var i in tabs)if(document.getElementById(tabs[i].div).style.display==
"block"){LEFTCOLUMNSCROLLLEVEL[i]=oScrollableDiv.scrollTop;i=tabs.length}for(var x=0;x<tabs.length;x++)if(x==tabnum){YAHOO.util.Dom.setStyle(tabs[x].div,"display","block");tabs[x].onactive();oScrollableDiv.scrollTop=LEFTCOLUMNSCROLLLEVEL[x]}else YAHOO.util.Dom.setStyle(tabs[x].div,"display","none")}function activetab(){var tabs=["maps_dir","find_place"];for(var i in tabs)if(document.getElementById(tabs[i]).style.display!="none")return i;return-1}
function onWindowResize(){var tabsdiv=YAHOO.util.Selector.query(".tabs","master_control",true);if(IS_PRINT_PREVIEW){YAHOO.util.Dom.setStyle(tabsdiv,"height","auto");return}var vpheight=YAHOO.util.Dom.getViewportHeight();var h=vpheight-YAHOO.util.Dom.getY(tabsdiv);if(h<0)h=0;YAHOO.util.Dom.setStyle(tabsdiv,"height",h+"px")}
function buyWallMap(){var CUSTOMVIEW_URL="http://staging.randmcnally.com/rmc/custViewMaps/cvmStart.jsp";var viewportWidthInMiles=myMap.getMileSize().X;viewportWidthInMiles=Math.ceil(viewportWidthInMiles);var arrCustomViewMilesForZoom=[-1,68,61,49,37,16,15,12,11,10,9,7,6,5,4,2];var customViewZoomLevel=-1;for(var z=arrCustomViewMilesForZoom.length-1;z>=1;z--)if(arrCustomViewMilesForZoom[z]>viewportWidthInMiles){customViewZoomLevel=z;break}if(customViewZoomLevel==-1){alert("CustomView Wall Map is not available for the current map size.  Please zoom in or resize your browser window for a smaller size.");
return}if(customViewZoomLevel<6)customViewZoomLevel=6;else if(customViewZoomLevel>10)customViewZoomLevel=10;var centerLatLonPoint=myMap.tilesPanel.getViewportCenterLL();var nPaperWidthInches=30;var nPaperHeightInches=24;var imageWidth=YAHOO.util.Dom.getViewportWidth()-250;var imageHeight=Math.floor(imageWidth*nPaperHeightInches/nPaperWidthInches);var address=myMap.getCurrentAddress();if(address==null)address=new RMAddress("","","","");var custAddr=address.street;if(address.isAirport&&address.addressName&&
address.addressName!="")custAddr=address.addressName;var url=CUSTOMVIEW_URL+"?code=mresultscvm&SCInternal=mresultscvm&CVMID=RMC&cvmSkinType=CVM"+"&custAddr="+custAddr+"&custCity="+address.city+"&custState="+address.state+"&custZip="+address.zip+"&lat="+centerLatLonPoint.lat+"&lon="+centerLatLonPoint.lon+"&cmty=0&goToPPPage=true"+"&imageWidth="+imageWidth+"&imageHeight="+imageHeight+"&zoomLevel="+customViewZoomLevel;window.open(url,"","")}
function setBetaCookie(name,value,days,bKillOld){var expires="";if(days){var date=new Date;date.setTime(date.getTime()+days*24*60*60*1E3);expires="; expires="+date.toGMTString()}document.cookie=name+"="+value+expires+";domain=.randmcnally.com;path=/";if(bKillOld)document.cookie=name+"="+value+expires+"; path=/"}setBetaCookie("bUseBeta",true,-1,true);setBetaCookie("bUseBeta",true,30,false);
function switchToStandard(){setBetaCookie("bUseBeta",true,-1,false);MakeClientScriptURL("/home.jsp?SCInternal=retStdBeta")}
function processURLParams(){var poiParams=getURLParams();var poiString=poiParams["poi"];var locations=poiParams["loc"];var poiLocation=poiParams["poiloc"];var distanceFlag=poiParams["dist"];if(poiString||poiLocation){showtab(1);poiPanel.setSearchText(poiString);hideLabel(poiPanel._inputSearchTextbox,sDefaultFindPlace);if(poiLocation){poiPanel.setAddress(poiLocation);hideLabel(poiPanel._inputbox,sDefaultFindPlace)}var category=poiParams["cat"];if(category)saveSelectedCategory(category);poiPanel.queryServer.call(poiPanel)}else if(locations)if(typeof locations==
"string"){singleLineBox.setAddress(locations);hideLabel(singleLineBox._inputbox,sDefaultAddress);singleLineBox.doGeocodeHandler()}else if(locations.length&&locations.length>1){var locA=directionPanel.getWaypointPanelList()["location_a"];locA.setAddress(locations[0]);hideLabel(locA._inputbox,sDefaultAddress);var locB=directionPanel.getWaypointPanelList()["location_b"];locB.setAddress(locations[1]);hideLabel(locB._inputbox,sDefaultAddress);if(locations.length>2){var wpFactory=new WaypointFactory("rm_location_template");
for(var i=2;i<locations.length;i++){var charUpper=ALPH[i];var charLower=charUpper.toLowerCase();var loc=wpFactory.createWaypointPanel("location_"+charLower,charUpper);loc.setMap(myMap);loc.setAddress(locations[i]);hideLabel(loc._inputbox,sDefaultAddress);directionPanel.addWaypointPanel(loc)}}if(distanceFlag==="true")directionPanel.setRequestingDistance(true);setTimeout('directionPanel.resolveMapsDirCall(null,"","","",false,false)',100)}var sAdd=poiParams["add_stop"];if(sAdd!=""&&sAdd!=null)rearrangeWPPanels(sAdd,
"ADD")}function showLabel(objElement,sLabel){if(objElement.value==""){objElement.value=sLabel;YAHOO.util.Dom.addClass(objElement,"default_text")}}function hideLabel(objElement,sLabel){if(objElement.value==sLabel)objElement.value="";YAHOO.util.Dom.removeClass(objElement,"default_text")}var sDefaultAddress="Street, City, State, or Zip";var sDefaultFindPlace="Hilton or hotel";
function preparePOIFields(){var objForm=document.forms["poiform"];var objFieldAddress=objForm["txtPlaceAddress"];var objFieldPlace=objForm["txtPlace"];hideLabel(objFieldAddress,sDefaultAddress);hideLabel(objFieldPlace,sDefaultFindPlace)}var mouseOverActiveElement=false;$("#video_bubble").live("mouseenter",function(){mouseOverActiveElement=true}).live("mouseleave",function(){mouseOverActiveElement=false});$("html").click(function(){if(!mouseOverActiveElement)$("#video_bubble").hide()});
$("#exampleBaloon").live("mouseenter",function(){mouseOverActiveElement=true}).live("mouseleave",function(){mouseOverActiveElement=false});$("html").click(function(){if(!mouseOverActiveElement)$("#exampleBaloon").hide()});
var closePopups=function(e){try{var target=e&&e.target||e&&e.srcElement;var obj=RMUtils.getEl("error");var objAdvOpt=RMUtils.getEl("advanced");var objCatOpt=RMUtils.getEl("place_cats");var objRecentAddr=RMUtils.getEl("addresses");var objSaveAddr=RMUtils.getEl("save");var stepMap=RMUtils.getEl("mapControl_step_bot");if(target!=obj)obj.style.display="none";if(target!=objAdvOpt)if(objAdvOpt.style.display=="block"){objAdvOpt.style.display="none";grayOut(false)}if(target!=objCatOpt)objCatOpt.style.display=
"none";if(target!=objRecentAddr)objRecentAddr.style.display="none";if(target!=objSaveAddr)objSaveAddr.style.display="none";if(target!=stepMap)stepMap.style.display="none"}catch(e){}};
function closeAC(){var autocomplete_elements=YAHOO.util.Dom.getElementsByClassName("yui-ac-content");for(var i=0;i<autocomplete_elements.length;i++){var element=autocomplete_elements[i];element.style.display="none"}var autocomplete_elements=YAHOO.util.Dom.getElementsByClassName("yui-ac-shadow");for(var i=0;i<autocomplete_elements.length;i++){var element=autocomplete_elements[i];element.style.display="none"}}document.onmousedown=closePopups;document.onscroll=closeAC;
function changeCssState(pState,pHref){var isActive=pState&&true;var oHref=pHref;if(isActive)activateCssForHref(oHref);else disactivateCssForHref(oHref)}function changePrintCss(pActive){var oPrintCssName="print.css";changeCssState(pActive,oPrintCssName)}function activatePrintCss(){disactivateScreenCss();changePrintCss(true);IS_PRINT_PREVIEW=true}function disactivatePrintCss(){changePrintCss(false);activateScreenCss();IS_PRINT_PREVIEW=false;setTimeout("showTootlBar()",1)}
function showTootlBar(){var oToolbar=document.getElementById("toolbar");try{oToolbar.style.display="none";oToolbar.style.display="block"}catch(e){}}function changeScreenCss(pActive){var oScreenCssName="screen.css";changeCssState(pActive,oScreenCssName)}function activateScreenCss(){changeScreenCss(true)}function disactivateScreenCss(){changeScreenCss(false)}function togglePrintPageCss(){if(IS_PRINT_PREVIEW)disactivatePrintCss();else activatePrintCss()}var display_place_paging="none";
function goToPrint(pGoToPrint){var oMap=myMap;var oCenterLatLonPoint=oMap.getCenterPosition();var oMapControl=document.getElementById("mapControl");var oOriginalWidth=oMapControl.offsetWidth;var oPostModificationWidth,oDeltaWidth,oPanLength;var mapctrl=RMUtils.getEl("map_display");var masterctrl=RMUtils.getEl("master_control");var parent=mapctrl.parentNode;if(pGoToPrint){RMUtils.getEl("print_dir_chk").checked="true";RMUtils.getEl("print_map_chk").checked="true";RMUtils.getEl("print_ad_chk").checked=
"true";RMUtils.getEl("print_ad").style.display="block";activatePrintCss()}else{changeFont("0");mapctrl.style.display="block";masterctrl.style.display="block";disactivatePrintCss()}return;var zoomController=myMap.getZoomController();var currentZoom;if(zoomController)currentZoom=zoomController.getZoomLevel();else currentZoom=INIT_ZOOM_LEVEL;if(!bGoToPrint&&isActiveStyleSheet("preview_css")){IS_PRINT_PREVIEW=false;setActiveStyleSheet("screen");var arrLOCElements=YAHOO.util.Dom.getElementsByClassName("LOCATION_PRINT",
"div","mapControl",function(e){YAHOO.util.Dom.replaceClass(e,"LOCATION_PRINT","LOCATION")});var arrPOIElements=YAHOO.util.Dom.getElementsByClassName("POI_PRINT","div","mapControl",function(e){YAHOO.util.Dom.replaceClass(e,"POI_PRINT","POI")});var arrCUSElements=YAHOO.util.Dom.getElementsByClassName("CUSTOM_PRINT","div","mapControl",function(e){YAHOO.util.Dom.replaceClass(e,"CUSTOM_PRINT","CUSTOM")});expand("maps_dir_content");expand("maps_dir_footer");var objPlacePaging=YAHOO.util.Dom.get("place_paging");
if(objPlacePaging.innerHTML!="")YAHOO.util.Dom.setStyle("place_paging","display",display_place_paging);for(i=0;i<directionPanel.arrayOfWpDisplayOrder.length;i++){var panel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[i]];YAHOO.util.Dom.setStyle(panel.id,"display","block");var objTextInput=YAHOO.util.Dom.get(panel.id+"_waypointInputTxtBox");objTextInput.readOnly=false}sizeWholeWindow();var objPlaceInput=YAHOO.util.Dom.get("txtPlace");var objPlaceAddyInput=YAHOO.util.Dom.get("txtPlaceAddress");
objPlaceInput.readOnly=false;objPlaceAddyInput.readOnly=false}if(bGoToPrint&&isActiveStyleSheet("screen_css")){IS_PRINT_PREVIEW=true;var tabs=["maps_dir","find_place"];getHist().navigate("s","preview");setActiveStyleSheet("preview");var arrLOCElements=YAHOO.util.Dom.getElementsByClassName("LOCATION","div","mapControl",function(e){YAHOO.util.Dom.replaceClass(e,"LOCATION","LOCATION_PRINT")});var arrPOIElements=YAHOO.util.Dom.getElementsByClassName("POI","div","mapControl",function(e){YAHOO.util.Dom.replaceClass(e,
"POI","POI_PRINT")});var arrCUSElements=YAHOO.util.Dom.getElementsByClassName("CUSTOM","div","mapControl",function(e){YAHOO.util.Dom.replaceClass(e,"CUSTOM","CUSTOM_PRINT")});expand("maps_dir_content");expand("maps_dir_footer");var objPlacePaging=YAHOO.util.Dom.get("place_paging");if(objPlacePaging.innerHTML!=""){display_place_paging=YAHOO.util.Dom.getStyle("place_paging","display");YAHOO.util.Dom.setStyle("place_paging","display","none")}var nWaypoints=directionPanel.arrayOfWpDisplayOrder.length;
var arrActualLocs=directionPanel.getGeocodedLocationsArray();var nRealAddys=0;for(i=0;i<directionPanel.arrayOfWpDisplayOrder.length;i++){var panel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[i]];if(panel._geocodedAddress!=null)if(i!=directionPanel.arrayOfWpDisplayOrder.length-1){var nextPanel=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[i+1]];if(nextPanel._geocodedAddress!=null){expand(panel.id+"_segment_content");nRealAddys++}}var objTextInput=
YAHOO.util.Dom.get(panel.id+"_waypointInputTxtBox");objTextInput.readOnly=true}var objPlaceInput=YAHOO.util.Dom.get("txtPlace");var objPlaceAddyInput=YAHOO.util.Dom.get("txtPlaceAddress");objPlaceInput.readOnly=true;objPlaceAddyInput.readOnly=true;var nPrintMapHeight=820;if(nRealAddys<1)nPrintMapHeight=660;YAHOO.util.Dom.setStyle("page_header","width","675px")}YAHOO.email.container.dialog_email.cfg.setProperty("visible",false);YAHOO.util.Dom.setStyle(YAHOO.email.container.dialog_email.body,"height",
"");resetStepMapDisplay()}YAHOO.namespace("email.container");
function initEmailDialog(){var sThisForm="";var handleSubmit=function(){var arrButtons=[{text:"Send Email",handler:handleBlur,isDefault:true},{text:"Cancel",handler:handleCancel}];YAHOO.email.container.dialog_email.cfg.queueProperty("buttons",arrButtons);YAHOO.email.container.dialog_email.render();var data=this.getData();var hidEmailType=RMUtils.getEl("hidEmailType");var sEmailURL=getHist().getCurrentURL();var start=sEmailURL.search(/\?/);if(start>0){var end=sEmailURL.search(/\#/);if(end<0)end=sEmailURL.length;
sEmailURL=sEmailURL.substring(0,start)+sEmailURL.substring(end,sEmailURL.length)}var hidEmailData=RMUtils.getEl("hidData");var hidEmailURL=RMUtils.getEl("hidURL");var sMapLink="_________________________________________________\n\n ";var tab=activetab();if(tab==0||tab==1&&RMUtils.getEl("mainTab").style.display=="block")if(data.hidData==""||hidEmailType.value=="map"){if(document.getElementById("txtPlaceAddress").value!="Street, City, State, or Zip")sMapLink="View Map of "+document.getElementById("txtPlaceAddress").value+
"- \n";else sMapLink+=" View Map on Rand McNally Maps- \n";hidEmailData.value=(hidEmailData.directions==null?"":hidEmailData.directions)+sMapLink;hidEmailType.value="map"}else{sMapLink+=" View these directions on Rand McNally Maps- \n";var sEmailData=hidEmailData.directions;sEmailData+=sMapLink;hidEmailData.value=sEmailData;hidEmailType.value="route"}else{var index=sEmailURL.search(/[?#]/);if(index>0)sEmailURL=sEmailURL.substring(0,index);var poi=isTextBoxEmpty(poiPanel._inputSearchTextbox)?"":poiPanel._inputSearchTextbox.value;
var poiloc=isTextBoxEmpty(poiPanel._inputbox)?"":poiPanel._inputbox.value;var poicat=isTextBoxEmpty(poiPanel._newlySelectedCategory)?"":poiPanel._newlySelectedCategory.value;sEmailURL=sEmailURL+"?poi="+RMUtils.encodeURLParam(poi)+"&poiloc="+RMUtils.encodeURLParam(poiloc)+"&poicat="+RMUtils.encodeURLParam(poicat);hidEmailData.value=sMapLink}hidEmailURL.value=sEmailURL;if(RMUtils.getEl("txtRecipientEmail").value=="eg. someone@email.com")RMUtils.getEl("hidReciEmail").value="";else RMUtils.getEl("hidReciEmail").value=
RMUtils.getEl("txtRecipientEmail").value;if(RMUtils.getEl("txtSenderEmail").value=="ie. sender@email.com")RMUtils.getEl("hidSenderEmail").value="";else RMUtils.getEl("hidSenderEmail").value=RMUtils.getEl("txtSenderEmail").value;if(RMUtils.getEl("txtSenderComment").value=="Type an additional message to send")RMUtils.getEl("hidNotes").value="";else RMUtils.getEl("hidNotes").value=RMUtils.getEl("txtSenderComment").value;this.submit()};var handleCancel=function(){var arrButtons=[{text:"Send Email",handler:handleSubmit,
isDefault:true},{text:"Cancel",handler:handleCancel}];YAHOO.email.container.dialog_email.cfg.queueProperty("buttons",arrButtons);YAHOO.email.container.dialog_email.render();YAHOO.email.container.dialog_email.cancel()};var handleBlur=function(){this.blurButtons()};var handleOK=function(){var arrButtons=[{text:"Send Email",handler:handleSubmit,isDefault:true},{text:"Cancel",handler:handleCancel}];YAHOO.email.container.dialog_email.cfg.queueProperty("buttons",arrButtons);YAHOO.email.container.dialog_email.render();
YAHOO.util.Dom.setStyle("frm","display","block");YAHOO.util.Dom.setStyle("confirm","display","none");var txtRecipEmail=RMUtils.getEl("txtRecipientEmail");var txtSenderEmail=RMUtils.getEl("txtSenderEmail");var txtSenderSubject=RMUtils.getEl("txtSenderSubject");var txtSenderComment=RMUtils.getEl("txtSenderComment");txtRecipEmail.value="eg. someone@email.com";YAHOO.util.Dom.addClass(txtRecipEmail,"default_text");txtSenderEmail.value="ie. sender@email.com";YAHOO.util.Dom.addClass(txtSenderEmail,"default_text");
txtSenderSubject.value="";txtSenderComment.value="Type an additional message to send";YAHOO.util.Dom.addClass(txtSenderComment,"default_text");RMUtils.getEl("hidReciEmail").value="";RMUtils.getEl("hidSenderEmail").value="";RMUtils.getEl("hidNotes").value="";try{this.cancel()}catch(ignored){}};var handleSuccess=function(o){var response=o.responseText;response=response.split("<!")[0];response=eval("("+response+")");if(response.code!=0){YAHOO.util.Dom.setStyle("resp","display","block");document.getElementById("resp").innerHTML=
response.message;var arrButtons=[{text:"Send Email",handler:handleSubmit,isDefault:true},{text:"Cancel",handler:handleCancel}];YAHOO.email.container.dialog_email.cfg.queueProperty("buttons",arrButtons);YAHOO.email.container.dialog_email.render()}else{var arrButtons=[{text:"OK",handler:handleOK}];YAHOO.email.container.dialog_email.cfg.queueProperty("buttons",arrButtons);YAHOO.email.container.dialog_email.render();document.getElementById("resp").innerHTML="";YAHOO.util.Dom.setStyle("resp","display",
"none");YAHOO.util.Dom.setStyle("frm","display","none");YAHOO.util.Dom.setStyle("confirm","display","block");YAHOO.util.Dom.setStyle(YAHOO.email.container.dialog_email.body,"height","");document.getElementById("confirm").innerHTML=response.message}};var handleFailure=function(o){document.getElementById("resp").innerHTML="Submission failed: "+o.status};YAHOO.email.container.dialog_email=new YAHOO.widget.Dialog("dialog_email",{width:"35em",autofillheight:"body",fixedcenter:false,x:YAHOO.util.Dom.getViewportWidth()-
490,y:137,visible:false,close:false,zIndex:999,constraintoviewport:true,hideaftersubmit:false,buttons:[{text:"Send Email",handler:handleSubmit,isDefault:true},{text:"Cancel",handler:handleCancel}]});YAHOO.email.container.dialog_email.validate=function(){return true};YAHOO.email.container.dialog_email.callback={success:handleSuccess,failure:handleFailure};YAHOO.email.container.dialog_email.render();var openEmailDialog=function(event){handleOK();document.getElementById("resp").innerHTML="";YAHOO.util.Dom.setStyle("resp",
"display","none");var subject="";if(RMUtils.getEl("hidMapType").value=="map"){if(document.getElementById("txtPlaceAddress").value!="Street, City, State, or Zip")subject="Map of "+document.getElementById("txtPlaceAddress").value}else if(RMUtils.getEl("hidMapType").value=="route"){var end=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[directionPanel.arrayOfWpDisplayOrder.length-1]]._inputbox.value;var start=directionPanel.arrayOfWayPointPanel[directionPanel.arrayOfWpDisplayOrder[0]]._inputbox.value;
subject="Driving Directions from "+start+" to "+end}document.getElementById("txtSenderSubject").value=subject;YAHOO.email.container.dialog_email.show();YAHOO.util.Event.preventDefault(event);YAHOO.util.Event.stopPropagation(event);return false};var toggleEmaildialog=function(event){if(RMUtils.getEl("dialog_email_c").style.visibility=="visible")handleCancel(event);else openEmailDialog(event)};YAHOO.util.Event.addListener("link_email","click",toggleEmaildialog,YAHOO.email.container.dialog_email,true)}
YAHOO.util.Event.onDOMReady(homeInit);function toggleHeaderSubMenu(toggle,id){if(toggle=="true")document.getElementById(id).style.display="block";else document.getElementById(id).style.display="none"}
function togglePrintStepMap(segmentID,stepNum){var sLinkContainer=segmentID+"_step_link_"+stepNum;var objLinkContainer=RMUtils.getEl(sLinkContainer);var sMapContainer=segmentID+"_step_link_map_"+stepNum;var objMapContainer=RMUtils.getEl(sMapContainer);if(objMapContainer.style.display=="block"){objMapContainer.style.display="none";objLinkContainer.innerHTML="Show Step Map"}else{objMapContainer.style.display="block";objLinkContainer.innerHTML="Hide Step Map"}};function showPromotionalWidnow(){var oVitre=document.getElementById("vitre");var oPromotionalWindow=document.getElementById("promotionalWindow");var oInnerHeight=getInnerHeight();document.body.style.overflow="hidden";if(oPromotionalWindow.style.display=="none"){window.onresizeBackup=function(pFunction){return pFunction}(window.onresize);window.onresize=showPromotionalWidnow}oVitre.style.display="block";oPromotionalWindow.style.display="block";oVitre.style.position="absolute";oPromotionalWindow.style.position=
"absolute";oVitre.style.top=0;oVitre.style.left=0;oVitre.style.width=screen.width+"px";oVitre.style.height=screen.height+"px";oVitre.style.textAlign="center";oVitre.style.zIndex=1E3;var oPromotionalWindowLeft=(document.body.offsetWidth-oPromotionalWindow.offsetWidth)/2;var oPromotionalWindowTop=(oInnerHeight-oPromotionalWindow.offsetHeight)/2;if(oPromotionalWindowLeft<0)oPromtionalWindowLeft=0;if(oPromotionalWindowTop<0)oPromotionalWindowTop=0;oPromotionalWindow.style.left=oPromotionalWindowLeft.toString()+
"px";oPromotionalWindow.style.top=oPromotionalWindowTop.toString()+"px";oPromotionalWindow.style.opacity="1";oPromotionalWindow.style.zIndex=1001;oPromotionalWindow.style.textAlign="center"}
function hidePromotionalWindow(){var oVitre=document.getElementById("vitre");var oPromotionalWindow=document.getElementById("promotionalWindow");oVitre.style.display="none";oPromotionalWindow.style.display="none";document.body.style.overflow="auto";window.onresize=window.onresizeBackup;window.onresizeBackup=null}function getCookie(pCookieName){var oResults=document.cookie.match("(^|;) ?"+pCookieName+"=([^;]*)(;|$)");if(oResults)return unescape(oResults[2]);else return null}
function showPromotionalWindowIfFirstVisit(){var oCookieName="lastVisit";var oLastVisit=getCookie(oCookieName);var oNow=new Date;var oCookie=document.cookie;if(oLastVisit==null){showPromotionalWidnow();if(oCookie==null)oCookie="";else oCookie+=";"}else{var oCookies=oCookie.split(";");for(var i in oCookies)if(oCookies[i].indexOf(oCookieName+"=")==0){oCookies[i]=null;break}oCookie=oCookies.join(";").replace(/;;/g,";");if(oCookie===";")oCookie="";if(oCookie.length>0)oCookie+=","}document.cookie=oCookieName+
"="+escape(oNow.toUTCString())};(function($){var ver="2.88";if($.support==undefined)$.support={opacity:!$.browser.msie};function debug(s){if($.fn.cycle.debug)log(s)}function log(){if(window.console&&window.console.log)window.console.log("[cycle] "+Array.prototype.join.call(arguments," "))}$.fn.cycle=function(options,arg2){var o={s:this.selector,c:this.context};if(this.length===0&&options!="stop"){if(!$.isReady&&o.s){log("DOM not ready, queuing slideshow");$(function(){$(o.s,o.c).cycle(options,arg2)});return this}log("terminating; zero elements found by selector"+
($.isReady?"":" (DOM not ready)"));return this}return this.each(function(){var opts=handleArguments(this,options,arg2);if(opts===false)return;opts.updateActivePagerLink=opts.updateActivePagerLink||$.fn.cycle.updateActivePagerLink;if(this.cycleTimeout)clearTimeout(this.cycleTimeout);this.cycleTimeout=this.cyclePause=0;var $cont=$(this);var $slides=opts.slideExpr?$(opts.slideExpr,this):$cont.children();var els=$slides.get();if(els.length<2){log("terminating; too few slides: "+els.length);return}var opts2=
buildOptions($cont,$slides,els,opts,o);if(opts2===false)return;var startTime=opts2.continuous?10:getTimeout(els[opts2.currSlide],els[opts2.nextSlide],opts2,!opts2.rev);if(startTime){startTime+=opts2.delay||0;if(startTime<10)startTime=10;debug("first timeout: "+startTime);this.cycleTimeout=setTimeout(function(){go(els,opts2,0,!opts2.rev&&!opts.backwards)},startTime)}})};function handleArguments(cont,options,arg2){if(cont.cycleStop==undefined)cont.cycleStop=0;if(options===undefined||options===null)options=
{};if(options.constructor==String){switch(options){case "destroy":case "stop":var opts=$(cont).data("cycle.opts");if(!opts)return false;cont.cycleStop++;if(cont.cycleTimeout)clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;$(cont).removeData("cycle.opts");if(options=="destroy")destroy(opts);return false;case "toggle":cont.cyclePause=cont.cyclePause===1?0:1;checkInstantResume(cont.cyclePause,arg2,cont);return false;case "pause":cont.cyclePause=1;return false;case "resume":cont.cyclePause=0;checkInstantResume(false,
arg2,cont);return false;case "prev":case "next":var opts=$(cont).data("cycle.opts");if(!opts){log('options not found, "prev/next" ignored');return false}$.fn.cycle[options](opts);return false;default:options={fx:options}}return options}else if(options.constructor==Number){var num=options;options=$(cont).data("cycle.opts");if(!options){log("options not found, can not advance slide");return false}if(num<0||num>=options.elements.length){log("invalid slide index: "+num);return false}options.nextSlide=
num;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0}if(typeof arg2=="string")options.oneTimeFx=arg2;go(options.elements,options,1,num>=options.currSlide);return false}return options;function checkInstantResume(isPaused,arg2,cont){if(!isPaused&&arg2===true){var options=$(cont).data("cycle.opts");if(!options){log("options not found, can not resume");return false}if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0}go(options.elements,options,1,!opts.rev&&
!opts.backwards)}}}function removeFilter(el,opts){if(!$.support.opacity&&opts.cleartype&&el.style.filter)try{el.style.removeAttribute("filter")}catch(smother){}}function destroy(opts){if(opts.next)$(opts.next).unbind(opts.prevNextEvent);if(opts.prev)$(opts.prev).unbind(opts.prevNextEvent);if(opts.pager||opts.pagerAnchorBuilder)$.each(opts.pagerAnchors||[],function(){this.unbind().remove()});opts.pagerAnchors=null;if(opts.destroy)opts.destroy(opts)}function buildOptions($cont,$slides,els,options,o){var opts=
$.extend({},$.fn.cycle.defaults,options||{},$.metadata?$cont.metadata():$.meta?$cont.data():{});if(opts.autostop)opts.countdown=opts.autostopCount||els.length;var cont=$cont[0];$cont.data("cycle.opts",opts);opts.$cont=$cont;opts.stopCount=cont.cycleStop;opts.elements=els;opts.before=opts.before?[opts.before]:[];opts.after=opts.after?[opts.after]:[];opts.after.unshift(function(){opts.busy=0});if(!$.support.opacity&&opts.cleartype)opts.after.push(function(){removeFilter(this,opts)});if(opts.continuous)opts.after.push(function(){go(els,
opts,0,!opts.rev&&!opts.backwards)});saveOriginalOpts(opts);if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg)clearTypeFix($slides);if($cont.css("position")=="static")$cont.css("position","relative");if(opts.width)$cont.width(opts.width);if(opts.height&&opts.height!="auto")$cont.height(opts.height);if(opts.startingSlide)opts.startingSlide=parseInt(opts.startingSlide);else if(opts.backwards)opts.startingSlide=els.length-1;if(opts.random){opts.randomMap=[];for(var i=0;i<els.length;i++)opts.randomMap.push(i);
opts.randomMap.sort(function(a,b){return Math.random()-0.5});opts.randomIndex=1;opts.startingSlide=opts.randomMap[1]}else if(opts.startingSlide>=els.length)opts.startingSlide=0;opts.currSlide=opts.startingSlide||0;var first=opts.startingSlide;$slides.css({position:"absolute",top:0,left:0}).hide().each(function(i){var z;if(opts.backwards)z=first?i<=first?els.length+(i-first):first-i:els.length-i;else z=first?i>=first?els.length-(i-first):first-i:els.length-i;$(this).css("z-index",z)});$(els[first]).css("opacity",
1).show();removeFilter(els[first],opts);if(opts.fit&&opts.width)$slides.width(opts.width);if(opts.fit&&opts.height&&opts.height!="auto")$slides.height(opts.height);var reshape=opts.containerResize&&!$cont.innerHeight();if(reshape){var maxw=0,maxh=0;for(var j=0;j<els.length;j++){var $e=$(els[j]),e=$e[0],w=$e.outerWidth(),h=$e.outerHeight();if(!w)w=e.offsetWidth||e.width||$e.attr("width");if(!h)h=e.offsetHeight||e.height||$e.attr("height");maxw=w>maxw?w:maxw;maxh=h>maxh?h:maxh}if(maxw>0&&maxh>0)$cont.css({width:maxw+
"px",height:maxh+"px"})}if(opts.pause)$cont.hover(function(){this.cyclePause++},function(){this.cyclePause--});if(supportMultiTransitions(opts)===false)return false;var requeue=false;options.requeueAttempts=options.requeueAttempts||0;$slides.each(function(){var $el=$(this);this.cycleH=opts.fit&&opts.height?opts.height:$el.height()||this.offsetHeight||this.height||$el.attr("height")||0;this.cycleW=opts.fit&&opts.width?opts.width:$el.width()||this.offsetWidth||this.width||$el.attr("width")||0;if($el.is("img")){var loadingIE=
$.browser.msie&&this.cycleW==28&&this.cycleH==30&&!this.complete;var loadingFF=$.browser.mozilla&&this.cycleW==34&&this.cycleH==19&&!this.complete;var loadingOp=$.browser.opera&&(this.cycleW==42&&this.cycleH==19||this.cycleW==37&&this.cycleH==17)&&!this.complete;var loadingOther=this.cycleH==0&&this.cycleW==0&&!this.complete;if(loadingIE||loadingFF||loadingOp||loadingOther)if(o.s&&opts.requeueOnImageNotLoaded&&++options.requeueAttempts<100){log(options.requeueAttempts," - img slide not loaded, requeuing slideshow: ",
this.src,this.cycleW,this.cycleH);setTimeout(function(){$(o.s,o.c).cycle(options)},opts.requeueTimeout);requeue=true;return false}else log("could not determine size of image: "+this.src,this.cycleW,this.cycleH)}return true});if(requeue)return false;opts.cssBefore=opts.cssBefore||{};opts.animIn=opts.animIn||{};opts.animOut=opts.animOut||{};$slides.not(":eq("+first+")").css(opts.cssBefore);if(opts.cssFirst)$($slides[first]).css(opts.cssFirst);if(opts.timeout){opts.timeout=parseInt(opts.timeout);if(opts.speed.constructor==
String)opts.speed=$.fx.speeds[opts.speed]||parseInt(opts.speed);if(!opts.sync)opts.speed=opts.speed/2;var buffer=opts.fx=="shuffle"?500:250;while(opts.timeout-opts.speed<buffer)opts.timeout+=opts.speed}if(opts.easing)opts.easeIn=opts.easeOut=opts.easing;if(!opts.speedIn)opts.speedIn=opts.speed;if(!opts.speedOut)opts.speedOut=opts.speed;opts.slideCount=els.length;opts.currSlide=opts.lastSlide=first;if(opts.random){if(++opts.randomIndex==els.length)opts.randomIndex=0;opts.nextSlide=opts.randomMap[opts.randomIndex]}else if(opts.backwards)opts.nextSlide=
opts.startingSlide==0?els.length-1:opts.startingSlide-1;else opts.nextSlide=opts.startingSlide>=els.length-1?0:opts.startingSlide+1;if(!opts.multiFx){var init=$.fn.cycle.transitions[opts.fx];if($.isFunction(init))init($cont,$slides,opts);else if(opts.fx!="custom"&&!opts.multiFx){log("unknown transition: "+opts.fx,"; slideshow terminating");return false}}var e0=$slides[first];if(opts.before.length)opts.before[0].apply(e0,[e0,e0,opts,true]);if(opts.after.length>1)opts.after[1].apply(e0,[e0,e0,opts,
true]);if(opts.next)$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?-1:1)});if(opts.prev)$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?1:-1)});if(opts.pager||opts.pagerAnchorBuilder)buildPager(els,opts);exposeAddSlide(opts,els);return opts}function saveOriginalOpts(opts){opts.original={before:[],after:[]};opts.original.cssBefore=$.extend({},opts.cssBefore);opts.original.cssAfter=$.extend({},opts.cssAfter);opts.original.animIn=$.extend({},
opts.animIn);opts.original.animOut=$.extend({},opts.animOut);$.each(opts.before,function(){opts.original.before.push(this)});$.each(opts.after,function(){opts.original.after.push(this)})}function supportMultiTransitions(opts){var i,tx,txs=$.fn.cycle.transitions;if(opts.fx.indexOf(",")>0){opts.multiFx=true;opts.fxs=opts.fx.replace(/\s*/g,"").split(",");for(i=0;i<opts.fxs.length;i++){var fx=opts.fxs[i];tx=txs[fx];if(!tx||!txs.hasOwnProperty(fx)||!$.isFunction(tx)){log("discarding unknown transition: ",
fx);opts.fxs.splice(i,1);i--}}if(!opts.fxs.length){log("No valid transitions named; slideshow terminating.");return false}}else if(opts.fx=="all"){opts.multiFx=true;opts.fxs=[];for(p in txs){tx=txs[p];if(txs.hasOwnProperty(p)&&$.isFunction(tx))opts.fxs.push(p)}}if(opts.multiFx&&opts.randomizeEffects){var r1=Math.floor(Math.random()*20)+30;for(i=0;i<r1;i++){var r2=Math.floor(Math.random()*opts.fxs.length);opts.fxs.push(opts.fxs.splice(r2,1)[0])}debug("randomized fx sequence: ",opts.fxs)}return true}
function exposeAddSlide(opts,els){opts.addSlide=function(newSlide,prepend){var $s=$(newSlide),s=$s[0];if(!opts.autostopCount)opts.countdown++;els[prepend?"unshift":"push"](s);if(opts.els)opts.els[prepend?"unshift":"push"](s);opts.slideCount=els.length;$s.css("position","absolute");$s[prepend?"prependTo":"appendTo"](opts.$cont);if(prepend){opts.currSlide++;opts.nextSlide++}if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg)clearTypeFix($s);if(opts.fit&&opts.width)$s.width(opts.width);if(opts.fit&&
opts.height&&opts.height!="auto")$slides.height(opts.height);s.cycleH=opts.fit&&opts.height?opts.height:$s.height();s.cycleW=opts.fit&&opts.width?opts.width:$s.width();$s.css(opts.cssBefore);if(opts.pager||opts.pagerAnchorBuilder)$.fn.cycle.createPagerAnchor(els.length-1,s,$(opts.pager),els,opts);if($.isFunction(opts.onAddSlide))opts.onAddSlide($s);else $s.hide()}}$.fn.cycle.resetState=function(opts,fx){fx=fx||opts.fx;opts.before=[];opts.after=[];opts.cssBefore=$.extend({},opts.original.cssBefore);
opts.cssAfter=$.extend({},opts.original.cssAfter);opts.animIn=$.extend({},opts.original.animIn);opts.animOut=$.extend({},opts.original.animOut);opts.fxFn=null;$.each(opts.original.before,function(){opts.before.push(this)});$.each(opts.original.after,function(){opts.after.push(this)});var init=$.fn.cycle.transitions[fx];if($.isFunction(init))init(opts.$cont,$(opts.elements),opts)};function go(els,opts,manual,fwd){if(manual&&opts.busy&&opts.manualTrump){debug("manualTrump in go(), stopping active transition");
$(els).stop(true,true);opts.busy=false}if(opts.busy){debug("transition active, ignoring new tx request");return}var p=opts.$cont[0],curr=els[opts.currSlide],next=els[opts.nextSlide];if(p.cycleStop!=opts.stopCount||p.cycleTimeout===0&&!manual)return;if(!manual&&!p.cyclePause&&!opts.bounce&&(opts.autostop&&--opts.countdown<=0||opts.nowrap&&!opts.random&&opts.nextSlide<opts.currSlide)){if(opts.end)opts.end(opts);return}var changed=false;if((manual||!p.cyclePause)&&opts.nextSlide!=opts.currSlide){changed=
true;var fx=opts.fx;curr.cycleH=curr.cycleH||$(curr).height();curr.cycleW=curr.cycleW||$(curr).width();next.cycleH=next.cycleH||$(next).height();next.cycleW=next.cycleW||$(next).width();if(opts.multiFx){if(opts.lastFx==undefined||++opts.lastFx>=opts.fxs.length)opts.lastFx=0;fx=opts.fxs[opts.lastFx];opts.currFx=fx}if(opts.oneTimeFx){fx=opts.oneTimeFx;opts.oneTimeFx=null}$.fn.cycle.resetState(opts,fx);if(opts.before.length)$.each(opts.before,function(i,o){if(p.cycleStop!=opts.stopCount)return;o.apply(next,
[curr,next,opts,fwd])});var after=function(){$.each(opts.after,function(i,o){if(p.cycleStop!=opts.stopCount)return;o.apply(next,[curr,next,opts,fwd])})};debug("tx firing; currSlide: "+opts.currSlide+"; nextSlide: "+opts.nextSlide);opts.busy=1;if(opts.fxFn)opts.fxFn(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);else if($.isFunction($.fn.cycle[opts.fx]))$.fn.cycle[opts.fx](curr,next,opts,after,fwd,manual&&opts.fastOnEvent);else $.fn.cycle.custom(curr,next,opts,after,fwd,manual&&opts.fastOnEvent)}if(changed||
opts.nextSlide==opts.currSlide){opts.lastSlide=opts.currSlide;if(opts.random){opts.currSlide=opts.nextSlide;if(++opts.randomIndex==els.length)opts.randomIndex=0;opts.nextSlide=opts.randomMap[opts.randomIndex];if(opts.nextSlide==opts.currSlide)opts.nextSlide=opts.currSlide==opts.slideCount-1?0:opts.currSlide+1}else if(opts.backwards){var roll=opts.nextSlide-1<0;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=1;opts.currSlide=0}else{opts.nextSlide=roll?els.length-1:opts.nextSlide-
1;opts.currSlide=roll?0:opts.nextSlide+1}}else{var roll=opts.nextSlide+1==els.length;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=els.length-2;opts.currSlide=els.length-1}else{opts.nextSlide=roll?0:opts.nextSlide+1;opts.currSlide=roll?els.length-1:opts.nextSlide-1}}}if(changed&&opts.pager)opts.updateActivePagerLink(opts.pager,opts.currSlide,opts.activePagerClass);var ms=0;if(opts.timeout&&!opts.continuous)ms=getTimeout(els[opts.currSlide],els[opts.nextSlide],opts,fwd);else if(opts.continuous&&
p.cyclePause)ms=10;if(ms>0)p.cycleTimeout=setTimeout(function(){go(els,opts,0,!opts.rev&&!opts.backwards)},ms)}$.fn.cycle.updateActivePagerLink=function(pager,currSlide,clsName){$(pager).each(function(){$(this).children().removeClass(clsName).eq(currSlide).addClass(clsName)})};function getTimeout(curr,next,opts,fwd){if(opts.timeoutFn){var t=opts.timeoutFn.call(curr,curr,next,opts,fwd);while(t-opts.speed<250)t+=opts.speed;debug("calculated timeout: "+t+"; speed: "+opts.speed);if(t!==false)return t}return opts.timeout}
$.fn.cycle.next=function(opts){advance(opts,opts.rev?-1:1)};$.fn.cycle.prev=function(opts){advance(opts,opts.rev?1:-1)};function advance(opts,val){var els=opts.elements;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0}if(opts.random&&val<0){opts.randomIndex--;if(--opts.randomIndex==-2)opts.randomIndex=els.length-2;else if(opts.randomIndex==-1)opts.randomIndex=els.length-1;opts.nextSlide=opts.randomMap[opts.randomIndex]}else if(opts.random)opts.nextSlide=
opts.randomMap[opts.randomIndex];else{opts.nextSlide=opts.currSlide+val;if(opts.nextSlide<0){if(opts.nowrap)return false;opts.nextSlide=els.length-1}else if(opts.nextSlide>=els.length){if(opts.nowrap)return false;opts.nextSlide=0}}var cb=opts.onPrevNextEvent||opts.prevNextClick;if($.isFunction(cb))cb(val>0,opts.nextSlide,els[opts.nextSlide]);go(els,opts,1,val>=0);return false}function buildPager(els,opts){var $p=$(opts.pager);$.each(els,function(i,o){$.fn.cycle.createPagerAnchor(i,o,$p,els,opts)});
opts.updateActivePagerLink(opts.pager,opts.startingSlide,opts.activePagerClass)}$.fn.cycle.createPagerAnchor=function(i,el,$p,els,opts){var a;if($.isFunction(opts.pagerAnchorBuilder)){a=opts.pagerAnchorBuilder(i,el);debug("pagerAnchorBuilder("+i+", el) returned: "+a)}else a='<a href="#">'+(i+1)+"</a>";if(!a)return;var $a=$(a);if($a.parents("body").length===0){var arr=[];if($p.length>1){$p.each(function(){var $clone=$a.clone(true);$(this).append($clone);arr.push($clone[0])});$a=$(arr)}else $a.appendTo($p)}opts.pagerAnchors=
opts.pagerAnchors||[];opts.pagerAnchors.push($a);$a.bind(opts.pagerEvent,function(e){e.preventDefault();opts.nextSlide=i;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0}var cb=opts.onPagerEvent||opts.pagerClick;if($.isFunction(cb))cb(opts.nextSlide,els[opts.nextSlide]);go(els,opts,1,opts.currSlide<i)});if(!/^click/.test(opts.pagerEvent)&&!opts.allowPagerClickBubble)$a.bind("click.cycle",function(){return false});if(opts.pauseOnPagerHover)$a.hover(function(){opts.$cont[0].cyclePause++},
function(){opts.$cont[0].cyclePause--})};$.fn.cycle.hopsFromLast=function(opts,fwd){var hops,l=opts.lastSlide,c=opts.currSlide;if(fwd)hops=c>l?c-l:opts.slideCount-l;else hops=c<l?l-c:l+opts.slideCount-c;return hops};function clearTypeFix($slides){debug("applying clearType background-color hack");function hex(s){s=parseInt(s).toString(16);return s.length<2?"0"+s:s}function getBg(e){for(;e&&e.nodeName.toLowerCase()!="html";e=e.parentNode){var v=$.css(e,"background-color");if(v.indexOf("rgb")>=0){var rgb=
v.match(/\d+/g);return"#"+hex(rgb[0])+hex(rgb[1])+hex(rgb[2])}if(v&&v!="transparent")return v}return"#ffffff"}$slides.each(function(){$(this).css("background-color",getBg(this))})}$.fn.cycle.commonReset=function(curr,next,opts,w,h,rev){$(opts.elements).not(curr).hide();opts.cssBefore.opacity=1;opts.cssBefore.display="block";if(w!==false&&next.cycleW>0)opts.cssBefore.width=next.cycleW;if(h!==false&&next.cycleH>0)opts.cssBefore.height=next.cycleH;opts.cssAfter=opts.cssAfter||{};opts.cssAfter.display=
"none";$(curr).css("zIndex",opts.slideCount+(rev===true?1:0));$(next).css("zIndex",opts.slideCount+(rev===true?0:1))};$.fn.cycle.custom=function(curr,next,opts,cb,fwd,speedOverride){var $l=$(curr),$n=$(next);var speedIn=opts.speedIn,speedOut=opts.speedOut,easeIn=opts.easeIn,easeOut=opts.easeOut;$n.css(opts.cssBefore);if(speedOverride){if(typeof speedOverride=="number")speedIn=speedOut=speedOverride;else speedIn=speedOut=1;easeIn=easeOut=null}var fn=function(){$n.animate(opts.animIn,speedIn,easeIn,
cb)};$l.animate(opts.animOut,speedOut,easeOut,function(){if(opts.cssAfter)$l.css(opts.cssAfter);if(!opts.sync)fn()});if(opts.sync)fn()};$.fn.cycle.transitions={fade:function($cont,$slides,opts){$slides.not(":eq("+opts.currSlide+")").css("opacity",0);opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.opacity=0});opts.animIn={opacity:1};opts.animOut={opacity:0};opts.cssBefore={top:0,left:0}}};$.fn.cycle.ver=function(){return ver};$.fn.cycle.defaults={fx:"fade",
timeout:4E3,timeoutFn:null,continuous:0,speed:1E3,speedIn:null,speedOut:null,next:null,prev:null,onPrevNextEvent:null,prevNextEvent:"click.cycle",pager:null,onPagerEvent:null,pagerEvent:"click.cycle",allowPagerClickBubble:false,pagerAnchorBuilder:null,before:null,after:null,end:null,easing:null,easeIn:null,easeOut:null,shuffle:null,animIn:null,animOut:null,cssBefore:null,cssAfter:null,fxFn:null,height:"auto",startingSlide:0,sync:1,random:0,fit:0,containerResize:1,pause:0,pauseOnPagerHover:0,autostop:0,
autostopCount:0,delay:0,slideExpr:null,cleartype:!$.support.opacity,cleartypeNoBg:false,nowrap:0,fastOnEvent:0,randomizeEffects:1,rev:0,manualTrump:true,requeueOnImageNotLoaded:true,requeueTimeout:250,activePagerClass:"activeSlide",updateActivePagerLink:null,backwards:false}})(jQuery);
(function($){$.fn.cycle.transitions.none=function($cont,$slides,opts){opts.fxFn=function(curr,next,opts,after){$(next).show();$(curr).hide();after()}};$.fn.cycle.transitions.scrollUp=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssBefore={top:h,left:0};opts.cssFirst={top:0};opts.animIn={top:0};opts.animOut={top:-h}};$.fn.cycle.transitions.scrollDown=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);
var h=$cont.height();opts.cssFirst={top:0};opts.cssBefore={top:-h,left:0};opts.animIn={top:0};opts.animOut={top:h}};$.fn.cycle.transitions.scrollLeft=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst={left:0};opts.cssBefore={left:w,top:0};opts.animIn={left:0};opts.animOut={left:0-w}};$.fn.cycle.transitions.scrollRight=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);
var w=$cont.width();opts.cssFirst={left:0};opts.cssBefore={left:-w,top:0};opts.animIn={left:0};opts.animOut={left:w}};$.fn.cycle.transitions.scrollHorz=function($cont,$slides,opts){$cont.css("overflow","hidden").width();opts.before.push(function(curr,next,opts,fwd){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.left=fwd?next.cycleW-1:1-next.cycleW;opts.animOut.left=fwd?-curr.cycleW:curr.cycleW});opts.cssFirst={left:0};opts.cssBefore={top:0};opts.animIn={left:0};opts.animOut={top:0}};$.fn.cycle.transitions.scrollVert=
function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push(function(curr,next,opts,fwd){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.top=fwd?1-next.cycleH:next.cycleH-1;opts.animOut.top=fwd?curr.cycleH:-curr.cycleH});opts.cssFirst={top:0};opts.cssBefore={left:0};opts.animIn={top:0};opts.animOut={left:0}};$.fn.cycle.transitions.slideX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,
opts,false,true);opts.animIn.width=next.cycleW});opts.cssBefore={left:0,top:0,width:0};opts.animIn={width:"show"};opts.animOut={width:0}};$.fn.cycle.transitions.slideY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,true,false);opts.animIn.height=next.cycleH});opts.cssBefore={left:0,top:0,height:0};opts.animIn={height:"show"};opts.animOut={height:0}};$.fn.cycle.transitions.shuffle=function($cont,$slides,
opts){var i,w=$cont.css("overflow","visible").width();$slides.css({left:0,top:0});opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true)});if(!opts.speedAdjusted){opts.speed=opts.speed/2;opts.speedAdjusted=true}opts.random=0;opts.shuffle=opts.shuffle||{left:-w,top:15};opts.els=[];for(i=0;i<$slides.length;i++)opts.els.push($slides[i]);for(i=0;i<opts.currSlide;i++)opts.els.push(opts.els.shift());opts.fxFn=function(curr,next,opts,cb,fwd){var $el=fwd?$(curr):$(next);
$(next).css(opts.cssBefore);var count=opts.slideCount;$el.animate(opts.shuffle,opts.speedIn,opts.easeIn,function(){var hops=$.fn.cycle.hopsFromLast(opts,fwd);for(var k=0;k<hops;k++)fwd?opts.els.push(opts.els.shift()):opts.els.unshift(opts.els.pop());if(fwd)for(var i=0,len=opts.els.length;i<len;i++)$(opts.els[i]).css("z-index",len-i+count);else{var z=$(curr).css("z-index");$el.css("z-index",parseInt(z)+1+count)}$el.animate({left:0,top:0},opts.speedOut,opts.easeOut,function(){$(fwd?this:curr).hide();
if(cb)cb()})})};opts.cssBefore={display:"block",opacity:1,top:0,left:0}};$.fn.cycle.transitions.turnUp=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.cssBefore.top=next.cycleH;opts.animIn.height=next.cycleH});opts.cssFirst={top:0};opts.cssBefore={left:0,height:0};opts.animIn={top:0};opts.animOut={height:0}};$.fn.cycle.transitions.turnDown=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,
next,opts,true,false);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH});opts.cssFirst={top:0};opts.cssBefore={left:0,top:0,height:0};opts.animOut={height:0}};$.fn.cycle.transitions.turnLeft=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.cssBefore.left=next.cycleW;opts.animIn.width=next.cycleW});opts.cssBefore={top:0,width:0};opts.animIn={left:0};opts.animOut={width:0}};$.fn.cycle.transitions.turnRight=function($cont,
$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.animIn.width=next.cycleW;opts.animOut.left=curr.cycleW});opts.cssBefore={top:0,left:0,width:0};opts.animIn={left:0};opts.animOut={width:0}};$.fn.cycle.transitions.zoom=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,false,true);opts.cssBefore.top=next.cycleH/2;opts.cssBefore.left=next.cycleW/2;opts.animIn={top:0,left:0,width:next.cycleW,
height:next.cycleH};opts.animOut={width:0,height:0,top:curr.cycleH/2,left:curr.cycleW/2}});opts.cssFirst={top:0,left:0};opts.cssBefore={width:0,height:0}};$.fn.cycle.transitions.fadeZoom=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,false);opts.cssBefore.left=next.cycleW/2;opts.cssBefore.top=next.cycleH/2;opts.animIn={top:0,left:0,width:next.cycleW,height:next.cycleH}});opts.cssBefore={width:0,height:0};opts.animOut={opacity:0}};
$.fn.cycle.transitions.blindX=function($cont,$slides,opts){var w=$cont.css("overflow","hidden").width();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.width=next.cycleW;opts.animOut.left=curr.cycleW});opts.cssBefore={left:w,top:0};opts.animIn={left:0};opts.animOut={left:w}};$.fn.cycle.transitions.blindY=function($cont,$slides,opts){var h=$cont.css("overflow","hidden").height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,
opts);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH});opts.cssBefore={top:h,left:0};opts.animIn={top:0};opts.animOut={top:h}};$.fn.cycle.transitions.blindZ=function($cont,$slides,opts){var h=$cont.css("overflow","hidden").height();var w=$cont.width();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH});opts.cssBefore={top:h,left:w};opts.animIn={top:0,left:0};opts.animOut={top:h,left:w}};$.fn.cycle.transitions.growX=
function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.cssBefore.left=this.cycleW/2;opts.animIn={left:0,width:this.cycleW};opts.animOut={left:0}});opts.cssBefore={width:0,top:0}};$.fn.cycle.transitions.growY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.cssBefore.top=this.cycleH/2;opts.animIn={top:0,height:this.cycleH};opts.animOut={top:0}});opts.cssBefore=
{height:0,left:0}};$.fn.cycle.transitions.curtainX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true,true);opts.cssBefore.left=next.cycleW/2;opts.animIn={left:0,width:this.cycleW};opts.animOut={left:curr.cycleW/2,width:0}});opts.cssBefore={top:0,width:0}};$.fn.cycle.transitions.curtainY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false,true);opts.cssBefore.top=
next.cycleH/2;opts.animIn={top:0,height:next.cycleH};opts.animOut={top:curr.cycleH/2,height:0}});opts.cssBefore={left:0,height:0}};$.fn.cycle.transitions.cover=function($cont,$slides,opts){var d=opts.direction||"left";var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);if(d=="right")opts.cssBefore.left=-w;else if(d=="up")opts.cssBefore.top=h;else if(d=="down")opts.cssBefore.top=-h;else opts.cssBefore.left=
w});opts.animIn={left:0,top:0};opts.animOut={opacity:1};opts.cssBefore={top:0,left:0}};$.fn.cycle.transitions.uncover=function($cont,$slides,opts){var d=opts.direction||"left";var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);if(d=="right")opts.animOut.left=w;else if(d=="up")opts.animOut.top=-h;else if(d=="down")opts.animOut.top=h;else opts.animOut.left=-w});opts.animIn={left:0,top:0};opts.animOut=
{opacity:1};opts.cssBefore={top:0,left:0}};$.fn.cycle.transitions.toss=function($cont,$slides,opts){var w=$cont.css("overflow","visible").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);if(!opts.animOut.left&&!opts.animOut.top)opts.animOut={left:w*2,top:-h/2,opacity:0};else opts.animOut.opacity=0});opts.cssBefore={left:0,top:0};opts.animIn={left:0}};$.fn.cycle.transitions.wipe=function($cont,$slides,opts){var w=$cont.css("overflow",
"hidden").width();var h=$cont.height();opts.cssBefore=opts.cssBefore||{};var clip;if(opts.clip)if(/l2r/.test(opts.clip))clip="rect(0px 0px "+h+"px 0px)";else if(/r2l/.test(opts.clip))clip="rect(0px "+w+"px "+h+"px "+w+"px)";else if(/t2b/.test(opts.clip))clip="rect(0px "+w+"px 0px 0px)";else if(/b2t/.test(opts.clip))clip="rect("+h+"px "+w+"px "+h+"px 0px)";else if(/zoom/.test(opts.clip)){var top=parseInt(h/2);var left=parseInt(w/2);clip="rect("+top+"px "+left+"px "+top+"px "+left+"px)"}opts.cssBefore.clip=
opts.cssBefore.clip||clip||"rect(0px 0px 0px 0px)";var d=opts.cssBefore.clip.match(/(\d+)/g);var t=parseInt(d[0]),r=parseInt(d[1]),b=parseInt(d[2]),l=parseInt(d[3]);opts.before.push(function(curr,next,opts){if(curr==next)return;var $curr=$(curr),$next=$(next);$.fn.cycle.commonReset(curr,next,opts,true,true,false);opts.cssAfter.display="block";var step=1,count=parseInt(opts.speedIn/13)-1;(function f(){var tt=t?t-parseInt(step*(t/count)):0;var ll=l?l-parseInt(step*(l/count)):0;var bb=b<h?b+parseInt(step*
((h-b)/count||1)):h;var rr=r<w?r+parseInt(step*((w-r)/count||1)):w;$next.css({clip:"rect("+tt+"px "+rr+"px "+bb+"px "+ll+"px)"});step++<=count?setTimeout(f,13):$curr.css("display","none")})()});opts.cssBefore={display:"block",opacity:1,top:0,left:0};opts.animIn={left:0};opts.animOut={left:0}}})(jQuery);

