/*!
 * jQuery JavaScript Library v1.5
 * http://jquery.com/
 *
 * Copyright 2011, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2011, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Mon Jan 31 08:31:29 2011 -0500
 */
(function(window,undefined){var document=window.document;var jQuery=(function(){var jQuery=function(selector,context){return new jQuery.fn.init(selector,context,rootjQuery)},_jQuery=window.jQuery,_$=window.$,rootjQuery,quickExpr=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,rnotwhite=/\S/,trimLeft=/^\s+/,trimRight=/\s+$/,rdigit=/\d/,rsingleTag=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,rvalidchars=/^[\],:{}\s]*$/,rvalidescape=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,rvalidtokens=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,rvalidbraces=/(?:^|:|,)(?:\s*\[)+/g,rwebkit=/(webkit)[ \/]([\w.]+)/,ropera=/(opera)(?:.*version)?[ \/]([\w.]+)/,rmsie=/(msie) ([\w.]+)/,rmozilla=/(mozilla)(?:.*? rv:([\w.]+))?/,userAgent=navigator.userAgent,browserMatch,readyBound=false,readyList,promiseMethods="then done fail isResolved isRejected promise".split(" "),DOMContentLoaded,toString=Object.prototype.toString,hasOwn=Object.prototype.hasOwnProperty,push=Array.prototype.push,slice=Array.prototype.slice,trim=String.prototype.trim,indexOf=Array.prototype.indexOf,class2type={};jQuery.fn=jQuery.prototype={constructor:jQuery,init:function(selector,context,rootjQuery){var match,elem,ret,doc;if(!selector){return this}if(selector.nodeType){this.context=this[0]=selector;this.length=1;return this}if(selector==="body"&&!context&&document.body){this.context=document;this[0]=document.body;this.selector="body";this.length=1;return this}if(typeof selector==="string"){match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1]){context=context instanceof jQuery?context[0]:context;doc=(context?context.ownerDocument||context:document);ret=rsingleTag.exec(selector);if(ret){if(jQuery.isPlainObject(context)){selector=[document.createElement(ret[1])];
jQuery.fn.attr.call(selector,context,true)}else{selector=[doc.createElement(ret[1])]}}else{ret=jQuery.buildFragment([match[1]],[doc]);selector=(ret.cacheable?jQuery.clone(ret.fragment):ret.fragment).childNodes}return jQuery.merge(this,selector)}else{elem=document.getElementById(match[2]);if(elem&&elem.parentNode){if(elem.id!==match[2]){return rootjQuery.find(selector)}this.length=1;this[0]=elem}this.context=document;this.selector=selector;return this}}else{if(!context||context.jquery){return(context||rootjQuery).find(selector)}else{return this.constructor(context).find(selector)}}}else{if(jQuery.isFunction(selector)){return rootjQuery.ready(selector)}}if(selector.selector!==undefined){this.selector=selector.selector;this.context=selector.context}return jQuery.makeArray(selector,this)},selector:"",jquery:"1.5",length:0,size:function(){return this.length},toArray:function(){return slice.call(this,0)},get:function(num){return num==null?this.toArray():(num<0?this[this.length+num]:this[num])},pushStack:function(elems,name,selector){var ret=this.constructor();if(jQuery.isArray(elems)){push.apply(ret,elems)}else{jQuery.merge(ret,elems)}ret.prevObject=this;ret.context=this.context;if(name==="find"){ret.selector=this.selector+(this.selector?" ":"")+selector}else{if(name){ret.selector=this.selector+"."+name+"("+selector+")"}}return ret},each:function(callback,args){return jQuery.each(this,callback,args)},ready:function(fn){jQuery.bindReady();readyList.done(fn);return this},eq:function(i){return i===-1?this.slice(i):this.slice(i,+i+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(slice.apply(this,arguments),"slice",slice.call(arguments).join(","))},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},end:function(){return this.prevObject||this.constructor(null)},push:push,sort:[].sort,splice:[].splice};jQuery.fn.init.prototype=jQuery.fn;jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;
if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2}if(typeof target!=="object"&&!jQuery.isFunction(target)){target={}}if(length===i){target=this;--i}for(;i<length;i++){if((options=arguments[i])!=null){for(name in options){src=target[name];copy=options[name];if(target===copy){continue}if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&jQuery.isArray(src)?src:[]}else{clone=src&&jQuery.isPlainObject(src)?src:{}}target[name]=jQuery.extend(deep,clone,copy)}else{if(copy!==undefined){target[name]=copy}}}}}return target};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep){window.jQuery=_jQuery}return jQuery},isReady:false,readyWait:1,ready:function(wait){if(wait===true){jQuery.readyWait--}if(!jQuery.readyWait||(wait!==true&&!jQuery.isReady)){if(!document.body){return setTimeout(jQuery.ready,1)}jQuery.isReady=true;if(wait!==true&&--jQuery.readyWait>0){return}readyList.resolveWith(document,[jQuery]);if(jQuery.fn.trigger){jQuery(document).trigger("ready").unbind("ready")}}},bindReady:function(){if(readyBound){return}readyBound=true;if(document.readyState==="complete"){return setTimeout(jQuery.ready,1)}if(document.addEventListener){document.addEventListener("DOMContentLoaded",DOMContentLoaded,false);window.addEventListener("load",jQuery.ready,false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",DOMContentLoaded);window.attachEvent("onload",jQuery.ready);var toplevel=false;try{toplevel=window.frameElement==null}catch(e){}if(document.documentElement.doScroll&&toplevel){doScrollCheck()}}}},isFunction:function(obj){return jQuery.type(obj)==="function"},isArray:Array.isArray||function(obj){return jQuery.type(obj)==="array"},isWindow:function(obj){return obj&&typeof obj==="object"&&"setInterval" in obj},isNaN:function(obj){return obj==null||!rdigit.test(obj)||isNaN(obj)},type:function(obj){return obj==null?String(obj):class2type[toString.call(obj)]||"object"},isPlainObject:function(obj){if(!obj||jQuery.type(obj)!=="object"||obj.nodeType||jQuery.isWindow(obj)){return false
}if(obj.constructor&&!hasOwn.call(obj,"constructor")&&!hasOwn.call(obj.constructor.prototype,"isPrototypeOf")){return false}var key;for(key in obj){}return key===undefined||hasOwn.call(obj,key)},isEmptyObject:function(obj){for(var name in obj){return false}return true},error:function(msg){throw msg},parseJSON:function(data){if(typeof data!=="string"||!data){return null}data=jQuery.trim(data);if(rvalidchars.test(data.replace(rvalidescape,"@").replace(rvalidtokens,"]").replace(rvalidbraces,""))){return window.JSON&&window.JSON.parse?window.JSON.parse(data):(new Function("return "+data))()}else{jQuery.error("Invalid JSON: "+data)}},parseXML:function(data,xml,tmp){if(window.DOMParser){tmp=new DOMParser();xml=tmp.parseFromString(data,"text/xml")}else{xml=new ActiveXObject("Microsoft.XMLDOM");xml.async="false";xml.loadXML(data)}tmp=xml.documentElement;if(!tmp||!tmp.nodeName||tmp.nodeName==="parsererror"){jQuery.error("Invalid XML: "+data)}return xml},noop:function(){},globalEval:function(data){if(data&&rnotwhite.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval()){script.appendChild(document.createTextNode(data))}else{script.text=data}head.insertBefore(script,head.firstChild);head.removeChild(script)}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()===name.toUpperCase()},each:function(object,callback,args){var name,i=0,length=object.length,isObj=length===undefined||jQuery.isFunction(object);if(args){if(isObj){for(name in object){if(callback.apply(object[name],args)===false){break}}}else{for(;i<length;){if(callback.apply(object[i++],args)===false){break}}}}else{if(isObj){for(name in object){if(callback.call(object[name],name,object[name])===false){break}}}else{for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}}return object},trim:trim?function(text){return text==null?"":trim.call(text)}:function(text){return text==null?"":text.toString().replace(trimLeft,"").replace(trimRight,"")
},makeArray:function(array,results){var ret=results||[];if(array!=null){var type=jQuery.type(array);if(array.length==null||type==="string"||type==="function"||type==="regexp"||jQuery.isWindow(array)){push.call(ret,array)}else{jQuery.merge(ret,array)}}return ret},inArray:function(elem,array){if(array.indexOf){return array.indexOf(elem)}for(var i=0,length=array.length;i<length;i++){if(array[i]===elem){return i}}return -1},merge:function(first,second){var i=first.length,j=0;if(typeof second.length==="number"){for(var l=second.length;j<l;j++){first[i++]=second[j]}}else{while(second[j]!==undefined){first[i++]=second[j++]}}first.length=i;return first},grep:function(elems,callback,inv){var ret=[],retVal;inv=!!inv;for(var i=0,length=elems.length;i<length;i++){retVal=!!callback(elems[i],i);if(inv!==retVal){ret.push(elems[i])}}return ret},map:function(elems,callback,arg){var ret=[],value;for(var i=0,length=elems.length;i<length;i++){value=callback(elems[i],i,arg);if(value!=null){ret[ret.length]=value}}return ret.concat.apply([],ret)},guid:1,proxy:function(fn,proxy,thisObject){if(arguments.length===2){if(typeof proxy==="string"){thisObject=fn;fn=thisObject[proxy];proxy=undefined}else{if(proxy&&!jQuery.isFunction(proxy)){thisObject=proxy;proxy=undefined}}}if(!proxy&&fn){proxy=function(){return fn.apply(thisObject||this,arguments)}}if(fn){proxy.guid=fn.guid=fn.guid||proxy.guid||jQuery.guid++}return proxy},access:function(elems,key,value,exec,fn,pass){var length=elems.length;if(typeof key==="object"){for(var k in key){jQuery.access(elems,k,key[k],exec,fn,value)}return elems}if(value!==undefined){exec=!pass&&exec&&jQuery.isFunction(value);for(var i=0;i<length;i++){fn(elems[i],key,exec?value.call(elems[i],i,fn(elems[i],key)):value,pass)}return elems}return length?fn(elems[0],key):undefined},now:function(){return(new Date()).getTime()},_Deferred:function(){var callbacks=[],fired,firing,cancelled,deferred={done:function(){if(!cancelled){var args=arguments,i,length,elem,type,_fired;if(fired){_fired=fired;fired=0}for(i=0,length=args.length;
i<length;i++){elem=args[i];type=jQuery.type(elem);if(type==="array"){deferred.done.apply(deferred,elem)}else{if(type==="function"){callbacks.push(elem)}}}if(_fired){deferred.resolveWith(_fired[0],_fired[1])}}return this},resolveWith:function(context,args){if(!cancelled&&!fired&&!firing){firing=1;try{while(callbacks[0]){callbacks.shift().apply(context,args)}}finally{fired=[context,args];firing=0}}return this},resolve:function(){deferred.resolveWith(jQuery.isFunction(this.promise)?this.promise():this,arguments);return this},isResolved:function(){return !!(firing||fired)},cancel:function(){cancelled=1;callbacks=[];return this}};return deferred},Deferred:function(func){var deferred=jQuery._Deferred(),failDeferred=jQuery._Deferred(),promise;jQuery.extend(deferred,{then:function(doneCallbacks,failCallbacks){deferred.done(doneCallbacks).fail(failCallbacks);return this},fail:failDeferred.done,rejectWith:failDeferred.resolveWith,reject:failDeferred.resolve,isRejected:failDeferred.isResolved,promise:function(obj,i){if(obj==null){if(promise){return promise}promise=obj={}}i=promiseMethods.length;while(i--){obj[promiseMethods[i]]=deferred[promiseMethods[i]]}return obj}});deferred.then(failDeferred.cancel,deferred.cancel);delete deferred.cancel;if(func){func.call(deferred,deferred)}return deferred},when:function(object){var args=arguments,length=args.length,deferred=length<=1&&object&&jQuery.isFunction(object.promise)?object:jQuery.Deferred(),promise=deferred.promise(),resolveArray;if(length>1){resolveArray=new Array(length);jQuery.each(args,function(index,element){jQuery.when(element).then(function(value){resolveArray[index]=arguments.length>1?slice.call(arguments,0):value;if(!--length){deferred.resolveWith(promise,resolveArray)}},deferred.reject)})}else{if(deferred!==object){deferred.resolve(object)}}return promise},uaMatch:function(ua){ua=ua.toLowerCase();var match=rwebkit.exec(ua)||ropera.exec(ua)||rmsie.exec(ua)||ua.indexOf("compatible")<0&&rmozilla.exec(ua)||[];return{browser:match[1]||"",version:match[2]||"0"}},sub:function(){function jQuerySubclass(selector,context){return new jQuerySubclass.fn.init(selector,context)
}jQuery.extend(true,jQuerySubclass,this);jQuerySubclass.superclass=this;jQuerySubclass.fn=jQuerySubclass.prototype=this();jQuerySubclass.fn.constructor=jQuerySubclass;jQuerySubclass.subclass=this.subclass;jQuerySubclass.fn.init=function init(selector,context){if(context&&context instanceof jQuery&&!(context instanceof jQuerySubclass)){context=jQuerySubclass(context)}return jQuery.fn.init.call(this,selector,context,rootjQuerySubclass)};jQuerySubclass.fn.init.prototype=jQuerySubclass.fn;var rootjQuerySubclass=jQuerySubclass(document);return jQuerySubclass},browser:{}});readyList=jQuery._Deferred();jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase()});browserMatch=jQuery.uaMatch(userAgent);if(browserMatch.browser){jQuery.browser[browserMatch.browser]=true;jQuery.browser.version=browserMatch.version}if(jQuery.browser.webkit){jQuery.browser.safari=true}if(indexOf){jQuery.inArray=function(elem,array){return indexOf.call(array,elem)}}if(rnotwhite.test("\xA0")){trimLeft=/^[\s\xA0]+/;trimRight=/[\s\xA0]+$/}rootjQuery=jQuery(document);if(document.addEventListener){DOMContentLoaded=function(){document.removeEventListener("DOMContentLoaded",DOMContentLoaded,false);jQuery.ready()}}else{if(document.attachEvent){DOMContentLoaded=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",DOMContentLoaded);jQuery.ready()}}}}function doScrollCheck(){if(jQuery.isReady){return}try{document.documentElement.doScroll("left")}catch(e){setTimeout(doScrollCheck,1);return}jQuery.ready()}return(window.jQuery=window.$=jQuery)})();(function(){jQuery.support={};var div=document.createElement("div");div.style.display="none";div.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0],select=document.createElement("select"),opt=select.appendChild(document.createElement("option"));if(!all||!all.length||!a){return
}jQuery.support={leadingWhitespace:div.firstChild.nodeType===3,tbody:!div.getElementsByTagName("tbody").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:/^0.55$/.test(a.style.opacity),cssFloat:!!a.style.cssFloat,checkOn:div.getElementsByTagName("input")[0].value==="on",optSelected:opt.selected,deleteExpando:true,optDisabled:false,checkClone:false,_scriptEval:null,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};select.disabled=true;jQuery.support.optDisabled=!opt.disabled;jQuery.support.scriptEval=function(){if(jQuery.support._scriptEval===null){var root=document.documentElement,script=document.createElement("script"),id="script"+jQuery.now();script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"))}catch(e){}root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support._scriptEval=true;delete window[id]}else{jQuery.support._scriptEval=false}root.removeChild(script);root=script=id=null}return jQuery.support._scriptEval};try{delete div.test}catch(e){jQuery.support.deleteExpando=false}if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function click(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",click)});div.cloneNode(true).fireEvent("onclick")}div=document.createElement("div");div.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";var fragment=document.createDocumentFragment();fragment.appendChild(div.firstChild);jQuery.support.checkClone=fragment.cloneNode(true).cloneNode(true).lastChild.checked;jQuery(function(){var div=document.createElement("div"),body=document.getElementsByTagName("body")[0];if(!body){return}div.style.width=div.style.paddingLeft="1px";body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;if("zoom" in div.style){div.style.display="inline";div.style.zoom=1;jQuery.support.inlineBlockNeedsLayout=div.offsetWidth===2;
div.style.display="";div.innerHTML="<div style='width:4px;'></div>";jQuery.support.shrinkWrapBlocks=div.offsetWidth!==2}div.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";var tds=div.getElementsByTagName("td");jQuery.support.reliableHiddenOffsets=tds[0].offsetHeight===0;tds[0].style.display="";tds[1].style.display="none";jQuery.support.reliableHiddenOffsets=jQuery.support.reliableHiddenOffsets&&tds[0].offsetHeight===0;div.innerHTML="";body.removeChild(div).style.display="none";div=tds=null});var eventSupported=function(eventName){var el=document.createElement("div");eventName="on"+eventName;if(!el.attachEvent){return true}var isSupported=(eventName in el);if(!isSupported){el.setAttribute(eventName,"return;");isSupported=typeof el[eventName]==="function"}el=null;return isSupported};jQuery.support.submitBubbles=eventSupported("submit");jQuery.support.changeBubbles=eventSupported("change");div=all=a=null})();var rbrace=/^(?:\{.*\}|\[.*\])$/;jQuery.extend({cache:{},uuid:0,expando:"jQuery"+(jQuery.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(elem){elem=elem.nodeType?jQuery.cache[elem[jQuery.expando]]:elem[jQuery.expando];return !!elem&&!jQuery.isEmptyObject(elem)},data:function(elem,name,data,pvt){if(!jQuery.acceptData(elem)){return}var internalKey=jQuery.expando,getByName=typeof name==="string",thisCache,isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[jQuery.expando]:elem[jQuery.expando]&&jQuery.expando;if((!id||(pvt&&id&&!cache[id][internalKey]))&&getByName&&data===undefined){return}if(!id){if(isNode){elem[jQuery.expando]=id=++jQuery.uuid}else{id=jQuery.expando}}if(!cache[id]){cache[id]={}}if(typeof name==="object"){if(pvt){cache[id][internalKey]=jQuery.extend(cache[id][internalKey],name)}else{cache[id]=jQuery.extend(cache[id],name)}}thisCache=cache[id];if(pvt){if(!thisCache[internalKey]){thisCache[internalKey]={}}thisCache=thisCache[internalKey]}if(data!==undefined){thisCache[name]=data
}if(name==="events"&&!thisCache[name]){return thisCache[internalKey]&&thisCache[internalKey].events}return getByName?thisCache[name]:thisCache},removeData:function(elem,name,pvt){if(!jQuery.acceptData(elem)){return}var internalKey=jQuery.expando,isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[jQuery.expando]:jQuery.expando;if(!cache[id]){return}if(name){var thisCache=pvt?cache[id][internalKey]:cache[id];if(thisCache){delete thisCache[name];if(!jQuery.isEmptyObject(thisCache)){return}}}if(pvt){delete cache[id][internalKey];if(!jQuery.isEmptyObject(cache[id])){return}}var internalCache=cache[id][internalKey];if(jQuery.support.deleteExpando||cache!=window){delete cache[id]}else{cache[id]=null}if(internalCache){cache[id]={};cache[id][internalKey]=internalCache}else{if(isNode){if(jQuery.support.deleteExpando){delete elem[jQuery.expando]}else{if(elem.removeAttribute){elem.removeAttribute(jQuery.expando)}else{elem[jQuery.expando]=null}}}}},_data:function(elem,name,data){return jQuery.data(elem,name,data,true)},acceptData:function(elem){if(elem.nodeName){var match=jQuery.noData[elem.nodeName.toLowerCase()];if(match){return !(match===true||elem.getAttribute("classid")!==match)}}return true}});jQuery.fn.extend({data:function(key,value){var data=null;if(typeof key==="undefined"){if(this.length){data=jQuery.data(this[0]);if(this[0].nodeType===1){var attr=this[0].attributes,name;for(var i=0,l=attr.length;i<l;i++){name=attr[i].name;if(name.indexOf("data-")===0){name=name.substr(5);dataAttr(this[0],name,data[name])}}}}return data}else{if(typeof key==="object"){return this.each(function(){jQuery.data(this,key)})}}var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length){data=jQuery.data(this[0],key);data=dataAttr(this[0],key,data)}return data===undefined&&parts[1]?this.data(parts[0]):data}else{return this.each(function(){var $this=jQuery(this),args=[parts[0],value];$this.triggerHandler("setData"+parts[1]+"!",args);
jQuery.data(this,key,value);$this.triggerHandler("changeData"+parts[1]+"!",args)})}},removeData:function(key){return this.each(function(){jQuery.removeData(this,key)})}});function dataAttr(elem,key,data){if(data===undefined&&elem.nodeType===1){data=elem.getAttribute("data-"+key);if(typeof data==="string"){try{data=data==="true"?true:data==="false"?false:data==="null"?null:!jQuery.isNaN(data)?parseFloat(data):rbrace.test(data)?jQuery.parseJSON(data):data}catch(e){}jQuery.data(elem,key,data)}else{data=undefined}}return data}jQuery.extend({queue:function(elem,type,data){if(!elem){return}type=(type||"fx")+"queue";var q=jQuery._data(elem,type);if(!data){return q||[]}if(!q||jQuery.isArray(data)){q=jQuery._data(elem,type,jQuery.makeArray(data))}else{q.push(data)}return q},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),fn=queue.shift();if(fn==="inprogress"){fn=queue.shift()}if(fn){if(type==="fx"){queue.unshift("inprogress")}fn.call(elem,function(){jQuery.dequeue(elem,type)})}if(!queue.length){jQuery.removeData(elem,type+"queue",true)}}});jQuery.fn.extend({queue:function(type,data){if(typeof type!=="string"){data=type;type="fx"}if(data===undefined){return jQuery.queue(this[0],type)}return this.each(function(i){var queue=jQuery.queue(this,type,data);if(type==="fx"&&queue[0]!=="inprogress"){jQuery.dequeue(this,type)}})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})},delay:function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(){var elem=this;setTimeout(function(){jQuery.dequeue(elem,type)},time)})},clearQueue:function(type){return this.queue(type||"fx",[])}});var rclass=/[\n\t\r]/g,rspaces=/\s+/,rreturn=/\r/g,rspecialurl=/^(?:href|src|style)$/,rtype=/^(?:button|input)$/i,rfocusable=/^(?:button|input|object|select|textarea)$/i,rclickable=/^a(?:rea)?$/i,rradiocheck=/^(?:radio|checkbox)$/i;jQuery.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};
jQuery.fn.extend({attr:function(name,value){return jQuery.access(this,name,value,true,jQuery.attr)},removeAttr:function(name,fn){return this.each(function(){jQuery.attr(this,name,"");if(this.nodeType===1){this.removeAttribute(name)}})},addClass:function(value){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.addClass(value.call(this,i,self.attr("class")))})}if(value&&typeof value==="string"){var classNames=(value||"").split(rspaces);for(var i=0,l=this.length;i<l;i++){var elem=this[i];if(elem.nodeType===1){if(!elem.className){elem.className=value}else{var className=" "+elem.className+" ",setClass=elem.className;for(var c=0,cl=classNames.length;c<cl;c++){if(className.indexOf(" "+classNames[c]+" ")<0){setClass+=" "+classNames[c]}}elem.className=jQuery.trim(setClass)}}}}return this},removeClass:function(value){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.removeClass(value.call(this,i,self.attr("class")))})}if((value&&typeof value==="string")||value===undefined){var classNames=(value||"").split(rspaces);for(var i=0,l=this.length;i<l;i++){var elem=this[i];if(elem.nodeType===1&&elem.className){if(value){var className=(" "+elem.className+" ").replace(rclass," ");for(var c=0,cl=classNames.length;c<cl;c++){className=className.replace(" "+classNames[c]+" "," ")}elem.className=jQuery.trim(className)}else{elem.className=""}}}}return this},toggleClass:function(value,stateVal){var type=typeof value,isBool=typeof stateVal==="boolean";if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.toggleClass(value.call(this,i,self.attr("class"),stateVal),stateVal)})}return this.each(function(){if(type==="string"){var className,i=0,self=jQuery(this),state=stateVal,classNames=value.split(rspaces);while((className=classNames[i++])){state=isBool?state:!self.hasClass(className);self[state?"addClass":"removeClass"](className)}}else{if(type==="undefined"||type==="boolean"){if(this.className){jQuery._data(this,"__className__",this.className)}this.className=this.className||value===false?"":jQuery._data(this,"__className__")||""
}}})},hasClass:function(selector){var className=" "+selector+" ";for(var i=0,l=this.length;i<l;i++){if((" "+this[i].className+" ").replace(rclass," ").indexOf(className)>-1){return true}}return false},val:function(value){if(!arguments.length){var elem=this[0];if(elem){if(jQuery.nodeName(elem,"option")){var val=elem.attributes.value;return !val||val.specified?elem.value:elem.text}if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type==="select-one";if(index<0){return null}for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected&&(jQuery.support.optDisabled?!option.disabled:option.getAttribute("disabled")===null)&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){value=jQuery(option).val();if(one){return value}values.push(value)}}return values}if(rradiocheck.test(elem.type)&&!jQuery.support.checkOn){return elem.getAttribute("value")===null?"on":elem.value}return(elem.value||"").replace(rreturn,"")}return undefined}var isFunction=jQuery.isFunction(value);return this.each(function(i){var self=jQuery(this),val=value;if(this.nodeType!==1){return}if(isFunction){val=value.call(this,i,self.val())}if(val==null){val=""}else{if(typeof val==="number"){val+=""}else{if(jQuery.isArray(val)){val=jQuery.map(val,function(value){return value==null?"":value+""})}}}if(jQuery.isArray(val)&&rradiocheck.test(this.type)){this.checked=jQuery.inArray(self.val(),val)>=0}else{if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(val);jQuery("option",this).each(function(){this.selected=jQuery.inArray(jQuery(this).val(),values)>=0});if(!values.length){this.selectedIndex=-1}}else{this.value=val}}})}});jQuery.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(elem,name,value,pass){if(!elem||elem.nodeType===3||elem.nodeType===8||elem.nodeType===2){return undefined}if(pass&&name in jQuery.attrFn){return jQuery(elem)[name](value)}var notxml=elem.nodeType!==1||!jQuery.isXMLDoc(elem),set=value!==undefined;
name=notxml&&jQuery.props[name]||name;if(elem.nodeType===1){var special=rspecialurl.test(name);if(name==="selected"&&!jQuery.support.optSelected){var parent=elem.parentNode;if(parent){parent.selectedIndex;if(parent.parentNode){parent.parentNode.selectedIndex}}}if((name in elem||elem[name]!==undefined)&&notxml&&!special){if(set){if(name==="type"&&rtype.test(elem.nodeName)&&elem.parentNode){jQuery.error("type property can't be changed")}if(value===null){if(elem.nodeType===1){elem.removeAttribute(name)}}else{elem[name]=value}}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name)){return elem.getAttributeNode(name).nodeValue}if(name==="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:undefined}return elem[name]}if(!jQuery.support.style&&notxml&&name==="style"){if(set){elem.style.cssText=""+value}return elem.style.cssText}if(set){elem.setAttribute(name,""+value)}if(!elem.attributes[name]&&(elem.hasAttribute&&!elem.hasAttribute(name))){return undefined}var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr}if(set){elem[name]=value}return elem[name]}});var rnamespaces=/\.(.*)$/,rformElems=/^(?:textarea|input|select)$/i,rperiod=/\./g,rspace=/ /g,rescape=/[^\w\s.|`]/g,fcleanup=function(nm){return nm.replace(rescape,"\\$&")},eventKey="events";jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType===3||elem.nodeType===8){return}if(jQuery.isWindow(elem)&&(elem!==window&&!elem.frameElement)){elem=window}if(handler===false){handler=returnFalse}else{if(!handler){return}}var handleObjIn,handleObj;if(handler.handler){handleObjIn=handler;handler=handleObjIn.handler}if(!handler.guid){handler.guid=jQuery.guid++}var elemData=jQuery._data(elem);if(!elemData){return}var events=elemData[eventKey],eventHandle=elemData.handle;if(typeof events==="function"){eventHandle=events.handle;
events=events.events}else{if(!events){if(!elem.nodeType){elemData[eventKey]=elemData=function(){}}elemData.events=events={}}}if(!eventHandle){elemData.handle=eventHandle=function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(eventHandle.elem,arguments):undefined}}eventHandle.elem=elem;types=types.split(" ");var type,i=0,namespaces;while((type=types[i++])){handleObj=handleObjIn?jQuery.extend({},handleObjIn):{handler:handler,data:data};if(type.indexOf(".")>-1){namespaces=type.split(".");type=namespaces.shift();handleObj.namespace=namespaces.slice(0).sort().join(".")}else{namespaces=[];handleObj.namespace=""}handleObj.type=type;if(!handleObj.guid){handleObj.guid=handler.guid}var handlers=events[type],special=jQuery.event.special[type]||{};if(!handlers){handlers=events[type]=[];if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false){if(elem.addEventListener){elem.addEventListener(type,eventHandle,false)}else{if(elem.attachEvent){elem.attachEvent("on"+type,eventHandle)}}}}if(special.add){special.add.call(elem,handleObj);if(!handleObj.handler.guid){handleObj.handler.guid=handler.guid}}handlers.push(handleObj);jQuery.event.global[type]=true}elem=null},global:{},remove:function(elem,types,handler,pos){if(elem.nodeType===3||elem.nodeType===8){return}if(handler===false){handler=returnFalse}var ret,type,fn,j,i=0,all,namespaces,namespace,special,eventType,handleObj,origType,elemData=jQuery.hasData(elem)&&jQuery._data(elem),events=elemData&&elemData[eventKey];if(!elemData||!events){return}if(typeof events==="function"){elemData=events;events=events.events}if(types&&types.type){handler=types.handler;types=types.type}if(!types||typeof types==="string"&&types.charAt(0)==="."){types=types||"";for(type in events){jQuery.event.remove(elem,type+types)}return}types=types.split(" ");while((type=types[i++])){origType=type;handleObj=null;all=type.indexOf(".")<0;namespaces=[];if(!all){namespaces=type.split(".");type=namespaces.shift();namespace=new RegExp("(^|\\.)"+jQuery.map(namespaces.slice(0).sort(),fcleanup).join("\\.(?:.*\\.)?")+"(\\.|$)")
}eventType=events[type];if(!eventType){continue}if(!handler){for(j=0;j<eventType.length;j++){handleObj=eventType[j];if(all||namespace.test(handleObj.namespace)){jQuery.event.remove(elem,origType,handleObj.handler,j);eventType.splice(j--,1)}}continue}special=jQuery.event.special[type]||{};for(j=pos||0;j<eventType.length;j++){handleObj=eventType[j];if(handler.guid===handleObj.guid){if(all||namespace.test(handleObj.namespace)){if(pos==null){eventType.splice(j--,1)}if(special.remove){special.remove.call(elem,handleObj)}}if(pos!=null){break}}}if(eventType.length===0||pos!=null&&eventType.length===1){if(!special.teardown||special.teardown.call(elem,namespaces)===false){jQuery.removeEvent(elem,type,elemData.handle)}ret=null;delete events[type]}}if(jQuery.isEmptyObject(events)){var handle=elemData.handle;if(handle){handle.elem=null}delete elemData.events;delete elemData.handle;if(typeof elemData==="function"){jQuery.removeData(elem,eventKey,true)}else{if(jQuery.isEmptyObject(elemData)){jQuery.removeData(elem,undefined,true)}}}},trigger:function(event,data,elem){var type=event.type||event,bubbling=arguments[3];if(!bubbling){event=typeof event==="object"?event[jQuery.expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true}if(!elem){event.stopPropagation();if(jQuery.event.global[type]){jQuery.each(jQuery.cache,function(){var internalKey=jQuery.expando,internalCache=this[internalKey];if(internalCache&&internalCache.events&&internalCache.events[type]){jQuery.event.trigger(event,data,internalCache.handle.elem)}})}}if(!elem||elem.nodeType===3||elem.nodeType===8){return undefined}event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event)}event.currentTarget=elem;var handle=elem.nodeType?jQuery._data(elem,"handle"):(jQuery._data(elem,eventKey)||{}).handle;if(handle){handle.apply(elem,data)}var parent=elem.parentNode||elem.ownerDocument;try{if(!(elem&&elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()])){if(elem["on"+type]&&elem["on"+type].apply(elem,data)===false){event.result=false;
event.preventDefault()}}}catch(inlineError){}if(!event.isPropagationStopped()&&parent){jQuery.event.trigger(event,data,parent,true)}else{if(!event.isDefaultPrevented()){var old,target=event.target,targetType=type.replace(rnamespaces,""),isClick=jQuery.nodeName(target,"a")&&targetType==="click",special=jQuery.event.special[targetType]||{};if((!special._default||special._default.call(elem,event)===false)&&!isClick&&!(target&&target.nodeName&&jQuery.noData[target.nodeName.toLowerCase()])){try{if(target[targetType]){old=target["on"+targetType];if(old){target["on"+targetType]=null}jQuery.event.triggered=true;target[targetType]()}}catch(triggerError){}if(old){target["on"+targetType]=old}jQuery.event.triggered=false}}}},handle:function(event){var all,handlers,namespaces,namespace_re,events,namespace_sort=[],args=jQuery.makeArray(arguments);event=args[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;all=event.type.indexOf(".")<0&&!event.exclusive;if(!all){namespaces=event.type.split(".");event.type=namespaces.shift();namespace_sort=namespaces.slice(0).sort();namespace_re=new RegExp("(^|\\.)"+namespace_sort.join("\\.(?:.*\\.)?")+"(\\.|$)")}event.namespace=event.namespace||namespace_sort.join(".");events=jQuery._data(this,eventKey);if(typeof events==="function"){events=events.events}handlers=(events||{})[event.type];if(events&&handlers){handlers=handlers.slice(0);for(var j=0,l=handlers.length;j<l;j++){var handleObj=handlers[j];if(all||namespace_re.test(handleObj.namespace)){event.handler=handleObj.handler;event.data=handleObj.data;event.handleObj=handleObj;var ret=handleObj.handler.apply(this,args);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation()}}if(event.isImmediatePropagationStopped()){break}}}}return event.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[jQuery.expando]){return event
}var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop]}if(!event.target){event.target=event.srcElement||document}if(event.target.nodeType===3){event.target=event.target.parentNode}if(!event.relatedTarget&&event.fromElement){event.relatedTarget=event.fromElement===event.target?event.toElement:event.fromElement}if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)}if(event.which==null&&(event.charCode!=null||event.keyCode!=null)){event.which=event.charCode!=null?event.charCode:event.keyCode}if(!event.metaKey&&event.ctrlKey){event.metaKey=event.ctrlKey}if(!event.which&&event.button!==undefined){event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)))}return event},guid:100000000,proxy:jQuery.proxy,special:{ready:{setup:jQuery.bindReady,teardown:jQuery.noop},live:{add:function(handleObj){jQuery.event.add(this,liveConvert(handleObj.origType,handleObj.selector),jQuery.extend({},handleObj,{handler:liveHandler,guid:handleObj.handler.guid}))},remove:function(handleObj){jQuery.event.remove(this,liveConvert(handleObj.origType,handleObj.selector),handleObj)}},beforeunload:{setup:function(data,namespaces,eventHandle){if(jQuery.isWindow(this)){this.onbeforeunload=eventHandle}},teardown:function(namespaces,eventHandle){if(this.onbeforeunload===eventHandle){this.onbeforeunload=null}}}}};jQuery.removeEvent=document.removeEventListener?function(elem,type,handle){if(elem.removeEventListener){elem.removeEventListener(type,handle,false)}}:function(elem,type,handle){if(elem.detachEvent){elem.detachEvent("on"+type,handle)}};jQuery.Event=function(src){if(!this.preventDefault){return new jQuery.Event(src)}if(src&&src.type){this.originalEvent=src;this.type=src.type;
this.isDefaultPrevented=(src.defaultPrevented||src.returnValue===false||src.getPreventDefault&&src.getPreventDefault())?returnTrue:returnFalse}else{this.type=src}this.timeStamp=jQuery.now();this[jQuery.expando]=true};function returnFalse(){return false}function returnTrue(){return true}jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e){return}if(e.preventDefault){e.preventDefault()}else{e.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e){return}if(e.stopPropagation){e.stopPropagation()}e.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation()},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;try{while(parent&&parent!==this){parent=parent.parentNode}if(parent!==this){event.type=event.data;jQuery.event.handle.apply(this,arguments)}}catch(e){}},delegate=function(event){event.type=event.data;jQuery.event.handle.apply(this,arguments)};jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(orig,fix){jQuery.event.special[orig]={setup:function(data){jQuery.event.add(this,fix,data&&data.selector?delegate:withinElement,orig)},teardown:function(data){jQuery.event.remove(this,fix,data&&data.selector?delegate:withinElement)}}});if(!jQuery.support.submitBubbles){jQuery.event.special.submit={setup:function(data,namespaces){if(this.nodeName&&this.nodeName.toLowerCase()!=="form"){jQuery.event.add(this,"click.specialSubmit",function(e){var elem=e.target,type=elem.type;if((type==="submit"||type==="image")&&jQuery(elem).closest("form").length){e.liveFired=undefined;return trigger("submit",this,arguments)}});jQuery.event.add(this,"keypress.specialSubmit",function(e){var elem=e.target,type=elem.type;if((type==="text"||type==="password")&&jQuery(elem).closest("form").length&&e.keyCode===13){e.liveFired=undefined;
return trigger("submit",this,arguments)}})}else{return false}},teardown:function(namespaces){jQuery.event.remove(this,".specialSubmit")}}}if(!jQuery.support.changeBubbles){var changeFilters,getVal=function(elem){var type=elem.type,val=elem.value;if(type==="radio"||type==="checkbox"){val=elem.checked}else{if(type==="select-multiple"){val=elem.selectedIndex>-1?jQuery.map(elem.options,function(elem){return elem.selected}).join("-"):""}else{if(elem.nodeName.toLowerCase()==="select"){val=elem.selectedIndex}}}return val},testChange=function testChange(e){var elem=e.target,data,val;if(!rformElems.test(elem.nodeName)||elem.readOnly){return}data=jQuery._data(elem,"_change_data");val=getVal(elem);if(e.type!=="focusout"||elem.type!=="radio"){jQuery._data(elem,"_change_data",val)}if(data===undefined||val===data){return}if(data!=null||val){e.type="change";e.liveFired=undefined;return jQuery.event.trigger(e,arguments[1],elem)}};jQuery.event.special.change={filters:{focusout:testChange,beforedeactivate:testChange,click:function(e){var elem=e.target,type=elem.type;if(type==="radio"||type==="checkbox"||elem.nodeName.toLowerCase()==="select"){return testChange.call(this,e)}},keydown:function(e){var elem=e.target,type=elem.type;if((e.keyCode===13&&elem.nodeName.toLowerCase()!=="textarea")||(e.keyCode===32&&(type==="checkbox"||type==="radio"))||type==="select-multiple"){return testChange.call(this,e)}},beforeactivate:function(e){var elem=e.target;jQuery._data(elem,"_change_data",getVal(elem))}},setup:function(data,namespaces){if(this.type==="file"){return false}for(var type in changeFilters){jQuery.event.add(this,type+".specialChange",changeFilters[type])}return rformElems.test(this.nodeName)},teardown:function(namespaces){jQuery.event.remove(this,".specialChange");return rformElems.test(this.nodeName)}};changeFilters=jQuery.event.special.change.filters;changeFilters.focus=changeFilters.beforeactivate}function trigger(type,elem,args){args[0].type=type;return jQuery.event.handle.apply(elem,args)}if(document.addEventListener){jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){jQuery.event.special[fix]={setup:function(){this.addEventListener(orig,handler,true)
},teardown:function(){this.removeEventListener(orig,handler,true)}};function handler(e){e=jQuery.event.fix(e);e.type=fix;return jQuery.event.handle.call(this,e)}})}jQuery.each(["bind","one"],function(i,name){jQuery.fn[name]=function(type,data,fn){if(typeof type==="object"){for(var key in type){this[name](key,data,type[key],fn)}return this}if(jQuery.isFunction(data)||data===false){fn=data;data=undefined}var handler=name==="one"?jQuery.proxy(fn,function(event){jQuery(this).unbind(event,handler);return fn.apply(this,arguments)}):fn;if(type==="unload"&&name!=="one"){this.one(type,data,fn)}else{for(var i=0,l=this.length;i<l;i++){jQuery.event.add(this[i],type,handler,data)}}return this}});jQuery.fn.extend({unbind:function(type,fn){if(typeof type==="object"&&!type.preventDefault){for(var key in type){this.unbind(key,type[key])}}else{for(var i=0,l=this.length;i<l;i++){jQuery.event.remove(this[i],type,fn)}}return this},delegate:function(selector,types,data,fn){return this.live(types,data,fn,selector)},undelegate:function(selector,types,fn){if(arguments.length===0){return this.unbind("live")}else{return this.die(types,null,fn,selector)}},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result}},toggle:function(fn){var args=arguments,i=1;while(i<args.length){jQuery.proxy(fn,args[i++])}return this.click(jQuery.proxy(fn,function(event){var lastToggle=(jQuery._data(this,"lastToggle"+fn.guid)||0)%i;jQuery._data(this,"lastToggle"+fn.guid,lastToggle+1);event.preventDefault();return args[lastToggle].apply(this,arguments)||false}))},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)}});var liveMap={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};jQuery.each(["live","die"],function(i,name){jQuery.fn[name]=function(types,data,fn,origSelector){var type,i=0,match,namespaces,preType,selector=origSelector||this.selector,context=origSelector?this:jQuery(this.context);
if(typeof types==="object"&&!types.preventDefault){for(var key in types){context[name](key,data,types[key],selector)}return this}if(jQuery.isFunction(data)){fn=data;data=undefined}types=(types||"").split(" ");while((type=types[i++])!=null){match=rnamespaces.exec(type);namespaces="";if(match){namespaces=match[0];type=type.replace(rnamespaces,"")}if(type==="hover"){types.push("mouseenter"+namespaces,"mouseleave"+namespaces);continue}preType=type;if(type==="focus"||type==="blur"){types.push(liveMap[type]+namespaces);type=type+namespaces}else{type=(liveMap[type]||type)+namespaces}if(name==="live"){for(var j=0,l=context.length;j<l;j++){jQuery.event.add(context[j],"live."+liveConvert(type,selector),{data:data,selector:selector,handler:fn,origType:type,origHandler:fn,preType:preType})}}else{context.unbind("live."+liveConvert(type,selector),fn)}}return this}});function liveHandler(event){var stop,maxLevel,related,match,handleObj,elem,j,i,l,data,close,namespace,ret,elems=[],selectors=[],events=jQuery._data(this,eventKey);if(typeof events==="function"){events=events.events}if(event.liveFired===this||!events||!events.live||event.target.disabled||event.button&&event.type==="click"){return}if(event.namespace){namespace=new RegExp("(^|\\.)"+event.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")}event.liveFired=this;var live=events.live.slice(0);for(j=0;j<live.length;j++){handleObj=live[j];if(handleObj.origType.replace(rnamespaces,"")===event.type){selectors.push(handleObj.selector)}else{live.splice(j--,1)}}match=jQuery(event.target).closest(selectors,event.currentTarget);for(i=0,l=match.length;i<l;i++){close=match[i];for(j=0;j<live.length;j++){handleObj=live[j];if(close.selector===handleObj.selector&&(!namespace||namespace.test(handleObj.namespace))){elem=close.elem;related=null;if(handleObj.preType==="mouseenter"||handleObj.preType==="mouseleave"){event.type=handleObj.preType;related=jQuery(event.relatedTarget).closest(handleObj.selector)[0]}if(!related||related!==elem){elems.push({elem:elem,handleObj:handleObj,level:close.level})
}}}}for(i=0,l=elems.length;i<l;i++){match=elems[i];if(maxLevel&&match.level>maxLevel){break}event.currentTarget=match.elem;event.data=match.handleObj.data;event.handleObj=match.handleObj;ret=match.handleObj.origHandler.apply(match.elem,arguments);if(ret===false||event.isPropagationStopped()){maxLevel=match.level;if(ret===false){stop=false}if(event.isImmediatePropagationStopped()){break}}}return stop}function liveConvert(type,selector){return(type&&type!=="*"?type+".":"")+selector.replace(rperiod,"`").replace(rspace,"&")}jQuery.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error").split(" "),function(i,name){jQuery.fn[name]=function(data,fn){if(fn==null){fn=data;data=null}return arguments.length>0?this.bind(name,data,fn):this.trigger(name)};if(jQuery.attrFn){jQuery.attrFn[name]=true}});
/*!
 * Sizzle CSS Selector Engine
 *  Copyright 2011, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,done=0,toString=Object.prototype.toString,hasDuplicate=false,baseHasDuplicate=true;[0,0].sort(function(){baseHasDuplicate=false;return 0});var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;var origContext=context;if(context.nodeType!==1&&context.nodeType!==9){return[]}if(!selector||typeof selector!=="string"){return results}var m,set,checkSet,extra,ret,cur,pop,i,prune=true,contextXML=Sizzle.isXML(context),parts=[],soFar=selector;do{chunker.exec("");m=chunker.exec(soFar);if(m){soFar=m[3];parts.push(m[1]);if(m[2]){extra=m[3];break}}}while(m);if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context)}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);
while(parts.length){selector=parts.shift();if(Expr.relative[selector]){selector+=parts.shift()}set=posProcess(selector,set)}}}else{if(!seed&&parts.length>1&&context.nodeType===9&&!contextXML&&Expr.match.ID.test(parts[0])&&!Expr.match.ID.test(parts[parts.length-1])){ret=Sizzle.find(parts.shift(),context,contextXML);context=ret.expr?Sizzle.filter(ret.expr,ret.set)[0]:ret.set[0]}if(context){ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&(parts[0]==="~"||parts[0]==="+")&&context.parentNode?context.parentNode:context,contextXML);set=ret.expr?Sizzle.filter(ret.expr,ret.set):ret.set;if(parts.length>0){checkSet=makeArray(set)}else{prune=false}while(parts.length){cur=parts.pop();pop=cur;if(!Expr.relative[cur]){cur=""}else{pop=parts.pop()}if(pop==null){pop=context}Expr.relative[cur](checkSet,pop,contextXML)}}else{checkSet=parts=[]}}if(!checkSet){checkSet=set}if(!checkSet){Sizzle.error(cur||selector)}if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet)}else{if(context&&context.nodeType===1){for(i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&Sizzle.contains(context,checkSet[i]))){results.push(set[i])}}}else{for(i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i])}}}}}else{makeArray(checkSet,results)}if(extra){Sizzle(extra,origContext,results,seed);Sizzle.uniqueSort(results)}return results};Sizzle.uniqueSort=function(results){if(sortOrder){hasDuplicate=baseHasDuplicate;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1)}}}}return results};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set)};Sizzle.matchesSelector=function(node,expr){return Sizzle(expr,null,null,[node]).length>0};Sizzle.find=function(expr,context,isXML){var set;if(!expr){return[]}for(var i=0,l=Expr.order.length;i<l;i++){var match,type=Expr.order[i];if((match=Expr.leftMatch[type].exec(expr))){var left=match[1];
match.splice(1,1);if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break}}}}if(!set){set=typeof context.getElementsByTagName!=="undefined"?context.getElementsByTagName("*"):[]}return{set:set,expr:expr}};Sizzle.filter=function(expr,set,inplace,not){var match,anyFound,old=expr,result=[],curLoop=set,isXMLFilter=set&&set[0]&&Sizzle.isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.leftMatch[type].exec(expr))!=null&&match[2]){var found,item,filter=Expr.filter[type],left=match[1];anyFound=false;match.splice(1,1);if(left.substr(left.length-1)==="\\"){continue}if(curLoop===result){result=[]}if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true}else{if(match===true){continue}}}if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true}else{curLoop[i]=false}}else{if(pass){result.push(item);anyFound=true}}}}}if(found!==undefined){if(!inplace){curLoop=result}expr=expr.replace(Expr.match[type],"");if(!anyFound){return[]}break}}}if(expr===old){if(anyFound==null){Sizzle.error(expr)}else{break}}old=expr}return curLoop};Sizzle.error=function(msg){throw"Syntax error, unrecognized expression: "+msg};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href")
}},relative:{"+":function(checkSet,part){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag){part=part.toLowerCase()}for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}checkSet[i]=isPartStrNotTag||elem&&elem.nodeName.toLowerCase()===part?elem||false:elem===part}}if(isPartStrNotTag){Sizzle.filter(part,checkSet,true)}},">":function(checkSet,part){var elem,isPartStr=typeof part==="string",i=0,l=checkSet.length;if(isPartStr&&!/\W/.test(part)){part=part.toLowerCase();for(;i<l;i++){elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName.toLowerCase()===part?parent:false}}}else{for(;i<l;i++){elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part}}if(isPartStr){Sizzle.filter(part,checkSet,true)}}},"":function(checkSet,part,isXML){var nodeCheck,doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!/\W/.test(part)){part=part.toLowerCase();nodeCheck=part;checkFn=dirNodeCheck}checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML)},"~":function(checkSet,part,isXML){var nodeCheck,doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!/\W/.test(part)){part=part.toLowerCase();nodeCheck=part;checkFn=dirNodeCheck}checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML)}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m&&m.parentNode?[m]:[]}},NAME:function(match,context){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i])}}return ret.length===0?null:ret}},TAG:function(match,context){if(typeof context.getElementsByTagName!=="undefined"){return context.getElementsByTagName(match[1])}}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";
if(isXML){return match}for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").replace(/[\t\n\r]/g," ").indexOf(match)>=0)){if(!inplace){result.push(elem)}}else{if(inplace){curLoop[i]=false}}}}return false},ID:function(match){return match[1].replace(/\\/g,"")},TAG:function(match,curLoop){return match[1].toLowerCase()},CHILD:function(match){if(match[1]==="nth"){if(!match[2]){Sizzle.error(match[0])}match[2]=match[2].replace(/^\+|\s*/g,"");var test=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(match[2]==="even"&&"2n"||match[2]==="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0}else{if(match[2]){Sizzle.error(match[0])}}match[0]=done++;return match},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1]=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name]}match[4]=(match[4]||match[5]||"").replace(/\\/g,"");if(match[2]==="~="){match[4]=" "+match[4]+" "}return match},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if((chunker.exec(match[3])||"").length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop)}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret)}return false}}else{if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true}}return match},POS:function(match){match.unshift(true);return match}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden"},disabled:function(elem){return elem.disabled===true},checked:function(elem){return elem.checked===true},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true},parent:function(elem){return !!elem.firstChild},empty:function(elem){return !elem.firstChild},has:function(elem,i,match){return !!Sizzle(match[3],elem).length},header:function(elem){return(/h\d/i).test(elem.nodeName)},text:function(elem){return"text"===elem.type},radio:function(elem){return"radio"===elem.type
},checkbox:function(elem){return"checkbox"===elem.type},file:function(elem){return"file"===elem.type},password:function(elem){return"password"===elem.type},submit:function(elem){return"submit"===elem.type},image:function(elem){return"image"===elem.type},reset:function(elem){return"reset"===elem.type},button:function(elem){return"button"===elem.type||elem.nodeName.toLowerCase()==="button"},input:function(elem){return(/input|select|textarea|button/i).test(elem.nodeName)}},setFilters:{first:function(elem,i){return i===0},last:function(elem,i,match,array){return i===array.length-1},even:function(elem,i){return i%2===0},odd:function(elem,i){return i%2===1},lt:function(elem,i,match){return i<match[3]-0},gt:function(elem,i,match){return i>match[3]-0},nth:function(elem,i,match){return match[3]-0===i},eq:function(elem,i,match){return match[3]-0===i}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array)}else{if(name==="contains"){return(elem.textContent||elem.innerText||Sizzle.getText([elem])||"").indexOf(match[3])>=0}else{if(name==="not"){var not=match[3];for(var j=0,l=not.length;j<l;j++){if(not[j]===elem){return false}}return true}else{Sizzle.error(name)}}}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case"only":case"first":while((node=node.previousSibling)){if(node.nodeType===1){return false}}if(type==="first"){return true}node=elem;case"last":while((node=node.nextSibling)){if(node.nodeType===1){return false}}return true;case"nth":var first=match[2],last=match[3];if(first===1&&last===0){return true}var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count}}parent.sizcache=doneName}var diff=elem.nodeIndex-last;if(first===0){return diff===0}else{return(diff%first===0&&diff/first>=0)}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName.toLowerCase()===match
},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!==check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array)}}}};var origPOS=Expr.match.POS,fescape=function(all,num){return"\\"+(num-0+1)};for(var type in Expr.match){Expr.match[type]=new RegExp(Expr.match[type].source+(/(?![^\[]*\])(?![^\(]*\))/.source));Expr.leftMatch[type]=new RegExp(/(^(?:.|\r|\n)*?)/.source+Expr.match[type].source.replace(/\\(\d+)/g,fescape))}var makeArray=function(array,results){array=Array.prototype.slice.call(array,0);if(results){results.push.apply(results,array);return results}return array};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType}catch(e){makeArray=function(array,results){var i=0,ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array)}else{if(typeof array.length==="number"){for(var l=array.length;i<l;i++){ret.push(array[i])}}else{for(;array[i];i++){ret.push(array[i])}}}return ret}}var sortOrder,siblingCheck;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){if(a===b){hasDuplicate=true;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition){return a.compareDocumentPosition?-1:1}return a.compareDocumentPosition(b)&4?-1:1}}else{sortOrder=function(a,b){var al,bl,ap=[],bp=[],aup=a.parentNode,bup=b.parentNode,cur=aup;if(a===b){hasDuplicate=true;return 0
}else{if(aup===bup){return siblingCheck(a,b)}else{if(!aup){return -1}else{if(!bup){return 1}}}}while(cur){ap.unshift(cur);cur=cur.parentNode}cur=bup;while(cur){bp.unshift(cur);cur=cur.parentNode}al=ap.length;bl=bp.length;for(var i=0;i<al&&i<bl;i++){if(ap[i]!==bp[i]){return siblingCheck(ap[i],bp[i])}}return i===al?siblingCheck(a,bp[i],-1):siblingCheck(ap[i],b,1)};siblingCheck=function(a,b,ret){if(a===b){return ret}var cur=a.nextSibling;while(cur){if(cur===b){return -1}cur=cur.nextSibling}return 1}}Sizzle.getText=function(elems){var ret="",elem;for(var i=0;elems[i];i++){elem=elems[i];if(elem.nodeType===3||elem.nodeType===4){ret+=elem.nodeValue}else{if(elem.nodeType!==8){ret+=Sizzle.getText(elem.childNodes)}}}return ret};(function(){var form=document.createElement("div"),id="script"+(new Date()).getTime(),root=document.documentElement;form.innerHTML="<a name='"+id+"'/>";root.insertBefore(form,root.firstChild);if(document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[]}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match}}root.removeChild(form);root=form=null})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i])}}results=tmp}return results}}div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2)}}div=null})();if(document.querySelectorAll){(function(){var oldSizzle=Sizzle,div=document.createElement("div"),id="__sizzle__";
div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return}Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&!Sizzle.isXML(context)){var match=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(query);if(match&&(context.nodeType===1||context.nodeType===9)){if(match[1]){return makeArray(context.getElementsByTagName(query),extra)}else{if(match[2]&&Expr.find.CLASS&&context.getElementsByClassName){return makeArray(context.getElementsByClassName(match[2]),extra)}}}if(context.nodeType===9){if(query==="body"&&context.body){return makeArray([context.body],extra)}else{if(match&&match[3]){var elem=context.getElementById(match[3]);if(elem&&elem.parentNode){if(elem.id===match[3]){return makeArray([elem],extra)}}else{return makeArray([],extra)}}}try{return makeArray(context.querySelectorAll(query),extra)}catch(qsaError){}}else{if(context.nodeType===1&&context.nodeName.toLowerCase()!=="object"){var old=context.getAttribute("id"),nid=old||id,hasParent=context.parentNode,relativeHierarchySelector=/^\s*[+~]/.test(query);if(!old){context.setAttribute("id",nid)}else{nid=nid.replace(/'/g,"\\$&")}if(relativeHierarchySelector&&hasParent){context=context.parentNode}try{if(!relativeHierarchySelector||hasParent){return makeArray(context.querySelectorAll("[id='"+nid+"'] "+query),extra)}}catch(pseudoError){}finally{if(!old){context.removeAttribute("id")}}}}}return oldSizzle(query,context,extra,seed)};for(var prop in oldSizzle){Sizzle[prop]=oldSizzle[prop]}div=null})()}(function(){var html=document.documentElement,matches=html.matchesSelector||html.mozMatchesSelector||html.webkitMatchesSelector||html.msMatchesSelector,pseudoWorks=false;try{matches.call(document.documentElement,"[test!='']:sizzle")}catch(pseudoError){pseudoWorks=true}if(matches){Sizzle.matchesSelector=function(node,expr){expr=expr.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!Sizzle.isXML(node)){try{if(pseudoWorks||!Expr.match.PSEUDO.test(expr)&&!/!=/.test(expr)){return matches.call(node,expr)}}catch(e){}}return Sizzle(expr,null,null,[node]).length>0
}}})();(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(!div.getElementsByClassName||div.getElementsByClassName("e").length===0){return}div.lastChild.className="e";if(div.getElementsByClassName("e").length===1){return}Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1])}};div=null})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var match=false;elem=elem[dir];while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break}if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i}if(elem.nodeName.toLowerCase()===cur){match=elem;break}elem=elem[dir]}checkSet[i]=match}}}function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var match=false;elem=elem[dir];while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break}if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i}if(typeof cur!=="string"){if(elem===cur){match=true;break}}else{if(Sizzle.filter(cur,[elem]).length>0){match=elem;break}}}elem=elem[dir]}checkSet[i]=match}}}if(document.documentElement.contains){Sizzle.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):true)}}else{if(document.documentElement.compareDocumentPosition){Sizzle.contains=function(a,b){return !!(a.compareDocumentPosition(b)&16)}}else{Sizzle.contains=function(){return false}}}Sizzle.isXML=function(elem){var documentElement=(elem?elem.ownerDocument||elem:0).documentElement;return documentElement?documentElement.nodeName!=="HTML":false};var posProcess=function(selector,context){var match,tmpSet=[],later="",root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"")}selector=Expr.relative[selector]?selector+"*":selector;
for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet)}return Sizzle.filter(later,tmpSet)};jQuery.find=Sizzle;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;jQuery.unique=Sizzle.uniqueSort;jQuery.text=Sizzle.getText;jQuery.isXMLDoc=Sizzle.isXML;jQuery.contains=Sizzle.contains})();var runtil=/Until$/,rparentsprev=/^(?:parents|prevUntil|prevAll)/,rmultiselector=/,/,isSimple=/^.[^:#\[\.,]*$/,slice=Array.prototype.slice,POS=jQuery.expr.match.POS,guaranteedUnique={children:true,contents:true,next:true,prev:true};jQuery.fn.extend({find:function(selector){var ret=this.pushStack("","find",selector),length=0;for(var i=0,l=this.length;i<l;i++){length=ret.length;jQuery.find(selector,this[i],ret);if(i>0){for(var n=length;n<ret.length;n++){for(var r=0;r<length;r++){if(ret[r]===ret[n]){ret.splice(n--,1);break}}}}}return ret},has:function(target){var targets=jQuery(target);return this.filter(function(){for(var i=0,l=targets.length;i<l;i++){if(jQuery.contains(this,targets[i])){return true}}})},not:function(selector){return this.pushStack(winnow(this,selector,false),"not",selector)},filter:function(selector){return this.pushStack(winnow(this,selector,true),"filter",selector)},is:function(selector){return !!selector&&jQuery.filter(selector,this).length>0},closest:function(selectors,context){var ret=[],i,l,cur=this[0];if(jQuery.isArray(selectors)){var match,selector,matches={},level=1;if(cur&&selectors.length){for(i=0,l=selectors.length;i<l;i++){selector=selectors[i];if(!matches[selector]){matches[selector]=jQuery.expr.match.POS.test(selector)?jQuery(selector,context||this.context):selector}}while(cur&&cur.ownerDocument&&cur!==context){for(selector in matches){match=matches[selector];if(match.jquery?match.index(cur)>-1:jQuery(cur).is(match)){ret.push({selector:selector,elem:cur,level:level})}}cur=cur.parentNode;level++}}return ret}var pos=POS.test(selectors)?jQuery(selectors,context||this.context):null;for(i=0,l=this.length;i<l;i++){cur=this[i];while(cur){if(pos?pos.index(cur)>-1:jQuery.find.matchesSelector(cur,selectors)){ret.push(cur);
break}else{cur=cur.parentNode;if(!cur||!cur.ownerDocument||cur===context){break}}}}ret=ret.length>1?jQuery.unique(ret):ret;return this.pushStack(ret,"closest",selectors)},index:function(elem){if(!elem||typeof elem==="string"){return jQuery.inArray(this[0],elem?jQuery(elem):this.parent().children())}return jQuery.inArray(elem.jquery?elem[0]:elem,this)},add:function(selector,context){var set=typeof selector==="string"?jQuery(selector,context):jQuery.makeArray(selector),all=jQuery.merge(this.get(),set);return this.pushStack(isDisconnected(set[0])||isDisconnected(all[0])?all:jQuery.unique(all))},andSelf:function(){return this.add(this.prevObject)}});function isDisconnected(node){return !node||!node.parentNode||node.parentNode.nodeType===11}jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null},parents:function(elem){return jQuery.dir(elem,"parentNode")},parentsUntil:function(elem,i,until){return jQuery.dir(elem,"parentNode",until)},next:function(elem){return jQuery.nth(elem,2,"nextSibling")},prev:function(elem){return jQuery.nth(elem,2,"previousSibling")},nextAll:function(elem){return jQuery.dir(elem,"nextSibling")},prevAll:function(elem){return jQuery.dir(elem,"previousSibling")},nextUntil:function(elem,i,until){return jQuery.dir(elem,"nextSibling",until)},prevUntil:function(elem,i,until){return jQuery.dir(elem,"previousSibling",until)},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem)},children:function(elem){return jQuery.sibling(elem.firstChild)},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes)}},function(name,fn){jQuery.fn[name]=function(until,selector){var ret=jQuery.map(this,fn,until),args=slice.call(arguments);if(!runtil.test(name)){selector=until}if(selector&&typeof selector==="string"){ret=jQuery.filter(selector,ret)}ret=this.length>1&&!guaranteedUnique[name]?jQuery.unique(ret):ret;if((this.length>1||rmultiselector.test(selector))&&rparentsprev.test(name)){ret=ret.reverse()
}return this.pushStack(ret,name,args.join(","))}});jQuery.extend({filter:function(expr,elems,not){if(not){expr=":not("+expr+")"}return elems.length===1?jQuery.find.matchesSelector(elems[0],expr)?[elems[0]]:[]:jQuery.find.matches(expr,elems)},dir:function(elem,dir,until){var matched=[],cur=elem[dir];while(cur&&cur.nodeType!==9&&(until===undefined||cur.nodeType!==1||!jQuery(cur).is(until))){if(cur.nodeType===1){matched.push(cur)}cur=cur[dir]}return matched},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir]){if(cur.nodeType===1&&++num===result){break}}return cur},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType===1&&n!==elem){r.push(n)}}return r}});function winnow(elements,qualifier,keep){if(jQuery.isFunction(qualifier)){return jQuery.grep(elements,function(elem,i){var retVal=!!qualifier.call(elem,i,elem);return retVal===keep})}else{if(qualifier.nodeType){return jQuery.grep(elements,function(elem,i){return(elem===qualifier)===keep})}else{if(typeof qualifier==="string"){var filtered=jQuery.grep(elements,function(elem){return elem.nodeType===1});if(isSimple.test(qualifier)){return jQuery.filter(qualifier,filtered,!keep)}else{qualifier=jQuery.filter(qualifier,filtered)}}}}return jQuery.grep(elements,function(elem,i){return(jQuery.inArray(elem,qualifier)>=0)===keep})}var rinlinejQuery=/ jQuery\d+="(?:\d+|null)"/g,rleadingWhitespace=/^\s+/,rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,rtagName=/<([\w:]+)/,rtbody=/<tbody/i,rhtml=/<|&#?\w+;/,rnocache=/<(?:script|object|embed|option|style)/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option;wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;
wrapMap.th=wrapMap.td;if(!jQuery.support.htmlSerialize){wrapMap._default=[1,"div<div>","</div>"]}jQuery.fn.extend({text:function(text){if(jQuery.isFunction(text)){return this.each(function(i){var self=jQuery(this);self.text(text.call(this,i,self.text()))})}if(typeof text!=="object"&&text!==undefined){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text))}return jQuery.text(this)},wrapAll:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapAll(html.call(this,i))})}if(this[0]){var wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){wrap.insertBefore(this[0])}wrap.map(function(){var elem=this;while(elem.firstChild&&elem.firstChild.nodeType===1){elem=elem.firstChild}return elem}).append(this)}return this},wrapInner:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapInner(html.call(this,i))})}return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html)}else{self.append(html)}})},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html)})},unwrap:function(){return this.parent().each(function(){if(!jQuery.nodeName(this,"body")){jQuery(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType===1){this.appendChild(elem)}})},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType===1){this.insertBefore(elem,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this)})}else{if(arguments.length){var set=jQuery(arguments[0]);set.push.apply(set,this.toArray());return this.pushStack(set,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling)})}else{if(arguments.length){var set=this.pushStack(this,"after",arguments);
set.push.apply(set,jQuery(arguments[0]).toArray());return set}}},remove:function(selector,keepData){for(var i=0,elem;(elem=this[i])!=null;i++){if(!selector||jQuery.filter(selector,[elem]).length){if(!keepData&&elem.nodeType===1){jQuery.cleanData(elem.getElementsByTagName("*"));jQuery.cleanData([elem])}if(elem.parentNode){elem.parentNode.removeChild(elem)}}}return this},empty:function(){for(var i=0,elem;(elem=this[i])!=null;i++){if(elem.nodeType===1){jQuery.cleanData(elem.getElementsByTagName("*"))}while(elem.firstChild){elem.removeChild(elem.firstChild)}}return this},clone:function(dataAndEvents,deepDataAndEvents){dataAndEvents=dataAndEvents==null?true:dataAndEvents;deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;return this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents)})},html:function(value){if(value===undefined){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(rinlinejQuery,""):null}else{if(typeof value==="string"&&!rnocache.test(value)&&(jQuery.support.leadingWhitespace||!rleadingWhitespace.test(value))&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=value.replace(rxhtmlTag,"<$1></$2>");try{for(var i=0,l=this.length;i<l;i++){if(this[i].nodeType===1){jQuery.cleanData(this[i].getElementsByTagName("*"));this[i].innerHTML=value}}}catch(e){this.empty().append(value)}}else{if(jQuery.isFunction(value)){this.each(function(i){var self=jQuery(this);self.html(value.call(this,i,self.html()))})}else{this.empty().append(value)}}}return this},replaceWith:function(value){if(this[0]&&this[0].parentNode){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this),old=self.html();self.replaceWith(value.call(this,i,old))})}if(typeof value!=="string"){value=jQuery(value).detach()}return this.each(function(){var next=this.nextSibling,parent=this.parentNode;jQuery(this).remove();if(next){jQuery(next).before(value)}else{jQuery(parent).append(value)}})}else{return this.pushStack(jQuery(jQuery.isFunction(value)?value():value),"replaceWith",value)
}},detach:function(selector){return this.remove(selector,true)},domManip:function(args,table,callback){var results,first,fragment,parent,value=args[0],scripts=[];if(!jQuery.support.checkClone&&arguments.length===3&&typeof value==="string"&&rchecked.test(value)){return this.each(function(){jQuery(this).domManip(args,table,callback,true)})}if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);args[0]=value.call(this,i,table?self.html():undefined);self.domManip(args,table,callback)})}if(this[0]){parent=value&&value.parentNode;if(jQuery.support.parentNode&&parent&&parent.nodeType===11&&parent.childNodes.length===this.length){results={fragment:parent}}else{results=jQuery.buildFragment(args,this,scripts)}fragment=results.fragment;if(fragment.childNodes.length===1){first=fragment=fragment.firstChild}else{first=fragment.firstChild}if(first){table=table&&jQuery.nodeName(first,"tr");for(var i=0,l=this.length,lastIndex=l-1;i<l;i++){callback.call(table?root(this[i],first):this[i],results.cacheable||(l>1&&i<lastIndex)?jQuery.clone(fragment,true,true):fragment)}}if(scripts.length){jQuery.each(scripts,evalScript)}}return this}});function root(elem,cur){return jQuery.nodeName(elem,"table")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem}function cloneCopyEvent(src,dest){if(dest.nodeType!==1||!jQuery.hasData(src)){return}var internalKey=jQuery.expando,oldData=jQuery.data(src),curData=jQuery.data(dest,oldData);if((oldData=oldData[internalKey])){var events=oldData.events;curData=curData[internalKey]=jQuery.extend({},oldData);if(events){delete curData.handle;curData.events={};for(var type in events){for(var i=0,l=events[type].length;i<l;i++){jQuery.event.add(dest,type,events[type][i],events[type][i].data)}}}}}function cloneFixAttributes(src,dest){if(dest.nodeType!==1){return}var nodeName=dest.nodeName.toLowerCase();dest.clearAttributes();dest.mergeAttributes(src);if(nodeName==="object"){dest.outerHTML=src.outerHTML}else{if(nodeName==="input"&&(src.type==="checkbox"||src.type==="radio")){if(src.checked){dest.defaultChecked=dest.checked=src.checked
}if(dest.value!==src.value){dest.value=src.value}}else{if(nodeName==="option"){dest.selected=src.defaultSelected}else{if(nodeName==="input"||nodeName==="textarea"){dest.defaultValue=src.defaultValue}}}}dest.removeAttribute(jQuery.expando)}jQuery.buildFragment=function(args,nodes,scripts){var fragment,cacheable,cacheresults,doc=(nodes&&nodes[0]?nodes[0].ownerDocument||nodes[0]:document);if(args.length===1&&typeof args[0]==="string"&&args[0].length<512&&doc===document&&args[0].charAt(0)==="<"&&!rnocache.test(args[0])&&(jQuery.support.checkClone||!rchecked.test(args[0]))){cacheable=true;cacheresults=jQuery.fragments[args[0]];if(cacheresults){if(cacheresults!==1){fragment=cacheresults}}}if(!fragment){fragment=doc.createDocumentFragment();jQuery.clean(args,doc,fragment,scripts)}if(cacheable){jQuery.fragments[args[0]]=cacheresults?fragment:1}return{fragment:fragment,cacheable:cacheable}};jQuery.fragments={};jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector),parent=this.length===1&&this[0].parentNode;if(parent&&parent.nodeType===11&&parent.childNodes.length===1&&insert.length===1){insert[original](this[0]);return this}else{for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery(insert[i])[original](elems);ret=ret.concat(elems)}return this.pushStack(ret,name,insert.selector)}}});jQuery.extend({clone:function(elem,dataAndEvents,deepDataAndEvents){var clone=elem.cloneNode(true),srcElements,destElements,i;if(!jQuery.support.noCloneEvent&&(elem.nodeType===1||elem.nodeType===11)&&!jQuery.isXMLDoc(elem)){srcElements=elem.getElementsByTagName("*");destElements=clone.getElementsByTagName("*");for(i=0;srcElements[i];++i){cloneFixAttributes(srcElements[i],destElements[i])}cloneFixAttributes(elem,clone)}if(dataAndEvents){cloneCopyEvent(elem,clone);if(deepDataAndEvents&&"getElementsByTagName" in elem){srcElements=elem.getElementsByTagName("*");
destElements=clone.getElementsByTagName("*");if(srcElements.length){for(i=0;srcElements[i];++i){cloneCopyEvent(srcElements[i],destElements[i])}}}}return clone},clean:function(elems,context,fragment,scripts){context=context||document;if(typeof context.createElement==="undefined"){context=context.ownerDocument||context[0]&&context[0].ownerDocument||document}var ret=[];for(var i=0,elem;(elem=elems[i])!=null;i++){if(typeof elem==="number"){elem+=""}if(!elem){continue}if(typeof elem==="string"&&!rhtml.test(elem)){elem=context.createTextNode(elem)}else{if(typeof elem==="string"){elem=elem.replace(rxhtmlTag,"<$1></$2>");var tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,depth=wrap[0],div=context.createElement("div");div.innerHTML=wrap[1]+elem+wrap[2];while(depth--){div=div.lastChild}if(!jQuery.support.tbody){var hasBody=rtbody.test(elem),tbody=tag==="table"&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]==="<table>"&&!hasBody?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j){if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length){tbody[j].parentNode.removeChild(tbody[j])}}}if(!jQuery.support.leadingWhitespace&&rleadingWhitespace.test(elem)){div.insertBefore(context.createTextNode(rleadingWhitespace.exec(elem)[0]),div.firstChild)}elem=div.childNodes}}if(elem.nodeType){ret.push(elem)}else{ret=jQuery.merge(ret,elem)}}if(fragment){for(i=0;ret[i];i++){if(scripts&&jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i])}else{if(ret[i].nodeType===1){ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))))}fragment.appendChild(ret[i])}}}return ret},cleanData:function(elems){var data,id,cache=jQuery.cache,internalKey=jQuery.expando,special=jQuery.event.special,deleteExpando=jQuery.support.deleteExpando;for(var i=0,elem;(elem=elems[i])!=null;i++){if(elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()]){continue
}id=elem[jQuery.expando];if(id){data=cache[id]&&cache[id][internalKey];if(data&&data.events){for(var type in data.events){if(special[type]){jQuery.event.remove(elem,type)}else{jQuery.removeEvent(elem,type,data.handle)}}if(data.handle){data.handle.elem=null}}if(deleteExpando){delete elem[jQuery.expando]}else{if(elem.removeAttribute){elem.removeAttribute(jQuery.expando)}}delete cache[id]}}}});function evalScript(i,elem){if(elem.src){jQuery.ajax({url:elem.src,async:false,dataType:"script"})}else{jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"")}if(elem.parentNode){elem.parentNode.removeChild(elem)}}var ralpha=/alpha\([^)]*\)/i,ropacity=/opacity=([^)]*)/,rdashAlpha=/-([a-z])/ig,rupper=/([A-Z])/g,rnumpx=/^-?\d+(?:px)?$/i,rnum=/^-?\d/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssWidth=["Left","Right"],cssHeight=["Top","Bottom"],curCSS,getComputedStyle,currentStyle,fcamelCase=function(all,letter){return letter.toUpperCase()};jQuery.fn.css=function(name,value){if(arguments.length===2&&value===undefined){return this}return jQuery.access(this,name,value,true,function(elem,name,value){return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name)})};jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity","opacity");return ret===""?"1":ret}else{return elem.style.opacity}}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,zoom:true,lineHeight:true},cssProps:{"float":jQuery.support.cssFloat?"cssFloat":"styleFloat"},style:function(elem,name,value,extra){if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){return}var ret,origName=jQuery.camelCase(name),style=elem.style,hooks=jQuery.cssHooks[origName];name=jQuery.cssProps[origName]||origName;if(value!==undefined){if(typeof value==="number"&&isNaN(value)||value==null){return}if(typeof value==="number"&&!jQuery.cssNumber[origName]){value+="px"}if(!hooks||!("set" in hooks)||(value=hooks.set(elem,value))!==undefined){try{style[name]=value}catch(e){}}}else{if(hooks&&"get" in hooks&&(ret=hooks.get(elem,false,extra))!==undefined){return ret
}return style[name]}},css:function(elem,name,extra){var ret,origName=jQuery.camelCase(name),hooks=jQuery.cssHooks[origName];name=jQuery.cssProps[origName]||origName;if(hooks&&"get" in hooks&&(ret=hooks.get(elem,true,extra))!==undefined){return ret}else{if(curCSS){return curCSS(elem,name,origName)}}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name]}callback.call(elem);for(name in options){elem.style[name]=old[name]}},camelCase:function(string){return string.replace(rdashAlpha,fcamelCase)}});jQuery.curCSS=jQuery.css;jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){var val;if(computed){if(elem.offsetWidth!==0){val=getWH(elem,name,extra)}else{jQuery.swap(elem,cssShow,function(){val=getWH(elem,name,extra)})}if(val<=0){val=curCSS(elem,name,name);if(val==="0px"&&currentStyle){val=currentStyle(elem,name,name)}if(val!=null){return val===""||val==="auto"?"0px":val}}if(val<0||val==null){val=elem.style[name];return val===""||val==="auto"?"0px":val}return typeof val==="string"?val:val+"px"}},set:function(elem,value){if(rnumpx.test(value)){value=parseFloat(value);if(value>=0){return value+"px"}}else{return value}}}});if(!jQuery.support.opacity){jQuery.cssHooks.opacity={get:function(elem,computed){return ropacity.test((computed&&elem.currentStyle?elem.currentStyle.filter:elem.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":computed?"1":""},set:function(elem,value){var style=elem.style;style.zoom=1;var opacity=jQuery.isNaN(value)?"":"alpha(opacity="+value*100+")",filter=style.filter||"";style.filter=ralpha.test(filter)?filter.replace(ralpha,opacity):style.filter+" "+opacity}}}if(document.defaultView&&document.defaultView.getComputedStyle){getComputedStyle=function(elem,newName,name){var ret,defaultView,computedStyle;name=name.replace(rupper,"-$1").toLowerCase();if(!(defaultView=elem.ownerDocument.defaultView)){return undefined}if((computedStyle=defaultView.getComputedStyle(elem,null))){ret=computedStyle.getPropertyValue(name);
if(ret===""&&!jQuery.contains(elem.ownerDocument.documentElement,elem)){ret=jQuery.style(elem,name)}}return ret}}if(document.documentElement.currentStyle){currentStyle=function(elem,name){var left,ret=elem.currentStyle&&elem.currentStyle[name],rsLeft=elem.runtimeStyle&&elem.runtimeStyle[name],style=elem.style;if(!rnumpx.test(ret)&&rnum.test(ret)){left=style.left;if(rsLeft){elem.runtimeStyle.left=elem.currentStyle.left}style.left=name==="fontSize"?"1em":(ret||0);ret=style.pixelLeft+"px";style.left=left;if(rsLeft){elem.runtimeStyle.left=rsLeft}}return ret===""?"auto":ret}}curCSS=getComputedStyle||currentStyle;function getWH(elem,name,extra){var which=name==="width"?cssWidth:cssHeight,val=name==="width"?elem.offsetWidth:elem.offsetHeight;if(extra==="border"){return val}jQuery.each(which,function(){if(!extra){val-=parseFloat(jQuery.css(elem,"padding"+this))||0}if(extra==="margin"){val+=parseFloat(jQuery.css(elem,"margin"+this))||0}else{val-=parseFloat(jQuery.css(elem,"border"+this+"Width"))||0}});return val}if(jQuery.expr&&jQuery.expr.filters){jQuery.expr.filters.hidden=function(elem){var width=elem.offsetWidth,height=elem.offsetHeight;return(width===0&&height===0)||(!jQuery.support.reliableHiddenOffsets&&(elem.style.display||jQuery.css(elem,"display"))==="none")};jQuery.expr.filters.visible=function(elem){return !jQuery.expr.filters.hidden(elem)}}var r20=/%20/g,rbracket=/\[\]$/,rCRLF=/\r?\n/g,rhash=/#.*$/,rheaders=/^(.*?):\s*(.*?)\r?$/mg,rinput=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,rquery=/\?/,rscript=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,rselectTextarea=/^(?:select|textarea)/i,rspacesAjax=/\s+/,rts=/([?&])_=[^&]*/,rurl=/^(\w+:)\/\/([^\/?#:]+)(?::(\d+))?/,_load=jQuery.fn.load,prefilters={},transports={};function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){if(typeof dataTypeExpression!=="string"){func=dataTypeExpression;dataTypeExpression="*"}if(jQuery.isFunction(func)){var dataTypes=dataTypeExpression.toLowerCase().split(rspacesAjax),i=0,length=dataTypes.length,dataType,list,placeBefore;
for(;i<length;i++){dataType=dataTypes[i];placeBefore=/^\+/.test(dataType);if(placeBefore){dataType=dataType.substr(1)||"*"}list=structure[dataType]=structure[dataType]||[];list[placeBefore?"unshift":"push"](func)}}}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jXHR,dataType,inspected){dataType=dataType||options.dataTypes[0];inspected=inspected||{};inspected[dataType]=true;var list=structure[dataType],i=0,length=list?list.length:0,executeOnly=(structure===prefilters),selection;for(;i<length&&(executeOnly||!selection);i++){selection=list[i](options,originalOptions,jXHR);if(typeof selection==="string"){if(inspected[selection]){selection=undefined}else{options.dataTypes.unshift(selection);selection=inspectPrefiltersOrTransports(structure,options,originalOptions,jXHR,selection,inspected)}}}if((executeOnly||!selection)&&!inspected["*"]){selection=inspectPrefiltersOrTransports(structure,options,originalOptions,jXHR,"*",inspected)}return selection}jQuery.fn.extend({load:function(url,params,callback){if(typeof url!=="string"&&_load){return _load.apply(this,arguments)}else{if(!this.length){return this}}var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off)}var type="GET";if(params){if(jQuery.isFunction(params)){callback=params;params=null}else{if(typeof params==="object"){params=jQuery.param(params,jQuery.ajaxSettings.traditional);type="POST"}}}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(jXHR,status,responseText){responseText=jXHR.responseText;if(jXHR.isResolved()){jXHR.done(function(r){responseText=r});self.html(selector?jQuery("<div>").append(responseText.replace(rscript,"")).find(selector):responseText)}if(callback){self.each(callback,[responseText,status,jXHR])}}});return this},serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||rselectTextarea.test(this.nodeName)||rinput.test(this.type))
}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val.replace(rCRLF,"\r\n")}}):{name:elem.name,value:val.replace(rCRLF,"\r\n")}}).get()}});jQuery.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f)}});jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){if(jQuery.isFunction(data)){type=type||callback;callback=data;data=null}return jQuery.ajax({type:method,url:url,data:data,success:callback,dataType:type})}});jQuery.extend({getScript:function(url,callback){return jQuery.get(url,null,callback,"script")},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")},ajaxSetup:function(settings){jQuery.extend(true,jQuery.ajaxSettings,settings);if(settings.context){jQuery.ajaxSettings.context=settings.context}},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":window.String,"text html":true,"text json":jQuery.parseJSON,"text xml":jQuery.parseXML}},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){if(typeof options!=="object"){options=url;url=undefined}options=options||{};var s=jQuery.extend(true,{},jQuery.ajaxSettings,options),callbackContext=(s.context=("context" in options?options:jQuery.ajaxSettings).context)||s,globalEventContext=callbackContext===s?jQuery.event:jQuery(callbackContext),deferred=jQuery.Deferred(),completeDeferred=jQuery._Deferred(),statusCode=s.statusCode||{},requestHeaders={},responseHeadersString,responseHeaders,transport,timeoutTimer,loc=document.location,protocol=loc.protocol||"http:",parts,state=0,i,jXHR={readyState:0,setRequestHeader:function(name,value){if(state===0){requestHeaders[name.toLowerCase()]=value
}return this},getAllResponseHeaders:function(){return state===2?responseHeadersString:null},getResponseHeader:function(key){var match;if(state===2){if(!responseHeaders){responseHeaders={};while((match=rheaders.exec(responseHeadersString))){responseHeaders[match[1].toLowerCase()]=match[2]}}match=responseHeaders[key.toLowerCase()]}return match||null},abort:function(statusText){statusText=statusText||"abort";if(transport){transport.abort(statusText)}done(0,statusText);return this}};function done(status,statusText,responses,headers){if(state===2){return}state=2;if(timeoutTimer){clearTimeout(timeoutTimer)}transport=undefined;responseHeadersString=headers||"";jXHR.readyState=status?4:0;var isSuccess,success,error,response=responses?ajaxHandleResponses(s,jXHR,responses):undefined,lastModified,etag;if(status>=200&&status<300||status===304){if(s.ifModified){if((lastModified=jXHR.getResponseHeader("Last-Modified"))){jQuery.lastModified[s.url]=lastModified}if((etag=jXHR.getResponseHeader("Etag"))){jQuery.etag[s.url]=etag}}if(status===304){statusText="notmodified";isSuccess=true}else{try{success=ajaxConvert(s,response);statusText="success";isSuccess=true}catch(e){statusText="parsererror";error=e}}}else{error=statusText;if(status){statusText="error";if(status<0){status=0}}}jXHR.status=status;jXHR.statusText=statusText;if(isSuccess){deferred.resolveWith(callbackContext,[success,statusText,jXHR])}else{deferred.rejectWith(callbackContext,[jXHR,statusText,error])}jXHR.statusCode(statusCode);statusCode=undefined;if(s.global){globalEventContext.trigger("ajax"+(isSuccess?"Success":"Error"),[jXHR,s,isSuccess?success:error])}completeDeferred.resolveWith(callbackContext,[jXHR,statusText]);if(s.global){globalEventContext.trigger("ajaxComplete",[jXHR,s]);if(!(--jQuery.active)){jQuery.event.trigger("ajaxStop")}}}deferred.promise(jXHR);jXHR.success=jXHR.done;jXHR.error=jXHR.fail;jXHR.complete=completeDeferred.done;jXHR.statusCode=function(map){if(map){var tmp;if(state<2){for(tmp in map){statusCode[tmp]=[statusCode[tmp],map[tmp]]}}else{tmp=map[jXHR.status];
jXHR.then(tmp,tmp)}}return this};s.url=(""+(url||s.url)).replace(rhash,"").replace(rprotocol,protocol+"//");s.dataTypes=jQuery.trim(s.dataType||"*").toLowerCase().split(rspacesAjax);if(!s.crossDomain){parts=rurl.exec(s.url.toLowerCase());s.crossDomain=!!(parts&&(parts[1]!=protocol||parts[2]!=loc.hostname||(parts[3]||(parts[1]==="http:"?80:443))!=(loc.port||(protocol==="http:"?80:443))))}if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data,s.traditional)}inspectPrefiltersOrTransports(prefilters,s,options,jXHR);s.type=s.type.toUpperCase();s.hasContent=!rnoContent.test(s.type);if(s.global&&jQuery.active++===0){jQuery.event.trigger("ajaxStart")}if(!s.hasContent){if(s.data){s.url+=(rquery.test(s.url)?"&":"?")+s.data}if(s.cache===false){var ts=jQuery.now(),ret=s.url.replace(rts,"$1_="+ts);s.url=ret+((ret===s.url)?(rquery.test(s.url)?"&":"?")+"_="+ts:"")}}if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){requestHeaders["content-type"]=s.contentType}if(s.ifModified){if(jQuery.lastModified[s.url]){requestHeaders["if-modified-since"]=jQuery.lastModified[s.url]}if(jQuery.etag[s.url]){requestHeaders["if-none-match"]=jQuery.etag[s.url]}}requestHeaders.accept=s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+(s.dataTypes[0]!=="*"?", */*; q=0.01":""):s.accepts["*"];for(i in s.headers){requestHeaders[i.toLowerCase()]=s.headers[i]}if(s.beforeSend&&(s.beforeSend.call(callbackContext,jXHR,s)===false||state===2)){done(0,"abort");jXHR=false}else{for(i in {success:1,error:1,complete:1}){jXHR[i](s[i])}transport=inspectPrefiltersOrTransports(transports,s,options,jXHR);if(!transport){done(-1,"No Transport")}else{state=jXHR.readyState=1;if(s.global){globalEventContext.trigger("ajaxSend",[jXHR,s])}if(s.async&&s.timeout>0){timeoutTimer=setTimeout(function(){jXHR.abort("timeout")},s.timeout)}try{transport.send(requestHeaders,done)}catch(e){if(status<2){done(-1,e)}else{jQuery.error(e)}}}}return jXHR},param:function(a,traditional){var s=[],add=function(key,value){value=jQuery.isFunction(value)?value():value;
s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value)};if(traditional===undefined){traditional=jQuery.ajaxSettings.traditional}if(jQuery.isArray(a)||a.jquery){jQuery.each(a,function(){add(this.name,this.value)})}else{for(var prefix in a){buildParams(prefix,a[prefix],traditional,add)}}return s.join("&").replace(r20,"+")}});function buildParams(prefix,obj,traditional,add){if(jQuery.isArray(obj)&&obj.length){jQuery.each(obj,function(i,v){if(traditional||rbracket.test(prefix)){add(prefix,v)}else{buildParams(prefix+"["+(typeof v==="object"||jQuery.isArray(v)?i:"")+"]",v,traditional,add)}})}else{if(!traditional&&obj!=null&&typeof obj==="object"){if(jQuery.isArray(obj)||jQuery.isEmptyObject(obj)){add(prefix,"")}else{jQuery.each(obj,function(k,v){buildParams(prefix+"["+k+"]",v,traditional,add)})}}else{add(prefix,obj)}}}jQuery.extend({active:0,lastModified:{},etag:{}});function ajaxHandleResponses(s,jXHR,responses){var contents=s.contents,dataTypes=s.dataTypes,responseFields=s.responseFields,ct,type,finalDataType,firstDataType;for(type in responseFields){if(type in responses){jXHR[responseFields[type]]=responses[type]}}while(dataTypes[0]==="*"){dataTypes.shift();if(ct===undefined){ct=jXHR.getResponseHeader("content-type")}}if(ct){for(type in contents){if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break}}}if(dataTypes[0] in responses){finalDataType=dataTypes[0]}else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break}if(!firstDataType){firstDataType=type}}finalDataType=finalDataType||firstDataType}if(finalDataType){if(finalDataType!==dataTypes[0]){dataTypes.unshift(finalDataType)}return responses[finalDataType]}}function ajaxConvert(s,response){if(s.dataFilter){response=s.dataFilter(response,s.dataType)}var dataTypes=s.dataTypes,converters=s.converters,i,length=dataTypes.length,tmp,current=dataTypes[0],prev,conversion,conv,conv1,conv2;for(i=1;i<length;i++){prev=current;current=dataTypes[i];if(current==="*"){current=prev}else{if(prev!=="*"&&prev!==current){conversion=prev+" "+current;
conv=converters[conversion]||converters["* "+current];if(!conv){conv2=undefined;for(conv1 in converters){tmp=conv1.split(" ");if(tmp[0]===prev||tmp[0]==="*"){conv2=converters[tmp[1]+" "+current];if(conv2){conv1=converters[conv1];if(conv1===true){conv=conv2}else{if(conv2===true){conv=conv1}}break}}}}if(!(conv||conv2)){jQuery.error("No conversion from "+conversion.replace(" "," to "))}if(conv!==true){response=conv?conv(response):conv2(conv1(response))}}}}return response}var jsc=jQuery.now(),jsre=/(\=)\?(&|$)|()\?\?()/i;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return jQuery.expando+"_"+(jsc++)}});jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,dataIsString){dataIsString=(typeof s.data==="string");if(s.dataTypes[0]==="jsonp"||originalSettings.jsonpCallback||originalSettings.jsonp!=null||s.jsonp!==false&&(jsre.test(s.url)||dataIsString&&jsre.test(s.data))){var responseContainer,jsonpCallback=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,previous=window[jsonpCallback],url=s.url,data=s.data,replace="$1"+jsonpCallback+"$2";if(s.jsonp!==false){url=url.replace(jsre,replace);if(s.url===url){if(dataIsString){data=data.replace(jsre,replace)}if(s.data===data){url+=(/\?/.test(url)?"&":"?")+s.jsonp+"="+jsonpCallback}}}s.url=url;s.data=data;window[jsonpCallback]=function(response){responseContainer=[response]};s.complete=[function(){window[jsonpCallback]=previous;if(previous){if(responseContainer&&jQuery.isFunction(previous)){window[jsonpCallback](responseContainer[0])}}else{try{delete window[jsonpCallback]}catch(e){}}},s.complete];s.converters["script json"]=function(){if(!responseContainer){jQuery.error(jsonpCallback+" was not called")}return responseContainer[0]};s.dataTypes[0]="json";return"script"}});jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript"},contents:{script:/javascript/},converters:{"text script":function(text){jQuery.globalEval(text);return text}}});jQuery.ajaxPrefilter("script",function(s){if(s.cache===undefined){s.cache=false
}if(s.crossDomain){s.type="GET";s.global=false}});jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,head=document.getElementsByTagName("head")[0]||document.documentElement;return{send:function(_,callback){script=document.createElement("script");script.async="async";if(s.scriptCharset){script.charset=s.scriptCharset}script.src=s.url;script.onload=script.onreadystatechange=function(_,isAbort){if(!script.readyState||/loaded|complete/.test(script.readyState)){script.onload=script.onreadystatechange=null;if(head&&script.parentNode){head.removeChild(script)}script=undefined;if(!isAbort){callback(200,"success")}}};head.insertBefore(script,head.firstChild)},abort:function(){if(script){script.onload(0,1)}}}}});var xhrId=jQuery.now(),xhrs={},xhrUnloadAbortInstalled,testXHR;jQuery.ajaxSettings.xhr=window.ActiveXObject?function(){if(window.location.protocol!=="file:"){try{return new window.XMLHttpRequest()}catch(xhrError){}}try{return new window.ActiveXObject("Microsoft.XMLHTTP")}catch(activeError){}}:function(){return new window.XMLHttpRequest()};try{testXHR=jQuery.ajaxSettings.xhr()}catch(xhrCreationException){}jQuery.support.ajax=!!testXHR;jQuery.support.cors=testXHR&&("withCredentials" in testXHR);testXHR=undefined;if(jQuery.support.ajax){jQuery.ajaxTransport(function(s){if(!s.crossDomain||jQuery.support.cors){var callback;return{send:function(headers,complete){if(!xhrUnloadAbortInstalled){xhrUnloadAbortInstalled=1;jQuery(window).bind("unload",function(){jQuery.each(xhrs,function(_,xhr){if(xhr.onreadystatechange){xhr.onreadystatechange(1)}})})}var xhr=s.xhr(),handle;if(s.username){xhr.open(s.type,s.url,s.async,s.username,s.password)}else{xhr.open(s.type,s.url,s.async)}if(!(s.crossDomain&&!s.hasContent)&&!headers["x-requested-with"]){headers["x-requested-with"]="XMLHttpRequest"}try{jQuery.each(headers,function(key,value){xhr.setRequestHeader(key,value)})}catch(_){}xhr.send((s.hasContent&&s.data)||null);callback=function(_,isAbort){if(callback&&(isAbort||xhr.readyState===4)){callback=0;if(handle){xhr.onreadystatechange=jQuery.noop;
delete xhrs[handle]}if(isAbort){if(xhr.readyState!==4){xhr.abort()}}else{var status=xhr.status,statusText,responseHeaders=xhr.getAllResponseHeaders(),responses={},xml=xhr.responseXML;if(xml&&xml.documentElement){responses.xml=xml}responses.text=xhr.responseText;try{statusText=xhr.statusText}catch(e){statusText=""}status=status===0?(!s.crossDomain||statusText?(responseHeaders?304:0):302):(status==1223?204:status);complete(status,statusText,responses,responseHeaders)}}};if(!s.async||xhr.readyState===4){callback()}else{handle=xhrId++;xhrs[handle]=xhr;xhr.onreadystatechange=callback}},abort:function(){if(callback){callback(0,1)}}}}})}var elemdisplay={},rfxtypes=/^(?:toggle|show|hide)$/,rfxnum=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];jQuery.fn.extend({show:function(speed,easing,callback){var elem,display;if(speed||speed===0){return this.animate(genFx("show",3),speed,easing,callback)}else{for(var i=0,j=this.length;i<j;i++){elem=this[i];display=elem.style.display;if(!jQuery._data(elem,"olddisplay")&&display==="none"){display=elem.style.display=""}if(display===""&&jQuery.css(elem,"display")==="none"){jQuery._data(elem,"olddisplay",defaultDisplay(elem.nodeName))}}for(i=0;i<j;i++){elem=this[i];display=elem.style.display;if(display===""||display==="none"){elem.style.display=jQuery._data(elem,"olddisplay")||""}}return this}},hide:function(speed,easing,callback){if(speed||speed===0){return this.animate(genFx("hide",3),speed,easing,callback)}else{for(var i=0,j=this.length;i<j;i++){var display=jQuery.css(this[i],"display");if(display!=="none"&&!jQuery._data(this[i],"olddisplay")){jQuery._data(this[i],"olddisplay",display)}}for(i=0;i<j;i++){this[i].style.display="none"}return this}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2,callback){var bool=typeof fn==="boolean";if(jQuery.isFunction(fn)&&jQuery.isFunction(fn2)){this._toggle.apply(this,arguments)}else{if(fn==null||bool){this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");
jQuery(this)[state?"show":"hide"]()})}else{this.animate(genFx("toggle",3),fn,fn2,callback)}}return this},fadeTo:function(speed,to,easing,callback){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:to},speed,easing,callback)},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);if(jQuery.isEmptyObject(prop)){return this.each(optall.complete)}return this[optall.queue===false?"each":"queue"](function(){var opt=jQuery.extend({},optall),p,isElement=this.nodeType===1,hidden=isElement&&jQuery(this).is(":hidden"),self=this;for(p in prop){var name=jQuery.camelCase(p);if(p!==name){prop[name]=prop[p];delete prop[p];p=name}if(prop[p]==="hide"&&hidden||prop[p]==="show"&&!hidden){return opt.complete.call(this)}if(isElement&&(p==="height"||p==="width")){opt.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(jQuery.css(this,"display")==="inline"&&jQuery.css(this,"float")==="none"){if(!jQuery.support.inlineBlockNeedsLayout){this.style.display="inline-block"}else{var display=defaultDisplay(this.nodeName);if(display==="inline"){this.style.display="inline-block"}else{this.style.display="inline";this.style.zoom=1}}}}if(jQuery.isArray(prop[p])){(opt.specialEasing=opt.specialEasing||{})[p]=prop[p][1];prop[p]=prop[p][0]}}if(opt.overflow!=null){this.style.overflow="hidden"}opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(rfxtypes.test(val)){e[val==="toggle"?hidden?"show":"hide":val](prop)}else{var parts=rfxnum.exec(val),start=e.cur()||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!=="px"){jQuery.style(self,name,(end||1)+unit);start=((end||1)/e.cur())*start;jQuery.style(self,name,start+unit)}if(parts[1]){end=((parts[1]==="-="?-1:1)*end)+start}e.custom(start,end,unit)}else{e.custom(start,val,"")}}});return true})},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue){this.queue([])}this.each(function(){for(var i=timers.length-1;i>=0;i--){if(timers[i].elem===this){if(gotoEnd){timers[i](true)
}timers.splice(i,1)}}});if(!gotoEnd){this.dequeue()}return this}});function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type});return obj}jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback)}});jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false){jQuery(this).dequeue()}if(jQuery.isFunction(opt.old)){opt.old.call(this)}};return opt},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum}},timers:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig){options.orig={}}}});jQuery.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var r=parseFloat(jQuery.css(this.elem,this.prop));return r||0},custom:function(from,to,unit){var self=this,fx=jQuery.fx;this.startTime=jQuery.now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;function t(gotoEnd){return self.step(gotoEnd)}t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){timerId=setInterval(fx.tick,fx.interval)}},show:function(){this.options.orig[this.prop]=jQuery.style(this.elem,this.prop);
this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());jQuery(this.elem).show()},hide:function(){this.options.orig[this.prop]=jQuery.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(gotoEnd){var t=jQuery.now(),done=true;if(gotoEnd||t>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var i in this.options.curAnim){if(this.options.curAnim[i]!==true){done=false}}if(done){if(this.options.overflow!=null&&!jQuery.support.shrinkWrapBlocks){var elem=this.elem,options=this.options;jQuery.each(["","X","Y"],function(index,value){elem.style["overflow"+value]=options.overflow[index]})}if(this.options.hide){jQuery(this.elem).hide()}if(this.options.hide||this.options.show){for(var p in this.options.curAnim){jQuery.style(this.elem,p,this.options.orig[p])}}this.options.complete.call(this.elem)}return false}else{var n=t-this.startTime;this.state=n/this.options.duration;var specialEasing=this.options.specialEasing&&this.options.specialEasing[this.prop];var defaultEasing=this.options.easing||(jQuery.easing.swing?"swing":"linear");this.pos=jQuery.easing[specialEasing||defaultEasing](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};jQuery.extend(jQuery.fx,{tick:function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++){if(!timers[i]()){timers.splice(i--,1)}}if(!timers.length){jQuery.fx.stop()}},interval:13,stop:function(){clearInterval(timerId);timerId=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.style(fx.elem,"opacity",fx.now)},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null){fx.elem.style[fx.prop]=(fx.prop==="width"||fx.prop==="height"?Math.max(0,fx.now):fx.now)+fx.unit}else{fx.elem[fx.prop]=fx.now}}}});if(jQuery.expr&&jQuery.expr.filters){jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem
}).length}}function defaultDisplay(nodeName){if(!elemdisplay[nodeName]){var elem=jQuery("<"+nodeName+">").appendTo("body"),display=elem.css("display");elem.remove();if(display==="none"||display===""){display="block"}elemdisplay[nodeName]=display}return elemdisplay[nodeName]}var rtable=/^t(?:able|d|h)$/i,rroot=/^(?:body|html)$/i;if("getBoundingClientRect" in document.documentElement){jQuery.fn.offset=function(options){var elem=this[0],box;if(options){return this.each(function(i){jQuery.offset.setOffset(this,options,i)})}if(!elem||!elem.ownerDocument){return null}if(elem===elem.ownerDocument.body){return jQuery.offset.bodyOffset(elem)}try{box=elem.getBoundingClientRect()}catch(e){}var doc=elem.ownerDocument,docElem=doc.documentElement;if(!box||!jQuery.contains(docElem,elem)){return box?{top:box.top,left:box.left}:{top:0,left:0}}var body=doc.body,win=getWindow(doc),clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,scrollTop=(win.pageYOffset||jQuery.support.boxModel&&docElem.scrollTop||body.scrollTop),scrollLeft=(win.pageXOffset||jQuery.support.boxModel&&docElem.scrollLeft||body.scrollLeft),top=box.top+scrollTop-clientTop,left=box.left+scrollLeft-clientLeft;return{top:top,left:left}}}else{jQuery.fn.offset=function(options){var elem=this[0];if(options){return this.each(function(i){jQuery.offset.setOffset(this,options,i)})}if(!elem||!elem.ownerDocument){return null}if(elem===elem.ownerDocument.body){return jQuery.offset.bodyOffset(elem)}jQuery.offset.initialize();var computedStyle,offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle,top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){if(jQuery.offset.supportsFixedPosition&&prevComputedStyle.position==="fixed"){break}computedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle;top-=elem.scrollTop;
left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop;left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&rtable.test(elem.nodeName))){top+=parseFloat(computedStyle.borderTopWidth)||0;left+=parseFloat(computedStyle.borderLeftWidth)||0}prevOffsetParent=offsetParent;offsetParent=elem.offsetParent}if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible"){top+=parseFloat(computedStyle.borderTopWidth)||0;left+=parseFloat(computedStyle.borderLeftWidth)||0}prevComputedStyle=computedStyle}if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static"){top+=body.offsetTop;left+=body.offsetLeft}if(jQuery.offset.supportsFixedPosition&&prevComputedStyle.position==="fixed"){top+=Math.max(docElem.scrollTop,body.scrollTop);left+=Math.max(docElem.scrollLeft,body.scrollLeft)}return{top:top,left:left}}}jQuery.offset={initialize:function(){var body=document.body,container=document.createElement("div"),innerDiv,checkDiv,table,td,bodyMarginTop=parseFloat(jQuery.css(body,"marginTop"))||0,html="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";jQuery.extend(container.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild;checkDiv=innerDiv.firstChild;td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);checkDiv.style.position="fixed";checkDiv.style.top="20px";this.supportsFixedPosition=(checkDiv.offsetTop===20||checkDiv.offsetTop===15);checkDiv.style.position=checkDiv.style.top="";innerDiv.style.overflow="hidden";innerDiv.style.position="relative";
this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);this.doesNotIncludeMarginInBodyOffset=(body.offsetTop!==bodyMarginTop);body.removeChild(container);body=container=innerDiv=checkDiv=table=td=null;jQuery.offset.initialize=jQuery.noop},bodyOffset:function(body){var top=body.offsetTop,left=body.offsetLeft;jQuery.offset.initialize();if(jQuery.offset.doesNotIncludeMarginInBodyOffset){top+=parseFloat(jQuery.css(body,"marginTop"))||0;left+=parseFloat(jQuery.css(body,"marginLeft"))||0}return{top:top,left:left}},setOffset:function(elem,options,i){var position=jQuery.css(elem,"position");if(position==="static"){elem.style.position="relative"}var curElem=jQuery(elem),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),calculatePosition=(position==="absolute"&&jQuery.inArray("auto",[curCSSTop,curCSSLeft])>-1),props={},curPosition={},curTop,curLeft;if(calculatePosition){curPosition=curElem.position()}curTop=calculatePosition?curPosition.top:parseInt(curCSSTop,10)||0;curLeft=calculatePosition?curPosition.left:parseInt(curCSSLeft,10)||0;if(jQuery.isFunction(options)){options=options.call(elem,i,curOffset)}if(options.top!=null){props.top=(options.top-curOffset.top)+curTop}if(options.left!=null){props.left=(options.left-curOffset.left)+curLeft}if("using" in options){options.using.call(elem,props)}else{curElem.css(props)}}};jQuery.fn.extend({position:function(){if(!this[0]){return null}var elem=this[0],offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=rroot.test(offsetParent[0].nodeName)?{top:0,left:0}:offsetParent.offset();offset.top-=parseFloat(jQuery.css(elem,"marginTop"))||0;offset.left-=parseFloat(jQuery.css(elem,"marginLeft"))||0;parentOffset.top+=parseFloat(jQuery.css(offsetParent[0],"borderTopWidth"))||0;parentOffset.left+=parseFloat(jQuery.css(offsetParent[0],"borderLeftWidth"))||0;return{top:offset.top-parentOffset.top,left:offset.left-parentOffset.left}},offsetParent:function(){return this.map(function(){var offsetParent=this.offsetParent||document.body;
while(offsetParent&&(!rroot.test(offsetParent.nodeName)&&jQuery.css(offsetParent,"position")==="static")){offsetParent=offsetParent.offsetParent}return offsetParent})}});jQuery.each(["Left","Top"],function(i,name){var method="scroll"+name;jQuery.fn[method]=function(val){var elem=this[0],win;if(!elem){return null}if(val!==undefined){return this.each(function(){win=getWindow(this);if(win){win.scrollTo(!i?val:jQuery(win).scrollLeft(),i?val:jQuery(win).scrollTop())}else{this[method]=val}})}else{win=getWindow(elem);return win?("pageXOffset" in win)?win[i?"pageYOffset":"pageXOffset"]:jQuery.support.boxModel&&win.document.documentElement[method]||win.document.body[method]:elem[method]}}});function getWindow(elem){return jQuery.isWindow(elem)?elem:elem.nodeType===9?elem.defaultView||elem.parentWindow:false}jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?parseFloat(jQuery.css(this[0],type,"padding")):null};jQuery.fn["outer"+name]=function(margin){return this[0]?parseFloat(jQuery.css(this[0],type,margin?"margin":"border")):null};jQuery.fn[type]=function(size){var elem=this[0];if(!elem){return size==null?null:this}if(jQuery.isFunction(size)){return this.each(function(i){var self=jQuery(this);self[type](size.call(this,i,self[type]()))})}if(jQuery.isWindow(elem)){var docElemProp=elem.document.documentElement["client"+name];return elem.document.compatMode==="CSS1Compat"&&docElemProp||elem.document.body["client"+name]||docElemProp}else{if(elem.nodeType===9){return Math.max(elem.documentElement["client"+name],elem.body["scroll"+name],elem.documentElement["scroll"+name],elem.body["offset"+name],elem.documentElement["offset"+name])}else{if(size===undefined){var orig=jQuery.css(elem,type),ret=parseFloat(orig);return jQuery.isNaN(ret)?orig:ret}else{return this.css(type,typeof size==="string"?size:size+"px")}}}}})})(window);function uw_tracker(e){if(!e){return}var nn=e.nodeName;if(!(nn&&nn.length)){return}if(nn=="A"){uw_mlrUtag(e)}else{if(nn=="INPUT"){if(e.type=="button"||e.type=="submit"){uw_mlrUtag(e)
}}}}function uw_mlr(e){if(!e){return}uw_mlrByStr(uw_getHook(e))}function uw_mlrByStr(o){if(o&&o.length){utag.link({listing_link:utag_data.mlr+"|"+o+"_none"})}}function uw_utag(e){if(!e){return}uw_utagByStr(uw_getHook(e))}function uw_utagByStr(o){if(o&&o.length){utag.link({link_name:o,link_attr1:"alt"})}}function uw_mlrUtag(e){if(!e){return}uw_mlrUtagByStr(uw_getHook(e))}function uw_mlrUtagByStr(o){if(o&&o.length){utag.link({link_name:o,link_attr1:"alt",listing_link:utag_data.mlr+"|"+o+"_none"})}}function uw_getHook(e){if(!e){return}var o;o=$(e).attr("name");if(o&&o.length){return o}else{return""}}function uw_firePageView(){try{utag.view(utag_data)}catch(e){}}function uw_detectClickForm(){$('a[name$="_submit"]').each(function(){var n=$(this).attr("name");if(n&&n.length){if("contact_submit"==n){uw_mlrByStr("contact_start")}else{if("appointment_submit"==n){uw_mlrByStr("appointment_start")}}}})}function lead_show_our_websites(url){window.open(url)}function lead_print_page(){window.print()}function lead_bookmark_us(url,title){if(window.sidebar){window.sidebar.addPanel(title,url,"")}else{if(window.opera&&window.print){var elem=document.createElement("a");elem.setAttribute("href",url);elem.setAttribute("title",title);elem.setAttribute("rel","sidebar");elem.click()}else{if(document.all){window.external.AddFavorite(url,title)}}}}function lead_subscribe_newsletter(){var email=document.getElementById("lead_news_subscriber_id").value;if(email==null||email==""){alert("subscriber email is required");return}var url="mailto:merchantemail@merchantshop.com?subject=Subscribe to news letter&body=Email is : "+email;document.location=url}function newPopup(url){popupWindow=window.open(url,"popUpWindow","height=700,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes")}function fbs_click(urlWeb,desc){var u=urlWeb;var t=desc;window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent(u)+"&t="+encodeURIComponent(t),"sharer","toolbar=0,status=0,width=450,height=450");return false
}function twitter_click(tweetValue){tweet=tweetValue;window.open("http://twitter.com/home?status="+encodeURIComponent(tweet));return false}function enable(e){$(e).removeAttr("disabled")}function disable(e){$(e).attr("disabled","disabled")}function clear(e){$(e).val("")}function isRequired(e){return $(e).hasClass("required")}function isError(response){return $(response).find("code").text()!="OK"}function gatherText(response){var str="";$(response).find("message").each(function(){if(str.length>0){str+="<br/>"}str+=$(this).text()});return str}function convertFormToXml(e){var xmltmp="<xmlFormInput>";$("#"+e+" input").each(function(){if(this.type!="button"&&!($(this).hasClass("unsent"))){var value=$(this).val().replace(/\"/g,"&quot;");xmltmp=xmltmp.concat('<field name="'+$(this).attr("name")+'" required="'+isRequired(this)+'" value="'+value+'" />')}});$("#"+e+" textarea").each(function(){var value=$(this).val().replace(/\"/g,"&quot;");xmltmp=xmltmp.concat('<field name="'+$(this).attr("name")+'" required="'+isRequired(this)+'" value="'+value+'" />')});return xmltmp.concat("</xmlFormInput>")}function sendEmailUsForm(){var inputVal=payloadEmailUs();if(!inputVal){errorEmailUs();activateEmailUs()}else{try{$.ajax({async:false,cache:false,url:"/form/ws/sendwebform/contactus",type:"POST",data:inputVal,dataType:"text/xml",success:function(data,status,req){successEmailUs(req.responseXML)},error:function(req,status,error){successEmailUs(req.responseXML)}})}catch(ex){errorEmailUs()}finally{activateEmailUs()}}}function sendSendToFriendForm(){var inputVal=payloadSendToFriend();if(!inputVal){errorSendToFriend();activateSendToFriend()}else{try{$.ajax({async:false,cache:false,url:"/form/ws/sendwebform/contactus",data:inputVal,type:"POST",dataType:"text/xml",success:function(data,status,req){successSendToFriend(req.responseXML)},error:function(req,status,error){successSendToFriend(req.responseXML)}})}catch(ex){errorSendToFriend()}finally{activateSendToFriend()}}}function payloadEmailUs(){var src=$("#form_email_us input[name='merchant_xml_file']").val();
var tmpStr;try{$.ajax({type:"GET",async:false,url:src,dataType:"text",success:function(data){tmpStr=data}})}catch(ex){tmpStr=""}if(!tmpStr){return""}else{return"&merchantAddresses="+encodeURIComponent(tmpStr)+"&xmlFormInput="+encodeURIComponent(convertFormToXml("form_email_us"))}}function payloadSendToFriend(){var src=$("#form_send_to_friend input[name='merchant_xml_file']").val();var tmpStr;try{$.ajax({type:"GET",async:false,url:src,dataType:"text",success:function(data){tmpStr=data}})}catch(ex){tmpStr=""}if(!tmpStr){return""}else{return"&merchantAddresses="+encodeURIComponent(tmpStr)+"&xmlFormInput="+encodeURIComponent(convertFormToXml("form_send_to_friend"))}}function resetEmailUs(){$("#form_email_us").clearForm();activateEmailUs();$("#email_us_id").hide()}function resetSendToFriend(){$("#form_send_to_friend").clearForm();activateSendToFriend();$("#dialog_send_to_friend").hide()}function activateEmailUs(){enable('#form_email_us input[name="name"]');enable('#form_email_us input[name="email"]');enable('#form_email_us textarea[name="comment"]');enable("#submit_email_us");$("#email_us_loaderCircle").hide()}function activateSendToFriend(){enable('#form_send_to_friend input[name="name"]');enable('#form_send_to_friend input[name="email"]');enable('#form_send_to_friend input[name="email_friend"]');enable("#submit_send_to_friend");$("#send_to_friend_loaderCircle").hide()}function deactivateEmailUs(){disable('#form_email_us input[name="name"]');disable('#form_email_us input[name="email"]');disable('#form_email_us textarea[name="comment"]');disable("#submit_email_us");$("#email_us_loaderCircle").show()}function deactivateSendToFriend(){disable('#form_send_to_friend input[name="name"]');disable('#form_send_to_friend input[name="email"]');disable('#form_send_to_friend input[name="email_friend"]');disable("#submit_send_to_friend");$("#send_to_friend_loaderCircle").show()}function successEmailUs(response){var err=isError(response);var msg=gatherText(response);if(msg==""){if($("html").attr("lang")=="fr"){msg=(err?"Le service n'est pas disponible pour l'instant.":"Le courriel été envoyé.")
}else{msg=(err?"Service unavailable. Please try again later.":"Email sent.")}}feedbackEmailUs(msg,err)}function successSendToFriend(response){var err=isError(response);var msg=gatherText(response);if(msg==""){if($("html").attr("lang")=="fr"){msg=(err?"Le service n'est pas disponible pour l'instant.":"Le courriel été envoyé.")}else{msg=(err?"Service unavailable. Please try again later.":"Email sent.")}}feedbackSendToFriend(msg,err)}function errorEmailUs(){if($("html").attr("lang")=="fr"){feedbackEmailUs("Le service n'est pas disponible pour l'instant.",true)}else{feedbackEmailUs("Service unavailable. Please try again later.",true)}}function errorSendToFriend(){if($("html").attr("lang")=="fr"){feedbackSendToFriend("Le service n'est pas disponible pour l'instant.",true)}else{feedbackSendToFriend("Service unavailable. Please try again later.",true)}}function feedbackEmailUs(msg,err){if(err){$("#form_email_us_message").html('<p class="ssoSmallMsgBox msgRed">'+msg+"</p>")}else{$("#form_email_us_message").html('<p class="ssoSmallMsgBox msgGreen">'+msg+"</p>");$("#form_email_us").clearForm()}}function feedbackSendToFriend(msg,err){if(err){$("#dialog_send_to_friend_message").html('<p class="ssoSmallMsgBox msgRed">'+msg+"</p>")}else{$("#dialog_send_to_friend_message").html('<p class="ssoSmallMsgBox msgGreen">'+msg+"</p>");$("#form_send_to_friend").clearForm()}}(function($){$.fn.dropmenu=function(custom){var defaults={openAnimation:"fadeIn",closeAnimation:"slide",openClick:false,openSpeed:300,closeSpeed:300,closeDelay:100,onHide:function(){},onHidden:function(){},onShow:function(){},onShown:function(){}};var settings=$.extend({},defaults,custom);var menu=this;var currentPage=0;var delayTimer="";init();function init(){var items=menu.find(":has(li,div) > a").append('<span class="arrow"></span>');$.each(items,function(i,val){if(items.eq(i).parent().is("li")){items.eq(i).next().addClass("submenu").parent().addClass("haschildren")}else{items.eq(i).parent().find("ul").show()}});if(settings.openClick){menu.find(".submenu").css("display","none");
menu.find(":has(li,div) > a").parent().bind("mouseleave",handleHover).bind("mouseenter",function(){window.clearInterval(delayTimer)});menu.find("a span.arrow").bind("click",handleHover)}else{menu.find(":has(li,div) > a").bind("mouseenter",handleHover).parent().bind("mouseleave",handleHover).bind("mouseenter",function(){window.clearInterval(delayTimer)})}}function handleHover(e){if(e.type=="mouseenter"||e.type=="click"){window.clearInterval(delayTimer);var current_submenu=$(e.target).parent().find(".submenu:not(:animated):not(.open)");if(current_submenu.html()==null){current_submenu=$(e.target).parent().next(".submenu:not(:animated):not(.open)")}if(current_submenu.html()!=null){settings.onShow.call(current_submenu);closeAllMenus();current_submenu.prev().addClass("selected");current_submenu.css("z-index","90");current_submenu.stop().hide();openMenu(current_submenu)}}if(e.type=="mouseleave"||e.type=="mouseout"){current_submenu=$(e.target).parents(".submenu");if(current_submenu.length!=1){var current_submenu=$(e.target).parent().parent().find(".submenu");if(current_submenu.html()==null){var current_submenu=$(e.target).parent().find(".submenu");if(current_submenu.html()==null){var current_submenu=$(e.target).parent().parent().parent().find(".submenu")}}}if(current_submenu.html()!=null){if(settings.closeDelay==0){current_submenu.parent().find("a").removeClass("selected");closeMenu(current_submenu)}else{window.clearInterval(delayTimer);delayTimer=setInterval(function(){window.clearInterval(delayTimer);closeMenu(current_submenu)},settings.closeDelay)}}}}function openMenu(object){switch(settings.openAnimation){case"slide":openSlideAnimation(object);break;case"fade":openFadeAnimation(object);break;default:openSizeAnimation(object);break}}function openSlideAnimation(object){object.addClass("open").slideDown(settings.openSpeed,function(){settings.onShown.call(this)})}function openFadeAnimation(object){object.addClass("open").fadeIn(settings.openSpeed,function(){settings.onShown.call(this)})}function openSizeAnimation(object){object.addClass("open").show(settings.openSpeed,function(){settings.onShown.call(this)
})}function closeMenu(object){settings.onHide.call(object);switch(settings.closeAnimation){case"slide":closeSlideAnimation(object);break;case"fade":closeFadeAnimation(object);break;default:closeSizeAnimation(object);break}}function closeSlideAnimation(object){object.slideUp(settings.closeSpeed,closeCallback)}function closeFadeAnimation(object){object.fadeOut(settings.closeSpeed,function(){$(this).removeClass("open");$(this).prev().removeClass("selected")})}function closeSizeAnimation(object){object.hide(settings.closeSpeed,function(){$(this).removeClass("open");$(this).prev().removeClass("selected")})}function closeAllMenus(){var submenus=menu.find(".submenu.open");$.each(submenus,function(i,val){$(submenus[i]).css("z-index","1");closeMenu($(submenus[i]))})}function closeCallback(object){$(this).removeClass("open");if($(this).prev().attr("class")=="selected"){settings.onHidden.call(this)}$(this).prev().removeClass("selected")}return this}})(jQuery);$.fn.clearForm=function(){return this.each(function(){$(":input",this).each(function(){var type=this.type,tag=this.tagName.toLowerCase();if(type=="text"||type=="password"||tag=="textarea"){this.value=""}else{if(type=="checkbox"||type=="radio"){this.checked=false}else{if(tag=="select"){this.selectedIndex=-1}}}})})};function menu_con(){$("#main-menu>li>ul").parent().mouseenter(function(){$(this).children("a").addClass("over").end().find(">ul").slideDown("fast",function(){MenuClose=false})}).mouseleave(function(){var $currentMenu=$(this);$currentMenu.find(">ul").stop(true,true).slideUp("fast",function(){$currentMenu.children("a").removeClass("over");MenuClose=true})})}(function($){$.fn.easySlider=function(options){var defaults={prevId:"prevBtn",prevText_en:"Previous",prevText_fr:"Pr&eacute;c&eacute;dent",nextId:"nextBtn",nextText_en:"Next",nextText_fr:"Suivant",controlsShow:true,controlsBefore:"",controlsAfter:"",controlsFade:true,firstId:"firstBtn",firstText_en:"First",firstText_fr:"Premier",firstShow:false,lastId:"lastBtn",lastText_en:"Last",lastText_fr:"Dernier",lastShow:false,vertical:false,speed:800,auto:false,pause:2000,continuous:false,numeric:false,numericId:"controls"};
function getLabelValue(value_en,value_fr){language=document.getElementsByTagName("html")[0].lang;value=(new String(language).toLowerCase()=="fr")?value_fr:value_en;return value}var options=$.extend(defaults,options);this.each(function(){var obj=$(this);var s=$("li",obj).length;var w=$("li",obj).width()+3;var h=$("li",obj).height();var clickable=true;obj.width(w);obj.height(h);obj.css("overflow","hidden");var ts=s-1;var t=0;$("ul",obj).css("width",s*w);if(options.continuous){$("ul",obj).prepend($("ul li:last-child",obj).clone().css("margin-left","-"+w+"px"));$("ul",obj).append($("ul li:nth-child(2)",obj).clone());$("ul",obj).css("width",(s+1)*w)}if(!options.vertical){$("li",obj).css("float","left")}if(options.controlsShow){var html=options.controlsBefore;if(options.numeric){html+='<ol id="'+options.numericId+'"></ol>'}else{if(options.firstShow){html+='<span id="'+options.firstId+'"><a href="javascript:void(0);">'+getLabelValue(options.firstText_en,options.firstText_fr)+"</a></span>"}html+=' <span id="'+options.prevId+'"><a onmousedown="uw_mlrUtagByStr(\'photos\');" href="javascript:void(0);">'+getLabelValue(options.prevText_en,options.prevText_fr)+"</a></span>";html+=' <span id="'+options.nextId+'"><a onmousedown="uw_mlrUtagByStr(\'photos\');" href="javascript:void(0);">'+getLabelValue(options.nextText_en,options.nextText_fr)+"</a></span>";if(options.lastShow){html+=' <span id="'+options.lastId+'"><a href="javascript:void(0);">'+getLabelValue(options.lastText_en,options.lastText_fr)+"</a></span>"}}html+=options.controlsAfter;$(obj).after(html)}if(options.numeric){for(var i=0;i<s;i++){$(document.createElement("li")).attr("id",options.numericId+(i+1)).html("<a rel="+i+' href="javascript:void(0);">'+(i+1)+"</a>").appendTo($("#"+options.numericId)).click(function(){animate($("a",$(this)).attr("rel"),true)})}}else{$("a","#"+options.nextId).click(function(){animate("next",true)});$("a","#"+options.prevId).click(function(){animate("prev",true)});$("a","#"+options.firstId).click(function(){animate("first",true)});$("a","#"+options.lastId).click(function(){animate("last",true)
})}function setCurrent(i){i=parseInt(i)+1;$("li","#"+options.numericId).removeClass("current");$("li#"+options.numericId+i).addClass("current")}function adjust(){if(t>ts){t=0}if(t<0){t=ts}if(!options.vertical){$("ul",obj).css("margin-left",(t*w*-1))}else{$("ul",obj).css("margin-left",(t*h*-1))}clickable=true;if(options.numeric){setCurrent(t)}}function animate(dir,clicked){if(clickable){clickable=false;var ot=t;switch(dir){case"next":t=(ot>=ts)?(options.continuous?t+1:ts):t+1;break;case"prev":t=(t<=0)?(options.continuous?t-1:0):t-1;break;case"first":t=0;break;case"last":t=ts;break;default:t=dir;break}var diff=Math.abs(ot-t);var speed=diff*options.speed;if(!options.vertical){p=(t*w*-1);$("ul",obj).animate({marginLeft:p},{queue:false,duration:speed,complete:adjust})}else{p=(t*h*-1);$("ul",obj).animate({marginTop:p},{queue:false,duration:speed,complete:adjust})}if(!options.continuous&&options.controlsFade){if(t==ts){$("a","#"+options.nextId).hide();$("a","#"+options.lastId).hide()}else{$("a","#"+options.nextId).show();$("a","#"+options.lastId).show()}if(t==0){$("a","#"+options.prevId).hide();$("a","#"+options.firstId).hide()}else{$("a","#"+options.prevId).show();$("a","#"+options.firstId).show()}}if(clicked){clearTimeout(timeout)}if(options.auto&&dir=="next"&&!clicked){timeout=setTimeout(function(){animate("next",false)},diff*options.speed+options.pause)}}}var timeout;if(options.auto){timeout=setTimeout(function(){animate("next",false)},options.pause)}if(options.numeric){setCurrent(0)}if(!options.continuous&&options.controlsFade){$("a","#"+options.prevId).hide();$("a","#"+options.firstId).hide()}})}})(jQuery);(function(){function g(o){console.log("$f.fireEvent",[].slice.call(o))}function k(q){if(!q||typeof q!="object"){return q}var o=new q.constructor();for(var p in q){if(q.hasOwnProperty(p)){o[p]=k(q[p])}}return o}function m(t,q){if(!t){return}var o,p=0,r=t.length;if(r===undefined){for(o in t){if(q.call(t[o],o,t[o])===false){break}}}else{for(var s=t[0];p<r&&q.call(s,p,s)!==false;s=t[++p]){}}return t}function c(o){return document.getElementById(o)
}function i(q,p,o){if(typeof p!="object"){return q}if(q&&p){m(p,function(r,s){if(!o||typeof s!="function"){q[r]=s}})}return q}function n(s){var q=s.indexOf(".");if(q!=-1){var p=s.slice(0,q)||"*";var o=s.slice(q+1,s.length);var r=[];m(document.getElementsByTagName(p),function(){if(this.className&&this.className.indexOf(o)!=-1){r.push(this)}});return r}}function f(o){o=o||window.event;if(o.preventDefault){o.stopPropagation();o.preventDefault()}else{o.returnValue=false;o.cancelBubble=true}return false}function j(q,o,p){q[o]=q[o]||[];q[o].push(p)}function e(){return"_"+(""+Math.random()).slice(2,10)}var h=function(t,r,s){var q=this,p={},u={};q.index=r;if(typeof t=="string"){t={url:t}}i(this,t,true);m(("Begin*,Start,Pause*,Resume*,Seek*,Stop*,Finish*,LastSecond,Update,BufferFull,BufferEmpty,BufferStop").split(","),function(){var v="on"+this;if(v.indexOf("*")!=-1){v=v.slice(0,v.length-1);var w="onBefore"+v.slice(2);q[w]=function(x){j(u,w,x);return q}}q[v]=function(x){j(u,v,x);return q};if(r==-1){if(q[w]){s[w]=q[w]}if(q[v]){s[v]=q[v]}}});i(this,{onCuepoint:function(x,w){if(arguments.length==1){p.embedded=[null,x];return q}if(typeof x=="number"){x=[x]}var v=e();p[v]=[x,w];if(s.isLoaded()){s._api().fp_addCuepoints(x,r,v)}return q},update:function(w){i(q,w);if(s.isLoaded()){s._api().fp_updateClip(w,r)}var v=s.getConfig();var x=(r==-1)?v.clip:v.playlist[r];i(x,w,true)},_fireEvent:function(v,y,w,A){if(v=="onLoad"){m(p,function(B,C){if(C[0]){s._api().fp_addCuepoints(C[0],r,B)}});return false}A=A||q;if(v=="onCuepoint"){var z=p[y];if(z){return z[1].call(s,A,w)}}if(y&&"onBeforeBegin,onMetaData,onStart,onUpdate,onResume".indexOf(v)!=-1){i(A,y);if(y.metaData){if(!A.duration){A.duration=y.metaData.duration}else{A.fullDuration=y.metaData.duration}}}var x=true;m(u[v],function(){x=this.call(s,A,y,w)});return x}});if(t.onCuepoint){var o=t.onCuepoint;q.onCuepoint.apply(q,typeof o=="function"?[o]:o);delete t.onCuepoint}m(t,function(v,w){if(typeof w=="function"){j(u,v,w);delete t[v]}});if(r==-1){s.onCuepoint=this.onCuepoint}};var l=function(p,r,q,t){var o=this,s={},u=false;
if(t){i(s,t)}m(r,function(v,w){if(typeof w=="function"){s[v]=w;delete r[v]}});i(this,{animate:function(y,z,x){if(!y){return o}if(typeof z=="function"){x=z;z=500}if(typeof y=="string"){var w=y;y={};y[w]=z;z=500}if(x){var v=e();s[v]=x}if(z===undefined){z=500}r=q._api().fp_animate(p,y,z,v);return o},css:function(w,x){if(x!==undefined){var v={};v[w]=x;w=v}r=q._api().fp_css(p,w);i(o,r);return o},show:function(){this.display="block";q._api().fp_showPlugin(p);return o},hide:function(){this.display="none";q._api().fp_hidePlugin(p);return o},toggle:function(){this.display=q._api().fp_togglePlugin(p);return o},fadeTo:function(y,x,w){if(typeof x=="function"){w=x;x=500}if(w){var v=e();s[v]=w}this.display=q._api().fp_fadeTo(p,y,x,v);this.opacity=y;return o},fadeIn:function(w,v){return o.fadeTo(1,w,v)},fadeOut:function(w,v){return o.fadeTo(0,w,v)},getName:function(){return p},getPlayer:function(){return q},_fireEvent:function(w,v,x){if(w=="onUpdate"){var z=q._api().fp_getPlugin(p);if(!z){return}i(o,z);delete o.methods;if(!u){m(z.methods,function(){var B=""+this;o[B]=function(){var C=[].slice.call(arguments);var D=q._api().fp_invoke(p,B,C);return D==="undefined"||D===undefined?o:D}});u=true}}var A=s[w];if(A){var y=A.apply(o,v);if(w.slice(0,1)=="_"){delete s[w]}return y}return o}})};function b(q,G,t){var w=this,v=null,D=false,u,s,F=[],y={},x={},E,r,p,C,o,A;i(w,{id:function(){return E},isLoaded:function(){return(v!==null&&v.fp_play!==undefined&&!D)},getParent:function(){return q},hide:function(H){if(H){q.style.height="0px"}if(w.isLoaded()){v.style.height="0px"}return w},show:function(){q.style.height=A+"px";if(w.isLoaded()){v.style.height=o+"px"}return w},isHidden:function(){return w.isLoaded()&&parseInt(v.style.height,10)===0},load:function(J){if(!w.isLoaded()&&w._fireEvent("onBeforeLoad")!==false){var H=function(){u=q.innerHTML;if(u&&!flashembed.isSupported(G.version)){q.innerHTML=""}if(J){J.cached=true;j(x,"onLoad",J)}flashembed(q,G,{config:t})};var I=0;m(a,function(){this.unload(function(K){if(++I==a.length){H()}})})}return w},unload:function(J){if(this.isFullscreen()&&/WebKit/i.test(navigator.userAgent)){if(J){J(false)
}return w}if(u.replace(/\s/g,"")!==""){if(w._fireEvent("onBeforeUnload")===false){if(J){J(false)}return w}D=true;try{if(v){v.fp_close();w._fireEvent("onUnload")}}catch(H){}var I=function(){v=null;q.innerHTML=u;D=false;if(J){J(true)}};setTimeout(I,50)}else{if(J){J(false)}}return w},getClip:function(H){if(H===undefined){H=C}return F[H]},getCommonClip:function(){return s},getPlaylist:function(){return F},getPlugin:function(H){var J=y[H];if(!J&&w.isLoaded()){var I=w._api().fp_getPlugin(H);if(I){J=new l(H,I,w);y[H]=J}}return J},getScreen:function(){return w.getPlugin("screen")},getControls:function(){return w.getPlugin("controls")._fireEvent("onUpdate")},getLogo:function(){try{return w.getPlugin("logo")._fireEvent("onUpdate")}catch(H){}},getPlay:function(){return w.getPlugin("play")._fireEvent("onUpdate")},getConfig:function(H){return H?k(t):t},getFlashParams:function(){return G},loadPlugin:function(K,J,M,L){if(typeof M=="function"){L=M;M={}}var I=L?e():"_";w._api().fp_loadPlugin(K,J,M,I);var H={};H[I]=L;var N=new l(K,null,w,H);y[K]=N;return N},getState:function(){return w.isLoaded()?v.fp_getState():-1},play:function(I,H){var J=function(){if(I!==undefined){w._api().fp_play(I,H)}else{w._api().fp_play()}};if(w.isLoaded()){J()}else{if(D){setTimeout(function(){w.play(I,H)},50)}else{w.load(function(){J()})}}return w},getVersion:function(){var I="flowplayer.js 3.2.6";if(w.isLoaded()){var H=v.fp_getVersion();H.push(I);return H}return I},_api:function(){if(!w.isLoaded()){throw"Flowplayer "+w.id()+" not loaded when calling an API method"}return v},setClip:function(H){w.setPlaylist([H]);return w},getIndex:function(){return p},_swfHeight:function(){return v.clientHeight}});m(("Click*,Load*,Unload*,Keypress*,Volume*,Mute*,Unmute*,PlaylistReplace,ClipAdd,Fullscreen*,FullscreenExit,Error,MouseOver,MouseOut").split(","),function(){var H="on"+this;if(H.indexOf("*")!=-1){H=H.slice(0,H.length-1);var I="onBefore"+H.slice(2);w[I]=function(J){j(x,I,J);return w}}w[H]=function(J){j(x,H,J);return w}});m(("pause,resume,mute,unmute,stop,toggle,seek,getStatus,getVolume,setVolume,getTime,isPaused,isPlaying,startBuffering,stopBuffering,isFullscreen,toggleFullscreen,reset,close,setPlaylist,addClip,playFeed,setKeyboardShortcutsEnabled,isKeyboardShortcutsEnabled").split(","),function(){var H=this;
w[H]=function(J,I){if(!w.isLoaded()){return w}var K=null;if(J!==undefined&&I!==undefined){K=v["fp_"+H](J,I)}else{K=(J===undefined)?v["fp_"+H]():v["fp_"+H](J)}return K==="undefined"||K===undefined?w:K}});w._fireEvent=function(Q){if(typeof Q=="string"){Q=[Q]}var R=Q[0],O=Q[1],M=Q[2],L=Q[3],K=0;if(t.debug){g(Q)}if(!w.isLoaded()&&R=="onLoad"&&O=="player"){v=v||c(r);o=w._swfHeight();m(F,function(){this._fireEvent("onLoad")});m(y,function(S,T){T._fireEvent("onUpdate")});s._fireEvent("onLoad")}if(R=="onLoad"&&O!="player"){return}if(R=="onError"){if(typeof O=="string"||(typeof O=="number"&&typeof M=="number")){O=M;M=L}}if(R=="onContextMenu"){m(t.contextMenu[O],function(S,T){T.call(w)});return}if(R=="onPluginEvent"||R=="onBeforePluginEvent"){var H=O.name||O;var I=y[H];if(I){I._fireEvent("onUpdate",O);return I._fireEvent(M,Q.slice(3))}return}if(R=="onPlaylistReplace"){F=[];var N=0;m(O,function(){F.push(new h(this,N++,w))})}if(R=="onClipAdd"){if(O.isInStream){return}O=new h(O,M,w);F.splice(M,0,O);for(K=M+1;K<F.length;K++){F[K].index++}}var P=true;if(typeof O=="number"&&O<F.length){C=O;var J=F[O];if(J){P=J._fireEvent(R,M,L)}if(!J||P!==false){P=s._fireEvent(R,M,L,J)}}m(x[R],function(){P=this.call(w,O,M);if(this.cached){x[R].splice(K,1)}if(P===false){return false}K++});return P};function B(){if($f(q)){$f(q).getParent().innerHTML="";p=$f(q).getIndex();a[p]=w}else{a.push(w);p=a.length-1}A=parseInt(q.style.height,10)||q.clientHeight;E=q.id||"fp"+e();r=G.id||E+"_api";G.id=r;t.playerId=E;if(typeof t=="string"){t={clip:{url:t}}}if(typeof t.clip=="string"){t.clip={url:t.clip}}t.clip=t.clip||{};if(q.getAttribute("href",2)&&!t.clip.url){t.clip.url=q.getAttribute("href",2)}s=new h(t.clip,-1,w);t.playlist=t.playlist||[t.clip];var I=0;m(t.playlist,function(){var K=this;if(typeof K=="object"&&K.length){K={url:""+K}}m(t.clip,function(L,M){if(M!==undefined&&K[L]===undefined&&typeof M!="function"){K[L]=M}});t.playlist[I]=K;K=new h(K,I,w);F.push(K);I++});m(t,function(K,L){if(typeof L=="function"){if(s[K]){s[K](L)}else{j(x,K,L)}delete t[K]}});m(t.plugins,function(K,L){if(L){y[K]=new l(K,L,w)
}});if(!t.plugins||t.plugins.controls===undefined){y.controls=new l("controls",null,w)}y.canvas=new l("canvas",null,w);u=q.innerHTML;function J(L){var K=w.hasiPadSupport&&w.hasiPadSupport();if(/iPad|iPhone|iPod/i.test(navigator.userAgent)&&!/.flv$/i.test(F[0].url)&&!K){return true}if(!w.isLoaded()&&w._fireEvent("onBeforeClick")!==false){w.load()}return f(L)}function H(){if(u.replace(/\s/g,"")!==""){if(q.addEventListener){q.addEventListener("click",J,false)}else{if(q.attachEvent){q.attachEvent("onclick",J)}}}else{if(q.addEventListener){q.addEventListener("click",f,false)}w.load()}}setTimeout(H,0)}if(typeof q=="string"){var z=c(q);if(!z){throw"Flowplayer cannot access element: "+q}q=z;B()}else{B()}}var a=[];function d(o){this.length=o.length;this.each=function(p){m(o,p)};this.size=function(){return o.length}}window.flowplayer=window.$f=function(){var p=null;var o=arguments[0];if(!arguments.length){m(a,function(){if(this.isLoaded()){p=this;return false}});return p||a[0]}if(arguments.length==1){if(typeof o=="number"){return a[o]}else{if(o=="*"){return new d(a)}m(a,function(){if(this.id()==o.id||this.id()==o||this.getParent()==o){p=this;return false}});return p}}if(arguments.length>1){var t=arguments[1],q=(arguments.length==3)?arguments[2]:{};if(typeof t=="string"){t={src:t}}t=i({bgcolor:"#000000",version:[9,0],expressInstall:"http://static.flowplayer.org/swf/expressinstall.swf",cachebusting:false},t);if(typeof o=="string"){if(o.indexOf(".")!=-1){var s=[];m(n(o),function(){s.push(new b(this,k(t),k(q)))});return new d(s)}else{var r=c(o);return new b(r!==null?r:o,t,q)}}else{if(o){return new b(o,t,q)}}}return null};i(window.$f,{fireEvent:function(){var o=[].slice.call(arguments);var q=$f(o[0]);return q?q._fireEvent(o.slice(1)):null},addPlugin:function(o,p){b.prototype[o]=p;return $f},each:m,extend:i});if(typeof jQuery=="function"){jQuery.fn.flowplayer=function(q,p){if(!arguments.length||typeof arguments[0]=="number"){var o=[];this.each(function(){var r=$f(this);if(r){o.push(r)}});return arguments.length?o[arguments[0]]:new d(o)
}return this.each(function(){$f(this,k(q),p?k(p):{})})}}})();(function(){var e=typeof jQuery=="function";var i={width:"100%",height:"100%",allowfullscreen:true,allowscriptaccess:"always",quality:"high",version:null,onFail:null,expressInstall:null,w3c:false,cachebusting:false};if(e){jQuery.tools=jQuery.tools||{};jQuery.tools.flashembed={version:"1.0.4",conf:i}}function j(){if(c.done){return false}var l=document;if(l&&l.getElementsByTagName&&l.getElementById&&l.body){clearInterval(c.timer);c.timer=null;for(var k=0;k<c.ready.length;k++){c.ready[k].call()}c.ready=null;c.done=true}}var c=e?jQuery:function(k){if(c.done){return k()}if(c.timer){c.ready.push(k)}else{c.ready=[k];c.timer=setInterval(j,13)}};function f(l,k){if(k){for(key in k){if(k.hasOwnProperty(key)){l[key]=k[key]}}}return l}function g(k){switch(h(k)){case"string":k=k.replace(new RegExp('(["\\\\])',"g"),"\\$1");k=k.replace(/^\s?(\d+)%/,"$1pct");return'"'+k+'"';case"array":return"["+b(k,function(n){return g(n)}).join(",")+"]";case"function":return'"function()"';case"object":var l=[];for(var m in k){if(k.hasOwnProperty(m)){l.push('"'+m+'":'+g(k[m]))}}return"{"+l.join(",")+"}"}return String(k).replace(/\s/g," ").replace(/\'/g,'"')}function h(l){if(l===null||l===undefined){return false}var k=typeof l;return(k=="object"&&l.push)?"array":k}if(window.attachEvent){window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){}})}function b(k,n){var m=[];for(var l in k){if(k.hasOwnProperty(l)){m[l]=n(k[l])}}return m}function a(r,t){var q=f({},r);var s=document.all;var n='<object width="'+q.width+'" height="'+q.height+'"';if(s&&!q.id){q.id="_"+(""+Math.random()).substring(9)}if(q.id){n+=' id="'+q.id+'"'}if(q.cachebusting){q.src+=((q.src.indexOf("?")!=-1?"&":"?")+Math.random())}if(q.w3c||!s){n+=' data="'+q.src+'" type="application/x-shockwave-flash"'}else{n+=' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'}n+=">";if(q.w3c||s){n+='<param name="movie" value="'+q.src+'" />'}q.width=q.height=q.id=q.w3c=q.src=null;
for(var l in q){if(q[l]!==null){n+='<param name="'+l+'" value="'+q[l]+'" />'}}var o="";if(t){for(var m in t){if(t[m]!==null){o+=m+"="+(typeof t[m]=="object"?g(t[m]):t[m])+"&"}}o=o.substring(0,o.length-1);n+='<param name="flashvars" value=\''+o+"' />"}n+="</object>";return n}function d(m,p,l){var k=flashembed.getVersion();f(this,{getContainer:function(){return m},getConf:function(){return p},getVersion:function(){return k},getFlashvars:function(){return l},getApi:function(){return m.firstChild},getHTML:function(){return a(p,l)}});var q=p.version;var r=p.expressInstall;var o=!q||flashembed.isSupported(q);if(o){p.onFail=p.version=p.expressInstall=null;m.innerHTML=a(p,l)}else{if(q&&r&&flashembed.isSupported([6,65])){f(p,{src:r});l={MMredirectURL:location.href,MMplayerType:"PlugIn",MMdoctitle:document.title};m.innerHTML=a(p,l)}else{if(m.innerHTML.replace(/\s/g,"")!==""){}else{m.innerHTML="<h2>Flash version "+q+" or greater is required</h2><h3>"+(k[0]>0?"Your version is "+k:"You have no flash plugin installed")+"</h3>"+(m.tagName=="A"?"<p>Click here to download latest version</p>":"<p>Download latest version from <a href='http://www.adobe.com/go/getflashplayer'>here</a></p>");if(m.tagName=="A"){m.onclick=function(){location.href="http://www.adobe.com/go/getflashplayer"}}}}}if(!o&&p.onFail){var n=p.onFail.call(this);if(typeof n=="string"){m.innerHTML=n}}if(document.all){window[p.id]=document.getElementById(p.id)}}window.flashembed=function(l,m,k){if(typeof l=="string"){var n=document.getElementById(l);if(n){l=n}else{c(function(){flashembed(l,m,k)});return}}if(!l){return}if(typeof m=="string"){m={src:m}}var o=f({},i);f(o,m);return new d(l,o,k)};f(window.flashembed,{getVersion:function(){var m=[0,0];if(navigator.plugins&&typeof navigator.plugins["Shockwave Flash"]=="object"){var l=navigator.plugins["Shockwave Flash"].description;if(typeof l!="undefined"){l=l.replace(/^.*\s+(\S+\s+\S+$)/,"$1");var n=parseInt(l.replace(/^(.*)\..*$/,"$1"),10);var r=/r/.test(l)?parseInt(l.replace(/^.*r(.*)$/,"$1"),10):0;m=[n,r]}}else{if(window.ActiveXObject){try{var p=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")
}catch(q){try{p=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");m=[6,0];p.AllowScriptAccess="always"}catch(k){if(m[0]==6){return m}}try{p=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(o){}}if(typeof p=="object"){l=p.GetVariable("$version");if(typeof l!="undefined"){l=l.replace(/^\S+\s+(.*)$/,"$1").split(",");m=[parseInt(l[0],10),parseInt(l[2],10)]}}}}return m},isSupported:function(k){var m=flashembed.getVersion();var l=(m[0]>k[0])||(m[0]==k[0]&&m[1]>=k[1]);return l},domReady:c,asString:g,getHTML:a});if(e){jQuery.fn.flashembed=function(l,k){var m=null;this.each(function(){m=flashembed(this,l,k)});return l.api===false?this:m}}})();function initSlider(id,speed,autoPlay){var options={nextId:id+"-next",prevId:id+"-prev",orientation:"horizontal",auto:autoPlay,speed:speed,continuous:autoPlay};$("#"+id).easySlider(options)}var L_invalidinvoketarget_text="Invalid invoke target specified.",L_invaliddirections_text="Invalid argument passed; both start and end must be present.",L_invalidpageindex_text="Invalid search results page index is passed.",L_invalidelement_text="Invalid element id; unable to find the element in the document body.",L_noheadelement_text="Head element is missing for the current document; cannot initialize the API framework.",L_noserviceurl_text="Either a service url or script url is required to create VENetwork instance.",L_noscripturl_text="Invalid script source url is assigned; cannot download the assigned script.",L_nostylesurl_text="Invalid style source url is assigned; cannot attach the assigned styles.",L_invalidwhatwhere_text="Invalid what/where parameters; either 'what' or 'where' must be present.",L_notinitialized_text="Map is not loaded; cannot perform this operation.",L_noroute_text="Cannot calculate route at this point; try again later.",L_invalidpushpin_text="Invalid pushpin instance.",L_invalidpushpinid_text="Invalid pushpin id; either id is empty or another pushpin already exists with that id.",L_invalidpolylineid_text="Invalid polyline id; either id is empty or another polyline already exists with that id.",L_invalidpolygonid_text="Invalid polygon id; either id is empty or another polygon already exists with that id.",L_invalidargument_text="Invalid argument; input argument '%1' is not a valid '%2' value.",L_invalidlayerid_text="Invalid layer id; either id is empty or another layer already exists with that id.",L_invalidlayertype_text="Invalid layer type.",L_invalidlayersource_text="Invalid layer source; either layer is empty or does not exist.",L_invalidsourceid_text="Invalid source id; either id is empty or another tile source already exists with that id.",L_invalidminmaxzoom_text="Min zoom is greater than max zoom.",L_invalidopacity_text="Invalid opacity value.",L_loadxml_text="Unable to load source file.",L_Help_Text="Help",L_ErrorServerBusy_Text="The server is temporarily unavailable. Try again later.",L_UnsupportMethod_Text="%1 method is not supported.",L_UnsupportClass_Text="%1 class is not supported.",L_UnsupportProperty_Text="'%1' class does not support property '%2' equals to '%3'.",L_error_text="Error",L_close_text="close",L_what_text="What",L_where_text="Where",L_find_text="Find",L_selectlocation_text="Select a location",L_Start_Text="Start",L_End_Text="End",L_DirectionsGetDirections_Text="Get directions",L_loading_text=".. Loading ..",L_arriveat_text="Arrive at",L_startat_text="Start at",L_step_text="Step %1 of %2",L_DirectionsStep_Text="Step",L_invalidroute_Text="Unable to find a route for the locations you entered. Ensure that your start and end locations are correct, and try again.",L_invalidlocation_Text="The location you entered cannot be found.",L_routelessthanoneminute_Text="Less Than One Minute",L_hoursandminutes_Text="%1 Hours, %2 Minutes",L_minutes_Text="%1 Minutes",L_CollectionManagerViewerDefaultTitle_Text="Shared Collection",L_CollectionManagerUnsavedCollectionTitle_Text="Unsaved Collection",L_AnnotationConfDefaultTitle_Text="Untitled item",L_TrafficPopupSeverity_Text="Severity",L_TrafficPopupLocation_Text="Location",L_TrafficPopupDescription_Text="Description",L_TrafficPopupStartTime_Text="Start time",L_TrafficPopupEstEndTime_Text="Est. end time",L_TrafficManagerSerious_Text="Serious",L_TrafficManagerModerate_Text="Moderate",L_TrafficManagerMinor_Text="Minor",L_TrafficManager_Zoomout_Text="Zoom out to view Traffic information",L_TrafficManager_Zoomin_Text="Zoom in to view Traffic information",L_ClientTokenInvalid_Text="Invalid client token.",L_ClientTokenExpired_Text="Expired client token.",L_CredentialsInvalid_Text="Invalid Credentials.",L_Shp_IncorrectPoints_Text="The number of points does not match the specified VEShape type.",L_Shp_IncorrectLineWidth_Text="The line width must be a positive integer.",L_Shp_IncorrectZoomLevel_Text="The specified  zoom level is invalid.  The valid range is 1 to 21,inclusive.",L_Shp_IncorrectZoomLevel2_Text="Max zoom is less than min zoom.",L_shp_Notinitialized_text="Shape is not initialized.",L_ShpExist_text="This shape has already been added to layer.",L_invalidzindex_text="Invalid z-Index parameters; either 'icon' or 'polyshape' must be present.",L_altitudemodemismatch_Text="All altitudes must have the same altitudeMode in a VEShape.",L_invalidwhere_text="Invalid argument; input argument 'where' is not a valid 'string, VELatLong, VELatLongRectangle, or VEPlace ' value.",L_invalidnonnegativeint_text="Invalid argument; input argument '%1' must be a non-negative int value.",L_invalidbetweenint_text="Invalid argument; input argument '%1' must be between %2 and %3, inclusive.",L_invalidsearchlocation_Text="%1 could not find a match for the location. Please check your spelling, enter the complete address including country name and commas, and try again.",L_invalidsearchresult_Text="No results were found.",L_ClusterDefaultTitle_Text="%1 locations near here",L_ClusterDefaultDescription_Text="Zoom in for details.",L_InvalidClusterLayer_Text="Cannot apply clustering to a cluster layer.",L_DashboardBirdsEye_Text="Bird's eye",L_DashboardBirdsEyeText_Text="See this location in bird's eye view",L_Dashboard3DText_Text="See this location in Bing Maps 3D",L_Dashboard3DInstalled_Text="Bing Maps 3D has finished updating",L_ObliqueCompassSelectDirection_Text="Change the direction of the view",L_ObliqueModeImageNotAvailable_Text="Sorry, bird's eye images aren't available here.",L_MinimapHybrid_Text="H",L_MinimapRoad_Text="R",L_MinimapHideToolTip_Text="Hide the mini map",L_MinimapShowToolTip_Text="Show the mini map",L_MinimapLargerToolTip_Text="Larger mini map",L_MinimapSmallerToolTip_Text="Smaller mini map",L_MinimapRoadToolTip_Text="Switch to road view",L_MinimapHybridToolTip_Text="Switch to hybrid view",L_MinimapDragToolTip_Text="Drag to move the map",L_MinimapReticuleDragToolTip_Text="Drag to center map",L_ScaleBarMiles_Text="miles",L_ScaleBarKilometers_Text="km",L_ScaleBarMeters_Text="m",L_ScaleBarYards_Text="yds",L_NavActionFlatland_Text="2D",L_NavActionView3D_Text="3D",L_NavActionRoad_Text="Road",L_NavActionAerial_Text="Aerial",L_NavActionHybrid_Text="Hybrid",L_NavActionLabels_Text="Labels",L_NavActionTraffic_Text="Traffic",L_NavActionHideToolTip_Text="Hide the view control",L_NavActionShowToolTip_Text="Show the view control",L_NavActionFlatlandToolTip_Text="View map in 2D mode",L_NavActionView3DToolTip_Text="View map in 3D mode with Bing Maps 3D (Beta)",L_NavActionOrthoToolTip_Text="Switch to map view",L_NavActionObliqueToolTip_Text="Switch to bird's eye view",L_NavActionStreetSideToolTip_Text="Street-level view",L_NavAction3DOrthoToolTip_Text="Look down",L_NavAction3DObliqueToolTip_Text="Look down at an angle",L_NavAction3DStreetSideToolTip_Text="Look toward horizon",L_NavActionShowTrafficToolTip_Text="Show traffic on the map",L_NavActionHideTrafficToolTip_Text="Hide traffic on the map",L_NavActionRoadToolTip_Text="Switch to road view",L_NavActionAerialToolTip_Text="Switch to aerial view",L_NavActionHybridToolTip_Text="Switch to hybrid view",L_NavActionObliqueRotationToolTip_CW_Text="Rotate the camera angle counterclockwise",L_NavActionObliqueRotationToolTip_CCW_Text="Rotate the camera angle clockwise",L_NavActionShowObliqueToolTip_Text="Show bird's eye images on the map",L_NavActionHideObliqueToolTip_Text="Hide bird's eye images on the map",L_NavActionShowLabels_Text="Show labels",L_NavActionHideLabels_Text="Hide labels",L_North_Text="north",L_East_Text="east",L_South_Text="south",L_West_Text="west",L_ObliqueSkippingOneDirection_Text="A bird's eye image facing %2 isn't available for this location. Facing %1 instead.",L_ObliqueSkippingTwoDirections_Text="Bird's eye images facing %2 or %3 aren't available for this location. Facing %1 instead.",L_ObliqueSpinNoOtherImagery_Text="No other bird's eye images are available for this location. Continuing to face %1.",L_ObliqueNoImageryInRequestedDirection_Text="Bird's eye images facing %2 aren't available for this location. Continuing to face %1.",L_NavActionCompassPan_Text="Pan in any direction",L_ZoomBarMinusToolTip_Text="Zoom out. To zoom continuously, click and hold this button.",L_ZoomBarPlusToolTip_Text="Zoom in. To zoom continuously, click and hold this button.",L_ZoomBarSliderToolTip_Text="Move slider to zoom in or zoom out",L_BrowserNotSupported_Text="To use this feature, open Live Search in Windows Internet Explorer version 6 or 7. For more information, and to download the latest version, visit the Microsoft Internet Explorer website (%1%3%2).",L_BrowserNotSupported3D_Text="Bing Maps 3D is currently not supported for your browser. For a list of supported browsers, see Help.",L_NoHardwareAcceleration_Text="Bing Maps 3D has detected that hardware acceleration is turned off.",L_3DLoading_Text="Initializing Bing Maps 3D (Beta).",L_UnableToDisplay3DVIAModel_Text="Unable to display 3D models in collections at this time. Please try again later.",L_InstallVE3DVIATitle_Text="Virtual Earth - 3DVIA (Beta) installation",L_LaunchVE3DVIA_Text="Launching Virtual Earth - 3DVIA (Beta)",L_PluginFeatureNotAvailable_Text="Feature is currently not available. Please try again later.",L_MapLegendTrafficSlow_Text="Slow",L_MapLegendTrafficFast_Text="Fast",L_MapLegendAndPopupLink_Text="Zoom in for traffic details",L_GeoRssInvalidFormatError_Text="The GeoRSS file you have tried to import is improperly formatted.",L_BingSearchWatermark_Text="Search on Bing",L_BingSearchGoTooltip_Text="Search on Bing",L_BingLogoTooltip_Text="Bing Maps",L_MapCopyrightMicrosoft="&copy; 2011 Microsoft Corporation",L_MapCopyrightTraffic="Traffic.com",L_MapControlPlatformName_Text="Virtual Earth",L_SupportedBrowserDownloadUrl_Text="http://www.microsoft.com/windows/ie/downloads/default.mspx";
_VERegisterNamespaces("MapControl");MapControl.Features={PlatformName:L_MapControlPlatformName_Text,Image:{PoweredLogo:"logo_powered_by_map.png"},MapStyle:{Road:true,Shaded:true,Aerial:true,Hybrid:true,BirdsEye:true,View3D:true},BirdsEyeAtZoomLevel:10,ScaleBarKilometers:false,Traffic:{Flow:{Slow:"0-25 mph",Moderate:"25-45 mph",Fast:"45+ mph"},Enabled:true,ShowOnNavbar:false,ShowIncidents:true},RouteOptions:{RouteMode:{Driving:true,Walking:true},UseMWS:true,UseTraffic:true},Minimap:{ShowByDefault:false}};function _VERegisterNamespaces(){for(var d=0;d<arguments.length;d++){var b=arguments[d].split("."),c=window;for(var a=0;a<b.length;a++){if(!c[b[a]]){c[b[a]]={}}c=c[b[a]]}}}_VERegisterNamespaces("Msn.MVC");Msn.MVC.AbstractView=function(){this._contextPin=null};Msn.MVC.AbstractView.prototype.OnBeforeSwitchAway=function(){};Msn.MVC.AbstractView.prototype.ShowShimIfSupported=function(){};Msn.MVC.AbstractView.prototype.UpdateShimIfSupported=function(){};_VERegisterNamespaces("Msn.MVC");Msn.MVC.FlatlandView=function(){this._superObj=Msn.MVC.FlatlandView.prototype;this._mapDrawingView=null};Msn.MVC.FlatlandView.prototype=new Msn.MVC.AbstractView;Msn.MVC.FlatlandView.prototype.OnBeforeSwitchAway=function(){if(window.__drawingLoaded){this._ClearAllCollectionLayers();VE_MapDispatch.Clear()}};_VERegisterNamespaces("Msn.MVC");Msn.MVC.View3D=function(){this._superObj=Msn.MVC.View3D.prototype;this._hackUniqueLayerId="UniqueLayer_Hack";this._entityIdShapePostfix="_Shape";this._spacecontrol=null};Msn.MVC.View3D.prototype=new Msn.MVC.AbstractView;Msn.MVC.View3D.prototype.OnBeforeSwitchAway=function(){this._SetView3DControl(null)};Msn.MVC.View3D.prototype._SetView3DControl=function(a){this._spacecontrol=a};Msn.MVC.View3D.prototype.ShowShimIfSupported=function(b,a){ShowShim(b,a)};Msn.MVC.View3D.prototype.UpdateShimIfSupported=function(b,a){UpdateIFrameShim(b,a)};_VERegisterNamespaces("Msn.MVC");Msn.MVC.ViewFacade=function(){this._mvcFlatlandView=null;this._mvcView3D=null;this._curMvcView=null};Msn.MVC.ViewFacade.prototype.OnSwitchToFlatlandView=function(){if(this._mvcFlatlandView==null){this._mvcFlatlandView=new Msn.MVC.FlatlandView
}if(this._curMvcView==this._mvcFlatlandView){return}if(this._curMvcView!=null){this._curMvcView.OnBeforeSwitchAway()}this._curMvcView=this._mvcFlatlandView;if(window.__drawingLoaded){this._curMvcView.OnAllCollectionLayersRepaint()}};Msn.MVC.ViewFacade.prototype.OnSwitchToView3D=function(a){if(this._mvcView3D==null){this._mvcView3D=new Msn.MVC.View3D}this._mvcView3D._SetView3DControl(a);if(this._curMvcView==this._mvcView3D){return}if(this._curMvcView!=null){this._curMvcView.OnBeforeSwitchAway()}this._curMvcView=this._mvcView3D;if(window.__drawingLoaded){this._curMvcView.OnAllCollectionLayersRepaint()}};Msn.MVC.ViewFacade.prototype.ShowShimIfSupported=function(b,a){if(this._curMvcView==null){return}return this._curMvcView.ShowShimIfSupported(b,a)};Msn.MVC.ViewFacade.prototype.UpdateShimIfSupported=function(b,a){if(this._curMvcView==null){return}return this._curMvcView.UpdateShimIfSupported(b,a)};var mvcViewFacade=new Msn.MVC.ViewFacade,windowWidth=0,windowHeight=0,scrollbarWidth=null;function $ID(a){var b=document;return b.getElementById(a)}function $CE(a){var b=document;return b.createElement(a)}function $CENS(a){var b=document;return b.createElementNS(a)}function GetWindowWidth(){var a=0;if(typeof window.innerWidth=="number"){a=window.innerWidth}else{if(document.documentElement&&document.documentElement.clientWidth){a=document.documentElement.clientWidth}else{if(document.body&&document.body.clientWidth){a=document.body.clientWidth}}}if(!a||a<100){a=100}return a}function GetWindowHeight(){var a=0;if(typeof window.innerHeight=="number"){a=window.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){a=document.documentElement.clientHeight}else{if(document.body&&document.body.clientHeight){a=document.body.clientHeight}}}if(!a||a<100){a=100}return a}function GetScrollbarWidth(){if(scrollbarWidth){return scrollbarWidth}if(navigator.userAgent.indexOf("IE")>=0){var a=document.createElement("div"),b=null;a.style.visible="hidden";a.style.overflowY="scroll";a.style.position="absolute";a.style.width=0;
document.body.insertAdjacentElement("afterBegin",a);b=a.offsetWidth;a.parentNode.removeChild(a);if(!b){b=16}scrollbarWidth=b;return b}else{return 0}}function GetUrlPrefix(){var a=window.location.pathname.lastIndexOf("/"),b=window.location.protocol+"//"+window.location.hostname+window.location.pathname.substring(0,a+1);return b}function GetUrlParameterString(){var a=window.location.search;if(a.length==0||a.indexOf("?")==-1){return""}return a.substr(a.indexOf("?")+1)}function CheckWipExistence(){var a=GetUrlParameterString();if(a!=""&&a.indexOf("wip=")>-1){return true}return false}function GetUrlParameters(){var b=[],d=GetUrlParameterString();if(!d){return b}var e=d.split("&");for(var c=0;c<e.length;c++){var a=e[c].split("=");if(a.length==2&&a[0]&&a[1]){b.push(unescape(a[0]));b.push(unescape(a[1]))}}return b}function ParseShiftKeyForLinks(a){if(a.shiftKey){return false}return true}function GetEvent(a){return a?a:window.event}function CancelEvent(a){a.cancelBubble=true;a.returnValue=false}function IgnoreEvent(a){a=GetEvent(a);CancelEvent(a);return false}function GetMouseScrollDelta(a){if(a.wheelDelta){return a.wheelDelta}else{if(a.detail){return -a.detail}}return 0}function IsLeftMouseButton(a){var b=Msn.VE.Environment.BrowserInfo;if(b.Type==Msn.VE.BrowserType.MSIE){return a.button==1||a.button==3||a.type=="click"}else{if(b.Type==Msn.VE.BrowserType.Firefox){return a.which==1}else{return false}}}function IsRightMouseButton(a){var b=Msn.VE.Environment.BrowserInfo;if(b.Type==Msn.VE.BrowserType.MSIE){return a.button==2||a.button==3||a.type=="contextmenu"}else{if(b.Type==Msn.VE.BrowserType.Firefox){return a.which==3}else{return false}}}function IsMiddleMouseButton(b){var a=Msn.VE.Environment.BrowserInfo;if(a.Type==Msn.VE.BrowserType.MSIE){return b.button==4}else{if(a.Type==Msn.VE.BrowserType.Firefox){return b.which==2}else{return false}}}_VERegisterNamespaces("Msn.VE");Msn.VE.DistanceUnit={Kilometers:"km",Miles:"mi"};Msn.VE.DistanceUnit.IsValidType=function(a){if(typeof a=="string"){if(a==Msn.VE.DistanceUnit.Miles||a==Msn.VE.DistanceUnit.Kilometers){return true
}}return false};function VEException(b,c,a){this.source=b;this.name=c;this.message=a}VEException.prototype.Name=this.name;VEException.prototype.Source=this.source;VEException.prototype.Message=this.message;function MathFloor(a){return Math.floor(a)}function MathCeil(a){return Math.ceil(a)}function MathMax(a,b){return Math.max(a,b)}function MathMin(a,b){return Math.min(a,b)}function MathAbs(a){return Math.abs(a)}function MathRound(a){return Math.round(a)}function DegToRad(a){return a*Math.PI/180}function RadToDeg(a){return a*180/Math.PI}function MatrixMultiply(e,b){if(!e||!b||e[0].length!=b.length){return}var g=e.length,h=b[0].length,d=new Array(g),i=b.length;for(var a=0;a<g;a++){d[a]=new Array(h);for(var c=0;c<h;c++){d[a][c]=0;for(var f=0;f<i;f++){d[a][c]+=e[a][f]*b[f][c]}}}return d}function VEParameter(b,a){this.Name=b;this.Value=a}VEParameter.prototype.Name=this.name;VEParameter.prototype.Value=this.value;function VENetwork(c,a,b){if(c!=null&&c!="undefined"){this.ServiceUrl=c}this.UseCloseDep=false;if(a!=null&&a!="undefined"){Msn.VE.API.Globals.veonbegininvokeevent=a}if(b!=null&&b!="undefined"){Msn.VE.API.Globals.veonendinvokeevent=b}}function BeginInvoke(f,d,h,g,j){if(this.ServiceUrl==null||this.ServiceUrl=="undefined"||this.ServiceUrl.length==0){throw new VEException("VENetwork:BeginInvoke","err_noserviceurl",L_noserviceurl_text)}if(Msn.VE.API&&Msn.VE.API.Globals.veonbegininvokeevent){Msn.VE.API.Globals.veonbegininvokeevent()}var c=j;if(!c){c=VENetwork.GetExecutionID()}if(d){var b=this.ServiceUrl+"?";for(var e=0;e<d.length;e++){b=b+d[e].Name;b=b+"=";b=b+d[e].Value;b=b+"&"}}else{var b=this.ServiceUrl}var a=document.createElement("script");a.type="text/javascript";a.language="javascript";a.id=c;a.src=b;if(this.UseCloseDep==true){var i=openDependency("BEGIN_INVOKE::"+c,function(){EndInvoke(g,h,f,a,c)},c);if(i){VENetwork.GetAttachTarget().appendChild(a)}}else{if(navigator.userAgent.indexOf("IE")>=0){a.onreadystatechange=function(){if(a&&("loaded"==a.readyState||"complete"==a.readyState)){a.onreadystatechange=null;
EndInvoke(g,h,f,a,c)}}}else{a.onload=function(){a.onload=null;EndInvoke(g,h,f,a,c)}}VENetwork.GetAttachTarget().appendChild(a)}}function EndInvoke(endInvokeTarget,fnCallback,endInvokeMethod,elScript,executionId){var objects=null;if(endInvokeMethod){eval("if(typeof "+endInvokeMethod+" == 'function') {objects = "+endInvokeMethod+"();}")}setTimeout(function(){if(elScript.parentNode){elScript.parentNode.removeChild(elScript)}elScript=null},100);if(fnCallback!=null&&fnCallback!="undefined"){fnCallback(objects,endInvokeTarget)}if(Msn.VE.API&&Msn.VE.API.Globals.veonendinvokeevent){Msn.VE.API.Globals.veonendinvokeevent()}}VENetwork.GetExecutionID=function(){var a=new Date,b=Date.UTC(a.getFullYear(),a.getMonth(),a.getDate(),a.getHours(),a.getMinutes(),a.getSeconds(),a.getMilliseconds());b+=Math.round(Math.random()*1000000);return b};function GetXmlHttp(){var a=null;if(window.XMLHttpRequest){a=new XMLHttpRequest}else{if(window.ActiveXObject){try{a=new ActiveXObject("Msxml2.XmlHttp.6.0")}catch(b){try{a=new ActiveXObject("Msxml2.XmlHttp.3.0")}catch(c){try{a=new ActiveXObject("Msxml2.XMLHTTP")}catch(d){try{a=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}}}}else{throw"XMLHTTP Required: Browser not supported"}}return a}VENetwork.AttachStyleSheetCallback=function(a){if(a){a()}};VENetwork.AttachStyleSheet=function(a,b,d,c){if(a==null||a=="undefined"||a.length==0){throw new VEException("VENetwork:AttachStylesheet","err_nostylesurl","")}elStyle=document.createElement("link");if(d==true){elStyle.rel="alternate stylesheet"}else{elStyle.rel="stylesheet"}if(c){elStyle.media=c}elStyle.type="text/css";elStyle.rev="stylesheet";elStyle.id=VENetwork.GetExecutionID();elStyle.href=a;VENetwork.GetAttachTarget().appendChild(elStyle);if(navigator.userAgent.indexOf("IE")>=0){elStyle.onreadystatechange=function(){if(elStyle&&("loaded"==elStyle.readyState||"complete"==elStyle.readyState)){elStyle.onreadystatechange=null;VENetwork.AttachStyleSheetCallback(b)}}}else{VENetwork.AttachStyleSheetCallback(b)}return};VENetwork.DownloadScriptCallback=function(a,b){if(a){a(b)
}};VENetwork.DownloadScript=function(b,c,d){if(b==null||b=="undefined"||b.length==0){throw new VEException("VENetwork:DownloadScript","err_noscripturl",L_noscripturl_text)}var a=document.createElement("script");a.type="text/javascript";a.language="javascript";a.id=VENetwork.GetExecutionID();a.src=b;if(navigator.userAgent.indexOf("IE")>=0){a.onreadystatechange=function(){if(a&&("loaded"==a.readyState||"complete"==a.readyState)){a.onreadystatechange=null;VENetwork.DownloadScriptCallback(c,d)}}}else{a.onload=function(){a.onload=null;VENetwork.DownloadScriptCallback(c,d)}}VENetwork.GetAttachTarget().appendChild(a);return a.id};VENetwork.DownloadXml=function(e,c,b,d){var a=GetXmlHttp();a.open(c,e,true);a.onreadystatechange=function(){if(a.readyState==4){if(b){b(a.responseXML,d)}a=null}};a.send(null)};VENetwork.GetAttachTarget=function(){if(document.getElementsByTagName("head")[0]!=null){return document.getElementsByTagName("head")[0]}else{throw new VEException("VENetwork:cstr","err_noheadelement",L_noheadelement_text)}};VENetwork.prototype.BeginInvoke=BeginInvoke;VENetwork.prototype.EndInvoke=EndInvoke;function JSONConstant(){}JSONConstant.culture="culture";JSONConstant.format="format";JSONConstant.json="json";JSONConstant.requestid="rid";function JSONRequestInvoke(f,a,e){var c=new VENetwork,b=VENetwork.GetExecutionID();c.UseCloseDep=true;c.ServiceUrl=f;if(!a){a=[]}var d=Msn.VE.API?Msn.VE.API.Globals.locale:window.serviceLocale;a.push(new VEParameter(JSONConstant.culture,'"'+d+'"'));a.push(new VEParameter(JSONConstant.format,JSONConstant.json));a.push(new VEParameter(JSONConstant.requestid,b));c.BeginInvoke("_f"+b,a,e,null,b)}_VERegisterNamespaces("Msn.Drawing");var MC_PointID=10000,MC_PolylineID=30000,MC_PolygonID=50000,MC_SYMBOL_IID=70000,MC_TEXT_IID=90000,MC_ENTITY_IID=200000,MC_COL_IID=1000,MC_GEO_TYPE_SYMBOL="Symbol",MC_GEO_TYPE_POINT="Point",MC_GEO_TYPE_POLYLINE="Polyline",MC_GEO_TYPE_POLYGON="Polygon",MC_GEO_TYPE_TEXT="Text",MC_GEO_TYPE_COL="Collection",MC_GEO_TYPE_ENTITY="Entity",VEShapeType={Pushpin:"Point",Polyline:"Polyline",Polygon:"Polygon"},VEMapserviceType={None:"None",MapCruncher:"MapCruncher",KML:"KML",WMS:"WMS"},VEMapserviceTypeList=[VEMapserviceType.None,VEMapserviceType.MapCruncher,VEMapserviceType.KML,VEMapserviceType.WMS];
VEMapserviceTypeIndex=function(c){var b=-1;if(VEMapserviceTypeList!=null){for(var a=0;a<VEMapserviceTypeList.length;a++){if(c==VEMapserviceTypeList[a]){b=a;break}}}return b};IsValidMapserviceType=function(a){return a!=null&&typeof a!="undefined"&&a!=""&&VEMapserviceTypeIndex(a)!=-1};IsValidMapserviceSource=function(a){return a!=null&&typeof a!="undefined"&&a!=""};IsValidMapserviceMetadata=function(a){return a!=null&&typeof a!="undefined"&&a!=""};IsValidMapserviceOpacity=function(a){return a!=null&&typeof a!="undefined"&&a>=0&&a<=1};Msn.Drawing.GetGeoUID=function(b){var a="";switch(b){case VEShapeType.Polygon:a=MC_PolygonID++;break;case VEShapeType.Pushpin:a=MC_PointID++;break;case VEShapeType.Polyline:a=MC_PolylineID++;break;case MC_GEO_TYPE_SYMBOL:a=MC_SYMBOL_IID++;break;case MC_GEO_TYPE_TEXT:a=MC_TEXT_IID++;break;case MC_GEO_TYPE_COL:a=MC_COL_IID++;break;case MC_GEO_TYPE_ENTITY:a=MC_ENTITY_IID++}return a.toString()};Msn.Drawing.Exception=function(a){this.message=a;this.name="Msn.Drawing.Exception"};Msn.Drawing.Exception.prototype.toString=function(){return this.name+": "+this.message};Msn.Drawing.Point=function(a,b){this.id=0;this.points=[];this.points.push(a);this.points.push(b);this.iid=Msn.Drawing.GetGeoUID(VEShapeType.Pushpin)};Msn.Drawing.Point.prototype.altitudes=null;Msn.Drawing.Point.prototype.altitudeMode="Ground";Msn.Drawing.Point.prototype.type=VEShapeType.Pushpin;Msn.Drawing.Point.prototype.name=null;Msn.Drawing.Point.prototype.symbol=null;Msn.Drawing.Point.prototype.isLabel=true;Msn.Drawing.Point.prototype.isOnLegend=false;Msn.Drawing.Point.prototype.Destroy=function(){this.symbol=null;this.points=null;this.altitudes=null;this.altitudeMode=null};Msn.Drawing.Point.prototype.toString=function(){return this.points[0]+","+this.points[1]};Msn.Drawing.PolyLine=function(a){this.id=0;this.iid=Msn.Drawing.GetGeoUID(VEShapeType.Polyline);this.points=a?a:[];this.minX=null;this.minY=null;this.maxX=null;this.maxY=null;this.length=-1};Msn.Drawing.PolyLine.prototype.toString=function(){if(this.points!=null){return this.points.join(" ")
}else{return""}};Msn.Drawing.PolyLine.prototype.altitudes=null;Msn.Drawing.PolyLine.prototype.altitudeMode="Ground";Msn.Drawing.PolyLine.prototype.extruded=false;Msn.Drawing.PolyLine.prototype.minZ=null;Msn.Drawing.PolyLine.prototype.maxZ=null;Msn.Drawing.PolyLine.prototype.minX=null;Msn.Drawing.PolyLine.prototype.minY=null;Msn.Drawing.PolyLine.prototype.maxX=null;Msn.Drawing.PolyLine.prototype.maxY=null;Msn.Drawing.PolyLine.prototype.iid=Msn.Drawing.GetGeoUID(VEShapeType.Polyline);Msn.Drawing.PolyLine.prototype.labelPosX=null;Msn.Drawing.PolyLine.prototype.labelPosY=null;Msn.Drawing.PolyLine.prototype.labelPosZ=null;Msn.Drawing.PolyLine.prototype.name=null;Msn.Drawing.PolyLine.prototype.type=VEShapeType.Polyline;Msn.Drawing.PolyLine.prototype.symbol=null;Msn.Drawing.PolyLine.prototype.isLabel=true;Msn.Drawing.PolyLine.prototype.isOnLegend=false;Msn.Drawing.PolyLine.prototype.Destroy=function(){this.symbol=null;this.points=null;this.altitudes=null;this.altitudeMode=null;this.extruded=null;this.minX=null;this.minY=null;this.maxX=null;this.maxY=null;this.minZ=null;this.maxZ=null};Msn.Drawing.PolyLine.prototype.GetLength=function(){if(this.length<0){this.length=CalculateShapeLengthP(this.points)}return this.length};Msn.Drawing.PolyLine.prototype.SetLength=function(a){this.length=a};Msn.Drawing.Polygon=function(a){this.id=0;this.iid=Msn.Drawing.GetGeoUID(VEShapeType.Polygon);this.points=a;this.length=-1;this.area=-1;this.minX=null;this.minY=null;this.maxX=null;this.maxY=null};Msn.Drawing.Polygon.prototype.altitudes=null;Msn.Drawing.Polygon.prototype.altitudeMode="Ground";Msn.Drawing.Polygon.prototype.extruded=false;Msn.Drawing.Polygon.prototype.minZ=null;Msn.Drawing.Polygon.prototype.maxZ=null;Msn.Drawing.Polygon.prototype.labelPosX=null;Msn.Drawing.Polygon.prototype.labelPosY=null;Msn.Drawing.Polygon.prototype.labelPosZ=null;Msn.Drawing.Polygon.prototype.symbol=null;Msn.Drawing.Polygon.prototype.isLabel=true;Msn.Drawing.Polygon.prototype.isOnLegend=false;Msn.Drawing.Polygon.prototype.type=VEShapeType.Polygon;Msn.Drawing.Polygon.prototype.name=null;
Msn.Drawing.Polygon.prototype.Destroy=function(){this.symbol=null;this.points=null;this.altitudes=null;this.altitudeMode=null;this.extruded=null;this.minX=null;this.minY=null;this.maxX=null;this.maxY=null;this.minZ=null;this.maxZ=null};Msn.Drawing.Polygon.prototype.GetLength=function(){if(this.length<0){this.length=CalculateShapeLength(this)}return this.length};Msn.Drawing.Polygon.prototype.SetLength=function(a){this.length=a};Msn.Drawing.Polygon.prototype.GetArea=function(){if(this.area<0){this.area=CalculateAreaP(this.points)}if(this.area<0){this.area=CalculateAreaP(this.points,false)}return this.area};Msn.Drawing.Polygon.prototype.SetArea=function(a){this.area=a};Msn.Drawing.Stroke=function(){this.width=1;this.linecap="round";this.opacity=1;this.linejoin="miter";this.color=new Msn.Drawing.Color(255,255,255,1);this.fillcolor=new Msn.Drawing.Color(0,255,0,1)};Msn.Drawing.Color=function(d,c,b,a){this.R=d?d:0;this.G=c?c:0;this.B=b?b:0;this.A=a?a:0;this.ToHexString=function(){return VEColorToHexString(this.R,this.G,this.B)}};VEShapeStyle=function(){this.iid=Msn.Drawing.GetGeoUID(MC_GEO_TYPE_SYMBOL);this.id=this.iid};VEShapeStyle.prototype.point_type="v:rect";VEShapeStyle.prototype.name="symbol";VEShapeStyle.prototype.highlight_stroke_color="#336666";VEShapeStyle.prototype.highlight_fill_color="#FFCC33";VEShapeStyle.prototype.shape_drawtype="v:shape";VEShapeStyle.prototype.shape_fill="false";VEShapeStyle.prototype.shape_filled="false";VEShapeStyle.prototype.shape_unselectable="off";VEShapeStyle.prototype.style_zIndex=60;VEShapeStyle.prototype.style_zIndex_polyshape=50;VEShapeStyle.prototype.style_position="absolute";VEShapeStyle.prototype.style_filter="alpha(opacity=30)";VEShapeStyle.prototype.style_width="10";VEShapeStyle.prototype.style_height="10";VEShapeStyle.prototype.style_visibility="visible";VEShapeStyle.prototype.style_display="block";VEShapeStyle.prototype.stroke_drawtype="v:stroke";VEShapeStyle.prototype.stroke_on="true";VEShapeStyle.prototype.stroke_joinstyle="miter";VEShapeStyle.prototype.stroke_endcap="round";
VEShapeStyle.prototype.stroke_opacity="1";VEShapeStyle.prototype.stroke_color="#0000FF";VEShapeStyle.prototype.stroke_weight="2pt";VEShapeStyle.prototype.stroke_style="Single";VEShapeStyle.prototype.stroke_filltype="solid";VEShapeStyle.prototype.stroke_color2="#FF0000";VEShapeStyle.prototype.stroke_dashstyle="Solid";VEShapeStyle.prototype.stroke_startarrow="none";VEShapeStyle.prototype.stroke_startarrowwidth="medium";VEShapeStyle.prototype.stroke_startarrowlength="medium";VEShapeStyle.prototype.stroke_endarrow="none";VEShapeStyle.prototype.stroke_endarrowwidth="medium";VEShapeStyle.prototype.stroke_endarrowlength="medium";VEShapeStyle.prototype.fill_drawtype="v:fill";VEShapeStyle.prototype.fill_color="#008000";VEShapeStyle.prototype.fill_colors="30% yellow";VEShapeStyle.prototype.fill_color2="#0000FF";VEShapeStyle.prototype.fill_type="solid";VEShapeStyle.prototype.fill_opacity="0.3";VEShapeStyle.prototype.fill_on="false";VEShapeStyle.prototype.textbox_drawtype="v:textbox";VEShapeStyle.prototype.textbox_text="name";VEShapeStyle.prototype.textbox_color="#FFFFFF";VEShapeStyle.prototype.textbox_bold=false;VEShapeStyle.prototype.textbox_italic=false;VEShapeStyle.prototype.textbox_underscore=false;VEShapeStyle.prototype.textbox_font="Arial";VEShapeStyle.prototype.textbox_size=7;VEShapeStyle.prototype.imagedata_on=false;VEShapeStyle.prototype.imagedata_src=null;VEShapeStyle.prototype.isOn=false;VEShapeStyle.prototype.textbox_OffsetX=0;VEShapeStyle.prototype.textbox_OffsetY=0;VEShapeStyle.prototype.textbox_backcolor="#0000FF";VEShapeStyle.textbox_color_opacity="1";VEShapeStyle.textbox_backcolor_opacity="1";VEShapeStyle.prototype.img_offsetX=0;VEShapeStyle.prototype.img_offsetY=0;VEShapeStyle.prototype.img_width=22;VEShapeStyle.prototype.img_height=22;VEShapeStyle.prototype.Clone=function(){var a=new VEShapeStyle;a.point_type=this.point_type;a.name=this.name;a.line_color=this.line_color;a.line_width=this.line_width;a.line_dasharray=this.line_dasharray;a.highlight_stroke_color=this.highlight_stroke_color;a.highlight_fill_color=this.highlight_fill_color;
a.shape_drawtype=this.shape_drawtype;a.shape_fill=this.shape_fill;a.shape_filled=this.shape_filled;a.shape_unselectable=this.shape_unselectable;a.style_zIndex=this.style_zIndex;a.style_zIndex_polyshape=this.style_zIndex_polyshape;a.style_position=this.style_position;a.style_filter=this.style_filter;a.style_width=this.style_width;a.style_height=this.style_height;a.style_visibility=this.style_visibility;a.style_display=this.style_display;a.stroke_drawtype=this.stroke_drawtype;a.stroke_on=this.stroke_on;a.stroke_joinstyle=this.stroke_joinstyle;a.stroke_endcap=this.stroke_endcap;a.stroke_opacity=this.stroke_opacity;a.stroke_color=this.stroke_color;a.stroke_weight=this.stroke_weight;a.stroke_style=this.stroke_style;a.stroke_filltype=this.stroke_filltype;a.stroke_color2=this.stroke_color2;a.stroke_dashstyle=this.stroke_dashstyle;a.stroke_startarrow=this.stroke_startarrow;a.stroke_startarrowwidth=this.stroke_startarrowwidth;a.stroke_startarrowlength=this.stroke_startarrowlength;a.stroke_endarrow=this.stroke_endarrow;a.stroke_endarrowwidth=this.stroke_endarrowwidth;a.stroke_endarrowlength=this.stroke_endarrowlength;a.fill_drawtype=this.fill_drawtype;a.fill_color=this.fill_color;a.fill_colors=this.fill_colors;a.fill_color2=this.fill_color2;a.fill_type=this.fill_type;a.fill_opacity=this.fill_opacity;a.fill_on=this.fill_on;a.textbox_drawtype=this.textbox_drawtype;a.textbox_text=this.textbox_text;a.textbox_color=this.textbox_color;a.textbox_bold=this.textbox_bold;a.textbox_italic=this.textbox_italic;a.textbox_underscore=this.textbox_underscore;a.textbox_backcolor=this.textbox_backcolor;a.imagedata_on=this.imagedata_on;a.imagedata_src=this.imagedata_src;a.isOn=this.isOn;a.textbox_OffsetX=this.textbox_OffsetX;a.textbox_OffsetY=this.textbox_OffsetY;a.img_offsetX=this.img_offsetX;a.img_offsetY=this.img_offsetY;a.img_width=this.img_width;a.img_height=this.img_height;return a};function VE_MapLineClip(){var b=-360,c=360,d=-180,e=180,a={LEFT:1,RIGHT:2,BOTTOM:4,TOP:8};function h(i,s,u,t,v){b=s;c=t;d=u;e=v;if(typeof i=="undefined"||i==null||i.length<4){return null
}var m=false,o=i.length;if(i[o-2]==i[0]&&i[o-1]==i[1]){m=true}var f=[];for(var l=0;l<i.length;l++){f.push(i[l])}var k=a.LEFT;while(k<=8){var q=f[f.length-2],r=f[f.length-1];f.push(q);f.push(r);var h=[],p=f.length;for(var j=0;j<p-2;j=j+2){g(h,k,f[j],f[j+1],f[j+2],f[j+3])}if(m){var n=h.length;if(h[n-2]!=h[0]||h[n-1]!=h[1]){h.push(h[0]);h.push(h[1])}}f=null;k=k*2;f=h}return f}function g(g,j,h,i,k,l){var n=f(h,i),o=f(k,l);if((j&n)==0&&(j&o)==0){g.push(h);g.push(i)}else{if((j&n)==0||(j&o)==0){var m=(j&n)==0?true:false;if(j==a.LEFT){var q=i+(l-i)*(b-h)/(k-h);if(m){g.push(h);g.push(i)}g.push(b);g.push(q)}else{if(j==a.RIGHT){var q=i+(l-i)*(c-h)/(k-h);if(m){g.push(h);g.push(i)}g.push(c);g.push(q)}else{if(j==a.TOP){var p=h+(k-h)*(e-i)/(l-i);if(m){g.push(h);g.push(i)}g.push(p);g.push(e)}else{if(j==a.BOTTOM){var p=h+(k-h)*(d-i)/(l-i);if(m){g.push(h);g.push(i)}g.push(p);g.push(d)}}}}}}}function f(g,h){var f=0;if(g<b){f=f|a.LEFT}else{if(g>c){f=f|a.RIGHT}}if(h<d){f=f|a.BOTTOM}else{if(h>e){f=f|a.TOP}}return f}this.Clip=h}VE_LineClip=new VE_MapLineClip;var L_GraphicsInitError_Text="Your Web browser does not support SVG or VML. Some graphics features may not function properly.";_VERegisterNamespaces("Msn.Drawing");Msn.Drawing.Graphic=function(){};Msn.Drawing.Graphic.CreateGraphic=function(b,a){if(Msn.VE.Environment.BrowserInfo.BrowserCaps&Msn.VE.BrowserCaps.VML){return new Msn.Drawing.VMLGraphic(b,a)}else{if(Gimme.Browser.isOpera||Msn.VE.Environment.BrowserInfo.BrowserCaps&Msn.VE.BrowserCaps.SVG){return new Msn.Drawing.SVGGraphic(b,a)}throw new Msn.Drawing.Exception(L_GraphicsInitError_Text)}};Msn.Drawing.BaseGraphic=function(){this._stroke=new Msn.Drawing.Stroke};Msn.Drawing.BaseGraphic.prototype.CreatePrimitive=function(){};Msn.Drawing.BaseGraphic.prototype.DrawPrimitive=function(d,c,a){var b=new VEShapeStyle;if(a._stroke){b.stroke_weight=a._stroke.width;b.stroke_joinstyle=a._stroke.linejoin;b.stroke_color=a._stroke.color.ToHexString();b.stroke_dashstyle=a._stroke.linecap;b.stroke_opacity=a._stroke.color.A.toString();b.fill_color=a._stroke.fillcolor.ToHexString();
b.fill_opacity=a._stroke.fillcolor.A.toString()}c.symbol=b;var e=a.CreatePrimitive(d,c,"");return e};Msn.Drawing.BaseGraphic.prototype.SetStroke=function(a){this._stroke=a};Msn.Drawing.VMLGraphic=function(c,d){Msn.Drawing.BaseGraphic.call();var g=new Msn.Drawing.Color(255,0,0,1),f=new Msn.Drawing.Color(255,0,0,1),e=1,a=c;c.unselectable="on";var b=[];this.DrawPrimitive=function(f,e){var c=Msn.Drawing.VMLGraphic.prototype.DrawPrimitive(d,f,this);if(a&&c){if(e){a.appendChild(wrapVmlElementInDiv(c))}else{a.appendChild(c)}b.push(c)}};this.resetOffset=function(){};this.SetZIndex=function(a){e=a};this.Clear=function(){var a=null,c=null;while(a=b.pop()){c=a.parentElement;if(c){c.removeChild(a)}a=null}};this.Destroy=function(){this.Clear();a=null}};Msn.Drawing.VMLGraphic.prototype=new Msn.Drawing.BaseGraphic;Msn.Drawing.VMLGraphic.prototype.CreatePrimitive=function(e,a){var b=null;if(a.type==VEShapeType.Pushpin){if(a.symbol.shape_drawtype=="v:oval"||a.symbol.shape_drawtype=="v:rect"||a.symbol.shape_drawtype=="v:roundrect"){b=document.createElement(a.symbol.shape_drawtype)}else{b=document.createElement("v:roundrect")}b.className="vml";var f=LatLongtoRoundedPixel(e,a.points[1],a.points[0]);b.style.width=a.symbol.style_width;b.style.height=a.symbol.style_height;b.style.left=-5+f.x+e.GetOffsetX()+"px";b.style.top=-5+f.y+e.GetOffsetY()+"px";b.style.position=a.symbol.style_position}else{b=document.createElement("v:shape");b.className="MSVE_Shape vml";var g=null;g=GetVmlPath(e,a);var h=e.GetMapWidth(),i=e.GetMapHeight();b.style.top="0px";b.style.left="0px";b.style.width=h+"px";b.style.height=i+"px";b.coordsize=h+" "+i;b.style.position=a.symbol.style_position;b.path=g}b.id=a.id!=0?a.id:a.iid;b.style.zIndex=a.symbol.style_zIndex_polyshape;b.unselectable=a.symbol.shape_unselectable;var c=document.createElement("v:stroke");c.className="vml";c.joinstyle=a.symbol.stroke_joinstyle;c.endcap=a.symbol.stroke_endcap;c.opacity=a.symbol.stroke_opacity;c.dashstyle=a.symbol.stroke_dashstyle;c.filltype=a.symbol.stroke_filltype;c.color2=a.symbol.stroke_color2;
c.color=a.symbol.stroke_color;c.weight=a.symbol.stroke_weight;c.linestyle=a.symbol.stroke_style;if(a.type==VEShapeType.Polygon){var d=document.createElement("v:fill");d.className="vml";d.color=a.symbol.fill_color;d.colors=a.symbol.fill_colors;d.color2=a.symbol.fill_color2;d.type=a.symbol.fill_type;d.opacity=a.symbol.fill_opacity;b.appendChild(d)}else{if(a.type==VEShapeType.Polyline){b.filled=false}else{if(a.type==VEShapeType.Pushpin){b.style.filter=a.symbol.style_filter;b.style.zIndex=a.symbol.style_zIndex;b.style.display=a.symbol.style_display;b.unselectable=a.symbol.shape_unselectable;b.fill=true;b.filled=true;b.fillcolor=a.symbol.fill_color}}}b.appendChild(c);return b};Msn.Drawing.VMLGraphic.prototype.UpdatePoints=function(d,a,b,c){if(c&&(a.type==VEShapeType.Polyline||a.type==VEShapeType.Polygon)){var e=GetVmlPath(d,a);b.path=e}return b};Msn.Drawing.VMLGraphic.prototype.UpdateStyle=function(f,a,e){e.style.zIndex=a.symbol.style_zIndex_polyshape;e.unselectable=a.symbol.shape_unselectable;var c=e.firstChild,b=null,d=null;while(c!=null){if(c.tagName=="stroke"){b=c}else{if(c.tagName=="fill"){d=c}}c=c.nextSibling}if(b){b.joinstyle=a.symbol.stroke_joinstyle;b.endcap=a.symbol.stroke_endcap;b.opacity=a.symbol.stroke_opacity;b.dashstyle=a.symbol.stroke_dashstyle;b.filltype=a.symbol.stroke_filltype;b.color2=a.symbol.stroke_color2;b.color=a.symbol.stroke_color;b.weight=a.symbol.stroke_weight;b.linestyle=a.symbol.stroke_style}if(a.type==VEShapeType.Polygon&&d){d.color=a.symbol.fill_color;d.color2=a.symbol.fill_color2;d.type=a.symbol.fill_type;d.opacity=a.symbol.fill_opacity}return e};Msn.Drawing.VMLGraphic.prototype._printable=false;Msn.Drawing.VMLGraphic.prototype._printTilesLayer=null;Msn.Drawing.VMLGraphic.prototype._printTopLayer=null;Msn.Drawing.VMLGraphic.prototype.CreatePrintLayer=function(a,d,c,b){if(!this._printable){this._printTilesLayer=document.createElement("div");this._printTilesLayer.className="MSVE_Print_TileLayer";this._printTilesLayer.innerHTML="<xml:namespace ns='urn:schemas-microsoft-com:vml' prefix='v'/>";
a.appendChild(this._printTilesLayer);this._printTopLayer=document.createElement("div");this._printTopLayer.className="MSVE_Print_TopLayer";this._printTopLayer.innerHTML="<xml:namespace ns='urn:schemas-microsoft-com:vml' prefix='v'/>";this._printTopLayer.style.width=c;this._printTopLayer.style.height=b;this._printTopLayer.zIndex=100;a.parentNode.appendChild(this._printTopLayer);this._printable=true}};Msn.Drawing.VMLGraphic.prototype.RemovePrintLayer=function(){if(this._printable){this._printable=false;this._printTilesLayer.parentNode.removeChild(this._printTilesLayer);this._printTopLayer.parentNode.removeChild(this._printTopLayer);this._printTilesLayer=null;this._printTopLayer=null}};Msn.Drawing.VMLGraphic.prototype.AddPrintTile=function(f,g,e,d,b,h,c){var a=null;if(this._printable){a=document.createElement("div");a.style.position="absolute";a.style.top=g;a.style.left=e;a.style.width=d+1;a.style.height=b+1;a.style.zIndex=c;a.innerHTML="<v:image src='"+f+"' style='width:100%;height:100%;left:0px;top:0px;behavior:url(#default#VML);display:inline-block;'></v:image>";this._printTilesLayer.appendChild(a)}return a};Msn.Drawing.VMLGraphic.prototype.RemovePrintTile=function(a){if(a.parentNode){a.parentNode.removeChild(a)}};Msn.Drawing.VMLGraphic.prototype.AddLogo=function(b){if(this._printable){var a=document.createElement("v:image");a.src=b;a.className="MSVE_PoweredByLogo_print vml";this._printTopLayer.appendChild(a)}};Msn.Drawing.SVGGraphic=function(c,b){Msn.Drawing.BaseGraphic.call();var g=new Msn.Drawing.Color(255,0,0,1),f=new Msn.Drawing.Color(0,255,0,1);_curmap=b;this._svgLayer=null;var d=60,e=c,a=[];this.DrawPrimitive=function(d){var c=Msn.Drawing.SVGGraphic.prototype.DrawPrimitive(b,d,this);if(c){a.push(c)}};this.resetOffset=function(){_curmap.resetSvgLayer()};this.SetZIndex=function(a){d=a;if(this._svgLayer!=null){this._svgLayer.SetZIndex(a)}};this.Destroy=function(){this.Clear()};this.Clear=function(){if(this._svgLayer==null){return}var b=null,c=null;while(b=a.pop()){c=b.parentNode;if(c){c.removeChild(b)}b=null}}
};Msn.Drawing.SVGGraphic.prototype=new Msn.Drawing.BaseGraphic;Msn.Drawing.SVGGraphic.prototype.CreatePrimitive=function(a,b,c){this._svgLayer=a.getSvgLayer();return this._svgLayer.addShape(b,c)};Msn.Drawing.SVGGraphic.prototype.UpdatePoints=function(a,b,c){this._svgLayer=a.getSvgLayer();return this._svgLayer.UpdatePoints(b,c)};Msn.Drawing.SVGGraphic.prototype.UpdateStyle=function(a,b,c){this._svgLayer=a.getSvgLayer();return this._svgLayer.UpdateStyle(b,c)};Msn.Drawing.SVGGraphic.prototype._printable=false;Msn.Drawing.SVGGraphic.prototype._printTilesLayer=null;Msn.Drawing.SVGGraphic.prototype._printTopLayer=null;Msn.Drawing.SVGGraphic.prototype._printLogo=null;Msn.Drawing.SVGGraphic.prototype._offsetX=null;Msn.Drawing.SVGGraphic.prototype._offsetY=null;Msn.Drawing.SVGGraphic.prototype.CreatePrintLayer=function(d,a,c,b){if(!this._printable){this._svgLayer=a.getSvgLayer();this._printTopLayer=this._svgLayer.CreatePrintLayer("MSVE_Print_TopLayer");this._printTopLayer.setAttributeNS(null,"width",parseInt(c));this._printTopLayer.setAttributeNS(null,"height",parseInt(b));this._printTilesLayer=this._svgLayer.CreatePrintLayer("MSVE_Print_TileLayer");this._printable=true}};Msn.Drawing.SVGGraphic.prototype.RemovePrintLayer=function(){if(this._printable){this._printTilesLayer.parentNode.removeChild(this._printTilesLayer);this._printTopLayer.parentNode.removeChild(this._printTopLayer);this._printTilesLayer=null;this._printTopLayer=null;this._printLogo=null;this._printable=false}};Msn.Drawing.SVGGraphic.prototype.AddPrintTile=function(g,h,f,e,c,b,d){var a=null;if(this._printable){a=document.createElementNS("http://www.w3.org/2000/svg","image");a.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",g);a.setAttributeNS(null,"preserveAspectRatio","none");a.setAttributeNS(null,"x",f-this._offsetX);a.setAttributeNS(null,"y",h-this._offsetY);a.setAttributeNS(null,"width",e);a.setAttributeNS(null,"height",c);a.setAttributeNS(null,"opacity",b);this.AddPrintTileToLayer(a,d)}return a};Msn.Drawing.SVGGraphic.prototype.AddPrintTileToLayer=function(d,b){var a=this._printTilesLayer.firstChild;
while(a&&a.style.zIndex<b){a=a.nextSibling}if(!a||a.style.zIndex!=b){var c=document.createElementNS("http://www.w3.org/2000/svg","g");c.style.zIndex=b;this._printTilesLayer.insertBefore(c,a);a=c}a.appendChild(d)};Msn.Drawing.SVGGraphic.prototype.RemovePrintTile=function(a){if(this._printable){a.parentElement.removeChild(a)}};Msn.Drawing.SVGGraphic.prototype.RePositionPrintTile=function(a,c,b){a.setAttributeNS(null,"x",b-this._offsetX);a.setAttributeNS(null,"y",c-this._offsetY)};Msn.Drawing.SVGGraphic.prototype.SetOffset=function(a,b){this._offsetX=a;this._offsetY=b};Msn.Drawing.SVGGraphic.prototype.AddLogo=function(b){if(this._printable){var a=document.createElementNS("http://www.w3.org/2000/svg","image");a.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",b);a.setAttributeNS(null,"class","MSVE_PoweredByLogo_print");a.setAttributeNS(null,"x",6);a.setAttributeNS(null,"y",parseInt(this._printTopLayer.getAttribute("height"))-79);this._printLogo=a;this._printTopLayer.appendChild(a)}};Msn.Drawing.SVGGraphic.prototype.RepositionLogo=function(b,a){if(this._printable&&this._printLogo){this._printLogo.setAttributeNS(null,"y",parseInt(a)-79)}};Msn.Drawing.SvgLayer=function(f,g){var c=g,b=null,e=false,h=false;if(e==false){e=true;b=document.createElementNS("http://www.w3.org/2000/svg","svg");b.setAttribute("height","100%");b.setAttribute("width","100%");f.appendChild(b);this.lineDashStyles=[];var a=this.lineDashStyles;a[0]=["Solid","none"];a[1]=["ShortDash","6,2"];a[2]=["ShortDot","2,2"];a[3]=["ShortDashDot","6,2,2,2"];a[4]=["ShortDashDotDot","6,2,2,2,2,2"];a[5]=["Dot","2,6"];a[6]=["Dash","10,6"];a[7]=["LongDash","20,6"];a[8]=["DashDot","10,6,2,6"];a[9]=["LongDashDot","20,6,2,6"];a[10]=["LongDashDotDot","20,6,2,6,2,6"]}this.addShape=function(e){if(b==null){return}var a=null;if(e.type==VEShapeType.Pushpin){a=document.createElementNS("http://www.w3.org/2000/svg","rect");var i=LatLongtoRoundedPixel(c,e.points[1],e.points[0]);a.setAttribute("x",i.x-4);a.setAttribute("y",i.y-4);a.setAttribute("width","8pt");a.setAttribute("height","8pt");
a.setAttribute("stroke-width",e.symbol.stroke_weight);a.setAttribute("stroke",e.symbol.stroke_color);a.setAttribute("fill",e.symbol.fill_color);b.appendChild(a)}else{if(e.type==VEShapeType.Polyline||e.type==VEShapeType.Polygon){var h=e.type==VEShapeType.Polygon?true:false;a=document.createElementNS("http://www.w3.org/2000/svg",h?"polygon":"polyline");a.setAttributeNS(null,"class","MSVE_Shape");a.setAttribute("points",GetSvgPath(c,e.points));a.setAttribute("stroke",e.symbol.stroke_color);a.setAttribute("stroke-width",e.symbol.stroke_weight);a.setAttribute("stroke-linejoin",e.symbol.stroke_joinstyle);a.setAttribute("stroke-opacity",d(e.symbol.stroke_opacity));var g=this.lineDashStyles;for(var f=0;f<g.length;f++){if(e.symbol.stroke_dashstyle==g[f][0]){a.setAttribute("stroke-dasharray",g[f][1])}}if(!h){a.setAttribute("fill","none")}else{a.setAttribute("fill-rule","evenodd");a.setAttribute("fill",e.symbol.fill_color);a.setAttribute("fill-opacity",d(e.symbol.fill_opacity))}}}if(a){a.setAttribute("id",e.id!=0?e.id:e.iid);b.appendChild(a)}return a};function d(b){var a=parseFloat(b);if(a==NaN){a=0.3}else{if(a>1){a/=100}else{if(a<0){a=0}}}return a}this.SetZIndex=function(a){if(!c.bShowSVG){return}c.GetsvgDiv().style.zIndex=a};this.UpdatePoints=function(a,b){if(a.type==VEShapeType.Polyline||a.type==VEShapeType.Polygon){b.setAttribute("points",GetSvgPath(c,a.points))}};this.UpdateStyle=function(a,c){if(b==null){return}if(a.type!=VEShapeType.Pushpin){c.setAttribute("stroke",a.symbol.stroke_color);c.setAttribute("stroke-width",a.symbol.stroke_weight);c.setAttribute("stroke-linejoin",a.symbol.stroke_joinstyle);c.setAttribute("stroke-opacity",d(a.symbol.stroke_opacity));var f=this.lineDashStyles;for(var e=0;e<f.length;e++){if(a.symbol.stroke_dashstyle==f[e][0]){c.setAttribute("stroke-dasharray",f[e][1])}}if(a.type==VEShapeType.Polyline){c.setAttribute("fill","none")}else{c.setAttribute("fill",a.symbol.fill_color);c.setAttribute("fill-opacity",d(a.symbol.fill_opacity))}}return a};this.CreatePrintLayer=function(c){var a=null;if(b){a=document.createElementNS("http://www.w3.org/2000/svg","g");
a.setAttributeNS(null,"class",c);b.insertBefore(a,b.firstChild)}return a}};function GetSvgPath(j,e){if(!e){return null}var a=0,k=e.length,f=k/2,i=0,c=new Array(Math.max(128,Math.round(k/8))),b=null,l=0,m=0,g=0,h=0;while(a<f){g=e[a*2];h=e[a*2+1];if(a==f-1||a==0||VE_IsDisplayLatLon(j,l,m,g,h,f)){b=LatLongtoRoundedPixel(j,h,g);if(!b){return}var d="";if(a<f-1){d=d.concat(b.x,",",b.y,",")}else{d=d.concat(b.x,",",b.y)}if(i>=c.length){c.length+=Math.round(c.length/4)}c[i++]=d;l=g;m=h}a++}if(i>0){c.length=i}return c.join("")}function LatLongtoRoundedPixel(b,d,e){var c;if(typeof VEMap!="undefined"&&b instanceof VEMap){c=new VELatLong(d,e)}else{c=new Msn.VE.LatLong(d,e)}var a=b.LatLongToPixel(c,b.GetZoomLevel());if(!a){return null}a.x=MathRound(a.x);a.y=MathRound(a.y);return a}VE_LatLongThreshold={PixelDiff:8,DistDiff:0.5,OriginLat:0,OriginLon:0,LatDiff:0,LonDiff:0,UseThreshold:true,IsNotInit:true};function VE_SetLatLonThreshold(c,e,d){VE_LatLongThreshold.IsNotInit=false;if(e!=null&&d!=null){VE_LatLongThreshold.OriginLat=d;VE_LatLongThreshold.OriginLon=e}var a,b=LatLongtoRoundedPixel(c,VE_LatLongThreshold.OriginLat,VE_LatLongThreshold.OriginLon);if(b){a=c.PixelToLatLong(new VEPixel(b.x+VE_LatLongThreshold.PixelDiff,b.y+VE_LatLongThreshold.PixelDiff));VE_LatLongThreshold.LatDiff=Math.abs(a.latitude-VE_LatLongThreshold.OriginLat);VE_LatLongThreshold.LonDiff=Math.abs(a.longitude-VE_LatLongThreshold.OriginLon)}}function VE_IsDisplayLatLon(e,i,h,b,a){if(!VE_LatLongThreshold.UseThreshold){return true}var c=Math.abs(VE_LatLongThreshold.OriginLat-a),d=Math.abs(VE_LatLongThreshold.OriginLon-b);if(Math.max(c,d)>VE_LatLongThreshold.DistDiff||VE_LatLongThreshold.IsNotInit){VE_SetLatLonThreshold(e,b,a)}var f=Math.abs(a-h),g=Math.abs(b-i);if(f>VE_LatLongThreshold.LatDiff||g>VE_LatLongThreshold.LonDiff){return true}return false}function GetVmlPath(j,a){var h=a.points;if(!h){return null}var g=0,l=h.length,m=l/2,e=0,b=new Array(Math.max(128,Math.round(l/8)));b[e++]="m ";var q=MathRound(j.GetOffsetY()),p=MathRound(j.GetOffsetX()),f=null,n=0,o=0,c=0,d=0;
if(l>=4){c=h[g*2];d=h[g*2+1];f=LatLongtoRoundedPixel(j,d,c);if(!f){return null}var i="";i=i.concat(f.x+p,",",f.y+q," l ");if(e>=b.length){b.length+=Math.round(b.length/4)}b[e++]=i;n=c;o=d;++g}var k=false;if(a.type!=VEShapeType.Pushpin){if(a.minX==null||a.minY==null||a.maxX==null||a.maxY==null){k=false;a.minX=360;a.minY=360;a.maxX=-360;a.maxY=-360}else{k=true}}while(g<m){c=h[g*2];d=h[g*2+1];if(!k){a.minX=Math.min(a.minX,c);a.minY=Math.min(a.minY,d);a.maxX=Math.max(a.maxX,c);a.maxY=Math.max(a.maxY,d)}if(VE_IsDisplayLatLon(j,n,o,c,d,m)||g==m-1){f=LatLongtoRoundedPixel(j,d,c);if(!f){return null}var i="";i=i.concat(f.x+p,",",f.y+q," ");if(e>=b.length){b.length+=Math.round(b.length/4)}b[e++]=i;n=c;o=d}++g}if(e>=b.length){b.length+=1}b[e++]=" e";if(e>0){b.length=e}return b.join("")}function GetCurrentMapViewBounds(b){var o=b.GetCenterLongitude(),p=b.GetCenterLatitude(),a=b.LatLongToPixel(new Msn.VE.LatLong(p,o)),h=b.GetMapWidth(),g=b.GetMapHeight();if(!a||isNaN(a.x)||isNaN(a.y)){return new Msn.VE.Bounds(0,0,-Infinity,-Infinity,Infinity,Infinity)}var l,n,k,m,j=false,q=b.GetMapStyle(),c=b.PixelToLatLong(new VEPixel(a.x-h/2,a.y+g/2)),d=b.PixelToLatLong(new VEPixel(a.x+h/2,a.y-g/2));if(Msn.VE.MapStyle.IsViewOblique(q)){var e=b.PixelToLatLong(new VEPixel(a.x-h/2,a.y-g/2)),f=b.PixelToLatLong(new VEPixel(a.x+h/2,a.y+g/2));if(c!=null&&d!=null&&e!=null&&f!=null){l=Math.min(c.longitude,d.longitude,e.longitude,f.longitude);n=Math.min(c.latitude,d.latitude,e.latitude,f.latitude);k=Math.max(c.longitude,d.longitude,e.longitude,f.longitude);m=Math.max(c.latitude,d.latitude,e.latitude,f.latitude)}else{j=true}}else{if(c!=null&&d!=null){l=Math.min(c.longitude,d.longitude);n=Math.min(c.latitude,d.latitude);k=Math.max(c.longitude,d.longitude);m=Math.max(c.latitude,d.latitude)}else{j=true}}var i=null;if(j){i=new Msn.VE.Bounds(0,0,-Infinity,-Infinity,Infinity,Infinity)}else{i=new Msn.VE.Bounds(0,0,l,n,k,m)}return i}function GetBufferedMapViewBounds(b,a){var c=null,e=Math.abs(a.x2-a.x1),d=Math.abs(a.y2-a.y1);c=new Msn.VE.Bounds(0,0,a.x1-b*e,a.y1-b*d,a.x2+b*e,a.y2+b*d);
return c}function IsContainedInView(a,b){var c=false;if(b.x1>a.x1&&b.y1>a.y1&&b.x2<a.x2&&b.y2<a.y2){c=true}return c}Msn.Drawing.ComputeBoundingBox=function(a){if(typeof a=="undefined"||a==null||a.length==0){return null}var c=[],f=Infinity,g=Infinity,d=-Infinity,e=-Infinity;for(var b=0;b<a.length;b=b+2){f=Math.min(f,a[b]);g=Math.min(g,a[b+1]);d=Math.max(d,a[b]);e=Math.max(e,a[b+1])}c[0]=f;c[1]=g;c[2]=d;c[3]=e;return c};function IsBoundsIntersect(a,b){if(a==null){return true}if(b==null){return true}if(a.x2<b.x1||a.x1>b.x2||a.y2<b.y1||a.y1>b.y2){return false}return true}function IsDisplayShape(d,c,e,g,f,h){if(c==0){return true}if(e==f&&g==h){return true}var a=null,b=null;a=d.LatLongToPixel(new Msn.VE.LatLong(g,e));b=d.LatLongToPixel(new Msn.VE.LatLong(h,f));if(a==null||b==null){return true}if(Math.abs(b.y-a.y)>c||Math.abs(b.x-a.x)>c){return true}else{return false}}function IsRecIntersect(c,d,a,b,g,h,e,f){if(a<g||c>e||b<h||d>f){return false}return true}function wrapVmlElementInDiv(a){var c=Msn.VE.Css.Functions.getComputedStyle,b=document.createElement("div");b.className="VmlContainer";b.style.left=c(a,"left");b.style.top=c(a,"top");b.style.width=c(a,"width");b.style.height=c(a,"height");a.style.position="relative";a.style.left="0px";a.style.top="0px";a.style.width="100%";a.style.height="100%";b.appendChild(a);return b}function VEColorToHexString(c,b,a){return"#"+(c<16?"0":"")+Number(c).toString(16)+(b<16?"0":"")+Number(b).toString(16)+(a<16?"0":"")+Number(a).toString(16)}function VEHexStringToColor(){this.Convert=function(a){a=a.toUpperCase();var b=hTov(a.substring(0,1)),c=hTov(a.substring(1,2)),d=hTov(a.substring(2,3)),e=hTov(a.substring(3,4)),f=hTov(a.substring(4,5)),g=hTov(a.substring(5,6)),h=b*16+c,i=d*16+e,j=f*16+g;return new VEColor(h,i,j,1)};function hTov(h){var v=0;if(h=="A"){v=10}else{if(h=="B"){v=11}else{if(h=="C"){v=12}else{if(h=="D"){v=13}else{if(h=="E"){v=14}else{if(h=="F"){v=15}else{v=eval(h)}}}}}}return v}}_VERegisterNamespaces("Msn.VE");$MVEM=new function(){this.IsEnabled=function(a){if(a==undefined){throw new VEException("$MVEM.IsEnabled","err_invalidfeature","Specified feature is invalid.")
}return a}};function VEException(b,c,a){this.source=b;this.name=c;this.message=a}VEException.prototype.Name=this.name;VEException.prototype.Source=this.source;VEException.prototype.Message=this.message;function pseudoHover(a){if(!document.all){return}var d=function(){a.className+=" ms_pseudoHover"},c=function(){a.className=a.className.replace(/\s*ms_pseudoHover/g,"")};a.attachEvent("onmouseenter",d);a.attachEvent("onmouseleave",c);window.attachEvent("onunload",b);function b(){a.detachEvent("onmouseenter",d);a.detachEvent("onmouseleave",c);window.detachEvent("onunload",b)}}function pseudoHoverForChildren(d,a){if(!document.all){return}if(!a){a="LI"}var c=d.getElementsByTagName(a);for(var b=0;b<c.length;b++){this.pseudoHover(c[b])}}function pseudoHoverRemove(a){if(!document.all){return}a.className=a.className.replace(/\s*ms_pseudoHover/g,"")}_VERegisterNamespaces("Msn.VE.Css");Msn.VE.CurrentDomain=typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null?Msn.VE.API.Globals.vecurrentdomain:".";Msn.VE.Css={Cursors:{Auto:"auto",Default:"default",Crosshair:"crosshair",Pointer:"pointer",Move:"move",Wait:"wait",Text:"text",Help:"help",NResize:"n-resize",NEResize:"ne-resize",NWResize:"nw-resize",SResize:"s-resize",SEResize:"se-resize",SWResize:"sw-resize",EResize:"e-resize",WResize:"w-resize",CustomCursors:null,defineCustomCursors:function(c){Msn.VE.Css.Cursors.CustomCursors=c;var b,d=c.length;for(b=0;b<d;b++){var a=c[b];if(navigator.userAgent.indexOf(" Safari/")>-1){Msn.VE.Css.Cursors[a.name]=a.fallback}else{Msn.VE.Css.Cursors[a.name]='url("'+a.domain+a.path+'"), '+a.fallback}}}},RegEx:{RectClip:/rect\((auto|\d+px|\d*\.*\d+em|\d*\.*\d+pt)\s*,*\s*(auto|\d+px|\d*\.*\d+em|\d*\.*\d+pt)\s*,*\s*(auto|\d+px|\d*\.*\d+em|\d*\.*\d+pt)\s*,*\s*(auto|\d+px|\d*\.*\d+em|\d*\.*\d+pt)\)/},Functions:{addClass:function(a){this.alterClass(a,arguments,true)},removeClass:function(a){this.alterClass(a,arguments,false)},alterClass:function(a,e,g){var c,h=e.length;for(c=1;c<h;c++){var d=e[c],d=e[c].replace(/^\s*/,"").replace(/\s*$/,"");if(d.indexOf(" ")!=-1){continue
}var f=new RegExp("(^| )"+d+"( |$)","i");if(g){if(!f.test(a.className)){if(a.className==""){a.className=d}else{a.className+=" "+d}}}else{var b=a.className;b=b.replace(f,"$1");b=b.replace(/ $/,"");a.className=b}}},getComputedStyle:function(b,c){var a=null;if(document.defaultView&&document.defaultView.getComputedStyle&&typeof document.defaultView.getComputedStyle!="undefined"){a=document.defaultView.getComputedStyle(b,null)}else{a=b.currentStyle}return a[c]},setClip:function(c,d,e){var b=Msn.VE.Css.Functions.getClip(c,0),f=Msn.VE.Css.RegEx.RectClip,a=f.exec(b);a[d]=e;if(d==0){c.style.clip=a[0]}else{a[d]=e;a.shift();b="rect("+a.join(" ")+")";c.style.clip=b}},getClip:function(d,e){var b=d.style.clip;if(b==""){var b=(window.opera?"auto":Msn.VE.Css.Functions.getComputedStyle(d,"clip"))||"auto";if(b=="auto"){b="rect(auto auto auto auto)"}else{if(typeof b=="undefined"||b==null){var c=d.currentStyle;if(typeof c!="undefined"&&c!=null){b="rect("+c.clipTop+" "+c.clipRight+" "+c.clipBottom+" "+c.clipLeft+")"}}}}var f=Msn.VE.Css.RegEx.RectClip,a=f.exec(b);if(e==0){return a[0]}a[1]=a[1]=="auto"?0:a[1];a[4]=a[4]=="auto"?0:a[4];a[2]=a[2]=="auto"?d.offsetWidth:a[2];a[3]=a[3]=="auto"?d.offsetHeight:a[3];if(e==5){return a}else{return a[e]}}}};_VERegisterNamespaces("Msn.VE");Msn.VE.OSType={Windows:1,Windows95:2,Windows98:3,WindowsMillenium:4,WindowsNT:5,WindowsNT4:6,Windows2000:7,Windows2000SP1:8,WindowsXP:9,WindowsXPSP2:10,WindowsServer2003:11,WindowsServer2003SP1:12,WindowsVista:13,MacOS:30,MacOS9:31,MacOSX:32,Linux:40,Unknown:100};Msn.VE.CLRType={CLR10:1,CLR11:2,CLR20:4,CLR30:8};Msn.VE.BrowserType={Firefox:1,MSIE:2,Opera:3,Unknown:10};Msn.VE.BrowserCaps={VML:1,SVG:2,WindowlessSelectElement:4,RightMouseButton:8,AddFavourite:16,VectorCapable:3};Msn.VE.BrowserInfo=function(){var a=this;this.Type=null;this.BrowserCaps=0;this.CLRType=0;this.MajorVersion=null;this.MinorVersion=null;this.versionString=null;this.UserAgent=null;this.OSType=null;this.Locale=null;if(arguments.length==0){this.UserAgent=window.navigator.userAgent;this.currentBrowser=true
}else{this.UserAgent=arguments[0];this.currentBrowser=false;if(arguments.length>=2){this.Locale=arguments[1]}}this.IsCompatibleWith=function(c){for(var b=0;b<c.length;b++){var a=c[b];if(a.Type==this.Type&&(this.MajorVersion>a.MajorVersion||a.MajorVersion==this.MajorVersion&&a.MinorVersion>=this.MinorVersion)){return true}}return false};function c(){if(a.UserAgent.indexOf("Mac")==-1&&(a.UserAgent.indexOf("Gecko")!=-1||a.UserAgent.indexOf("MSIE")!=-1)){a.BrowserCaps|=Msn.VE.BrowserCaps.RightMouseButton}}function d(){if(a.UserAgent.indexOf("MSIE 7")!=-1||a.UserAgent.indexOf("MSIE 8")!=-1||a.UserAgent.indexOf("MSIE 9")!=-1||a.UserAgent.indexOf("Gecko")!=-1){a.BrowserCaps|=Msn.VE.BrowserCaps.WindowlessSelectElement}}function k(){if(!b()){a.BrowserCaps|=Msn.VE.BrowserCaps.VML}}function j(){if(b()){a.BrowserCaps|=Msn.VE.BrowserCaps.SVG}}function b(){var a;if(document.implementation&&document.implementation.hasFeature){a=document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")}else{var c=document.createElement("v:shape");c.style.behavior="url(#default#VML)";a=typeof c.strokecolor==="undefined"}b=function(){return a};return a}function i(){try{if(a.UserAgent.indexOf("MSIE")!=-1){a.BrowserCaps|=Msn.VE.BrowserCaps.AddFavourite}}catch(b){}}this.GetVersionString=function(){if(this.versionString==null){if(a.UserAgent.indexOf("Win")!=-1&&a.UserAgent.indexOf("MSIE")!=-1){var b=null,c;try{b=document.createElement("<DIV STYLE='behavior:url(#default#clientCaps); display: none' ID='__clientCaps'>");document.body.appendChild(b);c=b.getComponentVersion("{89820200-ECBD-11CF-8B85-00AA005B4383}","componentid")}catch(d){c=a.MajorVersion+"."+a.MinorVersion}finally{if($ID("__clientCaps")!=null){$ID("__clientCaps").parentNode.removeChild(b)}}this.versionString=c}else{if(a.MajorVersion!=null&&a.MajorVersion!=null){this.versionString=a.MajorVersion+"."+a.MinorVersion}else{this.versionString=""}}}return this.versionString};function f(){if(a.UserAgent.indexOf("MSIE")!=-1){var c=new RegExp("MSIE ([0-9]).([0-9])"),b=c.exec(a.UserAgent);
if(b!=null){a.MajorVersion=parseInt(b[1]);a.MinorVersion=parseInt(b[2]);return}}else{if(a.UserAgent.indexOf("Firefox")!=-1){var c=new RegExp("Firefox/([0-9]).([0-9])(.*)"),b=c.exec(a.UserAgent);if(b!=null){a.MajorVersion=parseInt(b[1]);a.MinorVersion=parseInt(b[2]);return}}else{if(a.UserAgent.indexOf("Opera")!=-1){var c=new RegExp("Opera/([0-9]{1,2}).([0-9])"),b=c.exec(a.UserAgent);if(b!=null){a.MajorVersion=parseInt(b[1]);a.MinorVersion=parseInt(b[2]);return}}}}a.MajorVersion=null;a.MinorVersion=null}function h(){if(a.UserAgent.indexOf("Mac OS X")!=-1){a.OSType=Msn.VE.OSType.MacOSX}else{if(a.UserAgent.indexOf("Mac")!=-1){a.OSType=Msn.VE.OSType.MacOS}else{if(a.UserAgent.indexOf("Linux")!=-1){a.OSType=Msn.VE.OSType.Linux}else{if(a.UserAgent.indexOf("Win95")!=-1||a.UserAgent.indexOf("Windows 95")!=-1){a.OSType=Msn.VE.OSType.Windows95}else{if(a.UserAgent.indexOf("Win98")!=-1||a.UserAgent.indexOf("Windows 98")!=-1){a.OSType=Msn.VE.OSType.Windows98}else{if(a.UserAgent.indexOf("Win 9x 4.90")!=-1){a.OSType=Msn.VE.OSType.WindowsMillenium}else{if(a.UserAgent.indexOf("Windows NT 4.0")!=-1){a.OSType=Msn.VE.OSType.WindowsNT4}else{if(a.UserAgent.indexOf("Windows NT 5.01")!=-1){a.OSType=Msn.VE.OSType.Windows2000SP1}else{if(a.UserAgent.indexOf("Windows NT 5.0")!=-1){a.OSType=Msn.VE.OSType.Windows2000}else{if(a.UserAgent.indexOf("Windows NT 5.1")!=-1&&a.UserAgent.indexOf("SV1")!=-1){a.OSType=Msn.VE.OSType.WindowsXPSP2}else{if(a.UserAgent.indexOf("Windows NT 5.1")!=-1){a.OSType=Msn.VE.OSType.WindowsXP}else{if(a.UserAgent.indexOf("Windows NT 5.2")!=-1&&a.UserAgent.indexOf("SV1")!=-1){a.OSType=Msn.VE.OSType.WindowsServer2003SP1}else{if(a.UserAgent.indexOf("Windows NT 5.2")!=-1){a.OSType=Msn.VE.OSType.WindowsServer2003}else{if(a.UserAgent.indexOf("Windows NT 6.0")!=-1){a.OSType=Msn.VE.OSType.WindowsVista}else{if(a.UserAgent.indexOf("Windows NT")!=-1){a.OSType=Msn.VE.OSType.WindowsNT}else{if(a.UserAgent.indexOf("Win")!=-1){a.OSType=Msn.VE.OSType.Windows}else{a.OSType=Msn.VE.OSType.Unknown}}}}}}}}}}}}}}}}}function e(){if(a.UserAgent.indexOf(".NET CLR 1.0")!=-1){a.CLRType|=Msn.VE.CLRType.CLR10
}if(a.UserAgent.indexOf(".NET CLR 1.1")!=-1){a.CLRType|=Msn.VE.CLRType.CLR11}if(a.UserAgent.indexOf(".NET CLR 2.0")!=-1){a.CLRType|=Msn.VE.CLRType.CLR20}if(a.UserAgent.indexOf(".NET CLR 3.0")!=-1){a.CLRType|=Msn.VE.CLRType.CLR30}}function g(){if(a.Locale!=null){return}a.Locale="en-US";if(a.UserAgent.indexOf("MSIE")!=-1){if(navigator.browserLanguage){a.Locale=navigator.browserLanguage}if(navigator.userLanguage){a.Locale=navigator.userLanguage}if(navigator.systemLanguage){a.Locale=navigator.systemLanguage}}else{if(a.UserAgent.indexOf("Gecko")!=-1){var c=new RegExp("; (.*); rv:"),b=c.exec(a.UserAgent);if(b&&b.length>=2){a.Locale=b[1].substring(b[1].lastIndexOf(" "),b[1].length+1)}}else{if(a.UserAgent.indexOf("Opera")!=-1){var c=new RegExp(" (.*)\\)"),b=c.exec(a.UserAgent);if(b&&b.length>=2){a.Locale=b[1].substring(b[1].lastIndexOf(" "),b[1].length+1)}}}}}function l(){if(a.UserAgent.indexOf("Gecko")!=-1){a.Type=Msn.VE.BrowserType.Firefox}else{if(a.UserAgent.indexOf("MSIE")!=-1){a.Type=Msn.VE.BrowserType.MSIE}else{if(a.UserAgent.indexOf("Opera")!=-1){a.Type=Msn.VE.BrowserType.Opera}else{a.Type=Msn.VE.BrowserType.Unknown}}}f();h();e();g();i();j();k();d();c()}l()};Msn.VE.Environment=function(){};Msn.VE.Environment.Redirect=function(a){window.location.href=a};Msn.VE.Environment.BrowserInfo=new Msn.VE.BrowserInfo;Msn.VE.Environment.IsSVG=function(){return Msn.VE.Environment.BrowserInfo.BrowserCaps&Msn.VE.BrowserCaps.SVG};Msn.VE.Environment.IsFF20=function(){var a=Msn.VE.Environment.BrowserInfo;if(a.Type==Msn.VE.BrowserType.Firefox){var b=a.MajorVersion;if(b>=2){return true}}return false};Msn.VE.Environment.IsIE50=function(){var a=Msn.VE.Environment.BrowserInfo;if(a.Type==Msn.VE.BrowserType.MSIE){var b=a.MajorVersion;if(b>=5){return true}}return false};Msn.VE.Environment.IsIE80=function(){var a=Msn.VE.Environment.BrowserInfo;if(a.Type==Msn.VE.BrowserType.MSIE){var b=a.MajorVersion;if(b>=8){return true}}return false};_VERegisterNamespaces("Msn.VE");Msn.VE.PushPinTypes={Default:0,SearchResultPrecise:1,Annotation:2,Direction:3,DirectionTemp:4,TrafficLight:5,TrafficOthers:6,YouAreHere:7,AdStandard:8,AdWide:9,AdCategory:10,AdRoofStandard:11,AdRoofWide:12,AdSponsor:13,DirectionStep:14,Context:15,SearchResultNonprecise:16,Collection:17,Overlay:18};
Msn.VE.MapActionMode={ModeUnknown:0,Mode2D:1,Mode3D:2,ModeOblique:3};Msn.VE.BirdsEyeSearchSpinDirection={ClockwiseSpin:-1,NoSpin:0,CounterclockwiseSpin:1};Msn.VE.LineJoinMode={Straight:"miter",Round:"round"};Msn.VE.Css.Cursors.defineCustomCursors([{name:"Grab",domain:".",path:"/cursors/grab.cur",fallback:"move"},{name:"Grabbing",domain:".",path:"/cursors/grabbing.cur",fallback:"move"},{name:"Target",domain:".",path:"/cursors/target.cur",fallback:"crosshair"}]);Msn.VE.MapControl=function(p_elSource,p_htParams,p_parentAPIControl){var offsetMeters=20971520,baseMetersPerPixel=163840,buffer=0,maxTilePixelBuffer=768,animatedMovementEnabled=true,zoomTotalSteps=6,keyboardPanSpeed=15,panToLatLongSpeed=15,earthRadius=6378137,earthCircumference=earthRadius*2*Math.PI,projectionOffset=earthCircumference*0.5,minZoom=1,maxZoom=19,emptyTile="http://virtualearth.msn.com/i/spacer.gif",minLatitude=-85,maxLatitude=85,minLongitude=-180,maxLongitude=180,tileSize=256,generations={},zoomLevelToAdjustObliqueToOrthro=18,kbInputZIndex=0,containerZIndex=0,mapZIndex=1,swapZIndex=1,baseZIndex=2,debugZIndex=3,baseZIndex=11,topZIndex=20,p_this=this,isVML=!Msn.VE.Environment.IsSVG(),m_clientToken=null,cssCursors=Msn.VE.Css.Cursors,cssFn=Msn.VE.Css.Functions,roadStyle=Msn.VE.MapStyle.Road,shadedStyle=Msn.VE.MapStyle.Shaded,hybridStyle=Msn.VE.MapStyle.Hybrid,aerialStyle=Msn.VE.MapStyle.Aerial,obliqueStyle=Msn.VE.MapStyle.Oblique,obliqueHybridStyle=Msn.VE.MapStyle.ObliqueHybrid;generations[roadStyle]=790;generations[aerialStyle]=790;generations[hybridStyle]=790;generations[obliqueStyle]=790;generations[obliqueHybridStyle]=790;var mapTiles="Road",trafficTiles="Traffic",marketMaxZoom=1,currentScaleBarUnit=null,currentView=new Msn.VE.MapView(p_this),preferredView=new Msn.VE.MapView(p_this),previousZoomLevel=1,previousCenter=null,lastViewChangeType=null,previousMapStyle=null,lastOrthoZoomLevel=15,lastOrthoMapStyle=roadStyle,x=0,y=0,width=0,height=0,trafficAvailable=false,tileLayerManager=new VETileLayerManager,originX=0,originY=0,offsetX=0,offsetY=0,tileViewportX1=0,tileViewportY1=0,tileViewportX2=0,tileViewportY2=0,tileViewportWidth=0,tileViewportHeight=0,dragging=false,keyboardPan=false,lastMouseX=0,lastMouseY=0,zooming=false,zoomCounter=0,panning=false,panCounter=0,panningX=0,panningY=0,panLatitude=null,panLongitude=null,pushpins=[],lines=[],map=document.createElement("div"),keyboard=document.createElement("input");
keyboard.id="wl_ve_mapInput";var logo=null,scaleBar=null,mapLegend=null,copyright=null;this.UpdateCopyright=function(){if(copyright){copyright.Update()}};var dashboardContainer=null,dashboard=null,minimapControl=null,minimapContainer=null,mouseZoomDisabled=false,mousewheelZoomToCenter=true,isMinimap=false,boxTool=null,panTool=null,targetTool=null,currentTool=null,orthoMode=null,obliqueMode=null,threeDMode=null,currentMode=null,previousMode=null,Initialized2D=false,currentBounds=null,defaultEventTable=[],customEventTable=[],debug=false,graphicCanvas=null,svgLayer=null,svgDiv=null,bShowSVG=true;this.GetsvgDiv=function(){return svgDiv};var mapCenterOffset=new VEPixel(0,0),resizeInProgress=false,loadBaseTiles=true,view3DCreated=false,spacecontrol=false,spacediv=null,spaceCameraIsFlying=false,init3dparam=null,resizeTimer=null,traffic3dAdded=false,initial3dView=null,cameraUpdateCount=0,photoplugin3dActive=false;this.Is3DPhotoPluginActive=function(){return photoplugin3dActive};this.Set3DPhotoPluginActive=function(a){photoplugin3dActive=a};function SetChildDiv(a){map.appendChild(a)}function EnableGeoCommunity(a){hijackMouseMove=a}function IsGeoCommunityEnabled(){return hijackMouseMove}function HijackMouseCursor(a){hijackMouseCursor=a}function IsHijackMouseCursor(){return hijackMouseCursor}function GetOffsetX(){return offsetX}function GetOffsetY(){return offsetY}function GetOriginY(){return originY}function GetOriginX(){return originX}this.Init=function(){orthoMode=new OrthoMode;orthoMode.Init();if(p_htParams.obliqueEnabled){obliqueMode=new ObliqueMode;obliqueMode.SetGUID(p_htParams.mapGUID);obliqueMode.Init(p_htParams.obliqueUrl?p_htParams.obliqueUrl:"%0dev.virtualearth.net/services/v1/ImageryMetadataService/ImageryMetadataService.asmx")}if(p_htParams.clientToken){this.SetClientToken(p_htParams.clientToken)}threeDMode=new ThreeDMode;threeDMode.Init();UpdateFromParent();map.className="MSVE_Map";map.style.zIndex=mapZIndex;p_elSource.appendChild(map);cssFn.addClass(p_elSource,"MSVE_MapContainer");keyboard.className="MSVE_KeyboardInput";
if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null&&Web.Browser.isSafari()){keyboard.style.top=0;keyboard.style.left=0;keyboard.style.border=0;if(Web.Browser.isSafari2()){keyboard.style.height=0;keyboard.style.width=0}else{if(Web.Browser.isSafari3()){keyboard.style.outlineWidth=0;keyboard.style.color="transparent";keyboard.style.backgroundColor="transparent"}}}p_elSource.appendChild(keyboard);if(!p_htParams.fixedView){p_elSource.attachEvent("onmousedown",MouseDown);p_elSource.attachEvent("onmouseup",MouseUp);p_elSource.attachEvent("onmousemove",MouseMove);p_elSource.attachEvent("ondblclick",MouseDoubleClick);p_elSource.attachEvent("oncontextmenu",ContextMenu);p_elSource.attachEvent("onclick",MouseClick);p_elSource.attachEvent("onmouseout",MouseOut);p_elSource.attachEvent("onmouseover",MouseOver);p_elSource.attachEvent("onmouseenter",MouseEnter);p_elSource.attachEvent("onmouseleave",MouseLeave)}if(p_htParams.buffer!=undefined&&p_htParams.buffer!=null){SetTilePixelBuffer(p_htParams.buffer)}var startIn3DMode=false;loadBaseTiles=typeof p_htParams.loadBaseTiles=="undefined"||p_htParams.loadBaseTiles!=false;if(p_htParams.mapMode!="undefined"&&p_htParams.mapMode!=null&&p_htParams.mapMode==Msn.VE.MapActionMode.Mode3D||p_htParams.altitude&&p_htParams.altitude>-1000||p_htParams.tilt&&p_htParams.tilt!=-90||p_htParams.direction&&p_htParams.direction!=0){SetBaseTileSource();startIn3DMode=true;currentMode=threeDMode}init3dparam=p_htParams.mapGUID;if((p_htParams.latitude!=null&&typeof p_htParams.latitude!="undefined"&&p_htParams.longitude!=null&&typeof p_htParams.longitude!="undefined"&&p_htParams.zoomlevel!=null&&typeof p_htParams.zoomlevel!="undefined"||p_htParams.boundingBox!=null&&typeof p_htParams.boundingBox!="undefined")&&p_htParams.mapstyle!=null&&typeof p_htParams.mapstyle!="undefined"){try{var initialView=new Msn.VE.MapView(p_this);initialView.SetMapStyle(ValidateMapStyle(p_htParams.mapstyle),p_htParams.obliqueSceneId,p_htParams.birdseyeOrientation);if(startIn3DMode){initialView.sceneId=p_htParams.obliqueSceneId;initialView.photoX=p_htParams.photoX;
initialView.photoY=p_htParams.photoY;initialView.photoScale=p_htParams.photoScale}if(p_htParams.boundingBox){var bb=p_htParams.boundingBox;if(bb.northwest){bb.northwest.latitude=ClipLatitude(bb.northwest.latitude);bb.northwest.longitude=ClipLongitude(bb.northwest.longitude)}if(bb.southeast){bb.southeast.latitude=ClipLatitude(bb.southeast.latitude);bb.southeast.longitude=ClipLongitude(bb.southeast.longitude)}initialView.SetLatLongRectangle(bb);if(startIn3DMode){initialView.Resolve(orthoMode,width,height)}}else{initialView.SetZoomLevel(eval(p_htParams.zoomlevel));initialView.SetCenterLatLong(new Msn.VE.LatLong(eval(p_htParams.latitude),eval(p_htParams.longitude)))}if(p_htParams.altitude){initialView.SetAltitude(p_htParams.altitude)}if(p_htParams.tilt){initialView.SetTilt(p_htParams.tilt)}if(p_htParams.direction){initialView.SetDirection(p_htParams.direction)}if(p_htParams.cameraPos){initialView.cameraLatlong=new Msn.VE.LatLong(eval(p_htParams.cameraPos[0]),eval(p_htParams.cameraPos[1]));initialView._needsPivotOperation=false}if(!startIn3DMode){SetBaseTileSource()}currentView=initialView}catch(a){if(!startIn3DMode){SetDefaultView()}else{currentView=initialView}}}else{if(!startIn3DMode){SetDefaultView()}else{currentView=initialView}}if(startIn3DMode){this.Init3DOnly()}else{this.Init2DOnly()}if(typeof p_htParams.hideCopyright=="undefined"||!p_htParams.hideCopyright){copyright=new Copyright(p_elSource);copyright.Init();copyright.Update();if(scaleBar){copyright.PinTo(scaleBar)}if(mapLegend){mapLegend.PinTo(copyright)}}if(typeof p_htParams.showMinimap!="undefined"&&p_htParams.showMinimap){var loadMinimapNow=false;if(obliqueMode!=null&&Msn.VE.MapStyle.IsViewOblique(p_htParams.mapstyle)){loadMinimapNow=true}CreateMinimap(null,null,null,loadMinimapNow,null,p_htParams.minimapVersion,p_htParams.clientToken)}if(p_htParams.showDashboard){if(p_htParams.showMapModeSwitch!=false){p_htParams.showMapModeSwitch=true}CreateDashboard(p_htParams.dashboardX,p_htParams.dashboardY,p_htParams.dashboardSize,p_htParams.dashboardId,p_htParams.showMapModeSwitch,p_htParams.obliqueEnabled,p_htParams.labelsDefault,p_htParams.dashboardVersion,p_htParams.dashboardColor)
}if(p_htParams.showMapLegend){this.CreateLegend()}if(startIn3DMode){copyright.Hide()}};AttachEvent("onstartmapstyleoblique",function(){if(targetTool){targetTool.trackMovement()}});AttachEvent("onendmapstyleoblique",function(){if(targetTool){targetTool.ignoreMovement()}});AttachEvent("onchangeview",OnChangeView);this.Init2DOnly=function(a){mvcViewFacade.OnSwitchToFlatlandView();currentView.doRoadShading=typeof p_htParams.doRoadShading!="undefined"&&p_htParams.doRoadShading==true;if(!p_htParams.fixedView){boxTool=new BoxTool;boxTool.Init();panTool=new PanTool;panTool.Init();currentTool=panTool;keyboard.attachEvent("onkeydown",KeyDown);keyboard.attachEvent("onkeyup",KeyUp);keyboard.attachEvent("onblur",StopKeyboardPan);p_elSource.attachEvent("onmousewheel",MouseWheel)}targetTool=new TargetTool;targetTool.init();if(!p_htParams.disableLogo){logo=new Logo(this,p_elSource,p_htParams.enableClickLogo,p_htParams.enableSearchLogo);logo.Init()}if(typeof copyright!="undefined"&&copyright!=null){copyright.Show()}if(obliqueMode&&currentMode!=obliqueMode){obliqueMode.UpdateAvailability()}graphicCanvas=GetGraphic(this);window.attachEvent("onresize",WindowResizeSVG);tileLayerManager.Active=true;if(currentView==null){SetDefaultView()}else{if(a==true||!Initialized2D){SetView(currentView);Initialized2D=true}SetView(null)}if(p_htParams.showScaleBar){InitScaleBar();scaleBar.Show()}Fire("oninitmode",Msn.VE.MapActionMode.Mode2D)};function InitScaleBar(){scaleBar=new ScaleBar(p_elSource);scaleBar.Init();if(currentScaleBarUnit){SetScaleBarDistanceUnit(currentScaleBarUnit)}if(copyright){copyright.PinTo(scaleBar)}AttachEvent("onendzoom",scaleBar.Update);AttachEvent("onendpan",scaleBar.Update);AttachEvent("onobliquechange",scaleBar.Update);AttachEvent("onchangemapstyle",scaleBar.Update);AttachEvent("onresize",scaleBar.Reposition)}this.Init3DOnly=function(){if(typeof LoadMapDrawing=="function"){LoadMapDrawing(null)}if(dashboard){if(window.navigator.userAgent.indexOf("Firefox")<0){var d=dashboard.GetShimmedElements(),c;for(c=0;c<d.length;c++){UpdateIFrameShim(d[c])
}}}var b;try{if(currentView==null){b=SetDefaultView()}else{var a=currentView.MakeCopy();if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)){a.SetMapStyle(lastOrthoMapStyle);a.SetZoomLevel(a.GetZoomLevel()+zoomLevelToAdjustObliqueToOrthro)}a.SetCenterLatLong(new Msn.VE.LatLong(currentView.latlong.latitude,currentView.latlong.longitude));a.cameraLatlong=currentView.cameraLatlong;b=SetView(a)}}catch(e){b=false}if(!b){this._Disable3DMode(true);return}if(!view3DCreated){return}mvcViewFacade.OnSwitchToView3D(spacecontrol);if(p_htParams.showDashboard){spacecontrol.ShowNavigationControl=true}if(typeof p_htParams.hideCopyright=="undefined"||!p_htParams.hideCopyright){spacecontrol.ShowCopyright=true}if(typeof copyright!="undefined"&&copyright!=null){copyright.Hide()}if(p_htParams.showScaleBar){spacecontrol.ShowScale=true}if(currentScaleBarUnit&&p_htParams.showScaleBar||Msn.VE.API){this.SetScaleBarDistanceUnit(currentScaleBarUnit)}if((typeof Msn.VE.API=="undefined"||!Msn.VE.API)&&window.locale){spacecontrol.DisplayMetricUnits=MapControl.Features.ScaleBarKilometers}if(mapLegend){mapLegend.UpdateShim()}spacecontrol.AttachEvent("OnHardwareCapabilitiesUpdate","OnHardwareCapabilitiesUpdate");if(spacecontrol.HardwareClassificationLevel>0){this.Setup3DManifests()}tileLayerManager.AddAllTileSourcesTo3D(spacecontrol);AttachEvent("onchangetraffic",OnView3DScaleBarPositionUpdate);AttachEvent("onchangemapstyle",OnChangeMapStyle3D);spacecontrol.AttachEvent("OnCameraChanged","OnView3DUpdateViewpoint");spacecontrol.AttachEvent("OnBeginCameraChange","OnBeginFlyTo");if(!p_htParams.fixedView){spacecontrol.AttachEvent("OnHover","OnView3DPushpinHover");spacecontrol.AttachEvent("OnHoverEnd","OnView3DHoverEnd");spacecontrol.AttachEvent("OnDropGeometry","OnView3DDropGeometry");spacecontrol.AttachEvent("OnLatLonAltClicked","OnView3DLatLonAltClicked");spacecontrol.AttachEvent("OnMouseDown","OnMouseDown3D");spacecontrol.AttachEvent("OnMouseUp","OnMouseUp3D");spacecontrol.AttachEvent("OnClick","OnClick3D");spacecontrol.AttachEvent("OnMouseOver","OnMouseOver3D");
spacecontrol.AttachEvent("OnMouseOut","OnMouseOut3D");spacecontrol.AttachEvent("OnDoubleClick","OnDoubleClick3D");spacecontrol.AttachEvent("OnModelViewSuccess","UniqueModelViewSuccess");spacecontrol.AttachEvent("OnModelViewFailure","UniqueModelViewFailure");spacecontrol.AttachEvent("OnModelFullyDownloaded","UniqueModelFullyDownloaded")}else{spacecontrol.FixedView=true}traffic3dAdded=false;if(typeof VE_TrafficManager!="undefined"&&VE_TrafficManager!=null){VE_TrafficManager.GetTrafficInfo(false)}OnView3DScaleBarPositionUpdate();if(typeof VE_BrandExplorationManager!="undefined"&&VE_BrandExplorationManager!=null){VE_BrandExplorationManager.Clear()}LoadStreetLevelGeometry(spacecontrol);LoadHiResModelsPlugin(spacecontrol);LoadWeatherPlugin(spacecontrol);if(!init3dparam){Relay3DPushpins()}Fire("oninitmode",Msn.VE.MapActionMode.Mode3D)};this.Setup3DManifests=function(){var c=currentView.mapStyle,a="http://go.microsoft.com/fwlink/?LinkID=98770",b="http://go.microsoft.com/fwlink/?LinkID=98775",d="http://go.microsoft.com/fwlink/?LinkID=98774";if(c=="a"){a="http://go.microsoft.com/fwlink/?LinkID=98771";spacecontrol.ShowAtmosphere=true}if(c=="h"){a="http://go.microsoft.com/fwlink/?LinkID=98772";spacecontrol.ShowAtmosphere=true}if(c=="r"){spacecontrol.TexturesVisible=false;if(spacecontrol.HardwareClassificationLevel<3){a="http://go.microsoft.com/fwlink/?LinkID=98769"}spacecontrol.ShowAtmosphere=false}else{spacecontrol.TexturesVisible=true}if(2==spacecontrol.HardwareClassificationLevel){d="http://go.microsoft.com/fwlink/?LinkID=98773";b="http://go.microsoft.com/fwlink/?LinkID=98776"}else{if(1==spacecontrol.HardwareClassificationLevel){d="http://go.microsoft.com/fwlink/?LinkID=98773";b=""}}if(loadBaseTiles){spacecontrol.AddImageSource("Terrain","Texture",GetManifestUrl(a),0,1)}spacecontrol.AddElevationSource("Terrain","DEM",GetManifestUrl(d),0);if(b!=""){spacecontrol.AddModelSource("Model","Model",GetManifestUrl(b))}else{spacecontrol.RemoveModelSource("Model","Model")}};this.ShowSVG=function(a){bShowSVG=a};this.getSvgLayer=function(){if(svgLayer==null){svgDiv=document.createElement("div");
svgDiv.style.position="absolute";if(bShowSVG){svgDiv.style.zIndex=60}else{svgDiv.style.zIndex=-1}svgDiv.align="left";this.resizeSVG();map.appendChild(svgDiv);svgLayer=new Msn.Drawing.SvgLayer(svgDiv,this)}return svgLayer};this.resetSvgLayer=function(){this.getSvgLayer();svgDiv.style.top=-parseInt(map.style.top)+"px";svgDiv.style.left=-parseInt(map.style.left)+"px";if(currentMode!=threeDMode&&graphicCanvas){graphicCanvas.SetOffset(offsetX,offsetY);tileLayerManager.RePositionPrintTiles()}};this.resizeSVG=function(){if(svgDiv!=null){var b=GetWindowWidth(),a=GetWindowHeight();svgDiv.style.top="0px";svgDiv.style.left="0px";svgDiv.style.width=b+"px";svgDiv.style.height=a+"px";if(currentMode!=threeDMode&&graphicCanvas){graphicCanvas.SetOffset(offsetX,offsetY);graphicCanvas.RepositionLogo(g(p_elSource).getStyle("width"),g(p_elSource).getStyle("height"));tileLayerManager.RePositionPrintTiles()}}};function WindowResizeSVG(){if(svgDiv!=null){svgDiv.style.width=GetWindowWidth()+"px";svgDiv.style.height=GetWindowHeight()+"px"}}function GetGraphic(a){if(!graphicCanvas){try{graphicCanvas=Msn.Drawing.Graphic.CreateGraphic(map,a);graphicCanvas.SetZIndex(17)}catch(b){}}return graphicCanvas}this.GetDashboard=function(){return dashboard};this.GetMinimap=function(){return minimapControl};this.DisableZoomEvents=function(a){mouseZoomDisabled=a};this.GetMouseWheelZoomToCenter=function(){return mousewheelZoomToCenter};this.SetMouseWheelZoomToCenter=function(a){mousewheelZoomToCenter=a};this.SetMinimapMode=function(){mouseZoomDisabled=true;isMinimap=true};this.SetCursor=function(a){var b=p_elSource.style;if(b.cursor!=a){b.cursor=a}};this.Destroy=function(){if(currentView){currentView.Destroy();currentView=null}if(preferredView){preferredView.Destroy();preferredView=null}if(copyright){copyright.Destroy();copyright=null}if(currentMode==threeDMode&&currentMode!=null){this.Destroy3DOnly()}else{this.Destroy2DOnly();while(pushpins.length){pushpins.pop().Destroy()}ClearLines()}if(!p_htParams.fixedView){p_elSource.detachEvent("onmousedown",MouseDown);
p_elSource.detachEvent("onmouseup",MouseUp);p_elSource.detachEvent("onmousemove",MouseMove);p_elSource.detachEvent("ondblclick",MouseDoubleClick);p_elSource.detachEvent("oncontextmenu",ContextMenu);p_elSource.detachEvent("onmousewheel",MouseWheel);p_elSource.detachEvent("onclick",MouseClick);p_elSource.detachEvent("onmouseout",MouseOut);p_elSource.detachEvent("onmouseover",MouseOver);p_elSource.detachEvent("onmouseenter",MouseEnter);p_elSource.detachEvent("onmouseleave",MouseLeave)}if(dashboard){if(typeof dashboard.Destroy!="undefined"){dashboard.Destroy()}dashboard=null}if(mapLegend){DetachEvent("onendzoom",mapLegend.Update);DetachEvent("onendpan",mapLegend.Update);DetachEvent("onobliquechange",mapLegend.Update);mapLegend.Destroy();mapLegend=null}if(dashboardContainer){dashboardContainer.detachEvent("onmousedown",IgnoreEvent);dashboardContainer.detachEvent("onmouseup",IgnoreEvent);dashboardContainer.detachEvent("onmousemove",DashboardContainerMouseMoveEvent);dashboardContainer.detachEvent("onmousewheel",IgnoreEvent);dashboardContainer.detachEvent("ondblclick",IgnoreEvent);dashboardContainer.detachEvent("oncontextmenu",IgnoreEvent);dashboardContainer.detachEvent("onkeydown",IgnoreEvent);dashboardContainer.detachEvent("onkeyup",IgnoreEvent);dashboardContainer=null}if(minimapControl){minimapControl.Destroy();minimapControl=null}if(minimapContainer){minimapContainer.detachEvent("onmousedown",IgnoreEvent);minimapContainer.detachEvent("onmouseup",IgnoreEvent);minimapContainer.detachEvent("onmousemove",DashboardContainerMouseMoveEvent);minimapContainer.detachEvent("onmousewheel",IgnoreEvent);minimapContainer.detachEvent("ondblclick",IgnoreEvent);minimapContainer.detachEvent("oncontextmenu",IgnoreEvent);minimapContainer.detachEvent("onkeydown",IgnoreEvent);minimapContainer.detachEvent("onkeyup",IgnoreEvent);minimapContainer=null}if(orthoMode){orthoMode.Destroy();orthoMode=null}if(obliqueMode){obliqueMode.Destroy();obliqueMode=null}if(threeDMode){threeDMode.Destroy();threeDMode=null}DestroyEventTable();m_clientToken=null;
p_elSource.style.backgroundColor="transparent";p_elSource.style.backgroundImage="none";p_elSource.style.filter="";keyboard=p_elSource=p_this=map=null;tileLayerManager.ClearTileLayers();cssCursors=null;cssFn=null};this.Destroy2DOnly=function(){if(!p_htParams.fixedView){keyboard.detachEvent("onkeydown",KeyDown);keyboard.detachEvent("onkeyup",KeyUp);keyboard.detachEvent("onblur",StopKeyboardPan);p_elSource.detachEvent("onmousewheel",MouseWheel)}tileLayerManager.Active=false;if(scaleBar){DetachEvent("onendzoom",scaleBar.Update);DetachEvent("onendpan",scaleBar.Update);DetachEvent("onobliquechange",scaleBar.Update);DetachEvent("onchangemapstyle",scaleBar.Update);DetachEvent("onresize",scaleBar.Reposition);scaleBar.Destroy();scaleBar=null}if(copyright){copyright.PinTo(null)}if(logo){logo.Destroy();logo=null}if(boxTool){boxTool.Destroy();boxTool=null}if(panTool){panTool.Destroy();panTool=null}if(targetTool){targetTool.destroy();targetTool=null}if(graphicCanvas){window.detachEvent("onresize",WindowResizeSVG);graphicCanvas.Destroy();graphicCanvas=null}Fire("ondestroymode",Msn.VE.MapActionMode.Mode2D)};this.Destroy3DOnly=function(){DetachEvent("onchangetraffic",OnView3DScaleBarPositionUpdate);DetachEvent("onchangemapstyle",OnChangeMapStyle3D);view3DCreated=false;try{spacecontrol.Close()}catch(c){}spacecontrol=false;window.status="";if(spacediv!=null){spacediv.removeNode(true);spacediv=null}if(dashboard&&dashboard.GetShimmedElements){var b=dashboard.GetShimmedElements(),a;for(a=0;a<b.length;a++){destroyIFrameShim(b[a].id)}}if(mapLegend){mapLegend.RemoveShim()}Fire("ondestroymode",Msn.VE.MapActionMode.Mode3D)};function OnView3DScaleBarPositionUpdate(){var a=0;if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null){if(VE_TrafficManager.turnedOn&&VE_TrafficManager.legend!=null&&VE_TrafficManager.legendPinned){a=25}}else{if(VE_TrafficManager.turnedOn){a=25}}if(spacecontrol){spacecontrol.RaiseEvent("CB24F613-FE72-442e-857A-BB2FD6BFBAA5","OnScaleBarPositionChange",a)}}function UpdateFromParent(){var a=g(p_elSource).getPagePosition();x=a.x;
y=a.y;width=p_elSource.offsetWidth;height=p_elSource.offsetHeight}function CreateDashboard(c,d,b,i,e,h,g,a,f){if(currentMode==threeDMode&&currentMode!=null){b=Msn.VE.DashboardSize.Normal}dashboard=Msn.VE.NavControlFactory(p_elSource,p_this,b,i,e,h,g,a,f);dashboard.Init();dashboardContainer=dashboard.GetElement();if(a==5){if(isFinite(parseInt(c))){dashboardContainer.style.left=c+"px"}if(isFinite(parseInt(d))){dashboardContainer.style.top=d+"px"}}}function CreateMinimap(c,d,a,f,g,h,e){minimapContainer=document.createElement("div");if(typeof a!="undefined"&&a!=null){minimapContainer.id=a}else{minimapContainer.id="MSVE_minimap"}p_elSource.appendChild(minimapContainer);minimapContainer.attachEvent("onmousedown",IgnoreEvent);minimapContainer.attachEvent("onmouseup",IgnoreEvent);minimapContainer.attachEvent("onmousemove",DashboardContainerMouseMoveEvent);minimapContainer.attachEvent("onmousewheel",IgnoreEvent);minimapContainer.attachEvent("ondblclick",IgnoreEvent);minimapContainer.attachEvent("oncontextmenu",IgnoreEvent);minimapContainer.attachEvent("onkeydown",IgnoreEvent);minimapContainer.attachEvent("onkeyup",IgnoreEvent);minimapControl=new Msn.VE.Minimap(minimapContainer,p_this,g,h);if(e){minimapControl.SetClientToken(e)}var b=f||IsMapViewOblique()||$MVEM.IsEnabled(MapControl.Features.Minimap.ShowByDefault);b=b&&IsModeEnabled(Msn.VE.MapActionMode.Mode2D);if(b){minimapControl.Init()}if(typeof c!="undefined"&&c!=null&&typeof d!="undefined"&&d!=null){minimapControl.SetPosition(c,d)}return minimapControl}function OnChangeView(){if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)){var b=GetObliqueScene();if(b!=null&&targetTool){var a=Msn.VE.Geometry,e=g(p_elSource).getPagePosition(),c=new a.Point(e.x+(map.offsetLeft-originX),e.y+(map.offsetTop-originY)),d=2/currentView.zoomLevel,h=new a.Point(c.x+b.GetWidth()/d,c.y+b.GetHeight()/d),f=new a.Rectangle(c,h);f.scale(-256);targetTool.setBoundingArea(f);a=null}b=null}if(obliqueMode){obliqueMode.UpdateAvailability()}}function SetDefaultView(){var a=new Msn.VE.MapView(p_this);
a.SetCenterLatLong(new Msn.VE.LatLong(0,0));a.SetZoomLevel(1);a.SetMapStyle(roadStyle);SetBaseTileSource(a);SetView(a);Initialized2D=true}function SetAltitude(b){Sync3dView();var a=currentView.MakeCopy();a.SetAltitude(b);SetView(a)}function SetTilt(b){Sync3dView();var a=currentView.MakeCopy();a.SetTilt(b);SetView(a)}function SetDirection(b){Sync3dView();var a=currentView.MakeCopy();a.SetDirection(b);SetView(a)}function GetCurrentMode(){return currentMode}function GetObliqueMode(){return obliqueMode}function GetOrthoMode(){return orthoMode}function GetMapWidth(){return width}function GetMapHeight(){return height}function SetMapHeight(a){height=a;p_this.h=a;p_elSource.style.height=a}function GetCurrentMapView(){return preferredView.MakeCopy()}function SetCenter(c,b){Sync3dView();var a=preferredView.MakeCopy();a.SetCenterLatLong(new Msn.VE.LatLong(c,b));SetView(a)}function SetCenterAccurate(c,b){Sync3dView();var a=preferredView.MakeCopy();a.SetCenterLatLongAccurate(new Msn.VE.LatLong(c,b));SetView(a)}function SetMapStyle(b,f,c,e,d){Sync3dView();var a=currentView.MakeCopy();a.SetMapStyle(ValidateMapStyle(b),f,c,e,d);if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)!=Msn.VE.MapStyle.IsViewOblique(b)){if(Msn.VE.MapStyle.IsViewOblique(b)){Fire("onstartmapstyleoblique");a.SetZoomLevel(1);lastOrthoZoomLevel=currentView.zoomLevel;lastOrthoMapStyle=currentView.mapStyle}else{if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)){Fire("onendmapstyleoblique");a.SetZoomLevel(lastOrthoZoomLevel)}}}a.latlong.latitude=GetCenterLatitude();a.latlong.longitude=GetCenterLongitude();if(currentMode==threeDMode){a._supressFlyToCall=true}SetView(a)}function SetScaleBarDistanceUnit(a){currentScaleBarUnit=a;if(scaleBar!=null){scaleBar.SetDistanceUnit(a);scaleBar.Update()}if(currentMode==threeDMode&&spacecontrol!=null){if(a==null){bUseKilometers=$MVEM.IsEnabled(MapControl.Features.ScaleBarKilometers)}else{bUseKilometers=a==Msn.VE.DistanceUnit.Kilometers}spacecontrol.DisplayMetricUnits=bUseKilometers}}function SetScaleBarVisibility(a){p_htParams.showScaleBar=a;
if(currentMode!=null){if(currentMode==threeDMode){if(spacecontrol!=null){spacecontrol.ShowScale=a}}else{if(a){if(!scaleBar){InitScaleBar()}scaleBar.Show()}else{if(scaleBar){scaleBar.Hide()}}}}}function ValidateMapStyle(a){if(Msn.VE.MapStyle.IsViewOrtho(a)||Msn.VE.MapStyle.IsViewOblique(a)){return a}else{return roadStyle}}function GetCenterLatitude(){if(currentMode==threeDMode){if(view3DCreated){var a=spacecontrol.GetCenterLatitude();return isNaN(a)?null:a}return null}else{if(currentView!=null&&currentView!="undefined"&&currentView.latlong!=null&&currentView.latlong!="undefined"&&currentView.latlong.latitude!=null&&currentView.latlong.latitude!="undefined"){return currentView.GetCenterLatLong().latitude}}return null}function GetCenterLongitude(){if(currentMode==threeDMode){if(view3DCreated){var a=spacecontrol.GetCenterLongitude();return isNaN(a)?null:a}return null}else{if(currentView!=null&&currentView!="undefined"&&currentView.latlong!=null&&currentView.latlong!="undefined"&&currentView.latlong.longitude!=null&&currentView.latlong.longitude!="undefined"){return currentView.GetCenterLatLong().longitude}}return null}function ComputeCenterPoint(a){currentView.latlong=currentMode.PixelToLatLong(currentView.center,currentView.zoomLevel);if(a){preferredView.Copy(currentView)}}function GetLatitude(c){var b=new VEPixel(originX+offsetX+width/2,originY+offsetY+c),a=currentMode.PixelToLatLong(b,currentView.zoomLevel);if(!a){return null}return a.latitude}function GetLongitude(c){var b=new VEPixel(originX+offsetX+c,originY+offsetY+height/2),a=currentMode.PixelToLatLong(b,currentView.zoomLevel);if(!a){return null}return a.longitude}function GetY(b){var c=new Msn.VE.LatLong(b,currentView.center.longitude),a=LatLongToPixel(c);if(!a){return null}return MathRound(a.y)}function GetX(b){var c=new Msn.VE.LatLong(currentView.center.latitude,b),a=LatLongToPixel(c);if(!a){return null}return MathRound(a.x)}function LatLongToPixel(c,a){if(a==null||typeof a=="undefined"){a=currentView.zoomLevel}var b=currentMode.LatLongToPixel(c,a);if(b!=null){if(currentMode!=threeDMode){b.x-=originX+offsetX;
b.y-=originY+offsetY}}return b}function LatLongToPixelAsync(c,a,d){if(a==null||typeof a=="undefined"){a=currentView.zoomLevel}var b=function(a){if(a!=null&&typeof a!="undefined"&&currentMode!=threeDMode){for(var b=0;b<a.length;++b){if(a[b]!=null){a[b].x-=originX+offsetX;a[b].y-=originY+offsetY}}}d(a)};currentMode.LatLongToPixelAsync(c,a,b)}function PixelToLatLong(b,a){if(a==null||typeof a=="undefined"){a=currentView.zoomLevel}var c=new VEPixel(b.x+originX+offsetX,b.y+originY+offsetY);return currentMode.PixelToLatLong(c,a)}function PixelToLatLongAsync(c,b,e){if(b==null||typeof b=="undefined"){b=currentView.zoomLevel}var d=[];for(var a=0;a<c.length;++a){d[a]=new VEPixel(c[a].x+originX+offsetX,c[a].y+originY+offsetY)}currentMode.PixelToLatLongAsync(d,b,e)}function GetZoomLevel(){return currentView.zoomLevel}function GetMapStyle(){return currentView.mapStyle}function GetMapMode(){var a=Msn.VE.MapActionMode.ModeUnknown;if(currentMode!=null){if(currentMode==threeDMode){a=Msn.VE.MapActionMode.Mode3D}else{if(currentMode==orthoMode){a=Msn.VE.MapActionMode.Mode2D}else{if(currentMode==obliqueMode){a=Msn.VE.MapActionMode.ModeOblique}}}}return a}function GetMode(){var a=Msn.VE.MapActionMode.ModeUnknown;if(currentMode!=null){if(currentMode==threeDMode){a=Msn.VE.MapActionMode.Mode3D}else{if(currentMode==orthoMode){a=Msn.VE.MapActionMode.Mode2D}else{if(currentMode==obliqueMode){if(this.GetDashboard().GetMode()==1){a=Msn.VE.MapActionMode.Mode2D}else{a=Msn.VE.MapActionMode.Mode3D}}}}}return a}function GetAltitude(){return currentView.GetAltitude()}function GetTilt(){return currentView.GetTilt()}function GetDirection(){return currentView.GetDirection()}function EnableMode(b,a){switch(b){case Msn.VE.MapActionMode.Mode3D:this._Enable3DMode(a);break;case Msn.VE.MapActionMode.Mode2D:default:this._Disable3DMode(a);UnHidePins()}}function _Enable3DMode(a){if(currentMode!=threeDMode&&currentMode!=null){VE_3DPhotoPluginObj=0;VE_3DGeoCommunityPluginObj=0;VE_3DStreetLevelGeometryObj=0;VE_3DWeatherPluginObj=0;VE_3DHiResModelsPluginObj=0;PluginEventRegistered=0;
PhotoPluginEventRegistered=0;GeoCommunityPluginEventRegistered=0;StreetLevelGeometryEventRegistered=0;previousMode=currentMode;currentMode=threeDMode;this.Destroy2DOnly();if(typeof a!="undefined"){init3dparam=a}this.Init3DOnly()}}function _Disable3DMode(a){if(currentMode==threeDMode&&currentMode!=null){previousMode=currentMode;currentMode=orthoMode;this.Destroy3DOnly();this.Init2DOnly(a)}}function ControlReady(){return IsModeEnabled(Msn.VE.MapActionMode.Mode2D)||IsModeEnabled(Msn.VE.MapActionMode.Mode3D)&&Get3DControl()!=null}function Get3DControl(){if(view3DCreated){return spacecontrol}return null}function IsModeEnabled(b){var a=currentMode!=null&&currentMode==threeDMode;switch(b){case Msn.VE.MapActionMode.Mode2D:return !a;break;case Msn.VE.MapActionMode.Mode3D:return a}return false}function Get3DVisibleArea(acceptRegionAroundCenter){if(!view3DCreated){return null}var lat1,lon1,lat2,lon2,lat3,lon3,lat4,lon4,aroundcenter,ret=spacecontrol.QueryRegion();eval(ret);if((acceptRegionAroundCenter=="undefined"||acceptRegionAroundCenter==false)&&aroundcenter==1){return null}var points=[];points.push(new Msn.VE.LatLong(lat1,lon1));points.push(new Msn.VE.LatLong(lat2,lon2));points.push(new Msn.VE.LatLong(lat3,lon3));points.push(new Msn.VE.LatLong(lat4,lon4));return points}function Show3DTraffic(a){if(view3DCreated){if(!traffic3dAdded||a){spacecontrol.AddImageSource("Terrain","Traffic",GetManifestUrl("http://go.microsoft.com/fwlink/?LinkID=98777"),1,0.6);traffic3dAdded=true}}}function Remove3DTraffic(){if(view3DCreated&&traffic3dAdded){spacecontrol.RemoveImageSource("Terrain","Traffic");traffic3dAdded=false}}function Show3DBirdseye(a,b){if(currentMode==threeDMode&&spacecontrol){ProcessPhotoPluginActionIn3D("PhotosEnabled","enabled="+(a?"1":"0")+";labels="+(b?"1":"0"),spacecontrol);p_this.Set3DPhotoPluginActive(a);p_this.UpdateCopyright()}}function Sync3dView(){if(spacecontrol&&spaceCameraIsFlying){spacecontrol.RaiseCameraChangedEvent()}}function OnBeginCameraUpdate(){cameraUpdateCount++;spaceCameraIsFlying=true}function OnEndCameraUpdate(){spaceCameraIsFlying=false
}function IsCameraFlying(){return spaceCameraIsFlying}function GetMetersPerPixel(b,a){if(!b){b=currentView.latlong.latitude}if(!a){a=currentView.zoomLevel}return Math.cos(DegToRad(b))*currentMode.MetersPerPixel(a)}function Fill(){var b=g(p_elSource).getStyle("width"),a=g(p_elSource).getStyle("height"),f=parseInt(b)-width,h=parseInt(a)-height;if(!/px$/.test(b)){width=p_elSource.clientWidth||p_elSource.offsetWidth}else{width=parseInt(b)}if(!/px$/.test(a)){height=p_elSource.clientHeight||p_elSource.offsetHeight}else{height=parseInt(a)}if(!panning){if(currentMode!=threeDMode){panning=true;var e=g(map).getComputedPosition(),c={x:e.x+f/2,y:e.y+h/2};offsetX=-c.x;offsetY=-c.y;var d=new VEPixel(width/2+originX+offsetX,height/2+originY+offsetY);currentView.SetCenter(d);preferredView.SetCenter(new VEPixel(d.x,d.y));window.setTimeout(tileLayerManager.PanView,1);g(map).slideToPoint(c,"quickly","MAP_SLIDE",function(){panning=false},Gimme.Animation.AccelerationLines.quickStartDecelerate)}else{PanToView(currentView)}}if(resizeInProgress){resizeInProgress=false}}function GetSourceWidth(){var b=g(p_elSource).getStyle("width"),a;if(!/px$/.test(b)){a=p_elSource.clientWidth||p_elSource.offsetWidth}else{a=parseInt(b)}return a}function GetSourceHeight(){var b=g(p_elSource).getStyle("height"),a;if(!/px$/.test(b)){a=p_elSource.clientHeight||p_elSource.offsetHeight}else{a=parseInt(b)}return a}function Resize(b,a){if(resizeTimer!=null&&typeof resizeTimer=="number"){window.clearTimeout(resizeTimer)}p_this.w=b;p_this.h=a;resizeTimer=window.setTimeout(p_this.FireResize,250)}this.FireResize=function(){if(resizeInProgress){return}else{resizeInProgress=true}var b=p_this.w,a=p_this.h;if(!b||b<=0||!a||a<=0){Fill()}else{p_elSource.style.width=b+"px";p_elSource.style.height=a+"px";UpdateFromParent();if(currentMode==null||currentMode!=threeDMode){if(b&&b>=0){width=b}if(a&&a>=0){height=a}}PanToView(currentView)}if(copyright){copyright.Reposition()}if(scaleBar){scaleBar.Reposition()}if(!isVML){p_this.resizeSVG()}Fire("onresize")};function IsObliqueAvailable(){return obliqueMode?obliqueMode.IsAvailable():false
}function GetObliqueScene(){return obliqueMode?obliqueMode.GetScene():null}function SetAnimationEnabled(a){animatedMovementEnabled=a}function IsAnimationEnabled(){return animatedMovementEnabled&&currentMode!=threeDMode}function SetObliqueScene(a){if(obliqueMode){SetMapStyle(obliqueStyle,a,null)}}function SetObliqueLocation(f,c,d,e){if(obliqueMode){Sync3dView();var a=currentView.MakeCopy(),b;if(IsMapViewOblique()){b=GetMapStyle()}else{b=p_htParams.labelsDefault?obliqueHybridStyle:obliqueStyle}a.SetMapStyle(b,null,c);a.SetZoomLevel(d);if(!Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)){Fire("onstartmapstyleoblique");lastOrthoZoomLevel=currentView.zoomLevel;lastOrthoMapStyle=currentView.mapStyle}a.SetCenterLatLong(f);a.callback=e;SetView(a)}}function SetObliqueOrientation(d,c,b){if(obliqueMode){var a;if(IsMapViewOblique()){a=GetMapStyle()}else{a=p_htParams.labelsDefault?obliqueHybridStyle:obliqueStyle}SetMapStyle(a,null,d,c,b)}}function Debug(a){debug=a}function GetMapLegend(){return mapLegend}function SetFocus(){if(currentMode==threeDMode){spacecontrol.Focus()}else{keyboard.focus()}}function StopKeyboardPan(){if(panning&&keyboardPan){StopContinuousPan()}}function UpdatePreferredView(){preferredView.Copy(currentView)}function GetCenterOffset(){if(currentMode!=null&&currentMode==threeDMode){return new VEPixel(0,0)}return mapCenterOffset}function SetCenterOffset(a){if(typeof a!="undefined"&&a!=null){mapCenterOffset=a}}function GetLastViewChangeType(){var a=lastViewChangeType;lastViewChangeType=null;return a}function ShowNonIENotSupportedDialog(){Fire("onerror",CreateEvent(currentView.latlong,currentView.zoomLevel,L_BrowserNotSupported_Text.replace(/%1/g,'<a href="'+L_SupportedBrowserDownloadUrl_Text+'" target="_blank">').replace(/%3/g,L_SupportedBrowserDownloadUrl_Text).replace(/%2/g,"</a>")))}function DelayedHWDialog(){ShowMessage(L_NoHardwareAcceleration_Text)}function SetShowMapModeSwitch(a){if(dashboard&&dashboard.constructor==Msn.VE.NavAction){dashboard.SetShowMapModeSwitch(a)}}function SetTilePixelBuffer(a){buffer=a<maxTilePixelBuffer?a:maxTilePixelBuffer
}function SetClientToken(a){m_clientToken=a;if(tileLayerManager){tileLayerManager.SetClientToken(mapTiles,m_clientToken);tileLayerManager.SetClientToken(trafficTiles,m_clientToken)}if(minimapControl){minimapControl.SetClientToken(m_clientToken)}if(obliqueMode){obliqueMode.SetUseOriginTiles(p_htParams.useOriginTiles);obliqueMode.SetClientToken(m_clientToken)}}function GetTopPx(){if(typeof p_elSource!="undefined"&&p_elSource!=null){return g(p_elSource).getPagePosition().y}else{return 0}}function GetLeftPx(){if(typeof p_elSource!="undefined"&&p_elSource!=null){return g(p_elSource).getPagePosition().x}else{return 0}}function GetObliqueAvailability(b,a){if(obliqueMode){obliqueMode.GetObliqueAvailability(b,a)}else{if(typeof a=="function"){a(false)}}}function GetMapSurface(){return map}this.CreateLegend=function(){if(!mapLegend){mapLegend=new MapLegend(p_elSource);mapLegend.Init();if(copyright){mapLegend.PinTo(copyright)}}return mapLegend};function CalculateTileViewPort(a,b,d,c,e){return tileLayerManager.CalculateTileViewPort(a,b,d,c,e)}function GetCurrentTileViewPort(){return tileLayerManager.GetViewPort()}function SetPrintable(a){if(a){graphicCanvas.CreatePrintLayer(map,this,g(p_elSource).getStyle("width"),g(p_elSource).getStyle("height"));tileLayerManager.SetPrintable(true);graphicCanvas.AddLogo(logo.GetURL());g(p_elSource).addClass("MSVE_Printable_Map")}else{tileLayerManager.SetPrintable(false);graphicCanvas.RemovePrintLayer(this);g(p_elSource).removeClass("MSVE_Printable_Map")}}function IsMapViewOblique(){return Msn.VE.MapStyle.IsViewOblique(GetMapStyle())}function IsMapViewOrtho(){return Msn.VE.MapStyle.IsViewOrtho(GetMapStyle())}function GetTileGeneration(a){return generations[a]}function ClipView(b,c){var a=ShiftView(b,c,0,0);if(typeof a!="undefined"&&a!=null){b.SetCenter(new VEPixel(b.center.x+a.x,b.center.y+a.y))}}function ShiftView(b,a,c,d){if(b!=null&&b.center!=null&&a!=null&&a!="undefined"){c=ClipDelta(c,width,b.center.x-width/2,b.zoomLevel,a.z1,a.x1,a.x2,b.mapStyle);d=ClipDelta(d,height,b.center.y-height/2,b.zoomLevel,a.z1,a.y1,a.y2,b.mapStyle);
return new VEPixel(c,d)}}function ClipDelta(a,b,d,g,f,i,h){var c=tileSize*i*Math.pow(2,g-f),e=tileSize*h*Math.pow(2,g-f);if(IsMapViewOblique()){c-=Math.ceil(b/2);e+=Math.ceil(b/2)}if(b>e-c){a=(e-c-b)/2-d+c}else{if(d+a<c){a=c-d}else{if(d+b+a>e){a=e-d-b}}}return a}function VECopyrightTableEntry(b,a,e,f,c,d){this.MinZoomLevel=b;this.MaxZoomLevel=a;this.MinLatitude=e;this.MinLongitude=f;this.MaxLatitude=c;this.MaxLongitude=d}VECopyrightTableEntry.prototype.IsMatch=function(b,c,a){var d=false;if(b>=this.MinZoomLevel&&b<=this.MaxZoomLevel&&(c>=this.MinLatitude&&c<=this.MaxLatitude)&&(a>=this.MinLongitude&&a<=this.MaxLongitude)){d=true}return d};function VECopyrightTable(){var L_MapControlImageCourtesyOfPictometry_Text="Pictometry Bird’s Eye &copy; 2010 Pictometry International Corp";var L_MapControlImageCourtesyOfPictometry_CAN_Text="Pictometry Bird’s Eye &copy; 2010 MDA Geospatial Services Inc.";var L_MapControlImageCourtesyOfPictometry_AUS_Text="Pictometry Bird’s Eye &copy; 2010 AAMHatch Pty Ltd";var L_MapControlImageCourtesyOfBlom_Text="&copy; 2010 Blom";var L_MapControlImageCourtesyOfNAVTEQ_Text="&copy; 2010 NAVTEQ";var L_MapControlImageCourtesyOfAND_Text="&copy; AND";var L_MapControlImageCourtesyOfMapDataSciences_Text="&copy; 2010 MapData Sciences Pty Ltd, PSMA";var L_MapControlImageCourtesyOfZenrin_Text="&copy; 2010 Zenrin";var L_MapControlImageCourtesyOfIntermap_Text="&copy; 2010 Intermap";var L_MapControlImageCourtesyOfDigitalGlobe_Text="&copy; 2010 DigitalGlobe";var L_MapControlImageCourtesyOfNASA_Text="Image courtesy of NASA";var L_MapControlImageCourtesyOfHarrisCorp_Text="&copy; Harris Corp, Earthstar Geographics LLC";var L_MapControlImageCourtesyOfUSGS_Text="Image courtesy of USGS";var L_MapControlImageCourtesyOfGetmapping_Text="&copy; Getmapping plc";var L_MapControlImageCourtesyOfGeoEye_Text="&copy; 2010 GeoEye";var L_MapControlImageCourtesyOfPasco_Text="&copy; 2010 Pasco";var L_MapControlImageCourtesyOfIntergraph_Text="&copy; GeoContent / (p) Intergraph";var L_MapControlImageCourtesyOfTerraItaly_Text="&copy; 2010 TerraItaly";
var L_MapControlImageCourtesyOfIntermap_Text="&copy; 2010 Intermap";var L_MapControlImageCourtesyOfIndianaMap_Text="Image courtesy of the IndianaMap";var L_MapControlImageCourtesyOfStateOfNevada_Text="Image courtesy of the Nevada State Mapping Advisory Committee";var L_MapControlImageCourtesyOfInterAtlas_Text="&copy; 2010 InterAtlas";var L_MapControlImageCourtesyOfEurosense_Text="&copy; 2010 Eurosense";var L_MapControlImageCourtesyOfIGP_Text="&copy; 2010 IGP";var L_MapControlImageCourtesyOfIGN_Text="&copy; 2010 IGN";var L_MapControlImageCourtesyOfBC_Text="&copy; Province of British Columbia";var L_MapControlImageCourtesyOfBEV_Text="&copy; 2010 BEV / (p) Intergraph";var L_MapControlImageCourtesyOfBlom_Text="&copy; 2010 Blom";var L_MapControlImageCourtesyOfAerialsExpress_Text="&copy; 2010 Aerials Express";var L_MapControlImageCourtesyOfLACounty_Text="Image courtesy of LAR-IAC";var L_MapControlImageCourtesyOfTerraPixel_Text="ImagePatch.com";var L_MapControlImageCourtesyOfStateOfMichigan_Text="State of Michigan";var m_tableKeys=[];m_tableKeys[Msn.VE.MapStyle.Oblique]=[L_MapControlImageCourtesyOfPictometry_Text,L_MapControlImageCourtesyOfPictometry_CAN_Text,L_MapControlImageCourtesyOfPictometry_AUS_Text,L_MapControlImageCourtesyOfBlom_Text];m_tableKeys[Msn.VE.MapStyle.Road]=[L_MapControlImageCourtesyOfNAVTEQ_Text,L_MapControlImageCourtesyOfAND_Text,L_MapControlImageCourtesyOfMapDataSciences_Text,L_MapControlImageCourtesyOfZenrin_Text,L_MapControlImageCourtesyOfIntermap_Text];m_tableKeys[Msn.VE.MapStyle.Aerial]=[L_MapControlImageCourtesyOfDigitalGlobe_Text,L_MapControlImageCourtesyOfNASA_Text,L_MapControlImageCourtesyOfHarrisCorp_Text,L_MapControlImageCourtesyOfUSGS_Text,L_MapControlImageCourtesyOfGetmapping_Text,L_MapControlImageCourtesyOfGeoEye_Text,L_MapControlImageCourtesyOfPasco_Text,L_MapControlImageCourtesyOfIntergraph_Text,L_MapControlImageCourtesyOfTerraItaly_Text,L_MapControlImageCourtesyOfIntermap_Text,L_MapControlImageCourtesyOfIndianaMap_Text,L_MapControlImageCourtesyOfStateOfNevada_Text,L_MapControlImageCourtesyOfInterAtlas_Text,L_MapControlImageCourtesyOfEurosense_Text,L_MapControlImageCourtesyOfIGP_Text,L_MapControlImageCourtesyOfIGN_Text,L_MapControlImageCourtesyOfBC_Text,L_MapControlImageCourtesyOfBEV_Text,L_MapControlImageCourtesyOfBlom_Text,L_MapControlImageCourtesyOfAerialsExpress_Text,L_MapControlImageCourtesyOfLACounty_Text,L_MapControlImageCourtesyOfTerraPixel_Text,L_MapControlImageCourtesyOfStateOfMichigan_Text];
var m_table=[];m_table[Msn.VE.MapStyle.Oblique]=[];m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfPictometry_Text]=[];m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfPictometry_Text].push(new VECopyrightTableEntry(1,20,10,-165,75,-45));m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfPictometry_Text].push(new VECopyrightTableEntry(1,20,10,90,72,165));m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfPictometry_CAN_Text]=[];m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfPictometry_CAN_Text].push(new VECopyrightTableEntry(1,20,41.3,-142,70,-50));m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfPictometry_AUS_Text]=[];m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfPictometry_AUS_Text].push(new VECopyrightTableEntry(1,20,-60,90,0,180));m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfBlom_Text]=[];m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfBlom_Text].push(new VECopyrightTableEntry(1,20,34,-13,72,35));m_table[Msn.VE.MapStyle.Road]=[];m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text]=[];m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(1,9,-90,-180,90,180));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,14,-180,90,-50));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,27,-32,40,-13));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,35,-11,72,20));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,21,20,72,32));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,21.92,113.14,22.79,114.52));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,21.73,119.7,25.65,122.39));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,0,98.7,8,120.17));
m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,0.86,103.2,1.92,104.45));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfAND_Text]=[];m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfAND_Text].push(new VECopyrightTableEntry(10,21,-90,-180,90,180));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfMapDataSciences_Text]=[];m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfMapDataSciences_Text].push(new VECopyrightTableEntry(5,21,-45,111,-9,156));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfMapDataSciences_Text].push(new VECopyrightTableEntry(5,21,-49.7,164.42,-30.82,180));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfZenrin_Text]=[];m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfZenrin_Text].push(new VECopyrightTableEntry(4,21,23.5,122.5,46.65,151.66));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfIntermap_Text]=[];m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfIntermap_Text].push(new VECopyrightTableEntry(1,21,49,-11,60,2));m_table[Msn.VE.MapStyle.Aerial]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,-67,-179.99,27,0));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,27,-179.99,87,-126.5));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,48.4,-126.5,87,-5.75));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,-67,28,86.5,179.99));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,-67,0,37.8,28));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,37.7,18.5,59.8,28));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,43,-81.6,48.4,-10));
m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,27,-70,43,-10));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,27,-10,35.8,0));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,27,-120,32.3,-105.8));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,43.4,13.78,54.9,18.5));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfNASA_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfNASA_Text].push(new VECopyrightTableEntry(1,8,-90,-180,90,180));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfHarrisCorp_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfHarrisCorp_Text].push(new VECopyrightTableEntry(9,13,-90,-180,90,180));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfUSGS_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfUSGS_Text].push(new VECopyrightTableEntry(14,17,17.99,-150.11,61.39,-65.57));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGetmapping_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGetmapping_Text].push(new VECopyrightTableEntry(14,21,49.94,-6.82,60.17,1.78));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,48.95,-152,65.5,-95.4));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,45.15,-73.2,48.9,-70.2));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,31.87,-67.56,49,-50.46));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,-23,-180,30,-145));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,-37.7,-110,26.5,-33));
m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,-46,-20,67,180));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfPasco_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfPasco_Text].push(new VECopyrightTableEntry(14,21,23.5,122.5,46.65,151.66));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIntergraph_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIntergraph_Text].push(new VECopyrightTableEntry(14,21,47,5,55.5,16));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfTerraItaly_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfTerraItaly_Text].push(new VECopyrightTableEntry(14,21,43.15,6.5,47.15,14));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfTerraItaly_Text].push(new VECopyrightTableEntry(14,21,41.3,9.9,43.15,16.4));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfTerraItaly_Text].push(new VECopyrightTableEntry(14,21,36.5,7.9,41.3,18.7));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIntermap_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIntermap_Text].push(new VECopyrightTableEntry(1,21,49,-11,60,2));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIndianaMap_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIndianaMap_Text].push(new VECopyrightTableEntry(14,21,37.7,-88.2,41.9,-84.7));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfStateOfNevada_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfStateOfNevada_Text].push(new VECopyrightTableEntry(14,21,34.85,-120.2,42.12,-113.91));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfInterAtlas_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfInterAtlas_Text].push(new VECopyrightTableEntry(14,21,48.37,1.4,49.28,3.37));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfInterAtlas_Text].push(new VECopyrightTableEntry(14,21,47.72,1.67,48.05,2.18));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfInterAtlas_Text].push(new VECopyrightTableEntry(14,21,45.55,4.57,45.95,5.33));
m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfInterAtlas_Text].push(new VECopyrightTableEntry(14,21,43.18,4.92,43.77,5.82));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfEurosense_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfEurosense_Text].push(new VECopyrightTableEntry(14,21,51,3,53.65,7.67));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfEurosense_Text].push(new VECopyrightTableEntry(14,21,50.58,5.42,51,5.47));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGP_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGP_Text].push(new VECopyrightTableEntry(14,21,36.88,-9.6,42.27,-6));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,42,-5,51.25,8.5));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,41.25,8.3,43.1,9.65));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,17.85,-63.17,18.15,-62.77));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,15.75,-61.9,16.55,-60.9));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,14.35,-61.25,14.95,-60.75));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,2.25,-54.65,6,-51.4));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,-21.5,55,-20.75,56));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,46.7,-56.5,47.2,-56.1));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBC_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBC_Text].push(new VECopyrightTableEntry(14,18,48.99,-139.05,60,-114.05));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBEV_Text]=[];
m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBEV_Text].push(new VECopyrightTableEntry(14,21,46.25,9.4,49.2,17.3));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBlom_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBlom_Text].push(new VECopyrightTableEntry(14,21,36.1,-9.51,51.04,11.67));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBlom_Text].push(new VECopyrightTableEntry(14,21,55.69,9.8,61.17,13.23));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBlom_Text].push(new VECopyrightTableEntry(14,21,62.2,25.82,62.24,25.89));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfAerialsExpress_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfAerialsExpress_Text].push(new VECopyrightTableEntry(14,21,34.63,-90.41,35.52,-89.48));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfLACounty_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfLACounty_Text].push(new VECopyrightTableEntry(14,21,33.27,-119.02,34.9,-117.59));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfTerraPixel_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfTerraPixel_Text].push(new VECopyrightTableEntry(14,21,25.74,-106.76,36.63,-93.97));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfTerraPixel_Text].push(new VECopyrightTableEntry(14,21,34.36,-93.14,35.44,-92));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfStateOfMichigan_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfStateOfMichigan_Text].push(new VECopyrightTableEntry(14,21,41.68,-86.87,45.89,-82.91));this.CreditsFor=function(a,i,j,h){var e=[];if(a!="undefined"&&a!=null&&typeof m_tableKeys[a]!="undefined"&&m_tableKeys[a]!=null){var k=m_tableKeys[a].length;for(var c=0;c<k;++c){var f=m_tableKeys[a][c],d=m_table[a][f],g=d.length;for(var b=0;b<g;++b){if(d[b].IsMatch(i,j,h)){e.push(f);break}}}}return e};this.CreditsForView=function(a){var b=[];b.push(L_MapCopyrightMicrosoft);if(a.mapStyle==Msn.VE.MapStyle.Hybrid){b=b.concat(this.CreditsFor(Msn.VE.MapStyle.Road,a.zoomLevel,a.latlong.latitude,a.latlong.longitude));
b=b.concat(this.CreditsFor(Msn.VE.MapStyle.Aerial,a.zoomLevel,a.latlong.latitude,a.latlong.longitude))}else{if(a.mapStyle==Msn.VE.MapStyle.ObliqueHybrid){b=b.concat(this.CreditsFor(Msn.VE.MapStyle.Road,17,a.latlong.latitude,a.latlong.longitude));b=b.concat(this.CreditsFor(Msn.VE.MapStyle.Oblique,a.zoomLevel,a.latlong.latitude,a.latlong.longitude))}else{if(a.mapStyle==Msn.VE.MapStyle.Shaded){b=b.concat(this.CreditsFor(Msn.VE.MapStyle.Road,a.zoomLevel,a.latlong.latitude,a.latlong.longitude))}else{b=b.concat(this.CreditsFor(a.mapStyle,a.zoomLevel,a.latlong.latitude,a.latlong.longitude))}}}if(view3DCreated&&a.mapStyle!=Msn.VE.MapStyle.Oblique&&photoplugin3dActive){b=b.concat(this.CreditsFor(Msn.VE.MapStyle.Oblique,a.zoomLevel,a.latlong.latitude,a.latlong.longitude))}if(typeof VE_TrafficManager!=="undefined"){if(VE_TrafficManager.turnedOn&&L_MapCopyrightTraffic!=""){var d=false;if(L_MapControlImageCourtesyOfNAVTEQ_Text){for(var c=0;c<b.length;c++){if(b[c]==L_MapControlImageCourtesyOfNAVTEQ_Text){d=true;b.splice(c+1,0,L_MapCopyrightTraffic);break}}}if(!d){b.push(L_MapCopyrightTraffic)}}}return b}}var g_sVECopyrightTable=new VECopyrightTable;function Copyright(f){var b=document.createElement("div"),a=document.createElement("div"),d=null,c=null;this.Show=function(){f.appendChild(b);f.appendChild(a)};this.Hide=function(){try{f.removeChild(b);f.removeChild(a)}catch(c){}};this.Init=function(){b.className="MSVE_Copyright MSVE_CopyrightBackground";a.className="MSVE_Copyright MSVE_CopyrightForeground";e();this.Show()};this.Destroy=function(){this.Hide();d=null;c=null;b=a=null};function e(){var e=0;if(d&&d.style.display!=="none"){var h=parseInt(g(d).getStyle("height")),f=parseInt(d.style.bottom);e+=(isNaN(h)?0:h)+(isNaN(f)?0:f)}if(b){b.style.bottom=e+"px"}if(a){a.style.bottom=e+1+"px"}if(c){window.setTimeout(c.Reposition,1)}}function j(){var g=g_sVECopyrightTable.CreditsForView(currentView),d="",f="";for(var c=0;c<g.length;++c){if(c>0){if(c==2){d+="\n"}else{d+="  "}}f+="<span>"+g[c]+"</span> ";d+=g[c]}if(view3DCreated){spacecontrol.SetCopyrightString(d)
}b.innerHTML=f;a.innerHTML=f;e()}function i(){e()}function k(b){c=b;if(c){c.SetPinElement(a)}}function h(a){d=a;e()}this.Reposition=e;this.Update=j;this.SetOffset=i;this.PinTo=k;this.SetPinElement=h}function MapEvent(f,d,e,a,c,b,g){this.view=f;this.oblique=d;this.error=e;this.requestedView=a;this.elementID=c;this.mouseButton=b;this.e=g}function CreateEvent(b,f,c,d,e,n,g,h){var a=currentView.MakeCopy();if(b!=null&&b instanceof Msn.VE.LatLong){if(Msn.VE.API!=null){var m=new VELatLongFactory(new VELatLongFactorySpecFromMapView(a));a.LatLong=m.CreateVELatLong(b.latitude,b.longitude);a.latlong=b}else{a.latlong=b}if(typeof g!="undefined"&&g!=null){a.altitude=parseFloat(g)}else{a.altitude=0}}if(f!=null&&typeof f=="number"){a.zoomLevel=f}if(c==null||typeof c=="undefined"){c=""}var j=null;if(obliqueMode){j=obliqueMode.GetEventInfo()}var i=null;if(d!=null&&d instanceof Msn.VE.MapView){i=d.MakeCopy()}var k=null;if(typeof e!="undefined"&&e!=null){k=e}var l=null;if(typeof h!="undefined"&&h!=null){l=h}return new MapEvent(a,j,c,i,k,n,l)}function CreateCustomEvent(h,b,d){var a=new MapEvent;if(d){a.error=d.error}a.eventName=h;a.zoomLevel=currentView.zoomLevel;a.mapStyle=currentView.mapStyle;if(currentMode!=threeDMode){a.birdseyeSceneID=currentView.sceneId;a.birdseyeSceneOrientation=currentView.sceneOrientation;if(b){a.leftMouseButton=IsLeftMouseButton(b);a.rightMouseButton=IsRightMouseButton(b);a.middleMouseButton=IsMiddleMouseButton(b);a.mouseWheelChange=GetMouseScrollDelta(b);a.screenX=b.screenX;a.screenY=b.screenY;var e=Gimme.Screen.getMousePosition(b);a.clientX=e.x;a.clientY=e.y;var f=g(p_elSource).getPagePosition();a.mapX=a.clientX-f.x;a.mapY=a.clientY-f.y;a.keyCode=b.keyCode;a.altKey=b.altKey;a.ctrlKey=b.ctrlKey;a.shiftKey=b.shiftKey;a.elementID=null;var c=GetTarget(b);while(typeof c!="undefined"&&c!=null){if(typeof c.id!="undefined"&&c.id!=null&&c.id.indexOf(MC_IID_NAMESPACE)==0&&c.tagName!="CANVAS"){a.elementID=c.id;break}else{if(typeof c.className!="undefined"&&c.className!=null&&c.className=="MSVE_MapContainer"){break}else{c=c.parentElement
}}}}}else{if(d){if(d.view){a.latLong=d.view.LatLong}else{a.latLong=null}a.elementID=d.elementID;a.leftMouseButton=d.mouseButton=="Left";a.rightMouseButton=d.mouseButton=="Right";a.middleMouseButton=d.mouseButton=="Middle";a.mouseWheelChange=0;a.keyCode=0;a.altKey=false;a.ctrlKey=false;a.shiftKey=false}}return a}function AttachEvent(d,c){var a=defaultEventTable[d];if(!a){a=[];defaultEventTable[d]=a}for(var b=0;b<a.length;b++){if(a[b]==c){return true}}a.push(c)}function DetachEvent(d,c){var a=defaultEventTable[d];if(!a){return}for(var b=0;b<a.length;b++){if(a[b]==c){a.splice(b,1)}}}function AttachCustomEvent(d,c){var a=customEventTable[d];if(!a){a=[];customEventTable[d]=a}for(var b=0;b<a.length;b++){if(a[b]==c){return true}}a.push(c)}function DetachCustomEvent(d,c){var a=customEventTable[d];if(a){for(var b=0;b<a.length;b++){if(a[b]==c){a.splice(b,1)}}}}function IsEventAttached(a){var b=customEventTable[a],c=defaultEventTable[a];return c!=null||b!=null}function Fire(b,a){FireCustomEvent(b,a);FireDefaultEvent(b,a)}function FireDefaultEvent(d,b){var a=defaultEventTable[d];if(!b){b=CreateEvent()}if(a){for(var c=0;c<a.length;c++){a[c](b)}}}var currentShapeID=null;function FireCustomEvent(d,a){var b=false,c=customEventTable[d];if(c){if(a&&a instanceof MapEvent){var f=window.event;a=CreateCustomEvent(d,f,a)}else{a=CreateCustomEvent(d,a,null)}for(var e=0;e<c.length;e++){b=b|c[e](a)}}return b}function DisposeAllCustomEvent(){while(customEventTable.length){var a=customEventTable.pop();while(a.length){a.pop()}a=null}}function DestroyEventTable(){while(defaultEventTable.length){var a=defaultEventTable.pop();while(a.length){a.pop()}a=null}defaultEventTable=null;DisposeAllCustomEvent();customEventTable=null}function KeyDown(c){if(isMinimap){return false}c=GetEvent(c);if(FireCustomEvent("onkeydown",c)){return false}var e=c.ctrlKey?5:1,d=keyboardPanSpeed*e,a=panningX,b=panningY;switch(c.keyCode){case 9:case 17:case 18:if(panning&&keyboardPan){StopContinuousPan()}return true;case 37:a=-d;break;case 38:b=-d;break;case 39:a=d;break;case 40:b=d;
break;case 107:case 187:case 61:case 43:a=0;b=0;ZoomIn();break;case 109:case 189:a=0;b=0;ZoomOut();break;case 65:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)){a=0;b=0;SetMapStyle(aerialStyle)}break;case 72:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)){a=0;b=0;SetMapStyle(hybridStyle)}break;case 82:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Road)){a=0;b=0;SetMapStyle(roadStyle)}break;case 66:if($MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){if(obliqueMode&&obliqueMode.IsAvailable()){a=0;b=0;SetMapStyle(obliqueHybridStyle)}}break;case 79:if($MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){if(obliqueMode&&obliqueMode.IsAvailable()){a=0;b=0;SetMapStyle(obliqueStyle)}}break;case 51:case 99:if($MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)){p_this.EnableMode(Msn.VE.MapActionMode.Mode3D)}}if(a||b){ContinuousPan(a,b,null,true)}FireDefaultEvent("onkeydown");return false}function KeyUp(a){a=GetEvent(a);if(FireCustomEvent("onkeyup",a)){return false}var b=panningX,c=panningY,d=true;switch(a.keyCode){case 37:b=0;break;case 38:c=0;break;case 39:b=0;break;case 40:c=0;break;default:d=false}if(d){ContinuousPan(b,c,null,true)}if(FireCustomEvent("onkeypress",a)){return false}}var northLatitude=0,southLatitude=0,westLongitude=0,eastLongitude=0;function AddLine(h,f,g,l,n,m,a,d,i,k,j){if(h==null||f==null||g==null||a==null||d==null){return null}var e=[];for(var b=0;b<a.length;b++){e.push(BuildRegionHeap(a[b],0,a[b].length-1))}var c=new Line;c.Init(h,f,g,l,n,m,e,d,i,k,j);lines.push(c);return c}function RemoveLine(c){for(var a=0;a<lines.length;a++){var b=lines[a];if(b.id==c){lines.splice(a,1);b.Destroy();return}}}function ClearLines(){while(lines.length>0){lines.pop().Destroy()}}function ShowLines(){graphicCanvas.Clear();for(var a=0;a<lines.length;a++){lines[a].StartLine();lines[a].Show()}}function HideLines(){for(var a=0;a<lines.length;a++){lines[a].Hide();lines[a].RemoveFromMap()}}function UpdateLines(){if(typeof graphicCanvas==="object"&&graphicCanvas!==null){graphicCanvas.Clear()}if(!isVML){currentView.GetMap().resetSvgLayer()
}for(var a=0;a<lines.length;a++){lines[a].UpdateLine()}}function BuildRegionHeap(f,e,g){var h=g-e+1;if(h<1){return null}else{if(h==1){return f[e]}}var d=null,c=null;if(h==2){d=f[e];c=f[g]}else{var i=Math.round((e+g)/2);d=BuildRegionHeap(f,e,i);c=BuildRegionHeap(f,i+1,g)}if(d!=null&&c!=null){var b=d.boundingRectangle,a=c.boundingRectangle,l=b[0].latitude>a[0].latitude?b[0].latitude:a[0].latitude,k=b[0].longitude>a[0].longitude?b[0].longitude:a[0].longitude,m=b[1].latitude<a[1].latitude?b[1].latitude:a[1].latitude,n=b[1].longitude<a[1].longitude?b[1].longitude:a[1].longitude,j=[new Msn.VE.LatLong(l,k),new Msn.VE.LatLong(m,n)];return new Msn.VE.LineRegion(j,null,[d,c])}else{if(d!=null){return d}else{if(c!=null){return c}}}return null}var IsDrivingEventAttached=false;function Line(){var t=5,v=new Msn.Drawing.Color(0,169,235,0.7),w="Solid",d=new Msn.Drawing.Stroke,H=4,c=null,e="",f=true,A="",i="",r=0,y=0,x=0,B=0,z=0,a=null,b=null,h=null,g=null,I=0,J=0,n=false;function F(m,u,C,c,j,k,p,s,l,f,o){if(!c){c=t}if(!j){j=v}if(!k){k=defaultZIndex}if(!f){f=w}n=o;this.id=m;e=m;if(l){d.linejoin=l}A=c+"pt";i=j;r=k;a=u;b=C;g=s;h=p;y=a[0];x=b[0];B=a[a.length-1];z=b[b.length-1];d.color=i;d.width=c;d.linecap=f;q();if(!IsDrivingEventAttached){AttachEvent("onstartzoom",HideLines);AttachEvent("onchangeview",UpdateLines);IsDrivingEventAttached=true}this._Draw3D();AttachEvent("oninitmode",this._Draw3D)}function E(){if(view3DCreated){spacecontrol.DeleteGeometry(0,e)}DetachEvent("oninitmode",this._Draw3D);m();a=b=h=c=null}this._Draw3D=function(){if(view3DCreated){var c=[];for(var f=0;f<a.length;f++){c.push(b[f]);c.push(",");c.push(a[f]);if(f!=a.length-1){c.push(" ")}}var g=c.join("");spacecontrol.AddPolyline("0",e,g,i.ToHexString(),0.75,d.width)}};function m(){if(graphicCanvas){graphicCanvas.Clear()}}function G(){if(!f){j();return}if(c){c.style.display="block"}}function j(){if(c){c.style.display="none"}}function u(a){f=a;if(!f){j()}}function q(){l();o()}function D(){l();o()}function l(){var a=height<900?900:height,b=width<900?900:width;northLatitude=GetLatitude(-0.5*a);
southLatitude=GetLatitude(1.5*a);westLongitude=GetLongitude(-0.5*b);eastLongitude=GetLongitude(1.5*b)}function o(){if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)){graphicCanvas.Clear();return}if(view3DCreated){return}var b=[],a=g.length-1;while(g[a]<currentView.zoomLevel&&a>=0){a--}k(h[a],b);C(b)}function k(f,c){if(s(f.boundingRectangle[0],f.boundingRectangle[1])){return}if(f.childRegions!=null){for(var j=0;j<f.childRegions.length;j++){k(f.childRegions[j],c)}}else{var h=f.indices,e=new Msn.VE.LatLong(a[h[0]],b[h[0]]),d,g=false;if(p(e.latitude,e.longitude)){c.push(e.longitude);c.push(e.latitude);g=true}for(var i=1;i<h.length;i++){d=new Msn.VE.LatLong(a[h[i]],b[h[i]]);if(p(d.latitude,d.longitude)){if(!g){c.push(e.longitude);c.push(e.latitude)}g=true;c.push(d.longitude);c.push(d.latitude)}else{if(g){g=false;c.push(d.longitude);c.push(d.latitude)}}e=d}}}function C(g){if(!graphicCanvas){return}var a=new Msn.Drawing.PolyLine(g);a.id=e;var b=VE_LatLongThreshold.UseThreshold;VE_LatLongThreshold.UseThreshold=false;graphicCanvas.SetZIndex(r);graphicCanvas.SetStroke(d);graphicCanvas.DrawPrimitive(a,n);VE_LatLongThreshold.UseThreshold=b;c=$ID(e);if(f){c.style.display="block"}else{c.style.display="none"}}function p(a,b){return a>=southLatitude&&a<=northLatitude&&b>=westLongitude&&b<=eastLongitude}function s(a,b){return a.latitude>northLatitude&&b.latitude>northLatitude||a.latitude<southLatitude&&b.latitude<southLatitude||a.longitude>eastLongitude&&b.longitude>eastLongitude||a.longitude<westLongitude&&b.longitude<westLongitude}this.Init=F;this.Destroy=E;this.RemoveFromMap=m;this.Show=G;this.Hide=j;this.ChangeVisibility=u;this.StartLine=q;this.UpdateLine=D}function Logo(m,p,G,E){var H=false,c=null,i=false,h=false,j=false,k=null,e=null,b=null,d=null,q=null,f=null,n=null,s="logo2.png",J="logo_no_shadow2.png";this.Init=function(){var I=navigator.userAgent.indexOf("MSIE");H=I>=0&&parseInt(navigator.userAgent.substring(I+5))===6;f=document.createElement("div");f.className="MSVE_LogoContainer";p.appendChild(f);if(G||E){e=g(f);
e.addEvent("mouseover",B).addEvent("mouseout",D).addEvent("mousedown",a).addEvent("mouseup",a).addEvent("dblclick",a).addEvent("contextmenu",a).addEvent("click",a)}if(G){c=document.createElement("a");c.href="#";c.target="mc_bingMaps";c.title=L_BingLogoTooltip_Text;n=c;m.AttachEvent("onchangeview",t);try{t()}catch(J){}}else{c=document.createElement("div")}c.id="MSVE_PoweredByLogo";o(c,s);f.appendChild(c);if(E){var F=document.createElement("div");F.className="MSVE_LogoSearchContainer";var r=document.createElement("div");r.className="MSVE_LogoSearchGroup";F.appendChild(r);var k=document.createElement("input");k.id="MSVE_LogoSearchInput";k.type="text";k.maxLength=60;k.className="watermark";k.value=L_BingSearchWatermark_Text;j=true;r.appendChild(k);var l=document.createElement("input");l.id="MSVE_LogoSearchGo";l.type="button";l.title=L_BingSearchGoTooltip_Text;r.appendChild(l);b=g(F);b.setStyle("display","none");i=false;h=false;b.addEvent("mouseover",y).addEvent("mouseout",A).addEvent("mousedown",a).addEvent("mouseup",a).addEvent("dblclick",a).addEvent("contextmenu",a);q=g(l);q.addEvent("blur",v).addEvent("focus",u).addEvent("click",w);d=g(k);d.addEvent("blur",z).addEvent("focus",x).addEvent("keydown",C);p.appendChild(F)}};this.GetURL=function(){return Msn.VE.API.Globals.vecurrentdomain+"/i/bin/"+Msn.VE.API.Globals.vecurrentversion+"/"+s};this.Destroy=function(){if(n){m.DetachEvent("onchangeview",t)}if(e){e.removeEvent("mouseover",B).removeEvent("mouseout",D).removeEvent("mousedown",a).removeEvent("mouseup",a).removeEvent("dblclick",a).removeEvent("contextmenu",a).removeEvent("click",a)}p.removeChild(f);if(b){b.removeEvent("mouseover",y).removeEvent("mouseout",A).removeEvent("mousedown",a).removeEvent("mouseup",a).removeEvent("dblclick",a).removeEvent("contextmenu",a);q.removeEvent("blur",v).removeEvent("focus",u).removeEvent("click",w);d.removeEvent("blur",z).removeEvent("focus",x).removeEvent("keydown",C);p.removeChild(b.element())}l();n=null;c=null;f=null;q=null;d=null;b=null;e=null};function o(b,a){if(H){b.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+Msn.VE.API.Globals.vecurrentdomain+"/i/bin/"+Msn.VE.API.Globals.vecurrentversion+"/"+a+"', sizingMethod='scale')"
}}function a(a){a.stopPropagation()}function l(){if(b&&k){window.clearTimeout(k);k=null}}function r(){if(b&&i){l();k=window.setTimeout(K,2000)}}function F(){if(!j&&!d.element().value){d.element().value=L_BingSearchWatermark_Text;d.addClass("watermark");j=true}}function L(){if(j){d.element().value="";d.removeClass("watermark");j=false}}function K(){k=null;I();i=false}function I(){b.setStyle("display","none");e.swapClass("MSVE_LogoContainer_active","MSVE_LogoContainer");o(c,s)}function t(){if(n){n.href="http://www.bing.com/maps/?v=2&cp={0}~{1}&lvl={2}&FORM=BMLOGO".replace("{0}",m.GetCenterLatitude()).replace("{1}",m.GetCenterLongitude()).replace("{2}",m.GetZoomLevel())}}function y(){l()}function A(){if(!h){r()}}function v(){h=false;r()}function u(){h=true;l()}function z(a){v(a);F()}function x(a){u(a);L()}function w(){var a=d.element().value;if(!j&&typeof a==="string"&&a.length>0){d.element().value="";F();a=IOSec.EncodeUrl(a);var b="http://www.bing.com/search?q={0}&FORM=BMSDK1".replace("{0}",a);window.open(b,"mc_bingSearch");r()}}function C(a){if(h&&a.keyCode===13){w()}}function B(){l();if(b&&!i){b.setStyle("display","");i=true}e.swapClass("MSVE_LogoContainer","MSVE_LogoContainer_active");o(c,J)}function D(){if(b){if(i&&!h){r()}}else{e.swapClass("MSVE_LogoContainer_active","MSVE_LogoContainer");o(c,s)}}}var hijackMouseMove=false,hijackMouseCursor=false,isLastButtonMiddle=false;function MouseDown(a){a=GetEvent(a);CancelEvent(a);if(currentMode!=threeDMode&&FireCustomEvent("onmousedown",a)){return false}if(zooming){return false}if(panning){StopContinuousPan()}if(obliqueMode){obliqueMode.CancelRequest()}if(!mouseZoomDisabled){if(a.which&&a.which==2){currentTool=boxTool}else{if(!a.which&&a.button&&a.button==4){currentTool=boxTool}else{if(a.ctrlKey|a.altKey){currentTool=boxTool}}}}if(!document.all&&!isEnablingDefaultDblClick){isEnablingDefaultDblClick=true}dragging=true;var b=typeof a.which!="undefined"?a.which:a.button;if(!hijackMouseMove&&!hijackMouseCursor&&b==1){p_this.SetCursor(cssCursors.Grabbing)}if(currentTool){currentTool.OnMouseDown(a)
}return false}var lastmouseX=0,lastmouseY=0;function MouseMove(a){a=GetEvent(a);var b=Gimme.Screen.getMousePosition(a);lastmouseX=b.x;lastmouseY=b.y;if(currentMode!=threeDMode&&FireCustomEvent("onmousemove",a)){return false}if(hijackMouseMove){a=GetEvent(a);CancelEvent(a);var c=g(p_elSource).getPagePosition();x=c.x;y=c.y;var e=originX+offsetX+lastmouseX-x,f=originY+offsetY+lastmouseY-y,d=CreateEvent(currentMode.PixelToLatLong(new VEPixel(e,f),currentView.zoomLevel));FireDefaultEvent("onmousemove",d);return}if(currentTool&&dragging){currentTool.OnMouseMove(a)}return false}function MouseUp(a){a=GetEvent(a);CancelEvent(a);if(a){isLastButtonMiddle=IsMiddleMouseButton(a)}if(currentMode!=threeDMode&&FireCustomEvent("onmouseup",a)){return false}dragging=false;if(!hijackMouseMove&&!hijackMouseCursor){p_this.SetCursor(cssCursors.Grab)}var b;if(currentTool){b=currentTool.OnMouseUp(a)}if(targetTool&&targetTool.isOutOfBounds()){targetTool.OnMouseUp(a)}var c=true;if(typeof b!="undefined"&&b.view!=null){isEnablingDefaultDblClick=b.view.disableDbClick!=true;c=b.view.disableMapFocus!=true}else{isEnablingDefaultDblClick=true}currentTool=panTool;try{if(c){keyboard.focus()}}catch(d){}return false}function IsOnscreen(c,d){var b=tileSize*Math.pow(2,currentView.zoomLevel),a=originX+offsetX+c-x;if(a<0||a>b){return false}a=originY+offsetY+d-y;if(a<0||a>b){return false}return true}var isEnablingDefaultDblClick=true;function MouseDoubleClick(a){a=GetEvent(a);CancelEvent(a);var b=Gimme.Screen.getMousePosition(a);if(currentMode!=threeDMode&&FireCustomEvent("ondoubleclick",a)){return false}if(hijackMouseMove){return false}if(isEnablingDefaultDblClick){UpdateFromParent();if(panning||zooming||mouseZoomDisabled){return false}if(!IsMapViewOblique()&&!IsOnscreen(b.x,b.y)){return false}var c=preferredView.MakeCopy();c.SetCenter(new VEPixel(originX+offsetX+b.x-x-mapCenterOffset.x,originY+offsetY+b.y-y-mapCenterOffset.y));if(a.ctrlKey|a.altKey){c.SetZoomLevel(currentView.zoomLevel-1)}else{c.SetZoomLevel(currentView.zoomLevel+1)}SetView(c);return false
}else{isEnablingDefausltDblClick=true}}function MouseWheel(a){a=GetEvent(a);CancelEvent(a);if(currentMode!=threeDMode&&FireCustomEvent("onmousewheel",a)){return false}if(currentMode!=null&&currentMode==threeDMode){return false}if(panning||zooming||mouseZoomDisabled){return false}var f=GetMouseScrollDelta(a);if(f===0){return false}var g=f>0;if(mousewheelZoomToCenter||IsMapViewOblique()||!IsOnscreen(lastmouseX,lastmouseY)){if(g){ZoomIn()}else{ZoomOut()}}else{var b=g?currentView.zoomLevel+1:currentView.zoomLevel-1;if(b<=GetCurrentViewMaxZoomLevel(currentView)){UpdateFromParent();var h=lastmouseX-x,i=lastmouseY-y,d=originX+offsetX+h,e=originY+offsetY+i,c=preferredView.MakeCopy();d=currentView.ScaleCoord(d,b);e=currentView.ScaleCoord(e,b);c.SetZoomLevel(b);c.SetCenter(new VEPixel(d-h+width/2,e-i+height/2));SetView(c)}}return false}function ContextMenu(a){if(mouseZoomDisabled){return false}a=GetEvent(a);CancelEvent(a);if(currentMode!=threeDMode&&FireCustomEvent("onclick",a)){return false}var e=g(p_elSource).getPagePosition();x=e.x;y=e.y;var c,d,b=Gimme.Screen.getMousePosition(a);if(currentMode==threeDMode){c=b.x-x;d=b.y-y}else{c=originX+offsetX+b.x-x;d=originY+offsetY+b.y-y}var f=currentMode.PixelToLatLong(new VEPixel(c,d),currentView.zoomLevel);if(f!=null){if(currentMode==threeDMode&&Get3DControl().UIHasFocus()){return false}var h=CreateEvent(f);FireDefaultEvent("oncontextmenu",h)}return false}function MouseClick(a){a=GetEvent(a);CancelEvent(a);if(!isLastButtonMiddle){if(currentMode!=threeDMode&&FireCustomEvent("onclick",a)){return false}}}function MouseOut(a){a=GetEvent(a);if(currentMode!=threeDMode&&g(GetTarget(a)).hasClass("MSVE_Shape")&&FireCustomEvent("onmouseout",a)){CancelEvent(a);return false}}function MouseOver(a){a=GetEvent(a);if(currentMode!=threeDMode&&g(GetTarget(a)).hasClass("MSVE_Shape")&&FireCustomEvent("onmouseover",a)){CancelEvent(a);return false}}function MouseEnter(a){a=GetEvent(a);var b=a.relatedTarget||a.fromElement;if(currentMode!=threeDMode&&b!=null&&FireCustomEvent("onmouseover",a)){CancelEvent(a);
return false}if(!hijackMouseMove&&!hijackMouseCursor){p_this.SetCursor(cssCursors.Grab)}}function MouseLeave(a){a=GetEvent(a);if(currentMode!=threeDMode&&FireCustomEvent("onmouseout",a)){CancelEvent(a);return false}}var obliqueLoop=0,panningTargetPixel=null,panningCurrentPixel=null;function PanMap(c,d){if(c==0&&d==0||isNaN(c)||isNaN(d)){return false}if(currentMode!=threeDMode){var a=ShiftView(currentView,currentBounds,c,d);if(typeof a!="undefined"&&a!=null){var f=g(map).getComputedPosition(),e=f.x-a.x,h=f.y-a.y;map.style.left=e+"px";map.style.top=h+"px";offsetX=-e;offsetY=-h;var b=new VEPixel(width/2+originX+offsetX,height/2+originY+offsetY);if(keyboardPan&&(c!=0&&a.x==0||d!=0&&a.y==0)){if(typeof currentMode.RequestPending!="undefined"&&!currentMode.RequestPending()){b.x+=c;b.y+=d;var i=PixelToLatLong(b);targetTool.centeringTrigger=true;SetCenter(i.latitude,i.longitude)}}else{currentView.SetCenter(b);preferredView.SetCenter(new VEPixel(b.x,b.y));tileLayerManager.PanView()}Fire("onpan")}}else{return false}if(copyright){copyright.Update()}return true}function ContinuousPan(a,b,c,d){if(zooming){return}if(!c){c=-1}panningX=a;panningY=b;panCounter=c;if(!a&&!b){StopContinuousPan();return}keyboardPan=d;if(view3DCreated){spacecontrol.ContinuousPan(a,b);Fire("onstartpan")}else{if(!panning){panning=true;StepPan();Fire("onstartpan")}}}function StepPan(){if(panning){var a=panningX,b=panningY;if(panningCurrentPixel!=null&&panningTargetPixel!=null){var c=panningTargetPixel.x-panningCurrentPixel.x;if(Math.abs(c)<Math.abs(a)||a==0){a=c}var d=panningTargetPixel.y-panningCurrentPixel.y;if(Math.abs(d)<Math.abs(b)||b==0){b=d}panningCurrentPixel.x+=a;panningCurrentPixel.y+=b}PanMap(a,b);if(panCounter>0){panCounter--}if(panCounter!=0&&(panningCurrentPixel==null||panningTargetPixel==null||panningTargetPixel.x!=panningCurrentPixel.x||panningTargetPixel.y!=panningCurrentPixel.y)){window.setTimeout(StepPan,10)}else{StopContinuousPan()}}}function StopContinuousPan(){panningX=0;panningY=0;panningTargetPixel=null;panningCurrentPixel=null;panning=false;
keyboardPan=false;if(currentMode!=threeDMode){if(panLatitude!=null&&panLongitude!=null){var b=new Msn.VE.LatLong(panLatitude,panLongitude),a=LatLongToPixel(b),c=a.x-width/2,d=a.y-height/2;PanMap(c,d);currentView.latlong.latitude=panLatitude;currentView.latlong.longitude=panLongitude;preferredView.Copy(currentView);panLatitude=null;panLongitude=null;if(obliqueMode){obliqueMode.UpdateAvailability()}}else{ComputeCenterPoint(true)}}else{if(view3DCreated){spacecontrol.ContinuousPan(0,0)}}Fire("onendpan");Fire("onchangeview");if(resizeInProgress){resizeInProgress=false}}function PanToLatLong(b,a,c){if(currentMode==threeDMode){SetCenter(b,a)}else{panLatitude=b;panLongitude=a;if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)&&PanInOblique(new Msn.VE.LatLong(b,a),null,c)){}else{PanToPixel(LatLongToPixel(new Msn.VE.LatLong(b,a)),c)}}}function PanByPixel(a,b){a.x=width/2+a.x;a.y=height/2+a.y;PanToPixel(a,b)}function PanToView(a){var b=a.center.x-(originX+offsetX),c=a.center.y-(originY+offsetY);PanToPixel(new VEPixel(b,c))}function PanToPixel(a,e){if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)&&PanInOblique(null,a,e)){return}var b=a.x-width/2,c=a.y-height/2;panningTargetPixel=a;panningCurrentPixel=new VEPixel(width/2,height/2);var d=Math.sqrt(b*b+c*c);if(!e&&(!IsAnimationEnabled()||MathAbs(b)>2*width||MathAbs(c)>2*height||d>1.5*Math.sqrt(width*width+height*height))){var h=preferredView.MakeCopy(),j=a.x+(originX+offsetX),k=a.y+(originY+offsetY);h.SetCenter(new VEPixel(j,k));SetView(h);if(resizeInProgress){resizeInProgress=false}return}var f=Math.atan2(c,b),i=MathCeil(d/panToLatLongSpeed),g=MathRound(d/i);b=MathRound(Math.cos(f)*g);c=MathRound(Math.sin(f)*g);ContinuousPan(b,c)}function PanInOblique(a,d){obliqueLoop++;if(obliqueLoop>30){obliqueLoop=0;return false}var c=obliqueMode.GetScene();if(!a){a=PixelToLatLong(d)}if(!c||!c.ContainsLatLong(a,currentView.zoomLevel)){var b=preferredView.MakeCopy();b.sceneId=null;b.SetCenterLatLong(a);SetView(b);if(resizeInProgress){resizeInProgress=false}return true}else{return false
}}function PushPinOffset(a,b){this.x=a;this.y=b}function getPushPinOffset(c){var a=Msn.VE.PushPinTypes,b;switch(c){case a.Annotation:b=new PushPinOffset(-2,-29/2-5);break;case a.Overlay:case a.SearchResultPrecise:case a.SearchResultNonprecise:case a.Collection:case a.AdSponsor:b=new PushPinOffset(0,-29/2+3);break;case a.Direction:b=new PushPinOffset(-3,-26/2-3);break;case a.DirectionTemp:b=new PushPinOffset(2,-26/2+3);break;case a.TrafficLight:b=new PushPinOffset(0,-26/2);break;case a.TrafficOthers:b=new PushPinOffset(0,-29/2);break;case a.YouAreHere:b=new PushPinOffset(0,-26/2);break;case a.AdStandard:b=new PushPinOffset(0,-42/2+2);break;case a.AdWide:b=new PushPinOffset(0,-27/2);break;case a.AdCategory:b=new PushPinOffset(0,-16/2);break;case a.Default:default:b=new PushPinOffset(0,0)}return b}function GetPushpins(){return pushpins}function AddPushpin(m,k,l,j,h,e,f,i,g,b,c,d){var a=new Pushpin;a.Init(m,k,l,j,h,e,f,i,g,d);if(typeof b=="undefined"||b==false||b==null){if(IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){if(!(typeof c!="undefined"&&c==false)){View3DAddPushpin(a)}map.appendChild(a.pin);a.Hide()}else{map.appendChild(a.pin)}pushpins.push(a)}return a.pin}function GetPushpinIndex(b){for(var a=0;a<pushpins.length;a++){if(pushpins[a].id==b){return a}}return -1}function RemovePushpin(b){var a=GetPushpinIndex(b);if(a>=0){var c=pushpins[a];pushpins.splice(a,1);if(IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){View3DRemovePushpin(b)}c.Destroy()}}function ClearPushpins(){while(pushpins.length>0){var a=pushpins.pop();if(IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){View3DRemovePushpin(a.id)}a.Destroy()}}function Relay3DPushpins(){for(var b=0;b<pushpins.length;b++){var a=pushpins[b];if(a.id&&a.id.constructor==String&&a.id.indexOf("Layer")==-1){View3DAddPushpin(a)}}}function NeedToPlaceAccurately(a){switch(a.pinType){case Msn.VE.PushPinTypes.SearchResultPrecise:case Msn.VE.PushPinTypes.AdStandard:case Msn.VE.PushPinTypes.AdCategory:case Msn.VE.PushPinTypes.AdWide:case Msn.VE.PushPinTypes.AdSponsor:return true;default:return false
}}function _RepositionPushpins(){for(var a=0;a<pushpins.length;a++){pushpins[a].pin.style.display="";pushpins[a].Reposition()}}function RepositionPushpins(){var d=[],h,i=function(b){if(currentMode!=obliqueMode||null==currentMode.GetScene()||h!=currentMode.GetScene().GetID()){return}if(b){for(var a=0;a<d.length;a++){var c=GetPushpinIndex(d[a]);if(c>=0){if(b[a]){pushpins[c].SetAccuratePixel(b[a])}}}}_RepositionPushpins()};if(pushpins&&pushpins.length>0){if(null==Msn.VE.API&&currentMode==obliqueMode){var c=currentMode.GetScene(),f=[],a=0;if(c){h=c.GetID();for(var e=0;e<pushpins.length;e++){var b=pushpins[e],g=new Msn.VE.LatLong(b.GetLatitude(),b.GetLongitude());if(NeedToPlaceAccurately(b)&&c.ContainsLatLong(g)){f[a]=g;d[a]=b.id;a++}}if(a>0){currentMode.LatLongToPixelAsync(f,currentView.GetZoomLevel(),i);return}}}_RepositionPushpins()}}function HidePins(){for(var a=0;a<pushpins.length;a++){pushpins[a].Hide()}}function UnHidePins(){for(var a=0;a<pushpins.length;a++){pushpins[a].UnHide()}}function GetPushpinPixel(b,c,d,e){var a=currentMode.LatLongToPixel(b,c);if(a){a.x=MathRound(a.x-d);a.y=MathRound(a.y-e)}return a}function GetPushpinMapPixel(a,b){return GetPushpinPixel(a,b,originX,originY)}function Pushpin(){var a=this;this.visible=true;this.pin=document.createElement("a");this.img=document.createElement("img");this.img.className="VE_PushpinImage";this.pin.href="javascript://pushin hover";this.pin.onclick=function(){return ParseShiftKeyForLinks(event)};this.pin.vePushpin=this;this.x1=0;this.y1=0;this.x2=0;this.y2=0;this.center=null;this.w=0;this.h=0;this.n=zoomTotalSteps+1;this.xs=new Array(this.n);this.ys=new Array(this.n);this.Offset=0;this.beLatLongOffset=null;this.Destroy=function(){a.RemoveFromMap();a.pin.onclick=null;a.pin.vePushpin=null;a.pin=null;while(a.xs.length>0){a.xs.pop()}while(a.ys.length>0){a.ys.pop()}a=null}}Pushpin.prototype.Init=function(i,g,h,f,e,c,d,j,a,b){this.id=i;this.lat=g;this.lon=h;this.width=f;this.height=e;this.className=c;this.innerHtml=d;this.zIndex=j;this.pinType=a;this.pin.id=i;this.pin.className=c;
this.pin.style.position="absolute";this.pin.innerHTML=d;this.pin.pinType=a||Msn.VE.PushPinTypes.Default;this.Offset=getPushPinOffset(this.pin.pinType);if(a==Msn.VE.PushPinTypes.SearchResultPrecise){this.img.src=GetUrlPrefix()+"i/bin/"+window.buildVersion+"/pins/poi_search.gif";this.pin.appendChild(this.img)}else{if(a==Msn.VE.PushPinTypes.SearchResultNonprecise){this.img.src=GetUrlPrefix()+"i/bin/"+window.buildVersion+"/pins/poi_search_nonprecise.gif";this.pin.appendChild(this.img)}else{if(a==Msn.VE.PushPinTypes.AdSponsor){this.img.src=GetUrlPrefix()+"i/bin/"+window.buildVersion+"/pins/poi_search.gif";this.pin.appendChild(this.img)}}}this.pin.unselectable="on";this.center=new Msn.VE.LatLong(g,h);this.w=f;this.h=e;if(b){this.SetAccuratePixel(b)}var k=this.LatLongToPixelWithAccuracyOffset(currentView.zoomLevel,originX,originY);this.SetPixelLocation(k)};Pushpin.prototype.SetAccuratePixel=function(b){var a=currentMode.PixelToLatLong(b,currentView.zoomLevel);this.beLatLongOffset=new Msn.VE.LatLong(a.latitude-this.center.latitude,a.longitude-this.center.longitude)};Pushpin.prototype.LatLongToPixelWithAccuracyOffset=function(b,c,d){var a=this.center;if(this.beLatLongOffset&&IsMapViewOblique()){a=new Msn.VE.LatLong(this.center.latitude+this.beLatLongOffset.latitude,this.center.longitude+this.beLatLongOffset.longitude)}return GetPushpinPixel(a,b,c,d)};Pushpin.prototype.GetLatitude=function(){return this.center.latitude};Pushpin.prototype.GetLongitude=function(){return this.center.longitude};Pushpin.prototype.ClearSteps=function(){var b=zoomTotalSteps;for(var a=0;a<=b;a++){this.xs[a]=this.x1-this.w/2+this.Offset.x+"px";this.ys[a]=this.y1-this.h/2+this.Offset.y+"px"}};Pushpin.prototype.PrecomputeSteps=function(){var d=zoomTotalSteps;for(var a=0;a<=d;a++){var b=a/d,c=1-b;this.xs[a]=MathFloor(c*this.x1+b*this.x2-this.w/2+this.Offset.x)+"px";this.ys[a]=MathFloor(c*this.y1+b*this.y2-this.h/2+this.Offset.y)+"px"}};Pushpin.prototype.SetFactor=function(a){this.pin.style.left=this.xs[a];this.pin.style.top=this.ys[a]};Pushpin.prototype.SetPixelLocation=function(a){if(a&&this.visible){this.x1=a.x;
this.y1=a.y;this.x2=this.x1;this.y2=this.y1;this.PrecomputeSteps();this.SetFactor(0);this.pin.style.display="block"}else{this.pin.style.display="none"}};Pushpin.prototype.SwapStates=function(){var a=0;a=this.x1;this.x1=this.x2;this.x2=a;a=this.y1;this.y1=this.y2;this.y2=a};Pushpin.prototype.Reposition=function(){var a=this.LatLongToPixelWithAccuracyOffset(currentView.zoomLevel,originX,originY);if(a){this.x1=a.x;this.y1=a.y;this.ClearSteps();this.SetFactor(0);if(this.pin.style.display!="none"&&this.visible){this.pin.style.display="block"}}else{this.pin.style.display="none"}};Pushpin.prototype.UnHide=function(){if(!this.visible){this.pin.style.display="block";this.visible=true}};Pushpin.prototype.Hide=function(){if(this.visible){this.pin.style.display="none";this.visible=false}};Pushpin.prototype.UnHide3D=function(){if(IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){View3DAddPushpin(this)}};Pushpin.prototype.Hide3D=function(){if(IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){View3DRemovePushpin(this.id)}};Pushpin.prototype.PrepareForZoom=function(b,c,d){this.x1-=offsetX;this.y1-=offsetY;var a=this.LatLongToPixelWithAccuracyOffset(d,b,c);if(a){this.x2=a.x;this.y2=a.y;this.PrecomputeSteps();if(this.pin.style.display!="none"&&this.visible){this.pin.style.display="block"}}else{this.pin.style.display="none"}};Pushpin.prototype.RemoveFromMap=function(){if(this.pin.parentNode==map){map.removeChild(this.pin)}};Pushpin.prototype.Move=function(a){this.MoveToLatLon(PixelToLatLong(a))};Pushpin.prototype.MoveToLatLon=function(a){this.center=a;this.Reposition()};function ScaleBar(c){var e=null,j=null,a=g(document.createElement("div")),b=g(document.createElement("div")),m=false,d=document.createElement("div"),f=document.createElement("div"),i=150;this.Init=function(){a.addClass("MSVE_ScaleBarLabel MSVE_ScaleBarLabelBg");b.addClass("MSVE_ScaleBarLabel MSVE_ScaleBarLabelFg");d.className="MSVE_ScaleBar MSVE_ScaleBarBg";f.className="MSVE_ScaleBar MSVE_ScaleBarFg";n();k()};this.Show=function(){c.appendChild(a.element());c.appendChild(b.element());
c.appendChild(d);c.appendChild(f)};this.Hide=function(){try{c.removeChild(a.element());c.removeChild(b.element());c.removeChild(d);c.removeChild(f)}catch(e){}};this.Destroy=function(){this.Hide();e=null;a=b=d=BarFg=null};function k(){var c=0;if(e&&e.style.display!=="none"){var i=parseInt(g(e).getStyle("height")),h=parseInt(e.style.bottom);c+=(isNaN(i)?0:i)+(isNaN(h)?0:h)}if(a){a.setStyle("bottom",c+"px");b.setStyle("bottom",1+c+"px")}if(d){d.style.bottom=c+"px";f.style.bottom=1+c+"px"}}function o(a){return a*0.001}function q(a){return a*0.000621371192}function r(a){return a*1.0936133}function t(a){i=a}function p(a){j=a}function n(){try{var f=GetMetersPerPixel(),c=f*i,e;if(j==null){e=$MVEM.IsEnabled(MapControl.Features.ScaleBarKilometers)}else{e=j==Msn.VE.DistanceUnit.Kilometers}if(e){var d=L_ScaleBarKilometers_Text,b=o(c),a=h(b);if(a<0.5){d=L_ScaleBarMeters_Text;b=c;a=h(b)}l("metric",d,a,Math.round(a/b*i))}else{var d=L_ScaleBarMiles_Text,b=q(c),a=h(b);if(a<0.5){d=L_ScaleBarYards_Text;b=r(c);a=h(b)}l("us",d,a,Math.round(a/b*i))}}catch(g){}}function h(d){var g=Math.log(d)/Math.log(10),e=Math.floor(g),a=Math.pow(10,e),c=d/a,b=Math.floor(c);if(b>=3){return b*a}var f=Math.floor(c*2)*0.5;return f*a}function l(j,i,c,g){if(c<1){c=c.toFixed(1)}var e=GetMapStyle()!=roadStyle;if(e!=m){if(e){a.swapClass("MSVE_ScaleBarLabelBg","MSVE_ScaleBarLabelBgInv");b.swapClass("MSVE_ScaleBarLabelFg","MSVE_ScaleBarLabelFgInv")}else{a.swapClass("MSVE_ScaleBarLabelBgInv","MSVE_ScaleBarLabelBg");b.swapClass("MSVE_ScaleBarLabelFgInv","MSVE_ScaleBarLabelFg")}m=e}var h=c+" "+i;a.setHTML(h);b.setHTML(h);d.style.width=4+g+"px";f.style.width=g+"px"}function s(a){e=a;k()}this.SetBarWidth=t;this.SetDistanceUnit=p;this.Update=n;this.Reposition=k;this.SetPinElement=s}function MapLegend(h){var q=this,g=h,a=null,e=null,b=null,d=null,c=null;h=null;this.Init=function(){a=document.createElement("div");a.id="MSVE_MapLegend";a.style.display="none";g.appendChild(a);e=document.createElement("div");e.className="MSVE_LegendGroup";a.appendChild(e);a.attachEvent("onmousedown",IgnoreEvent);
a.attachEvent("onmouseup",IgnoreEvent);a.attachEvent("onmousemove",IgnoreEvent);a.attachEvent("onmousewheel",IgnoreEvent);a.attachEvent("ondblclick",IgnoreEvent);a.attachEvent("oncontextmenu",IgnoreEvent);a.attachEvent("onkeydown",IgnoreEvent);a.attachEvent("onkeyup",IgnoreEvent)};this.Destroy=function(){if(a){a.detachEvent("onmousedown",IgnoreEvent);a.detachEvent("onmouseup",IgnoreEvent);a.detachEvent("onmousemove",IgnoreEvent);a.detachEvent("onmousewheel",IgnoreEvent);a.detachEvent("ondblclick",IgnoreEvent);a.detachEvent("oncontextmenu",IgnoreEvent);a.detachEvent("onkeydown",IgnoreEvent);a.detachEvent("onkeyup",IgnoreEvent);g.removeChild(a);a=null}g=null;e=null;d=null;c=null};function k(d){if(d&&!b){i()}a.style.display=d?"":"none";if(c){window.setTimeout(c.Reposition,1)}f()}function i(){if(e&&!b){b=document.createElement("div");b.className="MSVE_LegendGroup";b.id="MSVE_TrafficLegend";e.appendChild(b);var a=document.createElement("span");a.id="MSVE_TL_Slow";a.appendChild(document.createTextNode(L_MapLegendTrafficSlow_Text));b.appendChild(a);a=document.createElement("span");a.id="MSVE_TL_Fast";a.appendChild(document.createTextNode(L_MapLegendTrafficFast_Text));b.appendChild(a);a=document.createElement("img");a.id="MSVE_TL_Key";var c=GetUrlPrefix(),f=window.buildVersion;if(Msn.VE.API!=null){c=Msn.VE.API.Globals.vecurrentdomain+"/";f=Msn.VE.API.Globals.vecurrentversion}a.src=c+"i/bin/"+f+"/traffic/tf_legend.gif";a.alt="";b.appendChild(a);d=document.createElement("div");d.className="MSVE_LegendGroup";d.id="MSVE_TrafficMsg";e.appendChild(d)}}function l(a){while(a.hasChildNodes()){a.removeChild(a.childNodes[0])}}function j(a){if(d){l(d);d.appendChild(document.createTextNode(a));f()}}function o(b){c=b;if(c){c.SetPinElement(a)}}function p(){if(c){c.SetPinElement(null);c=null}}function n(b,c){if(a){a.style.left=b+"px";a.style.top=c+"px";a.style.bottom="auto";a.style.right="auto";f()}}function f(){if(a){mvcViewFacade.UpdateShimIfSupported(a)}}function m(){if(a){destroyIFrameShim(a.id)}}this.ShowTrafficLegend=k;this.SetTrafficLegendMsg=j;
this.UnPin=p;this.PinTo=o;this.MoveTo=n;this.UpdateShim=f;this.RemoveShim=m}var totalRequestTime=0,totalRequestCount=0,totalFailureCount=0,responseRangeCeilings=[];responseRangeCeilings[roadStyle]=[325,975];responseRangeCeilings[shadedStyle]=responseRangeCeilings[roadStyle];responseRangeCeilings[aerialStyle]=[350,1050];responseRangeCeilings[hybridStyle]=[425,1275];responseRangeCeilings[obliqueStyle]=[450,1350];responseRangeCeilings[obliqueHybridStyle]=responseRangeCeilings[obliqueStyle];var responseRangeCounts=[0,0,0];function RequestTile(b,c,i,h,d,g,e,f){var a=new Tile;a.Init(b,c,i,h,b*tileSize-originX,c*tileSize-originY,d,g,e,f);return a}function ClearTiles(a){while(a.length>0){var b=a.pop();b.Destroy();b=null}}function GetResponseRangeCounts(){var b=0;for(var a=0;a<responseRangeCounts.length;a++){b+=responseRangeCounts[a]}if(b==0){return responseRangeCounts}var c=new Array(responseRangeCounts.length);for(var a=0;a<responseRangeCounts.length;a++){c[a]=responseRangeCounts[a]/b}return c}function ResetResponseRangeCounts(){for(var a=0;a<responseRangeCounts.length;a++){responseRangeCounts[a]=0}}function GetFailureRate(){return totalFailureCount/totalRequestCount}function Tile(){var a=null,b=null,c=null,i=null,D=null,e=null,p=0,q=0,v=0,B=0,f=0,d=1,x=zoomTotalSteps+1,m=new Array(x),o=new Array(x),u=new Array(x),s=new Array(x),A=false,g=0,h=0,k=0,j=0,l=0,n=0,t=0,r=0,z=null,C=0;this.Init=function(k,l,m,j,c,e,g,a,h,i){p=k;q=l;v=m;B=j;f=i;d=h;if(!currentMode.IsValidTile(p,q,v)){return}y(c,e,tileSize,tileSize);I(c,e,tileSize,tileSize);w();if(a==mapTiles||a==trafficTiles){C=0}else{C=1}b=document.createElement("img");b.className="MSVE_ImageTile";if(a!=null){b.className+=" msve_"+a+"_tile"}b.onload=T;b.onerror=S;z=new Date;D=currentMode.GetFilename(p,q,v,g,a);b.src=D};function H(){if(!e&&a!=null){e=graphicCanvas.AddPrintTile(D,q*tileSize-originY,p*tileSize-originX,tileSize,tileSize,d,f)}}this.AddPrintTile=H;function O(){if(e){graphicCanvas.RemovePrintTile(e);e=null}}this.RemovePrintTile=O;function L(){if(e){graphicCanvas.RePositionPrintTile(e,q*tileSize-originY,p*tileSize-originX)
}}this.RePositionPrintTile=L;this.Destroy=function(){if(a){a.onmousedown=null}G();while(m.length>0){m.pop()}while(o.length>0){o.pop()}while(u.length>0){u.pop()}while(s.length>0){s.pop()}m=o=u=s=null};function y(c,d,b,a){g=c;h=d;k=b;j=a}this.SetCurrentState=y;function I(c,d,b,a){l=c;n=d;t=b;r=a}this.SetNextState=I;function Q(){for(var a=0;a<=zoomTotalSteps;a++){m[a]=g+"px";o[a]=h+"px";u[a]=k+"px";s[a]=j+"px"}}this.ClearSteps=Q;function w(){for(var a=0;a<=zoomTotalSteps;a++){var b=a/zoomTotalSteps,c=1-b;m[a]=MathFloor(c*g+b*l)+"px";o[a]=MathFloor(c*h+b*n)+"px";u[a]=MathCeil(c*k+b*t)+"px";s[a]=MathCeil(c*j+b*r)+"px"}}this.PrecomputeSteps=w;function K(e){if(a==null||zooming&&!A){return}var b=a.style;b.left=m[e];b.top=o[e];b.width=u[e];b.height=s[e];if(debug&&e==0){if(!c){F()}var g=c.style;b.border="1px dashed red";g.left=m[e];g.top=o[e]}if(a.parentNode!=map){b.position="absolute";b.zIndex=f;if(C>0){if(Msn.VE.Environment.BrowserInfo.Type==Msn.VE.BrowserType.MSIE){if(Msn.VE.Environment.BrowserInfo.MajorVersion<=6){if(!i){i=document.createElement("div");i.className="MSVE_ImageTile";var b=i.style;b.left=m[e];b.top=o[e];b.width=u[e];b.height=s[e];b.position="absolute";b.zIndex=f;if(d!=1){b.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+a.src+"',sizingMethod='scale'), alpha(opacity="+d*100+")"}else{b.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+a.src+"',sizingMethod='scale')"}map.appendChild(i)}}else{b.zIndex=f;if(d<1){b.filter="alpha(opacity="+d*100+");opacity:"+d+";"}map.appendChild(a)}}else{b.zIndex=f;b.opacity=d;map.appendChild(a)}}else{if(b&&typeof b.filter!="undefined"){if(d<1){b.filter="alpha(opacity="+d*100+");opacity:"+d}}else{b.opacity=d}map.appendChild(a)}if(debug&&c&&c.parentNode!=map){var h=a.src;c.innerHTML=h.substring(h.lastIndexOf("/")+1,h.lastIndexOf("."));g.position="absolute";g.zIndex=f+1;map.appendChild(c)}}}this.SetFactor=K;function J(){var a=0;a=g;g=l;l=a;a=h;h=n;n=a;a=k;k=t;t=a;a=j;j=r;r=a}this.SwapStates=J;function G(){if(b){b.onload=null;b.onerror=null;b=null}if(a){if(a.parentNode==map){map.removeChild(a)
}a=null}if(c){if(c.parentNode==map){map.removeChild(c)}c=null}if(i){if(i.parentNode==map){map.removeChild(i)}i=null}if(e){graphicCanvas.RemovePrintTile(e);e=null}}this.RemoveFromMap=G;function T(){if(currentView&&v!=currentView.zoomLevel||b==null){return}var d=new Date,c=d.getTime()-z.getTime();E(c);totalRequestTime+=c;totalRequestCount++;if(debug){window.status="last="+c+", average="+totalRequestTime/totalRequestCount}b.onload=null;b.onerror=null;a=b;a.onmousedown=function(){return false};b=null;if(!zooming){K(zoomCounter)}if(graphicCanvas&&graphicCanvas._printable){H()}}function S(){if(v!=currentView.zoomLevel||b==null){return}var c=new Date,a=c.getTime()-z.getTime();E(a);totalRequestTime+=a;totalRequestCount++;totalFailureCount++;b.onload=null;b.onerror=null;b=null}function E(b){for(var a=0;a<responseRangeCeilings[B].length;a++){if(b<responseRangeCeilings[B][a]){responseRangeCounts[a]++;return}}responseRangeCounts[responseRangeCounts.length-1]++}function M(e,i,p,c,d,o){y(g-offsetX,h-offsetY,k,j);var m=o-p,b=Math.pow(2,m);l=MathFloor((e+g)*b-c);n=MathFloor((i+h)*b-d);t=MathCeil((e+g+k)*b-c)-l;r=MathCeil((i+h+j)*b-d)-n;A=true;w();f=baseZIndex;if(a!=null){a.style.zIndex=f}}this.PrepareBaseTile=M;function N(i,m,s,d,e,o){var u=s-o,a=Math.pow(2,u);l=MathFloor((d+g)*a-i);n=MathFloor((e+h)*a-m);t=MathCeil((d+g+k)*a-i)-l;r=MathCeil((e+h+j)*a-m)-n;var c=MathCeil(tileViewportWidth*0.25),b=MathCeil(tileViewportHeight*0.25);A=o<s&&(p<tileViewportX1+c||p>tileViewportX2-c||q<tileViewportY1+b||q>tileViewportY2-b);J();w();f=swapZIndex}this.PrepareSwapTile=N;function R(b){if(!c){F()}if(a!=null){a.style.border=b?"1px dashed red":"0px"}c.style.display=b?"block":"none"}this.Debug=R;function P(){t=k;r=j}this.ClearStates=P;function F(){c=document.createElement("div");c.style.font="7pt Verdana, sans-serif";c.style.color="Red";c.style.backgroundColor="White"}}var tileMarket=Msn.VE.API?Msn.VE.API.Globals.locale:window.locale,orthoTileSpec=new VETileSourceSpecification;orthoTileSpec.Subdomains=[[0,2],[1,3]];if(orthoTileSpec.Subdomains!=null){orthoTileSpec.SubdomainsMaxX=orthoTileSpec.Subdomains.length;
orthoTileSpec.SubdomainsMaxY=orthoTileSpec.Subdomains[0].length}orthoTileSpec.ID=mapTiles;orthoTileSpec.SourceName=Msn.VE.API?Msn.VE.API.Constants.orthotileserver:"%0ecn.t%2.tiles.virtualearth.net/tiles/%3%4.%5?g=%6&mkt={21}";orthoTileSpec.SourceName=orthoTileSpec.SourceName.replace(/\{21\}/g,tileMarket);orthoTileSpec.OriginSourceName=Msn.VE.API&&p_htParams.useOriginTiles?Msn.VE.API.Constants.orthoorigintileserver.replace(/\{21\}/g,tileMarket):"";orthoTileSpec.NumServers=4;var shadedTileSpec=new VETileSourceSpecification;shadedTileSpec.Subdomains=[[0,2],[1,3]];if(shadedTileSpec.Subdomains!=null){shadedTileSpec.SubdomainsMaxX=shadedTileSpec.Subdomains.length;shadedTileSpec.SubdomainsMaxY=shadedTileSpec.Subdomains[0].length}shadedTileSpec.ID=mapTiles;shadedTileSpec.SourceName=Msn.VE.API?Msn.VE.API.Constants.shadedtileserver:"%0ecn.t%2.tiles.virtualearth.net/tiles/%3%4.%5?g=%6&mkt={21}&shading=hill";shadedTileSpec.SourceName=shadedTileSpec.SourceName.replace(/%1/g,"r").replace(/%3/g,"r").replace(/%5/g,"png").replace(/%6/g,generations.r).replace(/\{21\}/g,tileMarket);shadedTileSpec.OriginSourceName=Msn.VE.API&&p_htParams.useOriginTiles?Msn.VE.API.Constants.shadedorigintileserver.replace(/%1/g,"r").replace(/%3/g,"r").replace(/%5/g,"png").replace(/%6/g,generations.r).replace(/\{21\}/g,tileMarket):"";shadedTileSpec.NumServers=4;var lavenderTileSpec=null;if(p_htParams.useEnhancedRoadStyle){lavenderTileSpec=new VETileSourceSpecification;lavenderTileSpec.Subdomains=[[0,2],[1,3]];if(lavenderTileSpec.Subdomains!=null){lavenderTileSpec.SubdomainsMaxX=lavenderTileSpec.Subdomains.length;lavenderTileSpec.SubdomainsMaxY=lavenderTileSpec.Subdomains[0].length}lavenderTileSpec.ID=mapTiles;lavenderTileSpec.SourceName=Msn.VE.API?Msn.VE.API.Constants.lavendertileserver:"%0ecn.t%2.tiles.virtualearth.net/tiles/r%4?g=%6&mkt={21}&lbl=l1&stl=h&shading=hill&n=z";lavenderTileSpec.SourceName=lavenderTileSpec.SourceName.replace(/%1/g,"r").replace(/%3/g,"r").replace(/%5/g,"png").replace(/%6/g,generations.r).replace(/\{21\}/g,tileMarket);lavenderTileSpec.OriginSourceName=Msn.VE.API&&p_htParams.useOriginTiles?Msn.VE.API.Constants.lavenderorigintileserver.replace(/%1/g,"r").replace(/%3/g,"r").replace(/%5/g,"png").replace(/%6/g,generations.r).replace(/\{21\}/g,tileMarket):"";
lavenderTileSpec.NumServers=4}function SetBaseTileSource(a){if(!a){a=currentView}var b=null;if(a&&lavenderTileSpec&&a.mapStyle==Msn.VE.MapStyle.Road){b=lavenderTileSpec}else{var c=a&&shadedTileSpec&&shadedTileSpec.SourceName&&(a.mapStyle==Msn.VE.MapStyle.Road&&$MVEM.IsEnabled(MapControl.Features.MapStyle.Shaded)&&currentView.doRoadShading||a.mapStyle==Msn.VE.MapStyle.Shaded);b=c?shadedTileSpec:orthoTileSpec}b.LoadTiles=loadBaseTiles;tileLayerManager.AddTileSource(b)}function SetView(a){if(currentMode!=null&&currentMode==threeDMode){return SetView3DSpecialized(a)}if(a==null){return CreateNewView()}if(zooming||dragging){return true}if(panning){StopContinuousPan()}var b=a.latlong;if(a.GetViewType()==Msn.VE.MapViewType.LatLongRect){b=a.latlongRect.Center()}if(Msn.VE.MapStyle.IsViewOblique(a.mapStyle)){return SetViewOblique(a,b)}else{return SetViewOrtho(a,b)}}function SetView3DSpecialized(a){var b=false;if(a==null){a=new Msn.VE.MapView;a.Copy(currentView);b=true}if(!view3DCreated){b=true}return SetView3D(a,b)}function SetViewOblique(a,c){if(obliqueMode==null){return true}preferredView.Copy(a);currentMode=obliqueMode;if(Msn.VE.API){p_elSource.style.background='#000 url("'+Msn.VE.API.Globals.vecurrentdomain+"/i/bin/"+Msn.VE.API.Globals.vecurrentversion+'/oblique/oblique_bg.gif") repeat'}else{p_elSource.style.background='#000 url("./i/bin/'+window.buildVersion+'/oblique/oblique_bg.gif") repeat'}function b(){var b=HandleSetViewObliqueResolve(a,c,preferredView);if(!b&&typeof a.callback=="function"){a.callback(obliqueMode.GetScene())}}a.Resolve(currentMode,width,height,b)}function HandleSetViewObliqueResolve(a,c,i){if(targetTool.centeringTrigger){targetTool.centeringTrigger=false;obliqueMode.RequestSceneAtLatLong(c,a.sceneOrientation,true,null,null,null,null,a.mapStyle);return true}var b=obliqueMode.GetScene(),e=b&&b.ContainsLatLong(c,a.zoomLevel);if(a.bySceneId){if(!b||b.GetID()!=a.sceneId){obliqueMode.RequestScene(a.sceneId);return true}else{if(!e){var l=b.GetBounds();a.SetCenterLatLong(b.PixelToLatLong(new VEPixel(b.GetWidth()/4,b.GetHeight()/4),1));
a.Resolve(currentMode,width,height);e=true}}}else{if(!b||!e||b.GetOrientation()!=a.sceneOrientation||b.GetMapStyle()!=a.mapStyle){obliqueMode.RequestSceneAtLatLong(c,a.sceneOrientation,true,null,a.callback,a.spinDirection,a.preserveScene,a.mapStyle);return true}}c=a.latlong;i.Copy(a);SetBaseTileSource(a);currentMode.ValidateZoomLevel(a);currentBounds=currentMode.GetBounds(a);ClipView(a,currentBounds);if(a.Equals(currentView)&&!resizeInProgress){return false}var g=a.GetX(currentView.zoomLevel)-currentView.center.x,h=a.GetY(currentView.zoomLevel)-currentView.center.y,d=Math.sqrt(g*g+h*h);previousCenter=currentView.latlong;var f=0;if(!previousCenter.Equals(a.latlong)){f+=Msn.VE.ViewChangeType.Pan}if(currentView.zoomLevel!=a.zoomLevel){f+=Msn.VE.ViewChangeType.Zoom}SetLastViewChangeType(f);var k=d<width&&d<height&&a.zoomLevel==currentView.zoomLevel&&IsAnimationEnabled()&&a.mapStyle==currentView.mapStyle&&(a.sceneId==null||a.sceneId==currentView.sceneId);if(k){PanToPixel(new VEPixel(a.center.x-originX-offsetX,a.center.y-originY-offsetY),true);return false}previousZoomLevel=currentView.zoomLevel;if(currentView.zoomLevel!=a.zoomLevel){Fire("onstartzoom",CreateEvent(null,null,null,a));zooming=true}var j=d<width&&d<height&&(a.zoomLevel==currentView.zoomLevel-1||a.zoomLevel==currentView.zoomLevel+1)&&IsAnimationEnabled()&&a.mapStyle==currentView.mapStyle&&(a.sceneId==null||a.sceneId==currentView.sceneId);if(j){tileLayerManager.zoomView(a);return false}UpdateTiles(a);return false}function SetViewOrtho(a,f){currentMode=orthoMode;p_elSource.style.backgroundImage="none";if(a.mapStyle==Msn.VE.MapStyle.Road||a.mapStyle==Msn.VE.MapStyle.Shaded){p_elSource.style.backgroundColor="#e9e7d4"}else{p_elSource.style.backgroundColor="black"}a.Resolve(currentMode,width,height);f=a.latlong;preferredView.Copy(a);SetBaseTileSource(a);currentMode.ValidateZoomLevel(a);currentBounds=currentMode.GetBounds(a);ClipView(a,currentBounds);a.Resolve(currentMode,width,height);if(a.Equals(currentView)&&!resizeInProgress){return false}if(!currentView.center){currentView.center=a.center
}var d=a.GetX(currentView.zoomLevel)-currentView.center.x,e=a.GetY(currentView.zoomLevel)-currentView.center.y,b=Math.sqrt(d*d+e*e);previousCenter=currentView.GetCenterLatLong();var c=0;if(!previousCenter.Equals(a.GetCenterLatLong())){c+=Msn.VE.ViewChangeType.Pan}if(currentView.zoomLevel!=a.zoomLevel){c+=Msn.VE.ViewChangeType.Zoom}SetLastViewChangeType(c);var h=b<width&&b<height&&a.zoomLevel==currentView.zoomLevel&&IsAnimationEnabled()&&a.mapStyle==currentView.mapStyle&&(a.sceneId==null||a.sceneId==currentView.sceneId);if(h){PanToLatLong(a.latlong.latitude,a.latlong.longitude,true);return true}previousZoomLevel=currentView.zoomLevel;if(currentView.zoomLevel!=a.zoomLevel){Fire("onstartzoom",CreateEvent(null,null,null,a));zooming=true}var g=b<width&&b<height&&(a.zoomLevel==currentView.zoomLevel-1||a.zoomLevel==currentView.zoomLevel+1)&&IsAnimationEnabled()&&a.mapStyle==currentView.mapStyle&&(a.sceneId==null||a.sceneId==currentView.sceneId);if(g){tileLayerManager.zoomView(a);return true}UpdateTiles(a);return true}function CreateNewView(){var a=new Msn.VE.MapView;a.Copy(currentView);a.SetAltitude(-1000);a.SetTilt(-90);a.SetDirection(0);var b=a.latlong,c=ClipLatitude(b.latitude);if(b.latitude!=c){a.SetCenterLatLong(new Msn.VE.LatLong(c,b.longitude));a.Resolve(currentMode,width,height)}if(Msn.VE.MapStyle.IsViewOblique(a.mapStyle)){currentMode=obliqueMode}else{currentMode=orthoMode}SetBaseTileSource(a);currentMode.ValidateZoomLevel(a);UpdateTiles(a);return true}function UpdateTiles(a){currentView.Destroy();currentView=a;tileLayerManager.SetViewPort();tileLayerManager.LoadBaseLayer("Road",mapTiles,1,1);tileLayerManager.RefreshTileLayers();tileLayerManager.FinalizeView();RepositionPushpins()}function SetLastViewChangeType(a){if(Msn.VE.ViewChangeType.IsValid(a)){lastViewChangeType=a}}_VERegisterNamespaces("Msn.VE.Geometry");Msn.VE.Geometry.Point=function(c,d){var a=this,b=Msn.VE.Geometry;this.x=c;this.y=d;this.add=function(c,d){var e=new b.Point(a.x+c,a.y+d);return e};this.getDistanceFrom=function(b){var c=Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2),d=Math.sqrt(c);
return d}};Msn.VE.Geometry.Overlap={Range:{GreaterThanX:1,LessThanX:2,GreaterThanY:4,LessThanY:8,InXRange:16,InYRange:32,InRange:48},getInstance:function(f,g){var d=Msn.VE.Geometry.Overlap,a=f,b=g,c=0;e();function e(){if(b.getP2().x>a.getP2().x){c+=d.Range.GreaterThanX}if(b.getP1().x<a.getP1().x){c+=d.Range.LessThanX}if(b.getP2().y>a.getP2().y){c+=d.Range.GreaterThanY}if(b.getP1().y<a.getP1().y){c+=d.Range.LessThanY}if(a.getP1().x<=b.getP1().x&&b.getP2().x<=a.getP2().x){c+=d.Range.InXRange}if(a.getP1().y<=b.getP1().y&&b.getP2().y<=a.getP2().y){c+=d.Range.InYRange}}this.getRange=function(){return c};this.getLeftXBleed=function(){if(c&d.Range.LessThanX){return Math.abs(a.getP1().x-b.getP1().x)}else{return 0}};this.getRightXBleed=function(){if(c&d.Range.GreaterThanX){return b.getP2().x-a.getP2().x}else{return 0}};this.getTopYBleed=function(){if(c&d.Range.LessThanY){return Math.abs(a.getP1().y-b.getP1().y)}else{return 0}};this.getBottomYBleed=function(){if(c&d.Range.GreaterThanY){return b.getP2().y-a.getP2().y}else{return 0}}}};Msn.VE.Geometry.Rectangle=function(h,i){var g=this,a=h,b=i,d,e;f();function f(){c()}this.move=function(c){a.x=c.x;a.y=c.y;b.x=c.x+e;b.y=c.y+d};this.getP1=function(){return a};this.getP2=function(){return b};this.setP1=function(b){a=b;c()};this.setP2=function(a){b=a;c()};this.getWidth=function(){return e};this.getHeight=function(){return d};this.containsPoint=function(c){return c.x>=a.x&&c.x<=b.x&&c.y>=a.y&&c.y<=b.y};this.scale=function(d){a.x-=d;a.y-=d;b.x+=d;b.y+=d;c()};this.getOverlap=function(a){var b=Msn.VE.Geometry;return new b.Overlap.getInstance(g,a)};function c(){d=b.y-a.y;e=b.x-a.x}};Msn.VE.Geometry.Functions={getSlope:function(a,b){return(b.y-a.y)/(b.x-a.x)},getYIntercept:function(b,a){return a.y-b*a.x},getBestBoundingPoint:function(f,b,c){var a=Msn.VE.Geometry;if(!b){b=g(f).getScreenPosition()}var e=new a.Rectangle(b,new a.Point(b.x+f.offsetWidth,b.y+f.offsetHeight)),j=c.getOverlap(e),d=j.getRange();if((d&a.Overlap.Range.InRange)==a.Overlap.Range.InRange){return b}var h=b.x,i=b.y;if(d&a.Overlap.Range.GreaterThanX){h=c.getP2().x-e.getWidth()
}if(d&a.Overlap.Range.LessThanX){h=c.getP1().x}if(d&a.Overlap.Range.GreaterThanY){i=c.getP2().y-e.getHeight()}if(d&a.Overlap.Range.LessThanY){i=c.getP1().y}return new a.Point(h,i)}};view3DMode=false;var sentinel3D,setStyle;function View3DAddPushpin(a){if(g(a.pin).hasClass("inactiveAbbreviationPin")){return}var d=parseInt(a.pinType),h=TranslatePushpinURL(a.className,a.innerHtml,d),c=Msn.VE.PushPinTypes,e=parseFloat(a.lat),f=parseFloat(a.lon),b='zindex="'+a.zIndex+'"';switch(d){case c.DirectionStep:case c.SearchResultNonprecise:b+=' textoffset="50%, 50%"';case c.Direction:case c.SearchResultPrecise:case c.AdSponsor:b+=' text="'+extractText(a.innerHtml)+'"';break;case c.Collection:if(a.className.indexOf("point")==-1){b+=' textoffset="50%, 60%"'}b+=' text="'+extractText(a.innerHtml)+'"';break;case c.Overlay:b+=' textoffset="50%, 50%"';b+=' text="'+extractText(a.innerHtml)+'"'}spacecontrol.AddPointWithProperties(0,a.id,e,f,h,b)}function extractText(b){var a=document.createElement("div");a.innerHTML=b;var c=a.textContent||a.innerText;a=null;return c}function View3DRemovePushpin(a){spacecontrol.DeleteGeometry(0,a)}function AddView3DParameter(d,c,b){var a=document.createElement("param");a.name=c;a.value=b;d.appendChild(a)}function Get3DUpdatedUrl(a){var b=Get3dInstallMarket();return"http://www.bing.com/maps/Help/VE3DInstall/VersionUpdated.aspx?version="+a+"&mkt="+b}function GetScriptVersion(){var a=null;if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null&&Msn.VE.API.Globals.vecurrentversion){var b=Msn.VE.API.Globals.vecurrentversion.split(".");a="";if(b.length>0){a+=b[0]}if(b.length>1){a+="."+b[1]}}else{if(typeof window.spacelandScriptVersion!="undefined"){a=window.spacelandScriptVersion}}return a}function CreateView3DControl(a){if(!BrowserSupports3D()){View3DUnavailable();return false}initial3dView=new Msn.VE.MapView;initial3dView.Copy(a);if(sentinel3D==null){sentinel3D=GetSentinel()}if(null==sentinel3D){View3DUnavailable();return false}if(sentinel3D!=null&&sentinel3D.CurrentVersion<4){var d=sentinel3D.CurrentVersion;sentinel3D=null;
if(d>0){View3DUpgrade(d)}return false}try{sentinel3D.InitializeRuntime()}catch(h){}spacediv=document.createElement("div");spacediv.id="MSVE_spacediv";spacediv.className="MSVE_SLMap";spacediv.style.position="relative";spacediv.style.height="100%";spacediv.style.overflow="hidden";spacecontrol=document.createElement("object");var b=a.cameraLatlong==null?a.latlong:a.cameraLatlong;AddView3DParameter(spacecontrol,"StartLongitude",b.longitude);AddView3DParameter(spacecontrol,"StartLatitude",b.latitude);AddView3DParameter(spacecontrol,"StartPitch",a.GetTilt());AddView3DParameter(spacecontrol,"StartHeading",-a.GetDirection());var f=Get3dMarket();if(f){AddView3DParameter(spacecontrol,"CurrentLocale",f)}var e=a.GetAltitude();if(e>-1000){AddView3DParameter(spacecontrol,"StartAltitude",e)}else{AddView3DParameter(spacecontrol,"StartZoomLevel",a.zoomLevel)}spacediv.appendChild(spacecontrol);try{if(window.navigator.userAgent.indexOf("MSIE")!=-1){spacecontrol.classid="clsid:68BFC611-B963-4e8c-B0FE-0DD4FB832796"}else{spacecontrol.type="application/x-virtual-earth-3d"}}catch(h){View3DUnavailable();spacecontrol=false;return false}var c=GetScriptVersion();spacecontrol.ControlId=init3dparam;spacecontrol.ScriptVersion=c;AttachEvent("onresize",ResizeControl);p_elSource.appendChild(spacediv);ResizeControl();setStyle=false;var g=ValidateControl();if(g){IterativeCameraRefinement();spacecontrol.ControlId=init3dparam;spacecontrol.ScriptVersion=c;if((typeof Msn.VE.API=="undefined"||Msn.VE.API==null)&&spacecontrol.VersionUpdated){VE_Help.OpenSized(L_VE3D_VersionUpgradedDialogTitle,Get3DUpdatedUrl(sentinel3D.CurrentVersion),550,280)}}if(typeof state!="undefined"&&state!=null){state.Set3DViewInstallInProgress("")}return g}function View3DUnavailable(){if(IsEventAttached("onmodenotavailable")){Fire("onmodenotavailable",Msn.VE.MapActionMode.Mode3D)}else{if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null){if(sentinel3D!=null){window.open(Get3dHelpUrl("View3DUnavailable.htm"),"_blank","width=600,height=550,menubar=0,resizeable=0,status=0,titlebar=0,toolbar=0,scrollbars=0")
}else{if(window.navigator.userAgent.indexOf("MSIE")!=-1){window.open(Get3dInstallUrl(),"_blank","width=650,height=520,menubar=0,resizeable=0,status=0,titlebar=0,toolbar=0,scrollbars=0")}else{if(window.navigator.userAgent.indexOf("Windows")!=-1){window.open(Get3dInstallUrl(),"_blank","width=760,height=580,menubar=0,resizeable=0,status=0,titlebar=0,toolbar=0,scrollbars=0")}}}}}}function CallIterativeCameraRefinement(){var a=GetMapControlInstance(null);if(a){a.IterativeCameraRefinement()}}function IterativeCameraRefinement(){if(cameraUpdateCount>0){return}if(IsModeEnabled(Msn.VE.MapActionMode.Mode3D)&&spacecontrol){if(!spacecontrol.AllTilesLoaded){setTimeout(CallIterativeCameraRefinement,1000)}else{var a=false,c=currentView.GetAltitude(),d=initial3dView.GetAltitude();if(d>-1000&&c>-1000){a=Math.abs(c-d)>1}else{a=currentView.GetZoomLevel()!=initial3dView.GetZoomLevel()}if(a){var b=initial3dView.MakeCopy();b.SetMapStyle(currentView.mapStyle);SetView3D(b,true)}}}}function ValidateControl(){if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){if(0==spacecontrol.HardwareClassificationLevel){setStyle=true}}var a=false,b=300;if(spacecontrol.Created){while(!spacecontrol.FirstFrameRendered&&!spacecontrol.LoadFailed&&!spacecontrol.AlreadyLoaded&&b>0){b--;spacecontrol.ProcessEvents()}a=spacecontrol.FirstFrameRendered}if(spacecontrol.Created&&!spacecontrol.HardwareAccelerationEnabled&&spacecontrol.LoadFailed){if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){window.setTimeout(DelayedHWDialog,2759);window.setTimeout(OnHardwareAccelHelpFired,4000)}else{if(IsEventAttached("onmodenotavailable")){Fire("onmodenotavailable",Msn.VE.MapActionMode.Mode3D)}}if(mode==Msn.VE.MapActionMode.Mode3D){EnableMode(Msn.VE.MapActionMode.Mode2D)}return false}else{if(!spacecontrol.Created||!spacecontrol.Enabled||!spacecontrol.IsHandleCreated||!a&&!spacecontrol.AlreadyLoaded){View3DUnavailable();spacecontrol=false;return false}else{spacecontrol.focus();view3DCreated=true;return true}}}function ResizeControl(){if(spacecontrol){spacecontrol.style.height=spacediv.offsetHeight+"px";
spacecontrol.style.width=spacediv.offsetWidth+"px"}RepositionShims()}function SetView3D(a,g){currentMode.ValidateZoomLevel(a);a.Resolve(orthoMode,width,height);preferredView.Copy(a);if(!view3DCreated&&!spacecontrol){var l=CreateView3DControl(a);if(setStyle){a.mapStyle="h";previousMapStyle="h"}if(!l){return false}if(a.GetTilt()!=-90&&a.cameraLatlong==null){a.Resolve(orthoMode,width,height);cameraUpdateCount=-1}else{cameraUpdateCount=0;a._supressFlyToCall=true}p_elSource.style.backgroundColor="#e9e7d4";originX=0;originY=0;offsetX=0;offsetY=0;UpdateFromParent()}if(!g&&a.Equals(currentView)){if(!spaceCameraIsFlying){ProcessQueuedRequest(null,null)}return false}var c=false;if(a.GetAltitude()>-1000){c=Math.abs(a.GetAltitude()-currentView.GetAltitude())>0.0001}else{c=currentView.zoomLevel!=a.zoomLevel}currentView.Destroy();currentView=a;if(view3DCreated){if(previousMapStyle){if(currentView.mapStyle!=null&&previousMapStyle!=currentView.mapStyle){var b="http://go.microsoft.com/fwlink/?LinkID=98770";if(currentView.mapStyle=="a"){b="http://go.microsoft.com/fwlink/?LinkID=98771";spacecontrol.ShowAtmosphere=true}if(currentView.mapStyle=="h"){b="http://go.microsoft.com/fwlink/?LinkID=98772";spacecontrol.ShowAtmosphere=true}if(currentView.mapStyle=="r"){spacecontrol.TexturesVisible=false;if(spacecontrol.HardwareClassificationLevel<3){b="http://go.microsoft.com/fwlink/?LinkID=98769"}spacecontrol.ShowAtmosphere=false}else{spacecontrol.TexturesVisible=true}spacecontrol.AddImageSource("Terrain","Texture",GetManifestUrl(b),0,1);Fire("onchangemapstyle");previousMapStyle=currentView.mapStyle}}else{previousMapStyle=currentView.mapStyle}var d=a.cameraLatlong,i=a.zoomLevel,j=a.GetAltitude(),k=a.GetTilt(),h=a.GetDirection(),e=a._needsPivotOperation;if(c){Fire("onstartzoom")}if(a._supressFlyToCall){a._supressFlyToCall=false}else{var f=spacecontrol.FlyTo(d.latitude,d.longitude,i,j,k,h,e?1:0);if(!f&&!spaceCameraIsFlying){ProcessQueuedRequest(null,null)}}if(a.sceneId&&a.sceneId!=-1){ProcessPhotoPluginActionIn3D("PhotosEnabled","enabled=1;labels="+(a.mapStyle==Msn.VE.MapStyle.Road||a.mapStyle==Msn.VE.MapStyle.Hybrid||a.mapStyle==Msn.VE.MapStyle.ObliqueHybrid?"1":"0"),spacecontrol);
ProcessPhotoPluginActionIn3D("SelectSceneId","SceneId="+a.sceneId+";X="+a.photoX+";Y="+a.photoY+";Scale="+a.photoScale,spacecontrol,null)}if(c){Fire("onendzoom")}if(copyright){copyright.Update()}return true}return false}var on3DAnimationInterruptedCallback=null;function SetOn3DAnimationInterruptedCallback(a){on3DAnimationInterruptedCallback=a}function GetOn3DAnimationInterruptedCallback(){return on3DAnimationInterruptedCallback}function SetViewport(b,d,c,e){Sync3dView();var a=preferredView.MakeCopy();a.sceneId=null;a.SetLatLongRectangle(new Msn.VE.LatLongRectangle(new Msn.VE.LatLong(ClipLatitude(b),ClipLongitude(d)),new Msn.VE.LatLong(ClipLatitude(c),ClipLongitude(e))));a.SetTilt(-90);a.SetDirection(0);return SetView(a)}function SetBestMapView(b){var a=GetBestMapViewBounds(b);if(!a||a.constructor!=Array){return false}if(a.length==4){return SetViewport(a[0],a[1],a[2],a[3])}}function GetBestMapViewBounds(a){var b=[];if(!a||a.constructor!=Array){return null}var c=a[0].latitude,d=a[0].longitude,f=c,g=d;for(var e=1;e<a.length;e++){c=MathMin(c,a[e].latitude);d=MathMin(d,a[e].longitude);f=MathMax(f,a[e].latitude);g=MathMax(g,a[e].longitude)}var h=(f-c)*0.1,i=(g-d)*0.1;c-=h;d-=i;f+=h;g+=i;if(!b||b.constructor!=Array){return null}else{b.push(ClipLatitude(c));b.push(ClipLongitude(d));b.push(ClipLatitude(f));b.push(ClipLongitude(g));return b}}function IncludePointInViewport(d,c){var a=new Msn.VE.LatLong(d,c);if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)){var b=obliqueMode.GetScene();if(!b||!b.ContainsLatLong(a)){SetMapStyle(lastOrthoMapStyle)}}SetBestMapView([currentView.latlong,a])}function ClipLatitude(a){return Clip(a,minLatitude,maxLatitude)}function ClipLongitude(a){return Clip(a,minLongitude,maxLongitude)}function Clip(a,c,b){if(a<c){return c}if(a>b){return b}return a}function SetZoom(b){Sync3dView();var a=preferredView.MakeCopy();a.SetZoomLevel(b);SetView(a)}function ZoomIn(){Sync3dView();var a=preferredView.MakeCopy();a.SetZoomLevel(currentView.zoomLevel+1);SetView(a)}function ZoomOut(){Sync3dView();var a=preferredView.MakeCopy();
a.SetZoomLevel(currentView.zoomLevel-1);SetView(a)}function SetCenterAndZoom(d,b,c){Sync3dView();var a=preferredView.MakeCopy();a.sceneId=null;a.SetCenterLatLong(new Msn.VE.LatLong(d,b));a.SetZoomLevel(c);SetView(a)}function GetCurrentViewMaxZoomLevel(b){var a=b;if(typeof a=="undefined"||a==null){a=preferredView}if(!currentMode){return tileLayerManager.GetMaxTileZoom()}return currentMode.GetCurrentMaxZoomLevel(a)}function ObliqueMode(){var r=false,a=null,t=null,b=false,h=false,y=null,z=null,l=false,n=false,k=null,c=null,g=-1,e=null,p=true,m=null,s=null,f=["02010130313","02010130321","02010130323","02010130330","02010130331","02010130332","02010130333","02010131202","02010131220","02010131221","02010131222","02010131223","02010131232","02010132110","02010132111","02010133000","02010133001","02010133003","02010133010","02010133012","02121131200","02121131201","02121131202","02121131203","02121131210","02121131211","02121131212","02121131213","02121131220","02121131221","02121131222","02121131223","02121131230","02121131231","02121131232","02121131233","02121131300","02121131302","02121222032","02121222033","02121222122","02121222210","02121222211","02121222212","02121222213","02121222230","02121222231","02121222233","02121222300","02121222301","02121222302","02121222303","02121222310","02121222311","02121222312","02121222313","02121222320","02121222321","02121222322","02121222323","02121222330","02121222331","02121222332","02121222333","02121223200","02121223202","02121223203","02121223210","02121223212","02121223213","02121223220","02121223221","02121223222","02121223223","02121223230","02121223231","02121223232","02121311002","02121311003","02121311020","02121311021","02121312131","02121312132","02121312133","02121312301","02121312303","02121312310","02121312311","02121312312","02121312313","02121312330","02121312331","02121312333","02121313022","02121313200","02121313202","02121313220","02121313222","02121330111","02121333101","02121333103","02121333110","02121333112","02121333130","02122313101","02122313103","02122313110","02122313112","02123000003","02123000012","02123000021","02123000022","02123000023","02123000030","02123000032","02123000101","02123000103","02123000110","02123000111","02123000112","02123000113","02123000121","02123000123","02123000130","02123000131","02123000132","02123000133","02123000200","02123000201","02123000210","02123000301","02123000303","02123000310","02123000311","02123000312","02123000313","02123000321","02123000330","02123000331","02123000332","02123000333","02123001000","02123001001","02123001002","02123001003","02123001010","02123001011","02123001012","02123001013","02123001020","02123001021","02123001022","02123001023","02123001030","02123001031","02123001032","02123001033","02123001102","02123001103","02123001112","02123001120","02123001121","02123001122","02123001123","02123001130","02123001132","02123001200","02123001201","02123001202","02123001203","02123001210","02123001211","02123001212","02123001220","02123001221","02123001222","02123001223","02123001232","02123001300","02123001301","02123001302","02123001303","02123002103","02123002110","02123002111","02123002112","02123002113","02123002121","02123002123","02123002130","02123002131","02123002132","02123002133","02123002233","02123002301","02123002303","02123002310","02123002311","02123002312","02123002313","02123002320","02123002321","02123002322","02123002323","02123002330","02123002331","02123002332","02123002333","02123003000","02123003001","02123003002","02123003003","02123003010","02123003011","02123003012","02123003013","02123003020","02123003021","02123003022","02123003023","02123003030","02123003031","02123003032","02123003033","02123003102","02123003103","02123003112","02123003113","02123003120","02123003121","02123003122","02123003123","02123003130","02123003131","02123003132","02123003133","02123003200","02123003201","02123003202","02123003203","02123003210","02123003211","02123003212","02123003213","02123003220","02123003221","02123003222","02123003223","02123003230","02123003231","02123003232","02123003233","02123003300","02123003301","02123003302","02123003303","02123003310","02123003320","02123003321","02123003322","02123003323","02123003330","02123003332","02123020011","02123020013","02123020031","02123020100","02123020101","02123020102","02123020103","02123020110","02123020111","02123020112","02123020113","02123020120","02123021000","02123021001","02123021002","02123021100","02123021101","02123022103","02123022112","02123022113","02123022121","02123022122","02123022123","02123022130","02123022131","02123022132","02123022133","02123022211","02123022233","02123022300","02123022301","02123022302","02123022303","02123022310","02123022311","02123022312","02123022313","02123022320","02123022321","02123022322","02123022323","02123022330","02123022331","02123023200","02123023202","02123023220","02123030020","02123030021","02123030022","02123030023","02123030030","02123030032","02123030033","02123030200","02123030201","02123030210","02123030211","02123030212","02123030213","02123030231","02123030300","02123030302","02123030303","02123030312","02123030320","02123030321","02123030323","02123030330","02123030331","02123030332","02123030333","02123031031","02123031033","02123031120","02123031122","02123031202","02123031203","02123031212","02123031220","02123031221","02123031223","02123031230","02123031231","02123031232","02123031233","02123031332","02123031333","02123033010","02123033011","02123033101","02123033110","02123033111","02123100233","02123100322","02123102011","02123102012","02123102013","02123102030","02123102031","02123102032","02123102033","02123102100","02123102102","02123102103","02123102111","02123102112","02123102113","02123102120","02123102121","02123102122","02123102123","02123102130","02123102131","02123102132","02123102133","02123102210","02123102211","02123102301","02123102310","02123102311","02123102312","02123102313","02123102330","02123102331","02123102332","02123102333","02123103002","02123103020","02123103022","02123103030","02123103031","02123103032","02123103033","02123103120","02123103122","02123103200","02123103201","02123103202","02123103203","02123103210","02123103212","02123103213","02123103220","02123103221","02123103222","02123103230","02123103231","02123120111","02123130110","02123130111","02123130112","02123130113","02123130130","02123130131","02123131000","02123131002","02123200011","02123200013","02123200031","02123200033","02123200100","02123200101","02123200102","02123200103","02123200120","02123200121","02123200122","02123200223","02123200230","02123200231","02123200232","02123200233","02123200322","02123200323","02123201303","02123201312","02123201320","02123201321","02123201323","02123201330","02123201331","02123201332","02123202001","02123202010","02123202011","02123202013","02123202031","02123202100","02123202101","02123202102","02123202120","02123202130","02123202131","02123203101","02123203102","02123203103","02123203110","02123203112","02123203120","02123203121","02123203122","02123203123","02123220122","02123220123","02123220210","02123220211","02123220212","02123220213","02123220300","02123220301","02123220302","02123220303","02123220320","02123220321","02123220323","02123220330","02123220332","02123223233","02123223322","02123231323","02123233011","02123233012","02123233013","02123233030","02123233031","02123233033","02123233100","02123233101","02123233102","02123233103","02123233110","02123233111","02123233112","02123233113","02123233120","02123233121","02123233122","02123233123","02123233130","02123233131","02123233132","02123233133","02123233201","02123233203","02123233210","02123233211","02123233212","02123233213","02123233230","02123233231","02123233232","02123233300","02123233301","02123233302","02123233303","02123233310","02123233311","02123233312","02123233313","02123233330","02123233331","02123233332","02123233333","02123302112","02123302113","02123302130","02123302131","02123302132","02123302133","02123302310","02123302311","02123302313","02123303002","02123303003","02123303020","02123303021","02123303022","02123303023","02123303030","02123303032","02123303033","02123303200","02123303201","02123303202","02123303203","02123303210","02123303211","02123303220","02123303221","02123320223","02123320232","02123322001","02123322003","02123322010","02123322012","02123322020","02123322021","02123322022","02123322023","02123322030","02123322032","02123322033","02123322122","02123322200","02123322201","02123322202","02123322203","02123322210","02123322211","02123322212","02123322213","02123322221","02123322223","02123322230","02123322231","02123322232","02123322233","02123322300","02123322302","02123322303","02123322320","02123322321","02123322322","02123322323","02123322330","02123322332","02123323323","02123323332","02123330233","02123331111","02123331112","02123331113","02123331131","02123332011","02123332221","02123332223","02123332230","02123332232","02130221203","02130221212","02130221221","02130221230","02130231032","02130231033","02130231210","02130231211","02130300020","02130300021","02130300022","02130300023","02130300030","02130300032","02130300200","02130300201","02130300210","02130313022","02130313023","02130313200","02130313201","02130320130","02130320131","02130320132","02130320133","02130321020","02130321022","02130321102","02130321103","02130321120","02130321121","02130321122","02130321123","02130332002","02130332003","02130332020","02130332021","02130332303","02130332312","02130332321","02130332330","02132032103","02132032112","02132032113","02132032120","02132032121","02132032122","02132032123","02132032130","02132032131","02132032132","02132220000","02132220001","02132220002","02132220003","02132220012","02132220020","02132220021","02132220022","02132220023","02132220030","02132220031","02132220032","02132220033","02132220200","02132220201","02132220202","02132220203","02132220210","02132220211","02132220212","02132220213","02132220230","02132220231","02132222202","02132222203","02132222210","02132222211","02132222212","02132222213","02132222220","02132222221","02132222222","02132222223","02132222230","02132222231","02132222232","02132222233","02132222300","02132222301","02132222302","02132222303","02132222310","02132222312","02132222320","02132222321","02132222330","02132310233","02132310322","02132310323","02132310332","02132312011","02132312013","02132312031","02132312100","02132312101","02132312102","02132312103","02133030110","02133030111","02133030112","02133030113","02133031000","02133031001","02133031002","02133031003","02133031012","02133031020","02133031021","02133031232","02133031233","02133031322","02133031332","02133031333","02133033010","02133033011","02133033012","02133033013","02133033020","02133033021","02133033022","02133033023","02133033030","02133033031","02133033032","02133033033","02133033100","02133033102","02133033110","02133033111","02133033112","02133033113","02133033120","02133033121","02133033122","02133033123","02133033130","02133033131","02133033132","02133033133","02133033200","02133033201","02133033203","02133033210","02133033211","02133033212","02133033213","02133033230","02133033231","02133033233","02133033300","02133033301","02133033302","02133033303","02133033310","02133033311","02133033312","02133033313","02133033320","02133033321","02133033322","02133033323","02133103133","02133103213","02133103231","02133103233","02133103302","02133103311","02133103313","02133103320","02133103322","02133111212","02133111213","02133111230","02133111231","02133111232","02133111233","02133111320","02133111321","02133111322","02133111323","02133111330","02133111331","02133111332","02133111333","02133112022","02133112023","02133112032","02133112033","02133112200","02133112201","02133112210","02133112211","02133113003","02133113010","02133113011","02133113012","02133113013","02133113021","02133113023","02133113030","02133113031","02133113032","02133113033","02133113100","02133113101","02133113102","02133113103","02133113110","02133113111","02133113112","02133113113","02133113120","02133113121","02133113122","02133113123","02133113130","02133113131","02133113201","02133113210","02133113211","02133113232","02133113233","02133120012","02133120013","02133120030","02133120031","02133120032","02133120033","02133120102","02133120103","02133120120","02133120121","02133120122","02133120123","02133120210","02133120211","02133120212","02133120213","02133120222","02133120223","02133120230","02133120231","02133120232","02133120233","02133120300","02133120301","02133120302","02133120303","02133120312","02133120320","02133120321","02133120322","02133120323","02133120330","02133120331","02133120332","02133120333","02133121220","02133121221","02133121222","02133121223","02133121230","02133121232","02133122000","02133122001","02133122002","02133122003","02133122010","02133122011","02133122012","02133122013","02133122020","02133122021","02133122022","02133122023","02133122030","02133122031","02133122032","02133122033","02133122100","02133122101","02133122102","02133122103","02133122110","02133122111","02133122112","02133122113","02133122120","02133122121","02133122122","02133122123","02133122130","02133122131","02133122132","02133122133","02133122200","02133122201","02133122202","02133122203","02133122210","02133122212","02133122213","02133122221","02133122223","02133122230","02133122231","02133122232","02133122233","02133122301","02133122302","02133122303","02133122310","02133122311","02133122312","02133122313","02133122320","02133122321","02133122322","02133122323","02133122330","02133122331","02133122332","02133122333","02133123000","02133123001","02133123002","02133123003","02133123010","02133123012","02133123020","02133123021","02133123022","02133123023","02133123030","02133123032","02133123033","02133123122","02133123131","02133123133","02133123200","02133123201","02133123202","02133123203","02133123210","02133123211","02133123212","02133123213","02133123220","02133123221","02133123230","02133123231","02133123232","02133123233","02133123300","02133123301","02133123302","02133123303","02133123310","02133123311","02133123312","02133123313","02133123320","02133123321","02133123322","02133123323","02133123330","02133123331","02133123332","02133123333","02133130013","02133130021","02133130023","02133130030","02133130031","02133130032","02133130033","02133130102","02133130112","02133130113","02133130120","02133130121","02133130122","02133130123","02133130130","02133130131","02133130132","02133130133","02133130210","02133130211","02133130212","02133130213","02133130230","02133130231","02133130232","02133130233","02133130300","02133130301","02133130302","02133130303","02133130310","02133130311","02133130312","02133130313","02133130320","02133130321","02133130322","02133130323","02133130330","02133130331","02133130332","02133130333","02133131000","02133131001","02133131002","02133131003","02133131010","02133131011","02133131012","02133131013","02133131020","02133131021","02133131022","02133131023","02133131030","02133131031","02133131032","02133131033","02133131200","02133131201","02133131202","02133131203","02133131210","02133131211","02133131212","02133131220","02133131221","02133131222","02133131223","02133131230","02133131232","02133132000","02133132001","02133132002","02133132003","02133132010","02133132011","02133132012","02133132013","02133132020","02133132021","02133132022","02133132023","02133132030","02133132031","02133132032","02133132033","02133132100","02133132101","02133132102","02133132103","02133132110","02133132111","02133132112","02133132113","02133132120","02133132121","02133132122","02133132123","02133132130","02133132131","02133132132","02133132133","02133132202","02133132220","02133132222","02133211123","02133211132","02133211133","02133211222","02133211223","02133211230","02133211231","02133211232","02133211233","02133211301","02133211303","02133211310","02133211311","02133211312","02133211313","02133211320","02133211321","02133211322","02133211323","02133211330","02133211331","02133211332","02133211333","02133212113","02133212131","02133212133","02133212311","02133212320","02133212321","02133212322","02133212323","02133212330","02133212331","02133212332","02133212333","02133213000","02133213001","02133213002","02133213003","02133213010","02133213011","02133213012","02133213013","02133213020","02133213021","02133213022","02133213023","02133213030","02133213031","02133213032","02133213033","02133213100","02133213101","02133213102","02133213103","02133213200","02133213201","02133213210","02133213211","02133213212","02133213213","02133213230","02133213231","02133213300","02133213301","02133213302","02133213303","02133213310","02133213312","02133213320","02133213321","02133213330","02133230100","02133230101","02133230102","02133230103","02133230110","02133230111","02133230112","02133230113","02133230120","02133230121","02133230130","02133230131","02133231032","02133231033","02133231122","02133231123","02133231132","02133231133","02133231210","02133231211","02133231213","02133231231","02133231300","02133231301","02133231302","02133231303","02133231310","02133231311","02133231312","02133231313","02133231320","02133231321","02133231330","02133231331","02133233101","02133233103","02133233112","02133233113","02133233121","02133233123","02133233130","02133233131","02133233132","02133233133","02133233211","02133233213","02133233222","02133233223","02133233231","02133233232","02133233233","02133233300","02133233301","02133233302","02133233303","02133233310","02133233311","02133233312","02133233313","02133233320","02133233321","02133233322","02133233323","02133233330","02133233331","02133233332","02133300001","02133300002","02133300003","02133300010","02133300011","02133300012","02133300013","02133300020","02133300021","02133300022","02133300023","02133300030","02133300031","02133300032","02133300033","02133300100","02133300101","02133300102","02133300103","02133300110","02133300111","02133300112","02133300113","02133300120","02133300121","02133300122","02133300123","02133300130","02133300132","02133300200","02133300201","02133300202","02133300203","02133300210","02133300211","02133300212","02133300213","02133300220","02133300221","02133300222","02133300223","02133300230","02133300231","02133300232","02133300233","02133300300","02133300301","02133300302","02133300303","02133300310","02133300312","02133300320","02133300321","02133300322","02133300323","02133300330","02133300331","02133300332","02133300333","02133301000","02133301001","02133301002","02133301003","02133301010","02133301011","02133301012","02133301013","02133301020","02133301021","02133301022","02133301023","02133301030","02133301031","02133301032","02133301033","02133301100","02133301101","02133301102","02133301103","02133301110","02133301111","02133301112","02133301113","02133301120","02133301121","02133301122","02133301123","02133301130","02133301131","02133301132","02133301133","02133301201","02133301210","02133301211","02133301213","02133301220","02133301221","02133301222","02133301223","02133301230","02133301231","02133301232","02133301233","02133301300","02133301301","02133301302","02133301303","02133301310","02133301311","02133301312","02133301313","02133301320","02133301321","02133301322","02133301323","02133301330","02133301331","02133301332","02133301333","02133302000","02133302001","02133302002","02133302003","02133302010","02133302011","02133302012","02133302013","02133302020","02133302021","02133302030","02133302031","02133302100","02133302102","02133302103","02133302111","02133302112","02133302113","02133302120","02133302121","02133302122","02133302123","02133302130","02133302131","02133302132","02133302133","02133302300","02133302301","02133302302","02133302303","02133302310","02133302311","02133302312","02133302313","02133303000","02133303001","02133303002","02133303003","02133303010","02133303012","02133303020","02133303021","02133303030","02133303100","02133303101","02133303102","02133303103","02133303110","02133303111","02133303112","02133303113","02133303120","02133303121","02133303130","02133303131","02133303201","02133303203","02133303210","02133303211","02133303212","02133303213","02133303221","02133303230","02133303231","02133303233","02133303300","02133303301","02133303302","02133303303","02133303310","02133303312","02133303320","02133303321","02133303322","02133303323","02133303330","02133303332","02133310000","02133310002","02133310020","02133310022","02133310112","02133310113","02133310130","02133310131","02133310132","02133310133","02133310200","02133310220","02133310221","02133310222","02133310223","02133310230","02133310231","02133310232","02133310233","02133310310","02133310311","02133310320","02133310321","02133310322","02133310323","02133310330","02133310332","02133310333","02133311002","02133311003","02133311012","02133311020","02133311021","02133311022","02133311023","02133311030","02133311032","02133311101","02133311103","02133311110","02133311112","02133311113","02133311130","02133311132","02133311133","02133311200","02133311201","02133311210","02133311222","02133311223","02133311232","02133312000","02133312001","02133312002","02133312003","02133312010","02133312011","02133312012","02133312013","02133312020","02133312021","02133312023","02133312030","02133312031","02133312032","02133312033","02133312100","02133312101","02133312102","02133312103","02133312110","02133312111","02133312112","02133312113","02133312120","02133312121","02133312122","02133312123","02133312130","02133312131","02133312132","02133312133","02133312201","02133312210","02133312211","02133312221","02133312223","02133312230","02133312231","02133312232","02133312233","02133312300","02133312301","02133312302","02133312303","02133312310","02133312311","02133312312","02133312313","02133312320","02133312321","02133312322","02133312323","02133312330","02133312331","02133312332","02133312333","02133313000","02133313001","02133313002","02133313003","02133313010","02133313012","02133313020","02133313021","02133313022","02133313023","02133313030","02133313032","02133313200","02133313201","02133313222","02133313223","02133320011","02133320013","02133320023","02133320031","02133320032","02133320033","02133320100","02133320101","02133320102","02133320103","02133320110","02133320112","02133320120","02133320121","02133320122","02133320123","02133320130","02133320132","02133320201","02133320203","02133320210","02133320211","02133320212","02133320213","02133320221","02133320223","02133320230","02133320231","02133320232","02133320233","02133320300","02133320301","02133320302","02133320310","02133320320","02133320322","02133321011","02133321013","02133321100","02133321101","02133321102","02133321103","02133321110","02133321112","02133321132","02133321133","02133321220","02133321221","02133321222","02133321223","02133321230","02133321231","02133321232","02133321233","02133321310","02133321311","02133321312","02133321313","02133321320","02133321321","02133321322","02133321323","02133321330","02133321331","02133322000","02133322001","02133322002","02133322003","02133322010","02133322012","02133322013","02133322020","02133322021","02133322022","02133322023","02133322030","02133322031","02133322032","02133322033","02133322122","02133322123","02133322200","02133322201","02133322202","02133322203","02133322210","02133322211","02133322212","02133322213","02133322220","02133322221","02133322222","02133322223","02133322230","02133322231","02133322232","02133322233","02133322300","02133322301","02133322302","02133322303","02133322320","02133322321","02133322322","02133322330","02133322331","02133322332","02133322333","02133323000","02133323001","02133323002","02133323003","02133323010","02133323011","02133323012","02133323013","02133323021","02133323030","02133323031","02133323032","02133323033","02133323100","02133323101","02133323102","02133323103","02133323120","02133323121","02133323122","02133323123","02133323132","02133323133","02133323210","02133323211","02133323220","02133323221","02133323222","02133323223","02133323230","02133323231","02133323232","02133323233","02133323300","02133323301","02133323302","02133323303","02133323310","02133323311","02133323312","02133323313","02133323320","02133323321","02133323322","02133323323","02133323330","02133323331","02133323332","02133323333","02133330001","02133330003","02133330010","02133330011","02133330012","02133330013","02133330022","02133330023","02133330031","02133330032","02133330033","02133330100","02133330101","02133330102","02133330110","02133330111","02133330112","02133330113","02133330120","02133330121","02133330122","02133330123","02133330130","02133330131","02133330132","02133330133","02133330200","02133330201","02133330202","02133330203","02133330210","02133330211","02133330212","02133330213","02133330220","02133330221","02133330230","02133330231","02133330232","02133330233","02133330300","02133330301","02133330302","02133330303","02133330310","02133330311","02133330312","02133330313","02133330320","02133330321","02133330322","02133330323","02133330330","02133330331","02133330332","02133330333","02133331000","02133331001","02133331002","02133331003","02133331012","02133331020","02133331021","02133331022","02133331023","02133331030","02133331031","02133331032","02133331033","02133331200","02133331201","02133331202","02133331203","02133331212","02133331213","02133331220","02133331221","02133331222","02133331223","02133331230","02133331231","02133331232","02133331233","02133332010","02133332011","02133332012","02133332013","02133332022","02133332030","02133332031","02133332032","02133332033","02133332100","02133332101","02133332102","02133332103","02133332110","02133332111","02133332112","02133332113","02133332120","02133332121","02133332122","02133332123","02133332130","02133332131","02133332132","02133332133","02133332200","02133332202","02133332210","02133332211","02133332212","02133332213","02133332220","02133332221","02133332222","02133332223","02133332230","02133332231","02133332233","02133332300","02133332301","02133332302","02133332303","02133332310","02133332311","02133332320","02133332321","02133332330","02133332331","02133332332","02133332333","02133333000","02133333001","02133333002","02133333003","02133333010","02133333011","02133333012","02133333013","02133333020","02133333022","02133333030","02133333031","02133333032","02133333033","02133333102","02133333103","02133333112","02133333120","02133333121","02133333122","02133333123","02133333130","02133333131","02133333132","02133333133","02133333200","02133333201","02133333203","02133333210","02133333211","02133333212","02133333213","02133333220","02133333222","02133333223","02133333232","02133333300","02133333301","02133333302","02133333303","02133333310","02133333311","02221111013","02221111031","02221111033","02221111102","02221111103","02221111120","02221111121","02221111122","02221111123","02221111130","02221111132","02221111133","02221111301","02221111310","02221111311","02230000201","02230000203","02230000210","02230000212","02230000213","02230000231","02230000233","02230000302","02230000303","02230000312","02230000313","02230000320","02230000321","02230000323","02230000330","02230000331","02230000332","02230001220","02230001222","02230002101","02230002110","02230003023","02230003032","02230003033","02230003201","02230003202","02230003220","02230003221","02230003222","02230003223","02230003303","02230003312","02230003321","02230003330","02230003332","02230021011","02230021012","02230021013","02301000113","02301000131","02301000133","02301000311","02301001002","02301001011","02301001013","02301001020","02301001022","02301001100","02301001200","02301002223","02301002232","02301002233","02301002322","02301002323","02301002332","02301003010","02301003011","02301003012","02301003013","02301003031","02301003033","02301003100","02301003102","02301003120","02301003121","02301003122","02301003123","02301003211","02301003323","02301003332","02301003333","02301011100","02301011101","02301011102","02301011103","02301011110","02301011111","02301011112","02301012103","02301012112","02301012113","02301012121","02301012123","02301012130","02301012131","02301012132","02301012133","02301012310","02301012311","02301012312","02301012313","02301012330","02301012331","02301020001","02301020003","02301020010","02301020011","02301020012","02301020013","02301020030","02301020031","02301020033","02301020100","02301020101","02301020102","02301020103","02301020110","02301020112","02301020113","02301020120","02301020121","02301020122","02301020123","02301020130","02301020131","02301020132","02301020133","02301020211","02301020300","02301020301","02301020302","02301020303","02301020310","02301020311","02301020312","02301020313","02301020321","02301020330","02301020331","02301020332","02301020333","02301021001","02301021003","02301021010","02301021011","02301021012","02301021013","02301021020","02301021021","02301021022","02301021023","02301021030","02301021031","02301021032","02301021033","02301021100","02301021101","02301021102","02301021103","02301021110","02301021111","02301021112","02301021113","02301021120","02301021121","02301021122","02301021123","02301021130","02301021131","02301021132","02301021133","02301021200","02301021201","02301021202","02301021203","02301021210","02301021211","02301021212","02301021213","02301021220","02301021221","02301021222","02301021223","02301021230","02301021231","02301021232","02301021233","02301021300","02301021301","02301021302","02301021303","02301021310","02301021311","02301021312","02301021313","02301021320","02301021321","02301021322","02301021323","02301021330","02301021331","02301021332","02301021333","02301022110","02301022111","02301022112","02301022113","02301022131","02301023000","02301023001","02301023002","02301023003","02301023010","02301023011","02301023012","02301023013","02301023020","02301023021","02301023022","02301023023","02301023030","02301023031","02301023032","02301023033","02301023100","02301023101","02301023102","02301023103","02301023110","02301023111","02301023112","02301023113","02301023120","02301023122","02301023130","02301023131","02301023133","02301023200","02301023201","02301023202","02301023203","02301023210","02301023211","02301023212","02301023213","02301023223","02301023230","02301023231","02301023232","02301023233","02301023300","02301023302","02301023320","02301023322","02301030222","02301030223","02301031102","02301031103","02301031120","02301031121","02301031131","02301031133","02301032000","02301032001","02301032002","02301032003","02301032030","02301032031","02301032032","02301032033","02301032131","02301032133","02301032211","02301032212","02301032230","02301032231","02301032232","02301032233","02301032300","02301032301","02301032302","02301032303","02301032312","02301032313","02301032320","02301032321","02301032322","02301032323","02301032330","02301032331","02301032332","02301032333","02301033220","02301033222","02301033223","02301100000","02301100001","02301100002","02301100003","02301100010","02301100011","02301100012","02301100013","02301100031","02301100100","02301100101","02301100102","02301100103","02301100110","02301100112","02301100120","02301100121","02301100130","02301101002","02301101003","02301101013","02301101020","02301101021","02301101022","02301101023","02301101031","02301101100","02301101101","02301101102","02301101103","02301101110","02301101112","02301101113","02301101120","02301101121","02301101130","02301101131","02301101200","02301101201","02301103013","02301103031","02301103033","02301103100","02301103101","02301103102","02301103103","02301103120","02301103121","02301103122","02301110112","02301110113","02301110130","02301110131","02301120020","02301120022","02301132111","02301132113","02301132131","02301132133","02301132311","02301132313","02301133000","02301133001","02301133002","02301133003","02301133010","02301133012","02301133013","02301133020","02301133021","02301133022","02301133023","02301133030","02301133031","02301133032","02301133033","02301133102","02301133103","02301133120","02301133121","02301133122","02301133123","02301133200","02301133201","02301133202","02301133203","02301133210","02301133211","02301133212","02301133213","02301133300","02301133301","02301133302","02301133303","02301201001","02301201010","02301201011","02301201013","02301201100","02301201101","02301201103","02301201110","02301201112","02301201121","02301201130","02301201131","02301201132","02301201133","02301210011","02301210030","02301210031","02301210032","02301210033","02301210100","02301210101","02301210103","02301210110","02301210111","02301210112","02301210113","02301210120","02301210121","02301210122","02301210123","02301211000","02301211001","02301211002","02301211003","02301211010","02301211012","02301211020","02301211021","02301211022","02301211023","02301211030","02301211032","02301211033","02301211201","02301211202","02301211203","02301211210","02301211211","02301211212","02301211220","02301211221","02301211222","02301211223","02301211230","02301211232","02301211233","02301212003","02301212012","02301212021","02301212023","02301212030","02301212032","02301212033","02301212210","02301212211","02301212213","02301212302","02301212303","02301212320","02301212321","02301212323","02301212330","02301212331","02301212332","02301212333","02301213000","02301213001","02301213002","02301213010","02301213011","02301213012","02301213013","02301213020","02301213021","02301213022","02301213031","02301213100","02301213102","02301213120","02301213211","02301213213","02301213220","02301213221","02301213222","02301213223","02301213230","02301213231","02301213232","02301213233","02301213300","02301213301","02301213302","02301213303","02301213310","02301213311","02301213312","02301213313","02301213320","02301213321","02301213322","02301213323","02301213330","02301213331","02301213332","02301213333","02301231000","02301231001","02301231003","02301231010","02301231011","02301231012","02301231013","02301231030","02301231031","02301231100","02301231101","02301231102","02301231103","02301231110","02301231111","02301231112","02301231113","02301231120","02301231121","02301231123","02301231130","02301231131","02301231132","02301231133","02301231303","02301231310","02301231311","02301231312","02301231321","02301231323","02301231330","02301231331","02301231332","02301231333","02301300230","02301300231","02301300232","02301300233","02301300302","02301300320","02301301113","02301301131","02301301133","02301301311","02301301332","02301301333","02301302123","02301302132","02301302133","02301302200","02301302201","02301302202","02301302203","02301302210","02301302211","02301302212","02301302213","02301302220","02301302221","02301302222","02301302223","02301302230","02301302231","02301302232","02301302233","02301302300","02301302301","02301302302","02301302303","02301302310","02301302311","02301302312","02301302313","02301302320","02301302321","02301302322","02301302323","02301302330","02301302331","02301302332","02301302333","02301303021","02301303022","02301303110","02301303111","02301303200","02301303201","02301310002","02301310020","02301310021","02301310022","02301310023","02301310030","02301310032","02301310033","02301310200","02301310201","02301310210","02301310211","02301310212","02301310213","02301312013","02301312031","02301312033","02301312102","02301312103","02301312112","02301312113","02301312120","02301312122","02301312130","02301312131","02301312211","02301312300","02301312302","02301312320","02301312321","02301312323","02301312330","02301312332","02301320000","02301320001","02301320002","02301320003","02301320010","02301320011","02301320012","02301320013","02301320020","02301320021","02301320022","02301320023","02301320030","02301320031","02301320032","02301320033","02301320100","02301320101","02301320102","02301320103","02301320110","02301320111","02301320112","02301320113","02301320120","02301320121","02301320122","02301320123","02301320130","02301320131","02301320132","02301320133","02301320200","02301320201","02301320203","02301320210","02301320211","02301320212","02301320213","02301320230","02301320231","02301320300","02301320301","02301320302","02301320303","02301320310","02301320311","02301320312","02301320320","02301320321","02301320322","02301320323","02301320330","02301320332","02301321001","02301321002","02301321003","02301321010","02301321011","02301321012","02301321013","02301321020","02301321021","02301321022","02301321023","02301321030","02301321032","02301321033","02301321100","02301321101","02301321102","02301321103","02301321200","02301321201","02301321210","02301321211","02301321212","02301321213","02301321332","02301321333","02301322100","02301322101","02301322102","02301322103","02301322110","02301322111","02301322112","02301322113","02301322120","02301322121","02301322122","02301322123","02301322130","02301322131","02301322132","02301322133","02301322301","02301322310","02301323000","02301323002","02301323020","02301323103","02301323110","02301323111","02301323112","02301323113","02301323121","02301323130","02301323131","02301323132","02301323133","02301330011","02301330100","02301330101","02301330102","02301330103","02301330110","02301331312","02301331313","02301331330","02301331331","02301332031","02301332033","02301332120","02301332121","02301332122","02301332123","02301332210","02301332211","02301333301","02301333303","02301333310","02301333312","02310000003","02310000010","02310000011","02310000012","02310000013","02310000021","02310000023","02310000030","02310000031","02310000032","02310000033","02310000100","02310000102","02310000103","02310000120","02310000121","02310000122","02310000123","02310000201","02310000203","02310000210","02310000211","02310000212","02310000213","02310000230","02310000231","02310000232","02310000233","02310000300","02310000301","02310000302","02310000303","02310000310","02310000312","02310000320","02310000321","02310000322","02310000323","02310000330","02310000332","02310002001","02310002010","02310002011","02310002100","02310002101","02310002110","02310012303","02310012312","02310012313","02310012321","02310012330","02310012331","02310022303","02310022312","02310022321","02310022330","02310030211","02310030213","02310030231","02310030233","02310030300","02310030301","02310030302","02310030303","02310030310","02310030311","02310030312","02310030313","02310030320","02310030321","02310030322","02310030323","02310030330","02310030331","02310030332","02310030333","02310031200","02310031201","02310031202","02310031203","02310031210","02310031212","02310031213","02310031220","02310031221","02310031222","02310031223","02310031230","02310031231","02310031232","02310031233","02310032321","02310032330","02310032331","02310032332","02310032333","02310033202","02310033203","02310033212","02310033220","02310033221","02310033222","02310033223","02310033230","02310033231","02310033232","02310033233","02310101012","02310101021","02310101023","02310101030","02310101032","02310101033","02310101122","02310101201","02310101202","02310101203","02310101210","02310101211","02310101212","02310101220","02310101221","02310101222","02310101223","02310101230","02310101231","02310101232","02310101233","02310101300","02310101301","02310101322","02310101323","02310101332","02310101333","02310103000","02310103001","02310103002","02310103003","02310103010","02310103011","02310103012","02310103013","02310103020","02310103021","02310103022","02310103023","02310103030","02310103031","02310103032","02310103033","02310103100","02310103101","02310103102","02310103103","02310103110","02310103111","02310103112","02310103113","02310103120","02310103121","02310103122","02310103130","02310103131","02310103201","02310103203","02310103210","02310103211","02310103212","02310103213","02310103231","02310103233","02310103300","02310103302","02310103320","02310103322","02310110222","02310110223","02310110232","02310112000","02310112001","02310112002","02310112003","02310112010","02310112012","02310112020","02310112021","02310112030","02310121011","02310121033","02310121100","02310121102","02310121122","02310121123","02310121211","02310121300","02310121301","02310200132","02310200133","02310202033","02310202102","02310202103","02310202120","02310202121","02310202122","02310202211","02310202300","02310210231","02310210233","02310210320","02310210321","02310210322","02310210323","02310210332","02310210333","02310211202","02310211203","02310211212","02310211213","02310211220","02310211221","02310211222","02310211223","02310211230","02310211231","02310211232","02310211233","02310211302","02310211303","02310211320","02310211321","02310211322","02310212011","02310212013","02310212100","02310212101","02310212103","02310212110","02310212111","02310212112","02310212113","02310212130","02310212131","02310212132","02310213000","02310213001","02310213002","02310213003","02310213010","02310213011","02310213012","02310213100","02310213112","02310213113","02310213130","02310213131","02310213132","02310213133","02310213310","02310213311","02310220021","02310220023","02310220030","02310220031","02310220032","02310220033","02310220122","02310220200","02310220201","02310220202","02310220203","02310220210","02310220211","02310220212","02310220213","02310220220","02310220221","02310220223","02310220230","02310220231","02310220232","02310220233","02310220300","02310220302","02310220303","02310220320","02310220321","02310220322","02310220323","02310220330","02310222310","02310222311","02310222312","02310222313","02310222331","02310222333","02310223200","02310223201","02310223202","02310223203","02310223212","02310223220","02310223221","02310223222","02310223223","02310223230","02310223232","02310300110","02310300111","02310300112","02310300113","02310300122","02310300123","02310300130","02310300131","02310300300","02310300301","02310300302","02310300303","02310300320","02310300321","02310300322","02310300323","02310302002","02310302003","02310302012","02310302013","02310302020","02310302021","02310302022","02310302023","02310302030","02310302031","02310302032","02310302033","02310302101","02310302120","02310302121","02310302122","02310302123","02310302200","02310302201","02310302210","02310302211","02310302212","02310302213","02310302230","02310302231","02310302232","02310302233","02310302300","02310302301","02310302302","02310302320","02310311230","02310311231","02310311232","02310311233","02310311320","02310311321","02310311322","02310311323","02310311330","02310311332","02310313010","02310313011","02310313012","02310313013","02310313030","02310313031","02310313032","02310313033","02310313100","02310313101","02310313102","02310313103","02310313110","02310313112","02310313120","02310313121","02310313122","02310313123","02310313130","02310313132","02310313210","02310313211","02310313212","02310313213","02310313300","02310313301","02310313302","02310313303","02310313310","02310313312","02310322223","02310322232","02310322233","02310322322","02310322323","02310322332","02310322333","02310323222","02310323223","02310323232","02310323233","02310331033","02310331211","02310331213","02310331231","02310331300","02310331301","02310331302","02310331303","02310331320","02310331321","02310333223","02310333232","02310333233","02310333331","02310333333","02311011000","02311011001","02311011002","02311011003","02311011010","02311011011","02311011012","02311011013","02311011020","02311011021","02311011022","02311011023","02311011030","02311011031","02311011032","02311011033","02311011100","02311011101","02311013303","02311013312","02311013313","02311013321","02311013323","02311013330","02311013331","02311013332","02311013333","02311030103","02311030112","02311030113","02311030121","02311030123","02311030130","02311030131","02311030132","02311030133","02311030231","02311030233","02311030310","02311030311","02311030313","02311030320","02311030321","02311030322","02311030323","02311030330","02311030331","02311030332","02311030333","02311031002","02311031003","02311031020","02311031021","02311031022","02311031023","02311031200","02311031201","02311031202","02311031203","02311032011","02311032013","02311032031","02311032100","02311032101","02311032102","02311032103","02311032110","02311032111","02311032112","02311032113","02311032120","02311032121","02311032130","02311032131","02311032223","02311032232","02311032233","02311032322","02311032323","02311033301","02311033303","02311033310","02311033311","02311033312","02311033313","02311033321","02311033323","02311033330","02311033331","02311033332","02311033333","02311100000","02311100001","02311100003","02311100010","02311100011","02311100012","02311100013","02311100100","02311100110","02311100111","02311100112","02311100231","02311100233","02311100320","02311100321","02311100322","02311100323","02311101000","02311101001","02311101003","02311101010","02311101011","02311101101","02311101103","02311101110","02311101111","02311101112","02311101113","02311101130","02311101131","02311101132","02311101133","02311102011","02311102012","02311102013","02311102030","02311102031","02311102032","02311102033","02311102100","02311102101","02311102102","02311102103","02311102110","02311102112","02311102120","02311102121","02311102122","02311102123","02311102130","02311102131","02311102132","02311102133","02311102202","02311102210","02311102211","02311102212","02311102213","02311102220","02311102221","02311102222","02311102223","02311102230","02311102231","02311102232","02311102233","02311102300","02311102301","02311102302","02311102303","02311102310","02311102311","02311102312","02311102313","02311102320","02311102321","02311102322","02311102323","02311102330","02311102331","02311102332","02311102333","02311103020","02311103022","02311103200","02311103202","02311103220","02311103222","02311103233","02311103320","02311103321","02311103322","02311103323","02311103330","02311103332","02311110000","02311110001","02311110002","02311110003","02311110010","02311110011","02311110012","02311110013","02311110020","02311110021","02311110022","02311110023","02311110030","02311110031","02311110032","02311110033","02311110100","02311110102","02311110110","02311110111","02311110112","02311110113","02311110120","02311110122","02311111000","02311111001","02311111002","02311111003","02311111010","02311111012","02311111020","02311111021","02311111113","02311111303","02311111312","02311111313","02311111320","02311111321","02311111322","02311111323","02311111330","02311111331","02311111332","02311111333","02311112002","02311112003","02311112012","02311112020","02311112021","02311112022","02311112023","02311112030","02311112031","02311112032","02311112033","02311112122","02311112123","02311112132","02311112133","02311112200","02311112201","02311112203","02311112210","02311112211","02311112212","02311112213","02311112221","02311112223","02311112230","02311112231","02311112232","02311112233","02311112300","02311112301","02311112302","02311112303","02311112310","02311112311","02311112312","02311112313","02311112320","02311112321","02311112330","02311112331","02311113011","02311113013","02311113100","02311113101","02311113102","02311113103","02311113110","02311113111","02311113112","02311113113","02311113120","02311113121","02311113122","02311113123","02311113130","02311113131","02311113132","02311113133","02311113200","02311113202","02311113220","02311113232","02311113233","02311113321","02311113322","02311113323","02311113330","02311113331","02311113332","02311113333","02311120010","02311120011","02311120100","02311120101","02311120103","02311120110","02311120111","02311120112","02311120113","02311120121","02311120130","02311120131","02311121000","02311121002","02311121011","02311121013","02311121020","02311121031","02311121100","02311121101","02311121102","02311121103","02311121110","02311121112","02311121120","02311121121","02311121130","02311122123","02311122131","02311122132","02311122133","02311122301","02311122310","02311122311","02311123013","02311123031","02311123033","02311123102","02311123103","02311123112","02311123120","02311123121","02311123122","02311123123","02311123130","02311123132","02311123200","02311123211","02311123300","02311123301","02311123310","02311130010","02311130011","02311130020","02311130021","02311130022","02311130023","02311130030","02311130032","02311130033","02311130200","02311130201","02311130202","02311130203","02311130210","02311130211","02311130212","02311130213","02311130221","02311130230","02311130231","02311131002","02311131003","02311131010","02311131011","02311131012","02311131013","02311131021","02311131023","02311131030","02311131031","02311131032","02311131033","02311131100","02311131101","02311131102","02311131103","02311131110","02311131111","02311131112","02311131113","02311131120","02311131121","02311131122","02311131123","02311131130","02311131131","02311131132","02311131133","02311131201","02311131211","02311131213","02311131300","02311131301","02311131302","02311131303","02311131310","02311131311","02311131312","02311131313","02311131320","02311131321","02311131322","02311131323","02311131330","02311131331","02311131332","02311131333","02311133000","02311133001","02311133002","02311133003","02311133010","02311133011","02311133012","02311133013","02311133020","02311133021","02311133023","02311133030","02311133031","02311133032","02311133033","02311133100","02311133101","02311133102","02311133103","02311133110","02311133111","02311133112","02311133113","02311133120","02311133121","02311133122","02311133123","02311133130","02311133131","02311133132","02311133133","02311133201","02311133210","02311133211","02311133212","02311133213","02311133231","02311133300","02311133302","02311133303","02311133312","02311133320","02311133321","02311133322","02311133323","02311133330","02311133331","02311133332","02311133333","02311203123","02311203132","02311203133","02311203301","02311203303","02311203310","02311203311","02311203312","02311203313","02311203321","02311203330","02311203331","02311203332","02311203333","02311210001","02311210003","02311210010","02311210011","02311210012","02311210013","02311210021","02311210023","02311210030","02311210031","02311210032","02311210033","02311210100","02311210101","02311210102","02311210103","02311210120","02311210121","02311210122","02311210123","02311210130","02311210131","02311210132","02311210133","02311210231","02311210232","02311210233","02311210301","02311210302","02311210303","02311210310","02311210311","02311210312","02311210313","02311210320","02311210321","02311210322","02311210323","02311210330","02311210331","02311210332","02311210333","02311211020","02311211021","02311211022","02311211023","02311211030","02311211031","02311211032","02311211033","02311211101","02311211103","02311211110","02311211111","02311211112","02311211113","02311211120","02311211121","02311211122","02311211123","02311211130","02311211131","02311211132","02311211133","02311211200","02311211201","02311211202","02311211203","02311211210","02311211212","02311211300","02311211301","02311211303","02311211310","02311211311","02311211312","02311211313","02311212001","02311212003","02311212010","02311212011","02311212012","02311212013","02311212021","02311212022","02311212023","02311212030","02311212031","02311212032","02311212033","02311212100","02311212101","02311212102","02311212103","02311212110","02311212111","02311212112","02311212113","02311212120","02311212121","02311212122","02311212123","02311212130","02311212131","02311212132","02311212133","02311212200","02311212201","02311212202","02311212203","02311212210","02311212211","02311212212","02311212213","02311212220","02311212221","02311212222","02311212223","02311212230","02311212231","02311212232","02311212233","02311212300","02311212301","02311212302","02311212303","02311212310","02311212311","02311212312","02311212313","02311212320","02311212321","02311212322","02311212323","02311212330","02311212331","02311212332","02311212333","02311213020","02311213022","02311213023","02311213032","02311213033","02311213200","02311213201","02311213202","02311213203","02311213210","02311213211","02311213212","02311213213","02311213220","02311213221","02311213222","02311213223","02311213230","02311213231","02311213232","02311213233","02311221100","02311221101","02311221102","02311221103","02311221110","02311221111","02311221112","02311221113","02311221120","02311221121","02311221122","02311221123","02311221130","02311221131","02311221132","02311221133","02311222102","02311222120","02311222121","02311222122","02311222123","02311222132","02311222133","02311222220","02311222221","02311222222","02311222223","02311222230","02311222231","02311222232","02311222233","02311222300","02311222301","02311222310","02311222311","02311222312","02311222313","02311222320","02311222322","02311222323","02311222330","02311222331","02311222332","02311222333","02311223022","02311223023","02311223113","02311223131","02311223133","02311223200","02311223201","02311223202","02311223203","02311223220","02311223221","02311223222","02311223223","02311223311","02311223312","02311223313","02311223330","02311223331","02311223333","02311230001","02311230002","02311230010","02311230011","02311230020","02311230022","02311230100","02311230101","02311230102","02311230103","02311230110","02311230111","02311230112","02311230113","02311230120","02311230121","02311230122","02311230123","02311230130","02311230131","02311230132","02311230133","02311230212","02311230213","02311230230","02311230231","02311230232","02311230233","02311230301","02311230302","02311230303","02311230310","02311230311","02311230312","02311230313","02311230320","02311230321","02311230322","02311230323","02311230330","02311230331","02311230332","02311230333","02311231000","02311231001","02311231002","02311231003","02311231010","02311231011","02311231012","02311231013","02311231020","02311231021","02311231022","02311231023","02311231030","02311231031","02311231032","02311231033","02311231100","02311231101","02311231102","02311231103","02311231110","02311231112","02311231120","02311231121","02311231122","02311231123","02311231130","02311231131","02311231132","02311231133","02311231200","02311231201","02311231202","02311231203","02311231210","02311231211","02311231212","02311231213","02311231220","02311231221","02311231222","02311231223","02311231230","02311231231","02311231232","02311231233","02311231300","02311231301","02311231302","02311231303","02311231310","02311231311","02311231312","02311231313","02311231320","02311231321","02311231322","02311231323","02311231330","02311231331","02311231332","02311231333","02311232000","02311232001","02311232002","02311232003","02311232010","02311232011","02311232012","02311232013","02311232020","02311232021","02311232022","02311232023","02311232030","02311232031","02311232032","02311232033","02311232100","02311232101","02311232102","02311232103","02311232110","02311232111","02311232112","02311232113","02311232120","02311232121","02311232122","02311232123","02311232130","02311232131","02311232132","02311232133","02311232200","02311232201","02311232202","02311232203","02311232210","02311232211","02311232212","02311232213","02311232220","02311232221","02311232222","02311232223","02311232230","02311232231","02311232232","02311232233","02311232300","02311232301","02311232302","02311232303","02311232310","02311232311","02311232312","02311232313","02311232320","02311232321","02311232322","02311232323","02311232330","02311232331","02311232332","02311232333","02311233000","02311233001","02311233002","02311233003","02311233010","02311233011","02311233012","02311233013","02311233020","02311233021","02311233022","02311233023","02311233030","02311233031","02311233032","02311233033","02311233100","02311233101","02311233102","02311233103","02311233110","02311233111","02311233112","02311233113","02311233120","02311233121","02311233122","02311233123","02311233130","02311233131","02311233133","02311233200","02311233201","02311233202","02311233203","02311233210","02311233211","02311233212","02311233213","02311233220","02311233221","02311233222","02311233223","02311233230","02311233231","02311233300","02311233301","02311233302","02311233303","02311300023","02311300030","02311300031","02311300032","02311300033","02311300101","02311300103","02311300110","02311300111","02311300112","02311300113","02311300120","02311300121","02311300122","02311300123","02311300130","02311300131","02311300132","02311300133","02311300201","02311300203","02311300210","02311300211","02311300212","02311300213","02311300230","02311300231","02311300232","02311300233","02311300300","02311300301","02311300302","02311300303","02311300310","02311300311","02311300312","02311300313","02311300320","02311300321","02311300322","02311300330","02311300331","02311300332","02311300333","02311301000","02311301001","02311301002","02311301003","02311301010","02311301012","02311301020","02311301021","02311301022","02311301023","02311301030","02311301032","02311301111","02311301113","02311301131","02311301133","02311301200","02311301201","02311301202","02311301203","02311301220","02311301221","02311301222","02311301223","02311301311","02311302110","02311302111","02311302112","02311302113","02311302130","02311302131","02311302132","02311302133","02311302310","02311302311","02311303000","02311303001","02311303002","02311303003","02311303020","02311303021","02311303022","02311303133","02311303311","02311310000","02311310001","02311310002","02311310003","02311310010","02311310012","02311310020","02311310021","02311310022","02311310023","02311310030","02311310032","02311310200","02311310201","02311310210","02311311100","02311311101","02311311110","02311311111","02311311333","02311312022","02311312023","02311312030","02311312031","02311312032","02311312033","02311312120","02311312122","02311312200","02311312201","02311312202","02311312203","02311312210","02311312211","02311312212","02311312213","02311312221","02311312230","02311312231","02311312232","02311312233","02311312300","02311312302","02311312320","02311312322","02311313110","02311313111","02311313112","02311313113","02311313121","02311313123","02311313130","02311313131","02311313132","02311313133","02311313233","02311313301","02311313303","02311313310","02311313311","02311313312","02311313313","02311313320","02311313321","02311313322","02311313323","02311313330","02311313331","02311313332","02311313333","02311320020","02311320021","02311320022","02311320023","02311320030","02311320031","02311320032","02311320033","02311320120","02311320122","02311320123","02311320200","02311320201","02311320202","02311320203","02311320210","02311320211","02311320212","02311320213","02311320220","02311320221","02311320222","02311320223","02311320230","02311320231","02311320232","02311320233","02311320300","02311320301","02311320302","02311320303","02311320320","02311320321","02311320322","02311320323","02311320330","02311320331","02311320332","02311320333","02311321200","02311321201","02311321202","02311321203","02311321220","02311321221","02311321222","02311321223","02311322000","02311322001","02311322002","02311322003","02311322010","02311322011","02311322012","02311322013","02311322020","02311322022","02311322023","02311322033","02311322100","02311322101","02311322102","02311322103","02311322110","02311322111","02311322112","02311322113","02311322120","02311322121","02311322122","02311322123","02311322130","02311322131","02311322132","02311322133","02311322200","02311322201","02311322203","02311322210","02311322211","02311322212","02311322213","02311322220","02311322221","02311322230","02311322231","02311322233","02311322300","02311322301","02311322302","02311322303","02311322310","02311322311","02311322312","02311322313","02311322320","02311322321","02311322322","02311322323","02311322330","02311322332","02311323000","02311323001","02311323002","02311323003","02311323010","02311323011","02311323012","02311323013","02311323020","02311323021","02311323022","02311323023","02311323030","02311323031","02311323032","02311323033","02311323100","02311323102","02311323120","02311323122","02311323131","02311323133","02311323200","02311323201","02311323202","02311323203","02311323210","02311323211","02311323212","02311323213","02311323220","02311323221","02311323230","02311323231","02311323300","02311323302","02311323311","02311323320","02311323321","02311323322","02311323323","02311323330","02311323331","02311323332","02311323333","02311331011","02311331013","02311331031","02311331033","02311331100","02311331101","02311331102","02311331103","02311331110","02311331111","02311331112","02311331113","02311331120","02311331121","02311331122","02311331123","02311331130","02311331131","02311331132","02311331133","02311331201","02311331203","02311331210","02311331211","02311331212","02311331213","02311331221","02311331230","02311331231","02311331232","02311331233","02311331300","02311331301","02311331302","02311331303","02311331310","02311331311","02311331312","02311331313","02311331320","02311331321","02311331322","02311331323","02311331330","02311331331","02311331332","02311331333","02311332020","02311332021","02311332022","02311332023","02311332030","02311332031","02311332032","02311332033","02311332100","02311332101","02311332102","02311332103","02311332110","02311332111","02311332112","02311332113","02311332120","02311332121","02311332122","02311332123","02311332130","02311332131","02311332132","02311332200","02311332201","02311332210","02311332211","02311332212","02311332213","02311332230","02311332231","02311332300","02311332301","02311332302","02311332310","02311332320","02311333001","02311333003","02311333010","02311333011","02311333012","02311333013","02311333021","02311333023","02311333030","02311333031","02311333032","02311333033","02311333100","02311333101","02311333102","02311333103","02311333110","02311333111","02311333112","02311333113","02311333120","02311333121","02311333122","02311333123","02311333130","02311333131","02311333132","02311333133","02311333210","02311333211","02311333212","02311333213","02311333222","02311333223","02311333230","02311333231","02311333232","02311333233","02311333300","02311333301","02311333302","02311333303","02311333310","02311333311","02311333312","02311333313","02311333320","02311333321","02311333322","02311333323","02311333330","02311333331","02311333332","02311333333","02312001000","02312001001","02312001002","02312100001","02312100003","02312100010","02312100011","02312100012","02312100013","02312100031","02312100033","02312100100","02312100101","02312100102","02312100103","02312100110","02312100111","02312100112","02312100113","02312100120","02312100121","02312100122","02312100123","02312100130","02312100131","02312100132","02312100133","02312100300","02312100301","02312100303","02312100310","02312100311","02312100312","02312100313","02312100330","02312100331","02312100333","02312101000","02312101002","02312101003","02312101010","02312101011","02312101012","02312101013","02312101020","02312101021","02312101022","02312101023","02312101030","02312101031","02312101032","02312101033","02312101200","02312101201","02312101202","02312101203","02312101210","02312101211","02312101212","02312101213","02312101220","02312101221","02312101222","02312101223","02312101230","02312101231","02312101232","02312101233","02312103000","02312103001","02312103010","02312103011","02312103012","02312103013","02312111000","02312111001","02312111002","02312111003","02312111010","02312111011","02312111102","02312111103","02312111111","02312111112","02312111113","02312111120","02312111121","02312111122","02312111123","02312111130","02312111131","02312111132","02312111133","02312111203","02312111212","02312111213","02312111221","02312111230","02312111231","02312111300","02312111301","02312111302","02312111303","02312111310","02312111311","02312111312","02312111313","02312111320","02312111321","02312111322","02312111323","02312111330","02312111331","02312111332","02312111333","02312112003","02312112010","02312112011","02312112012","02312112013","02312112021","02312112023","02312112030","02312112031","02312112032","02312112033","02312112100","02312112102","02312112103","02312112120","02312112121","02312112122","02312112123","02312112130","02312112131","02312112132","02312112133","02312112201","02312112203","02312112210","02312112211","02312112212","02312112213","02312112221","02312112223","02312112230","02312112231","02312112232","02312112233","02312112300","02312112301","02312112302","02312112303","02312112310","02312112311","02312112312","02312112313","02312112320","02312112321","02312112322","02312112323","02312112330","02312112331","02312112332","02312112333","02312113022","02312113100","02312113101","02312113103","02312113110","02312113111","02312113112","02312113113","02312113120","02312113121","02312113122","02312113123","02312113130","02312113131","02312113132","02312113133","02312113200","02312113201","02312113202","02312113203","02312113212","02312113220","02312113221","02312113222","02312113230","02312130001","02312130003","02312130010","02312130011","02312130012","02312130013","02312130021","02312130030","02312130031","02312130033","02312130100","02312130101","02312130102","02312130110","02312130111","02312130112","02312130113","02312130120","02312130121","02312130122","02312130123","02312130130","02312130132","02312130301","02313000000","02313000001","02313000002","02313000003","02313000010","02313000011","02313000012","02313000013","02313000020","02313000021","02313000022","02313000023","02313000030","02313000031","02313000032","02313000033","02313000100","02313000101","02313000102","02313000103","02313000120","02313000121","02313000122","02313000123","02313000130","02313000131","02313000132","02313000133","02313000200","02313000201","02313000202","02313000203","02313000210","02313000211","02313000212","02313000213","02313000220","02313000221","02313000222","02313000223","02313000230","02313000231","02313000232","02313000233","02313000300","02313000301","02313000302","02313000303","02313000310","02313000311","02313000312","02313000313","02313000320","02313000321","02313000322","02313000323","02313000330","02313000331","02313000332","02313000333","02313001020","02313001021","02313001022","02313001023","02313001030","02313001031","02313001032","02313001033","02313001122","02313001200","02313001201","02313001202","02313001203","02313001210","02313001211","02313001212","02313001213","02313001220","02313001221","02313001222","02313001223","02313001230","02313001231","02313001232","02313001233","02313001300","02313001302","02313001313","02313001320","02313001321","02313001322","02313001323","02313001331","02313001333","02313002000","02313002001","02313002002","02313002003","02313002010","02313002011","02313002012","02313002013","02313002020","02313002021","02313002022","02313002023","02313002030","02313002031","02313002032","02313002033","02313002100","02313002101","02313002102","02313002103","02313002110","02313002111","02313002112","02313002113","02313002120","02313002121","02313002122","02313002123","02313002130","02313002131","02313002132","02313002133","02313003000","02313003001","02313003002","02313003003","02313003010","02313003011","02313003012","02313003013","02313003020","02313003021","02313003022","02313003023","02313003030","02313003031","02313003032","02313003033","02313003100","02313003101","02313003102","02313003103","02313003111","02313003113","02313003122","02313003123","02313003200","02313003201","02313003202","02313003203","02313003210","02313003211","02313003212","02313003213","02313003300","02313003301","02313003302","02313003303","02313003311","02313003312","02313003313","02313003320","02313003321","02313003322","02313003323","02313003330","02313003331","02313003332","02313003333","02313010000","02313010001","02313010010","02313010013","02313010021","02313010023","02313010030","02313010031","02313010033","02313010101","02313010102","02313010103","02313010110","02313010111","02313010112","02313010113","02313010120","02313010121","02313010122","02313010123","02313010130","02313010131","02313010132","02313010133","02313010201","02313010202","02313010203","02313010212","02313010213","02313010220","02313010221","02313010222","02313010223","02313010230","02313010231","02313010232","02313010233","02313010301","02313010302","02313010303","02313010310","02313010311","02313010312","02313010320","02313010321","02313010322","02313010323","02313010330","02313010332","02313011000","02313011001","02313011002","02313011003","02313011020","02313011021","02313011022","02313011023","02313011200","02313011333","02313012000","02313012001","02313012002","02313012003","02313012010","02313012011","02313012012","02313012013","02313012020","02313012021","02313012023","02313012030","02313012031","02313012032","02313012033","02313012100","02313012101","02313012102","02313012103","02313012110","02313012111","02313012112","02313012113","02313012120","02313012121","02313012122","02313012123","02313012130","02313012131","02313012200","02313012201","02313012202","02313012203","02313012210","02313012211","02313012212","02313012213","02313012220","02313012221","02313012222","02313012223","02313012230","02313012231","02313012232","02313012233","02313012300","02313012301","02313012302","02313012311","02313012312","02313012313","02313012320","02313012321","02313012322","02313012323","02313012330","02313012331","02313012332","02313012333","02313013021","02313013022","02313013023","02313013030","02313013031","02313013032","02313013033","02313013103","02313013110","02313013111","02313013112","02313013113","02313013120","02313013121","02313013122","02313013123","02313013130","02313013131","02313013132","02313013133","02313013200","02313013201","02313013202","02313013203","02313013210","02313013211","02313013212","02313013213","02313013220","02313013221","02313013222","02313013223","02313013230","02313013231","02313013300","02313013301","02313013302","02313013303","02313013310","02313013311","02313013312","02313013313","02313013320","02313013321","02313013322","02313013323","02313013330","02313013331","02313013332","02313013333","02313020312","02313020313","02313020330","02313020331","02313020332","02313020333","02313021100","02313021101","02313021102","02313021103","02313021110","02313021111","02313021112","02313021113","02313021120","02313021121","02313021130","02313021131","02313021133","02313021202","02313021203","02313021212","02313021220","02313021221","02313021222","02313021223","02313021230","02313021232","02313022101","02313022103","02313022110","02313022111","02313022112","02313022113","02313022130","02313022131","02313022133","02313023000","02313023001","02313023002","02313023003","02313023010","02313023012","02313023013","02313023020","02313023021","02313023022","02313023023","02313023030","02313023031","02313023032","02313023033","02313023102","02313023103","02313023112","02313023120","02313023121","02313023122","02313023123","02313023130","02313023132","02313023200","02313023201","02313023203","02313023210","02313023211","02313023212","02313023213","02313023221","02313023230","02313023231","02313023232","02313023233","02313023300","02313023301","02313023302","02313023303","02313023310","02313023312","02313023313","02313023320","02313023321","02313023322","02313023323","02313023330","02313023331","02313023332","02313023333","02313030000","02313030001","02313030002","02313030003","02313030010","02313030011","02313030012","02313030013","02313030020","02313030021","02313030022","02313030100","02313030102","02313030333","02313031101","02313031103","02313031110","02313031111","02313031112","02313031113","02313031130","02313031131","02313031132","02313031133","02313031222","02313031223","02313031311","02313032013","02313032030","02313032031","02313032032","02313032033","02313032102","02313032111","02313032112","02313032113","02313032120","02313032121","02313032122","02313032123","02313032130","02313032131","02313032132","02313032133","02313032210","02313032211","02313032213","02313032222","02313032300","02313032301","02313032302","02313032303","02313032310","02313032311","02313032312","02313032313","02313033000","02313033001","02313033002","02313033003","02313033020","02313033021","02313033022","02313100011","02313100100","02313100101","02313100110","02313100213","02313100221","02313100222","02313100223","02313100230","02313100231","02313100232","02313100233","02313100302","02313100303","02313100312","02313100313","02313100320","02313100321","02313100322","02313100323","02313100330","02313100331","02313100332","02313100333","02313101001","02313101003","02313101010","02313101011","02313101012","02313101013","02313101021","02313101030","02313101031","02313101032","02313101033","02313101100","02313101101","02313101102","02313101103","02313101110","02313101111","02313101112","02313101113","02313101120","02313101121","02313101122","02313101123","02313101130","02313101131","02313101132","02313101133","02313101201","02313101202","02313101203","02313101210","02313101211","02313101212","02313101213","02313101220","02313101221","02313101222","02313101223","02313101230","02313101231","02313101232","02313101233","02313101300","02313101301","02313101302","02313101310","02313101311","02313101313","02313101320","02313101331","02313101333","02313102000","02313102001","02313102002","02313102003","02313102010","02313102011","02313102012","02313102013","02313102020","02313102021","02313102022","02313102023","02313102030","02313102031","02313102032","02313102033","02313102100","02313102101","02313102102","02313102103","02313102110","02313102112","02313102113","02313102120","02313102121","02313102122","02313102123","02313102130","02313102131","02313102132","02313102133","02313102200","02313102201","02313102202","02313102203","02313102210","02313102211","02313102212","02313102213","02313102220","02313102221","02313102222","02313102223","02313102230","02313102231","02313102232","02313102233","02313102300","02313102301","02313102302","02313102303","02313102310","02313102311","02313102312","02313102313","02313102320","02313102321","02313102322","02313102323","02313102330","02313102331","02313102332","02313102333","02313103000","02313103001","02313103002","02313103003","02313103010","02313103011","02313103012","02313103013","02313103020","02313103021","02313103022","02313103023","02313103030","02313103031","02313103032","02313103033","02313103102","02313103120","02313103121","02313103122","02313103123","02313103130","02313103132","02313103133","02313103200","02313103201","02313103202","02313103203","02313103210","02313103211","02313103212","02313103220","02313103221","02313103223","02313103230","02313103232","02313103300","02313103301","02313103310","02313110010","02313110011","02313110012","02313110013","02313110020","02313110022","02313110023","02313110030","02313110031","02313110032","02313110033","02313110100","02313110102","02313110103","02313110112","02313110113","02313110120","02313110121","02313110122","02313110123","02313110130","02313110131","02313110132","02313110133","02313110200","02313110201","02313110202","02313110203","02313110210","02313110211","02313110212","02313110213","02313110220","02313110221","02313110222","02313110223","02313110230","02313110231","02313110232","02313110300","02313110301","02313110303","02313110310","02313110311","02313110312","02313110313","02313110330","02313110331","02313111000","02313111001","02313111002","02313111003","02313111010","02313111011","02313111012","02313111020","02313111021","02313111022","02313111023","02313111030","02313111031","02313111032","02313111033","02313111101","02313111102","02313111103","02313111110","02313111111","02313111112","02313111113","02313111120","02313111121","02313111122","02313111123","02313111130","02313111131","02313111132","02313111133","02313111200","02313111201","02313111202","02313111203","02313111210","02313111211","02313111212","02313111213","02313111220","02313111221","02313111223","02313111230","02313111231","02313111232","02313111233","02313111300","02313111301","02313111302","02313111303","02313111310","02313111311","02313111312","02313111313","02313111320","02313111321","02313111330","02313111331","02313111332","02313111333","02313112031","02313112032","02313112033","02313112120","02313112121","02313112122","02313112123","02313112210","02313112211","02313112300","02313112301","02313112302","02313112303","02313112310","02313112312","02313113000","02313113001","02313113002","02313113003","02313113010","02313113011","02313113012","02313113020","02313113021","02313113023","02313113030","02313113031","02313113032","02313113033","02313113110","02313113111","02313113112","02313113113","02313113121","02313113122","02313113123","02313113130","02313113131","02313113132","02313113133","02313113210","02313113211","02313113212","02313113213","02313113230","02313113231","02313113232","02313113233","02313113300","02313113301","02313113302","02313113303","02313113310","02313113311","02313113312","02313113313","02313113320","02313113321","02313113322","02313113323","02313113330","02313113331","02313113332","02313113333","02313120000","02313120001","02313120002","02313120003","02313120010","02313120011","02313120012","02313120013","02313120020","02313120021","02313120022","02313120023","02313120030","02313120031","02313120032","02313120033","02313120100","02313120101","02313120102","02313120103","02313120110","02313120111","02313120120","02313120200","02313120201","02313131100","02313131101","02313131103","02313131110","02313131111","02313131112","02313131113","02313131121","02313131130","02313131131","02313131132","02313131133","02313201010","02313201011","02313201012","02313201013","02313201031","02313201033","02313201100","02313201101","02313201102","02313201103","02313201110","02313201111","02313201112","02313201113","02313201120","02313201121","02313201122","02313201123","02313201130","02313201131","02313201132","02313201133","02313201300","02313201301","02313201310","02313201311","02313201312","02313201313","02313210000","02313210002","02313210020","02313210022","02313210023","02313210032","02313210123","02313210132","02313210200","02313210201","02313210202","02313210203","02313210210","02313210211","02313210212","02313210213","02313210220","02313210221","02313210230","02313210231","02313210300","02313210301","02313210302","02313210303","02313210310","02313210311","02313210312","02313210313","02313210320","02313210321","02313210322","02313210323","02313210330","02313210331","02313210332","02313210333","02313212101","02313212110","03022000220","03022000222","03022000223","03022000232","03022000233","03022002000","03022002001","03022002002","03022002003","03022002010","03022023330","03022023331","03022023332","03022023333","03022032201","03022032202","03022032203","03022032210","03022032212","03022032220","03022032221","03022032222","03022032223","03022032230","03022200000","03022200001","03022200002","03022200003","03022200010","03022200012","03022200021","03022200030","03022200132","03022200133","03022200310","03022200311","03022200312","03022200313","03022200330","03022200331","03022200332","03022200333","03022201022","03022201023","03022201032","03022201033","03022201102","03022201103","03022201110","03022201111","03022201112","03022201113","03022201120","03022201121","03022201122","03022201123","03022201130","03022201131","03022201132","03022201133","03022201200","03022201201","03022201202","03022201203","03022201210","03022201211","03022201212","03022201213","03022201220","03022201221","03022201222","03022201223","03022201230","03022201231","03022201232","03022201233","03022201300","03022201301","03022201302","03022201303","03022201320","03022201321","03022201322","03022202110","03022202111","03022202112","03022202113","03022202130","03022202131","03022202132","03022202133","03022202203","03022202212","03022202213","03022202220","03022202221","03022202222","03022202223","03022202230","03022202231","03022202232","03022202233","03022202302","03022202303","03022202310","03022202311","03022202320","03022202321","03022202322","03022202323","03022202330","03022202331","03022202332","03022202333","03022203000","03022203001","03022203002","03022203003","03022203010","03022203012","03022203013","03022203020","03022203021","03022203022","03022203023","03022203030","03022203031","03022203032","03022203033","03022203102","03022203103","03022203120","03022203121","03022203122","03022203123","03022203200","03022203201","03022203202","03022203203","03022203210","03022203211","03022203212","03022203213","03022203220","03022203221","03022203222","03022203223","03022203230","03022203231","03022203232","03022203233","03022203300","03022203301","03022203302","03022203320","03022203322","03022210000","03022210001","03022210002","03022210020","03022212211","03022212213","03022212300","03022212301","03022212302","03022212303","03022212310","03022212312","03022212313","03022212320","03022212321","03022212322","03022212323","03022212330","03022212331","03022212332","03022212333","03022213202","03022213203","03022213212","03022213220","03022213221","03022213222","03022213223","03022213230","03022213231","03022213232","03022213233","03022213311","03022213313","03022213331","03022213333","03022220000","03022220001","03022220002","03022220003","03022220010","03022220011","03022220012","03022220013","03022220020","03022220021","03022220030","03022220031","03022220033","03022220100","03022220101","03022220102","03022220103","03022220110","03022220111","03022220112","03022220113","03022220120","03022220121","03022220122","03022220123","03022220130","03022220131","03022220132","03022220133","03022220211","03022220213","03022220231","03022220233","03022220300","03022220301","03022220302","03022220303","03022220310","03022220311","03022220312","03022220313","03022220320","03022220321","03022220322","03022220323","03022220330","03022220331","03022220332","03022220333","03022221000","03022221001","03022221002","03022221003","03022221010","03022221011","03022221012","03022221013","03022221020","03022221021","03022221022","03022221023","03022221030","03022221031","03022221032","03022221033","03022221100","03022221102","03022221120","03022221121","03022221122","03022221200","03022221201","03022221202","03022221203","03022221210","03022221211","03022221212","03022221213","03022221220","03022221221","03022221222","03022221223","03022221230","03022221231","03022221232","03022221233","03022221300","03022221302","03022221320","03022221322","03022221323","03022222011","03022222100","03022222111","03022222113","03022222122","03022222123","03022222131","03022222132","03022222133","03022222300","03022222301","03022222302","03022222303","03022222310","03022222311","03022222312","03022222313","03022222321","03022222330","03022222331","03022222332","03022222333","03022223000","03022223001","03022223002","03022223003","03022223010","03022223011","03022223012","03022223013","03022223020","03022223021","03022223022","03022223023","03022223030","03022223031","03022223032","03022223033","03022223100","03022223101","03022223102","03022223103","03022223120","03022223121","03022223122","03022223123","03022223130","03022223131","03022223132","03022223133","03022223200","03022223201","03022223202","03022223203","03022223210","03022223211","03022223212","03022223213","03022223220","03022223221","03022223222","03022223223","03022223230","03022223231","03022223232","03022223233","03022223300","03022223301","03022223302","03022223303","03022223310","03022223311","03022223312","03022223313","03022223320","03022223321","03022223322","03022223323","03022223330","03022223331","03022223332","03022230101","03022230103","03022230110","03022230111","03022230112","03022230113","03022230121","03022230123","03022230130","03022230131","03022230132","03022230133","03022230233","03022230300","03022230301","03022230302","03022230303","03022230310","03022230311","03022230312","03022230313","03022230320","03022230321","03022230322","03022230323","03022230330","03022230331","03022230332","03022230333","03022231000","03022231001","03022231002","03022231003","03022231010","03022231011","03022231012","03022231013","03022231020","03022231021","03022231022","03022231023","03022231030","03022231031","03022231033","03022231113","03022231120","03022231121","03022231122","03022231123","03022231130","03022231131","03022231132","03022231133","03022231200","03022231201","03022231202","03022231203","03022231210","03022231211","03022231212","03022231213","03022231220","03022231221","03022231222","03022231223","03022231230","03022231231","03022231232","03022231233","03022231300","03022231301","03022231302","03022231303","03022231310","03022231311","03022231312","03022231313","03022231321","03022231323","03022231330","03022231331","03022231332","03022231333","03022232003","03022232010","03022232011","03022232012","03022232013","03022232020","03022232021","03022232022","03022232023","03022232030","03022232031","03022232032","03022232033","03022232100","03022232101","03022232102","03022232103","03022232110","03022232111","03022232112","03022232113","03022232120","03022232121","03022232122","03022232123","03022232130","03022232131","03022232132","03022232133","03022232200","03022232201","03022232202","03022232203","03022232210","03022232211","03022232300","03022232301","03022232310","03022232311","03022232312","03022232313","03022233000","03022233001","03022233002","03022233003","03022233010","03022233011","03022233020","03022233021","03022233022","03022233023","03022233111","03022233113","03022233131","03022233200","03022233201","03022233212","03022233213","03022233222","03022233223","03022233230","03022233231","03022233232","03022233233","03022233302","03022233303","03022233320","03022233321","03022233322","03022233323","03022302001","03022302003","03022302010","03022302012","03022302021","03022302022","03022302023","03022302030","03022302032","03022302033","03022302200","03022302201","03022302202","03022302203","03022302210","03022302211","03022302212","03022302213","03022302220","03022302221","03022302222","03022302223","03022302230","03022302231","03022302232","03022302233","03022302302","03022302320","03022302321","03022302322","03022302323","03022302332","03022302333","03022303220","03022303221","03022303222","03022303223","03022303230","03022303232","03022303233","03022313011","03022313012","03022313013","03022313021","03022313023","03022313030","03022313031","03022313032","03022313033","03022313100","03022313102","03022313103","03022313112","03022313113","03022313120","03022313121","03022313122","03022313123","03022313130","03022313131","03022313201","03022313210","03022313211","03022313300","03022313312","03022313313","03022313321","03022313323","03022313330","03022313331","03022313332","03022313333","03022320002","03022320003","03022320010","03022320011","03022320012","03022320013","03022320020","03022320021","03022320022","03022320023","03022320030","03022320031","03022320032","03022320033","03022320100","03022320101","03022320102","03022320103","03022320111","03022320112","03022320113","03022320120","03022320121","03022320122","03022320123","03022320130","03022320131","03022320132","03022320133","03022320200","03022320201","03022320202","03022320203","03022320210","03022320211","03022320212","03022320213","03022320220","03022320221","03022320222","03022320223","03022320230","03022320231","03022320232","03022320233","03022320300","03022320301","03022320302","03022320303","03022320310","03022320311","03022320312","03022320313","03022320320","03022320321","03022320322","03022320323","03022320330","03022320331","03022320332","03022320333","03022321000","03022321001","03022321002","03022321003","03022321010","03022321011","03022321012","03022321013","03022321020","03022321021","03022321022","03022321023","03022321030","03022321031","03022321032","03022321200","03022321201","03022321202","03022321210","03022322000","03022322001","03022322002","03022322003","03022322010","03022322011","03022322012","03022322013","03022322020","03022322021","03022322030","03022322031","03022322032","03022322033","03022322103","03022322110","03022322120","03022322121","03022322122","03022322123","03022322130","03022322131","03022322132","03022322133","03022322210","03022322211","03022322212","03022322213","03022322230","03022322231","03022322300","03022322301","03022322302","03022322303","03022322320","03022322321","03022323021","03022323022","03022323023","03022323122","03022323123","03022323132","03022323133","03022323200","03022323201","03022323202","03022323203","03022323210","03022323211","03022323212","03022323213","03022323223","03022323231","03022323232","03022323233","03022323300","03022323301","03022323302","03022323303","03022323310","03022323311","03022323312","03022323313","03022323320","03022323321","03022323322","03022323323","03022323330","03022323331","03022323332","03022323333","03022330323","03022330331","03022330332","03022330333","03022331101","03022331110","03022331111","03022331112","03022331113","03022331121","03022331123","03022331130","03022331131","03022331132","03022331133","03022331203","03022331211","03022331212","03022331213","03022331220","03022331221","03022331222","03022331223","03022331230","03022331231","03022331232","03022331233","03022331300","03022331301","03022331302","03022331303","03022331310","03022331311","03022331312","03022331313","03022331320","03022331321","03022331322","03022331323","03022331330","03022331332","03022332002","03022332003","03022332010","03022332011","03022332012","03022332013","03022332020","03022332021","03022332022","03022332023","03022332030","03022332031","03022332032","03022332033","03022332100","03022332101","03022332102","03022332103","03022332110","03022332111","03022332112","03022332113","03022332120","03022332122","03022332123","03022332132","03022332133","03022332200","03022332201","03022332202","03022332203","03022332210","03022332211","03022332212","03022332213","03022332220","03022332221","03022332222","03022332223","03022332230","03022332231","03022332232","03022332233","03022332300","03022332301","03022332302","03022332303","03022332310","03022332311","03022332312","03022332313","03022332320","03022332321","03022332322","03022332323","03022332330","03022332331","03022332332","03022332333","03022333000","03022333001","03022333002","03022333003","03022333010","03022333011","03022333012","03022333013","03022333022","03022333100","03022333101","03022333110","03022333200","03022333202","03022333220","03022333221","03022333222","03022333223","03022333230","03022333232","03023023313","03023023331","03023023333","03023032200","03023032201","03023032202","03023032203","03023032210","03023032211","03023032212","03023032213","03023032220","03023032221","03023032222","03023032223","03023032230","03023033033","03023033120","03023033121","03023033122","03023033123","03023033130","03023033132","03023033210","03023033211","03023033212","03023033213","03023033230","03023033231","03023033300","03023033301","03023033302","03023033303","03023033310","03023033312","03023033320","03023033321","03023033330","03023121001","03023121003","03023121010","03023121011","03023121012","03023121013","03023121021","03023121023","03023121030","03023121031","03023121032","03023121033","03023201313","03023201330","03023201331","03023201332","03023201333","03023202202","03023202203","03023202212","03023202213","03023202220","03023202221","03023202222","03023202223","03023202230","03023202231","03023202232","03023202233","03023202302","03023202303","03023202312","03023202313","03023202320","03023202321","03023202322","03023202323","03023202330","03023202331","03023202332","03023202333","03023203110","03023203111","03023203112","03023203113","03023203130","03023203131","03023203132","03023203133","03023203202","03023203203","03023203211","03023203212","03023203213","03023203220","03023203221","03023203222","03023203223","03023203230","03023203231","03023203232","03023203233","03023203300","03023203301","03023203302","03023203303","03023203310","03023203311","03023203312","03023203313","03023203320","03023203321","03023203322","03023203323","03023203330","03023203331","03023203332","03023203333","03023210023","03023210030","03023210031","03023210032","03023210033","03023210101","03023210103","03023210110","03023210111","03023210112","03023210113","03023210120","03023210121","03023210122","03023210123","03023210131","03023210132","03023210133","03023210201","03023210202","03023210210","03023210212","03023210213","03023210220","03023210221","03023210222","03023210223","03023210230","03023210231","03023210232","03023210233","03023210300","03023210311","03023210313","03023210322","03023210323","03023210331","03023210333","03023211000","03023211001","03023211002","03023211003","03023211010","03023211011","03023211012","03023211013","03023211020","03023211021","03023211022","03023211023","03023211030","03023211031","03023211032","03023211033","03023211100","03023211101","03023211102","03023211103","03023211110","03023211111","03023211112","03023211113","03023211120","03023211121","03023211122","03023211123","03023211130","03023211131","03023211132","03023211133","03023211200","03023211201","03023211202","03023211203","03023211210","03023211211","03023211212","03023211213","03023211220","03023211221","03023211222","03023211223","03023211230","03023211232","03023211300","03023211301","03023211302","03023211303","03023211310","03023211311","03023211312","03023211313","03023211330","03023211331","03023212000","03023212001","03023212002","03023212003","03023212010","03023212011","03023212012","03023212013","03023212020","03023212021","03023212022","03023212023","03023212030","03023212031","03023212032","03023212033","03023212100","03023212102","03023212111","03023212120","03023212122","03023212200","03023212201","03023212202","03023212203","03023212210","03023212211","03023212212","03023212213","03023212220","03023212221","03023212222","03023212223","03023212230","03023212231","03023212232","03023212233","03023212300","03023212302","03023212303","03023212312","03023212313","03023212320","03023212322","03023212330","03023212331","03023212332","03023212333","03023213000","03023213001","03023213112","03023213121","03023213123","03023213130","03023213132","03023213133","03023213203","03023213212","03023213213","03023213220","03023213221","03023213222","03023213223","03023213230","03023213231","03023213232","03023213233","03023213300","03023213301","03023213302","03023213303","03023213310","03023213311","03023213312","03023213313","03023213320","03023213321","03023213322","03023213323","03023213330","03023213331","03023213332","03023213333","03023220000","03023220001","03023220002","03023220003","03023220010","03023220011","03023220012","03023220013","03023220020","03023220021","03023220022","03023220023","03023220030","03023220031","03023220032","03023220033","03023220100","03023220101","03023220102","03023220103","03023220110","03023220111","03023220112","03023220113","03023220120","03023220122","03023220123","03023220130","03023220131","03023220132","03023220133","03023220200","03023220201","03023220202","03023220210","03023220211","03023220212","03023220213","03023220230","03023220231","03023220232","03023220233","03023220300","03023220301","03023220302","03023220303","03023220310","03023220311","03023220312","03023220313","03023220320","03023220321","03023220322","03023220323","03023220330","03023220331","03023220332","03023220333","03023221000","03023221001","03023221002","03023221003","03023221010","03023221011","03023221012","03023221013","03023221020","03023221021","03023221022","03023221023","03023221030","03023221031","03023221032","03023221033","03023221100","03023221101","03023221102","03023221103","03023221110","03023221111","03023221112","03023221113","03023221120","03023221121","03023221122","03023221123","03023221130","03023221131","03023221132","03023221200","03023221201","03023221202","03023221203","03023221210","03023221211","03023221212","03023221213","03023221220","03023221221","03023221222","03023221223","03023221230","03023221231","03023221232","03023221233","03023221300","03023221301","03023221302","03023221303","03023221310","03023221311","03023221312","03023221313","03023221320","03023221321","03023221322","03023221323","03023221330","03023221331","03023221332","03023221333","03023222010","03023222011","03023222100","03023222101","03023222110","03023222111","03023222231","03023222233","03023222302","03023222320","03023222321","03023222322","03023222323","03023222330","03023222332","03023222333","03023223000","03023223001","03023223010","03023223011","03023223100","03023223101","03023223110","03023223111","03023223222","03023223223","03023223301","03023223303","03023223310","03023223311","03023223312","03023223313","03023223321","03023223323","03023223330","03023223331","03023223332","03023223333","03023230000","03023230001","03023230002","03023230003","03023230010","03023230011","03023230012","03023230013","03023230020","03023230021","03023230022","03023230023","03023230030","03023230031","03023230100","03023230102","03023230110","03023230111","03023230112","03023230113","03023230120","03023230131","03023230132","03023230133","03023230200","03023230202","03023230203","03023230212","03023230213","03023230220","03023230221","03023230222","03023230223","03023230230","03023230231","03023230232","03023230233","03023230300","03023230301","03023230302","03023230303","03023230310","03023230311","03023230312","03023230313","03023230320","03023230321","03023230322","03023230323","03023230330","03023230331","03023230332","03023230333","03023231000","03023231001","03023231002","03023231003","03023231010","03023231011","03023231012","03023231013","03023231020","03023231021","03023231023","03023231030","03023231031","03023231032","03023231033","03023231100","03023231101","03023231102","03023231103","03023231110","03023231111","03023231112","03023231113","03023231120","03023231121","03023231122","03023231123","03023231130","03023231131","03023231132","03023231133","03023231200","03023231201","03023231202","03023231203","03023231210","03023231211","03023231212","03023231213","03023231220","03023231221","03023231222","03023231223","03023231230","03023231231","03023231232","03023231233","03023231300","03023231301","03023231302","03023231303","03023231310","03023231311","03023231312","03023231313","03023231320","03023231321","03023231322","03023231323","03023231330","03023231331","03023231332","03023231333","03023232000","03023232001","03023232010","03023232011","03023232013","03023232022","03023232023","03023232032","03023232100","03023232101","03023232102","03023232103","03023232110","03023232111","03023232112","03023232113","03023232120","03023232121","03023232122","03023232123","03023232130","03023232131","03023232132","03023232133","03023232200","03023232201","03023232202","03023232203","03023232210","03023232212","03023232213","03023232220","03023232221","03023232222","03023232223","03023232230","03023232231","03023232232","03023232233","03023232301","03023232302","03023232310","03023232311","03023232312","03023232313","03023232320","03023232321","03023232322","03023232323","03023232331","03023232332","03023232333","03023233000","03023233001","03023233002","03023233003","03023233010","03023233011","03023233012","03023233013","03023233020","03023233021","03023233022","03023233023","03023233030","03023233031","03023233032","03023233033","03023233100","03023233101","03023233102","03023233103","03023233110","03023233111","03023233112","03023233113","03023233120","03023233121","03023233122","03023233123","03023233130","03023233131","03023233132","03023233133","03023233200","03023233201","03023233202","03023233203","03023233210","03023233211","03023233212","03023233213","03023233220","03023233221","03023233222","03023233223","03023233230","03023233231","03023233232","03023233233","03023233300","03023233301","03023233302","03023233303","03023233310","03023233311","03023233312","03023233313","03023233320","03023233321","03023233322","03023233323","03023233330","03023233331","03023233332","03023233333","03023300020","03023300022","03023300023","03023300200","03023300201","03023300202","03023300203","03023300210","03023300212","03023300220","03023300221","03023300222","03023300223","03023301313","03023301322","03023301323","03023301330","03023301331","03023301332","03023301333","03023302211","03023302213","03023302231","03023302300","03023302301","03023302302","03023302303","03023302310","03023302311","03023302312","03023302313","03023302320","03023302321","03023302323","03023302330","03023302331","03023302332","03023302333","03023303100","03023303101","03023303102","03023303103","03023303110","03023303111","03023303112","03023303113","03023303120","03023303121","03023303122","03023303123","03023303130","03023303131","03023303132","03023303133","03023303200","03023303201","03023303202","03023303203","03023303212","03023303213","03023303220","03023303221","03023303222","03023303223","03023303230","03023303231","03023303232","03023303233","03023303300","03023303301","03023303302","03023303303","03023303310","03023303311","03023303312","03023303313","03023303320","03023303321","03023303322","03023303323","03023303330","03023303331","03023303332","03023310023","03023310031","03023310032","03023310033","03023310120","03023310122","03023310123","03023310200","03023310201","03023310202","03023310203","03023310210","03023310211","03023310212","03023310213","03023310220","03023310221","03023310222","03023310223","03023310230","03023310231","03023310232","03023310233","03023310300","03023310301","03023310302","03023310303","03023310320","03023310322","03023312000","03023312001","03023312002","03023312003","03023312010","03023312011","03023312012","03023312013","03023312020","03023312021","03023312022","03023312200","03023312202","03023320020","03023320021","03023320022","03023320023","03023320030","03023320031","03023320032","03023320033","03023320101","03023320103","03023320110","03023320111","03023320112","03023320113","03023320120","03023320121","03023320122","03023320123","03023320130","03023320131","03023320132","03023320133","03023320200","03023320201","03023320202","03023320203","03023320210","03023320211","03023320212","03023320213","03023320220","03023320221","03023320222","03023320223","03023320230","03023320231","03023320232","03023320233","03023320300","03023320301","03023320302","03023320303","03023320310","03023320311","03023320312","03023320313","03023320320","03023320321","03023320322","03023320323","03023320330","03023320331","03023320332","03023320333","03023321000","03023321001","03023321002","03023321003","03023321010","03023321011","03023321012","03023321013","03023321020","03023321021","03023321022","03023321023","03023321030","03023321031","03023321032","03023321033","03023321100","03023321101","03023321102","03023321103","03023321110","03023321120","03023321121","03023321122","03023321123","03023321130","03023321132","03023321200","03023321201","03023321202","03023321203","03023321210","03023321211","03023321212","03023321213","03023321220","03023321221","03023321222","03023321223","03023321230","03023321231","03023321232","03023321233","03023321300","03023321301","03023321302","03023321303","03023321310","03023321320","03023321321","03023321322","03023321323","03023321330","03023321332","03023322000","03023322001","03023322002","03023322003","03023322010","03023322011","03023322012","03023322013","03023322020","03023322021","03023322022","03023322023","03023322030","03023322031","03023322032","03023322033","03023322100","03023322101","03023322102","03023322103","03023322110","03023322111","03023322112","03023322113","03023322120","03023322121","03023322122","03023322123","03023322130","03023322131","03023322132","03023322133","03023322200","03023322201","03023322202","03023322203","03023322210","03023322211","03023322212","03023322213","03023322220","03023322221","03023322222","03023322223","03023322230","03023322231","03023322232","03023322233","03023322300","03023322301","03023322302","03023322303","03023322310","03023322311","03023322312","03023322313","03023322320","03023322321","03023322322","03023322323","03023322330","03023322332","03023322333","03023323000","03023323001","03023323002","03023323003","03023323010","03023323011","03023323012","03023323013","03023323020","03023323021","03023323022","03023323023","03023323030","03023323031","03023323032","03023323033","03023323100","03023323101","03023323102","03023323103","03023323110","03023323111","03023323112","03023323113","03023323120","03023323121","03023323122","03023323123","03023323130","03023323131","03023323132","03023323133","03023323200","03023323201","03023323202","03023323203","03023323210","03023323211","03023323220","03023323221","03023323222","03023323223","03023323300","03023323301","03023323302","03023323303","03023323310","03023323311","03023323312","03023323313","03023323320","03023323321","03023330222","03023330223","03023332000","03023332001","03023332002","03023332003","03023332010","03023332012","03023332020","03023332021","03023332022","03023332023","03023332030","03023332032","03023332200","03023332201","03023332202","03023332203","03023332210","03023332212","03023332220","03023332221","03023332230","03032021332","03032021333","03032022100","03032022101","03032022102","03032022103","03032022331","03032022333","03032023110","03032023111","03032023202","03032023220","03032023222","03032030222","03032031220","03032031221","03032032000","03032121220","03032121221","03032121222","03032121223","03032121232","03032123001","03032210103","03032210112","03032210121","03032210123","03032210130","03032210131","03032210132","03032210133","03032210301","03032210310","03032210311","03033012031","03033012032","03033012033","03033012120","03033012122","03033012201","03033012210","03033012211","03033012212","03033012213","03033012300","03033012302","03113321330","03113321331","03113321332","03113321333","03113322302","03113322303","03113322320","03113322321","03113322323","03113322330","03113322331","03113322332","03113322333","03113323110","03113323111","03113323112","03113323113","03113323203","03113323212","03113323213","03113323220","03113323221","03113323222","03113323223","03113323231","03113323232","03113323233","03113323300","03113323302","03113323303","03113323312","03113323320","03113323321","03113323322","03113323323","03113323330","03113323331","03113323332","03113330011","03113330013","03113330031","03113330102","03113330120","03113330202","03113330203","03113330212","03113330220","03113330221","03113330222","03113330223","03113330230","03113332000","03113332001","03113332002","03131010323","03131010332","03131012101","03131012103","03131012110","03131012112","03131012121","03131012302","03131012320","03131012321","03131013023","03131013032","03131013121","03131013123","03131013130","03131013131","03131013132","03131013133","03131013200","03131013201","03131013203","03131013210","03131013211","03131013212","03131013213","03131013221","03131013230","03131013233","03131013300","03131013301","03131013302","03131013310","03131013311","03131013322","03131023011","03131023100","03131023312","03131023313","03131023330","03131023331","03131031011","03131031100","03131031201","03131031203","03131031210","03131031212","03131031231","03131031232","03131031233","03131031320","03131031321","03131031322","03131031323","03131031332","03131033010","03131033011","03131033100","03131033101","03131033102","03131033103","03131033110","03131033200","03131100110","03131100111","03131100121","03131100123","03131100130","03131100132","03131101000","03131101001","03131101010","03131102020","03131102022","03131103110","03131103111","03131103112","03131103113","03131110323","03131110332","03131110333","03131111222","03131112101","03131112103","03131112110","03131112111","03131112112","03131112113","03131112310","03131112311","03131113000","03131113002","03131113020","03131113021","03131113022","03131113023","03131113200","03131113201","03131113321","03131113323","03131121111","03131121113","03131121130","03131121131","03131121132","03131121133","03131121310","03131121311","03131121312","03131121313","03131121321","03131121322","03131121323","03131121330","03131121331","03131121332","03131121333","03131123011","03131123100","03131123101","03131123110","03131123111","03131123112","03131123113","03131123130","03131123131","03131123313","03131123331","03131130000","03131130002","03131130022","03131130023","03131130031","03131130032","03131130033","03131130112","03131130113","03131130121","03131130122","03131130123","03131130130","03131130131","03131130132","03131130133","03131130200","03131130201","03131130202","03131130203","03131130210","03131130211","03131130212","03131130213","03131130220","03131130221","03131130222","03131130223","03131130230","03131130231","03131130232","03131130233","03131130300","03131130301","03131130302","03131130303","03131130310","03131130311","03131130312","03131130313","03131130320","03131130322","03131130331","03131130333","03131131003","03131131012","03131131020","03131131021","03131131022","03131131030","03131131123","03131131132","03131131200","03131131202","03131131203","03131131211","03131131212","03131131213","03131131220","03131131221","03131131222","03131131230","03131131231","03131131300","03131131301","03131131302","03131131310","03131131313","03131131320","03131131331","03131132000","03131132001","03131132002","03131132003","03131132010","03131132011","03131132012","03131132021","03131132030","03131132031","03131132032","03131132033","03131132100","03131132111","03131132113","03131132120","03131132122","03131132132","03131132133","03131132202","03131132203","03131132211","03131132212","03131132213","03131132220","03131132221","03131132230","03131132231","03131132233","03131132300","03131132302","03131132310","03131132311","03131132312","03131132320","03131132321","03131132322","03131132323","03131132330","03131132331","03131132332","03131132333","03131133000","03131133002","03131133003","03131133020","03131133021","03131133022","03131133023","03131133030","03131133032","03131133100","03131133101","03131133102","03131133103","03131133200","03131133201","03131133202","03131133203","03131133210","03131133212","03131133220","03131133221","03131133222","03131133223","03131133230","03131133232","03131133321","03131133323","03131133330","03131133331","03131133332","03131133333","03131201311","03131201313","03131201331","03131210202","03131211012","03131211013","03131301222","03131301223","03131301232","03131301323","03131301330","03131301331","03131301332","03131301333","03131303000","03131303001","03131303010","03131303100","03131303101","03131303102","03131303103","03131303110","03131303111","03131303112","03131303113","03131303120","03131303121","03131303130","03131303131","03131303133","03131303233","03131303311","03131303312","03131303322","03131310010","03131310011","03131310012","03131310013","03131310022","03131310023","03131310031","03131310033","03131310100","03131310101","03131310102","03131310103","03131310110","03131310111","03131310112","03131310113","03131310120","03131310121","03131310123","03131310130","03131310131","03131310132","03131310200","03131310201","03131310211","03131310212","03131310213","03131310230","03131310231","03131310300","03131310302","03131310323","03131310332","03131311000","03131311001","03131311002","03131311003","03131311011","03131311012","03131311013","03131311030","03131311031","03131311032","03131311033","03131311100","03131311102","03131311113","03131311120","03131311121","03131311122","03131311123","03131311131","03131311210","03131311211","03131311213","03131311220","03131311221","03131311222","03131311223","03131311231","03131311232","03131311233","03131311300","03131311301","03131311302","03131311303","03131311310","03131311312","03131311313","03131311320","03131311321","03131311322","03131311323","03131311330","03131311331","03131311332","03131311333","03131312000","03131312001","03131312002","03131312003","03131312010","03131312012","03131312013","03131312020","03131312021","03131312022","03131312030","03131312031","03131312101","03131312103","03131312110","03131312112","03131312200","03131312223","03131312232","03131312312","03131312313","03131312322","03131312323","03131312330","03131312331","03131312332","03131312333","03131313001","03131313002","03131313003","03131313010","03131313011","03131313012","03131313013","03131313020","03131313021","03131313023","03131313030","03131313031","03131313032","03131313033","03131313100","03131313101","03131313102","03131313103","03131313110","03131313111","03131313112","03131313113","03131313120","03131313121","03131313122","03131313123","03131313130","03131313131","03131313132","03131313133","03131313202","03131313203","03131313210","03131313211","03131313212","03131313220","03131313221","03131313222","03131313223","03131313230","03131313232","03131313233","03131313300","03131313301","03131313310","03131313311","03131313312","03131313313","03131313320","03131313321","03131313322","03131313323","03131313330","03131313331","03131313332","03131313333","03131320131","03131320133","03131321011","03131321013","03131321020","03131321021","03131321022","03131321023","03131321031","03131321033","03131321100","03131321102","03131321120","03131330001","03131330003","03131330010","03131330012","03131330100","03131330101","03131330110","03131330111","03131333303","03131333312","03131333321","03131333330","03133101222","03133101223","03133103000","03133103001","03133103102","03133103103","03133103120","03133103121","03133110323","03133110330","03133110332","03133111233","03133112213","03133112230","03133112231","03133112312","03133112313","03133112330","03133112331","03133112332","03133112333","03133113122","03133113123","03133113232","03133113233","03133113300","03133113301","03133131010","03133131011","03133131222","03133131223","03133131303","03133131321","03133203313","03133203331","03133212200","03133212201","03133212202","03133212220","03133212322","03133212323","03133213123","03133213132","03133213133","03133213301","03133213310","03133213311","03133213312","03133213313","03133213330","03133213331","03133221113","03133221310","03133221311","03133221312","03133221313","03133221321","03133221330","03133221331","03133221332","03133223133","03133223311","03133223312","03133223313","03133223330","03133223331","03133223332","03133223333","03133230002","03133230100","03133230101","03133230212","03133230213","03133230231","03133231032","03133231133","03133231210","03133232022","03133232200","03133232201","03133233133","03133233310","03133233311","03133233333","03133302200","03133303201","03133303202","03133303203","03133303210","03133303212","03133303220","03133303221","03133303312","03133303313","03133303330","03133303331","03133311102","03133311103","03133311120","03133311121","03133312212","03133312213","03133312221","03133312223","03133312230","03133312231","03133312232","03133312233","03133312302","03133312303","03133312312","03133312320","03133312321","03133312322","03133312323","03133312330","03133313303","03133313312","03133313321","03133313330","03133320022","03133320323","03133320332","03133321212","03133321213","03133322101","03133322110","03133322120","03133322121","03133322122","03133322123","03133322222","03133323222","03133330001","03133330002","03133330003","03133330010","03133330011","03133330012","03133330020","03133330021","03133330100","03133330112","03133330130","03133330201","03133330210","03133330211","03133330212","03133331321","03133331323","03133331332","03133332003","03133332012","03133332021","03133332030","03133333021","03133333023","03133333030","03133333031","03133333032","03133333033","03200000001","03200000002","03200000003","03200000010","03200000011","03200000012","03200000013","03200000020","03200000021","03200000022","03200000023","03200000030","03200000032","03200000033","03200000103","03200000112","03200000113","03200000120","03200000121","03200000122","03200000123","03200000130","03200000131","03200000132","03200000133","03200000202","03200000220","03200000222","03200000232","03200000300","03200000301","03200000302","03200000303","03200000310","03200000311","03200000312","03200000313","03200000320","03200000321","03200000322","03200000323","03200000330","03200000331","03200000332","03200000333","03200001001","03200001002","03200001010","03200001011","03200001020","03200001022","03200001100","03200001101","03200001110","03200001200","03200001202","03200001203","03200001210","03200001212","03200001220","03200001221","03200001223","03200001230","03200001231","03200001232","03200002000","03200002001","03200002002","03200002003","03200002010","03200002012","03200002020","03200002021","03200002022","03200002030","03200002100","03200002101","03200002102","03200002103","03200002110","03200002111","03200002112","03200002113","03200002120","03200002121","03200002130","03200002131","03200002220","03200002222","03200003002","03200003003","03200003012","03200003013","03200003020","03200003021","03200003022","03200003023","03200003030","03200003031","03200003032","03200003033","03200003121","03200003123","03200003130","03200003131","03200003132","03200003133","03200003200","03200003201","03200003210","03200003211","03200003301","03200003310","03200003311","03200010022","03200010023","03200010032","03200010200","03200010201","03200010202","03200010203","03200010210","03200010212","03200010213","03200010230","03200010231","03200010232","03200010233","03200010302","03200010303","03200010311","03200010312","03200010313","03200010320","03200010321","03200010322","03200010323","03200010330","03200010331","03200010332","03200010333","03200011000","03200011001","03200011002","03200011003","03200011010","03200011011","03200011012","03200011020","03200011021","03200011030","03200011100","03200011101","03200011111","03200011113","03200011131","03200011200","03200011201","03200011202","03200011203","03200011210","03200011211","03200011212","03200011213","03200011220","03200011221","03200011222","03200011223","03200011230","03200011231","03200011232","03200011233","03200011313","03200011322","03200011323","03200011331","03200011333","03200012010","03200012011","03200012012","03200012013","03200012020","03200012030","03200012031","03200012032","03200012033","03200012100","03200012101","03200012102","03200012103","03200012110","03200012111","03200012112","03200012113","03200012120","03200012121","03200012122","03200012123","03200012130","03200012131","03200012132","03200012133","03200012210","03200012211","03200012212","03200012213","03200012230","03200012231","03200012232","03200012233","03200012300","03200012301","03200012302","03200012303","03200012310","03200012311","03200012320","03200012321","03200012322","03200012323","03200013000","03200013001","03200013010","03200013011","03200013012","03200013013","03200013021","03200013022","03200013023","03200013030","03200013032","03200013100","03200013101","03200013102","03200013103","03200013111","03200013113","03200013121","03200013123","03200013130","03200013131","03200013132","03200013133","03200013200","03200013201","03200013202","03200013203","03200013210","03200013212","03200013220","03200013221","03200013301","03200013303","03200013310","03200013311","03200013312","03200013313","03200013321","03200013323","03200013330","03200013331","03200013332","03200013333","03200020000","03200020001","03200020002","03200020003","03200020010","03200020012","03200020020","03200020021","03200020022","03200020023","03200020200","03200020201","03200020202","03200020220","03200020221","03200020222","03200020223","03200020230","03200020232","03200021300","03200021301","03200021302","03200021303","03200021310","03200021312","03200021320","03200021321","03200021323","03200021330","03200021332","03200022000","03200022001","03200022002","03200022003","03200022010","03200022011","03200022012","03200022013","03200022020","03200022021","03200022022","03200022023","03200022030","03200022031","03200022032","03200022033","03200022121","03200022123","03200022130","03200022131","03200022132","03200022133","03200022200","03200022201","03200022203","03200022210","03200022211","03200022212","03200022213","03200022221","03200022230","03200022231","03200022300","03200022302","03200022310","03200022311","03200022313","03200023020","03200023022","03200023113","03200023130","03200023131","03200023132","03200023133","03200023200","03200023202","03200023311","03200023313","03200023332","03200023333","03200030113","03200030130","03200030131","03200030132","03200030133","03200030211","03200030213","03200030223","03200030231","03200030232","03200030233","03200030300","03200030301","03200030302","03200030303","03200030310","03200030311","03200030312","03200030313","03200030320","03200030321","03200030322","03200030323","03200030330","03200030331","03200030332","03200030333","03200031002","03200031003","03200031012","03200031020","03200031021","03200031022","03200031023","03200031030","03200031032","03200031033","03200031101","03200031103","03200031110","03200031111","03200031112","03200031113","03200031120","03200031121","03200031122","03200031123","03200031130","03200031131","03200031132","03200031200","03200031201","03200031202","03200031203","03200031210","03200031211","03200031212","03200031213","03200031220","03200031231","03200031300","03200031301","03200031302","03200031303","03200031310","03200031311","03200031312","03200031313","03200031320","03200031321","03200031323","03200031330","03200031331","03200031332","03200031333","03200032000","03200032001","03200032002","03200032003","03200032010","03200032011","03200032012","03200032013","03200032020","03200032021","03200032022","03200032023","03200032030","03200032031","03200032032","03200032033","03200032200","03200032201","03200032202","03200032203","03200032211","03200032213","03200032231","03200032300","03200032301","03200032302","03200032303","03200032320","03200033110","03200033111","03200033113","03200100000","03200100001","03200100002","03200100003","03200100010","03200100011","03200100012","03200100020","03200100021","03200100030","03200100123","03200100132","03200100133","03200100202","03200100203","03200100212","03200100220","03200100221","03200100222","03200100223","03200100230","03200100231","03200100232","03200100233","03200100301","03200100303","03200100310","03200100311","03200100312","03200100313","03200100320","03200100321","03200100322","03200100323","03200100330","03200100331","03200100332","03200100333","03200101001","03200101003","03200101010","03200101011","03200101012","03200101013","03200101022","03200101031","03200101033","03200101100","03200101101","03200101102","03200101103","03200101110","03200101111","03200101112","03200101113","03200101120","03200101121","03200101122","03200101123","03200101130","03200101131","03200101132","03200101133","03200101200","03200101201","03200101202","03200101203","03200101212","03200101213","03200101220","03200101221","03200101222","03200101223","03200101230","03200101231","03200101232","03200101233","03200101300","03200101301","03200101302","03200101303","03200101310","03200101311","03200101312","03200101313","03200101320","03200101321","03200101322","03200101323","03200101330","03200101331","03200101332","03200101333","03200102000","03200102001","03200102002","03200102003","03200102010","03200102011","03200102012","03200102013","03200102020","03200102021","03200102022","03200102023","03200102030","03200102031","03200102032","03200102100","03200102101","03200102102","03200102103","03200102110","03200102111","03200102112","03200102113","03200102120","03200102121","03200102122","03200102123","03200102130","03200102131","03200102132","03200102133","03200102200","03200102201","03200102202","03200102203","03200102210","03200102212","03200102220","03200102221","03200102222","03200102223","03200102230","03200102232","03200102300","03200102301","03200102303","03200102310","03200102311","03200102312","03200102313","03200103000","03200103001","03200103002","03200103003","03200103010","03200103011","03200103012","03200103013","03200103020","03200103021","03200103022","03200103023","03200103030","03200103031","03200103100","03200103101","03200103102","03200103103","03200103110","03200103111","03200103112","03200103113","03200103133","03200103200","03200103201","03200103202","03200103203","03200103220","03200103221","03200103310","03200103311","03200103312","03200103313","03200103330","03200103331","03200110000","03200110001","03200110002","03200110003","03200110010","03200110011","03200110012","03200110013","03200110020","03200110021","03200110030","03200110031","03200110033","03200110100","03200110101","03200110102","03200110103","03200110110","03200110111","03200110112","03200110113","03200110120","03200110121","03200110122","03200110123","03200110130","03200110131","03200110132","03200110133","03200110301","03200110303","03200110310","03200110311","03200110312","03200110313","03200110321","03200110323","03200110330","03200110331","03200110332","03200110333","03200111000","03200111001","03200111002","03200111003","03200111010","03200111012","03200111020","03200111021","03200111022","03200111023","03200111030","03200111031","03200111032","03200111033","03200111113","03200111122","03200111123","03200111131","03200111132","03200111133","03200111200","03200111201","03200111202","03200111203","03200111210","03200111211","03200111212","03200111213","03200111220","03200111221","03200111222","03200111223","03200111230","03200111231","03200111232","03200111233","03200111300","03200111301","03200111302","03200111303","03200111310","03200111311","03200111312","03200111313","03200111320","03200111321","03200111322","03200111323","03200111330","03200112022","03200112023","03200112101","03200112103","03200112110","03200112111","03200112112","03200112113","03200112200","03200112201","03200112202","03200112203","03200112210","03200112220","03200113000","03200113001","03200113002","03200113003","03200113010","03200113011","03200113012","03200113013","03200113100","03200113102","03200113111","03200113113","03200120000","03200120001","03200120010","03200120120","03200120121","03200120122","03200120123","03200120132","03200120200","03200120202","03200120211","03200120213","03200120220","03200120221","03200120222","03200120223","03200120300","03200120301","03200120302","03200120303","03200120310","03200120311","03200120312","03200120320","03200120321","03200121003","03200121012","03200121013","03200121020","03200121021","03200121022","03200121023","03200121030","03200121031","03200121032","03200121033","03200121102","03200121103","03200121113","03200121120","03200121121","03200121122","03200121123","03200121130","03200121131","03200121132","03200121133","03200121200","03200121201","03200121210","03200121211","03200121222","03200121223","03200121232","03200121233","03200121300","03200121310","03200121311","03200121312","03200121313","03200122000","03200122001","03200122002","03200122003","03200122133","03200122310","03200122311","03200122312","03200122313","03200123000","03200123001","03200123002","03200123003","03200123010","03200123011","03200123012","03200123013","03200123020","03200123021","03200123022","03200123023","03200123030","03200123031","03200123032","03200123033","03200123100","03200123101","03200123102","03200123103","03200123120","03200123121","03200123122","03200123123","03200123132","03200123200","03200123201","03200123202","03200123203","03200123210","03200123211","03200123213","03200123231","03200123233","03200123300","03200123301","03200123302","03200123303","03200123310","03200123312","03200123320","03200123321","03200123322","03200123323","03200123330","03200130020","03200130022","03200130123","03200130200","03200130201","03200130202","03200130203","03200130301","03200130310","03200132001","03200132003","03200132010","03200132011","03200132012","03200132013","03200132021","03200132023","03200132030","03200132031","03200132032","03200132033","03200132102","03200132120","03200132122","03200132123","03200132130","03200132131","03200132132","03200132133","03200132301","03200132303","03200132310","03200132311","03200132312","03200132313","03200133002","03200133020","03200133021","03200133022","03200133023","03200133102","03200133103","03200133120","03200133121","03200133130","03200133200","03200133201","03200200001","03200200002","03200200003","03200200010","03200200011","03200200012","03200200013","03200200020","03200200021","03200200022","03200200023","03200200030","03200200031","03200200032","03200200033","03200200100","03200200101","03200200102","03200200103","03200200110","03200200111","03200200112","03200200113","03200200120","03200200121","03200200122","03200200123","03200200130","03200200131","03200200132","03200200133","03200200200","03200200201","03200200210","03200200211","03200200213","03200200222","03200200223","03200200300","03200200301","03200200302","03200200303","03200200310","03200200311","03200200312","03200200313","03200200320","03200200321","03200200330","03200201000","03200201001","03200201002","03200201003","03200201010","03200201011","03200201012","03200201013","03200201020","03200201021","03200201022","03200201023","03200201030","03200201031","03200201032","03200201033","03200201110","03200201111","03200201112","03200201113","03200201133","03200201200","03200201201","03200201202","03200201203","03200201210","03200201211","03200201212","03200201213","03200201223","03200201232","03200201233","03200201311","03200201313","03200202000","03200202001","03200202002","03200202003","03200202010","03200202012","03200202020","03200202021","03200202022","03200202023","03200202030","03200202031","03200202032","03200202033","03200202120","03200202121","03200202122","03200202123","03200202130","03200202131","03200202132","03200202133","03200202200","03200202201","03200202202","03200202203","03200202210","03200202211","03200202212","03200202213","03200202220","03200202221","03200202222","03200202223","03200202230","03200202231","03200202232","03200202233","03200202300","03200202301","03200202302","03200202303","03200202310","03200202311","03200202312","03200202313","03200202320","03200202321","03200202322","03200202323","03200202330","03200202331","03200202332","03200202333","03200203001","03200203003","03200203010","03200203011","03200203012","03200203013","03200203020","03200203021","03200203022","03200203023","03200203030","03200203031","03200203032","03200203033","03200203200","03200203201","03200203202","03200203203","03200203210","03200203212","03200203213","03200203220","03200203221","03200203222","03200203223","03200203230","03200203231","03200203232","03200203233","03200203302","03200203303","03200203312","03200203320","03200203321","03200203322","03200203323","03200203330","03200203332","03200203333","03200210000","03200210002","03200210003","03200210012","03200210013","03200210020","03200210021","03200210022","03200210023","03200210030","03200210031","03200210032","03200210033","03200210120","03200210122","03200210200","03200210201","03200210202","03200210203","03200210210","03200210211","03200210212","03200210213","03200210220","03200210221","03200210230","03200210231","03200210232","03200210233","03200210300","03200210301","03200210302","03200210303","03200210310","03200210320","03200210321","03200210322","03200210323","03200211131","03200211133","03200211231","03200211233","03200211301","03200211302","03200211303","03200211310","03200211311","03200211312","03200211313","03200211320","03200211321","03200211322","03200211323","03200211330","03200211331","03200211332","03200212010","03200212011","03200212013","03200212030","03200212031","03200212032","03200212033","03200212100","03200212101","03200212102","03200212120","03200212121","03200212122","03200212123","03200212202","03200212203","03200212210","03200212211","03200212212","03200212213","03200212220","03200212221","03200212222","03200212223","03200212230","03200212231","03200212232","03200212233","03200212300","03200212301","03200212302","03200212303","03200212312","03200212313","03200212320","03200212321","03200212322","03200212323","03200212330","03200212331","03200212332","03200212333","03200213003","03200213010","03200213011","03200213012","03200213013","03200213021","03200213022","03200213023","03200213030","03200213031","03200213032","03200213033","03200213100","03200213101","03200213102","03200213103","03200213110","03200213112","03200213113","03200213120","03200213121","03200213122","03200213123","03200213130","03200213131","03200213132","03200213133","03200213200","03200213201","03200213202","03200213203","03200213210","03200213211","03200213220","03200213221","03200213222","03200213223","03200213300","03200213330","03200213332","03200213333","03200220000","03200220001","03200220002","03200220003","03200220010","03200220011","03200220012","03200220013","03200220020","03200220021","03200220022","03200220023","03200220030","03200220031","03200220032","03200220033","03200220100","03200220101","03200220102","03200220103","03200220110","03200220111","03200220112","03200220113","03200220120","03200220121","03200220122","03200220123","03200220130","03200220131","03200220132","03200220133","03200220200","03200220201","03200220202","03200220203","03200220210","03200220211","03200220212","03200220213","03200220220","03200220221","03200220222","03200220223","03200220230","03200220231","03200220232","03200220233","03200220300","03200220301","03200220302","03200220303","03200220310","03200220311","03200220312","03200220313","03200220320","03200220321","03200220322","03200220323","03200220330","03200220331","03200220332","03200220333","03200221000","03200221001","03200221002","03200221003","03200221010","03200221011","03200221012","03200221013","03200221020","03200221021","03200221022","03200221023","03200221030","03200221031","03200221032","03200221033","03200221100","03200221101","03200221102","03200221103","03200221110","03200221111","03200221112","03200221113","03200221120","03200221121","03200221122","03200221123","03200221130","03200221131","03200221132","03200221133","03200221200","03200221201","03200221202","03200221203","03200221210","03200221211","03200221212","03200221213","03200221220","03200221221","03200221222","03200221223","03200221230","03200221231","03200221232","03200221233","03200221300","03200221301","03200221302","03200221303","03200221310","03200221311","03200221312","03200221313","03200221320","03200221321","03200221322","03200221323","03200221330","03200221331","03200221332","03200221333","03200222000","03200222001","03200222002","03200222003","03200222010","03200222011","03200222012","03200222013","03200222020","03200222021","03200222022","03200222023","03200222030","03200222031","03200222032","03200222033","03200222100","03200222101","03200222102","03200222103","03200222110","03200222111","03200222112","03200222113","03200222120","03200222121","03200222122","03200222123","03200222130","03200222131","03200222132","03200222133","03200222200","03200222201","03200222202","03200222203","03200222210","03200222211","03200222212","03200222213","03200222220","03200222221","03200222222","03200222223","03200222230","03200222231","03200222232","03200222233","03200222300","03200222301","03200222302","03200222303","03200222310","03200222311","03200222312","03200222313","03200222320","03200222321","03200222322","03200222323","03200222330","03200222331","03200222332","03200222333","03200223000","03200223001","03200223002","03200223003","03200223010","03200223011","03200223012","03200223013","03200223020","03200223021","03200223022","03200223023","03200223100","03200223101","03200223102","03200223103","03200223110","03200223111","03200223112","03200223113","03200223200","03200223201","03200223202","03200223203","03200223220","03200223221","03200230000","03200230001","03200230002","03200230003","03200230010","03200230011","03200230012","03200230013","03200230020","03200230021","03200230022","03200230023","03200230030","03200230031","03200230032","03200230033","03200230100","03200230101","03200230102","03200230103","03200230110","03200230111","03200230112","03200230113","03200230120","03200230121","03200230122","03200230123","03200230130","03200230131","03200230132","03200230133","03200230200","03200230201","03200230202","03200230203","03200230210","03200230211","03200230212","03200230213","03200230220","03200230221","03200230222","03200230223","03200230230","03200230231","03200230232","03200230300","03200230301","03200230302","03200230310","03200230311","03200230312","03200230313","03200231000","03200231002","03200231020","03200231021","03200231022","03200231023","03200231101","03200231103","03200231110","03200231111","03200231112","03200231113","03200231120","03200231121","03200231122","03200231123","03200231130","03200231131","03200231132","03200231133","03200231200","03200231201","03200231202","03200231300","03200231301","03200231302","03200231303","03200231310","03200231311","03200231312","03200231313","03200231321","03200231323","03200231330","03200231331","03200231332","03200231333","03200232000","03200232120","03200232121","03200232122","03200232123","03200232130","03200232131","03200232132","03200232133","03200232211","03200232213","03200232231","03200232300","03200232301","03200232302","03200232303","03200232310","03200232311","03200232312","03200232313","03200232320","03200232321","03200232322","03200232323","03200232330","03200232331","03200232332","03200233020","03200233021","03200233022","03200233023","03200233030","03200233031","03200233032","03200233033","03200233111","03200233122","03200233123","03200233132","03200233200","03200233201","03200233203","03200233210","03200233211","03200233212","03200233300","03200233301","03200233302","03200233303","03200233310","03200300003","03200300012","03200300013","03200300020","03200300021","03200300022","03200300023","03200300030","03200300031","03200300032","03200300033","03200300101","03200300102","03200300103","03200300110","03200300112","03200300120","03200300121","03200300122","03200300123","03200300130","03200300200","03200300201","03200300202","03200300203","03200300210","03200300211","03200300212","03200300213","03200300220","03200300221","03200300222","03200300223","03200300230","03200300231","03200300232","03200300233","03200300300","03200300302","03200300312","03200300313","03200300320","03200300322","03200300323","03200300330","03200300331","03200300332","03200300333","03200301011","03200301013","03200301100","03200301101","03200301102","03200301202","03200301203","03200301210","03200301211","03200301212","03200301213","03200301220","03200301221","03200301222","03200301223","03200301230","03200301231","03200301232","03200301233","03200301302","03200301320","03200301322","03200302001","03200302002","03200302003","03200302010","03200302011","03200302012","03200302013","03200302020","03200302021","03200302022","03200302023","03200302030","03200302031","03200302032","03200302100","03200302101","03200302102","03200302110","03200302111","03200302113","03200302131","03200302132","03200302133","03200302201","03200302202","03200302203","03200302210","03200302211","03200302212","03200302213","03200302220","03200302221","03200302222","03200302223","03200302230","03200302231","03200302232","03200302233","03200302301","03200302303","03200302310","03200302311","03200302312","03200302313","03200302320","03200302322","03200302330","03200302331","03200302333","03200303000","03200303001","03200303002","03200303003","03200303010","03200303011","03200303012","03200303013","03200303020","03200303021","03200303022","03200303023","03200303030","03200303031","03200303032","03200303033","03200303100","03200303102","03200303103","03200303112","03200303120","03200303121","03200303122","03200303123","03200303130","03200303132","03200303133","03200303200","03200303201","03200303202","03200303203","03200303210","03200303211","03200303212","03200303213","03200303220","03200303221","03200303222","03200303223","03200303230","03200303231","03200303232","03200303300","03200303301","03200303302","03200303303","03200303310","03200303311","03200303312","03200303321","03200303330","03200310123","03200310130","03200310131","03200310132","03200310133","03200310202","03200310203","03200310212","03200310213","03200310220","03200310221","03200310222","03200310223","03200310230","03200310231","03200310232","03200310233","03200310301","03200310310","03200310311","03200310313","03200310322","03200310323","03200310332","03200310333","03200311020","03200311021","03200311022","03200311023","03200311030","03200311031","03200311032","03200311033","03200311120","03200311121","03200311122","03200311123","03200311130","03200311131","03200311132","03200311133","03200311200","03200311201","03200311202","03200311203","03200311210","03200311211","03200311212","03200311213","03200311220","03200311221","03200311222","03200311223","03200311230","03200311231","03200311232","03200311233","03200311300","03200311301","03200311302","03200311303","03200311310","03200311311","03200311312","03200311313","03200311330","03200311331","03200311332","03200311333","03200312000","03200312001","03200312002","03200312003","03200312010","03200312011","03200312012","03200312013","03200312020","03200312021","03200312022","03200312023","03200312030","03200312031","03200312032","03200312033","03200312100","03200312101","03200312102","03200312103","03200312110","03200312111","03200312112","03200312113","03200312120","03200312121","03200312122","03200312123","03200312130","03200312131","03200312132","03200312133","03200312200","03200312201","03200312210","03200312211","03200312300","03200312301","03200312310","03200312311","03200313000","03200313001","03200313002","03200313003","03200313012","03200313013","03200313020","03200313021","03200313022","03200313023","03200313030","03200313031","03200313032","03200313033","03200313112","03200313113","03200313120","03200313122","03200313123","03200313130","03200313131","03200313132","03200313133","03200313200","03200313201","03200313210","03200313211","03200313232","03200313233","03200313310","03200313311","03200320000","03200320001","03200320002","03200320003","03200320010","03200320011","03200320012","03200320013","03200320020","03200320021","03200320022","03200320023","03200320030","03200320031","03200320032","03200320033","03200320100","03200320102","03200320103","03200320112","03200320120","03200320121","03200320122","03200320123","03200320130","03200320132","03200320200","03200320201","03200320202","03200320203","03200320210","03200320211","03200320212","03200320213","03200320220","03200320221","03200320222","03200320223","03200320230","03200320231","03200320232","03200320300","03200320302","03200320320","03200321131","03200321133","03200321231","03200321233","03200321301","03200321302","03200321303","03200321310","03200321311","03200321312","03200321313","03200321320","03200321321","03200321322","03200321323","03200321330","03200321331","03200321332","03200322000","03200322001","03200322012","03200322013","03200322030","03200322031","03200322033","03200322102","03200322103","03200322120","03200322121","03200322122","03200322211","03200322300","03200322301","03200323123","03200323132","03200323133","03200323301","03200323303","03200323310","03200323311","03200323312","03200323313","03200323321","03200323330","03200323331","03200330000","03200330001","03200330002","03200330003","03200330010","03200330011","03200330012","03200330013","03200330020","03200330021","03200330022","03200330023","03200330030","03200330031","03200330032","03200330033","03200330100","03200330102","03200330103","03200330120","03200330121","03200330122","03200330123","03200330200","03200330201","03200330210","03200330211","03200330301","03200331000","03200331001","03200331002","03200331003","03200331010","03200331011","03200331012","03200331013","03200331020","03200331021","03200331023","03200331030","03200331031","03200331032","03200331033","03200331120","03200331122","03200331123","03200331131","03200331132","03200331133","03200331222","03200331223","03200331232","03200331233","03200331310","03200331311","03200331312","03200331322","03200331323","03200332023","03200332030","03200332031","03200332032","03200332033","03200332110","03200332111","03200332112","03200332113","03200332120","03200332121","03200332122","03200332123","03200332130","03200332131","03200332132","03200332133","03200332200","03200332201","03200332202","03200332203","03200332210","03200332211","03200332212","03200332213","03200332220","03200332221","03200332222","03200332223","03200332230","03200332231","03200332232","03200332233","03200332300","03200332301","03200332302","03200332303","03200332310","03200332311","03200332312","03200332320","03200332321","03200332322","03200332330","03200333000","03200333001","03200333002","03200333003","03200333010","03200333011","03200333012","03200333013","03200333020","03200333021","03200333022","03200333023","03200333030","03200333032","03200333100","03200333101","03200333200","03200333201","03201000002","03201000003","03201000010","03201000011","03201000012","03201000013","03201000020","03201000021","03201000022","03201000023","03201000030","03201000031","03201000032","03201000033","03201000100","03201000101","03201000102","03201000103","03201000110","03201000111","03201000112","03201000113","03201000120","03201000121","03201000130","03201000200","03201000201","03201000202","03201000203","03201000210","03201000211","03201000212","03201000220","03201000221","03201000222","03201000223","03201000230","03201000232","03201000233","03201000311","03201000312","03201000313","03201000330","03201000331","03201000332","03201000333","03201001000","03201001001","03201001002","03201001021","03201001023","03201001030","03201001031","03201001032","03201001033","03201001101","03201001103","03201001110","03201001111","03201001112","03201001113","03201001120","03201001121","03201001122","03201001123","03201001130","03201001131","03201001132","03201001133","03201001200","03201001201","03201001202","03201001203","03201001210","03201001211","03201001212","03201001213","03201001220","03201001221","03201001222","03201001223","03201001230","03201001231","03201001232","03201001233","03201001300","03201001301","03201001302","03201001303","03201001310","03201001311","03201001312","03201001313","03201001320","03201001321","03201001322","03201001323","03201001330","03201001331","03201001332","03201001333","03201002000","03201002002","03201002012","03201002013","03201002030","03201002031","03201002102","03201002103","03201002110","03201002111","03201002112","03201002113","03201002120","03201002121","03201002122","03201002123","03201002130","03201002131","03201002132","03201002133","03201002301","03201002303","03201002310","03201002311","03201002312","03201002313","03201002321","03201002330","03201002331","03201002332","03201002333","03201003000","03201003001","03201003002","03201003003","03201003010","03201003011","03201003012","03201003013","03201003020","03201003021","03201003022","03201003023","03201003030","03201003031","03201003032","03201003033","03201003100","03201003101","03201003102","03201003103","03201003110","03201003111","03201003112","03201003113","03201003120","03201003121","03201003122","03201003123","03201003130","03201003131","03201003132","03201003133","03201003200","03201003201","03201003202","03201003203","03201003210","03201003211","03201003212","03201003213","03201003220","03201003221","03201003222","03201003223","03201003230","03201003231","03201003232","03201003233","03201003300","03201003301","03201003302","03201003303","03201003310","03201003311","03201003312","03201003320","03201003321","03201003322","03201003323","03201010000","03201010001","03201010002","03201010003","03201010010","03201010011","03201010012","03201010013","03201010020","03201010021","03201010022","03201010023","03201010030","03201010031","03201010032","03201010033","03201010100","03201010101","03201010102","03201010103","03201010110","03201010111","03201010112","03201010113","03201010120","03201010121","03201010122","03201010123","03201010130","03201010131","03201010132","03201010133","03201010200","03201010201","03201010202","03201010203","03201010210","03201010211","03201010212","03201010213","03201010220","03201010221","03201010222","03201010223","03201010230","03201010231","03201010232","03201010233","03201010300","03201010301","03201010302","03201010303","03201010310","03201010311","03201010312","03201010313","03201010320","03201010321","03201010322","03201010323","03201010330","03201010331","03201010332","03201010333","03201011000","03201011001","03201011002","03201011003","03201011010","03201011011","03201011012","03201011013","03201011020","03201011021","03201011022","03201011023","03201011030","03201011031","03201011032","03201011033","03201011100","03201011101","03201011102","03201011103","03201011110","03201011111","03201011112","03201011113","03201011120","03201011121","03201011122","03201011123","03201011130","03201011131","03201011132","03201011200","03201011201","03201011202","03201011203","03201011210","03201011211","03201011212","03201011213","03201011220","03201011221","03201011222","03201011223","03201011230","03201011231","03201011232","03201012000","03201012001","03201012002","03201012003","03201012010","03201012011","03201012012","03201012013","03201012020","03201012021","03201012022","03201012023","03201012030","03201012031","03201012032","03201012033","03201012100","03201012101","03201012102","03201012103","03201012110","03201012111","03201012112","03201012113","03201012120","03201012121","03201012122","03201012123","03201012130","03201012131","03201012132","03201012133","03201012200","03201012201","03201012202","03201012203","03201012210","03201012211","03201012212","03201012213","03201012220","03201012221","03201012223","03201012230","03201012231","03201012232","03201012233","03201012300","03201012301","03201012302","03201012303","03201012310","03201012311","03201012312","03201012313","03201012321","03201012322","03201012323","03201012330","03201012331","03201012332","03201013000","03201013001","03201013002","03201013003","03201013010","03201013012","03201013020","03201013021","03201013022","03201013023","03201013030","03201013200","03201013201","03201020110","03201020111","03201020112","03201020113","03201020130","03201020131","03201020132","03201020133","03201020203","03201020221","03201020310","03201020311","03201020332","03201020333","03201021000","03201021001","03201021002","03201021003","03201021010","03201021011","03201021012","03201021013","03201021020","03201021021","03201021022","03201021030","03201021031","03201021100","03201021101","03201021102","03201021120","03201022101","03201022102","03201022103","03201022110","03201022111","03201022112","03201022113","03201022120","03201022121","03201022123","03201022130","03201022131","03201022132","03201022133","03201022310","03201022311","03201023000","03201023002","03201023003","03201023020","03201023021","03201023022","03201023033","03201023122","03201023123","03201023132","03201023200","03201023211","03201023213","03201023230","03201023231","03201023232","03201023233","03201023300","03201023301","03201023302","03201023303","03201023310","03201023312","03201023313","03201023320","03201023321","03201023322","03201023323","03201023330","03201023331","03201023332","03201023333","03201030001","03201030003","03201030010","03201030011","03201030012","03201030013","03201030021","03201030030","03201030031","03201030032","03201030033","03201030100","03201030101","03201030102","03201030103","03201030120","03201030121","03201030122","03201030123","03201032202","03201032220","03201032222","03201100000","03201100001","03201100002","03201100003","03201100010","03201100011","03201100012","03201100013","03201100020","03201100021","03201100100","03201100101","03201100102","03201100110","03201200020","03201200022","03201200023","03201200032","03201200200","03201200201","03201200202","03201200203","03201200210","03201200211","03201200212","03201200213","03201200220","03201200221","03201200222","03201200223","03201200230","03201200231","03201200232","03201200233","03201200300","03201200301","03201200302","03201200303","03201200312","03201200313","03201200320","03201200321","03201200322","03201200323","03201200330","03201200331","03201200332","03201200333","03201201010","03201201011","03201201100","03201201101","03201201110","03201201111","03201201112","03201201113","03201201130","03201201131","03201201133","03201201202","03201201220","03201201222","03201202000","03201202001","03201202002","03201202003","03201202010","03201202011","03201202012","03201202013","03201202020","03201202022","03201202023","03201202030","03201202031","03201202100","03201202101","03201202102","03201202103","03201202111","03201202120","03201202121","03201202123","03201202130","03201202131","03201202132","03201202133","03201202200","03201202201","03201202233","03201202301","03201202303","03201202310","03201202311","03201202312","03201202313","03201202322","03201202323","03201202330","03201202331","03201202332","03201202333","03201203000","03201203022","03201203023","03201203031","03201203032","03201203033","03201203120","03201203121","03201203122","03201203123","03201203130","03201203132","03201203200","03201203201","03201203202","03201203203","03201203210","03201203211","03201203212","03201203213","03201203220","03201203221","03201203300","03201203301","03201203302","03201203303","03201203310","03201210000","03201210002","03201210020","03201210021","03201210022","03201210023","03201210200","03201210201","03201210203","03201210210","03201210212","03201210230","03201210232","03201212002","03201212003","03201212010","03201212012","03201220011","03201220022","03201220100","03201220101","03201220102","03201220103","03201220110","03201220120","03201220121","03201220200","03202000000","03202000001","03202000002","03202000003","03202000010","03202000011","03202000012","03202000013","03202000020","03202000021","03202000022","03202000023","03202000030","03202000031","03202000032","03202000033","03202000100","03202000101","03202000102","03202000103","03202000110","03202000111","03202000112","03202000113","03202000120","03202000121","03202000122","03202000123","03202000130","03202000131","03202000132","03202000200","03202000201","03202000202","03202000203","03202000210","03202000211","03202000212","03202000213","03202000220","03202000221","03202000222","03202000223","03202000230","03202000231","03202000232","03202000233","03202000300","03202000301","03202000302","03202000303","03202000310","03202000311","03202000312","03202000313","03202000320","03202000321","03202000322","03202000323","03202000330","03202000331","03202000332","03202000333","03202001000","03202001002","03202001020","03202001022","03202001200","03202001201","03202001202","03202001203","03202001212","03202001213","03202001220","03202001221","03202001222","03202001223","03202001230","03202001231","03202001232","03202001233","03202001302","03202001320","03202001321","03202001322","03202001323","03202001330","03202001331","03202001332","03202001333","03202002000","03202002001","03202002002","03202002003","03202002010","03202002011","03202002012","03202002013","03202002020","03202002021","03202002022","03202002023","03202002030","03202002031","03202002032","03202002033","03202002100","03202002101","03202002102","03202002103","03202002110","03202002111","03202002112","03202002113","03202002120","03202002121","03202002122","03202002123","03202002130","03202002131","03202002200","03202002201","03202002202","03202002203","03202002210","03202002211","03202002220","03202002222","03202003000","03202003001","03202003002","03202003003","03202003010","03202003011","03202003012","03202003013","03202003020","03202003021","03202003023","03202003030","03202003031","03202003032","03202003033","03202003100","03202003101","03202003102","03202003103","03202003110","03202003111","03202003112","03202003113","03202003120","03202003121","03202003122","03202003123","03202003130","03202003131","03202003132","03202003133","03202010100","03202010101","03202010110","03202010220","03202010221","03202010222","03202010223","03202010230","03202010232","03202010333","03202011222","03202011223","03202011232","03202012000","03202012001","03202012002","03202012003","03202012010","03202012012","03202012020","03202012021","03202012022","03202012030","03202012111","03202012113","03202012130","03202012131","03202012132","03202012133","03202012311","03202013000","03202013001","03202013002","03202013003","03202013010","03202013012","03202013020","03202013021","03202013022","03202013023","03202013030","03202013032","03202013111","03202013112","03202013113","03202013121","03202013123","03202013130","03202013131","03202013132","03202013133","03202013200","03202013201","03202013203","03202013210","03202013212","03202020000","03202100002","03202100003","03202100020","03202100021","03202100022","03202100023","03202100030","03202101123","03202101132","03202101133","03202101211","03202101213","03202101231","03202101300","03202101301","03202101302","03202101303","03202101310","03202101311","03202101312","03202101313","03202101320","03202101321","03202101323","03202101330","03202101332","03202101333","03202102000","03202102001","03202102002","03202102003","03202102010","03202102012","03202102020","03202102021","03202102022","03202102023","03202102030","03202102032","03202102331","03202102333","03202103101","03202103103","03202103110","03202103111","03202103112","03202103113","03202103121","03202103122","03202103123","03202103130","03202103131","03202103132","03202103133","03202103202","03202103203","03202103212","03202103213","03202103220","03202103221","03202103222","03202103223","03202103230","03202103231","03202103232","03202103233","03202103301","03202103302","03202103310","03202103311","03202103312","03202103313","03202103320","03202103321","03202103322","03202103323","03202103331","03202110001","03202110003","03202110010","03202110011","03202110012","03202110013","03202110100","03202110200","03202110201","03202110202","03202110203","03202110220","03202112000","03202112002","03202112003","03202112020","03202112021","03202112022","03202112023","03202112200","03202112201","03202112202","03202112203","03202112220","03202112221","03202112222","03202112223","03202112230","03202112232","03202121001","03202121010","03202121011","03202121023","03202121032","03202121033","03202121100","03202121101","03202121102","03202121111","03202121113","03202121123","03202121131","03202121132","03202121133","03202121201","03202121203","03202121210","03202121211","03202121212","03202121213","03202121221","03202121223","03202121230","03202121231","03202121232","03202121233","03202121300","03202121301","03202121302","03202121303","03202121310","03202121311","03202121312","03202121313","03202121320","03202121321","03202121322","03202121323","03202121330","03202121331","03202121332","03202121333","03202123000","03202123001","03202123002","03202123003","03202123010","03202123011","03202123012","03202123013","03202123020","03202123021","03202123022","03202123023","03202123030","03202123031","03202123032","03202123033","03202123100","03202123101","03202123102","03202123103","03202123110","03202123111","03202123112","03202123113","03202123120","03202123121","03202123122","03202123123","03202123130","03202123131","03202123132","03202123133","03202123201","03202123203","03202123210","03202123211","03202123212","03202123213","03202123221","03202123230","03202123231","03202123232","03202123233","03202123300","03202123301","03202123302","03202123303","03202123310","03202123311","03202123320","03202123321","03202123322","03202123323","03202130000","03202130002","03202130003","03202130010","03202130012","03202130013","03202130020","03202130021","03202130022","03202130023","03202130030","03202130031","03202130032","03202130033","03202130122","03202130200","03202130201","03202130202","03202130203","03202130210","03202130211","03202130212","03202130213","03202130220","03202130221","03202130222","03202130223","03202130230","03202130231","03202130232","03202130233","03202130300","03202130302","03202130320","03202130321","03202130322","03202130323","03202132000","03202132001","03202132002","03202132003","03202132010","03202132011","03202132012","03202132013","03202132020","03202132021","03202132022","03202132023","03202132030","03202132031","03202132032","03202132033","03202132100","03202132101","03202132102","03202132103","03202132112","03202132120","03202132121","03202132122","03202132123","03202132130","03202132132","03202132133","03202132200","03202132201","03202132210","03202132211","03202132300","03202132301","03202132302","03202132303","03202132310","03202132311","03202132312","03202132313","03202301011","03202301013","03202301031","03202301033","03202301100","03202301101","03202301102","03202301103","03202301112","03202301113","03202301120","03202301121","03202301122","03202301123","03202301130","03202301131","03202301132","03202301133","03202301300","03202301301","03202301310","03202301311","03202301312","03202301313","03202301330","03202301331","03202301332","03202301333","03202310002","03202310003","03202310012","03202310013","03202310020","03202310021","03202310022","03202310023","03202310030","03202310031","03202310032","03202310033","03202310101","03202310102","03202310103","03202310110","03202310111","03202310112","03202310113","03202310120","03202310121","03202310122","03202310123","03202310130","03202310131","03202310132","03202310133","03202310200","03202310201","03202310202","03202310203","03202310210","03202310211","03202310212","03202310213","03202310300","03202310301","03202310310","03202310311","03202310312","03202310313","03202310321","03202310323","03202310330","03202310331","03202310332","03202310333","03202311000","03202311002","03202311020","03202311022","03202311200","03202311202","03202311220","03202311222","03202312100","03202312101","03202312102","03202312103","03202312110","03202312111","03202312112","03202312113","03202312121","03202312123","03202312130","03202312131","03202312132","03202312133","03202313000","03202313002","03311001130","03311001131","03311001132","03311001133","03311001313","03311001331","03311003101","03311003103","03311003110","03311003112","03311003232","03311003233","03311003322","03311003323","03311010202","03311010220","03311011111","03311013031","03311013033","03311013222","03311013233","03311013322","03311021001","03311021003","03311021010","03311021011","03311021012","03311021013","03311021031","03311021100","03311021101","03311021102","03311021103","03311021120","03311021121","03311032210","03311032211","03311032212","03311032213","03311033022","03311033103","03311033112","03311033120","03311033121","03311033123","03311033130","03311033131","03311033132","03311033133","03311033231","03311033233","03311033320","03311033321","03311033322","03311033323","03311100000","03311100121","03311100322","03311101000","03311101012","03311101013","03311101020","03311101021","03311101022","03311101023","03311101030","03311101031","03311101032","03311101033","03311101120","03311101121","03311101122","03311101123","03311101130","03311101201","03311101203","03311101210","03311101211","03311101212","03311101213","03311101222","03311101223","03311101230","03311101231","03311101233","03311101300","03311101301","03311101302","03311101303","03311101320","03311103000","03311103001","03311103221","03311103223","03311103230","03311103232","03311110231","03311110233","03311110320","03311110322","03311111201","03311111203","03311111210","03311111220","03311111221","03311111222","03311111223","03311111232","03311111333","03311112131","03311112133","03311112321","03311112323","03311113000","03311113001","03311113002","03311113003","03311113010","03311113011","03311113012","03311113013","03311113020","03311113021","03311113022","03311113030","03311113031","03311113032","03311113033","03311113100","03311113101","03311113102","03311113103","03311113110","03311113112","03311113113","03311113120","03311113121","03311113122","03311113123","03311113130","03311113132","03311113203","03311113210","03311113211","03311113212","03311113213","03311113221","03311113230","03311113231","03311113233","03311113300","03311113301","03311113302","03311113303","03311113310","03311113312","03311113320","03311113321","03311113322","03311113323","03311113330","03311113331","03311113332","03311113333","03311120231","03311120233","03311120320","03311120321","03311120322","03311120323","03311121211","03311121212","03311121213","03311121232","03311122033","03311122112","03311122113","03311122120","03311122121","03311122122","03311122123","03311122130","03311122131","03311122132","03311122133","03311122203","03311122210","03311122211","03311122212","03311122213","03311122221","03311122223","03311122230","03311122231","03311122232","03311122233","03311122300","03311122301","03311122302","03311122303","03311122310","03311122311","03311122312","03311122313","03311122320","03311122321","03311122322","03311122323","03311122330","03311122331","03311122332","03311122333","03311123002","03311123020","03311123032","03311123033","03311123200","03311123202","03311123203","03311123210","03311123211","03311123212","03311123220","03311123221","03311123222","03311123223","03311123230","03311123231","03311123232","03311123233","03311123320","03311123322","03311123331","03311123333","03311131011","03311131031","03311131033","03311131100","03311131101","03311131103","03311131112","03311131113","03311131120","03311131121","03311131122","03311131123","03311131130","03311131131","03311131132","03311131202","03311131203","03311131211","03311131212","03311131213","03311131220","03311131221","03311131230","03311131231","03311131300","03311131301","03311131302","03311131320","03311132110","03311132203","03311132212","03311132220","03311132221","03311132222","03311132223","03311132230","03311133001","03311133003","03311133010","03311133012","03311211011","03311211100","03311211102","03311211111","03311211113","03311300000","03311300001","03311300002","03311300003","03311300010","03311300011","03311300012","03311300013","03311300020","03311300021","03311300022","03311300023","03311300030","03311300100","03311300101","03311300102","03311300103","03311300110","03312120230","03312120231","03312120233","03312122002","03312122003","03312122113","03312122131","03312122133","03312123000","03312123002","03312123020","03312123022","03312130032","03312130033","03312130210","10223033301","10223033303","10223033310","10223033312","10223033321","10223033323","10223033330","10223033332","10223300031","10223300032","10223300033","10223300210","10223300211","10232232221","10232232223","10232232230","10232232231","10232232232","10232232233","12000313012","12000313013","12000313030","12000313031","12000313102","12000320212","12000320213","12000320230","12000320231","12000320302","12000320320","12000321002","12000321003","12000321020","12000321021","12001113013","12001113031","12001113122","12001113123","12001113132","12001113133","12001113300","12001113301","12001113302","12001113303","12001113310","12001113311","12001113312","12001113313","12001130332","12001130333","12001131222","12001132110","12001132111","12001132113","12001133000","12001212211","12001212213","12001303030","12001303032","12001303033","12001310032","12001310033","12001310122","12001310210","12001310211","12001310212","12001310213","12001310300","12001310302","12001313201","12001313203","12001313210","12001313211","12001313212","12001313213","12001313230","12001313231","12001320203","12001320212","12001320213","12001320221","12001320230","12001320231","12001320232","12001320233","12002013301","12002013302","12002013303","12002013310","12002013311","12002013312","12002013313","12002013320","12002013321","12002013322","12002013323","12002013330","12002013331","12002013332","12002013333","12002031101","12002031110","12002031111","12002031112","12002031113","12002033101","12002033103","12002033110","12002033112","12002033121","12002033130","12002033313","12002033331","12002033333","12002102202","12002102220","12002111322","12002111323","12002113100","12002113101","12002113102","12002113103","12002113110","12002113112","12002113113","12002113120","12002113121","12002122202","12002122203","12002122220","12002122221","12002122222","12002122223","12002130330","12002130331","12002130332","12002130333","12002131010","12002131012","12002131023","12002131031","12002131032","12002131033","12002131103","12002131120","12002131121","12002131122","12002131123","12002131130","12002131131","12002131132","12002131133","12002131201","12002131202","12002131203","12002131210","12002131211","12002131212","12002131213","12002131221","12002131230","12002131231","12002131300","12002131301","12002131302","12002131303","12002131310","12002131311","12002131312","12002131320","12002131321","12002131323","12002131330","12002132132","12002132133","12002132303","12002132310","12002132311","12002132312","12002132313","12002132321","12002132330","12002132331","12002133023","12002133030","12002133031","12002133032","12002133033","12002133121","12002133123","12002133130","12002133131","12002133132","12002133133","12002133201","12002133202","12002133203","12002133210","12002133211","12002133212","12002133213","12002133220","12002133221","12002133301","12002133303","12002133310","12002133311","12002133312","12002133313","12002133321","12002133330","12002133331","12002300000","12002300001","12002301302","12002301303","12002301312","12002301313","12002301320","12002301321","12002301322","12002301323","12002301330","12002301331","12002301332","12002301333","12002303100","12002303101","12002303110","12002310011","12002310012","12002310013","12002310023","12002310030","12002310031","12002310032","12002310033","12002310100","12002310101","12002310102","12002310103","12002310120","12002310200","12002310201","12002310202","12002310203","12002310210","12002310220","12002330131","12002330133","12002331020","12002331021","12002331022","12002331023","12002332032","12002332033","12002332123","12002332132","12002332210","12002332211","12002332301","12002332310","12002332320","12002332322","12002332323","12002332331","12002332333","12002333000","12002333001","12002333002","12002333003","12002333023","12002333032","12002333201","12002333210","12002333220","12002333222","12003000200","12003000201","12003000202","12003000203","12003013022","12003013023","12003013032","12003013200","12003013201","12003013210","12003020020","12003020022","12003022000","12003022002","12003022020","12003022022","12003022200","12003023102","12003023103","12003023120","12003023121","12003031321","12003031323","12003031330","12003031332","12003032112","12003032113","12003032121","12003032123","12003032130","12003032131","12003032132","12003032133","12003033100","12003033101","12003033102","12003033103","12003033110","12003033112","12003033113","12003033120","12003033121","12003033130","12003033131","12003102021","12003102023","12003102030","12003102032","12003111013","12003111102","12003111120","12003111203","12003111210","12003111212","12003111213","12003111221","12003111230","12003111231","12003113300","12003113301","12003113302","12003113303","12003113310","12003113311","12003113312","12003113313","12003113320","12003113321","12003113330","12003113331","12003120033","12003120122","12003120123","12003120211","12003120213","12003120300","12003120301","12003120302","12003120303","12003120323","12003120332","12003120333","12003122033","12003122100","12003122101","12003122102","12003122103","12003122110","12003122111","12003122112","12003122113","12003122120","12003122121","12003122122","12003122123","12003122130","12003122131","12003122132","12003122133","12003122211","12003122300","12003122301","12003122310","12003122311","12003122321","12003122323","12003122330","12003122332","12003123002","12003123020","12003123022","12003123023","12003123200","12003123201","12003130000","12003130001","12003130002","12003130003","12003130021","12003200211","12003200213","12003200300","12003200301","12003200302","12003200303","12003200310","12003200312","12003200321","12003200330","12003201132","12003201133","12003201310","12003201311","12003201312","12003201313","12003202030","12003202031","12003202032","12003202033","12003202120","12003202122","12003202123","12003202210","12003202211","12003202213","12003202231","12003202300","12003202301","12003202302","12003202303","12003202320","12003202321","12003203022","12003203023","12003203032","12003203131","12003203133","12003203200","12003203201","12003203210","12003203311","12003210133","12003210311","12003210313","12003211012","12003211013","12003211022","12003211023","12003211030","12003211031","12003211033","12003211102","12003211103","12003211120","12003211121","12003211122","12003211200","12003211201","12003211202","12003211203","12003212001","12003212002","12003212003","12003212010","12003212012","12003212020","12003212021","12003212022","12003212023","12003212200","12003212201","12003220103","12003220112","12003220121","12003220130","12003221220","12003221221","12003221222","12003221223","12003222310","12003222311","12003222312","12003222313","12003222321","12003222323","12003222330","12003222331","12003222332","12003222333","12003223200","12003223202","12003223220","12003223222","12003223313","12003230033","12003230122","12003230211","12003230213","12003230300","12003230302","12003231302","12003231303","12003231320","12003231321","12003231322","12003231323","12003232200","12003232202","12003232220","12003233022","12003233023","12003233200","12003233201","12003302311","12003302313","12003303200","12003303202","12010010001","12010010003","12010010010","12010010011","12010010012","12010010013","12010021133","12010021311","12010030022","12010030023","12010030032","12010030200","12010030201","12010030202","12010030203","12010030210","12010030212","12010033302","12010033303","12010033320","12010033321","12010033322","12010033323","12010033330","12010033332","12010200032","12010200033","12010200122","12010200210","12010200211","12010200300","12010211101","12010211110","12010211230","12010211231","12010211232","12010211233","12010213010","12010213011","12010213012","12010213013","12010213321","12010213322","12010213323","12010213330","12010213332","12010230203","12010230212","12010230221","12010230222","12010230223","12010230230","12010230232","12010230233","12010231100","12010231101","12010231102","12010231103","12010231110","12010231112","12010232000","12010232001","12010232003","12010232010","12010232011","12010232012","12010232013","12010232020","12010232021","12010232022","12010232023","12010232030","12010232031","12010232032","12010321020","12010321021","12010321022","12010321023","12010321032","12010321200","12010321201","12010321203","12010321210","12010321212","12012000101","12012000103","12012000110","12012000111","12012000112","12012000113","12012000121","12012000130","12012000131","12012000132","12012000133","12012000310","12012000311","12012001000","12012001001","12012001002","12012001003","12012001020","12012001021","12012001022","12012001230","12012001231","12012001232","12012001233","12012002202","12012002211","12012002212","12012002213","12012002220","12012002230","12012002231","12012002233","12012002300","12012002302","12012002303","12012002312","12012002320","12012002321","12012002322","12012002323","12012002330","12012002331","12012002332","12012003230","12012003231","12012003232","12012003233","12012003302","12012003303","12012003312","12012003313","12012003320","12012003321","12012003322","12012003323","12012003330","12012003331","12012003332","12012003333","12012010221","12012010222","12012010223","12012010230","12012010232","12012011331","12012012203","12012012212","12012012221","12012012222","12012012223","12012012230","12012012232","12012013200","12012013201","12012013202","12012013203","12012013220","12012013221","12012020003","12012020010","12012020011","12012020012","12012020013","12012020021","12012020030","12012020031","12012020100","12012020101","12012020110","12012021010","12012021011","12012021013","12012021100","12012021101","12012021102","12012021103","12012021110","12012021111","12012021112","12012021113","12012021120","12012023011","12012023013","12012023031","12012023100","12012023101","12012023102","12012023103","12012023110","12012023112","12012023120","12012023121","12012030000","12012100202","12012100203","12012100220","12012100221","12012100222","12012220131","12012220133","12012220311","12012221020","12012221021","12012221022","12012221023","12012221030","12012221032","12012221200","12012221201","12012221202","12012221203","12012221210","12012221212","12020020202","12020020220","12020022203","12020022212","12020022312","12020022313","12020022330","12020022331","12020022332","12020022333","12020023202","12020023220","12020023221","12020023222","12020023223","12020023230","12020023232","12020033032","12020033033","12020033213","12020033223","12020033230","12020033231","12020033232","12020033233","12020033320","12020033321","12020033322","12020033332","12020033333","12020101131","12020101133","12020110020","12020110022","12020110101","12020110102","12020110103","12020110110","12020110111","12020110112","12020110113","12020110121","12020110123","12020110130","12020110131","12020110132","12020110133","12020111030","12020111031","12020111032","12020111033","12020111120","12020111122","12020111210","12020111211","12020112103","12020112112","12020112121","12020112130","12020113203","12020113212","12020113221","12020113223","12020113230","12020113232","12020121222","12020121223","12020121303","12020121312","12020121321","12020121330","12020122000","12020122001","12020122002","12020122003","12020122012","12020122013","12020122030","12020122031","12020122100","12020122101","12020122102","12020122103","12020122121","12020122123","12020122232","12020122233","12020122302","12020122303","12020122311","12020122312","12020122313","12020122321","12020122323","12020123000","12020123001","12020123112","12020123113","12020123130","12020123131","12020123223","12020130020","12020130021","12020130023","12020130202","12020130203","12020130220","12020130221","12020130311","12020130313","12020130331","12020130333","12020131000","12020131001","12020131002","12020131003","12020131022","12020131023","12020131120","12020131121","12020131122","12020131123","12020131200","12020131201","12020131202","12020131203","12020131210","12020131212","12020131220","12020131221","12020131222","12020131223","12020131230","12020132003","12020132012","12020132020","12020132021","12020132022","12020132023","12020132030","12020132031","12020132032","12020132033","12020133010","12020133011","12020133012","12020133013","12020133220","12020133221","12020133222","12020133223","12020200002","12020200003","12020200020","12020200021","12020200022","12020200023","12020200132","12020200133","12020200202","12020200203","12020200220","12020200221","12020200222","12020200223","12020200230","12020200231","12020200232","12020200233","12020200300","12020200301","12020200302","12020200303","12020200310","12020200311","12020200312","12020200320","12020200321","12020200322","12020200330","12020200331","12020201001","12020201010","12020202000","12020202001","12020202002","12020202003","12020202010","12020202011","12020202012","12020202013","12020202020","12020202021","12020202022","12020202023","12020202030","12020202031","12020202032","12020202033","12020202100","12020202101","12020202102","12020202113","12020202120","12020202121","12020202122","12020202123","12020202130","12020202131","12020202132","12020202133","12020202201","12020202223","12020202230","12020202231","12020202232","12020202233","12020202300","12020202301","12020202303","12020202310","12020202311","12020202312","12020202320","12020202322","12020203002","12020203020","12020203212","12020203213","12020203230","12020203231","12020203302","12020203303","12020210133","12020210313","12020211001","12020211003","12020211010","12020211011","12020211012","12020211013","12020211020","12020211021","12020211022","12020211023","12020211030","12020211031","12020211032","12020211033","12020211100","12020211101","12020211102","12020211103","12020211110","12020211111","12020211112","12020211113","12020211120","12020211121","12020211122","12020211123","12020211130","12020211131","12020211132","12020211133","12020211200","12020211201","12020211202","12020211203","12020211210","12020211211","12020211212","12020211213","12020211220","12020211221","12020211230","12020211231","12020211232","12020211233","12020211300","12020211301","12020211311","12020211322","12020211323","12020211331","12020212022","12020212023","12020212032","12020212121","12020212123","12020212130","12020212132","12020212133","12020212210","12020212223","12020212230","12020212231","12020212232","12020212233","12020212300","12020212301","12020212302","12020212303","12020212311","12020212312","12020212313","12020212330","12020212331","12020212333","12020213000","12020213001","12020213002","12020213003","12020213010","12020213011","12020213022","12020213023","12020213032","12020213100","12020213101","12020213102","12020213103","12020213110","12020213111","12020213112","12020213113","12020213130","12020213131","12020213200","12020213201","12020213202","12020213203","12020213212","12020213213","12020213220","12020213221","12020213222","12020213223","12020213230","12020213231","12020213232","12020213233","12020213312","12020213313","12020213330","12020213331","12020213333","12020220001","12020221322","12020221323","12020222020","12020222021","12020222022","12020222023","12020222121","12020222123","12020222130","12020222132","12020222301","12020222310","12020223033","12020223122","12020223233","12020223322","12020223323","12020223332","12020230000","12020230001","12020230002","12020230003","12020230010","12020230011","12020230012","12020230013","12020230111","12020230113","12020230130","12020230131","12020230232","12020230233","12020231000","12020231001","12020231002","12020231020","12020231021","12020231022","12020231023","12020231030","12020231032","12020231110","12020231111","12020231112","12020231113","12020232010","12020232011","12020232310","12020232311","12020232312","12020232313","12020233010","12020233011","12020233012","12020233013","12020300000","12020300002","12020300010","12020300011","12020300012","12020300013","12020300021","12020300022","12020300023","12020300030","12020300031","12020300032","12020300101","12020300103","12020300110","12020300111","12020300112","12020300113","12020300130","12020300131","12020300200","12020300201","12020300202","12020300203","12020300210","12020300220","12020300221","12020300303","12020300312","12020300321","12020300323","12020300330","12020300331","12020300332","12020300333","12020301000","12020301003","12020301012","12020301013","12020301021","12020301030","12020301031","12020301102","12020301103","12020301112","12020301120","12020301121","12020301130","12020301210","12020301211","12020301212","12020301213","12020301220","12020301221","12020301222","12020301223","12020301230","12020301231","12020301232","12020301233","12020301300","12020301302","12020301312","12020301313","12020301320","12020301321","12020301322","12020301323","12020301333","12020302000","12020302002","12020302012","12020302013","12020302030","12020302031","12020302033","12020302100","12020302101","12020302102","12020302103","12020302110","12020302111","12020302112","12020302113","12020302120","12020302121","12020302122","12020302123","12020302130","12020302131","12020302132","12020302133","12020302202","12020302203","12020302211","12020302212","12020302220","12020302221","12020302222","12020302230","12020302231","12020302232","12020302233","12020302300","12020302301","12020302310","12020302311","12020302312","12020302313","12020302320","12020302321","12020302322","12020302323","12020302330","12020302331","12020302332","12020302333","12020303000","12020303001","12020303002","12020303003","12020303010","12020303011","12020303012","12020303013","12020303020","12020303021","12020303022","12020303023","12020303030","12020303031","12020303032","12020303033","12020303100","12020303102","12020303103","12020303112","12020303121","12020303130","12020303200","12020303201","12020303202","12020303203","12020303210","12020303211","12020303212","12020303213","12020303220","12020303221","12020303222","12020303223","12020303303","12020303320","12020303321","12020303322","12020303323","12020303330","12020310012","12020310013","12020310022","12020310023","12020310030","12020310110","12020310111","12020310112","12020310113","12020310123","12020310200","12020310201","12020310210","12020310212","12020310221","12020310223","12020310230","12020310232","12020311000","12020311002","12020311013","12020311031","12020311032","12020311033","12020311100","12020311101","12020311102","12020311120","12020311122","12020311210","12020311211","12020312121","12020312123","12020312130","12020312132","12020312221","12020312223","12020312230","12020312232","12020313000","12020313002","12020313310","12020313312","12020313313","12020313330","12020313331","12020320000","12020320002","12020320003","12020320010","12020320011","12020320100","12020320101","12020320110","12020320111","12020320113","12020321000","12020321001","12020321002","12020321003","12020321021","12020321030","12020321031","12020321032","12020321033","12020321113","12020321211","12020321311","12020321312","12020321313","12020321330","12020321331","12020321332","12020321333","12020322012","12020322013","12020322030","12020322031","12020322101","12020322103","12020322110","12020322212","12020322213","12020322230","12020322231","12020322311","12020322313","12020323022","12020323023","12020323033","12020323113","12020323122","12020323131","12020323132","12020323133","12020323200","12020323201","12020323202","12020323310","12020323311","12020323331","12020323333","12020330001","12020330002","12020330003","12020330112","12020330113","12020330130","12020330131","12020330200","12020330201","12020330202","12020330203","12020330210","12020330212","12020330213","12020330220","12020330221","12020330222","12020330223","12020330230","12020330231","12020330320","12020331203","12020331212","12020331221","12020331222","12020331230","12020331323","12020331332","12020332002","12020332020","12020332021","12020332022","12020332023","12020332200","12020332201","12020332220","12020332222","12020332223","12020332233","12020332302","12020332320","12020332322","12020333000","12020333112","12020333121","12020333123","12020333130","12020333131","12020333132","12020333133","12020333310","12020333311","12021000022","12021000023","12021000100","12021000101","12021000102","12021000103","12021000110","12021000111","12021000112","12021000113","12021000120","12021000121","12021000122","12021000123","12021000130","12021000131","12021000200","12021000201","12021000300","12021000301","12021001000","12021001001","12021001002","12021001003","12021001010","12021001011","12021001012","12021001013","12021001020","12021001021","12021001023","12021001030","12021001032","12021002322","12021002323","12021003203","12021003212","12021003221","12021003223","12021003230","12021003232","12021003301","12021003303","12021003310","12021003321","12021020100","12021020101","12021021011","12021021100","12021021213","12021021231","12021023213","12021023221","12021023223","12021023230","12021023231","12021023232","12021023233","12021023302","12021023320","12021023321","12021023322","12021023323","12021023330","12021023332","12021200021","12021200023","12021200030","12021200032","12021200110","12021200111","12021200112","12021200113","12021200210","12021200302","12021200303","12021200312","12021200320","12021200321","12021200330","12021201001","12021201003","12021201010","12021201011","12021201012","12021201013","12021201100","12021201101","12021201102","12021201103","12021201110","12021202011","12021202013","12021202100","12021202102","12021202103","12021202112","12021202113","12021202120","12021202121","12021202123","12021202130","12021202131","12021202132","12021202202","12021202203","12021202212","12021202220","12021202221","12021202230","12021202320","12021202321","12021202322","12021202323","12021202332","12021202333","12021203221","12021203222","12021203223","12021203301","12021203303","12021203310","12021203312","12021210010","12021210012","12021210221","12021210223","12021210230","12021212123","12021212300","12021212301","12021220102","12021220103","12021220110","12021220111","12021220120","12021220121","12021220221","12021220223","12021220230","12021220232","12021222320","12021222321","12021222322","12021222323","12022000222","12022000223","12022001011","12022001013","12022001100","12022001101","12022001102","12022001103","12022001110","12022001112","12022002000","12022002001","12022002211","12022002213","12022002300","12022002302","12022003010","12022003011","12022003012","12022003013","12022003323","12022010312","12022010313","12022013302","12022013303","12022013320","12022013321","12022020023","12022020032","12022020201","12022020210","12022021003","12022021021","12022022112","12022022113","12022022130","12022022131","12022031013","12022031031","12022032003","12022032012","12022032021","12022032030","12022033013","12022033030","12022033031","12022033033","12022033102","12022033120","12022033122","12022033200","12022033201","12022033202","12022033203","12022100012","12022100013","12022100030","12022100031","12022101031","12022101033","12022101110","12022101112","12022101113","12022101120","12022101122","12022101123","12022101221","12022101223","12022101230","12022101232","12022101300","12022101301","12022101322","12022101333","12022102130","12022102131","12022102132","12022102133","12022102212","12022102221","12022102230","12022103003","12022103012","12022103021","12022103030","12022103031","12022103032","12022103033","12022103100","12022103210","12022103211","12022103311","12022103313","12022103332","12022103333","12022110001","12022110011","12022110012","12022110013","12022110030","12022110031","12022110033","12022110100","12022110101","12022110102","12022110103","12022110111","12022110112","12022110113","12022110120","12022110121","12022110122","12022110130","12022110131","12022110222","12022111000","12022111001","12022111002","12022111003","12022111012","12022111021","12022111030","12022111200","12022111201","12022111301","12022111303","12022111310","12022111312","12022112023","12022112031","12022112032","12022112033","12022112112","12022112113","12022112120","12022112121","12022112122","12022112123","12022112130","12022112132","12022112200","12022112201","12022112202","12022112203","12022112210","12022112220","12022112221","12022112300","12022112301","12022112302","12022112303","12022113012","12022113030","12022113331","12022120123","12022120230","12022120231","12022120232","12022120233","12022120300","12022120301","12022120310","12022121001","12022121003","12022121010","12022121012","12022121110","12022121111","12022122023","12022122201","12022122210","12022122220","12022122222","12022122223","12022123123","12022123132","12022123232","12022123233","12022123301","12022123310","12022123313","12022123322","12022123331","12022130113","12022130131","12022130333","12022131002","12022131020","12022131222","12022131333","12022132000","12022132001","12022132002","12022132003","12022132012","12022132013","12022132021","12022132030","12022132031","12022132032","12022132102","12022132103","12022132120","12022132121","12022132122","12022132123","12022132130","12022132131","12022132132","12022132133","12022132200","12022132201","12022132202","12022132203","12022132210","12022132211","12022132212","12022132213","12022132220","12022132230","12022132231","12022132233","12022132300","12022132301","12022132302","12022132303","12022132312","12022132320","12022132321","12022132322","12022132330","12022133023","12022133032","12022133111","12022133121","12022133122","12022133123","12022133130","12022133132","12022133133","12022133201","12022133210","12022133222","12022133223","12022133301","12022133303","12022133310","12022133311","12022133312","12022133313","12022133322","12022133323","12022133332","12022202111","12022202133","12022202311","12022203022","12022203200","12022211011","12022211013","12022211100","12022211102","12022212123","12022212132","12022212212","12022212230","12022212301","12022212310","12022213002","12022213003","12022213010","12022213011","12022213012","12022213013","12022213020","12022213021","12022213030","12022213032","12022213310","12022213311","12022213312","12022213313","12022213330","12022213331","12022222031","12022222033","12022222122","12022222330","12022222331","12022222332","12022222333","12022223012","12022223030","12022223031","12022223033","12022223111","12022223113","12022223120","12022223121","12022223122","12022223123","12022223132","12022223203","12022223210","12022223211","12022223212","12022223213","12022223220","12022223221","12022223222","12022223230","12022223231","12022223300","12022223301","12022223302","12022223310","12022223320","12022230020","12022230022","12022232000","12022232002","12022232003","12022232021","12022301010","12022301011","12022301013","12022301100","12022301102","12022301112","12022301113","12022301212","12022301213","12022301331","12022302133","12022302311","12022303020","12022303021","12022303022","12022303023","12022303030","12022303031","12022303102","12022303103","12022303120","12022303200","12022310000","12022310001","12022310002","12022310003","12022310110","12022310111","12022310203","12022310210","12022310211","12022310212","12022310213","12022310220","12022310333","12022311012","12022311013","12022311021","12022311030","12022311031","12022311032","12022311033","12022311101","12022311110","12022311120","12022311121","12022311122","12022311123","12022311130","12022311132","12022311222","12022311223","12022311301","12022311310","12022311311","12022312111","12022313000","12022313001","12022313003","12022313010","12022313012","12022313013","12022313030","12022313031","12022313032","12022313033","12022313101","12022313102","12022313103","12022313110","12022313112","12022313113","12022313120","12022313121","12022313123","12022313130","12022313131","12022313132","12022313133","12022313210","12022331112","12022331113","12022331130","12022331131","12022332332","12023000002","12023000003","12023000120","12023000121","12023000122","12023000123","12023000203","12023000212","12023000220","12023000221","12023000222","12023000223","12023000230","12023000232","12023001031","12023001033","12023001120","12023001121","12023001122","12023001123","12023001331","12023002100","12023002101","12023002102","12023002103","12023002202","12023002203","12023002220","12023002221","12023003003","12023003012","12023010201","12023010202","12023010203","12023010212","12023010220","12023010221","12023011202","12023011203","12023011213","12023011220","12023011221","12023011231","12023011233","12023011300","12023011301","12023011302","12023011303","12023011312","12023011320","12023011321","12023011322","12023011323","12023011330","12023011332","12023012331","12023012333","12023013222","12023020200","12023020201","12023020202","12023021132","12023021133","12023021232","12023021233","12023021310","12023022022","12023022023","12023022032","12023022111","12023022113","12023022121","12023022123","12023022130","12023022132","12023022200","12023022201","12023022202","12023022210","12023022211","12023022213","12023022232","12023022233","12023022301","12023022302","12023022303","12023022310","12023022311","12023022312","12023022321","12023022323","12023022330","12023022332","12023023000","12023023002","12023023010","12023023011","12023023101","12023023103","12023023121","12023023123","12023023130","12023023132","12023023133","12023030023","12023030032","12023030111","12023031000","12023131220","12023131221","12023131222","12023131223","12023132233","12023132322","12023133002","12023133020","12023133021","12023133022","12023133023","12023200003","12023200010","12023200011","12023200012","12023200021","12023200030","12023200200","12023200201","12023200202","12023200212","12023200213","12023200230","12023200231","12023200301","12023200303","12023200310","12023200312","12023200320","12023200322","12023200323","12023200333","12023202002","12023202020","12023202022","12023202110","12023202111","12023202112","12023202113","12023202131","12023202133","12023202202","12023202210","12023202211","12023202212","12023202213","12023202220","12023202323","12023202332","12023203000","12023203002","12023203003","12023203012","12023203020","12023203021","12023203022","12023203030","12023203122","12023203123","12023203300","12023203301","12023220101","12023220110","12023220133","12023220230","12023220231","12023220232","12023220233","12023220300","12023220301","12023220302","12023220303","12023220311","12023220323","12023220332","12023220333","12023221000","12023221002","12023221022","12023221102","12023221103","12023221112","12023221121","12023221123","12023221130","12023221132","12023221200","12023221201","12023221202","12023221203","12023221213","12023221222","12023221302","12023221303","12023222101","12023222103","12023222110","12023222111","12023222112","12023222113","12023222121","12023222130","12023222131","12023223000","12023223001","12023223002","12023223003","12023223022","12023223023","12023223031","12023223033","12023223120","12023223122","12023223200","12023223201","12023223203","12023230200","12023230201","12023230202","12023230203","12023232022","12023232023","12023232033","12023232131","12023232221","12023232222","12023232223","12023232231","12023232233","12023232320","12023232322","12023233030","12023233032","12023233200","12023233212","12023233230","12023233302","12023233303","12023233320","12023233321","12023233330","12023233331","12023233332","12023233333","12023310011","12023310012","12023310013","12023310023","12023310030","12023310031","12023310032","12023310033","12023310100","12023310101","12023310102","12023310103","12023310120","12023310121","12023310122","12023310123","12023310132","12023310201","12023310210","12023310211","12023310212","12023310213","12023310230","12023310231","12023310300","12023310301","12023310302","12023310303","12023310310","12023310312","12023310320","12023310321","12023310330","12023322220","12023322222","12030000333","12030001222","12030001223","12030002110","12030002111","12030002112","12030002113","12030003000","12030003001","12030003002","12030003003","12030003112","12030003113","12030003130","12030003131","12030003132","12030003133","12030003310","12030003311","12030012002","12030012020","12030012022","12030012200","12032013320","12032013321","12032013322","12032013323","12032020103","12032020112","12032020113","12032020121","12032020130","12032020131","12032023002","12032023003","12032023020","12032023021","12032032021","12032032023","12032032032","12032032201","12032033310","12032033311","12032033312","12032033313","12032033330","12032033331","12032033332","12032033333","12032122200","12032122202","12032200312","12032200313","12032200330","12032200331","12032201202","12032201220","12032210011","12032210013","12032210100","12032210102","12032210122","12032210123","12032210211","12032210213","12032210300","12032210301","12032210302","12032210303","12032210320","12032210321","12032222323","12032222332","12032223220","12032223221","12032223223","12032300230","12032300231","12032300232","12032300233","12032302010","12032302011","12200002222","12200002331","12200002333","12200003130","12200003131","12200003133","12200003220","12200003222","12200010321","12200010323","12200010330","12200010332","12200010333","12200011222","12200012111","12200013000","12200101131","12200101133","12200110002","12200110003","12200110020","12200110021","12200110101","12200110110","12200110222","12200110223","12200110300","12200110301","12200110302","12200110303","12200112000","12200112001","12200112211","12200112213","12200112300","12200112302","12201001111","12201001113","12201010000","12201010001","12201010002","12201010003","12201010010","12201010011","12201010012","12201010013","12201010030","12201010031","12201010100","12201010102","12201010120","12201011021","12201011030","12201011101","12201011103","12201011110","12201011112","12201011130","12201011223","12201011330","12201011332","12201013001","12201013003","12201013010","12201013012","12201013030","12201013032","12201013033","12201013101","12201013103","12201013110","12201013112","12201013113","12201013121","12201013130","12201013131","12201013211","12201013213","12201013231","12201013233","12201013300","12201013320","12201013321","12201013322","12201013323","12201013330","12201013332","12201013333","12201020313","12201020331","12201020332","12201020333","12201021211","12201021213","12201021300","12201021302","12201023113","12201023120","12201023121","12201023122","12201023123","12201023131","12201030313","12201031003","12201031010","12201031011","12201031012","12201031013","12201031022","12201031023","12201031030","12201031032","12201031100","12201031101","12201031110","12201031112","12201031122","12201031123","12201031130","12201031132","12201031200","12201031201","12201031202","12201031203","12201031211","12201031213","12201031220","12201031221","12201031230","12201031231","12201031300","12201031302","12201032001","12201032002","12201032003","12201032103","12201032112","12201032121","12201032132","12201032200","12201032201","12201032203","12201032212","12201032213","12201032230","12201032231","12201032302","12201032310","12201032311","12201032312","12201032313","12201032320","12201100023","12201100032","12201100121","12201100130","12201100132","12201100133","12201100201","12201100210","12201100310","12201100311","12201100312","12201100313","12201102020","12201102022","12201102023","12201102201","12201102203","12201102220","12201102221","12201102222","12201102223","12201102230","12201111313","12201112112","12201112130","12201113031","12201113113","12201113120","12201113131","12201113333","12201131003","12201131033","12201131122","12201131211","12201131300","12201133301","12201133303","12210000021","12210000030","12210000031","12210000032","12210000033","12210000202","12210001010","12210001011","12210002002","12210002020","12210002032","12210002210","12210020130","12210020311","12210020312","12210020313","12210020321","12210020330","12210020331","12210020332","12210020333","12210021200","12210021202","12210021220","12210021222","12210201222","12210203110","12210203111","12210203112","12210203113","13300211201","13300211203","13300211210","13300211211","13300211212","13300211213","13300211221","13300211223","13300211230","13300211231","13300211232","13300211233","13300211302","13300211320","13300211322","13300213001","13300213010","13300213011","31121301200","31121301201","31121301202","31121301203","31121301220","31121301221","31121301222","31121301223","31122312102","31122312103","31122312110","31122312111","31122312112","31122312113","31122312120","31122312121","31122312122","31122312123","31122312130","31122312131","31122312132","31122312133","31122312301","31122312310","31122312311","31122313000","31122313001","31122313002","31122313003","31122313010","31122313012","31122313020","31122313021","31122313023","31122313032","31123013122","31123013123","31123013211","31123013213","31123013231","31123013232","31123013233","31123013300","31123013301","31123013302","31123013303","31123013320","31123021313","31123021331","31123021333","31123023111","31123030202","31123030220","31123030221","31123030222","31123030223","31123031001","31123031003","31123031010","31123031011","31123031012","31123032000","31301002303","31301002312","31301002321","31301002323","31301002330","31301002331","31301002332"],i=false,d=[];
this.Init=function(a){y=a+"/GetBirdsEyeSceneByLocation";z=a+"/GetBirdsEyeSceneById";r=true};this.SetClientToken=function(b){e=b;if(a){a.SetClientToken(e,p)}};this.SetUseOriginTiles=function(a){p=a};this.SetGUID=function(b){m=b;if(a){a.SetGUID(m)}if(typeof VEMap!="undefined"){s=VEMap._GetMapFromGUID(m)}};this.Destroy=function(){e=null;r=false};this.RequestPending=function(){return i};function P(c,d,b){return a.IsValidTile(c,d,b)}function N(b,c,d){return a.GetTileFilename(b,c,d,currentView.mapStyle)}this.GetMiddleTileFilename=function(){return a.GetMiddleTileFilename()};function I(e){if(!a){return 0}var b=new VEPixel(MathRound(originX+offsetX+width/2),MathRound(originY+offsetY+height/2)),f=a.PixelToLatLong(b,e);b.x++;var g=a.PixelToLatLong(b,e),h=Math.sin(DegToRad(f.latitude)),i=Math.sin(DegToRad(g.latitude)),c=earthRadius/2*MathAbs(Math.log((1+h)/(1-h))-Math.log((1+i)/(1-i))),d=earthRadius*MathAbs(DegToRad(f.longitude)-DegToRad(g.longitude));return Math.sqrt(d*d+c*c)}function J(c,b){return a?a.PixelToLatLong(c,b):null}function E(c,d,b){if(a){a.PixelToLatLongAsync(c,d,b)}else{b(null)}}function H(c,b){return a?a.LatLongToPixel(c,b):null}function D(c,d,b){if(a){a.LatLongToPixelAsync(c,d,b)}else{b(null)}}function B(){return 2}function G(a){if(a.zoomLevel>=2){tileLayerManager.SetMarketMaxZoom(2)}if(a.zoomLevel<1){a.SetZoomLevel(1)}else{if(a.zoomLevel>2){a.SetZoomLevel(2)}}}function R(){return a}function Q(){return a.GetBounds()}function O(){return b}function K(){if(!b){return null}var a={};return a}function F(){if(currentView!=null&&!Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)&&currentView.zoomLevel>0){if(currentView.zoomLevel<MapControl.Features.BirdsEyeAtZoomLevel){a=null;h=b;b=false;q()}else{v(currentView.latlong,"North",false,500)}}}var x=false;function v(e,i,t,o,m,f,r,s,p){j();l=t;x=r;n=p;if(!S(e)){a=null;h=b;b=false;q(m);return}k=y;c=[];c.push(new VEParameter("latitude",e.latitude));c.push(new VEParameter("longitude",e.longitude));c.push(new VEParameter("level",20));var d="NoSpin";if(f==Msn.VE.BirdsEyeSearchSpinDirection.ClockwiseSpin){d="CounterclockwiseSpin"
}else{if(f==Msn.VE.BirdsEyeSearchSpinDirection.CounterclockwiseSpin){d="ClockwiseSpin"}}c.push(new VEParameter("spinDirection",'"'+d+'"'));if(i){c.push(new VEParameter("orientation",'"'+i+'"'))}else{c.push(new VEParameter("orientation",'"'+Msn.VE.Orientation.North+'"'))}if(o){g=window.setTimeout(u,o)}else{u(m,s);g=-1}}function L(b){if(a&&a.GetID()==b){return}j();l=true;k=z;c=[];c.push(new VEParameter("sceneId",b));u()}function j(){try{if(g!=-1){window.clearTimeout(g)}}catch(a){}g=-1}function u(b,d){j();if(!k){return}i=true;if(e){c.push(new VEParameter(Msn.VE.API.Constants.clienttoken,e))}function a(a){if(typeof w=="function"&&r){w(a,b,d)}}JSONRequestInvoke(k,c,a)}function w(c,f,d){if(s){s.__HandleAuthentication(c)}h=b;t=a;a=null;b=false;if(c!=null){if(c.Scene){a=M(c.Scene,d);if(Msn.VE.API&&e){a.SetClientToken(e,p)}a.SetGUID(m);b=true}}q(f,d)}function M(a,b){switch(a.O){case 0:a.O=Msn.VE.Orientation.North;break;case 2:a.O=Msn.VE.Orientation.East;break;case 4:a.O=Msn.VE.Orientation.South;break;case 6:a.O=Msn.VE.Orientation.West}return new Msn.VE.ObliqueScene(a.S,a.Q,a.RI,a.O,a.L,null,a.Fcx,a.Fcy,[[a.QA,a.QB,a.QC],[a.QD,a.QE,a.QF],[a.QG,a.QH,a.QI]],[[a.XA,a.XB,a.XC],[a.XD,a.XE,a.XF],[a.XG,a.XH,a.XI]],b)}function q(e){i=false;if(typeof e=="function"){if(b){e(a)}else{e(null)}}if(l){l=false;if(b){var c=preferredView.MakeCopy();if(!Msn.VE.MapStyle.IsViewOblique(c.mapStyle)){c.SetZoomLevel(1);c.SetCenterLatLong((new Msn.VE.LatLong).Copy(preferredView.latlong))}var f=Msn.VE.MapStyle.IsViewOblique(c.mapStyle)?c.mapStyle:obliqueStyle;c.SetMapStyle(f,a.GetID(),a.GetOrientation());SetView(c);Fire("onobliquechange")}else{if(x&&t){a=t;b=true;Fire("obliquerequestunavailable")}else{var c=preferredView.MakeCopy();c.SetMapStyle(lastOrthoMapStyle);if(c.GetViewType()!="latlongRect"){c.SetZoomLevel(lastOrthoZoomLevel)}SetView(c);Fire("onendmapstyleoblique");Fire("onerror",CreateEvent(currentView.latlong,currentView.zoomLevel,L_ObliqueModeImageNotAvailable_Text))}}}if(!n){if(h!=b){if(b){Fire("onobliqueenter")}else{Fire("onobliqueleave")
}}if(d.length>0){A(b)}}n=false}function S(a){if(!a||!f||f.length==0){return false}var c=orthoMode.LatLongToPixel(a,f[0].length),b=VEPixelToQuadKey(c,f[0].length);return o(b,0,f.length-1)}function o(a,d,c){if(c<d){return false}var b=MathFloor((d+c)/2);if(f[b]==a){return true}if(a<f[b]){return o(a,d,b-1)}return o(a,b+1,c)}function C(a,c){if(i){if(d[a]!=true){var e=d.push({callbackName:a,callback:c});d[a]=true}}else{if(typeof c=="function"){c(b)}}}function A(c){var e=d.length;for(var b=0;b<e;b++){var a=d.shift();delete d[a.callbackName];if(typeof a.callback=="function"){a.callback(c)}}}this.IsValidTile=P;this.GetFilename=N;this.MetersPerPixel=I;this.PixelToLatLong=J;this.PixelToLatLongAsync=E;this.LatLongToPixel=H;this.LatLongToPixelAsync=D;this.GetBounds=Q;this.ValidateZoomLevel=G;this.IsAvailable=O;this.UpdateAvailability=F;this.CancelRequest=j;this.GetEventInfo=K;this.GetScene=R;this.RequestSceneAtLatLong=v;this.RequestScene=L;this.GetCurrentMaxZoomLevel=B;this.GetObliqueAvailability=C}function OrthoMode(){var a=[new Msn.VE.Bounds(1,17,0,0,2,2),new Msn.VE.Bounds(18,19,12379,112260,20388,119266),new Msn.VE.Bounds(18,19,80099,115425,85051,119645),new Msn.VE.Bounds(18,19,220032,93184,240640,113792),new Msn.VE.Bounds(18,19,32768,81920,94208,98304),new Msn.VE.Bounds(18,19,38912,98304,80896,106496),new Msn.VE.Bounds(18,19,44544,106496,77824,113408),new Msn.VE.Bounds(18,19,49152,113408,68096,122880),new Msn.VE.Bounds(18,19,122880,71680,133120,103424),new Msn.VE.Bounds(18,19,133120,59392,142848,103424),new Msn.VE.Bounds(18,19,142848,55296,155648,103424)];this.Init=function(){};this.Destroy=function(){};function j(a,b,d){var c=1<<d;return a>=0&&b>=0&&a<c&&b<c}function i(c,d,f,b){var a=new VETileContext;a.XPos=c;a.YPos=d;a.ZoomLevel=f;a.MapStyle=currentView.mapStyle;var e=b.GetTilePath(a);return e}function b(a){return earthCircumference/((1<<a)*tileSize)}function h(d,e){var c=b(e),f=d.x*c-projectionOffset,g=projectionOffset-d.y*c,a=new Msn.VE.LatLong;a.latitude=RadToDeg(Math.PI/2-2*Math.atan(Math.exp(-g/earthRadius)));a.longitude=RadToDeg(f/earthRadius);
return a}function e(d,g,e){var b=[];for(var a=0;a<d.length;++a){var c=this.PixelToLatLong(d[a],g);if(Msn.VE.API!=null){var f=new VELatLong(c.latitude,c.longitude);b[a]=f}else{b[a]=c}}if(e){e(b)}}function g(d,f){var e=Math.sin(DegToRad(d.latitude)),g=earthRadius*DegToRad(d.longitude),h=earthRadius/2*Math.log((1+e)/(1-e)),c=b(f),a=new VEPixel;a.x=(projectionOffset+g)/c;a.y=(projectionOffset-h)/c;return a}function d(b,e,d){var c=[];for(var a=0;a<b.length;++a){c[a]=this.LatLongToPixel(b[a],e)}if(d){d(c)}}function k(c){if(c==undefined){c=currentView}var d=c.zoomLevel,f=c.center.x+mapCenterOffset.x,g=c.center.y+mapCenterOffset.y;for(var b=0;b<a.length;b++){var h=d-a[b].z1,e=tileSize*Math.pow(2,h),k=a[b].x1*e,i=a[b].x2*e,l=a[b].y1*e,j=a[b].y2*e;if(f>=k&&f<=i&&g>=l&&g<=j){if(d>=a[b].z1&&d<=a[b].z2||d<=tileLayerManager.GetMaxTileZoom()){return a[b]}}}return a[0]}function c(e){var f=e.center.x+mapCenterOffset.x,g=e.center.y+mapCenterOffset.y,c=0;for(var b=0;b<a.length;b++){var d=tileSize*Math.pow(2,e.zoomLevel-a[b].z1),j=a[b].x1*d,h=a[b].x2*d,k=a[b].y1*d,i=a[b].y2*d;if(f>=j&&f<=h&&g>=k&&g<=i){c=Math.max(c,a[b].z2)}}c=Math.max(c,tileLayerManager.GetMaxTileZoom());return c}function f(d){var f=d.center.x+mapCenterOffset.x,g=d.center.y+mapCenterOffset.y,c=0;for(var b=0;b<a.length;b++){var e=tileSize*Math.pow(2,d.zoomLevel-a[b].z1),j=a[b].x1*e,h=a[b].x2*e,k=a[b].y1*e,i=a[b].y2*e;if(f>=j&&f<=h&&g>=k&&g<=i){c=0;if(a[b].z2>=d.zoomLevel){tileLayerManager.SetMarketMaxZoom(a[b].z2);return}else{if(a[b].z2>c){tileLayerManager.SetMarketMaxZoom(a[b].z2);c=a[b].z2;if(c<tileLayerManager.GetMaxTileZoom()){if(d.zoomLevel<=tileLayerManager.GetMaxTileZoom()){c=d.zoomLevel}else{c=tileLayerManager.GetMaxTileZoom()}}}}}}d.SetZoomLevel(c)}this.IsValidTile=j;this.GetFilename=i;this.MetersPerPixel=b;this.PixelToLatLong=h;this.PixelToLatLongAsync=e;this.LatLongToPixel=g;this.LatLongToPixelAsync=d;this.GetBounds=k;this.ValidateZoomLevel=f;this.GetCurrentMaxZoomLevel=c}function ThreeDMode(){var internalOrthoMode=new OrthoMode,bounds=[new Msn.VE.Bounds(1,17,0,0,2,2),new Msn.VE.Bounds(18,19,12379,112260,20388,119266),new Msn.VE.Bounds(18,19,80099,115425,85051,119645),new Msn.VE.Bounds(18,19,220032,93184,240640,113792),new Msn.VE.Bounds(18,19,32768,81920,94208,98304),new Msn.VE.Bounds(18,19,38912,98304,80896,106496),new Msn.VE.Bounds(18,19,44544,106496,77824,113408),new Msn.VE.Bounds(18,19,49152,113408,68096,122880),new Msn.VE.Bounds(18,19,122880,71680,133120,103424),new Msn.VE.Bounds(18,19,133120,59392,142848,103424),new Msn.VE.Bounds(18,19,142848,55296,155648,103424)];
this.Init=function(){};this.Destroy=function(){};function IsValidTile(b,c,a){return internalOrthoMode.IsValidTile(b,c,a)}function GetFilename(a,b,d,c){return internalOrthoMode.GetFilename(a,b,d,c)}function MetersPerPixel(a){return internalOrthoMode.MetersPerPixel(a)}function PixelToLatLong(pixel){if(!view3DCreated){return null}var lat,lon,latlonvalid,result=spacecontrol.PixelToLatLong(pixel.x,pixel.y);eval(result);if(latlonvalid!=0){var latlong=new Msn.VE.LatLong;latlong.latitude=RadToDeg(lat);latlong.longitude=RadToDeg(lon);return latlong}return null}function PixelToLatLongAsync(d,g,e){var b=[];for(var a=0;a<d.length;++a){var c=this.PixelToLatLong(d[a],g);if(Msn.VE.API!=null){var f=new VELatLong(c.latitude,c.longitude);b[a]=f}else{b[a]=c}}if(e){e(b)}}function LatLongToPixel(latlong){if(!view3DCreated){return null}var x,y,xyvalid=0,result=spacecontrol.LatLongToPixel(parseFloat(latlong.latitude),parseFloat(latlong.longitude));eval(result);if(xyvalid!=0){var pixel=new VEPixel(x,y);return pixel}return null}function LatLongToPixelAsync(b,e,d){var c=[];for(var a=0;a<b.length;++a){c[a]=this.LatLongToPixel(b[a],e)}if(d){d(c)}}function GetBounds(){return null}function GetCurrentMaxZoomLevel(){return 19}function ValidateZoomLevel(a){if(a.zoomLevel<1){a.SetZoomLevel(1)}if(a.zoomLevel>19){a.SetZoomLevel(19)}}function _InternalOrthoMode(){return internalOrthoMode}this._InternalOrthoMode=_InternalOrthoMode;this.IsValidTile=IsValidTile;this.GetFilename=GetFilename;this.MetersPerPixel=MetersPerPixel;this.PixelToLatLong=PixelToLatLong;this.PixelToLatLongAsync=PixelToLatLongAsync;this.LatLongToPixel=LatLongToPixel;this.LatLongToPixelAsync=LatLongToPixelAsync;this.GetBounds=GetBounds;this.ValidateZoomLevel=ValidateZoomLevel;this.GetCurrentMaxZoomLevel=GetCurrentMaxZoomLevel}function BoxTool(){var b=document.createElement("div"),a=document.createElement("div"),h,c=0,d=0,e=0,f=0;this.Init=function(){b.className="MSVE_ZoomBox_bg";a.className="MSVE_ZoomBox_fg";b.attachEvent("onmouseup",MouseUp);a.attachEvent("onmouseup",MouseUp);if(map!=null){map.appendChild(b);
map.appendChild(a)}};this.Destroy=function(){b.detachEvent("onmouseup",MouseUp);a.detachEvent("onmouseup",MouseUp);if(map!=null){map.removeChild(b);map.removeChild(a)}};function k(i){if(typeof VE_ContextMenu!="undefined"&&VE_ContextMenu!=null){VE_ContextMenu.RemoveContextPin();VE_ContextMenu.CloseMenu()}var b=Gimme.Screen.getMousePosition(i);h=g(p_elSource).getPagePosition();c=e=b.x-h.x+offsetX;d=f=b.y-h.y+offsetY;j(c,d,1,1);o();if(a.setCapture){a.setCapture()}}function l(i){var a=Gimme.Screen.getMousePosition(i);e=a.x-h.x+offsetX;f=a.y-h.y+offsetY;var g=e-c,b=f-d;j(Math.min(c,c+g),Math.min(d,d+b),Math.abs(g),Math.abs(b))}function m(j){if(MathAbs(c-e)>1&&MathAbs(d-f)>1){var b=preferredView.MakeCopy();b.SetZoomLevel(currentView.zoomLevel);if(!j.shiftKey){b.SetPixelRectangle(new Msn.VE.PixelRectangle(new VEPixel(originX+c,originY+d),new VEPixel(originX+e,originY+f)))}else{var h=width/MathAbs(e-c),i=height/MathAbs(f-d),g=h<i?h:i;b.SetPixelRectangle(new Msn.VE.PixelRectangle(new VEPixel(originX-Math.floor(width*(g-1)/2),originY-Math.floor(height*(g-1)/2)),new VEPixel(originX+Math.floor(width*(g+1)/2),originY+Math.floor(height*(g+1)/2))))}SetView(b)}setTimeout(n,250);if(a.releaseCapture){a.releaseCapture()}}function j(e,f,d,c){i(b,e+1,f+1,d,c);i(a,e,f,d,c)}function i(a,d,e,c,b){a.style.left=d+"px";a.style.top=e+"px";a.style.width=c+"px";a.style.height=b+"px"}function o(){b.style.display="block";a.style.display="block"}function n(){b.style.display="none";a.style.display="none"}this.OnMouseDown=k;this.OnMouseMove=l;this.OnMouseUp=m}function PanTool(){var a=false;this.Init=function(){};this.Destroy=function(){};function b(b){a=false;var d=Gimme.Screen.getMousePosition(b);lastMouseX=d.x;lastMouseY=d.y;if(p_elSource.setCapture){p_elSource.setCapture()}var e=g(p_elSource).getPagePosition();x=e.x;y=e.y;var f=originX+offsetX+lastMouseX-x,h=originY+offsetY+lastMouseY-y,c=CreateEvent(currentMode.PixelToLatLong(new VEPixel(f,h),currentView.zoomLevel),currentView.zoomLevel,null,null,null,b.button,0,b);Fire("onstartpan",c);FireDefaultEvent("onmousedown",c)
}function c(e){var d=Gimme.Screen.getMousePosition(e),b=d.x,c=d.y;PanMap(lastMouseX-b,lastMouseY-c);if(lastMouseX!=b||lastMouseY!=c){a=true}lastMouseX=b;lastMouseY=c}function d(c){ComputeCenterPoint(true);if(p_elSource.releaseCapture){p_elSource.releaseCapture()}if(a){Fire("onendpan");Fire("onchangeview");a=false}var d=Gimme.Screen.getMousePosition(c),e=originX+offsetX+d.x-x,f=originY+offsetY+d.y-y,b=CreateEvent(currentMode.PixelToLatLong(new VEPixel(e,f),currentView.zoomLevel),currentView.zoomLevel,null,null,null,c.button,0,c);FireDefaultEvent("onmouseup",b);FireDefaultEvent("onclick",b);return b}this.OnMouseDown=b;this.OnMouseMove=c;this.OnMouseUp=d}function TargetTool(){var b=this,f=Msn.VE.Geometry,d,a,e,c;this.centeringTrigger=false;g();function g(){d=false;a=false;e=null;c=false;m_dragging=false}this.init=function(){if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)){b.trackMovement()}};this.destroy=function(){b.ignoreMovement();f=null};this.isOutOfBounds=function(){return a};this.trackMovement=function(){if(!d){p_elSource.attachEvent("onmousemove",b.OnMouseMove);d=true}};this.ignoreMovement=function(){p_elSource.detachEvent("onmousemove",b.OnMouseMove);d=a=b.centeringTrigger=false;p_this.SetCursor(cssCursors.Grab)};this.setBoundingArea=function(a){if(a instanceof f.Rectangle){e=a}};this.OnMouseDown=function(){};this.OnMouseMove=function(b){if(e==null){return}if(!dragging){var d=Gimme.Screen.getMousePosition(b);if(!e.containsPoint(d)){if(!hijackMouseMove&&(!c||p_elSource.style.cursor!=cssCursors.Target)){a=c=true;p_this.SetCursor(cssCursors.Target)}}else{if(c){a=c=false;p_this.SetCursor(cssCursors.Grab)}}}};this.OnMouseUp=function(c){if(typeof VE_ContextMenu!="undefined"&&VE_ContextMenu!=null){VE_ContextMenu.RemoveContextPin();VE_ContextMenu.CloseMenu()}var g=c.which||c.button;if(a&&g==1){c.cancelBubble=true;b.centeringTrigger=true;var e=originX+offsetX+Math.round(GetMapWidth()/2),f=originY+offsetY+Math.round(GetMapHeight()/2),d=currentMode.PixelToLatLong(new VEPixel(e,f),currentView.zoomLevel);SetCenter(d.latitude,d.longitude)
}}}function GetTrafficAvailability(){return trafficAvailable}function GetSlidingExpirationForAutoRefresh(){return 1800000}function GetAutoRefreshRate(){return 300000}function GetMarketsFile(){return Msn.VE.API?Msn.VE.API.Constants.trafficmarketsserver:"%0t0.tiles.virtualearth.net/tiles/dp/content?p=ti&a=markets.js"}function GetIncidentsFile(){return Msn.VE.API?Msn.VE.API.Constants.trafficincidentsserver:"%0t0.tiles.virtualearth.net/tiles/dp/content?p=ti&a=market-%1.js"}var setTrafficViewflag=true;function SetTrafficView(){var a=new VETileSourceSpecification;a.ID=trafficTiles;a.SourceName=Msn.VE.API?Msn.VE.API.Constants.traffictileserver:"%0t%2.tiles.virtualearth.net/tiles/dp/content?p=tf&a=%4";var b="?";if(a.SourceName.match(/\?/)){b="&"}a.SourceName=a.SourceName+b+"tc="+Math.floor((new Date).getTime()/(GetAutoRefreshRate()*0.8));a.NumServers=2;tileLayerManager.AddTileSource(a);var c=typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null;tileLayerManager.LoadTileLayer("Traffic",a.ID,0.6,c?2:3)}function VETileLayerManager(){var d=[],b=[],a=[],c={},e={},g={},k=null,i=true,h=17;this.AddTileSource=function(a){d[a.ID]=a;if(g[a.ID]){this.SetClientToken(a.ID,g[a.ID])}};this.Add3DTileSource=function(e,c,h){if(trafficTiles==e){return}if(1==b[e].zIndex){return}if(typeof b[e].IsVisible!="undefined"&&b[e].IsVisible==false){return}var g=c.MaxZoom==1?21:c.MaxZoom,a='ID="'+c.ID+'" TILESOURCE="'+c.SourceName+'" MINZOOM="'+c.MinZoom+'" MAXZOOM="'+g+'"',d=c.Bounds;if(typeof d!="undefined"&&d!=null){a=a+' Bounds="';for(var f=0;f<d.length;f++){if(f>0){a=a+","}a=a+d[f].TopLeftLatLong.Longitude+","+d[f].BottomRightLatLong.Latitude+","+d[f].BottomRightLatLong.Longitude+","+d[f].TopLeftLatLong.Latitude}a=a+'"'}h.AddImageSource(e,c.ID,a,b[e].zIndex,b[e].opacity)};this.Remove3DTileSource=function(b,a,c){c.RemoveImageSource(b,a.ID)};this.AddAllTileSourcesTo3D=function(d){if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null){for(var c=0;c<a.length;c++){this.Add3DTileSource(a[c],b[a[c]],d)}}};this.AddMapServiceLayersTo3D=function(f){for(var d=0;d<a.length;
d++){var e=a[d],c=b[e];if(c!=null&&c.ID.indexOf("VE_MapServiceLayer")==1){tileLayerManager.Add3DTileSource(e,c,f)}}};this.DeleteMapServiceLayersFrom3D=function(f,e){for(var c=0;c<e.length;c++){var d=e[c],a=b[d];if(a!=null&&a.ID.indexOf("VE_MapServiceLayer")==1){f.RemoveImageSource(d,a.ID)}}};this.LoadBaseLayer=function(c,e,f,g){if(b[c]==null||typeof b[c]=="undefined"){a.push(c)}b[c]=d[e];b[c].opacity=f;b[c].zIndex=g};this.HideBaseTileLayer=function(){this.SetTileLayerVisibility(mapTiles,false);this.RefreshTileLayer(mapTiles)};this.ShowBaseTileLayer=function(){this.SetTileLayerVisibility(mapTiles,true);this.RefreshTileLayer(mapTiles)};this.SetTileLayerVisibility=function(c,a){if(b[c]!=null&&typeof a!="undefined"){b[c].IsVisible=a}};this.LoadTileLayer=function(g,h,m,n){if(!i){return}if(b[g]==null||typeof b[g]=="undefined"){a.push(g)}b[g]=d[h];if(c[g]){ClearTiles(c[g]);if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null){var j=f();if(typeof j!="undefined"&&j!=null){tileLayerManager.Remove3DTileSource(g,d[h],j)}}}if(typeof b[g].IsVisible!="undefined"&&b[g].IsVisible==false){return}c[g]=[];e[g]=[];if(m!=null&&m!="undefined"){b[g].opacity=m}else{b[g].opacity=1}if(n!=null&&n!="undefined"){b[g].zIndex=n}else{b[g].zIndex=1}var k=false;if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null){var j=f();if(typeof j!="undefined"&&j!=null){tileLayerManager.Add3DTileSource(g,d[h],j)}}var l=d[h].MaxZoom;if(l==1){l=d[mapTiles].MaxZoom}if(currentView.zoomLevel>=d[h].MinZoom&&currentView.zoomLevel<=l){if(d[h].Bounds!="undefined"&&d[h].Bounds!=null){k=tileLayerManager.CheckTilesAvailability(h,g)}else{k=true}}if(k&&b[g].LoadTiles){b[g].isActive=true;for(var p=tileViewportY1;p<=tileViewportY2;p++){for(var o=tileViewportX1;o<=tileViewportX2;o++){var q=RequestTile(o,p,currentView.zoomLevel,currentView.mapStyle,b[g],h,b[g].opacity,b[g].zIndex);c[g].push(q)}}}};this.SetViewPort=function(){map.style.top="0px";map.style.left="0px";originX=MathRound(currentView.center.x-width/2);originY=MathRound(currentView.center.y-height/2);offsetX=0;offsetY=0;
var a=this.CalculateTileViewPort(true,originX,originY,originX+width,originY+height);tileViewportX1=a[0];tileViewportY1=a[1];tileViewportX2=a[2];tileViewportY2=a[3];tileViewportWidth=a[4];tileViewportHeight=a[5];Fire("onmapoffsetreset")};this.CalculateTileViewPort=function(f,b,d,c,e){var a=[];b=(b-buffer)/tileSize;d=(d-buffer)/tileSize;c=(c+buffer)/tileSize;e=(e+buffer)/tileSize;if(f){b=MathFloor(b);d=MathFloor(d);c=MathFloor(c);e=MathFloor(e)}a[0]=b;a[1]=d;a[2]=c;a[3]=e;a[4]=a[2]-a[0]+1;a[5]=a[3]-a[1]+1;return a};this.GetViewPort=function(){var a=[];a[0]=tileViewportX1;a[1]=tileViewportY1;a[2]=tileViewportX2;a[3]=tileViewportY2;a[4]=tileViewportWidth;a[5]=tileViewportHeight;return a};this.FinalizeView=function(){zooming=false;for(var b=0;b<a.length;b++){if(e[a[b]]){ClearTiles(e[a[b]]);e[a[b]]=null}for(var d=0;d<c[a[b]].length;d++){var f=c[a[b]];f[d].SwapStates();f[d].ClearSteps();f[d].SetFactor(0);f[d].ClearStates()}}for(var b=0;b<pushpins.length;b++){pushpins[b].SwapStates();pushpins[b].ClearSteps();pushpins[b].SetFactor(0)}if(copyright){copyright.Update()}if(previousMapStyle!=currentView.mapStyle){Fire("onchangemapstyle");previousMapStyle=currentView.mapStyle}if(previousZoomLevel!=currentView.zoomLevel){Fire("onendzoom")}Fire("onchangeview");try{CollectGarbage()}catch(g){}};this.CheckLayerUpdatability=function(d){var e=false;if(typeof b[a[d]].LoadTiles=="undefined"||b[a[d]].LoadTiles!=false){if(b[a[d]].isActive==false){this.RefreshTileLayer(b[a[d]].ID)}if(d>=0){e=b[a[d]].ID==mapTiles||c[a[d]].length>0}}return e};this.PanView=function(){if(!i){return}if(zooming){return}var h=originX+offsetX,j=originY+offsetY,k=MathFloor((h-buffer)/tileSize),m=MathFloor((j-buffer)/tileSize),l=MathFloor((h+width+buffer)/tileSize),n=MathFloor((j+height+buffer)/tileSize);while(tileViewportX1<k){for(var e=tileViewportHeight-1;e>=0;e--){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=c[a[d]].splice(e*tileViewportWidth,1)[0];try{g.RemoveFromMap()}catch(o){}}}}tileViewportX1++;tileViewportWidth--}while(tileViewportX1>k){tileViewportX1--;
tileViewportWidth++;for(var e=0;e<tileViewportHeight;e++){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=RequestTile(tileViewportX1,tileViewportY1+e,currentView.zoomLevel,currentView.mapStyle,b[a[d]],a[d],b[a[d]].opacity,b[a[d]].zIndex);c[a[d]].splice(e*tileViewportWidth,0,g)}}}}while(tileViewportY1<m){for(var f=0;f<tileViewportWidth;f++){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=c[a[d]].shift();try{g.RemoveFromMap()}catch(o){}}}}tileViewportY1++;tileViewportHeight--}while(tileViewportY1>m){tileViewportY1--;tileViewportHeight++;for(var f=tileViewportWidth-1;f>=0;f--){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=RequestTile(tileViewportX1+f,tileViewportY1,currentView.zoomLevel,currentView.mapStyle,b[a[d]],a[d],b[a[d]].opacity,b[a[d]].zIndex);c[a[d]].unshift(g)}}}}while(tileViewportX2>l){for(var e=tileViewportHeight-1;e>=0;e--){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=c[a[d]].splice(e*tileViewportWidth+tileViewportWidth-1,1)[0];try{g.RemoveFromMap()}catch(o){}}}}tileViewportX2--;tileViewportWidth--}while(tileViewportX2<l){tileViewportX2++;tileViewportWidth++;for(var e=0;e<tileViewportHeight;e++){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=RequestTile(tileViewportX2,tileViewportY1+e,currentView.zoomLevel,currentView.mapStyle,b[a[d]],a[d],b[a[d]].opacity,b[a[d]].zIndex);c[a[d]].splice(e*tileViewportWidth+tileViewportWidth-1,0,g)}}}}while(tileViewportY2>n){for(var f=0;f<tileViewportWidth;f++){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=c[a[d]].pop();try{g.RemoveFromMap()}catch(o){}}}}tileViewportY2--;tileViewportHeight--}while(tileViewportY2<n){tileViewportY2++;tileViewportHeight++;for(var f=0;f<tileViewportWidth;f++){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=RequestTile(tileViewportX1+f,tileViewportY2,currentView.zoomLevel,currentView.mapStyle,b[a[d]],a[d],b[a[d]].opacity,b[a[d]].zIndex);
c[a[d]].push(g)}}}}};this.StepAnimation=j;this.zoomView=function(g){if(!i){return}var l=originX+offsetX,m=originY+offsetY,o=currentView.zoomLevel,k=g.zoomLevel,h=MathRound(g.center.x-width/2),j=MathRound(g.center.y-height/2);e[mapTiles]=c[mapTiles];for(var d=0;d<a.length;d++){if(b[a[d]].ID==mapTiles){c[a[d]]=[]}else{ClearTiles(c[a[d]])}}for(var f=0;f<e[mapTiles].length;f++){e[mapTiles][f].PrepareBaseTile(l,m,o,h,j,k)}for(var d=0;d<pushpins.length;d++){pushpins[d].PrepareForZoom(h,j,k)}currentView.Destroy();currentView=g;var n=[];n=e[mapTiles];this.SetViewPort();this.RefreshTileLayers();e[mapTiles]=n;for(var f=0;f<c[mapTiles].length;f++){c[mapTiles][f].PrepareSwapTile(l,m,o,h,j,k)}zoomCounter=1;this.StepAnimation()};function j(){if(!zooming){return}for(var a=0;a<e[mapTiles].length;a++){e[mapTiles][a].SetFactor(zoomCounter)}for(var a=0;a<c[mapTiles].length;a++){c[mapTiles][a].SetFactor(zoomCounter)}for(var b=0;b<pushpins.length;b++){pushpins[b].SetFactor(zoomCounter)}if(zoomCounter<zoomTotalSteps){zoomCounter++;window.setTimeout(j,1)}else{zoomCounter=0;tileLayerManager.FinalizeView()}}this.ClearTileLayers=function(){for(var d=0;d<a.length;d++){ClearTiles(c[a[d]]);b[a[d]]=null;delete b[a[d]];a[d]=null}a.length=0};function f(){if(typeof Msn.VE.API.Globals.vemapinstances=="undefined"||Msn.VE.API.Globals.vemapinstances==null){return null}var b=0;for(var a in Msn.VE.API.Globals.vemapinstances){if(Msn.VE.API.Globals.vemapinstances[a] instanceof VEMap&&Msn.VE.API.Globals.vemapinstances[a].vemapcontrol&&Msn.VE.API.Globals.vemapinstances[a].GetMapMode()==VEMapMode.Mode3D){return Msn.VE.API.Globals.vemapinstances[a].vemapcontrol.Get3DControl()}}return null}this.ClearTileLayer=function(d){if(b[d]!=null&&b[d]!="undefined"){if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null){var g=f();if(typeof g!="undefined"&&g!=null){g.RemoveImageSource(d,b[d].ID)}}ClearTiles(c[d]);b[d]=null;delete b[d]}for(var e=0;e<a.length;e++){if(a[e]==d){a[e]=null;a.splice(e,1)}}};this.RefreshTileLayers=function(){if(a!=null){for(var c=0;c<a.length;c++){this.LoadTileLayer(a[c],b[a[c]].ID,b[a[c]].opacity,b[a[c]].zIndex)
}}};this.RefreshTileLayer=function(a){this.LoadTileLayer(a,b[a].ID,b[a].opacity,b[a].zIndex)};this.SetTileSource=function(a){var b=new VETileSourceSpecification;b.ID=a.ID;b.SourceName=a.TileSource;b.NumServers=a.NumServers;b.Bounds=a.Bounds;if(typeof a.MinZoomLevel!="undefined"&&a.MinZoomLevel!=null){b.MinZoom=a.MinZoomLevel}if(typeof a.MaxZoomLevel!="undefined"&&a.MaxZoomLevel!=null){b.MaxZoom=a.MaxZoomLevel;if(b.MaxZoom>h){h=b.MaxZoom}}if(a.GetTilePath!="undefined"&&a.GetTilePath!=null){b.GetTilePath=a.GetTilePath}tileLayerManager.AddTileSource(b)};this.DeleteTileSource=function(f){if(d[f]!=null&&d[f]!="undefined"){d[f]=null;delete d[f]}if(a!=null){for(var e=0;e<a.length;e++){if(b[a[e]]!=null&&b[a[e]]!="undefined"&&b[a[e]].ID==f){ClearTiles(c[a[e]]);b[a[e]]=null;delete b[a[e]];a[e]=null;a.splice(e,1)}}}};this.CheckTilesAvailability=function(g,n){if(typeof d[g].LoadTiles!="undefined"&&d[g].LoadTiles==false){return false}var k=PixelToLatLong(new VEPixel(0,0)),j=PixelToLatLong(new VEPixel(width,height));if(k==null||j==null){return}var a=k.latitude,c=j.longitude,e=j.latitude,f=k.longitude;if(a<e){var i=a;a=e;e=i}if(c<f){var i=c;c=f;f=i}var l=new Msn.VE.LatLongRectangle(new Msn.VE.LatLong(a,f),new Msn.VE.LatLong(e,c)),o=d[g].Bounds.length;for(var h=0;h<o;h++){a=d[g].Bounds[h].TopLeftLatLong.Latitude;c=d[g].Bounds[h].BottomRightLatLong.Longitude;e=d[g].Bounds[h].BottomRightLatLong.Latitude;f=d[g].Bounds[h].TopLeftLatLong.Longitude;if(a<e){var i=a;a=e;e=i}if(c<f){var i=c;c=f;f=i}var m=new Msn.VE.LatLongRectangle(new Msn.VE.LatLong(a,f),new Msn.VE.LatLong(e,c));if(tileLayerManager.BBOverlap(l,m)){return true}}b[n].isActive=false;return false};this.BBOverlap=function(a,b){return this.RectInBoundingBox(b,a)};this.RectInBoundingBox=function(a,b){return !(a.southeast.latitude>b.northwest.latitude||a.southeast.longitude<b.northwest.longitude||a.northwest.latitude<b.southeast.latitude||a.northwest.longitude>b.southeast.longitude)};this.ShowTrafficLegend=function(a){k=a;Fire("onapitrafficdisplay")};this.HideTrafficLegend=function(){Fire("onapitraffichide")
};this.GetTimeStamp=function(){return k};this.GetMaxTileZoom=function(){return h};this.SetMarketMaxZoom=function(a){marketMaxZoom=a;d[mapTiles].MaxZoom=a};this.SetClientToken=function(a,b){g[a]=b;if(d[a]){d[a].SetClientToken(b)}};this.SetPrintable=function(f){if(f){for(var b=0;b<a.length;b++){var e=c[a[b]].length;for(var d=0;d<e;d++){c[a[b]][d].AddPrintTile()}}}else{for(var b=0;b<a.length;b++){var e=c[a[b]].length;for(var d=0;d<e;d++){c[a[b]][d].RemovePrintTile()}}}};this.RePositionPrintTiles=function(){for(var b=0;b<a.length;b++){var e=c[a[b]].length;for(var d=0;d<e;d++){c[a[b]][d].RePositionPrintTile()}}}}function VETileSourceSpecification(){this.Subdomains=null;this.SubdomainsMaxX=1;this.SubdomainsMaxY=1;this.ID="";this.SourceName="";this.OriginalName=null;this.OriginSourceName="";this.NumServers=0;this.Bounds=null;this.MinZoom=minZoom;this.MaxZoom=1;this.IsVisible=true;this.LoadTiles=true;this.GetTilePath=function(a){try{if(a!=null&&a!="undefined"){var e="",c=0;for(var b=a.ZoomLevel;b>0;b--){c=0;var d=1<<b-1;if((a.XPos&d)!=0){c++}if((a.YPos&d)!=0){c+=2}e+=c+""}var b;if(this.Subdomains==null){b=c%this.NumServers}else{b=this.Subdomains[a.XPos%this.SubdomainsMaxX][a.YPos%this.SubdomainsMaxY]}return this.SourceName.replace(/%1/g,a.MapStyle).replace(/%2/g,b).replace(/%3/g,a.MapStyle).replace(/%4/g,e).replace(/%5/g,a.MapStyle==roadStyle?"png":"jpeg").replace(/%6/g,generations[a.MapStyle])}else{return""}}catch(f){}};this.SetClientToken=function(c){if(!this.OriginalName){this.OriginalName=this.SourceName}var a=this.OriginalName;if(c&&this.OriginSourceName){a=this.OriginSourceName;var b;if(a.indexOf("?")>=0){b="&"}else{b="?"}a=a.concat(b,Msn.VE.API.Constants.clienttoken,"=",c)}else{this.OriginalName=null}this.SourceName=a}}function VETileLayerSpecification(){this.ID="";this.ZIndex=0;this.Opacity=1}function VETileContext(){this.XPos=0;this.YPos=0;this.ZoomLevel=0;this.MapStyle=""}VEAuthenticationCode=function(){};VEAuthenticationCode.None=0;VEAuthenticationCode.NoToken=1;VEAuthenticationCode.TokenValid=2;VEAuthenticationCode.TokenInvalid=3;
VEAuthenticationCode.TokenExpired=4;VEAuthenticationCode.TokenIPInvalid=5;VEAuthenticationCode.TokenExpiredAndIPInvalid=6;VEAuthenticationCode.TokenValidButNotAuthorized=7;this.__HandleAuthentication=function(a){if(a&&a.ResponseSummary&&a.ResponseSummary.AuthResultCode){var b=a.ResponseSummary.AuthResultCode;switch(b){case VEAuthenticationCode.TokenExpired:case VEAuthenticationCode.TokenExpiredAndIPInvalid:this.Fire("ontokenexpire");break;case VEAuthenticationCode.TokenInvalid:case VEAuthenticationCode.TokenIPInvalid:case VEAuthenticationCode.TokenValidButNotAuthorized:this.Fire("ontokenerror")}}};this.SetCenter=SetCenter;this.SetCenterAccurate=SetCenterAccurate;this.SetMapStyle=SetMapStyle;this.SetScaleBarDistanceUnit=SetScaleBarDistanceUnit;this.SetScaleBarVisibility=SetScaleBarVisibility;this.OnView3DScaleBarPositionUpdate=OnView3DScaleBarPositionUpdate;this.GetCenterLatitude=GetCenterLatitude;this.GetCenterLongitude=GetCenterLongitude;this.GetLatitude=GetLatitude;this.GetLongitude=GetLongitude;this.GetY=GetY;this.GetX=GetX;this.LatLongToPixel=LatLongToPixel;this.LatLongToPixelAsync=LatLongToPixelAsync;this.PixelToLatLong=PixelToLatLong;this.PixelToLatLongAsync=PixelToLatLongAsync;this.GetZoomLevel=GetZoomLevel;this.GetMapStyle=GetMapStyle;this.GetMapMode=GetMapMode;this.GetMode=GetMode;this.GetAltitude=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?GetAltitude:function(){NotSupportedMethod("VEMapControl","GetAltitude")};this.GetDirection=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?GetDirection:function(){NotSupportedMethod("VEMapControl","GetDirection")};this.GetTilt=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?GetTilt:function(){NotSupportedMethod("VEMapControl","GetTilt")};this.GetMetersPerPixel=GetMetersPerPixel;this.Fill=Fill;this.Resize=Resize;this.PanMap=PanMap;this.ContinuousPan=ContinuousPan;this.StopContinuousPan=StopContinuousPan;this.StopKeyboardPan=StopKeyboardPan;this.PanToLatLong=PanToLatLong;this.PanByPixel=PanByPixel;this.GetPushpins=GetPushpins;this.AddPushpin=AddPushpin;
this.RemovePushpin=RemovePushpin;this.ClearPushpins=ClearPushpins;this.GetPushpinMapPixel=GetPushpinMapPixel;this.SetViewport=SetViewport;this.SetBestMapView=SetBestMapView;this.ClipLatitude=ClipLatitude;this.ClipLongitude=ClipLongitude;this.GetBestMapViewBounds=GetBestMapViewBounds;this.IncludePointInViewport=IncludePointInViewport;this.SetZoom=SetZoom;this.SetTilt=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?SetTilt:function(){NotSupportedMethod("VEMapControl","SetTilt")};this.SetDirection=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?SetDirection:function(){NotSupportedMethod("VEMapControl","SetDirection")};this.SetAltitude=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?SetAltitude:function(){NotSupportedMethod("VEMapControl","SetAltitude")};this.ZoomIn=ZoomIn;this.ZoomOut=ZoomOut;this.SetCenterAndZoom=SetCenterAndZoom;this.AddLine=AddLine;this.RemoveLine=RemoveLine;this.ClearLines=ClearLines;this.AttachEvent=AttachEvent;this.DetachEvent=DetachEvent;this.AttachCustomEvent=AttachCustomEvent;this.DetachCustomEvent=DetachCustomEvent;this.FireCustomEvent=FireCustomEvent;this.DisposeAllCustomEvent=DisposeAllCustomEvent();this.CreateEvent=CreateEvent;this.Fire=Fire;this.IsObliqueAvailable=IsObliqueAvailable;this.GetObliqueScene=GetObliqueScene;this.SetAnimationEnabled=SetAnimationEnabled;this.IsAnimationEnabled=IsAnimationEnabled;this.SetObliqueScene=$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)?SetObliqueScene:function(){NotSupportedMethod("VEMapControl","SetObliqueScene")};this.SetObliqueLocation=$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)?SetObliqueLocation:function(){NotSupportedMethod("VEMapControl","SetObliqueLocation")};this.SetObliqueOrientation=$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)?SetObliqueOrientation:function(){NotSupportedMethod("VEMapControl","SetObliqueOrientation")};this.SetView=SetView;this.Debug=Debug;this.GetResponseRangeCounts=GetResponseRangeCounts;this.ResetResponseRangeCounts=ResetResponseRangeCounts;this.GetFailureRate=GetFailureRate;this.SetTrafficView=$MVEM.IsEnabled(MapControl.Features.Traffic.Enabled)?SetTrafficView:function(){NotSupportedMethod("VEMapControl","SetTrafficView")
};this.GetTrafficAvailability=GetTrafficAvailability;this.GetMarketsFile=GetMarketsFile;this.GetIncidentsFile=GetIncidentsFile;this.GetSlidingExpirationForAutoRefresh=$MVEM.IsEnabled(MapControl.Features.Traffic.Enabled)?GetSlidingExpirationForAutoRefresh:function(){NotSupportedMethod("VEMapControl","GetSlidingExpirationForAutoRefresh")};this.GetAutoRefreshRate=$MVEM.IsEnabled(MapControl.Features.Traffic.Enabled)?GetAutoRefreshRate:function(){NotSupportedMethod("VEMapControl","GetAutoRefreshRate")};this.GetMapLegend=GetMapLegend;this.SetFocus=SetFocus;this.GetCurrentMode=GetCurrentMode;this.GetObliqueMode=GetObliqueMode;this.GetOrthoMode=GetOrthoMode;this.GetMapWidth=GetMapWidth;this.GetMapHeight=GetMapHeight;this.GetCurrentMapView=GetCurrentMapView;this.SetBaseTileSource=SetBaseTileSource;this.SetTileSource=tileLayerManager.SetTileSource;this.SetTileLayerVisibility=tileLayerManager.SetTileLayerVisibility;this.AddMapServiceLayersTo3D=tileLayerManager.AddMapServiceLayersTo3D;this.DeleteMapServiceLayersFrom3D=tileLayerManager.DeleteMapServiceLayersFrom3D;this.LoadTileLayer=tileLayerManager.LoadTileLayer;this.ClearTileLayer=tileLayerManager.ClearTileLayer;this.ClearTileLayers=tileLayerManager.ClearTileLayers;this.DeleteTileSource=tileLayerManager.DeleteTileSource;this.HideBaseTileLayer=tileLayerManager.HideBaseTileLayer;this.ShowBaseTileLayer=tileLayerManager.ShowBaseTileLayer;this.RefreshTileLayer=tileLayerManager.RefreshTileLayer;this.RefreshTileLayers=tileLayerManager.RefreshTileLayers;this.ShowTrafficLegend=$MVEM.IsEnabled(MapControl.Features.Traffic.Enabled)?tileLayerManager.ShowTrafficLegend:function(){NotSupportedMethod("VEMapControl","ShowTrafficLegend")};this.HideTrafficLegend=$MVEM.IsEnabled(MapControl.Features.Traffic.Enabled)?tileLayerManager.HideTrafficLegend:function(){NotSupportedMethod("VEMapControl","HideTrafficLegend")};this.GetTimeStamp=$MVEM.IsEnabled(MapControl.Features.Traffic.Enabled)?tileLayerManager.GetTimeStamp:function(){NotSupportedMethod("VEMapControl","GetTimeStamp")};this.GetMaxTileZoom=tileLayerManager.GetMaxTileZoom;
this.PanView=tileLayerManager.PanView;this.LoadBaseLayer=tileLayerManager.LoadBaseLayer;this.GetCurrentViewMaxZoomLevel=GetCurrentViewMaxZoomLevel;this.SetTilePixelBuffer=SetTilePixelBuffer;this.SetClientToken=SetClientToken;this.SetMapHeight=SetMapHeight;this.GetMapSurface=GetMapSurface;this.EnableMode=EnableMode;this._Enable3DMode=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?_Enable3DMode:function(){NotSupportedMethod("VEMapControl","_Enable3DMode")};this._Disable3DMode=_Disable3DMode;this.ControlReady=ControlReady;this.Get3DVisibleArea=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?Get3DVisibleArea:function(){NotSupportedMethod("VEMapControl","Get3DVisibleArea")};this.Get3DControl=Get3DControl;this.IsModeEnabled=IsModeEnabled;this.Sync3dView=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?Sync3dView:function(){NotSupportedMethod("VEMapControl","Sync3dView")};this.OnBeginCameraUpdate=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?OnBeginCameraUpdate:function(){NotSupportedMethod("VEMapControl","OnBeginCameraUpdate")};this.OnEndCameraUpdate=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?OnEndCameraUpdate:function(){NotSupportedMethod("VEMapControl","OnEndCameraUpdate")};this.IsCameraFlying=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?IsCameraFlying:function(){NotSupportedMethod("VEMapControl","IsCameraFlying")};this.Show3DTraffic=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?Show3DTraffic:function(){NotSupportedMethod("VEMapControl","Show3DTraffic")};this.Remove3DTraffic=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?Remove3DTraffic:function(){NotSupportedMethod("VEMapControl","Remove3DTraffic")};this.Show3DBirdseye=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?Show3DBirdseye:function(){NotSupportedMethod("VEMapControl","Show3DBirdseye")};this.IterativeCameraRefinement=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?IterativeCameraRefinement:function(){NotSupportedMethod("VEMapControl","IterativeCameraRefinement")};this.SetChildDiv=SetChildDiv;this.EnableGeoCommunity=EnableGeoCommunity;
this.IsGeoCommunityEnabled=IsGeoCommunityEnabled;this.HijackMouseCursor=HijackMouseCursor;this.IsHijackMouseCursor=IsHijackMouseCursor;this.GetOffsetX=GetOffsetX;this.GetOriginY=GetOriginY;this.GetOriginX=GetOriginX;this.GetOffsetY=GetOffsetY;this.GetCenterOffset=GetCenterOffset;this.SetCenterOffset=SetCenterOffset;this.UpdatePreferredView=UpdatePreferredView;this.GetGraphic=GetGraphic;this.GetCurrentTileViewPort=GetCurrentTileViewPort;this.CalculateTileViewPort=CalculateTileViewPort;this.CreateDashboard=CreateDashboard;this.GetLastViewChangeType=GetLastViewChangeType;this.SetOn3DAnimationInterruptedCallback=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?SetOn3DAnimationInterruptedCallback:function(){NotSupportedMethod("VEMapControl","SetOn3DAnimationInterruptedCallback")};this.GetOn3DAnimationInterruptedCallback=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?GetOn3DAnimationInterruptedCallback:function(){NotSupportedMethod("VEMapControl","GetOn3DAnimationInterruptedCallback")};this.SetShowMapModeSwitch=SetShowMapModeSwitch;this.GetObliqueAvailability=GetObliqueAvailability;this.GetTopPx=GetTopPx;this.GetLeftPx=GetLeftPx;this.SetPrintable=SetPrintable;this.CreateMinimap=CreateMinimap;this.IsMapViewOblique=IsMapViewOblique;this.IsMapViewOrtho=IsMapViewOrtho;this.GetTileGeneration=GetTileGeneration;this.IsDragging=function(){return dragging};this.IsZooming=function(){return zooming}};function NotSupportedMethod(a,b){throw new VEException(a,"err_unsupport",L_UnsupportMethod_Text.replace("%1",b))}function NotSupportedClass(a){throw new VEException("","err_unsupport",L_UnsupportClass_Text.replace("%1",a))}Msn.VE.Bounds=function(e,f,a,c,b,d){this.z1=e;this.z2=f;this.x1=a;this.y1=c;this.x2=b;this.y2=d};Msn.VE.DashboardStates=new function(){this.MapMode=new function(){this.Flatland=1;this.View3D=2};this.MapView=new function(){this.Ortho=4;this.Oblique=8;this.StreetSide=16};this.MapStyle=new function(){this.Road=32;this.Shaded=64;this.Aerial=128;this.Hybrid=256}};VEMiniMapSize=function(){};VEMiniMapSize.Small="small";
VEMiniMapSize.Large="large";VEMiniMapExpandState=function(){};VEMiniMapExpandState.Collapsed="collapsed";VEMiniMapExpandState.Expanded="expanded";VEMiniMapVersion=function(){};VEMiniMapVersion[5]="MSVE_Minimap_V5";VEMiniMapVersion[6]="MSVE_Minimap_V6";Msn.VE.Minimap=function(bb,m,cb,h){var n=this,db=Msn.VE.Css,U=Msn.VE.Css.Functions,t=Msn.VE.DashboardStates.MapMode.Flatland,e=Msn.VE.DashboardStates.MapView.Ortho,N=false,O=null,A=false,u=false,B=false,k=true,o=null,c=bb,b=null,a=m,i=[];i[VEMiniMapSize.Small]="MSVE_smallMinimap";i[VEMiniMapSize.Large]="MSVE_normalMinimap";var w=[];w[VEMiniMapSize.Small]=L_MinimapLargerToolTip_Text;w[VEMiniMapSize.Large]=L_MinimapSmallerToolTip_Text;var r=[];r[VEMiniMapSize.Small]=138.5;r[VEMiniMapSize.Large]=180.5;if(h!=5&&h!=6){h=5}c.className=VEMiniMapExpandState.Expanded+" "+i[VEMiniMapSize.Small]+" "+VEMiniMapVersion[h];var p=document.createElement("div");p.id="MSVE_minimap_transparency";c.appendChild(p);var f=document.createElement("div");f.id="MSVE_minimap_content";f.title=L_MinimapDragToolTip_Text;p.appendChild(f);var j=document.createElement("span");j.id="MSVE_minimap_glyph";j.title=L_MinimapHideToolTip_Text;if(cb!=false&&Msn.VE.Animation){this.rollInDirection=null;this.rollOutDirection=null;c.appendChild(j);H(this,h)}var d=null,q=false;a.AttachEvent("onchangemapstyle",W);var D=document.createElement("div"),C=document.createElement("div"),l=document.createElement("div");l.id="MSVE_minimap_style_wrapper";f.appendChild(l);switch(h){case 5:var g=document.createElement("div");g.id="MSVE_minimap_resize";g.attachEvent("onclick",L);g.title=L_MinimapLargerToolTip_Text;pseudoHover(g);c.appendChild(g);break;case 6:if($MVEM.IsEnabled(MapControl.Features.Minimap.ShowByDefault)){j.title=L_MinimapHideToolTip_Text}else{j.title=L_MinimapShowToolTip_Text}}function V(){var g={};g.latitude=a.GetCenterLatitude();g.longitude=a.GetCenterLongitude();var h=a.GetZoomLevel()-4;if(h<1){h=1}if(g.latitude==null||g.longitude==null){g.latitude=0;g.longitude=0;h=1}g.zoomlevel=h;g.mapstyle=Msn.VE.MapStyle.Road;
g.showScaleBar=false;g.showMapLegend=false;g.showDashboard=false;g.showMinimap=false;g.hideCopyright=true;g.disableLogo=true;g.clientToken=O;b=new Msn.VE.MapControl(f,g);b.Init();b.SetMinimapMode();G(D,"MSVE_minimap_r_style_button","MSVE_minimap_style",L_MinimapRoad_Text,L_MinimapRoadToolTip_Text,J,$MVEM.IsEnabled(MapControl.Features.MapStyle.Road));G(C,"MSVE_minimap_h_style_button","MSVE_minimap_style",L_MinimapHybrid_Text,L_MinimapHybridToolTip_Text,F,$MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid));K();b.AttachEvent("onendpan",S);b.AttachEvent("onclick",x);a.AttachEvent("onendpan",R);a.AttachEvent("onobliquechange",M);a.AttachEvent("onendzoom",P);a.AttachEvent("onchangeview",I);var i=a.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)?Msn.VE.DashboardStates.MapMode.View3D:Msn.VE.DashboardStates.MapMode.Flatland;e=Msn.VE.DashboardStates.MapView.Ortho;if(a.IsMapViewOblique()){b.SetZoom(14);e=Msn.VE.DashboardStates.MapView.Oblique}d=new Msn.VE.CameraRotator(c,this,f);q=true;T(i);y();s()}this.Init=V;this.Destroy=function(){E(D,J);E(C,F);D=C=null;if(d){d.Destroy();d=null}a.DetachEvent("onendpan",R);a.DetachEvent("onobliquechange",M);a.DetachEvent("onendzoom",P);a.DetachEvent("onchangeview",I);if(b){b.DetachEvent("onendpan",S);b.DetachEvent("onclick",x);b.Destroy();b=null}switch(h){case 5:g.detachEvent("onclick",L)}l=null;p=null;f=null;j=null;g=null;n=null};this.IsInitialized=function(){return q};this.SetClientToken=function(a){O=a;if(b){b.SetClientToken(a)}};function T(a){t=a}this.SetMapMode=T;function y(){if(!N&&typeof minimapRoller!="undefined"&&minimapRoller!=null&&t==Msn.VE.DashboardStates.MapMode.Flatland){if(e==Msn.VE.DashboardStates.MapView.Oblique){if(!minimapRoller.isExpanded()){minimapRoller.rollOut(n.rollOutDirection)}}else{if(e==Msn.VE.DashboardStates.MapView.Ortho){if(minimapRoller.isExpanded()&&!$MVEM.IsEnabled(MapControl.Features.Minimap.ShowByDefault)){minimapRoller.rollIn(n.rollInDirection)}}}}}this.SetRollerState=y;this.ChangeOrientation=function(b){if(t==Msn.VE.DashboardStates.MapMode.Flatland){if(e==Msn.VE.DashboardStates.MapView.Oblique){switch(b){case 0:case 360:a.SetObliqueOrientation("East");
break;case 270:a.SetObliqueOrientation("South");break;case 90:a.SetObliqueOrientation("North");break;case 180:a.SetObliqueOrientation("West")}}}};this.SetKeepRollState=function(){N=true};function s(){if(t==Msn.VE.DashboardStates.MapMode.Flatland){if(e==Msn.VE.DashboardStates.MapView.Oblique){var b=a.GetObliqueScene();if(!b){return}var c=b.GetOrientation();d.SetStyle("oblique");switch(c){case"North":d.SetOrientation(90);break;case"South":d.SetOrientation(270);break;case"East":d.SetOrientation(0);break;case"West":d.SetOrientation(180)}d.Show()}else{if(e==Msn.VE.DashboardStates.MapView.Ortho){d.SetStyle("ortho");d.Show()}else{d.Hide()}}}else{d.Hide()}}function Z(){u=true;a.PanToLatLong(b.GetCenterLatitude(),b.GetCenterLongitude())}function z(){var c=a.GetCenterLatitude(),d=a.GetCenterLongitude();A=true;b.PanToLatLong(c,d)}this.Hide=function(){c.style.display="none"};this.Show=function(){c.style.display="block"};this.SetPosition=function(a,b){c.style.left=a+"px";c.style.top=b+"px"};this.SetSize=function(a){var d=this.GetSize();if(a!=d){U.removeClass(c,i[d]);U.addClass(c,i[a]);g.title=w[a];if(c.className.indexOf(VEMiniMapExpandState.Expanded)>=0){B=true;b.Resize(r[a],r[a])}}};this.GetSize=function(){return c.className.indexOf(i[VEMiniMapSize.Large])>-1?VEMiniMapSize.Large:VEMiniMapSize.Small};this.SetDoUpdates=function(a){k=a;if(k){Q()}};this.GetContainer=function(){return c};function W(){var b=e;e=Msn.VE.DashboardStates.MapView.Ortho;if(a.IsMapViewOblique()){e=Msn.VE.DashboardStates.MapView.Oblique;if(!q){V()}}if(q&&e!=b){y();s()}}function S(){if(B){B=false;return}if(!A){Z()}else{A=false}}function L(){var a=n.GetSize()==VEMiniMapSize.Small?VEMiniMapSize.Large:VEMiniMapSize.Small;n.SetSize(a)}function R(){if(!k){return}if(!u){o=v();z()}else{u=false}}function I(){if(!k){return}var c=v();if(!a.IsMapViewOblique()&&!c.Equals(o)){b.SetView(c);o=null}}function M(){if(!k){return}z();s()}function P(){if(!k){return}o=v();Q()}function v(){var d=b.GetCurrentMapView().MakeCopy(),e=a.GetCurrentMapView();d.SetCenterLatLong(new Msn.VE.LatLong(e.latlong.latitude,e.latlong.longitude));
var c=1;if(Msn.VE.MapStyle.IsViewOblique(e.style)){c=14}else{c=e.GetZoomLevel()-4}if(c<1){c=1}d.SetZoomLevel(c);d.Resolve(b.GetCurrentMode(),b.GetMapWidth(),b.GetMapHeight());return d}function Q(){var c=0;if(a.IsMapViewOblique()){c=14}else{c=a.GetZoomLevel()-4}if(c<1){c=1}if(b.GetZoomLevel()==c){z();return}b.SetCenterAndZoom(a.GetCenterLatitude(),a.GetCenterLongitude(),c)}function G(a,g,d,f,e,c,b){a.innerText=f;a.id=g;a.title=e;if(typeof b=="undefined"||b==true){a.className=d;a.attachEvent("onclick",c);a.attachEvent("onmousedown",IgnoreEvent)}pseudoHover(a);l.appendChild(a)}function E(a,b){a.detachEvent("onclick",b);a.detachEvent("onmousedown",IgnoreEvent)}function x(){f.title="";b.DetachEvent("onclick",x)}function J(){K()}function F(){X()}function X(){l.className="MSVE_minimap_hybrid_style";b.SetMapStyle("h")}function K(){l.className="MSVE_minimap_road_style";b.SetMapStyle("r")}function ab(){return h}this.GetVersion=ab;function H(b,g){var f=m.IsMapViewOblique()||$MVEM.IsEnabled(MapControl.Features.Minimap.ShowByDefault),d,e,c=$ID("MSVE_minimap"),a=$ID("MSVE_minimap_glyph");if(!a||!c){return}switch(g){case 5:b.rollInDirection=Msn.VE.Animation.RollDirection.RightLeft;b.rollOutDirection=Msn.VE.Animation.RollDirection.LeftRight;d=8;e=0;break;case 6:b.rollInDirection=Msn.VE.Animation.RollDirection.LeftRight|Msn.VE.Animation.RollDirection.BottomUp;b.rollOutDirection=Msn.VE.Animation.RollDirection.RightLeft|Msn.VE.Animation.RollDirection.TopDown;d=a.offsetWidth+1;e=a.offsetHeight;break;default:return}window.minimapRoller=new Msn.VE.Animation.Roller(c);minimapRoller.setAccelerationFunction(AccelerationFunctions.CrazyElevator);minimapRoller.setXLeave(d);minimapRoller.setYLeave(e);pseudoHover(a);Y(c,minimapRoller,"MSVE_minimap_glyph");if(!f){minimapRoller.collapse(b.rollInDirection)}a.onclick=function(){var a=m.GetMinimap();a.SetKeepRollState();if(minimapRoller.isExpanded()){minimapRoller.rollIn(a.rollInDirection)}else{minimapRoller.rollOut(a.rollOutDirection)}};window.attachEvent("onunload",function(){a=c=null;window.detachEvent("onunload",arguments.callee)
})}function Y(a,b,c){b.hookEvent("afterrollin",function(){var d=Msn.VE.Css.Functions,b=m.GetMinimap();d.removeClass(a,"expanded");d.addClass(a,"collapsed");if(b&&b.IsInitialized()){b.SetDoUpdates(false)}$ID(c).title=L_MinimapShowToolTip_Text});b.hookEvent("afterrollout",function(){var d=Msn.VE.Css.Functions,b=m.GetMinimap();d.removeClass(a,"collapsed");d.addClass(a,"expanded");if(b&&b.IsInitialized()){b.SetDoUpdates(true);s()}$ID(c).title=L_MinimapHideToolTip_Text});b.hookEvent("beforerollout",function(){var a=m.GetMinimap();if(a&&!a.IsInitialized()){a.Init()}})}this.creatMinimapRoller=H;Msn.VE.CameraRotator=function(g,j,d){var n=Msn.VE.Css,m=j,g=g,d=d,e=0,c="ortho",a=document.createElement("div");a.id="MSVE_cameraPosition";d.appendChild(a);b(90);function i(){a=null}function k(){a.style.display="none"}function l(){a.style.display="block"}function f(a){b(a)}function h(a){switch(a){case"oblique":c="MSVE_direction";b(90);break;case"ortho":c="MSVE_ortho";b(90);break;default:c="MSVE_ortho";b(90)}}function b(b){e=MathFloor((b+45+720)/90)%4;a.className=c+e}this.Hide=k;this.Show=l;this.Destroy=i;this.SetStyle=h;this.SetOrientation=f}};Msn.VE.DashboardSize=new function(){this.Normal="normal";this.Small="small";this.Tiny="tiny"};Msn.VE.NavControlFactory=function(g,i,c,b,e,h,f,d,j){if(typeof c=="undefined"||c==null){c=Msn.VE.DashboardSize.Normal}if(typeof b=="undefined"||b==null){b="MSVE_dashboardId"}if(!isFinite(parseInt(d))){d=6}var a;switch(d){case 5:a=new Msn.VE.V5Control(g,i,c,b,e,h,f);break;case 6:default:a=new Msn.VE.V6Control(g,i,c,b,e,h,f,j)}a.version=d;a.GetVersion=function(){return a.version};return a};Msn.VE.V5Control=function(z,a,i,C,x,A){Msn.VE.DashboardStates=new function(){this.MapMode=new function(){this.Flatland=1;this.View3D=2};this.MapView=new function(){this.Ortho=4;this.Oblique=8;this.StreetSide=16};this.MapStyle=new function(){this.Road=32;this.Shaded=64;this.Aerial=128;this.Hybrid=256}};var s={Style:"MSVE_navAction_mapStyleCell",Road:"MSVE_navAction_RoadMapStyle",Aerial:"MSVE_navAction_AerialMapStyle",Hybrid:"MSVE_navAction_HybridMapStyle",Mode:"MSVE_navAction_modeCell",Mode2D:"MSVE_navAction_FlatlandMapMode",Mode3D:"MSVE_navAction_View3DMapMode",View:"MSVE_navAction_mapViewCellInner",Ortho:"MSVE_navAction_OrthoMapView",Oblique:"MSVE_navAction_ObliqueMapView",StreetSide:"MSVE_navAction_StreetSideMapView",ShowLabels:"MSVE_navAction_showLabels",Pan:"MSVE_navAction_panContainer",PanUp:"MSVE_navAction_panUp",PanDown:"MSVE_navAction_panDown",PanLeft:"MSVE_navAction_panLeft",PanRight:"MSVE_navAction_panRight",TinyZoom:"MSVE_TinyZoomBar",OrthoZoom:"MSVE_OrthoZoomBar",ObliqueZoom:"MSVE_ObliqueZoomBar",ObliqueCompass:"MSVE_compassDiv",ObliqueNotification:"MSVE_obliqueNotification",ThreeDUpdatedNotification:"MSVE_threeDUpdatedNotification",Traffic:"MSVE_navAction_traffic"},G="Nav Bar";
Msn.VE.CommonControls=function(c,v){function yb(b){var f=document.createElement("div"),e=document.createElement("div"),a=document.createElement("div"),d=document.createElement("div"),w=0,s=0,j=false;this.Init=function(){d.className="MSVE_ZoomBar_minus";d.id="MSVE_navAction_obliqueZoomBar_minus";d.unselectable="on";d.title=L_ZoomBarMinusToolTip_Text;d.attachEvent("onclick",l);pseudoHover(d);a.className="MSVE_ZoomBar_slider";a.id="MSVE_navAction_obliqueZoomBar_slider";a.unselectable="on";a.attachEvent("onmousedown",o);a.attachEvent("onmousemove",p);a.attachEvent("onmouseup",q);a.attachEvent("onclick",IgnoreEvent);pseudoHover(a);e.className="MSVE_ObliqueZoomBar_bar";e.unselectable="on";e.appendChild(a);e.attachEvent("onclick",r);f.className="MSVE_ZoomBar_plus";f.id="MSVE_navAction_obliqueZoomBar_plus";f.title=L_ZoomBarPlusToolTip_Text;f.unselectable="on";f.attachEvent("onclick",m);pseudoHover(f);b.className="MSVE_ZoomBar";b.id="MSVE_ObliqueZoomBar";b.appendChild(d);b.appendChild(e);b.appendChild(f);b.attachEvent("onmousedown",IgnoreEvent);b.attachEvent("onmouseup",IgnoreEvent);b.attachEvent("onclick",IgnoreEvent);b.attachEvent("ondblclick",IgnoreEvent);i()};function v(){b.style.display="block"}function u(){b.style.display="none"}function r(a){a=GetEvent(a);CancelEvent(a);k();n(h(Gimme.Screen.getMousePosition(a).y));return false}function h(b){b-=s+d.offsetHeight+a.offsetHeight;var c=e.offsetHeight-a.offsetHeight;if(b<0){b=0}else{if(b>c){b=c}}return b}function l(){c.ZoomOut()}function m(){c.ZoomIn()}function t(){d.detachEvent("onclick",l);a.detachEvent("onmousedown",o);a.detachEvent("onmousemove",p);a.detachEvent("onmouseup",q);a.detachEvent("onclick",IgnoreEvent);e.detachEvent("onclick",r);f.detachEvent("onclick",m);b.detachEvent("onmousedown",IgnoreEvent);b.detachEvent("onmousedown",IgnoreEvent);b.detachEvent("onclick",IgnoreEvent);b.detachEvent("ondblclick",IgnoreEvent);d=a=e=f=null}function o(b){b=GetEvent(b);CancelEvent(b);k();if(a.setCapture){a.setCapture()}j=true;return false}function p(b){b=GetEvent(b);CancelEvent(b);
if(j){a.style.top=h(Gimme.Screen.getMousePosition(b).y)+"px"}return false}function q(b){b=GetEvent(b);CancelEvent(b);if(a.releaseCapture){a.releaseCapture()}j=false;n(h(Gimme.Screen.getMousePosition(b).y));i();return false}function k(){var a=g(b).getScreenPosition();w=a.x;s=a.y}function n(f){var b=e.offsetHeight-a.offsetHeight,d=1+MathRound((b-f)/b*1);c.SetZoom(d)}function i(){if(c.GetZoomLevel()==1){a.style.top=e.offsetHeight-a.offsetHeight+"px"}else{a.style.top="0px"}}this.Destroy=t;this.Show=v;this.Hide=u;this.UpdateFromMap=i}function C(z,x,y){var a=document.createElement("div");a.setAttribute("id",z);a.innerHTML=x;var c="MSVE_obliqueCompassPointOff",g=y;a.attachEvent("onmouseover",f);a.attachEvent("onmouseout",h);a.attachEvent("onclick",i);this.onclick=null;this.onmouseover=null;this.onmouseout=null;var e=25,b=this,d=false,j=new v(a,17,17);function f(e){if(d){return}c=a.className;a.className="MSVE_obliqueCompassPointHover";if(b.onmouseover){b.onmouseover(e)}}function i(a){if(d){return}f(a);c="MSVE_obliqueCompassPointOn";if(b.onclick){b.onclick(a)}}function h(e){if(d){return}a.className=c;if(b.onmouseout){b.onmouseout(e)}}function m(){c="MSVE_obliqueCompassPointOn";a.className="MSVE_obliqueCompassPointOn"}function l(){c="MSVE_obliqueCompassPointOff";a.className="MSVE_obliqueCompassPointOff"}function u(){d=true;l()}function k(){d=false;m()}function q(){return a}function n(){return g}function o(a){g=a}function w(){j.Reset();k()}function p(b){a.style.left=b.left;a.style.top=b.top}function v(r,n,o){var g=r,a=0,b=0.3,c=0,l=40,k=Math.PI/2,h=true,p=b+0.1;function m(a,b,c){if(b>=c-a&&b<=c+a){return true}return false}function i(){a+=b;if(a>Math.PI*2){a-=Math.PI*2}else{if(a<0){a+=Math.PI*2}}if(m(p,a,c)){b=0.3;a=c;d(a);return}d(a);window.setTimeout(i,l)}function d(a){var b=n+e*Math.sin(a),c=o+e*Math.cos(a);g.style.left=b+"px";g.style.top=c+"px"}function f(a){c=a;i()}function j(a,c){h=c;if(!h){b*=-1}f(k*a)}function q(){a=0}this.RotateTo=f;this.RotateToIndex=j;this.Reset=q}function t(){a.detachEvent("onmouseover",f);a.detachEvent("onmouseout",h);
a.detachEvent("onclick",i);a=null}function s(a){e=a}function r(){return e}this.SetRadius=s;this.GetRadius=r;this.GetElement=q;this.GetCurrentPositionIndex=n;this.SetCurrentPositionIndex=o;this.SetCurrentPosition=p;this.On=m;this.Off=l;this.RotateToIndex=j.RotateToIndex;this.Reset=w;this.Disable=u;this.Enable=k;this.Destroy=t}function xb(D){var o=[];o.push({top:"-8px",left:"17px"});o.push({top:"17px",left:"42px"});o.push({top:"42px",left:"17px"});o.push({top:"17px",left:"-8px"});var f=document.createElement("div");f.setAttribute("id","MSVE_obliqueCompassContainer");f.title=L_ObliqueCompassSelectDirection_Text;var a=new C("MSVE_obliqueCompassPointN","N",0),i=a.GetElement();i.attachEvent("onclick",r);i.attachEvent("onmouseover",u);i.attachEvent("onmouseout",h);var d=new C("MSVE_obliqueCompassPointE","E",1),k=d.GetElement();k.attachEvent("onclick",t);k.attachEvent("onmouseover",x);k.attachEvent("onmouseout",h);var b=new C("MSVE_obliqueCompassPointS","S",2),j=b.GetElement();j.attachEvent("onclick",s);j.attachEvent("onmouseover",v);j.attachEvent("onmouseout",h);var e=new C("MSVE_obliqueCompassPointW","W",3),l=e.GetElement();l.attachEvent("onclick",w);l.attachEvent("onmouseover",y);l.attachEvent("onmouseout",h);var m=document.createElement("div");m.id="MSVE_navAction_obliqueCompassArrow";f.appendChild(i);f.appendChild(k);f.appendChild(j);f.appendChild(l);f.appendChild(m);D.appendChild(f);q();function p(a){if(a<0){a=4-Math.abs(a)}return a}function n(l,i,k){var c=l.GetCurrentPositionIndex(),h,f=[];f[a.GetCurrentPositionIndex()]=L_North_Text;f[b.GetCurrentPositionIndex()]=L_South_Text;f[d.GetCurrentPositionIndex()]=L_East_Text;f[e.GetCurrentPositionIndex()]=L_West_Text;if(i){h=i==Msn.VE.BirdsEyeSearchSpinDirection.CounterclockwiseSpin;if(c+i!=2){var g;switch(i){case -1:switch(c){case 0:case 2:g=[3];break;case 1:g=[3,2]}break;case 1:switch(c){case 0:case 2:g=[1];break;case 3:g=[1,2]}}if(g){var j=L_ObliqueSkippingOneDirection_Text;if(c==0){j=L_ObliqueNoImageryInRequestedDirection_Text}if(g.length==2){j=L_ObliqueSkippingTwoDirections_Text
}if(typeof ShowMessage!="undefined"){ShowMessage(j.replace("%1",f[c]).replace("%2",f[g[0]]).replace("%3",f[g[1]]))}}}}else{h=c!=3;if(k){if(c==0){if(typeof ShowMessage!="undefined"){ShowMessage(L_ObliqueModeImageNotAvailable_Text)}}else{if(typeof ShowMessage!="undefined"){ShowMessage(L_ObliqueNoImageryInRequestedDirection_Text.replace("%1",f[c]).replace("%2",f[0]))}}}}d.SetCurrentPositionIndex(p(d.GetCurrentPositionIndex()-c));e.SetCurrentPositionIndex(p(e.GetCurrentPositionIndex()-c));a.SetCurrentPositionIndex(p(a.GetCurrentPositionIndex()-c));b.SetCurrentPositionIndex(p(b.GetCurrentPositionIndex()-c));a.RotateToIndex(2-a.GetCurrentPositionIndex()<0?a.GetCurrentPositionIndex():2-a.GetCurrentPositionIndex(),h);d.RotateToIndex(2-d.GetCurrentPositionIndex()<0?d.GetCurrentPositionIndex():2-d.GetCurrentPositionIndex(),h);b.RotateToIndex(2-b.GetCurrentPositionIndex()<0?b.GetCurrentPositionIndex():2-b.GetCurrentPositionIndex(),h);e.RotateToIndex(2-e.GetCurrentPositionIndex()<0?e.GetCurrentPositionIndex():2-e.GetCurrentPositionIndex(),h)}function g(a){switch(a){case 0:h();break;case 1:z();break;case 2:A();break;case 3:B()}}function h(){m.className="MSVE_obliqueCompassArrowU"}function A(){m.className="MSVE_obliqueCompassArrowD"}function z(){m.className="MSVE_obliqueCompassArrowR"}function B(){m.className="MSVE_obliqueCompassArrowL"}function s(){if(c.GetDashboard()&&c.GetDashboard().SetLastRotationDirection){c.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)}n(b);g(0);var a=c.GetObliqueScene();if(a){if(a.GetOrientation()!=Msn.VE.Orientation.South){c.SetObliqueOrientation("South",null,true)}}}function r(){if(c.GetDashboard()&&c.GetDashboard().SetLastRotationDirection){c.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)}n(a);g(0);var b=c.GetObliqueScene();if(b){if(b.GetOrientation()!=Msn.VE.Orientation.North){c.SetObliqueOrientation("North",null,true)}}}function t(){if(c.GetDashboard()&&c.GetDashboard().SetLastRotationDirection){c.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)
}n(d);g(0);var a=c.GetObliqueScene();if(a){if(a.GetOrientation()!=Msn.VE.Orientation.East){c.SetObliqueOrientation("East",null,true)}}}function w(){if(c.GetDashboard()&&c.GetDashboard().SetLastRotationDirection){c.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)}n(e);g(0);var a=c.GetObliqueScene();if(a){if(a.GetOrientation()!=Msn.VE.Orientation.West){c.SetObliqueOrientation("West",null,true)}}}function v(){g(b.GetCurrentPositionIndex())}function x(){g(d.GetCurrentPositionIndex())}function y(){g(e.GetCurrentPositionIndex())}function u(){g(a.GetCurrentPositionIndex())}function H(){f.style.display="none"}function I(){f.style.display="block"}function q(k,j){var i=c.GetObliqueScene();if(!i){return}var f=i.GetOrientation(),h;switch(f){case"North":h=a;break;case"South":h=b;break;case"East":h=d;break;case"West":h=e}n(h,k,j);g(0);if(f!=Msn.VE.Orientation.North){a.Enable()}else{a.Disable()}if(f!=Msn.VE.Orientation.South){b.Enable()}else{b.Disable()}if(f!=Msn.VE.Orientation.East){d.Enable()}else{d.Disable()}if(f!=Msn.VE.Orientation.West){e.Enable()}else{e.Disable()}}function G(){a.Destroy();d.Destroy();b.Destroy();e.Destroy();i.detachEvent("onclick",r);i.detachEvent("onmouseover",u);i.detachEvent("onmouseout",h);k.detachEvent("onclick",t);k.detachEvent("onmouseover",x);k.detachEvent("onmouseout",h);j.detachEvent("onclick",s);j.detachEvent("onmouseover",v);j.detachEvent("onmouseout",h);l.detachEvent("onclick",w);l.detachEvent("onmouseover",y);l.detachEvent("onmouseout",h);f=null}function F(c){a.SetRadius(c);b.SetRadius(c);d.SetRadius(c);e.SetRadius(c)}function E(){return a.GetRadius()}this.Hide=H;this.Show=I;this.UpdateFromMap=q;this.SetRadius=F;this.GetRadius=E;this.Destroy=G}function Bb(b){var f=document.createElement("div"),e=document.createElement("div"),a=document.createElement("div"),d=document.createElement("div"),v=0,s=0,j=false;this.Init=function(){d.className="MSVE_ZoomBar_minus";d.id="MSVE_navAction_orthoZoomBar_minus";d.title=L_ZoomBarMinusToolTip_Text;d.unselectable="on";d.attachEvent("onclick",l);
pseudoHover(d);a.className="MSVE_ZoomBar_slider";a.id="MSVE_navAction_orthoZoomBar_slider";a.title=L_ZoomBarSliderToolTip_Text;a.unselectable="on";a.attachEvent("onmousedown",o);a.attachEvent("onmousemove",p);a.attachEvent("onmouseup",q);a.attachEvent("onclick",IgnoreEvent);pseudoHover(a);e.className="MSVE_OrthoZoomBar_bar";e.unselectable="on";e.appendChild(a);e.attachEvent("onclick",r);f.className="MSVE_ZoomBar_plus";f.id="MSVE_navAction_orthoZoomBar_plus";f.title=L_ZoomBarPlusToolTip_Text;f.unselectable="on";f.attachEvent("onclick",m);pseudoHover(f);b.className="MSVE_ZoomBar";b.id="MSVE_OrthoZoomBar";b.appendChild(d);b.appendChild(e);b.appendChild(f);b.attachEvent("onmousedown",IgnoreEvent);b.attachEvent("onmouseup",IgnoreEvent);b.attachEvent("onclick",IgnoreEvent);b.attachEvent("ondblclick",IgnoreEvent);i()};this.Destroy=function(){d.detachEvent("onclick",l);a.detachEvent("onmousedown",o);a.detachEvent("onmousemove",p);a.detachEvent("onmouseup",q);a.detachEvent("onclick",IgnoreEvent);e.detachEvent("onclick",r);f.detachEvent("onclick",m);b.detachEvent("onmousedown",IgnoreEvent);b.detachEvent("onmousedown",IgnoreEvent);b.detachEvent("onclick",IgnoreEvent);b.detachEvent("ondblclick",IgnoreEvent);d=a=e=f=null};function u(){b.style.display="block"}function t(){b.style.display="none"}function k(){var a=g(b).getScreenPosition();v=a.x;s=a.y}function o(b){b=GetEvent(b);CancelEvent(b);k();if(a.setCapture){a.setCapture()}j=true;return false}function p(b){b=GetEvent(b);CancelEvent(b);if(j){a.style.top=h(Gimme.Screen.getMousePosition(b).y)+"px"}return false}function q(b){b=GetEvent(b);CancelEvent(b);if(a.releaseCapture){a.releaseCapture()}j=false;n(h(Gimme.Screen.getMousePosition(b).y));i();return false}function m(){c.ZoomIn()}function l(){c.ZoomOut()}function r(a){a=GetEvent(a);CancelEvent(a);k();n(h(Gimme.Screen.getMousePosition(a).y));return false}function h(b){b-=s+d.offsetHeight+a.offsetHeight;var c=e.offsetHeight-a.offsetHeight;if(b<0){b=0}else{if(b>c){b=c}}return b}function n(f){var b=e.offsetHeight-a.offsetHeight,d=1+MathRound((b-f)/b*18);
c.SetZoom(d)}function i(){var b=e.offsetHeight-a.offsetHeight,d=b-(c.GetZoomLevel()-1)/18*b;a.style.top=d+"px"}this.UpdateFromMap=i;this.Show=u;this.Hide=t}function Eb(){var h=document.createElement("div"),g=document.createElement("div"),f=document.createElement("div"),a=false,d=g,b=f;this.maxZoomLevel=21;this.minZoomLevel=1;this.Init=function(){g.className="MSVE_ZoomBar_plus";g.id="MSVE_navAction_tinyZoomBar_plus";g.title=L_ZoomBarPlusToolTip_Text;g.unselectable="on";f.className="MSVE_ZoomBar_minus";f.id="MSVE_navAction_tinyZoomBar_minus";f.title=L_ZoomBarMinusToolTip_Text;f.unselectable="on";c.AttachEvent("onendzoom",i);h.className="MSVE_ZoomBar";h.id="MSVE_TinyZoomBar";h.appendChild(g);h.appendChild(f);return h};this.HookupPlusMinusEvents=function(b,a){m(b);j(a)};function m(a){if(a){d=a}d.attachEvent("onmousedown",o);d.attachEvent("onmouseup",e);d.attachEvent("onmouseout",e)}this.HookupPlusEvents=m;function j(a){if(a){b=a}b.attachEvent("onmousedown",l);b.attachEvent("onmouseup",e);b.attachEvent("onmouseout",e)}this.HookupMinusEvents=j;function n(){if(d!=null){d.detachEvent("onmousedown",o);d.detachEvent("onmouseup",e);d.detachEvent("onmouseout",e)}if(a=="in"){a=false}}this.UnhookPlusEvents=n;function k(){if(b!=null){b.detachEvent("onmousedown",l);b.detachEvent("onmouseup",e);b.detachEvent("onmouseout",e)}if(a=="out"){a=false}}this.UnhookMinusEvents=k;this.Destroy=function(){n();k();c.DetachEvent("onendzoom",i);g=f=d=b=null};function q(){if(c.GetMapMode()==Msn.VE.MapActionMode.Mode3D){return true}else{return c.IsAnimationEnabled()}}function o(){a="in";c.ZoomIn()}function i(){window.setTimeout(p,q()?1:500)}function p(){if(a=="in"&&c.GetZoomLevel()<21){c.ZoomIn(false)}else{if(a=="out"&&c.GetZoomLevel()>1){c.ZoomOut(false)}}}function l(){a="out";c.ZoomOut()}function e(){a=false}this.GetPlus=function(){return g};this.GetMinus=function(){return f}}var a=s,j=[];j[a.Style]={Id:a.Style,InitialClass:null,OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[a.Road,a.Aerial,a.Hybrid],Text:null};
j[a.Road]={Id:a.Road,InitialClass:"MSVE_MapStyle",OnClickFunction:sb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:t,Enabled:MapControl.Features.MapStyle.Road,Title:L_NavActionRoadToolTip_Text,Children:null,Text:L_NavActionRoad_Text};j[a.Aerial]={Id:a.Aerial,InitialClass:"MSVE_MapStyle",OnClickFunction:mb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:t,Enabled:MapControl.Features.MapStyle.Aerial,Title:L_NavActionAerialToolTip_Text,Children:null,Text:L_NavActionAerial_Text};j[a.Hybrid]={Id:a.Hybrid,InitialClass:"MSVE_MapStyle",OnClickFunction:nb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:t,Enabled:MapControl.Features.MapStyle.Hybrid,Title:L_NavActionHybridToolTip_Text,Children:null,Text:L_NavActionHybrid_Text};j[a.Mode]={Id:a.Mode,InitialClass:"MSVE_modeCell",OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[a.Mode2D,a.Mode3D],Text:null};j[a.Mode2D]={Id:a.Mode2D,InitialClass:"MSVE_MapMode",OnClickFunction:kb,StyleUpdateEvent:"oninitmode",StyleUpdateFunction:Z,Enabled:true,Title:L_NavActionFlatlandToolTip_Text,Children:null,Text:L_NavActionFlatland_Text};j[a.Mode3D]={Id:a.Mode3D,InitialClass:"MSVE_MapMode",OnClickFunction:qb,StyleUpdateEvent:"oninitmode",StyleUpdateFunction:Z,Enabled:MapControl.Features.MapStyle.View3D,Title:L_NavActionView3DToolTip_Text,Children:null,Text:L_NavActionView3D_Text};j[a.View]={Id:a.View,InitialClass:null,OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[a.Ortho,a.Oblique,a.StreetSide],Text:null};j[a.Ortho]={Id:a.Ortho,InitialClass:"MSVE_MapStyle",OnClickFunction:u,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:t,Enabled:true,Title:L_NavActionOrthoToolTip_Text,Children:null,Text:null};j[a.Oblique]={Id:a.Oblique,InitialClass:"MSVE_MapStyle",OnClickFunction:G,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:t,Enabled:false,Title:L_NavActionObliqueToolTip_Text,Children:null,Text:null};j[a.StreetSide]={Id:a.StreetSide,InitialClass:"MSVE_MapStyle",OnClickFunction:hb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:t,Enabled:false,Title:L_NavActionStreetSideToolTip_Text,Children:null,Text:null};
j[a.ShowLabels]={Id:a.ShowLabels,InitialClass:"MSVE_MapStyle",OnClickFunction:vb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:t,Enabled:true,Title:L_NavActionShowLabels_Text,Children:null,Text:L_NavActionLabels_Text};j[a.Traffic]={Id:a.Traffic,InitialClass:"MSVE_MapStyle",OnClickFunction:Ab,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:L_NavActionShowTrafficToolTip_Text,Children:null,Text:L_NavActionTraffic_Text};this.ObliqueFunctions=[];this.ObliqueFunctions.ObliqueImageryIn3D={ObliqueClickFunction:fb,Title:L_NavActionShowObliqueToolTip_Text,DependsOnObliqueAvailability:true};this.ObliqueFunctions.ObliqueTiltIn3D={ObliqueClickFunction:lb,Title:L_NavAction3DObliqueToolTip_Text,DependsOnObliqueAvailability:false};var e=this,b=[],h=Msn.VE.DashboardStates.MapMode.Flatland,d=Msn.VE.DashboardStates.MapView.Ortho,f=Msn.VE.DashboardStates.MapStyle.Road;this.orthoZoom=null;var l;this.obliqueCompass=null;this.obliqueZoom=null;this.displaying3DNotification=false;var z=null;this.Oblique3DFunctionality=this.ObliqueFunctions.ObliqueImageryIn3D;var q=document.createElement("div");q.id="MSVE_navAction_palette";document.body.appendChild(q);var I=false,ab=false,S=19,Q=1,k=true,R=false,r=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin,N;for(N in v){if(v.hasOwnProperty(N)){M(v[N])}}function Ib(){var d=$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)&&(c.IsObliqueAvailable()||c.IsMapViewOblique());if(d){i(a.Oblique,true);if(b[a.ObliqueNotification]&&!c.IsMapViewOblique()&&!g(b[a.Oblique]).hasClass("MSVE_selected")){x()}}else{i(a.Oblique,false);if(b[a.ObliqueNotification]){p()}}W();if(c.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){U()}else{T()}}function Hb(){var a;for(a in v){if(v.hasOwnProperty(a)){J(v[a])}}document.body.removeChild(q);q=null}function M(f){switch(f){case a.OrthoZoom:b[f]=document.createElement("div");e.orthoZoom=new Bb(b[f]);e.orthoZoom.Init();c.AttachEvent("onendzoom",w);q.appendChild(b[f]);w();return;case a.ObliqueZoom:b[f]=document.createElement("div");ab=true;b[f].id=f;q.appendChild(b[f]);
return;case a.TinyZoom:l=new Eb;b[f]=l.Init();c.AttachEvent("onendzoom",w);w();return;case a.ObliqueCompass:b[f]=document.createElement("div");b[f].id=f;I=true;return;case a.ObliqueNotification:db();return;case a.ThreeDUpdatedNotification:cb();return;case a.Oblique:c.AttachEvent("onve3dphotostatechanged",rb)}var d=j[f],g=document.createElement("div");b[d.Id]=g;g.id=d.Id;g.enabled=d.Enabled;g.classRecipients=[g];if(d.Text!=null){g.innerText=d.Text}if(d.OnClickFunction!=null&&d.Enabled==true){g.attachEvent("onclick",d.OnClickFunction)}if(d.StyleUpdateEvent!=null&&d.StyleUpdateFunction!=null){c.AttachEvent(d.StyleUpdateEvent,d.StyleUpdateFunction)}if(d.InitialClass){g.className=d.InitialClass;if(!g.enabled){g.className+="_disabled"}}if(d.Children!=null){var h;for(h in d.Children){if(d.Children.hasOwnProperty(h)){g.appendChild(M(d.Children[h]))}}}else{pseudoHover(g)}switch(f){case a.Oblique:case a.ObliqueCompass:c.AttachEvent("onobliqueenter",zb);c.AttachEvent("onobliqueleave",K);c.AttachEvent("onendmapstyleoblique",pb);c.AttachEvent("onobliquechange",wb);c.AttachEvent("obliquerequestunavailable",eb);break;case a.Traffic:c.AttachEvent("onchangetraffic",A);A()}return g}function J(f){switch(f){case a.OrthoZoom:e.orthoZoom.Destroy();b[f]=null;c.DetachEvent("onendzoom",w);try{q.removeChild(b[f])}catch(k){}return;case a.ObliqueZoom:try{q.removeChild(b[f])}catch(k){}if(e.obliqueZoom){e.obliqueZoom.Destroy();e.obliqueZoom=null}case a.TinyZoom:l.Destroy();b[f]=null;return;case a.ObliqueCompass:if(I&&e.obliqueCompass){e.obliqueCompass.onclick=null;e.obliqueCompass.Destroy();e.obliqueCompass=null}return;case a.ObliqueNotification:b[a.ObliqueNotification].detachEvent("onclick",P);return;case a.ThreeDUpdatedNotification:b[a.ThreeDUpdatedNotification]=null;return;case a.Traffic:c.DetachEvent("onchangetraffic",A)}var i=b[f];if(i==null){return}var d=j[f];if(d.Children!=null){var g,h;for(h in d.Children){if(d.Children.hasOwnProperty(h)){g=d.Children[h];try{i.removeChild(b[g])}catch(k){}J(g)}}}if(d.OnClickFunction!=null){i.detachEvent("onclick",d.OnClickFunction)
}try{if(c&&d.StyleUpdateEvent!=null&&d.StyleUpdateFunction!=null){c.DetachEvent(d.StyleUpdateEvent,d.StyleUpdateFunction)}}catch(k){}b[d.Id]=null}function db(){b[a.ObliqueNotification]=document.createElement("div");b[a.ObliqueNotification].id=a.ObliqueNotification;b[a.ObliqueNotification].attachEvent("onclick",P);b[a.ObliqueNotification].innerHTML+='<div id="MSVE_obliqueNotifyBeak" ></div> <div id="MSVE_obliqueNotifyContent"> <div id="MSVE_obliqueNotifyText" >'+L_DashboardBirdsEyeText_Text+'</div><img id="MSVE_obliqueNotifyImg" /></div>'}function cb(){b[a.ThreeDUpdatedNotification]=document.createElement("div");b[a.ThreeDUpdatedNotification].id=a.ThreeDUpdatedNotification;b[a.ThreeDUpdatedNotification].innerHTML+='<div id="MSVE_threeDNotifyIcon">&nbsp;</div> <div id="MSVE_threeDNotifyText">'+L_Dashboard3DInstalled_Text+"</div>"}function sb(){B()}function B(){if(f==Msn.VE.DashboardStates.MapStyle.Road&&d==Msn.VE.DashboardStates.MapView.Ortho){return}f=Msn.VE.DashboardStates.MapStyle.Road;d=Msn.VE.DashboardStates.MapView.Ortho;m(h+d+f)}function mb(){if(b[a.ShowLabels]){i(a.ShowLabels,true);if(k){Y()}else{X()}}else{X()}}function X(){if(f==Msn.VE.DashboardStates.MapStyle.Aerial&&d==Msn.VE.DashboardStates.MapView.Ortho){return}f=Msn.VE.DashboardStates.MapStyle.Aerial;d=Msn.VE.DashboardStates.MapView.Ortho;m(h+d+f)}function nb(){Y()}function Y(){if(f==Msn.VE.DashboardStates.MapStyle.Hybrid&&d==Msn.VE.DashboardStates.MapView.Ortho){return}f=Msn.VE.DashboardStates.MapStyle.Hybrid;d=Msn.VE.DashboardStates.MapView.Ortho;m(h+d+f)}function u(){if(d==Msn.VE.DashboardStates.MapView.Ortho&&h==Msn.VE.DashboardStates.MapMode.Flatland){return}d=Msn.VE.DashboardStates.MapView.Ortho;if(h==Msn.VE.DashboardStates.MapMode.Flatland){switch(f){case Msn.VE.DashboardStates.MapStyle.Aerial:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)){m(h+d+f)}else{B()}break;case Msn.VE.DashboardStates.MapStyle.Hybrid:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)){m(h+d+f)}else{B()}break;default:m(h+d+f)}}else{m(h+d)}o()}function P(c){if(h==Msn.VE.DashboardStates.MapMode.View3D&&g(b[a.Oblique]).hasClass("MSVE_selected")){p();
c.cancelBubble=true;return}G()}function G(){if(typeof b[a.ObliqueNotification]!="undefined"&&b[a.ObliqueNotification]){p()}if(h==Msn.VE.DashboardStates.MapMode.View3D){e.Oblique3DFunctionality.ObliqueClickFunction()}else{tb()}}var L=null;function fb(){var e=new Date;if(L!=null){if(e.getTime()-L.getTime()<1000){return}}L=e;var d=!g(b[a.Oblique]).hasClass("MSVE_selected");c.Show3DBirdseye(d,f==Msn.VE.DashboardStates.MapStyle.Road||k);var h=d?"RequestLayerBirdsEyeOn":"RequestLayerBirdsEyeOff"}var n;function tb(){if(d===Msn.VE.DashboardStates.MapView.Oblique){return}d=Msn.VE.DashboardStates.MapView.Oblique;y();if(k){f=Msn.VE.DashboardStates.MapStyle.Hybrid}else{f=Msn.VE.DashboardStates.MapStyle.Aerial}if(typeof Msn.VE.API=="undefined"){ob()}else{F()}}function ob(){if(!n){var a=$ID("msve_mapContainer");n=document.createElement("div");n.id="animator";a.appendChild(n)}n.style.display="block";n.className="zoom_animation";window.setTimeout(F,2000)}function F(){if(n){n.parentNode.removeChild(n);n=null}if(c.IsDragging()||c.IsZooming()){window.setTimeout(F,250);return}m(h+d+f)}function lb(){Gb(Msn.VE.DashboardStates.MapMode.View3D+Msn.VE.DashboardStates.MapView.Oblique)}function hb(){if(d==Msn.VE.DashboardStates.MapView.StreetSide&&h==Msn.VE.DashboardStates.MapMode.Flatland){return}d=Msn.VE.DashboardStates.MapView.StreetSide;m(h+d);jb()}function vb(){if(f==Msn.VE.DashboardStates.MapStyle.Aerial){k=true;f=Msn.VE.DashboardStates.MapStyle.Hybrid}else{if(f==Msn.VE.DashboardStates.MapStyle.Hybrid){k=false;f=Msn.VE.DashboardStates.MapStyle.Aerial}}m(h+d+f)}function kb(){c.EnableMode(Msn.VE.MapActionMode.Mode2D)}function qb(){if(typeof b[a.ThreeDUpdatedNotification]!="undefined"&&b[a.ThreeDUpdatedNotification]){E()}if(!c.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){if(typeof ShowMessage!="undefined"){ShowMessage(L_3DLoading_Text);window.setTimeout(View3DSwitch,200)}else{c.EnableMode(Msn.VE.MapActionMode.Mode3D)}}}function A(){if(VE_TrafficManager.turnedOn){g(b[a.Traffic]).addClass("MSVE_selected");b[a.Traffic].title=L_NavActionHideTrafficToolTip_Text
}else{g(b[a.Traffic]).removeClass("MSVE_selected");b[a.Traffic].title=L_NavActionShowTrafficToolTip_Text}}function Ab(){if(VE_TrafficManager.turnedOn){VE_TrafficManager.ClearTraffic()}else{for(var a in Msn.VE.API.Globals.vemapinstances){if(Msn.VE.API.Globals.vemapinstances[a] instanceof VEMap&&Msn.VE.API.Globals.vemapinstances[a].vemapcontrol){VE_TrafficManager.m_vemap=Msn.VE.API.Globals.vemapinstances[a];break}}VE_TrafficManager.turnedOn=true;VE_TrafficManager.showTrafficFlow=true;VE_TrafficManager.showIncidents=true;VE_TrafficManager.showConstructionIncidents=true;VE_TrafficManager.markets=[];VE_TrafficManager.incidents=[];VE_TrafficManager.m_vemap.ShowTrafficLegend();VE_TrafficManager.m_vemap.SetTrafficLegendText(L_MapLegendAndPopupLink_Text);window.setTimeout(VE_TrafficManager.GetMarkets,100)}A()}function rb(c){if(c.enabled=="1"){g(b[a.Oblique]).addClass("MSVE_selected");b[a.Oblique].title=L_NavActionHideObliqueToolTip_Text}else{g(b[a.Oblique]).removeClass("MSVE_selected");b[a.Oblique].title=L_NavActionShowObliqueToolTip_Text}}function t(a){W(a.view.mapStyle)}function Z(a){if(a==Msn.VE.MapActionMode.Mode3D){U()}else{T()}}function U(){if(h==Msn.VE.DashboardStates.MapMode.View3D){return}h=Msn.VE.DashboardStates.MapMode.View3D;if(typeof b[a.View]!="undefined"&&b[a.View]!=null){g(b[a.View].classRecipients).removeClass("MSVE_FlatlandMapMode").addClass("MSVE_View3DMapMode")}i(a.StreetSide,true);i(a.Road,true);i(a.Aerial,true);i(a.Hybrid,true);if(!e.Oblique3DFunctionality.DependsOnObliqueAvailability){i(a.Oblique,true)}else{if(b[a.ObliqueNotification]!=null&&b[a.ObliqueNotification].enabled&&!g(b[a.Oblique]).hasClass("MSVE_selected")){x()}o()}if(typeof b[a.Ortho]!="undefined"&&b[a.Ortho]!=null){b[a.Ortho].title=L_NavAction3DOrthoToolTip_Text}if(typeof b[a.Oblique]!="undefined"&&b[a.Oblique]!=null){b[a.Oblique].title=e.Oblique3DFunctionality.Title;if(b[a.Oblique].enabled&&!g(b[a.Oblique]).hasClass("MSVE_selected")){x()}}if(typeof b[a.StreetSide]!="undefined"&&b[a.StreetSide]!=null){b[a.StreetSide].title=L_NavAction3DStreetSideToolTip_Text
}var f=c.GetDashboard().GetShimmedElements(),d;for(d=0;d<f.length;d++){mvcViewFacade.UpdateShimIfSupported(f[d])}}function T(){h=Msn.VE.DashboardStates.MapMode.Flatland;if(typeof b[a.View]!="undefined"&&b[a.View]!=null){g(b[a.View].classRecipients).removeClass("MSVE_View3DMapMode").addClass("MSVE_FlatlandMapMode")}if(typeof b[a.Ortho]!="undefined"&&b[a.Ortho]!=null){b[a.Ortho].title=L_NavActionOrthoToolTip_Text}if(typeof b[a.Oblique]!="undefined"&&b[a.Oblique]!=null){b[a.Oblique].title=L_NavActionObliqueToolTip_Text}g(b[a.Oblique]).removeClass("MSVE_selected");photoState=0;if($MVEM.IsEnabled(MapControl.Features.MapStyle.Road)){i(a.Road,true)}else{i(a.Road,false)}if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)){i(a.Aerial,true)}else{i(a.Aerial,false)}if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)){i(a.Hybrid,true)}else{i(a.Hybrid,false)}if($MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){c.GetObliqueAvailability("OnFlatlandModeUpdateUIObliqueReturned",O);return}else{O(false)}}function O(b){if(b){i(a.Oblique,true);if(e.obliqueZoom!=null){e.obliqueZoom.UpdateFromMap()}}else{i(a.Oblique,false);d=Msn.VE.DashboardStates.MapView.Ortho;o()}switch(d){case Msn.VE.DashboardStates.MapView.Oblique:if(b&&$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){m(h+d)}else{u()}break;case Msn.VE.DashboardStates.MapView.StreetSide:u();break;case Msn.VE.DashboardStates.MapView.Ortho:switch(f){case Msn.VE.DashboardStates.MapStyle.Aerial:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)){m(h+d+f)}else{B()}break;case Msn.VE.DashboardStates.MapStyle.Hybrid:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)){m(h+d+f)}else{B()}break;default:m(h+d+f)}break;default:u()}}function w(){if(e.orthoZoom){e.orthoZoom.UpdateFromMap()}if(e.obliqueZoom){e.obliqueZoom.UpdateFromMap()}var b=null,a=null;if(l){var f=l.GetPlus();if(f){b=g([f])}var d=l.GetMinus();if(d){a=g([d])}}if(c.IsMapViewOrtho()&&c.GetZoomLevel()==S||c.IsMapViewOblique()&&c.GetZoomLevel()==2){if(b){b.addClass("MSVE_ZoomBar_plus_disabled")}if(l){l.UnhookPlusEvents()
}}else{if(c.GetZoomLevel()==Q){if(a){a.addClass("MSVE_ZoomBar_minus_disabled")}if(l){l.UnhookMinusEvents()}}}if(c.IsMapViewOrtho()&&c.GetZoomLevel()!=S||c.IsMapViewOblique()&&c.GetZoomLevel()!=2){if(b&&b.hasClass("MSVE_ZoomBar_plus_disabled")){b.removeClass("MSVE_ZoomBar_plus_disabled");if(l){l.HookupPlusEvents()}}}if(c.GetZoomLevel()!=Q){if(a&&a.hasClass("MSVE_ZoomBar_minus_disabled")){a.removeClass("MSVE_ZoomBar_minus_disabled");if(l){l.HookupMinusEvents()}}}}function zb(){if(c.IsMapViewOblique()){d=Msn.VE.DashboardStates.MapView.Oblique}if(h==Msn.VE.DashboardStates.MapMode.Flatland||h==Msn.VE.DashboardStates.MapMode.View3D&&e.Oblique3DFunctionality.DependsOnObliqueAvailability){i(a.Oblique,true);if(b[a.ObliqueNotification]&&!c.IsMapViewOblique()&&!g(b[a.Oblique]).hasClass("MSVE_selected")){x()}}}function K(){d=Msn.VE.DashboardStates.MapView.Ortho;o();if(h==Msn.VE.DashboardStates.MapMode.Flatland||h==Msn.VE.DashboardStates.MapMode.View3D&&e.Oblique3DFunctionality.DependsOnObliqueAvailability){i(a.Oblique,false);p()}}function eb(){if(c.IsObliqueAvailable()){e.obliqueCompass.UpdateFromMap(r,true)}else{K()}}function pb(){if(c.IsObliqueAvailable()){d=Msn.VE.DashboardStates.MapView.Ortho;o()}else{K()}}function wb(){if($MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){if(d!=Msn.VE.DashboardStates.MapView.Oblique){d=Msn.VE.DashboardStates.MapView.Oblique;i(a.Oblique,true);y()}}else{d=Msn.VE.DashboardStates.MapView.Oblique;u()}if(b[a.ObliqueNotification]){p()}if(typeof e.obliqueCompass!="undefined"&&e.obliqueCompass!=null){e.obliqueCompass.UpdateFromMap(r);r=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin}}function W(e){if(!e){e=c.GetMapStyle()}switch(e){case Msn.VE.MapStyle.Shaded:case Msn.VE.MapStyle.Road:d=Msn.VE.DashboardStates.MapView.Ortho;o();f=Msn.VE.DashboardStates.MapStyle.Road;ub();if(b[a.ShowLabels]){i(a.ShowLabels,false);g(b[a.ShowLabels]).addClass("MSVE_selected")}break;case Msn.VE.MapStyle.Aerial:d=Msn.VE.DashboardStates.MapView.Ortho;o();f=Msn.VE.DashboardStates.MapStyle.Aerial;H();k=false;if(b[a.ShowLabels]){i(a.ShowLabels,true);
g(b[a.ShowLabels]).removeClass("MSVE_selected")}break;case Msn.VE.MapStyle.Hybrid:d=Msn.VE.DashboardStates.MapView.Ortho;o();f=Msn.VE.DashboardStates.MapStyle.Hybrid;if(b[a.ShowLabels]){k=true;H();i(a.ShowLabels,true);g(b[a.ShowLabels]).addClass("MSVE_selected")}else{V()}break;case Msn.VE.MapStyle.Oblique:d=Msn.VE.DashboardStates.MapView.Oblique;y();f=Msn.VE.DashboardStates.MapStyle.Aerial;if(b[a.ShowLabels]){H();k=false;i(a.ShowLabels,true);g(b[a.ShowLabels]).removeClass("MSVE_selected")}i(a.Oblique,true);break;case Msn.VE.MapStyle.ObliqueHybrid:d=Msn.VE.DashboardStates.MapView.Oblique;y();f=Msn.VE.DashboardStates.MapStyle.Hybrid;if(b[a.ShowLabels]){V();k=true;i(a.ShowLabels,true);g(b[a.ShowLabels]).addClass("MSVE_selected")}i(a.Oblique,true)}if(h==Msn.VE.DashboardStates.MapMode.View3D&&g(b[a.Oblique]).hasClass("MSVE_selected")){if(f==Msn.VE.DashboardStates.MapStyle.Road){c.Show3DBirdseye(true,true)}else{c.Show3DBirdseye(true,k)}}if(b[a.ShowLabels]){if(k||f==Msn.VE.DashboardStates.MapStyle.Road){b[a.ShowLabels].title=L_NavActionHideLabels_Text}else{b[a.ShowLabels].title=L_NavActionShowLabels_Text}}}function ub(){if(typeof b[a.Style]!="undefined"&&b[a.Style]!=null){var c;for(c=0;c<b[a.Style].classRecipients.length;c++){b[a.Style].classRecipients[c].className="MSVE_RoadMapStyle"}}}function H(){if(typeof b[a.Style]!="undefined"&&b[a.Style]!=null){var c;for(c=0;c<b[a.Style].classRecipients.length;c++){b[a.Style].classRecipients[c].className="MSVE_AerialMapStyle"}}}function V(){if(typeof b[a.Style]!="undefined"&&b[a.Style]!=null){var c;for(c=0;c<b[a.Style].classRecipients.length;c++){b[a.Style].classRecipients[c].className="MSVE_HybridMapStyle"}}}function o(){if(typeof b[a.View]!="undefined"&&b[a.View]!=null){var c=g(b[a.View].classRecipients);c.removeClass("MSVE_StreetSideView");c.removeClass("MSVE_ObliqueView");c.addClass("MSVE_OrthoView")}if(b[a.Traffic]!=null){i(a.Traffic,true);A()}r=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin}function y(){if(typeof b[a.View]!="undefined"&&b[a.View]!=null){var c=g(b[a.View].classRecipients);
c.removeClass("MSVE_StreetSideView");c.removeClass("MSVE_OrthoView");c.addClass("MSVE_ObliqueView")}if(I){if(e.obliqueCompass==null){e.obliqueCompass=new xb(b[a.ObliqueCompass]);if(b[a.ObliqueCompass].radius){e.obliqueCompass.SetRadius(b[a.ObliqueCompass].radius)}e.obliqueCompass.onclick=function(){r=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin}}e.obliqueCompass.UpdateFromMap()}if(ab){if(e.obliqueZoom==null){e.obliqueZoom=new yb(b[a.ObliqueZoom]);e.obliqueZoom.Init()}e.obliqueZoom.UpdateFromMap()}if(b[a.Traffic]!=null&&h==Msn.VE.DashboardStates.MapMode.Flatland){i(a.Traffic,false)}}function jb(){if(typeof b[a.View]!="undefined"&&b[a.View]!=null){var c=g(b[a.View].classRecipients);c.removeClass("MSVE_OrthoView");c.removeClass("MSVE_ObliqueView");c.addClass("MSVE_StreetSideView")}}function x(){if(!b[a.ObliqueNotification]){return}if(R){return}R=true;if(!e.displaying3DNotification){if(d!=Msn.VE.DashboardStates.MapView.Oblique){if(!z){var o=g(b[a.ObliqueNotification]),k=o.select("img");for(var i=0;i<k.length&&!z;i++){var j=k.element(i);if(j.id=="MSVE_obliqueNotifyImg"){z=j}}}if(z){z.src=c.GetObliqueMode().GetMiddleTileFilename()}var f=b[a.Oblique];b[a.ObliqueNotification].style.display="block";var m=f.offsetLeft+f.offsetWidth/2-b[a.ObliqueNotification].offsetWidth/2,n=f.offsetTop+f.offsetHeight+4;g(b[a.ObliqueNotification]).setStyle("top",n+"px").setStyle("left",m+"px");var l=D(),h;for(h=0;h<l.length;++h){mvcViewFacade.UpdateShimIfSupported(l[h])}m=n=f=null;window.setTimeout(p,6000)}}}function bb(){if(!b[a.ThreeDUpdatedNotification]){return}p();if(!e.displaying3DNotification){e.displaying3DNotification=true;var c=b[a.Mode3D];b[a.ThreeDUpdatedNotification].style.display="block";var d=c.offsetLeft-6,f=c.offsetTop+c.offsetHeight+4;g(b[a.ThreeDUpdatedNotification]).setStyle("top",f+"px").setStyle("left",d+"px");mvcViewFacade.UpdateShimIfSupported(b[a.ThreeDUpdatedNotification]);c=null;window.setTimeout(E,6000)}}function p(){b[a.ObliqueNotification].style.display="none";var d=D(),c;for(c=0;c<d.length;++c){mvcViewFacade.UpdateShimIfSupported(d[c])
}}function E(){e.displaying3DNotification=false;b[a.ThreeDUpdatedNotification].style.display="none";mvcViewFacade.UpdateShimIfSupported(b[a.ThreeDUpdatedNotification])}function i(c,d){if(b[c]==null){return}if(b[c].enabled==d){return}b[c].enabled=d;var a=j[c];if(a.InitialClass){if(d){g(b[c]).swapClass(a.InitialClass+"_disabled",a.InitialClass)}else{g(b[c]).swapClass(a.InitialClass,a.InitialClass+"_disabled")}}if(a.Title){b[c].title=a.Title}if(a.OnClickFunction){if(d){b[c].attachEvent("onclick",a.OnClickFunction)}else{b[c].detachEvent("onclick",a.OnClickFunction)}}}function m(d){if(d&Msn.VE.DashboardStates.MapView.Ortho||d&Msn.VE.DashboardStates.MapMode.View3D){if(d&Msn.VE.DashboardStates.MapStyle.Road){c.SetMapStyle("r")}else{if(d&Msn.VE.DashboardStates.MapStyle.Aerial){c.SetMapStyle("a")}else{if(d&Msn.VE.DashboardStates.MapStyle.Hybrid){c.SetMapStyle("h")}}}}if(d&Msn.VE.DashboardStates.MapMode.Flatland&&d&Msn.VE.DashboardStates.MapView.Oblique){if(d&Msn.VE.DashboardStates.MapStyle.Aerial&&c.GetMapStyle()!=Msn.VE.MapStyle.Oblique){k=false;if(b[a.ShowLabels]){i(a.ShowLabels,true);g(b[a.ShowLabels]).removeClass("MSVE_selected")}c.SetMapStyle(Msn.VE.MapStyle.Oblique)}else{if(d&Msn.VE.DashboardStates.MapStyle.Hybrid&&c.GetMapStyle()!=Msn.VE.MapStyle.ObliqueHybrid){k=true;if(b[a.ShowLabels]){i(a.ShowLabels,true);g(b[a.ShowLabels]).addClass("MSVE_selected")}c.SetMapStyle(Msn.VE.MapStyle.ObliqueHybrid)}}}}function Gb(a){if(a&Msn.VE.DashboardStates.MapMode.View3D){if(a&Msn.VE.DashboardStates.MapView.Ortho){c.SetTilt(-90)}else{if(a&Msn.VE.DashboardStates.MapView.Oblique){c.SetTilt(-45)}else{if(a&Msn.VE.DashboardStates.MapView.StreetSide){c.SetTilt(-25)}}}}}function D(){return[b[a.ObliqueNotification]]}function Fb(a){return b[a]}function Cb(){return b}function Db(){return l}function gb(){return r}function ib(a){r=a}this.SetMapViewState=function(a){d=a};this.GetMapViewState=function(){return d};this.SetMapModeState=function(a){h=a};this.GetMapModeState=function(){return h};this.SetLabelsState=function(a){k=a};this.GetLabelsState=function(){return k
};this.GetLastRotationDirection=gb;this.SetLastRotationDirection=ib;this.GetObliqueNotifierShimmedElements=D;this.Init=Ib;this.Create=M;this.Destroy=Hb;this.DestroyControl=J;this.GetControl=Fb;this.GetControls=Cb;this.GetTinyZoom=Db;this.OnOrthoMapViewClick=u;this.OnObliqueMapViewClick=G;this.UpdateZoom=w;this.SelectObliqueMapView=y;this.SelectOrthoMapView=o;this.DisplayObliqueNotification=x;this.HideObliqueNotification=p;this.DisplayThreeDUpdatedNotification=bb;this.HideThreeDUpdatedNotification=E};var c=document.createElement("div");c.id=C;z.appendChild(c);c.attachEvent("onmousedown",IgnoreEvent);c.attachEvent("onmouseup",IgnoreEvent);c.attachEvent("onmousemove",DashboardContainerMouseMoveEvent);c.attachEvent("onmousewheel",IgnoreEvent);c.attachEvent("ondblclick",IgnoreEvent);c.attachEvent("oncontextmenu",IgnoreEvent);c.attachEvent("onkeydown",IgnoreEvent);c.attachEvent("onkeyup",IgnoreEvent);c.className="MSVE_Dashboard MSVE_Dashboard_V5 MSVE_FlatlandMapMode";if(i==Msn.VE.DashboardSize.Normal){c.className+=" MSVE_Dashboard_Normal"}else{if(i==Msn.VE.DashboardSize.Small){c.className+=" MSVE_Dashboard_Small"}else{if(i==Msn.VE.DashboardSize.Tiny){c.className+=" MSVE_Dashboard_Tiny"}}}var h=null,f=document.createElement("div");f.className="MSVE_header";f.id="MSVE_navAction_header";var e,d,b=s,o=document.createElement("div");o.id="MSVE_dashboardContainer";var q=document.createElement("div");q.id="MSVE_mapViewRow";o.appendChild(q);var m=document.createElement("div");m.id="MSVE_zoomDiv";var p=document.createElement("div");p.id="MSVE_navAction_mapViewCell";p.className="MSVE_dashboardMapModeContainer";q.appendChild(m);q.appendChild(p);var l=document.createElement("div");l.id="MSVE_mapStyleRow";o.appendChild(l);var j=document.createElement("div");j.id="MSVE_threeDNotification";var n=document.createElement("div");n.id="MSVE_lowerContainer";n.appendChild(o);c.className+=" expanded";c.appendChild(f);c.appendChild(n);var k=false;function E(){if(i==Msn.VE.DashboardSize.Normal){controlsNeeded=[b.Mode,b.View,b.Style,b.OrthoZoom,b.ObliqueCompass,b.ObliqueZoom];
e=new Msn.VE.CommonControls(a,controlsNeeded);d=e.GetControls();e.displaying3DNotification=false;d[b.View].classRecipients=[o];d[b.Mode].classRecipients=[c];e.Oblique3DFunctionality=e.ObliqueFunctions.ObliqueTiltIn3D;e.Init();B(x);this.HideToggleGlyph();p.appendChild(d[b.View]);l.appendChild(d[b.Style]);l.appendChild(d[b.ObliqueCompass]);m.appendChild(d[b.OrthoZoom]);m.appendChild(d[b.ObliqueZoom]);if(A&&$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){e.Create(b.ObliqueNotification);n.appendChild(d[b.ObliqueNotification])}if(Msn.VE.Animation){t()}}if(i==Msn.VE.DashboardSize.Small){controlsNeeded=[b.Style];e=new Msn.VE.CommonControls(a,controlsNeeded);d=e.GetControls();l.appendChild(d[b.Style]);e.Init()}if(i==Msn.VE.DashboardSize.Small||i==Msn.VE.DashboardSize.Tiny){controlsNeeded=[b.TinyZoom];e=new Msn.VE.CommonControls(a,controlsNeeded);d=e.GetControls();m.appendChild(d[b.TinyZoom]);var f=e.GetTinyZoom(),h=f.GetPlus(),g=f.GetMinus();if(h&&g){f.HookupPlusMinusEvents(h,g)}}}function D(){if(i==Msn.VE.DashboardSize.Normal){e.DestroyControl(d[b.OrthoZoom]);e.DestroyControl(d[b.ObliqueZoom]);e.DestroyControl(d[b.ObliqueCompass]);y();if(a){try{a.DetachEvent("onobliquechange",OnObliqueChange);if($MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){a.DetachEvent("onobliqueenter",OnObliqueEnter);a.DetachEvent("onobliqueleave",OnObliqueLeave)}}catch(c){}a=null}}if(i==Msn.VE.DashboardSize.Normal||i==Msn.VE.DashboardSize.Small){e.DestroyControl(d[b.Style]);l.removeChild(d[b.Style])}if(i==Msn.VE.DashboardSize.Small||i==Msn.VE.DashboardSize.Tiny){e.DestroyControl(d[b.TinyZoom]);m.removeChild(d[b.TinyZoom])}l=e.obliqueCompass=null;p=q=null;n=null;j=null;d[b.ObliqueNotification]=m=d[b.ObliqueCompass]=null}function v(){if(!a.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)&&!a.IsMapViewOblique()){n.appendChild(j);j.style.top=-(f.offsetHeight/2+6)+"px";j.innerHTML+='<div id="MSVE_threeDNotifyIcon">&nbsp;</div> <div id="MSVE_threeDNotifyText">'+L_Dashboard3DText_Text+"</div>";j.attachEvent("onclick",u);window.setTimeout(w,6000);
e.displaying3DNotification=true}else{j.style.display="none"}}function B(a){r(a);h=document.createElement("a");h.className="MSVE_toggleGlyph";h.title=L_NavActionHideToolTip_Text;f.appendChild(h)}function r(a){if($MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)&&a!=false){if(!k){e.Create(b.Mode);f.appendChild(d[b.Mode]);v();k=true}f.className="MSVE_header MSVE_with3D"}else{f.className="MSVE_header MSVE_no3D";k=false}}function y(){if(k){e.DestroyControl(b.Mode);if(d[b.Mode]!=null){f.removeChild(d[b.Mode])}k=false}f.removeChild(h);c.removeChild(f);h=f=null}function u(){j.style.display="none";e.displaying3DNotification=false;if(!a.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){if(typeof ShowMessage!="undefined"){ShowMessage(L_3DLoading_Text);window.setTimeout(View3DSwitch,200)}else{a.EnableMode(Msn.VE.MapActionMode.Mode3D)}}}function w(){if(j){j.style.display="none";e.displaying3DNotification=false}if(a!=null&&!a.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){if(a.IsObliqueAvailable()&&$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){e.DisplayObliqueNotification()}}}this.SetX=function(a){c.style.left=a+"px"};this.GetElement=function(){return c};this.GetShimmedElements=function(){return[c]};this.GetHeader=function(){return f};this.GetY=function(){return g(c).getScreenPosition().y};this.GetHeight=function(){return c.offsetHeight};this.ShowToggleGlyph=function(){if(h!=null&&h!="undefined"){h.style.display="block"}};this.HideToggleGlyph=function(){if(h!=null&&h!="undefined"){h.style.display="none"}};this.SetShowMapModeSwitch=function(a){if(a!=k){if(!a){e.DestroyControl(b.Mode);f.removeChild(d[b.Mode]);k=false}r(a)}};function t(){var b=a.GetDashboard().GetHeader().lastChild;a.GetDashboard().ShowToggleGlyph();window.dbRoller=new Msn.VE.Animation.Roller(a.GetDashboard().GetElement());dbRoller.setAccelerationFunction(AccelerationFunctions.CrazyElevator);dbRoller.setYLeave(32);dbRoller.hookEvent("beforerollin",function(){dbRoller.setYLeave(a.GetDashboard().GetHeader().offsetHeight);if(a.GetMinimap()){a.GetMinimap().Hide();
if(a.GetMinimap().IsInitialized()){a.GetMinimap().SetDoUpdates(false)}}});dbRoller.hookEvent("afterrollin",function(){a.GetDashboard().GetElement().className=a.GetDashboard().GetElement().className.replace(/\s*expanded/g,"");a.GetDashboard().GetElement().className+=" collapsed";a.GetDashboard().GetHeader().lastChild.title=L_NavActionShowToolTip_Text});dbRoller.hookEvent("beforerollout",function(){a.GetDashboard().GetElement().className=a.GetDashboard().GetElement().className.replace(/\s*collapsed/g,"");a.GetDashboard().GetElement().className+=" expanded"});dbRoller.hookEvent("afterrollout",function(){if(a.GetMinimap()){a.GetMinimap().Show();if(minimapRoller&&minimapRoller.isExpanded()&&a.GetMinimap().IsInitialized()){a.GetMinimap().SetDoUpdates(true)}}a.GetDashboard().GetHeader().lastChild.title=L_NavActionHideToolTip_Text});dbRoller.hookEvent("roll",RollShim);b.onclick=function(){if(dbRoller.isExpanded()){dbRoller.rollIn(Msn.VE.Animation.RollDirection.BottomUp)}else{dbRoller.rollOut(Msn.VE.Animation.RollDirection.TopDown)}return false};b=null}this.Hide=function(){if(c){c.style.display="none"}};this.Show=function(){if(c){c.style.display="block"}};this.Init=E;this.Destroy=D;this.createRoller=t};function DashboardContainerMouseMoveEvent(a){a=GetEvent(a);return false}Msn.VE.V6Control=function(L,e,mb,jb,D,ab,W,E){Msn.VE.DashboardStates=new function(){this.MapMode=new function(){this.Flatland=1;this.View3D=2};this.MapView=new function(){this.Ortho=4;this.Oblique=8;this.StreetSide=16};this.MapStyle=new function(){this.Road=32;this.Shaded=64;this.Aerial=128;this.Hybrid=256}};var H={Style:"MSVE_navAction_mapStyleCell",Road:"MSVE_navAction_RoadMapStyle",Aerial:"MSVE_navAction_AerialMapStyle",Hybrid:"MSVE_navAction_HybridMapStyle",Mode:"MSVE_navAction_modeCell",Mode2D:"MSVE_navAction_FlatlandMapMode",Mode3D:"MSVE_navAction_View3DMapMode",View:"MSVE_navAction_mapViewCellInner",Ortho:"MSVE_navAction_OrthoMapView",Oblique:"MSVE_navAction_ObliqueMapView",StreetSide:"MSVE_navAction_StreetSideMapView",ShowLabels:"MSVE_navAction_showLabels",Pan:"MSVE_navAction_panContainer",PanUp:"MSVE_navAction_panUp",PanDown:"MSVE_navAction_panDown",PanLeft:"MSVE_navAction_panLeft",PanRight:"MSVE_navAction_panRight",TinyZoom:"MSVE_TinyZoomBar",OrthoZoom:"MSVE_OrthoZoomBar",ObliqueZoom:"MSVE_ObliqueZoomBar",ObliqueCompass:"MSVE_compassDiv",ObliqueNotification:"MSVE_obliqueNotification",ThreeDUpdatedNotification:"MSVE_threeDUpdatedNotification",Traffic:"MSVE_navAction_traffic"},kb="Nav Bar";
Msn.VE.CommonControls=function(c,u){function yb(b){var f=document.createElement("div"),e=document.createElement("div"),a=document.createElement("div"),d=document.createElement("div"),w=0,s=0,j=false;this.Init=function(){d.className="MSVE_ZoomBar_minus";d.id="MSVE_navAction_obliqueZoomBar_minus";d.unselectable="on";d.title=L_ZoomBarMinusToolTip_Text;d.attachEvent("onclick",l);pseudoHover(d);a.className="MSVE_ZoomBar_slider";a.id="MSVE_navAction_obliqueZoomBar_slider";a.unselectable="on";a.attachEvent("onmousedown",o);a.attachEvent("onmousemove",p);a.attachEvent("onmouseup",q);a.attachEvent("onclick",IgnoreEvent);pseudoHover(a);e.className="MSVE_ObliqueZoomBar_bar";e.unselectable="on";e.appendChild(a);e.attachEvent("onclick",r);f.className="MSVE_ZoomBar_plus";f.id="MSVE_navAction_obliqueZoomBar_plus";f.title=L_ZoomBarPlusToolTip_Text;f.unselectable="on";f.attachEvent("onclick",m);pseudoHover(f);b.className="MSVE_ZoomBar";b.id="MSVE_ObliqueZoomBar";b.appendChild(d);b.appendChild(e);b.appendChild(f);b.attachEvent("onmousedown",IgnoreEvent);b.attachEvent("onmouseup",IgnoreEvent);b.attachEvent("onclick",IgnoreEvent);b.attachEvent("ondblclick",IgnoreEvent);i()};function v(){b.style.display="block"}function u(){b.style.display="none"}function r(a){a=GetEvent(a);CancelEvent(a);k();n(h(Gimme.Screen.getMousePosition(a).y));return false}function h(b){b-=s+d.offsetHeight+a.offsetHeight;var c=e.offsetHeight-a.offsetHeight;if(b<0){b=0}else{if(b>c){b=c}}return b}function l(){c.ZoomOut()}function m(){c.ZoomIn()}function t(){d.detachEvent("onclick",l);a.detachEvent("onmousedown",o);a.detachEvent("onmousemove",p);a.detachEvent("onmouseup",q);a.detachEvent("onclick",IgnoreEvent);e.detachEvent("onclick",r);f.detachEvent("onclick",m);b.detachEvent("onmousedown",IgnoreEvent);b.detachEvent("onmousedown",IgnoreEvent);b.detachEvent("onclick",IgnoreEvent);b.detachEvent("ondblclick",IgnoreEvent);d=a=e=f=null}function o(b){b=GetEvent(b);CancelEvent(b);k();if(a.setCapture){a.setCapture()}j=true;return false}function p(b){b=GetEvent(b);CancelEvent(b);
if(j){a.style.top=h(Gimme.Screen.getMousePosition(b).y)+"px"}return false}function q(b){b=GetEvent(b);CancelEvent(b);if(a.releaseCapture){a.releaseCapture()}j=false;n(h(Gimme.Screen.getMousePosition(b).y));i();return false}function k(){var a=g(b).getScreenPosition();w=a.x;s=a.y}function n(f){var b=e.offsetHeight-a.offsetHeight,d=1+MathRound((b-f)/b*1);c.SetZoom(d)}function i(){if(c.GetZoomLevel()==1){a.style.top=e.offsetHeight-a.offsetHeight+"px"}else{a.style.top="0px"}}this.Destroy=t;this.Show=v;this.Hide=u;this.UpdateFromMap=i}function B(z,x,y){var a=document.createElement("div");a.setAttribute("id",z);a.innerHTML=x;var c="MSVE_obliqueCompassPointOff",g=y;a.attachEvent("onmouseover",f);a.attachEvent("onmouseout",h);a.attachEvent("onclick",i);this.onclick=null;this.onmouseover=null;this.onmouseout=null;var e=25,b=this,d=false,j=new v(a,17,17);function f(e){if(d){return}c=a.className;a.className="MSVE_obliqueCompassPointHover";if(b.onmouseover){b.onmouseover(e)}}function i(a){if(d){return}f(a);c="MSVE_obliqueCompassPointOn";if(b.onclick){b.onclick(a)}}function h(e){if(d){return}a.className=c;if(b.onmouseout){b.onmouseout(e)}}function m(){c="MSVE_obliqueCompassPointOn";a.className="MSVE_obliqueCompassPointOn"}function l(){c="MSVE_obliqueCompassPointOff";a.className="MSVE_obliqueCompassPointOff"}function u(){d=true;l()}function k(){d=false;m()}function q(){return a}function n(){return g}function o(a){g=a}function w(){j.Reset();k()}function p(b){a.style.left=b.left;a.style.top=b.top}function v(r,n,o){var g=r,a=0,b=0.3,c=0,l=40,k=Math.PI/2,h=true,p=b+0.1;function m(a,b,c){if(b>=c-a&&b<=c+a){return true}return false}function i(){a+=b;if(a>Math.PI*2){a-=Math.PI*2}else{if(a<0){a+=Math.PI*2}}if(m(p,a,c)){b=0.3;a=c;d(a);return}d(a);window.setTimeout(i,l)}function d(a){var b=n+e*Math.sin(a),c=o+e*Math.cos(a);g.style.left=b+"px";g.style.top=c+"px"}function f(a){c=a;i()}function j(a,c){h=c;if(!h){b*=-1}f(k*a)}function q(){a=0}this.RotateTo=f;this.RotateToIndex=j;this.Reset=q}function t(){a.detachEvent("onmouseover",f);a.detachEvent("onmouseout",h);
a.detachEvent("onclick",i);a=null}function s(a){e=a}function r(){return e}this.SetRadius=s;this.GetRadius=r;this.GetElement=q;this.GetCurrentPositionIndex=n;this.SetCurrentPositionIndex=o;this.SetCurrentPosition=p;this.On=m;this.Off=l;this.RotateToIndex=j.RotateToIndex;this.Reset=w;this.Disable=u;this.Enable=k;this.Destroy=t}function xb(D){var o=[];o.push({top:"-8px",left:"17px"});o.push({top:"17px",left:"42px"});o.push({top:"42px",left:"17px"});o.push({top:"17px",left:"-8px"});var f=document.createElement("div");f.setAttribute("id","MSVE_obliqueCompassContainer");f.title=L_ObliqueCompassSelectDirection_Text;var a=new B("MSVE_obliqueCompassPointN","N",0),i=a.GetElement();i.attachEvent("onclick",r);i.attachEvent("onmouseover",u);i.attachEvent("onmouseout",h);var d=new B("MSVE_obliqueCompassPointE","E",1),k=d.GetElement();k.attachEvent("onclick",t);k.attachEvent("onmouseover",x);k.attachEvent("onmouseout",h);var b=new B("MSVE_obliqueCompassPointS","S",2),j=b.GetElement();j.attachEvent("onclick",s);j.attachEvent("onmouseover",v);j.attachEvent("onmouseout",h);var e=new B("MSVE_obliqueCompassPointW","W",3),l=e.GetElement();l.attachEvent("onclick",w);l.attachEvent("onmouseover",y);l.attachEvent("onmouseout",h);var m=document.createElement("div");m.id="MSVE_navAction_obliqueCompassArrow";f.appendChild(i);f.appendChild(k);f.appendChild(j);f.appendChild(l);f.appendChild(m);D.appendChild(f);q();function p(a){if(a<0){a=4-Math.abs(a)}return a}function n(l,i,k){var c=l.GetCurrentPositionIndex(),h,f=[];f[a.GetCurrentPositionIndex()]=L_North_Text;f[b.GetCurrentPositionIndex()]=L_South_Text;f[d.GetCurrentPositionIndex()]=L_East_Text;f[e.GetCurrentPositionIndex()]=L_West_Text;if(i){h=i==Msn.VE.BirdsEyeSearchSpinDirection.CounterclockwiseSpin;if(c+i!=2){var g;switch(i){case -1:switch(c){case 0:case 2:g=[3];break;case 1:g=[3,2]}break;case 1:switch(c){case 0:case 2:g=[1];break;case 3:g=[1,2]}}if(g){var j=L_ObliqueSkippingOneDirection_Text;if(c==0){j=L_ObliqueNoImageryInRequestedDirection_Text}if(g.length==2){j=L_ObliqueSkippingTwoDirections_Text
}if(typeof ShowMessage!="undefined"){ShowMessage(j.replace("%1",f[c]).replace("%2",f[g[0]]).replace("%3",f[g[1]]))}}}}else{h=c!=3;if(k){if(c==0){if(typeof ShowMessage!="undefined"){ShowMessage(L_ObliqueModeImageNotAvailable_Text)}}else{if(typeof ShowMessage!="undefined"){ShowMessage(L_ObliqueNoImageryInRequestedDirection_Text.replace("%1",f[c]).replace("%2",f[0]))}}}}d.SetCurrentPositionIndex(p(d.GetCurrentPositionIndex()-c));e.SetCurrentPositionIndex(p(e.GetCurrentPositionIndex()-c));a.SetCurrentPositionIndex(p(a.GetCurrentPositionIndex()-c));b.SetCurrentPositionIndex(p(b.GetCurrentPositionIndex()-c));a.RotateToIndex(2-a.GetCurrentPositionIndex()<0?a.GetCurrentPositionIndex():2-a.GetCurrentPositionIndex(),h);d.RotateToIndex(2-d.GetCurrentPositionIndex()<0?d.GetCurrentPositionIndex():2-d.GetCurrentPositionIndex(),h);b.RotateToIndex(2-b.GetCurrentPositionIndex()<0?b.GetCurrentPositionIndex():2-b.GetCurrentPositionIndex(),h);e.RotateToIndex(2-e.GetCurrentPositionIndex()<0?e.GetCurrentPositionIndex():2-e.GetCurrentPositionIndex(),h)}function g(a){switch(a){case 0:h();break;case 1:z();break;case 2:A();break;case 3:C()}}function h(){m.className="MSVE_obliqueCompassArrowU"}function A(){m.className="MSVE_obliqueCompassArrowD"}function z(){m.className="MSVE_obliqueCompassArrowR"}function C(){m.className="MSVE_obliqueCompassArrowL"}function s(){if(c.GetDashboard()&&c.GetDashboard().SetLastRotationDirection){c.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)}n(b);g(0);var a=c.GetObliqueScene();if(a){if(a.GetOrientation()!=Msn.VE.Orientation.South){c.SetObliqueOrientation("South",null,true)}}}function r(){if(c.GetDashboard()&&c.GetDashboard().SetLastRotationDirection){c.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)}n(a);g(0);var b=c.GetObliqueScene();if(b){if(b.GetOrientation()!=Msn.VE.Orientation.North){c.SetObliqueOrientation("North",null,true)}}}function t(){if(c.GetDashboard()&&c.GetDashboard().SetLastRotationDirection){c.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)
}n(d);g(0);var a=c.GetObliqueScene();if(a){if(a.GetOrientation()!=Msn.VE.Orientation.East){c.SetObliqueOrientation("East",null,true)}}}function w(){if(c.GetDashboard()&&c.GetDashboard().SetLastRotationDirection){c.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)}n(e);g(0);var a=c.GetObliqueScene();if(a){if(a.GetOrientation()!=Msn.VE.Orientation.West){c.SetObliqueOrientation("West",null,true)}}}function v(){g(b.GetCurrentPositionIndex())}function x(){g(d.GetCurrentPositionIndex())}function y(){g(e.GetCurrentPositionIndex())}function u(){g(a.GetCurrentPositionIndex())}function H(){f.style.display="none"}function I(){f.style.display="block"}function q(k,j){var i=c.GetObliqueScene();if(!i){return}var f=i.GetOrientation(),h;switch(f){case"North":h=a;break;case"South":h=b;break;case"East":h=d;break;case"West":h=e}n(h,k,j);g(0);if(f!=Msn.VE.Orientation.North){a.Enable()}else{a.Disable()}if(f!=Msn.VE.Orientation.South){b.Enable()}else{b.Disable()}if(f!=Msn.VE.Orientation.East){d.Enable()}else{d.Disable()}if(f!=Msn.VE.Orientation.West){e.Enable()}else{e.Disable()}}function G(){a.Destroy();d.Destroy();b.Destroy();e.Destroy();i.detachEvent("onclick",r);i.detachEvent("onmouseover",u);i.detachEvent("onmouseout",h);k.detachEvent("onclick",t);k.detachEvent("onmouseover",x);k.detachEvent("onmouseout",h);j.detachEvent("onclick",s);j.detachEvent("onmouseover",v);j.detachEvent("onmouseout",h);l.detachEvent("onclick",w);l.detachEvent("onmouseover",y);l.detachEvent("onmouseout",h);f=null}function F(c){a.SetRadius(c);b.SetRadius(c);d.SetRadius(c);e.SetRadius(c)}function E(){return a.GetRadius()}this.Hide=H;this.Show=I;this.UpdateFromMap=q;this.SetRadius=F;this.GetRadius=E;this.Destroy=G}function Bb(b){var f=document.createElement("div"),e=document.createElement("div"),a=document.createElement("div"),d=document.createElement("div"),v=0,s=0,j=false;this.Init=function(){d.className="MSVE_ZoomBar_minus";d.id="MSVE_navAction_orthoZoomBar_minus";d.title=L_ZoomBarMinusToolTip_Text;d.unselectable="on";d.attachEvent("onclick",l);
pseudoHover(d);a.className="MSVE_ZoomBar_slider";a.id="MSVE_navAction_orthoZoomBar_slider";a.title=L_ZoomBarSliderToolTip_Text;a.unselectable="on";a.attachEvent("onmousedown",o);a.attachEvent("onmousemove",p);a.attachEvent("onmouseup",q);a.attachEvent("onclick",IgnoreEvent);pseudoHover(a);e.className="MSVE_OrthoZoomBar_bar";e.unselectable="on";e.appendChild(a);e.attachEvent("onclick",r);f.className="MSVE_ZoomBar_plus";f.id="MSVE_navAction_orthoZoomBar_plus";f.title=L_ZoomBarPlusToolTip_Text;f.unselectable="on";f.attachEvent("onclick",m);pseudoHover(f);b.className="MSVE_ZoomBar";b.id="MSVE_OrthoZoomBar";b.appendChild(d);b.appendChild(e);b.appendChild(f);b.attachEvent("onmousedown",IgnoreEvent);b.attachEvent("onmouseup",IgnoreEvent);b.attachEvent("onclick",IgnoreEvent);b.attachEvent("ondblclick",IgnoreEvent);i()};this.Destroy=function(){d.detachEvent("onclick",l);a.detachEvent("onmousedown",o);a.detachEvent("onmousemove",p);a.detachEvent("onmouseup",q);a.detachEvent("onclick",IgnoreEvent);e.detachEvent("onclick",r);f.detachEvent("onclick",m);b.detachEvent("onmousedown",IgnoreEvent);b.detachEvent("onmousedown",IgnoreEvent);b.detachEvent("onclick",IgnoreEvent);b.detachEvent("ondblclick",IgnoreEvent);d=a=e=f=null};function u(){b.style.display="block"}function t(){b.style.display="none"}function k(){var a=g(b).getScreenPosition();v=a.x;s=a.y}function o(b){b=GetEvent(b);CancelEvent(b);k();if(a.setCapture){a.setCapture()}j=true;return false}function p(b){b=GetEvent(b);CancelEvent(b);if(j){a.style.top=h(Gimme.Screen.getMousePosition(b).y)+"px"}return false}function q(b){b=GetEvent(b);CancelEvent(b);if(a.releaseCapture){a.releaseCapture()}j=false;n(h(Gimme.Screen.getMousePosition(b).y));i();return false}function m(){c.ZoomIn()}function l(){c.ZoomOut()}function r(a){a=GetEvent(a);CancelEvent(a);k();n(h(Gimme.Screen.getMousePosition(a).y));return false}function h(b){b-=s+d.offsetHeight+a.offsetHeight;var c=e.offsetHeight-a.offsetHeight;if(b<0){b=0}else{if(b>c){b=c}}return b}function n(f){var b=e.offsetHeight-a.offsetHeight,d=1+MathRound((b-f)/b*18);
c.SetZoom(d)}function i(){var b=e.offsetHeight-a.offsetHeight,d=b-(c.GetZoomLevel()-1)/18*b;a.style.top=d+"px"}this.UpdateFromMap=i;this.Show=u;this.Hide=t}function Eb(){var h=document.createElement("div"),g=document.createElement("div"),f=document.createElement("div"),a=false,d=g,b=f;this.maxZoomLevel=21;this.minZoomLevel=1;this.Init=function(){g.className="MSVE_ZoomBar_plus";g.id="MSVE_navAction_tinyZoomBar_plus";g.title=L_ZoomBarPlusToolTip_Text;g.unselectable="on";f.className="MSVE_ZoomBar_minus";f.id="MSVE_navAction_tinyZoomBar_minus";f.title=L_ZoomBarMinusToolTip_Text;f.unselectable="on";c.AttachEvent("onendzoom",i);h.className="MSVE_ZoomBar";h.id="MSVE_TinyZoomBar";h.appendChild(g);h.appendChild(f);return h};this.HookupPlusMinusEvents=function(b,a){m(b);j(a)};function m(a){if(a){d=a}d.attachEvent("onmousedown",o);d.attachEvent("onmouseup",e);d.attachEvent("onmouseout",e)}this.HookupPlusEvents=m;function j(a){if(a){b=a}b.attachEvent("onmousedown",l);b.attachEvent("onmouseup",e);b.attachEvent("onmouseout",e)}this.HookupMinusEvents=j;function n(){if(d!=null){d.detachEvent("onmousedown",o);d.detachEvent("onmouseup",e);d.detachEvent("onmouseout",e)}if(a=="in"){a=false}}this.UnhookPlusEvents=n;function k(){if(b!=null){b.detachEvent("onmousedown",l);b.detachEvent("onmouseup",e);b.detachEvent("onmouseout",e)}if(a=="out"){a=false}}this.UnhookMinusEvents=k;this.Destroy=function(){n();k();c.DetachEvent("onendzoom",i);g=f=d=b=null};function q(){if(c.GetMapMode()==Msn.VE.MapActionMode.Mode3D){return true}else{return c.IsAnimationEnabled()}}function o(){a="in";c.ZoomIn()}function i(){window.setTimeout(p,q()?1:500)}function p(){if(a=="in"&&c.GetZoomLevel()<21){c.ZoomIn(false)}else{if(a=="out"&&c.GetZoomLevel()>1){c.ZoomOut(false)}}}function l(){a="out";c.ZoomOut()}function e(){a=false}this.GetPlus=function(){return g};this.GetMinus=function(){return f}}var a=H,j=[];j[a.Style]={Id:a.Style,InitialClass:null,OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[a.Road,a.Aerial,a.Hybrid],Text:null};
j[a.Road]={Id:a.Road,InitialClass:"MSVE_MapStyle",OnClickFunction:sb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:s,Enabled:MapControl.Features.MapStyle.Road,Title:L_NavActionRoadToolTip_Text,Children:null,Text:L_NavActionRoad_Text};j[a.Aerial]={Id:a.Aerial,InitialClass:"MSVE_MapStyle",OnClickFunction:mb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:s,Enabled:MapControl.Features.MapStyle.Aerial,Title:L_NavActionAerialToolTip_Text,Children:null,Text:L_NavActionAerial_Text};j[a.Hybrid]={Id:a.Hybrid,InitialClass:"MSVE_MapStyle",OnClickFunction:nb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:s,Enabled:MapControl.Features.MapStyle.Hybrid,Title:L_NavActionHybridToolTip_Text,Children:null,Text:L_NavActionHybrid_Text};j[a.Mode]={Id:a.Mode,InitialClass:"MSVE_modeCell",OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[a.Mode2D,a.Mode3D],Text:null};j[a.Mode2D]={Id:a.Mode2D,InitialClass:"MSVE_MapMode",OnClickFunction:kb,StyleUpdateEvent:"oninitmode",StyleUpdateFunction:Z,Enabled:true,Title:L_NavActionFlatlandToolTip_Text,Children:null,Text:L_NavActionFlatland_Text};j[a.Mode3D]={Id:a.Mode3D,InitialClass:"MSVE_MapMode",OnClickFunction:qb,StyleUpdateEvent:"oninitmode",StyleUpdateFunction:Z,Enabled:MapControl.Features.MapStyle.View3D,Title:L_NavActionView3DToolTip_Text,Children:null,Text:L_NavActionView3D_Text};j[a.View]={Id:a.View,InitialClass:null,OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[a.Ortho,a.Oblique,a.StreetSide],Text:null};j[a.Ortho]={Id:a.Ortho,InitialClass:"MSVE_MapStyle",OnClickFunction:t,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:s,Enabled:true,Title:L_NavActionOrthoToolTip_Text,Children:null,Text:null};j[a.Oblique]={Id:a.Oblique,InitialClass:"MSVE_MapStyle",OnClickFunction:F,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:s,Enabled:false,Title:L_NavActionObliqueToolTip_Text,Children:null,Text:null};j[a.StreetSide]={Id:a.StreetSide,InitialClass:"MSVE_MapStyle",OnClickFunction:hb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:s,Enabled:false,Title:L_NavActionStreetSideToolTip_Text,Children:null,Text:null};
j[a.ShowLabels]={Id:a.ShowLabels,InitialClass:"MSVE_MapStyle",OnClickFunction:vb,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:s,Enabled:true,Title:L_NavActionShowLabels_Text,Children:null,Text:L_NavActionLabels_Text};j[a.Traffic]={Id:a.Traffic,InitialClass:"MSVE_MapStyle",OnClickFunction:Ab,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:L_NavActionShowTrafficToolTip_Text,Children:null,Text:L_NavActionTraffic_Text};this.ObliqueFunctions=[];this.ObliqueFunctions.ObliqueImageryIn3D={ObliqueClickFunction:fb,Title:L_NavActionShowObliqueToolTip_Text,DependsOnObliqueAvailability:true};this.ObliqueFunctions.ObliqueTiltIn3D={ObliqueClickFunction:lb,Title:L_NavAction3DObliqueToolTip_Text,DependsOnObliqueAvailability:false};var e=this,b=[],h=Msn.VE.DashboardStates.MapMode.Flatland,d=Msn.VE.DashboardStates.MapView.Ortho,f=Msn.VE.DashboardStates.MapStyle.Road;this.orthoZoom=null;var l;this.obliqueCompass=null;this.obliqueZoom=null;this.displaying3DNotification=false;var y=null;this.Oblique3DFunctionality=this.ObliqueFunctions.ObliqueImageryIn3D;var q=document.createElement("div");q.id="MSVE_navAction_palette";document.body.appendChild(q);var I=false,ab=false,S=19,Q=1,k=true,R=false,r=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin,N;for(N in u){if(u.hasOwnProperty(N)){M(u[N])}}function Ib(){var d=$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)&&(c.IsObliqueAvailable()||c.IsMapViewOblique());if(d){i(a.Oblique,true);if(b[a.ObliqueNotification]&&!c.IsMapViewOblique()&&!g(b[a.Oblique]).hasClass("MSVE_selected")){w()}}else{i(a.Oblique,false);if(b[a.ObliqueNotification]){p()}}W();if(c.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){U()}else{T()}}function Hb(){var a;for(a in u){if(u.hasOwnProperty(a)){J(u[a])}}document.body.removeChild(q);q=null}function M(f){switch(f){case a.OrthoZoom:b[f]=document.createElement("div");e.orthoZoom=new Bb(b[f]);e.orthoZoom.Init();c.AttachEvent("onendzoom",v);q.appendChild(b[f]);v();return;case a.ObliqueZoom:b[f]=document.createElement("div");ab=true;b[f].id=f;q.appendChild(b[f]);
return;case a.TinyZoom:l=new Eb;b[f]=l.Init();c.AttachEvent("onendzoom",v);v();return;case a.ObliqueCompass:b[f]=document.createElement("div");b[f].id=f;I=true;return;case a.ObliqueNotification:db();return;case a.ThreeDUpdatedNotification:cb();return;case a.Oblique:c.AttachEvent("onve3dphotostatechanged",rb)}var d=j[f],g=document.createElement("div");b[d.Id]=g;g.id=d.Id;g.enabled=d.Enabled;g.classRecipients=[g];if(d.Text!=null){g.innerText=d.Text}if(d.OnClickFunction!=null&&d.Enabled==true){g.attachEvent("onclick",d.OnClickFunction)}if(d.StyleUpdateEvent!=null&&d.StyleUpdateFunction!=null){c.AttachEvent(d.StyleUpdateEvent,d.StyleUpdateFunction)}if(d.InitialClass){g.className=d.InitialClass;if(!g.enabled){g.className+="_disabled"}}if(d.Children!=null){var h;for(h in d.Children){if(d.Children.hasOwnProperty(h)){g.appendChild(M(d.Children[h]))}}}else{pseudoHover(g)}switch(f){case a.Oblique:case a.ObliqueCompass:c.AttachEvent("onobliqueenter",zb);c.AttachEvent("onobliqueleave",K);c.AttachEvent("onendmapstyleoblique",pb);c.AttachEvent("onobliquechange",wb);c.AttachEvent("obliquerequestunavailable",eb);break;case a.Traffic:c.AttachEvent("onchangetraffic",z);z()}return g}function J(f){switch(f){case a.OrthoZoom:e.orthoZoom.Destroy();b[f]=null;c.DetachEvent("onendzoom",v);try{q.removeChild(b[f])}catch(k){}return;case a.ObliqueZoom:try{q.removeChild(b[f])}catch(k){}if(e.obliqueZoom){e.obliqueZoom.Destroy();e.obliqueZoom=null}case a.TinyZoom:l.Destroy();b[f]=null;return;case a.ObliqueCompass:if(I&&e.obliqueCompass){e.obliqueCompass.onclick=null;e.obliqueCompass.Destroy();e.obliqueCompass=null}return;case a.ObliqueNotification:b[a.ObliqueNotification].detachEvent("onclick",P);return;case a.ThreeDUpdatedNotification:b[a.ThreeDUpdatedNotification]=null;return;case a.Traffic:c.DetachEvent("onchangetraffic",z)}var i=b[f];if(i==null){return}var d=j[f];if(d.Children!=null){var g,h;for(h in d.Children){if(d.Children.hasOwnProperty(h)){g=d.Children[h];try{i.removeChild(b[g])}catch(k){}J(g)}}}if(d.OnClickFunction!=null){i.detachEvent("onclick",d.OnClickFunction)
}try{if(c&&d.StyleUpdateEvent!=null&&d.StyleUpdateFunction!=null){c.DetachEvent(d.StyleUpdateEvent,d.StyleUpdateFunction)}}catch(k){}b[d.Id]=null}function db(){b[a.ObliqueNotification]=document.createElement("div");b[a.ObliqueNotification].id=a.ObliqueNotification;b[a.ObliqueNotification].attachEvent("onclick",P);b[a.ObliqueNotification].innerHTML+='<div id="MSVE_obliqueNotifyBeak" ></div> <div id="MSVE_obliqueNotifyContent"> <div id="MSVE_obliqueNotifyText" >'+L_DashboardBirdsEyeText_Text+'</div><img id="MSVE_obliqueNotifyImg" /></div>'}function cb(){b[a.ThreeDUpdatedNotification]=document.createElement("div");b[a.ThreeDUpdatedNotification].id=a.ThreeDUpdatedNotification;b[a.ThreeDUpdatedNotification].innerHTML+='<div id="MSVE_threeDNotifyIcon">&nbsp;</div> <div id="MSVE_threeDNotifyText">'+L_Dashboard3DInstalled_Text+"</div>"}function sb(){A()}function A(){if(f==Msn.VE.DashboardStates.MapStyle.Road&&d==Msn.VE.DashboardStates.MapView.Ortho){return}f=Msn.VE.DashboardStates.MapStyle.Road;d=Msn.VE.DashboardStates.MapView.Ortho;m(h+d+f)}function mb(){if(b[a.ShowLabels]){i(a.ShowLabels,true);if(k){Y()}else{X()}}else{X()}}function X(){if(f==Msn.VE.DashboardStates.MapStyle.Aerial&&d==Msn.VE.DashboardStates.MapView.Ortho){return}f=Msn.VE.DashboardStates.MapStyle.Aerial;d=Msn.VE.DashboardStates.MapView.Ortho;m(h+d+f)}function nb(){Y()}function Y(){if(f==Msn.VE.DashboardStates.MapStyle.Hybrid&&d==Msn.VE.DashboardStates.MapView.Ortho){return}f=Msn.VE.DashboardStates.MapStyle.Hybrid;d=Msn.VE.DashboardStates.MapView.Ortho;m(h+d+f)}function t(){if(d==Msn.VE.DashboardStates.MapView.Ortho&&h==Msn.VE.DashboardStates.MapMode.Flatland){return}d=Msn.VE.DashboardStates.MapView.Ortho;if(h==Msn.VE.DashboardStates.MapMode.Flatland){switch(f){case Msn.VE.DashboardStates.MapStyle.Aerial:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)){m(h+d+f)}else{A()}break;case Msn.VE.DashboardStates.MapStyle.Hybrid:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)){m(h+d+f)}else{A()}break;default:m(h+d+f)}}else{m(h+d)}o()}function P(c){if(h==Msn.VE.DashboardStates.MapMode.View3D&&g(b[a.Oblique]).hasClass("MSVE_selected")){p();
c.cancelBubble=true;return}F()}function F(){if(typeof b[a.ObliqueNotification]!="undefined"&&b[a.ObliqueNotification]){p()}if(h==Msn.VE.DashboardStates.MapMode.View3D){e.Oblique3DFunctionality.ObliqueClickFunction()}else{tb()}}var L=null;function fb(){var e=new Date;if(L!=null){if(e.getTime()-L.getTime()<1000){return}}L=e;var d=!g(b[a.Oblique]).hasClass("MSVE_selected");c.Show3DBirdseye(d,f==Msn.VE.DashboardStates.MapStyle.Road||k);var h=d?"RequestLayerBirdsEyeOn":"RequestLayerBirdsEyeOff"}var n;function tb(){if(d===Msn.VE.DashboardStates.MapView.Oblique){return}d=Msn.VE.DashboardStates.MapView.Oblique;x();if(k){f=Msn.VE.DashboardStates.MapStyle.Hybrid}else{f=Msn.VE.DashboardStates.MapStyle.Aerial}if(typeof Msn.VE.API=="undefined"){ob()}else{E()}}function ob(){if(!n){var a=$ID("msve_mapContainer");n=document.createElement("div");n.id="animator";a.appendChild(n)}n.style.display="block";n.className="zoom_animation";window.setTimeout(E,2000)}function E(){if(n){n.parentNode.removeChild(n);n=null}if(c.IsDragging()||c.IsZooming()){window.setTimeout(E,250);return}m(h+d+f)}function lb(){Gb(Msn.VE.DashboardStates.MapMode.View3D+Msn.VE.DashboardStates.MapView.Oblique)}function hb(){if(d==Msn.VE.DashboardStates.MapView.StreetSide&&h==Msn.VE.DashboardStates.MapMode.Flatland){return}d=Msn.VE.DashboardStates.MapView.StreetSide;m(h+d);jb()}function vb(){if(f==Msn.VE.DashboardStates.MapStyle.Aerial){k=true;f=Msn.VE.DashboardStates.MapStyle.Hybrid}else{if(f==Msn.VE.DashboardStates.MapStyle.Hybrid){k=false;f=Msn.VE.DashboardStates.MapStyle.Aerial}}m(h+d+f)}function kb(){c.EnableMode(Msn.VE.MapActionMode.Mode2D)}function qb(){if(typeof b[a.ThreeDUpdatedNotification]!="undefined"&&b[a.ThreeDUpdatedNotification]){D()}if(!c.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){if(typeof ShowMessage!="undefined"){ShowMessage(L_3DLoading_Text);window.setTimeout(View3DSwitch,200)}else{c.EnableMode(Msn.VE.MapActionMode.Mode3D)}}}function z(){if(VE_TrafficManager.turnedOn){g(b[a.Traffic]).addClass("MSVE_selected");b[a.Traffic].title=L_NavActionHideTrafficToolTip_Text
}else{g(b[a.Traffic]).removeClass("MSVE_selected");b[a.Traffic].title=L_NavActionShowTrafficToolTip_Text}}function Ab(){if(VE_TrafficManager.turnedOn){VE_TrafficManager.ClearTraffic()}else{for(var a in Msn.VE.API.Globals.vemapinstances){if(Msn.VE.API.Globals.vemapinstances[a] instanceof VEMap&&Msn.VE.API.Globals.vemapinstances[a].vemapcontrol){VE_TrafficManager.m_vemap=Msn.VE.API.Globals.vemapinstances[a];break}}VE_TrafficManager.turnedOn=true;VE_TrafficManager.showTrafficFlow=true;VE_TrafficManager.showIncidents=true;VE_TrafficManager.showConstructionIncidents=true;VE_TrafficManager.markets=[];VE_TrafficManager.incidents=[];VE_TrafficManager.m_vemap.ShowTrafficLegend();VE_TrafficManager.m_vemap.SetTrafficLegendText(L_MapLegendAndPopupLink_Text);window.setTimeout(VE_TrafficManager.GetMarkets,100)}z()}function rb(c){if(c.enabled=="1"){g(b[a.Oblique]).addClass("MSVE_selected");b[a.Oblique].title=L_NavActionHideObliqueToolTip_Text}else{g(b[a.Oblique]).removeClass("MSVE_selected");b[a.Oblique].title=L_NavActionShowObliqueToolTip_Text}}function s(a){W(a.view.mapStyle)}function Z(a){if(a==Msn.VE.MapActionMode.Mode3D){U()}else{T()}}function U(){if(h==Msn.VE.DashboardStates.MapMode.View3D){return}h=Msn.VE.DashboardStates.MapMode.View3D;if(typeof b[a.View]!="undefined"&&b[a.View]!=null){g(b[a.View].classRecipients).removeClass("MSVE_FlatlandMapMode").addClass("MSVE_View3DMapMode")}i(a.StreetSide,true);i(a.Road,true);i(a.Aerial,true);i(a.Hybrid,true);if(!e.Oblique3DFunctionality.DependsOnObliqueAvailability){i(a.Oblique,true)}else{if(b[a.ObliqueNotification]!=null&&b[a.ObliqueNotification].enabled&&!g(b[a.Oblique]).hasClass("MSVE_selected")){w()}o()}if(typeof b[a.Ortho]!="undefined"&&b[a.Ortho]!=null){b[a.Ortho].title=L_NavAction3DOrthoToolTip_Text}if(typeof b[a.Oblique]!="undefined"&&b[a.Oblique]!=null){b[a.Oblique].title=e.Oblique3DFunctionality.Title;if(b[a.Oblique].enabled&&!g(b[a.Oblique]).hasClass("MSVE_selected")){w()}}if(typeof b[a.StreetSide]!="undefined"&&b[a.StreetSide]!=null){b[a.StreetSide].title=L_NavAction3DStreetSideToolTip_Text
}var f=c.GetDashboard().GetShimmedElements(),d;for(d=0;d<f.length;d++){mvcViewFacade.UpdateShimIfSupported(f[d])}}function T(){h=Msn.VE.DashboardStates.MapMode.Flatland;if(typeof b[a.View]!="undefined"&&b[a.View]!=null){g(b[a.View].classRecipients).removeClass("MSVE_View3DMapMode").addClass("MSVE_FlatlandMapMode")}if(typeof b[a.Ortho]!="undefined"&&b[a.Ortho]!=null){b[a.Ortho].title=L_NavActionOrthoToolTip_Text}if(typeof b[a.Oblique]!="undefined"&&b[a.Oblique]!=null){b[a.Oblique].title=L_NavActionObliqueToolTip_Text}g(b[a.Oblique]).removeClass("MSVE_selected");photoState=0;if($MVEM.IsEnabled(MapControl.Features.MapStyle.Road)){i(a.Road,true)}else{i(a.Road,false)}if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)){i(a.Aerial,true)}else{i(a.Aerial,false)}if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)){i(a.Hybrid,true)}else{i(a.Hybrid,false)}if($MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){c.GetObliqueAvailability("OnFlatlandModeUpdateUIObliqueReturned",O);return}else{O(false)}}function O(b){if(b){i(a.Oblique,true);if(e.obliqueZoom!=null){e.obliqueZoom.UpdateFromMap()}}else{i(a.Oblique,false);d=Msn.VE.DashboardStates.MapView.Ortho;o()}switch(d){case Msn.VE.DashboardStates.MapView.Oblique:if(b&&$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){m(h+d)}else{t()}break;case Msn.VE.DashboardStates.MapView.StreetSide:t();break;case Msn.VE.DashboardStates.MapView.Ortho:switch(f){case Msn.VE.DashboardStates.MapStyle.Aerial:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)){m(h+d+f)}else{A()}break;case Msn.VE.DashboardStates.MapStyle.Hybrid:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)){m(h+d+f)}else{A()}break;default:m(h+d+f)}break;default:t()}}function v(){if(e.orthoZoom){e.orthoZoom.UpdateFromMap()}if(e.obliqueZoom){e.obliqueZoom.UpdateFromMap()}var b=null,a=null;if(l){var f=l.GetPlus();if(f){b=g([f])}var d=l.GetMinus();if(d){a=g([d])}}if(c.IsMapViewOrtho()&&c.GetZoomLevel()==S||c.IsMapViewOblique()&&c.GetZoomLevel()==2){if(b){b.addClass("MSVE_ZoomBar_plus_disabled")}if(l){l.UnhookPlusEvents()
}}else{if(c.GetZoomLevel()==Q){if(a){a.addClass("MSVE_ZoomBar_minus_disabled")}if(l){l.UnhookMinusEvents()}}}if(c.IsMapViewOrtho()&&c.GetZoomLevel()!=S||c.IsMapViewOblique()&&c.GetZoomLevel()!=2){if(b&&b.hasClass("MSVE_ZoomBar_plus_disabled")){b.removeClass("MSVE_ZoomBar_plus_disabled");if(l){l.HookupPlusEvents()}}}if(c.GetZoomLevel()!=Q){if(a&&a.hasClass("MSVE_ZoomBar_minus_disabled")){a.removeClass("MSVE_ZoomBar_minus_disabled");if(l){l.HookupMinusEvents()}}}}function zb(){if(c.IsMapViewOblique()){d=Msn.VE.DashboardStates.MapView.Oblique}if(h==Msn.VE.DashboardStates.MapMode.Flatland||h==Msn.VE.DashboardStates.MapMode.View3D&&e.Oblique3DFunctionality.DependsOnObliqueAvailability){i(a.Oblique,true);if(b[a.ObliqueNotification]&&!c.IsMapViewOblique()&&!g(b[a.Oblique]).hasClass("MSVE_selected")){w()}}}function K(){d=Msn.VE.DashboardStates.MapView.Ortho;o();if(h==Msn.VE.DashboardStates.MapMode.Flatland||h==Msn.VE.DashboardStates.MapMode.View3D&&e.Oblique3DFunctionality.DependsOnObliqueAvailability){i(a.Oblique,false);p()}}function eb(){if(c.IsObliqueAvailable()){e.obliqueCompass.UpdateFromMap(r,true)}else{K()}}function pb(){if(c.IsObliqueAvailable()){d=Msn.VE.DashboardStates.MapView.Ortho;o()}else{K()}}function wb(){if($MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){if(d!=Msn.VE.DashboardStates.MapView.Oblique){d=Msn.VE.DashboardStates.MapView.Oblique;i(a.Oblique,true);x()}}else{d=Msn.VE.DashboardStates.MapView.Oblique;t()}if(b[a.ObliqueNotification]){p()}if(typeof e.obliqueCompass!="undefined"&&e.obliqueCompass!=null){e.obliqueCompass.UpdateFromMap(r);r=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin}}function W(e){if(!e){e=c.GetMapStyle()}switch(e){case Msn.VE.MapStyle.Shaded:case Msn.VE.MapStyle.Road:d=Msn.VE.DashboardStates.MapView.Ortho;o();f=Msn.VE.DashboardStates.MapStyle.Road;ub();if(b[a.ShowLabels]){i(a.ShowLabels,false);g(b[a.ShowLabels]).addClass("MSVE_selected")}break;case Msn.VE.MapStyle.Aerial:d=Msn.VE.DashboardStates.MapView.Ortho;o();f=Msn.VE.DashboardStates.MapStyle.Aerial;G();k=false;if(b[a.ShowLabels]){i(a.ShowLabels,true);
g(b[a.ShowLabels]).removeClass("MSVE_selected")}break;case Msn.VE.MapStyle.Hybrid:d=Msn.VE.DashboardStates.MapView.Ortho;o();f=Msn.VE.DashboardStates.MapStyle.Hybrid;if(b[a.ShowLabels]){k=true;G();i(a.ShowLabels,true);g(b[a.ShowLabels]).addClass("MSVE_selected")}else{V()}break;case Msn.VE.MapStyle.Oblique:d=Msn.VE.DashboardStates.MapView.Oblique;x();f=Msn.VE.DashboardStates.MapStyle.Aerial;if(b[a.ShowLabels]){G();k=false;i(a.ShowLabels,true);g(b[a.ShowLabels]).removeClass("MSVE_selected")}i(a.Oblique,true);break;case Msn.VE.MapStyle.ObliqueHybrid:d=Msn.VE.DashboardStates.MapView.Oblique;x();f=Msn.VE.DashboardStates.MapStyle.Hybrid;if(b[a.ShowLabels]){V();k=true;i(a.ShowLabels,true);g(b[a.ShowLabels]).addClass("MSVE_selected")}i(a.Oblique,true)}if(h==Msn.VE.DashboardStates.MapMode.View3D&&g(b[a.Oblique]).hasClass("MSVE_selected")){if(f==Msn.VE.DashboardStates.MapStyle.Road){c.Show3DBirdseye(true,true)}else{c.Show3DBirdseye(true,k)}}if(b[a.ShowLabels]){if(k||f==Msn.VE.DashboardStates.MapStyle.Road){b[a.ShowLabels].title=L_NavActionHideLabels_Text}else{b[a.ShowLabels].title=L_NavActionShowLabels_Text}}}function ub(){if(typeof b[a.Style]!="undefined"&&b[a.Style]!=null){var c;for(c=0;c<b[a.Style].classRecipients.length;c++){b[a.Style].classRecipients[c].className="MSVE_RoadMapStyle"}}}function G(){if(typeof b[a.Style]!="undefined"&&b[a.Style]!=null){var c;for(c=0;c<b[a.Style].classRecipients.length;c++){b[a.Style].classRecipients[c].className="MSVE_AerialMapStyle"}}}function V(){if(typeof b[a.Style]!="undefined"&&b[a.Style]!=null){var c;for(c=0;c<b[a.Style].classRecipients.length;c++){b[a.Style].classRecipients[c].className="MSVE_HybridMapStyle"}}}function o(){if(typeof b[a.View]!="undefined"&&b[a.View]!=null){var c=g(b[a.View].classRecipients);c.removeClass("MSVE_StreetSideView");c.removeClass("MSVE_ObliqueView");c.addClass("MSVE_OrthoView")}if(b[a.Traffic]!=null){i(a.Traffic,true);z()}r=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin}function x(){if(typeof b[a.View]!="undefined"&&b[a.View]!=null){var c=g(b[a.View].classRecipients);
c.removeClass("MSVE_StreetSideView");c.removeClass("MSVE_OrthoView");c.addClass("MSVE_ObliqueView")}if(I){if(e.obliqueCompass==null){e.obliqueCompass=new xb(b[a.ObliqueCompass]);if(b[a.ObliqueCompass].radius){e.obliqueCompass.SetRadius(b[a.ObliqueCompass].radius)}e.obliqueCompass.onclick=function(){r=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin}}e.obliqueCompass.UpdateFromMap()}if(ab){if(e.obliqueZoom==null){e.obliqueZoom=new yb(b[a.ObliqueZoom]);e.obliqueZoom.Init()}e.obliqueZoom.UpdateFromMap()}if(b[a.Traffic]!=null&&h==Msn.VE.DashboardStates.MapMode.Flatland){i(a.Traffic,false)}}function jb(){if(typeof b[a.View]!="undefined"&&b[a.View]!=null){var c=g(b[a.View].classRecipients);c.removeClass("MSVE_OrthoView");c.removeClass("MSVE_ObliqueView");c.addClass("MSVE_StreetSideView")}}function w(){if(!b[a.ObliqueNotification]){return}if(R){return}R=true;if(!e.displaying3DNotification){if(d!=Msn.VE.DashboardStates.MapView.Oblique){if(!y){var o=g(b[a.ObliqueNotification]),k=o.select("img");for(var i=0;i<k.length&&!y;i++){var j=k.element(i);if(j.id=="MSVE_obliqueNotifyImg"){y=j}}}if(y){y.src=c.GetObliqueMode().GetMiddleTileFilename()}var f=b[a.Oblique];b[a.ObliqueNotification].style.display="block";var m=f.offsetLeft+f.offsetWidth/2-b[a.ObliqueNotification].offsetWidth/2,n=f.offsetTop+f.offsetHeight+4;g(b[a.ObliqueNotification]).setStyle("top",n+"px").setStyle("left",m+"px");var l=C(),h;for(h=0;h<l.length;++h){mvcViewFacade.UpdateShimIfSupported(l[h])}m=n=f=null;window.setTimeout(p,6000)}}}function bb(){if(!b[a.ThreeDUpdatedNotification]){return}p();if(!e.displaying3DNotification){e.displaying3DNotification=true;var c=b[a.Mode3D];b[a.ThreeDUpdatedNotification].style.display="block";var d=c.offsetLeft-6,f=c.offsetTop+c.offsetHeight+4;g(b[a.ThreeDUpdatedNotification]).setStyle("top",f+"px").setStyle("left",d+"px");mvcViewFacade.UpdateShimIfSupported(b[a.ThreeDUpdatedNotification]);c=null;window.setTimeout(D,6000)}}function p(){b[a.ObliqueNotification].style.display="none";var d=C(),c;for(c=0;c<d.length;++c){mvcViewFacade.UpdateShimIfSupported(d[c])
}}function D(){e.displaying3DNotification=false;b[a.ThreeDUpdatedNotification].style.display="none";mvcViewFacade.UpdateShimIfSupported(b[a.ThreeDUpdatedNotification])}function i(c,d){if(b[c]==null){return}if(b[c].enabled==d){return}b[c].enabled=d;var a=j[c];if(a.InitialClass){if(d){g(b[c]).swapClass(a.InitialClass+"_disabled",a.InitialClass)}else{g(b[c]).swapClass(a.InitialClass,a.InitialClass+"_disabled")}}if(a.Title){b[c].title=a.Title}if(a.OnClickFunction){if(d){b[c].attachEvent("onclick",a.OnClickFunction)}else{b[c].detachEvent("onclick",a.OnClickFunction)}}}function m(d){if(d&Msn.VE.DashboardStates.MapView.Ortho||d&Msn.VE.DashboardStates.MapMode.View3D){if(d&Msn.VE.DashboardStates.MapStyle.Road){c.SetMapStyle("r")}else{if(d&Msn.VE.DashboardStates.MapStyle.Aerial){c.SetMapStyle("a")}else{if(d&Msn.VE.DashboardStates.MapStyle.Hybrid){c.SetMapStyle("h")}}}}if(d&Msn.VE.DashboardStates.MapMode.Flatland&&d&Msn.VE.DashboardStates.MapView.Oblique){if(d&Msn.VE.DashboardStates.MapStyle.Aerial&&c.GetMapStyle()!=Msn.VE.MapStyle.Oblique){k=false;if(b[a.ShowLabels]){i(a.ShowLabels,true);g(b[a.ShowLabels]).removeClass("MSVE_selected")}c.SetMapStyle(Msn.VE.MapStyle.Oblique)}else{if(d&Msn.VE.DashboardStates.MapStyle.Hybrid&&c.GetMapStyle()!=Msn.VE.MapStyle.ObliqueHybrid){k=true;if(b[a.ShowLabels]){i(a.ShowLabels,true);g(b[a.ShowLabels]).addClass("MSVE_selected")}c.SetMapStyle(Msn.VE.MapStyle.ObliqueHybrid)}}}}function Gb(a){if(a&Msn.VE.DashboardStates.MapMode.View3D){if(a&Msn.VE.DashboardStates.MapView.Ortho){c.SetTilt(-90)}else{if(a&Msn.VE.DashboardStates.MapView.Oblique){c.SetTilt(-45)}else{if(a&Msn.VE.DashboardStates.MapView.StreetSide){c.SetTilt(-25)}}}}}function C(){return[b[a.ObliqueNotification]]}function Fb(a){return b[a]}function Cb(){return b}function Db(){return l}function gb(){return r}function ib(a){r=a}this.SetMapViewState=function(a){d=a};this.GetMapViewState=function(){return d};this.SetMapModeState=function(a){h=a};this.GetMapModeState=function(){return h};this.SetLabelsState=function(a){k=a};this.GetLabelsState=function(){return k
};this.GetLastRotationDirection=gb;this.SetLastRotationDirection=ib;this.GetObliqueNotifierShimmedElements=C;this.Init=Ib;this.Create=M;this.Destroy=Hb;this.DestroyControl=J;this.GetControl=Fb;this.GetControls=Cb;this.GetTinyZoom=Db;this.OnOrthoMapViewClick=t;this.OnObliqueMapViewClick=F;this.UpdateZoom=v;this.SelectObliqueMapView=x;this.SelectOrthoMapView=o;this.DisplayObliqueNotification=w;this.HideObliqueNotification=p;this.DisplayThreeDUpdatedNotification=bb;this.HideThreeDUpdatedNotification=D};function bb(o,c,d,b){var a=document.createElement("div"),i=0,j=0,h=false,f=15;this.Init=function(){a.id="Compass";a.attachEvent("onmousedown",k);a.attachEvent("onmouseup",m);a.attachEvent("onmousemove",l);a.attachEvent("ondblclick",IgnoreEvent);a.title=L_NavActionCompassPan_Text;o.appendChild(a);if(isNaN(parseInt(c))){c=a.offsetWidth/2}if(isNaN(parseInt(d))){d=a.offsetHeight/2}if(isNaN(parseInt(b))){b=Math.min(c,d)}};this.Destroy=function(){a.detachEvent("onmousedown",k);a.detachEvent("onmouseup",m);a.detachEvent("onmousemove",l);a.detachEvent("ondblclick",IgnoreEvent);a=null};function k(m){m=GetEvent(m);CancelEvent(m);var n=g(a).getPagePosition();i=n.x;j=n.y;if(a.setCapture){a.setCapture()}var k=Gimme.Screen.getMousePosition(m).x-i-c,l=Gimme.Screen.getMousePosition(m).y-j-d,o=Math.sqrt(k*k+l*l);if(o<b){k=Math.floor(k/b*f);l=Math.floor(l/b*f);e.ContinuousPan(k,l,0,true);h=true}return false}function l(k){k=GetEvent(k);CancelEvent(k);if(h){var a=Gimme.Screen.getMousePosition(k).x-i-c,g=Gimme.Screen.getMousePosition(k).y-j-d,l=Math.sqrt(a*a+g*g);if(l<b){a=Math.floor(a/b*f);g=Math.floor(g/b*f);e.ContinuousPan(a,g,0,true)}}return false}function m(b){b=GetEvent(b);CancelEvent(b);if(a.releaseCapture){a.releaseCapture()}e.StopContinuousPan();h=false;return false}function p(){a.style.display="none"}function q(){a.style.display="block"}function n(){return a}this.Hide=p;this.Show=q;this.GetElement=n}var a=H,b=null,f=null,A=null,c=null,t=null,w=null,x=null,d=null,m=null,q=null,r=null,h=null,i=null,lb=null,j=null,o=null,p=null,n=null,k=null,l=null,v=null,u=null,U=["North","East","South","West"],R={North:0,East:1,South:2,West:3},z,y,s,K=150,G=0.7,X=0.9,M=1;
function fb(){A=[a.Mode,a.View,a.Style,a.ShowLabels,a.TinyZoom,a.ObliqueNotification,a.ObliqueCompass,a.ThreeDUpdatedNotification];if($MVEM.IsEnabled(MapControl.Features.Traffic.ShowOnNavbar)){if(typeof VE_TrafficManager!="undefined"){A.push(a.Traffic)}}f=new Msn.VE.CommonControls(e,A);b=f.GetControls();b[a.Oblique].innerText=L_DashboardBirdsEye_Text;c=document.createElement("div");c.id="MSVE_navAction_container";c.className="MSVE_Dashboard_V6";if(Msn.VE.API){g(c).addClass("MSVE_API").addClass(typeof E==="string"?"MSVE_Dashboard_V6_"+E.toLowerCase():"")}i=document.createElement("div");i.id="MSVE_navAction_styleGroup";d=document.createElement("div");d.id="MSVE_navAction_topBar";b[a.View].classRecipients=[i,c,d];b[a.Style].classRecipients=[i];b[a.Mode].classRecipients=[d];f.Oblique3DFunctionality=f.ObliqueFunctions.ObliqueImageryIn3D;L.appendChild(c);t=document.createElement("div");t.id="MSVE_navAction_topBackground";t.className="MSVE_navAction_background";w=document.createElement("div");w.id="MSVE_navAction_compassBackground";w.className="MSVE_navAction_background";x=document.createElement("div");x.id="MSVE_navAction_leftBackground";x.className="MSVE_navAction_background";d.className="MSVE_Dashboard MSVE_Dashboard_V6 MSVE_FlatlandMapMode";m=document.createElement("div");m.id="MSVE_navAction_leftBar";m.className="MSVE_Dashboard MSVE_Dashboard_V6";q=document.createElement("div");q.id="MSVE_navAction_compassContainer";q.className="MSVE_Dashboard MSVE_Dashboard_V6";j=document.createElement("div");j.id="MSVE_navAction_toggleGlyphWrapper";j.title=L_NavActionHideToolTip_Text;pseudoHover(j);c.appendChild(x);c.appendChild(w);c.appendChild(t);c.appendChild(q);c.appendChild(m);c.appendChild(d);c.appendChild(j);if(!e.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){P()}var C=g(c),B=C.select("> div");B.addEvent("mousedown",IgnoreEvent);B.addEvent("mouseup",IgnoreEvent);B.addEvent("mousemove",DashboardContainerMouseMoveEvent);B.addEvent("mousewheel",IgnoreEvent);B.addEvent("dblclick",IgnoreEvent);B.addEvent("contextmenu",IgnoreEvent);
B.addEvent("keydown",IgnoreEvent);B.addEvent("keyup",IgnoreEvent);B.addEvent("click",IgnoreEvent);h=[];for(s=0;s<5;s++){h[s]=document.createElement("div");h[s].className="MSVE_navAction_separator";h[s].id="MSVE_navAction_separator"+s}y=document.createElement("div");y.id="MSVE_navAction_toggleGlyphInner";y.className="MSVE_navAction_toggleGlyph";j.appendChild(y);b[a.Road].title=L_NavActionRoadToolTip_Text;b[a.Aerial].title=L_NavActionAerialToolTip_Text;b[a.Hybrid].title=L_NavActionHybridToolTip_Text;b[a.Mode2D].title=L_NavActionFlatlandToolTip_Text;b[a.Mode3D].title=L_NavActionView3DToolTip_Text;i.appendChild(b[a.Road]);i.appendChild(b[a.Aerial]);i.appendChild(h[1]);i.appendChild(b[a.Oblique]);if(D){d.appendChild(b[a.Mode]);d.appendChild(h[0])}d.appendChild(i);d.appendChild(h[2]);f.SetLabelsState(W!=false);d.appendChild(b[a.ShowLabels]);d.appendChild(h[3]);if(b[a.Traffic]!=null){b[a.Traffic].title=L_NavActionShowTrafficToolTip_Text;d.appendChild(b[a.Traffic]);d.appendChild(h[4])}else{C.addClass("notraffic")}if(!ab){var G=parseInt(C.getStyle("width"))-parseInt(g(b[a.Oblique]).getStyle("width"));c.style.width=G+"px";b[a.Oblique].style.display="none"}r=document.createElement("div");r.id="MSVE_navAction_compassWrapper";q.appendChild(r);z=new bb(r);z.Init();pseudoHover(z.GetElement());b[a.ObliqueCompass].radius=31;r.appendChild(b[a.ObliqueCompass]);var F=f.GetTinyZoom();m.appendChild(b[a.TinyZoom]);p=document.createElement("div");p.id="MSVE_navAction_zoomPlusWrapper";pseudoHover(p);p.appendChild(F.GetPlus());b[a.TinyZoom].appendChild(p);o=document.createElement("div");o.id="MSVE_navAction_zoomMinusWrapper";pseudoHover(o);o.appendChild(F.GetMinus());b[a.TinyZoom].appendChild(o);F.HookupPlusMinusEvents(p,o);n=document.createElement("div");n.id="MSVE_navAction_rotatorContainer";u=document.createElement("div");u.id="MSVE_navAction_ccw";u.title=L_NavActionObliqueRotationToolTip_CCW_Text;u.className="MSVE_navAction_rotator";v=document.createElement("div");v.id="MSVE_navAction_cw";v.title=L_NavActionObliqueRotationToolTip_CW_Text;
v.className="MSVE_navAction_rotator";k=document.createElement("div");k.id="MSVE_navAction_ccwWrapper";pseudoHover(k);k.appendChild(u);l=document.createElement("div");l.id="MSVE_navAction_cwWrapper";pseudoHover(l);l.appendChild(v);g(k).addEvent("click",O);g(l).addEvent("click",Q);n.appendChild(k);n.appendChild(l);m.appendChild(n);d.appendChild(b[a.ObliqueNotification]);d.appendChild(b[a.ThreeDUpdatedNotification]);f.Init();e.AttachEvent("oninitmode",Y);if(Msn.VE.Animation){J()}f.UpdateZoom()}function cb(){d.removeChild(b[a.ObliqueNotification]);d.removeChild(b[a.ThreeDUpdatedNotification]);g(k).removeEvent("click",O);g(l).removeEvent("click",Q);k.removeChild(u);l.removeChild(v);n.removeChild(k);n.removeChild(l);m.removeChild(n);var s=f.GetTinyZoom();if(s){var A=s.GetMinus();if(A){o.removeChild(A)}var E=s.GetPlus();if(E){p.removeChild(E)}b[a.TinyZoom].removeChild(o);b[a.TinyZoom].removeChild(p);m.removeChild(b[a.TinyZoom])}z.Destroy();q.removeChild(r);r.removeChild(b[a.ObliqueCompass]);if(b[a.Traffic]!=null){d.removeChild(b[a.Traffic]);d.removeChild(h[4])}d.removeChild(b[a.ShowLabels]);d.removeChild(h[3]);i.removeChild(b[a.Road]);i.removeChild(b[a.Aerial]);i.removeChild(h[1]);i.removeChild(b[a.Oblique]);if(D){d.removeChild(b[a.Mode]);d.removeChild(h[0])}d.removeChild(i);d.removeChild(h[2]);j.removeChild(y);var G=g(c),e=G.select("> div");e.removeEvent("mouseleave",B);e.removeEvent("mouseenter",C);e.removeEvent("mousedown",IgnoreEvent);e.removeEvent("mouseup",IgnoreEvent);e.removeEvent("mousemove",DashboardContainerMouseMoveEvent);e.removeEvent("mousewheel",IgnoreEvent);e.removeEvent("dblclick",IgnoreEvent);e.removeEvent("contextmenu",IgnoreEvent);e.removeEvent("keydown",IgnoreEvent);e.removeEvent("keyup",IgnoreEvent);e.removeEvent("click",IgnoreEvent);c.removeChild(x);c.removeChild(w);c.removeChild(t);c.removeChild(q);c.removeChild(m);c.removeChild(d);c.removeChild(j);L.removeChild(c);f.Destroy();if(Msn.VE.Animation){F().onclick=null}}function B(){Gimme.Animation.end("MSVE_NAVACTION_FADEIN");g(c).select("div.MSVE_navAction_background").fadeTo(null,G,K,"MSVE_NAVACTION_FADEOUT")
}function C(){Gimme.Animation.end("MSVE_NAVACTION_FADEOUT");g(c).select("div.MSVE_navAction_background").fadeTo(null,X,K,"MSVE_NAVACTION_FADEIN")}function Y(a){if(a==Msn.VE.MapActionMode.Mode3D){Z();if(e.Get3DControl()){if(g(N()).hasClass("collapsed")){e.Get3DControl().ShowNavigationControl=false}else{e.Get3DControl().ShowNavigationControl=true}}}else{P()}}function P(){var a=g(c),b=a.select("> div");a.select("div.MSVE_navAction_background").setStyle("opacity",G);b.addEvent("mouseleave",B);b.addEvent("mouseenter",C)}function Z(){var a=g(c),b=a.select("> div");b.removeEvent("mouseleave",B);b.removeEvent("mouseenter",C);a.select("div.MSVE_navAction_background").setStyle("opacity",M)}function O(){I(Msn.VE.BirdsEyeSearchSpinDirection.CounterclockwiseSpin)}function Q(){I(Msn.VE.BirdsEyeSearchSpinDirection.ClockwiseSpin)}function I(a){f.SetLastRotationDirection(a);var b=e.GetObliqueScene();if(b){var d=R[b.GetOrientation()],c=U[(d+a+4)%4];e.SetObliqueOrientation(c,a,true);f.obliqueCompass.UpdateFromMap()}}function N(){return c}function T(){return f.GetObliqueNotifierShimmedElements().concat([t])}function F(){return j}function db(){return f.GetMapModeState()}function gb(){if(c){c.style.display="block"}}function eb(){if(c){c.style.display="none"}}function J(){if(!e.GetDashboard().GetToggleGlyph()){return}e.GetDashboard().GetToggleGlyph().onclick=function(){var a=e.GetDashboard();if(g(a.GetElement()).hasClass("collapsed")){g(a.GetElement()).removeClass("collapsed");a.GetToggleGlyph().title=L_NavActionHideToolTip_Text;if(e.Get3DControl()){e.Get3DControl().ShowNavigationControl=true}}else{g(a.GetElement()).addClass("collapsed");a.GetToggleGlyph().title=L_NavActionShowToolTip_Text;if(e.Get3DControl()){e.Get3DControl().ShowNavigationControl=false}}var c=e.GetDashboard().GetShimmedElements(),b;for(b=0;b<c.length;b++){mvcViewFacade.UpdateShimIfSupported(c[b])}g("#MSVE_navAction_topBackground").setStyle("opacity",M)}}function V(){f.ObliqueFunctions.ObliqueImageryIn3D.ObliqueClickFunction()}this.DisplayThreeDUpdatedNotification=function hb(){f.DisplayThreeDUpdatedNotification()
};function S(a){f.SetLastRotationDirection(a)}this.Init=fb;this.Destroy=cb;this.GetElement=N;this.GetToggleGlyph=F;this.GetShimmedElements=T;this.createRoller=J;this.GetMode=db;this.Show=gb;this.Hide=eb;this.Oblique3DToggle=V;this.SetLastRotationDirection=S};Msn.VE.LatLong=function(b,a){this.latitude=b;this.longitude=a};Msn.VE.LatLong.prototype.ToString=function(){return"("+this.latitude+", "+this.longitude+")"};Msn.VE.LatLong.prototype.Copy=function(a){if(!a){return}this.latitude=a.latitude;this.longitude=a.longitude};Msn.VE.LatLong.prototype.Equals=function(a){if(a instanceof Msn.VE.LatLong){return this.latitude==a.latitude&&this.longitude==a.longitude}else{return false}};Msn.VE.LatLongRectangle=function(a,b){this.northwest=a;this.southeast=b;this.ToString=function(){return"("+(this.northwest?this.northwest.ToString():"null")+", "+(this.southeast?this.southeast.ToString():"null")+")"};this.Copy=function(a){if(!a){return}if(!this.northwest){this.northwest=new Msn.VE.LatLong}if(!this.southeast){this.southeast=new Msn.VE.LatLong}this.northwest.Copy(a.northwest);this.southeast.Copy(a.southeast)};this.Center=function(){var b=Math.sin(this.northwest.latitude*Math.PI/180),c=Math.sin(this.southeast.latitude*Math.PI/180),d=0.25*(Math.log((1+b)/(1-b))+Math.log((1+c)/(1-c))),a=new Msn.VE.LatLong;a.latitude=Math.atan(Math.exp(d))*360/Math.PI-90;a.longitude=0.5*(parseFloat(this.northwest.longitude)+parseFloat(this.southeast.longitude));return a};this.Contains=function(c){return c.latitude<=a.latitude&&c.longitude>=a.longitude&&c.latitude>=b.latitude&&c.longitude<=b.longitude};this.ContainsRectangle=function(a){return a.southeast.latitude>=this.southeast.latitude&&a.southeast.longitude<=this.southeast.longitude&&a.northwest.latitude<=this.northwest.latitude&&a.northwest.longitude>=this.northwest.longitude}};Msn.VE.MapStyle=new function(){this.Road="r";this.Shaded="s";this.Aerial="a";this.Hybrid="h";this.Oblique="o";this.ObliqueHybrid="b"};Msn.VE.MapStyle.IsViewOblique=function(a){return a==Msn.VE.MapStyle.ObliqueHybrid||a==Msn.VE.MapStyle.Oblique
};Msn.VE.MapStyle.IsViewOrtho=function(a){return a==Msn.VE.MapStyle.Road||a==Msn.VE.MapStyle.Shaded||a==Msn.VE.MapStyle.Hybrid||a==Msn.VE.MapStyle.Aerial};Msn.VE.MapViewType=function(){};Msn.VE.MapViewType.Pixel="pixel";Msn.VE.MapViewType.PixelRect="pixelRect";Msn.VE.MapViewType.LatLong="latlong";Msn.VE.MapViewType.LatLongAccurate="latlongaccurate";Msn.VE.MapViewType.LatLongRect="latlongRect";Msn.VE.MapView=function(map){this.zoomLevel=0;this.mapStyle=null;this.doRoadShading=false;this.tilt=-90;this.direction=0;this.altitude=-1000;this.center=new VEPixel;this.latlong=new Msn.VE.LatLong;this.cameraLatlong=null;this.pixelRect=new Msn.VE.PixelRectangle;this.latlongRect=new Msn.VE.LatLongRectangle;this.sceneId=null;this.sceneOrientation=null;this.bySceneId=false;this.callback=null;this.photoX=null;this.photoY=null;this.photoScale=null;this._supressFlyToCall=false;this._needsPivotOperation=true;var mapInstance=map,p_this=this,viewType=Msn.VE.MapViewType.Pixel;this.Destroy=function(){this.center=this.latlong=p_this=mapInstance=null};this.GetViewType=function(){return viewType};this.GetMap=function(){return mapInstance};this.SetMap=function(a){mapInstance=a};function MakeCopy(){var a=new Msn.VE.MapView;a.Copy(p_this);return a}function Copy(a){p_this.zoomLevel=a.zoomLevel;p_this.mapStyle=a.mapStyle;p_this.doRoadShading=a.doRoadShading;p_this.tilt=a.tilt;p_this.direction=a.direction;p_this.altitude=a.altitude;p_this.center.Copy(a.center);if(a.cameraLatlong!=null){p_this.cameraLatlong=new Msn.VE.LatLong;p_this.cameraLatlong.Copy(a.cameraLatlong)}p_this.latlong.Copy(a.latlong);p_this.pixelRect.Copy(a.pixelRect);p_this.latlongRect.Copy(a.latlongRect);p_this.sceneId=a.sceneId;p_this.sceneOrientation=a.sceneOrientation;p_this.photoX=a.photoX;p_this.photoY=a.photoY;p_this.photoScale=a.photoScale;p_this.SetMap(a.GetMap());viewType=a.GetViewType()}function Equals(a){return a!=null&&p_this.zoomLevel==a.zoomLevel&&p_this.mapStyle==a.mapStyle&&MathAbs(p_this.tilt-a.tilt)<0.000001&&MathAbs(p_this.direction-a.direction)<0.000001&&MathAbs(p_this.altitude-a.altitude)<0.000001&&MathAbs(p_this.center.x-a.center.x)<0.000001&&MathAbs(p_this.center.y-a.center.y)<0.000001&&p_this.sceneId==a.sceneId&&p_this.GetMap()==a.GetMap()&&p_this.sceneOrientation==a.sceneOrientation
}function ToString(){return"("+p_this.latlong.ToString()+", "+p_this.zoomLevel+", "+p_this.mapStyle+")"}function SetCenter(a){if(!a){return}p_this.center=a;viewType=Msn.VE.MapViewType.Pixel}function SetCenterLatLong(a){if(!a){return}p_this.latlong=a;p_this.cameraLatlong=null;viewType=Msn.VE.MapViewType.LatLong}function SetCenterLatLongAccurate(a){if(a){p_this.latlong=a;p_this.cameraLatlong=null;if(Msn.VE.MapStyle.IsViewOblique(p_this.mapStyle)){viewType=Msn.VE.MapViewType.LatLongAccurate}else{viewType=Msn.VE.MapViewType.LatLong}}}function SetPixelRectangle(a){p_this.pixelRect=a;p_this.cameraLatlong=null;p_this.tilt=-90;p_this.direction=0;viewType=Msn.VE.MapViewType.PixelRect}function SetLatLongRectangle(a){p_this.latlongRect=a;p_this.cameraLatlong=null;p_this.tilt=-90;p_this.direction=0;viewType=Msn.VE.MapViewType.LatLongRect}function SetZoomLevel(a){if(a<=0){a=1}var c=mapInstance.GetCenterOffset().x,d=mapInstance.GetCenterOffset().y;switch(viewType){case Msn.VE.MapViewType.Pixel:var b=Math.pow(2,a-p_this.zoomLevel);p_this.center.x=(p_this.center.x+c)*b-c;p_this.center.y=(p_this.center.y+d)*b-d;break;case Msn.VE.MapViewType.PixelRect:var b=Math.pow(2,a-p_this.zoomLevel);p_this.pixelRect.topLeft.x=p_this.pixelRect.topLeft.x*b;p_this.pixelRect.topLeft.y=p_this.pixelRect.topLeft.y*b;p_this.pixelRect.bottomRight.x=p_this.pixelRect.bottomRight.x*b;p_this.pixelRect.bottomRight.y=p_this.pixelRect.bottomRight.y*b}if(p_this.zoomLevel!=a){p_this.altitude=-1000;if(p_this.zoomLevel!=0){p_this.cameraLatlong=null}}p_this.zoomLevel=a}function SetMapStyle(a,c,b,e,d){var f=p_this.mapStyle;p_this.mapStyle=a;if(viewType==Msn.VE.MapViewType.Pixel){viewType=Msn.VE.MapViewType.LatLong}if(!Msn.VE.MapStyle.IsViewOblique(a)){p_this.sceneId=null;p_this.sceneOrientation=null;p_this.bySceneId=false}else{p_this.sceneId=c;if(b){p_this.sceneOrientation=b}p_this.spinDirection=f==a?e:null;p_this.preserveScene=d;if(c){p_this.bySceneId=true}else{p_this.bySceneId=false}}}function SetTilt(a){if(a>=269.99999){a=a-360}if(a<-90){a=-90}if(a>90){a=90}p_this.tilt=a;
p_this._needsPivotOperation=true}function SetDirection(a){if(a<0||a>=360){a=a%360;if(a<0){a=360+a}}p_this.direction=a;p_this._needsPivotOperation=true}function SetAltitude(a){if(a<-1000||a>15000000){a=-1000}p_this.altitude=a}function GetTilt(){return p_this.tilt}function GetDirection(){return p_this.direction}function GetAltitude(){return p_this.altitude}function ScaleCoord(a,b){if(b){a=a*Math.pow(2,b-p_this.zoomLevel)}return a}function GetX(a){return ScaleCoord(p_this.center.x,a)}function GetY(a){return ScaleCoord(p_this.center.y,a)}function GetCenter(a){var b=ScaleCoord(p_this.center.x+mapInstance.GetCenterOffset().x,a),c=ScaleCoord(p_this.center.y+mapInstance.GetCenterOffset().y,a);return new VEPixel(b,c)}function GetZoomLevel(){return p_this.zoomLevel}function GetLatLongRectangle(){return p_this.latlongRect}function GetPixelRectangle(){return p_this.pixelRect}function GetCenterLatLong(){var b=p_this.center.x+mapInstance.GetCenterOffset().x,c=p_this.center.y+mapInstance.GetCenterOffset().y,a=mapInstance.GetCurrentMode().PixelToLatLong(new VEPixel(b,c),p_this.zoomLevel);return a==null?p_this.latlong:a}function Resolve(b,d,c,a){if(viewType==Msn.VE.MapViewType.LatLongAccurate){ResolveAsync(b,d,c,a)}else{ResolveSync(b,d,c,a)}}function ResolveAsync(b,e,d,a){function c(c){if(c!=null&&typeof c!="undefined"&&c.length==1){p_this.center=c[0]}if(p_this.cameraLatlong==null){if(!p_this._UpdateCamera(b)){p_this.tilt=-90;p_this.cameraLatlong=p_this.latlong}}viewType=Msn.VE.MapViewType.Pixel;if(a!=null&&typeof a=="function"){a()}}b.LatLongToPixelAsync([p_this.latlong],p_this.zoomLevel,c)}function ResolveSync(a,e,c,b){switch(viewType){case Msn.VE.MapViewType.Pixel:p_this.latlong=a.PixelToLatLong(p_this.center,p_this.zoomLevel);break;case Msn.VE.MapViewType.LatLong:p_this.center=a.LatLongToPixel(p_this.latlong,p_this.zoomLevel);if(p_this.center!=null){p_this.center.x-=mapInstance.GetCenterOffset().x;p_this.center.y-=mapInstance.GetCenterOffset().y}break;case Msn.VE.MapViewType.PixelRect:ResolveRectangle(a,e,c);break;case Msn.VE.MapViewType.LatLongRect:if(Msn.VE.MapStyle.IsViewOblique(p_this.mapStyle)){p_this.zoomLevel=1;
var d=a.GetScene();if(!d||!d.ContainsLatLong(p_this.latlongRect.northwest)||!d.ContainsLatLong(p_this.latlongRect.southeast)){p_this.latlong=p_this.latlongRect.Center();p_this.center=a.LatLongToPixel(p_this.latlong,p_this.zoomLevel)}else{p_this.pixelRect.topLeft=a.LatLongToPixel(p_this.latlongRect.northwest,p_this.zoomLevel);p_this.pixelRect.bottomRight=a.LatLongToPixel(p_this.latlongRect.southeast,p_this.zoomLevel);ResolveRectangle(a,e,c)}}else{p_this.zoomLevel=12;p_this.altitude=-1000;p_this.pixelRect.topLeft=a.LatLongToPixel(p_this.latlongRect.northwest,p_this.zoomLevel);p_this.pixelRect.bottomRight=a.LatLongToPixel(p_this.latlongRect.southeast,p_this.zoomLevel);ResolveRectangle(a,e,c)}}if(p_this.cameraLatlong==null){if(!p_this._UpdateCamera(a)){p_this.tilt=-90;p_this.cameraLatlong=p_this.latlong}}viewType=Msn.VE.MapViewType.Pixel;if(b!=null&&typeof b=="function"){b()}}function ResolveRectangle(i,k,j){var c=19,a=Math.pow(2,c-p_this.zoomLevel),g=MathMax(1,MathAbs(p_this.pixelRect.topLeft.x-p_this.pixelRect.bottomRight.x)*a),f=MathMax(1,MathAbs(p_this.pixelRect.topLeft.y-p_this.pixelRect.bottomRight.y)*a),d=Math.log(2),e=c-Math.ceil(Math.log(g/k)/d),h=c-Math.ceil(Math.log(f/j)/d),b=MathMin(e,h);if(b<=0){b=1}a=Math.pow(2,b-p_this.zoomLevel);p_this.center.x=0.5*(p_this.pixelRect.topLeft.x+p_this.pixelRect.bottomRight.x)*a-mapInstance.GetCenterOffset().x;p_this.center.y=0.5*(p_this.pixelRect.topLeft.y+p_this.pixelRect.bottomRight.y)*a-mapInstance.GetCenterOffset().y;p_this.zoomLevel=b;p_this.altitude=-1000;p_this.latlong=i.PixelToLatLong(p_this.center,p_this.zoomLevel)}function _UpdateCamera(viewMode){if(p_this.latlong==null){if(p_this.center!=null&&p_this.zoomLevel!=null&&typeof viewMode._InternalOrthoMode=="function"){var orthoMode=viewMode._InternalOrthoMode();p_this.latlong=orthoMode.PixelToLatLong(p_this.center,p_this.zoomLevel);if(p_this.latlong!=null){p_this.tilt=-90;p_this.direction=0}}}if(p_this.latlong==null){return false}p_this._needsPivotOperation=false;if(mapInstance.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){var control=mapInstance.Get3DControl();
if(control!=null){var cam=control.CameraPositionGivenTarget(p_this.latlong.latitude,p_this.latlong.longitude,p_this.altitude,p_this.zoomLevel,p_this.tilt,p_this.direction);if(cam!=null){var lat,lon,alt;eval(cam);p_this.cameraLatlong=new Msn.VE.LatLong;p_this.cameraLatlong.latitude=lat;p_this.cameraLatlong.longitude=lon;p_this.altitude=alt}else{return false}}}return true}this.MakeCopy=MakeCopy;this.Copy=Copy;this.Equals=Equals;this.ToString=ToString;this.SetCenter=SetCenter;this.SetCenterLatLong=SetCenterLatLong;this.SetCenterLatLongAccurate=SetCenterLatLongAccurate;this.SetPixelRectangle=SetPixelRectangle;this.SetLatLongRectangle=SetLatLongRectangle;this.SetZoomLevel=SetZoomLevel;this.SetMapStyle=SetMapStyle;this.SetTilt=SetTilt;this.SetDirection=SetDirection;this.SetAltitude=SetAltitude;this.GetTilt=GetTilt;this.GetDirection=GetDirection;this.GetAltitude=GetAltitude;this.ScaleCoord=ScaleCoord;this.GetX=GetX;this.GetY=GetY;this.GetCenter=GetCenter;this.Resolve=Resolve;this.SetZoomLevel=SetZoomLevel;this.GetZoomLevel=GetZoomLevel;this.GetLatLongRectangle=GetLatLongRectangle;this.GetPixelRectangle=GetPixelRectangle;this.GetCenterLatLong=GetCenterLatLong;this._UpdateCamera=_UpdateCamera};Msn.VE.ViewChangeType=function(){};Msn.VE.ViewChangeType.Zoom=1;Msn.VE.ViewChangeType.Pan=2;Msn.VE.ViewChangeType.Hybrid=3;Msn.VE.ViewChangeType.IsValid=function(a){return typeof a=="number"&&a>0&&a<4};Msn.VE.ObliqueScene=function(e,J,C,F,H,O,b,d,v,u,I){var c=null,a="",g=null,h=null,f={};f[Msn.VE.MapStyle.Oblique]="790";f[Msn.VE.MapStyle.ObliqueHybrid]="790";var i={};i[Msn.VE.MapStyle.Oblique]="%0ecn.t%3.tiles.virtualearth.net/tiles/o%4-%5-%6-%7.jpeg?g=%8";i[Msn.VE.MapStyle.ObliqueHybrid]="%0ecn.t%3.tiles.virtualearth.net/tiles/cmd/ObliqueHybrid?a=%4-%5-%6-%7&g=%8";var w=Msn.VE.MapStyle.Oblique,j=null,N=null,o=null;if(Msn.VE.API==null){j="__obliqueCalcServiceUrl__"}else{o=Msn.VE.API.Constants.imageryurl+"/ConvertLatLongToPixelInBirdsEye"}var r=new _xz1,q=256,M=this,K=new Msn.VE.Bounds(1,2,0,0,b/2,d/2);function B(d,e){var c=Math.pow(2,e-2),f=[[d.x/c],[d.y/c],[1]],a=MatrixMultiply(v,f),b=new Msn.VE.LatLong;
b.longitude=a[0][0]/a[2][0];b.latitude=a[1][0]/a[2][0];return b}function y(d,g,f){var b=[];for(var a=0;a<d.length;++a){var c=this.PixelToLatLong(d[a],g);if(Msn.VE.API!=null){var e=new VELatLong;e._reserved=r.Encode(c.latitude,c.longitude);b[a]=e}else{b[a]=c}}if(f){f(b)}}function l(d,e){var c=Math.pow(2,e-2),f=[[d.longitude],[d.latitude],[1]],a=MatrixMultiply(u,f),b=new VEPixel;b.x=a[0][0]/a[2][0]*c;b.y=a[1][0]/a[2][0]*c;return b}function x(f,k,l){var d=[];for(var b=0;b<f.length;++b){d[b]=r.Encode(f[b].latitude,f[b].longitude)}var a=[];if(Msn.VE.API==null){a.push(new VEParameter("a","L2P"));a.push(new VEParameter("b",d.join("")));a.push(new VEParameter("s",e));a.push(new VEParameter("f","__LatLongToPixelAsyncResponse"))}else{if(c){a.push(new VEParameter(Msn.VE.API.Constants.clienttoken,c))}if(g){a.push(new VEParameter("mapguid",g))}a.push(new VEParameter("locations",'"'+d.join("")+'"'));a.push(new VEParameter("sceneId",e));a.push(new VEParameter("encodingLength",6))}if(Msn.VE.API!=null){var i=function(d){if(h){h.__HandleAuthentication(d)}var c=null;if(d!=null&&d.Pixels!=null){var e=Math.pow(2,k-2);c=[];var b=d.Pixels;for(var a=0;a<b.length;++a){if(b[a]!=null&&b[a].X!=null&&typeof b[a].X!="undefined"&&b[a].Y!=null&&typeof b[a].Y!="undefined"){c[a]=new VEPixel(b[a].X*e,b[a].Y*e)}else{c[a]=null}}}l(c)};VEAPIRequestInvoke(o,a,i)}else{var i=function(a){var c=null;if(a!=null&&(a.err==null||typeof a.err=="undefined")){var d=Math.pow(2,k-2);c=[];for(var b=0;b<a.length;++b){if(a[b]!=null&&a[b].x!=null&&typeof a[b].x!="undefined"&&a[b].y!=null&&typeof a[b].y!="undefined"){c[b]=new VEPixel(a[b].x*d,a[b].y*d)}else{c[b]=null}}}l(c)},m=new VENetwork;m.ServiceUrl=j;m.BeginInvoke("__LatLongToPixelAsyncResponse",a,i,M)}}function E(a,c,e){if(a<0||c<0){return false}if(e==1){return a<b/2&&c<d/2}return a<b&&c<d}function L(){return e}function k(h,j,e,d){if(!Msn.VE.MapStyle.IsViewOblique(d)){d=w}var g=j*(e==1?b/2:b)+h,c=i[d];if(Msn.VE.API){if(d==Msn.VE.MapStyle.ObliqueHybrid){c=a?Msn.VE.API.Constants.obliquehybridorigintileserver:Msn.VE.API.Constants.obliquehybridtileserver
}else{c=a?Msn.VE.API.Constants.obliqueorigintileserver:Msn.VE.API.Constants.obliquetileserver}c=c+a}return c.replace(/%3/g,g%8).replace(/%4/g,J).replace(/%5/g,C).replace(/%6/g,H+e-2).replace(/%7/g,g).replace(/%8/g,f[d])}function s(){return k(b/4,d/4,1)}this.GetMiddleTileFilename=s;function t(){var b=Msn.VE.API?(a?Msn.VE.API.Constants.obliquethumbnailorigintileserver:Msn.VE.API.Constants.obliquethumbnailtileserver)+a:"%0ecn.t%1.tiles.virtualearth.net/tiles/ot%2.jpeg?g=%3";return b.replace(/%1/g,e%4).replace(/%2/g,e).replace(/%3/g,f)}function A(){return F}function G(){return K}function p(){return b*q}function n(){return d*q}function z(a){if(!a){return false}var b=l(a,2);return m(b,2)}function m(b,e){var a=Math.pow(2,2-e),c=b.x*a,d=b.y*a;return c>=0&&d>=0&&c<p()&&d<n()}this.SetClientToken=function(d,b){c=d;if(c&&b){a="&"+Msn.VE.API.Constants.clienttoken+"="+c}else{a=""}};this.SetGUID=function(a){g=a;if(typeof VEMap!="undefined"){h=VEMap._GetMapFromGUID(g)}};function D(){return I}this.PixelToLatLong=B;this.PixelToLatLongAsync=y;this.LatLongToPixel=l;this.LatLongToPixelAsync=x;this.IsValidTile=E;this.GetID=L;this.GetTileFilename=k;this.GetThumbnailFilename=t;this.GetOrientation=A;this.GetBounds=G;this.GetWidth=p;this.GetHeight=n;this.ContainsLatLong=z;this.ContainsPixel=m;this.GetMapStyle=D};Msn.VE.Orientation=new function(){this.North="North";this.East="East";this.West="West";this.South="South"};VEPixel=function(a,b){this.x=parseFloat(a);this.y=parseFloat(b)};VEPixel.prototype.ToString=function(){return"("+this.x+", "+this.y+")"};VEPixel.prototype.Copy=function(a){if(!a){return}this.x=a.x;this.y=a.y};function VEPixelToQuadKey(a,f){var d="";if(a!=null){var g=MathFloor(a.x/256),h=MathFloor(a.y/256);for(var c=f;c>0;c--){var b=0,e=1<<c-1;if((g&e)!=0){b++}if((h&e)!=0){b+=2}d+=b+""}}return d}Msn.VE.PixelRectangle=function(b,a){this.topLeft=b;this.bottomRight=a;this.ToString=function(){return"("+(this.topLeft?this.topLeft.ToString():"null")+", "+(this.bottomRight?this.bottomRight.ToString():"null")+")"};this.Copy=function(a){if(!a){return
}if(!this.topLeft){this.topLeft=new VEPixel}if(!this.bottomRight){this.bottomRight=new VEPixel}this.topLeft.Copy(a.topLeft);this.bottomRight.Copy(a.bottomRight)};this.Contains=function(a){if(a instanceof VEPixel){return a.x>this.topLeft.x&&a.y>this.topLeft.y&&a.x<this.bottomRight.x&&a.y<this.bottomRight.y}}};Msn.VE.LineRegion=function(b,a,c){this.boundingRectangle=b;this.indices=a;this.childRegions=c;function d(){return"Bounding Rectangle: "+this.boundingRectangle[0].ToString()+" to "+this.boundingRectangle[1].ToString()+" | Indices: ["+a+"]"}this.ToString=d};var L_integerencodingoutofrange_text="VEIntegerEncoding: The number encoded is out of supported range",L_floatintegermapencodingoutofrange_text="VEFloatIntegerMap: The number encoded is out of supported range",L_integerencodinginvalidstringlength_text="VEIntegerEncoding: Invalid string length",L_integerencodingunknowndigit_text="VEIntegerEncoding: The encoded string has an unknown digit";function VEIntegerEncoding(g,j){var e=g,d=g.length,a=j,h=1;for(var i=0;i<a;++i){h*=d}var f=h-1,c=[];for(var b=0;b<e.length;++b){c[e.substr(b,1)]=b}this.MaxValue=function(){return f};this.ValueLength=function(){return a};this.Encode=function(c){if(c<=f){var h="",g=[];for(var b=0;b<a;++b){g[b]=0}var i=a-1;while(c>0){g[i]=Math.floor(c%d);c=Math.floor(c/d);--i}for(var b=0;b<g.length;++b){h+=e.substr(g[b],1)}return h}else{throw L_integerencodingoutofrange_text}};this.Decode=function(c){if(c.length==a){var b=0;for(var e=0;e<c.length;++e){b*=d;b+=this.DigitValue(c.substr(e,1))}return b}else{throw L_integerencodinginvalidstringlength_text}};this.DigitValue=function(a){if(c[a]!=null&&c[a]!="undefined"){return c[a]}else{throw L_integerencodingunknowndigit_text}}}function VEFloatIntegerMap(e,d,f){var a=e,c=d,b=f;this.MinFloat=function(){return a};this.MaxFloat=function(){return c};this.MaxInt=function(){return b};this.FloatToInt=function(d){if(d>=a&&d<=c){var e=(d-a)/(c-a),f=e*b+0.5;return Math.min(Math.floor(f),b)}else{throw L_floatintegermapencodingoutofrange_text}};this.IntToFloat=function(d){if(d<=b){var f=d/b,e=a+f*(c-a);
return e}else{throw L_floatintegermapencodingoutofrange_text}}}var L_velatlongencodinginvalidstringlength_text="_xz1: Invalid string length";function _xz1(b){var i=-90,h=90,g=-180,f=180,j="0123456789bcdfghjkmnpqrstvwxyz",e=6;if(b!=null&&typeof b!="undefined"){e=b}var a=new VEIntegerEncoding(j,e),d=new VEFloatIntegerMap(i,h,a.MaxValue()),c=new VEFloatIntegerMap(g,f,a.MaxValue());this.Encode=function(e,b){var f=a.Encode(d.FloatToInt(e))+a.Encode(c.FloatToInt(b));return f};this.Decode=function(f){if(f.length==2*a.ValueLength()){var e=a.ValueLength(),j=f.substr(0,e),h=f.substr(e,e),i=a.Decode(j),g=a.Decode(h),b=[];b[0]=d.IntToFloat(i);b[1]=c.IntToFloat(g);return b}else{throw L_velatlongencodinginvalidstringlength_text}}}function _xz1ForMobile(){_xz1.call(this,5)}var Shims=["help","msve_ScratchPad","VE_MessageControl","contextMenu","MSVE_dashboardId"],vedomain="http://ecn.dev.virtualearth.net/mapcontrol/v6.3",_entityIdShapePostfix="_Shape",_hackUniqueLayerId="UniqueLayer_Hack";function GetManifestUrl(a){return a.indexOf("http")==0?a:vedomain+a}function Get3dMarket(){if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){return window.locale}else{return Msn.VE.API.Globals.locale}}function Get3dInstallMarket(){if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){return window.locale}else{return Msn.VE.API.Globals.resourcelocale}}function Get3dInstallUrl(b,a){if(typeof a=="undefined"||a==null){a=Get3dInstallMarket()}if(typeof b=="undefined"||b==null){b="Default.aspx?action=install";if(a){b+="&mkt={0}"}}var c="http://www.bing.com/maps/Help/VE3DInstall/"+b;c=c.replace("{0}",a);return c}function Get3dHelpUrl(c,a){var b="http://www.bing.com/maps/Help/{0}/"+c;if(typeof a=="undefined"||a==null){a=Get3dMarket()}b=b.replace("{0}",a);return b}function initShimElements(){for(var a=0;a<Shims.length;a++){UpdateIFrameShim(Shims[a])}}function hookResizeEvent(a){if(a.onresize==null){a.onresize=function(){var b=event.srcElement,a=b.shimElement;if(a){SetShimPosition(a,b)}}}}function destroyShimElements(){for(var a=0;a<Shims.length;a++){destroyIFrameShim(Shims[a])
}var b=$ID("msve_ScratchPad");if(b){b.onresize=null}}function ConvertClipToSize(d,e){var a=e.style.clip.split(",");if(a.length==4){var c=parseInt(a[1]),b=parseInt(a[2]);if(!isNaN(b)){d.height=b}if(!isNaN(c)){d.width=c}}}var UseClipToSize=window.navigator.userAgent.indexOf("Firefox")>=0;function SetShimPosition(a,b){var c=g(b).getRelativePosition(a.parentNode);a.style.top=c.y+"px";a.style.left=c.x+"px";a.width=b.offsetWidth;a.height=b.offsetHeight;if(UseClipToSize){ConvertClipToSize(a,b)}else{a.style.clip=b.style.clip}}function UpdateIFrameShim(c,e,d){var a=typeof c=="object"?c:$ID(c);if(!a){return}if(!a.shimElement){addIFrameShim(a,e,d)}var b=a.shimElement;SetShimPosition(b,a);if(Msn.VE.Css.Functions.getComputedStyle(a,"display")=="none"||Msn.VE.Css.Functions.getComputedStyle(a,"visibility")=="hidden"){b.style.display="none"}else{b.style.display="block"}}function RepositionShims(){if(!view3DMode){return}for(var b=0;b<Shims.length;b++){var a=$ID(Shims[b]);if(a&&a.shimElement&&a.shimElement.style.display!="none"){SetShimPosition(a.shimElement,a)}}}function addIFrameShim(b,f,e){var a=document.createElement("iframe");a.frameBorder="0";a.scrolling="no";a.style.position="absolute";if(e>=0){a.style.zIndex=e}else{a.style.zIndex="1"}a.style.backgroundColor="white";b.shimElement=a;HideShim(b);var c=f;if(c==null){c=b}var d=c.parentNode;if(d==null){d=document.body}d.insertBefore(a,c);if(b.id=="msve_ScratchPad"||b.id&&b.id.indexOf("_vefindcontrolinput")>0){hookResizeEvent(b)}return a}function destroyIFrameShim(b){var a=$ID(b);DestroyShim(a)}function ShowShim(a,b){UpdateIFrameShim(a,b);if(a!=null&&a.shimElement){a.shimElement.style.display="block"}}function HideShim(a){if(a!=null&&a.shimElement){a.shimElement.style.display="none"}}function DestroyShim(a){if(a!=null&&a.shimElement){a.shimElement.parentNode.removeChild(a.shimElement);a.shimElement=null}}function RollShim(b){var a=b.Recipient;if(a.shimElement){if(UseClipToSize){ConvertClipToSize(a.shimElement,a)}else{a.shimElement.style.clip=a.style.clip}}}function OnView3DKeyDown(d,c){var b=parseInt(d);
CloseContextMenu(b);ero.hide();var a=GetMapControlInstance(c);if(a==null){return}switch(b){case 65:a.SetMapStyle("a");break;case 72:a.SetMapStyle("h");break;case 82:case 86:a.SetMapStyle("r");break;case 50:case 98:window.setTimeout(function(){a.EnableMode(Msn.VE.MapActionMode.Mode2D)},10);break;case 66:case 79:a.GetDashboard().Oblique3DToggle()}}function OnNavigationHelpFired(){VE_Help.OpenLiveHelp("wl_local","topic","WL_LOCAL_PROC_3D_NavigateMap.htm")}function OnHardwareAccelHelpFired(){VE_Help.OpenLiveHelp("wl_local","topic","WL_LOCAL_TROU_3D_VideoAcceleration.htm")}var __shapeIdBeingDragged=null;function Deserialize3DMessage(message){var messageObject;if(typeof Sys!="undefined"&&Sys!=null&&Sys.Serialization!=null){messageObject=Sys.Serialization.JavaScriptSerializer.deserialize(message)}else{eval("messageObject = "+message+";")}return messageObject}function OnView3DMouseDown(b){var a=Deserialize3DMessage(b);if(a.button=="Left"){__shapeIdBeingDragged=a.shapeId;window.setTimeout(BeginDragPin3D,300)}CloseContextMenu();ero.hide();if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){VE_MapDispatch.ClickedEntity=null}}function BeginDragPin3D(){if(__shapeIdBeingDragged!=null){var d=true,b=VE_MapManager.GetCollectionByAnId(__shapeIdBeingDragged);if(b!=null){var c=VE_MapManager.GetSelectedCollection();if(c!=null&&c.GetId()!=b.GetId()){return}}else{return}var a=VE_MapManager.GetAnnotationInCollectionById(b,__shapeIdBeingDragged);if(typeof a!="undefined"&&a!=null&&a.GetType()==MC_GEO_TYPE_POINT){VE_Annotations.EnterMovePushpinMode(__shapeIdBeingDragged,true);View3DMovePin(__shapeIdBeingDragged)}}}function OnView3DDropGeometry(b){var a=Deserialize3DMessage(b);if(!a.pushpinId){return}var c=VE_MapManager.GetAnnotationById(a.pushpinId);if(c){VE_Annotations.MovePushpin(null,new Msn.VE.LatLong(a.lat,a.lon))}}function OnView3DLatLonAltClicked(b){var a=Deserialize3DMessage(b);VE_MapUpdateView_AutoSaveEntity();if(VE_EditControl.GetMode()==MC_DRAW_MODEL){VE_MapDispatch.OnCreateModel(a.lat,a.lon,a.alt)}else{VE_EditControl.AddPoint(null,a.lat,a.lon,a.alt)
}}function OnBeginFlyTo(c,b){ero.hide();var a=GetMapControlInstance(b);if(a!=null){a.OnBeginCameraUpdate()}}function OnView3DUpdateViewpoint(k,l){var b=Deserialize3DMessage(k),c=GetMapControlInstance(l);if(c==null){return}c.OnEndCameraUpdate();var f=0.000001,e=0.1,j=0.01,a=c.GetCurrentMapView(),h=Math.abs(b.heading-a.GetDirection())<e&&Math.abs(b.pitch-a.GetTilt())<e,i=a.cameraLatlong!=null&&Math.abs(b.lat-a.cameraLatlong.latitude)<f&&Math.abs(b.lon-a.cameraLatlong.longitude)<f,m=Math.abs(b.alt-a.GetAltitude())<j&&a.GetZoomLevel()==b.zoom,g=i&&h&&(a.GetAltitude()<=-1000&&a.GetZoomLevel()==b.zoom);if(!g){var d=c.GetOn3DAnimationInterruptedCallback();if(d){d()}}a=new Msn.VE.MapView(c);a.latlong=new Msn.VE.LatLong(b.targetLat,b.targetLon);a.cameraLatlong=new Msn.VE.LatLong(b.lat,b.lon);a.SetZoomLevel(b.zoom);a.SetMapStyle(c.GetMapStyle());a.SetAltitude(b.alt);a.SetDirection(b.heading);a.SetTilt(b.pitch);a._supressFlyToCall=true;c.SetView(a);c.Fire("onendpan");c.Fire("onchangeview")}function ProcessQueuedRequest(c,b){var a=GetVEMapInstance(b);if(a!=null){a._ProcessQueuedRequest()}}function OnView3DHoverEnd(){ero.hide()}function CloseContextMenu(a){if(a!=16){VE_MapUpdateView_AutoSaveEntity();VE_MapUpdateView_AutoSaveEntity()}if(VE_ContextMenu.MenuOpen){VE_ContextMenu.RemoveContextPin();VE_ContextMenu.CloseMenu()}}function DoShowNotification(b){var a=Deserialize3DMessage(b);VE_MessageControl._AddMessage(a.message,a.milliseconds)}function OnSetupVE3DVIA(){VE_Help.OpenSized(L_InstallVE3DVIATitle_Text,"Help/"+Get3dInstallMarket()+"/VE3DVIAInstall.htm",700,520)}function Refresh3DPassportCookie(a){if(document.all){return}if(!a){a=map.Get3DControl()}a.RefreshCookiesFromMozilla()}function OnRefreshModel(a){if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){if(typeof a!="undefined"&&a!=null){var b=a.split(",");VE_MapViewPreUpdate.RefreshCollectionList(b)}}}function OnSelectPhoto(a){var b=Deserialize3DMessage(a);if(typeof state!="undefined"&&state!=null){state.SetScene(b.SceneId)}}function OnPhotoCameraZoom(a){OnPhotoCameraPanOrZoom(a,"Zoom while In-Image")
}function OnPhotoCameraPan(a){OnPhotoCameraPanOrZoom(a,"Pan BE Scene")}function OnPhotoCameraPanOrZoom(b){ero.hide();var a=Deserialize3DMessage(b);if(typeof state!="undefined"&&state!=null){state.SetXYScale(a.X,a.Y,a.Scale)}}function OnActivate(a){var b=Deserialize3DMessage(a)}function IsModelVisibleInSpaceland(c){var a=false,b=map.Get3DControl();if(b){if(b.InvokePlugInMethod(VE_3DPlugin.GeoCommunityGuid,"QueryModel",'msnid="'+c+'"')=="1"){a=true}}return a}VE_ModelActionType={CreateModel:"CreateModel",AddModel:"AssociateModel",AddModelByReference:"LoadModelFile",DeleteModel:"DissociateModel",MoveModel:"MoveModel",RotateModel:"RotateModel",ElevateModel:"ElevateModel",EditModel:"EditModel",LoadModelFile:"LoadModelFile",DeleteModelFile:"DeleteModelFile"};VE_ModelWhereType={Scratchpad:"scratchpad",Taskbar:"taskbar",ContextMenu:"contextmenu",CV:"cv"};function UniqueModelViewSuccess(){}function UniqueModelViewFailure(){}function UniqueModelFullyDownloaded(){}function OnView3DPushpinHover(b,c){if(typeof VE_Annotations!="undefined"){if(VE_Annotations.PanelOpen){return}}var a=Deserialize3DMessage(b);Process3DPushpinHover(a.layerId,a.pushpinId,a.rX1,a.rY1,a.rX2,a.rY2,c)}function Process3DPushpinHover(layerId,pushpinId,rX1,rY1,rX2,rY2,mapGuid){var result=null,isInvalid=rX1==null||rY1==null||rX2==null||rY2==null?true:false,isEqual=rX1===rX2&&rY1===rY2?true:false,vmap,mapcontrol,mapid;try{var isAPI=typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null;if(!isAPI){vmap=null;mapcontrol=map;mapid="msve_mapContainer"}else{vmap=GetVEMapInstance(mapGuid);if(vmap==null){return}mapcontrol=vmap.vemapcontrol;mapid=vmap.ID}}catch(a){return}var mapdiv=$ID(mapid);if(mapdiv==null){return}var mapPos=g(mapdiv).getScreenPosition(),rect=null;if(!isInvalid){rect=new Msn.VE.Geometry.Rectangle(new Msn.VE.Geometry.Point(rX1+mapPos.x,rY1+mapPos.y),new Msn.VE.Geometry.Point(rX2+mapPos.x,rY2+mapPos.y))}if(vmap!=null){if(isInvalid||isEqual){return}if(pushpinId.indexOf("msftve")==0){VEShowVEShapeERO(pushpinId,mapGuid,rect);return}else{var pushpins=vmap.pushpins;
if(pushpins!=null){var len=pushpins.length;for(var i=0;i<len;i++){var p=pushpins[i];if(p!=null&&p.ID==pushpinId){ero.hide();VEPushpin.Show3D(rect,p.Title,p.Details,p.TitleStyle,p.DetailsStyle);return}}}}return}else{result=VE_MapManager.GetAnnotationById(pushpinId);if(result){var entity=result;try{if(entity!="undefined"&&entity!=""&&entity){var content=null,col=null;col=VE_MapManager.GetCollectionByAnId(pushpinId);var isCV=col.GetType()==MC_COL_TYPE_COLLECTION?false:true,primitive=entity.GetPrimitive(0);if(primitive.type!=VEShapeType.Pushpin&&pushpinId.indexOf(_entityIdShapePostfix)>0){VE_MapManager.SetHighlightEntity(entity,isCV);return}if(!isCV){VE_MapViewPreUpdate.ShowEro(pushpinId,VE_Directions.EntryPoint.Scratchpad,rect)}else{VE_MapViewPreUpdate.Viewer.ShowEroToItem(null,pushpinId,rect,null)}}}catch(a){}return}}var ddERO=$find(pushpinId+"_ero");if(ddERO){CloseContextMenu();var content=ddERO.get_Content();ero.clearActions();var ddActionNames=eval(ddERO.get_ActionNames()),ddActionValues=eval(ddERO.get_ActionValues());g(ddActionNames).forEach(function(a,b){ero.addAction('<a href = "#" onclick = "'+ddActionValues[b]+'; return false;">'+a+"</a>")});ero.setContent(content);ero.dockToRect(rect,null,-1);return}result=pushpinId.match(/pin_traffic_market_(.*)/);if(result!=null&&result.length>=2){var entity=VE_TrafficManager.GetEntity(pushpinId);if(entity!=null){var content=VE_TrafficManager.CreateZoomPopupContent(entity);if(content!=null&&content!=""&&content!="undefined"){CloseContextMenu();ero.setContent(content);ero.dockToRect(rect,null,-1);return}}}result=pushpinId.match(/pin_traffic_incident_(.*)/);if(result!=null&&result.length>=2){var entity=VE_TrafficManager.GetEntity(pushpinId);if(entity!=null){var content=VE_TrafficManager.CreatePopupContent(entity,true);if(content!=null&&content!=""&&content!="undefined"){CloseContextMenu();ero.setContent(content);ero.dockToRect(rect,null,-1);return}}}if(pushpinId=="autolocate"){var pushpins=mapcontrol.GetPushpins();if(pushpins){for(var i=0;i<pushpins.length;++i){if(pushpins[i].pin.id=="autolocate"){var pinDOM=pushpins[i].pin;
pinDOM.onmouseover(rect);return}}}}result=pushpinId.match(/pin_(.*)/);if(result==null){result=pushpinId=="place_pin"?[null,"place_ero"]:null}if(result!=null&&result.length>=2){var entityID=result[1],r=VE_SearchManager.GetEntity(entityID);if(r===null){entityID=result[0];r=VE_SearchManager.GetEntity(entityID);if(r===null){var correspondingItem=Gimme.id(entityID+"_number");entityID=correspondingItem&&correspondingItem.parentNode.id.replace(/_pin$/,"");r=VE_SearchManager.GetEntity(entityID)}}if(r!==null){CloseContextMenu();VE_SearchManager.SetLatLong(r.latitude,r.longitude);if(r.type!=VE_SearchType.Collection){var content=VE_SearchManager.CreatePopupContent(r,true);ero.setContent(content);ero.dockToRect(rect,null,-1)}else{ShowCollectionPopup(new VE_CollectionSearchEroData(r),rect,null)}}return}}function OnHardwareCapabilitiesUpdate(){if(typeof view3DMode!="undefined"&&view3DMode){map.Setup3DManifests();var b="3D performance option � ",a=map.Get3DControl().HardwareClassificationLevel;if(typeof a!="undefined"&&a!=null){switch(a){case 3:b+="Quality";break;case 2:b+="Balanced";break;case 1:b+="Performance"}UpdateStreetLevelGeometryState(map.Get3DControl());UpdateHiResModelsState(map.Get3DControl());UpdateWeatherPluginState(map.Get3DControl())}}}function View3DMovePin(a){map.Get3DControl().PickupGeometry("UniqueLayer_Hack",a)}Msn.VE.FFSentinel=function(a){this.CurrentVersion=a};function BrowserSupports3D(){var a=window.navigator.userAgent;return a.indexOf("Windows")!=-1&&(a.indexOf("MSIE")!=-1||a.indexOf("Firefox")!=-1)}function GetSentinel(){if(BrowserSupports3D()){if(window.navigator.userAgent.indexOf("MSIE")!=-1){var b;try{b=new ActiveXObject("Microsoft.SentinelVirtualEarth3DProxy.SentinelVE3DProxy")}catch(f){try{b=new ActiveXObject("Microsoft.SentinelVirtualEarth3D.SentinelVE3D")}catch(g){b=null}}return b}else{if(typeof navigator.plugins!=undefined){for(var a=0;a<navigator.plugins.length;a++){var c=navigator.plugins[a].name.indexOf("Virtual Earth 3D");if(c>=0){var e=navigator.plugins[a].name.indexOf("plugin"),d=parseFloat(navigator.plugins[a].name.substring(c+17,e-1));
return new Msn.VE.FFSentinel(d)}}}}}else{if(typeof navigator.plugins!=undefined){for(var a=0;a<navigator.plugins.length;a++){var c=navigator.plugins[a].name.indexOf("Virtual Earth 3D");if(c>=0){var e=navigator.plugins[a].name.indexOf("plugin"),d=parseFloat(navigator.plugins[a].name.substring(c+17,e-1));return new Msn.VE.FFSentinel(d)}}}}return null}function HandleModeNotInstalled(b){if(b==Msn.VE.MapActionMode.Mode3D){map.EnableMode(Msn.VE.MapActionMode.Mode2D);if(BrowserSupports3D()){var a=GetSentinel();if(a!=null){View3DDamaged()}else{View3DInstall()}}else{if(typeof ShowMessage!="undefined"){ShowMessage(L_BrowserNotSupported3D_Text)}}}}function View3DInstall(){try{if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){state.Set3DViewInstallInProgress("true")}if(window.navigator.userAgent.indexOf("MSIE")!=-1){VE_Help.OpenSized(L_View3DHelpWindowTitle_Text,Get3dInstallUrl(),650,520)}else{VE_Help.OpenSized(L_View3DHelpWindowTitle_Text,Get3dInstallUrl(),680,540)}var a=VE_Help.helpPanel.onCloseClick;VE_Help.helpPanel.onCloseClick=function(){a();VE_Help.helpPanel.onCloseClick=a}}catch(b){}}function View3DUpgrade(c){try{var b=Get3dInstallUrl("Default.aspx?v="+c+"&mkt={0}");if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){state.Set3DViewInstallInProgress("true")}if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null){window.open(b,"_blank","width=600,height=320,menubar=0,resizeable=0,status=0,titlebar=0,toolbar=0,scrollbars=0")}else{VE_Help.OpenSized(L_View3DHelpWindowTitle_Text,b,600,320);var a=VE_Help.helpPanel.onCloseClick;VE_Help.helpPanel.onCloseClick=function(){a();VE_Help.helpPanel.onCloseClick=a}}}catch(d){}}function View3DDamaged(){try{VE_Help.Open("",Get3dHelpUrl("View3DUnavailable.htm"))}catch(a){}}function View3DSwitch(){if(map){map.EnableMode(Msn.VE.MapActionMode.Mode3D)}}function Start3DView(){if(map){if(typeof ShowMessage!="undefined"){ShowMessage(L_3DLoading_Text)}window.setTimeout(View3DSwitch,200)}}function Start3DViewWhenUpgradeComplete(){if(map){var a=GetSentinel();if(a.CurrentVersion>=4){if(typeof ShowMessage!="undefined"){ShowMessage(L_3DLoading_Text)
}window.setTimeout(View3DSwitch,200)}else{setTimeout(Start3DViewWhenUpgradeComplete,1500)}a=null}}function NotifyWhen3DUpgraded(){if(map){var a=GetSentinel();if(a.CurrentVersion>=4){if(map.GetDashboard()&&map.GetDashboard().DisplayThreeDUpdatedNotification){map.GetDashboard().DisplayThreeDUpdatedNotification()}else{if(typeof ShowMessage!="undefined"){ShowMessage(L_3DLoading_Text)}window.setTimeout(View3DSwitch,200)}}else{setTimeout(NotifyWhen3DUpgraded,1500)}a=null}}function PushpinURL(d,c){var a=vedomain+"/i/bin/"+window.buildVersion+"/";if(typeof d=="undefined"||d==null||!d){return a+"pins/red_circ7px.gif"}var b=Msn.VE.PushPinTypes;switch(d){case b.Annotation:if(c=="shared"){return a+"pins/poi_viewer.gif"}else{return a+"pins/poi_usergenerated.gif"}case b.Overlay:if(c=="shared"){return a+"pins/poi_cruncher_viewer.gif"}else{return a+"pins/poi_cruncher.gif"}case b.SearchResultPrecise:if(c=="model"||c=="sharemodel"){return a+"pins/modelpoi.gif"}else{if(c=="shared"){return a+"pins/poi_title_viewer.gif"}}return a+"pins/poi_"+c+".gif";case b.SearchResultNonprecise:if(c=="model"||c=="sharemodel"){return a+"pins/modelpoi.gif"}else{if(c=="shared"){return a+"pins/poi_title_viewer.gif"}}return a+"pins/poi_search_nonprecise.gif";case b.Collection:return a+"pins/poi_"+c+".gif";case b.AdSponsor:return a+"pins/poi_search.gif";case b.DirectionStep:return a+"pins/poi_direction_step.png";case b.Direction:return a+"blue_pushpin.png";case b.DirectionTemp:return a+"pins/mapicon_"+c+".gif";case b.TrafficOthers:return a+"Traffic/Traffic"+c+".gif";case b.YouAreHere:return a+"pins/poi_youarehere.gif";case b.Default:return a+"pins/"+c;case b.Context:return a+"pins/red_circ7px.gif";case b.AdRoofStandard:case b.AdRoofWide:case b.AdStandard:case b.AdWide:case b.AdCategory:return c}return a+"pins/poi_usergenerated.gif"}function _VEExtractImgUrlFromHtml(d){var b=null,a=document.createElement("div");a.innerHTML=d;var c=a.getElementsByTagName("img");if(c.length>=1){b=c[0].getAttribute("src")}a=null;return b}var _VEHtmlToImgUrlHash=[];function TranslatePushpinURL(d,f,g){var a=Msn.VE.PushPinTypes,h,c=null;
switch(g){case a.DirectionTemp:var e=/mapicon_(start|end).gif/g,b=e.exec(f);if(b!=null&&b.length>=2){c=b[1];break}else{return vedomain+_VEExtractImgUrlFromHtml(f)}case a.SearchResultPrecise:case a.SearchResultNonprecise:case a.Collection:var e=/VE_Pushpin VE_Pushpin_(.*)/g,b=e.exec(d);if(b!=null&&b.length>=2){c=b[1]}break;case a.TrafficOthers:if(typeof _VEHtmlToImgUrlHash[d]=="string"){c=_VEHtmlToImgUrlHash[d]}else{var e=new RegExp(/VE_Pushpin VE_Traffic_(.*)/g),b=e.exec(d);if(b!=null&&b.length>=2){c=b[1];_VEHtmlToImgUrlHash[d]=c}e=null}break;case a.AdRoofStandard:case a.AdRoofWide:case a.AdStandard:case a.AdWide:case a.AdCategory:c=_VEExtractImgUrlFromHtml(f)}var h=PushpinURL(g,c);return h}var _VE_previousShapeId=null;function RaiseMouseEvent3D(g,d,b){try{var a=Deserialize3DMessage(g);if(a.shapeId!=null){var e=typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null;if(b=="onclick"||!e&&b=="onmouseover"&&a.shapeId.indexOf(_entityIdShapePostfix)>0&&_VE_previousShapeId!=a.shapeId){if(typeof VE_Annotations!="undefined"){if(VE_Annotations.PanelOpen){return}}_VE_previousShapeId=a.shapeId;Process3DPushpinHover(a.layerId,a.shapeId,a.rX1,a.rY1,a.rX2,a.rY2,d)}else{if(!e&&b=="onmouseout"&&a.shapeId.indexOf(_entityIdShapePostfix)>0){VE_MapManager.HighlightEntity(false);_VE_previousShapeId=null}}}var c=GetMapControlInstance(d);if(c==null){return}var f=c.CreateEvent(a.lat==null||a.lon==null?null:new Msn.VE.LatLong(a.lat,a.lon),null,null,null,a.shapeId,a.button,a.alt);c.Fire(b,f)}catch(h){}}function OnMouseDown3D(b,a){RaiseMouseEvent3D(b,a,"onmousedown")}function OnMouseUp3D(b,a){__shapeIdBeingDragged=null;RaiseMouseEvent3D(b,a,"onmouseup")}function OnClick3D(b,a){RaiseMouseEvent3D(b,a,"onclick")}function OnMouseOver3D(b,a){RaiseMouseEvent3D(b,a,"onmouseover")}function OnMouseOut3D(b,a){ero.hide();RaiseMouseEvent3D(b,a,"onmouseout")}function OnDoubleClick3D(b,a){RaiseMouseEvent3D(b,a,"ondoubleclick")}function OnChangeMapStyle3D(){var b=GetMapControlInstance();if(b){var a=b.Get3DControl();UpdateStreetLevelGeometryState(a);UpdateHiResModelsState(a);
UpdateWeatherPluginState(a)}}function GetMapControlInstance(b){if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){return map}var a=GetVEMapInstance(b);if(a==null){return null}return a.vemapcontrol}function GetVEMapInstance(a){if(typeof a=="undefined"||a==null){if(Msn.VE.API==null||Msn.VE.API=="undefined"||Msn.VE.API.Globals.vemapinstances==null||Msn.VE.API.Globals.vemapinstances=="undefined"){return null}var c=0;for(var b in Msn.VE.API.Globals.vemapinstances){if(Msn.VE.API.Globals.vemapinstances[b] instanceof VEMap&&Msn.VE.API.Globals.vemapinstances[b].GetMapMode()==VEMapMode.Mode3D){c++;a=b}}if(c!=1){return null}}return VEMap._GetMapFromGUID(a)}function Get3DHardwareClassification(b){var a=b.HardwareClassificationLevel;if(a==3){a="Quality"}else{if(a==2){a="Balanced"}else{if(a==1){a="Performance"}else{a="Unknown"}}}return a}VE_3DPlugin={MovieRecorderGuid:"791BC97B-7526-4C74-85DB-8CC220E3A65E",PhotoGuid:"B1FC67C1-F8CE-4CA5-A957-B5FF2215037B",PhotoManifest:GetManifestUrl("http://go.microsoft.com/fwlink/?LinkID=99342"),PhotoUrl:GetManifestUrl("http://go.microsoft.com/fwlink/?LinkID=98905"),HiResModelsGuid:"5D4BE259-4D19-492F-8D6B-830833E2EAD9",HiResModelsManifest:GetManifestUrl("http://go.microsoft.com/fwlink/?LinkID=124117"),HiResModelsUrl:GetManifestUrl("http://go.microsoft.com/fwlink/?LinkID=124119"),WeatherPluginGuid:"A020A315-34D9-4357-94AD-97F909E96B22",WeatherPluginManifest:GetManifestUrl("http://go.microsoft.com/fwlink/?LinkID=124118"),WeatherPluginUrl:GetManifestUrl("http://go.microsoft.com/fwlink/?LinkID=124120"),GeoCommunityGuid:"49D0BC0C-67A7-44CD-93BA-C7CF6F20EAB9",GeoCommunityManifest:GetManifestUrl("http://go.microsoft.com/fwlink/?LinkID=99343"),GeoCommunityUrl:GetManifestUrl("http://go.microsoft.com/fwlink/?LinkID=98904"),StreetLevelGeometryGuid:"C9F0B259-0B78-464A-BEC4-B4E90CF0BC8D",StreetLevelGeometryManifest:GetManifestUrl("http://go.microsoft.com/fwlink/?LinkID=111353"),StreetLevelGeometryUrl:GetManifestUrl("http://go.microsoft.com/fwlink/?LinkID=109495")};var VE_3DPhotoPluginObj=0,VE_3DHiResModelsPluginObj=0,VE_3DWeatherPluginObj=0,VE_3DGeoCommunityPluginObj=0,VE_3DStreetLevelGeometryObj=0,PluginEventRegistered=0,PhotoPluginEventRegistered=0,GeoCommunityPluginEventRegistered=0,StreetLevelGeometryEventRegistered=0,VE3DVIASavedAction=0;
function GetVE3DVIAInstallState(a){if(!a){a=map.Get3DControl();if(!a){return 0}}return a.GetComponentInstallState("EE3B731B-969E-4cb6-8949-ADFDC763A547")}function OnVE3DVIAInstallEnd(){if(VE3DVIASavedAction!=0){ProcessModelIn3DEx(VE3DVIASavedAction.actionType,VE3DVIASavedAction.properties,VE3DVIASavedAction.control,L_PluginFeatureNotAvailable_Text);VE3DVIASavedAction=0}}function ProcessModelRequire3DVIA(b,c,a){if(typeof b=="undefined"||b==null){return}if(!a){a=map.Get3DControl();if(!a){return}}if(GetVE3DVIAInstallState()==2){ProcessModelIn3DEx(b,c,a,L_PluginFeatureNotAvailable_Text)}else{if(!VE3DVIASavedAction){VE3DVIASavedAction={}}VE3DVIASavedAction.actionType=b;VE3DVIASavedAction.properties=c;VE3DVIASavedAction.control=a;OnSetupVE3DVIA()}}function ProcessModelIn3D(b,c,d){var a=L_UnableToDisplay3DVIAModel_Text;if(VE_ModelActionType.DeleteModel==b){a=""}ProcessModelIn3DEx(b,c,d,a)}function ProcessModelIn3DEx(b,e,a,d){if(typeof b=="undefined"||b==null){return}if(!a){var c=GetMapControlInstance();if(c){a=c.Get3DControl()}if(!a){return}}if(!VE_3DGeoCommunityPluginObj){VE_3DGeoCommunityPluginObj=CreatePluginObj(a,VE_3DPlugin.GeoCommunityGuid,VE_3DPlugin.GeoCommunityManifest,VE_3DPlugin.GeoCommunityUrl)}if(!GeoCommunityPluginEventRegistered){a.AttachPlugInEvent(VE_3DPlugin.GeoCommunityGuid,"OnRefreshModel","OnRefreshModel");a.AttachPlugInEvent(VE_3DPlugin.GeoCommunityGuid,"OnLaunchVE3DVIA","OnLaunchVE3DVIA");a.AttachPlugInEvent(VE_3DPlugin.GeoCommunityGuid,"LoadModelFileStatus","VE_OnLoadModelFileStatus");GeoCommunityPluginEventRegistered=1}FirePluginEventIn3D(VE_3DGeoCommunityPluginObj,b,e,a,d)}function ProcessPhotoPluginActionIn3D(b,c,a){if(typeof b=="undefined"||b==null){return}if(!a){a=map.Get3DControl();if(!a){return}}if(!VE_3DPhotoPluginObj){VE_3DPhotoPluginObj=CreatePluginObj(a,VE_3DPlugin.PhotoGuid,VE_3DPlugin.PhotoManifest,VE_3DPlugin.PhotoUrl)}if(!PhotoPluginEventRegistered){a.AttachPlugInEvent(VE_3DPlugin.PhotoGuid,"OnSelectPhoto","OnSelectPhoto");a.AttachPlugInEvent(VE_3DPlugin.PhotoGuid,"OnActivate","OnActivate");
a.AttachPlugInEvent(VE_3DPlugin.PhotoGuid,"OnCameraPan","OnPhotoCameraPan");a.AttachPlugInEvent(VE_3DPlugin.PhotoGuid,"OnCameraZoom","OnPhotoCameraZoom");a.AttachPlugInEvent(VE_3DPlugin.PhotoGuid,"OnPhotoStateChanged","OnPhotoStateChanged");PhotoPluginEventRegistered=1}FirePluginEventIn3D(VE_3DPhotoPluginObj,b,c,a,null)}function AllowWeatherPlugin(a){if(!a){return false}var c=GetMapControlInstance(null),d=a.HardwareClassificationLevel,b=c.GetMapStyle();return d==3&&(b=="a"||b=="h")}function AllowHiResModels(a){if(!a){return false}var c=GetMapControlInstance(null),b=a.HardwareClassificationLevel;return b==3}function AllowStreetLevelDetail(a){if(!a){return false}var c=GetMapControlInstance(null),d=a.HardwareClassificationLevel,b=c.GetMapStyle();return d==3&&(b=="a"||b=="h")}function LoadWeatherPlugin(a){if(!VE_3DWeatherPluginObj){if(a&&AllowWeatherPlugin(a)){VE_3DWeatherPluginObj=CreatePluginObj(a,VE_3DPlugin.WeatherPluginGuid,VE_3DPlugin.WeatherPluginManifest,VE_3DPlugin.WeatherPluginUrl);if(VE_3DWeatherPluginObj){VE_3DWeatherPluginObj.Loading=1;a.LoadPlugInDll(VE_3DWeatherPluginObj.Url)}}}}function OnHiResModelViewed(){}function LoadHiResModelsPlugin(a){if(!VE_3DHiResModelsPluginObj){if(a&&AllowHiResModels(a)){VE_3DHiResModelsPluginObj=CreatePluginObj(a,VE_3DPlugin.HiResModelsGuid,VE_3DPlugin.HiResModelsManifest,VE_3DPlugin.HiResModelsUrl);if(VE_3DHiResModelsPluginObj){a.AttachPlugInEvent(VE_3DPlugin.HiResModelsGuid,"OnHiResModelViewed","OnHiResModelViewed");VE_3DHiResModelsPluginObj.Loading=1;a.LoadPlugInDll(VE_3DHiResModelsPluginObj.Url)}}}}function LoadStreetLevelGeometry(a){if(!VE_3DStreetLevelGeometryObj){if(a&&AllowStreetLevelDetail(a)){VE_3DStreetLevelGeometryObj=CreatePluginObj(a,VE_3DPlugin.StreetLevelGeometryGuid,VE_3DPlugin.StreetLevelGeometryManifest,VE_3DPlugin.StreetLevelGeometryUrl);if(VE_3DStreetLevelGeometryObj){VE_3DStreetLevelGeometryObj.Loading=1;a.LoadPlugInDll(VE_3DStreetLevelGeometryObj.Url)}}}}function ActivateStreetLevelGeometry(a){if(AllowStreetLevelDetail(a)){if(!VE_3DStreetLevelGeometryObj){LoadStreetLevelGeometry(a)
}else{if(VE_3DStreetLevelGeometryObj.Loaded&&!VE_3DStreetLevelGeometryObj.Activated){if(a){a.ActivatePlugIn(VE_3DStreetLevelGeometryObj.Guid,VE_3DStreetLevelGeometryObj.Manifest)}}}}}function DeactivateStreetLevelGeometry(a){if(VE_3DStreetLevelGeometryObj){if(VE_3DStreetLevelGeometryObj.Loaded&&VE_3DStreetLevelGeometryObj.Activated&&!AllowStreetLevelDetail(a)){if(a){a.DeactivatePlugIn(VE_3DStreetLevelGeometryObj.Guid)}}}}function UpdateStreetLevelGeometryState(a){var b=AllowStreetLevelDetail(a);if(b){if(!VE_3DStreetLevelGeometryObj.Activated){ActivateStreetLevelGeometry(a)}}else{if(VE_3DStreetLevelGeometryObj.Activated){DeactivateStreetLevelGeometry(a)}}}function ActivateWeatherPlugin(a){if(AllowWeatherPlugin(a)){if(!VE_3DWeatherPluginObj){LoadWeatherPlugin(a)}else{if(VE_3DWeatherPluginObj.Loaded&&!VE_3DWeatherPluginObj.Activated){if(a){a.ActivatePlugIn(VE_3DWeatherPluginObj.Guid,VE_3DWeatherPluginObj.Manifest)}}}}}function DeactivateWeatherPlugin(a){if(VE_3DWeatherPluginObj){if(VE_3DWeatherPluginObj.Loaded&&VE_3DWeatherPluginObj.Activated&&!AllowWeatherPlugin(a)){if(a){a.DeactivatePlugIn(VE_3DWeatherPluginObj.Guid)}}}}function UpdateWeatherPluginState(a){var b=AllowWeatherPlugin(a);if(b){if(!VE_3DWeatherPluginObj.Activated){ActivateWeatherPlugin(a)}}else{if(VE_3DWeatherPluginObj.Activated){DeactivateWeatherPlugin(a)}}}function ActivateHiResModelsPlugin(a){if(AllowHiResModels(a)){if(!VE_3DHiResModelsPluginObj){LoadHiResModelsPlugin(a)}else{if(VE_3DHiResModelsPluginObj.Loaded&&!VE_3DHiResModelsPluginObj.Activated){if(a){a.ActivatePlugIn(VE_3DHiResModelsPluginObj.Guid,VE_3DHiResModelsPluginObj.Manifest)}}}}}function DeactivateHiResModelsPlugin(a){if(VE_3DHiResModelsPluginObj){if(VE_3DHiResModelsPluginObj.Loaded&&VE_3DHiResModelsPluginObj.Activated&&!AllowHiResModels(a)){if(a){a.DeactivatePlugIn(VE_3DHiResModelsPluginObj.Guid)}}}}function UpdateHiResModelsState(a){var b=AllowHiResModels(a);if(b){if(!VE_3DHiResModelsPluginObj.Activated){ActivateHiResModelsPlugin(a)}}else{if(VE_3DHiResModelsPluginObj.Activated){DeactivateHiResModelsPlugin(a)
}}}function CreatePluginObj(b,d,c,e){if(!PluginEventRegistered){b.AttachEvent("OnPlugInLoaded","On3DPlugInLoaded");b.AttachEvent("OnPlugInActivated","On3DPlugInActivated");b.AttachEvent("OnPlugInDeactivated","On3DPlugInDeactivated");PluginEventRegistered=1}var a={};a.Loaded=0;a.Loading=0;a.Activated=0;a.actionCounter=0;a.actionType=[];a.properties=[];a.control=[];a.errorMessage=[];a.Guid=d.toUpperCase();a.Manifest=c;a.Url=e;return a}function FirePluginEventIn3D(a,c,d,b,e){if(a.Activated){b.RaiseEvent(a.Guid,c,d)}else{if(!a.Loaded&&!a.Loading){a.Loading=1;b.LoadPlugInDll(a.Url)}QueuePluginEvent(a,c,d,b,e)}}function QueuePluginEvent(a,c,d,e,b){a.actionType[a.actionCounter]=c;a.properties[a.actionCounter]=d;a.control[a.actionCounter]=e;a.errorMessage[a.actionCounter]=b;a.actionCounter=a.actionCounter+1}function FireErrorMessage(b){var a,c;for(a=0;a<b.actionCounter;a=a+1){if(b.errorMessage[a]==null||b.errorMessage[a].length==0){continue}var d=false;for(c=0;c<a;c=c+1){if(b.errorMessage[a]==b.errorMessage[c]){d=true;break}}if(!d){VE_MessageControl._AddMessage(b.errorMessage[a])}}}function PostLoadPlugin(b,a,c){a.Loading=0;if(!a.Loaded){if(c){a.Loaded=1;b.ActivatePlugIn(a.Guid,a.Manifest)}else{if(a.Guid==VE_3DPlugin.GeoCommunityGuid){FireErrorMessage(a)}else{VE_MessageControl._AddMessage(L_PluginFeatureNotAvailable_Text,3000)}a.actionCounter=0}}}function PostActivatePlugin(c,a,d){if(d){a.Activated=1;var b;for(b=0;b<a.actionCounter;b=b+1){if(c==a.control[b]){c.RaiseEvent(a.Guid,a.actionType[b],a.properties[b])}}}else{if(a.Guid==VE_3DPlugin.GeoCommunityGuid){FireErrorMessage(a)}else{VE_MessageControl._AddMessage(L_PluginFeatureNotAvailable_Text,3000)}}a.actionCounter=0}function On3DPlugInLoaded(h,g){var a=Deserialize3DMessage(h);if(typeof a.guid!="undefined"&&a.guid!=null){a.guid=a.guid.toUpperCase()}else{if(typeof a.plugInPath=="string"){var i=a.plugInPath.toLowerCase(),f=[VE_3DPhotoPluginObj,VE_3DGeoCommunityPluginObj,VE_3DStreetLevelGeometryObj,VE_3DWeatherPluginObj,VE_3DHiResModelsPluginObj];for(var d=0;d<f.length;d++){var c=f[d];
if(typeof c=="object"&&typeof c.Url=="string"&&c.Url.toLowerCase()==i){a.guid=c.Guid.toUpperCase();break}}}}var e=GetMapControlInstance(g);if(e){var b=e.Get3DControl();if(a.guid==VE_3DPlugin.PhotoGuid){PostLoadPlugin(b,VE_3DPhotoPluginObj,a.success)}else{if(a.guid==VE_3DPlugin.GeoCommunityGuid){PostLoadPlugin(b,VE_3DGeoCommunityPluginObj,a.success)}else{if(a.guid==VE_3DPlugin.HiResModelsGuid){if(a.success&&!VE_3DHiResModelsPluginObj.Loaded){VE_3DHiResModelsPluginObj.Loaded=1;ActivateHiResModelsPlugin(b)}}else{if(a.guid==VE_3DPlugin.WeatherPluginGuid){if(a.success&&!VE_3DWeatherPluginObj.Loaded){VE_3DWeatherPluginObj.Loaded=1;ActivateWeatherPlugin(b)}}else{if(a.guid==VE_3DPlugin.StreetLevelGeometryGuid){if(a.success&&!VE_3DStreetLevelGeometryObj.Loaded){VE_3DStreetLevelGeometryObj.Loaded=1;ActivateStreetLevelGeometry(b)}}}}}}}}function On3DPlugInActivated(e,d){var a=Deserialize3DMessage(e);if(typeof a.guid!="undefined"&&a.guid!=null){a.guid=a.guid.toUpperCase()}var c=GetMapControlInstance(d);if(c){var b=c.Get3DControl();if(a.guid==VE_3DPlugin.PhotoGuid){PostActivatePlugin(b,VE_3DPhotoPluginObj,a.success)}else{if(a.guid==VE_3DPlugin.GeoCommunityGuid){PostActivatePlugin(b,VE_3DGeoCommunityPluginObj,a.success)}else{if(a.guid==VE_3DPlugin.StreetLevelGeometryGuid){PostActivatePlugin(b,VE_3DStreetLevelGeometryObj,a.success)}else{if(a.guid==VE_3DPlugin.HiResModelsGuid){PostActivatePlugin(b,VE_3DHiResModelsPluginObj,a.success)}else{if(a.guid==VE_3DPlugin.WeatherPluginGuid){PostActivatePlugin(b,VE_3DWeatherPluginObj,a.success)}}}}}}}function On3DPlugInDeactivated(b){var a=Deserialize3DMessage(b);a.guid=a.guid.toUpperCase();if(a.guid==VE_3DPlugin.PhotoGuid&&a.success){VE_3DPhotoPluginObj.Activated=0}else{if(a.guid==VE_3DPlugin.GeoCommunityGuid&&a.success){VE_3DGeoCommunityPluginObj.Activated=0}else{if(a.guid==VE_3DPlugin.StreetLevelGeometryGuid&&a.success){VE_3DStreetLevelGeometryObj.Activated=0}else{if(a.guid==VE_3DPlugin.HiResModelsGuid&&a.success){VE_3DHiResModelsPluginObj.Activated=0}else{if(a.guid==VE_3DPlugin.WeatherPluginGuid&&a.success){VE_3DWeatherPluginObj.Activated=0
}}}}}}function OnPhotoStateChanged(e,c){var a=GetMapControlInstance(c);if(a==null){return}var b=a.CreateEvent(),d=Deserialize3DMessage(e);b.enabled=d.enabled;a.Fire("onve3dphotostatechanged",b)}function OnLaunchVE3DVIA(){VE_MessageControl._AddMessage(L_LaunchVE3DVIA_Text,5000)}function VE_OnLoadModelFileStatus(d){if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null){var c=GetVEMapInstance();if(c){var b=Deserialize3DMessage(d),a=c.GetShapeByID(b.id);if(a&&a.ModelData&&typeof a.ModelData.Callback=="function"){a.ModelData.Callback(a,b.status)}}}}var __vemapcontrolisReady=true;if(!window.__DEP_COL_HASH){window.__DEP_COL_HASH=[]}function openDependency(c,g){var d=false,a=__DEP_COL_HASH[c];if(!a){a=new f(c,g);var b=__DEP_COL_HASH.push(a);__DEP_COL_HASH[c]=__DEP_COL_HASH[b-1]}if(a.isClosed){a.reset()}var b,i=arguments.length;for(b=2;b<i;b++){var e=arguments[b];if(!a.dependencyExists(e)){a.addDependency(new h(e))}else{d=true}}return !d;function h(a){this.id=a;this.isReady=false}function f(c,d){var a=[],b=d,e=false;this.key=c;this.isClosed=false;this.addDependency=function(b){var c=a.push(b);a[b.id]=a[c-1]};this.dependencyExists=function(b){return a[b]!=null};this.getDependencies=function(){return a};this.executeCallback=function(){if(typeof b=="function"){b.call()}};this.reset=function(){this.isClosed=false;a=[]}}}function closeDependency(f){var b,h=__DEP_COL_HASH.length;a:for(b=0;b<h;b++){var a=__DEP_COL_HASH[b],d=a.getDependencies(),e=d[f];if(typeof e!="undefined"&&e!=null){e.isReady=true;if(!a.isClosed){var c,g=d.length;for(c=0;c<g;c++){if(!d[c].isReady){continue a}}a.isClosed=true;a.executeCallback()}}}}var CompatVersion="";if(typeof VEAPI_DisableAtlasCompat=="undefined"||!VEAPI_DisableAtlasCompat){VEAPI_DisableAtlasCompat=navigator.userAgent.indexOf("KHTML")!==-1}function disable_text_selection(a){if(typeof a==="undefined"){return}a.onselectstart=function(){return false};a.onmousedown=function(){return false};a.unselectable="on";a.style.MozUserSelect="none";a.style.cursor="default"}_VERegisterNamespaces("Web.Browser","Web.Debug.Performance");
if(!Web.Debug.Enabled){Web.Debug.Enabled=false;Web.Debug.Assert=Web.Debug.Trace=function(){};Web.Debug.Performance.Start=function(){this.End=function(){};return this}}Web.Browser.isSafari=function(){return navigator.userAgent.indexOf("KHTML")!==-1};Web.Browser.GetWebKitVersion=function(){var b=NaN,a=/ AppleWebKit\/([^ ]+)/.exec(navigator.userAgent);if(a&&a.length==2){b=parseInt(a[1])}Web.Browser.GetWebKitVersion=function(){return b};return b};Web.Browser.isSafari2=function(){return Web.Browser.GetWebKitVersion()<500};Web.Browser.isSafari3=function(){return Web.Browser.GetWebKitVersion()>=500};Web.Browser.AttachSafariCompatibility=function(a){if(Web.Browser.isSafari2()){try{document.getElementsByTagName("HTML")[0]}catch(s){}}a.CollectGarbage=function(){};Web.Browser.Button={LEFT:0,RIGHT:2,MIDDLE:1};function i(a){window.event=a}function q(b,c,d){var a=c.slice(2);if(a!=="mouseenter"&&a!=="mouseleave"){b.addEventListener(a,i,true)}else{b.addEventListener("mouseover",i,true);b.addEventListener("mouseout",i,true)}b.addEventListener(a,d,false)}function p(d,b,c){var a=b.slice(2);if(b==="mousewheel"){a="DOMMouseScroll"}d.removeEventListener(a,c,false)}function j(a,b){if(a==="onclick"){a="onmouseup"}q(this,a,b)}function k(a,b){if(a==="onclick"){a="onmouseup"}p(this,a,b)}if(Web.Browser.isSafari2()){if(typeof a["[[DOMDocument.prototype]]"]==="undefined"||typeof a["[[DOMElement.prototype]]"]==="undefined"){Object.prototype.attachEvent=j;Object.prototype.detachEvent=k}else{a.attachEvent=a["[[DOMDocument.prototype]]"].attachEvent=a["[[DOMElement.prototype]]"].attachEvent=j;a.detachEvent=a["[[DOMDocument.prototype]]"].detachEvent=a["[[DOMElement.prototype]]"].detachEvent=k}}else{if(Web.Browser.isSafari3()){a.attachEvent=a.HTMLDocument.prototype.attachEvent=a.HTMLElement.prototype.attachEvent=j;a.detachEvent=a.HTMLDocument.prototype.detachEvent=a.HTMLElement.prototype.detachEvent=k}}var g=false;function c(a){if(g){a.preventDefault();a.returnValue=false;document.removeEventListener(a.type,c,true);a.capturedTarget=a.target;g.dispatchEvent(a);
delete a.captureTarget;if(g){document.addEventListener(a.type,c,true)}a.stopPropagation()}}function b(a){a.stopPropagation();a.preventDefault()}function o(){g=this;document.addEventListener("mousemove",c,true);document.addEventListener("mouseover",b,true);document.addEventListener("mouseout",b,true);document.addEventListener("mouseenter",b,true);document.addEventListener("mouseleave",b,true);document.addEventListener("mouseup",c,true)}function m(){g=null;document.removeEventListener("mousemove",c,true);document.removeEventListener("mouseover",b,true);document.removeEventListener("mouseout",b,true);document.removeEventListener("mouseenter",b,true);document.removeEventListener("mouseleave",b,true);document.removeEventListener("mouseup",c,true)}if(Web.Browser.isSafari2()){var n=0;function l(){if(typeof a["[[DOMElement.prototype]]"]==="undefined"){if(n<100){n++;setTimeout(l,100)}}else{a["[[DOMElement.prototype]]"].setCapture=o;a["[[DOMElement.prototype]]"].releaseCapture=m}}l()}else{if(Web.Browser.isSafari3()){a.HTMLElement.prototype.setCapture=o;a.HTMLElement.prototype.releaseCapture=m}}function h(){}function d(){}var f=null,e=null;if(Web.Browser.isSafari2()){h=function(e,c,b){var a=d(e,c,b);if(a.length>0){return a[0]}else{return null}};d=function(g,e,d){var c=d.getElementsByTagName(e),b=[],a,f=c.length;for(a=0;a<f;a++){b.push(c[a])}return b};f=typeof a["[[DOMDocument.prototype]]"]!=="undefined"?a["[[DOMDocument.prototype]]"]:Object.prototype;e=typeof a["[[DOMElement.prototype]]"]!=="undefined"?a["[[DOMElement.prototype]]"]:Object.prototype}else{if(Web.Browser.isSafari3()){h=function(e,a,c){a+="[1]";var b=d(e,a,c);if(b.length>0){return b[0]}else{return null}};d=function(b,f,e){var d=b.evaluate(f,e,b.createNSResolver(b.documentElement),XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null),c=[],a,g=d.snapshotLength;for(a=0;a<g;a++){c.push(d.snapshotItem(a))}return c};if(typeof document.implementation!=="undefined"&&typeof document.implementation.createDocument!=="undefined"){f=document.implementation.createDocument("ns","root",null).constructor.prototype
}if(typeof Element!=="undefined"){e=Element.prototype}}}if(f){f.selectNodes=function(a){return d(this,a,this)};f.selectSingleNode=function(a){return h(this,a,this)}}if(e){e.selectNodes=function(b){var a=this.ownerDocument;if(a.selectNodes){return d(a,b,this)}else{return null}};e.selectSingleNode=function(b){var a=this.ownerDocument;if(a.selectSingleNode){return h(a,b,this)}else{return null}}}};if(Web.Browser.isSafari()){Web.Browser.AttachSafariCompatibility(window);if(Web.Browser.isSafari2()){Msn.Drawing.SvgLayer=function(i,d){function g(b){var c="http://www.w3.org/1999/xhtml",a=document.createElementNS(c,"canvas");a.setAttribute("id",b);disable_text_selection(a);a.setAttribute("width",d.GetMapWidth());a.setAttribute("height",d.GetMapHeight());a.style.position="absolute";a.style.top="0px";a.style.left="0px";return a}var c=d,b=null,h=false,k=false,j=true;if(h===false){h=true;b=document.createElement("div");b.setAttribute("height","100%");b.setAttribute("width","100%");i.appendChild(b);this.lineDashStyles=[];var a=this.lineDashStyles;a[0]=["Solid","none"];a[1]=["ShortDash","6,2"];a[2]=["ShortDot","2,2"];a[3]=["ShortDashDot","6,2,2,2"];a[4]=["ShortDashDotDot","6,2,2,2,2,2"];a[5]=["Dot","2,6"];a[6]=["Dash","10,6"];a[7]=["LongDash","20,6"];a[8]=["DashDot","10,6,2,6"];a[9]=["LongDashDot","20,6,2,6"];a[10]=["LongDashDotDot","20,6,2,6,2,6"]}this.addShape=function(d){if(b===null){return}var j=null;if(d.type===MC_GEO_TYPE_POINT){j=g(d.id!==0?d.id:d.iid);b.appendChild(j);var a=j.getContext("2d"),n=k.x-6,o=k.y-6,m=12,k=12;a.fillStyle=d.symbol.fill_color;a.strokeStyle=d.symbol.stroke_color;a.lineWidth=d.symbol.stroke_weight;a.beginPath();a.rect(n,o,m,k);a.closePath();a.fill();a.stroke()}else{if(d.type===MC_GEO_TYPE_POLYLINE||d.type===MC_GEO_TYPE_POLYGON){j=g(d.id!==0?d.id:d.iid);b.appendChild(j);var a=j.getContext("2d");if(d.type===MC_GEO_TYPE_POLYGON){a.fillStyle=f(d.symbol.fill_color,e(d.symbol.fill_opacity))}else{a.fillStyle=""}a.strokeStyle=f(d.symbol.stroke_color,e(d.symbol.stroke_opacity));a.lineWidth=parseInt(d.symbol.stroke_weight);
var i=GetSvgPath(c,d.points).split(/[\s,]+/),h,l=i.length;if(d.type===MC_GEO_TYPE_POLYGON){a.beginPath();a.moveTo(Number(i[0]),Number(i[1]));for(h=2;h<l;h+=2){a.lineTo(Number(i[h]),Number(i[h+1]))}a.closePath();a.fill()}a.beginPath();a.moveTo(Number(i[0]),Number(i[1]));for(h=2;h<l;h+=2){a.lineTo(Number(i[h]),Number(i[h+1]))}a.stroke()}}return j};this.SetZIndex=function(a){if(!c.bShowSVG){return}c.GetsvgDiv().style.zIndex=a};this.UpdatePoints=function(a){if(a.type==VEShapeType.Polyline||a.type==VEShapeType.Polygon){var b=$ID(a.id!==0?a.id:a.iid);if(b.parentNode){b.parentNode.removeChild(b)}this.addShape(a)}return a};this.UpdateStyle=this.UpdatePoints;function f(b,c){if(b.length==7&&c){var a=[];a.push("rgba(");a.push(parseInt(b.substring(1,3),16));a.push(",");a.push(parseInt(b.substring(3,5),16));a.push(",");a.push(parseInt(b.substring(5,7),16));a.push(",");a.push(c);a.push(")");return a.join("")}else{return b}}function e(a){a+="";if(a.indexOf("%")>1){a=parseInt(a);if(a===NaN){a=0.3}else{a/=100}}return a}}}}var windowWidth=0,windowHeight=0,scrollbarWidth=null;function $ID(a){var b=document;return b.getElementById(a)}function $CE(a){var b=document;return b.createElement(a)}function $CENS(a){var b=document;return b.createElementNS(a)}function GetWindowWidth(){var a=0;if(typeof window.innerWidth=="number"){a=window.innerWidth}else{if(document.documentElement&&document.documentElement.clientWidth){a=document.documentElement.clientWidth}else{if(document.body&&document.body.clientWidth){a=document.body.clientWidth}}}if(!a||a<100){a=100}return a}function GetWindowHeight(){var a=0;if(typeof window.innerHeight=="number"){a=window.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){a=document.documentElement.clientHeight}else{if(document.body&&document.body.clientHeight){a=document.body.clientHeight}}}if(!a||a<100){a=100}return a}function GetScrollbarWidth(){if(scrollbarWidth){return scrollbarWidth}if(navigator.userAgent.indexOf("IE")>=0){var a=document.createElement("div"),b=null;a.style.visible="hidden";
a.style.overflowY="scroll";a.style.position="absolute";a.style.width=0;document.body.insertAdjacentElement("afterBegin",a);b=a.offsetWidth;a.parentNode.removeChild(a);if(!b){b=16}scrollbarWidth=b;return b}else{return 0}}function GetUrlPrefix(){var a=window.location.pathname.lastIndexOf("/"),b=window.location.protocol+"//"+window.location.hostname+window.location.pathname.substring(0,a+1);return b}function GetUrlParameterString(){var a=window.location.search;if(a.length==0||a.indexOf("?")==-1){return""}return a.substr(a.indexOf("?")+1)}function CheckWipExistence(){var a=GetUrlParameterString();if(a!=""&&a.indexOf("wip=")>-1){return true}return false}function GetUrlParameters(){var b=[],d=GetUrlParameterString();if(!d){return b}var e=d.split("&");for(var c=0;c<e.length;c++){var a=e[c].split("=");if(a.length==2&&a[0]&&a[1]){b.push(unescape(a[0]));b.push(unescape(a[1]))}}return b}function ParseShiftKeyForLinks(a){if(a.shiftKey){return false}return true}_VERegisterNamespaces("Msn.VE.API.Globals");_VERegisterNamespaces("Msn.VE.API.Constants");Msn.VE.API.Globals.vemapinstances=null;Msn.VE.API.Globals.veonbegininvokeevent=null;Msn.VE.API.Globals.veonendinvokeevent=null;Msn.VE.API.Globals.vefindresultsnpanel=null;Msn.VE.API.Globals.language="en";Msn.VE.API.Globals.locale="en-US";Msn.VE.API.Globals.resourcelocale="en-US";Msn.VE.API.Globals.vecurrentversion="6.3.20091207154938.04";Msn.VE.API.Globals.ishttpsenabled=false;Msn.VE.API.Globals.protocol=Msn.VE.API.Globals.ishttpsenabled?"https://":"http://";Msn.VE.API.Globals.vecurrentdomain="http://ecn.dev.virtualearth.net/mapcontrol/v6.3";Msn.VE.API.Globals.vedebug=false;Msn.VE.API.Globals.analyticsInitialized=false;var VE_MapDispatch_SymbolLib=null;Msn.VE.API.Constants.orthotileserver="%0ecn.t%2.tiles.virtualearth.net/tiles/%3%4.%5?g=%6&mkt={21}".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.obliquetileserver="%0ecn.t%3.tiles.virtualearth.net/tiles/o%4-%5-%6-%7.jpeg?g=%8".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.obliquehybridtileserver="%0ecn.t%3.tiles.virtualearth.net/tiles/cmd/ObliqueHybrid?a=%4-%5-%6-%7&g=%8".replace(/%0/g,Msn.VE.API.Globals.protocol);
Msn.VE.API.Constants.obliquethumbnailtileserver="%0ecn.t%1.tiles.virtualearth.net/tiles/ot%2.jpeg?g=%3".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.shadedtileserver="%0ecn.t%2.tiles.virtualearth.net/tiles/%3%4.%5?g=%6&mkt={21}&shading=hill".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.lavendertileserver="%0ecn.t%2.tiles.virtualearth.net/tiles/r%4?g=%6&mkt={21}&lbl=l1&stl=h&shading=hill&n=z".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.traffictileserver="%0t%2.tiles.virtualearth.net/tiles/dp/content?p=tf&a=%4".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.trafficmarketsserver="%0t0.tiles.virtualearth.net/tiles/dp/content?p=ti&a=markets.js".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.trafficincidentsserver="%0t0.tiles.virtualearth.net/tiles/dp/content?p=ti&a=market-%1.js".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.orthoorigintileserver="%0t%2.tiles.virtualearth.net/tiles/%3%4.%5?g=%6&mkt={21}".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.obliqueorigintileserver="%0t%3.tiles.virtualearth.net/tiles/o%4-%5-%6-%7.jpeg?g=%8".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.obliquehybridorigintileserver="%0t%3.tiles.virtualearth.net/tiles/cmd/ObliqueHybrid?a=%4-%5-%6-%7&g=%8".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.obliquethumbnailorigintileserver="%0t%1.tiles.virtualearth.net/tiles/ot%2.jpeg?g=%3".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.shadedorigintileserver="%0t%2.tiles.virtualearth.net/tiles/%3%4.%5?g=%6&mkt={21}&shading=hill".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.lavenderorigintileserver="%0t%2.tiles.virtualearth.net/tiles/r%4?g=%6&mkt={21}&lbl=l1&stl=h&shading=hill&n=z".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.imageryurl="%0dev.virtualearth.net/services/v1/ImageryMetadataService/ImageryMetadataService.asmx".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.collectionservice="%0www.bing.com/maps/GeoCommunity.aspx".replace(/%0/g,Msn.VE.API.Globals.protocol);
Msn.VE.API.Constants.searchservice="%0dev.virtualearth.net/services/v1/SearchService/SearchService.asmx/Search2".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.legacyrouteservice="__legacyRouteServiceUrl__".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.routeservice="%0dev.virtualearth.net/services/v1/RouteService/RouteService.asmx".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.geocodingservice="%0dev.virtualearth.net/services/v1/geocodeservice/geocodeservice.asmx".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.logservice="%0dev.virtualearth.net/webservices/v1/LoggingService/LoggingService.svc".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.frontdoorLogUrl="".replace(/%0/g,Msn.VE.API.Globals.protocol);Msn.VE.API.Constants.iconurl=Msn.VE.API.Globals.vecurrentdomain+"/i/bin/"+Msn.VE.API.Globals.vecurrentversion+"/pins/poi_usergenerated.gif";Msn.VE.API.Constants.clustericonurl=Msn.VE.API.Globals.vecurrentdomain+"/i/bin/"+Msn.VE.API.Globals.vecurrentversion+"/pins/poi_stack.gif";Msn.VE.API.Constants.atlascompatjs=Msn.VE.API.Globals.vecurrentdomain+"/js/atlascompat.js";Msn.VE.API.Constants.stylesheet=Msn.VE.API.Globals.vecurrentdomain+"/css/bin/"+Msn.VE.API.Globals.vecurrentversion+"/"+Msn.VE.API.Globals.language+"/mapcontrol.css";Msn.VE.API.Constants.stylesheetiev6=Msn.VE.API.Globals.vecurrentdomain+"/css/bin/"+Msn.VE.API.Globals.vecurrentversion+"/"+Msn.VE.API.Globals.language+"/mapcontroliev6.css";Msn.VE.API.Constants.vedirectionsstarticon=Msn.VE.API.Globals.vecurrentdomain+"/i/bin/"+Msn.VE.API.Globals.vecurrentversion+"/pins/mapicon_start.gif";Msn.VE.API.Constants.vedirectionsendicon=Msn.VE.API.Globals.vecurrentdomain+"/i/bin/"+Msn.VE.API.Globals.vecurrentversion+"/pins/mapicon_end.gif";Msn.VE.API.Constants.vedirectionsstepicon=Msn.VE.API.Globals.vecurrentdomain+"/i/bin/"+Msn.VE.API.Globals.vecurrentversion+"/pins/RedCircle%1.gif";Msn.VE.API.Constants.trafficiconurl=Msn.VE.API.Globals.vecurrentdomain+"/i/bin/"+Msn.VE.API.Globals.vecurrentversion+"/Traffic/Traffic%1.gif";
Msn.VE.API.Constants.trafficmarketiconurl=Msn.VE.API.Globals.vecurrentdomain+"/i/bin/"+Msn.VE.API.Globals.vecurrentversion+"/Traffic/%1TrafficZoom.gif";Msn.VE.API.Constants.spacerurl=Msn.VE.API.Globals.vecurrentdomain+"/i/bin/"+Msn.VE.API.Globals.vecurrentversion+"/spacer.gif";Msn.VE.API.Constants.mapguid="mapguid";Msn.VE.API.Constants.rim="rim";Msn.VE.API.Constants.rimargs="rimargs";Msn.VE.API.Constants.contextid="contextid";Msn.VE.API.Constants.clienttoken="token";Msn.VE.API.Constants.market="mkt";Msn.VE.API.Constants.culture="culture";Msn.VE.API.Constants.format="format";Msn.VE.API.Constants.json="json";Msn.VE.API.Constants.requestid="rid";Msn.VE.API.Constants.maximportedshapes="maxitems";Msn.VE.API.Constants.defaultLogCredentials="Ahn5L376ymB7iE0SUTiv0-mqke-onEds0hDyR5WF9uaGYphF-L3tsU6i7xcT-B5H";Msn.VE.API.Globals.vemapmode=Msn.VE.MapActionMode.Mode2D;Msn.VE.API.Globals.vemapheight=400;Msn.VE.API.Globals.vemapwidth=600;Msn.VE.API.Globals.vemapzoom=4;Msn.VE.API.Globals.vemaplatitude="43.75";Msn.VE.API.Globals.vemaplongitude="-99.71";Msn.VE.API.Globals.vemapstyle="r";Msn.VE.API.Globals.vemaxzoom="26";Msn.VE.API.Globals.veminzoom="1";Msn.VE.API.Globals.veshapemaxzoom="21";Msn.VE.API.Globals.veshapeminzoom="1";Msn.VE.API.Globals.vetilesize=256;Msn.VE.API.Globals.vepushpinpanelzIndex=999;Msn.VE.API.Globals.veshapeiconzindex=1000;Msn.VE.API.Globals.veshapepolyshapezindex=50;Msn.VE.API.Globals.vetilelayerdefaultzindex=2;Msn.VE.API.Globals.vemessagepanelheight=75;Msn.VE.API.Globals.vemessagepanelzIndex=99;Msn.VE.API.Globals.veplacelistpanelheight=200;Msn.VE.API.Globals.veplacelistpanelwidth=350;Msn.VE.API.Globals.veplacelistpanelzIndex=300;Msn.VE.API.Globals.vefindresultsnpanelwidth=200;Msn.VE.API.Globals.vefindresultsnpanelzIndex=99;Msn.VE.API.Globals.vefindresultsnpanelcolor="blue";Msn.VE.API.Globals.veiscommercialcontrol=false;Msn.VE.API.Globals.veobliqueMode=null;Msn.VE.API.Constants.maxasynlatlongs=50;Msn.VE.API.Globals.vefindnumresultsdefault=10;Msn.VE.API.Globals.vefindnumresultsmin=1;Msn.VE.API.Globals.vefindnumresultsmax=20;
Msn.VE.API.Globals.vedefaultmaximportedshapes=200;Msn.VE.API.Globals.Dispose=function(){Msn.VE.API.Globals.veonbegininvokeevent=null;Msn.VE.API.Globals.veonendinvokeevent=null;Msn.VE.API.Globals.vefindresultsnpanel=null};Msn.VE.API.Globals.PosX=function(a){var b=0;if(!a){var a=window.event}if(a.pageX){b=a.pageX}else{if(a.clientX){b=a.clientX+document.body.scrollLeft}}return b};Msn.VE.API.Globals.PosY=function(a){var b=0;if(!a){var a=window.event}if(a.pageY){b=a.pageY}else{if(a.clientY){b=a.clientY+document.body.scrollTop}}return b};function VE_Help(){}_VERegisterNamespaces("Msn.VE.Constants.Css");var MSVE_header=document.getElementsByTagName("body")[0],VE_ContextMenu=null,Gimme={};(function(){var b=new function(){var e={},n=new function(){this.val=-2;this.t=0;this.f=0;this.inc=function(){this.val+=2;this.t=this.val+1;this.f=this.val}};this.query=p;this.processSelector=f;this.nthCacheContains=i;function p(a,b){if(!a){return[]}if(a instanceof Array){return a}if(typeof a!=="string"){return[a]}if(typeof document.querySelectorAll!=="undefined"){try{return g(document.querySelectorAll(a))}catch(c){}}e={};n.inc();return o(d.parseSelector(a),b)}function o(q,c){var b=q.selectors,i=q.hints,h=i.anchor;c=c||document.documentElement;if(h.elem===null){return[]}if(i.isPartialQuery){b.unshift(d.createReferenceSelector(c));c=c.parentNode}else{if(h.elem!==-1&&b.length>1){c=h.elem}}if(i.initialCollection!==null){elems=j(i.initialCollection,b[b.length-1])}else{elems=m(b[b.length-1],c)}if(b.length===1){return elems}if(b.length===3){if(h.isIdeal){return elems}}var s=0,k,g,t=elems.length,r=a.combinator,l,p,f,e,n=null,o=[];a:for(k=0;k<t;k++){g=b.length-2;e=b[g];f=p=elems[k];while(e){l=b[g-1];if(!r[e](l,f)){if(f.parentNode&&n===" "&&e!==" "){f=f.parentNode;continue}else{continue a}}f=l.cursor;g-=2;n=e;e=g<1?null:b[g]}o[s++]=p}return o}function f(d,b){if(!b){return false}if(d.refersTo){return d.refersTo===b}var c=d.inProps,n=c.id,m=c.tag,j=c.classes,i=c.attributes,l=c.pseudos,g=a.inRules,f=a.exRules;if(n&&b.id!==n||m&&b.tagName!==m||j.length>0&&!g["."].processFn(b,j)||i.length>0&&!g["["].processFn(b,i)||l.length>0&&!g[":"].processFn(b,l)){return false
}var h,e,k=d.exProps;for(h in f){e=f[h].name;if(k[e]&&!f[h].processFn(b,k[e])){return false}}return true}function m(h,f){f=f||document.documentElement;var l=0,d,j,c,a=h.inProps,m=h.exProps;if(a.id){c=[$ID(a.id)];delete a.id}else{var e=a.pseudos[a.pseudos.length-1];if(e&&e.name==="nth-child"){c=k(e.param.a,e.param.b,a.tag);a.pseudos=a.pseudos.splice(a.pseudos.length,1)}else{c=f.getElementsByTagName(a.tag||"*")}if(m.isEmpty&&a.classes.length<1&&a.attributes.length<1&&a.pseudos.length<1){return g(c)}delete a.tag}var i=[];j=c.length;for(d=0;d<j;d++){if(b.processSelector(h,c[d])){i[l++]=c[d]}}return i}function j(d,g){var c=[],e=0,h=d.length,a,b;for(b=0;b<h;b++){a=d[b];if(a.nodeType!==1){continue}if(f(g,a)){c[e++]=a}}return c}function g(b){var c=[],d=0,e=b.length,a;for(a=0;a<e;a++){c[d++]=b[a]}return c}function k(a,b,c){return e[a+"n+"+b]=h(a,b,c,true)}function l(a,b){return e[a+"n+"+b]=h(a,b,null,false)}function h(j,n,b,h){if(b==="*"){b=null}var k=document.getElementsByTagName("*"),m=k.length,i={},l=0,e,a,f,g,d=h?[]:{};for(f=0;f<m;f++){a=k[f];e=c(a.parentNode);i[e]=i[e]||0;g=(l=++i[e])-n;if(j===0&&(b&&a.tagName!==b?false:true)){if(g===0){if(h){d.push(a)}d[c(a)]=true}}else{if(j*g>=0&&g%j===0&&(b&&a.tagName!==b?false:true)){if(h){d.push(a)}d[c(a)]=true}}}return d}function i(c,d,f){var b=c+"n+"+d,a=e[b];if(!a){a=e[b]=l(c,d)}return a[f]===true}},d=new function(){var d=null,f=null,c="";this.setRules=function(b){d=b;var a;for(a in d.combinator){if(d.combinator.hasOwnProperty(a)){c+=a}}f=new RegExp("\\s*(["+c+"])\\s*","g")};this.parseSelector=function(l){l=e(l).replace(f,"$1");var i=null,k=[],n=new b,m={anchor:new g,isPartialQuery:false,initialCollection:null},h=m.anchor,p=h,s,t,v,q,r,u,d,j=0,o="",w=l.length;while(j<w){d=l.charAt(j);i=i||a.inRules[d]||a.exRules[d];if(i){u=i.endsWith+(i.stopForCombinators===false?"":c);t=i.startSkip||0;v=i.endSkip||0;q=i.startModifier||null;r=i.endModifier||null;d=l.charAt(j+=t);while(u.indexOf(d)===-1){if(d===q){while(d&&d!==r){o+=d;d=l.charAt(++j)}}o+=d;d=l.charAt(++j)}if((s=n.addPart(o,i))!==-1){p=h;
h=new g(k.length,s)}j+=v;o="";i=null;continue}else{if(c.indexOf(d)!==-1){d==="+"||d==="~"?(h=p):(p=h);if(!(m.isPartialQuery=j===0)){k.push(n);n=new b}k.push(d);m.initialCollection=d===">"&&h.elem&&h.elem!==-1&&h.index===k.length-2?h.elem.childNodes:null}else{i=a.inRules.tag;continue}}j++}k.push(n);h.isIdeal=h.elem!==-1&&k.length-3===h.index;m.anchor=h;return{selectors:k,hints:m}};this.parseAttribute=function(c){var d=/\=|\^=|\$=|\*=|\|=|~=|!=/,a=c.match(d);a=a&&a[0];var b=c.split(a),f=b[0]&&e(b[0].replace(/[\[\]"]/g,"")),g=b[1]&&e(b[1].replace(/[\[\]"]/g,""));return{name:f,delim:a,val:g}};this.parsePseudo=function(f){var d=/(.*)\((.*)\)/,b=f.match(d),g=b&&b[1]||f,a=b&&b[2],c,h,e;if(g==="nth-child"){if(a==="even"){a={wholeValue:a,a:2,b:0}}else{if(a==="odd"){a={wholeValue:a,a:2,b:1}}else{d=/([+-]?\d+)?(n)?([+-]?\d+)?/;b=a.match(d);c=parseInt(b[1])||1;e=b[2]?1:0;h=c&&!e?c:parseInt(b[3])||0;a={wholeValue:a,a:c*e,b:h}}}}return{name:g,param:a}};this.createReferenceSelector=function(a){return new b(a)};function b(e){this.cursor=null;this.refersTo=e;this.inProps={id:null,tag:null,classes:[],attributes:[],pseudos:[]};this.exProps={isEmpty:true};var d,b,c=a.exRules;for(d in c){if(c.hasOwnProperty(d)){delete this.exProps.isEmpty;b=c[d];switch(b.objType){case"array":this.exProps[b.name]=[];break;case"null":default:this.exProps[b.name]=null}}}}b.prototype.addPart=function(a,c){var b=c.name,f=c.preFn,e=c.hintFn,g=-1;if(typeof f==="function"){a=f(a)}var d=typeof this.inProps[b]!=="undefined"?this.inProps:this.exProps;d[b] instanceof Array?d[b].push(a):(d[b]=a);if(typeof e==="function"){g=e(a)}return g};function g(b,a,c){this.index=b===0?0:b||NaN;this.elem=a===null?null:a||-1;this.isIdeal=c||false}},a={inRules:{tag:{name:"tag",endsWith:"#.[:",preFn:function(a){return a.toUpperCase()},hintFn:function(a){return a==="BODY"||a==="HTML"?document.getElementsByTagName(a)[0]:-1},processFn:function(a,b){return a.tagName===b}},"#":{name:"id",endsWith:"#.[:",startSkip:1,preFn:null,hintFn:function(a){return $ID(a)},processFn:function(a,b){return a.id===b
}},".":{name:"classes",endsWith:".[:",startSkip:1,objType:"array",processFn:function(d,c){var a=d.className;if(typeof a!=="string"){a=d.getAttribute("class")}if(!a||a.length<1){return false}var e=" "+a+" ",b,f=c.length;for(b=0;b<f;b++){if(e.indexOf(" "+c[b]+" ")===-1){return false}}return true}},"[":{name:"attributes",endsWith:"]",stopForCombinators:false,startSkip:1,endSkip:1,startModifier:'"',endModifier:'"',objType:"array",preFn:d.parseAttribute,processFn:function(j,g){var c,k=g.length,b,h,i,e,d;for(c=0;c<k;c++){b=g[c];h=b.name;i=b.val;e=b.delim;d=f(j,h);if(d===null){return false}else{if(!e){continue}else{if(!a.attr[e||"unknown"](d,i)){return false}}}}return true}},":":{name:"pseudos",endsWith:"#.[:)",startSkip:1,startModifier:"(",endModifier:")",objType:"array",preFn:d.parsePseudo,processFn:function(f,d){var c,e,g=d.length,b;for(b=0;b<g;b++){c=d[b];e=a.pseudo[c.name]||a.pseudo.unknown;if(!e(f,c)){return false}}return true}}},exRules:{},attr:{"=":function(a,b){return a===b},"^=":function(a,b){return a.indexOf(b)===0},"$=":function(a,b){var c=a.lastIndexOf(b);return c!==-1&&c+b.length===a.length},"*=":function(a,b){return a.indexOf(b)!==-1},"|=":function(a,b){return a===b||a.indexOf(b+"-")===0},"~=":function(a,b){return a===b||h(a.split(" "),b)},"!=":function(a,b){return a!==b},unknown:function(){return false}},pseudo:{"first-child":j("previous"),"last-child":j("next"),"only-child":function(b){return a.pseudo["first-child"](b)&&a.pseudo["last-child"](b)},"nth-child":function(d,a){var e=a.param.a,f=a.param.b;return b.nthCacheContains(e,f,c(d))},contains:function(b,a){return b.innerHTML.indexOf(a.param)!==-1},unknown:function(){return false}},combinator:{" ":function(c,d){var a=d.parentNode;while(a&&a!==document){if(b.processSelector(c,a)){c.cursor=a;return true}a=a.parentNode}return false},">":function(a,d){var c=d.parentNode;a.cursor=c;return b.processSelector(a,c)},"<":function(d,e){var c=e.childNodes,a,f=c.length;for(a=0;a<f;a++){if(b.processSelector(d,c[a])){return true}}return false},"~":function(c,d){var a=d.previousSibling;
while(a){if(a.nodeType===1&&b.processSelector(c,a)){c.cursor=a;return true}else{a=a.previousSibling}}return false},"+":function(c,d){var a=d.previousSibling;while(a&&a.nodeType!==1){a=a.previousSibling}c.cursor=a;return b.processSelector(c,a)},",":function(){return false}}};Gimme.Selectors={addRule:function(b,c){a.exRules[b]=c},addPseudo:function(b,c){a.pseudo[b]=c},addAttribute:function(b,c){a.attr[b]=c},addCombinator:function(b,c){a.combinator[b]=c}};d.setRules(a);Gimme.query=b.query;Gimme.id=function(a){return $ID(a)};var g=navigator.userAgent.toLowerCase();Gimme.Browser={isIE:typeof ActiveXObject!=="undefined",isOpera:typeof window.opera!=="undefined",isKHTML:g.indexOf("khtml")!==-1,isGecko:g.indexOf("khtml")===-1&&g.indexOf("gecko")!==-1,isInIFrame:function(){try{return window.frameElement&&window.frameElement.tagName==="IFRAME"}catch(a){return true}}(),isInFrameset:window!=top,isInQuirksMode:document.compatMode==="BackCompat",offsetIncludesBorders:function(){if(typeof this.value==="undefined"){var a=document.createElement("div");a.setAttribute("style","position:absolute;visibility:hidden;top:0;left:0;border:1px solid #000;");var b=document.createElement("div");a.appendChild(b);document.body.appendChild(a);this.value=offsetIncludesBorders=b.offsetTop===1;document.body.removeChild(a);a=b=null}return this.value}};var o={guid:"_$gimme$_guid",descendant:"_$gimme$_descendant"},l=0;function c(a){if(a===window){return"theWindow"}else{if(a===document){return"theDocument"}else{if(typeof a.uniqueID!=="undefined"){return a.uniqueID}}}var b=o.guid;if(typeof a[b]==="undefined"){a[b]=b+l++}return a[b]}var i=function(){return typeof Array.prototype.indexOf!=="undefined"?b:a;function b(b,a){return b.indexOf(a)}function a(b,c){var a,d=b.length;for(a=0;a<d;a++){if(b[a]===c){return a}}return -1}}();function h(b,a){return i(b,a)!==-1}function e(a){return a.replace(/^\s+|\s+$/g,"")}function n(a){return e(a).replace(/\s{2,}/g," ")}var f=function(){return Gimme.Browser.isIE?b:a;function a(b,a){return b.getAttribute(a)}function b(a,b){switch(b.toLowerCase()){case"class":return a.className||null;
case"id":return a.id||null;case"href":case"src":if(typeof a.getAttribute!=="undefined"){return a.getAttribute(b,2)}}return a.attributes&&a.attributes[b]?a.attributes[b].nodeValue:a.getAttribute(b)}}(),m=function(){return typeof document.createElement("div").hasAttribute!=="undefined"?a:b;function a(b,a){return b.hasAttribute(a)}function b(b,a){return !!f(b,a)}}();function j(b){var a=b+"Sibling";return function(c){var b=c[a];while(b&&b.nodeType!==1){b=b[a]}return !b}}function k(c,b){if(!c){return 0}if(/px$/.test(c)){return parseInt(c,10)}if(!b){b=document.body}var a=document.createElement("div");a.style.visbility="hidden";a.style.position="absolute";a.style.lineHeight="0";if(/%$/.test(c)||b.tagName==="IMG"){b=b.parentNode||b;a.style.height=c}else{a.style.borderStyle="solid";a.style.borderBottomWidth="0";a.style.borderTopWidth=c}b.appendChild(a);var d=a.offsetHeight;b.removeChild(a);return d||0}Gimme.Helper={getObjectGUID:c,indexOf:i,contains:h,trim:e,normalize:n,hasClass:a.inRules["."].processFn,readAttribute:f,attrExists:m,convertToPixels:k}})();function g(a){return new Gimme.object(Gimme.query(a))}Gimme.object=function(a){this.entities=a;this.length=this.entities.length};Gimme.ext=Gimme.object.prototype;(function(){var a=Gimme.Helper,i=a.contains,k=a.indexOf,n=a.trim,h=a.normalize,d=a.hasClass,m=a.attrExists,j=a.readAttribute,b=a.getObjectGUID,l=a.convertToPixels;Gimme.ext.element=function(a){return this.entities[a||0]};Gimme.ext.parent=function(a){return this.entities[a||0].parentNode};Gimme.ext.addClass=function(b){var a=b.split(/\s+/);this.forEach(function(b){g(a).forEach(function(a){if(!d(b,[a])){if(b.className===""){b.className=a}else{b.className+=" "+a}}})});return this};Gimme.ext.removeClass=function(a){return this.swapClass(a,"$1")};Gimme.ext.swapClass=function(b,a){if(a!=="$1"){a=" "+a+" "}var c=b.split(/\s+/);this.forEach(function(d){var b=d.className;g(c).forEach(function(c){var d=new RegExp("(^| )"+c+"( |$)");b=b.replace(d,a)});d.className=h(b)});return this};Gimme.ext.hasClass=function(a,b){return d(this.entities[b||0],[a])
};Gimme.ext.getAncestor=function(b,d){var a=this.entities[d||0],c=b;while(c-->0){if(a){a=a.parentNode}else{break}}return a};Gimme.ext.getSibling=function(b,g){var c=this.entities[g||0];if(b===0){return c}var e=b>0?"nextSibling":"previousSibling",a=c,f=Math.abs(b),d=0;while(d<f){a=a[e];if(!a){break}if(a.nodeType===1){d++}}return a};Gimme.ext.select=function(a){return new Gimme.object(Gimme.query(a,this.entities[0]))};Gimme.ext.setHTML=function(a){this.forEach(function(b){b.innerHTML=a});return this};Gimme.ext.getHTML=function(a){return this.entities[a||0].innerHTML};Gimme.ext.setValue=function(a){this.forEach(function(b){if(typeof b.value!=="undefined"){b.value=a}});return this};Gimme.ext.getValue=function(a){return this.entities[a||0].value||""};Gimme.ext.readAttribute=function(a,b){return j(this.entities[b||0],a)};Gimme.ext.writeAttribute=function(a,b){this.forEach(function(c){c.setAttribute(a,b)});return this};Gimme.ext.filter=function(d){var b=this.entities,a=0,c=b.length;while(a<c){if(!d(b[a])){b.splice(a,1);c--}else{a++}}return this};Gimme.ext.iterate=function(b){var c=this.entities,a,e=c.length;for(a=0;a<e;a++){var d=g(c[a]);b.call(d,a)}b=null;return this};Gimme.ext.getStyle=function(c,p,i){var b=this.entities[p||0];if(c==="opacity"){var h=e(b);if(isNaN(h)){c=h}else{return h}}if(i!==false){i=true}var d="";if(typeof document.defaultView!=="undefined"&&typeof document.defaultView.getComputedStyle!=="undefined"){d=document.defaultView.getComputedStyle(b,null)}else{if(typeof b.currentStyle!=="undefined"){d=b.currentStyle;var k=d[c];if(k==="auto"){if(c==="height"){var f=parseInt(g(b).getStyle("paddingTop"))+parseInt(g(b).getStyle("paddingBottom"));if(b.clientHeight){return b.clientHeight-f+"px"}else{return b.offsetHeight-f-parseInt(g(b).getStyle("borderTopWidth"))-parseInt(g(b).getStyle("borderBottomWidth"))+"px"}}if(c==="width"){var f=parseInt(g(b).getStyle("paddingLeft"))+parseInt(g(b).getStyle("paddingRight"));if(b.clientWidth){return b.clientWidth-f+"px"}else{return b.offsetWidth-f-parseInt(g(b).getStyle("borderLeftWidth"))-parseInt(g(b).getStyle("borderRightWidth"))+"px"
}}if(c==="top"){return b.offsetTop+"px"}else{if(c==="left"){return b.offsetLeft+"px"}else{if(i&&(c==="right"||c==="bottom")){var j={bottom:["top","Height"],right:["left","Width"]},n=parseInt(this.getComputedStyle(b,j[c][0],false),10);return b.parentNode["client"+j[c][1]]-b["offset"+j[c][1]]-n+"px"}else{return"0px"}}}}var o=/(em|ex|%|in|cm|mm|pt|pc|small|medium|large|thin|thick)$/,m=/border(.*)Width/i,l=m.test(c)?c.replace(m,"border$1Style"):null;if(o.test(k)){if(l!==null&&d[l]==="none"){return"0px"}else{return a.convertToPixels(k,b)}}}}return d&&d[c]};Gimme.ext.setStyle=function(a,b){return g(this.entities).setStyles(a,b)};Gimme.ext.setStyles=function(){var b,c,d=arguments,e=d.length,a;if(e%2!==0){return}this.forEach(function(g){for(a=0;a<e;a+=2){b=d[a];c=d[a+1];if(b==="opacity"){f(g,c)}else{g.style[b]=c}}});return this};Gimme.ext.addEvent=function(){if(typeof document.addEventListener!=="undefined"){return a}else{if(typeof document.attachEvent!=="undefined"){return d}else{return function(){}}}function a(b,d,a,e){var c=this["on"+b];if(typeof c==="function"&&e!==false){c.call(this,d,a,true)}else{this.forEach(function(c){c.addEventListener(b,d,a)})}return this}function d(a,d,g,f){var e=this["on"+a];if(typeof e==="function"&&f!==false){e.call(this,d,g,true)}else{this.forEach(function(f){var g="{"+b(f)+"/"+a+"/"+b(d)+"}",e=c[g];if(typeof e!=="undefined"){return}e=function(b){b.target=b.srcElement;if(a=="mouseover"){b.relatedTarget=b.fromElement}else{if(a=="mouseout"){b.relatedTarget=b.toElement}}b.preventDefault=function(){b.returnValue=false};b.stopPropagation=function(){b.cancelBubble=true};d.call(f,b);b.target=null;b.relatedTarget=null;b.preventDefault=null;b.stopPropagation=null;b=null};c[g]=e;f.attachEvent("on"+a,e);g=null;e=null})}return this}}();Gimme.ext.removeEvent=function(){if(typeof document.removeEventListener!=="undefined"){return a}else{if(typeof document.detachEvent!=="undefined"){return d}else{return function(){}}}function a(b,d,a,e){var c=this["on"+b];if(typeof c==="function"&&e!==false){c.call(this,d,a,false)
}else{this.forEach(function(c){c.removeEventListener(b,d,a)})}return this}function d(a,e,g,f){var d=this["on"+a];if(typeof d==="function"&&f!==false){d.call(this,e,g,false)}else{this.forEach(function(g){var d="{"+b(g)+"/"+a+"/"+b(e)+"}",f=c[d];if(typeof f!=="undefined"){g.detachEvent("on"+a,f);delete c[d]}d=null;f=null})}return this}}();Gimme.ext.forEach=function(){return typeof Array.prototype.forEach!=="undefined"?b:a;function b(b,a){this.entities.forEach(b,a);return this}function a(e,d){var b=this.entities,a,c,f=b.length;for(a=0;a<f;a++){c=b[a];e.call(d,c,a,b)}return this}}();Gimme.ext.map=function(){return typeof Array.prototype.map!=="undefined"?b:a;function b(b,a){return this.entities.map(b,a)}function a(c,b){var a=[];this.forEach(function(d){a.push(c.call(b,d))});return a}}();Gimme.ext.contains=function(a){return i(this.entities,a)};Gimme.ext.indexOf=function(a){return k(this.entities,a)};var c={},f=function(){function c(a,b){a.style.opacity=b}function d(a,b){a.style.filter="alpha(opacity="+b*100+")"}var a,b=document.createElement("div");if(typeof b.style.opacity!=="undefined"){a=c}else{if(typeof b.style.filter!=="undefined"){a=d}else{a=function(){}}}b=null;return a}(),e=function(){function c(a){return parseFloat(a.style.opacity)||"opacity"}function d(c){var b=c.currentStyle.filter,a=b.match(/pacity\s*=\s*(\d{1,3}.?\d*)\)/);if(!a){return 1}else{return parseFloat(a[1])/100}}var a,b=document.createElement("div");if(typeof b.style.opacity!=="undefined"){a=c}else{if(typeof b.style.filter!=="undefined"){a=d}else{a=function(){}}}b=null;return a}()})();Gimme.Screen=new function(){this.getViewportSize=function(){var a={width:0,height:0};if(typeof window.innerWidth!=="undefined"){a={width:window.innerWidth,height:window.innerHeight}}else{if(typeof document.documentElement!=="undefined"&&typeof document.documentElement.clientWidth!=="undefined"&&document.documentElement.clientWidth!==0){a={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight}}else{a={width:document.getElementsByTagName("body")[0].clientWidth,height:document.getElementsByTagName("body")[0].clientHeight}
}}return a};this.getMousePosition=function(a){if(!a){a=window.event}var b={x:0,y:0};if(typeof a.pageX!=="undefined"&&typeof a.x!=="undefined"){b.x=a.pageX;b.y=a.pageY}else{var c=this.getScrollPosition();b.x=a.clientX+c.x;b.y=a.clientY+c.y}return b};this.getScrollPosition=function(){var a={x:0,y:0};if(typeof window.pageYOffset!=="undefined"){a.x=window.pageXOffset;a.y=window.pageYOffset}else{if(!Gimme.Browser.isInQuirksMode&&typeof document.documentElement.scrollTop!=="undefined"){a.x=document.documentElement.scrollLeft;a.y=document.documentElement.scrollTop}else{if(typeof document.body.scrollTop!=="undefined"){a.x=document.body.scrollLeft;a.y=document.body.scrollTop}}}return a}};Gimme.ext.getPosition=function(e,j){var a=this.entities[j||0],f,b,i,h,c=0,d=0;if(!Gimme.Browser.isOpera&&typeof a.getBoundingClientRect!=="undefined"){h=!Gimme.Browser.isInIFrame&&Gimme.Browser.isInFrameset?0:2;i=a.getBoundingClientRect();c=i.left-h;d=i.top-h;if(!e){b=Gimme.Screen.getScrollPosition();c+=b.x;d+=b.y}else{e=false}}else{while(a!==null){f=typeof a.scrollTop!=="undefined"&&a!==document.body&&a!==document.documentElement&&a.tagName!=="TEXTAREA"&&a.tagName!=="INPUT"?1:0;c+=a.offsetLeft-f*a.scrollLeft;d+=a.offsetTop-f*a.scrollTop;a=a.offsetParent;if(a&&!Gimme.Browser.offsetIncludesBorders()){c+=parseInt(g(a).getStyle("borderLeftWidth"))||0;d+=parseInt(g(a).getStyle("borderTopWidth"))||0}}}if(e){b=Gimme.Screen.getScrollPosition();c-=b.x;d-=b.y}return{x:c,y:d}};Gimme.ext.getScreenPosition=function(a){return this.getPosition(true,a)};Gimme.ext.getPagePosition=function(a){return this.getPosition(false,a)};Gimme.ext.getComputedPosition=function(b){var a=this.entities[b||0];return{x:parseInt(g(a).getStyle("left"),10),y:parseInt(g(a).getStyle("top"),10)}};Gimme.Util=new function(){this.setTimeout=function(){return a(arguments,false)};this.setInterval=function(){return a(arguments,true)};function a(a,c){var e=a[0],b=a[1];function d(){e.apply(this,Array.prototype.slice.call(a,2));if(!c){e=null}}if(c===true){return window.setInterval(d,b)}else{return window.setTimeout(d,b)
}}};Gimme.Animation=new function(){var a={},b=false;this.Speeds={snail:2000,turtle:1250,slowly:1250,rabbit:1000,greyhound:750,quickly:750,cheetah:500,lightning:250};this.Directions={vertically:1,horizontally:2,both:3};this.start=function(b,f,e){var c=setInterval(f,e),d=a[b];if(typeof d==="undefined"){a[b]={iids:[c],callback:null}}else{d.iids.push(c)}};this.end=function(){var c,e=arguments.length;for(c=0;c<e;c++){var d=arguments[c],b=a[d];if(typeof b!=="undefined"){g(b.iids).forEach(function(a){clearTimeout(a)});if(typeof b.callback==="function"){b.callback.call();b.callback=null}delete a[d]}}};this.isRunning=function(b){return typeof a[b]!=="undefined"};this.whenDone=function(c,b){var d=a[c];if(typeof d==="undefined"){a[c]={iids:[],callback:b}}else{d.callback=b}};this.startGroup=function(){b=true};this.endGroup=function(){b=false};this.isGrouping=function(){return b===true}};Gimme.Animation.BezierCurve=function(){this.points=[];this.args=arguments};Gimme.Animation.BezierCurve.prototype.initialize=function(){var d=this.args,h=d.length,g=d[h-1]||100,k=h-1,e,f,b,c,a;for(e=0;e<k;e++){a=d[e];c=i(a.length);b=a.length-1;for(f=0;f<=g;f++){this.points.push(j(f/g))}}this.args=d=null;return g;function j(j){var d,h=0,i=0;for(d=0;d<=b;d++){var f=c[b]/(c[d]*c[b-d]),e=Math.pow(1-j,b-d),g=Math.pow(j,d);h+=f*a[d].x*e*g;i+=f*a[d].y*e*g}return{x:h,y:i}}function i(d){var a,c=1,b=[1];for(a=1;a<=d;a++){c*=a;b.push(c)}return b}};Gimme.Animation.BezierCurve.prototype.getPoint=function(c){var a=this.points.length;if(a===0){a=this.initialize()}var b=Math.floor(c*a);if(b>a-1){b=a-1}return this.points[b]};Gimme.Animation.AccelerationLine=function(a,c){var d=a[a.length-1],b=g(a).map(function(a){return{x:a/d,y:0}});this.bezier=new Gimme.Animation.BezierCurve(b,c);this.points=this.bezier.points};Gimme.Animation.AccelerationLine.prototype.getValue=function(a){return this.bezier.getPoint(a).x};Gimme.Animation.AccelerationLines={zoom:new Gimme.Animation.AccelerationLine([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520],75),slowStartAccelerate:new Gimme.Animation.AccelerationLine([0,1,2,3,8,50],100),quickStartDecelerate:new Gimme.Animation.AccelerationLine([0,50,55,56,57,58],100),linear:new Gimme.Animation.AccelerationLine([0,10],100)};
Gimme.Animation.AccelerationLines.defaultLine=Gimme.Animation.AccelerationLines.zoom;Gimme.ext.fadeIn=function(b,c,a){g(this.entities).fadeTo(null,0.99999,b,c,a);a=null;return this};Gimme.ext.fadeOut=function(b,c,a){g(this.entities).fadeTo(null,0,b,c,a);a=null;return this};Gimme.ext.fadeTo=function(b,c,e,h,d,a){a=a||Gimme.Animation.AccelerationLines.linear;g(this.entities).animate(a,e,h,d,f,i);function i(d){d.style.zoom="1";var a=b===0?0:b||Number(g(d).getStyle("opacity")),e=c-a;return{startOpacity:a,deltaO:e}}function f(e,b,c,a){var f=c.getValue(b),d=a.startOpacity+f*a.deltaO;g(e).setStyle("opacity",d)}return this};Gimme.ext.veil=function(b,d,h,c,e){var a=Gimme.Animation.Directions;b=Math.floor(b)||a[b]||a.vertically;g(this.entities).animate(e,d,h,c,f,i);function i(d){var e=d.style.display||g(d).getStyle("display");if(e==="none"){return false}var c=function(b){var a={};g(b).forEach(function(b){a[b]=parseInt(g(d).getStyle(b),10)});return a}(["height","width","paddingTop","paddingRight","paddingBottom","paddingLeft"]);d["_$gimme$_veil"]=c.height+";"+c.width+";"+c.paddingTop+";"+c.paddingRight+";"+c.paddingBottom+";"+c.paddingLeft;d.style.overflow="hidden";if((b&a.horizontally)===a.horizontally){d.style.height=c.height+"px"}return c}function f(d,g,m,c){if(g>=1){d.style.display="none"}var e=m.getValue(g),k,l,j,h,f,i;if((b&a.vertically)===a.vertically){k=c.height-e*c.height;j=c.paddingTop-e*c.paddingTop;f=c.paddingBottom-e*c.paddingBottom;d.style.height=k+"px";d.style.paddingTop=j+"px";d.style.paddingBottom=f+"px"}if((b&a.horizontally)===a.horizontally){l=c.width-e*c.width;h=c.paddingRight-e*c.paddingRight;i=c.paddingLeft-e*c.paddingLeft;d.style.width=l+"px";d.style.paddingRight=h+"px";d.style.paddingLeft=i+"px"}}return this};Gimme.ext.unveil=function(b,e,i,d,f){var a=Gimme.Animation.Directions;b=Math.floor(b)||a[b]||a.vertically;var c=true;g(this.entities).animate(f,e,i,d,h,j);function j(b){var l=b.style.display||g(b).getStyle("display");if(l!=="none"&&l!==null){return false}var m=Gimme.Helper.convertToPixels,d=b.cloneNode(true);
d.setAttribute("style","position:absolute;top:0;left:0;visibility:hidden;margin:0;padding:0;border:0;height:;width:;");d.style.display="block";b.parentNode.appendChild(d);var j,k,i,f,e,h,a=b["_$gimme$_veil"];if(a){a=a.split(";");j=a[0];k=a[1];i=a[2];f=a[3];e=a[4];h=a[5]}else{var c=g(d);j=parseInt(m(b.style.height),10)||parseInt(c.getStyle("height"),10);k=parseInt(m(b.style.width),10)||parseInt(c.getStyle("width"),10);d.style.padding="";i=parseInt(c.getStyle("paddingTop"),10);e=parseInt(c.getStyle("paddingBottom"),10);f=parseInt(c.getStyle("paddingRight"),10);h=parseInt(c.getStyle("paddingLeft"),10)}b.parentNode.removeChild(d);b.style.overflow="hidden";return{deltaH:j,deltaW:k,paddingTop:i,paddingBottom:e,paddingLeft:h,paddingRight:f}}function h(h,j,p,d){var n,o,m,i,k,l,f=g(h),e=1-p.getValue(j);if(c){h.style.display="block";c=false}if(j>=1){h.style.overflow=""}if(b===a.vertically){f.setStyles("width",d.deltaW+"px","paddingRight",d.paddingRight+"px","paddingLeft",d.paddingLeft+"px")}else{if(b===a.horizontally){f.setStyles("height",d.deltaH+"px","paddingTop",d.paddingTop+"px","paddingBottom",d.paddingBottom+"px")}}if((b&a.vertically)===a.vertically){n=d.deltaH-e*d.deltaH;m=d.paddingTop-e*d.paddingTop;i=d.paddingBottom-e*d.paddingBottom;f.setStyles("height",n+"px","paddingTop",m+"px","paddingBottom",i+"px")}if((b&a.horizontally)===a.horizontally){o=d.deltaW-e*d.deltaW;k=d.paddingRight-e*d.paddingRight;l=d.paddingLeft-e*d.paddingLeft;f.setStyles("width",o+"px","paddingRight",k+"px","paddingLeft",l+"px")}}return this};Gimme.ext.scrollTo=function(b,e,a,c){g(this.entities[0]).animate(c,b,e,a,d,f);function f(c){var a=Gimme.Screen.getScrollPosition(),b=g(c).getPagePosition().y-a.y;return{scrollPos:a,deltaY:b}}function d(f,b,c,a){var d=c.getValue(b),e=a.scrollPos.y+d*a.deltaY;window.scrollTo(0,Math.floor(e))}return this};Gimme.ext.slideToPoint=function(a,c,f,b,d){g(this.entities).animate(d,c,f,b,e,h);function h(e){var b=g(e).getComputedPosition();if(a.x===null){a.x=b.x}if(a.y===null){a.y=b.y}var d=a.y-b.y,c=a.x-b.x;return{startPt:b,deltaX:c,deltaY:d}
}function e(c,e,f,a){var b=a.startPt,g=a.deltaX,h=a.deltaY,d=f.getValue(e),i=b.x+d*g,j=b.y+d*h;c.style.top=Math.floor(Math.round(j))+"px";c.style.left=Math.floor(Math.round(i))+"px"}return this};Gimme.ext.followPath=function(f,a,d,e,c){a=a||1;g(this.entities).animate(f,d,e,c,b,h);function h(b){var a=g(b).getComputedPosition();return{startPt:a}}function b(c,e,g,f){var b=f.startPt,d=g.getPoint(e),h=b.x+d.x*a,i=b.y+d.y*a;c.style.top=Math.floor(Math.round(i))+"px";c.style.left=Math.floor(Math.round(h))+"px"}return this};Gimme.ext.animate=function(d,b,a,h,c,e){var f=this.entities.length;if(f<1){return}d=d||Gimme.Animation.AccelerationLines.defaultLine;b=Math.floor(b)||Gimme.Animation.Speeds[b]||Gimme.Animation.Speeds.quickly;a=a||"AUTOGUID_"+Math.random((new Date).getTime());if(!Gimme.Animation.isGrouping()&&Gimme.Animation.isRunning(a)){return}Gimme.Animation.whenDone(a,h);var g=0,j=(new Date).getTime();this.forEach(function(c,b){Gimme.Animation.start(a,i(c,b),1)});function i(i){var h=e(i),l=function(){var l=(new Date).getTime(),k=(l-j)/b;if(k>=1){if(typeof c==="function"){c(i,1,d,h)}if(++g===f){Gimme.Animation.end(a);e=null;c=null}}else{c(i,k,d,h)}},k=function(){Gimme.Animation.end(a)};return h?l:k}};Gimme.Events=new function(){var c={},b=null,a=null;this.captureMouse=function(c){Gimme.Events.releaseMouse();b=c;if(typeof c.setCapture!=="undefined"){c.setCapture()}else{a=function(b){b.stopPropagation();var d,e;if(Gimme.Browser.isGecko){d=document.createEvent("MouseEvents");d.initMouseEvent(b.type,b.bubbles,b.cancelable,window,b.detail,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,b.relatedTarget);e=Gimme.Screen.getScrollPosition();d.__defineGetter__("pageX",function(){return this.clientX+e.x});d.__defineGetter__("pageY",function(){return this.clientY+e.y})}else{d=b}document.removeEventListener(b.type,a,true);d.captureTarget=b.target;c.dispatchEvent(d);if(a!==null){document.addEventListener(b.type,a,true)}delete d.captureTarget};document.addEventListener("mouseover",a,true);document.addEventListener("mouseout",a,true);
document.addEventListener("mousemove",a,true);document.addEventListener("mouseup",a,true);document.addEventListener("mousedown",a,true);document.addEventListener("click",a,true);document.addEventListener("dblclick",a,true)}return this};this.releaseMouse=function(){if(b!==null){if(typeof b.releaseCapture!=="undefined"){b.releaseCapture()}else{document.removeEventListener("mouseover",a,true);document.removeEventListener("mouseout",a,true);document.removeEventListener("mousemove",a,true);document.removeEventListener("mouseup",a,true);document.removeEventListener("mousedown",a,true);document.removeEventListener("click",a,true);document.removeEventListener("dblclick",a,true)}b=a=null}return this};this.getCaptureTarget=function(a){return a.captureTarget||a.srcElement||a.target};Gimme.ext.onmouseenter=function(e,b,c){var a=d(e);c?this.addEvent("mouseover",a,b,false):this.removeEvent("mouseover",a,b,false);a=null};Gimme.ext.onmouseleave=function(e,b,c){var a=d(e);c?this.addEvent("mouseout",a,b,false):this.removeEvent("mouseout",a,b,false);a=null};Gimme.ext.onmousewheel=function(d,c,e){var a="mousewheel",b=d;if(Gimme.Browser.isGecko){a="DOMMouseScroll";b=f(d)}e?this.addEvent(a,b,c,false):this.removeEvent(a,b,c,false)};function e(c,a,b){if(c===a){return false}var d=0;while(a&&a!=c){d++;a=a.parentNode}b=b||d;return a===c&&b===d}function d(b){var d=Gimme.Helper.getObjectGUID(b),a=c[d];if(typeof a==="undefined"){a=c[d]=function(c){var a=c.relatedTarget;if(this===a||e(this,a)){return}b.call(this,c)}}return a}function f(b){var d=Gimme.Helper.getObjectGUID(b),a=c[d];if(typeof a==="undefined"){a=c[d]=function(a){a.wheelDelta=-a.detail;b.call(this,a);a.wheelDelta=null}}return a}};Gimme.ver="Gimme v2.0.0.3 (Caspian) :: 12/2/2008, 9:57:48";Gimme.ext.getRelativePosition=function(d,e){var a=this.entities[e||0],b=0,c=0;while(a!==null&&a!==d){b+=a.offsetLeft;c+=a.offsetTop;a=a.offsetParent}return{x:b,y:c}};Gimme.ext.addShim=function(d,e){var b=this.entities[0];if(b.shim){b.shim.parentNode.removeChild(b.shim);b.shim=null}var a=document.createElement("iframe");
a.frameBorder="0";a.scrolling="no";a.className="iframeShim";a.style.position="absolute";a.style.zIndex=e||"1";a.style.background="#fff";a.style.height=b.offsetHeight+"px";a.style.width=b.offsetWidth+"px";var c=g(b);a.style.top=c.getStyle("top");a.style.left=c.getStyle("left");a.style.marginTop=c.getStyle("marginTop");a.style.marginLeft=c.getStyle("marginLeft");a.style.marginRight=c.getStyle("marginRight");a.style.marginBottom=c.getStyle("marginBottom");this.entities.push(a);d=d||b;(d.parentNode||document.body).insertBefore(a,d);b.shim=a;return this};Gimme.ext.removeShim=function(){var b=this.entities[0],a=b.shim;if(a){a.parentNode.removeChild(a);b.shim=null}return this};Gimme.ext.toggle=function(a){if(a!==true){a=false}this.forEach(function(c){var b=g(c);if(a){b.setStyle("visibility",b.getStyle("visibility")==="visible"?"hidden":"visible")}else{b.setStyle("display",b.getStyle("display")!=="none"?"none":"block")}});return this};function MVC_Init_AbstractView_Shared(){Msn.MVC.AbstractView.prototype.GetMoveMenuOptionAsHtml=function(a){return a}}function MVC_Init_View3D_Shared(){Msn.MVC.View3D.prototype.GetMoveMenuOptionAsHtml=function(d,c){var e=c.GetPrimitiveCount();for(var a=0;a<e;a++){var b=c.GetPrimitive(a).type;if(b==VEShapeType.Polyline||b==VEShapeType.Polygon){return""}}return d}}function MVC_Init_ViewFacade_Shared(){Msn.MVC.ViewFacade.prototype.GetMoveMenuOptionAsHtml=function(a,b){if(this._curMvcView==null){return""}return this._curMvcView.GetMoveMenuOptionAsHtml(a,b)}}function VE_SelectItem(b,a){this.data=b;this.description=a}VE_SelectItem.prototype.toString=function(){return this.description};function VE_Select(h,l,k,j){this.isVisible=false;var b=[],a=document.createElement("div");a.setAttribute("id",h);this.id=h;var v=h,d=this,c=-1,r=k?k:"",m=l?l:"",p=j?j:"",e="";function y(d){if(!(d instanceof VE_SelectItem)){d=new VE_SelectItem(d,d.toString())}b.push(d);var c=document.createElement("div");c.setAttribute("id",v+"_"+(b.length-1));c.onclick=w;c.onmouseover=q;c.onmouseout=s;c.innerHTML=d.description;a.appendChild(c)
}function x(){return b.length}function u(){return a}function w(e){var c=GetTarget(e),a=f(c);i(a);if(d.OnClick){d.OnClick(a,b[a])}if(d.OnSelect){d.OnSelect(a,b[a])}}function q(g){var a=GetTarget(g),c=f(a);e=a.className;a.className=p;if(d.OnMouseOver){d.OnMouseOver(c,b[c])}}function s(g){var a=GetTarget(g),c=f(a);a.className=e;if(d.OnMouseOut){d.OnMouseOut(c,b[c])}}function i(d){if(d>=0&&d<b.length){var f=g();if(f>=0){a.childNodes[f].className=m}c=d;a.childNodes[d].className=r;e=a.childNodes[d].className}else{var f=g();if(f>=0){a.childNodes[f].className=m}c=-1}}function g(){return c}function o(){if(c>=0&&c<b.length){return b[c]}return null}function n(d){if(d<0||d>=b.length){return}if(d<c){c-=1}else{if(d==c){c=-1}}b.splice(d,1);a.removeChild(a.childNodes[d])}function f(c){for(var b=0;b<a.childNodes.length;++b){if(c==a.childNodes[b]){return b}}return -1}function t(){while(b.length>0){b.pop()}while(a.childNodes.length>0){a.removeChild(a.lastChild)}c=-1}function A(){a.style.display="block";this.isVisible=true}function z(){a.style.display="none";this.isVisible=false}this.OnClick=null;this.GetCount=x;this.GetElement=u;this.GetSelectedIndex=g;this.GetSelectedItem=o;this.SelectItemAtIndex=i;this.OnSelect=null;this.AddItem=y;this.OnMouseOver=null;this.OnSelect=null;this.OnMouseOut=null;this.ClearItems=t;this.RemoveItemAtIndex=n;this.Show=A;this.Hide=z}function DecodeHtml(a){var c="";if(typeof a=="string"&&a.length>0){var b=document.createElement("span");b.innerHTML=a;c=b.firstChild.nodeValue;b=null}return c}function OutputEncoder_URLEncodeUTF8(e){if(e==null){return""}var d=["%00","%01","%02","%03","%04","%05","%06","%07","%08","%09","%0a","%0b","%0c","%0d","%0e","%0f","%10","%11","%12","%13","%14","%15","%16","%17","%18","%19","%1a","%1b","%1c","%1d","%1e","%1f","%20","%21","%22","%23","%24","%25","%26","%27","%28","%29","%2a","%2b","%2c","%2d","%2e","%2f","%30","%31","%32","%33","%34","%35","%36","%37","%38","%39","%3a","%3b","%3c","%3d","%3e","%3f","%40","%41","%42","%43","%44","%45","%46","%47","%48","%49","%4a","%4b","%4c","%4d","%4e","%4f","%50","%51","%52","%53","%54","%55","%56","%57","%58","%59","%5a","%5b","%5c","%5d","%5e","%5f","%60","%61","%62","%63","%64","%65","%66","%67","%68","%69","%6a","%6b","%6c","%6d","%6e","%6f","%70","%71","%72","%73","%74","%75","%76","%77","%78","%79","%7a","%7b","%7c","%7d","%7e","%7f","%80","%81","%82","%83","%84","%85","%86","%87","%88","%89","%8a","%8b","%8c","%8d","%8e","%8f","%90","%91","%92","%93","%94","%95","%96","%97","%98","%99","%9a","%9b","%9c","%9d","%9e","%9f","%a0","%a1","%a2","%a3","%a4","%a5","%a6","%a7","%a8","%a9","%aa","%ab","%ac","%ad","%ae","%af","%b0","%b1","%b2","%b3","%b4","%b5","%b6","%b7","%b8","%b9","%ba","%bb","%bc","%bd","%be","%bf","%c0","%c1","%c2","%c3","%c4","%c5","%c6","%c7","%c8","%c9","%ca","%cb","%cc","%cd","%ce","%cf","%d0","%d1","%d2","%d3","%d4","%d5","%d6","%d7","%d8","%d9","%da","%db","%dc","%dd","%de","%df","%e0","%e1","%e2","%e3","%e4","%e5","%e6","%e7","%e8","%e9","%ea","%eb","%ec","%ed","%ee","%ef","%f0","%f1","%f2","%f3","%f4","%f5","%f6","%f7","%f8","%f9","%fa","%fb","%fc","%fd","%fe","%ff"],b,a=[],g=e.length;
for(var f=0;f<g;f++){var c=e.charCodeAt(f),b=e.charAt(f);if("A"<=b&&b<="Z"){a=a+b}else{if("a"<=b&&b<="z"){a=a+b}else{if("0"<=b&&b<="9"){a=a+b}else{if(b==" "){a=a+"+"}else{if(b=="-"||b=="_"||b=="."||b=="!"||b=="~"||b=="*"||b=="'"||b=="("||b==")"){a=a+String.fromCharCode(c)}else{if(c<=127){a=a+d[c]}else{if(c<=2047){a=a+d[192|c>>6];a=a+d[128|c&63]}else{a=a+d[224|c>>12];a=a+d[128|c>>6&63];a=a+d[128|c&63]}}}}}}}}return a}function OutputEncoder_URLEncodeEscapeUTF8(e){if(e==null){return""}var d=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"],b,a=[],g=e.length;for(var f=0;f<g;f++){var c=e.charCodeAt(f),b=e.charAt(f);if("A"<=b&&b<="Z"){a=a+b}else{if("a"<=b&&b<="z"){a=a+b}else{if("0"<=b&&b<="9"){a=a+b}else{if(b==" "){a=a+"+"}else{if(b=="-"||b=="_"||b=="."||b=="!"||b=="~"||b=="*"||b=="'"||b=="("||b==")"){a=a+String.fromCharCode(c)
}else{if(c<=127){a=a+"%"+d[c]}else{if(c<=2047){a=a+"%25"+d[192|c>>6];a=a+"%25"+d[128|c&63]}else{a=a+"%25"+d[224|c>>12];a=a+"%25"+d[128|c>>6&63];a=a+"%25"+d[128|c&63]}}}}}}}}return a}function OutputEncoder_EncodeHtml(c){var a,b="";if(c==null){return""}for(var d=0;d<c.length;d++){a=c.charCodeAt(d);if(a>96&&a<123||a>64&&a<91||a==32||a>47&&a<58||a==46||a==44||a==45||a==95){b=b+String.fromCharCode(a)}else{b=b+"&#"+a+";"}}return b}function OutputEncoder_EncodeHtmlAttribute(c){var a,b="";if(c==null){return""}for(var d=0;d<c.length;d++){a=c.charCodeAt(d);if(a>96&&a<123||a>64&&a<91||a>47&&a<58||a==46||a==44||a==45||a==95){b=b+String.fromCharCode(a)}else{b=b+"&#"+a+";"}}return b}function OutputEncoder_EncodeXml(a){return OutputEncoder_EncodeHtml(a)}function OutputEncoder_EncodeXmlAttribute(a){return OutputEncoder_EncodeHtmlAttribute(a)}function OutputEncoder_EncodeJs(c){var a,b="";if(c==null){return""}for(var d=0;d<c.length;d++){a=c.charCodeAt(d);if(a>96&&a<123||a>64&&a<91||a==32||a>47&&a<58||a==46||a==44||a==45||a==95){b=b+String.fromCharCode(a)}else{if(a>127){b=b+"\\u"+OutputEncoder_TwoByteHex(a)}else{b=b+"\\x"+OutputEncoder_SingleByteHex(a)}}}return"'"+b+"'"}function OutputEncoder_EncodeVbs(d){var b,a="",c=false;if(d==null){return""}for(var e=0;e<d.length;e++){b=d.charCodeAt(e);if(b>96&&b<123||b>64&&b<91||b==32||b>47&&b<58||b==46||b==44||b==45||b==95){if(!c){a=a+'&"';c=true}a=a+String.fromCharCode(b)}else{if(c){a=a+'"';c=false}a=a+"&chrw("+b+")"}}if(a.charAt(0)=="&"){a=a.substring(1)}if(a.length==0){a='""'}if(c){a=a+'"'}return a}function OutputEncoder_AsUrl(a){if(a==null){return""}if(a.search(/^(?:http|https|ftp):\/\/[a-zA-Z0-9\.\-]+(?:\:\d{1,5})?(?:[A-Za-z0-9\.\;\:\@\&\=\+\$\,\?\/]|%u[0-9A-Fa-f]{4}|%[0-9A-Fa-f]{2})*$/i)){throw"Unsanitized value passed to AsUrl"}return a}function OutputEncoder_QualifyUrl(a){if(a==null){return""}if(a.search(/^(?:http|https|ftp):\/\//i)){if(document.location.protocol=="HTTPS"){return"https://"+document.location.hostname+OutputEncoder_QualifyUrl_MakePath(a)}else{return"http://"+document.location.hostname+OutputEncoder_QualifyUrl_MakePath(a)
}}else{return a}}function OutputEncoder_QualifyUrl_MakePath(a){if(a==null){return""}if(!a.search(/^[\/\\]/)){return a}var b=/^(\/(?:.*\/|))(?:[^\/\\]*\.\w+|\w*)$/;if(!document.location.pathname.search(b)){var c=b.exec(document.location.pathname);return c[1]+a}return"/"+a}function OutputEncoder_AsNumeric(a){if(a==null){return""}if(isNaN(parseFloat(a))){throw"IOSec.AsNumeric(): Error input ["+a+"] not a valid number."}return a}function OutputEncode_TruncateUrlSafe(a,b,e){if(a.length<=b){return a}var d="";if(e&&e.length>0){d=OutputEncoder_EncodeUrl(e);b-=d.length}var a=a.substring(0,b);for(var c=1;c<6;c++){if(a.charAt(b-c)=="%"){a=a.substring(0,b-c);break}}return a+d}function OutputEncode_EncodeUrlDelims(f,c){if(!f){return c}var a,h,b="";for(var d=0;d<c.length;d++){a=c.charCodeAt(d);if(37==a){b=b+"%"+OutputEncoder_SingleByteHex(a);continue}var e=c.charAt(d);for(var g=0;g<f.length;g++){h=f.charCodeAt(g);if(h==a){if(a>127){e="%u"+OutputEncoder_TwoByteHex(a)}else{e="%"+OutputEncoder_SingleByteHex(a)}break}}b+=e}return b}function OutputEncoder_EncodeUrl(c){if(c==null){return""}var a,e=c.length,b=new Array(e);for(var d=0;d<e;++d){a=c.charCodeAt(d);if(a>96&&a<123||a>64&&a<91||a>47&&a<58||a==46||a==45||a==95){b.push(String.fromCharCode(a))}else{if(a>127){b.push("%u");b.push(OutputEncoder_TwoByteHex(a))}else{b.push("%");b.push(OutputEncoder_SingleByteHex(a))}}}return b.join("")}function OutputEncoder_SingleByteHex(b){if(b==null){return""}var a=b.toString(16);for(var c=a.length;c<2;c++){a="0"+a}return a}function OutputEncoder_TwoByteHex(b){if(b==null){return""}var a=b.toString(16);for(var c=a.length;c<4;c++){a="0"+a}return a}function GetValidatedUrl(a){if(a==null||a=="undefined"||a.length<=0){return""}try{a=unescape(a);a=a.replace(/\|/g," ").replace(/\^/g," ").replace(/^\s+/g,"").replace(/\s+$/g,"");var b=new RegExp(/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/);if(a.match(b)){return a}else{return""}}catch(c){return""}}function OutputEncoder(){this.GetValidatedUrl=GetValidatedUrl;this.EncodeHtml=OutputEncoder_EncodeHtml;
this.EncodeHtmlAttribute=OutputEncoder_EncodeHtmlAttribute;this.EncodeXml=OutputEncoder_EncodeXml;this.EncodeXmlAttribute=OutputEncoder_EncodeXmlAttribute;this.EncodeJs=OutputEncoder_EncodeJs;this.EncodeVbs=OutputEncoder_EncodeVbs;this.AsNumeric=OutputEncoder_AsNumeric;this.EncodeUrl=OutputEncoder_EncodeUrl;this.EncodeUrlDelims=OutputEncode_EncodeUrlDelims;this.TruncateUrlSafe=OutputEncode_TruncateUrlSafe;this.SingleByteHex=OutputEncoder_SingleByteHex;this.TwoByteHex=OutputEncoder_TwoByteHex;this.AsUrl=OutputEncoder_AsUrl;this.QualifyUrl=OutputEncoder_QualifyUrl;this.EncodeUrlUTF8=OutputEncoder_URLEncodeUTF8;this.EncodeUrlEscapeUTF8=OutputEncoder_URLEncodeEscapeUTF8;this.DecodeHtml=DecodeHtml}var IOSec=new OutputEncoder;function VE_Panel(c,q,r,o,m,f,d,n,p,l,s,t,e,h,i,j){var b=this;this.index=0;this.x=q;this.y=r;this.width=o;this.height=m;this.dynamicHeightMax=600;this.color=f;this.sPanel=null;this.toolbarHeight=20;this.footerHeight=20;this.min=false;this.visible=true;this.onTitleClick=null;this.onCloseClick=null;this.onMaximize=null;this.onMinimize=null;this.isLegacyPanel=h==true;this.usesShimIn3D=!this.isLegacyPanel;if(!e){e=document.body}var a=null;if(!this.isLegacyPanel){a=VE_Panel._CreateElement("div",c,"VE_Panel_el",d);this.el=a;this.titleDisabled=false;this.title=document.createElement("a");this.title.id=c+"_title";this.title.className="VE_Panel_title";this.title.appendChild(document.createElement("span"));this.title.onclick=function(a){VE_Panel._OnTitleClick(a);return false};this.title.href="#";a.appendChild(this.title);this.SetTitle(n);this.closeboxDisabled=false;this.cb=VE_Panel._CreateElement("a",c+"_cb","VE_Panel_cb VE_Panel_cb_"+f,d+1);this.cb.onclick=function(a){VE_Panel._OnCloseClick(a);return false};this.cb.onmouseover=function(){if(typeof Msn.VE.Css!="undefined"){Msn.VE.Css.Functions.addClass(b.title,"VE_Panel_title_hover")}};this.cb.onmouseout=function(){if(typeof Msn.VE.Css!="undefined"){Msn.VE.Css.Functions.removeClass(b.title,"VE_Panel_title_hover")}};this.cb.href="#";this.cb.unselectable="on";
a.appendChild(this.cb);this.tb=VE_Panel._CreateElement("div",c+"_tb","toolbar",d+1);this.tb.unselectable="on";a.appendChild(this.tb)}else{var k=$ID(c+"_tb");this.tb=VE_Panel._CreateElement("div","","",d+1);k.appendChild(this.tb)}this.body=VE_Panel._CreateElement("div",c+"_body","VE_Panel_body",d+1);this.body.innerHTML=p;if(!this.isLegacyPanel){a.appendChild(this.body);this.foot=VE_Panel._CreateElement("div",c+"_foot","VE_Panel_foot VE_Panel_foot_"+f,d+1);this.foot.innerHTML=l;this.foot.unselectable="on";a.appendChild(this.foot)}else{a=this.body;this.el=a}VE_Panel.panels.push(this);if(i){a.style.top="0";a.style.left="0";if(j){a.style.position="absolute"}else{a.style.display="none";a.style.visibility="hidden"}}e.appendChild(a);if(!Gimme.Browser.isKHTML){var g=Gimme.id("TaskHost_CollectionsViewer_state");if(g!==null){e.appendChild(g)}}this.Destroy=function(){if(a.parentNode){a.parentNode.removeChild(a)}if(b.sPanel!=null){b.sPanel.Destroy()}if(a.shimElement&&a.shimElement.parentNode){a.shimElement.parentNode.removeChild(a.shimElement)}a.shimElement=null;var d=VE_Panel.panels;for(var c=0;c<d.length;c++){if(d[c]==b){d.splice(c,1);break}}if(!this.isLegacyPanel){b.cb.onclick=b.cb.onmouseover=b.cb.onmouseout=null;b.title.onclick=null;b.cb=null;b.title=null;b.foot=null;b.onTitleClick=null;b.onCloseClick=null}else{var f=b.tb.parentNode;if(f){f.removeChild(b.tb)}}b.tb=null;b.sPanel=null;b.body=null;b.onMaximize=null;a=b.el=null;b=null;e=null}}VE_Panel.panels=[];VE_Panel.shadowThickness=3;VE_Panel._CreateElement=function(d,e,b,c){var a=document.createElement(d);a.id=e;a.className=b;a.style.zIndex=c;return a};VE_Panel._PositionElement=function(a,d,e,c,b){a.style.top=e+"px";a.style.left=d+"px";a.style.width=c+"px";a.style.height=b+"px"};VE_Panel.prototype.SetPosition=function(c,d,b,a){this.x=c;this.y=d;this.width=b;this.height=a;if(map.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)&&this.usesShimIn3D){UpdateIFrameShim(this.el)}};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){if(!this.isLegacyPanel){this.footerHeight=footerHeight;var d=eval(footerHeight)>0?"block":"none";this.foot.style.display=d;this.Resize()}};VE_Panel.prototype.Resize=function(){if(typeof ve_globals!="undefined"){var geoFn=Msn.VE.Geometry.Functions,taskAreaHeight=Gimme.Screen.getViewportSize().y-g(ve_globals.taskArea).getScreenPosition().y-ve_globals.footer.offsetHeight;if(taskAreaHeight>=0&&typeof taskAreaHeight=="number"){ve_globals.taskArea.style.height=taskAreaHeight-2+"px"}if(this.el.id=="contextMenu"||this.el.id=="scratchpad"||this.el.id=="annotationPanel"||this.el.id=="annotationPopup"||this.el.id=="searchPopup"||this.el.id=="help"){if(this.height!="auto"&&typeof this.height=="number"){this.el.style.height=eval(this.height)+"px"}if(this.width!="auto"&&typeof this.width=="number"){this.el.style.width=eval(this.width)+"px"}if(this.x!="auto"&&typeof this.x=="number"){this.el.style.left=eval(this.x)+"px"}if(this.y!="auto"&&typeof this.y=="number"){this.el.style.top=eval(this.y)+"px"}}if(this.el.shimElement){ShowShim(this.el)}}};VE_Panel.prototype.SetHeightToFit=function(){var contentid=this.id+"_body_table",content=$ID(contentid);if(!content){return false}this.height=0;var width=Math.max(eval(this.width),100);if(content.offsetWidth>width-14){this.height+=scrollbarWidth}this.height+=this.titleDisabled?14:21+14;this.height+=this.toolbarHeight;this.height+=content.offsetHeight;this.height+=this.footerHeight;this.height=Math.min(this.dynamicHeightMax,this.height)};VE_Panel.prototype.DisableClosebox=function(){if(!this.isLegacyPanel){if(this.closeboxDisabled){return}this.closeboxDisabled=true;this.el.removeChild(this.cb)}};VE_Panel.prototype.EnableClosebox=function(){if(!this.isLegacyPanel){if(!this.closeboxDisabled){return}this.closeboxDisabled=false;this.el.appendChild(this.cb)}};VE_Panel.prototype.DisableTitle=function(){if(!this.isLegacyPanel){if(this.titleDisabled){return}this.titleDisabled=true;this.el.removeChild(this.cb);
this.el.removeChild(this.title)}};VE_Panel.prototype.EnableTitle=function(){if(!this.isLegacyPanel){if(!this.titleDisabled){return}this.titleDisabled=false;this.el.insertBefore(this.cb,this.tb);this.el.insertBefore(this.title,this.cb)}};VE_Panel.prototype.SetTitle=function(c){if(!this.isLegacyPanel){var b=document.createTextNode(c),a=this.title.firstChild;if(a){if(a.firstChild){a.replaceChild(b,a.firstChild)}else{a.appendChild(b)}}}};VE_Panel.prototype.SetToolbar=function(a){this.tb.innerHTML=a};VE_Panel.prototype.SetBody=function(a){this.body.innerHTML=a};VE_Panel.prototype.SetDynamicBody=function(a){this.body.innerHTML='<table id="'+this.id+'_body_table"><tr><td>'+a+"</td></tr></table>"};VE_Panel.prototype.SetFooter=function(a){if(!this.isLegacyPanel){this.foot.innerHTML=a}};VE_Panel.prototype.SetOpacity=function(o){if(o>=100){o=99.99}with(this.el.style){filter="alpha(opacity:"+o+")";o*=0.01;KHTMLOpacity=o;MozOpacity=o;opacity=o}};VE_Panel.prototype.SetColor=function(a){if(!this.isLegacyPanel){this.color=a;this.title.className="VE_Panel_title VE_Panel_title_"+a;this.foot.className="VE_Panel_foot VE_Panel_foot_"+a;this.cb.className="VE_Panel_cb VE_Panel_cb_"+a}};VE_Panel.prototype.Minimize=function(){this.el.className=" VE_Panel_el_minimized";if(this.onMinimize){this.onMinimize(this._CreateEvent())}};VE_Panel.prototype.Maximize=function(){this.el.className="VE_Panel_el";if(this.onMaximize){this.onMaximize(this._CreateEvent())}this.Resize()};VE_Panel.prototype.isMaximized=function(){return this.el.className=="VE_Panel_el"};VE_Panel.prototype.Show=function(){this.el.style.display="block";this.visible=true;if(this.usesShimIn3D){mvcViewFacade.ShowShimIfSupported(this.el)}};VE_Panel.prototype.Hide=function(){this.el.style.display="none";this.visible=false;HideShim(this.el)};VE_Panel.prototype.IsVisible=function(){return this.el.style.display!="none"};function VE_PanelEvent(a){this.srcPanel=a}VE_Panel.prototype._CreateEvent=function(){return new VE_PanelEvent(this)};VE_Panel._OnTitleClick=function(c){if(!c){c=window.event
}var d=GetTarget(c),b=VE_Panel.panels;for(var a=0;a<b.length;a++){if(b[a].title==d||b[a].title==d.parentNode){if(b[a].onTitleClick){b[a].onTitleClick(b[a]._CreateEvent())}return}}};VE_Panel._OnCloseClick=function(c){if(!c){c=window.event}var d=GetTarget(c),b=VE_Panel.panels;for(var a=0;a<b.length;a++){if(b[a].cb==d){if(b[a].onCloseClick){b[a].onCloseClick(b[a]._CreateEvent())}return}}};function Ad(h,j,a,e,b,c,d,i,g,f,k){this.title=h;this.url=j;this.description=a;this.latitude=e;this.longitude=b;this.address1=c;this.address2=d;this.city=i;this.state=g;this.country=f;this.zip=k}Ad.prototype.ToHtml=function(){var a='<li><a href = "'+this.url+'" target = "_blank">'+IOSec.EncodeHtml(this.title)+"</a>$AdDescription$</li>";if(this.description&&this.description.length>0){a=a.replace("$AdDescription$","<p>"+IOSec.EncodeHtml(this.description)+"</p>")}return a};Ad.prototype.HasAddress=function(){return this.address1.length>0&&this.city.length>0&&this.state.length>0&&this.zip.length>0};Ad.prototype.GetAdDescription=function(){var a=this.description;if(this.HasAddress()){a=this.address1+", "+this.city+", "+this.state+" "+this.zip}return a};Msn.VE.DirectionsDecoder=function(){var a=4,b=1000000;function e(a,c,m,l){if(!a||a.length<c){return[]}var k=a.length-a.length%c,i=[],f=false,b=0,j=c-1;for(var d=0;d<k;d++){var e=a.charCodeAt(d),h=d%c;if(l&&h==0){f=e&128;e&=127}b|=e;if(h==j){var g=b/m;i.push(f?-g:g);b=0;f=false}else{b<<=8}}return i}function d(c){return e(c,a,b,true)}function c(c){var l=true;if(!c||c.length<a){return[]}var j=[],g=false,d=0,k=a-1,m=c.length;for(var e=0;e<m;++e){var f=c[e],i=e%a;if(l&&i==0){g=f&128;f&=127}d|=f;if(i==k){var h=d/b;j.push(g?-h:h);d=0;g=false}else{d<<=8}}return j}this.DecodeCoordinatesString=d;this.DecodeCoordinatesByteArray=c};var HelpHistory=[];function VE_Help(){}VE_Help.helpZIndex=31;VE_Help.introZIndex=31;VE_Help.introPanel=null;VE_Help.helpPanel=null;VE_Help.margins=110;VE_Help.LiveHelp=new function(){this.Keyword="keyword";this.Search="search";this.Topic="topic"};VE_Help.CreateHelpPanel=function(){VE_Help.CreateSizedHelpPanel(220,160,windowWidth<=430?300:windowWidth-430,windowHeight<=220?200:windowHeight-220)
};VE_Help.CreateSizedHelpPanel=function(e,f,c,b){if(typeof VE_Help.helpPanel!="undefined"&&VE_Help.helpPanel!=null){VE_Help.helpPanel.SetBody("");VE_Help.helpPanel.Destroy();VE_Help.helpPanel=null}var d='<iframe id="helpFrame" src="about:blank" width="100%" height="100%" allowtransparency="true" frameborder="0"></iframe>',a=new VE_Panel("help",e,f,c<=300?300:c,b<=200?200:b,"blue",VE_Help.helpZIndex,L_Help_Text,d,"",null,null,null,null,true,null);a.body.className="VE_Panel_body_help";a.Hide();a.el.style.visibility="";a.SetToolbarSize(0);a.SetFooterSize(0);a.onCloseClick=function(){VE_Help.DisablePreventLayer();VE_Help.ClosePanel()};VE_Help.helpPanel=a};VE_Help.EnablePreventLayer=function(){var a=$ID("__preventLayer__");if(!a){a=document.createElement("div")}a.id="__preventLayer__";a.className="preventLayer";document.body.appendChild(a)};VE_Help.DisablePreventLayer=function(){var a=$ID("__preventLayer__");if(a){document.body.removeChild(a)}};VE_Help.EnableDrawingPreventLayer=function(){var c=$ID("msve_header");if(c){var b=$ID("__preventLayerHeader__");if(!b){b=document.createElement("div")}b.id="__preventLayerHeader__";b.className="preventLayer";b.style.left=c.clientLeft;b.style.top=c.clientTop;b.style.width=c.clientWidth;b.style.height=c.clientHeight;document.body.appendChild(b)}var d=$ID("sb_foot");if(d){var a=$ID("__preventLayerFooter__");if(!a){a=document.createElement("div")}a.id="__preventLayerFooter__";a.className="preventLayer";a.style.left=0;a.style.top=GetWindowHeight()-d.clientHeight;a.style.width=d.clientWidth;a.style.height=d.clientHeight;document.body.appendChild(a)}};VE_Help.DisableDrawingPreventLayer=function(){var d=$ID("__preventLayerHeader__");if(d){document.body.removeChild(d)}var b=$ID("__preventLayerTaskArea__");if(b){document.body.removeChild(b)}var a=$ID("__preventLayerActionBar__");if(a){document.body.removeChild(a)}var c=$ID("__preventLayerFooter__");if(c){document.body.removeChild(c)}};function findPosX(a){var b=0;if(a.offsetParent){while(a.offsetParent){b+=a.offsetLeft;a=a.offsetParent}}else{if(a.x){b+=a.x
}}return b}function findPosY(a){var b=0;if(a.offsetParent){while(a.offsetParent){b+=a.offsetTop;a=a.offsetParent}}else{if(a.y){b+=a.y}}return b}VE_Help.Open=function(b,c){VE_Help.EnablePreventLayer();VE_Help.helpPanel.Show();VE_Help.helpPanel.SetTitle(b);VE_Help.helpPanel.SetBody('<iframe id = "helpFrame" src = "about:blank" width = "100%" allowtransparency = "true" scrolling = "auto" frameborder = "0"></iframe>');var a=$ID("helpFrame");a.src=c;VE_Help.Redraw()};VE_Help.OpenSized=function(f,g,a,b){var d=GetWindowWidth(),c=GetWindowHeight();if(a>d-10){a=d-10}if(b>c-10){b=c-10}VE_Help.CreateSizedHelpPanel((d-a)/2,(c-b)/2,a,b);VE_Help.EnablePreventLayer();VE_Help.helpPanel.Show();VE_Help.helpPanel.SetTitle(f);VE_Help.helpPanel.SetBody('<iframe id = "helpFrame" src = "about:blank" width = "100%" allowtransparency = "true" scrolling = "no" frameborder = "0"></iframe>');var e=$ID("helpFrame");e.src=g};VE_Help.OpenLiveHelp=function(b,a,c){var g="_live_help",f=550,e=575,i=(screen.availWidth-f)*0.5,j=(screen.availHeight-e)*0.5,h="resizable=yes,top="+j+",width="+f+",height="+e+",left="+i;if(typeof b=="undefined"||b==null||b==""){b=liveLocalHelpProjectCode}if(typeof a=="undefined"||a==null||a==""){a=VE_Help.LiveHelp.Keyword}if(typeof c=="undefined"||c==null||c==""){c="qaf"}var k=liveHelpUrl+"&project="+b+"&querytype="+a+"&query="+c,d=window.open(k,g,h);if(d!=null&&typeof d=="object"){d.focus()}};VE_Help.Redraw=function(){var b=VE_Help.helpPanel;if(!b){return}var c=Gimme.Screen.getViewportSize(),a=g(b.el);a.setStyle("top",(c.height-a.element().offsetHeight)/2+"px");a.setStyle("left",(c.width-a.element().offsetWidth)/2+"px");ShowShim(b.el)};VE_Help.CloseIntro=function(){if(VE_Help.introPanel){VE_Help.introPanel.Hide()}};VE_Help.ClosePanel=function(){if(VE_Help.helpPanel){VE_Help.helpPanel.Hide();VE_Help.DisablePreventLayer()}};VE_Help.Destroy=function(){if(VE_Help.introPanel){VE_Help.introPanel.Destroy();VE_Help.introPanel=null}if(VE_Help.helpPanel){VE_Help.helpPanel.Destroy();VE_Help.helpPanel=null}};function SanitizeHtmlString(a){if(!a||typeof a!="string"){return a
}return IOSec.EncodeHtml(a)}function GetTarget(b){if(!b){b=window.event}var a=null;if(b.srcElement){a=b.srcElement}else{if(b.target){a=b.target}}if(a&&a.nodeType){if(b.capturedTarget){a=b.capturedTarget}if(a.nodeType==3){a=a.parentNode}}return a}function SelectText(a,c,d){if(!a){return}if(a.createTextRange){var b=a.createTextRange();b.moveStart("character",c);b.moveEnd("character",d);b.select()}else{if(a.setSelectionRange){a.setSelectionRange(c,d)}}}function SelectedTextLength(a){if(!a){return 0}if(a.document){var b=a.document.selection.createRange();return b.text.length}else{var c=a.selectionStart,d=a.selectionEnd;return d-c}}function GetXMLText(a){if(a.text){return a.text}else{if(a.textContent){return a.textContent}else{if(a.firstChild&&a.firstChild.data){return a.firstChild.data}}}return""}function VEValidator(){}VEValidator.ValidateFloat=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateFloat"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","float"))}try{if(isNaN(parseFloat(b))){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","float"))}return true}catch(d){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","float"))}};VEValidator.ValidateInt=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateInt"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","int"))}try{if(isNaN(parseInt(b))||parseFloat(b)!=parseInt(b)){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","int"))}return true}catch(d){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","int"))}};VEValidator.ValidateNonNegativeInt=function(a,c){var b="";
if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateNonNegativeInt"}if(a==null||a=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidnonnegativeint_text.replace("%1",c))}try{if(isNaN(parseInt(a))||parseFloat(a)!=parseInt(a)||parseInt(a)<0){throw new VEException(b,"err_invalidargument",L_invalidnonnegativeint_text.replace("%1",c))}return true}catch(d){throw new VEException(b,"err_invalidargument",L_invalidnonnegativeint_text.replace("%1",c))}};VEValidator.ValidateFunction=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateFunction"}if(b==null||typeof b!="function"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","function"))}};VEValidator.ValidateNonNull=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateNonNull"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","non null"))}};VEValidator.ValidateBetween=function(b,e,d,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateBetween"}if(b<d||b>c){throw new VEException(a,"err_invalidargument",L_invalidbetweenint_text.replace("%1",e).replace("%2",d).replace("%3",c))}};VEValidator.ValidateBoolean=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateBoolean"}if(b!=true&&b!=false){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","bool"))}};VEValidator.ValidateMapStyle=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateMapStyle"}if(a==null||a=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapStyle"))
}if(a=="r"||a=="R"||$MVEM.IsEnabled(MapControl.Features.MapStyle.Shaded)&&(a=="s"||a=="S")||$MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)&&(a=="a"||a=="A")||$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)&&(a=="o"||a=="O")||$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)&&(a=="b"||a=="B")||$MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)&&(a=="h"||a=="H")){return true}throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapStyle"))};VEValidator.ValidateClusteringType=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateClusteringType"}if(a==null||a=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ClusteringType"))}if(typeof a=="number"&&(a==VEClusteringType.None||a==VEClusteringType.Grid)){return true}throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ClusteringType"))};VEValidator.ValidateMapMode=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a=""){a="VEValidator.ValidateMapMode"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapMode"))}if(b==VEMapMode.Mode2D||$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)&&b==VEMapMode.Mode3D){return true}throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapMode"))};VEValidator.ValidateDistanceUnit=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateDistanceUnit"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDistanceUnit"))}if(b==VEDistanceUnit.Miles||b==VEDistanceUnit.Kilometers){return true}throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDistanceUnit"))
};VEValidator.ValidateMaxZoom=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateMaxZoom"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ValidateMaxZoom"))}if(b<=Msn.VE.API.Globals.vemaxzoom){return true}throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ValidateMaxZoom"))};VEValidator.ValidateLayerType=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateLayerType"}if(a==null||a=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDataType"))}if(a==VEDataType.GeoRSS||a==VEDataType.VECollection||a==VEDataType.VETileSource){return true}throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDataType"))};VEValidator.ValidateDashboardSize=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateDashboardSize"}if(a==null||a=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDashboardSize"))}if(a==VEDashboardSize.Normal||a==VEDashboardSize.Small||a==VEDashboardSize.Tiny){return true}throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDashboardSize"))};VEValidator.ValidateMiniMapSize=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateMiniMapSize"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEMiniMapSize"))}if(b==VEMiniMapSize.Small||b==VEMiniMapSize.Large){return true}throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEMiniMapSize"))
};VEValidator.ValidateAltitudeMode=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateAltitudeMode"}if(b==null){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEAltitudeMode"))}if(b!=VEAltitudeMode.Absolute&&b!=VEAltitudeMode.RelativeToGround){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEAltitudeMode"))}return true};VEValidator.ValidateObject=function(b,c,e,d){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateObject"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","non null"))}if(!(b instanceof e)){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2",d))}};VEValidator.ValidateObjectArray=function(a,d,f,e){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateObject"}if(a==null||typeof a=="undefined"||a.length==null||typeof a.length=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",d).replace("%2","array"))}for(var c=0;c<a.length;++c){if(a[c]==null||typeof a[c]=="undefined"||!(a[c] instanceof f)){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",d).replace("%2",e))}}};VEValidator.ValidateOrientation=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateOrientation"}if(a==null||a=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEOrientation"))}if(a!=VEOrientation.North&&a!=VEOrientation.East&&a!=VEOrientation.West&&a!=VEOrientation.South){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEOrientation"))
}};VEValidator.ValidateCacheMode=function(a,b){var c="VEValidator.ValidateCacheMode";if(a==null||a=="undefined"){throw new VEException(c,"err_invalidargument",L_invalidargument_text.replace("%1",b).replace("%2","VECacheMode"))}if(a!=VECacheMode.Auto&&a!=VECacheMode.EnableTileCaching){throw new VEException(c,"err_invalidargument",L_invalidargument_text.replace("%1",b).replace("%2","VECacheMode"))}};VEValidator.ValidateBounds=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateBounds"}if(a==null||a=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VELatLongRectangle"))}if(a.TopLeftLatLong==null||a.BottomRightLatLong==null||a.TopLeftLatLong.Latitude<=a.BottomRightLatLong.Latitude||a.TopLeftLatLong.Longitude>=a.BottomRightLatLong.Longitude){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VELatLongRectangle"))}};VEValidator.GetCaller=function(){return""};function VEPushpin(f,e,d,h,g,c,b,a){VEValidator.ValidateNonNull(f,"pinId");VEValidator.ValidateNonNull(e,"veLatLong");var i=this;this.IsInLayer=false;this.ID=f;this.LatLong=e;this.Title=h;if(d==null||d=="undefined"||d.length==0){this.Iconurl=Msn.VE.API.Constants.iconurl}else{this.Iconurl=d}this.Details=g;if(c==null||c=="undefined"||c.length==0){this.IconStyle=""}else{this.IconStyle=c}if(b==null||b=="undefined"||b.length==0){this.TitleStyle="VE_Pushpin_Popup_Title"}else{this.TitleStyle=b}if(a==null||a=="undefined"||a.length==0){this.DetailsStyle="VE_Pushpin_Popup_Body"}else{this.DetailsStyle=a}if(window.ero==null||window.ero=="undefined"){window.ero=ERO.getInstance()}}VEPushpin.ShowDetailOnMouseOver=true;VEPushpin.OnMouseOverCallback=null;VEPushpin.prototype.Dispose=function(){this.DetailsStyle==null;this.TitleStyle=null;this.IconStyle=null;this.Details=null;this.IconUrl=null;this.Title=null;this.LatLong=null;this.ID=null;this.m_vemapcontrol=null;this.m_vemap=null};VEPushpin.Hide=function(a){if(window.ero!=null){if(a=="undefined"||a==null){a=false
}window.ero.hide(a)}};VEPushpin.GetEroContent=function(c,b,e,d){var a="<p>";if(c!=null&&c!="undefined"&&c.length>0){a+='<div class="'+e+'">'+unescape(c)+"</div>"}if(b!=null&&b!="undefined"&&b.length>0){a+='<div class="'+d+'">'+unescape(b)+"</div>"}if(!document.all&&(c.length==0||b.length==0)){a+="<br/><br/>"}a+="</p>";return a};VEPushpin.Show=function(l,m,k,h,d,c,g,e){var a=VEMap._GetMapFromGUID(l);if(a==null||a=="undefined"){return}var i=a.vemapcontrol.GetX(h)+a.GetLeft(),j=a.vemapcontrol.GetY(k)+a.GetTop();if(VEPushpin.ShowDetailOnMouseOver){var b=$ID(m+"_"+a.GUID);if(b!=null&&b!="undefined"){var f=VEPushpin.GetEroContent(d,c,g,e);window.ero.setContent(f);window.ero.setBoundingArea(null);window.ero.getBoundingArea().move(Gimme.Screen.getScrollPosition());window.ero.dockToElement(b)}}if(VEPushpin.OnMouseOverCallback!=null){VEPushpin.OnMouseOverCallback(i,j,d,unescape(c))}};VEPushpin.Show3D=function(a,c,b,f,d){if(VEPushpin.ShowDetailOnMouseOver){var e=VEPushpin.GetEroContent(c,b,f,d);window.ero.setContent(e);ero.setGlitz(false,false,false,true);window.ero.dockToRect(a,null,-1)}if(VEPushpin.OnMouseOverCallback!=null){VEPushpin.OnMouseOverCallback(a.getP1().x,a.getP1().y,c,unescape(b))}};function GetContent(){var g=this.ID+"_"+this.m_vemap.GUID,a="<img class='"+this.IconStyle+"' src='"+this.Iconurl+"' id='"+g+"' ",f=Msn.VE.Environment.BrowserInfo;if(f.Type==Msn.VE.BrowserType.MSIE&&parseFloat(f.MajorVersion)<7&&this.Iconurl!=null&&this.Iconurl.search(/.gif$/)<0){a+='onload=\'this.onload="";if(this.fileSize!=-1){this.style.width=this.width;this.style.height=this.height;this.src="'+Msn.VE.API.Constants.spacerurl+'";this.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\\"'+this.Iconurl+'\\", sizingMethod=\\"scale\\")";}\' '}var e=this.Title!=null&&this.Title!="undefined"&&this.Title.length>0,d=this.Details!=null&&this.Details!="undefined"&&this.Details.length>0;if(e||d){var b="if (VEMap._GetMapFromGUID("+this.m_vemap.GUID+").FireEvent(",c="))return;";a+=" onmouseout='"+b+'"onmouseout"'+c+"VEPushpin.Hide();' ";
a+=" onmousedown='"+b+'"onmousedown"'+c+"VEPushpin.Hide(true);' ";a+=" onmouseover='"+b+'"onmouseover"'+c+'VEPushpin.Show("'+this.m_vemap.GUID+'","'+this.ID+'",'+this.LatLong.Latitude+","+this.LatLong.Longitude;if(e){a+=', "'+escape(this.Title)+'"'}else{a+=',""'}if(d){a+=', "'+escape(this.Details)+'"'}else{a+=',""'}a+=',"'+this.TitleStyle+'"';a+=',"'+this.DetailsStyle+'"';a+=");' "}a+="/>";return a}VEPushpin.DisposeERO=function(){if(window.ero!=null&&window.ero!="undefined"){window.ero.destroy();window.ero=null}};VEPushpin.prototype._SetMapInstance=function(a){this.m_vemap=a;this.m_vemapcontrol=a.vemapcontrol};VEPushpin.prototype.GetContent=GetContent;function GetImageFullUrl(a){var b="";if(a&&a.constructor==String&&a.length>0){var c=new Image;c.src=a;b=c.src}return b}function VE_ScratchpadManager(){}VE_ScratchpadManager.AddGeoLocation=function(){return};VE_ScratchpadManager.AddLocation=VE_ScratchpadManager.AddGeoLocation;VE_Scratchpad=VE_ScratchpadManager;function VEMessage(b){VEValidator.ValidateObject(b,"vemap",VEMap,"VEMap");this.m_vemap=b;var a=this;this.Show=function(g){if(g==null||g=="undefined"||g.length<=0){return}g=c(g);if(this.vemessagepanel==null||this.vemessagepanel=="undefined"){var d=document.createElement("div");d.id=this.m_vemap.ID+"_vemessagepanel";d.className="VE_Message";d.style.zIndex=Msn.VE.API.Globals.vemessagepanelzIndex;var i=this.m_vemap.GetHeight()/2-Msn.VE.API.Globals.vemessagepanelheight/2;if(i<0){i=0}d.style.top=i+"px";d.style.left=30+"px";var h=this.m_vemap.GetWidth()-60;if(h<30){h=30}d.style.width=h+"px";d.style.height=Msn.VE.API.Globals.vemessagepanelheight+"px";d.style.position="absolute";this.vemessagepanel=d;var e=document.createElement("a");e.className="VE_Message_Title";e.style.zIndex=parseInt(Msn.VE.API.Globals.vemessagepanelzIndex)+1;e.style.top="1px";e.style.left="1px";e.style.width=parseInt(this.vemessagepanel.style.width)-5+"px";e.innerHTML=IOSec.EncodeHtml(L_error_text);e.unselectable="on";this.vemessagepanel.appendChild(e);var f=document.createElement("a");f.className="VE_Message_Close";
f.style.zIndex=parseInt(Msn.VE.API.Globals.vemessagepanelzIndex)+2;f.style.top="1px";f.style.right="1px";f.onclick=a.Hide;f.unselectable="on";f.innerHTML=L_close_text;this.vemessagepanel.appendChild(f);var b=document.createElement("div");b.id=this.m_vemap.ID+"_vemessagepanel_body";b.className="VE_Message_Body";b.style.zIndex=parseInt(Msn.VE.API.Globals.vemessagepanelzIndex)+3;b.style.top=22+"px";b.style.left=0+"px";b.style.width=parseInt(this.vemessagepanel.style.width)-8+"px";b.onclick=a.Hide;b.unselectable="on";b.innerHTML=g;this.vemessagepanel.appendChild(b);this.m_vemap.AddControl(this.vemessagepanel,Msn.VE.API.Globals.vemessagepanelzIndex)}else{var b=$ID(this.m_vemap.ID+"_vemessagepanel_body");b.innerHTML=g}this.vemessagepanel.style.display="block";mvcViewFacade.ShowShimIfSupported(this.vemessagepanel);this.timeoutIntervalID=window.setInterval(this.Hide,10000)};this.Hide=function(){if(a.vemessagepanel!=null&&a.vemessagepanel!="undefined"){a.vemessagepanel.style.display="none";HideShim(a.vemessagepanel);if(a.timeoutIntervalID!=null){window.clearInterval(a.timeoutIntervalID);a.timeoutIntervalID=null}}};this.Dispose=function(){if(this.vemessagepanel!=null&&this.vemessagepanel!="undefined"){this.vemessagepanel=null}};function c(a){var b=/<a[^>]*>/gi;a=a.replace(b,"");b=/<\/a>/gi;a=a.replace(b,"");return a}}function VEAmbiguouslist(vemap){VEValidator.ValidateNonNull(vemap,"vemap");this.m_vemap=vemap;var self=this;this.ID=this.m_vemap.ID+"_veplacelistpanel";this.Show=function(a,onSelectCallback,callbackOnClose){var body=null,veambiglistHide="VEMap._GetMapFromGUID('"+this.m_vemap.GUID+"').m_veambiguouslist.Hide();",veambiglistSetViewport="VEMap._GetMapFromGUID('"+this.m_vemap.GUID+"').vemapcontrol.SetViewport";if(this.veplacelistpanel==null||this.veplacelistpanel=="undefined"){var e=document.createElement("div");e.id=this.ID;e.className="VE_PlaceList";e.style.top=this.m_vemap.GetHeight()/2-Msn.VE.API.Globals.veplacelistpanelheight/2+"px";e.style.left=this.m_vemap.GetWidth()/2-Msn.VE.API.Globals.veplacelistpanelwidth/2+"px";
e.style.width=Msn.VE.API.Globals.veplacelistpanelwidth+"px";e.style.height=Msn.VE.API.Globals.veplacelistpanelheight+"px";e.style.position="absolute";this.veplacelistpanel=e;var title=document.createElement("a");title.className="VE_PlaceList_Title";title.style.zIndex=parseInt(Msn.VE.API.Globals.veplacelistpanelzIndex)+1;title.style.width=parseInt(Msn.VE.API.Globals.veplacelistpanelwidth)-5+"px";title.style.top="1px";title.style.left="1px";title.style.height="20px";title.innerHTML=IOSec.EncodeHtml(L_selectlocation_text);title.unselectable="on";this.veplacelistpanel.appendChild(title);var cb=document.createElement("a");cb.className="VE_PlaceList_Close";cb.id=this.m_vemap.ID+"_veplaceListclose";cb.style.zIndex=parseInt(Msn.VE.API.Globals.veplacelistpanelzIndex)+2;cb.style.top="1px";cb.style.right="1px";cb.unselectable="on";cb.innerHTML=L_close_text;this.veplacelistpanel.appendChild(cb);body=document.createElement("div");body.id=this.m_vemap.ID+"_veplacelistbody";body.style.zIndex=300;body.style.height=Msn.VE.API.Globals.veplacelistpanelheight-38+"px";body.style.width=Msn.VE.API.Globals.veplacelistpanelwidth-8+"px";body.className="VE_PlaceList_Body";this.veplacelistpanel.appendChild(body);this.m_vemap.AddControl(this.veplacelistpanel,Msn.VE.API.Globals.veplacelistpanelzIndex)}else{body=$ID(this.m_vemap.ID+"_veplacelistbody")}var cb=$ID(this.m_vemap.ID+"_veplaceListclose");if(callbackOnClose==true){cb.onclick=function(){eval(veambiglistHide+onSelectCallback+"();")}}else{cb.onclick=self.Hide}body.innerHTML="";for(var i=0;i<a.length;i++){if(a[i]==null||a[i]=="undefined"){continue}var loc=document.createElement("div");loc.id="veplacelistpanel_body_loc"+i;loc.className="VE_PlaceList_Location";loc.style.position="relative";loc.style.zIndex=parseInt(Msn.VE.API.Globals.veplacelistpanelzIndex)+4;loc.unselectable="on";if(a[i].name){if(onSelectCallback!=null&&onSelectCallback!="undefined"){loc.innerHTML='<a onclick="javascript:'+veambiglistHide+onSelectCallback+"('"+a[i].name+"', "+a[i].latitude+", "+a[i].longitude+');">'+a[i].name+"</a>"
}else{loc.innerHTML='<a onclick="javascript:'+veambiglistHide+'">'+a[i].name+"</a>"}}else{if(onSelectCallback!=null&&onSelectCallback!="undefined"){loc.innerHTML='<a onclick="javascript:'+veambiglistHide+onSelectCallback+"('"+a[i][0].replace("'","\\'")+"', "+a[i][1]+", "+a[i][2]+", "+a[i][3]+", "+a[i][4]+');">'+a[i][0]+"</a>"}else{loc.innerHTML='<a onclick="javascript:'+veambiglistHide+veambiglistSetViewport+"("+a[i][1]+", "+a[i][2]+", "+a[i][3]+", "+a[i][4]+');">'+a[i][0]+"</a>"}}body.appendChild(loc)}this.veplacelistpanel.style.display="block";mvcViewFacade.ShowShimIfSupported(this.veplacelistpanel)};this.Hide=function(){if(self.veplacelistpanel!=null&&self.veplacelistpanel!="undefined"){HideShim(self.veplacelistpanel);self.veplacelistpanel.style.display="none"}};this.IsVisible=function(){var a=false;if(this.veplacelistpanel!=null&&this.veplacelistpanel!="undefined"&&this.veplacelistpanel.style.display!="none"){a=true}return a};this.Dispose=function(){DestroyShim(self.veplacelistpanel);if(this.veplacelistpanel!=null&&this.veplacelistpanel!="undefined"){this.veplacelistpanel=null}}}function VEGraphicsManager(x){VEValidator.ValidateObject(x,"vemap",VEMap,"VEMap");var a=this,w=!Msn.VE.Environment.IsSVG();this._spacecontrol=null;this._hackUniqueLayerId="UniqueLayer_Hack";var bb=null;this._entityIdShapePostfix="_Shape";this.m_vemap=x;this.m_vemapcontrol=this.m_vemap.vemapcontrol;var f=null,G=x._mapOptions.DrawingBuffer,p=false,T=1,d=null;this._useOffset=VEShapeAccuracy.None;this._drawOverMaxShapes=VEFailedShapeRequest.DrawInaccurately;this._failRequest=VEFailedShapeRequest.DrawInaccurately;var ab=null,y=null,g=[],b=[],j={},e=false,c=null;this.m_spec=null;var s=null,k=null,m=true,Z=Msn.VE.API.Constants.iconurl,t=0,n=new _xy1;this.SetDisplayThreshold=function(a){t=a};this.Initialize=function(){if(this.m_vegraphiccanvas==null||this.m_vegraphiccanvas=="undefined"){this.m_vegraphicspolylines=[];this.m_vegraphicspolygons=[];var b=document.createElement("div");b.id="rootgraphicshape";this.m_vemapcontrol.SetChildDiv(b);this.m_vegraphiccanvas=Msn.Drawing.Graphic.CreateGraphic(b,this.m_vemapcontrol);
this.m_vegraphiccanvas.SetZIndex(17);this.m_vemapcontrol.AttachEvent("onstartzoom",a.OnStartZoom);this.m_vemapcontrol.AttachEvent("onchangeview",a.Update);this.m_vemapcontrol.AttachEvent("onmapoffsetreset",a.OnMapOffsetReset);this.m_vemapcontrol.AttachEvent("oninitmode",a.UpdateViewMode);if(window.ero==null||window.ero=="undefined"){window.ero=ERO.getInstance()}}};this.HideClusterLayers=function(){var d=a.m_vemap.GetShapeLayerCount();for(var c=0;c<d;c++){var b=a.m_vemap.GetShapeLayerByIndex(c);if(b._isClusterLayer){b._originalVisibility=b.GetVisibility();b.SetVisibility(false)}}};this.ShowClusterLayers=function(){var d=a.m_vemap.GetShapeLayerCount();for(var c=0;c<d;c++){var b=a.m_vemap.GetShapeLayerByIndex(c);if(b._isClusterLayer){if(b._originalVisibility){b.SetVisibility(true);b._clusterZoomLevel=null}b._originalVisibility=null}}};this.UpdateViewMode=function(){if(a.m_vemap.GetMapMode()==Msn.VE.MapActionMode.Mode3D){a.HideClusterLayers();a.DrawAll3DPushpins();a.Draw()}else{a.ShowClusterLayers();_spacecontrol=null;a.ClearAll();a.Update()}};this.Update=function(){if(a.m_vemap.GetMapMode()!=Msn.VE.MapActionMode.Mode3D){a.Clear();a.Draw()}p=false};this.OnStartZoom=function(){a.Clear();if(a.m_vemap.GetMapMode()==Msn.VE.MapActionMode.Mode2D){if(!c){return}var h=c.GetCollectionCount();for(var d=0;d<h;d++){var f=c.GetCollectionByIndex(d),g=f.GetShapeCount();for(var e=0;e<g;e++){var b=f.Annotations[e];if(b._isDrawn){a.HideShape(b);a.HideIcon(b)}b._isHiddenForZoom=true}}}};this.OnMapOffsetReset=function(){if(a.m_vemap.GetMapMode()!=Msn.VE.MapActionMode.Mode3D){p=true}};this.Clear=function(){if(a.m_vegraphiccanvas!=null&&a.m_vegraphiccanvas!="undefined"){a.m_vegraphiccanvas.Clear()}};function D(a){var b=false;if(a.minX>d.x1&&a.minY>d.y1&&a.maxX<d.x2&&a.maxY<d.y2){b=true}return b}function N(a){if(typeof a=="undefined"||a.type==VEShapeType.Pushpin){return false}if(a.minX==null||a.minY==null||a.maxX==null||a.maxY==null){var b=null;b=Msn.Drawing.ComputeBoundingBox(a.points);if(b){a.minX=b[0];a.minY=b[1];a.maxX=b[2];a.maxY=b[3]}else{return false
}}var c=true;c=IsRecIntersect(f.x1,f.y1,f.x2,f.y2,a.minX,a.minY,a.maxX,a.maxY);return c}function F(c){if(!D(c)){var a=d;if(a==null){return false}var b=null;b=VE_LineClip.Clip(c.points,a.x1,a.y1,a.x2,a.y2);if(b){c.points=b;return true}}return false}function K(b){if(N(b)){var f=b.points;if(!D(b)){var c=d;if(c==null){return}var e=null;e=VE_LineClip.Clip(f,c.x1,c.y1,c.x2,c.y2);if(e){b.points=e}}a.m_vegraphiccanvas.DrawPrimitive(b);b.points=f}}function O(b){a.m_vemap.m_velayermanager=b;c=b.VE_LayerManager;k=c.GetCollectionListDiv();a.m_vemapcontrol.SetChildDiv(k);a.m_spec=new VELatLongFactorySpecFromMap(a.m_vemap);s=new VELatLongFactory(b.m_spec)}function l(e){if(f==null||e){var b=GetCurrentMapViewBounds(a.m_vemapcontrol);f=G==0?b:GetBufferedMapViewBounds(G,b);d=GetBufferedMapViewBounds(T,b)}currentOffetScene=null;if(a.m_vemapcontrol.IsMapViewOblique()){var c=a.m_vemapcontrol.GetObliqueScene();if(c!=null){currentOffetScene=c.GetID()}}}function v(){e=false;g=[];b=[];for(var a in j){j[a]=null}}function q(a){j[a.GetId()]=null}function o(b){var c=a.m_vemapcontrol.GetObliqueScene();if(a.m_vemapcontrol.IsMapViewOblique()&&c!=null){if(j[b.GetId()]==null){j[b.GetId()]=b;g.push(b)}}else{v()}}function J(f){try{var n=a.m_vemapcontrol.GetObliqueScene();if(a.m_vemapcontrol.IsMapViewOblique()&&n!=null){var m=n.GetID();if(y!=m){for(var c=0;c<b.length;c++){g.push(b[c])}e=true}else{if(f!=null){for(var c=0,d=0;c<b.length&&d<f.length;c++){var k=true,l=[];if(f[d]!=null){var j=a.m_vemapcontrol.PixelToLatLong(f[d],a.m_vemapcontrol.GetZoomLevel());b[c]._OffsetScene=m;b[c]._OffsetLatLong=s.CreateVELatLong(j.latitude,j.longitude);l.push(f[d])}else{k=false}if(b[c].GetPrimitive(0).type!=VEShapeType.Pushpin){b[c]._OffsetPoints=[];var i=b[c].GetPrimitive(0).points.length/2,p=[];while(i>0){d++;if(f[d]==null){k=false;d=d+i-1;i=0}else{var j=a.m_vemapcontrol.PixelToLatLong(f[d],a.m_vemapcontrol.GetZoomLevel());b[c]._OffsetPoints.push(s.CreateVELatLong(j.latitude,j.longitude));i--;l.push(f[d])}}}q(b[c]);if(k){h(b[c]);if(b[c]._OffsetCallBack){b[c]._OffsetCallBack(l)
}}else{b[c]._OffsetScene=null;b[c]._OffsetLatLong=null;b[c]._OffsetPoints=null;if(a._failRequest==VEFailedShapeRequest.DoNotDraw){if(b[c]._OffsetCallBack){b[c]._OffsetCallBack(null)}}else{if(a._failRequest==VEFailedShapeRequest.DrawInaccurately){b[c]._OffsetScene=-1;h(b[c]);b[c]._OffsetScene=null;if(b[c]._OffsetCallBack){b[c]._OffsetCallBack(null)}}else{if(a._failRequest==VEFailedShapeRequest.QueueRequest){e=true;o(b[c])}}}}d++}}else{for(var c=0;c<b.length;c++){q(b[c]);if(a._failRequest==VEFailedShapeRequest.DoNotDraw){if(b[c]._OffsetCallBack){b[c]._OffsetCallBack(null)}}else{if(a._failRequest==VEFailedShapeRequest.DrawInaccurately){b[c]._OffsetScene=-1;h(b[c]);b[c]._OffsetScene=null;if(b[c]._OffsetCallBack){b[c]._OffsetCallBack(null)}}else{if(a._failRequest==VEFailedShapeRequest.QueueRequest){e=true;o(b[c])}}}}}}}else{v()}}catch(r){throw r}finally{b=[];if(e){e=false;a.PushOffsetRequest()}}}this.PushOffsetRequest=function(){var k=a.m_vemapcontrol.GetObliqueScene();if(e||b.length!=0){e=true}else{if(!a.m_vemapcontrol.IsMapViewOblique()||k==null){v()}else{if(g.length>0){var f=Msn.VE.API.Constants.maxasynlatlongs,d=[];while(g.length>0&&f>0){var c=g.shift();if(c.GetPrimitive(0).type!=VEShapeType.Pushpin&&c.GetPrimitive(0).points.length/2>f-1){var j=c.GetPrimitive(0).points;if(j.length/2>Msn.VE.API.Constants.maxasynlatlongs-1){q(c);if(a._drawOverMaxShapes==VEFailedShapeRequest.DoNotDraw){if(c._OffsetCallBack){c._OffsetCallBack(null)}}else{if(a._drawOverMaxShapes==VEFailedShapeRequest.DrawInaccurately){c._OffsetScene=-1;h(c);if(c._OffsetCallBack){c._OffsetCallBack(null)}}}}else{g.unshift(c);f=0}}else{if(c._OffsetScene!=k.GetID()){b.push(c);d.push(new Msn.VE.LatLong(c.Latitude,c.Longitude));f--;if(c.GetPrimitive(0).type!=VEShapeType.Pushpin){var j=c.GetPrimitive(0).points;for(var i=0;i<j.length;i=i+2){d.push(new Msn.VE.LatLong(j[i+1],j[i]));f--}}}else{q(c)}}}if(g.length>0){e=true}if(d!=null&&d.length>0){y=k.GetID();a.m_vemapcontrol.LatLongToPixelAsync(d,a.m_vemapcontrol.GetZoomLevel(),J)}}}}};function Y(){if(!c){return}MC_MAX_COL_SIZE=200;
if(c.GetCollectionCount()<1){return}l();for(var d=0;d<c.GetCollectionCount();d++){var b=c.GetCollectionByIndex(d);if(b){b._index=d;MC_MAX_COL_SIZE=Math.max(MC_MAX_COL_SIZE,b.GetShapeCount());if(!H(b)){i(b)}}}a.PushOffsetRequest()}function H(b){if(!c){return false}if(b.GetType()==MC_COL_TYPE_TILEIMAGE){return false}b._mapGuid=a.m_vemap.GUID;if(!b.GetVisibility()){return false}if(a.m_vemapcontrol.IsMapViewOblique()){i(b)}X(b);var q=b.GetShapeCount();if(a.m_vemap.GetMapMode()==Msn.VE.MapActionMode.Mode3D){if(VE_CheckModuleStatus(VE_ModuleName.API3D)=="loaded"){mvcViewFacade._curMvcView._DrawCollectionLayer(b)}return true}var p=a.m_vemapcontrol.GetZoomLevel();if(p>b.MaxScale||p<b.MinScale){return false}l();var e=b.GetBoundingBox();if(q>0&&!IsBoundsIntersect(f,e)){return false}if(b.Spec!=null&&b.Spec.IconUrl!=null&&b.Spec.IconUrl!="undefined"){Z=b.Spec.IconUrl}var g=$ID(b.GetId());if(g==null){g=document.createElement("div");g.setAttribute("id",b.GetId());k.appendChild(g)}var o=true;m=true;if(IsContainedInView(d,e)){m=false;o=IsDisplayShape(a.m_vemap.vemapcontrol,t,e.x1,e.y1,e.x2,e.y2)}for(var n=0;n<q;n++){var j=b.Annotations[n];j._shplayer=b;j.SetIndex(n);if(!h(j,g)){r(j)}if(!o){break}}m=true;return true}function h(b,g){if(b.GetVisibility()&&!b._clustered){if(a.m_vemap.GetMapMode()==Msn.VE.MapActionMode.Mode3D){if(VE_CheckModuleStatus(VE_ModuleName.API3D)=="loaded"){mvcViewFacade._curMvcView._DrawEntity(b,null,false,false,b._shplayer)}return}var m=a.m_vemapcontrol.GetZoomLevel();if(m>b.maxZoomLevel||m<b.minZoomLevel){return false}l();var i=E(b),j;if(i&&b.GetPrimitive(0).type==VEShapeType.Pushpin&&b._OffsetScene==currentOffetScene){var q=n.Decode(b._OffsetLatLong);j=new VELatLongRectangle(q,q)}else{j=b.GetBoundingBox()}if(!IsBoundsIntersect(f,j)){return false}if(typeof g=="undefined"||g==null){g=I(b.iid)}var d=b.GetPrimitive(0),e=null,c=null;if(i){r(b)}var h=b._isDrawn;if(d.type!=VEShapeType.Pushpin){var c=null;if(b._isDrawn){if(b._isHiddenForZoom||p){c=u(b,true);a.ShowShape(b)}else{c=u(b,false)}}else{var k=true;k=IsDisplayShape(a.m_vemap.vemapcontrol,t,d.minX,d.minY,d.maxX,d.maxY);
if(k){if(i){if(b._OffsetScene==currentOffetScene){try{b.SetUseOffset(true);c=z(a.m_vemapcontrol,d,b.GetIndex(),b.GetTitle())}catch(s){throw s}finally{b.SetUseOffset(false)}}else{o(b)}}else{c=z(a.m_vemapcontrol,d,b.GetIndex(),b.GetTitle())}if(w&&c){c.style.zIndex=b.GetZIndexPolyShape();g.appendChild(c)}if(c){h=true}d._shapeElement=c}}}if(b.GetIconVisibility()){if(b._isDrawn){if(b._isHiddenForZoom||p){c=C(b);if(c&&d.isLabel){a.ShowIcon(b)}}}else{if(b.IconUrl==null){b.IconUrl=Msn.VE.API.Constants.iconurl}e=R(b);if(e){e.style.zIndex=b.GetZIndex();g.appendChild(e);e.innerHTML=VECreateVEShapeERO(b,a.m_vemap.GUID);d._iconElement=e;h=true}}}b._isDrawn=h;b._isHiddenForZoom=false;return h}}function u(f,d){var c=f.GetShapeElement();if(c){var b=f.GetPrimitive(0),g=b.points,e=false;if(m){e=F(b)}d=d||e||b._isClipped;c=a.m_vemapcontrol.GetGraphic().UpdatePoints(a.m_vemapcontrol,b,c,d);b.points=g;b._isClipped=e}return c}function C(d){var b=d.GetIconElement();if(b){var c=B(d);if(c){var e=a.m_vemapcontrol.GetPushpinMapPixel(new Msn.VE.LatLong(c.Latitude,c.Longitude),a.m_vemapcontrol.GetZoomLevel());b.style.left=MathRound(e.x)-25/2+"px";b.style.top=MathRound(e.y)-25/2+"px"}else{b=null}}return b}function S(c){var b=c.GetShapeElement();if(b){b=a.m_vemapcontrol.GetGraphic().UpdateStyle(a.m_vemapcontrol,c.GetPrimitive(0),b)}return b}function P(b){var c=b.GetIconElement();if(c){if(b.IconUrl==null){b.IconUrl=Msn.VE.API.Constants.iconurl}c.style.zIndex=b.GetZIndex();c.innerHTML=VECreateVEShapeERO(b,a.m_vemap.GUID)}return c}this.ShowShape=function(b){var a=null;if(b.GetPrimitive(0).type!=VEShapeType.Pushpin){a=b.GetShapeElement();if(a){a.style.display="block"}}return a};this.HideShape=function(b){var a=null;if(b.GetPrimitive(0).type!=VEShapeType.Pushpin){a=b.GetShapeElement();if(a){a.style.display="none"}}return a};this.ShowIcon=function(b){var a=b.GetIconElement();if(a){a.style.display="block"}return a};this.HideIcon=function(b){var a=b.GetIconElement();if(a){a.style.display="none"}return a};function R(d){if(a.m_vemap.GetMapMode()==Msn.VE.MapActionMode.Mode3D){return null
}var b=d.GetPrimitive(0),f=null,e=b.iid;if(b.type!=VEShapeType.Pushpin){e=Msn.Drawing.GetLabelUID(b.iid)}var c=B(d);if(c!=null){return a.m_vemap.vemapcontrol.AddPushpin(e,c.Latitude,c.Longitude,25,25,"VEAPI_Pushpin",null,Msn.VE.API.Globals.vepushpinpanelzIndex-1,null,true)}else{return null}}function B(a){var b=null;if(E(a)){if(a._OffsetScene==currentOffetScene){b=n.Decode(a._OffsetLatLong)}else{o(a)}}else{b=new VELatLong(a.Latitude,a.Longitude)}return b}function E(b){if(a._useOffset==VEShapeAccuracy.None||currentOffetScene==null||b._OffsetScene==-1){return false}else{if(a._useOffset==VEShapeAccuracy.Pushpin){return b.GetPrimitive(0).type==VEShapeType.Pushpin}else{if(a._useOffset==VEShapeAccuracy.All){return true}else{return false}}}}function z(c,a,g,f){if(!a||!a.points||a.points.length<1||typeof a.points[0]=="undefined"){return}if(a.type==VEShapeType.Pushpin&&(a.symbol==null||a.symbol!=null&&a.symbol.id==MC_PROPERTY_PUSHPIN)){a.symbol=VE_MapDispatch_SymbolLib.GetMapSymbolByID(MC_PROPERTY_PUSHPIN)}else{if(a.symbol==null){var b=VE_MapDispatch_SymbolLib.GetCurrentDefaultSymbol();if(b){a.symbol=b.Clone()}}}var e=a.points,d=null;if(m){a._isClipped=F(a)}d=c.GetGraphic().CreatePrimitive(c,a,f);a.points=e;return d}function W(){if(!c){return}var b=c.GetCollectionCount();if(b<1){return}for(var a=0;a<b;a++){var d=c.GetCollectionByIndex(a);i(d)}}function i(b){if(a.m_vemap.GetMapMode()==Msn.VE.MapActionMode.Mode3D){if(VE_CheckModuleStatus(VE_ModuleName.API3D)=="loaded"){mvcViewFacade._curMvcView._ClearCollectionLayer(b)}}if(b.GetType()==MC_COL_TYPE_TILEIMAGE){return}var c=null;c=$ID(b.GetId());if(c==null){return null}if(!w||c&&c.hasChildNodes()){var e=b.GetShapeCount();for(var d=0;d<e;d++){r(b.Annotations[d])}c.innerHTML=""}if(b._clusterLayer){i(b._clusterLayer)}return c}function r(b){if(a.m_vemap.GetMapMode()==Msn.VE.MapActionMode.Mode3D){if(VE_CheckModuleStatus(VE_ModuleName.API3D)=="loaded"){mvcViewFacade._curMvcView._ClearEntity(b)}}A(b.GetPrimitive(0));b._isDrawn=false;b._isHiddenForZoom=false}function A(d){var a=null,b=null,e=d.iid;
if(d.type!=VEShapeType.Pushpin){e=Msn.Drawing.GetLabelUID(d.iid);b=$ID(d.iid);if(b&&b.parentNode){b.parentNode.removeChild(b)}}a=$ID(e);if(!a){return null}a.detachEvent("onmouseover",VEShowVEShapeERO);a.detachEvent("onmouseout",VEHideVEShapeERO);a.detachEvent("onclick",VEShowVEShapeERO);a.parentNode.removeChild(a);var c=a.vePushpin;if(typeof c!="undefined"&&c!=null){c.Destroy();c.innerHtml="";c=null}}function I(b){var a=c.ParseInternalID(b);if(a&&a[1]){return parentElement=U(a[1],false,k)}else{return k}}function U(b,d,c){var a=null;a=$ID(b);if(a&&d){a.innerHTML=""}if(!a){a=document.createElement("div");a.setAttribute("id",b);c.appendChild(a)}return a}this.InitLayerManager=O;this.DrawAll=Y;this.DrawLayer=H;this.DrawEntity=h;this.ClearAll=W;this.ClearLayerDom=i;this.ClearPrimitiveDom=A;this.ClearEntityDom=r;this.UpdatePoints=u;this.UpdateIconPoints=C;this.UpdateStyle=S;this.UpdateIconStyle=P;this.Draw=function(){l(true);if(!w){a.m_vemapcontrol.resetSvgLayer()}VE_LatLongThreshold.IsNotInit=true;a.DrawAll();if(a.m_vegraphicspolylines!=null&&a.m_vegraphicspolylines.length>0){var c=a.m_vegraphicspolylines.length;for(var b=0;b<c;b++){var e=a.m_vegraphicspolylines[b];a.DrawOne(e,true,d)}}if(a.m_vegraphicspolygons!=null&&a.m_vegraphicspolygons.length>0){var g=a.m_vegraphicspolygons.length;for(var b=0;b<g;b++){var f=a.m_vegraphicspolygons[b];a.DrawOne(f,false,d)}}};this.DrawOne=function(b,g,i){if(typeof b=="undefined"||b==null){return}if(a.m_vemap.GetMapMode()==Msn.VE.MapActionMode.Mode3D){V(b,g,i);return}else{a._spacecontrol=null}l();a.m_vegraphiccanvas.resetOffset();var h=b.GetLatLongs(),c=[];for(var e=0;e<h.length;e++){var f=n.Decode(h[e]);c.push(parseFloat(f.Longitude));c.push(parseFloat(f.Latitude))}var d;if(g){d=new Msn.Drawing.PolyLine(c)}else{d=new Msn.Drawing.Polygon(c)}a.m_vegraphiccanvas.SetZIndex(17);a.m_vegraphiccanvas.SetStroke(b.Stroke);K(d)};function V(d,g){if(typeof d=="undefined"||d==null){return}if(!a._spacecontrol){a._spacecontrol=a.m_vemapcontrol.Get3DControl()}var l=d.GetLatLongs(),e=[];for(var h=0;h<l.length;
h++){var i=n.Decode(l[h]);e.push(i.Longitude);e.push(i.Latitude)}var f;if(g){f=new Msn.Drawing.PolyLine(e)}else{f=new Msn.Drawing.Polygon(e)}a.m_vegraphiccanvas.SetZIndex(17);a.m_vegraphiccanvas.SetStroke(d.Stroke);var o=d.ID,m=a._hackUniqueLayerId,k=ConvertPointArrayToView3DParameter(f.points),c=GetPrimitiveSymbolOrDefault(f,d.Stroke),p=ConvertStrokeWeightToView3DParameter(c.stroke_weight),b="Linecolor='"+c.stroke_color+"' Lineweight='"+p+"' Dashstyle='"+c.stroke_dashstyle+"' Lineopacity='"+c.stroke_opacity+"'",j=o+a._entityIdShapePostfix;if(g){a._spacecontrol.AddPolylineWithProperties(m,j,k,b)}else{if(!g){b=b.concat(" Fillcolor='",c.fill_color,"'");b=b.concat(" Fillopacity='",c.fill_opacity,"'");b=b.concat(" Lineopacity='",c.stroke_opacity,"'");a._spacecontrol.AddPolygonWithProperties(m,j,k,b)}}}function X(b){if(!b._isClusterLayer){var d;if(a.m_vemap.GetMapMode()!=Msn.VE.MapActionMode.Mode3D&&b._clusteringAlgorithm!=null){var h=a.m_vemap.GetZoomLevel(),j=a.m_vemap.GetMapMode(),i=a.m_vemap.GetMapStyle();if(!b._clusterLayer){b.CreateClusterLayer()}if(!b._clusterLayer._clusterZoomLevel||b._clusterLayer._clusterZoomLevel!=h||b._clusterLayer._mapMode!=j||b._clusterLayer._mapStyle!=i){for(var c=0;c<b.Annotations.length;c++){b.Annotations[c]._clustered=false}b._clusterLayer._clusterZoomLevel=h;b._clusterLayer._mapMode=j;b._clusterLayer._mapStyle=i;b._clusterLayer.DeleteAllShapes();if(b._clusteringAlgorithm!=null){d=b._clusteringAlgorithm(b)}if(d!=null){for(var c=0;c<d.length;c++){var e=d[c];if(e.Shapes&&e.Shapes.length>0){M(e,b._clusteringOptions)}}}if(b._clusteringOptions&&b._clusteringOptions.Callback){clusterDescription=b._clusteringOptions.Callback(d)}var f=[];for(var c=0;c<d.length;c++){var g=d[c].GetClusterShape();if(g!=null){f.push(g)}}b._clusterLayer.AddShapes(f);d=null}}else{if(b._clusterLayer){a.ClearLayerDom(b._clusterLayer)}for(var c=0;c<b.Annotations.length;c++){b.Annotations[c]._clustered=false;if(b.Annotations[c]._sort){b.Annotations[c]._sort=null}}}}}function M(a,f){if(a!=null){var c=a.Shapes.length,d=0,e=0;
for(var b=0;b<c;b++){a.Shapes[b]._clustered=true;var j=parseFloat(a.Shapes[b].Primitives[0].points[1]),k=parseFloat(a.Shapes[b].Primitives[0].points[0]);d+=j;e+=k}if(!a.LatLong&&c>0){var h=d/c,i=e/c;a.LatLong=new VELatLong(h,i)}var g=new VEShape(VEShapeType.Pushpin,a.LatLong);a._clusterShape=g;Q(a,f);L(a)}}function Q(a,b){if(a!=null&&a._clusterShape!=null){if(b&&b.Icon){a._clusterShape.SetCustomIcon(b.Icon)}else{a._clusterShape.SetCustomIcon(Msn.VE.API.Constants.clustericonurl)}}}function L(b){if(b!=null&&b._clusterShape!=null){var d=L_ClusterDefaultTitle_Text.replace(/%1/g,b.Shapes.length);b._clusterShape.SetTitle(d);var c=a.m_vemap.vemapcontrol.GetCurrentMode();if(c&&a.m_vemap.GetZoomLevel()<c.GetCurrentMaxZoomLevel(a.m_vemap.vemapcontrol.GetCurrentMapView())){b._clusterShape.SetDescription(L_ClusterDefaultDescription_Text)}}}}VEGraphicsManager.prototype.RemoveLine=function(a){this.RemoveLinebyId(a.ID)};VEGraphicsManager.prototype.RemoveLinebyId=function(b){if(this.m_vegraphiccanvas==null||this.m_vegraphiccanvas=="undefined"){throw new VEException("VEMap:RemoveLinebyId","err_GraphicsInitError",L_GraphicsInitError_Text);return}var c=this.m_vegraphicspolylines.length,a=0;while(a<c&&b!=this.m_vegraphicspolylines[a].ID){a++}if(a<c){this.m_vegraphicspolylines.splice(a,1)}else{throw new VEException("VEMap:RemoveLinebyId","err_GraphicsInitError",L_invalidpolylineid_text);return}if(this.m_vemap.GetMapMode()==Msn.VE.MapActionMode.Mode3D){this.Clear3DShape(b)}else{this.Clear();this.Draw()}};VEGraphicsManager.prototype.RemoveAllLines=function(){if(this.m_vemap.GetMapMode()==Msn.VE.MapActionMode.Mode3D){this.ClearAll3DShape()}this.m_vegraphicspolylines=[];this.Clear();this.Draw()};VEGraphicsManager.prototype.DrawLine=function(a){if(this.m_vegraphiccanvas==null||this.m_vegraphiccanvas=="undefined"){throw new VEException("VEMap:DrawLine","err_GraphicsInitError",L_GraphicsInitError_Text);return}VEValidator.ValidateObject(a,"vePolyline",VEPolyline,"VEPolyline");var c=this.m_vegraphicspolylines.length;for(var b=0;b<c;b++){if(a.ID==this.m_vegraphicspolylines[b].ID){throw new VEException("VEMap:DrawLine","err_invalidpolylineid",L_invalidpolylineid_text)
}}this.m_vegraphicspolylines.push(a);this.DrawOne(a,true)};VEGraphicsManager.prototype.RemovePolygon=function(a){this.RemovePolygonbyId(a.ID)};VEGraphicsManager.prototype.RemovePolygonbyId=function(b){if(this.m_vegraphiccanvas==null||this.m_vegraphiccanvas=="undefined"){throw new VEException("VEMap:RemovePolygonbyId","err_GraphicsInitError",L_GraphicsInitError_Text);return}var c=this.m_vegraphicspolygons.length,a=0;while(a<c&&b!=this.m_vegraphicspolygons[a].ID){a++}if(a<c){this.m_vegraphicspolygons.splice(a,1)}else{throw new VEException("VEMap:RemovePolygonbyId","err_GraphicsInitError",L_invalidpolygonid_text);return}if(this.m_vemap.GetMapMode()==Msn.VE.MapActionMode.Mode3D){this.Clear3DShape(b)}else{this.Clear();this.Draw()}};VEGraphicsManager.prototype.RemoveAllPolygons=function(){if(this.m_vemap.GetMapMode()==Msn.VE.MapActionMode.Mode3D){this.ClearAll3DShape()}this.m_vegraphicspolygons=[];this.Clear();this.Draw()};VEGraphicsManager.prototype.DrawPolygon=function(a){if(this.m_vegraphiccanvas==null||this.m_vegraphiccanvas=="undefined"){throw new VEException("VEMap:DrawPolygon","err_GraphicsInitError",L_GraphicsInitError_Text);return}VEValidator.ValidateObject(a,"vePolygon",VEPolygon,"VEPolygon");var c=this.m_vegraphicspolygons.length;for(var b=0;b<c;b++){if(a.ID==this.m_vegraphicspolygons[b].ID){throw new VEException("VEMap:DrawPolygon","err_invalidpolygonid",L_invalidpolygonid_text)}}this.m_vegraphicspolygons.push(a);this.DrawOne(a,false)};VEGraphicsManager.prototype.Dispose=function(){if(this.m_vegraphiccanvas!=null){this.m_vegraphiccanvas.Clear();this.m_vegraphiccanvas.Destroy();this.m_vegraphiccanvas=null}if(this.m_vegraphicspolylines!=null&&this.m_vegraphicspolylines!="undefined"){var b=this.m_vegraphicspolylines.length;for(var a=0;a<b;a++){this.m_vegraphicspolylines.pop().Dispose()}}if(this.m_vegraphicspolygons!=null&&this.m_vegraphicspolygons!="undefined"){var c=this.m_vegraphicspolygons.length;for(var a=0;a<c;a++){this.m_vegraphicspolygons.pop().Dispose()}}if(this.m_vemap!=null){this.m_vemapcontrol.DetachEvent("onchangeview",this.Update);
this.m_vemapcontrol.DetachEvent("onobliquechange",this.Update);this.m_vemapcontrol.DetachEvent("onstartzoom",this.Clear)}};VEGraphicsManager.prototype.DrawAll3DPushpins=function(){if(this.m_vemap.GetMapMode()!=Msn.VE.MapActionMode.Mode3D){return}if(!this.m_vemap.pushpins){return}if(typeof this._spacecontrol=="undefined"||this._spacecontrol==null){this._spacecontrol=this.m_vemapcontrol.Get3DControl()}if(!this._spacecontrol){return}var c=this.m_vemap.pushpins,e=c.length;for(var a=0;a<e;a++){var b=c[a],d=b.LatLong;this.Add3DPushpin(b.ID,d.Latitude,d.Longitude,25,25,"VEAPI_Pushpin",b,Msn.VE.API.Globals.vepushpinpanelzIndex-1)}};VEGraphicsManager.prototype.Add3DPushpin=function(b,e,f,n,l,g,d,m){var h=f,j=e,k=this._hackUniqueLayerId,o='text=""',c;c=GetImageFullUrl(d.Iconurl);var i=b;this.m_vemapcontrol.Get3DControl().AddPointWithProperties(k,i,j,h,c,o);var a=null;if(!$ID(b)){a=this.m_vemapcontrol.AddPushpin(b,e,f,n,l,g,d.GetContent(),m,"VEAPI_Pushpin",false,false);if(a){a.style.display="none"}}};VEGraphicsManager.prototype.Remove3DPushpin=function(a){if(typeof this._spacecontrol=="undefined"||this._spacecontrol==null){this._spacecontrol=this.m_vemapcontrol.Get3DControl()}this.Clear3DShape(a);this.m_vemapcontrol.RemovePushpin(a)};VEGraphicsManager.prototype.ClearAllPushpins=function(b){if(typeof this._spacecontrol=="undefined"||this._spacecontrol==null){this._spacecontrol=this.m_vemapcontrol.Get3DControl()}var d=b.length;for(var c=0;c<d;c++){var a=b.pop();if(!a.IsInLayer){this.Clear3DShape(a.ID);a.Dispose()}}this.m_vemapcontrol.ClearPushpins()};VEGraphicsManager.prototype.ClearAll3DShape=function(){var c=null,b=0;if(this.m_vegraphicspolylines!=null&&this.m_vegraphicspolylines!="undefined"){b=this.m_vegraphicspolylines.length;for(var a=0;a<b;a++){c=this.m_vegraphicspolylines[a];this.Clear3DShape(c.ID)}}if(this.m_vegraphicspolygons!=null&&this.m_vegraphicspolygons!="undefined"){b=this.m_vegraphicspolygons.length;for(var a=0;a<b;a++){c=this.m_vegraphicspolygons[a];this.Clear3DShape(c.ID)}}};VEGraphicsManager.prototype.Clear3DShape=function(c){var a=c;
this._spacecontrol.DeleteGeometry(this._hackUniqueLayerId,a);var b=a+this._entityIdShapePostfix;this._spacecontrol.DeleteGeometry(this._hackUniqueLayerId,b)};function ConvertPointArrayToView3DParameter(a){var b="",c=a.length;for(i=0;i<c;i+=2){var d=a[i],e=a[i+1];b+=d+","+e+" "}return b}function ConvertStrokeWeightToView3DParameter(a){if(a==null){return""}var c=a.length,b=a.substring(0,c-2);return b+"px"}function GetPrimitiveSymbolOrDefault(c,b){var a=c.symbol;if(a==null){if(typeof b!="undefined"){c.symbol=new VEShapeStyle;a=c.symbol;a.stroke_weight=b.width+"pt";a.joinstyle=b.linejoin;a.stroke_color=b.color.ToHexString();a.stroke_dashstyle=b.linecap;a.stroke_opacity=b.color.A.toString();a.fill_color=b.fillcolor.ToHexString();a.fill_opacity=b.fillcolor.A.toString();return a}else{if(_defaultSymbol==null){_defaultSymbol=new VEShapeStyle;_defaultSymbol.id=MC_PROPERTY_DEFAULT;c.symbol=_defaultSymbol}}return _defaultSymbol}return a}function VELatLong(b,a,c,d){this.Latitude=null;this.Longitude=null;this.Altitude=null;this.AltitudeMode=null;this._reserved=null;if(b!=null){VEValidator.ValidateFloat(b,"latitude");this.Latitude=b}if(a!=null){VEValidator.ValidateFloat(a,"longitude");this.Longitude=a}if(c!=null){this.SetAltitude(c,d)}}VELatLong.prototype.SetAltitude=function(b,a){VEValidator.ValidateFloat(b,"altitude");this.Altitude=b;if(a!=null){VEValidator.ValidateAltitudeMode(a,"altitudeMode");this.AltitudeMode=a}else{this.AltitudeMode=VEAltitudeMode.Default}};VELatLong.prototype.HasAltitude=function(){return this.Altitude!=null};function Clone(){var a=new VELatLong;a.Latitude=this.Latitude;a.Longitude=this.Longitude;a._reserved=this._reserved;a.Altitude=this.Altitude;a.AltitudeMode=this.AltitudeMode;return a}function toString(){var a="";if(this.Latitude!=null&&this.Longitude!=null){a=this.Latitude+", "+this.Longitude}if(this.Altitude!=null){a+=", "+this.Altitude}return a}VELatLong.prototype.toString=toString;VELatLong.prototype.Clone=Clone;function VELatLongRectangle(d,c,b,a){VEValidator.ValidateObject(d,"topLeftLatLong",VELatLong,"VELatLong");
VEValidator.ValidateObject(c,"bottomRightLatLong",VELatLong,"VELatLong");this.TopLeftLatLong=d;this.BottomRightLatLong=c;if(b!=null&&b!="undefined"){VEValidator.ValidateObject(b,"topRightLatLong",VELatLong,"VELatLong");this.TopRightLatLong=b}if(a!=null&&a!="undefined"){VEValidator.ValidateObject(a,"bottomLeftLatLong",VELatLong,"VELatLong");this.BottomLeftLatLong=a}}VEAltitudeMode=new function(){this.Default="Ground";this.Absolute="Datum";this.RelativeToGround="Ground"};function _xy1(){var a=new _xz1;this.Decode=function(c){VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");var b=c.Clone();if(b.Latitude==null||b.Longitude==null&&b._reserved!=null){var d=a.Decode(b._reserved);b.Latitude=d[0];b.Longitude=d[1];b._reserved=null}return b}}function VELatLongFactoryAlwaysEncodeSpec(){this.IsEncode=function(){return true}}function VELatLongFactorySpecFromMap(a){VEValidator.ValidateObject(a,"vemap",VEMap,"VEMap");var b=a;this.IsEncode=function(){var a=b.GetMapStyle();return a==VEMapStyle.Birdseye||a==VEMapStyle.BirdseyeHybrid}}function VELatLongFactorySpecFromMapView(a){VEValidator.ValidateNonNull(a,"mapView");var b=a;this.IsEncode=function(){return Msn.VE.MapStyle.IsViewOblique(b.mapStyle)}}function VELatLongFactory(a){VEValidator.ValidateNonNull(a,"veLatLongFactorySpec");var c=a,b=new _xz1;this.CreateVELatLong=function(e,d){var a=null;if(c.IsEncode()){a=new VELatLong;a._reserved=b.Encode(e,d)}else{a=new VELatLong(e,d)}return a}}function VEPolyline(d,c,a,b){VEValidator.ValidateNonNull(d,"id");VEValidator.ValidateNonNull(c,"arrVELatLong");this.ID=d;this.LatLongs=c;this.Stroke=new Msn.Drawing.Stroke;if(a==null||a=="undefined"){a=new VEColor(17,221,17,0.7)}this.SetColor(a);if(b==null||b=="undefined"){b=6}this.SetWidth(b)}function SetColor(a){VEValidator.ValidateNonNull(a);this.Stroke.color=new Msn.Drawing.Color(a.R,a.G,a.B,a.A)}function SetWidth(a){VEValidator.ValidateInt(a,"width");this.Stroke.width=a}function GetLatLongs(){return this.LatLongs}function Dispose(){this.ID=null;this.LatLongs=null;this.Stroke=null}VEPolyline.prototype.SetColor=SetColor;
VEPolyline.prototype.SetWidth=SetWidth;VEPolyline.prototype.GetLatLongs=GetLatLongs;VEPolyline.prototype.Dispose=Dispose;function VEPolygon(e,d,c,a,b){VEValidator.ValidateNonNull(e,"id");VEValidator.ValidateNonNull(d,"arrVELatLong");this.ID=e;this.LatLongs=d;this.Stroke=new Msn.Drawing.Stroke;if(c==null||c=="undefined"){c=new VEColor(17,221,17,0.7)}this.SetFillColor(c);if(a==null||a=="undefined"){a=new VEColor(17,221,17,0.7)}this.SetOutlineColor(a);if(b==null||b=="undefined"){b=6}this.SetOutlineWidth(b)}function SetFillColor(a){VEValidator.ValidateNonNull(a);this.Stroke.fillcolor=new Msn.Drawing.Color(a.R,a.G,a.B,a.A)}function SetOutlineColor(a){VEValidator.ValidateNonNull(a);this.Stroke.color=new Msn.Drawing.Color(a.R,a.G,a.B,a.A)}function SetOutlineWidth(a){VEValidator.ValidateInt(a,"width");this.Stroke.width=a}function GetLatLongs(){return this.LatLongs}function Dispose(){this.ID=null;this.LatLongs=null;this.Stroke=null}VEPolygon.prototype.SetFillColor=SetFillColor;VEPolygon.prototype.SetOutlineColor=SetOutlineColor;VEPolygon.prototype.SetOutlineWidth=SetOutlineWidth;VEPolygon.prototype.GetLatLongs=GetLatLongs;VEPolygon.prototype.Dispose=Dispose;function VEColor(d,c,b,a){VEValidator.ValidateInt(d,"r");VEValidator.ValidateBetween(d,"r",0,255);VEValidator.ValidateInt(c,"g");VEValidator.ValidateBetween(c,"g",0,255);VEValidator.ValidateInt(b,"b");VEValidator.ValidateBetween(b,"b",0,255);VEValidator.ValidateFloat(a,"a");VEValidator.ValidateBetween(a,"a",0,1);Msn.Drawing.Color.call(this,d,c,b,a)}var L_integerencodingoutofrange_text="VEIntegerEncoding: The number encoded is out of supported range",L_floatintegermapencodingoutofrange_text="VEFloatIntegerMap: The number encoded is out of supported range",L_integerencodinginvalidstringlength_text="VEIntegerEncoding: Invalid string length",L_integerencodingunknowndigit_text="VEIntegerEncoding: The encoded string has an unknown digit";function VEIntegerEncoding(g,j){var e=g,d=g.length,a=j,h=1;for(var i=0;i<a;++i){h*=d}var f=h-1,c=[];for(var b=0;b<e.length;++b){c[e.substr(b,1)]=b
}this.MaxValue=function(){return f};this.ValueLength=function(){return a};this.Encode=function(c){if(c<=f){var h="",g=[];for(var b=0;b<a;++b){g[b]=0}var i=a-1;while(c>0){g[i]=Math.floor(c%d);c=Math.floor(c/d);--i}for(var b=0;b<g.length;++b){h+=e.substr(g[b],1)}return h}else{throw L_integerencodingoutofrange_text}};this.Decode=function(c){if(c.length==a){var b=0;for(var e=0;e<c.length;++e){b*=d;b+=this.DigitValue(c.substr(e,1))}return b}else{throw L_integerencodinginvalidstringlength_text}};this.DigitValue=function(a){if(c[a]!=null&&c[a]!="undefined"){return c[a]}else{throw L_integerencodingunknowndigit_text}}}function VEFloatIntegerMap(e,d,f){var a=e,c=d,b=f;this.MinFloat=function(){return a};this.MaxFloat=function(){return c};this.MaxInt=function(){return b};this.FloatToInt=function(d){if(d>=a&&d<=c){var e=(d-a)/(c-a),f=e*b+0.5;return Math.min(Math.floor(f),b)}else{throw L_floatintegermapencodingoutofrange_text}};this.IntToFloat=function(d){if(d<=b){var f=d/b,e=a+f*(c-a);return e}else{throw L_floatintegermapencodingoutofrange_text}}}var L_velatlongencodinginvalidstringlength_text="_xz1: Invalid string length";function _xz1(b){var i=-90,h=90,g=-180,f=180,j="0123456789bcdfghjkmnpqrstvwxyz",e=6;if(b!=null&&typeof b!="undefined"){e=b}var a=new VEIntegerEncoding(j,e),d=new VEFloatIntegerMap(i,h,a.MaxValue()),c=new VEFloatIntegerMap(g,f,a.MaxValue());this.Encode=function(e,b){var f=a.Encode(d.FloatToInt(e))+a.Encode(c.FloatToInt(b));return f};this.Decode=function(f){if(f.length==2*a.ValueLength()){var e=a.ValueLength(),j=f.substr(0,e),h=f.substr(e,e),i=a.Decode(j),g=a.Decode(h),b=[];b[0]=d.IntToFloat(i);b[1]=c.IntToFloat(g);return b}else{throw L_velatlongencodinginvalidstringlength_text}}}function _xz1ForMobile(){_xz1.call(this,5)}VEMapMode=new function(){this.Mode2D=1;this.Mode3D=2};function VEMapViewSpecification(c,d,e,g,f){this.LatLong=null;this.ZoomLevel=null;this.Altitude=null;this.Pitch=null;this.Heading=null;if(c!=null&&c!="undefined"){VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");this.LatLong=c
}if(d!=null&&d!="undefined"){VEValidator.ValidateNonNegativeInt(d,"zoomLevel");this.ZoomLevel=d}if(e!=null&&e!="undefined"){VEValidator.ValidateFloat(e,"altitude");this.Altitude=parseFloat(e)}if(g!=null&&g!="undefined"){VEValidator.ValidateFloat(g,"pitch");var a=parseFloat(g);a=a%360;if(a<-90){a=-90}if(a>90){a=90}this.Pitch=a}if(f!=null&&f!="undefined"){VEValidator.ValidateFloat(f,"heading");var b=parseFloat(f);b=b%360;if(b<0){b+=360}this.Heading=b}}function MapViewSpecClone(){var a=new VEMapViewSpecification;a.LatLong=this.LatLong.Clone();a.Altitude=this.Altitude;a.Pitch=this.Pitch;a.Heading=this.Heading;return veLatLong}VEMapViewSpecification.prototype.Clone=MapViewSpecClone;VEMapStyle=new function(){this.Road=Msn.VE.MapStyle.Road;this.Shaded=Msn.VE.MapStyle.Shaded;this.Aerial=Msn.VE.MapStyle.Aerial;this.Hybrid=Msn.VE.MapStyle.Hybrid;this.Oblique=Msn.VE.MapStyle.Oblique;this.Birdseye=Msn.VE.MapStyle.Oblique;this.BirdseyeHybrid=Msn.VE.MapStyle.ObliqueHybrid};VEOrientation=new function(){this.North=Msn.VE.Orientation.North;this.East=Msn.VE.Orientation.East;this.West=Msn.VE.Orientation.West;this.South=Msn.VE.Orientation.South};function VEBirdseyeScene(d){VEValidator.ValidateNonNull(d,"obliqueScene");var a=d,f=null,c=null,e=new VELatLongFactory(new VELatLongFactoryAlwaysEncodeSpec),b=new _xy1;this.PixelToLatLong=function(d,b,f){if(b!=null){VEValidator.ValidateNonNegativeInt(b,"zoomLevel");b=parseInt(b)}else{b=VEMap._GetMapFromGUID(c).GetZoomLevel()}if(f){VEValidator.ValidateObjectArray(d,"pixelArray",VEPixel,"VEPixel array");VEValidator.ValidateFunction(f,"callback");this.PixelToLatLongAsync(d,b,f)}else{VEValidator.ValidateObject(d,"pixel",VEPixel,"VEPixel");var g=a.PixelToLatLong(d,b);return e.CreateVELatLong(g.latitude,g.longitude)}};this.PixelToLatLongAsync=function(b,c,d){a.PixelToLatLongAsync(b,c,d)};this.LatLongToPixel=function(e,d,f){if(d!=null){VEValidator.ValidateNonNegativeInt(d,"zoomLevel");d=parseInt(d)}else{d=VEMap._GetMapFromGUID(c).GetZoomLevel()}if(f){VEValidator.ValidateObjectArray(e,"veLatLongArray",VELatLong,"VELatLong array");
VEValidator.ValidateFunction(f,"callback");this.LatLongToPixelAsync(e,d,f)}else{VEValidator.ValidateObject(e,"veLatLong",VELatLong,"VELatLong");var g=b.Decode(e),h=new Msn.VE.LatLong(g.Latitude,g.Longitude);return a.LatLongToPixel(h,d)}};this.LatLongToPixelAsync=function(e,g,h){var f=[];for(var c=0;c<e.length;++c){var d=b.Decode(e[c]);f[c]=new Msn.VE.LatLong(d.Latitude,d.Longitude)}a.LatLongToPixelAsync(f,g,h)};this.IsValidTile=function(c,d,b){return a.IsValidTile(c,d,b)};this.GetID=function(){return a.GetID()};this.GetTileFilename=function(){return a.GetTileFilename()};this.GetThumbnailFilename=function(){return a.GetThumbnailFilename()};this.GetOrientation=function(){return a.GetOrientation()};this.GetBounds=function(){return a.GetBounds()};this.GetWidth=function(){return a.GetWidth()};this.GetHeight=function(){return a.GetHeight()};this.ContainsLatLong=function(d){VEValidator.ValidateObject(d,"veLatLong",VELatLong,"VELatLong");var c=b.Decode(d),e=new Msn.VE.LatLong(c.Latitude,c.Longitude);return a.ContainsLatLong(e)};this.ContainsPixel=function(d,e,b){var c=new VEPixel(d,e);return a.ContainsPixel(c,b)};this.SetClientToken=function(b){f=b;a.SetClientToken(b)};this.SetGUID=function(b){c=b;a.SetGUID(b)};this.GetBoundingRectangle=function(){var g=a.PixelToLatLong(new VEPixel(0,0),2),h=a.PixelToLatLong(new VEPixel(a.GetWidth(),a.GetHeight()),2),i=null;if(g&&h){var b=100,c=g.latitude,d=h.latitude,e=g.longitude,f=h.longitude;if(c<d){c=Math.floor(c*b)/b;d=Math.ceil(d*b)/b}else{c=Math.ceil(c*b)/b;d=Math.floor(d*b)/b}if(e<f){e=Math.floor(e*b)/b;f=Math.ceil(f*b)/b}else{e=Math.ceil(e*b)/b;f=Math.floor(f*b)/b}i=new VELatLongRectangle(new VELatLong(c,e),new VELatLong(d,f))}return i};this.GetBoundingRectangleNorthFacing=function(){var b=this.GetBoundingRectangle(),c=null;switch(a.GetOrientation()){case Msn.VE.Orientation.East:c=new VELatLongRectangle(new VELatLong(b.TopLeftLatLong.Latitude,b.BottomRightLatLong.Longitude),new VELatLong(b.BottomRightLatLong.Latitude,b.TopLeftLatLong.Longitude));break;case Msn.VE.Orientation.South:c=new VELatLongRectangle(new VELatLong(b.BottomRightLatLong.Latitude,b.BottomRightLatLong.Longitude),new VELatLong(b.TopLeftLatLong.Latitude,b.TopLeftLatLong.Longitude));
break;case Msn.VE.Orientation.West:c=new VELatLongRectangle(new VELatLong(b.BottomRightLatLong.Latitude,b.TopLeftLatLong.Longitude),new VELatLong(b.TopLeftLatLong.Latitude,b.BottomRightLatLong.Longitude));break;default:c=b}return c}}VEMap.prototype.__HandleAuthentication=function(a){if(this.vemapcontrol){this.vemapcontrol.__HandleAuthentication(a)}};VEMap.prototype.IsValidCredentialsInResponse=function(a){var b=false;if(a&&a.ResponseSummary&&a.ResponseSummary.AuthResultCode!=null){var c=a.ResponseSummary.AuthResultCode;switch(c){case VEAuthenticationCode.None:case VEAuthenticationCode.NoToken:case VEAuthenticationCode.TokenValid:b=true}}return b};var VE_ModuleName={APICORE:"__core__",APICONTROLS:"__controls__",APIBIRDSEYE:"__birdseye__",APILAYERS:"__layers__",APIFIND:"__find__",APIROUTING:"__routing__",APITRAFFIC:"__traffic__",API3D:"__3d__",APITILES:"__tiles__"},_VE_ModuleStatus={__core__:"loaded",__layers__:null,__controls__:null,__find__:null,__routing__:null,__traffic__:null,___3d__:null,__birdseye__:null,__tiles__:null};function _VE_InitAllModules(a){if(Msn.VE.API.Globals.vemapinstances||a==null){var b=Msn.VE.API.Globals.vemapinstances;for(var c in b){if(b[c] instanceof VEMap){b[c]._InitializeModules(a.split(","))}}}if(_VEDownloadQueue){_VEDownloadQueue.Fire(a)}}function VE_GetLoadedAPIModules(){var b=[VE_ModuleName.APICORE,VE_ModuleName.APICONTROLS,VE_ModuleName.APIBIRDSEYE,VE_ModuleName.APILAYERS,VE_ModuleName.APIFIND,VE_ModuleName.APIROUTING,VE_ModuleName.APITRAFFIC,VE_ModuleName.API3D,VE_ModuleName.APITILES],c=[],d=b.length;for(var a=0;a<d;a++){if(VE_CheckModuleStatus(b[a])=="loaded"){c.push(b[a])}}return c}function VE_CheckModuleStatus(a){if(a==VE_ModuleName.API3D){a="_"+a}return _VE_ModuleStatus[a]}function VE_SetModuleStatus(a,b){if(a==null&&typeof _VE_ModuleStatus[a]=="undefined"){return}if(a==VE_ModuleName.API3D){a="_"+a}_VE_ModuleStatus[a]=b}VE_RequestUrl=Msn.VE.API.Globals.vecurrentdomain+"/veapi.ashx?VEAPI_DisableAtlasCompat=true&v="+Msn.VE.API.Globals.vecurrentversion+"&__load__";function VEOndemandJsDownloads(l,a,d,g){var e=null;
if(a==null||typeof a!="string"||typeof d!="object"){throw new VEException("VEJsDownloadQueue:Fire","err_invalidmoduleurl",L_noscripturl_text)}if(typeof g!="object"){g=null}var j=false,h=false,b=null;b=a.split(",");var m=b.length,i=true,f=null;for(var c=0;c<m;c++){f=VE_CheckModuleStatus(b[c]);if(typeof f=="undefined"){throw new VEException("VEJsDownloadQueue:Fire","err_invalidmoduleurl",L_noscripturl_text)}else{if(f==null){if(i){a=b[0];i=false}else{a+=","+b[c]}j=true;VE_SetModuleStatus(b[c],"loading")}else{if(f=="loading"){h=true}}}}if(j){if(_VEDownloadQueue==null){_VEDownloadQueue=new VEJsDownloadQueue}var k=VE_RequestUrl+"="+a;_VEDownloadQueue.Push(a,d.GUID,g);if(l){VENetwork.DownloadScript(k)}else{VENetwork.DownloadScript(k,_VEDownloadQueue.Fire,a)}e=null}else{if(h){_VEDownloadQueue.Push(a,d.GUID,g);e=null}else{e=d}}return e}function VEJsDownloadQueue(){var a=[],c=[],b=[];this.Dispose=function(){a=[];c=[];b=[]};this.Push=function(d,f,e){if(typeof mapContext=="undefined"){mapContext=null}a.push(e);c.push(d);b.push(f)};this.Fire=function(f){if(a.length==0){return}for(var d=0;d<a.length;d++){if(c[d]==f){if(b[d]){var e=null;e=Msn.VE.API.Globals.vemapinstances[b[d]];if(e&&typeof a[d][0]=="function"){a[d][0].call(e,a[d][1],a[d][2],a[d][3],a[d][4])}else{throw new VEException("VEJsDownloadQueue:Fire","err_invalidinvoketarget",L_invalidinvoketarget_text)}}else{a[d][0](a[d][1],a[d][2],a[d][3],a[d][4])}a.splice(d,1);c.splice(d,1);b.splice(d,1);d--}}}}var _VEDownloadQueue=null;_VERegisterNamespaces("Msn.VE");Msn.VE.Animation={Animation:function(h,f){var b=false;this.Running=b;var e=h,d=f,a=null;function c(){if(b){e();a=setTimeout(c,d)}else{a=null}}function g(){if(!b){b=true;c();a=window.setTimeout(c,d)}}this.Start=g;function i(){if(a!=null){window.clearTimeout(a);a=null}b=false}this.Stop=i},AccelerationFunction:function(e){var b=null,a=200,d=e;this.setSteps=function(d){a=d;b=null;c()};this.getSteps=function(){return a};this.getValue=function(e){if(!b){c()}var d=parseInt(Math.round(e*a));if(d<0){d=0}if(d>a){d=a}return b[d]};
this.getTotal=function(){return this.getValue(1)};function c(){b=[];b[0]=0;for(var c=1;c<=a;c++){b[c]=b[c-1]+d(c/a)}}},Movie:function(b,g){var a=this;this.Repeat=true;this.AppendContent=true;var e=[],c=-1,d=null;this.addFrame=function(b,a){if(a==null){a=true}var c={data:b,append:a};e.push(c)};this.start=function(){a.stop();a.show();a.clear();c=-1;d=setInterval(h,g)};this.stop=function(){if(d){clearInterval(d)}};this.end=function(){a.stop();f(e.length-1)};this.show=function(){b.style.visibility="visible"};this.hide=function(){b.style.visibility="hidden"};this.clear=function(){b.innerHTML=""};function h(){c++;if(c>e.length-1){c=0;if(!a.Repeat){clearInterval(d);return}else{a.clear()}}f(c)}function f(c){var a=e[c];if(a.append){b.innerHTML+=a.data}else{b.innerHTML=a.data}}},RollDirection:{TopDown:1,RightLeft:2,BottomUp:4,LeftRight:8},RollStyle:{In:0,Out:1},Roller:function(q){var c=this;this.superclass=Msn.VE.OO.Eventable.EventableObject;this.superclass();var l=Msn.VE.Css,a=Msn.VE.Animation,h=Msn.VE.OO.Eventable,b=q,d=null,f=true,g=false,e=AccelerationFunctions.CrazyElevator,i=10,j=10,m=5,p={top:1,right:2,bottom:3,left:4},o={top:3,right:4,bottom:1,left:2};this.setAccelerationFunction=function(a){if(a instanceof Msn.VE.Animation.AccelerationFunction){e=a}};this.setXLeave=function(a){if(typeof a=="number"&&a>=0){i=Math.floor(a,10)}};this.setYLeave=function(a){if(typeof a=="number"&&a>=0){j=Math.floor(a,10)}};this.getLeave=function(){return{x:i,y:j}};this.setDelay=function(a){if(typeof a=="number"&&a>0){m=Math.floor(a,10)}};this.isExpanded=function(){return f};this.isRolling=function(){return g};this.isAssociated=function(){if(d!=null&&d.length>0){return true}return false};this.associate=function(a){if(a instanceof Array){d=a}};this.rollIn=function(d){if(g){return}c.executeEvent("beforerollin",c,new h.EventArgs("beforerollin",b));k(a.RollStyle.In,d);f=false};this.rollOut=function(d){if(g){return}c.executeEvent("beforerollout",c,new h.EventArgs("beforerollout",b));k(a.RollStyle.Out,d);f=true};this.expand=function(b){k(a.RollStyle.Out,b,false);
f=true};this.collapse=function(b){k(a.RollStyle.In,b,false);f=false};function k(u,k,t){g=true;if(t!==false){t=true}n();var f=p,q=0,r=0;if(u==a.RollStyle.Out){f=o;q=i;r=j}var y=b.offsetWidth,w=b.offsetHeight,A=y-i,B=w-j,C=A/e.getTotal(),D=B/e.getTotal(),x=e.getSteps();if(!t){v(1)();return}for(var s=0;s<=x;s++){var z=s/x;setTimeout(v(z),s*m)}function v(i){return function(){var m=parseInt(Math.round(e.getValue(i)*C))+q,n=parseInt(Math.round(e.getValue(i)*D))+r,j={top:0,right:0,bottom:0,left:0};if((k&a.RollDirection.TopDown)==a.RollDirection.TopDown){l.Functions.setClip(b,f.top,n+"px");j.top=n-r}if((k&a.RollDirection.RightLeft)==a.RollDirection.RightLeft){l.Functions.setClip(b,f.right,y-m+"px");j.right=-m+q}if((k&a.RollDirection.BottomUp)==a.RollDirection.BottomUp){l.Functions.setClip(b,f.bottom,w-n+"px");j.bottom=-n+r}if((k&a.RollDirection.LeftRight)==a.RollDirection.LeftRight){l.Functions.setClip(b,f.left,m+"px");j.left=m-q}if(d!=null){var p;for(p=0;p<d.length;p++){var o=d[p],t=j.top+j.bottom,x=o.origPos.y+t,s=j.left+j.right,v=o.origPos.x+s;if(s!=0){o.style.left=v+"px"}if(t!=0){o.style.top=x+"px"}}}if(i==1){g=false;if(u==a.RollStyle.In){c.executeEvent("afterrollin",c,new h.EventArgs("afterrollin",b))}else{b.style.clip="rect(auto auto auto auto)";c.executeEvent("afterrollout",c,new h.EventArgs("afterrollout",b))}}c.executeEvent("roll",c,new h.EventArgs("roll",b))}}}function n(){var b=Msn.VE.Css;if(d==null){return}var c,i=d.length;for(c=0;c<i;c++){var a=d[c];a.origPos={x:parseInt(b.Functions.getComputedStyle(a,"left")),y:parseInt(b.Functions.getComputedStyle(a,"top"))};if(isNaN(a.origPos.x)){var f=parseInt(b.Functions.getComputedStyle(a,"marginLeft"),10),e=parseInt(b.Functions.getCoputedStyle(a,"paddingLeft"),10);a.origPos.x=a.offsetLeft-(isNaN(f)?0:f)-(isNaN(e)?0:e)}if(isNaN(a.origPos.y)){var h=parseInt(b.Functions.getComputedStyle(a,"marginTop"),10),g=parseInt(b.Functions.getComputedStyle(a,"paddingTop"),10);a.origPos.y=a.offsetTop-(isNaN(h)?0:h)-(isNaN(g)?0:g)}}b=null}},Slider:function(){var d=this,c=Msn.VE.Geometry,a=AccelerationFunctions.Linear,b=5;
this.setAccelerationFunction=function(b){if(b instanceof Msn.VE.Animation.AccelerationFunction){a=b}};this.setDelay=function(a){if(typeof a=="number"&&a>0){b=a}};this.slideToPoint=function(e,i){var d=new c.Point(e.offsetLeft,e.offsetTop),n=d.getDistanceFrom(i);a.setSteps(Math.floor(n/10));var p=n/a.getTotal(),o=i.y-d.y,l=i.x-d.x,f=Math.atan(o/l),m=a.getSteps();for(var h=0;h<=m;h++){sum=a.getValue(h/m);var g=sum*p,k,j;if(l<0){k=d.y-Math.sin(f)*g;j=d.x-Math.cos(f)*g}else{k=d.y+Math.sin(f)*g;j=d.x+Math.cos(f)*g}setTimeout(q(j,k),h*b)}function q(a,b){return function(){e.style.top=parseInt(Math.round(b))+"px";e.style.left=parseInt(Math.round(a))+"px"}}}}};var AccelerationFunctions={Linear:new Msn.VE.Animation.AccelerationFunction(function(){return 1}),ExponentialAcc:new Msn.VE.Animation.AccelerationFunction(function(b){var a=0,d=1,c=d-a,f=a+b*c,e=Math.pow(f,2);return e}),ExponentialDec:new Msn.VE.Animation.AccelerationFunction(function(b){var a=-1,d=0,c=d-a,f=a+b*c,e=Math.pow(f,2);return e}),CosineWave:new Msn.VE.Animation.AccelerationFunction(function(b){var a=-Math.PI,d=Math.PI,c=d-a,f=a+b*c,e=Math.cos(f)+1;return e}),CrazyElevator:new Msn.VE.Animation.AccelerationFunction(function(b){var a=-5,d=5,c=d-a,f=a+b*c,e=2/(Math.pow(Math.abs(f),3)+1);return e})};_VERegisterNamespaces("Msn.VE.Geometry");Msn.VE.Geometry.Point=function(c,d){var a=this,b=Msn.VE.Geometry;this.x=c;this.y=d;this.add=function(c,d){var e=new b.Point(a.x+c,a.y+d);return e};this.getDistanceFrom=function(b){var c=Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2),d=Math.sqrt(c);return d}};Msn.VE.Geometry.Overlap={Range:{GreaterThanX:1,LessThanX:2,GreaterThanY:4,LessThanY:8,InXRange:16,InYRange:32,InRange:48},getInstance:function(f,g){var d=Msn.VE.Geometry.Overlap,a=f,b=g,c=0;e();function e(){if(b.getP2().x>a.getP2().x){c+=d.Range.GreaterThanX}if(b.getP1().x<a.getP1().x){c+=d.Range.LessThanX}if(b.getP2().y>a.getP2().y){c+=d.Range.GreaterThanY}if(b.getP1().y<a.getP1().y){c+=d.Range.LessThanY}if(a.getP1().x<=b.getP1().x&&b.getP2().x<=a.getP2().x){c+=d.Range.InXRange}if(a.getP1().y<=b.getP1().y&&b.getP2().y<=a.getP2().y){c+=d.Range.InYRange
}}this.getRange=function(){return c};this.getLeftXBleed=function(){if(c&d.Range.LessThanX){return Math.abs(a.getP1().x-b.getP1().x)}else{return 0}};this.getRightXBleed=function(){if(c&d.Range.GreaterThanX){return b.getP2().x-a.getP2().x}else{return 0}};this.getTopYBleed=function(){if(c&d.Range.LessThanY){return Math.abs(a.getP1().y-b.getP1().y)}else{return 0}};this.getBottomYBleed=function(){if(c&d.Range.GreaterThanY){return b.getP2().y-a.getP2().y}else{return 0}}}};Msn.VE.Geometry.Rectangle=function(h,i){var g=this,a=h,b=i,d,e;f();function f(){c()}this.move=function(c){a.x=c.x;a.y=c.y;b.x=c.x+e;b.y=c.y+d};this.getP1=function(){return a};this.getP2=function(){return b};this.setP1=function(b){a=b;c()};this.setP2=function(a){b=a;c()};this.getWidth=function(){return e};this.getHeight=function(){return d};this.containsPoint=function(c){return c.x>=a.x&&c.x<=b.x&&c.y>=a.y&&c.y<=b.y};this.scale=function(d){a.x-=d;a.y-=d;b.x+=d;b.y+=d;c()};this.getOverlap=function(a){var b=Msn.VE.Geometry;return new b.Overlap.getInstance(g,a)};function c(){d=b.y-a.y;e=b.x-a.x}};Msn.VE.Geometry.Functions={getSlope:function(a,b){return(b.y-a.y)/(b.x-a.x)},getYIntercept:function(b,a){return a.y-b*a.x},getBestBoundingPoint:function(f,b,c){var a=Msn.VE.Geometry;if(!b){b=g(f).getScreenPosition()}var e=new a.Rectangle(b,new a.Point(b.x+f.offsetWidth,b.y+f.offsetHeight)),j=c.getOverlap(e),d=j.getRange();if((d&a.Overlap.Range.InRange)==a.Overlap.Range.InRange){return b}var h=b.x,i=b.y;if(d&a.Overlap.Range.GreaterThanX){h=c.getP2().x-e.getWidth()}if(d&a.Overlap.Range.LessThanX){h=c.getP1().x}if(d&a.Overlap.Range.GreaterThanY){i=c.getP2().y-e.getHeight()}if(d&a.Overlap.Range.LessThanY){i=c.getP1().y}return new a.Point(h,i)}};_VERegisterNamespaces("Msn.VE.OO.Eventable");Msn.VE.OO.Eventable.EventArgs=function(b,a){this.EventName=b;this.Recipient=a};Msn.VE.OO.Eventable.EventableObject=function(){if(typeof window.attachEvent!="undefined"){window.attachEvent("onunload",c)}var a=[];this.getEventHash=function(){return a};this.hookEvent=function(d,e){var c=a[d];
if(typeof c=="undefined"||c==null){c=new b(d);a[d]=c}c.addEvent(e)};this.unhookEvent=function(d,e){var c=a[d];if(c instanceof b){c.removeEvent(e)}};this.executeEvent=function(g,h,f){var d=a[g];if(!(d instanceof b)){return}var e=d.getEvents(),c;for(c=0;c<e.length;c++){e[c].call(h,f)}};function b(b){var c=b,a=[];this.addEvent=function(c){if(typeof c=="function"){var b;for(b=0;b<a.length;b++){if(a[b]==c){return}}a.push(c)}};this.removeEvent=function(c){if(typeof c!="function"){return}var b;for(b=0;b<a.length;b++){if(a[b]==c){a[b]=null;delete a[b];a.splice(b,1)}}};this.destroy=function(){var b;for(b=0;b<a.length;b++){a[b]=null;delete a[b]}};this.getEvents=function(){return a}}function c(){var d;for(d in a){if(a[d] instanceof b){a[d].destroy();a[d]=null}}a=null;window.detachEvent("onunload",c)}};var ERO={Classes:{ContainerNoBeak:"ero ero-noBeak",ContainerRightBeak:"ero ero-rightBeak",ContainerLeftBeak:"ero ero-leftBeak",Beak:"ero-beak",Shadow:"ero-shadow",Body:"ero-body",Actions:"ero-actions",ActionsBackground:"ero-actionsBackground",PreviewArea:"ero-previewArea",PaddingHack:"ero-paddingHack",ProgressAnimation:"ero-progressAnimation"},DefaultClasses:null,BeakDirection:{Right:0,Left:1},DockPosition:{Top:0,Center:1},m_theEro:null,BeakHeight:34,Glitz:function(d,e,b,c){var a=this;this.useBeak=d;this.useFade=e;this.useProgressTimer=b;this.isTemporary=c;this.copy=function(){return new ERO.Glitz(a.useBeak,a.useFade,a.useProgressTimer,a.isTemporary)}},EROEventArgs:function(c,a,b){this.superclass=Msn.VE.OO.Eventable.EventArgs;this.superclass(c,a);this.Entity=b},getInstance:function(){var a=Msn.VE.Geometry;if(!ERO.m_theEro){ERO.m_theEro=new b;ERO.m_theEro.setBoundingArea(null)}ERO.m_theEro.addToPage();return ERO.m_theEro;function b(){this.superclass=Msn.VE.OO.Eventable.EventableObject;this.superclass();var c=this,r=null,f=null,k=null,h=false,o=500,n=0,B=true,i=new ERO.Glitz(true,true,true,false),C=i.copy(),w=0,z=false,b=document.createElement("div");b.className=ERO.Classes.ContainerLeftBeak;if(typeof b.addEventListener!="undefined"){b.addEventListener("mouseover",x,false);
b.addEventListener("mouseout",y,false)}else{b.attachEvent("onmouseover",x);b.attachEvent("onmouseout",y)}var s=document.createElement("div");s.className=ERO.Classes.Shadow;var j=document.createElement("div");j.className=ERO.Classes.Body;var q=document.createElement("div");q.className=ERO.Classes.Actions;var p=document.createElement("ul"),m=document.createElement("div");m.className=ERO.Classes.ActionsBackground;var l=document.createElement("div");l.className=ERO.Classes.PreviewArea;var t=document.createElement("div");t.className=ERO.Classes.Beak;var v=document.createElement("div");v.className=ERO.Classes.PaddingHack;b.appendChild(s);b.appendChild(t);s.appendChild(j);j.appendChild(m);m.appendChild(l);m.appendChild(q);q.appendChild(p);m.appendChild(v);var d=document.createElement("div");d.className=ERO.Classes.ProgressAnimation;var e=new Msn.VE.Animation.Movie(d,75);e.addFrame('<div class = "frame1"></div>');e.addFrame('<div class = "frame2"></div>');e.addFrame('<div class = "frame3"></div>');e.addFrame("");e.addFrame("");e.addFrame('<div class = "frame2"></div><div class = "frame3"></div>',false);e.addFrame('<div class = "frame3"></div>',false);e.Repeat=false;this.destroy=function(){if(b){if(typeof b.removeEventListener!="undefined"){b.removeEventListener("mouseover",x,false);b.removeEventListener("mouseout",y,false)}else{b.detachEvent("onmouseover",x);b.detachEvent("onmouseout",y)}if(j.shimElement){j.shimElement.removeNode(true);j.shimElement=null}b.parentNode.removeChild(b);d.parentNode.removeChild(d);b=null;s=null;j=null;q=null;p=null;m=null;l=null;t=null;v=null}ERO.m_theEro=null;k=null};this.getElement=function(){return b};this.getBody=function(){return j};this.getAnimation=function(){return e};this.getDelay=function(){return o+n};this.setDelay=function(a){o=a||o};this.getDelayDelta=function(){return n};this.setDelayDelta=function(a,b){B=b==false?false:true;if(typeof a=="number"){n=a;if(!h&&r!=-1){c.hide()}}};this.setClasses=function(b,d){var a;if(ERO.DefaultClasses===null){ERO.DefaultClasses={};for(a in ERO.Classes){ERO.DefaultClasses[a]=ERO.Classes[a]
}}if(d!==false){c.setClasses(ERO.DefaultClasses,false)}for(a in b){if(typeof ERO.Classes[a]!="undefined"){ERO.Classes[a]=b[a]}}D()};this.setBeak=function(a){if(a==ERO.BeakDirection.Left){g(b).removeClass(ERO.Classes.ContainerRightBeak).addClass(ERO.Classes.ContainerLeftBeak)}else{g(b).removeClass(ERO.Classes.ContainerLeftBeak).addClass(ERO.Classes.ContainerRightBeak)}};this.setContent=function(c){var a=document.createElement("div");a.className="firstChild";a.innerHTML=c;var b=l.firstChild;if(b){l.replaceChild(a,b)}else{l.appendChild(a)}a=null;b=null};this.addAction=function(b){var a=document.createElement("li");if(!b){return}a.innerHTML=b;p.appendChild(a);a=null};this.clearActions=function(){var a=p.getElementsByTagName("li"),c=a.length;for(var b=0;b<c;b++){p.removeChild(a[0])}};this.dockToText=function(e,b,i){b=typeof b!="undefined"?b:typeof window.event!="undefined"?window.event:null;var k=g(e).getPagePosition(),h=Gimme.Screen.getMousePosition(b).x,j=new a.Point(h,k.y),f=new a.Point(0,parseInt(d.offsetHeight/2,10));c.dockToPoint(j,f,e,i)};this.dockToElement=function(b,e){var d=g(b).getPagePosition(),f=new a.Rectangle(d,new a.Point(d.x+b.offsetWidth,d.y+b.offsetHeight));c.dockToRect(f,null,b,e)};this.dockToPoint=function(b,d,f,e){c.dockToRect(new a.Rectangle(b,b),d,f,e)};this.dockToRect=function(m,q,I,C){if(k===I){clearTimeout(r);if(h){return}}else{if(k!==null){clearTimeout(r);A()}}var v="px";h=true;k=I;b.style.visibility="hidden";c.setBeak(ERO.BeakDirection.Left);if(typeof q=="undefined"||q==null){q={x:0,y:0}}C=C||"";j.style.width=C;var g=l.offsetHeight-ERO.BeakHeight;d.style.top=m.getP1().y-d.offsetHeight+q.y+v;d.style.left=m.getP2().x-d.offsetWidth+q.x+v;var s=m.getP2().x,E=m.getP2().y-g-ERO.BeakHeight/2-m.getHeight()/2,y=c.getSize(),G=y.getP2().y-y.getP1().y,B=y.getP2().x-y.getP1().x,J=new a.Rectangle(new a.Point(s,E),new a.Point(s+B,E+G)),D=f.getOverlap(J),p=D.getRange(),x,w;if(p&a.Overlap.Range.InXRange){w=s}if(p&a.Overlap.Range.InYRange){x=E}if(p&a.Overlap.Range.GreaterThanX){c.setBeak(ERO.BeakDirection.Right);
w=s>f.getP2().x?f.getP1().x+f.getWidth()-B:s-B-m.getWidth()}if(p&a.Overlap.Range.LessThanX){c.setBeak(ERO.BeakDirection.Left);w=f.getP1().x}if(p&a.Overlap.Range.GreaterThanY){x=f.getP1().y+f.getHeight()-G;var H=D.getBottomYBleed();g+=H;if(g>b.offsetHeight-ERO.BeakHeight){g=b.offsetHeight-ERO.BeakHeight-4}}if(p&a.Overlap.Range.LessThanY){x=f.getP1().y;var H=D.getTopYBleed();g-=H;if(g<0){g=0}}b.style.top=x+v;b.style.left=w+v;t.style.top=g+"px";c.executeEvent("beforeshow",c,new ERO.EROEventArgs("beforeshow",b,k));if(!i.useBeak){b.className=ERO.Classes.ContainerNoBeak}z=false;if(i.useProgressTimer){e.start();if(!i.useFade){setTimeout(u,o+n);return}}if(i.useFade){setTimeout(F,o+n)}else{u()}};this.showImmediate=function(){z=h=true;e.end();u()};this.hide=function(a){h=false;if(a===true){A()}else{clearTimeout(r);r=setTimeout(A,o+n)}};this.setGlitz=function(c,d,a,b){if(c!=null){i.useBeak=c}if(d!=null){i.useFade=d}if(a!=null){i.useProgressTimer=a}if(b===true){i.isTemporary=b}else{C=i.copy()}};this.setBoundingArea=function(e,g){if(e===null){var b=Gimme.Screen.getScrollPosition(),c=Gimme.Screen.getViewportSize(),d=new a.Rectangle(new a.Point(0,0),new a.Point(c.width,c.height));d.move(new a.Point(b.x,b.y));f=d}else{f=new a.Rectangle(e,g)}};this.getBoundingArea=function(){return f};this.isInUse=function(){return h};this.isVisible=function(){return b.style.visibility=="visible"};this.addToPage=function(){b.style.visibility="hidden";d.style.visibility="hidden";document.body.appendChild(b);document.body.appendChild(d)};this.getSize=function(){var c=b.offsetLeft,d=b.offsetTop,f=c+b.offsetWidth,g=d+b.offsetHeight,e=new a.Rectangle(new a.Point(c,d),new a.Point(f,g));return e};function E(b,a){if(b==a){return false}while(a&&a!=b){a=a.parentNode}return a==b}function x(){h=true}function y(a){var d=a.relatedTarget||a.toElement||a.srcElement;if(!E(b,d)){c.hide()}}function u(){if(b&&h){if(b.style.visibility!="visible"){b.style.visibility="visible"}if(typeof b.style.opacity!="undefined"){b.style.opacity=1}c.executeEvent("aftershow",c,new ERO.EROEventArgs("aftershow",b,k));
i=C.copy()}}function A(){if(!h&&b){c.executeEvent("beforehide",c,new ERO.EROEventArgs("beforehide",b,k));b.style.visibility="hidden";e.hide();if(!Msn.VE.API){d.style.left=b.style.left="0";d.style.top=b.style.top="0"}k=null;c.executeEvent("afterhide",c,new ERO.EROEventArgs("afterhide",b,k))}if(B){n=0}}function F(){if(z||!h||!b){return}if(b.style&&typeof b.style.filter!="undefined"){b.style.filter="progid:DXImageTransform.Microsoft.Fade(duration=.5)";b.filters[0].Apply();b.style.visibility="visible";b.style.display="block";b.filters[0].Play();var c=setInterval(function(){if(b.filters[0].status==0){clearInterval(c);u()}},10)}else{b.style.visibility="visible";if(w===0){a()}}function a(){if(h&&++w<=10){var c=w*0.09999999;b.style.opacity=c;setTimeout(a,50)}else{u();w=0}}}function D(){b.className=ERO.Classes.Container;s.className=ERO.Classes.Shadow;j.className=ERO.Classes.Body;t.className=ERO.Classes.Beak;q.className=ERO.Classes.Actions;m.className=ERO.Classes.ActionsBackground;l.className=ERO.Classes.PreviewArea;v.className=ERO.Classes.PaddingHack;d.className=ERO.Classes.ProgressAnimation}}}};function LogEROBehavior(eroEvent,fromPanel){var bERO=$find(eroEvent.Entity.id+"_ero");if(bERO!=null){var eroSource=eval(fromPanel?bERO.get_EROPanel():bERO.get_EROMap()),pageName=eval(bERO.get_PageName());if(eroSource){$VE_A.Log(pageName,eroSource)}}}function LogEROBehaviorFromPanel(a){ero.unhookEvent("aftershow",LogEROBehaviorFromPanel);LogEROBehavior(a,true)}function LogEROBehaviorFromMap(a){ero.unhookEvent("aftershow",LogEROBehaviorFromMap);LogEROBehavior(a,false)}function VETime(){}VETime.FormatTime=function(a){if(a==null||a==""||a=="undefined"){return""}var c=false,d=a.substr(0,10),e=a.substr(11,5),b="";if(a.indexOf("AM")>-1){b="AM";c=true}else{b="PM"}return d+" "+VETime.ConvertTo12HourFormat(e,c)+" "+b};VETime.ConvertTo12HourFormat=function(d,c){var a=d;try{var b=parseFloat(a.replace(":","."));if(b>12){if(b<13&&c!=true){}else{b=b-12}}a=b.toFixed(2);a=a.replace(".",":")}catch(e){a=""}return a};VETime.FormatPanelTime=function(a,g){if(a==null||a==""||a=="undefined"){return""
}try{var b=0,d=false,i=a.substr(4,8),h=a.indexOf(":"),f=a.substr(h-2,5),c="";if(a.indexOf("AM")>-1){c="AM";d=true;b=a.indexOf("AM")}else{c="PM";b=a.indexOf("PM")}var e="";if(b>0){e=a.substr(b+3,3)}if(g){return i+" "+VETime.ConvertTo12HourFormat(f,d)+" "+c+" "+e}else{return VETime.ConvertTo12HourFormat(f,d)+" "+c+" "+e}}catch(j){}};VETime.getMonth=function(a){switch(a){case"01":return" Jan";case"02":return" Feb";case"03":return" Mar";case"04":return" Apr";case"05":return" May";case"06":return" Jun";case"07":return" Jul";case"08":return" Aug";case"09":return" Sep";case"10":return" Oct";case"11":return" Nov";case"12":return" Dec"}};VEMap.prototype.GetImageryMetadata=function(c,a){var j=this;VEValidator.ValidateFunction(c);if(a){VEValidator.ValidateObject(a,"options",VEImageryMetadataOptions,"VEImageryMetadataOptions");if(a.LatLong!=null){VEValidator.ValidateObject(a.LatLong,"LatLong",VELatLong,"VELatLong")}if(a.MapStyle!=null){VEValidator.ValidateMapStyle(a.MapStyle,"MapStyle")}if(a.ZoomLevel!=null){VEValidator.ValidateNonNegativeInt(a.ZoomLevel,"ZoomLevel");if(a.ZoomLevel==0||a.ZoomLevel>Msn.VE.API.Globals.vemaxzoom){throw new VEException("VEMap.GetImageryMetadata","err_invalidargument",L_invalidargument_text.replace("%1","ZoomLevel").replace("%2","int"))}}}else{a=new VEImageryMetadataOptions}if(a.LatLong==null){a.LatLong=this.GetCenter()}if(a.MapStyle==null){a.MapStyle=this.GetMapStyle()}if(a.ZoomLevel==null){a.ZoomLevel=this.GetZoomLevel()}if((a.MapStyle==VEMapStyle.Road||a.MapStyle==VEMapStyle.Shaded||a.MapStyle==VEMapStyle.Aerial||a.MapStyle==VEMapStyle.Hybrid)&&(this.HasClientToken()||this.HasValidCredentials())){if(a.MapStyle==VEMapStyle.Shaded){a.MapStyle==VEMapStyle.Road}var d=new Msn.VE.LatLong;d.latitude=a.LatLong.Latitude;d.longitude=a.LatLong.Longitude;var g=this.vemapcontrol.GetOrthoMode(),i=g.LatLongToPixel(d,a.ZoomLevel),h=VEPixelToQuadKey(i,a.ZoomLevel),b=[];b.push(new VEParameter("quadKey",'"'+h+'"'));b.push(new VEParameter("mapStyle",'"'+a.MapStyle+'"'));b.push(new VEParameter("tileGeneration",'"'+this.vemapcontrol.GetTileGeneration(a.MapStyle)+'"'));
this.vemapcontrol.Fire("onstartrequest");function e(a){j._GetImageryMetadataHandler(a,c)}VEAPIRequestInvoke(Msn.VE.API.Constants.imageryurl+"/GetTileMetadata",b,e,this)}else{var f=new VEImageryMetadata;c(f)}};VEMap.prototype._GetImageryMetadataHandler=function(a,c){this.vemapcontrol.Fire("onendrequest");this.__HandleAuthentication(a);var b=null;if(a){b=new VEImageryMetadata;if(typeof a.Vintage!="undefined"&&a.Vintage!=null){if(typeof a.Vintage.From!="undefined"&&a.Vintage.From!=null){var d=a.Vintage.From;b.DateRangeStart=ParseJsonDate(d)}if(typeof a.Vintage.To!="undefined"&&a.Vintage.To!=null){var e=a.Vintage.To;b.DateRangeEnd=ParseJsonDate(e)}}}if(typeof c=="function"){c(b)}};function ParseJsonDate(dateString){var date=null;if(dateString){try{dateString=dateString.replace(/\//g,"");date=eval("new "+dateString+";")}catch(a){}}return date}function VEImageryMetadata(){this.DateRangeStart=null;this.DateRangeEnd=null;this.toString=function(){strDateStart="";strDateEnd="";if(this.DateRangeStart){strDateStart+=this.DateRangeStart.getFullYear()}if(this.DateRangeEnd){strDateEnd+=this.DateRangeEnd.getFullYear()}var a;if(strDateStart==strDateEnd){a=strDateStart}else{a=strDateStart+" - "+strDateEnd}return a}}function VEImageryMetadataOptions(){this.LatLong=null;this.MapStyle=null;this.ZoomLevel=null}var customCursors=Msn.VE.Css.Cursors.CustomCursors;if(customCursors!=null){var i,len=customCursors.length;for(i=0;i<len;i++){customCursors[i].domain=Msn.VE.API.Globals.vecurrentdomain}Msn.VE.Css.Cursors.defineCustomCursors(customCursors)}if(!(navigator.userAgent.indexOf("IE")>=0)&&(typeof VEAPI_DisableAtlasCompat=="undefined"||VEAPI_DisableAtlasCompat!=true)){VENetwork.DownloadScript(Msn.VE.API.Constants.atlascompatjs)}VENetwork.AttachStyleSheet(Msn.VE.API.Constants.stylesheet);if(navigator.userAgent.indexOf("MSIE")>=0&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))==6){VENetwork.AttachStyleSheet(Msn.VE.API.Constants.stylesheetiev6)}try{document.namespaces.add("v","urn:schemas-microsoft-com:vml")}catch(a){}function RequestQueueItem(a,b,c,d){this.Call=a;
this.Param1=b;this.Param2=c;this.Param3=d}function VECustomEvent(b,a){this.Name=b;this.Callback=a}VECacheMode={Auto:0,EnableTileCaching:1};function VEMapOptions(){this.EnableBirdseye=true;this.EnableDashboardLabels=true;this.LoadBaseTiles=true;this.BirdseyeOrientation=VEOrientation.North;this.DrawingBuffer=0;this.CacheMode=VECacheMode.Auto;this.DashboardColor="blue";this.EnableClickableLogo=false;this.EnableSearchLogo=false}function VEMap(m){var a=this;this.ID=m;this.GUID=VENetwork.GetExecutionID();this.ClientToken=null;this.Credentials=null;var i=false;this.SessionQueue=null;var f=null,l=null,d=null;if(Msn.VE.API.Globals.vemapinstances==null||Msn.VE.API.Globals.vemapinstances=="undefined"){Msn.VE.API.Globals.vemapinstances=[]}Msn.VE.API.Globals.vemapinstances[this.GUID]=a;this.requestQueue=[];this.preInitCustomEvents=[];this.network=new VENetwork;this.mapelement=$ID(m);this.pushpins=[];this.DisambiguationCallback=null;this.ShowMessageBox=true;if(this.mapelement==null){throw new VEException("VEMap:cstr","err_invalidelement",L_invalidelement_text)}this.m_vedirectionsmanager=null;this._dm=this.m_vedirectionsmanager;this.m_routemanager=null;this.m_vesearchmanager=null;this._sm=this.m_vesearchmanager;this.m_vemessage=new VEMessage(this);this.m_veambiguouslist=new VEAmbiguouslist(this);var c=new VELatLongFactory(new VELatLongFactorySpecFromMap(this)),b=new _xy1;this.queueEventInitialized=false;this.RequestQueueEnabled=true;this.queueEventInitialized=false;windowWidth=GetWindowWidth();windowHeight=GetWindowHeight();scrollbarWidth=GetScrollbarWidth();this.dashboardSize=Msn.VE.DashboardSize.Normal;this.dashboardVersion=6;this._showDashboard=true;this._showScalebar=true;this._mapPrintOptions=null;this.LoadMap=function(c,j,l,k,d,i,e,h){if(!a){throw new VEException("VEMap:LoadMap","err_notinitializedmap",L_notinitialized_text)}if(typeof d!="undefined"&&d!=null){VEValidator.ValidateMapMode(d,"mapMode");this.mapMode=d}if(c!=null&&c!="undefined"){VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");var f=b.Decode(c);
this.initialLatitude=f.Latitude;this.initialLongitude=f.Longitude}this.fixedMap=k;this.initialZoomLevel=j;this.initialMapStyle=l;this.showMapModeSwitch=i;if(e!=null&&typeof e!="undefined"){this.tileBuffer=e}this._mapOptions=h?h:new VEMapOptions;VEValidator.ValidateOrientation(this._mapOptions.BirdseyeOrientation,"VEMapOptions.BirdseyeOrientation");VEValidator.ValidateFloat(this._mapOptions.DrawingBuffer,"VEMapOptions.DrawingBuffer");VEValidator.ValidateBetween(this._mapOptions.DrawingBuffer,"VEMapOptions.DrawingBuffer",0,Number.POSITIVE_INFINITY);VEValidator.ValidateCacheMode(this._mapOptions.CacheMode,"VEMapOptions.CacheMode");this.veonmaploadevent=this.onLoadMap;this.mapelement.innerHTML="";this.mapelement.innerHTML="<table width=100% height=100%><tr valign=middle><td align=center valign=middle><h3>"+L_loading_text+"</h3></td></tr></table>";this.InitializeMap();this.vemapcontrol.AttachEvent("onstartpan",function(){if(window.ero){window.ero.hide(true)}});g([new VEParameter("entry","0")])};function g(b){if(b){var e=Msn.VE.API.Constants.logservice+"/Log";b.push(new VEParameter("fmt","1"));b.push(new VEParameter("type","3"));b.push(new VEParameter("group","MapControl"));b.push(new VEParameter("name","AJAX"));b.push(new VEParameter("version",Msn.VE.API.Globals.vecurrentversion));b.push(new VEParameter("session",a.GUID));b.push(new VEParameter("mkt",Msn.VE.API.Globals.locale));var p=a.Credentials!=null&&a.Credentials.length>0;if(p||!a.HasClientToken()){var i=VENetwork.GetExecutionID(),c="LogCredCB"+i;b.push(new VEParameter("auth",p?a.Credentials:Msn.VE.API.Constants.defaultLogCredentials));b.push(new VEParameter("&jsonp",c));var m=new VENetwork;m.UseCloseDep=true;m.ServiceUrl=e;if(!a.SessionQueue){a.SessionQueue=[]}l=c;window[c]=function(b){if(a&&l==c){if(d!=null){clearTimeout(d);d=null}var e=b!=null&&b.authenticationResultCode=="ValidCredentials";f=e&&typeof b.sessionId=="string"&&b.sessionId.length>0?b.sessionId:null;if(e){j()}else{h()}k()}window[c]=null};if(d!=null){clearTimeout(d)}d=setTimeout(n,10000);m.BeginInvoke("_f"+i,b,null,null,i)
}else{b.push(new VEParameter("auth",a.ClientToken));b.push(new VEParameter("image","1"));e+="?";for(var g=0;g<b.length;g++){e+=b[g].Name+"="+b[g].Value+"&"}var o=new Image;o.onerror=h;o.onload=j;o.src=e}}}function n(){d=null;f=null;LogCredCBMethodName=null;h();k()}function k(){if(a){var c=a.SessionQueue;a.SessionQueue=null;if(c){for(var d=0;d<c.length;d++){var b=c[d];VEAPIRequestInvoke(b.service,b.parameters,b.fnCallback,a)}}}}function h(){i=false;if(a&&a.vemapcontrol){a.vemapcontrol.Fire("oncredentialserror")}}function j(){i=true;if(a&&a.vemapcontrol){a.vemapcontrol.Fire("oncredentialsvalid")}}this._ReArrangeControls=function(){if(a.controlzIndexes!=null&&a.controls!=null&&a.controlzIndexes.length==a.controls.length){var d=a.controls.length;for(var b=0;b<d;b++){document.body.removeChild(a.controls[b]);var c=a.controls[b];c.style.top=a.controltops[b];c.style.left=a.controllefts[b];a._AddControlInner(c,a.controlzIndexes[b])}}};this._ClearView=function(){VEPushpin.Hide();a.m_vemessage.Hide();if(typeof VE_TrafficManager!="undefined"&&VE_TrafficManager.turnedOn==true){VE_TrafficManager._ViewChangeNotification()}};this._RefreshLayers=function(){if(a.vemapcontrol.GetMapMode()!=2){a.vemapcontrol.PanView()}if(typeof VE_TrafficManager!="undefined"&&VE_TrafficManager.turnedOn==true){VE_TrafficManager._ViewChangeNotification()}};this.SetViewport=function(a,c,b,d){return this.vemapcontrol.SetViewport(a,c,b,d)};this.GetCenter=function(){var b=this.vemapcontrol.GetCenterLatitude(),d=this.vemapcontrol.GetCenterLongitude(),a=c.CreateVELatLong(b,d);return a};this.GetMapView=function(){var e;if(this.vemapcontrol.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){var d=this.vemapcontrol.Get3DVisibleArea(true);if(d==null){return null}var b=d[0],g=d[1],a=d[2],f=d[3];e=new VELatLongRectangle(c.CreateVELatLong(b.latitude,b.longitude),c.CreateVELatLong(a.latitude,a.longitude),c.CreateVELatLong(g.latitude,g.longitude),c.CreateVELatLong(f.latitude,f.longitude))}else{var b=this.vemapcontrol.PixelToLatLong(new VEPixel(0,0)),a=this.vemapcontrol.PixelToLatLong(new VEPixel(this.GetWidth(),this.GetHeight()));
if(b==null||a==null){return null}e=new VELatLongRectangle(c.CreateVELatLong(this.vemapcontrol.ClipLatitude(b.latitude),this.vemapcontrol.ClipLongitude(b.longitude)),c.CreateVELatLong(this.vemapcontrol.ClipLatitude(a.latitude),this.vemapcontrol.ClipLongitude(a.longitude)))}return e};this.PixelToLatLong=function(b,a,d){if(a!=null){VEValidator.ValidateNonNegativeInt(a,"zoomLevel");a=parseInt(a)}if(d){VEValidator.ValidateObjectArray(b,"pixelArray",VEPixel,"VEPixel array");VEValidator.ValidateFunction(d,"callback");if(typeof b.length!="undefined"&&b.length>0){this.PixelToLatLongAsync(b,a,d)}}else{VEValidator.ValidateObject(b,"pixel",VEPixel,"VEPixel");var e=this.vemapcontrol.PixelToLatLong(b,a),f=c.CreateVELatLong(e.latitude,e.longitude);return f}};this.PixelToLatLongAsync=function(a,b,c){this.vemapcontrol.PixelToLatLongAsync(a,b,c)};this.SetCenter=function(c){VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");var a=b.Decode(c);this._QueueRequest(this.vemapcontrol.SetCenterAccurate,a.Latitude,a.Longitude)};this.SetCenterClassic=function(c){VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");var a=b.Decode(c);this._QueueRequest(this.vemapcontrol.SetCenter,a.Latitude,a.Longitude)};this.SetCenterAndZoom=function(c,d){VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");VEValidator.ValidateNonNegativeInt(d,"zoomLevel");var a=b.Decode(c);this._QueueRequest(this.vemapcontrol.SetCenterAndZoom,a.Latitude,a.Longitude,d);return true};this.GetMouseWheelZoomToCenter=function(){return a.vemapcontrol.GetMouseWheelZoomToCenter()};this.SetMouseWheelZoomToCenter=function(b){return a.vemapcontrol.SetMouseWheelZoomToCenter(b)};this.IncludePointInView=function(c){VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");var a=b.Decode(c);return this.vemapcontrol.IncludePointInViewport(a.Latitude,a.Longitude)};this.GetOffsetX=function(){return a.vemapcontrol.GetOffsetX()};this.GetOffsetY=function(){return a.vemapcontrol.GetOffsetY()};this.getSvgLayer=function(){return a.vemapcontrol.getSvgLayer()};
this.resizeSVG=function(){return a.vemapcontrol.resizeSVG()};this.GetsvgDiv=function(){return a.vemapcontrol.GetsvgDiv()};this.LatLongToPixel=function(c,a,d){if(a!=null){VEValidator.ValidateNonNegativeInt(a,"zoomLevel");a=parseInt(a)}if(d){VEValidator.ValidateObjectArray(c,"veLatLongArray",VELatLong,"VELatLong array");VEValidator.ValidateFunction(d,"callback");this.LatLongToPixelAsync(c,a,d)}else{VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");var e=b.Decode(c),f=new Msn.VE.LatLong(e.Latitude,e.Longitude);return this.vemapcontrol.LatLongToPixel(f,a)}};this.LatLongToPixelAsync=function(d,f,g){var e=[];for(var a=0;a<d.length;++a){var c=b.Decode(d[a]);e[a]=new Msn.VE.LatLong(c.Latitude,c.Longitude)}this.vemapcontrol.LatLongToPixelAsync(e,f,g)};this.PanToLatLong=function(c){VEValidator.ValidateObject(c,"veLatLong",VELatLong,"VELatLong");var a=b.Decode(c);if(this.GetMapMode()==Msn.VE.MapActionMode.Mode2D){a.Latitude=this.vemapcontrol.ClipLatitude(a.Latitude);a.Longitude=this.vemapcontrol.ClipLongitude(a.Longitude)}this._QueueRequest(this.vemapcontrol.PanToLatLong,a.Latitude,a.Longitude);return true};this.SetMapView=function(a){VEValidator.ValidateNonNull(a,"arrObject");if(a instanceof VEMapViewSpecification){var j=b.Decode(a.LatLong);view=new Msn.VE.MapView(this.vemapcontrol);view.SetCenterLatLong(new Msn.VE.LatLong(j.Latitude,j.Longitude));view.SetMapStyle(this.vemapcontrol.GetMapStyle());if(a.ZoomLevel!=null){view.SetZoomLevel(a.ZoomLevel)}else{view.SetZoomLevel(this.vemapcontrol.GetZoomLevel())}if(a.Altitude!=null){view.SetAltitude(a.Altitude)}if(a.Heading!=null){view.SetDirection(a.Heading)}if(a.Pitch!=null){view.SetTilt(a.Pitch)}this._QueueRequest(this.vemapcontrol.SetView,view)}else{if(a instanceof VELatLongRectangle){var f=b.Decode(a.TopLeftLatLong),g=b.Decode(a.BottomRightLatLong),k=this.GetMapView(),h=b.Decode(k.TopLeftLatLong),i=b.Decode(k.BottomRightLatLong),l=h.Latitude!=f.Latitude||h.Longitude!=f.Longitude||i.Latitude!=g.Latitude||i.Longitude!=g.Longitude;if(l){this.vemapcontrol.SetViewport(f.Latitude,f.Longitude,g.Latitude,g.Longitude)
}}else{var d=[];for(var c=0;c<a.length;c++){VEValidator.ValidateNonNull(a[c],"arrObject["+c+"]");if(a[c] instanceof VELatLong){e([a[c]],d)}else{if(a[c] instanceof VEShape){e(a[c].GetPoints(),d)}else{if(a[c] instanceof VEPolyline){e(a[c].GetLatLongs(),d)}else{if(a[c] instanceof VEPolygon){e(a[c].GetLatLongs(),d)}else{if(a[c] instanceof VELatLongRectangle){e([a[c].TopLeftLatLong,a[c].BottomRightLatLong],d)}else{throw new VEException("VEMap:SetMapView","err_invalidargument",L_invalidargument_text.replace("%1","arrObject").replace("%2","object"))}}}}}}this._QueueRequest(this.vemapcontrol.SetBestMapView,d)}}return true};function e(d,e){for(var a=0;a<d.length;a++){var c=b.Decode(d[a]),f=new Msn.VE.LatLong(c.Latitude,c.Longitude);e.push(f)}}this.AddPushpin=function(a){if(typeof a=="object"&&!(a instanceof VEPushpin)){var e=new VEShape(VEShapeType.Pushpin,a);this.AddShape(e);return e}VEValidator.ValidateObject(a,"vePushpin",VEPushpin,"VEPushpin");var f=this.pushpins.length;for(var d=0;d<f;d++){var g=this.pushpins[d];if(g.ID==a.ID){throw new VEException("VEMap:AddPushpin","err_invalidpushpinid",L_invalidpushpinid_text)}}this.pushpins.push(a);a._SetMapInstance(this);var c=b.Decode(a.LatLong);if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D){this.m_vegraphicsmanager.Add3DPushpin(a.ID,c.Latitude,c.Longitude,25,25,"VEAPI_Pushpin",a,Msn.VE.API.Globals.vepushpinpanelzIndex-1)}else{this.vemapcontrol.AddPushpin(a.ID,c.Latitude,c.Longitude,25,25,"VEAPI_Pushpin",a.GetContent(),Msn.VE.API.Globals.vepushpinpanelzIndex-1)}};this._DisambiguateCallback="VEMap._GetMapFromGUID("+this.GUID+")._sm.FindAmbiguousListCallBack";this._Disambiguate=function(f,b,d,c,e){var a=$ID(this.ID+"_vewhereinput");if(a){a.value=unescape(f)}this.vemapcontrol.SetViewport(b,d,c,e);if(this.m_vesearchmanager!=null&&this.lastwhatsearch!=null&&this.lastwhatsearch.length>0){this.Find(this.lastwhatsearch,null,1,this.m_vesearchmanager.vesearchcallback)}};this._DoFind=function(){try{this.lastwhatsearch=$ID(this.ID+"_vewhatinput").value;this.lastwheresearch=$ID(this.ID+"_vewhereinput").value;
this.Find(this.lastwhatsearch,this.lastwheresearch)}catch(a){this.ShowMessage(a.message)}};this.Dispose=function(){try{g([new VEParameter("entry","1")]);a.SessionQueue=null;if(a.vemapcontrol!=null){a.vemapcontrol.DetachEvent("onchangeview",a._ClearView);a.vemapcontrol.DetachEvent("onresize",a._ReArrangeControls);a.vemapcontrol.DetachEvent("onendpan",a._RefreshLayers);a.vemapcontrol.DetachEvent("oninitmode",a._EROHouseKeeping)}a.vemapcontrol.DetachEvent("onclick",VEPushpin.Hide);var c=a.controlzIndexes.length;for(var b=0;b<c;b++){a.controlzIndexes.pop()}var c=a.controls.length;for(var b=0;b<c;b++){try{document.body.removeChild(a.controls[b])}catch(h){}a.controls[b]=null;a.controltops[b]=null;a.controllefts[b]=null}a.controls=null;a.controlzIndexes=null;if(a.m_velayermanager){a.m_velayermanager.Dispose()}if(a.m_vesearchmanager){a.m_vesearchmanager.Dispose();a.m_vesearchmanager=null;a._sm=null}if(a.m_routemanager){a.m_routemanager.Dispose();a.m_routemanager=null}for(var b=0;b<a.pushpins.length;++b){if(a.pushpins[b]!=null&&a.pushpins[b]!="undefined"){if(a.GetMapMode()==Msn.VE.MapActionMode.Mode3D){a.m_vegraphicsmanager.Remove3DPushpin(a.pushpins[b].ID)}a.pushpins[b].Dispose();a.pushpins[b]=null}}a.pushpins=null;if(a.m_vegraphicsmanager){a.m_vegraphicsmanager.Dispose()}if(a.m_vetilesourcemanager){a.m_vetilesourcemanager.Dispose()}a.m_vemessage.Dispose();a.m_veambiguouslist.Dispose();try{if(typeof VE_TrafficManager!="undefined"){VE_TrafficManager.Destroy()}this.m_vetrafficmanager=null}catch(h){}Msn.VE.API.Globals.vemapinstances[a.GUID]=null;a.veonmaploadevent=null;a.veloadingdiv=null;a.vemapcontrol.Destroy();try{var f=$ID(a.ID);f.innerHTML=""}catch(h){}a.ClientToken=null;a.ID=null;a.vemapcontrol=null;var e=0;for(var d in Msn.VE.API.Globals.vemapinstances){if(typeof Msn.VE.API.Globals.vemapinstances[d]!="function"&&Msn.VE.API.Globals.vemapinstances[d]!=null){++e}}if(e==0){VE_Help.Destroy();VEPushpin.DisposeERO();Msn.VE.API.Globals.Dispose()}Msn.VE.API.Globals.vemapinstances[this.GUID]=null;var c=a.preInitCustomEvents.length;
for(var b=0;b<c;++b){a.preInitCustomEvents.pop()}a.preInitCustomEvents=null;a.requestQueue=null;a.network=null;a.mapelement=null;a.pushpins=null;if(a._mapOptions){a._mapOptions=null}a=null}catch(h){}};this.GetDashboardSize=function(){return this.dashboardSize};this.SetClientToken=function(a){this.ClientToken=a;if(this.vemapcontrol){this.vemapcontrol.SetClientToken(a);g([new VEParameter("entry","2")])}};this.SetCredentials=function(a){this.Credentials=a;if(this.vemapcontrol){g([new VEParameter("entry","2")])}};this._GetCredentials=function(){var b;if(f!=null&&f.length>0){b=f}else{if(a.Credentials!=null&&a.Credentials.length>0){b=a.Credentials}else{if(a.HasClientToken()){b=a.ClientToken}else{b=Msn.VE.API.Constants.defaultLogCredentials}}}return b};this.HasValidCredentials=function(){return i}}VEMap._GetMapFromGUID=function(a){if(Msn.VE.API.Globals.vemapinstances!=null&&Msn.VE.API.Globals.vemapinstances[a]==null||Msn.VE.API.Globals.vemapinstances[a]=="undefined"){throw new VEException("VEMap:_GetMapFromGUID","err_notinitialized",L_notinitialized_text);return}return Msn.VE.API.Globals.vemapinstances[a]};VEMap.prototype.InitializeMap=function(){_VERegisterNamespaces("Msn.VE");this.mapelement.innerHTML="";this.mapelement.style.overflow="hidden";if(this.mapelement.className==null||this.mapelement.className=="undefined"||this.mapelement.className==""){if(this.mapelement.style==null||this.mapelement.style.height==null||this.mapelement.style.height=="undefined"||this.mapelement.style.height==""){this.mapelement.style.height=Msn.VE.API.Globals.vemapheight+"px"}if(this.mapelement.style==null||this.mapelement.style.width==null||this.mapelement.style.width=="undefined"||this.mapelement.style.width==""){this.mapelement.style.width=Msn.VE.API.Globals.vemapwidth+"px"}}var a={};if(this.mapMode!=null&&this.mapMode!="undefined"){a.mapMode=this.mapMode}else{a.mapMode=Msn.VE.API.Globals.vemapmode}a.mapGUID=this.GUID;a.clientToken=this.ClientToken;if(this.initialLatitude!=null&&this.initialLatitude!="undefined"){a.latitude=this.initialLatitude
}else{a.latitude=Msn.VE.API.Globals.vemaplatitude}if(this.initialLongitude!=null&&this.initialLongitude!="undefined"){a.longitude=this.initialLongitude}else{a.longitude=Msn.VE.API.Globals.vemaplongitude}if(this.initialZoomLevel!=null&&this.initialZoomLevel!="undefined"){a.zoomlevel=this.initialZoomLevel}else{a.zoomlevel=Msn.VE.API.Globals.vemapzoom}if(this.initialMapStyle!=null&&this.initialMapStyle!="undefined"){a.mapstyle=this.initialMapStyle}else{a.mapstyle=Msn.VE.API.Globals.vemapstyle}this.m_dashboardId=this.ID+"_dashboard";if(this.fixedMap!=true){a.showDashboard=VE_CheckModuleStatus(VE_ModuleName.APICONTROLS)=="loaded"&&this._showDashboard;a.dashboardSize=this.dashboardSize;a.dashboardVersion=this.dashboardVersion;a.dashboardX=5;a.dashboardY=5;a.dashboardId=this.m_dashboardId;a.showScaleBar=this._showScalebar}a.dashboardColor=this._mapOptions.DashboardColor;a.obliqueEnabled=this._mapOptions.EnableBirdseye;a.labelsDefault=this._mapOptions.EnableDashboardLabels;a.loadBaseTiles=this._mapOptions.LoadBaseTiles;a.birdseyeOrientation=this._mapOptions.BirdseyeOrientation;a.useOriginTiles=this._mapOptions.CacheMode==VECacheMode.Auto;a.useEnhancedRoadStyle=this._mapOptions.UseEnhancedRoadStyle;a.obliqueUrl=Msn.VE.API.Constants.imageryurl;if(this.fixedMap==true){a.fixedView=true}a.disableLogo=false;a.enableClickLogo=this._mapOptions.EnableClickableLogo;a.enableSearchLogo=this._mapOptions.EnableSearchLogo;if(this.showMapModeSwitch==false){a.showMapModeSwitch=false}else{a.showMapModeSwitch=true}if(this.tileBuffer!=null&&typeof this.tileBuffer!="undefined"){a.buffer=this.tileBuffer*Msn.VE.API.Globals.vetilesize}this.vemapcontrol=new Msn.VE.MapControl(this.mapelement,a,this);var d=this.preInitCustomEvents.length;for(var c=0;c<d;++c){var b=this.preInitCustomEvents.pop();this.vemapcontrol.AttachCustomEvent(b.Name,b.Callback)}this.vemapcontrol.Init();if(!this.fixedMap==true){this.vemapcontrol.AttachEvent("onchangeview",this._ClearView)}this.vemapcontrol.AttachEvent("onendpan",this._RefreshLayers);this.vemapcontrol.AttachEvent("oninitmode",this._ResetQueueEvent);
this.vemapcontrol.AttachEvent("oninitmode",this._EROHouseKeeping);_VERegisterNamespaces("Msn.Drawing");this.m_vegraphicsmanager=new VEGraphicsManager(this);this.m_vegraphicsmanager.Initialize();this.m_velayermanager=null;this._lm=this.m_velayermanager;this.m_vetilesourcemanager=null;this.m_vetrafficmanager=null;_VERegisterNamespaces("Msn.VE.UI");Msn.VE.UI.Color={Red:"red",Orange:"orange",Yellow:"yellow"};if(($ID("help")==null||$ID("help")=="undefined")&&!Msn.VE.API.Globals.ishttpsenabled){VE_Help.CreateHelpPanel()}this._InitializeModules(VE_GetLoadedAPIModules());if(this.veonmaploadevent){this.veonmaploadevent(this)}this.controlzIndexes=[];this.controls=[];this.controltops=[];this.controllefts=[];this.vemapcontrol.AttachEvent("onresize",this._ReArrangeControls);if(window.ero==null||typeof window.ero=="undefined"){window.ero=ERO.getInstance()}this._EROHouseKeeping(this.GetMapMode());window.attachEvent("onunload",DisposeAllMaps);if(this._mapPrintOptions){this.SetPrintOptions(this._mapPrintOptions)}};function DisposeAllMaps(){for(var a in Msn.VE.API.Globals.vemapinstances){if(Msn.VE.API.Globals.vemapinstances[a] instanceof VEMap){Msn.VE.API.Globals.vemapinstances[a].Dispose()}}if(_VEDownloadQueue){_VEDownloadQueue.Dispose();_VEDownloadQueue=null}if(VE_Help&&VE_Help.Destroy){VE_Help.Destroy()}}VEMap.prototype.DeleteAllPushpins=function(){VEPushpin.Hide();if(this.pushpins!=null&&this.pushpins!="undefined"){if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D){this.m_vegraphicsmanager.ClearAllPushpins(this.pushpins);return}else{var c=this.pushpins.length;for(var a=0;a<c;a++){var b=this.pushpins.pop();if(!b.IsInLayer){b.Dispose()}}}}return this.vemapcontrol.ClearPushpins()};VEMap.prototype.GetMapStyle=function(){return this.vemapcontrol.GetMapStyle()};VEMap.prototype.GetZoomLevel=function(){return this.vemapcontrol.GetZoomLevel()};VEMap.prototype.StartContinuousPan=function(a,b){VEValidator.ValidateInt(a,"deltaX");VEValidator.ValidateInt(b,"deltaY");return this.vemapcontrol.ContinuousPan(parseInt(a),parseInt(b))};VEMap.prototype.EndContinuousPan=function(){return this.vemapcontrol.StopContinuousPan()
};VEMap.prototype.Pan=function(a,b){VEValidator.ValidateInt(a,"deltaX");VEValidator.ValidateInt(b,"deltaY");if(this.GetMapMode()!=Msn.VE.MapActionMode.Mode3D){return this.vemapcontrol.PanByPixel(new VEPixel(parseInt(a),parseInt(b)),false)}else{return false}};VEMap.prototype.DeletePushpin=function(c){var d=0;if(typeof this.pushpins=="object"&&this.pushpins&&this.pushpins.constructor==Array){d=this.pushpins.length}for(var a=0;a<d;a++){var b=this.pushpins[a];if(b!=null&&b.ID==c){if(!b.IsInLayer){b.Dispose()}this.pushpins.splice(a,1);if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D){return this.m_vegraphicsmanager.Remove3DPushpin(c)}else{return this.vemapcontrol.RemovePushpin(c)}}}throw new VEException("VEMap:DeletePushpin","err_invalidpushpinid",L_invalidpushpinid_text)};VEMap.prototype.Resize=function(d,c){var b=-1,a=-1;if(d!=null&&typeof d!="undefined"){VEValidator.ValidateNonNegativeInt(d,"width");b=parseInt(d)}if(c!=null&&typeof c!="undefined"){VEValidator.ValidateNonNegativeInt(c,"height");a=parseInt(c)}if(b>=0||a>=0){if(b<0){b=this.GetWidth()}if(a<0){a=this.GetHeight()}}return this.vemapcontrol.Resize(b,a)};VEMap.prototype.SetMapMode=function(a){VEValidator.ValidateMapMode(a,"mapMode");this.vemapcontrol.EnableMode(a,this.GUID)};VEMap.prototype.GetMapMode=function(){if(this.vemapcontrol.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){return VEMapMode.Mode3D}return VEMapMode.Mode2D};VEMap.prototype.SetMapStyle=function(a){VEValidator.ValidateMapStyle(a,"mapStyle");if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D&&(a==VEMapStyle.Birdseye||a==VEMapStyle.BirdseyeHybrid)){return false}this.vemapcontrol.SetMapStyle(a)};VEMap.prototype.SetScaleBarDistanceUnit=function(a){VEValidator.ValidateDistanceUnit(a,"distanceUnit");this.vemapcontrol.SetScaleBarDistanceUnit(a==VEDistanceUnit.Miles?Msn.VE.DistanceUnit.Miles:Msn.VE.DistanceUnit.Kilometers)};VEMap.prototype.SetZoomLevel=function(a){VEValidator.ValidateNonNegativeInt(a,"zoomLevel");this._QueueRequest(this.vemapcontrol.SetZoom,parseInt(a));return true};VEMap.prototype.ZoomIn=function(){this.vemapcontrol.ZoomIn()
};VEMap.prototype.ZoomOut=function(){this._QueueRequest(this.vemapcontrol.ZoomOut)};VEMap.prototype.AttachEvent=function(b,a){VEValidator.ValidateNonNull(b,"eventname");VEValidator.ValidateNonNull(a,"eventhandler");if(this.vemapcontrol){this.vemapcontrol.AttachCustomEvent(b,a)}else{this.preInitCustomEvents.push(new VECustomEvent(b,a))}};VEMap.prototype.DetachEvent=function(b,a){VEValidator.ValidateNonNull(b,"eventname");VEValidator.ValidateNonNull(a,"eventhandler");this.vemapcontrol.DetachCustomEvent(b,a)};VEMap.prototype.FireEvent=function(a){try{var b=window.event;return this.vemapcontrol.FireCustomEvent(a,b)}catch(c){return false}};VEMap.prototype.ShowMessage=function(a){if(this.ShowMessageBox){this.m_vemessage.Show(a)}};VEMap.prototype.GetHeight=function(){var a=0;if(this.mapelement.style.height.search(/px/)>0){a=parseInt(this.mapelement.style.height.replace("px",""))}if(isNaN(a)||a==0){a=this.mapelement.offsetHeight}return a};VEMap.prototype.GetWidth=function(){var a=0;if(this.mapelement.style.width.search(/px/)>0){a=parseInt(this.mapelement.style.width.replace("px",""))}if(isNaN(a)||a==0){a=this.mapelement.offsetWidth}return a};VEMap.prototype.GetLeft=function(){return this.vemapcontrol.GetLeftPx()};VEMap.prototype.GetTop=function(){return this.vemapcontrol.GetTopPx()};VEMap.prototype.SetFindResultsPanel=function(a){if(a==null||a=="undefined"){throw new VEException("VEMap:SetFindResultsPanel","err_invalidelement",L_invalidelement_text)}var b=$ID(a);if(b==null||b=="undefined"){throw new VEException("VEMap:SetFindResultsPanel","err_invalidelement",L_invalidelement_text)}this.searchelement=a};VEMap.prototype._AddControlInner=function(a){a.style.position="absolute";a.style.zIndex=201;var e=this.GetTop(),d=this.GetLeft();if(!a.style.top){a.style.top="0px"}if(!a.style.left){a.style.left="0px"}var c=a.style.top,b=a.style.left;if(isNaN(c)){c=c.toString().toLowerCase()}if(isNaN(b)){b=b.toString().toLowerCase()}e+=parseInt(c.replace("px"));d+=parseInt(b.replace("px"));a.style.top=e+"px";a.style.left=d+"px";document.body.appendChild(a)
};VEMap.prototype.AddControl=function(a,b){if(a==null||a=="undefined"){throw new VEException("VEMap:AddControl","err_invalidelement",L_invalidelement_text)}if(this.controls==null||this.controls=="undefined"){throw new VEException("VEMap:AddControl","err_notinitialized",L_notinitialized_text)}this.controlzIndexes.push(b);this.controls.push(a);this.controltops.push(a.style.top);this.controllefts.push(a.style.left);this._AddControlInner(a,b)};VEMap.prototype.DeleteControl=function(b){if(b==null||b=="undefined"){throw new VEException("VEMap:DeleteControl","err_invalidelement",L_invalidelement_text)}if(this.controls==null||this.controls=="undefined"){throw new VEException("VEMap:DeleteControl","err_notinitialized",L_notinitialized_text)}if(b.shimElement){b.shimElement.removeNode(true);b.shimElement=null}document.body.removeChild(b);var c=-1;for(var a=0;a<this.controls.length;a++){if(this.controls[a]==b){c=a;break}}if(c>=0){for(var a=c;a<this.controls.length-1;a++){this.controls[a]=this.controls[a+1];this.controlzIndexes[a]=this.controlzIndexes[a+1];this.controltops[a]=this.controltops[a+1];this.controllefts[a]=this.controllefts[a+1]}this.controls.pop();this.controlzIndexes.pop();this.controltops.pop();this.controllefts.pop()}};VEMap.prototype.ShowControl=function(a){if(a!=null&&a!="undefined"){if(a.shimElement){a.shimElement.style.display="block"}a.style.visibility="visible";mvcViewFacade.ShowShimIfSupported(a)}};VEMap.prototype.HideControl=function(a){if(a!=null&&a!="undefined"){HideShim(a);a.style.visibility="hidden"}};VEMap.prototype.Clear=function(){this._ClearView();this.ClearTraffic();if(typeof VE_TrafficManager!="undefined"){VE_TrafficManager.Destroy()}this.DeleteAllPushpins();this.DeleteAllShapeLayers();this.DeleteRoute();this.m_vegraphicsmanager.Clear();this.m_veambiguouslist.Hide();this.m_vemessage.Hide()};VEMap.prototype._ShowLoading=function(){if(!this.veloadingdiv){this.veloadingdiv=document.createElement("div");this.veloadingdiv.className="VE_Network_Loading";this.veloadingdiv.style.top="75px";this.veloadingdiv.style.left="80px";
this.veloadingdiv.innerHTML=L_loading_text;this.AddControl(this.veloadingdiv,202)}if(this.veloadingdiv.style.display!="block"){this.veloadingdiv.style.display="block"}else{this.veloadingdiv.style.display="none"}};VEMap.prototype.AddPolyline=function(a){if(typeof a=="object"&&!(a instanceof VEPolyline)){var b=new VEShape(VEShapeType.Polyline,a);this.AddShape(b);return b}this.m_vegraphicsmanager.DrawLine(a)};VEMap.prototype.DeletePolyline=function(a){this.m_vegraphicsmanager.RemoveLinebyId(a)};VEMap.prototype.DeleteAllPolylines=function(){this.m_vegraphicsmanager.RemoveAllLines()};VEMap.prototype.AddPolygon=function(a){if(typeof a=="object"&&!(a instanceof VEPolygon)){var b=new VEShape(VEShapeType.Polygon,a);this.AddShape(b);return b}this.m_vegraphicsmanager.DrawPolygon(a)};VEMap.prototype.DeletePolygon=function(a){this.m_vegraphicsmanager.RemovePolygonbyId(a)};VEMap.prototype.DeleteAllPolygons=function(){this.m_vegraphicsmanager.RemoveAllPolygons()};VEMap.prototype.LoadModules=function(c,a,d){var b=null;b=VEOndemandJsDownloads(true,c,this,[this.LoadModules,c,a,d]);if(b){if(typeof a=="function"&&a!=null){a(d)}}};VEMap.prototype._InitializeModules=function(b){var c=b.length;for(var a=0;a<c;a++){switch(b[a]){case VE_ModuleName.APILAYERS:this.InitMapDrawing();break;case VE_ModuleName.APIFIND:this.InitSearch();break;case VE_ModuleName.APIROUTING:this.InitRouting();break;case VE_ModuleName.API3D:this.Init3D();break;case VE_ModuleName.APICONTROLS:this.InitNavControl();break;case VE_ModuleName.APIBIRDSEYE:this.InitBirdseye();break;case VE_ModuleName.APITILES:this.InitTiles()}}};VEMap.prototype._ResetQueueEvent=function(a){if(a==Msn.VE.MapActionMode.Mode2D){this.queueEventInitialized=false}};VEMap.prototype._QueueRequest=function(a,b,c,d){if(this.vemapcontrol.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)&&this.RequestQueueEnabled){if(!this.queueEventInitialized){this.vemapcontrol.Get3DControl().AttachEvent("OnCameraChanged","ProcessQueuedRequest");this.queueEventInitialized=true}if(this.vemapcontrol.IsCameraFlying()||this.requestQueue.length>0){this.requestQueue.push(new RequestQueueItem(a,b,c,d));
return}}a(b,c,d)};VEMap.prototype._ProcessQueuedRequest=function(){if(this.requestQueue.length>0){var a=this.requestQueue.shift();a.Call(a.Param1,a.Param2,a.Param3)}};VEMap.prototype.ShowMapModeSwitch=function(a){if(this.fixedMap!=true){this.vemapcontrol.SetShowMapModeSwitch(a);this.showMapModeSwitch=a}};VEMap.prototype.SetTileBuffer=function(a){this.tileBuffer=a;if(this.vemapcontrol!=null&&this.vemapcontrol!="undefined"){this.vemapcontrol.SetTilePixelBuffer(a*Msn.VE.API.Globals.vetilesize)}};VEMap.prototype._EROHouseKeeping=function(d){if(d==Msn.VE.MapActionMode.Mode2D){ero.setGlitz(true,false,true,false);ero.unhookEvent("aftershow",c);ero.unhookEvent("afterhide",b);ero.unhookEvent("beforeshow",a)}else{ero.setGlitz(true,false,true,false);ero.hookEvent("aftershow",c);ero.hookEvent("afterhide",b);ero.hookEvent("beforeshow",a)}function c(){ShowShim(ero.getBody(),ero.getElement())}function b(){HideShim(ero.getBody())}function a(a){if(a.Entity==-1){ero.setGlitz(false,null,false,true)}}};VEMap.prototype.AllTilesLoaded=function(){if(this.vemapcontrol.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){var a=this.vemapcontrol.Get3DControl();return a?a.AllTilesLoaded:false}return true};VEMap.prototype.HasClientToken=function(){return this.ClientToken!=null&&typeof this.ClientToken!="undefined"&&this.ClientToken.length>0};VEMap.GetVersion=function(){return Msn.VE.API.Globals.vecurrentversion};VEMap.prototype.ShowDisambiguationDialog=function(a){VEValidator.ValidateBoolean(a,"value");this.m_vedirectionsmanager.m_showDisambigousDialog=a};VEMap.prototype.SetAnimationEnabled=function(a){VEValidator.ValidateBoolean(a,"value");if(this.vemapcontrol){this.vemapcontrol.SetAnimationEnabled(a)}};function VEPrintOptions(a){VEValidator.ValidateBoolean(a,"enablePrinting");this.EnablePrinting=a}VEMap.prototype.SetPrintOptions=function(a){VEValidator.ValidateBoolean(a.EnablePrinting,"VEPrintOptions.EnablePrinting");if(!(Web.Browser.isSafari()||Msn.VE.Environment.IsIE80())){this._mapPrintOptions=a;if(this.vemapcontrol){this.vemapcontrol.SetPrintable(a.EnablePrinting)
}}};function VEAPIRequestInvoke(f,a,e,b){if(b&&b.SessionQueue){b.SessionQueue.push({service:f,parameters:a,fnCallback:e})}else{var d=new VENetwork,c=VENetwork.GetExecutionID();d.UseCloseDep=true;d.ServiceUrl=f;if(b){a.push(new VEParameter(Msn.VE.API.Constants.clienttoken,b._GetCredentials()))}a.push(new VEParameter(Msn.VE.API.Constants.culture,'"'+Msn.VE.API.Globals.locale+'"'));a.push(new VEParameter(Msn.VE.API.Constants.format,Msn.VE.API.Constants.json));a.push(new VEParameter(Msn.VE.API.Constants.requestid,c));d.BeginInvoke("_f"+c,a,e,null,c)}}VEMap.prototype.GetDistance=function(a,b){VEValidator.ValidateObject(a,"veLatLong1",VELatLong,"VELatLong");VEValidator.ValidateObject(b,"veLatLong2",VELatLong,"VELatLong");var h=6378137,c=Math.PI/180,d=a.Latitude*c,e=b.Latitude*c,f=Math.sin((d-e)/2),g=Math.sin((a.Longitude-b.Longitude)*c/2),i=Math.asin(Math.sqrt(f*f+Math.cos(d)*Math.cos(e)*g*g));return h*2*i/1000};VEMap.prototype.InitNavControl=function(){};VEDashboardSize=Msn.VE.DashboardSize;VEMap.prototype.SetDashboardSize=function(a){if(typeof a!="undefined"&&a!=null){VEValidator.ValidateDashboardSize(a,"VEDashboardSize");this.dashboardSize=a;this.dashboardVersion=6;if(this.dashboardSize==VEDashboardSize.Small||this.dashboardSize==VEDashboardSize.Tiny){this.dashboardVersion=5}}};VEMap.prototype.SetDashboardVersion=function(a){this.dashboardVersion=a};VEMap.prototype.ShowDashboard=function(){if(this.vemapcontrol){var a=this.vemapcontrol.GetDashboard();if(!a){this.vemapcontrol.CreateDashboard(5,5,this.dashboardSize,this.m_dashboardId,this.showMapModeSwitch,this._mapOptions.EnableBirdseye,this._mapOptions.EnableDashboardLabels,this.dashboardVersion)}else{a.Show()}if($MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)){this.Show3DNavigationControl()}}this._showDashboard=true};VEMap.prototype.HideDashboard=function(){if(this.vemapcontrol){var a=this.vemapcontrol.GetDashboard();if(a){a.Hide()}if($MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)){this.Hide3DNavigationControl()}}this._showDashboard=false};VEMap.prototype.ShowScalebar=function(){if(this.vemapcontrol){this.vemapcontrol.SetScaleBarVisibility(true)
}this._showScalebar=true};VEMap.prototype.HideScalebar=function(){if(this.vemapcontrol){this.vemapcontrol.SetScaleBarVisibility(false)}this._showScalebar=false};VEMap.prototype.ShowMiniMap=function(a,b,d){if(a!=null&&typeof a!="undefined"&&b!=null&&typeof b!="undefined"){VEValidator.ValidateInt(a,"x");VEValidator.ValidateInt(b,"y")}if(d){VEValidator.ValidateMiniMapSize(d,"size")}var c=this.vemapcontrol.GetMinimap();if(c){if(a!=null&&typeof a!="undefined"&&b!=null&&typeof b!="undefined"){c.SetPosition(parseInt(a),parseInt(b))}c.Show()}else{c=this.vemapcontrol.CreateMinimap(a,b,null,true,false,null,this.ClientToken)}if(d){c.SetSize(d)}};VEMap.prototype.HideMiniMap=function(){var a=this.vemapcontrol.GetMinimap();if(a){a.Hide()}};VE_SetModuleStatus(VE_ModuleName.APICONTROLS,"loaded");VEMap.prototype.InitBirdseye=function(){};VEMap.prototype.GetBirdseyeScene=function(){if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D){return null}var a=null,b=this.vemapcontrol.GetObliqueScene();if(b!=null&&b!="undefined"){a=new VEBirdseyeScene(b);a.SetClientToken(this.ClientToken);a.SetGUID(this.GUID)}return a};VEMap.prototype.IsBirdseyeAvailable=function(){if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D){return false}return this.vemapcontrol.IsObliqueAvailable()};VEMap.prototype.SetBirdseyeOrientation=function(a){if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D){return false}VEValidator.ValidateOrientation(a,"orientation");return this.vemapcontrol.SetObliqueOrientation(a)};VEMap.prototype.SetBirdseyeScene=function(a,b,c,d){if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D){return false}if(a==null||a instanceof VELatLong){return this.SetBirdseye(a,b,c,d)}else{return this.vemapcontrol.SetObliqueScene(a)}};VEMap.prototype.SetBirdseye=function(b,a,c,d){if(this.GetMapMode()==Msn.VE.MapActionMode.Mode3D){return false}if(b){VEValidator.ValidateObject(b,"veLatLong",VELatLong,"VELatLong")}else{b=this.GetCenter()}if(a){VEValidator.ValidateOrientation(a,"orientation")}else{a=VEOrientation.North}if(c){VEValidator.ValidateNonNegativeInt(c,"zoomLevel")
}else{c=1}if(d){VEValidator.ValidateFunction(d,"callback")}else{d=null}var e=(new _xy1).Decode(b);return this.vemapcontrol.SetObliqueLocation(new Msn.VE.LatLong(e.Latitude,e.Longitude),a,c,d)};VEMap.prototype.SetShapesAccuracy=function(a){if(a!=VEShapeAccuracy.None&&a!=VEShapeAccuracy.Pushpin&&a!=VEShapeAccuracy.All){throw new VEException("VEMap:SetShapesAccuracy","err_invalidargument",L_invalidargument_text.replace("%1","value").replace("%2","VEShapeAccuracy"))}this.m_vegraphicsmanager._useOffset=a};VEMap.prototype.SetOverMaxPointsShapeRequest=function(a){if(a!=VEFailedShapeRequest.DoNotDraw&&a!=VEFailedShapeRequest.DrawInaccurately){throw new VEException("VEMap:SetOverMaxPointsShapeRequest","err_invalidargument",L_invalidargument_text.replace("%1","value").replace("%2","VEFailedShapeRequest"))}this.m_vegraphicsmanager._drawOverMaxShapes=a};VEMap.prototype.SetFailedShapeRequest=function(a){if(a!=VEFailedShapeRequest.DoNotDraw&&a!=VEFailedShapeRequest.DrawInaccurately&&a!=VEFailedShapeRequest.QueueRequest){throw new VEException("VEMap:SetFailedShapeRequest","err_invalidargument",L_invalidargument_text.replace("%1","value").replace("%2","VEFailedShapeRequest"))}this.m_vegraphicsmanager._failRequest=a};VEMap.prototype.SetShapesAccuracyRequestLimit=function(a){VEValidator.ValidateNonNegativeInt(a,"value");Msn.VE.API.Constants.maxasynlatlongs=a};VEShapeAccuracy=new function(){this.None=0;this.Pushpin=1;this.All=2};VEFailedShapeRequest=new function(){this.DoNotDraw=0;this.DrawInaccurately=1;this.QueueRequest=2};VE_SetModuleStatus(VE_ModuleName.APIBIRDSEYE,"loaded");VEMap.prototype.SetDisplayThreshold=function(a){var a=parseInt(a);if(isNaN(a)){this.m_vegraphicsmanager.SetDisplayThreshold(a)}};VEMap.prototype.EnableShapeDisplayThreshold=function(a){VEValidator.ValidateBoolean(a,"value");VE_LatLongThreshold.UseThreshold=a};VEMap.prototype.ImportShapeLayerData=function(a,c,b){VEValidator.ValidateObject(a,"_spec",VEShapeSourceSpecification,"VEShapeSourceSpecification");if(typeof a.LayerSource!="string"||typeof a.Type!="string"){throw new VEException("VEMap:AddLayer","err_invalidlayertype",L_invalidlayertype_text)
}this.m_velayermanager.ImportLayer(a,c,b)};VEMap.prototype.Import3DModel=function(a,c,d,b,e){VEValidator.ValidateObject(a,"modelShapeSource",VEModelSourceSpecification,"VEModelSourceSpecification");if(typeof a.ModelSource!="string"||typeof a.Format!="string"){throw new VEException("VEMap:Import3DModel","err_invalidlayertype",L_invalidlayertype_text)}return this.m_velayermanager.ImportModelLayer(a,c,d,b,e)};VEMap.prototype.SetInfoBoxStyles=function(a){window.ero.setClasses(a)};VEMap.prototype.ClearInfoBoxStyles=function(){window.ero.setClasses(_VECustomInfoBox)};VEMap.prototype.SetDefaultInfoBoxStyles=function(){window.ero.setClasses(ERO.DefaultClasses)};VEMap.prototype.ShowInfoBox=function(c,b,d){var l=typeof c=="object"&&c instanceof VEShape;if(!l){return}var k=c._shplayer==null||c._shplayer._mapGuid==null;if(k){return}var h=null,e=null,g=null;if(typeof b=="object"){if(b instanceof VELatLong){var i=new _xy1;b=i.Decode(b);e=b.Latitude;g=b.Longitude}else{if(b instanceof VEPixel){if(!isNaN(b.x)&&!isNaN(b.y)){h=b}}}}if(e==null&&h==null){var f=c.Primitives[0];if(f.type==VEShapeType.Pushpin){e=f.points[1];g=f.points[0]}else{e=f.labelPosY;g=f.labelPosX}}var m=Msn.Drawing.GetLabelUID(c.Primitives[0].iid),a=null;if(e!=null){a=this.vemapcontrol.LatLongToPixel(new Msn.VE.LatLong(e,g),this.vemapcontrol.GetZoomLevel());if(a==null){a=new VEPixel(0,0)}}else{a=h}var j=typeof d=="object"&&d instanceof VEPixel;if(j){if(!isNaN(d.x)&&!isNaN(d.y)){a.x+=d.x;a.y+=d.y}}if(a.x<0||a.x>this.GetWidth()||a.y<0||a.y>this.GetHeight()){if(b instanceof VELatLong){throw new VEException("VEMap:ShowInfoBox","L_invalidargument_text",L_invalidargument_text.replace("%1","veAnchor").replace("%2","VELatLong"))}else{if(b instanceof VEPixel){throw new VEException("VEMap:ShowInfoBox","L_invalidargument_text",L_invalidargument_text.replace("%1","veAnchor").replace("%2","VEPixel"))}else{return}}}a.x+=this.GetLeft();a.y+=this.GetTop();VEShowVEShapeERO(m,this.GUID,null,c,a.x,a.y)};VEMap.prototype.HideInfoBox=function(){VEHideVEShapeERO(true)};VEMap.prototype.CloneShape=function(a){VEValidator.ValidateObject(a,"_veshape",VEShape,"VEShape");
var c=this.m_velayermanager.VE_LayerManager,b=c.CloneAnnotation(a);return b};VEMap.prototype.AddShape=function(b){var a=this.m_velayermanager.VE_LayerManager.GetCollectionByIndex(0);a._mapGuid=this.GUID;a.AddShape(b)};VEMap.prototype.DeleteShape=function(a){VEValidator.ValidateObject(a,"_veshape",VEShape,"VEShape");if(a._shplayer){a._shplayer.DeleteShape(a)}};VEMap.prototype.GetShapeByID=function(a){if(typeof a=="undefined"||a==null||a==""){return null}var b=this.m_velayermanager.VE_LayerManager,c=b.GetAnnotationById(a);return c};VEMap.prototype.AddShapeLayer=function(a,c){VEValidator.ValidateObject(a,"shpLyr",VEShapeLayer,"VEShapeLayer");if(a._mapGuid!=null){throw new VEException("VEMap:AddLayer","err_invalidlayertype",L_invalidlayertype_text)}a._mapGuid=this.GUID;var d=this.m_velayermanager.VE_LayerManager;d.AddCollection(null,a);if(!a.GetVisibility()){return}if(typeof c!="undefined"&&c==true){var b=a.GetBoundingBox(),e=[new Msn.VE.LatLong(b.y1,b.x1),new Msn.VE.LatLong(b.y2,b.x2)];this.vemapcontrol.SetBestMapView(e)}this.m_vegraphicsmanager.DrawLayer(a)};VEMap.prototype.DeleteShapeLayer=function(a){VEValidator.ValidateObject(a,"shpLyr",VEShapeLayer,"VEShapeLayer");try{a._clusteringAlgorithm=null;a.DeleteAllShapes();a.DeleteClusterLayer();this.m_velayermanager.VE_LayerManager.RemoveCollection(a)}catch(b){}};VEMap.prototype.DeleteAllShapeLayers=function(){try{this.DeleteAllShapes();var d=[],c=this.GetShapeLayerCount();for(var a=0;a<c;a++){var b=this.GetShapeLayerByIndex(a);if(b._isClusterLayer){this.DeleteShapeLayer(b);a--;c--}b._clusterLayer=null}this.m_velayermanager.VE_LayerManager.DeleteAll()}catch(e){}};VEMap.prototype.DeleteAllShapes=function(){try{this.m_vegraphicsmanager.ClearAll();var b=this.m_velayermanager.VE_LayerManager,c=b.GetCollectionCount();for(var a=0;a<c;a++){b.GetCollectionByIndex(a).DeleteAllShapes()}}catch(d){}};VEMap.prototype.ShowAllShapeLayers=function(){this.m_velayermanager.ShowAllLayers()};VEMap.prototype.HideAllShapeLayers=function(){this.m_vegraphicsmanager.ClearAll();this.m_velayermanager.VE_LayerManager.SetVisibility(false)
};VEMap.prototype.GetShapeLayerByIndex=function(b){if(typeof b=="undefined"||this.m_velayermanager==null){return null}var a=null;a=this.m_velayermanager.VE_LayerManager.GetCollectionByIndex(b);if(a){a._mapGuid=this.GUID}return a};VEMap.prototype.GetShapeLayerCount=function(){if(this.m_velayermanager==null){return 0}return this.m_velayermanager.VE_LayerManager.GetCollectionCount()};VEMap.prototype.AddCustomLayer=function(b){var a=g(this.mapelement).select(".MSVE_Map").element();if(a){a.appendChild(b)}};VEMap.prototype.RemoveCustomLayer=function(b){var a=g(this.mapelement).select(".MSVE_Map").element();if(a){a.removeChild(b)}};VEModelFormat=new function(){this.OBJ="obj"};VEModelStatusCode=new function(){this.Success="Success";this.InvalidURL="InvalidURL";this.Failed="Failed"};function VEModelSourceSpecification(b,c,a){this.Format=null;this.Layer=null;this.ModelSource=null;if(typeof b=="undefined"||b==null){this.Format=VEModelFormat.OBJ}else{if(b===VEModelFormat.OBJ){this.Format=b}else{throw new VEException("VEModelSourceSpecification","err_invalidargument",L_invalidargument_text.replace("%1","modelFormat").replace("%2","VEModelFormat"))}}if(typeof a=="object"&&a instanceof VEShapeLayer){this.Layer=a}else{if(typeof a!="undefined"&&a!=null){throw new VEException("VEModelSourceSpecification","err_invalidargument",L_invalidargument_text.replace("%1","layer").replace("%2","VEShapeLayer"))}}if(typeof c=="string"){this.ModelSource=c}else{throw new VEException("VEModelSourceSpecification","err_invalidargument",L_invalidargument_text.replace("%1","modelSource").replace("%2","String"))}}function VEModelScale(a,b,c){this.X=this.Y=this.Z=1;if(typeof a!="undefined"&&a!=null){VEValidator.ValidateFloat(a,"x");this.X=parseFloat(a)}var d=typeof b!="undefined"&&b!=null,e=typeof c!="undefined"&&c!=null;if(!d&&!e){this.Y=this.Z=this.X}if(d){VEValidator.ValidateFloat(b,"y");this.Y=parseFloat(b)}if(e){VEValidator.ValidateFloat(c,"z");this.Z=parseFloat(c)}}VEModelScaleUnit=new function(){this.Inches=0.0254;this.Feet=0.3048;this.Yards=0.9144;
this.Millimeters=0.001;this.Centimeters=0.01;this.Meters=1};function VEModelOrientation(a,c,b){this.Heading=0;this.Tilt=0;this.Roll=0;if(typeof a!="undefined"&&a!=null){VEValidator.ValidateFloat(a,"heading");this.Heading=parseFloat(a)}if(typeof c!="undefined"&&c!=null){VEValidator.ValidateFloat(c,"tilt");this.Tilt=parseFloat(c)}if(typeof b!="undefined"&&b!=null){VEValidator.ValidateFloat(b,"roll");this.Roll=parseFloat(b)}}VEDataType=new function(){this.VECollection="c";this.GeoRSS="g";this.VETileSource="t";this.ImportXML="i"};function VEShapeSourceSpecification(a,c,b){this.Type=null;this.Layer=null;this.LayerSource=null;this.Method="Get";this.FnCallback=null;this.SetsBestMapView=true;this.Success=false;this.MaxImportedShapes=Msn.VE.API.Globals.vedefaultmaximportedshapes;if(typeof a=="string"&&(a=="c"||a=="g"||a==VEDataType.ImportXML)){this.Type=a}else{throw new VEException("VEShapeSourceSpecification","err_invalidargument",L_invalidargument_text.replace("%1","type").replace("%2","VEDataType"))}if(typeof b=="object"&&b instanceof VEShapeLayer){this.Layer=b}if(typeof c=="string"){this.LayerSource=c}else{throw new VEException("VEShapeSourceSpecification","err_invalidargument",L_invalidargument_text.replace("%1","layerSource").replace("%2","String"))}}function VELayerManager(c){var a=this;VEValidator.ValidateNonNull(c,"vemap");this.m_vemap=c;this.m_vemapcontrol=this.m_vemap.vemapcontrol;this.m_veLatLongDecoder=new _xy1;this.m_spec=new VELatLongFactorySpecFromMap(this.m_vemap);var e=new VELatLongFactory(this.m_spec);this.VE_LayerManager=new Msn.VE.Core.LayerManager;var b=null;if(a.m_vemap.m_vegraphicsmanager){a.m_vemap.m_vegraphicsmanager.InitLayerManager(this)}this.ImportLayer=function(a,d,c){a.Method="Get";if(typeof d=="function"){a.FnCallback=d}if(typeof c!="undefined"&&c!=null){a.SetsBestMapView=c}if(typeof a.Layer!="object"||!(a.Layer instanceof VEShapeLayer)){a.Layer=this.VE_LayerManager.GetCollectionByIndex(0)}else{if(a.Layer._mapGuid==null){a.Layer._mapGuid=this.m_vemap.GUID;this.VE_LayerManager.AddCollection(null,a.Layer)
}else{if(a.Layer._mapGuid!=this.m_vemap.GUID){throw new VEException("VEMap:AddLayer","err_invalidlayertype",L_invalidlayertype_text)}}}a.Layer.Spec=a;if(a.Type==VEDataType.GeoRSS){if(b==null){b=new Msn.Drawing.MapGeoRssReader}this.AddGeoRSSLayer(a.Layer)}else{if(a.Type==VEDataType.VECollection){this.AddVECollectionLayer(a.Layer)}else{if(a.Type==VEDataType.ImportXML){this.AddVEImportedLayer(a.Layer)}else{throw new VEException("VEMap:ImportShapeLayerData","err_invalidlayertype",L_invalidlayertype_text)}}}};this.AddGeoRSSLayer=function(b){try{VENetwork.DownloadXml(b.Spec.LayerSource,b.Spec.Method,a.RetrieveGeoRSSCallback,b.GetId())}catch(c){throw c}};this.AddVECollectionLayer=function(d){try{var b=d;b.SetMsnId(d.Spec.LayerSource);var a=[];a.push(new VEParameter(Msn.VE.API.Constants.clienttoken,this.m_vemap._GetCredentials()));a.push(new VEParameter("mapguid",this.m_vemap.GUID));a.push(new VEParameter("action","retrieveCollection"));a.push(new VEParameter(VE_CollectionsManagerConstants.C_Id,b.Spec.LayerSource));var e="VEMap._GetMapFromGUID('"+this.m_vemap.GUID+"')._lm.RetrieveCollectionCallback";a.push(new VEParameter(Msn.VE.API.Constants.rim,e));a.push(new VEParameter(Msn.VE.API.Constants.rimargs,"'"+b.GetId()+"'"));a.push(new VEParameter(Msn.VE.API.Constants.market,Msn.VE.API.Globals.locale));var c=new VENetwork;c.ServiceUrl=Msn.VE.API.Constants.collectionservice;c.BeginInvoke(null,a,_VEAPIOnImportLayerDataCallback,this.m_vemap.GUID+"_"+b.GetId())}catch(f){throw f}};this.AddVEImportedLayer=function(a){VEValidator.ValidateNonNegativeInt(a.Spec.MaxImportedShapes,"VEShapeSourceSpecification.MaxImportedShapes");if(a.Spec.MaxImportedShapes==0){a.Spec.MaxImportedShapes=Msn.VE.API.Globals.vedefaultmaximportedshapes}else{a.Spec.MaxImportedShapes=parseInt(a.Spec.MaxImportedShapes)}try{var b=[];a.SetMsnId(a.GetId());b.push(new VEParameter(Msn.VE.API.Constants.clienttoken,this.m_vemap._GetCredentials()));b.push(new VEParameter("mapguid",this.m_vemap.GUID));b.push(new VEParameter("action","importcol"));b.push(new VEParameter("saveimport","v"));
b.push(new VEParameter(VE_CollectionsManagerConstants.C_Id,a.GetId()));b.push(new VEParameter("mapurl",IOSec.EncodeUrl(a.Spec.LayerSource)));var d="VEMap._GetMapFromGUID('"+this.m_vemap.GUID+"')._lm.RetrieveImportedCallback";b.push(new VEParameter(Msn.VE.API.Constants.rim,d));b.push(new VEParameter(Msn.VE.API.Constants.rimargs,"'"+a.GetId()+"'"));b.push(new VEParameter(Msn.VE.API.Constants.market,Msn.VE.API.Globals.locale));b.push(new VEParameter(Msn.VE.API.Constants.maximportedshapes,a.Spec.MaxImportedShapes));var c=new VENetwork;c.ServiceUrl=Msn.VE.API.Constants.collectionservice;c.BeginInvoke(null,b,_VEAPIOnImportLayerDataCallback,this.m_vemap.GUID+"_"+a.GetId())}catch(e){throw e}};this.ImportModelLayer=function(c,j,b,e,f){if(typeof b!="object"||!(b instanceof VELatLong)){throw new VEException("VEMap:Import3DModel","err_invalidargument",L_invalidargument_text.replace("%1","latLong").replace("%2","VELatLong"))}var h=typeof e!="undefined"&&e!=null;if(h&&(typeof e!="object"||!(e instanceof VEModelOrientation))){throw new VEException("VEMap:Import3DModel","err_invalidargument",L_invalidargument_text.replace("%1","orientation").replace("%2","VEModelOrientation"))}var i=typeof f!="undefined"&&f!=null;if(i&&(typeof f!="object"||!(f instanceof VEModelScale))){throw new VEException("VEMap:Import3DModel","err_invalidargument",L_invalidargument_text.replace("%1","scale").replace("%2","VEModelScale"))}if(typeof c.Layer!="object"||!(c.Layer instanceof VEShapeLayer)){c.Layer=this.VE_LayerManager.GetCollectionByIndex(0);c.Layer._mapGuid=this.m_vemap.GUID}else{if(c.Layer._mapGuid==null){c.Layer._mapGuid=this.m_vemap.GUID;this.VE_LayerManager.AddCollection(null,c.Layer)}else{if(c.Layer._mapGuid!=this.m_vemap.GUID){throw new VEException("VEMap:Import3DModel","err_invalidlayertype",L_invalidlayertype_text)}}}try{b.AltitudeMode=VEAltitudeMode.RelativeToGround;var a=new VEShape(VEShapeType.Pushpin,b),d="";d=d.concat("modelUrl=",c.ModelSource,";latitude=",b.Latitude,";longitude=",b.Longitude);if(b.HasAltitude()){d=d.concat(";altitude=",b.Altitude)
}if(i){d=d.concat(";xScale=",f.X,";yScale=",f.Y,";zScale=",f.Z)}if(h){d=d.concat(";xRotation=",e.Tilt,";yRotation=",e.Roll,";zRotation=",e.Heading)}var g=new VE_3DModelData;g.Properties=d;if(typeof j=="function"){g.Callback=j}a.ModelData=g;a.Latitude=b.Latitude;a.Longitude=b.Longitude;a.Url="";a.IconId="";a.Notes="";a.SetDisplayOrder(0);a.SetIndex(0);a.Title="";a.minZoomLevel=15;c.Layer.AddShape(a);return a}catch(k){throw k}};function d(a){if(!document.all){var c=new DOMParser;return c.parseFromString(a,"text/xml")}else{var b=new ActiveXObject("Msxml2.DOMDocument");b.loadXML(a);return b}}this.RetrieveGeoRSSCallback=function(f,g){var c=a.VE_LayerManager.RetrieveCollectionById(g),e=false;try{e=b.ReadGeoRSS(f,c)}catch(i){a.m_vemap.ShowMessage(i.message||L_loadxml_text);return}if(!e){a.m_vemap.ShowMessage(L_loadxml_text);return}if(c.GetVisibility()){if(c.Spec.SetsBestMapView&&c.GetShapeCount()>0){var d=c.GetBoundingBox(),h=[new Msn.VE.LatLong(d.y1,d.x1),new Msn.VE.LatLong(d.y2,d.x2)];a.m_vemapcontrol.SetBestMapView(h)}a.m_vemap.m_vegraphicsmanager.DrawLayer(c)}if(typeof c.Spec.FnCallback=="function"){c.Spec.FnCallback(c)}};this.RetrieveImportedCallback=function(a,b){var c=parseInt(a);if(isNaN(c)){this.RetrieveCollectionCallback(a,b)}};this.RetrieveCollectionCallback=function(f,g){var h=d(f),b=a.VE_LayerManager.RetrieveCollectionById(g);if(!b){return}b.Spec.Success=true;var e=new VE_MapRequestBean(MC_ACTION_RETRIEVE_COLLECTION);VE_MapCmlReader.ExtractCollections(e,h,this.VE_LayerManager);if(b.GetVisibility()){if(b.Spec.SetsBestMapView&&b.GetShapeCount()>0){var c=b.GetBoundingBox(),i=[new Msn.VE.LatLong(c.y1,c.x1),new Msn.VE.LatLong(c.y2,c.x2)];a.m_vemapcontrol.SetBestMapView(i)}a.m_vemap.m_vegraphicsmanager.DrawLayer(b)}if(b.Spec.FnCallback!=null&&b.Spec.FnCallback!="undefined"){b.Spec.FnCallback(b)}};this.RetrieveAllAnnotationsCallback=function(){}}VELayerManager.prototype.Dispose=function(){this.m_vemap.m_vegraphicsmanager.ClearAll();this.VE_LayerManager.DeleteAll();this.m_vemapcontrol=null;this.m_vemap=null;this.m_veLatLongDecoder=null;
this.m_spec=null;this.VE_LayerManager.Dispose();this.VE_LayerManager=null};VELayerManager.prototype.ShowAllLayers=function(){this.VE_LayerManager.SetVisibility(true);var b=[],e=this.VE_LayerManager.GetCollectionCount();for(var c=0;c<e;++c){var d=this.VE_LayerManager.GetCollectionByIndex(c);if(d.GetShapeCount()>0){var a=d.GetBoundingBox();if(a!=null){b.push(new Msn.VE.LatLong(a.y1,a.x1));b.push(new Msn.VE.LatLong(a.y2,a.x2))}}}if(b.length>=2){this.m_vemapcontrol.SetBestMapView(b)}this.m_vemap.m_vegraphicsmanager.DrawAll()};function _VEAPIOnImportLayerDataCallback(h,a){try{if(typeof a=="string"&&a.length>2){var g=a.length,c=a.indexOf("_");if(c<0||c>g-2){return}var f=a.substring(0,c),e=a.substring(c+1),d=VEMap._GetMapFromGUID(f)._lm,b=d.VE_LayerManager.RetrieveCollectionById(e);if(!b.Spec.Success){if(typeof b.Spec.FnCallback=="function"){b.Spec.FnCallback(b,L_loadxml_text)}else{d.m_vemap.ShowMessage(L_loadxml_text)}}}}catch(i){throw i;return}}function VECreateVEShapeERO(b,d){if(b._IconContent==null){var a=[],f=b.GetPrimitive(0),e=f.iid;if(f.type!=VEShapeType.Pushpin){e=Msn.Drawing.GetLabelUID(e)}var c=b._customIcon;if(c==null){c=b.IconUrl}if(c.indexOf("<")<0){c='<img src="'+c+'" />'}a.push("<div onmouseout='if (VEMap._GetMapFromGUID(");a.push(d);a.push(").FireEvent(\"onmouseout\"))return;VEHideVEShapeERO(false);' onmouseover='if (VEMap._GetMapFromGUID(");a.push(d);a.push(').FireEvent("onmouseover"))return;VEShowVEShapeERO("');a.push(e);a.push('",');a.push(d);a.push(");' onmousedown='if (VEMap._GetMapFromGUID(");a.push(d);a.push(').FireEvent("onmousedown"))return;VEDragVEShapeDown("');a.push(e);a.push('",');a.push(d);a.push(");'> ");a.push(c);a.push("</div>");b._IconContent=a.join("")}return b._IconContent}function VEDragVEShapeDown(f,e){var a=GetVEMapInstance(e);if(a==null){return}if(a.m_velayermanager==null){return}var b=a.m_velayermanager.VE_LayerManager;if(!b){return}annotation=b.GetAnnotationById(f);if(!annotation){return}if(annotation.Draggable){if(typeof annotation.onstartdrag=="function"){annotation.onstartdrag(new ShapeDragEventArgs(annotation,annotation.GetIconAnchor()))
}function c(c){var b=a.PixelToLatLong(new VEPixel(c.mapX,c.mapY));if(typeof annotation.ondrag!="function"||!(annotation.ondrag(new ShapeDragEventArgs(annotation,b))==true)){annotation.SetIconAnchor(b)}return true}function d(){a.DetachEvent("onmousemove",c);a.DetachEvent("onmouseup",d);if(typeof annotation.onenddrag=="function"){annotation.onenddrag(new ShapeDragEventArgs(annotation,annotation.GetIconAnchor()))}}a.AttachEvent("onmousemove",c);a.AttachEvent("onmouseup",d)}}function VEShowVEShapeERO(m,q,h,p,f,g){var j=GetVEMapInstance(q);if(j==null){return}var a=null,s=null,r=null;if(typeof p=="object"){a=p}else{if(j.m_velayermanager==null){return}var k=null;k=j.m_velayermanager.VE_LayerManager;if(!k){return}a=k.GetAnnotationById(m);if(!a){return}}if(!a._eroContent){var l=false,e=a.Title,d=a.Notes,n=IOSec.GetValidatedUrl(a.Url),i=IOSec.GetValidatedUrl(a.PhotoUrl);r=a.Latitude;s=a.Longitude;var c="";if(typeof i=="string"&&i.length>1){c=c.concat('<a href="" onclick="window.open(\'',i,"', '_blank' , 'menubar=0,resizable=1,scrollbars=0,status=0,titlebar=0,toolbar=0,width=800,height=600,screenX=200,left=200,screenY=200,top=200');return false;\">");c=c.concat('<img class="ero-previewArea-image" id=eroImg_',m,' src="',IOSec.EncodeHtml(i),'"/></a>')}e=c.concat(e);if(typeof n=="string"&&n.length>0){d=d.concat("<p><a href='",n,'\' class="VE_Pushpin_Popup_Link" target=_blank>. . .</a></p>')}var b=[];b.push("<p>");if(e.length>0){b.push('<div class="VE_Pushpin_Popup_Title">');b.push(unescape(e));b.push("</div>");l=true}if(d.length>0){b.push('<div class="VE_Pushpin_Popup_Body">');b.push(unescape(d));b.push("</div>");l=true}if(!document.all&&(e.length==0||d.length==0)){b.push("<br/><br/>")}b.push("</p>");if(l){a._eroContent=b.join("")}else{a._eroContent=""}}eroContent=a._eroContent;if(eroContent.length>0){window.ero.setContent(eroContent);if(j.GetMapMode()==Msn.VE.MapActionMode.Mode2D){if(typeof f=="number"&&typeof g=="number"){var h=new Msn.VE.Geometry.Rectangle(new Msn.VE.Geometry.Point(f,g),new Msn.VE.Geometry.Point(f,g));window.ero.dockToRect(h,null,-1)
}else{var o=$ID(m);if(o!=null&&o!="undefined"){window.ero.setBoundingArea(null);window.ero.getBoundingArea().move(Gimme.Screen.getScrollPosition());window.ero.dockToElement(o)}}}else{if(typeof h=="undefined"||h==null){h=new Msn.VE.Geometry.Rectangle(new Msn.VE.Geometry.Point(f,g),new Msn.VE.Geometry.Point(f,g))}ero.setGlitz(false,false,false,true);window.ero.dockToRect(h,null,-1)}}}function VEHideVEShapeERO(a){if(window.ero!=null){if(a=="undefined"||a==null){a=false}window.ero.hide(a)}}var _VECustomInfoBox={ContainerNoBeak:"customInfoBox-noBeak",ContainerRightBeak:"customInfoBox-with-rightBeak",ContainerLeftBeak:"customInfoBox-with-leftBeak",Beak:"customInfoBox-beak",Shadow:"customInfoBox-shadow",Body:"customInfoBox-body",Actions:"customInfoBox-actions",ActionsBackground:"customInfoBox-actionsBackground",PreviewArea:"customInfoBox-previewArea",PaddingHack:"customInfoBox-paddingHack",ProgressAnimation:"customInfoBox-progressAnimation"};function VE_GetGeoCommunityUrl(a){if(a){return MC_GEOCOMMUNITY_SERVICEURL}else{return"GeoCommunity.asjx"}}function VE_IsLargeData(a){if(a.length>MC_GEOCOMMUNITY_SIZELIMIT-2048){return true}return false}var MC_GEOCOMMUNITY_SIZELIMIT=204800,MC_GEOCOMMUNITY_SERVICEURL="GeoCommunity.asjx",MC_VESHAPE_EMPTY=-1777,MC_VIEW_BUFFER=1,MC_STYLE_PINZIndex=300,MC_IID_NAMESPACE="msftve",MC_IID_CON_TOKEN="_",MC_GEO_TYPE_MULTIGEOMETRY="Multigeometry",MC_GEO_TYPE_FREEHAND="Freehand",MC_STYLE_FILL_COLOR="fillcolor",MC_STYLE_STROKE_COLOR="strokecolor",MC_STYLE_STROKE_WEIGHT="strokeweight",MC_STYLE_STROKE_STYLE="stroke-style",MC_STYLE_STROKE_DASH="stroke-dashstyle",MC_STYLE_FONT_COLOR="font_color",MC_STYLE_STROKE_ARROW="stroke_arrow",MC_STYLE_FONT_ITALIC="font_italic",MC_STYLE_FONT_UNDERSCORE="font_underscore",MC_STYLE_FONT_BOLD="font_bold",STATE_DEFAULT=0,STATE_DRAWING=1,STATE_EDITING=2,MC_DRAW_DEFAULT=100,MC_DRAW_POINT=101,MC_DRAW_POLYLINE=102,MC_DRAW_POLYGON=103,MC_DRAW_RECT=104,MC_DRAW_CIRCLE=105,MC_DRAW_TEXT=1065,MC_DRAW_MODEL=1066,MC_EDIT_ADDNODE=107,MC_EDIT_DELNODE=108,MC_EDIT_MOVENODE=108,MC_EDIT_SELNODE=109,MC_EDIT_SELEDGE=110,MC_EDIT_CONTINUELINE=111,MC_LABEL_VIEWER="viewer",MC_PROPERTY_DEFAULT=0,MC_PROPERTY_HIGHWAY=1,MC_PROPERTY_ROAD=2,MC_PROPERTY_LAKE=3,MC_PROPERTY_PARK=4,MC_PROPERTY_PARKINGLOT=5,MC_PROPERTY_PUSHPIN=6,MC_PROPERTY_TEMPDRAW=7,MC_PROPERTY_TEMPEDIT=8,MC_PROPERTY_EDITNODE=10,MC_PROPERTY_EDITSELNODE=11,MC_PROPERTY_GHOSTNODE=12,MC_NUMBERFORMAT_NUMBEROFDIGITSAFTERDOT=2,MC_NUMBERFORMAT_ZEROSTRING="0",MC_DECIMALROUNDOFF_THRESHOLD=100,MC_CML_ENTITY_NAME="Entity",MC_CML_ENTITY_PRIMITIVES="Primitives",MC_CML_ENTITY_PRIMITIVE="Primitive",MC_CML_ENTITY_COORDINATES="coordinates",MC_CML_DESCRIPTION="Description",MC_CML_TAGS="Tags",MC_CML_VIEWPORT="ViewPort",MC_CML_TOUR="Tour",MC_CML_PITCH="pitch",MC_CML_HEADING="heading",MC_CML_MAPSTYLE="mapstyle",MC_CML_SCENEID="sceneId",MC_CML_ACTIONS="Actions",MC_CML_ACTION="Action",MC_CML_MODELREP="ModelRep",MC_CML_TRANSFORM="transform",MC_CML_MODELREFID="modelRefId",MC_CML_ENTITY_TYPE_PUSHPIN="pushpin",MC_CML_PROPERTYS="Properties",MC_CML_PROPERTY="Property",MC_CML_MINBOUNDS="minbounds",MC_CML_MAXBOUNDS="maxbounds",MC_CML_R2EOFFSET="r2eoffset",MC_CML_PHOTOS="Photos",MC_CML_PHOTO="Photo",MC_CML_PREAUTHURL="PreAuthUrl",MC_CML_PUBLISHER="publisher",MC_CML_PROPERTY_ROUTABLELATITUDE="RoutableLatitude",MC_CML_PROPERTY_ROUTABLELONGITUDE="RoutableLongitude",MC_CML_PROPERTY_ICONURL="iconurl",MC_CML_PROPERTY_KEYWORDS="keywords",MC_CML_PROPERTY_URL="url",MC_CML_PROPERTY_PHOTOURL="photourl",MC_CML_PROPERTY_USERDATE="userdate",MC_CML_PROPERTY_DISPLAYORDER="displayorder",MC_CML_PROPERTY_BUSINESSLISTINGID="businesslistingid",MC_CML_PROPERTY_MAPSERVICETYPE="mapserviceType",MC_CML_PROPERTY_MAPSERVICESOURCE="mapserviceSource",MC_CML_PROPERTY_MAPSERVICEOPACITY="mapserviceOpacity",MC_CML_PROPERTY_MAPSERVICEMETADATA="mapserviceMetadata",MC_CML_PROPERTY_MAPSERVICESTATUS="mapserviceStatus",MC_CML_PROPERTY_SOURCEURL="sourceurl",MC_CML_PROPERTY_SOURCETYPE="sourcetype",MC_CML_TILEID="tileId",MC_CML_PROPERTY_TYPE="type",MC_CML_LASTMODIFIED="DateModified",MC_CML_DATECREATED="DateCreated",MC_CML_ROOT="CML",MC_CML_SEPERT="/",MC_CML_TOKEN=",",MC_CML_VERSION="0.1",MC_CML_ID="id",MC_CML_IID="clientid",MC_CML_NAME="name",MC_CML_CULTURE="culture",MC_CML_SHARELEVEL="Sharelevel",MC_CML_STATE="State",MC_CML_STATE_PUBLIC_CAN_VIEW=1,MC_CML_STATE_OWNER_CAN_VIEW=2,MC_CML_STATE_OWNER_CAN_UPDATE=4,MC_CML_STATE_OWNER_IS_VIEWING=8,MC_CML_TYPE="Type",MC_CML_Add="Add",MC_CML_EXTRUSION="Extrusion",MC_CML_VISIBILITY="visibility",MC_CML_DISPLAYORDER="displayorder",MC_CML_DEFAULTSTYLE="DefaultStyle",MC_CML_LABELSTYLE="LabelStyle",MC_CML_POSITION="Position",MC_CML_STYLE="Style",MC_CML_FILLSYMBOL="Fill",MC_CML_SHAPESYMBOL="Shape",MC_CML_STYLESYMBOL="Style",MC_CML_STROKESYMBOL="Stroke",MC_CML_SHADOWSYMBOL="Shadow",MC_CML_IMAGEDATASYMBOL="Imagedata",MC_CML_ZOOMLEVEL="zoomlevel",MC_CML_ONSCRATCHPAD="onScratchpad",MC_CML_TOKEN1=",",MC_CML_TOKEN2=":",MC_CML_TOKEN3=";",MC_CML_CONTENTS="Contents",MC_CML_CONTENT="Content",MC_CML_SIMPLEHTML="SimpleHTML",MC_CML_GLINK="glink",MC_CML_COLLECTIONS="Collections",MC_CML_COLLECTION="Collection",MC_CML_ENTITY="Entity",MC_CML_MULTIGEOMETRY="MultiGeometry",MC_CML_POLYGON="Polygon",MC_CML_OUTLS="outerBoundaryIs",MC_CML_ITLS="interBoundaryIs",MC_CML_LINEARSTRING="LinearRing",MC_CML_POLYLINE="LineString",MC_CML_LENGTH="length",MC_CML_AREA="area",MC_CML_HREF="href",MC_CML_POINT="Point",MC_CML_COORDS="coordinates",MC_CML_ALTITUDE="altitudes",MC_CML_ALTITUDEMODE="altitudemode",MC_CML_ALTGROUND="Ground",MC_CML_ALTDATUM="Datum",MC_CML_EXTRUDE="extruded",MC_CML_KEY="key",MC_CML_VALUE="value",MC_CML_CLIENTDATA="ClientData",MC_CML_EXCOL_PREFIX="E*",MC_CML_IMPORT_DATAURL="mapurl",MC_CML_IMPORT_SAVESTATUS="saveimport",MC_CML_IMPORT_COLNAME="colname",MC_CML_IMPORT_REPORT="importreport",MC_CML_IMPORT_FILEUPLOAD="fileupload",MC_CML_CID_LIST="cids",MC_ACTION_IMPORT_COLLECTION="ImportCol",MC_ACTION_IMPORT_ENTITY="ImportEntity",MC_ACTION_CLONE_ENTITY="CloneEntity",MC_ACTION_CREATE_COLLECTION="CreateCollection",MC_ACTION_UPDATE_COLLECTION="UpdateCollection",MC_ACTION_DELETE_COLLECTION="DeleteCollection",MC_ACTION_CLEAR_COLLECTION="ClearCollection",MC_ACTION_RETRIEVE_ALLCOLLECTIONS="RetrieveAllCollections",MC_ACTION_RETRIEVE_ALLCOLLECTIONS_METADATA="RetrieveAllCollectionsMetadata",MC_ACTION_RETRIEVE_COLLECTION="RetrieveCollection",MC_ACTION_RETRIEVE_SHAREDCOLLECTION="RetrieveSharedCollection",MC_ACTION_DELETE_ENTITY="DeleteEntity",MC_ACTION_ADD_ENTITY="AddEntity",MC_FCCALLBACK="fncallback",MC_ACTION_REPAINT="Repaint",MC_ACTION_CREATE_PHOTO="CreatePhoto",MC_ACTION_DELETE_PHOTO="DeletePhoto",MC_CHANGE_STATE_UPDATE=1,MC_CHANGE_STATE_DELETE=2,MC_CHANGE_STATE_CREATE=3,MC_CHANGE_STATE_CLONE=4,MC_CHANGE_STATE_MOVE=5,MC_CHANGE_STATE_DEFAULT=0,MC_CHANGE_TYPE_METADATA=1,MC_CHANGE_TYPE_CHILDREN=2,MC_CHANGE_TYPE_ALL=3,MC_MAPSERVICE_STATUS_NONE=0,MC_MAPSERVICE_STATUS_ERROR=1,MC_MAPSERVICE_STATUS_READY=2,MC_MAPSERVICE_STATUS_FETCH=3,MC_MAPSERVICE_ARG_SERVICETYPE="svc",MC_MAPSERVICE_ARG_COLLECTIONID="cid",MC_MAPSERVICE_ARG_ENTITYID="eid",MC_COLLECTION_SIGNIN_SIZE=2048,MC_MAXSHAPEPOINTS_IN_EMAIL=200,MC_MAX_EMAIL_LINK_LEN=1800,MC_MIN_EMAIL_NOTES_LEN=100,MC_MAX_DRILL_SIZE=200,MC_TIMER_KEEPTRYING="keeptrying",MC_TIMER_MINDELAY=0,MC_TIMER_DELAY=3000,MC_TIMER_REPEAT_DELAY=3000,MC_TIMER_NOW=10,MC_TIMER_EXTENDDELAY=5000,MC_TIMER_EXTENDDELAY_CN=100000,MC_REQUEST_QUEUE_MAXSIZE=20,MC_TIMER_VALUE="DELAYVALUE",MC_UPLOAD_TIMEOUT=90000,MC_KVP_COLLIST="COLLIST",MC_KVP_COL_MSNID="COL_MSNID",MC_KVP_COL_MSNID2="COL_MSNID2",MC_KVP_COL="COL",MC_KVP_COL_CLIENTDATA="COL_CLIENTDATA",MC_KVP_ENTITY_MSNID="ENTITY_MSNID",MC_KVP_ENTITYLIST="ENTITYLIST",MC_KVP_ENTITY="ENTITY",MC_KVP_SERVER_STATUS="req_status",MC_KVP_SETBESTMAPVIEW="set_best_view",MC_KVP_VIEWTOUR="view_tour",MC_KVP_CML="CML",MC_COLLECTIONLIST_UL_ID="sp_collection_list",MC_SCRATCHPADITEM_LI_SUFFIX="_li",MC_SCRATCHPADITEM_MEASURE_SUFFIX="_m",MC_SIGNIN="Signin",MC_SCRATCHPAD_DRAGCURSOR="move",MC_SCRATCHPAD_DRAGGEDSTYLE="DraggedLI",MC_SCRATCHPAD_COLLECTIONLISTDIV_ID="scratchPadCollectionListWrapper",MC_SCRATCHPAD_WRAPLEN_TITLE=22,MC_SCRATCHPAD_WRAPLEN_DESC=26,MC_CV_WRAPLEN_COLLECTIONDESC=28,MC_CV_WRAPLEN_TITLE=22,MC_CV_WRAPLEN_DESC=22,MC_ERO_WRAPLEN_TITLE=22,MC_ERO_WRAPLEN_DESC=28,MC_SERVER_STATUS_NO_ACCESS="not authorized",MC_SERVER_STATUS_BUSY="server busy",MC_SERVER_STATUS_OK="200",MC_SERVER_STATUS_STORE_ERROR="570",MC_SERVER_STATUS_NAMEEXIST_ERROR="571",MC_SERVER_STATUS_QUOTA_ERROR="572",MC_SERVER_STATUS_UNEXPECTED_ERROR="500",MC_SERVER_STATUS_ACCESSDENIED_ERROR="403",MC_SERVER_STATUS_CONTAINSSENSITIVEWORDS_ERROR="581",MC_COL_TYPE_FAVORITE=1,MC_COL_TYPE_COLLECTION=0,MC_COL_TYPE_RESULT=2,MC_COL_TYPE_TRAFFIC=3,MC_COL_TYPE_DRIVING=4,MC_COL_TYPE_RSSFEED=5,MC_COL_TYPE_TILEIMAGE=6,MC_DS_MSN_CML=0,MC_DS_FILE_CML=1,MC_DS_MSN_VEML=2,MC_MAX_LOADED_COLS=2,MC_MAX_COL_SIZE=200,cssCursors,MC_SA_NEWCOL="newcol",MC_SA_IMPORT="import",MC_SA_UPLOADPHOTO="uploadphoto",MC_SA_REFRESH="forcedrefresh";
function VE_MapStruct(){}VE_MapStruct.PushpinType={ViewerClass:"VE_Community_searchResult",PushpinClass:"VE_Pushpin",Token:" ",PushpinAn:"VE_Pushpin VE_Pushpin_aN",Polyline:"VE_Pushpin VE_Pushpin_Polyline",Polygon:"VE_Pushpin VE_Pushpin_Polygon",Model:"VE_Pushpin VE_Pushpin_Model_viewer",Overlay:"VE_Pushpin VE_Pushpin_Overlay",PushpinViewer:"VE_Pushpin_viewer",PolylineViewer:"VE_Pushpin_Polyline_viewer",PolygonViewer:"VE_Pushpin_Polygon_viewer",ModelViewer:"VE_Pushpin_Model_viewer",OverlayViewer:"VE_Pushpin_Overlay_viewer",PushpinViewerTopMost:"VE_Pushpin_viewer topMost",PolylineViewerTopMost:"VE_Pushpin_Polyline_viewer polytopMost",PolygonViewerTopMost:"VE_Pushpin_Polyline_viewer polytopMost",ModelViewerTopMost:"VE_Pushpin_Model_viewer polytopMost",OverlayViewerTopMost:"VE_Pushpin_Overlay_viewer polytopMost",SearchResults:"searchResults"};VE_MapStruct.PushpinSize={WidthaN:22,HeightaN:17,WidthShp:22,HeightShp:-17,WidthLbl:-29,HeightLbl:-17,WidthView:22,HeightView:17,WidthShpView:22,HeightShpView:-17};_VERegisterNamespaces("Msn.VE.Core");Msn.VE.Core.Layer=function(){this.iid=null;this.MsnId=null;this.Name="unsaved collection";this.Type=0;this.Visibility=true;this.Boundingbox=null;this.MaxScale=21;this.MinScale=1;this.Spec=null};Msn.VE.Core.Layer.prototype.SetMsnId=function(a){this.MsnId=a};Msn.VE.Core.Layer.prototype.GetMsnId=function(){return this.MsnId};Msn.VE.Core.Layer.prototype.SetId=function(a){this.iid=a};Msn.VE.Core.Layer.prototype.GetId=function(){return this.iid};Msn.VE.Core.Layer.prototype.SetName=function(a){this.Name=a};Msn.VE.Core.Layer.prototype.GetName=function(){return this.Name};Msn.VE.Core.Layer.prototype.SetType=function(a){this.Type=a};Msn.VE.Core.Layer.prototype.GetType=function(){return this.Type};Msn.VE.Core.Layer.prototype.SetVisibility=function(a){this.Visibility=a};Msn.VE.Core.Layer.prototype.GetVisibility=function(){return this.Visibility};Msn.VE.Core.Layer.prototype.SetMaxZoomLevel=function(a){this.MaxScale=a};Msn.VE.Core.Layer.prototype.GetMaxZoomLevel=function(){return this.MaxScale};
Msn.VE.Core.Layer.prototype.SetMinZoomLevel=function(a){this.MinScale=a};Msn.VE.Core.Layer.prototype.GetMinZoomLevel=function(){return this.MinScale};Msn.VE.Core.Layer.prototype.SetBoundingBox=function(f,e,c,d,a,b){if(!this.Boundingbox){if(c==null||d==null||a==null||b==null){return null}this.Boundingbox=new Msn.VE.Bounds(f,e,c,d,a,b)}else{this.Boundingbox.x1=c;this.Boundingbox.y1=d;this.Boundingbox.z1=f;this.Boundingbox.x2=a;this.Boundingbox.y2=b;this.Boundingbox.z2=e}return this.Boundingbox};Msn.VE.Core.Layer.prototype.GetBoundingBox=function(){if(typeof this.Boundingbox=="undefined"||!this.Boundingbox){this.Boundingbox=new Msn.VE.Bounds(0,0,Infinity,Infinity,-Infinity,-Infinity)}return this.Boundingbox};Msn.VE.Core.VectorLayer=function(){};Msn.VE.Core.VectorLayer.prototype=new Msn.VE.Core.Layer;Msn.VE.Core.RasterLayer=function(){};Msn.VE.Core.RasterLayer.prototype=new Msn.VE.Core.Layer;function VELatLong(b,a,c,d){this.Latitude=null;this.Longitude=null;this.Altitude=null;this.AltitudeMode=null;this._reserved=null;if(b!=null){VEValidator.ValidateFloat(b,"latitude");this.Latitude=b}if(a!=null){VEValidator.ValidateFloat(a,"longitude");this.Longitude=a}if(c!=null){this.SetAltitude(c,d)}}VELatLong.prototype.SetAltitude=function(b,a){VEValidator.ValidateFloat(b,"altitude");this.Altitude=b;if(a!=null){VEValidator.ValidateAltitudeMode(a,"altitudeMode");this.AltitudeMode=a}else{this.AltitudeMode=VEAltitudeMode.Default}};VELatLong.prototype.HasAltitude=function(){return this.Altitude!=null};function Clone(){var a=new VELatLong;a.Latitude=this.Latitude;a.Longitude=this.Longitude;a._reserved=this._reserved;a.Altitude=this.Altitude;a.AltitudeMode=this.AltitudeMode;return a}function toString(){var a="";if(this.Latitude!=null&&this.Longitude!=null){a=this.Latitude+", "+this.Longitude}if(this.Altitude!=null){a+=", "+this.Altitude}return a}VELatLong.prototype.toString=toString;VELatLong.prototype.Clone=Clone;function VELatLongRectangle(d,c,b,a){VEValidator.ValidateObject(d,"topLeftLatLong",VELatLong,"VELatLong");VEValidator.ValidateObject(c,"bottomRightLatLong",VELatLong,"VELatLong");
this.TopLeftLatLong=d;this.BottomRightLatLong=c;if(b!=null&&b!="undefined"){VEValidator.ValidateObject(b,"topRightLatLong",VELatLong,"VELatLong");this.TopRightLatLong=b}if(a!=null&&a!="undefined"){VEValidator.ValidateObject(a,"bottomLeftLatLong",VELatLong,"VELatLong");this.BottomLeftLatLong=a}}VEAltitudeMode=new function(){this.Default="Ground";this.Absolute="Datum";this.RelativeToGround="Ground"};function VEValidator(){}VEValidator.ValidateFloat=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateFloat"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","float"))}try{if(isNaN(parseFloat(b))){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","float"))}return true}catch(d){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","float"))}};VEValidator.ValidateInt=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateInt"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","int"))}try{if(isNaN(parseInt(b))||parseFloat(b)!=parseInt(b)){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","int"))}return true}catch(d){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","int"))}};VEValidator.ValidateNonNegativeInt=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateNonNegativeInt"}if(a==null||a=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidnonnegativeint_text.replace("%1",c))}try{if(isNaN(parseInt(a))||parseFloat(a)!=parseInt(a)||parseInt(a)<0){throw new VEException(b,"err_invalidargument",L_invalidnonnegativeint_text.replace("%1",c))
}return true}catch(d){throw new VEException(b,"err_invalidargument",L_invalidnonnegativeint_text.replace("%1",c))}};VEValidator.ValidateFunction=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateFunction"}if(b==null||typeof b!="function"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","function"))}};VEValidator.ValidateNonNull=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateNonNull"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","non null"))}};VEValidator.ValidateBetween=function(b,e,d,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateBetween"}if(b<d||b>c){throw new VEException(a,"err_invalidargument",L_invalidbetweenint_text.replace("%1",e).replace("%2",d).replace("%3",c))}};VEValidator.ValidateBoolean=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateBoolean"}if(b!=true&&b!=false){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","bool"))}};VEValidator.ValidateMapStyle=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateMapStyle"}if(a==null||a=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapStyle"))}if(a=="r"||a=="R"||$MVEM.IsEnabled(MapControl.Features.MapStyle.Shaded)&&(a=="s"||a=="S")||$MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)&&(a=="a"||a=="A")||$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)&&(a=="o"||a=="O")||$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)&&(a=="b"||a=="B")||$MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)&&(a=="h"||a=="H")){return true
}throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapStyle"))};VEValidator.ValidateClusteringType=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateClusteringType"}if(a==null||a=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ClusteringType"))}if(typeof a=="number"&&(a==VEClusteringType.None||a==VEClusteringType.Grid)){return true}throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ClusteringType"))};VEValidator.ValidateMapMode=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a=""){a="VEValidator.ValidateMapMode"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapMode"))}if(b==VEMapMode.Mode2D||$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)&&b==VEMapMode.Mode3D){return true}throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","MapMode"))};VEValidator.ValidateDistanceUnit=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateDistanceUnit"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDistanceUnit"))}if(b==VEDistanceUnit.Miles||b==VEDistanceUnit.Kilometers){return true}throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDistanceUnit"))};VEValidator.ValidateMaxZoom=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateMaxZoom"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ValidateMaxZoom"))}if(b<=Msn.VE.API.Globals.vemaxzoom){return true
}throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","ValidateMaxZoom"))};VEValidator.ValidateLayerType=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateLayerType"}if(a==null||a=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDataType"))}if(a==VEDataType.GeoRSS||a==VEDataType.VECollection||a==VEDataType.VETileSource){return true}throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDataType"))};VEValidator.ValidateDashboardSize=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateDashboardSize"}if(a==null||a=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDashboardSize"))}if(a==VEDashboardSize.Normal||a==VEDashboardSize.Small||a==VEDashboardSize.Tiny){return true}throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEDashboardSize"))};VEValidator.ValidateMiniMapSize=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateMiniMapSize"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEMiniMapSize"))}if(b==VEMiniMapSize.Small||b==VEMiniMapSize.Large){return true}throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEMiniMapSize"))};VEValidator.ValidateAltitudeMode=function(b,c){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateAltitudeMode"}if(b==null){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEAltitudeMode"))}if(b!=VEAltitudeMode.Absolute&&b!=VEAltitudeMode.RelativeToGround){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEAltitudeMode"))
}return true};VEValidator.ValidateObject=function(b,c,e,d){var a="";if(arguments!=null&&arguments.caller!=null){a=VEValidator.GetCaller(arguments.caller)}if(a==""){a="VEValidator.ValidateObject"}if(b==null||b=="undefined"){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","non null"))}if(!(b instanceof e)){throw new VEException(a,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2",d))}};VEValidator.ValidateObjectArray=function(a,d,f,e){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateObject"}if(a==null||typeof a=="undefined"||a.length==null||typeof a.length=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",d).replace("%2","array"))}for(var c=0;c<a.length;++c){if(a[c]==null||typeof a[c]=="undefined"||!(a[c] instanceof f)){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",d).replace("%2",e))}}};VEValidator.ValidateOrientation=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)}if(b==""){b="VEValidator.ValidateOrientation"}if(a==null||a=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEOrientation"))}if(a!=VEOrientation.North&&a!=VEOrientation.East&&a!=VEOrientation.West&&a!=VEOrientation.South){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VEOrientation"))}};VEValidator.ValidateCacheMode=function(a,b){var c="VEValidator.ValidateCacheMode";if(a==null||a=="undefined"){throw new VEException(c,"err_invalidargument",L_invalidargument_text.replace("%1",b).replace("%2","VECacheMode"))}if(a!=VECacheMode.Auto&&a!=VECacheMode.EnableTileCaching){throw new VEException(c,"err_invalidargument",L_invalidargument_text.replace("%1",b).replace("%2","VECacheMode"))}};VEValidator.ValidateBounds=function(a,c){var b="";if(arguments!=null&&arguments.caller!=null){b=VEValidator.GetCaller(arguments.caller)
}if(b==""){b="VEValidator.ValidateBounds"}if(a==null||a=="undefined"){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VELatLongRectangle"))}if(a.TopLeftLatLong==null||a.BottomRightLatLong==null||a.TopLeftLatLong.Latitude<=a.BottomRightLatLong.Latitude||a.TopLeftLatLong.Longitude>=a.BottomRightLatLong.Longitude){throw new VEException(b,"err_invalidargument",L_invalidargument_text.replace("%1",c).replace("%2","VELatLongRectangle"))}};VEValidator.GetCaller=function(){return""};Msn.VE.Core.MapServiceLayerManager=function(){var a=[],v=200,b=null;MapOverlayNode=function(b,a){this.item=b;this.layers=a};function f(d){if(!d.IsOverlay()){return -1}var e=a.length;for(var c=0;c<e;c++){var b=a[c];if(b!=null&&b.item!=null&&(b.item==d||b.item.iid==d.iid)){return c}}return -1}function g(c){var b=f(c);return b!=-1?a[b]:null}function q(a){if(a==null||a.Annotations==null){return}if(b!=null&&a.MsnId!=b){d()}b=a.MsnId;var f=a.Annotations.length;for(var c=0;c<f;c++){e(a.Annotations[c])}}function p(a){if(a==null||a.Annotations==null){return}if(b!=null&&a.MsnId==b){d()}else{var e=a.Annotations.length;for(var c=0;c<e;c++){j(a.Annotations[c])}}b=null}function e(b){if(b==null||!b.IsOverlay()){return null}var c=m(b);if(c!=null){a.push(c)}return c}function j(e){var b=f(e);if(b==-1){return}var d=a[b];if(d==null){return}a.splice(b,1);c(d)}function c(c){if(c==null||c.layers==null){return}var b=[],e=c.layers.length-1;for(var a=e;a>=0;a--){var d=c.layers[a];if(d==null){continue}b.push(d.ID)}if(map.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){r(b)}var e=b.length;for(var a=0;a<e;a++){map.ClearTileLayer(b[a]);map.DeleteTileSource(b[a],true)}}function d(){for(var b=a.length;b>=0;b--){var d=a[b];a.splice(b,1);c(d)}}function o(a,d,b){if(!a.IsOverlay()){return}var c=g(a);return i(c,d,b)}function i(c,h,i){if(c==null||c.layers==null||c.layers.length==0){return}var a=[],m=c.layers.length;for(var g=0;g<m;g++){var d=c.layers[g];if(d==null||d.Bounds==null){continue}var k=d.Bounds.length;for(var f=0;f<k;f++){var b=d.Bounds[f];
if(b==null){continue}a.push(new Msn.VE.LatLong(b.TopLeftLatLong.Latitude,b.TopLeftLatLong.Longitude));a.push(new Msn.VE.LatLong(b.BottomRightLatLong.Latitude,b.BottomRightLatLong.Longitude));a.push(new Msn.VE.LatLong(b.TopRightLatLong.Latitude,b.TopRightLatLong.Longitude));a.push(new Msn.VE.LatLong(b.BottomLeftLatLong.Latitude,b.BottomLeftLatLong.Longitude));break}break}if(a.length<4){return}var e=VE_MapManager.GetSelectedCollection();if(typeof e!="undefined"&&e!=null&&e.GetMsnId()==h.MsnId){map.SetBestMapView(a)}if(!i){return}var j=new Msn.VE.LatLong((a[0].latitude+a[3].latitude)/2,(a[0].longitude+a[2].longitude)/2);if(l(c.item,j)){t(c.item,h)}}function l(d,c){var b=d.GetPrimitive(0);if(!b||!b.points||b.points.length<2){return false}var e=b.iid;if(!e){return false}var g=c.longitude-b.points[0],f=c.latitude-b.points[1];d.MovePrimitive(g,f);var a=scratchPad.getItems().retrieveByKey(e);if(a){scratchPad.updateItem(a,a.getTitle(),a.getDescription(),c.latitude,c.longitude,a.getInfoUrl(),a.getPhotoUrl(),a.getKeywords(),a.getMapserviceType(),a.getMapserviceSource(),a.getMapserviceOpacity())}return true}function t(a,b){if(a.mapserviceStatus==MC_MAPSERVICE_STATUS_FETCH){a.mapserviceStatus=MC_MAPSERVICE_STATUS_NONE}a.SetChangeState(MC_CHANGE_STATE_UPDATE);a.SetChangeType(MC_CHANGE_TYPE_ALL);b.UpdateEntityAnnotation(a);mvcViewFacade.OnEntityRepaint(a);VE_MapViewPreUpdate.HandleEntity(b,a)}function x(){return v}function w(){return a.length}function m(e){if(!e.IsOverlay()){return null}var W=map.IsModeEnabled(Msn.VE.MapActionMode.Mode3D),w=32,z=e.mapserviceMetadata.split("]");if(!z||z.length<=1){return null}var l=[],v=[],u=[],S=z.length;for(var q=0;q<S;q++){var m=z[q];if(!m||m.length<=1||m.charAt(0)!="["){continue}m=m.substring(1,m.length);var B=m.split("&");if(!B){continue}var G=B.length;for(var f=0;f<G;f++){var I=B[f];if(!I){continue}var t=I.split("=",2);if(!t||t.length!=2){continue}var H=t[0].trim().toLowerCase(),y=t[1];y=s(y);if(q==0){l[H]=y}else{if(f==0){v.push([])}var R=v[q-1];R[H]=y}}}var Q=l.type;if(Q!="VE"){return null
}var U=l.referencename,V=l.displayname,n=l.tilesource;if(n==null||n==""||typeof n=="undefined"){return null}n=n.replace(/%20/g," ");var i=l.minzoom;i=i==null||typeof i=="undefined"||i==""?1:parseInt(i);if(i<1||i>w){i=1}var d=l.maxzoom;d=d==null||typeof d=="undefined"||d==""?w:parseInt(d);if(d<1||d>w||d<D){d=w}var k=parseFloat(e.mapserviceOpacity);if(isNaN(k)||k<0||k>100){k=0.6}if(k>1){k/=100}var j=g(e),J="{VE_MapServiceLayer:"+e.mapserviceType+":"+e.iid+"}",T=v.length;for(var A=0;A<T;A++){var x=v[A],r=x.bbox;if(r==null||typeof r=="undefined"){continue}var b=r.split(",",4);if(b==null||typeof r=="undefined"||b.length!=4){continue}var O=new VELatLong(parseFloat(b[3]),parseFloat(b[0])),N=new VELatLong(parseFloat(b[1]),parseFloat(b[2])),P=new VELatLong(parseFloat(b[3]),parseFloat(b[2])),M=new VELatLong(parseFloat(b[1]),parseFloat(b[0])),K=new VELatLongRectangle(O,N,P,M),E=[];E.push(K);var D=x.minzoom,L=x.maxzoom,p=x.displayname;if(p==null||typeof p=="undefined"||p==""){p="{"+e.mapserviceType+":"+e.iid+":"+A.toString()+"}"}var C=J+":"+p,a=null;if(j!=null){var G=j.layers.length;for(var f=0;f<G;f++){if(j.layers[f].ID==C){a=j.layers[f];j.layers.splice(f,1);break}}}if(a==null){a=new VETileSourceSpecification;a.ID=C}if(a==null){continue}u.push(a);a.NumServers=1;a.TileSource=n;a.Opacity=k;a.MinZoomLevel=D;a.MaxZoomLevel=L;a.Bounds=E}var F=u.length;for(var o=0;o<F;o++){var a=u[o];map.SetTileSource(a);map.LoadTileLayer(a.ID,a.ID,a.Opacity,2)}h();if(j!=null){var F=j.layers.length;for(var o=0;o<F;o++){c(j.layers[o])}}return new MapOverlayNode(e,u)}function h(){var a=map.Get3DControl();if(typeof a!="undefined"&&a!=null){map.AddMapServiceLayersTo3D(a)}}function r(b){if(!b||b.length==0){return}var a=map.Get3DControl();if(typeof a!="undefined"&&a!=null){map.DeleteMapServiceLayersFrom3D(a,b)}}function n(a,f,d){if(!a||!a.Annotations){return}var e=a.Annotations.length;for(var c=0;c<e;c++){var b=a.Annotations[c];if(b&&b.Id==f){k(b,d);break}}}function k(a,d){var c=false;if(a&&a.IsOverlay()){VE_MapCmlReader.ExtractEntityProperties(d,a);if(a.mapserviceStatus=="OK"){a.mapserviceStatus=MC_MAPSERVICE_STATUS_READY
}var b=parseInt(a.mapserviceStatus);if(isNaN(b)){b=MC_MAPSERVICE_STATUS_ERROR}switch(b){case MC_MAPSERVICE_STATUS_READY:e(a);c=true;break;case MC_MAPSERVICE_STATUS_ERROR:ShowMessage(a.Title+":&nbsp;"+L_MapserviceSourceError_Text)}}return c}function u(c,b,a,d){if(a&&c==MC_ACTION_ADD_ENTITY){if(!VE_MapOverlays.UpdateAnnotationOverlay(a,b)){return}VE_MapOverlays.ActivateEntityOverlayViewport(a,d,true)}}function s(a){if(!a){return""}a=a.replace(/%5B/g,"[");a=a.replace(/%5D/g,"]");a=a.replace(/%3D/g,"=");a=a.replace(/%26/g,"&");a=a.replace(/%25/g,"%");return a}this.MoveMapserviceLocation=l;this.ExtractEntityOverlay=u;this.ActivateEntityOverlays=e;this.DeactivateEntityOverlays=j;this.DeactivateNodeOverlays=c;this.ActivateCollectionOverlays=q;this.ActivateCollectionOverlays3D=h;this.DeactivateCollectionOverlays=p;this.DeactivateActiveOverlays=d;this.ActivateEntityOverlayViewport=o;this.ActivateOverlayNodeViewport=i;this.UpdateAnnotationOverlay=k;this.UpdateAnnotationOverlayByMsnId=n;this.ActivateTileSource=m;this.ActiveOverlayNode=g;this.ActiveOverlayIndex=f;this.ActiveOverlayLimit=x;this.ActiveOverlayCount=w};var VE_MapOverlays=new Msn.VE.Core.MapServiceLayerManager;_VERegisterNamespaces("Msn.VE.Core");Msn.VE.Core.EventRegistry=function(){var a=new VE_MapHashtable;this.AddListener=function(c,b){a.put(c,b)};this.RemoveListener=function(e,d){var b=a.get(e);if(b=="undefined"||b==null||b.length<1){return null}for(var c=0;c<b.length;c++){if(b[c]==d){b.splice(c,1)}}};this.Fire=function(e,d){if(e=="undefined"||e==null){return}var b=a.get(e);if(b=="undefined"||b==null||b.length<1){return null}for(var c=0;c<b.length;c++){if(b[c]=="undefined"||b[c]==null){continue}if(d=="undefined"||d==null){b[c]()}else{b[c](d)}}d=null}};function VE_MapHashtable(){this.hash=[];this.keys=[]}VE_MapHashtable.prototype.hash=null;VE_MapHashtable.prototype.keys=null;VE_MapHashtable.prototype.get=function(a){return this.hash[a]};VE_MapHashtable.prototype.put=function(b,c){if(c==null){return null}var a=null;a=this.hash[b];if(a==null||a=="undefined"){this.keys[this.keys.length]=b;
a=[]}a.push(c);this.hash[b]=a};_VERegisterNamespaces("Msn.Drawing");Msn.Drawing.MapGeoRssReader=function(){};Msn.Drawing.MapGeoRssReader.prototype.ReadGeoRSS=function(z,q){var C=false,r=null,p=null,u=null,m=null,g=null,f=null,c=null,l=z.getElementsByTagName("item");if(l.length<1){l=z.getElementsByTagName("entry")}var k=VEShapeType.Pushpin;if(l.length>0){var j,o,A,F=l.length;for(j=0;j<F;j++){g=null;f=null;c=null;k=VEShapeType.Pushpin;r="";p="";u="";m="";A=l[j].childNodes.length;for(o=0;o<A;o++){if(l[j].childNodes[o].nodeType!=1){continue}var a=l[j].childNodes[o].nodeName,b=l[j].childNodes[o];if(a=="title"){if(b.firstChild){r=b.firstChild.nodeValue}else{r=""}}else{if(a=="description"||a=="summary"||a=="content"){if(b.firstChild){p=b.firstChild.nodeValue}else{p=""}}else{if(a=="link"){if(b.firstChild){u=b.firstChild.nodeValue}else{u=b.getAttribute("href")}}else{if(a=="icon"){m=b.firstChild.nodeValue}else{if(a=="virtualearth:icon"){m=b.firstChild.nodeValue}else{if(a=="geo:lat"){g=b.firstChild.nodeValue}else{if(a=="geo:lon"){f=b.firstChild.nodeValue}else{if(a=="geo:long"){f=b.firstChild.nodeValue}else{if(a=="geo:Point"||a=="geo:point"){for(d=0;d<b.childNodes.length;d++){var e=b.childNodes[d];if(e.nodeName=="geo:lat"){g=e.firstChild.nodeValue}else{if(e.nodeName=="geo:lon"||e.nodeName=="geo:long"){f=e.firstChild.nodeValue}}}}else{if(a=="georss:point"||a=="georss:line"||a=="georss:polygon"){if(b.firstChild){var n=b.firstChild.nodeValue;if(n.length==4096&&typeof b.textContent!="undefined"&&b.textContent!=null){n=b.textContent}c=this.ExtractLatLonPairFromXMLList(n);if(c&&c.length>1){g=c[1];f=c[0];if(a=="georss:line"){k=VEShapeType.Polyline}else{if(a=="georss:polygon"){k=VEShapeType.Polygon}}}}}else{if(a=="gml:name"){if(b.firstChild){r=b.firstChild.nodeValue}else{r=""}}else{if(a=="gml:description"){if(b.firstChild){p=b.firstChild.nodeValue}else{p=""}}else{if(a=="gml:Point"||a=="gml:point"||a=="georss:where"&&b.firstChild.nodeName=="gml:Point"){var i=null;if(a=="gml:Point"||a=="gml:point"){i=b.childNodes}else{i=b.firstChild.childNodes
}for(d=0;d<i.length;d++){var e=i[d];if(e.nodeName=="gml:pos"){if(e.firstChild){var n=e.firstChild.nodeValue;c=this.ExtractLatLonPairFromXMLList(n);if(c&&c.length>1){g=c[1];f=c[0]}}}}}else{if(a=="gml:pos"||a=="gml:posList"){if(l[j].childNodes[o].firstChild){var n=l[j].childNodes[o].firstChild.nodeValue;c=this.ExtractLatLonPairFromXMLList(n);if(c&&c.length>1){g=c[1];f=c[0];if(a=="gml:posList"){k=VEShapeType.Polyline}}}}else{if(a=="gml:LineString"||a=="georss:where"&&b.firstChild.nodeName=="gml:LineString"){var i=null;if(a=="gml:LineString"){i=b.childNodes}else{i=b.firstChild.childNodes}k=VEShapeType.Polyline;var x=i.length;for(d=0;d<x;d++){var e=i[d];if(e.nodeName=="gml:posList"){if(e.firstChild){var n=e.firstChild.nodeValue;c=this.ExtractLatLonPairFromXMLList(n);if(c&&c.length>1){g=c[1];f=c[0]}}}}}else{if(a=="gml:Polygon"||a=="georss:where"&&b.firstChild.nodeName=="gml:Polygon"){var i=null;if(a=="gml:Polygon"){i=b.childNodes}else{i=b.firstChild.childNodes}k=VEShapeType.Polygon;var x=i.length;for(d=0;d<x;d++){var v=i[d];if(v.nodeName=="gml:exterior"||v.nodeName=="gml:interior"){var e=null;e=v.childNodes;var E=e.length;for(var t=0;t<E;t++){if(e[t].nodeName=="gml:LinearRing"&&e[t].firstChild){var n=null,y=e[t].firstChild;if(y.nodeName=="gml:posList"&&y.firstChild){n=y.firstChild.nodeValue;c=this.ExtractLatLonPairFromXMLList(n);if(c&&c.length>1){g=c[1];f=c[0]}}}}}}}}}}}}}}}}}}}}}}}if(g==null||g=="undefined"||g.length<=0||f==null||f=="undefined"||f.length<=0){continue}if(q.Spec.IconUrl!=null&&q.Spec.IconUrl!="undefined"){m=q.Spec.IconUrl}if(m==null||m=="undefined"||m.length<=0){m=Msn.VE.API.Constants.iconurl}var D=p;try{var s=null;if(k==VEShapeType.Pushpin){if(g!=null&&f!=null){s=new Msn.Drawing.Point(f,g)}else{continue}}else{if(k==VEShapeType.Polyline){if(c.length<4){continue}s=new Msn.Drawing.PolyLine(c)}else{if(k==VEShapeType.Polygon){if(c.length<8){continue}s=new Msn.Drawing.Polygon(c)}}}var h;if(Msn.VE.API!=null){var w=s.points,x=w.length,B=[];for(var d=0;d<x-1;d=d+2){B.push(new VELatLong(w[d+1],w[d]))}h=new VEShape(k,B)
}else{h=new VEShape(MC_VESHAPE_EMPTY);h.AddPrimitive(s)}h.Latitude=g;h.Longitude=f;h.Url=u;h.IconId=m;h.Notes=D;h.SetDisplayOrder(j);h.SetIndex(j);h.Title=r;if(Msn.VE.API!=null){q.AddShape(h)}else{q.AddEntityAnnotation(h)}}catch(H){throw new VEException("VEMap:AddGeoRSSLayerPushpins","err_invalidLatLong",H.message)}}}if(q.GetShapeCount()>0){C=true}return C};Msn.Drawing.MapGeoRssReader.prototype.ExtractLatLonPairFromXMLList=function(a){a=a.replace(/^\s+/g,"");a=a.replace(/\s+$/g,"");var b=[];if(a.indexOf(",")>0){b=a.split(",")}else{a=a.replace(/\s+/g," ");b=a.split(" ")}var d=b.length;if(d/2!=Math.round(d/2)){return null}for(var c=0;c<d-1;c=c+2){var e=parseFloat(b[c]),f=parseFloat(b[c+1]);if(isNaN(e)||isNaN(f)){throw new VEException("VEMap:ExtractLatLonPairFromXMLList","err_invalidLatLong",L_GeoRssInvalidFormatError_Text)}b[c]=f;b[c+1]=e}return b};_VERegisterNamespaces("VE_MapCmlReader");VE_MapCmlReader=function(){};VE_MapCmlReader.ReadCMLDom=function(c,b,a){return VE_MapCmlReader.ExtractCollections(c,b,a)};VE_MapCmlReader.ExtractCollections=function(h,r,k){var u=null,b=r.getElementsByTagName(MC_CML_COLLECTION);if(!b){return null}var m=b.length;if(m<1){return null}var p=[],o=h.action;for(var c=0;c<m;c++){var t=b[c].getAttribute(MC_CML_ID),s=b[c].getAttribute(MC_CML_IID),j=unescape(b[c].getAttribute(MC_CML_NAME)),l=b[c].getAttribute(MC_CML_CULTURE),q=b[c].getAttribute(MC_CML_VISIBILITY),i=b[c].getAttribute(MC_CML_TYPE),a=k.GetCollectionByMsnId(h,t,s);if(!a){continue}if(o==MC_ACTION_IMPORT_ENTITY||o==MC_ACTION_CLONE_ENTITY){var n=b[c].childNodes.length;for(var g=0;g<n;g++){var e=b[c].childNodes.item(g);if(e.nodeName==MC_CML_ENTITY){VE_MapCmlReader.ExtractEntity(h,e,a,k)}}}else{if(q!=null&&q=="false"){a.SetVisibility(false)}if(i&&i!=""&&i!="undefined"){a.SetType(i)}if(j&&j!=""&&j!="undefined"){a.SetName(j)}if(l&&l!=""){a.Culture=l}var n=b[c].childNodes.length;for(var g=0;g<n;g++){var e=b[c].childNodes.item(g),d=GetXMLText(e);switch(e.nodeName){case MC_CML_SHARELEVEL:if(d=="public"){a.IsPublic=true;a.IsIndexed=false}else{if(d=="indexed"){a.IsPublic=true;
a.IsIndexed=true}else{a.IsPublic=false;a.IsIndexed=false}}break;case MC_CML_PROPERTYS:a._properties=VE_MapCmlReader.ExtractProperties(e);break;case MC_CML_DESCRIPTION:a.Notes=unescape(d);break;case MC_CML_TAGS:a.Tags=unescape(d);break;case MC_CML_LASTMODIFIED:var f=new Date(d);if(isNaN(f)){a.DateModified=Date()}else{a.DateModified=d}break;case MC_CML_DATECREATED:var f=new Date(d);if(isNaN(f)){a.DateCreated=Date()}else{a.DateCreated=d}break;case MC_CML_ENTITY:VE_MapCmlReader.ExtractEntity(h,e,a,k);break;case MC_CML_STATE:var f=parseInt(d);if((f&MC_CML_STATE_OWNER_CAN_VIEW)==MC_CML_STATE_OWNER_CAN_VIEW&&(f&MC_CML_STATE_PUBLIC_CAN_VIEW)!=MC_CML_STATE_PUBLIC_CAN_VIEW){a.ViewableByOwnerOnly=true}else{a.ViewableByOwnerOnly=false}if((f&MC_CML_STATE_OWNER_CAN_UPDATE)==MC_CML_STATE_OWNER_CAN_UPDATE){a.EditableByOwner=true}else{a.EditableByOwner=false}if((f&MC_CML_STATE_OWNER_IS_VIEWING)==MC_CML_STATE_OWNER_IS_VIEWING){a.OwnerIsViewing=true}else{a.OwnerIsViewing=false}}}}p.push(a)}return p};VE_MapCmlReader.ExtractEntity=function(p,j,c,o){var d=j,m=d.getAttribute(MC_CML_ID),r=d.getAttribute(MC_CML_IID),l=d.getAttribute(MC_CML_TYPE),k=unescape(d.getAttribute(MC_CML_NAME)),s=d.getAttribute(MC_CML_VISIBILITY),g=p.action;if(g==MC_ACTION_ADD_ENTITY){var f=p.GetParameters(MC_KVP_ENTITYLIST);if(typeof f=="undefined"||f==null){return}for(var i=0;i<f.length;i++){var e=f[i];if(typeof e=="undefined"||e==null){continue}if(e.GetId()==r){e.SetMsnId(m);f.splice(i,1);if(e.IsOverlay()&&j.childNodes.length>0){VE_MapOverlays.ExtractEntityOverlay(g,j.childNodes[0],e,c)}break}}return}var h;if(g==MC_ACTION_CREATE_COLLECTION||g==MC_ACTION_IMPORT_ENTITY||g==MC_ACTION_IMPORT_COLLECTION){h=o.GetAnnotationByMsnId(c,m,r)}else{h=o.GetAnnotationByMsnId(c,m)}var a=h[1];if(h[0]){return}if(l&&l!=""){a.SetType(l)}if(k&&k!=""){a.Title=k}if(s&&s!=""){a.SetVisibility(false)}var b=null,v=null,u=d.childNodes.length;for(var n=0;n<u;n++){b=d.childNodes[n];if(b.nodeType==1){var t=b.nodeName;switch(t){case MC_CML_PROPERTYS:VE_MapCmlReader.ExtractEntityProperties(b,a);
break;case MC_CML_DESCRIPTION:a.Notes=unescape(GetXMLText(b));if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){a.Notes=a.Notes.replace(/<BR\/?>/gi,"\n")}break;case MC_CML_ENTITY_PRIMITIVES:var q=VE_MapCmlReader.ExtractPrimitives(b);if(q){a.ClearAllPrimitives();a.SetPrimitives(q)}break;case MC_CML_VIEWPORT:a.ViewPort=VE_MapCmlReader.ExtractViewPort(b);break;case MC_CML_TOUR:a.Tour=VE_MapCmlReader.ExtractTour(b);break;case MC_CML_MODELREP:a.ModelRep=VE_MapCmlReader.ExtractModelRep(b);break;case MC_CML_PHOTOS:a.Photos=VE_MapCmlReader.ExtractPhotos(b)}}}if(a.GetPrimitiveCount()==0){VE_MapManager.GetLayerManager().DeleteAnnotationFromCollection(c,a)}else{if(!h[0]){if(Msn.VE.API!=null){c.AddShape(a)}else{c.AddEntityAnnotation(a)}}else{c.UpdateEntityAnnotation(a)}}return c};VE_MapCmlReader.ExtractViewPort=function(g){var a=new VE_3DViewPort,f=true,h=g.childNodes.length;for(var e=0;e<h;e++){var d=g.childNodes[e],b=GetXMLText(d);switch(d.nodeName){case MC_CML_ENTITY_COORDINATES:var c=b.split(MC_CML_TOKEN1);if(c.length==2){a.Longitude=parseFloat(c[0]);a.Latitude=parseFloat(c[1])}else{f=false}break;case MC_CML_ALTITUDE:a.Altitude=parseFloat(b);break;case MC_CML_ALTITUDEMODE:a.Altitudemode=b;break;case MC_CML_PITCH:a.Pitch=parseFloat(b);break;case MC_CML_HEADING:a.Heading=parseFloat(b);break;case MC_CML_MAPSTYLE:a.Mapstyle=b;break;case MC_CML_SCENEID:a.SceneId=parseInt(b);break;case MC_CML_PROPERTYS:a.Properties=VE_MapCmlReader.ExtractProperties(d)}}if(!f||isNaN(a.Longitude)||isNaN(a.Latitude)||isNaN(a.Latitude)||isNaN(a.Pitch)||isNaN(a.Heading)){a=null}return a};VE_MapCmlReader.ExtractTour=function(el){var Tour=new VE_3DTour;Tour.Actions=[];var actionKey=null,actionValue=null,actions=el.selectSingleNode(MC_CML_ACTIONS),childNodesLen=actions.childNodes.length;for(var i=0;i<childNodesLen;i++){var actionNode=null;actionNode=actions.childNodes[i].selectSingleNode(MC_CML_PROPERTYS);var action=null,actionStr="{",actionLen=actionNode.childNodes.length;if(actionLen>0){for(var j=0;j<actionLen;j++){var node=actionNode.childNodes[j];
if(node.nodeName==MC_CML_PROPERTY){actionKey=node.getAttribute(MC_CML_KEY);actionValue=node.getAttribute(MC_CML_VALUE);if(typeof actionKey!="undefined"&&actionKey!=null&&typeof actionValue!="undefined"&&actionValue!=null){actionStr=actionStr.concat("'",actionKey,"':'",actionValue,"',")}}}actionStr=actionStr.substring(0,actionStr.length-1);actionStr=actionStr.concat("}");action=eval("("+actionStr+")")}if(typeof action!="undefined"&&action!=null){Tour.Actions.push(action)}}if(Tour.Actions.length<1){Tour=null}return Tour};VE_MapCmlReader.ExtractModelRep=function(e){var a=new VE_3DModelRep,f=e.childNodes.length;for(var d=0;d<f;d++){var c=e.childNodes[d],b=GetXMLText(c);switch(c.nodeName){case MC_CML_TRANSFORM:a.Transform=b.split(MC_CML_TOKEN1);break;case MC_CML_MODELREFID:a.ModelRefId=b;break;case MC_CML_PROPERTYS:a.Properties=VE_MapCmlReader.ExtractProperties(c);break;case MC_CML_MINBOUNDS:a.MinBounds=b;break;case MC_CML_MAXBOUNDS:a.MaxBounds=b;break;case MC_CML_R2EOFFSET:a.R2eoffset=b}}if(typeof a.Transform!="object"||a.Transform.length!=16){a=null}return a};VE_MapCmlReader.ExtractEntityProperties=function(h,a){var i=h.childNodes.length;for(var g=0;g<i;g++){var e=h.childNodes.item(g);if(e.nodeName==MC_CML_PROPERTY){var b=e.getAttribute(MC_CML_VALUE);switch(e.getAttribute(MC_CML_KEY)){case MC_CML_PROPERTY_ROUTABLELATITUDE:a.RoutableLatitude=parseFloat(b);break;case MC_CML_PROPERTY_ROUTABLELONGITUDE:a.RoutableLongitude=parseFloat(b);break;case MC_CML_PROPERTY_URL:var d=null;d=unescape(b);if(d!="undefined"&&d){a.Url=d}break;case MC_CML_PROPERTY_ICONURL:var c=null;c=unescape(b);if(c){if(!(c.indexOf("://")>0&&c.indexOf("http")<0)){a.SetIconUrl(c)}}break;case MC_CML_PROPERTY_KEYWORDS:a.Keywords=unescape(b);break;case MC_CML_PROPERTY_PHOTOURL:var f=null;f=unescape(b);if(f){a.PhotoUrl=f}break;case MC_CML_PROPERTY_USERDATE:a.UserDate=b;break;case MC_CML_PROPERTY_DISPLAYORDER:a.DisplayOrder=b;break;case MC_CML_PROPERTY_BUSINESSLISTINGID:a.SetBusinessListingId(b);break;case MC_CML_LASTMODIFIED:a.LastModified=b;break;case MC_CML_DISPLAYORDER:a.SetDisplayOrder(b);
break;case MC_CML_ZOOMLEVEL:a.SetZoomLevel(b);break;case MC_CML_ONSCRATCHPAD:a.SetOnScratchpad(b);break;case MC_CML_PROPERTY_SOURCEURL:a.SourceUrl=unescape(b);break;case MC_CML_PROPERTY_SOURCETYPE:a.SourceType=b;break;case MC_CML_TILEID:a.TileId=b;break;case MC_CML_PROPERTY_MAPSERVICETYPE:a.mapserviceType=b;break;case MC_CML_PROPERTY_MAPSERVICESOURCE:a.mapserviceSource=unescape(b);break;case MC_CML_PROPERTY_MAPSERVICEOPACITY:a.mapserviceOpacity=b;break;case MC_CML_PROPERTY_MAPSERVICEMETADATA:a.mapserviceMetadata=unescape(b);break;case MC_CML_PROPERTY_MAPSERVICESTATUS:a.mapserviceStatus=b}}}return a};VE_MapCmlReader.ExtractPhotos=function(l){var n=[],j=l.childNodes.length;if(j==0){return null}for(var g=0;g<j;g++){var a=l.childNodes.item(g);if(a.nodeName==MC_CML_PHOTO){var c=new VE_Photo;c.Id=a.getAttribute(MC_CML_ID);var k={},m=true,o=a.childNodes.length;for(var h=0;h<o;h++){var e=a.childNodes.item(h);if(e.nodeName==MC_CML_PROPERTYS){var p=e.childNodes.length;for(var i=0;i<p;i++){var f=e.childNodes.item(i);if(f.nodeName==MC_CML_PROPERTY){var b=f.getAttribute(MC_CML_VALUE),d=f.getAttribute(MC_CML_KEY);if(d!="undefined"&&d!=null&&b!="undefined"&&b!=null){if(d==MC_CML_PROPERTY_URL){var q=unescape(b);c.Url=q}else{k[d]=b;m=false}}}}}}if(!m){c.Properties=k}n.push(c)}}return n};VE_MapCmlReader.ExtractProperties=function(a){if(typeof a=="undefined"||a==null||a.childNodes.length<1){return null}var h=a.childNodes.length,d={},e=true;for(var c=0;c<h;c++){var b=a.childNodes.item(c);if(b.nodeName==MC_CML_PROPERTY){var f=b.getAttribute(MC_CML_VALUE),g=b.getAttribute(MC_CML_KEY);if(g!=null&&f!=null){d[g]=f;e=false}}}if(e){return null}else{return d}};VE_MapCmlReader.ExtractPrimitives=function(l){var g=[],o=l.childNodes.length;for(var k=0;k<o;k++){var f=l.childNodes.item(k);if(f.nodeName==MC_CML_ENTITY_PRIMITIVE){var d=true,a=null,c=null,n=null,p=f.childNodes.length;for(var j=0;j<p;j++){var b=f.childNodes[j];if(d){var e=b.getAttribute(MC_CML_LENGTH),m=b.getAttribute(MC_CML_AREA);switch(b.nodeName){case MC_CML_POLYGON:d=false;a=VE_MapCmlReader.ExtractPolygon(b);
if(e){a.SetLength(e*1)}if(m){a.SetArea(m*1)}break;case MC_CML_POLYLINE:d=false;a=VE_MapCmlReader.ExtractPolyLine(b);if(e){a.SetLength(e*1)}break;case MC_CML_POINT:n=VEShapeType.Pushpin;d=false;a=VE_MapCmlReader.ExtractPoint(b)}}else{if(b.nodeName==MC_CML_DEFAULTSTYLE){var i=VE_MapCmlReader.ExtractStyle(b,n);c=i[0];if(i.length>1){var h=i[1];if(h){a.labelPosX=h.longitude;a.labelPosY=h.latitude}}}}}if(a!=null){if(Msn.VE.API){if(!c){c=VE_GetDefaultAPISymbol(a.type)}a.symbol=c}else{if(a.type!=VEShapeType.Pushpin){a.symbol=c}}g.push(a)}}}if(g.length<1){return null}return g};VE_MapCmlReader.ExtractPolygon=function(c){var a=c.selectSingleNode(MC_CML_OUTLS).selectSingleNode(MC_CML_LINEARSTRING),b=a.selectSingleNode(MC_CML_COORDS);return VE_MapCmlReader.BuildShape(VEShapeType.Polygon,GetXMLText(b),a)};VE_MapCmlReader.ExtractPolyLine=function(a){var b=a.selectSingleNode(MC_CML_COORDS);return VE_MapCmlReader.BuildShape(VEShapeType.Polyline,GetXMLText(b),a)};VE_MapCmlReader.BuildShape=function(c,i,d){var h=null,g=d.selectSingleNode(MC_CML_ALTITUDE);if(g!=null){h=GetXMLText(g)}var b=VE_GetLatLongPairsFromString(i,h);if(b==null||b.LonLats==null){return null}var a=null;if(VEShapeType.Polyline==c){a=new Msn.Drawing.PolyLine(b.LonLats);a.iid=Msn.Drawing.GetGeoUID(VEShapeType.Polyline)}else{if(VEShapeType.Polygon==c){a=new Msn.Drawing.Polygon(b.LonLats);a.iid=Msn.Drawing.GetGeoUID(VEShapeType.Polygon)}else{if(VEShapeType.Pushpin==c){a=new Msn.Drawing.Point(b.LonLats[0],b.LonLats[1]);a.iid=Msn.Drawing.GetGeoUID(VEShapeType.Pushpin)}}}if(b.Altitudes){var e=d.selectSingleNode(MC_CML_ALTITUDEMODE);if(e!=null){a.altitudeMode=GetXMLText(e)}if(VEShapeType.Pushpin==c){a.altitudes=b.Altitudes;return a}else{a.altitudes=b.Altitudes;var f=d.selectSingleNode(MC_CML_EXTRUDE);if(f!=null){if(GetXMLText(f).toLowerCase()=="true"){a.extruded=true}}a.minZ=b.minZ;a.maxZ=b.maxZ;a.labelPosZ=a.maxZ}}if(VEShapeType.Pushpin!=c){a.minX=b.minX;a.minY=b.minY;a.maxX=b.maxX;a.maxY=b.maxY}return a};VE_MapCmlReader.ExtractPoint=function(a){var b=a.selectSingleNode(MC_CML_COORDS);
return VE_MapCmlReader.BuildShape(VEShapeType.Pushpin,GetXMLText(b),a)};VE_MapCmlReader.ExtractStyle=function(i,n){var e=[],a;if(Msn.VE.API){a=VE_GetDefaultAPISymbol(n)}else{a=VE_MapDispatch_SymbolLib.GetCurrentDefaultSymbol()}a=a.Clone();var k=i.childNodes.length,d=null;for(var f=0;f<k;f++){var c=i.childNodes.item(f);if(c.nodeName==MC_CML_STYLE){var l=GetXMLText(c),j=l.split(MC_CML_TOKEN3),b=null,m=j.length;for(var g=0;g<m;g++){b=j[g].split(MC_CML_TOKEN2);if(b!=null||b.length==2){switch(b[0]){case MC_STYLE_STROKE_COLOR:a.stroke_color=b[1];break;case MC_STYLE_FILL_COLOR:a.fill_color=b[1];break;case MC_STYLE_STROKE_WEIGHT:a.stroke_weight=b[1];break;case MC_STYLE_STROKE_STYLE:a.stroke_style=b[1];break;case MC_STYLE_STROKE_DASH:a.stroke_dashstyle=b[1]}}b=null}}else{if(c.nodeName==MC_CML_LABELSTYLE){var h=c.selectSingleNode(MC_CML_POSITION);if(h!=null){d=VE_GetLatLongFromString(GetXMLText(h))}}}}e.push(a);if(d){e.push(d)}return e};function VE_GetDefaultAPISymbol(b){var a=null;if(typeof VE_MapDispatch_SymbolLib!="undefined"){if(b==VEShapeType.Pushpin){a=VE_MapDispatch_SymbolLib.GetMapSymbolByID(MC_PROPERTY_PUSHPIN)}else{a=VE_MapDispatch_SymbolLib.GetCurrentDefaultSymbol()}a.imagedata_src=Msn.VE.API.Constants.iconurl;a.style_zIndex=Msn.VE.API.Globals.veshapeiconzindex;a.style_zIndex_polyshape=Msn.VE.API.Globals.veshapepolyshapezindex}return a}function VE_GetLatLongFromString(c){var a=c.split(MC_CML_TOKEN1);if(typeof a=="undefined"||a==null||a.length!=2){return null}var b=new Msn.VE.LatLong;b.longitude=parseFloat(a[0]);b.latitude=parseFloat(a[1]);return b}function VE_GetLatLongPairsFromString(o,b){if(o==null||typeof o!="string"){return null}var j=null,k=null,h=null,i=null,n=[];try{var p=o.split(MC_CML_TOKEN1),e=null,m=null,g=null,f=null,d=true;if(b==null||typeof b!="string"){d=false}if(d){m=b.split(MC_CML_TOKEN1);d=p.length/2!=m.length?false:true;e=[]}j=180;k=90;h=-180;i=-90;g=Number.MAX_VALUE;f=Number.MIN_VALUE;var q=true,c=NaN,b=NaN,r=p.length;for(var l=0;l<r;l++){c=parseFloat(p[l]);if(!isNaN(c)){n.push(c)}else{continue
}if(q){if(d){b=parseFloat(m[l/2]);if(isNaN(b)){d=false}else{e.push(b);g=Math.min(g,b);f=Math.max(f,b)}}j=Math.min(j,c);h=Math.max(h,c);q=false}else{k=Math.min(k,c);i=Math.max(i,c);q=true}}if(!d||e.length!=n.length/2){g=null;f=null;e=null}}catch(s){return null}var a=new VE_LocationResult;a.minX=j;a.minY=k;a.maxX=h;a.maxY=i;a.minZ=g;a.maxZ=f;a.LonLats=n;a.Altitudes=e;return a}function VE_LocationResult(){this.minX=null;this.minY=null;this.maxX=null;this.maxY=null;this.LonLats=null;this.minZ=null;this.maxZ=null;this.Altitudes=null}VEShapeStyleLibrary=function(){var a=[];this.AddMapSymbol=function(b){if(b.stroke_color2==null||b.stroke_color2==""){if(b.stroke_color=="red"){b.stroke_color2="blue"}else{b.stroke_color2="red"}}if(b.fill_color2==null||b.fill_color2==""){if(b.fill_color=="blue"){b.fill_color2="red"}else{b.fill_color2="blue"}}a.push(b)};var b=null;this.GetCurrentDefaultSymbol=function(){if(b==null){b=this.GetMapSymbolByID(MC_PROPERTY_PARK)}return b};this.GetMapSymbolByID=function(c){if(a.length>0){for(var d=0;d<a.length;d++){if(a[d].id==c){return a[d]}}}else{var e=new VEShapeStyle;e.id=MC_PROPERTY_DEFAULT;this.AddMapSymbol(e)}var b=null;if(typeof c=="undefined"||c==0){return a[0]}b=new VEShapeStyle;switch(c){case MC_PROPERTY_HIGHWAY:b.id=c;break;case MC_PROPERTY_ROAD:b.id=c;b.stroke_color="yellow";b.stroke_style="thickbetweenthin";b.stroke_weight=6;break;case MC_PROPERTY_LAKE:b.id=c;break;case MC_PROPERTY_PARK:b.id=c;b.stroke_opacity="50%";b.stroke_endcap="square";b.stroke_joinstyle="bevel";break;case MC_PROPERTY_PARKINGLOT:b.id=c;break;case MC_PROPERTY_PUSHPIN:b.id=c;break;case MC_PROPERTY_TEMPDRAW:b.id=c;b.stroke_weight=1;b.stroke_dashstyle="dashdot";break;case MC_PROPERTY_TEMPEDIT:b.id=c;b.stroke_weight=1;b.stroke_color="#0F0F0F";b.stroke_dashstyle="longdashdot";break;case MC_PROPERTY_EDITNODE:b.id=c;b.shape_drawtype="v:rect";b.style_filter="100%";b.stroke_color="#000000";b.fill_color="yellow";break;case MC_PROPERTY_EDITSELNODE:b.id=c;b.shape_drawtype="v:rect";b.style_filter="100%";b.stroke_color="red";b.fill_color="yellow";
break;case MC_PROPERTY_GHOSTNODE:b.id=c;b.shape_drawtype="v:rect";b.style_filter="100%";b.stroke_opacity="100%";b.fill_opacity="100%";b.stroke_color="#666666";b.fill_color="#dddd88";break;default:return a[0]}this.AddMapSymbol(b);return b};this.GetLocalMapSymbol=function(b){var a=VE_MapManager.GetEntityPrimitiveByElmt(b);if(a==null){return null}geometry=a[2];if(typeof geometry=="undefined"||geometry==null){return null}return geometry.symbol}};function VE_MapRequestBean(c){this.action=c=="undefined"?null:c;var a=null,b="action="+this.action;this.SetParameters=function(d,c){if(a==null){a=[]}a[d]=c;b=b.concat("&",d,"=",c)};this.GetParameters=function(){return a};this.ToString=function(){return b}}_VERegisterNamespaces("Msn.Drawing");Msn.Drawing.GetTextUID=function(a){return a+MC_IID_CON_TOKEN+"t"};Msn.Drawing.GetLabelUID=function(a){return a+MC_IID_CON_TOKEN+"l"};Msn.Drawing.IsLabel=function(a){return a.indexOf(MC_IID_CON_TOKEN+"l")>0?true:false};Msn.Drawing.GetShpElementUIDByLabelUID=function(c){var b="",a=c.split(MC_IID_CON_TOKEN);if(!a||a[0]!=MC_IID_NAMESPACE){return null}b=b.concat(a[0],MC_IID_CON_TOKEN,a[1],MC_IID_CON_TOKEN,a[2],MC_IID_CON_TOKEN,a[3]);return b};Msn.Drawing.GetEntityUIDByPrimitiveUID=function(c){var b="",a=c.split(MC_IID_CON_TOKEN);if(!a||a[0]!=MC_IID_NAMESPACE){return null}b=b.concat(a[0],MC_IID_CON_TOKEN,a[1],MC_IID_CON_TOKEN,a[2]);return b};Msn.Drawing.CreatePointPushpin=function(p,a,r,y,g,m,l,x,h){var d=null,i=r;Msn.Drawing.CalculateLabelPosition(a,false);var u=a.labelPosX?a.labelPosX:a.points[0],t=a.labelPosY?a.labelPosY:a.points[1],s=m?m:22,q=l?l:17,f=a.iid,b=g,n=g&&g.indexOf("VE_Pushpin_Overlay")!=-1;if(a.type==VEShapeType.Pushpin){if(typeof b=="undefined"||!b){b=n?VE_MapStruct.PushpinType.Overlay:VE_MapStruct.PushpinType.PushpinAn}}else{f=Msn.Drawing.GetLabelUID(a.iid);if(typeof b=="undefined"||!b){b=VE_MapStruct.PushpinType.Polyline}}var o=n?Msn.VE.PushPinTypes.Overlay:Msn.VE.PushPinTypes.Annotation,k=i+"";if(h){b="VEAPI_Pushpin";k=_VE_GetCustomIcon(f+"_img",h,i,false)}d=p.AddPushpin(f,t,u,s,q,b,k,MC_STYLE_PINZIndex,o,true);
if(h){var c=$ID(f+"_img");if(c!=null){var w=c.style.height,v=c.style.width;if(isNaN(parseInt(w))||isNaN(parseInt(v))){c.style.height="25px";c.style.width="30px"}if(d!=null){var e=parseInt(d.style.top),j=parseInt(c.style.height);if(isNaN(e)){e=j}else{e+=j}d.style.top=e+"px"}}}return d};function _VE_GetCustomIcon(i,h,e,f){var g="<img ",a='" class="msve_customIcon" src="',d="",c=25,b=30;if(f){c=250;b=300}d='onload="_VE_ResizeImage(this,'+c+","+b+')" style="visibility:hidden;" onerror="_VE_OnCustonIconError(this,'+e+')"';a='" class="msve_customIcononmap" src="';return g.concat(' alt="',e,'" id="',i,a,h,'" '+d+"/>")}function _VE_OnCustonIconError(a,e){var f=typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null;if(!f&&typeof a!="undefined"){var b=VE_MapManager.GetAnnotationById(a.id);if(b){b.IconUrl=null;var d=VE_MapStruct.PushpinType,c=d.PushpinViewer;if(b.IsOverlay()){c=d.OverlayViewer}else{if(b.GetType()!=VEShapeType.Pushpin){c=d.PolylineViewer}}if(a.parentElement){a.parentElement.className="bullet "+c;a.parentElement.innerText=e;a.parentElement.removeChild(a)}}}}function _VE_ResizeImage(a,c,b){var e=c,d=b;if(a.width>c){d=parseInt(a.height*c/a.width)}else{if(a.height>b){e=parseInt(a.width*b/a.height)}else{e=a.width;d=a.height}}a.style.height=d+"px";a.style.width=e+"px";if(a.style.visibility=="hidden"){a.style.visibility="visible"}return a}function IsPointInPolygon(a,b,e,f,c,d){if(a>c||a<e||b>d||b<f){return false}return true}function GetAgentName(){var c=["msie","firefox"],d="";for(var a=0;a<c.length;a++){var e=navigator.userAgent.toLowerCase(),b=c[a];if(e.indexOf(b)!=-1){d=b}}return d}function VE_DisableSelection(a){if(typeof a.onselectstart!="undefined"){a.attachEvent("onselectstart",donothingsayno)}else{if(typeof a.style.MozUserSelect!="undefined"){a.style.MozUserSelect="none"}}}function VE_EnableSelection(a){if(typeof a.onselectstart!="undefined"){a.detachEvent("onselectstart",donothingsayno)}else{if(typeof a.style.MozUserSelect!="undefined"){a.style.removeProperty("-moz-user-select")}}}function VE_FindFirstAncestor(c,d,b){var a=d;
while(a!=null&&a.nodeName.toUpperCase()!=c.toUpperCase()&&b>0){a=a.parentElement;--b}return a}function VE_ChangeOpacity(b,a){if(typeof Web!="undefined"&&typeof Web.Browser!="undefined"&&typeof Web.Browser.isMozilla=="function"&&Web.Browser.isMozilla()){b.style.opacity=a/100}else{b.style.filter="alpha(opacity="+a+")"}}function VE_SanitizeHTML(b){if(typeof b=="undefined"||!b){return b}var a=document.createElement("div");a.innerHTML=b+" __hack";VE_WalkNode(a,VE_RemoveHarmfulHTML);var c=a.innerHTML;a=null;return c.substring(0,c.length-7)}function VE_RemoveHarmfulHTML(c){if(c==null){return}var e="",a=null,f=[];for(var d=0;c.hasChildNodes()&&d<c.childNodes.length;++d){e=null;a=c.childNodes[d];switch(a.nodeName){case"A":e=a.getAttribute("HREF");case"B":case"BR":var g=[];for(var b=0;b<a.attributes.length;++b){g.push(a.attributes[b].nodeName)}for(var b=0;b<g.length;++b){a.removeAttribute(g[b])}if(a.nodeName=="A"){if(e!=null&&e.match(/^https?:\/\//gi)!=null){a.setAttribute("TARGET","_blank");a.setAttribute("HREF",e)}}break;case"#text":break;default:f.push(a);c.insertBefore(document.createTextNode(" "),a.nextSibling);for(var b=0;a.hasChildNodes()&&b<a.childNodes.length;++b){c.insertBefore(a.childNodes[b],a.nextSibling)}}}for(var d=0;d<f.length;++d){c.removeChild(f[d])}}function VE_WalkNode(a,b){if(b==null||a==null){return}b(a);for(var c=0;a.hasChildNodes()&&c<a.childNodes.length;++c){VE_WalkNode(a.childNodes[c],b)}}function VE_AbortTimeoutCallback(a){if(a!=-1){try{window.clearTimeout(a)}catch(b){}}a=-1}_VERegisterNamespaces("Msn.Drawing");Msn.Drawing.CalculateLabelPosition=function(a,g){if(a.type==VEShapeType.Pushpin){return null}if(typeof g!="undefined"&&g==true){a.labelPosX=null;a.labelPosY=null;a.labelPosZ=null}if(a.labelPosX==null&&a.labelPosY==null){if(a.type==VEShapeType.Polyline){var b=Math.round((a.points.length/2-1)/2-1);b=b>-1?b:0;a.labelPosX=(a.points[2*b]+a.points[2*b+2])/2;a.labelPosY=(a.points[2*b+1]+a.points[2*b+3])/2;if(a.altitudes){a.labelPosZ=Math.max(a.altitudes[b],a.altitudes[b+1])}}else{if(a.type==VEShapeType.Polygon){var c=a.points.length,d=0,e=0,f=null;
if(a.altitudes){f=a.altitudes[0]}if(c>=4&&a.points[0]==a.points[c-2]&&a.points[1]==a.points[c-1]){c-=2}for(var b=0;b<c;b=b+2){d=d+a.points[b];e=e+a.points[b+1];if(a.altitudes){f=Math.max(f,a.altitudes[b/2])}}d=d*2/c;e=e*2/c;a.labelPosX=d;a.labelPosY=e;a.labelPosZ=f}}}};_VERegisterNamespaces("Msn.VE.Core");Msn.VE.Core.LayerManager=function(){var register=new Msn.VE.Core.EventRegistry,self=this,cols=[],loadedColIds=[],layerListDiv=null,unsavedName=L_CollectionManagerUnsavedCollectionTitle_Text,CopyPasteBoard=null,CountPastes=0,UndoPrimitives=null,_HighlightEntity=null,_isHighlighted=false;function GetCollectionListDiv(){if(layerListDiv==null){layerListDiv=document.createElement("div");layerListDiv.id="VELayerListDiv";Init()}return layerListDiv}function Init(){CreateCollection(0,0,unsavedName)}var visibleBounds=null;this.SetBoundingBox=function(e,f,a,c,b,d){if(visibleBounds){visibleBounds=new Msn.VE.Bounds(0,0,a,c,b,d)}else{visibleBounds.z1=e;visibleBounds.z2=f;visibleBounds.x1=a;visibleBounds.x2=b;visibleBounds.y1=c;visibleBounds.y2=d}};this.GetBoundingBox=function(){if(visibleBounds==null){var a=GetSelectedCollection();if(a){return a.GetBoundingBox()}}return visibleBounds};var selecteColMsnId=0;this.GetSelectedCollectionMsnId=function(){return selecteColMsnId};var selectedAnnotation=null;this.SetSelectedAnnotation=function(a){selectedAnnotation=a};this.ClearSelectedAnnotation=function(){selectedAnnotation=null};this.GetSelectedAnnotation=function(){return selectedAnnotation};this.IsSelectedCollectionUnsaved=function(){if(selecteColMsnId==0){return true}else{return false}};this.SetSelectedCollectionMsnId=function(a){selecteColMsnId=a;if(a!=0){for(var d=0;d<loadedColIds.length;d++){if(loadedColIds[d]==a){return a}}loadedColIds.push(a);if(loadedColIds.length>MC_MAX_LOADED_COLS){var c=loadedColIds.shift();c=GetCollectionIndexByMsnId(c);if(c>0){var b=GetCollectionByIndex(c);if(b&&b.GetType()==MC_COL_TYPE_COLLECTION){mvcViewFacade.OnCollectionLayerClear(b);EmptyCollection(b)}}}}};this.AddListener=function(b,a){register.AddListener(b,a)
};this.RemoveListener=function(b,a){register.RemoveListener(b,a)};this.Fire=function(b,a){register.Fire(b,a)};function AddCollection(b,a){if(b==0){cols.unshift(a)}else{cols.push(a)}return a}function IsCollectionExist(c){if(cols.length>0){for(var a=0;a<cols.length;a++){var b=cols[a];if(b.GetMsnId()&&b.GetMsnId()==c){return true}}}return false}function SaveCollection(b){var a=cols[0];if(a.GetMsnId()==0){a=cols.shift();cols.push(a);CreateCollection(0,0,unsavedName);a.SetMsnId(b);return a}}function GetCollectionIndexByMsnId(c){if(cols.length>0){for(var a=0;a<cols.length;a++){var d=cols[a],b=d.GetMsnId();if(b&&b==c){return a}}}return 0}function GetCollectionByMsnId(b,a){if(!b){return null}switch(b.action){case MC_ACTION_RETRIEVE_ALLCOLLECTIONS_METADATA:return this.RetrieveCollection(a);break;case MC_ACTION_IMPORT_COLLECTION:return CreateCollection(cols.length-1,a,unsavedName);case MC_ACTION_CREATE_COLLECTION:return this.SaveCollection(a);break;case MC_ACTION_CLONE_ENTITY:case MC_ACTION_UPDATE_COLLECTION:return this.RetrieveCollection(a);break;case MC_ACTION_IMPORT_ENTITY:case MC_ACTION_ADD_ENTITY:return this.RetrieveCollection(a);break;case MC_ACTION_RETRIEVE_SHAREDCOLLECTION:case MC_ACTION_RETRIEVE_COLLECTION:return this.RetrieveCollection(a)}}function RetrieveCollection(c){var d=false;if(cols.length>0){for(var b=0;b<cols.length;b++){var a=cols[b];if(a.GetMsnId()&&a.GetMsnId()==c){d=true;return a}}}if(!d){return CreateCollection(-1,c,unsavedName)}}function SetVisibility(b){for(var a=0;a<cols.length;a++){cols[a].SetVisibility(b);if(b){VE_MapOverlays.ActivateCollectionOverlays(cols[a])}else{VE_MapOverlays.DeactivateCollectionOverlays(cols[a])}}}function RetrieveCollectionById(c){if(cols.length>0){for(var a=0;a<cols.length;a++){var b=cols[a];if(b.GetId()==c){return b}}}return null}function CreateCollection(b,c,d){var a=new VEShapeLayer;a.SetMsnId(c);a.SetName(d);a=AddCollection(b,a);return a}function CreateNewCollection(b){var a=null;if(b==MC_COL_TYPE_TILEIMAGE){a=new Msn.VE.Core.RasterLayer}else{a=new VEShapeLayer}a.SetType(b);
a.SetMsnId(0);a=AddCollection(cols.length,a);return a}function GetSelectedCollection(){if(cols.length>0){for(var a=0;a<cols.length;a++){var b=cols[a];if(self.GetSelectedCollectionMsnId()==cols[a].GetMsnId()){return cols[a]}}}return CreateCollection(0,0,unsavedName)}function GetCollection(c){var a=[];a[0]=false;a[1]=false;if(cols.length>0){for(var b=0;b<cols.length;b++){if(cols[b].GetMsnId()==c){a[0]=true;var e=cols[b].Annotations.length;if(!cols[b].Annotations||e<1){a[1]=false}else{a[1]=true}a[2]=cols[b];return a}}}var d=CreateCollection(0,c,unsavedName);a[2]=d;return a}function GetCollectionCount(){if(!cols){return 0}return cols.length}function GetCollectionByIndex(a){if(cols==null||cols.length<a||a<0){return null}return cols[a]}function Dispose(){DeleteAll();cols=[];loadedColIds=[]}function DeleteAll(){var a=null;while(cols.length>1){a=cols.pop();EmptyCollection(a)}if(cols.length==1){EmptyCollection(cols[0])}}function RemoveCollection(a){EmptyCollection(a);DeleteCollection(a)}function EmptyCollection(a){VE_MapOverlays.DeactivateCollectionOverlays(a);var c=null;if(a.Annotations.length>0){for(var b=0;b<a.Annotations.length;b++){c=a.Annotations[b];ClearEntity(c)}}a.Annotations=[];a.SetBoundingBox(0,0,Infinity,Infinity,-Infinity,-Infinity)}function DeleteCollection(b){VE_MapOverlays.DeactivateCollectionOverlays(b);var c=0;if(cols.length==1){cols.pop();c=0;CreateCollection(0,0,unsavedName)}else{for(var a=0;a<cols.length;a++){if(cols[a].iid==b.iid){c=a;cols.splice(a,1);break}}}b=null;selecteColMsnId=0}function GetSelectedCollectionAnnotationCount(){var a=self.GetSelectedCollection();return a.GetShapeCount()}function GetAnnotationByMsnId(a,d,f){var b=[];if(a&&a.Annotations&&a.GetShapeCount()>0){for(var c=0;c<a.Annotations.length;c++){if(d&&a.Annotations[c].GetMsnId()==d||f&&a.Annotations[c].GetId()==f){b[0]=true;a.Annotations[c].SetMsnId(d);b[1]=a.Annotations[c];return b}}}var e=new VEShape(MC_VESHAPE_EMPTY);e.SetMsnId(d);b[0]=false;b[1]=e;return b}function GetAnnotationById(e){if(cols.length<1){return null}var d=e,a=d.split(MC_IID_CON_TOKEN);
if(a[0]!=MC_IID_NAMESPACE){return null}a[1]=a[0]+MC_IID_CON_TOKEN+a[1];a[2]=a[1]+MC_IID_CON_TOKEN+a[2];for(var b=0;b<cols.length;b++){if(cols[b].iid==a[1]){var f=cols[b].Annotations.length;for(var c=0;c<f;c++){if(cols[b].Annotations[c].GetId()==a[2]){return cols[b].Annotations[c];break}}break}}return null}function GetCollectionByAnId(d){if(cols.length<1){return null}var c=d,a=c.split(MC_IID_CON_TOKEN);if(a[0]!=MC_IID_NAMESPACE){return null}a[1]=a[0]+MC_IID_CON_TOKEN+a[1];a[2]=a[1]+MC_IID_CON_TOKEN+a[2];for(var b=0;b<cols.length;b++){if(cols[b].iid==a[1]){cols[b]._index=b;return cols[b]}}return null}function DeleteAnnotationById(c){if(cols.length<1){return null}for(var a=0;a<cols.length;a++){if(cols[a].GetMsnId()==selecteColMsnId){var d=cols[a].Annotations.length;for(var b=0;b<d;b++){if(cols[a].Annotations[b].GetId()==c){ClearEntity(cols[a].Annotations[b]);cols[a].Annotations.splice(b,1);cols[a].UpdateBoundingBox();break}}break}}}function MoveAnnotations(h,i){var c=null,e=null,b=null;if(cols.length<1){return null}for(var a=0;a<cols.length;a++){if(cols[a].GetMsnId()==selecteColMsnId){c=a;var k=cols[a].Annotations.length;for(var f=0;f<k;f++){var g=cols[a].Annotations[f].GetId();if(e==null&&g==h){e=f}else{if(b==null&&g==i){b=f}}if(e!=null&&b!=null){break}}break}}if(c==null||e==null||b==null){return null}var j=cols[c].Annotations[e],d=null;if(e<b){for(var a=e;a<b;++a){cols[c].Annotations[a]=cols[c].Annotations[a+1];d=cols[c].Annotations[a];d.SetDisplayOrder(a+1);d.SetIndex(a);d.SetChangeState(MC_CHANGE_STATE_UPDATE)}}else{for(var a=e;a>b;--a){cols[c].Annotations[a]=cols[c].Annotations[a-1];d=cols[c].Annotations[a];d.SetDisplayOrder(a+1);d.SetIndex(a);d.SetChangeState(MC_CHANGE_STATE_UPDATE)}}cols[c].Annotations[b]=j;d=cols[c].Annotations[b];d.SetDisplayOrder(b+1);d.SetIndex(b);d.SetChangeState(MC_CHANGE_STATE_UPDATE);if(e<b){for(var a=e;a<=b;++a){mvcViewFacade.OnEntityRepaint(cols[c].Annotations[a])}}else{for(var a=b;a<=e;++a){mvcViewFacade.OnEntityRepaint(cols[c].Annotations[a])}}}function SwapAnnotations(j,k){var a=null,b=null,c=null;
if(cols.length<1){return null}for(var d=0;d<cols.length;d++){if(cols[d].GetMsnId()==selecteColMsnId){a=d;var m=cols[d].Annotations.length;for(var e=0;e<m;e++){if(b==null&&cols[d].Annotations[e].GetId()==j){b=e}else{if(c==null&&cols[d].Annotations[e].GetId()==k){c=e}}if(b!=null&&c!=null){break}}break}}if(a==null||b==null||c==null){return null}var l=cols[a].Annotations[b];cols[a].Annotations[b]=cols[a].Annotations[c];cols[a].Annotations[c]=l;var f=cols[a].Annotations[b].GetDisplayOrder(),g=cols[a].Annotations[c].GetDisplayOrder();cols[a].Annotations[b].SetDisplayOrder(g);cols[a].Annotations[c].SetDisplayOrder(f);var h=cols[a].Annotations[b].GetIndex(),i=cols[a].Annotations[c].GetIndex();cols[a].Annotations[b].SetIndex(i);cols[a].Annotations[c].SetIndex(h);cols[a].Annotations[b].SetChangeState(MC_CHANGE_STATE_UPDATE);cols[a].Annotations[c].SetChangeState(MC_CHANGE_STATE_UPDATE);mvcViewFacade.OnEntityRepaint(cols[a].Annotations[b]);mvcViewFacade.OnEntityRepaint(cols[a].Annotations[c]);return null}function DeleteAnnotation(b){if(!b){return null}if(cols.length<1){return null}var e=b.GetId(),a=e.split(MC_IID_CON_TOKEN);if(a[0]!=MC_IID_NAMESPACE){return null}a[1]=a[0]+MC_IID_CON_TOKEN+a[1];var d=null;for(var c=0;c<cols.length;c++){if(cols[c].iid==a[1]){d=cols[c];break}}if(d==null){return null}VE_MapOverlays.DeactivateEntityOverlays(b);DeleteAnnotationFromCollection(d,b)}function UpdateBoundingBox(c){if(c==null||c.Annotations.length<1){return null}var b=null,a=null,e=null;for(var d=0;d<c.Annotations.length;d++){e=c.Annotations[d];b=e.GetBoundingBox();if(b==null){return null}if(a!=null){a.x1=Math.min(a.x1,b.x1);a.y1=Math.min(a.y1,b.y1);a.x2=Math.max(a.x2,b.x2);a.y2=Math.max(a.y2,b.y2)}else{a=new Msn.VE.Bounds(0,0,b.x1,b.y1,b.x2,b.y2)}b=null}if(a){c.SetBoundingBox(0,0,a.x1,a.y1,a.x2,a.y2)}}function DeleteAnnotationFromCollection(a,b){ClearEntity(b);if(a.Annotations.length==1&&a.Annotations[0].GetId()==b.GetId()){a.Annotations.pop()}else{for(var c=0;c<a.Annotations.length;c++){if(a.Annotations[c].GetId()==b.GetId()){a.Annotations.splice(c,1);
break}}}b=null;a.UpdateBoundingBox();if(a==GetSelectedCollection()){if(typeof mvcViewFacade!="undefined"&&typeof mvcViewFacade.OnCollectionLayerRepaint=="function"){mvcViewFacade.OnCollectionLayerRepaint(a)}}}function CloneCollection(a){if(typeof a=="undefined"||a==null){return null}var g=a.Annotations.length,b=new VEShapeLayer;b.SetName(name);b.SetName(a.GetName());b.SetType(a.GetType());b.SetVisibility(a.GetVisibility());b.SetMaxZoomLevel(a.GetMaxZoomLevel());b.SetMinZoomLevel(a.GetMinZoomLevel());var c=a.GetBoundingBox();if(c){b.SetBoundingBox(c.z1,c.z2,c.x1,c.y1,c.x2,c.y2)}b.Tags=a.Tags;b.SetChangeType(a.GetChangeType());b.SetChangeState(a.GetChangeState());b.Notes=a.Notes;b.IsPublic=a.IsPublic;b.IsIndexed=a.IsIndexed;b.DateCreated=a.DateCreated;b.DateModified=a.DateModified;b._properties=CloneProperties(a._properties);if(g>0){var e=null,f=null;for(var d=0;d<g;d++){e=a.Annotations[d];f=CloneAnnotationById(e.GetId());b.AddEntityAnnotation(f)}}return b}function CloneAnnotationById(b){var a=self.GetAnnotationById(b);return CloneAnnotation(a)}function CloneAnnotation(an){var annotation=an;if(typeof annotation=="undefined"||annotation==null){return}var primitive=annotation.GetPrimitive(0);if(primitive.points==null||primitive.points.length<1){return null}var copypoints=new Array(primitive.points.length),copyprimitive=null;for(var j=0;j<primitive.points.length;j=j+2){copypoints[j]=primitive.points[j];copypoints[j+1]=primitive.points[j+1]}switch(primitive.type){case VEShapeType.Polygon:case VEShapeType.Polyline:if(primitive.type==VEShapeType.Polyline){copyprimitive=new Msn.Drawing.PolyLine(copypoints);copyprimitive.iid=Msn.Drawing.GetGeoUID(VEShapeType.Polyline)}else{copyprimitive=new Msn.Drawing.Polygon(copypoints)}copyprimitive.minX=primitive.minX;copyprimitive.minY=primitive.minY;copyprimitive.maxX=primitive.maxX;copyprimitive.maxY=primitive.maxY;copyprimitive.minZ=primitive.minZ;copyprimitive.maxZ=primitive.maxZ;copyprimitive.labelPosX=primitive.labelPosX;copyprimitive.labelPosY=primitive.labelPosY;copyprimitive.labelPosZ=primitive.labelPosZ;
copyprimitive.extruded=primitive.extruded;copyprimitive.isLabel=primitive.isLabel;if(primitive.altitudes){var altitudeLen=primitive.altitudes.length;copyprimitive.altitudes=[];for(var j=0;j<altitudeLen;j++){copyprimitive.altitudes[j]=primitive.altitudes[j]}}break;case VEShapeType.Pushpin:copyprimitive=new Msn.Drawing.Point(copypoints[0],copypoints[1]);copyprimitive.altitudes=[];if(primitive.altitudes){copyprimitive.altitudes[0]=primitive.altitudes[0]}}copyprimitive.altitudeMode=primitive.altitudeMode;copyprimitive.symbol=primitive.symbol;var copyannotation=new VEShape(MC_VESHAPE_EMPTY);copyannotation.AddPrimitive(copyprimitive);copyannotation.IconUrl=annotation.IconUrl;copyannotation.SetProperties(null,annotation.Title,annotation.Url,annotation.PhotoUrl,annotation.UserDate,annotation.Notes,annotation.RoutableLatitude,annotation.RoutableLongitude,annotation.BusinessListingId,annotation.IconId,annotation.LastModified,annotation.Keywords,annotation.mapserviceType,annotation.mapserviceSource,annotation.mapserviceOpacity);copyannotation.SetDisplayOrder(annotation.GetDisplayOrder());copyannotation.SetZoomLevel(annotation.GetZoomLevel());var bbox=annotation.GetBoundingBox();if(bbox){copyannotation.SetBoundingBox(bbox.z1,bbox.z2,bbox.x1,bbox.y1,bbox.x2,bbox.y2)}if(annotation.ViewPort){copyannotation.ViewPort=new VE_3DViewPort;copyannotation.ViewPort.Latitude=annotation.ViewPort.Latitude;copyannotation.ViewPort.Longitude=annotation.ViewPort.Longitude;copyannotation.ViewPort.Altitude=annotation.ViewPort.Altitude;copyannotation.ViewPort.Altitudemode=annotation.ViewPort.Altitudemode;copyannotation.ViewPort.Pitch=annotation.ViewPort.Pitch;copyannotation.ViewPort.Heading=annotation.ViewPort.Heading;copyannotation.ViewPort.Mapstyle=annotation.ViewPort.Mapstyle;copyannotation.ViewPort.SceneId=annotation.ViewPort.SceneId;copyannotation.ViewPort.Properties=CloneProperties(annotation.ViewPort.Properties)}copyannotation.SourceUrl=annotation.SourceUrl;copyannotation.SourceType=annotation.SourceType;if(annotation.ModelRep){copyannotation.ModelRep=new VE_3DModelRep;
copyannotation.ModelRep.Transform=annotation.ModelRep.Transform;copyannotation.ModelRep.ModelRefId=annotation.ModelRep.ModelRefId;copyannotation.ModelRep.MinBounds=annotation.ModelRep.MinBounds;copyannotation.ModelRep.MaxBounds=annotation.ModelRep.MaxBounds;copyannotation.ModelRep.R2eoffset=annotation.ModelRep.R2eoffset;copyannotation.ModelRep.Properties=CloneProperties(annotation.ModelRep.Properties)}if(annotation.ModelData){copyannotation.ModelData=new VE_3DModelData;copyannotation.ModelData.Properties=annotation.ModelData.Properties;copyannotation.ModelData.Callback=annotation.ModelData.Callback}if(annotation.Photos){var length=annotation.Photos.length;copyannotation.Photos=[];var copyphoto=null,photo=null;for(var i=0;i<length;i++){photo=annotation.Photos[i];copyphoto=new VE_Photo;copyphoto.Id=photo.Id;copyphoto.Url=photo.Url;copyphoto.Properties=CloneProperties(photo.Properties);copyannotation.Photos.push(copyphoto)}}if(annotation.Tour&&typeof annotation.Tour.Actions=="object"){copyannotation.Tour=new VE_3DTour;copyannotation.Tour.Actions=[];var tourLen=annotation.Tour.Actions.length;for(var i=0;i<tourLen;i++){var actionStr="{",touraction=annotation.Tour.Actions[i];for(var tourkey in touraction){actionStr=actionStr.concat("'",tourkey,"':'",touraction[tourkey],"',")}actionStr=actionStr.substring(0,actionStr.length-1);actionStr=actionStr.concat("}");var targetAction=eval("("+actionStr+")");if(typeof targetAction!="undefined"&&targetAction!=null){copyannotation.Tour.Actions.push(targetAction)}}}return copyannotation}function CloneProperties(a){if(typeof a!="object"||a==null){return null}var c={};for(var b in a){c[b]=a[b]}return c}function AddAnnotationToCollection(a,b){if(typeof b=="undefined"||b==null){var c=self.GetSelectedCollection();c.AddEntityAnnotation(a)}else{b.AddEntityAnnotation(a)}if(typeof mvcViewFacade!="undefined"&&typeof mvcViewFacade.OnEntityRepaint=="function"){mvcViewFacade.OnEntityRepaint(a)}}function DeleteAllPrimitivesFromAnnotation(a){if(typeof a!="undefined"&&a.GetPrimitiveCount()>0){var c=a.GetPrimitiveCount();
if(c<1){return null}for(var b=0;b<c;b++){DeletePrimitiveFromAnnotation(a.GetPrimitive(b),a)}}return a}function DeletePrimitiveFromAnnotation(b,a){a.DeletePrimitive(b.iid);if(a.GetPrimitiveCount()==0){DeleteAnnotation(a);a=null}return a}function ClearEntity(a){if(typeof a=="undefined"&&a==null){return null}VE_MapOverlays.DeactivateEntityOverlays(a);a.ClearAllPrimitives()}function ParseInternalID(b){var a=b.split(MC_IID_CON_TOKEN);if(!a||a[0]!=MC_IID_NAMESPACE){return null}a[1]=a[0]+MC_IID_CON_TOKEN+a[1];a[2]=a[1]+MC_IID_CON_TOKEN+a[2];a[3]=a[2]+MC_IID_CON_TOKEN+a[3];return a}function GetEntityPrimitiveById(i){if(cols.length<1){return null}var a=i.split(MC_IID_CON_TOKEN);if(a[0]!=MC_IID_NAMESPACE){return null}a[1]=a[0]+MC_IID_CON_TOKEN+a[1];a[2]=a[1]+MC_IID_CON_TOKEN+a[2];a[3]=a[2]+MC_IID_CON_TOKEN+a[3];var b=null,e=null,d=null;for(var g=0;g<cols.length;g++){b=cols[g];if(b.iid==a[1]){var j=null;for(var c=0;c<b.Annotations.length;c++){if(b.Annotations[c].GetId()==a[2]){e=b.Annotations[c];for(var h=0;h<b.Annotations[c].GetPrimitiveCount();h++){d=b.Annotations[c].GetPrimitive(h);if(d.iid==a[3]){var f=[];f[0]=b;f[1]=e;f[2]=d;return f}d=null}e=null}}}}if(b==null||e==null||d==null){return null}}function SavedLayerCount(){var c=0,d=cols.length;if(cols.length>0){for(var b=0;b<d;b++){var a=cols[b],e=a.GetMsnId();if(e!=0&&a.GetType()==MC_COL_TYPE_COLLECTION&&!a.IsExSource()){c++}}}return c}function IsHighlightEntity(a){if(_HighlightEntity!=null&&_HighlightEntity.iid==a){return true}else{return false}}function IsHighlightPrimitive(b){if(_HighlightEntity!=null){var a=_HighlightEntity.GetPrimitive(0);if(a&&a.iid==b){return true}}return false}function GetHighlightEntity(){return _HighlightEntity}function SetHighlightEntity(a){_HighlightEntity=a}function CheckHighlightStatus(a){return _isHighlighted==a?true:false}function SetHighlightStatus(a){_isHighlighted=a}this.SetHighlightEntity=SetHighlightEntity;this.SetHighlightStatus=SetHighlightStatus;this.CheckHighlightStatus=CheckHighlightStatus;this.IsHighlightEntity=IsHighlightEntity;
this.IsHighlightPrimitive=IsHighlightPrimitive;this.GetHighlightEntity=GetHighlightEntity;this.GetCollectionListDiv=GetCollectionListDiv;this.Init=Init;this.IsCollectionExist=IsCollectionExist;this.GetCollectionIndexByMsnId=GetCollectionIndexByMsnId;this.GetAnnotationByMsnId=GetAnnotationByMsnId;this.GetSelectedCollection=GetSelectedCollection;this.GetCollection=GetCollection;this.RetrieveCollection=RetrieveCollection;this.RetrieveCollectionById=RetrieveCollectionById;this.CreateNewCollection=CreateNewCollection;this.SaveCollection=SaveCollection;this.GetCollectionCount=GetCollectionCount;this.GetSelectedCollectionAnnotationCount=GetSelectedCollectionAnnotationCount;this.GetCollectionByIndex=GetCollectionByIndex;this.GetCollectionByMsnId=GetCollectionByMsnId;this.RemoveCollection=RemoveCollection;this.EmptyCollection=EmptyCollection;this.GetAnnotationById=GetAnnotationById;this.GetCollectionByAnId=GetCollectionByAnId;this.DeleteAnnotationById=DeleteAnnotationById;this.SwapAnnotations=SwapAnnotations;this.MoveAnnotations=MoveAnnotations;this.DeleteAnnotation=DeleteAnnotation;this.DeleteAnnotationFromCollection=DeleteAnnotationFromCollection;this.CloneAnnotationById=CloneAnnotationById;this.CloneAnnotation=CloneAnnotation;this.AddAnnotationToCollection=AddAnnotationToCollection;this.DeleteAllPrimitivesFromAnnotation=DeleteAllPrimitivesFromAnnotation;this.ParseInternalID=ParseInternalID;this.GetEntityPrimitiveById=GetEntityPrimitiveById;this.CloneCollection=CloneCollection;this.AddCollection=AddCollection;this.DeleteAll=DeleteAll;this.SetVisibility=SetVisibility;this.SavedLayerCount=SavedLayerCount;this.Dispose=Dispose};VE_CollectionActions=function(){};VE_CollectionActions.Create="CreateCollection";VE_CollectionActions.Update="UpdateCollection";VE_CollectionActions.RetrieveAll="RetrieveAllCollections";VE_CollectionActions.RetrieveDetails="RetrieveCollectionDetails";VE_CollectionActions.Delete="DeleteCollection";VE_CollectionActions.DeleteAll="DeleteAllCollections";VE_CollectionActions.DeleteAllAnnotations="DeleteAllAnnotations";
VE_AnnotationActions=function(){};VE_AnnotationActions.Create="CreateAnnotation";VE_AnnotationActions.Delete="DeleteAnnotation";VE_AnnotationActions.Update="UpdateAnnotation";VE_AnnotationActions.RetrieveAll="RetrieveAllAnnotations";VE_AnnotationState=function(){};VE_AnnotationState.None="None";VE_AnnotationState.Added="Added";VE_AnnotationState.Updated="Updated";VE_AnnotationState.Deleted="Deleted";VE_CollectionsManagerConstants=function(){};VE_CollectionsManagerConstants.Handler="UserCollections.aspx?action=";VE_CollectionsManagerConstants.Market="mkt=";VE_CollectionsManagerConstants.Random="rand=";VE_CollectionsManagerConstants.A_Id="aid";VE_CollectionsManagerConstants.A_Title="atitle";VE_CollectionsManagerConstants.A_Latitude="alatitude";VE_CollectionsManagerConstants.A_Longitude="alongitude";VE_CollectionsManagerConstants.A_Notes="anotes";VE_CollectionsManagerConstants.A_Keywords="akeywords";VE_CollectionsManagerConstants.A_IconId="aiconid";VE_CollectionsManagerConstants.A_InfoUrl="aurl";VE_CollectionsManagerConstants.A_PhotoUrl="aphotourl";VE_CollectionsManagerConstants.A_UserDate="auserdate";VE_CollectionsManagerConstants.A_DisplayOrder="adisplayorder";VE_CollectionsManagerConstants.A_BusinessId="abusinesslistingid";VE_CollectionsManagerConstants.A_CreationId="acreationid";VE_CollectionsManagerConstants.A_State="astate";VE_CollectionsManagerConstants.A_MapserviceType="amapservicetype";VE_CollectionsManagerConstants.A_MapserviceSource="amapservicesource";VE_CollectionsManagerConstants.A_MapserviceOpacity="amapserviceopacity";VE_CollectionsManagerConstants.C_Id="cid";VE_CollectionsManagerConstants.C_Name="cname";VE_CollectionsManagerConstants.C_IsPublic="cispublic";VE_CollectionsManagerConstants.C_Length="cannotationcount";VE_CollectionsManagerConstants.C_Keywords="ckeywords";VE_CollectionsManagerConstants.ViewerDefaultTitle=L_CollectionManagerViewerDefaultTitle_Text;VE_CollectionsManagerConstants.MinimizedTimerDelay=1;VE_CollectionsManagerConstants.TimerDelay=2000;VE_CollectionsManagerConstants.ExtendedTimerDelay=5000;
VE_CollectionsManagerConstants.MAX_COLLECTION_SIZE=200;VE_CollectionsManagerConstants.HELP_FILE_PATH="/cPublicPrivate.htm";VE_CollectionsManagerConstants.TourMode="tour";VELayerProperties={CopyAllowed:"copyallowed"};VEShapeLayer=function(){this._mapGuid=null;this.Name="";this.MsnId="";this.IsPublic=false;this.Culture="en-us";this.IsIndexed=false;this.SourceUrl=null;this.DateCreated=Date();this.DateModified=Date();this.Tags="";this.Notes="";this.Annotations=[];this.Dirty=false;this.IsClearDom=true;this.ViewableByOwnerOnly=false;this.EditableByOwner=true;this.OwnerIsViewing=false;this._properties=null;this.iid=MC_IID_NAMESPACE+MC_IID_CON_TOKEN+Msn.Drawing.GetGeoUID(MC_GEO_TYPE_COL);this._index=0;this.GetShapeCount=function(){if(this.Annotations){return this.Annotations.length}else{return 0}};this.ClearAnnotations=function(){while(this.Annotations.length){var a=this.Annotations.pop();a=null}};this.AddAnnotation=function(a,b){if(a&&this.Annotations){this.IsClearDom=true;a.IsClearDom=true;if(typeof b=="number"&&b>=0&&b<this.Annotations.length){this.Annotations.splice(b,0,a);return this.Annotations.length}else{a.SetIndex(this.Annotations.length);a.SetDisplayOrder(this.Annotations.length);return this.Annotations.push(a)}}};this.RetrieveAnnotationById=function(b){if(this.Annotations.length>0&&b){var a=0;while(a<this.Annotations.length){if(b==this.Annotations[a].Id){return a}a++}}return null};this.ResetOrder=function(){if(this.Annotations&&this.Annotations!=""&&this.Annotations!="undefined"&&this.Annotations.length>0){for(var a=0;a<this.Annotations.length;a++){if(this.Annotations[a] instanceof VEShape){this.Annotations[a].DisplayOrder=a;this.Annotations[a].Delta=0}}this.Dirty=false}};this.ReOrder=function(){this.Annotations.sort(this.sortByIndex);this.Dirty=false};this.sortByIndex=function(a,b){if(a instanceof VEShape&&b instanceof VEShape){a.DisplayOrder=a.DisplayOrder+a.Delta;b.DisplayOrder=b.DisplayOrder+b.Delta;a.Delta=0;b.Delta=0;return a.DisplayOrder-b.DisplayOrder}}};VEShapeLayer.prototype=new Msn.VE.Core.VectorLayer;
VEShapeLayer.prototype.isEmptyOnServerSide=false;VEShapeLayer.prototype.IsUpdateCollection=true;VEShapeLayer.prototype.AddEntityAnnotation=function(a){this.UpdateEntityAnnotation(a);this.AddAnnotation(a)};VEShapeLayer.prototype.SetChangeState=function(a){this.ChangeState=a};VEShapeLayer.prototype.GetChangeState=function(){if(typeof this.ChangeState=="undefined"){this.ChangeState=MC_CHANGE_STATE_DEFAULT}return this.ChangeState};VEShapeLayer.prototype.SetChangeType=function(a){this.ChangeType=a};VEShapeLayer.prototype.GetChangeType=function(){if(typeof this.ChangeType=="undefined"){this.ChangeType=MC_CHANGE_TYPE_ALL}return this.ChangeType};VEShapeLayer.prototype.UpdateEntityAnnotation=function(c){this.IsClearDom=true;c.IsClearDom=true;if(this.Annotations.length<1){this.SetBoundingBox(0,0,Infinity,Infinity,-Infinity,-Infinity)}var d=true,a=this.GetBoundingBox(),b=null;b=c.GetBoundingBox();var e=a.x1<=a.x2&&a.y1<=a.y2,f=b.x1<=b.x2&&b.y1<=b.y2;if(e&&f){d=a.x1<b.x1&&a.y1<b.y1&&a.x2>b.x2&&a.y2>b.y2}c.Update(true,this.iid);if(a){if(d){a.x1=Math.min(b.x1,a.x1);a.y1=Math.min(b.y1,a.y1);a.x2=Math.max(b.x2,a.x2);a.y2=Math.max(b.y2,a.y2)}else{a=this.UpdateBoundingBox()}}else{a=new Msn.VE.Bounds(0,0,b.x1,b.y1,b.x2,b.y2)}this.SetBoundingBox(0,0,a.x1,a.y1,a.x2,a.y2);this._SetTileId();a=null;return c};VEShapeLayer.prototype.UpdateBoundingBox=function(){var h=this.Annotations.length,g=null,a=null,b=Infinity,d=Infinity,c=-Infinity,e=-Infinity;for(var f=0;f<h;f++){g=this.Annotations[f];a=g.GetBoundingBox();b=Math.min(a.x1,b);d=Math.min(a.y1,d);c=Math.max(a.x2,c);e=Math.max(a.y2,e)}this.SetBoundingBox(0,0,b,d,c,e);this._SetTileId();return this.GetBoundingBox()};VEShapeLayer.prototype.IsExSource=function(){if(this.MsnId!=0&&this.MsnId.indexOf(MC_CML_EXCOL_PREFIX)==0){return true}else{return false}};VEShapeLayer.prototype.IsFromMsnStorage=function(){if(this.MsnId==0||this.IsExSource()){return false}else{return true}};VEShapeLayer.prototype.GetProperty=function(b){if(this._properties==null){return null}var a=this._properties[b];if(b==VELayerProperties.CopyAllowed){if(!this.IsPublic){a=0;
this._properties[VELayerProperties.CopyAllowed]=a}else{if(a==null){a=1;this._properties[VELayerProperties.CopyAllowed]=a}}}return typeof a=="undefined"?null:a};VEShapeLayer.prototype.SetProperty=function(b,a){if(typeof b!="string"&&typeof b!="number"||typeof a!="string"&&typeof a!="number"&&typeof a!="boolean"){return null}if(this._properties==null){this._properties={}}this._properties[b]=a};VEShapeLayer.prototype._SetTileId=function(){if(typeof VE_ShapeIndexManager!="undefined"){var a=VE_ShapeIndexManager.GetTileId(this.Boundingbox);if(a!=null){this.SetProperty(MC_CML_TILEID,a)}}};VEShapeLayer.prototype.IsDuplicate=function(b){var i=this.Annotations.length,e=b.GetPrimitive(0);if(i<1||e==null){return false}var n=e.type,a=null,d=0,c=0,l=b.ToString(),m=b.GetId(),h=b.GetMsnId(),g=b.GetBusinessListingId();for(var f=0;f<i;f++){a=this.Annotations[f];primitive2=a.GetPrimitive(0);if(primitive2==null||e.type!=primitive2.type){continue}d=a.GetMsnId();c=a.GetBusinessListingId();if(m!=a.GetId()){var k=h!=0&&d!=0&&h==d;if(k){return true}var j=g!=0&&c!=0&&g==c;if(j){return true}if(l==a.ToString()){return true}}d=0;c=0}return false};VEShapeLayer.prototype.GetBoundingRectangle=function(){var a=this.GetBoundingBox();return new VELatLongRectangle(new VELatLong(a.y2,a.x1),new VELatLong(a.y1,a.x2))};VEShapeLayer.prototype.GetShapeByIndex=function(a){var b=this.Annotations.length;if(typeof a!="number"&&a>0&&a<b-1){return null}return this.Annotations[a]};VEShapeLayer.prototype.GetShapeByID=function(b){var c=this.Annotations.length;for(var a=0;a<c;a++){if(this.Annotations[a].GetId()==b){return this.Annotations[a]}}return null};VEShapeLayer.prototype.DeleteAllShapes=function(){if(this._mapGuid!=null){var b=GetVEMapInstance(this._mapGuid);if(b!=null){b.m_vegraphicsmanager.ClearLayerDom(this)}}var c=this.Annotations.length;for(var a=0;a<c;a++){this.Annotations[a].DisposeEx()}this.Annotations=[];this.Boundingbox=new Msn.VE.Bounds(0,0,Infinity,Infinity,-Infinity,-Infinity);this.ClearClusterLayer()};VEShapeLayer.prototype.SwapShapes=function(a,b){var a=parseInt(a),b=parseInt(b);
VEValidator.ValidateInt(a,"idx1");VEValidator.ValidateInt(b,"idx2");if(a==b){return false}var c=this.Annotations.length;VEValidator.ValidateBetween(a,"idx1",0,c-1);VEValidator.ValidateBetween(b,"idx2",0,c-1);var h=this.Annotations[a];this.Annotations[a]=this.Annotations[b];this.Annotations[b]=h;var d=this.Annotations[a].GetDisplayOrder(),e=this.Annotations[b].GetDisplayOrder();this.Annotations[a].SetDisplayOrder(e);this.Annotations[b].SetDisplayOrder(d);var f=this.Annotations[a].GetIndex(),g=this.Annotations[b].GetIndex();this.Annotations[a].SetIndex(g);this.Annotations[b].SetIndex(f);if(this.Annotations[a].GetVisibility()){this.Annotations[a].Show()}if(this.Annotations[b].GetVisibility()){this.Annotations[b].Show()}return true};VEShapeLayer.prototype.AddShape=function(a,b){if(a&&typeof a.length!="undefined"){this.AddShapes(a,b)}else{VEValidator.ValidateObject(a,"_veshape",VEShape,"VEShape");if(a._shplayer!=null||a.Primitives[0]==null){throw new VEException("AddShape","err_invalidargument",L_ShpExist_text)}a._shplayer=this;this.UpdateEntityAnnotation(a);this.AddAnnotation(a,b);if(a.GetVisibility()){a.Show()}}};VEShapeLayer.prototype.AddShapes=function(c){VEValidator.ValidateObjectArray(c,"_veshapeArray",VEShape,"VEShape Array");var h=c.length,g=GetVEMapInstance(this._mapGuid);if(g&&g.GetMapMode()==Msn.VE.MapActionMode.Mode3D){for(var a=0;a<h;++a){this.AddShape(c[a])}}else{if(this._index==0&&this.GetShapeCount()==0){this.Show()}var d=[],f=this.Annotations.length;for(var a=0;a<f;a++){this.Annotations[a].ClearDomElements()}if(!Msn.VE.Environment.IsIE50()){for(var a=0;a<f;a++){var b=this.Annotations[a];if(b._isDrawn){if(b.IconUrl==null){b.IconUrl=Msn.VE.API.Constants.iconurl}d.push(b.ToHtml())}}}for(var a=0;a<h;++a){var b=c[a];b._shplayer=this;this.UpdateEntityAnnotation(b);this.AddAnnotation(b);if(b.IconUrl==null){b.IconUrl=Msn.VE.API.Constants.iconurl}d.push(b.ToHtml());b._isDrawn=true}var e=$ID(this.GetId());if(e){if(Msn.VE.Environment.IsIE50()){e.innerHTML+=d.join("")}else{e.innerHTML=d.join("")}}}this.Cluster()};
VEShapeLayer.prototype.DeleteShape=function(b){VEValidator.ValidateObject(b,"_veshape",VEShape,"VEShape");var d=this.Annotations.length;for(var a=0;a<d;a++){if(this.Annotations[a].GetId()==b.GetId()){if(this._mapGuid!=null){var c=GetVEMapInstance(this._mapGuid);if(c!=null){c.m_vegraphicsmanager.ClearEntityDom(this.Annotations[a])}}this.Annotations[a].DisposeEx();this.Annotations.splice(a,1);this.UpdateBoundingBox();break}}this.Cluster()};VEShapeLayer.prototype.Show=function(){this.SetVisibility(true);if(this._mapGuid==null){return null}var a=GetVEMapInstance(this._mapGuid);if(a==null){return null}if(this._clusterLayer){this._clusterLayer.SetVisibility(true);this._clusterLayer._clusterZoomLevel=null}a.m_vegraphicsmanager.DrawLayer(this)};VEShapeLayer.prototype.Hide=function(){this.SetVisibility(false);if(this._mapGuid==null){return null}var a=GetVEMapInstance(this._mapGuid);if(a==null){return null}a.m_vegraphicsmanager.ClearLayerDom(this);if(this._clusterLayer){this._clusterLayer.SetVisibility(false)}};VEShapeLayer.prototype.SetTitle=function(a){if(typeof a!="undefined"&&a!=null){this.Name=a.replace(/%0D%0A/g,"\r\n").replace(/%0A/g,"\n")}};VEShapeLayer.prototype.GetTitle=function(){if(typeof this.Name=="undefined"){this.Name="my collection"}return this.Name};VEShapeLayer.prototype.SetDescription=function(a){if(typeof a!="undefined"&&a!=null){this.Notes=a.replace(/%0D%0A/g,"\r\n").replace(/%0A/g,"\n")}};VEShapeLayer.prototype.GetDescription=function(){if(typeof this.Notes=="undefined"){this.Notes=""}return this.Notes};VEShapeLayer.prototype.SetMaxZoomLevel=function(a){a=parseInt(a);if(isNaN(a)||a>Msn.VE.API.Globals.veshapemaxzoom||a<Msn.VE.API.Globals.veshapeminzoom){throw new VEException("VEShapeLayer.SetMaxZoomLevel","err_incorrectzoomlevel",L_Shp_IncorrectZoomLevel_Text)}else{if(a<this.MinScale){throw new VEException("VEShapeLayer.SetMaxZoomLevel","err_incorrectzoomlevel",L_Shp_IncorrectZoomLevel2_Text)}}this.MaxScale=a;if(this.GetVisibility()){this.Show()}};VEShapeLayer.prototype.GetMaxZoomLevel=function(){return this.MaxScale
};VEShapeLayer.prototype.SetMinZoomLevel=function(a){a=parseInt(a);if(isNaN(a)||a<Msn.VE.API.Globals.veshapeminzoom||a>Msn.VE.API.Globals.veshapemaxzoom){throw new VEException("VEShapeLayer.SetMinZoomLevel","err_incorrectzoomlevel",L_Shp_IncorrectZoomLevel_Text)}else{if(a>this.MaxScale){throw new VEException("VEShapeLayer.SetMinZoomLevel","err_incorrectzoomlevel",L_Shp_IncorrectZoomLevel2_Text)}}this.MinScale=a;if(this.GetVisibility()){this.Show()}};VEShapeLayer.prototype.GetMinZoomLevel=function(){return this.MinScale};VEShapeLayer.prototype.IsVisible=function(){return this.GetVisibility()};VEShapeLayer.prototype.SetClusteringConfiguration=function(b,a){if(!this._isClusterLayer){if(a!=null){VEValidator.ValidateObject(a,"clusteringOptions",VEClusteringOptions,"VEClusteringOptions");if(a.Icon!=null){VEValidator.ValidateObject(a.Icon,"clusteringOptions.Icon",VECustomIconSpecification,"VECustomIconSpecification")}if(a.Callback!=null){VEValidator.ValidateFunction(a.Callback,"clusteringOptions.Callback")}}if(typeof b=="number"){VEValidator.ValidateClusteringType(b,"type");if(b==VEClusteringType.Grid){this._clusteringAlgorithm=GridCluster}else{this._clusteringAlgorithm=null}}else{if(typeof b=="function"){this._clusteringAlgorithm=b}else{throw new VEException("VEShapeLayer:SetClusteringConfiguration","err_invalidargument",L_invalidargument_text.replace("%1","type").replace("%2","VEClusteringType"))}}this._clusteringOptions=a;if(this._clusteringAlgorithm==null){this.DeleteClusterLayer()}else{this.CreateClusterLayer()}var c=GetVEMapInstance(this._mapGuid);if(c!=null&&c.m_vegraphicsmanager!=null){if(this._clusterLayer!=null){this.Cluster()}else{c.m_vegraphicsmanager.DrawLayer(this)}}}else{throw new VEException("VEShapeLayer:SetClusteringConfiguration","err_invalidlayertype",L_InvalidClusterLayer_Text)}};VEShapeLayer.prototype.Cluster=function(){if(!this._isClusterLayer&&this._clusterLayer){this._clusterLayer._clusterZoomLevel=null;var a=GetVEMapInstance(this._mapGuid);if(a!=null&&a.m_vegraphicsmanager!=null){a.m_vegraphicsmanager.DrawLayer(this)
}}};VEShapeLayer.prototype.GetClusteredShapes=function(b){var a=[];VEValidator.ValidateClusteringType(b,"type");switch(b){case VEClusteringType.Grid:a=GridCluster(this)}return a};VEShapeLayer.prototype.CreateClusterLayer=function(){if(!this._isClusterLayer&&!this._clusterLayer){var a=GetVEMapInstance(this._mapGuid);if(a!=null){this._clusterLayer=new VEShapeLayer;this._clusterLayer._isClusterLayer=true;a.AddShapeLayer(this._clusterLayer)}}};VEShapeLayer.prototype.DeleteClusterLayer=function(){if(this._clusterLayer){var a=GetVEMapInstance(this._mapGuid);if(a!=null){a.DeleteShapeLayer(this._clusterLayer);this._clusterLayer=null}}};VEShapeLayer.prototype.ClearClusterLayer=function(){if(this._clusterLayer){this._clusterLayer._clusterZoomLevel=null;this._clusterLayer.DeleteAllShapes()}};function GridCluster(m){var q=[],g=GetVEMapInstance(m._mapGuid);if(g!=null){var b={},d=g.GetZoomLevel(),p=2,r=0;if(g.vemapcontrol.IsMapViewOblique()){d+=18}var u=m.Annotations.length;for(var n=0;n<u;n++){var a=m.Annotations[n];if(a.GetVisibility()&&!a.IsModel()&&a.GetType()==VEShapeType.Pushpin){if(!a._sort){a._sort={};a._sort.zoomLevel=d}if(a._sort.zoomLevel!=d||!a._sort.zoomQuadKey){a._sort.zoomLevel=d;var j=new Msn.VE.LatLong;j.latitude=a.Primitives[0].points[1];j.longitude=a.Primitives[0].points[0];var s=g.vemapcontrol.GetOrthoMode(),t=s.LatLongToPixel(j,d+p);a._sort.zoomQuadkey=VEPixelToQuadKey(t,d+p)}if(!b[a._sort.zoomQuadkey]){b[a._sort.zoomQuadkey]=[]}b[a._sort.zoomQuadkey].push(a)}}for(var o in b){var e=b[o],c=e.length;if(c>1){var h=new VEClusterSpecification;h.Shapes=e;var k=0,l=0,i=false;for(var f=0;f<c;f++){k+=parseFloat(e[f].Primitives[0].points[1]);l+=parseFloat(e[f].Primitives[0].points[0]);i=i||e[f].IsEncrypted()}h.LatLong=i?VEShape.LatLongFactory.CreateVELatLong(k/c,l/c):new VELatLong(k/c,l/c);q[r]=h;r++}}b=null}return q}function VEShape(c,b){this.Id=0;this.Title=Msn.VE.API?"":L_AnnotationConfDefaultTitle_Text;this.Latitude=0;this.Longitude=0;this.RoutableLatitude=null;this.RoutableLongitude=null;this.Notes="";this.Keywords="";
this.Url="";this.PhotoUrl="";this.UserDate=new Date;this.DisplayOrder=0;this.BusinessListingId=0;this.IconId=0;this.LastModified=new Date;this._cacheOfSerializationLength=0;this.TileId=null;this.IsClearDom=true;this.mapserviceType="None";this.mapserviceSource="";this.mapserviceOpacity=0.6;this.mapserviceMetadata="";this.mapserviceStatus=0;this.ViewPort=null;this.Tour=null;this.ModelRep=null;this.ModelData=null;this.IsModelVisible=false;this.Photos=null;this.SourceUrl=null;this.SourceType=null;this.ShowDetailOnMouseOver=true;this.OnMouseOverCallback=null;this._customIcon=null;this._IconContent=null;this._eroContent=null;this._shplayer=null;this.IconUrl=null;this.maxZoomLevel=21;this.minZoomLevel=1;var a=false;this.IsEncrypted=function(){return a};this.SetEncrypted=function(){a=true};if(typeof this._Construct=="function"){this._Construct(true,c,b)}}VEShape.prototype.GetCacheOfSerializationLength=function(){if(this._cacheOfSerializationLength<=0){var a=VE_CookieSerializer.SerializeAnnotation(this);if(a!=null){this._cacheOfSerializationLength=a.length}}return this._cacheOfSerializationLength};VEShape.prototype.InvalidateCacheOfSerializationLength=function(){this._cacheOfSerializationLength=0};VEShape.prototype.index=0;VEShape.prototype.SetIndex=function(a){this.index=a};VEShape.prototype.GetIndex=function(){return this.index};VEShape.prototype.SetDisplayOrder=function(a){this.DisplayOrder=a};VEShape.prototype.GetDisplayOrder=function(){return this.DisplayOrder};VEShape.prototype.SetProperties=function(b,n,o,j,k,m,g,e,c,l,i,a,h,f,d){if(b){this.Id=b}this.Title=n.replace(/%0D%0A/g,"\r\n").replace(/%0A/g,"\n");this.RoutableLatitude=g;this.RoutableLongitude=e;this.Notes=m.replace(/%0D%0A/g,"\r\n").replace(/%0A/g,"\n");if(a!=null&&a.length>0&&a[0]!=null){this.Keywords=a;this.Keywords[0]=this.Keywords[0].replace(/%0D%0A/g,"\r\n").replace(/%0A/g,"\n")}else{this.Keywords=a}this.Url=o;this.PhotoUrl=j;this.UserDate=k;this.BusinessListingId=c;this.IconId=l;this.LastModified=i;this.mapserviceType=h;this.mapserviceSource=f;this.mapserviceOpacity=d
};VEShape.prototype.symbolUrl="samplesymbol";VEShape.prototype.GetMsnId=function(){return this.Id};VEShape.prototype.SetMsnId=function(a){this.Id=a};VEShape.prototype.SetBoundingBox=function(f,e,c,d,a,b){if(typeof this.Boundingbox=="undefined"||this.Boundingbox==null){if(c==null||d==null||a==null||b==null){return null}this.Boundingbox=new Msn.VE.Bounds(f,e,c,d,a,b)}else{this.Boundingbox.x1=c;this.Boundingbox.y1=d;this.Boundingbox.z1=f;this.Boundingbox.x2=a;this.Boundingbox.y2=b;this.Boundingbox.z2=e}if(typeof VE_ShapeIndexManager!="undefined"){this.TileId=VE_ShapeIndexManager.GetTileId(this.Boundingbox)}return this.Boundingbox};VEShape.prototype.GetBoundingBox=function(){if(typeof this.Boundingbox=="undefined"||!this.Boundingbox){this.Boundingbox=new Msn.VE.Bounds(0,0,Infinity,Infinity,-Infinity,-Infinity)}return this.Boundingbox};VEShape.prototype.GetCenterPoint=function(){if(!this.GetBoundingBox()){return}var a=new Array(2);a[0]=(this.GetBoundingBox().x1+this.GetBoundingBox().x2)/2;a[1]=(this.GetBoundingBox().y1+this.GetBoundingBox().y2)/2;return a};VEShape.prototype.SetId=function(a){this.iid=a};VEShape.prototype.GetId=function(){if(typeof this.iid=="undefined"||this.iid==0||this.iid==null){this.iid=Msn.Drawing.GetGeoUID(MC_GEO_TYPE_ENTITY)}return this.iid};VEShape.prototype.SetVisibility=function(a){this.Visibility=a};VEShape.prototype.GetVisibility=function(){if(typeof this.Visibility=="undefined"||typeof this.Visibility=="null"){this.Visibility=true}return this.Visibility};VEShape.prototype.SetBusinessListingId=function(a){if(typeof a=="undefined"||a=="null"){this.BusinessListingId=0}else{this.BusinessListingId=a}};VEShape.prototype.GetBusinessListingId=function(){if(typeof this.BusinessListingId=="undefined"||this.BusinessListingId==null||this.BusinessListingId=="null"){this.BusinessListingId=0}return this.BusinessListingId};VEShape.prototype.SetType=function(a){this.Type=a};VEShape.prototype.GetType=function(){if(typeof this.Type=="undefined"){this.Type="aN"}return this.Type};VEShape.prototype.SetSaveStatus=function(a){this.SaveStatus=a
};VEShape.prototype.IsSaved=function(){if(typeof this.SaveStatus=="undefined"){this.SaveStatus=true}return this.SaveStatus};VEShape.prototype.SetOnScratchpad=function(a){this.OnScratchpad=a};VEShape.prototype.IsOnScratchpad=function(){if(typeof this.OnScratchpad=="undefined"){this.OnScratchpad=true}return this.OnScratchpad};VEShape.prototype.SetZoomLevel=function(a){this.ZoomLevel=a};VEShape.prototype.GetZoomLevel=function(){if(typeof this.ZoomLevel=="undefined"){this.ZoomLevel=12}return this.ZoomLevel};VEShape.prototype.SetChangeState=function(a){this.ChangeState=a};VEShape.prototype.GetChangeState=function(){if(typeof this.ChangeState=="undefined"){this.ChangeState=MC_CHANGE_STATE_DEFAULT}return this.ChangeState};VEShape.prototype.SetChangeType=function(a){this.ChangeType=a};VEShape.prototype.GetChangeType=function(){if(typeof this.ChangeType=="undefined"){this.ChangeType=MC_CHANGE_TYPE_ALL}return this.ChangeType};VEShape.prototype.HasAltitude=function(){var a=this.Primitives;if(typeof a=="undefined"||a==null){return false}if(a[0].altitudes==null){return false}else{return true}};VEShape.prototype.GetPrimitiveCount=function(){if(typeof this.Primitives=="undefined"||this.Primitives==null){this.Primitives=[];return 0}return this.Primitives.length};VEShape.prototype.SetPrimitives=function(a){this.Primitives=a;this.SetType(a[0].type)};VEShape.prototype.GetPrimitives=function(){if(typeof this.Primitives=="undefined"||this.Primitives==null){this.Primitives=[]}return this.Primitives};VEShape.prototype.GetPrimitive=function(a){if(typeof this.Primitives=="undefined"||this.Primitives==null||this.Primitives.length==0){this.Primitives=[];return null}if(a<this.Primitives.length){return this.Primitives[a]}else{return this.Primitives[0]}};VEShape.prototype.AddPrimitive=function(a){if(typeof this.Primitives=="undefined"||this.Primitives==null){this.Primitives=[]}this.Primitives.push(a);this.SetType(a.type)};VEShape.prototype.UpdateUI=function(){};VEShape.prototype.DeletePrimitive=function(c){if(typeof this.Primitives=="undefined"||this.Primitives==null){this.Primitives=[];
return null}if(this.Primitives.length==1){this.Primitives[0].Destroy();this.Primitives.pop();this.Primitives=[];return null}var b=null;for(var a=0;a<this.Primitives.length;a++){b=this.Primitives[a];if(b.iid==c){this.Primitives[a].splice(a,1);break}}if(b){b.Destroy()}};VEShape.prototype.ClearAllPrimitives=function(){if(typeof this.Primitives=="undefined"||this.Primitives==null){this.Primitives=[];return}for(var a=0;a<this.Primitives.length;a++){this.Primitives[a].Destroy()}this.Primitives=[]};VEShape.prototype.Update=function(j,h){var b=false,l=this.GetId().split(MC_IID_CON_TOKEN);if(l[0]==MC_IID_NAMESPACE){b=true}else{b=false;if(!h){return false}var k=h.split(MC_IID_CON_TOKEN);if(k[0]!=MC_IID_NAMESPACE){return false}}var m=this.Primitives.length,a=null,d=Infinity,f=Infinity,e=-Infinity,g=-Infinity;for(var i=0;i<m;i++){a=this.Primitives[i];if(a.type!=VEShapeType.Pushpin){if(!b||j||(a.minX==null||a.minY==null||a.maxX==null||a.maxY==null)){var c=Msn.Drawing.ComputeBoundingBox(a.points);if(c){a.minX=c[0];a.minY=c[1];a.maxX=c[2];a.maxY=c[3]}}d=Math.min(a.minX,d);f=Math.min(a.minY,f);e=Math.max(a.maxX,e);g=Math.max(a.maxY,g);Msn.Drawing.CalculateLabelPosition(a);this.Longitude=a.labelPosX;this.Latitude=a.labelPosY;this.Altitude=a.labelPosZ}else{d=Math.min(a.points[0],d);f=Math.min(a.points[1],f);e=Math.max(a.points[0],e);g=Math.max(a.points[1],g);this.Longitude=a.points[0];this.Latitude=a.points[1]}if(!b){a.iid=h+MC_IID_CON_TOKEN+this.GetId()+MC_IID_CON_TOKEN+a.iid}a.title=this.Title;if(a.shape!=null){a.shape.id=a.iid}}this.SetBoundingBox(0,0,d,f,e,g);if(!b){this.SetId(h+MC_IID_CON_TOKEN+this.GetId())}this.guid=this.GetId();return this.GetBoundingBox()};VEShape.prototype.SetIconUrl=function(a){this.IconUrl=a};VEShape.prototype.GetIconUrl=function(){return this.IconUrl};VEShape.prototype.IsModel=function(){return this.ModelRep==null&&this.ModelData==null?false:true};VEShape.prototype.IsOverlay=function(){return IsValidMapserviceType(this.mapserviceType)&&this.mapserviceType!=VEMapserviceType.None};VEShape.prototype.MovePrimitive=function(d,c){var d=parseFloat(d),c=parseFloat(c);
if(isNaN(d)||isNaN(c)){return}var f=null;for(var e=0;e<this.Primitives.length;e++){f=this.Primitives[e];var b=f.points,g=b.length;for(var a=0;a<g-1;a=a+2){b[a]=b[a]+d;b[a+1]=b[a+1]+c}}};VEShape.prototype.Dispose=function(){this.ClearAllPrimitives();this.Boundingbox=null;this._customIcon=null;this._IconContent=null;this._eroContent=null;this._shplayer=null;this.IconUrl=null;this.Id=null;this.Title=null;this.Latitude=null;this.Longitude=null;this.RoutableLatitude=null;this.RoutableLongitude=null;this.Notes=null;this.Keywords=null;this.Url=null;this.PhotoUrl=null;this.UserDate=null;this.DisplayOrder=null;this.BusinessListingId=null;this.IconId=null;this.LastModified=null;this.ViewPort=null;this.Tour=null;this.ModelRep=null;this.ModelData=null;this.SourceUrl=null;this.SourceType=null;this.Photos=null};VEShape.prototype.ToString=function(){var a="<e>",f=this.Primitives.length,d=null;for(var e=0;e<f;e++){d=this.Primitives[e];if(d.type==VEShapeType.Pushpin){a=a.concat("<coords>",d.points.join(","),"</coords>")}}var b="<a>",c="</a>";a=a.concat("<as>");a=a.concat(b,this.GetBusinessListingId(),c,b,this.Url,c,b,this.PhotoUrl,c,b,this.Title,c,b,this.Type,c);a=a.concat("</as>");a=a.concat("</e>");return a};function VE_3DViewPort(){this.Latitude=0;this.Longitude=0;this.Altitude=0;this.Altitudemode="Datum";this.Pitch=0;this.Heading=0;this.Mapstyle="r";this.SceneId=0;this.Properties=null}function VE_3DModelRep(){this.Transform=null;this.ModelRefId=null;this.MinBounds=null;this.MaxBounds=null;this.Properties=null;this.R2eoffset=null}function VE_3DModelData(){this.Properties=null;this.Callback=null}function VE_3DTour(){this.Actions=null}function VE_Photo(){this.Id=null;this.Url=null;this.Properties=null}VEShape.prototype.SetPhotos=function(a){this.Photos=a};function _VE_EntityDrawingState(){this.zIndexIcon=null;this.zIndexPolyShape=null;this.minZoomLevel=null;this.maxZoomLevel=null;this.isShared=null;this.parentEl=null;this.text=null}function _VE_CreateServiceInstance(a){switch(a){case _VE_ServiceType.MapCruncher:return new VETileSourceSpecification;
default:return null}return null}_VE_ServiceType={MapCruncher:"t",NetworkLink:"n"};VEShape.Decoder=new _xy1;VEShape.LatLongFactory=new VELatLongFactory(new VELatLongFactoryAlwaysEncodeSpec);VEShape.prototype._Construct=function(j,g,e){var a=[],d=[],k=false,f=null;if(typeof g!="undefined"){if(g==MC_VESHAPE_EMPTY&&j){this.maxZoomLevel=Msn.VE.API.Globals.veshapemaxzoom;this.minZoomLevel=Msn.VE.API.Globals.veshapeminzoom;this._eroContent=null;this._shplayer=null;return}}else{throw new VEException("VEShape","err_invalidargument",L_invalidargument_text.replace("%1","type").replace("%2","VEShapeType"))}if(typeof e=="object"){if(typeof e.length=="number"){var l=e.length;for(var h=0;h<l;h++){if(e[h] instanceof VELatLong){var c=VEShape.Decoder.Decode(e[h]);if(e[h]._reserved){this.SetEncrypted()}a.push(c.Longitude);a.push(c.Latitude);if(c.Altitude!=null){if(c.AltitudeMode!=null){if(f!=null&&f!=c.AltitudeMode){throw new VEException("VEShape","err_altitudemodemismatch",L_altitudemodemismatch_Text)}else{f=c.AltitudeMode}}k=true;d.push(c.Altitude)}else{d.push(0)}}else{throw new VEException("VEShape","err_invalidargument",L_invalidargument_text.replace("%1","points["+h+"]").replace("%2","VELatLong"))}}}else{if(e instanceof VELatLong){var c=VEShape.Decoder.Decode(e);if(e._reserved){this.SetEncrypted()}a.push(c.Longitude);a.push(c.Latitude);if(c.Altitude!=null){k=true;f=c.AltitudeMode;d.push(c.Altitude)}}else{throw new VEException("VEShape","err_invalidargument",L_invalidargument_text.replace("%1","points").replace("%2","VELatLong"))}}}else{throw new VEException("VEShape","err_invalidargument",L_invalidargument_text.replace("%1","points").replace("%2","VELatLong[]"))}var b=null,i=a.length;if(g==VEShapeType.Pushpin){if(i<2){throw new VEException("VEShape","err_incorrectpoints",L_Shp_IncorrectPoints_Text)}if(j){b=new Msn.Drawing.Point(a[0],a[1])}}else{if(g==VEShapeType.Polyline){if(i<3){throw new VEException("VEShape","err_incorrectpoints",L_Shp_IncorrectPoints_Text)}if(j){b=new Msn.Drawing.PolyLine(a)}}else{if(g==VEShapeType.Polygon){if(i<5){throw new VEException("VEShape","err_incorrectpoints",L_Shp_IncorrectPoints_Text)
}if(a[0]!=a[i-2]||a[1]!=a[i-1]||k&&d[0]!=d[i/2-1]){a.push(a[0]);a.push(a[1]);d.push(d[0])}if(j){b=new Msn.Drawing.Polygon(a)}}else{throw new VEException("VEShape","err_invalidargument",L_invalidargument_text.replace("%1","type").replace("%2","VEShapeType"))}}}if(j){this.maxZoomLevel=Msn.VE.API.Globals.veshapemaxzoom;this.minZoomLevel=Msn.VE.API.Globals.veshapeminzoom;this._eroContent=null;this._shplayer=null;this._shapeElement=null;this._iconElement=null;this._isClipped=false;if(k){b.altitudes=d;if(f){b.altitudeMode=f}else{b.altitudeMode=VEAltitudeMode.Default}}else{b.altitudes=null;b.altitudeMode=VEAltitudeMode.Default}if(typeof VE_MapDispatch_SymbolLib!="undefined"){if(g==VEShapeType.Pushpin){b.symbol=VE_MapDispatch_SymbolLib.GetMapSymbolByID(MC_PROPERTY_PUSHPIN)}else{b.symbol=VE_MapDispatch_SymbolLib.GetCurrentDefaultSymbol()}b.symbol.imagedata_src=Msn.VE.API.Constants.iconurl;b.symbol.style_zIndex=Msn.VE.API.Globals.veshapeiconzindex;b.symbol.style_zIndex_polyshape=Msn.VE.API.Globals.veshapepolyshapezindex;this.AddPrimitive(b)}else{throw new VEException("VEShape:new VEShape","err_notinitialized",L_shp_Notinitialized_text)}}else{this.Primitives[0].points=a;if(k){this.Primitives[0].altitudes=d;if(f){this.Primitives[0].altitudeMode=f}else{this.Primitives[0].altitudeMode=VEAltitudeMode.Default}}else{this.Primitives[0].altitudes=null;this.Primitives[0].altitudeMode=VEAltitudeMode.Default}}};VEShape.prototype.GetShapeType=function(){return this.Primitives[0].type};VEShape.prototype.GetShapeLayer=function(){return this._shplayer};VEShape.prototype.GetID=function(){if(this._shplayer==null){return null}return this.GetId()};VEShape.prototype.Show=function(){this.SetVisibility(true);if(this._shplayer==null||this._shplayer._mapGuid==null){return}vmap=GetVEMapInstance(this._shplayer._mapGuid);if(vmap==null){return}if(this._shplayer.GetVisibility()){vmap.m_vegraphicsmanager.ClearEntityDom(this);if(this._shplayer._clusterLayer){this._shplayer.Cluster()}else{vmap.m_vegraphicsmanager.DrawEntity(this)}vmap.m_vegraphicsmanager.PushOffsetRequest()
}};VEShape.prototype.Redraw=function(c,d,e,f,b){if(this.GetVisibility()&&this._shplayer&&this._shplayer._mapGuid&&this._shplayer.GetVisibility()){var a=GetVEMapInstance(this._shplayer._mapGuid);if(a==null){return}if(a.GetMapMode()==Msn.VE.MapActionMode.Mode3D||!this._isDrawn){this.Show()}else{if(c){a.m_vegraphicsmanager.UpdatePoints(this,true)}if(d){a.m_vegraphicsmanager.UpdateIconPoints(this)}if(e){a.m_vegraphicsmanager.UpdateStyle(this)}if(f){a.m_vegraphicsmanager.UpdateIconStyle(this)}if(b){if(this.GetIconVisibility()){a.m_vegraphicsmanager.ShowIcon(this)}else{a.m_vegraphicsmanager.HideIcon(this)}}}}};VEShape.prototype.Hide=function(){this.SetVisibility(false);if(this._shplayer==null||this._shplayer._mapGuid==null){return}vmap=GetVEMapInstance(this._shplayer._mapGuid);if(vmap==null){return}vmap.m_vegraphicsmanager.ClearEntityDom(this);if(this._shplayer.GetVisibility()){this._shplayer.Cluster()}};VEShape.prototype.SetIconVisibility=function(a){if(this.Primitives[0].type!=VEShapeType.Pushpin){this.Primitives[0].isLabel=a}};VEShape.prototype.HideIcon=function(){if(this.Primitives[0].type!=VEShapeType.Pushpin||this.IsModel()){this.Primitives[0].isLabel=false}if(this._shplayer==null||this._shplayer._mapGuid==null){return}this.Redraw(false,false,false,false,true)};VEShape.prototype.ShowIcon=function(){if(this.Primitives[0].type!=VEShapeType.Pushpin||this.IsModel()){this.Primitives[0].isLabel=true}if(this._shplayer==null||this._shplayer._mapGuid==null){return}this.Redraw(false,false,false,false,true)};VEShape.prototype.GetIconVisibility=function(){if(this.Primitives[0].type!=VEShapeType.Pushpin){return this.Primitives[0].isLabel}else{return true}};VEShape.prototype.GetPoints=function(){var d=[],b=this.Primitives[0].points,e=this.Primitives[0].altitudes,f=b.length;for(var a=0;a<f-1;a=a+2){var c=null;if(this.IsEncrypted()){c=VEShape.LatLongFactory.CreateVELatLong(b[a+1],b[a])}else{c=new VELatLong(b[a+1],b[a])}if(e){c.SetAltitude(e[a/2],this.Primitives[0].altitudeMode)}d.push(c)}return d};VEShape.prototype.SetPoints=function(b){if(this.IsModel()){return false
}this._Construct(false,this.Primitives[0].type,b);if(this._shplayer!=null){this._shplayer.UpdateEntityAnnotation(this)}var a=this.Primitives[0];Msn.Drawing.CalculateLabelPosition(a,true);if(this.Primitives[0].type!=VEShapeType.Pushpin){this.Latitude=a.labelPosY;this.Longitude=a.labelPosX;this.Altitude=a.labelPosZ}this.Redraw(true,true);if(this._shplayer&&this._shplayer._mapGuid&&this._shplayer.GetVisibility()&&this.GetVisibility()){this._shplayer.Cluster()}};VEShape.prototype.SetTitle=function(a){if(typeof a!="undefined"&&a!=null){this._eroContent=null;this.Title=a.replace(/%0D%0A/g,"\r\n").replace(/%0A/g,"\n")}};VEShape.prototype.GetTitle=function(){if(typeof this.Title=="undefined"){this.Title=L_AnnotationConfDefaultTitle_Text}return this.Title};VEShape.prototype.SetDescription=function(a){if(typeof a!="undefined"&&a!=null){this._eroContent=null;this.Notes=a.replace(/%0D%0A/g,"\r\n").replace(/%0A/g,"\n")}};VEShape.prototype.GetDescription=function(){if(typeof this.Notes=="undefined"){this.Notes=""}return this.Notes};VEShape.prototype.SetMaxZoomLevel=function(a){a=parseInt(a);if(isNaN(a)||a>this.maxZoomLevel){throw new VEException("VEShape.SetMaxZoomLevel","err_incorrectzoomlevel",L_Shp_IncorrectZoomLevel_Text)}else{if(a<this.minZoomLevel){throw new VEException("VEShape.SetMaxZoomLevel","err_incorrectzoomlevel",L_Shp_IncorrectZoomLevel2_Text)}}this.maxZoomLevel=a;if(this.GetVisibility()){this.Show()}};VEShape.prototype.GetMaxZoomLevel=function(){return this.maxZoomLevel};VEShape.prototype.SetMinZoomLevel=function(a){a=parseInt(a);if(isNaN(a)||a<1){throw new VEException("VEShape.SetMinZoomLevel","err_incorrectzoomlevel",L_Shp_IncorrectZoomLevel_Text)}else{if(a>this.maxZoomLevel){throw new VEException("VEShape.SetMinZoomLevel","err_incorrectzoomlevel",L_invalidminmaxzoom_text)}}this.minZoomLevel=a;if(this.GetVisibility()){this.Show()}};VEShape.prototype.GetMinZoomLevel=function(){return this.minZoomLevel};VEShape.prototype.GetCustomIcon=function(){var a=null,b=this.Primitives[0].symbol;if(typeof b=="object"&&b.isOn==true){a=new VECustomIconSpecification;
a.Image=b.imagedata_src;a.TextBold=b.textbox_bold;a.TextItalics=b.textbox_italic;a.TextUnderline=b.textbox_underscore;a.TextFont=b.textbox_font;a.TextSize=b.textbox_size;a.TextOffset=new VEPixel(b.textbox_OffsetX,b.textbox_OffsetY);a.ImageOffset=new VEPixel(b.img_offsetX,b.img_offsetY);a.CustomHTML=this._customIcon;a.TextContent=this.Primitives[0].name;a.ImageWidth=b.img_width;a.ImageHeight=b.img_height;var e=new VEHexStringToColor,d=b.textbox_color;if(d.indexOf("#")==0){d=d.substring(1)}a.ForeColor=e.Convert(d);a.ForeColor.A=b.textbox_color_opacity;var c=b.textbox_backcolor;if(c.indexOf("#")==0){c=c.substring(1)}a.BackColor=e.Convert(c);a.BackColor.A=b.textbox_backcolor_opacity}else{a=this._customIcon}return a};VEShape.prototype.SetCustomIcon=function(b){if(typeof b=="undefined"||b==null){return null}if(typeof b=="object"){VEValidator.ValidateObject(b,"_content_",VECustomIconSpecification,"VECustomIconSpecification");if(typeof b.TextContent=="string"&&b.TextContent!=null){this.Primitives[0].name=b.TextContent}var a=this.Primitives[0].symbol;if(a.id==MC_PROPERTY_PARK||a.id==MC_PROPERTY_PUSHPIN){a=a.Clone()}if(typeof b.Image=="string"&&b.Image!=null){a.imagedata_src=GetImageFullUrl(b.Image)}else{a.imagedata_src=Msn.VE.API.Constants.iconurl}var e=b.ForeColor;if(typeof e=="object"&&e!=null){VEValidator.ValidateObject(e,"fC",VEColor,"VEColor");a.textbox_color=e.ToHexString();a.textbox_color_opacity=e.A}var d=b.BackColor;if(typeof d=="object"&&d!=null){VEValidator.ValidateObject(d,"bC",VEColor,"VEColor");a.textbox_backcolor=d.ToHexString();a.textbox_backcolor_opacity=d.A}var g=b.TextOffset;if(typeof g=="object"&&g!=null){VEValidator.ValidateObject(g,"tO",VEPixel,"VEPixel");a.textbox_OffsetX=b.TextOffset.x;a.textbox_OffsetY=b.TextOffset.y}var f=b.ImageOffset;if(typeof f=="object"&&f!=null){VEValidator.ValidateObject(f,"iO",VEPixel,"VEPixel");a.img_offsetX=f.x;a.img_offsetY=f.y}if(b.TextBold){a.textbox_bold=true}if(b.TextItalics){a.textbox_italic=true}if(b.TextUnderline){a.textbox_underscore=true}var l=parseInt(b.ImageWidth);
if(!isNaN(l)){a.img_width=l}var k=parseInt(b.ImageHeight);if(!isNaN(k)){a.img_height=k}a.textbox_font=b.TextFont;a.imagedata_on=true;var i=parseInt(b.TextSize);if(!isNaN(i)){a.textbox_size=i}a.isOn=true;this.Primitives[0].symbol=a;if(b.CustomHTML!=null){this._customIcon=b.CustomHTML}else{if(this.Primitives[0].name){var c=[];c.push("<div style='position:relative'>");c.push(" <div style='position:absolute;left:"+a.textbox_OffsetX+"px;top:"+a.textbox_OffsetY+"px;");c.push("font-size:"+a.textbox_size+"pt;font-family:"+a.textbox_font+";");c.push("color:"+a.textbox_color+";");var h=this.GetZIndex();if(a.textbox_italic){c.push("font-style:italic;")}if(a.textbox_bold){c.push("font-weight:bold;")}if(a.textbox_underscore){c.push("text-decoration:underline;")}c.push("z-index:"+(h+1)+";");c.push("'>");c.push(this.Primitives[0].name);c.push("</div>");c.push(" <img style='position:relative;top:"+a.img_offsetY+";left:"+a.img_offsetX+";z-index:"+h+"' src='"+a.imagedata_src+"'' ");var j=Msn.VE.Environment.BrowserInfo;if(j.Type==Msn.VE.BrowserType.MSIE&&parseFloat(j.MajorVersion)<7&&a.imagedata_src!=null&&a.imagedata_src.search(/.gif$/)<0){c.push(' onload=\'this.onload="";if(this.fileSize!=-1){this.style.width=this.width;this.style.height=this.height;this.src="'+Msn.VE.API.Constants.spacerurl+'";this.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\\"'+a.imagedata_src+'\\", sizingMethod=\\"scale\\")";}\' />')}else{c.push("/>")}c.push("</div>");this._customIcon=c.join("")}else{this._customIcon=a.imagedata_src}}}else{if(typeof b=="string"){this._customIcon=b;if(b.indexOf("<")<0){var a=this.Primitives[0].symbol;if(a.id==MC_PROPERTY_PARK||a.id==MC_PROPERTY_PUSHPIN){a=a.Clone()}a.imagedata_src=GetImageFullUrl(b);a.isOn=true;this.Primitives[0].symbol=a}}}this._IconContent=null;this.Redraw(false,false,false,true)};VEShape.prototype.GetIconAnchor=function(){if(this.Altitude){return new VELatLong(this.Latitude,this.Longitude,this.Altitude,this.Primitives[0].altitudeMode)}else{return new VELatLong(this.Latitude,this.Longitude)
}};VEShape.prototype.SetIconAnchor=function(a){if(this.IsModel()){return false}if(a!=null&&a!="undefined"){VEValidator.ValidateObject(a,"veLatlong",VELatLong,"VELatLong");if(a.HasAltitude()&&a.AltitudeMode!=this.Primitives[0].altitudeMode){throw new VEException("VEShape","err_altitudemodemismatch",L_altitudemodemismatch_Text)}var b=this.Primitives[0];if(b.type!=VEShapeType.Pushpin){this.Latitude=a.Latitude;this.Longitude=a.Longitude;b.labelPosX=this.Longitude;b.labelPosY=this.Latitude;if(a.HasAltitude()){this.Altitude=a.Altitude;b.labelPosZ=a.Altitude}else{this.Altitude=null;b.labelPosZ=null}}else{this.SetPoints(a)}}this.Redraw(false,true)};VEShape.prototype.GetCustomInfoBox=function(){return this._eroContent};VEShape.prototype.SetCustomInfoBox=function(a){if(typeof a!="undefined"&&a!=null){this._eroContent=a.replace(/%0D%0A/g,"\r\n").replace(/%0A/g,"\n")}};VEShape.prototype.SetZIndex=function(c,b){if(c!=null){VEValidator.ValidateInt(c,"icon")}if(b!=null){VEValidator.ValidateInt(b,"polyshape")}if(c==null&&b==null){throw new VEException("VEShape.SetZIndex","L_invalidzindex_text",L_invalidzindex_text)}var a=this.Primitives[0].symbol;if(a.id==MC_PROPERTY_PARK||a.id==MC_PROPERTY_PUSHPIN){a=a.Clone()}if(c!=null){a.style_zIndex=parseInt(c)}if(b!=null){a.style_zIndex_polyshape=parseInt(b)}this.Primitives[0].symbol=a;this.Redraw(false,false,true,true)};VEShape.prototype.GetZIndex=function(){if(this.Primitives[0].symbol!=null&&this.Primitives[0].symbol.style_zIndex!=null){return this.Primitives[0].symbol.style_zIndex}else{return Msn.VE.API.Globals.veshapeiconzindex}};VEShape.prototype.GetZIndexPolyShape=function(){if(this.Primitives[0].symbol!=null&&this.Primitives[0].symbol.style_zIndex_polyshape!=null){return this.Primitives[0].symbol.style_zIndex_polyshape}else{return Msn.VE.API.Globals.veshapepolyshapezindex}};VEShape.prototype.SetLineColor=function(b){if(this.Primitives[0].type==VEShapeType.Pushpin){return false}if(typeof b=="object"&&b!=null){VEValidator.ValidateObject(b,"_color",VEColor,"VEColor");var a=this.Primitives[0].symbol;
if(a.id==MC_PROPERTY_PARK||a.id==MC_PROPERTY_PUSHPIN){a=a.Clone()}a.stroke_color=b.ToHexString();a.stroke_opacity=b.A;this.Primitives[0].symbol=a;this.Redraw(false,false,true,false)}else{if(typeof b!="undefined"){throw new VEException("SetLineColor","err_invalidargument",L_invalidargument_text.replace("%1","color").replace("%2","VEColor"))}}};VEShape.prototype.GetLineColor=function(){if(this.Primitives[0].type==VEShapeType.Pushpin){return null}var c=this.Primitives[0].symbol,e=new VEHexStringToColor,a=c.stroke_color;if(a.indexOf("#")==0){a=a.substring(1)}var b=e.Convert(a),d=c.stroke_opacity.toString();if(d.indexOf("%")>0){b.A=parseInt(d)/100}else{b.A=c.stroke_opacity}return b};VEShape.prototype.SetFillColor=function(b){if(this.Primitives[0].type==VEShapeType.Pushpin){return false}if(typeof b=="object"&&b!=null){VEValidator.ValidateObject(b,"_color",VEColor,"VEColor");var a=this.Primitives[0].symbol;if(a.id==MC_PROPERTY_PARK||a.id==MC_PROPERTY_PUSHPIN){a=a.Clone()}a.fill_color=b.ToHexString();a.fill_opacity=b.A;this.Primitives[0].symbol=a;this.Redraw(false,false,true,false)}else{if(typeof b!="undefined"){throw new VEException("SetFillColor","err_invalidargument",L_invalidargument_text.replace("%1","color").replace("%2","VEColor"))}}};VEShape.prototype.GetFillColor=function(){if(this.Primitives[0].type==VEShapeType.Pushpin){return null}var c=this.Primitives[0].symbol,e=new VEHexStringToColor,a=c.fill_color;if(a.indexOf("#")==0){a=a.substring(1)}var b=e.Convert(a),d=c.fill_opacity.toString();if(d.indexOf("%")>0){b.A=parseInt(d)/100}else{b.A=c.fill_opacity}return b};VEShape.prototype.SetLineWidth=function(c){if(this.Primitives[0].type==VEShapeType.Pushpin){throw new VEException("VEShape.SetLineWidth","err_invalidlinewidth",L_Shp_IncorrectLineWidth_Text)}var b=parseInt(c);if(isNaN(b)||b<1){throw new VEException("VEShape.SetLineWidth","err_invalidlinewidth",L_Shp_IncorrectLineWidth_Text)}var a=this.Primitives[0].symbol;if(a.id==MC_PROPERTY_PARK||a.id==MC_PROPERTY_PUSHPIN){a=a.Clone()}a.stroke_weight=b;this.Primitives[0].symbol=a;
this.Redraw(false,false,true,false)};VEShape.prototype.GetLineWidth=function(){if(this.Primitives[0].type==VEShapeType.Pushpin){return null}var a=parseInt(this.Primitives[0].symbol.stroke_weight);if(isNaN(a)){return 0}else{return a}};VEShape.prototype.SetPhotoURL=function(a){this._eroContent=null;this.PhotoUrl=a};VEShape.prototype.GetPhotoURL=function(){return this.PhotoUrl};VEShape.prototype.SetMoreInfoURL=function(a){this._eroContent=null;this.Url=a};VEShape.prototype.GetMoreInfoURL=function(){return this.Url};VEShapeLayer.prototype.GetBoundingRectangle=function(){var a=this.GetBoundingBox();return new VELatLongRectangle(new VELatLong(a.y2,a.x1),new VELatLong(a.y1,a.x2))};VEShape.prototype._OffsetScene=null;VEShape.prototype._OffsetLatLong=null;VEShape.prototype._OffsetPoints=null;VEShape.prototype._OriginalPoints=null;VEShape.prototype._UsingOffset=false;VEShape.prototype.SetUseOffset=function(b){if(this._UsingOffset!=b){this._UsingOffset=b;if(b){if(this._OffsetPoints!=null){var a=[];for(var c=0;c<this._OffsetPoints.length;c++){var d=VEShape.Decoder.Decode(this._OffsetPoints[c]);a.push(d.Longitude);a.push(d.Latitude)}this._OriginalPoints=this.Primitives[0].points;this.Primitives[0].points=a}}else{if(this._OriginalPoints!=null){this.Primitives[0].points=this._OriginalPoints;this._OriginalPoints=null}}}};VEShape.prototype.GetUseOffset=function(){return this._UsingOffset};VEAltitudeMode=new function(){this.Default="Ground";this.Absolute="Datum";this.RelativeToGround="Ground"};VEShape.prototype.SetAltitude=function(a,f){if(this.IsModel()){return false}var b=this.Primitives[0],d=b.points.length/2,e=[];if(typeof a=="number"){VEValidator.ValidateFloat(a,"altitude");a=parseFloat(a);for(var c=0;c<d;c++){e.push(a)}}else{if(a instanceof Array){if(a.length==d&&(a[0]==a[d-1]||this.Primitives[0].type!=VEShapeType.Polygon)||a.length==d-1&&this.Primitives[0].type==VEShapeType.Polygon){for(var c=0;c<a.length;c++){VEValidator.ValidateFloat(a[c],"altitude["+c+"]");e.push(parseFloat(a[c]))}if(a.length==d-1){e.push(parseFloat(a[0]))
}}else{throw new VEException("VEShape","err_incorrectpoints",L_Shp_IncorrectPoints_Text)}}else{throw new VEException("VEShape:SetAltitude","err_invalidargument",L_invalidargument_text.replace("%1","altitude").replace("%2","float"))}}if(f!=null){VEValidator.ValidateAltitudeMode(f,"altitudeMode");b.altitudeMode=f}b.altitudes=e;Msn.Drawing.CalculateLabelPosition(b,true);if(b.type!=VEShapeType.Pushpin){this.Latitude=b.labelPosY;this.Longitude=b.labelPosX;this.Altitude=b.labelPosZ}this.Redraw(false,true)};VEShape.prototype.GetAltitude=function(){return this.Primitives[0].altitudes};VEShape.prototype.SetAltitudeMode=function(b){if(this.IsModel()){return false}VEValidator.ValidateAltitudeMode(b,"value");var a=this.Primitives[0];a.altitudeMode=b;if(!a.altitudes){this.SetAltitude(0)}this.Redraw(true,true)};VEShape.prototype.GetAltitudeMode=function(){return this.Primitives[0].altitudeMode};VEShape.prototype.SetLineToGround=function(a){if(this.IsModel()){return false}VEValidator.ValidateBoolean(a,"value");if(this.Primitives[0].type!=VEShapeType.Pushpin){this.Primitives[0].extruded=a;this.Redraw(true,true)}};VEShape.prototype.GetLineToGround=function(){if(this.Primitives[0].extruded!=null){return this.Primitives[0].extruded}else{return null}};VEShape.prototype.ToHtml=function(){var a=[],b=GetVEMapInstance(this._shplayer._mapGuid);if(b&&b.vemapcontrol){var c=b.vemapcontrol.GetPushpinMapPixel(new Msn.VE.LatLong(this.Latitude,this.Longitude),b.vemapcontrol.GetZoomLevel());a.push("<a href='javascript://pushpin hover' class=VEAPI_Pushpin id=");a.push(this.Primitives[0].type==VEShapeType.Pushpin?this.Primitives[0].iid:Msn.Drawing.GetLabelUID(this.Primitives[0].iid));a.push(' style="z-index=');a.push(this.GetZIndex());a.push(";position:absolute;left:");a.push(c.x-25/2);a.push("px;top:");a.push(c.y-25/2);a.push('px;">');a.push(VECreateVEShapeERO(this,this._shplayer._mapGuid));a.push("</a>")}return a.join("")};VEShape.prototype._isDrawn=false;VEShape.prototype._isHiddenForZoom=false;VEShape.prototype.GetShapeElement=function(){var a=this.Primitives[0];
if(this._isDrawn&&a&&a.type!=VEShapeType.Pushpin){if(a._shapeElement==null){a._shapeElement=$ID(a.iid)}return a._shapeElement}return null};VEShape.prototype.GetIconElement=function(){var a=this.Primitives[0];if(this._isDrawn&&a){if(a._iconElement==null){if(a.type==VEShapeType.Pushpin){a._iconElement=$ID(a.iid)}else{a._iconElement=$ID(Msn.Drawing.GetLabelUID(a.iid))}}return a._iconElement}return null};VEShape.prototype.ClearDomElements=function(){var a=this.Primitives[0];if(a){a._shapeElement=null;a._iconElement=null}};VEShape.prototype.DisposeEx=function(){this.ClearDomElements();this.Dispose()};VEShape.prototype.Draggable=false;VEShape.prototype.onstartdrag=null;VEShape.prototype.ondrag=null;VEShape.prototype.onenddrag=null;function ShapeDragEventArgs(b,a){this.Shape=b;this.LatLong=a}function VECustomIconSpecification(){this.Image=null;this.TextContent=null;this.CustomHTML=null;this.textFont="Arial";this.TextBold=false;this.TextItalics=false;this.TextUnderline=false;this.TextSize=7;this.ImageOffset=null;this.TextOffset=null;this.ForeColor=null;this.BackColor=null;this.ImageWidth=-1;this.ImageHeight=-1}function VEClusteringOptions(){this.Icon=null;this.Callback=null}VEClusteringType=new function(){this.None=0;this.Grid=1};function VEClusterSpecification(){this._clusterShape=null;this.Shapes=[];this.LatLong=null;VEClusterSpecification.prototype.GetClusterShape=function(){return this._clusterShape}}VE_SetModuleStatus(VE_ModuleName.APILAYERS,"loaded");VEMap.prototype.InitMapDrawing=function(){cssCursors=Msn.VE.Css.Cursors;if(VE_MapDispatch_SymbolLib==null){VE_MapDispatch_SymbolLib=new VEShapeStyleLibrary;VEShapeStyle.prototype.imagedata_src=Msn.VE.API.Constants.iconurl}if(this.m_velayermanager==null){this.m_velayermanager=new VELayerManager(this);this._lm=this.m_velayermanager}};VEMap.prototype.InitTiles=function(){if(!this.m_vetilesourcemanager){this.m_vetilesourcemanager=new VETileSourceManager(this)}};VEMap.prototype.AddTileLayer=function(a,b,c){VEValidator.ValidateObject(a,"tileSourceSpec",VETileSourceSpecification,"VETileSourceSpecification");
this.m_vetilesourcemanager.AddTileSource(a,c,b)};VEMap.prototype.ShowTileLayer=function(a){this.m_vetilesourcemanager.ShowTileLayer(a)};VEMap.prototype.ShowAllTileLayers=function(){this.m_vetilesourcemanager.ShowAllTileLayers()};VEMap.prototype.HideTileLayer=function(a){this.m_vetilesourcemanager.HideTileLayer(a)};VEMap.prototype.ShowBaseTileLayer=function(){this.m_vetilesourcemanager.ShowBaseTileLayer()};VEMap.prototype.HideBaseTileLayer=function(){this.m_vetilesourcemanager.HideBaseTileLayer()};VEMap.prototype.HideAllTileLayers=function(){this.m_vetilesourcemanager.HideAllTileLayers()};VEMap.prototype.DeleteTileLayer=function(a){this.m_vetilesourcemanager.DeleteSourceById(a)};VEMap.prototype.DeleteAllTileLayers=function(){this.m_vetilesourcemanager.DeleteAllSources()};VEMap.prototype.GetTileLayerCount=function(){return this.m_vetilesourcemanager.GetSourceCount()};VEMap.prototype.GetTileLayerByID=function(a){return this.m_vetilesourcemanager.GetSourceById(a)};VEMap.prototype.GetTileLayerByIndex=function(a){return this.m_vetilesourcemanager.GetSourceByIndex(a)};function VETileSourceSpecification(h,i,d,g,f,e,c,a,b){this.ID=null;this.TileSource=null;this.NumServers=1;this.Bounds=null;this.MinZoomLevel=0;this.MaxZoomLevel=1;this.GetTilePath=null;this.Opacity=null;this.ZIndex=null;this.SetsBestMapView=true;this.FnCallback=null;this.IsVisible=true;this.LoadTiles=true;if(typeof h=="string"){this.ID=h}else{throw new VEException("VETileSourceSpecification","err_invalidargument",L_invalidargument_text.replace("%1","ID").replace("%2","string"))}if(typeof i=="string"){this.TileSource=i.replace(/%20/g," ")}else{throw new VEException("VETileSourceSpecification","err_invalidargument",L_invalidargument_text.replace("%1","tileSource").replace("%2","string"))}if(d!="undefined"&&d!=null){this.NumServers=d}if(g!="undefined"&&g!=null){this.Bounds=g}if(f!="undefined"&&f!=null){this.MinZoomLevel=f}if(e!="undefined"&&e!=null){this.MaxZoomLevel=e}if(c!="undefined"&&c!=null){this.GetTilePath=c}if(a!="undefined"&&a!=null){VEValidator.ValidateFloat(a,"Opacity");
if(a<0||a>1){throw new VEException("VEMap:AddTileLayer","err_invalidOpacity",L_invalidopacity_text)}this.Opacity=a}if(b!="undefined"&&b!=null){VEValidator.ValidateInt(b,"ZIndex");this.ZIndex=b}else{this.ZIndex=Msn.VE.API.Globals.vetilelayerdefaultzindex}}function VETileSourceManager(a){var b=this;VEValidator.ValidateNonNull(a,"vemap");this.m_vemap=a;this.m_vemapcontrol=this.m_vemap.vemapcontrol;this.m_vetilesources=[];this.AddTileSource=function(a,d,c){VEValidator.ValidateObject(a,"tileSourceSpec",VETileSourceSpecification,"VETileSourceSpecification");VEValidator.ValidateNonNull(a.ID,"tileSourceSpec.ID");if(a.MinZoomLevel!=null){VEValidator.ValidateNonNegativeInt(a.MinZoomLevel,"tileSourceSpec.MinZoomLevel")}if(a.MaxZoomLevel!=null){VEValidator.ValidateNonNegativeInt(a.MaxZoomLevel,"tileSourceSpec.MaxZoomLevel");VEValidator.ValidateMaxZoom(a.MaxZoomLevel,"tileSourceSpec.MaxZoomLevel")}if(a.MinZoomLevel!=null&&a.MaxZoomLevel!=null){if(a.MinZoomLevel>a.MaxZoomLevel){throw new VEException("VETileSourceManager:AddVETileSource","err_invalidsourceid",L_invalidminmaxzoom_text)}}if(a.Bounds){var e=a.Bounds.length;for(var b=0;b<e;b++){VEValidator.ValidateBounds(a.Bounds[b],"VETileSourceManager.Bounds["+b+"]")}}if(typeof d=="function"){a.FnCallback=d}if(typeof c!="undefined"&&(c=="false"||!c)){a.IsVisible=false}this.AddVETileSourceSpec(a)};this.AddVETileSourceSpec=function(b){var c=this.GetSourceById(b.ID);if(c!=null&&c!="undefined"){throw new VEException("VETileSourceManager:AddVETileSource","err_invalidsourceid",L_invalidsourceid_text)}this.m_vetilesources.push(b);a.vemapcontrol.SetTileSource(b);if(b.IsVisible){a.vemapcontrol.LoadTileLayer(b.ID,b.ID,b.Opacity,b.ZIndex)}if(b.FnCallback){b.FnCallback(b)}};this.GetSourceById=function(c){var b=this.m_vetilesources.length;for(var a=0;a<b;++a){if(this.m_vetilesources[a].ID==c){return this.m_vetilesources[a]}}return null};this.GetSourceCount=function(){return this.m_vetilesources.length};this.GetSourceByIndex=function(b){var a=null;if(this.m_vetilesources&&this.m_vetilesources[b]){a=this.m_vetilesources[b]
}return a};this.ShowTileLayer=function(c){if(this.m_vetilesources==null||this.m_vetilesources=="undefined"){throw new VEException("VEMap:RemoveSourcebyId","err_GraphicsInitError",L_GraphicsInitError_Text);return}var b=this.GetSourceById(c);if(b){b.IsVisible=true;a.vemapcontrol.SetTileLayerVisibility(b.ID,true);a.vemapcontrol.LoadTileLayer(b.ID,b.ID,b.Opacity,b.ZIndex)}else{throw new VEException("VEMap:HideSourcebyId","err_invalidsourceid",L_invalidsourceid_text);return}};this.ShowAllTileLayers=function(){if(this.m_vetilesources==null||this.m_vetilesources=="undefined"){throw new VEException("VEMap:HideAllTileLayersbyId","err_GraphicsInitError",L_GraphicsInitError_Text);return}var b=this.m_vetilesources.length;for(var a=0;a<b;++a){this.ShowTileLayer(this.m_vetilesources[a].ID)}};this.HideAllTileLayers=function(){if(this.m_vetilesources==null||this.m_vetilesources=="undefined"){throw new VEException("VEMap:HideAllTileLayersbyId","err_GraphicsInitError",L_GraphicsInitError_Text);return}var b=this.m_vetilesources.length;for(var a=0;a<b;++a){this.HideTileLayer(this.m_vetilesources[a].ID)}};this.HideTileLayer=function(c){if(this.m_vetilesources==null||this.m_vetilesources=="undefined"){throw new VEException("VEMap:RemoveSourcebyId","err_GraphicsInitError",L_GraphicsInitError_Text);return}var b=this.GetSourceById(c);if(b){if(b.IsVisible){b.IsVisible=false;a.vemapcontrol.SetTileLayerVisibility(b.ID,false);a.vemapcontrol.LoadTileLayer(b.ID,b.ID,b.Opacity,b.ZIndex)}}else{throw new VEException("VEMap:HideSourcebyId","err_invalidsourceid",L_invalidsourceid_text);return}};this.HideBaseTileLayer=function(){a.vemapcontrol.HideBaseTileLayer()};this.ShowBaseTileLayer=function(){a.vemapcontrol.ShowBaseTileLayer()};this.DeleteSourceById=function(b){if(this.m_vetilesources==null||this.m_vetilesources=="undefined"){throw new VEException("VEMap:RemoveSourcebyId","err_GraphicsInitError",L_GraphicsInitError_Text);return}var c=this.m_vetilesources.length,a=0;while(a<c&&b!=this.m_vetilesources[a].ID){a++}if(a<c){this.m_vemapcontrol.ClearTileLayer(b);
this.m_vemapcontrol.DeleteTileSource(b);this.m_vetilesources[a]=null;this.m_vetilesources.splice(a,1)}else{throw new VEException("VEMap:RemoveSourcebyId","err_invalidsourceid",L_invalidsourceid_text);return}};this.Dispose=function(){this.DeleteAllSources();this.m_vetilesources=null;this.m_vemapcontrol=null;this.m_vemap=null};this.DeleteAllSources=function(){if(this.m_vetilesources==null||this.m_vetilesources=="undefined"){throw new VEException("VEMap:RemoveSourcebyId","err_GraphicsInitError",L_GraphicsInitError_Text);return}var b=this.m_vetilesources.length;for(var a=0;a<b;++a){if(this.m_vetilesources[a]){this.m_vemapcontrol.ClearTileLayer(this.m_vetilesources[a].ID);this.m_vemapcontrol.DeleteTileSource(this.m_vetilesources[a].ID);this.m_vetilesources[a]=null}}this.m_vetilesources=[]}}VE_SetModuleStatus(VE_ModuleName.APITILES,"loaded");VEMap.prototype.InitSearch=function(){if(!this.m_vesearchmanager){this.m_vesearchmanager=new VE_SearchManager(this);this.m_vesearchmanager.Initialize();this._sm=this.m_vesearchmanager}};VEMap.prototype.Find=function(l,j,i,f,g,b,e,d,a,c,h){this.InitSearch();var k=new VEFindSpec(l,j,i,f,g,b,e,d,a,c,h);this.m_vesearchmanager.Find(k)};VEMap.prototype.Geocode=function(c,b,a){if(a==null||typeof a=="undefined"){a=new VEGeocodeOptions}this.Find(null,c,null,null,null,null,null,null,a.UseDefaultDisambiguation,a.SetBestMapView,b)};VEMap.prototype.Search=function(d,c,a){this.InitSearch();if(a==null||typeof a=="undefined"){a=new VESearchOptions}var b=new VEFindSpec(null,null,a.FindType,a.ShapeLayer,a.StartIndex,a.NumberOfResults,a.ShowResults,a.CreateResults,a.UseDefaultDisambiguation,a.SetBestMapView,c,d);if(a.BoundingRectangle!=null&&a.BoundingRectangle instanceof VELatLongRectangle){b.WhereRect=a.BoundingRectangle}this.m_vesearchmanager.Find(b)};VEMap.prototype.FindLocations=function(a,b){VEValidator.ValidateObject(a,"veLatLong",VELatLong,"VELatLong");this.InitSearch();this.m_vesearchmanager.ReverseGeocode(a,b)};VEMap.prototype.CreateFindControl=function(b){VEValidator.ValidateNonNull(b,"findControlId");
el=document.createElement("div");el.className="VE_FindControl";el.id=b;el.style.zIndex=199;el.style.position="absolute";el.style.padding="5px";function a(a){a.cancelBubble=true}el.attachEvent("onmousedown",a);el.attachEvent("onmouseup",a);el.attachEvent("onmousemove",a);el.attachEvent("onmousewheel",a);el.attachEvent("ondblclick",a);el.attachEvent("oncontextmenu",a);el.attachEvent("onclick",a);var c=this.ID+"_vewhatinputcontainer",e=this.ID+"_vewhatinput",d=this.ID+"_vewhereinput";el.innerHTML="<div class=VE_WhatControl id='"+c+"'>"+L_what_text+' <input id="'+e+'" type="text" name="vewhatinput" size="25" onfocus="this.select()" onblur="this.value = this.value" /></div><div class=VE_WhereControl>'+L_where_text+' <input id="'+d+'" type="text" name="vewhereinput" size="25" style="color: #333333"ondrop="this.value=\'\';this.style.color=\'black\';SelectText(this,0,0);" /></div><div class=VE_FindButton><button id="searchbttn" onclick="VEMap._GetMapFromGUID('+this.GUID+')._DoFind();" type="submit" name="submit" value="Local Search">'+L_find_text+"</button></div>";this.mapelement.appendChild(el);addIFrameShim(el);if(el.shimElement){el.shimElement.className="VE_FindControl_Iframe"}return el};VEMap.prototype.ShowFindControl=function(c,b){if(typeof c!="undefined"||typeof b!="undefined"){VEValidator.ValidateInt(c,"top");VEValidator.ValidateInt(b,"left")}var d=this.ID+"_vefindcontrolinput",a=$ID(d);if(typeof a=="undefined"||a==null){a=this.CreateFindControl(d)}if(isNaN(c)){a.style.top="35px"}else{a.style.top=c+"px"}if(isNaN(b)){a.style.left="195px"}else{a.style.left=b+"px"}a.style.display="block";ShowShim(a)};VEMap.prototype.HideFindControl=function(){var a=$ID(this.ID+"_vefindcontrolinput");if(a!=null&&a!="undefined"){a.style.display="none";HideShim(a)}};VEMap.prototype.SetFindResultsPanel=function(a){if(a==null||a=="undefined"){throw new VEException("VEMap:SetFindResultsPanel","err_invalidelement",L_invalidelement_text)}var b=$ID(a);if(b==null||b=="undefined"){throw new VEException("VEMap:SetFindResultsPanel","err_invalidelement",L_invalidelement_text)
}this.searchelement=a};function VEMatchCode(){}VEMatchCode.None=0;VEMatchCode.Good=1;VEMatchCode.Ambiguous=2;VEMatchCode.UpHierarchy=4;VEMatchCode.Modified=8;function VEMatchConfidence(){}VEMatchConfidence.High=0;VEMatchConfidence.Medium=1;VEMatchConfidence.Low=2;function VELocationPrecision(){}VELocationPrecision.Interpolated=0;VELocationPrecision.Rooftop=1;function VEGeocodeLocation(b,a){this.LatLong=b;this.Precision=a}function VEPlace(e,d,a,b,c,g,f){VEValidator.ValidateNonNull(e,"name");VEValidator.ValidateNonNull(d,"velatLong");this.Name=e;this.LatLong=d;if(typeof a!="undefined"&&a!=null){this.LatLongRect=a}else{this.LatLongRect=null}this.MatchConfidence=typeof b!="undefined"?b:null;this.MatchCode=typeof c!="undefined"?c:null;this.Precision=g;this.Locations=f}function VEGeocodeOptions(b,a){this.SetBestMapView=b;this.UseDefaultDisambiguation=a}function VESearchOptions(d,e,f,i,g,h,c,b,a){this.SetBestMapView=d;this.CreateResults=e;this.ShowResults=f;this.FindType=i;this.ShapeLayer=g;this.StartIndex=h;this.NumberOfResults=c;this.BoundingRectangle=b;this.UseDefaultDisambiguation=a}function VEFindSpec(l,a,j,g,h,b,f,e,c,d,i,k){this.DisambuigationCancelled=false;this.WhatString="";this.WhatResults=null;this.WhatHasMore=null;if(l!=null){if(typeof l!="string"){throw new VEException("VEMap.Find","err_invalidargument",L_invalidargument_text.replace("%1","what").replace("%2","string"))}this.WhatString=IOSec.EncodeUrl(l)}this.WhereString="";this.WhereRect=null;this.WhereLatLong=null;this.WhereResults=null;if(a!=null){if(a instanceof VELatLongRectangle){this.WhereRect=a}else{if(a instanceof VEPlace){this.WhereRect=a.LatLongRect;this.WhereLatLong=a.LatLong;this.WhereResults=a}else{if(a instanceof VELatLong){this.WhereLatLong=a}else{if(typeof a=="string"){if(Msn.VE.API.Globals.locale.toLowerCase()=="zh-cn"&&a.replace(/(^\s*)/g,"").toLowerCase().indexOf("map of ")!=0){a="map of "+a}this.WhereString=IOSec.EncodeUrl(a)}else{throw new VEException("VEMap.Find","err_invalidargument",L_invalidwhere_text)}}}}}if(this.WhatString==""&&this.WhereString==""&&this.QueryString==""){throw new VEException("VEMap.Find","err_invalidwhatwhere",L_invalidwhatwhere_text)
}this.FindType=VEFindType.Businesses;if(j!=null){if(j==VEFindType.Businesses){this.FindType=j}else{throw new VEException("VEMap.Find","err_invalidargument",L_invalidargument_text.replace("%1","findType").replace("%2","VEFindType"))}}this.ShapeLayer=null;if(g!=null){VEValidator.ValidateObject(g,"shapeLayer",VEShapeLayer,"VEShapeLayer");this.ShapeLayer=g}this.StartIndex=0;if(h!=null){VEValidator.ValidateNonNegativeInt(h,"startIndex");this.StartIndex=parseInt(h)}this.NumberOfResults=Msn.VE.API.Globals.vefindnumresultsdefault;if(b!=null){VEValidator.ValidateInt(b);b=parseInt(b);VEValidator.ValidateBetween(b,"numberOfResults",Msn.VE.API.Globals.vefindnumresultsmin,Msn.VE.API.Globals.vefindnumresultsmax);this.NumberOfResults=b}this.ShowResults=true;if(f!=null){VEValidator.ValidateBoolean(f,"showResults");this.ShowResults=f}this.CreateResults=true;if(e!=null){VEValidator.ValidateBoolean(e,"createResults");this.CreateResults=e}this.UseDefaultDisambiguation=true;if(c!=null){VEValidator.ValidateBoolean(c,"useDefaultDisambiguation");this.UseDefaultDisambiguation=c}this.SetBestMapView=true;if(d!=null){VEValidator.ValidateBoolean(d,"setBestMapView");this.SetBestMapView=d}this.Callback=null;if(i!=null){if(typeof i=="function"){this.Callback=i}else{throw new VEException("VEMap.Find","err_invalidargument",L_invalidargument_text.replace("%1","callback").replace("%2","function"))}}this.QueryString="";if(typeof k!="undefined"&&k!=null){this.QueryString=IOSec.EncodeUrl(k)}this.ErrorMessage=null}function VEFindResults(a,c,b){this.ShapeLayer=a;this.Results=c;this.HasMore=b}function VEFindResult(a,d,e,b,f,c,g){VEValidator.ValidateNonNull(a,"findType");VEValidator.ValidateNonNull(e,"name");VEValidator.ValidateNonNull(b,"description");VEValidator.ValidateNonNull(c,"isSponsored");this.findType=a;this.FindType=a;this.shape=d;this.Shape=d;this.Name=e;this.Description=b;this.LatLong=f;this.IsSponsored=c;this.Phone=g}VEFindType=new function(){this.Businesses="Business"};function VE_SearchManager(c){VEValidator.ValidateObject(c,"vemap",VEMap,"VEMap");
this.m_vemap=c;var a=this,b=new VELatLongFactory(new VELatLongFactorySpecFromMap(this.m_vemap));this.m_showDisambigousDialog=true;this._DisambiguateCallback="VEMap._GetMapFromGUID("+c.GUID+")._sm.FindAmbiguousListCallBack";var g=new _xy1,e=null;this.Initialize=function(){};this.Find=function(b){if(b.QueryString.length>0){h(b)}else{if(b.WhereString.length>0){i(b)}else{if(b.WhatString.length>0){j(b)}else{if(b.SetBestMapView&&b.DisambuigationCancelled==false){if(b.WhereRect!=null){a.m_vemap.SetMapView(b.WhereRect)}else{if(b.WhereLatLong!=null&&b.WhatResults!=null){var d=[b.WhereLatLong];for(var c=0;c<b.WhatResults.length;c++){if(b.WhatResults[c].LatLong!=null){d.push(b.WhatResults[c].LatLong)}}a.m_vemap.SetMapView(d)}}}if(b.Callback!=null){b.Callback(b.ShapeLayer,b.WhatResults,b.WhereResults,b.WhatHasMore,b.ErrorMessage)}else{if(b.ErrorMessage!=null&&b.ErrorMessage.length!=0){this.m_vemap.ShowMessage(b.ErrorMessage)}}}}}};function h(b){var g=d(f()),e=[],i="",g="";if(b.WhereRect!=null){g=d(b.WhereRect)}else{b.WhereRect=f();g=d(b.WhereRect)}if(b.ShapeLayer==null){b.ShapeLayer=c.GetShapeLayerByIndex(0)}e.push(new VEParameter("count",b.NumberOfResults+1));e.push(new VEParameter("startingIndex",b.StartIndex));e.push(new VEParameter("mapBounds",'"'+g+'"'));e.push(new VEParameter("locationCoordinates",'"'+i+'"'));e.push(new VEParameter("entityType",'"'+b.FindType+'"'));e.push(new VEParameter("sortorder",""));e.push(new VEParameter("query",'"'+b.QueryString+'"'));e.push(new VEParameter("location",""));e.push(new VEParameter("keyword",""));function h(c){a.SearchQueryResponseHandler(c,b)}c.vemapcontrol.Fire("onstartrequest");VEAPIRequestInvoke(Msn.VE.API.Constants.searchservice,e,h,c)}function i(e){var h=d(f()),b=[];b.push(new VEParameter("count",e.NumberOfResults));b.push(new VEParameter("query",'"'+e.WhereString+'"'));b.push(new VEParameter("landmark",""));b.push(new VEParameter("addressLine",""));b.push(new VEParameter("locality",""));b.push(new VEParameter("postalTown",""));b.push(new VEParameter("adminDistrict",""));b.push(new VEParameter("district",""));
b.push(new VEParameter("postalCode",""));b.push(new VEParameter("countryRegion",""));b.push(new VEParameter("mapBounds",'"'+h+'"'));b.push(new VEParameter("currentLocation",""));b.push(new VEParameter("curLocAccuracy",""));b.push(new VEParameter("entityTypes",""));b.push(new VEParameter("rankBy",""));function g(b){if(a){a.GeocodeResponseHandler(b,e)}}c.vemapcontrol.Fire("onstartrequest");VEAPIRequestInvoke(Msn.VE.API.Constants.geocodingservice+"/Geocode",b,g,c)}function j(b){if(b.ShapeLayer==null){b.ShapeLayer=c.GetShapeLayerByIndex(0)}var j="",h="";if(b.WhereLatLong!=null){var i=g.Decode(b.WhereLatLong);j=i.Latitude+", "+i.Longitude}else{if(b.WhereRect!=null){h=d(b.WhereRect)}else{b.WhereRect=f();h=d(b.WhereRect)}}var k=b.WhatString+" -location:jp",e=[];e.push(new VEParameter("count",b.NumberOfResults+1));e.push(new VEParameter("startingIndex",b.StartIndex));e.push(new VEParameter("mapBounds",'"'+h+'"'));e.push(new VEParameter("locationCoordinates",'"'+j+'"'));e.push(new VEParameter("entityType",'"'+b.FindType+'"'));e.push(new VEParameter("sortorder",""));e.push(new VEParameter("query",""));e.push(new VEParameter("location",""));e.push(new VEParameter("keyword",'"'+k+'"'));function l(c){a.SearchResponseHandler(c,b)}c.vemapcontrol.Fire("onstartrequest");VEAPIRequestInvoke(Msn.VE.API.Constants.searchservice,e,l,c)}this.GeocodeResponseHandler=function(f,d){a.m_vemap.vemapcontrol.Fire("onendrequest");a.m_vemap.__HandleAuthentication(f);var g=[];if(f&&f.Results&&f.Results.length>0){var n=f.Results[0].MatchConfidence,o=f.Results.length,h=[];for(var k=0;k<o;++k){var c=f.Results[k],i=[];if(c.Locations&&c.Locations.length){for(var l=0;l<c.Locations.length;++l){var j=c.Locations[l];i.push(new VEGeocodeLocation(new VELatLong(j.Coordinates.Latitude,j.Coordinates.Longitude),j.Precision))}}var m=new VEPlace(c.Name,b.CreateVELatLong(c.BestLocation.Coordinates.Latitude,c.BestLocation.Coordinates.Longitude),new VELatLongRectangle(b.CreateVELatLong(c.BestView.NorthEastCorner.Latitude,c.BestView.NorthEastCorner.Longitude),b.CreateVELatLong(c.BestView.SouthWestCorner.Latitude,c.BestView.SouthWestCorner.Longitude)),c.MatchConfidence,c.MatchCode,c.BestLocation.Precision,i);
if(c.MatchConfidence==n){g.push([c.Name,c.BestView.NorthEastCorner.Latitude,c.BestView.NorthEastCorner.Longitude,c.BestView.SouthWestCorner.Latitude,c.BestView.SouthWestCorner.Longitude,c.BestLocation.Coordinates.Latitude,c.BestLocation.Coordinates.Longitude,c.MatchConfidence,c.MatchCode,c.BestLocation.Precision,i]);h.push(m)}else{if(!d.UseDefaultDisambiguation){h.push(m)}}}d.WhereResults=h;d.WhereLatLong=h[0].LatLong;d.WhereRect=h[0].LatLongRect}else{d.ErrorMessage=a.m_vemap.IsValidCredentialsInResponse(f)?L_invalidsearchlocation_Text.replace(/%1/g,MapControl.Features.PlatformName):L_CredentialsInvalid_Text}d.WhereString="";if(g.length>1){if(d.SetBestMapView){a.m_vemap.SetViewport(g[0][1],g[0][2],g[0][3],g[0][4])}e=d;if(d.UseDefaultDisambiguation){a.m_vemap.m_veambiguouslist.Show(g,a._DisambiguateCallback,true)}else{if(typeof a.m_vemap.DisambiguationCallback!="undefined"&&a.m_vemap.DisambiguationCallback!=null&&typeof a.m_vemap.DisambiguationCallback=="function"){a.m_vemap.DisambiguationCallback(d.WhereResults)}else{a.Find(d)}}}else{a.Find(d)}};this.SearchQueryResponseHandler=function(c,f){a.m_vemap.vemapcontrol.Fire("onendrequest");a.m_vemap.__HandleAuthentication(c);var p=null,m=[],i=[];if(c.SearchRegion!=null&&c.SearchRegion.Source=="Query"&&c.SearchRegion.GeocodeLocations!=null&&c.SearchRegion.GeocodeLocations.length>0){var s=c.SearchRegion.GeocodeLocations.length,l=[];for(var h=0;h<s;++h){var n=c.SearchRegion.GeocodeLocations[h];l.push(new VEGeocodeLocation(new VELatLong(n.Coordinates.Latitude,n.Coordinates.Longitude),n.Precision))}var o=new VEPlace(c.SearchRegion.ExplicitLocation.Name,b.CreateVELatLong(c.SearchRegion.ExplicitLocation.Coordinates.Latitude,c.SearchRegion.ExplicitLocation.Coordinates.Longitude),new VELatLongRectangle(b.CreateVELatLong(c.SearchRegion.MapBounds.NorthEastCorner.Latitude,c.SearchRegion.MapBounds.NorthEastCorner.Longitude),b.CreateVELatLong(c.SearchRegion.MapBounds.SouthWestCorner.Latitude,c.SearchRegion.MapBounds.SouthWestCorner.Longitude)),c.SearchRegion.MatchConfidence,c.SearchRegion.MatchCode,c.SearchRegion.ExplicitLocation.Precision,l);
m.push(o);i.push([c.SearchRegion.ExplicitLocation.Name,c.SearchRegion.MapBounds.NorthEastCorner.Latitude,c.SearchRegion.MapBounds.NorthEastCorner.Longitude,c.SearchRegion.MapBounds.SouthWestCorner.Latitude,c.SearchRegion.MapBounds.SouthWestCorner.Longitude,c.SearchRegion.ExplicitLocation.Coordinates.Latitude,c.SearchRegion.ExplicitLocation.Coordinates.Longitude,c.SearchRegion.MatchConfidence,c.SearchRegion.MatchCode,c.SearchRegion.ExplicitLocation.Precision,l]);f.WhereLatLong=o.LatLong;f.WhereRect=o.LatLongRect;p=c.SearchRegion.MatchConfidence}if(c.AlternateSearchRegions!=null&&c.AlternateSearchRegions.length>0){for(var h=0;h<c.AlternateSearchRegions.length;++h){var d=c.AlternateSearchRegions[h];if(d.Source=="Query"&&d.GeocodeLocations!=null&&d.GeocodeLocations.length>0){if(p==null){p=d.MatchConfidence}var l=[],s=d.GeocodeLocations.length;for(var t=0;t<s;++t){var n=d.GeocodeLocations[t];l.push(new VEGeocodeLocation(new VELatLong(n.Coordinates.Latitude,n.Coordinates.Longitude),n.Precision))}var o=new VEPlace(d.ExplicitLocation.Name,b.CreateVELatLong(d.ExplicitLocation.Coordinates.Latitude,d.ExplicitLocation.Coordinates.Longitude),new VELatLongRectangle(b.CreateVELatLong(d.MapBounds.NorthEastCorner.Latitude,d.MapBounds.NorthEastCorner.Longitude),b.CreateVELatLong(d.MapBounds.SouthWestCorner.Latitude,d.MapBounds.SouthWestCorner.Longitude)),d.MatchConfidence,d.MatchCode,d.ExplicitLocation.Precision,l);if(d.MatchConfidence==p){m.push(o);i.push([d.ExplicitLocation.Name,d.MapBounds.NorthEastCorner.Latitude,d.MapBounds.NorthEastCorner.Longitude,d.MapBounds.SouthWestCorner.Latitude,d.MapBounds.SouthWestCorner.Longitude,d.ExplicitLocation.Coordinates.Latitude,d.ExplicitLocation.Coordinates.Longitude,d.MatchConfidence,d.MatchCode,d.ExplicitLocation.Precision,l])}else{if(!f.UseDefaultDisambiguation){m.push(o)}}}}}if(m!=null&&m.length>0){f.WhereResults=m}f.WhereString="";var r=[],w=[],x=f.ShapeLayer;if(c.SearchResults!=null&&c.SearchResults.length>0){var s=Math.min(c.SearchResults.length,f.NumberOfResults);for(var h=0;h<s;h++){var g=c.SearchResults[h],k=null,u=b.CreateVELatLong(g.Location.Latitude,g.Location.Longitude),j=g.Address!=null&&g.Address.length>0?g.Address+", ":"";
j+=g.City!=null&&g.City.length>0?g.City+", ":"";j+=g.State!=null&&g.State.length>0?g.State:"";j=j.replace(/(, )+$/,"");if(f.CreateResults){k=new VEShape(VEShapeType.Pushpin,u);k.SetTitle(g.Name);k.SetDescription(g.Phone!=null?j+"<br/>"+g.Phone:j);if(!f.ShowResults){k.SetVisibility(false)}x.AddShape(k);w.push(k)}var v=new VEFindResult(f.FindType,k,g.Name,j,u,false,g.Phone);r.push(v)}}f.WhatString="";f.QueryString="";if(r.length>0){f.WhatResults=r;f.WhatHasMore=c.SearchResults.length>f.NumberOfResults}var q=false;if(i.length>1){if(f.SetBestMapView){a.m_vemap.SetViewport(i[0][1],i[0][2],i[0][3],i[0][4])}e=f;if(f.UseDefaultDisambiguation){if(c.ParseResults!=null&&c.ParseResults.length>0&&c.ParseResults[0].Keyword!=null&&c.ParseResults[0].Keyword!=""){f.WhatString=IOSec.EncodeUrl(c.ParseResults[0].Keyword)}a.m_vemap.m_veambiguouslist.Show(i,a._DisambiguateCallback,true);q=true}else{if(typeof a.m_vemap.DisambiguationCallback!="undefined"&&a.m_vemap.DisambiguationCallback!=null&&typeof a.m_vemap.DisambiguationCallback=="function"){a.m_vemap.DisambiguationCallback(f.WhereResults);q=true}}}if((f.WhereResults==null||f.WhereResults.length==0)&&(f.WhatResults==null||f.WhatResults.length==0)){f.ErrorMessage=a.m_vemap.IsValidCredentialsInResponse(c)?L_invalidsearchresult_Text:L_CredentialsInvalid_Text}if(!q){a.Find(f)}};this.SearchResponseHandler=function(g,d){a.m_vemap.vemapcontrol.Fire("onendrequest");a.m_vemap.__HandleAuthentication(g);var h=[],l=[],m=d.ShapeLayer;if(g.SearchResults!=null&&g.SearchResults.length>0){var n=Math.min(g.SearchResults.length,d.NumberOfResults);for(var i=0;i<n;i++){var c=g.SearchResults[i],f=null,j=b.CreateVELatLong(c.Location.Latitude,c.Location.Longitude),e=c.Address!=null&&c.Address.length>0?c.Address+", ":"";e+=c.City!=null&&c.City.length>0?c.City+", ":"";e+=c.State!=null&&c.State.length>0?c.State:"";e=e.replace(/(, )+$/,"");if(d.CreateResults){f=new VEShape(VEShapeType.Pushpin,j);f.SetTitle(c.Name);f.SetDescription(c.Phone!=null?e+"<br/>"+c.Phone:e);if(!d.ShowResults){f.SetVisibility(false)}m.AddShape(f);
l.push(f)}var k=new VEFindResult(d.FindType,f,c.Name,e,j,false,c.Phone);h.push(k)}}d.WhatString="";if(h.length>0){d.WhatResults=h;d.WhatHasMore=g.SearchResults.length>d.NumberOfResults}else{d.ErrorMessage=a.m_vemap.IsValidCredentialsInResponse(g)?L_invalidsearchresult_Text:L_CredentialsInvalid_Text}a.Find(d)};this.FindAmbiguousListCallBack=function(f,h,j,i,k){var c=e;e=null;if(f!=null){var d=$ID(this.m_vemap.ID+"_vewhereinput");if(d){d.value=unescape(f)}var b=c.WhereResults,g=-1;if(b){for(var a=0;a<b.length;a++){if(b[a].LatLongRect.TopLeftLatLong.Latitude==h&&b[a].LatLongRect.TopLeftLatLong.Longitude==j&&b[a].LatLongRect.BottomRightLatLong.Latitude==i&&b[a].LatLongRect.BottomRightLatLong.Longitude==k){g=a;if(c!=null){c.WhereResults=[b[a]];c.WhereLatLong=b[a].LatLong;c.WhereRect=b[a].LatLongRect}break}}}}else{c.DisambuigationCancelled=true}this.Find(c)};function f(){var a=null;if(c.vemapcontrol.IsMapViewOblique()){var b=c.GetBirdseyeScene();if(b){a=b.GetBoundingRectangleNorthFacing()}}else{a=c.GetMapView()}return a}function d(a){var i="";if(a&&a.TopLeftLatLong&&a.BottomRightLatLong){var h=g.Decode(a.TopLeftLatLong),f=g.Decode(a.BottomRightLatLong),b=h.Latitude,c=f.Longitude,d=f.Latitude,e=h.Longitude;if(b<d){var j=b;b=d;d=j}if(c<e){var j=c;c=e;e=j}return i=b+", "+c+", "+d+", "+e}return i}this.ReverseGeocode=function(b,c){if(b.Latitude==null||b.Longitude==null){if(typeof c=="function"){c(null)}}else{var d=[];d.push(new VEParameter("latitude",b.Latitude));d.push(new VEParameter("longitude",b.Longitude));this.m_vemap.vemapcontrol.Fire("onstartrequest");function e(b){a.ReverseGeocodeResponseHandler(b,c)}VEAPIRequestInvoke(Msn.VE.API.Constants.geocodingservice+"/ReverseGeocode",d,e,this.m_vemap)}};this.ReverseGeocodeResponseHandler=function(d,j){a.m_vemap.vemapcontrol.Fire("onendrequest");a.m_vemap.__HandleAuthentication(d);var e=null;if(d&&d.Results&&d.Results.length>0){e=[];var l=d.Results.length;for(var g=0;g<l;++g){var c=d.Results[g],i=[];if(c.Locations&&c.Locations.length){for(var h=0;h<c.Locations.length;++h){var f=c.Locations[h];
i.push(new VEGeocodeLocation(b.CreateVELatLong(f.Coordinates.Latitude,f.Coordinates.Longitude),f.Precision))}}var k=new VEPlace(c.Name,b.CreateVELatLong(c.BestLocation.Coordinates.Latitude,c.BestLocation.Coordinates.Longitude),new VELatLongRectangle(b.CreateVELatLong(c.BestView.NorthEastCorner.Latitude,c.BestView.SouthWestCorner.Longitude),b.CreateVELatLong(c.BestView.SouthWestCorner.Latitude,c.BestView.NorthEastCorner.Longitude)),c.MatchConfidence,c.MatchCode,c.BestLocation.Precision,i);e.push(k)}}if(typeof j=="function"){j(e)}};this.Dispose=function(){this.m_vemap=null;this.m_veLatLongFactory=null;a=null}}function VE_SearchResultCategory(b,a){this.id=b;this.name=a;this.IsValid=function(){return typeof parseInt(b)=="number"&&typeof a=="string"&&a.length>0};this.Destroy=function(){this.id=null;this.name=null}}Msn.VE.Search={};Msn.VE.Search.strLastWhere="";function VE_SearchResult(w,u,l,t,s,v,p,n,r,d,o,k,h,g,q,f,a,j,i,c,b,m){this.id=w;this.name=u;this.description=l;this.phone=t;this.rating=s;this.type=v;this.latitude=p;this.longitude=n;this.pushPin=null;this.pinId=null;this.keywords=o;this.infoUrl=r;this.photoUrl=typeof d!="undefined"?d:"";this.mapserviceType=k;this.mapserviceSource=h;this.mapserviceOpacity=g;this.website=b!=null&&typeof b!="undefined"&&b.constructor==String?b:"";this.country=q;var e=null;this.SetGeoRef=function(a){e=a};this.GetGeoRef=function(){return e};this.insideBoundingBox=f;var a=a;this.GetDistanceFromCenter=function(b,c){if(typeof a=="number"&&Msn.VE.DistanceUnit.IsValidType(b)){if(b=="mi"){if(a.toFixed){return c?a.toFixed(2)+L_DirectionsMi_Text:a.toFixed(2)}}else{if(b=="km"){if(a.toFixed){return c?(a*1.60934).toFixed(2)+L_DirectionsKm_Text:(a*1.60934).toFixed(2)}}}}};this.roofTopLatitude=j;this.roofTopLongitude=i;if(typeof c==="boolean"){this.isLocationPrecise=c}else{this.isLocationPrecise=true}this.brandInfo=m;this.adInfo=null;this.whitePageInfo=null}function VE_WebSearchResult(h,g,i,j,k){var c=a(h),d=a(g),e=a(i),b=a(j),f=a(k);this.GetCaptionUrl=function(){return c};this.SetCaptionUrl=function(b){c=a(b)
};this.GetDescription=function(){return d};this.SetDescription=function(b){d=a(b)};this.GetDisplayUrl=function(){return e};this.SetDisplayUrl=function(b){e=a(b)};this.GetTitle=function(){return b};this.SetTitle=function(c){b=a(c)};this.GetUrl=function(){return f};this.SetUrl=function(b){f=a(b)};function a(a){if(typeof a=="string"&&a.length>=0){return a}return null}}VE_SearchResult.prototype.Equals=function(a){if(a==null||a=="undefined"){return false}try{var b=this.name==a.name&&this.description==a.description&&this.phone==a.phone&&this.rating==a.rating&&this.type==a.type&&this.latitude==a.latitude&&this.longitude==a.longitude;return b}catch(c){return false}};VE_WebSearchResult.prototype.Equals=function(a){if(a instanceof VE_WebSearchResult){var b=this.GetCaptionUrl()==a.GetCaptionUrl()&&this.GetDescription()==a.GetDescription()&&this.GetTitle()==a.GetTitle()&&this.GetDisplayUrl()==a.GetDisplayUrl()&&this.GetUrl()==a.GetUrl();return b}return false};function VE_ColInfo(e,d,b,a,c){this.id=e;this.name=d;this.businessId=b;this.entityCount=a;this.colType=c}VE_SetModuleStatus(VE_ModuleName.APIFIND,"loaded");VEMap.prototype.InitRouting=function(){if(!this.m_vedirectionsmanager){this.m_vedirectionsmanager=new VEDirectionsManager(this);this.m_vedirectionsmanager.Initialize();this._dm=this.m_vedirectionsmanager}if(!this.m_routemanager){this.m_routemanager=new VERouteManager(this)}};VEMap.prototype.GetRoute=function(d,e,b,c,a){this.InitRouting();this.m_vedirectionsmanager.GetDrivingDirections(d,e,b,c,a)};VEMap.prototype.DeleteRoute=function(){this.InitRouting();this.m_routemanager.ClearRoute()};function VERouteDistanceUnit(){}VERouteDistanceUnit.Mile="Mile";VERouteDistanceUnit.Kilometer="Kilometer";VERouteDistanceUnit.Default=VERouteDistanceUnit.Mile;function VERouteOptimize(){}VERouteOptimize.MinimizeTime="MinimizeTime";VERouteOptimize.MinimizeDistance="MinimizeDistance";VERouteOptimize.Default="Default";function VERouteMode(){}VERouteMode.Driving="Driving";VERouteMode.Walking="Walking";VERouteMode.Default=VERouteMode.Driving;
function VERouteWarningSeverity(){}VERouteWarningSeverity.None=0;VERouteWarningSeverity.LowImpact=1;VERouteWarningSeverity.Minor=2;VERouteWarningSeverity.Moderate=3;VERouteWarningSeverity.Serious=4;function VERouteHintType(){}VERouteHintType.PreviousIntersection=1;VERouteHintType.NextIntersection=2;VERouteHintType.Landmark=3;function VEServiceRequest(d,b,c,a){this.ID=d;this.Service=b;this.Params=c;this.Callback=a}function VE_Location(c,b,a){this.name=c;this.latitude=b;this.longitude=a}function VERouteOptions(){this.DistanceUnit=VERouteDistanceUnit.Default;this.RouteOptimize=VERouteOptimize.Default;this.RouteMode=VERouteMode.Default;this.RouteCallback=null;this.DrawRoute=true;this.RouteWeight=6;this.RouteColor=new VEColor(0,169,235,0.7);this.RouteZIndex=4;this.SetBestMapView=true;this.ShowDisambiguation=true;this.ShowErrorMessages=true;this.UseTraffic=false;this.UseMWS=false}function VERoute(){this.RouteLegs=[];this.Distance=0;this.Time=0;this.ShapePoints=null}function VERouteItinerary(){this.Items=[]}function VERouteItineraryItem(f,c,a,e,g,b,d){this.Text=f;this.LatLong=c;this.Distance=a;this.Shape=e;this.Time=g;this.Warnings=b;this.Hints=d}function VERouteLeg(a,b,d,c,e){this.StartLocation=a;this.EndLocation=b;this.Distance=d;this.Itinerary=c;this.Time=e}function VERouteHint(b,a){this.Type=b;this.Text=a}function VERouteWarning(b,a){this.Text=b;this.Severity=a}VEMap.prototype.GetDirections=function(b,a){this.m_routemanager.GetRoute(b,a)};function VERouteManager(vemap){var self=this,m_vemap=vemap,m_routeShapeLayer=null,m_routeHighlight=null,m_encoder=new _xz1,m_veLatLongDecoder=new _xy1,m_veLatLongFactory=new VELatLongFactory(new VELatLongFactorySpecFromMap(m_vemap)),m_routeDecoder=new Msn.VE.DirectionsDecoder,m_routeOptions=null,m_locations=[],m_currentLocationIndex=0,m_requestQueue=[],m_route=null,m_requestID=null;this.GetRoute=function(e,a){m_requestID=VENetwork.GetExecutionID();m_vemap.DeleteRoute();if(!e||!e.length||e.length<2){throw new VEException("","err_invalidargument",L_invaliddirections_text)}if(a){VEValidator.ValidateObject(a,"routeOptions",VERouteOptions,"VERouteOptions");
if(a.DistanceUnit!=VERouteDistanceUnit.Mile&&a.DistanceUnit!=VERouteDistanceUnit.Kilometer){throw new VEException("","err_invalidargument",L_invalidargument_text.replace("%1","routeOptions.DistanceUnit").replace("%2","VERouteDistanceUnit"))}if(a.RouteOptimize!=VERouteOptimize.Default&&a.RouteOptimize!=VERouteOptimize.MinimizeTime&&a.RouteOptimize!=VERouteOptimize.MinimizeDistance){throw new VEException("","err_invalidargument",L_invalidargument_text.replace("%1","routeOptions.RouteOptimize").replace("%2","VERouteOptimize"))}if(a.RouteMode!=VERouteMode.Driving&&a.RouteMode!=VERouteMode.Walking){throw new VEException("","err_invalidargument",L_invalidargument_text.replace("%1","routeOptions.RouteMode").replace("%2","VERouteMode"))}if(a.RouteMode==VERouteMode.Driving&&!$MVEM.IsEnabled(MapControl.Features.RouteOptions.RouteMode.Driving)||a.RouteMode==VERouteMode.Walking&&!$MVEM.IsEnabled(MapControl.Features.RouteOptions.RouteMode.Walking)){throw new VEException("","err_notSupportProperty",L_UnsupportProperty_Text.replace("%1","VERouteOptions").replace("%2","RouteMode").replace("%3",a.RouteMode.toString()))}VEValidator.ValidateBoolean(a.DrawRoute,"routeOptions.DrawRoute");if(a.RouteCallback){VEValidator.ValidateFunction(a.RouteCallback,"routeOptions.RouteCallback")}VEValidator.ValidateFloat(a.RouteWeight,"routeOptions.RouteWeight");VEValidator.ValidateObject(a.RouteColor,"routeOptions.RouteColor",VEColor,"VEColor");VEValidator.ValidateInt(a.RouteZIndex,"routeOptions.RouteZIndex");VEValidator.ValidateBoolean(a.SetBestMapView,"routeOptions.SetBestMapView");VEValidator.ValidateBoolean(a.ShowDisambiguation,"routeOptions.ShowDisambiguation");VEValidator.ValidateBoolean(a.ShowErrorMessages,"routeOptions.ShowErrorMessages");VEValidator.ValidateBoolean(a.UseMWS,"routeOptions.UseMWS");VEValidator.ValidateBoolean(a.UseTraffic,"routeOptions.UseTraffic");if(!$MVEM.IsEnabled(MapControl.Features.RouteOptions.UseMWS)&&a.UseMWS){throw new VEException("","err_notSupportProperty",L_UnsupportProperty_Text.replace("%1","VERouteOptions").replace("%2","UseMWS").replace("%3","true"))
}if(!$MVEM.IsEnabled(MapControl.Features.RouteOptions.UseTraffic)&&a.UseTraffic){throw new VEException("","err_notSupportProperty",L_UnsupportProperty_Text.replace("%1","VERouteOptions").replace("%2","UseTraffic").replace("%3","true"))}m_routeOptions=a}else{m_routeOptions=new VERouteOptions}m_locations=[];m_currentLocationIndex=0;m_requestQueue=[];var i=e.length;for(var d=0;d<i;++d){var f=e[d];VEValidator.ValidateNonNull(e[d],"Location");if(f instanceof VELatLong){m_locations[d]=m_veLatLongDecoder.Decode(f)}else{var b=[],g="",c=null;if(m_vemap.vemapcontrol.IsMapViewOblique()){var h=m_vemap.GetBirdseyeScene();if(h){c=h.GetBoundingRectangleNorthFacing()}}else{c=m_vemap.GetMapView()}if(c&&c.TopLeftLatLong&&c.BottomRightLatLong){g=c.TopLeftLatLong.Latitude+", "+c.BottomRightLatLong.Longitude+", "+c.BottomRightLatLong.Latitude+", "+c.TopLeftLatLong.Longitude}b.push(new VEParameter("count",""));b.push(new VEParameter("query",'"'+IOSec.EncodeUrl(f)+'"'));b.push(new VEParameter("landmark",""));b.push(new VEParameter("addressLine",""));b.push(new VEParameter("locality",""));b.push(new VEParameter("postalTown",""));b.push(new VEParameter("adminDistrict",""));b.push(new VEParameter("district",""));b.push(new VEParameter("postalCode",""));b.push(new VEParameter("countryRegion",""));b.push(new VEParameter("mapBounds",'"'+g+'"'));b.push(new VEParameter("currentLocation",""));b.push(new VEParameter("curLocAccuracy",""));b.push(new VEParameter("entityTypes",""));b.push(new VEParameter("rankBy",""));m_requestQueue.push(new VEServiceRequest(d,Msn.VE.API.Constants.geocodingservice+"/Geocode",b,self.GeocodeResponseHandler))}}self.ExecuteNextRequest()};this.ClearRoute=function(){if(m_route){if(m_routeShapeLayer){m_vemap.DeleteShapeLayer(m_routeShapeLayer);m_routeShapeLayer=null}for(var a=0;a<m_route.RouteLegs.length;++a){var c=m_route.RouteLegs[a];for(var b=0;b<c.Itinerary.Items.length;++b){var d=c.Itinerary.Items[b];if(d.Shape){d.Shape=null}}}m_route=null}this.RemoveRouteHighLight()};this.ExecuteNextRequest=function(){if(m_requestQueue.length>0){var b=m_requestID;
function c(c){if(m_requestID==b){a.Callback(c,a.ID)}}var a=m_requestQueue.shift();m_vemap.vemapcontrol.Fire("onstartrequest");VEAPIRequestInvoke(a.Service,a.Params,c,m_vemap)}else{self.ExecuteRouteRequest()}};this.ExecuteRouteRequest=function(){var d=m_requestID;function e(a){if(m_requestID==d){self.RouteResponseHandler(a)}}var a=[],c="",f=m_locations.length;for(var b=0;b<f;++b){c+=m_encoder.Encode(m_locations[b].Latitude,m_locations[b].Longitude)}a.push(new VEParameter("encodedWaypoints",'"'+c+'"'));a.push(new VEParameter("encodingLength","6"));a.push(new VEParameter("unit",'"'+m_routeOptions.DistanceUnit+'"'));a.push(new VEParameter("routeOptimize",'"'+m_routeOptions.RouteOptimize+'"'));a.push(new VEParameter("mode",'"'+m_routeOptions.RouteMode+'"'));a.push(new VEParameter("useMws",m_routeOptions.UseMWS?"true":"false"));a.push(new VEParameter("useTraffic",m_routeOptions.UseTraffic?"true":"false"));m_vemap.vemapcontrol.Fire("onstartrequest");VEAPIRequestInvoke(Msn.VE.API.Constants.routeservice+"/CalculateRoute2",a,e,m_vemap)};this.GeocodeResponseHandler=function(a,e){m_vemap.vemapcontrol.Fire("onendrequest");m_vemap.__HandleAuthentication(a);if(a&&a.Results&&a.Results.length>0){if(a.Results.length==1||!m_routeOptions.ShowDisambiguation||a.Results[0].MatchConfidence!=a.Results[1].MatchConfidence){var b=GetRouteLocation(a.Results[0]);if(b!=null){m_locations[e]=new VELatLong(b.Coordinates.Latitude,b.Coordinates.Longitude)}self.ExecuteNextRequest()}else{var g=a.Results[0].MatchConfidence,f=[];for(var d=0;d<a.Results.length;++d){var c=a.Results[d];if(c.MatchConfidence==g){var b=GetRouteLocation(c);if(b!=null){f.push(new VE_Location(c.Name,b.Coordinates.Latitude,b.Coordinates.Longitude))}}}m_currentLocationIndex=e;m_vemap.m_veambiguouslist.Show(f,"VEMap._GetMapFromGUID("+m_vemap.GUID+").m_routemanager.DisambiguateLocation")}}else{if(m_routeOptions.ShowErrorMessages){m_vemap.ShowMessage(m_vemap.IsValidCredentialsInResponse(a)?L_invalidlocation_Text:L_CredentialsInvalid_Text)}if(m_routeOptions.RouteCallback){m_routeOptions.RouteCallback(null)
}}};function GetRouteLocation(a){var b=null;if(a.Locations&&a.Locations.length){for(var c=0;c<a.Locations.length;++c){if(a.Locations[c].Precision==VELocationPrecision.Interpolated){b=a.Locations[c];break}}}if(b==null){b=a.BestLocation}return b}this.DisambiguateLocation=function(c,a,b){if(a&&b){m_locations[m_currentLocationIndex]=new VELatLong(a,b);self.ExecuteNextRequest()}};this.RouteResponseHandler=function(object){m_vemap.vemapcontrol.Fire("onendrequest");m_vemap.__HandleAuthentication(object);m_route=new VERoute;if(object&&object.ResponseSummary&&object.ResponseSummary.StatusCode==0){if(object.RouteResult){if(object.RouteResult.RouteSummary){if(object.RouteResult.RouteSummary.Distance){m_route.Distance=object.RouteResult.RouteSummary.Distance}if(object.RouteResult.RouteSummary.TimeInSeconds){m_route.Time=object.RouteResult.RouteSummary.TimeInSeconds}}if(object.RouteResult.RouteLegs){var len=object.RouteResult.RouteLegs.length;for(var i=0;i<len;++i){var leg=object.RouteResult.RouteLegs[i],itinerary=new VERouteItinerary,itineraryItemsLen=leg.Itinerary.Items.length;for(var j=0;j<itineraryItemsLen;++j){var item=leg.Itinerary.Items[j],warnings=null;if(item.ItemWarnings){warnings=[];for(var k=0;k<item.ItemWarnings.length;++k){warnings.push(new VERouteWarning(item.ItemWarnings[k].WarningText.Text,item.ItemWarnings[k].WarningCriticality))}}var hints=null;if(item.ItemHints){hints=[];for(var k=0;k<item.ItemHints.length;++k){hints.push(new VERouteHint(item.ItemHints[k].HintType,item.ItemHints[k].HintText.Text))}}itinerary.Items.push(new VERouteItineraryItem(item.Text.Text,m_veLatLongFactory.CreateVELatLong(item.ItemDetails[0].Coordinate.Latitude,item.ItemDetails[0].Coordinate.Longitude),item.ItemSummary.Distance,null,item.ItemSummary.TimeInSeconds,warnings,hints))}m_route.RouteLegs.push(new VERouteLeg(m_veLatLongFactory.CreateVELatLong(leg.ActualStart.Latitude,leg.ActualStart.Longitude),m_veLatLongFactory.CreateVELatLong(leg.ActualEnd.Latitude,leg.ActualEnd.Longitude),leg.LegSummary.Distance,itinerary,leg.LegSummary.TimeInSeconds))
}}}}if(m_route&&m_route.RouteLegs&&m_route.RouteLegs.length>0){if(m_routeOptions.DrawRoute){var shapes=[],stepIndex=0;for(var routeLegIndex=0;routeLegIndex<m_route.RouteLegs.length;++routeLegIndex){var routeLeg=m_route.RouteLegs[routeLegIndex];for(var itemIndex=0;itemIndex<routeLeg.Itinerary.Items.length;++itemIndex){var item=routeLeg.Itinerary.Items[itemIndex],shape=new VEShape(VEShapeType.Pushpin,item.LatLong);if(routeLegIndex==0&&itemIndex==0){shape.SetTitle(L_Start_Text);shape.SetCustomIcon(Msn.VE.API.Constants.vedirectionsstarticon)}else{if(routeLegIndex==m_route.RouteLegs.length-1&&itemIndex==routeLeg.Itinerary.Items.length-1){shape.SetTitle(L_End_Text);shape.SetCustomIcon(Msn.VE.API.Constants.vedirectionsendicon)}else{shape.SetTitle(L_DirectionsStep_Text+" "+stepIndex);shape.SetCustomIcon(Msn.VE.API.Constants.vedirectionsstepicon.replace("%1",stepIndex))}}shape.SetDescription(item.Text);item.Shape=shape;shapes.push(shape);++stepIndex}}m_routeShapeLayer=new VEShapeLayer;m_vemap.AddShapeLayer(m_routeShapeLayer);m_routeShapeLayer.AddShape(shapes)}if(object.RouteResult&&object.RouteResult.RoutePath){var rp=object.RouteResult.RoutePath,shapePointLatitudes=m_routeDecoder.DecodeCoordinatesString(rp.ShapePointsLatitudes),shapePointLongitudes=m_routeDecoder.DecodeCoordinatesString(rp.ShapePointsLongitudes);if(m_vemap.HasClientToken()||m_vemap.HasValidCredentials()){m_route.ShapePoints=[];if(shapePointLatitudes.length==shapePointLongitudes.length){var len=shapePointLatitudes.length;for(var i=0;i<len;++i){m_route.ShapePoints[i]=m_veLatLongFactory.CreateVELatLong(shapePointLatitudes[i],shapePointLongitudes[i])}}}if(m_routeOptions.DrawRoute){if(m_routeOptions.SetBestMapView&&rp.JavascriptBestView){var bestView=eval(rp.JavascriptBestView),latlongs=[];for(var i=0;i<bestView.length;++i){latlongs.push(new VELatLong(bestView[i].latitude,bestView[i].longitude))}m_vemap.SetMapView(latlongs)}self.CreateRouteHighLight("veDDHighlight",shapePointLatitudes,shapePointLongitudes,eval(rp.JavascriptRouteRegions),eval(rp.JavascriptZoomLevelsForGeneralizedLines))
}}}else{if(m_routeOptions.ShowErrorMessages){m_vemap.ShowMessage(m_vemap.IsValidCredentialsInResponse(object)?L_invalidroute_Text:L_CredentialsInvalid_Text)}}if(m_routeOptions.RouteCallback){m_routeOptions.RouteCallback(m_route)}};this.CreateRouteHighLight=function(e,c,d,b,a){if(m_routeHighlight){this.RemoveRouteHighLight()}m_routeHighlight=m_vemap.vemapcontrol.AddLine(e,c,d,m_routeOptions.RouteWeight,m_routeOptions.RouteColor,m_routeOptions.RouteZIndex,b,a)};this.RemoveRouteHighLight=function(){if(m_routeHighlight){m_vemap.vemapcontrol.RemoveLine(m_routeHighlight.id);m_routeHighlight=null}};this.Dispose=function(){self=null}}var L_cannotrenderroute_text="The route could not be drawn because this web browser does not support SVG and VML.";VEDistanceUnit=new function(){this.Miles="m";this.Kilometers="k"};VERouteType=new function(){this.Shortest="s";this.Quickest="q"};function VERouteDeprecated(b,c,a){VEValidator.ValidateObject(b,"startLocation",VERouteLocation,"VERouteLocation");VEValidator.ValidateObject(c,"endLocation",VERouteLocation,"VERouteLocation");VEValidator.ValidateObject(a,"veRouteItinerary",VERouteItineraryDeprecated,"VERouteItineraryDeprecated");this.StartLocation=b;this.EndLocation=c;this.Itinerary=a}function VERouteLocation(b,a){VEValidator.ValidateNonNull(b,"address");VEValidator.ValidateObject(a,"veLatLong",VELatLong,"VELatLong");this.Address=b;this.LatLong=a}function VERouteItineraryDeprecated(c,a,d,b){this.Distance=c;this.DistanceUnit=a;this.Time=d;this.RouteType=b;this.Segments=[];this.AddSegment=function(a){VEValidator.ValidateObject(a,"segment",VERouteSegment,"VERouteSegment");this.Segments.push(a)}}function VERouteSegment(b,c,a){VEValidator.ValidateObject(a,"veLatLong",VELatLong,"VELatLong");this.Instruction=b;this.Distance=c;this.LatLong=a}function VEDirectionsManager(c){VEValidator.ValidateObject(c,"vemap",VEMap,"VEMap");this.m_vemap=c;var a=this;this.lastStartString="";this.lastEndString="";this.laststart="";this.lastend="";this.lastcallback=null;this.disambigwhat="";this.veroutecache=[];var f=new VELatLongFactory(new VELatLongFactorySpecFromMap(this.m_vemap)),e=new _xy1;
this.m_showDisambigousDialog=true;this.Initialize=function(){};this.GetDrivingDirections=function(b,c,e,f,g){if(b==null||typeof b=="undefined"||b.length<=0){throw new VEException("VEDirectionsManager:GetDrivingDirections","err_invaliddirections",L_invaliddirections_text)}if(c==null||typeof c=="undefined"||c.length<=0){throw new VEException("VEDirectionsManager:GetDrivingDirections","err_invaliddirections",L_invaliddirections_text)}this.lastStartString=typeof b=="string"?b:"";this.lastEndString=typeof c=="string"?c:"";if(e!=null&&typeof e!="undefined"&&(e==VEDistanceUnit.Kilometers||e==VEDistanceUnit.Miles)){this.lastdist=e}else{this.lastdist=VEDistanceUnit.Miles}if(f!=null&&typeof f!="undefined"&&(f==VERouteType.Quickest||f==VERouteType.Shortest)){this.lasttype=f}else{this.lasttype=VERouteType.Quickest}var a=new VERouteOptions;a.DistanceUnit=this.lastdist==VEDistanceUnit.Kilometers?VERouteDistanceUnit.Kilometer:VERouteDistanceUnit.Mile;a.RouteOptimize=this.lasttype==VERouteType.Shortest?VERouteOptimize.MinimizeDistance:VERouteOptimize.MinimizeTime;a.RouteMode=VERouteMode.Driving;a.DrawRoute=true;a.UseMWS=true;if(typeof g=="function"){a.RouteCallback=function(a){d(a,g)}}this.m_vemap.GetDirections([b,c],a)};function d(g,m){var i=null;if(g!=null&&g.RouteLegs!=null&&g.RouteLegs.length==1){var c=g.RouteLegs[0],k=new VERouteLocation(a.lastStartString,c.StartLocation),l=new VERouteLocation(a.lastEndString,c.EndLocation),h;if(c.Time<60){h=L_routelessthanoneminute_Text}else{var d=new Date;d.setHours(0,0,0,0);d.setSeconds(c.Time);h=d.getHours()!=0?L_hoursandminutes_Text.replace(/%1/,d.getHours()).replace(/%2/,d.getMinutes()):L_minutes_Text.replace(/%1/,d.getMinutes())}var j=new VERouteItineraryDeprecated(b(c.Distance),a.lastdist==VEDistanceUnit.Miles?"mi":"km",h,a.lasttype),f=c.Itinerary.Items;for(var e=0;e<f.length;e++){var n=new VERouteSegment(f[e].Text,b(f[e].Distance),f[e].LatLong);j.AddSegment(n)}i=new VERouteDeprecated(k,l,j)}m(i)}function b(a){return MathRound(a*10)/10}}function VE_Directions(){}VE_SetModuleStatus(VE_ModuleName.APIROUTING,"loaded");
VEMap.prototype.LoadTraffic=function(c,b,a){if(this.m_vetrafficmanager){VE_TrafficManager.ClearTraffic()}else{this.m_vetrafficmanager=new VE_TrafficManager(this)}VE_TrafficManager.m_vemap=this;if(!VE_TrafficManager.turnedOn&&$ID("MSVE_navAction_traffic")!=null){g($ID("MSVE_navAction_traffic")).addClass("MSVE_selected")}VE_TrafficManager.turnedOn=true;VE_TrafficManager.showTrafficFlow=c;VE_TrafficManager.showIncidents=b;VE_TrafficManager.showConstructionIncidents=a;VE_TrafficManager.markets=[];VE_TrafficManager.incidents=[];if(this.vemapcontrol){this.vemapcontrol.UpdateCopyright()}window.setTimeout(VE_TrafficManager.GetMarkets,100)};VEMap.prototype.ClearTraffic=function(){if(VE_TrafficManager.markets[0]!=null){VE_TrafficManager.ClearTraffic();if(VE_TrafficManager.turnedOn&&$ID("MSVE_navAction_traffic")!=null){g($ID("MSVE_navAction_traffic")).removeClass("MSVE_selected")}}if(this.vemapcontrol){this.vemapcontrol.UpdateCopyright()}};VEMap.prototype.ShowTrafficLegend=function(a,b){if(VE_TrafficManager&&VE_TrafficManager.turnedOn){VE_TrafficManager.ShowTrafficLegend(a,b)}};VEMap.prototype.HideTrafficLegend=function(){if(VE_TrafficManager){VE_TrafficManager.HideTrafficLegend()}};VEMap.prototype.SetTrafficLegendText=function(a){if(VE_TrafficManager){VE_TrafficManager.SetTrafficLegendText(a)}};function VE_TrafficManager(a){VEValidator.ValidateObject(a,"vemap",VEMap,"VEMap")}VE_TrafficManager.m_vemap=null;VE_TrafficManager.markets=[];VE_TrafficManager.incidents=[];VE_TrafficManager.incidentJSFiles=[];VE_TrafficManager.showingMarkets=[];VE_TrafficManager.showConstructionIncidents=false;VE_TrafficManager.incidentsAvailable=false;VE_TrafficManager.flowAvailable=false;VE_TrafficManager.turnedOn=false;VE_TrafficManager.legendPinned=true;VE_TrafficManager.showIncidents=false;VE_TrafficManager.showTrafficFlow=false;VE_TrafficManager.prevZoomLevel=0;VE_TrafficManager.displayAtZoomlevelMin=7;VE_TrafficManager.displayAtZoomlevelMax=15;VE_TrafficManager.prevMapStyle="";VE_TrafficManager.isViewDirty=false;VE_TrafficManager.masterTimer=null;
VE_TrafficManager.slaveTimer=null;VE_TrafficManager.SelectedMarketIcon=null;VE_TrafficManager.MarketIcons=null;VE_TrafficManager.Severity={Serious:L_TrafficManagerSerious_Text,Moderate:L_TrafficManagerModerate_Text,Minor:L_TrafficManagerMinor_Text};VE_TrafficManager.GetMarkets=function(){try{VENetwork.DownloadScript(VE_TrafficManager.m_vemap.vemapcontrol.GetMarketsFile(),VE_TrafficManager.GetTrafficInfo)}catch(a){}};VE_TrafficManager._ProcessMarkets=function(a){if(VE_TrafficManager.markets[0]==null){VE_TrafficManager.markets[0]=[]}if(a!=null&&a.length>0){var c=a.length;for(var b=0;b<c;b++){if(a[b]!=null){VE_TrafficManager.markets[0].push(a[b])}}}};VE_TrafficManager._GetIncidents=function(b){VE_TrafficManager.showingMarkets=VE_TrafficManager._GetIncidentMarkets();if(b){if(VE_TrafficManager.showingMarkets.length>0){VE_TrafficManager.incidentsAvailable=true;for(var a=0;a<VE_TrafficManager.showingMarkets.length;a++){try{var c=VENetwork.DownloadScript(VE_TrafficManager.m_vemap.vemapcontrol.GetIncidentsFile().replace("%1",VE_TrafficManager.showingMarkets[a]),null);VE_TrafficManager.incidentJSFiles.push(c)}catch(d){}}}}};VE_TrafficManager._ProcessIncidents=function(f,g,a){if(VE_TrafficManager.m_vemap!=null){var d=new Date;d.setTime(Date.parse(f));this.LastUpdateTimestamp=d.toLocaleTimeString();if(isNaN(d)){this.LastUpdateTimestamp=""}if(a==null||a.length<=0){return}var b=a[0].MarketId;if(VE_TrafficManager.incidents[b]==null){VE_TrafficManager.incidents[b]=[]}else{VE_TrafficManager._ClearPins(b);var e=VE_TrafficManager.incidents[b].length;for(var c=0;c<e;c++){VE_TrafficManager.incidents[b].pop()}}if(a!=null&&a.length>0){var e=a.length;for(var c=0;c<e;c++){if(a[c]!=null){VE_TrafficManager.incidents[b].push(a[c])}}}VE_TrafficManager._DisplayIncidents()}};VE_TrafficManager._GetIncidentMarkets=function(){var b=[],h=VE_TrafficManager.m_vemap.vemapcontrol.PixelToLatLong(new VEPixel(0,0)),g=VE_TrafficManager.m_vemap.vemapcontrol.PixelToLatLong(new VEPixel(VE_TrafficManager.m_vemap.GetWidth(),VE_TrafficManager.m_vemap.GetHeight()));
if(h==null||g==null){return b}var c=h.latitude,d=g.longitude,e=g.latitude,f=h.longitude;if(c<e){var i=c;c=e;e=i}if(d<f){var i=d;d=f;f=i}if(VE_TrafficManager.markets.length==0){return b}var k=new VELatLongRectangle(new VELatLong(c,f),new VELatLong(e,d)),l=VE_TrafficManager.markets[0].length;for(var a=0;a<l;a++){var j=new VELatLongRectangle(new VELatLong(VE_TrafficManager.markets[0][a].NELatitude,VE_TrafficManager.markets[0][a].SWLongitude),new VELatLong(VE_TrafficManager.markets[0][a].SWLatitude,VE_TrafficManager.markets[0][a].NELongitude));if(VE_TrafficManager._isBBOverlap(k,j)){if(VE_TrafficManager.markets[0][a].Incident=="Incidents"){b.push(VE_TrafficManager.markets[0][a].Id)}if(VE_TrafficManager.markets[0][a].Flow=="Flow"){VE_TrafficManager.flowAvailable=true}}}return b};VE_TrafficManager._isBBOverlap=function(b,a){return VE_TrafficManager._IsRectInBoundingBox(b,a)||VE_TrafficManager._IsRectInBoundingBox(a,b)};VE_TrafficManager._IsRectInBoundingBox=function(a,b){return !(a.BottomRightLatLong.Latitude>b.TopLeftLatLong.Latitude||a.BottomRightLatLong.Longitude<b.TopLeftLatLong.Longitude||a.TopLeftLatLong.Latitude<b.BottomRightLatLong.Latitude||a.TopLeftLatLong.Longitude>b.BottomRightLatLong.Longitude)};VE_TrafficManager.GetTrafficInfo=function(){if(!VE_TrafficManager.turnedOn){return}try{if(VE_TrafficManager.m_vemap.vemapcontrol.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){if(VE_TrafficManager.showTrafficFlow){VE_TrafficManager.m_vemap.vemapcontrol.Show3DTraffic(false)}else{VE_TrafficManager.m_vemap.vemapcontrol.Remove3DTraffic()}}var a=VE_TrafficManager.m_vemap.GetZoomLevel();if(VE_TrafficManager.m_vemap.vemapcontrol.IsMapViewOblique()){return}VE_TrafficManager.prevZoomLevel=a;VE_TrafficManager.prevMapStyle=VE_TrafficManager.m_vemap.GetMapStyle();VE_TrafficManager.incidentsAvailable=false;VE_TrafficManager.flowAvailable=false;VE_TrafficManager._ClearPins();VE_TrafficManager.m_vemap.vemapcontrol.ClearTileLayer("Traffic");if(a>VE_TrafficManager.displayAtZoomlevelMin){VE_TrafficManager._GetIncidents(VE_TrafficManager.showIncidents);
if(VE_TrafficManager.showTrafficFlow&&VE_TrafficManager.flowAvailable&&a<VE_TrafficManager.displayAtZoomlevelMax){VE_TrafficManager.m_vemap.vemapcontrol.SetTrafficView()}}if($MVEM.IsEnabled(MapControl.Features.Traffic.ShowOnNavbar)){VE_TrafficManager._RenderMarketIcon();if(a<=VE_TrafficManager.displayAtZoomlevelMin){VE_TrafficManager.SetTrafficLegendText(L_MapLegendAndPopupLink_Text)}}VE_TrafficManager.RenewAutoRefresh()}catch(b){}finally{}};VE_TrafficManager._DisplayIncidents=function(){if(VE_TrafficManager.showingMarkets!=null&&VE_TrafficManager.showingMarkets.length>0){var d=VE_TrafficManager.showingMarkets.length;for(var b=0;b<d;b++){var a=VE_TrafficManager.showingMarkets[b];if(VE_TrafficManager.incidents[a]!=null&&VE_TrafficManager.incidents[a].length>0&&$MVEM.IsEnabled(MapControl.Features.Traffic.ShowIncidents)){VE_TrafficManager._RemoveDuplicates(a);VE_TrafficManager._RenderTrafficInfo(a)}}if(this.LastUpdateTimestamp!=null&&typeof this.LastUpdateTimestamp!="undefined"){VE_TrafficManager.SetTrafficLegendText(this.LastUpdateTimestamp)}VE_TrafficManager.ShowTrafficLegend();if(VE_TrafficManager.m_vemap){var c=VE_TrafficManager.m_vemap.GetDashboardSize();if(c==VEDashboardSize.Small||c==VEDashboardSize.Tiny){VE_TrafficManager.ShowTrafficLegend(41,37)}}}};VE_TrafficManager._RenderTrafficInfo=function(c){if(c){VE_TrafficManager._ClearPins(c)}else{VE_TrafficManager._ClearPins()}var e=VE_TrafficManager.m_vemap.GetZoomLevel();if(e>VE_TrafficManager.displayAtZoomlevelMin){if(c==null){return}if(VE_TrafficManager.incidents[c]!=null){var b=VE_TrafficManager.incidents[c],f=VE_TrafficManager.incidents[c].length;for(var a=0;a<f;a++){if(b[a].Type!=VE_TrafficIncidentType.Weather&&b[a].Type!=VE_TrafficIncidentType.MassTransit){if(!VE_TrafficManager.showConstructionIncidents){if(b[a].Type==VE_TrafficIncidentType.UnscheduledConstruction||b[a].Type==VE_TrafficIncidentType.ScheduledConstruction){continue}}if(VE_TrafficManager.flowAvailable&&b[a].Type==VE_TrafficIncidentType.Congestion){continue}var d=new VEPushpin("pin_traffic_incident_"+c+"_"+b[a].Id,new VELatLong(b[a].Latitude,b[a].Longitude),Msn.VE.API.Constants.trafficiconurl.replace("%1",VE_TrafficManager.GetColor(b[a].Criticality)),"",VE_TrafficManager.CreatePopupContent(b[a]));
b[a].pushPin=d;VE_TrafficManager.m_vemap.AddPushpin(d)}}}}};VE_TrafficManager._RenderMarketIcon=function(){if(VE_TrafficManager.markets==null||VE_TrafficManager.markets.length==0||!$MVEM.IsEnabled(MapControl.Features.Traffic.ShowOnNavbar)){return}if(VE_TrafficManager.MarketIcons==null){VE_TrafficManager.MarketIcons=[]}var d=VE_TrafficManager.m_vemap.GetZoomLevel();if(VE_TrafficManager.MarketIcons.length>0&&d>VE_TrafficManager.displayAtZoomlevelMin){for(var b=0;b<VE_TrafficManager.markets[0].length;b++){VE_TrafficManager.m_vemap.DeletePushpin("pin_traffic_market_"+VE_TrafficManager.markets[0][b].Id)}VE_TrafficManager.MarketIcons=[];VE_TrafficManager.m_vemap.DetachEvent("onmouseover",VE_TrafficManager.MouseOverMarketIconHandler);VE_TrafficManager.m_vemap.DetachEvent("onmouseout",VE_TrafficManager.MouseOutMarketIconHandler)}if(d<=VE_TrafficManager.displayAtZoomlevelMin&&VE_TrafficManager.MarketIcons==0){for(var b=0;b<VE_TrafficManager.markets.length;b++){for(var c=0;c<VE_TrafficManager.markets[b].length;c++){var a=VE_TrafficManager.markets[b][c],g=(a.NELatitude+a.SWLatitude)/2,h=(a.NELongitude+a.SWLongitude)/2,e="pin_traffic_market_"+a.Id,f=new VELatLong(g,h),i=new VEPushpin(e,f,Msn.VE.API.Constants.trafficmarketiconurl.replace("%1",""),a.Name+" "+L_NavActionTraffic_Text,VE_TrafficManager.CreateMarketIconPopupContent(a),"","traffictitle");VE_TrafficManager.MarketIcons.push(e);VE_TrafficManager.m_vemap.AddPushpin(i)}}VE_TrafficManager.m_vemap.AttachEvent("onmouseover",VE_TrafficManager.MouseOverMarketIconHandler);VE_TrafficManager.m_vemap.AttachEvent("onmouseout",VE_TrafficManager.MouseOutMarketIconHandler)}};VE_TrafficManager.MouseOverMarketIconHandler=function(){for(var a=0;a<VE_TrafficManager.MarketIcons.length;a++){if(VE_TrafficManager.MarketIcons[a]+"_"+VE_TrafficManager.m_vemap.GUID==window.event.srcElement.id){VE_TrafficManager.SelectedMarketIcon=window.event.srcElement;VE_TrafficManager.SelectedMarketIcon.src=Msn.VE.API.Constants.trafficmarketiconurl.replace("%1","poi_hover_");break}}};VE_TrafficManager.MouseOutMarketIconHandler=function(){if(VE_TrafficManager.SelectedMarketIcon!=null){VE_TrafficManager.SelectedMarketIcon.src=Msn.VE.API.Constants.trafficmarketiconurl.replace("%1","");
VE_TrafficManager.SelectedMarketIcon=null}};VE_TrafficManager.CreateMarketIconPopupContent=function(a){if(a==null||a=="undefined"){return""}var c=(parseFloat(a.SWLatitude)+parseFloat(a.NELatitude))/2,b=(parseFloat(a.SWLongitude)+parseFloat(a.NELongitude))/2,d='<a class ="VE_Traffic_Popup_Link" id="eroTrafficZoom" href="javascript:void(0)" onclick="VE_TrafficManager.m_vemap.SetCenterAndZoom(new VELatLong('+c+","+b+'), 10);">'+L_MapLegendAndPopupLink_Text+"</a>";return d};VE_TrafficManager.GetColor=function(a){switch(a){case 0:return Msn.VE.UI.Color.Red;break;case 1:return Msn.VE.UI.Color.Orange;break;case 2:return Msn.VE.UI.Color.Yellow;break;default:return Msn.VE.UI.Color.Yellow}};VE_TrafficManager.CreatePopupContent=function(a){var b='<div class = "traffictitle">'+(a.Type?IOSec.EncodeHtml(a.Type.replace(/&amp;/gi,"&")):"")+'</div><div class = "trafficheader">'+L_TrafficPopupSeverity_Text+':</div> <div class = "trafficdata">'+VE_TrafficManager._GetSeverity(a.Criticality)+'</div><div class = "trafficheader">'+L_TrafficPopupLocation_Text+':</div> <div class = "trafficdata">'+(a.Location?IOSec.EncodeHtml(a.Location.replace(/&amp;/gi,"&")):"")+'</div><div class = "trafficheader">'+L_TrafficPopupDescription_Text+':</div> <div class = "trafficdata">'+(a.Description?IOSec.EncodeHtml(a.Description.replace(/&amp;/gi,"&")):"")+'</div><BR><div><div class = "trafficlabel">'+L_TrafficPopupStartTime_Text+':</div><div class = "trafficdata">'+(a.Starttime?IOSec.EncodeHtml(VETime.FormatTime(a.Starttime,true)):"")+'</div></div><div><div class = "trafficlabel">'+L_TrafficPopupEstEndTime_Text+':</div><div class = "trafficdata">'+(a.Endtime?IOSec.EncodeHtml(VETime.FormatTime(a.Endtime,true)):"")+"</div></div>";return b};VE_TrafficManager._GetSeverity=function(a){switch(a){case 0:return VE_TrafficManager.Severity.Serious;break;case 1:return VE_TrafficManager.Severity.Moderate;break;case 2:return VE_TrafficManager.Severity.Minor;break;default:return VE_TrafficManager.Severity.Minor}};VE_TrafficManager._RemoveDuplicates=function(c){if(c==null||c=="undefined"){return
}var a=VE_TrafficManager.incidents[c];if(a==null){return}for(var b=0;b<a.length;b++){for(var d=b+1;d<a.length;d++){if(a[b].Id==a[d].Id){a.splice(b,1)}}}};VE_TrafficManager.ClearTraffic=function(){VE_TrafficManager._ClearPins();if(VE_TrafficManager.m_vemap!=null){VE_TrafficManager.m_vemap.DetachEvent("onmouseover",VE_TrafficManager.MouseOverMarketIconHandler);VE_TrafficManager.m_vemap.DetachEvent("onmouseout",VE_TrafficManager.MouseOutMarketIconHandler)}if(VE_TrafficManager.m_vemap!=null&&VE_TrafficManager.m_vemap.vemapcontrol!=null){VE_TrafficManager.m_vemap.vemapcontrol.ClearTileLayer("Traffic");VE_TrafficManager.HideTrafficLegend();if(VE_TrafficManager.m_vemap.vemapcontrol.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){VE_TrafficManager.m_vemap.vemapcontrol.Remove3DTraffic()}}VE_TrafficManager.MarketIcons=[];VE_TrafficManager.turnedOn=false;VE_TrafficManager.ExpireAutoRefresh()};VE_TrafficManager.Destroy=function(){VE_TrafficManager.ClearTraffic();VE_TrafficManager.incidentsAvailable=false;VE_TrafficManager.flowAvailable=false;if(VE_TrafficManager.incidents!=null){if(VE_TrafficManager.markets[0]!=null){for(var c=0;c<VE_TrafficManager.markets[0].length;c++){var b=VE_TrafficManager.markets[0][c].Id,i=VE_TrafficManager.incidents[b];if(i==null){continue}var a=VE_TrafficManager.incidents[b].pop();if(a==null){continue}for(var e=0;e<a.length;e++){var f=a.pop();f=null}a=null}}VE_TrafficManager.incidents[b]=null}if(VE_TrafficManager.markets!=null&&VE_TrafficManager.markets[0]!=null&&VE_TrafficManager.markets[0].length>0){var h=VE_TrafficManager.markets[0].length;for(var d=0;d<h;d++){var g=VE_TrafficManager.markets[0].pop();g=null}VE_TrafficManager.markets[0]=null}VE_TrafficManager.m_vemap=null};VE_TrafficManager._ClearPins=function(e){if(VE_TrafficManager.markets==null||VE_TrafficManager.markets.length<=0){return}var c=VE_TrafficManager.markets[0];if(c!=null&&c.length>0){for(var a=0;a<c.length;a++){if(c[a].pushPin&&c[a].pushPin.ID!=null){VE_TrafficManager.m_vemap.DeletePushpin(c[a].pushPin.ID);c[a].pushPin=null}}}if(VE_TrafficManager.m_vemap!=null&&VE_TrafficManager.m_vemap.pushpins!=null&&VE_TrafficManager.m_vemap.pushpins.length>0&&VE_TrafficManager.MarketIcons!=null){for(var a=0;
a<VE_TrafficManager.MarketIcons.length;a++){VE_TrafficManager.m_vemap.DeletePushpin(VE_TrafficManager.MarketIcons[a])}}if(VE_TrafficManager.incidents==null||VE_TrafficManager.incidents.length<=0){return}if(e){var b=VE_TrafficManager.incidents[e];if(b==null){return}for(var a=0;a<b.length;a++){if(b[a].pushPin&&b[a].pushPin.ID!=null){VE_TrafficManager.m_vemap.DeletePushpin(b[a].pushPin.ID);b[a].pushPin=null}}}else{if(c!=null&&c.length>0){for(var d=0;d<VE_TrafficManager.markets[0].length;d++){var f=VE_TrafficManager.markets[0][d].Id,b=VE_TrafficManager.incidents[f];if(b==null){continue}for(var a=0;a<b.length;a++){if(b[a].pushPin&&b[a].pushPin.ID!=null){VE_TrafficManager.m_vemap.DeletePushpin(b[a].pushPin.ID);b[a].pushPin=null}}b=null}}}};VE_TrafficManager._ViewChangeNotification=function(){if(VE_TrafficManager.m_vemap.vemapcontrol.IsMapViewOblique()){return}if(!VE_TrafficManager.turnedOn){return}var a=VE_TrafficManager.m_vemap.GetZoomLevel();if(VE_TrafficManager.prevZoomLevel<=VE_TrafficManager.displayAtZoomlevelMin&&a>VE_TrafficManager.displayAtZoomlevelMin){VE_TrafficManager.isViewDirty=true}else{if(VE_TrafficManager.prevZoomLevel>VE_TrafficManager.displayAtZoomlevelMin&&a<=VE_TrafficManager.displayAtZoomlevelMin){VE_TrafficManager.isViewDirty=true}else{if(VE_TrafficManager.prevZoomLevel<VE_TrafficManager.displayAtZoomlevelMax&&a>=VE_TrafficManager.displayAtZoomlevelMax){VE_TrafficManager.isViewDirty=true}else{if(VE_TrafficManager.prevZoomLevel>=VE_TrafficManager.displayAtZoomlevelMax&&a<VE_TrafficManager.displayAtZoomlevelMax){VE_TrafficManager.isViewDirty=true}else{if(Msn.VE.MapStyle.IsViewOblique(VE_TrafficManager.prevMapStyle)){VE_TrafficManager.isViewDirty=true}else{var b=VE_TrafficManager._GetIncidentMarkets();if(b!=null&&b.length>0){for(var c=0;c<b.length;c++){var e=false;for(var d=0;d<VE_TrafficManager.showingMarkets.length;d++){if(b[c]==VE_TrafficManager.showingMarkets[d]){e=true;break}}if(!e){VE_TrafficManager.isViewDirty=true;break}else{VE_TrafficManager.isViewDirty=false}}}else{VE_TrafficManager.isViewDirty=true
}}}}}}VE_TrafficManager.prevZoomLevel=a;VE_TrafficManager.prevMapStyle=VE_TrafficManager.m_vemap.GetMapStyle();if(VE_TrafficManager.isViewDirty){window.setTimeout("VE_TrafficManager.GetTrafficInfo()",1)}VE_TrafficManager.RenewAutoRefresh()};VE_TrafficManager.ExpireAutoRefresh=function(){if(VE_TrafficManager.masterTimer!=null){window.clearInterval(VE_TrafficManager.masterTimer)}if(VE_TrafficManager.slaveTimer!=null){window.clearInterval(VE_TrafficManager.slaveTimer)}};VE_TrafficManager.RenewAutoRefresh=function(){if(!VE_TrafficManager.turnedOn){return}VE_TrafficManager.ExpireAutoRefresh();VE_TrafficManager.masterTimer=window.setInterval("VE_TrafficManager.ExpireAutoRefresh()",VE_TrafficManager.m_vemap.vemapcontrol.GetSlidingExpirationForAutoRefresh());VE_TrafficManager.slaveTimer=window.setInterval(VE_TrafficManager.AutoRefresh,VE_TrafficManager.m_vemap.vemapcontrol.GetAutoRefreshRate())};VE_TrafficManager.AutoRefresh=function(){try{var a=VE_TrafficManager.m_vemap.GetZoomLevel();if(a>=9){VE_TrafficManager.GetTrafficInfo()}}catch(b){}};VE_TrafficIncidentType=new function(){this.ScheduledConstruction="SCHEDULED CONSTRUCTION";this.OtherNews="OTHER NEWS";this.Congestion="CONGESTION";this.Accident="ACCIDENT";this.DisabledVehicle="DISABLED VEHICILE";this.RoadHazard="ROAD HAZARD";this.UnscheduledConstruction="UNSCHEDULED CONSTRUCTION";this.PlannedEvent="PLANNED EVENT";this.MassTransit="MASS TRANSIT";this.Weather="WEATHER";this.Miscellaneous="MISCELLANEOUS"};function VE_Market(h,g,f,e,c,d,b,a){this.Id=h;this.Name=g;this.GMTOffset=f;this.SWLatitude=e;this.SWLongitude=c;this.NELatitude=d;this.NELongitude=b;if(a.indexOf("Flow")==0){this.Flow="Flow"}if(a.indexOf("Incidents")!=-1){this.Incident="Incidents"}}function VE_Incident(h,k,b,g,j,f,d,a,e,i,c){this.MarketId=h;this.Id=k;this.Description=b;this.Location=g;this.Type=j;this.Latitude=f;this.Longitude=d;this.Criticality=a;this.Starttime=e;this.Endtime=i;this.Direction=c}VE_TrafficManager.ShowTrafficLegend=function(a,b){if(VE_TrafficManager.turnedOn){if(VE_TrafficManager.legend==null){VE_TrafficManager.legend=VE_TrafficManager.m_vemap.vemapcontrol.CreateLegend();
if(VE_TrafficManager.legend!=null){VE_TrafficManager.legend.ShowTrafficLegend(true)}}if(VE_TrafficManager.legend&&typeof a!="undefined"&&a!=null&&typeof b!="undefined"&&b!=null){VE_TrafficManager.legend.UnPin();VE_TrafficManager.legend.MoveTo(a,b);VE_TrafficManager.legendPinned=false}VE_TrafficManager.m_vemap.vemapcontrol.OnView3DScaleBarPositionUpdate()}};VE_TrafficManager.HideTrafficLegend=function(){if(VE_TrafficManager.legend!=null){VE_TrafficManager.legend.ShowTrafficLegend(false);VE_TrafficManager.legend=null;VE_TrafficManager.m_vemap.vemapcontrol.OnView3DScaleBarPositionUpdate()}};VE_TrafficManager.SetTrafficLegendText=function(a){if(VE_TrafficManager.legend!=null){if(typeof a=="undefined"||a==null){a=""}VE_TrafficManager.legend.SetTrafficLegendMsg(a)}};function VETime(){}VETime.FormatTime=function(a){if(a==null||a==""||a=="undefined"){return""}var c=false,d=a.substr(0,10),e=a.substr(11,5),b="";if(a.indexOf("AM")>-1){b="AM";c=true}else{b="PM"}return d+" "+VETime.ConvertTo12HourFormat(e,c)+" "+b};VETime.ConvertTo12HourFormat=function(d,c){var a=d;try{var b=parseFloat(a.replace(":","."));if(b>12){if(b<13&&c!=true){}else{b=b-12}}a=b.toFixed(2);a=a.replace(".",":")}catch(e){a=""}return a};VETime.FormatPanelTime=function(a,g){if(a==null||a==""||a=="undefined"){return""}try{var b=0,d=false,i=a.substr(4,8),h=a.indexOf(":"),f=a.substr(h-2,5),c="";if(a.indexOf("AM")>-1){c="AM";d=true;b=a.indexOf("AM")}else{c="PM";b=a.indexOf("PM")}var e="";if(b>0){e=a.substr(b+3,3)}if(g){return i+" "+VETime.ConvertTo12HourFormat(f,d)+" "+c+" "+e}else{return VETime.ConvertTo12HourFormat(f,d)+" "+c+" "+e}}catch(j){}};VETime.getMonth=function(a){switch(a){case"01":return" Jan";case"02":return" Feb";case"03":return" Mar";case"04":return" Apr";case"05":return" May";case"06":return" Jun";case"07":return" Jul";case"08":return" Aug";case"09":return" Sep";case"10":return" Oct";case"11":return" Nov";case"12":return" Dec"}};VE_SetModuleStatus(VE_ModuleName.APITRAFFIC,"loaded");VEMap.prototype.SetAltitude=function(a){try{VEValidator.ValidateFloat(a,"level");
var b=parseFloat(a);this._QueueRequest(this.vemapcontrol.SetAltitude,b)}catch(c){throw c;return}};VEMap.prototype.SetPitch=function(b){try{VEValidator.ValidateFloat(b,"pitch");var a=parseFloat(b);a=a%360;if(a>0){a=a<1?0:-90}if(a<-90){a=-90}this._QueueRequest(this.vemapcontrol.SetTilt,a)}catch(c){throw c;return}};VEMap.prototype.SetHeading=function(b){try{VEValidator.ValidateFloat(b,"heading");var a=parseFloat(b);a=a%360;if(a<0){a=360+a}this._QueueRequest(this.vemapcontrol.SetDirection,a)}catch(c){throw c;return}};VEMap.prototype.GetAltitude=function(){return this.vemapcontrol.GetAltitude()};VEMap.prototype.GetPitch=function(){return this.vemapcontrol.GetTilt()};VEMap.prototype.GetHeading=function(){return this.vemapcontrol.GetDirection()};VEMap.prototype._Toggle3DNavigationControl=function(b){if(this.GetMapMode()==VEMapMode.Mode3D){var a=this.vemapcontrol.Get3DControl();if(a!=null){a.ShowNavigationControl=b}}};VEMap.prototype.Show3DNavigationControl=function(){this._Toggle3DNavigationControl(true)};VEMap.prototype.Hide3DNavigationControl=function(){this._Toggle3DNavigationControl(false)};VEMap.prototype.Show3DBirdseye=function(b){VEValidator.ValidateBoolean(b,"birdseyeOption");if(this.GetMapMode()==VEMapMode.Mode3D&&this.vemapcontrol){var a=this.GetMapStyle(),c=a==VEMapStyle.Road||a==VEMapStyle.Hybrid||a==VEMapStyle.Shaded;this.vemapcontrol.Show3DBirdseye(b,c)}};function MVC_Init_AbstractView_Shared(){Msn.MVC.AbstractView.prototype.GetMoveMenuOptionAsHtml=function(a){return a}}function MVC_Init_View3D_Shared(){Msn.MVC.View3D.prototype.GetMoveMenuOptionAsHtml=function(d,c){var e=c.GetPrimitiveCount();for(var a=0;a<e;a++){var b=c.GetPrimitive(a).type;if(b==VEShapeType.Polyline||b==VEShapeType.Polygon){return""}}return d}}function MVC_Init_ViewFacade_Shared(){Msn.MVC.ViewFacade.prototype.GetMoveMenuOptionAsHtml=function(a,b){if(this._curMvcView==null){return""}return this._curMvcView.GetMoveMenuOptionAsHtml(a,b)}}function MVC_Init_AbstractView_Drawing(){Msn.MVC.AbstractView.prototype.OnAfterViewChanged=function(){};Msn.MVC.AbstractView.prototype.OnAllCollectionLayersRepaint=function(){this._DrawAllCollectionLayers()
};Msn.MVC.AbstractView.prototype.OnAllCollectionLayersClear=function(){this._ClearAllCollectionLayers()};Msn.MVC.AbstractView.prototype.OnCollectionLayerRepaint=function(a){this._DrawCollectionLayer(a)};Msn.MVC.AbstractView.prototype.OnCollectionLayerClear=function(a){this._ClearCollectionLayer(a)};Msn.MVC.AbstractView.prototype.OnEntityRepaint=function(b,a,c,d){this._DrawEntity(b,a,c,d)};Msn.MVC.AbstractView.prototype.OnEntityLabelRepaint=function(a,b){this._DrawEntityLabel(a,b)};Msn.MVC.AbstractView.prototype.OnHighlightEntity=function(b,a){this._HighlightEntity(b,a)};Msn.MVC.AbstractView.prototype.OnEntityClear=function(a){this._ClearEntity(a)};Msn.MVC.AbstractView.prototype.OnEntityPrimitiveRepaint=function(c,a,b){this._DrawEntityPrimitive(c,a,b)};Msn.MVC.AbstractView.prototype.OnEntityPrimitiveClear=function(b,a){this._ClearEntityPrimitive(b,a)};Msn.MVC.AbstractView.prototype.OnContextMenuRemoveContextPin=function(){map.RemovePushpin("context_pin");this._contextPin=null};Msn.MVC.AbstractView.prototype.OnContextMenuPlaceContextPin=function(b,a,c){this._contextPin=map.AddPushpin("context_pin",b,a,7,7,"VE_Pushpin VE_Pushpin_"+c,"",VE_ScratchpadManager.pinZIndex,Msn.VE.PushPinTypes.Context)};Msn.MVC.AbstractView.prototype.GetDefaultMapCoordinatesToPutPushpin=function(){var a=this._contextPin;if(a==null){return[0,0]}var c=a.vePushpin.GetLatitude(),b=a.vePushpin.GetLongitude();return[b,c]}}function MVC_Init_FlatlandView_Drawing(){Msn.MVC.FlatlandView.prototype.OnAfterViewChanged=function(){VE_EditControl.DrawUnfinishedGeometry();this._DrawAllCollectionLayers()};Msn.MVC.FlatlandView.prototype._DrawAllCollectionLayers=function(){this._GetMapDrawingView().DrawAll()};Msn.MVC.FlatlandView.prototype._ClearAllCollectionLayers=function(){this._GetMapDrawingView().ClearAll()};Msn.MVC.FlatlandView.prototype._DrawCollectionLayer=function(a){this._GetMapDrawingView().UpdateIndex();this._GetMapDrawingView().DrawLayer(a)};Msn.MVC.FlatlandView.prototype._ClearCollectionLayer=function(a){this._GetMapDrawingView().ClearLayerDom(a)};
Msn.MVC.FlatlandView.prototype._DrawEntity=function(b,a,c,d){this._GetMapDrawingView().DrawEntity(b,a,c,d)};Msn.MVC.FlatlandView.prototype._DrawEntityLabel=function(a,b){this._GetMapDrawingView().DrawEntityLabel(a,b)};Msn.MVC.FlatlandView.prototype._HighlightEntity=function(b,a){this._GetMapDrawingView().HighlightEntity(b,a)};Msn.MVC.FlatlandView.prototype._ClearEntity=function(a){this._GetMapDrawingView().ClearEntityDom(a)};Msn.MVC.FlatlandView.prototype._DrawEntityPrimitive=function(c,a,b){this._GetMapDrawingView().DrawPrimitive(c,a,b)};Msn.MVC.FlatlandView.prototype._ClearEntityPrimitive=function(b,a){this._GetMapDrawingView().ClearPrimitiveDom(b,a)};Msn.MVC.FlatlandView.prototype._GetMapDrawingView=function(){if(this._mapDrawingView==null){this._mapDrawingView=new Msn.Drawing.MapFlatlandView}return this._mapDrawingView}}function MVC_Init_View3D_Drawing(){Msn.MVC.View3D.prototype._DrawAllCollectionLayers=function(){var c=VE_MapManager.GetCollectionCount();for(var a=0;a<c;a++){var b=VE_MapManager.GetCollectionByIndex(a);b._index=a;this._DrawCollectionLayer(b)}};Msn.MVC.View3D.prototype._ClearAllCollectionLayers=function(){};Msn.MVC.View3D.prototype._DrawCollectionLayer=function(a){this._ClearCollectionLayer(a);if(a.GetVisibility()){var d=false;if(a.GetType()==MC_COL_TYPE_FAVORITE){d=true}var e=a.GetShapeCount();for(var b=0;b<e;b++){var c=a.Annotations[b];c.SetIndex(b);if(c.GetVisibility()){this._DrawEntity(c,null,false,d,a)}}}};Msn.MVC.View3D.prototype._ClearCollectionLayer=function(b){var c=b.GetShapeCount();for(var a=0;a<c;a++){this._ClearEntity(b.Annotations[a])}};Msn.MVC.View3D.prototype._HighlightEntity=function(a,c){if(a==null){return}var e=a.GetId(),d=a.GetPrimitive(0);if(d.type==VEShapeType.Pushpin){return}var b=e+this._entityIdShapePostfix;this._spacecontrol.SetGeometryHighlight(this._hackUniqueLayerId,b,c)};Msn.MVC.View3D.prototype._DrawEntityLabel=function(d,u){var e=d.GetPrimitive(0),c=u;if(typeof c=="undefined"||c==null){c=new _VE_EntityDrawingState;c.zIndexIcon=this._GetZIndex(null,d);c.zIndexPolyShape=this._GetZIndexPolyShape(null,d);
c.minZoomLevel=b(d);c.maxZoomLevel=a(d);c.isShared=false}if(!c.text){if(typeof c.zIndexIcon=="undefined"||c.zIndexIcon==null){c.zIndexIcon=this._GetZIndex(null,d)}c.text=this._GetDefautlStyleProperties(d,d.GetIndex()+1,c.zIndexIcon)}var h=c.text,m=this._hackUniqueLayerId,s=d.GetBusinessListingId(),l="title_search3",p=c.isShared,r=d.IsOverlay(),k=d.GetId(),i=null,j=null,o=0,f=e.symbol,g=null;if(p){l="shared"}if(d.IsModel()){if(p){l="sharemodel"}else{l="model"}}else{if(e.type==VEShapeType.Pushpin){var q=r?Msn.VE.PushPinTypes.Overlay:Msn.VE.PushPinTypes.Annotation;if(p){g=PushpinURL(q,"shared")}else{if(typeof s!="undefined"&&parseInt(s)!=0){g=PushpinURL(q,"business")}else{g=PushpinURL(q)}}}}if(d.IconUrl){g=d.IconUrl}else{if(!g){g=PushpinURL(Msn.VE.PushPinTypes.SearchResultPrecise,l)}}if(e.type==VEShapeType.Pushpin){i=e.points[0];j=e.points[1];if(f==null){e.symbol=VE_MapDispatch_SymbolLib.GetMapSymbolByID(MC_PROPERTY_PUSHPIN);f=e.symbol}}else{f=this._GetPrimitiveSymbolOrDefault(e);i=e.labelPosX;j=e.labelPosY;o=e.labelPosZ}if(f&&r){if(!f.textbox_OffsetX){f.textbox_OffsetX="50%"}if(!f.textbox_OffsetY){f.textbox_OffsetY="50%"}if(h&&h.indexOf("textoffset")==-1){h+=' textoffset  ="'+f.textbox_OffsetX+","+f.textbox_OffsetY+'" '}}var v=typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null;if(v){g=f.imagedata_src;h=this._GetAPIProperties(d,f,c.zIndexIcon,c.minZoomLevel,c.maxZoomLevel)}if(e.type==VEShapeType.Pushpin){var t=d.ModelData!=null&&typeof d.ModelData=="object";if(!t||e.isLabel){if(e.altitudes==null){this._spacecontrol.AddPointWithProperties(m,k,j,i,g,h)}else{var n=e.altitudes[0];if(d.IsModel()&&parseFloat(n)<0){n=0}this._spacecontrol.AddPointWithAltitudeAndProperties(m,k,j,i,n,g,h)}}}else{if(e.isLabel){if(o){this._spacecontrol.AddPointWithAltitudeAndProperties(m,k,j,i,o,g,h)}else{this._spacecontrol.AddPointWithProperties(m,k,j,i,g,h)}}}};Msn.MVC.View3D.prototype._DrawPolyline=function(f,d){var c=f.GetPrimitive(0),l=f.GetId();if(c.type==VEShapeType.Pushpin){return}var g=this._ConvertPointArrayToView3DParameter(c.points,c.altitudes),b=this._GetPrimitiveSymbolOrDefault(c),k=this._ConvertStrokeWeightToView3DParameter(b.stroke_weight),h=d.zIndexPolyShape,j=d.minZoomLevel,i=d.maxZoomLevel,a=[];
a.push("Linecolor='");a.push(b.stroke_color);a.push("'");a.push(" Lineweight='");a.push(k);a.push("'");a.push(" zindex='");a.push(h);a.push("'");a.push(" Dashstyle='");a.push(b.stroke_dashstyle);a.push("'");a.push(" minLOD='");a.push(j);a.push("'");a.push(" maxLOD='");a.push(i);a.push("'");a.push(" extruded='");a.push(c.extruded);a.push("'");a.push(" altitudeMode='");a.push(c.altitudeMode);a.push("'");a.push(" Lineopacity='");a.push(b.stroke_opacity);a.push("'");a.push(" highlightlinecolor='");a.push(b.stroke_color2);a.push("'");var e=l+this._entityIdShapePostfix;if(c.type==VEShapeType.Polygon){a.push(" Fillcolor='");a.push(b.fill_color);a.push("'");a.push(" Fillopacity='");a.push(b.fill_opacity);a.push("'");a.push(" highlightfillcolor='");if(b.fill_color2.indexOf("#")==0&&b.fill_color2.length<8){b.fill_color2="#4C"+b.fill_color2.substring(1)}a.push(b.fill_color2);a.push("'");this._spacecontrol.AddPolygonWithProperties(this._hackUniqueLayerId,e,g,a.join(""))}else{this._spacecontrol.AddPolylineWithProperties(this._hackUniqueLayerId,e,g,a.join(""))}};Msn.MVC.View3D.prototype._DrawEntity=function(c,l,o,n,k){if(c==null){return}var h=c.GetId();if(!c.GetVisibility()){this._spacecontrol.DeleteGeometry(this._hackUniqueLayerId,h);return}var e=typeof k!="object"?null:k;if(c.IsModel()){var g,f="clientid="+c.GetId();if(c.ModelData){f=f.concat(";",c.ModelData.Properties,";maxLod=",a(c),";minLod=",b(c));g=VE_ModelActionType.LoadModelFile}else{f+=";msnid="+c.GetMsnId();if(!e){e=VE_MapManager.GetSelectedCollection()}f+=";cclientid="+e.GetId()+";cmsnid="+e.GetMsnId();g=VE_ModelActionType.AddModel}ProcessModelIn3D(g,f,this._spacecontrol)}var m=c.GetPrimitive(0),d=new _VE_EntityDrawingState;d.minZoomLevel=b(c);d.maxZoomLevel=a(c);d.isShared=n;d.parentEl=l;var i=m.type==VEShapeType.Pushpin?true:false,j=typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null;if(i||j||!j&&VE_MapManager.IsHighlightEntity(h)){d.zIndexIcon=this._GetZIndex(e,c);d.text=this._GetDefautlStyleProperties(c,c.GetIndex()+1,d.zIndexIcon);this._DrawEntityLabel(c,d)}if(!i){d.zIndexPolyShape=this._GetZIndexPolyShape(e,c);
this._DrawPolyline(c,d)}};Msn.MVC.View3D.prototype._GetDefautlStyleProperties=function(b,f,e){var c="",d=b.GetPrimitive(0),a=[];if(b.IconUrl){a.push('text=""');a.push('width="32" ');a.push('height="32" ')}else{a.push('text="'+(b.GetIndex()+1)+'" ')}a.push('altitudeMode="'+d.altitudeMode+'" ');a.push('zindex ="'+e+'" ');c=a.join(" ");return c};Msn.MVC.View3D.prototype._GetStyleProperties=function(f,i){var h="",g="",e=f.GetPrimitive(0),d=e.symbol;if(e.name){g=e.name}var c=[];c.push('text="'+g+'" ');c.push('altitudeMode="'+e.altitudeMode+'" ');c.push('width="'+d.img_width+'" ');c.push('height="'+d.img_height+'" ');c.push('textbold ="'+d.textbox_bold+'" ');c.push('textfont="'+d.textbox_font+'" ');c.push('textitalics="'+d.textbox_italic+'" ');c.push('textunderline ="'+d.textbox_underscore+'" ');c.push('textsize ="'+d.textbox_size+'" ');c.push('minLOD ="'+b(f)+'" ');c.push('maxLOD ="'+a(f)+'" ');c.push('imageoffset ="'+d.img_offsetX+","+d.img_offsetY+'" ');c.push('textoffset  ="'+d.textbox_OffsetX+","+d.textbox_OffsetY+'" ');var k=d.textbox_color.replace("#","#"+parseInt(d.textbox_color_opacity*255).toString(16)),j=d.textbox_backcolor.replace("#","#"+parseInt(d.textbox_backcolor_opacity*255).toString(16));c.push('forecolor="'+k+'" ');c.push('backcolor ="'+j+'" ');c.push('zindex ="'+i+'" ');h=c.join(" ");return h};Msn.MVC.View3D.prototype._GetAPIProperties=function(c,h,d,f,e){var b,g=c.GetPrimitive(0);if(h.isOn){b=this._GetStyleProperties(c,d)}else{var a=[];a.push('text=""');a.push('minLOD ="',f,'" ');a.push('maxLOD ="',e,'" ');a.push('altitudeMode ="',g.altitudeMode,'" ');a.push('zindex ="'+d+'" ');b=a.join(" ")}return b};function b(a){var b=a.minZoomLevel;if(Msn.VE.API!=null&&a._shplayer!=null&&b<a._shplayer.MinScale){b=a._shplayer.MinScale}return b}function a(a){var b=a.maxZoomLevel;if(Msn.VE.API!=null&&a._shplayer!=null&&b>a._shplayer.MaxScale){b=a._shplayer.MaxScale}return b}Msn.MVC.View3D.prototype._GetZIndex=function(a,b){var d=60;if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){if(a==null){a=VE_MapManager.GetCollectionByAnId(b.GetId())
}if(a!=null){d=c(a,b)}}else{d=b.GetZIndex()}return d};Msn.MVC.View3D.prototype._GetZIndexPolyShape=function(a,b){var d=60;if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){if(a==null){a=VE_MapManager.GetCollectionByAnId(b.GetId())}if(a!=null){d=c(a,b)}}else{d=b.GetZIndexPolyShape()}return d};function c(c,a){var b=VE_MapManager.GetCollectionCount();return(b-c._index)*MC_MAX_COL_SIZE+a.GetIndex()}Msn.MVC.View3D.prototype._ClearEntity=function(a){if(a.IsModel()){var b,c="clientid="+a.GetId();if(a.ModelData){b=VE_ModelActionType.DeleteModelFile}else{c+=";msnid="+a.GetMsnId()+"";b=VE_ModelActionType.DeleteModel}ProcessModelIn3D(b,c,this._spacecontrol)}var e=a.GetId();this._spacecontrol.DeleteGeometry(this._hackUniqueLayerId,e);var d=a.GetPrimitive(0);if(d==null||d.type!=VEShapeType.Pushpin){var f=e+this._entityIdShapePostfix;this._spacecontrol.DeleteGeometry(this._hackUniqueLayerId,f)}};Msn.MVC.View3D.prototype._DrawEntityPrimitive=function(){};Msn.MVC.View3D.prototype._ClearEntityPrimitive=function(a,b){if(a==null){return}if(typeof b!="undefined"&&b==true){if(a.type!=VEShapeType.Pushpin){var c=Msn.Drawing.GetEntityUIDByPrimitiveUID(a.iid);this._spacecontrol.DeleteGeometry(this._hackUniqueLayerId,c)}}};Msn.MVC.View3D.prototype._ConvertPointArrayToView3DParameter=function(c,b){var a="",d=c.length;for(i=0;i<d;i+=2){var e=c[i],f=c[i+1];if(b==null||b.length!=d/2){a=a.concat(e,",",f," ")}else{a=a.concat(e,",",f,",",b[i/2]," ")}}return a};Msn.MVC.View3D.prototype._ConvertStrokeWeightToView3DParameter=function(a){if(a==null){return"2px"}var b=parseInt(a);if(isNaN(b)){return"2px"}else{return b+"px"}};Msn.MVC.View3D.prototype._GetPrimitiveSymbolOrDefault=function(b){var a=b.symbol;if(a==null){return VE_MapDispatch_SymbolLib.GetCurrentDefaultSymbol()}return a}}function MVC_Init_ViewFacade_Drawing(){}VE_SetModuleStatus(VE_ModuleName.API3D,"loaded");VEMap.prototype.Init3D=function(){MVC_Init_AbstractView_Shared();MVC_Init_ViewFacade_Shared();MVC_Init_View3D_Shared();MVC_Init_AbstractView_Drawing();MVC_Init_ViewFacade_Drawing();
MVC_Init_FlatlandView_Drawing();MVC_Init_View3D_Drawing()};if(typeof closeDependency!="undefined"){closeDependency("mapcontrol.js")}var Hashtable=(function(){var p="function";var n=(typeof Array.prototype.splice==p)?function(s,r){s.splice(r,1)}:function(u,t){var s,v,r;if(t===u.length-1){u.length=t}else{s=u.slice(t+1);u.length=t;for(v=0,r=s.length;v<r;++v){u[t+v]=s[v]}}};function a(t){var r;if(typeof t=="string"){return t}else{if(typeof t.hashCode==p){r=t.hashCode();return(typeof r=="string")?r:a(r)}else{if(typeof t.toString==p){return t.toString()}else{try{return String(t)}catch(s){return Object.prototype.toString.call(t)}}}}}function g(r,s){return r.equals(s)}function e(r,s){return(typeof s.equals==p)?s.equals(r):(r===s)}function c(r){return function(s){if(s===null){throw new Error("null is not a valid "+r)}else{if(typeof s=="undefined"){throw new Error(r+" must not be undefined")}}}}var q=c("key"),l=c("value");function d(u,s,t,r){this[0]=u;this.entries=[];this.addEntry(s,t);if(r!==null){this.getEqualityFunction=function(){return r}}}var h=0,j=1,f=2;function o(r){return function(t){var s=this.entries.length,v,u=this.getEqualityFunction(t);while(s--){v=this.entries[s];if(u(t,v[0])){switch(r){case h:return true;case j:return v;case f:return[s,v[1]]}}}return false}}function k(r){return function(u){var v=u.length;for(var t=0,s=this.entries.length;t<s;++t){u[v+t]=this.entries[t][r]}}}d.prototype={getEqualityFunction:function(r){return(typeof r.equals==p)?g:e},getEntryForKey:o(j),getEntryAndIndexForKey:o(f),removeEntryForKey:function(s){var r=this.getEntryAndIndexForKey(s);if(r){n(this.entries,r[0]);return r[1]}return null},addEntry:function(r,s){this.entries[this.entries.length]=[r,s]},keys:k(0),values:k(1),getEntries:function(s){var u=s.length;for(var t=0,r=this.entries.length;t<r;++t){s[u+t]=this.entries[t].slice(0)}},containsKey:o(h),containsValue:function(s){var r=this.entries.length;while(r--){if(s===this.entries[r][1]){return true}}return false}};function m(s,t){var r=s.length,u;while(r--){u=s[r];if(t===u[0]){return r
}}return null}function i(r,s){var t=r[s];return(t&&(t instanceof d))?t:null}function b(t,r){var w=this;var v=[];var u={};var x=(typeof t==p)?t:a;var s=(typeof r==p)?r:null;this.put=function(B,C){q(B);l(C);var D=x(B),E,A,z=null;E=i(u,D);if(E){A=E.getEntryForKey(B);if(A){z=A[1];A[1]=C}else{E.addEntry(B,C)}}else{E=new d(D,B,C,s);v[v.length]=E;u[D]=E}return z};this.get=function(A){q(A);var B=x(A);var C=i(u,B);if(C){var z=C.getEntryForKey(A);if(z){return z[1]}}return null};this.containsKey=function(A){q(A);var z=x(A);var B=i(u,z);return B?B.containsKey(A):false};this.containsValue=function(A){l(A);var z=v.length;while(z--){if(v[z].containsValue(A)){return true}}return false};this.clear=function(){v.length=0;u={}};this.isEmpty=function(){return !v.length};var y=function(z){return function(){var A=[],B=v.length;while(B--){v[B][z](A)}return A}};this.keys=y("keys");this.values=y("values");this.entries=y("getEntries");this.remove=function(B){q(B);var C=x(B),z,A=null;var D=i(u,C);if(D){A=D.removeEntryForKey(B);if(A!==null){if(!D.entries.length){z=m(v,C);n(v,z);delete u[C]}}}return A};this.size=function(){var A=0,z=v.length;while(z--){A+=v[z].entries.length}return A};this.each=function(C){var z=w.entries(),A=z.length,B;while(A--){B=z[A];C(B[0],B[1])}};this.putAll=function(H,C){var B=H.entries();var E,F,D,z,A=B.length;var G=(typeof C==p);while(A--){E=B[A];F=E[0];D=E[1];if(G&&(z=w.get(F))){D=C(F,z,D)}w.put(F,D)}};this.clone=function(){var z=new b(t,r);z.putAll(w);return z}}return b})();new function(settings){var $separator=settings.separator||"&";var $spaces=settings.spaces===false?false:true;var $suffix=settings.suffix===false?"":"[]";var $prefix=settings.prefix===false?false:true;var $hash=$prefix?settings.hash===true?"#":"?":"";var $numbers=settings.numbers===false?false:true;jQuery.query=new function(){var is=function(o,t){return o!=undefined&&o!==null&&(!!t?o.constructor==t:true)};var parse=function(path){var m,rx=/\[([^[]*)\]/g,match=/^([^[]+)(\[.*\])?$/.exec(path),base=match[1],tokens=[];while(m=rx.exec(match[2])){tokens.push(m[1])
}return[base,tokens]};var set=function(target,tokens,value){var o,token=tokens.shift();if(typeof target!="object"){target=null}if(token===""){if(!target){target=[]}if(is(target,Array)){target.push(tokens.length==0?value:set(null,tokens.slice(0),value))}else{if(is(target,Object)){var i=0;while(target[i++]!=null){}target[--i]=tokens.length==0?value:set(target[i],tokens.slice(0),value)}else{target=[];target.push(tokens.length==0?value:set(null,tokens.slice(0),value))}}}else{if(token&&token.match(/^\s*[0-9]+\s*$/)){var index=parseInt(token,10);if(!target){target=[]}target[index]=tokens.length==0?value:set(target[index],tokens.slice(0),value)}else{if(token){var index=token.replace(/^\s*|\s*$/g,"");if(!target){target={}}if(is(target,Array)){var temp={};for(var i=0;i<target.length;++i){temp[i]=target[i]}target=temp}target[index]=tokens.length==0?value:set(target[index],tokens.slice(0),value)}else{return value}}}return target};var queryObject=function(a){var self=this;self.keys={};if(a.queryObject){jQuery.each(a.get(),function(key,val){self.SET(key,val)})}else{jQuery.each(arguments,function(){var q=""+this;q=q.replace(/^[?#]/,"");q=q.replace(/[;&]$/,"");if($spaces){q=q.replace(/[+]/g," ")}jQuery.each(q.split(/[&;]/),function(){var key=decodeURIComponent(this.split("=")[0]||"");var val=decodeURIComponent(this.split("=")[1]||"");if(!key){return}if($numbers){if(/^[+-]?[0-9]+\.[0-9]*$/.test(val)){val=parseFloat(val)}else{if(/^[+-]?[0-9]+$/.test(val)){val=parseInt(val,10)}}}val=(!val&&val!==0)?true:val;if(val!==false&&val!==true&&typeof val!="number"){val=val}self.SET(key,val)})})}return self};queryObject.prototype={queryObject:true,has:function(key,type){var value=this.get(key);return is(value,type)},GET:function(key){if(!is(key)){return this.keys}var parsed=parse(key),base=parsed[0],tokens=parsed[1];var target=this.keys[base];while(target!=null&&tokens.length!=0){target=target[tokens.shift()]}return typeof target=="number"?target:target||""},get:function(key){var target=this.GET(key);if(is(target,Object)){return jQuery.extend(true,{},target)
}else{if(is(target,Array)){return target.slice(0)}}return target},SET:function(key,val){var value=!is(val)?null:val;var parsed=parse(key),base=parsed[0],tokens=parsed[1];var target=this.keys[base];this.keys[base]=set(target,tokens.slice(0),value);return this},set:function(key,val){return this.copy().SET(key,val)},REMOVE:function(key){return this.SET(key,null).COMPACT()},remove:function(key){return this.copy().REMOVE(key)},EMPTY:function(){var self=this;jQuery.each(self.keys,function(key,value){delete self.keys[key]});return self},load:function(url){var hash=url.replace(/^.*?[#](.+?)(?:\?.+)?$/,"$1");var search=url.replace(/^.*?[?](.+?)(?:#.+)?$/,"$1");return new queryObject(url.length==search.length?"":search,url.length==hash.length?"":hash)},empty:function(){return this.copy().EMPTY()},copy:function(){return new queryObject(this)},COMPACT:function(){function build(orig){var obj=typeof orig=="object"?is(orig,Array)?[]:{}:orig;if(typeof orig=="object"){function add(o,key,value){if(is(o,Array)){o.push(value)}else{o[key]=value}}jQuery.each(orig,function(key,value){if(!is(value)){return true}add(obj,key,build(value))})}return obj}this.keys=build(this.keys);return this},compact:function(){return this.copy().COMPACT()},toString:function(){var i=0,queryString=[],chunks=[],self=this;var encode=function(str){str=str+"";if($spaces){str=str.replace(/ /g,"+")}return encodeURIComponent(str)};var addFields=function(arr,key,value){if(!is(value)||value===false){return}var o=[encode(key)];if(value!==true){o.push("=");o.push(encode(value))}arr.push(o.join(""))};var build=function(obj,base){var newKey=function(key){return !base||base==""?[key].join(""):[base,"[",key,"]"].join("")};jQuery.each(obj,function(key,value){if(typeof value=="object"){build(value,newKey(key))}else{addFields(chunks,newKey(key),value)}})};build(this.keys);if(chunks.length>0){queryString.push($hash)}queryString.push(chunks.join($separator));return queryString.join("")}};return new queryObject(location.search,location.hash)}}(jQuery.query||{});if(jQuery){(function(){$.extend($.fn,{contextMenu:function(o,callback){if(o.menu==undefined){return false
}if(o.inSpeed==undefined){o.inSpeed=150}if(o.outSpeed==undefined){o.outSpeed=75}if(o.inSpeed==0){o.inSpeed=-1}if(o.outSpeed==0){o.outSpeed=-1}$(this).each(function(){var el=$(this);var offset=$(el).offset();$("#"+o.menu).addClass("contextMenu");$(this).mousedown(function(e){var evt=e;evt.stopPropagation();$(this).mouseup(function(e){e.stopPropagation();var srcElement=$(this);$(this).unbind("mouseup");if(evt.button==2){$(".contextMenu").hide();var menu=$("#"+o.menu);if($(el).hasClass("disabled")){return false}var d={},x,y;if(self.innerHeight){d.pageYOffset=self.pageYOffset;d.pageXOffset=self.pageXOffset;d.innerHeight=self.innerHeight;d.innerWidth=self.innerWidth}else{if(document.documentElement&&document.documentElement.clientHeight){d.pageYOffset=document.documentElement.scrollTop;d.pageXOffset=document.documentElement.scrollLeft;d.innerHeight=document.documentElement.clientHeight;d.innerWidth=document.documentElement.clientWidth}else{if(document.body){d.pageYOffset=document.body.scrollTop;d.pageXOffset=document.body.scrollLeft;d.innerHeight=document.body.clientHeight;d.innerWidth=document.body.clientWidth}}}(e.pageX)?x=e.pageX:x=e.clientX+d.scrollLeft;(e.pageY)?y=e.pageY:y=e.clientY+d.scrollTop;$(document).unbind("click");$(menu).css({top:y,left:x}).fadeIn(o.inSpeed);$(menu).find("A").mouseover(function(){$(menu).find("LI.hover").removeClass("hover");$(this).parent().addClass("hover")}).mouseout(function(){$(menu).find("LI.hover").removeClass("hover")});$(document).keypress(function(e){switch(e.keyCode){case 38:if($(menu).find("LI.hover").size()==0){$(menu).find("LI:last").addClass("hover")}else{$(menu).find("LI.hover").removeClass("hover").prevAll("LI:not(.disabled)").eq(0).addClass("hover");if($(menu).find("LI.hover").size()==0){$(menu).find("LI:last").addClass("hover")}}break;case 40:if($(menu).find("LI.hover").size()==0){$(menu).find("LI:first").addClass("hover")}else{$(menu).find("LI.hover").removeClass("hover").nextAll("LI:not(.disabled)").eq(0).addClass("hover");if($(menu).find("LI.hover").size()==0){$(menu).find("LI:first").addClass("hover")
}}break;case 13:$(menu).find("LI.hover A").trigger("click");break;case 27:$(document).trigger("click");break}});$("#"+o.menu).find("A").unbind("click");$("#"+o.menu).find("LI:not(.disabled) A").click(function(){$(document).unbind("click").unbind("keypress");$(".contextMenu").hide();if(callback){callback($(this).attr("href").substr(1),$(srcElement),{x:x-offset.left,y:y-offset.top,docX:x,docY:y})}return false});setTimeout(function(){$(document).click(function(){$(document).unbind("click").unbind("keypress");$(menu).fadeOut(o.outSpeed);return false})},0)}})});if($.browser.mozilla){$("#"+o.menu).each(function(){$(this).css({MozUserSelect:"none"})})}else{if($.browser.msie){$("#"+o.menu).each(function(){$(this).bind("selectstart.disableTextSelect",function(){return false})})}else{$("#"+o.menu).each(function(){$(this).bind("mousedown.disableTextSelect",function(){return false})})}}$(el).add($("UL.contextMenu")).bind("contextmenu",function(){return false})});return $(this)},disableContextMenuItems:function(o){if(o==undefined){$(this).find("LI").addClass("disabled");return($(this))}$(this).each(function(){if(o!=undefined){var d=o.split(",");for(var i=0;i<d.length;i++){$(this).find('A[href="'+d[i]+'"]').parent().addClass("disabled")}}});return($(this))},enableContextMenuItems:function(o){if(o==undefined){$(this).find("LI.disabled").removeClass("disabled");return($(this))}$(this).each(function(){if(o!=undefined){var d=o.split(",");for(var i=0;i<d.length;i++){$(this).find('A[href="'+d[i]+'"]').parent().removeClass("disabled")}}});return($(this))},disableContextMenu:function(){$(this).each(function(){$(this).addClass("disabled")});return($(this))},enableContextMenu:function(){$(this).each(function(){$(this).removeClass("disabled")});return($(this))},destroyContextMenu:function(){$(this).each(function(){$(this).unbind("mousedown").unbind("mouseup")});return($(this))}})})(jQuery)}if(typeof console=="undefined"){var console={};console.log=function(a){return}}function KMDelegateOption(a,b){this.RunDefaultHandler=a;this.ClientDelegateName=b;
this.Clone=function(c,d){this.RunDefaultHandler=c;if(jQuery.isArray(d)){this.ClientDelegateName=d.slice()}else{this.ClientDelegateName=d}}}KMDirectionTurn={};KMDirectionTurn.UTurnPatterns=["U-turn","demi-tour"];KMDirectionTurn.LeftTurnPatterns=["Turn left","Tourner à gauche"];KMDirectionTurn.RightTurnPatterns=["Turn right","Tourner à droite"];KMDirectionTurn.LeftRampPatterns=["Bear left","ramp left","Prendre à gauche","la gauche"];KMDirectionTurn.RightRampPatterns=["Bear right","ramp right","Prendre à droite","la droite"];KMDirectionTurn.StraightPatterns=["Keep straight","Continuer"];KMDirectionTurn.DepartPatterns=["Depart","Départ"];KMDirectionTurn.ArrivePatterns=["Arrive","Arrivée"];KMDirectionTurn.IsTextMatchedToPattern=function(c,f){if(jQuery.isArray(c)&&!String.IsNullOrEmpty(f)){for(var b=0;b<c.length;b++){var e=c[b];var d=new RegExp(e,"gi");var a=f.match(d);if(a!=null&&a.length>0){return true}}}return false};KMDirectionTurn.GetDirectionTurnType=function(a){if(KMDirectionTurn.IsTextMatchedToPattern(KMDirectionTurn.UTurnPatterns,a)){return KMDirectionTurnType.UTurn}if(KMDirectionTurn.IsTextMatchedToPattern(KMDirectionTurn.LeftTurnPatterns,a)){return KMDirectionTurnType.LeftTurn}if(KMDirectionTurn.IsTextMatchedToPattern(KMDirectionTurn.RightTurnPatterns,a)){return KMDirectionTurnType.RightTurn}if(KMDirectionTurn.IsTextMatchedToPattern(KMDirectionTurn.LeftRampPatterns,a)){return KMDirectionTurnType.LeftRamp}if(KMDirectionTurn.IsTextMatchedToPattern(KMDirectionTurn.RightRampPatterns,a)){return KMDirectionTurnType.RightRamp}if(KMDirectionTurn.IsTextMatchedToPattern(KMDirectionTurn.StraightPatterns,a)){return KMDirectionTurnType.Straight}if(KMDirectionTurn.IsTextMatchedToPattern(KMDirectionTurn.DepartPatterns,a)){return KMDirectionTurnType.Depart}if(KMDirectionTurn.IsTextMatchedToPattern(KMDirectionTurn.ArrivePatterns,a)){return KMDirectionTurnType.Arrive}return KMDirectionTurnType.None};var KMDirectionTurnType={None:0,UTurn:1,LeftTurn:2,RightTurn:3,LeftRamp:4,RightRamp:5,Straight:6,Depart:7,Arrive:8};String.IsNullOrEmpty=function(a){if(a){if(typeof(a)=="string"){if(a.length>0){return false
}}if(a!=null){return false}}return true};String.prototype.Trim=function(){return this.replace(/^\s\s*/,"").replace(/\s\s*$/,"")};KMObject={};KMObject.Extend=function(c,a){function b(){}b.prototype=a.prototype;c.prototype=new b();c.prototype.constructor=c;c.baseConstructor=a;c.superClass=a.prototype};function KMRouteSegment(){this.SegmentType=KMRouteSegmentType.Unknown;this.DestinationIndex=-1;this.IndexArray=[];this.LegArray=[]}var KMRouteSegmentType={Unknown:0,Destination:1,Leg:2};GetQueryStringVariable=function(a){var c=window.location.search.substring(1);var d=c.split("&");for(var b=0;b<d.length;b++){var e=d[b].split("=");if(e[0]==a){return e[1]}}return""};DebugPointArray=function(b){if(jQuery.isArray(b)){var a="";for(var c=0;c<b.length;c++){a+=b[c].Debug()}return a}return""};DebugArray=function(a){if(jQuery.isArray(a)){var b="";for(var c=0;c<a.length;c++){b+="["+a[c]+"]"}return b}return""};FloatEquals=function(o,n,k){var d=false;var f=Math.floor(o);var e=Math.floor(n);if(f!=e){return false}var b=Math.pow(10,k);var c=Math.floor(o*b);var a=Math.floor(n*b);if(c==a){return true}var h=String(o).length;var g=String(n).length;if(h>=g){d=String(o).indexOf(String(n))==0}else{d=String(n).indexOf(String(o))==0}if(d){return true}var q=ChopFloatToPrecision(o,k);var p=ChopFloatToPrecision(n,k);d=q==p;if(d){return true}var m=parseFloat(o).toFixed(k);var l=parseFloat(n).toFixed(k);d=m==l;return d};GetFloatPrecision=function(a){var b=new String(a);if(b.indexOf(".")>-1){return b.length-b.indexOf(".")-1}else{return 0}};ChopFloatToPrecision=function(b,d){var c=GetFloatPrecision(b);if(c==0||c<=d){return b}var e=new String(b);var a=e.length;var h=e.indexOf(".");var f=a-(c-d);var g=e.substr(0,f);return parseFloat(g)};AddressKindOfEquals=function(f,e){if(String.IsNullOrEmpty(f)||String.IsNullOrEmpty(e)){return false}var d=f.replace(/\,/gi,"").replace(/\./gi,"");var h=e.replace(/\,/gi,"").replace(/\./gi,"");if(String.IsNullOrEmpty(d)||String.IsNullOrEmpty(h)){return false}var g=new RegExp(h,"gi");var c=d.match(g);if(c!=null&&c.length>0){return true
}g=new RegExp(d,"gi");c=h.match(g);if(c!=null&&c.length>0){return true}return false};AddressIndexInArray=function(c,b){if(jQuery.isArray(b)){for(var d=0;d<b.length;d++){if(AddressKindOfEquals(c,b[d])){return d}}}return -1};VEShapeLayer.prototype.ReferenceID=null;VEShapeLayer.prototype.Group=null;VEShapeLayer.prototype.GeocodeIndex=null;VEShape.prototype.ReferenceID=null;VEShape.prototype.ShapeLayerID=null;VEShape.prototype.IsClustered=false;VEShape.prototype.IsInMapView=false;VEShape.prototype.Payload=null;VEShape.prototype.Group=null;VELatLongRectangle.prototype.Centre=null;VELatLongRectangle.prototype.Zoom=null;VEPixel.prototype.IntX=function(){return this.x.toFixed()};VEPixel.prototype.IntY=function(){return this.y.toFixed()};VEPixel.prototype.Debug=function(){return"("+this.IntX()+","+this.IntY()+")"};VEPixel.prototype.IndexInArray=function(a){if(jQuery.isArray(a)){for(var c=0;c<a.length-1;c++){var e=a[c];var b=a[c+1];var f=false;var d=false;if(e.IntX()<=b.IntX()){if(this.IntX()>=e.IntX()&&this.IntX()<=b.IntX()){f=true}}else{if(this.IntX()>=b.IntX()&&this.IntX()<=e.IntX()){f=true}}if(e.IntY()<=b.IntY()){if(this.IntY()>=e.IntY()&&this.IntY()<=b.IntY()){d=true}}else{if(this.IntY()>=b.IntY()&&this.IntY()<=e.IntY()){d=true}}if(f&&d){return(c+1)}}}return -1};VELatLong.prototype.Debug=function(){return"("+this.Latitude+","+this.Longitude+")"};VELatLong.prototype.KindOfEquals=function(a,b){if(b===undefined){b=6}if(FloatEquals(this.Latitude,a.Latitude,b)&&FloatEquals(this.Longitude,a.Longitude,b)){return true}if(FloatEquals(this.Latitude,a.Latitude,b-1)&&FloatEquals(this.Longitude,a.Longitude,b-1)){return true}return false};VELatLong.prototype.KindOfInArray=function(a){if(jQuery.isArray(a)){for(var b=0;b<a.length;b++){if(a[b].KindOfEquals(this)){return b}}}return -1};VELatLongRectangle.prototype.Debug=function(){return"TopLeft: "+this.TopLeftLatLong.Debug()+", BottomRight: "+this.BottomRightLatLong.Debug()};VEMap.prototype.GetShapeGuidFromPrimitiveID=function(a){var d=a.replace(/[^_]/g,"").length;if(d==3){var c=a.lastIndexOf("_");
var b=a.substring(0,c);return b}return a};VEMap.prototype.LatLongToPixelArray=function(b){var c=[];for(var a=0;a<b.length;a++){c.push(this.LatLongToPixel(b[a],this.GetZoomLevel()))}return c};VEMap.prototype.PixelToLatLongArray=function(b){var c=[];for(var a=0;a<b.length;a++){c.push(this.PixelToLatLong(b[a]))}return c};VERoute.prototype.GetLocations=function(){var a=[];if(this.RouteLegs!=null){for(var b=0;b<=this.RouteLegs.length-1;b++){a.push(this.RouteLegs[b].StartLocation)}a.push(this.RouteLegs[this.RouteLegs.length-1].EndLocation)}return a};VERoute.prototype.GetShapePointsOfAllLegs=function(){if(this.RouteLegs!=null&&this.ShapePoints!=null){var f=new Array(this.RouteLegs.length);for(i=0;i<=this.RouteLegs.length-1;i++){f[i]=[];var d=this.RouteLegs[i];var e=d.StartLocation;var b=d.EndLocation;var a=0;for(var c=0;c<this.ShapePoints.length;c++){if(e.KindOfEquals(this.ShapePoints[c])){a=1}if(a==1){f[i].push(this.ShapePoints[c])}if(b.KindOfEquals(this.ShapePoints[c])){a=2;f[i].push(this.ShapePoints[c])}if(a==2){break}}}return f}return null};VERoute.prototype.GetShapePointsOfLeg=function(a){if(this.RouteLegs!=null&&this.ShapePoints!=null){var b=this.GetShapePointsOfAllLegs();if(b!=null){if(a>0&&a<b.length){return b[a]}}}return null};VERoute.prototype.GetRouteSegmentArray=function(f){if(this.RouteLegs==null||!jQuery.isArray(this.RouteLegs)){return null}if(!jQuery.isArray(f)){return null}var h=this.GetLocations();var c=[];for(var e=0;e<f.length;e++){var l=f[e];var g=l.KindOfInArray(h);c.push(g)}var m=[];var d=-1;var b=-1;for(var e=0;e<c.length;e++){b=d;d=c[e];if(e==0){var k=new KMRouteSegment();k.SegmentType=KMRouteSegmentType.Destination;k.DestinationIndex=e;k.IndexArray=null;k.LegArray=null;m.push(k)}if(e>0){if(d-b>=1){var a=new KMRouteSegment();a.SegmentType=KMRouteSegmentType.Leg;a.DestinationIndex=-1;a.IndexArray=[];a.LegArray=[];for(j=b;j<=d-1;j++){a.IndexArray.push(j);a.LegArray.push(this.RouteLegs[j])}m.push(a)}var k=new KMRouteSegment();k.SegmentType=KMRouteSegmentType.Destination;k.DestinationIndex=e;k.IndexArray=null;
k.LegArray=null;m.push(k)}}return m};function KMCacheManager(){var d;var c="divDataCache";function e(){if(!d&&GetQueryStringVariable("state")!="clear"){try{d=new JSTONE(JSON)}catch(f){}}}function b(f){if(f!=null&&typeof(f)=="string"){f=f.replace(/'/gi,"");f=f.replace(/#/gi,"");f=f.replace(/\$/gi,"");f=f.replace(/%/gi,"");f=f.replace(/\^/gi,"");f=f.replace(/!/gi,"");f=f.replace(/</gi,"");f=f.replace(/>/gi,"");f=f.replace(/~/gi,"");f=f.replace(/"/gi,"");f=f.replace(/\//gi,"");f=f.replace(/\*/gi,"")}return f}function a(f){if(f!=null&&typeof(f)=="string"){f=b(f);f=f.replace(/;/gi,"")}return f}this.Save=function(f,g){e();if(d==undefined||d==null){return""}d.write(f,g)};this.Retrieve=function(f){e();if(d==undefined||d==null){return""}return d.read(f)};this.SetClientCookie=function(h,l,g,n,k,m){var f=new Array();if(h!=null&&l!=null){f.push(a(h)+"="+a(l))}if(g!=null){f.push("expires="+g)}if(n!=null){f.push("path="+n)}if(k!=null){f.push("domain="+k)}if(m!=null&&m){f.push("secure")}document.cookie=f.join("; ")};this.GetClientCookie=function(){return b(document.cookie)};this.GetClientCookieByName=function(f){var l=document.cookie.split(";");var m=f+"=";var k=null;for(var h=0;h<l.length;h++){var g=l[h];while(g.charAt(0)==" "){g=g.substring(1,g.length)}if(g.indexOf(m)==0){k=g.substring(m.length,g.length)}}return k};this.SaveObjectToClientCache=function(h,k){if(typeof k!="object"){return}if(String.IsNullOrEmpty(h)){return}var g=JSON.stringify(k);if(jQuery("#"+c).length==0){var l=document.createElement("div");l.setAttribute("id",c);jQuery(l).css("display","none");jQuery(l).appendTo("body")}if(jQuery("#"+h).length==0){var f=document.createElement("div");f.setAttribute("id",h);jQuery("#"+c).append(f)}jQuery("#"+h).text(g)};this.GetObjectFromClientCache=function(g){if(String.IsNullOrEmpty(g)){return null}if(jQuery("#"+g).length==0){return null}var f=jQuery("#"+g).text();var k=null;try{k=JSON.parse(f)}catch(h){return null}return k}}function KMClusterManager(mapInstance,shapeLayerManager,shapeManager){var _clusterManager=this;var _mapInstance=mapInstance;
var _shapeLayerManager=shapeLayerManager;var _shapeManager=shapeManager;var _clusterShapeLayer=null;var _clusterMapDelegateOption=new KMDelegateOption(true,"");this.Debug=true;this.SetClusterShapeLayer=function(shapeLayer,image){_clusterShapeLayer=shapeLayer;var options=new VEClusteringOptions();options.Callback=this.OnClusterMapHandler;if(!String.IsNullOrEmpty(image)){var customIcon=new VECustomIconSpecification();customIcon.Image=image;options.Icon=customIcon}_clusterShapeLayer.SetClusteringConfiguration(VEClusteringType.Grid,options)};this.SetClusterShapeLayerByID=function(shapeLayerID,image){var shapeLayer=_shapeLayerManager.GetShapeLayer(shapeLayerID);this.SetClusterShapeLayer(shapeLayer,image)};this.GetClusterShapes=function(){if(_clusterShapeLayer!=null){return _clusterShapeLayer.GetClusteredShapes(VEClusteringType.Grid)}return null};this.SetClusterMapDelegateOption=function(option){_clusterMapDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName)};this.OnClusterMapHandler=function(clusters){if(_clusterMapDelegateOption.RunDefaultHandler){if(_clusterManager.Debug){console.log("KMClusterManager.OnClusterMapHandler: Number of clusters: %s",clusters.length)}}if(jQuery.isArray(_clusterMapDelegateOption.ClientDelegateName)){for(var i=0;i<_clusterMapDelegateOption.ClientDelegateName.length;i++){var delegate=_clusterMapDelegateOption.ClientDelegateName[i];if(!String.IsNullOrEmpty(delegate)){eval(delegate)(_clusterManager,clusters)}}}else{if(!String.IsNullOrEmpty(_clusterMapDelegateOption.ClientDelegateName)){eval(_clusterMapDelegateOption.ClientDelegateName)(_clusterManager,clusters)}}}}function KMListManager(listParentDiv){var _listParentDiv=listParentDiv;var _listItemMouseOverDelegateOption=new KMDelegateOption(true,"");var _listItemMouseOutDelegateOption=new KMDelegateOption(true,"");var _listItemMouseOverCSSClass=null;var _listItemMouseOutCSSClass=null;this.ItemCount=null;this.SetListItemMouseOverDelegate=function(option){_listItemMouseOverDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName)
};this.SetListItemMouseOutDelegate=function(option){_listItemMouseOutDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName)};this.ListItemMouseOverCSSClass=function(cssClass){_listItemMouseOverCSSClass=cssClass};this.ListItemMouseOutCSSClass=function(cssClass){_listItemMouseOutCSSClass=cssClass};this.CreateList=function(veShapeLayer,listItemDataBoundDelegate){this.ItemCount=veShapeLayer.GetShapeCount();if(_listParentDiv==null){return}if(this.ItemCount==0){return}if(String.IsNullOrEmpty(listItemDataBoundDelegate)){return}jQuery("#"+_listParentDiv).empty();for(var i=0;i<this.ItemCount;i++){var veShape=veShapeLayer.GetShapeByIndex(i);var itemDiv=jQuery(document.createElement("div"));var id="div_"+veShape.ReferenceID;jQuery(itemDiv).attr("id",id);BindHoverEvents(itemDiv);jQuery("#"+_listParentDiv).append(itemDiv);eval(listItemDataBoundDelegate)(veShape,itemDiv)}};function GetShapeId(divElement){var shapeId=null;if(divElement!=null){shapeId=divElement.id.replace("div_","")}return shapeId}function ListItemMouseOver(e){var target=e.currentTarget;var shapeId=GetShapeId(target);if(_listItemMouseOverCSSClass!=null){jQuery(target).addClass(_listItemMouseOverCSSClass)}if(!String.IsNullOrEmpty(_listItemMouseOverDelegateOption.ClientDelegateName)){eval(_listItemMouseOverDelegateOption.ClientDelegateName)(e,shapeId)}}function ListItemMouseOut(e){var target=e.currentTarget;var shapeId=GetShapeId(target);if(_listItemMouseOutCSSClass!=null){jQuery(target).addClass(_listItemMouseOutCSSClass)}if(!String.IsNullOrEmpty(_listItemMouseOutDelegateOption.ClientDelegateName)){eval(_listItemMouseOutDelegateOption.ClientDelegateName)(e,shapeId)}}function BindHoverEvents(div){jQuery(div).bind("mouseover",ListItemMouseOver);jQuery(div).bind("mouseout",ListItemMouseOut)}}function KMMapManager(){var _mapManager=this;var _mapInstance;var _shapeLayerManager;var _shapeManager;var _clusterManager;var _resizeDelegateOption=new KMDelegateOption(true,"");var _changeMapStyleDelegateOption=new KMDelegateOption(true,"");var _changeViewDelegateOption=new KMDelegateOption(true,"");
var _initModeDelegateOption=new KMDelegateOption(true,"");var _startPanDelegateOption=new KMDelegateOption(true,"");var _endPanDelegateOption=new KMDelegateOption(true,"");var _startZoomDelegateOption=new KMDelegateOption(true,"");var _endZoomDelegateOption=new KMDelegateOption(true,"");var _clickDelegateOption=new KMDelegateOption(true,"");var _doubleClickDelegateOption=new KMDelegateOption(true,"");var _mouseOverDelegateOption=new KMDelegateOption(true,"");var _mouseOutDelegateOption=new KMDelegateOption(true,"");var _obliqueEnterDelegateOption=new KMDelegateOption(true,"");var _obliqueLeaveDelegateOption=new KMDelegateOption(true,"");var _errorDelegateOption=new KMDelegateOption(true,"");this.MapInstance=null;this.MapDivName=null;this.MapElement=null;this.ShapeLayerManager=null;this.ShapeManager=null;this.ClusterManager=null;this.Debug=true;this.GetMap=function(divName,centerLatitude,centerLongitude,zoom,onLoadMap,enhancedRoad){this.MapDivName=divName;this.MapElement=document.getElementById(this.MapDivName);_mapInstance=new VEMap(this.MapDivName);this.MapInstance=_mapInstance;_shapeLayerManager=new KMShapeLayerManager(this.MapInstance);this.ShapeLayerManager=_shapeLayerManager;_shapeManager=new KMShapeManager(this.MapInstance,this.ShapeLayerManager);this.ShapeManager=_shapeManager;_clusterManager=new KMClusterManager(this.MapInstance,this.ShapeLayerManager,this.ShapeManager);this.ClusterManager=_clusterManager;if(!String.IsNullOrEmpty(onLoadMap)){_mapInstance.onLoadMap=onLoadMap}if(enhancedRoad===undefined){enhancedRoad=true}var mapOptions=new VEMapOptions();mapOptions.DashboardColor="black";mapOptions.UseEnhancedRoadStyle=true;mapOptions.EnableBirdseye=false;_mapInstance.LoadMap(new VELatLong(centerLatitude,centerLongitude),zoom,VEMapStyle.Road,false,VEMapMode.Mode2D,false,0,mapOptions);_mapInstance.SetScaleBarDistanceUnit(VEDistanceUnit.Kilometers);_mapInstance.AttachEvent("onresize",this.OnResizeHandler);_mapInstance.AttachEvent("onchangemapstyle",this.OnChangeMapStyleHandler);_mapInstance.AttachEvent("onchangeview",this.OnChangeViewHandler);
_mapInstance.AttachEvent("oninitmode",this.OnInitModeHandler);_mapInstance.AttachEvent("onstartpan",this.OnStartPanHandler);_mapInstance.AttachEvent("onendpan",this.OnEndPanHandler);_mapInstance.AttachEvent("onstartzoom",this.OnStartZoomHandler);_mapInstance.AttachEvent("onendzoom",this.OnEndZoomHandler);_mapInstance.AttachEvent("onclick",this.OnClickHandler);_mapInstance.AttachEvent("ondoubleclick",this.OnDoubleClickHandler);_mapInstance.AttachEvent("onmouseover",this.OnMouseOverHandler);_mapInstance.AttachEvent("onmouseout",this.OnMouseOutHandler);_mapInstance.AttachEvent("onobliqueenter",this.OnObliqueEnterHandler);_mapInstance.AttachEvent("onobliqueleave",this.OnObliqueLeaveHandler);_shapeManager.UpdateShapesInMapView()};this.AddControl=function(control){if(control==null){return}_mapInstance.AddControl(control)};this.DetachResizeHandler=function(){_mapInstance.DetachEvent("onresize",this.OnResizeHandler)};this.DetachChangeMapStyleHandler=function(){_mapInstance.DetachEvent("onchangemapstyle",this.OnChangeMapStyleHandler)};this.DetachChangeViewHandler=function(){_mapInstance.DetachEvent("onchangeview",this.OnChangeViewHandler)};this.DetachInitModeHandler=function(){_mapInstance.DetachEvent("oninitmode",this.OnInitModeHandler)};this.DetachStartPanHandler=function(){_mapInstance.DetachEvent("onstartpan",this.OnStartPanHandler)};this.DetachEndPanHandler=function(){_mapInstance.DetachEvent("onendpan",this.OnEndPanHandler)};this.DetachStartZoomHandler=function(){_mapInstance.DetachEvent("onstartzoom",this.OnStartZoomHandler)};this.DetachEndZoomHandler=function(){_mapInstance.DetachEvent("onendzoom",this.OnEndZoomHandler)};this.DetachClickHandler=function(){_mapInstance.DetachEvent("onclick",this.OnClickHandler)};this.DetachDoubleClickHandler=function(){_mapInstance.DetachEvent("ondoubleclick",this.OnDoubleClickHandler)};this.DetachMouseOverHandler=function(){_mapInstance.DetachEvent("onmouseover",this.OnMouseOverHandler)};this.DetachMouseOutHandler=function(){_mapInstance.DetachEvent("onmouseout",this.OnMouseOutHandler)
};this.DetachObliqueEnterHandler=function(){_mapInstance.DetachEvent("onobliqueenter",this.OnObliqueEnterHandler)};this.DetachObliqueLeaveHandler=function(){_mapInstance.DetachEvent("onobliqueleave",this.OnObliqueLeaveHandler)};this.SetResizeDelegateOption=function(option){_resizeDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);_mapInstance.AttachEvent("onresize",this.OnResizeHandler)};this.SetChangeMapStyleDelegateOption=function(option){_changeMapStyleDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);_mapInstance.AttachEvent("onchangemapstyle",this.OnChangeMapStyleHandler)};this.SetChangeViewDelegateOption=function(option){_changeViewDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);_mapInstance.AttachEvent("onchangeview",this.OnChangeViewHandler)};this.SetInitModeDelegateOption=function(option){_initModeDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);_mapInstance.AttachEvent("oninitmode",this.OnInitModeHandler)};this.SetStartPanDelegateOption=function(option){_startPanDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);_mapInstance.AttachEvent("onstartpan",this.OnStartPanHandler)};this.SetEndPanDelegateOption=function(option){_endPanDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);_mapInstance.AttachEvent("onendpan",this.OnEndPanHandler)};this.SetStartZoomDelegateOption=function(option){_startZoomDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);_mapInstance.AttachEvent("onstartzoom",this.OnStartZoomHandler)};this.SetEndZoomDelegateOption=function(option){_endZoomDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);_mapInstance.AttachEvent("onendzoom",this.OnEndZoomHandler)};this.SetClickDelegateOption=function(option){_clickDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);_mapInstance.AttachEvent("onclick",this.OnClickHandler)};this.SetDoubleClickDelegateOption=function(option){_doubleClickDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);
_mapInstance.AttachEvent("ondoubleclick",this.OnDoubleClickHandler)};this.SetMouseOverDelegateOption=function(option){_mouseOverDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);_mapInstance.AttachEvent("onmouseover",this.OnMouseOverHandler)};this.SetMouseOutDelegateOption=function(option){_mouseOutDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);_mapInstance.AttachEvent("onmouseout",this.OnMouseOutHandler)};this.SetObliqueEnterDelegateOption=function(option){_obliqueEnterDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);_mapInstance.AttachEvent("onobliqueenter",this.OnObliqueEnterHandler)};this.SetObliqueLeaveDelegateOption=function(option){_obliqueLeaveDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);_mapInstance.AttachEvent("onobliqueleave",this.OnObliqueLeaveHandler)};this.SetErrorDelegateOption=function(option){_errorDelegateOption.Clone(option.RunDefaultHandler,option.ClientDelegateName);_mapInstance.AttachEvent("onerror",this.OnErrorHandler)};this.OnResizeHandler=function(e){if(_resizeDelegateOption.RunDefaultHandler){_shapeManager.UpdateShapesInMapView();if(_mapManager.Debug){console.log("KMMapManager.OnResizeHandler: %s",_mapInstance.GetMapView().Debug())}}HandleClientDelegate(_resizeDelegateOption,e)};this.OnChangeMapStyleHandler=function(e){if(_changeMapStyleDelegateOption.RunDefaultHandler){if(_mapManager.Debug){console.log("KMMapManager.OnChangeMapStyleHandler: %s",_mapInstance.GetMapView().Debug())}}HandleClientDelegate(_changeMapStyleDelegateOption,e)};this.OnChangeViewHandler=function(e){if(_changeViewDelegateOption.RunDefaultHandler){_shapeManager.UpdateShapesInMapView();if(_mapManager.Debug){console.log("KMMapManager.OnChangeViewHandler: %s",_mapInstance.GetMapView().Debug())}}HandleClientDelegate(_changeViewDelegateOption,e)};this.OnInitModeHandler=function(e){if(_initModeDelegateOption.RunDefaultHandler){_shapeManager.UpdateShapesInMapView();if(_mapManager.Debug){console.log("KMMapManager.OnInitModeHandler: %s",_mapInstance.GetMapView().Debug())
}}HandleClientDelegate(_initModeDelegateOption,e)};this.OnStartPanHandler=function(e){if(_startPanDelegateOption.RunDefaultHandler){if(_mapManager.Debug){console.log("KMMapManager.OnStartPanHandler: %s",_mapInstance.GetMapView().Debug())}}HandleClientDelegate(_startPanDelegateOption,e)};this.OnEndPanHandler=function(e){if(_endPanDelegateOption.RunDefaultHandler){if(_mapManager.Debug){console.log("KMMapManager.OnEndPanHandler: %s",_mapInstance.GetMapView().Debug())}}HandleClientDelegate(_endPanDelegateOption,e)};this.OnStartZoomHandler=function(e){if(_startZoomDelegateOption.RunDefaultHandler){if(_mapManager.Debug){console.log("KMMapManager.OnStartZoomHandler: %s",_mapInstance.GetMapView().Debug())}}HandleClientDelegate(_startZoomDelegateOption,e)};this.OnEndZoomHandler=function(e){if(_endZoomDelegateOption.RunDefaultHandler){if(_mapManager.Debug){console.log("KMMapManager.OnEndZoomHandler: %s",_mapInstance.GetMapView().Debug())}}HandleClientDelegate(_endZoomDelegateOption,e)};this.OnClickHandler=function(e){if(_clickDelegateOption.RunDefaultHandler){if(_mapManager.Debug){console.log("KMMapManager.OnClickHandler: %s => %s",e.eventName,e.elementID)}}HandleClientDelegate(_clickDelegateOption,e)};this.OnDoubleClickHandler=function(e){if(_doubleClickDelegateOption.RunDefaultHandler){var zoom=_mapInstance.GetZoomLevel();if(_mapManager.Debug){console.log("KMMapManager.OnDoubleClickHandler: %s => %s",e.eventName,e.elementID)}}HandleClientDelegate(_doubleClickDelegateOption,e)};this.OnMouseOverHandler=function(e){if(_mouseOverDelegateOption.RunDefaultHandler){if(_mapManager.Debug){console.log("KMMapManager.OnMouseOverHandler: %s => %s",e.eventName,e.elementID)}}HandleClientDelegate(_mouseOverDelegateOption,e)};this.OnMouseOutHandler=function(e){if(_mouseOutDelegateOption.RunDefaultHandler){if(_mapManager.Debug){console.log("KMMapManager.OnMouseOutHandler: %s => %s",e.eventName,e.elementID)}}HandleClientDelegate(_mouseOutDelegateOption,e)};this.OnObliqueEnterHandler=function(e){if(_obliqueEnterDelegateOption.RunDefaultHandler){if(_mapManager.Debug){console.log("KMMapManager.OnObliqueEnterHandler: %s",_mapInstance.GetMapView().Debug())
}}HandleClientDelegate(_obliqueEnterDelegateOption,e)};this.OnObliqueLeaveHandler=function(e){if(_obliqueLeaveDelegateOption.RunDefaultHandler){if(_mapManager.Debug){console.log("KMMapManager.OnObliqueLeaveHandler: %s",_mapInstance.GetMapView().Debug())}}HandleClientDelegate(_obliqueLeaveDelegateOption,e)};this.OnErrorHandler=function(e){if(_errorDelegateOption.RunDefaultHandler){if(_mapManager.Debug){console.log("KMMapManager.OnErrorHandler: %s",e.error)}}HandleClientDelegate(_errorDelegateOption,e)};HandleClientDelegate=function(delegateOption,e){if(jQuery.isArray(delegateOption.ClientDelegateName)){for(var i=0;i<delegateOption.ClientDelegateName.length;i++){var delegate=delegateOption.ClientDelegateName[i];if(!String.IsNullOrEmpty(delegate)){eval(delegate)(_mapManager,e)}}}else{if(!String.IsNullOrEmpty(delegateOption.ClientDelegateName)){eval(delegateOption.ClientDelegateName)(_mapManager,e)}}}}KMNavigationManager={};KMNavigationManager.GetCurrentViewURL=function(b){if(b==null){return null}var e=window.location.href.replace(window.location.search,"");var k=b.GetMapView();var h=k.TopLeftLatLong;var a=k.BottomRightLatLong;var d=b.GetCenter();var l=h.Latitude+":"+h.Longitude+":"+a.Latitude+":"+a.Longitude;var g=d.Latitude+":"+d.Longitude;var f=b.GetZoomLevel();jQuery.query.SET("mv",l);jQuery.query.SET("c",g);jQuery.query.SET("z",f);return e+jQuery.query.toString()};KMNavigationManager.GetMapViewFromQueryString=function(){var f=window.location.href;var a=jQuery.query.get("mv");var g=a.split(":");if(g==null||g.length!=4){return null}var b=null;try{var e=new VELatLong(g[0],g[1]);var c=new VELatLong(g[2],g[3]);b=new VELatLongRectangle(e,c);b.Centre=KMNavigationManager.GetMapCenterFromQueryString();b.Zoom=KMNavigationManager.GetMapZoomFromQueryString()}catch(d){console.log("KMNavigationManager.GetMapViewFromQueryString: %s",g.toString());return null}return b};KMNavigationManager.GetMapCenterFromQueryString=function(){var e=jQuery.query.get("c");var a=e.split(":");if(a==null||a.length!=2){return null}var d=null;try{d=new VELatLong(a[0],a[1])
}catch(b){console.log("KMNavigationManager.GetMapCenterFromQueryString: %s",a.toString());return null}return d};KMNavigationManager.GetMapZoomFromQueryString=function(){return jQuery.query.get("z")};function KMShapeLayerManager(b){var c=b;var a=new Hashtable();this.DefaultGroupName="{9E2CA069-A266-4ff4-AAD7-C9CEDA52B47B}";this.Debug=true;this.AddShapeLayer=function(h,f,g,e){if(this.GetShapeLayer(h)==null){var d=new VEShapeLayer();d.ReferenceID=h;d.Group=!String.IsNullOrEmpty(f)?f:this.DefaultGroupName;if(!String.IsNullOrEmpty(g)){d.SetTitle(g)}if(!String.IsNullOrEmpty(e)){d.SetDescription(e)}c.AddShapeLayer(d);a.put(h,d)}};this.GetShapeLayerCollection=function(){return a.values()};this.ShowShapeLayer=function(e){var d=this.GetShapeLayer(e);if(d!=null){d.Show()}};this.HideShapeLayer=function(e){var d=this.GetShapeLayer(e);if(d!=null){d.Hide()}};this.IsShapeLayerVisible=function(e){var d=this.GetShapeLayer(e);if(d!=null){return d.IsVisible()}return false};this.GetShapeCount=function(e){var d=this.GetShapeLayer(e);if(d!=null){return d.GetShapeCount()}return 0};this.GetShapeLayer=function(d){return a.get(d)};this.DeleteShapeLayer=function(e){var d=this.GetShapeLayer(e);if(d!=null){c.DeleteShapeLayer(d);a.remove(e)}};this.ClearShapeLayer=function(e){var d=this.GetShapeLayer(e);if(d!=null){d.DeleteAllShapes()}};this.GetShapeLayersByGroup=function(f){var e=[];for(var g in a.keys()){var d=a.get(g);if(d!=null&&d.Group==f){e.push(d)}}return e};this.DeleteShapeLayersByGroup=function(e){var d=this.GetShapeLayersByGroup(e);if(d!=null&&d.length>0){for(var f in d){this.DeleteShapeLayer(f)}}};this.ShowShapeLayersByGroup=function(e){var d=this.GetShapeLayersByGroup(e);if(d!=null&&d.length>0){for(var f in d){this.ShowShapeLayer(f)}}};this.HideShapeLayersByGroup=function(e){var d=this.GetShapeLayersByGroup(e);if(d!=null&&d.length>0){for(var f in d){this.HideShapeLayer(f)}}}}KMShapeLayerManager.CreateList=function(listParentDiv,veShapeList,listItemDataBoundDelegate){if(listParentDiv==null){return}jQuery("#"+listParentDiv).empty();if(veShapeList==null||veShapeList.length==0){return
}if(String.IsNullOrEmpty(listItemDataBoundDelegate)){return}for(var i=0;i<veShapeList.length;i++){var veShape=veShapeList[i];var itemDiv=jQuery(document.createElement("div"));var id=veShape.ReferenceID;jQuery(itemDiv).attr("id",id);jQuery("#"+listParentDiv).append(itemDiv);eval(listItemDataBoundDelegate)(veShape,itemDiv)}};function KMShapeManager(b,e){var d=b;var a=e;var c=new Hashtable();this.DefaultShapeLayerID="{B3A792C8-21D8-4a9b-87FF-1C6D0B6C4D2D}";this.Debug=true;this.AddShapes=function(g,f){var l=a.GetShapeLayer(g);if(l!=null){var k=new Hashtable();if(jQuery.isArray(f)){for(var h=0;h<f.length;h++){if(!String.IsNullOrEmpty(f[h].ReferenceID)){k.put(f[h].ReferenceID,f[h])}}}else{if(!String.IsNullOrEmpty(f.ReferenceID)){k.put(f.ReferenceID,f)}}c.put(g,k);l.AddShape(f)}};this.DeleteShapes=function(f){var g=a.GetShapeLayer(f);if(g!=null){c.remove(f);g.DeleteAllShapes()}};this.DeleteShapesByGroup=function(g,m){var l=a.GetShapeLayer(g);var k=c.get(shapeLaterID);if(l!=null&&k!=null&&!String.IsNUllOrEmpty(m)){var f=this.GetShapesByGroup(g,m);for(var h=0;h<f.length;h++){k.remove(f[h].ReferenceID);l.DeleteShape(f[h])}}};this.GetShapeByElementID=function(f){var g=null;if(f!=null){g=d.GetShapeByID(f)}return g};this.GetShapeByReferenceID=function(h,k){var f=null;if(h!=null&&k!=null){var g=c.get(h);if(g!=null){f=g.get(k)}}return f};this.GetShapesByShapeLayerID=function(g){var f=c.get(g);if(f!=null){return f.values()}return null};this.GetShapesByGroup=function(l,m){var k=c.get(l);if(k!=null&&!String.IsNUllOrEmpty(m)){var f=[];var g=k.values();for(var h=0;h<g.length;h++){if(g[h].Group==m){f.push(g[h])}}return f}return null};this.IsPointInMapView=function(f){var g=d.GetMapView();var m=g.TopLeftLatLong;var o=g.BottomRightLatLong;var n=Math.min(m.Latitude,o.Latitude);var l=Math.max(m.Latitude,o.Latitude);var h=Math.min(m.Longitude,o.Longitude);var k=Math.max(m.Longitude,o.Longitude);if(f!=null){if(f.Latitude>=n&&f.Latitude<=l&&f.Longitude>=h&&f.Longitude<=k){return true}}return false};this.UpdateShapesInMapView=function(){var k=c.values();
for(var l=0;l<k.length;l++){var g=k[l].values();for(var h=0;h<g.length;h++){var f=g[h];var m=f.GetPoints();f.IsInMapView=this.IsPointInMapView(m[0])}}}}function onGeocodeClick(address1){setVal();address=address1;StartGeocoding(address)}function StartGeocoding(address){map.Find(null,address,null,null,null,null,null,null,null,null,GeocodeCallback)}function GeocodeCallback(shapeLayer,findResults,places,moreResults,errorMsg){var resHtml="";if(places==null){alert((errorMsg==null)?"There were no results":errorMsg);return}var place=places[0];var location=place.LatLong;var latitude=location.Latitude;var longitude=location.Longitude;lati=latitude;longi=longitude;var pin=new VEShape(VEShapeType.Pushpin,location);pin.SetCustomIcon("<img src='"+pushpinUrl+"'>");map.AddShape(pin)}function ShowTurnByTurn(route){setVal();var turns="";turns+="<h3>Distance:</strong> "+route.Distance.toFixed(1)+" km";if(g_ShowTravelTime){turns+="<br/><strong>Time:</strong> "+GetTime(route.Time)}turns+="</h3>";turns+="<h4><img src='"+A_ico+"'>"+jQuery("#txtStart_"+global_direction_ctr).val()+"</h4>";var legs=route.RouteLegs;var leg=null;var turnNum=0;turns+="<ol>";for(var i=0;i<legs.length;i++){leg=legs[i];var legNum=i+1;var turn=null;var legDistance=null;var itineraryLength=leg.Itinerary.Items.length;for(var j=0;j<leg.Itinerary.Items.length;j++){var routeTurnID=g_RouteTurnIDTemplate.replace("{0}",i).replace("{1}",j);turnNum++;turn=leg.Itinerary.Items[j];var turnShape=turn.Shape;var position=turn.LatLong;var shapeIconHtml="";var padding=(turnNum<10)?"&nbsp;":"";shapeIconHtml=g_TurnIconHtmlTemplate.replace("{0}",padding+turnNum+padding);var shape=new VEShape(VEShapeType.Pushpin,turn.LatLong);shape.SetCustomIcon(shapeIconHtml);shape.SetZIndex(2003,2000);shape.Hide();g_RouteShapeLayer.AddShape(shape);turns+="<li id='{0}' routeturntroup='1' shape_id='{1}'>".replace("{0}",routeTurnID).replace("{1}",shape.guid);turns+=turn.Text;legDistance=turn.Distance;if(legDistance>0){turns+=" ("+legDistance.toFixed(1)+" km";if(g_ShowTravelTime){if(turn.Time!=null){turns+="; "+GetTime(turn.Time)
}}turns+=")"}turns+="</li>"}}turns+="</ol>";turns+="<h4><img src='"+B_ico+"'>"+jQuery("#txtEnd_"+global_direction_ctr).val()+"</h4>";jQuery("[routeturntroup=1]").live("mouseover",RouteTurn_OnMouseOver);jQuery("[routeturntroup=1]").live("mouseout",RouteTurn_OnMouseOut);jQuery("[routeturntroup=1]").live("click",RouteTurn_OnClick);SetDirections(turns);$("#directionsBox_"+global_direction_ctr).show();showDirections(global_direction_ctr)}function GetDirections(){setVal();g_RouteShapeLayer.DeleteAllShapes();g_DragPointShapeLayer.DeleteAllShapes();g_DestinationShapeLayer.DeleteAllShapes();g_PointArray=[];g_NumberOfGotRoute=1;var locations=[];locations.push(jQuery("#txtStart_"+global_direction_ctr).val());if(jQuery("#useLatLongForDirections_"+global_direction_ctr).val()=="true"){var latitude=jQuery("#latitude_"+global_direction_ctr).val();var longitude=jQuery("#longitude_"+global_direction_ctr).val();var latLong=new VELatLong(latitude,longitude);locations.push(latLong)}else{locations.push(jQuery("#txtEnd_"+global_direction_ctr).val())}var options=GetRouteOptions();map.GetDirections(locations,options)}function OnGotRoute(route){setVal();if(route.RouteLegs==null||route.RouteLegs.length==0){return}if(g_ShowTurnByTurn){ShowTurnByTurn(route)}if(g_PointArray.length==0){g_PointArray.push(route.RouteLegs[0].StartLocation);g_PointArray.push(route.RouteLegs[0].EndLocation)}if(g_NumberOfGotRoute==1){map.SetMapView(route.ShapePoints)}g_NumberOfGotRoute++;var shape=new VEShape(VEShapeType.Polyline,route.ShapePoints);shape.ReferenceID="Route";shape.SetLineColor(new VEColor(24,93,198,0.6));shape.SetLineWidth(5);shape.HideIcon();shape.SetTitle(g_RouteTitle);shape.SetZIndex(1000,2000);g_RouteShapeLayer.AddShape(shape);var startPoint=new VEShape(VEShapeType.Pushpin,route.RouteLegs[0].StartLocation);startPoint.ReferenceID="0";startPoint.SetCustomIcon(A_ico);startPoint.SetZIndex(2001,2000);g_RouteShapeLayer.AddShape(startPoint);var numLegs=route.RouteLegs.length;if(numLegs>1){for(i=1;i<=numLegs-1;i++){var wayPoint=new VEShape(VEShapeType.Pushpin,route.RouteLegs[i].StartLocation);
wayPoint.ReferenceID=i;wayPoint.SetCustomIcon("<img src='"+poi_via+"'>");wayPoint.SetZIndex(2001,2000);g_RouteShapeLayer.AddShape(wayPoint);var primitiveID=wayPoint.Primitives[0].iid;jQuery("#"+primitiveID).contextMenu({menu:"myRouteContextMenu"},function(action,el,pos){RouteContextMenuAction(action,el,pos)})}}var endPoint=new VEShape(VEShapeType.Pushpin,route.RouteLegs[numLegs-1].EndLocation);endPoint.ReferenceID=numLegs;endPoint.SetCustomIcon(B_ico);endPoint.SetZIndex(2002,2000);g_RouteShapeLayer.AddShape(endPoint);map.AttachEvent("onmouseover",HandleMouseOverRoute)}function HandleMouseOverRoute(e){setValByMapElemId(e);if(e.elementID!=null){if(map.GetShapeByID(e.elementID).GetTitle().match(g_RouteTitle)){map.DetachEvent("onmouseover",HandleMouseOverRoute);var x=e.mapX;var y=e.mapY;var LL=map.PixelToLatLong(new VEPixel(x,y));g_DragPoint=new VEShape(VEShapeType.Pushpin,LL);g_DragPoint.SetCustomIcon("<img src='"+poi_via+"'>");g_DragPoint.SetZIndex(1000,2000);g_DragPointShapeLayer.AddShape(g_DragPoint);map.AttachEvent("onmousemove",HandleMouseOverRouteMove)}}}function HandleMouseOverRouteMove(e){setValByMapElemId(e);if(e.elementID!=null){if(map.GetShapeByID(e.elementID).GetTitle().match(g_RouteTitle)){var x=e.mapX;var y=e.mapY;var LL=map.PixelToLatLong(new VEPixel(x,y));g_DragPoint.SetPoints(LL);map.AttachEvent("onmousedown",HandleMouseDown)}}else{map.DetachEvent("onmousedown",HandleMouseDown);map.DetachEvent("onmousemove",HandleMouseOverRouteMove);g_DragPointShapeLayer.DeleteAllShapes();map.AttachEvent("onmouseover",HandleMouseOverRoute)}}function HandleMouseDown(e){setValByMapElemId(e);if(e.elementID!=null&&e.leftMouseButton){map.DetachEvent("onmousemove",HandleMouseOverRouteMove);map.AttachEvent("onmousemove",HandleDragPointMove);map.AttachEvent("onmouseup",HandleMouseUp)}}function HandleDragPointMove(e){setValByMapElemId(e);var x=e.mapX;var y=e.mapY;var LL=map.PixelToLatLong(new VEPixel(x,y));g_DragPoint.SetPoints(LL);return true}function HandleMouseUp(e){setValByMapElemId(e);map.DetachEvent("onmousemove",HandleDragPointMove);
map.DetachEvent("onmouseup",HandleMouseUp);if(e.leftMouseButton){var x=e.mapX;var y=e.mapY;var LL=map.PixelToLatLong(new VEPixel(x,y));g_PointArray.splice(g_PointArray.length-1,0,LL);g_DragPoint=null;g_DragPointShapeLayer.DeleteAllShapes();Reroute()}}function Reroute(){setVal();g_RouteShapeLayer.DeleteAllShapes();var options=GetRouteOptions();map.GetDirections(g_PointArray,options)}function GetRouteOptions(){var options=new VERouteOptions();options.DrawRoute=false;options.DistanceUnit=VERouteDistanceUnit.Kilometer;options.SetBestMapView=false;options.RouteCallback=OnGotRoute;return options}function SetDirections(s){var d=document.getElementById("directions_"+global_direction_ctr);d.innerHTML=s}function GetTime(time){if(time==null){return("")}if(time>60){var seconds=time%60;var minutes=time-seconds;minutes=minutes/60;if(minutes>60){var minLeft=minutes%60;var hours=minutes-minLeft;hours=hours/60;return(hours+" hour(s), "+minLeft+" minute(s), "+seconds+" second(s)")}else{return(minutes+" minutes, "+seconds+" seconds")}}else{return(time+" seconds")}}function RouteTurn_OnMouseOver(e){setValByMapElemId(e);var id=e.srcElement.id;if(!String.IsNullOrEmpty(id)){jQuery("#"+id).removeClass().addClass("RouteTurnHoverStyle");var shape_id=jQuery("#"+id).attr("shape_id");var shape=g_RouteShapeLayer.GetShapeByID(shape_id);if(shape!=null){shape.Show()}}}function RouteTurn_OnMouseOut(e){setValByMapElemId(e);var id=e.srcElement.id;if(!String.IsNullOrEmpty(id)){jQuery("#"+id).removeClass().addClass("RouteTurnStyle");var shape_id=jQuery("#"+id).attr("shape_id");var shape=g_RouteShapeLayer.GetShapeByID(shape_id);if(shape!=null){shape.Hide()}}}function RouteTurn_OnClick(e){setValByMapElemId(e);var id=e.srcElement.id;if(!String.IsNullOrEmpty(id)){var shape_id=jQuery("#"+id).attr("shape_id");var shape=g_RouteShapeLayer.GetShapeByID(shape_id);if(shape!=null){g_mapManager.MapInstance.SetCenter(shape.GetPoints()[0])}}}function MapContextMenuAction(action,el,pos){if(action=="add_destination"){if(g_PointArray!=null&&g_PointArray.length>0){setVal();
var shapeIconHtml="<img src='/images/blue_dot.gif'>";var pixel=new VEPixel(pos.x+5,pos.y+5);var shape=new VEShape(VEShapeType.Pushpin,map.PixelToLatLong(pixel));shape.SetCustomIcon(shapeIconHtml);shape.SetZIndex(2004,2000);shape.Hide();var LL=map.PixelToLatLong(pixel);g_PointArray.splice(g_PointArray.length-1,0,LL);g_DragPoint=null;g_DragPointShapeLayer.DeleteAllShapes();Reroute()}}}function RouteContextMenuAction(action,el,pos){if(action=="delete_destination"){setVal();var primitiveID=jQuery(el).attr("id");var shape=map.GetShapeByID(primitiveID);if(shape!=null){if(g_PointArray!=null&&g_PointArray.length>0){if(shape.ReferenceID>0&&shape.ReferenceID<g_PointArray.length-1){g_PointArray.splice(shape.ReferenceID,1);g_RouteShapeLayer.DeleteShape(shape);g_DragPoint=null;g_DragPointShapeLayer.DeleteAllShapes();Reroute()}}}}}function callGetDirections(ctr){$("#directionsBox_"+global_direction_ctr).hide();global_direction_ctr=ctr;setVal();GetDirections()}function hideDirections(ctr){global_direction_ctr=ctr;$("#directions_"+global_direction_ctr).slideUp(300)}function showDirections(ctr){global_direction_ctr=ctr;$("#directions_"+global_direction_ctr).slideDown(300)}function setVal(){map=mapList[global_direction_ctr];g_RouteShapeLayer=routeShapeLayerList[global_direction_ctr];g_DragPointShapeLayer=dragPointShapeLayerList[global_direction_ctr];g_DestinationShapeLayer=destinationShapeLayerList[global_direction_ctr];g_RouteTitle=routeTitleList[global_direction_ctr]}function setValByMapElemId(e){var i;for(i=0;i<mapList.length;i++){var k=mapList[i].GetShapeByID(e.elementID);if(mapList[i].GetShapeByID(e.elementID)!=null){global_direction_ctr=i;setVal();break}}}var g_debugMode=false;var g_mapManager=null;var g_mapManager=new KMMapManager();var g_RouteShapeLayer=null;var routeShapeLayerList=new Array();var g_DragPointShapeLayer=null;var dragPointShapeLayerList=new Array();var g_DestinationShapeLayer=null;var destinationShapeLayerList=new Array();var g_PointArray=null;var g_RouteTitle="My_Route";var routeTitleList=new Array();var g_DragPoint;
var g_ShowTurnByTurn=true;var g_ShowTravelTime=false;var g_RouteTurnIDTemplate="Route_Turn_{0}_{1}";var g_TurnIconHtmlTemplate="<div style=\"background-image: url('/images/turnpointPushpin.png');\" class='drivingDirectionsTurnIcon drivingDirectionsTurnListIcon'><div class='drivingDirectionsTurnIconText'>{0}</div></div>";var g_NumberOfGotRoute=0;var map=null;var mapList=new Array();var mapOptions=null;var pin=null;var global_direction_ctr=0;function InitMaps(){$('div[id^="directionsBox"]').each(function(index){$("#directionsBox_"+index).hide()});$('div[id^="mapDiv"]').each(function(index){lati=$("#mer_address_"+index+"_lati").attr("value");longi=$("#mer_address_"+index+"_longi").attr("value");InitMap($(this).attr("id"),index,lati,longi)})}function InitMap(mapDivId,indx,lati,longi){g_mapManager.Debug=false;g_mapManager.GetMap(mapDivId,lati,longi,15,null);mapList[indx]=g_mapManager.MapInstance;pin=new VEShape(VEShapeType.Pushpin,new VELatLong(lati,longi));pin.SetCustomIcon("<img src='"+pushpinUrl+"'>");mapList[indx].AddShape(pin);routeShapeLayerList[indx]=new VEShapeLayer();mapList[indx].AddShapeLayer(routeShapeLayerList[indx]);dragPointShapeLayerList[indx]=new VEShapeLayer();mapList[indx].AddShapeLayer(dragPointShapeLayerList[indx]);destinationShapeLayerList[indx]=new VEShapeLayer();mapList[indx].AddShapeLayer(destinationShapeLayerList[indx]);routeTitleList[indx]="My_Route_"+mapDivId;jQuery("#"+mapDivId).contextMenu({menu:mapDivId+"ContextMenu"},function(action,el,pos){MapContextMenuAction(action,el,pos)})};
