function DisplayMapList(){var m=document.getElementById("mapstylelist");m.style.left=GetElementLeftPosition('mapStyle_h');if(m.style.visibility=="visible"){m.style.visibility="hidden";if(m.releaseCapture){m.releaseCapture();}}else{window.attachEvent("onclick",HideMapStyleList);m.style.visibility="visible";m.setCapture(false);m.focus();document.getElementById("toolslist").style.visibility="hidden";}}
function DisplayToolsList(){var t=document.getElementById("toolslist");t.style.left=GetElementLeftPosition('toolslink');if(t.style.visibility=="visible"){t.style.visibility="hidden";if(t.releaseCapture){t.releaseCapture();}}else{window.attachEvent("onclick",HideToolsList);t.style.visibility="visible";t.setCapture(false);t.focus();document.getElementById("mapstylelist").style.visibility="hidden";}}
function HideToolsList(){var t=document.getElementById("toolslist");t.style.visibility="hidden";if(t.releaseCapture){t.releaseCapture();}}
function HideMapStyleList(){var m=document.getElementById("mapstylelist");m.style.visibility="hidden";if(m.releaseCapture){m.releaseCapture();}}
function HideAmbiguousList(){var m=document.getElementById("whereambiglist");m.style.visibility="hidden";if(m.releaseCapture){m.releaseCapture();}}
function keydown_Go(list){if(!list)list=GetTarget();var d=document.getElementById(list.id);d.style.visibility="visible";var options=d.childNodes;var newOption=-1;var tabOption=-1;for(var i=0;i<options.length;i++){if(options.item(i).className=='item_on'){if(event.keyCode==40){if(i==options.length-1)newOption=0;else newOption=i+1;}else if(event.keyCode==38){if(i==0)newOption=options.length-1;else newOption=i-1;}else if(event.keyCode==9){if(list.id=='whereambiglist')tabOption=i;newOption=-1;d.style.visibility="hidden";}else if(event.keyCode==13){if(list.id=='whereambiglist')document.f.where.value=options.item(i).innerText;newOption=-1;d.style.visibility="hidden";options.item(i).onclick();}else{newOption=i;}options.item(i).className='item';}}if(newOption==-1)newOption=0;if(newOption>=0&&newOption<options.length){options.item(newOption).className='item_on';}if(list.id=='whereambiglist'&&event.keyCode==9){document.f.where.value=options.item(tabOption).innerText;document.getElementById('where').focus();}else if(list.id=='whereambiglist'&&event.keyCode!=13)document.f.where.value=options.item(newOption).innerText;if(event.preventDefault)event.preventDefault();return false;}
function item_MouseOver(){var el=GetTarget();var d=document.getElementById(el.parentNode.id);d.style.visibility="visible";var options=d.childNodes;newOption=-1;for(i=0;i<options.length;i++){options.item(i).className='item';}el.className="item_on";if(d.id=='whereambiglist')document.f.where.value=el.innerText;}
function item_MouseOut(){var el=GetTarget();el.className="item";}
function PositionHelperLinks(){var h=document.getElementById('helperLinks');if(windowWidth-h.offsetWidth>250)h.style.left=windowWidth-h.offsetWidth;else h.style.left=250;h.style.visibility="visible";}
function VE_Panel(id,x,y,width,height,color,zIndex,title,body,footer,mouseovertitle){this.index=0;this.x=x;this.y=y;this.width=width;this.height=height;this.color=color;this.toolbarHeight=20;this.footerHeight=20;this.min=false;this.visible=true;this.onTitleClick=null;this.onCloseClick=null;var el=VE_Panel._CreateElement("div",id,"VE_Panel_el",zIndex);this.el=el;this.title=VE_Panel._CreateElement("a",id+"_title","VE_Panel_title VE_Panel_title_"+color+(mouseovertitle?" VE_Panel_title_mouseover":""),zIndex+1);this.title.innerHTML=IOSec.EncodeHtml(title);this.title.onclick=VE_Panel._OnTitleClick;this.title.unselectable="on";el.appendChild(this.title);this.cb=VE_Panel._CreateElement("a",id+"_cb","VE_Panel_cb VE_Panel_cb_"+color,zIndex+1);this.cb.innerHTML="X";this.cb.onclick=VE_Panel._OnCloseClick;this.cb.unselectable="on";el.appendChild(this.cb);this.tb=VE_Panel._CreateElement("div",id+"_tb","VE_Panel_tb VE_Panel_tb_"+color,zIndex+1);this.tb.unselectable="on";el.appendChild(this.tb);this.body=VE_Panel._CreateElement("div",id+"_body","VE_Panel_body",zIndex+1);this.body.innerHTML=body;el.appendChild(this.body);this.foot=VE_Panel._CreateElement("div",id+"_foot","VE_Panel_foot VE_Panel_foot_"+color,zIndex+1);this.foot.innerHTML=footer;this.foot.unselectable="on";el.appendChild(this.foot);this.Resize();this.SetOpacity(90);VE_Panel.panels.push(this);document.body.appendChild(el);}
VE_Panel.panels=new Array();
VE_Panel.shadowThickness=3;
VE_Panel._CreateElement=function(type,id,className,zIndex){var el=document.createElement(type);el.id=id;el.className=className;el.style.position="absolute";el.style.zIndex=zIndex;return el;}
VE_Panel._PositionElement=function(el,x,y,w,h){el.style.top=y+"px";el.style.left=x+"px";el.style.width=w+"px";el.style.height=h+"px";}
VE_Panel.prototype.SetPosition=function(x,y,w,h){this.x=x;this.y=y;this.w=w;this.h=h;}
VE_Panel.prototype.SetToolbarSize=function(toolbarHeight){this.toolbarHeight=toolbarHeight;var d=eval(toolbarHeight)>0?"block":"none";this.tb.style.display=d;this.Resize();}
VE_Panel.prototype.SetFooterSize=function(footerHeight){this.footerHeight=footerHeight;var d=eval(footerHeight)>0?"block":"none";this.foot.style.display=d;this.Resize();}
VE_Panel.prototype.Resize=function(){var x=eval(this.x);var y=eval(this.y);var w=Math.max(eval(this.width),100);var h=Math.max(eval(this.height),18);var th=eval(this.toolbarHeight);var fh=eval(this.footerHeight);var st=VE_Panel.shadowThickness;var by=21+th;var bh=h-27-th-fh;if(this.min){h=21;}else{if(th>0){VE_Panel._PositionElement(this.tb,1,19,w-4,th);}else{by-=2;bh+=2;}if(fh>0){VE_Panel._PositionElement(this.foot,1,h-fh-3,w-4,fh);}else{bh+=2;}if(bh>0){VE_Panel._PositionElement(this.body,1,by,w-4,bh);}}VE_Panel._PositionElement(this.el,x,y,w,h);VE_Panel._PositionElement(this.title,1,1,w-19,17);VE_Panel._PositionElement(this.cb,w-19,1,16,17);}
VE_Panel.prototype.SetTitle=function(c){this.title.innerHTML=IOSec.EncodeHtml(c);}
VE_Panel.prototype.SetToolbar=function(c){this.tb.innerHTML=c;}
VE_Panel.prototype.SetBody=function(c){this.body.innerHTML=c;}
VE_Panel.prototype.SetFooter=function(c){this.foot.innerHTML=c;}
VE_Panel.prototype.SetOpacity=function(o){if(o>=100)o=99.99;with(this.el.style){filter="alpha(opacity:"+o+")";o*=0.01;KHTMLOpacity=o;MozOpacity=o;opacity=o;}}
VE_Panel.prototype.SetColor=function(c){this.color=c;this.title.className="VE_Panel_title VE_Panel_title_"+c;this.foot.className="VE_Panel_foot VE_Panel_foot_"+c;this.cb.className="VE_Panel_cb VE_Panel_cb_"+c;}
VE_Panel.prototype.Minimize=function(){this.min=true;this.tb.style.display="none";this.body.style.display="none";this.foot.style.display="none";this.Resize();}
VE_Panel.prototype.Maximize=function(){this.min=false;if(eval(this.toolbarHeight)>0){this.tb.style.display="block";}if(eval(this.footerHeight)>0){this.foot.style.display="block";}this.body.style.display="block";this.Resize();}
VE_Panel.prototype.Show=function(){this.el.style.display="block";this.visible=true;}
VE_Panel.prototype.Hide=function(){this.el.style.display="none";this.visible=false;}
VE_Panel.prototype.Toggle=function(){if(this.min){this.Maximize();}else{this.Minimize();}}
VE_Panel.prototype.Destroy=function(){document.body.removeChild(this.el);var p=VE_Panel.panels;for(var i=0;i<p.length;i++){if(p[i]==this){p.splice(i,1);return;}}}
VE_Panel.ResizeAllPanels=function(){VE_Scratchpad._ResizePanel();var p=VE_Panel.panels;for(var i=0;i<p.length;i++){p[i].Resize();}}
function VE_PanelEvent(srcPanel){this.srcPanel=srcPanel;}
VE_Panel.prototype._CreateEvent=function(){return new VE_PanelEvent(this);}
VE_Panel._OnTitleClick=function(e){if(!e)e=window.event;var t=GetTarget(e);var p=VE_Panel.panels;for(var i=0;i<p.length;i++){if(p[i].title==t){if(p[i].onTitleClick){p[i].onTitleClick(p[i]._CreateEvent());}return;}}}
VE_Panel._OnCloseClick=function(e){if(!e)e=window.event;var c=GetTarget(e);var p=VE_Panel.panels;for(var i=0;i<p.length;i++){if(p[i].cb==c){if(p[i].onCloseClick){p[i].onCloseClick(p[i]._CreateEvent());}return;}}}
function VE_SearchManager(){}
VE_SearchManager.searches=new Array();
VE_SearchManager.searchIndex=0;
VE_SearchManager.searching=false;
VE_SearchManager.queue=new Array();
VE_SearchManager.xmlHttp=null;
VE_SearchManager.displayCount=10;
VE_SearchManager.requestCount=20;
VE_SearchManager.onPageResults=null;
VE_SearchManager.maxSearches=3;
VE_SearchManager.colors=new Array("green","red","purple");
VE_SearchManager.searchPage="search.ashx";
VE_SearchManager.adsPage="ads.ashx";
VE_SearchManager.popup=null;
VE_SearchManager.timerID=-1;
VE_SearchManager.Search=function(what,where){var s=false;if(what){what=what.replace(/\|/g,' ').replace(/\^/g,' ').replace(/^\s+/g,"").replace(/\s+$/g,"");if(what!=""){var i=VE_SearchManager.IndexOf(what);if(i==-1){VE_SearchManager._AddSearch(what,"WHAT");s=true;}else{VE_SearchManager._MoveToFront(i,true);VE_SearchManager.ResizePanels();}}}if(where){VE_SearchManager._ResetPaging();VE_SearchManager._CancelAllRequests();s=true;}if(s){VE_SearchManager._DoSearch(where,where);}}
VE_SearchManager.BulkSearch=function(terms){if(!terms||terms.length==0){return;}for(var i=0;i<terms.length;i++){VE_SearchManager._AddSearch(terms[i]);}VE_SearchManager._ResetPaging();VE_SearchManager._CancelAllRequests();VE_SearchManager._DoSearch("",true);}
VE_SearchManager.RefreshAll=function(){if(VE_SearchManager.searches.length>0){VE_SearchManager._ResetPaging();VE_SearchManager._CancelAllRequests();VE_SearchManager._DoSearch("",true,autoRefreshDelay);}}
VE_SearchManager.FindByIndex=function(index){var s=VE_SearchManager.searches;for(var i=0;i<s.length;i++){if(s[i].index==index)return s[i];}return null;}
VE_SearchManager.IndexOf=function(phrase){var s=VE_SearchManager.searches;for(var i=0;i<s.length;i++){if(s[i].phrase==phrase)return s[i].index;}return-1;}
VE_SearchManager._AddSearch=function(what,type){var a=VE_SearchManager.searches;if(a.length==VE_SearchManager.maxSearches){VE_SearchManager._RemoveSearch(a[a.length-1].index);}var s=new VE_Search(what,type);a.unshift(s);VE_SearchManager.ResizePanels();if(this.onAddSearch){this.onAddSearch();}}
VE_SearchManager._MoveToFront=function(index,maximize){var s=VE_SearchManager.searches;for(var i=0;i<s.length;i++){if(s[i].index==index){var t=s[i];s.splice(i,1);s.unshift(t);if(maximize){t.panel.Maximize();}if(!t.panel.min&&(t.ads==null||t.ads.length==0)){VE_SearchManager._RefreshAds(t);}return;}}}
VE_SearchManager._RemoveSearch=function(index){var s=VE_SearchManager.searches;for(var i=0;i<s.length;i++){if(s[i].index==index){if(VE_SearchManager.popup&&s[i].index==VE_SearchManager.popupID){VE_SearchManager.CloseSearchPopup();}VE_SearchManager.colors.push(s[i].color);s[i].Destroy();s.splice(i,1);if(this.onRemoveSearch){this.onRemoveSearch();}return;}}}
VE_SearchManager._ResetPaging=function(){var s=VE_SearchManager.searches;for(var i=0;i<s.length;i++){s[i].startIndex=0;s[i].displayIndex=0;}}
VE_SearchManager._DoSearch=function(where,all,delay){var s=VE_SearchManager.searches;var a="";var b=escape(where);var c=map.GetLatitude(0);var d=map.GetLongitude(windowWidth);var e=map.GetLatitude(windowHeight);var f=map.GetLongitude(0);var g="";var i="";var r=0;if(!where||where==""){if(s.length>0){a=escape(s[0].phrase);g=s[0].startIndex;i=s[0].index;r++;}if(all){for(var j=1;j<s.length;j++){a+="|"+escape(s[j].phrase);i+="|"+s[j].index;r++;}}b="";}var url=VE_SearchManager.searchPage+"?a="+a+"&b="+b+"&c="+c+"&d="+d+"&e="+e+"&f="+f+"&g="+g+"&i="+i+"&r="+r;VE_SearchManager._AddRequest(url,delay);}
VE_SearchManager._RefreshAds=function(s){if(s==null)return;var url=VE_SearchManager.adsPage+"?a="+escape(s.phrase)+"&b="+s.index+"&c="+map.GetCenterLatitude().toFixed(6)+"&d="+map.GetCenterLongitude().toFixed(6);VE_SearchManager._AddRequest(url);}
VE_SearchManager._AddRequest=function(url,delay){VE_SearchManager.queue.unshift(url);if(delay){VE_SearchManager.timerID=window.setTimeout("VE_SearchManager._SendNextRequest()",delay);}else{VE_SearchManager._SendNextRequest();VE_SearchManager.timerID=-1;}}
VE_SearchManager._CancelTimerRequest=function(){if(VE_SearchManager.timerID!=-1){try{window.clearTimeout(VE_SearchManager.timerID);}catch(ex){}VE_SearchManager.timerID=-1;}}
VE_SearchManager._CancelAllRequests=function(){if(VE_SearchManager.searching){VE_SearchManager.searching=false;VE_SearchManager.xmlHttp.abort();}VE_SearchManager._CancelTimerRequest();var q=VE_SearchManager.queue;while(q.length){q.pop();}}
VE_SearchManager._SendNextRequest=function(){if(VE_SearchManager.searching){return;}VE_SearchManager._CancelTimerRequest();var q=VE_SearchManager.queue;if(!q||q.length==0){return;}var url=q.pop();if(!VE_SearchManager.xmlHttp){VE_SearchManager.xmlHttp=GetXmlHttp();}var x=VE_SearchManager.xmlHttp;if(x){x.open("POST",url,true);x.onreadystatechange=VE_SearchManager._ResponseHandler;VE_SearchManager.searching=true;x.send("");}}
VE_SearchManager._ResponseHandler=function(){var x=VE_SearchManager.xmlHttp;if(x.readyState==4){VE_SearchManager.searching=false;var code=x.responseText;try{eval(code);}catch(ex){}VE_SearchManager._SendNextRequest();}}
VE_SearchManager._HandleFailedWhereSearch=function(message){if(message){ShowMessage(message);}var s=VE_SearchManager.searches;for(var i=0;i<s.length;i++){if(s[i].results==null){VE_SearchManager._DoSearch("",true);break;}}}
VE_SearchManager._ApplyAds=function(index,ads){var s=VE_SearchManager.FindByIndex(index);if(!s){return;}s.ads=ads;s._UpdateAds();}
VE_SearchManager._ApplyResults=function(index,results,ads,hasMore,message){var s=VE_SearchManager.FindByIndex(index);if(!s){return;}s._ClearPins();s.results=results;s.ads=ads;s.hasMore=hasMore;s.message=message;s._UpdatePins();s._UpdatePanel();}
VE_SearchManager.ApplySuggestion=function(index,suggestion){VE_SearchManager._RemoveSearch(index);VE_SearchManager.Search(suggestion);document.f.what.value=suggestion;}
VE_Search.zIndex=31;
function VE_Search(phrase,type){this.index=VE_SearchManager.searchIndex++;this.type=type;this.phrase=this.IsWhereAdsSearch()?"^":phrase;this.startIndex=0;this.displayIndex=0;this.color=VE_SearchManager.colors.pop();this.pinZIndex=VE_MapPushpin.baseZIndex;this.results=null;this.ads=null;this.hasMore=false;this.message="";this.panel=new VE_Panel("search_"+this.index,5,80,180,400,this.color,VE_Search.zIndex,phrase,"Loading...","",true);this.panel.index=this.index;if(this.IsWhereAdsSearch()){this.panel.SetFooterSize("eval(this.height) - 20");}else{this.panel.SetFooterSize(VE_Search.FooterSize);}this.panel.onTitleClick=function(e){var p=e.srcPanel;p.Toggle();VE_SearchManager._MoveToFront(p.index);VE_SearchManager.ResizePanels();};this.panel.onCloseClick=function(e){var p=e.srcPanel;VE_SearchManager._RemoveSearch(p.index);VE_SearchManager.ResizePanels();};}
VE_Search.FooterSize=120;
VE_Search.prototype.SetResults=function(results){this._ClearPins();this.results=results;this._UpdatePins();}
VE_Search.prototype._SetPinZIndex=function(pinZIndex){if(this.pinZIndex==pinZIndex){return;}this.pinZIndex=pinZIndex;var r=this.results;if(!r||r.length==0){return;}for(var i=0;i<r.length;i++){if(r[i]==null||r[i].pushPin==null){continue;}r[i].pushPin.style.zIndex=this.pinZIndex;}}
VE_Search.prototype._ClearPins=function(){var r=this.results;if(!r||r.length==0){return;}for(var i=0;i<r.length;i++){if(r[i].pushPin){map.RemovePushpin(r[i].pushPin.id);r[i].pushPin=null;}}}
VE_Search.prototype._UpdatePins=function(){var r=this.results;if(!r||r.length==0){return;}var a=this.displayIndex;var b=Math.min(r.length,a+VE_SearchManager.displayCount);for(var i=a;i<b;i++){r[i].pushPin=map.AddPushpin("pin_"+this.index+"_"+r[i].id,r[i].latitude,r[i].longitude,23,17,"VE_Pushpin VE_Pushpin_"+this.color,(i+1+this.startIndex)+'',this.pinZIndex);r[i].pushPin.onmouseover=VE_SearchManager._ShowSearchPopup;}}
VE_Search.prototype._UpdatePanel=function(){var r=this.results;var n=r.length;if(!r||n==0){this.panel.SetBody(this.message);this.panel.SetToolbar("");}else{var a=this.displayIndex;var b=Math.min(n,a+VE_SearchManager.displayCount);var body="";if(this.startIndex==0&&a==0&&this.message){body=this.message;}body+="<table>";for(var i=a;i<b;i++){body+="<tr><td valign=\"top\"><a href=\"javascript:VE_SearchManager._ShowSearchPopup("+null+", "+this.index+", "+r[i].id+")\" oncontextmenu=\"return false;\">";body+="<div class=\"VE_Pushpin VE_Pushpin_"+this.color+"\">"+(this.startIndex+i+1)+"</div></a></td>";body+="<td valign=\"top\">";body+="<a href=\"javascript:VE_SearchManager._ShowSearchPopup("+null+", "+this.index+", "+r[i].id+")\" oncontextmenu=\"return false;\">";body+=r[i].name+"</a><br/>"+r[i].description+"<br/>";if(r[i].rating>=0&&r[i].rating<=10){body+="<div class=\"stars"+Math.round(r[i].rating/2)+"\"></div>";}body+="</td></tr>";}body+="</table>";this.panel.SetBody(body);var toolbar="<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr>";if(this.startIndex+a>0){toolbar+="<td align=\"left\">&nbsp;<a href=\"javascript:VE_SearchManager.PageBackward("+this.index+")\" oncontextmenu=\"return false;\">Previous "+VE_SearchManager.displayCount+"</a></td> ";}if(b<n||this.hasMore){toolbar+="<td align=\"right\"><a href=\"javascript:VE_SearchManager.PageForward("+this.index+")\" oncontextmenu=\"return false;\">Next "+VE_SearchManager.displayCount+"</a>&nbsp;</td> ";}toolbar+="</tr></table>";this.panel.SetToolbar(toolbar);}this._UpdateAds();}
VE_Search.prototype._UpdateAds=function(){if(!this.IsWhereAdsSearch()&&(!this.ads||this.ads.length==0)){this.panel.SetFooter("");this.panel.SetFooterSize(0);}else{var ads="<span style=\"color:gray\">SPONSORED LINKS</span><br>";for(var i=0;i<this.ads.length;i++){ads+=this.ads[i].ToHtml()+"<br><br>";}this.panel.SetFooter(ads);if(!this.IsWhereAdsSearch()){this.panel.SetFooterSize(VE_Search.FooterSize);}}}
VE_Search.prototype.Destroy=function(){this._ClearPins();this.panel.Destroy();}
VE_Search.prototype.GetEntity=function(id){var r=this.results;if(!r||r.length==0){return null;}for(var i=0;i<r.length;i++){if(r[i].id==id){return r[i];}}return null;}
VE_Search.prototype.IsWhereAdsSearch=function(){return this.type=="WHERE";}
VE_SearchManager.PageForward=function(index){if(VE_SearchManager.searching){return;}VE_SearchManager.CloseSearchPopup();var s=VE_SearchManager.FindByIndex(index);if(s.displayIndex+VE_SearchManager.displayCount>=VE_SearchManager.requestCount){s.startIndex+=VE_SearchManager.requestCount;s.displayIndex=0;VE_SearchManager._DoSearch("",false);}else{s._ClearPins();s.displayIndex+=VE_SearchManager.displayCount;s._UpdatePins();s._UpdatePanel();}}
VE_SearchManager.PageBackward=function(index){if(VE_SearchManager.searching){return;}VE_SearchManager.CloseSearchPopup();var s=VE_SearchManager.FindByIndex(index);if(s.displayIndex==0){if(s.startIndex>0){s.startIndex-=VE_SearchManager.requestCount;s.displayIndex=VE_SearchManager.requestCount-VE_SearchManager.displayCount;VE_SearchManager._DoSearch("",false);}}else{s._ClearPins();s.displayIndex-=VE_SearchManager.displayCount;s._UpdatePins();s._UpdatePanel();}}
VE_SearchManager.ResizePanels=function(displayIntro){var s=VE_SearchManager.searches;if(s.length==0)return;var index=1;var p=s[0].panel;var y=(s.length*30);if(!displayIntro){VE_Help.CloseIntro();}else{VE_Help.introPanel.y=110;VE_Help.introPanel.height="windowHeight-"+(y+30+90);VE_Help.introPanel.Resize();index=0;p.Minimize();}if(p.min){p.y="windowHeight-"+y;p.Resize();}else{p.y=110;p.height="windowHeight-"+(y+90);p.Resize();}for(var i=index;i<s.length;i++){p=s[i].panel;p.y="windowHeight-"+(y-i*30);p.Minimize();p.Resize();}for(var i=0;i<s.length;i++){s[i]._SetPinZIndex(VE_MapPushpin.baseZIndex+s.length-i);}}
VE_SearchManager.popup=null;
VE_SearchManager.popupEntity=null;
VE_SearchManager.popupPushpin=null;
VE_SearchManager.popupPushpinOrigZIndex;
VE_SearchManager.popupZIndex=21;
VE_SearchManager.popupID;
VE_SearchManager._GetEntityReference=function(e){var returnValues=new Array();if(!e){e=window.event;}var t=GetTarget(e);if(!t){return;}var id=t.id;var a=id.indexOf('_');var b=id.lastIndexOf('_');returnValues[0]=id.substr(a+1,b-a-1);returnValues[1]=id.substr(b+1,id.length-b);return(returnValues);}
VE_SearchManager._ShowSearchPopup=function(e,searchIndex,entityID){if(!searchIndex&&!entityID){var returnArray=VE_SearchManager._GetEntityReference(e);if(!returnArray){return;}searchIndex=returnArray[0];entityID=returnArray[1];}var s=VE_SearchManager.FindByIndex(searchIndex);var r=s.GetEntity(entityID);if(!r||r==VE_SearchManager.popupEntity){return;}VE_SearchManager._RestorePushpinZIndex();VE_SearchManager.popupPushpin=r.pushPin;VE_SearchManager.popupPushpinOrigZIndex=s.pinZIndex;var content=VE_SearchManager.CreatePopupContent(r,true,searchIndex);VE_SearchManager.popupID=searchIndex;VE_SearchManager.ShowPopup(r,s.color,content);}
VE_SearchManager._ShowScratchpadPopup=function(entityID,type,e){if(!map.panning&&!map.zooming){if(!entityID){var returnArray=VE_SearchManager._GetEntityReference(e);if(!returnArray){return;}entityID=returnArray[0];type=returnArray[1];}var r=VE_Scratchpad.GetEntity(entityID,type);if(!r||r==VE_SearchManager.popupEntity){return;}VE_SearchManager._RestorePushpinZIndex();VE_SearchManager.popupPushpin=document.getElementById(VE_Scratchpad.GeneratePinId(r));VE_SearchManager.popupPushpinOrigZIndex=VE_Scratchpad.pinZIndex;var content=VE_SearchManager.CreatePopupContent(r,false);VE_SearchManager.popupID=entityID+type;VE_SearchManager.ShowPopup(r,VE_Scratchpad.GetColorForEntity(r),content);}}
VE_SearchManager.CreatePopupContent=function(r,scratchpadLink,searchIndex){var tb="";var name="";var description="";var text="<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr><td>";var escapedID=escape(r.GetSerializedId());text+=((r.name)?r.name+"<br>":"");text+=((r.description)?r.description+"<br>":"");text+=((r.phone)?r.phone+"<br>":"");if(r.type=="yp"){var windowW=(GetWindowWidth()-400<775?775:GetWindowWidth()-400);tb+="<br><a href=\"javascript:OpenNewWindow('"+GetUrlPrefix()+"Details.aspx?dt=yp."+r.id+"&style="+map.GetMapStyle()+"', 'Detail"+r.id+"', 'all', "+windowW+", 500, 200, 200);VE_Analytics.LogDetails();\" class=\"VE_Panel_sublink\" oncontextmenu=\"return false;\">Details</a>";}if(scratchpadLink){tb+="<br><a href=\"javascript:VE_Scratchpad.AddSearchResult("+searchIndex+", "+r.id+");VE_Analytics.LogAddScratchpad();\" class=\"VE_Panel_sublink\" oncontextmenu=\"return false;\">Add to Scratch Pad</a>";}name=escape(r.name);description=escape(r.description);var body=escape(r.name+"\n"+r.description+"\n"+GetUrlPrefix()+"?sp="+escapedID+"\n\n");if(r.type!="al"){tb+="<br><a href=\""+VE_SearchManager._GenerateDrivingDirectionsUrl(2,name,description,r.latitude,r.longitude)+"\" class=\"VE_Panel_sublink\" target=\"_blank\">Drive To</a>";tb+=" or <a href=\""+VE_SearchManager._GenerateDrivingDirectionsUrl(1,name,description,r.latitude,r.longitude)+"\" class=\"VE_Panel_sublink\" target=\"_blank\">Drive From</a>";}if(escapedID){tb+="<br><a href=\"mailto:?subject="+name+"%20at%20Virtual%20Earth&body="+body+"\" class=\"VE_Panel_sublink\" target=\"_blank\" oncontextmenu=\"return false;\">E-mail a Friend</a>";}text+=tb;text+="</td></tr></table>";return text;}
VE_SearchManager.ShowPopup=function(entity,color,tb){if(VE_SearchManager.popupEntity==entity){return;}VE_SearchManager.popupEntity=entity;VE_SearchManager.popupPushpin.style.zIndex=VE_MapPushpin.topZIndex;if(!color){color="black";}if(!VE_SearchManager.popup){VE_SearchManager.popup=new VE_Panel("searchPopup",5,80,200,0,color,VE_SearchManager.popupZIndex,"","","");var p=VE_SearchManager.popup;p.SetFooterSize(0);p.SetToolbarSize(0);p.onCloseClick=VE_SearchManager.CloseSearchPopup;}var w=windowWidth;if(VE_Scratchpad.panel&&VE_Scratchpad.panel.visible){w-=200;}var x=map.GetX(entity.longitude)+8;if(x>w-200){x-=217;}var p=VE_SearchManager.popup;p.SetColor(color);p.SetTitle(entity.name);p.SetBody(tb);p.Show();p.height=VE_SearchManager.GetPopupBodyHeight()+p.toolbarHeight+p.footerHeight+34;var y=map.GetY(entity.latitude)-11;if(y>windowHeight-120){y-=p.height-20;}p.SetPosition(x,y,180,80);p.Resize();}
VE_SearchManager.GetPopupBodyHeight=function(){var e=document.getElementById("searchPopup_body").getElementsByTagName("table");var bh=0;if(e!=null&&e.length>0){for(var i=0;i<e.length;i++){bh+=e[i].offsetHeight;}}return bh;}
VE_SearchManager.CloseSearchPopup=function(){var p=VE_SearchManager.popup;if(p){p.Hide();}VE_SearchManager._RestorePushpinZIndex();VE_SearchManager.popupPushpin=null;VE_SearchManager.popupEntity=null;}
VE_SearchManager._RestorePushpinZIndex=function(){if(!VE_SearchManager.popupPushpin){return;}VE_SearchManager.popupPushpin.style.zIndex=VE_SearchManager.popupPushpinOrigZIndex;}
VE_SearchManager._GenerateDrivingDirectionsUrl=function(paramNum,name,description,lat,lon){var separator=description?"%20-%20":"";return directionsUrl.replace(/\{0\}/g,directionsDomain).replace(/\{1\}/g,paramNum).replace(/\{2\}/,name+separator+description).replace(/\{3\}/,lat).replace(/\{4\}/,lon);}
function VE_SearchResult(id,name,description,phone,rating,type,latitude,longitude){this.id=id;this.name=name;this.description=description;this.phone=phone;this.rating=rating;this.type=type;this.latitude=latitude;this.longitude=longitude;this.pushPin=null;}
VE_SearchResult.prototype.GetSerializedId=function(){switch(this.type){case"al":return"";case"adr":return"adr"+"."+this.name;default:return this.type+"."+this.id.toString();}}
function VE_Config(){this._items=new Array();this._categories=new Array();}
VE_Config.prototype.AddCategory=function(category){if(!category||category.constructor!=VE_ConfigCat){return;}for(var i=0;i<this._categories.length;i++){if(this._categories[i].name==category.name){this._categories[i]=category;return;}}this._categories.push(category);}
VE_Config.prototype.RemoveCategory=function(categoryName){if(!categoryName){return;}for(var i=0;i<this._categories.length;i++){if(this._categories[i].name==categoryName){this._categories.splice(i,1);break;}}for(var i=0;i<this._items.length;){if(this._items[i].category==categoryName){this._items.splice(i,1);}else{i++;}}}
VE_Config.prototype.AddItem=function(item){if(!item||item.constructor!=VE_ConfigItem){return;}var categoryExists=false;for(var i=0;i<this._categories.length;i++){if(this._categories[i].name==item.category){categoryExists=true;break;}}if(!categoryExists){return;}for(var i=0;i<this._items.length;i++){if(this._items[i].name==item.name){this._items[i]=item;return;}}this._items.push(item);}
VE_Config.prototype.RemoveItem=function(name){for(var i=0;i<this._items.length;i++){if(this._items[i].name==name){this._items.splice(i,1);return;}}}
VE_Config.prototype.GetItemsForCategory=function(category){var categoryItems=new Array();for(var i=0;i<this._items.length;i++){if(this._items[i].category==category){categoryItems.push(this._items[i]);}}return categoryItems;}
VE_Config.prototype.SetValue=function(name,value){if(!name||value==null){return;}for(var i=0;i<this._items.length;i++){if(this._items[i].name==name){this._items[i].SetValue(value);return;}}}
VE_Config.prototype.GetValue=function(name){if(!name){return;}for(var i=0;i<this._items.length;i++){if(this._items[i].name==name){return this._items[i].value;}}return null;}
VE_Config.prototype.ToString=function(category,persistentOnly){var returnedString="";var isFirst=true;for(var i=0;i<this._items.length;i++){if(category&&this._items[i].category!=category){continue;}if(!this._items[i].HasValue()||(persistentOnly&&!this._items[i].persist)){continue;}if(!isFirst){returnedString+="&";}returnedString+=this._items[i].ToString();isFirst=false;}return returnedString;}
VE_Config.prototype.LoadValuesFromString=function(configurationToString){if(!configurationToString){return;}var configItemStrings=configurationToString.split("&");for(var i=0;i<configItemStrings.length;i++){var nameValueStrings=configItemStrings[i].split("=");if(nameValueStrings.length!=2){continue;}this.SetValue(nameValueStrings[0],nameValueStrings[1]);}}
function VE_ConfigCat(name,description){this.name=name;this.description=description;}
function VE_ConfigItem(name,description,category,validator,value,persist,userCanEdit){this.name=name;this.description=description;this.category=category;this.persist=persist;this.userCanEdit=userCanEdit;this._validator=validator;this.SetValue(value);if(this.value==null){this.value=this._validator.DefaultValue();}}
VE_ConfigItem.prototype.GetType=function(){return this._validator.type;}
VE_ConfigItem.prototype.SetValue=function(value){var parsedValue=this._validator.ParseValue(value);if(this._validator.ValidValue(parsedValue)){this.value=parsedValue;}}
VE_ConfigItem.prototype.HasValue=function(){if(this._validator.validatorType=="VE_ArrayValidator"){return this.value.length>0;}else{return this.value!=null;}}
VE_ConfigItem.prototype.ToString=function(){var returnString=this.name+"=";if(this.value.constructor==Array){var isFirst=true;for(var i=0;i<this.value.length;i++){if(!isFirst){returnString+="|";}returnString+=VE_ConfigItem.EscapeValue(this.value[i]);isFirst=false;}}else{returnString+=VE_ConfigItem.EscapeValue(this.value);}return returnString;}
VE_ConfigItem.EscapeValue=function(value){if(!value||value.constructor!=String){return escape(value);}return escape(value.replace(/\|/," "));}
function VE_State(pageLastModified){this._LoadStateDefault();var displayIntroPanel=true;var doBestFit=true;if(pageLastModified!=GetCookie(VE_State.CookieNamePageLastModified)){this._LoadStateFromCookie(true);doBestFit=this._LoadStateFromUrl();}else{this._LoadStateFromCookie(false);displayIntroPanel=false;doBestFit=false;}if(this.GetSearchKeywords().length>0){displayIntroPanel=false;}this._RestoreFromState(displayIntroPanel,doBestFit);}
VE_State.prototype._LoadStateDefault=function(){this._config=new VE_Config();var stringTypeValidator=new VE_TypeValidator("string");var booleanTypeValidator=new VE_TypeValidator("boolean");var urlApiVersionValidator=new VE_RangeValidator(1,1,true);this._config.AddCategory(new VE_ConfigCat(VE_State.CategorySystem,""));var currentUrlApiVersionItem=new VE_ConfigItem(VE_State.ItemCurrentUrlApiVersion,"",VE_State.CategorySystem,urlApiVersionValidator,currentUrlApiVersion,false,false);this._config.AddItem(currentUrlApiVersionItem);var tileUrlPrefixesItem=new VE_ConfigItem(VE_State.ItemTileUrlPrefixes,"",VE_State.CategorySystem,stringTypeValidator,tileUrlPrefixes,false,false);this._config.AddItem(tileUrlPrefixesItem);var wifiServiceUrlItem=new VE_ConfigItem(VE_State.ItemWifiServiceUrl,"",VE_State.CategorySystem,stringTypeValidator,wifiServiceUrl,false,false);this._config.AddItem(wifiServiceUrlItem);var wifiDownloadUrlItem=new VE_ConfigItem(VE_State.ItemWifiDownloadUrl,"",VE_State.CategorySystem,stringTypeValidator,wifiDownloadUrl,false,false);this._config.AddItem(wifiDownloadUrlItem);var maxInputCountValidator=new VE_RangeValidator(50,100,true);var maxInputCountItem=new VE_ConfigItem(VE_State.ItemMaxInputCount,"",VE_State.CategorySystem,maxInputCountValidator,maxInputCount,false,false);this._config.AddItem(maxInputCountItem);var maxInputStringLengthValidator=new VE_StringLengthValidator(this.GetMaxInputCount());var arrayStringLengthValueValidator=function(value){if(value==null||value.constructor!=Array){return false;}for(var i=0;i<value.length;i++){if(!maxInputStringLengthValidator.ValidValue(value[i])){return false;}}return true;};var arrayStringLengthValueParser=function(value){return maxInputStringLengthValidator.ParseValue(value);};this._config.AddCategory(new VE_ConfigCat(VE_State.CategoryViewport,""));var cpValueValidator=function(value){if(value==null||value.constructor!=Array||value.length!=2){return false;}var latValidator=new VE_RangeValidator(-85.0,85.0);var lonValidator=new VE_RangeValidator(-180.0,180.0);return latValidator.ValidValue(value[0])&&lonValidator.ValidValue(value[1]);};var cpValidator=new VE_ArrayValidator("number",2,2,cpValueValidator);var cpConfigItem=new VE_ConfigItem(VE_State.ItemCenterPoint,"",VE_State.CategoryViewport,cpValidator,defaultLatitude+"|"+defaultLongitude,true,false);this._config.AddItem(cpConfigItem);var mapStyleValidator=new VE_ValidValuesValidator("string",["a","h","r"]);var mapStyleConfigItem=new VE_ConfigItem(VE_State.ItemMapStyle,"",VE_State.CategoryViewport,mapStyleValidator,defaultMapStyle,true,false);this._config.AddItem(mapStyleConfigItem);var zoomValidator=new VE_RangeValidator(0,19,true);var zoomConfigItem=new VE_ConfigItem(VE_State.ItemZoom,"",VE_State.CategoryViewport,zoomValidator,defaultZoom,true,false);this._config.AddItem(zoomConfigItem);this._config.AddCategory(new VE_ConfigCat(VE_State.CategoryStartup,""));var specifiedUrlApiVersionItem=new VE_ConfigItem(VE_State.ItemSpecifiedUrlApiVersion,"",VE_State.CategoryStartup,urlApiVersionValidator,currentUrlApiVersion,false,false);this._config.AddItem(specifiedUrlApiVersionItem);var autolocateItem=new VE_ConfigItem(VE_State.ItemAutolocate,"",VE_State.CategoryStartup,booleanTypeValidator,false,false,false);this._config.AddItem(autolocateItem);var startWhereItem=new VE_ConfigItem(VE_State.ItemStartWhere,"",VE_State.CategoryStartup,maxInputStringLengthValidator,"",false,false);this._config.AddItem(startWhereItem);this._config.AddCategory(new VE_ConfigCat(VE_State.CategorySearches,""));var searchesValidator=new VE_ArrayValidator("string",0,parseInt(maximumSearches),arrayStringLengthValueValidator,arrayStringLengthValueParser);var searchesConfigItem=new VE_ConfigItem(VE_State.ItemSearches,"",VE_State.CategorySearches,searchesValidator,[],true,false);this._config.AddItem(searchesConfigItem);var serverPageSizeValidator=new VE_RangeValidator(1,50,true);var serverPageSizeItem=new VE_ConfigItem(VE_State.ItemServerPageSize,"",VE_State.CategorySearches,serverPageSizeValidator,serverPageSize,false,false);this._config.AddItem(serverPageSizeItem);var maxSearchesValidator=new VE_RangeValidator(1,10,true);var maxSearchesItem=new VE_ConfigItem(VE_State.ItemMaxSearches,"",VE_State.CategorySearches,maxSearchesValidator,maximumSearches,false,false);this._config.AddItem(maxSearchesItem);this._config.AddCategory(new VE_ConfigCat(VE_State.CategoryScratchpad,""));var scratchpadValidator=new VE_ArrayValidator("string",0,null,arrayStringLengthValueValidator,arrayStringLengthValueParser);var scratchpadConfigItem=new VE_ConfigItem(VE_State.ItemScratchpadIds,"",VE_State.CategoryScratchpad,scratchpadValidator,[],true,false);this._config.AddItem(scratchpadConfigItem);this._config.AddCategory(new VE_ConfigCat(VE_State.CategoryUserOptionsExit,"On Exit"));var saveLocationConfigItem=new VE_ConfigItem(VE_State.ItemSaveLocation,"Save my last location",VE_State.CategoryUserOptionsExit,booleanTypeValidator,true,true,true);this._config.AddItem(saveLocationConfigItem);var saveSearchesConfigItem=new VE_ConfigItem(VE_State.ItemSaveSearches,"Save my searches",VE_State.CategoryUserOptionsExit,booleanTypeValidator,false,true,true);this._config.AddItem(saveSearchesConfigItem);var saveScratchpadConfigItem=new VE_ConfigItem(VE_State.ItemSaveScratchpad,"Save my Scratch Pad",VE_State.CategoryUserOptionsExit,booleanTypeValidator,true,true,true);this._config.AddItem(saveScratchpadConfigItem);this._config.AddCategory(new VE_ConfigCat(VE_State.CategoryUserOptionsMap,"Map Navigation"));var enableAnimatedMovementConfigItem=new VE_ConfigItem(VE_State.ItemAnimatedMovementsEnabled,"Use animated pan and zoom",VE_State.CategoryUserOptionsMap,booleanTypeValidator,true,true,true);this._config.AddItem(enableAnimatedMovementConfigItem);this._config.AddCategory(new VE_ConfigCat(VE_State.CategoryUserOptionsSearch,"Searching"));var clientPageSizeValidator=new VE_ValidValuesValidator("number",[5,10]);var clientPageSizeConfigItem=new VE_ConfigItem(VE_State.ItemClientPageSize,"Select the number of search results to display at one time:",VE_State.CategoryUserOptionsSearch,clientPageSizeValidator,clientPageSize,true,true,true);this._config.AddItem(clientPageSizeConfigItem);this._config.AddCategory(new VE_ConfigCat(VE_State.CategoryUserOptionsLocate,"Locating Me"));var dontAskWifiConfigItem=new VE_ConfigItem(VE_State.ItemDontAskWiFiLocator,"Don't ask about installing Microsoft Location Finder",VE_State.CategoryUserOptionsLocate,booleanTypeValidator,false,true,true);this._config.AddItem(dontAskWifiConfigItem);}
VE_State.prototype._LoadStateFromCookie=function(persistent){var stateCookie=GetCookie(VE_State._GetCookieName(VE_State.CookieNameState,persistent));if(!stateCookie){return;}this._config.LoadValuesFromString(stateCookie);}
VE_State.prototype._LoadStateFromUrl=function(){var parameterString=GetUrlParameterString();if(!parameterString){return true;}this.SetSearchKeywords([]);this.SetScratchpadEntityIds([]);var cookieZoom=this.GetZoom();this._config.LoadValuesFromString(parameterString);var urlParameters=GetUrlParameters();var centerPointSpecified=false;var zoomSpecified=false;for(var i=0;i<urlParameters.length;i+=2){if(urlParameters[i]==VE_State.ItemCenterPoint){centerPointSpecified=true;}else if(urlParameters[i]==VE_State.ItemZoom){zoomSpecified=true;}}if(!zoomSpecified&&centerPointSpecified){this.SetZoom(defaultZoom);}else if(zoomSpecified&&!centerPointSpecified){this.SetZoom(cookieZoom);}return!centerPointSpecified&&this.GetStartWhere()==""&&!this.GetAutoLocate();}
VE_State.prototype.StoreStateInCookies=function(){var searchesString=this._config.ToString(VE_State.CategorySearches,true);var viewportString=this._config.ToString(VE_State.CategoryViewport,true);var scratchpadString=this._config.ToString(VE_State.CategoryScratchpad,true);var optionsOnExitString=this._config.ToString(VE_State.CategoryUserOptionsExit,true);var optionsMapNavigationString=this._config.ToString(VE_State.CategoryUserOptionsMap,true);var optionsSearchingString=this._config.ToString(VE_State.CategoryUserOptionsSearch,true);var optionsLocatingMeString=this._config.ToString(VE_State.CategoryUserOptionsLocate,true);var sessionCookieString=optionsOnExitString+"&"+optionsMapNavigationString+"&"+optionsSearchingString+"&"+optionsLocatingMeString;var persistentCookieString=sessionCookieString;if(searchesString){sessionCookieString+="&"+searchesString;if(this._config.GetValue(VE_State.ItemSaveSearches)){persistentCookieString+="&"+searchesString;}}if(viewportString){sessionCookieString+="&"+viewportString;if(this._config.GetValue(VE_State.ItemSaveLocation)){persistentCookieString+="&"+viewportString;}}if(scratchpadString){sessionCookieString+="&"+scratchpadString;if(this._config.GetValue(VE_State.ItemSaveScratchpad)){persistentCookieString+="&"+scratchpadString;}}SetCookie(VE_State._GetCookieName(VE_State.CookieNameState,false),sessionCookieString);SetCookie(VE_State._GetCookieName(VE_State.CookieNameState,true),persistentCookieString,VE_State.CookieExpDateEOT);SetCookie(VE_State.CookieNamePageLastModified,timestamp);}
VE_State._GetCookieName=function(cookieName,persistent){if(persistent){return cookieName+VE_State.CookieNameSuffixPersistent;}return cookieName+VE_State.CookieNameSuffixSession;}
VE_State.prototype._RestoreFromState=function(displayIntroPanel,doBestFit){CreateMessageControl();VE_Compass.CreateControl();VE_Scratchpad.CreatePanel();VE_MapControl.tileUrlPrefixes=this.GetTileUrlPrefixes().split(',');var latitude=this.GetLatitude();var longitude=this.GetLongitude();var zoom=this.GetZoom();var mapStyle=this.GetMapStyle();VE_MapControl.animatedMovementEnabled=this.GetAnimatedMovementsEnabled();CreateZoomWidget(zoom);StartMap(latitude,longitude,zoom,mapStyle,"absolute",0,0,GetWindowWidth(),GetWindowHeight());UpdateMapStyleWidget();VE_SearchManager.maxSearches=this.GetMaxSearches();VE_SearchManager.displayCount=this.GetClientPageSize();VE_SearchManager.requestCount=this.GetServerPageSize();VE_SearchManager.BulkSearch(this.GetSearchKeywords());VE_Scratchpad.Populate(this.GetScratchpadEntityIds(),doBestFit);VE_Help.CreateHelpPanel();if(displayIntroPanel){VE_Help.CreateIntroPanel();}var mapScale=document.getElementById("VE_MapScale");PositionElement(mapScale,windowWidth-160,windowHeight-50,150,18);mapScale.style.display="block";PositionHelperLinks();document.f.where.value=useCurrentViewText;document.f.what.focus();var what=document.getElementById("what");var where=document.getElementById("where");what.setAttribute("maxLength",this.GetMaxInputCount());where.setAttribute("maxLength",this.GetMaxInputCount());UpdateMapScale();var startWhere=this.GetStartWhere();if(startWhere!=""){startWhere=startWhere.replace(/'/g, '\\\'');setTimeout("VE_SearchManager.Search('', "+IOSec.EncodeJs(startWhere)+")",1000);}else if(this.GetAutoLocate()){setTimeout("AutoLocate()",1000);}}
VE_State.CookieNameState="VE_State";
VE_State.CookieNamePageLastModified="PageLastModified";
VE_State.CookieNameSuffixPersistent="Persistent";
VE_State.CookieNameSuffixSession="Session";
VE_State.CookieExpDateEOT=new Date(4000,12,31,23,59);
VE_State.CategorySystem="System";
VE_State.CategoryViewport="Viewport";
VE_State.CategoryStartup="Startup";
VE_State.CategorySearches="Searches";
VE_State.CategoryScratchpad="Scratchpad";
VE_State.CategoryUserOptionsExit="UserOptionsExit";
VE_State.CategoryUserOptionsMap="UserOptionsMap";
VE_State.CategoryUserOptionsSearch="UserOptionsSearch";
VE_State.CategoryUserOptionsLocate="UserOptionsLocate";
VE_State.ItemCurrentUrlApiVersion="CurrentUrlApiVersion";
VE_State.ItemTileUrlPrefixes="TileUrlPrefixes";
VE_State.ItemWifiServiceUrl="WifiServiceUrl";
VE_State.ItemWifiDownloadUrl="WifiDownloadUrl";
VE_State.ItemMaxInputCount="MaxInputCount";
VE_State.ItemCenterPoint="cp";
VE_State.ItemMapStyle="style";
VE_State.ItemZoom="lvl";
VE_State.ItemSpecifiedUrlApiVersion="v";
VE_State.ItemAutolocate="autolocate";
VE_State.ItemStartWhere="where1";
VE_State.ItemSearches="ss";
VE_State.ItemServerPageSize="ServerPageSize";
VE_State.ItemMaxSearches="MaxSearches";
VE_State.ItemScratchpadIds="sp";
VE_State.ItemSaveLocation="SaveLocation";
VE_State.ItemSaveSearches="SaveSearches2";
VE_State.ItemSaveScratchpad="SaveScratchpad";
VE_State.ItemAnimatedMovementsEnabled="AnimatedMovementsEnabled";
VE_State.ItemClientPageSize="ClientPageSize";
VE_State.ItemDontAskWiFiLocator="DontAskWiFiLocator";
VE_State.prototype.GetPermalink=function(){var searchesString=this._config.ToString(VE_State.CategorySearches,true);var viewportString=this._config.ToString(VE_State.CategoryViewport,true);var scratchpadString=this._config.ToString(VE_State.CategoryScratchpad,true);var urlParameterString="";if(searchesString){if(urlParameterString){urlParameterString+="&";}urlParameterString+=searchesString;}if(viewportString){if(urlParameterString){urlParameterString+="&";}urlParameterString+=viewportString;}if(scratchpadString){if(urlParameterString){urlParameterString+="&";}urlParameterString+=scratchpadString;}return GetUrlPrefix()+"default.aspx?"+urlParameterString+"&v="+this.GetCurrentUrlApiVersion();}
VE_State.prototype.UpdateFromMap=function(){this.SetCenterPoint([map.GetCenterLatitude().toFixed(6),map.GetCenterLongitude().toFixed(6)]);this.SetZoom(map.GetZoomLevel());this.SetMapStyle(map.GetMapStyle());}
VE_State.prototype.UpdateFromSearches=function(){var searchKeywords=new Array(VE_SearchManager.searches.length);for(var i=0;i<VE_SearchManager.searches.length;i++){if(!VE_SearchManager.searches[i]||VE_SearchManager.searches[i].IsWhereAdsSearch()){continue;}searchKeywords.push(VE_SearchManager.searches[i].phrase);}this.SetSearchKeywords(searchKeywords);}
VE_State.prototype.UpdateFromScratchpad=function(){var scratchpadEntities=new Array(VE_Scratchpad.entities.length);for(var i=0;i<VE_Scratchpad.entities.length;i++){if(!VE_Scratchpad.entities[i]||VE_Scratchpad.entities[i].type=="al"){continue;}scratchpadEntities.push(VE_Scratchpad.entities[i].GetSerializedId());}this.SetScratchpadEntityIds(scratchpadEntities);}
VE_SearchManager.onAddSearch=function(){if(state){state.UpdateFromSearches();}}
VE_SearchManager.onRemoveSearch=function(){if(state){state.UpdateFromSearches();}}
VE_Scratchpad.onAddSearchResult=function(){if(state){state.UpdateFromScratchpad();}}
VE_Scratchpad.onAddLocation=function(){if(state){state.UpdateFromScratchpad();}}
VE_Scratchpad.onAddResults=function(){if(state){state.UpdateFromScratchpad();}}
VE_Scratchpad.onRemoveEntity=function(){if(state){state.UpdateFromScratchpad();}}
VE_SearchManager.onAddSearch=function(){if(state){state.UpdateFromSearches();}}
VE_SearchManager.onRemoveSearch=function(){if(state){state.UpdateFromSearches();}}
VE_State.prototype.GetMaxInputCount=function(){return this._config.GetValue(VE_State.ItemMaxInputCount);}
VE_State.prototype.GetMaxSearches=function(){return this._config.GetValue(VE_State.ItemMaxSearches);}
VE_State.prototype.GetServerPageSize=function(){return this._config.GetValue(VE_State.ItemServerPageSize);}
VE_State.prototype.GetClientPageSize=function(){return this._config.GetValue(VE_State.ItemClientPageSize);}
VE_State.prototype.GetTileUrlPrefixes=function(){return this._config.GetValue(VE_State.ItemTileUrlPrefixes);}
VE_State.prototype.GetWifiServiceUrl=function(){return this._config.GetValue(VE_State.ItemWifiServiceUrl);}
VE_State.prototype.GetWifiDownloadUrl=function(){return this._config.GetValue(VE_State.ItemWifiDownloadUrl);}
VE_State.prototype.GetCenterPoint=function(){return this._config.GetValue(VE_State.ItemCenterPoint);}
VE_State.prototype.GetLatitude=function(){return this._config.GetValue(VE_State.ItemCenterPoint)[0];}
VE_State.prototype.GetLongitude=function(){return this._config.GetValue(VE_State.ItemCenterPoint)[1];}
VE_State.prototype.GetMapStyle=function(){return this._config.GetValue(VE_State.ItemMapStyle);}
VE_State.prototype.GetZoom=function(){return this._config.GetValue(VE_State.ItemZoom);}
VE_State.prototype.GetSearchKeywords=function(){return this._config.GetValue(VE_State.ItemSearches);}
VE_State.prototype.GetScratchpadEntityIds=function(){return this._config.GetValue(VE_State.ItemScratchpadIds);}
VE_State.prototype.GetDontAskWifiLocator=function(){return this._config.GetValue(VE_State.ItemDontAskWiFiLocator);}
VE_State.prototype.GetAnimatedMovementsEnabled=function(){return this._config.GetValue(VE_State.ItemAnimatedMovementsEnabled);}
VE_State.prototype.GetSaveLocation=function(){return this._config.GetValue(VE_State.ItemSaveLocation);}
VE_State.prototype.GetCurrentUrlApiVersion=function(){return this._config.GetValue(VE_State.ItemCurrentUrlApiVersion);}
VE_State.prototype.GetSaveSearches=function(){return this._config.GetValue(VE_State.ItemSaveSearches);}
VE_State.prototype.GetSaveScratchpad=function(){return this._config.GetValue(VE_State.ItemSaveScratchpad);}
VE_State.prototype.GetAutoLocate=function(){return this._config.GetValue(VE_State.ItemAutolocate);}
VE_State.prototype.GetStartWhere=function(){return this._config.GetValue(VE_State.ItemStartWhere);}
VE_State.prototype.SetCenterPoint=function(value){this._config.SetValue(VE_State.ItemCenterPoint,value);}
VE_State.prototype.SetMapStyle=function(value){this._config.SetValue(VE_State.ItemMapStyle,value);}
VE_State.prototype.SetZoom=function(value){this._config.SetValue(VE_State.ItemZoom,value);}
VE_State.prototype.SetSearchKeywords=function(value){this._config.SetValue(VE_State.ItemSearches,value);}
VE_State.prototype.SetScratchpadEntityIds=function(value){this._config.SetValue(VE_State.ItemScratchpadIds,value);}
VE_State.prototype.SetDontAskWifiLocator=function(value){this._config.SetValue(VE_State.ItemDontAskWiFiLocator,value);}
VE_State.prototype.SetAnimatedMovementsEnabled=function(value){this._config.SetValue(VE_State.ItemAnimatedMovementsEnabled,value);}
VE_ConfigItem.prototype.ToHtmlElement=function(){if(this._validator.type=="boolean"&&this._validator.validatorType!="VE_ArrayValidator"){var returnElement=document.createElement("div");var innerHTML='<input id="'+VE_ConfigItem.GenerateHtmlControlID(this.name)+'" type="checkbox"';if(this.value){innerHTML+=' checked="true"';}innerHTML+='>'+SanitizeHtmlString(this.description);returnElement.innerHTML=innerHTML;return returnElement;}else if(this._validator.validatorType=="VE_ValidValuesValidator"){var returnElement=document.createElement("div");var innerHTML=SanitizeHtmlString(this.description)+' <select id="'+VE_ConfigItem.GenerateHtmlControlID(this.name)+'">';for(var i=0;i<this._validator.validValues.length;i++){innerHTML+='<option value="'+SanitizeHtmlString(this._validator.validValues[i])+'"';if(this.value==this._validator.validValues[i]){innerHTML+=' selected="selected"';}innerHTML+='>'+SanitizeHtmlString(this._validator.validValues[i])+'</option>';}innerHTML+='</select>';returnElement.innerHTML=innerHTML;return returnElement;}else{var returnElement=document.createElement("div");var innerHTML=this.description+' <input id="'+VE_ConfigItem.GenerateHtmlControlID(this.name)+'" type="text" value="'+SanitizeHtmlString(this.value)+'">';returnElement.innerHTML=innerHTML;return returnElement;}return null;}
VE_ConfigItem.prototype.SetValueFromControl=function(){var valueControl=document.getElementById(VE_ConfigItem.GenerateHtmlControlID(this.name));if(!valueControl){return;}if(this._validator.type=="boolean"&&this._validatorType!="VE_ArrayValidator"){this.SetValue(valueControl.checked);}else if(this._validator.validatorType=="VE_ValidValuesValidator"){this.SetValue(valueControl.options[valueControl.selectedIndex].value);}else{this.SetValue(valueControl.value);}}
VE_ConfigItem.GenerateHtmlControlID=function(name){return"config_"+SanitizeHtmlString(name);}
VE_Config.prototype.GetValuesFromControls=function(){for(var i=0;i<this._items.length;i++){this._items[i].SetValueFromControl();}}
VE_Config.prototype.ToHtmlElement=function(userCanEditOnly){var returnElement=document.createElement("div");var itemsByCategory=new Array();for(var i=0;i<this._items.length;i++){if(userCanEditOnly&&!this._items[i].userCanEdit){continue;}var categoryItems=itemsByCategory[this._items[i].category];if(!categoryItems){categoryItems=new Array();itemsByCategory[this._items[i].category]=categoryItems;}var itemElement=this._items[i].ToHtmlElement();if(itemElement!=null){categoryItems.push(itemElement);}}for(var i=0;i<this._categories.length;i++){var categoryItems=itemsByCategory[this._categories[i].name];if(categoryItems){returnElement.appendChild(document.createElement("br"));var categoryDiv=document.createElement("div");var categoryTitle=document.createElement("b");categoryTitle.appendChild(document.createTextNode(this._categories[i].description));categoryDiv.appendChild(categoryTitle);returnElement.appendChild(categoryDiv);for(var j=0;j<categoryItems.length;j++){categoryDiv.appendChild(categoryItems[j]);}}}return returnElement;}
VE_State.prototype.SaveOptionsValues=function(){this._config.GetValuesFromControls();}
function OpenOptionsPanel(){VE_Help.helpPanel.Show();VE_Help.helpPanel.Maximize();VE_Help.helpPanel.SetTitle("Options");VE_Help.helpPanel.body.innerHTML="";var containerElement=document.createElement("div");containerElement.id="VE_UserOptions";var optionsElement=state._config.ToHtmlElement(true);containerElement.appendChild(optionsElement);containerElement.appendChild(document.createElement("br"));var buttonsContainer=document.createElement("div");var saveOptionsButton=document.createElement("input");saveOptionsButton.setAttribute("type","button");saveOptionsButton.setAttribute("id","saveOptions");saveOptionsButton.value="OK";saveOptionsButton.className="VE_UserOptions_Button";saveOptionsButton.onclick=SaveOptionsValues;buttonsContainer.appendChild(saveOptionsButton);var cancelSaveOptionsButton=document.createElement("input");cancelSaveOptionsButton.setAttribute("type","button");cancelSaveOptionsButton.setAttribute("id","cancelSaveOptions");cancelSaveOptionsButton.value="Cancel";cancelSaveOptionsButton.className="VE_UserOptions_Button";cancelSaveOptionsButton.onclick=CancelSaveOptionsValues;buttonsContainer.appendChild(cancelSaveOptionsButton);containerElement.appendChild(buttonsContainer);VE_Help.helpPanel.body.appendChild(containerElement);}
function SaveOptionsValues(){state.SaveOptionsValues();DoOptionsAnalytics();if(VE_SearchManager.displayCount!=state.GetClientPageSize()){VE_SearchManager.displayCount=state.GetClientPageSize();VE_SearchManager.RefreshAll();}VE_MapControl.animatedMovementEnabled=state.GetAnimatedMovementsEnabled();VE_Help.ClosePanel();}
function CancelSaveOptionsValues(){VE_Analytics.LogCancelOptions();VE_Help.ClosePanel();}
function DoOptionsAnalytics(){var location=state.GetSaveLocation();var savesearches=state.GetSaveSearches();var scratchpad=state.GetSaveScratchpad();if(location&&savesearches&&scratchpad)VE_Analytics.LogSaveAllOptions();else if(!location&&!savesearches&&!scratchpad)VE_Analytics.LogSaveNothingOptions();else if(location&&savesearches&&!scratchpad)VE_Analytics.LogSaveLocationandSearchOptions();else if(location&&scratchpad&&!savesearches)VE_Analytics.LogSaveScratchpadandLocationOptions();else if(savesearches&&scratchpad&&!location)VE_Analytics.LogSaveScratchpadandSearchOptions();else if(location&&!savesearches&&!scratchpad)VE_Analytics.LogSaveLocationOptions();else if(savesearches&&!scratchpad&&!location)VE_Analytics.LogSaveSearchOptions();else if(scratchpad&&!savesearches&&!location)VE_Analytics.LogSaveScratchpadOptions();}
function VE_TypeValidator(type){this.type=type;this.validatorType="VE_TypeValidator";}
VE_TypeValidator.prototype.ValidValue=function(value){return VE_TypeValidator._ValidValue(value,this.type);}
VE_TypeValidator.prototype.DefaultValue=function(){return null;}
VE_TypeValidator.prototype.ParseValue=function(value){return VE_TypeValidator._ParseValue(value,this.type);}
VE_TypeValidator._ValidValue=function(value,type){if(value==null){return false;}if(type=="int"){return typeof(value)=="number"&&value.toString().indexOf(".")==-1;}return typeof(value)==type;}
VE_TypeValidator._ParseValue=function(value,type){if(value==null){return null;}var typeOfValue=typeof(value);if(typeOfValue=="string"){value=unescape(value).replace(/^\s*|\s*$/g,"");}if(type=="int"&&typeOfValue=="number"){if(value.toString().indexOf(".")>-1){return null;}return value;}if(typeOfValue==type){return value;}if(typeOfValue=="string"){if(type=="int"){if(value.toString().indexOf(".")>-1){return null;}var returnedNumber=parseInt(value);if(isNaN(returnedNumber)){return null;}return returnedNumber;}else if(type=="number"){var returnedNumber=parseFloat(value);if(isNaN(returnedNumber)){returnedNumber=parseInt(value);}if(isNaN(returnedNumber)){return null;}return returnedNumber;}else if(type=="boolean"){if(value.toLowerCase()=="true"){return true;}else if(value.toLowerCase()=="false"){return false;}}}return null;}
VE_StringLengthValidator.prototype=new VE_TypeValidator();
function VE_StringLengthValidator(maxLength){this.type="string";this.validatorType="VE_StringValidator";if(maxLength&&maxLength.constructor==Number&maxLength>=0){this.maxLength=maxLength;}}
VE_StringLengthValidator.prototype.ParseValue=function(value){var parsedValue=VE_TypeValidator._ParseValue(value,"string");if(parsedValue!=null&&this.maxLength!=null&&parsedValue.length>this.maxLength){parsedValue=parsedValue.substr(0,this.maxLength);}return parsedValue;}
VE_StringLengthValidator.prototype.ValidValue=function(value){if(!VE_TypeValidator._ValidValue(value,"string")){return false;}if(this.maxLength!=null&&value.length>this.maxLength){return false;}return true;}
VE_StringLengthValidator.prototype.DefaultValue=function(value){return"";}
VE_ArrayValidator.prototype=new VE_TypeValidator();
function VE_ArrayValidator(type,minValues,maxValues,valueValidationFunction,valueParsingFunction){this.type=type;this.validatorType="VE_ArrayValidator";if(valueValidationFunction!=null&&typeof(valueValidationFunction)=="function"){this.valueValidationFunction=valueValidationFunction;}if(valueParsingFunction!=null&&typeof(valueParsingFunction)=="function"){this.valueParsingFunction=valueParsingFunction;}if(minValues&&minValues.constructor==Number&minValues>=0){this.minValues=minValues;}else{this.minValues=0;}if(maxValues&&maxValues.constructor==Number&maxValues>=0){this.maxValues=maxValues;}if(this.maxValues!=null&&this.minValues>this.maxValues){var oldMinValue=this.minValues;this.minValues=this.maxValues;this.maxValues=oldMinValue;}}
VE_ArrayValidator.prototype.ParseValue=function(value){if(value==null){return null;}var arrayValues=null;if(value.constructor==Array){arrayValues=new Array();for(var i=0;i<value.length;i++){var parsedValue=this._ParseSingleValue(value[i]);if(VE_TypeValidator._ValidValue(parsedValue,this.type)){arrayValues.push(parsedValue);}}}else if(value.constructor==String){arrayValues=new Array();value=value.replace(/%7c/g,"|").replace(/%7C/g,"|");var valueStrings=value.split("|");for(var i=0;i<valueStrings.length;i++){if(!valueStrings[i]){continue;}var parsedValue=this._ParseSingleValue(valueStrings[i]);if(VE_TypeValidator._ValidValue(parsedValue,this.type)){arrayValues.push(parsedValue);}}}if(arrayValues!=null&&this.maxValues!=null&&arrayValues.length>this.maxValues){arrayValues.splice(this.maxValues,arrayValues.length-this.maxValues);}return arrayValues;}
VE_ArrayValidator.prototype.ValidValue=function(value){if(!value||value.constructor!=Array){return false;}if(value.length<this.minValues||(this.maxValues!=null&&value.length>this.maxValues)){return false;}for(var i=0;i<value.length;i++){if(typeof(value[i])!=this.type){return false;}}if(this.valueValidationFunction){if(!this.valueValidationFunction(value)){return false;}}return true;}
VE_ArrayValidator.prototype.DefaultValue=function(){return[];}
VE_ArrayValidator.prototype._ParseSingleValue=function(value){if(this.valueParsingFunction!=null){return this.valueParsingFunction(value);}else{return VE_TypeValidator._ParseValue(value,this.type);}}
VE_ValidValuesValidator.prototype=new VE_TypeValidator();
function VE_ValidValuesValidator(type,validValues){this.type=type;this.validatorType="VE_ValidValuesValidator";this.validValues=new Array();if(this.type=="boolean"){this.validValues.push(true);this.validValues.push(false);}else if(validValues&&validValues.constructor==Array){for(var i=0;i<validValues.length;i++){if(VE_TypeValidator._ValidValue(validValues[i],this.type)){this.validValues.push(validValues[i]);}}}}
VE_ValidValuesValidator.prototype.ValidValue=function(value){if(!VE_TypeValidator._ValidValue(value,this.type)){return false;}if(this.validValues.length==0){return true;}for(var i=0;i<this.validValues.length;i++){if(value==this.validValues[i]){return true;}}return false;}
VE_ValidValuesValidator.prototype.DefaultValue=function(){if(this.validValues.length>0){return this.validValues[0];}else{return null;}}
VE_RangeValidator.prototype=new VE_TypeValidator();
function VE_RangeValidator(minValue,maxValue,integerOnly){if(integerOnly){this.type="int";}else{this.type="number";}this.multipleValues=false;this.validatorType="VE_RangeValidator";if(VE_TypeValidator._ValidValue(minValue,this.type)){this.minValue=minValue;}if(VE_TypeValidator._ValidValue(maxValue,this.type)){this.maxValue=maxValue;}if(this.minValue&&this.maxValue&&this.minValue>this.maxValue){var oldMinValue=this.minValue;this.minValue=this.maxValue;this.maxValue=oldMinValue;}}
VE_RangeValidator.prototype.ValidValue=function(value){if(!VE_TypeValidator._ValidValue(value,"number")){return false;}if(this.minValue!=null&&value<this.minValue){return false;}if(this.maxValue!=null&&value>this.maxValue){return false;}return true;}
VE_RangeValidator.prototype.DefaultValue=function(){if(this.minValue!=null){return this.minValue;}else if(this.maxValue!=null){return this.maxValue;}else{return null;}}
function Ad(title,url,description,latitude,longitude){this.title=title;this.url=url;this.description=description;this.latitude=latitude;this.longitude=longitude;}
Ad.prototype.ToHtml=function(){var h="<a href=\""+this.url+"\" target=\"_blank\">"+IOSec.EncodeHtml(this.title)+"</a>";if(this.description&&this.description.length>0){h+="<br/>"+IOSec.EncodeHtml(this.description);}return h;}
var ambiguousList=new Array();
function UpdateAmbiguousList(content){var el=document.getElementById('whereambiglist');if(!content||content.constructor!=Array){el.style.visibility='hidden';return;}ambiguousList=content;el.style.left=GetElementLeftPosition('where')-1;el.style.top=GetElementTopPosition('where')+21;var options=el.childNodes;if(options.length>1){for(var n=0;n<options.length;i++){el.removeChild(options[n]);}}for(var i=0;i<content.length;i++){var d=document.createElement('div');d.id=i;d.className=((i==0)?'item_on':'item');d.onmouseover=item_MouseOver;d.onmouseout=item_MouseOut;d.onclick=SetAmbiguousViewport;d.innerHTML=content[i][0];el.appendChild(d);}document.f.where.value=content[0][0];window.attachEvent("onclick",HideAmbiguousList);el.style.visibility="visible";el.setCapture(false);el.focus();}
function SetAmbiguousViewport(){var i=this.id;var lat1=ambiguousList[i][1];var lon1=ambiguousList[i][2];var lat2=ambiguousList[i][3];var lon2=ambiguousList[i][4];map.SetViewport(lat1,lon1,lat2,lon2);VE_Scratchpad.AddLocation(ambiguousList[i][0],ambiguousList[i][5],ambiguousList[i][6],"");}
function VE_Analytics(){}
VE_Analytics.imageUrl="http://c.msn.com/c.gif";
VE_Analytics.domainID=5478;
VE_Analytics.propertyID=88137;
VE_Analytics.roadStyle=88158;
VE_Analytics.aerialStyle=88178;
VE_Analytics.hybridStyle=88159;
VE_Analytics.help=88180;
VE_Analytics.scratchpadHelp=88181;
VE_Analytics.about=88182;
VE_Analytics.community=88160;
VE_Analytics.details=88161;
VE_Analytics.toolsScratchpad=88316;
VE_Analytics.addScratchpad=88317;
VE_Analytics.clearScratchpad=88318;
VE_Analytics.emailScratchpad=88319;
VE_Analytics.blogScratchpad=88320;
VE_Analytics.clickPermalink=88321;
VE_Analytics.bookmarkPermalink=88322;
VE_Analytics.emailPermalink=88323;
VE_Analytics.copyToClipboardPermalink=88324;
VE_Analytics.printDetailsPage=88328;
VE_Analytics.getDirectionsDetailsPage=88329;
VE_Analytics.getMoreInfoDetailsPage=88339;
VE_Analytics.cancelOptions=88330;
VE_Analytics.saveNothingOptions=88332;
VE_Analytics.saveLocationOptions=88331;
VE_Analytics.saveSearchOptions=88333;
VE_Analytics.saveLocationandSearchOptions=88334;
VE_Analytics.saveScratchpadOptions=88335;
VE_Analytics.saveScratchpadandLocationOptions=88336;
VE_Analytics.saveScratchpadandSearchOptions=88337;
VE_Analytics.saveAllOptions=88338;
VE_Analytics.locate=88325;
VE_Analytics.installWiFi=88326;
VE_Analytics.ipLookupWiFi=88327;
VE_Analytics._Log=function(ps){var img=new Image();img.src=VE_Analytics.imageUrl+"?RF="+escape(document.referrer)+"&PS="+ps+"&PI="+VE_Analytics.propertyID+"&DI="+VE_Analytics.domainID;}
VE_Analytics.LogMapStyle=function(s){var ps=VE_Analytics.roadStyle;if(s=='a'){ps=VE_Analytics.aerialStyle;}else if(s=='h'){ps=VE_Analytics.hybridStyle;}VE_Analytics._Log(ps);}
VE_Analytics.LogHelp=function(){VE_Analytics._Log(VE_Analytics.help);}
VE_Analytics.LogScratchpadHelp=function(){VE_Analytics._Log(VE_Analytics.scratchpadHelp);}
VE_Analytics.LogAbout=function(){VE_Analytics._Log(VE_Analytics.about);}
VE_Analytics.LogCommunity=function(){VE_Analytics._Log(VE_Analytics.community);}
VE_Analytics.LogDetails=function(){VE_Analytics._Log(VE_Analytics.details);}
VE_Analytics.LogToolsScratchpad=function(){VE_Analytics._Log(VE_Analytics.toolsScratchpad);}
VE_Analytics.LogAddScratchpad=function(){VE_Analytics._Log(VE_Analytics.addScratchpad);}
VE_Analytics.LogClearScratchpad=function(){VE_Analytics._Log(VE_Analytics.clearScratchpad);}
VE_Analytics.LogEmailScratchpad=function(){VE_Analytics._Log(VE_Analytics.emailScratchpad);}
VE_Analytics.LogBlogScratchpad=function(){VE_Analytics._Log(VE_Analytics.blogScratchpad);}
VE_Analytics.LogClickPermalink=function(){VE_Analytics._Log(VE_Analytics.clickPermalink);}
VE_Analytics.LogBookmarkPermalink=function(){VE_Analytics._Log(VE_Analytics.bookmarkPermalink);}
VE_Analytics.LogEmailPermalink=function(){VE_Analytics._Log(VE_Analytics.emailPermalink);}
VE_Analytics.LogCopyToClipboardPermalink=function(){VE_Analytics._Log(VE_Analytics.copyToClipboardPermalink);}
VE_Analytics.LogPrintDetailsPage=function(){VE_Analytics._Log(VE_Analytics.printDetailsPage);}
VE_Analytics.LogGetDirectionsDetailsPage=function(){VE_Analytics._Log(VE_Analytics.getDirectionsDetailsPage);}
VE_Analytics.LogGetMoreInfoDetailsPage=function(){VE_Analytics._Log(VE_Analytics.getMoreInfoDetailsPage);}
VE_Analytics.LogCancelOptions=function(){VE_Analytics._Log(VE_Analytics.cancelOptions);}
VE_Analytics.LogSaveNothingOptions=function(){VE_Analytics._Log(VE_Analytics.saveNothingOptions);}
VE_Analytics.LogSaveAllOptions=function(){VE_Analytics._Log(VE_Analytics.saveAllOptions);}
VE_Analytics.LogSaveLocationOptions=function(){VE_Analytics._Log(VE_Analytics.saveLocationOptions);}
VE_Analytics.LogSaveSearchOptions=function(){VE_Analytics._Log(VE_Analytics.saveSearchOptions);}
VE_Analytics.LogSaveLocationandSearchOptions=function(){VE_Analytics._Log(VE_Analytics.saveLocationandSearchOptions);}
VE_Analytics.LogSaveScratchpadOptions=function(){VE_Analytics._Log(VE_Analytics.saveScratchpadOptions);}
VE_Analytics.LogSaveScratchpadandLocationOptions=function(){VE_Analytics._Log(VE_Analytics.saveScratchpadandLocationOptions);}
VE_Analytics.LogSaveScratchpadandSearchOptions=function(){VE_Analytics._Log(VE_Analytics.saveScratchpadandSearchOptions);}
VE_Analytics.LogLocate=function(){VE_Analytics._Log(VE_Analytics.locate);}
VE_Analytics.LogInstallWiFi=function(){VE_Analytics._Log(VE_Analytics.installWiFi);}
VE_Analytics.LogIPLookupWiFi=function(){VE_Analytics._Log(VE_Analytics.ipLookupWiFi);}
function AutoLocate(){var wifi=GetWiFiControl();if(!wifi&&!state.GetDontAskWifiLocator()){ShowWifiInstallPanel();return;}var url=state.GetWifiServiceUrl();if(wifi){try{var results=wifi.GetLocation();if(results&&results.length>0){eval(results);return;}}catch(ex){}}ExecuteAutoLocateRequest(url);}
function GetWiFiControl(){var wifi=null;try{wifi=new ActiveXObject("WiFiScanner");}catch(e){try{wifi=new ActiveXObject("Microsoft.MapPoint.WiFiScanner.1");}catch(e){try{wifi=new WiFiScanner("Microsoft.MapPoint.WiFiScanner.1");}catch(e){}}}return wifi;}
function ExecuteAutoLocateRequest(url){var xmlhttp=GetXmlHttp();if(xmlhttp){xmlhttp.open("GET",url,true);xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){var code=xmlhttp.responseText;try{eval(code);}catch(ex){ShowMessage("The server is currently busy. Try again later.");}}};xmlhttp.send(null);}}
function SetAutoLocateViewport(latitude,longitude,zoom,pin,message){if(!zoom){zoom=14;}if(pin){var ts=new Date();var h=ts.getHours();var a=h>12?"pm":"am";if(h>12){h-=12;}var m=ts.getMinutes();if(m<10){m="0"+m;}var name="You Are Here";var desc="As of "+h+":"+m+a;VE_Scratchpad.AddLocation(name,latitude,longitude,desc,"al");}map.SetCenterAndZoom(latitude,longitude,zoom);if(message){ShowMessage(message);}}
function ShowWifiInstallPanel(){VE_Help.Open("Location Finder Install","Help/WiFiInstall.html");}
function InstallWifi(){OpenNewWindow(state.GetWifiDownloadUrl(),"Install","all");VE_Help.Open("Location Finder Install","Help/DuringInstall.html");}
function IPLookup(){VE_Help.ClosePanel();var url=state.GetWifiServiceUrl();ExecuteAutoLocateRequest(url);}
function VE_Compass(){}
VE_Compass.element=null;
VE_Compass.panning=false;
VE_Compass.maxScrollSpeed=15;
VE_Compass.CreateControl=function(){var el=document.createElement("div");el.id="VE_Compass";el.style.background="url(i/compass.gif)";el.onmousedown=VE_Compass._MouseDown;el.onmouseup=VE_Compass._MouseUp;el.onmousemove=VE_Compass._MouseMove;VE_Compass.element=el;document.body.appendChild(el);}
VE_Compass._MouseDown=function(e){var el=VE_Compass.element;if(el.setCapture){el.setCapture();}if(!e)e=window.event;var m=VE_Compass.maxScrollSpeed;var dx=GetMousePosX(e)-el.offsetLeft-(el.offsetWidth/2);var dy=GetMousePosY(e)-el.offsetTop-(el.offsetHeight/2);dx=Math.min(Math.max(dx,-m),m);dy=Math.min(Math.max(dy,-m),m);map.ContinuousPan(dx,dy);VE_Compass.panning=true;AutoRefresh();}
VE_Compass._MouseUp=function(){var el=VE_Compass.element;if(el.releaseCapture){el.releaseCapture();}map.StopContinuousPan();VE_Compass.panning=false;}
VE_Compass._MouseMove=function(e){if(!e)var e=window.event;if(VE_Compass.panning){var el=VE_Compass.element;var m=VE_Compass.maxScrollSpeed;var dx=GetMousePosX(e)-el.offsetLeft-(el.offsetWidth/2);var dy=GetMousePosY(e)-el.offsetTop-(el.offsetHeight/2);dx=Math.min(Math.max(dx,-m),m);dy=Math.min(Math.max(dy,-m),m);map.ContinuousPan(dx,dy);}}
function SetCookie(name,value,expires,path,domain,secure){document.cookie=name+"="+escape(value)+((expires)?"; expires="+expires.toGMTString():"")+((path)?"; path="+path:"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");}
function GetCookie(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)return null;}else{begin+=2;}var end=document.cookie.indexOf(";",begin);if(end==-1){end=dc.length;}return unescape(dc.substring(begin+prefix.length,end));}
function DeleteCookie(name,path,domain){if(GetCookie(name)){document.cookie=name+"="+((path)?"; path="+path:"")+((domain)?"; domain="+domain:"")+"; expires=Thu, 01-Jan-70 00:00:01 GMT";}}
function SanitizeHtmlString(s){if(!s||typeof(s)!="string"){return s;}return IOSec.EncodeHtml(s);}
function GetMousePosX(e){var posX=0;if(e.pageX){posX=e.pageX;}else if(e.clientX){posX=e.clientX+document.body.scrollLeft;}return posX;}
function GetMousePosY(e){var posY=0;if(e.pageY){posY=e.pageY;}else if(e.clientY){posY=e.clientY+document.body.scrollTop;}return posY;}
function GetTarget(e){if(!e)var e=window.event;var eventTarget;if(e.srcElement)eventTarget=e.srcElement;else if(e.target)eventTarget=e.target;if(eventTarget.nodeType==3)eventTarget=targ.parentNode;return eventTarget;}
function SelectText(textbox,start,end){if(!textbox)return;if(textbox.createTextRange){var textRange=textbox.createTextRange();textRange.moveStart("character",start);textRange.moveEnd("character",end);textRange.select();}else if(textbox.setSelectionRange){textbox.setSelectionRange(start,end);}}
function GetElementLeftPosition(elemID){var offsetTrail=document.getElementById(elemID);var offsetLeft=0;while(offsetTrail){offsetLeft+=offsetTrail.offsetLeft;offsetTrail=offsetTrail.offsetParent;}if(navigator.userAgent.indexOf("Mac")!=-1&&typeof(document.body.leftMargin)!="undefined"){offsetLeft+=document.body.leftMargin;}return offsetLeft;}
function GetElementTopPosition(elemID){var offsetTrail=document.getElementById(elemID);var offsetTop=0;while(offsetTrail){offsetTop+=offsetTrail.offsetTop;offsetTrail=offsetTrail.offsetParent;}if(navigator.userAgent.indexOf("Mac")!=-1&&typeof(document.body.topMargin)!="undefined"){offsetTop+=document.body.topMargin;}return offsetTop;}
var HelpHistory=new Array();
function VE_Help(){}
VE_Help.helpZIndex=31;
VE_Help.introZIndex=31;
VE_Help.introPanel=null;
VE_Help.helpPanel=null;
VE_Help.CreateHelpPanel=function(){var helpFrame="<iframe id=\"helpFrame\" src=\"about:blank\" width=\"100%\" height=\"100%\" allowtransparency=\"true\" frameborder=\"0\"></iframe>";var p=new VE_Panel("help",220,160,"windowWidth-430","windowHeight-190","blue",VE_Help.helpZIndex,"Help",helpFrame,"");p.body.className="VE_Panel_body_help";p.Hide();p.SetToolbarSize(0);p.SetFooterSize(0);p.SetOpacity(95);p.onCloseClick=function(e){e.srcPanel.Hide();};VE_Help.helpPanel=p;}
VE_Help.CreateIntroPanel=function(){var introFrame="<iframe id=\"introFrame\" src=\"Help/Intro.html\" width=\"100%\" height=\"100%\" allowtransparency=\"true\" frameborder=\"0\"></iframe>";var p=new VE_Panel("intro",5,110,180,"windowHeight - 125","blue",VE_Help.introZIndex,"Welcome",introFrame,"");p.body.className="VE_Panel_body_help";p.SetToolbarSize(0);p.SetFooterSize(0);p.onCloseClick=function(e){e.srcPanel.Hide();};VE_Help.introPanel=p;}
VE_Help.Open=function(title,url){VE_Help.helpPanel.Show();VE_Help.helpPanel.Maximize();VE_Help.helpPanel.SetTitle(title);VE_Help.helpPanel.SetBody("<iframe id=\"helpFrame\" src=\"about:blank\" width=\"100%\" height=\"100%\" allowtransparency=\"true\" frameborder=\"0\"></iframe>");document.getElementById("helpFrame").src=url;}
VE_Help.CloseIntro=function(){if(VE_Help.introPanel){VE_Help.introPanel.Hide();}}
VE_Help.OpenIntro=function(){if(VE_Help.introPanel){VE_Help.introPanel.Show();}else{VE_Help.CreateIntroPanel();VE_Help.introPanel.Show();}VE_SearchManager.ResizePanels(true);}
VE_Help.ClosePanel=function(){if(VE_Help.helpPanel){VE_Help.helpPanel.Hide();}}
function OutputEncoder_EncodeHtml(strInput){var c;var EncodeHtml='';for(var cnt=0;cnt<strInput.length;cnt++){c=strInput.charCodeAt(cnt);if(((c>96)&&(c<123))||((c>64)&&(c<91))||(c==32)||((c>47)&&(c<58))||(c==46)||(c==44)||(c==45)||(c==95)){EncodeHtml=EncodeHtml+String.fromCharCode(c);}else{EncodeHtml=EncodeHtml+'&#'+c+';';}}return EncodeHtml;}
function OutputEncoder_EncodeHtmlAttribute(strInput){var c;var EncodeHtmlAttribute='';for(var cnt=0;cnt<strInput.length;cnt++){c=strInput.charCodeAt(cnt);if(((c>96)&&(c<123))||((c>64)&&(c<91))||((c>47)&&(c<58))||(c==46)||(c==44)||(c==45)||(c==95)){EncodeHtmlAttribute=EncodeHtmlAttribute+String.fromCharCode(c);}else{EncodeHtmlAttribute=EncodeHtmlAttribute+'&#'+c+';';}}return EncodeHtmlAttribute;}
function OutputEncoder_EncodeXml(strInput){return OutputEncoder_EncodeHtml(strInput);}
function OutputEncoder_EncodeXmlAttribute(strInput){return OutputEncoder_EncodeHtmlAttribute(strInput);}
function OutputEncoder_EncodeJs(strInput){var c;var EncodeJs='';for(var cnt=0;cnt<strInput.length;cnt++){c=strInput.charCodeAt(cnt);if(((c>96)&&(c<123))||((c>64)&&(c<91))||(c==32)||((c>47)&&(c<58))||(c==46)||(c==44)||(c==45)||(c==95)){EncodeJs=EncodeJs+String.fromCharCode(c);}else if(c>127){EncodeJs=EncodeJs+'\\u'+OutputEncoder_TwoByteHex(c);}else{EncodeJs=EncodeJs+'\\x'+OutputEncoder_SingleByteHex(c);}}return'\''+EncodeJs+'\'';}
function OutputEncoder_AsNumeric(strInput){if(isNaN(parseFloat(strInput))){throw"IOSec.AsNumeric(): Error input ["+strInput+"] not a valid number.";}return strInput;}
function OutputEncoder_EncodeUrl(strInput){var c;var EncodeUrl='';for(var cnt=0;cnt<strInput.length;cnt++){c=strInput.charCodeAt(cnt);if(((c>96)&&(c<123))||((c>64)&&(c<91))||((c>47)&&(c<58))||(c==46)||(c==45)||(c==95)){EncodeUrl=EncodeUrl+String.fromCharCode(c);}else if(c>127){EncodeUrl=EncodeUrl+'%u'+OutputEncoder_TwoByteHex(c);}else{EncodeUrl=EncodeUrl+'%'+OutputEncoder_SingleByteHex(c);}}return EncodeUrl;}
function OutputEncoder_SingleByteHex(charC){var SingleByteHex=charC.toString(16);for(var cnt=SingleByteHex.length;cnt<2;cnt++){SingleByteHex="0"+SingleByteHex;}return SingleByteHex;}
function OutputEncoder_TwoByteHex(charC){var TwoByteHex=charC.toString(16);for(var cnt=TwoByteHex.length;cnt<4;cnt++){TwoByteHex="0"+TwoByteHex;}return TwoByteHex;}
function OutputEncoder(){this.EncodeHtml=OutputEncoder_EncodeHtml;this.EncodeHtmlAttribute=OutputEncoder_EncodeHtmlAttribute;this.EncodeXml=OutputEncoder_EncodeXml;this.EncodeXmlAttribute=OutputEncoder_EncodeXmlAttribute;this.EncodeJs=OutputEncoder_EncodeJs;this.AsNumeric=OutputEncoder_AsNumeric;this.EncodeUrl=OutputEncoder_EncodeUrl;this.SingleByteHex=OutputEncoder_SingleByteHex;this.TwoByteHex=OutputEncoder_TwoByteHex;}
var IOSec=new OutputEncoder();
var layers=new Array();
var state;
function Main(e){windowWidth=GetWindowWidth();windowHeight=GetWindowHeight();state=new VE_State(timestamp);}
function body_OnKeyDown(e){if(!e){e=window.event;}if(map!=null&&map.panning){switch(e.keyCode){case 27:map.StopContinuousPan();return false;break;case 18:if(map.keyboardPan){map.StopContinuousPan();return false;}break;default:break;}}return true;}
window.onresize=function(){windowWidth=GetWindowWidth();windowHeight=GetWindowHeight();map.Resize(windowWidth,windowHeight);PositionElement(document.getElementById("VE_MapScale"),windowWidth-160,windowHeight-50,150,18);VE_Panel.ResizeAllPanels();PositionHelperLinks();var p=document.getElementById('intro');if(p&&p.style.display)VE_SearchManager.ResizePanels((p.style.display=="block"?true:false));else VE_SearchManager.ResizePanels(false);}
function CreateZoomWidget(zoom){var el=VE_ZoomControl.Create(5,75,zoom,"absolute",0);document.body.appendChild(el);}
function AddQueryToLink(a){var q=document.f.what.value;if(window.encodeURIComponent)q=encodeURIComponent(q);else q="";if(a.href.indexOf('?')>-1)a.href=a.href+'&q='+q;else a.href=a.href+'?q='+q;}
function SetWhereToDefaultValue(){if(document.f.where.value!=useCurrentViewText){document.f.where.value=useCurrentViewText;document.f.where.style.color="#333333";lastWhere="";}}
function OpenNewWindow(url,name,options,width,height,x,y){var allOptionsTrue="toolbar, location, directories, status, menubar, scrollbars, resizable";var winWidth="width="+(width>0?width:GetWindowWidth())+", ";var winHeight="height="+(height>0?height:GetWindowHeight())+", ";x=x?x:0;var winX="screenX="+x+", left="+x+", ";y=y?y:0;var winY="screenY="+y+", top="+y;var newWindow=open(url,name,(options=='all'?allOptionsTrue:options)+", "+winWidth+winHeight+winX+winY);newWindow.focus();}
var map=null;
function StartMap(latitude,longitude,zoom,mapStyle,position,x,y,windowW,windowH){map=new VE_MapControl(latitude,longitude,zoom,mapStyle,position,x,y,windowW,windowH);document.body.appendChild(map.element);map.onStartContinuousPan=function(e){VE_SearchManager._CancelAllRequests();VE_SearchManager.CloseSearchPopup();};map.onEndContinuousPan=function(e){SetWhereToDefaultValue();state.UpdateFromMap();UpdateMapScale();AutoRefresh();};map.onStartZoom=function(e){VE_SearchManager._CancelAllRequests();VE_SearchManager.CloseSearchPopup();};map.onEndZoom=function(e){VE_ZoomControl.SetZoomLevel(map.GetZoomLevel());state.UpdateFromMap();UpdateMapScale();AutoRefresh();};}
function ChangeMapStyle(mapStyle){map.SetMapStyle(mapStyle);state.UpdateFromMap();UpdateMapStyleWidget();VE_Analytics.LogMapStyle(mapStyle);}
function UpdateMapStyleWidget(){var m=map.GetMapStyle();var labels=document.getElementById("labels");var nolabels=document.getElementById("nolabels");var road=document.getElementById("mapStyle_r");var hybrid=document.getElementById("mapStyle_h");road.className="mapLink";hybrid.className="mapLink";switch(m){case"a":hybrid.className="mapLinkSel";hybrid.style.cursor="default";hybrid.href="javascript:ChangeMapStyle('a')";road.className="mapLink";road.style.cursor="hand";nolabels.style.fontWeight="bold";labels.style.fontWeight="normal";break;case"h":hybrid.className="mapLinkSel";hybrid.style.cursor="default";hybrid.href="javascript:ChangeMapStyle('h')";road.className="mapLink";road.style.cursor="hand";labels.style.fontWeight="bold";nolabels.style.fontWeight="normal";break;case"r":road.className="mapLinkSel";road.style.cursor="default";hybrid.style.cursor="hand";break;default:road.className="mapLinkSel";}}
function SetViewport(lat1,lon1,lat2,lon2){map.SetViewport(lat1,lon1,lat2,lon2);}
var scaleBarWidth=150;
function MetersToKilometers(meters){return meters*0.001;}
function MetersToMiles(meters){return meters*0.000621371192;}
function MetersToYards(meters){return meters*1.0936133;}
function UpdateMapScale(){var mpp=map.GetMetersPerPixel();var maxMeters=mpp*scaleBarWidth;var units="mi";var dMeasure=MetersToMiles(maxMeters);var niceValue=LargestNiceNumber(dMeasure);if(niceValue<0.5){units="yds";dMeasure=MetersToYards(maxMeters);niceValue=LargestNiceNumber(dMeasure);}ChangeMapScaleValues("us",units,niceValue,Math.round(niceValue/dMeasure*scaleBarWidth));}
function LargestNiceNumber(dIn){var dLog10=Math.log(dIn)/Math.log(10);var dExponent=Math.floor(dLog10);var dExponentValue=Math.pow(10,dExponent);var dRoot=dIn/dExponentValue;var dIntegerRoot=Math.floor(dRoot);if(dIntegerRoot>=3.0){return dIntegerRoot*dExponentValue;}var dNiceRoot=Math.floor(dRoot*2.0)*0.5;return dNiceRoot*dExponentValue;}
function ChangeMapScaleValues(type,units,value,width){if(value<1)value=value.toFixed(1);var label=document.getElementById("VE_MapScaleLabel");if(label){label.innerHTML=value+" "+units;}var bar=document.getElementById("VE_MapScaleBar");if(bar){bar.style.width=width;}}
function CreateMessageControl(){var c=new VE_MessageControl();document.body.appendChild(VE_MessageControl.control);}
function ShowMessage(message){if(VE_MessageControl.messages.length>0){VE_MessageControl._RemoveMessage();}VE_MessageControl._AddMessage(message);}
function VE_MessageControl(){if(!VE_MessageControl.control){VE_MessageControl.control=document.createElement("div");VE_MessageControl.control.id="VE_MessageControl";}return VE_MessageControl.control;}
VE_MessageControl.control=null;
VE_MessageControl.messages=new Array();
VE_MessageControl._AddMessage=function(message){VE_MessageControl.messages.unshift(message);window.setTimeout("VE_MessageControl._RemoveMessage()",10000);VE_MessageControl._Update();}
VE_MessageControl._RemoveMessage=function(){VE_MessageControl.messages.pop();VE_MessageControl._Update();}
VE_MessageControl._Update=function(){var c=VE_MessageControl.control;var m=VE_MessageControl.messages;if(!m.length){c.innerHTML="";c.style.display="none";return;}var html="";for(var i=0;i<m.length;i++){html+="<div class=\"VE_MessageControl_message\">"+m[i]+"</div>";}html+="<div class=\"VE_MessageControl_close\" onclick=\"VE_MessageControl.Hide()\" unselectable=\"on\">X</div>";c.innerHTML=html;c.style.display="block";}
VE_MessageControl.Hide=function(){VE_MessageControl.control.style.display="none";}
function CreateElement(id,cn){var el=document.createElement("div");el.id=id;el.className=cn;el.style.position="absolute";return el;}
function PositionElement(el,x,y,w,h){el.style.top=y+"px";el.style.left=x+"px";el.style.width=w+"px";el.style.height=h+"px";}
function ResizePanels(){}
function CloseOpenPopup(){VE_SearchManager.CloseSearchPopup();VE_Help.ClosePanel();}
function ShowPermalinkPanel(){var p=VE_Help.helpPanel;var l=state.GetPermalink();var html="<div class=\"VE_Permalink\"><h1>Your Virtual Earth Permalink</h1><p>Use the following link at any time to return to Virtual Earth with your current map view, searches, and Scratch Pad just as they are now. ";html+="Use the link to bookmark your current map or to e-mail the map to a friend.</p><br>";html+="<center><a href=\""+l+"\" onclick=\"VE_Analytics.LogClickPermalink()\">"+l+"</a><br><br>";if(window.external){html+="<a href=\"javascript:BookmarkPermalink();VE_Analytics.LogBookmarkPermalink()\">Bookmark it</a> &nbsp; &nbsp; ";}html+="<a href=\"javascript:EmailPermalink();VE_Analytics.LogEmailPermalink()\">E-Mail it</a> &nbsp; &nbsp; ";if(window.clipboardData){html+="<a href=\"javascript:CopyPermalink();VE_Analytics.LogCopyToClipboardPermalink()\">Copy to clipboard</a>";}html+="</center></div>";p.SetTitle("Permalink");p.SetBody(html);p.Show();}
function BookmarkPermalink(){if(window.external){window.external.AddFavorite(state.GetPermalink(),"Virtual Earth");}}
function EmailPermalink(){var subject=escape("Virtual Earth");var body=escape("Virtual Earth\n"+state.GetPermalink());window.open("mailto:?subject="+subject+"&body="+body);}
function CopyPermalink(){if(window.clipboardData){window.clipboardData.setData('Text',state.GetPermalink());}}
function VE_Scratchpad(){}
VE_Scratchpad.maxScratchpadItems=5;
VE_Scratchpad._introText="The Scratch Pad is empty. &nbsp;<a href=\"javascript:VE_Help.Open(\'Help\',\'Help/ScratchPad.html\');VE_Analytics.LogScratchpadHelp();\" oncontextmenu=\"return false;\">Learn</a> how to add items to the Scratch Pad.";
VE_Scratchpad._fullText="Your scratch pad already contains the maximum number of items. To add another item to your scratch pad, you must first remove one.";
VE_Scratchpad.entities=new Array();
VE_Scratchpad.panel=null;
VE_Scratchpad.locationCounter=1;
VE_Scratchpad.panelColor="blue";
VE_Scratchpad.panelZIndex=31;
VE_Scratchpad.pinZIndex=19;
VE_Scratchpad._typeToColor={"adr":"blue","yp":"blue","al":"orange"}
VE_Scratchpad.CreatePanel=function(){var p=new VE_Panel("scratchpad","windowWidth-190",80,180,"windowHeight-150",VE_Scratchpad.panelColor,VE_Scratchpad.panelZIndex,"Scratch pad",VE_Scratchpad._introText,"");p.SetToolbar(VE_Scratchpad._GetToolbar());p.SetFooterSize(0);p.Hide();p.onTitleClick=function(e){VE_Scratchpad.panel.Toggle();};p.onCloseClick=function(e){VE_Scratchpad.panel.Hide();VE_Scratchpad._SetScratchPinDisplay("none");VE_SearchManager.CloseSearchPopup();};VE_Scratchpad.panel=p;}
VE_Scratchpad.Show=function(){VE_Scratchpad.panel.Show();VE_Scratchpad._SetScratchPinDisplay("block");}
VE_Scratchpad.ShowAllOnMap=function(){if(VE_Scratchpad.entities.length>0){map.SetBestMapView(VE_Scratchpad.entities);}}
VE_Scratchpad.Populate=function(entityIDs,doBestFit){if(!entityIDs||entityIDs.length==0){return;}var url="entities.ashx?fitmap="+doBestFit+"&ids="+escape(entityIDs.join("|"));VE_SearchManager._AddRequest(url);}
VE_Scratchpad.AddSearchResult=function(searchIndex,entityID){CloseOpenPopup();var s=VE_SearchManager.FindByIndex(searchIndex);if(!s){return;}var e=s.GetEntity(entityID);if(!e){return;}if(VE_Scratchpad.Contains(entityID,e.type)){VE_Scratchpad.panel.Show();VE_Scratchpad._SetScratchPinDisplay("block");return;}VE_Scratchpad.AddResult(e);if(this.onAddSearchResult){this.onAddSearchResult();}}
VE_Scratchpad.Contains=function(id,type){var e=VE_Scratchpad.entities;for(var i=0;i<e.length;i++){if(e[i].id==id&&e[i].type==type)return true;}return false;}
VE_Scratchpad.AddLocation=function(name,latitude,longitude,description,type){if(!description){description="";}if(type!="adr"&&type!="al"){type="adr";}var id=VE_Scratchpad.locationCounter++;var location=new VE_SearchResult(id,name,description,"","",type,latitude,longitude);VE_Scratchpad.AddResult(location);if(this.onAddLocation){this.onAddLocation();}}
VE_Scratchpad.AddResults=function(entities){if(!entities||entities.constructor!=Array){return;}var lengthItemsToAdd=Math.min(entities.length,VE_Scratchpad.maxScratchpadItems);for(var i=0;i<lengthItemsToAdd;i++){if(!entities[i]||entities[i].constructor!=VE_SearchResult){continue;}if(entities[i].type=="adr"&&entities[i].id==null){entities[i].id=VE_Scratchpad.locationCounter++;}VE_Scratchpad.AddResult(entities[i]);}if(this.onAddResults){this.onAddResults();}}
VE_Scratchpad.GeneratePinId=function(entity){if(!entity){return;}return"scratchpin_"+entity.id+"_"+entity.type;}
VE_Scratchpad.GetColorForEntity=function(entity){if(!entity){return VE_Scratchpad.panelColor;}var color=VE_Scratchpad._typeToColor[entity.type];if(color==null){color=VE_Scratchpad.panelColor;}return color;}
VE_Scratchpad.AddResult=function(entity){if(!entity){return;}var e=VE_Scratchpad.entities;if(e.length==VE_Scratchpad.maxScratchpadItems){ShowMessage(VE_Scratchpad._fullText);return;}e.push(entity);var color=VE_Scratchpad.GetColorForEntity(entity);var pin=map.AddPushpin(VE_Scratchpad.GeneratePinId(entity),entity.latitude,entity.longitude,23,17,"VE_Pushpin VE_Pushpin_"+color,e.length+'',VE_Scratchpad.pinZIndex);pin.onmouseover=VE_SearchManager._ShowScratchpadPopup;VE_Scratchpad._SetScratchPinDisplay("block");VE_Scratchpad._UpdatePanel();}
VE_Scratchpad._UpdatePanel=function(){var e=VE_Scratchpad.entities;var p=VE_Scratchpad.panel;var html="";if(e.length==0){html=VE_Scratchpad._introText;}else{html+="<div>";html+="<table width=\"98%\" cellpadding=\"2\" cellspacing=\"0\">";for(var i=0;i<e.length;i++){var href="<a onmouseover=\"javascript:VE_SearchManager._ShowScratchpadPopup("+e[i].id+", '"+e[i].type+"');return true;\"";href+=" onmouseout=\"window.status='';return true;\"";href+=" href=\"javascript:map.PanToLatLong("+e[i].latitude+","+e[i].longitude+")\" oncontextmenu=\"return false;\">";html+="<tr><td valign=\"top\">"+href+"<div class=\"VE_Pushpin VE_Pushpin_"+VE_Scratchpad.GetColorForEntity(e[i])+"\">"+(i+1)+"</div></a></td>";html+="<td";if(e[i].type=="al"){html+=" class=\"VE_Scratchpad_Autolocate\"";}html+=" align=\"left\" valign=\"top\">"+href+IOSec.EncodeHtml(e[i].name)+"</a>&nbsp;<br>";html+=e[i].description+"</td><td width=\"15\" valign=\"top\"><a href=\"javascript:VE_Scratchpad.RemoveEntity('"+e[i].id+"')\" oncontextmenu=\"return false;\"><img border=\"0\" src=\"i/remove.gif\"></a></td></tr>";var pin=document.getElementById("scratchpin_"+e[i].id+"_"+e[i].type);if(pin){pin.innerHTML=(i+1)+"";}}html+="</table>";html+="</div>";}p.SetBody(html);p.Maximize();p.Show();VE_Scratchpad._ResizePanel();}
VE_Scratchpad.RemoveEntity=function(entityID){var e=VE_Scratchpad.entities;for(var i=0;i<e.length;i++){if(e[i].id==entityID){map.RemovePushpin(VE_Scratchpad.GeneratePinId(e[i]));e.splice(i,1);}}VE_Scratchpad._UpdatePanel();VE_SearchManager.CloseSearchPopup();if(VE_Scratchpad.onRemoveEntity){VE_Scratchpad.onRemoveEntity();}}
VE_Scratchpad.GetEntity=function(id,type){var e=VE_Scratchpad.entities;if(!e||e.length==0){return null;}for(var i=0;i<e.length;i++){if(e[i].id==id&&e[i].type==type){return e[i];}}return null;}
VE_Scratchpad._ResizePanel=function(){var p=VE_Scratchpad.panel;var b=document.getElementById("scratchpad_body");var scratchPanelHeight=VE_Scratchpad._GetPanelHeight();var yoffset=40;var maxHeight=windowHeight-150;if(!VE_Scratchpad.entities||VE_Scratchpad.entities.length==0){scratchPanelHeight=maxHeight;}if((yoffset+scratchPanelHeight)<maxHeight){p.height=yoffset+scratchPanelHeight;b.style.overflow="visible";}else{p.height=maxHeight;b.style.overflow="auto";}p.Resize();}
VE_Scratchpad._GetPanelHeight=function(){var e=document.getElementById("scratchpad_body").getElementsByTagName("table");var listingHeight=(e.length==0?0:20);for(var i=0;i<e.length;i++){listingHeight+=e[i].offsetHeight;}return listingHeight;}
VE_Scratchpad._SetScratchPinDisplay=function(d){var e=VE_Scratchpad.entities;for(var i=0;i<e.length;i++){if(e[i]&&e[i].constructor==VE_SearchResult){var pin=document.getElementById(VE_Scratchpad.GeneratePinId(e[i]));if(pin){pin.style.display=d;}}}}
VE_Scratchpad._GetToolbar=function(){var html="<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"left\">";html+="<tr><td valign=\"top\" align=\"center\">";html+="<a href=\"javascript:VE_Scratchpad.Clear();VE_Analytics.LogClearScratchpad();\" oncontextmenu=\"return false;\">clear</a>&nbsp;|&nbsp;";html+="<a href=\"javascript:VE_Scratchpad.Email();VE_Analytics.LogEmailScratchpad();\" oncontextmenu=\"return false;\">email</a>&nbsp;|&nbsp;";html+="<a href=\"javascript:VE_Scratchpad.Blog();VE_Analytics.LogBlogScratchpad();\" oncontextmenu=\"return false;\">blog it!</a>&nbsp;";html+="</td></tr><tr><td>&nbsp;</td></tr></table>";return html;}
VE_Scratchpad.Clear=function(){var e=VE_Scratchpad.entities;while(e.length){VE_Scratchpad.RemoveEntity(e[0].id);}VE_Scratchpad._UpdatePanel();}
VE_Scratchpad.Email=function(){var body="";var urlprefix=GetUrlPrefix();var first=true;var ids="";var e=VE_Scratchpad.entities;if(e==null||e.length==0){ShowMessage("The Scratch Pad is empty. Add an item to the Scratch Pad and try again.");return;}for(var i=0;i<e.length;i++){var escapedID=escape(e[i].GetSerializedId());if(!escapedID){continue;}body+=escape(e[i].name+"\n"+e[i].description+"\n"+urlprefix+"?sp="+escapedID+"\n\n");if(!first){ids+="|";}ids+=escapedID;first=false;}var allids=escape("My Virtual Earth Scratch Pad\n"+urlprefix+"?sp="+ids+"\n\n");window.open('mailto:?subject=My%20Virtual%20Earth%20Scratch%20Pad&body='+allids+body);}
VE_Scratchpad.Blog=function(){var e=VE_Scratchpad.entities;if(e==null||e.length==0){ShowMessage("Scratch Pad is empty. Add an item to the Scratch Pad and try again.");return;}var blog="http://spaces.msn.com/BlogIt.aspx?Title=My+Virtual+Earth+Scratch+Pad";var ids="";var description="<br><br>";var urlprefix=GetUrlPrefix();var first=true;for(var i=0;i<e.length;i++){var escapedID=escape(e[i].GetSerializedId());if(!escapedID){continue;}if(!first){ids+="|";}ids+=escapedID;first=false;description+="<a href="+urlprefix+"?sp="+escapedID+">";description+=e[i].name+"</a><br>"+e[i].description+"<br><br>";}blog+="&SourceURL="+GetUrlPrefix()+"?sp="+ids;blog+="&description="+escape(description);window.open(blog);}
var searchCounter=0;
var searches=new Array();
var autoRefreshEnabled=1;
var nextAutoRefresh=0;
var activeSearch=null;
var useCurrentViewText="[Use current map view]";
var maxsearches=5;
var lastWhere="";
function Search(){var what=document.f.what.value;var where=document.f.where.value;if(where==useCurrentViewText||where==lastWhere){where="";}else{if(where){lastWhere=where;}}if(what==""&&where==""){return;}HideAmbiguousList();CloseOpenPopup();VE_SearchManager.Search(what,where);}
function WebSearch(e){if(!e)e=window.event;var what=document.f.what.value;var where=document.f.where.value;if(where==useCurrentViewText){where="";}if(what==""&&where==""){return;}var url=msnWebSearchUrl.replace(/\{0\}/,msnSearchDomain).replace(/\{1\}/,IOSec.EncodeUrl(what)).replace(/\{2\}/,IOSec.EncodeUrl(where));var title="WebSearch"+what.replace(/\W/g,"")+where.replace(/\W/g,"");OpenNewWindow(url,title,"all");if(e.preventDefault){e.preventDefault();}}
function AutoRefresh(){VE_SearchManager.RefreshAll();}
var windowWidth=0;
var windowHeight=0;
function GetWindowWidth(){var width=0;if(typeof(window.innerWidth)=='number'){width=window.innerWidth;}else if(document.documentElement&&document.documentElement.clientWidth){width=document.documentElement.clientWidth;}else if(document.body&&document.body.clientWidth){width=document.body.clientWidth;}if(!width||width<100){width=100;}return width;}
function GetWindowHeight(){var height=0;if(typeof(window.innerHeight)=='number'){height=window.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){height=document.documentElement.clientHeight;}else if(document.body&&document.body.clientHeight){height=document.body.clientHeight;}if(!height||height<100){height=100;}return height;}
function GetUrlPrefix(){var lastfslash=window.location.pathname.lastIndexOf("/");var hosturl=window.location.protocol+"//"+window.location.hostname+window.location.pathname.substring(0,lastfslash+1);return hosturl;}
function GetUrlParameterString(){var urlParameterString=window.location.search;if(urlParameterString.length==0||urlParameterString.indexOf("?")==-1){return"";}return urlParameterString.substr(urlParameterString.indexOf("?")+1);}
function GetUrlParameters(){var parameters=new Array();var urlParameterString=GetUrlParameterString();if(!urlParameterString){return parameters;}var parameterStrings=urlParameterString.split("&");for(var i=0;i<parameterStrings.length;i++){var parameterParts=parameterStrings[i].split("=");if(parameterParts.length==2&&parameterParts[0]&&parameterParts[1]){parameters.push(unescape(parameterParts[0]));parameters.push(unescape(parameterParts[1]));}}return parameters;}
function GetXmlHttp(){var x=null;try{x=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{x=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){x=null}}if(!x&&typeof XMLHttpRequest!="undefined"){x=new XMLHttpRequest()}return x;}
function VE_ZoomControl(x,y,zoomLevel,position){this.x=x;this.y=y;this.offsetLeft=0;this.dragging=false;this.zoomLevel=zoomLevel;var el=document.createElement("div");el.id="VE_ZoomControl";el.style.position=position;el.style.left=x;el.style.top=y;this.el=el;var minus=document.createElement("a");minus.className="VE_ZoomControl_minus";minus.style.left="0px";minus.href="javascript:void(0)";minus.onclick=VE_ZoomControl._Minus;minus.unselectable="on";this.minus=minus;el.appendChild(minus);var bar=document.createElement("div");bar.className="VE_ZoomControl_bar";bar.style.left="26px";bar.unselectable="on";bar.onclick=VE_ZoomControl._Jump;this.bar=bar;el.appendChild(bar);var slider=document.createElement("a");slider.className="VE_ZoomControl_slider";slider.style.left="0px";slider.style.top="1px";slider.href="javascript:void(0)";slider.onmousedown=VE_ZoomControl._MouseDown;slider.onmousemove=VE_ZoomControl._MouseMove;slider.onmouseup=VE_ZoomControl._MouseUp;slider.unselectable="on";this.slider=slider;bar.appendChild(slider);var plus=document.createElement("a");plus.className="VE_ZoomControl_plus";plus.style.left="154px";plus.href="javascript:void(0)";plus.onclick=VE_ZoomControl._Plus;plus.unselectable="on";this.plus=plus;el.appendChild(plus);VE_ZoomControl.control=this;VE_ZoomControl.SetZoomLevel(zoomLevel);}
VE_ZoomControl.control=null;
VE_ZoomControl.snaps=[0,9,18,27,36,44,52,60,68,76,84,91,97,102,106,110,114,117,120];
VE_ZoomControl.Create=function(x,y,z,position){VE_ZoomControl.control=new VE_ZoomControl(x,y,z,position);return VE_ZoomControl.control.el;}
VE_ZoomControl._MouseDown=function(e){if(!e)e=window.event;e.cancelBubble=true;var z=VE_ZoomControl.control;var s=z.slider;if(s.setCapture)s.setCapture();z.dragging=true;return false;}
VE_ZoomControl._MouseMove=function(e){if(!e)e=window.event;e.cancelBubble=true;var c=VE_ZoomControl.control;if(c.dragging){var s=c.slider;s.style.left=AdjustMouseXbyOffsets(GetMousePosX(e))+"px";}return false;}
VE_ZoomControl._MouseUp=function(e){if(!e)e=window.event;e.cancelBubble=true;var c=VE_ZoomControl.control;var s=c.slider;if(s.releaseCapture)s.releaseCapture();c.dragging=false;VE_ZoomControl._SetPosition(AdjustMouseXbyOffsets(GetMousePosX(e)));return false;}
VE_ZoomControl._Plus=function(e){map.ZoomIn();}
VE_ZoomControl._Minus=function(e){map.ZoomOut();}
VE_ZoomControl._Jump=function(e){if(!e)e=window.event;e.cancelBubble=true;VE_ZoomControl._SetPosition(AdjustMouseXbyOffsets(GetMousePosX(e)));}
function AdjustMouseXbyOffsets(x){var c=VE_ZoomControl.control;x=x-c.x-c.offsetLeft-(c.minus.offsetWidth+c.slider.offsetWidth/2);var m=c.bar.offsetWidth-c.slider.offsetWidth;if(x<0)x=0;if(x>m)x=m;return x;}
VE_ZoomControl._SetPosition=function(x){var sn=VE_ZoomControl.snaps;var bd=VE_ZoomControl.control.bar.offsetWidth;var bi=0;for(var i=sn.length-1;i>=0;i--){var d=Math.abs(x-sn[i]);if(d<bd){bd=d;bi=i;}else{break;}}map.SetZoom(bi+1);}
VE_ZoomControl.SetZoomLevel=function(zoomLevel){var c=VE_ZoomControl.control;var s=c.slider;var sn=VE_ZoomControl.snaps;c.zoomLevel=zoomLevel;s.style.left=sn[zoomLevel-1]+"px";}

