// --------------------------------------------------------------------------------------------
// khtml javascript library
// --------------------------------------------------------------------------------------------
// (C) Copyright 2010-2011 by Bernhard Zwischenbrugger, Florian Hengartner, Stefan Kemper
//
// Project Info: http://www.khtml.org
// http://www.khtml.org/iphonemap/help.php
//
// This library is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this library. If not, see .
// --------------------------------------------------------------------------------------------
var khtml={};khtml.maplib={};khtml.maplib.base={};khtml.maplib.geometry={};khtml.maplib.overlay={};khtml.maplib.overlay.renderer={};khtml.maplib.parser={};khtml.maplib.ui={};khtml.maplib.util={};khtml.maplib.overlay.renderer={};khtml.maplib.version=function(){return"khtmlib_hsr v0.02"};khtml.maplib.Map=function(a){return new khtml.maplib.base.Map(a)};khtml.maplib.LatLng=function(a,c){return new khtml.maplib.geometry.LatLng(a,c)};khtml.maplib.standardimagepath="http://maplib.khtml.org/img/";khtml.maplib.base.helpers={};khtml.maplib.base.helpers.parseXml=function(a){var c;window.ActiveXObject?(c=new ActiveXObject("Microsoft.XMLDOM"),c.async=!1,c.loadXML(a)):document.implementation&&document.implementation.createDocument&&(c=(new DOMParser).parseFromString(a,"text/xml"));return c};
khtml.maplib.base.helpers.contains=function(a,c){var d=[a.sw().lat(),a.ne().lat()],b=[a.sw().lng(),a.ne().lng()];return(khtml.maplib.base.helpers.between(d,c.sw().lat())||khtml.maplib.base.helpers.between(d,c.ne().lat()))&&(khtml.maplib.base.helpers.between(b,c.sw().lng())||khtml.maplib.base.helpers.between(b,c.ne().lng()))?!0:!1};khtml.maplib.base.helpers.overlaps=function(a,c){return a.sw().lng()>c.ne().lng()||a.ne().lng()c.ne().lat()||a.ne().lat()b&&(b=c.lat());c.lat()g&&(g=c.lng());d=new khtml.maplib.geometry.LatLng(e,d);b=new khtml.maplib.geometry.LatLng(b,g);return new khtml.maplib.geometry.Bounds(d,b)};khtml.maplib.base.helpers.between=function(a,c){return a[0]<=c&&c<=a[1]?!0:!1};
khtml.maplib.base.helpers.cloneObject=function(a){var c={},d;for(d in a)c[d]=typeof a[d]=="object"?khtml.maplib.base.helpers.cloneObject(a[d]):a[d];return c};khtml.maplib.base.helpers.convertObjectToArray=function(a){for(var c=[],d=0,b=a.length;d5?$a(arguments).slice(5,arguments.length):[],f=function(f){g.unshift(f||window.event);return d.apply(b?b:a,g)};a.addEventListener?(navigator.appName.indexOf("Netscape")==-1&&c=="DOMMouseScroll"&&(c="mousewheel"),navigator.userAgent.indexOf("Safari")!=-1?c=="DOMMouseScroll"?a.onmousewheel=f:a.addEventListener(c,f,e):a.addEventListener(c,f,e)):(c=c=="DOMMouseScroll"?"onmousewheel":"on"+c,a.attachEvent(c,f));return{o:a,
type:c,fn:f,c:e}};khtml.maplib.base.helpers.eventRemove=function(a){a.o.removeEventListener&&a.o.removeEventListener(a.type,a.fn,a.c)};khtml.maplib.base.helpers.mixin=function(a,c,d){if(d)if(d instanceof Array)for(var b=0;b15)){var b={};if(typeof a=="string"||typeof a=="number")return a;if(a instanceof Array){d=[];for(var e=0;e<
a.length;e++)d[e]=khtml.maplib.base.helpers.reduceToJSON(a[e],c+1);return d}if(a instanceof CSSStyleDeclaration){d={};for(e=0;e0;)this.overlays.pop().clear()};this.stopRenderOverlays=function(){for(obj in this.overlays)typeof this.overlays[obj].cancel==
"function"&&this.overlays[obj].cancel()};this.removeOverlay=function(f){for(var b=0;b(new Date).getTime())return!1;this._isRunning=!1;return!0};this.start=function(){this._isRunning=!0;this.time=(new Date).getTime()};this.interval=function(f){if(typeof f!="undefined")this.myInterval=parseInt(f);return this.myInterval};this.reset();this.interval(f);return this};this.oldMoveY=this.oldMoveX=0;this.moving=!1;this._start=function(f){f.preventDefault?f.preventDefault():f.returnValue=!1;this.moving=this.center();this.downEvent=
f;this.moveAnimationBlocked=!0;if(f.touches.length==1){this.startMoveX=this.moveX-this.pageX(f.touches[0])/this.faktor/this.sc;this.startMoveY=this.moveY-this.pageY(f.touches[0])/this.faktor/this.sc;if(this.mousedownTime!=null&&(new Date).getTime()-this.mousedownTime5||Math.abs(this.moveY-this.oldMoveY)>5)window.clearInterval(this.zoomOutInterval),
this.zoomOutSpeed=0.01,this.mousedownTime=null;var b=new khtml.maplib.LatLng(this.lat,this.lng);this.setCenter2(b,this.position.zoom);this.moveAnimationBlocked=!1}if(Math.abs(this.moveX-this.oldMoveX)>5||Math.abs(this.moveY-this.oldMoveY)>5)this.mousedownTime=null}if(f.touches.length==2){this.mousedownTime=null;var a=this.pageX(f.touches[0]),c=this.pageY(f.touches[0]),e=this.pageX(f.touches[1]),g=this.pageY(f.touches[1]);b=Math.sqrt(Math.pow(e-a,2)+Math.pow(g-c,2))/this.startDistance;f=this.startZZ+
b-1;f>this.tileSource.maxzoom?(f=this.tileSource.maxzoom,b=this.zoomDeltaOld):this.zoomDeltaOld=b;a=(a+e)/2;c=(c+g)/2;faktor=Math.pow(2,f);e=a/faktor-this.width/2;g=c/faktor-this.height/2;b=Math.pow(2,b-1);this.moveX=(a+(e-e*b))/faktor+this.startMoveX;this.moveY=(c+(g-g*b))/faktor+this.startMoveY;b=new khtml.maplib.LatLng(this.lat,this.lng);this.setCenter2(b,f)}};this._end=function(f){f.preventDefault?f.preventDefault():f.returnValue=!1;window.clearInterval(this.zoomOutInterval);this.zoomOutStarted=
!1;this.zoomOutSpeed=0.01;if(f.touches.length==0&&(this.moveok=!0,this.moveAnimationMobile&&this.moveAnimationBlocked==!1)){var b=new Date(f.timeStamp)-this.lastMoveTime,a=(this.lastMoveX-this.moveX)/b*4;b=(this.lastMoveY-this.moveY)/b*4;var c=this.wheelSpeedConfig.animateMaxSpeed;a>c&&(a=c);b>c&&(b=c);a<-c&&(a=-c);b<-c&&(b=-c);c=Math.pow(2,this.zoom());this._animateMove(a,b,c)}if(f.touches.length==1)this.startMoveX=this.moveX-f.touches[0].pageX/this.faktor/this.sc,this.startMoveY=this.moveY-f.touches[0].pageY/
this.faktor/this.sc};this.pageX=function(f){try{return(f.pageX===void 0?f.clientX+document.body.scrollLeft+document.documentElement.scrollLeft:f.pageX)-this.mapLeft}catch(b){return this.lastMouseX}};this.pageY=function(f){try{return(f.pageY===void 0?f.clientY+document.body.scrollTop+document.documentElement.scrollTop:f.pageY)-this.mapTop}catch(b){return this.lastMouseY}};this.doubleclickBlocked=!1;this._doubleclick=function(f){var b;if(!f)f=window.event;f.which?b=f.which==3:f.button&&(b=f.button==
2);b?this._discretZoom(-1,this.pageX(f),this.pageY(f)):this._discretZoom(1,this.pageX(f),this.pageY(f))};this._mousedown=function(f){this.mapParent.focus();f.preventDefault?f.preventDefault():window.event.returnValue=!1;this.downEvent=f;this.lastMouseX=this.pageX(f);this.lastMouseY=this.pageY(f);this.moveAnimationBlocked=!0;if(this.mousedownTime2!=null&&(new Date).getTime()-this.mousedownTime2a&&(f=a),b>a&&(b=a),f<-a&&(f=-a),b<-a&&(b=-a),a=Math.pow(2,this.zoom()),this._animateMove(f,b,a);var c=this;setTimeout(function(){c.movestarted=!1},1)};this._mouseupIE=function(f){f.preventDefault?
f.preventDefault():f.returnValue=!1;this.lastMouseX=this.pageX(f);this.lastMouseY=this.pageY(f);this.setCenter2(this.XYTolatlng(this.lastMouseX,this.lastMouseY),this.zoom())};this.startZoomTime=null;this._mousewheel=function(f){f.preventDefault?f.preventDefault():f.returnValue=!1;this.mapParent.focus();if(!f)f=window.event;if(f.wheelDelta)var b=f.wheelDelta/60;else if(f.detail)b=-f.detail/3,this.lastWheelDelta*b<0&&(this.wheelSpeedConfig.digizoom||(b=0)),this.lastWheelDelta=-f.detail/3;b=b<0?-1:1;
if(this.wheelSpeedConfig.digizoom)this._discretZoom(b,this.pageX(f),this.pageY(f));else{if(!this.startZoomTime)this.startZoomTime=new Date,this.startZoomTime2=new Date,this.oldZoom=this.zoom(),this.speed=1;var a=new Date-this.startZoomTime,c=new Date-this.startZoomTime2;this.startZoomTime=new Date;if(a>300)this.startZoomTime2=new Date,this.oldZoom=this.zoom(),this.speed=1,c=0.1;this.speed*=2;if(this.speed>5)this.speed=5;b=this.oldZoom+c/3E3*this.speed*b*(f.shiftKey?0.1:1);if(b>this.position.maxZoom)b=
this.position.maxZoom;if(b=this.tileSource.minzoom&&e<=this.tileSource.maxzoom&&(this.moveX+=g/faktor,this.moveY+=d/faktor);var t=new khtml.maplib.LatLng(this.lat,this.lng);if(e>this.tileSource.maxzoom)e=this.tileSource.maxzoom;if(e=this.tileSource.minzoom&&b<=this.tileSource.maxzoom&&(this.moveX+=f/faktor,this.moveY+=c/faktor);f=new khtml.maplib.LatLng(this.lat,this.lng);if(b>this.tileSource.maxzoom)b=this.tileSource.maxzoom;if(bthis.tileSource.maxzoom)a=this.tileSource.maxzoom;if(athis.tileSource.maxzoom)a=this.tileSource.maxzoom;if(ac/this.height?f=this.width:(a=c,f=this.height);
a=Math.log(360/a/(512/f))/Math.log(2)+1;if(a>this.tileSource.maxzoom)a=this.tileSource.maxzoom;if(a90&&(a-=180);a<-90&&(a+=180);var e=this._getIntZoom();b=c(a,b,e);a=this._getCenter();a=c(a.lat(),a.lng(),e);e=(a[0]-b[0])*this.tileW*this.sc-this.width/2;a=(a[1]-b[1])*this.tileW*this.sc-this.height/2;b=[];b.x=-e;b.y=-a;return b};this.XYTolatlng=function(a,e){var g=this._getCenter();if(g){var d=Math.pow(2,this.intZoom),l=g.lat();g=g.lng();
g=c(l,g,this.intZoom);l=(g[0]+(a-this.width/2)/this.tileW/this.sc)/d*360-180;d=-b((g[1]+(e-this.height/2)/this.tileH/this.sc)/d*360-180)+0;return new khtml.maplib.LatLng(d,l)}};this.mouseToLatLng=function(b){var a=this.pageX(b);b=this.pageY(b);return this.XYTolatlng(a,b)};this.reSize=function(){var b=this;window.setTimeout(function(){b._getSize(b)},1050)};this._getSize=function(){this.width=this.map.parentNode.offsetWidth;this.height=this.map.parentNode.offsetHeight;var b=this.map,a=0,c=0;do a+=b.offsetLeft,
c+=b.offsetTop,b=b.offsetParent;while(b.offsetParent);this.mapTop=c;this.mapLeft=a};this.recordArray=[];this.record=function(){var b=this._getCenter();if(b){var a=b.lat();b=b.lng();var c=this._getZoom();this.recordArray.push([a,b,c])}};this.play=function(b){if(!(b<1)&&!(b>this.recordArray.length-1)){b=this.recordArray[b];var a=new khtml.maplib.LatLng(b[0],b[1]);this.moveY=this.moveX=0;this._setCenter3(a,b[2])}};this.layerDrawLastFrame=null;this.doTheOverlays=!0;this.finalDraw=!1;this.moveDelayedY=
this.moveDelayedX=this.layerOldZoom=0;this.layerTimer=new this.myTimer(300);this.layer=function(b,a,c,e,g,d){this.stopRenderOverlays();d||(d=this._getZoom());var o=this.wheelSpeedConfig.digizoom?Math.floor(d):Math.round(d);this.layerDrawLastFrame&&window.clearTimeout(this.layerDrawLastFrame);if(this.layerTimer.isTimeRunning()||this.finalDraw==!1){var p=this,w=function(){if(o==p.visibleZoom)p.finalDraw=!0;p.layer(b,a,c,e,g,d)};this.visibleZoom=parseInt(this.visibleZoom);this.visibleZoom=parseInt(this.visibleZoom);
if(!p.finalDraw)this.layerDrawLastFrame=window.setTimeout(w,100);if(this.layerTimer.isTimeRunning()){this.moveDelayedX=e;this.moveDelayedY=g;return}}this.layerTimer.start();for(w=this.moveDelayedY=this.moveDelayedX=0;w<22;w++)if(this.layers[w])this.layers[w].layerDiv.style.visibility="hidden";o=this.wheelSpeedConfig.digizoom?Math.floor(d):Math.round(d);if(this.layerOldZoom>d&&!this.finalDraw&&this.layers[o]&&!this.layers[o].loadComplete)this.visibleZoom=o+1;this.intZoom=o;if(o>this.tileSource.maxzoom)o=
this.tileSource.maxzoom;if(!this.visibleZoom)this.oldIntZoom=this.visibleZoom=o;this.faktor=Math.pow(2,o);this.sc=Math.pow(2,d-o);this.loadingZoomLevel=o;if(this.visibleZoom10&&!this.finalDraw?!1:!0):this._hideOverlays();p=this;this.layerBlockTimeout&&clearTimeout(this.layerBlockTimeout);this.layerBlockTimeout=window.setTimeout(function(){p.layerTimer.reset()},20);this.finalDraw=!1};this.draw=function(a,e,g,k,l,n,o,p){this.framesCounter++;var w=this;window.setTimeout(function(){w.framesCounter--},1E3);var u=Math.pow(2,n);if(this.layers[n])t=this.layers[n].layerDiv,x=d(e)-this.layers[n].startLat,g-=this.layers[n].startLng;else{x=c(e,g,n);
this.layers[n]=[];this.layers[n].startTileX=x[0];this.layers[n].startTileY=x[1];this.layers[n].startLat=d(e);this.layers[n].startLng=g;this.layers[n].images={};var t=document.createElement("div");t.setAttribute("zoomlevel",n);t.style.position="absolute";x=a.childNodes;a=!1;for(g=x.length-1;g>=0;g--)e=x.item(g),e.getAttribute("zoomlevel")=u)){var F=p(D,B,n);z=F+"-"+z+"-"+q;minsc=this.wheelSpeedConfig.digizoom?1:0.5;if(this.layers[n].images[z]==null&&C>=minsc){q=document.createElement("img");q.style.visibility="hidden";q.style.position="absolute";q.style.padding="0px";q.style.margin="0px";q.style.borderWidth=
"0px";q.style.left=g*this.tileW+"px";q.style.top=A*this.tileH+"px";q.style.width=this.tileW+"px";q.style.height=this.tileH+"px";if(this.tileSource.opacity)q.style.opacity=this.tileSource.opacity;t.childNodes.length>0?t.insertBefore(q,t.childNodes.item(0)):t.appendChild(q);this.layers[n].images[z]={};this.layers[n].images[z].img=q;this.layers[n].images[z].array=[];this.layers[n].images[z].array.push(q);this.layers[n].loadComplete=!1;for(ov in this.tileOverlays){var G=this.tileOverlays[ov],E=q.cloneNode(!0);
G=G.src(D,B,n);E.setAttribute("overlay",ov);khtml.maplib.base.helpers.eventAttach(E,"load",this._imgLoaded,this,!1);t.appendChild(E);E.setAttribute("src",G);this.layers[n].images[z].array.push(E)}khtml.maplib.base.helpers.eventAttach(q,"load",this._imgLoaded,this,!1);khtml.maplib.base.helpers.eventAttach(q,"error",this._imgError,this,!1);q.setAttribute("src",F)}if(!this.css3d&&this.layers[n].images[z]){D=this.layers[n].images[z].array;for(B=0;B0){b.style.opacity=a;b.style.filter="alpha( opacity="+a*100+" )";var c=this;this.fadeOutTimeout=setTimeout(function(){c._fadeOut(b,a-0.2)},40)}else b.style.visibility="hidden"};this._hideLayer=function(b){if(this.intZoom!=b&&this.layers[b])this.layers[b].layerDiv.style.opacity=1,this.layers[b].layerDiv.style.filter="alpha(opacity=100)",this._fadeOut(this.layers[b].layerDiv,1);if(this.layers[b])for(var a in this.layers[b].images)if(this.layers[b].images[a]&&this.layers[b].images[a].img&&
this.layers[b].images[a].img.getAttribute("loaded")!="yes"&&b!=this.intZoom){for(var c=this.layers[b].images[a].array,e=0;e0;)this.layers.pop();this.redraw()}};var d=function(b){return 180/Math.PI*Math.log(Math.tan(Math.PI/4+b*(Math.PI/180)/2))},b=function(b){return 180/
Math.PI*(2*Math.atan(Math.exp(b*Math.PI/180))-Math.PI/2)};this._imgLoadInfo=function(b,a){if(!this.loadInfoDiv)this.loadInfoDiv=document.createElement("div"),this.loadInfoDiv.style.position="absolute",this.loadInfoDiv.style.top="0px",this.loadInfoDiv.style.right="0px",this.loadInfoDiv.style.backgroundColor="white",this.loadInfoDiv.style.border="1px solid gray",this.loadInfoDiv.style.fontSize="10px",this.map.parentNode.appendChild(this.loadInfoDiv);if(a==0)this.loadInfoDiv.style.display="none";else{for(this.loadInfoDiv.style.display=
"";this.loadInfoDiv.firstChild;)this.loadInfoDiv.removeChild(this.loadInfoDiv.firstChild);this.loadInfoDiv.appendChild(document.createTextNode(a+" images to load"))}};this.copyrightdiv=null;this._copyright=function(){if(this.copyrightdiv==null)this.copyrightdiv=document.createElement("div"),this.overlayDiv.appendChild(this.copyrightdiv);for(;this.copyrightdiv.firstChild;)this.copyrightdiv.removeChild(this.copyrightdiv.firstChild);var b=document.createElement("img"),a=document.createElement("a");a.setAttribute("href",
"http://maplib.khtml.org");a.setAttribute("target","_blank");b.setAttribute("src","http://maplib.khtml.org/favicon.png");b.style.border="0px solid black";b.style.position="absolute";b.style.backgroundColor="transparent";b.style.margin="0px";b.style.padding="0px";var c=this.size.height-26;b.style.top=c+"px";b.style.left="3px";b.style.width="24px";b.style.height="24px";a.appendChild(b);this.copyrightdiv.appendChild(a);b=document.createElement("a");b.appendChild(document.createTextNode("openstreetmap"));
b.style.position="absolute";b.style.top=c+2+"px";b.style.left="28px";b.style.textDecoration="none";b.style.color="gray";b.setAttribute("href","http://www.openstreetmap.org/copyright");this.copyrightdiv.appendChild(b)};this.internetExplorer=!1;if(navigator.userAgent.indexOf("MSIE")!=-1)this.internetExplorer=!0;if(navigator.userAgent.indexOf("Android")!=-1){var e=this;setInterval(function(){e.layerTimer.reset()},300)}this.position={};this.tiles({maxzoom:18,minzoom:1,src:function(b,a,c){switch((b+a)%
3){case 0:var e="a";break;case 1:e="b";break;case 2:e="c";break;default:e="f"}return"http://"+e+".tile.openstreetmap.org/"+c+"/"+b+"/"+a+".png"},copyright:"osm"});this.wheelSpeedConfig=[];this.wheelSpeedConfig.acceleration=2;this.wheelSpeedConfig.maxSpeed=2;this.wheelSpeedConfig.animate=!1;navigator.userAgent.indexOf("AppleWebKit")!=-1&&(this.wheelSpeedConfig.animate=!0);navigator.userAgent.indexOf("Opera")!=-1&&(this.wheelSpeedConfig.animate=!1);this.wheelSpeedConfig.animate=!1;this.wheelSpeedConfig.digizoom=
!0;this.wheelSpeedConfig.zoomAnimationSlowdown=0.02;this.wheelSpeedConfig.animationFPS=50;this.wheelSpeedConfig.moveAnimateDesktop=!0;this.wheelSpeedConfig.rectShiftAnimate=!1;this.wheelSpeedConfig.rectShiftAnimationTime=500;this.wheelSpeedConfig.animateMinSpeed=0.4;this.wheelSpeedConfig.animateMaxSpeed=200;this.wheelSpeedConfig.moveAnimationSlowdown=0.4;this.framesCounter=this.wheelEventCounter=0;this.mapParent=a;khtml.maplib.base.helpers.setCursor(this.mapParent,"grab");this.clone=a.cloneNode(!0);
this.clone=document.createElement("div");this.clone.removeAttribute("id");a.firstChild?a.insertBefore(this.clone,a.firstChild):a.appendChild(this.clone);this.map=document.createElement("div");this.map.style.position="relative";this.clone.appendChild(this.map);this.overlayDiv=document.createElement("div");this.overlayDiv.style.position="absolute";this.clone.appendChild(this.overlayDiv);this._setMapPosition();this.overlays=[];if(khtml.maplib.overlay.GeoJson){var g=new khtml.maplib.overlay.GeoJson;this.addOverlay(g);
this.featureCollection=g.featureCollection}this.distanceMeasuring="no";this.measureLine=this.moveMarker=null;this.moveAnimationMobile=!0;this.moveAnimationBlocked=this.moveAnimationDesktop=!1;this.lastMouseX=this.width/2;this.lastMouseY=this.height/2;this.layers=[];this.intZoom=this.oldVisibleZoom=this.visibleZoom=null;this.lastMoveTime=this.lastMoveY=this.lastMoveX=this.moveY=this.moveX=0;this.zoomDeltaOld=1;this.startMoveY=this.startMoveX=0;this.sc=1;this.blocked=!1;this.tileH=this.tileW=256;this.position.zoom=
1;this.movestarted=!1;this.mousedownTime=null;this._doubleclickTime=400;this.mousedownTime2=null;this._doubleclickTime2=500;this.zoomOutTime=1E3;this.zoomOutSpeed=0.01;this.zoomOutInterval=null;this.zoomOutStarted=!1;this.zoomSpeedTimer=null;this.zoomAcceleration=1;this.css3d=!1;if(navigator.userAgent.indexOf("iPhone OS")!=-1)this.css3d=!0;if(navigator.userAgent.indexOf("iPad")!=-1)this.css3d=!1;if(navigator.userAgent.indexOf("Safari")!=-1)this.css3d=navigator.userAgent.indexOf("Mac")!=-1?!1:!0;if(navigator.userAgent.indexOf("iPhone OS")!=
-1)this.css3d=!0;if(navigator.userAgent.indexOf("Android")!=-1)this.css3d=!1;this.internetExplorer?(g=a,navigator.userAgent.indexOf("Windows Phone OS")!=-1&&khtml.maplib.base.helpers.eventAttach(g,"mouseup",this._mouseupIE,this,!1)):g=window;khtml.maplib.base.helpers.eventAttach(window,"resize",this._setMapPosition,this,!1);navigator.userAgent.indexOf("Konqueror")!=-1&&(g=a);khtml.maplib.base.helpers.eventAttach(a,"touchstart",this._start,this,!1);khtml.maplib.base.helpers.eventAttach(a,"touchmove",
this._move,this,!1);khtml.maplib.base.helpers.eventAttach(a,"touchend",this._end,this,!1);khtml.maplib.base.helpers.eventAttach(g,"mousemove",this._mousemove,this,!1);khtml.maplib.base.helpers.eventAttach(a,"mousedown",this._mousedown,this,!1);khtml.maplib.base.helpers.eventAttach(g,"mouseup",this._mouseup,this,!0);khtml.maplib.base.helpers.eventAttach(g,"orientationchange",this.reSize,this,!1);khtml.maplib.base.helpers.eventAttach(a,"DOMMouseScroll",this._mousewheel,this,!1);khtml.maplib.base.helpers.eventAttach(a,
"dblclick",this._doubleclick,this,!1);khtml.maplib.base.helpers.eventAttach(g,"keydown",this._shiftkeydown,this,!1);khtml.maplib.base.helpers.eventAttach(g,"keyup",this._shiftkeyup,this,!1);khtml.maplib.base.helpers.eventAttach(a,"contextmenu",function(b){b.preventDefault()},this,!1)};khtml.maplib.geometry.Bounds=function(a,c){this.enlarge=function(b){b.lng()>this.southwest.lng()&&b.lng()>this.northeast.lng()&&this.northeast.lng(b.lng());b.lng()this.southwest.lat()&&b.lat()>this.northeast.lat()&&this.northeast.lat(b.lat());b.lat()b)var d=b;f<=b&&(d=f);return origZoom+Math.log(d)/Math.log(2)};this.getDistance=function(){return this.distance(this.southwest.lat(),this.southwest.lng(),this.northeast.lat(),this.northeast.lng())};this.getInnerRadius=function(){var b=this.distance(this.center.lat(),this.southwest.lng(),this.center.lat(),this.northeast.lng()),a=this.distance(this.southwest.lat(),this.center.lng(),this.northeast.lat(),this.center.lng());return b>a?a/2:b/
2};this.distance=function(b,a,c,f){b=b*Math.PI/180;c=c*Math.PI/180;return Math.acos(Math.sin(b)*Math.sin(c)+Math.cos(b)*Math.cos(c)*Math.cos(f*Math.PI/180-a*Math.PI/180))*180/Math.PI/360*4E7};this.intersects=function(b){if(!(b instanceof khtml.maplib.geometry.Bounds))return khtml.maplib.base.Log.warn('Bounds.intersects(): Illegal argument. Has to be "khtml.maplib.geometry.Bounds"!'),!1;var a=Math.min(this.sw().lat(),this.ne().lat()),c=Math.max(this.sw().lat(),this.ne().lat()),f=Math.min(this.sw().lng(),
this.ne().lng()),d=Math.max(this.sw().lng(),this.ne().lng()),h=[];h.push(b.ne());h.push(b.se());h.push(b.sw());h.push(b.nw());for(b=0;b=a&&k.lat()<=c;k=k.lng()>=f&&k.lng()<=d;if(l&&k)return!0}return!1};this.createBoundsFrom2Points=function(b,a){var c=new khtml.maplib.LatLng(Math.min(b.lat(),a.lat()),Math.min(b.lng(),a.lng())),f=new khtml.maplib.LatLng(Math.max(b.lat(),a.lat()),Math.max(b.lng(),a.lng()));return{sw:c,ne:f}};var d=this.createBoundsFrom2Points(a,c);
this.southwest=d.sw;this.northeast=d.ne;this.center=new khtml.maplib.LatLng((this.southwest.lat()+this.northeast.lat())/2,(this.southwest.lng()+this.northeast.lng())/2)};khtml.maplib.geometry.LatLng=function(a,c){this.callbackFunctions=[];this.addCallbackFunction=function(a){typeof a=="function"&&this.callbackFunctions.push(a)};this.removeCallbackFunction=function(a){for(var b=0;bc&&(c=k);kd&&(d=h);hc&&(c=k),kd&&(d=h),hc&&(c=h.ne().lat()),h.ne().lng()>d&&(d=h.ne().lng()));b=new khtml.maplib.LatLng(a,
f);c=new khtml.maplib.LatLng(c,d);return new khtml.maplib.geometry.Bounds(b,c)};this.render=function(){if(d.documentElement){if(!d.parentNode)d.parentNode=d.featureCollection;if(khtml.maplib.base.helpers.overlaps(d.documentElement.map.bounds(),d.bbox))switch(d.style.display="",d.documentElement.backend){case "svg":d.renderSVG(d);break;case "vml":d.renderVML(d);break;case "canvas":d.renderCanvas(d);break;default:console&&console.log&&console.log("backend unknown",d.parentNode.backend)}else d.style.display=
"none";d.geometry.type=="Point"&&d.renderMarker(d.parentNode.element)}};this.renderMarker=function(){if(!this.mmarker){if(!a.marker)a.marker={};this.marker=a.marker;this.mmarker=new khtml.maplib.overlay.Marker({position:this.geometry.coordinates,map:this.documentElement.map,title:a.title,icon:a.marker.icon,shadow:a.marker.shadow,draggable:a.draggable,raiseOnDrag:a.raiseOnDrag});if(a.marker.infobox)this.mmarker.box=new khtml.maplib.overlay.InfoWindow({content:a.marker.infobox}),this.mmarker.attachEvent("click",
function(){this.box.open(this.mapObj,this)})}};old=null;this.doSVGPath=function(b,a,c){var f=0,d=0,h=1,k=1;if(b.documentElement.element.finished&&b.documentElement.element&&b.documentElement.element.topright)f=b.documentElement.element.topright.y,d=b.documentElement.element.bottomleft.x,k=b.documentElement.element.bottomleft.y-f,h=(b.documentElement.element.topright.x-d)/b.documentElement.map.size.width,k/=b.documentElement.map.size.height,old=f;for(var l="",n=0;n0&&h>0))a.globalCompositeOperation="destination-over";for(h=0;h0?(this.firstChild=this.features[0],this.lastChild=this.features[this.features.length-1]):this.lastChild=this.firstChild=null;this.documentElement.backend=="canvas"&&this.documentElement.render(!0)}};this._removeMarkers=function(b){if(b.mmarker)b.mmarker.destroy();else if(b.type=="FeatureCollection")for(var a=0;a20&&window.clearInterval(this.markerRaiseInterval)};this._dropMarker=function(){isNaN(this.i)?this.i=0:this.i>=5?(this.i-=5,this.dy-=5,this.shadow&&
(this.shadow.dx+=3.75,this.shadow.dy-=3.75),this.render()):window.clearInterval(this.markerDropInterval)};var c=1,d=1;this._mousemoveMap=function(){var b=this;this.mapObj.latlngToXY(this.position).xthis.mapObj.size.height-this.mapObj.size.height/10?(window.clearInterval(this.mapmoveInterval),d=(1-(this.mapObj.size.height-this.mapObj.latlngToXY(this.position).y)/(this.mapObj.size.height/10))*10,this.mapmoveInterval=window.setInterval(function(){b.mapObj.moveXY(c,-d)},10)):(window.clearInterval(this.mapmoveInterval),this.mapmoveInterval=window.setInterval(function(){b.mapObj.moveXY(c,0)},10))):this.mapObj.latlngToXY(this.position).x>
this.mapObj.size.width-this.mapObj.size.width/10?(c=(1-(this.mapObj.size.width-this.mapObj.latlngToXY(this.position).x)/(this.mapObj.size.width/10))*10,this.mapObj.latlngToXY(this.position).ythis.mapObj.size.height-this.mapObj.size.height/
10?(window.clearInterval(this.mapmoveInterval),d=(1-(this.mapObj.size.height-this.mapObj.latlngToXY(this.position).y)/(this.mapObj.size.height/10))*10,this.mapmoveInterval=window.setInterval(function(){b.mapObj.moveXY(-c,-d)},10)):(window.clearInterval(this.mapmoveInterval),this.mapmoveInterval=window.setInterval(function(){b.mapObj.moveXY(-c,0)},10))):this.mapObj.latlngToXY(this.position).ythis.mapObj.size.height-this.mapObj.size.height/10?(window.clearInterval(this.mapmoveInterval),d=(1-(this.mapObj.size.height-this.mapObj.latlngToXY(this.position).y)/(this.mapObj.size.height/10))*10,this.mapmoveInterval=window.setInterval(function(){b.mapObj.moveXY(0,-d)},10)):(window.clearInterval(this.mapmoveInterval),d=c=1)};this.makeMoveable=function(){this.MarkerOptions.shape?
(khtml.maplib.base.helpers.eventAttach(this.area,"mousedown",this._mousedown,this,!1),khtml.maplib.base.helpers.eventAttach(this.area,"touchstart",this._touchstart,this,!1)):(khtml.maplib.base.helpers.eventAttach(this.marker,"mousedown",this._mousedown,this,!1),khtml.maplib.base.helpers.eventAttach(this.marker,"touchstart",this._touchstart,this,!1));this.MarkerOptions.draggable=!0};this.clickDetectY=this.clickDetectX=-1;this._touchclickdetectstart=function(b){if(b.touches.length==1)this.clickDetectY=
this.clickDetectX=-1,this.clicked=!0};this._touchclickdetectmove=function(b){if(b.touches.length==1&&(this.clickDetectX=b.touches[0].pageX,this.clickDetectY=b.touches[0].pageY,this.MarkerOptions.draggable))b.stopPropagation?b.stopPropagation():window.event.cancelBubble=!0};this._touchclickdetectstop=function(b){if(b.touches.length==0&&this.clickDetectX==-1&&this.clickDetectY==-1)this.originalClickFunction(),this.clicked=!1};this._mouseclickdetectstart=function(b){this.leftclick=!1;if(!b)b=window.event;
if(b.which)this.leftclick=b.which==1;else if(b.button)this.leftclick=b.button==0||b.button==1};this._mouseclickdetectmove=function(){this.leftclick=!1};this._mouseclickdetectstop=function(){this.leftclick&&this.originalClickFunction()};this.attachEvent=function(b,a,c,e){c||(c=this);e||(e=!1);if(navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/iPad/i)){if(b=="click")this.originalClickFunction=a,this.MarkerOptions.shape?(khtml.maplib.base.helpers.eventAttach(this.area,
"touchstart",this._touchclickdetectstart,c,e),khtml.maplib.base.helpers.eventAttach(this.area,"touchmove",this._touchclickdetectmove,c,e),khtml.maplib.base.helpers.eventAttach(this.area,"touchend",this._touchclickdetectstop,c,e)):(khtml.maplib.base.helpers.eventAttach(this.marker,"touchstart",this._touchclickdetectstart,c,e),khtml.maplib.base.helpers.eventAttach(this.marker,"touchmove",this._touchclickdetectmove,c,e),khtml.maplib.base.helpers.eventAttach(this.marker,"touchend",this._touchclickdetectstop,
c,e))}else switch(b){case "click":this.originalClickFunction=a;this.MarkerOptions.shape?(khtml.maplib.base.helpers.eventAttach(this.area,"mousedown",this._mouseclickdetectstart,c,e),khtml.maplib.base.helpers.eventAttach(this.area,"mousemove",this._mouseclickdetectmove,c,e),khtml.maplib.base.helpers.eventAttach(this.area,"mouseup",this._mouseclickdetectstop,c,e)):(khtml.maplib.base.helpers.eventAttach(this.marker,"mousedown",this._mouseclickdetectstart,c,e),khtml.maplib.base.helpers.eventAttach(this.marker,
"mousemove",this._mouseclickdetectmove,c,e),khtml.maplib.base.helpers.eventAttach(this.marker,"mouseup",this._mouseclickdetectstop,c,e));break;default:khtml.maplib.base.helpers.eventAttach(this.marker,b,a,c,e)}};this.init=function(b){this.owner=b;this.mapObj=b instanceof khtml.maplib.base.Map?b:b.map;this.x=this.mapObj.latlngToXY(this.position).x;this.y=this.mapObj.latlngToXY(this.position).y;if(!this.owner.overlayDiv.markerDiv)this.owner.overlayDiv.markerDiv=document.createElement("div"),this.owner.overlayDiv.appendChild(this.owner.overlayDiv.markerDiv),
this.owner.overlayDiv.markerDiv.setAttribute("id","markerDiv");if(this.shadow&&!this.owner.overlayDiv.shadowDiv)this.owner.overlayDiv.shadowDiv=document.createElement("div"),this.owner.overlayDiv.insertBefore(this.owner.overlayDiv.shadowDiv,this.owner.overlayDiv.markerDiv),this.owner.overlayDiv.shadowDiv.setAttribute("id","shadowDiv");this.owner.overlayDiv.markerDiv.appendChild(this.marker);this.shadow&&this.owner.overlayDiv.shadowDiv.appendChild(this.shadow);this.MarkerOptions.draggable==!0?this.makeMoveable():
(khtml.maplib.base.helpers.eventAttach(this.marker,"mousedown",function(){if(!this.MarkerOptions.draggable)this.clicked=!0},this,!1),khtml.maplib.base.helpers.eventAttach(this.marker,"mousemove",function(){this.MarkerOptions.draggable||(this.clicked==!0?this._setCursor("grabbing"):this._setCursor("pointer"))},this,!1),b=navigator.userAgent.indexOf("MSIE")!=-1?this.mapObj.mapParent:window,khtml.maplib.base.helpers.eventAttach(b,"mouseup",function(){if(!this.MarkerOptions.draggable)this.clicked=!1,
this._setCursor("pointer")},this,!1))};this.render=function(){if(this.marker&&this.position&&!isNaN(this.position.lat())&&!isNaN(this.position.lng())){if(this.moving)var b=this.x,a=this.y;else a=this.mapObj.latlngToXY(this.position),b=a.x,a=a.y,this.x=b,this.y=a;if((b<-this.width||a<-this.height||b>this.mapObj.size.width+this.width||a>this.mapObj.size.height+this.height)&&!this.moving){if(this.marker.style.display="none",this.shadow)this.shadow.style.display="none"}else{this.marker.style.display=
"";this.marker.style.left=b-this.dx+"px";this.marker.style.top=a-this.dy+"px";if(this.shadow)this.shadow.style.display="",this.shadow.style.left=b-this.shadow.dx+"px",this.shadow.style.top=a-this.shadow.dy+"px";if(this.dragcross)this.dragcross.style.left=b-this.dragcross.dx+"px",this.dragcross.style.top=a-this.dragcross.dy+"px";if(!this.moving&&(this.marker.style.zIndex=this.mapObj.size.height+parseInt(a),this.shadow))this.shadow.style.zIndex=parseInt(a)}if(!this.owner.overlayDiv.markerDiv)this.owner.overlayDiv.markerDiv=
document.createElement("div"),this.owner.overlayDiv.appendChild(this.owner.overlayDiv.markerDiv),this.owner.overlayDiv.markerDiv.setAttribute("id","markerDiv");if(this.shadow&&!this.owner.overlayDiv.shadowDiv)this.owner.overlayDiv.shadowDiv=document.createElement("div"),this.owner.overlayDiv.insertBefore(this.owner.overlayDiv.shadowDiv,this.owner.overlayDiv.markerDiv),this.owner.overlayDiv.shadowDiv.setAttribute("id","shadowDiv");this.marker.parentNode||this.owner.overlayDiv.markerDiv.appendChild(this.marker);
this.shadow&&!this.shadow.parentNode&&this.owner.overlayDiv.shadowDiv.appendChild(this.shadow)}};this.nodeName=this.nodeType="Marker";this.geometry={};this.geometry.type="Point";this.type="Marker";this.constructor.number++;var b=document.createElement("div");b.style.position="absolute";this.marker=b;if(a){this.MarkerOptions=a;if(a.position)this.position=a.position,this.geometry.coordinates=a.position;if(a.icon){if((typeof a.icon=="string"||typeof a.icon=="object")&&!a.icon.url)a.icon.url=a.icon;typeof a.icon.url==
"object"&&(b.appendChild(a.icon.url),a.title&&b.setAttribute("title",a.title),this._setCursor("pointer"));if(typeof a.icon.url=="string"){var e=document.createElement("img");e.style.backgroundColor="transparent";e.style.padding="0px";e.style.margin="0px";e.setAttribute("src",a.icon.url);if(a.icon.origin){if(a.icon.origin.x)e.style.left=a.icon.origin.x;if(a.icon.origin.y)e.style.top=a.icon.origin.y}e.style.border=0;e.style.margin=0;e.style.padding=0;khtml.maplib.base.helpers.imageNotSelectable(e);
b.appendChild(e);a.shape&&navigator.userAgent.indexOf("MSIE")==-1&&navigator.userAgent.indexOf("iPhone")==-1&&navigator.userAgent.indexOf("iPad")==-1?(e.setAttribute("usemap","#shapemap"+this.constructor.number),e=document.createElement("map"),e.setAttribute("id","shapemap"+this.constructor.number),e.setAttribute("name","shapemap"+this.constructor.number),g=document.createElement("area"),g.setAttribute("shape",a.shape.type),g.setAttribute("coords",a.shape.coord),a.title&&g.setAttribute("title",a.title),
g.style.cursor="pointer",g.style.display="block",e.appendChild(g),b.appendChild(e),this.area=g):(this.area=this.MarkerOptions.shape=null,a.title&&e.setAttribute("title",a.title),this._setCursor("pointer"))}a.icon.anchor?(this.dy=a.icon.anchor.y?Math.abs(parseInt(a.icon.anchor.y)):0,this.dx=a.icon.anchor.x?Math.abs(parseInt(a.icon.anchor.x)):0):this.dy=this.dx=0;a.icon.size?(a.icon.size.width?(this.width=Math.abs(parseInt(a.icon.size.width)),b.style.width=this.width+"px",b.style.overflow="hidden"):
b.style.width="auto",a.icon.size.height?(this.height=Math.abs(parseInt(a.icon.size.height)),b.style.height=this.height+"px",b.style.overflow="hidden"):b.style.height="auto"):(b.style.width="auto",b.style.height="auto");if(a.shadow){g=document.createElement("div");g.style.position="absolute";this.shadow=g;if((typeof a.shadow=="string"||typeof a.shadow=="object")&&!a.shadow.url)a.shadow.url=a.shadow;if(a.shadow.url){this.shadow.dy=a.shadow.anchor.y?Math.abs(parseInt(a.shadow.anchor.y)):0;this.shadow.dx=
a.shadow.anchor.x?Math.abs(parseInt(a.shadow.anchor.x)):0;if(a.shadow.size.width)g.style.width=Math.abs(parseInt(a.shadow.size.width))+"px",g.style.overflow="hidden";if(a.shadow.size.height)g.style.height=Math.abs(parseInt(a.shadow.size.height))+"px",g.style.overflow="hidden";if(typeof a.shadow.url=="object")g.appendChild(a.shadow.url);else if(typeof a.shadow.url=="string")e=document.createElement("img"),e.style.backgroundColor="transparent",e.style.padding="0px",e.style.margin="0px",e.setAttribute("src",
a.shadow.url),e.style.position="absolute",e.style.left=a.shadow.origin.x?a.shadow.origin.x+"px":0,e.style.top=a.shadow.origin.y?a.shadow.origin.y+"px":0,khtml.maplib.base.helpers.imageNotSelectable(e),g.appendChild(e);this.shadow.dx=this.dx;this.shadow.dy=this.dy}}}else{g=document.createElement("div");g.style.position="absolute";this.shadow=g;navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=7?(e=document.createElement("div"),
e.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',src='"+standardmarker_shadow+"')",e.style.width="100%",e.style.height="100%"):(e=document.createElement("img"),e.style.backgroundColor="transparent",e.style.padding="0px",e.style.margin="0px",e.setAttribute("src",standardmarker_shadow));e.style.position="absolute";e.style.left="0px";e.style.top="0px";khtml.maplib.base.helpers.imageNotSelectable(e);g.style.width="42px";g.style.height="36px";g.appendChild(e);this.shadow.dx=
2;this.shadow.dy=36;navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=7?(e=document.createElement("div"),e.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',src='"+standardmarker_image+"')",e.style.width="100%",e.style.height="100%"):(e=document.createElement("img"),e.style.backgroundColor="transparent",e.style.padding="0px",e.style.margin="0px",e.setAttribute("src",standardmarker_image));e.style.border=
0;e.style.margin=0;e.style.padding=0;khtml.maplib.base.helpers.imageNotSelectable(e);navigator.userAgent.indexOf("MSIE")==-1?e.setAttribute("usemap","#shapemap"+this.constructor.number):a&&a.title&&e.setAttribute("title",a.title);b.style.width="20px";b.style.height="36px";b.appendChild(e);if(navigator.userAgent.indexOf("MSIE")==-1&&navigator.userAgent.indexOf("iPhone")==-1&&navigator.userAgent.indexOf("iPad")==-1){e=document.createElement("map");e.setAttribute("id","shapemap"+this.constructor.number);
e.setAttribute("name","shapemap"+this.constructor.number);var g=document.createElement("area");g.setAttribute("href","javascript:void(0)");g.setAttribute("shape",standardmarker_shape.type);g.setAttribute("coords",standardmarker_shape.coord);a&&a.title&&g.setAttribute("title",a.title);g.style.cursor="pointer";g.style.display="block";e.appendChild(g);b.appendChild(e);this.area=g;this.MarkerOptions.shape={}}else this.area=this.MarkerOptions.shape=null,this._setCursor("pointer");this.dx=2;this.dy=36;
b.style.width="20px";b.style.height="36px"}a.map&&a.map.addOverlay(this)}else this.MarkerOptions={},this.MarkerOptions.draggable=!1,this.dy=this.dx=0,this._setCursor("pointer")};khtml.maplib.overlay.Marker.number=0;
navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=7?(dragcross_image=khtml.maplib.standardimagepath+"./dragcross_nor.png",standardmarker_image=khtml.maplib.standardimagepath+"./standardmarker_nor.png",standardmarker_shadow=khtml.maplib.standardimagepath+"./standardmarkershadow_nor.png"):(dragcross_image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxMTAxQzYzNzA4MjI2ODExOERCQkMxRjgyMEJGMzlFNSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxNjVGMDcwMEMxMDAxMUUwOEM3M0MzRjlBNDlCNDU5OCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxNjVGMDZGRkMxMDAxMUUwOEM3M0MzRjlBNDlCNDU5OCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExMDFDNjM3MDgyMjY4MTE4REJCQzFGODIwQkYzOUU1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExMDFDNjM3MDgyMjY4MTE4REJCQzFGODIwQkYzOUU1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/o5aeQAAAThJREFUeNpi8fX1ZaAEMEFpUSCWJkGfChDzwwzgBOItQHwMiHWJ0GwPxCeBeCkQM8MM+A7EclBDnPBoTgDiXUAsBNIM0gsy4B0QuwHxMiDmAeLtUIXooB2I5wMxGxB3ALEnEH+BhcEvII6GSrBBFTZC5UAuXA3EFVB1iUBcCTOVBc0WkMR9IJ4GxHVArAnFOlCXBgHxQWQNLFicOguIHwHxOiAOhYrdA2J3IL6DKxrRAQ+a3A+o8xmIMaAC6md2KH0FiLVwRTOyAbDAa0cKjzAgtoH6WxpqiAc2AySAeC80+r5D/d4BlfsIjeYFUK9tRI5mkAGK0JRlAw08ByBeg+ZSWPR1oLsUZMBTaOieAmJzKI0LVEIN+gtNueBoBJnuDxX8TkReAHnlJhCfRU4HX0jMxcdhDIAAAwCWaUA1qBZjTAAAAABJRU5ErkJggg==",
standardmarker_image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAkCAYAAACJ8xqgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA69pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wUmlnaHRzPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvcmlnaHRzLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcFJpZ2h0czpNYXJrZWQ9IkZhbHNlIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InV1aWQ6RkNCNEU4MzM0OTA4REYxMUE2MURCMjI3RURERjU5RjgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTY1RjA3MDRDMTAwMTFFMDhDNzNDM0Y5QTQ5QjQ1OTgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTY1RjA3MDNDMTAwMTFFMDhDNzNDM0Y5QTQ5QjQ1OTgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0RTM3MEU5QkUxMjM2ODExOERCQkMxRjgyMEJGMzlFNSIgc3RSZWY6ZG9jdW1lbnRJRD0idXVpZDpGQ0I0RTgzMzQ5MDhERjExQTYxREIyMjdFRERGNTlGOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PthdB7IAAAZnSURBVHjalJZZbBxFGse/qu7pYy4P8cGEhERcMSTEUXAEGAVpV7yghQeQEIeMEJHyggAhAS+88AZCIISQFh6QInjgFCAedjm0SChCXhKcxCQmEEJiB40dZ/B4ZuyZnumruot/9XiC1wmLKelT9VRX/fr/HVU1TEqpEZEOs2CZZbMa1ar12b59N589dWqwUavlPccRvuuejYX4Joqi/7z27bcRXaQxAE30aVgetm6+VLrs6w8/3FMtl+/sz6abWdfReL1meK0m1Zx28IvjhvPNdoaRfCkm9vLfm3OOTyyBjf5YSoC5ZVjf+Oef33ZqYuLZazdtFINZo1fnGonKrxT8fIL8xTp5rRa5vk9VEdMRNy5NLTY51t1xc7M82QWqgRTMHvvkk5tOjo+/MDJ4VWqoJ91rcE48DIhXK6SLkIzQJxOm+oIIaCQVb9pRSOclsf9+k1u/veuyAurH9u/f8MPY2IsjW68RlxtammI4E4ZEv84RdxqkuW3SPJd0Zb5HWuDhYx5tYSK/PWcJuP8vQNd1gbT//fce37HlSm+zqduEr1NjieS5s0S1GlGzQeQ0ibsuMd8lHgTofSLPJ4n+ChkUNmXsgJN8JknKO889N/TT+Ph3Tw9vYYadYRzqCC5KqErA9RrFzSaJtkMBAK6IyMGcFqY5iLGn6bAUfekyfIUu008cPHjb5nz6DKvXr4obDZUlwkqSbQBbDhFAMdQlYwHCEKFaYkngkQQ81hBFXVKvkZmtBuJ23VlauvHyXMqMmsuwKExcYp4HUDsBkRAYDikGIIpiiqBQYG4oOYUCPcYLlmFUie3WMfHSbOBnIukRU64CwLGYIcMygYgOKBYkAAuhMAQwkowElAomk17nvk3cKuqo+rweCR4KP4HpAEgkhoURyQiwOAJIQTpKFCyAOh+9UijguvoY0xAKg7Iqy+WaiNpqcoCFQSgowLMPcGJqDMoCFHOQwDp9qKKjFAqlOib4pZJSVnt4bNqPrr1aj0jDSw2qONQReomJcRQlMVMKfcBc1SMjIVQGUuUH2w7PS3rKA+uAUvjpmXaYdsFQk9uAtAFpQWVbdPpWtGx47wHmJUB8EyYRQ5XLJa73KJZS+L0f+KcmTJNtk7Ko6oHFndkSigXUxViBZBKKBu52ekSNMKQqiM5l8nOYc+S18fGSAoLBnjjcDA712JpXQKokgg3vElN1rjKaQBPQ76aADcNqz1mZPjw/eX7roR3FwKOTzP5pnlKhg687gDoAOTGnFmAtTHDx24eFMOVmQ7fc2WxhCo+jw5XSaVo+WLvtjfm2Z8yT/uoVISv3ML0YQaIFHTrOYJkoksu6OJXTuXMlK6eUvbRrYeYjYp0zUQ+GhlYeuP80JiePzOYueavC2CVWLMxsu0Wm50bKFaxp1k27UU9ZJlwuA/YPwI6uBCQKIyHOD7hbtx54YO/e2w+++/aEVq2apdKMI1JWnUuJSSzkMv4qYPxNTB2/2BXAVw889tTT7OjhQ6Nl0y4Udt8aFTZvfL617fpNgmtXCs4HA01/5I9gq2OYtLlfzmSri0t3r9+4kQ5Ofs9i3TysxgfbDSrMz5FIp4lxltwici0KOee5RqNxnWWaZKfTNWQ8Af64Y5hqA0XsJkH/r10AdBxnyPM8u7qwQGEYTti6XlfjtXyB2nYaWQyom9E/Bd53//1GqVR6qK+vj2ZnZ3HC+x903/VqjBaGhsnpH8C94q8NmEql0rVa7W89PT2UzWZbUDrWfRcDsmha9N3wLdTK5cnG4WviwkoO5T9KShzHfYuLi8VcNqu22jTOyml8pVNOOMHVKd5MGXRs284EFuoGbT9xlCw8y25hd2GjDz7Ijx8/fq9t22xmZkaGQvzbtqzzGcAfgs4ewSHcSGdJZnIUGiZxHHOGum9WAwEy4e49fb29VJEyaFYqX6T03x0wTfOCeElszR927abkpgRvdCVQ0zQT7m5dX0RpcF5Bhg+tBIbq4l/9xwhWN9VuZ/8bw4f37GEnT568AYvMc+WyWnwgbdveqvhePK2rxhMgSoWdPn36roGBAVqs1yPXdd9aXWmZTIbW0hIgag73fH1kw4YNZNn22SAMv/TU5b6iWZa1duDU1JTactsWKhWEg70OWHhhAuTagWgjKGoX204vFouv1KrVCybu3LnzLwG39/f3H4PKj89MTwcX3VKcrwn4mwADAMJX5X8+GDAaAAAAAElFTkSuQmCC",
standardmarker_shadow="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAkCAYAAAD/yagrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGREJEQjUxMTUyMjQ2ODExOERCQkMxRjgyMEJGMzlFNSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxNjVGMDcwOEMxMDAxMUUwOEM3M0MzRjlBNDlCNDU5OCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxNjVGMDcwN0MxMDAxMUUwOEM3M0MzRjlBNDlCNDU5OCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZEQkRCNTExNTIyNDY4MTE4REJCQzFGODIwQkYzOUU1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZEQkRCNTExNTIyNDY4MTE4REJCQzFGODIwQkYzOUU1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+aE6NVAAAAhZJREFUeNrslutugkAQhVlQvGvTS9offf93a9PGajUIsrudjWeSyQYRAds0WZKTVSHycebMLMpaG/2HQwXQABpAA2gADaABNIAG0DagSqne/rNiVeK7PGyFTic8A/sEZZiEFGMdQAkkgQ1Jk0pSQTrisz1x9g+qBFhKGpHG0AhKARzjegtQB3cg7UjfWB208Um7gjKgg5mR5qQF1gl+HwpXlQfqHM1JW9IH6Z20cQ/ggw46upgCcEW6xzqDm6mIgZ9bmc8jHqYUrpYyr21BOYdjgD2QHkl3cHFYkce6RpL5teJc1BU0BqQDfCY9kZb4Lanp8KrDoPSc0Qxudh5PCrlzZX4lvQBy5JW47uB8lgDbIJtvpDXAjd/1gxZlH6JZVlgvQVoPUKOz96QvNNEnHC1wTdS19KpmgNuaQc4O5nBxB8g1Oj5DU5lzN74W1IqSOQemohkYiOF4mB/hFM9L1l4A6qoG6tpMRtx0DmcNYErcVO44Oa7PsB7ELnQR8NpmUiKfEzE3F4DcA5zdkdtj6YEZf1+vLF2LLVSJ7XGOLl+gGgUiwDnTZ140bBO4tqC+i0sxL9nFDZzMa8rY6j2yKagSe7h0MRZ7s9+tvb7YNgGNUVbOIruo4d62gYs3B41R6ikgOYu5yCJ3rb0V5CVQJZxcAlaJUZShefQtAZuCsptjnOc5WHgdHf01aCJecrXQrwGeA/0RYACGHUt80iKakgAAAABJRU5ErkJggg==");
standardmarker_shape={coord:[13,0,15,1,16,2,17,3,18,4,18,5,19,6,19,7,19,8,19,9,19,10,19,11,19,12,19,13,18,14,18,15,17,16,16,17,15,18,13,19,8,20,8,21,8,22,7,23,7,24,7,25,7,26,6,27,6,28,6,29,5,30,5,31,5,32,4,33,4,34,3,35,1,35,1,34,1,33,1,32,1,31,1,30,2,29,2,28,2,27,3,26,3,25,3,24,4,23,4,22,4,21,4,20,5,19,4,18,3,17,2,16,1,15,1,14,0,13,0,6,1,4,2,3,3,2,4,1,6,0,13,0],type:"poly"};khtml.maplib.overlay.InfoWindowOptions=function(a,c,d,b,e){if(a)this.content=a;if(e)this.position=e};
khtml.maplib.overlay.InfoWindow=function(a){this.infobox=document.createElement("div");this.infobox.style.position="absolute";this.infobox.style.left="-1000px";upperleftdiv=document.createElement("div");upperleftdiv.style.position="absolute";upperleftdiv.style.width="10px";upperleftdiv.style.height="10px";upperleftdiv.style.top=0;upperleftdiv.style.left=0;upperleftdiv.style.overflow="hidden";navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+
5))<=7?(upperleftimg=document.createElement("div"),upperleftimg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+corner_image+"')",upperleftimg.style.width="100%",upperleftimg.style.height="100%"):(upperleftimg=document.createElement("img"),upperleftimg.setAttribute("src",corner_image));upperleftimg.style.position="absolute";upperleftimg.style.top=0;upperleftimg.style.left=0;khtml.maplib.base.helpers.imageNotSelectable(upperleftimg);upperleftdiv.appendChild(upperleftimg);this.infobox.appendChild(upperleftdiv);
this.upperdiv=document.createElement("div");this.upperdiv.style.position="absolute";this.upperdiv.style.height="10px";this.upperdiv.style.left="10px";this.upperdiv.style.top=0;this.upperdiv.style.borderTop="1px solid gray";this.upperdiv.style.backgroundColor="white";this.infobox.appendChild(this.upperdiv);upperrightdiv=document.createElement("div");upperrightdiv.style.position="absolute";upperrightdiv.style.width="10px";upperrightdiv.style.height="10px";upperrightdiv.style.top=0;upperrightdiv.style.right=
0;upperrightdiv.style.overflow="hidden";navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=7?(upperrightimg=document.createElement("div"),upperrightimg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+corner_image+"')",upperrightimg.style.width="100%",upperrightimg.style.height="100%"):(upperrightimg=document.createElement("img"),upperrightimg.setAttribute("src",corner_image));upperrightimg.style.position=
"absolute";upperrightimg.style.top=0;upperrightimg.style.right=0;khtml.maplib.base.helpers.imageNotSelectable(upperrightimg);upperrightdiv.appendChild(upperrightimg);this.infobox.appendChild(upperrightdiv);this.leftdiv=document.createElement("div");this.leftdiv.style.position="absolute";this.leftdiv.style.width="10px";this.leftdiv.style.top="10px";this.leftdiv.style.left=0;this.leftdiv.style.borderLeft="1px solid gray";this.leftdiv.style.backgroundColor="white";this.infobox.appendChild(this.leftdiv);
lowerleftdiv=document.createElement("div");lowerleftdiv.style.position="absolute";lowerleftdiv.style.width="10px";lowerleftdiv.style.height="10px";lowerleftdiv.style.bottom=0;lowerleftdiv.style.left=0;lowerleftdiv.style.overflow="hidden";navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=7?(lowerleftimg=document.createElement("div"),lowerleftimg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+corner_image+
"')",lowerleftimg.style.width="100%",lowerleftimg.style.height="100%"):(lowerleftimg=document.createElement("img"),lowerleftimg.setAttribute("src",corner_image));lowerleftimg.style.position="absolute";lowerleftimg.style.bottom=0;lowerleftimg.style.left=0;khtml.maplib.base.helpers.imageNotSelectable(lowerleftimg);lowerleftdiv.appendChild(lowerleftimg);this.infobox.appendChild(lowerleftdiv);this.rightdiv=document.createElement("div");this.rightdiv.style.position="absolute";this.rightdiv.style.width=
"10px";this.rightdiv.style.top="10px";this.rightdiv.style.right=0;this.rightdiv.style.borderRight="1px solid gray";this.rightdiv.style.backgroundColor="white";this.infobox.appendChild(this.rightdiv);lowerrightdiv=document.createElement("div");lowerrightdiv.style.position="absolute";lowerrightdiv.style.width="10px";lowerrightdiv.style.height="10px";lowerrightdiv.style.bottom=0;lowerrightdiv.style.right=0;lowerrightdiv.style.overflow="hidden";navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+
5))<=7?(lowerrightimg=document.createElement("div"),lowerrightimg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+corner_image+"')",lowerrightimg.style.width="100%",lowerrightimg.style.height="100%"):(lowerrightimg=document.createElement("img"),lowerrightimg.setAttribute("src",corner_image));lowerrightimg.style.position="absolute";lowerrightimg.style.bottom=0;lowerrightimg.style.right=0;khtml.maplib.base.helpers.imageNotSelectable(lowerrightimg);lowerrightdiv.appendChild(lowerrightimg);
this.infobox.appendChild(lowerrightdiv);this.lowerdiv=document.createElement("div");this.lowerdiv.style.position="absolute";this.lowerdiv.style.height="10px";this.lowerdiv.style.left="10px";this.lowerdiv.style.bottom=0;this.lowerdiv.style.borderBottom="1px solid gray";this.lowerdiv.style.backgroundColor="white";this.infobox.appendChild(this.lowerdiv);khtml.maplib.base.helpers.setCursor(this.infobox,"default");this.infobox.content=document.createElement("div");this.infobox.content.style.position="absolute";
this.infobox.content.style.backgroundColor="white";if(a.content)this.infobox.content.innerHTML=a.content;this.infobox.appendChild(this.infobox.content);this.infobox.pointer=document.createElement("div");this.infobox.pointer.style.position="absolute";this.infobox.pointer.style.bottom="0";this.infobox.pointer.style.left="0";for(var c=0;c<10;c++){el=document.createElement("div");el.style.position="absolute";el.style.overflow="hidden";el.style.cursor="default";el.style.height=pointerheight/10+1+"px";
el.style.width=pointerwidth/2+4-pointerwidth/10/2*c+2+"px";el.style.bottom=-(c+1)*pointerheight/10+"px";el.style.left=pointerwidth/2-5*c-(10-c)/2+"px";if(navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=7){var d=document.createElement("div");d.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+pointer_image+"')";d.style.width="100%";d.style.height="100%"}else d=document.createElement("img"),d.setAttribute("src",
pointer_image);d.style.cursor="default";d.style.position="absolute";d.style.top=-c*pointerheight/10+"px";d.style.left=-pointerwidth/2+5*c+(10-c)/2+"px";d.style.zIndex=0;khtml.maplib.base.helpers.imageNotSelectable(d);el.appendChild(d);this.infobox.pointer.appendChild(el)}this.infobox.appendChild(this.infobox.pointer);this.closebutton=document.createElement("div");this.closebutton.style.position="absolute";navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/iPad/i)?
(this.closebutton.style.height="28px",this.closebutton.style.width="28px",this.closebutton.style.top="0px",this.closebutton.style.right="0px"):(this.closebutton.style.height="10px",this.closebutton.style.width="10px",this.closebutton.style.top="4px",this.closebutton.style.right="4px");this.closebutton.style.padding="0";this.closebutton.style.zIndex="10000";navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=7?(el=document.createElement("div"),
el.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+close_image+"')",el.style.width="100%",el.style.height="100%"):(el=document.createElement("img"),el.setAttribute("src",close_image));el.style.opacity=0.6;el.style.cursor="pointer";el.style.position="absolute";navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/iPad/i)?(el.style.width="20px",el.style.height="20px",el.style.top="4px",el.style.right="4px"):(el.style.width="10px",
el.style.height="10px",el.style.top=0,el.style.right=0);khtml.maplib.base.helpers.imageNotSelectable(el);el.setAttribute("onmouseover","javascript:this.style.opacity='1'");el.setAttribute("onmouseout","javascript:this.style.opacity='0.6'");this.closebutton.appendChild(el);this.infobox.appendChild(this.closebutton);khtml.maplib.base.helpers.eventAttach(this.closebutton,"click",function(){this.close()},this,!1);shadow={};this.shadow=document.createElement("div");this.shadow.style.position="absolute";
this.shadow.style.left="-1000px";this.shadow.upperleftdiv=document.createElement("div");this.shadow.upperleftdiv.style.position="absolute";this.shadow.upperleftdiv.style.width="30px";this.shadow.upperleftdiv.style.height="20px";this.shadow.upperleftdiv.style.top=0;this.shadow.upperleftdiv.style.overflow="hidden";shadow.upperleftimg=document.createElement("img");shadow.upperleftimg.style.position="absolute";shadow.upperleftimg.style.top=0;shadow.upperleftimg.style.left="-309px";navigator.userAgent.indexOf("MSIE")!=
-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=7?shadow.upperleftimg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+shadow_image+"')":shadow.upperleftimg.setAttribute("src",shadow_image);khtml.maplib.base.helpers.imageNotSelectable(shadow.upperleftimg);this.shadow.upperleftdiv.appendChild(shadow.upperleftimg);this.shadow.appendChild(this.shadow.upperleftdiv);this.shadow.upperrightdiv=document.createElement("div");this.shadow.upperrightdiv.style.position=
"absolute";this.shadow.upperrightdiv.style.width="30px";this.shadow.upperrightdiv.style.height="20px";this.shadow.upperrightdiv.style.top=0;this.shadow.upperrightdiv.style.right=0;this.shadow.upperrightdiv.style.overflow="hidden";shadow.upperrightimg=document.createElement("img");shadow.upperrightimg.style.position="absolute";shadow.upperrightimg.style.top=0;shadow.upperrightimg.style.right=0;navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+
5))<=7?shadow.upperrightimg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+shadow_image+"')":shadow.upperrightimg.setAttribute("src",shadow_image);khtml.maplib.base.helpers.imageNotSelectable(shadow.upperrightimg);this.shadow.upperrightdiv.appendChild(shadow.upperrightimg);this.shadow.appendChild(this.shadow.upperrightdiv);this.shadow.upperdiv=document.createElement("div");this.shadow.upperdiv.style.position="absolute";this.shadow.upperdiv.style.height=this.shadow.upperrightdiv.style.height;
this.shadow.upperdiv.style.top=this.shadow.upperleftdiv.style.top;this.shadow.upperdiv.style.overflow="hidden";shadow.upperimg=document.createElement("img");shadow.upperimg.style.position="absolute";shadow.upperimg.style.top=0;shadow.upperimg.style.right="-"+this.shadow.upperrightdiv.style.width;navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=7?shadow.upperimg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+
shadow_image+"')":shadow.upperimg.setAttribute("src",shadow_image);khtml.maplib.base.helpers.imageNotSelectable(shadow.upperimg);this.shadow.upperdiv.appendChild(shadow.upperimg);this.shadow.appendChild(this.shadow.upperdiv);this.shadow.lowerleftdiv=document.createElement("div");this.shadow.lowerleftdiv.style.position="absolute";this.shadow.lowerleftdiv.style.height="54px";this.shadow.lowerleftdiv.style.bottom=0;this.shadow.lowerleftdiv.style.left=0;this.shadow.lowerleftdiv.style.overflow="hidden";
shadow.lowerleftimg=document.createElement("img");shadow.lowerleftimg.style.position="absolute";shadow.lowerleftimg.style.bottom=0;shadow.lowerleftimg.style.left=0;navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=7?shadow.lowerleftimg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+shadow_image+"')":shadow.lowerleftimg.setAttribute("src",shadow_image);khtml.maplib.base.helpers.imageNotSelectable(shadow.lowerleftimg);
this.shadow.lowerleftdiv.appendChild(shadow.lowerleftimg);this.shadow.appendChild(this.shadow.lowerleftdiv);this.shadow.lowerrightdiv=document.createElement("div");this.shadow.lowerrightdiv.style.position="absolute";this.shadow.lowerrightdiv.style.height="54px";this.shadow.lowerrightdiv.style.bottom=0;this.shadow.lowerrightdiv.style.overflow="hidden";shadow.lowerrightimg=document.createElement("img");shadow.lowerrightimg.style.position="absolute";shadow.lowerrightimg.style.bottom=0;shadow.lowerrightimg.style.right=
"-300px";navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=7?shadow.lowerrightimg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+shadow_image+"')":shadow.lowerrightimg.setAttribute("src",shadow_image);khtml.maplib.base.helpers.imageNotSelectable(shadow.lowerrightimg);this.shadow.lowerrightdiv.appendChild(shadow.lowerrightimg);this.shadow.appendChild(this.shadow.lowerrightdiv);this.shadow.rightdiv=document.createElement("div");
this.shadow.rightdiv.style.position="absolute";this.shadow.rightdiv.style.top=this.shadow.upperrightdiv.style.height;this.shadow.rightdiv.style.right=0;this.shadow.rightdiv.style.overflow="hidden";shadow.rightimg=document.createElement("img");shadow.rightimg.style.position="absolute";shadow.rightimg.style.top="-"+this.shadow.upperrightdiv.style.height;shadow.rightimg.style.right=0;navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=
7?shadow.rightimg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+shadow_image+"')":shadow.rightimg.setAttribute("src",shadow_image);khtml.maplib.base.helpers.imageNotSelectable(shadow.rightimg);this.shadow.rightdiv.appendChild(shadow.rightimg);this.shadow.appendChild(this.shadow.rightdiv);this.shadow.leftdiv=document.createElement("div");this.shadow.leftdiv.style.position="absolute";this.shadow.leftdiv.style.top=this.shadow.upperleftdiv.style.height;this.shadow.leftdiv.style.left=
0;this.shadow.leftdiv.style.overflow="hidden";shadow.leftimg=document.createElement("img");shadow.leftimg.style.position="absolute";shadow.leftimg.style.bottom="-"+this.shadow.lowerleftdiv.style.height;shadow.leftimg.style.left=0;navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=7?shadow.leftimg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+shadow_image+"')":shadow.leftimg.setAttribute("src",shadow_image);
khtml.maplib.base.helpers.imageNotSelectable(shadow.leftimg);this.shadow.leftdiv.appendChild(shadow.leftimg);this.shadow.appendChild(this.shadow.leftdiv);this.shadow.middlediv=document.createElement("div");this.shadow.middlediv.style.position="absolute";this.shadow.middlediv.style.top=this.shadow.upperleftdiv.style.height;this.shadow.middlediv.style.overflow="hidden";shadow.middleimg=document.createElement("img");shadow.middleimg.style.position="absolute";shadow.middleimg.style.top="-"+this.shadow.upperleftdiv.style.height;
shadow.middleimg.style.left=parseInt(shadow.upperleftimg.style.left)-parseInt(this.shadow.upperleftdiv.style.height)+"px";navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=7?shadow.middleimg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+shadow_image+"')":shadow.middleimg.setAttribute("src",shadow_image);khtml.maplib.base.helpers.imageNotSelectable(shadow.middleimg);this.shadow.middlediv.appendChild(shadow.middleimg);
this.shadow.appendChild(this.shadow.middlediv);this.shadow.pointer=document.createElement("div");this.shadow.pointer.style.position="absolute";this.shadow.pointer.style.overflow="hidden";this.shadow.pointer.style.width="140px";this.shadow.pointer.style.height="54px";this.shadow.pointer.style.bottom=0;shadow.pointerimg=document.createElement("img");shadow.pointerimg.style.position="absolute";shadow.pointerimg.style.bottom=0;shadow.pointerimg.style.left="-255px";navigator.userAgent.indexOf("MSIE")!=
-1&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))<=7?shadow.pointerimg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+shadow_image+"')":shadow.pointerimg.setAttribute("src",shadow_image);khtml.maplib.base.helpers.imageNotSelectable(shadow.pointerimg);this.shadow.pointer.appendChild(shadow.pointerimg);this.shadow.appendChild(this.shadow.pointer);this.render=function(){typeof this.anchorObject=="object"?(this.xy=this.mapObj.latlngToXY(this.anchorObject.getPosition()),
this.offset=this.anchorObject.pixelOffset?this.anchorObject.pixelOffset():{x:0,y:0}):a?(this.xy=a.position?this.mapObj.latlngToXY(a.position):this.mapObj.latlngToXY(this.mapObj.getCenter()),a.pixelOffset?(this.offset.x=a.pixelOffset.x?a.pixelOffset.x:0,this.offset.y=a.pixelOffset.y?a.pixelOffset.y:0):this.offset={x:0,y:0}):this.xy=this.mapObj.latlngToXY(this.mapObj.getCenter());this.infobox.style.left=this.xy.x+this.offset.x-(parseInt(this.infobox.style.width)-pointerwidth)/2+"px";this.infobox.style.bottom=
-this.xy.y+this.offset.y+pointerheight-1+"px";this.infobox.style.zIndex=parseInt(this.xy.y)+this.mapObj.size.height;this.shadow.style.left=parseInt(this.infobox.style.left)+pointerheight/2+"px";this.shadow.style.bottom=parseInt(this.infobox.style.bottom)-pointerheight+"px";this.shadow.style.zIndex=parseInt(this.xy.y);this.opened&&this._moveMap()};this.open=function(b,a){this.mapObj=b;this.anchorObject=a;if(!this.mapObj.overlayDiv.infoboxShadowDiv)this.mapObj.overlayDiv.infoboxShadowDiv=document.createElement("div"),
this.mapObj.overlayDiv.appendChild(this.mapObj.overlayDiv.infoboxShadowDiv),this.mapObj.overlayDiv.infoboxShadowDiv.setAttribute("id","infoboxShadowDiv");this.shadow.parentNode&&this.shadow.parentNode.removeChild(this.shadow);this.mapObj.overlayDiv.infoboxShadowDiv.appendChild(this.shadow);if(!this.mapObj.overlayDiv.infoboxDiv)this.mapObj.overlayDiv.infoboxDiv=document.createElement("div"),this.mapObj.overlayDiv.appendChild(this.mapObj.overlayDiv.infoboxDiv),this.mapObj.overlayDiv.infoboxDiv.setAttribute("id",
"infoboxDiv");this.infobox.parentNode&&this.infobox.parentNode.removeChild(this.infobox);this.mapObj.overlayDiv.infoboxDiv.appendChild(this.infobox);this.opened=!0;this.mapObj.addOverlay(this);this.infobox.style.width=parseInt(this.infobox.content.offsetWidth)>250?parseInt(this.infobox.content.offsetWidth)+20+"px":"270px";if(parseInt(this.infobox.content.offsetWidth)>parseInt(this.mapObj.size.width)-40)this.infobox.style.width=parseInt(this.mapObj.size.width)-20+"px",this.infobox.style.whiteSpace=
"normal";if(parseInt(this.infobox.content.offsetWidth)>640)this.infobox.style.width="660px",this.infobox.style.whiteSpace="normal";this.infobox.content.style.left="10px";this.infobox.content.style.width=parseInt(this.infobox.style.width)-20+"px";this.infobox.style.height=parseInt(this.infobox.content.offsetHeight)>60?parseInt(this.infobox.content.offsetHeight)+20+"px":"80px";if(parseInt(this.infobox.content.offsetHeight)>parseInt(this.mapObj.size.height)-40-pointerheight-this.offset.y)this.infobox.style.height=
this.mapObj.size.height-pointerheight-this.offset.y-20+"px",this.infobox.content.style.overflowY="scroll",this.infobox.content.style.overflow="auto",this.infobox.content.style.WebkitOverflowScrolling="touch";this.upperdiv.style.width=parseInt(this.infobox.style.width)-20+"px";this.leftdiv.style.height=parseInt(this.infobox.style.height)-20+"px";this.rightdiv.style.height=parseInt(this.infobox.style.height)-20+"px";this.lowerdiv.style.width=parseInt(this.infobox.style.width)-20+"px";this.infobox.content.style.top=
"10px";this.infobox.content.style.height=parseInt(this.infobox.style.height)-20+"px";this.infobox.pointer.style.left=(parseInt(this.infobox.style.width)-pointerwidth)/2+"px";this.shadow.style.width=parseInt(this.infobox.style.width)+Math.floor(parseInt(this.infobox.style.height)/2)+"px";this.shadow.style.height=Math.ceil(parseInt(this.infobox.style.height)/2)+pointerheight/2+"px";this.shadow.pointer.style.left=parseInt(this.infobox.pointer.style.left)-pointerheight/2+"px";this.shadow.lowerleftdiv.style.width=
this.shadow.pointer.style.left;this.shadow.upperleftdiv.style.left=Math.floor(parseInt(this.infobox.style.height)/2)-(parseInt(this.shadow.lowerrightdiv.style.height)-pointerheight/2)-9+"px";this.shadow.lowerrightdiv.style.left=parseInt(this.shadow.pointer.style.left)+parseInt(this.shadow.pointer.style.width)+"px";this.shadow.lowerrightdiv.style.width=parseInt(this.shadow.style.width)-parseInt(this.shadow.pointer.style.left)-parseInt(this.shadow.pointer.style.width)-parseInt(this.shadow.upperleftdiv.style.left)+
9+"px";this.shadow.upperdiv.style.left=parseInt(this.shadow.upperleftdiv.style.left)+parseInt(this.shadow.upperleftdiv.style.width)+"px";this.shadow.upperdiv.style.width=parseInt(this.shadow.style.width)-parseInt(this.shadow.upperleftdiv.style.left)-parseInt(this.shadow.upperleftdiv.style.width)-parseInt(this.shadow.upperrightdiv.style.width)+"px";this.shadow.rightdiv.style.width=Math.floor(parseInt(this.infobox.style.height)/2)+"px";this.shadow.rightdiv.style.height=parseInt(this.shadow.style.height)-
74+"px";this.shadow.leftdiv.style.width=Math.floor(parseInt(this.infobox.style.height)/2)+"px";this.shadow.leftdiv.style.height=parseInt(this.shadow.style.height)-74+"px";this.shadow.middlediv.style.left=this.shadow.leftdiv.style.width;this.shadow.middlediv.style.width=parseInt(this.shadow.style.width)-parseInt(this.shadow.leftdiv.style.width)-parseInt(this.shadow.rightdiv.style.width)+"px";this.shadow.middlediv.style.height=parseInt(this.shadow.style.height)-parseInt(this.shadow.upperdiv.style.height)-
parseInt(this.shadow.lowerleftdiv.style.height)+"px";khtml.maplib.base.helpers.eventAttach(this.infobox,"DOMMouseScroll",khtml.maplib.base.helpers.cancelEvent,this,!1);khtml.maplib.base.helpers.eventAttach(this.infobox,"dblclick",khtml.maplib.base.helpers.cancelEvent,this,!1);khtml.maplib.base.helpers.eventAttach(this.infobox.content,"mousedown",khtml.maplib.base.helpers.cancelEvent,this,!1);khtml.maplib.base.helpers.eventAttach(this.infobox.content,"touchstart",khtml.maplib.base.helpers.cancelEvent,
this,!1);khtml.maplib.base.helpers.eventAttach(this.infobox.content,"touchmove",khtml.maplib.base.helpers.cancelEvent,this,!1);khtml.maplib.base.helpers.eventAttach(this.infobox,"mousedown",function(b){khtml.maplib.base.helpers.stopEventPropagation(b);khtml.maplib.base.helpers.cancelEvent(b)},this,!1);khtml.maplib.base.helpers.eventAttach(this.infobox.content,"contextmenu",khtml.maplib.base.helpers.cancelEvent,this,!1);if(this.anchorObject){var c=this;this.anchorObject.position.addCallbackFunction(function(){c.render()})}};
this.clear=function(){if(this.infobox&&this.infobox.parentNode)try{this.infobox.parentNode.removeChild(this.infobox)}catch(b){}if(this.shadow&&this.shadow.parentNode)try{this.shadow.parentNode.removeChild(this.shadow)}catch(a){}this.opened=!1};this.close=function(){this.mapObj.removeOverlay(this)};this.setContent=function(b){this.infobox.content.innerHTML=b};var b=1,e=1;this._moveMap=function(){var a=this;this.infobox.offsetLeft+parseInt(this.infobox.style.width)>this.mapObj.size.width-10?(this.infobox.offsetLeft+
parseInt(this.infobox.style.width)0?e=10-this.infobox.offsetTop:e<20&&e++,window.clearInterval(this.mapmoveInterval),this.mapmoveInterval=window.setInterval(function(){a.mapObj.moveXY(-b,e)},10)):this.xy.y>this.mapObj.size.height-10?(this.xy.y0?b=10-this.infobox.offsetLeft:b<20&&b++,this.infobox.offsetTop<10?(this.infobox.offsetTop>0?e=10-this.infobox.offsetTop:e<20&&e++,window.clearInterval(this.mapmoveInterval),this.mapmoveInterval=window.setInterval(function(){a.mapObj.moveXY(b,e)},
10)):this.xy.y>this.mapObj.size.height-10?(this.xy.y0?e=10-this.infobox.offsetTop:e<20&&e++,window.clearInterval(this.mapmoveInterval),
this.mapmoveInterval=window.setInterval(function(){a.mapObj.moveXY(0,e)},10)):this.xy.y>this.mapObj.size.height-10?(this.xy.y=0;a--){var h=d[a];if(h.className){this.classes[h.className.baseVal]||(this.classes[h.className.baseVal]=this.getCssStyles(h.className.baseVal));var k=this.classes[h.className.baseVal];c=c?this.mergeStyles(k,c):k;h.style&&(c=this.mergeStyles(h.style,c))}}c&&
(c=this.mergeStyles(m,c));if(b.geometry.type!="Polygon"&&b.geometry.type!="MultiPolygon")c.fillOpacity=0;c=this.cssToCanvas(c);return b.canvasStyle=c};this.mergeStyles=function(b,a){var c={},d;for(d in b)c[d]=b[d];c.opacity?a.opacity!=void 0&&(c.opacity*=a.opacity):c.opacity=a.opacity;c.fillOpacity?a.fillOpacity!=void 0&&(c.fillOpacity*=a.fillOpacity):c.fillOpacity=a.fillOpacity;c.strokeOpacity?a.strokeOpacity!=void 0&&(c.strokeOpacity*=a.strokeOpacity):c.strokeOpacity=a.strokeOpacity;if(!c.stroke)c.stroke=
a.stroke;if(!c.fill)c.fill=a.fill;if(!c.strokeWidth)c.strokeWidth=parseFloat(a.strokeWidth);c.strokeWidth=parseFloat(c.strokeWidth);return c};this.rgba=[];this.cssToCanvas=function(b){if(!b.stroke)b.stroke="none";if(!b.fill)b.fill="black";if(b.opacity==void 0)b.opacity=1;if(b.strokeOpacity==void 0)b.strokeOpacity=1;if(b.fillOpacity==void 0)b.fillOpacity=1;if(!b.strokeWidth)b.strokeWidth=1;if(b.stroke){var c=b.opacity*b.strokeOpacity,d=b.stroke+"X"+c;this.rgba[d]||(this.rgba[d]=a(b.stroke,c));d=b.stroke;
var f=c,m=this.rgba[b.stroke+"_"+c]}if(b.fill){c=b.opacity*b.fillOpacity;this.rgba[b.fill+"_"+c]||(this.rgba[b.fill+"_"+c]=a(b.fill,c));var h=b.fill,k=c;c=this.rgba[b.fill+"_"+c]}else h=0,k=1,c=0;return{strokeStyle:m,fillStyle:c,lineWidth:b.strokeWidth,fillRGB:h,strokeRGB:d,fillOpacity:k,strokeOpacity:f}};this.getCssStyles=function(b){for(var a={},c=0;c1){var l=k[0].replace(/^\s/,"");k=k[1].replace(/^\s/,"");if(l=="stroke")a.stroke=k;if(l=="fill")a.fill=k;if(l=="stroke-width")a.strokeWidth=parseFloat(k);if(l=="opacity")a.opacity=parseFloat(k);if(l=="fill-opacity")a.fillOpacity=parseFloat(k);if(l=="stroke-opacity")a.strokeOpacity=parseFloat(k)}}}}}return a};var c={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",
azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",
darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",
khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",
mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",
peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",
white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"},d=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"]};khtml.maplib.overlay.GeoJson=function(){function a(){var a=999;navigator.appVersion.indexOf("MSIE")!=-1&&(a=parseFloat(navigator.appVersion.split("MSIE")[1]));return a}this.backend="svg";if(navigator.userAgent.indexOf("MSIE")!=-1){if(a()<9)this.backend="vml";if(document.documentMode<9)this.backend="vml"}this.deltaY=this.deltaX=this.count=0;this.init=function(a){this.map=a;this.root&&this.root.parentNode.removeChild(this.root);this.element&&(this.element.parentNode.removeChild(this.element),delete this.element);
this.root=document.createElement("div");this.root.style.position="absolute";this.root.setAttribute("GeoJson","root");this.root.setAttribute("id","root");this.map.overlayDiv.appendChild(this.root);this.load({type:"FeatureCollection"})};this.load=function(a){if(!this.element){this.element=this.renderElement(this.root);if(this.backend=="canvas")this.context=this.element.getContext("2d"),this.canvasStyler=new khtml.maplib.overlay.renderer.Styler;if(this.backend=="vml")this.canvasStyler=new khtml.maplib.overlay.renderer.Styler}this.parentNode=
this.featureCollection=this.recurseInit(a);this.recurseLinksDirty=!0};this.bounds=this.lastzoom=null;this.render=function(a){if(this.featureCollection)if(this.recurseLinksDirty&&this.recurseLink(),!a&&this.backend!="vml"&&(!this.map.finalDraw||this.map.moving)){if(this.element.finished)this.visibleElement=this.element;else{if(!this.oldelement)return;this.visibleElement=this.oldelement}if(this.visibleElement.bounds)this.visibleElement.style.display="",this.visibleElement.bottomleft=this.map.latlngToXY(this.visibleElement.bounds.sw()),
this.visibleElement.topright=this.map.latlngToXY(this.visibleElement.bounds.ne()),a=this.visibleElement.bottomleft.x,this.visibleElement.style.top=this.visibleElement.topright.y+"px",this.visibleElement.style.left=a+"px",this.visibleElement.style.width=this.visibleElement.topright.x-this.visibleElement.bottomleft.x+"px",this.visibleElement.style.height=-this.visibleElement.topright.y+this.visibleElement.bottomleft.y+"px"}else{if(!this.element)this.element=this.renderElement();if(this.element.finished)this.oldelement&&
this.root.removeChild(this.oldelement),this.backend=="canvas"?(this.oldelement=this.element,this.element=this.renderElement()):this.oldelement=this.element.cloneNode(!0),this.root.appendChild(this.oldelement),this.oldelement.bounds=this.element.bounds,this.oldelement.style.display="",this.element.style.display="none",this.element.finished=!1,this.element.topright=null,this.element.setAttribute("viewBox","0 0 "+this.map.size.width+" "+this.map.size.height);this.element.style.top="0px";this.element.style.left=
"0px";this.element.style.width=this.map.size.width+"px";this.element.style.height=this.map.size.height+"px";this.element.bounds=this.map.bounds();this.lastzoom=this.map.zoom();this.clear();a=this.featureCollection;this.recurse(a,a);this.deltaY=this.deltaX=0}};this.makeGroupElements=function(a,d){a.element=document.createElementNS("http://www.w3.org/2000/svg","g");a.element.bounds=this.map.bounds();d.appendChild(a.element);for(var b=0;b0)d.features[e].precedingSibling=d.features[e-1];if(e0&&(d=d.split("|")[1]))d=d.substring(1,d.length),d=d.split("-")[0],f=d[0],d[1]&&(m=d[1]);for(d=f;d<=m;d++)if(b!="path"&&b!="div"){h=".z"+d+" "+b+" {"+g+"}";if(f!=1||m!=18)h=".z"+d+" "+b+" {"+g+"}";else{h=b+" {"+g+"}";this.mapcss.insertRule(h,0);break}this.mapcss.insertRule(h,
0)}}}};khtml.maplib.parser.Osm=function(){function a(a){return a.replace(/^\s+/,"").replace(/\s+$/,"")}this.nodes=[];this.ways=[];this.mapcssjson={};this.data=function(){return this.featureCollection};this.style=function(a){console.log(a,this.mapcssjson);var d=[],b;for(b in this.mapcssjson)d.push(b);d.sort(function(b,a){return parseFloat(b)-parseFloat(a)});for(var e=0;e0){var k=new khtml.maplib.overlay.SimpleMarker(f,m);k.properties={};for(f=0;f0&&(k=l[0]);
l=a(k).split("/:/");m.special={};for(k=0;k1&&(v=vArr[1]),HTTP_GET_VARS[unescape(vArr[0])]=unescape(v)}this.GET=function(a){if(!HTTP_GET_VARS[a])return"undefined";return HTTP_GET_VARS[a]};this.GET("lat")!="undefined"&&this.GET("lon")!="undefined"&&a.center(new khtml.maplib.LatLng(parseFloat(this.GET("lat")),
parseFloat(this.GET("lon"))));this.GET("zoom")!="undefined"&&a.zoom(parseFloat(this.GET("zoom")));this.GET("mlat")!="undefined"&&this.GET("mlon")!="undefined"&&new khtml.maplib.overlay.Marker({position:new khtml.maplib.LatLng(parseFloat(this.GET("mlat")),parseFloat(this.GET("mlon"))),map:a})};khtml.maplib.util.scriptTagProxy=function(a,c){var d=document.getElementsByTagName("head")[0],b=document.createElement("script");b.type="text/javascript";b.onload=function(){d.removeChild(b)};b.src=a;d.appendChild(b);searchResult=c;return b};khtml.maplib.ui.Nominatim=function(){this.width=300;this.height=200;this.init=function(a){this.map=a;this.div=this.createWindow();khtml.maplib.base.helpers.eventAttach(this.map.mapParent,"keydown",this.start,this,!1)};this.render=function(){};var a=this;this.keyup=function(c){this.focus();c.keyCode==27&&this.stop();c=a.input.value;if(c.length<=2)for(;a.div.firstChild;)a.div.removeChild(a.div.firstChild);else c="http://nominatim.openstreetmap.org/search?q="+c+"&format=json&polygon=1&addressdetails=1&json_callback=searchResult",
this.scriptElement&&this.scriptElement.parentNode&&this.scriptElement.parentNode.removeChild(this.scriptElement),this.ajaxload.style.display="",a.close.style.display="none",this.scriptElement=khtml.maplib.util.scriptTagProxy(c,a.showResult)};this.focus=function(){if(!this.started)this.input.value="";this.started=!0;this.input.style.color="black"};this.showResult=function(c){a.ajaxload.style.display="none";a.close.style.display="";for(a.div.style.display="";a.div.firstChild;)a.div.removeChild(a.div.firstChild);
for(var d=0;d