window.loc={href:location.href,host:location.host,port:location.port,pathname:location.pathname};var OpenLayers={singleFile:true};
(function(){var a=typeof OpenLayers=="object"&&OpenLayers.singleFile;window.OpenLayers={_scriptName:!a?"lib/OpenLayers.js":"OpenLayers.js",_getScriptLocation:function(){for(var h="",j=new RegExp("(^|(.*?\\/))("+OpenLayers._scriptName+")(\\?|$)"),m=document.getElementsByTagName("script"),k=0,o=m.length;k<o;k++){var l=m[k].getAttribute("src");if(l)if(l=l.match(j)){h=l[1];break}}return h}};if(!a){a=new Array("OpenLayers/Util.js","OpenLayers/BaseTypes.js","OpenLayers/BaseTypes/Class.js","OpenLayers/BaseTypes/Bounds.js",
"OpenLayers/BaseTypes/Element.js","OpenLayers/BaseTypes/LonLat.js","OpenLayers/BaseTypes/Pixel.js","OpenLayers/BaseTypes/Size.js","OpenLayers/Console.js","OpenLayers/Tween.js","Rico/Corner.js","Rico/Color.js","OpenLayers/Ajax.js","OpenLayers/Events.js","OpenLayers/Request.js","OpenLayers/Request/XMLHttpRequest.js","OpenLayers/Projection.js","OpenLayers/Map.js","OpenLayers/Layer.js","OpenLayers/Icon.js","OpenLayers/Marker.js","OpenLayers/Marker/Box.js","OpenLayers/Popup.js","OpenLayers/Tile.js","OpenLayers/Tile/Image.js",
"OpenLayers/Tile/Image/IFrame.js","OpenLayers/Tile/WFS.js","OpenLayers/Layer/Image.js","OpenLayers/Layer/SphericalMercator.js","OpenLayers/Layer/EventPane.js","OpenLayers/Layer/FixedZoomLevels.js","OpenLayers/Layer/Google.js","OpenLayers/Layer/VirtualEarth.js","OpenLayers/Layer/Yahoo.js","OpenLayers/Layer/HTTPRequest.js","OpenLayers/Layer/Grid.js","OpenLayers/Layer/MapGuide.js","OpenLayers/Layer/MapServer.js","OpenLayers/Layer/MapServer/Untiled.js","OpenLayers/Layer/KaMap.js","OpenLayers/Layer/KaMapCache.js",
"OpenLayers/Layer/MultiMap.js","OpenLayers/Layer/Markers.js","OpenLayers/Layer/Text.js","OpenLayers/Layer/WorldWind.js","OpenLayers/Layer/ArcGIS93Rest.js","OpenLayers/Layer/WMS.js","OpenLayers/Layer/WMS/Untiled.js","OpenLayers/Layer/WMS/Post.js","OpenLayers/Layer/ArcIMS.js","OpenLayers/Layer/GeoRSS.js","OpenLayers/Layer/Boxes.js","OpenLayers/Layer/XYZ.js","OpenLayers/Layer/TMS.js","OpenLayers/Layer/TileCache.js","OpenLayers/Popup/Anchored.js","OpenLayers/Popup/AnchoredBubble.js","OpenLayers/Popup/Framed.js",
"OpenLayers/Popup/FramedCloud.js","OpenLayers/Feature.js","OpenLayers/Feature/Vector.js","OpenLayers/Feature/WFS.js","OpenLayers/Handler.js","OpenLayers/Handler/Click.js","OpenLayers/Handler/Hover.js","OpenLayers/Handler/Point.js","OpenLayers/Handler/Path.js","OpenLayers/Handler/Polygon.js","OpenLayers/Handler/Feature.js","OpenLayers/Handler/Drag.js","OpenLayers/Handler/RegularPolygon.js","OpenLayers/Handler/Box.js","OpenLayers/Handler/MouseWheel.js","OpenLayers/Handler/Keyboard.js","OpenLayers/Control.js",
"OpenLayers/Control/Attribution.js","OpenLayers/Control/Button.js","OpenLayers/Control/ZoomBox.js","OpenLayers/Control/ZoomToMaxExtent.js","OpenLayers/Control/DragPan.js","OpenLayers/Control/Navigation.js","OpenLayers/Control/MouseDefaults.js","OpenLayers/Control/MousePosition.js","OpenLayers/Control/OverviewMap.js","OpenLayers/Control/KeyboardDefaults.js","OpenLayers/Control/PanZoom.js","OpenLayers/Control/PanZoomBar.js","OpenLayers/Control/ArgParser.js","OpenLayers/Control/Permalink.js","OpenLayers/Control/Scale.js",
"OpenLayers/Control/ScaleLine.js","OpenLayers/Control/Snapping.js","OpenLayers/Control/Split.js","OpenLayers/Control/LayerSwitcher.js","OpenLayers/Control/DrawFeature.js","OpenLayers/Control/DragFeature.js","OpenLayers/Control/ModifyFeature.js","OpenLayers/Control/Panel.js","OpenLayers/Control/SelectFeature.js","OpenLayers/Control/NavigationHistory.js","OpenLayers/Control/Measure.js","OpenLayers/Control/WMSGetFeatureInfo.js","OpenLayers/Geometry.js","OpenLayers/Geometry/Rectangle.js","OpenLayers/Geometry/Collection.js",
"OpenLayers/Geometry/Point.js","OpenLayers/Geometry/MultiPoint.js","OpenLayers/Geometry/Curve.js","OpenLayers/Geometry/LineString.js","OpenLayers/Geometry/LinearRing.js","OpenLayers/Geometry/Polygon.js","OpenLayers/Geometry/MultiLineString.js","OpenLayers/Geometry/MultiPolygon.js","OpenLayers/Geometry/Surface.js","OpenLayers/Renderer.js","OpenLayers/Renderer/Elements.js","OpenLayers/Renderer/SVG.js","OpenLayers/Renderer/Canvas.js","OpenLayers/Renderer/VML.js","OpenLayers/Layer/Vector.js","OpenLayers/Layer/Vector/RootContainer.js",
"OpenLayers/Strategy.js","OpenLayers/Strategy/Fixed.js","OpenLayers/Strategy/Cluster.js","OpenLayers/Strategy/Paging.js","OpenLayers/Strategy/BBOX.js","OpenLayers/Strategy/Save.js","OpenLayers/Protocol.js","OpenLayers/Protocol/HTTP.js","OpenLayers/Protocol/SQL.js","OpenLayers/Protocol/SQL/Gears.js","OpenLayers/Protocol/WFS.js","OpenLayers/Protocol/WFS/v1.js","OpenLayers/Protocol/WFS/v1_0_0.js","OpenLayers/Protocol/WFS/v1_1_0.js","OpenLayers/Layer/PointTrack.js","OpenLayers/Layer/GML.js","OpenLayers/Style.js",
"OpenLayers/StyleMap.js","OpenLayers/Rule.js","OpenLayers/Filter.js","OpenLayers/Filter/FeatureId.js","OpenLayers/Filter/Logical.js","OpenLayers/Filter/Comparison.js","OpenLayers/Filter/Spatial.js","OpenLayers/Format.js","OpenLayers/Format/XML.js","OpenLayers/Format/ArcXML.js","OpenLayers/Format/ArcXML/Features.js","OpenLayers/Format/GML.js","OpenLayers/Format/GML/Base.js","OpenLayers/Format/GML/v2.js","OpenLayers/Format/GML/v3.js","OpenLayers/Format/KML.js","OpenLayers/Format/GeoRSS.js","OpenLayers/Format/WFS.js",
"OpenLayers/Format/WFSCapabilities.js","OpenLayers/Format/WFSCapabilities/v1.js","OpenLayers/Format/WFSCapabilities/v1_0_0.js","OpenLayers/Format/WFSCapabilities/v1_1_0.js","OpenLayers/Format/WFSDescribeFeatureType.js","OpenLayers/Format/WMSDescribeLayer.js","OpenLayers/Format/WMSDescribeLayer/v1_1.js","OpenLayers/Format/WKT.js","OpenLayers/Format/OSM.js","OpenLayers/Format/GPX.js","OpenLayers/Format/Filter.js","OpenLayers/Format/Filter/v1.js","OpenLayers/Format/Filter/v1_0_0.js","OpenLayers/Format/Filter/v1_1_0.js",
"OpenLayers/Format/SLD.js","OpenLayers/Format/SLD/v1.js","OpenLayers/Format/SLD/v1_0_0.js","OpenLayers/Format/CSWGetDomain.js","OpenLayers/Format/CSWGetDomain/v2_0_2.js","OpenLayers/Format/CSWGetRecords.js","OpenLayers/Format/CSWGetRecords/v2_0_2.js","OpenLayers/Format/WFST.js","OpenLayers/Format/WFST/v1.js","OpenLayers/Format/WFST/v1_0_0.js","OpenLayers/Format/WFST/v1_1_0.js","OpenLayers/Format/Text.js","OpenLayers/Format/JSON.js","OpenLayers/Format/GeoJSON.js","OpenLayers/Format/WMC.js","OpenLayers/Format/WMC/v1.js",
"OpenLayers/Format/WMC/v1_0_0.js","OpenLayers/Format/WMC/v1_1_0.js","OpenLayers/Format/WMSCapabilities.js","OpenLayers/Format/WMSCapabilities/v1_1.js","OpenLayers/Format/WMSCapabilities/v1_1_0.js","OpenLayers/Format/WMSCapabilities/v1_1_1.js","OpenLayers/Format/WMSGetFeatureInfo.js","OpenLayers/Layer/WFS.js","OpenLayers/Control/GetFeature.js","OpenLayers/Control/MouseToolbar.js","OpenLayers/Control/NavToolbar.js","OpenLayers/Control/PanPanel.js","OpenLayers/Control/Pan.js","OpenLayers/Control/ZoomIn.js",
"OpenLayers/Control/ZoomOut.js","OpenLayers/Control/ZoomPanel.js","OpenLayers/Control/EditingToolbar.js","OpenLayers/Lang.js","OpenLayers/Lang/en.js","OpenLayers/Lang/ru.js");var b=navigator.userAgent;if(b=b.match("MSIE")||b.match("Safari"))var c=new Array(a.length);for(var d=OpenLayers._getScriptLocation()+"lib/",e=0,f=a.length;e<f;e++)if(b)c[e]="<script src='"+d+a[e]+"'><\/script>";else{var g=document.createElement("script");g.src=d+a[e];var i=document.getElementsByTagName("head").length?document.getElementsByTagName("head")[0]:
document.body;i.appendChild(g)}b&&document.write(c.join(""))}})();OpenLayers.VERSION_NUMBER="$Revision: 9734 $";
OpenLayers.String={startsWith:function(a,b){return a.indexOf(b)==0},contains:function(a,b){return a.indexOf(b)!=-1},trim:function(a){return a.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},camelize:function(a){a=a.split("-");for(var b=a[0],c=1,d=a.length;c<d;c++){var e=a[c];b+=e.charAt(0).toUpperCase()+e.substring(1)}return b},format:function(a,b,c){b||(b=window);var d=function(e,f){var g;e=f.split(/\.+/);for(f=0;f<e.length;f++){if(f==0)g=b;g=g[e[f]]}if(typeof g=="function")g=c?g.apply(null,c):g();return typeof g==
"undefined"?"undefined":g};return a.replace(OpenLayers.String.tokenRegEx,d)},tokenRegEx:/\$\{([\w.]+?)\}/g,numberRegEx:/^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/,isNumeric:function(a){return OpenLayers.String.numberRegEx.test(a)},numericIf:function(a){return OpenLayers.String.isNumeric(a)?parseFloat(a):a}};
if(!String.prototype.startsWith)String.prototype.startsWith=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.startsWith"}));return OpenLayers.String.startsWith(this,a)};if(!String.prototype.contains)String.prototype.contains=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.contains"}));return OpenLayers.String.contains(this,a)};
if(!String.prototype.trim)String.prototype.trim=function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.trim"}));return OpenLayers.String.trim(this)};if(!String.prototype.camelize)String.prototype.camelize=function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.camelize"}));return OpenLayers.String.camelize(this)};
OpenLayers.Number={decimalSeparator:".",thousandsSeparator:",",limitSigDigs:function(a,b){var c=0;if(b>0)c=parseFloat(a.toPrecision(b));return c},format:function(a,b,c,d){b=typeof b!="undefined"?b:0;c=typeof c!="undefined"?c:OpenLayers.Number.thousandsSeparator;d=typeof d!="undefined"?d:OpenLayers.Number.decimalSeparator;if(b!=null)a=parseFloat(a.toFixed(b));var e=a.toString().split(".");if(e.length==1&&b==null)b=0;a=e[0];if(c)for(var f=/(-?[0-9]+)([0-9]{3})/;f.test(a);)a=a.replace(f,"$1"+c+"$2");
if(b==0)b=a;else{c=e.length>1?e[1]:"0";if(b!=null)c+=(new Array(b-c.length+1)).join("0");b=a+d+c}return b}};if(!Number.prototype.limitSigDigs)Number.prototype.limitSigDigs=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.Number.limitSigDigs"}));return OpenLayers.Number.limitSigDigs(this,a)};
OpenLayers.Function={bind:function(a,b){var c=Array.prototype.slice.apply(arguments,[2]);return function(){var d=c.concat(Array.prototype.slice.apply(arguments,[0]));return a.apply(b,d)}},bindAsEventListener:function(a,b){return function(c){return a.call(b,c||window.event)}}};
if(!Function.prototype.bind)Function.prototype.bind=function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.Function.bind"}));Array.prototype.unshift.apply(arguments,[this]);return OpenLayers.Function.bind.apply(null,arguments)};
if(!Function.prototype.bindAsEventListener)Function.prototype.bindAsEventListener=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.Function.bindAsEventListener"}));return OpenLayers.Function.bindAsEventListener(this,a)};OpenLayers.Array={filter:function(a,b,c){var d=[];if(Array.prototype.filter)d=a.filter(b,c);else{var e=a.length;if(typeof b!="function")throw new TypeError;for(var f=0;f<e;f++)if(f in a){var g=a[f];b.call(c,g,f,a)&&d.push(g)}}return d}};
OpenLayers.Class=function(){for(var a=function(){arguments&&arguments[0]!=OpenLayers.Class.isPrototype&&this.initialize.apply(this,arguments)},b={},c,d=0,e=arguments.length;d<e;++d){if(typeof arguments[d]=="function"){if(d==0&&e>1){c=arguments[d].prototype.initialize;arguments[d].prototype.initialize=function(){};b=new arguments[d];if(c===undefined)delete arguments[d].prototype.initialize;else arguments[d].prototype.initialize=c}c=arguments[d].prototype}else c=arguments[d];OpenLayers.Util.extend(b,
c)}a.prototype=b;return a};OpenLayers.Class.isPrototype=function(){};OpenLayers.Class.create=function(){return function(){arguments&&arguments[0]!=OpenLayers.Class.isPrototype&&this.initialize.apply(this,arguments)}};OpenLayers.Class.inherit=function(){var a=arguments[0];a=new a(OpenLayers.Class.isPrototype);for(var b=1,c=arguments.length;b<c;b++){if(typeof arguments[b]=="function"){var d=arguments[b];arguments[b]=new d(OpenLayers.Class.isPrototype)}OpenLayers.Util.extend(a,arguments[b])}return a};
OpenLayers.Util={};OpenLayers.Util.getElement=function(){for(var a=[],b=0,c=arguments.length;b<c;b++){var d=arguments[b];if(typeof d=="string")d=document.getElementById(d);if(arguments.length==1)return d;a.push(d)}return a};if(typeof window.$==="undefined")window.$=OpenLayers.Util.getElement;
OpenLayers.Util.extend=function(a,b){a=a||{};if(b){for(var c in b){var d=b[c];if(d!==undefined)a[c]=d}c=typeof window.Event=="function"&&b instanceof window.Event;if(!c&&b.hasOwnProperty&&b.hasOwnProperty("toString"))a.toString=b.toString}return a};OpenLayers.Util.removeItem=function(a,b){for(var c=a.length-1;c>=0;c--)a[c]==b&&a.splice(c,1);return a};OpenLayers.Util.clearArray=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"array = []"}));a.length=0};
OpenLayers.Util.indexOf=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]==b)return c;return-1};OpenLayers.Util.modifyDOMElement=function(a,b,c,d,e,f,g,i){if(b)a.id=b;if(c){a.style.left=c.x+"px";a.style.top=c.y+"px"}if(d){a.style.width=d.w+"px";a.style.height=d.h+"px"}if(e)a.style.position=e;if(f)a.style.border=f;if(g)a.style.overflow=g;if(parseFloat(i)>=0&&parseFloat(i)<1){a.style.filter="alpha(opacity="+i*100+")";a.style.opacity=i}else if(parseFloat(i)==1){a.style.filter="";a.style.opacity=""}};
OpenLayers.Util.createDiv=function(a,b,c,d,e,f,g,i){var h=document.createElement("div");if(d)h.style.backgroundImage="url("+d+")";a||(a=OpenLayers.Util.createUniqueID("OpenLayersDiv"));e||(e="absolute");OpenLayers.Util.modifyDOMElement(h,a,b,c,e,f,g,i);return h};
OpenLayers.Util.createImage=function(a,b,c,d,e,f,g,i){var h=document.createElement("img");a||(a=OpenLayers.Util.createUniqueID("OpenLayersDiv"));e||(e="relative");OpenLayers.Util.modifyDOMElement(h,a,b,c,e,f,null,g);if(i){h.style.display="none";OpenLayers.Event.observe(h,"load",OpenLayers.Function.bind(OpenLayers.Util.onImageLoad,h));OpenLayers.Event.observe(h,"error",OpenLayers.Function.bind(OpenLayers.Util.onImageLoadError,h))}h.style.alt=a;h.galleryImg="no";if(d)h.src=d;return h};
OpenLayers.Util.setOpacity=function(a,b){OpenLayers.Util.modifyDOMElement(a,null,null,null,null,null,null,b)};OpenLayers.Util.onImageLoad=function(){if(!this.viewRequestID||this.map&&this.viewRequestID==this.map.viewRequestID){this.style.backgroundColor="transparent";this.style.display=""}};OpenLayers.Util.onImageLoadErrorColor="pink";OpenLayers.IMAGE_RELOAD_ATTEMPTS=0;
OpenLayers.Util.onImageLoadError=function(){this._attempts=this._attempts?this._attempts+1:1;if(this._attempts<=OpenLayers.IMAGE_RELOAD_ATTEMPTS){var a=this.urls;if(a&&a instanceof Array&&a.length>1){var b=this.src.toString(),c,d;for(d=0;c=a[d];d++)if(b.indexOf(c)!=-1)break;var e=Math.floor(a.length*Math.random());e=a[e];for(d=0;e==c&&d++<4;){e=Math.floor(a.length*Math.random());e=a[e]}this.src=b.replace(c,e)}else this.src=this.src}else this.style.backgroundColor=OpenLayers.Util.onImageLoadErrorColor;
this.style.display=""};OpenLayers.Util.alphaHackNeeded=null;OpenLayers.Util.alphaHack=function(){if(OpenLayers.Util.alphaHackNeeded==null){var a=navigator.appVersion.split("MSIE");a=parseFloat(a[1]);var b=false;try{b=!!document.body.filters}catch(c){}OpenLayers.Util.alphaHackNeeded=b&&a>=5.5&&a<7}return OpenLayers.Util.alphaHackNeeded};
OpenLayers.Util.modifyAlphaImageDiv=function(a,b,c,d,e,f,g,i,h){OpenLayers.Util.modifyDOMElement(a,b,c,d,f,null,null,h);b=a.childNodes[0];if(e)b.src=e;OpenLayers.Util.modifyDOMElement(b,a.id+"_innerImage",null,d,"relative",g);if(OpenLayers.Util.alphaHack()){if(a.style.display!="none")a.style.display="inline-block";if(i==null)i="scale";a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+b.src+"', sizingMethod='"+i+"')";if(parseFloat(a.style.opacity)>=0&&parseFloat(a.style.opacity)<
1)a.style.filter+=" alpha(opacity="+a.style.opacity*100+")";b.style.filter="alpha(opacity=0)"}};
OpenLayers.Util.createAlphaImageDiv=function(a,b,c,d,e,f,g,i,h){var j=OpenLayers.Util.createDiv(),m=OpenLayers.Util.createImage(null,null,null,null,null,null,null,false);j.appendChild(m);if(h){m.style.display="none";OpenLayers.Event.observe(m,"load",OpenLayers.Function.bind(OpenLayers.Util.onImageLoad,j));OpenLayers.Event.observe(m,"error",OpenLayers.Function.bind(OpenLayers.Util.onImageLoadError,j))}OpenLayers.Util.modifyAlphaImageDiv(j,a,b,c,d,e,f,g,i);return j};
OpenLayers.Util.upperCaseObject=function(a){var b={};for(var c in a)b[c.toUpperCase()]=a[c];return b};OpenLayers.Util.applyDefaults=function(a,b){a=a||{};var c=typeof window.Event=="function"&&b instanceof window.Event;for(var d in b)if(a[d]===undefined||!c&&b.hasOwnProperty&&b.hasOwnProperty(d)&&!a.hasOwnProperty(d))a[d]=b[d];if(!c&&b&&b.hasOwnProperty&&b.hasOwnProperty("toString")&&!a.hasOwnProperty("toString"))a.toString=b.toString;return a};
OpenLayers.Util.getParameterString=function(a){var b=[];for(var c in a){var d=a[c];if(d!=null&&typeof d!="function"){if(typeof d=="object"&&d.constructor==Array){for(var e=[],f,g=0,i=d.length;g<i;g++){f=d[g];e.push(encodeURIComponent(f===null||f===undefined?"":f))}d=e.join(",")}else d=encodeURIComponent(d);b.push(encodeURIComponent(c)+"="+d)}}return b.join("&")};OpenLayers.Util.urlAppend=function(a,b){var c=a;if(b){a=(a+" ").split(/[?&]/);c+=a.pop()===" "?b:a.length?"&"+b:"?"+b}return c};
OpenLayers.ImgPath="";OpenLayers.Util.getImagesLocation=function(){return OpenLayers.ImgPath||OpenLayers._getScriptLocation()+"img/"};OpenLayers.Util.Try=function(){for(var a=null,b=0,c=arguments.length;b<c;b++){var d=arguments[b];try{a=d();break}catch(e){}}return a};OpenLayers.Util.getNodes=function(a,b){var c=OpenLayers.Util.Try(function(){return OpenLayers.Util._getNodes(a.documentElement.childNodes,b)},function(){return OpenLayers.Util._getNodes(a.childNodes,b)});return c};
OpenLayers.Util._getNodes=function(a,b){for(var c=[],d=0,e=a.length;d<e;d++)a[d].nodeName==b&&c.push(a[d]);return c};OpenLayers.Util.getTagText=function(a,b,c){if((a=OpenLayers.Util.getNodes(a,b))&&a.length>0){c||(c=0);if(a[c].childNodes.length>1)return a.childNodes[1].nodeValue;else if(a[c].childNodes.length==1)return a[c].firstChild.nodeValue}else return""};
OpenLayers.Util.getXmlNodeValue=function(a){var b=null;OpenLayers.Util.Try(function(){b=a.text;if(!b)b=a.textContent;if(!b)b=a.firstChild.nodeValue},function(){b=a.textContent});return b};OpenLayers.Util.mouseLeft=function(a,b){for(a=a.relatedTarget?a.relatedTarget:a.toElement;a!=b&&a!=null;)a=a.parentNode;return a!=b};OpenLayers.Util.DEFAULT_PRECISION=14;OpenLayers.Util.toFloat=function(a,b){if(b==null)b=OpenLayers.Util.DEFAULT_PRECISION;return a=b==0?parseFloat(a):parseFloat(parseFloat(a).toPrecision(b))};
OpenLayers.Util.rad=function(a){return a*Math.PI/180};
OpenLayers.Util.distVincenty=function(a,b){var c=6378137,d=6356752.3142,e=1/298.257223563,f=OpenLayers.Util.rad(b.lon-a.lon);a=Math.atan((1-e)*Math.tan(OpenLayers.Util.rad(a.lat)));var g=Math.atan((1-e)*Math.tan(OpenLayers.Util.rad(b.lat)));b=Math.sin(a);a=Math.cos(a);var i=Math.sin(g);g=Math.cos(g);for(var h=f,j=2*Math.PI,m=20;Math.abs(h-j)>1.0E-12&&--m>0;){var k=Math.sin(h),o=Math.cos(h),l=Math.sqrt(g*k*g*k+(a*i-b*g*o)*(a*i-b*g*o));if(l==0)return 0;var n=b*i+a*g*o;o=Math.atan2(l,n);var q=Math.asin(a*
g*k/l),p=Math.cos(q)*Math.cos(q);k=n-2*b*i/p;var r=e/16*p*(4+e*(4-3*p));j=h;h=f+(1-r)*e*Math.sin(q)*(o+r*l*(k+r*n*(-1+2*k*k)))}if(m==0)return NaN;e=p*(c*c-d*d)/(d*d);c=1+e/16384*(4096+e*(-768+e*(320-175*e)));e=e/1024*(256+e*(-128+e*(74-47*e)));l=e*l*(k+e/4*(n*(-1+2*k*k)-e/6*k*(-3+4*l*l)*(-3+4*k*k)));d=d*c*(o-l);return d=d.toFixed(3)/1E3};
OpenLayers.Util.getParameters=function(a){a=a||window.loc.href;var b="";if(OpenLayers.String.contains(a,"?")){b=a.indexOf("?")+1;var c=OpenLayers.String.contains(a,"#")?a.indexOf("#"):a.length;b=a.substring(b,c)}a={};b=b.split(/[&;]/);c=0;for(var d=b.length;c<d;++c){var e=b[c].split("=");if(e[0]){var f=decodeURIComponent(e[0]);e=e[1]||"";e=e.split(",");for(var g=0,i=e.length;g<i;g++)e[g]=decodeURIComponent(e[g]);if(e.length==1)e=e[0];a[f]=e}}return a};
OpenLayers.Util.getArgs=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.Util.getParameters"}));return OpenLayers.Util.getParameters(a)};OpenLayers.Util.lastSeqID=0;OpenLayers.Util.createUniqueID=function(a){if(a==null)a="id_";OpenLayers.Util.lastSeqID+=1;return a+OpenLayers.Util.lastSeqID};OpenLayers.INCHES_PER_UNIT={inches:1,ft:12,mi:63360,m:39.3701,km:39370.1,dd:4374754,yd:36};OpenLayers.INCHES_PER_UNIT["in"]=OpenLayers.INCHES_PER_UNIT.inches;
OpenLayers.INCHES_PER_UNIT.degrees=OpenLayers.INCHES_PER_UNIT.dd;OpenLayers.INCHES_PER_UNIT.nmi=1852*OpenLayers.INCHES_PER_UNIT.m;OpenLayers.METERS_PER_INCH=0.0254000508001016;
OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{Inch:OpenLayers.INCHES_PER_UNIT.inches,Meter:1/OpenLayers.METERS_PER_INCH,Foot:0.3048006096012192/OpenLayers.METERS_PER_INCH,IFoot:0.3048/OpenLayers.METERS_PER_INCH,ClarkeFoot:0.3047972651151/OpenLayers.METERS_PER_INCH,SearsFoot:0.30479947153867626/OpenLayers.METERS_PER_INCH,GoldCoastFoot:0.3047997101815088/OpenLayers.METERS_PER_INCH,IInch:0.0254/OpenLayers.METERS_PER_INCH,MicroInch:2.54E-5/OpenLayers.METERS_PER_INCH,Mil:2.54E-8/OpenLayers.METERS_PER_INCH,
Centimeter:0.01/OpenLayers.METERS_PER_INCH,Kilometer:1E3/OpenLayers.METERS_PER_INCH,Yard:0.9144018288036576/OpenLayers.METERS_PER_INCH,SearsYard:0.914398414616029/OpenLayers.METERS_PER_INCH,IndianYard:0.9143985307444408/OpenLayers.METERS_PER_INCH,IndianYd37:0.91439523/OpenLayers.METERS_PER_INCH,IndianYd62:0.9143988/OpenLayers.METERS_PER_INCH,IndianYd75:0.9143985/OpenLayers.METERS_PER_INCH,IndianFoot:0.30479951/OpenLayers.METERS_PER_INCH,IndianFt37:0.30479841/OpenLayers.METERS_PER_INCH,IndianFt62:0.3047996/
OpenLayers.METERS_PER_INCH,IndianFt75:0.3047995/OpenLayers.METERS_PER_INCH,Mile:1609.3472186944373/OpenLayers.METERS_PER_INCH,IYard:0.9144/OpenLayers.METERS_PER_INCH,IMile:1609.344/OpenLayers.METERS_PER_INCH,NautM:1852/OpenLayers.METERS_PER_INCH,"Lat-66":110943.31648893273/OpenLayers.METERS_PER_INCH,"Lat-83":110946.25736872235/OpenLayers.METERS_PER_INCH,Decimeter:0.1/OpenLayers.METERS_PER_INCH,Millimeter:0.001/OpenLayers.METERS_PER_INCH,Dekameter:10/OpenLayers.METERS_PER_INCH,Decameter:10/OpenLayers.METERS_PER_INCH,
Hectometer:100/OpenLayers.METERS_PER_INCH,GermanMeter:1.0000135965/OpenLayers.METERS_PER_INCH,CaGrid:0.999738/OpenLayers.METERS_PER_INCH,ClarkeChain:20.1166194976/OpenLayers.METERS_PER_INCH,GunterChain:20.11684023368047/OpenLayers.METERS_PER_INCH,BenoitChain:20.116782494375872/OpenLayers.METERS_PER_INCH,SearsChain:20.11676512155/OpenLayers.METERS_PER_INCH,ClarkeLink:0.201166194976/OpenLayers.METERS_PER_INCH,GunterLink:0.2011684023368047/OpenLayers.METERS_PER_INCH,BenoitLink:0.20116782494375873/OpenLayers.METERS_PER_INCH,
SearsLink:0.2011676512155/OpenLayers.METERS_PER_INCH,Rod:5.02921005842012/OpenLayers.METERS_PER_INCH,IntnlChain:20.1168/OpenLayers.METERS_PER_INCH,IntnlLink:0.201168/OpenLayers.METERS_PER_INCH,Perch:5.02921005842012/OpenLayers.METERS_PER_INCH,Pole:5.02921005842012/OpenLayers.METERS_PER_INCH,Furlong:201.1684023368046/OpenLayers.METERS_PER_INCH,Rood:3.778266898/OpenLayers.METERS_PER_INCH,CapeFoot:0.3047972615/OpenLayers.METERS_PER_INCH,Brealey:375/OpenLayers.METERS_PER_INCH,ModAmFt:0.304812252984506/
OpenLayers.METERS_PER_INCH,Fathom:1.8288/OpenLayers.METERS_PER_INCH,"NautM-UK":1853.184/OpenLayers.METERS_PER_INCH,"50kilometers":5E4/OpenLayers.METERS_PER_INCH,"150kilometers":15E4/OpenLayers.METERS_PER_INCH});
OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{mm:OpenLayers.INCHES_PER_UNIT.Meter/1E3,cm:OpenLayers.INCHES_PER_UNIT.Meter/100,dm:OpenLayers.INCHES_PER_UNIT.Meter*100,km:OpenLayers.INCHES_PER_UNIT.Meter*1E3,kmi:OpenLayers.INCHES_PER_UNIT.nmi,fath:OpenLayers.INCHES_PER_UNIT.Fathom,ch:OpenLayers.INCHES_PER_UNIT.IntnlChain,link:OpenLayers.INCHES_PER_UNIT.IntnlLink,"us-in":OpenLayers.INCHES_PER_UNIT.inches,"us-ft":OpenLayers.INCHES_PER_UNIT.Foot,"us-yd":OpenLayers.INCHES_PER_UNIT.Yard,"us-ch":OpenLayers.INCHES_PER_UNIT.GunterChain,
"us-mi":OpenLayers.INCHES_PER_UNIT.Mile,"ind-yd":OpenLayers.INCHES_PER_UNIT.IndianYd37,"ind-ft":OpenLayers.INCHES_PER_UNIT.IndianFt37,"ind-ch":20.11669506/OpenLayers.METERS_PER_INCH});OpenLayers.DOTS_PER_INCH=72;OpenLayers.Util.normalizeScale=function(a){return a=a>1?1/a:a};OpenLayers.Util.getResolutionFromScale=function(a,b){if(b==null)b="degrees";a=OpenLayers.Util.normalizeScale(a);return b=1/(a*OpenLayers.INCHES_PER_UNIT[b]*OpenLayers.DOTS_PER_INCH)};
OpenLayers.Util.getScaleFromResolution=function(a,b){if(b==null)b="degrees";return a=a*OpenLayers.INCHES_PER_UNIT[b]*OpenLayers.DOTS_PER_INCH};OpenLayers.Util.safeStopPropagation=function(a){OpenLayers.Event.stop(a,true)};
OpenLayers.Util.pagePosition=function(a){for(var b=0,c=0,d=a,e=a;d;){if(d==document.body)if(OpenLayers.Element.getStyle(e,"position")=="absolute")break;b+=d.offsetTop||0;c+=d.offsetLeft||0;e=d;try{d=d.offsetParent}catch(f){OpenLayers.Console.error(OpenLayers.i18n("pagePositionFailed",{elemId:d.id}));break}}for(d=a;d;){b-=d.scrollTop||0;c-=d.scrollLeft||0;d=d.parentNode}return[c,b]};
OpenLayers.Util.isEquivalentUrl=function(a,b,c){c=c||{};OpenLayers.Util.applyDefaults(c,{ignoreCase:true,ignorePort80:true,ignoreHash:true});a=OpenLayers.Util.createUrlObject(a,c);b=OpenLayers.Util.createUrlObject(b,c);for(var d in a)if(d!=="args")if(a[d]!=b[d])return false;for(d in a.args){if(a.args[d]!=b.args[d])return false;delete b.args[d]}for(d in b.args)return false;return true};
OpenLayers.Util.createUrlObject=function(a,b){b=b||{};if(!/^\w+:\/\//.test(a)){var c=window.loc,d=c.port?":"+c.port:"";d=c.protocol+"//"+c.host.split(":").shift()+d;if(a.indexOf("/")===0)a=d+a;else{c=c.pathname.split("/");c.pop();a=d+c.join("/")+"/"+a}}if(b.ignoreCase)a=a.toLowerCase();c=document.createElement("a");c.href=a;d={};d.host=c.host.split(":").shift();d.protocol=c.protocol;d.port=b.ignorePort80?c.port=="80"||c.port=="0"?"":c.port:c.port==""||c.port=="0"?"80":c.port;d.hash=b.ignoreHash||
c.hash==="#"?"":c.hash;b=c.search;if(!b){b=a.indexOf("?");b=b!=-1?a.substr(b):""}d.args=OpenLayers.Util.getParameters(b);d.pathname=c.pathname.charAt(0)=="/"?c.pathname:"/"+c.pathname;return d};OpenLayers.Util.removeTail=function(a){var b=null;b=a.indexOf("?");var c=a.indexOf("#");return b=b==-1?c!=-1?a.substr(0,c):a:c!=-1?a.substr(0,Math.min(b,c)):a.substr(0,b)};
OpenLayers.Util.getBrowserName=function(){var a="",b=navigator.userAgent.toLowerCase();if(b.indexOf("opera")!=-1)a="opera";else if(b.indexOf("msie")!=-1)a="msie";else if(b.indexOf("safari")!=-1)a="safari";else if(b.indexOf("mozilla")!=-1)a=b.indexOf("firefox")!=-1?"firefox":"mozilla";return a};
OpenLayers.Util.getRenderedDimensions=function(a,b,c){var d,e,f=document.createElement("div");f.style.visibility="hidden";var g=c&&c.containerElement?c.containerElement:document.body;if(b)if(b.w){d=b.w;f.style.width=d+"px"}else if(b.h){e=b.h;f.style.height=e+"px"}if(c&&c.displayClass)f.className=c.displayClass;b=document.createElement("div");b.innerHTML=a;b.style.overflow="visible";if(b.childNodes){a=0;for(c=b.childNodes.length;a<c;a++)if(b.childNodes[a].style)b.childNodes[a].style.overflow="visible"}f.appendChild(b);
g.appendChild(f);a=false;for(c=f.parentNode;c&&c.tagName.toLowerCase()!="body";){var i=OpenLayers.Element.getStyle(c,"position");if(i=="absolute"){a=true;break}else if(i&&i!="static")break;c=c.parentNode}if(!a)f.style.position="absolute";if(!d){d=parseInt(b.scrollWidth);f.style.width=d+"px"}e||(e=parseInt(b.scrollHeight));f.removeChild(b);g.removeChild(f);return new OpenLayers.Size(d,e)};
OpenLayers.Util.getScrollbarWidth=function(){var a=OpenLayers.Util._scrollbarWidth;if(a==null){var b=null,c=null;b=a=0;b=document.createElement("div");b.style.position="absolute";b.style.top="-1000px";b.style.left="-1000px";b.style.width="100px";b.style.height="50px";b.style.overflow="hidden";c=document.createElement("div");c.style.width="100%";c.style.height="200px";b.appendChild(c);document.body.appendChild(b);a=c.offsetWidth;b.style.overflow="scroll";b=c.offsetWidth;document.body.removeChild(document.body.lastChild);
OpenLayers.Util._scrollbarWidth=a-b;a=OpenLayers.Util._scrollbarWidth}return a};OpenLayers.Rico={};
OpenLayers.Rico.Corner={round:function(a,b){a=OpenLayers.Util.getElement(a);this._setOptions(b);b=this.options.color;if(this.options.color=="fromElement")b=this._background(a);var c=this.options.bgColor;if(this.options.bgColor=="fromParent")c=this._background(a.offsetParent);this._roundCornersImpl(a,b,c)},changeColor:function(a,b){a.style.backgroundColor=b;a=a.parentNode.getElementsByTagName("span");for(var c=0;c<a.length;c++)a[c].style.backgroundColor=b},changeOpacity:function(a,b){var c=b;b="alpha(opacity="+
b*100+")";a.style.opacity=c;a.style.filter=b;a=a.parentNode.getElementsByTagName("span");for(var d=0;d<a.length;d++){a[d].style.opacity=c;a[d].style.filter=b}},reRound:function(a,b){var c=a.parentNode.childNodes[0],d=a.parentNode.childNodes[2];a.parentNode.removeChild(c);a.parentNode.removeChild(d);this.round(a.parentNode,b)},_roundCornersImpl:function(a,b,c){this.options.border&&this._renderBorder(a,c);this._isTopRounded()&&this._roundTopCorners(a,b,c);this._isBottomRounded()&&this._roundBottomCorners(a,
b,c)},_renderBorder:function(a,b){var c="1px solid "+this._borderColor(b);b="border-left: "+c;c="border-right: "+c;b="style='"+b+";"+c+"'";a.innerHTML="<div "+b+">"+a.innerHTML+"</div>"},_roundTopCorners:function(a,b,c){for(var d=this._createCorner(c),e=0;e<this.options.numSlices;e++)d.appendChild(this._createCornerSlice(b,c,e,"top"));a.style.paddingTop=0;a.insertBefore(d,a.firstChild)},_roundBottomCorners:function(a,b,c){for(var d=this._createCorner(c),e=this.options.numSlices-1;e>=0;e--)d.appendChild(this._createCornerSlice(b,
c,e,"bottom"));a.style.paddingBottom=0;a.appendChild(d)},_createCorner:function(a){var b=document.createElement("div");b.style.backgroundColor=this._isTransparent()?"transparent":a;return b},_createCornerSlice:function(a,b,c,d){var e=document.createElement("span"),f=e.style;f.backgroundColor=a;f.display="block";f.height="1px";f.overflow="hidden";f.fontSize="1px";a=this._borderColor(a,b);if(this.options.border&&c==0){f.borderTopStyle="solid";f.borderTopWidth="1px";f.borderLeftWidth="0px";f.borderRightWidth=
"0px";f.borderBottomWidth="0px";f.height="0px";f.borderColor=a}else if(a){f.borderColor=a;f.borderStyle="solid";f.borderWidth="0px 1px"}if(!this.options.compact&&c==this.options.numSlices-1)f.height="2px";this._setMargin(e,c,d);this._setBorder(e,c,d);return e},_setOptions:function(a){this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false};OpenLayers.Util.extend(this.options,a||{});this.options.numSlices=this.options.compact?2:4;if(this._isTransparent())this.options.blend=
false},_whichSideTop:function(){if(this._hasString(this.options.corners,"all","top"))return"";if(this.options.corners.indexOf("tl")>=0&&this.options.corners.indexOf("tr")>=0)return"";if(this.options.corners.indexOf("tl")>=0)return"left";else if(this.options.corners.indexOf("tr")>=0)return"right";return""},_whichSideBottom:function(){if(this._hasString(this.options.corners,"all","bottom"))return"";if(this.options.corners.indexOf("bl")>=0&&this.options.corners.indexOf("br")>=0)return"";if(this.options.corners.indexOf("bl")>=
0)return"left";else if(this.options.corners.indexOf("br")>=0)return"right";return""},_borderColor:function(a,b){return a=="transparent"?b:this.options.border?this.options.border:this.options.blend?this._blend(b,a):""},_setMargin:function(a,b,c){b=this._marginSize(b);c=c=="top"?this._whichSideTop():this._whichSideBottom();if(c=="left"){a.style.marginLeft=b+"px";a.style.marginRight="0px"}else if(c=="right"){a.style.marginRight=b+"px";a.style.marginLeft="0px"}else{a.style.marginLeft=b+"px";a.style.marginRight=
b+"px"}},_setBorder:function(a,b,c){b=this._borderSize(b);c=c=="top"?this._whichSideTop():this._whichSideBottom();if(c=="left"){a.style.borderLeftWidth=b+"px";a.style.borderRightWidth="0px"}else if(c=="right"){a.style.borderRightWidth=b+"px";a.style.borderLeftWidth="0px"}else{a.style.borderLeftWidth=b+"px";a.style.borderRightWidth=b+"px"}if(this.options.border!=false){a.style.borderLeftWidth=b+"px";a.style.borderRightWidth=b+"px"}},_marginSize:function(a){if(this._isTransparent())return 0;var b=[5,
3,2,1],c=[3,2,1,0],d=[2,1],e=[1,0];return this.options.compact&&this.options.blend?e[a]:this.options.compact?d[a]:this.options.blend?c[a]:b[a]},_borderSize:function(a){var b=[5,3,2,1],c=[2,1,1,1],d=[1,0],e=[0,2,0,0];if(this.options.compact&&(this.options.blend||this._isTransparent()))return 1;else if(this.options.compact)return d[a];else if(this.options.blend)return c[a];else if(this.options.border)return e[a];else if(this._isTransparent())return b[a];return 0},_hasString:function(a){for(var b=1;b<
arguments.length;b++)if(a.indexOf(arguments[b])>=0)return true;return false},_blend:function(a,b){a=OpenLayers.Rico.Color.createFromHex(a);a.blend(OpenLayers.Rico.Color.createFromHex(b));return a},_background:function(a){try{return OpenLayers.Rico.Color.createColorFromBackground(a).asHex()}catch(b){return"#ffffff"}},_isTransparent:function(){return this.options.color=="transparent"},_isTopRounded:function(){return this._hasString(this.options.corners,"all","top","tl","tr")},_isBottomRounded:function(){return this._hasString(this.options.corners,
"all","bottom","bl","br")},_hasSingleTextChild:function(a){return a.childNodes.length==1&&a.childNodes[0].nodeType==3}};
OpenLayers.Element={visible:function(a){return OpenLayers.Util.getElement(a).style.display!="none"},toggle:function(){for(var a=0,b=arguments.length;a<b;a++){var c=OpenLayers.Util.getElement(arguments[a]),d=OpenLayers.Element.visible(c)?"hide":"show";OpenLayers.Element[d](c)}},hide:function(){for(var a=0,b=arguments.length;a<b;a++){var c=OpenLayers.Util.getElement(arguments[a]);c.style.display="none"}},show:function(){for(var a=0,b=arguments.length;a<b;a++){var c=OpenLayers.Util.getElement(arguments[a]);
c.style.display=""}},remove:function(a){a=OpenLayers.Util.getElement(a);a.parentNode.removeChild(a)},getHeight:function(a){a=OpenLayers.Util.getElement(a);return a.offsetHeight},getDimensions:function(a){a=OpenLayers.Util.getElement(a);if(OpenLayers.Element.getStyle(a,"display")!="none")return{width:a.offsetWidth,height:a.offsetHeight};var b=a.style,c=b.visibility,d=b.position;b.visibility="hidden";b.position="absolute";b.display="";var e=a.clientWidth;a=a.clientHeight;b.display="none";b.position=
d;b.visibility=c;return{width:e,height:a}},hasClass:function(a,b){a=a.className;return!!a&&(new RegExp("(^|\\s)"+b+"(\\s|$)")).test(a)},addClass:function(a,b){OpenLayers.Element.hasClass(a,b)||(a.className+=(a.className?" ":"")+b);return a},removeClass:function(a,b){var c=a.className;if(c)a.className=OpenLayers.String.trim(c.replace(new RegExp("(^|\\s+)"+b+"(\\s+|$)")," "));return a},toggleClass:function(a,b){OpenLayers.Element.hasClass(a,b)?OpenLayers.Element.removeClass(a,b):OpenLayers.Element.addClass(a,
b);return a},getStyle:function(a,b){a=OpenLayers.Util.getElement(a);var c=null;if(a&&a.style){c=a.style[OpenLayers.String.camelize(b)];if(!c)if(document.defaultView&&document.defaultView.getComputedStyle)c=(c=document.defaultView.getComputedStyle(a,null))?c.getPropertyValue(b):null;else if(a.currentStyle)c=a.currentStyle[OpenLayers.String.camelize(b)];var d=["left","top","right","bottom"];if(window.opera&&OpenLayers.Util.indexOf(d,b)!=-1&&OpenLayers.Element.getStyle(a,"position")=="static")c="auto"}return c==
"auto"?null:c}};OpenLayers.Size=OpenLayers.Class({w:0,h:0,initialize:function(a,b){this.w=parseFloat(a);this.h=parseFloat(b)},toString:function(){return"w="+this.w+",h="+this.h},clone:function(){return new OpenLayers.Size(this.w,this.h)},equals:function(a){var b=false;if(a!=null)b=this.w==a.w&&this.h==a.h||isNaN(this.w)&&isNaN(this.h)&&isNaN(a.w)&&isNaN(a.h);return b},CLASS_NAME:"OpenLayers.Size"});
OpenLayers.Console={log:function(){},debug:function(){},info:function(){},warn:function(){},error:function(){},userError:function(a){alert(a)},assert:function(){},dir:function(){},dirxml:function(){},trace:function(){},group:function(){},groupEnd:function(){},time:function(){},timeEnd:function(){},profile:function(){},profileEnd:function(){},count:function(){},CLASS_NAME:"OpenLayers.Console"};
(function(){for(var a=document.getElementsByTagName("script"),b=0,c=a.length;b<c;++b)if(a[b].src.indexOf("firebug.js")!=-1)if(console){OpenLayers.Util.extend(OpenLayers.Console,console);break}})();
OpenLayers.Icon=OpenLayers.Class({url:null,size:null,offset:null,calculateOffset:null,imageDiv:null,px:null,initialize:function(a,b,c,d){this.url=a;this.size=b?b:new OpenLayers.Size(20,20);this.offset=c?c:new OpenLayers.Pixel(-(this.size.w/2),-(this.size.h/2));this.calculateOffset=d;a=OpenLayers.Util.createUniqueID("OL_Icon_");this.imageDiv=OpenLayers.Util.createAlphaImageDiv(a)},destroy:function(){this.erase();OpenLayers.Event.stopObservingElement(this.imageDiv.firstChild);this.imageDiv.innerHTML=
"";this.imageDiv=null},clone:function(){return new OpenLayers.Icon(this.url,this.size,this.offset,this.calculateOffset)},setSize:function(a){if(a!=null)this.size=a;this.draw()},setUrl:function(a){if(a!=null)this.url=a;this.draw()},draw:function(a){OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,null,this.size,this.url,"absolute");this.moveTo(a);return this.imageDiv},erase:function(){this.imageDiv!=null&&this.imageDiv.parentNode!=null&&OpenLayers.Element.remove(this.imageDiv)},setOpacity:function(a){OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,
null,null,null,null,null,null,null,a)},moveTo:function(a){if(a!=null)this.px=a;if(this.imageDiv!=null)if(this.px==null)this.display(false);else{if(this.calculateOffset)this.offset=this.calculateOffset(this.size);a=this.px.offset(this.offset);OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,a)}},display:function(a){this.imageDiv.style.display=a?"":"none"},isDrawn:function(){var a=this.imageDiv&&this.imageDiv.parentNode&&this.imageDiv.parentNode.nodeType!=11;return a},CLASS_NAME:"OpenLayers.Icon"});
OpenLayers.Popup=OpenLayers.Class({events:null,id:"",lonlat:null,div:null,contentSize:null,size:null,contentHTML:null,backgroundColor:"",opacity:"",border:"",contentDiv:null,groupDiv:null,closeDiv:null,autoSize:false,minSize:null,maxSize:null,displayClass:"olPopup",contentDisplayClass:"olPopupContent",padding:0,disableFirefoxOverflowHack:false,fixPadding:function(){if(typeof this.padding=="number")this.padding=new OpenLayers.Bounds(this.padding,this.padding,this.padding,this.padding)},panMapIfOutOfView:false,
keepInMap:false,closeOnMove:false,map:null,initialize:function(a,b,c,d,e,f){if(a==null)a=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");this.id=a;this.lonlat=b;this.contentSize=c!=null?c:new OpenLayers.Size(OpenLayers.Popup.WIDTH,OpenLayers.Popup.HEIGHT);if(d!=null)this.contentHTML=d;this.backgroundColor=OpenLayers.Popup.COLOR;this.opacity=OpenLayers.Popup.OPACITY;this.border=OpenLayers.Popup.BORDER;this.div=OpenLayers.Util.createDiv(this.id,null,null,null,null,null,"hidden");this.div.className=
this.displayClass;a=this.id+"_GroupDiv";this.groupDiv=OpenLayers.Util.createDiv(a,null,null,null,"relative",null,"hidden");a=this.div.id+"_contentDiv";this.contentDiv=OpenLayers.Util.createDiv(a,null,this.contentSize.clone(),null,"relative");this.contentDiv.className=this.contentDisplayClass;this.groupDiv.appendChild(this.contentDiv);this.div.appendChild(this.groupDiv);e&&this.addCloseBox(f);this.registerEvents()},destroy:function(){this.border=this.opacity=this.backgroundColor=this.contentHTML=this.size=
this.lonlat=this.id=null;this.closeOnMove&&this.map&&this.map.events.unregister("movestart",this,this.hide);this.events.destroy();this.events=null;if(this.closeDiv){OpenLayers.Event.stopObservingElement(this.closeDiv);this.groupDiv.removeChild(this.closeDiv)}this.closeDiv=null;this.div.removeChild(this.groupDiv);this.groupDiv=null;this.map!=null&&this.map.removePopup(this);this.panMapIfOutOfView=this.padding=this.maxSize=this.minSize=this.autoSize=this.div=this.map=null},draw:function(a){if(a==null)if(this.lonlat!=
null&&this.map!=null)a=this.map.getLayerPxFromLonLat(this.lonlat);this.closeOnMove&&this.map.events.register("movestart",this,this.hide);if(!this.disableFirefoxOverflowHack&&OpenLayers.Util.getBrowserName()=="firefox"){this.map.events.register("movestart",this,function(){var b=document.defaultView.getComputedStyle(this.contentDiv,null);b=b.getPropertyValue("overflow");if(b!="hidden"){this.contentDiv._oldOverflow=b;this.contentDiv.style.overflow="hidden"}});this.map.events.register("moveend",this,
function(){var b=this.contentDiv._oldOverflow;if(b){this.contentDiv.style.overflow=b;this.contentDiv._oldOverflow=null}})}this.moveTo(a);!this.autoSize&&!this.size&&this.setSize(this.contentSize);this.setBackgroundColor();this.setOpacity();this.setBorder();this.setContentHTML();this.panMapIfOutOfView&&this.panIntoView();return this.div},updatePosition:function(){if(this.lonlat&&this.map){var a=this.map.getLayerPxFromLonLat(this.lonlat);a&&this.moveTo(a)}},moveTo:function(a){if(a!=null&&this.div!=
null){this.div.style.left=a.x+"px";this.div.style.top=a.y+"px"}},visible:function(){return OpenLayers.Element.visible(this.div)},toggle:function(){this.visible()?this.hide():this.show()},show:function(){OpenLayers.Element.show(this.div);this.panMapIfOutOfView&&this.panIntoView()},hide:function(){OpenLayers.Element.hide(this.div)},setSize:function(a){this.size=a.clone();var b=this.getContentDivPadding(),c=b.left+b.right,d=b.top+b.bottom;this.fixPadding();c+=this.padding.left+this.padding.right;d+=
this.padding.top+this.padding.bottom;if(this.closeDiv){var e=parseInt(this.closeDiv.style.width);c+=e+b.right}this.size.w+=c;this.size.h+=d;if(OpenLayers.Util.getBrowserName()=="msie"){this.contentSize.w+=b.left+b.right;this.contentSize.h+=b.bottom+b.top}if(this.div!=null){this.div.style.width=this.size.w+"px";this.div.style.height=this.size.h+"px"}if(this.contentDiv!=null){this.contentDiv.style.width=a.w+"px";this.contentDiv.style.height=a.h+"px"}},updateSize:function(){var a="<div class='"+this.contentDisplayClass+
"'>"+this.contentDiv.innerHTML+"</div>",b=this.map?this.map.layerContainerDiv:document.body,c=OpenLayers.Util.getRenderedDimensions(a,null,{displayClass:this.displayClass,containerElement:b}),d=this.getSafeContentSize(c),e=null;if(d.equals(c))e=c;else{e=new OpenLayers.Size;e.w=d.w<c.w?d.w:null;e.h=d.h<c.h?d.h:null;if(e.w&&e.h)e=d;else{a=OpenLayers.Util.getRenderedDimensions(a,e,{displayClass:this.contentDisplayClass,containerElement:b});b=OpenLayers.Element.getStyle(this.contentDiv,"overflow");if(b!=
"hidden"&&a.equals(d)){d=OpenLayers.Util.getScrollbarWidth();if(e.w)a.h+=d;else a.w+=d}e=this.getSafeContentSize(a)}}this.setSize(e)},setBackgroundColor:function(a){if(a!=undefined)this.backgroundColor=a;if(this.div!=null)this.div.style.backgroundColor=this.backgroundColor},setOpacity:function(a){if(a!=undefined)this.opacity=a;if(this.div!=null){this.div.style.opacity=this.opacity;this.div.style.filter="alpha(opacity="+this.opacity*100+")"}},setBorder:function(a){if(a!=undefined)this.border=a;if(this.div!=
null)this.div.style.border=this.border},setContentHTML:function(a){if(a!=null)this.contentHTML=a;if(this.contentDiv!=null&&this.contentHTML!=null&&this.contentHTML!=this.contentDiv.innerHTML){this.contentDiv.innerHTML=this.contentHTML;if(this.autoSize){this.registerImageListeners();this.updateSize()}}},registerImageListeners:function(){for(var a=function(){this.popup.updateSize();this.popup.visible()&&this.popup.panMapIfOutOfView&&this.popup.panIntoView();OpenLayers.Event.stopObserving(this.img,"load",
this.img._onImageLoad)},b=this.contentDiv.getElementsByTagName("img"),c=0,d=b.length;c<d;c++){var e=b[c];if(e.width==0||e.height==0){var f={popup:this,img:e};e._onImgLoad=OpenLayers.Function.bind(a,f);OpenLayers.Event.observe(e,"load",e._onImgLoad)}}},getSafeContentSize:function(a){a=a.clone();var b=this.getContentDivPadding(),c=b.left+b.right,d=b.top+b.bottom;this.fixPadding();c+=this.padding.left+this.padding.right;d+=this.padding.top+this.padding.bottom;if(this.closeDiv){var e=parseInt(this.closeDiv.style.width);
c+=e+b.right}if(this.minSize){a.w=Math.max(a.w,this.minSize.w-c);a.h=Math.max(a.h,this.minSize.h-d)}if(this.maxSize){a.w=Math.min(a.w,this.maxSize.w-c);a.h=Math.min(a.h,this.maxSize.h-d)}if(this.map&&this.map.size){e=b=0;if(this.keepInMap&&!this.panMapIfOutOfView){e=this.map.getPixelFromLonLat(this.lonlat);switch(this.relativePosition){case "tr":b=e.x;e=this.map.size.h-e.y;break;case "tl":b=this.map.size.w-e.x;e=this.map.size.h-e.y;break;case "bl":b=this.map.size.w-e.x;e=e.y;break;case "br":b=e.x;
e=e.y;break;default:b=e.x;e=this.map.size.h-e.y;break}}d=this.map.size.h-this.map.paddingForPopups.top-this.map.paddingForPopups.bottom-d-e;c=this.map.size.w-this.map.paddingForPopups.left-this.map.paddingForPopups.right-c-b;a.w=Math.min(a.w,c);a.h=Math.min(a.h,d)}return a},getContentDivPadding:function(){var a=this._contentDivPadding;if(!a){if(this.div.parentNode==null){this.div.style.display="none";document.body.appendChild(this.div)}this._contentDivPadding=a=new OpenLayers.Bounds(OpenLayers.Element.getStyle(this.contentDiv,
"padding-left"),OpenLayers.Element.getStyle(this.contentDiv,"padding-bottom"),OpenLayers.Element.getStyle(this.contentDiv,"padding-right"),OpenLayers.Element.getStyle(this.contentDiv,"padding-top"));if(this.div.parentNode==document.body){document.body.removeChild(this.div);this.div.style.display=""}}return a},addCloseBox:function(a){this.closeDiv=OpenLayers.Util.createDiv(this.id+"_close",null,new OpenLayers.Size(17,17));this.closeDiv.className="olPopupCloseBox";var b=this.getContentDivPadding();
this.closeDiv.style.right=b.right+"px";this.closeDiv.style.top=b.top+"px";this.groupDiv.appendChild(this.closeDiv);a=a||function(c){this.hide();OpenLayers.Event.stop(c)};OpenLayers.Event.observe(this.closeDiv,"click",OpenLayers.Function.bindAsEventListener(a,this))},panIntoView:function(){var a=this.map.getSize(),b=this.map.getViewPortPxFromLayerPx(new OpenLayers.Pixel(parseInt(this.div.style.left),parseInt(this.div.style.top))),c=b.clone();if(b.x<this.map.paddingForPopups.left)c.x=this.map.paddingForPopups.left;
else if(b.x+this.size.w>a.w-this.map.paddingForPopups.right)c.x=a.w-this.map.paddingForPopups.right-this.size.w;if(b.y<this.map.paddingForPopups.top)c.y=this.map.paddingForPopups.top;else if(b.y+this.size.h>a.h-this.map.paddingForPopups.bottom)c.y=a.h-this.map.paddingForPopups.bottom-this.size.h;a=b.x-c.x;b=b.y-c.y;this.map.pan(a,b)},registerEvents:function(){this.events=new OpenLayers.Events(this,this.div,null,true);this.events.on({mousedown:this.onmousedown,mousemove:this.onmousemove,mouseup:this.onmouseup,
click:this.onclick,mouseout:this.onmouseout,dblclick:this.ondblclick,scope:this})},onmousedown:function(a){this.mousedown=true;OpenLayers.Event.stop(a,true)},onmousemove:function(a){this.mousedown&&OpenLayers.Event.stop(a,true)},onmouseup:function(a){if(this.mousedown){this.mousedown=false;OpenLayers.Event.stop(a,true)}},onclick:function(a){OpenLayers.Event.stop(a,true)},onmouseout:function(){this.mousedown=false},ondblclick:function(a){OpenLayers.Event.stop(a,true)},CLASS_NAME:"OpenLayers.Popup"});
OpenLayers.Popup.WIDTH=200;OpenLayers.Popup.HEIGHT=200;OpenLayers.Popup.COLOR="white";OpenLayers.Popup.OPACITY=1;OpenLayers.Popup.BORDER="0px";
OpenLayers.Popup.Anchored=OpenLayers.Class(OpenLayers.Popup,{relativePosition:null,keepInMap:true,anchor:null,initialize:function(a,b,c,d,e,f,g){a=[a,b,c,d,f,g];OpenLayers.Popup.prototype.initialize.apply(this,a);this.anchor=e!=null?e:{size:new OpenLayers.Size(0,0),offset:new OpenLayers.Pixel(0,0)}},destroy:function(){this.relativePosition=this.anchor=null;OpenLayers.Popup.prototype.destroy.apply(this,arguments)},show:function(){this.updatePosition();OpenLayers.Popup.prototype.show.apply(this,arguments)},
moveTo:function(a){var b=this.relativePosition;this.relativePosition=this.calculateRelativePosition(a);a=this.calculateNewPx(a);a=new Array(a);OpenLayers.Popup.prototype.moveTo.apply(this,a);this.relativePosition!=b&&this.updateRelativePosition()},setSize:function(){OpenLayers.Popup.prototype.setSize.apply(this,arguments);if(this.lonlat&&this.map){var a=this.map.getLayerPxFromLonLat(this.lonlat);this.moveTo(a)}},calculateRelativePosition:function(a){a=this.map.getLonLatFromLayerPx(a);var b=this.map.getExtent();
a=b.determineQuadrant(a);return OpenLayers.Bounds.oppositeQuadrant(a)},updateRelativePosition:function(){},calculateNewPx:function(a){a=a.offset(this.anchor.offset);var b=this.size||this.contentSize,c=this.relativePosition.charAt(0)=="t";a.y+=c?-b.h:this.anchor.size.h;c=this.relativePosition.charAt(1)=="l";a.x+=c?-b.w:this.anchor.size.w;return a},CLASS_NAME:"OpenLayers.Popup.Anchored"});
OpenLayers.Renderer=OpenLayers.Class({container:null,root:null,extent:null,locked:false,size:null,resolution:null,map:null,initialize:function(a){this.container=OpenLayers.Util.getElement(a)},destroy:function(){this.map=this.resolution=this.size=this.extent=this.container=null},supported:function(){return false},setExtent:function(a,b){this.extent=a.clone();if(b)this.resolution=null},setSize:function(a){this.size=a.clone();this.resolution=null},getResolution:function(){return this.resolution=this.resolution||
this.map.getResolution()},drawFeature:function(a,b){if(b==null)b=a.style;if(a.geometry){var c=a.geometry.getBounds();if(c){c.intersectsBounds(this.extent)||(b={display:"none"});c=this.drawGeometry(a.geometry,b,a.id);b.display!="none"&&b.label&&c!==false?this.drawText(a.id,b,a.geometry.getCentroid()):this.removeText(a.id);return c}}},drawGeometry:function(){},drawText:function(){},removeText:function(){},clear:function(){},getFeatureIdFromEvent:function(){},eraseFeatures:function(a){a instanceof Array||
(a=[a]);for(var b=0,c=a.length;b<c;++b){this.eraseGeometry(a[b].geometry);this.removeText(a[b].id)}},eraseGeometry:function(){},moveRoot:function(){},getRenderLayerId:function(){return this.container.id},CLASS_NAME:"OpenLayers.Renderer"});
OpenLayers.Rico.Color=OpenLayers.Class({initialize:function(a,b,c){this.rgb={r:a,g:b,b:c}},setRed:function(a){this.rgb.r=a},setGreen:function(a){this.rgb.g=a},setBlue:function(a){this.rgb.b=a},setHue:function(a){var b=this.asHSB();b.h=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)},setSaturation:function(a){var b=this.asHSB();b.s=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)},setBrightness:function(a){var b=this.asHSB();b.b=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)},
darken:function(a){var b=this.asHSB();this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,Math.max(b.b-a,0))},brighten:function(a){var b=this.asHSB();this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,Math.min(b.b+a,1))},blend:function(a){this.rgb.r=Math.floor((this.rgb.r+a.rgb.r)/2);this.rgb.g=Math.floor((this.rgb.g+a.rgb.g)/2);this.rgb.b=Math.floor((this.rgb.b+a.rgb.b)/2)},isBright:function(){this.asHSB();return this.asHSB().b>0.5},isDark:function(){return!this.isBright()},asRGB:function(){return"rgb("+
this.rgb.r+","+this.rgb.g+","+this.rgb.b+")"},asHex:function(){return"#"+this.rgb.r.toColorPart()+this.rgb.g.toColorPart()+this.rgb.b.toColorPart()},asHSB:function(){return OpenLayers.Rico.Color.RGBtoHSB(this.rgb.r,this.rgb.g,this.rgb.b)},toString:function(){return this.asHex()}});
OpenLayers.Rico.Color.createFromHex=function(a){if(a.length==4){var b=a;a="#";for(var c=1;c<4;c++)a+=b.charAt(c)+b.charAt(c)}if(a.indexOf("#")==0)a=a.substring(1);b=a.substring(0,2);c=a.substring(2,4);a=a.substring(4,6);return new OpenLayers.Rico.Color(parseInt(b,16),parseInt(c,16),parseInt(a,16))};
OpenLayers.Rico.Color.createColorFromBackground=function(a){var b=RicoUtil.getElementsComputedStyle(OpenLayers.Util.getElement(a),"backgroundColor","background-color");if(b=="transparent"&&a.parentNode)return OpenLayers.Rico.Color.createColorFromBackground(a.parentNode);if(b==null)return new OpenLayers.Rico.Color(255,255,255);if(b.indexOf("rgb(")==0){a=b.substring(4,b.length-1);a=a.split(",");return new OpenLayers.Rico.Color(parseInt(a[0]),parseInt(a[1]),parseInt(a[2]))}else return b.indexOf("#")==
0?OpenLayers.Rico.Color.createFromHex(b):new OpenLayers.Rico.Color(255,255,255)};
OpenLayers.Rico.Color.HSBtoRGB=function(a,b,c){var d=0,e=0,f=0;if(b==0)f=e=d=parseInt(c*255+0.5);else{a=(a-Math.floor(a))*6;var g=a-Math.floor(a),i=c*(1-b),h=c*(1-b*g);b=c*(1-b*(1-g));switch(parseInt(a)){case 0:d=c*255+0.5;e=b*255+0.5;f=i*255+0.5;break;case 1:d=h*255+0.5;e=c*255+0.5;f=i*255+0.5;break;case 2:d=i*255+0.5;e=c*255+0.5;f=b*255+0.5;break;case 3:d=i*255+0.5;e=h*255+0.5;f=c*255+0.5;break;case 4:d=b*255+0.5;e=i*255+0.5;f=c*255+0.5;break;case 5:d=c*255+0.5;e=i*255+0.5;f=h*255+0.5;break}}return{r:parseInt(d),
g:parseInt(e),b:parseInt(f)}};OpenLayers.Rico.Color.RGBtoHSB=function(a,b,c){var d,e,f=a>b?a:b;if(c>f)f=c;var g=a<b?a:b;if(c<g)g=c;e=f/255;d=f!=0?(f-g)/f:0;if(d==0)a=0;else{var i=(f-a)/(f-g),h=(f-b)/(f-g);c=(f-c)/(f-g);a=a==f?c-h:b==f?2+i-c:4+h-i;a/=6;if(a<0)a+=1}return{h:a,s:d,b:e}};
OpenLayers.Bounds=OpenLayers.Class({left:null,bottom:null,right:null,top:null,centerLonLat:null,initialize:function(a,b,c,d){if(a!=null)this.left=OpenLayers.Util.toFloat(a);if(b!=null)this.bottom=OpenLayers.Util.toFloat(b);if(c!=null)this.right=OpenLayers.Util.toFloat(c);if(d!=null)this.top=OpenLayers.Util.toFloat(d)},clone:function(){return new OpenLayers.Bounds(this.left,this.bottom,this.right,this.top)},equals:function(a){var b=false;if(a!=null)b=this.left==a.left&&this.right==a.right&&this.top==
a.top&&this.bottom==a.bottom;return b},toString:function(){return"left-bottom=("+this.left+","+this.bottom+") right-top=("+this.right+","+this.top+")"},toArray:function(){return[this.left,this.bottom,this.right,this.top]},toBBOX:function(a){if(a==null)a=6;a=Math.pow(10,a);return a=Math.round(this.left*a)/a+","+Math.round(this.bottom*a)/a+","+Math.round(this.right*a)/a+","+Math.round(this.top*a)/a},toGeometry:function(){return new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing([new OpenLayers.Geometry.Point(this.left,
this.bottom),new OpenLayers.Geometry.Point(this.right,this.bottom),new OpenLayers.Geometry.Point(this.right,this.top),new OpenLayers.Geometry.Point(this.left,this.top)])])},getWidth:function(){return this.right-this.left},getHeight:function(){return this.top-this.bottom},getSize:function(){return new OpenLayers.Size(this.getWidth(),this.getHeight())},getCenterPixel:function(){return new OpenLayers.Pixel((this.left+this.right)/2,(this.bottom+this.top)/2)},getCenterLonLat:function(){if(!this.centerLonLat)this.centerLonLat=
new OpenLayers.LonLat((this.left+this.right)/2,(this.bottom+this.top)/2);return this.centerLonLat},scale:function(a,b){if(b==null)b=this.getCenterLonLat();var c,d;if(b.CLASS_NAME=="OpenLayers.LonLat"){c=b.lon;d=b.lat}else{c=b.x;d=b.y}b=(this.left-c)*a+c;var e=(this.bottom-d)*a+d;c=(this.right-c)*a+c;a=(this.top-d)*a+d;return new OpenLayers.Bounds(b,e,c,a)},add:function(a,b){if(a==null||b==null){a=OpenLayers.i18n("boundsAddError");OpenLayers.Console.error(a);return null}return new OpenLayers.Bounds(this.left+
a,this.bottom+b,this.right+a,this.top+b)},extend:function(a){var b=null;if(a){switch(a.CLASS_NAME){case "OpenLayers.LonLat":b=new OpenLayers.Bounds(a.lon,a.lat,a.lon,a.lat);break;case "OpenLayers.Geometry.Point":b=new OpenLayers.Bounds(a.x,a.y,a.x,a.y);break;case "OpenLayers.Bounds":b=a;break}if(b){this.centerLonLat=null;if(this.left==null||b.left<this.left)this.left=b.left;if(this.bottom==null||b.bottom<this.bottom)this.bottom=b.bottom;if(this.right==null||b.right>this.right)this.right=b.right;if(this.top==
null||b.top>this.top)this.top=b.top}}},containsLonLat:function(a,b){return this.contains(a.lon,a.lat,b)},containsPixel:function(a,b){return this.contains(a.x,a.y,b)},contains:function(a,b,c){if(c==null)c=true;if(a==null||b==null)return false;a=OpenLayers.Util.toFloat(a);b=OpenLayers.Util.toFloat(b);var d=false;return d=c?a>=this.left&&a<=this.right&&b>=this.bottom&&b<=this.top:a>this.left&&a<this.right&&b>this.bottom&&b<this.top},intersectsBounds:function(a,b){if(b==null)b=true;var c=false,d=this.left==
a.right||this.right==a.left||this.top==a.bottom||this.bottom==a.top;if(b||!d){b=a.bottom>=this.bottom&&a.bottom<=this.top||this.bottom>=a.bottom&&this.bottom<=a.top;c=a.top>=this.bottom&&a.top<=this.top||this.top>a.bottom&&this.top<a.top;d=a.left>=this.left&&a.left<=this.right||this.left>=a.left&&this.left<=a.right;a=a.right>=this.left&&a.right<=this.right||this.right>=a.left&&this.right<=a.right;c=(b||c)&&(d||a)}return c},containsBounds:function(a,b,c){if(b==null)b=false;if(c==null)c=true;var d=
this.contains(a.left,a.bottom,c),e=this.contains(a.right,a.bottom,c),f=this.contains(a.left,a.top,c);a=this.contains(a.right,a.top,c);return b?d||e||f||a:d&&e&&f&&a},determineQuadrant:function(a){var b="",c=this.getCenterLonLat();b+=a.lat<c.lat?"b":"t";b+=a.lon<c.lon?"l":"r";return b},transform:function(a,b){this.centerLonLat=null;var c=OpenLayers.Projection.transform({x:this.left,y:this.bottom},a,b),d=OpenLayers.Projection.transform({x:this.right,y:this.bottom},a,b),e=OpenLayers.Projection.transform({x:this.left,
y:this.top},a,b);a=OpenLayers.Projection.transform({x:this.right,y:this.top},a,b);this.left=Math.min(c.x,e.x);this.bottom=Math.min(c.y,d.y);this.right=Math.max(d.x,a.x);this.top=Math.max(e.y,a.y);return this},wrapDateLine:function(a,b){b=b||{};var c=b.leftTolerance||0;b=b.rightTolerance||0;var d=this.clone();if(a){for(;d.left<a.left&&d.right-b<=a.left;)d=d.add(a.getWidth(),0);for(;d.left+c>=a.right&&d.right>a.right;)d=d.add(-a.getWidth(),0)}return d},CLASS_NAME:"OpenLayers.Bounds"});
OpenLayers.Bounds.fromString=function(a){a=a.split(",");return OpenLayers.Bounds.fromArray(a)};OpenLayers.Bounds.fromArray=function(a){return new OpenLayers.Bounds(parseFloat(a[0]),parseFloat(a[1]),parseFloat(a[2]),parseFloat(a[3]))};OpenLayers.Bounds.fromSize=function(a){return new OpenLayers.Bounds(0,a.h,a.w,0)};OpenLayers.Bounds.oppositeQuadrant=function(a){var b="";b+=a.charAt(0)=="t"?"b":"t";b+=a.charAt(1)=="l"?"r":"l";return b};
OpenLayers.LonLat=OpenLayers.Class({lon:0,lat:0,initialize:function(a,b){this.lon=OpenLayers.Util.toFloat(a);this.lat=OpenLayers.Util.toFloat(b)},toString:function(){return"lon="+this.lon+",lat="+this.lat},toShortString:function(){return this.lon+", "+this.lat},clone:function(){return new OpenLayers.LonLat(this.lon,this.lat)},add:function(a,b){if(a==null||b==null){a=OpenLayers.i18n("lonlatAddError");OpenLayers.Console.error(a);return null}return new OpenLayers.LonLat(this.lon+a,this.lat+b)},equals:function(a){var b=
false;if(a!=null)b=this.lon==a.lon&&this.lat==a.lat||isNaN(this.lon)&&isNaN(this.lat)&&isNaN(a.lon)&&isNaN(a.lat);return b},transform:function(a,b){a=OpenLayers.Projection.transform({x:this.lon,y:this.lat},a,b);this.lon=a.x;this.lat=a.y;return this},wrapDateLine:function(a){var b=this.clone();if(a){for(;b.lon<a.left;)b.lon+=a.getWidth();for(;b.lon>a.right;)b.lon-=a.getWidth()}return b},CLASS_NAME:"OpenLayers.LonLat"});
OpenLayers.LonLat.fromString=function(a){a=a.split(",");return new OpenLayers.LonLat(parseFloat(a[0]),parseFloat(a[1]))};
OpenLayers.Pixel=OpenLayers.Class({x:0,y:0,initialize:function(a,b){this.x=parseFloat(a);this.y=parseFloat(b)},toString:function(){return"x="+this.x+",y="+this.y},clone:function(){return new OpenLayers.Pixel(this.x,this.y)},equals:function(a){var b=false;if(a!=null)b=this.x==a.x&&this.y==a.y||isNaN(this.x)&&isNaN(this.y)&&isNaN(a.x)&&isNaN(a.y);return b},add:function(a,b){if(a==null||b==null){a=OpenLayers.i18n("pixelAddError");OpenLayers.Console.error(a);return null}return new OpenLayers.Pixel(this.x+
a,this.y+b)},offset:function(a){var b=this.clone();if(a)b=this.add(a.x,a.y);return b},CLASS_NAME:"OpenLayers.Pixel"});
OpenLayers.Control=OpenLayers.Class({id:null,map:null,div:null,type:null,allowSelection:false,displayClass:"",title:"",autoActivate:false,active:null,handler:null,eventListeners:null,events:null,EVENT_TYPES:["activate","deactivate"],initialize:function(a){this.displayClass=this.CLASS_NAME.replace("OpenLayers.","ol").replace(/\./g,"");OpenLayers.Util.extend(this,a);this.events=new OpenLayers.Events(this,null,this.EVENT_TYPES);this.eventListeners instanceof Object&&this.events.on(this.eventListeners);
if(this.id==null)this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){if(this.events){this.eventListeners&&this.events.un(this.eventListeners);this.events.destroy();this.events=null}this.eventListeners=null;if(this.handler){this.handler.destroy();this.handler=null}if(this.handlers){for(var a in this.handlers)this.handlers.hasOwnProperty(a)&&typeof this.handlers[a].destroy=="function"&&this.handlers[a].destroy();this.handlers=null}if(this.map){this.map.removeControl(this);
this.map=null}},setMap:function(a){this.map=a;this.handler&&this.handler.setMap(a)},draw:function(a){if(this.div==null){this.div=OpenLayers.Util.createDiv(this.id);this.div.className=this.displayClass;if(!this.allowSelection){this.div.className+=" olControlNoSelect";this.div.setAttribute("unselectable","on",0);this.div.onselectstart=function(){return false}}if(this.title!="")this.div.title=this.title}if(a!=null)this.position=a.clone();this.moveTo(this.position);return this.div},moveTo:function(a){if(a!=
null&&this.div!=null){this.div.style.left=a.x+"px";this.div.style.top=a.y+"px"}},activate:function(){if(this.active)return false;this.handler&&this.handler.activate();this.active=true;this.map&&OpenLayers.Element.addClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,"")+"Active");this.events.triggerEvent("activate");return true},deactivate:function(){if(this.active){this.handler&&this.handler.deactivate();this.active=false;this.map&&OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,
"")+"Active");this.events.triggerEvent("deactivate");return true}return false},CLASS_NAME:"OpenLayers.Control"});OpenLayers.Control.TYPE_BUTTON=1;OpenLayers.Control.TYPE_TOGGLE=2;OpenLayers.Control.TYPE_TOOL=3;
OpenLayers.Lang={code:null,defaultCode:"en",getCode:function(){OpenLayers.Lang.code||OpenLayers.Lang.setCode();return OpenLayers.Lang.code},setCode:function(a){var b;a||(a=OpenLayers.Util.getBrowserName()=="msie"?navigator.userLanguage:navigator.language);a=a.split("-");a[0]=a[0].toLowerCase();if(typeof OpenLayers.Lang[a[0]]=="object")b=a[0];if(a[1]){var c=a[0]+"-"+a[1].toUpperCase();if(typeof OpenLayers.Lang[c]=="object")b=c}if(!b){OpenLayers.Console.warn("Failed to find OpenLayers.Lang."+a.join("-")+
" dictionary, falling back to default language");b=OpenLayers.Lang.defaultCode}OpenLayers.Lang.code=b},translate:function(a,b){var c=OpenLayers.Lang[OpenLayers.Lang.getCode()];(c=c[a])||(c=a);if(b)c=OpenLayers.String.format(c,b);return c}};OpenLayers.i18n=OpenLayers.Lang.translate;
OpenLayers.Popup.AnchoredBubble=OpenLayers.Class(OpenLayers.Popup.Anchored,{rounded:false,initialize:function(){this.padding=new OpenLayers.Bounds(0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE,0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE);OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments)},draw:function(){OpenLayers.Popup.Anchored.prototype.draw.apply(this,arguments);this.setContentHTML();this.setBackgroundColor();this.setOpacity();return this.div},updateRelativePosition:function(){this.setRicoCorners()},
setSize:function(){OpenLayers.Popup.Anchored.prototype.setSize.apply(this,arguments);this.setRicoCorners()},setBackgroundColor:function(a){if(a!=undefined)this.backgroundColor=a;if(this.div!=null)if(this.contentDiv!=null){this.div.style.background="transparent";OpenLayers.Rico.Corner.changeColor(this.groupDiv,this.backgroundColor)}},setOpacity:function(a){OpenLayers.Popup.Anchored.prototype.setOpacity.call(this,a);this.div!=null&&this.groupDiv!=null&&OpenLayers.Rico.Corner.changeOpacity(this.groupDiv,
this.opacity)},setBorder:function(){this.border=0},setRicoCorners:function(){var a=this.getCornersToRound(this.relativePosition);a={corners:a,color:this.backgroundColor,bgColor:"transparent",blend:false};if(this.rounded){OpenLayers.Rico.Corner.reRound(this.groupDiv,a);this.setBackgroundColor();this.setOpacity()}else{OpenLayers.Rico.Corner.round(this.div,a);this.rounded=true}},getCornersToRound:function(){var a=["tl","tr","bl","br"],b=OpenLayers.Bounds.oppositeQuadrant(this.relativePosition);OpenLayers.Util.removeItem(a,
b);return a.join(" ")},CLASS_NAME:"OpenLayers.Popup.AnchoredBubble"});OpenLayers.Popup.AnchoredBubble.CORNER_SIZE=5;
OpenLayers.Tween=OpenLayers.Class({INTERVAL:10,easing:null,begin:null,finish:null,duration:null,callbacks:null,time:null,interval:null,playing:false,initialize:function(a){this.easing=a?a:OpenLayers.Easing.Expo.easeOut},start:function(a,b,c,d){this.playing=true;this.begin=a;this.finish=b;this.duration=c;this.callbacks=d.callbacks;this.time=0;if(this.interval){window.clearInterval(this.interval);this.interval=null}this.callbacks&&this.callbacks.start&&this.callbacks.start.call(this,this.begin);this.interval=
window.setInterval(OpenLayers.Function.bind(this.play,this),this.INTERVAL)},stop:function(){if(this.playing){this.callbacks&&this.callbacks.done&&this.callbacks.done.call(this,this.finish);window.clearInterval(this.interval);this.interval=null;this.playing=false}},play:function(){var a={};for(var b in this.begin){var c=this.begin[b],d=this.finish[b];if(c==null||d==null||isNaN(c)||isNaN(d))OpenLayers.Console.error("invalid value for Tween");d=d-c;a[b]=this.easing.apply(this,[this.time,c,d,this.duration])}this.time++;
this.callbacks&&this.callbacks.eachStep&&this.callbacks.eachStep.call(this,a);if(this.time>this.duration){if(this.callbacks&&this.callbacks.done){this.callbacks.done.call(this,this.finish);this.playing=false}window.clearInterval(this.interval);this.interval=null}},CLASS_NAME:"OpenLayers.Tween"});OpenLayers.Easing={CLASS_NAME:"OpenLayers.Easing"};
OpenLayers.Easing.Linear={easeIn:function(a,b,c,d){return c*a/d+b},easeOut:function(a,b,c,d){return c*a/d+b},easeInOut:function(a,b,c,d){return c*a/d+b},CLASS_NAME:"OpenLayers.Easing.Linear"};
OpenLayers.Easing.Expo={easeIn:function(a,b,c,d){return a==0?b:c*Math.pow(2,10*(a/d-1))+b},easeOut:function(a,b,c,d){return a==d?b+c:c*(-Math.pow(2,-10*a/d)+1)+b},easeInOut:function(a,b,c,d){if(a==0)return b;if(a==d)return b+c;if((a/=d/2)<1)return c/2*Math.pow(2,10*(a-1))+b;return c/2*(-Math.pow(2,-10*--a)+2)+b},CLASS_NAME:"OpenLayers.Easing.Expo"};
OpenLayers.Easing.Quad={easeIn:function(a,b,c,d){return c*(a/=d)*a+b},easeOut:function(a,b,c,d){return-c*(a/=d)*(a-2)+b},easeInOut:function(a,b,c,d){if((a/=d/2)<1)return c/2*a*a+b;return-c/2*(--a*(a-2)-1)+b},CLASS_NAME:"OpenLayers.Easing.Quad"};
OpenLayers.Control.LayerSwitcher=OpenLayers.Class(OpenLayers.Control,{activeColor:"darkblue",layerStates:null,layersDiv:null,baseLayersDiv:null,baseLayers:null,dataLbl:null,dataLayersDiv:null,dataLayers:null,minimizeDiv:null,maximizeDiv:null,ascending:true,initialize:function(){OpenLayers.Control.prototype.initialize.apply(this,arguments);this.layerStates=[]},destroy:function(){OpenLayers.Event.stopObservingElement(this.div);OpenLayers.Event.stopObservingElement(this.minimizeDiv);OpenLayers.Event.stopObservingElement(this.maximizeDiv);
this.clearLayersArray("base");this.clearLayersArray("data");this.map.events.un({addlayer:this.redraw,changelayer:this.redraw,removelayer:this.redraw,changebaselayer:this.redraw,scope:this});OpenLayers.Control.prototype.destroy.apply(this,arguments)},setMap:function(){OpenLayers.Control.prototype.setMap.apply(this,arguments);this.map.events.on({addlayer:this.redraw,changelayer:this.redraw,removelayer:this.redraw,changebaselayer:this.redraw,scope:this})},draw:function(){OpenLayers.Control.prototype.draw.apply(this);
this.loadContents();this.outsideViewport||this.minimizeControl();this.redraw();return this.div},clearLayersArray:function(a){var b=this[a+"Layers"];if(b)for(var c=0,d=b.length;c<d;c++){var e=b[c];OpenLayers.Event.stopObservingElement(e.inputElem);OpenLayers.Event.stopObservingElement(e.labelSpan)}this[a+"LayersDiv"].innerHTML="";this[a+"Layers"]=[]},checkRedraw:function(){var a=false;if(!this.layerStates.length||this.map.layers.length!=this.layerStates.length)a=true;else for(var b=0,c=this.layerStates.length;b<
c;b++){var d=this.layerStates[b],e=this.map.layers[b];if(d.name!=e.name||d.inRange!=e.inRange||d.id!=e.id||d.visibility!=e.visibility){a=true;break}}return a},redraw:function(){if(!this.checkRedraw())return this.div;this.clearLayersArray("base");this.clearLayersArray("data");var a=false,b=false,c=this.map.layers.length;this.layerStates=new Array(c);for(var d=0;d<c;d++){var e=this.map.layers[d];this.layerStates[d]={name:e.name,visibility:e.visibility,inRange:e.inRange,id:e.id}}var f=this.map.layers.slice();
this.ascending||f.reverse();d=0;for(c=f.length;d<c;d++){e=f[d];var g=e.isBaseLayer;if(e.displayInLayerSwitcher){if(g)b=true;else a=true;var i=g?e==this.map.baseLayer:e.getVisibility(),h=document.createElement("input");h.id=this.id+"_input_"+e.name;h.name=g?"baseLayers":e.name;h.type=g?"radio":"checkbox";h.value=e.name;h.checked=i;h.defaultChecked=i;if(!g&&!e.inRange)h.disabled=true;var j={inputElem:h,layer:e,layerSwitcher:this};OpenLayers.Event.observe(h,"mouseup",OpenLayers.Function.bindAsEventListener(this.onInputClick,
j));i=document.createElement("span");if(!g&&!e.inRange)i.style.color="gray";i.innerHTML=e.name;i.style.verticalAlign=g?"bottom":"baseline";OpenLayers.Event.observe(i,"click",OpenLayers.Function.bindAsEventListener(this.onInputClick,j));j=document.createElement("br");var m=g?this.baseLayers:this.dataLayers;m.push({layer:e,inputElem:h,labelSpan:i});e=g?this.baseLayersDiv:this.dataLayersDiv;e.appendChild(h);e.appendChild(i);e.appendChild(j)}}this.dataLbl.style.display=a?"":"none";this.baseLbl.style.display=
b?"":"none";return this.div},onInputClick:function(a){if(!this.inputElem.disabled)if(this.inputElem.type=="radio"){this.inputElem.checked=true;this.layer.map.setBaseLayer(this.layer)}else{this.inputElem.checked=!this.inputElem.checked;this.layerSwitcher.updateMap()}OpenLayers.Event.stop(a)},onLayerClick:function(){this.updateMap()},updateMap:function(){for(var a=0,b=this.baseLayers.length;a<b;a++){var c=this.baseLayers[a];c.inputElem.checked&&this.map.setBaseLayer(c.layer,false)}a=0;for(b=this.dataLayers.length;a<
b;a++){c=this.dataLayers[a];c.layer.setVisibility(c.inputElem.checked)}},maximizeControl:function(a){this.div.style.width="20em";this.div.style.height="";this.showControls(false);a!=null&&OpenLayers.Event.stop(a)},minimizeControl:function(a){this.div.style.width="0px";this.div.style.height="0px";this.showControls(true);a!=null&&OpenLayers.Event.stop(a)},showControls:function(a){this.maximizeDiv.style.display=a?"":"none";this.minimizeDiv.style.display=a?"none":"";this.layersDiv.style.display=a?"none":
""},loadContents:function(){this.div.style.position="absolute";this.div.style.top="25px";this.div.style.right="0px";this.div.style.left="";this.div.style.fontFamily="sans-serif";this.div.style.fontWeight="bold";this.div.style.marginTop="3px";this.div.style.marginLeft="3px";this.div.style.marginBottom="3px";this.div.style.fontSize="smaller";this.div.style.color="white";this.div.style.backgroundColor="transparent";OpenLayers.Event.observe(this.div,"mouseup",OpenLayers.Function.bindAsEventListener(this.mouseUp,
this));OpenLayers.Event.observe(this.div,"click",this.ignoreEvent);OpenLayers.Event.observe(this.div,"mousedown",OpenLayers.Function.bindAsEventListener(this.mouseDown,this));OpenLayers.Event.observe(this.div,"dblclick",this.ignoreEvent);this.layersDiv=document.createElement("div");this.layersDiv.id=this.id+"_layersDiv";this.layersDiv.style.paddingTop="5px";this.layersDiv.style.paddingLeft="10px";this.layersDiv.style.paddingBottom="5px";this.layersDiv.style.paddingRight="75px";this.layersDiv.style.backgroundColor=
this.activeColor;this.layersDiv.style.width="100%";this.layersDiv.style.height="100%";this.baseLbl=document.createElement("div");this.baseLbl.innerHTML=OpenLayers.i18n("baseLayer");this.baseLbl.style.marginTop="3px";this.baseLbl.style.marginLeft="3px";this.baseLbl.style.marginBottom="3px";this.baseLayersDiv=document.createElement("div");this.baseLayersDiv.style.paddingLeft="10px";this.dataLbl=document.createElement("div");this.dataLbl.innerHTML=OpenLayers.i18n("overlays");this.dataLbl.style.marginTop=
"3px";this.dataLbl.style.marginLeft="3px";this.dataLbl.style.marginBottom="3px";this.dataLayersDiv=document.createElement("div");this.dataLayersDiv.style.paddingLeft="10px";if(this.ascending){this.layersDiv.appendChild(this.baseLbl);this.layersDiv.appendChild(this.baseLayersDiv);this.layersDiv.appendChild(this.dataLbl);this.layersDiv.appendChild(this.dataLayersDiv)}else{this.layersDiv.appendChild(this.dataLbl);this.layersDiv.appendChild(this.dataLayersDiv);this.layersDiv.appendChild(this.baseLbl);
this.layersDiv.appendChild(this.baseLayersDiv)}this.div.appendChild(this.layersDiv);OpenLayers.Rico.Corner.round(this.div,{corners:"tl bl",bgColor:"transparent",color:this.activeColor,blend:false});OpenLayers.Rico.Corner.changeOpacity(this.layersDiv,0.75);var a=OpenLayers.Util.getImagesLocation(),b=new OpenLayers.Size(18,18),c=a+"layer-switcher-maximize.png";this.maximizeDiv=OpenLayers.Util.createAlphaImageDiv("OpenLayers_Control_MaximizeDiv",null,b,c,"absolute");this.maximizeDiv.style.top="5px";
this.maximizeDiv.style.right="0px";this.maximizeDiv.style.left="";this.maximizeDiv.style.display="none";OpenLayers.Event.observe(this.maximizeDiv,"click",OpenLayers.Function.bindAsEventListener(this.maximizeControl,this));this.div.appendChild(this.maximizeDiv);c=a+"layer-switcher-minimize.png";b=new OpenLayers.Size(18,18);this.minimizeDiv=OpenLayers.Util.createAlphaImageDiv("OpenLayers_Control_MinimizeDiv",null,b,c,"absolute");this.minimizeDiv.style.top="5px";this.minimizeDiv.style.right="0px";this.minimizeDiv.style.left=
"";this.minimizeDiv.style.display="none";OpenLayers.Event.observe(this.minimizeDiv,"click",OpenLayers.Function.bindAsEventListener(this.minimizeControl,this));this.div.appendChild(this.minimizeDiv)},ignoreEvent:function(a){OpenLayers.Event.stop(a)},mouseDown:function(a){this.isMouseDown=true;this.ignoreEvent(a)},mouseUp:function(a){if(this.isMouseDown){this.isMouseDown=false;this.ignoreEvent(a)}},CLASS_NAME:"OpenLayers.Control.LayerSwitcher"});
OpenLayers.Control.PanZoom=OpenLayers.Class(OpenLayers.Control,{slideFactor:50,slideRatio:null,buttons:null,position:null,initialize:function(){this.position=new OpenLayers.Pixel(OpenLayers.Control.PanZoom.X,OpenLayers.Control.PanZoom.Y);OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){OpenLayers.Control.prototype.destroy.apply(this,arguments);this.removeButtons();this.position=this.buttons=null},draw:function(a){OpenLayers.Control.prototype.draw.apply(this,arguments);
a=this.position;this.buttons=[];var b=new OpenLayers.Size(18,18),c=new OpenLayers.Pixel(a.x+b.w/2,a.y);this._addButton("panup","north-mini.png",c,b);a.y=c.y+b.h;this._addButton("panleft","west-mini.png",a,b);this._addButton("panright","east-mini.png",a.add(b.w,0),b);this._addButton("pandown","south-mini.png",c.add(0,b.h*2),b);this._addButton("zoomin","zoom-plus-mini.png",c.add(0,b.h*3+5),b);this._addButton("zoomworld","zoom-world-mini.png",c.add(0,b.h*4+5),b);this._addButton("zoomout","zoom-minus-mini.png",
c.add(0,b.h*5+5),b);return this.div},_addButton:function(a,b,c,d){b=OpenLayers.Util.getImagesLocation()+b;c=OpenLayers.Util.createAlphaImageDiv(this.id+"_"+a,c,d,b,"absolute");this.div.appendChild(c);OpenLayers.Event.observe(c,"mousedown",OpenLayers.Function.bindAsEventListener(this.buttonDown,c));OpenLayers.Event.observe(c,"dblclick",OpenLayers.Function.bindAsEventListener(this.doubleClick,c));OpenLayers.Event.observe(c,"click",OpenLayers.Function.bindAsEventListener(this.doubleClick,c));c.action=
a;c.map=this.map;if(this.slideRatio){var e=this.slideRatio;a=function(g){return this.map.getSize()[g]*e}}else{var f=this.slideFactor;a=function(){return f}}c.getSlideFactor=a;this.buttons.push(c);return c},_removeButton:function(a){OpenLayers.Event.stopObservingElement(a);a.map=null;this.div.removeChild(a);OpenLayers.Util.removeItem(this.buttons,a)},removeButtons:function(){for(var a=this.buttons.length-1;a>=0;--a)this._removeButton(this.buttons[a])},doubleClick:function(a){OpenLayers.Event.stop(a);
return false},buttonDown:function(a){if(OpenLayers.Event.isLeftClick(a)){switch(this.action){case "panup":this.map.pan(0,-this.getSlideFactor("h"));break;case "pandown":this.map.pan(0,this.getSlideFactor("h"));break;case "panleft":this.map.pan(-this.getSlideFactor("w"),0);break;case "panright":this.map.pan(this.getSlideFactor("w"),0);break;case "zoomin":this.map.zoomIn();break;case "zoomout":this.map.zoomOut();break;case "zoomworld":this.map.zoomToMaxExtent();break}OpenLayers.Event.stop(a)}},CLASS_NAME:"OpenLayers.Control.PanZoom"});
OpenLayers.Control.PanZoom.X=4;OpenLayers.Control.PanZoom.Y=4;
OpenLayers.Control.ScaleLine=OpenLayers.Class(OpenLayers.Control,{maxWidth:100,topOutUnits:"km",topInUnits:"m",bottomOutUnits:"mi",bottomInUnits:"ft",eTop:null,eBottom:null,initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,[a])},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);if(!this.eTop){this.div.style.display="block";this.div.style.position="absolute";this.eTop=document.createElement("div");this.eTop.className=this.displayClass+"Top";this.div.appendChild(this.eTop);
this.eTop.style.visibility=this.topOutUnits==""||this.topInUnits==""?"hidden":"visible";this.eBottom=document.createElement("div");this.eBottom.className=this.displayClass+"Bottom";this.div.appendChild(this.eBottom);this.eBottom.style.visibility=this.bottomOutUnits==""||this.bottomInUnits==""?"hidden":"visible"}this.map.events.register("moveend",this,this.update);this.update();return this.div},getBarLen:function(a){var b=parseInt(Math.log(a)/Math.log(10));b=Math.pow(10,b);a=parseInt(a/b);a=a>5?5:
a>2?2:1;return a*b},update:function(){var a=this.map.getResolution();if(a){var b=this.map.getUnits(),c=OpenLayers.INCHES_PER_UNIT,d=this.maxWidth*a*c[b],e,f;if(d>1E5){e=this.topOutUnits;f=this.bottomOutUnits}else{e=this.topInUnits;f=this.bottomInUnits}var g=d/c[e],i=d/c[f];d=this.getBarLen(g);var h=this.getBarLen(i);g=d/c[b]*c[e];i=h/c[b]*c[f];b=g/a;a=i/a;if(this.eBottom.style.visibility=="visible"){this.eBottom.style.width=Math.round(a)+"px";this.eBottom.innerHTML=h+" "+f}if(this.eTop.style.visibility==
"visible"){this.eTop.style.width=Math.round(b)+"px";this.eTop.innerHTML=d+" "+e}}},CLASS_NAME:"OpenLayers.Control.ScaleLine"});
OpenLayers.Event={observers:false,KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(a){return a.target||a.srcElement},isLeftClick:function(a){return a.which&&a.which==1||a.button&&a.button==1},isRightClick:function(a){return a.which&&a.which==3||a.button&&a.button==2},stop:function(a,b){if(!b)if(a.preventDefault)a.preventDefault();else a.returnValue=false;if(a.stopPropagation)a.stopPropagation();else a.cancelBubble=true},
findElement:function(a,b){for(a=OpenLayers.Event.element(a);a.parentNode&&(!a.tagName||a.tagName.toUpperCase()!=b.toUpperCase());)a=a.parentNode;return a},observe:function(a,b,c,d){a=OpenLayers.Util.getElement(a);d=d||false;if(b=="keypress"&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||a.attachEvent))b="keydown";if(!this.observers)this.observers={};if(!a._eventCacheID){var e="eventCacheID_";if(a.id)e=a.id+"_"+e;a._eventCacheID=OpenLayers.Util.createUniqueID(e)}e=a._eventCacheID;this.observers[e]||
(this.observers[e]=[]);this.observers[e].push({element:a,name:b,observer:c,useCapture:d});if(a.addEventListener)a.addEventListener(b,c,d);else a.attachEvent&&a.attachEvent("on"+b,c)},stopObservingElement:function(a){a=OpenLayers.Util.getElement(a);a=a._eventCacheID;this._removeElementObservers(OpenLayers.Event.observers[a])},_removeElementObservers:function(a){if(a)for(var b=a.length-1;b>=0;b--){var c=a[b];c=new Array(c.element,c.name,c.observer,c.useCapture);OpenLayers.Event.stopObserving.apply(this,
c)}},stopObserving:function(a,b,c,d){d=d||false;a=OpenLayers.Util.getElement(a);var e=a._eventCacheID;if(b=="keypress")if(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||a.detachEvent)b="keydown";var f=false,g=OpenLayers.Event.observers[e];if(g)for(var i=0;!f&&i<g.length;){var h=g[i];if(h.name==b&&h.observer==c&&h.useCapture==d){g.splice(i,1);g.length==0&&delete OpenLayers.Event.observers[e];f=true;break}i++}if(f)if(a.removeEventListener)a.removeEventListener(b,c,d);else a&&a.detachEvent&&a.detachEvent("on"+
b,c);return f},unloadCache:function(){if(OpenLayers.Event&&OpenLayers.Event.observers){for(var a in OpenLayers.Event.observers){var b=OpenLayers.Event.observers[a];OpenLayers.Event._removeElementObservers.apply(this,[b])}OpenLayers.Event.observers=false}},CLASS_NAME:"OpenLayers.Event"};OpenLayers.Event.observe(window,"unload",OpenLayers.Event.unloadCache,false);if(window.Event)OpenLayers.Util.applyDefaults(window.Event,OpenLayers.Event);else var Event=OpenLayers.Event;
OpenLayers.Events=OpenLayers.Class({BROWSER_EVENTS:["mouseover","mouseout","mousedown","mouseup","mousemove","click","dblclick","rightclick","dblrightclick","resize","focus","blur"],listeners:null,object:null,element:null,eventTypes:null,eventHandler:null,fallThrough:null,includeXY:false,clearMouseListener:null,initialize:function(a,b,c,d,e){OpenLayers.Util.extend(this,e);this.object=a;this.fallThrough=d;this.listeners={};this.eventHandler=OpenLayers.Function.bindAsEventListener(this.handleBrowserEvent,
this);this.clearMouseListener=OpenLayers.Function.bind(this.clearMouseCache,this);this.eventTypes=[];if(c!=null){a=0;for(d=c.length;a<d;a++)this.addEventType(c[a])}b!=null&&this.attachToElement(b)},destroy:function(){if(this.element){OpenLayers.Event.stopObservingElement(this.element);this.element.hasScrollEvent&&OpenLayers.Event.stopObserving(window,"scroll",this.clearMouseListener)}this.eventHandler=this.fallThrough=this.eventTypes=this.object=this.listeners=this.element=null},addEventType:function(a){if(!this.listeners[a]){this.eventTypes.push(a);
this.listeners[a]=[]}},attachToElement:function(a){this.element&&OpenLayers.Event.stopObservingElement(this.element);this.element=a;for(var b=0,c=this.BROWSER_EVENTS.length;b<c;b++){var d=this.BROWSER_EVENTS[b];this.addEventType(d);OpenLayers.Event.observe(a,d,this.eventHandler)}OpenLayers.Event.observe(a,"dragstart",OpenLayers.Event.stop)},on:function(a){for(var b in a)b!="scope"&&this.register(b,a.scope,a[b])},register:function(a,b,c){if(c!=null&&OpenLayers.Util.indexOf(this.eventTypes,a)!=-1){if(b==
null)b=this.object;a=this.listeners[a];a.push({obj:b,func:c})}},registerPriority:function(a,b,c){if(c!=null){if(b==null)b=this.object;a=this.listeners[a];a!=null&&a.unshift({obj:b,func:c})}},un:function(a){for(var b in a)b!="scope"&&this.unregister(b,a.scope,a[b])},unregister:function(a,b,c){if(b==null)b=this.object;a=this.listeners[a];if(a!=null)for(var d=0,e=a.length;d<e;d++)if(a[d].obj==b&&a[d].func==c){a.splice(d,1);break}},remove:function(a){if(this.listeners[a]!=null)this.listeners[a]=[]},triggerEvent:function(a,
b){var c=this.listeners[a];if(!(!c||c.length==0)){if(b==null)b={};b.object=this.object;b.element=this.element;if(!b.type)b.type=a;c=c.slice();var d;a=0;for(var e=c.length;a<e;a++){d=c[a];d=d.func.apply(d.obj,[b]);if(d!=undefined&&d==false)break}this.fallThrough||OpenLayers.Event.stop(b,true);return d}},handleBrowserEvent:function(a){if(this.includeXY)a.xy=this.getMousePosition(a);this.triggerEvent(a.type,a)},clearMouseCache:function(){this.element.scrolls=null;this.element.lefttop=null;this.element.offsets=
null},getMousePosition:function(a){if(this.includeXY){if(!this.element.hasScrollEvent){OpenLayers.Event.observe(window,"scroll",this.clearMouseListener);this.element.hasScrollEvent=true}}else this.clearMouseCache();if(!this.element.scrolls)this.element.scrolls=[document.documentElement.scrollLeft||document.body.scrollLeft,document.documentElement.scrollTop||document.body.scrollTop];if(!this.element.lefttop)this.element.lefttop=[document.documentElement.clientLeft||0,document.documentElement.clientTop||
0];if(!this.element.offsets){this.element.offsets=OpenLayers.Util.pagePosition(this.element);this.element.offsets[0]+=this.element.scrolls[0];this.element.offsets[1]+=this.element.scrolls[1]}return new OpenLayers.Pixel(a.clientX+this.element.scrolls[0]-this.element.offsets[0]-this.element.lefttop[0],a.clientY+this.element.scrolls[1]-this.element.offsets[1]-this.element.lefttop[1])},CLASS_NAME:"OpenLayers.Events"});
OpenLayers.Format=OpenLayers.Class({options:null,externalProjection:null,internalProjection:null,data:null,keepData:false,initialize:function(a){OpenLayers.Util.extend(this,a);this.options=a},destroy:function(){},read:function(){OpenLayers.Console.userError(OpenLayers.i18n("readNotImplemented"))},write:function(){OpenLayers.Console.userError(OpenLayers.i18n("writeNotImplemented"))},CLASS_NAME:"OpenLayers.Format"});
OpenLayers.Lang.en={unhandledRequest:"Unhandled request return ${statusText}",permalink:"Permalink",overlays:"Overlays",baseLayer:"Base Layer",sameProjection:"The overview map only works when it is in the same projection as the main map",readNotImplemented:"Read not implemented.",writeNotImplemented:"Write not implemented.",noFID:"Can't update a feature for which there is no FID.",errorLoadingGML:"Error in loading GML file ${url}",browserNotSupported:"Your browser does not support vector rendering. Currently supported renderers are:\n${renderers}",
componentShouldBe:"addFeatures : component should be an ${geomType}",getFeatureError:"getFeatureFromEvent called on layer with no renderer. This usually means you destroyed a layer, but not some handler which is associated with it.",minZoomLevelError:"The minZoomLevel property is only intended for use with the FixedZoomLevels-descendent layers. That this wfs layer checks for minZoomLevel is a relic of thepast. We cannot, however, remove it without possibly breaking OL based applications that may depend on it. Therefore we are deprecating it -- the minZoomLevel check below will be removed at 3.0. Please instead use min/max resolution setting as described here: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"WFS Transaction: SUCCESS ${response}",commitFailed:"WFS Transaction: FAILED ${response}",googleWarning:"The Google Layer was unable to load correctly.<br><br>To get rid of this message, select a new BaseLayer in the layer switcher in the upper-right corner.<br><br>Most likely, this is because the Google Maps library script was either not included, or does not contain the correct API key for your site.<br><br>Developers: For help getting this working correctly, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>click here</a>",
getLayerWarning:"The ${layerType} Layer was unable to load correctly.<br><br>To get rid of this message, select a new BaseLayer in the layer switcher in the upper-right corner.<br><br>Most likely, this is because the ${layerLib} library script was not correctly included.<br><br>Developers: For help getting this working correctly, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>click here</a>",scale:"Scale = 1 : ${scaleDenom}",layerAlreadyAdded:"You tried to add the layer: ${layerName} to the map, but it has already been added",
reprojectDeprecated:"You are using the 'reproject' option on the ${layerName} layer. This option is deprecated: its use was designed to support displaying data over commercial basemaps, but that functionality should now be achieved by using Spherical Mercator support. More information is available from http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"This method has been deprecated and will be removed in 3.0. Please use ${newMethod} instead.",boundsAddError:"You must pass both x and y values to the add function.",
lonlatAddError:"You must pass both lon and lat values to the add function.",pixelAddError:"You must pass both x and y values to the add function.",unsupportedGeometryType:"Unsupported geometry type: ${geomType}",pagePositionFailed:"OpenLayers.Util.pagePosition failed: element with id ${elemId} may be misplaced.",end:"",filterEvaluateNotImplemented:"evaluate is not implemented for this filter type."};
OpenLayers.Projection=OpenLayers.Class({proj:null,projCode:null,initialize:function(a,b){OpenLayers.Util.extend(this,b);this.projCode=a;if(window.Proj4js)this.proj=new Proj4js.Proj(a)},getCode:function(){return this.proj?this.proj.srsCode:this.projCode},getUnits:function(){return this.proj?this.proj.units:null},toString:function(){return this.getCode()},equals:function(a){return a&&a.getCode?this.getCode()==a.getCode():false},destroy:function(){delete this.proj;delete this.projCode},CLASS_NAME:"OpenLayers.Projection"});
OpenLayers.Projection.transforms={};OpenLayers.Projection.addTransform=function(a,b,c){OpenLayers.Projection.transforms[a]||(OpenLayers.Projection.transforms[a]={});OpenLayers.Projection.transforms[a][b]=c};OpenLayers.Projection.transform=function(a,b,c){if(b.proj&&c.proj)a=Proj4js.transform(b.proj,c.proj,a);else b&&c&&OpenLayers.Projection.transforms[b.getCode()]&&OpenLayers.Projection.transforms[b.getCode()][c.getCode()]&&OpenLayers.Projection.transforms[b.getCode()][c.getCode()](a);return a};
OpenLayers.Tile=OpenLayers.Class({EVENT_TYPES:["loadstart","loadend","reload","unload"],events:null,id:null,layer:null,url:null,bounds:null,size:null,position:null,isLoading:false,initialize:function(a,b,c,d,e){this.layer=a;this.position=b.clone();this.bounds=c.clone();this.url=d;this.size=e.clone();this.id=OpenLayers.Util.createUniqueID("Tile_");this.events=new OpenLayers.Events(this,null,this.EVENT_TYPES)},unload:function(){if(this.isLoading){this.isLoading=false;this.events.triggerEvent("unload")}},
destroy:function(){this.position=this.size=this.bounds=this.layer=null;this.events.destroy();this.events=null},clone:function(a){if(a==null)a=new OpenLayers.Tile(this.layer,this.position,this.bounds,this.url,this.size);OpenLayers.Util.applyDefaults(a,this);return a},draw:function(){var a=this.layer.maxExtent;this.shouldDraw=(a=a&&this.bounds.intersectsBounds(a,false))||this.layer.displayOutsideMaxExtent;this.clear();return this.shouldDraw},moveTo:function(a,b,c){if(c==null)c=true;this.bounds=a.clone();
this.position=b.clone();c&&this.draw()},clear:function(){},getBoundsFromBaseLayer:function(a){var b=OpenLayers.i18n("reprojectDeprecated",{layerName:this.layer.name});OpenLayers.Console.warn(b);b=this.layer.map.getLonLatFromLayerPx(a);a=a.clone();a.x+=this.size.w;a.y+=this.size.h;a=this.layer.map.getLonLatFromLayerPx(a);if(b.lon>a.lon)if(b.lon<0)b.lon=-180-(b.lon+180);else a.lon=180+a.lon+180;return b=new OpenLayers.Bounds(b.lon,a.lat,a.lon,b.lat)},showTile:function(){this.shouldDraw&&this.show()},
show:function(){},hide:function(){},CLASS_NAME:"OpenLayers.Tile"});
OpenLayers.Control.PanZoomBar=OpenLayers.Class(OpenLayers.Control.PanZoom,{zoomStopWidth:18,zoomStopHeight:11,slider:null,sliderEvents:null,zoomBarDiv:null,divEvents:null,zoomWorldIcon:false,initialize:function(){OpenLayers.Control.PanZoom.prototype.initialize.apply(this,arguments)},destroy:function(){this._removeZoomBar();this.map.events.un({changebaselayer:this.redraw,scope:this});OpenLayers.Control.PanZoom.prototype.destroy.apply(this,arguments)},setMap:function(){OpenLayers.Control.PanZoom.prototype.setMap.apply(this,
arguments);this.map.events.register("changebaselayer",this,this.redraw)},redraw:function(){if(this.div!=null){this.removeButtons();this._removeZoomBar()}this.draw()},draw:function(a){OpenLayers.Control.prototype.draw.apply(this,arguments);a=this.position.clone();this.buttons=[];var b=new OpenLayers.Size(18,18),c=new OpenLayers.Pixel(a.x+b.w/2,a.y),d=b.w;if(this.zoomWorldIcon)c=new OpenLayers.Pixel(a.x+b.w,a.y);this._addButton("panup","north-mini.png",c,b);a.y=c.y+b.h;this._addButton("panleft","west-mini.png",
a,b);if(this.zoomWorldIcon){this._addButton("zoomworld","zoom-world-mini.png",a.add(b.w,0),b);d*=2}this._addButton("panright","east-mini.png",a.add(d,0),b);this._addButton("pandown","south-mini.png",c.add(0,b.h*2),b);this._addButton("zoomin","zoom-plus-mini.png",c.add(0,b.h*3+5),b);c=this._addZoomBar(c.add(0,b.h*4+5));this._addButton("zoomout","zoom-minus-mini.png",c,b);return this.div},_addZoomBar:function(a){var b=OpenLayers.Util.getImagesLocation(),c=this.id+"_"+this.map.id,d=this.map.getNumZoomLevels()-
1-this.map.getZoom();this.slider=d=OpenLayers.Util.createAlphaImageDiv(c,a.add(-1,d*this.zoomStopHeight),new OpenLayers.Size(20,9),b+"slider.png","absolute");this.sliderEvents=new OpenLayers.Events(this,d,null,true,{includeXY:true});this.sliderEvents.on({mousedown:this.zoomBarDown,mousemove:this.zoomBarDrag,mouseup:this.zoomBarUp,dblclick:this.doubleClick,click:this.doubleClick});var e=new OpenLayers.Size;e.h=this.zoomStopHeight*this.map.getNumZoomLevels();e.w=this.zoomStopWidth;c=null;if(OpenLayers.Util.alphaHack()){c=
this.id+"_"+this.map.id;c=OpenLayers.Util.createAlphaImageDiv(c,a,new OpenLayers.Size(e.w,this.zoomStopHeight),b+"zoombar.png","absolute",null,"crop");c.style.height=e.h+"px"}else c=OpenLayers.Util.createDiv("OpenLayers_Control_PanZoomBar_Zoombar"+this.map.id,a,e,b+"zoombar.png");this.zoombarDiv=c;this.divEvents=new OpenLayers.Events(this,c,null,true,{includeXY:true});this.divEvents.on({mousedown:this.divClick,mousemove:this.passEventToSlider,dblclick:this.doubleClick,click:this.doubleClick});this.div.appendChild(c);
this.startTop=parseInt(c.style.top);this.div.appendChild(d);this.map.events.register("zoomend",this,this.moveZoomBar);return a=a.add(0,this.zoomStopHeight*this.map.getNumZoomLevels())},_removeZoomBar:function(){this.sliderEvents.un({mousedown:this.zoomBarDown,mousemove:this.zoomBarDrag,mouseup:this.zoomBarUp,dblclick:this.doubleClick,click:this.doubleClick});this.sliderEvents.destroy();this.divEvents.un({mousedown:this.divClick,mousemove:this.passEventToSlider,dblclick:this.doubleClick,click:this.doubleClick});
this.divEvents.destroy();this.div.removeChild(this.zoombarDiv);this.zoombarDiv=null;this.div.removeChild(this.slider);this.slider=null;this.map.events.unregister("zoomend",this,this.moveZoomBar)},passEventToSlider:function(a){this.sliderEvents.handleBrowserEvent(a)},divClick:function(a){if(OpenLayers.Event.isLeftClick(a)){var b=a.xy.y,c=OpenLayers.Util.pagePosition(a.object)[1];b=(b-c)/this.zoomStopHeight;this.map.fractionalZoom||(b=Math.floor(b));b=this.map.getNumZoomLevels()-1-b;b=Math.min(Math.max(b,
0),this.map.getNumZoomLevels()-1);this.map.zoomTo(b);OpenLayers.Event.stop(a)}},zoomBarDown:function(a){if(OpenLayers.Event.isLeftClick(a)){this.map.events.on({mousemove:this.passEventToSlider,mouseup:this.passEventToSlider,scope:this});this.mouseDragStart=a.xy.clone();this.zoomStart=a.xy.clone();this.div.style.cursor="move";this.zoombarDiv.offsets=null;OpenLayers.Event.stop(a)}},zoomBarDrag:function(a){if(this.mouseDragStart!=null){var b=this.mouseDragStart.y-a.xy.y,c=OpenLayers.Util.pagePosition(this.zoombarDiv);
if(a.clientY-c[1]>0&&a.clientY-c[1]<parseInt(this.zoombarDiv.style.height)-2){b=parseInt(this.slider.style.top)-b;this.slider.style.top=b+"px";this.mouseDragStart=a.xy.clone()}OpenLayers.Event.stop(a)}},zoomBarUp:function(a){if(OpenLayers.Event.isLeftClick(a))if(this.zoomStart){this.div.style.cursor="";this.map.events.un({mouseup:this.passEventToSlider,mousemove:this.passEventToSlider,scope:this});var b=this.zoomStart.y-a.xy.y,c=this.map.zoom;if(this.map.fractionalZoom){c+=b/this.zoomStopHeight;c=
Math.min(Math.max(c,0),this.map.getNumZoomLevels()-1)}else c+=Math.round(b/this.zoomStopHeight);this.map.zoomTo(c);this.moveZoomBar();this.mouseDragStart=null;OpenLayers.Event.stop(a)}},moveZoomBar:function(){var a=(this.map.getNumZoomLevels()-1-this.map.getZoom())*this.zoomStopHeight+this.startTop+1;this.slider.style.top=a+"px"},CLASS_NAME:"OpenLayers.Control.PanZoomBar"});
OpenLayers.Handler=OpenLayers.Class({id:null,control:null,map:null,keyMask:null,active:false,evt:null,initialize:function(a,b,c){OpenLayers.Util.extend(this,c);this.control=a;this.callbacks=b;a.map&&this.setMap(a.map);OpenLayers.Util.extend(this,c);this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},setMap:function(a){this.map=a},checkModifiers:function(a){if(this.keyMask==null)return true;a=(a.shiftKey?OpenLayers.Handler.MOD_SHIFT:0)|(a.ctrlKey?OpenLayers.Handler.MOD_CTRL:0)|(a.altKey?OpenLayers.Handler.MOD_ALT:
0);return a==this.keyMask},activate:function(){if(this.active)return false;for(var a=OpenLayers.Events.prototype.BROWSER_EVENTS,b=0,c=a.length;b<c;b++)this[a[b]]&&this.register(a[b],this[a[b]]);return this.active=true},deactivate:function(){if(!this.active)return false;for(var a=OpenLayers.Events.prototype.BROWSER_EVENTS,b=0,c=a.length;b<c;b++)this[a[b]]&&this.unregister(a[b],this[a[b]]);this.active=false;return true},callback:function(a,b){a&&this.callbacks[a]&&this.callbacks[a].apply(this.control,
b)},register:function(a,b){this.map.events.registerPriority(a,this,b);this.map.events.registerPriority(a,this,this.setEvent)},unregister:function(a,b){this.map.events.unregister(a,this,b);this.map.events.unregister(a,this,this.setEvent)},setEvent:function(a){this.evt=a;return true},destroy:function(){this.deactivate();this.control=this.map=null},CLASS_NAME:"OpenLayers.Handler"});OpenLayers.Handler.MOD_NONE=0;OpenLayers.Handler.MOD_SHIFT=1;OpenLayers.Handler.MOD_CTRL=2;OpenLayers.Handler.MOD_ALT=4;
OpenLayers.Map=OpenLayers.Class({Z_INDEX_BASE:{BaseLayer:100,Overlay:325,Feature:725,Popup:750,Control:1E3},EVENT_TYPES:["preaddlayer","addlayer","removelayer","changelayer","movestart","move","moveend","zoomend","popupopen","popupclose","addmarker","removemarker","clearmarkers","mouseover","mouseout","mousemove","dragstart","drag","dragend","changebaselayer"],id:null,fractionalZoom:false,events:null,allOverlays:false,div:null,dragging:false,size:null,viewPortDiv:null,layerContainerOrigin:null,layerContainerDiv:null,
layers:null,controls:null,popups:null,baseLayer:null,center:null,resolution:null,zoom:0,panRatio:1.5,viewRequestID:0,tileSize:null,projection:"EPSG:4326",units:"degrees",resolutions:null,maxResolution:1.40625,minResolution:null,maxScale:null,minScale:null,maxExtent:null,minExtent:null,restrictedExtent:null,numZoomLevels:16,theme:null,displayProjection:null,fallThrough:true,panTween:null,eventListeners:null,panMethod:OpenLayers.Easing.Expo.easeOut,panDuration:50,paddingForPopups:null,initialize:function(a,
b){if(arguments.length===1&&typeof a==="object")a=(b=a)&&b.div;this.tileSize=new OpenLayers.Size(OpenLayers.Map.TILE_WIDTH,OpenLayers.Map.TILE_HEIGHT);this.maxExtent=new OpenLayers.Bounds(-180,-90,180,90);this.paddingForPopups=new OpenLayers.Bounds(15,15,15,15);this.theme=OpenLayers._getScriptLocation()+"theme/default/style.css";OpenLayers.Util.extend(this,b);this.id=OpenLayers.Util.createUniqueID("OpenLayers.Map_");this.div=OpenLayers.Util.getElement(a);if(!this.div){this.div=document.createElement("div");
this.div.style.height="1px";this.div.style.width="1px"}OpenLayers.Element.addClass(this.div,"olMap");var c=this.id+"_OpenLayers_ViewPort";this.viewPortDiv=OpenLayers.Util.createDiv(c,null,null,null,"relative",null,"hidden");this.viewPortDiv.style.width="100%";this.viewPortDiv.style.height="100%";this.viewPortDiv.className="olMapViewport";this.div.appendChild(this.viewPortDiv);c=this.id+"_OpenLayers_Container";this.layerContainerDiv=OpenLayers.Util.createDiv(c);this.layerContainerDiv.style.zIndex=
this.Z_INDEX_BASE.Popup-1;this.viewPortDiv.appendChild(this.layerContainerDiv);this.events=new OpenLayers.Events(this,this.div,this.EVENT_TYPES,this.fallThrough,{includeXY:true});this.updateSize();this.eventListeners instanceof Object&&this.events.on(this.eventListeners);this.events.register("movestart",this,this.updateSize);if(OpenLayers.String.contains(navigator.appName,"Microsoft"))this.events.register("resize",this,this.updateSize);else{this.updateSizeDestroy=OpenLayers.Function.bind(this.updateSize,
this);OpenLayers.Event.observe(window,"resize",this.updateSizeDestroy)}if(this.theme){c=true;for(var d=document.getElementsByTagName("link"),e=0,f=d.length;e<f;++e)if(OpenLayers.Util.isEquivalentUrl(d.item(e).href,this.theme)){c=false;break}if(c){c=document.createElement("link");c.setAttribute("rel","stylesheet");c.setAttribute("type","text/css");c.setAttribute("href",this.theme);document.getElementsByTagName("head")[0].appendChild(c)}}this.layers=[];if(this.controls==null)this.controls=OpenLayers.Control!=
null?[new OpenLayers.Control.Navigation,new OpenLayers.Control.PanZoom,new OpenLayers.Control.ArgParser,new OpenLayers.Control.Attribution]:[];e=0;for(f=this.controls.length;e<f;e++)this.addControlToMap(this.controls[e]);this.popups=[];this.unloadDestroy=OpenLayers.Function.bind(this.destroy,this);OpenLayers.Event.observe(window,"unload",this.unloadDestroy)},render:function(a){this.div=OpenLayers.Util.getElement(a);OpenLayers.Element.addClass(this.div,"olMap");this.events.attachToElement(this.div);
this.viewPortDiv.parentNode.removeChild(this.viewPortDiv);this.div.appendChild(this.viewPortDiv);this.updateSize()},unloadDestroy:null,updateSizeDestroy:null,destroy:function(){if(!this.unloadDestroy)return false;this.panTween&&this.panTween.playing&&this.panTween.stop();OpenLayers.Event.stopObserving(window,"unload",this.unloadDestroy);this.unloadDestroy=null;this.updateSizeDestroy?OpenLayers.Event.stopObserving(window,"resize",this.updateSizeDestroy):this.events.unregister("resize",this,this.updateSize);
this.paddingForPopups=null;if(this.controls!=null){for(var a=this.controls.length-1;a>=0;--a)this.controls[a].destroy();this.controls=null}if(this.layers!=null){for(a=this.layers.length-1;a>=0;--a)this.layers[a].destroy(false);this.layers=null}this.viewPortDiv&&this.div.removeChild(this.viewPortDiv);this.viewPortDiv=null;if(this.eventListeners){this.events.un(this.eventListeners);this.eventListeners=null}this.events.destroy();this.events=null},setOptions:function(a){OpenLayers.Util.extend(this,a)},
getTileSize:function(){return this.tileSize},getBy:function(a,b,c){var d=typeof c.test=="function";return a=OpenLayers.Array.filter(this[a],function(e){return e[b]==c||d&&c.test(e[b])})},getLayersBy:function(a,b){return this.getBy("layers",a,b)},getLayersByName:function(a){return this.getLayersBy("name",a)},getLayersByClass:function(a){return this.getLayersBy("CLASS_NAME",a)},getControlsBy:function(a,b){return this.getBy("controls",a,b)},getControlsByClass:function(a){return this.getControlsBy("CLASS_NAME",
a)},getLayer:function(a){for(var b=null,c=0,d=this.layers.length;c<d;c++){var e=this.layers[c];if(e.id==a){b=e;break}}return b},setLayerZIndex:function(a,b){a.setZIndex(this.Z_INDEX_BASE[a.isBaseLayer?"BaseLayer":"Overlay"]+b*5)},resetLayersZIndex:function(){for(var a=0,b=this.layers.length;a<b;a++){var c=this.layers[a];this.setLayerZIndex(c,a)}},addLayer:function(a){for(var b=0,c=this.layers.length;b<c;b++)if(this.layers[b]==a){a=OpenLayers.i18n("layerAlreadyAdded",{layerName:a.name});OpenLayers.Console.warn(a);
return false}if(this.allOverlays)a.isBaseLayer=false;this.events.triggerEvent("preaddlayer",{layer:a});a.div.className="olLayerDiv";a.div.style.overflow="";this.setLayerZIndex(a,this.layers.length);a.isFixed?this.viewPortDiv.appendChild(a.div):this.layerContainerDiv.appendChild(a.div);this.layers.push(a);a.setMap(this);if(a.isBaseLayer||this.allOverlays&&!this.baseLayer)this.baseLayer==null?this.setBaseLayer(a):a.setVisibility(false);else a.redraw();this.events.triggerEvent("addlayer",{layer:a});
a.afterAdd()},addLayers:function(a){for(var b=0,c=a.length;b<c;b++)this.addLayer(a[b])},removeLayer:function(a,b){if(b==null)b=true;a.isFixed?this.viewPortDiv.removeChild(a.div):this.layerContainerDiv.removeChild(a.div);OpenLayers.Util.removeItem(this.layers,a);a.removeMap(this);a.map=null;if(this.baseLayer==a){this.baseLayer=null;if(b){b=0;for(var c=this.layers.length;b<c;b++){var d=this.layers[b];if(d.isBaseLayer||this.allOverlays){this.setBaseLayer(d);break}}}}this.resetLayersZIndex();this.events.triggerEvent("removelayer",
{layer:a})},getNumLayers:function(){return this.layers.length},getLayerIndex:function(a){return OpenLayers.Util.indexOf(this.layers,a)},setLayerIndex:function(a,b){var c=this.getLayerIndex(a);if(b<0)b=0;else if(b>this.layers.length)b=this.layers.length;if(c!=b){this.layers.splice(c,1);this.layers.splice(b,0,a);c=0;for(var d=this.layers.length;c<d;c++)this.setLayerZIndex(this.layers[c],c);this.events.triggerEvent("changelayer",{layer:a,property:"order"});if(this.allOverlays)if(b===0)this.setBaseLayer(a);
else this.baseLayer!==this.layers[0]&&this.setBaseLayer(this.layers[0])}},raiseLayer:function(a,b){b=this.getLayerIndex(a)+b;this.setLayerIndex(a,b)},setBaseLayer:function(a){var b=null;if(this.baseLayer)b=this.baseLayer.getExtent();if(a!=this.baseLayer)if(OpenLayers.Util.indexOf(this.layers,a)!=-1){this.baseLayer!=null&&!this.allOverlays&&this.baseLayer.setVisibility(false);this.baseLayer=a;this.viewRequestID++;if(!this.allOverlays)this.baseLayer.visibility=true;a=this.getCenter();if(a!=null){a=
b?b.getCenterLonLat():a;b=b?this.getZoomForExtent(b,true):this.getZoomForResolution(this.resolution,true);this.setCenter(a,b,false,true)}this.events.triggerEvent("changebaselayer",{layer:this.baseLayer})}},addControl:function(a,b){this.controls.push(a);this.addControlToMap(a,b)},addControlToMap:function(a,b){a.outsideViewport=a.div!=null;if(this.displayProjection&&!a.displayProjection)a.displayProjection=this.displayProjection;a.setMap(this);if(b=a.draw(b))if(!a.outsideViewport){b.style.zIndex=this.Z_INDEX_BASE.Control+
this.controls.length;this.viewPortDiv.appendChild(b)}a.autoActivate&&a.activate()},getControl:function(a){for(var b=null,c=0,d=this.controls.length;c<d;c++){var e=this.controls[c];if(e.id==a){b=e;break}}return b},removeControl:function(a){if(a&&a==this.getControl(a.id)){a.div&&a.div.parentNode==this.viewPortDiv&&this.viewPortDiv.removeChild(a.div);OpenLayers.Util.removeItem(this.controls,a)}},addPopup:function(a,b){if(b)for(b=this.popups.length-1;b>=0;--b)this.removePopup(this.popups[b]);a.map=this;
this.popups.push(a);if(a=a.draw()){a.style.zIndex=this.Z_INDEX_BASE.Popup+this.popups.length;this.layerContainerDiv.appendChild(a)}},removePopup:function(a){OpenLayers.Util.removeItem(this.popups,a);if(a.div)try{this.layerContainerDiv.removeChild(a.div)}catch(b){}a.map=null},getSize:function(){var a=null;if(this.size!=null)a=this.size.clone();return a},updateSize:function(){this.events.clearMouseCache();var a=this.getCurrentSize(),b=this.getSize();if(b==null)this.size=b=a;if(!a.equals(b)){this.size=
a;a=0;for(b=this.layers.length;a<b;a++)this.layers[a].onMapResize();a=this.getCenter();if(this.baseLayer!=null&&a!=null){b=this.getZoom();this.zoom=null;this.setCenter(a,b)}}},getCurrentSize:function(){var a=new OpenLayers.Size(this.div.clientWidth,this.div.clientHeight);if(a.w==0&&a.h==0||isNaN(a.w)&&isNaN(a.h)){var b=OpenLayers.Element.getDimensions(this.div);a.w=b.width;a.h=b.height}if(a.w==0&&a.h==0||isNaN(a.w)&&isNaN(a.h)){a.w=parseInt(this.div.style.width);a.h=parseInt(this.div.style.height)}return a},
calculateBounds:function(a,b){var c=null;if(a==null)a=this.getCenter();if(b==null)b=this.getResolution();if(a!=null&&b!=null){var d=this.getSize();c=d.w*b;b=d.h*b;c=new OpenLayers.Bounds(a.lon-c/2,a.lat-b/2,a.lon+c/2,a.lat+b/2)}return c},getCenter:function(){var a=null;if(this.center)a=this.center.clone();return a},getZoom:function(){return this.zoom},pan:function(a,b,c){c=OpenLayers.Util.applyDefaults(c,{animate:true,dragging:false});var d=this.getViewPortPxFromLonLat(this.getCenter());a=d.add(a,
b);if(!c.dragging||!a.equals(d)){d=this.getLonLatFromViewPortPx(a);c.animate?this.panTo(d):this.setCenter(d,null,c.dragging)}},panTo:function(a){if(this.panMethod&&this.getExtent().scale(this.panRatio).containsLonLat(a)){if(!this.panTween)this.panTween=new OpenLayers.Tween(this.panMethod);var b=this.getCenter();if(!(a.lon==b.lon&&a.lat==b.lat)){b={lon:b.lon,lat:b.lat};a={lon:a.lon,lat:a.lat};this.panTween.start(b,a,this.panDuration,{callbacks:{start:OpenLayers.Function.bind(function(){this.events.triggerEvent("movestart")},
this),eachStep:OpenLayers.Function.bind(function(c){c=new OpenLayers.LonLat(c.lon,c.lat);this.moveTo(c,this.zoom,{dragging:true,noEvent:true})},this),done:OpenLayers.Function.bind(function(c){c=new OpenLayers.LonLat(c.lon,c.lat);this.moveTo(c,this.zoom,{noEvent:true});this.events.triggerEvent("moveend")},this)}})}}else this.setCenter(a)},setCenter:function(a,b,c,d){this.moveTo(a,b,{dragging:c,forceZoomChange:d,caller:"setCenter"})},moveTo:function(a,b,c){c||(c={});var d=c.dragging,e=c.forceZoomChange,
f=c.noEvent;this.panTween&&c.caller=="setCenter"&&this.panTween.stop();if(!this.center&&!this.isValidLonLat(a))a=this.maxExtent.getCenterLonLat();if(this.restrictedExtent!=null){if(a==null)a=this.getCenter();if(b==null)b=this.getZoom();c=this.getResolutionForZoom(b);c=this.calculateBounds(a,c);if(!this.restrictedExtent.containsBounds(c)){var g=this.restrictedExtent.getCenterLonLat();if(c.getWidth()>this.restrictedExtent.getWidth())a=new OpenLayers.LonLat(g.lon,a.lat);else if(c.left<this.restrictedExtent.left)a=
a.add(this.restrictedExtent.left-c.left,0);else if(c.right>this.restrictedExtent.right)a=a.add(this.restrictedExtent.right-c.right,0);if(c.getHeight()>this.restrictedExtent.getHeight())a=new OpenLayers.LonLat(a.lon,g.lat);else if(c.bottom<this.restrictedExtent.bottom)a=a.add(0,this.restrictedExtent.bottom-c.bottom);else if(c.top>this.restrictedExtent.top)a=a.add(0,this.restrictedExtent.top-c.top)}}e=e||this.isValidZoomLevel(b)&&b!=this.getZoom();c=this.isValidLonLat(a)&&!a.equals(this.center);if(e||
c||!d){!this.dragging&&!f&&this.events.triggerEvent("movestart");if(c){!e&&this.center&&this.centerLayerContainer(a);this.center=a.clone()}if(e||this.layerContainerOrigin==null){this.layerContainerOrigin=this.center.clone();this.layerContainerDiv.style.left="0px";this.layerContainerDiv.style.top="0px"}if(e){this.zoom=b;this.resolution=this.getResolutionForZoom(b);this.viewRequestID++}a=this.getExtent();if(this.baseLayer.visibility){this.baseLayer.moveTo(a,e,d);d?this.baseLayer.events.triggerEvent("move"):
this.baseLayer.events.triggerEvent("moveend",{zoomChanged:e})}a=this.baseLayer.getExtent();b=0;for(c=this.layers.length;b<c;b++){g=this.layers[b];if(g!==this.baseLayer&&!g.isBaseLayer){var i=g.calculateInRange();if(g.inRange!=i){(g.inRange=i)||g.display(false);this.events.triggerEvent("changelayer",{layer:g,property:"visibility"})}if(i&&g.visibility){g.moveTo(a,e,d);d?g.events.triggerEvent("move"):g.events.triggerEvent("moveend",{zoomChanged:e})}}}if(e){b=0;for(c=this.popups.length;b<c;b++)this.popups[b].updatePosition()}this.events.triggerEvent("move");
e&&this.events.triggerEvent("zoomend")}!d&&!f&&this.events.triggerEvent("moveend");this.dragging=!!d},centerLayerContainer:function(a){var b=this.getViewPortPxFromLonLat(this.layerContainerOrigin);a=this.getViewPortPxFromLonLat(a);if(b!=null&&a!=null){this.layerContainerDiv.style.left=Math.round(b.x-a.x)+"px";this.layerContainerDiv.style.top=Math.round(b.y-a.y)+"px"}},isValidZoomLevel:function(a){return a!=null&&a>=0&&a<this.getNumZoomLevels()},isValidLonLat:function(a){var b=false;if(a!=null){b=
this.getMaxExtent();b=b.containsLonLat(a)}return b},getProjection:function(){var a=this.getProjectionObject();return a?a.getCode():null},getProjectionObject:function(){var a=null;if(this.baseLayer!=null)a=this.baseLayer.projection;return a},getMaxResolution:function(){var a=null;if(this.baseLayer!=null)a=this.baseLayer.maxResolution;return a},getMaxExtent:function(a){var b=null;if(a&&a.restricted&&this.restrictedExtent)b=this.restrictedExtent;else if(this.baseLayer!=null)b=this.baseLayer.maxExtent;
return b},getNumZoomLevels:function(){var a=null;if(this.baseLayer!=null)a=this.baseLayer.numZoomLevels;return a},getExtent:function(){var a=null;if(this.baseLayer!=null)a=this.baseLayer.getExtent();return a},getResolution:function(){var a=null;if(this.baseLayer!=null)a=this.baseLayer.getResolution();return a},getUnits:function(){var a=null;if(this.baseLayer!=null)a=this.baseLayer.units;return a},getScale:function(){var a=null;if(this.baseLayer!=null){a=this.getResolution();var b=this.baseLayer.units;
a=OpenLayers.Util.getScaleFromResolution(a,b)}return a},getZoomForExtent:function(a,b){var c=null;if(this.baseLayer!=null)c=this.baseLayer.getZoomForExtent(a,b);return c},getResolutionForZoom:function(a){var b=null;if(this.baseLayer)b=this.baseLayer.getResolutionForZoom(a);return b},getZoomForResolution:function(a,b){var c=null;if(this.baseLayer!=null)c=this.baseLayer.getZoomForResolution(a,b);return c},zoomTo:function(a){this.isValidZoomLevel(a)&&this.setCenter(null,a)},zoomIn:function(){this.zoomTo(this.getZoom()+
1)},zoomOut:function(){this.zoomTo(this.getZoom()-1)},zoomToExtent:function(a,b){var c=a.getCenterLonLat();if(this.baseLayer.wrapDateLine){c=this.getMaxExtent();for(a=a.clone();a.right<a.left;)a.right+=c.getWidth();c=a.getCenterLonLat().wrapDateLine(c)}this.setCenter(c,this.getZoomForExtent(a,b))},zoomToMaxExtent:function(a){a=a?a.restricted:true;a=this.getMaxExtent({restricted:a});this.zoomToExtent(a)},zoomToScale:function(a,b){var c=OpenLayers.Util.getResolutionFromScale(a,this.baseLayer.units),
d=this.getSize();a=d.w*c;c=d.h*c;d=this.getCenter();a=new OpenLayers.Bounds(d.lon-a/2,d.lat-c/2,d.lon+a/2,d.lat+c/2);this.zoomToExtent(a,b)},getLonLatFromViewPortPx:function(a){var b=null;if(this.baseLayer!=null)b=this.baseLayer.getLonLatFromViewPortPx(a);return b},getViewPortPxFromLonLat:function(a){var b=null;if(this.baseLayer!=null)b=this.baseLayer.getViewPortPxFromLonLat(a);return b},getLonLatFromPixel:function(a){return this.getLonLatFromViewPortPx(a)},getPixelFromLonLat:function(a){a=this.getViewPortPxFromLonLat(a);
a.x=Math.round(a.x);a.y=Math.round(a.y);return a},getViewPortPxFromLayerPx:function(a){var b=null;if(a!=null){b=parseInt(this.layerContainerDiv.style.left);var c=parseInt(this.layerContainerDiv.style.top);b=a.add(b,c)}return b},getLayerPxFromViewPortPx:function(a){var b=null;if(a!=null){b=-parseInt(this.layerContainerDiv.style.left);var c=-parseInt(this.layerContainerDiv.style.top);b=a.add(b,c);if(isNaN(b.x)||isNaN(b.y))b=null}return b},getLonLatFromLayerPx:function(a){a=this.getViewPortPxFromLayerPx(a);
return this.getLonLatFromViewPortPx(a)},getLayerPxFromLonLat:function(a){a=this.getPixelFromLonLat(a);return this.getLayerPxFromViewPortPx(a)},CLASS_NAME:"OpenLayers.Map"});OpenLayers.Map.TILE_WIDTH=256;OpenLayers.Map.TILE_HEIGHT=256;
OpenLayers.Marker=OpenLayers.Class({icon:null,lonlat:null,events:null,map:null,initialize:function(a,b){this.lonlat=a;a=b?b:OpenLayers.Marker.defaultIcon();if(this.icon==null)this.icon=a;else{this.icon.url=a.url;this.icon.size=a.size;this.icon.offset=a.offset;this.icon.calculateOffset=a.calculateOffset}this.events=new OpenLayers.Events(this,this.icon.imageDiv,null)},destroy:function(){this.erase();this.map=null;this.events.destroy();this.events=null;if(this.icon!=null){this.icon.destroy();this.icon=
null}},draw:function(a){return this.icon.draw(a)},erase:function(){this.icon!=null&&this.icon.erase()},moveTo:function(a){a!=null&&this.icon!=null&&this.icon.moveTo(a);this.lonlat=this.map.getLonLatFromLayerPx(a)},isDrawn:function(){var a=this.icon&&this.icon.isDrawn();return a},onScreen:function(){var a=false;if(this.map){a=this.map.getExtent();a=a.containsLonLat(this.lonlat)}return a},inflate:function(a){if(this.icon){a=new OpenLayers.Size(this.icon.size.w*a,this.icon.size.h*a);this.icon.setSize(a)}},
setOpacity:function(a){this.icon.setOpacity(a)},setUrl:function(a){this.icon.setUrl(a)},display:function(a){this.icon.display(a)},CLASS_NAME:"OpenLayers.Marker"});OpenLayers.Marker.defaultIcon=function(){var a=OpenLayers.Util.getImagesLocation()+"marker.png",b=new OpenLayers.Size(21,25),c=function(d){return new OpenLayers.Pixel(-(d.w/2),-d.h)};return new OpenLayers.Icon(a,b,null,c)};
OpenLayers.Request={DEFAULT_CONFIG:{method:"GET",url:window.loc.href,async:true,user:undefined,password:undefined,params:null,proxy:OpenLayers.ProxyHost,headers:{},data:null,callback:function(){},success:null,failure:null,scope:null},events:new OpenLayers.Events(this,null,["complete","success","failure"]),issue:function(a){var b=OpenLayers.Util.extend(this.DEFAULT_CONFIG,{proxy:OpenLayers.ProxyHost});a=OpenLayers.Util.applyDefaults(a,b);var c=new OpenLayers.Request.XMLHttpRequest,d=a.url;if(a.params){b=
OpenLayers.Util.getParameterString(a.params);if(b.length>0){var e=d.indexOf("?")>-1?"&":"?";d+=e+b}}if(a.proxy&&d.indexOf("http")==0)d=typeof a.proxy=="function"?a.proxy(d):a.proxy+encodeURIComponent(d);c.open(a.method,d,a.async,a.user,a.password);for(var f in a.headers)c.setRequestHeader(f,a.headers[f]);var g=this.events,i=this;c.onreadystatechange=function(){if(c.readyState==OpenLayers.Request.XMLHttpRequest.DONE){var h=g.triggerEvent("complete",{request:c,config:a,requestUrl:d});h!==false&&i.runCallbacks({request:c,
config:a,requestUrl:d})}};a.async===false?c.send(a.data):window.setTimeout(function(){c.send(a.data)},0);return c},runCallbacks:function(a){var b=a.request,c=a.config,d=c.scope?OpenLayers.Function.bind(c.callback,c.scope):c.callback,e;if(c.success)e=c.scope?OpenLayers.Function.bind(c.success,c.scope):c.success;var f;if(c.failure)f=c.scope?OpenLayers.Function.bind(c.failure,c.scope):c.failure;d(b);if(!b.status||b.status>=200&&b.status<300){this.events.triggerEvent("success",a);e&&e(b)}if(b.status&&
(b.status<200||b.status>=300)){this.events.triggerEvent("failure",a);f&&f(b)}},GET:function(a){a=OpenLayers.Util.extend(a,{method:"GET"});return OpenLayers.Request.issue(a)},POST:function(a){a=OpenLayers.Util.extend(a,{method:"POST"});a.headers=a.headers?a.headers:{};"CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(a.headers)||(a.headers["Content-Type"]="application/xml");return OpenLayers.Request.issue(a)},PUT:function(a){a=OpenLayers.Util.extend(a,{method:"PUT"});a.headers=a.headers?a.headers:{};
"CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(a.headers)||(a.headers["Content-Type"]="application/xml");return OpenLayers.Request.issue(a)},DELETE:function(a){a=OpenLayers.Util.extend(a,{method:"DELETE"});return OpenLayers.Request.issue(a)},HEAD:function(a){a=OpenLayers.Util.extend(a,{method:"HEAD"});return OpenLayers.Request.issue(a)},OPTIONS:function(a){a=OpenLayers.Util.extend(a,{method:"OPTIONS"});return OpenLayers.Request.issue(a)}};
OpenLayers.Tile.Image=OpenLayers.Class(OpenLayers.Tile,{url:null,imgDiv:null,frame:null,layerAlphaHack:null,isBackBuffer:false,lastRatio:1,isFirstDraw:true,backBufferTile:null,initialize:function(a,b,c,d){OpenLayers.Tile.prototype.initialize.apply(this,arguments);this.url=d;this.frame=document.createElement("div");this.frame.style.overflow="hidden";this.frame.style.position="absolute";this.layerAlphaHack=this.layer.alpha&&OpenLayers.Util.alphaHack()},destroy:function(){if(this.imgDiv!=null){this.layerAlphaHack&&
OpenLayers.Event.stopObservingElement(this.imgDiv.childNodes[0].id);OpenLayers.Event.stopObservingElement(this.imgDiv.id);if(this.imgDiv.parentNode==this.frame){this.frame.removeChild(this.imgDiv);this.imgDiv.map=null}this.imgDiv.urls=null;this.imgDiv.src=OpenLayers.Util.getImagesLocation()+"blank.gif"}this.imgDiv=null;this.frame!=null&&this.frame.parentNode==this.layer.div&&this.layer.div.removeChild(this.frame);this.frame=null;if(this.backBufferTile){this.backBufferTile.destroy();this.backBufferTile=
null}this.layer.events.unregister("loadend",this,this.resetBackBuffer);OpenLayers.Tile.prototype.destroy.apply(this,arguments)},clone:function(a){if(a==null)a=new OpenLayers.Tile.Image(this.layer,this.position,this.bounds,this.url,this.size);a=OpenLayers.Tile.prototype.clone.apply(this,[a]);a.imgDiv=null;return a},draw:function(){if(this.layer!=this.layer.map.baseLayer&&this.layer.reproject)this.bounds=this.getBoundsFromBaseLayer(this.position);var a=OpenLayers.Tile.prototype.draw.apply(this,arguments);
if(OpenLayers.Util.indexOf(this.layer.SUPPORTED_TRANSITIONS,this.layer.transitionEffect)!=-1)if(a){if(!this.backBufferTile){this.backBufferTile=this.clone();this.backBufferTile.hide();this.backBufferTile.isBackBuffer=true;this.events.register("loadend",this,this.resetBackBuffer);this.layer.events.register("loadend",this,this.resetBackBuffer)}this.startTransition()}else this.backBufferTile&&this.backBufferTile.clear();else if(a&&this.isFirstDraw){this.events.register("loadend",this,this.showTile);
this.isFirstDraw=false}if(!a)return false;if(this.isLoading)this.events.triggerEvent("reload");else{this.isLoading=true;this.events.triggerEvent("loadstart")}return this.renderTile()},resetBackBuffer:function(){this.showTile();if(this.backBufferTile&&(this.isFirstDraw||!this.layer.numLoadingTiles)){this.isFirstDraw=false;var a=this.layer.maxExtent;if(a=a&&this.bounds.intersectsBounds(a,false)){this.backBufferTile.position=this.position;this.backBufferTile.bounds=this.bounds;this.backBufferTile.size=
this.size;this.backBufferTile.imageSize=this.layer.imageSize||this.size;this.backBufferTile.imageOffset=this.layer.imageOffset;this.backBufferTile.resolution=this.layer.getResolution();this.backBufferTile.renderTile()}this.backBufferTile.hide()}},renderTile:function(){this.imgDiv==null&&this.initImgDiv();this.imgDiv.viewRequestID=this.layer.map.viewRequestID;if(this.layer.async)this.layer.getURLasync(this.bounds,this,"url",this.positionImage);else{if(this.layer.url instanceof Array)this.imgDiv.urls=
this.layer.url.slice();this.url=this.layer.getURL(this.bounds);this.positionImage()}return true},positionImage:function(){if(this.layer!=null){OpenLayers.Util.modifyDOMElement(this.frame,null,this.position,this.size);var a=this.layer.getImageSize();if(this.layerAlphaHack)OpenLayers.Util.modifyAlphaImageDiv(this.imgDiv,null,null,a,this.url);else{OpenLayers.Util.modifyDOMElement(this.imgDiv,null,null,a);this.imgDiv.src=this.url}}},clear:function(){if(this.imgDiv){this.hide();if(OpenLayers.Tile.Image.useBlankTile)this.imgDiv.src=
OpenLayers.Util.getImagesLocation()+"blank.gif"}},initImgDiv:function(){var a=this.layer.imageOffset,b=this.layer.getImageSize();this.imgDiv=this.layerAlphaHack?OpenLayers.Util.createAlphaImageDiv(null,a,b,null,"relative",null,null,null,true):OpenLayers.Util.createImage(null,a,b,null,"relative",null,null,true);this.imgDiv.className="olTileImage";this.frame.style.zIndex=this.isBackBuffer?0:1;this.frame.appendChild(this.imgDiv);this.layer.div.appendChild(this.frame);this.layer.opacity!=null&&OpenLayers.Util.modifyDOMElement(this.imgDiv,
null,null,null,null,null,null,this.layer.opacity);this.imgDiv.map=this.layer.map;var c=function(){if(this.isLoading){this.isLoading=false;this.events.triggerEvent("loadend")}};this.layerAlphaHack?OpenLayers.Event.observe(this.imgDiv.childNodes[0],"load",OpenLayers.Function.bind(c,this)):OpenLayers.Event.observe(this.imgDiv,"load",OpenLayers.Function.bind(c,this));a=function(){this.imgDiv._attempts>OpenLayers.IMAGE_RELOAD_ATTEMPTS&&c.call(this)};OpenLayers.Event.observe(this.imgDiv,"error",OpenLayers.Function.bind(a,
this))},checkImgURL:function(){if(this.layer){var a=this.layerAlphaHack?this.imgDiv.firstChild.src:this.imgDiv.src;OpenLayers.Util.isEquivalentUrl(a,this.url)||this.hide()}},startTransition:function(){if(this.backBufferTile&&this.backBufferTile.imgDiv){var a=1;if(this.backBufferTile.resolution)a=this.backBufferTile.resolution/this.layer.getResolution();if(a!=this.lastRatio){if(this.layer.transitionEffect=="resize"){var b=new OpenLayers.LonLat(this.backBufferTile.bounds.left,this.backBufferTile.bounds.top),
c=new OpenLayers.Size(this.backBufferTile.size.w*a,this.backBufferTile.size.h*a);b=this.layer.map.getLayerPxFromLonLat(b);OpenLayers.Util.modifyDOMElement(this.backBufferTile.frame,null,b,c);c=this.backBufferTile.imageSize;c=new OpenLayers.Size(c.w*a,c.h*a);if(b=this.backBufferTile.imageOffset)b=new OpenLayers.Pixel(b.x*a,b.y*a);OpenLayers.Util.modifyDOMElement(this.backBufferTile.imgDiv,null,b,c);this.backBufferTile.show()}}else this.layer.singleTile?this.backBufferTile.show():this.backBufferTile.hide();
this.lastRatio=a}},show:function(){this.frame.style.display="";if(OpenLayers.Util.indexOf(this.layer.SUPPORTED_TRANSITIONS,this.layer.transitionEffect)!=-1)if(navigator.userAgent.toLowerCase().indexOf("gecko")!=-1)this.frame.scrollLeft=this.frame.scrollLeft},hide:function(){this.frame.style.display="none"},CLASS_NAME:"OpenLayers.Tile.Image"});OpenLayers.Tile.Image.useBlankTile=false;
OpenLayers.Feature=OpenLayers.Class({layer:null,id:null,lonlat:null,data:null,marker:null,popupClass:OpenLayers.Popup.AnchoredBubble,popup:null,initialize:function(a,b,c){this.layer=a;this.lonlat=b;this.data=c!=null?c:{};this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){this.layer!=null&&this.layer.map!=null&&this.popup!=null&&this.layer.map.removePopup(this.popup);this.data=this.lonlat=this.id=this.layer=null;if(this.marker!=null){this.destroyMarker(this.marker);this.marker=
null}if(this.popup!=null){this.destroyPopup(this.popup);this.popup=null}},onScreen:function(){var a=false;if(this.layer!=null&&this.layer.map!=null){a=this.layer.map.getExtent();a=a.containsLonLat(this.lonlat)}return a},createMarker:function(){if(this.lonlat!=null)this.marker=new OpenLayers.Marker(this.lonlat,this.data.icon);return this.marker},destroyMarker:function(){this.marker.destroy()},createPopup:function(a){if(this.lonlat!=null){var b=this.id+"_popup",c=this.marker?this.marker.icon:null;if(!this.popup)this.popup=
new this.popupClass(b,this.lonlat,this.data.popupSize,this.data.popupContentHTML,c,a);if(this.data.overflow!=null)this.popup.contentDiv.style.overflow=this.data.overflow;this.popup.feature=this}return this.popup},destroyPopup:function(){if(this.popup){this.popup.feature=null;this.popup.destroy();this.popup=null}},CLASS_NAME:"OpenLayers.Feature"});
OpenLayers.Handler.Click=OpenLayers.Class(OpenLayers.Handler,{delay:300,single:true,"double":false,pixelTolerance:0,stopSingle:false,stopDouble:false,timerId:null,down:null,rightclickTimerId:null,initialize:function(){OpenLayers.Handler.prototype.initialize.apply(this,arguments);if(this.pixelTolerance!=null)this.mousedown=function(a){this.down=a.xy;return true}},mousedown:null,mouseup:function(a){var b=true;if(this.checkModifiers(a)&&this.control.handleRightClicks&&OpenLayers.Event.isRightClick(a))b=
this.rightclick(a);return b},rightclick:function(a){if(this.passesTolerance(a))if(this.rightclickTimerId!=null){this.clearTimer();this.callback("dblrightclick",[a]);return!this.stopDouble}else{a=this["double"]?OpenLayers.Util.extend({},a):this.callback("rightclick",[a]);a=OpenLayers.Function.bind(this.delayedRightCall,this,a);this.rightclickTimerId=window.setTimeout(a,this.delay)}return!this.stopSingle},delayedRightCall:function(a){this.rightclickTimerId=null;a&&this.callback("rightclick",[a]);return!this.stopSingle},
dblclick:function(a){if(this.passesTolerance(a)){this["double"]&&this.callback("dblclick",[a]);this.clearTimer()}return!this.stopDouble},click:function(a){if(this.passesTolerance(a))if(this.timerId!=null)this.clearTimer();else{a=this.single?OpenLayers.Util.extend({},a):null;this.timerId=window.setTimeout(OpenLayers.Function.bind(this.delayedCall,this,a),this.delay)}return!this.stopSingle},passesTolerance:function(a){var b=true;if(this.pixelTolerance!=null&&this.down){a=Math.sqrt(Math.pow(this.down.x-
a.xy.x,2)+Math.pow(this.down.y-a.xy.y,2));if(a>this.pixelTolerance)b=false}return b},clearTimer:function(){if(this.timerId!=null){window.clearTimeout(this.timerId);this.timerId=null}if(this.rightclickTimerId!=null){window.clearTimeout(this.rightclickTimerId);this.rightclickTimerId=null}},delayedCall:function(a){this.timerId=null;a&&this.callback("click",[a])},deactivate:function(){var a=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.clearTimer();this.down=null;a=true}return a},
CLASS_NAME:"OpenLayers.Handler.Click"});
OpenLayers.Handler.Drag=OpenLayers.Class(OpenLayers.Handler,{started:false,stopDown:true,dragging:false,last:null,start:null,oldOnselectstart:null,interval:0,timeoutId:null,initialize:function(){OpenLayers.Handler.prototype.initialize.apply(this,arguments)},down:function(){},move:function(){},up:function(){},out:function(){},mousedown:function(a){var b=true;this.dragging=false;if(this.checkModifiers(a)&&OpenLayers.Event.isLeftClick(a)){this.started=true;this.last=this.start=a.xy;OpenLayers.Element.addClass(this.map.viewPortDiv,
"olDragDown");this.down(a);this.callback("down",[a.xy]);OpenLayers.Event.stop(a);if(!this.oldOnselectstart){this.oldOnselectstart=document.onselectstart?document.onselectstart:function(){return true};document.onselectstart=function(){return false}}b=!this.stopDown}else{this.started=false;this.last=this.start=null}return b},mousemove:function(a){if(this.started&&!this.timeoutId&&(a.xy.x!=this.last.x||a.xy.y!=this.last.y)){if(this.interval>0)this.timeoutId=setTimeout(OpenLayers.Function.bind(this.removeTimeout,
this),this.interval);this.dragging=true;this.move(a);this.callback("move",[a.xy]);if(!this.oldOnselectstart){this.oldOnselectstart=document.onselectstart;document.onselectstart=function(){return false}}this.last=this.evt.xy}return true},removeTimeout:function(){this.timeoutId=null},mouseup:function(a){if(this.started){var b=this.start!=this.last;this.dragging=this.started=false;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.up(a);this.callback("up",[a.xy]);b&&this.callback("done",
[a.xy]);document.onselectstart=this.oldOnselectstart}return true},mouseout:function(a){if(this.started&&OpenLayers.Util.mouseLeft(a,this.map.div)){var b=this.start!=this.last;this.dragging=this.started=false;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.out(a);this.callback("out",[]);b&&this.callback("done",[a.xy]);if(document.onselectstart)document.onselectstart=this.oldOnselectstart}return true},click:function(){return this.start==this.last},activate:function(){var a=false;
if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.dragging=false;a=true}return a},deactivate:function(){var a=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.dragging=this.started=false;this.last=this.start=null;a=true;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown")}return a},CLASS_NAME:"OpenLayers.Handler.Drag"});
OpenLayers.Handler.Keyboard=OpenLayers.Class(OpenLayers.Handler,{KEY_EVENTS:["keydown","keyup"],eventListener:null,initialize:function(){OpenLayers.Handler.prototype.initialize.apply(this,arguments);this.eventListener=OpenLayers.Function.bindAsEventListener(this.handleKeyEvent,this)},destroy:function(){this.deactivate();this.eventListener=null;OpenLayers.Handler.prototype.destroy.apply(this,arguments)},activate:function(){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){for(var a=0,
b=this.KEY_EVENTS.length;a<b;a++)OpenLayers.Event.observe(document,this.KEY_EVENTS[a],this.eventListener);return true}else return false},deactivate:function(){var a=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){a=0;for(var b=this.KEY_EVENTS.length;a<b;a++)OpenLayers.Event.stopObserving(document,this.KEY_EVENTS[a],this.eventListener);a=true}return a},handleKeyEvent:function(a){this.checkModifiers(a)&&this.callback(a.type,[a])},CLASS_NAME:"OpenLayers.Handler.Keyboard"});
OpenLayers.Handler.MouseWheel=OpenLayers.Class(OpenLayers.Handler,{wheelListener:null,mousePosition:null,initialize:function(){OpenLayers.Handler.prototype.initialize.apply(this,arguments);this.wheelListener=OpenLayers.Function.bindAsEventListener(this.onWheelEvent,this)},destroy:function(){OpenLayers.Handler.prototype.destroy.apply(this,arguments);this.wheelListener=null},onWheelEvent:function(a){if(this.map&&this.checkModifiers(a)){for(var b=false,c=false,d=false,e=OpenLayers.Event.element(a);e!=
null&&!d&&!b;){if(!b)try{if(e.currentStyle)g=e.currentStyle.overflow;else var f=document.defaultView.getComputedStyle(e,null),g=f.getPropertyValue("overflow");b=g&&g=="auto"||g=="scroll"}catch(i){}if(!c){d=0;for(var h=this.map.layers.length;d<h;d++)if(e==this.map.layers[d].div||e==this.map.layers[d].pane){c=true;break}}d=e==this.map.div;e=e.parentNode}if(!b&&d){c&&this.wheelZoom(a);OpenLayers.Event.stop(a)}}},wheelZoom:function(a){var b=0;if(!a)a=window.event;if(a.wheelDelta){b=a.wheelDelta/120;if(window.opera&&
window.opera.version()<9.2)b=-b}else if(a.detail)b=-a.detail/3;if(b){if(this.mousePosition)a.xy=this.mousePosition;if(!a.xy)a.xy=this.map.getPixelFromLonLat(this.map.getCenter());b<0?this.callback("down",[a,b]):this.callback("up",[a,b])}},mousemove:function(a){this.mousePosition=a.xy},activate:function(){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){var a=this.wheelListener;OpenLayers.Event.observe(window,"DOMMouseScroll",a);OpenLayers.Event.observe(window,"mousewheel",a);OpenLayers.Event.observe(document,
"mousewheel",a);return true}else return false},deactivate:function(){if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){var a=this.wheelListener;OpenLayers.Event.stopObserving(window,"DOMMouseScroll",a);OpenLayers.Event.stopObserving(window,"mousewheel",a);OpenLayers.Event.stopObserving(document,"mousewheel",a);return true}else return false},CLASS_NAME:"OpenLayers.Handler.MouseWheel"});
OpenLayers.Layer=OpenLayers.Class({id:null,name:null,div:null,opacity:null,alwaysInRange:null,EVENT_TYPES:["loadstart","loadend","loadcancel","visibilitychanged","move","moveend"],events:null,map:null,isBaseLayer:false,alpha:false,displayInLayerSwitcher:true,visibility:true,attribution:null,inRange:false,imageSize:null,imageOffset:null,options:null,eventListeners:null,gutter:0,projection:null,units:null,scales:null,resolutions:null,maxExtent:null,minExtent:null,maxResolution:null,minResolution:null,
numZoomLevels:null,minScale:null,maxScale:null,displayOutsideMaxExtent:false,wrapDateLine:false,transitionEffect:null,SUPPORTED_TRANSITIONS:["resize"],initialize:function(a,b){this.addOptions(b);this.name=a;if(this.id==null){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");this.div=OpenLayers.Util.createDiv(this.id);this.div.style.width="100%";this.div.style.height="100%";this.div.dir="ltr";this.events=new OpenLayers.Events(this,this.div,this.EVENT_TYPES);this.eventListeners instanceof
Object&&this.events.on(this.eventListeners)}if(this.wrapDateLine)this.displayOutsideMaxExtent=true},destroy:function(a){if(a==null)a=true;this.map!=null&&this.map.removeLayer(this,a);this.options=this.div=this.name=this.map=this.projection=null;if(this.events){this.eventListeners&&this.events.un(this.eventListeners);this.events.destroy()}this.events=this.eventListeners=null},clone:function(a){if(a==null)a=new OpenLayers.Layer(this.name,this.options);OpenLayers.Util.applyDefaults(a,this);a.map=null;
return a},setName:function(a){if(a!=this.name){this.name=a;this.map!=null&&this.map.events.triggerEvent("changelayer",{layer:this,property:"name"})}},addOptions:function(a){if(this.options==null)this.options={};OpenLayers.Util.extend(this.options,a);OpenLayers.Util.extend(this,a)},onMapResize:function(){},redraw:function(){var a=false;if(this.map){this.inRange=this.calculateInRange();var b=this.getExtent();if(b&&this.inRange&&this.visibility){a=true;this.moveTo(b,a,false);this.events.triggerEvent("moveend",
{zoomChanged:a});a=true}}return a},moveTo:function(){var a=this.visibility;this.isBaseLayer||(a=a&&this.inRange);this.display(a)},setMap:function(a){if(this.map==null){this.map=a;this.maxExtent=this.maxExtent||this.map.maxExtent;if((this.projection=this.projection||this.map.projection)&&typeof this.projection=="string")this.projection=new OpenLayers.Projection(this.projection);this.units=this.projection.getUnits()||this.units||this.map.units;this.initResolutions();if(!this.isBaseLayer){this.inRange=
this.calculateInRange();a=this.visibility&&this.inRange;this.div.style.display=a?"":"none"}this.setTileSize()}},afterAdd:function(){},removeMap:function(){},getImageSize:function(){return this.imageSize||this.tileSize},setTileSize:function(a){this.tileSize=a=a?a:this.tileSize?this.tileSize:this.map.getTileSize();if(this.gutter){this.imageOffset=new OpenLayers.Pixel(-this.gutter,-this.gutter);this.imageSize=new OpenLayers.Size(a.w+2*this.gutter,a.h+2*this.gutter)}},getVisibility:function(){return this.visibility},
setVisibility:function(a){if(a!=this.visibility){this.visibility=a;this.display(a);this.redraw();this.map!=null&&this.map.events.triggerEvent("changelayer",{layer:this,property:"visibility"});this.events.triggerEvent("visibilitychanged")}},display:function(a){var b=this.calculateInRange();if(a!=(this.div.style.display!="none"))this.div.style.display=a&&b?"block":"none"},calculateInRange:function(){var a=false;if(this.alwaysInRange)a=true;else if(this.map){a=this.map.getResolution();a=a>=this.minResolution&&
a<=this.maxResolution}return a},setIsBaseLayer:function(a){if(a!=this.isBaseLayer){this.isBaseLayer=a;this.map!=null&&this.map.events.triggerEvent("changebaselayer",{layer:this})}},initResolutions:function(){for(var a=new Array("projection","units","scales","resolutions","maxScale","minScale","maxResolution","minResolution","minExtent","maxExtent","numZoomLevels","maxZoomLevel"),b=["projection","units"],c=false,d={},e=0,f=a.length;e<f;e++){var g=a[e];if(this.options[g]&&OpenLayers.Util.indexOf(b,
g)==-1)c=true;d[g]=this.options[g]||this.map[g]}if(this.alwaysInRange==null)this.alwaysInRange=!c;if((this.options.minScale!=null||this.options.maxScale!=null)&&this.options.scales==null)d.scales=null;if((this.options.minResolution!=null||this.options.maxResolution!=null)&&this.options.resolutions==null)d.resolutions=null;if(!d.numZoomLevels&&d.maxZoomLevel)d.numZoomLevels=d.maxZoomLevel+1;if(d.scales!=null||d.resolutions!=null){if(d.scales!=null){d.resolutions=[];e=0;for(f=d.scales.length;e<f;e++){a=
d.scales[e];d.resolutions[e]=OpenLayers.Util.getResolutionFromScale(a,d.units)}}d.numZoomLevels=d.resolutions.length}else{if(d.minScale)d.maxResolution=OpenLayers.Util.getResolutionFromScale(d.minScale,d.units);else if(d.maxResolution=="auto"){f=this.map.getSize();e=d.maxExtent.getWidth()/f.w;f=d.maxExtent.getHeight()/f.h;d.maxResolution=Math.max(e,f)}if(d.maxScale!=null)d.minResolution=OpenLayers.Util.getResolutionFromScale(d.maxScale,d.units);else if(d.minResolution=="auto"&&d.minExtent!=null){f=
this.map.getSize();e=d.minExtent.getWidth()/f.w;f=d.minExtent.getHeight()/f.h;d.minResolution=Math.max(e,f)}if(d.minResolution!=null&&this.options.numZoomLevels==undefined){e=d.maxResolution/d.minResolution;d.numZoomLevels=Math.floor(Math.log(e)/Math.log(2))+1}d.resolutions=new Array(d.numZoomLevels);f=2;if(typeof d.minResolution=="number"&&d.numZoomLevels>1)f=Math.pow(d.maxResolution/d.minResolution,1/(d.numZoomLevels-1));for(e=0;e<d.numZoomLevels;e++){a=d.maxResolution/Math.pow(f,e);d.resolutions[e]=
a}}d.resolutions.sort(function(i,h){return h-i});this.resolutions=d.resolutions;this.maxResolution=d.resolutions[0];e=d.resolutions.length-1;this.minResolution=d.resolutions[e];this.scales=[];e=0;for(f=d.resolutions.length;e<f;e++)this.scales[e]=OpenLayers.Util.getScaleFromResolution(d.resolutions[e],d.units);this.minScale=this.scales[0];this.maxScale=this.scales[this.scales.length-1];this.numZoomLevels=d.numZoomLevels},getResolution:function(){var a=this.map.getZoom();return this.getResolutionForZoom(a)},
getExtent:function(){return this.map.calculateBounds()},getZoomForExtent:function(a,b){var c=this.map.getSize();a=Math.max(a.getWidth()/c.w,a.getHeight()/c.h);return this.getZoomForResolution(a,b)},getDataExtent:function(){},getResolutionForZoom:function(a){a=Math.max(0,Math.min(a,this.resolutions.length-1));if(this.map.fractionalZoom){var b=Math.floor(a),c=Math.ceil(a);a=this.resolutions[b]-(a-b)*(this.resolutions[b]-this.resolutions[c])}else a=this.resolutions[Math.round(a)];return a},getZoomForResolution:function(a,
b){if(this.map.fractionalZoom){b=0;var c=this.resolutions.length-1,d=this.resolutions[b],e=this.resolutions[c],f;c=0;for(var g=this.resolutions.length;c<g;++c){f=this.resolutions[c];if(f>=a){d=f;b=c}if(f<=a){e=f;break}}c=d-e;a=c>0?b+(d-a)/c:b}else{e=Number.POSITIVE_INFINITY;c=0;for(g=this.resolutions.length;c<g;c++)if(b){d=Math.abs(this.resolutions[c]-a);if(d>e)break;e=d}else if(this.resolutions[c]<a)break;a=Math.max(0,c-1)}return a},getLonLatFromViewPortPx:function(a){var b=null;if(a!=null){var c=
this.map.getSize(),d=this.map.getCenter();if(d){b=this.map.getResolution();var e=a.x-c.w/2;a=a.y-c.h/2;b=new OpenLayers.LonLat(d.lon+e*b,d.lat-a*b);if(this.wrapDateLine)b=b.wrapDateLine(this.maxExtent)}}return b},getViewPortPxFromLonLat:function(a){var b=null;if(a!=null){b=this.map.getResolution();var c=this.map.getExtent();b=new OpenLayers.Pixel(1/b*(a.lon-c.left),1/b*(c.top-a.lat))}return b},setOpacity:function(a){if(a!=this.opacity){this.opacity=a;for(var b=0,c=this.div.childNodes.length;b<c;++b){var d=
this.div.childNodes[b].firstChild;OpenLayers.Util.modifyDOMElement(d,null,null,null,null,null,null,a)}this.map!=null&&this.map.events.triggerEvent("changelayer",{layer:this,property:"opacity"})}},getZIndex:function(){return this.div.style.zIndex},setZIndex:function(a){this.div.style.zIndex=a},adjustBounds:function(a){if(this.gutter){var b=this.gutter*this.map.getResolution();a=new OpenLayers.Bounds(a.left-b,a.bottom-b,a.right+b,a.top+b)}if(this.wrapDateLine){b={rightTolerance:this.getResolution()};
a=a.wrapDateLine(this.maxExtent,b)}return a},CLASS_NAME:"OpenLayers.Layer"});
(function(){function a(){this._object=f?new f:new window.ActiveXObject("Microsoft.XMLHTTP")}function b(h){h.onreadystatechange&&h.onreadystatechange.apply(h);a.onreadystatechange&&a.onreadystatechange.apply(h)}function c(h){var j=h.responseXML;if(i&&j&&!j.documentElement&&h.getResponseHeader("Content-Type").match(/[^\/]+\/[^\+]+\+xml/)){j=new ActiveXObject("Microsoft.XMLDOM");j.loadXML(h.responseText)}if(j)if(i&&j.parseError!=0||j.documentElement&&j.documentElement.tagName=="parsererror")return null;
return j}function d(h){try{h.responseText=h._object.responseText}catch(j){}try{h.responseXML=c(h._object)}catch(m){}try{h.status=h._object.status}catch(k){}try{h.statusText=h._object.statusText}catch(o){}}function e(h){h._object.onreadystatechange=new window.Function;delete h._headers}var f=window.XMLHttpRequest,g=!!window.controllers,i=window.document.all&&!window.opera;if(g&&f.wrapped)a.wrapped=f.wrapped;a.UNSENT=0;a.OPENED=1;a.HEADERS_RECEIVED=2;a.LOADING=3;a.DONE=4;a.prototype.readyState=a.UNSENT;
a.prototype.responseText="";a.prototype.responseXML=null;a.prototype.status=0;a.prototype.statusText="";a.prototype.onreadystatechange=null;a.onreadystatechange=null;a.onopen=null;a.onsend=null;a.onabort=null;a.prototype.open=function(h,j,m,k,o){this._async=m;var l=this,n=this.readyState;if(i){var q=function(){l._object.readyState!=a.DONE&&e(l)};m&&window.attachEvent("onunload",q)}this._object.onreadystatechange=function(){if(!(g&&!m)){l.readyState=l._object.readyState;d(l);if(l._aborted)l.readyState=
a.UNSENT;else{if(l.readyState==a.DONE){e(l);i&&m&&window.detachEvent("onunload",q)}n!=l.readyState&&b(l);n=l.readyState}}};a.onopen&&a.onopen.apply(this,arguments);this._object.open(h,j,m,k,o);if(!m&&g){this.readyState=a.OPENED;b(this)}};a.prototype.send=function(h){a.onsend&&a.onsend.apply(this,arguments);if(h&&h.nodeType){h=window.XMLSerializer?(new window.XMLSerializer).serializeToString(h):h.xml;this._headers["Content-Type"]||this._object.setRequestHeader("Content-Type","application/xml")}this._object.send(h);
if(g&&!this._async){this.readyState=a.OPENED;for(d(this);this.readyState<a.DONE;){this.readyState++;b(this);if(this._aborted)return}}};a.prototype.abort=function(){a.onabort&&a.onabort.apply(this,arguments);if(this.readyState>a.UNSENT)this._aborted=true;this._object.abort();e(this)};a.prototype.getAllResponseHeaders=function(){return this._object.getAllResponseHeaders()};a.prototype.getResponseHeader=function(h){return this._object.getResponseHeader(h)};a.prototype.setRequestHeader=function(h,j){if(!this._headers)this._headers=
{};this._headers[h]=j;return this._object.setRequestHeader(h,j)};a.prototype.toString=function(){return"[object XMLHttpRequest]"};a.toString=function(){return"[XMLHttpRequest]"};if(!window.Function.prototype.apply)window.Function.prototype.apply=function(h,j){j||(j=[]);h.__func=this;h.__func(j[0],j[1],j[2],j[3],j[4]);delete h.__func};OpenLayers.Request.XMLHttpRequest=a})();OpenLayers.ProxyHost="";OpenLayers.nullHandler=function(a){OpenLayers.Console.userError(OpenLayers.i18n("unhandledRequest",{statusText:a.statusText}))};
OpenLayers.loadURL=function(a,b,c,d,e){if(typeof b=="string")b=OpenLayers.Util.getParameters(b);d=d?d:OpenLayers.nullHandler;e=e?e:OpenLayers.nullHandler;return OpenLayers.Request.GET({url:a,params:b,success:d,failure:e,scope:c})};
OpenLayers.parseXMLString=function(a){var b=a.indexOf("<");if(b>0)a=a.substring(b);return b=OpenLayers.Util.Try(function(){var c=new ActiveXObject("Microsoft.XMLDOM");c.loadXML(a);return c},function(){return(new DOMParser).parseFromString(a,"text/xml")},function(){var c=new XMLHttpRequest;c.open("GET","data:text/xml;charset=utf-8,"+encodeURIComponent(a),false);c.overrideMimeType&&c.overrideMimeType("text/xml");c.send(null);return c.responseXML})};
OpenLayers.Ajax={emptyFunction:function(){},getTransport:function(){return OpenLayers.Util.Try(function(){return new XMLHttpRequest},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")})||false},activeRequestCount:0};
OpenLayers.Ajax.Responders={responders:[],register:function(a){try{for(var b=0;b<this.responders.length;b++)if(a==this.responders[b])return}catch(c){this.responders=[]}this.responders.push(a)},unregister:function(a){OpenLayers.Util.removeItem(this.reponders,a)},dispatch:function(a,b,c){var d;try{for(var e=0;e<this.responders.length;e++){d=this.responders[e];if(d[a]&&typeof d[a]=="function")try{d[a].apply(d,[b,c])}catch(f){}}}catch(g){}}};
OpenLayers.Ajax.Responders.register({onCreate:function(){OpenLayers.Ajax.activeRequestCount++},onComplete:function(){OpenLayers.Ajax.activeRequestCount--}});OpenLayers.Ajax.Base=OpenLayers.Class({initialize:function(a){this.options={method:"post",asynchronous:true,contentType:"application/xml",parameters:""};OpenLayers.Util.extend(this.options,a||{});this.options.method=this.options.method.toLowerCase();if(typeof this.options.parameters=="string")this.options.parameters=OpenLayers.Util.getParameters(this.options.parameters)}});
OpenLayers.Ajax.Request=OpenLayers.Class(OpenLayers.Ajax.Base,{_complete:false,initialize:function(a,b){OpenLayers.Ajax.Base.prototype.initialize.apply(this,[b]);if(OpenLayers.ProxyHost&&OpenLayers.String.startsWith(a,"http"))a=OpenLayers.ProxyHost+encodeURIComponent(a);this.transport=OpenLayers.Ajax.getTransport();this.request(a)},request:function(a){this.url=a;this.method=this.options.method;a=OpenLayers.Util.extend({},this.options.parameters);if(this.method!="get"&&this.method!="post"){a._method=
this.method;this.method="post"}this.parameters=a;if(a=OpenLayers.Util.getParameterString(a))if(this.method=="get")this.url+=(this.url.indexOf("?")>-1?"&":"?")+a;else if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))a+="&_=";try{var b=new OpenLayers.Ajax.Response(this);this.options.onCreate&&this.options.onCreate(b);OpenLayers.Ajax.Responders.dispatch("onCreate",this,b);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);this.options.asynchronous&&window.setTimeout(OpenLayers.Function.bind(this.respondToReadyState,
this,1),10);this.transport.onreadystatechange=OpenLayers.Function.bind(this.onStateChange,this);this.setRequestHeaders();this.body=this.method=="post"?this.options.postBody||a:null;this.transport.send(this.body);!this.options.asynchronous&&this.transport.overrideMimeType&&this.onStateChange()}catch(c){this.dispatchException(c)}},onStateChange:function(){var a=this.transport.readyState;a>1&&!(a==4&&this._complete)&&this.respondToReadyState(this.transport.readyState)},setRequestHeaders:function(){var a=
{"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*",OpenLayers:true};if(this.method=="post"){a["Content-type"]=this.options.contentType+(this.options.encoding?"; charset="+this.options.encoding:"");if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005)a.Connection="close"}if(typeof this.options.requestHeaders=="object"){var b=this.options.requestHeaders;if(typeof b.push=="function")for(var c=0,d=b.length;c<
d;c+=2)a[b[c]]=b[c+1];else for(c in b)a[c]=b[c]}for(var e in a)this.transport.setRequestHeader(e,a[e])},success:function(){var a=this.getStatus();return!a||a>=200&&a<300},getStatus:function(){try{return this.transport.status||0}catch(a){return 0}},respondToReadyState:function(a){a=OpenLayers.Ajax.Request.Events[a];var b=new OpenLayers.Ajax.Response(this);if(a=="Complete"){try{this._complete=true;(this.options["on"+b.status]||this.options["on"+(this.success()?"Success":"Failure")]||OpenLayers.Ajax.emptyFunction)(b)}catch(c){this.dispatchException(c)}b.getHeader("Content-type")}try{(this.options["on"+
a]||OpenLayers.Ajax.emptyFunction)(b);OpenLayers.Ajax.Responders.dispatch("on"+a,this,b)}catch(d){this.dispatchException(d)}if(a=="Complete")this.transport.onreadystatechange=OpenLayers.Ajax.emptyFunction},getHeader:function(a){try{return this.transport.getResponseHeader(a)}catch(b){return null}},dispatchException:function(a){var b=this.options.onException;if(b){b(this,a);OpenLayers.Ajax.Responders.dispatch("onException",this,a)}else{b=false;for(var c=OpenLayers.Ajax.Responders.responders,d=0;d<c.length;d++)if(c[d].onException){b=
true;break}if(b)OpenLayers.Ajax.Responders.dispatch("onException",this,a);else throw a;}}});OpenLayers.Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];
OpenLayers.Ajax.Response=OpenLayers.Class({status:0,statusText:"",initialize:function(a){this.request=a;a=this.transport=a.transport;var b=this.readyState=a.readyState;if(b>2&&!(window.attachEvent&&!window.opera)||b==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=a.responseText==null?"":String(a.responseText)}if(b==4){a=a.responseXML;this.responseXML=a===undefined?null:a}},getStatus:OpenLayers.Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||
""}catch(a){return""}},getHeader:OpenLayers.Ajax.Request.prototype.getHeader,getResponseHeader:function(a){return this.transport.getResponseHeader(a)}});OpenLayers.Ajax.getElementsByTagNameNS=function(a,b,c,d){var e=null;return e=a.getElementsByTagNameNS?a.getElementsByTagNameNS(b,d):a.getElementsByTagName(c+":"+d)};OpenLayers.Ajax.serializeXMLToString=function(a){var b=new XMLSerializer;return a=b.serializeToString(a)};
OpenLayers.Control.DragPan=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,panned:false,interval:25,draw:function(){this.handler=new OpenLayers.Handler.Drag(this,{move:this.panMap,done:this.panMapDone},{interval:this.interval})},panMap:function(a){this.panned=true;this.map.pan(this.handler.last.x-a.x,this.handler.last.y-a.y,{dragging:this.handler.dragging,animate:false})},panMapDone:function(a){if(this.panned){this.panMap(a);this.panned=false}},CLASS_NAME:"OpenLayers.Control.DragPan"});
OpenLayers.Control.KeyboardDefaults=OpenLayers.Class(OpenLayers.Control,{autoActivate:true,slideFactor:75,initialize:function(){OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.handler&&this.handler.destroy();this.handler=null;OpenLayers.Control.prototype.destroy.apply(this,arguments)},draw:function(){this.handler=new OpenLayers.Handler.Keyboard(this,{keydown:this.defaultKeyPress})},defaultKeyPress:function(a){switch(a.keyCode){case OpenLayers.Event.KEY_LEFT:this.map.pan(-this.slideFactor,
0);break;case OpenLayers.Event.KEY_RIGHT:this.map.pan(this.slideFactor,0);break;case OpenLayers.Event.KEY_UP:this.map.pan(0,-this.slideFactor);break;case OpenLayers.Event.KEY_DOWN:this.map.pan(0,this.slideFactor);break;case 33:a=this.map.getSize();this.map.pan(0,-0.75*a.h);break;case 34:a=this.map.getSize();this.map.pan(0,0.75*a.h);break;case 35:a=this.map.getSize();this.map.pan(0.75*a.w,0);break;case 36:a=this.map.getSize();this.map.pan(-0.75*a.w,0);break;case 43:case 61:case 187:case 107:this.map.zoomIn();
break;case 45:case 109:case 189:case 95:this.map.zoomOut();break}},CLASS_NAME:"OpenLayers.Control.KeyboardDefaults"});OpenLayers.State={UNKNOWN:"Unknown",INSERT:"Insert",UPDATE:"Update",DELETE:"Delete"};
OpenLayers.Feature.Vector=OpenLayers.Class(OpenLayers.Feature,{fid:null,geometry:null,attributes:null,bounds:null,state:null,style:null,renderIntent:"default",initialize:function(a,b,c){OpenLayers.Feature.prototype.initialize.apply(this,[null,null,b]);this.lonlat=null;this.geometry=a?a:null;this.state=null;this.attributes={};if(b)this.attributes=OpenLayers.Util.extend(this.attributes,b);this.style=c?c:null},destroy:function(){if(this.layer){this.layer.removeFeatures(this);this.layer=null}this.geometry=
null;OpenLayers.Feature.prototype.destroy.apply(this,arguments)},clone:function(){return new OpenLayers.Feature.Vector(this.geometry?this.geometry.clone():null,this.attributes,this.style)},onScreen:function(a){var b=false;if(this.layer&&this.layer.map){b=this.layer.map.getExtent();if(a){a=this.geometry.getBounds();b=b.intersectsBounds(a)}else{a=b.toGeometry();b=a.intersects(this.geometry)}}return b},createMarker:function(){return null},destroyMarker:function(){},createPopup:function(){return null},
atPoint:function(a,b,c){var d=false;if(this.geometry)d=this.geometry.atPoint(a,b,c);return d},destroyPopup:function(){},move:function(a){if(this.layer&&this.geometry.move){a=a.CLASS_NAME=="OpenLayers.LonLat"?this.layer.getViewPortPxFromLonLat(a):a;var b=this.layer.getViewPortPxFromLonLat(this.geometry.getBounds().getCenterLonLat()),c=this.layer.map.getResolution();this.geometry.move(c*(a.x-b.x),c*(b.y-a.y));this.layer.drawFeature(this);return b}},toState:function(a){if(a==OpenLayers.State.UPDATE)switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.DELETE:this.state=
a;break;case OpenLayers.State.UPDATE:case OpenLayers.State.INSERT:break}else if(a==OpenLayers.State.INSERT)switch(this.state){case OpenLayers.State.UNKNOWN:break;default:this.state=a;break}else if(a==OpenLayers.State.DELETE)switch(this.state){case OpenLayers.State.INSERT:break;case OpenLayers.State.DELETE:break;case OpenLayers.State.UNKNOWN:case OpenLayers.State.UPDATE:this.state=a;break}else if(a==OpenLayers.State.UNKNOWN)this.state=a},CLASS_NAME:"OpenLayers.Feature.Vector"});
OpenLayers.Feature.Vector.style={"default":{fillColor:"#ee9900",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#ee9900",strokeOpacity:1,strokeWidth:1,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit"},select:{fillColor:"blue",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"blue",strokeOpacity:1,
strokeWidth:2,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"pointer"},temporary:{fillColor:"#66cccc",fillOpacity:0.2,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#66cccc",strokeOpacity:1,strokeLinecap:"round",strokeWidth:2,strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,
hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit"},"delete":{display:"none"}};
OpenLayers.Handler.Box=OpenLayers.Class(OpenLayers.Handler,{dragHandler:null,boxDivClassName:"olHandlerBoxZoomBox",boxCharacteristics:null,initialize:function(a,b){OpenLayers.Handler.prototype.initialize.apply(this,arguments);b={down:this.startBox,move:this.moveBox,out:this.removeBox,up:this.endBox};this.dragHandler=new OpenLayers.Handler.Drag(this,b,{keyMask:this.keyMask})},setMap:function(a){OpenLayers.Handler.prototype.setMap.apply(this,arguments);this.dragHandler&&this.dragHandler.setMap(a)},
startBox:function(){this.zoomBox=OpenLayers.Util.createDiv("zoomBox",this.dragHandler.start);this.zoomBox.className=this.boxDivClassName;this.zoomBox.style.zIndex=this.map.Z_INDEX_BASE.Popup-1;this.map.viewPortDiv.appendChild(this.zoomBox);OpenLayers.Element.addClass(this.map.viewPortDiv,"olDrawBox")},moveBox:function(a){var b=this.dragHandler.start.x,c=this.dragHandler.start.y,d=Math.abs(b-a.x),e=Math.abs(c-a.y);this.zoomBox.style.width=Math.max(1,d)+"px";this.zoomBox.style.height=Math.max(1,e)+
"px";this.zoomBox.style.left=a.x<b?a.x+"px":b+"px";this.zoomBox.style.top=a.y<c?a.y+"px":c+"px";var f=this.getBoxCharacteristics();if(f.newBoxModel){if(a.x>b)this.zoomBox.style.width=Math.max(1,d-f.xOffset)+"px";if(a.y>c)this.zoomBox.style.height=Math.max(1,e-f.yOffset)+"px"}},endBox:function(a){var b;if(Math.abs(this.dragHandler.start.x-a.x)>5||Math.abs(this.dragHandler.start.y-a.y)>5){var c=this.dragHandler.start;b=Math.min(c.y,a.y);var d=Math.max(c.y,a.y),e=Math.min(c.x,a.x);a=Math.max(c.x,a.x);
b=new OpenLayers.Bounds(e,d,a,b)}else b=this.dragHandler.start.clone();this.removeBox();this.callback("done",[b])},removeBox:function(){this.map.viewPortDiv.removeChild(this.zoomBox);this.boxCharacteristics=this.zoomBox=null;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDrawBox")},activate:function(){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.dragHandler.activate();return true}else return false},deactivate:function(){if(OpenLayers.Handler.prototype.deactivate.apply(this,
arguments)){this.dragHandler.deactivate();return true}else return false},getBoxCharacteristics:function(){if(!this.boxCharacteristics){var a=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-left-width"))+parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-right-width"))+1,b=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-top-width"))+parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-bottom-width"))+1,c=OpenLayers.Util.getBrowserName()=="msie"?document.compatMode!=
"BackCompat":true;this.boxCharacteristics={xOffset:a,yOffset:b,newBoxModel:c}}return this.boxCharacteristics},CLASS_NAME:"OpenLayers.Handler.Box"});
OpenLayers.Layer.HTTPRequest=OpenLayers.Class(OpenLayers.Layer,{URL_HASH_FACTOR:(Math.sqrt(5)-1)/2,url:null,params:null,reproject:false,initialize:function(a,b,c,d){var e=arguments;e=[a,d];OpenLayers.Layer.prototype.initialize.apply(this,e);this.url=b;this.params=OpenLayers.Util.extend({},c)},destroy:function(){this.params=this.url=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments)},clone:function(a){if(a==null)a=new OpenLayers.Layer.HTTPRequest(this.name,this.url,this.params,this.options);
return a=OpenLayers.Layer.prototype.clone.apply(this,[a])},setUrl:function(a){this.url=a},mergeNewParams:function(a){this.params=OpenLayers.Util.extend(this.params,a);a=this.redraw();this.map!=null&&this.map.events.triggerEvent("changelayer",{layer:this,property:"params"});return a},redraw:function(a){return a?this.mergeNewParams({_olSalt:Math.random()}):OpenLayers.Layer.prototype.redraw.apply(this,[])},selectUrl:function(a,b){for(var c=1,d=0,e=a.length;d<e;d++){c*=a.charCodeAt(d)*this.URL_HASH_FACTOR;
c-=Math.floor(c)}return b[Math.floor(c*b.length)]},getFullRequestString:function(a,b){b=b||this.url;var c=OpenLayers.Util.extend({},this.params);c=OpenLayers.Util.extend(c,a);a=OpenLayers.Util.getParameterString(c);if(b instanceof Array)b=this.selectUrl(a,b);a=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(b));for(var d in c)d.toUpperCase()in a&&delete c[d];a=OpenLayers.Util.getParameterString(c);return OpenLayers.Util.urlAppend(b,a)},CLASS_NAME:"OpenLayers.Layer.HTTPRequest"});
OpenLayers.Layer.SphericalMercator={getExtent:function(){var a=null;return a=this.sphericalMercator?this.map.calculateBounds():OpenLayers.Layer.FixedZoomLevels.prototype.getExtent.apply(this)},initMercatorParameters:function(){this.RESOLUTIONS=[];for(var a=156543.0339,b=0;b<=this.MAX_ZOOM_LEVEL;++b)this.RESOLUTIONS[b]=a/Math.pow(2,b);this.units="m";this.projection="EPSG:900913"},forwardMercator:function(a,b){a=a*2.003750834E7/180;b=Math.log(Math.tan((90+b)*Math.PI/360))/(Math.PI/180);b=b*2.003750834E7/
180;return new OpenLayers.LonLat(a,b)},inverseMercator:function(a,b){a=a/2.003750834E7*180;b=b/2.003750834E7*180;b=180/Math.PI*(2*Math.atan(Math.exp(b*Math.PI/180))-Math.PI/2);return new OpenLayers.LonLat(a,b)},projectForward:function(a){var b=OpenLayers.Layer.SphericalMercator.forwardMercator(a.x,a.y);a.x=b.lon;a.y=b.lat;return a},projectInverse:function(a){var b=OpenLayers.Layer.SphericalMercator.inverseMercator(a.x,a.y);a.x=b.lon;a.y=b.lat;return a}};
OpenLayers.Projection.addTransform("EPSG:4326","EPSG:900913",OpenLayers.Layer.SphericalMercator.projectForward);OpenLayers.Projection.addTransform("EPSG:900913","EPSG:4326",OpenLayers.Layer.SphericalMercator.projectInverse);
OpenLayers.Control.ZoomBox=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,out:false,alwaysZoom:false,draw:function(){this.handler=new OpenLayers.Handler.Box(this,{done:this.zoomBox},{keyMask:this.keyMask})},zoomBox:function(a){if(a instanceof OpenLayers.Bounds){if(this.out){var b=Math.abs(a.right-a.left),c=Math.abs(a.top-a.bottom);b=Math.min(this.map.size.h/c,this.map.size.w/b);c=this.map.getExtent();var d=this.map.getLonLatFromPixel(a.getCenterPixel());a=d.lon-c.getWidth()/
2*b;var e=d.lon+c.getWidth()/2*b,f=d.lat-c.getHeight()/2*b;b=d.lat+c.getHeight()/2*b;b=new OpenLayers.Bounds(a,f,e,b)}else{b=this.map.getLonLatFromPixel(new OpenLayers.Pixel(a.left,a.bottom));c=this.map.getLonLatFromPixel(new OpenLayers.Pixel(a.right,a.top));b=new OpenLayers.Bounds(b.lon,b.lat,c.lon,c.lat)}c=this.map.getZoom();this.map.zoomToExtent(b);if(c==this.map.getZoom()&&this.alwaysZoom==true)this.map.zoomTo(c+(this.out?-1:1))}else this.out?this.map.setCenter(this.map.getLonLatFromPixel(a),
this.map.getZoom()-1):this.map.setCenter(this.map.getLonLatFromPixel(a),this.map.getZoom()+1)},CLASS_NAME:"OpenLayers.Control.ZoomBox"});
OpenLayers.Format.WKT=OpenLayers.Class(OpenLayers.Format,{initialize:function(a){this.regExes={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,spaces:/\s+/,parenComma:/\)\s*,\s*\(/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/};OpenLayers.Format.prototype.initialize.apply(this,[a])},read:function(a){var b,c;if(c=this.regExes.typeStr.exec(a)){a=c[1].toLowerCase();c=c[2];if(this.parse[a])b=this.parse[a].apply(this,[c]);if(this.internalProjection&&this.externalProjection)if(b&&b.CLASS_NAME==
"OpenLayers.Feature.Vector")b.geometry.transform(this.externalProjection,this.internalProjection);else if(b&&a!="geometrycollection"&&typeof b=="object"){a=0;for(c=b.length;a<c;a++){var d=b[a];d.geometry.transform(this.externalProjection,this.internalProjection)}}}return b},write:function(a){var b,c,d;if(a.constructor==Array){a=a;d=true}else{a=[a];d=false}var e=[];d&&e.push("GEOMETRYCOLLECTION(");for(var f=0,g=a.length;f<g;++f){d&&f>0&&e.push(",");b=a[f].geometry;c=b.CLASS_NAME.split(".")[2].toLowerCase();
if(!this.extract[c])return null;if(this.internalProjection&&this.externalProjection){b=b.clone();b.transform(this.internalProjection,this.externalProjection)}b=this.extract[c].apply(this,[b]);e.push(c.toUpperCase()+"("+b+")")}d&&e.push(")");return e.join("")},extract:{point:function(a){return a.x+" "+a.y},multipoint:function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push(this.extract.point.apply(this,[a.components[c]]));return b.join(",")},linestring:function(a){for(var b=[],c=0,d=a.components.length;c<
d;++c)b.push(this.extract.point.apply(this,[a.components[c]]));return b.join(",")},multilinestring:function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push("("+this.extract.linestring.apply(this,[a.components[c]])+")");return b.join(",")},polygon:function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push("("+this.extract.linestring.apply(this,[a.components[c]])+")");return b.join(",")},multipolygon:function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push("("+this.extract.polygon.apply(this,
[a.components[c]])+")");return b.join(",")}},parse:{point:function(a){a=OpenLayers.String.trim(a).split(this.regExes.spaces);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(a[0],a[1]))},multipoint:function(a){a=OpenLayers.String.trim(a).split(",");for(var b=[],c=0,d=a.length;c<d;++c)b.push(this.parse.point.apply(this,[a[c]]).geometry);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPoint(b))},linestring:function(a){a=OpenLayers.String.trim(a).split(",");for(var b=
[],c=0,d=a.length;c<d;++c)b.push(this.parse.point.apply(this,[a[c]]).geometry);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString(b))},multilinestring:function(a){for(var b=OpenLayers.String.trim(a).split(this.regExes.parenComma),c=[],d=0,e=b.length;d<e;++d){a=b[d].replace(this.regExes.trimParens,"$1");c.push(this.parse.linestring.apply(this,[a]).geometry)}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiLineString(c))},polygon:function(a){var b;a=OpenLayers.String.trim(a).split(this.regExes.parenComma);
for(var c=[],d=0,e=a.length;d<e;++d){b=a[d].replace(this.regExes.trimParens,"$1");b=this.parse.linestring.apply(this,[b]).geometry;b=new OpenLayers.Geometry.LinearRing(b.components);c.push(b)}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon(c))},multipolygon:function(a){for(var b=OpenLayers.String.trim(a).split(this.regExes.doubleParenComma),c=[],d=0,e=b.length;d<e;++d){a=b[d].replace(this.regExes.trimParens,"$1");c.push(this.parse.polygon.apply(this,[a]).geometry)}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPolygon(c))},
geometrycollection:function(a){a=a.replace(/,\s*([A-Za-z])/g,"|$1");a=OpenLayers.String.trim(a).split("|");for(var b=[],c=0,d=a.length;c<d;++c)b.push(OpenLayers.Format.WKT.prototype.read.apply(this,[a[c]]));return b}},CLASS_NAME:"OpenLayers.Format.WKT"});
OpenLayers.Layer.Grid=OpenLayers.Class(OpenLayers.Layer.HTTPRequest,{tileSize:null,grid:null,singleTile:false,ratio:1.5,buffer:2,numLoadingTiles:0,initialize:function(){OpenLayers.Layer.HTTPRequest.prototype.initialize.apply(this,arguments);this.events.addEventType("tileloaded");this.grid=[]},destroy:function(){this.clearGrid();this.tileSize=this.grid=null;OpenLayers.Layer.HTTPRequest.prototype.destroy.apply(this,arguments)},clearGrid:function(){if(this.grid){for(var a=0,b=this.grid.length;a<b;a++)for(var c=
this.grid[a],d=0,e=c.length;d<e;d++){var f=c[d];this.removeTileMonitoringHooks(f);f.destroy()}this.grid=[]}},clone:function(a){if(a==null)a=new OpenLayers.Layer.Grid(this.name,this.url,this.params,this.options);a=OpenLayers.Layer.HTTPRequest.prototype.clone.apply(this,[a]);if(this.tileSize!=null)a.tileSize=this.tileSize.clone();a.grid=[];return a},moveTo:function(a,b,c){OpenLayers.Layer.HTTPRequest.prototype.moveTo.apply(this,arguments);a=a||this.map.getExtent();if(a!=null){var d=!this.grid.length||
b,e=this.getTilesBounds();if(this.singleTile){if(d||!c&&!e.containsBounds(a))this.initSingleTile(a)}else d||!e.containsBounds(a,true)?this.initGriddedTiles(a):this.moveGriddedTiles(a)}},setTileSize:function(a){if(this.singleTile){a=this.map.getSize().clone();a.h=parseInt(a.h*this.ratio);a.w=parseInt(a.w*this.ratio)}OpenLayers.Layer.HTTPRequest.prototype.setTileSize.apply(this,[a])},getGridBounds:function(){var a="The getGridBounds() function is deprecated. It will be removed in 3.0. Please use getTilesBounds() instead.";
OpenLayers.Console.warn(a);return this.getTilesBounds()},getTilesBounds:function(){var a=null;if(this.grid.length){a=this.grid.length-1;a=this.grid[a][0];var b=this.grid[0].length-1;b=this.grid[0][b];a=new OpenLayers.Bounds(a.bounds.left,a.bounds.bottom,b.bounds.right,b.bounds.top)}return a},initSingleTile:function(a){var b=a.getCenterLonLat(),c=a.getWidth()*this.ratio;a=a.getHeight()*this.ratio;b=new OpenLayers.Bounds(b.lon-c/2,b.lat-a/2,b.lon+c/2,b.lat+a/2);c=new OpenLayers.LonLat(b.left,b.top);
c=this.map.getLayerPxFromLonLat(c);this.grid.length||(this.grid[0]=[]);if(a=this.grid[0][0])a.moveTo(b,c);else{a=this.addTile(b,c);this.addTileMonitoringHooks(a);a.draw();this.grid[0][0]=a}this.removeExcessTiles(1,1)},calculateGridLayout:function(a,b,c){var d=c*this.tileSize.w;c=c*this.tileSize.h;var e=a.left-b.left,f=Math.floor(e/d)-this.buffer;e=e/d-f;e=-e*this.tileSize.w;f=b.left+f*d;var g=a.top-(b.bottom+c);a=Math.ceil(g/c)+this.buffer;g=a-g/c;g=-g*this.tileSize.h;b=b.bottom+a*c;return{tilelon:d,
tilelat:c,tileoffsetlon:f,tileoffsetlat:b,tileoffsetx:e,tileoffsety:g}},initGriddedTiles:function(a){var b=this.map.getSize(),c=Math.ceil(b.h/this.tileSize.h)+Math.max(1,2*this.buffer);b=Math.ceil(b.w/this.tileSize.w)+Math.max(1,2*this.buffer);var d=this.maxExtent,e=this.map.getResolution(),f=this.calculateGridLayout(a,d,e);d=Math.round(f.tileoffsetx);e=Math.round(f.tileoffsety);var g=f.tileoffsetlon,i=f.tileoffsetlat,h=f.tilelon;f=f.tilelat;this.origin=new OpenLayers.Pixel(d,e);var j=d,m=g,k=0,o=
parseInt(this.map.layerContainerDiv.style.left),l=parseInt(this.map.layerContainerDiv.style.top);do{var n=this.grid[k++];if(!n){n=[];this.grid.push(n)}g=m;d=j;var q=0;do{var p=new OpenLayers.Bounds(g,i,g+h,i+f),r=d;r-=o;var s=e;s-=l;r=new OpenLayers.Pixel(r,s);if(s=n[q++])s.moveTo(p,r,false);else{s=this.addTile(p,r);this.addTileMonitoringHooks(s);n.push(s)}g+=h;d+=this.tileSize.w}while(g<=a.right+h*this.buffer||q<b);i-=f;e+=this.tileSize.h}while(i>=a.bottom-f*this.buffer||k<c);this.removeExcessTiles(k,
q);this.spiralTileLoad()},spiralTileLoad:function(){for(var a=[],b=["right","down","left","up"],c=0,d=-1,e=OpenLayers.Util.indexOf(b,"right"),f=0;f<b.length;){var g=c,i=d;switch(b[e]){case "right":i++;break;case "down":g++;break;case "left":i--;break;case "up":g--;break}var h=null;if(g<this.grid.length&&g>=0&&i<this.grid[0].length&&i>=0)h=this.grid[g][i];if(h!=null&&!h.queued){a.unshift(h);h.queued=true;f=0;c=g;d=i}else{e=(e+1)%4;f++}}b=0;for(c=a.length;b<c;b++){h=a[b];h.draw();h.queued=false}},addTile:function(){},
addTileMonitoringHooks:function(a){a.onLoadStart=function(){this.numLoadingTiles==0&&this.events.triggerEvent("loadstart");this.numLoadingTiles++};a.events.register("loadstart",this,a.onLoadStart);a.onLoadEnd=function(){this.numLoadingTiles--;this.events.triggerEvent("tileloaded");this.numLoadingTiles==0&&this.events.triggerEvent("loadend")};a.events.register("loadend",this,a.onLoadEnd);a.events.register("unload",this,a.onLoadEnd)},removeTileMonitoringHooks:function(a){a.unload();a.events.un({loadstart:a.onLoadStart,
loadend:a.onLoadEnd,unload:a.onLoadEnd,scope:this})},moveGriddedTiles:function(){for(var a=this.buffer||1;1;){var b=this.grid[0][0].position;b=this.map.getViewPortPxFromLayerPx(b);if(b.x>-this.tileSize.w*(a-1))this.shiftColumn(true);else if(b.x<-this.tileSize.w*a)this.shiftColumn(false);else if(b.y>-this.tileSize.h*(a-1))this.shiftRow(true);else if(b.y<-this.tileSize.h*a)this.shiftRow(false);else break}},shiftRow:function(a){var b=a?0:this.grid.length-1,c=this.grid;b=c[b];var d=this.map.getResolution(),
e=a?-this.tileSize.h:this.tileSize.h;d=d*-e;for(var f=a?c.pop():c.shift(),g=0,i=b.length;g<i;g++){var h=b[g],j=h.bounds.clone();h=h.position.clone();j.bottom+=d;j.top+=d;h.y+=e;f[g].moveTo(j,h)}a?c.unshift(f):c.push(f)},shiftColumn:function(a){var b=a?-this.tileSize.w:this.tileSize.w,c=this.map.getResolution();c=c*b;for(var d=0,e=this.grid.length;d<e;d++){var f=this.grid[d],g=a?0:f.length-1,i=f[g];g=i.bounds.clone();i=i.position.clone();g.left+=c;g.right+=c;i.x+=b;var h=a?this.grid[d].pop():this.grid[d].shift();
h.moveTo(g,i);a?f.unshift(h):f.push(h)}},removeExcessTiles:function(a,b){for(;this.grid.length>a;)for(var c=this.grid.pop(),d=0,e=c.length;d<e;d++){var f=c[d];this.removeTileMonitoringHooks(f);f.destroy()}for(;this.grid[0].length>b;){d=0;for(e=this.grid.length;d<e;d++){c=this.grid[d];f=c.pop();this.removeTileMonitoringHooks(f);f.destroy()}}},onMapResize:function(){if(this.singleTile){this.clearGrid();this.setTileSize()}},getTileBounds:function(a){var b=this.maxExtent,c=this.getResolution(),d=c*this.tileSize.w;
c=c*this.tileSize.h;var e=this.getLonLatFromViewPortPx(a);a=b.left+d*Math.floor((e.lon-b.left)/d);b=b.bottom+c*Math.floor((e.lat-b.bottom)/c);return new OpenLayers.Bounds(a,b,a+d,b+c)},CLASS_NAME:"OpenLayers.Layer.Grid"});
OpenLayers.Control.Navigation=OpenLayers.Class(OpenLayers.Control,{dragPan:null,dragPanOptions:null,zoomBox:null,zoomWheelEnabled:true,handleRightClicks:false,zoomBoxKeyMask:OpenLayers.Handler.MOD_SHIFT,autoActivate:true,initialize:function(){this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.deactivate();this.dragPan&&this.dragPan.destroy();this.dragPan=null;this.zoomBox&&this.zoomBox.destroy();this.zoomBox=null;OpenLayers.Control.prototype.destroy.apply(this,
arguments)},activate:function(){this.dragPan.activate();this.zoomWheelEnabled&&this.handlers.wheel.activate();this.handlers.click.activate();this.zoomBox.activate();return OpenLayers.Control.prototype.activate.apply(this,arguments)},deactivate:function(){this.zoomBox.deactivate();this.dragPan.deactivate();this.handlers.click.deactivate();this.handlers.wheel.deactivate();return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},draw:function(){if(this.handleRightClicks)this.map.viewPortDiv.oncontextmenu=
function(){return false};var a={dblclick:this.defaultDblClick,dblrightclick:this.defaultDblRightClick},b={"double":true,stopDouble:true};this.handlers.click=new OpenLayers.Handler.Click(this,a,b);this.dragPan=new OpenLayers.Control.DragPan(OpenLayers.Util.extend({map:this.map},this.dragPanOptions));this.zoomBox=new OpenLayers.Control.ZoomBox({map:this.map,keyMask:this.zoomBoxKeyMask});this.dragPan.draw();this.zoomBox.draw();this.handlers.wheel=new OpenLayers.Handler.MouseWheel(this,{up:this.wheelUp,
down:this.wheelDown})},defaultDblClick:function(a){a=this.map.getLonLatFromViewPortPx(a.xy);this.map.setCenter(a,this.map.zoom+1)},defaultDblRightClick:function(a){a=this.map.getLonLatFromViewPortPx(a.xy);this.map.setCenter(a,this.map.zoom-1)},wheelChange:function(a,b){b=this.map.getZoom()+b;if(this.map.isValidZoomLevel(b)){var c=this.map.getSize(),d=c.w/2-a.xy.x;c=a.xy.y-c.h/2;var e=this.map.baseLayer.getResolutionForZoom(b);a=this.map.getLonLatFromPixel(a.xy);a=new OpenLayers.LonLat(a.lon+d*e,a.lat+
c*e);this.map.setCenter(a,b)}},wheelUp:function(a){this.wheelChange(a,1)},wheelDown:function(a){this.wheelChange(a,-1)},disableZoomWheel:function(){this.zoomWheelEnabled=false;this.handlers.wheel.deactivate()},enableZoomWheel:function(){this.zoomWheelEnabled=true;this.active&&this.handlers.wheel.activate()},CLASS_NAME:"OpenLayers.Control.Navigation"});
OpenLayers.Geometry=OpenLayers.Class({id:null,parent:null,bounds:null,initialize:function(){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){this.bounds=this.id=null},clone:function(){return new OpenLayers.Geometry},setBounds:function(a){if(a)this.bounds=a.clone()},clearBounds:function(){this.bounds=null;this.parent&&this.parent.clearBounds()},extendBounds:function(a){var b=this.getBounds();b?this.bounds.extend(a):this.setBounds(a)},getBounds:function(){this.bounds==
null&&this.calculateBounds();return this.bounds},calculateBounds:function(){},distanceTo:function(){},getVertices:function(){},atPoint:function(a,b,c){var d=false,e=this.getBounds();if(e!=null&&a!=null){b=b!=null?b:0;c=c!=null?c:0;c=new OpenLayers.Bounds(this.bounds.left-b,this.bounds.bottom-c,this.bounds.right+b,this.bounds.top+c);d=c.containsLonLat(a)}return d},getLength:function(){return 0},getArea:function(){return 0},getCentroid:function(){return null},toString:function(){return OpenLayers.Format.WKT.prototype.write(new OpenLayers.Feature.Vector(this))},
CLASS_NAME:"OpenLayers.Geometry"});OpenLayers.Geometry.fromWKT=function(a){var b=arguments.callee.format;if(!b){b=new OpenLayers.Format.WKT;arguments.callee.format=b}var c;b=b.read(a);if(b instanceof OpenLayers.Feature.Vector)c=b.geometry;else if(b instanceof Array){c=b.length;for(var d=new Array(c),e=0;e<c;++e)d[e]=b[e].geometry;c=new OpenLayers.Geometry.Collection(d)}return c};
OpenLayers.Geometry.segmentsIntersect=function(a,b,c){var d=c&&c.point;c=c&&c.tolerance;var e=false,f=a.x1-b.x1,g=a.y1-b.y1,i=a.x2-a.x1,h=a.y2-a.y1,j=b.y2-b.y1,m=b.x2-b.x1,k=j*i-m*h;j=m*g-j*f;g=i*g-h*f;if(k==0){if(j==0&&g==0)e=true}else{f=j/k;k=g/k;if(f>=0&&f<=1&&k>=0&&k<=1)if(d){i=a.x1+f*i;k=a.y1+f*h;e=new OpenLayers.Geometry.Point(i,k)}else e=true}if(c)if(e){if(d){a=[a,b];b=0;a:for(;b<2;++b){f=a[b];for(h=1;h<3;++h){i=f["x"+h];k=f["y"+h];d=Math.sqrt(Math.pow(i-e.x,2)+Math.pow(k-e.y,2));if(d<c){e.x=
i;e.y=k;break a}}}}}else{a=[a,b];b=0;a:for(;b<2;++b){i=a[b];k=a[(b+1)%2];for(h=1;h<3;++h){f={x:i["x"+h],y:i["y"+h]};g=OpenLayers.Geometry.distanceToSegment(f,k);if(g.distance<c){e=d?new OpenLayers.Geometry.Point(f.x,f.y):true;break a}}}}return e};
OpenLayers.Geometry.distanceToSegment=function(a,b){var c=a.x;a=a.y;var d=b.x1,e=b.y1,f=b.x2;b=b.y2;var g=f-d,i=b-e,h=(g*(c-d)+i*(a-e))/(Math.pow(g,2)+Math.pow(i,2));if(h<=0){d=d;e=e}else if(h>=1){d=f;e=b}else{d=d+h*g;e=e+h*i}return{distance:Math.sqrt(Math.pow(d-c,2)+Math.pow(e-a,2)),x:d,y:e}};
OpenLayers.Layer.TMS=OpenLayers.Class(OpenLayers.Layer.Grid,{serviceVersion:"1.0.0",isBaseLayer:true,tileOrigin:null,serverResolutions:null,initialize:function(a,b,c){var d=[];d.push(a,b,{},c);OpenLayers.Layer.Grid.prototype.initialize.apply(this,d)},destroy:function(){OpenLayers.Layer.Grid.prototype.destroy.apply(this,arguments)},clone:function(a){if(a==null)a=new OpenLayers.Layer.TMS(this.name,this.url,this.options);return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},getURL:function(a){a=
this.adjustBounds(a);var b=this.map.getResolution(),c=Math.round((a.left-this.tileOrigin.lon)/(b*this.tileSize.w));a=Math.round((a.bottom-this.tileOrigin.lat)/(b*this.tileSize.h));b=this.serverResolutions!=null?OpenLayers.Util.indexOf(this.serverResolutions,b):this.map.getZoom();c=this.serviceVersion+"/"+this.layername+"/"+b+"/"+c+"/"+a+"."+this.type;b=this.url;if(b instanceof Array)b=this.selectUrl(c,b);return b+c},addTile:function(a,b){return new OpenLayers.Tile.Image(this,b,a,null,this.tileSize)},
setMap:function(){OpenLayers.Layer.Grid.prototype.setMap.apply(this,arguments);if(!this.tileOrigin)this.tileOrigin=new OpenLayers.LonLat(this.map.maxExtent.left,this.map.maxExtent.bottom)},CLASS_NAME:"OpenLayers.Layer.TMS"});
OpenLayers.Layer.TileCache=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:true,format:"image/png",serverResolutions:null,initialize:function(a,b,c,d){this.layername=c;OpenLayers.Layer.Grid.prototype.initialize.apply(this,[a,b,{},d]);this.extension=this.format.split("/")[1].toLowerCase();this.extension=this.extension=="jpg"?"jpeg":this.extension},clone:function(a){if(a==null)a=new OpenLayers.Layer.TileCache(this.name,this.url,this.layername,this.options);return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,
[a])},getURL:function(a){function b(g,i){g=String(g);for(var h=[],j=0;j<i;++j)h.push("0");return h.join("").substring(0,i-g.length)+g}var c=this.map.getResolution(),d=this.maxExtent,e=this.tileSize,f=Math.round((a.left-d.left)/(c*e.w));a=Math.round((a.bottom-d.bottom)/(c*e.h));c=this.serverResolutions!=null?OpenLayers.Util.indexOf(this.serverResolutions,c):this.map.getZoom();f=[this.layername,b(c,2),b(parseInt(f/1E6),3),b(parseInt(f/1E3)%1E3,3),b(parseInt(f)%1E3,3),b(parseInt(a/1E6),3),b(parseInt(a/
1E3)%1E3,3),b(parseInt(a)%1E3,3)+"."+this.extension];f=f.join("/");c=this.url;if(c instanceof Array)c=this.selectUrl(f,c);c=c.charAt(c.length-1)=="/"?c:c+"/";return c+f},addTile:function(a,b){var c=this.getURL(a);return new OpenLayers.Tile.Image(this,b,a,c,this.tileSize)},CLASS_NAME:"OpenLayers.Layer.TileCache"});
OpenLayers.Lang.ru=OpenLayers.Util.applyDefaults({unhandledRequest:"\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043c\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0435\u0440\u043d\u0443\u043b ${statusText}",permalink:"\u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430",overlays:"\u041e\u0432\u0435\u0440\u043b\u0435\u0438",baseLayer:"\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u0441\u043b\u043e\u0439",sameProjection:"\u041e\u0431\u0437\u043e\u0440\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u043e\u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0442\u0443 \u0436\u0435 \u043f\u0440\u043e\u0435\u043a\u0446\u0438\u044e, \u0447\u0442\u043e \u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0430",
readNotImplemented:"\u0427\u0442\u0435\u043d\u0438\u0435 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f.",writeNotImplemented:"\u0417\u0430\u043f\u0438\u0441\u044c \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f.",noFID:"\u041d\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044f \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435\u0442 FID.",
errorLoadingGML:"\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0444\u0430\u0439\u043b\u0430 GML ${url}",browserNotSupported:"\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438:\n${renderers}",
componentShouldBe:"addFeatures: \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c ${geomType}",getFeatureError:"getFeatureFromEvent \u0431\u044b\u043b\u0430 \u0432\u044b\u0437\u0432\u0430\u043d \u0438\u0437 \u0441\u043b\u043e\u044f, \u0431\u0435\u0437 \u0440\u0435\u043d\u0434\u0435\u0440\u0435\u0440\u0430. \u041e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u044b \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0438\u043b\u0438 \u0441\u043b\u043e\u0439, \u0430 \u043d\u0435 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439 \u0441 \u043d\u0438\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a.",
minZoomLevelError:"\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e minZoomLevel \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e \u0441\u043b\u043e\u044f\u043c\u0438, \u044f\u0432\u043b\u044f\u044e\u0449\u0438\u043c\u0438\u0441\u044f \u043f\u043e\u0442\u043e\u043c\u043a\u0430\u043c\u0438 FixedZoomLevels. \u0422\u043e, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 WFS-\u0441\u043b\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0430 minZoomLevel \u2014 \u0440\u0435\u043b\u0438\u043a\u0442 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e. \u041e\u0434\u043d\u0430\u043a\u043e \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0442\u0430\u043a \u043a\u0430\u043a, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043e\u0442 \u043d\u0435\u0451 \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 OpenLayers \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0439 \u2014 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 minZoomLevel \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u0430 \u0432 3.0. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0451 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043c\u0438\u043d/\u043c\u0430\u043a\u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u0437\u0434\u0435\u0441\u044c: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f WFS: \u0423\u0441\u043f\u0435\u0448\u043d\u043e ${response}",commitFailed:"\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f WFS: \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c ${response}",googleWarning:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u043b\u043e\u0439 Google.<br><br>\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043d\u043e\u0432\u044b\u0439 BaseLayer \u0432 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435 \u0441\u043b\u043e\u0451\u0432 \u0432 \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u043f\u0440\u0430\u0432\u043e\u043c \u0443\u0433\u043b\u0443.<br><br>\u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u043c, \u0447\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u041a\u0430\u0440\u0442 Google \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0451\u043d, \u0438\u043b\u0438 \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 API-\u043a\u043b\u044e\u0447 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430.<br><br> \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c. \u041f\u043e\u043c\u043e\u0449\u044c \u0432 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432 <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>\u0432\u0438\u043a\u0438</a>.",
getLayerWarning:"\u0421\u043b\u043e\u0439 ${layerType} \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c.<br><br>\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043d\u043e\u0432\u044b\u0439 \u0411\u0430\u0437\u043e\u0432\u044b\u0439\u0421\u043b\u043e\u0439 \u0432 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435 \u0441\u043b\u043e\u0451\u0432 \u0432 \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u043f\u0440\u0430\u0432\u043e\u043c \u0443\u0433\u043b\u0443.<br><br>\u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u043b\u0448\u043e \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 ${layerLib} \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430.<br><br>\u0414\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432: \u0441\u043c. <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>\u0432\u0438\u043a\u0438</a> \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043c\u043e\u0449\u0438 \u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435.",
scale:"\u041c\u0430\u0441\u0448\u0442\u0430\u0431 = 1 : ${scaleDenom}",layerAlreadyAdded:"\u0412\u044b \u043f\u043e\u043f\u044b\u0442\u0430\u043b\u0438\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u043b\u043e\u0439 \u00ab${layerName}\u00bb \u043d\u0430 \u043a\u0430\u0440\u0442\u0443, \u043d\u043e \u043e\u043d \u0443\u0436\u0435 \u0431\u044b\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d",reprojectDeprecated:"\u0412\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u00abreproject\u00bb \u043d\u0430 \u0441\u043b\u043e\u0435 ${layerName}. \u042d\u0442\u043e\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0430, \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u0430 \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0430\u0440\u0442\u0430\u0445, \u043d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0441\u0444\u0435\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u0435\u0440\u043a\u0430\u0442\u043e\u0440\u0441\u043a\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0446\u0438\u0438. \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043d\u0430 http://trac.openlayers.org/wiki/SphericalMercator.",
methodDeprecated:"\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0451\u043d \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 3.0. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 ${newMethod}.",
boundsAddError:"\u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f x \u0438 y \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f.",lonlatAddError:"\u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f lon \u0438 lat \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f.",
pixelAddError:"\u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f x \u0438 y \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f.",unsupportedGeometryType:"\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0442\u0438\u043f: ${geomType}",
pagePositionFailed:"OpenLayers.Util.pagePosition \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c: \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441 id ${elemId} \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0451\u043d.",filterEvaluateNotImplemented:"\u00abevaluate\u00bb \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0444\u0438\u043b\u044c\u0442\u0440\u0430."});var Navitel={singleFile:true};
(function(){var a=typeof Navitel=="object"&&Navitel.singleFile;window.Navitel={};if(!a){a=new Array("Navitel/Util.js","Navitel/Map.js","Navitel/Collection.js","Navitel/Click.js","Navitel/Map/Options.js","Navitel/Layer.js","Navitel/Layer/Tile.js","Navitel/Layer/Jams.js","Navitel/Tile.js","Navitel/Tile/ImageCache.js","Navitel/Control/NavitelPanZoomBar.js","Navitel/Control/NavitelLogoLink.js","Navitel/Control/NavitelScaleLine.js","Navitel/Control/PermalinkMousePosition.js");var b=navigator.userAgent;
if(b=b.match("MSIE")||b.match("Safari"))var c=new Array(a.length);for(var d="navitel/lib/",e=0,f=a.length;e<f;e++)if(b)c[e]="<script src='"+d+a[e]+"'><\/script>";else{var g=document.createElement("script");g.src=d+a[e];var i=document.getElementsByTagName("head").length?document.getElementsByTagName("head")[0]:document.body;i.appendChild(g)}b&&document.write(c.join(""))}})();Navitel.VERSION_NUMBER="$Revision: 1 $";Navitel.Tile=OpenLayers.Class(OpenLayers.Tile,{CLASS_NAME:"Navitel.Tile"});
Navitel.Collection=OpenLayers.Class({id:null,list:[],callbacks:null,nmap:null,initialize:function(a,b,c,d){this.nmap=a;if(b==null)this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");if(c&&c instanceof Array)this.list=c;this.callbacks=d;if(this.callbacks==null)this.callbacks={}},destroy:function(){this.id=null;for(var a=0,b=this.list.length;a<b;a++)this.list[0]&&typeof this.list[0].destroy==="function"&&this.list[a].destroy()},getElement:function(a){return this.list[a]},getFirstElement:function(){return this.list[0]},
getLastElement:function(){return this.list[this.list.length-1]},getElementById:function(a){return this.list[a]},getElementIndexById:function(a){return a},getElements:function(){return this.list},setElements:function(a){this.list=a},getLength:function(){return this.list.length},onChangeElement:function(a){this.callback("onChange",[a])},addElement:function(a,b){var c=this.getLength();if(b!=null)c=b<0?c+b:b;if(c<0)c=0;if(c>this.getLength())c=this.getLength();this.list.splice(c,0,a);this.callback("onAdd",
[a])},removeElement:function(a){this.callback("beforeDelete",[this.list[a]]);this.list[a]&&typeof this.list[a].destroy==="function"&&this.list[a].destroy();this.list.splice(a,1);this.callback("onDelete",[a]);return a},removeElementById:function(a){return this.removeElement(this.getElementIndexById(a))},setCallback:function(a,b){this.callbacks[a]=b},callback:function(a,b){a&&this.callbacks[a]&&this.callbacks[a].apply(this,b)},CLASS_NAME:"Navitel.Collection"});
Navitel.Layer=OpenLayers.Class({url:null,name:"",options:[],callbacks:{},nmap:null,initialize:function(a,b,c){this.nmap=a;OpenLayers.Util.extend(this.callbacks,c);OpenLayers.Util.extend(this.options,b)},whoami:function(){},getUrl:function(){return this.nmap.getUrl()},callback:function(a,b){a&&this.callbacks[a]&&this.callbacks[a].apply(this.control,b)},CLASS_NAME:"Navitel.Layer"});
Navitel.Map=OpenLayers.Class({id:null,url:"navitel/img/tmp_map.png",developmentMode:"N",themePath:"/navitel/theme/",themeName:"navitel",map:null,options:[],layerTile:null,layerJams:null,layerPoints:null,layerRoute:null,layerLabels:null,destinationPoints:null,routePoints:null,routeLines:null,click:null,rid:null,initialize:function(a,b,c,d,e){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");if(b!=null)this.developmentMode=b;if(c==null)c={};OpenLayers.ImgPath=this.themePath+this.themeName+
"/img/";c.theme=OpenLayers._getScriptLocation()+this.themePath+this.themeName+"/style.css";b=new ThemeClass;b=b.getOptions();OpenLayers.Util.extend(c,b);this.options=new Navitel.Map.Options(c);c=OpenLayers.Util.getParameters();b=OpenLayers.LonLat.fromString(c.lon==null||c.lat==null?Navitel.Map.Options.CENTER:[c.lon,c.lat].join(",")).transform(this.options.displayProjection,this.options.projection);var f=OpenLayers.Map.prototype.moveTo;OpenLayers.Map.prototype.moveTo=function(i,h){if(h!=null)document.getElementById("map").style.backgroundColor=
h>=10?"#f2efe9":"#CBD8C3";f.apply(this,arguments)};this.map=new OpenLayers.Map("map",this.options);if(a!=null)this.url=a;this.layerTile=new Navitel.Layer.Tile(this,d);this.layerJams=new Navitel.Layer.Jams(this,e);if(this.map.getExtent()==null){if(c.layers!=null){a=c.layers.split("");for(d=0;d<a.length;d++)if(this.map.layers[d])this.map.layers[d].setVisibility(a[d]=="B"||a[d]=="T"?true:false)}a=c.zoom==null?Navitel.Map.Options.ZOOM:Number(c.zoom);this.map.originalRestrictedExtentLeft=this.map.restrictedExtent.left;
this.map.restrictedExtent.left=this.map.originalRestrictedExtentLeft-this.map.getResolutionForZoom(a)*(a==0?420:360);this.map.setCenter(b,a);if(c.rid){this.route.rid=c.rid;this.route.onBuildComplete();this.destinationPoints.restore()}}this.click=new Navitel.Click(this);window.imageBlank=new Image;window.imageBlank.src=OpenLayers.ImgPath+"blank.gif";OpenLayers.Map.prototype.moveTo=function(i,h){if(h!=null)document.getElementById("map").style.backgroundColor=h>=10?"#f2efe9":"#CBD8C3";var j=arguments,
m=this;if(window.changeLayerTimeout){clearTimeout(window.changeLayer);window.changeLayerTimeout=null}window.changeLayerTimeout=setTimeout(function(){f.apply(m,j)},5)};var g=new OpenLayers.Tween(OpenLayers.Easing.Linear.easeIn);this.map.events.register("zoomend",this,function(){if(nmap)if(!(this.animationZoomLevel==this.map.zoom||!nmap.options.useZoomAnimation||window.tweenTiles.length==0)){this.animationZoomLevel=this.map.zoom;for(var i={},h={},j={},m=0;m<window.tweenTiles.length;m++){var k=window.tweenTiles[m],
o=k.backBufferTile;if(o){i[o.id+"_x"]=parseInt(o.frame.style.left)+nmap.map.animationOffset.x;i[o.id+"_y"]=parseInt(o.frame.style.top)+nmap.map.animationOffset.y;i[o.id+"_w"]=parseInt(o.frame.style.width);i[o.id+"_h"]=parseInt(o.frame.style.height);h[o.id+"_x"]=window.tweenTiles[m].px.x;h[o.id+"_y"]=window.tweenTiles[m].px.y;h[o.id+"_w"]=window.tweenTiles[m].sz.w;h[o.id+"_h"]=window.tweenTiles[m].sz.h;j[k.id]=k}}m=OpenLayers.Util.getBrowserName()=="opera"||OpenLayers.Util.getBrowserName()=="msie"||
OpenLayers.Util.getBrowserName()=="safari"?2:4;g.start(i,h,m,{callbacks:{start:function(l){for(var n in j){var q={x:Math.ceil(l[j[n].backBufferTile.id+"_x"]),y:Math.ceil(l[j[n].backBufferTile.id+"_y"])},p={w:Math.ceil(l[j[n].backBufferTile.id+"_w"]),h:Math.ceil(l[j[n].backBufferTile.id+"_h"])};OpenLayers.Util.modifyDOMElement(j[n].backBufferTile.frame,null,q,p);q=p.w<256?{x:-1,y:-1}:{x:0,y:0};p=p.w<256?{w:p.w+2,h:p.h+2}:{w:p.w,h:p.h};OpenLayers.Util.modifyDOMElement(j[n].backBufferTile.imgDiv,null,
q,p);j[n].hide();j[n].backBufferTile.show();j[n].zoomAnimation=true}},eachStep:function(l){for(var n in j){var q={x:Math.ceil(l[j[n].backBufferTile.id+"_x"]),y:Math.ceil(l[j[n].backBufferTile.id+"_y"])},p={w:Math.ceil(l[j[n].backBufferTile.id+"_w"]),h:Math.ceil(l[j[n].backBufferTile.id+"_h"])};OpenLayers.Util.modifyDOMElement(j[n].backBufferTile.frame,null,q,p);q=p.w<256?{x:-1,y:-1}:{x:0,y:0};p=p.w<256?{w:p.w+2,h:p.h+2}:{w:p.w,h:p.h};OpenLayers.Util.modifyDOMElement(j[n].backBufferTile.imgDiv,null,
q,p)}},done:function(){for(var l in j){j[l].zoomAnimation=false;j[l].resetBackBuffer()}}}});window.tweenTiles=[]}})},getUrl:function(){return this.url},destroy:function(){this.map=null},callback_onAddPoint:function(a){this.nmap.layerPoints.drawPoint(a);this.nmap.destinationPoints.list.length<=2?this.nmap.route.build():this.nmap.route.rebuildNewPoint(this.nmap.destinationPoints.getElementIndexById(a.id),a.lonlat.lon,a.lonlat.lat)},callback_onMovePoint:function(a){this.nmap.layerPoints.drawPoint(a);
this.nmap.route.rebuildMovePoint(this.nmap.destinationPoints.getElementIndexById(a.id),a.lonlat.lon,a.lonlat.lat)},callback_beforeDeletePoint:function(a){this.nmap.layerPoints.removePoint(a)},callback_onDeletePoint:function(a){this.nmap.route.rebuildRemovePoint(a)},callback_onRoutePointsChanged:function(){var a=this.nmap.routePoints.list;this.nmap.layerRoute.draw(a);this.nmap.routeLines.defineElements()},callback_onRoutePointsDeletedAllElements:function(){this.nmap.layerRoute.remove()},fromLonLatToXY:function(a,
b){a=new OpenLayers.LonLat(a,b);a.transform(this.map.displayProjection,this.map.projection);return a=this.map.getPixelFromLonLat(a)},fromXYToLonLat:function(a,b){a=new OpenLayers.Pixel(a,b);a=this.map.getLonLatFromPixel(a);a.transform(this.map.projection,this.map.displayProjection);return a},zoomAnimation:function(a){nmap.options.useZoomAnimation=a},CLASS_NAME:"Navitel.Map"});
Navitel.Map.Options=OpenLayers.Class({id:null,controls:[],specialOptions:{},resolutions:[0.0186613838586856,0.0373227677173712,0.0746455354347424,0.149291070869485,0.29858214173897,0.597164283477939,1.19432856695588,2.38865713391176,4.77731426782352,9.55462853564703,19.1092570712941,38.2185141425881,76.4370282851763,152.874056570353,305.748113140705,611.49622628141,1222.99245256282,2445.98490512564,4891.96981025128,9783.93962050256,19567.8792410051,39135.7584820102,78271.5169640205,156543.033928041],
units:"m",projection:null,displayProjection:null,maxExtent:null,restrictedExtent:null,initialize:function(a){OpenLayers.Util.extend(this,a);this.useZoomAnimation=true;this.projection=new OpenLayers.Projection(Navitel.Map.Options.MAP_PROJECTION);this.displayProjection=new OpenLayers.Projection(Navitel.Map.Options.DISPLAY_PROJECTION);this.numZoomLevels=this.resolutions.length;this.minZoomLevel=6;this.maxZoomLevel=17;this.isValidZoomLevel=function(b){return b!=null&&b>=this.minZoomLevel&&b<=this.maxZoomLevel};
this.maxExtent=new OpenLayers.Bounds(-2.003750834E7,-2.003750834E7,2.003750834E7,2.003750834E7);this.restrictedExtent=new OpenLayers.Bounds(2003750.834,4865942.2788258,1.9258271904556E7,1.43686842808E7);this.controls.push(new OpenLayers.Control.Navigation({handleRightClicks:true}),new OpenLayers.Control.NavitelPanZoomBar,new OpenLayers.Control.LayerSwitcher(this.specialOptions.layerSwitcherOptions),new OpenLayers.Control.NavitelScaleLine,new OpenLayers.Control.NavitelLogoLink("logo","http://"+window.loc.host+
"/navitel/theme/navitel/copyrights.html"),new OpenLayers.Control.KeyboardDefaults);this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){this.restrictedExtent=this.maxExtent=this.displayProjection=this.projection=this.units=this.resolutions=this.controls=this.id=null},CLASS_NAME:"Navitel.Map.Options"});Navitel.Map.Options.MAP_PROJECTION="EPSG:900913";Navitel.Map.Options.DISPLAY_PROJECTION="EPSG:4326";Navitel.Map.Options.CENTER="37.6,55.8";Navitel.Map.Options.ZOOM=0;
Navitel.Map.Options.JAMS_CACHE_TIMEOUT=9E5;Navitel.Map.Options.MAX_TILE_CACHE_SIZE=50;Navitel.Map.Options.setHome=function(a,b,c){Navitel.Map.Options.CENTER=a+","+b;Navitel.Map.Options.ZOOM=c};
OpenLayers.Control.NavitelScaleLine=OpenLayers.Class(OpenLayers.Control.ScaleLine,{draw:function(){var a=OpenLayers.Control.ScaleLine.prototype.draw.apply(this,arguments),b=document.getElementById("sidebar");if(b&&b.style.display!="none")a.style.left=370;return a},update:function(){var a=this.map.getResolution();if(a){var b=this.map.getCenter().transform(this.map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326")).lat*Math.PI/180,c=a*Math.cos(b),d=this.map.getUnits(),e=OpenLayers.INCHES_PER_UNIT,
f=this.maxWidth*c*e[d];if(f>1E5){a=this.topOutUnits;b=this.bottomOutUnits}else{a=this.topInUnits;b=this.bottomInUnits}var g=f/e[a],i=f/e[b];f=this.getBarLen(g);var h=this.getBarLen(i);g=f/e[d]*e[a];i=h/e[d]*e[b];d=g/c;c=i/c;if(this.eBottom.style.visibility=="visible"){this.eBottom.style.width=Math.round(c)+"px";this.eBottom.innerHTML=h+" "+b}if(this.eTop.style.visibility=="visible"){this.eTop.style.width=Math.round(d)+"px";this.eTop.innerHTML=f+" "+a}}},CLASS_NAME:"OpenLayers.Control.NavitelScaleLine"});
window.loc={href:location.href,host:location.host,port:location.port,pathname:location.pathname};
Navitel.Layer.Tile=OpenLayers.Class(OpenLayers.Layer.TileCache,Navitel.Layer,{name:"Navitel TileCache",initialize:function(){Navitel.Layer.prototype.initialize.apply(this,arguments);OpenLayers.Layer.TileCache.prototype.initialize.apply(this,[this.name,this.nmap.getUrl(),"Navitel TileCache",{getURL:this.getUrl,transitionEffect:"resize",displayInLayerSwitcher:false,buffer:0}]);this.nmap.map.addLayer(this)},destroy:function(){Navitel.Layer.prototype.destroy.apply(this,arguments);OpenLayers.Layer.TileCache.prototype.destroy.apply(this,
arguments)},getUrl:function(a){var b=this.map.getResolution(),c=Math.round((a.left-this.maxExtent.left)/(b*this.tileSize.w));a=Math.round((a.bottom-this.maxExtent.bottom)/(b*this.tileSize.h));b=Math.round(this.map.getZoom());return this.url[Math.floor(Math.random()*this.url.length)]+"?t="+Navitel.Util.zAlignedStr(c,8)+","+Navitel.Util.zAlignedStr(a,8)+","+Navitel.Util.zAlignedStr(b,2)},addTile:function(a,b){var c=this.getURL(a);return new Navitel.Tile.ImageCache(this,b,a,c,this.tileSize)},addTileMonitoringHooks:function(a){a.onLoadStart=
function(){this.numLoadingTiles==0&&this.events.triggerEvent("loadstart");this.numLoadingTiles++};a.events.register("loadstart",this,a.onLoadStart);a.onLoadEnd=function(){var b=this,c=function(){b.numLoadingTiles--;b.events.triggerEvent("tileloaded");b.numLoadingTiles==0&&b.events.triggerEvent("loadend")};setTimeout(c,1)};a.events.register("loadend",this,a.onLoadEnd);a.events.register("unload",this,a.onLoadEnd)},CLASS_NAME:"Navitel.Layer.Tile"});
Navitel.Layer.Jams=OpenLayers.Class(OpenLayers.Layer.TMS,Navitel.Layer,{name:"\u041f\u0440\u043e\u0431\u043a\u0438",reloadInterval:Navitel.Map.Options.JAMS_CACHE_TIMEOUT,initialize:function(){Navitel.Layer.prototype.initialize.apply(this,arguments);OpenLayers.Layer.TMS.prototype.initialize.apply(this,[this.name,this.nmap.getUrl(),{getURL:this.getUrl,transitionEffect:"resize",isBaseLayer:false,buffer:0}]);this.nmap.map.addLayer(this);window.NavitelLayerJams=this;setInterval(this.reloadRun,this.reloadInterval)},
destroy:function(){Navitel.Layer.prototype.destroy.apply(this,arguments);OpenLayers.Layer.TMS.prototype.destroy.apply(this,arguments)},reloadRun:function(){window.jamsLayerSalt=window.NavitelLayerJams.getSaltParam();window.NavitelLayerJams.redraw(true)},getSaltParam:function(){var a=String(Math.random());return a.substring(2,8)},getUrl:function(a){if(window.jamsLayerSalt==null)window.jamsLayerSalt=window.NavitelLayerJams.getSaltParam();var b=this.map.getResolution(),c=Math.round((a.left-this.maxExtent.left)/
(b*this.tileSize.w));a=Math.round((a.bottom-this.maxExtent.bottom)/(b*this.tileSize.h));b=Math.round(this.map.getZoom());return this.url[Math.floor(Math.random()*this.url.length)]+"?j="+Navitel.Util.zAlignedStr(c,8)+","+Navitel.Util.zAlignedStr(a,8)+","+Navitel.Util.zAlignedStr(b,2)+","+window.jamsLayerSalt},addTile:function(a,b){var c=this.getURL(a);return new Navitel.Tile.ImageCache(this,b,a,c,this.tileSize)},CLASS_NAME:"Navitel.Layer.Jams"});
OpenLayers.Control.NavitelPanZoomBar=OpenLayers.Class(OpenLayers.Control.PanZoomBar,{initialize:function(){OpenLayers.Control.PanZoomBar.prototype.initialize.apply(this,arguments);var a=document.getElementById("sidebar"),b=10;if(a&&a.style.display!="none")b=364;this.position=new OpenLayers.Pixel(b,4)},draw:function(a){var b=new ThemeClass;b=b.getOptions();if(!b.panZoomBar)return OpenLayers.Control.PanZoomBar.prototype.draw.apply(this,arguments);OpenLayers.Control.prototype.draw.apply(this,arguments);
a=this.position.clone();if(!document.getElementById("zoomBarBackground")){var c=document.createElement("div");c.id="zoomBarBackground";c.className="zoomBarBackground";this.div.appendChild(c)}this.buttons=[];c=new OpenLayers.Size(b.panZoomBar.arrowsBarSize,b.panZoomBar.arrowsBarSize);c=new OpenLayers.Pixel(a.x+c.w/2,a.y);var d=new OpenLayers.Size(b.panZoomBar.arrowSize,b.panZoomBar.arrowSize),e=new OpenLayers.Size(b.panZoomBar.zoomBarUpDownSize,b.panZoomBar.zoomBarUpDownSize),f=Math.floor((b.panZoomBar.zoomBarUpDownSize-
b.panZoomBar.zoomBarWidth)/2);this._addButton("panup","north-mini.png",b.panZoomBar.pos.moveUp,d);a.y=c.y+d.h;this._addButton("panleft","west-mini.png",b.panZoomBar.pos.moveLeft,d);this._addButton("panright","east-mini.png",b.panZoomBar.pos.moveRight,d);this._addButton("pandown","south-mini.png",b.panZoomBar.pos.moveDown,d);this._addButton("zoomin","zoom-plus-mini.png",c.add(-a.x-Math.floor(b.panZoomBar.zoomBarWidth/2),e.h+b.panZoomBar.arrowsBarSize),e);this.zoomStopWidth=b.panZoomBar.zoomBarWidth;
c=this._addZoomBar(c.add(-a.x-Math.floor(b.panZoomBar.zoomBarWidth/2)+f,e.h+b.panZoomBar.arrowsBarSize+b.panZoomBar.zoomBarUpDownSize));c.x-=f;this._addButton("zoomout","zoom-minus-mini.png",c,e);b.panZoomBar.worldmap&&this._addButton("zoomhome","zoom-world-mini.png",b.panZoomBar.worldmap.pos,b.panZoomBar.worldmap.size);return this.div},buttonDown:function(a){if(OpenLayers.Event.isLeftClick(a)){switch(this.action){case "zoomhome":var b=OpenLayers.LonLat.fromString(Navitel.Map.Options.CENTER).transform(nmap.options.displayProjection,
nmap.options.projection);this.map.setCenter(b,Navitel.Map.Options.ZOOM);break;default:OpenLayers.Control.PanZoomBar.prototype.buttonDown.apply(this,arguments)}OpenLayers.Event.stop(a)}},_addZoomBar:function(a){var b=new ThemeClass,c=b.getOptions();if(!c.panZoomBar)return OpenLayers.Control.PanZoomBar.prototype._addZoomBar.apply(this,arguments);var d=Math.floor((c.panZoomBar.zoomBarUpDownSize-c.panZoomBar.zoomBarWidth)/2);b=OpenLayers.Util.getImagesLocation();var e=this.id+"_"+this.map.id,f=this.map.maxZoomLevel-
this.map.minZoomLevel-this.map.getZoom();this.slider=c=OpenLayers.Util.createAlphaImageDiv(e,a.add(-d,f*this.zoomStopHeight),new OpenLayers.Size(c.panZoomBar.szSlider.w,c.panZoomBar.szSlider.h),b+"slider.png","absolute");this.sliderEvents=new OpenLayers.Events(this,c,null,true,{includeXY:true});this.sliderEvents.on({mousedown:this.zoomBarDown,mousemove:this.zoomBarDrag,mouseup:this.zoomBarUp,dblclick:this.doubleClick,click:this.doubleClick});d=new OpenLayers.Size;d.h=this.zoomStopHeight*(this.map.maxZoomLevel-
this.map.minZoomLevel+1);d.w=this.zoomStopWidth;e=null;if(OpenLayers.Util.alphaHack()){e=this.id+"_"+this.map.id;e=OpenLayers.Util.createAlphaImageDiv(e,a,new OpenLayers.Size(d.w,this.zoomStopHeight),b+"zoombar.png","absolute",null,"crop");e.style.height=d.h+"px"}else e=OpenLayers.Util.createDiv("OpenLayers_Control_PanZoomBar_Zoombar"+this.map.id,a,d,b+"zoombar.png");this.zoombarDiv=e;this.divEvents=new OpenLayers.Events(this,e,null,true,{includeXY:true});this.divEvents.on({mousedown:this.divClick,
mousemove:this.passEventToSlider,dblclick:this.doubleClick,click:this.doubleClick});this.div.appendChild(e);this.startTop=parseInt(e.style.top);this.div.appendChild(c);this.map.events.register("zoomend",this,this.moveZoomBar);return a=a.add(0,this.zoomStopHeight*(this.map.maxZoomLevel-this.map.minZoomLevel+1))},divClick:function(a){if(OpenLayers.Event.isLeftClick(a)){var b=a.xy.y,c=OpenLayers.Util.pagePosition(a.object)[1];b=(b-c)/this.zoomStopHeight;this.map.fractionalZoom||(b=Math.floor(b));b=this.map.maxZoomLevel-
b;b=Math.min(Math.max(b,this.map.minZoomLevel),this.map.maxZoomLevel);this.map.zoomTo(b);OpenLayers.Event.stop(a)}},zoomBarUp:function(a){if(OpenLayers.Event.isLeftClick(a))if(this.zoomStart){this.div.style.cursor="";this.map.events.un({mouseup:this.passEventToSlider,mousemove:this.passEventToSlider,scope:this});var b=this.zoomStart.y-a.xy.y,c=this.map.zoom;if(this.map.fractionalZoom){c+=b/this.zoomStopHeight;c=Math.min(Math.max(c,this.map.minZoomLevel),this.map.maxZoomLevel-this.map.minZoomLevel)}else c+=
Math.round(b/this.zoomStopHeight);this.map.zoomTo(c);this.moveZoomBar();this.mouseDragStart=null;OpenLayers.Event.stop(a)}},moveZoomBar:function(){var a=(this.map.maxZoomLevel-this.map.getZoom())*this.zoomStopHeight+this.startTop+1;this.slider.style.top=a+"px"},CLASS_NAME:"OpenLayers.Control.NavitelPanZoomBar"});
Navitel.Click=OpenLayers.Class(OpenLayers.Control,{defaultHandlerOptions:{single:true,"double":true,pixelTolerance:1,stopSingle:true,stopDouble:true},handleRightClicks:true,nmap:null,popup:null,lastClickLonLat:null,initialize:function(a){this.nmap=a;this.handlerOptions=OpenLayers.Util.extend({},this.defaultHandlerOptions);OpenLayers.Control.prototype.initialize.apply(this,arguments);var b={click:this.onClick,dblclick:this.zoomIn},c=navigator.userAgent.indexOf("Opera")!=-1;if(c)b.rightclick=this.showPopup;
else{var d=this.showPopup;this.nmap.map.viewPortDiv.oncontextmenu=function(e){e=e?e:event;e=OpenLayers.Util.extend(e,{xy:new OpenLayers.Pixel(e.clientX,e.clientY)});d(e);return false}}this.handler=new OpenLayers.Handler.Click(this,b,this.handlerOptions);this.nmap.map.addControl(this);this.activate()},onClick:function(){this.nmap.click.popup&&this.nmap.click.popup.id&&this.nmap.click.popup.destroy();this.lastClickLonLat=null},zoomIn:function(a){this.lastClickLonLat=this.nmap.map.getLonLatFromViewPortPx(a.xy);
this.map.setCenter(this.lastClickLonLat,Number(this.map.getZoom())+Number(1))},showPopup:function(a){if(document.getElementById("search_input"))a.xy.y-=100;this.nmap.click.popup&&this.nmap.click.popup.id&&this.nmap.click.popup.destroy();this.nmap=window.nmap;this.nmap.click.lastClickLonLat=this.nmap.map.getLonLatFromViewPortPx(a.xy);this.nmap.click.lastClickLonLat.transform(this.nmap.map.projection,this.nmap.map.displayProjection);var b=null;b=this.nmap.layerPoints?this.nmap.layerPoints.getFeatureFromEvent(a):
null;if(b!=null)if(b=Navitel.Layer.Points.getPointByFeature(b))this.nmap.click.lastClickLonLat=b.lonlat;b="<div>";b+="\u0422\u043e\u0447\u043a\u0430: "+Navitel.Util.lonlat_out(this.nmap.click.lastClickLonLat)+"<br>";b+="<a href='javascript:nmap.map.zoomIn()'>\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c</a><br>";b+="<a href='javascript:nmap.map.zoomOut()'>\u0423\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c</a><br>";b+="</div>";this.nmap.click.popup=new OpenLayers.Popup("mypopup",this.nmap.map.getLonLatFromViewPortPx(a.xy),
new OpenLayers.Size(300,100),b,true);this.nmap.click.popup.autoSize=true;this.nmap.click.popup.border="2px solid black";this.nmap.click.popup.closeOnMove=true;this.nmap.map.addPopup(this.nmap.click.popup)},addPoint:function(a){this.nmap.click.popup&&this.nmap.click.popup.id&&this.nmap.click.popup.destroy();this.nmap.destinationPoints.createElement(null,this.lastClickLonLat,a);this.nmap.layerRoute.setVisibility(true);this.nmap.layerPoints.setVisibility(true)},delPoint:function(a){this.popup&&this.popup.id&&
this.popup.destroy();this.nmap.destinationPoints.removeElementById(a)},clearRoute:function(){this.popup&&this.popup.id&&this.popup.destroy();this.nmap.route.clearRoute()},CLASS_NAME:"Navitel.Click"});
Navitel.Tile.ImageCache=OpenLayers.Class(OpenLayers.Tile.Image,{draw:function(){if(this.layer!=this.layer.map.baseLayer&&this.layer.reproject)this.bounds=this.getBoundsFromBaseLayer(this.position);var a=OpenLayers.Tile.prototype.draw.apply(this,arguments);if(OpenLayers.Util.indexOf(this.layer.SUPPORTED_TRANSITIONS,this.layer.transitionEffect)!=-1)if(a){if(!this.backBufferTile){this.backBufferTile=this.clone();this.backBufferTile.hide();this.backBufferTile.isBackBuffer=true;this.events.register("loadend",
this,this.resetBackBuffer);this.layer.events.register("loadend",this,this.resetBackBuffer)}this.startTransition()}else this.backBufferTile&&this.backBufferTile.clear();else if(a&&this.isFirstDraw){this.events.register("loadend",this,this.showTile);this.isFirstDraw=false}if(!a)return false;if(this.isLoading)this.events.triggerEvent("reload");else{this.isLoading=true;this.events.triggerEvent("loadstart")}return this.renderTile()},showTile:function(){if(this.shouldDraw)this.zoomAnimation?setTimeout(this.showTile,
50):this.show()},positionImage:function(){if(this.layer!=null){this.frame.id=null;with(this.frame.style){left=this.position.x+"px";top=this.position.y+"px";width=this.size.w+"px";height=this.size.h+"px"}var a=this.layer.getImageSize();this.isync=this.isync?this.isync+1:1;window.imageCache=window.imageCache?window.imageCache:[];var b=this.url.match(/\?.*/)[0];if(this.layerAlphaHack)OpenLayers.Util.modifyAlphaImageDiv(this.imgDiv,null,null,a,this.url);else with(this.imgDiv.style){top=left="0px";width=
a.w+"px";height=a.h+"px"}if(!window.imageCache[b]||!window.imageCache[b].src)window.fStartImageLoading(this);else{this.imgDiv.src=window.imageCache[b].src;this.showTile()}}},resetBackBuffer:function(){if(this.backBufferTile&&(this.isFirstDraw||!this.layer.numLoadingTiles&&!this.zoomAnimation)){this.isFirstDraw=false;var a=this.layer.maxExtent;if(a=a&&this.bounds.intersectsBounds(a,false)){this.backBufferTile.position=this.position;this.backBufferTile.bounds=this.bounds;this.backBufferTile.size=this.size;
this.backBufferTile.imageSize=this.layer.imageSize||this.size;this.backBufferTile.imageOffset=this.layer.imageOffset;this.backBufferTile.resolution=this.layer.getResolution();this.backBufferTile.renderTile();this.showTile();this.backBufferTile.hide()}}},startTransition:function(){if(this.backBufferTile&&this.backBufferTile.imgDiv){var a=1,b;if(this.backBufferTile.resolution){b=this.layer.getResolution();a=this.backBufferTile.resolution/b}if(b!=this.lastResolution){if(this.layer.transitionEffect==
"resize"){var c=new OpenLayers.LonLat(this.backBufferTile.bounds.left,this.backBufferTile.bounds.top),d=new OpenLayers.Size(Math.round(this.backBufferTile.size.w*a),Math.round(this.backBufferTile.size.h*a));c=this.layer.map.getLayerPxFromLonLat(c);nmap.options.useZoomAnimation||OpenLayers.Util.modifyDOMElement(this.backBufferTile.frame,null,c,d);var e=this.backBufferTile.imageSize;e=new OpenLayers.Size(Math.round(e.w*a),Math.round(e.h*a));var f=this.backBufferTile.imageOffset;if(f)f=new OpenLayers.Pixel(Math.round(f.x*
a),Math.round(f.y*a));nmap.options.useZoomAnimation||OpenLayers.Util.modifyDOMElement(this.backBufferTile.imgDiv,null,f,e);if(OpenLayers.Util.getBrowserName()=="firefox"&&parseInt(this.backBufferTile.imgDiv.style.width)<256)with(this.backBufferTile.imgDiv.style){top=left="-1px";width=parseInt(width)+2+"px";height=parseInt(height)+2+"px"}if(nmap.options.useZoomAnimation){this.px=c;this.sz=d;window.tweenTiles.push(this)}else this.backBufferTile.show()}}else this.layer.singleTile?this.backBufferTile.show():
this.backBufferTile.hide();this.lastRatio=a;this.lastResolution=b}},clone:function(a){if(a==null)a=new Navitel.Tile.ImageCache(this.layer,this.position,this.bounds,this.url,this.size);a=OpenLayers.Tile.prototype.clone.apply(this,[a]);a.imgDiv=null;return a},CLASS_NAME:"Navitel.Tile.ImageCache"});window.clearJamsFromCache=function(a){window.imageCache[a]=null};
window.fStartImageLoading=function(a){if(!(a.url.indexOf("null")>0)){var b=a.url.match(/\?.*/)[0];window.imageCache[b]=new Image;var c=a.isync;window.imageCache[b].onload=function(){setTimeout("clearJamsFromCache('"+b+"')",6E4*Navitel.Map.Options.JAMS_CACHE_TIMEOUT);if(a.imgDiv&&a.isync==c){a.imgDiv.src=this.src;a.showTile()}};var d=document.getElementById("sidebar");if(d&&d.style.display!="none"&&a.position.x+a.size.w<=360){window.lazyLoadTiles=window.lazyLoadTiles?window.lazyLoadTiles:[];window.lazyLoadTiles.push(a)}else{window.loadingUrls.push(a.url);
var e=a;setTimeout(function(){if(e.isync==c)window.imageCache[b].src=e.url},500)}}};Navitel.Util={};Navitel.Util.zAlignedStr=function(a,b){return(new Array(b+1)).join("0").substr(0,b-String(a).length)+String(a)};Navitel.Util.lonlat_out=function(a){return a.lon.toFixed(2)+" E, "+a.lat.toFixed(2)+" N"};
Navitel.Util.TileQueue={tiles:[],timeouts:[],add:function(a){this.tiles.push(a)},start:function(){var a=this.tiles;if(a.length!=0){this.tiles=[];for(var b=0;b<a.length;b++)this.timeouts.push(Navitel.Effect.startOpacity(a[b].imgDiv.id,0,100,1E3))}},reset:function(){this.tiles=[];for(var a=0;a<this.timeouts.length;a++)for(var b=0;b<this.timeouts[a].length;b++)clearTimeout(this.timeouts[a][b]);this.timeoust=[]}};
Navitel.Util.showError=function(a){var b=document.getElementById("modalAlert");b.innerHTML=a;var c=document.body.clientWidth,d=document.body.clientHeight;a=300;var e=50;c=(c-a)/2;d=(d-e)/2;b.style.width=a;b.style.top=d;b.style.left=c;b.style.zIndex=9999;b.style.display="block"};
Navitel.Util.handleError=function(a){a=a.status;var b={400:"\u0421\u0435\u0440\u0432\u0435\u0440 \u043d\u0435 \u0441\u043c\u043e\u0433 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441",401:"\u0414\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f",402:"\u0414\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u043b\u0430\u0442\u0430",
403:"\u0412 \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0443 \u043e\u0442\u043a\u0430\u0437\u0430\u043d\u043e",404:"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",405:"\u0412 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043d\u0435\u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u043c\u0435\u0442\u043e\u0434",
406:"\u041d\u0435 \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c",407:"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440",408:"\u0418\u0441\u0442\u0435\u043a\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430",
409:"\u041a\u043e\u043d\u0444\u043b\u0438\u043a\u0442",410:"\u0417\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0441\u0443\u0440\u0441 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435",411:"\u0421\u0435\u0440\u0432\u0435\u0440 \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 \u0441 \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c Content-Length",
412:"\u041f\u0440\u0435\u0434\u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u043e\u0434\u043d\u0438\u043c \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (request-header), \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043b\u043e\u0436\u043d\u044b\u043c \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c",
413:"\u0421\u0435\u0440\u0432\u0435\u0440 \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u0436\u0435\u043b\u0430\u0435\u0442 \u0438\u043b\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c",
414:"URI \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u043b\u0438\u043d\u043d\u044b\u0439",415:"\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u043c\u0435\u0434\u0438\u0430 \u0442\u0438\u043f",416:"Requested Range Not Satisfiable",417:"Expectation Failed",500:"Internal Server Error - \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430",
501:"Not Implemented - \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0435 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430",502:"Bad Gateway - \u0441\u0435\u0440\u0432\u0435\u0440, \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u044b\u0439 (\u043d\u0435\u0430\u0434\u0435\u043a\u0432\u0430\u0442\u043d\u044b\u0439) \u043e\u0442\u0432\u0435\u0442 \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043e\u043d \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u0438\u043b \u0437\u0430\u043f\u0440\u043e\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0430",
503:"Service Unavailable - \u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043d\u0435 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 (\u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d \u0438\u043b\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0442\u0435\u0445\u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0438 [maintanance])",
504:"Gateway Timeout - \u0441\u0435\u0440\u0432\u0435\u0440, \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0437\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442 \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043e\u043d \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u0438\u043b \u0437\u0430\u043f\u0440\u043e\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0430",
505:"\u041d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f HTTP"};if(b[a]){Navitel.Util.showError(b[a]);return true}return false};
if(!window.debugMode){OpenLayers.Util.onImageLoadErrorColor="";OpenLayers.Util.onImageLoadError=function(){this._attempts=this._attempts?this._attempts+1:1;if(this._attempts<=OpenLayers.IMAGE_RELOAD_ATTEMPTS){var a=this.urls;if(a&&a instanceof Array&&a.length>1){var b=this.src.toString(),c,d;for(d=0;c=a[d];d++)if(b.indexOf(c)!=-1)break;var e=Math.floor(a.length*Math.random());e=a[e];for(d=0;e==c&&d++<4;){e=Math.floor(a.length*Math.random());e=a[e]}this.src=b.replace(c,e)}else this.src=this.src;this.style.display=
""}else this.style.display="none"}}Navitel.Util.inArray=function(a,b){for(var c in b)if(a==b[c])return c;return null};Navitel.Util.getParameters=OpenLayers.Util.getParameters;OpenLayers.Util.getParameters=function(a){if(window.cacheUrlParams&&window.cacheUrlParams[a])return window.cacheUrlParams[a];if(!window.cacheUrlParams)window.cacheUrlParams=[];return window.cacheUrlParams[a]=Navitel.Util.getParameters(a)};
Navitel.Util.fastGetParameterString=function(a){var b=[];for(var c in a)a[c]!=null&&b.push(c+"="+a[c]);return b.join("&")};Navitel.Util.microtime=function(){return(new Date).getTime()};OpenLayers.Event.stopObservingElement=function(a){if(a=OpenLayers.Util.getElement(a)){a=a._eventCacheID;this._removeElementObservers(OpenLayers.Event.observers[a])}};
OpenLayers.Control.Navigation.prototype.wheelChange=function(a,b){b=this.map.getZoom()+b;if(this.map.isValidZoomLevel(b)){var c=this.map.getSize(),d=c.w/2-a.xy.x;c=a.xy.y-c.h/2;var e=this.map.baseLayer.getResolutionForZoom(b);a=this.map.getLonLatFromPixel(a.xy);a=new OpenLayers.LonLat(a.lon+d*e,a.lat+c*e);this.map.wheelChanged=true;this.map.setCenter(a,b)}};OpenLayers.Map.prototype.zoomToMaxExtent=function(a){a=a?a.restricted:true;this.wheelChanged=true;a=this.getMaxExtent({restricted:a});this.zoomToExtent(a)};
Navitel.Util.getAbsolutePosition=function(a){for(var b={},c=0,d=0;a;){c+=a.offsetTop;d+=a.offsetLeft;a=a.offsetParent}b.left=d;b.top=c;return b};
Navitel.Util.lazyTilesLoading=function(){if(window.lazyLoadTiles)for(var a=0;a<window.lazyLoadTiles.length;a++){var b=window.lazyLoadTiles[a],c=document.getElementById("sidebar"),d=Navitel.Util.getAbsolutePosition(b.frame).left+b.layer?b.layer.getImageSize().w:256;if(c&&(c.style.display!="none"&&d>360||c.style.display=="none"))if(window.imageCache[b.url]){window.imageCache[b.url].src=b.url;window.lazyLoadTiles.splice(a,1);a--}}};
OpenLayers.Map.prototype.setCenter=function(a,b,c,d){if(b==null)b=this.getZoom();this.animationOffset={x:parseInt(this.layerContainerDiv.style.left),y:parseInt(this.layerContainerDiv.style.top)};Navitel.Util.lazyTilesLoading(this);if(this.originalRestrictedExtentLeft)this.restrictedExtent.left=this.originalRestrictedExtentLeft-this.getResolutionForZoom(b)*(b==0?420:360);var e=document.getElementById("sidebar");if(a&&e&&e.style.display!="none"&&c==null&&!this.wheelChanged)a.lon-=this.getResolutionForZoom(b)*
180;this.wheelChanged=false;this.moveTo(a,b,{dragging:c,forceZoomChange:d,caller:"setCenter"})};
Navitel.Util.addSidebarPoint=function(){var a=document.createElement("div");window.sidebarPoints=window.sidebarPoints||[];for(var b=2+window.sidebarPoints.length,c=0,d=0;d<window.sidebarPoints.length;d++)c=window.sidebarPoints[d]!=null?c+1:c;if(!(c>=18)){a.innerHTML='<span><input type="text" id="destination_point_'+b+'" class="destination_input"><button class="sidebar_point_x" onclick="Navitel.Util.delSidebarPoint('+b+');">x</button></span>';window.sidebarPoints[b]=a;document.getElementById("build_route_container").appendChild(a)}};
Navitel.Util.delSidebarPoint=function(a){var b=document.getElementById("build_route_container");b.removeChild(window.sidebarPoints[a]);window.sidebarPoints[a]=null};Navitel.Util.sidebarBuildRoute=function(){window.sidebarPoints=window.sidebarPoints||[];for(var a=[],b=0;b<2+window.sidebarPoints.length;b++){var c=document.getElementById("destination_point_"+b);c&&a.push(c.value)}};
OpenLayers.Util.modifyDOMElement=function(a,b,c,d,e,f,g,i){if(b)a.id=b;if(d){a.style.width=d.w+"px";a.style.height=d.h+"px"}if(c){a.style.left=c.x+"px";a.style.top=c.y+"px"}if(e)a.style.position=e;if(f)a.style.border=f;if(g)a.style.overflow=g;if(parseFloat(i)>=0&&parseFloat(i)<1){a.style.filter="alpha(opacity="+i*100+")";a.style.opacity=i}else if(parseFloat(i)==1){a.style.filter="";a.style.opacity=""}};window.loadingUrls=[];
if(!window.loadingUrls.indexOf)window.loadingUrls.indexOf=function(a,b){if(typeof b!="number")b=0;b=b;for(var c=this.length;b<c;b++)if(this[b]==a)return b;return-1};window.tweenTiles=[];window.tileQueue=[];
OpenLayers.Control.NavitelLogoLink=OpenLayers.Class(OpenLayers.Control,{initialize:function(a,b,c){OpenLayers.Control.prototype.initialize.apply(this,[c]);this.element=OpenLayers.Util.getElement(a);this.url=b||window.loc.href},destroy:function(){this.element.parentNode==this.div&&this.div.removeChild(this.element);this.element=null;OpenLayers.Control.prototype.destroy.apply(this,arguments)},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);if(!this.element){this.div.className=
this.displayClass;this.element=document.createElement("a");this.element.target="_blank";this.element.href=this.url;this.div.appendChild(this.element)}return this.div},CLASS_NAME:"OpenLayers.Control.NavitelLogoLink"});
ThemeClass=OpenLayers.Class({options:null,initialize:function(){this.options={specialOptions:{markerStartImgName:"marker.png",markerMiddleImgName:"marker-blue.png",markerEndImgName:"marker-gold.png",layerSwitcherOptions:{activeColor:"gray"},routeStyleOptions:{strokeWidth:3,strokeColor:"#0000ff",strokeOpacity:0.45},perpendicularOptions:{pointRadius:5,strokeColor:"#0000ff",strokeOpacity:0.45,fillColor:"white",strokeWidth:2,fillOpacity:1},insensitivityRadius:2},panZoomBar:{arrowsBarSize:62,arrowSize:18,
zoomBarUpDownSize:28,zoomBarWidth:22,zoomBarHeight:242,pos:{moveUp:{x:27,y:9},moveDown:{x:27,y:45},moveLeft:{x:9,y:27},moveRight:{x:45,y:27}},szSlider:{w:28,h:12},worldmap:{pos:{x:18,y:294},size:{w:32,h:32}}}}},getOptions:function(){return this.options}});
