var L_invalidinvoketarget_text="Invalid invoke target specified.",L_invaliddirections_text="Invalid argument passed; both start and end must be present.",L_invalidpageindex_text="Invalid search results page index is passed.",L_invalidelement_text="Invalid element id; unable to find the element in the document body.",L_noheadelement_text="Head element is missing for the current document; cannot initialize the API framework.",L_noserviceurl_text="Either a service url or script url is required to create VENetwork instance.",L_noscripturl_text="Invalid script source url is assigned; cannot download the assigned script.",L_nostylesurl_text="Invalid style source url is assigned; cannot attach the assigned styles.",L_invalidwhatwhere_text="Invalid what/where parameters; either 'what' or 'where' must be present.",L_notinitialized_text="Map is not loaded; cannot perform this operation.",L_noroute_text="Cannot calculate route at this point; try again later.",L_invalidpushpin_text="Invalid pushpin instance.",L_invalidpushpinid_text="Invalid pushpin id; either id is empty or another pushpin already exists with that id.",L_invalidpolylineid_text="Invalid polyline id; either id is empty or another polyline already exists with that id.",L_invalidpolygonid_text="Invalid polygon id; either id is empty or another polygon already exists with that id.",L_invalidargument_text="Invalid argument; input argument '%1' is not a valid '%2' value.",L_invalidlayerid_text="Invalid layer id; either id is empty or another layer already exists with that id.",L_invalidlayertype_text="Invalid layer type.",L_invalidlayersource_text="Invalid layer source; either layer is empty or does not exist.",L_invalidsourceid_text="Invalid source id; either id is empty or another tile source already exists with that id.",L_invalidminmaxzoom_text="Min zoom is greater than max zoom.",L_invalidopacity_text="Invalid opacity value.",L_loadxml_text="Unable to load source file.",L_Help_Text="Help",L_ErrorServerBusy_Text="The server is temporarily unavailable. Try again later.",L_UnsupportMethod_Text="%1 method is not supported.",L_UnsupportClass_Text="%1 class is not supported.",L_UnsupportProperty_Text="'%1' class does not support property '%2' equals to '%3'.",L_error_text="Error",L_close_text="close",L_what_text="What",L_where_text="Where",L_find_text="Find",L_selectlocation_text="Select a location",L_Start_Text="Start",L_End_Text="End",L_DirectionsGetDirections_Text="Get directions",L_loading_text=".. Loading ..",L_arriveat_text="Arrive at",L_startat_text="Start at",L_step_text="Step %1 of %2",L_DirectionsStep_Text="Step",L_invalidroute_Text="Unable to find a route for the locations you entered. Ensure that your start and end locations are correct, and try again.",L_invalidlocation_Text="The location you entered cannot be found.",L_routelessthanoneminute_Text="Less Than One Minute",L_hoursandminutes_Text="%1 Hours, %2 Minutes",L_minutes_Text="%1 Minutes",L_CollectionManagerViewerDefaultTitle_Text="Shared Collection",L_CollectionManagerUnsavedCollectionTitle_Text="Unsaved Collection",L_AnnotationConfDefaultTitle_Text="Untitled item",L_TrafficPopupSeverity_Text="Severity",L_TrafficPopupLocation_Text="Location",L_TrafficPopupDescription_Text="Description",L_TrafficPopupStartTime_Text="Start time",L_TrafficPopupEstEndTime_Text="Est. end time",L_TrafficManagerSerious_Text="Serious",L_TrafficManagerModerate_Text="Moderate",L_TrafficManagerMinor_Text="Minor",L_TrafficManager_Zoomout_Text="Zoom out to view Traffic information",L_TrafficManager_Zoomin_Text="Zoom in to view Traffic information",L_ClientTokenInvalid_Text="Invalid client token.",L_ClientTokenExpired_Text="Expired client token.",L_CredentialsInvalid_Text="Invalid Credentials.",L_Shp_IncorrectPoints_Text="The number of points does not match the specified VEShape type.",L_Shp_IncorrectLineWidth_Text="The line width must be a positive integer.",L_Shp_IncorrectZoomLevel_Text="The specified zoom level is invalid. The valid range is 1 to 21,inclusive.",L_Shp_IncorrectZoomLevel2_Text="Max zoom is less than min zoom.",L_shp_Notinitialized_text="Shape is not initialized.",L_ShpExist_text="This shape has already been added to layer.",L_invalidzindex_text="Invalid z-Index parameters; either 'icon' or 'polyshape' must be present.",L_altitudemodemismatch_Text="All altitudes must have the same altitudeMode in a VEShape.",L_invalidwhere_text="Invalid argument; input argument 'where' is not a valid 'string, VELatLong, VELatLongRectangle, or VEPlace ' value.",L_invalidnonnegativeint_text="Invalid argument; input argument '%1' must be a non-negative int value.",L_invalidbetweenint_text="Invalid argument; input argument '%1' must be between %2 and %3, inclusive.",L_invalidsearchlocation_Text="%1 could not find a match for the location. Please check your spelling, enter the complete address including country name and commas, and try again.",L_invalidsearchresult_Text="No results were found.",L_ClusterDefaultTitle_Text="%1 locations near here",L_ClusterDefaultDescription_Text="Zoom in for details.",L_InvalidClusterLayer_Text="Cannot apply clustering to a cluster layer.",L_DashboardBirdsEye_Text="Bird's eye",L_DashboardBirdsEyeText_Text="See this location in bird's eye view",L_Dashboard3DText_Text="See this location in Bing Maps 3D",L_Dashboard3DInstalled_Text="Bing Maps 3D has finished updating",L_ObliqueCompassSelectDirection_Text="Change the direction of the view",L_ObliqueModeImageNotAvailable_Text="Sorry, bird's eye images aren't available here.",L_MinimapHybrid_Text="H",L_MinimapRoad_Text="R",L_MinimapHideToolTip_Text="Hide the mini map",L_MinimapShowToolTip_Text="Show the mini map",L_MinimapLargerToolTip_Text="Larger mini map",L_MinimapSmallerToolTip_Text="Smaller mini map",L_MinimapRoadToolTip_Text="Switch to road view",L_MinimapHybridToolTip_Text="Switch to hybrid view",L_MinimapDragToolTip_Text="Drag to move the map",L_MinimapReticuleDragToolTip_Text="Drag to center map",L_ScaleBarMiles_Text="miles",L_ScaleBarKilometers_Text="km",L_ScaleBarMeters_Text="m",L_ScaleBarYards_Text="yds",L_NavActionFlatland_Text="2D",L_NavActionView3D_Text="3D",L_NavActionRoad_Text="Road",L_NavActionAerial_Text="Aerial",L_NavActionHybrid_Text="Hybrid",L_NavActionLabels_Text="Labels",L_NavActionTraffic_Text="Traffic",L_NavActionHideToolTip_Text="Hide the view control",L_NavActionShowToolTip_Text="Show the view control",L_NavActionFlatlandToolTip_Text="View map in 2D mode",L_NavActionView3DToolTip_Text="View map in 3D mode with Bing Maps 3D (Beta)",L_NavActionOrthoToolTip_Text="Switch to map view",L_NavActionObliqueToolTip_Text="Switch to bird's eye view",L_NavActionStreetSideToolTip_Text="Street-level view",L_NavAction3DOrthoToolTip_Text="Look down",L_NavAction3DObliqueToolTip_Text="Look down at an angle",L_NavAction3DStreetSideToolTip_Text="Look toward horizon",L_NavActionShowTrafficToolTip_Text="Show traffic on the map",L_NavActionHideTrafficToolTip_Text="Hide traffic on the map",L_NavActionRoadToolTip_Text="Switch to road view",L_NavActionAerialToolTip_Text="Switch to aerial view",L_NavActionHybridToolTip_Text="Switch to hybrid view",L_NavActionObliqueRotationToolTip_CW_Text="Rotate the camera angle counterclockwise",L_NavActionObliqueRotationToolTip_CCW_Text="Rotate the camera angle clockwise",L_NavActionShowObliqueToolTip_Text="Show bird's eye images on the map",L_NavActionHideObliqueToolTip_Text="Hide bird's eye images on the map",L_NavActionShowLabels_Text="Show labels",L_NavActionHideLabels_Text="Hide labels",L_North_Text="north",L_East_Text="east",L_South_Text="south",L_West_Text="west",L_ObliqueSkippingOneDirection_Text="A bird's eye image facing %2 isn't available for this location. Facing %1 instead.",L_ObliqueSkippingTwoDirections_Text="Bird's eye images facing %2 or %3 aren't available for this location. Facing %1 instead.",L_ObliqueSpinNoOtherImagery_Text="No other bird's eye images are available for this location. Continuing to face %1.",L_ObliqueNoImageryInRequestedDirection_Text="Bird's eye images facing %2 aren't available for this location. Continuing to face %1.",L_NavActionCompassPan_Text="Pan in any direction",L_ZoomBarMinusToolTip_Text="Zoom out. To zoom continuously, click and hold this button.",L_ZoomBarPlusToolTip_Text="Zoom in. To zoom continuously, click and hold this button.",L_ZoomBarSliderToolTip_Text="Move slider to zoom in or zoom out",L_BrowserNotSupported_Text="To use this feature, open Live Search in Windows Internet Explorer version 6 or 7. For more information, and to download the latest version, visit the Microsoft Internet Explorer website (%1%3%2).",L_BrowserNotSupported3D_Text="Bing Maps 3D is currently not supported for your browser. For a list of supported browsers, see Help.",L_NoHardwareAcceleration_Text="Bing Maps 3D has detected that hardware acceleration is turned off.",L_3DLoading_Text="Initializing Bing Maps 3D (Beta).",L_UnableToDisplay3DVIAModel_Text="Unable to display 3D models in collections at this time. Please try again later.",L_InstallVE3DVIATitle_Text="Virtual Earth - 3DVIA (Beta) installation",L_LaunchVE3DVIA_Text="Launching Virtual Earth - 3DVIA (Beta)",L_PluginFeatureNotAvailable_Text="Feature is currently not available. Please try again later.",L_MapLegendTrafficSlow_Text="Slow",L_MapLegendTrafficFast_Text="Fast",L_MapLegendAndPopupLink_Text="Zoom in for traffic details",L_GeoRssInvalidFormatError_Text="The GeoRSS file you have tried to import is improperly formatted.",L_BingSearchWatermark_Text="Search on Bing",L_BingSearchGoTooltip_Text="Search on Bing",L_BingLogoTooltip_Text="Bing Maps",L_MapCopyrightMicrosoft="© 2011 Microsoft Corporation",L_MapCopyrightTraffic="Traffic.com",L_MapControlPlatformName_Text="Virtual Earth",L_SupportedBrowserDownloadUrl_Text="httpss://www.microsoft.com/windows/ie/downloads/default.mspx";_VERegisterNamespaces("MapControl");MapControl.Features={PlatformName:L_MapControlPlatformName_Text,Image:{PoweredLogo:"logo_powered_by_map.png"},MapStyle:{Road:true,Shaded:true,Aerial:true,Hybrid:true,BirdsEye:true,View3D:true},BirdsEyeAtZoomLevel:10,ScaleBarKilometers:false,Traffic:{Flow:{Slow:"0-25 mph",Moderate:"25-45 mph",Fast:"45+ mph"},Enabled:true,ShowOnNavbar:false,ShowIncidents:true},RouteOptions:{RouteMode:{Driving:true,Walking:true},UseMWS:true,UseTraffic:true},Minimap:{ShowByDefault:false}};function _VERegisterNamespaces(){for(var d=0;d=0){var a=document.createElement("div"),b=null;a.style.visible="hidden";a.style.overflowY="scroll";a.style.position="absolute";a.style.width=0;document.body.insertAdjacentElement("afterBegin",a);b=a.offsetWidth;a.parentNode.removeChild(a);if(!b)b=16;scrollbarWidth=b;return b}else return 0}function GetUrlPrefix(){var a=window.location.pathname.lastIndexOf("/"),b=window.location.protocol+"//"+window.location.hostname+window.location.pathname.substring(0,a+1);return b}function GetUrlParameterString(){var a=window.location.search;if(a.length==0||a.indexOf("?")==-1)return "";return a.substr(a.indexOf("?")+1)}function CheckWipExistence(){var a=GetUrlParameterString();if(a!=""&&a.indexOf("wip=")>-1)return true;return false}function GetUrlParameters(){var b=[],d=GetUrlParameterString();if(!d)return b;var e=d.split("&");for(var c=0;c=0)a.onreadystatechange=function(){if(a&&("loaded"==a.readyState||"complete"==a.readyState)){a.onreadystatechange=null;EndInvoke(g,h,f,a,c)}};else a.onload=function(){a.onload=null;EndInvoke(g,h,f,a,c)};VENetwork.GetAttachTarget().appendChild(a)}}function EndInvoke(endInvokeTarget,fnCallback,endInvokeMethod,elScript,executionId){var objects=null;if(endInvokeMethod)eval("if(typeof "+endInvokeMethod+" == 'function') {objects = "+endInvokeMethod+"();}");setTimeout(function(){if(elScript.parentNode)elScript.parentNode.removeChild(elScript);elScript=null},100);if(fnCallback!=null&&fnCallback!="undefined")fnCallback(objects,endInvokeTarget);if(Msn.VE.API&&Msn.VE.API.Globals.veonendinvokeevent)Msn.VE.API.Globals.veonendinvokeevent()}VENetwork.GetExecutionID=function(){var a=new Date,b=Date.UTC(a.getFullYear(),a.getMonth(),a.getDate(),a.getHours(),a.getMinutes(),a.getSeconds(),a.getMilliseconds());b+=Math.round(Math.random()*1000000);return b};function GetXmlHttp(){var a=null;if(window.XMLHttpRequest)a=new XMLHttpRequest;else if(window.ActiveXObject)try{a=new ActiveXObject("Msxml2.XmlHttp.6.0")}catch(b){try{a=new ActiveXObject("Msxml2.XmlHttp.3.0")}catch(c){try{a=new ActiveXObject("Msxml2.XMLHTTP")}catch(d){try{a=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}}}else throw"XMLHTTP Required: Browser not supported";return a}VENetwork.AttachStyleSheetCallback=function(a){if(a)a()};VENetwork.AttachStyleSheet=function(a,b,d,c){if(a==null||a=="undefined"||a.length==0)throw new VEException("VENetwork:AttachStylesheet","err_nostylesurl","");elStyle=document.createElement("link");if(d==true)elStyle.rel="alternate stylesheet";else elStyle.rel="stylesheet";if(c)elStyle.media=c;elStyle.type="text/css";elStyle.rev="stylesheet";elStyle.id=VENetwork.GetExecutionID();elStyle.href=a;VENetwork.GetAttachTarget().appendChild(elStyle);if(navigator.userAgent.indexOf("IE")>=0)elStyle.onreadystatechange=function(){if(elStyle&&("loaded"==elStyle.readyState||"complete"==elStyle.readyState)){elStyle.onreadystatechange=null;VENetwork.AttachStyleSheetCallback(b)}};else VENetwork.AttachStyleSheetCallback(b);return};VENetwork.DownloadScriptCallback=function(a,b){if(a)a(b)};VENetwork.DownloadScript=function(b,c,d){if(b==null||b=="undefined"||b.length==0)throw new VEException("VENetwork:DownloadScript","err_noscripturl",L_noscripturl_text);var a=document.createElement("script");a.type="text/javascript";a.language="javascript";a.id=VENetwork.GetExecutionID();a.src=b;if(navigator.userAgent.indexOf("IE")>=0)a.onreadystatechange=function(){if(a&&("loaded"==a.readyState||"complete"==a.readyState)){a.onreadystatechange=null;VENetwork.DownloadScriptCallback(c,d)}};else a.onload=function(){a.onload=null;VENetwork.DownloadScriptCallback(c,d)};VENetwork.GetAttachTarget().appendChild(a);return a.id};VENetwork.DownloadXml=function(e,c,b,d){var a=GetXmlHttp();a.open(c,e,true);a.onreadystatechange=function(){if(a.readyState==4){if(b)b(a.responseXML,d);a=null}};a.send(null)};VENetwork.GetAttachTarget=function(){if(document.getElementsByTagName("head")[0]!=null)return document.getElementsByTagName("head")[0];else throw new VEException("VENetwork:cstr","err_noheadelement",L_noheadelement_text)};VENetwork.prototype.BeginInvoke=BeginInvoke;VENetwork.prototype.EndInvoke=EndInvoke;function JSONConstant(){}JSONConstant.culture="culture";JSONConstant.format="format";JSONConstant.json="json";JSONConstant.requestid="rid";function JSONRequestInvoke(f,a,e){var c=new VENetwork,b=VENetwork.GetExecutionID();c.UseCloseDep=true;c.ServiceUrl=f;if(!a)a=[];var d=Msn.VE.API?Msn.VE.API.Globals.locale:window.serviceLocale;a.push(new VEParameter(JSONConstant.culture,'"'+d+'"'));a.push(new VEParameter(JSONConstant.format,JSONConstant.json));a.push(new VEParameter(JSONConstant.requestid,b));c.BeginInvoke("_f"+b,a,e,null,b)}_VERegisterNamespaces("Msn.Drawing");var MC_PointID=10000,MC_PolylineID=30000,MC_PolygonID=50000,MC_SYMBOL_IID=70000,MC_TEXT_IID=90000,MC_ENTITY_IID=200000,MC_COL_IID=1000,MC_GEO_TYPE_SYMBOL="Symbol",MC_GEO_TYPE_POINT="Point",MC_GEO_TYPE_POLYLINE="Polyline",MC_GEO_TYPE_POLYGON="Polygon",MC_GEO_TYPE_TEXT="Text",MC_GEO_TYPE_COL="Collection",MC_GEO_TYPE_ENTITY="Entity",VEShapeType={Pushpin:"Point",Polyline:"Polyline",Polygon:"Polygon"},VEMapserviceType={None:"None",MapCruncher:"MapCruncher",KML:"KML",WMS:"WMS"},VEMapserviceTypeList=[VEMapserviceType.None,VEMapserviceType.MapCruncher,VEMapserviceType.KML,VEMapserviceType.WMS];VEMapserviceTypeIndex=function(c){var b=-1;if(VEMapserviceTypeList!=null)for(var a=0;a=0&&a<=1};Msn.Drawing.GetGeoUID=function(b){var a="";switch(b){case VEShapeType.Polygon:a=MC_PolygonID++;break;case VEShapeType.Pushpin:a=MC_PointID++;break;case VEShapeType.Polyline:a=MC_PolylineID++;break;case MC_GEO_TYPE_SYMBOL:a=MC_SYMBOL_IID++;break;case MC_GEO_TYPE_TEXT:a=MC_TEXT_IID++;break;case MC_GEO_TYPE_COL:a=MC_COL_IID++;break;case MC_GEO_TYPE_ENTITY:a=MC_ENTITY_IID++}return a.toString()};Msn.Drawing.Exception=function(a){this.message=a;this.name="Msn.Drawing.Exception"};Msn.Drawing.Exception.prototype.toString=function(){return this.name+": "+this.message};Msn.Drawing.Point=function(a,b){this.id=0;this.points=[];this.points.push(a);this.points.push(b);this.iid=Msn.Drawing.GetGeoUID(VEShapeType.Pushpin)};Msn.Drawing.Point.prototype.altitudes=null;Msn.Drawing.Point.prototype.altitudeMode="Ground";Msn.Drawing.Point.prototype.type=VEShapeType.Pushpin;Msn.Drawing.Point.prototype.name=null;Msn.Drawing.Point.prototype.symbol=null;Msn.Drawing.Point.prototype.isLabel=true;Msn.Drawing.Point.prototype.isOnLegend=false;Msn.Drawing.Point.prototype.Destroy=function(){this.symbol=null;this.points=null;this.altitudes=null;this.altitudeMode=null};Msn.Drawing.Point.prototype.toString=function(){return this.points[0]+","+this.points[1]};Msn.Drawing.PolyLine=function(a){this.id=0;this.iid=Msn.Drawing.GetGeoUID(VEShapeType.Polyline);this.points=a?a:[];this.minX=null;this.minY=null;this.maxX=null;this.maxY=null;this.length=-1};Msn.Drawing.PolyLine.prototype.toString=function(){if(this.points!=null)return this.points.join(" ");else return ""};Msn.Drawing.PolyLine.prototype.altitudes=null;Msn.Drawing.PolyLine.prototype.altitudeMode="Ground";Msn.Drawing.PolyLine.prototype.extruded=false;Msn.Drawing.PolyLine.prototype.minZ=null;Msn.Drawing.PolyLine.prototype.maxZ=null;Msn.Drawing.PolyLine.prototype.minX=null;Msn.Drawing.PolyLine.prototype.minY=null;Msn.Drawing.PolyLine.prototype.maxX=null;Msn.Drawing.PolyLine.prototype.maxY=null;Msn.Drawing.PolyLine.prototype.iid=Msn.Drawing.GetGeoUID(VEShapeType.Polyline);Msn.Drawing.PolyLine.prototype.labelPosX=null;Msn.Drawing.PolyLine.prototype.labelPosY=null;Msn.Drawing.PolyLine.prototype.labelPosZ=null;Msn.Drawing.PolyLine.prototype.name=null;Msn.Drawing.PolyLine.prototype.type=VEShapeType.Polyline;Msn.Drawing.PolyLine.prototype.symbol=null;Msn.Drawing.PolyLine.prototype.isLabel=true;Msn.Drawing.PolyLine.prototype.isOnLegend=false;Msn.Drawing.PolyLine.prototype.Destroy=function(){this.symbol=null;this.points=null;this.altitudes=null;this.altitudeMode=null;this.extruded=null;this.minX=null;this.minY=null;this.maxX=null;this.maxY=null;this.minZ=null;this.maxZ=null};Msn.Drawing.PolyLine.prototype.GetLength=function(){if(this.length<0)this.length=CalculateShapeLengthP(this.points);return this.length};Msn.Drawing.PolyLine.prototype.SetLength=function(a){this.length=a};Msn.Drawing.Polygon=function(a){this.id=0;this.iid=Msn.Drawing.GetGeoUID(VEShapeType.Polygon);this.points=a;this.length=-1;this.area=-1;this.minX=null;this.minY=null;this.maxX=null;this.maxY=null};Msn.Drawing.Polygon.prototype.altitudes=null;Msn.Drawing.Polygon.prototype.altitudeMode="Ground";Msn.Drawing.Polygon.prototype.extruded=false;Msn.Drawing.Polygon.prototype.minZ=null;Msn.Drawing.Polygon.prototype.maxZ=null;Msn.Drawing.Polygon.prototype.labelPosX=null;Msn.Drawing.Polygon.prototype.labelPosY=null;Msn.Drawing.Polygon.prototype.labelPosZ=null;Msn.Drawing.Polygon.prototype.symbol=null;Msn.Drawing.Polygon.prototype.isLabel=true;Msn.Drawing.Polygon.prototype.isOnLegend=false;Msn.Drawing.Polygon.prototype.type=VEShapeType.Polygon;Msn.Drawing.Polygon.prototype.name=null;Msn.Drawing.Polygon.prototype.Destroy=function(){this.symbol=null;this.points=null;this.altitudes=null;this.altitudeMode=null;this.extruded=null;this.minX=null;this.minY=null;this.maxX=null;this.maxY=null;this.minZ=null;this.maxZ=null};Msn.Drawing.Polygon.prototype.GetLength=function(){if(this.length<0)this.length=CalculateShapeLength(this);return this.length};Msn.Drawing.Polygon.prototype.SetLength=function(a){this.length=a};Msn.Drawing.Polygon.prototype.GetArea=function(){if(this.area<0)this.area=CalculateAreaP(this.points);if(this.area<0)this.area=CalculateAreaP(this.points,false);return this.area};Msn.Drawing.Polygon.prototype.SetArea=function(a){this.area=a};Msn.Drawing.Stroke=function(){this.width=1;this.linecap="round";this.opacity=1;this.linejoin="miter";this.color=new Msn.Drawing.Color(255,255,255,1);this.fillcolor=new Msn.Drawing.Color(0,255,0,1)};Msn.Drawing.Color=function(d,c,b,a){this.R=d?d:0;this.G=c?c:0;this.B=b?b:0;this.A=a?a:0;this.ToHexString=function(){return VEColorToHexString(this.R,this.G,this.B)}};VEShapeStyle=function(){this.iid=Msn.Drawing.GetGeoUID(MC_GEO_TYPE_SYMBOL);this.id=this.iid};VEShapeStyle.prototype.point_type="v:rect";VEShapeStyle.prototype.name="symbol";VEShapeStyle.prototype.highlight_stroke_color="#336666";VEShapeStyle.prototype.highlight_fill_color="#FFCC33";VEShapeStyle.prototype.shape_drawtype="v:shape";VEShapeStyle.prototype.shape_fill="false";VEShapeStyle.prototype.shape_filled="false";VEShapeStyle.prototype.shape_unselectable="off";VEShapeStyle.prototype.style_zIndex=60;VEShapeStyle.prototype.style_zIndex_polyshape=50;VEShapeStyle.prototype.style_position="absolute";VEShapeStyle.prototype.style_filter="alpha(opacity=30)";VEShapeStyle.prototype.style_width="10";VEShapeStyle.prototype.style_height="10";VEShapeStyle.prototype.style_visibility="visible";VEShapeStyle.prototype.style_display="block";VEShapeStyle.prototype.stroke_drawtype="v:stroke";VEShapeStyle.prototype.stroke_on="true";VEShapeStyle.prototype.stroke_joinstyle="miter";VEShapeStyle.prototype.stroke_endcap="round";VEShapeStyle.prototype.stroke_opacity="1";VEShapeStyle.prototype.stroke_color="#0000FF";VEShapeStyle.prototype.stroke_weight="2pt";VEShapeStyle.prototype.stroke_style="Single";VEShapeStyle.prototype.stroke_filltype="solid";VEShapeStyle.prototype.stroke_color2="#FF0000";VEShapeStyle.prototype.stroke_dashstyle="Solid";VEShapeStyle.prototype.stroke_startarrow="none";VEShapeStyle.prototype.stroke_startarrowwidth="medium";VEShapeStyle.prototype.stroke_startarrowlength="medium";VEShapeStyle.prototype.stroke_endarrow="none";VEShapeStyle.prototype.stroke_endarrowwidth="medium";VEShapeStyle.prototype.stroke_endarrowlength="medium";VEShapeStyle.prototype.fill_drawtype="v:fill";VEShapeStyle.prototype.fill_color="#008000";VEShapeStyle.prototype.fill_colors="30% yellow";VEShapeStyle.prototype.fill_color2="#0000FF";VEShapeStyle.prototype.fill_type="solid";VEShapeStyle.prototype.fill_opacity="0.3";VEShapeStyle.prototype.fill_on="false";VEShapeStyle.prototype.textbox_drawtype="v:textbox";VEShapeStyle.prototype.textbox_text="name";VEShapeStyle.prototype.textbox_color="#FFFFFF";VEShapeStyle.prototype.textbox_bold=false;VEShapeStyle.prototype.textbox_italic=false;VEShapeStyle.prototype.textbox_underscore=false;VEShapeStyle.prototype.textbox_font="Arial";VEShapeStyle.prototype.textbox_size=7;VEShapeStyle.prototype.imagedata_on=false;VEShapeStyle.prototype.imagedata_src=null;VEShapeStyle.prototype.isOn=false;VEShapeStyle.prototype.textbox_OffsetX=0;VEShapeStyle.prototype.textbox_OffsetY=0;VEShapeStyle.prototype.textbox_backcolor="#0000FF";VEShapeStyle.textbox_color_opacity="1";VEShapeStyle.textbox_backcolor_opacity="1";VEShapeStyle.prototype.img_offsetX=0;VEShapeStyle.prototype.img_offsetY=0;VEShapeStyle.prototype.img_width=22;VEShapeStyle.prototype.img_height=22;VEShapeStyle.prototype.Clone=function(){var a=new VEShapeStyle;a.point_type=this.point_type;a.name=this.name;a.line_color=this.line_color;a.line_width=this.line_width;a.line_dasharray=this.line_dasharray;a.highlight_stroke_color=this.highlight_stroke_color;a.highlight_fill_color=this.highlight_fill_color;a.shape_drawtype=this.shape_drawtype;a.shape_fill=this.shape_fill;a.shape_filled=this.shape_filled;a.shape_unselectable=this.shape_unselectable;a.style_zIndex=this.style_zIndex;a.style_zIndex_polyshape=this.style_zIndex_polyshape;a.style_position=this.style_position;a.style_filter=this.style_filter;a.style_width=this.style_width;a.style_height=this.style_height;a.style_visibility=this.style_visibility;a.style_display=this.style_display;a.stroke_drawtype=this.stroke_drawtype;a.stroke_on=this.stroke_on;a.stroke_joinstyle=this.stroke_joinstyle;a.stroke_endcap=this.stroke_endcap;a.stroke_opacity=this.stroke_opacity;a.stroke_color=this.stroke_color;a.stroke_weight=this.stroke_weight;a.stroke_style=this.stroke_style;a.stroke_filltype=this.stroke_filltype;a.stroke_color2=this.stroke_color2;a.stroke_dashstyle=this.stroke_dashstyle;a.stroke_startarrow=this.stroke_startarrow;a.stroke_startarrowwidth=this.stroke_startarrowwidth;a.stroke_startarrowlength=this.stroke_startarrowlength;a.stroke_endarrow=this.stroke_endarrow;a.stroke_endarrowwidth=this.stroke_endarrowwidth;a.stroke_endarrowlength=this.stroke_endarrowlength;a.fill_drawtype=this.fill_drawtype;a.fill_color=this.fill_color;a.fill_colors=this.fill_colors;a.fill_color2=this.fill_color2;a.fill_type=this.fill_type;a.fill_opacity=this.fill_opacity;a.fill_on=this.fill_on;a.textbox_drawtype=this.textbox_drawtype;a.textbox_text=this.textbox_text;a.textbox_color=this.textbox_color;a.textbox_bold=this.textbox_bold;a.textbox_italic=this.textbox_italic;a.textbox_underscore=this.textbox_underscore;a.textbox_backcolor=this.textbox_backcolor;a.imagedata_on=this.imagedata_on;a.imagedata_src=this.imagedata_src;a.isOn=this.isOn;a.textbox_OffsetX=this.textbox_OffsetX;a.textbox_OffsetY=this.textbox_OffsetY;a.img_offsetX=this.img_offsetX;a.img_offsetY=this.img_offsetY;a.img_width=this.img_width;a.img_height=this.img_height;return a};function VE_MapLineClip(){var b=-360,c=360,d=-180,e=180,a={LEFT:1,RIGHT:2,BOTTOM:4,TOP:8};function h(i,s,u,t,v){b=s;c=t;d=u;e=v;if(typeof i=="undefined"||i==null||i.length<4)return null;var m=false,o=i.length;if(i[o-2]==i[0]&&i[o-1]==i[1])m=true;var f=[];for(var l=0;lc)f=f|a.RIGHT;if(he)f=f|a.TOP;return f}this.Clip=h}VE_LineClip=new VE_MapLineClip;var L_GraphicsInitError_Text="Your Web browser does not support SVG or VML. Some graphics features may not function properly.";_VERegisterNamespaces("Msn.Drawing");Msn.Drawing.Graphic=function(){};Msn.Drawing.Graphic.CreateGraphic=function(b,a){if(Msn.VE.Environment.BrowserInfo.BrowserCaps&Msn.VE.BrowserCaps.VML)return new Msn.Drawing.VMLGraphic(b,a);else{if(Gimme.Browser.isOpera||Msn.VE.Environment.BrowserInfo.BrowserCaps&Msn.VE.BrowserCaps.SVG)return new Msn.Drawing.SVGGraphic(b,a);throw new Msn.Drawing.Exception(L_GraphicsInitError_Text)}};Msn.Drawing.BaseGraphic=function(){this._stroke=new Msn.Drawing.Stroke};Msn.Drawing.BaseGraphic.prototype.CreatePrimitive=function(){};Msn.Drawing.BaseGraphic.prototype.DrawPrimitive=function(d,c,a){var b=new VEShapeStyle;if(a._stroke){b.stroke_weight=a._stroke.width;b.stroke_joinstyle=a._stroke.linejoin;b.stroke_color=a._stroke.color.ToHexString();b.stroke_dashstyle=a._stroke.linecap;b.stroke_opacity=a._stroke.color.A.toString();b.fill_color=a._stroke.fillcolor.ToHexString();b.fill_opacity=a._stroke.fillcolor.A.toString()}c.symbol=b;var e=a.CreatePrimitive(d,c,"");return e};Msn.Drawing.BaseGraphic.prototype.SetStroke=function(a){this._stroke=a};Msn.Drawing.VMLGraphic=function(c,d){Msn.Drawing.BaseGraphic.call();var g=new Msn.Drawing.Color(255,0,0,1),f=new Msn.Drawing.Color(255,0,0,1),e=1,a=c;c.unselectable="on";var b=[];this.DrawPrimitive=function(f,e){var c=Msn.Drawing.VMLGraphic.prototype.DrawPrimitive(d,f,this);if(a&&c){if(e)a.appendChild(wrapVmlElementInDiv(c));else a.appendChild(c);b.push(c)}};this.resetOffset=function(){};this.SetZIndex=function(a){e=a};this.Clear=function(){var a=null,c=null;while(a=b.pop()){c=a.parentElement;if(c)c.removeChild(a);a=null}};this.Destroy=function(){this.Clear();a=null}};Msn.Drawing.VMLGraphic.prototype=new Msn.Drawing.BaseGraphic;Msn.Drawing.VMLGraphic.prototype.CreatePrimitive=function(e,a){var b=null;if(a.type==VEShapeType.Pushpin){if(a.symbol.shape_drawtype=="v:oval"||a.symbol.shape_drawtype=="v:rect"||a.symbol.shape_drawtype=="v:roundrect")b=document.createElement(a.symbol.shape_drawtype);else b=document.createElement("v:roundrect");b.className="vml";var f=LatLongtoRoundedPixel(e,a.points[1],a.points[0]);b.style.width=a.symbol.style_width;b.style.height=a.symbol.style_height;b.style.left=-5+f.x+e.GetOffsetX()+"px";b.style.top=-5+f.y+e.GetOffsetY()+"px";b.style.position=a.symbol.style_position}else{b=document.createElement("v:shape");b.className="MSVE_Shape vml";var g=null;g=GetVmlPath(e,a);var h=e.GetMapWidth(),i=e.GetMapHeight();b.style.top="0px";b.style.left="0px";b.style.width=h+"px";b.style.height=i+"px";b.coordsize=h+" "+i;b.style.position=a.symbol.style_position;b.path=g}b.id=a.id!=0?a.id:a.iid;b.style.zIndex=a.symbol.style_zIndex_polyshape;b.unselectable=a.symbol.shape_unselectable;var c=document.createElement("v:stroke");c.className="vml";c.joinstyle=a.symbol.stroke_joinstyle;c.endcap=a.symbol.stroke_endcap;c.opacity=a.symbol.stroke_opacity;c.dashstyle=a.symbol.stroke_dashstyle;c.filltype=a.symbol.stroke_filltype;c.color2=a.symbol.stroke_color2;c.color=a.symbol.stroke_color;c.weight=a.symbol.stroke_weight;c.linestyle=a.symbol.stroke_style;if(a.type==VEShapeType.Polygon){var d=document.createElement("v:fill");d.className="vml";d.color=a.symbol.fill_color;d.colors=a.symbol.fill_colors;d.color2=a.symbol.fill_color2;d.type=a.symbol.fill_type;d.opacity=a.symbol.fill_opacity;b.appendChild(d)}else if(a.type==VEShapeType.Polyline)b.filled=false;else if(a.type==VEShapeType.Pushpin){b.style.filter=a.symbol.style_filter;b.style.zIndex=a.symbol.style_zIndex;b.style.display=a.symbol.style_display;b.unselectable=a.symbol.shape_unselectable;b.fill=true;b.filled=true;b.fillcolor=a.symbol.fill_color}b.appendChild(c);return b};Msn.Drawing.VMLGraphic.prototype.UpdatePoints=function(d,a,b,c){if(c&&(a.type==VEShapeType.Polyline||a.type==VEShapeType.Polygon)){var e=GetVmlPath(d,a);b.path=e}return b};Msn.Drawing.VMLGraphic.prototype.UpdateStyle=function(f,a,e){e.style.zIndex=a.symbol.style_zIndex_polyshape;e.unselectable=a.symbol.shape_unselectable;var c=e.firstChild,b=null,d=null;while(c!=null){if(c.tagName=="stroke")b=c;else if(c.tagName=="fill")d=c;c=c.nextSibling}if(b){b.joinstyle=a.symbol.stroke_joinstyle;b.endcap=a.symbol.stroke_endcap;b.opacity=a.symbol.stroke_opacity;b.dashstyle=a.symbol.stroke_dashstyle;b.filltype=a.symbol.stroke_filltype;b.color2=a.symbol.stroke_color2;b.color=a.symbol.stroke_color;b.weight=a.symbol.stroke_weight;b.linestyle=a.symbol.stroke_style}if(a.type==VEShapeType.Polygon&&d){d.color=a.symbol.fill_color;d.color2=a.symbol.fill_color2;d.type=a.symbol.fill_type;d.opacity=a.symbol.fill_opacity}return e};Msn.Drawing.VMLGraphic.prototype._printable=false;Msn.Drawing.VMLGraphic.prototype._printTilesLayer=null;Msn.Drawing.VMLGraphic.prototype._printTopLayer=null;Msn.Drawing.VMLGraphic.prototype.CreatePrintLayer=function(a,d,c,b){if(!this._printable){this._printTilesLayer=document.createElement("div");this._printTilesLayer.className="MSVE_Print_TileLayer";this._printTilesLayer.innerHTML="";a.appendChild(this._printTilesLayer);this._printTopLayer=document.createElement("div");this._printTopLayer.className="MSVE_Print_TopLayer";this._printTopLayer.innerHTML="";this._printTopLayer.style.width=c;this._printTopLayer.style.height=b;this._printTopLayer.zIndex=100;a.parentNode.appendChild(this._printTopLayer);this._printable=true}};Msn.Drawing.VMLGraphic.prototype.RemovePrintLayer=function(){if(this._printable){this._printable=false;this._printTilesLayer.parentNode.removeChild(this._printTilesLayer);this._printTopLayer.parentNode.removeChild(this._printTopLayer);this._printTilesLayer=null;this._printTopLayer=null}};Msn.Drawing.VMLGraphic.prototype.AddPrintTile=function(f,g,e,d,b,h,c){var a=null;if(this._printable){a=document.createElement("div");a.style.position="absolute";a.style.top=g;a.style.left=e;a.style.width=d+1;a.style.height=b+1;a.style.zIndex=c;a.innerHTML="";this._printTilesLayer.appendChild(a)}return a};Msn.Drawing.VMLGraphic.prototype.RemovePrintTile=function(a){if(a.parentNode)a.parentNode.removeChild(a)};Msn.Drawing.VMLGraphic.prototype.AddLogo=function(b){if(this._printable){var a=document.createElement("v:image");a.src=b;a.className="MSVE_PoweredByLogo_print vml";this._printTopLayer.appendChild(a)}};Msn.Drawing.SVGGraphic=function(c,b){Msn.Drawing.BaseGraphic.call();var g=new Msn.Drawing.Color(255,0,0,1),f=new Msn.Drawing.Color(0,255,0,1);_curmap=b;this._svgLayer=null;var d=60,e=c,a=[];this.DrawPrimitive=function(d){var c=Msn.Drawing.SVGGraphic.prototype.DrawPrimitive(b,d,this);if(c)a.push(c)};this.resetOffset=function(){_curmap.resetSvgLayer()};this.SetZIndex=function(a){d=a;if(this._svgLayer!=null)this._svgLayer.SetZIndex(a)};this.Destroy=function(){this.Clear()};this.Clear=function(){if(this._svgLayer==null)return;var b=null,c=null;while(b=a.pop()){c=b.parentNode;if(c)c.removeChild(b);b=null}}};Msn.Drawing.SVGGraphic.prototype=new Msn.Drawing.BaseGraphic;Msn.Drawing.SVGGraphic.prototype.CreatePrimitive=function(a,b,c){this._svgLayer=a.getSvgLayer();return this._svgLayer.addShape(b,c)};Msn.Drawing.SVGGraphic.prototype.UpdatePoints=function(a,b,c){this._svgLayer=a.getSvgLayer();return this._svgLayer.UpdatePoints(b,c)};Msn.Drawing.SVGGraphic.prototype.UpdateStyle=function(a,b,c){this._svgLayer=a.getSvgLayer();return this._svgLayer.UpdateStyle(b,c)};Msn.Drawing.SVGGraphic.prototype._printable=false;Msn.Drawing.SVGGraphic.prototype._printTilesLayer=null;Msn.Drawing.SVGGraphic.prototype._printTopLayer=null;Msn.Drawing.SVGGraphic.prototype._printLogo=null;Msn.Drawing.SVGGraphic.prototype._offsetX=null;Msn.Drawing.SVGGraphic.prototype._offsetY=null;Msn.Drawing.SVGGraphic.prototype.CreatePrintLayer=function(d,a,c,b){if(!this._printable){this._svgLayer=a.getSvgLayer();this._printTopLayer=this._svgLayer.CreatePrintLayer("MSVE_Print_TopLayer");this._printTopLayer.setAttributeNS(null,"width",parseInt(c));this._printTopLayer.setAttributeNS(null,"height",parseInt(b));this._printTilesLayer=this._svgLayer.CreatePrintLayer("MSVE_Print_TileLayer");this._printable=true}};Msn.Drawing.SVGGraphic.prototype.RemovePrintLayer=function(){if(this._printable){this._printTilesLayer.parentNode.removeChild(this._printTilesLayer);this._printTopLayer.parentNode.removeChild(this._printTopLayer);this._printTilesLayer=null;this._printTopLayer=null;this._printLogo=null;this._printable=false}};Msn.Drawing.SVGGraphic.prototype.AddPrintTile=function(g,h,f,e,c,b,d){var a=null;if(this._printable){a=document.createElementNS("httpss://www.w3.org/2000/svg","image");a.setAttributeNS("httpss://www.w3.org/1999/xlink","xlink:href",g);a.setAttributeNS(null,"preserveAspectRatio","none");a.setAttributeNS(null,"x",f-this._offsetX);a.setAttributeNS(null,"y",h-this._offsetY);a.setAttributeNS(null,"width",e);a.setAttributeNS(null,"height",c);a.setAttributeNS(null,"opacity",b);this.AddPrintTileToLayer(a,d)}return a};Msn.Drawing.SVGGraphic.prototype.AddPrintTileToLayer=function(d,b){var a=this._printTilesLayer.firstChild;while(a&&a.style.zIndex1)a/=100;else if(a<0)a=0;return a}this.SetZIndex=function(a){if(!c.bShowSVG)return;c.GetsvgDiv().style.zIndex=a};this.UpdatePoints=function(a,b){if(a.type==VEShapeType.Polyline||a.type==VEShapeType.Polygon)b.setAttribute("points",GetSvgPath(c,a.points))};this.UpdateStyle=function(a,c){if(b==null)return;if(a.type!=VEShapeType.Pushpin){c.setAttribute("stroke",a.symbol.stroke_color);c.setAttribute("stroke-width",a.symbol.stroke_weight);c.setAttribute("stroke-linejoin",a.symbol.stroke_joinstyle);c.setAttribute("stroke-opacity",d(a.symbol.stroke_opacity));var f=this.lineDashStyles;for(var e=0;e=c.length)c.length+=Math.round(c.length/4);c[i++]=d;l=g;m=h}a++}if(i>0)c.length=i;return c.join("")}function LatLongtoRoundedPixel(b,d,e){var c;if(typeof VEMap!="undefined"&&b instanceof VEMap)c=new VELatLong(d,e);else c=new Msn.VE.LatLong(d,e);var a=b.LatLongToPixel(c,b.GetZoomLevel());if(!a)return null;a.x=MathRound(a.x);a.y=MathRound(a.y);return a}VE_LatLongThreshold={PixelDiff:8,DistDiff:.5,OriginLat:0,OriginLon:0,LatDiff:0,LonDiff:0,UseThreshold:true,IsNotInit:true};function VE_SetLatLonThreshold(c,e,d){VE_LatLongThreshold.IsNotInit=false;if(e!=null&&d!=null){VE_LatLongThreshold.OriginLat=d;VE_LatLongThreshold.OriginLon=e}var a,b=LatLongtoRoundedPixel(c,VE_LatLongThreshold.OriginLat,VE_LatLongThreshold.OriginLon);if(b){a=c.PixelToLatLong(new VEPixel(b.x+VE_LatLongThreshold.PixelDiff,b.y+VE_LatLongThreshold.PixelDiff));VE_LatLongThreshold.LatDiff=Math.abs(a.latitude-VE_LatLongThreshold.OriginLat);VE_LatLongThreshold.LonDiff=Math.abs(a.longitude-VE_LatLongThreshold.OriginLon)}}function VE_IsDisplayLatLon(e,i,h,b,a){if(!VE_LatLongThreshold.UseThreshold)return true;var c=Math.abs(VE_LatLongThreshold.OriginLat-a),d=Math.abs(VE_LatLongThreshold.OriginLon-b);if(Math.max(c,d)>VE_LatLongThreshold.DistDiff||VE_LatLongThreshold.IsNotInit)VE_SetLatLonThreshold(e,b,a);var f=Math.abs(a-h),g=Math.abs(b-i);if(f>VE_LatLongThreshold.LatDiff||g>VE_LatLongThreshold.LonDiff)return true;return false}function GetVmlPath(j,a){var h=a.points;if(!h)return null;var g=0,l=h.length,m=l/2,e=0,b=new Array(Math.max(128,Math.round(l/8)));b[e++]="m ";var q=MathRound(j.GetOffsetY()),p=MathRound(j.GetOffsetX()),f=null,n=0,o=0,c=0,d=0;if(l>=4){c=h[g*2];d=h[g*2+1];f=LatLongtoRoundedPixel(j,d,c);if(!f)return null;var i="";i=i.concat(f.x+p,",",f.y+q," l ");if(e>=b.length)b.length+=Math.round(b.length/4);b[e++]=i;n=c;o=d;++g}var k=false;if(a.type!=VEShapeType.Pushpin)if(a.minX==null||a.minY==null||a.maxX==null||a.maxY==null){k=false;a.minX=360;a.minY=360;a.maxX=-360;a.maxY=-360}else k=true;while(g=b.length)b.length+=Math.round(b.length/4);b[e++]=i;n=c;o=d}++g}if(e>=b.length)b.length+=1;b[e++]=" e";if(e>0)b.length=e;return b.join("")}function GetCurrentMapViewBounds(b){var o=b.GetCenterLongitude(),p=b.GetCenterLatitude(),a=b.LatLongToPixel(new Msn.VE.LatLong(p,o)),h=b.GetMapWidth(),g=b.GetMapHeight();if(!a||isNaN(a.x)||isNaN(a.y))return new Msn.VE.Bounds(0,0,-Infinity,-Infinity,Infinity,Infinity);var l,n,k,m,j=false,q=b.GetMapStyle(),c=b.PixelToLatLong(new VEPixel(a.x-h/2,a.y+g/2)),d=b.PixelToLatLong(new VEPixel(a.x+h/2,a.y-g/2));if(Msn.VE.MapStyle.IsViewOblique(q)){var e=b.PixelToLatLong(new VEPixel(a.x-h/2,a.y-g/2)),f=b.PixelToLatLong(new VEPixel(a.x+h/2,a.y+g/2));if(c!=null&&d!=null&&e!=null&&f!=null){l=Math.min(c.longitude,d.longitude,e.longitude,f.longitude);n=Math.min(c.latitude,d.latitude,e.latitude,f.latitude);k=Math.max(c.longitude,d.longitude,e.longitude,f.longitude);m=Math.max(c.latitude,d.latitude,e.latitude,f.latitude)}else j=true}else if(c!=null&&d!=null){l=Math.min(c.longitude,d.longitude);n=Math.min(c.latitude,d.latitude);k=Math.max(c.longitude,d.longitude);m=Math.max(c.latitude,d.latitude)}else j=true;var i=null;if(j)i=new Msn.VE.Bounds(0,0,-Infinity,-Infinity,Infinity,Infinity);else i=new Msn.VE.Bounds(0,0,l,n,k,m);return i}function GetBufferedMapViewBounds(b,a){var c=null,e=Math.abs(a.x2-a.x1),d=Math.abs(a.y2-a.y1);c=new Msn.VE.Bounds(0,0,a.x1-b*e,a.y1-b*d,a.x2+b*e,a.y2+b*d);return c}function IsContainedInView(a,b){var c=false;if(b.x1>a.x1&&b.y1>a.y1&&b.x2b.x2||a.y2b.y2)return false;return true}function IsDisplayShape(d,c,e,g,f,h){if(c==0)return true;if(e==f&&g==h)return true;var a=null,b=null;a=d.LatLongToPixel(new Msn.VE.LatLong(g,e));b=d.LatLongToPixel(new Msn.VE.LatLong(h,f));if(a==null||b==null)return true;if(Math.abs(b.y-a.y)>c||Math.abs(b.x-a.x)>c)return true;else return false}function IsRecIntersect(c,d,a,b,g,h,e,f){if(ae||bf)return false;return true}function wrapVmlElementInDiv(a){var c=Msn.VE.Css.Functions.getComputedStyle,b=document.createElement("div");b.className="VmlContainer";b.style.left=c(a,"left");b.style.top=c(a,"top");b.style.width=c(a,"width");b.style.height=c(a,"height");a.style.position="relative";a.style.left="0px";a.style.top="0px";a.style.width="100%";a.style.height="100%";b.appendChild(a);return b}function VEColorToHexString(c,b,a){return "#"+(c<16?"0":"")+Number(c).toString(16)+(b<16?"0":"")+Number(b).toString(16)+(a<16?"0":"")+Number(a).toString(16)}function VEHexStringToColor(){this.Convert=function(a){a=a.toUpperCase();var b=hTov(a.substring(0,1)),c=hTov(a.substring(1,2)),d=hTov(a.substring(2,3)),e=hTov(a.substring(3,4)),f=hTov(a.substring(4,5)),g=hTov(a.substring(5,6)),h=b*16+c,i=d*16+e,j=f*16+g;return new VEColor(h,i,j,1)};function hTov(h){var v=0;if(h=="A")v=10;else if(h=="B")v=11;else if(h=="C")v=12;else if(h=="D")v=13;else if(h=="E")v=14;else if(h=="F")v=15;else v=eval(h);return v}}_VERegisterNamespaces("Msn.VE");$MVEM=new function(){this.IsEnabled=function(a){if(a==undefined)throw new VEException("$MVEM.IsEnabled","err_invalidfeature","Specified feature is invalid.");return a}};function VEException(b,c,a){this.source=b;this.name=c;this.message=a}VEException.prototype.Name=this.name;VEException.prototype.Source=this.source;VEException.prototype.Message=this.message;function pseudoHover(a){if(!document.all)return;var d=function(){a.className+=" ms_pseudoHover"},c=function(){a.className=a.className.replace(/\s*ms_pseudoHover/g,"")};a.attachEvent("onmouseenter",d);a.attachEvent("onmouseleave",c);window.attachEvent("onunload",b);function b(){a.detachEvent("onmouseenter",d);a.detachEvent("onmouseleave",c);window.detachEvent("onunload",b)}}function pseudoHoverForChildren(d,a){if(!document.all)return;if(!a)a="LI";var c=d.getElementsByTagName(a);for(var b=0;b-1)Msn.VE.Css.Cursors[a.name]=a.fallback;else Msn.VE.Css.Cursors[a.name]='url("'+a.domain+a.path+'"), '+a.fallback}}},RegEx:{RectClip:/rect\((auto|\d+px|\d*\.*\d+em|\d*\.*\d+pt)\s*,*\s*(auto|\d+px|\d*\.*\d+em|\d*\.*\d+pt)\s*,*\s*(auto|\d+px|\d*\.*\d+em|\d*\.*\d+pt)\s*,*\s*(auto|\d+px|\d*\.*\d+em|\d*\.*\d+pt)\)/},Functions:{addClass:function(a){this.alterClass(a,arguments,true)},removeClass:function(a){this.alterClass(a,arguments,false)},alterClass:function(a,e,g){var c,h=e.length;for(c=1;c=2)this.Locale=arguments[1]}this.IsCompatibleWith=function(c){for(var b=0;ba.MajorVersion||a.MajorVersion==this.MajorVersion&&a.MinorVersion>=this.MinorVersion))return true}return false};function c(){if(a.UserAgent.indexOf("Mac")==-1&&(a.UserAgent.indexOf("Gecko")!=-1||a.UserAgent.indexOf("MSIE")!=-1))a.BrowserCaps|=Msn.VE.BrowserCaps.RightMouseButton}function d(){if(a.UserAgent.indexOf("MSIE 7")!=-1||a.UserAgent.indexOf("MSIE 8")!=-1||a.UserAgent.indexOf("MSIE 9")!=-1||a.UserAgent.indexOf("Gecko")!=-1)a.BrowserCaps|=Msn.VE.BrowserCaps.WindowlessSelectElement}function k(){if(!b())a.BrowserCaps|=Msn.VE.BrowserCaps.VML}function j(){if(b())a.BrowserCaps|=Msn.VE.BrowserCaps.SVG}function b(){var a;if(document.implementation&&document.implementation.hasFeature)a=document.implementation.hasFeature("https://www.w3.org/TR/SVG11/feature#BasicStructure","1.1");else{var c=document.createElement("v:shape");c.style.behavior="url(#default#VML)";a=typeof c.strokecolor==="undefined"}b=function(){return a};return a}function i(){try{if(a.UserAgent.indexOf("MSIE")!=-1)a.BrowserCaps|=Msn.VE.BrowserCaps.AddFavourite}catch(b){}}this.GetVersionString=function(){if(this.versionString==null)if(a.UserAgent.indexOf("Win")!=-1&&a.UserAgent.indexOf("MSIE")!=-1){var b=null,c;try{b=document.createElement("
'+L_Dashboard3DText_Text+"
";j.attachEvent("onclick",u);window.setTimeout(w,6000);e.displaying3DNotification=true}else j.style.display="none"}function B(a){r(a);h=document.createElement("a");h.className="MSVE_toggleGlyph";h.title=L_NavActionHideToolTip_Text;f.appendChild(h)}function r(a){if($MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)&&a!=false){if(!k){e.Create(b.Mode);f.appendChild(d[b.Mode]);v();k=true}f.className="MSVE_header MSVE_with3D"}else{f.className="MSVE_header MSVE_no3D";k=false}}function y(){if(k){e.DestroyControl(b.Mode);if(d[b.Mode]!=null)f.removeChild(d[b.Mode]);k=false}f.removeChild(h);c.removeChild(f);h=f=null}function u(){j.style.display="none";e.displaying3DNotification=false;if(!a.IsModeEnabled(Msn.VE.MapActionMode.Mode3D))if(typeof ShowMessage!="undefined"){ShowMessage(L_3DLoading_Text);window.setTimeout(View3DSwitch,200)}else a.EnableMode(Msn.VE.MapActionMode.Mode3D)}function w(){if(j){j.style.display="none";e.displaying3DNotification=false}if(a!=null&&!a.IsModeEnabled(Msn.VE.MapActionMode.Mode3D))if(a.IsObliqueAvailable()&&$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye))e.DisplayObliqueNotification()}this.SetX=function(a){c.style.left=a+"px"};this.GetElement=function(){return c};this.GetShimmedElements=function(){return [c]};this.GetHeader=function(){return f};this.GetY=function(){return g(c).getScreenPosition().y};this.GetHeight=function(){return c.offsetHeight};this.ShowToggleGlyph=function(){if(h!=null&&h!="undefined")h.style.display="block"};this.HideToggleGlyph=function(){if(h!=null&&h!="undefined")h.style.display="none"};this.SetShowMapModeSwitch=function(a){if(a!=k){if(!a){e.DestroyControl(b.Mode);f.removeChild(d[b.Mode]);k=false}r(a)}};function t(){var b=a.GetDashboard().GetHeader().lastChild;a.GetDashboard().ShowToggleGlyph();window.dbRoller=new Msn.VE.Animation.Roller(a.GetDashboard().GetElement());dbRoller.setAccelerationFunction(AccelerationFunctions.CrazyElevator);dbRoller.setYLeave(32);dbRoller.hookEvent("beforerollin",function(){dbRoller.setYLeave(a.GetDashboard().GetHeader().offsetHeight);if(a.GetMinimap()){a.GetMinimap().Hide();if(a.GetMinimap().IsInitialized())a.GetMinimap().SetDoUpdates(false)}});dbRoller.hookEvent("afterrollin",function(){a.GetDashboard().GetElement().className=a.GetDashboard().GetElement().className.replace(/\s*expanded/g,"");a.GetDashboard().GetElement().className+=" collapsed";a.GetDashboard().GetHeader().lastChild.title=L_NavActionShowToolTip_Text});dbRoller.hookEvent("beforerollout",function(){a.GetDashboard().GetElement().className=a.GetDashboard().GetElement().className.replace(/\s*collapsed/g,"");a.GetDashboard().GetElement().className+=" expanded"});dbRoller.hookEvent("afterrollout",function(){if(a.GetMinimap()){a.GetMinimap().Show();if(minimapRoller&&minimapRoller.isExpanded()&&a.GetMinimap().IsInitialized())a.GetMinimap().SetDoUpdates(true)}a.GetDashboard().GetHeader().lastChild.title=L_NavActionHideToolTip_Text});dbRoller.hookEvent("roll",RollShim);b.onclick=function(){if(dbRoller.isExpanded())dbRoller.rollIn(Msn.VE.Animation.RollDirection.BottomUp);else dbRoller.rollOut(Msn.VE.Animation.RollDirection.TopDown);return false};b=null}this.Hide=function(){if(c)c.style.display="none"};this.Show=function(){if(c)c.style.display="block"};this.Init=E;this.Destroy=D;this.createRoller=t};function DashboardContainerMouseMoveEvent(a){a=GetEvent(a);return false}Msn.VE.V6Control=function(L,e,mb,jb,D,ab,W,E){Msn.VE.DashboardStates=new function(){this.MapMode=new function(){this.Flatland=1;this.View3D=2};this.MapView=new function(){this.Ortho=4;this.Oblique=8;this.StreetSide=16};this.MapStyle=new function(){this.Road=32;this.Shaded=64;this.Aerial=128;this.Hybrid=256}};var H={Style:"MSVE_navAction_mapStyleCell",Road:"MSVE_navAction_RoadMapStyle",Aerial:"MSVE_navAction_AerialMapStyle",Hybrid:"MSVE_navAction_HybridMapStyle",Mode:"MSVE_navAction_modeCell",Mode2D:"MSVE_navAction_FlatlandMapMode",Mode3D:"MSVE_navAction_View3DMapMode",View:"MSVE_navAction_mapViewCellInner",Ortho:"MSVE_navAction_OrthoMapView",Oblique:"MSVE_navAction_ObliqueMapView",StreetSide:"MSVE_navAction_StreetSideMapView",ShowLabels:"MSVE_navAction_showLabels",Pan:"MSVE_navAction_panContainer",PanUp:"MSVE_navAction_panUp",PanDown:"MSVE_navAction_panDown",PanLeft:"MSVE_navAction_panLeft",PanRight:"MSVE_navAction_panRight",TinyZoom:"MSVE_TinyZoomBar",OrthoZoom:"MSVE_OrthoZoomBar",ObliqueZoom:"MSVE_ObliqueZoomBar",ObliqueCompass:"MSVE_compassDiv",ObliqueNotification:"MSVE_obliqueNotification",ThreeDUpdatedNotification:"MSVE_threeDUpdatedNotification",Traffic:"MSVE_navAction_traffic"},kb="Nav Bar";Msn.VE.CommonControls=function(c,u){function yb(b){var f=document.createElement("div"),e=document.createElement("div"),a=document.createElement("div"),d=document.createElement("div"),w=0,s=0,j=false;this.Init=function(){d.className="MSVE_ZoomBar_minus";d.id="MSVE_navAction_obliqueZoomBar_minus";d.unselectable="on";d.title=L_ZoomBarMinusToolTip_Text;d.attachEvent("onclick",l);pseudoHover(d);a.className="MSVE_ZoomBar_slider";a.id="MSVE_navAction_obliqueZoomBar_slider";a.unselectable="on";a.attachEvent("onmousedown",o);a.attachEvent("onmousemove",p);a.attachEvent("onmouseup",q);a.attachEvent("onclick",IgnoreEvent);pseudoHover(a);e.className="MSVE_ObliqueZoomBar_bar";e.unselectable="on";e.appendChild(a);e.attachEvent("onclick",r);f.className="MSVE_ZoomBar_plus";f.id="MSVE_navAction_obliqueZoomBar_plus";f.title=L_ZoomBarPlusToolTip_Text;f.unselectable="on";f.attachEvent("onclick",m);pseudoHover(f);b.className="MSVE_ZoomBar";b.id="MSVE_ObliqueZoomBar";b.appendChild(d);b.appendChild(e);b.appendChild(f);b.attachEvent("onmousedown",IgnoreEvent);b.attachEvent("onmouseup",IgnoreEvent);b.attachEvent("onclick",IgnoreEvent);b.attachEvent("ondblclick",IgnoreEvent);i()};function v(){b.style.display="block"}function u(){b.style.display="none"}function r(a){a=GetEvent(a);CancelEvent(a);k();n(h(Gimme.Screen.getMousePosition(a).y));return false}function h(b){b-=s+d.offsetHeight+a.offsetHeight;var c=e.offsetHeight-a.offsetHeight;if(b<0)b=0;else if(b>c)b=c;return b}function l(){c.ZoomOut()}function m(){c.ZoomIn()}function t(){d.detachEvent("onclick",l);a.detachEvent("onmousedown",o);a.detachEvent("onmousemove",p);a.detachEvent("onmouseup",q);a.detachEvent("onclick",IgnoreEvent);e.detachEvent("onclick",r);f.detachEvent("onclick",m);b.detachEvent("onmousedown",IgnoreEvent);b.detachEvent("onmousedown",IgnoreEvent);b.detachEvent("onclick",IgnoreEvent);b.detachEvent("ondblclick",IgnoreEvent);d=a=e=f=null}function o(b){b=GetEvent(b);CancelEvent(b);k();if(a.setCapture)a.setCapture();j=true;return false}function p(b){b=GetEvent(b);CancelEvent(b);if(j)a.style.top=h(Gimme.Screen.getMousePosition(b).y)+"px";return false}function q(b){b=GetEvent(b);CancelEvent(b);if(a.releaseCapture)a.releaseCapture();j=false;n(h(Gimme.Screen.getMousePosition(b).y));i();return false}function k(){var a=g(b).getScreenPosition();w=a.x;s=a.y}function n(f){var b=e.offsetHeight-a.offsetHeight,d=1+MathRound((b-f)/b*1);c.SetZoom(d)}function i(){if(c.GetZoomLevel()==1)a.style.top=e.offsetHeight-a.offsetHeight+"px";else a.style.top="0px"}this.Destroy=t;this.Show=v;this.Hide=u;this.UpdateFromMap=i}function B(z,x,y){var a=document.createElement("div");a.setAttribute("id",z);a.innerHTML=x;var c="MSVE_obliqueCompassPointOff",g=y;a.attachEvent("onmouseover",f);a.attachEvent("onmouseout",h);a.attachEvent("onclick",i);this.onclick=null;this.onmouseover=null;this.onmouseout=null;var e=25,b=this,d=false,j=new v(a,17,17);function f(e){if(d)return;c=a.className;a.className="MSVE_obliqueCompassPointHover";if(b.onmouseover)b.onmouseover(e)}function i(a){if(d)return;f(a);c="MSVE_obliqueCompassPointOn";if(b.onclick)b.onclick(a)}function h(e){if(d)return;a.className=c;if(b.onmouseout)b.onmouseout(e)}function m(){c="MSVE_obliqueCompassPointOn";a.className="MSVE_obliqueCompassPointOn"}function l(){c="MSVE_obliqueCompassPointOff";a.className="MSVE_obliqueCompassPointOff"}function u(){d=true;l()}function k(){d=false;m()}function q(){return a}function n(){return g}function o(a){g=a}function w(){j.Reset();k()}function p(b){a.style.left=b.left;a.style.top=b.top}function v(r,n,o){var g=r,a=0,b=.3,c=0,l=40,k=Math.PI/2,h=true,p=b+.1;function m(a,b,c){if(b>=c-a&&b<=c+a)return true;return false}function i(){a+=b;if(a>Math.PI*2)a-=Math.PI*2;else if(a<0)a+=Math.PI*2;if(m(p,a,c)){b=.3;a=c;d(a);return}d(a);window.setTimeout(i,l)}function d(a){var b=n+e*Math.sin(a),c=o+e*Math.cos(a);g.style.left=b+"px";g.style.top=c+"px"}function f(a){c=a;i()}function j(a,c){h=c;if(!h)b*=-1;f(k*a)}function q(){a=0}this.RotateTo=f;this.RotateToIndex=j;this.Reset=q}function t(){a.detachEvent("onmouseover",f);a.detachEvent("onmouseout",h);a.detachEvent("onclick",i);a=null}function s(a){e=a}function r(){return e}this.SetRadius=s;this.GetRadius=r;this.GetElement=q;this.GetCurrentPositionIndex=n;this.SetCurrentPositionIndex=o;this.SetCurrentPosition=p;this.On=m;this.Off=l;this.RotateToIndex=j.RotateToIndex;this.Reset=w;this.Disable=u;this.Enable=k;this.Destroy=t}function xb(D){var o=[];o.push({"top":"-8px","left":"17px"});o.push({"top":"17px","left":"42px"});o.push({"top":"42px","left":"17px"});o.push({"top":"17px","left":"-8px"});var f=document.createElement("div");f.setAttribute("id","MSVE_obliqueCompassContainer");f.title=L_ObliqueCompassSelectDirection_Text;var a=new B("MSVE_obliqueCompassPointN","N",0),i=a.GetElement();i.attachEvent("onclick",r);i.attachEvent("onmouseover",u);i.attachEvent("onmouseout",h);var d=new B("MSVE_obliqueCompassPointE","E",1),k=d.GetElement();k.attachEvent("onclick",t);k.attachEvent("onmouseover",x);k.attachEvent("onmouseout",h);var b=new B("MSVE_obliqueCompassPointS","S",2),j=b.GetElement();j.attachEvent("onclick",s);j.attachEvent("onmouseover",v);j.attachEvent("onmouseout",h);var e=new B("MSVE_obliqueCompassPointW","W",3),l=e.GetElement();l.attachEvent("onclick",w);l.attachEvent("onmouseover",y);l.attachEvent("onmouseout",h);var m=document.createElement("div");m.id="MSVE_navAction_obliqueCompassArrow";f.appendChild(i);f.appendChild(k);f.appendChild(j);f.appendChild(l);f.appendChild(m);D.appendChild(f);q();function p(a){if(a<0)a=4-Math.abs(a);return a}function n(l,i,k){var c=l.GetCurrentPositionIndex(),h,f=[];f[a.GetCurrentPositionIndex()]=L_North_Text;f[b.GetCurrentPositionIndex()]=L_South_Text;f[d.GetCurrentPositionIndex()]=L_East_Text;f[e.GetCurrentPositionIndex()]=L_West_Text;if(i){h=i==Msn.VE.BirdsEyeSearchSpinDirection.CounterclockwiseSpin;if(c+i!=2){var g;switch(i){case -1:switch(c){case 0:case 2:g=[3];break;case 1:g=[3,2]}break;case 1:switch(c){case 0:case 2:g=[1];break;case 3:g=[1,2]}}if(g){var j=L_ObliqueSkippingOneDirection_Text;if(c==0)j=L_ObliqueNoImageryInRequestedDirection_Text;if(g.length==2)j=L_ObliqueSkippingTwoDirections_Text;if(typeof ShowMessage!="undefined")ShowMessage(j.replace("%1",f[c]).replace("%2",f[g[0]]).replace("%3",f[g[1]]))}}}else{h=c!=3;if(k)if(c==0){if(typeof ShowMessage!="undefined")ShowMessage(L_ObliqueModeImageNotAvailable_Text)}else if(typeof ShowMessage!="undefined")ShowMessage(L_ObliqueNoImageryInRequestedDirection_Text.replace("%1",f[c]).replace("%2",f[0]))}d.SetCurrentPositionIndex(p(d.GetCurrentPositionIndex()-c));e.SetCurrentPositionIndex(p(e.GetCurrentPositionIndex()-c));a.SetCurrentPositionIndex(p(a.GetCurrentPositionIndex()-c));b.SetCurrentPositionIndex(p(b.GetCurrentPositionIndex()-c));a.RotateToIndex(2-a.GetCurrentPositionIndex()<0?a.GetCurrentPositionIndex():2-a.GetCurrentPositionIndex(),h);d.RotateToIndex(2-d.GetCurrentPositionIndex()<0?d.GetCurrentPositionIndex():2-d.GetCurrentPositionIndex(),h);b.RotateToIndex(2-b.GetCurrentPositionIndex()<0?b.GetCurrentPositionIndex():2-b.GetCurrentPositionIndex(),h);e.RotateToIndex(2-e.GetCurrentPositionIndex()<0?e.GetCurrentPositionIndex():2-e.GetCurrentPositionIndex(),h)}function g(a){switch(a){case 0:h();break;case 1:z();break;case 2:A();break;case 3:C()}}function h(){m.className="MSVE_obliqueCompassArrowU"}function A(){m.className="MSVE_obliqueCompassArrowD"}function z(){m.className="MSVE_obliqueCompassArrowR"}function C(){m.className="MSVE_obliqueCompassArrowL"}function s(){if(c.GetDashboard()&&c.GetDashboard().SetLastRotationDirection)c.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin);n(b);g(0);var a=c.GetObliqueScene();if(a)if(a.GetOrientation()!=Msn.VE.Orientation.South)c.SetObliqueOrientation("South",null,true)}function r(){if(c.GetDashboard()&&c.GetDashboard().SetLastRotationDirection)c.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin);n(a);g(0);var b=c.GetObliqueScene();if(b)if(b.GetOrientation()!=Msn.VE.Orientation.North)c.SetObliqueOrientation("North",null,true)}function t(){if(c.GetDashboard()&&c.GetDashboard().SetLastRotationDirection)c.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin);n(d);g(0);var a=c.GetObliqueScene();if(a)if(a.GetOrientation()!=Msn.VE.Orientation.East)c.SetObliqueOrientation("East",null,true)}function w(){if(c.GetDashboard()&&c.GetDashboard().SetLastRotationDirection)c.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin);n(e);g(0);var a=c.GetObliqueScene();if(a)if(a.GetOrientation()!=Msn.VE.Orientation.West)c.SetObliqueOrientation("West",null,true)}function v(){g(b.GetCurrentPositionIndex())}function x(){g(d.GetCurrentPositionIndex())}function y(){g(e.GetCurrentPositionIndex())}function u(){g(a.GetCurrentPositionIndex())}function H(){f.style.display="none"}function I(){f.style.display="block"}function q(k,j){var i=c.GetObliqueScene();if(!i)return;var f=i.GetOrientation(),h;switch(f){case "North":h=a;break;case "South":h=b;break;case "East":h=d;break;case "West":h=e}n(h,k,j);g(0);if(f!=Msn.VE.Orientation.North)a.Enable();else a.Disable();if(f!=Msn.VE.Orientation.South)b.Enable();else b.Disable();if(f!=Msn.VE.Orientation.East)d.Enable();else d.Disable();if(f!=Msn.VE.Orientation.West)e.Enable();else e.Disable()}function G(){a.Destroy();d.Destroy();b.Destroy();e.Destroy();i.detachEvent("onclick",r);i.detachEvent("onmouseover",u);i.detachEvent("onmouseout",h);k.detachEvent("onclick",t);k.detachEvent("onmouseover",x);k.detachEvent("onmouseout",h);j.detachEvent("onclick",s);j.detachEvent("onmouseover",v);j.detachEvent("onmouseout",h);l.detachEvent("onclick",w);l.detachEvent("onmouseover",y);l.detachEvent("onmouseout",h);f=null}function F(c){a.SetRadius(c);b.SetRadius(c);d.SetRadius(c);e.SetRadius(c)}function E(){return a.GetRadius()}this.Hide=H;this.Show=I;this.UpdateFromMap=q;this.SetRadius=F;this.GetRadius=E;this.Destroy=G}function Bb(b){var f=document.createElement("div"),e=document.createElement("div"),a=document.createElement("div"),d=document.createElement("div"),v=0,s=0,j=false;this.Init=function(){d.className="MSVE_ZoomBar_minus";d.id="MSVE_navAction_orthoZoomBar_minus";d.title=L_ZoomBarMinusToolTip_Text;d.unselectable="on";d.attachEvent("onclick",l);pseudoHover(d);a.className="MSVE_ZoomBar_slider";a.id="MSVE_navAction_orthoZoomBar_slider";a.title=L_ZoomBarSliderToolTip_Text;a.unselectable="on";a.attachEvent("onmousedown",o);a.attachEvent("onmousemove",p);a.attachEvent("onmouseup",q);a.attachEvent("onclick",IgnoreEvent);pseudoHover(a);e.className="MSVE_OrthoZoomBar_bar";e.unselectable="on";e.appendChild(a);e.attachEvent("onclick",r);f.className="MSVE_ZoomBar_plus";f.id="MSVE_navAction_orthoZoomBar_plus";f.title=L_ZoomBarPlusToolTip_Text;f.unselectable="on";f.attachEvent("onclick",m);pseudoHover(f);b.className="MSVE_ZoomBar";b.id="MSVE_OrthoZoomBar";b.appendChild(d);b.appendChild(e);b.appendChild(f);b.attachEvent("onmousedown",IgnoreEvent);b.attachEvent("onmouseup",IgnoreEvent);b.attachEvent("onclick",IgnoreEvent);b.attachEvent("ondblclick",IgnoreEvent);i()};this.Destroy=function(){d.detachEvent("onclick",l);a.detachEvent("onmousedown",o);a.detachEvent("onmousemove",p);a.detachEvent("onmouseup",q);a.detachEvent("onclick",IgnoreEvent);e.detachEvent("onclick",r);f.detachEvent("onclick",m);b.detachEvent("onmousedown",IgnoreEvent);b.detachEvent("onmousedown",IgnoreEvent);b.detachEvent("onclick",IgnoreEvent);b.detachEvent("ondblclick",IgnoreEvent);d=a=e=f=null};function u(){b.style.display="block"}function t(){b.style.display="none"}function k(){var a=g(b).getScreenPosition();v=a.x;s=a.y}function o(b){b=GetEvent(b);CancelEvent(b);k();if(a.setCapture)a.setCapture();j=true;return false}function p(b){b=GetEvent(b);CancelEvent(b);if(j)a.style.top=h(Gimme.Screen.getMousePosition(b).y)+"px";return false}function q(b){b=GetEvent(b);CancelEvent(b);if(a.releaseCapture)a.releaseCapture();j=false;n(h(Gimme.Screen.getMousePosition(b).y));i();return false}function m(){c.ZoomIn()}function l(){c.ZoomOut()}function r(a){a=GetEvent(a);CancelEvent(a);k();n(h(Gimme.Screen.getMousePosition(a).y));return false}function h(b){b-=s+d.offsetHeight+a.offsetHeight;var c=e.offsetHeight-a.offsetHeight;if(b<0)b=0;else if(b>c)b=c;return b}function n(f){var b=e.offsetHeight-a.offsetHeight,d=1+MathRound((b-f)/b*18);c.SetZoom(d)}function i(){var b=e.offsetHeight-a.offsetHeight,d=b-(c.GetZoomLevel()-1)/18*b;a.style.top=d+"px"}this.UpdateFromMap=i;this.Show=u;this.Hide=t}function Eb(){var h=document.createElement("div"),g=document.createElement("div"),f=document.createElement("div"),a=false,d=g,b=f;this.maxZoomLevel=21;this.minZoomLevel=1;this.Init=function(){g.className="MSVE_ZoomBar_plus";g.id="MSVE_navAction_tinyZoomBar_plus";g.title=L_ZoomBarPlusToolTip_Text;g.unselectable="on";f.className="MSVE_ZoomBar_minus";f.id="MSVE_navAction_tinyZoomBar_minus";f.title=L_ZoomBarMinusToolTip_Text;f.unselectable="on";c.AttachEvent("onendzoom",i);h.className="MSVE_ZoomBar";h.id="MSVE_TinyZoomBar";h.appendChild(g);h.appendChild(f);return h};this.HookupPlusMinusEvents=function(b,a){m(b);j(a)};function m(a){if(a)d=a;d.attachEvent("onmousedown",o);d.attachEvent("onmouseup",e);d.attachEvent("onmouseout",e)}this.HookupPlusEvents=m;function j(a){if(a)b=a;b.attachEvent("onmousedown",l);b.attachEvent("onmouseup",e);b.attachEvent("onmouseout",e)}this.HookupMinusEvents=j;function n(){if(d!=null){d.detachEvent("onmousedown",o);d.detachEvent("onmouseup",e);d.detachEvent("onmouseout",e)}if(a=="in")a=false}this.UnhookPlusEvents=n;function k(){if(b!=null){b.detachEvent("onmousedown",l);b.detachEvent("onmouseup",e);b.detachEvent("onmouseout",e)}if(a=="out")a=false}this.UnhookMinusEvents=k;this.Destroy=function(){n();k();c.DetachEvent("onendzoom",i);g=f=d=b=null};function q(){if(c.GetMapMode()==Msn.VE.MapActionMode.Mode3D)return true;else return c.IsAnimationEnabled()}function o(){a="in";c.ZoomIn()}function i(){window.setTimeout(p,q()?1:500)}function p(){if(a=="in"&&c.GetZoomLevel()<21)c.ZoomIn(false);else if(a=="out"&&c.GetZoomLevel()>1)c.ZoomOut(false)}function l(){a="out";c.ZoomOut()}function e(){a=false}this.GetPlus=function(){return g};this.GetMinus=function(){return f}}var a=H,j=[];j[a.Style]={Id:a.Style,InitialClass:null,OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[a.Road,a.Aerial,a.Hybrid],Text:null};j[a.Road]={Id:a.Road,InitialClass:"MSVE_MapStyle",OnClickFunction:sb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:s,Enabled:MapControl.Features.MapStyle.Road,Title:L_NavActionRoadToolTip_Text,Children:null,Text:L_NavActionRoad_Text};j[a.Aerial]={Id:a.Aerial,InitialClass:"MSVE_MapStyle",OnClickFunction:mb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:s,Enabled:MapControl.Features.MapStyle.Aerial,Title:L_NavActionAerialToolTip_Text,Children:null,Text:L_NavActionAerial_Text};j[a.Hybrid]={Id:a.Hybrid,InitialClass:"MSVE_MapStyle",OnClickFunction:nb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:s,Enabled:MapControl.Features.MapStyle.Hybrid,Title:L_NavActionHybridToolTip_Text,Children:null,Text:L_NavActionHybrid_Text};j[a.Mode]={Id:a.Mode,InitialClass:"MSVE_modeCell",OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[a.Mode2D,a.Mode3D],Text:null};j[a.Mode2D]={Id:a.Mode2D,InitialClass:"MSVE_MapMode",OnClickFunction:kb,StyleUpdateEvent:"oninitmode",StyleUpdateFunction:Z,Enabled:true,Title:L_NavActionFlatlandToolTip_Text,Children:null,Text:L_NavActionFlatland_Text};j[a.Mode3D]={Id:a.Mode3D,InitialClass:"MSVE_MapMode",OnClickFunction:qb,StyleUpdateEvent:"oninitmode",StyleUpdateFunction:Z,Enabled:MapControl.Features.MapStyle.View3D,Title:L_NavActionView3DToolTip_Text,Children:null,Text:L_NavActionView3D_Text};j[a.View]={Id:a.View,InitialClass:null,OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[a.Ortho,a.Oblique,a.StreetSide],Text:null};j[a.Ortho]={Id:a.Ortho,InitialClass:"MSVE_MapStyle",OnClickFunction:t,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:s,Enabled:true,Title:L_NavActionOrthoToolTip_Text,Children:null,Text:null};j[a.Oblique]={Id:a.Oblique,InitialClass:"MSVE_MapStyle",OnClickFunction:F,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:s,Enabled:false,Title:L_NavActionObliqueToolTip_Text,Children:null,Text:null};j[a.StreetSide]={Id:a.StreetSide,InitialClass:"MSVE_MapStyle",OnClickFunction:hb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:s,Enabled:false,Title:L_NavActionStreetSideToolTip_Text,Children:null,Text:null};j[a.ShowLabels]={Id:a.ShowLabels,InitialClass:"MSVE_MapStyle",OnClickFunction:vb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:s,Enabled:true,Title:L_NavActionShowLabels_Text,Children:null,Text:L_NavActionLabels_Text};j[a.Traffic]={Id:a.Traffic,InitialClass:"MSVE_MapStyle",OnClickFunction:Ab,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:L_NavActionShowTrafficToolTip_Text,Children:null,Text:L_NavActionTraffic_Text};this.ObliqueFunctions=[];this.ObliqueFunctions.ObliqueImageryIn3D={ObliqueClickFunction:fb,Title:L_NavActionShowObliqueToolTip_Text,DependsOnObliqueAvailability:true};this.ObliqueFunctions.ObliqueTiltIn3D={ObliqueClickFunction:lb,Title:L_NavAction3DObliqueToolTip_Text,DependsOnObliqueAvailability:false};var e=this,b=[],h=Msn.VE.DashboardStates.MapMode.Flatland,d=Msn.VE.DashboardStates.MapView.Ortho,f=Msn.VE.DashboardStates.MapStyle.Road;this.orthoZoom=null;var l;this.obliqueCompass=null;this.obliqueZoom=null;this.displaying3DNotification=false;var y=null;this.Oblique3DFunctionality=this.ObliqueFunctions.ObliqueImageryIn3D;var q=document.createElement("div");q.id="MSVE_navAction_palette";document.body.appendChild(q);var I=false,ab=false,S=19,Q=1,k=true,R=false,r=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin,N;for(N in u)if(u.hasOwnProperty(N))M(u[N]);function Ib(){var d=$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)&&(c.IsObliqueAvailable()||c.IsMapViewOblique());if(d){i(a.Oblique,true);if(b[a.ObliqueNotification]&&!c.IsMapViewOblique()&&!g(b[a.Oblique]).hasClass("MSVE_selected"))w()}else{i(a.Oblique,false);if(b[a.ObliqueNotification])p()}W();if(c.IsModeEnabled(Msn.VE.MapActionMode.Mode3D))U();else T()}function Hb(){var a;for(a in u)if(u.hasOwnProperty(a))J(u[a]);document.body.removeChild(q);q=null}function M(f){switch(f){case a.OrthoZoom:b[f]=document.createElement("div");e.orthoZoom=new Bb(b[f]);e.orthoZoom.Init();c.AttachEvent("onendzoom",v);q.appendChild(b[f]);v();return;case a.ObliqueZoom:b[f]=document.createElement("div");ab=true;b[f].id=f;q.appendChild(b[f]);return;case a.TinyZoom:l=new Eb;b[f]=l.Init();c.AttachEvent("onendzoom",v);v();return;case a.ObliqueCompass:b[f]=document.createElement("div");b[f].id=f;I=true;return;case a.ObliqueNotification:db();return;case a.ThreeDUpdatedNotification:cb();return;case a.Oblique:c.AttachEvent("onve3dphotostatechanged",rb)}var d=j[f],g=document.createElement("div");b[d.Id]=g;g.id=d.Id;g.enabled=d.Enabled;g.classRecipients=[g];if(d.Text!=null)g.innerText=d.Text;if(d.OnClickFunction!=null&&d.Enabled==true)g.attachEvent("onclick",d.OnClickFunction);if(d.StyleUpdateEvent!=null&&d.StyleUpdateFunction!=null)c.AttachEvent(d.StyleUpdateEvent,d.StyleUpdateFunction);if(d.InitialClass){g.className=d.InitialClass;if(!g.enabled)g.className+="_disabled"}if(d.Children!=null){var h;for(h in d.Children)if(d.Children.hasOwnProperty(h))g.appendChild(M(d.Children[h]))}else pseudoHover(g);switch(f){case a.Oblique:case a.ObliqueCompass:c.AttachEvent("onobliqueenter",zb);c.AttachEvent("onobliqueleave",K);c.AttachEvent("onendmapstyleoblique",pb);c.AttachEvent("onobliquechange",wb);c.AttachEvent("obliquerequestunavailable",eb);break;case a.Traffic:c.AttachEvent("onchangetraffic",z);z()}return g}function J(f){switch(f){case a.OrthoZoom:e.orthoZoom.Destroy();b[f]=null;c.DetachEvent("onendzoom",v);try{q.removeChild(b[f])}catch(k){}return;case a.ObliqueZoom:try{q.removeChild(b[f])}catch(k){}if(e.obliqueZoom){e.obliqueZoom.Destroy();e.obliqueZoom=null}case a.TinyZoom:l.Destroy();b[f]=null;return;case a.ObliqueCompass:if(I&&e.obliqueCompass){e.obliqueCompass.onclick=null;e.obliqueCompass.Destroy();e.obliqueCompass=null}return;case a.ObliqueNotification:b[a.ObliqueNotification].detachEvent("onclick",P);return;case a.ThreeDUpdatedNotification:b[a.ThreeDUpdatedNotification]=null;return;case a.Traffic:c.DetachEvent("onchangetraffic",z)}var i=b[f];if(i==null)return;var d=j[f];if(d.Children!=null){var g,h;for(h in d.Children)if(d.Children.hasOwnProperty(h)){g=d.Children[h];try{i.removeChild(b[g])}catch(k){}J(g)}}if(d.OnClickFunction!=null)i.detachEvent("onclick",d.OnClickFunction);try{if(c&&d.StyleUpdateEvent!=null&&d.StyleUpdateFunction!=null)c.DetachEvent(d.StyleUpdateEvent,d.StyleUpdateFunction)}catch(k){}b[d.Id]=null}function db(){b[a.ObliqueNotification]=document.createElement("div");b[a.ObliqueNotification].id=a.ObliqueNotification;b[a.ObliqueNotification].attachEvent("onclick",P);b[a.ObliqueNotification].innerHTML+='
'+'
'+'
'+L_DashboardBirdsEyeText_Text+"
"+''+"
"}function cb(){b[a.ThreeDUpdatedNotification]=document.createElement("div");b[a.ThreeDUpdatedNotification].id=a.ThreeDUpdatedNotification;b[a.ThreeDUpdatedNotification].innerHTML+='
 
'+L_Dashboard3DInstalled_Text+"
"}function sb(){A()}function A(){if(f==Msn.VE.DashboardStates.MapStyle.Road&&d==Msn.VE.DashboardStates.MapView.Ortho)return;f=Msn.VE.DashboardStates.MapStyle.Road;d=Msn.VE.DashboardStates.MapView.Ortho;m(h+d+f)}function mb(){if(b[a.ShowLabels]){i(a.ShowLabels,true);if(k)Y();else X()}else X()}function X(){if(f==Msn.VE.DashboardStates.MapStyle.Aerial&&d==Msn.VE.DashboardStates.MapView.Ortho)return;f=Msn.VE.DashboardStates.MapStyle.Aerial;d=Msn.VE.DashboardStates.MapView.Ortho;m(h+d+f)}function nb(){Y()}function Y(){if(f==Msn.VE.DashboardStates.MapStyle.Hybrid&&d==Msn.VE.DashboardStates.MapView.Ortho)return;f=Msn.VE.DashboardStates.MapStyle.Hybrid;d=Msn.VE.DashboardStates.MapView.Ortho;m(h+d+f)}function t(){if(d==Msn.VE.DashboardStates.MapView.Ortho&&h==Msn.VE.DashboardStates.MapMode.Flatland)return;d=Msn.VE.DashboardStates.MapView.Ortho;if(h==Msn.VE.DashboardStates.MapMode.Flatland)switch(f){case Msn.VE.DashboardStates.MapStyle.Aerial:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial))m(h+d+f);else A();break;case Msn.VE.DashboardStates.MapStyle.Hybrid:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid))m(h+d+f);else A();break;default:m(h+d+f)}else m(h+d);o()}function P(c){if(h==Msn.VE.DashboardStates.MapMode.View3D&&g(b[a.Oblique]).hasClass("MSVE_selected")){p();c.cancelBubble=true;return}F()}function F(){if(typeof b[a.ObliqueNotification]!="undefined"&&b[a.ObliqueNotification])p();if(h==Msn.VE.DashboardStates.MapMode.View3D)e.Oblique3DFunctionality.ObliqueClickFunction();else tb()}var L=null;function fb(){var e=new Date;if(L!=null)if(e.getTime()-L.getTime()<1000)return;L=e;var d=!g(b[a.Oblique]).hasClass("MSVE_selected");c.Show3DBirdseye(d,f==Msn.VE.DashboardStates.MapStyle.Road||k);var h=d?"RequestLayerBirdsEyeOn":"RequestLayerBirdsEyeOff"}var n;function tb(){if(d===Msn.VE.DashboardStates.MapView.Oblique)return;d=Msn.VE.DashboardStates.MapView.Oblique;x();if(k)f=Msn.VE.DashboardStates.MapStyle.Hybrid;else f=Msn.VE.DashboardStates.MapStyle.Aerial;if(typeof Msn.VE.API=="undefined")ob();else E()}function ob(){if(!n){var a=$ID("msve_mapContainer");n=document.createElement("div");n.id="animator";a.appendChild(n)}n.style.display="block";n.className="zoom_animation";window.setTimeout(E,2000)}function E(){if(n){n.parentNode.removeChild(n);n=null}if(c.IsDragging()||c.IsZooming()){window.setTimeout(E,250);return}m(h+d+f)}function lb(){Gb(Msn.VE.DashboardStates.MapMode.View3D+Msn.VE.DashboardStates.MapView.Oblique)}function hb(){if(d==Msn.VE.DashboardStates.MapView.StreetSide&&h==Msn.VE.DashboardStates.MapMode.Flatland)return;d=Msn.VE.DashboardStates.MapView.StreetSide;m(h+d);jb()}function vb(){if(f==Msn.VE.DashboardStates.MapStyle.Aerial){k=true;f=Msn.VE.DashboardStates.MapStyle.Hybrid}else if(f==Msn.VE.DashboardStates.MapStyle.Hybrid){k=false;f=Msn.VE.DashboardStates.MapStyle.Aerial}m(h+d+f)}function kb(){c.EnableMode(Msn.VE.MapActionMode.Mode2D)}function qb(){if(typeof b[a.ThreeDUpdatedNotification]!="undefined"&&b[a.ThreeDUpdatedNotification])D();if(!c.IsModeEnabled(Msn.VE.MapActionMode.Mode3D))if(typeof ShowMessage!="undefined"){ShowMessage(L_3DLoading_Text);window.setTimeout(View3DSwitch,200)}else c.EnableMode(Msn.VE.MapActionMode.Mode3D)}function z(){if(VE_TrafficManager.turnedOn){g(b[a.Traffic]).addClass("MSVE_selected");b[a.Traffic].title=L_NavActionHideTrafficToolTip_Text}else{g(b[a.Traffic]).removeClass("MSVE_selected");b[a.Traffic].title=L_NavActionShowTrafficToolTip_Text}}function Ab(){if(VE_TrafficManager.turnedOn)VE_TrafficManager.ClearTraffic();else{for(var a in Msn.VE.API.Globals.vemapinstances)if(Msn.VE.API.Globals.vemapinstances[a]instanceof VEMap&&Msn.VE.API.Globals.vemapinstances[a].vemapcontrol){VE_TrafficManager.m_vemap=Msn.VE.API.Globals.vemapinstances[a];break}VE_TrafficManager.turnedOn=true;VE_TrafficManager.showTrafficFlow=true;VE_TrafficManager.showIncidents=true;VE_TrafficManager.showConstructionIncidents=true;VE_TrafficManager.markets=[];VE_TrafficManager.incidents=[];VE_TrafficManager.m_vemap.ShowTrafficLegend();VE_TrafficManager.m_vemap.SetTrafficLegendText(L_MapLegendAndPopupLink_Text);window.setTimeout(VE_TrafficManager.GetMarkets,100)}z()}function rb(c){if(c.enabled=="1"){g(b[a.Oblique]).addClass("MSVE_selected");b[a.Oblique].title=L_NavActionHideObliqueToolTip_Text}else{g(b[a.Oblique]).removeClass("MSVE_selected");b[a.Oblique].title=L_NavActionShowObliqueToolTip_Text}}function s(a){W(a.view.mapStyle)}function Z(a){if(a==Msn.VE.MapActionMode.Mode3D)U();else T()}function U(){if(h==Msn.VE.DashboardStates.MapMode.View3D)return;h=Msn.VE.DashboardStates.MapMode.View3D;if(typeof b[a.View]!="undefined"&&b[a.View]!=null)g(b[a.View].classRecipients).removeClass("MSVE_FlatlandMapMode").addClass("MSVE_View3DMapMode");i(a.StreetSide,true);i(a.Road,true);i(a.Aerial,true);i(a.Hybrid,true);if(!e.Oblique3DFunctionality.DependsOnObliqueAvailability)i(a.Oblique,true);else{if(b[a.ObliqueNotification]!=null&&b[a.ObliqueNotification].enabled&&!g(b[a.Oblique]).hasClass("MSVE_selected"))w();o()}if(typeof b[a.Ortho]!="undefined"&&b[a.Ortho]!=null)b[a.Ortho].title=L_NavAction3DOrthoToolTip_Text;if(typeof b[a.Oblique]!="undefined"&&b[a.Oblique]!=null){b[a.Oblique].title=e.Oblique3DFunctionality.Title;if(b[a.Oblique].enabled&&!g(b[a.Oblique]).hasClass("MSVE_selected"))w()}if(typeof b[a.StreetSide]!="undefined"&&b[a.StreetSide]!=null)b[a.StreetSide].title=L_NavAction3DStreetSideToolTip_Text;var f=c.GetDashboard().GetShimmedElements(),d;for(d=0;d div");B.addEvent("mousedown",IgnoreEvent);B.addEvent("mouseup",IgnoreEvent);B.addEvent("mousemove",DashboardContainerMouseMoveEvent);B.addEvent("mousewheel",IgnoreEvent);B.addEvent("dblclick",IgnoreEvent);B.addEvent("contextmenu",IgnoreEvent);B.addEvent("keydown",IgnoreEvent);B.addEvent("keyup",IgnoreEvent);B.addEvent("click",IgnoreEvent);h=[];for(s=0;s<5;s++){h[s]=document.createElement("div");h[s].className="MSVE_navAction_separator";h[s].id="MSVE_navAction_separator"+s}y=document.createElement("div");y.id="MSVE_navAction_toggleGlyphInner";y.className="MSVE_navAction_toggleGlyph";j.appendChild(y);b[a.Road].title=L_NavActionRoadToolTip_Text;b[a.Aerial].title=L_NavActionAerialToolTip_Text;b[a.Hybrid].title=L_NavActionHybridToolTip_Text;b[a.Mode2D].title=L_NavActionFlatlandToolTip_Text;b[a.Mode3D].title=L_NavActionView3DToolTip_Text;i.appendChild(b[a.Road]);i.appendChild(b[a.Aerial]);i.appendChild(h[1]);i.appendChild(b[a.Oblique]);if(D){d.appendChild(b[a.Mode]);d.appendChild(h[0])}d.appendChild(i);d.appendChild(h[2]);f.SetLabelsState(W!=false);d.appendChild(b[a.ShowLabels]);d.appendChild(h[3]);if(b[a.Traffic]!=null){b[a.Traffic].title=L_NavActionShowTrafficToolTip_Text;d.appendChild(b[a.Traffic]);d.appendChild(h[4])}else C.addClass("notraffic");if(!ab){var G=parseInt(C.getStyle("width"))-parseInt(g(b[a.Oblique]).getStyle("width"));c.style.width=G+"px";b[a.Oblique].style.display="none"}r=document.createElement("div");r.id="MSVE_navAction_compassWrapper";q.appendChild(r);z=new bb(r);z.Init();pseudoHover(z.GetElement());b[a.ObliqueCompass].radius=31;r.appendChild(b[a.ObliqueCompass]);var F=f.GetTinyZoom();m.appendChild(b[a.TinyZoom]);p=document.createElement("div");p.id="MSVE_navAction_zoomPlusWrapper";pseudoHover(p);p.appendChild(F.GetPlus());b[a.TinyZoom].appendChild(p);o=document.createElement("div");o.id="MSVE_navAction_zoomMinusWrapper";pseudoHover(o);o.appendChild(F.GetMinus());b[a.TinyZoom].appendChild(o);F.HookupPlusMinusEvents(p,o);n=document.createElement("div");n.id="MSVE_navAction_rotatorContainer";u=document.createElement("div");u.id="MSVE_navAction_ccw";u.title=L_NavActionObliqueRotationToolTip_CCW_Text;u.className="MSVE_navAction_rotator";v=document.createElement("div");v.id="MSVE_navAction_cw";v.title=L_NavActionObliqueRotationToolTip_CW_Text;v.className="MSVE_navAction_rotator";k=document.createElement("div");k.id="MSVE_navAction_ccwWrapper";pseudoHover(k);k.appendChild(u);l=document.createElement("div");l.id="MSVE_navAction_cwWrapper";pseudoHover(l);l.appendChild(v);g(k).addEvent("click",O);g(l).addEvent("click",Q);n.appendChild(k);n.appendChild(l);m.appendChild(n);d.appendChild(b[a.ObliqueNotification]);d.appendChild(b[a.ThreeDUpdatedNotification]);f.Init();e.AttachEvent("oninitmode",Y);if(Msn.VE.Animation)J();f.UpdateZoom()}function cb(){d.removeChild(b[a.ObliqueNotification]);d.removeChild(b[a.ThreeDUpdatedNotification]);g(k).removeEvent("click",O);g(l).removeEvent("click",Q);k.removeChild(u);l.removeChild(v);n.removeChild(k);n.removeChild(l);m.removeChild(n);var s=f.GetTinyZoom();if(s){var A=s.GetMinus();if(A)o.removeChild(A);var E=s.GetPlus();if(E)p.removeChild(E);b[a.TinyZoom].removeChild(o);b[a.TinyZoom].removeChild(p);m.removeChild(b[a.TinyZoom])}z.Destroy();q.removeChild(r);r.removeChild(b[a.ObliqueCompass]);if(b[a.Traffic]!=null){d.removeChild(b[a.Traffic]);d.removeChild(h[4])}d.removeChild(b[a.ShowLabels]);d.removeChild(h[3]);i.removeChild(b[a.Road]);i.removeChild(b[a.Aerial]);i.removeChild(h[1]);i.removeChild(b[a.Oblique]);if(D){d.removeChild(b[a.Mode]);d.removeChild(h[0])}d.removeChild(i);d.removeChild(h[2]);j.removeChild(y);var G=g(c),e=G.select("> div");e.removeEvent("mouseleave",B);e.removeEvent("mouseenter",C);e.removeEvent("mousedown",IgnoreEvent);e.removeEvent("mouseup",IgnoreEvent);e.removeEvent("mousemove",DashboardContainerMouseMoveEvent);e.removeEvent("mousewheel",IgnoreEvent);e.removeEvent("dblclick",IgnoreEvent);e.removeEvent("contextmenu",IgnoreEvent);e.removeEvent("keydown",IgnoreEvent);e.removeEvent("keyup",IgnoreEvent);e.removeEvent("click",IgnoreEvent);c.removeChild(x);c.removeChild(w);c.removeChild(t);c.removeChild(q);c.removeChild(m);c.removeChild(d);c.removeChild(j);L.removeChild(c);f.Destroy();if(Msn.VE.Animation)F().onclick=null}function B(){Gimme.Animation.end("MSVE_NAVACTION_FADEIN");g(c).select("div.MSVE_navAction_background").fadeTo(null,G,K,"MSVE_NAVACTION_FADEOUT")}function C(){Gimme.Animation.end("MSVE_NAVACTION_FADEOUT");g(c).select("div.MSVE_navAction_background").fadeTo(null,X,K,"MSVE_NAVACTION_FADEIN")}function Y(a){if(a==Msn.VE.MapActionMode.Mode3D){Z();if(e.Get3DControl())if(g(N()).hasClass("collapsed"))e.Get3DControl().ShowNavigationControl=false;else e.Get3DControl().ShowNavigationControl=true}else P()}function P(){var a=g(c),b=a.select("> div");a.select("div.MSVE_navAction_background").setStyle("opacity",G);b.addEvent("mouseleave",B);b.addEvent("mouseenter",C)}function Z(){var a=g(c),b=a.select("> div");b.removeEvent("mouseleave",B);b.removeEvent("mouseenter",C);a.select("div.MSVE_navAction_background").setStyle("opacity",M)}function O(){I(Msn.VE.BirdsEyeSearchSpinDirection.CounterclockwiseSpin)}function Q(){I(Msn.VE.BirdsEyeSearchSpinDirection.ClockwiseSpin)}function I(a){f.SetLastRotationDirection(a);var b=e.GetObliqueScene();if(b){var d=R[b.GetOrientation()],c=U[(d+a+4)%4];e.SetObliqueOrientation(c,a,true);f.obliqueCompass.UpdateFromMap()}}function N(){return c}function T(){return f.GetObliqueNotifierShimmedElements().concat([t])}function F(){return j}function db(){return f.GetMapModeState()}function gb(){if(c)c.style.display="block"}function eb(){if(c)c.style.display="none"}function J(){if(!e.GetDashboard().GetToggleGlyph())return;e.GetDashboard().GetToggleGlyph().onclick=function(){var a=e.GetDashboard();if(g(a.GetElement()).hasClass("collapsed")){g(a.GetElement()).removeClass("collapsed");a.GetToggleGlyph().title=L_NavActionHideToolTip_Text;if(e.Get3DControl())e.Get3DControl().ShowNavigationControl=true}else{g(a.GetElement()).addClass("collapsed");a.GetToggleGlyph().title=L_NavActionShowToolTip_Text;if(e.Get3DControl())e.Get3DControl().ShowNavigationControl=false}var c=e.GetDashboard().GetShimmedElements(),b;for(b=0;b=a.longitude&&c.latitude>=b.latitude&&c.longitude<=b.longitude};this.ContainsRectangle=function(a){return a.southeast.latitude>=this.southeast.latitude&&a.southeast.longitude<=this.southeast.longitude&&a.northwest.latitude<=this.northwest.latitude&&a.northwest.longitude>=this.northwest.longitude}};Msn.VE.MapStyle=new function(){this.Road="r";this.Shaded="s";this.Aerial="a";this.Hybrid="h";this.Oblique="o";this.ObliqueHybrid="b"};Msn.VE.MapStyle.IsViewOblique=function(a){return a==Msn.VE.MapStyle.ObliqueHybrid||a==Msn.VE.MapStyle.Oblique};Msn.VE.MapStyle.IsViewOrtho=function(a){return a==Msn.VE.MapStyle.Road||a==Msn.VE.MapStyle.Shaded||a==Msn.VE.MapStyle.Hybrid||a==Msn.VE.MapStyle.Aerial};Msn.VE.MapViewType=function(){};Msn.VE.MapViewType.Pixel="pixel";Msn.VE.MapViewType.PixelRect="pixelRect";Msn.VE.MapViewType.LatLong="latlong";Msn.VE.MapViewType.LatLongAccurate="latlongaccurate";Msn.VE.MapViewType.LatLongRect="latlongRect";Msn.VE.MapView=function(map){this.zoomLevel=0;this.mapStyle=null;this.doRoadShading=false;this.tilt=-90;this.direction=0;this.altitude=-1000;this.center=new VEPixel;this.latlong=new Msn.VE.LatLong;this.cameraLatlong=null;this.pixelRect=new Msn.VE.PixelRectangle;this.latlongRect=new Msn.VE.LatLongRectangle;this.sceneId=null;this.sceneOrientation=null;this.bySceneId=false;this.callback=null;this.photoX=null;this.photoY=null;this.photoScale=null;this._supressFlyToCall=false;this._needsPivotOperation=true;var mapInstance=map,p_this=this,viewType=Msn.VE.MapViewType.Pixel;this.Destroy=function(){this.center=this.latlong=p_this=mapInstance=null};this.GetViewType=function(){return viewType};this.GetMap=function(){return mapInstance};this.SetMap=function(a){mapInstance=a};function MakeCopy(){var a=new Msn.VE.MapView;a.Copy(p_this);return a}function Copy(a){p_this.zoomLevel=a.zoomLevel;p_this.mapStyle=a.mapStyle;p_this.doRoadShading=a.doRoadShading;p_this.tilt=a.tilt;p_this.direction=a.direction;p_this.altitude=a.altitude;p_this.center.Copy(a.center);if(a.cameraLatlong!=null){p_this.cameraLatlong=new Msn.VE.LatLong;p_this.cameraLatlong.Copy(a.cameraLatlong)}p_this.latlong.Copy(a.latlong);p_this.pixelRect.Copy(a.pixelRect);p_this.latlongRect.Copy(a.latlongRect);p_this.sceneId=a.sceneId;p_this.sceneOrientation=a.sceneOrientation;p_this.photoX=a.photoX;p_this.photoY=a.photoY;p_this.photoScale=a.photoScale;p_this.SetMap(a.GetMap());viewType=a.GetViewType()}function Equals(a){return a!=null&&p_this.zoomLevel==a.zoomLevel&&p_this.mapStyle==a.mapStyle&&MathAbs(p_this.tilt-a.tilt)<1e-6&&MathAbs(p_this.direction-a.direction)<1e-6&&MathAbs(p_this.altitude-a.altitude)<1e-6&&MathAbs(p_this.center.x-a.center.x)<1e-6&&MathAbs(p_this.center.y-a.center.y)<1e-6&&p_this.sceneId==a.sceneId&&p_this.GetMap()==a.GetMap()&&p_this.sceneOrientation==a.sceneOrientation}function ToString(){return "("+p_this.latlong.ToString()+", "+p_this.zoomLevel+", "+p_this.mapStyle+")"}function SetCenter(a){if(!a)return;p_this.center=a;viewType=Msn.VE.MapViewType.Pixel}function SetCenterLatLong(a){if(!a)return;p_this.latlong=a;p_this.cameraLatlong=null;viewType=Msn.VE.MapViewType.LatLong}function SetCenterLatLongAccurate(a){if(a){p_this.latlong=a;p_this.cameraLatlong=null;if(Msn.VE.MapStyle.IsViewOblique(p_this.mapStyle))viewType=Msn.VE.MapViewType.LatLongAccurate;else viewType=Msn.VE.MapViewType.LatLong}}function SetPixelRectangle(a){p_this.pixelRect=a;p_this.cameraLatlong=null;p_this.tilt=-90;p_this.direction=0;viewType=Msn.VE.MapViewType.PixelRect}function SetLatLongRectangle(a){p_this.latlongRect=a;p_this.cameraLatlong=null;p_this.tilt=-90;p_this.direction=0;viewType=Msn.VE.MapViewType.LatLongRect}function SetZoomLevel(a){if(a<=0)a=1;var c=mapInstance.GetCenterOffset().x,d=mapInstance.GetCenterOffset().y;switch(viewType){case Msn.VE.MapViewType.Pixel:var b=Math.pow(2,a-p_this.zoomLevel);p_this.center.x=(p_this.center.x+c)*b-c;p_this.center.y=(p_this.center.y+d)*b-d;break;case Msn.VE.MapViewType.PixelRect:var b=Math.pow(2,a-p_this.zoomLevel);p_this.pixelRect.topLeft.x=p_this.pixelRect.topLeft.x*b;p_this.pixelRect.topLeft.y=p_this.pixelRect.topLeft.y*b;p_this.pixelRect.bottomRight.x=p_this.pixelRect.bottomRight.x*b;p_this.pixelRect.bottomRight.y=p_this.pixelRect.bottomRight.y*b}if(p_this.zoomLevel!=a){p_this.altitude=-1000;if(p_this.zoomLevel!=0)p_this.cameraLatlong=null}p_this.zoomLevel=a}function SetMapStyle(a,c,b,e,d){var f=p_this.mapStyle;p_this.mapStyle=a;if(viewType==Msn.VE.MapViewType.Pixel)viewType=Msn.VE.MapViewType.LatLong;if(!Msn.VE.MapStyle.IsViewOblique(a)){p_this.sceneId=null;p_this.sceneOrientation=null;p_this.bySceneId=false}else{p_this.sceneId=c;if(b)p_this.sceneOrientation=b;p_this.spinDirection=f==a?e:null;p_this.preserveScene=d;if(c)p_this.bySceneId=true;else p_this.bySceneId=false}}function SetTilt(a){if(a>=269.99999)a=a-360;if(a<-90)a=-90;if(a>90)a=90;p_this.tilt=a;p_this._needsPivotOperation=true}function SetDirection(a){if(a<0||a>=360){a=a%360;if(a<0)a=360+a}p_this.direction=a;p_this._needsPivotOperation=true}function SetAltitude(a){if(a<-1000||a>15000000)a=-1000;p_this.altitude=a}function GetTilt(){return p_this.tilt}function GetDirection(){return p_this.direction}function GetAltitude(){return p_this.altitude}function ScaleCoord(a,b){if(b)a=a*Math.pow(2,b-p_this.zoomLevel);return a}function GetX(a){return ScaleCoord(p_this.center.x,a)}function GetY(a){return ScaleCoord(p_this.center.y,a)}function GetCenter(a){var b=ScaleCoord(p_this.center.x+mapInstance.GetCenterOffset().x,a),c=ScaleCoord(p_this.center.y+mapInstance.GetCenterOffset().y,a);return new VEPixel(b,c)}function GetZoomLevel(){return p_this.zoomLevel}function GetLatLongRectangle(){return p_this.latlongRect}function GetPixelRectangle(){return p_this.pixelRect}function GetCenterLatLong(){var b=p_this.center.x+mapInstance.GetCenterOffset().x,c=p_this.center.y+mapInstance.GetCenterOffset().y,a=mapInstance.GetCurrentMode().PixelToLatLong(new VEPixel(b,c),p_this.zoomLevel);return a==null?p_this.latlong:a}function Resolve(b,d,c,a){if(viewType==Msn.VE.MapViewType.LatLongAccurate)ResolveAsync(b,d,c,a);else ResolveSync(b,d,c,a)}function ResolveAsync(b,e,d,a){function c(c){if(c!=null&&typeof c!="undefined"&&c.length==1)p_this.center=c[0];if(p_this.cameraLatlong==null)if(!p_this._UpdateCamera(b)){p_this.tilt=-90;p_this.cameraLatlong=p_this.latlong}viewType=Msn.VE.MapViewType.Pixel;if(a!=null&&typeof a=="function")a()}b.LatLongToPixelAsync([p_this.latlong],p_this.zoomLevel,c)}function ResolveSync(a,e,c,b){switch(viewType){case Msn.VE.MapViewType.Pixel:p_this.latlong=a.PixelToLatLong(p_this.center,p_this.zoomLevel);break;case Msn.VE.MapViewType.LatLong:p_this.center=a.LatLongToPixel(p_this.latlong,p_this.zoomLevel);if(p_this.center!=null){p_this.center.x-=mapInstance.GetCenterOffset().x;p_this.center.y-=mapInstance.GetCenterOffset().y}break;case Msn.VE.MapViewType.PixelRect:ResolveRectangle(a,e,c);break;case Msn.VE.MapViewType.LatLongRect:if(Msn.VE.MapStyle.IsViewOblique(p_this.mapStyle)){p_this.zoomLevel=1;var d=a.GetScene();if(!d||!d.ContainsLatLong(p_this.latlongRect.northwest)||!d.ContainsLatLong(p_this.latlongRect.southeast)){p_this.latlong=p_this.latlongRect.Center();p_this.center=a.LatLongToPixel(p_this.latlong,p_this.zoomLevel)}else{p_this.pixelRect.topLeft=a.LatLongToPixel(p_this.latlongRect.northwest,p_this.zoomLevel);p_this.pixelRect.bottomRight=a.LatLongToPixel(p_this.latlongRect.southeast,p_this.zoomLevel);ResolveRectangle(a,e,c)}}else{p_this.zoomLevel=12;p_this.altitude=-1000;p_this.pixelRect.topLeft=a.LatLongToPixel(p_this.latlongRect.northwest,p_this.zoomLevel);p_this.pixelRect.bottomRight=a.LatLongToPixel(p_this.latlongRect.southeast,p_this.zoomLevel);ResolveRectangle(a,e,c)}}if(p_this.cameraLatlong==null)if(!p_this._UpdateCamera(a)){p_this.tilt=-90;p_this.cameraLatlong=p_this.latlong}viewType=Msn.VE.MapViewType.Pixel;if(b!=null&&typeof b=="function")b()}function ResolveRectangle(i,k,j){var c=19,a=Math.pow(2,c-p_this.zoomLevel),g=MathMax(1,MathAbs(p_this.pixelRect.topLeft.x-p_this.pixelRect.bottomRight.x)*a),f=MathMax(1,MathAbs(p_this.pixelRect.topLeft.y-p_this.pixelRect.bottomRight.y)*a),d=Math.log(2),e=c-Math.ceil(Math.log(g/k)/d),h=c-Math.ceil(Math.log(f/j)/d),b=MathMin(e,h);if(b<=0)b=1;a=Math.pow(2,b-p_this.zoomLevel);p_this.center.x=.5*(p_this.pixelRect.topLeft.x+p_this.pixelRect.bottomRight.x)*a-mapInstance.GetCenterOffset().x;p_this.center.y=.5*(p_this.pixelRect.topLeft.y+p_this.pixelRect.bottomRight.y)*a-mapInstance.GetCenterOffset().y;p_this.zoomLevel=b;p_this.altitude=-1000;p_this.latlong=i.PixelToLatLong(p_this.center,p_this.zoomLevel)}function _UpdateCamera(viewMode){if(p_this.latlong==null)if(p_this.center!=null&&p_this.zoomLevel!=null&&typeof viewMode._InternalOrthoMode=="function"){var orthoMode=viewMode._InternalOrthoMode();p_this.latlong=orthoMode.PixelToLatLong(p_this.center,p_this.zoomLevel);if(p_this.latlong!=null){p_this.tilt=-90;p_this.direction=0}}if(p_this.latlong==null)return false;p_this._needsPivotOperation=false;if(mapInstance.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){var control=mapInstance.Get3DControl();if(control!=null){var cam=control.CameraPositionGivenTarget(p_this.latlong.latitude,p_this.latlong.longitude,p_this.altitude,p_this.zoomLevel,p_this.tilt,p_this.direction);if(cam!=null){var lat,lon,alt;eval(cam);p_this.cameraLatlong=new Msn.VE.LatLong;p_this.cameraLatlong.latitude=lat;p_this.cameraLatlong.longitude=lon;p_this.altitude=alt}else return false}}return true}this.MakeCopy=MakeCopy;this.Copy=Copy;this.Equals=Equals;this.ToString=ToString;this.SetCenter=SetCenter;this.SetCenterLatLong=SetCenterLatLong;this.SetCenterLatLongAccurate=SetCenterLatLongAccurate;this.SetPixelRectangle=SetPixelRectangle;this.SetLatLongRectangle=SetLatLongRectangle;this.SetZoomLevel=SetZoomLevel;this.SetMapStyle=SetMapStyle;this.SetTilt=SetTilt;this.SetDirection=SetDirection;this.SetAltitude=SetAltitude;this.GetTilt=GetTilt;this.GetDirection=GetDirection;this.GetAltitude=GetAltitude;this.ScaleCoord=ScaleCoord;this.GetX=GetX;this.GetY=GetY;this.GetCenter=GetCenter;this.Resolve=Resolve;this.SetZoomLevel=SetZoomLevel;this.GetZoomLevel=GetZoomLevel;this.GetLatLongRectangle=GetLatLongRectangle;this.GetPixelRectangle=GetPixelRectangle;this.GetCenterLatLong=GetCenterLatLong;this._UpdateCamera=_UpdateCamera};Msn.VE.ViewChangeType=function(){};Msn.VE.ViewChangeType.Zoom=1;Msn.VE.ViewChangeType.Pan=2;Msn.VE.ViewChangeType.Hybrid=3;Msn.VE.ViewChangeType.IsValid=function(a){return typeof a=="number"&&a>0&&a<4};Msn.VE.ObliqueScene=function(e,J,C,F,H,O,b,d,v,u,I){var c=null,a="",g=null,h=null,f={};f[Msn.VE.MapStyle.Oblique]="685";f[Msn.VE.MapStyle.ObliqueHybrid]="685";var i={};i[Msn.VE.MapStyle.Oblique]="%0ecn.t%3.tiles.virtualearth.net/tiles/o%4-%5-%6-%7.jpeg?g=%8";i[Msn.VE.MapStyle.ObliqueHybrid]="%0ecn.t%3.tiles.virtualearth.net/tiles/cmd/ObliqueHybrid?a=%4-%5-%6-%7&g=%8";var w=Msn.VE.MapStyle.Oblique,j=null,N=null,o=null;if(Msn.VE.API==null)j="__obliqueCalcServiceUrl__";else o=Msn.VE.API.Constants.imageryurl+"/ConvertLatLongToPixelInBirdsEye";var r=new _xz1,q=256,M=this,K=new Msn.VE.Bounds(1,2,0,0,b/2,d/2);function B(d,e){var c=Math.pow(2,e-2),f=[[d.x/c],[d.y/c],[1]],a=MatrixMultiply(v,f),b=new Msn.VE.LatLong;b.longitude=a[0][0]/a[2][0];b.latitude=a[1][0]/a[2][0];return b}function y(d,g,f){var b=[];for(var a=0;a=0&&d>=0&&c0;c--){var b=0,e=1<this.topLeft.x&&a.y>this.topLeft.y&&a.x0){g[i]=Math.floor(c%d);c=Math.floor(c/d);--i}for(var b=0;b=a&&d<=c){var e=(d-a)/(c-a),f=e*b+.5;return Math.min(Math.floor(f),b)}else throw L_floatintegermapencodingoutofrange_text};this.IntToFloat=function(d){if(d<=b){var f=d/b,e=a+f*(c-a);return e}else throw L_floatintegermapencodingoutofrange_text}}var L_velatlongencodinginvalidstringlength_text="_xz1: Invalid string length";function _xz1(b){var i=-90,h=90,g=-180,f=180,j="0123456789bcdfghjkmnpqrstvwxyz",e=6;if(b!=null&&typeof b!="undefined")e=b;var a=new VEIntegerEncoding(j,e),d=new VEFloatIntegerMap(i,h,a.MaxValue()),c=new VEFloatIntegerMap(g,f,a.MaxValue());this.Encode=function(e,b){var f=a.Encode(d.FloatToInt(e))+a.Encode(c.FloatToInt(b));return f};this.Decode=function(f){if(f.length==2*a.ValueLength()){var e=a.ValueLength(),j=f.substr(0,e),h=f.substr(e,e),i=a.Decode(j),g=a.Decode(h),b=[];b[0]=d.IntToFloat(i);b[1]=c.IntToFloat(g);return b}else throw L_velatlongencodinginvalidstringlength_text}}function _xz1ForMobile(){_xz1.call(this,5)}var Shims=["help","msve_ScratchPad","VE_MessageControl","contextMenu","MSVE_dashboardId"],vedomain="https://ecn.dev.virtualearth.net/mapcontrol/v6.3",_entityIdShapePostfix="_Shape",_hackUniqueLayerId="UniqueLayer_Hack";function GetManifestUrl(a){return a.indexOf("https")==0?a:vedomain+a}function Get3dMarket(){if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null)return window.locale;else return Msn.VE.API.Globals.locale}function Get3dInstallMarket(){if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null)return window.locale;else return Msn.VE.API.Globals.resourcelocale}function Get3dInstallUrl(b,a){if(typeof a=="undefined"||a==null)a=Get3dInstallMarket();if(typeof b=="undefined"||b==null){b="Default.aspx?action=install";if(a)b+="&mkt={0}"}var c="https://www.bing.com/maps/Help/VE3DInstall/"+b;c=c.replace("{0}",a);return c}function Get3dHelpUrl(c,a){var b="https://www.bing.com/maps/Help/{0}/"+c;if(typeof a=="undefined"||a==null)a=Get3dMarket();b=b.replace("{0}",a);return b}function initShimElements(){for(var a=0;a=0;function SetShimPosition(a,b){var c=g(b).getRelativePosition(a.parentNode);a.style.top=c.y+"px";a.style.left=c.x+"px";a.width=b.offsetWidth;a.height=b.offsetHeight;if(UseClipToSize)ConvertClipToSize(a,b);else a.style.clip=b.style.clip}function UpdateIFrameShim(c,e,d){var a=typeof c=="object"?c:$ID(c);if(!a)return;if(!a.shimElement)addIFrameShim(a,e,d);var b=a.shimElement;SetShimPosition(b,a);if(Msn.VE.Css.Functions.getComputedStyle(a,"display")=="none"||Msn.VE.Css.Functions.getComputedStyle(a,"visibility")=="hidden")b.style.display="none";else b.style.display="block"}function RepositionShims(){if(!view3DMode)return;for(var b=0;b=0)a.style.zIndex=e;else a.style.zIndex="1";a.style.backgroundColor="white";b.shimElement=a;HideShim(b);var c=f;if(c==null)c=b;var d=c.parentNode;if(d==null)d=document.body;d.insertBefore(a,c);if(b.id=="msve_ScratchPad"||b.id&&b.id.indexOf("_vefindcontrolinput")>0)hookResizeEvent(b);return a}function destroyIFrameShim(b){var a=$ID(b);DestroyShim(a)}function ShowShim(a,b){UpdateIFrameShim(a,b);if(a!=null&&a.shimElement)a.shimElement.style.display="block"}function HideShim(a){if(a!=null&&a.shimElement)a.shimElement.style.display="none"}function DestroyShim(a){if(a!=null&&a.shimElement){a.shimElement.parentNode.removeChild(a.shimElement);a.shimElement=null}}function RollShim(b){var a=b.Recipient;if(a.shimElement)if(UseClipToSize)ConvertClipToSize(a.shimElement,a);else a.shimElement.style.clip=a.style.clip}function OnView3DKeyDown(d,c){var b=parseInt(d);CloseContextMenu(b);ero.hide();var a=GetMapControlInstance(c);if(a==null)return;switch(b){case 65:a.SetMapStyle("a");break;case 72:a.SetMapStyle("h");break;case 82:case 86:a.SetMapStyle("r");break;case 50:case 98:window.setTimeout(function(){a.EnableMode(Msn.VE.MapActionMode.Mode2D)},10);break;case 66:case 79:a.GetDashboard().Oblique3DToggle()}}function OnNavigationHelpFired(){VE_Help.OpenLiveHelp("wl_local","topic","WL_LOCAL_PROC_3D_NavigateMap.htm")}function OnHardwareAccelHelpFired(){VE_Help.OpenLiveHelp("wl_local","topic","WL_LOCAL_TROU_3D_VideoAcceleration.htm")}var __shapeIdBeingDragged=null;function Deserialize3DMessage(message){var messageObject;if(typeof Sys!="undefined"&&Sys!=null&&Sys.Serialization!=null)messageObject=Sys.Serialization.JavaScriptSerializer.deserialize(message);else eval("messageObject = "+message+";");return messageObject}function OnView3DMouseDown(b){var a=Deserialize3DMessage(b);if(a.button=="Left"){__shapeIdBeingDragged=a.shapeId;window.setTimeout(BeginDragPin3D,300)}CloseContextMenu();ero.hide();if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null)VE_MapDispatch.ClickedEntity=null}function BeginDragPin3D(){if(__shapeIdBeingDragged!=null){var d=true,b=VE_MapManager.GetCollectionByAnId(__shapeIdBeingDragged);if(b!=null){var c=VE_MapManager.GetSelectedCollection();if(c!=null&&c.GetId()!=b.GetId())return}else return;var a=VE_MapManager.GetAnnotationInCollectionById(b,__shapeIdBeingDragged);if(typeof a!="undefined"&&a!=null&&a.GetType()==MC_GEO_TYPE_POINT){VE_Annotations.EnterMovePushpinMode(__shapeIdBeingDragged,true);View3DMovePin(__shapeIdBeingDragged)}}}function OnView3DDropGeometry(b){var a=Deserialize3DMessage(b);if(!a.pushpinId)return;var c=VE_MapManager.GetAnnotationById(a.pushpinId);if(c)VE_Annotations.MovePushpin(null,new Msn.VE.LatLong(a.lat,a.lon))}function OnView3DLatLonAltClicked(b){var a=Deserialize3DMessage(b);VE_MapUpdateView_AutoSaveEntity();if(VE_EditControl.GetMode()==MC_DRAW_MODEL)VE_MapDispatch.OnCreateModel(a.lat,a.lon,a.alt);else VE_EditControl.AddPoint(null,a.lat,a.lon,a.alt)}function OnBeginFlyTo(c,b){ero.hide();var a=GetMapControlInstance(b);if(a!=null)a.OnBeginCameraUpdate()}function OnView3DUpdateViewpoint(k,l){var b=Deserialize3DMessage(k),c=GetMapControlInstance(l);if(c==null)return;c.OnEndCameraUpdate();var f=1e-6,e=.1,j=.01,a=c.GetCurrentMapView(),h=Math.abs(b.heading-a.GetDirection())0){VE_MapManager.SetHighlightEntity(entity,isCV);return}if(!isCV)VE_MapViewPreUpdate.ShowEro(pushpinId,VE_Directions.EntryPoint.Scratchpad,rect);else VE_MapViewPreUpdate.Viewer.ShowEroToItem(null,pushpinId,rect,null)}}catch(a){}return}}var ddERO=$find(pushpinId+"_ero");if(ddERO){CloseContextMenu();var content=ddERO.get_Content();ero.clearActions();var ddActionNames=eval(ddERO.get_ActionNames()),ddActionValues=eval(ddERO.get_ActionValues());g(ddActionNames).forEach(function(a,b){ero.addAction(''+a+"")});ero.setContent(content);ero.dockToRect(rect,null,-1);return}result=pushpinId.match(/pin_traffic_market_(.*)/);if(result!=null&&result.length>=2){var entity=VE_TrafficManager.GetEntity(pushpinId);if(entity!=null){var content=VE_TrafficManager.CreateZoomPopupContent(entity);if(content!=null&&content!=""&&content!="undefined"){CloseContextMenu();ero.setContent(content);ero.dockToRect(rect,null,-1);return}}}result=pushpinId.match(/pin_traffic_incident_(.*)/);if(result!=null&&result.length>=2){var entity=VE_TrafficManager.GetEntity(pushpinId);if(entity!=null){var content=VE_TrafficManager.CreatePopupContent(entity,true);if(content!=null&&content!=""&&content!="undefined"){CloseContextMenu();ero.setContent(content);ero.dockToRect(rect,null,-1);return}}}if(pushpinId=="autolocate"){var pushpins=mapcontrol.GetPushpins();if(pushpins)for(var i=0;i=2){var entityID=result[1],r=VE_SearchManager.GetEntity(entityID);if(r===null){entityID=result[0];r=VE_SearchManager.GetEntity(entityID);if(r===null){var correspondingItem=Gimme.id(entityID+"_number");entityID=correspondingItem&&correspondingItem.parentNode.id.replace(/_pin$/,"");r=VE_SearchManager.GetEntity(entityID)}}if(r!==null){CloseContextMenu();VE_SearchManager.SetLatLong(r.latitude,r.longitude);if(r.type!=VE_SearchType.Collection){var content=VE_SearchManager.CreatePopupContent(r,true);ero.setContent(content);ero.dockToRect(rect,null,-1)}else ShowCollectionPopup(new VE_CollectionSearchEroData(r),rect,null)}return}}function OnHardwareCapabilitiesUpdate(){if(typeof view3DMode!="undefined"&&view3DMode){map.Setup3DManifests();var b="3D performance option � ",a=map.Get3DControl().HardwareClassificationLevel;if(typeof a!="undefined"&&a!=null){switch(a){case 3:b+="Quality";break;case 2:b+="Balanced";break;case 1:b+="Performance"}UpdateStreetLevelGeometryState(map.Get3DControl());UpdateHiResModelsState(map.Get3DControl());UpdateWeatherPluginState(map.Get3DControl())}}}function View3DMovePin(a){map.Get3DControl().PickupGeometry("UniqueLayer_Hack",a)}Msn.VE.FFSentinel=function(a){this.CurrentVersion=a};function BrowserSupports3D(){var a=window.navigator.userAgent;return a.indexOf("Windows")!=-1&&(a.indexOf("MSIE")!=-1||a.indexOf("Firefox")!=-1)}function GetSentinel(){if(BrowserSupports3D()){if(window.navigator.userAgent.indexOf("MSIE")!=-1){var b;try{b=new ActiveXObject("Microsoft.SentinelVirtualEarth3DProxy.SentinelVE3DProxy")}catch(f){try{b=new ActiveXObject("Microsoft.SentinelVirtualEarth3D.SentinelVE3D")}catch(g){b=null}}return b}else if(typeof navigator.plugins!=undefined)for(var a=0;a=0){var e=navigator.plugins[a].name.indexOf("plugin"),d=parseFloat(navigator.plugins[a].name.substring(c+17,e-1));return new Msn.VE.FFSentinel(d)}}}else if(typeof navigator.plugins!=undefined)for(var a=0;a=0){var e=navigator.plugins[a].name.indexOf("plugin"),d=parseFloat(navigator.plugins[a].name.substring(c+17,e-1));return new Msn.VE.FFSentinel(d)}}return null}function HandleModeNotInstalled(b){if(b==Msn.VE.MapActionMode.Mode3D){map.EnableMode(Msn.VE.MapActionMode.Mode2D);if(BrowserSupports3D()){var a=GetSentinel();if(a!=null)View3DDamaged();else View3DInstall()}else if(typeof ShowMessage!="undefined")ShowMessage(L_BrowserNotSupported3D_Text)}}function View3DInstall(){try{if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null)state.Set3DViewInstallInProgress("true");if(window.navigator.userAgent.indexOf("MSIE")!=-1)VE_Help.OpenSized(L_View3DHelpWindowTitle_Text,Get3dInstallUrl(),650,520);else VE_Help.OpenSized(L_View3DHelpWindowTitle_Text,Get3dInstallUrl(),680,540);var a=VE_Help.helpPanel.onCloseClick;VE_Help.helpPanel.onCloseClick=function(){a();VE_Help.helpPanel.onCloseClick=a}}catch(b){}}function View3DUpgrade(c){try{var b=Get3dInstallUrl("Default.aspx?v="+c+"&mkt={0}");if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null)state.Set3DViewInstallInProgress("true");if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null)window.open(b,"_blank","width=600,height=320,menubar=0,resizeable=0,status=0,titlebar=0,toolbar=0,scrollbars=0");else{VE_Help.OpenSized(L_View3DHelpWindowTitle_Text,b,600,320);var a=VE_Help.helpPanel.onCloseClick;VE_Help.helpPanel.onCloseClick=function(){a();VE_Help.helpPanel.onCloseClick=a}}}catch(d){}}function View3DDamaged(){try{VE_Help.Open("",Get3dHelpUrl("View3DUnavailable.htm"))}catch(a){}}function View3DSwitch(){if(map)map.EnableMode(Msn.VE.MapActionMode.Mode3D)}function Start3DView(){if(map){if(typeof ShowMessage!="undefined")ShowMessage(L_3DLoading_Text);window.setTimeout(View3DSwitch,200)}}function Start3DViewWhenUpgradeComplete(){if(map){var a=GetSentinel();if(a.CurrentVersion>=4.0){if(typeof ShowMessage!="undefined")ShowMessage(L_3DLoading_Text);window.setTimeout(View3DSwitch,200)}else setTimeout(Start3DViewWhenUpgradeComplete,1500);a=null}}function NotifyWhen3DUpgraded(){if(map){var a=GetSentinel();if(a.CurrentVersion>=4.0)if(map.GetDashboard()&&map.GetDashboard().DisplayThreeDUpdatedNotification)map.GetDashboard().DisplayThreeDUpdatedNotification();else{if(typeof ShowMessage!="undefined")ShowMessage(L_3DLoading_Text);window.setTimeout(View3DSwitch,200)}else setTimeout(NotifyWhen3DUpgraded,1500);a=null}}function PushpinURL(d,c){var a=vedomain+"/i/bin/"+window.buildVersion+"/";if(typeof d=="undefined"||d==null||!d)return a+"pins/red_circ7px.gif";var b=Msn.VE.PushPinTypes;switch(d){case b.Annotation:if(c=="shared")return a+"pins/poi_viewer.gif";else return a+"pins/poi_usergenerated.gif";case b.Overlay:if(c=="shared")return a+"pins/poi_cruncher_viewer.gif";else return a+"pins/poi_cruncher.gif";case b.SearchResultPrecise:if(c=="model"||c=="sharemodel")return a+"pins/modelpoi.gif";else if(c=="shared")return a+"pins/poi_title_viewer.gif";return a+"pins/poi_"+c+".gif";case b.SearchResultNonprecise:if(c=="model"||c=="sharemodel")return a+"pins/modelpoi.gif";else if(c=="shared")return a+"pins/poi_title_viewer.gif";return a+"pins/poi_search_nonprecise.gif";case b.Collection:return a+"pins/poi_"+c+".gif";case b.AdSponsor:return a+"pins/poi_search.gif";case b.DirectionStep:return a+"pins/poi_direction_step.png";case b.Direction:return a+"blue_pushpin.png";case b.DirectionTemp:return a+"pins/mapicon_"+c+".gif";case b.TrafficOthers:return a+"Traffic/Traffic"+c+".gif";case b.YouAreHere:return a+"pins/poi_youarehere.gif";case b.Default:return a+"pins/"+c;case b.Context:return a+"pins/red_circ7px.gif";case b.AdRoofStandard:case b.AdRoofWide:case b.AdStandard:case b.AdWide:case b.AdCategory:return c}return a+"pins/poi_usergenerated.gif"}function _VEExtractImgUrlFromHtml(d){var b=null,a=document.createElement("div");a.innerHTML=d;var c=a.getElementsByTagName("img");if(c.length>=1)b=c[0].getAttribute("src");a=null;return b}var _VEHtmlToImgUrlHash=[];function TranslatePushpinURL(d,f,g){var a=Msn.VE.PushPinTypes,h,c=null;switch(g){case a.DirectionTemp:var e=/mapicon_(start|end).gif/g,b=e.exec(f);if(b!=null&&b.length>=2){c=b[1];break}else return vedomain+_VEExtractImgUrlFromHtml(f);case a.SearchResultPrecise:case a.SearchResultNonprecise:case a.Collection:var e=/VE_Pushpin VE_Pushpin_(.*)/g,b=e.exec(d);if(b!=null&&b.length>=2)c=b[1];break;case a.TrafficOthers:if(typeof _VEHtmlToImgUrlHash[d]=="string")c=_VEHtmlToImgUrlHash[d];else{var e=new RegExp(/VE_Pushpin VE_Traffic_(.*)/g),b=e.exec(d);if(b!=null&&b.length>=2){c=b[1];_VEHtmlToImgUrlHash[d]=c}e=null}break;case a.AdRoofStandard:case a.AdRoofWide:case a.AdStandard:case a.AdWide:case a.AdCategory:c=_VEExtractImgUrlFromHtml(f)}var h=PushpinURL(g,c);return h}var _VE_previousShapeId=null;function RaiseMouseEvent3D(g,d,b){try{var a=Deserialize3DMessage(g);if(a.shapeId!=null){var e=typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null;if(b=="onclick"||!e&&b=="onmouseover"&&a.shapeId.indexOf(_entityIdShapePostfix)>0&&_VE_previousShapeId!=a.shapeId){if(typeof VE_Annotations!="undefined")if(VE_Annotations.PanelOpen)return;_VE_previousShapeId=a.shapeId;Process3DPushpinHover(a.layerId,a.shapeId,a.rX1,a.rY1,a.rX2,a.rY2,d)}else if(!e&&b=="onmouseout"&&a.shapeId.indexOf(_entityIdShapePostfix)>0){VE_MapManager.HighlightEntity(false);_VE_previousShapeId=null}}var c=GetMapControlInstance(d);if(c==null)return;var f=c.CreateEvent(a.lat==null||a.lon==null?null:new Msn.VE.LatLong(a.lat,a.lon),null,null,null,a.shapeId,a.button,a.alt);c.Fire(b,f)}catch(h){}}function OnMouseDown3D(b,a){RaiseMouseEvent3D(b,a,"onmousedown")}function OnMouseUp3D(b,a){__shapeIdBeingDragged=null;RaiseMouseEvent3D(b,a,"onmouseup")}function OnClick3D(b,a){RaiseMouseEvent3D(b,a,"onclick")}function OnMouseOver3D(b,a){RaiseMouseEvent3D(b,a,"onmouseover")}function OnMouseOut3D(b,a){ero.hide();RaiseMouseEvent3D(b,a,"onmouseout")}function OnDoubleClick3D(b,a){RaiseMouseEvent3D(b,a,"ondoubleclick")}function OnChangeMapStyle3D(){var b=GetMapControlInstance();if(b){var a=b.Get3DControl();UpdateStreetLevelGeometryState(a);UpdateHiResModelsState(a);UpdateWeatherPluginState(a)}}function GetMapControlInstance(b){if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null)return map;var a=GetVEMapInstance(b);if(a==null)return null;return a.vemapcontrol}function GetVEMapInstance(a){if(typeof a=="undefined"||a==null){if(Msn.VE.API==null||Msn.VE.API=="undefined"||Msn.VE.API.Globals.vemapinstances==null||Msn.VE.API.Globals.vemapinstances=="undefined")return null;var c=0;for(var b in Msn.VE.API.Globals.vemapinstances)if(Msn.VE.API.Globals.vemapinstances[b]instanceof VEMap&&Msn.VE.API.Globals.vemapinstances[b].GetMapMode()==VEMapMode.Mode3D){c++;a=b}if(c!=1)return null}return VEMap._GetMapFromGUID(a)}function Get3DHardwareClassification(b){var a=b.HardwareClassificationLevel;if(a==3)a="Quality";else if(a==2)a="Balanced";else if(a==1)a="Performance";else a="Unknown";return a}VE_3DPlugin={MovieRecorderGuid:"791BC97B-7526-4C74-85DB-8CC220E3A65E",PhotoGuid:"B1FC67C1-F8CE-4CA5-A957-B5FF2215037B",PhotoManifest:GetManifestUrl("https://go.microsoft.com/fwlink/?LinkID=99342"),PhotoUrl:GetManifestUrl("https://go.microsoft.com/fwlink/?LinkID=98905"),HiResModelsGuid:"5D4BE259-4D19-492F-8D6B-830833E2EAD9",HiResModelsManifest:GetManifestUrl("https://go.microsoft.com/fwlink/?LinkID=124117"),HiResModelsUrl:GetManifestUrl("https://go.microsoft.com/fwlink/?LinkID=124119"),WeatherPluginGuid:"A020A315-34D9-4357-94AD-97F909E96B22",WeatherPluginManifest:GetManifestUrl("https://go.microsoft.com/fwlink/?LinkID=124118"),WeatherPluginUrl:GetManifestUrl("https://go.microsoft.com/fwlink/?LinkID=124120"),GeoCommunityGuid:"49D0BC0C-67A7-44CD-93BA-C7CF6F20EAB9",GeoCommunityManifest:GetManifestUrl("https://go.microsoft.com/fwlink/?LinkID=99343"),GeoCommunityUrl:GetManifestUrl("https://go.microsoft.com/fwlink/?LinkID=98904"),StreetLevelGeometryGuid:"C9F0B259-0B78-464A-BEC4-B4E90CF0BC8D",StreetLevelGeometryManifest:GetManifestUrl("https://go.microsoft.com/fwlink/?LinkID=111353"),StreetLevelGeometryUrl:GetManifestUrl("https://go.microsoft.com/fwlink/?LinkID=109495")};var VE_3DPhotoPluginObj=0,VE_3DHiResModelsPluginObj=0,VE_3DWeatherPluginObj=0,VE_3DGeoCommunityPluginObj=0,VE_3DStreetLevelGeometryObj=0,PluginEventRegistered=0,PhotoPluginEventRegistered=0,GeoCommunityPluginEventRegistered=0,StreetLevelGeometryEventRegistered=0,VE3DVIASavedAction=0;function GetVE3DVIAInstallState(a){if(!a){a=map.Get3DControl();if(!a)return 0}return a.GetComponentInstallState("EE3B731B-969E-4cb6-8949-ADFDC763A547")}function OnVE3DVIAInstallEnd(){if(VE3DVIASavedAction!=0){ProcessModelIn3DEx(VE3DVIASavedAction.actionType,VE3DVIASavedAction.properties,VE3DVIASavedAction.control,L_PluginFeatureNotAvailable_Text);VE3DVIASavedAction=0}}function ProcessModelRequire3DVIA(b,c,a){if(typeof b=="undefined"||b==null)return;if(!a){a=map.Get3DControl();if(!a)return}if(GetVE3DVIAInstallState()==2)ProcessModelIn3DEx(b,c,a,L_PluginFeatureNotAvailable_Text);else{if(!VE3DVIASavedAction)VE3DVIASavedAction={};VE3DVIASavedAction.actionType=b;VE3DVIASavedAction.properties=c;VE3DVIASavedAction.control=a;OnSetupVE3DVIA()}}function ProcessModelIn3D(b,c,d){var a=L_UnableToDisplay3DVIAModel_Text;if(VE_ModelActionType.DeleteModel==b)a="";ProcessModelIn3DEx(b,c,d,a)}function ProcessModelIn3DEx(b,e,a,d){if(typeof b=="undefined"||b==null)return;if(!a){var c=GetMapControlInstance();if(c)a=c.Get3DControl();if(!a)return}if(!VE_3DGeoCommunityPluginObj)VE_3DGeoCommunityPluginObj=CreatePluginObj(a,VE_3DPlugin.GeoCommunityGuid,VE_3DPlugin.GeoCommunityManifest,VE_3DPlugin.GeoCommunityUrl);if(!GeoCommunityPluginEventRegistered){a.AttachPlugInEvent(VE_3DPlugin.GeoCommunityGuid,"OnRefreshModel","OnRefreshModel");a.AttachPlugInEvent(VE_3DPlugin.GeoCommunityGuid,"OnLaunchVE3DVIA","OnLaunchVE3DVIA");a.AttachPlugInEvent(VE_3DPlugin.GeoCommunityGuid,"LoadModelFileStatus","VE_OnLoadModelFileStatus");GeoCommunityPluginEventRegistered=1}FirePluginEventIn3D(VE_3DGeoCommunityPluginObj,b,e,a,d)}function ProcessPhotoPluginActionIn3D(b,c,a){if(typeof b=="undefined"||b==null)return;if(!a){a=map.Get3DControl();if(!a)return}if(!VE_3DPhotoPluginObj)VE_3DPhotoPluginObj=CreatePluginObj(a,VE_3DPlugin.PhotoGuid,VE_3DPlugin.PhotoManifest,VE_3DPlugin.PhotoUrl);if(!PhotoPluginEventRegistered){a.AttachPlugInEvent(VE_3DPlugin.PhotoGuid,"OnSelectPhoto","OnSelectPhoto");a.AttachPlugInEvent(VE_3DPlugin.PhotoGuid,"OnActivate","OnActivate");a.AttachPlugInEvent(VE_3DPlugin.PhotoGuid,"OnCameraPan","OnPhotoCameraPan");a.AttachPlugInEvent(VE_3DPlugin.PhotoGuid,"OnCameraZoom","OnPhotoCameraZoom");a.AttachPlugInEvent(VE_3DPlugin.PhotoGuid,"OnPhotoStateChanged","OnPhotoStateChanged");PhotoPluginEventRegistered=1}FirePluginEventIn3D(VE_3DPhotoPluginObj,b,c,a,null)}function AllowWeatherPlugin(a){if(!a)return false;var c=GetMapControlInstance(null),d=a.HardwareClassificationLevel,b=c.GetMapStyle();return d==3&&(b=="a"||b=="h")}function AllowHiResModels(a){if(!a)return false;var c=GetMapControlInstance(null),b=a.HardwareClassificationLevel;return b==3}function AllowStreetLevelDetail(a){if(!a)return false;var c=GetMapControlInstance(null),d=a.HardwareClassificationLevel,b=c.GetMapStyle();return d==3&&(b=="a"||b=="h")}function LoadWeatherPlugin(a){if(!VE_3DWeatherPluginObj)if(a&&AllowWeatherPlugin(a)){VE_3DWeatherPluginObj=CreatePluginObj(a,VE_3DPlugin.WeatherPluginGuid,VE_3DPlugin.WeatherPluginManifest,VE_3DPlugin.WeatherPluginUrl);if(VE_3DWeatherPluginObj){VE_3DWeatherPluginObj.Loading=1;a.LoadPlugInDll(VE_3DWeatherPluginObj.Url)}}}function OnHiResModelViewed(){}function LoadHiResModelsPlugin(a){if(!VE_3DHiResModelsPluginObj)if(a&&AllowHiResModels(a)){VE_3DHiResModelsPluginObj=CreatePluginObj(a,VE_3DPlugin.HiResModelsGuid,VE_3DPlugin.HiResModelsManifest,VE_3DPlugin.HiResModelsUrl);if(VE_3DHiResModelsPluginObj){a.AttachPlugInEvent(VE_3DPlugin.HiResModelsGuid,"OnHiResModelViewed","OnHiResModelViewed");VE_3DHiResModelsPluginObj.Loading=1;a.LoadPlugInDll(VE_3DHiResModelsPluginObj.Url)}}}function LoadStreetLevelGeometry(a){if(!VE_3DStreetLevelGeometryObj)if(a&&AllowStreetLevelDetail(a)){VE_3DStreetLevelGeometryObj=CreatePluginObj(a,VE_3DPlugin.StreetLevelGeometryGuid,VE_3DPlugin.StreetLevelGeometryManifest,VE_3DPlugin.StreetLevelGeometryUrl);if(VE_3DStreetLevelGeometryObj){VE_3DStreetLevelGeometryObj.Loading=1;a.LoadPlugInDll(VE_3DStreetLevelGeometryObj.Url)}}}function ActivateStreetLevelGeometry(a){if(AllowStreetLevelDetail(a))if(!VE_3DStreetLevelGeometryObj)LoadStreetLevelGeometry(a);else if(VE_3DStreetLevelGeometryObj.Loaded&&!VE_3DStreetLevelGeometryObj.Activated)if(a)a.ActivatePlugIn(VE_3DStreetLevelGeometryObj.Guid,VE_3DStreetLevelGeometryObj.Manifest)}function DeactivateStreetLevelGeometry(a){if(VE_3DStreetLevelGeometryObj)if(VE_3DStreetLevelGeometryObj.Loaded&&VE_3DStreetLevelGeometryObj.Activated&&!AllowStreetLevelDetail(a))if(a)a.DeactivatePlugIn(VE_3DStreetLevelGeometryObj.Guid)}function UpdateStreetLevelGeometryState(a){var b=AllowStreetLevelDetail(a);if(b){if(!VE_3DStreetLevelGeometryObj.Activated)ActivateStreetLevelGeometry(a)}else if(VE_3DStreetLevelGeometryObj.Activated)DeactivateStreetLevelGeometry(a)}function ActivateWeatherPlugin(a){if(AllowWeatherPlugin(a))if(!VE_3DWeatherPluginObj)LoadWeatherPlugin(a);else if(VE_3DWeatherPluginObj.Loaded&&!VE_3DWeatherPluginObj.Activated)if(a)a.ActivatePlugIn(VE_3DWeatherPluginObj.Guid,VE_3DWeatherPluginObj.Manifest)}function DeactivateWeatherPlugin(a){if(VE_3DWeatherPluginObj)if(VE_3DWeatherPluginObj.Loaded&&VE_3DWeatherPluginObj.Activated&&!AllowWeatherPlugin(a))if(a)a.DeactivatePlugIn(VE_3DWeatherPluginObj.Guid)}function UpdateWeatherPluginState(a){var b=AllowWeatherPlugin(a);if(b){if(!VE_3DWeatherPluginObj.Activated)ActivateWeatherPlugin(a)}else if(VE_3DWeatherPluginObj.Activated)DeactivateWeatherPlugin(a)}function ActivateHiResModelsPlugin(a){if(AllowHiResModels(a))if(!VE_3DHiResModelsPluginObj)LoadHiResModelsPlugin(a);else if(VE_3DHiResModelsPluginObj.Loaded&&!VE_3DHiResModelsPluginObj.Activated)if(a)a.ActivatePlugIn(VE_3DHiResModelsPluginObj.Guid,VE_3DHiResModelsPluginObj.Manifest)}function DeactivateHiResModelsPlugin(a){if(VE_3DHiResModelsPluginObj)if(VE_3DHiResModelsPluginObj.Loaded&&VE_3DHiResModelsPluginObj.Activated&&!AllowHiResModels(a))if(a)a.DeactivatePlugIn(VE_3DHiResModelsPluginObj.Guid)}function UpdateHiResModelsState(a){var b=AllowHiResModels(a);if(b){if(!VE_3DHiResModelsPluginObj.Activated)ActivateHiResModelsPlugin(a)}else if(VE_3DHiResModelsPluginObj.Activated)DeactivateHiResModelsPlugin(a)}function CreatePluginObj(b,d,c,e){if(!PluginEventRegistered){b.AttachEvent("OnPlugInLoaded","On3DPlugInLoaded");b.AttachEvent("OnPlugInActivated","On3DPlugInActivated");b.AttachEvent("OnPlugInDeactivated","On3DPlugInDeactivated");PluginEventRegistered=1}var a={};a.Loaded=0;a.Loading=0;a.Activated=0;a.actionCounter=0;a.actionType=[];a.properties=[];a.control=[];a.errorMessage=[];a.Guid=d.toUpperCase();a.Manifest=c;a.Url=e;return a}function FirePluginEventIn3D(a,c,d,b,e){if(a.Activated)b.RaiseEvent(a.Guid,c,d);else{if(!a.Loaded&&!a.Loading){a.Loading=1;b.LoadPlugInDll(a.Url)}QueuePluginEvent(a,c,d,b,e)}}function QueuePluginEvent(a,c,d,e,b){a.actionType[a.actionCounter]=c;a.properties[a.actionCounter]=d;a.control[a.actionCounter]=e;a.errorMessage[a.actionCounter]=b;a.actionCounter=a.actionCounter+1}function FireErrorMessage(b){var a,c;for(a=0;a=500};Web.Browser.AttachSafariCompatibility=function(a){if(Web.Browser.isSafari2())try{document.getElementsByTagName("HTML")[0]}catch(s){}a.CollectGarbage=function(){};Web.Browser.Button={LEFT:0,RIGHT:2,MIDDLE:1};function i(a){window.event=a}function q(b,c,d){var a=c.slice(2);if(a!=="mouseenter"&&a!=="mouseleave")b.addEventListener(a,i,true);else{b.addEventListener("mouseover",i,true);b.addEventListener("mouseout",i,true)}b.addEventListener(a,d,false)}function p(d,b,c){var a=b.slice(2);if(b==="mousewheel")a="DOMMouseScroll";d.removeEventListener(a,c,false)}function j(a,b){if(a==="onclick")a="onmouseup";q(this,a,b)}function k(a,b){if(a==="onclick")a="onmouseup";p(this,a,b)}if(Web.Browser.isSafari2())if(typeof a["[[DOMDocument.prototype]]"]==="undefined"||typeof a["[[DOMElement.prototype]]"]==="undefined"){Object.prototype.attachEvent=j;Object.prototype.detachEvent=k}else{a.attachEvent=a["[[DOMDocument.prototype]]"].attachEvent=a["[[DOMElement.prototype]]"].attachEvent=j;a.detachEvent=a["[[DOMDocument.prototype]]"].detachEvent=a["[[DOMElement.prototype]]"].detachEvent=k}else if(Web.Browser.isSafari3()){a.attachEvent=a.HTMLDocument.prototype.attachEvent=a.HTMLElement.prototype.attachEvent=j;a.detachEvent=a.HTMLDocument.prototype.detachEvent=a.HTMLElement.prototype.detachEvent=k}var g=false;function c(a){if(g){a.preventDefault();a.returnValue=false;document.removeEventListener(a.type,c,true);a.capturedTarget=a.target;g.dispatchEvent(a);delete a.captureTarget;if(g)document.addEventListener(a.type,c,true);a.stopPropagation()}}function b(a){a.stopPropagation();a.preventDefault()}function o(){g=this;document.addEventListener("mousemove",c,true);document.addEventListener("mouseover",b,true);document.addEventListener("mouseout",b,true);document.addEventListener("mouseenter",b,true);document.addEventListener("mouseleave",b,true);document.addEventListener("mouseup",c,true)}function m(){g=null;document.removeEventListener("mousemove",c,true);document.removeEventListener("mouseover",b,true);document.removeEventListener("mouseout",b,true);document.removeEventListener("mouseenter",b,true);document.removeEventListener("mouseleave",b,true);document.removeEventListener("mouseup",c,true)}if(Web.Browser.isSafari2()){var n=0;function l(){if(typeof a["[[DOMElement.prototype]]"]==="undefined"){if(n<100){n++;setTimeout(l,100)}}else{a["[[DOMElement.prototype]]"].setCapture=o;a["[[DOMElement.prototype]]"].releaseCapture=m}}l()}else if(Web.Browser.isSafari3()){a.HTMLElement.prototype.setCapture=o;a.HTMLElement.prototype.releaseCapture=m}function h(){}function d(){}var f=null,e=null;if(Web.Browser.isSafari2()){h=function(e,c,b){var a=d(e,c,b);if(a.length>0)return a[0];else return null};d=function(g,e,d){var c=d.getElementsByTagName(e),b=[],a,f=c.length;for(a=0;a0)return b[0];else return null};d=function(b,f,e){var d=b.evaluate(f,e,b.createNSResolver(b.documentElement),XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null),c=[],a,g=d.snapshotLength;for(a=0;a1){a=parseInt(a);if(a===NaN)a=.3;else a/=100}return a}}}var windowWidth=0,windowHeight=0,scrollbarWidth=null;function $ID(a){var b=document;return b.getElementById(a)}function $CE(a){var b=document;return b.createElement(a)}function $CENS(a){var b=document;return b.createElementNS(a)}function GetWindowWidth(){var a=0;if(typeof window.innerWidth=="number")a=window.innerWidth;else if(document.documentElement&&document.documentElement.clientWidth)a=document.documentElement.clientWidth;else if(document.body&&document.body.clientWidth)a=document.body.clientWidth;if(!a||a<100)a=100;return a}function GetWindowHeight(){var a=0;if(typeof window.innerHeight=="number")a=window.innerHeight;else if(document.documentElement&&document.documentElement.clientHeight)a=document.documentElement.clientHeight;else if(document.body&&document.body.clientHeight)a=document.body.clientHeight;if(!a||a<100)a=100;return a}function GetScrollbarWidth(){if(scrollbarWidth)return scrollbarWidth;if(navigator.userAgent.indexOf("IE")>=0){var a=document.createElement("div"),b=null;a.style.visible="hidden";a.style.overflowY="scroll";a.style.position="absolute";a.style.width=0;document.body.insertAdjacentElement("afterBegin",a);b=a.offsetWidth;a.parentNode.removeChild(a);if(!b)b=16;scrollbarWidth=b;return b}else return 0}function GetUrlPrefix(){var a=window.location.pathname.lastIndexOf("/"),b=window.location.protocol+"//"+window.location.hostname+window.location.pathname.substring(0,a+1);return b}function GetUrlParameterString(){var a=window.location.search;if(a.length==0||a.indexOf("?")==-1)return "";return a.substr(a.indexOf("?")+1)}function CheckWipExistence(){var a=GetUrlParameterString();if(a!=""&&a.indexOf("wip=")>-1)return true;return false}function GetUrlParameters(){var b=[],d=GetUrlParameterString();if(!d)return b;var e=d.split("&");for(var c=0;c1)c=h.elem;if(i.initialCollection!==null)elems=j(i.initialCollection,b[b.length-1]);else elems=m(b[b.length-1],c);if(b.length===1)return elems;if(b.length===3)if(h.isIdeal)return elems;var s=0,k,g,t=elems.length,r=a.combinator,l,p,f,e,n=null,o=[];a:for(k=0;k0&&!g["."].processFn(b,j)||i.length>0&&!g["["].processFn(b,i)||l.length>0&&!g[":"].processFn(b,l))return false;var h,e,k=d.exProps;for(h in f){e=f[h].name;if(k[e]&&!f[h].processFn(b,k[e]))return false}return true}function m(h,f){f=f||document.documentElement;var l=0,d,j,c,a=h.inProps,m=h.exProps;if(a.id){c=[$ID(a.id)];delete a.id}else{var e=a.pseudos[a.pseudos.length-1];if(e&&e.name==="nth-child"){c=k(e.param.a,e.param.b,a.tag);a.pseudos=a.pseudos.splice(a.pseudos.length,1)}else c=f.getElementsByTagName(a.tag||"*");if(m.isEmpty&&a.classes.length<1&&a.attributes.length<1&&a.pseudos.length<1)return g(c);delete a.tag}var i=[];j=c.length;for(d=0;d=0&&g%j===0&&(b&&a.tagName!==b?false:true)){if(h)d.push(a);d[c(a)]=true}}return d}function i(c,d,f){var b=c+"n+"+d,a=e[b];if(!a)a=e[b]=l(c,d);return a[f]===true}},d=new function(){var d=null,f=null,c="";this.setRules=function(b){d=b;var a;for(a in d.combinator)if(d.combinator.hasOwnProperty(a))c+=a;f=new RegExp("\\s*(["+c+"])\\s*","g")};this.parseSelector=function(l){l=e(l).replace(f,"$1");var i=null,k=[],n=new b,m={anchor:new g,isPartialQuery:false,initialCollection:null},h=m.anchor,p=h,s,t,v,q,r,u,d,j=0,o="",w=l.length;while(j"&&h.elem&&h.elem!==-1&&h.index===k.length-2?h.elem.childNodes:null}else{i=a.inRules["tag"];continue}j++}k.push(n);h.isIdeal=h.elem!==-1&&k.length-3===h.index;m.anchor=h;return {selectors:k,hints:m}};this.parseAttribute=function(c){var d=/\=|\^=|\$=|\*=|\|=|~=|!=/,a=c.match(d);a=a&&a[0];var b=c.split(a),f=b[0]&&e(b[0].replace(/[\[\]"]/g,"")),g=b[1]&&e(b[1].replace(/[\[\]"]/g,""));return {name:f,delim:a,val:g}};this.parsePseudo=function(f){var d=/(.*)\((.*)\)/,b=f.match(d),g=b&&b[1]||f,a=b&&b[2],c,h,e;if(g==="nth-child")if(a==="even")a={wholeValue:a,a:2,b:0};else if(a==="odd")a={wholeValue:a,a:2,b:1};else{d=/([+-]?\d+)?(n)?([+-]?\d+)?/;b=a.match(d);c=parseInt(b[1])||1;e=b[2]?1:0;h=c&&!e?c:parseInt(b[3])||0;a={wholeValue:a,a:c*e,b:h}}return {name:g,param:a}};this.createReferenceSelector=function(a){return new b(a)};function b(e){this.cursor=null;this.refersTo=e;this.inProps={id:null,tag:null,classes:[],attributes:[],pseudos:[]};this.exProps={isEmpty:true};var d,b,c=a.exRules;for(d in c)if(c.hasOwnProperty(d)){delete this.exProps.isEmpty;b=c[d];switch(b.objType){case "array":this.exProps[b.name]=[];break;case "null":default:this.exProps[b.name]=null}}}b.prototype.addPart=function(a,c){var b=c.name,f=c.preFn,e=c.hintFn,g=-1;if(typeof f==="function")a=f(a);var d=typeof this.inProps[b]!=="undefined"?this.inProps:this.exProps;d[b]instanceof Array?d[b].push(a):(d[b]=a);if(typeof e==="function")g=e(a);return g};function g(b,a,c){this.index=b===0?0:b||NaN;this.elem=a===null?null:a||-1;this.isIdeal=c||false}},a={inRules:{"tag":{name:"tag",endsWith:"#.[:",preFn:function(a){return a.toUpperCase()},hintFn:function(a){return a==="BODY"||a==="HTML"?document.getElementsByTagName(a)[0]:-1},processFn:function(a,b){return a.tagName===b}},"#":{name:"id",endsWith:"#.[:",startSkip:1,preFn:null,hintFn:function(a){return $ID(a)},processFn:function(a,b){return a.id===b}},".":{name:"classes",endsWith:".[:",startSkip:1,objType:"array",processFn:function(d,c){var a=d.className;if(typeof a!=="string")a=d.getAttribute("class");if(!a||a.length<1)return false;var e=" "+a+" ",b,f=c.length;for(b=0;b":function(a,d){var c=d.parentNode;a.cursor=c;return b.processSelector(a,c)},"<":function(d,e){var c=e.childNodes,a,f=c.length;for(a=0;a0)if(a)a=a.parentNode;else break;return a};Gimme.ext.getSibling=function(b,g){var c=this.entities[g||0];if(b===0)return c;var e=b>0?"nextSibling":"previousSibling",a=c,f=Math.abs(b),d=0;while(da-1)b=a-1;return this.points[b]};Gimme.Animation.AccelerationLine=function(a,c){var d=a[a.length-1],b=g(a).map(function(a){return {x:a/d,y:0}});this.bezier=new Gimme.Animation.BezierCurve(b,c);this.points=this.bezier.points};Gimme.Animation.AccelerationLine.prototype.getValue=function(a){return this.bezier.getPoint(a).x};Gimme.Animation.AccelerationLines={zoom:new Gimme.Animation.AccelerationLine([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520],75),slowStartAccelerate:new Gimme.Animation.AccelerationLine([0,1,2,3,8,50],100),quickStartDecelerate:new Gimme.Animation.AccelerationLine([0,50,55,56,57,58],100),linear:new Gimme.Animation.AccelerationLine([0,10],100)};Gimme.Animation.AccelerationLines.defaultLine=Gimme.Animation.AccelerationLines.zoom;Gimme.ext.fadeIn=function(b,c,a){g(this.entities).fadeTo(null,.99999,b,c,a);a=null;return this};Gimme.ext.fadeOut=function(b,c,a){g(this.entities).fadeTo(null,0,b,c,a);a=null;return this};Gimme.ext.fadeTo=function(b,c,e,h,d,a){a=a||Gimme.Animation.AccelerationLines.linear;g(this.entities).animate(a,e,h,d,f,i);function i(d){d.style.zoom="1";var a=b===0?0:b||Number(g(d).getStyle("opacity")),e=c-a;return {startOpacity:a,deltaO:e}}function f(e,b,c,a){var f=c.getValue(b),d=a.startOpacity+f*a.deltaO;g(e).setStyle("opacity",d)}return this};Gimme.ext.veil=function(b,d,h,c,e){var a=Gimme.Animation.Directions;b=Math.floor(b)||a[b]||a.vertically;g(this.entities).animate(e,d,h,c,f,i);function i(d){var e=d.style.display||g(d).getStyle("display");if(e==="none")return false;var c=function(b){var a={};g(b).forEach(function(b){a[b]=parseInt(g(d).getStyle(b),10)});return a}(["height","width","paddingTop","paddingRight","paddingBottom","paddingLeft"]);d["_$gimme$_veil"]=c.height+";"+c.width+";"+c.paddingTop+";"+c.paddingRight+";"+c.paddingBottom+";"+c.paddingLeft;d.style.overflow="hidden";if((b&a.horizontally)===a.horizontally)d.style.height=c.height+"px";return c}function f(d,g,m,c){if(g>=1)d.style.display="none";var e=m.getValue(g),k,l,j,h,f,i;if((b&a.vertically)===a.vertically){k=c.height-e*c.height;j=c.paddingTop-e*c.paddingTop;f=c.paddingBottom-e*c.paddingBottom;d.style.height=k+"px";d.style.paddingTop=j+"px";d.style.paddingBottom=f+"px"}if((b&a.horizontally)===a.horizontally){l=c.width-e*c.width;h=c.paddingRight-e*c.paddingRight;i=c.paddingLeft-e*c.paddingLeft;d.style.width=l+"px";d.style.paddingRight=h+"px";d.style.paddingLeft=i+"px"}}return this};Gimme.ext.unveil=function(b,e,i,d,f){var a=Gimme.Animation.Directions;b=Math.floor(b)||a[b]||a.vertically;var c=true;g(this.entities).animate(f,e,i,d,h,j);function j(b){var l=b.style.display||g(b).getStyle("display");if(l!=="none"&&l!==null)return false;var m=Gimme.Helper.convertToPixels,d=b.cloneNode(true);d.setAttribute("style","position:absolute;top:0;left:0;visibility:hidden;margin:0;padding:0;border:0;height:;width:;");d.style.display="block";b.parentNode.appendChild(d);var j,k,i,f,e,h,a=b["_$gimme$_veil"];if(a){a=a.split(";");j=a[0];k=a[1];i=a[2];f=a[3];e=a[4];h=a[5]}else{var c=g(d);j=parseInt(m(b.style.height),10)||parseInt(c.getStyle("height"),10);k=parseInt(m(b.style.width),10)||parseInt(c.getStyle("width"),10);d.style.padding="";i=parseInt(c.getStyle("paddingTop"),10);e=parseInt(c.getStyle("paddingBottom"),10);f=parseInt(c.getStyle("paddingRight"),10);h=parseInt(c.getStyle("paddingLeft"),10)}b.parentNode.removeChild(d);b.style.overflow="hidden";return {deltaH:j,deltaW:k,paddingTop:i,paddingBottom:e,paddingLeft:h,paddingRight:f}}function h(h,j,p,d){var n,o,m,i,k,l,f=g(h),e=1-p.getValue(j);if(c){h.style.display="block";c=false}if(j>=1)h.style.overflow="";if(b===a.vertically)f.setStyles("width",d.deltaW+"px","paddingRight",d.paddingRight+"px","paddingLeft",d.paddingLeft+"px");else if(b===a.horizontally)f.setStyles("height",d.deltaH+"px","paddingTop",d.paddingTop+"px","paddingBottom",d.paddingBottom+"px");if((b&a.vertically)===a.vertically){n=d.deltaH-e*d.deltaH;m=d.paddingTop-e*d.paddingTop;i=d.paddingBottom-e*d.paddingBottom;f.setStyles("height",n+"px","paddingTop",m+"px","paddingBottom",i+"px")}if((b&a.horizontally)===a.horizontally){o=d.deltaW-e*d.deltaW;k=d.paddingRight-e*d.paddingRight;l=d.paddingLeft-e*d.paddingLeft;f.setStyles("width",o+"px","paddingRight",k+"px","paddingLeft",l+"px")}}return this};Gimme.ext.scrollTo=function(b,e,a,c){g(this.entities[0]).animate(c,b,e,a,d,f);function f(c){var a=Gimme.Screen.getScrollPosition(),b=g(c).getPagePosition().y-a.y;return {scrollPos:a,deltaY:b}}function d(f,b,c,a){var d=c.getValue(b),e=a.scrollPos.y+d*a.deltaY;window.scrollTo(0,Math.floor(e))}return this};Gimme.ext.slideToPoint=function(a,c,f,b,d){g(this.entities).animate(d,c,f,b,e,h);function h(e){var b=g(e).getComputedPosition();if(a.x===null)a.x=b.x;if(a.y===null)a.y=b.y;var d=a.y-b.y,c=a.x-b.x;return {startPt:b,deltaX:c,deltaY:d}}function e(c,e,f,a){var b=a.startPt,g=a.deltaX,h=a.deltaY,d=f.getValue(e),i=b.x+d*g,j=b.y+d*h;c.style.top=Math.floor(Math.round(j))+"px";c.style.left=Math.floor(Math.round(i))+"px"}return this};Gimme.ext.followPath=function(f,a,d,e,c){a=a||1;g(this.entities).animate(f,d,e,c,b,h);function h(b){var a=g(b).getComputedPosition();return {startPt:a}}function b(c,e,g,f){var b=f.startPt,d=g.getPoint(e),h=b.x+d.x*a,i=b.y+d.y*a;c.style.top=Math.floor(Math.round(i))+"px";c.style.left=Math.floor(Math.round(h))+"px"}return this};Gimme.ext.animate=function(d,b,a,h,c,e){var f=this.entities.length;if(f<1)return;d=d||Gimme.Animation.AccelerationLines.defaultLine;b=Math.floor(b)||Gimme.Animation.Speeds[b]||Gimme.Animation.Speeds.quickly;a=a||"AUTOGUID_"+Math.random((new Date).getTime());if(!Gimme.Animation.isGrouping()&&Gimme.Animation.isRunning(a))return;Gimme.Animation.whenDone(a,h);var g=0,j=(new Date).getTime();this.forEach(function(c,b){Gimme.Animation.start(a,i(c,b),1)});function i(i){var h=e(i),l=function(){var l=(new Date).getTime(),k=(l-j)/b;if(k>=1){if(typeof c==="function")c(i,1,d,h);if(++g===f){Gimme.Animation.end(a);e=null;c=null}}else c(i,k,d,h)},k=function(){Gimme.Animation.end(a)};return h?l:k}};Gimme.Events=new function(){var c={},b=null,a=null;this.captureMouse=function(c){Gimme.Events.releaseMouse();b=c;if(typeof c.setCapture!=="undefined")c.setCapture();else{a=function(b){b.stopPropagation();var d,e;if(Gimme.Browser.isGecko){d=document.createEvent("MouseEvents");d.initMouseEvent(b.type,b.bubbles,b.cancelable,window,b.detail,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,b.relatedTarget);e=Gimme.Screen.getScrollPosition();d.__defineGetter__("pageX",function(){return this.clientX+e.x});d.__defineGetter__("pageY",function(){return this.clientY+e.y})}else d=b;document.removeEventListener(b.type,a,true);d.captureTarget=b.target;c.dispatchEvent(d);if(a!==null)document.addEventListener(b.type,a,true);delete d.captureTarget};document.addEventListener("mouseover",a,true);document.addEventListener("mouseout",a,true);document.addEventListener("mousemove",a,true);document.addEventListener("mouseup",a,true);document.addEventListener("mousedown",a,true);document.addEventListener("click",a,true);document.addEventListener("dblclick",a,true)}return this};this.releaseMouse=function(){if(b!==null){if(typeof b.releaseCapture!=="undefined")b.releaseCapture();else{document.removeEventListener("mouseover",a,true);document.removeEventListener("mouseout",a,true);document.removeEventListener("mousemove",a,true);document.removeEventListener("mouseup",a,true);document.removeEventListener("mousedown",a,true);document.removeEventListener("click",a,true);document.removeEventListener("dblclick",a,true)}b=a=null}return this};this.getCaptureTarget=function(a){return a.captureTarget||a.srcElement||a.target};Gimme.ext.onmouseenter=function(e,b,c){var a=d(e);c?this.addEvent("mouseover",a,b,false):this.removeEvent("mouseover",a,b,false);a=null};Gimme.ext.onmouseleave=function(e,b,c){var a=d(e);c?this.addEvent("mouseout",a,b,false):this.removeEvent("mouseout",a,b,false);a=null};Gimme.ext.onmousewheel=function(d,c,e){var a="mousewheel",b=d;if(Gimme.Browser.isGecko){a="DOMMouseScroll";b=f(d)}e?this.addEvent(a,b,c,false):this.removeEvent(a,b,c,false)};function e(c,a,b){if(c===a)return false;var d=0;while(a&&a!=c){d++;a=a.parentNode}b=b||d;return a===c&&b===d}function d(b){var d=Gimme.Helper.getObjectGUID(b),a=c[d];if(typeof a==="undefined")a=c[d]=function(c){var a=c.relatedTarget;if(this===a||e(this,a))return;b.call(this,c)};return a}function f(b){var d=Gimme.Helper.getObjectGUID(b),a=c[d];if(typeof a==="undefined")a=c[d]=function(a){a.wheelDelta=-a.detail;b.call(this,a);a.wheelDelta=null};return a}};Gimme.ver="Gimme v2.0.0.3 (Caspian) :: 12/2/2008, 9:57:48";Gimme.ext.getRelativePosition=function(d,e){var a=this.entities[e||0],b=0,c=0;while(a!==null&&a!==d){b+=a.offsetLeft;c+=a.offsetTop;a=a.offsetParent}return {x:b,y:c}};Gimme.ext.addShim=function(d,e){var b=this.entities[0];if(b.shim){b.shim.parentNode.removeChild(b.shim);b.shim=null}var a=document.createElement("iframe");a.frameBorder="0";a.scrolling="no";a.className="iframeShim";a.style.position="absolute";a.style.zIndex=e||"1";a.style.background="#fff";a.style.height=b.offsetHeight+"px";a.style.width=b.offsetWidth+"px";var c=g(b);a.style.top=c.getStyle("top");a.style.left=c.getStyle("left");a.style.marginTop=c.getStyle("marginTop");a.style.marginLeft=c.getStyle("marginLeft");a.style.marginRight=c.getStyle("marginRight");a.style.marginBottom=c.getStyle("marginBottom");this.entities.push(a);d=d||b;(d.parentNode||document.body).insertBefore(a,d);b.shim=a;return this};Gimme.ext.removeShim=function(){var b=this.entities[0],a=b.shim;if(a){a.parentNode.removeChild(a);b.shim=null}return this};Gimme.ext.toggle=function(a){if(a!==true)a=false;this.forEach(function(c){var b=g(c);if(a)b.setStyle("visibility",b.getStyle("visibility")==="visible"?"hidden":"visible");else b.setStyle("display",b.getStyle("display")!=="none"?"none":"block")});return this};function MVC_Init_AbstractView_Shared(){Msn.MVC.AbstractView.prototype.GetMoveMenuOptionAsHtml=function(a){return a}}function MVC_Init_View3D_Shared(){Msn.MVC.View3D.prototype.GetMoveMenuOptionAsHtml=function(d,c){var e=c.GetPrimitiveCount();for(var a=0;a=0&&d=0)a.childNodes[f].className=m;c=d;a.childNodes[d].className=r;e=a.childNodes[d].className}else{var f=g();if(f>=0)a.childNodes[f].className=m;c=-1}}function g(){return c}function o(){if(c>=0&&c=b.length)return;if(d0)b.pop();while(a.childNodes.length>0)a.removeChild(a.lastChild);c=-1}function A(){a.style.display="block";this.isVisible=true}function z(){a.style.display="none";this.isVisible=false}this.OnClick=null;this.GetCount=x;this.GetElement=u;this.GetSelectedIndex=g;this.GetSelectedItem=o;this.SelectItemAtIndex=i;this.OnSelect=null;this.AddItem=y;this.OnMouseOver=null;this.OnSelect=null;this.OnMouseOut=null;this.ClearItems=t;this.RemoveItemAtIndex=n;this.Show=A;this.Hide=z}function DecodeHtml(a){var c="";if(typeof a=="string"&&a.length>0){var b=document.createElement("span");b.innerHTML=a;c=b.firstChild.nodeValue;b=null}return c}function OutputEncoder_URLEncodeUTF8(e){if(e==null)return "";var d=["%00","%01","%02","%03","%04","%05","%06","%07","%08","%09","%0a","%0b","%0c","%0d","%0e","%0f","%10","%11","%12","%13","%14","%15","%16","%17","%18","%19","%1a","%1b","%1c","%1d","%1e","%1f","%20","%21","%22","%23","%24","%25","%26","%27","%28","%29","%2a","%2b","%2c","%2d","%2e","%2f","%30","%31","%32","%33","%34","%35","%36","%37","%38","%39","%3a","%3b","%3c","%3d","%3e","%3f","%40","%41","%42","%43","%44","%45","%46","%47","%48","%49","%4a","%4b","%4c","%4d","%4e","%4f","%50","%51","%52","%53","%54","%55","%56","%57","%58","%59","%5a","%5b","%5c","%5d","%5e","%5f","%60","%61","%62","%63","%64","%65","%66","%67","%68","%69","%6a","%6b","%6c","%6d","%6e","%6f","%70","%71","%72","%73","%74","%75","%76","%77","%78","%79","%7a","%7b","%7c","%7d","%7e","%7f","%80","%81","%82","%83","%84","%85","%86","%87","%88","%89","%8a","%8b","%8c","%8d","%8e","%8f","%90","%91","%92","%93","%94","%95","%96","%97","%98","%99","%9a","%9b","%9c","%9d","%9e","%9f","%a0","%a1","%a2","%a3","%a4","%a5","%a6","%a7","%a8","%a9","%aa","%ab","%ac","%ad","%ae","%af","%b0","%b1","%b2","%b3","%b4","%b5","%b6","%b7","%b8","%b9","%ba","%bb","%bc","%bd","%be","%bf","%c0","%c1","%c2","%c3","%c4","%c5","%c6","%c7","%c8","%c9","%ca","%cb","%cc","%cd","%ce","%cf","%d0","%d1","%d2","%d3","%d4","%d5","%d6","%d7","%d8","%d9","%da","%db","%dc","%dd","%de","%df","%e0","%e1","%e2","%e3","%e4","%e5","%e6","%e7","%e8","%e9","%ea","%eb","%ec","%ed","%ee","%ef","%f0","%f1","%f2","%f3","%f4","%f5","%f6","%f7","%f8","%f9","%fa","%fb","%fc","%fd","%fe","%ff"],b,a=[],g=e.length;for(var f=0;f>6];a=a+d[128|c&63]}else{a=a+d[224|c>>12];a=a+d[128|c>>6&63];a=a+d[128|c&63]}}return a}function OutputEncoder_URLEncodeEscapeUTF8(e){if(e==null)return "";var d=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"],b,a=[],g=e.length;for(var f=0;f>6];a=a+"%25"+d[128|c&63]}else{a=a+"%25"+d[224|c>>12];a=a+"%25"+d[128|c>>6&63];a=a+"%25"+d[128|c&63]}}return a}function OutputEncoder_EncodeHtml(c){var a,b="";if(c==null)return "";for(var d=0;d96&&a<123||a>64&&a<91||a==32||a>47&&a<58||a==46||a==44||a==45||a==95)b=b+String.fromCharCode(a);else b=b+"&#"+a+";"}return b}function OutputEncoder_EncodeHtmlAttribute(c){var a,b="";if(c==null)return "";for(var d=0;d96&&a<123||a>64&&a<91||a>47&&a<58||a==46||a==44||a==45||a==95)b=b+String.fromCharCode(a);else b=b+"&#"+a+";"}return b}function OutputEncoder_EncodeXml(a){return OutputEncoder_EncodeHtml(a)}function OutputEncoder_EncodeXmlAttribute(a){return OutputEncoder_EncodeHtmlAttribute(a)}function OutputEncoder_EncodeJs(c){var a,b="";if(c==null)return "";for(var d=0;d96&&a<123||a>64&&a<91||a==32||a>47&&a<58||a==46||a==44||a==45||a==95)b=b+String.fromCharCode(a);else if(a>127)b=b+"\\u"+OutputEncoder_TwoByteHex(a);else b=b+"\\x"+OutputEncoder_SingleByteHex(a)}return "'"+b+"'"}function OutputEncoder_EncodeVbs(d){var b,a="",c=false;if(d==null)return "";for(var e=0;e96&&b<123||b>64&&b<91||b==32||b>47&&b<58||b==46||b==44||b==45||b==95){if(!c){a=a+'&"';c=true}a=a+String.fromCharCode(b)}else{if(c){a=a+'"';c=false}a=a+"&chrw("+b+")"}}if(a.charAt(0)=="&")a=a.substring(1);if(a.length==0)a='""';if(c)a=a+'"';return a}function OutputEncoder_AsUrl(a){if(a==null)return "";if(a.search(/^(?:https|httpss|ftp):\/\/[a-zA-Z0-9\.\-]+(?:\:\d{1,5})?(?:[A-Za-z0-9\.\;\:\@\&\=\+\$\,\?\/]|%u[0-9A-Fa-f]{4}|%[0-9A-Fa-f]{2})*$/i))throw"Unsanitized value passed to AsUrl";return a}function OutputEncoder_QualifyUrl(a){if(a==null)return "";if(a.search(/^(?:https|httpss|ftp):\/\//i))if(document.location.protocol=="HTTPS")return "httpss://"+document.location.hostname+OutputEncoder_QualifyUrl_MakePath(a);else return "https://"+document.location.hostname+OutputEncoder_QualifyUrl_MakePath(a);else return a}function OutputEncoder_QualifyUrl_MakePath(a){if(a==null)return "";if(!a.search(/^[\/\\]/))return a;var b=/^(\/(?:.*\/|))(?:[^\/\\]*\.\w+|\w*)$/;if(!document.location.pathname.search(b)){var c=b.exec(document.location.pathname);return c[1]+a}return "/"+a}function OutputEncoder_AsNumeric(a){if(a==null)return "";if(isNaN(parseFloat(a)))throw"IOSec.AsNumeric(): Error input ["+a+"] not a valid number.";return a}function OutputEncode_TruncateUrlSafe(a,b,e){if(a.length<=b)return a;var d="";if(e&&e.length>0){d=OutputEncoder_EncodeUrl(e);b-=d.length}var a=a.substring(0,b);for(var c=1;c<6;c++)if(a.charAt(b-c)=="%"){a=a.substring(0,b-c);break}return a+d}function OutputEncode_EncodeUrlDelims(f,c){if(!f)return c;var a,h,b="";for(var d=0;d127)e="%u"+OutputEncoder_TwoByteHex(a);else e="%"+OutputEncoder_SingleByteHex(a);break}}b+=e}return b}function OutputEncoder_EncodeUrl(c){if(c==null)return "";var a,e=c.length,b=new Array(e);for(var d=0;d96&&a<123||a>64&&a<91||a>47&&a<58||a==46||a==45||a==95)b.push(String.fromCharCode(a));else if(a>127){b.push("%u");b.push(OutputEncoder_TwoByteHex(a))}else{b.push("%");b.push(OutputEncoder_SingleByteHex(a))}}return b.join("")}function OutputEncoder_SingleByteHex(b){if(b==null)return "";var a=b.toString(16);for(var c=a.length;c<2;c++)a="0"+a;return a}function OutputEncoder_TwoByteHex(b){if(b==null)return "";var a=b.toString(16);for(var c=a.length;c<4;c++)a="0"+a;return a}function GetValidatedUrl(a){if(a==null||a=="undefined"||a.length<=0)return "";try{a=unescape(a);a=a.replace(/\|/g," ").replace(/\^/g," ").replace(/^\s+/g,"").replace(/\s+$/g,"");var b=new RegExp(/(ftp|https|httpss):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/);if(a.match(b))return a;else return ""}catch(c){return ""}}function OutputEncoder(){this.GetValidatedUrl=GetValidatedUrl;this.EncodeHtml=OutputEncoder_EncodeHtml;this.EncodeHtmlAttribute=OutputEncoder_EncodeHtmlAttribute;this.EncodeXml=OutputEncoder_EncodeXml;this.EncodeXmlAttribute=OutputEncoder_EncodeXmlAttribute;this.EncodeJs=OutputEncoder_EncodeJs;this.EncodeVbs=OutputEncoder_EncodeVbs;this.AsNumeric=OutputEncoder_AsNumeric;this.EncodeUrl=OutputEncoder_EncodeUrl;this.EncodeUrlDelims=OutputEncode_EncodeUrlDelims;this.TruncateUrlSafe=OutputEncode_TruncateUrlSafe;this.SingleByteHex=OutputEncoder_SingleByteHex;this.TwoByteHex=OutputEncoder_TwoByteHex;this.AsUrl=OutputEncoder_AsUrl;this.QualifyUrl=OutputEncoder_QualifyUrl;this.EncodeUrlUTF8=OutputEncoder_URLEncodeUTF8;this.EncodeUrlEscapeUTF8=OutputEncoder_URLEncodeEscapeUTF8;this.DecodeHtml=DecodeHtml}var IOSec=new OutputEncoder;function VE_Panel(c,q,r,o,m,f,d,n,p,l,s,t,e,h,i,j){var b=this;this.index=0;this.x=q;this.y=r;this.width=o;this.height=m;this.dynamicHeightMax=600;this.color=f;this.sPanel=null;this.toolbarHeight=20;this.footerHeight=20;this.min=false;this.visible=true;this.onTitleClick=null;this.onCloseClick=null;this.onMaximize=null;this.onMinimize=null;this.isLegacyPanel=h==true;this.usesShimIn3D=!this.isLegacyPanel;if(!e)e=document.body;var a=null;if(!this.isLegacyPanel){a=VE_Panel._CreateElement("div",c,"VE_Panel_el",d);this.el=a;this.titleDisabled=false;this.title=document.createElement("a");this.title.id=c+"_title";this.title.className="VE_Panel_title";this.title.appendChild(document.createElement("span"));this.title.onclick=function(a){VE_Panel._OnTitleClick(a);return false};this.title.href="#";a.appendChild(this.title);this.SetTitle(n);this.closeboxDisabled=false;this.cb=VE_Panel._CreateElement("a",c+"_cb","VE_Panel_cb VE_Panel_cb_"+f,d+1);this.cb.onclick=function(a){VE_Panel._OnCloseClick(a);return false};this.cb.onmouseover=function(){if(typeof Msn.VE.Css!="undefined")Msn.VE.Css.Functions.addClass(b.title,"VE_Panel_title_hover")};this.cb.onmouseout=function(){if(typeof Msn.VE.Css!="undefined")Msn.VE.Css.Functions.removeClass(b.title,"VE_Panel_title_hover")};this.cb.href="#";this.cb.unselectable="on";a.appendChild(this.cb);this.tb=VE_Panel._CreateElement("div",c+"_tb","toolbar",d+1);this.tb.unselectable="on";a.appendChild(this.tb)}else{var k=$ID(c+"_tb");this.tb=VE_Panel._CreateElement("div","","",d+1);k.appendChild(this.tb)}this.body=VE_Panel._CreateElement("div",c+"_body","VE_Panel_body",d+1);this.body.innerHTML=p;if(!this.isLegacyPanel){a.appendChild(this.body);this.foot=VE_Panel._CreateElement("div",c+"_foot","VE_Panel_foot VE_Panel_foot_"+f,d+1);this.foot.innerHTML=l;this.foot.unselectable="on";a.appendChild(this.foot)}else{a=this.body;this.el=a}VE_Panel.panels.push(this);if(i){a.style.top="0";a.style.left="0";if(j)a.style.position="absolute";else{a.style.display="none";a.style.visibility="hidden"}}e.appendChild(a);if(!Gimme.Browser.isKHTML){var g=Gimme.id("TaskHost_CollectionsViewer_state");if(g!==null)e.appendChild(g)}this.Destroy=function(){if(a.parentNode)a.parentNode.removeChild(a);if(b.sPanel!=null)b.sPanel.Destroy();if(a.shimElement&&a.shimElement.parentNode)a.shimElement.parentNode.removeChild(a.shimElement);a.shimElement=null;var d=VE_Panel.panels;for(var c=0;c0?"block":"none";this.tb.style.display=d;this.Resize()};VE_Panel.prototype.SetFooterSize=function(footerHeight){if(!this.isLegacyPanel){this.footerHeight=footerHeight;var d=eval(footerHeight)>0?"block":"none";this.foot.style.display=d;this.Resize()}};VE_Panel.prototype.Resize=function(){if(typeof ve_globals!="undefined"){var geoFn=Msn.VE.Geometry.Functions,taskAreaHeight=Gimme.Screen.getViewportSize().y-g(ve_globals["taskArea"]).getScreenPosition().y-ve_globals["footer"].offsetHeight;if(taskAreaHeight>=0&&typeof taskAreaHeight=="number")ve_globals["taskArea"].style.height=taskAreaHeight-2+"px";if(this.el.id=="contextMenu"||this.el.id=="scratchpad"||this.el.id=="annotationPanel"||this.el.id=="annotationPopup"||this.el.id=="searchPopup"||this.el.id=="help"){if(this.height!="auto"&&typeof this.height=="number")this.el.style.height=eval(this.height)+"px";if(this.width!="auto"&&typeof this.width=="number")this.el.style.width=eval(this.width)+"px";if(this.x!="auto"&&typeof this.x=="number")this.el.style.left=eval(this.x)+"px";if(this.y!="auto"&&typeof this.y=="number")this.el.style.top=eval(this.y)+"px"}if(this.el.shimElement)ShowShim(this.el)}};VE_Panel.prototype.SetHeightToFit=function(){var contentid=this.id+"_body_table",content=$ID(contentid);if(!content)return false;this.height=0;var width=Math.max(eval(this.width),100);if(content.offsetWidth>width-14)this.height+=scrollbarWidth;this.height+=this.titleDisabled?14:21+14;this.height+=this.toolbarHeight;this.height+=content.offsetHeight;this.height+=this.footerHeight;this.height=Math.min(this.dynamicHeightMax,this.height)};VE_Panel.prototype.DisableClosebox=function(){if(!this.isLegacyPanel){if(this.closeboxDisabled)return;this.closeboxDisabled=true;this.el.removeChild(this.cb)}};VE_Panel.prototype.EnableClosebox=function(){if(!this.isLegacyPanel){if(!this.closeboxDisabled)return;this.closeboxDisabled=false;this.el.appendChild(this.cb)}};VE_Panel.prototype.DisableTitle=function(){if(!this.isLegacyPanel){if(this.titleDisabled)return;this.titleDisabled=true;this.el.removeChild(this.cb);this.el.removeChild(this.title)}};VE_Panel.prototype.EnableTitle=function(){if(!this.isLegacyPanel){if(!this.titleDisabled)return;this.titleDisabled=false;this.el.insertBefore(this.cb,this.tb);this.el.insertBefore(this.title,this.cb)}};VE_Panel.prototype.SetTitle=function(c){if(!this.isLegacyPanel){var b=document.createTextNode(c),a=this.title.firstChild;if(a)if(a.firstChild)a.replaceChild(b,a.firstChild);else a.appendChild(b)}};VE_Panel.prototype.SetToolbar=function(a){this.tb.innerHTML=a};VE_Panel.prototype.SetBody=function(a){this.body.innerHTML=a};VE_Panel.prototype.SetDynamicBody=function(a){this.body.innerHTML='
'+a+"
"};VE_Panel.prototype.SetFooter=function(a){if(!this.isLegacyPanel)this.foot.innerHTML=a};VE_Panel.prototype.SetOpacity=function(o){if(o>=100)o=99.99;with(this.el.style){filter="alpha(opacity:"+o+")";o*=.01;KHTMLOpacity=o;MozOpacity=o;opacity=o}};VE_Panel.prototype.SetColor=function(a){if(!this.isLegacyPanel){this.color=a;this.title.className="VE_Panel_title VE_Panel_title_"+a;this.foot.className="VE_Panel_foot VE_Panel_foot_"+a;this.cb.className="VE_Panel_cb VE_Panel_cb_"+a}};VE_Panel.prototype.Minimize=function(){this.el.className=" VE_Panel_el_minimized";if(this.onMinimize)this.onMinimize(this._CreateEvent())};VE_Panel.prototype.Maximize=function(){this.el.className="VE_Panel_el";if(this.onMaximize)this.onMaximize(this._CreateEvent());this.Resize()};VE_Panel.prototype.isMaximized=function(){return this.el.className=="VE_Panel_el"};VE_Panel.prototype.Show=function(){this.el.style.display="block";this.visible=true;if(this.usesShimIn3D)mvcViewFacade.ShowShimIfSupported(this.el)};VE_Panel.prototype.Hide=function(){this.el.style.display="none";this.visible=false;HideShim(this.el)};VE_Panel.prototype.IsVisible=function(){return this.el.style.display!="none"};function VE_PanelEvent(a){this.srcPanel=a}VE_Panel.prototype._CreateEvent=function(){return new VE_PanelEvent(this)};VE_Panel._OnTitleClick=function(c){if(!c)c=window.event;var d=GetTarget(c),b=VE_Panel.panels;for(var a=0;a'+IOSec.EncodeHtml(this.title)+""+"$AdDescription$"+"";if(this.description&&this.description.length>0)a=a.replace("$AdDescription$","

"+IOSec.EncodeHtml(this.description)+"

");return a};Ad.prototype.HasAddress=function(){return this.address1.length>0&&this.city.length>0&&this.state.length>0&&this.zip.length>0};Ad.prototype.GetAdDescription=function(){var a=this.description;if(this.HasAddress())a=this.address1+", "+this.city+", "+this.state+" "+this.zip;return a};Msn.VE.DirectionsDecoder=function(){var a=4,b=1000000;function e(a,c,m,l){if(!a||a.length');var a=$ID("helpFrame");a.src=c;VE_Help.Redraw()};VE_Help.OpenSized=function(f,g,a,b){var d=GetWindowWidth(),c=GetWindowHeight();if(a>d-10)a=d-10;if(b>c-10)b=c-10;VE_Help.CreateSizedHelpPanel((d-a)/2,(c-b)/2,a,b);VE_Help.EnablePreventLayer();VE_Help.helpPanel.Show();VE_Help.helpPanel.SetTitle(f);VE_Help.helpPanel.SetBody('');var e=$ID("helpFrame");e.src=g};VE_Help.OpenLiveHelp=function(b,a,c){var g="_live_help",f=550,e=575,i=(screen.availWidth-f)*.5,j=(screen.availHeight-e)*.5,h="resizable=yes,top="+j+",width="+f+",height="+e+",left="+i;if(typeof b=="undefined"||b==null||b=="")b=liveLocalHelpProjectCode;if(typeof a=="undefined"||a==null||a=="")a=VE_Help.LiveHelp.Keyword;if(typeof c=="undefined"||c==null||c=="")c="qaf";var k=liveHelpUrl+"&project="+b+"&querytype="+a+"&query="+c,d=window.open(k,g,h);if(d!=null&&typeof d=="object")d.focus()};VE_Help.Redraw=function(){var b=VE_Help.helpPanel;if(!b)return;var c=Gimme.Screen.getViewportSize(),a=g(b.el);a.setStyle("top",(c.height-a.element().offsetHeight)/2+"px");a.setStyle("left",(c.width-a.element().offsetWidth)/2+"px");ShowShim(b.el)};VE_Help.CloseIntro=function(){if(VE_Help.introPanel)VE_Help.introPanel.Hide()};VE_Help.ClosePanel=function(){if(VE_Help.helpPanel){VE_Help.helpPanel.Hide();VE_Help.DisablePreventLayer()}};VE_Help.Destroy=function(){if(VE_Help.introPanel){VE_Help.introPanel.Destroy();VE_Help.introPanel=null}if(VE_Help.helpPanel){VE_Help.helpPanel.Destroy();VE_Help.helpPanel=null}};function SanitizeHtmlString(a){if(!a||typeof a!="string")return a;return IOSec.EncodeHtml(a)}function GetTarget(b){if(!b)b=window.event;var a=null;if(b.srcElement)a=b.srcElement;else if(b.target)a=b.target;if(a&&a.nodeType){if(b.capturedTarget)a=b.capturedTarget;if(a.nodeType==3)a=a.parentNode}return a}function SelectText(a,c,d){if(!a)return;if(a.createTextRange){var b=a.createTextRange();b.moveStart("character",c);b.moveEnd("character",d);b.select()}else if(a.setSelectionRange)a.setSelectionRange(c,d)}function SelectedTextLength(a){if(!a)return 0;if(a.document){var b=a.document.selection.createRange();return b.text.length}else{var c=a.selectionStart,d=a.selectionEnd;return d-c}}function GetXMLText(a){if(a.text)return a.text;else if(a.textContent)return a.textContent;else if(a.firstChild&&a.firstChild.data)return a.firstChild.data;return ""}function VEValidator(){}VEValidator.ValidateFloat=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateFloat";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","float"));try{if(isNaN(parseFloat(b)))throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","float"));return true}catch(d){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","float"))}};VEValidator.ValidateInt=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateInt";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","int"));try{if(isNaN(parseInt(b))||parseFloat(b)!=parseInt(b))throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","int"));return true}catch(d){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","int"))}};VEValidator.ValidateNonNegativeInt=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null)b=VEValidator.GetCaller(arguments.caller);if(b=="")b="VEValidator.ValidateNonNegativeInt";if(a==null||a=="undefined")throw new VEException(b,"err_invalidargument",L_invalidnonnegativeint_text.replace("%1",c));try{if(isNaN(parseInt(a))||parseFloat(a)!=parseInt(a)||parseInt(a)<0)throw new VEException(b,"err_invalidargument",L_invalidnonnegativeint_text.replace("%1",c));return true}catch(d){throw new VEException(b,"err_invalidargument",L_invalidnonnegativeint_text.replace("%1",c))}};VEValidator.ValidateFunction=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateFunction";if(b==null||typeof b!="function")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","function"))};VEValidator.ValidateNonNull=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateNonNull";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","non null"))};VEValidator.ValidateBetween=function(b,e,d,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateBetween";if(bc)throw new VEException(a,"err_invalidargument",L_invalidbetweenint_text.replace("%1",e).replace("%2",d).replace("%3",c))};VEValidator.ValidateBoolean=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateBoolean";if(b!=true&&b!=false)throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","bool"))};VEValidator.ValidateMapStyle=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null)b=VEValidator.GetCaller(arguments.caller);if(b=="")b="VEValidator.ValidateMapStyle";if(a==null||a=="undefined")throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapStyle"));if(a=="r"||a=="R"||$MVEM.IsEnabled(MapControl.Features.MapStyle.Shaded)&&(a=="s"||a=="S")||$MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)&&(a=="a"||a=="A")||$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)&&(a=="o"||a=="O")||$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)&&(a=="b"||a=="B")||$MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)&&(a=="h"||a=="H"))return true;throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapStyle"))};VEValidator.ValidateClusteringType=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null)b=VEValidator.GetCaller(arguments.caller);if(b=="")b="VEValidator.ValidateClusteringType";if(a==null||a=="undefined")throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ClusteringType"));if(typeof a=="number"&&(a==VEClusteringType.None||a==VEClusteringType.Grid))return true;throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ClusteringType"))};VEValidator.ValidateMapMode=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a="")a="VEValidator.ValidateMapMode";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapMode"));if(b==VEMapMode.Mode2D||$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)&&b==VEMapMode.Mode3D)return true;throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapMode"))};VEValidator.ValidateDistanceUnit=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateDistanceUnit";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDistanceUnit"));if(b==VEDistanceUnit.Miles||b==VEDistanceUnit.Kilometers)return true;throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDistanceUnit"))};VEValidator.ValidateMaxZoom=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateMaxZoom";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ValidateMaxZoom"));if(b<=Msn.VE.API.Globals.vemaxzoom)return true;throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ValidateMaxZoom"))};VEValidator.ValidateLayerType=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null)b=VEValidator.GetCaller(arguments.caller);if(b=="")b="VEValidator.ValidateLayerType";if(a==null||a=="undefined")throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDataType"));if(a==VEDataType.GeoRSS||a==VEDataType.VECollection||a==VEDataType.VETileSource)return true;throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDataType"))};VEValidator.ValidateDashboardSize=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null)b=VEValidator.GetCaller(arguments.caller);if(b=="")b="VEValidator.ValidateDashboardSize";if(a==null||a=="undefined")throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDashboardSize"));if(a==VEDashboardSize.Normal||a==VEDashboardSize.Small||a==VEDashboardSize.Tiny)return true;throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDashboardSize"))};VEValidator.ValidateMiniMapSize=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateMiniMapSize";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEMiniMapSize"));if(b==VEMiniMapSize.Small||b==VEMiniMapSize.Large)return true;throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEMiniMapSize"))};VEValidator.ValidateAltitudeMode=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateAltitudeMode";if(b==null)throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEAltitudeMode"));if(b!=VEAltitudeMode.Absolute&&b!=VEAltitudeMode.RelativeToGround)throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEAltitudeMode"));return true};VEValidator.ValidateObject=function(b,c,e,d){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateObject";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","non null"));if(!(b instanceof e))throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2",d))};VEValidator.ValidateObjectArray=function(a,d,f,e){var b="";if(arguments!=null&&arguments.caller!=null)b=VEValidator.GetCaller(arguments.caller);if(b=="")b="VEValidator.ValidateObject";if(a==null||typeof a=="undefined"||a.length==null||typeof a.length=="undefined")throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",d).replace("%2","array"));for(var c=0;c=a.BottomRightLatLong.Longitude)throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VELatLongRectangle"))};VEValidator.GetCaller=function(){return ""};function VEPushpin(f,e,d,h,g,c,b,a){VEValidator.ValidateNonNull(f,"pinId");VEValidator.ValidateNonNull(e,"veLatLong");var i=this;this.IsInLayer=false;this.ID=f;this.LatLong=e;this.Title=h;if(d==null||d=="undefined"||d.length==0)this.Iconurl=Msn.VE.API.Constants.iconurl;else this.Iconurl=d;this.Details=g;if(c==null||c=="undefined"||c.length==0)this.IconStyle="";else this.IconStyle=c;if(b==null||b=="undefined"||b.length==0)this.TitleStyle="VE_Pushpin_Popup_Title";else this.TitleStyle=b;if(a==null||a=="undefined"||a.length==0)this.DetailsStyle="VE_Pushpin_Popup_Body";else this.DetailsStyle=a;if(window.ero==null||window.ero=="undefined")window.ero=ERO.getInstance()}VEPushpin.ShowDetailOnMouseOver=true;VEPushpin.OnMouseOverCallback=null;VEPushpin.prototype.Dispose=function(){this.DetailsStyle==null;this.TitleStyle=null;this.IconStyle=null;this.Details=null;this.IconUrl=null;this.Title=null;this.LatLong=null;this.ID=null;this.m_vemapcontrol=null;this.m_vemap=null};VEPushpin.Hide=function(a){if(window.ero!=null){if(a=="undefined"||a==null)a=false;window.ero.hide(a)}};VEPushpin.GetEroContent=function(c,b,e,d){var a="

";if(c!=null&&c!="undefined"&&c.length>0)a+='

'+unescape(c)+"
";if(b!=null&&b!="undefined"&&b.length>0)a+='
'+unescape(b)+"
";if(!document.all&&(c.length==0||b.length==0))a+="

";a+="

";return a};VEPushpin.Show=function(l,m,k,h,d,c,g,e){var a=VEMap._GetMapFromGUID(l);if(a==null||a=="undefined")return;var i=a.vemapcontrol.GetX(h)+a.GetLeft(),j=a.vemapcontrol.GetY(k)+a.GetTop();if(VEPushpin.ShowDetailOnMouseOver){var b=$ID(m+"_"+a.GUID);if(b!=null&&b!="undefined"){var f=VEPushpin.GetEroContent(d,c,g,e);window.ero.setContent(f);window.ero.setBoundingArea(null);window.ero.getBoundingArea().move(Gimme.Screen.getScrollPosition());window.ero.dockToElement(b)}}if(VEPushpin.OnMouseOverCallback!=null)VEPushpin.OnMouseOverCallback(i,j,d,unescape(c))};VEPushpin.Show3D=function(a,c,b,f,d){if(VEPushpin.ShowDetailOnMouseOver){var e=VEPushpin.GetEroContent(c,b,f,d);window.ero.setContent(e);ero.setGlitz(false,false,false,true);window.ero.dockToRect(a,null,-1)}if(VEPushpin.OnMouseOverCallback!=null)VEPushpin.OnMouseOverCallback(a.getP1().x,a.getP1().y,c,unescape(b))};function GetContent(){var g=this.ID+"_"+this.m_vemap.GUID,a="0,d=this.Details!=null&&this.Details!="undefined"&&this.Details.length>0;if(e||d){var b="if (VEMap._GetMapFromGUID("+this.m_vemap.GUID+").FireEvent(",c="))return;";a+=" onmouseout='"+b+'"onmouseout"'+c+"VEPushpin.Hide();' ";a+=" onmousedown='"+b+'"onmousedown"'+c+"VEPushpin.Hide(true);' ";a+=" onmouseover='"+b+'"onmouseover"'+c+'VEPushpin.Show("'+this.m_vemap.GUID+'","'+this.ID+'",'+this.LatLong.Latitude+","+this.LatLong.Longitude;if(e)a+=', "'+escape(this.Title)+'"';else a+=',""';if(d)a+=', "'+escape(this.Details)+'"';else a+=',""';a+=',"'+this.TitleStyle+'"';a+=',"'+this.DetailsStyle+'"';a+=");' "}a+="/>";return a}VEPushpin.DisposeERO=function(){if(window.ero!=null&&window.ero!="undefined"){window.ero.destroy();window.ero=null}};VEPushpin.prototype._SetMapInstance=function(a){this.m_vemap=a;this.m_vemapcontrol=a.vemapcontrol};VEPushpin.prototype.GetContent=GetContent;function GetImageFullUrl(a){var b="";if(a&&a.constructor==String&&a.length>0){var c=new Image;c.src=a;b=c.src}return b}function VE_ScratchpadManager(){}VE_ScratchpadManager.AddGeoLocation=function(){return};VE_ScratchpadManager.AddLocation=VE_ScratchpadManager.AddGeoLocation;VE_Scratchpad=VE_ScratchpadManager;function VEMessage(b){VEValidator.ValidateObject(b,"vemap",VEMap,"VEMap");this.m_vemap=b;var a=this;this.Show=function(g){if(g==null||g=="undefined"||g.length<=0)return;g=c(g);if(this.vemessagepanel==null||this.vemessagepanel=="undefined"){var d=document.createElement("div");d.id=this.m_vemap.ID+"_vemessagepanel";d.className="VE_Message";d.style.zIndex=Msn.VE.API.Globals.vemessagepanelzIndex;var i=this.m_vemap.GetHeight()/2-Msn.VE.API.Globals.vemessagepanelheight/2;if(i<0)i=0;d.style.top=i+"px";d.style.left=30+"px";var h=this.m_vemap.GetWidth()-60;if(h<30)h=30;d.style.width=h+"px";d.style.height=Msn.VE.API.Globals.vemessagepanelheight+"px";d.style.position="absolute";this.vemessagepanel=d;var e=document.createElement("a");e.className="VE_Message_Title";e.style.zIndex=parseInt(Msn.VE.API.Globals.vemessagepanelzIndex)+1;e.style.top="1px";e.style.left="1px";e.style.width=parseInt(this.vemessagepanel.style.width)-5+"px";e.innerHTML=IOSec.EncodeHtml(L_error_text);e.unselectable="on";this.vemessagepanel.appendChild(e);var f=document.createElement("a");f.className="VE_Message_Close";f.style.zIndex=parseInt(Msn.VE.API.Globals.vemessagepanelzIndex)+2;f.style.top="1px";f.style.right="1px";f.onclick=a.Hide;f.unselectable="on";f.innerHTML=L_close_text;this.vemessagepanel.appendChild(f);var b=document.createElement("div");b.id=this.m_vemap.ID+"_vemessagepanel_body";b.className="VE_Message_Body";b.style.zIndex=parseInt(Msn.VE.API.Globals.vemessagepanelzIndex)+3;b.style.top=22+"px";b.style.left=0+"px";b.style.width=parseInt(this.vemessagepanel.style.width)-8+"px";b.onclick=a.Hide;b.unselectable="on";b.innerHTML=g;this.vemessagepanel.appendChild(b);this.m_vemap.AddControl(this.vemessagepanel,Msn.VE.API.Globals.vemessagepanelzIndex)}else{var b=$ID(this.m_vemap.ID+"_vemessagepanel_body");b.innerHTML=g}this.vemessagepanel.style.display="block";mvcViewFacade.ShowShimIfSupported(this.vemessagepanel);this.timeoutIntervalID=window.setInterval(this.Hide,10000)};this.Hide=function(){if(a.vemessagepanel!=null&&a.vemessagepanel!="undefined"){a.vemessagepanel.style.display="none";HideShim(a.vemessagepanel);if(a.timeoutIntervalID!=null){window.clearInterval(a.timeoutIntervalID);a.timeoutIntervalID=null}}};this.Dispose=function(){if(this.vemessagepanel!=null&&this.vemessagepanel!="undefined")this.vemessagepanel=null};function c(a){var b=/]*>/gi;a=a.replace(b,"");b=/<\/a>/gi;a=a.replace(b,"");return a}}function VEAmbiguouslist(vemap){VEValidator.ValidateNonNull(vemap,"vemap");this.m_vemap=vemap;var self=this;this.ID=this.m_vemap.ID+"_veplacelistpanel";this.Show=function(a,onSelectCallback,callbackOnClose){var body=null,veambiglistHide="VEMap._GetMapFromGUID('"+this.m_vemap.GUID+"').m_veambiguouslist.Hide();",veambiglistSetViewport="VEMap._GetMapFromGUID('"+this.m_vemap.GUID+"').vemapcontrol.SetViewport";if(this.veplacelistpanel==null||this.veplacelistpanel=="undefined"){var e=document.createElement("div");e.id=this.ID;e.className="VE_PlaceList";e.style.top=this.m_vemap.GetHeight()/2-Msn.VE.API.Globals.veplacelistpanelheight/2+"px";e.style.left=this.m_vemap.GetWidth()/2-Msn.VE.API.Globals.veplacelistpanelwidth/2+"px";e.style.width=Msn.VE.API.Globals.veplacelistpanelwidth+"px";e.style.height=Msn.VE.API.Globals.veplacelistpanelheight+"px";e.style.position="absolute";this.veplacelistpanel=e;var title=document.createElement("a");title.className="VE_PlaceList_Title";title.style.zIndex=parseInt(Msn.VE.API.Globals.veplacelistpanelzIndex)+1;title.style.width=parseInt(Msn.VE.API.Globals.veplacelistpanelwidth)-5+"px";title.style.top="1px";title.style.left="1px";title.style.height="20px";title.innerHTML=IOSec.EncodeHtml(L_selectlocation_text);title.unselectable="on";this.veplacelistpanel.appendChild(title);var cb=document.createElement("a");cb.className="VE_PlaceList_Close";cb.id=this.m_vemap.ID+"_veplaceListclose";cb.style.zIndex=parseInt(Msn.VE.API.Globals.veplacelistpanelzIndex)+2;cb.style.top="1px";cb.style.right="1px";cb.unselectable="on";cb.innerHTML=L_close_text;this.veplacelistpanel.appendChild(cb);body=document.createElement("div");body.id=this.m_vemap.ID+"_veplacelistbody";body.style.zIndex=300;body.style.height=Msn.VE.API.Globals.veplacelistpanelheight-38+"px";body.style.width=Msn.VE.API.Globals.veplacelistpanelwidth-8+"px";body.className="VE_PlaceList_Body";this.veplacelistpanel.appendChild(body);this.m_vemap.AddControl(this.veplacelistpanel,Msn.VE.API.Globals.veplacelistpanelzIndex)}else body=$ID(this.m_vemap.ID+"_veplacelistbody");var cb=$ID(this.m_vemap.ID+"_veplaceListclose");if(callbackOnClose==true)cb.onclick=function(){eval(veambiglistHide+onSelectCallback+"();")};else cb.onclick=self.Hide;body.innerHTML="";for(var i=0;i'+a[i].name+"";else loc.innerHTML=''+a[i].name+"";else if(onSelectCallback!=null&&onSelectCallback!="undefined")loc.innerHTML=''+a[i][0]+"";else loc.innerHTML=''+a[i][0]+"";body.appendChild(loc)}this.veplacelistpanel.style.display="block";mvcViewFacade.ShowShimIfSupported(this.veplacelistpanel)};this.Hide=function(){if(self.veplacelistpanel!=null&&self.veplacelistpanel!="undefined"){HideShim(self.veplacelistpanel);self.veplacelistpanel.style.display="none"}};this.IsVisible=function(){var a=false;if(this.veplacelistpanel!=null&&this.veplacelistpanel!="undefined"&&this.veplacelistpanel.style.display!="none")a=true;return a};this.Dispose=function(){DestroyShim(self.veplacelistpanel);if(this.veplacelistpanel!=null&&this.veplacelistpanel!="undefined")this.veplacelistpanel=null}}function VEGraphicsManager(x){VEValidator.ValidateObject(x,"vemap",VEMap,"VEMap");var a=this,w=!Msn.VE.Environment.IsSVG();this._spacecontrol=null;this._hackUniqueLayerId="UniqueLayer_Hack";var bb=null;this._entityIdShapePostfix="_Shape";this.m_vemap=x;this.m_vemapcontrol=this.m_vemap.vemapcontrol;var f=null,G=x._mapOptions.DrawingBuffer,p=false,T=1,d=null;this._useOffset=VEShapeAccuracy.None;this._drawOverMaxShapes=VEFailedShapeRequest.DrawInaccurately;this._failRequest=VEFailedShapeRequest.DrawInaccurately;var ab=null,y=null,g=[],b=[],j={},e=false,c=null;this.m_spec=null;var s=null,k=null,m=true,Z=Msn.VE.API.Constants.iconurl,t=0,n=new _xy1;this.SetDisplayThreshold=function(a){t=a};this.Initialize=function(){if(this.m_vegraphiccanvas==null||this.m_vegraphiccanvas=="undefined"){this.m_vegraphicspolylines=[];this.m_vegraphicspolygons=[];var b=document.createElement("div");b.id="rootgraphicshape";this.m_vemapcontrol.SetChildDiv(b);this.m_vegraphiccanvas=Msn.Drawing.Graphic.CreateGraphic(b,this.m_vemapcontrol);this.m_vegraphiccanvas.SetZIndex(17);this.m_vemapcontrol.AttachEvent("onstartzoom",a.OnStartZoom);this.m_vemapcontrol.AttachEvent("onchangeview",a.Update);this.m_vemapcontrol.AttachEvent("onmapoffsetreset",a.OnMapOffsetReset);this.m_vemapcontrol.AttachEvent("oninitmode",a.UpdateViewMode);if(window.ero==null||window.ero=="undefined")window.ero=ERO.getInstance()}};this.HideClusterLayers=function(){var d=a.m_vemap.GetShapeLayerCount();for(var c=0;cd.x1&&a.minY>d.y1&&a.maxX0){d++;if(f[d]==null){k=false;d=d+i-1;i=0}else{var j=a.m_vemapcontrol.PixelToLatLong(f[d],a.m_vemapcontrol.GetZoomLevel());b[c]._OffsetPoints.push(s.CreateVELatLong(j.latitude,j.longitude));i--;l.push(f[d])}}}q(b[c]);if(k){h(b[c]);if(b[c]._OffsetCallBack)b[c]._OffsetCallBack(l)}else{b[c]._OffsetScene=null;b[c]._OffsetLatLong=null;b[c]._OffsetPoints=null;if(a._failRequest==VEFailedShapeRequest.DoNotDraw){if(b[c]._OffsetCallBack)b[c]._OffsetCallBack(null)}else if(a._failRequest==VEFailedShapeRequest.DrawInaccurately){b[c]._OffsetScene=-1;h(b[c]);b[c]._OffsetScene=null;if(b[c]._OffsetCallBack)b[c]._OffsetCallBack(null)}else if(a._failRequest==VEFailedShapeRequest.QueueRequest){e=true;o(b[c])};}d++}else for(var c=0;c0){var f=Msn.VE.API.Constants.maxasynlatlongs,d=[];while(g.length>0&&f>0){var c=g.shift();if(c.GetPrimitive(0).type!=VEShapeType.Pushpin&&c.GetPrimitive(0).points.length/2>f-1){var j=c.GetPrimitive(0).points;if(j.length/2>Msn.VE.API.Constants.maxasynlatlongs-1){q(c);if(a._drawOverMaxShapes==VEFailedShapeRequest.DoNotDraw){if(c._OffsetCallBack)c._OffsetCallBack(null)}else if(a._drawOverMaxShapes==VEFailedShapeRequest.DrawInaccurately){c._OffsetScene=-1;h(c);if(c._OffsetCallBack)c._OffsetCallBack(null)};}else{g.unshift(c);f=0}}else if(c._OffsetScene!=k.GetID()){b.push(c);d.push(new Msn.VE.LatLong(c.Latitude,c.Longitude));f--;if(c.GetPrimitive(0).type!=VEShapeType.Pushpin){var j=c.GetPrimitive(0).points;for(var i=0;i0)e=true;if(d!=null&&d.length>0){y=k.GetID();a.m_vemapcontrol.LatLongToPixelAsync(d,a.m_vemapcontrol.GetZoomLevel(),J)}}};function Y(){if(!c)return;MC_MAX_COL_SIZE=200;if(c.GetCollectionCount()<1)return;l();for(var d=0;db.MaxScale||p0&&!IsBoundsIntersect(f,e))return false;if(b.Spec!=null&&b.Spec.IconUrl!=null&&b.Spec.IconUrl!="undefined")Z=b.Spec.IconUrl;var g=$ID(b.GetId());if(g==null){g=document.createElement("div");g.setAttribute("id",b.GetId());k.appendChild(g)}var o=true;m=true;if(IsContainedInView(d,e)){m=false;o=IsDisplayShape(a.m_vemap.vemapcontrol,t,e.x1,e.y1,e.x2,e.y2)}for(var n=0;nb.maxZoomLevel||m0){var c=a.m_vegraphicspolylines.length;for(var b=0;b0){var g=a.m_vegraphicspolygons.length;for(var b=0;b0)M(e,b._clusteringOptions)}if(b._clusteringOptions&&b._clusteringOptions.Callback)clusterDescription=b._clusteringOptions.Callback(d);var f=[];for(var c=0;c0){var h=d/c,i=e/c;a.LatLong=new VELatLong(h,i)}var g=new VEShape(VEShapeType.Pushpin,a.LatLong);a._clusterShape=g;Q(a,f);L(a)}}function Q(a,b){if(a!=null&&a._clusterShape!=null)if(b&&b.Icon)a._clusterShape.SetCustomIcon(b.Icon);else a._clusterShape.SetCustomIcon(Msn.VE.API.Constants.clustericonurl)}function L(b){if(b!=null&&b._clusterShape!=null){var d=L_ClusterDefaultTitle_Text.replace(/%1/g,b.Shapes.length);b._clusterShape.SetTitle(d);var c=a.m_vemap.vemapcontrol.GetCurrentMode();if(c&&a.m_vemap.GetZoomLevel()0){g[i]=Math.floor(c%d);c=Math.floor(c/d);--i}for(var b=0;b=a&&d<=c){var e=(d-a)/(c-a),f=e*b+.5;return Math.min(Math.floor(f),b)}else throw L_floatintegermapencodingoutofrange_text};this.IntToFloat=function(d){if(d<=b){var f=d/b,e=a+f*(c-a);return e}else throw L_floatintegermapencodingoutofrange_text}}var L_velatlongencodinginvalidstringlength_text="_xz1: Invalid string length";function _xz1(b){var i=-90,h=90,g=-180,f=180,j="0123456789bcdfghjkmnpqrstvwxyz",e=6;if(b!=null&&typeof b!="undefined")e=b;var a=new VEIntegerEncoding(j,e),d=new VEFloatIntegerMap(i,h,a.MaxValue()),c=new VEFloatIntegerMap(g,f,a.MaxValue());this.Encode=function(e,b){var f=a.Encode(d.FloatToInt(e))+a.Encode(c.FloatToInt(b));return f};this.Decode=function(f){if(f.length==2*a.ValueLength()){var e=a.ValueLength(),j=f.substr(0,e),h=f.substr(e,e),i=a.Decode(j),g=a.Decode(h),b=[];b[0]=d.IntToFloat(i);b[1]=c.IntToFloat(g);return b}else throw L_velatlongencodinginvalidstringlength_text}}function _xz1ForMobile(){_xz1.call(this,5)}VEMapMode=new function(){this.Mode2D=1;this.Mode3D=2};function VEMapViewSpecification(c,d,e,g,f){this.LatLong=null;this.ZoomLevel=null;this.Altitude=null;this.Pitch=null;this.Heading=null;if(c!=null&&c!="undefined"){VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");this.LatLong=c}if(d!=null&&d!="undefined"){VEValidator.ValidateNonNegativeInt(d,"zoomLevel");this.ZoomLevel=d}if(e!=null&&e!="undefined"){VEValidator.ValidateFloat(e,"altitude");this.Altitude=parseFloat(e)}if(g!=null&&g!="undefined"){VEValidator.ValidateFloat(g,"pitch");var a=parseFloat(g);a=a%360;if(a<-90)a=-90;if(a>90)a=90;this.Pitch=a}if(f!=null&&f!="undefined"){VEValidator.ValidateFloat(f,"heading");var b=parseFloat(f);b=b%360;if(b<0)b+=360;this.Heading=b}}function MapViewSpecClone(){var a=new VEMapViewSpecification;a.LatLong=this.LatLong.Clone();a.Altitude=this.Altitude;a.Pitch=this.Pitch;a.Heading=this.Heading;return veLatLong}VEMapViewSpecification.prototype.Clone=MapViewSpecClone;VEMapStyle=new function(){this.Road=Msn.VE.MapStyle.Road;this.Shaded=Msn.VE.MapStyle.Shaded;this.Aerial=Msn.VE.MapStyle.Aerial;this.Hybrid=Msn.VE.MapStyle.Hybrid;this.Oblique=Msn.VE.MapStyle.Oblique;this.Birdseye=Msn.VE.MapStyle.Oblique;this.BirdseyeHybrid=Msn.VE.MapStyle.ObliqueHybrid};VEOrientation=new function(){this.North=Msn.VE.Orientation.North;this.East=Msn.VE.Orientation.East;this.West=Msn.VE.Orientation.West;this.South=Msn.VE.Orientation.South};function VEBirdseyeScene(d){VEValidator.ValidateNonNull(d,"obliqueScene");var a=d,f=null,c=null,e=new VELatLongFactory(new VELatLongFactoryAlwaysEncodeSpec),b=new _xy1;this.PixelToLatLong=function(d,b,f){if(b!=null){VEValidator.ValidateNonNegativeInt(b,"zoomLevel");b=parseInt(b)}else b=VEMap._GetMapFromGUID(c).GetZoomLevel();if(f){VEValidator.ValidateObjectArray(d,"pixelArray",VEPixel,"VEPixel array");VEValidator.ValidateFunction(f,"callback");this.PixelToLatLongAsync(d,b,f)}else{VEValidator.ValidateObject(d,"pixel",VEPixel,"VEPixel");var g=a.PixelToLatLong(d,b);return e.CreateVELatLong(g.latitude,g.longitude)}};this.PixelToLatLongAsync=function(b,c,d){a.PixelToLatLongAsync(b,c,d)};this.LatLongToPixel=function(e,d,f){if(d!=null){VEValidator.ValidateNonNegativeInt(d,"zoomLevel");d=parseInt(d)}else d=VEMap._GetMapFromGUID(c).GetZoomLevel();if(f){VEValidator.ValidateObjectArray(e,"veLatLongArray",VELatLong,"VELatLong array");VEValidator.ValidateFunction(f,"callback");this.LatLongToPixelAsync(e,d,f)}else{VEValidator.ValidateObject(e,"veLatLong",VELatLong,"VELatLong");var g=b.Decode(e),h=new Msn.VE.LatLong(g.Latitude,g.Longitude);return a.LatLongToPixel(h,d)}};this.LatLongToPixelAsync=function(e,g,h){var f=[];for(var c=0;ca)d=a;return b[d]};this.getTotal=function(){return this.getValue(1)};function c(){b=[];b[0]=0;for(var c=1;c<=a;c++)b[c]=b[c-1]+d(c/a)}},Movie:function(b,g){var a=this;this.Repeat=true;this.AppendContent=true;var e=[],c=-1,d=null;this.addFrame=function(b,a){if(a==null)a=true;var c={data:b,append:a};e.push(c)};this.start=function(){a.stop();a.show();a.clear();c=-1;d=setInterval(h,g)};this.stop=function(){if(d)clearInterval(d)};this.end=function(){a.stop();f(e.length-1)};this.show=function(){b.style.visibility="visible"};this.hide=function(){b.style.visibility="hidden"};this.clear=function(){b.innerHTML=""};function h(){c++;if(c>e.length-1){c=0;if(!a.Repeat){clearInterval(d);return}else a.clear()}f(c)}function f(c){var a=e[c];if(a.append)b.innerHTML+=a.data;else b.innerHTML=a.data}},RollDirection:{TopDown:1,RightLeft:2,BottomUp:4,LeftRight:8},RollStyle:{In:0,Out:1},Roller:function(q){var c=this;this.superclass=Msn.VE.OO.Eventable.EventableObject;this.superclass();var l=Msn.VE.Css,a=Msn.VE.Animation,h=Msn.VE.OO.Eventable,b=q,d=null,f=true,g=false,e=AccelerationFunctions.CrazyElevator,i=10,j=10,m=5,p={top:1,right:2,bottom:3,left:4},o={top:3,right:4,bottom:1,left:2};this.setAccelerationFunction=function(a){if(a instanceof Msn.VE.Animation.AccelerationFunction)e=a};this.setXLeave=function(a){if(typeof a=="number"&&a>=0)i=Math.floor(a,10)};this.setYLeave=function(a){if(typeof a=="number"&&a>=0)j=Math.floor(a,10)};this.getLeave=function(){return {x:i,y:j}};this.setDelay=function(a){if(typeof a=="number"&&a>0)m=Math.floor(a,10)};this.isExpanded=function(){return f};this.isRolling=function(){return g};this.isAssociated=function(){if(d!=null&&d.length>0)return true;return false};this.associate=function(a){if(a instanceof Array)d=a};this.rollIn=function(d){if(g)return;c.executeEvent("beforerollin",c,new h.EventArgs("beforerollin",b));k(a.RollStyle.In,d);f=false};this.rollOut=function(d){if(g)return;c.executeEvent("beforerollout",c,new h.EventArgs("beforerollout",b));k(a.RollStyle.Out,d);f=true};this.expand=function(b){k(a.RollStyle.Out,b,false);f=true};this.collapse=function(b){k(a.RollStyle.In,b,false);f=false};function k(u,k,t){g=true;if(t!==false)t=true;n();var f=p,q=0,r=0;if(u==a.RollStyle.Out){f=o;q=i;r=j}var y=b.offsetWidth,w=b.offsetHeight,A=y-i,B=w-j,C=A/e.getTotal(),D=B/e.getTotal(),x=e.getSteps();if(!t){v(1)();return}for(var s=0;s<=x;s++){var z=s/x;setTimeout(v(z),s*m)}function v(i){return function(){var m=parseInt(Math.round(e.getValue(i)*C))+q,n=parseInt(Math.round(e.getValue(i)*D))+r,j={top:0,right:0,bottom:0,left:0};if((k&a.RollDirection.TopDown)==a.RollDirection.TopDown){l.Functions.setClip(b,f.top,n+"px");j.top=n-r}if((k&a.RollDirection.RightLeft)==a.RollDirection.RightLeft){l.Functions.setClip(b,f.right,y-m+"px");j.right=-m+q}if((k&a.RollDirection.BottomUp)==a.RollDirection.BottomUp){l.Functions.setClip(b,f.bottom,w-n+"px");j.bottom=-n+r}if((k&a.RollDirection.LeftRight)==a.RollDirection.LeftRight){l.Functions.setClip(b,f.left,m+"px");j.left=m-q}if(d!=null){var p;for(p=0;p0)b=a};this.slideToPoint=function(e,i){var d=new c.Point(e.offsetLeft,e.offsetTop),n=d.getDistanceFrom(i);a.setSteps(Math.floor(n/10));var p=n/a.getTotal(),o=i.y-d.y,l=i.x-d.x,f=Math.atan(o/l),m=a.getSteps();for(var h=0;h<=m;h++){sum=a.getValue(h/m);var g=sum*p,k,j;if(l<0){k=d.y-Math.sin(f)*g;j=d.x-Math.cos(f)*g}else{k=d.y+Math.sin(f)*g;j=d.x+Math.cos(f)*g}setTimeout(q(j,k),h*b)}function q(a,b){return function(){e.style.top=parseInt(Math.round(b))+"px";e.style.left=parseInt(Math.round(a))+"px"}}}}};var AccelerationFunctions={Linear:new Msn.VE.Animation.AccelerationFunction(function(){return 1}),ExponentialAcc:new Msn.VE.Animation.AccelerationFunction(function(b){var a=0,d=1,c=d-a,f=a+b*c,e=Math.pow(f,2);return e}),ExponentialDec:new Msn.VE.Animation.AccelerationFunction(function(b){var a=-1,d=0,c=d-a,f=a+b*c,e=Math.pow(f,2);return e}),CosineWave:new Msn.VE.Animation.AccelerationFunction(function(b){var a=-Math.PI,d=Math.PI,c=d-a,f=a+b*c,e=Math.cos(f)+1;return e}),CrazyElevator:new Msn.VE.Animation.AccelerationFunction(function(b){var a=-5,d=5,c=d-a,f=a+b*c,e=2/(Math.pow(Math.abs(f),3)+1);return e})};_VERegisterNamespaces("Msn.VE.Geometry");Msn.VE.Geometry.Point=function(c,d){var a=this,b=Msn.VE.Geometry;this.x=c;this.y=d;this.add=function(c,d){var e=new b.Point(a.x+c,a.y+d);return e};this.getDistanceFrom=function(b){var c=Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2),d=Math.sqrt(c);return d}};Msn.VE.Geometry.Overlap={Range:{GreaterThanX:1,LessThanX:2,GreaterThanY:4,LessThanY:8,InXRange:16,InYRange:32,InRange:48},getInstance:function(f,g){var d=Msn.VE.Geometry.Overlap,a=f,b=g,c=0;e();function e(){if(b.getP2().x>a.getP2().x)c+=d.Range.GreaterThanX;if(b.getP1().xa.getP2().y)c+=d.Range.GreaterThanY;if(b.getP1().y=a.x&&c.x<=b.x&&c.y>=a.y&&c.y<=b.y};this.scale=function(d){a.x-=d;a.y-=d;b.x+=d;b.y+=d;c()};this.getOverlap=function(a){var b=Msn.VE.Geometry;return new b.Overlap.getInstance(g,a)};function c(){d=b.y-a.y;e=b.x-a.x}};Msn.VE.Geometry.Functions={getSlope:function(a,b){return (b.y-a.y)/(b.x-a.x)},getYIntercept:function(b,a){return a.y-b*a.x},getBestBoundingPoint:function(f,b,c){var a=Msn.VE.Geometry;if(!b)b=g(f).getScreenPosition();var e=new a.Rectangle(b,new a.Point(b.x+f.offsetWidth,b.y+f.offsetHeight)),j=c.getOverlap(e),d=j.getRange();if((d&a.Overlap.Range.InRange)==a.Overlap.Range.InRange)return b;var h=b.x,i=b.y;if(d&a.Overlap.Range.GreaterThanX)h=c.getP2().x-e.getWidth();if(d&a.Overlap.Range.LessThanX)h=c.getP1().x;if(d&a.Overlap.Range.GreaterThanY)i=c.getP2().y-e.getHeight();if(d&a.Overlap.Range.LessThanY)i=c.getP1().y;return new a.Point(h,i)}};_VERegisterNamespaces("Msn.VE.OO.Eventable");Msn.VE.OO.Eventable.EventArgs=function(b,a){this.EventName=b;this.Recipient=a};Msn.VE.OO.Eventable.EventableObject=function(){if(typeof window.attachEvent!="undefined")window.attachEvent("onunload",c);var a=[];this.getEventHash=function(){return a};this.hookEvent=function(d,e){var c=a[d];if(typeof c=="undefined"||c==null){c=new b(d);a[d]=c}c.addEvent(e)};this.unhookEvent=function(d,e){var c=a[d];if(c instanceof b)c.removeEvent(e)};this.executeEvent=function(g,h,f){var d=a[g];if(!(d instanceof b))return;var e=d.getEvents(),c;for(c=0;c');e.addFrame('
');e.addFrame('
');e.addFrame("");e.addFrame("");e.addFrame('
',false);e.addFrame('
',false);e.Repeat=false;this.destroy=function(){if(b){if(typeof b.removeEventListener!="undefined"){b.removeEventListener("mouseover",x,false);b.removeEventListener("mouseout",y,false)}else{b.detachEvent("onmouseover",x);b.detachEvent("onmouseout",y)}if(j.shimElement){j.shimElement.removeNode(true);j.shimElement=null}b.parentNode.removeChild(b);d.parentNode.removeChild(d);b=null;s=null;j=null;q=null;p=null;m=null;l=null;t=null;v=null}ERO.m_theEro=null;k=null};this.getElement=function(){return b};this.getBody=function(){return j};this.getAnimation=function(){return e};this.getDelay=function(){return o+n};this.setDelay=function(a){o=a||o};this.getDelayDelta=function(){return n};this.setDelayDelta=function(a,b){B=b==false?false:true;if(typeof a=="number"){n=a;if(!h&&r!=-1)c.hide()}};this.setClasses=function(b,d){var a;if(ERO.DefaultClasses===null){ERO.DefaultClasses={};for(a in ERO.Classes)ERO.DefaultClasses[a]=ERO.Classes[a]}if(d!==false)c.setClasses(ERO.DefaultClasses,false);for(a in b)if(typeof ERO.Classes[a]!="undefined")ERO.Classes[a]=b[a];D()};this.setBeak=function(a){if(a==ERO.BeakDirection.Left)g(b).removeClass(ERO.Classes.ContainerRightBeak).addClass(ERO.Classes.ContainerLeftBeak);else g(b).removeClass(ERO.Classes.ContainerLeftBeak).addClass(ERO.Classes.ContainerRightBeak)};this.setContent=function(c){var a=document.createElement("div");a.className="firstChild";a.innerHTML=c;var b=l.firstChild;if(b)l.replaceChild(a,b);else l.appendChild(a);a=null;b=null};this.addAction=function(b){var a=document.createElement("li");if(!b)return;a.innerHTML=b;p.appendChild(a);a=null};this.clearActions=function(){var a=p.getElementsByTagName("li"),c=a.length;for(var b=0;bf.getP2().x?f.getP1().x+f.getWidth()-B:s-B-m.getWidth()}if(p&a.Overlap.Range.LessThanX){c.setBeak(ERO.BeakDirection.Left);w=f.getP1().x}if(p&a.Overlap.Range.GreaterThanY){x=f.getP1().y+f.getHeight()-G;var H=D.getBottomYBleed();g+=H;if(g>b.offsetHeight-ERO.BeakHeight)g=b.offsetHeight-ERO.BeakHeight-4}if(p&a.Overlap.Range.LessThanY){x=f.getP1().y;var H=D.getTopYBleed();g-=H;if(g<0)g=0}b.style.top=x+v;b.style.left=w+v;t.style.top=g+"px";c.executeEvent("beforeshow",c,new ERO.EROEventArgs("beforeshow",b,k));if(!i.useBeak)b.className=ERO.Classes.ContainerNoBeak;z=false;if(i.useProgressTimer){e.start();if(!i.useFade){setTimeout(u,o+n);return}}if(i.useFade)setTimeout(F,o+n);else u()};this.showImmediate=function(){z=h=true;e.end();u()};this.hide=function(a){h=false;if(a===true)A();else{clearTimeout(r);r=setTimeout(A,o+n)}};this.setGlitz=function(c,d,a,b){if(c!=null)i.useBeak=c;if(d!=null)i.useFade=d;if(a!=null)i.useProgressTimer=a;if(b===true)i.isTemporary=b;else C=i.copy()};this.setBoundingArea=function(e,g){if(e===null){var b=Gimme.Screen.getScrollPosition(),c=Gimme.Screen.getViewportSize(),d=new a.Rectangle(new a.Point(0,0),new a.Point(c.width,c.height));d.move(new a.Point(b.x,b.y));f=d}else f=new a.Rectangle(e,g)};this.getBoundingArea=function(){return f};this.isInUse=function(){return h};this.isVisible=function(){return b.style.visibility=="visible"};this.addToPage=function(){b.style.visibility="hidden";d.style.visibility="hidden";document.body.appendChild(b);document.body.appendChild(d)};this.getSize=function(){var c=b.offsetLeft,d=b.offsetTop,f=c+b.offsetWidth,g=d+b.offsetHeight,e=new a.Rectangle(new a.Point(c,d),new a.Point(f,g));return e};function E(b,a){if(b==a)return false;while(a&&a!=b)a=a.parentNode;return a==b}function x(){h=true}function y(a){var d=a.relatedTarget||a.toElement||a.srcElement;if(!E(b,d))c.hide()}function u(){if(b&&h){if(b.style.visibility!="visible")b.style.visibility="visible";if(typeof b.style.opacity!="undefined")b.style.opacity=1;c.executeEvent("aftershow",c,new ERO.EROEventArgs("aftershow",b,k));i=C.copy()}}function A(){if(!h&&b){c.executeEvent("beforehide",c,new ERO.EROEventArgs("beforehide",b,k));b.style.visibility="hidden";e.hide();if(!Msn.VE.API){d.style.left=b.style.left="0";d.style.top=b.style.top="0"}k=null;c.executeEvent("afterhide",c,new ERO.EROEventArgs("afterhide",b,k))}if(B)n=0}function F(){if(z||!h||!b)return;if(b.style&&typeof b.style.filter!="undefined"){b.style.filter="progid:DXImageTransform.Microsoft.Fade(duration=.5)";b.filters[0].Apply();b.style.visibility="visible";b.style.display="block";b.filters[0].Play();var c=setInterval(function(){if(b.filters[0].status==0){clearInterval(c);u()}},10)}else{b.style.visibility="visible";if(w===0)a()}function a(){if(h&&++w<=10){var c=w*.09999999;b.style.opacity=c;setTimeout(a,50)}else{u();w=0}}}function D(){b.className=ERO.Classes.Container;s.className=ERO.Classes.Shadow;j.className=ERO.Classes.Body;t.className=ERO.Classes.Beak;q.className=ERO.Classes.Actions;m.className=ERO.Classes.ActionsBackground;l.className=ERO.Classes.PreviewArea;v.className=ERO.Classes.PaddingHack;d.className=ERO.Classes.ProgressAnimation}}}};function LogEROBehavior(eroEvent,fromPanel){var bERO=$find(eroEvent.Entity.id+"_ero");if(bERO!=null){var eroSource=eval(fromPanel?bERO.get_EROPanel():bERO.get_EROMap()),pageName=eval(bERO.get_PageName());if(eroSource)$VE_A.Log(pageName,eroSource)}}function LogEROBehaviorFromPanel(a){ero.unhookEvent("aftershow",LogEROBehaviorFromPanel);LogEROBehavior(a,true)}function LogEROBehaviorFromMap(a){ero.unhookEvent("aftershow",LogEROBehaviorFromMap);LogEROBehavior(a,false)}function VETime(){}VETime.FormatTime=function(a){if(a==null||a==""||a=="undefined")return "";var c=false,d=a.substr(0,10),e=a.substr(11,5),b="";if(a.indexOf("AM")>-1){b="AM";c=true}else b="PM";return d+" "+VETime.ConvertTo12HourFormat(e,c)+" "+b};VETime.ConvertTo12HourFormat=function(d,c){var a=d;try{var b=parseFloat(a.replace(":","."));if(b>12)if(b<13&&c!=true);else b=b-12;a=b.toFixed(2);a=a.replace(".",":")}catch(e){a=""}return a};VETime.FormatPanelTime=function(a,g){if(a==null||a==""||a=="undefined")return "";try{var b=0,d=false,i=a.substr(4,8),h=a.indexOf(":"),f=a.substr(h-2,5),c="";if(a.indexOf("AM")>-1){c="AM";d=true;b=a.indexOf("AM")}else{c="PM";b=a.indexOf("PM")}var e="";if(b>0)e=a.substr(b+3,3);if(g)return i+" "+VETime.ConvertTo12HourFormat(f,d)+" "+c+" "+e;else return VETime.ConvertTo12HourFormat(f,d)+" "+c+" "+e}catch(j){}};VETime.getMonth=function(a){switch(a){case "01":return " Jan";case "02":return " Feb";case "03":return " Mar";case "04":return " Apr";case "05":return " May";case "06":return " Jun";case "07":return " Jul";case "08":return " Aug";case "09":return " Sep";case "10":return " Oct";case "11":return " Nov";case "12":return " Dec"}};VEMap.prototype.GetImageryMetadata=function(c,a){var j=this;VEValidator.ValidateFunction(c);if(a){VEValidator.ValidateObject(a,"options",VEImageryMetadataOptions,"VEImageryMetadataOptions");if(a.LatLong!=null)VEValidator.ValidateObject(a.LatLong,"LatLong",VELatLong,"VELatLong");if(a.MapStyle!=null)VEValidator.ValidateMapStyle(a.MapStyle,"MapStyle");if(a.ZoomLevel!=null){VEValidator.ValidateNonNegativeInt(a.ZoomLevel,"ZoomLevel");if(a.ZoomLevel==0||a.ZoomLevel>Msn.VE.API.Globals.vemaxzoom)throw new VEException("VEMap.GetImageryMetadata","err_invalidargument",L_invalidargument_text.replace("%1","ZoomLevel").replace("%2","int"))}}else a=new VEImageryMetadataOptions;if(a.LatLong==null)a.LatLong=this.GetCenter();if(a.MapStyle==null)a.MapStyle=this.GetMapStyle();if(a.ZoomLevel==null)a.ZoomLevel=this.GetZoomLevel();if((a.MapStyle==VEMapStyle.Road||a.MapStyle==VEMapStyle.Shaded||a.MapStyle==VEMapStyle.Aerial||a.MapStyle==VEMapStyle.Hybrid)&&(this.HasClientToken()||this.HasValidCredentials())){if(a.MapStyle==VEMapStyle.Shaded)a.MapStyle==VEMapStyle.Road;var d=new Msn.VE.LatLong;d.latitude=a.LatLong.Latitude;d.longitude=a.LatLong.Longitude;var g=this.vemapcontrol.GetOrthoMode(),i=g.LatLongToPixel(d,a.ZoomLevel),h=VEPixelToQuadKey(i,a.ZoomLevel),b=[];b.push(new VEParameter("quadKey",'"'+h+'"'));b.push(new VEParameter("mapStyle",'"'+a.MapStyle+'"'));b.push(new VEParameter("tileGeneration",'"'+this.vemapcontrol.GetTileGeneration(a.MapStyle)+'"'));this.vemapcontrol.Fire("onstartrequest");function e(a){j._GetImageryMetadataHandler(a,c)}VEAPIRequestInvoke(Msn.VE.API.Constants.imageryurl+"/GetTileMetadata",b,e,this)}else{var f=new VEImageryMetadata;c(f)}};VEMap.prototype._GetImageryMetadataHandler=function(a,c){this.vemapcontrol.Fire("onendrequest");this.__HandleAuthentication(a);var b=null;if(a){b=new VEImageryMetadata;if(typeof a.Vintage!="undefined"&&a.Vintage!=null){if(typeof a.Vintage.From!="undefined"&&a.Vintage.From!=null){var d=a.Vintage.From;b.DateRangeStart=ParseJsonDate(d)}if(typeof a.Vintage.To!="undefined"&&a.Vintage.To!=null){var e=a.Vintage.To;b.DateRangeEnd=ParseJsonDate(e)}}}if(typeof c=="function")c(b)};function ParseJsonDate(dateString){var date=null;if(dateString)try{dateString=dateString.replace(/\//g,"");date=eval("new "+dateString+";")}catch(a){}return date}function VEImageryMetadata(){this.DateRangeStart=null;this.DateRangeEnd=null;this.toString=function(){strDateStart="";strDateEnd="";if(this.DateRangeStart)strDateStart+=this.DateRangeStart.getFullYear();if(this.DateRangeEnd)strDateEnd+=this.DateRangeEnd.getFullYear();var a;if(strDateStart==strDateEnd)a=strDateStart;else a=strDateStart+" - "+strDateEnd;return a}}function VEImageryMetadataOptions(){this.LatLong=null;this.MapStyle=null;this.ZoomLevel=null}var customCursors=Msn.VE.Css.Cursors.CustomCursors;if(customCursors!=null){var i,len=customCursors.length;for(i=0;i=0)&&(typeof VEAPI_DisableAtlasCompat=="undefined"||VEAPI_DisableAtlasCompat!=true))VENetwork.DownloadScript(Msn.VE.API.Constants.atlascompatjs);VENetwork.AttachStyleSheet(Msn.VE.API.Constants.stylesheet);if(navigator.userAgent.indexOf("MSIE")>=0&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))==6)VENetwork.AttachStyleSheet(Msn.VE.API.Constants.stylesheetiev6);try{document.namespaces.add("v","urn:schemas-microsoft-com:vml")}catch(a){}function RequestQueueItem(a,b,c,d){this.Call=a;this.Param1=b;this.Param2=c;this.Param3=d}function VECustomEvent(b,a){this.Name=b;this.Callback=a}VECacheMode={Auto:0,EnableTileCaching:1};function VEMapOptions(){this.EnableBirdseye=true;this.EnableDashboardLabels=true;this.LoadBaseTiles=true;this.BirdseyeOrientation=VEOrientation.North;this.DrawingBuffer=0;this.CacheMode=VECacheMode.Auto;this.DashboardColor="blue";this.EnableClickableLogo=false;this.EnableSearchLogo=false}function VEMap(m){var a=this;this.ID=m;this.GUID=VENetwork.GetExecutionID();this.ClientToken=null;this.Credentials=null;var i=false;this.SessionQueue=null;var f=null,l=null,d=null;if(Msn.VE.API.Globals.vemapinstances==null||Msn.VE.API.Globals.vemapinstances=="undefined")Msn.VE.API.Globals.vemapinstances=[];Msn.VE.API.Globals.vemapinstances[this.GUID]=a;this.requestQueue=[];this.preInitCustomEvents=[];this.network=new VENetwork;this.mapelement=$ID(m);this.pushpins=[];this.DisambiguationCallback=null;this.ShowMessageBox=true;if(this.mapelement==null)throw new VEException("VEMap:cstr","err_invalidelement",L_invalidelement_text);this.m_vedirectionsmanager=null;this._dm=this.m_vedirectionsmanager;this.m_routemanager=null;this.m_vesearchmanager=null;this._sm=this.m_vesearchmanager;this.m_vemessage=new VEMessage(this);this.m_veambiguouslist=new VEAmbiguouslist(this);var c=new VELatLongFactory(new VELatLongFactorySpecFromMap(this)),b=new _xy1;this.queueEventInitialized=false;this.RequestQueueEnabled=true;this.queueEventInitialized=false;windowWidth=GetWindowWidth();windowHeight=GetWindowHeight();scrollbarWidth=GetScrollbarWidth();this.dashboardSize=Msn.VE.DashboardSize.Normal;this.dashboardVersion=6;this._showDashboard=true;this._showScalebar=true;this._mapPrintOptions=null;this.LoadMap=function(c,j,l,k,d,i,e,h){if(!a)throw new VEException("VEMap:LoadMap","err_notinitializedmap",L_notinitialized_text);if(typeof d!="undefined"&&d!=null){VEValidator.ValidateMapMode(d,"mapMode");this.mapMode=d}if(c!=null&&c!="undefined"){VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");var f=b.Decode(c);this.initialLatitude=f.Latitude;this.initialLongitude=f.Longitude}this.fixedMap=k;this.initialZoomLevel=j;this.initialMapStyle=l;this.showMapModeSwitch=i;if(e!=null&&typeof e!="undefined")this.tileBuffer=e;this._mapOptions=h?h:new VEMapOptions;VEValidator.ValidateOrientation(this._mapOptions.BirdseyeOrientation,"VEMapOptions.BirdseyeOrientation");VEValidator.ValidateFloat(this._mapOptions.DrawingBuffer,"VEMapOptions.DrawingBuffer");VEValidator.ValidateBetween(this._mapOptions.DrawingBuffer,"VEMapOptions.DrawingBuffer",0,Number.POSITIVE_INFINITY);VEValidator.ValidateCacheMode(this._mapOptions.CacheMode,"VEMapOptions.CacheMode");this.veonmaploadevent=this.onLoadMap;this.mapelement.innerHTML="";this.mapelement.innerHTML="

"+L_loading_text+"

";this.InitializeMap();this.vemapcontrol.AttachEvent("onstartpan",function(){if(window.ero)window.ero.hide(true)});g([new VEParameter("entry","0")])};function g(b){if(b){var e=Msn.VE.API.Constants.logservice+"/Log";b.push(new VEParameter("fmt","1"));b.push(new VEParameter("type","3"));b.push(new VEParameter("group","MapControl"));b.push(new VEParameter("name","AJAX"));b.push(new VEParameter("version",Msn.VE.API.Globals.vecurrentversion));b.push(new VEParameter("session",a.GUID));b.push(new VEParameter("mkt",Msn.VE.API.Globals.locale));var p=a.Credentials!=null&&a.Credentials.length>0;if(p||!a.HasClientToken()){var i=VENetwork.GetExecutionID(),c="LogCredCB"+i;b.push(new VEParameter("auth",p?a.Credentials:Msn.VE.API.Constants.defaultLogCredentials));b.push(new VEParameter("&jsonp",c));var m=new VENetwork;m.UseCloseDep=true;m.ServiceUrl=e;if(!a.SessionQueue)a.SessionQueue=[];l=c;window[c]=function(b){if(a&&l==c){if(d!=null){clearTimeout(d);d=null}var e=b!=null&&b.authenticationResultCode=="ValidCredentials";f=e&&typeof b.sessionId=="string"&&b.sessionId.length>0?b.sessionId:null;if(e)j();else h();k()}window[c]=null};if(d!=null)clearTimeout(d);d=setTimeout(n,10000);m.BeginInvoke("_f"+i,b,null,null,i)}else{b.push(new VEParameter("auth",a.ClientToken));b.push(new VEParameter("image","1"));e+="?";for(var g=0;g0)this.PixelToLatLongAsync(b,a,d)}else{VEValidator.ValidateObject(b,"pixel",VEPixel,"VEPixel");var e=this.vemapcontrol.PixelToLatLong(b,a),f=c.CreateVELatLong(e.latitude,e.longitude);return f}};this.PixelToLatLongAsync=function(a,b,c){this.vemapcontrol.PixelToLatLongAsync(a,b,c)};this.SetCenter=function(c){VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");var a=b.Decode(c);this._QueueRequest(this.vemapcontrol.SetCenterAccurate,a.Latitude,a.Longitude)};this.SetCenterClassic=function(c){VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");var a=b.Decode(c);this._QueueRequest(this.vemapcontrol.SetCenter,a.Latitude,a.Longitude)};this.SetCenterAndZoom=function(c,d){VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");VEValidator.ValidateNonNegativeInt(d,"zoomLevel");var a=b.Decode(c);this._QueueRequest(this.vemapcontrol.SetCenterAndZoom,a.Latitude,a.Longitude,d);return true};this.GetMouseWheelZoomToCenter=function(){return a.vemapcontrol.GetMouseWheelZoomToCenter()};this.SetMouseWheelZoomToCenter=function(b){return a.vemapcontrol.SetMouseWheelZoomToCenter(b)};this.IncludePointInView=function(c){VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");var a=b.Decode(c);return this.vemapcontrol.IncludePointInViewport(a.Latitude,a.Longitude)};this.GetOffsetX=function(){return a.vemapcontrol.GetOffsetX()};this.GetOffsetY=function(){return a.vemapcontrol.GetOffsetY()};this.getSvgLayer=function(){return a.vemapcontrol.getSvgLayer()};this.resizeSVG=function(){return a.vemapcontrol.resizeSVG()};this.GetsvgDiv=function(){return a.vemapcontrol.GetsvgDiv()};this.LatLongToPixel=function(c,a,d){if(a!=null){VEValidator.ValidateNonNegativeInt(a,"zoomLevel");a=parseInt(a)}if(d){VEValidator.ValidateObjectArray(c,"veLatLongArray",VELatLong,"VELatLong array");VEValidator.ValidateFunction(d,"callback");this.LatLongToPixelAsync(c,a,d)}else{VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");var e=b.Decode(c),f=new Msn.VE.LatLong(e.Latitude,e.Longitude);return this.vemapcontrol.LatLongToPixel(f,a)}};this.LatLongToPixelAsync=function(d,f,g){var e=[];for(var a=0;a0)this.Find(this.lastwhatsearch,null,1,this.m_vesearchmanager.vesearchcallback)};this._DoFind=function(){try{this.lastwhatsearch=$ID(this.ID+"_vewhatinput").value;this.lastwheresearch=$ID(this.ID+"_vewhereinput").value;this.Find(this.lastwhatsearch,this.lastwheresearch)}catch(a){this.ShowMessage(a.message)}};this.Dispose=function(){try{g([new VEParameter("entry","1")]);a.SessionQueue=null;if(a.vemapcontrol!=null){a.vemapcontrol.DetachEvent("onchangeview",a._ClearView);a.vemapcontrol.DetachEvent("onresize",a._ReArrangeControls);a.vemapcontrol.DetachEvent("onendpan",a._RefreshLayers);a.vemapcontrol.DetachEvent("oninitmode",a._EROHouseKeeping)}a.vemapcontrol.DetachEvent("onclick",VEPushpin.Hide);var c=a.controlzIndexes.length;for(var b=0;b0)b=f;else if(a.Credentials!=null&&a.Credentials.length>0)b=a.Credentials;else if(a.HasClientToken())b=a.ClientToken;else b=Msn.VE.API.Constants.defaultLogCredentials;return b};this.HasValidCredentials=function(){return i}}VEMap._GetMapFromGUID=function(a){if(Msn.VE.API.Globals.vemapinstances!=null&&Msn.VE.API.Globals.vemapinstances[a]==null||Msn.VE.API.Globals.vemapinstances[a]=="undefined"){throw new VEException("VEMap:_GetMapFromGUID","err_notinitialized",L_notinitialized_text);return}return Msn.VE.API.Globals.vemapinstances[a]};VEMap.prototype.InitializeMap=function(){_VERegisterNamespaces("Msn.VE");this.mapelement.innerHTML="";this.mapelement.style.overflow="hidden";if(this.mapelement.className==null||this.mapelement.className=="undefined"||this.mapelement.className==""){if(this.mapelement.style==null||this.mapelement.style.height==null||this.mapelement.style.height=="undefined"||this.mapelement.style.height=="")this.mapelement.style.height=Msn.VE.API.Globals.vemapheight+"px";if(this.mapelement.style==null||this.mapelement.style.width==null||this.mapelement.style.width=="undefined"||this.mapelement.style.width=="")this.mapelement.style.width=Msn.VE.API.Globals.vemapwidth+"px"}var a={};if(this.mapMode!=null&&this.mapMode!="undefined")a.mapMode=this.mapMode;else a.mapMode=Msn.VE.API.Globals.vemapmode;a.mapGUID=this.GUID;a.clientToken=this.ClientToken;if(this.initialLatitude!=null&&this.initialLatitude!="undefined")a.latitude=this.initialLatitude;else a.latitude=Msn.VE.API.Globals.vemaplatitude;if(this.initialLongitude!=null&&this.initialLongitude!="undefined")a.longitude=this.initialLongitude;else a.longitude=Msn.VE.API.Globals.vemaplongitude;if(this.initialZoomLevel!=null&&this.initialZoomLevel!="undefined")a.zoomlevel=this.initialZoomLevel;else a.zoomlevel=Msn.VE.API.Globals.vemapzoom;if(this.initialMapStyle!=null&&this.initialMapStyle!="undefined")a.mapstyle=this.initialMapStyle;else a.mapstyle=Msn.VE.API.Globals.vemapstyle;this.m_dashboardId=this.ID+"_dashboard";if(this.fixedMap!=true){a.showDashboard=VE_CheckModuleStatus(VE_ModuleName.APICONTROLS)=="loaded"&&this._showDashboard;a.dashboardSize=this.dashboardSize;a.dashboardVersion=this.dashboardVersion;a.dashboardX=5;a.dashboardY=5;a.dashboardId=this.m_dashboardId;a.showScaleBar=this._showScalebar}a.dashboardColor=this._mapOptions.DashboardColor;a.obliqueEnabled=this._mapOptions.EnableBirdseye;a.labelsDefault=this._mapOptions.EnableDashboardLabels;a.loadBaseTiles=this._mapOptions.LoadBaseTiles;a.birdseyeOrientation=this._mapOptions.BirdseyeOrientation;a.useOriginTiles=this._mapOptions.CacheMode==VECacheMode.Auto;a.useEnhancedRoadStyle=this._mapOptions.UseEnhancedRoadStyle;a.obliqueUrl=Msn.VE.API.Constants.imageryurl;if(this.fixedMap==true)a.fixedView=true;a.disableLogo=false;a.enableClickLogo=this._mapOptions.EnableClickableLogo;a.enableSearchLogo=this._mapOptions.EnableSearchLogo;if(this.showMapModeSwitch==false)a.showMapModeSwitch=false;else a.showMapModeSwitch=true;if(this.tileBuffer!=null&&typeof this.tileBuffer!="undefined")a.buffer=this.tileBuffer*Msn.VE.API.Globals.vetilesize;this.vemapcontrol=new Msn.VE.MapControl(this.mapelement,a,this);var d=this.preInitCustomEvents.length;for(var c=0;c=0||a>=0){if(b<0)b=this.GetWidth();if(a<0)a=this.GetHeight()}return this.vemapcontrol.Resize(b,a)};VEMap.prototype.SetMapMode=function(a){VEValidator.ValidateMapMode(a,"mapMode");this.vemapcontrol.EnableMode(a,this.GUID)};VEMap.prototype.GetMapMode=function(){if(this.vemapcontrol.IsModeEnabled(Msn.VE.MapActionMode.Mode3D))return VEMapMode.Mode3D;return VEMapMode.Mode2D};VEMap.prototype.SetMapStyle=function(a){VEValidator.ValidateMapStyle(a,"mapStyle");if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D&&(a==VEMapStyle.Birdseye||a==VEMapStyle.BirdseyeHybrid))return false;this.vemapcontrol.SetMapStyle(a)};VEMap.prototype.SetScaleBarDistanceUnit=function(a){VEValidator.ValidateDistanceUnit(a,"distanceUnit");this.vemapcontrol.SetScaleBarDistanceUnit(a==VEDistanceUnit.Miles?Msn.VE.DistanceUnit.Miles:Msn.VE.DistanceUnit.Kilometers)};VEMap.prototype.SetZoomLevel=function(a){VEValidator.ValidateNonNegativeInt(a,"zoomLevel");this._QueueRequest(this.vemapcontrol.SetZoom,parseInt(a));return true};VEMap.prototype.ZoomIn=function(){this.vemapcontrol.ZoomIn()};VEMap.prototype.ZoomOut=function(){this._QueueRequest(this.vemapcontrol.ZoomOut)};VEMap.prototype.AttachEvent=function(b,a){VEValidator.ValidateNonNull(b,"eventname");VEValidator.ValidateNonNull(a,"eventhandler");if(this.vemapcontrol)this.vemapcontrol.AttachCustomEvent(b,a);else this.preInitCustomEvents.push(new VECustomEvent(b,a))};VEMap.prototype.DetachEvent=function(b,a){VEValidator.ValidateNonNull(b,"eventname");VEValidator.ValidateNonNull(a,"eventhandler");this.vemapcontrol.DetachCustomEvent(b,a)};VEMap.prototype.FireEvent=function(a){try{var b=window.event;return this.vemapcontrol.FireCustomEvent(a,b)}catch(c){return false}};VEMap.prototype.ShowMessage=function(a){if(this.ShowMessageBox)this.m_vemessage.Show(a)};VEMap.prototype.GetHeight=function(){var a=0;if(this.mapelement.style.height.search(/px/)>0)a=parseInt(this.mapelement.style.height.replace("px",""));if(isNaN(a)||a==0)a=this.mapelement.offsetHeight;return a};VEMap.prototype.GetWidth=function(){var a=0;if(this.mapelement.style.width.search(/px/)>0)a=parseInt(this.mapelement.style.width.replace("px",""));if(isNaN(a)||a==0)a=this.mapelement.offsetWidth;return a};VEMap.prototype.GetLeft=function(){return this.vemapcontrol.GetLeftPx()};VEMap.prototype.GetTop=function(){return this.vemapcontrol.GetTopPx()};VEMap.prototype.SetFindResultsPanel=function(a){if(a==null||a=="undefined")throw new VEException("VEMap:SetFindResultsPanel","err_invalidelement",L_invalidelement_text);var b=$ID(a);if(b==null||b=="undefined")throw new VEException("VEMap:SetFindResultsPanel","err_invalidelement",L_invalidelement_text);this.searchelement=a};VEMap.prototype._AddControlInner=function(a){a.style.position="absolute";a.style.zIndex=201;var e=this.GetTop(),d=this.GetLeft();if(!a.style.top)a.style.top="0px";if(!a.style.left)a.style.left="0px";var c=a.style.top,b=a.style.left;if(isNaN(c))c=c.toString().toLowerCase();if(isNaN(b))b=b.toString().toLowerCase();e+=parseInt(c.replace("px"));d+=parseInt(b.replace("px"));a.style.top=e+"px";a.style.left=d+"px";document.body.appendChild(a)};VEMap.prototype.AddControl=function(a,b){if(a==null||a=="undefined")throw new VEException("VEMap:AddControl","err_invalidelement",L_invalidelement_text);if(this.controls==null||this.controls=="undefined")throw new VEException("VEMap:AddControl","err_notinitialized",L_notinitialized_text);this.controlzIndexes.push(b);this.controls.push(a);this.controltops.push(a.style.top);this.controllefts.push(a.style.left);this._AddControlInner(a,b)};VEMap.prototype.DeleteControl=function(b){if(b==null||b=="undefined")throw new VEException("VEMap:DeleteControl","err_invalidelement",L_invalidelement_text);if(this.controls==null||this.controls=="undefined")throw new VEException("VEMap:DeleteControl","err_notinitialized",L_notinitialized_text);if(b.shimElement){b.shimElement.removeNode(true);b.shimElement=null}document.body.removeChild(b);var c=-1;for(var a=0;a=0){for(var a=c;a0){this.requestQueue.push(new RequestQueueItem(a,b,c,d));return}}a(b,c,d)};VEMap.prototype._ProcessQueuedRequest=function(){if(this.requestQueue.length>0){var a=this.requestQueue.shift();a.Call(a.Param1,a.Param2,a.Param3)}};VEMap.prototype.ShowMapModeSwitch=function(a){if(this.fixedMap!=true){this.vemapcontrol.SetShowMapModeSwitch(a);this.showMapModeSwitch=a}};VEMap.prototype.SetTileBuffer=function(a){this.tileBuffer=a;if(this.vemapcontrol!=null&&this.vemapcontrol!="undefined")this.vemapcontrol.SetTilePixelBuffer(a*Msn.VE.API.Globals.vetilesize)};VEMap.prototype._EROHouseKeeping=function(d){if(d==Msn.VE.MapActionMode.Mode2D){ero.setGlitz(true,false,true,false);ero.unhookEvent("aftershow",c);ero.unhookEvent("afterhide",b);ero.unhookEvent("beforeshow",a)}else{ero.setGlitz(true,false,true,false);ero.hookEvent("aftershow",c);ero.hookEvent("afterhide",b);ero.hookEvent("beforeshow",a)}function c(){ShowShim(ero.getBody(),ero.getElement())}function b(){HideShim(ero.getBody())}function a(a){if(a.Entity==-1)ero.setGlitz(false,null,false,true)}};VEMap.prototype.AllTilesLoaded=function(){if(this.vemapcontrol.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){var a=this.vemapcontrol.Get3DControl();return a?a.AllTilesLoaded:false}return true};VEMap.prototype.HasClientToken=function(){return this.ClientToken!=null&&typeof this.ClientToken!="undefined"&&this.ClientToken.length>0};VEMap.GetVersion=function(){return Msn.VE.API.Globals.vecurrentversion};VEMap.prototype.ShowDisambiguationDialog=function(a){VEValidator.ValidateBoolean(a,"value");this.m_vedirectionsmanager.m_showDisambigousDialog=a};VEMap.prototype.SetAnimationEnabled=function(a){VEValidator.ValidateBoolean(a,"value");if(this.vemapcontrol)this.vemapcontrol.SetAnimationEnabled(a)};function VEPrintOptions(a){VEValidator.ValidateBoolean(a,"enablePrinting");this.EnablePrinting=a}VEMap.prototype.SetPrintOptions=function(a){VEValidator.ValidateBoolean(a.EnablePrinting,"VEPrintOptions.EnablePrinting");if(!(Web.Browser.isSafari()||Msn.VE.Environment.IsIE80())){this._mapPrintOptions=a;if(this.vemapcontrol)this.vemapcontrol.SetPrintable(a.EnablePrinting)}};function VEAPIRequestInvoke(f,a,e,b){if(b&&b.SessionQueue)b.SessionQueue.push({service:f,parameters:a,fnCallback:e});else{var d=new VENetwork,c=VENetwork.GetExecutionID();d.UseCloseDep=true;d.ServiceUrl=f;if(b)a.push(new VEParameter(Msn.VE.API.Constants.clienttoken,b._GetCredentials()));a.push(new VEParameter(Msn.VE.API.Constants.culture,'"'+Msn.VE.API.Globals.locale+'"'));a.push(new VEParameter(Msn.VE.API.Constants.format,Msn.VE.API.Constants.json));a.push(new VEParameter(Msn.VE.API.Constants.requestid,c));d.BeginInvoke("_f"+c,a,e,null,c)}}VEMap.prototype.GetDistance=function(a,b){VEValidator.ValidateObject(a,"veLatLong1",VELatLong,"VELatLong");VEValidator.ValidateObject(b,"veLatLong2",VELatLong,"VELatLong");var h=6378137,c=Math.PI/180,d=a.Latitude*c,e=b.Latitude*c,f=Math.sin((d-e)/2),g=Math.sin((a.Longitude-b.Longitude)*c/2),i=Math.asin(Math.sqrt(f*f+Math.cos(d)*Math.cos(e)*g*g));return h*2*i/1000};VEMap.prototype.InitNavControl=function(){};VEDashboardSize=Msn.VE.DashboardSize;VEMap.prototype.SetDashboardSize=function(a){if(typeof a!="undefined"&&a!=null){VEValidator.ValidateDashboardSize(a,"VEDashboardSize");this.dashboardSize=a;this.dashboardVersion=6;if(this.dashboardSize==VEDashboardSize.Small||this.dashboardSize==VEDashboardSize.Tiny)this.dashboardVersion=5}};VEMap.prototype.SetDashboardVersion=function(a){this.dashboardVersion=a};VEMap.prototype.ShowDashboard=function(){if(this.vemapcontrol){var a=this.vemapcontrol.GetDashboard();if(!a)this.vemapcontrol.CreateDashboard(5,5,this.dashboardSize,this.m_dashboardId,this.showMapModeSwitch,this._mapOptions.EnableBirdseye,this._mapOptions.EnableDashboardLabels,this.dashboardVersion);else a.Show();if($MVEM.IsEnabled(MapControl.Features.MapStyle.View3D))this.Show3DNavigationControl()}this._showDashboard=true};VEMap.prototype.HideDashboard=function(){if(this.vemapcontrol){var a=this.vemapcontrol.GetDashboard();if(a)a.Hide();if($MVEM.IsEnabled(MapControl.Features.MapStyle.View3D))this.Hide3DNavigationControl()}this._showDashboard=false};VEMap.prototype.ShowScalebar=function(){if(this.vemapcontrol)this.vemapcontrol.SetScaleBarVisibility(true);this._showScalebar=true};VEMap.prototype.HideScalebar=function(){if(this.vemapcontrol)this.vemapcontrol.SetScaleBarVisibility(false);this._showScalebar=false};VEMap.prototype.ShowMiniMap=function(a,b,d){if(a!=null&&typeof a!="undefined"&&b!=null&&typeof b!="undefined"){VEValidator.ValidateInt(a,"x");VEValidator.ValidateInt(b,"y")}if(d)VEValidator.ValidateMiniMapSize(d,"size");var c=this.vemapcontrol.GetMinimap();if(c){if(a!=null&&typeof a!="undefined"&&b!=null&&typeof b!="undefined")c.SetPosition(parseInt(a),parseInt(b));c.Show()}else c=this.vemapcontrol.CreateMinimap(a,b,null,true,false,null,this.ClientToken);if(d)c.SetSize(d)};VEMap.prototype.HideMiniMap=function(){var a=this.vemapcontrol.GetMinimap();if(a)a.Hide()};VE_SetModuleStatus(VE_ModuleName.APICONTROLS,"loaded");VEMap.prototype.InitBirdseye=function(){};VEMap.prototype.GetBirdseyeScene=function(){if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D)return null;var a=null,b=this.vemapcontrol.GetObliqueScene();if(b!=null&&b!="undefined"){a=new VEBirdseyeScene(b);a.SetClientToken(this.ClientToken);a.SetGUID(this.GUID)}return a};VEMap.prototype.IsBirdseyeAvailable=function(){if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D)return false;return this.vemapcontrol.IsObliqueAvailable()};VEMap.prototype.SetBirdseyeOrientation=function(a){if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D)return false;VEValidator.ValidateOrientation(a,"orientation");return this.vemapcontrol.SetObliqueOrientation(a)};VEMap.prototype.SetBirdseyeScene=function(a,b,c,d){if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D)return false;if(a==null||a instanceof VELatLong)return this.SetBirdseye(a,b,c,d);else return this.vemapcontrol.SetObliqueScene(a)};VEMap.prototype.SetBirdseye=function(b,a,c,d){if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D)return false;if(b)VEValidator.ValidateObject(b,"veLatLong",VELatLong,"VELatLong");else b=this.GetCenter();if(a)VEValidator.ValidateOrientation(a,"orientation");else a=VEOrientation.North;if(c)VEValidator.ValidateNonNegativeInt(c,"zoomLevel");else c=1;if(d)VEValidator.ValidateFunction(d,"callback");else d=null;var e=(new _xy1).Decode(b);return this.vemapcontrol.SetObliqueLocation(new Msn.VE.LatLong(e.Latitude,e.Longitude),a,c,d)};VEMap.prototype.SetShapesAccuracy=function(a){if(a!=VEShapeAccuracy.None&&a!=VEShapeAccuracy.Pushpin&&a!=VEShapeAccuracy.All)throw new VEException("VEMap:SetShapesAccuracy","err_invalidargument",L_invalidargument_text.replace("%1","value").replace("%2","VEShapeAccuracy"));this.m_vegraphicsmanager._useOffset=a};VEMap.prototype.SetOverMaxPointsShapeRequest=function(a){if(a!=VEFailedShapeRequest.DoNotDraw&&a!=VEFailedShapeRequest.DrawInaccurately)throw new VEException("VEMap:SetOverMaxPointsShapeRequest","err_invalidargument",L_invalidargument_text.replace("%1","value").replace("%2","VEFailedShapeRequest"));this.m_vegraphicsmanager._drawOverMaxShapes=a};VEMap.prototype.SetFailedShapeRequest=function(a){if(a!=VEFailedShapeRequest.DoNotDraw&&a!=VEFailedShapeRequest.DrawInaccurately&&a!=VEFailedShapeRequest.QueueRequest)throw new VEException("VEMap:SetFailedShapeRequest","err_invalidargument",L_invalidargument_text.replace("%1","value").replace("%2","VEFailedShapeRequest"));this.m_vegraphicsmanager._failRequest=a};VEMap.prototype.SetShapesAccuracyRequestLimit=function(a){VEValidator.ValidateNonNegativeInt(a,"value");Msn.VE.API.Constants.maxasynlatlongs=a};VEShapeAccuracy=new function(){this.None=0;this.Pushpin=1;this.All=2};VEFailedShapeRequest=new function(){this.DoNotDraw=0;this.DrawInaccurately=1;this.QueueRequest=2};VE_SetModuleStatus(VE_ModuleName.APIBIRDSEYE,"loaded");VEMap.prototype.SetDisplayThreshold=function(a){var a=parseInt(a);if(isNaN(a))this.m_vegraphicsmanager.SetDisplayThreshold(a)};VEMap.prototype.EnableShapeDisplayThreshold=function(a){VEValidator.ValidateBoolean(a,"value");VE_LatLongThreshold.UseThreshold=a};VEMap.prototype.ImportShapeLayerData=function(a,c,b){VEValidator.ValidateObject(a,"_spec",VEShapeSourceSpecification,"VEShapeSourceSpecification");if(typeof a.LayerSource!="string"||typeof a.Type!="string")throw new VEException("VEMap:AddLayer","err_invalidlayertype",L_invalidlayertype_text);this.m_velayermanager.ImportLayer(a,c,b)};VEMap.prototype.Import3DModel=function(a,c,d,b,e){VEValidator.ValidateObject(a,"modelShapeSource",VEModelSourceSpecification,"VEModelSourceSpecification");if(typeof a.ModelSource!="string"||typeof a.Format!="string")throw new VEException("VEMap:Import3DModel","err_invalidlayertype",L_invalidlayertype_text);return this.m_velayermanager.ImportModelLayer(a,c,d,b,e)};VEMap.prototype.SetInfoBoxStyles=function(a){window.ero.setClasses(a)};VEMap.prototype.ClearInfoBoxStyles=function(){window.ero.setClasses(_VECustomInfoBox)};VEMap.prototype.SetDefaultInfoBoxStyles=function(){window.ero.setClasses(ERO.DefaultClasses)};VEMap.prototype.ShowInfoBox=function(c,b,d){var l=typeof c=="object"&&c instanceof VEShape;if(!l)return;var k=c._shplayer==null||c._shplayer._mapGuid==null;if(k)return;var h=null,e=null,g=null;if(typeof b=="object")if(b instanceof VELatLong){var i=new _xy1;b=i.Decode(b);e=b.Latitude;g=b.Longitude}else if(b instanceof VEPixel)if(!isNaN(b.x)&&!isNaN(b.y))h=b;if(e==null&&h==null){var f=c.Primitives[0];if(f.type==VEShapeType.Pushpin){e=f.points[1];g=f.points[0]}else{e=f.labelPosY;g=f.labelPosX}}var m=Msn.Drawing.GetLabelUID(c.Primitives[0].iid),a=null;if(e!=null){a=this.vemapcontrol.LatLongToPixel(new Msn.VE.LatLong(e,g),this.vemapcontrol.GetZoomLevel());if(a==null)a=new VEPixel(0,0)}else a=h;var j=typeof d=="object"&&d instanceof VEPixel;if(j)if(!isNaN(d.x)&&!isNaN(d.y)){a.x+=d.x;a.y+=d.y}if(a.x<0||a.x>this.GetWidth()||a.y<0||a.y>this.GetHeight())if(b instanceof VELatLong)throw new VEException("VEMap:ShowInfoBox","L_invalidargument_text",L_invalidargument_text.replace("%1","veAnchor").replace("%2","VELatLong"));else if(b instanceof VEPixel)throw new VEException("VEMap:ShowInfoBox","L_invalidargument_text",L_invalidargument_text.replace("%1","veAnchor").replace("%2","VEPixel"));else return;a.x+=this.GetLeft();a.y+=this.GetTop();VEShowVEShapeERO(m,this.GUID,null,c,a.x,a.y)};VEMap.prototype.HideInfoBox=function(){VEHideVEShapeERO(true)};VEMap.prototype.CloneShape=function(a){VEValidator.ValidateObject(a,"_veshape",VEShape,"VEShape");var c=this.m_velayermanager.VE_LayerManager,b=c.CloneAnnotation(a);return b};VEMap.prototype.AddShape=function(b){var a=this.m_velayermanager.VE_LayerManager.GetCollectionByIndex(0);a._mapGuid=this.GUID;a.AddShape(b)};VEMap.prototype.DeleteShape=function(a){VEValidator.ValidateObject(a,"_veshape",VEShape,"VEShape");if(a._shplayer)a._shplayer.DeleteShape(a)};VEMap.prototype.GetShapeByID=function(a){if(typeof a=="undefined"||a==null||a=="")return null;var b=this.m_velayermanager.VE_LayerManager,c=b.GetAnnotationById(a);return c};VEMap.prototype.AddShapeLayer=function(a,c){VEValidator.ValidateObject(a,"shpLyr",VEShapeLayer,"VEShapeLayer");if(a._mapGuid!=null)throw new VEException("VEMap:AddLayer","err_invalidlayertype",L_invalidlayertype_text);a._mapGuid=this.GUID;var d=this.m_velayermanager.VE_LayerManager;d.AddCollection(null,a);if(!a.GetVisibility())return;if(typeof c!="undefined"&&c==true){var b=a.GetBoundingBox(),e=[new Msn.VE.LatLong(b.y1,b.x1),new Msn.VE.LatLong(b.y2,b.x2)];this.vemapcontrol.SetBestMapView(e)}this.m_vegraphicsmanager.DrawLayer(a)};VEMap.prototype.DeleteShapeLayer=function(a){VEValidator.ValidateObject(a,"shpLyr",VEShapeLayer,"VEShapeLayer");try{a._clusteringAlgorithm=null;a.DeleteAllShapes();a.DeleteClusterLayer();this.m_velayermanager.VE_LayerManager.RemoveCollection(a)}catch(b){}};VEMap.prototype.DeleteAllShapeLayers=function(){try{this.DeleteAllShapes();var d=[],c=this.GetShapeLayerCount();for(var a=0;a0){var d=c.GetBoundingBox(),h=[new Msn.VE.LatLong(d.y1,d.x1),new Msn.VE.LatLong(d.y2,d.x2)];a.m_vemapcontrol.SetBestMapView(h)}a.m_vemap.m_vegraphicsmanager.DrawLayer(c)}if(typeof c.Spec.FnCallback=="function")c.Spec.FnCallback(c)};this.RetrieveImportedCallback=function(a,b){var c=parseInt(a);if(isNaN(c))this.RetrieveCollectionCallback(a,b)};this.RetrieveCollectionCallback=function(f,g){var h=d(f),b=a.VE_LayerManager.RetrieveCollectionById(g);if(!b)return;b.Spec.Success=true;var e=new VE_MapRequestBean(MC_ACTION_RETRIEVE_COLLECTION);VE_MapCmlReader.ExtractCollections(e,h,this.VE_LayerManager);if(b.GetVisibility()){if(b.Spec.SetsBestMapView&&b.GetShapeCount()>0){var c=b.GetBoundingBox(),i=[new Msn.VE.LatLong(c.y1,c.x1),new Msn.VE.LatLong(c.y2,c.x2)];a.m_vemapcontrol.SetBestMapView(i)}a.m_vemap.m_vegraphicsmanager.DrawLayer(b)}if(b.Spec.FnCallback!=null&&b.Spec.FnCallback!="undefined")b.Spec.FnCallback(b)};this.RetrieveAllAnnotationsCallback=function(){}}VELayerManager.prototype.Dispose=function(){this.m_vemap.m_vegraphicsmanager.ClearAll();this.VE_LayerManager.DeleteAll();this.m_vemapcontrol=null;this.m_vemap=null;this.m_veLatLongDecoder=null;this.m_spec=null;this.VE_LayerManager.Dispose();this.VE_LayerManager=null};VELayerManager.prototype.ShowAllLayers=function(){this.VE_LayerManager.SetVisibility(true);var b=[],e=this.VE_LayerManager.GetCollectionCount();for(var c=0;c0){var a=d.GetBoundingBox();if(a!=null){b.push(new Msn.VE.LatLong(a.y1,a.x1));b.push(new Msn.VE.LatLong(a.y2,a.x2))}}}if(b.length>=2)this.m_vemapcontrol.SetBestMapView(b);this.m_vemap.m_vegraphicsmanager.DrawAll()};function _VEAPIOnImportLayerDataCallback(h,a){try{if(typeof a=="string"&&a.length>2){var g=a.length,c=a.indexOf("_");if(c<0||c>g-2)return;var f=a.substring(0,c),e=a.substring(c+1),d=VEMap._GetMapFromGUID(f)._lm,b=d.VE_LayerManager.RetrieveCollectionById(e);if(!b.Spec.Success)if(typeof b.Spec.FnCallback=="function")b.Spec.FnCallback(b,L_loadxml_text);else d.m_vemap.ShowMessage(L_loadxml_text)}}catch(i){throw i;return}}function VECreateVEShapeERO(b,d){if(b._IconContent==null){var a=[],f=b.GetPrimitive(0),e=f.iid;if(f.type!=VEShapeType.Pushpin)e=Msn.Drawing.GetLabelUID(e);var c=b._customIcon;if(c==null)c=b.IconUrl;if(c.indexOf("<")<0)c='';a.push("
");a.push(c);a.push("
");b._IconContent=a.join("")}return b._IconContent}function VEDragVEShapeDown(f,e){var a=GetVEMapInstance(e);if(a==null)return;if(a.m_velayermanager==null)return;var b=a.m_velayermanager.VE_LayerManager;if(!b)return;annotation=b.GetAnnotationById(f);if(!annotation)return;if(annotation.Draggable){if(typeof annotation.onstartdrag=="function")annotation.onstartdrag(new ShapeDragEventArgs(annotation,annotation.GetIconAnchor()));function c(c){var b=a.PixelToLatLong(new VEPixel(c.mapX,c.mapY));if(typeof annotation.ondrag!="function"||!(annotation.ondrag(new ShapeDragEventArgs(annotation,b))==true))annotation.SetIconAnchor(b);return true}function d(){a.DetachEvent("onmousemove",c);a.DetachEvent("onmouseup",d);if(typeof annotation.onenddrag=="function")annotation.onenddrag(new ShapeDragEventArgs(annotation,annotation.GetIconAnchor()))}a.AttachEvent("onmousemove",c);a.AttachEvent("onmouseup",d)}}function VEShowVEShapeERO(m,q,h,p,f,g){var j=GetVEMapInstance(q);if(j==null)return;var a=null,s=null,r=null;if(typeof p=="object")a=p;else{if(j.m_velayermanager==null)return;var k=null;k=j.m_velayermanager.VE_LayerManager;if(!k)return;a=k.GetAnnotationById(m);if(!a)return}if(!a._eroContent){var l=false,e=a.Title,d=a.Notes,n=IOSec.GetValidatedUrl(a.Url),i=IOSec.GetValidatedUrl(a.PhotoUrl);r=a.Latitude;s=a.Longitude;var c="";if(typeof i=="string"&&i.length>1){c=c.concat('");c=c.concat('')}e=c.concat(e);if(typeof n=="string"&&n.length>0)d=d.concat("

. . .

');var b=[];b.push("

");if(e.length>0){b.push('

');b.push(unescape(e));b.push("
");l=true}if(d.length>0){b.push('
');b.push(unescape(d));b.push("
");l=true}if(!document.all&&(e.length==0||d.length==0))b.push("

");b.push("

");if(l)a._eroContent=b.join("");else a._eroContent=""}eroContent=a._eroContent;if(eroContent.length>0){window.ero.setContent(eroContent);if(j.GetMapMode()==Msn.VE.MapActionMode.Mode2D)if(typeof f=="number"&&typeof g=="number"){var h=new Msn.VE.Geometry.Rectangle(new Msn.VE.Geometry.Point(f,g),new Msn.VE.Geometry.Point(f,g));window.ero.dockToRect(h,null,-1)}else{var o=$ID(m);if(o!=null&&o!="undefined"){window.ero.setBoundingArea(null);window.ero.getBoundingArea().move(Gimme.Screen.getScrollPosition());window.ero.dockToElement(o)}}else{if(typeof h=="undefined"||h==null)h=new Msn.VE.Geometry.Rectangle(new Msn.VE.Geometry.Point(f,g),new Msn.VE.Geometry.Point(f,g));ero.setGlitz(false,false,false,true);window.ero.dockToRect(h,null,-1)}}}function VEHideVEShapeERO(a){if(window.ero!=null){if(a=="undefined"||a==null)a=false;window.ero.hide(a)}}var _VECustomInfoBox={ContainerNoBeak:"customInfoBox-noBeak",ContainerRightBeak:"customInfoBox-with-rightBeak",ContainerLeftBeak:"customInfoBox-with-leftBeak",Beak:"customInfoBox-beak",Shadow:"customInfoBox-shadow",Body:"customInfoBox-body",Actions:"customInfoBox-actions",ActionsBackground:"customInfoBox-actionsBackground",PreviewArea:"customInfoBox-previewArea",PaddingHack:"customInfoBox-paddingHack",ProgressAnimation:"customInfoBox-progressAnimation"};function VE_GetGeoCommunityUrl(a){if(a)return MC_GEOCOMMUNITY_SERVICEURL;else return "GeoCommunity.asjx"}function VE_IsLargeData(a){if(a.length>MC_GEOCOMMUNITY_SIZELIMIT-2048)return true;return false}var MC_GEOCOMMUNITY_SIZELIMIT=204800,MC_GEOCOMMUNITY_SERVICEURL="GeoCommunity.asjx",MC_VESHAPE_EMPTY=-1777,MC_VIEW_BUFFER=1,MC_STYLE_PINZIndex=300,MC_IID_NAMESPACE="msftve",MC_IID_CON_TOKEN="_",MC_GEO_TYPE_MULTIGEOMETRY="Multigeometry",MC_GEO_TYPE_FREEHAND="Freehand",MC_STYLE_FILL_COLOR="fillcolor",MC_STYLE_STROKE_COLOR="strokecolor",MC_STYLE_STROKE_WEIGHT="strokeweight",MC_STYLE_STROKE_STYLE="stroke-style",MC_STYLE_STROKE_DASH="stroke-dashstyle",MC_STYLE_FONT_COLOR="font_color",MC_STYLE_STROKE_ARROW="stroke_arrow",MC_STYLE_FONT_ITALIC="font_italic",MC_STYLE_FONT_UNDERSCORE="font_underscore",MC_STYLE_FONT_BOLD="font_bold",STATE_DEFAULT=0,STATE_DRAWING=1,STATE_EDITING=2,MC_DRAW_DEFAULT=100,MC_DRAW_POINT=101,MC_DRAW_POLYLINE=102,MC_DRAW_POLYGON=103,MC_DRAW_RECT=104,MC_DRAW_CIRCLE=105,MC_DRAW_TEXT=1065,MC_DRAW_MODEL=1066,MC_EDIT_ADDNODE=107,MC_EDIT_DELNODE=108,MC_EDIT_MOVENODE=108,MC_EDIT_SELNODE=109,MC_EDIT_SELEDGE=110,MC_EDIT_CONTINUELINE=111,MC_LABEL_VIEWER="viewer",MC_PROPERTY_DEFAULT=0,MC_PROPERTY_HIGHWAY=1,MC_PROPERTY_ROAD=2,MC_PROPERTY_LAKE=3,MC_PROPERTY_PARK=4,MC_PROPERTY_PARKINGLOT=5,MC_PROPERTY_PUSHPIN=6,MC_PROPERTY_TEMPDRAW=7,MC_PROPERTY_TEMPEDIT=8,MC_PROPERTY_EDITNODE=10,MC_PROPERTY_EDITSELNODE=11,MC_PROPERTY_GHOSTNODE=12,MC_NUMBERFORMAT_NUMBEROFDIGITSAFTERDOT=2,MC_NUMBERFORMAT_ZEROSTRING="0",MC_DECIMALROUNDOFF_THRESHOLD=100,MC_CML_ENTITY_NAME="Entity",MC_CML_ENTITY_PRIMITIVES="Primitives",MC_CML_ENTITY_PRIMITIVE="Primitive",MC_CML_ENTITY_COORDINATES="coordinates",MC_CML_DESCRIPTION="Description",MC_CML_TAGS="Tags",MC_CML_VIEWPORT="ViewPort",MC_CML_TOUR="Tour",MC_CML_PITCH="pitch",MC_CML_HEADING="heading",MC_CML_MAPSTYLE="mapstyle",MC_CML_SCENEID="sceneId",MC_CML_ACTIONS="Actions",MC_CML_ACTION="Action",MC_CML_MODELREP="ModelRep",MC_CML_TRANSFORM="transform",MC_CML_MODELREFID="modelRefId",MC_CML_ENTITY_TYPE_PUSHPIN="pushpin",MC_CML_PROPERTYS="Properties",MC_CML_PROPERTY="Property",MC_CML_MINBOUNDS="minbounds",MC_CML_MAXBOUNDS="maxbounds",MC_CML_R2EOFFSET="r2eoffset",MC_CML_PHOTOS="Photos",MC_CML_PHOTO="Photo",MC_CML_PREAUTHURL="PreAuthUrl",MC_CML_PUBLISHER="publisher",MC_CML_PROPERTY_ROUTABLELATITUDE="RoutableLatitude",MC_CML_PROPERTY_ROUTABLELONGITUDE="RoutableLongitude",MC_CML_PROPERTY_ICONURL="iconurl",MC_CML_PROPERTY_KEYWORDS="keywords",MC_CML_PROPERTY_URL="url",MC_CML_PROPERTY_PHOTOURL="photourl",MC_CML_PROPERTY_USERDATE="userdate",MC_CML_PROPERTY_DISPLAYORDER="displayorder",MC_CML_PROPERTY_BUSINESSLISTINGID="businesslistingid",MC_CML_PROPERTY_MAPSERVICETYPE="mapserviceType",MC_CML_PROPERTY_MAPSERVICESOURCE="mapserviceSource",MC_CML_PROPERTY_MAPSERVICEOPACITY="mapserviceOpacity",MC_CML_PROPERTY_MAPSERVICEMETADATA="mapserviceMetadata",MC_CML_PROPERTY_MAPSERVICESTATUS="mapserviceStatus",MC_CML_PROPERTY_SOURCEURL="sourceurl",MC_CML_PROPERTY_SOURCETYPE="sourcetype",MC_CML_TILEID="tileId",MC_CML_PROPERTY_TYPE="type",MC_CML_LASTMODIFIED="DateModified",MC_CML_DATECREATED="DateCreated",MC_CML_ROOT="CML",MC_CML_SEPERT="/",MC_CML_TOKEN=",",MC_CML_VERSION="0.1",MC_CML_ID="id",MC_CML_IID="clientid",MC_CML_NAME="name",MC_CML_CULTURE="culture",MC_CML_SHARELEVEL="Sharelevel",MC_CML_STATE="State",MC_CML_STATE_PUBLIC_CAN_VIEW=1,MC_CML_STATE_OWNER_CAN_VIEW=2,MC_CML_STATE_OWNER_CAN_UPDATE=4,MC_CML_STATE_OWNER_IS_VIEWING=8,MC_CML_TYPE="Type",MC_CML_Add="Add",MC_CML_EXTRUSION="Extrusion",MC_CML_VISIBILITY="visibility",MC_CML_DISPLAYORDER="displayorder",MC_CML_DEFAULTSTYLE="DefaultStyle",MC_CML_LABELSTYLE="LabelStyle",MC_CML_POSITION="Position",MC_CML_STYLE="Style",MC_CML_FILLSYMBOL="Fill",MC_CML_SHAPESYMBOL="Shape",MC_CML_STYLESYMBOL="Style",MC_CML_STROKESYMBOL="Stroke",MC_CML_SHADOWSYMBOL="Shadow",MC_CML_IMAGEDATASYMBOL="Imagedata",MC_CML_ZOOMLEVEL="zoomlevel",MC_CML_ONSCRATCHPAD="onScratchpad",MC_CML_TOKEN1=",",MC_CML_TOKEN2=":",MC_CML_TOKEN3=";",MC_CML_CONTENTS="Contents",MC_CML_CONTENT="Content",MC_CML_SIMPLEHTML="SimpleHTML",MC_CML_GLINK="glink",MC_CML_COLLECTIONS="Collections",MC_CML_COLLECTION="Collection",MC_CML_ENTITY="Entity",MC_CML_MULTIGEOMETRY="MultiGeometry",MC_CML_POLYGON="Polygon",MC_CML_OUTLS="outerBoundaryIs",MC_CML_ITLS="interBoundaryIs",MC_CML_LINEARSTRING="LinearRing",MC_CML_POLYLINE="LineString",MC_CML_LENGTH="length",MC_CML_AREA="area",MC_CML_HREF="href",MC_CML_POINT="Point",MC_CML_COORDS="coordinates",MC_CML_ALTITUDE="altitudes",MC_CML_ALTITUDEMODE="altitudemode",MC_CML_ALTGROUND="Ground",MC_CML_ALTDATUM="Datum",MC_CML_EXTRUDE="extruded",MC_CML_KEY="key",MC_CML_VALUE="value",MC_CML_CLIENTDATA="ClientData",MC_CML_EXCOL_PREFIX="E*",MC_CML_IMPORT_DATAURL="mapurl",MC_CML_IMPORT_SAVESTATUS="saveimport",MC_CML_IMPORT_COLNAME="colname",MC_CML_IMPORT_REPORT="importreport",MC_CML_IMPORT_FILEUPLOAD="fileupload",MC_CML_CID_LIST="cids",MC_ACTION_IMPORT_COLLECTION="ImportCol",MC_ACTION_IMPORT_ENTITY="ImportEntity",MC_ACTION_CLONE_ENTITY="CloneEntity",MC_ACTION_CREATE_COLLECTION="CreateCollection",MC_ACTION_UPDATE_COLLECTION="UpdateCollection",MC_ACTION_DELETE_COLLECTION="DeleteCollection",MC_ACTION_CLEAR_COLLECTION="ClearCollection",MC_ACTION_RETRIEVE_ALLCOLLECTIONS="RetrieveAllCollections",MC_ACTION_RETRIEVE_ALLCOLLECTIONS_METADATA="RetrieveAllCollectionsMetadata",MC_ACTION_RETRIEVE_COLLECTION="RetrieveCollection",MC_ACTION_RETRIEVE_SHAREDCOLLECTION="RetrieveSharedCollection",MC_ACTION_DELETE_ENTITY="DeleteEntity",MC_ACTION_ADD_ENTITY="AddEntity",MC_FCCALLBACK="fncallback",MC_ACTION_REPAINT="Repaint",MC_ACTION_CREATE_PHOTO="CreatePhoto",MC_ACTION_DELETE_PHOTO="DeletePhoto",MC_CHANGE_STATE_UPDATE=1,MC_CHANGE_STATE_DELETE=2,MC_CHANGE_STATE_CREATE=3,MC_CHANGE_STATE_CLONE=4,MC_CHANGE_STATE_MOVE=5,MC_CHANGE_STATE_DEFAULT=0,MC_CHANGE_TYPE_METADATA=1,MC_CHANGE_TYPE_CHILDREN=2,MC_CHANGE_TYPE_ALL=3,MC_MAPSERVICE_STATUS_NONE=0,MC_MAPSERVICE_STATUS_ERROR=1,MC_MAPSERVICE_STATUS_READY=2,MC_MAPSERVICE_STATUS_FETCH=3,MC_MAPSERVICE_ARG_SERVICETYPE="svc",MC_MAPSERVICE_ARG_COLLECTIONID="cid",MC_MAPSERVICE_ARG_ENTITYID="eid",MC_COLLECTION_SIGNIN_SIZE=2048,MC_MAXSHAPEPOINTS_IN_EMAIL=200,MC_MAX_EMAIL_LINK_LEN=1800,MC_MIN_EMAIL_NOTES_LEN=100,MC_MAX_DRILL_SIZE=200,MC_TIMER_KEEPTRYING="keeptrying",MC_TIMER_MINDELAY=0,MC_TIMER_DELAY=3000,MC_TIMER_REPEAT_DELAY=3000,MC_TIMER_NOW=10,MC_TIMER_EXTENDDELAY=5000,MC_TIMER_EXTENDDELAY_CN=100000,MC_REQUEST_QUEUE_MAXSIZE=20,MC_TIMER_VALUE="DELAYVALUE",MC_UPLOAD_TIMEOUT=90000,MC_KVP_COLLIST="COLLIST",MC_KVP_COL_MSNID="COL_MSNID",MC_KVP_COL_MSNID2="COL_MSNID2",MC_KVP_COL="COL",MC_KVP_COL_CLIENTDATA="COL_CLIENTDATA",MC_KVP_ENTITY_MSNID="ENTITY_MSNID",MC_KVP_ENTITYLIST="ENTITYLIST",MC_KVP_ENTITY="ENTITY",MC_KVP_SERVER_STATUS="req_status",MC_KVP_SETBESTMAPVIEW="set_best_view",MC_KVP_VIEWTOUR="view_tour",MC_KVP_CML="CML",MC_COLLECTIONLIST_UL_ID="sp_collection_list",MC_SCRATCHPADITEM_LI_SUFFIX="_li",MC_SCRATCHPADITEM_MEASURE_SUFFIX="_m",MC_SIGNIN="Signin",MC_SCRATCHPAD_DRAGCURSOR="move",MC_SCRATCHPAD_DRAGGEDSTYLE="DraggedLI",MC_SCRATCHPAD_COLLECTIONLISTDIV_ID="scratchPadCollectionListWrapper",MC_SCRATCHPAD_WRAPLEN_TITLE=22,MC_SCRATCHPAD_WRAPLEN_DESC=26,MC_CV_WRAPLEN_COLLECTIONDESC=28,MC_CV_WRAPLEN_TITLE=22,MC_CV_WRAPLEN_DESC=22,MC_ERO_WRAPLEN_TITLE=22,MC_ERO_WRAPLEN_DESC=28,MC_SERVER_STATUS_NO_ACCESS="not authorized",MC_SERVER_STATUS_BUSY="server busy",MC_SERVER_STATUS_OK="200",MC_SERVER_STATUS_STORE_ERROR="570",MC_SERVER_STATUS_NAMEEXIST_ERROR="571",MC_SERVER_STATUS_QUOTA_ERROR="572",MC_SERVER_STATUS_UNEXPECTED_ERROR="500",MC_SERVER_STATUS_ACCESSDENIED_ERROR="403",MC_SERVER_STATUS_CONTAINSSENSITIVEWORDS_ERROR="581",MC_COL_TYPE_FAVORITE=1,MC_COL_TYPE_COLLECTION=0,MC_COL_TYPE_RESULT=2,MC_COL_TYPE_TRAFFIC=3,MC_COL_TYPE_DRIVING=4,MC_COL_TYPE_RSSFEED=5,MC_COL_TYPE_TILEIMAGE=6,MC_DS_MSN_CML=0,MC_DS_FILE_CML=1,MC_DS_MSN_VEML=2,MC_MAX_LOADED_COLS=2,MC_MAX_COL_SIZE=200,cssCursors,MC_SA_NEWCOL="newcol",MC_SA_IMPORT="import",MC_SA_UPLOADPHOTO="uploadphoto",MC_SA_REFRESH="forcedrefresh";function VE_MapStruct(){}VE_MapStruct.PushpinType={ViewerClass:"VE_Community_searchResult",PushpinClass:"VE_Pushpin",Token:" ",PushpinAn:"VE_Pushpin VE_Pushpin_aN",Polyline:"VE_Pushpin VE_Pushpin_Polyline",Polygon:"VE_Pushpin VE_Pushpin_Polygon",Model:"VE_Pushpin VE_Pushpin_Model_viewer",Overlay:"VE_Pushpin VE_Pushpin_Overlay",PushpinViewer:"VE_Pushpin_viewer",PolylineViewer:"VE_Pushpin_Polyline_viewer",PolygonViewer:"VE_Pushpin_Polygon_viewer",ModelViewer:"VE_Pushpin_Model_viewer",OverlayViewer:"VE_Pushpin_Overlay_viewer",PushpinViewerTopMost:"VE_Pushpin_viewer topMost",PolylineViewerTopMost:"VE_Pushpin_Polyline_viewer polytopMost",PolygonViewerTopMost:"VE_Pushpin_Polyline_viewer polytopMost",ModelViewerTopMost:"VE_Pushpin_Model_viewer polytopMost",OverlayViewerTopMost:"VE_Pushpin_Overlay_viewer polytopMost",SearchResults:"searchResults"};VE_MapStruct.PushpinSize={WidthaN:22,HeightaN:17,WidthShp:22,HeightShp:-17,WidthLbl:-29,HeightLbl:-17,WidthView:22,HeightView:17,WidthShpView:22,HeightShpView:-17};_VERegisterNamespaces("Msn.VE.Core");Msn.VE.Core.Layer=function(){this.iid=null;this.MsnId=null;this.Name="unsaved collection";this.Type=0;this.Visibility=true;this.Boundingbox=null;this.MaxScale=21;this.MinScale=1;this.Spec=null};Msn.VE.Core.Layer.prototype.SetMsnId=function(a){this.MsnId=a};Msn.VE.Core.Layer.prototype.GetMsnId=function(){return this.MsnId};Msn.VE.Core.Layer.prototype.SetId=function(a){this.iid=a};Msn.VE.Core.Layer.prototype.GetId=function(){return this.iid};Msn.VE.Core.Layer.prototype.SetName=function(a){this.Name=a};Msn.VE.Core.Layer.prototype.GetName=function(){return this.Name};Msn.VE.Core.Layer.prototype.SetType=function(a){this.Type=a};Msn.VE.Core.Layer.prototype.GetType=function(){return this.Type};Msn.VE.Core.Layer.prototype.SetVisibility=function(a){this.Visibility=a};Msn.VE.Core.Layer.prototype.GetVisibility=function(){return this.Visibility};Msn.VE.Core.Layer.prototype.SetMaxZoomLevel=function(a){this.MaxScale=a};Msn.VE.Core.Layer.prototype.GetMaxZoomLevel=function(){return this.MaxScale};Msn.VE.Core.Layer.prototype.SetMinZoomLevel=function(a){this.MinScale=a};Msn.VE.Core.Layer.prototype.GetMinZoomLevel=function(){return this.MinScale};Msn.VE.Core.Layer.prototype.SetBoundingBox=function(f,e,c,d,a,b){if(!this.Boundingbox){if(c==null||d==null||a==null||b==null)return null;this.Boundingbox=new Msn.VE.Bounds(f,e,c,d,a,b)}else{this.Boundingbox.x1=c;this.Boundingbox.y1=d;this.Boundingbox.z1=f;this.Boundingbox.x2=a;this.Boundingbox.y2=b;this.Boundingbox.z2=e}return this.Boundingbox};Msn.VE.Core.Layer.prototype.GetBoundingBox=function(){if(typeof this.Boundingbox=="undefined"||!this.Boundingbox)this.Boundingbox=new Msn.VE.Bounds(0,0,Infinity,Infinity,-Infinity,-Infinity);return this.Boundingbox};Msn.VE.Core.VectorLayer=function(){};Msn.VE.Core.VectorLayer.prototype=new Msn.VE.Core.Layer;Msn.VE.Core.RasterLayer=function(){};Msn.VE.Core.RasterLayer.prototype=new Msn.VE.Core.Layer;function VELatLong(b,a,c,d){this.Latitude=null;this.Longitude=null;this.Altitude=null;this.AltitudeMode=null;this._reserved=null;if(b!=null){VEValidator.ValidateFloat(b,"latitude");this.Latitude=b}if(a!=null){VEValidator.ValidateFloat(a,"longitude");this.Longitude=a}if(c!=null)this.SetAltitude(c,d)}VELatLong.prototype.SetAltitude=function(b,a){VEValidator.ValidateFloat(b,"altitude");this.Altitude=b;if(a!=null){VEValidator.ValidateAltitudeMode(a,"altitudeMode");this.AltitudeMode=a}else this.AltitudeMode=VEAltitudeMode.Default};VELatLong.prototype.HasAltitude=function(){return this.Altitude!=null};function Clone(){var a=new VELatLong;a.Latitude=this.Latitude;a.Longitude=this.Longitude;a._reserved=this._reserved;a.Altitude=this.Altitude;a.AltitudeMode=this.AltitudeMode;return a}function toString(){var a="";if(this.Latitude!=null&&this.Longitude!=null)a=this.Latitude+", "+this.Longitude;if(this.Altitude!=null)a+=", "+this.Altitude;return a}VELatLong.prototype.toString=toString;VELatLong.prototype.Clone=Clone;function VELatLongRectangle(d,c,b,a){VEValidator.ValidateObject(d,"topLeftLatLong",VELatLong,"VELatLong");VEValidator.ValidateObject(c,"bottomRightLatLong",VELatLong,"VELatLong");this.TopLeftLatLong=d;this.BottomRightLatLong=c;if(b!=null&&b!="undefined"){VEValidator.ValidateObject(b,"topRightLatLong",VELatLong,"VELatLong");this.TopRightLatLong=b}if(a!=null&&a!="undefined"){VEValidator.ValidateObject(a,"bottomLeftLatLong",VELatLong,"VELatLong");this.BottomLeftLatLong=a}}VEAltitudeMode=new function(){this.Default="Ground";this.Absolute="Datum";this.RelativeToGround="Ground"};function VEValidator(){}VEValidator.ValidateFloat=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateFloat";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","float"));try{if(isNaN(parseFloat(b)))throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","float"));return true}catch(d){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","float"))}};VEValidator.ValidateInt=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateInt";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","int"));try{if(isNaN(parseInt(b))||parseFloat(b)!=parseInt(b))throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","int"));return true}catch(d){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","int"))}};VEValidator.ValidateNonNegativeInt=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null)b=VEValidator.GetCaller(arguments.caller);if(b=="")b="VEValidator.ValidateNonNegativeInt";if(a==null||a=="undefined")throw new VEException(b,"err_invalidargument",L_invalidnonnegativeint_text.replace("%1",c));try{if(isNaN(parseInt(a))||parseFloat(a)!=parseInt(a)||parseInt(a)<0)throw new VEException(b,"err_invalidargument",L_invalidnonnegativeint_text.replace("%1",c));return true}catch(d){throw new VEException(b,"err_invalidargument",L_invalidnonnegativeint_text.replace("%1",c))}};VEValidator.ValidateFunction=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateFunction";if(b==null||typeof b!="function")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","function"))};VEValidator.ValidateNonNull=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateNonNull";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","non null"))};VEValidator.ValidateBetween=function(b,e,d,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateBetween";if(bc)throw new VEException(a,"err_invalidargument",L_invalidbetweenint_text.replace("%1",e).replace("%2",d).replace("%3",c))};VEValidator.ValidateBoolean=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateBoolean";if(b!=true&&b!=false)throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","bool"))};VEValidator.ValidateMapStyle=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null)b=VEValidator.GetCaller(arguments.caller);if(b=="")b="VEValidator.ValidateMapStyle";if(a==null||a=="undefined")throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapStyle"));if(a=="r"||a=="R"||$MVEM.IsEnabled(MapControl.Features.MapStyle.Shaded)&&(a=="s"||a=="S")||$MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)&&(a=="a"||a=="A")||$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)&&(a=="o"||a=="O")||$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)&&(a=="b"||a=="B")||$MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)&&(a=="h"||a=="H"))return true;throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapStyle"))};VEValidator.ValidateClusteringType=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null)b=VEValidator.GetCaller(arguments.caller);if(b=="")b="VEValidator.ValidateClusteringType";if(a==null||a=="undefined")throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ClusteringType"));if(typeof a=="number"&&(a==VEClusteringType.None||a==VEClusteringType.Grid))return true;throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ClusteringType"))};VEValidator.ValidateMapMode=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a="")a="VEValidator.ValidateMapMode";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapMode"));if(b==VEMapMode.Mode2D||$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)&&b==VEMapMode.Mode3D)return true;throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapMode"))};VEValidator.ValidateDistanceUnit=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateDistanceUnit";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDistanceUnit"));if(b==VEDistanceUnit.Miles||b==VEDistanceUnit.Kilometers)return true;throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDistanceUnit"))};VEValidator.ValidateMaxZoom=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateMaxZoom";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ValidateMaxZoom"));if(b<=Msn.VE.API.Globals.vemaxzoom)return true;throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ValidateMaxZoom"))};VEValidator.ValidateLayerType=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null)b=VEValidator.GetCaller(arguments.caller);if(b=="")b="VEValidator.ValidateLayerType";if(a==null||a=="undefined")throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDataType"));if(a==VEDataType.GeoRSS||a==VEDataType.VECollection||a==VEDataType.VETileSource)return true;throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDataType"))};VEValidator.ValidateDashboardSize=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null)b=VEValidator.GetCaller(arguments.caller);if(b=="")b="VEValidator.ValidateDashboardSize";if(a==null||a=="undefined")throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDashboardSize"));if(a==VEDashboardSize.Normal||a==VEDashboardSize.Small||a==VEDashboardSize.Tiny)return true;throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDashboardSize"))};VEValidator.ValidateMiniMapSize=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateMiniMapSize";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEMiniMapSize"));if(b==VEMiniMapSize.Small||b==VEMiniMapSize.Large)return true;throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEMiniMapSize"))};VEValidator.ValidateAltitudeMode=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateAltitudeMode";if(b==null)throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEAltitudeMode"));if(b!=VEAltitudeMode.Absolute&&b!=VEAltitudeMode.RelativeToGround)throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEAltitudeMode"));return true};VEValidator.ValidateObject=function(b,c,e,d){var a="";if(arguments!=null&&arguments.caller!=null)a=VEValidator.GetCaller(arguments.caller);if(a=="")a="VEValidator.ValidateObject";if(b==null||b=="undefined")throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","non null"));if(!(b instanceof e))throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2",d))};VEValidator.ValidateObjectArray=function(a,d,f,e){var b="";if(arguments!=null&&arguments.caller!=null)b=VEValidator.GetCaller(arguments.caller);if(b=="")b="VEValidator.ValidateObject";if(a==null||typeof a=="undefined"||a.length==null||typeof a.length=="undefined")throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",d).replace("%2","array"));for(var c=0;c=a.BottomRightLatLong.Longitude)throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VELatLongRectangle"))};VEValidator.GetCaller=function(){return ""};Msn.VE.Core.MapServiceLayerManager=function(){var a=[],v=200,b=null;MapOverlayNode=function(b,a){this.item=b;this.layers=a};function f(d){if(!d.IsOverlay())return -1;var e=a.length;for(var c=0;c=0;a--){var d=c.layers[a];if(d==null)continue;b.push(d.ID)}if(map.IsModeEnabled(Msn.VE.MapActionMode.Mode3D))r(b);var e=b.length;for(var a=0;a=0;b--){var d=a[b];a.splice(b,1);c(d)}}function o(a,d,b){if(!a.IsOverlay())return;var c=g(a);return i(c,d,b)}function i(c,h,i){if(c==null||c.layers==null||c.layers.length==0)return;var a=[],m=c.layers.length;for(var g=0;gw)i=1;var d=l["maxzoom"];d=d==null||typeof d=="undefined"||d==""?w:parseInt(d);if(d<1||d>w||d100)k=.6;if(k>1)k/=100;var j=g(e),J="{VE_MapServiceLayer:"+e.mapserviceType+":"+e.iid+"}",T=v.length;for(var A=0;A0){var j,o,A,F=l.length;for(j=0;j1){g=c[1];f=c[0];if(a=="georss:line")k=VEShapeType.Polyline;else if(a=="georss:polygon")k=VEShapeType.Polygon}}}else if(a=="gml:name")if(b.firstChild)r=b.firstChild.nodeValue;else r="";else if(a=="gml:description")if(b.firstChild)p=b.firstChild.nodeValue;else p="";else if(a=="gml:Point"||a=="gml:point"||a=="georss:where"&&b.firstChild.nodeName=="gml:Point"){var i=null;if(a=="gml:Point"||a=="gml:point")i=b.childNodes;else i=b.firstChild.childNodes;for(d=0;d1){g=c[1];f=c[0]}}}}else if(a=="gml:pos"||a=="gml:posList"){if(l[j].childNodes[o].firstChild){var n=l[j].childNodes[o].firstChild.nodeValue;c=this.ExtractLatLonPairFromXMLList(n);if(c&&c.length>1){g=c[1];f=c[0];if(a=="gml:posList")k=VEShapeType.Polyline}}}else if(a=="gml:LineString"||a=="georss:where"&&b.firstChild.nodeName=="gml:LineString"){var i=null;if(a=="gml:LineString")i=b.childNodes;else i=b.firstChild.childNodes;k=VEShapeType.Polyline;var x=i.length;for(d=0;d1){g=c[1];f=c[0]}}}}else if(a=="gml:Polygon"||a=="georss:where"&&b.firstChild.nodeName=="gml:Polygon"){var i=null;if(a=="gml:Polygon")i=b.childNodes;else i=b.firstChild.childNodes;k=VEShapeType.Polygon;var x=i.length;for(d=0;d1){g=c[1];f=c[0]}}}}}}}if(g==null||g=="undefined"||g.length<=0||f==null||f=="undefined"||f.length<=0)continue;if(q.Spec.IconUrl!=null&&q.Spec.IconUrl!="undefined")m=q.Spec.IconUrl;if(m==null||m=="undefined"||m.length<=0)m=Msn.VE.API.Constants.iconurl;var D=p;try{var s=null;if(k==VEShapeType.Pushpin)if(g!=null&&f!=null)s=new Msn.Drawing.Point(f,g);else continue;else if(k==VEShapeType.Polyline){if(c.length<4)continue;s=new Msn.Drawing.PolyLine(c)}else if(k==VEShapeType.Polygon){if(c.length<8)continue;s=new Msn.Drawing.Polygon(c)}var h;if(Msn.VE.API!=null){var w=s.points,x=w.length,B=[];for(var d=0;d0)C=true;return C};Msn.Drawing.MapGeoRssReader.prototype.ExtractLatLonPairFromXMLList=function(a){a=a.replace(/^\s+/g,"");a=a.replace(/\s+$/g,"");var b=[];if(a.indexOf(",")>0)b=a.split(",");else{a=a.replace(/\s+/g," ");b=a.split(" ")}var d=b.length;if(d/2!=Math.round(d/2))return null;for(var c=0;c0)VE_MapOverlays.ExtractEntityOverlay(g,j.childNodes[0],e,c);break}}return}var h;if(g==MC_ACTION_CREATE_COLLECTION||g==MC_ACTION_IMPORT_ENTITY||g==MC_ACTION_IMPORT_COLLECTION)h=o.GetAnnotationByMsnId(c,m,r);else h=o.GetAnnotationByMsnId(c,m);var a=h[1];if(h[0])return;if(l&&l!="")a.SetType(l);if(k&&k!="")a.Title=k;if(s&&s!="")a.SetVisibility(false);var b=null,v=null,u=d.childNodes.length;for(var n=0;n/gi,"\n");break;case MC_CML_ENTITY_PRIMITIVES:var q=VE_MapCmlReader.ExtractPrimitives(b);if(q){a.ClearAllPrimitives();a.SetPrimitives(q)}break;case MC_CML_VIEWPORT:a.ViewPort=VE_MapCmlReader.ExtractViewPort(b);break;case MC_CML_TOUR:a.Tour=VE_MapCmlReader.ExtractTour(b);break;case MC_CML_MODELREP:a.ModelRep=VE_MapCmlReader.ExtractModelRep(b);break;case MC_CML_PHOTOS:a.Photos=VE_MapCmlReader.ExtractPhotos(b)}}}if(a.GetPrimitiveCount()==0)VE_MapManager.GetLayerManager().DeleteAnnotationFromCollection(c,a);else if(!h[0])if(Msn.VE.API!=null)c.AddShape(a);else c.AddEntityAnnotation(a);else c.UpdateEntityAnnotation(a);return c};VE_MapCmlReader.ExtractViewPort=function(g){var a=new VE_3DViewPort,f=true,h=g.childNodes.length;for(var e=0;e0){for(var j=0;j0&&c.indexOf("https")<0))a.SetIconUrl(c);break;case MC_CML_PROPERTY_KEYWORDS:a.Keywords=unescape(b);break;case MC_CML_PROPERTY_PHOTOURL:var f=null;f=unescape(b);if(f)a.PhotoUrl=f;break;case MC_CML_PROPERTY_USERDATE:a.UserDate=b;break;case MC_CML_PROPERTY_DISPLAYORDER:a.DisplayOrder=b;break;case MC_CML_PROPERTY_BUSINESSLISTINGID:a.SetBusinessListingId(b);break;case MC_CML_LASTMODIFIED:a.LastModified=b;break;case MC_CML_DISPLAYORDER:a.SetDisplayOrder(b);break;case MC_CML_ZOOMLEVEL:a.SetZoomLevel(b);break;case MC_CML_ONSCRATCHPAD:a.SetOnScratchpad(b);break;case MC_CML_PROPERTY_SOURCEURL:a.SourceUrl=unescape(b);break;case MC_CML_PROPERTY_SOURCETYPE:a.SourceType=b;break;case MC_CML_TILEID:a.TileId=b;break;case MC_CML_PROPERTY_MAPSERVICETYPE:a.mapserviceType=b;break;case MC_CML_PROPERTY_MAPSERVICESOURCE:a.mapserviceSource=unescape(b);break;case MC_CML_PROPERTY_MAPSERVICEOPACITY:a.mapserviceOpacity=b;break;case MC_CML_PROPERTY_MAPSERVICEMETADATA:a.mapserviceMetadata=unescape(b);break;case MC_CML_PROPERTY_MAPSERVICESTATUS:a.mapserviceStatus=b}}}return a};VE_MapCmlReader.ExtractPhotos=function(l){var n=[],j=l.childNodes.length;if(j==0)return null;for(var g=0;g1){var h=i[1];if(h){a.labelPosX=h.longitude;a.labelPosY=h.latitude}}}}if(a!=null){if(Msn.VE.API){if(!c)c=VE_GetDefaultAPISymbol(a.type);a.symbol=c}else if(a.type!=VEShapeType.Pushpin)a.symbol=c;g.push(a)}}}if(g.length<1)return null;return g};VE_MapCmlReader.ExtractPolygon=function(c){var a=c.selectSingleNode(MC_CML_OUTLS).selectSingleNode(MC_CML_LINEARSTRING),b=a.selectSingleNode(MC_CML_COORDS);return VE_MapCmlReader.BuildShape(VEShapeType.Polygon,GetXMLText(b),a)};VE_MapCmlReader.ExtractPolyLine=function(a){var b=a.selectSingleNode(MC_CML_COORDS);return VE_MapCmlReader.BuildShape(VEShapeType.Polyline,GetXMLText(b),a)};VE_MapCmlReader.BuildShape=function(c,i,d){var h=null,g=d.selectSingleNode(MC_CML_ALTITUDE);if(g!=null)h=GetXMLText(g);var b=VE_GetLatLongPairsFromString(i,h);if(b==null||b.LonLats==null)return null;var a=null;if(VEShapeType.Polyline==c){a=new Msn.Drawing.PolyLine(b.LonLats);a.iid=Msn.Drawing.GetGeoUID(VEShapeType.Polyline)}else if(VEShapeType.Polygon==c){a=new Msn.Drawing.Polygon(b.LonLats);a.iid=Msn.Drawing.GetGeoUID(VEShapeType.Polygon)}else if(VEShapeType.Pushpin==c){a=new Msn.Drawing.Point(b.LonLats[0],b.LonLats[1]);a.iid=Msn.Drawing.GetGeoUID(VEShapeType.Pushpin)}if(b.Altitudes){var e=d.selectSingleNode(MC_CML_ALTITUDEMODE);if(e!=null)a.altitudeMode=GetXMLText(e);if(VEShapeType.Pushpin==c){a.altitudes=b.Altitudes;return a}else{a.altitudes=b.Altitudes;var f=d.selectSingleNode(MC_CML_EXTRUDE);if(f!=null)if(GetXMLText(f).toLowerCase()=="true")a.extruded=true;a.minZ=b.minZ;a.maxZ=b.maxZ;a.labelPosZ=a.maxZ}}if(VEShapeType.Pushpin!=c){a.minX=b.minX;a.minY=b.minY;a.maxX=b.maxX;a.maxY=b.maxY}return a};VE_MapCmlReader.ExtractPoint=function(a){var b=a.selectSingleNode(MC_CML_COORDS);return VE_MapCmlReader.BuildShape(VEShapeType.Pushpin,GetXMLText(b),a)};VE_MapCmlReader.ExtractStyle=function(i,n){var e=[],a;if(Msn.VE.API)a=VE_GetDefaultAPISymbol(n);else a=VE_MapDispatch_SymbolLib.GetCurrentDefaultSymbol();a=a.Clone();var k=i.childNodes.length,d=null;for(var f=0;f0){for(var d=0;d0?true:false};Msn.Drawing.GetShpElementUIDByLabelUID=function(c){var b="",a=c.split(MC_IID_CON_TOKEN);if(!a||a[0]!=MC_IID_NAMESPACE)return null;b=b.concat(a[0],MC_IID_CON_TOKEN,a[1],MC_IID_CON_TOKEN,a[2],MC_IID_CON_TOKEN,a[3]);return b};Msn.Drawing.GetEntityUIDByPrimitiveUID=function(c){var b="",a=c.split(MC_IID_CON_TOKEN);if(!a||a[0]!=MC_IID_NAMESPACE)return null;b=b.concat(a[0],MC_IID_CON_TOKEN,a[1],MC_IID_CON_TOKEN,a[2]);return b};Msn.Drawing.CreatePointPushpin=function(p,a,r,y,g,m,l,x,h){var d=null,i=r;Msn.Drawing.CalculateLabelPosition(a,false);var u=a.labelPosX?a.labelPosX:a.points[0],t=a.labelPosY?a.labelPosY:a.points[1],s=m?m:22,q=l?l:17,f=a.iid,b=g,n=g&&g.indexOf("VE_Pushpin_Overlay")!=-1;if(a.type==VEShapeType.Pushpin){if(typeof b=="undefined"||!b)b=n?VE_MapStruct.PushpinType.Overlay:VE_MapStruct.PushpinType.PushpinAn}else{f=Msn.Drawing.GetLabelUID(a.iid);if(typeof b=="undefined"||!b)b=VE_MapStruct.PushpinType.Polyline}var o=n?Msn.VE.PushPinTypes.Overlay:Msn.VE.PushPinTypes.Annotation,k=i+"";if(h){b="VEAPI_Pushpin";k=_VE_GetCustomIcon(f+"_img",h,i,false)}d=p.AddPushpin(f,t,u,s,q,b,k,MC_STYLE_PINZIndex,o,true);if(h){var c=$ID(f+"_img");if(c!=null){var w=c.style.height,v=c.style.width;if(isNaN(parseInt(w))||isNaN(parseInt(v))){c.style.height="25px";c.style.width="30px"}if(d!=null){var e=parseInt(d.style.top),j=parseInt(c.style.height);if(isNaN(e))e=j;else e+=j;d.style.top=e+"px"}}}return d};function _VE_GetCustomIcon(i,h,e,f){var g="")}function _VE_OnCustonIconError(a,e){var f=typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null;if(!f&&typeof a!="undefined"){var b=VE_MapManager.GetAnnotationById(a.id);if(b){b.IconUrl=null;var d=VE_MapStruct.PushpinType,c=d.PushpinViewer;if(b.IsOverlay())c=d.OverlayViewer;else if(b.GetType()!=VEShapeType.Pushpin)c=d.PolylineViewer;if(a.parentElement){a.parentElement.className="bullet "+c;a.parentElement.innerText=e;a.parentElement.removeChild(a)}}}}function _VE_ResizeImage(a,c,b){var e=c,d=b;if(a.width>c)d=parseInt(a.height*c/a.width);else if(a.height>b)e=parseInt(a.width*b/a.height);else{e=a.width;d=a.height}a.style.height=d+"px";a.style.width=e+"px";if(a.style.visibility=="hidden")a.style.visibility="visible";return a}function IsPointInPolygon(a,b,e,f,c,d){if(a>c||ad||b0){a=a.parentElement;--b}return a}function VE_ChangeOpacity(b,a){if(typeof Web!="undefined"&&typeof Web.Browser!="undefined"&&typeof Web.Browser.isMozilla=="function"&&Web.Browser.isMozilla())b.style.opacity=a/100;else b.style.filter="alpha(opacity="+a+")"}function VE_SanitizeHTML(b){if(typeof b=="undefined"||!b)return b;var a=document.createElement("div");a.innerHTML=b+" __hack";VE_WalkNode(a,VE_RemoveHarmfulHTML);var c=a.innerHTML;a=null;return c.substring(0,c.length-7)}function VE_RemoveHarmfulHTML(c){if(c==null)return;var e="",a=null,f=[];for(var d=0;c.hasChildNodes()&&d-1?b:0;a.labelPosX=(a.points[2*b]+a.points[2*b+2])/2;a.labelPosY=(a.points[2*b+1]+a.points[2*b+3])/2;if(a.altitudes)a.labelPosZ=Math.max(a.altitudes[b],a.altitudes[b+1])}else if(a.type==VEShapeType.Polygon){var c=a.points.length,d=0,e=0,f=null;if(a.altitudes)f=a.altitudes[0];if(c>=4&&a.points[0]==a.points[c-2]&&a.points[1]==a.points[c-1])c-=2;for(var b=0;bMC_MAX_LOADED_COLS){var c=loadedColIds.shift();c=GetCollectionIndexByMsnId(c);if(c>0){var b=GetCollectionByIndex(c);if(b&&b.GetType()==MC_COL_TYPE_COLLECTION){mvcViewFacade.OnCollectionLayerClear(b);EmptyCollection(b)}}}}};this.AddListener=function(b,a){register.AddListener(b,a)};this.RemoveListener=function(b,a){register.RemoveListener(b,a)};this.Fire=function(b,a){register.Fire(b,a)};function AddCollection(b,a){if(b==0)cols.unshift(a);else cols.push(a);return a}function IsCollectionExist(c){if(cols.length>0)for(var a=0;a0)for(var a=0;a0)for(var b=0;b0)for(var a=0;a0)for(var a=0;a0)for(var b=0;b1){a=cols.pop();EmptyCollection(a)}if(cols.length==1)EmptyCollection(cols[0])}function RemoveCollection(a){EmptyCollection(a);DeleteCollection(a)}function EmptyCollection(a){VE_MapOverlays.DeactivateCollectionOverlays(a);var c=null;if(a.Annotations.length>0)for(var b=0;b0)for(var c=0;cb;--a){cols[c].Annotations[a]=cols[c].Annotations[a-1];d=cols[c].Annotations[a];d.SetDisplayOrder(a+1);d.SetIndex(a);d.SetChangeState(MC_CHANGE_STATE_UPDATE)}cols[c].Annotations[b]=j;d=cols[c].Annotations[b];d.SetDisplayOrder(b+1);d.SetIndex(b);d.SetChangeState(MC_CHANGE_STATE_UPDATE);if(e0){var e=null,f=null;for(var d=0;d0){var c=a.GetPrimitiveCount();if(c<1)return null;for(var b=0;b0)for(var b=0;b=0&&b0&&b){var a=0;while(a0){for(var a=0;ab.x2&&a.y2>b.y2;c.Update(true,this.iid);if(a)if(d){a.x1=Math.min(b.x1,a.x1);a.y1=Math.min(b.y1,a.y1);a.x2=Math.max(b.x2,a.x2);a.y2=Math.max(b.y2,a.y2)}else a=this.UpdateBoundingBox();else a=new Msn.VE.Bounds(0,0,b.x1,b.y1,b.x2,b.y2);this.SetBoundingBox(0,0,a.x1,a.y1,a.x2,a.y2);this._SetTileId();a=null;return c};VEShapeLayer.prototype.UpdateBoundingBox=function(){var h=this.Annotations.length,g=null,a=null,b=Infinity,d=Infinity,c=-Infinity,e=-Infinity;for(var f=0;f0&&aMsn.VE.API.Globals.veshapemaxzoom||aMsn.VE.API.Globals.veshapemaxzoom)throw new VEException("VEShapeLayer.SetMinZoomLevel","err_incorrectzoomlevel",L_Shp_IncorrectZoomLevel_Text);else if(a>this.MaxScale)throw new VEException("VEShapeLayer.SetMinZoomLevel","err_incorrectzoomlevel",L_Shp_IncorrectZoomLevel2_Text);this.MinScale=a;if(this.GetVisibility())this.Show()};VEShapeLayer.prototype.GetMinZoomLevel=function(){return this.MinScale};VEShapeLayer.prototype.IsVisible=function(){return this.GetVisibility()};VEShapeLayer.prototype.SetClusteringConfiguration=function(b,a){if(!this._isClusterLayer){if(a!=null){VEValidator.ValidateObject(a,"clusteringOptions",VEClusteringOptions,"VEClusteringOptions");if(a.Icon!=null)VEValidator.ValidateObject(a.Icon,"clusteringOptions.Icon",VECustomIconSpecification,"VECustomIconSpecification");if(a.Callback!=null)VEValidator.ValidateFunction(a.Callback,"clusteringOptions.Callback")}if(typeof b=="number"){VEValidator.ValidateClusteringType(b,"type");if(b==VEClusteringType.Grid)this._clusteringAlgorithm=GridCluster;else this._clusteringAlgorithm=null}else if(typeof b=="function")this._clusteringAlgorithm=b;else throw new VEException("VEShapeLayer:SetClusteringConfiguration","err_invalidargument",L_invalidargument_text.replace("%1","type").replace("%2","VEClusteringType"));this._clusteringOptions=a;if(this._clusteringAlgorithm==null)this.DeleteClusterLayer();else this.CreateClusterLayer();var c=GetVEMapInstance(this._mapGuid);if(c!=null&&c.m_vegraphicsmanager!=null)if(this._clusterLayer!=null)this.Cluster();else c.m_vegraphicsmanager.DrawLayer(this)}else throw new VEException("VEShapeLayer:SetClusteringConfiguration","err_invalidlayertype",L_InvalidClusterLayer_Text)};VEShapeLayer.prototype.Cluster=function(){if(!this._isClusterLayer&&this._clusterLayer){this._clusterLayer._clusterZoomLevel=null;var a=GetVEMapInstance(this._mapGuid);if(a!=null&&a.m_vegraphicsmanager!=null)a.m_vegraphicsmanager.DrawLayer(this)}};VEShapeLayer.prototype.GetClusteredShapes=function(b){var a=[];VEValidator.ValidateClusteringType(b,"type");switch(b){case VEClusteringType.Grid:a=GridCluster(this)}return a};VEShapeLayer.prototype.CreateClusterLayer=function(){if(!this._isClusterLayer&&!this._clusterLayer){var a=GetVEMapInstance(this._mapGuid);if(a!=null){this._clusterLayer=new VEShapeLayer;this._clusterLayer._isClusterLayer=true;a.AddShapeLayer(this._clusterLayer)}}};VEShapeLayer.prototype.DeleteClusterLayer=function(){if(this._clusterLayer){var a=GetVEMapInstance(this._mapGuid);if(a!=null){a.DeleteShapeLayer(this._clusterLayer);this._clusterLayer=null}}};VEShapeLayer.prototype.ClearClusterLayer=function(){if(this._clusterLayer){this._clusterLayer._clusterZoomLevel=null;this._clusterLayer.DeleteAllShapes()}};function GridCluster(m){var q=[],g=GetVEMapInstance(m._mapGuid);if(g!=null){var b={},d=g.GetZoomLevel(),p=2,r=0;if(g.vemapcontrol.IsMapViewOblique())d+=18;var u=m.Annotations.length;for(var n=0;n1){var h=new VEClusterSpecification;h.Shapes=e;var k=0,l=0,i=false;for(var f=0;f0&&a[0]!=null){this.Keywords=a;this.Keywords[0]=this.Keywords[0].replace(/%0D%0A/g,"\r\n").replace(/%0A/g,"\n")}else this.Keywords=a;this.Url=o;this.PhotoUrl=j;this.UserDate=k;this.BusinessListingId=c;this.IconId=l;this.LastModified=i;this.mapserviceType=h;this.mapserviceSource=f;this.mapserviceOpacity=d};VEShape.prototype.symbolUrl="samplesymbol";VEShape.prototype.GetMsnId=function(){return this.Id};VEShape.prototype.SetMsnId=function(a){this.Id=a};VEShape.prototype.SetBoundingBox=function(f,e,c,d,a,b){if(typeof this.Boundingbox=="undefined"||this.Boundingbox==null){if(c==null||d==null||a==null||b==null)return null;this.Boundingbox=new Msn.VE.Bounds(f,e,c,d,a,b)}else{this.Boundingbox.x1=c;this.Boundingbox.y1=d;this.Boundingbox.z1=f;this.Boundingbox.x2=a;this.Boundingbox.y2=b;this.Boundingbox.z2=e}if(typeof VE_ShapeIndexManager!="undefined")this.TileId=VE_ShapeIndexManager.GetTileId(this.Boundingbox);return this.Boundingbox};VEShape.prototype.GetBoundingBox=function(){if(typeof this.Boundingbox=="undefined"||!this.Boundingbox)this.Boundingbox=new Msn.VE.Bounds(0,0,Infinity,Infinity,-Infinity,-Infinity);return this.Boundingbox};VEShape.prototype.GetCenterPoint=function(){if(!this.GetBoundingBox())return;var a=new Array(2);a[0]=(this.GetBoundingBox().x1+this.GetBoundingBox().x2)/2;a[1]=(this.GetBoundingBox().y1+this.GetBoundingBox().y2)/2;return a};VEShape.prototype.SetId=function(a){this.iid=a};VEShape.prototype.GetId=function(){if(typeof this.iid=="undefined"||this.iid==0||this.iid==null)this.iid=Msn.Drawing.GetGeoUID(MC_GEO_TYPE_ENTITY);return this.iid};VEShape.prototype.SetVisibility=function(a){this.Visibility=a};VEShape.prototype.GetVisibility=function(){if(typeof this.Visibility=="undefined"||typeof this.Visibility=="null")this.Visibility=true;return this.Visibility};VEShape.prototype.SetBusinessListingId=function(a){if(typeof a=="undefined"||a=="null")this.BusinessListingId=0;else this.BusinessListingId=a};VEShape.prototype.GetBusinessListingId=function(){if(typeof this.BusinessListingId=="undefined"||this.BusinessListingId==null||this.BusinessListingId=="null")this.BusinessListingId=0;return this.BusinessListingId};VEShape.prototype.SetType=function(a){this.Type=a};VEShape.prototype.GetType=function(){if(typeof this.Type=="undefined")this.Type="aN";return this.Type};VEShape.prototype.SetSaveStatus=function(a){this.SaveStatus=a};VEShape.prototype.IsSaved=function(){if(typeof this.SaveStatus=="undefined")this.SaveStatus=true;return this.SaveStatus};VEShape.prototype.SetOnScratchpad=function(a){this.OnScratchpad=a};VEShape.prototype.IsOnScratchpad=function(){if(typeof this.OnScratchpad=="undefined")this.OnScratchpad=true;return this.OnScratchpad};VEShape.prototype.SetZoomLevel=function(a){this.ZoomLevel=a};VEShape.prototype.GetZoomLevel=function(){if(typeof this.ZoomLevel=="undefined")this.ZoomLevel=12;return this.ZoomLevel};VEShape.prototype.SetChangeState=function(a){this.ChangeState=a};VEShape.prototype.GetChangeState=function(){if(typeof this.ChangeState=="undefined")this.ChangeState=MC_CHANGE_STATE_DEFAULT;return this.ChangeState};VEShape.prototype.SetChangeType=function(a){this.ChangeType=a};VEShape.prototype.GetChangeType=function(){if(typeof this.ChangeType=="undefined")this.ChangeType=MC_CHANGE_TYPE_ALL;return this.ChangeType};VEShape.prototype.HasAltitude=function(){var a=this.Primitives;if(typeof a=="undefined"||a==null)return false;if(a[0].altitudes==null)return false;else return true};VEShape.prototype.GetPrimitiveCount=function(){if(typeof this.Primitives=="undefined"||this.Primitives==null){this.Primitives=[];return 0}return this.Primitives.length};VEShape.prototype.SetPrimitives=function(a){this.Primitives=a;this.SetType(a[0].type)};VEShape.prototype.GetPrimitives=function(){if(typeof this.Primitives=="undefined"||this.Primitives==null)this.Primitives=[];return this.Primitives};VEShape.prototype.GetPrimitive=function(a){if(typeof this.Primitives=="undefined"||this.Primitives==null||this.Primitives.length==0){this.Primitives=[];return null}if(a",d.points.join(","),"")}var b="",c="";a=a.concat("");a=a.concat(b,this.GetBusinessListingId(),c,b,this.Url,c,b,this.PhotoUrl,c,b,this.Title,c,b,this.Type,c);a=a.concat("");a=a.concat("");return a};function VE_3DViewPort(){this.Latitude=0;this.Longitude=0;this.Altitude=0;this.Altitudemode="Datum";this.Pitch=0;this.Heading=0;this.Mapstyle="r";this.SceneId=0;this.Properties=null}function VE_3DModelRep(){this.Transform=null;this.ModelRefId=null;this.MinBounds=null;this.MaxBounds=null;this.Properties=null;this.R2eoffset=null}function VE_3DModelData(){this.Properties=null;this.Callback=null}function VE_3DTour(){this.Actions=null}function VE_Photo(){this.Id=null;this.Url=null;this.Properties=null}VEShape.prototype.SetPhotos=function(a){this.Photos=a};function _VE_EntityDrawingState(){this.zIndexIcon=null;this.zIndexPolyShape=null;this.minZoomLevel=null;this.maxZoomLevel=null;this.isShared=null;this.parentEl=null;this.text=null}function _VE_CreateServiceInstance(a){switch(a){case _VE_ServiceType.MapCruncher:return new VETileSourceSpecification;default:return null}return null}_VE_ServiceType={MapCruncher:"t",NetworkLink:"n"};VEShape.Decoder=new _xy1;VEShape.LatLongFactory=new VELatLongFactory(new VELatLongFactoryAlwaysEncodeSpec);VEShape.prototype._Construct=function(j,g,e){var a=[],d=[],k=false,f=null;if(typeof g!="undefined"){if(g==MC_VESHAPE_EMPTY&&j){this.maxZoomLevel=Msn.VE.API.Globals.veshapemaxzoom;this.minZoomLevel=Msn.VE.API.Globals.veshapeminzoom;this._eroContent=null;this._shplayer=null;return}}else throw new VEException("VEShape","err_invalidargument",L_invalidargument_text.replace("%1","type").replace("%2","VEShapeType"));if(typeof e=="object")if(typeof e.length=="number"){var l=e.length;for(var h=0;hthis.maxZoomLevel)throw new VEException("VEShape.SetMaxZoomLevel","err_incorrectzoomlevel",L_Shp_IncorrectZoomLevel_Text);else if(athis.maxZoomLevel)throw new VEException("VEShape.SetMinZoomLevel","err_incorrectzoomlevel",L_invalidminmaxzoom_text);this.minZoomLevel=a;if(this.GetVisibility())this.Show()};VEShape.prototype.GetMinZoomLevel=function(){return this.minZoomLevel};VEShape.prototype.GetCustomIcon=function(){var a=null,b=this.Primitives[0].symbol;if(typeof b=="object"&&b.isOn==true){a=new VECustomIconSpecification;a.Image=b.imagedata_src;a.TextBold=b.textbox_bold;a.TextItalics=b.textbox_italic;a.TextUnderline=b.textbox_underscore;a.TextFont=b.textbox_font;a.TextSize=b.textbox_size;a.TextOffset=new VEPixel(b.textbox_OffsetX,b.textbox_OffsetY);a.ImageOffset=new VEPixel(b.img_offsetX,b.img_offsetY);a.CustomHTML=this._customIcon;a.TextContent=this.Primitives[0].name;a.ImageWidth=b.img_width;a.ImageHeight=b.img_height;var e=new VEHexStringToColor,d=b.textbox_color;if(d.indexOf("#")==0)d=d.substring(1);a.ForeColor=e.Convert(d);a.ForeColor.A=b.textbox_color_opacity;var c=b.textbox_backcolor;if(c.indexOf("#")==0)c=c.substring(1);a.BackColor=e.Convert(c);a.BackColor.A=b.textbox_backcolor_opacity}else a=this._customIcon;return a};VEShape.prototype.SetCustomIcon=function(b){if(typeof b=="undefined"||b==null)return null;if(typeof b=="object"){VEValidator.ValidateObject(b,"_content_",VECustomIconSpecification,"VECustomIconSpecification");if(typeof b.TextContent=="string"&&b.TextContent!=null)this.Primitives[0].name=b.TextContent;var a=this.Primitives[0].symbol;if(a.id==MC_PROPERTY_PARK||a.id==MC_PROPERTY_PUSHPIN)a=a.Clone();if(typeof b.Image=="string"&&b.Image!=null)a.imagedata_src=GetImageFullUrl(b.Image);else a.imagedata_src=Msn.VE.API.Constants.iconurl;var e=b.ForeColor;if(typeof e=="object"&&e!=null){VEValidator.ValidateObject(e,"fC",VEColor,"VEColor");a.textbox_color=e.ToHexString();a.textbox_color_opacity=e.A}var d=b.BackColor;if(typeof d=="object"&&d!=null){VEValidator.ValidateObject(d,"bC",VEColor,"VEColor");a.textbox_backcolor=d.ToHexString();a.textbox_backcolor_opacity=d.A}var g=b.TextOffset;if(typeof g=="object"&&g!=null){VEValidator.ValidateObject(g,"tO",VEPixel,"VEPixel");a.textbox_OffsetX=b.TextOffset.x;a.textbox_OffsetY=b.TextOffset.y}var f=b.ImageOffset;if(typeof f=="object"&&f!=null){VEValidator.ValidateObject(f,"iO",VEPixel,"VEPixel");a.img_offsetX=f.x;a.img_offsetY=f.y}if(b.TextBold)a.textbox_bold=true;if(b.TextItalics)a.textbox_italic=true;if(b.TextUnderline)a.textbox_underscore=true;var l=parseInt(b.ImageWidth);if(!isNaN(l))a.img_width=l;var k=parseInt(b.ImageHeight);if(!isNaN(k))a.img_height=k;a.textbox_font=b.TextFont;a.imagedata_on=true;var i=parseInt(b.TextSize);if(!isNaN(i))a.textbox_size=i;a.isOn=true;this.Primitives[0].symbol=a;if(b.CustomHTML!=null)this._customIcon=b.CustomHTML;else if(this.Primitives[0].name){var c=[];c.push("
");c.push("
");c.push(this.Primitives[0].name);c.push("
");c.push(" ');else c.push("/>");c.push("
");this._customIcon=c.join("")}else this._customIcon=a.imagedata_src}else if(typeof b=="string"){this._customIcon=b;if(b.indexOf("<")<0){var a=this.Primitives[0].symbol;if(a.id==MC_PROPERTY_PARK||a.id==MC_PROPERTY_PUSHPIN)a=a.Clone();a.imagedata_src=GetImageFullUrl(b);a.isOn=true;this.Primitives[0].symbol=a}}this._IconContent=null;this.Redraw(false,false,false,true)};VEShape.prototype.GetIconAnchor=function(){if(this.Altitude)return new VELatLong(this.Latitude,this.Longitude,this.Altitude,this.Primitives[0].altitudeMode);else return new VELatLong(this.Latitude,this.Longitude)};VEShape.prototype.SetIconAnchor=function(a){if(this.IsModel())return false;if(a!=null&&a!="undefined"){VEValidator.ValidateObject(a,"veLatlong",VELatLong,"VELatLong");if(a.HasAltitude()&&a.AltitudeMode!=this.Primitives[0].altitudeMode)throw new VEException("VEShape","err_altitudemodemismatch",L_altitudemodemismatch_Text);var b=this.Primitives[0];if(b.type!=VEShapeType.Pushpin){this.Latitude=a.Latitude;this.Longitude=a.Longitude;b.labelPosX=this.Longitude;b.labelPosY=this.Latitude;if(a.HasAltitude()){this.Altitude=a.Altitude;b.labelPosZ=a.Altitude}else{this.Altitude=null;b.labelPosZ=null}}else this.SetPoints(a)}this.Redraw(false,true)};VEShape.prototype.GetCustomInfoBox=function(){return this._eroContent};VEShape.prototype.SetCustomInfoBox=function(a){if(typeof a!="undefined"&&a!=null)this._eroContent=a.replace(/%0D%0A/g,"\r\n").replace(/%0A/g,"\n")};VEShape.prototype.SetZIndex=function(c,b){if(c!=null)VEValidator.ValidateInt(c,"icon");if(b!=null)VEValidator.ValidateInt(b,"polyshape");if(c==null&&b==null)throw new VEException("VEShape.SetZIndex","L_invalidzindex_text",L_invalidzindex_text);var a=this.Primitives[0].symbol;if(a.id==MC_PROPERTY_PARK||a.id==MC_PROPERTY_PUSHPIN)a=a.Clone();if(c!=null)a.style_zIndex=parseInt(c);if(b!=null)a.style_zIndex_polyshape=parseInt(b);this.Primitives[0].symbol=a;this.Redraw(false,false,true,true)};VEShape.prototype.GetZIndex=function(){if(this.Primitives[0].symbol!=null&&this.Primitives[0].symbol.style_zIndex!=null)return this.Primitives[0].symbol.style_zIndex;else return Msn.VE.API.Globals.veshapeiconzindex};VEShape.prototype.GetZIndexPolyShape=function(){if(this.Primitives[0].symbol!=null&&this.Primitives[0].symbol.style_zIndex_polyshape!=null)return this.Primitives[0].symbol.style_zIndex_polyshape;else return Msn.VE.API.Globals.veshapepolyshapezindex};VEShape.prototype.SetLineColor=function(b){if(this.Primitives[0].type==VEShapeType.Pushpin)return false;if(typeof b=="object"&&b!=null){VEValidator.ValidateObject(b,"_color",VEColor,"VEColor");var a=this.Primitives[0].symbol;if(a.id==MC_PROPERTY_PARK||a.id==MC_PROPERTY_PUSHPIN)a=a.Clone();a.stroke_color=b.ToHexString();a.stroke_opacity=b.A;this.Primitives[0].symbol=a;this.Redraw(false,false,true,false)}else if(typeof b!="undefined")throw new VEException("SetLineColor","err_invalidargument",L_invalidargument_text.replace("%1","color").replace("%2","VEColor"))};VEShape.prototype.GetLineColor=function(){if(this.Primitives[0].type==VEShapeType.Pushpin)return null;var c=this.Primitives[0].symbol,e=new VEHexStringToColor,a=c.stroke_color;if(a.indexOf("#")==0)a=a.substring(1);var b=e.Convert(a),d=c.stroke_opacity.toString();if(d.indexOf("%")>0)b.A=parseInt(d)/100;else b.A=c.stroke_opacity;return b};VEShape.prototype.SetFillColor=function(b){if(this.Primitives[0].type==VEShapeType.Pushpin)return false;if(typeof b=="object"&&b!=null){VEValidator.ValidateObject(b,"_color",VEColor,"VEColor");var a=this.Primitives[0].symbol;if(a.id==MC_PROPERTY_PARK||a.id==MC_PROPERTY_PUSHPIN)a=a.Clone();a.fill_color=b.ToHexString();a.fill_opacity=b.A;this.Primitives[0].symbol=a;this.Redraw(false,false,true,false)}else if(typeof b!="undefined")throw new VEException("SetFillColor","err_invalidargument",L_invalidargument_text.replace("%1","color").replace("%2","VEColor"))};VEShape.prototype.GetFillColor=function(){if(this.Primitives[0].type==VEShapeType.Pushpin)return null;var c=this.Primitives[0].symbol,e=new VEHexStringToColor,a=c.fill_color;if(a.indexOf("#")==0)a=a.substring(1);var b=e.Convert(a),d=c.fill_opacity.toString();if(d.indexOf("%")>0)b.A=parseInt(d)/100;else b.A=c.fill_opacity;return b};VEShape.prototype.SetLineWidth=function(c){if(this.Primitives[0].type==VEShapeType.Pushpin)throw new VEException("VEShape.SetLineWidth","err_invalidlinewidth",L_Shp_IncorrectLineWidth_Text);var b=parseInt(c);if(isNaN(b)||b<1)throw new VEException("VEShape.SetLineWidth","err_invalidlinewidth",L_Shp_IncorrectLineWidth_Text);var a=this.Primitives[0].symbol;if(a.id==MC_PROPERTY_PARK||a.id==MC_PROPERTY_PUSHPIN)a=a.Clone();a.stroke_weight=b;this.Primitives[0].symbol=a;this.Redraw(false,false,true,false)};VEShape.prototype.GetLineWidth=function(){if(this.Primitives[0].type==VEShapeType.Pushpin)return null;var a=parseInt(this.Primitives[0].symbol.stroke_weight);if(isNaN(a))return 0;else return a};VEShape.prototype.SetPhotoURL=function(a){this._eroContent=null;this.PhotoUrl=a};VEShape.prototype.GetPhotoURL=function(){return this.PhotoUrl};VEShape.prototype.SetMoreInfoURL=function(a){this._eroContent=null;this.Url=a};VEShape.prototype.GetMoreInfoURL=function(){return this.Url};VEShapeLayer.prototype.GetBoundingRectangle=function(){var a=this.GetBoundingBox();return new VELatLongRectangle(new VELatLong(a.y2,a.x1),new VELatLong(a.y1,a.x2))};VEShape.prototype._OffsetScene=null;VEShape.prototype._OffsetLatLong=null;VEShape.prototype._OffsetPoints=null;VEShape.prototype._OriginalPoints=null;VEShape.prototype._UsingOffset=false;VEShape.prototype.SetUseOffset=function(b){if(this._UsingOffset!=b){this._UsingOffset=b;if(b){if(this._OffsetPoints!=null){var a=[];for(var c=0;c');a.push(VECreateVEShapeERO(this,this._shplayer._mapGuid));a.push("")}return a.join("")};VEShape.prototype._isDrawn=false;VEShape.prototype._isHiddenForZoom=false;VEShape.prototype.GetShapeElement=function(){var a=this.Primitives[0];if(this._isDrawn&&a&&a.type!=VEShapeType.Pushpin){if(a._shapeElement==null)a._shapeElement=$ID(a.iid);return a._shapeElement}return null};VEShape.prototype.GetIconElement=function(){var a=this.Primitives[0];if(this._isDrawn&&a){if(a._iconElement==null)if(a.type==VEShapeType.Pushpin)a._iconElement=$ID(a.iid);else a._iconElement=$ID(Msn.Drawing.GetLabelUID(a.iid));return a._iconElement}return null};VEShape.prototype.ClearDomElements=function(){var a=this.Primitives[0];if(a){a._shapeElement=null;a._iconElement=null}};VEShape.prototype.DisposeEx=function(){this.ClearDomElements();this.Dispose()};VEShape.prototype.Draggable=false;VEShape.prototype.onstartdrag=null;VEShape.prototype.ondrag=null;VEShape.prototype.onenddrag=null;function ShapeDragEventArgs(b,a){this.Shape=b;this.LatLong=a}function VECustomIconSpecification(){this.Image=null;this.TextContent=null;this.CustomHTML=null;this.textFont="Arial";this.TextBold=false;this.TextItalics=false;this.TextUnderline=false;this.TextSize=7;this.ImageOffset=null;this.TextOffset=null;this.ForeColor=null;this.BackColor=null;this.ImageWidth=-1;this.ImageHeight=-1}function VEClusteringOptions(){this.Icon=null;this.Callback=null}VEClusteringType=new function(){this.None=0;this.Grid=1};function VEClusterSpecification(){this._clusterShape=null;this.Shapes=[];this.LatLong=null;VEClusterSpecification.prototype.GetClusterShape=function(){return this._clusterShape}}VE_SetModuleStatus(VE_ModuleName.APILAYERS,"loaded");VEMap.prototype.InitMapDrawing=function(){cssCursors=Msn.VE.Css.Cursors;if(VE_MapDispatch_SymbolLib==null){VE_MapDispatch_SymbolLib=new VEShapeStyleLibrary;VEShapeStyle.prototype.imagedata_src=Msn.VE.API.Constants.iconurl}if(this.m_velayermanager==null){this.m_velayermanager=new VELayerManager(this);this._lm=this.m_velayermanager}};VEMap.prototype.InitTiles=function(){if(!this.m_vetilesourcemanager)this.m_vetilesourcemanager=new VETileSourceManager(this)};VEMap.prototype.AddTileLayer=function(a,b,c){VEValidator.ValidateObject(a,"tileSourceSpec",VETileSourceSpecification,"VETileSourceSpecification");this.m_vetilesourcemanager.AddTileSource(a,c,b)};VEMap.prototype.ShowTileLayer=function(a){this.m_vetilesourcemanager.ShowTileLayer(a)};VEMap.prototype.ShowAllTileLayers=function(){this.m_vetilesourcemanager.ShowAllTileLayers()};VEMap.prototype.HideTileLayer=function(a){this.m_vetilesourcemanager.HideTileLayer(a)};VEMap.prototype.ShowBaseTileLayer=function(){this.m_vetilesourcemanager.ShowBaseTileLayer()};VEMap.prototype.HideBaseTileLayer=function(){this.m_vetilesourcemanager.HideBaseTileLayer()};VEMap.prototype.HideAllTileLayers=function(){this.m_vetilesourcemanager.HideAllTileLayers()};VEMap.prototype.DeleteTileLayer=function(a){this.m_vetilesourcemanager.DeleteSourceById(a)};VEMap.prototype.DeleteAllTileLayers=function(){this.m_vetilesourcemanager.DeleteAllSources()};VEMap.prototype.GetTileLayerCount=function(){return this.m_vetilesourcemanager.GetSourceCount()};VEMap.prototype.GetTileLayerByID=function(a){return this.m_vetilesourcemanager.GetSourceById(a)};VEMap.prototype.GetTileLayerByIndex=function(a){return this.m_vetilesourcemanager.GetSourceByIndex(a)};function VETileSourceSpecification(h,i,d,g,f,e,c,a,b){this.ID=null;this.TileSource=null;this.NumServers=1;this.Bounds=null;this.MinZoomLevel=0;this.MaxZoomLevel=1;this.GetTilePath=null;this.Opacity=null;this.ZIndex=null;this.SetsBestMapView=true;this.FnCallback=null;this.IsVisible=true;this.LoadTiles=true;if(typeof h=="string")this.ID=h;else throw new VEException("VETileSourceSpecification","err_invalidargument",L_invalidargument_text.replace("%1","ID").replace("%2","string"));if(typeof i=="string")this.TileSource=i.replace(/%20/g," ");else throw new VEException("VETileSourceSpecification","err_invalidargument",L_invalidargument_text.replace("%1","tileSource").replace("%2","string"));if(d!="undefined"&&d!=null)this.NumServers=d;if(g!="undefined"&&g!=null)this.Bounds=g;if(f!="undefined"&&f!=null)this.MinZoomLevel=f;if(e!="undefined"&&e!=null)this.MaxZoomLevel=e;if(c!="undefined"&&c!=null)this.GetTilePath=c;if(a!="undefined"&&a!=null){VEValidator.ValidateFloat(a,"Opacity");if(a<0||a>1)throw new VEException("VEMap:AddTileLayer","err_invalidOpacity",L_invalidopacity_text);this.Opacity=a}if(b!="undefined"&&b!=null){VEValidator.ValidateInt(b,"ZIndex");this.ZIndex=b}else this.ZIndex=Msn.VE.API.Globals.vetilelayerdefaultzindex}function VETileSourceManager(a){var b=this;VEValidator.ValidateNonNull(a,"vemap");this.m_vemap=a;this.m_vemapcontrol=this.m_vemap.vemapcontrol;this.m_vetilesources=[];this.AddTileSource=function(a,d,c){VEValidator.ValidateObject(a,"tileSourceSpec",VETileSourceSpecification,"VETileSourceSpecification");VEValidator.ValidateNonNull(a.ID,"tileSourceSpec.ID");if(a.MinZoomLevel!=null)VEValidator.ValidateNonNegativeInt(a.MinZoomLevel,"tileSourceSpec.MinZoomLevel");if(a.MaxZoomLevel!=null){VEValidator.ValidateNonNegativeInt(a.MaxZoomLevel,"tileSourceSpec.MaxZoomLevel");VEValidator.ValidateMaxZoom(a.MaxZoomLevel,"tileSourceSpec.MaxZoomLevel")}if(a.MinZoomLevel!=null&&a.MaxZoomLevel!=null)if(a.MinZoomLevel>a.MaxZoomLevel)throw new VEException("VETileSourceManager:AddVETileSource","err_invalidsourceid",L_invalidminmaxzoom_text);if(a.Bounds){var e=a.Bounds.length;for(var b=0;b"+L_what_text+" "+''+""+"
"+L_where_text+" "+'"+"
"+"
"+'"+"
";this.mapelement.appendChild(el);addIFrameShim(el);if(el.shimElement)el.shimElement.className="VE_FindControl_Iframe";return el};VEMap.prototype.ShowFindControl=function(c,b){if(typeof c!="undefined"||typeof b!="undefined"){VEValidator.ValidateInt(c,"top");VEValidator.ValidateInt(b,"left")}var d=this.ID+"_vefindcontrolinput",a=$ID(d);if(typeof a=="undefined"||a==null)a=this.CreateFindControl(d);if(isNaN(c))a.style.top="35px";else a.style.top=c+"px";if(isNaN(b))a.style.left="195px";else a.style.left=b+"px";a.style.display="block";ShowShim(a)};VEMap.prototype.HideFindControl=function(){var a=$ID(this.ID+"_vefindcontrolinput");if(a!=null&&a!="undefined"){a.style.display="none";HideShim(a)}};VEMap.prototype.SetFindResultsPanel=function(a){if(a==null||a=="undefined")throw new VEException("VEMap:SetFindResultsPanel","err_invalidelement",L_invalidelement_text);var b=$ID(a);if(b==null||b=="undefined")throw new VEException("VEMap:SetFindResultsPanel","err_invalidelement",L_invalidelement_text);this.searchelement=a};function VEMatchCode(){}VEMatchCode.None=0;VEMatchCode.Good=1;VEMatchCode.Ambiguous=2;VEMatchCode.UpHierarchy=4;VEMatchCode.Modified=8;function VEMatchConfidence(){}VEMatchConfidence.High=0;VEMatchConfidence.Medium=1;VEMatchConfidence.Low=2;function VELocationPrecision(){}VELocationPrecision.Interpolated=0;VELocationPrecision.Rooftop=1;function VEGeocodeLocation(b,a){this.LatLong=b;this.Precision=a}function VEPlace(e,d,a,b,c,g,f){VEValidator.ValidateNonNull(e,"name");VEValidator.ValidateNonNull(d,"velatLong");this.Name=e;this.LatLong=d;if(typeof a!="undefined"&&a!=null)this.LatLongRect=a;else this.LatLongRect=null;this.MatchConfidence=typeof b!="undefined"?b:null;this.MatchCode=typeof c!="undefined"?c:null;this.Precision=g;this.Locations=f}function VEGeocodeOptions(b,a){this.SetBestMapView=b;this.UseDefaultDisambiguation=a}function VESearchOptions(d,e,f,i,g,h,c,b,a){this.SetBestMapView=d;this.CreateResults=e;this.ShowResults=f;this.FindType=i;this.ShapeLayer=g;this.StartIndex=h;this.NumberOfResults=c;this.BoundingRectangle=b;this.UseDefaultDisambiguation=a}function VEFindSpec(l,a,j,g,h,b,f,e,c,d,i,k){this.DisambuigationCancelled=false;this.WhatString="";this.WhatResults=null;this.WhatHasMore=null;if(l!=null){if(typeof l!="string")throw new VEException("VEMap.Find","err_invalidargument",L_invalidargument_text.replace("%1","what").replace("%2","string"));this.WhatString=IOSec.EncodeUrl(l)}this.WhereString="";this.WhereRect=null;this.WhereLatLong=null;this.WhereResults=null;if(a!=null)if(a instanceof VELatLongRectangle)this.WhereRect=a;else if(a instanceof VEPlace){this.WhereRect=a.LatLongRect;this.WhereLatLong=a.LatLong;this.WhereResults=a}else if(a instanceof VELatLong)this.WhereLatLong=a;else if(typeof a=="string"){if(Msn.VE.API.Globals.locale.toLowerCase()=="zh-cn"&&a.replace(/(^\s*)/g,"").toLowerCase().indexOf("map of ")!=0)a="map of "+a;this.WhereString=IOSec.EncodeUrl(a)}else throw new VEException("VEMap.Find","err_invalidargument",L_invalidwhere_text);if(this.WhatString==""&&this.WhereString==""&&this.QueryString=="")throw new VEException("VEMap.Find","err_invalidwhatwhere",L_invalidwhatwhere_text);this.FindType=VEFindType.Businesses;if(j!=null)if(j==VEFindType.Businesses)this.FindType=j;else throw new VEException("VEMap.Find","err_invalidargument",L_invalidargument_text.replace("%1","findType").replace("%2","VEFindType"));this.ShapeLayer=null;if(g!=null){VEValidator.ValidateObject(g,"shapeLayer",VEShapeLayer,"VEShapeLayer");this.ShapeLayer=g}this.StartIndex=0;if(h!=null){VEValidator.ValidateNonNegativeInt(h,"startIndex");this.StartIndex=parseInt(h)}this.NumberOfResults=Msn.VE.API.Globals.vefindnumresultsdefault;if(b!=null){VEValidator.ValidateInt(b);b=parseInt(b);VEValidator.ValidateBetween(b,"numberOfResults",Msn.VE.API.Globals.vefindnumresultsmin,Msn.VE.API.Globals.vefindnumresultsmax);this.NumberOfResults=b}this.ShowResults=true;if(f!=null){VEValidator.ValidateBoolean(f,"showResults");this.ShowResults=f}this.CreateResults=true;if(e!=null){VEValidator.ValidateBoolean(e,"createResults");this.CreateResults=e}this.UseDefaultDisambiguation=true;if(c!=null){VEValidator.ValidateBoolean(c,"useDefaultDisambiguation");this.UseDefaultDisambiguation=c}this.SetBestMapView=true;if(d!=null){VEValidator.ValidateBoolean(d,"setBestMapView");this.SetBestMapView=d}this.Callback=null;if(i!=null)if(typeof i=="function")this.Callback=i;else throw new VEException("VEMap.Find","err_invalidargument",L_invalidargument_text.replace("%1","callback").replace("%2","function"));this.QueryString="";if(typeof k!="undefined"&&k!=null)this.QueryString=IOSec.EncodeUrl(k);this.ErrorMessage=null}function VEFindResults(a,c,b){this.ShapeLayer=a;this.Results=c;this.HasMore=b}function VEFindResult(a,d,e,b,f,c,g){VEValidator.ValidateNonNull(a,"findType");VEValidator.ValidateNonNull(e,"name");VEValidator.ValidateNonNull(b,"description");VEValidator.ValidateNonNull(c,"isSponsored");this.findType=a;this.FindType=a;this.shape=d;this.Shape=d;this.Name=e;this.Description=b;this.LatLong=f;this.IsSponsored=c;this.Phone=g}VEFindType=new function(){this.Businesses="Business"};function VE_SearchManager(c){VEValidator.ValidateObject(c,"vemap",VEMap,"VEMap");this.m_vemap=c;var a=this,b=new VELatLongFactory(new VELatLongFactorySpecFromMap(this.m_vemap));this.m_showDisambigousDialog=true;this._DisambiguateCallback="VEMap._GetMapFromGUID("+c.GUID+")._sm.FindAmbiguousListCallBack";var g=new _xy1,e=null;this.Initialize=function(){};this.Find=function(b){if(b.QueryString.length>0)h(b);else if(b.WhereString.length>0)i(b);else if(b.WhatString.length>0)j(b);else{if(b.SetBestMapView&&b.DisambuigationCancelled==false)if(b.WhereRect!=null)a.m_vemap.SetMapView(b.WhereRect);else if(b.WhereLatLong!=null&&b.WhatResults!=null){var d=[b.WhereLatLong];for(var c=0;c0){var n=f.Results[0].MatchConfidence,o=f.Results.length,h=[];for(var k=0;k1){if(d.SetBestMapView)a.m_vemap.SetViewport(g[0][1],g[0][2],g[0][3],g[0][4]);e=d;if(d.UseDefaultDisambiguation)a.m_vemap.m_veambiguouslist.Show(g,a._DisambiguateCallback,true);else if(typeof a.m_vemap.DisambiguationCallback!="undefined"&&a.m_vemap.DisambiguationCallback!=null&&typeof a.m_vemap.DisambiguationCallback=="function")a.m_vemap.DisambiguationCallback(d.WhereResults);else a.Find(d)}else a.Find(d)};this.SearchQueryResponseHandler=function(c,f){a.m_vemap.vemapcontrol.Fire("onendrequest");a.m_vemap.__HandleAuthentication(c);var p=null,m=[],i=[];if(c.SearchRegion!=null&&c.SearchRegion.Source=="Query"&&c.SearchRegion.GeocodeLocations!=null&&c.SearchRegion.GeocodeLocations.length>0){var s=c.SearchRegion.GeocodeLocations.length,l=[];for(var h=0;h0)for(var h=0;h0){if(p==null)p=d.MatchConfidence;var l=[],s=d.GeocodeLocations.length;for(var t=0;t0)f.WhereResults=m;f.WhereString="";var r=[],w=[],x=f.ShapeLayer;if(c.SearchResults!=null&&c.SearchResults.length>0){var s=Math.min(c.SearchResults.length,f.NumberOfResults);for(var h=0;h0?g.Address+", ":"";j+=g.City!=null&&g.City.length>0?g.City+", ":"";j+=g.State!=null&&g.State.length>0?g.State:"";j=j.replace(/(, )+$/,"");if(f.CreateResults){k=new VEShape(VEShapeType.Pushpin,u);k.SetTitle(g.Name);k.SetDescription(g.Phone!=null?j+"
"+g.Phone:j);if(!f.ShowResults)k.SetVisibility(false);x.AddShape(k);w.push(k)}var v=new VEFindResult(f.FindType,k,g.Name,j,u,false,g.Phone);r.push(v)}}f.WhatString="";f.QueryString="";if(r.length>0){f.WhatResults=r;f.WhatHasMore=c.SearchResults.length>f.NumberOfResults}var q=false;if(i.length>1){if(f.SetBestMapView)a.m_vemap.SetViewport(i[0][1],i[0][2],i[0][3],i[0][4]);e=f;if(f.UseDefaultDisambiguation){if(c.ParseResults!=null&&c.ParseResults.length>0&&c.ParseResults[0].Keyword!=null&&c.ParseResults[0].Keyword!="")f.WhatString=IOSec.EncodeUrl(c.ParseResults[0].Keyword);a.m_vemap.m_veambiguouslist.Show(i,a._DisambiguateCallback,true);q=true}else if(typeof a.m_vemap.DisambiguationCallback!="undefined"&&a.m_vemap.DisambiguationCallback!=null&&typeof a.m_vemap.DisambiguationCallback=="function"){a.m_vemap.DisambiguationCallback(f.WhereResults);q=true}}if((f.WhereResults==null||f.WhereResults.length==0)&&(f.WhatResults==null||f.WhatResults.length==0))f.ErrorMessage=a.m_vemap.IsValidCredentialsInResponse(c)?L_invalidsearchresult_Text:L_CredentialsInvalid_Text;if(!q)a.Find(f)};this.SearchResponseHandler=function(g,d){a.m_vemap.vemapcontrol.Fire("onendrequest");a.m_vemap.__HandleAuthentication(g);var h=[],l=[],m=d.ShapeLayer;if(g.SearchResults!=null&&g.SearchResults.length>0){var n=Math.min(g.SearchResults.length,d.NumberOfResults);for(var i=0;i0?c.Address+", ":"";e+=c.City!=null&&c.City.length>0?c.City+", ":"";e+=c.State!=null&&c.State.length>0?c.State:"";e=e.replace(/(, )+$/,"");if(d.CreateResults){f=new VEShape(VEShapeType.Pushpin,j);f.SetTitle(c.Name);f.SetDescription(c.Phone!=null?e+"
"+c.Phone:e);if(!d.ShowResults)f.SetVisibility(false);m.AddShape(f);l.push(f)}var k=new VEFindResult(d.FindType,f,c.Name,e,j,false,c.Phone);h.push(k)}}d.WhatString="";if(h.length>0){d.WhatResults=h;d.WhatHasMore=g.SearchResults.length>d.NumberOfResults}else d.ErrorMessage=a.m_vemap.IsValidCredentialsInResponse(g)?L_invalidsearchresult_Text:L_CredentialsInvalid_Text;a.Find(d)};this.FindAmbiguousListCallBack=function(f,h,j,i,k){var c=e;e=null;if(f!=null){var d=$ID(this.m_vemap.ID+"_vewhereinput");if(d)d.value=unescape(f);var b=c.WhereResults,g=-1;if(b)for(var a=0;a0){e=[];var l=d.Results.length;for(var g=0;g0};this.Destroy=function(){this.id=null;this.name=null}}Msn.VE.Search={};Msn.VE.Search.strLastWhere="";function VE_SearchResult(w,u,l,t,s,v,p,n,r,d,o,k,h,g,q,f,a,j,i,c,b,m){this.id=w;this.name=u;this.description=l;this.phone=t;this.rating=s;this.type=v;this.latitude=p;this.longitude=n;this.pushPin=null;this.pinId=null;this.keywords=o;this.infoUrl=r;this.photoUrl=typeof d!="undefined"?d:"";this.mapserviceType=k;this.mapserviceSource=h;this.mapserviceOpacity=g;this.website=b!=null&&typeof b!="undefined"&&b.constructor==String?b:"";this.country=q;var e=null;this.SetGeoRef=function(a){e=a};this.GetGeoRef=function(){return e};this.insideBoundingBox=f;var a=a;this.GetDistanceFromCenter=function(b,c){if(typeof a=="number"&&Msn.VE.DistanceUnit.IsValidType(b))if(b=="mi"){if(a.toFixed)return c?a.toFixed(2)+L_DirectionsMi_Text:a.toFixed(2)}else if(b=="km")if(a.toFixed)return c?(a*1.60934).toFixed(2)+L_DirectionsKm_Text:(a*1.60934).toFixed(2)};this.roofTopLatitude=j;this.roofTopLongitude=i;if(typeof c==="boolean")this.isLocationPrecise=c;else this.isLocationPrecise=true;this.brandInfo=m;this.adInfo=null;this.whitePageInfo=null}function VE_WebSearchResult(h,g,i,j,k){var c=a(h),d=a(g),e=a(i),b=a(j),f=a(k);this.GetCaptionUrl=function(){return c};this.SetCaptionUrl=function(b){c=a(b)};this.GetDescription=function(){return d};this.SetDescription=function(b){d=a(b)};this.GetDisplayUrl=function(){return e};this.SetDisplayUrl=function(b){e=a(b)};this.GetTitle=function(){return b};this.SetTitle=function(c){b=a(c)};this.GetUrl=function(){return f};this.SetUrl=function(b){f=a(b)};function a(a){if(typeof a=="string"&&a.length>=0)return a;return null}}VE_SearchResult.prototype.Equals=function(a){if(a==null||a=="undefined")return false;try{var b=this.name==a.name&&this.description==a.description&&this.phone==a.phone&&this.rating==a.rating&&this.type==a.type&&this.latitude==a.latitude&&this.longitude==a.longitude;return b}catch(c){return false}};VE_WebSearchResult.prototype.Equals=function(a){if(a instanceof VE_WebSearchResult){var b=this.GetCaptionUrl()==a.GetCaptionUrl()&&this.GetDescription()==a.GetDescription()&&this.GetTitle()==a.GetTitle()&&this.GetDisplayUrl()==a.GetDisplayUrl()&&this.GetUrl()==a.GetUrl();return b}return false};function VE_ColInfo(e,d,b,a,c){this.id=e;this.name=d;this.businessId=b;this.entityCount=a;this.colType=c}VE_SetModuleStatus(VE_ModuleName.APIFIND,"loaded");VEMap.prototype.InitRouting=function(){if(!this.m_vedirectionsmanager){this.m_vedirectionsmanager=new VEDirectionsManager(this);this.m_vedirectionsmanager.Initialize();this._dm=this.m_vedirectionsmanager}if(!this.m_routemanager)this.m_routemanager=new VERouteManager(this)};VEMap.prototype.GetRoute=function(d,e,b,c,a){this.InitRouting();this.m_vedirectionsmanager.GetDrivingDirections(d,e,b,c,a)};VEMap.prototype.DeleteRoute=function(){this.InitRouting();this.m_routemanager.ClearRoute()};function VERouteDistanceUnit(){}VERouteDistanceUnit.Mile="Mile";VERouteDistanceUnit.Kilometer="Kilometer";VERouteDistanceUnit.Default=VERouteDistanceUnit.Mile;function VERouteOptimize(){}VERouteOptimize.MinimizeTime="MinimizeTime";VERouteOptimize.MinimizeDistance="MinimizeDistance";VERouteOptimize.Default="Default";function VERouteMode(){}VERouteMode.Driving="Driving";VERouteMode.Walking="Walking";VERouteMode.Default=VERouteMode.Driving;function VERouteWarningSeverity(){}VERouteWarningSeverity.None=0;VERouteWarningSeverity.LowImpact=1;VERouteWarningSeverity.Minor=2;VERouteWarningSeverity.Moderate=3;VERouteWarningSeverity.Serious=4;function VERouteHintType(){}VERouteHintType.PreviousIntersection=1;VERouteHintType.NextIntersection=2;VERouteHintType.Landmark=3;function VEServiceRequest(d,b,c,a){this.ID=d;this.Service=b;this.Params=c;this.Callback=a}function VE_Location(c,b,a){this.name=c;this.latitude=b;this.longitude=a}function VERouteOptions(){this.DistanceUnit=VERouteDistanceUnit.Default;this.RouteOptimize=VERouteOptimize.Default;this.RouteMode=VERouteMode.Default;this.RouteCallback=null;this.DrawRoute=true;this.RouteWeight=6;this.RouteColor=new VEColor(0,169,235,.7);this.RouteZIndex=4;this.SetBestMapView=true;this.ShowDisambiguation=true;this.ShowErrorMessages=true;this.UseTraffic=false;this.UseMWS=false}function VERoute(){this.RouteLegs=[];this.Distance=0;this.Time=0;this.ShapePoints=null}function VERouteItinerary(){this.Items=[]}function VERouteItineraryItem(f,c,a,e,g,b,d){this.Text=f;this.LatLong=c;this.Distance=a;this.Shape=e;this.Time=g;this.Warnings=b;this.Hints=d}function VERouteLeg(a,b,d,c,e){this.StartLocation=a;this.EndLocation=b;this.Distance=d;this.Itinerary=c;this.Time=e}function VERouteHint(b,a){this.Type=b;this.Text=a}function VERouteWarning(b,a){this.Text=b;this.Severity=a}VEMap.prototype.GetDirections=function(b,a){this.m_routemanager.GetRoute(b,a)};function VERouteManager(vemap){var self=this,m_vemap=vemap,m_routeShapeLayer=null,m_routeHighlight=null,m_encoder=new _xz1,m_veLatLongDecoder=new _xy1,m_veLatLongFactory=new VELatLongFactory(new VELatLongFactorySpecFromMap(m_vemap)),m_routeDecoder=new Msn.VE.DirectionsDecoder,m_routeOptions=null,m_locations=[],m_currentLocationIndex=0,m_requestQueue=[],m_route=null,m_requestID=null;this.GetRoute=function(e,a){m_requestID=VENetwork.GetExecutionID();m_vemap.DeleteRoute();if(!e||!e.length||e.length<2)throw new VEException("","err_invalidargument",L_invaliddirections_text);if(a){VEValidator.ValidateObject(a,"routeOptions",VERouteOptions,"VERouteOptions");if(a.DistanceUnit!=VERouteDistanceUnit.Mile&&a.DistanceUnit!=VERouteDistanceUnit.Kilometer)throw new VEException("","err_invalidargument",L_invalidargument_text.replace("%1","routeOptions.DistanceUnit").replace("%2","VERouteDistanceUnit"));if(a.RouteOptimize!=VERouteOptimize.Default&&a.RouteOptimize!=VERouteOptimize.MinimizeTime&&a.RouteOptimize!=VERouteOptimize.MinimizeDistance)throw new VEException("","err_invalidargument",L_invalidargument_text.replace("%1","routeOptions.RouteOptimize").replace("%2","VERouteOptimize"));if(a.RouteMode!=VERouteMode.Driving&&a.RouteMode!=VERouteMode.Walking)throw new VEException("","err_invalidargument",L_invalidargument_text.replace("%1","routeOptions.RouteMode").replace("%2","VERouteMode"));if(a.RouteMode==VERouteMode.Driving&&!$MVEM.IsEnabled(MapControl.Features.RouteOptions.RouteMode.Driving)||a.RouteMode==VERouteMode.Walking&&!$MVEM.IsEnabled(MapControl.Features.RouteOptions.RouteMode.Walking))throw new VEException("","err_notSupportProperty",L_UnsupportProperty_Text.replace("%1","VERouteOptions").replace("%2","RouteMode").replace("%3",a.RouteMode.toString()));VEValidator.ValidateBoolean(a.DrawRoute,"routeOptions.DrawRoute");if(a.RouteCallback)VEValidator.ValidateFunction(a.RouteCallback,"routeOptions.RouteCallback");VEValidator.ValidateFloat(a.RouteWeight,"routeOptions.RouteWeight");VEValidator.ValidateObject(a.RouteColor,"routeOptions.RouteColor",VEColor,"VEColor");VEValidator.ValidateInt(a.RouteZIndex,"routeOptions.RouteZIndex");VEValidator.ValidateBoolean(a.SetBestMapView,"routeOptions.SetBestMapView");VEValidator.ValidateBoolean(a.ShowDisambiguation,"routeOptions.ShowDisambiguation");VEValidator.ValidateBoolean(a.ShowErrorMessages,"routeOptions.ShowErrorMessages");VEValidator.ValidateBoolean(a.UseMWS,"routeOptions.UseMWS");VEValidator.ValidateBoolean(a.UseTraffic,"routeOptions.UseTraffic");if(!$MVEM.IsEnabled(MapControl.Features.RouteOptions.UseMWS)&&a.UseMWS)throw new VEException("","err_notSupportProperty",L_UnsupportProperty_Text.replace("%1","VERouteOptions").replace("%2","UseMWS").replace("%3","true"));if(!$MVEM.IsEnabled(MapControl.Features.RouteOptions.UseTraffic)&&a.UseTraffic)throw new VEException("","err_notSupportProperty",L_UnsupportProperty_Text.replace("%1","VERouteOptions").replace("%2","UseTraffic").replace("%3","true"));m_routeOptions=a}else m_routeOptions=new VERouteOptions;m_locations=[];m_currentLocationIndex=0;m_requestQueue=[];var i=e.length;for(var d=0;d0){var b=m_requestID;function c(c){if(m_requestID==b)a.Callback(c,a.ID)}var a=m_requestQueue.shift();m_vemap.vemapcontrol.Fire("onstartrequest");VEAPIRequestInvoke(a.Service,a.Params,c,m_vemap)}else self.ExecuteRouteRequest()};this.ExecuteRouteRequest=function(){var d=m_requestID;function e(a){if(m_requestID==d)self.RouteResponseHandler(a)}var a=[],c="",f=m_locations.length;for(var b=0;b0)if(a.Results.length==1||!m_routeOptions.ShowDisambiguation||a.Results[0].MatchConfidence!=a.Results[1].MatchConfidence){var b=GetRouteLocation(a.Results[0]);if(b!=null)m_locations[e]=new VELatLong(b.Coordinates.Latitude,b.Coordinates.Longitude);self.ExecuteNextRequest()}else{var g=a.Results[0].MatchConfidence,f=[];for(var d=0;d0){if(m_routeOptions.DrawRoute){var shapes=[],stepIndex=0;for(var routeLegIndex=0;routeLegIndex0){var c=a.length;for(var b=0;b0){VE_TrafficManager.incidentsAvailable=true;for(var a=0;a0){var e=a.length;for(var c=0;cb.TopLeftLatLong.Latitude||a.BottomRightLatLong.Longitudeb.BottomRightLatLong.Longitude)};VE_TrafficManager.GetTrafficInfo=function(){if(!VE_TrafficManager.turnedOn)return;try{if(VE_TrafficManager.m_vemap.vemapcontrol.IsModeEnabled(Msn.VE.MapActionMode.Mode3D))if(VE_TrafficManager.showTrafficFlow)VE_TrafficManager.m_vemap.vemapcontrol.Show3DTraffic(false);else VE_TrafficManager.m_vemap.vemapcontrol.Remove3DTraffic();var a=VE_TrafficManager.m_vemap.GetZoomLevel();if(VE_TrafficManager.m_vemap.vemapcontrol.IsMapViewOblique())return;VE_TrafficManager.prevZoomLevel=a;VE_TrafficManager.prevMapStyle=VE_TrafficManager.m_vemap.GetMapStyle();VE_TrafficManager.incidentsAvailable=false;VE_TrafficManager.flowAvailable=false;VE_TrafficManager._ClearPins();VE_TrafficManager.m_vemap.vemapcontrol.ClearTileLayer("Traffic");if(a>VE_TrafficManager.displayAtZoomlevelMin){VE_TrafficManager._GetIncidents(VE_TrafficManager.showIncidents);if(VE_TrafficManager.showTrafficFlow&&VE_TrafficManager.flowAvailable&&a0){var d=VE_TrafficManager.showingMarkets.length;for(var b=0;b0&&$MVEM.IsEnabled(MapControl.Features.Traffic.ShowIncidents)){VE_TrafficManager._RemoveDuplicates(a);VE_TrafficManager._RenderTrafficInfo(a)}}if(this.LastUpdateTimestamp!=null&&typeof this.LastUpdateTimestamp!="undefined")VE_TrafficManager.SetTrafficLegendText(this.LastUpdateTimestamp);VE_TrafficManager.ShowTrafficLegend();if(VE_TrafficManager.m_vemap){var c=VE_TrafficManager.m_vemap.GetDashboardSize();if(c==VEDashboardSize.Small||c==VEDashboardSize.Tiny)VE_TrafficManager.ShowTrafficLegend(41,37)}}};VE_TrafficManager._RenderTrafficInfo=function(c){if(c)VE_TrafficManager._ClearPins(c);else VE_TrafficManager._ClearPins();var e=VE_TrafficManager.m_vemap.GetZoomLevel();if(e>VE_TrafficManager.displayAtZoomlevelMin){if(c==null)return;if(VE_TrafficManager.incidents[c]!=null){var b=VE_TrafficManager.incidents[c],f=VE_TrafficManager.incidents[c].length;for(var a=0;a0&&d>VE_TrafficManager.displayAtZoomlevelMin){for(var b=0;b'+L_MapLegendAndPopupLink_Text+"";return d};VE_TrafficManager.GetColor=function(a){switch(a){case 0:return Msn.VE.UI.Color.Red;break;case 1:return Msn.VE.UI.Color.Orange;break;case 2:return Msn.VE.UI.Color.Yellow;break;default:return Msn.VE.UI.Color.Yellow}};VE_TrafficManager.CreatePopupContent=function(a){var b='
'+(a.Type?IOSec.EncodeHtml(a.Type.replace(/&/gi,"&")):"")+"
"+'
'+L_TrafficPopupSeverity_Text+":
"+'
'+VE_TrafficManager._GetSeverity(a.Criticality)+"
"+'
'+L_TrafficPopupLocation_Text+":
"+'
'+(a.Location?IOSec.EncodeHtml(a.Location.replace(/&/gi,"&")):"")+"
"+'
'+L_TrafficPopupDescription_Text+":
"+'
'+(a.Description?IOSec.EncodeHtml(a.Description.replace(/&/gi,"&")):"")+"
"+"
"+'
'+L_TrafficPopupStartTime_Text+":
"+'
'+(a.Starttime?IOSec.EncodeHtml(VETime.FormatTime(a.Starttime,true)):"")+"
"+"
"+"
"+'
'+L_TrafficPopupEstEndTime_Text+":
"+'
'+(a.Endtime?IOSec.EncodeHtml(VETime.FormatTime(a.Endtime,true)):"")+"
"+"
";return b};VE_TrafficManager._GetSeverity=function(a){switch(a){case 0:return VE_TrafficManager.Severity.Serious;break;case 1:return VE_TrafficManager.Severity.Moderate;break;case 2:return VE_TrafficManager.Severity.Minor;break;default:return VE_TrafficManager.Severity.Minor}};VE_TrafficManager._RemoveDuplicates=function(c){if(c==null||c=="undefined")return;var a=VE_TrafficManager.incidents[c];if(a==null)return;for(var b=0;b0){var h=VE_TrafficManager.markets[0].length;for(var d=0;d0)for(var a=0;a0&&VE_TrafficManager.MarketIcons!=null)for(var a=0;a0)for(var d=0;dVE_TrafficManager.displayAtZoomlevelMin)VE_TrafficManager.isViewDirty=true;else if(VE_TrafficManager.prevZoomLevel>VE_TrafficManager.displayAtZoomlevelMin&&a<=VE_TrafficManager.displayAtZoomlevelMin)VE_TrafficManager.isViewDirty=true;else if(VE_TrafficManager.prevZoomLevel=VE_TrafficManager.displayAtZoomlevelMax)VE_TrafficManager.isViewDirty=true;else if(VE_TrafficManager.prevZoomLevel>=VE_TrafficManager.displayAtZoomlevelMax&&a0)for(var c=0;c=9)VE_TrafficManager.GetTrafficInfo()}catch(b){}};VE_TrafficIncidentType=new function(){this.ScheduledConstruction="SCHEDULED CONSTRUCTION";this.OtherNews="OTHER NEWS";this.Congestion="CONGESTION";this.Accident="ACCIDENT";this.DisabledVehicle="DISABLED VEHICILE";this.RoadHazard="ROAD HAZARD";this.UnscheduledConstruction="UNSCHEDULED CONSTRUCTION";this.PlannedEvent="PLANNED EVENT";this.MassTransit="MASS TRANSIT";this.Weather="WEATHER";this.Miscellaneous="MISCELLANEOUS"};function VE_Market(h,g,f,e,c,d,b,a){this.Id=h;this.Name=g;this.GMTOffset=f;this.SWLatitude=e;this.SWLongitude=c;this.NELatitude=d;this.NELongitude=b;if(a.indexOf("Flow")==0)this.Flow="Flow";if(a.indexOf("Incidents")!=-1)this.Incident="Incidents"}function VE_Incident(h,k,b,g,j,f,d,a,e,i,c){this.MarketId=h;this.Id=k;this.Description=b;this.Location=g;this.Type=j;this.Latitude=f;this.Longitude=d;this.Criticality=a;this.Starttime=e;this.Endtime=i;this.Direction=c}VE_TrafficManager.ShowTrafficLegend=function(a,b){if(VE_TrafficManager.turnedOn){if(VE_TrafficManager.legend==null){VE_TrafficManager.legend=VE_TrafficManager.m_vemap.vemapcontrol.CreateLegend();if(VE_TrafficManager.legend!=null)VE_TrafficManager.legend.ShowTrafficLegend(true)}if(VE_TrafficManager.legend&&typeof a!="undefined"&&a!=null&&typeof b!="undefined"&&b!=null){VE_TrafficManager.legend.UnPin();VE_TrafficManager.legend.MoveTo(a,b);VE_TrafficManager.legendPinned=false}VE_TrafficManager.m_vemap.vemapcontrol.OnView3DScaleBarPositionUpdate()}};VE_TrafficManager.HideTrafficLegend=function(){if(VE_TrafficManager.legend!=null){VE_TrafficManager.legend.ShowTrafficLegend(false);VE_TrafficManager.legend=null;VE_TrafficManager.m_vemap.vemapcontrol.OnView3DScaleBarPositionUpdate()}};VE_TrafficManager.SetTrafficLegendText=function(a){if(VE_TrafficManager.legend!=null){if(typeof a=="undefined"||a==null)a="";VE_TrafficManager.legend.SetTrafficLegendMsg(a)}};function VETime(){}VETime.FormatTime=function(a){if(a==null||a==""||a=="undefined")return "";var c=false,d=a.substr(0,10),e=a.substr(11,5),b="";if(a.indexOf("AM")>-1){b="AM";c=true}else b="PM";return d+" "+VETime.ConvertTo12HourFormat(e,c)+" "+b};VETime.ConvertTo12HourFormat=function(d,c){var a=d;try{var b=parseFloat(a.replace(":","."));if(b>12)if(b<13&&c!=true);else b=b-12;a=b.toFixed(2);a=a.replace(".",":")}catch(e){a=""}return a};VETime.FormatPanelTime=function(a,g){if(a==null||a==""||a=="undefined")return "";try{var b=0,d=false,i=a.substr(4,8),h=a.indexOf(":"),f=a.substr(h-2,5),c="";if(a.indexOf("AM")>-1){c="AM";d=true;b=a.indexOf("AM")}else{c="PM";b=a.indexOf("PM")}var e="";if(b>0)e=a.substr(b+3,3);if(g)return i+" "+VETime.ConvertTo12HourFormat(f,d)+" "+c+" "+e;else return VETime.ConvertTo12HourFormat(f,d)+" "+c+" "+e}catch(j){}};VETime.getMonth=function(a){switch(a){case "01":return " Jan";case "02":return " Feb";case "03":return " Mar";case "04":return " Apr";case "05":return " May";case "06":return " Jun";case "07":return " Jul";case "08":return " Aug";case "09":return " Sep";case "10":return " Oct";case "11":return " Nov";case "12":return " Dec"}};VE_SetModuleStatus(VE_ModuleName.APITRAFFIC,"loaded");VEMap.prototype.SetAltitude=function(a){try{VEValidator.ValidateFloat(a,"level");var b=parseFloat(a);this._QueueRequest(this.vemapcontrol.SetAltitude,b)}catch(c){throw c;return}};VEMap.prototype.SetPitch=function(b){try{VEValidator.ValidateFloat(b,"pitch");var a=parseFloat(b);a=a%360;if(a>0)a=a<1?0:-90;if(a<-90)a=-90;this._QueueRequest(this.vemapcontrol.SetTilt,a)}catch(c){throw c;return}};VEMap.prototype.SetHeading=function(b){try{VEValidator.ValidateFloat(b,"heading");var a=parseFloat(b);a=a%360;if(a<0)a=360+a;this._QueueRequest(this.vemapcontrol.SetDirection,a)}catch(c){throw c;return}};VEMap.prototype.GetAltitude=function(){return this.vemapcontrol.GetAltitude()};VEMap.prototype.GetPitch=function(){return this.vemapcontrol.GetTilt()};VEMap.prototype.GetHeading=function(){return this.vemapcontrol.GetDirection()};VEMap.prototype._Toggle3DNavigationControl=function(b){if(this.GetMapMode()==VEMapMode.Mode3D){var a=this.vemapcontrol.Get3DControl();if(a!=null)a.ShowNavigationControl=b}};VEMap.prototype.Show3DNavigationControl=function(){this._Toggle3DNavigationControl(true)};VEMap.prototype.Hide3DNavigationControl=function(){this._Toggle3DNavigationControl(false)};VEMap.prototype.Show3DBirdseye=function(b){VEValidator.ValidateBoolean(b,"birdseyeOption");if(this.GetMapMode()==VEMapMode.Mode3D&&this.vemapcontrol){var a=this.GetMapStyle(),c=a==VEMapStyle.Road||a==VEMapStyle.Hybrid||a==VEMapStyle.Shaded;this.vemapcontrol.Show3DBirdseye(b,c)}};function MVC_Init_AbstractView_Shared(){Msn.MVC.AbstractView.prototype.GetMoveMenuOptionAsHtml=function(a){return a}}function MVC_Init_View3D_Shared(){Msn.MVC.View3D.prototype.GetMoveMenuOptionAsHtml=function(d,c){var e=c.GetPrimitiveCount();for(var a=0;aa._shplayer.MaxScale)b=a._shplayer.MaxScale;return b}Msn.MVC.View3D.prototype._GetZIndex=function(a,b){var d=60;if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){if(a==null)a=VE_MapManager.GetCollectionByAnId(b.GetId());if(a!=null)d=c(a,b)}else d=b.GetZIndex();return d};Msn.MVC.View3D.prototype._GetZIndexPolyShape=function(a,b){var d=60;if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){if(a==null)a=VE_MapManager.GetCollectionByAnId(b.GetId());if(a!=null)d=c(a,b)}else d=b.GetZIndexPolyShape();return d};function c(c,a){var b=VE_MapManager.GetCollectionCount();return (b-c._index)*MC_MAX_COL_SIZE+a.GetIndex()}Msn.MVC.View3D.prototype._ClearEntity=function(a){if(a.IsModel()){var b,c="clientid="+a.GetId();if(a.ModelData)b=VE_ModelActionType.DeleteModelFile;else{c+=";msnid="+a.GetMsnId()+"";b=VE_ModelActionType.DeleteModel}ProcessModelIn3D(b,c,this._spacecontrol)}var e=a.GetId();this._spacecontrol.DeleteGeometry(this._hackUniqueLayerId,e);var d=a.GetPrimitive(0);if(d==null||d.type!=VEShapeType.Pushpin){var f=e+this._entityIdShapePostfix;this._spacecontrol.DeleteGeometry(this._hackUniqueLayerId,f)}};Msn.MVC.View3D.prototype._DrawEntityPrimitive=function(){};Msn.MVC.View3D.prototype._ClearEntityPrimitive=function(a,b){if(a==null)return;if(typeof b!="undefined"&&b==true)if(a.type!=VEShapeType.Pushpin){var c=Msn.Drawing.GetEntityUIDByPrimitiveUID(a.iid);this._spacecontrol.DeleteGeometry(this._hackUniqueLayerId,c)}};Msn.MVC.View3D.prototype._ConvertPointArrayToView3DParameter=function(c,b){var a="",d=c.length;for(i=0;i