var OpenLayers={singleFile:true};(function(){var G=(typeof OpenLayers=="object"&&OpenLayers.singleFile);window.OpenLayers={_scriptName:(!G)?"lib/OpenLayers.js":"OpenLayers.js",_getScriptLocation:function(){var O="";var Q=new RegExp("(^|(.*?\\/))("+OpenLayers._scriptName+")(\\?|$)");var L=document.getElementsByTagName("script");for(var N=0,K=L.length;N<K;N++){var P=L[N].getAttribute("src");if(P){var M=P.match(Q);if(M){O=M[1];break;}}}return O;}};if(!G){var H=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");var B=navigator.userAgent;var D=(B.match("MSIE")||B.match("Safari"));if(D){var A=new Array(H.length);}var I=OpenLayers._getScriptLocation()+"lib/";for(var C=0,F=H.length;C<F;C++){if(D){A[C]="<script src='"+I+H[C]+"'><\/script>";}else{var J=document.createElement("script");J.src=I+H[C];var E=document.getElementsByTagName("head").length?document.getElementsByTagName("head")[0]:document.body;E.appendChild(J);}}if(D){document.write(A.join(""));}}})();OpenLayers.VERSION_NUMBER="$Revision: 9734 $";OpenLayers.String={startsWith:function(B,A){return(B.indexOf(A)==0);},contains:function(B,A){return(B.indexOf(A)!=-1);},trim:function(A){return A.replace(/^\s\s*/,"").replace(/\s\s*$/,"");},camelize:function(F){var D=F.split("-");var B=D[0];for(var C=1,A=D.length;C<A;C++){var E=D[C];B+=E.charAt(0).toUpperCase()+E.substring(1);}return B;},format:function(D,C,A){if(!C){C=window;}var B=function(I,E){var H;var G=E.split(/\.+/);for(var F=0;F<G.length;F++){if(F==0){H=C;}H=H[G[F]];}if(typeof H=="function"){H=A?H.apply(null,A):H();}if(typeof H=="undefined"){return"undefined";}else{return H;}};return D.replace(OpenLayers.String.tokenRegEx,B);},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,C){var B=0;if(C>0){B=parseFloat(A.toPrecision(C));}return B;},format:function(C,A,G,I){A=(typeof A!="undefined")?A:0;G=(typeof G!="undefined")?G:OpenLayers.Number.thousandsSeparator;I=(typeof I!="undefined")?I:OpenLayers.Number.decimalSeparator;if(A!=null){C=parseFloat(C.toFixed(A));}var B=C.toString().split(".");if(B.length==1&&A==null){A=0;}var D=B[0];if(G){var E=/(-?[0-9]+)([0-9]{3})/;while(E.test(D)){D=D.replace(E,"$1"+G+"$2");}}var F;if(A==0){F=D;}else{var H=B.length>1?B[1]:"0";if(A!=null){H=H+new Array(A-H.length+1).join("0");}F=D+I+H;}return F;}};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(C,B){var A=Array.prototype.slice.apply(arguments,[2]);return function(){var D=A.concat(Array.prototype.slice.apply(arguments,[0]));return C.apply(B,D);};},bindAsEventListener:function(B,A){return function(C){return B.call(A,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(G,F,B){var D=[];if(Array.prototype.filter){D=G.filter(F,B);}else{var A=G.length;if(typeof F!="function"){throw new TypeError();}for(var C=0;C<A;C++){if(C in G){var E=G[C];if(F.call(B,E,C,G)){D.push(E);}}}}return D;}};OpenLayers.Class=function(){var D=function(){if(arguments&&arguments[0]!=OpenLayers.Class.isPrototype){this.initialize.apply(this,arguments);}};var C={};var F,B;for(var E=0,A=arguments.length;E<A;++E){if(typeof arguments[E]=="function"){if(E==0&&A>1){B=arguments[E].prototype.initialize;arguments[E].prototype.initialize=function(){};C=new arguments[E];if(B===undefined){delete arguments[E].prototype.initialize;}else{arguments[E].prototype.initialize=B;}}F=arguments[E].prototype;}else{F=arguments[E];}OpenLayers.Util.extend(C,F);}D.prototype=C;return D;};OpenLayers.Class.isPrototype=function(){};OpenLayers.Class.create=function(){return function(){if(arguments&&arguments[0]!=OpenLayers.Class.isPrototype){this.initialize.apply(this,arguments);}};};OpenLayers.Class.inherit=function(){var D=arguments[0];var E=new D(OpenLayers.Class.isPrototype);for(var C=1,A=arguments.length;C<A;C++){if(typeof arguments[C]=="function"){var B=arguments[C];arguments[C]=new B(OpenLayers.Class.isPrototype);}OpenLayers.Util.extend(E,arguments[C]);}return E;};OpenLayers.Util={};OpenLayers.Util.getElement=function(){var D=[];for(var C=0,A=arguments.length;C<A;C++){var B=arguments[C];if(typeof B=="string"){B=document.getElementById(B);}if(arguments.length==1){return B;}D.push(B);}return D;};if(typeof window.$==="undefined"){window.$=OpenLayers.Util.getElement;}OpenLayers.Util.extend=function(A,E){A=A||{};if(E){for(var D in E){var C=E[D];if(C!==undefined){A[D]=C;}}var B=typeof window.Event=="function"&&E instanceof window.Event;if(!B&&E.hasOwnProperty&&E.hasOwnProperty("toString")){A.toString=E.toString;}}return A;};OpenLayers.Util.removeItem=function(C,B){for(var A=C.length-1;A>=0;A--){if(C[A]==B){C.splice(A,1);}}return C;};OpenLayers.Util.clearArray=function(A){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"array = []"}));A.length=0;};OpenLayers.Util.indexOf=function(D,C){for(var B=0,A=D.length;B<A;B++){if(D[B]==C){return B;}}return -1;};OpenLayers.Util.modifyDOMElement=function(E,H,D,F,A,C,G,B){if(H){E.id=H;}if(D){E.style.left=D.x+"px";E.style.top=D.y+"px";}if(F){E.style.width=F.w+"px";E.style.height=F.h+"px";}if(A){E.style.position=A;}if(C){E.style.border=C;}if(G){E.style.overflow=G;}if(parseFloat(B)>=0&&parseFloat(B)<1){E.style.filter="alpha(opacity="+(B*100)+")";E.style.opacity=B;}else{if(parseFloat(B)==1){E.style.filter="";E.style.opacity="";}}};OpenLayers.Util.createDiv=function(A,I,H,F,E,C,B,G){var D=document.createElement("div");if(F){D.style.backgroundImage="url("+F+")";}if(!A){A=OpenLayers.Util.createUniqueID("OpenLayersDiv");}if(!E){E="absolute";}OpenLayers.Util.modifyDOMElement(D,A,I,H,E,C,B,G);return D;};OpenLayers.Util.createImage=function(A,H,G,E,D,C,F,I){var B=document.createElement("img");if(!A){A=OpenLayers.Util.createUniqueID("OpenLayersDiv");}if(!D){D="relative";}OpenLayers.Util.modifyDOMElement(B,A,H,G,D,C,null,F);if(I){B.style.display="none";OpenLayers.Event.observe(B,"load",OpenLayers.Function.bind(OpenLayers.Util.onImageLoad,B));OpenLayers.Event.observe(B,"error",OpenLayers.Function.bind(OpenLayers.Util.onImageLoadError,B));}B.style.alt=A;B.galleryImg="no";if(E){B.src=E;}return B;};OpenLayers.Util.setOpacity=function(B,A){OpenLayers.Util.modifyDOMElement(B,null,null,null,null,null,null,A);};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 D=this.urls;if(D&&D instanceof Array&&D.length>1){var E=this.src.toString();var C,A;for(A=0;C=D[A];A++){if(E.indexOf(C)!=-1){break;}}var F=Math.floor(D.length*Math.random());var B=D[F];A=0;while(B==C&&A++<4){F=Math.floor(D.length*Math.random());B=D[F];}this.src=E.replace(C,B);}else{this.src=this.src;}}else{this.src="images/no_tile.gif";this.style.backgroundColor=OpenLayers.Util.onImageLoadErrorColor;}this.style.display="";};OpenLayers.Util.alphaHackNeeded=null;OpenLayers.Util.alphaHack=function(){if(OpenLayers.Util.alphaHackNeeded==null){var D=navigator.appVersion.split("MSIE");var A=parseFloat(D[1]);var B=false;try{if(document.body){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,J,I,G,F,C,D,H){OpenLayers.Util.modifyDOMElement(A,B,J,I,F,null,null,H);var E=A.childNodes[0];if(G){E.src=G;}OpenLayers.Util.modifyDOMElement(E,A.id+"_innerImage",null,I,"relative",C);if(OpenLayers.Util.alphaHack()){if(A.style.display!="none"){A.style.display="inline-block";}if(D==null){D="scale";}A.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+E.src+"', sizingMethod='"+D+"')";if(parseFloat(A.style.opacity)>=0&&parseFloat(A.style.opacity)<1){A.style.filter+=" alpha(opacity="+A.style.opacity*100+")";}E.style.filter="alpha(opacity=0)";}};OpenLayers.Util.createAlphaImageDiv=function(B,J,I,G,F,C,D,H,K){var A=OpenLayers.Util.createDiv();var E=OpenLayers.Util.createImage(null,null,null,null,null,null,null,false);A.appendChild(E);if(K){E.style.display="none";OpenLayers.Event.observe(E,"load",OpenLayers.Function.bind(OpenLayers.Util.onImageLoad,A));OpenLayers.Event.observe(E,"error",OpenLayers.Function.bind(OpenLayers.Util.onImageLoadError,A));}OpenLayers.Util.modifyAlphaImageDiv(A,B,J,I,G,F,C,D,H);return A;};OpenLayers.Util.upperCaseObject=function(B){var A={};for(var C in B){A[C.toUpperCase()]=B[C];}return A;};OpenLayers.Util.applyDefaults=function(D,C){D=D||{};var B=typeof window.Event=="function"&&C instanceof window.Event;for(var A in C){if(D[A]===undefined||(!B&&C.hasOwnProperty&&C.hasOwnProperty(A)&&!D.hasOwnProperty(A))){D[A]=C[A];}}if(!B&&C&&C.hasOwnProperty&&C.hasOwnProperty("toString")&&!D.hasOwnProperty("toString")){D.toString=C.toString;}return D;};OpenLayers.Util.getParameterString=function(C){var B=[];for(var H in C){var G=C[H];if((G!=null)&&(typeof G!="function")){var D;if(typeof G=="object"&&G.constructor==Array){var E=[];var I;for(var A=0,F=G.length;A<F;A++){I=G[A];E.push(encodeURIComponent((I===null||I===undefined)?"":I));}D=E.join(",");}else{D=encodeURIComponent(G);}B.push(encodeURIComponent(H)+"="+D);}}return B.join("&");};OpenLayers.Util.urlAppend=function(A,B){var D=A;if(B){var C=(A+" ").split(/[?&]/);D+=(C.pop()===" "?B:C.length?"&"+B:"?"+B);}return D;};OpenLayers.ImgPath="";OpenLayers.Util.getImagesLocation=function(){return OpenLayers.ImgPath||(OpenLayers._getScriptLocation()+"img/");};OpenLayers.Util.Try=function(){var D=null;for(var C=0,A=arguments.length;C<A;C++){var B=arguments[C];try{D=B();break;}catch(E){}}return D;};OpenLayers.Util.getNodes=function(C,B){var A=OpenLayers.Util.Try(function(){return OpenLayers.Util._getNodes(C.documentElement.childNodes,B);},function(){return OpenLayers.Util._getNodes(C.childNodes,B);});return A;};OpenLayers.Util._getNodes=function(C,E){var B=[];for(var D=0,A=C.length;D<A;D++){if(C[D].nodeName==E){B.push(C[D]);}}return B;};OpenLayers.Util.getTagText=function(C,D,B){var A=OpenLayers.Util.getNodes(C,D);if(A&&(A.length>0)){if(!B){B=0;}if(A[B].childNodes.length>1){return A.childNodes[1].nodeValue;}else{if(A[B].childNodes.length==1){return A[B].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,C){var B=(A.relatedTarget)?A.relatedTarget:A.toElement;while(B!=C&&B!=null){B=B.parentNode;}return(B!=C);};OpenLayers.Util.DEFAULT_PRECISION=14;OpenLayers.Util.toFloat=function(B,A){if(A==null){A=OpenLayers.Util.DEFAULT_PRECISION;}var B;if(A==0){B=parseFloat(B);}else{B=parseFloat(parseFloat(B).toPrecision(A));}return B;};OpenLayers.Util.rad=function(A){return A*Math.PI/180;};OpenLayers.Util.distVincenty=function(F,D){var k=6378137,j=6356752.3142,e=1/298.257223563;var M=OpenLayers.Util.rad(D.lon-F.lon);var i=Math.atan((1-e)*Math.tan(OpenLayers.Util.rad(F.lat)));var h=Math.atan((1-e)*Math.tan(OpenLayers.Util.rad(D.lat)));var K=Math.sin(i),H=Math.cos(i);var J=Math.sin(h),G=Math.cos(h);var Q=M,N=2*Math.PI;var P=20;while(Math.abs(Q-N)>1e-12&&--P>0){var X=Math.sin(Q),E=Math.cos(Q);var l=Math.sqrt((G*X)*(G*X)+(H*J-K*G*E)*(H*J-K*G*E));if(l==0){return 0;}var Z=K*J+H*G*E;var W=Math.atan2(l,Z);var I=Math.asin(H*G*X/l);var c=Math.cos(I)*Math.cos(I);var O=Z-2*K*J/c;var T=e/16*c*(4+e*(4-3*c));N=Q;Q=M+(1-T)*e*Math.sin(I)*(W+T*l*(O+T*Z*(-1+2*O*O)));}if(P==0){return NaN;}var S=c*(k*k-j*j)/(j*j);var V=1+S/16384*(4096+S*(-768+S*(320-175*S)));var U=S/1024*(256+S*(-128+S*(74-47*S)));var Y=U*l*(O+U/4*(Z*(-1+2*O*O)-U/6*O*(-3+4*l*l)*(-3+4*O*O)));var R=j*V*(W-Y);var g=R.toFixed(3)/1000;return g;};OpenLayers.Util.getParameters=function(B){B=B||window.location.href;var A="";if(OpenLayers.String.contains(B,"?")){var C=B.indexOf("?")+1;var E=OpenLayers.String.contains(B,"#")?B.indexOf("#"):B.length;A=B.substring(C,E);}var M={};var D=A.split(/[&;]/);for(var H=0,I=D.length;H<I;++H){var G=D[H].split("=");if(G[0]){var K=decodeURIComponent(G[0]);var J=G[1]||"";J=J.split(",");for(var F=0,L=J.length;F<L;F++){J[F]=decodeURIComponent(J[F]);}if(J.length==1){J=J[0];}M[K]=J;}}return M;};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:0.0000254/OpenLayers.METERS_PER_INCH,Mil:2.54e-8/OpenLayers.METERS_PER_INCH,Centimeter:0.01/OpenLayers.METERS_PER_INCH,Kilometer:1000/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":50000/OpenLayers.METERS_PER_INCH,"150kilometers":150000/OpenLayers.METERS_PER_INCH});OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{mm:OpenLayers.INCHES_PER_UNIT.Meter/1000,cm:OpenLayers.INCHES_PER_UNIT.Meter/100,dm:OpenLayers.INCHES_PER_UNIT.Meter*100,km:OpenLayers.INCHES_PER_UNIT.Meter*1000,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(B){var A=(B>1)?(1/B):B;return A;};OpenLayers.Util.getResolutionFromScale=function(D,A){if(A==null){A="degrees";}var C=OpenLayers.Util.normalizeScale(D);var B=1/(C*OpenLayers.INCHES_PER_UNIT[A]*OpenLayers.DOTS_PER_INCH);return B;};OpenLayers.Util.getScaleFromResolution=function(B,A){if(A==null){A="degrees";}var C=B*OpenLayers.INCHES_PER_UNIT[A]*OpenLayers.DOTS_PER_INCH;return C;};OpenLayers.Util.safeStopPropagation=function(A){OpenLayers.Event.stop(A,true);};OpenLayers.Util.pagePosition=function(E){var A=0,D=0;var B=E;var F=E;while(B){if(B==document.body){if(OpenLayers.Element.getStyle(F,"position")=="absolute"){break;}}A+=B.offsetTop||0;D+=B.offsetLeft||0;F=B;try{B=B.offsetParent;}catch(C){OpenLayers.Console.error(OpenLayers.i18n("pagePositionFailed",{elemId:B.id}));break;}}B=E;while(B){A-=B.scrollTop||0;D-=B.scrollLeft||0;B=B.parentNode;}return[D,A];};OpenLayers.Util.isEquivalentUrl=function(F,E,C){C=C||{};OpenLayers.Util.applyDefaults(C,{ignoreCase:true,ignorePort80:true,ignoreHash:true});var B=OpenLayers.Util.createUrlObject(F,C);var A=OpenLayers.Util.createUrlObject(E,C);for(var D in B){if(D!=="args"){if(B[D]!=A[D]){return false;}}}for(var D in B.args){if(B.args[D]!=A.args[D]){return false;}delete A.args[D];}for(var D in A.args){return false;}return true;};OpenLayers.Util.createUrlObject=function(B,J){J=J||{};if(!(/^\w+:\/\//).test(B)){var F=window.location;var D=F.port?":"+F.port:"";var G=F.protocol+"//"+F.host.split(":").shift()+D;if(B.indexOf("/")===0){B=G+B;}else{var E=F.pathname.split("/");E.pop();B=G+E.join("/")+"/"+B;}}if(J.ignoreCase){B=B.toLowerCase();}var H=document.createElement("a");H.href=B;var C={};C.host=H.host.split(":").shift();C.protocol=H.protocol;if(J.ignorePort80){C.port=(H.port=="80"||H.port=="0")?"":H.port;}else{C.port=(H.port==""||H.port=="0")?"80":H.port;}C.hash=(J.ignoreHash||H.hash==="#")?"":H.hash;var A=H.search;if(!A){var I=B.indexOf("?");A=(I!=-1)?B.substr(I):"";}C.args=OpenLayers.Util.getParameters(A);C.pathname=(H.pathname.charAt(0)=="/")?H.pathname:"/"+H.pathname;return C;};OpenLayers.Util.removeTail=function(B){var C=null;var A=B.indexOf("?");var D=B.indexOf("#");if(A==-1){C=(D!=-1)?B.substr(0,D):B;}else{C=(D!=-1)?B.substr(0,Math.min(A,D)):B.substr(0,A);}return C;};OpenLayers.Util.getBrowserName=function(){var B="";var A=navigator.userAgent.toLowerCase();if(A.indexOf("opera")!=-1){B="opera";}else{if(A.indexOf("msie")!=-1){B="msie";}else{if(A.indexOf("safari")!=-1){B="safari";}else{if(A.indexOf("mozilla")!=-1){if(A.indexOf("firefox")!=-1){B="firefox";}else{B="mozilla";}}}}}return B;};OpenLayers.Util.getRenderedDimensions=function(B,L,M){var I,E;var A=document.createElement("div");A.style.visibility="hidden";var K=(M&&M.containerElement)?M.containerElement:document.body;if(L){if(L.w){I=L.w;A.style.width=I+"px";}else{if(L.h){E=L.h;A.style.height=E+"px";}}}if(M&&M.displayClass){A.className=M.displayClass;}var F=document.createElement("div");F.innerHTML=B;F.style.overflow="visible";if(F.childNodes){for(var D=0,C=F.childNodes.length;D<C;D++){if(!F.childNodes[D].style){continue;}F.childNodes[D].style.overflow="visible";}}A.appendChild(F);K.appendChild(A);var J=false;var H=A.parentNode;while(H&&H.tagName.toLowerCase()!="body"){var G=OpenLayers.Element.getStyle(H,"position");if(G=="absolute"){J=true;break;}else{if(G&&G!="static"){break;}}H=H.parentNode;}if(!J){A.style.position="absolute";}if(!I){I=parseInt(F.scrollWidth);A.style.width=I+"px";}if(!E){E=parseInt(F.scrollHeight);}A.removeChild(F);K.removeChild(A);return new OpenLayers.Size(I,E);};OpenLayers.Util.getScrollbarWidth=function(){var C=OpenLayers.Util._scrollbarWidth;if(C==null){var E=null;var D=null;var A=0;var B=0;E=document.createElement("div");E.style.position="absolute";E.style.top="-1000px";E.style.left="-1000px";E.style.width="100px";E.style.height="50px";E.style.overflow="hidden";D=document.createElement("div");D.style.width="100%";D.style.height="200px";E.appendChild(D);document.body.appendChild(E);A=D.offsetWidth;E.style.overflow="scroll";B=D.offsetWidth;document.body.removeChild(document.body.lastChild);OpenLayers.Util._scrollbarWidth=(A-B);C=OpenLayers.Util._scrollbarWidth;}return C;};OpenLayers.Rico=new Object();OpenLayers.Rico.Corner={round:function(D,B){D=OpenLayers.Util.getElement(D);this._setOptions(B);var A=this.options.color;if(this.options.color=="fromElement"){A=this._background(D);}var C=this.options.bgColor;if(this.options.bgColor=="fromParent"){C=this._background(D.offsetParent);}this._roundCornersImpl(D,A,C);},changeColor:function(C,B){C.style.backgroundColor=B;var A=C.parentNode.getElementsByTagName("span");for(var D=0;D<A.length;D++){A[D].style.backgroundColor=B;}},changeOpacity:function(C,F){var D=F;var A="alpha(opacity="+F*100+")";C.style.opacity=D;C.style.filter=A;var B=C.parentNode.getElementsByTagName("span");for(var E=0;E<B.length;E++){B[E].style.opacity=D;B[E].style.filter=A;}},reRound:function(D,C){var B=D.parentNode.childNodes[0];var A=D.parentNode.childNodes[2];D.parentNode.removeChild(B);D.parentNode.removeChild(A);this.round(D.parentNode,C);},_roundCornersImpl:function(C,A,B){if(this.options.border){this._renderBorder(C,B);}if(this._isTopRounded()){this._roundTopCorners(C,A,B);}if(this._isBottomRounded()){this._roundBottomCorners(C,A,B);}},_renderBorder:function(D,E){var B="1px solid "+this._borderColor(E);var A="border-left: "+B;var F="border-right: "+B;var C="style='"+A+";"+F+"'";D.innerHTML="<div "+C+">"+D.innerHTML+"</div>";},_roundTopCorners:function(C,A,E){var D=this._createCorner(E);for(var B=0;B<this.options.numSlices;B++){D.appendChild(this._createCornerSlice(A,E,B,"top"));}C.style.paddingTop=0;C.insertBefore(D,C.firstChild);},_roundBottomCorners:function(C,A,E){var D=this._createCorner(E);for(var B=(this.options.numSlices-1);B>=0;B--){D.appendChild(this._createCornerSlice(A,E,B,"bottom"));}C.style.paddingBottom=0;C.appendChild(D);},_createCorner:function(B){var A=document.createElement("div");A.style.backgroundColor=(this._isTransparent()?"transparent":B);return A;},_createCornerSlice:function(C,D,G,A){var E=document.createElement("span");var B=E.style;B.backgroundColor=C;B.display="block";B.height="1px";B.overflow="hidden";B.fontSize="1px";var F=this._borderColor(C,D);if(this.options.border&&G==0){B.borderTopStyle="solid";B.borderTopWidth="1px";B.borderLeftWidth="0px";B.borderRightWidth="0px";B.borderBottomWidth="0px";B.height="0px";B.borderColor=F;}else{if(F){B.borderColor=F;B.borderStyle="solid";B.borderWidth="0px 1px";}}if(!this.options.compact&&(G==(this.options.numSlices-1))){B.height="2px";}this._setMargin(E,G,A);this._setBorder(E,G,A);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){if(A=="transparent"){return B;}else{if(this.options.border){return this.options.border;}else{if(this.options.blend){return this._blend(B,A);}else{return"";}}}},_setMargin:function(D,E,B){var C=this._marginSize(E);var A=B=="top"?this._whichSideTop():this._whichSideBottom();if(A=="left"){D.style.marginLeft=C+"px";D.style.marginRight="0px";}else{if(A=="right"){D.style.marginRight=C+"px";D.style.marginLeft="0px";}else{D.style.marginLeft=C+"px";D.style.marginRight=C+"px";}}},_setBorder:function(D,E,B){var C=this._borderSize(E);var A=B=="top"?this._whichSideTop():this._whichSideBottom();if(A=="left"){D.style.borderLeftWidth=C+"px";D.style.borderRightWidth="0px";}else{if(A=="right"){D.style.borderRightWidth=C+"px";D.style.borderLeftWidth="0px";}else{D.style.borderLeftWidth=C+"px";D.style.borderRightWidth=C+"px";}}if(this.options.border!=false){D.style.borderLeftWidth=C+"px";D.style.borderRightWidth=C+"px";}},_marginSize:function(E){if(this._isTransparent()){return 0;}var D=[5,3,2,1];var A=[3,2,1,0];var C=[2,1];var B=[1,0];if(this.options.compact&&this.options.blend){return B[E];}else{if(this.options.compact){return C[E];}else{if(this.options.blend){return A[E];}else{return D[E];}}}},_borderSize:function(E){var D=[5,3,2,1];var B=[2,1,1,1];var A=[1,0];var C=[0,2,0,0];if(this.options.compact&&(this.options.blend||this._isTransparent())){return 1;}else{if(this.options.compact){return A[E];}else{if(this.options.blend){return B[E];}else{if(this.options.border){return C[E];}else{if(this._isTransparent()){return D[E];}}}}}return 0;},_hasString:function(B){for(var A=1;A<arguments.length;A++){if(B.indexOf(arguments[A])>=0){return true;}}return false;},_blend:function(C,A){var B=OpenLayers.Rico.Color.createFromHex(C);B.blend(OpenLayers.Rico.Color.createFromHex(A));return B;},_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 C=0,A=arguments.length;C<A;C++){var B=OpenLayers.Util.getElement(arguments[C]);var D=OpenLayers.Element.visible(B)?"hide":"show";OpenLayers.Element[D](B);}},hide:function(){for(var C=0,A=arguments.length;C<A;C++){var B=OpenLayers.Util.getElement(arguments[C]);B.style.display="none";}},show:function(){for(var C=0,A=arguments.length;C<A;C++){var B=OpenLayers.Util.getElement(arguments[C]);B.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(B){B=OpenLayers.Util.getElement(B);if(OpenLayers.Element.getStyle(B,"display")!="none"){return{width:B.offsetWidth,height:B.offsetHeight};}var A=B.style;var E=A.visibility;var C=A.position;A.visibility="hidden";A.position="absolute";A.display="";var F=B.clientWidth;var D=B.clientHeight;A.display="none";A.position=C;A.visibility=E;return{width:F,height:D};},hasClass:function(B,A){var C=B.className;return(!!C&&new RegExp("(^|\\s)"+A+"(\\s|$)").test(C));},addClass:function(B,A){if(!OpenLayers.Element.hasClass(B,A)){B.className+=(B.className?" ":"")+A;}return B;},removeClass:function(B,A){var C=B.className;if(C){B.className=OpenLayers.String.trim(C.replace(new RegExp("(^|\\s+)"+A+"(\\s+|$)")," "));}return B;},toggleClass:function(B,A){if(OpenLayers.Element.hasClass(B,A)){OpenLayers.Element.removeClass(B,A);}else{OpenLayers.Element.addClass(B,A);}return B;},getStyle:function(C,D){C=OpenLayers.Util.getElement(C);var E=null;if(C&&C.style){E=C.style[OpenLayers.String.camelize(D)];if(!E){if(document.defaultView&&document.defaultView.getComputedStyle){var B=document.defaultView.getComputedStyle(C,null);E=B?B.getPropertyValue(D):null;}else{if(C.currentStyle){E=C.currentStyle[OpenLayers.String.camelize(D)];}}}var A=["left","top","right","bottom"];if(window.opera&&(OpenLayers.Util.indexOf(A,D)!=-1)&&(OpenLayers.Element.getStyle(C,"position")=="static")){E="auto";}}return E=="auto"?null:E;}};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(B){var A=false;if(B!=null){A=((this.w==B.w&&this.h==B.h)||(isNaN(this.w)&&isNaN(this.h)&&isNaN(B.w)&&isNaN(B.h)));}return A;},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(){var B=document.getElementsByTagName("script");for(var C=0,A=B.length;C<A;++C){if(B[C].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,D,C){this.url=A;this.size=(B)?B:new OpenLayers.Size(20,20);this.offset=D?D:new OpenLayers.Pixel(-(this.size.w/2),-(this.size.h/2));this.calculateOffset=C;var E=OpenLayers.Util.createUniqueID("OL_Icon_");this.imageDiv=OpenLayers.Util.createAlphaImageDiv(E);},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(){if(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);}var B=this.px.offset(this.offset);OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,B);}}},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(G,C,F,B,E,D){if(G==null){G=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");}this.id=G;this.lonlat=C;this.contentSize=(F!=null)?F:new OpenLayers.Size(OpenLayers.Popup.WIDTH,OpenLayers.Popup.HEIGHT);if(B!=null){this.contentHTML=B;}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;var A=this.id+"_GroupDiv";this.groupDiv=OpenLayers.Util.createDiv(A,null,null,null,"relative",null,"hidden");var G=this.div.id+"_contentDiv";this.contentDiv=OpenLayers.Util.createDiv(G,null,this.contentSize.clone(),null,"relative");this.contentDiv.className=this.contentDisplayClass;this.groupDiv.appendChild(this.contentDiv);this.div.appendChild(this.groupDiv);if(E){this.addCloseBox(D);}this.registerEvents();},destroy:function(){this.id=null;this.lonlat=null;this.size=null;this.contentHTML=null;this.backgroundColor=null;this.opacity=null;this.border=null;if(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;if(this.map!=null){this.map.removePopup(this);}this.map=null;this.div=null;this.autoSize=null;this.minSize=null;this.maxSize=null;this.padding=null;this.panMapIfOutOfView=null;},draw:function(A){if(A==null){if((this.lonlat!=null)&&(this.map!=null)){A=this.map.getLayerPxFromLonLat(this.lonlat);}}if(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);var C=B.getPropertyValue("overflow");if(C!="hidden"){this.contentDiv._oldOverflow=C;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);if(!this.autoSize&&!this.size){this.setSize(this.contentSize);}this.setBackgroundColor();this.setOpacity();this.setBorder();this.setContentHTML();if(this.panMapIfOutOfView){this.panIntoView();}return this.div;},updatePosition:function(){if((this.lonlat)&&(this.map)){var A=this.map.getLayerPxFromLonLat(this.lonlat);if(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(){if(this.visible()){this.hide();}else{this.show();}},show:function(){OpenLayers.Element.show(this.div);if(this.panMapIfOutOfView){this.panIntoView();}},hide:function(){OpenLayers.Element.hide(this.div);},setSize:function(C){this.size=C.clone();var B=this.getContentDivPadding();var A=B.left+B.right;var E=B.top+B.bottom;this.fixPadding();A+=this.padding.left+this.padding.right;E+=this.padding.top+this.padding.bottom;if(this.closeDiv){var D=parseInt(this.closeDiv.style.width);A+=D+B.right;}this.size.w+=A;this.size.h+=E;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=C.w+"px";this.contentDiv.style.height=C.h+"px";}},updateSize:function(){var E="<div class='"+this.contentDisplayClass+"'>"+this.contentDiv.innerHTML+"</div>";var H=(this.map)?this.map.layerContainerDiv:document.body;var I=OpenLayers.Util.getRenderedDimensions(E,null,{displayClass:this.displayClass,containerElement:H});var G=this.getSafeContentSize(I);var F=null;if(G.equals(I)){F=I;}else{var B=new OpenLayers.Size();B.w=(G.w<I.w)?G.w:null;B.h=(G.h<I.h)?G.h:null;if(B.w&&B.h){F=G;}else{var D=OpenLayers.Util.getRenderedDimensions(E,B,{displayClass:this.contentDisplayClass,containerElement:H});var C=OpenLayers.Element.getStyle(this.contentDiv,"overflow");if((C!="hidden")&&(D.equals(G))){var A=OpenLayers.Util.getScrollbarWidth();if(B.w){D.h+=A;}else{D.w+=A;}}F=this.getSafeContentSize(D);}}this.setSize(F);},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(){var F=function(){this.popup.updateSize();if(this.popup.visible()&&this.popup.panMapIfOutOfView){this.popup.panIntoView();}OpenLayers.Event.stopObserving(this.img,"load",this.img._onImageLoad);};var B=this.contentDiv.getElementsByTagName("img");for(var E=0,A=B.length;E<A;E++){var C=B[E];if(C.width==0||C.height==0){var D={popup:this,img:C};C._onImgLoad=OpenLayers.Function.bind(F,D);OpenLayers.Event.observe(C,"load",C._onImgLoad);}}},getSafeContentSize:function(K){var D=K.clone();var I=this.getContentDivPadding();var J=I.left+I.right;var G=I.top+I.bottom;this.fixPadding();J+=this.padding.left+this.padding.right;G+=this.padding.top+this.padding.bottom;if(this.closeDiv){var C=parseInt(this.closeDiv.style.width);J+=C+I.right;}if(this.minSize){D.w=Math.max(D.w,(this.minSize.w-J));D.h=Math.max(D.h,(this.minSize.h-G));}if(this.maxSize){D.w=Math.min(D.w,(this.maxSize.w-J));D.h=Math.min(D.h,(this.maxSize.h-G));}if(this.map&&this.map.size){var F=0,E=0;if(this.keepInMap&&!this.panMapIfOutOfView){var H=this.map.getPixelFromLonLat(this.lonlat);switch(this.relativePosition){case"tr":F=H.x;E=this.map.size.h-H.y;break;case"tl":F=this.map.size.w-H.x;E=this.map.size.h-H.y;break;case"bl":F=this.map.size.w-H.x;E=H.y;break;case"br":F=H.x;E=H.y;break;default:F=H.x;E=this.map.size.h-H.y;break;}}var A=this.map.size.h-this.map.paddingForPopups.top-this.map.paddingForPopups.bottom-G-E;var B=this.map.size.w-this.map.paddingForPopups.left-this.map.paddingForPopups.right-J-F;D.w=Math.min(D.w,B);D.h=Math.min(D.h,A);}return D;},getContentDivPadding:function(){var A=this._contentDivPadding;if(!A){if(this.div.parentNode==null){this.div.style.display="none";document.body.appendChild(this.div);}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"));this._contentDivPadding=A;if(this.div.parentNode==document.body){document.body.removeChild(this.div);this.div.style.display="";}}return A;},addCloseBox:function(C){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);var A=C||function(D){this.hide();OpenLayers.Event.stop(D);};OpenLayers.Event.observe(this.closeDiv,"click",OpenLayers.Function.bindAsEventListener(A,this));},panIntoView:function(){var E=this.map.getSize();var D=this.map.getViewPortPxFromLayerPx(new OpenLayers.Pixel(parseInt(this.div.style.left),parseInt(this.div.style.top)));var C=D.clone();if(D.x<this.map.paddingForPopups.left){C.x=this.map.paddingForPopups.left;}else{if((D.x+this.size.w)>(E.w-this.map.paddingForPopups.right)){C.x=E.w-this.map.paddingForPopups.right-this.size.w;}}if(D.y<this.map.paddingForPopups.top){C.y=this.map.paddingForPopups.top;}else{if((D.y+this.size.h)>(E.h-this.map.paddingForPopups.bottom)){C.y=E.h-this.map.paddingForPopups.bottom-this.size.h;}}var B=D.x-C.x;var A=D.y-C.y;this.map.pan(B,A);},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){if(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(A){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.Renderer=OpenLayers.Class({container:null,root:null,extent:null,locked:false,size:null,resolution:null,map:null,initialize:function(A,B){this.container=OpenLayers.Util.getElement(A);},destroy:function(){this.container=null;this.extent=null;this.size=null;this.resolution=null;this.map=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(){this.resolution=this.resolution||this.map.getResolution();return this.resolution;},drawFeature:function(A,B){if(B==null){B=A.style;}if(A.geometry){var C=A.geometry.getBounds();if(C){if(!C.intersectsBounds(this.extent)){B={display:"none"};}var D=this.drawGeometry(A.geometry,B,A.id);if(B.display!="none"&&B.label&&D!==false){this.drawText(A.id,B,A.geometry.getCentroid());}else{this.removeText(A.id);}return D;}}},drawGeometry:function(C,A,B){},drawText:function(C,B,A){},removeText:function(A){},clear:function(){},getFeatureIdFromEvent:function(A){},eraseFeatures:function(C){if(!(C instanceof Array)){C=[C];}for(var B=0,A=C.length;B<A;++B){this.eraseGeometry(C[B].geometry);this.removeText(C[B].id);}},eraseGeometry:function(A){},moveRoot:function(A){},getRenderLayerId:function(){return this.container.id;},CLASS_NAME:"OpenLayers.Renderer"});OpenLayers.Strategy=OpenLayers.Class({layer:null,options:null,active:null,autoActivate:true,autoDestroy:true,initialize:function(A){OpenLayers.Util.extend(this,A);this.options=A;this.active=false;},destroy:function(){this.deactivate();this.layer=null;this.options=null;},setLayer:function(A){this.layer=A;},activate:function(){if(!this.active){this.active=true;return true;}return false;},deactivate:function(){if(this.active){this.active=false;return true;}return false;},CLASS_NAME:"OpenLayers.Strategy"});OpenLayers.Bounds=OpenLayers.Class({left:null,bottom:null,right:null,top:null,centerLonLat:null,initialize:function(D,A,B,C){if(D!=null){this.left=OpenLayers.Util.toFloat(D);}if(A!=null){this.bottom=OpenLayers.Util.toFloat(A);}if(B!=null){this.right=OpenLayers.Util.toFloat(B);}if(C!=null){this.top=OpenLayers.Util.toFloat(C);}},clone:function(){return new OpenLayers.Bounds(this.left,this.bottom,this.right,this.top);},equals:function(B){var A=false;if(B!=null){A=((this.left==B.left)&&(this.right==B.right)&&(this.top==B.top)&&(this.bottom==B.bottom));}return A;},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;}var B=Math.pow(10,A);var C=Math.round(this.left*B)/B+","+Math.round(this.bottom*B)/B+","+Math.round(this.right*B)/B+","+Math.round(this.top*B)/B;return C;},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(F,H){if(H==null){H=this.getCenterLonLat();}var A=[];var E,D;if(H.CLASS_NAME=="OpenLayers.LonLat"){E=H.lon;D=H.lat;}else{E=H.x;D=H.y;}var C=(this.left-E)*F+E;var B=(this.bottom-D)*F+D;var I=(this.right-E)*F+E;var G=(this.top-D)*F+D;return new OpenLayers.Bounds(C,B,I,G);},add:function(A,C){if((A==null)||(C==null)){var B=OpenLayers.i18n("boundsAddError");OpenLayers.Console.error(B);return null;}return new OpenLayers.Bounds(this.left+A,this.bottom+C,this.right+A,this.top+C);},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(B,A){return this.contains(B.lon,B.lat,A);},containsPixel:function(B,A){return this.contains(B.x,B.y,A);},contains:function(B,D,A){if(A==null){A=true;}if(B==null||D==null){return false;}B=OpenLayers.Util.toFloat(B);D=OpenLayers.Util.toFloat(D);var C=false;if(A){C=((B>=this.left)&&(B<=this.right)&&(D>=this.bottom)&&(D<=this.top));}else{C=((B>this.left)&&(B<this.right)&&(D>this.bottom)&&(D<this.top));}return C;},intersectsBounds:function(E,B){if(B==null){B=true;}var D=false;var H=(this.left==E.right||this.right==E.left||this.top==E.bottom||this.bottom==E.top);if(B||!H){var G=(((E.bottom>=this.bottom)&&(E.bottom<=this.top))||((this.bottom>=E.bottom)&&(this.bottom<=E.top)));var F=(((E.top>=this.bottom)&&(E.top<=this.top))||((this.top>E.bottom)&&(this.top<E.top)));var C=(((E.left>=this.left)&&(E.left<=this.right))||((this.left>=E.left)&&(this.left<=E.right)));var A=(((E.right>=this.left)&&(E.right<=this.right))||((this.right>=E.left)&&(this.right<=E.right)));D=((G||F)&&(C||A));}return D;},containsBounds:function(G,B,A){if(B==null){B=false;}if(A==null){A=true;}var C=this.contains(G.left,G.bottom,A);var D=this.contains(G.right,G.bottom,A);var F=this.contains(G.left,G.top,A);var E=this.contains(G.right,G.top,A);return(B)?(C||D||F||E):(C&&D&&F&&E);},determineQuadrant:function(C){var B="";var A=this.getCenterLonLat();B+=(C.lat<A.lat)?"b":"t";B+=(C.lon<A.lon)?"l":"r";return B;},transform:function(D,B){this.centerLonLat=null;var E=OpenLayers.Projection.transform({x:this.left,y:this.bottom},D,B);var A=OpenLayers.Projection.transform({x:this.right,y:this.bottom},D,B);var C=OpenLayers.Projection.transform({x:this.left,y:this.top},D,B);var F=OpenLayers.Projection.transform({x:this.right,y:this.top},D,B);this.left=Math.min(E.x,C.x);this.bottom=Math.min(E.y,A.y);this.right=Math.max(A.x,F.x);this.top=Math.max(C.y,F.y);return this;},wrapDateLine:function(A,C){C=C||{};var D=C.leftTolerance||0;var B=C.rightTolerance||0;var E=this.clone();if(A){while(E.left<A.left&&(E.right-B)<=A.left){E=E.add(A.getWidth(),0);}while((E.left+D)>=A.right&&E.right>A.right){E=E.add(-A.getWidth(),0);}}return E;},CLASS_NAME:"OpenLayers.Bounds"});OpenLayers.Bounds.fromString=function(B){var A=B.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(B,A){this.lon=OpenLayers.Util.toFloat(B);this.lat=OpenLayers.Util.toFloat(A);},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(C,A){if((C==null)||(A==null)){var B=OpenLayers.i18n("lonlatAddError");OpenLayers.Console.error(B);return null;}return new OpenLayers.LonLat(this.lon+C,this.lat+A);},equals:function(B){var A=false;if(B!=null){A=((this.lon==B.lon&&this.lat==B.lat)||(isNaN(this.lon)&&isNaN(this.lat)&&isNaN(B.lon)&&isNaN(B.lat)));}return A;},transform:function(C,B){var A=OpenLayers.Projection.transform({x:this.lon,y:this.lat},C,B);this.lon=A.x;this.lat=A.y;return this;},wrapDateLine:function(A){var B=this.clone();if(A){while(B.lon<A.left){B.lon+=A.getWidth();}while(B.lon>A.right){B.lon-=A.getWidth();}}return B;},CLASS_NAME:"OpenLayers.LonLat"});OpenLayers.LonLat.fromString=function(B){var A=B.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,C){if((A==null)||(C==null)){var B=OpenLayers.i18n("pixelAddError");OpenLayers.Console.error(B);return null;}return new OpenLayers.Pixel(this.x+A,this.y+C);},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);if(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){if(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){if(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;if(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;}if(this.handler){this.handler.activate();}this.active=true;if(this.map){OpenLayers.Element.addClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,"")+"Active");}this.events.triggerEvent("activate");return true;},deactivate:function(){if(this.active){if(this.handler){this.handler.deactivate();}this.active=false;if(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(){if(!OpenLayers.Lang.code){OpenLayers.Lang.setCode();}return OpenLayers.Lang.code;},setCode:function(B){var D;if(!B){B=(OpenLayers.Util.getBrowserName()=="msie")?navigator.userLanguage:navigator.language;}var C=B.split("-");C[0]=C[0].toLowerCase();if(typeof OpenLayers.Lang[C[0]]=="object"){D=C[0];}if(C[1]){var A=C[0]+"-"+C[1].toUpperCase();if(typeof OpenLayers.Lang[A]=="object"){D=A;}}if(!D){OpenLayers.Console.warn("Failed to find OpenLayers.Lang."+C.join("-")+" dictionary, falling back to default language");D=OpenLayers.Lang.defaultCode;}OpenLayers.Lang.code=D;},translate:function(B,A){var D=OpenLayers.Lang[OpenLayers.Lang.getCode()];var C=D[B];if(!C){C=B;}if(A){C=OpenLayers.String.format(C,A);}return C;}};OpenLayers.i18n=OpenLayers.Lang.translate;OpenLayers.Popup.Anchored=OpenLayers.Class(OpenLayers.Popup,{relativePosition:null,keepInMap:true,anchor:null,initialize:function(H,D,G,C,B,F,E){var A=[H,D,G,C,F,E];OpenLayers.Popup.prototype.initialize.apply(this,A);this.anchor=(B!=null)?B:{size:new OpenLayers.Size(0,0),offset:new OpenLayers.Pixel(0,0)};},destroy:function(){this.anchor=null;this.relativePosition=null;OpenLayers.Popup.prototype.destroy.apply(this,arguments);},show:function(){this.updatePosition();OpenLayers.Popup.prototype.show.apply(this,arguments);},moveTo:function(C){var B=this.relativePosition;this.relativePosition=this.calculateRelativePosition(C);var D=this.calculateNewPx(C);var A=new Array(D);OpenLayers.Popup.prototype.moveTo.apply(this,A);if(this.relativePosition!=B){this.updateRelativePosition();}},setSize:function(B){OpenLayers.Popup.prototype.setSize.apply(this,arguments);if((this.lonlat)&&(this.map)){var A=this.map.getLayerPxFromLonLat(this.lonlat);this.moveTo(A);}},calculateRelativePosition:function(B){var D=this.map.getLonLatFromLayerPx(B);var C=this.map.getExtent();var A=C.determineQuadrant(D);return OpenLayers.Bounds.oppositeQuadrant(A);},updateRelativePosition:function(){},calculateNewPx:function(B){var E=B.offset(this.anchor.offset);var A=this.size||this.contentSize;var D=(this.relativePosition.charAt(0)=="t");E.y+=(D)?-A.h:this.anchor.size.h;var C=(this.relativePosition.charAt(1)=="l");E.x+=(C)?-A.w:this.anchor.size.w;return E;},CLASS_NAME:"OpenLayers.Popup.Anchored"});OpenLayers.ElementsIndexer=OpenLayers.Class({maxZIndex:null,order:null,indices:null,compare:null,initialize:function(A){this.compare=A?OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER_Y_ORDER:OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER_DRAWING_ORDER;this.order=[];this.indices={};this.maxZIndex=0;},insert:function(C){if(this.exists(C)){this.remove(C);}var F=C.id;this.determineZIndex(C);var D=-1;var E=this.order.length;var A;while(E-D>1){A=parseInt((D+E)/2);var B=this.compare(this,C,OpenLayers.Util.getElement(this.order[A]));if(B>0){D=A;}else{E=A;}}this.order.splice(E,0,F);this.indices[F]=this.getZIndex(C);return this.getNextElement(E);},remove:function(B){var D=B.id;var A=OpenLayers.Util.indexOf(this.order,D);if(A>=0){this.order.splice(A,1);delete this.indices[D];if(this.order.length>0){var C=this.order[this.order.length-1];this.maxZIndex=this.indices[C];}else{this.maxZIndex=0;}}},clear:function(){this.order=[];this.indices={};this.maxZIndex=0;},exists:function(A){return(this.indices[A.id]!=null);},getZIndex:function(A){return A._style.graphicZIndex;},determineZIndex:function(A){var B=A._style.graphicZIndex;if(B==null){B=this.maxZIndex;A._style.graphicZIndex=B;}else{if(B>this.maxZIndex){this.maxZIndex=B;}}},getNextElement:function(B){var A=B+1;if(A<this.order.length){var C=OpenLayers.Util.getElement(this.order[A]);if(C==undefined){C=this.getNextElement(A);}return C;}else{return null;}},CLASS_NAME:"OpenLayers.ElementsIndexer"});OpenLayers.ElementsIndexer.IndexingMethods={Z_ORDER:function(E,D,B){var A=E.getZIndex(D);var F=0;if(B){var C=E.getZIndex(B);F=A-C;}return F;},Z_ORDER_DRAWING_ORDER:function(C,B,A){var D=OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER(C,B,A);if(A&&D==0){D=1;}return D;},Z_ORDER_Y_ORDER:function(D,C,B){var E=OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER(D,C,B);if(B&&E===0){var A=B._boundsBottom-C._boundsBottom;E=(A===0)?1:A;}return E;}};OpenLayers.Renderer.Elements=OpenLayers.Class(OpenLayers.Renderer,{rendererRoot:null,root:null,vectorRoot:null,textRoot:null,xmlns:null,indexer:null,BACKGROUND_ID_SUFFIX:"_background",LABEL_ID_SUFFIX:"_label",minimumSymbolizer:{strokeLinecap:"round",strokeOpacity:1,strokeDashstyle:"solid",fillOpacity:1,pointRadius:0},initialize:function(A,B){OpenLayers.Renderer.prototype.initialize.apply(this,arguments);this.rendererRoot=this.createRenderRoot();this.root=this.createRoot("_root");this.vectorRoot=this.createRoot("_vroot");this.textRoot=this.createRoot("_troot");this.root.appendChild(this.vectorRoot);this.root.appendChild(this.textRoot);this.rendererRoot.appendChild(this.root);this.container.appendChild(this.rendererRoot);if(B&&(B.zIndexing||B.yOrdering)){this.indexer=new OpenLayers.ElementsIndexer(B.yOrdering);}},destroy:function(){this.clear();this.rendererRoot=null;this.root=null;this.xmlns=null;OpenLayers.Renderer.prototype.destroy.apply(this,arguments);},clear:function(){if(this.vectorRoot){while(this.vectorRoot.childNodes.length>0){this.vectorRoot.removeChild(this.vectorRoot.firstChild);}}if(this.textRoot){while(this.textRoot.childNodes.length>0){this.textRoot.removeChild(this.textRoot.firstChild);}}if(this.indexer){this.indexer.clear();}},getNodeType:function(B,A){},drawGeometry:function(G,D,F){var C=G.CLASS_NAME;var H=true;if((C=="OpenLayers.Geometry.Collection")||(C=="OpenLayers.Geometry.MultiPoint")||(C=="OpenLayers.Geometry.MultiLineString")||(C=="OpenLayers.Geometry.MultiPolygon")){for(var B=0,A=G.components.length;B<A;B++){H=this.drawGeometry(G.components[B],D,F)&&H;}return H;}H=false;if(D.display!="none"){if(D.backgroundGraphic){this.redrawBackgroundNode(G.id,G,D,F);}H=this.redrawNode(G.id,G,D,F);}if(H==false){var E=document.getElementById(G.id);if(E){if(E._style.backgroundGraphic){E.parentNode.removeChild(document.getElementById(G.id+this.BACKGROUND_ID_SUFFIX));}E.parentNode.removeChild(E);}}return H;},redrawNode:function(G,F,B,E){var C=this.nodeFactory(G,this.getNodeType(F,B));C._featureId=E;C._boundsBottom=F.getBounds().bottom;C._geometryClass=F.CLASS_NAME;C._style=B;var A=this.drawGeometryNode(C,F,B);if(A===false){return false;}C=A.node;if(this.indexer){var D=this.indexer.insert(C);if(D){this.vectorRoot.insertBefore(C,D);}else{this.vectorRoot.appendChild(C);}}else{if(C.parentNode!==this.vectorRoot){this.vectorRoot.appendChild(C);}}this.postDraw(C);return A.complete;},redrawBackgroundNode:function(E,D,B,C){var A=OpenLayers.Util.extend({},B);A.externalGraphic=A.backgroundGraphic;A.graphicXOffset=A.backgroundXOffset;A.graphicYOffset=A.backgroundYOffset;A.graphicZIndex=A.backgroundGraphicZIndex;A.graphicWidth=A.backgroundWidth||A.graphicWidth;A.graphicHeight=A.backgroundHeight||A.graphicHeight;A.backgroundGraphic=null;A.backgroundXOffset=null;A.backgroundYOffset=null;A.backgroundGraphicZIndex=null;return this.redrawNode(E+this.BACKGROUND_ID_SUFFIX,D,A,null);},drawGeometryNode:function(C,E,B){B=B||C._style;OpenLayers.Util.applyDefaults(B,this.minimumSymbolizer);var A={isFilled:B.fill===undefined?true:B.fill,isStroked:B.stroke===undefined?!!B.strokeWidth:B.stroke};var D;switch(E.CLASS_NAME){case"OpenLayers.Geometry.Point":if(B.graphic===false){A.isFilled=false;A.isStroked=false;}D=this.drawPoint(C,E);break;case"OpenLayers.Geometry.LineString":A.isFilled=false;D=this.drawLineString(C,E);break;case"OpenLayers.Geometry.LinearRing":D=this.drawLinearRing(C,E);break;case"OpenLayers.Geometry.Polygon":D=this.drawPolygon(C,E);break;case"OpenLayers.Geometry.Surface":D=this.drawSurface(C,E);break;case"OpenLayers.Geometry.Rectangle":D=this.drawRectangle(C,E);break;default:break;}C._options=A;if(D!=false){return{node:this.setStyle(C,B,A,E),complete:D};}else{return false;}},postDraw:function(A){},drawPoint:function(A,B){},drawLineString:function(A,B){},drawLinearRing:function(A,B){},drawPolygon:function(A,B){},drawRectangle:function(A,B){},drawCircle:function(A,B){},drawSurface:function(A,B){},removeText:function(B){var A=document.getElementById(B+this.LABEL_ID_SUFFIX);if(A){this.textRoot.removeChild(A);}},getFeatureIdFromEvent:function(A){var D=A.target;var B=D&&D.correspondingUseElement;var C=B?B:(D||A.srcElement);var E=C._featureId;return E;},eraseGeometry:function(F){if((F.CLASS_NAME=="OpenLayers.Geometry.MultiPoint")||(F.CLASS_NAME=="OpenLayers.Geometry.MultiLineString")||(F.CLASS_NAME=="OpenLayers.Geometry.MultiPolygon")||(F.CLASS_NAME=="OpenLayers.Geometry.Collection")){for(var D=0,A=F.components.length;D<A;D++){this.eraseGeometry(F.components[D]);}}else{var C=OpenLayers.Util.getElement(F.id);if(C&&C.parentNode){if(C.geometry){C.geometry.destroy();C.geometry=null;}C.parentNode.removeChild(C);if(this.indexer){this.indexer.remove(C);}if(C._style.backgroundGraphic){var B=F.id+this.BACKGROUND_ID_SUFFIX;var E=OpenLayers.Util.getElement(B);if(E&&E.parentNode){E.parentNode.removeChild(E);}}}}},nodeFactory:function(C,A){var B=OpenLayers.Util.getElement(C);if(B){if(!this.nodeTypeCompare(B,A)){B.parentNode.removeChild(B);B=this.nodeFactory(C,A);}}else{B=this.createNode(A,C);}return B;},nodeTypeCompare:function(B,A){},createNode:function(A,B){},moveRoot:function(B){var A=this.root;if(B.root.parentNode==this.rendererRoot){A=B.root;}A.parentNode.removeChild(A);B.rendererRoot.appendChild(A);},getRenderLayerId:function(){return this.root.parentNode.parentNode.id;},isComplexSymbol:function(A){return(A!="circle")&&!!A;},CLASS_NAME:"OpenLayers.Renderer.Elements"});OpenLayers.Renderer.symbol={star:[350,75,379,161,469,161,397,215,423,301,350,250,277,301,303,215,231,161,321,161,350,75],cross:[4,0,6,0,6,4,10,4,10,6,6,6,6,10,4,10,4,6,0,6,0,4,4,4,4,0],x:[0,0,25,0,50,35,75,0,100,0,65,50,100,100,75,100,50,65,25,100,0,100,35,50,0,0],square:[0,0,0,1,1,1,1,0,0,0],triangle:[0,10,10,10,5,0,0,10]};OpenLayers.Strategy.Fixed=OpenLayers.Class(OpenLayers.Strategy,{preload:false,initialize:function(A){OpenLayers.Strategy.prototype.initialize.apply(this,[A]);},destroy:function(){OpenLayers.Strategy.prototype.destroy.apply(this,arguments);},activate:function(){if(OpenLayers.Strategy.prototype.activate.apply(this,arguments)){this.layer.events.on({refresh:this.load,scope:this});if(this.layer.visibility==true||this.preload){this.load();}else{this.layer.events.on({visibilitychanged:this.load,scope:this});}return true;}return false;},deactivate:function(){var A=OpenLayers.Strategy.prototype.deactivate.call(this);if(A){this.layer.events.un({refresh:this.load,visibilitychanged:this.load,scope:this});}return A;},load:function(A){this.layer.events.triggerEvent("loadstart");this.layer.protocol.read(OpenLayers.Util.applyDefaults({callback:this.merge,scope:this},A));this.layer.events.un({visibilitychanged:this.load,scope:this});},merge:function(G){this.layer.destroyFeatures();var E=G.features;if(E&&E.length>0){var F=this.layer.projection;var D=this.layer.map.getProjectionObject();if(!D.equals(F)){var C;for(var B=0,A=E.length;B<A;++B){C=E[B].geometry;if(C){C.transform(F,D);}}}this.layer.addFeatures(E);}this.layer.events.triggerEvent("loadend");},CLASS_NAME:"OpenLayers.Strategy.Fixed"});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(C,B,D,A){this.playing=true;this.begin=C;this.finish=B;this.duration=D;this.callbacks=A.callbacks;this.time=0;if(this.interval){window.clearInterval(this.interval);this.interval=null;}if(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){return ;}if(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 D={};for(var B in this.begin){var A=this.begin[B];var C=this.finish[B];if(A==null||C==null||isNaN(A)||isNaN(C)){OpenLayers.Console.error("invalid value for Tween");}var E=C-A;D[B]=this.easing.apply(this,[this.time,A,E,this.duration]);}this.time++;if(this.callbacks&&this.callbacks.eachStep){this.callbacks.eachStep.call(this,D);}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(B,A,D,C){return D*B/C+A;},easeOut:function(B,A,D,C){return D*B/C+A;},easeInOut:function(B,A,D,C){return D*B/C+A;},CLASS_NAME:"OpenLayers.Easing.Linear"};OpenLayers.Easing.Expo={easeIn:function(B,A,D,C){return(B==0)?A:D*Math.pow(2,10*(B/C-1))+A;},easeOut:function(B,A,D,C){return(B==C)?A+D:D*(-Math.pow(2,-10*B/C)+1)+A;},easeInOut:function(B,A,D,C){if(B==0){return A;}if(B==C){return A+D;}if((B/=C/2)<1){return D/2*Math.pow(2,10*(B-1))+A;}return D/2*(-Math.pow(2,-10*--B)+2)+A;},CLASS_NAME:"OpenLayers.Easing.Expo"};OpenLayers.Easing.Quad={easeIn:function(B,A,D,C){return D*(B/=C)*B+A;},easeOut:function(B,A,D,C){return -D*(B/=C)*(B-2)+A;},easeInOut:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B+A;}return -D/2*((--B)*(B-2)-1)+A;},CLASS_NAME:"OpenLayers.Easing.Quad"};OpenLayers.Control.ArgParser=OpenLayers.Class(OpenLayers.Control,{center:null,zoom:null,layers:null,displayProjection:null,initialize:function(A){OpenLayers.Control.prototype.initialize.apply(this,arguments);},setMap:function(E){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var C=0,A=this.map.controls.length;C<A;C++){var D=this.map.controls[C];if((D!=this)&&(D.CLASS_NAME=="OpenLayers.Control.ArgParser")){if(D.displayProjection!=this.displayProjection){this.displayProjection=D.displayProjection;}break;}}if(C==this.map.controls.length){var B=OpenLayers.Util.getParameters();if(B.layers){this.layers=B.layers;this.map.events.register("addlayer",this,this.configureLayers);this.configureLayers();}if(B.lat&&B.lon){this.center=new OpenLayers.LonLat(parseFloat(B.lon),parseFloat(B.lat));if(B.zoom){this.zoom=parseInt(B.zoom);}this.map.events.register("changebaselayer",this,this.setCenter);this.setCenter();}}},setCenter:function(){if(this.map.baseLayer){this.map.events.unregister("changebaselayer",this,this.setCenter);if(this.displayProjection){this.center.transform(this.displayProjection,this.map.getProjectionObject());}this.map.setCenter(this.center,this.zoom);}},configureLayers:function(){if(this.layers.length==this.map.layers.length){this.map.events.unregister("addlayer",this,this.configureLayers);for(var C=0,A=this.layers.length;C<A;C++){var B=this.map.layers[C];var D=this.layers.charAt(C);if(D=="B"){this.map.setBaseLayer(B);}else{if((D=="T")||(D=="F")){B.setVisibility(D=="T");}}}}},CLASS_NAME:"OpenLayers.Control.ArgParser"});OpenLayers.Control.Attribution=OpenLayers.Class(OpenLayers.Control,{separator:", ",initialize:function(A){OpenLayers.Control.prototype.initialize.apply(this,arguments);},destroy:function(){this.map.events.un({removelayer:this.updateAttribution,addlayer:this.updateAttribution,changelayer:this.updateAttribution,changebaselayer:this.updateAttribution,scope:this});OpenLayers.Control.prototype.destroy.apply(this,arguments);},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.map.events.on({changebaselayer:this.updateAttribution,changelayer:this.updateAttribution,addlayer:this.updateAttribution,removelayer:this.updateAttribution,scope:this});this.updateAttribution();return this.div;},updateAttribution:function(){var D=[];if(this.map&&this.map.layers){for(var C=0,A=this.map.layers.length;C<A;C++){var B=this.map.layers[C];if(B.attribution&&B.getVisibility()){if(OpenLayers.Util.indexOf(D,B.attribution)===-1){D.push(B.attribution);}}}this.div.innerHTML=D.join(this.separator);}},CLASS_NAME:"OpenLayers.Control.Attribution"});OpenLayers.Control.Button=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_BUTTON,trigger:function(){},CLASS_NAME:"OpenLayers.Control.Button"});OpenLayers.Control.LayerSwitcher=OpenLayers.Class(OpenLayers.Control,{activeColor:"#2d4a5f",layerStates:null,layersDiv:null,baseLayersDiv:null,baseLayers:null,dataLbl:null,dataLayersDiv:null,dataLayers:null,minimizeDiv:null,maximizeDiv:null,ascending:true,initialize:function(A){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(A){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();if(!this.outsideViewport){this.minimizeControl();}this.redraw();return this.div;},clearLayersArray:function(D){var E=this[D+"Layers"];if(E){for(var C=0,A=E.length;C<A;C++){var B=E[C];OpenLayers.Event.stopObservingElement(B.inputElem);OpenLayers.Event.stopObservingElement(B.labelSpan);}}this[D+"LayersDiv"].innerHTML="";this[D+"Layers"]=[];},checkRedraw:function(){var E=false;if(!this.layerStates.length||(this.map.layers.length!=this.layerStates.length)){E=true;}else{for(var C=0,A=this.layerStates.length;C<A;C++){var D=this.layerStates[C];var B=this.map.layers[C];if((D.name!=B.name)||(D.inRange!=B.inRange)||(D.id!=B.id)||(D.visibility!=B.visibility)){E=true;break;}}}return E;},redraw:function(){if(!this.checkRedraw()){return this.div;}this.clearLayersArray("base");this.clearLayersArray("data");var D=false;var L=false;var H=this.map.layers.length;this.layerStates=new Array(H);for(var F=0;F<H;F++){var G=this.map.layers[F];this.layerStates[F]={name:G.name,visibility:G.visibility,inRange:G.inRange,id:G.id};}var E=this.map.layers.slice();if(!this.ascending){E.reverse();}for(var F=0,H=E.length;F<H;F++){var G=E[F];var I=G.isBaseLayer;if(G.displayInLayerSwitcher){if(I){L=true;}else{D=true;}var K=(I)?(G==this.map.baseLayer):G.getVisibility();var J=document.createElement("input");J.id=this.id+"_input_"+G.name;J.name=(I)?"baseLayers":G.name;J.type=(I)?"radio":"checkbox";J.value=G.name;J.checked=K;J.defaultChecked=K;if(!I&&!G.inRange){J.disabled=true;}var A={inputElem:J,layer:G,layerSwitcher:this};OpenLayers.Event.observe(J,"mouseup",OpenLayers.Function.bindAsEventListener(this.onInputClick,A));var B=document.createElement("span");if(!I&&!G.inRange){B.style.color="gray";}B.innerHTML=G.name;B.style.verticalAlign=(I)?"bottom":"baseline";OpenLayers.Event.observe(B,"click",OpenLayers.Function.bindAsEventListener(this.onInputClick,A));var N=document.createElement("br");var M=(I)?this.baseLayers:this.dataLayers;M.push({layer:G,inputElem:J,labelSpan:B});var C=(I)?this.baseLayersDiv:this.dataLayersDiv;C.appendChild(J);C.appendChild(B);C.appendChild(N);}}this.dataLbl.style.display=(D)?"":"none";this.baseLbl.style.display=(L)?"":"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(A){this.updateMap();},updateMap:function(){for(var B=0,A=this.baseLayers.length;B<A;B++){var C=this.baseLayers[B];if(C.inputElem.checked){this.map.setBaseLayer(C.layer,false);}}for(var B=0,A=this.dataLayers.length;B<A;B++){var C=this.dataLayers[B];C.layer.setVisibility(C.inputElem.checked);}},maximizeControl:function(A){this.div.style.width="20em";this.div.style.height="";this.showControls(false);if(A!=null){OpenLayers.Event.stop(A);}},minimizeControl:function(A){this.div.style.width="0px";this.div.style.height="0px";this.showControls(true);if(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 C=OpenLayers.Util.getImagesLocation();var B=new OpenLayers.Size(18,18);var A=C+"layer-switcher-maximize.png";this.maximizeDiv=OpenLayers.Util.createAlphaImageDiv("OpenLayers_Control_MaximizeDiv",null,B,A,"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);var A=C+"layer-switcher-minimize.png";var B=new OpenLayers.Size(18,18);this.minimizeDiv=OpenLayers.Util.createAlphaImageDiv("OpenLayers_Control_MinimizeDiv",null,B,A,"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.MouseDefaults=OpenLayers.Class(OpenLayers.Control,{performedDrag:false,wheelObserver:null,initialize:function(){OpenLayers.Control.prototype.initialize.apply(this,arguments);},destroy:function(){if(this.handler){this.handler.destroy();}this.handler=null;this.map.events.un({click:this.defaultClick,dblclick:this.defaultDblClick,mousedown:this.defaultMouseDown,mouseup:this.defaultMouseUp,mousemove:this.defaultMouseMove,mouseout:this.defaultMouseOut,scope:this});OpenLayers.Event.stopObserving(window,"DOMMouseScroll",this.wheelObserver);OpenLayers.Event.stopObserving(window,"mousewheel",this.wheelObserver);OpenLayers.Event.stopObserving(document,"mousewheel",this.wheelObserver);this.wheelObserver=null;OpenLayers.Control.prototype.destroy.apply(this,arguments);},draw:function(){this.map.events.on({click:this.defaultClick,dblclick:this.defaultDblClick,mousedown:this.defaultMouseDown,mouseup:this.defaultMouseUp,mousemove:this.defaultMouseMove,mouseout:this.defaultMouseOut,scope:this});this.registerWheelEvents();},registerWheelEvents:function(){this.wheelObserver=OpenLayers.Function.bindAsEventListener(this.onWheelEvent,this);OpenLayers.Event.observe(window,"DOMMouseScroll",this.wheelObserver);OpenLayers.Event.observe(window,"mousewheel",this.wheelObserver);OpenLayers.Event.observe(document,"mousewheel",this.wheelObserver);},defaultClick:function(B){if(!OpenLayers.Event.isLeftClick(B)){return ;}var A=!this.performedDrag;this.performedDrag=false;return A;},defaultDblClick:function(B){var A=this.map.getLonLatFromViewPortPx(B.xy);this.map.setCenter(A,this.map.zoom+1);OpenLayers.Event.stop(B);return false;},defaultMouseDown:function(A){if(!OpenLayers.Event.isLeftClick(A)){return ;}this.mouseDragStart=A.xy.clone();this.performedDrag=false;if(A.shiftKey){this.map.div.style.cursor="crosshair";this.zoomBox=OpenLayers.Util.createDiv("zoomBox",this.mouseDragStart,null,null,"absolute","2px solid red");this.zoomBox.style.backgroundColor="white";this.zoomBox.style.filter="alpha(opacity=50)";this.zoomBox.style.opacity="0.50";this.zoomBox.style.fontSize="1px";this.zoomBox.style.zIndex=this.map.Z_INDEX_BASE.Popup-1;this.map.viewPortDiv.appendChild(this.zoomBox);}document.onselectstart=function(){return false;};OpenLayers.Event.stop(A);},defaultMouseMove:function(E){this.mousePosition=E.xy.clone();if(this.mouseDragStart!=null){if(this.zoomBox){var D=Math.abs(this.mouseDragStart.x-E.xy.x);var B=Math.abs(this.mouseDragStart.y-E.xy.y);this.zoomBox.style.width=Math.max(1,D)+"px";this.zoomBox.style.height=Math.max(1,B)+"px";if(E.xy.x<this.mouseDragStart.x){this.zoomBox.style.left=E.xy.x+"px";}if(E.xy.y<this.mouseDragStart.y){this.zoomBox.style.top=E.xy.y+"px";}}else{var D=this.mouseDragStart.x-E.xy.x;var B=this.mouseDragStart.y-E.xy.y;var F=this.map.getSize();var A=new OpenLayers.Pixel(F.w/2+D,F.h/2+B);var C=this.map.getLonLatFromViewPortPx(A);this.map.setCenter(C,null,true);this.mouseDragStart=E.xy.clone();this.map.div.style.cursor="move";}this.performedDrag=true;}},defaultMouseUp:function(A){if(!OpenLayers.Event.isLeftClick(A)){return ;}if(this.zoomBox){this.zoomBoxEnd(A);}else{if(this.performedDrag){this.map.setCenter(this.map.center);}}document.onselectstart=null;this.mouseDragStart=null;this.map.div.style.cursor="";},defaultMouseOut:function(A){if(this.mouseDragStart!=null&&OpenLayers.Util.mouseLeft(A,this.map.div)){if(this.zoomBox){this.removeZoomBox();}this.mouseDragStart=null;}},defaultWheelUp:function(A){if(this.map.getZoom()<=this.map.getNumZoomLevels()){this.map.setCenter(this.map.getLonLatFromPixel(A.xy),this.map.getZoom()+1);}},defaultWheelDown:function(A){if(this.map.getZoom()>0){this.map.setCenter(this.map.getLonLatFromPixel(A.xy),this.map.getZoom()-1);}},zoomBoxEnd:function(B){if(this.mouseDragStart!=null){if(Math.abs(this.mouseDragStart.x-B.xy.x)>5||Math.abs(this.mouseDragStart.y-B.xy.y)>5){var H=this.map.getLonLatFromViewPortPx(this.mouseDragStart);var A=this.map.getLonLatFromViewPortPx(B.xy);var G=Math.max(H.lat,A.lat);var C=Math.min(H.lat,A.lat);var F=Math.min(H.lon,A.lon);var D=Math.max(H.lon,A.lon);var E=new OpenLayers.Bounds(F,C,D,G);this.map.zoomToExtent(E);}else{var A=this.map.getLonLatFromViewPortPx(B.xy);this.map.setCenter(new OpenLayers.LonLat((A.lon),(A.lat)),this.map.getZoom()+1);}this.removeZoomBox();}},removeZoomBox:function(){this.map.viewPortDiv.removeChild(this.zoomBox);this.zoomBox=null;},onWheelEvent:function(C){var B=false;var A=OpenLayers.Event.element(C);while(A!=null){if(this.map&&A==this.map.div){B=true;break;}A=A.parentNode;}if(B){var D=0;if(!C){C=window.event;}if(C.wheelDelta){D=C.wheelDelta/120;if(window.opera&&window.opera.version()<9.2){D=-D;}}else{if(C.detail){D=-C.detail/3;}}if(D){C.xy=this.mousePosition;if(D<0){this.defaultWheelDown(C);}else{this.defaultWheelUp(C);}}OpenLayers.Event.stop(C);}},CLASS_NAME:"OpenLayers.Control.MouseDefaults"});OpenLayers.Control.MousePosition=OpenLayers.Class(OpenLayers.Control,{element:null,prefix:"",separator:", ",suffix:"",numDigits:5,granularity:10,lastXy:null,displayProjection:null,initialize:function(A){OpenLayers.Control.prototype.initialize.apply(this,arguments);},destroy:function(){if(this.map){this.map.events.unregister("mousemove",this,this.redraw);}OpenLayers.Control.prototype.destroy.apply(this,arguments);},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);if(!this.element){this.div.left="";this.div.top="";this.element=this.div;}this.redraw();return this.div;},redraw:function(A){var C;if(A==null){C=new OpenLayers.LonLat(0,0);}else{if(this.lastXy==null||Math.abs(A.xy.x-this.lastXy.x)>this.granularity||Math.abs(A.xy.y-this.lastXy.y)>this.granularity){this.lastXy=A.xy;return ;}C=this.map.getLonLatFromPixel(A.xy);if(!C){return ;}if(this.displayProjection){C.transform(this.map.getProjectionObject(),this.displayProjection);}this.lastXy=A.xy;}var B=this.formatOutput(C);if(B!=this.element.innerHTML){this.element.innerHTML=B;}},formatOutput:function(B){var C=parseInt(this.numDigits);var A=this.prefix+B.lon.toFixed(C)+this.separator+B.lat.toFixed(C)+this.suffix;return A;},setMap:function(){OpenLayers.Control.prototype.setMap.apply(this,arguments);this.map.events.register("mousemove",this,this.redraw);},CLASS_NAME:"OpenLayers.Control.MousePosition"});OpenLayers.Control.PanZoom=OpenLayers.Class(OpenLayers.Control,{slideFactor:50,slideRatio:null,buttons:null,position:null,initialize:function(A){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.buttons=null;this.position=null;},draw:function(B){OpenLayers.Control.prototype.draw.apply(this,arguments);B=this.position;this.buttons=[];var C=new OpenLayers.Size(18,18);var A=new OpenLayers.Pixel(B.x+C.w/2,B.y);this._addButton("panup","north-mini.png",A,C);B.y=A.y+C.h;this._addButton("panleft","west-mini.png",B,C);this._addButton("panright","east-mini.png",B.add(C.w,0),C);this._addButton("pandown","south-mini.png",A.add(0,C.h*2),C);this._addButton("zoomin","zoom-plus-mini.png",A.add(0,C.h*3+5),C);this._addButton("zoomworld","zoom-world-mini.png",A.add(0,C.h*4+5),C);this._addButton("zoomout","zoom-minus-mini.png",A.add(0,C.h*5+5),C);return this.div;},_addButton:function(A,D,I,G){var F=OpenLayers.Util.getImagesLocation()+D;var B=OpenLayers.Util.createAlphaImageDiv(this.id+"_"+A,I,G,F,"absolute");this.div.appendChild(B);OpenLayers.Event.observe(B,"mousedown",OpenLayers.Function.bindAsEventListener(this.buttonDown,B));OpenLayers.Event.observe(B,"dblclick",OpenLayers.Function.bindAsEventListener(this.doubleClick,B));OpenLayers.Event.observe(B,"click",OpenLayers.Function.bindAsEventListener(this.doubleClick,B));B.action=A;B.map=this.map;if(!this.slideRatio){var C=this.slideFactor;var E=function(){return C;};}else{var H=this.slideRatio;var E=function(J){return this.map.getSize()[J]*H;};}B.getSlideFactor=E;this.buttons.push(B);return B;},_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)){return ;}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.Panel=OpenLayers.Class(OpenLayers.Control,{controls:null,autoActivate:true,defaultControl:null,initialize:function(A){OpenLayers.Control.prototype.initialize.apply(this,[A]);this.controls=[];},destroy:function(){OpenLayers.Control.prototype.destroy.apply(this,arguments);for(var A=this.controls.length-1;A>=0;A--){if(this.controls[A].events){this.controls[A].events.un({activate:this.redraw,deactivate:this.redraw,scope:this});}OpenLayers.Event.stopObservingElement(this.controls[A].panel_div);this.controls[A].panel_div=null;}},activate:function(){if(OpenLayers.Control.prototype.activate.apply(this,arguments)){for(var B=0,A=this.controls.length;B<A;B++){if(this.controls[B]==this.defaultControl){this.controls[B].activate();}}this.redraw();return true;}else{return false;}},deactivate:function(){if(OpenLayers.Control.prototype.deactivate.apply(this,arguments)){for(var B=0,A=this.controls.length;B<A;B++){this.controls[B].deactivate();}return true;}else{return false;}},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);for(var B=0,A=this.controls.length;B<A;B++){this.map.addControl(this.controls[B]);this.controls[B].deactivate();this.controls[B].events.on({activate:this.redraw,deactivate:this.redraw,scope:this});}return this.div;},redraw:function(){this.div.innerHTML="";if(this.active){for(var C=0,A=this.controls.length;C<A;C++){var B=this.controls[C].panel_div;if(this.controls[C].active){B.className=this.controls[C].displayClass+"ItemActive";}else{B.className=this.controls[C].displayClass+"ItemInactive";}this.div.appendChild(B);}}},activateControl:function(C){if(!this.active){return false;}if(C.type==OpenLayers.Control.TYPE_BUTTON){C.trigger();this.redraw();return ;}if(C.type==OpenLayers.Control.TYPE_TOGGLE){if(C.active){C.deactivate();}else{C.activate();}this.redraw();return ;}for(var B=0,A=this.controls.length;B<A;B++){if(this.controls[B]!=C){if(this.controls[B].type!=OpenLayers.Control.TYPE_TOGGLE){this.controls[B].deactivate();}}}C.activate();},addControls:function(B){if(!(B instanceof Array)){B=[B];}this.controls=this.controls.concat(B);for(var D=0,A=B.length;D<A;D++){var C=document.createElement("div");var E=document.createTextNode(" ");B[D].panel_div=C;if(B[D].title!=""){B[D].panel_div.title=B[D].title;}OpenLayers.Event.observe(B[D].panel_div,"click",OpenLayers.Function.bind(this.onClick,this,B[D]));OpenLayers.Event.observe(B[D].panel_div,"dblclick",OpenLayers.Function.bind(this.onDoubleClick,this,B[D]));OpenLayers.Event.observe(B[D].panel_div,"mousedown",OpenLayers.Function.bindAsEventListener(OpenLayers.Event.stop));}if(this.map){for(var D=0,A=B.length;D<A;D++){this.map.addControl(B[D]);B[D].deactivate();B[D].events.on({activate:this.redraw,deactivate:this.redraw,scope:this});}this.redraw();}},onClick:function(B,A){OpenLayers.Event.stop(A?A:window.event);this.activateControl(B);},onDoubleClick:function(B,A){OpenLayers.Event.stop(A?A:window.event);},getControlsBy:function(C,A){var D=(typeof A.test=="function");var B=OpenLayers.Array.filter(this.controls,function(E){return E[C]==A||(D&&A.test(E[C]));});return B;},getControlsByName:function(A){return this.getControlsBy("name",A);},getControlsByClass:function(A){return this.getControlsBy("CLASS_NAME",A);},CLASS_NAME:"OpenLayers.Control.Panel"});OpenLayers.Control.Scale=OpenLayers.Class(OpenLayers.Control,{element:null,initialize:function(B,A){OpenLayers.Control.prototype.initialize.apply(this,[A]);this.element=OpenLayers.Util.getElement(B);},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);if(!this.element){this.element=document.createElement("div");this.div.appendChild(this.element);}this.map.events.register("moveend",this,this.updateScale);this.updateScale();return this.div;},updateScale:function(){var A=this.map.getScale();if(!A){return ;}if(A>=9500&&A<=950000){A=Math.round(A/1000)+"K";}else{if(A>=950000){A=Math.round(A/1000000)+"M";}else{A=Math.round(A);}}this.element.innerHTML=OpenLayers.i18n("scale",{scaleDenom:A});},CLASS_NAME:"OpenLayers.Control.Scale"});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";var A=this.topInUnits.length;this.div.appendChild(this.eTop);if((this.topOutUnits=="")||(this.topInUnits=="")){this.eTop.style.visibility="hidden";}else{this.eTop.style.visibility="visible";}this.eBottom=document.createElement("div");this.eBottom.className=this.displayClass+"Bottom";this.div.appendChild(this.eBottom);if((this.bottomOutUnits=="")||(this.bottomInUnits=="")){this.eBottom.style.visibility="hidden";}else{this.eBottom.style.visibility="visible";}}this.map.events.register("moveend",this,this.update);this.update();return this.div;},getBarLen:function(B){var D=parseInt(Math.log(B)/Math.log(10));var A=Math.pow(10,D);var C=parseInt(B/A);var E;if(C>5){E=5;}else{if(C>2){E=2;}else{E=1;}}return E*A;},update:function(){var H=this.map.getResolution();if(!H){return ;}var L=this.map.getUnits();var C=OpenLayers.INCHES_PER_UNIT;var I=this.maxWidth*H*C[L];var A;var D;if(I>100000){A=this.topOutUnits;D=this.bottomOutUnits;}else{A=this.topInUnits;D=this.bottomInUnits;}var F=I/C[A];var J=I/C[D];var G=this.getBarLen(F);var E=this.getBarLen(J);F=G/C[L]*C[A];J=E/C[L]*C[D];var B=F/H;var K=J/H;if(this.eBottom.style.visibility=="visible"){this.eBottom.style.width=Math.round(K)+"px";this.eBottom.innerHTML=E+" "+D;}if(this.eTop.style.visibility=="visible"){this.eTop.style.width=Math.round(B)+"px";this.eTop.innerHTML=G+" "+A;}},CLASS_NAME:"OpenLayers.Control.ScaleLine"});OpenLayers.Control.ZoomToMaxExtent=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_BUTTON,trigger:function(){if(this.map){this.map.zoomToMaxExtent();}},CLASS_NAME:"OpenLayers.Control.ZoomToMaxExtent"});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(B,A){if(!A){if(B.preventDefault){B.preventDefault();}else{B.returnValue=false;}}if(B.stopPropagation){B.stopPropagation();}else{B.cancelBubble=true;}},findElement:function(C,B){var A=OpenLayers.Event.element(C);while(A.parentNode&&(!A.tagName||(A.tagName.toUpperCase()!=B.toUpperCase()))){A=A.parentNode;}return A;},observe:function(B,D,C,A){var E=OpenLayers.Util.getElement(B);A=A||false;if(D=="keypress"&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||E.attachEvent)){D="keydown";}if(!this.observers){this.observers={};}if(!E._eventCacheID){var F="eventCacheID_";if(E.id){F=E.id+"_"+F;}E._eventCacheID=OpenLayers.Util.createUniqueID(F);}var G=E._eventCacheID;if(!this.observers[G]){this.observers[G]=[];}this.observers[G].push({element:E,name:D,observer:C,useCapture:A});if(E.addEventListener){E.addEventListener(D,C,A);}else{if(E.attachEvent){E.attachEvent("on"+D,C);}}},stopObservingElement:function(A){var B=OpenLayers.Util.getElement(A);var C=B._eventCacheID;this._removeElementObservers(OpenLayers.Event.observers[C]);},_removeElementObservers:function(E){if(E){for(var B=E.length-1;B>=0;B--){var C=E[B];var A=new Array(C.element,C.name,C.observer,C.useCapture);var D=OpenLayers.Event.stopObserving.apply(this,A);}}},stopObserving:function(H,A,G,B){B=B||false;var F=OpenLayers.Util.getElement(H);var D=F._eventCacheID;if(A=="keypress"){if(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||F.detachEvent){A="keydown";}}var J=false;var C=OpenLayers.Event.observers[D];if(C){var E=0;while(!J&&E<C.length){var I=C[E];if((I.name==A)&&(I.observer==G)&&(I.useCapture==B)){C.splice(E,1);if(C.length==0){delete OpenLayers.Event.observers[D];}J=true;break;}E++;}}if(J){if(F.removeEventListener){F.removeEventListener(A,G,B);}else{if(F&&F.detachEvent){F.detachEvent("on"+A,G);}}}return J;},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(C,E,G,F,B){OpenLayers.Util.extend(this,B);this.object=C;this.fallThrough=F;this.listeners={};this.eventHandler=OpenLayers.Function.bindAsEventListener(this.handleBrowserEvent,this);this.clearMouseListener=OpenLayers.Function.bind(this.clearMouseCache,this);this.eventTypes=[];if(G!=null){for(var D=0,A=G.length;D<A;D++){this.addEventType(G[D]);}}if(E!=null){this.attachToElement(E);}},destroy:function(){if(this.element){OpenLayers.Event.stopObservingElement(this.element);if(this.element.hasScrollEvent){OpenLayers.Event.stopObserving(window,"scroll",this.clearMouseListener);}}this.element=null;this.listeners=null;this.object=null;this.eventTypes=null;this.fallThrough=null;this.eventHandler=null;},addEventType:function(A){if(!this.listeners[A]){this.eventTypes.push(A);this.listeners[A]=[];}},attachToElement:function(D){if(this.element){OpenLayers.Event.stopObservingElement(this.element);}this.element=D;for(var C=0,A=this.BROWSER_EVENTS.length;C<A;C++){var B=this.BROWSER_EVENTS[C];this.addEventType(B);OpenLayers.Event.observe(D,B,this.eventHandler);}OpenLayers.Event.observe(D,"dragstart",OpenLayers.Event.stop);},on:function(A){for(var B in A){if(B!="scope"){this.register(B,A.scope,A[B]);}}},register:function(B,D,C){if((C!=null)&&(OpenLayers.Util.indexOf(this.eventTypes,B)!=-1)){if(D==null){D=this.object;}var A=this.listeners[B];A.push({obj:D,func:C});}},registerPriority:function(B,D,C){if(C!=null){if(D==null){D=this.object;}var A=this.listeners[B];if(A!=null){A.unshift({obj:D,func:C});}}},un:function(A){for(var B in A){if(B!="scope"){this.unregister(B,A.scope,A[B]);}}},unregister:function(D,F,E){if(F==null){F=this.object;}var C=this.listeners[D];if(C!=null){for(var B=0,A=C.length;B<A;B++){if(C[B].obj==F&&C[B].func==E){C.splice(B,1);break;}}}},remove:function(A){if(this.listeners[A]!=null){this.listeners[A]=[];}},triggerEvent:function(E,B){var D=this.listeners[E];if(!D||D.length==0){return ;}if(B==null){B={};}B.object=this.object;B.element=this.element;if(!B.type){B.type=E;}var D=D.slice(),F;for(var C=0,A=D.length;C<A;C++){var G=D[C];F=G.func.apply(G.obj,[B]);if((F!=undefined)&&(F==false)){break;}}if(!this.fallThrough){OpenLayers.Event.stop(B,true);}return F;},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){this.clearMouseCache();}else{if(!this.element.hasScrollEvent){OpenLayers.Event.observe(window,"scroll",this.clearMouseListener);this.element.hasScrollEvent=true;}}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(A){OpenLayers.Console.userError(OpenLayers.i18n("readNotImplemented"));},write:function(A){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.Popup.AnchoredBubble=OpenLayers.Class(OpenLayers.Popup.Anchored,{rounded:false,initialize:function(G,C,F,B,A,E,D){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(A){OpenLayers.Popup.Anchored.prototype.draw.apply(this,arguments);this.setContentHTML();this.setBackgroundColor();this.setOpacity();return this.div;},updateRelativePosition:function(){this.setRicoCorners();},setSize:function(A){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);if(this.div!=null){if(this.groupDiv!=null){OpenLayers.Rico.Corner.changeOpacity(this.groupDiv,this.opacity);}}},setBorder:function(A){this.border=0;},setRicoCorners:function(){var A=this.getCornersToRound(this.relativePosition);var B={corners:A,color:this.backgroundColor,bgColor:"transparent",blend:false};if(!this.rounded){OpenLayers.Rico.Corner.round(this.div,B);this.rounded=true;}else{OpenLayers.Rico.Corner.reRound(this.groupDiv,B);this.setBackgroundColor();this.setOpacity();}},getCornersToRound:function(){var A=["tl","tr","bl","br"];var 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.Popup.Framed=OpenLayers.Class(OpenLayers.Popup.Anchored,{imageSrc:null,imageSize:null,isAlphaImage:false,positionBlocks:null,blocks:null,fixedRelativePosition:false,initialize:function(G,C,F,B,A,E,D){OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments);if(this.fixedRelativePosition){this.updateRelativePosition();this.calculateRelativePosition=function(H){return this.relativePosition;};}this.contentDiv.style.position="absolute";this.contentDiv.style.zIndex=1;if(E){this.closeDiv.style.zIndex=1;}this.groupDiv.style.position="absolute";this.groupDiv.style.top="0px";this.groupDiv.style.left="0px";this.groupDiv.style.height="100%";this.groupDiv.style.width="100%";},destroy:function(){this.imageSrc=null;this.imageSize=null;this.isAlphaImage=null;this.fixedRelativePosition=false;this.positionBlocks=null;for(var A=0;A<this.blocks.length;A++){var B=this.blocks[A];if(B.image){B.div.removeChild(B.image);}B.image=null;if(B.div){this.groupDiv.removeChild(B.div);}B.div=null;}this.blocks=null;OpenLayers.Popup.Anchored.prototype.destroy.apply(this,arguments);},setBackgroundColor:function(A){},setBorder:function(){},setOpacity:function(A){},setSize:function(A){OpenLayers.Popup.Anchored.prototype.setSize.apply(this,arguments);this.updateBlocks();},updateRelativePosition:function(){this.padding=this.positionBlocks[this.relativePosition].padding;if(this.closeDiv){var A=this.getContentDivPadding();this.closeDiv.style.right=A.right+this.padding.right+"px";this.closeDiv.style.top=A.top+this.padding.top+"px";}this.updateBlocks();},calculateNewPx:function(A){var B=OpenLayers.Popup.Anchored.prototype.calculateNewPx.apply(this,arguments);B=B.offset(this.positionBlocks[this.relativePosition].offset);return B;},createBlocks:function(){this.blocks=[];var F=null;for(var E in this.positionBlocks){F=E;break;}var A=this.positionBlocks[F];for(var D=0;D<A.blocks.length;D++){var H={};this.blocks.push(H);var B=this.id+"_FrameDecorationDiv_"+D;H.div=OpenLayers.Util.createDiv(B,null,null,null,"absolute",null,"hidden",null);var C=this.id+"_FrameDecorationImg_"+D;var G=(this.isAlphaImage)?OpenLayers.Util.createAlphaImageDiv:OpenLayers.Util.createImage;H.image=G(C,null,this.imageSize,this.imageSrc,"absolute",null,null,null);H.div.appendChild(H.image);this.groupDiv.appendChild(H.div);}},updateBlocks:function(){if(!this.blocks){this.createBlocks();}if(this.size&&this.relativePosition){var G=this.positionBlocks[this.relativePosition];for(var E=0;E<G.blocks.length;E++){var B=G.blocks[E];var D=this.blocks[E];var C=B.anchor.left;var H=B.anchor.bottom;var A=B.anchor.right;var J=B.anchor.top;var I=(isNaN(B.size.w))?this.size.w-(A+C):B.size.w;var F=(isNaN(B.size.h))?this.size.h-(H+J):B.size.h;D.div.style.width=(I<0?0:I)+"px";D.div.style.height=(F<0?0:F)+"px";D.div.style.left=(C!=null)?C+"px":"";D.div.style.bottom=(H!=null)?H+"px":"";D.div.style.right=(A!=null)?A+"px":"";D.div.style.top=(J!=null)?J+"px":"";D.image.style.left=B.position.x+"px";D.image.style.top=B.position.y+"px";}this.contentDiv.style.left=this.padding.left+"px";this.contentDiv.style.top=this.padding.top+"px";}},CLASS_NAME:"OpenLayers.Popup.Framed"});OpenLayers.Projection=OpenLayers.Class({proj:null,projCode:null,initialize:function(B,A){OpenLayers.Util.extend(this,A);this.projCode=B;if(window.Proj4js){this.proj=new Proj4js.Proj(B);}},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){if(A&&A.getCode){return this.getCode()==A.getCode();}else{return false;}},destroy:function(){delete this.proj;delete this.projCode;},CLASS_NAME:"OpenLayers.Projection"});OpenLayers.Projection.transforms={};OpenLayers.Projection.addTransform=function(C,B,A){if(!OpenLayers.Projection.transforms[C]){OpenLayers.Projection.transforms[C]={};}OpenLayers.Projection.transforms[C][B]=A;};OpenLayers.Projection.transform=function(A,C,B){if(C.proj&&B.proj){A=Proj4js.transform(C.proj,B.proj,A);}else{if(C&&B&&OpenLayers.Projection.transforms[C.getCode()]&&OpenLayers.Projection.transforms[C.getCode()][B.getCode()]){OpenLayers.Projection.transforms[C.getCode()][B.getCode()](A);}}return A;};OpenLayers.Renderer.SVG=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"http://www.w3.org/2000/svg",xlinkns:"http://www.w3.org/1999/xlink",MAX_PIXEL:15000,translationParameters:null,symbolSize:{},isGecko:null,initialize:function(A){if(!this.supported()){return ;}OpenLayers.Renderer.Elements.prototype.initialize.apply(this,arguments);this.translationParameters={x:0,y:0};this.isGecko=(navigator.userAgent.toLowerCase().indexOf("gecko/")!=-1);},destroy:function(){OpenLayers.Renderer.Elements.prototype.destroy.apply(this,arguments);},supported:function(){var A="http://www.w3.org/TR/SVG11/feature#";return(document.implementation&&(document.implementation.hasFeature("org.w3c.svg","1.0")||document.implementation.hasFeature(A+"SVG","1.1")||document.implementation.hasFeature(A+"BasicStructure","1.1")));},inValidRange:function(A,E,B){var D=A+(B?0:this.translationParameters.x);var C=E+(B?0:this.translationParameters.y);return(D>=-this.MAX_PIXEL&&D<=this.MAX_PIXEL&&C>=-this.MAX_PIXEL&&C<=this.MAX_PIXEL);},setExtent:function(B,D){OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments);var A=this.getResolution();var F=-B.left/A;var E=B.top/A;if(D){this.left=F;this.top=E;var C="0 0 "+this.size.w+" "+this.size.h;this.rendererRoot.setAttributeNS(null,"viewBox",C);this.translate(0,0);return true;}else{var G=this.translate(F-this.left,E-this.top);if(!G){this.setExtent(B,true);}return G;}},translate:function(A,C){if(!this.inValidRange(A,C,true)){return false;}else{var B="";if(A||C){B="translate("+A+","+C+")";}this.root.setAttributeNS(null,"transform",B);this.translationParameters={x:A,y:C};return true;}},setSize:function(A){OpenLayers.Renderer.prototype.setSize.apply(this,arguments);this.rendererRoot.setAttributeNS(null,"width",this.size.w);this.rendererRoot.setAttributeNS(null,"height",this.size.h);},getNodeType:function(C,B){var A=null;switch(C.CLASS_NAME){case"OpenLayers.Geometry.Point":if(B.externalGraphic){A="image";}else{if(this.isComplexSymbol(B.graphicName)){A="use";}else{A="circle";}}break;case"OpenLayers.Geometry.Rectangle":A="rect";break;case"OpenLayers.Geometry.LineString":A="polyline";break;case"OpenLayers.Geometry.LinearRing":A="polygon";break;case"OpenLayers.Geometry.Polygon":case"OpenLayers.Geometry.Curve":case"OpenLayers.Geometry.Surface":A="path";break;default:break;}return A;},setStyle:function(N,Q,B){Q=Q||N._style;B=B||N._options;var I=parseFloat(N.getAttributeNS(null,"r"));var H=1;var D;if(N._geometryClass=="OpenLayers.Geometry.Point"&&I){N.style.visibility="";if(Q.graphic===false){N.style.visibility="hidden";}else{if(Q.externalGraphic){D=this.getPosition(N);if(Q.graphicTitle){N.setAttributeNS(null,"title",Q.graphicTitle);}if(Q.graphicWidth&&Q.graphicHeight){N.setAttributeNS(null,"preserveAspectRatio","none");}var M=Q.graphicWidth||Q.graphicHeight;var K=Q.graphicHeight||Q.graphicWidth;M=M?M:Q.pointRadius*2;K=K?K:Q.pointRadius*2;var R=(Q.graphicXOffset!=undefined)?Q.graphicXOffset:-(0.5*M);var E=(Q.graphicYOffset!=undefined)?Q.graphicYOffset:-(0.5*K);var A=Q.graphicOpacity||Q.fillOpacity;N.setAttributeNS(null,"x",(D.x+R).toFixed());N.setAttributeNS(null,"y",(D.y+E).toFixed());N.setAttributeNS(null,"width",M);N.setAttributeNS(null,"height",K);N.setAttributeNS(this.xlinkns,"href",Q.externalGraphic);N.setAttributeNS(null,"style","opacity: "+A);}else{if(this.isComplexSymbol(Q.graphicName)){var C=Q.pointRadius*3;var J=C*2;var L=this.importSymbol(Q.graphicName);var P="#"+L;D=this.getPosition(N);H=this.symbolSize[L]/J;var F=N.parentNode;var G=N.nextSibling;if(F){F.removeChild(N);}N.setAttributeNS(this.xlinkns,"href",P);N.setAttributeNS(null,"width",J);N.setAttributeNS(null,"height",J);N.setAttributeNS(null,"x",D.x-C);N.setAttributeNS(null,"y",D.y-C);if(G){F.insertBefore(N,G);}else{if(F){F.appendChild(N);}}}else{N.setAttributeNS(null,"r",Q.pointRadius);}}}if(typeof Q.rotation!="undefined"&&D){var O=OpenLayers.String.format("rotate(${0} ${1} ${2})",[Q.rotation,D.x,D.y]);N.setAttributeNS(null,"transform",O);}}if(B.isFilled){N.setAttributeNS(null,"fill",Q.fillColor);N.setAttributeNS(null,"fill-opacity",Q.fillOpacity);}else{N.setAttributeNS(null,"fill","none");}if(B.isStroked){N.setAttributeNS(null,"stroke",Q.strokeColor);N.setAttributeNS(null,"stroke-opacity",Q.strokeOpacity);N.setAttributeNS(null,"stroke-width",Q.strokeWidth*H);N.setAttributeNS(null,"stroke-linecap",Q.strokeLinecap);N.setAttributeNS(null,"stroke-linejoin","round");N.setAttributeNS(null,"stroke-dasharray",this.dashStyle(Q,H));}else{N.setAttributeNS(null,"stroke","none");}if(Q.pointerEvents){N.setAttributeNS(null,"pointer-events",Q.pointerEvents);}if(Q.cursor!=null){N.setAttributeNS(null,"cursor",Q.cursor);}return N;},dashStyle:function(C,B){var A=C.strokeWidth*B;var D=C.strokeDashstyle;switch(D){case"solid":return"none";case"dot":return[1,4*A].join();case"dash":return[4*A,4*A].join();case"dashdot":return[4*A,4*A,1,4*A].join();case"longdash":return[8*A,4*A].join();case"longdashdot":return[8*A,4*A,1,4*A].join();default:return OpenLayers.String.trim(D).replace(/\s+/g,",");}},createNode:function(A,C){var B=document.createElementNS(this.xmlns,A);if(C){B.setAttributeNS(null,"id",C);}return B;},nodeTypeCompare:function(B,A){return(A==B.nodeName);},createRenderRoot:function(){return this.nodeFactory(this.container.id+"_svgRoot","svg");},createRoot:function(A){return this.nodeFactory(this.container.id+A,"g");},createDefs:function(){var A=this.nodeFactory(this.container.id+"_defs","defs");this.rendererRoot.appendChild(A);return A;},drawPoint:function(A,B){return this.drawCircle(A,B,1);},drawCircle:function(D,E,B){var C=this.getResolution();var A=(E.x/C+this.left);var F=(this.top-E.y/C);if(this.inValidRange(A,F)){D.setAttributeNS(null,"cx",A);D.setAttributeNS(null,"cy",F);D.setAttributeNS(null,"r",B);return D;}else{return false;}},drawLineString:function(B,C){var A=this.getComponentsString(C.components);if(A.path){B.setAttributeNS(null,"points",A.path);return(A.complete?B:null);}else{return false;}},drawLinearRing:function(B,C){var A=this.getComponentsString(C.components);if(A.path){B.setAttributeNS(null,"points",A.path);return(A.complete?B:null);}else{return false;}},drawPolygon:function(B,G){var F="";var H=true;var A=true;var C,I;for(var D=0,E=G.components.length;D<E;D++){F+=" M";C=this.getComponentsString(G.components[D].components," ");I=C.path;if(I){F+=" "+I;A=C.complete&&A;}else{H=false;}}F+=" z";if(H){B.setAttributeNS(null,"d",F);B.setAttributeNS(null,"fill-rule","evenodd");return A?B:null;}else{return false;}},drawRectangle:function(C,D){var B=this.getResolution();var A=(D.x/B+this.left);var E=(this.top-D.y/B);if(this.inValidRange(A,E)){C.setAttributeNS(null,"x",A);C.setAttributeNS(null,"y",E);C.setAttributeNS(null,"width",D.width/B);C.setAttributeNS(null,"height",D.height/B);return C;}else{return false;}},drawSurface:function(E,G){var F=null;var B=true;for(var D=0,A=G.components.length;D<A;D++){if((D%3)==0&&(D/3)==0){var C=this.getShortString(G.components[D]);if(!C){B=false;}F="M "+C;}else{if((D%3)==1){var C=this.getShortString(G.components[D]);if(!C){B=false;}F+=" C "+C;}else{var C=this.getShortString(G.components[D]);if(!C){B=false;}F+=" "+C;}}}F+=" Z";if(B){E.setAttributeNS(null,"d",F);return E;}else{return false;}},drawText:function(C,A,I){var B=this.getResolution();var H=(I.x/B+this.left);var E=(I.y/B-this.top);var G=this.nodeFactory(C+this.LABEL_ID_SUFFIX,"text");var F=this.nodeFactory(C+this.LABEL_ID_SUFFIX+"_tspan","tspan");G.setAttributeNS(null,"x",H);G.setAttributeNS(null,"y",-E);if(A.fontColor){G.setAttributeNS(null,"fill",A.fontColor);}if(A.fontFamily){G.setAttributeNS(null,"font-family",A.fontFamily);}if(A.fontSize){G.setAttributeNS(null,"font-size",A.fontSize);}if(A.fontWeight){G.setAttributeNS(null,"font-weight",A.fontWeight);}if(A.labelSelect===true){G.setAttributeNS(null,"pointer-events","visible");G._featureId=C;F._featureId=C;F._geometry=I;F._geometryClass=I.CLASS_NAME;}else{G.setAttributeNS(null,"pointer-events","none");}var D=A.labelAlign||"cm";G.setAttributeNS(null,"text-anchor",OpenLayers.Renderer.SVG.LABEL_ALIGN[D[0]]||"middle");if(this.isGecko){G.setAttributeNS(null,"dominant-baseline",OpenLayers.Renderer.SVG.LABEL_ALIGN[D[1]]||"central");}else{F.setAttributeNS(null,"baseline-shift",OpenLayers.Renderer.SVG.LABEL_VSHIFT[D[1]]||"-35%");}F.textContent=A.label;if(!G.parentNode){G.appendChild(F);this.textRoot.appendChild(G);}},getComponentsString:function(E,D){var G=[];var A=true;var F=E.length;var J=[];var H,I,B;for(var C=0;C<F;C++){I=E[C];G.push(I);H=this.getShortString(I);if(H){J.push(H);}else{if(C>0){if(this.getShortString(E[C-1])){J.push(this.clipLine(E[C],E[C-1]));}}if(C<F-1){if(this.getShortString(E[C+1])){J.push(this.clipLine(E[C],E[C+1]));}}A=false;}}return{path:J.join(D||","),complete:A};},clipLine:function(E,H){if(H.equals(E)){return"";}var F=this.getResolution();var B=this.MAX_PIXEL-this.translationParameters.x;var A=this.MAX_PIXEL-this.translationParameters.y;var D=H.x/F+this.left;var J=this.top-H.y/F;var C=E.x/F+this.left;var I=this.top-E.y/F;var G;if(C<-B||C>B){G=(I-J)/(C-D);C=C<0?-B:B;I=J+(C-D)*G;}if(I<-A||I>A){G=(C-D)/(I-J);I=I<0?-A:A;C=D+(I-J)*G;}return C+","+I;},getShortString:function(B){var C=this.getResolution();var A=(B.x/C+this.left);var D=(this.top-B.y/C);if(this.inValidRange(A,D)){return A+","+D;}else{return false;}},getPosition:function(A){return({x:parseFloat(A.getAttributeNS(null,"cx")),y:parseFloat(A.getAttributeNS(null,"cy"))});},importSymbol:function(E){if(!this.defs){this.defs=this.createDefs();}var B=this.container.id+"-"+E;if(document.getElementById(B)!=null){return B;}var D=OpenLayers.Renderer.symbol[E];if(!D){throw new Error(E+" is not a valid symbol name");return ;}var G=this.nodeFactory(B,"symbol");var C=this.nodeFactory(null,"polygon");G.appendChild(C);var L=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0);var J="";var I,H;for(var F=0;F<D.length;F=F+2){I=D[F];H=D[F+1];L.left=Math.min(L.left,I);L.bottom=Math.min(L.bottom,H);L.right=Math.max(L.right,I);L.top=Math.max(L.top,H);J+=" "+I+","+H;}C.setAttributeNS(null,"points",J);var A=L.getWidth();var K=L.getHeight();var M=[L.left-A,L.bottom-K,A*3,K*3];G.setAttributeNS(null,"viewBox",M.join(" "));this.symbolSize[B]=Math.max(A,K)*3;this.defs.appendChild(G);return G.id;},CLASS_NAME:"OpenLayers.Renderer.SVG"});OpenLayers.Renderer.SVG.LABEL_ALIGN={l:"start",r:"end",b:"bottom",t:"hanging"};OpenLayers.Renderer.SVG.LABEL_VSHIFT={t:"-70%",b:"0"};OpenLayers.Renderer.VML=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"urn:schemas-microsoft-com:vml",symbolCache:{},offset:null,initialize:function(B){if(!this.supported()){return ;}if(!document.namespaces.olv){document.namespaces.add("olv",this.xmlns);var E=document.createStyleSheet();var C=["shape","rect","oval","fill","stroke","imagedata","group","textbox"];for(var D=0,A=C.length;D<A;D++){E.addRule("olv\\:"+C[D],"behavior: url(#default#VML); position: absolute; display: inline-block;");}}OpenLayers.Renderer.Elements.prototype.initialize.apply(this,arguments);this.offset={x:0,y:0};},destroy:function(){OpenLayers.Renderer.Elements.prototype.destroy.apply(this,arguments);},supported:function(){return !!(document.namespaces);},setExtent:function(I,A){OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments);var C=this.getResolution();var B=I.left/C;var F=I.top/C-this.size.h;if(A){this.offset={x:B,y:F};B=0;F=0;}else{B=B-this.offset.x;F=F-this.offset.y;}var K=B+" "+F;this.root.coordorigin=K;var H=[this.root,this.vectorRoot,this.textRoot];var G;for(var D=0,E=H.length;D<E;++D){G=H[D];var J=this.size.w+" "+this.size.h;G.coordsize=J;}this.root.style.flip="y";return true;},setSize:function(F){OpenLayers.Renderer.prototype.setSize.apply(this,arguments);var D=[this.rendererRoot,this.root,this.vectorRoot,this.textRoot];var C=this.size.w+"px";var G=this.size.h+"px";var B;for(var E=0,A=D.length;E<A;++E){B=D[E];B.style.width=C;B.style.height=G;}},getNodeType:function(C,B){var A=null;switch(C.CLASS_NAME){case"OpenLayers.Geometry.Point":if(B.externalGraphic){A="olv:rect";}else{if(this.isComplexSymbol(B.graphicName)){A="olv:shape";}else{A="olv:oval";}}break;case"OpenLayers.Geometry.Rectangle":A="olv:rect";break;case"OpenLayers.Geometry.LineString":case"OpenLayers.Geometry.LinearRing":case"OpenLayers.Geometry.Polygon":case"OpenLayers.Geometry.Curve":case"OpenLayers.Geometry.Surface":A="olv:shape";break;default:break;}return A;},setStyle:function(D,B,P,K){B=B||D._style;P=P||D._options;var I=1;if(D._geometryClass=="OpenLayers.Geometry.Point"){if(B.externalGraphic){if(B.graphicTitle){D.title=B.graphicTitle;}var C=B.graphicWidth||B.graphicHeight;var L=B.graphicHeight||B.graphicWidth;C=C?C:B.pointRadius*2;L=L?L:B.pointRadius*2;var F=this.getResolution();var H=(B.graphicXOffset!=undefined)?B.graphicXOffset:-(0.5*C);var E=(B.graphicYOffset!=undefined)?B.graphicYOffset:-(0.5*L);D.style.left=((K.x/F-this.offset.x)+H).toFixed();D.style.top=((K.y/F-this.offset.y)-(E+L)).toFixed();D.style.width=C+"px";D.style.height=L+"px";D.style.flip="y";B.fillColor="none";P.isStroked=false;}else{if(this.isComplexSymbol(B.graphicName)){var A=this.importSymbol(B.graphicName);D.path=A.path;D.coordorigin=A.left+","+A.bottom;var O=A.size;D.coordsize=O+","+O;this.drawCircle(D,K,B.pointRadius);D.style.flip="y";}else{this.drawCircle(D,K,B.pointRadius);}}}if(P.isFilled){D.fillcolor=B.fillColor;}else{D.filled="false";}var J=D.getElementsByTagName("fill");var N=(J.length==0)?null:J[0];if(!P.isFilled){if(N){D.removeChild(N);}}else{if(!N){N=this.createNode("olv:fill",D.id+"_fill");}N.opacity=B.fillOpacity;if(D._geometryClass=="OpenLayers.Geometry.Point"&&B.externalGraphic){if(B.graphicOpacity){N.opacity=B.graphicOpacity;}N.src=B.externalGraphic;N.type="frame";if(!(B.graphicWidth&&B.graphicHeight)){N.aspect="atmost";}}if(N.parentNode!=D){D.appendChild(N);}}if(typeof B.rotation!="undefined"){if(B.externalGraphic){this.graphicRotate(D,H,E,B);N.opacity=0;}else{D.style.rotation=B.rotation;}}if(P.isStroked){D.strokecolor=B.strokeColor;D.strokeweight=B.strokeWidth+"px";}else{D.stroked=false;}var G=D.getElementsByTagName("stroke");var M=(G.length==0)?null:G[0];if(!P.isStroked){if(M){D.removeChild(M);}}else{if(!M){M=this.createNode("olv:stroke",D.id+"_stroke");D.appendChild(M);}M.opacity=B.strokeOpacity;M.endcap=!B.strokeLinecap||B.strokeLinecap=="butt"?"flat":B.strokeLinecap;M.dashstyle=this.dashStyle(B);}if(B.cursor!="inherit"&&B.cursor!=null){D.style.cursor=B.cursor;}return D;},graphicRotate:function(N,R,F,Q){var Q=Q||N._style;var D=N._options;var A,J;if(!(Q.graphicWidth&&Q.graphicHeight)){var S=new Image();S.onreadystatechange=OpenLayers.Function.bind(function(){if(S.readyState=="complete"||S.readyState=="interactive"){A=S.width/S.height;J=Math.max(Q.pointRadius*2,Q.graphicWidth||0,Q.graphicHeight||0);R=R*A;Q.graphicWidth=J*A;Q.graphicHeight=J;this.graphicRotate(N,R,F,Q);}},this);S.src=Q.externalGraphic;return ;}else{J=Math.max(Q.graphicWidth,Q.graphicHeight);A=Q.graphicWidth/Q.graphicHeight;}var M=Math.round(Q.graphicWidth||J*A);var K=Math.round(Q.graphicHeight||J);N.style.width=M+"px";N.style.height=K+"px";var L=document.getElementById(N.id+"_image");if(!L){L=this.createNode("olv:imagedata",N.id+"_image");N.appendChild(L);}L.style.width=M+"px";L.style.height=K+"px";L.src=Q.externalGraphic;L.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='', sizingMethod='scale')";var O=Q.rotation*Math.PI/180;var H=Math.sin(O);var E=Math.cos(O);var G="progid:DXImageTransform.Microsoft.Matrix(M11="+E+",M12="+(-H)+",M21="+H+",M22="+E+",SizingMethod='auto expand')\n";var B=Q.graphicOpacity||Q.fillOpacity;if(B&&B!=1){G+="progid:DXImageTransform.Microsoft.BasicImage(opacity="+B+")\n";}N.style.filter=G;var P=new OpenLayers.Geometry.Point(-R,-F);var C=new OpenLayers.Bounds(0,0,M,K).toGeometry();C.rotate(Q.rotation,P);var I=C.getBounds();N.style.left=Math.round(parseInt(N.style.left)+I.left)+"px";N.style.top=Math.round(parseInt(N.style.top)-I.bottom)+"px";},postDraw:function(A){var C=A._style.fillColor;var B=A._style.strokeColor;if(C=="none"&&A.fillcolor!=C){A.fillcolor=C;}if(B=="none"&&A.strokecolor!=B){A.strokecolor=B;}},setNodeDimension:function(B,E){var D=E.getBounds();if(D){var A=this.getResolution();var C=new OpenLayers.Bounds((D.left/A-this.offset.x).toFixed(),(D.bottom/A-this.offset.y).toFixed(),(D.right/A-this.offset.x).toFixed(),(D.top/A-this.offset.y).toFixed());B.style.left=C.left+"px";B.style.top=C.top+"px";B.style.width=C.getWidth()+"px";B.style.height=C.getHeight()+"px";B.coordorigin=C.left+" "+C.top;B.coordsize=C.getWidth()+" "+C.getHeight();}},dashStyle:function(A){var C=A.strokeDashstyle;switch(C){case"solid":case"dot":case"dash":case"dashdot":case"longdash":case"longdashdot":return C;default:var B=C.split(/[ ,]/);if(B.length==2){if(1*B[0]>=2*B[1]){return"longdash";}return(B[0]==1||B[1]==1)?"dot":"dash";}else{if(B.length==4){return(1*B[0]>=2*B[1])?"longdashdot":"dashdot";}}return"solid";}},createNode:function(A,C){var B=document.createElement(A);if(C){B.id=C;}B.unselectable="on";B.onselectstart=function(){return(false);};return B;},nodeTypeCompare:function(C,B){var D=B;var A=D.indexOf(":");if(A!=-1){D=D.substr(A+1);}var E=C.nodeName;A=E.indexOf(":");if(A!=-1){E=E.substr(A+1);}return(D==E);},createRenderRoot:function(){return this.nodeFactory(this.container.id+"_vmlRoot","div");},createRoot:function(A){return this.nodeFactory(this.container.id+A,"olv:group");},drawPoint:function(A,B){return this.drawCircle(A,B,1);},drawCircle:function(D,E,A){if(!isNaN(E.x)&&!isNaN(E.y)){var B=this.getResolution();D.style.left=((E.x/B-this.offset.x).toFixed()-A)+"px";D.style.top=((E.y/B-this.offset.y).toFixed()-A)+"px";var C=A*2;D.style.width=C+"px";D.style.height=C+"px";return D;}return false;},drawLineString:function(A,B){return this.drawLine(A,B,false);},drawLinearRing:function(A,B){return this.drawLine(A,B,true);},drawLine:function(B,J,G){this.setNodeDimension(B,J);var C=this.getResolution();var A=J.components.length;var E=new Array(A);var H,K,I;for(var F=0;F<A;F++){H=J.components[F];K=(H.x/C-this.offset.x);I=(H.y/C-this.offset.y);E[F]=" "+K.toFixed()+","+I.toFixed()+" l ";}var D=(G)?" x e":" e";B.path="m"+E.join("")+D;return B;},drawPolygon:function(B,J){this.setNodeDimension(B,J);var C=this.getResolution();var L=[];var F,E,D,H,A,G,K,I;for(D=0,H=J.components.length;D<H;D++){F=J.components[D];L.push("m");for(E=0,A=F.components.length;E<A;E++){G=F.components[E];K=G.x/C-this.offset.x;I=G.y/C-this.offset.y;L.push(" "+K.toFixed()+","+I.toFixed());if(E==0){L.push(" l");}}L.push(" x ");}L.push("e");B.path=L.join("");return B;},drawRectangle:function(B,C){var A=this.getResolution();B.style.left=(C.x/A-this.offset.x)+"px";B.style.top=(C.y/A-this.offset.y)+"px";B.style.width=C.width/A+"px";B.style.height=C.height/A+"px";return B;},drawText:function(D,A,H){var G=this.nodeFactory(D+this.LABEL_ID_SUFFIX,"olv:rect");var F=this.nodeFactory(D+this.LABEL_ID_SUFFIX+"_textbox","olv:textbox");var C=this.getResolution();G.style.left=(H.x/C-this.offset.x).toFixed()+"px";G.style.top=(H.y/C-this.offset.y).toFixed()+"px";G.style.flip="y";F.innerText=A.label;if(A.fillColor){F.style.color=A.fontColor;}if(A.fontFamily){F.style.fontFamily=A.fontFamily;}if(A.fontSize){F.style.fontSize=A.fontSize;}if(A.fontWeight){F.style.fontWeight=A.fontWeight;}if(A.labelSelect===true){G._featureId=D;F._featureId=D;F._geometry=H;F._geometryClass=H.CLASS_NAME;}F.style.whiteSpace="nowrap";F.inset="1px,0px,0px,0px";if(!G.parentNode){G.appendChild(F);this.textRoot.appendChild(G);}var E=A.labelAlign||"cm";var I=F.clientWidth*(OpenLayers.Renderer.VML.LABEL_SHIFT[E.substr(0,1)]);var B=F.clientHeight*(OpenLayers.Renderer.VML.LABEL_SHIFT[E.substr(1,1)]);G.style.left=parseInt(G.style.left)-I-1+"px";G.style.top=parseInt(G.style.top)+B+"px";},drawSurface:function(A,G){this.setNodeDimension(A,G);var B=this.getResolution();var I=[];var D,H,F;for(var C=0,E=G.components.length;C<E;C++){D=G.components[C];H=D.x/B-this.offset.x;F=D.y/B-this.offset.y;if((C%3)==0&&(C/3)==0){I.push("m");}else{if((C%3)==1){I.push(" c");}}I.push(" "+H+","+F);}I.push(" x e");A.path=I.join("");return A;},moveRoot:function(B){var A=this.map.getLayer(B.container.id);if(A instanceof OpenLayers.Layer.Vector.RootContainer){A=this.map.getLayer(this.container.id);}A&&A.renderer.clear();OpenLayers.Renderer.Elements.prototype.moveRoot.apply(this,arguments);A&&A.redraw();},importSymbol:function(D){var B=this.container.id+"-"+D;var A=this.symbolCache[B];if(A){return A;}var C=OpenLayers.Renderer.symbol[D];if(!C){throw new Error(D+" is not a valid symbol name");return ;}var H=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0);var E=["m"];for(var F=0;F<C.length;F=F+2){x=C[F];y=C[F+1];H.left=Math.min(H.left,x);H.bottom=Math.min(H.bottom,y);H.right=Math.max(H.right,x);H.top=Math.max(H.top,y);E.push(x);E.push(y);if(F==0){E.push("l");}}E.push("x e");var I=E.join(" ");var G=(H.getWidth()-H.getHeight())/2;if(G>0){H.bottom=H.bottom-G;H.top=H.top+G;}else{H.left=H.left+G;H.right=H.right-G;}A={path:I,size:H.getWidth(),left:H.left,bottom:H.bottom};this.symbolCache[B]=A;return A;},CLASS_NAME:"OpenLayers.Renderer.VML"});OpenLayers.Renderer.VML.LABEL_SHIFT={l:0,c:0.5,r:1,t:0,m:0.5,b:1};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(D,A,E,B,C){this.layer=D;this.position=A.clone();this.bounds=E.clone();this.url=B;this.size=C.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.layer=null;this.bounds=null;this.size=null;this.position=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;var B=(A&&this.bounds.intersectsBounds(A,false));this.shouldDraw=(B||this.layer.displayOutsideMaxExtent);this.clear();return this.shouldDraw;},moveTo:function(B,A,C){if(C==null){C=true;}this.bounds=B.clone();this.position=A.clone();if(C){this.draw();}},clear:function(){},getBoundsFromBaseLayer:function(A){var F=OpenLayers.i18n("reprojectDeprecated",{layerName:this.layer.name});OpenLayers.Console.warn(F);var D=this.layer.map.getLonLatFromLayerPx(A);var C=A.clone();C.x+=this.size.w;C.y+=this.size.h;var B=this.layer.map.getLonLatFromLayerPx(C);if(D.lon>B.lon){if(D.lon<0){D.lon=-180-(D.lon+180);}else{B.lon=180+B.lon+180;}}var E=new OpenLayers.Bounds(D.lon,B.lat,B.lon,D.lat);return E;},showTile:function(){if(this.shouldDraw){this.show();}},show:function(){},hide:function(){},CLASS_NAME:"OpenLayers.Tile"});OpenLayers.Control.NavigationHistory=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOGGLE,previous:null,previousOptions:null,next:null,nextOptions:null,limit:50,autoActivate:true,clearOnDeactivate:false,registry:null,nextStack:null,previousStack:null,listeners:null,restoring:false,initialize:function(A){OpenLayers.Control.prototype.initialize.apply(this,[A]);this.registry=OpenLayers.Util.extend({moveend:function(){return{center:this.map.getCenter(),resolution:this.map.getResolution()};}},this.registry);this.clear();var B={trigger:OpenLayers.Function.bind(this.previousTrigger,this),displayClass:this.displayClass+" "+this.displayClass+"Previous"};OpenLayers.Util.extend(B,this.previousOptions);this.previous=new OpenLayers.Control.Button(B);var C={trigger:OpenLayers.Function.bind(this.nextTrigger,this),displayClass:this.displayClass+" "+this.displayClass+"Next"};OpenLayers.Util.extend(C,this.nextOptions);this.next=new OpenLayers.Control.Button(C);},onPreviousChange:function(B,A){if(B&&!this.previous.active){this.previous.activate();}else{if(!B&&this.previous.active){this.previous.deactivate();}}},onNextChange:function(B,A){if(B&&!this.next.active){this.next.activate();}else{if(!B&&this.next.active){this.next.deactivate();}}},destroy:function(){OpenLayers.Control.prototype.destroy.apply(this);this.previous.destroy();this.next.destroy();this.deactivate();for(var A in this){this[A]=null;}},setMap:function(A){this.map=A;this.next.setMap(A);this.previous.setMap(A);},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.next.draw();this.previous.draw();},previousTrigger:function(){var B=this.previousStack.shift();var A=this.previousStack.shift();if(A!=undefined){this.nextStack.unshift(B);this.previousStack.unshift(A);this.restoring=true;this.restore(A);this.restoring=false;this.onNextChange(this.nextStack[0],this.nextStack.length);this.onPreviousChange(this.previousStack[1],this.previousStack.length-1);}else{this.previousStack.unshift(B);}return A;},nextTrigger:function(){var A=this.nextStack.shift();if(A!=undefined){this.previousStack.unshift(A);this.restoring=true;this.restore(A);this.restoring=false;this.onNextChange(this.nextStack[0],this.nextStack.length);this.onPreviousChange(this.previousStack[1],this.previousStack.length-1);}return A;},clear:function(){this.previousStack=[];this.nextStack=[];},restore:function(B){var A=this.map.getZoomForResolution(B.resolution);this.map.setCenter(B.center,A);},setListeners:function(){this.listeners={};for(var A in this.registry){this.listeners[A]=OpenLayers.Function.bind(function(){if(!this.restoring){var B=this.registry[A].apply(this,arguments);this.previousStack.unshift(B);if(this.previousStack.length>1){this.onPreviousChange(this.previousStack[1],this.previousStack.length-1);}if(this.previousStack.length>(this.limit+1)){this.previousStack.pop();}if(this.nextStack.length>0){this.nextStack=[];this.onNextChange(null,0);}}return true;},this);}},activate:function(){var A=false;if(this.map){if(OpenLayers.Control.prototype.activate.apply(this)){if(this.listeners==null){this.setListeners();}for(var B in this.listeners){this.map.events.register(B,this,this.listeners[B]);}A=true;if(this.previousStack.length==0){this.initStack();}}}return A;},initStack:function(){if(this.map.getCenter()){this.listeners.moveend();}},deactivate:function(){var B=false;if(this.map){if(OpenLayers.Control.prototype.deactivate.apply(this)){for(var A in this.listeners){this.map.events.unregister(A,this,this.listeners[A]);}if(this.clearOnDeactivate){this.clear();}B=true;}}return B;},CLASS_NAME:"OpenLayers.Control.NavigationHistory"});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(A){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(B){OpenLayers.Control.prototype.draw.apply(this,arguments);B=this.position.clone();this.buttons=[];var D=new OpenLayers.Size(18,18);var A=new OpenLayers.Pixel(B.x+D.w/2,B.y);var C=D.w;if(this.zoomWorldIcon){A=new OpenLayers.Pixel(B.x+D.w,B.y);}this._addButton("panup","north-mini.png",A,D);B.y=A.y+D.h;this._addButton("panleft","west-mini.png",B,D);if(this.zoomWorldIcon){this._addButton("zoomworld","zoom-world-mini.png",B.add(D.w,0),D);C*=2;}this._addButton("panright","east-mini.png",B.add(C,0),D);this._addButton("pandown","south-mini.png",A.add(0,D.h*2),D);this._addButton("zoomin","zoom-plus-mini.png",A.add(0,D.h*3+5),D);A=this._addZoomBar(A.add(0,D.h*4+5));this._addButton("zoomout","zoom-minus-mini.png",A,D);return this.div;},_addZoomBar:function(A){var E=OpenLayers.Util.getImagesLocation();var G=this.id+"_"+this.map.id;var B=this.map.getNumZoomLevels()-1-this.map.getZoom();var C=OpenLayers.Util.createAlphaImageDiv(G,A.add(-1,B*this.zoomStopHeight),new OpenLayers.Size(20,9),E+"slider.png","absolute");this.slider=C;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});var D=new OpenLayers.Size();D.h=this.zoomStopHeight*this.map.getNumZoomLevels();D.w=this.zoomStopWidth;var F=null;if(OpenLayers.Util.alphaHack()){var G=this.id+"_"+this.map.id;F=OpenLayers.Util.createAlphaImageDiv(G,A,new OpenLayers.Size(D.w,this.zoomStopHeight),E+"zoombar.png","absolute",null,"crop");F.style.height=D.h+"px";}else{F=OpenLayers.Util.createDiv("OpenLayers_Control_PanZoomBar_Zoombar"+this.map.id,A,D,E+"zoombar.png");}this.zoombarDiv=F;this.divEvents=new OpenLayers.Events(this,F,null,true,{includeXY:true});this.divEvents.on({mousedown:this.divClick,mousemove:this.passEventToSlider,dblclick:this.doubleClick,click:this.doubleClick});this.div.appendChild(F);this.startTop=parseInt(F.style.top);this.div.appendChild(C);this.map.events.register("zoomend",this,this.moveZoomBar);A=A.add(0,this.zoomStopHeight*this.map.getNumZoomLevels());return A;},_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)){return ;}var E=A.xy.y;var D=OpenLayers.Util.pagePosition(A.object)[1];var C=(E-D)/this.zoomStopHeight;if(!this.map.fractionalZoom){C=Math.floor(C);}var B=(this.map.getNumZoomLevels()-1)-C;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)){return ;}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(B){if(this.mouseDragStart!=null){var A=this.mouseDragStart.y-B.xy.y;var D=OpenLayers.Util.pagePosition(this.zoombarDiv);if((B.clientY-D[1])>0&&(B.clientY-D[1])<parseInt(this.zoombarDiv.style.height)-2){var C=parseInt(this.slider.style.top)-A;this.slider.style.top=C+"px";this.mouseDragStart=B.xy.clone();}OpenLayers.Event.stop(B);}},zoomBarUp:function(B){if(!OpenLayers.Event.isLeftClick(B)){return ;}if(this.zoomStart){this.div.style.cursor="";this.map.events.un({mouseup:this.passEventToSlider,mousemove:this.passEventToSlider,scope:this});var A=this.zoomStart.y-B.xy.y;var C=this.map.zoom;if(this.map.fractionalZoom){C+=A/this.zoomStopHeight;C=Math.min(Math.max(C,0),this.map.getNumZoomLevels()-1);}else{C+=Math.round(A/this.zoomStopHeight);}this.map.zoomTo(C);this.moveZoomBar();this.mouseDragStart=null;OpenLayers.Event.stop(B);}},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.Control.Permalink=OpenLayers.Class(OpenLayers.Control,{argParserClass:OpenLayers.Control.ArgParser,element:null,base:"",displayProjection:null,initialize:function(B,C,A){OpenLayers.Control.prototype.initialize.apply(this,[A]);this.element=OpenLayers.Util.getElement(B);this.base=C||document.location.href;},destroy:function(){if(this.element.parentNode==this.div){this.div.removeChild(this.element);}this.element=null;this.map.events.unregister("moveend",this,this.updateLink);OpenLayers.Control.prototype.destroy.apply(this,arguments);},setMap:function(D){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var B=0,A=this.map.controls.length;B<A;B++){var C=this.map.controls[B];if(C.CLASS_NAME==this.argParserClass.CLASS_NAME){if(C.displayProjection!=this.displayProjection){this.displayProjection=C.displayProjection;}break;}}if(B==this.map.controls.length){this.map.addControl(new this.argParserClass({displayProjection:this.displayProjection}));}},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);if(!this.element){this.div.className=this.displayClass;this.element=document.createElement("a");this.element.innerHTML=OpenLayers.i18n("permalink");this.element.href="";this.div.appendChild(this.element);}this.map.events.on({moveend:this.updateLink,changelayer:this.updateLink,changebaselayer:this.updateLink,scope:this});this.updateLink();return this.div;},updateLink:function(){var A=this.base;if(A.indexOf("?")!=-1){A=A.substring(0,A.indexOf("?"));}A+="?"+OpenLayers.Util.getParameterString(this.createParams());this.element.href=A;},createParams:function(A,J,E){A=A||this.map.getCenter();var D=OpenLayers.Util.getParameters(this.base);if(A){D.zoom=J||this.map.getZoom();var I=A.lat;var B=A.lon;if(this.displayProjection){var C=OpenLayers.Projection.transform({x:B,y:I},this.map.getProjectionObject(),this.displayProjection);B=C.x;I=C.y;}D.lat=Math.round(I*100000)/100000;D.lon=Math.round(B*100000)/100000;E=E||this.map.layers;D.layers="";for(var F=0,H=E.length;F<H;F++){var G=E[F];if(G.isBaseLayer){D.layers+=(G==this.map.baseLayer)?"B":"0";}else{D.layers+=(G.getVisibility())?"T":"F";}}}return D;},CLASS_NAME:"OpenLayers.Control.Permalink"});OpenLayers.Format.XML=OpenLayers.Class(OpenLayers.Format,{namespaces:null,namespaceAlias:null,defaultPrefix:null,readers:{},writers:{},xmldom:null,initialize:function(A){if(window.ActiveXObject){this.xmldom=new ActiveXObject("Microsoft.XMLDOM");}OpenLayers.Format.prototype.initialize.apply(this,[A]);this.namespaces=OpenLayers.Util.extend({},this.namespaces);this.namespaceAlias={};for(var B in this.namespaces){this.namespaceAlias[this.namespaces[B]]=B;}},destroy:function(){this.xmldom=null;OpenLayers.Format.prototype.destroy.apply(this,arguments);},setNamespace:function(A,B){this.namespaces[A]=B;this.namespaceAlias[B]=A;},read:function(C){var A=C.indexOf("<");if(A>0){C=C.substring(A);}var B=OpenLayers.Util.Try(OpenLayers.Function.bind((function(){var D;if(window.ActiveXObject&&!this.xmldom){D=new ActiveXObject("Microsoft.XMLDOM");}else{D=this.xmldom;}D.loadXML(C);return D;}),this),function(){return new DOMParser().parseFromString(C,"text/xml");},function(){var D=new XMLHttpRequest();D.open("GET","data:text/xml;charset=utf-8,"+encodeURIComponent(C),false);if(D.overrideMimeType){D.overrideMimeType("text/xml");}D.send(null);return D.responseXML;});if(this.keepData){this.data=B;}return B;},write:function(B){var C;if(this.xmldom){C=B.xml;}else{var A=new XMLSerializer();if(B.nodeType==1){var D=document.implementation.createDocument("","",null);if(D.importNode){B=D.importNode(B,true);}D.appendChild(B);C=A.serializeToString(D);}else{C=A.serializeToString(B);}}return C;},createElementNS:function(C,A){var B;if(this.xmldom){if(typeof C=="string"){B=this.xmldom.createNode(1,A,C);}else{B=this.xmldom.createNode(1,A,"");}}else{B=document.createElementNS(C,A);}return B;},createTextNode:function(B){var A;if(this.xmldom){A=this.xmldom.createTextNode(B);}else{A=document.createTextNode(B);}return A;},getElementsByTagNameNS:function(E,D,C){var A=[];if(E.getElementsByTagNameNS){A=E.getElementsByTagNameNS(D,C);}else{var B=E.getElementsByTagName("*");var I,F;for(var G=0,H=B.length;G<H;++G){I=B[G];F=(I.prefix)?(I.prefix+":"+C):C;if((C=="*")||(F==I.nodeName)){if((D=="*")||(D==I.namespaceURI)){A.push(I);}}}}return A;},getAttributeNodeNS:function(C,B,A){var I=null;if(C.getAttributeNodeNS){I=C.getAttributeNodeNS(B,A);}else{var E=C.attributes;var H,D;for(var F=0,G=E.length;F<G;++F){H=E[F];if(H.namespaceURI==B){D=(H.prefix)?(H.prefix+":"+A):A;if(D==H.nodeName){I=H;break;}}}}return I;},getAttributeNS:function(E,D,A){var B="";if(E.getAttributeNS){B=E.getAttributeNS(D,A)||"";}else{var C=this.getAttributeNodeNS(E,D,A);if(C){B=C.nodeValue;}}return B;},getChildValue:function(A,C){var B=C||"";if(A){for(var D=A.firstChild;D;D=D.nextSibling){switch(D.nodeType){case 3:case 4:B+=D.nodeValue;}}}return B;},concatChildValues:function(B,D){var C="";var E=B.firstChild;var A;while(E){A=E.nodeValue;if(A){C+=A;}E=E.nextSibling;}if(C==""&&D!=undefined){C=D;}return C;},isSimpleContent:function(A){var C=true;for(var B=A.firstChild;B;B=B.nextSibling){if(B.nodeType===1){C=false;break;}}return C;},contentType:function(C){var E=false,B=false;var A=OpenLayers.Format.XML.CONTENT_TYPE.EMPTY;for(var D=C.firstChild;D;D=D.nextSibling){switch(D.nodeType){case 1:B=true;break;case 8:break;default:E=true;}if(B&&E){break;}}if(B&&E){A=OpenLayers.Format.XML.CONTENT_TYPE.MIXED;}else{if(B){return OpenLayers.Format.XML.CONTENT_TYPE.COMPLEX;}else{if(E){return OpenLayers.Format.XML.CONTENT_TYPE.SIMPLE;}}}return A;},hasAttributeNS:function(C,B,A){var D=false;if(C.hasAttributeNS){D=C.hasAttributeNS(B,A);}else{D=!!this.getAttributeNodeNS(C,B,A);}return D;},setAttributeNS:function(D,C,A,E){if(D.setAttributeNS){D.setAttributeNS(C,A,E);}else{if(this.xmldom){if(C){var B=D.ownerDocument.createNode(2,A,C);B.nodeValue=E;D.setAttributeNode(B);}else{D.setAttribute(A,E);}}else{throw"setAttributeNS not implemented";}}},createElementNSPlus:function(B,A){A=A||{};var D=A.uri||this.namespaces[A.prefix];if(!D){var F=B.indexOf(":");D=this.namespaces[B.substring(0,F)];}if(!D){D=this.namespaces[this.defaultPrefix];}var C=this.createElementNS(D,B);if(A.attributes){this.setAttributes(C,A.attributes);}var E=A.value;if(E!=null){if(typeof E=="boolean"){E=String(E);}C.appendChild(this.createTextNode(E));}return C;},setAttributes:function(C,E){var D,B;for(var A in E){if(E[A]!=null&&E[A].toString){D=E[A].toString();B=this.namespaces[A.substring(0,A.indexOf(":"))]||null;this.setAttributeNS(C,B,A,D);}}},readNode:function(C,E){if(!E){E={};}var D=this.readers[this.namespaceAlias[C.namespaceURI]];if(D){var B=C.localName||C.nodeName.split(":").pop();var A=D[B]||D["*"];if(A){A.apply(this,[C,E]);}}return E;},readChildNodes:function(D,E){if(!E){E={};}var C=D.childNodes;var F;for(var B=0,A=C.length;B<A;++B){F=C[B];if(F.nodeType==1){this.readNode(F,E);}}return E;},writeNode:function(A,F,D){var E,C;var B=A.indexOf(":");if(B>0){E=A.substring(0,B);C=A.substring(B+1);}else{if(D){E=this.namespaceAlias[D.namespaceURI];}else{E=this.defaultPrefix;}C=A;}var G=this.writers[E][C].apply(this,[F]);if(D){D.appendChild(G);}return G;},getChildEl:function(C,A,B){return C&&this.getThisOrNextEl(C.firstChild,A,B);},getNextEl:function(C,A,B){return C&&this.getThisOrNextEl(C.nextSibling,A,B);},getThisOrNextEl:function(D,A,C){outer:for(var B=D;B;B=B.nextSibling){switch(B.nodeType){case 1:if((!A||A===(B.localName||B.nodeName.split(":").pop()))&&(!C||C===B.namespaceURI)){break outer;}B=null;break outer;case 3:if(/^\s*$/.test(B.nodeValue)){break;}case 4:case 6:case 12:case 10:case 11:B=null;break outer;}}return B||null;},lookupNamespaceURI:function(E,F){var D=null;if(E){if(E.lookupNamespaceURI){D=E.lookupNamespaceURI(F);}else{outer:switch(E.nodeType){case 1:if(E.namespaceURI!==null&&E.prefix===F){D=E.namespaceURI;break outer;}var B=E.attributes.length;if(B){var A;for(var C=0;C<B;++C){A=E.attributes[C];if(A.prefix==="xmlns"&&A.name==="xmlns:"+F){D=A.value||null;break outer;}else{if(A.name==="xmlns"&&F===null){D=A.value||null;break outer;}}}}D=this.lookupNamespaceURI(E.parentNode,F);break outer;case 2:D=this.lookupNamespaceURI(E.ownerElement,F);break outer;case 9:D=this.lookupNamespaceURI(E.documentElement,F);break outer;case 6:case 12:case 10:case 11:break outer;default:D=this.lookupNamespaceURI(E.parentNode,F);break outer;}}}return D;},CLASS_NAME:"OpenLayers.Format.XML"});OpenLayers.Format.XML.CONTENT_TYPE={EMPTY:0,SIMPLE:1,COMPLEX:2,MIXED:3};OpenLayers.Format.XML.lookupNamespaceURI=OpenLayers.Function.bind(OpenLayers.Format.XML.prototype.lookupNamespaceURI,OpenLayers.Format.XML.prototype);OpenLayers.Handler=OpenLayers.Class({id:null,control:null,map:null,keyMask:null,active:false,evt:null,initialize:function(C,B,A){OpenLayers.Util.extend(this,A);this.control=C;this.callbacks=B;if(C.map){this.setMap(C.map);}OpenLayers.Util.extend(this,A);this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");},setMap:function(A){this.map=A;},checkModifiers:function(A){if(this.keyMask==null){return true;}var B=(A.shiftKey?OpenLayers.Handler.MOD_SHIFT:0)|(A.ctrlKey?OpenLayers.Handler.MOD_CTRL:0)|(A.altKey?OpenLayers.Handler.MOD_ALT:0);return(B==this.keyMask);},activate:function(){if(this.active){return false;}var C=OpenLayers.Events.prototype.BROWSER_EVENTS;for(var B=0,A=C.length;B<A;B++){if(this[C[B]]){this.register(C[B],this[C[B]]);}}this.active=true;return true;},deactivate:function(){if(!this.active){return false;}var C=OpenLayers.Events.prototype.BROWSER_EVENTS;for(var B=0,A=C.length;B<A;B++){if(this[C[B]]){this.unregister(C[B],this[C[B]]);}}this.active=false;return true;},callback:function(B,A){if(B&&this.callbacks[B]){this.callbacks[B].apply(this.control,A);}},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:1000},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(H,D){if(arguments.length===1&&typeof H==="object"){D=H;H=D&&D.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,D);this.id=OpenLayers.Util.createUniqueID("OpenLayers.Map_");this.div=OpenLayers.Util.getElement(H);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 G=this.id+"_OpenLayers_ViewPort";this.viewPortDiv=OpenLayers.Util.createDiv(G,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);G=this.id+"_OpenLayers_Container";this.layerContainerDiv=OpenLayers.Util.createDiv(G);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();if(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){var F=true;var C=document.getElementsByTagName("link");for(var E=0,A=C.length;E<A;++E){if(OpenLayers.Util.isEquivalentUrl(C.item(E).href,this.theme)){F=false;break;}}if(F){var B=document.createElement("link");B.setAttribute("rel","stylesheet");B.setAttribute("type","text/css");B.setAttribute("href",this.theme);document.getElementsByTagName("head")[0].appendChild(B);}}this.layers=[];if(this.controls==null){if(OpenLayers.Control!=null){this.controls=[new OpenLayers.Control.Navigation(),new OpenLayers.Control.PanZoom(),new OpenLayers.Control.ArgParser(),new OpenLayers.Control.Attribution()];}else{this.controls=[];}}for(var E=0,A=this.controls.length;E<A;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;}if(this.panTween&&this.panTween.playing){this.panTween.stop();}OpenLayers.Event.stopObserving(window,"unload",this.unloadDestroy);this.unloadDestroy=null;if(this.updateSizeDestroy){OpenLayers.Event.stopObserving(window,"resize",this.updateSizeDestroy);}else{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(var A=this.layers.length-1;A>=0;--A){this.layers[A].destroy(false);}this.layers=null;}if(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(E,C,A){var D=(typeof A.test=="function");var B=OpenLayers.Array.filter(this[E],function(F){return F[C]==A||(D&&A.test(F[C]));});return B;},getLayersBy:function(B,A){return this.getBy("layers",B,A);},getLayersByName:function(A){return this.getLayersBy("name",A);},getLayersByClass:function(A){return this.getLayersBy("CLASS_NAME",A);},getControlsBy:function(B,A){return this.getBy("controls",B,A);},getControlsByClass:function(A){return this.getControlsBy("CLASS_NAME",A);},getLayer:function(E){var B=null;for(var D=0,A=this.layers.length;D<A;D++){var C=this.layers[D];if(C.id==E){B=C;break;}}return B;},setLayerZIndex:function(B,A){B.setZIndex(this.Z_INDEX_BASE[B.isBaseLayer?"BaseLayer":"Overlay"]+A*5);},resetLayersZIndex:function(){for(var C=0,A=this.layers.length;C<A;C++){var B=this.layers[C];this.setLayerZIndex(B,C);}},addLayer:function(C){for(var B=0,A=this.layers.length;B<A;B++){if(this.layers[B]==C){var D=OpenLayers.i18n("layerAlreadyAdded",{layerName:C.name});OpenLayers.Console.warn(D);return false;}}if(this.allOverlays){C.isBaseLayer=false;}this.events.triggerEvent("preaddlayer",{layer:C});C.div.className="olLayerDiv";C.div.style.overflow="";this.setLayerZIndex(C,this.layers.length);if(C.isFixed){this.viewPortDiv.appendChild(C.div);}else{this.layerContainerDiv.appendChild(C.div);}this.layers.push(C);C.setMap(this);if(C.isBaseLayer||(this.allOverlays&&!this.baseLayer)){if(this.baseLayer==null){this.setBaseLayer(C);}else{C.setVisibility(false);}}else{C.redraw();}this.events.triggerEvent("addlayer",{layer:C});C.afterAdd();},addLayers:function(C){for(var B=0,A=C.length;B<A;B++){this.addLayer(C[B]);}},removeLayer:function(C,E){if(E==null){E=true;}if(C.isFixed){this.viewPortDiv.removeChild(C.div);}else{this.layerContainerDiv.removeChild(C.div);}OpenLayers.Util.removeItem(this.layers,C);C.removeMap(this);C.map=null;if(this.baseLayer==C){this.baseLayer=null;if(E){for(var B=0,A=this.layers.length;B<A;B++){var D=this.layers[B];if(D.isBaseLayer||this.allOverlays){this.setBaseLayer(D);break;}}}}this.resetLayersZIndex();this.events.triggerEvent("removelayer",{layer:C});},getNumLayers:function(){return this.layers.length;},getLayerIndex:function(A){return OpenLayers.Util.indexOf(this.layers,A);},setLayerIndex:function(D,B){var E=this.getLayerIndex(D);if(B<0){B=0;}else{if(B>this.layers.length){B=this.layers.length;}}if(E!=B){this.layers.splice(E,1);this.layers.splice(B,0,D);for(var C=0,A=this.layers.length;C<A;C++){this.setLayerZIndex(this.layers[C],C);}this.events.triggerEvent("changelayer",{layer:D,property:"order"});if(this.allOverlays){if(B===0){this.setBaseLayer(D);}else{if(this.baseLayer!==this.layers[0]){this.setBaseLayer(this.layers[0]);}}}}},raiseLayer:function(B,C){var A=this.getLayerIndex(B)+C;this.setLayerIndex(B,A);},setBaseLayer:function(E){var D=null;if(this.baseLayer){D=this.baseLayer.getExtent();}if(E!=this.baseLayer){if(OpenLayers.Util.indexOf(this.layers,E)!=-1){if(this.baseLayer!=null&&!this.allOverlays){this.baseLayer.setVisibility(false);}this.baseLayer=E;this.viewRequestID++;if(!this.allOverlays){this.baseLayer.visibility=true;}var A=this.getCenter();if(A!=null){var B=(D)?D.getCenterLonLat():A;var C=(D)?this.getZoomForExtent(D,true):this.getZoomForResolution(this.resolution,true);this.setCenter(B,C,false,true);}this.events.triggerEvent("changebaselayer",{layer:this.baseLayer});}}},addControl:function(B,A){this.controls.push(B);this.addControlToMap(B,A);},addControlToMap:function(B,A){B.outsideViewport=(B.div!=null);if(this.displayProjection&&!B.displayProjection){B.displayProjection=this.displayProjection;}B.setMap(this);var C=B.draw(A);if(C){if(!B.outsideViewport){C.style.zIndex=this.Z_INDEX_BASE.Control+this.controls.length;this.viewPortDiv.appendChild(C);}}if(B.autoActivate){B.activate();}},getControl:function(E){var B=null;for(var C=0,A=this.controls.length;C<A;C++){var D=this.controls[C];if(D.id==E){B=D;break;}}return B;},removeControl:function(A){if((A)&&(A==this.getControl(A.id))){if(A.div&&(A.div.parentNode==this.viewPortDiv)){this.viewPortDiv.removeChild(A.div);}OpenLayers.Util.removeItem(this.controls,A);}},addPopup:function(A,D){if(D){for(var B=this.popups.length-1;B>=0;--B){this.removePopup(this.popups[B]);}}A.map=this;this.popups.push(A);var C=A.draw();if(C){C.style.zIndex=this.Z_INDEX_BASE.Popup+this.popups.length;this.layerContainerDiv.appendChild(C);}},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 C=this.getCurrentSize();var F=this.getSize();if(F==null){this.size=F=C;}if(!C.equals(F)){this.size=C;for(var D=0,B=this.layers.length;D<B;D++){this.layers[D].onMapResize();}var A=this.getCenter();if(this.baseLayer!=null&&A!=null){var E=this.getZoom();this.zoom=null;this.setCenter(A,E);}}},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 E=null;if(A==null){A=this.getCenter();}if(B==null){B=this.getResolution();}if((A!=null)&&(B!=null)){var D=this.getSize();var F=D.w*B;var C=D.h*B;E=new OpenLayers.Bounds(A.lon-F/2,A.lat-C/2,A.lon+F/2,A.lat+C/2);}return E;},getCenter:function(){var A=null;if(this.center){A=this.center.clone();}return A;},getZoom:function(){return this.zoom;},pan:function(D,C,E){E=OpenLayers.Util.applyDefaults(E,{animate:true,dragging:false});var F=this.getViewPortPxFromLonLat(this.getCenter());var B=F.add(D,C);if(!E.dragging||!B.equals(F)){var A=this.getLonLatFromViewPortPx(B);if(E.animate){this.panTo(A);}else{this.setCenter(A,null,E.dragging);}}},panTo:function(B){if(this.panMethod&&this.getExtent().scale(this.panRatio).containsLonLat(B)){if(!this.panTween){this.panTween=new OpenLayers.Tween(this.panMethod);}var A=this.getCenter();if(B.lon==A.lon&&B.lat==A.lat){return ;}var D={lon:A.lon,lat:A.lat};var C={lon:B.lon,lat:B.lat};this.panTween.start(D,C,this.panDuration,{callbacks:{start:OpenLayers.Function.bind(function(E){this.events.triggerEvent("movestart");},this),eachStep:OpenLayers.Function.bind(function(E){E=new OpenLayers.LonLat(E.lon,E.lat);this.moveTo(E,this.zoom,{dragging:true,noEvent:true});},this),done:OpenLayers.Function.bind(function(E){E=new OpenLayers.LonLat(E.lon,E.lat);this.moveTo(E,this.zoom,{noEvent:true});this.events.triggerEvent("moveend");},this)}});}else{this.setCenter(B);}},setCenter:function(C,A,B,D){this.moveTo(C,A,{dragging:B,forceZoomChange:D,caller:"setCenter"});},moveTo:function(G,M,P){if(!P){P={};}var L=P.dragging;var C=P.forceZoomChange;var H=P.noEvent;if(this.panTween&&P.caller=="setCenter"){this.panTween.stop();}if(!this.center&&!this.isValidLonLat(G)){G=this.maxExtent.getCenterLonLat();}if(this.restrictedExtent!=null){if(G==null){G=this.getCenter();}if(M==null){M=this.getZoom();}var D=this.getResolutionForZoom(M);var N=this.calculateBounds(G,D);if(!this.restrictedExtent.containsBounds(N)){var O=this.restrictedExtent.getCenterLonLat();if(N.getWidth()>this.restrictedExtent.getWidth()){G=new OpenLayers.LonLat(O.lon,G.lat);}else{if(N.left<this.restrictedExtent.left){G=G.add(this.restrictedExtent.left-N.left,0);}else{if(N.right>this.restrictedExtent.right){G=G.add(this.restrictedExtent.right-N.right,0);}}}if(N.getHeight()>this.restrictedExtent.getHeight()){G=new OpenLayers.LonLat(G.lon,O.lat);}else{if(N.bottom<this.restrictedExtent.bottom){G=G.add(0,this.restrictedExtent.bottom-N.bottom);}else{if(N.top>this.restrictedExtent.top){G=G.add(0,this.restrictedExtent.top-N.top);}}}}}var B=C||((this.isValidZoomLevel(M))&&(M!=this.getZoom()));var E=(this.isValidLonLat(G))&&(!G.equals(this.center));if(B||E||!L){if(!this.dragging&&!H){this.events.triggerEvent("movestart");}if(E){if((!B)&&(this.center)){this.centerLayerContainer(G);}this.center=G.clone();}if((B)||(this.layerContainerOrigin==null)){this.layerContainerOrigin=this.center.clone();this.layerContainerDiv.style.left="0px";this.layerContainerDiv.style.top="0px";}if(B){this.zoom=M;this.resolution=this.getResolutionForZoom(M);this.viewRequestID++;}var A=this.getExtent();if(this.baseLayer.visibility){this.baseLayer.moveTo(A,B,L);if(L){this.baseLayer.events.triggerEvent("move");}else{this.baseLayer.events.triggerEvent("moveend",{zoomChanged:B});}}A=this.baseLayer.getExtent();for(var F=0,J=this.layers.length;F<J;F++){var I=this.layers[F];if(I!==this.baseLayer&&!I.isBaseLayer){var K=I.calculateInRange();if(I.inRange!=K){I.inRange=K;if(!K){I.display(false);}this.events.triggerEvent("changelayer",{layer:I,property:"visibility"});}if(K&&I.visibility){I.moveTo(A,B,L);if(L){I.events.triggerEvent("move");}else{I.events.triggerEvent("moveend",{zoomChanged:B});}}}}if(B){for(var F=0,J=this.popups.length;F<J;F++){this.popups[F].updatePosition();}}this.events.triggerEvent("move");if(B){this.events.triggerEvent("zoomend");}}if(!L&&!H){this.events.triggerEvent("moveend");}this.dragging=!!L;},centerLayerContainer:function(B){var A=this.getViewPortPxFromLonLat(this.layerContainerOrigin);var C=this.getViewPortPxFromLonLat(B);if((A!=null)&&(C!=null)){this.layerContainerDiv.style.left=Math.round(A.x-C.x)+"px";this.layerContainerDiv.style.top=Math.round(A.y-C.y)+"px";}},isValidZoomLevel:function(A){return((A!=null)&&(A>=0)&&(A<this.getNumZoomLevels()));},isValidLonLat:function(C){var B=false;if(C!=null){var A=this.getMaxExtent();B=A.containsLonLat(C);}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(B){var A=null;if(B&&B.restricted&&this.restrictedExtent){A=this.restrictedExtent;}else{if(this.baseLayer!=null){A=this.baseLayer.maxExtent;}}return A;},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 C=null;if(this.baseLayer!=null){var B=this.getResolution();var A=this.baseLayer.units;C=OpenLayers.Util.getScaleFromResolution(B,A);}return C;},getZoomForExtent:function(C,B){var A=null;if(this.baseLayer!=null){A=this.baseLayer.getZoomForExtent(C,B);}return A;},getResolutionForZoom:function(B){var A=null;if(this.baseLayer){A=this.baseLayer.getResolutionForZoom(B);}return A;},getZoomForResolution:function(A,C){var B=null;if(this.baseLayer!=null){B=this.baseLayer.getZoomForResolution(A,C);}return B;},zoomTo:function(A){if(this.isValidZoomLevel(A)){this.setCenter(null,A);}},zoomIn:function(){this.zoomTo(this.getZoom()+1);},zoomOut:function(){this.zoomTo(this.getZoom()-1);},zoomToExtent:function(D,C){var B=D.getCenterLonLat();if(this.baseLayer.wrapDateLine){var A=this.getMaxExtent();D=D.clone();while(D.right<D.left){D.right+=A.getWidth();}B=D.getCenterLonLat().wrapDateLine(A);}this.setCenter(B,this.getZoomForExtent(D,C));},zoomToMaxExtent:function(C){var B=(C)?C.restricted:true;var A=this.getMaxExtent({restricted:B});this.zoomToExtent(A);},zoomToScale:function(H,G){var D=OpenLayers.Util.getResolutionFromScale(H,this.baseLayer.units);var C=this.getSize();var F=C.w*D;var B=C.h*D;var A=this.getCenter();var E=new OpenLayers.Bounds(A.lon-F/2,A.lat-B/2,A.lon+F/2,A.lat+B/2);this.zoomToExtent(E,G);},getLonLatFromViewPortPx:function(A){var B=null;if(this.baseLayer!=null){B=this.baseLayer.getLonLatFromViewPortPx(A);}return B;},getViewPortPxFromLonLat:function(B){var A=null;if(this.baseLayer!=null){A=this.baseLayer.getViewPortPxFromLonLat(B);}return A;},getLonLatFromPixel:function(A){return this.getLonLatFromViewPortPx(A);},getPixelFromLonLat:function(B){var A=this.getViewPortPxFromLonLat(B);A.x=Math.round(A.x);A.y=Math.round(A.y);return A;},getViewPortPxFromLayerPx:function(D){var C=null;if(D!=null){var B=parseInt(this.layerContainerDiv.style.left);var A=parseInt(this.layerContainerDiv.style.top);C=D.add(B,A);}return C;},getLayerPxFromViewPortPx:function(C){var D=null;if(C!=null){var B=-parseInt(this.layerContainerDiv.style.left);var A=-parseInt(this.layerContainerDiv.style.top);D=C.add(B,A);if(isNaN(D.x)||isNaN(D.y)){D=null;}}return D;},getLonLatFromLayerPx:function(A){A=this.getViewPortPxFromLayerPx(A);return this.getLonLatFromViewPortPx(A);},getLayerPxFromLonLat:function(B){var A=this.getPixelFromLonLat(B);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(C,B){this.lonlat=C;var 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(){if(this.icon!=null){this.icon.erase();}},moveTo:function(A){if((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 B=false;if(this.map){var A=this.map.getExtent();B=A.containsLonLat(this.lonlat);}return B;},inflate:function(B){if(this.icon){var A=new OpenLayers.Size(this.icon.size.w*B,this.icon.size.h*B);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";var B=new OpenLayers.Size(21,25);var C=function(D){return new OpenLayers.Pixel(-(D.w/2),-D.h);};return new OpenLayers.Icon(A,B,null,C);};OpenLayers.Popup.FramedCloud=OpenLayers.Class(OpenLayers.Popup.Framed,{contentDisplayClass:"olFramedCloudPopupContent",autoSize:true,panMapIfOutOfView:true,imageSize:new OpenLayers.Size(676,736),isAlphaImage:false,fixedRelativePosition:false,positionBlocks:{tl:{offset:new OpenLayers.Pixel(44,0),padding:new OpenLayers.Bounds(8,40,8,9),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(0,51,22,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null,50,0,0),position:new OpenLayers.Pixel(-638,0)},{size:new OpenLayers.Size("auto",19),anchor:new OpenLayers.Bounds(0,32,22,null),position:new OpenLayers.Pixel(0,-631)},{size:new OpenLayers.Size(22,18),anchor:new OpenLayers.Bounds(null,32,0,null),position:new OpenLayers.Pixel(-638,-632)},{size:new OpenLayers.Size(81,35),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(0,-688)}]},tr:{offset:new OpenLayers.Pixel(-45,0),padding:new OpenLayers.Bounds(8,40,8,9),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(0,51,22,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null,50,0,0),position:new OpenLayers.Pixel(-638,0)},{size:new OpenLayers.Size("auto",19),anchor:new OpenLayers.Bounds(0,32,22,null),position:new OpenLayers.Pixel(0,-631)},{size:new OpenLayers.Size(22,19),anchor:new OpenLayers.Bounds(null,32,0,null),position:new OpenLayers.Pixel(-638,-631)},{size:new OpenLayers.Size(81,35),anchor:new OpenLayers.Bounds(0,0,null,null),position:new OpenLayers.Pixel(-215,-687)}]},bl:{offset:new OpenLayers.Pixel(45,0),padding:new OpenLayers.Bounds(8,9,8,40),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(0,21,22,32),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null,21,0,32),position:new OpenLayers.Pixel(-638,0)},{size:new OpenLayers.Size("auto",21),anchor:new OpenLayers.Bounds(0,0,22,null),position:new OpenLayers.Pixel(0,-629)},{size:new OpenLayers.Size(22,21),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-638,-629)},{size:new OpenLayers.Size(81,33),anchor:new OpenLayers.Bounds(null,null,0,0),position:new OpenLayers.Pixel(-101,-674)}]},br:{offset:new OpenLayers.Pixel(-44,0),padding:new OpenLayers.Bounds(8,9,8,40),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(0,21,22,32),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null,21,0,32),position:new OpenLayers.Pixel(-638,0)},{size:new OpenLayers.Size("auto",21),anchor:new OpenLayers.Bounds(0,0,22,null),position:new OpenLayers.Pixel(0,-629)},{size:new OpenLayers.Size(22,21),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-638,-629)},{size:new OpenLayers.Size(81,33),anchor:new OpenLayers.Bounds(0,null,null,0),position:new OpenLayers.Pixel(-311,-674)}]}},minSize:new OpenLayers.Size(105,10),maxSize:new OpenLayers.Size(600,660),initialize:function(G,C,F,B,A,E,D){this.imageSrc=OpenLayers.Util.getImagesLocation()+"cloud-popup-relative.png";OpenLayers.Popup.Framed.prototype.initialize.apply(this,arguments);this.contentDiv.className=this.contentDisplayClass;},destroy:function(){OpenLayers.Popup.Framed.prototype.destroy.apply(this,arguments);},CLASS_NAME:"OpenLayers.Popup.FramedCloud"});OpenLayers.Request={DEFAULT_CONFIG:{method:"GET",url:window.location.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(B){var E=OpenLayers.Util.extend(this.DEFAULT_CONFIG,{proxy:OpenLayers.ProxyHost});B=OpenLayers.Util.applyDefaults(B,E);var D=new OpenLayers.Request.XMLHttpRequest();var A=B.url;if(B.params){var C=OpenLayers.Util.getParameterString(B.params);if(C.length>0){var G=(A.indexOf("?")>-1)?"&":"?";A+=G+C;}}if(B.proxy&&(A.indexOf("http")==0)){if(typeof B.proxy=="function"){A=B.proxy(A);}else{A=B.proxy+encodeURIComponent(A);}}D.open(B.method,A,B.async,B.user,B.password);for(var F in B.headers){D.setRequestHeader(F,B.headers[F]);}var I=this.events;var H=this;D.onreadystatechange=function(){if(D.readyState==OpenLayers.Request.XMLHttpRequest.DONE){var J=I.triggerEvent("complete",{request:D,config:B,requestUrl:A});if(J!==false){H.runCallbacks({request:D,config:B,requestUrl:A});}}};if(B.async===false){D.send(B.data);}else{window.setTimeout(function(){D.send(B.data);},0);}return D;},runCallbacks:function(D){var E=D.request;var C=D.config;var A=(C.scope)?OpenLayers.Function.bind(C.callback,C.scope):C.callback;var F;if(C.success){F=(C.scope)?OpenLayers.Function.bind(C.success,C.scope):C.success;}var B;if(C.failure){B=(C.scope)?OpenLayers.Function.bind(C.failure,C.scope):C.failure;}A(E);if(!E.status||(E.status>=200&&E.status<300)){this.events.triggerEvent("success",D);if(F){F(E);}}if(E.status&&(E.status<200||E.status>=300)){this.events.triggerEvent("failure",D);if(B){B(E);}}},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:{};if(!("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:{};if(!("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(D,A,E,B,C){OpenLayers.Tile.prototype.initialize.apply(this,arguments);this.url=B;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){if(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;if((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{if(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;var B=(A&&this.bounds.intersectsBounds(A,false));if(B){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(){if(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){return ;}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 D=this.layer.imageOffset;var B=this.layer.getImageSize();if(this.layerAlphaHack){this.imgDiv=OpenLayers.Util.createAlphaImageDiv(null,D,B,null,"relative",null,null,null,true);}else{this.imgDiv=OpenLayers.Util.createImage(null,D,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);if(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");}};if(this.layerAlphaHack){OpenLayers.Event.observe(this.imgDiv.childNodes[0],"load",OpenLayers.Function.bind(C,this));}else{OpenLayers.Event.observe(this.imgDiv,"load",OpenLayers.Function.bind(C,this));}var A=function(){if(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;if(!OpenLayers.Util.isEquivalentUrl(A,this.url)){this.hide();}}},startTransition:function(){if(!this.backBufferTile||!this.backBufferTile.imgDiv){return ;}var D=1;if(this.backBufferTile.resolution){D=this.backBufferTile.resolution/this.layer.getResolution();}if(D!=this.lastRatio){if(this.layer.transitionEffect=="resize"){var C=new OpenLayers.LonLat(this.backBufferTile.bounds.left,this.backBufferTile.bounds.top);var B=new OpenLayers.Size(this.backBufferTile.size.w*D,this.backBufferTile.size.h*D);var A=this.layer.map.getLayerPxFromLonLat(C);OpenLayers.Util.modifyDOMElement(this.backBufferTile.frame,null,A,B);var E=this.backBufferTile.imageSize;E=new OpenLayers.Size(E.w*D,E.h*D);var F=this.backBufferTile.imageOffset;if(F){F=new OpenLayers.Pixel(F.x*D,F.y*D);}OpenLayers.Util.modifyDOMElement(this.backBufferTile.imgDiv,null,F,E);this.backBufferTile.show();}}else{if(this.layer.singleTile){this.backBufferTile.show();}else{this.backBufferTile.hide();}}this.lastRatio=D;},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=(OpenLayers.Util.getBrowserName()=="safari"||OpenLayers.Util.getBrowserName()=="opera");OpenLayers.Control.OverviewMap=OpenLayers.Class(OpenLayers.Control,{element:null,ovmap:null,size:new OpenLayers.Size(180,90),layers:null,minRectSize:15,minRectDisplayClass:"RectReplacement",minRatio:8,maxRatio:32,mapOptions:null,autoPan:false,handlers:null,resolutionFactor:1,initialize:function(A){this.layers=[];this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,[A]);},destroy:function(){if(!this.mapDiv){return ;}this.handlers.click.destroy();this.mapDiv.removeChild(this.extentRectangle);this.extentRectangle=null;this.rectEvents.destroy();this.rectEvents=null;this.ovmap.destroy();this.ovmap=null;this.element.removeChild(this.mapDiv);this.mapDiv=null;this.div.removeChild(this.element);this.element=null;if(this.maximizeDiv){OpenLayers.Event.stopObservingElement(this.maximizeDiv);this.div.removeChild(this.maximizeDiv);this.maximizeDiv=null;}if(this.minimizeDiv){OpenLayers.Event.stopObservingElement(this.minimizeDiv);this.div.removeChild(this.minimizeDiv);this.minimizeDiv=null;}this.map.events.un({moveend:this.update,changebaselayer:this.baseLayerDraw,scope:this});OpenLayers.Control.prototype.destroy.apply(this,arguments);},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);if(!(this.layers.length>0)){if(this.map.baseLayer){var D=this.map.baseLayer.clone();this.layers=[D];}else{this.map.events.register("changebaselayer",this,this.baseLayerDraw);return this.div;}}this.element=document.createElement("div");this.element.className=this.displayClass+"Element";this.element.style.display="none";this.mapDiv=document.createElement("div");this.mapDiv.style.width=this.size.w+"px";this.mapDiv.style.height=this.size.h+"px";this.mapDiv.style.position="relative";this.mapDiv.style.overflow="hidden";this.mapDiv.id=OpenLayers.Util.createUniqueID("overviewMap");this.extentRectangle=document.createElement("div");this.extentRectangle.style.position="absolute";this.extentRectangle.style.zIndex=1000;this.extentRectangle.className=this.displayClass+"ExtentRectangle";this.mapDiv.appendChild(this.extentRectangle);this.element.appendChild(this.mapDiv);this.div.appendChild(this.element);if(!this.outsideViewport){this.div.className+=" "+this.displayClass+"Container";var E=OpenLayers.Util.getImagesLocation();var B=E+"layer-switcher-maximize.png";this.maximizeDiv=OpenLayers.Util.createAlphaImageDiv(this.displayClass+"MaximizeButton",null,new OpenLayers.Size(18,18),B,"absolute");this.maximizeDiv.style.display="none";this.maximizeDiv.className=this.displayClass+"MaximizeButton";OpenLayers.Event.observe(this.maximizeDiv,"click",OpenLayers.Function.bindAsEventListener(this.maximizeControl,this));this.div.appendChild(this.maximizeDiv);var B=E+"layer-switcher-minimize.png";this.minimizeDiv=OpenLayers.Util.createAlphaImageDiv("OpenLayers_Control_minimizeDiv",null,new OpenLayers.Size(18,18),B,"absolute");this.minimizeDiv.style.display="none";this.minimizeDiv.className=this.displayClass+"MinimizeButton";OpenLayers.Event.observe(this.minimizeDiv,"click",OpenLayers.Function.bindAsEventListener(this.minimizeControl,this));this.div.appendChild(this.minimizeDiv);var F=["dblclick","mousedown"];for(var C=0,A=F.length;C<A;C++){OpenLayers.Event.observe(this.maximizeDiv,F[C],OpenLayers.Event.stop);OpenLayers.Event.observe(this.minimizeDiv,F[C],OpenLayers.Event.stop);}this.minimizeControl();}else{this.element.style.display="";}if(this.map.getExtent()){this.update();}this.map.events.register("moveend",this,this.update);return this.div;},baseLayerDraw:function(){this.draw();this.map.events.unregister("changebaselayer",this,this.baseLayerDraw);},rectDrag:function(I){var D=this.handlers.drag.last.x-I.x;var B=this.handlers.drag.last.y-I.y;if(D!=0||B!=0){var G=this.rectPxBounds.top;var A=this.rectPxBounds.left;var E=Math.abs(this.rectPxBounds.getHeight());var C=this.rectPxBounds.getWidth();var F=Math.max(0,(G-B));F=Math.min(F,this.ovmap.size.h-this.hComp-E);var H=Math.max(0,(A-D));H=Math.min(H,this.ovmap.size.w-this.wComp-C);this.setRectPxBounds(new OpenLayers.Bounds(H,F+E,H+C,F));}},mapDivClick:function(I){var B=this.rectPxBounds.getCenterPixel();var E=I.xy.x-B.x;var D=I.xy.y-B.y;var G=this.rectPxBounds.top;var C=this.rectPxBounds.left;var J=Math.abs(this.rectPxBounds.getHeight());var A=this.rectPxBounds.getWidth();var F=Math.max(0,(G+D));F=Math.min(F,this.ovmap.size.h-J);var H=Math.max(0,(C+E));H=Math.min(H,this.ovmap.size.w-A);this.setRectPxBounds(new OpenLayers.Bounds(H,F+J,H+A,F));this.updateMapToRect();},maximizeControl:function(A){this.element.style.display="";this.showToggle(false);if(A!=null){OpenLayers.Event.stop(A);}},minimizeControl:function(A){this.element.style.display="none";this.showToggle(true);if(A!=null){OpenLayers.Event.stop(A);}},showToggle:function(A){this.maximizeDiv.style.display=A?"":"none";this.minimizeDiv.style.display=A?"none":"";},update:function(){if(this.ovmap==null){this.createMap();}if(this.autoPan||!this.isSuitableOverview()){this.updateOverview();}this.updateRectToMap();},isSuitableOverview:function(){var B=this.map.getExtent();var A=this.map.maxExtent;var C=new OpenLayers.Bounds(Math.max(B.left,A.left),Math.max(B.bottom,A.bottom),Math.min(B.right,A.right),Math.min(B.top,A.top));if(this.ovmap.getProjection()!=this.map.getProjection()){C=C.transform(this.map.getProjectionObject(),this.ovmap.getProjectionObject());}var D=this.ovmap.getResolution()/this.map.getResolution();return((D>this.minRatio)&&(D<=this.maxRatio)&&(this.ovmap.getExtent().containsBounds(C)));},updateOverview:function(){var C=this.map.getResolution();var B=this.ovmap.getResolution();var D=B/C;if(D>this.maxRatio){B=this.minRatio*C;}else{if(D<=this.minRatio){B=this.maxRatio*C;}}var A;if(this.ovmap.getProjection()!=this.map.getProjection()){A=this.map.center.clone();A.transform(this.map.getProjectionObject(),this.ovmap.getProjectionObject());}else{A=this.map.center;}this.ovmap.setCenter(A,this.ovmap.getZoomForResolution(B*this.resolutionFactor));this.updateRectToMap();},createMap:function(){var B=OpenLayers.Util.extend({controls:[],maxResolution:"auto",fallThrough:false},this.mapOptions);this.ovmap=new OpenLayers.Map(this.mapDiv,B);OpenLayers.Event.stopObserving(window,"unload",this.ovmap.unloadDestroy);this.ovmap.addLayers(this.layers);this.ovmap.zoomToMaxExtent();this.wComp=parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-left-width"))+parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-right-width"));this.wComp=(this.wComp)?this.wComp:2;this.hComp=parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-top-width"))+parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-bottom-width"));this.hComp=(this.hComp)?this.hComp:2;this.handlers.drag=new OpenLayers.Handler.Drag(this,{move:this.rectDrag,done:this.updateMapToRect},{map:this.ovmap});this.handlers.click=new OpenLayers.Handler.Click(this,{click:this.mapDivClick},{single:true,"double":false,stopSingle:true,stopDouble:true,pixelTolerance:1,map:this.ovmap});this.handlers.click.activate();this.rectEvents=new OpenLayers.Events(this,this.extentRectangle,null,true);this.rectEvents.register("mouseover",this,function(D){if(!this.handlers.drag.active&&!this.map.dragging){this.handlers.drag.activate();}});this.rectEvents.register("mouseout",this,function(D){if(!this.handlers.drag.dragging){this.handlers.drag.deactivate();}});if(this.ovmap.getProjection()!=this.map.getProjection()){var C=this.map.getProjectionObject().getUnits()||this.map.units||this.map.baseLayer.units;var A=this.ovmap.getProjectionObject().getUnits()||this.ovmap.units||this.ovmap.baseLayer.units;this.resolutionFactor=C&&A?OpenLayers.INCHES_PER_UNIT[C]/OpenLayers.INCHES_PER_UNIT[A]:1;}},updateRectToMap:function(){var B;if(this.ovmap.getProjection()!=this.map.getProjection()){B=this.map.getExtent().transform(this.map.getProjectionObject(),this.ovmap.getProjectionObject());}else{B=this.map.getExtent();}var A=this.getRectBoundsFromMapBounds(B);if(A){this.setRectPxBounds(A);}},updateMapToRect:function(){var A=this.getMapBoundsFromRectBounds(this.rectPxBounds);if(this.ovmap.getProjection()!=this.map.getProjection()){A=A.transform(this.ovmap.getProjectionObject(),this.map.getProjectionObject());}this.map.panTo(A.getCenterLonLat());},setRectPxBounds:function(D){var G=Math.max(D.top,0);var E=Math.max(D.left,0);var B=Math.min(D.top+Math.abs(D.getHeight()),this.ovmap.size.h-this.hComp);var H=Math.min(D.left+D.getWidth(),this.ovmap.size.w-this.wComp);var C=Math.max(H-E,0);var I=Math.max(B-G,0);if(C<this.minRectSize||I<this.minRectSize){this.extentRectangle.className=this.displayClass+this.minRectDisplayClass;var F=E+(C/2)-(this.minRectSize/2);var A=G+(I/2)-(this.minRectSize/2);this.extentRectangle.style.top=Math.round(A)+"px";this.extentRectangle.style.left=Math.round(F)+"px";this.extentRectangle.style.height=this.minRectSize+"px";this.extentRectangle.style.width=this.minRectSize+"px";}else{this.extentRectangle.className=this.displayClass+"ExtentRectangle";this.extentRectangle.style.top=Math.round(G)+"px";this.extentRectangle.style.left=Math.round(E)+"px";this.extentRectangle.style.height=Math.round(I)+"px";this.extentRectangle.style.width=Math.round(C)+"px";}this.rectPxBounds=new OpenLayers.Bounds(Math.round(E),Math.round(B),Math.round(H),Math.round(G));},getRectBoundsFromMapBounds:function(D){var A=new OpenLayers.LonLat(D.left,D.bottom);var F=new OpenLayers.LonLat(D.right,D.top);var C=this.getOverviewPxFromLonLat(A);var B=this.getOverviewPxFromLonLat(F);var E=null;if(C&&B){E=new OpenLayers.Bounds(C.x,C.y,B.x,B.y);}return E;},getMapBoundsFromRectBounds:function(D){var C=new OpenLayers.Pixel(D.left,D.bottom);var B=new OpenLayers.Pixel(D.right,D.top);var A=this.getLonLatFromOverviewPx(C);var E=this.getLonLatFromOverviewPx(B);return new OpenLayers.Bounds(A.lon,A.lat,E.lon,E.lat);},getLonLatFromOverviewPx:function(F){var C=this.ovmap.size;var B=this.ovmap.getResolution();var A=this.ovmap.getExtent().getCenterLonLat();var E=F.x-(C.w/2);var D=F.y-(C.h/2);return new OpenLayers.LonLat(A.lon+E*B,A.lat-D*B);},getOverviewPxFromLonLat:function(D){var B=this.ovmap.getResolution();var C=this.ovmap.getExtent();var A=null;if(C){A=new OpenLayers.Pixel(Math.round(1/B*(D.lon-C.left)),Math.round(1/B*(C.top-D.lat)));}return A;},CLASS_NAME:"OpenLayers.Control.OverviewMap"});OpenLayers.Feature=OpenLayers.Class({layer:null,id:null,lonlat:null,data:null,marker:null,popupClass:OpenLayers.Popup.AnchoredBubble,popup:null,initialize:function(A,C,B){this.layer=A;this.lonlat=C;this.data=(B!=null)?B:{};this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");},destroy:function(){if((this.layer!=null)&&(this.layer.map!=null)){if(this.popup!=null){this.layer.map.removePopup(this.popup);}}this.layer=null;this.id=null;this.lonlat=null;this.data=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 B=false;if((this.layer!=null)&&(this.layer.map!=null)){var A=this.layer.map.getExtent();B=A.containsLonLat(this.lonlat);}return B;},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(B){if(this.lonlat!=null){var C=this.id+"_popup";var A=(this.marker)?this.marker.icon:null;if(!this.popup){this.popup=new this.popupClass(C,this.lonlat,this.data.popupSize,this.data.popupContentHTML,A,B);}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.Format.WMSCapabilities=OpenLayers.Class(OpenLayers.Format.XML,{defaultVersion:"1.1.1",version:null,parser:null,initialize:function(A){OpenLayers.Format.XML.prototype.initialize.apply(this,[A]);this.options=A;},read:function(E){if(typeof E=="string"){E=OpenLayers.Format.XML.prototype.read.apply(this,[E]);}var C=E.documentElement;var B=this.version||C.getAttribute("version")||this.defaultVersion;if(!this.parser||this.parser.version!==B){var D=OpenLayers.Format.WMSCapabilities["v"+B.replace(/\./g,"_")];if(!D){throw"Can't find a WMS capabilities parser for version "+B;}var F=new D(this.options);}var A=F.read(E);A.version=B;return A;},CLASS_NAME:"OpenLayers.Format.WMSCapabilities"});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(C,B,A){OpenLayers.Handler.prototype.initialize.apply(this,arguments);if(this.pixelTolerance!=null){this.mousedown=function(D){this.down=D.xy;return true;};}},mousedown:null,mouseup:function(B){var A=true;if(this.checkModifiers(B)&&this.control.handleRightClicks&&OpenLayers.Event.isRightClick(B)){A=this.rightclick(B);}return A;},rightclick:function(B){if(this.passesTolerance(B)){if(this.rightclickTimerId!=null){this.clearTimer();this.callback("dblrightclick",[B]);return !this.stopDouble;}else{var A=this["double"]?OpenLayers.Util.extend({},B):this.callback("rightclick",[B]);var C=OpenLayers.Function.bind(this.delayedRightCall,this,A);this.rightclickTimerId=window.setTimeout(C,this.delay);}}return !this.stopSingle;},delayedRightCall:function(A){this.rightclickTimerId=null;if(A){this.callback("rightclick",[A]);}return !this.stopSingle;},dblclick:function(A){if(this.passesTolerance(A)){if(this["double"]){this.callback("dblclick",[A]);}this.clearTimer();}return !this.stopDouble;},click:function(B){if(this.passesTolerance(B)){if(this.timerId!=null){this.clearTimer();}else{var A=this.single?OpenLayers.Util.extend({},B):null;this.timerId=window.setTimeout(OpenLayers.Function.bind(this.delayedCall,this,A),this.delay);}}return !this.stopSingle;},passesTolerance:function(B){var C=true;if(this.pixelTolerance!=null&&this.down){var A=Math.sqrt(Math.pow(this.down.x-B.xy.x,2)+Math.pow(this.down.y-B.xy.y,2));if(A>this.pixelTolerance){C=false;}}return C;},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;if(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,cursorDragMouseDownClassName:"olCursorDragMouseDown",cursorDragMouseUpClassName:"olCursorDragMouseUp",cursorDragMouseOutClassName:"olCursorDragMouseOut",cursorDragDefaultClassName:"olCursorDragDefault",interval:0,timeoutId:null,initialize:function(C,B,A){OpenLayers.Handler.prototype.initialize.apply(this,arguments);},down:function(A){},move:function(A){},up:function(A){},out:function(A){},mousedown:function(B){var A=true;this.dragging=false;if(this.checkModifiers(B)&&OpenLayers.Event.isLeftClick(B)){this.started=true;this.start=B.xy;this.last=B.xy;try{if(this.map.div.style.removeAttribute){this.map.div.style.removeAttribute("cursor",false);}}catch(C){this.map.div.style.cursor=null;}this.map.div.className=this.cursorDragMouseDownClassName;this.down(B);this.callback("down",[B.xy]);OpenLayers.Event.stop(B);if(!this.oldOnselectstart){this.oldOnselectstart=(document.onselectstart)?document.onselectstart:function(){return true;};document.onselectstart=function(){return false;};}A=!this.stopDown;}else{this.started=false;this.start=null;this.last=null;}return A;},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(B){if(this.started){var A=(this.start!=this.last);this.started=false;this.dragging=false;this.map.div.className=this.cursorDragMouseUpClassName;this.up(B);this.callback("up",[B.xy]);if(A){this.callback("done",[B.xy]);}document.onselectstart=this.oldOnselectstart;}return true;},mouseout:function(B){if(this.started&&OpenLayers.Util.mouseLeft(B,this.map.div)){var A=(this.start!=this.last);this.started=false;this.dragging=false;this.map.div.className=this.cursorDragMouseUpClassName;this.out(B);this.callback("out",[]);if(A){this.callback("done",[B.xy]);}if(document.onselectstart){document.onselectstart=this.oldOnselectstart;}}return true;},click:function(A){return(this.start==this.last);},activate:function(){var A=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.dragging=false;A=true;this.map.div.className=this.cursorDragDefaultClassName;}return A;},deactivate:function(){var A=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.started=false;this.dragging=false;this.start=null;this.last=null;A=true;}return A;},CLASS_NAME:"OpenLayers.Handler.Drag"});OpenLayers.Handler.Feature=OpenLayers.Class(OpenLayers.Handler,{EVENTMAP:{click:{"in":"click",out:"clickout"},mousemove:{"in":"over",out:"out"},dblclick:{"in":"dblclick",out:null},mousedown:{"in":null,out:null},mouseup:{"in":null,out:null}},feature:null,lastFeature:null,down:null,up:null,clickTolerance:4,geometryTypes:null,stopClick:true,stopDown:true,stopUp:false,initialize:function(D,B,C,A){OpenLayers.Handler.prototype.initialize.apply(this,[D,C,A]);this.layer=B;},mousedown:function(A){this.down=A.xy;return this.handle(A)?!this.stopDown:true;},mouseup:function(A){this.up=A.xy;return this.handle(A)?!this.stopUp:true;},click:function(A){return this.handle(A)?!this.stopClick:true;},mousemove:function(A){if(!this.callbacks.over&&!this.callbacks.out){return true;}this.handle(A);return true;},dblclick:function(A){return !this.handle(A);},geometryTypeMatches:function(A){return this.geometryTypes==null||OpenLayers.Util.indexOf(this.geometryTypes,A.geometry.CLASS_NAME)>-1;},handle:function(A){if(this.feature&&!this.feature.layer){this.feature=null;}var C=A.type;var F=false;var E=!!(this.feature);var D=(C=="click"||C=="dblclick");this.feature=this.layer.getFeatureFromEvent(A);if(this.feature&&!this.feature.layer){this.feature=null;}if(this.lastFeature&&!this.lastFeature.layer){this.lastFeature=null;}if(this.feature){var B=(this.feature!=this.lastFeature);if(this.geometryTypeMatches(this.feature)){if(E&&B){if(this.lastFeature){this.triggerCallback(C,"out",[this.lastFeature]);}this.triggerCallback(C,"in",[this.feature]);}else{if(!E||D){this.triggerCallback(C,"in",[this.feature]);}}this.lastFeature=this.feature;F=true;}else{if(this.lastFeature&&(E&&B||D)){this.triggerCallback(C,"out",[this.lastFeature]);}this.feature=null;}}else{if(this.lastFeature&&(E||D)){this.triggerCallback(C,"out",[this.lastFeature]);}}return F;},triggerCallback:function(D,E,B){var C=this.EVENTMAP[D][E];if(C){if(D=="click"&&this.up&&this.down){var A=Math.sqrt(Math.pow(this.up.x-this.down.x,2)+Math.pow(this.up.y-this.down.y,2));if(A<=this.clickTolerance){this.callback(C,B);}}else{this.callback(C,B);}}},activate:function(){var A=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.moveLayerToTop();this.map.events.on({removelayer:this.handleMapEvents,changelayer:this.handleMapEvents,scope:this});A=true;}return A;},deactivate:function(){var A=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.moveLayerBack();this.feature=null;this.lastFeature=null;this.down=null;this.up=null;this.map.events.un({removelayer:this.handleMapEvents,changelayer:this.handleMapEvents,scope:this});A=true;}return A;},handleMapEvents:function(A){if(!A.property||A.property=="order"){this.moveLayerToTop();}},moveLayerToTop:function(){var A=Math.max(this.map.Z_INDEX_BASE.Feature-1,this.layer.getZIndex())+1;this.layer.setZIndex(A);},moveLayerBack:function(){var A=this.layer.getZIndex()-1;if(A>=this.map.Z_INDEX_BASE.Feature){this.layer.setZIndex(A);}else{this.map.setLayerZIndex(this.layer,this.map.getLayerIndex(this.layer));}},CLASS_NAME:"OpenLayers.Handler.Feature"});OpenLayers.Handler.Hover=OpenLayers.Class(OpenLayers.Handler,{delay:500,pixelTolerance:null,stopMove:false,px:null,timerId:null,initialize:function(C,B,A){OpenLayers.Handler.prototype.initialize.apply(this,arguments);},mousemove:function(A){if(this.passesTolerance(A.xy)){this.clearTimer();this.callback("move",[A]);this.px=A.xy;A=OpenLayers.Util.extend({},A);this.timerId=window.setTimeout(OpenLayers.Function.bind(this.delayedCall,this,A),this.delay);}return !this.stopMove;},mouseout:function(A){if(OpenLayers.Util.mouseLeft(A,this.map.div)){this.clearTimer();this.callback("move",[A]);}return true;},passesTolerance:function(B){var C=true;if(this.pixelTolerance&&this.px){var A=Math.sqrt(Math.pow(this.px.x-B.x,2)+Math.pow(this.px.y-B.y,2));if(A<this.pixelTolerance){C=false;}}return C;},clearTimer:function(){if(this.timerId!=null){window.clearTimeout(this.timerId);this.timerId=null;}},delayedCall:function(A){this.callback("pause",[A]);},deactivate:function(){var A=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.clearTimer();A=true;}return A;},CLASS_NAME:"OpenLayers.Handler.Hover"});OpenLayers.Handler.Keyboard=OpenLayers.Class(OpenLayers.Handler,{KEY_EVENTS:["keydown","keyup"],eventListener:null,initialize:function(C,B,A){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 B=0,A=this.KEY_EVENTS.length;B<A;B++){OpenLayers.Event.observe(document,this.KEY_EVENTS[B],this.eventListener);}return true;}else{return false;}},deactivate:function(){var C=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){for(var B=0,A=this.KEY_EVENTS.length;B<A;B++){OpenLayers.Event.stopObserving(document,this.KEY_EVENTS[B],this.eventListener);}C=true;}return C;},handleKeyEvent:function(A){if(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(C,B,A){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(I){if(!this.map||!this.checkModifiers(I)){return ;}var F=false;var J=false;var E=false;var B=OpenLayers.Event.element(I);while((B!=null)&&!E&&!F){if(!F){try{if(B.currentStyle){C=B.currentStyle.overflow;}else{var A=document.defaultView.getComputedStyle(B,null);var C=A.getPropertyValue("overflow");}F=(C&&(C=="auto")||(C=="scroll"));}catch(D){}}if(!J){for(var G=0,H=this.map.layers.length;G<H;G++){if(B==this.map.layers[G].div||B==this.map.layers[G].pane){J=true;break;}}}E=(B==this.map.div);B=B.parentNode;}if(!F&&E){if(J){this.wheelZoom(I);}OpenLayers.Event.stop(I);}},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());}if(B<0){this.callback("down",[A,B]);}else{this.callback("up",[A,B]);}}},mousemove:function(A){this.mousePosition=A.xy;},activate:function(A){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){var B=this.wheelListener;OpenLayers.Event.observe(window,"DOMMouseScroll",B);OpenLayers.Event.observe(window,"mousewheel",B);OpenLayers.Event.observe(document,"mousewheel",B);return true;}else{return false;}},deactivate:function(A){if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){var B=this.wheelListener;OpenLayers.Event.stopObserving(window,"DOMMouseScroll",B);OpenLayers.Event.stopObserving(window,"mousewheel",B);OpenLayers.Event.stopObserving(document,"mousewheel",B);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(B,A){this.addOptions(A);this.name=B;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);if(this.eventListeners instanceof Object){this.events.on(this.eventListeners);}}if(this.wrapDateLine){this.displayOutsideMaxExtent=true;}},destroy:function(A){if(A==null){A=true;}if(this.map!=null){this.map.removeLayer(this,A);}this.projection=null;this.map=null;this.name=null;this.div=null;this.options=null;if(this.events){if(this.eventListeners){this.events.un(this.eventListeners);}this.events.destroy();}this.eventListeners=null;this.events=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;if(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 B=false;if(this.map){this.inRange=this.calculateInRange();var C=this.getExtent();if(C&&this.inRange&&this.visibility){var A=true;this.moveTo(C,A,false);this.events.triggerEvent("moveend",{zoomChanged:A});B=true;}}return B;},moveTo:function(B,A,C){var D=this.visibility;if(!this.isBaseLayer){D=D&&this.inRange;}this.display(D);},setMap:function(B){if(this.map==null){this.map=B;this.maxExtent=this.maxExtent||this.map.maxExtent;this.projection=this.projection||this.map.projection;if(this.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();var A=((this.visibility)&&(this.inRange));this.div.style.display=A?"":"none";}this.setTileSize();}},afterAdd:function(){},removeMap:function(A){},getImageSize:function(){return(this.imageSize||this.tileSize);},setTileSize:function(A){var B=(A)?A:((this.tileSize)?this.tileSize:this.map.getTileSize());this.tileSize=B;if(this.gutter){this.imageOffset=new OpenLayers.Pixel(-this.gutter,-this.gutter);this.imageSize=new OpenLayers.Size(B.w+(2*this.gutter),B.h+(2*this.gutter));}},getVisibility:function(){return this.visibility;},setVisibility:function(A){if(A!=this.visibility){this.visibility=A;this.display(A);this.redraw();if(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 B=false;if(this.alwaysInRange){B=true;}else{if(this.map){var A=this.map.getResolution();B=((A>=this.minResolution)&&(A<=this.maxResolution));}}return B;},setIsBaseLayer:function(A){if(A!=this.isBaseLayer){this.isBaseLayer=A;if(this.map!=null){this.map.events.triggerEvent("changebaselayer",{layer:this});}}},initResolutions:function(){var M=new Array("projection","units","scales","resolutions","maxScale","minScale","maxResolution","minResolution","minExtent","maxExtent","numZoomLevels","maxZoomLevel");var B=["projection","units"];var E=false;var D={};for(var F=0,I=M.length;F<I;F++){var O=M[F];if(this.options[O]&&OpenLayers.Util.indexOf(B,O)==-1){E=true;}D[O]=this.options[O]||this.map[O];}if(this.alwaysInRange==null){this.alwaysInRange=!E;}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=[];for(var F=0,I=D.scales.length;F<I;F++){var C=D.scales[F];D.resolutions[F]=OpenLayers.Util.getResolutionFromScale(C,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"){var N=this.map.getSize();var L=D.maxExtent.getWidth()/N.w;var H=D.maxExtent.getHeight()/N.h;D.maxResolution=Math.max(L,H);}}if(D.maxScale!=null){D.minResolution=OpenLayers.Util.getResolutionFromScale(D.maxScale,D.units);}else{if((D.minResolution=="auto")&&(D.minExtent!=null)){var N=this.map.getSize();var L=D.minExtent.getWidth()/N.w;var H=D.minExtent.getHeight()/N.h;D.minResolution=Math.max(L,H);}}if(D.minResolution!=null&&this.options.numZoomLevels==undefined){var K=D.maxResolution/D.minResolution;D.numZoomLevels=Math.floor(Math.log(K)/Math.log(2))+1;}D.resolutions=new Array(D.numZoomLevels);var A=2;if(typeof D.minResolution=="number"&&D.numZoomLevels>1){A=Math.pow((D.maxResolution/D.minResolution),(1/(D.numZoomLevels-1)));}for(var F=0;F<D.numZoomLevels;F++){var J=D.maxResolution/Math.pow(A,F);D.resolutions[F]=J;}}D.resolutions.sort(function(Q,P){return(P-Q);});this.resolutions=D.resolutions;this.maxResolution=D.resolutions[0];var G=D.resolutions.length-1;this.minResolution=D.resolutions[G];this.scales=[];for(var F=0,I=D.resolutions.length;F<I;F++){this.scales[F]=OpenLayers.Util.getScaleFromResolution(D.resolutions[F],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(B,C){var D=this.map.getSize();var A=Math.max(B.getWidth()/D.w,B.getHeight()/D.h);return this.getZoomForResolution(A,C);},getDataExtent:function(){},getResolutionForZoom:function(C){C=Math.max(0,Math.min(C,this.resolutions.length-1));var B;if(this.map.fractionalZoom){var A=Math.floor(C);var D=Math.ceil(C);B=this.resolutions[A]-((C-A)*(this.resolutions[A]-this.resolutions[D]));}else{B=this.resolutions[Math.round(C)];}return B;},getZoomForResolution:function(E,A){var M;if(this.map.fractionalZoom){var J=0;var C=this.resolutions.length-1;var D=this.resolutions[J];var B=this.resolutions[C];var I;for(var F=0,G=this.resolutions.length;F<G;++F){I=this.resolutions[F];if(I>=E){D=I;J=F;}if(I<=E){B=I;C=F;break;}}var H=D-B;if(H>0){M=J+((D-E)/H);}else{M=J;}}else{var K;var L=Number.POSITIVE_INFINITY;for(var F=0,G=this.resolutions.length;F<G;F++){if(A){K=Math.abs(this.resolutions[F]-E);if(K>L){break;}L=K;}else{if(this.resolutions[F]<E){break;}}}M=Math.max(0,F-1);}return M;},getLonLatFromViewPortPx:function(B){var E=null;if(B!=null){var D=this.map.getSize();var A=this.map.getCenter();if(A){var C=this.map.getResolution();var G=B.x-(D.w/2);var F=B.y-(D.h/2);E=new OpenLayers.LonLat(A.lon+G*C,A.lat-F*C);if(this.wrapDateLine){E=E.wrapDateLine(this.maxExtent);}}}return E;},getViewPortPxFromLonLat:function(D){var B=null;if(D!=null){var A=this.map.getResolution();var C=this.map.getExtent();B=new OpenLayers.Pixel((1/A*(D.lon-C.left)),(1/A*(C.top-D.lat)));}return B;},setOpacity:function(B){if(B!=this.opacity){this.opacity=B;for(var D=0,A=this.div.childNodes.length;D<A;++D){var C=this.div.childNodes[D].firstChild;OpenLayers.Util.modifyDOMElement(C,null,null,null,null,null,null,B);}if(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(B){if(this.gutter){var A=this.gutter*this.map.getResolution();B=new OpenLayers.Bounds(B.left-A,B.bottom-A,B.right+A,B.top+A);}if(this.wrapDateLine){var C={rightTolerance:this.getResolution()};B=B.wrapDateLine(this.maxExtent,C);}return B;},CLASS_NAME:"OpenLayers.Layer"});(function(){var D=window.XMLHttpRequest;var H=!!window.controllers,E=window.document.all&&!window.opera;function C(){this._object=D?new D:new window.ActiveXObject("Microsoft.XMLHTTP");}if(H&&D.wrapped){C.wrapped=D.wrapped;}C.UNSENT=0;C.OPENED=1;C.HEADERS_RECEIVED=2;C.LOADING=3;C.DONE=4;C.prototype.readyState=C.UNSENT;C.prototype.responseText="";C.prototype.responseXML=null;C.prototype.status=0;C.prototype.statusText="";C.prototype.onreadystatechange=null;C.onreadystatechange=null;C.onopen=null;C.onsend=null;C.onabort=null;C.prototype.open=function(L,O,K,P,J){this._async=K;var N=this,M=this.readyState;if(E){var I=function(){if(N._object.readyState!=C.DONE){A(N);}};if(K){window.attachEvent("onunload",I);}}this._object.onreadystatechange=function(){if(H&&!K){return ;}N.readyState=N._object.readyState;G(N);if(N._aborted){N.readyState=C.UNSENT;return ;}if(N.readyState==C.DONE){A(N);if(E&&K){window.detachEvent("onunload",I);}}if(M!=N.readyState){F(N);}M=N.readyState;};if(C.onopen){C.onopen.apply(this,arguments);}this._object.open(L,O,K,P,J);if(!K&&H){this.readyState=C.OPENED;F(this);}};C.prototype.send=function(I){if(C.onsend){C.onsend.apply(this,arguments);}if(I&&I.nodeType){I=window.XMLSerializer?new window.XMLSerializer().serializeToString(I):I.xml;if(!this._headers["Content-Type"]){this._object.setRequestHeader("Content-Type","application/xml");}}this._object.send(I);if(H&&!this._async){this.readyState=C.OPENED;G(this);while(this.readyState<C.DONE){this.readyState++;F(this);if(this._aborted){return ;}}}};C.prototype.abort=function(){if(C.onabort){C.onabort.apply(this,arguments);}if(this.readyState>C.UNSENT){this._aborted=true;}this._object.abort();A(this);};C.prototype.getAllResponseHeaders=function(){return this._object.getAllResponseHeaders();};C.prototype.getResponseHeader=function(I){return this._object.getResponseHeader(I);};C.prototype.setRequestHeader=function(I,J){if(!this._headers){this._headers={};}this._headers[I]=J;return this._object.setRequestHeader(I,J);};C.prototype.toString=function(){return"[object XMLHttpRequest]";};C.toString=function(){return"[XMLHttpRequest]";};function F(I){if(I.onreadystatechange){I.onreadystatechange.apply(I);}if(C.onreadystatechange){C.onreadystatechange.apply(I);}}function B(J){var I=J.responseXML;if(E&&I&&!I.documentElement&&J.getResponseHeader("Content-Type").match(/[^\/]+\/[^\+]+\+xml/)){I=new ActiveXObject("Microsoft.XMLDOM");I.loadXML(J.responseText);}if(I){if((E&&I.parseError!=0)||(I.documentElement&&I.documentElement.tagName=="parsererror")){return null;}}return I;}function G(I){try{I.responseText=I._object.responseText;}catch(J){}try{I.responseXML=B(I._object);}catch(J){}try{I.status=I._object.status;}catch(J){}try{I.statusText=I._object.statusText;}catch(J){}}function A(I){I._object.onreadystatechange=new window.Function;delete I._headers;}if(!window.Function.prototype.apply){window.Function.prototype.apply=function(I,J){if(!J){J=[];}I.__func=this;I.__func(J[0],J[1],J[2],J[3],J[4]);delete I.__func;};}OpenLayers.Request.XMLHttpRequest=C;})();OpenLayers.ProxyHost="";OpenLayers.nullHandler=function(A){OpenLayers.Console.userError(OpenLayers.i18n("unhandledRequest",{statusText:A.statusText}));};OpenLayers.loadURL=function(D,G,B,E,C){if(typeof G=="string"){G=OpenLayers.Util.getParameters(G);}var F=(E)?E:OpenLayers.nullHandler;var A=(C)?C:OpenLayers.nullHandler;return OpenLayers.Request.GET({url:D,params:G,success:F,failure:A,scope:B});};OpenLayers.parseXMLString=function(C){var A=C.indexOf("<");if(A>0){C=C.substring(A);}var B=OpenLayers.Util.Try(function(){var D=new ActiveXObject("Microsoft.XMLDOM");D.loadXML(C);return D;},function(){return new DOMParser().parseFromString(C,"text/xml");},function(){var D=new XMLHttpRequest();D.open("GET","data:text/xml;charset=utf-8,"+encodeURIComponent(C),false);if(D.overrideMimeType){D.overrideMimeType("text/xml");}D.send(null);return D.responseXML;});return B;};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(B){for(var A=0;A<this.responders.length;A++){if(B==this.responders[A]){return ;}}this.responders.push(B);},unregister:function(A){OpenLayers.Util.removeItem(this.reponders,A);},dispatch:function(F,C,E){var A;for(var B=0;B<this.responders.length;B++){A=this.responders[B];if(A[F]&&typeof A[F]=="function"){try{A[F].apply(A,[C,E]);}catch(D){}}}}};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(B,A){OpenLayers.Ajax.Base.prototype.initialize.apply(this,[A]);if(OpenLayers.ProxyHost&&OpenLayers.String.startsWith(B,"http")){B=OpenLayers.ProxyHost+encodeURIComponent(B);}this.transport=OpenLayers.Ajax.getTransport();this.request(B);},request:function(B){this.url=B;this.method=this.options.method;var D=OpenLayers.Util.extend({},this.options.parameters);if(this.method!="get"&&this.method!="post"){D._method=this.method;this.method="post";}this.parameters=D;if(D=OpenLayers.Util.getParameterString(D)){if(this.method=="get"){this.url+=((this.url.indexOf("?")>-1)?"&":"?")+D;}else{if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){D+="&_=";}}}try{var A=new OpenLayers.Ajax.Response(this);if(this.options.onCreate){this.options.onCreate(A);}OpenLayers.Ajax.Responders.dispatch("onCreate",this,A);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(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||D):null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType){this.onStateChange();}}catch(C){this.dispatchException(C);}},onStateChange:function(){var A=this.transport.readyState;if(A>1&&!((A==4)&&this._complete)){this.respondToReadyState(this.transport.readyState);}},setRequestHeaders:function(){var E={"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*",OpenLayers:true};if(this.method=="post"){E["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){E.Connection="close";}}if(typeof this.options.requestHeaders=="object"){var C=this.options.requestHeaders;if(typeof C.push=="function"){for(var B=0,D=C.length;B<D;B+=2){E[C[B]]=C[B+1];}}else{for(var B in C){E[B]=C[B];}}}for(var A in E){this.transport.setRequestHeader(A,E[A]);}},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){var C=OpenLayers.Ajax.Request.Events[A];var B=new OpenLayers.Ajax.Response(this);if(C=="Complete"){try{this._complete=true;(this.options["on"+B.status]||this.options["on"+(this.success()?"Success":"Failure")]||OpenLayers.Ajax.emptyFunction)(B);}catch(D){this.dispatchException(D);}var E=B.getHeader("Content-type");}try{(this.options["on"+C]||OpenLayers.Ajax.emptyFunction)(B);OpenLayers.Ajax.Responders.dispatch("on"+C,this,B);}catch(D){this.dispatchException(D);}if(C=="Complete"){this.transport.onreadystatechange=OpenLayers.Ajax.emptyFunction;}},getHeader:function(A){try{return this.transport.getResponseHeader(A);}catch(B){return null;}},dispatchException:function(C){var D=this.options.onException;if(D){D(this,C);OpenLayers.Ajax.Responders.dispatch("onException",this,C);}else{var E=false;var A=OpenLayers.Ajax.Responders.responders;for(var B=0;B<A.length;B++){if(A[B].onException){E=true;break;}}if(E){OpenLayers.Ajax.Responders.dispatch("onException",this,C);}else{throw C;}}}});OpenLayers.Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];OpenLayers.Ajax.Response=OpenLayers.Class({status:0,statusText:"",initialize:function(C){this.request=C;var D=this.transport=C.transport,A=this.readyState=D.readyState;if((A>2&&!(!!(window.attachEvent&&!window.opera)))||A==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=D.responseText==null?"":String(D.responseText);}if(A==4){var B=D.responseXML;this.responseXML=B===undefined?null:B;}},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(B,A,C,E){var D=null;if(B.getElementsByTagNameNS){D=B.getElementsByTagNameNS(A,E);}else{D=B.getElementsByTagName(C+":"+E);}return D;};OpenLayers.Ajax.serializeXMLToString=function(A){var B=new XMLSerializer();var C=B.serializeToString(A);return C;};OpenLayers.Control.DragFeature=OpenLayers.Class(OpenLayers.Control,{geometryTypes:null,onStart:function(B,A){},onDrag:function(B,A){},onComplete:function(B,A){},layer:null,feature:null,dragCallbacks:{},featureCallbacks:{},lastPixel:null,initialize:function(B,A){OpenLayers.Control.prototype.initialize.apply(this,[A]);this.layer=B;this.handlers={drag:new OpenLayers.Handler.Drag(this,OpenLayers.Util.extend({down:this.downFeature,move:this.moveFeature,up:this.upFeature,out:this.cancel,done:this.doneDragging},this.dragCallbacks)),feature:new OpenLayers.Handler.Feature(this,this.layer,OpenLayers.Util.extend({over:this.overFeature,out:this.outFeature},this.featureCallbacks),{geometryTypes:this.geometryTypes})};},destroy:function(){this.layer=null;OpenLayers.Control.prototype.destroy.apply(this,[]);},activate:function(){return(this.handlers.feature.activate()&&OpenLayers.Control.prototype.activate.apply(this,arguments));},deactivate:function(){this.handlers.drag.deactivate();this.handlers.feature.deactivate();this.feature=null;this.dragging=false;this.lastPixel=null;OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass+"Over");return OpenLayers.Control.prototype.deactivate.apply(this,arguments);},overFeature:function(A){if(!this.handlers.drag.dragging){this.feature=A;this.handlers.drag.activate();this.over=true;OpenLayers.Element.addClass(this.map.viewPortDiv,this.displayClass+"Over");}else{if(this.feature.id==A.id){this.over=true;}else{this.over=false;}}},downFeature:function(A){this.lastPixel=A;this.onStart(this.feature,A);},moveFeature:function(A){var B=this.map.getResolution();this.feature.geometry.move(B*(A.x-this.lastPixel.x),B*(this.lastPixel.y-A.y));this.layer.drawFeature(this.feature);this.lastPixel=A;this.onDrag(this.feature,A);},upFeature:function(A){if(!this.over){this.handlers.drag.deactivate();}},doneDragging:function(A){this.onComplete(this.feature,A);},outFeature:function(A){if(!this.handlers.drag.dragging){this.over=false;this.handlers.drag.deactivate();OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass+"Over");this.feature=null;}else{if(this.feature.id==A.id){this.over=false;}}},cancel:function(){this.handlers.drag.deactivate();this.over=false;},setMap:function(A){this.handlers.drag.setMap(A);this.handlers.feature.setMap(A);OpenLayers.Control.prototype.setMap.apply(this,arguments);},CLASS_NAME:"OpenLayers.Control.DragFeature"});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.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(C,A,B){OpenLayers.Feature.prototype.initialize.apply(this,[null,null,A]);this.lonlat=null;this.geometry=C?C:null;this.state=null;this.attributes={};if(A){this.attributes=OpenLayers.Util.extend(this.attributes,A);}this.style=B?B: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(D){var C=false;if(this.layer&&this.layer.map){var A=this.layer.map.getExtent();if(D){var B=this.geometry.getBounds();C=A.intersectsBounds(B);}else{var E=A.toGeometry();C=E.intersects(this.geometry);}}return C;},createMarker:function(){return null;},destroyMarker:function(){},createPopup:function(){return null;},atPoint:function(B,D,C){var A=false;if(this.geometry){A=this.geometry.atPoint(B,D,C);}return A;},destroyPopup:function(){},move:function(A){if(!this.layer||!this.geometry.move){return ;}var B;if(A.CLASS_NAME=="OpenLayers.LonLat"){B=this.layer.getViewPortPxFromLonLat(A);}else{B=A;}var D=this.layer.getViewPortPxFromLonLat(this.geometry.getBounds().getCenterLonLat());var C=this.layer.map.getResolution();this.geometry.move(C*(B.x-D.x),C*(D.y-B.y));this.layer.drawFeature(this);return D;},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.Format.WMSCapabilities.v1_1=OpenLayers.Class(OpenLayers.Format.XML,{initialize:function(A){OpenLayers.Format.XML.prototype.initialize.apply(this,[A]);this.options=A;},read:function(C){if(typeof C=="string"){C=OpenLayers.Format.XML.prototype.read.apply(this,[C]);}var A={};var B=C.documentElement;this.runChildNodes(A,B);return A;},runChildNodes:function(F,E){var C=E.childNodes;var B,D;for(var A=0;A<C.length;++A){B=C[A];if(B.nodeType==1){D=this["read_cap_"+B.nodeName];if(D){D.apply(this,[F,B]);}}}},read_cap_Service:function(B,C){var A={};this.runChildNodes(A,C);B.service=A;},read_cap_Fees:function(A,C){var B=this.getChildValue(C);if(B&&B.toLowerCase()!="none"){A.fees=B;}},read_cap_AccessConstraints:function(A,B){var C=this.getChildValue(B);if(C&&C.toLowerCase()!="none"){A.accessConstraints=C;}},read_cap_ContactInformation:function(B,C){var A={};this.runChildNodes(A,C);B.contactInformation=A;},read_cap_ContactPersonPrimary:function(B,C){var A={};this.runChildNodes(A,C);B.personPrimary=A;},read_cap_ContactPerson:function(B,C){var A=this.getChildValue(C);if(A){B.person=A;}},read_cap_ContactOrganization:function(B,C){var A=this.getChildValue(C);if(A){B.organization=A;}},read_cap_ContactPosition:function(B,C){var A=this.getChildValue(C);if(A){B.position=A;}},read_cap_ContactAddress:function(A,B){var C={};this.runChildNodes(C,B);A.contactAddress=C;},read_cap_AddressType:function(C,B){var A=this.getChildValue(B);if(A){C.type=A;}},read_cap_Address:function(C,B){var A=this.getChildValue(B);if(A){C.address=A;}},read_cap_City:function(C,A){var B=this.getChildValue(A);if(B){C.city=B;}},read_cap_StateOrProvince:function(C,A){var B=this.getChildValue(A);if(B){C.stateOrProvince=B;}},read_cap_PostCode:function(C,B){var A=this.getChildValue(B);if(A){C.postcode=A;}},read_cap_Country:function(C,A){var B=this.getChildValue(A);if(B){C.country=B;}},read_cap_ContactVoiceTelephone:function(A,C){var B=this.getChildValue(C);if(B){A.phone=B;}},read_cap_ContactFacsimileTelephone:function(A,C){var B=this.getChildValue(C);if(B){A.fax=B;}},read_cap_ContactElectronicMailAddress:function(A,C){var B=this.getChildValue(C);if(B){A.email=B;}},read_cap_Capability:function(A,C){var B={layers:[]};this.runChildNodes(B,C);A.capability=B;},read_cap_Request:function(C,B){var A={};this.runChildNodes(A,B);C.request=A;},read_cap_GetMap:function(C,B){var A={formats:[]};this.runChildNodes(A,B);C.getmap=A;},read_cap_GetCapabilities:function(B,A){var C={formats:[]};this.runChildNodes(C,A);B.getcapabilities=C;},read_cap_GetFeatureInfo:function(B,A){var C={formats:[]};this.runChildNodes(C,A);B.getfeatureinfo=C;},read_cap_DescribeLayer:function(C,B){var A={formats:[]};this.runChildNodes(A,B);C.describelayer=A;},read_cap_GetLegendGraphic:function(C,B){var A={formats:[]};this.runChildNodes(A,B);C.getlegendgraphic=A;},read_cap_GetStyles:function(C,B){var A={formats:[]};this.runChildNodes(A,B);C.getstyles=A;},read_cap_PutStyles:function(C,B){var A={formats:[]};this.runChildNodes(A,B);C.putstyles=A;},read_cap_Format:function(C,A){var B=this.getChildValue(A);if(C.formats){C.formats.push(B);}else{C.format=B;}},read_cap_DCPType:function(C,B){var A=B.getElementsByTagName("OnlineResource");if(A.length>0){this.read_cap_OnlineResource(C,A[0]);}},read_cap_Exception:function(A,C){var B={formats:[]};this.runChildNodes(B,C);A.exception=B;},read_cap_UserDefinedSymbolization:function(A,B){var C={supportSLD:parseInt(B.getAttribute("SupportSLD"))==1,userLayer:parseInt(B.getAttribute("UserLayer"))==1,userStyle:parseInt(B.getAttribute("UserStyle"))==1,remoteWFS:parseInt(B.getAttribute("RemoteWFS"))==1};A.userSymbols=C;},read_cap_Layer:function(D,M,P){var Q={formats:D.request.getmap.formats||[],styles:[],srs:{},bbox:{},dimensions:{},metadataURLs:[],authorityURLs:{},identifiers:{},keywords:[]};if(P){Q.styles=Q.styles.concat(P.styles);var G=["queryable","cascaded","fixedWidth","fixedHeight","opaque","noSubsets","llbbox","minScale","maxScale","attribution"];var J=["srs","bbox","dimensions","authorityURLs"];var R;for(var O=0;O<G.length;O++){R=G[O];if(R in P){Q[R]=P[R];}}for(var O=0;O<J.length;O++){R=J[O];Q[R]=OpenLayers.Util.extend(Q[R],P[R]);}}var N=["cascaded","fixedWidth","fixedHeight"];var I=["queryable","opaque","noSubsets"];for(var O=0;O<N.length;O++){var L=N[O];var H=M.getAttributeNode(L);if(H&&H.specified){Q[L]=parseInt(H.value);}else{if(!(L in Q)){Q[L]=0;}}}for(var O=0;O<I.length;O++){var L=I[O];var H=M.getAttributeNode(L);if(H&&H.specified){var K=H.value;Q[L]=(K==="1"||K==="true");}else{if(!(L in Q)){Q[L]=false;}}}var E=M.childNodes;var C,A,B;for(var O=0;O<E.length;++O){C=E[O];A=C.nodeName;B=this["read_cap_"+C.nodeName];if(B){if(A=="Layer"){B.apply(this,[D,C,Q]);}else{B.apply(this,[Q,C]);}}}if(Q.name){var F=Q.name.indexOf(":");if(F>0){Q.prefix=Q.name.substring(0,F);}D.layers.push(Q);}},read_cap_ScaleHint:function(E,F){var D=F.getAttribute("min");var A=F.getAttribute("max");var C=Math.pow(2,0.5);var B=OpenLayers.INCHES_PER_UNIT.m;E.maxScale=parseFloat(((D/C)*B*OpenLayers.DOTS_PER_INCH).toPrecision(13));E.minScale=parseFloat(((A/C)*B*OpenLayers.DOTS_PER_INCH).toPrecision(13));},read_cap_Name:function(C,B){var A=this.getChildValue(B);if(A){C.name=A;}},read_cap_Title:function(B,A){var C=this.getChildValue(A);if(C){B.title=C;}},read_cap_Abstract:function(C,B){var A=this.getChildValue(B);if(A){C["abstract"]=A;}},read_cap_Attribution:function(C,B){var A={};this.runChildNodes(A,B);C.attribution=A;},read_cap_LogoURL:function(B,A){B.logo={width:A.getAttribute("width"),height:A.getAttribute("height")};this.runChildNodes(B.logo,A);},read_cap_MetadataURL:function(A,B){var C={};this.runChildNodes(C,B);C.type=B.getAttribute("type");A.metadataURLs.push(C);},read_cap_DataURL:function(A,B){A.dataURL={};this.runChildNodes(A.dataURL,B);},read_cap_FeatureListURL:function(A,B){A.featureListURL={};this.runChildNodes(A.featureListURL,B);},read_cap_AuthorityURL:function(B,C){var A=C.getAttribute("name");if(!(A in B.authorityURLs)){var D={};this.runChildNodes(D,C);B.authorityURLs[A]=D.href;}else{return ;}},read_cap_Identifier:function(A,B){var C=B.getAttribute("authority");if(C in A.authorityURLs){A.identifiers[C]=this.getChildValue(B);}else{return ;}},read_cap_KeywordList:function(A,B){var C=A;this.runChildNodes(C,B);},read_cap_Keyword:function(B,A){if(B.keywords){B.keywords.push(this.getChildValue(A));}},read_cap_LatLonBoundingBox:function(A,B){A.llbbox=[parseFloat(B.getAttribute("minx")),parseFloat(B.getAttribute("miny")),parseFloat(B.getAttribute("maxx")),parseFloat(B.getAttribute("maxy"))];},read_cap_BoundingBox:function(B,C){var D={};D.srs=C.getAttribute("SRS");D.bbox=[parseFloat(C.getAttribute("minx")),parseFloat(C.getAttribute("miny")),parseFloat(C.getAttribute("maxx")),parseFloat(C.getAttribute("maxy"))];var A={x:parseFloat(C.getAttribute("resx")),y:parseFloat(C.getAttribute("resy"))};if(!(isNaN(A.x)&&isNaN(A.y))){D.res=A;}B.bbox[D.srs]=D;},read_cap_Style:function(A,C){var B={};this.runChildNodes(B,C);A.styles.push(B);},read_cap_Dimension:function(B,C){var A=C.getAttribute("name").toLowerCase();if(A in B.dimensions){return ;}var D={name:A,units:C.getAttribute("units"),unitsymbol:C.getAttribute("unitSymbol")};B.dimensions[D.name]=D;},read_cap_Extent:function(C,E){var B=E.getAttribute("name").toLowerCase();if(B in C.dimensions){var D=C.dimensions[B];D.nearestVal=E.getAttribute("nearestValue")==="1";D.multipleVal=E.getAttribute("multipleValues")==="1";D.current=E.getAttribute("current")==="1";D["default"]=E.getAttribute("default")||"";var A=this.getChildValue(E);D.values=A.split(",");}else{return ;}},read_cap_LegendURL:function(A,B){A.legend={width:B.getAttribute("width"),height:B.getAttribute("height")};this.runChildNodes(A.legend,B);},read_cap_OnlineResource:function(B,A){B.href=this.getAttributeNS(A,"http://www.w3.org/1999/xlink","href");},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_1"});OpenLayers.Handler.Box=OpenLayers.Class(OpenLayers.Handler,{dragHandler:null,boxDivClassName:"olHandlerBoxZoomBox",cursorStartBoxClassName:"olCursorStartBox",cursorEndBoxClassName:"olCursorEndBox",cursorDefaultBoxClassName:"olCursorDefaultBox",boxCharacteristics:null,initialize:function(C,B,A){OpenLayers.Handler.prototype.initialize.apply(this,arguments);var 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);if(this.dragHandler){this.dragHandler.setMap(A);}},startBox:function(A){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);this.map.div.className=this.cursorStartBoxClassName;},moveBox:function(F){var D=this.dragHandler.start.x;var B=this.dragHandler.start.y;var C=Math.abs(D-F.x);var A=Math.abs(B-F.y);this.zoomBox.style.width=Math.max(1,C)+"px";this.zoomBox.style.height=Math.max(1,A)+"px";this.zoomBox.style.left=F.x<D?F.x+"px":D+"px";this.zoomBox.style.top=F.y<B?F.y+"px":B+"px";var E=this.getBoxCharacteristics();if(E.newBoxModel){if(F.x>D){this.zoomBox.style.width=Math.max(1,C-E.xOffset)+"px";}if(F.y>B){this.zoomBox.style.height=Math.max(1,A-E.yOffset)+"px";}}},endBox:function(B){var A;if(Math.abs(this.dragHandler.start.x-B.x)>5||Math.abs(this.dragHandler.start.y-B.y)>5){var G=this.dragHandler.start;var F=Math.min(G.y,B.y);var C=Math.max(G.y,B.y);var E=Math.min(G.x,B.x);var D=Math.max(G.x,B.x);A=new OpenLayers.Bounds(E,C,D,F);}else{A=this.dragHandler.start.clone();}this.removeBox();this.map.div.className=this.cursorEndBoxClassName;this.callback("done",[A]);},removeBox:function(){this.map.viewPortDiv.removeChild(this.zoomBox);this.zoomBox=null;this.boxCharacteristics=null;},activate:function(){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.dragHandler.activate();this.map.div.className=this.cursorDefaultBoxClassName;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;var C=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-top-width"))+parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-bottom-width"))+1;var B=OpenLayers.Util.getBrowserName()=="msie"?document.compatMode!="BackCompat":true;this.boxCharacteristics={xOffset:A,yOffset:C,newBoxModel:B};}return this.boxCharacteristics;},CLASS_NAME:"OpenLayers.Handler.Box"});OpenLayers.Handler.RegularPolygon=OpenLayers.Class(OpenLayers.Handler.Drag,{sides:4,radius:null,snapAngle:null,snapToggle:"shiftKey",persist:false,irregular:false,angle:null,fixedRadius:false,feature:null,layer:null,origin:null,initialize:function(C,B,A){this.style=OpenLayers.Util.extend(OpenLayers.Feature.Vector.style["default"],{});OpenLayers.Handler.prototype.initialize.apply(this,[C,B,A]);this.options=(A)?A:new Object();},setOptions:function(A){OpenLayers.Util.extend(this.options,A);OpenLayers.Util.extend(this,A);},activate:function(){var A=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){var B={displayInLayerSwitcher:false,calculateInRange:function(){return true;}};this.layer=new OpenLayers.Layer.Vector(this.CLASS_NAME,B);this.map.addLayer(this.layer);A=true;}return A;},deactivate:function(){var A=false;if(OpenLayers.Handler.Drag.prototype.deactivate.apply(this,arguments)){if(this.dragging){this.cancel();}if(this.layer.map!=null){this.layer.destroy(false);if(this.feature){this.feature.destroy();}}this.layer=null;this.feature=null;A=true;}return A;},down:function(A){this.fixedRadius=!!(this.radius);var B=this.map.getLonLatFromPixel(A.xy);this.origin=new OpenLayers.Geometry.Point(B.lon,B.lat);if(!this.fixedRadius||this.irregular){this.radius=this.map.getResolution();}if(this.persist){this.clear();}this.feature=new OpenLayers.Feature.Vector();this.createGeometry();this.callback("create",[this.origin,this.feature]);this.layer.addFeatures([this.feature],{silent:true});this.layer.drawFeature(this.feature,this.style);},move:function(C){var F=this.map.getLonLatFromPixel(C.xy);var A=new OpenLayers.Geometry.Point(F.lon,F.lat);if(this.irregular){var G=Math.sqrt(2)*Math.abs(A.y-this.origin.y)/2;this.radius=Math.max(this.map.getResolution()/2,G);}else{if(this.fixedRadius){this.origin=A;}else{this.calculateAngle(A,C);this.radius=Math.max(this.map.getResolution()/2,A.distanceTo(this.origin));}}this.modifyGeometry();if(this.irregular){var D=A.x-this.origin.x;var B=A.y-this.origin.y;var E;if(B==0){E=D/(this.radius*Math.sqrt(2));}else{E=D/B;}this.feature.geometry.resize(1,this.origin,E);this.feature.geometry.move(D/2,B/2);}this.layer.drawFeature(this.feature,this.style);},up:function(A){this.finalize();if(this.start==this.last){this.callback("done",[A.xy]);}},out:function(A){this.finalize();},createGeometry:function(){this.angle=Math.PI*((1/this.sides)-(1/2));if(this.snapAngle){this.angle+=this.snapAngle*(Math.PI/180);}this.feature.geometry=OpenLayers.Geometry.Polygon.createRegularPolygon(this.origin,this.radius,this.sides,this.snapAngle);},modifyGeometry:function(){var F,C,B,A;var D=this.feature.geometry.components[0];if(D.components.length!=(this.sides+1)){this.createGeometry();D=this.feature.geometry.components[0];}for(var E=0;E<this.sides;++E){A=D.components[E];F=this.angle+(E*2*Math.PI/this.sides);A.x=this.origin.x+(this.radius*Math.cos(F));A.y=this.origin.y+(this.radius*Math.sin(F));A.clearBounds();}},calculateAngle:function(A,B){var D=Math.atan2(A.y-this.origin.y,A.x-this.origin.x);if(this.snapAngle&&(this.snapToggle&&!B[this.snapToggle])){var C=(Math.PI/180)*this.snapAngle;this.angle=Math.round(D/C)*C;}else{this.angle=D;}},cancel:function(){this.callback("cancel",null);this.finalize();},finalize:function(){this.origin=null;this.radius=this.options.radius;},clear:function(){this.layer.renderer.clear();this.layer.destroyFeatures();},callback:function(B,A){if(this.callbacks[B]){this.callbacks[B].apply(this.control,[this.feature.geometry.clone()]);}if(!this.persist&&(B=="done"||B=="cancel")){this.clear();}},CLASS_NAME:"OpenLayers.Handler.RegularPolygon"});OpenLayers.Layer.EventPane=OpenLayers.Class(OpenLayers.Layer,{smoothDragPan:true,isBaseLayer:true,isFixed:true,pane:null,mapObject:null,initialize:function(B,A){OpenLayers.Layer.prototype.initialize.apply(this,arguments);if(this.pane==null){this.pane=OpenLayers.Util.createDiv(this.div.id+"_EventPane");}},destroy:function(){this.mapObject=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments);},setMap:function(A){OpenLayers.Layer.prototype.setMap.apply(this,arguments);this.pane.style.zIndex=parseInt(this.div.style.zIndex)+1;this.pane.style.display=this.div.style.display;this.pane.style.width="100%";this.pane.style.height="100%";if(OpenLayers.Util.getBrowserName()=="msie"){this.pane.style.background="url("+OpenLayers.Util.getImagesLocation()+"blank.gif)";}if(this.isFixed){this.map.viewPortDiv.appendChild(this.pane);}else{this.map.layerContainerDiv.appendChild(this.pane);}this.loadMapObject();if(this.mapObject==null){this.loadWarningMessage();}},removeMap:function(A){if(this.pane&&this.pane.parentNode){this.pane.parentNode.removeChild(this.pane);this.pane=null;}OpenLayers.Layer.prototype.removeMap.apply(this,arguments);},loadWarningMessage:function(){this.div.style.backgroundColor="darkblue";var G=this.map.getSize();var A=Math.min(G.w,300);var E=Math.min(G.h,200);var B=new OpenLayers.Size(A,E);var D=new OpenLayers.Pixel(G.w/2,G.h/2);var C=D.add(-B.w/2,-B.h/2);var F=OpenLayers.Util.createDiv(this.name+"_warning",C,B,null,null,null,"auto");F.style.padding="7px";F.style.backgroundColor="yellow";F.innerHTML=this.getWarningHTML();this.div.appendChild(F);},getWarningHTML:function(){return"";},display:function(A){OpenLayers.Layer.prototype.display.apply(this,arguments);this.pane.style.display=this.div.style.display;},setZIndex:function(A){OpenLayers.Layer.prototype.setZIndex.apply(this,arguments);this.pane.style.zIndex=parseInt(this.div.style.zIndex)+1;},moveTo:function(C,D,J){OpenLayers.Layer.prototype.moveTo.apply(this,arguments);if(this.mapObject!=null){var E=this.map.getCenter();var G=this.map.getZoom();if(E!=null){var F=this.getMapObjectCenter();var B=this.getOLLonLatFromMapObjectLonLat(F);var H=this.getMapObjectZoom();var M=this.getOLZoomFromMapObjectZoom(H);if(!(E.equals(B))||!(G==M)){if(J&&this.dragPanMapObject&&this.smoothDragPan){var I=this.map.getViewPortPxFromLonLat(B);var K=this.map.getViewPortPxFromLonLat(E);this.dragPanMapObject(K.x-I.x,I.y-K.y);}else{var A=this.getMapObjectLonLatFromOLLonLat(E);var L=this.getMapObjectZoomFromOLZoom(G);this.setMapObjectCenter(A,L,J);}}}}},getLonLatFromViewPortPx:function(A){var B=null;if((this.mapObject!=null)&&(this.getMapObjectCenter()!=null)){var D=this.getMapObjectPixelFromOLPixel(A);var C=this.getMapObjectLonLatFromMapObjectPixel(D);B=this.getOLLonLatFromMapObjectLonLat(C);}return B;},getViewPortPxFromLonLat:function(B){var A=null;if((this.mapObject!=null)&&(this.getMapObjectCenter()!=null)){var D=this.getMapObjectLonLatFromOLLonLat(B);var C=this.getMapObjectPixelFromMapObjectLonLat(D);A=this.getOLPixelFromMapObjectPixel(C);}return A;},getOLLonLatFromMapObjectLonLat:function(D){var A=null;if(D!=null){var C=this.getLongitudeFromMapObjectLonLat(D);var B=this.getLatitudeFromMapObjectLonLat(D);A=new OpenLayers.LonLat(C,B);}return A;},getMapObjectLonLatFromOLLonLat:function(A){var B=null;if(A!=null){B=this.getMapObjectLonLatFromLonLat(A.lon,A.lat);}return B;},getOLPixelFromMapObjectPixel:function(D){var B=null;if(D!=null){var A=this.getXFromMapObjectPixel(D);var C=this.getYFromMapObjectPixel(D);B=new OpenLayers.Pixel(A,C);}return B;},getMapObjectPixelFromOLPixel:function(A){var B=null;if(A!=null){B=this.getMapObjectPixelFromXY(A.x,A.y);}return B;},CLASS_NAME:"OpenLayers.Layer.EventPane"});OpenLayers.Layer.FixedZoomLevels=OpenLayers.Class({initialize:function(){},initResolutions:function(){var C=new Array("minZoomLevel","maxZoomLevel","numZoomLevels");for(var B=0,A=C.length;B<A;B++){var F=C[B];this[F]=(this.options[F]!=null)?this.options[F]:this.map[F];}if((this.minZoomLevel==null)||(this.minZoomLevel<this.MIN_ZOOM_LEVEL)){this.minZoomLevel=this.MIN_ZOOM_LEVEL;}var G;var E=this.MAX_ZOOM_LEVEL-this.minZoomLevel+1;if(((this.options.numZoomLevels==null)&&(this.options.maxZoomLevel!=null))||((this.numZoomLevels==null)&&(this.maxZoomLevel!=null))){G=this.maxZoomLevel-this.minZoomLevel+1;}else{G=this.numZoomLevels;}if(G!=null){this.numZoomLevels=Math.min(G,E);}else{this.numZoomLevels=E;}this.maxZoomLevel=this.minZoomLevel+this.numZoomLevels-1;if(this.RESOLUTIONS!=null){var D=0;this.resolutions=[];for(var B=this.minZoomLevel;B<=this.maxZoomLevel;B++){this.resolutions[D++]=this.RESOLUTIONS[B];}this.maxResolution=this.resolutions[0];this.minResolution=this.resolutions[this.resolutions.length-1];}},getResolution:function(){if(this.resolutions!=null){return OpenLayers.Layer.prototype.getResolution.apply(this,arguments);}else{var A=null;var C=this.map.getSize();var B=this.getExtent();if((C!=null)&&(B!=null)){A=Math.max(B.getWidth()/C.w,B.getHeight()/C.h);}return A;}},getExtent:function(){var C=null;var B=this.map.getSize();var E=new OpenLayers.Pixel(0,0);var F=this.getLonLatFromViewPortPx(E);var A=new OpenLayers.Pixel(B.w,B.h);var D=this.getLonLatFromViewPortPx(A);if((F!=null)&&(D!=null)){C=new OpenLayers.Bounds(F.lon,D.lat,D.lon,F.lat);}return C;},getZoomForResolution:function(A){if(this.resolutions!=null){return OpenLayers.Layer.prototype.getZoomForResolution.apply(this,arguments);}else{var B=OpenLayers.Layer.prototype.getExtent.apply(this,[]);return this.getZoomForExtent(B);}},getOLZoomFromMapObjectZoom:function(A){var B=null;if(A!=null){B=A-this.minZoomLevel;}return B;},getMapObjectZoomFromOLZoom:function(A){var B=null;if(A!=null){B=A+this.minZoomLevel;}return B;},CLASS_NAME:"OpenLayers.Layer.FixedZoomLevels"});OpenLayers.Layer.HTTPRequest=OpenLayers.Class(OpenLayers.Layer,{URL_HASH_FACTOR:(Math.sqrt(5)-1)/2,url:null,params:null,reproject:false,initialize:function(D,C,E,B){var A=arguments;A=[D,B];OpenLayers.Layer.prototype.initialize.apply(this,A);this.url=C;this.params=OpenLayers.Util.extend({},E);},destroy:function(){this.url=null;this.params=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);}A=OpenLayers.Layer.prototype.clone.apply(this,[A]);return A;},setUrl:function(A){this.url=A;},mergeNewParams:function(B){this.params=OpenLayers.Util.extend(this.params,B);var A=this.redraw();if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"params"});}return A;},redraw:function(A){if(A){return this.mergeNewParams({_olSalt:Math.random()});}else{return OpenLayers.Layer.prototype.redraw.apply(this,[]);}},selectUrl:function(E,D){var C=1;for(var B=0,A=E.length;B<A;B++){C*=E.charCodeAt(B)*this.URL_HASH_FACTOR;C-=Math.floor(C);}return D[Math.floor(C*D.length)];},getFullRequestString:function(G,D){var B=D||this.url;var F=OpenLayers.Util.extend({},this.params);F=OpenLayers.Util.extend(F,G);var E=OpenLayers.Util.getParameterString(F);if(B instanceof Array){B=this.selectUrl(E,B);}var A=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(B));for(var C in F){if(C.toUpperCase() in A){delete F[C];}}E=OpenLayers.Util.getParameterString(F);return OpenLayers.Util.urlAppend(B,E);},CLASS_NAME:"OpenLayers.Layer.HTTPRequest"});OpenLayers.Layer.Markers=OpenLayers.Class(OpenLayers.Layer,{isBaseLayer:false,markers:null,drawn:false,initialize:function(B,A){OpenLayers.Layer.prototype.initialize.apply(this,arguments);this.markers=[];},destroy:function(){this.clearMarkers();this.markers=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments);},setOpacity:function(B){if(B!=this.opacity){this.opacity=B;for(var C=0,A=this.markers.length;C<A;C++){this.markers[C].setOpacity(this.opacity);}}},moveTo:function(D,B,E){OpenLayers.Layer.prototype.moveTo.apply(this,arguments);if(B||!this.drawn){for(var C=0,A=this.markers.length;C<A;C++){this.drawMarker(this.markers[C]);}this.drawn=true;}},addMarker:function(A){this.markers.push(A);if(this.opacity!=null){A.setOpacity(this.opacity);}if(this.map&&this.map.getExtent()){A.map=this.map;this.drawMarker(A);}},removeMarker:function(A,B){if(this.markers&&this.markers.length){OpenLayers.Util.removeItem(this.markers,A);if(B!=null&&B==true){A.destroy();}else{A.erase();}}},clearMarkers:function(A){if(this.markers!=null){while(this.markers.length>0){this.removeMarker(this.markers[0],A);}}},drawMarker:function(A){var B=this.map.getLayerPxFromLonLat(A.lonlat);if(B==null){A.display(false);}else{if(!A.isDrawn()){var C=A.draw(B);this.div.appendChild(C);}else{if(A.icon){A.icon.moveTo(B);}}}},getDataExtent:function(){var B=null;if(this.markers&&(this.markers.length>0)){var B=new OpenLayers.Bounds();for(var D=0,A=this.markers.length;D<A;D++){var C=this.markers[D];B.extend(C.lonlat);}}return B;},CLASS_NAME:"OpenLayers.Layer.Markers"});OpenLayers.Layer.SphericalMercator={getExtent:function(){var A=null;if(this.sphericalMercator){A=this.map.calculateBounds();}else{A=OpenLayers.Layer.FixedZoomLevels.prototype.getExtent.apply(this);}return A;},initMercatorParameters:function(){this.RESOLUTIONS=[];var A=156543.0339;for(var 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(C,B){var A=C*20037508.34/180;var D=Math.log(Math.tan((90+B)*Math.PI/360))/(Math.PI/180);D=D*20037508.34/180;return new OpenLayers.LonLat(A,D);},inverseMercator:function(A,D){var C=(A/20037508.34)*180;var B=(D/20037508.34)*180;B=180/Math.PI*(2*Math.atan(Math.exp(B*Math.PI/180))-Math.PI/2);return new OpenLayers.LonLat(C,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.DrawFeature=OpenLayers.Class(OpenLayers.Control,{layer:null,callbacks:null,EVENT_TYPES:["featureadded"],featureAdded:function(){},handlerOptions:null,initialize:function(B,C,A){this.EVENT_TYPES=OpenLayers.Control.DrawFeature.prototype.EVENT_TYPES.concat(OpenLayers.Control.prototype.EVENT_TYPES);OpenLayers.Control.prototype.initialize.apply(this,[A]);this.callbacks=OpenLayers.Util.extend({done:this.drawFeature,modify:function(F,E){this.layer.events.triggerEvent("sketchmodified",{vertex:F,feature:E});},create:function(F,E){this.layer.events.triggerEvent("sketchstarted",{vertex:F,feature:E});}},this.callbacks);this.layer=B;var D=this.layer.styleMap&&this.layer.styleMap.styles.temporary;if(D){this.handlerOptions=this.handlerOptions||{};this.handlerOptions.layerOptions=OpenLayers.Util.applyDefaults(this.handlerOptions.layerOptions,{styleMap:new OpenLayers.StyleMap({"default":D})});}this.handler=new C(this,this.callbacks,this.handlerOptions);},drawFeature:function(C){var A=new OpenLayers.Feature.Vector(C);var B=this.layer.events.triggerEvent("sketchcomplete",{feature:A});if(B!==false){A.state=OpenLayers.State.INSERT;this.layer.addFeatures([A]);this.featureAdded(A);this.events.triggerEvent("featureadded",{feature:A});}},CLASS_NAME:"OpenLayers.Control.DrawFeature"});OpenLayers.Control.Measure=OpenLayers.Class(OpenLayers.Control,{EVENT_TYPES:["measure","measurepartial"],handlerOptions:null,callbacks:null,displaySystem:"metric",geodesic:false,displaySystemUnits:{geographic:["dd"],english:["mi","ft","in"],metric:["km","m"]},partialDelay:300,delayedTrigger:null,persist:false,initialize:function(B,A){this.EVENT_TYPES=OpenLayers.Control.Measure.prototype.EVENT_TYPES.concat(OpenLayers.Control.prototype.EVENT_TYPES);OpenLayers.Control.prototype.initialize.apply(this,[A]);this.callbacks=OpenLayers.Util.extend({done:this.measureComplete,point:this.measurePartial},this.callbacks);this.handlerOptions=OpenLayers.Util.extend({persist:this.persist},this.handlerOptions);this.handler=new B(this,this.callbacks,this.handlerOptions);},cancel:function(){this.handler.cancel();},updateHandler:function(B,A){var C=this.active;if(C){this.deactivate();}this.handler=new B(this,this.callbacks,A);if(C){this.activate();}},measureComplete:function(A){if(this.delayedTrigger){window.clearTimeout(this.delayedTrigger);}this.measure(A,"measure");},measurePartial:function(A,B){this.delayedTrigger=window.setTimeout(OpenLayers.Function.bind(function(){this.measure(B,"measurepartial");},this),this.partialDelay);},measure:function(D,B){var C,A;if(D.CLASS_NAME.indexOf("LineString")>-1){C=this.getBestLength(D);A=1;}else{C=this.getBestArea(D);A=2;}this.events.triggerEvent(B,{measure:C[0],units:C[1],order:A,geometry:D});},getBestArea:function(F){var B=this.displaySystemUnits[this.displaySystem];var E,D;for(var C=0,A=B.length;C<A;++C){E=B[C];D=this.getArea(F,E);if(D>1){break;}}return[D,E];},getArea:function(F,A){var B,C;if(this.geodesic){B=F.getGeodesicArea(this.map.getProjectionObject());C="m";}else{B=F.getArea();C=this.map.getUnits();}var E=OpenLayers.INCHES_PER_UNIT[A];if(E){var D=OpenLayers.INCHES_PER_UNIT[C];B*=Math.pow((D/E),2);}return B;},getBestLength:function(F){var B=this.displaySystemUnits[this.displaySystem];var E,D;for(var C=0,A=B.length;C<A;++C){E=B[C];D=this.getLength(F,E);if(D>1){break;}}return[D,E];},getLength:function(F,A){var B,C;if(this.geodesic){B=F.getGeodesicLength(this.map.getProjectionObject());C="m";}else{B=F.getLength();C=this.map.getUnits();}var E=OpenLayers.INCHES_PER_UNIT[A];if(E){var D=OpenLayers.INCHES_PER_UNIT[C];B*=(D/E);}return B;},CLASS_NAME:"OpenLayers.Control.Measure"});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(H){if(H instanceof OpenLayers.Bounds){if(!this.out){var I=this.map.getLonLatFromPixel(new OpenLayers.Pixel(H.left,H.bottom));var M=this.map.getLonLatFromPixel(new OpenLayers.Pixel(H.right,H.top));var B=new OpenLayers.Bounds(I.lon,I.lat,M.lon,M.lat);}else{var G=Math.abs(H.right-H.left);var J=Math.abs(H.top-H.bottom);var E=Math.min((this.map.size.h/J),(this.map.size.w/G));var N=this.map.getExtent();var A=this.map.getLonLatFromPixel(H.getCenterPixel());var C=A.lon-(N.getWidth()/2)*E;var F=A.lon+(N.getWidth()/2)*E;var L=A.lat-(N.getHeight()/2)*E;var D=A.lat+(N.getHeight()/2)*E;var B=new OpenLayers.Bounds(C,L,F,D);}var K=this.map.getZoom();this.map.zoomToExtent(B);if(K==this.map.getZoom()&&this.alwaysZoom==true){this.map.zoomTo(K+(this.out?-1:1));}}else{if(!this.out){this.map.setCenter(this.map.getLonLatFromPixel(H),this.map.getZoom()+1);}else{this.map.setCenter(this.map.getLonLatFromPixel(H),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(F){var E,D,H;var G=this.regExes.typeStr.exec(F);if(G){D=G[1].toLowerCase();H=G[2];if(this.parse[D]){E=this.parse[D].apply(this,[H]);}if(this.internalProjection&&this.externalProjection){if(E&&E.CLASS_NAME=="OpenLayers.Feature.Vector"){E.geometry.transform(this.externalProjection,this.internalProjection);}else{if(E&&D!="geometrycollection"&&typeof E=="object"){for(var C=0,A=E.length;C<A;C++){var B=E[C];B.geometry.transform(this.externalProjection,this.internalProjection);}}}}}return E;},write:function(A){var F,I,H,D,B;if(A.constructor==Array){F=A;B=true;}else{F=[A];B=false;}var C=[];if(B){C.push("GEOMETRYCOLLECTION(");}for(var E=0,G=F.length;E<G;++E){if(B&&E>0){C.push(",");}I=F[E].geometry;H=I.CLASS_NAME.split(".")[2].toLowerCase();if(!this.extract[H]){return null;}if(this.internalProjection&&this.externalProjection){I=I.clone();I.transform(this.internalProjection,this.externalProjection);}D=this.extract[H].apply(this,[I]);C.push(H.toUpperCase()+"("+D+")");}if(B){C.push(")");}return C.join("");},extract:{point:function(A){return A.x+" "+A.y;},multipoint:function(C){var D=[];for(var B=0,A=C.components.length;B<A;++B){D.push(this.extract.point.apply(this,[C.components[B]]));}return D.join(",");},linestring:function(B){var D=[];for(var C=0,A=B.components.length;C<A;++C){D.push(this.extract.point.apply(this,[B.components[C]]));}return D.join(",");},multilinestring:function(C){var D=[];for(var B=0,A=C.components.length;B<A;++B){D.push("("+this.extract.linestring.apply(this,[C.components[B]])+")");}return D.join(",");},polygon:function(C){var D=[];for(var B=0,A=C.components.length;B<A;++B){D.push("("+this.extract.linestring.apply(this,[C.components[B]])+")");}return D.join(",");},multipolygon:function(D){var C=[];for(var B=0,A=D.components.length;B<A;++B){C.push("("+this.extract.polygon.apply(this,[D.components[B]])+")");}return C.join(",");}},parse:{point:function(B){var A=OpenLayers.String.trim(B).split(this.regExes.spaces);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(A[0],A[1]));},multipoint:function(E){var C=OpenLayers.String.trim(E).split(",");var D=[];for(var B=0,A=C.length;B<A;++B){D.push(this.parse.point.apply(this,[C[B]]).geometry);}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPoint(D));},linestring:function(E){var C=OpenLayers.String.trim(E).split(",");var D=[];for(var B=0,A=C.length;B<A;++B){D.push(this.parse.point.apply(this,[C[B]]).geometry);}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString(D));},multilinestring:function(F){var C;var B=OpenLayers.String.trim(F).split(this.regExes.parenComma);var E=[];for(var D=0,A=B.length;D<A;++D){C=B[D].replace(this.regExes.trimParens,"$1");E.push(this.parse.linestring.apply(this,[C]).geometry);}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiLineString(E));},polygon:function(H){var C,B,F;var G=OpenLayers.String.trim(H).split(this.regExes.parenComma);var E=[];for(var D=0,A=G.length;D<A;++D){C=G[D].replace(this.regExes.trimParens,"$1");B=this.parse.linestring.apply(this,[C]).geometry;F=new OpenLayers.Geometry.LinearRing(B.components);E.push(F);}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon(E));},multipolygon:function(F){var D;var B=OpenLayers.String.trim(F).split(this.regExes.doubleParenComma);var E=[];for(var C=0,A=B.length;C<A;++C){D=B[C].replace(this.regExes.trimParens,"$1");E.push(this.parse.polygon.apply(this,[D]).geometry);}return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPolygon(E));},geometrycollection:function(E){E=E.replace(/,\s*([A-Za-z])/g,"|$1");var D=OpenLayers.String.trim(E).split("|");var C=[];for(var B=0,A=D.length;B<A;++B){C.push(OpenLayers.Format.WKT.prototype.read.apply(this,[D[B]]));}return C;}},CLASS_NAME:"OpenLayers.Format.WKT"});OpenLayers.Format.WMSCapabilities.v1_1_0=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1_1,{version:"1.1.0",initialize:function(A){OpenLayers.Format.WMSCapabilities.v1_1.prototype.initialize.apply(this,[A]);},read_cap_SRS:function(E,F){var D=this.getChildValue(F);var B=D.split(/ +/);for(var C=0,A=B.length;C<A;C++){E.srs[B[C]]=true;}},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_1_0"});OpenLayers.Format.WMSCapabilities.v1_1_1=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1_1,{version:"1.1.1",initialize:function(A){OpenLayers.Format.WMSCapabilities.v1_1.prototype.initialize.apply(this,[A]);},read_cap_SRS:function(E,F){var D=this.getChildValue(F);if(D.indexOf(" ")){var B=D.split(/ +/);for(var C=0,A=B.length;C<A;C++){E.srs[B[C]]=true;}}else{E.srs[D]=true;}},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_1_1"});OpenLayers.Layer.GeoRSS=OpenLayers.Class(OpenLayers.Layer.Markers,{location:null,features:null,formatOptions:null,selectedFeature:null,icon:null,popupSize:null,useFeedTitle:true,initialize:function(C,A,B){OpenLayers.Layer.Markers.prototype.initialize.apply(this,[C,B]);this.location=A;this.features=[];},destroy:function(){OpenLayers.Layer.Markers.prototype.destroy.apply(this,arguments);this.clearFeatures();this.features=null;},loadRSS:function(){if(!this.loaded){this.events.triggerEvent("loadstart");OpenLayers.Request.GET({url:this.location,success:this.parseData,scope:this});this.loaded=true;}},moveTo:function(C,A,B){OpenLayers.Layer.Markers.prototype.moveTo.apply(this,arguments);if(this.visibility&&!this.loaded){this.loadRSS();}},parseData:function(I){var M=I.responseXML;if(!M||!M.documentElement){M=OpenLayers.Format.XML.prototype.read(I.responseText);}if(this.useFeedTitle){var A=null;try{A=M.getElementsByTagNameNS("*","title")[0].firstChild.nodeValue;}catch(H){A=M.getElementsByTagName("title")[0].firstChild.nodeValue;}if(A){this.setName(A);}}var Q={};OpenLayers.Util.extend(Q,this.formatOptions);if(this.map&&!this.projection.equals(this.map.getProjectionObject())){Q.externalProjection=this.projection;Q.internalProjection=this.map.getProjectionObject();}var N=new OpenLayers.Format.GeoRSS(Q);var B=N.read(M);for(var F=0,G=B.length;F<G;F++){var E={};var P=B[F];if(!P.geometry){continue;}var K=P.attributes.title?P.attributes.title:"Untitled";var O=P.attributes.description?P.attributes.description:"No description.";var J=P.attributes.link?P.attributes.link:"";var L=P.geometry.getBounds().getCenterLonLat();E.icon=this.icon==null?OpenLayers.Marker.defaultIcon():this.icon.clone();E.popupSize=this.popupSize?this.popupSize.clone():new OpenLayers.Size(250,120);if(K||O){E.title=K;E.description=O;var C='<div class="olLayerGeoRSSClose">[x]</div>';C+='<div class="olLayerGeoRSSTitle">';if(J){C+='<a class="link" href="'+J+'" target="_blank">';}C+=K;if(J){C+="</a>";}C+="</div>";C+='<div style="" class="olLayerGeoRSSDescription">';C+=O;C+="</div>";E.popupContentHTML=C;}var P=new OpenLayers.Feature(this,L,E);this.features.push(P);var D=P.createMarker();D.events.register("click",P,this.markerClick);this.addMarker(D);}this.events.triggerEvent("loadend");},markerClick:function(C){var E=(this==this.layer.selectedFeature);this.layer.selectedFeature=(!E)?this:null;for(var D=0,A=this.layer.map.popups.length;D<A;D++){this.layer.map.removePopup(this.layer.map.popups[D]);}if(!E){var B=this.createPopup();OpenLayers.Event.observe(B.div,"click",OpenLayers.Function.bind(function(){for(var G=0,F=this.layer.map.popups.length;G<F;G++){this.layer.map.removePopup(this.layer.map.popups[G]);}},this));this.layer.map.addPopup(B);}OpenLayers.Event.stop(C);},clearFeatures:function(){if(this.features!=null){while(this.features.length>0){var A=this.features[0];OpenLayers.Util.removeItem(this.features,A);A.destroy();}}},CLASS_NAME:"OpenLayers.Layer.GeoRSS"});OpenLayers.Layer.Google=OpenLayers.Class(OpenLayers.Layer.EventPane,OpenLayers.Layer.FixedZoomLevels,{MIN_ZOOM_LEVEL:0,MAX_ZOOM_LEVEL:19,RESOLUTIONS:[1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,0.0006866455078125,0.00034332275390625,0.000171661376953125,0.0000858306884765625,0.00004291534423828125,0.00002145767211914062,0.00001072883605957031,0.00000536441802978515,0.00000268220901489257],type:null,sphericalMercator:false,dragObject:null,termsOfUse:null,poweredBy:null,initialize:function(B,A){OpenLayers.Layer.EventPane.prototype.initialize.apply(this,arguments);OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this,arguments);this.addContainerPxFunction();if(this.sphericalMercator){OpenLayers.Util.extend(this,OpenLayers.Layer.SphericalMercator);this.initMercatorParameters();}},loadMapObject:function(){try{this.mapObject=new GMap2(this.div);if(typeof this.mapObject.getDragObject=="function"){this.dragObject=this.mapObject.getDragObject();}else{this.dragPanMapObject=null;}this.termsOfUse=this.div.lastChild;this.div.removeChild(this.termsOfUse);if(this.isFixed){this.map.viewPortDiv.appendChild(this.termsOfUse);}else{this.map.layerContainerDiv.appendChild(this.termsOfUse);}this.termsOfUse.style.zIndex="1100";this.termsOfUse.style.display=this.div.style.display;this.termsOfUse.style.right="";this.termsOfUse.style.bottom="";this.termsOfUse.className="olLayerGoogleCopyright";this.poweredBy=this.div.lastChild;this.div.removeChild(this.poweredBy);if(this.isFixed){this.map.viewPortDiv.appendChild(this.poweredBy);}else{this.map.layerContainerDiv.appendChild(this.poweredBy);}this.poweredBy.style.zIndex="1100";this.poweredBy.style.display=this.div.style.display;this.poweredBy.style.right="";this.poweredBy.style.bottom="";this.poweredBy.className="olLayerGooglePoweredBy gmnoprint";}catch(A){OpenLayers.Console.error(A);}},setMap:function(A){OpenLayers.Layer.EventPane.prototype.setMap.apply(this,arguments);if(this.type!=null){this.map.events.register("moveend",this,this.setMapType);}},setMapType:function(){if(this.mapObject.getCenter()!=null){if(OpenLayers.Util.indexOf(this.mapObject.getMapTypes(),this.type)==-1){this.mapObject.addMapType(this.type);}this.mapObject.setMapType(this.type);this.map.events.unregister("moveend",this,this.setMapType);}},onMapResize:function(){if(this.visibility&&this.mapObject.isLoaded()){this.mapObject.checkResize();}else{if(!this._resized){var A=this;var B=GEvent.addListener(this.mapObject,"load",function(){GEvent.removeListener(B);delete A._resized;A.mapObject.checkResize();A.moveTo(A.map.getCenter(),A.map.getZoom());});}this._resized=true;}},display:function(A){OpenLayers.Layer.EventPane.prototype.display.apply(this,arguments);this.termsOfUse.style.display=this.div.style.display;this.poweredBy.style.display=this.div.style.display;},removeMap:function(A){if(this.termsOfUse&&this.termsOfUse.parentNode){this.termsOfUse.parentNode.removeChild(this.termsOfUse);this.termsOfUse=null;}if(this.poweredBy&&this.poweredBy.parentNode){this.poweredBy.parentNode.removeChild(this.poweredBy);this.poweredBy=null;}OpenLayers.Layer.EventPane.prototype.removeMap.apply(this,arguments);},getOLBoundsFromMapObjectBounds:function(B){var C=null;if(B!=null){var A=B.getSouthWest();var D=B.getNorthEast();if(this.sphericalMercator){A=this.forwardMercator(A.lng(),A.lat());D=this.forwardMercator(D.lng(),D.lat());}else{A=new OpenLayers.LonLat(A.lng(),A.lat());D=new OpenLayers.LonLat(D.lng(),D.lat());}C=new OpenLayers.Bounds(A.lon,A.lat,D.lon,D.lat);}return C;},getMapObjectBoundsFromOLBounds:function(C){var B=null;if(C!=null){var A=this.sphericalMercator?this.inverseMercator(C.bottom,C.left):new OpenLayers.LonLat(C.bottom,C.left);var D=this.sphericalMercator?this.inverseMercator(C.top,C.right):new OpenLayers.LonLat(C.top,C.right);B=new GLatLngBounds(new GLatLng(A.lat,A.lon),new GLatLng(D.lat,D.lon));}return B;},addContainerPxFunction:function(){if((typeof GMap2!="undefined")&&!GMap2.prototype.fromLatLngToContainerPixel){GMap2.prototype.fromLatLngToContainerPixel=function(B){var A=this.fromLatLngToDivPixel(B);var C=this.getContainer().firstChild.firstChild;A.x+=C.offsetLeft;A.y+=C.offsetTop;return A;};}},getWarningHTML:function(){return OpenLayers.i18n("googleWarning");},setMapObjectCenter:function(A,B){this.mapObject.setCenter(A,B);},dragPanMapObject:function(B,A){this.dragObject.moveBy(new GSize(-B,A));},getMapObjectCenter:function(){return this.mapObject.getCenter();},getMapObjectZoom:function(){return this.mapObject.getZoom();},getMapObjectLonLatFromMapObjectPixel:function(A){return this.mapObject.fromContainerPixelToLatLng(A);},getMapObjectPixelFromMapObjectLonLat:function(A){return this.mapObject.fromLatLngToContainerPixel(A);},getMapObjectZoomFromMapObjectBounds:function(A){return this.mapObject.getBoundsZoomLevel(A);},getLongitudeFromMapObjectLonLat:function(A){return this.sphericalMercator?this.forwardMercator(A.lng(),A.lat()).lon:A.lng();},getLatitudeFromMapObjectLonLat:function(B){var A=this.sphericalMercator?this.forwardMercator(B.lng(),B.lat()).lat:B.lat();return A;},getMapObjectLonLatFromLonLat:function(D,B){var C;if(this.sphericalMercator){var A=this.inverseMercator(D,B);C=new GLatLng(A.lat,A.lon);}else{C=new GLatLng(B,D);}return C;},getXFromMapObjectPixel:function(A){return A.x;},getYFromMapObjectPixel:function(A){return A.y;},getMapObjectPixelFromXY:function(A,B){return new GPoint(A,B);},CLASS_NAME:"OpenLayers.Layer.Google"});OpenLayers.Layer.Grid=OpenLayers.Class(OpenLayers.Layer.HTTPRequest,{tileSize:null,grid:null,singleTile:false,ratio:1.5,buffer:2,numLoadingTiles:0,initialize:function(C,B,D,A){OpenLayers.Layer.HTTPRequest.prototype.initialize.apply(this,arguments);this.events.addEventType("tileloaded");this.grid=[];},destroy:function(){this.clearGrid();this.grid=null;this.tileSize=null;OpenLayers.Layer.HTTPRequest.prototype.destroy.apply(this,arguments);},clearGrid:function(){if(this.grid){for(var F=0,B=this.grid.length;F<B;F++){var E=this.grid[F];for(var C=0,A=E.length;C<A;C++){var D=E[C];this.removeTileMonitoringHooks(D);D.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(D,A,E){OpenLayers.Layer.HTTPRequest.prototype.moveTo.apply(this,arguments);D=D||this.map.getExtent();if(D!=null){var C=!this.grid.length||A;var B=this.getTilesBounds();if(this.singleTile){if(C||(!E&&!B.containsBounds(D))){this.initSingleTile(D);}}else{if(C||!B.containsBounds(D,true)){this.initGriddedTiles(D);}else{this.moveGriddedTiles(D);}}}},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 E=null;if(this.grid.length){var A=this.grid.length-1;var D=this.grid[A][0];var B=this.grid[0].length-1;var C=this.grid[0][B];E=new OpenLayers.Bounds(D.bounds.left,D.bounds.bottom,C.bounds.right,C.bounds.top);}return E;},initSingleTile:function(F){var A=F.getCenterLonLat();var H=F.getWidth()*this.ratio;var B=F.getHeight()*this.ratio;var G=new OpenLayers.Bounds(A.lon-(H/2),A.lat-(B/2),A.lon+(H/2),A.lat+(B/2));var D=new OpenLayers.LonLat(G.left,G.top);var C=this.map.getLayerPxFromLonLat(D);if(!this.grid.length){this.grid[0]=[];}var E=this.grid[0][0];if(!E){E=this.addTile(G,C);this.addTileMonitoringHooks(E);E.draw();this.grid[0][0]=E;}else{E.moveTo(G,C);}this.removeExcessTiles(1,1);},calculateGridLayout:function(A,O,E){var K=E*this.tileSize.w;var C=E*this.tileSize.h;var I=A.left-O.left;var L=Math.floor(I/K)-this.buffer;var J=I/K-L;var F=-J*this.tileSize.w;var M=O.left+L*K;var B=A.top-(O.bottom+C);var H=Math.ceil(B/C)+this.buffer;var N=H-B/C;var D=-N*this.tileSize.h;var G=O.bottom+H*C;return{tilelon:K,tilelat:C,tileoffsetlon:M,tileoffsetlat:G,tileoffsetx:F,tileoffsety:D};},initGriddedTiles:function(I){var G=this.map.getSize();var V=Math.ceil(G.h/this.tileSize.h)+Math.max(1,2*this.buffer);var X=Math.ceil(G.w/this.tileSize.w)+Math.max(1,2*this.buffer);var O=this.maxExtent;var R=this.map.getResolution();var Q=this.calculateGridLayout(I,O,R);var F=Math.round(Q.tileoffsetx);var C=Math.round(Q.tileoffsety);var K=Q.tileoffsetlon;var N=Q.tileoffsetlat;var E=Q.tilelon;var J=Q.tilelat;this.origin=new OpenLayers.Pixel(F,C);var U=F;var W=K;var T=0;var A=parseInt(this.map.layerContainerDiv.style.left);var S=parseInt(this.map.layerContainerDiv.style.top);do{var H=this.grid[T++];if(!H){H=[];this.grid.push(H);}K=W;F=U;var D=0;do{var B=new OpenLayers.Bounds(K,N,K+E,N+J);var M=F;M-=A;var L=C;L-=S;var P=new OpenLayers.Pixel(M,L);var Y=H[D++];if(!Y){Y=this.addTile(B,P);this.addTileMonitoringHooks(Y);H.push(Y);}else{Y.moveTo(B,P,false);}K+=E;F+=this.tileSize.w;}while((K<=I.right+E*this.buffer)||D<X);N-=J;C+=this.tileSize.h;}while((N>=I.bottom-J*this.buffer)||T<V);this.removeExcessTiles(T,D);this.spiralTileLoad();},spiralTileLoad:function(){var B=[];var H=["right","down","left","up"];var G=0;var A=-1;var J=OpenLayers.Util.indexOf(H,"right");var K=0;while(K<H.length){var I=G;var C=A;switch(H[J]){case"right":C++;break;case"down":I++;break;case"left":C--;break;case"up":I--;break;}var F=null;if((I<this.grid.length)&&(I>=0)&&(C<this.grid[0].length)&&(C>=0)){F=this.grid[I][C];}if((F!=null)&&(!F.queued)){B.unshift(F);F.queued=true;K=0;G=I;A=C;}else{J=(J+1)%4;K++;}}for(var D=0,E=B.length;D<E;D++){var F=B[D];F.draw();F.queued=false;}},addTile:function(B,A){},addTileMonitoringHooks:function(A){A.onLoadStart=function(){if(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");if(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(C){var B=this.buffer||1;while(true){var A=this.grid[0][0].position;var D=this.map.getViewPortPxFromLayerPx(A);if(D.x>-this.tileSize.w*(B-1)){this.shiftColumn(true);}else{if(D.x<-this.tileSize.w*B){this.shiftColumn(false);}else{if(D.y>-this.tileSize.h*(B-1)){this.shiftRow(true);}else{if(D.y<-this.tileSize.h*B){this.shiftRow(false);}else{break;}}}}}},shiftRow:function(M){var C=(M)?0:(this.grid.length-1);var B=this.grid;var F=B[C];var E=this.map.getResolution();var H=(M)?-this.tileSize.h:this.tileSize.h;var G=E*-H;var L=(M)?B.pop():B.shift();for(var I=0,K=F.length;I<K;I++){var D=F[I];var A=D.bounds.clone();var J=D.position.clone();A.bottom=A.bottom+G;A.top=A.top+G;J.y=J.y+H;L[I].moveTo(A,J);}if(M){B.unshift(L);}else{B.push(L);}},shiftColumn:function(L){var D=(L)?-this.tileSize.w:this.tileSize.w;var C=this.map.getResolution();var J=C*D;for(var E=0,G=this.grid.length;E<G;E++){var K=this.grid[E];var I=(L)?0:(K.length-1);var B=K[I];var A=B.bounds.clone();var F=B.position.clone();A.left=A.left+J;A.right=A.right+J;F.x=F.x+D;var H=L?this.grid[E].pop():this.grid[E].shift();H.moveTo(A,F);if(L){K.unshift(H);}else{K.push(H);}}},removeExcessTiles:function(E,C){while(this.grid.length>E){var F=this.grid.pop();for(var B=0,A=F.length;B<A;B++){var D=F[B];this.removeTileMonitoringHooks(D);D.destroy();}}while(this.grid[0].length>C){for(var B=0,A=this.grid.length;B<A;B++){var F=this.grid[B];var D=F.pop();this.removeTileMonitoringHooks(D);D.destroy();}}},onMapResize:function(){if(this.singleTile){this.clearGrid();this.setTileSize();}},getTileBounds:function(D){var C=this.maxExtent;var F=this.getResolution();var E=F*this.tileSize.w;var B=F*this.tileSize.h;var H=this.getLonLatFromViewPortPx(D);var A=C.left+(E*Math.floor((H.lon-C.left)/E));var G=C.bottom+(B*Math.floor((H.lat-C.bottom)/B));return new OpenLayers.Bounds(A,G,A+E,G+B);},CLASS_NAME:"OpenLayers.Layer.Grid"});OpenLayers.Style=OpenLayers.Class({name:null,title:null,description:null,layerName:null,isDefault:false,rules:null,context:null,defaultStyle:null,defaultsPerSymbolizer:false,propertyStyles:null,initialize:function(B,A){OpenLayers.Util.extend(this,A);this.rules=[];if(A&&A.rules){this.addRules(A.rules);}this.setDefaultStyle(B||OpenLayers.Feature.Vector.style["default"]);},destroy:function(){for(var B=0,A=this.rules.length;B<A;B++){this.rules[B].destroy();this.rules[B]=null;}this.rules=null;this.defaultStyle=null;},createSymbolizer:function(J){var A=this.defaultsPerSymbolizer?{}:this.createLiterals(OpenLayers.Util.extend({},this.defaultStyle),J);var I=this.rules;var H,B;var C=[];var F=false;for(var D=0,E=I.length;D<E;D++){H=I[D];var G=H.evaluate(J);if(G){if(H instanceof OpenLayers.Rule&&H.elseFilter){C.push(H);}else{F=true;this.applySymbolizer(H,A,J);}}}if(F==false&&C.length>0){F=true;for(var D=0,E=C.length;D<E;D++){this.applySymbolizer(C[D],A,J);}}if(I.length>0&&F==false){A.display="none";}return A;},applySymbolizer:function(F,D,B){var A=B.geometry?this.getSymbolizerPrefix(B.geometry):OpenLayers.Style.SYMBOLIZER_PREFIXES[0];var C=F.symbolizer[A]||F.symbolizer;if(this.defaultsPerSymbolizer===true){var E=this.defaultStyle;OpenLayers.Util.applyDefaults(C,{pointRadius:E.pointRadius});if(C.stroke===true||C.graphic===true){OpenLayers.Util.applyDefaults(C,{strokeWidth:E.strokeWidth,strokeColor:E.strokeColor,strokeOpacity:E.strokeOpacity,strokeDashstyle:E.strokeDashstyle,strokeLinecap:E.strokeLinecap});}if(C.fill===true||C.graphic===true){OpenLayers.Util.applyDefaults(C,{fillColor:E.fillColor,fillOpacity:E.fillOpacity});}if(C.graphic===true){OpenLayers.Util.applyDefaults(C,{pointRadius:this.defaultStyle.pointRadius,externalGraphic:this.defaultStyle.externalGraphic,graphicName:this.defaultStyle.graphicName,graphicOpacity:this.defaultStyle.graphicOpacity,graphicWidth:this.defaultStyle.graphicWidth,graphicHeight:this.defaultStyle.graphicHeight,graphicXOffset:this.defaultStyle.graphicXOffset,graphicYOffset:this.defaultStyle.graphicYOffset});}}return this.createLiterals(OpenLayers.Util.extend(D,C),B);},createLiterals:function(D,C){var B=OpenLayers.Util.extend({},C.attributes||C.data);OpenLayers.Util.extend(B,this.context);for(var A in this.propertyStyles){D[A]=OpenLayers.Style.createLiteral(D[A],B,C,A);}return D;},findPropertyStyles:function(){var D={};var F=this.defaultStyle;this.addPropertyStyles(D,F);var H=this.rules;var E,G;for(var C=0,A=H.length;C<A;C++){E=H[C].symbolizer;for(var B in E){G=E[B];if(typeof G=="object"){this.addPropertyStyles(D,G);}else{this.addPropertyStyles(D,E);break;}}}return D;},addPropertyStyles:function(B,C){var D;for(var A in C){D=C[A];if(typeof D=="string"&&D.match(/\$\{\w+\}/)){B[A]=true;}}return B;},addRules:function(A){this.rules=this.rules.concat(A);this.propertyStyles=this.findPropertyStyles();},setDefaultStyle:function(A){this.defaultStyle=A;this.propertyStyles=this.findPropertyStyles();},getSymbolizerPrefix:function(D){var C=OpenLayers.Style.SYMBOLIZER_PREFIXES;for(var B=0,A=C.length;B<A;B++){if(D.CLASS_NAME.indexOf(C[B])!=-1){return C[B];}}},CLASS_NAME:"OpenLayers.Style"});OpenLayers.Style.createLiteral=function(D,B,A,C){if(typeof D=="string"&&D.indexOf("${")!=-1){D=OpenLayers.String.format(D,B,[A,C]);D=(isNaN(D)||!D)?D:parseFloat(D);}return D;};OpenLayers.Style.SYMBOLIZER_PREFIXES=["Point","Line","Polygon","Text"];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(A){this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,arguments);},destroy:function(){this.deactivate();if(this.dragPan){this.dragPan.destroy();}this.dragPan=null;if(this.zoomBox){this.zoomBox.destroy();}this.zoomBox=null;OpenLayers.Control.prototype.destroy.apply(this,arguments);},activate:function(){this.dragPan.activate();if(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};var 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(B){var A=this.map.getLonLatFromViewPortPx(B.xy);this.map.setCenter(A,this.map.zoom+1);},defaultDblRightClick:function(B){var A=this.map.getLonLatFromViewPortPx(B.xy);this.map.setCenter(A,this.map.zoom-1);},wheelChange:function(H,C){var F=this.map.getZoom()+C;if(!this.map.isValidZoomLevel(F)){return ;}var I=this.map.getSize();var E=I.w/2-H.xy.x;var D=H.xy.y-I.h/2;var G=this.map.baseLayer.getResolutionForZoom(F);var A=this.map.getLonLatFromPixel(H.xy);var B=new OpenLayers.LonLat(A.lon+E*G,A.lat+D*G);this.map.setCenter(B,F);},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;if(this.active){this.handlers.wheel.activate();}},CLASS_NAME:"OpenLayers.Control.Navigation"});OpenLayers.Filter=OpenLayers.Class({initialize:function(A){OpenLayers.Util.extend(this,A);},destroy:function(){},evaluate:function(A){return true;},clone:function(){return null;},CLASS_NAME:"OpenLayers.Filter"});OpenLayers.Geometry=OpenLayers.Class({id:null,parent:null,bounds:null,initialize:function(){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");},destroy:function(){this.id=null;this.bounds=null;},clone:function(){return new OpenLayers.Geometry();},setBounds:function(A){if(A){this.bounds=A.clone();}},clearBounds:function(){this.bounds=null;if(this.parent){this.parent.clearBounds();}},extendBounds:function(B){var A=this.getBounds();if(!A){this.setBounds(B);}else{this.bounds.extend(B);}},getBounds:function(){if(this.bounds==null){this.calculateBounds();}return this.bounds;},calculateBounds:function(){},distanceTo:function(B,A){},getVertices:function(A){},atPoint:function(E,H,F){var C=false;var D=this.getBounds();if((D!=null)&&(E!=null)){var B=(H!=null)?H:0;var A=(F!=null)?F:0;var G=new OpenLayers.Bounds(this.bounds.left-B,this.bounds.bottom-A,this.bounds.right+B,this.bounds.top+A);C=G.containsLonLat(E);}return C;},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(F){var G=arguments.callee.format;if(!G){G=new OpenLayers.Format.WKT();arguments.callee.format=G;}var D;var B=G.read(F);if(B instanceof OpenLayers.Feature.Vector){D=B.geometry;}else{if(B instanceof Array){var A=B.length;var E=new Array(A);for(var C=0;C<A;++C){E[C]=B[C].geometry;}D=new OpenLayers.Geometry.Collection(E);}}return D;};OpenLayers.Geometry.segmentsIntersect=function(A,b,B){var O=B&&B.point;var T=B&&B.tolerance;var E=false;var V=A.x1-b.x1;var Z=A.y1-b.y1;var L=A.x2-A.x1;var S=A.y2-A.y1;var P=b.y2-b.y1;var I=b.x2-b.x1;var X=(P*L)-(I*S);var D=(I*Z)-(P*V);var C=(L*Z)-(S*V);if(X==0){if(D==0&&C==0){E=true;}}else{var Y=D/X;var W=C/X;if(Y>=0&&Y<=1&&W>=0&&W<=1){if(!O){E=true;}else{var G=A.x1+(Y*L);var F=A.y1+(Y*S);E=new OpenLayers.Geometry.Point(G,F);}}}if(T){var N;if(E){if(O){var K=[A,b];var U,G,F;outer:for(var R=0;R<2;++R){U=K[R];for(var Q=1;Q<3;++Q){G=U["x"+Q];F=U["y"+Q];N=Math.sqrt(Math.pow(G-E.x,2)+Math.pow(F-E.y,2));if(N<T){E.x=G;E.y=F;break outer;}}}}}else{var K=[A,b];var M,a,G,F,J,H;outer:for(var R=0;R<2;++R){M=K[R];a=K[(R+1)%2];for(var Q=1;Q<3;++Q){J={x:M["x"+Q],y:M["y"+Q]};H=OpenLayers.Geometry.distanceToSegment(J,a);if(H.distance<T){if(O){E=new OpenLayers.Geometry.Point(J.x,J.y);}else{E=true;}break outer;}}}}}return E;};OpenLayers.Geometry.distanceToSegment=function(K,D){var C=K.x;var J=K.y;var B=D.x1;var I=D.y1;var A=D.x2;var F=D.y2;var M=A-B;var L=F-I;var H=((M*(C-B))+(L*(J-I)))/(Math.pow(M,2)+Math.pow(L,2));var G,E;if(H<=0){G=B;E=I;}else{if(H>=1){G=A;E=F;}else{G=B+H*M;E=I+H*L;}}return{distance:Math.sqrt(Math.pow(G-C,2)+Math.pow(E-J,2)),x:G,y:E};};OpenLayers.Layer.ArcGIS93Rest=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{format:"png"},isBaseLayer:true,initialize:function(D,C,E,B){var A=[];E=OpenLayers.Util.upperCaseObject(E);A.push(D,C,E,B);OpenLayers.Layer.Grid.prototype.initialize.apply(this,A);OpenLayers.Util.applyDefaults(this.params,OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS));if(this.params.TRANSPARENT&&this.params.TRANSPARENT.toString().toLowerCase()=="true"){if((B==null)||(!B.isBaseLayer)){this.isBaseLayer=false;}if(this.params.FORMAT=="jpg"){this.params.FORMAT=OpenLayers.Util.alphaHack()?"gif":"png";}}},destroy:function(){OpenLayers.Layer.Grid.prototype.destroy.apply(this,arguments);},clone:function(A){if(A==null){A=new OpenLayers.Layer.ArcGIS93Rest(this.name,this.url,this.params,this.options);}A=OpenLayers.Layer.Grid.prototype.clone.apply(this,[A]);return A;},getURL:function(E){E=this.adjustBounds(E);var D=this.projection.getCode().split(":");var C=D[D.length-1];var G=this.getImageSize();var H={BBOX:E.toBBOX(),SIZE:G.w+","+G.h,F:"image",BBOXSR:C,IMAGESR:C};if(this.layerDefs){var F=[];var A;for(A in this.layerDefs){if(this.layerDefs.hasOwnProperty(A)){if(this.layerDefs[A]){F.push(A);F.push(":");F.push(this.layerDefs[A]);F.push(";");}}}if(F.length>0){H.LAYERDEFS=F.join("");}}var B=this.getFullRequestString(H);return B;},setLayerFilter:function(B,A){if(!this.layerDefs){this.layerDefs={};}if(A){this.layerDefs[B]=A;}else{delete this.layerDefs[B];}},clearLayerFilter:function(A){if(A){delete this.layerDefs[A];}else{delete this.layerDefs;}},mergeNewParams:function(C){var B=OpenLayers.Util.upperCaseObject(C);var A=[B];return OpenLayers.Layer.Grid.prototype.mergeNewParams.apply(this,A);},addTile:function(B,A){return new OpenLayers.Tile.Image(this,A,B,null,this.tileSize);},CLASS_NAME:"OpenLayers.Layer.ArcGIS93Rest"});OpenLayers.Layer.MapServer=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{mode:"map",map_imagetype:"png"},initialize:function(D,C,E,B){var A=[];A.push(D,C,E,B);OpenLayers.Layer.Grid.prototype.initialize.apply(this,A);this.params=OpenLayers.Util.applyDefaults(this.params,this.DEFAULT_PARAMS);if(B==null||B.isBaseLayer==null){this.isBaseLayer=((this.params.transparent!="true")&&(this.params.transparent!=true));}},clone:function(A){if(A==null){A=new OpenLayers.Layer.MapServer(this.name,this.url,this.params,this.options);}A=OpenLayers.Layer.Grid.prototype.clone.apply(this,[A]);return A;},addTile:function(B,A){return new OpenLayers.Tile.Image(this,A,B,null,this.tileSize);},getURL:function(C){C=this.adjustBounds(C);var B=[C.left,C.bottom,C.right,C.top];var D=this.getImageSize();var A=this.getFullRequestString({mapext:B,imgext:B,map_size:[D.w,D.h],imgx:D.w/2,imgy:D.h/2,imgxy:[D.w,D.h]});return A;},getFullRequestString:function(F,E){var B=(E==null)?this.url:E;var G=OpenLayers.Util.extend({},this.params);G=OpenLayers.Util.extend(G,F);var A=OpenLayers.Util.getParameterString(G);if(B instanceof Array){B=this.selectUrl(A,B);}var D=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(B));for(var H in G){if(H.toUpperCase() in D){delete G[H];}}A=OpenLayers.Util.getParameterString(G);var I=B;A=A.replace(/,/g,"+");if(A!=""){var C=B.charAt(B.length-1);if((C=="&")||(C=="?")){I+=A;}else{if(B.indexOf("?")==-1){I+="?"+A;}else{I+="&"+A;}}}return I;},CLASS_NAME:"OpenLayers.Layer.MapServer"});OpenLayers.Layer.TileCache=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:true,format:"image/png",serverResolutions:null,initialize:function(C,B,D,A){this.layername=D;OpenLayers.Layer.Grid.prototype.initialize.apply(this,[C,B,{},A]);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);}A=OpenLayers.Layer.Grid.prototype.clone.apply(this,[A]);return A;},getURL:function(B){var F=this.map.getResolution();var G=this.maxExtent;var K=this.tileSize;var A=Math.round((B.left-G.left)/(F*K.w));var J=Math.round((B.bottom-G.bottom)/(F*K.h));var H=this.serverResolutions!=null?OpenLayers.Util.indexOf(this.serverResolutions,F):this.map.getZoom();function E(O,N){O=String(O);var L=[];for(var M=0;M<N;++M){L.push("0");}return L.join("").substring(0,N-O.length)+O;}var D=[this.layername,E(H,2),E(parseInt(A/1000000),3),E((parseInt(A/1000)%1000),3),E((parseInt(A)%1000),3),E(parseInt(J/1000000),3),E((parseInt(J/1000)%1000),3),E((parseInt(J)%1000),3)+"."+this.extension];var I=D.join("/");var C=this.url;if(C instanceof Array){C=this.selectUrl(I,C);}C=(C.charAt(C.length-1)=="/")?C:C+"/";return C+I;},addTile:function(C,A){var B=this.getURL(C);return new OpenLayers.Tile.Image(this,A,C,B,this.tileSize);},CLASS_NAME:"OpenLayers.Layer.TileCache"});OpenLayers.Layer.WMS=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{service:"WMS",version:"1.1.1",request:"GetMap",styles:"",exceptions:"application/vnd.ogc.se_inimage",format:"image/jpeg"},reproject:false,isBaseLayer:true,encodeBBOX:false,noMagic:false,initialize:function(D,C,E,B){var A=[];E=OpenLayers.Util.upperCaseObject(E);A.push(D,C,E,B);OpenLayers.Layer.Grid.prototype.initialize.apply(this,A);OpenLayers.Util.applyDefaults(this.params,OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS));if(!this.noMagic&&this.params.TRANSPARENT&&this.params.TRANSPARENT.toString().toLowerCase()=="true"){if((B==null)||(!B.isBaseLayer)){this.isBaseLayer=false;}if(this.params.FORMAT=="image/jpeg"){this.params.FORMAT=OpenLayers.Util.alphaHack()?"image/gif":"image/png";}}},destroy:function(){OpenLayers.Layer.Grid.prototype.destroy.apply(this,arguments);},clone:function(A){if(A==null){A=new OpenLayers.Layer.WMS(this.name,this.url,this.params,this.options);}A=OpenLayers.Layer.Grid.prototype.clone.apply(this,[A]);return A;},getURL:function(B){B=this.adjustBounds(B);var C=this.getImageSize();var D={BBOX:this.encodeBBOX?B.toBBOX():B.toArray(),WIDTH:C.w,HEIGHT:C.h};var A=this.getFullRequestString(D);return A;},addTile:function(B,A){return new OpenLayers.Tile.Image(this,A,B,null,this.tileSize);},mergeNewParams:function(C){var B=OpenLayers.Util.upperCaseObject(C);var A=[B];return OpenLayers.Layer.Grid.prototype.mergeNewParams.apply(this,A);},getFullRequestString:function(C,B){var A=this.map.getProjection();this.params.SRS=(A=="none")?null:A;return OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(this,arguments);},CLASS_NAME:"OpenLayers.Layer.WMS"});OpenLayers.Layer.XYZ=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:true,sphericalMercator:false,initialize:function(D,C,B){if(B&&B.sphericalMercator||this.sphericalMercator){B=OpenLayers.Util.extend({maxExtent:new OpenLayers.Bounds(-128*156543.0339,-128*156543.0339,128*156543.0339,128*156543.0339),maxResolution:156543.0339,numZoomLevels:19,units:"m",projection:"EPSG:900913"},B);}C=C||this.url;D=D||this.name;var A=[D,C,{},B];OpenLayers.Layer.Grid.prototype.initialize.apply(this,A);},clone:function(A){if(A==null){A=new OpenLayers.Layer.XYZ(this.name,this.url,this.options);}A=OpenLayers.Layer.HTTPRequest.prototype.clone.apply(this,[A]);if(this.tileSize!=null){A.tileSize=this.tileSize.clone();}A.grid=[];return A;},getURL:function(A){var D=this.map.getResolution();var G=Math.round((A.left-this.maxExtent.left)/(D*this.tileSize.w));var F=Math.round((this.maxExtent.top-A.top)/(D*this.tileSize.h));var E=this.map.getZoom();var C=Math.pow(2,E);var B=this.url;var I=""+G+F+E;if(B instanceof Array){B=this.selectUrl(I,B);}var H=OpenLayers.String.format(B,{x:G,y:F,z:E});return H;},addTile:function(B,A){return new OpenLayers.Tile.Image(this,A,B,null,this.tileSize);},setMap:function(A){OpenLayers.Layer.Grid.prototype.setMap.apply(this,arguments);if(!this.tileOrigin){this.tileOrigin=new OpenLayers.LonLat(this.maxExtent.left,this.maxExtent.bottom);}},CLASS_NAME:"OpenLayers.Layer.XYZ"});OpenLayers.Layer.OSM=OpenLayers.Class(OpenLayers.Layer.XYZ,{name:"OpenStreetMap",attribution:"Data CC-By-SA by <a href='http://openstreetmap.org/'>OpenStreetMap</a>",sphericalMercator:true,url:"http://tile.openstreetmap.org/${z}/${x}/${y}.png",CLASS_NAME:"OpenLayers.Layer.OSM"});OpenLayers.Rule=OpenLayers.Class({id:null,name:"default",title:null,description:null,context:null,filter:null,elseFilter:false,symbolizer:null,minScaleDenominator:null,maxScaleDenominator:null,initialize:function(A){this.symbolizer={};OpenLayers.Util.extend(this,A);this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");},destroy:function(){for(var A in this.symbolizer){this.symbolizer[A]=null;}this.symbolizer=null;},evaluate:function(C){var B=this.getContext(C);var A=true;if(this.minScaleDenominator||this.maxScaleDenominator){var D=C.layer.map.getScale();}if(this.minScaleDenominator){A=D>=OpenLayers.Style.createLiteral(this.minScaleDenominator,B);}if(A&&this.maxScaleDenominator){A=D<OpenLayers.Style.createLiteral(this.maxScaleDenominator,B);}if(A&&this.filter){if(this.filter.CLASS_NAME=="OpenLayers.Filter.FeatureId"){A=this.filter.evaluate(C);}else{A=this.filter.evaluate(B);}}return A;},getContext:function(B){var A=this.context;if(!A){A=B.attributes||B.data;}if(typeof this.context=="function"){A=this.context(B);}return A;},clone:function(){var A=OpenLayers.Util.extend({},this);A.symbolizer={};for(var B in this.symbolizer){value=this.symbolizer[B];type=typeof value;if(type==="object"){A.symbolizer[B]=OpenLayers.Util.extend({},value);}else{if(type==="string"){A.symbolizer[B]=value;}}}A.filter=this.filter&&this.filter.clone();A.context=this.context&&OpenLayers.Util.extend({},this.context);return new OpenLayers.Rule(A);},CLASS_NAME:"OpenLayers.Rule"});OpenLayers.StyleMap=OpenLayers.Class({styles:null,extendDefault:true,initialize:function(C,A){this.styles={"default":new OpenLayers.Style(OpenLayers.Feature.Vector.style["default"]),select:new OpenLayers.Style(OpenLayers.Feature.Vector.style.select),temporary:new OpenLayers.Style(OpenLayers.Feature.Vector.style.temporary),"delete":new OpenLayers.Style(OpenLayers.Feature.Vector.style["delete"])};if(C instanceof OpenLayers.Style){this.styles["default"]=C;this.styles.select=C;this.styles.temporary=C;this.styles["delete"]=C;}else{if(typeof C=="object"){for(var B in C){if(C[B] instanceof OpenLayers.Style){this.styles[B]=C[B];}else{if(typeof C[B]=="object"){this.styles[B]=new OpenLayers.Style(C[B]);}else{this.styles["default"]=new OpenLayers.Style(C);this.styles.select=new OpenLayers.Style(C);this.styles.temporary=new OpenLayers.Style(C);this.styles["delete"]=new OpenLayers.Style(C);break;}}}}}OpenLayers.Util.extend(this,A);},destroy:function(){for(var A in this.styles){this.styles[A].destroy();}this.styles=null;},createSymbolizer:function(B,C){if(!B){B=new OpenLayers.Feature.Vector();}if(!this.styles[C]){C="default";}B.renderIntent=C;var A={};if(this.extendDefault&&C!="default"){A=this.styles["default"].createSymbolizer(B);}return OpenLayers.Util.extend(A,this.styles[C].createSymbolizer(B));},addUniqueValueRules:function(B,D,F,A){var E=[];for(var C in F){E.push(new OpenLayers.Rule({symbolizer:F[C],context:A,filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.EQUAL_TO,property:D,value:C})}));}this.styles[B].addRules(E);},CLASS_NAME:"OpenLayers.StyleMap"});OpenLayers.Filter.Comparison=OpenLayers.Class(OpenLayers.Filter,{type:null,property:null,value:null,matchCase:true,lowerBoundary:null,upperBoundary:null,initialize:function(A){OpenLayers.Filter.prototype.initialize.apply(this,[A]);},evaluate:function(C){var A=false;switch(this.type){case OpenLayers.Filter.Comparison.EQUAL_TO:var B=C[this.property];var E=this.value;if(!this.matchCase&&typeof B=="string"&&typeof E=="string"){A=(B.toUpperCase()==E.toUpperCase());}else{A=(B==E);}break;case OpenLayers.Filter.Comparison.NOT_EQUAL_TO:var B=C[this.property];var E=this.value;if(!this.matchCase&&typeof B=="string"&&typeof E=="string"){A=(B.toUpperCase()!=E.toUpperCase());}else{A=(B!=E);}break;case OpenLayers.Filter.Comparison.LESS_THAN:A=C[this.property]<this.value;break;case OpenLayers.Filter.Comparison.GREATER_THAN:A=C[this.property]>this.value;break;case OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO:A=C[this.property]<=this.value;break;case OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO:A=C[this.property]>=this.value;break;case OpenLayers.Filter.Comparison.BETWEEN:A=(C[this.property]>=this.lowerBoundary)&&(C[this.property]<=this.upperBoundary);break;case OpenLayers.Filter.Comparison.LIKE:var D=new RegExp(this.value,"gi");A=D.test(C[this.property]);break;}return A;},value2regex:function(D,B,A){if(D=="."){var C="'.' is an unsupported wildCard character for OpenLayers.Filter.Comparison";OpenLayers.Console.error(C);return null;}D=D?D:"*";B=B?B:".";A=A?A:"!";this.value=this.value.replace(new RegExp("\\"+A+"(.|$)","g"),"\\$1");this.value=this.value.replace(new RegExp("\\"+B,"g"),".");this.value=this.value.replace(new RegExp("\\"+D,"g"),".*");this.value=this.value.replace(new RegExp("\\\\.\\*","g"),"\\"+D);this.value=this.value.replace(new RegExp("\\\\\\.","g"),"\\"+B);return this.value;},regex2value:function(){var A=this.value;A=A.replace(/!/g,"!!");A=A.replace(/(\\)?\\\./g,function(C,B){return B?C:"!.";});A=A.replace(/(\\)?\\\*/g,function(C,B){return B?C:"!*";});A=A.replace(/\\\\/g,"\\");A=A.replace(/\.\*/g,"*");return A;},clone:function(){return OpenLayers.Util.extend(new OpenLayers.Filter.Comparison(),this);},CLASS_NAME:"OpenLayers.Filter.Comparison"});OpenLayers.Filter.Comparison.EQUAL_TO="==";OpenLayers.Filter.Comparison.NOT_EQUAL_TO="!=";OpenLayers.Filter.Comparison.LESS_THAN="<";OpenLayers.Filter.Comparison.GREATER_THAN=">";OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO="<=";OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO=">=";OpenLayers.Filter.Comparison.BETWEEN="..";OpenLayers.Filter.Comparison.LIKE="~";OpenLayers.Filter.FeatureId=OpenLayers.Class(OpenLayers.Filter,{fids:null,initialize:function(A){this.fids=[];OpenLayers.Filter.prototype.initialize.apply(this,[A]);},evaluate:function(C){for(var B=0,A=this.fids.length;B<A;B++){var D=C.fid||C.id;if(D==this.fids[B]){return true;}}return false;},clone:function(){var A=new OpenLayers.Filter.FeatureId();OpenLayers.Util.extend(A,this);A.fids=this.fids.slice();return A;},CLASS_NAME:"OpenLayers.Filter.FeatureId"});OpenLayers.Filter.Logical=OpenLayers.Class(OpenLayers.Filter,{filters:null,type:null,initialize:function(A){this.filters=[];OpenLayers.Filter.prototype.initialize.apply(this,[A]);},destroy:function(){this.filters=null;OpenLayers.Filter.prototype.destroy.apply(this);},evaluate:function(C){switch(this.type){case OpenLayers.Filter.Logical.AND:for(var B=0,A=this.filters.length;B<A;B++){if(this.filters[B].evaluate(C)==false){return false;}}return true;case OpenLayers.Filter.Logical.OR:for(var B=0,A=this.filters.length;B<A;B++){if(this.filters[B].evaluate(C)==true){return true;}}return false;case OpenLayers.Filter.Logical.NOT:return(!this.filters[0].evaluate(C));}},clone:function(){var C=[];for(var B=0,A=this.filters.length;B<A;++B){C.push(this.filters[B].clone());}return new OpenLayers.Filter.Logical({type:this.type,filters:C});},CLASS_NAME:"OpenLayers.Filter.Logical"});OpenLayers.Filter.Logical.AND="&&";OpenLayers.Filter.Logical.OR="||";OpenLayers.Filter.Logical.NOT="!";OpenLayers.Filter.Spatial=OpenLayers.Class(OpenLayers.Filter,{type:null,property:null,value:null,distance:null,distanceUnits:null,initialize:function(A){OpenLayers.Filter.prototype.initialize.apply(this,[A]);},evaluate:function(C){var A=false;switch(this.type){case OpenLayers.Filter.Spatial.BBOX:case OpenLayers.Filter.Spatial.INTERSECTS:if(C.geometry){var B=this.value;if(this.value.CLASS_NAME=="OpenLayers.Bounds"){B=this.value.toGeometry();}if(C.geometry.intersects(B)){A=true;}}break;default:OpenLayers.Console.error(OpenLayers.i18n("filterEvaluateNotImplemented"));break;}return A;},clone:function(){var A=OpenLayers.Util.applyDefaults({value:this.value&&this.value.clone&&this.value.clone()},this);return new OpenLayers.Filter.Spatial(A);},CLASS_NAME:"OpenLayers.Filter.Spatial"});OpenLayers.Filter.Spatial.BBOX="BBOX";OpenLayers.Filter.Spatial.INTERSECTS="INTERSECTS";OpenLayers.Filter.Spatial.DWITHIN="DWITHIN";OpenLayers.Filter.Spatial.WITHIN="WITHIN";OpenLayers.Filter.Spatial.CONTAINS="CONTAINS";OpenLayers.Geometry.Collection=OpenLayers.Class(OpenLayers.Geometry,{components:null,componentTypes:null,initialize:function(A){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.components=[];if(A!=null){this.addComponents(A);}},destroy:function(){this.components.length=0;this.components=null;},clone:function(){var geometry=eval("new "+this.CLASS_NAME+"()");for(var i=0,len=this.components.length;i<len;i++){geometry.addComponent(this.components[i].clone());}OpenLayers.Util.applyDefaults(geometry,this);return geometry;},getComponentsString:function(){var B=[];for(var C=0,A=this.components.length;C<A;C++){B.push(this.components[C].toShortString());}return B.join(",");},calculateBounds:function(){this.bounds=null;if(this.components&&this.components.length>0){this.setBounds(this.components[0].getBounds());for(var B=1,A=this.components.length;B<A;B++){this.extendBounds(this.components[B].getBounds());}}},addComponents:function(C){if(!(C instanceof Array)){C=[C];}for(var B=0,A=C.length;B<A;B++){this.addComponent(C[B]);}},addComponent:function(B,A){var D=false;if(B){if(this.componentTypes==null||(OpenLayers.Util.indexOf(this.componentTypes,B.CLASS_NAME)>-1)){if(A!=null&&(A<this.components.length)){var E=this.components.slice(0,A);var C=this.components.slice(A,this.components.length);E.push(B);this.components=E.concat(C);}else{this.components.push(B);}B.parent=this;this.clearBounds();D=true;}}return D;},removeComponents:function(B){if(!(B instanceof Array)){B=[B];}for(var A=B.length-1;A>=0;--A){this.removeComponent(B[A]);}},removeComponent:function(A){OpenLayers.Util.removeItem(this.components,A);this.clearBounds();},getLength:function(){var C=0;for(var B=0,A=this.components.length;B<A;B++){C+=this.components[B].getLength();}return C;},getArea:function(){var C=0;for(var B=0,A=this.components.length;B<A;B++){C+=this.components[B].getArea();}return C;},getGeodesicArea:function(B){var D=0;for(var C=0,A=this.components.length;C<A;C++){D+=this.components[C].getGeodesicArea(B);}return D;},getCentroid:function(){return this.components.length&&this.components[0].getCentroid();},getGeodesicLength:function(B){var D=0;for(var C=0,A=this.components.length;C<A;C++){D+=this.components[C].getGeodesicLength(B);}return D;},move:function(B,D){for(var C=0,A=this.components.length;C<A;C++){this.components[C].move(B,D);}},rotate:function(D,B){for(var C=0,A=this.components.length;C<A;++C){this.components[C].rotate(D,B);}},resize:function(D,A,C){for(var B=0;B<this.components.length;++B){this.components[B].resize(D,A,C);}return this;},distanceTo:function(G,H){var B=!(H&&H.edge===false);var A=B&&H&&H.details;var I,C;var D=Number.POSITIVE_INFINITY;for(var E=0,F=this.components.length;E<F;++E){I=this.components[E].distanceTo(G,H);distance=A?I.distance:I;if(distance<D){D=distance;C=I;if(D==0){break;}}}return C;},equals:function(D){var B=true;if(!D||!D.CLASS_NAME||(this.CLASS_NAME!=D.CLASS_NAME)){B=false;}else{if(!(D.components instanceof Array)||(D.components.length!=this.components.length)){B=false;}else{for(var C=0,A=this.components.length;C<A;++C){if(!this.components[C].equals(D.components[C])){B=false;break;}}}}return B;},transform:function(E,C){if(E&&C){for(var D=0,A=this.components.length;D<A;D++){var B=this.components[D];B.transform(E,C);}this.bounds=null;}return this;},intersects:function(D){var B=false;for(var C=0,A=this.components.length;C<A;++C){B=D.intersects(this.components[C]);if(B){break;}}return B;},getVertices:function(B){var C=[];for(var D=0,A=this.components.length;D<A;++D){Array.prototype.push.apply(C,this.components[D].getVertices(B));}return C;},CLASS_NAME:"OpenLayers.Geometry.Collection"});OpenLayers.Geometry.Point=OpenLayers.Class(OpenLayers.Geometry,{x:null,y:null,initialize:function(A,B){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.x=parseFloat(A);this.y=parseFloat(B);},clone:function(A){if(A==null){A=new OpenLayers.Geometry.Point(this.x,this.y);}OpenLayers.Util.applyDefaults(A,this);return A;},calculateBounds:function(){this.bounds=new OpenLayers.Bounds(this.x,this.y,this.x,this.y);},distanceTo:function(F,J){var D=!(J&&J.edge===false);var A=D&&J&&J.details;var B,E,H,C,G,I;if(F instanceof OpenLayers.Geometry.Point){E=this.x;H=this.y;C=F.x;G=F.y;B=Math.sqrt(Math.pow(E-C,2)+Math.pow(H-G,2));I=!A?B:{x0:E,y0:H,x1:C,y1:G,distance:B};}else{I=F.distanceTo(this,J);if(A){I={x0:I.x1,y0:I.y1,x1:I.x0,y1:I.y0,distance:I.distance};}}return I;},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;},toShortString:function(){return(this.x+", "+this.y);},move:function(A,B){this.x=this.x+A;this.y=this.y+B;this.clearBounds();},rotate:function(D,B){D*=Math.PI/180;var A=this.distanceTo(B);var C=D+Math.atan2(this.y-B.y,this.x-B.x);this.x=B.x+(A*Math.cos(C));this.y=B.y+(A*Math.sin(C));this.clearBounds();},getCentroid:function(){return new OpenLayers.Geometry.Point(this.x,this.y);},resize:function(C,A,B){B=(B==undefined)?1:B;this.x=A.x+(C*B*(this.x-A.x));this.y=A.y+(C*(this.y-A.y));this.clearBounds();return this;},intersects:function(B){var A=false;if(B.CLASS_NAME=="OpenLayers.Geometry.Point"){A=this.equals(B);}else{A=B.intersects(this);}return A;},transform:function(B,A){if((B&&A)){OpenLayers.Projection.transform(this,B,A);this.bounds=null;}return this;},getVertices:function(A){return[this];},CLASS_NAME:"OpenLayers.Geometry.Point"});OpenLayers.Geometry.Rectangle=OpenLayers.Class(OpenLayers.Geometry,{x:null,y:null,width:null,height:null,initialize:function(B,D,C,A){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.x=B;this.y=D;this.width=C;this.height=A;},calculateBounds:function(){this.bounds=new OpenLayers.Bounds(this.x,this.y,this.x+this.width,this.y+this.height);},getLength:function(){var A=(2*this.width)+(2*this.height);return A;},getArea:function(){var A=this.width*this.height;return A;},CLASS_NAME:"OpenLayers.Geometry.Rectangle"});OpenLayers.Geometry.Surface=OpenLayers.Class(OpenLayers.Geometry,{initialize:function(){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);},CLASS_NAME:"OpenLayers.Geometry.Surface"});OpenLayers.Layer.MapServer.Untiled=OpenLayers.Class(OpenLayers.Layer.MapServer,{singleTile:true,initialize:function(C,B,E,A){OpenLayers.Layer.MapServer.prototype.initialize.apply(this,arguments);var D="The OpenLayers.Layer.MapServer.Untiled class is deprecated and will be removed in 3.0. Instead, you should use the normal OpenLayers.Layer.MapServer class, passing it the option 'singleTile' as true.";OpenLayers.Console.warn(D);},clone:function(A){if(A==null){A=new OpenLayers.Layer.MapServer.Untiled(this.name,this.url,this.params,this.options);}A=OpenLayers.Layer.MapServer.prototype.clone.apply(this,[A]);return A;},CLASS_NAME:"OpenLayers.Layer.MapServer.Untiled"});OpenLayers.Layer.Vector=OpenLayers.Class(OpenLayers.Layer,{EVENT_TYPES:["beforefeatureadded","beforefeaturesadded","featureadded","featuresadded","beforefeatureremoved","featureremoved","featuresremoved","beforefeatureselected","featureselected","featureunselected","beforefeaturemodified","featuremodified","afterfeaturemodified","vertexmodified","sketchstarted","sketchmodified","sketchcomplete","refresh"],isBaseLayer:false,isFixed:false,isVector:true,features:null,filter:null,selectedFeatures:null,unrenderedFeatures:null,reportError:true,style:null,styleMap:null,strategies:null,protocol:null,renderers:["SVG","VML","Canvas"],renderer:null,rendererOptions:null,geometryType:null,drawn:false,initialize:function(C,B){this.EVENT_TYPES=OpenLayers.Layer.Vector.prototype.EVENT_TYPES.concat(OpenLayers.Layer.prototype.EVENT_TYPES);OpenLayers.Layer.prototype.initialize.apply(this,arguments);if(!this.renderer||!this.renderer.supported()){this.assignRenderer();}if(!this.renderer||!this.renderer.supported()){this.renderer=null;this.displayError();}if(!this.styleMap){this.styleMap=new OpenLayers.StyleMap();}this.features=[];this.selectedFeatures=[];this.unrenderedFeatures={};if(this.strategies){for(var D=0,A=this.strategies.length;D<A;D++){this.strategies[D].setLayer(this);}}},destroy:function(){if(this.strategies){var C,B,A;for(B=0,A=this.strategies.length;B<A;B++){C=this.strategies[B];if(C.autoDestroy){C.destroy();}}this.strategies=null;}if(this.protocol){if(this.protocol.autoDestroy){this.protocol.destroy();}this.protocol=null;}this.destroyFeatures();this.features=null;this.selectedFeatures=null;this.unrenderedFeatures=null;if(this.renderer){this.renderer.destroy();}this.renderer=null;this.geometryType=null;this.drawn=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments);},refresh:function(A){if(this.calculateInRange()&&this.visibility){this.events.triggerEvent("refresh",A);}},assignRenderer:function(){for(var C=0,A=this.renderers.length;C<A;C++){var B=OpenLayers.Renderer[this.renderers[C]];if(B&&B.prototype.supported()){this.renderer=new B(this.div,this.rendererOptions);break;}}},displayError:function(){if(this.reportError){OpenLayers.Console.userError(OpenLayers.i18n("browserNotSupported",{renderers:this.renderers.join("\n")}));}},setMap:function(A){OpenLayers.Layer.prototype.setMap.apply(this,arguments);if(!this.renderer){this.map.removeLayer(this);}else{this.renderer.map=this.map;this.renderer.setSize(this.map.getSize());}},afterAdd:function(){if(this.strategies){var C,B,A;for(B=0,A=this.strategies.length;B<A;B++){C=this.strategies[B];if(C.autoActivate){C.activate();}}}},removeMap:function(C){if(this.strategies){var D,B,A;for(B=0,A=this.strategies.length;B<A;B++){D=this.strategies[B];if(D.autoActivate){D.deactivate();}}}},onMapResize:function(){OpenLayers.Layer.prototype.onMapResize.apply(this,arguments);this.renderer.setSize(this.map.getSize());},moveTo:function(G,B,H){OpenLayers.Layer.prototype.moveTo.apply(this,arguments);var E=true;if(!H){this.renderer.root.style.visibility="hidden";this.div.style.left=-parseInt(this.map.layerContainerDiv.style.left)+"px";this.div.style.top=-parseInt(this.map.layerContainerDiv.style.top)+"px";var F=this.map.getExtent();E=this.renderer.setExtent(F,B);this.renderer.root.style.visibility="visible";if(navigator.userAgent.toLowerCase().indexOf("gecko")!=-1){this.div.scrollLeft=this.div.scrollLeft;}if(!B&&E){for(var D in this.unrenderedFeatures){var C=this.unrenderedFeatures[D];this.drawFeature(C);}}}if(!this.drawn||B||!E){this.drawn=true;var C;for(var D=0,A=this.features.length;D<A;D++){this.renderer.locked=(D!==(A-1));C=this.features[D];this.drawFeature(C);}}},display:function(A){OpenLayers.Layer.prototype.display.apply(this,arguments);var B=this.div.style.display;if(B!=this.renderer.root.style.display){this.renderer.root.style.display=B;}},addFeatures:function(B,I){if(!(B instanceof Array)){B=[B];}var G=!I||!I.silent;if(G){var A={features:B};var F=this.events.triggerEvent("beforefeaturesadded",A);if(F===false){return ;}B=A.features;}for(var C=0,E=B.length;C<E;C++){if(C!=(B.length-1)){this.renderer.locked=true;}else{this.renderer.locked=false;}var H=B[C];if(this.geometryType&&!(H.geometry instanceof this.geometryType)){var D=OpenLayers.i18n("componentShouldBe",{geomType:this.geometryType.prototype.CLASS_NAME});throw D;}this.features.push(H);H.layer=this;if(!H.style&&this.style){H.style=OpenLayers.Util.extend({},this.style);}if(G){if(this.events.triggerEvent("beforefeatureadded",{feature:H})===false){continue;}this.preFeatureInsert(H);}this.drawFeature(H);if(G){this.events.triggerEvent("featureadded",{feature:H});this.onFeatureInsert(H);}}if(G){this.events.triggerEvent("featuresadded",{features:B});}},removeFeatures:function(E,A){if(!E||E.length===0){return ;}if(!(E instanceof Array)){E=[E];}if(E===this.features){E=E.slice();}var D=!A||!A.silent;for(var C=E.length-1;C>=0;C--){if(C!=0&&E[C-1].geometry){this.renderer.locked=true;}else{this.renderer.locked=false;}var B=E[C];delete this.unrenderedFeatures[B.id];if(D){this.events.triggerEvent("beforefeatureremoved",{feature:B});}this.features=OpenLayers.Util.removeItem(this.features,B);B.layer=null;if(B.geometry){this.renderer.eraseFeatures(B);}if(OpenLayers.Util.indexOf(this.selectedFeatures,B)!=-1){OpenLayers.Util.removeItem(this.selectedFeatures,B);}if(D){this.events.triggerEvent("featureremoved",{feature:B});}}if(D){this.events.triggerEvent("featuresremoved",{features:E});}},destroyFeatures:function(D,A){var C=(D==undefined);if(C){D=this.features;}if(D){this.removeFeatures(D,A);for(var B=D.length-1;B>=0;B--){D[B].destroy();}}},drawFeature:function(A,B){if(!this.drawn){return ;}if(typeof B!="object"){if(!B&&A.state===OpenLayers.State.DELETE){B="delete";}var C=B||A.renderIntent;B=A.style||this.style;if(!B){B=this.styleMap.createSymbolizer(A,C);}}if(!this.renderer.drawFeature(A,B)){this.unrenderedFeatures[A.id]=A;}else{delete this.unrenderedFeatures[A.id];}},eraseFeatures:function(A){this.renderer.eraseFeatures(A);},getFeatureFromEvent:function(A){if(!this.renderer){OpenLayers.Console.error(OpenLayers.i18n("getFeatureError"));return null;}var B=this.renderer.getFeatureIdFromEvent(A);return this.getFeatureById(B);},getFeatureById:function(D){var C=null;for(var B=0,A=this.features.length;B<A;++B){if(this.features[B].id==D){C=this.features[B];break;}}return C;},onFeatureInsert:function(A){},preFeatureInsert:function(A){},getDataExtent:function(){var B=null;var D=this.features;if(D&&(D.length>0)){B=new OpenLayers.Bounds();var E=null;for(var C=0,A=D.length;C<A;C++){E=D[C].geometry;if(E){B.extend(E.getBounds());}}}return B;},CLASS_NAME:"OpenLayers.Layer.Vector"});OpenLayers.Format.Filter=OpenLayers.Class(OpenLayers.Format.XML,{defaultVersion:"1.0.0",version:null,parser:null,initialize:function(A){OpenLayers.Format.XML.prototype.initialize.apply(this,[A]);},write:function(C,B){var A=(B&&B.version)||this.version||this.defaultVersion;if(!this.parser||this.parser.VERSION!=A){var D=OpenLayers.Format.Filter["v"+A.replace(/\./g,"_")];if(!D){throw"Can't find a Filter parser for version "+A;}this.parser=new D(this.options);}return this.parser.write(C);},read:function(C){if(typeof C=="string"){C=OpenLayers.Format.XML.prototype.read.apply(this,[C]);}var A=this.version;if(!A){A=this.defaultVersion;}if(!this.parser||this.parser.VERSION!=A){var D=OpenLayers.Format.Filter["v"+A.replace(/\./g,"_")];if(!D){throw"Can't find a Filter parser for version "+A;}this.parser=new D(this.options);}var B=this.parser.read(C);return B;},CLASS_NAME:"OpenLayers.Format.Filter"});OpenLayers.Format.SLD=OpenLayers.Class(OpenLayers.Format.XML,{defaultVersion:"1.0.0",version:null,namedLayersAsArray:false,parser:null,initialize:function(A){OpenLayers.Format.XML.prototype.initialize.apply(this,[A]);},write:function(D,C){var B=(C&&C.version)||this.version||this.defaultVersion;if(!this.parser||this.parser.VERSION!=B){var E=OpenLayers.Format.SLD["v"+B.replace(/\./g,"_")];if(!E){throw"Can't find a SLD parser for version "+B;}this.parser=new E(this.options);}var A=this.parser.write(D);return OpenLayers.Format.XML.prototype.write.apply(this,[A]);},read:function(E,C){if(typeof E=="string"){E=OpenLayers.Format.XML.prototype.read.apply(this,[E]);}var B=E.documentElement;var A=this.version;if(!A){A=B.getAttribute("version");if(!A){A=this.defaultVersion;}}if(!this.parser||this.parser.VERSION!=A){var F=OpenLayers.Format.SLD["v"+A.replace(/\./g,"_")];if(!F){throw"Can't find a SLD parser for version "+A;}this.parser=new F(this.options);}var D=this.parser.read(E,C);return D;},CLASS_NAME:"OpenLayers.Format.SLD"});OpenLayers.Geometry.MultiPoint=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.Point"],initialize:function(A){OpenLayers.Geometry.Collection.prototype.initialize.apply(this,arguments);},addPoint:function(A,B){this.addComponent(A,B);},removePoint:function(A){this.removeComponent(A);},CLASS_NAME:"OpenLayers.Geometry.MultiPoint"});OpenLayers.Handler.Point=OpenLayers.Class(OpenLayers.Handler,{point:null,layer:null,multi:false,drawing:false,mouseDown:false,lastDown:null,lastUp:null,persist:false,layerOptions:null,cursorDefaultClassName:"olCursorDefaultPointer",initialize:function(C,B,A){if(!(A&&A.layerOptions&&A.layerOptions.styleMap)){this.style=OpenLayers.Util.extend(OpenLayers.Feature.Vector.style["default"],{});}OpenLayers.Handler.prototype.initialize.apply(this,arguments);},activate:function(){if(!OpenLayers.Handler.prototype.activate.apply(this,arguments)){return false;}var A=OpenLayers.Util.extend({displayInLayerSwitcher:false,calculateInRange:function(){return true;}},this.layerOptions);this.layer=new OpenLayers.Layer.Vector(this.CLASS_NAME,A);this.map.addLayer(this.layer);this.map.div.className=this.cursorDefaultClassName;return true;},createFeature:function(A){var B=this.map.getLonLatFromPixel(A);this.point=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(B.lon,B.lat));this.callback("create",[this.point.geometry,this.point]);this.point.geometry.clearBounds();this.layer.addFeatures([this.point],{silent:true});},deactivate:function(){if(!OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){return false;}if(this.drawing){this.cancel();}this.destroyFeature();if(this.layer.map!=null){this.layer.destroy(false);}this.layer=null;return true;},destroyFeature:function(){if(this.layer){this.layer.destroyFeatures();}this.point=null;},finalize:function(B){var A=B?"cancel":"done";this.drawing=false;this.mouseDown=false;this.lastDown=null;this.lastUp=null;this.callback(A,[this.geometryClone()]);if(B||!this.persist){this.destroyFeature();}},cancel:function(){this.finalize(true);},click:function(A){OpenLayers.Event.stop(A);return false;},dblclick:function(A){OpenLayers.Event.stop(A);return false;},modifyFeature:function(A){var B=this.map.getLonLatFromPixel(A);this.point.geometry.x=B.lon;this.point.geometry.y=B.lat;this.callback("modify",[this.point.geometry,this.point]);this.point.geometry.clearBounds();this.drawFeature();},drawFeature:function(){this.layer.drawFeature(this.point,this.style);},getGeometry:function(){var A=this.point&&this.point.geometry;if(A&&this.multi){A=new OpenLayers.Geometry.MultiPoint([A]);}return A;},geometryClone:function(){var A=this.getGeometry();return A&&A.clone();},mousedown:function(A){if(!this.checkModifiers(A)){return true;}if(this.lastDown&&this.lastDown.equals(A.xy)){return true;}this.drawing=true;if(this.lastDown==null){if(this.persist){this.destroyFeature();}this.createFeature(A.xy);}else{this.modifyFeature(A.xy);}this.lastDown=A.xy;return false;},mousemove:function(A){if(this.drawing){this.modifyFeature(A.xy);}return true;},mouseup:function(A){if(this.drawing){this.finalize();return false;}else{return true;}},CLASS_NAME:"OpenLayers.Handler.Point"});OpenLayers.Layer.GML=OpenLayers.Class(OpenLayers.Layer.Vector,{loaded:false,format:null,formatOptions:null,initialize:function(D,C,B){var A=[];A.push(D,B);OpenLayers.Layer.Vector.prototype.initialize.apply(this,A);this.url=C;},setVisibility:function(A,B){OpenLayers.Layer.Vector.prototype.setVisibility.apply(this,arguments);if(this.visibility&&!this.loaded){this.loadGML();}},moveTo:function(C,A,B){OpenLayers.Layer.Vector.prototype.moveTo.apply(this,arguments);if(this.visibility&&!this.loaded){this.loadGML();}},loadGML:function(){if(!this.loaded){this.events.triggerEvent("loadstart");OpenLayers.Request.GET({url:this.url,success:this.requestSuccess,failure:this.requestFailure,scope:this});this.loaded=true;}},setUrl:function(A){this.url=A;this.destroyFeatures();this.loaded=false;this.loadGML();},requestSuccess:function(C){var D=C.responseXML;if(!D||!D.documentElement){D=C.responseText;}var A={};OpenLayers.Util.extend(A,this.formatOptions);if(this.map&&!this.projection.equals(this.map.getProjectionObject())){A.externalProjection=this.projection;A.internalProjection=this.map.getProjectionObject();}var B=this.format?new this.format(A):new OpenLayers.Format.GML(A);this.addFeatures(B.read(D));this.events.triggerEvent("loadend");},requestFailure:function(A){OpenLayers.Console.userError(OpenLayers.i18n("errorLoadingGML",{url:this.url}));this.events.triggerEvent("loadend");},CLASS_NAME:"OpenLayers.Layer.GML"});OpenLayers.Layer.Vector.RootContainer=OpenLayers.Class(OpenLayers.Layer.Vector,{displayInLayerSwitcher:false,layers:null,initialize:function(B,A){OpenLayers.Layer.Vector.prototype.initialize.apply(this,arguments);},display:function(){},getFeatureFromEvent:function(A){var D=this.layers;var C;for(var B=0;B<D.length;B++){C=D[B].getFeatureFromEvent(A);if(C){return C;}}},setMap:function(A){OpenLayers.Layer.Vector.prototype.setMap.apply(this,arguments);this.collectRoots();A.events.register("changelayer",this,this.handleChangeLayer);},removeMap:function(A){A.events.unregister("changelayer",this,this.handleChangeLayer);this.resetRoots();OpenLayers.Layer.Vector.prototype.removeMap.apply(this,arguments);},collectRoots:function(){var B;for(var A=0;A<this.map.layers.length;++A){B=this.map.layers[A];if(OpenLayers.Util.indexOf(this.layers,B)!=-1){B.renderer.moveRoot(this.renderer);}}},resetRoots:function(){var B;for(var A=0;A<this.layers.length;++A){B=this.layers[A];if(this.renderer&&B.renderer.getRenderLayerId()==this.id){this.renderer.moveRoot(B.renderer);}}},handleChangeLayer:function(A){var B=A.layer;if(A.property=="order"&&OpenLayers.Util.indexOf(this.layers,B)!=-1){this.resetRoots();this.collectRoots();}},CLASS_NAME:"OpenLayers.Layer.Vector.RootContainer"});OpenLayers.Control.SelectFeature=OpenLayers.Class(OpenLayers.Control,{EVENT_TYPES:["beforefeaturehighlighted","featurehighlighted","featureunhighlighted"],multipleKey:null,toggleKey:null,multiple:false,clickout:true,toggle:false,hover:false,highlightOnly:false,box:false,onBeforeSelect:function(){},onSelect:function(){},onUnselect:function(){},scope:null,geometryTypes:null,layer:null,layers:null,callbacks:null,selectStyle:null,renderIntent:"select",handlers:null,initialize:function(C,A){this.EVENT_TYPES=OpenLayers.Control.SelectFeature.prototype.EVENT_TYPES.concat(OpenLayers.Control.prototype.EVENT_TYPES);OpenLayers.Control.prototype.initialize.apply(this,[A]);if(this.scope===null){this.scope=this;}if(C instanceof Array){this.layers=C;this.layer=new OpenLayers.Layer.Vector.RootContainer(this.id+"_container",{layers:C});}else{this.layer=C;}var B={click:this.clickFeature,clickout:this.clickoutFeature};if(this.hover){B.over=this.overFeature;B.out=this.outFeature;}this.callbacks=OpenLayers.Util.extend(B,this.callbacks);this.handlers={feature:new OpenLayers.Handler.Feature(this,this.layer,this.callbacks,{geometryTypes:this.geometryTypes})};if(this.box){this.handlers.box=new OpenLayers.Handler.Box(this,{done:this.selectBox},{boxDivClassName:"olHandlerBoxSelectFeature"});}},destroy:function(){OpenLayers.Control.prototype.destroy.apply(this,arguments);if(this.layers){this.layer.destroy();}},activate:function(){if(!this.active){if(this.layers){this.map.addLayer(this.layer);}this.handlers.feature.activate();if(this.box&&this.handlers.box){this.handlers.box.activate();}}return OpenLayers.Control.prototype.activate.apply(this,arguments);},deactivate:function(){if(this.active){this.handlers.feature.deactivate();if(this.handlers.box){this.handlers.box.deactivate();}if(this.layers){this.map.removeLayer(this.layer);}}return OpenLayers.Control.prototype.deactivate.apply(this,arguments);},unselectAll:function(B){var F=this.layers||[this.layer];var E,D;for(var A=0;A<F.length;++A){E=F[A];for(var C=E.selectedFeatures.length-1;C>=0;--C){D=E.selectedFeatures[C];if(!B||B.except!=D){this.unselect(D);}}}},clickFeature:function(A){if(!this.hover){var B=(OpenLayers.Util.indexOf(A.layer.selectedFeatures,A)>-1);if(B){if(this.toggleSelect()){this.unselect(A);}else{if(!this.multipleSelect()){this.unselectAll({except:A});}}}else{if(!this.multipleSelect()){this.unselectAll({except:A});}this.select(A);}}},multipleSelect:function(){return this.multiple||(this.handlers.feature.evt&&this.handlers.feature.evt[this.multipleKey]);},toggleSelect:function(){return this.toggle||(this.handlers.feature.evt&&this.handlers.feature.evt[this.toggleKey]);},clickoutFeature:function(A){if(!this.hover&&this.clickout){this.unselectAll();}},overFeature:function(B){var A=B.layer;if(this.hover){if(this.highlightOnly){this.highlight(B);}else{if(OpenLayers.Util.indexOf(A.selectedFeatures,B)==-1){this.select(B);}}}},outFeature:function(A){if(this.hover){if(this.highlightOnly){if(A._lastHighlighter==this.id){if(A._prevHighlighter&&A._prevHighlighter!=this.id){delete A._lastHighlighter;var B=this.map.getControl(A._prevHighlighter);if(B){B.highlight(A);}}else{this.unhighlight(A);}}}else{this.unselect(A);}}},highlight:function(C){var B=C.layer;var A=this.events.triggerEvent("beforefeaturehighlighted",{feature:C});if(A!==false){C._prevHighlighter=C._lastHighlighter;C._lastHighlighter=this.id;var D=this.selectStyle||this.renderIntent;B.drawFeature(C,D);this.events.triggerEvent("featurehighlighted",{feature:C});}},unhighlight:function(B){var A=B.layer;B._lastHighlighter=B._prevHighlighter;delete B._prevHighlighter;A.drawFeature(B,B.style||B.layer.style||"default");this.events.triggerEvent("featureunhighlighted",{feature:B});},select:function(C){var A=this.onBeforeSelect.call(this.scope,C);var B=C.layer;if(A!==false){A=B.events.triggerEvent("beforefeatureselected",{feature:C});if(A!==false){B.selectedFeatures.push(C);this.highlight(C);B.events.triggerEvent("featureselected",{feature:C});this.onSelect.call(this.scope,C);}}},unselect:function(B){var A=B.layer;this.unhighlight(B);OpenLayers.Util.removeItem(A.selectedFeatures,B);A.events.triggerEvent("featureunselected",{feature:B});this.onUnselect.call(this.scope,B);},selectBox:function(E){if(E instanceof OpenLayers.Bounds){var H=this.map.getLonLatFromPixel(new OpenLayers.Pixel(E.left,E.bottom));var J=this.map.getLonLatFromPixel(new OpenLayers.Pixel(E.right,E.top));var A=new OpenLayers.Bounds(H.lon,H.lat,J.lon,J.lat);if(!this.multipleSelect()){this.unselectAll();}var I=this.multiple;this.multiple=true;var D=this.layers||[this.layer];var F;for(var B=0;B<D.length;++B){F=D[B];for(var C=0,G=F.features.length;C<G;++C){var K=F.features[C];if(this.geometryTypes==null||OpenLayers.Util.indexOf(this.geometryTypes,K.geometry.CLASS_NAME)>-1){if(A.toGeometry().intersects(K.geometry)){if(OpenLayers.Util.indexOf(F.selectedFeatures,K)==-1){this.select(K);}}}}}this.multiple=I;}},setMap:function(A){this.handlers.feature.setMap(A);if(this.box){this.handlers.box.setMap(A);}OpenLayers.Control.prototype.setMap.apply(this,arguments);},CLASS_NAME:"OpenLayers.Control.SelectFeature"});OpenLayers.Format.Filter.v1=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{ogc:"http://www.opengis.net/ogc",gml:"http://www.opengis.net/gml",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},defaultPrefix:"ogc",schemaLocation:null,initialize:function(A){OpenLayers.Format.XML.prototype.initialize.apply(this,[A]);},read:function(A){var B={};this.readers.ogc.Filter.apply(this,[A,B]);return B.filter;},readers:{ogc:{Filter:function(B,A){var C={fids:[],filters:[]};this.readChildNodes(B,C);if(C.fids.length>0){A.filter=new OpenLayers.Filter.FeatureId({fids:C.fids});}else{if(C.filters.length>0){A.filter=C.filters[0];}}},FeatureId:function(A,B){var C=A.getAttribute("fid");if(C){B.fids.push(C);}},And:function(B,C){var A=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND});this.readChildNodes(B,A);C.filters.push(A);},Or:function(B,C){var A=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.OR});this.readChildNodes(B,A);C.filters.push(A);},Not:function(B,C){var A=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.NOT});this.readChildNodes(B,A);C.filters.push(A);},PropertyIsLessThan:function(B,C){var A=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN});this.readChildNodes(B,A);C.filters.push(A);},PropertyIsGreaterThan:function(B,C){var A=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.GREATER_THAN});this.readChildNodes(B,A);C.filters.push(A);},PropertyIsLessThanOrEqualTo:function(B,C){var A=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO});this.readChildNodes(B,A);C.filters.push(A);},PropertyIsGreaterThanOrEqualTo:function(B,C){var A=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO});this.readChildNodes(B,A);C.filters.push(A);},PropertyIsBetween:function(B,C){var A=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN});this.readChildNodes(B,A);C.filters.push(A);},Literal:function(A,B){B.value=OpenLayers.String.numericIf(this.getChildValue(A));},PropertyName:function(B,A){A.property=this.getChildValue(B);},LowerBoundary:function(B,A){A.lowerBoundary=OpenLayers.String.numericIf(this.readOgcExpression(B));},UpperBoundary:function(B,A){A.upperBoundary=OpenLayers.String.numericIf(this.readOgcExpression(B));},Intersects:function(A,B){this.readSpatial(A,B,OpenLayers.Filter.Spatial.INTERSECTS);},Within:function(A,B){this.readSpatial(A,B,OpenLayers.Filter.Spatial.WITHIN);},Contains:function(A,B){this.readSpatial(A,B,OpenLayers.Filter.Spatial.CONTAINS);},DWithin:function(A,B){this.readSpatial(A,B,OpenLayers.Filter.Spatial.DWITHIN);},Distance:function(A,B){B.distance=parseInt(this.getChildValue(A));B.distanceUnits=A.getAttribute("units");}}},readSpatial:function(C,D,B){var A=new OpenLayers.Filter.Spatial({type:B});this.readChildNodes(C,A);A.value=A.components[0];delete A.components;D.filters.push(A);},readOgcExpression:function(A){var C={};this.readChildNodes(A,C);var B=C.value;if(!B){B=this.getChildValue(A);}return B;},write:function(A){return this.writers.ogc.Filter.apply(this,[A]);},writers:{ogc:{Filter:function(C){var D=this.createElementNSPlus("ogc:Filter");var B=C.CLASS_NAME.split(".").pop();if(B=="FeatureId"){for(var A=0;A<C.fids.length;++A){this.writeNode("FeatureId",C.fids[A],D);}}else{this.writeNode(this.getFilterType(C),C,D);}return D;},FeatureId:function(A){return this.createElementNSPlus("ogc:FeatureId",{attributes:{fid:A}});},And:function(C){var D=this.createElementNSPlus("ogc:And");var B;for(var A=0;A<C.filters.length;++A){B=C.filters[A];this.writeNode(this.getFilterType(B),B,D);}return D;},Or:function(C){var D=this.createElementNSPlus("ogc:Or");var B;for(var A=0;A<C.filters.length;++A){B=C.filters[A];this.writeNode(this.getFilterType(B),B,D);}return D;},Not:function(B){var C=this.createElementNSPlus("ogc:Not");var A=B.filters[0];this.writeNode(this.getFilterType(A),A,C);return C;},PropertyIsLessThan:function(A){var B=this.createElementNSPlus("ogc:PropertyIsLessThan");this.writeNode("PropertyName",A,B);this.writeNode("Literal",A.value,B);return B;},PropertyIsGreaterThan:function(A){var B=this.createElementNSPlus("ogc:PropertyIsGreaterThan");this.writeNode("PropertyName",A,B);this.writeNode("Literal",A.value,B);return B;},PropertyIsLessThanOrEqualTo:function(A){var B=this.createElementNSPlus("ogc:PropertyIsLessThanOrEqualTo");this.writeNode("PropertyName",A,B);this.writeNode("Literal",A.value,B);return B;},PropertyIsGreaterThanOrEqualTo:function(A){var B=this.createElementNSPlus("ogc:PropertyIsGreaterThanOrEqualTo");this.writeNode("PropertyName",A,B);this.writeNode("Literal",A.value,B);return B;},PropertyIsBetween:function(A){var B=this.createElementNSPlus("ogc:PropertyIsBetween");this.writeNode("PropertyName",A,B);this.writeNode("LowerBoundary",A,B);this.writeNode("UpperBoundary",A,B);return B;},PropertyName:function(A){return this.createElementNSPlus("ogc:PropertyName",{value:A.property});},Literal:function(A){return this.createElementNSPlus("ogc:Literal",{value:A});},LowerBoundary:function(A){var B=this.createElementNSPlus("ogc:LowerBoundary");this.writeNode("Literal",A.lowerBoundary,B);return B;},UpperBoundary:function(A){var B=this.createElementNSPlus("ogc:UpperBoundary");this.writeNode("Literal",A.upperBoundary,B);return B;},INTERSECTS:function(A){return this.writeSpatial(A,"Intersects");},WITHIN:function(A){return this.writeSpatial(A,"Within");},CONTAINS:function(A){return this.writeSpatial(A,"Contains");},DWITHIN:function(A){var B=this.writeSpatial(A,"DWithin");this.writeNode("Distance",A,B);return B;},Distance:function(A){return this.createElementNSPlus("ogc:Distance",{attributes:{units:A.distanceUnits},value:A.distance});}}},getFilterType:function(A){var B=this.filterMap[A.type];if(!B){throw"Filter writing not supported for rule type: "+A.type;}return B;},filterMap:{"&&":"And","||":"Or","!":"Not","==":"PropertyIsEqualTo","!=":"PropertyIsNotEqualTo","<":"PropertyIsLessThan",">":"PropertyIsGreaterThan","<=":"PropertyIsLessThanOrEqualTo",">=":"PropertyIsGreaterThanOrEqualTo","..":"PropertyIsBetween","~":"PropertyIsLike",BBOX:"BBOX",DWITHIN:"DWITHIN",WITHIN:"WITHIN",CONTAINS:"CONTAINS",INTERSECTS:"INTERSECTS"},CLASS_NAME:"OpenLayers.Format.Filter.v1"});OpenLayers.Geometry.Curve=OpenLayers.Class(OpenLayers.Geometry.MultiPoint,{componentTypes:["OpenLayers.Geometry.Point"],initialize:function(A){OpenLayers.Geometry.MultiPoint.prototype.initialize.apply(this,arguments);},getLength:function(){var C=0;if(this.components&&(this.components.length>1)){for(var B=1,A=this.components.length;B<A;B++){C+=this.components[B-1].distanceTo(this.components[B]);}}return C;},getGeodesicLength:function(B){var E=this;if(B){var C=new OpenLayers.Projection("EPSG:4326");if(!C.equals(B)){E=this.clone().transform(B,C);}}var F=0;if(E.components&&(E.components.length>1)){var H,G;for(var D=1,A=E.components.length;D<A;D++){H=E.components[D-1];G=E.components[D];F+=OpenLayers.Util.distVincenty({lon:H.x,lat:H.y},{lon:G.x,lat:G.y});}}return F*1000;},CLASS_NAME:"OpenLayers.Geometry.Curve"});OpenLayers.Control.ModifyFeature=OpenLayers.Class(OpenLayers.Control,{geometryTypes:null,clickout:true,toggle:true,standalone:false,layer:null,feature:null,vertices:null,virtualVertices:null,selectControl:null,dragControl:null,handlers:null,deleteCodes:null,virtualStyle:null,mode:null,modified:false,radiusHandle:null,dragHandle:null,onModificationStart:function(){},onModification:function(){},onModificationEnd:function(){},initialize:function(D,C){this.layer=D;this.vertices=[];this.virtualVertices=[];this.virtualStyle=OpenLayers.Util.extend({},this.layer.style||this.layer.styleMap.createSymbolizer());this.virtualStyle.fillOpacity=0.3;this.virtualStyle.strokeOpacity=0.3;this.deleteCodes=[46,68];this.mode=OpenLayers.Control.ModifyFeature.RESHAPE;OpenLayers.Control.prototype.initialize.apply(this,[C]);if(!(this.deleteCodes instanceof Array)){this.deleteCodes=[this.deleteCodes];}var F=this;var A={geometryTypes:this.geometryTypes,clickout:this.clickout,toggle:this.toggle,onBeforeSelect:this.beforeSelectFeature,onSelect:this.selectFeature,onUnselect:this.unselectFeature,scope:this};if(this.standalone===false){this.selectControl=new OpenLayers.Control.SelectFeature(D,A);}var B={geometryTypes:["OpenLayers.Geometry.Point"],snappingOptions:this.snappingOptions,onStart:function(H,G){F.dragStart.apply(F,[H,G]);},onDrag:function(H,G){F.dragVertex.apply(F,[H,G]);},onComplete:function(G){F.dragComplete.apply(F,[G]);},featureCallbacks:{over:function(G){if(F.standalone!==true||G._sketch||F.feature===G){F.dragControl.overFeature.apply(F.dragControl,[G]);}}}};this.dragControl=new OpenLayers.Control.DragFeature(D,B);var E={keydown:this.handleKeypress};this.handlers={keyboard:new OpenLayers.Handler.Keyboard(this,E)};},destroy:function(){this.layer=null;this.standalone||this.selectControl.destroy();this.dragControl.destroy();OpenLayers.Control.prototype.destroy.apply(this,[]);},activate:function(){return((this.standalone||this.selectControl.activate())&&this.handlers.keyboard.activate()&&OpenLayers.Control.prototype.activate.apply(this,arguments));},deactivate:function(){var C=false;if(OpenLayers.Control.prototype.deactivate.apply(this,arguments)){this.layer.removeFeatures(this.vertices,{silent:true});this.layer.removeFeatures(this.virtualVertices,{silent:true});this.vertices=[];this.dragControl.deactivate();var A=this.feature;var B=A&&A.geometry&&A.layer;if(this.standalone===false){if(B){this.selectControl.unselect.apply(this.selectControl,[A]);}this.selectControl.deactivate();}else{if(B){this.unselectFeature(A);}}this.handlers.keyboard.deactivate();C=true;}return C;},beforeSelectFeature:function(A){return this.layer.events.triggerEvent("beforefeaturemodified",{feature:A});},selectFeature:function(A){this.feature=A;this.modified=false;this.resetVertices();this.dragControl.activate();this.onModificationStart(this.feature);},unselectFeature:function(A){this.layer.removeFeatures(this.vertices,{silent:true});this.vertices=[];this.layer.destroyFeatures(this.virtualVertices,{silent:true});this.virtualVertices=[];if(this.dragHandle){this.layer.destroyFeatures([this.dragHandle],{silent:true});delete this.dragHandle;}if(this.radiusHandle){this.layer.destroyFeatures([this.radiusHandle],{silent:true});delete this.radiusHandle;}this.feature=null;this.dragControl.deactivate();this.onModificationEnd(A);this.layer.events.triggerEvent("afterfeaturemodified",{feature:A,modified:this.modified});this.modified=false;},dragStart:function(B,A){if(B!=this.feature&&!B.geometry.parent&&B!=this.dragHandle&&B!=this.radiusHandle){if(this.standalone===false&&this.feature){this.selectControl.clickFeature.apply(this.selectControl,[this.feature]);}if(this.geometryTypes==null||OpenLayers.Util.indexOf(this.geometryTypes,B.geometry.CLASS_NAME)!=-1){this.standalone||this.selectControl.clickFeature.apply(this.selectControl,[B]);this.dragControl.overFeature.apply(this.dragControl,[B]);this.dragControl.lastPixel=A;this.dragControl.handlers.drag.started=true;this.dragControl.handlers.drag.start=A;this.dragControl.handlers.drag.last=A;}}},dragVertex:function(B,A){this.modified=true;if(this.feature.geometry.CLASS_NAME=="OpenLayers.Geometry.Point"){if(this.feature!=B){this.feature=B;}this.layer.events.triggerEvent("vertexmodified",{vertex:B.geometry,feature:this.feature,pixel:A});}else{if(B._index){B.geometry.parent.addComponent(B.geometry,B._index);delete B._index;OpenLayers.Util.removeItem(this.virtualVertices,B);this.vertices.push(B);}else{if(B==this.dragHandle){this.layer.removeFeatures(this.vertices,{silent:true});this.vertices=[];if(this.radiusHandle){this.layer.destroyFeatures([this.radiusHandle],{silent:true});this.radiusHandle=null;}}else{if(B!==this.radiusHandle){this.layer.events.triggerEvent("vertexmodified",{vertex:B.geometry,feature:this.feature,pixel:A});}}}if(this.virtualVertices.length>0){this.layer.destroyFeatures(this.virtualVertices,{silent:true});this.virtualVertices=[];}this.layer.drawFeature(this.feature,this.standalone?undefined:this.selectControl.renderIntent);}this.layer.drawFeature(B);},dragComplete:function(A){this.resetVertices();this.setFeatureState();this.onModification(this.feature);this.layer.events.triggerEvent("featuremodified",{feature:this.feature});},setFeatureState:function(){if(this.feature.state!=OpenLayers.State.INSERT&&this.feature.state!=OpenLayers.State.DELETE){this.feature.state=OpenLayers.State.UPDATE;}},resetVertices:function(){if(this.dragControl.feature){this.dragControl.outFeature(this.dragControl.feature);}if(this.vertices.length>0){this.layer.removeFeatures(this.vertices,{silent:true});this.vertices=[];}if(this.virtualVertices.length>0){this.layer.removeFeatures(this.virtualVertices,{silent:true});this.virtualVertices=[];}if(this.dragHandle){this.layer.destroyFeatures([this.dragHandle],{silent:true});this.dragHandle=null;}if(this.radiusHandle){this.layer.destroyFeatures([this.radiusHandle],{silent:true});this.radiusHandle=null;}if(this.feature&&this.feature.geometry.CLASS_NAME!="OpenLayers.Geometry.Point"){if((this.mode&OpenLayers.Control.ModifyFeature.DRAG)){this.collectDragHandle();}if((this.mode&(OpenLayers.Control.ModifyFeature.ROTATE|OpenLayers.Control.ModifyFeature.RESIZE))){this.collectRadiusHandle();}if(this.mode&OpenLayers.Control.ModifyFeature.RESHAPE){if(!(this.mode&OpenLayers.Control.ModifyFeature.RESIZE)){this.collectVertices();}}}},handleKeypress:function(A){var B=A.keyCode;if(this.feature&&OpenLayers.Util.indexOf(this.deleteCodes,B)!=-1){var C=this.dragControl.feature;if(C&&OpenLayers.Util.indexOf(this.vertices,C)!=-1&&!this.dragControl.handlers.drag.dragging&&C.geometry.parent){C.geometry.parent.removeComponent(C.geometry);this.layer.drawFeature(this.feature,this.standalone?undefined:this.selectControl.renderIntent);this.resetVertices();this.setFeatureState();this.onModification(this.feature);this.layer.events.triggerEvent("featuremodified",{feature:this.feature});}}},collectVertices:function(){this.vertices=[];this.virtualVertices=[];var A=this;function B(H){var D,E,I,F;if(H.CLASS_NAME=="OpenLayers.Geometry.Point"){E=new OpenLayers.Feature.Vector(H);E._sketch=true;A.vertices.push(E);}else{var C=H.components.length;if(H.CLASS_NAME=="OpenLayers.Geometry.LinearRing"){C-=1;}for(D=0;D<C;++D){I=H.components[D];if(I.CLASS_NAME=="OpenLayers.Geometry.Point"){E=new OpenLayers.Feature.Vector(I);E._sketch=true;A.vertices.push(E);}else{B(I);}}if(H.CLASS_NAME!="OpenLayers.Geometry.MultiPoint"){for(D=0,F=H.components.length;D<F-1;++D){var L=H.components[D];var M=H.components[D+1];if(L.CLASS_NAME=="OpenLayers.Geometry.Point"&&M.CLASS_NAME=="OpenLayers.Geometry.Point"){var J=(L.x+M.x)/2;var G=(L.y+M.y)/2;var K=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(J,G),null,A.virtualStyle);K.geometry.parent=H;K._index=D+1;K._sketch=true;A.virtualVertices.push(K);}}}}}B.call(this,this.feature.geometry);this.layer.addFeatures(this.virtualVertices,{silent:true});this.layer.addFeatures(this.vertices,{silent:true});},collectDragHandle:function(){var D=this.feature.geometry;var A=D.getBounds().getCenterLonLat();var C=new OpenLayers.Geometry.Point(A.lon,A.lat);var B=new OpenLayers.Feature.Vector(C);C.move=function(E,F){OpenLayers.Geometry.Point.prototype.move.call(this,E,F);D.move(E,F);};B._sketch=true;this.dragHandle=B;this.layer.addFeatures([this.dragHandle],{silent:true});},collectRadiusHandle:function(){var H=this.feature.geometry;var A=H.getBounds();var B=A.getCenterLonLat();var I=new OpenLayers.Geometry.Point(B.lon,B.lat);var G=new OpenLayers.Geometry.Point(A.right,A.bottom);var F=new OpenLayers.Feature.Vector(G);var C=(this.mode&OpenLayers.Control.ModifyFeature.RESIZE);var E=(this.mode&OpenLayers.Control.ModifyFeature.RESHAPE);var D=(this.mode&OpenLayers.Control.ModifyFeature.ROTATE);G.move=function(T,S){OpenLayers.Geometry.Point.prototype.move.call(this,T,S);var U=this.x-I.x;var P=this.y-I.y;var V=U-T;var Q=P-S;if(D){var K=Math.atan2(Q,V);var J=Math.atan2(P,U);var N=J-K;N*=180/Math.PI;H.rotate(N,I);}if(C){var M,R;if(E){M=P/Q;R=(U/V)/M;}else{var O=Math.sqrt((V*V)+(Q*Q));var L=Math.sqrt((U*U)+(P*P));M=L/O;}H.resize(M,I,R);}};F._sketch=true;this.radiusHandle=F;this.layer.addFeatures([this.radiusHandle],{silent:true});},setMap:function(A){this.standalone||this.selectControl.setMap(A);this.dragControl.setMap(A);OpenLayers.Control.prototype.setMap.apply(this,arguments);},CLASS_NAME:"OpenLayers.Control.ModifyFeature"});OpenLayers.Control.ModifyFeature.RESHAPE=1;OpenLayers.Control.ModifyFeature.RESIZE=2;OpenLayers.Control.ModifyFeature.ROTATE=4;OpenLayers.Control.ModifyFeature.DRAG=8;OpenLayers.Geometry.LineString=OpenLayers.Class(OpenLayers.Geometry.Curve,{initialize:function(A){OpenLayers.Geometry.Curve.prototype.initialize.apply(this,arguments);},removeComponent:function(A){if(this.components&&(this.components.length>2)){OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,arguments);}},intersects:function(K){var C=false;var J=K.CLASS_NAME;if(J=="OpenLayers.Geometry.LineString"||J=="OpenLayers.Geometry.LinearRing"||J=="OpenLayers.Geometry.Point"){var N=this.getSortedSegments();var L;if(J=="OpenLayers.Geometry.Point"){L=[{x1:K.x,y1:K.y,x2:K.x,y2:K.y}];}else{L=K.getSortedSegments();}var Q,G,E,A,P,O,D,B;outer:for(var H=0,I=N.length;H<I;++H){Q=N[H];G=Q.x1;E=Q.x2;A=Q.y1;P=Q.y2;inner:for(var F=0,M=L.length;F<M;++F){O=L[F];if(O.x1>E){break;}if(O.x2<G){continue;}D=O.y1;B=O.y2;if(Math.min(D,B)>Math.max(A,P)){continue;}if(Math.max(D,B)<Math.min(A,P)){continue;}if(OpenLayers.Geometry.segmentsIntersect(Q,O)){C=true;break outer;}}}}else{C=K.intersects(this);}return C;},getSortedSegments:function(){var A=this.components.length-1;var B=new Array(A),E,D;for(var C=0;C<A;++C){E=this.components[C];D=this.components[C+1];if(E.x<D.x){B[C]={x1:E.x,y1:E.y,x2:D.x,y2:D.y};}else{B[C]={x1:D.x,y1:D.y,x2:E.x,y2:E.y};}}function F(H,G){return H.x1-G.x1;}return B.sort(F);},splitWithSegment:function(Q,B){var C=!(B&&B.edge===false);var N=B&&B.tolerance;var A=[];var S=this.getVertices();var M=[];var U=[];var H=false;var E,D,K;var I,P,T;var F={point:true,tolerance:N};var G=null;for(var L=0,J=S.length-2;L<=J;++L){E=S[L];M.push(E.clone());D=S[L+1];T={x1:E.x,y1:E.y,x2:D.x,y2:D.y};K=OpenLayers.Geometry.segmentsIntersect(Q,T,F);if(K instanceof OpenLayers.Geometry.Point){if((K.x===Q.x1&&K.y===Q.y1)||(K.x===Q.x2&&K.y===Q.y2)||K.equals(E)||K.equals(D)){P=true;}else{P=false;}if(P||C){if(!K.equals(U[U.length-1])){U.push(K.clone());}if(L===0){if(K.equals(E)){continue;}}if(K.equals(D)){continue;}H=true;if(!K.equals(E)){M.push(K);}A.push(new OpenLayers.Geometry.LineString(M));M=[K.clone()];}}}if(H){M.push(D.clone());A.push(new OpenLayers.Geometry.LineString(M));}if(U.length>0){var O=Q.x1<Q.x2?1:-1;var R=Q.y1<Q.y2?1:-1;G={lines:A,points:U.sort(function(W,V){return(O*W.x-O*V.x)||(R*W.y-R*V.y);})};}return G;},split:function(U,B){var K=null;var D=B&&B.mutual;var I,E,J,C;if(U instanceof OpenLayers.Geometry.LineString){var T=this.getVertices();var G,F,S,H,A,M;var P=[];J=[];for(var Q=0,L=T.length-2;Q<=L;++Q){G=T[Q];F=T[Q+1];S={x1:G.x,y1:G.y,x2:F.x,y2:F.y};C=C||[U];if(D){P.push(G.clone());}for(var O=0;O<C.length;++O){H=C[O].splitWithSegment(S,B);if(H){A=H.lines;if(A.length>0){A.unshift(O,1);Array.prototype.splice.apply(C,A);O+=A.length-2;}if(D){for(var N=0,R=H.points.length;N<R;++N){M=H.points[N];if(!M.equals(G)){P.push(M);J.push(new OpenLayers.Geometry.LineString(P));if(M.equals(F)){P=[];}else{P=[M.clone()];}}}}}}}if(D&&J.length>0&&P.length>0){P.push(F.clone());J.push(new OpenLayers.Geometry.LineString(P));}}else{K=U.splitWith(this,B);}if(C&&C.length>1){E=true;}else{C=[];}if(J&&J.length>1){I=true;}else{J=[];}if(E||I){if(D){K=[J,C];}else{K=C;}}return K;},splitWith:function(B,A){return B.split(this,A);},getVertices:function(A){var B;if(A===true){B=[this.components[0],this.components[this.components.length-1]];}else{if(A===false){B=this.components.slice(1,this.components.length-1);}else{B=this.components.slice();}}return B;},distanceTo:function(H,G){var I=!(G&&G.edge===false);var X=I&&G&&G.details;var O,E={};var R=Number.POSITIVE_INFINITY;if(H instanceof OpenLayers.Geometry.Point){var P=this.getSortedSegments();var N=H.x;var M=H.y;var V;for(var T=0,U=P.length;T<U;++T){V=P[T];O=OpenLayers.Geometry.distanceToSegment(H,V);if(O.distance<R){R=O.distance;E=O;if(R===0){break;}}else{if(V.x2>N&&((M>V.y1&&M<V.y2)||(M<V.y1&&M>V.y2))){break;}}}if(X){E={distance:E.distance,x0:E.x,y0:E.y,x1:N,y1:M};}else{E=E.distance;}}else{if(H instanceof OpenLayers.Geometry.LineString){var D=this.getSortedSegments();var C=H.getSortedSegments();var B,A,L,W,F;var K=C.length;var J={point:true};outer:for(var T=0,U=D.length;T<U;++T){B=D[T];W=B.x1;F=B.y1;for(var S=0;S<K;++S){A=C[S];L=OpenLayers.Geometry.segmentsIntersect(B,A,J);if(L){R=0;E={distance:0,x0:L.x,y0:L.y,x1:L.x,y1:L.y};break outer;}else{O=OpenLayers.Geometry.distanceToSegment({x:W,y:F},A);if(O.distance<R){R=O.distance;E={distance:R,x0:W,y0:F,x1:O.x,y1:O.y};}}}}if(!X){E=E.distance;}if(R!==0){if(B){O=H.distanceTo(new OpenLayers.Geometry.Point(B.x2,B.y2),G);var Q=X?O.distance:O;if(Q<R){if(X){E={distance:R,x0:O.x1,y0:O.y1,x1:O.x0,y1:O.y0};}else{E=Q;}}}}}else{E=H.distanceTo(this,G);if(X){E={distance:E.distance,x0:E.x1,y0:E.y1,x1:E.x0,y1:E.y0};}}}return E;},CLASS_NAME:"OpenLayers.Geometry.LineString"});OpenLayers.Geometry.LinearRing=OpenLayers.Class(OpenLayers.Geometry.LineString,{componentTypes:["OpenLayers.Geometry.Point"],initialize:function(A){OpenLayers.Geometry.LineString.prototype.initialize.apply(this,arguments);},addComponent:function(A,B){var C=false;var D=this.components.pop();if(B!=null||!A.equals(D)){C=OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,arguments);}var E=this.components[0];OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[E]);return C;},removeComponent:function(A){if(this.components.length>4){this.components.pop();OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,arguments);var B=this.components[0];OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[B]);}},move:function(B,D){for(var C=0,A=this.components.length;C<A-1;C++){this.components[C].move(B,D);}},rotate:function(D,B){for(var C=0,A=this.components.length;C<A-1;++C){this.components[C].rotate(D,B);}},resize:function(E,B,D){for(var C=0,A=this.components.length;C<A-1;++C){this.components[C].resize(E,B,D);}return this;},transform:function(E,C){if(E&&C){for(var D=0,A=this.components.length;D<A-1;D++){var B=this.components[D];B.transform(E,C);}this.bounds=null;}return this;},getCentroid:function(){if(this.components&&(this.components.length>2)){var F=0;var E=0;for(var C=0;C<this.components.length-1;C++){var B=this.components[C];var H=this.components[C+1];F+=(B.x+H.x)*(B.x*H.y-H.x*B.y);E+=(B.y+H.y)*(B.x*H.y-H.x*B.y);}var D=-1*this.getArea();var A=F/(6*D);var G=E/(6*D);}return new OpenLayers.Geometry.Point(A,G);},getArea:function(){var E=0;if(this.components&&(this.components.length>2)){var D=0;for(var C=0,B=this.components.length;C<B-1;C++){var A=this.components[C];var F=this.components[C+1];D+=(A.x+F.x)*(F.y-A.y);}E=-D/2;}return E;},getGeodesicArea:function(B){var D=this;if(B){var C=new OpenLayers.Projection("EPSG:4326");if(!C.equals(B)){D=this.clone().transform(B,C);}}var F=0;var A=D.components&&D.components.length;if(A>2){var H,G;for(var E=0;E<A-1;E++){H=D.components[E];G=D.components[E+1];F+=OpenLayers.Util.rad(G.x-H.x)*(2+Math.sin(OpenLayers.Util.rad(H.y))+Math.sin(OpenLayers.Util.rad(G.y)));}F=F*6378137*6378137/2;}return F;},containsPoint:function(L){var R=OpenLayers.Number.limitSigDigs;var K=14;var J=R(L.x,K);var I=R(L.y,K);function Q(W,T,V,S,U){return(((T-S)*W)+((S*V)-(T*U)))/(V-U);}var A=this.components.length-1;var G,F,P,D,N,B,E,C;var H=0;for(var M=0;M<A;++M){G=this.components[M];P=R(G.x,K);D=R(G.y,K);F=this.components[M+1];N=R(F.x,K);B=R(F.y,K);if(D==B){if(I==D){if(P<=N&&(J>=P&&J<=N)||P>=N&&(J<=P&&J>=N)){H=-1;break;}}continue;}E=R(Q(I,P,D,N,B),K);if(E==J){if(D<B&&(I>=D&&I<=B)||D>B&&(I<=D&&I>=B)){H=-1;break;}}if(E<=J){continue;}if(P!=N&&(E<Math.min(P,N)||E>Math.max(P,N))){continue;}if(D<B&&(I>=D&&I<B)||D>B&&(I<D&&I>=B)){++H;}}var O=(H==-1)?1:!!(H&1);return O;},intersects:function(D){var B=false;if(D.CLASS_NAME=="OpenLayers.Geometry.Point"){B=this.containsPoint(D);}else{if(D.CLASS_NAME=="OpenLayers.Geometry.LineString"){B=D.intersects(this);}else{if(D.CLASS_NAME=="OpenLayers.Geometry.LinearRing"){B=OpenLayers.Geometry.LineString.prototype.intersects.apply(this,[D]);}else{for(var C=0,A=D.components.length;C<A;++C){B=D.components[C].intersects(this);if(B){break;}}}}}return B;},getVertices:function(A){return(A===true)?[]:this.components.slice(0,this.components.length-1);},CLASS_NAME:"OpenLayers.Geometry.LinearRing"});OpenLayers.Geometry.MultiLineString=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.LineString"],initialize:function(A){OpenLayers.Geometry.Collection.prototype.initialize.apply(this,arguments);},split:function(K,P){var G=null;var O=P&&P.mutual;var L,A,N,J,B;var E=[];var M=[K];for(var F=0,H=this.components.length;F<H;++F){A=this.components[F];J=false;for(var D=0;D<M.length;++D){L=A.split(M[D],P);if(L){if(O){N=L[0];for(var C=0,I=N.length;C<I;++C){if(C===0&&E.length){E[E.length-1].addComponent(N[C]);}else{E.push(new OpenLayers.Geometry.MultiLineString([N[C]]));}}J=true;L=L[1];}if(L.length){L.unshift(D,1);Array.prototype.splice.apply(M,L);break;}}}if(!J){if(E.length){E[E.length-1].addComponent(A.clone());}else{E=[new OpenLayers.Geometry.MultiLineString(A.clone())];}}}if(E&&E.length>1){J=true;}else{E=[];}if(M&&M.length>1){B=true;}else{M=[];}if(J||B){if(O){G=[E,M];}else{G=M;}}return G;},splitWith:function(K,P){var G=null;var O=P&&P.mutual;var L,C,N,J,A,E,M;if(K instanceof OpenLayers.Geometry.LineString){M=[];E=[K];for(var F=0,H=this.components.length;F<H;++F){A=false;C=this.components[F];for(var D=0;D<E.length;++D){L=E[D].split(C,P);if(L){if(O){N=L[0];if(N.length){N.unshift(D,1);Array.prototype.splice.apply(E,N);D+=N.length-2;}L=L[1];if(L.length===0){L=[C.clone()];}}for(var B=0,I=L.length;B<I;++B){if(B===0&&M.length){M[M.length-1].addComponent(L[B]);}else{M.push(new OpenLayers.Geometry.MultiLineString([L[B]]));}}A=true;}}if(!A){if(M.length){M[M.length-1].addComponent(C.clone());}else{M=[new OpenLayers.Geometry.MultiLineString([C.clone()])];}}}}else{G=K.split(this);}if(E&&E.length>1){J=true;}else{E=[];}if(M&&M.length>1){A=true;}else{M=[];}if(J||A){if(O){G=[E,M];}else{G=M;}}return G;},CLASS_NAME:"OpenLayers.Geometry.MultiLineString"});OpenLayers.Handler.Path=OpenLayers.Class(OpenLayers.Handler.Point,{line:null,freehand:false,freehandToggle:"shiftKey",cursorDefaultClassName:"olCursorDefaultPointer",initialize:function(C,B,A){OpenLayers.Handler.Point.prototype.initialize.apply(this,arguments);},createFeature:function(A){var B=this.control.map.getLonLatFromPixel(A);this.point=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(B.lon,B.lat));this.line=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString([this.point.geometry]));this.callback("create",[this.point.geometry,this.getSketch()]);this.point.geometry.clearBounds();this.layer.addFeatures([this.line,this.point],{silent:true});},destroyFeature:function(){OpenLayers.Handler.Point.prototype.destroyFeature.apply(this);this.line=null;},removePoint:function(){if(this.point){this.layer.removeFeatures([this.point]);}},addPoint:function(A){this.layer.removeFeatures([this.point]);var B=this.control.map.getLonLatFromPixel(A);this.point=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(B.lon,B.lat));this.line.geometry.addComponent(this.point.geometry,this.line.geometry.components.length);this.callback("point",[this.point.geometry,this.getGeometry()]);this.callback("modify",[this.point.geometry,this.getSketch()]);this.drawFeature();},freehandMode:function(A){return(this.freehandToggle&&A[this.freehandToggle])?!this.freehand:this.freehand;},modifyFeature:function(A){var B=this.control.map.getLonLatFromPixel(A);this.point.geometry.x=B.lon;this.point.geometry.y=B.lat;this.callback("modify",[this.point.geometry,this.getSketch()]);this.point.geometry.clearBounds();this.drawFeature();},drawFeature:function(){this.layer.drawFeature(this.line,this.style);this.layer.drawFeature(this.point,this.style);},getSketch:function(){return this.line;},getGeometry:function(){var A=this.line&&this.line.geometry;if(A&&this.multi){A=new OpenLayers.Geometry.MultiLineString([A]);}return A;},mousedown:function(A){if(this.lastDown&&this.lastDown.equals(A.xy)){return false;}if(this.lastDown==null){if(this.persist){this.destroyFeature();}this.createFeature(A.xy);}else{if((this.lastUp==null)||!this.lastUp.equals(A.xy)){this.addPoint(A.xy);}}this.mouseDown=true;this.lastDown=A.xy;this.drawing=true;return false;},mousemove:function(A){this.map.className=this.cursorDefaultClassName;if(this.drawing){if(this.mouseDown&&this.freehandMode(A)){this.addPoint(A.xy);}else{this.modifyFeature(A.xy);}}return true;},mouseup:function(A){this.mouseDown=false;if(this.drawing){if(this.freehandMode(A)){this.removePoint();this.finalize();}else{if(this.lastUp==null){this.addPoint(A.xy);}this.lastUp=A.xy;}return false;}return true;},dblclick:function(A){if(!this.freehandMode(A)){var B=this.line.geometry.components.length-1;this.line.geometry.removeComponent(this.line.geometry.components[B]);this.removePoint();this.finalize();}return false;},CLASS_NAME:"OpenLayers.Handler.Path"});OpenLayers.Geometry.Polygon=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.LinearRing"],initialize:function(A){OpenLayers.Geometry.Collection.prototype.initialize.apply(this,arguments);},getArea:function(){var C=0;if(this.components&&(this.components.length>0)){C+=Math.abs(this.components[0].getArea());for(var B=1,A=this.components.length;B<A;B++){C-=Math.abs(this.components[B].getArea());}}return C;},getGeodesicArea:function(B){var D=0;if(this.components&&(this.components.length>0)){D+=Math.abs(this.components[0].getGeodesicArea(B));for(var C=1,A=this.components.length;C<A;C++){D-=Math.abs(this.components[C].getGeodesicArea(B));}}return D;},containsPoint:function(A){var E=this.components.length;var C=false;if(E>0){C=this.components[0].containsPoint(A);if(C!==1){if(C&&E>1){var D;for(var B=1;B<E;++B){D=this.components[B].containsPoint(A);if(D){if(D===1){C=1;}else{C=false;}break;}}}}}return C;},intersects:function(E){var B=false;var D,A;if(E.CLASS_NAME=="OpenLayers.Geometry.Point"){B=this.containsPoint(E);}else{if(E.CLASS_NAME=="OpenLayers.Geometry.LineString"||E.CLASS_NAME=="OpenLayers.Geometry.LinearRing"){for(D=0,A=this.components.length;D<A;++D){B=E.intersects(this.components[D]);if(B){break;}}if(!B){for(D=0,A=E.components.length;D<A;++D){B=this.containsPoint(E.components[D]);if(B){break;}}}}else{for(D=0,A=E.components.length;D<A;++D){B=this.intersects(E.components[D]);if(B){break;}}}}if(!B&&E.CLASS_NAME=="OpenLayers.Geometry.Polygon"){var C=this.components[0];for(D=0,A=C.components.length;D<A;++D){B=E.containsPoint(C.components[D]);if(B){break;}}}return B;},distanceTo:function(D,B){var C=!(B&&B.edge===false);var A;if(!C&&this.intersects(D)){A=0;}else{A=OpenLayers.Geometry.Collection.prototype.distanceTo.apply(this,[D,B]);}return A;},CLASS_NAME:"OpenLayers.Geometry.Polygon"});OpenLayers.Geometry.Polygon.createRegularPolygon=function(I,F,B,K){var C=Math.PI*((1/B)-(1/2));if(K){C+=(K/180)*Math.PI;}var A,H,G;var J=[];for(var E=0;E<B;++E){A=C+(E*2*Math.PI/B);H=I.x+(F*Math.cos(A));G=I.y+(F*Math.sin(A));J.push(new OpenLayers.Geometry.Point(H,G));}var D=new OpenLayers.Geometry.LinearRing(J);return new OpenLayers.Geometry.Polygon([D]);};OpenLayers.Format.GeoRSS=OpenLayers.Class(OpenLayers.Format.XML,{rssns:"http://backend.userland.com/rss2",featureNS:"http://mapserver.gis.umn.edu/mapserver",georssns:"http://www.georss.org/georss",geons:"http://www.w3.org/2003/01/geo/wgs84_pos#",featureTitle:"Untitled",featureDescription:"No Description",gmlParser:null,xy:false,initialize:function(A){OpenLayers.Format.XML.prototype.initialize.apply(this,[A]);},createGeometryFromItem:function(M){var L=this.getElementsByTagNameNS(M,this.georssns,"point");var G=this.getElementsByTagNameNS(M,this.geons,"lat");var A=this.getElementsByTagNameNS(M,this.geons,"long");var O=this.getElementsByTagNameNS(M,this.georssns,"line");var J=this.getElementsByTagNameNS(M,this.georssns,"polygon");var C=this.getElementsByTagNameNS(M,this.georssns,"where");var D=this.getElementsByTagNameNS(M,this.georssns,"box");if(L.length>0||(G.length>0&&A.length>0)){var K;if(L.length>0){K=OpenLayers.String.trim(L[0].firstChild.nodeValue).split(/\s+/);if(K.length!=2){K=OpenLayers.String.trim(L[0].firstChild.nodeValue).split(/\s*,\s*/);}}else{K=[parseFloat(G[0].firstChild.nodeValue),parseFloat(A[0].firstChild.nodeValue)];}var H=new OpenLayers.Geometry.Point(parseFloat(K[1]),parseFloat(K[0]));}else{if(O.length>0){var I=OpenLayers.String.trim(this.concatChildValues(O[0])).split(/\s+/);var E=[];var L;for(var B=0,F=I.length;B<F;B+=2){L=new OpenLayers.Geometry.Point(parseFloat(I[B+1]),parseFloat(I[B]));E.push(L);}H=new OpenLayers.Geometry.LineString(E);}else{if(J.length>0){var I=OpenLayers.String.trim(this.concatChildValues(J[0])).split(/\s+/);var E=[];var L;for(var B=0,F=I.length;B<F;B+=2){L=new OpenLayers.Geometry.Point(parseFloat(I[B+1]),parseFloat(I[B]));E.push(L);}H=new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing(E)]);}else{if(C.length>0){if(!this.gmlParser){this.gmlParser=new OpenLayers.Format.GML({xy:this.xy});}var N=this.gmlParser.parseFeature(C[0]);H=N.geometry;}else{if(D.length>0){var I=OpenLayers.String.trim(D[0].firstChild.nodeValue).split(/\s+/);var E=[];var L;if(I.length>3){L=new OpenLayers.Geometry.Point(parseFloat(I[1]),parseFloat(I[0]));E.push(L);L=new OpenLayers.Geometry.Point(parseFloat(I[1]),parseFloat(I[2]));E.push(L);L=new OpenLayers.Geometry.Point(parseFloat(I[3]),parseFloat(I[2]));E.push(L);L=new OpenLayers.Geometry.Point(parseFloat(I[3]),parseFloat(I[0]));E.push(L);L=new OpenLayers.Geometry.Point(parseFloat(I[1]),parseFloat(I[0]));E.push(L);}H=new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing(E)]);}}}}}if(H&&this.internalProjection&&this.externalProjection){H.transform(this.externalProjection,this.internalProjection);}return H;},createFeatureFromItem:function(H){var D=this.createGeometryFromItem(H);var F=this.getChildValue(H,"*","title",this.featureTitle);var G=this.getChildValue(H,"*","description",this.getChildValue(H,"*","content",this.getChildValue(H,"*","summary",this.featureDescription)));var E=this.getChildValue(H,"*","link");if(!E){try{E=this.getElementsByTagNameNS(H,"*","link")[0].getAttribute("href");}catch(C){E=null;}}var A=this.getChildValue(H,"*","id",null);var B={title:F,description:G,link:E};var I=new OpenLayers.Feature.Vector(D,B);I.fid=A;return I;},getChildValue:function(D,B,C,F){var E;var A=this.getElementsByTagNameNS(D,B,C);if(A&&A[0]&&A[0].firstChild&&A[0].firstChild.nodeValue){E=A[0].firstChild.nodeValue;}else{E=(F==undefined)?"":F;}return E;},read:function(E){if(typeof E=="string"){E=OpenLayers.Format.XML.prototype.read.apply(this,[E]);}var A=null;A=this.getElementsByTagNameNS(E,"*","item");if(A.length==0){A=this.getElementsByTagNameNS(E,"*","entry");}var C=A.length;var D=new Array(C);for(var B=0;B<C;B++){D[B]=this.createFeatureFromItem(A[B]);}return D;},write:function(C){var D;if(C instanceof Array){D=this.createElementNS(this.rssns,"rss");for(var B=0,A=C.length;B<A;B++){D.appendChild(this.createFeatureXML(C[B]));}}else{D=this.createFeatureXML(C);}return OpenLayers.Format.XML.prototype.write.apply(this,[D]);},createFeatureXML:function(J){var F=this.buildGeometryNode(J.geometry);var A=this.createElementNS(this.rssns,"item");var D=this.createElementNS(this.rssns,"title");D.appendChild(this.createTextNode(J.attributes.title?J.attributes.title:""));var B=this.createElementNS(this.rssns,"description");B.appendChild(this.createTextNode(J.attributes.description?J.attributes.description:""));A.appendChild(D);A.appendChild(B);if(J.attributes.link){var H=this.createElementNS(this.rssns,"link");H.appendChild(this.createTextNode(J.attributes.link));A.appendChild(H);}for(var I in J.attributes){if(I=="link"||I=="title"||I=="description"){continue;}var G=this.createTextNode(J.attributes[I]);var E=I;if(I.search(":")!=-1){E=I.split(":")[1];}var C=this.createElementNS(this.featureNS,"feature:"+E);C.appendChild(G);A.appendChild(C);}A.appendChild(F);return A;},buildGeometryNode:function(B){if(this.internalProjection&&this.externalProjection){B=B.clone();B.transform(this.internalProjection,this.externalProjection);}var A;if(B.CLASS_NAME=="OpenLayers.Geometry.Polygon"){A=this.createElementNS(this.georssns,"georss:polygon");A.appendChild(this.buildCoordinatesNode(B.components[0]));}else{if(B.CLASS_NAME=="OpenLayers.Geometry.LineString"){A=this.createElementNS(this.georssns,"georss:line");A.appendChild(this.buildCoordinatesNode(B));}else{if(B.CLASS_NAME=="OpenLayers.Geometry.Point"){A=this.createElementNS(this.georssns,"georss:point");A.appendChild(this.buildCoordinatesNode(B));}else{throw"Couldn't parse "+B.CLASS_NAME;}}}return A;},buildCoordinatesNode:function(F){var C=null;if(F.components){C=F.components;}var E;if(C){var B=C.length;var D=new Array(B);for(var A=0;A<B;A++){D[A]=C[A].y+" "+C[A].x;}E=D.join(" ");}else{E=F.y+" "+F.x;}return this.createTextNode(E);},CLASS_NAME:"OpenLayers.Format.GeoRSS"});OpenLayers.Format.KML=OpenLayers.Class(OpenLayers.Format.XML,{kmlns:"http://earth.google.com/kml/2.0",placemarksDesc:"No description available",foldersName:"OpenLayers export",foldersDesc:"Exported on "+new Date(),extractAttributes:true,extractStyles:false,internalns:null,features:null,styles:null,styleBaseUrl:"",fetched:null,maxDepth:0,initialize:function(A){this.regExes={trimSpace:(/^\s*|\s*$/g),removeSpace:(/\s*/g),splitSpace:(/\s+/),trimComma:(/\s*,\s*/g),kmlColor:(/(\w{2})(\w{2})(\w{2})(\w{2})/),kmlIconPalette:(/root:\/\/icons\/palette-(\d+)(\.\w+)/),straightBracket:(/\$\[(.*?)\]/g)};OpenLayers.Format.XML.prototype.initialize.apply(this,[A]);},read:function(B){this.features=[];this.styles={};this.fetched={};var A={depth:0,styleBaseUrl:this.styleBaseUrl};return this.parseData(B,A);},parseData:function(G,C){if(typeof G=="string"){G=OpenLayers.Format.XML.prototype.read.apply(this,[G]);}var E=["Link","NetworkLink","Style","StyleMap","Placemark"];for(var D=0,A=E.length;D<A;++D){var F=E[D];var B=this.getElementsByTagNameNS(G,"*",F);if(B.length==0){continue;}switch(F.toLowerCase()){case"link":case"networklink":this.parseLinks(B,C);break;case"style":if(this.extractStyles){this.parseStyles(B,C);}break;case"stylemap":if(this.extractStyles){this.parseStyleMaps(B,C);}break;case"placemark":this.parseFeatures(B,C);break;}}return this.features;},parseLinks:function(C,D){if(D.depth>=this.maxDepth){return false;}var G=OpenLayers.Util.extend({},D);G.depth++;for(var E=0,A=C.length;E<A;E++){var B=this.parseProperty(C[E],"*","href");if(B&&!this.fetched[B]){this.fetched[B]=true;var F=this.fetchLink(B);if(F){this.parseData(F,G);}}}},fetchLink:function(A){var B=OpenLayers.Request.GET({url:A,async:false});if(B){return B.responseText;}},parseStyles:function(B,C){for(var D=0,A=B.length;D<A;D++){var E=this.parseStyle(B[D]);if(E){styleName=(C.styleBaseUrl||"")+"#"+E.id;this.styles[styleName]=E;}}},parseStyle:function(Q){var c={};var Z=["LineStyle","PolyStyle","IconStyle","BalloonStyle"];var n,G,H,N;for(var f=0,J=Z.length;f<J;++f){n=Z[f];styleTypeNode=this.getElementsByTagNameNS(Q,"*",n)[0];if(!styleTypeNode){continue;}switch(n.toLowerCase()){case"linestyle":var M=this.parseProperty(styleTypeNode,"*","color");if(M){var B=(M.toString()).match(this.regExes.kmlColor);var d=B[1];c.strokeOpacity=parseInt(d,16)/255;var m=B[2];var k=B[3];var a=B[4];c.strokeColor="#"+a+k+m;}var A=this.parseProperty(styleTypeNode,"*","width");if(A){c.strokeWidth=A;}case"polystyle":var M=this.parseProperty(styleTypeNode,"*","color");if(M){var B=(M.toString()).match(this.regExes.kmlColor);var d=B[1];c.fillOpacity=parseInt(d,16)/255;var m=B[2];var k=B[3];var a=B[4];c.fillColor="#"+a+k+m;}var I=this.parseProperty(styleTypeNode,"*","fill");if(I=="0"){c.fillColor="none";}break;case"iconstyle":var R=parseFloat(this.parseProperty(styleTypeNode,"*","scale")||1);var A=32*R;var C=32*R;var D=this.getElementsByTagNameNS(styleTypeNode,"*","Icon")[0];if(D){var L=this.parseProperty(D,"*","href");if(L){var Y=this.parseProperty(D,"*","w");var j=this.parseProperty(D,"*","h");var F="http://maps.google.com/mapfiles/kml";if(OpenLayers.String.startsWith(L,F)&&!Y&&!j){Y=64;j=64;R=R/2;}Y=Y||j;j=j||Y;if(Y){A=parseInt(Y)*R;}if(j){C=parseInt(j)*R;}var B=L.match(this.regExes.kmlIconPalette);if(B){var e=B[1];var K=B[2];var X=this.parseProperty(D,"*","x");var W=this.parseProperty(D,"*","y");var T=X?X/32:0;var S=W?(7-W/32):7;var P=S*8+T;L="http://maps.google.com/mapfiles/kml/pal"+e+"/icon"+P+K;}c.graphicOpacity=1;c.externalGraphic=L;}}var V=this.getElementsByTagNameNS(styleTypeNode,"*","hotSpot")[0];if(V){var X=parseFloat(V.getAttribute("x"));var W=parseFloat(V.getAttribute("y"));var O=V.getAttribute("xunits");if(O=="pixels"){c.graphicXOffset=-X*R;}else{if(O=="insetPixels"){c.graphicXOffset=-A+(X*R);}else{if(O=="fraction"){c.graphicXOffset=-A*X;}}}var E=V.getAttribute("yunits");if(E=="pixels"){c.graphicYOffset=-C+(W*R)+1;}else{if(E=="insetPixels"){c.graphicYOffset=-(W*R)+1;}else{if(E=="fraction"){c.graphicYOffset=-C*(1-W)+1;}}}}c.graphicWidth=A;c.graphicHeight=C;break;case"balloonstyle":var l=OpenLayers.Util.getXmlNodeValue(styleTypeNode);if(l){c.balloonStyle=l.replace(this.regExes.straightBracket,"${$1}");}break;default:}}if(!c.strokeColor&&c.fillColor){c.strokeColor=c.fillColor;}var U=Q.getAttribute("id");if(U&&c){c.id=U;}return c;},parseStyleMaps:function(A,L){for(var G=0,H=A.length;G<H;G++){var D=A[G];var C=this.getElementsByTagNameNS(D,"*","Pair");var B=D.getAttribute("id");for(var F=0,K=C.length;F<K;F++){var E=C[F];var J=this.parseProperty(E,"*","key");var I=this.parseProperty(E,"*","styleUrl");if(I&&J=="normal"){this.styles[(L.styleBaseUrl||"")+"#"+B]=this.styles[(L.styleBaseUrl||"")+I];}if(I&&J=="highlight"){}}}},parseFeatures:function(A,I){var D=new Array(A.length);for(var E=0,F=A.length;E<F;E++){var B=A[E];var H=this.parseFeature.apply(this,[B]);if(H){if(this.extractStyles&&H.attributes&&H.attributes.styleUrl){H.style=this.getStyle(H.attributes.styleUrl,I);}if(this.extractStyles){var G=this.getElementsByTagNameNS(B,"*","Style")[0];if(G){var C=this.parseStyle(G);if(C){H.style=OpenLayers.Util.extend(H.style,C);}}}D[E]=H;}else{throw"Bad Placemark: "+E;}}this.features=this.features.concat(D);},parseFeature:function(B){var C=["MultiGeometry","Polygon","LineString","Point"];var I,E,J,A;for(var G=0,H=C.length;G<H;++G){I=C[G];this.internalns=B.namespaceURI?B.namespaceURI:this.kmlns;E=this.getElementsByTagNameNS(B,this.internalns,I);if(E.length>0){var A=this.parseGeometry[I.toLowerCase()];if(A){J=A.apply(this,[E[0]]);if(this.internalProjection&&this.externalProjection){J.transform(this.externalProjection,this.internalProjection);}}else{OpenLayers.Console.error(OpenLayers.i18n("unsupportedGeometryType",{geomType:I}));}break;}}var F;if(this.extractAttributes){F=this.parseAttributes(B);}var K=new OpenLayers.Feature.Vector(J,F);var D=B.getAttribute("id")||B.getAttribute("name");if(D!=null){K.fid=D;}return K;},getStyle:function(B,A){var C=OpenLayers.Util.removeTail(B);var F=OpenLayers.Util.extend({},A);F.depth++;F.styleBaseUrl=C;if(!this.styles[B]&&!OpenLayers.String.startsWith(B,"#")&&F.depth<=this.maxDepth&&!this.fetched[C]){var E=this.fetchLink(C);if(E){this.parseData(E,F);}}var D=OpenLayers.Util.extend({},this.styles[B]);return D;},parseGeometry:{point:function(D){var C=this.getElementsByTagNameNS(D,this.internalns,"coordinates");var E=[];if(C.length>0){var B=C[0].firstChild.nodeValue;B=B.replace(this.regExes.removeSpace,"");E=B.split(",");}var A=null;if(E.length>1){if(E.length==2){E[2]=null;}A=new OpenLayers.Geometry.Point(E[0],E[1],E[2]);}else{throw"Bad coordinate string: "+B;}return A;},linestring:function(C,E){var D=this.getElementsByTagNameNS(C,this.internalns,"coordinates");var K=null;if(D.length>0){var B=this.getChildValue(D[0]);B=B.replace(this.regExes.trimSpace,"");B=B.replace(this.regExes.trimComma,",");var A=B.split(this.regExes.splitSpace);var H=A.length;var J=new Array(H);var I,G;for(var F=0;F<H;++F){I=A[F].split(",");G=I.length;if(G>1){if(I.length==2){I[2]=null;}J[F]=new OpenLayers.Geometry.Point(I[0],I[1],I[2]);}else{throw"Bad LineString point coordinates: "+A[F];}}if(H){if(E){K=new OpenLayers.Geometry.LinearRing(J);}else{K=new OpenLayers.Geometry.LineString(J);}}else{throw"Bad LineString coordinates: "+B;}}return K;},polygon:function(F){var C=this.getElementsByTagNameNS(F,this.internalns,"LinearRing");var G=C.length;var E=new Array(G);if(G>0){var B;for(var D=0,A=C.length;D<A;++D){B=this.parseGeometry.linestring.apply(this,[C[D],true]);if(B){E[D]=B;}else{throw"Bad LinearRing geometry: "+D;}}}return new OpenLayers.Geometry.Polygon(E);},multigeometry:function(E){var H,G;var F=[];var C=E.childNodes;for(var B=0,A=C.length;B<A;++B){H=C[B];if(H.nodeType==1){var D=(H.prefix)?H.nodeName.split(":")[1]:H.nodeName;var G=this.parseGeometry[D.toLowerCase()];if(G){F.push(G.apply(this,[H]));}}}return new OpenLayers.Geometry.Collection(F);}},parseAttributes:function(D){var E={};var F=D.getElementsByTagName("ExtendedData");if(F.length){E=this.parseExtendedData(F[0]);}var B,K,J;var C=D.childNodes;for(var G=0,H=C.length;G<H;++G){B=C[G];if(B.nodeType==1){K=B.childNodes;if(K.length==1||K.length==3){var J;switch(K.length){case 1:J=K[0];break;case 3:default:J=K[1];break;}if(J.nodeType==3||J.nodeType==4){var A=(B.prefix)?B.nodeName.split(":")[1]:B.nodeName;var I=OpenLayers.Util.getXmlNodeValue(J);if(I){I=I.replace(this.regExes.trimSpace,"");E[A]=I;}}}}}return E;},parseExtendedData:function(B){var D={};var C=B.getElementsByTagName("Data");for(var F=0,H=C.length;F<H;F++){var E=C[F];var I=E.getAttribute("name");var G={};var J=E.getElementsByTagName("value");if(J.length){G.value=this.getChildValue(J[0]);}var A=E.getElementsByTagName("displayName");if(A.length){G.displayName=this.getChildValue(A[0]);}D[I]=G;}return D;},parseProperty:function(C,D,B){var E;var A=this.getElementsByTagNameNS(C,D,B);try{E=OpenLayers.Util.getXmlNodeValue(A[0]);}catch(F){E=null;}return E;},write:function(D){if(!(D instanceof Array)){D=[D];}var B=this.createElementNS(this.kmlns,"kml");var E=this.createFolderXML();for(var C=0,A=D.length;C<A;++C){E.appendChild(this.createPlacemarkXML(D[C]));}B.appendChild(E);return OpenLayers.Format.XML.prototype.write.apply(this,[B]);},createFolderXML:function(){var E=this.createElementNS(this.kmlns,"name");var D=this.createTextNode(this.foldersName);E.appendChild(D);var A=this.createElementNS(this.kmlns,"description");var B=this.createTextNode(this.foldersDesc);A.appendChild(B);var C=this.createElementNS(this.kmlns,"Folder");C.appendChild(E);C.appendChild(A);return C;},createPlacemarkXML:function(E){var G=this.createElementNS(this.kmlns,"name");var C=(E.attributes.name)?E.attributes.name:E.id;G.appendChild(this.createTextNode(C));var D=this.createElementNS(this.kmlns,"description");var F=(E.attributes.description)?E.attributes.description:this.placemarksDesc;D.appendChild(this.createTextNode(F));var B=this.createElementNS(this.kmlns,"Placemark");if(E.fid!=null){B.setAttribute("id",E.fid);}B.appendChild(G);B.appendChild(D);var A=this.buildGeometryNode(E.geometry);B.appendChild(A);return B;},buildGeometryNode:function(E){if(this.internalProjection&&this.externalProjection){E=E.clone();E.transform(this.internalProjection,this.externalProjection);}var C=E.CLASS_NAME;var B=C.substring(C.lastIndexOf(".")+1);var A=this.buildGeometry[B.toLowerCase()];var D=null;if(A){D=A.apply(this,[E]);}return D;},buildGeometry:{point:function(B){var A=this.createElementNS(this.kmlns,"Point");A.appendChild(this.buildCoordinatesNode(B));return A;},multipoint:function(A){return this.buildGeometry.collection.apply(this,[A]);},linestring:function(B){var A=this.createElementNS(this.kmlns,"LineString");A.appendChild(this.buildCoordinatesNode(B));return A;},multilinestring:function(A){return this.buildGeometry.collection.apply(this,[A]);},linearring:function(B){var A=this.createElementNS(this.kmlns,"LinearRing");A.appendChild(this.buildCoordinatesNode(B));return A;},polygon:function(H){var B=this.createElementNS(this.kmlns,"Polygon");var G=H.components;var E,F,D;for(var C=0,A=G.length;C<A;++C){D=(C==0)?"outerBoundaryIs":"innerBoundaryIs";E=this.createElementNS(this.kmlns,D);F=this.buildGeometry.linearring.apply(this,[G[C]]);E.appendChild(F);B.appendChild(E);}return B;},multipolygon:function(A){return this.buildGeometry.collection.apply(this,[A]);},collection:function(D){var B=this.createElementNS(this.kmlns,"MultiGeometry");var E;for(var C=0,A=D.components.length;C<A;++C){E=this.buildGeometryNode.apply(this,[D.components[C]]);if(E){B.appendChild(E);}}return B;}},buildCoordinatesNode:function(E){var A=this.createElementNS(this.kmlns,"coordinates");var I;var H=E.components;if(H){var G;var F=H.length;var C=new Array(F);for(var D=0;D<F;++D){G=H[D];C[D]=G.x+","+G.y;}I=C.join(" ");}else{I=E.x+","+E.y;}var B=this.createTextNode(I);A.appendChild(B);return A;},CLASS_NAME:"OpenLayers.Format.KML"});OpenLayers.Geometry.MultiPolygon=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.Polygon"],initialize:function(A){OpenLayers.Geometry.Collection.prototype.initialize.apply(this,arguments);},CLASS_NAME:"OpenLayers.Geometry.MultiPolygon"});OpenLayers.Handler.Polygon=OpenLayers.Class(OpenLayers.Handler.Path,{polygon:null,initialize:function(C,B,A){OpenLayers.Handler.Path.prototype.initialize.apply(this,arguments);},createFeature:function(A){var B=this.control.map.getLonLatFromPixel(A);this.point=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(B.lon,B.lat));this.line=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LinearRing([this.point.geometry]));this.polygon=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon([this.line.geometry]));this.callback("create",[this.point.geometry,this.getSketch()]);this.point.geometry.clearBounds();this.layer.addFeatures([this.polygon,this.point],{silent:true});},destroyFeature:function(){OpenLayers.Handler.Path.prototype.destroyFeature.apply(this);this.polygon=null;},drawFeature:function(){this.layer.drawFeature(this.polygon,this.style);this.layer.drawFeature(this.point,this.style);},getSketch:function(){return this.polygon;},getGeometry:function(){var A=this.polygon&&this.polygon.geometry;if(A&&this.multi){A=new OpenLayers.Geometry.MultiPolygon([A]);}return A;},dblclick:function(A){if(!this.freehandMode(A)){var B=this.line.geometry.components.length-2;this.line.geometry.removeComponent(this.line.geometry.components[B]);this.removePoint();this.finalize();}return false;},CLASS_NAME:"OpenLayers.Handler.Polygon"});OpenLayers.Control.EditingToolbar=OpenLayers.Class(OpenLayers.Control.Panel,{initialize:function(C,B){OpenLayers.Control.Panel.prototype.initialize.apply(this,[B]);this.addControls([new OpenLayers.Control.Navigation()]);var A=[new OpenLayers.Control.DrawFeature(C,OpenLayers.Handler.Point,{displayClass:"olControlDrawFeaturePoint"}),new OpenLayers.Control.DrawFeature(C,OpenLayers.Handler.Path,{displayClass:"olControlDrawFeaturePath"}),new OpenLayers.Control.DrawFeature(C,OpenLayers.Handler.Polygon,{displayClass:"olControlDrawFeaturePolygon"})];this.addControls(A);},draw:function(){var A=OpenLayers.Control.Panel.prototype.draw.apply(this,arguments);this.activateControl(this.controls[0]);return A;},CLASS_NAME:"OpenLayers.Control.EditingToolbar"});OpenLayers.Format.GML=OpenLayers.Class(OpenLayers.Format.XML,{featureNS:"http://mapserver.gis.umn.edu/mapserver",featurePrefix:"feature",featureName:"featureMember",layerName:"features",geometryName:"geometry",collectionName:"FeatureCollection",gmlns:"http://www.opengis.net/gml",extractAttributes:true,xy:true,initialize:function(A){this.regExes={trimSpace:(/^\s*|\s*$/g),removeSpace:(/\s*/g),splitSpace:(/\s+/),trimComma:(/\s*,\s*/g)};OpenLayers.Format.XML.prototype.initialize.apply(this,[A]);},read:function(D){if(typeof D=="string"){D=OpenLayers.Format.XML.prototype.read.apply(this,[D]);}var E=this.getElementsByTagNameNS(D.documentElement,this.gmlns,this.featureName);var C=[];for(var B=0;B<E.length;B++){var A=this.parseFeature(E[B]);if(A){C.push(A);}}return C;},parseFeature:function(C){var D=["MultiPolygon","Polygon","MultiLineString","LineString","MultiPoint","Point","Envelope","Box"];var I,F,J,B;for(var H=0;H<D.length;++H){I=D[H];F=this.getElementsByTagNameNS(C,this.gmlns,I);if(F.length>0){var B=this.parseGeometry[I.toLowerCase()];if(B){J=B.apply(this,[F[0]]);if(this.internalProjection&&this.externalProjection){J.transform(this.externalProjection,this.internalProjection);}}else{OpenLayers.Console.error(OpenLayers.i18n("unsupportedGeometryType",{geomType:I}));}break;}}var G;if(this.extractAttributes){G=this.parseAttributes(C);}var K=new OpenLayers.Feature.Vector(J,G);K.gml={featureType:C.firstChild.nodeName.split(":")[1],featureNS:C.firstChild.namespaceURI,featureNSPrefix:C.firstChild.prefix};var A=C.firstChild;var E;while(A){if(A.nodeType==1){E=A.getAttribute("fid")||A.getAttribute("id");if(E){break;}}A=A.nextSibling;}K.fid=E;return K;},parseGeometry:{point:function(D){var B,A;var E=[];var B=this.getElementsByTagNameNS(D,this.gmlns,"pos");if(B.length>0){A=B[0].firstChild.nodeValue;A=A.replace(this.regExes.trimSpace,"");E=A.split(this.regExes.splitSpace);}if(E.length==0){B=this.getElementsByTagNameNS(D,this.gmlns,"coordinates");if(B.length>0){A=B[0].firstChild.nodeValue;A=A.replace(this.regExes.removeSpace,"");E=A.split(",");}}if(E.length==0){B=this.getElementsByTagNameNS(D,this.gmlns,"coord");if(B.length>0){var F=this.getElementsByTagNameNS(B[0],this.gmlns,"X");var C=this.getElementsByTagNameNS(B[0],this.gmlns,"Y");if(F.length>0&&C.length>0){E=[F[0].firstChild.nodeValue,C[0].firstChild.nodeValue];}}}if(E.length==2){E[2]=null;}if(this.xy){return new OpenLayers.Geometry.Point(E[0],E[1],E[2]);}else{return new OpenLayers.Geometry.Point(E[1],E[0],E[2]);}},multipoint:function(E){var B=this.getElementsByTagNameNS(E,this.gmlns,"Point");var D=[];if(B.length>0){var A;for(var C=0;C<B.length;++C){A=this.parseGeometry.point.apply(this,[B[C]]);if(A){D.push(A);}}}return new OpenLayers.Geometry.MultiPoint(D);},linestring:function(C,E){var D,B;var L=[];var M=[];D=this.getElementsByTagNameNS(C,this.gmlns,"posList");if(D.length>0){B=this.getChildValue(D[0]);B=B.replace(this.regExes.trimSpace,"");L=B.split(this.regExes.splitSpace);var H=parseInt(D[0].getAttribute("dimension"));var F,K,J,I;for(var G=0;G<L.length/H;++G){F=G*H;K=L[F];J=L[F+1];I=(H==2)?null:L[F+2];if(this.xy){M.push(new OpenLayers.Geometry.Point(K,J,I));}else{M.push(new OpenLayers.Geometry.Point(J,K,I));}}}if(L.length==0){D=this.getElementsByTagNameNS(C,this.gmlns,"coordinates");if(D.length>0){B=this.getChildValue(D[0]);B=B.replace(this.regExes.trimSpace,"");B=B.replace(this.regExes.trimComma,",");var A=B.split(this.regExes.splitSpace);for(var G=0;G<A.length;++G){L=A[G].split(",");if(L.length==2){L[2]=null;}if(this.xy){M.push(new OpenLayers.Geometry.Point(L[0],L[1],L[2]));}else{M.push(new OpenLayers.Geometry.Point(L[1],L[0],L[2]));}}}}var N=null;if(M.length!=0){if(E){N=new OpenLayers.Geometry.LinearRing(M);}else{N=new OpenLayers.Geometry.LineString(M);}}return N;},multilinestring:function(E){var B=this.getElementsByTagNameNS(E,this.gmlns,"LineString");var D=[];if(B.length>0){var A;for(var C=0;C<B.length;++C){A=this.parseGeometry.linestring.apply(this,[B[C]]);if(A){D.push(A);}}}return new OpenLayers.Geometry.MultiLineString(D);},polygon:function(E){var B=this.getElementsByTagNameNS(E,this.gmlns,"LinearRing");var D=[];if(B.length>0){var A;for(var C=0;C<B.length;++C){A=this.parseGeometry.linestring.apply(this,[B[C],true]);if(A){D.push(A);}}}return new OpenLayers.Geometry.Polygon(D);},multipolygon:function(E){var A=this.getElementsByTagNameNS(E,this.gmlns,"Polygon");var D=[];if(A.length>0){var C;for(var B=0;B<A.length;++B){C=this.parseGeometry.polygon.apply(this,[A[B]]);if(C){D.push(C);}}}return new OpenLayers.Geometry.MultiPolygon(D);},envelope:function(B){var E=[];var A;var F;var J=this.getElementsByTagNameNS(B,this.gmlns,"lowerCorner");if(J.length>0){var H=[];if(J.length>0){A=J[0].firstChild.nodeValue;A=A.replace(this.regExes.trimSpace,"");H=A.split(this.regExes.splitSpace);}if(H.length==2){H[2]=null;}if(this.xy){var D=new OpenLayers.Geometry.Point(H[0],H[1],H[2]);}else{var D=new OpenLayers.Geometry.Point(H[1],H[0],H[2]);}}var G=this.getElementsByTagNameNS(B,this.gmlns,"upperCorner");if(G.length>0){var H=[];if(G.length>0){A=G[0].firstChild.nodeValue;A=A.replace(this.regExes.trimSpace,"");H=A.split(this.regExes.splitSpace);}if(H.length==2){H[2]=null;}if(this.xy){var I=new OpenLayers.Geometry.Point(H[0],H[1],H[2]);}else{var I=new OpenLayers.Geometry.Point(H[1],H[0],H[2]);}}if(D&&I){E.push(new OpenLayers.Geometry.Point(D.x,D.y));E.push(new OpenLayers.Geometry.Point(I.x,D.y));E.push(new OpenLayers.Geometry.Point(I.x,I.y));E.push(new OpenLayers.Geometry.Point(D.x,I.y));E.push(new OpenLayers.Geometry.Point(D.x,D.y));var C=new OpenLayers.Geometry.LinearRing(E);F=new OpenLayers.Geometry.Polygon([C]);}return F;}},parseAttributes:function(E){var F={};var A=E.firstChild;var D,G,C,J,I,B,H;while(A){if(A.nodeType==1){D=A.childNodes;for(G=0;G<D.length;++G){C=D[G];if(C.nodeType==1){J=C.childNodes;if(J.length==1){I=J[0];if(I.nodeType==3||I.nodeType==4){B=(C.prefix)?C.nodeName.split(":")[1]:C.nodeName;H=I.nodeValue.replace(this.regExes.trimSpace,"");F[B]=H;}}else{F[C.nodeName.split(":").pop()]=null;}}}break;}A=A.nextSibling;}return F;},write:function(C){if(!(C instanceof Array)){C=[C];}var B=this.createElementNS("http://www.opengis.net/wfs","wfs:"+this.collectionName);for(var A=0;A<C.length;A++){B.appendChild(this.createFeatureXML(C[A]));}return OpenLayers.Format.XML.prototype.write.apply(this,[B]);},createFeatureXML:function(J){var H=J.geometry;var E=this.buildGeometryNode(H);var I=this.createElementNS(this.featureNS,this.featurePrefix+":"+this.geometryName);I.appendChild(E);var A=this.createElementNS(this.gmlns,"gml:"+this.featureName);var K=this.createElementNS(this.featureNS,this.featurePrefix+":"+this.layerName);var C=J.fid||J.id;K.setAttribute("fid",C);K.appendChild(I);for(var G in J.attributes){var F=this.createTextNode(J.attributes[G]);var D=G.substring(G.lastIndexOf(":")+1);var B=this.createElementNS(this.featureNS,this.featurePrefix+":"+D);B.appendChild(F);K.appendChild(B);}A.appendChild(K);return A;},buildGeometryNode:function(D){if(this.externalProjection&&this.internalProjection){D=D.clone();D.transform(this.internalProjection,this.externalProjection);}var C=D.CLASS_NAME;var B=C.substring(C.lastIndexOf(".")+1);var A=this.buildGeometry[B.toLowerCase()];return A.apply(this,[D]);},buildGeometry:{point:function(B){var A=this.createElementNS(this.gmlns,"gml:Point");A.appendChild(this.buildCoordinatesNode(B));return A;},multipoint:function(F){var D=this.createElementNS(this.gmlns,"gml:MultiPoint");var C=F.components;var B,E;for(var A=0;A<C.length;A++){B=this.createElementNS(this.gmlns,"gml:pointMember");E=this.buildGeometry.point.apply(this,[C[A]]);B.appendChild(E);D.appendChild(B);}return D;},linestring:function(B){var A=this.createElementNS(this.gmlns,"gml:LineString");A.appendChild(this.buildCoordinatesNode(B));return A;},multilinestring:function(F){var D=this.createElementNS(this.gmlns,"gml:MultiLineString");var A=F.components;var C,E;for(var B=0;B<A.length;++B){C=this.createElementNS(this.gmlns,"gml:lineStringMember");E=this.buildGeometry.linestring.apply(this,[A[B]]);C.appendChild(E);D.appendChild(C);}return D;},linearring:function(B){var A=this.createElementNS(this.gmlns,"gml:LinearRing");A.appendChild(this.buildCoordinatesNode(B));return A;},polygon:function(G){var D=this.createElementNS(this.gmlns,"gml:Polygon");var F=G.components;var C,E,B;for(var A=0;A<F.length;++A){B=(A==0)?"outerBoundaryIs":"innerBoundaryIs";C=this.createElementNS(this.gmlns,"gml:"+B);E=this.buildGeometry.linearring.apply(this,[F[A]]);C.appendChild(E);D.appendChild(C);}return D;},multipolygon:function(F){var D=this.createElementNS(this.gmlns,"gml:MultiPolygon");var A=F.components;var E,B;for(var C=0;C<A.length;++C){E=this.createElementNS(this.gmlns,"gml:polygonMember");B=this.buildGeometry.polygon.apply(this,[A[C]]);E.appendChild(B);D.appendChild(E);}return D;},bounds:function(B){var A=this.createElementNS(this.gmlns,"gml:Box");A.appendChild(this.buildCoordinatesNode(B));return A;}},buildCoordinatesNode:function(F){var A=this.createElementNS(this.gmlns,"gml:coordinates");A.setAttribute("decimal",".");A.setAttribute("cs",",");A.setAttribute("ts"," ");var E=[];if(F instanceof OpenLayers.Bounds){E.push(F.left+","+F.bottom);E.push(F.right+","+F.top);}else{var C=(F.components)?F.components:[F];for(var B=0;B<C.length;B++){E.push(C[B].x+","+C[B].y);}}var D=this.createTextNode(E.join(" "));A.appendChild(D);return A;},CLASS_NAME:"OpenLayers.Format.GML"});if(!OpenLayers.Format.GML){OpenLayers.Format.GML={};}OpenLayers.Format.GML.Base=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{gml:"http://www.opengis.net/gml",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance",wfs:"http://www.opengis.net/wfs"},defaultPrefix:"gml",schemaLocation:null,featureType:null,featureNS:null,geometryName:"geometry",extractAttributes:true,srsName:null,xy:true,geometryTypes:null,singleFeatureType:null,regExes:{trimSpace:(/^\s*|\s*$/g),removeSpace:(/\s*/g),splitSpace:(/\s+/),trimComma:(/\s*,\s*/g)},initialize:function(A){OpenLayers.Format.XML.prototype.initialize.apply(this,[A]);this.setGeometryTypes();if(A&&A.featureNS){this.setNamespace("feature",A.featureNS);}this.singleFeatureType=!A||(typeof A.featureType==="string");},read:function(E){if(typeof E=="string"){E=OpenLayers.Format.XML.prototype.read.apply(this,[E]);}if(E&&E.nodeType==9){E=E.documentElement;}var C=[];this.readNode(E,{features:C});if(C.length==0){var D=this.getElementsByTagNameNS(E,this.namespaces.gml,"featureMember");if(D.length){for(var B=0,A=D.length;B<A;++B){this.readNode(D[B],{features:C});}}else{var D=this.getElementsByTagNameNS(E,this.namespaces.gml,"featureMembers");if(D.length){this.readNode(D[0],{features:C});}}}return C;},readers:{gml:{featureMember:function(A,B){this.readChildNodes(A,B);},featureMembers:function(A,B){this.readChildNodes(A,B);},name:function(A,B){B.name=this.getChildValue(A);},boundedBy:function(B,C){var A={};this.readChildNodes(B,A);if(A.components&&A.components.length>0){C.bounds=A.components[0];}},Point:function(B,A){var C={points:[]};this.readChildNodes(B,C);if(!A.components){A.components=[];}A.components.push(C.points[0]);},coordinates:function(E,G){var H=this.getChildValue(E).replace(this.regExes.trimSpace,"");H=H.replace(this.regExes.trimComma,",");var A=H.split(this.regExes.splitSpace);var F;var D=A.length;var C=new Array(D);for(var B=0;B<D;++B){F=A[B].split(",");if(this.xy){C[B]=new OpenLayers.Geometry.Point(F[0],F[1],F[2]);}else{C[B]=new OpenLayers.Geometry.Point(F[1],F[0],F[2]);}}G.points=C;},coord:function(A,B){var C={};this.readChildNodes(A,C);if(!B.points){B.points=[];}B.points.push(new OpenLayers.Geometry.Point(C.x,C.y,C.z));},X:function(A,B){B.x=this.getChildValue(A);},Y:function(A,B){B.y=this.getChildValue(A);},Z:function(A,B){B.z=this.getChildValue(A);},MultiPoint:function(B,A){var C={components:[]};this.readChildNodes(B,C);A.components=[new OpenLayers.Geometry.MultiPoint(C.components)];},pointMember:function(A,B){this.readChildNodes(A,B);},LineString:function(B,A){var C={};this.readChildNodes(B,C);if(!A.components){A.components=[];}A.components.push(new OpenLayers.Geometry.LineString(C.points));},MultiLineString:function(B,A){var C={components:[]};this.readChildNodes(B,C);A.components=[new OpenLayers.Geometry.MultiLineString(C.components)];},lineStringMember:function(A,B){this.readChildNodes(A,B);},Polygon:function(B,A){var C={outer:null,inner:[]};this.readChildNodes(B,C);C.inner.unshift(C.outer);if(!A.components){A.components=[];}A.components.push(new OpenLayers.Geometry.Polygon(C.inner));},LinearRing:function(B,C){var A={};this.readChildNodes(B,A);C.components=[new OpenLayers.Geometry.LinearRing(A.points)];},MultiPolygon:function(B,A){var C={components:[]};this.readChildNodes(B,C);A.components=[new OpenLayers.Geometry.MultiPolygon(C.components)];},polygonMember:function(A,B){this.readChildNodes(A,B);},GeometryCollection:function(B,A){var C={components:[]};this.readChildNodes(B,C);A.components=[new OpenLayers.Geometry.Collection(C.components)];},geometryMember:function(A,B){this.readChildNodes(A,B);}},feature:{"*":function(C,D){var A;var B=C.localName||C.nodeName.split(":").pop();if(!this.singleFeatureType&&(OpenLayers.Util.indexOf(this.featureType,B)!=-1)){A="_typeName";}else{if(B==this.featureType){A="_typeName";}else{if(C.childNodes.length==0||(C.childNodes.length==1&&C.firstChild.nodeType==3)){if(this.extractAttributes){A="_attribute";}}else{A="_geometry";}}}if(A){this.readers.feature[A].apply(this,[C,D]);}},_typeName:function(C,D){var A={components:[],attributes:{}};this.readChildNodes(C,A);if(A.name){A.attributes.name=A.name;}var B=new OpenLayers.Feature.Vector(A.components[0],A.attributes);if(!this.singleFeatureType){B.type=C.nodeName.split(":").pop();B.namespace=C.namespaceURI;}var E=C.getAttribute("fid")||this.getAttributeNS(C,this.namespaces.gml,"id");if(E){B.fid=E;}if(this.internalProjection&&this.externalProjection&&B.geometry){B.geometry.transform(this.externalProjection,this.internalProjection);}if(A.bounds){B.geometry.bounds=A.bounds;}D.features.push(B);},_geometry:function(A,B){this.readChildNodes(A,B);},_attribute:function(B,D){var A=B.localName||B.nodeName.split(":").pop();var C=this.getChildValue(B);D.attributes[A]=C;}},wfs:{FeatureCollection:function(A,B){this.readChildNodes(A,B);}}},write:function(C){var B;if(C instanceof Array){B="featureMembers";}else{B="featureMember";}var A=this.writeNode("gml:"+B,C);this.setAttributeNS(A,this.namespaces.xsi,"xsi:schemaLocation",this.schemaLocation);return OpenLayers.Format.XML.prototype.write.apply(this,[A]);},writers:{gml:{featureMember:function(A){var B=this.createElementNSPlus("gml:featureMember");this.writeNode("feature:_typeName",A,B);return B;},MultiPoint:function(C){var B=this.createElementNSPlus("gml:MultiPoint");for(var A=0;A<C.components.length;++A){this.writeNode("pointMember",C.components[A],B);}return B;},pointMember:function(B){var A=this.createElementNSPlus("gml:pointMember");this.writeNode("Point",B,A);return A;},MultiLineString:function(C){var B=this.createElementNSPlus("gml:MultiLineString");for(var A=0;A<C.components.length;++A){this.writeNode("lineStringMember",C.components[A],B);}return B;},lineStringMember:function(B){var A=this.createElementNSPlus("gml:lineStringMember");this.writeNode("LineString",B,A);return A;},MultiPolygon:function(C){var B=this.createElementNSPlus("gml:MultiPolygon");for(var A=0;A<C.components.length;++A){this.writeNode("polygonMember",C.components[A],B);}return B;},polygonMember:function(B){var A=this.createElementNSPlus("gml:polygonMember");this.writeNode("Polygon",B,A);return A;},GeometryCollection:function(D){var C=this.createElementNSPlus("gml:GeometryCollection");for(var B=0,A=D.components.length;B<A;++B){this.writeNode("geometryMember",D.components[B],C);}return C;},geometryMember:function(B){var A=this.createElementNSPlus("gml:geometryMember");var C=this.writeNode("feature:_geometry",B);A.appendChild(C.firstChild);return A;}},feature:{_typeName:function(B){var C=this.createElementNSPlus("feature:"+this.featureType,{attributes:{fid:B.fid}});if(B.geometry){this.writeNode("feature:_geometry",B.geometry,C);}for(var A in B.attributes){var D=B.attributes[A];if(D!=null){this.writeNode("feature:_attribute",{name:A,value:D},C);}}return C;},_geometry:function(C){if(this.externalProjection&&this.internalProjection){C=C.clone().transform(this.internalProjection,this.externalProjection);}var B=this.createElementNSPlus("feature:"+this.geometryName);var A=this.geometryTypes[C.CLASS_NAME];var D=this.writeNode("gml:"+A,C,B);if(this.srsName){D.setAttribute("srsName",this.srsName);}return B;},_attribute:function(A){return this.createElementNSPlus("feature:"+A.name,{value:A.value});}},wfs:{FeatureCollection:function(C){var D=this.createElementNSPlus("wfs:FeatureCollection");for(var B=0,A=C.length;B<A;++B){this.writeNode("gml:featureMember",C[B],D);}return D;}}},setGeometryTypes:function(){this.geometryTypes={"OpenLayers.Geometry.Point":"Point","OpenLayers.Geometry.MultiPoint":"MultiPoint","OpenLayers.Geometry.LineString":"LineString","OpenLayers.Geometry.MultiLineString":"MultiLineString","OpenLayers.Geometry.Polygon":"Polygon","OpenLayers.Geometry.MultiPolygon":"MultiPolygon","OpenLayers.Geometry.Collection":"GeometryCollection"};},CLASS_NAME:"OpenLayers.Format.GML.Base"});OpenLayers.Format.GML.v2=OpenLayers.Class(OpenLayers.Format.GML.Base,{schemaLocation:"http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd",initialize:function(A){OpenLayers.Format.GML.Base.prototype.initialize.apply(this,[A]);},readers:{gml:OpenLayers.Util.applyDefaults({outerBoundaryIs:function(B,A){var C={};this.readChildNodes(B,C);A.outer=C.components[0];},innerBoundaryIs:function(B,A){var C={};this.readChildNodes(B,C);A.inner.push(C.components[0]);},Box:function(D,B){var E={};this.readChildNodes(D,E);if(!B.components){B.components=[];}var C=E.points[0];var A=E.points[1];B.components.push(new OpenLayers.Bounds(C.x,C.y,A.x,A.y));}},OpenLayers.Format.GML.Base.prototype.readers.gml),feature:OpenLayers.Format.GML.Base.prototype.readers.feature,wfs:OpenLayers.Format.GML.Base.prototype.readers.wfs},write:function(C){var B;if(C instanceof Array){B="wfs:FeatureCollection";}else{B="gml:featureMember";}var A=this.writeNode(B,C);this.setAttributeNS(A,this.namespaces.xsi,"xsi:schemaLocation",this.schemaLocation);return OpenLayers.Format.XML.prototype.write.apply(this,[A]);},writers:{gml:OpenLayers.Util.applyDefaults({Point:function(B){var A=this.createElementNSPlus("gml:Point");this.writeNode("coordinates",[B],A);return A;},coordinates:function(D){var C=D.length;var E=new Array(C);var A;for(var B=0;B<C;++B){A=D[B];if(this.xy){E[B]=A.x+","+A.y;}else{E[B]=A.y+","+A.x;}if(A.z!=undefined){E[B]+=","+A.z;}}return this.createElementNSPlus("gml:coordinates",{attributes:{decimal:".",cs:",",ts:" "},value:(C==1)?E[0]:E.join(" ")});},LineString:function(B){var A=this.createElementNSPlus("gml:LineString");this.writeNode("coordinates",B.components,A);return A;},Polygon:function(C){var B=this.createElementNSPlus("gml:Polygon");this.writeNode("outerBoundaryIs",C.components[0],B);for(var A=1;A<C.components.length;++A){this.writeNode("innerBoundaryIs",C.components[A],B);}return B;},outerBoundaryIs:function(A){var B=this.createElementNSPlus("gml:outerBoundaryIs");this.writeNode("LinearRing",A,B);return B;},innerBoundaryIs:function(A){var B=this.createElementNSPlus("gml:innerBoundaryIs");this.writeNode("LinearRing",A,B);return B;},LinearRing:function(A){var B=this.createElementNSPlus("gml:LinearRing");this.writeNode("coordinates",A.components,B);return B;},Box:function(B){var A=this.createElementNSPlus("gml:Box");this.writeNode("coordinates",[{x:B.left,y:B.bottom},{x:B.right,y:B.top}],A);if(this.srsName){A.setAttribute("srsName",this.srsName);}return A;}},OpenLayers.Format.GML.Base.prototype.writers.gml),feature:OpenLayers.Format.GML.Base.prototype.writers.feature,wfs:OpenLayers.Format.GML.Base.prototype.writers.wfs},CLASS_NAME:"OpenLayers.Format.GML.v2"});OpenLayers.Format.Filter.v1_0_0=OpenLayers.Class(OpenLayers.Format.GML.v2,OpenLayers.Format.Filter.v1,{VERSION:"1.0.0",schemaLocation:"http://www.opengis.net/ogc/filter/1.0.0/filter.xsd",initialize:function(A){OpenLayers.Format.GML.v2.prototype.initialize.apply(this,[A]);},readers:{ogc:OpenLayers.Util.applyDefaults({PropertyIsEqualTo:function(B,C){var A=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.EQUAL_TO});this.readChildNodes(B,A);C.filters.push(A);},PropertyIsNotEqualTo:function(B,C){var A=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.NOT_EQUAL_TO});this.readChildNodes(B,A);C.filters.push(A);},PropertyIsLike:function(D,E){var C=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LIKE});this.readChildNodes(D,C);var F=D.getAttribute("wildCard");var B=D.getAttribute("singleChar");var A=D.getAttribute("escape");C.value2regex(F,B,A);E.filters.push(C);}},OpenLayers.Format.Filter.v1.prototype.readers.ogc),gml:OpenLayers.Format.GML.v2.prototype.readers.gml,feature:OpenLayers.Format.GML.v2.prototype.readers.feature},writers:{ogc:OpenLayers.Util.applyDefaults({PropertyIsEqualTo:function(A){var B=this.createElementNSPlus("ogc:PropertyIsEqualTo");this.writeNode("PropertyName",A,B);this.writeNode("Literal",A.value,B);return B;},PropertyIsNotEqualTo:function(A){var B=this.createElementNSPlus("ogc:PropertyIsNotEqualTo");this.writeNode("PropertyName",A,B);this.writeNode("Literal",A.value,B);return B;},PropertyIsLike:function(A){var B=this.createElementNSPlus("ogc:PropertyIsLike",{attributes:{wildCard:"*",singleChar:".",escape:"!"}});this.writeNode("PropertyName",A,B);this.writeNode("Literal",A.regex2value(),B);return B;},BBOX:function(A){var C=this.createElementNSPlus("ogc:BBOX");this.writeNode("PropertyName",A,C);var B=this.writeNode("gml:Box",A.value,C);if(A.projection){B.setAttribute("srsName",A.projection);}return C;}},OpenLayers.Format.Filter.v1.prototype.writers.ogc),gml:OpenLayers.Format.GML.v2.prototype.writers.gml,feature:OpenLayers.Format.GML.v2.prototype.writers.feature},writeSpatial:function(B,A){var C=this.createElementNSPlus("ogc:"+A);this.writeNode("PropertyName",B,C);var D;if(B.value instanceof OpenLayers.Geometry){D=this.writeNode("feature:_geometry",B.value).firstChild;}else{D=this.writeNode("gml:Box",B.value);}if(B.projection){D.setAttribute("srsName",B.projection);}C.appendChild(D);return C;},CLASS_NAME:"OpenLayers.Format.Filter.v1_0_0"});OpenLayers.Format.SLD.v1=OpenLayers.Class(OpenLayers.Format.Filter.v1_0_0,{namespaces:{sld:"http://www.opengis.net/sld",ogc:"http://www.opengis.net/ogc",gml:"http://www.opengis.net/gml",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},defaultPrefix:"sld",schemaLocation:null,defaultSymbolizer:{fillColor:"#808080",fillOpacity:1,strokeColor:"#000000",strokeOpacity:1,strokeWidth:1,strokeDashstyle:"solid",pointRadius:3,graphicName:"square"},initialize:function(A){OpenLayers.Format.Filter.v1_0_0.prototype.initialize.apply(this,[A]);},read:function(C,A){A=OpenLayers.Util.applyDefaults(A,this.options);var B={namedLayers:A.namedLayersAsArray===true?[]:{}};this.readChildNodes(C,B);return B;},readers:OpenLayers.Util.applyDefaults({sld:{StyledLayerDescriptor:function(A,B){B.version=A.getAttribute("version");this.readChildNodes(A,B);},Name:function(A,B){B.name=this.getChildValue(A);},Title:function(A,B){B.title=this.getChildValue(A);},Abstract:function(A,B){B.description=this.getChildValue(A);},NamedLayer:function(D,E){var C={userStyles:[],namedStyles:[]};this.readChildNodes(D,C);for(var B=0,A=C.userStyles.length;B<A;++B){C.userStyles[B].layerName=C.name;}if(E.namedLayers instanceof Array){E.namedLayers.push(C);}else{E.namedLayers[C.name]=C;}},NamedStyle:function(B,A){A.namedStyles.push(this.getChildName(B.firstChild));},UserStyle:function(C,A){var D={defaultsPerSymbolizer:true,rules:[]};this.readChildNodes(C,D);var B=new OpenLayers.Style(this.defaultSymbolizer,D);A.userStyles.push(B);},IsDefault:function(B,A){if(this.getChildValue(B)=="1"){A.isDefault=true;}},FeatureTypeStyle:function(B,A){var C={rules:[]};this.readChildNodes(B,C);A.rules=C.rules;},Rule:function(A,C){var B=new OpenLayers.Rule();this.readChildNodes(A,B);C.rules.push(B);},ElseFilter:function(A,B){B.elseFilter=true;},MinScaleDenominator:function(A,B){B.minScaleDenominator=parseFloat(this.getChildValue(A));},MaxScaleDenominator:function(A,B){B.maxScaleDenominator=parseFloat(this.getChildValue(A));},TextSymbolizer:function(B,C){var A=C.symbolizer.Text||{};this.readChildNodes(B,A);C.symbolizer.Text=A;},Label:function(B,A){var D={};this.readChildNodes(B,D);if(D.property){A.label="${"+D.property+"}";}else{var C=this.readOgcExpression(B);if(C){A.label=C;}}},Font:function(B,A){this.readChildNodes(B,A);},Halo:function(B,A){var C={};this.readChildNodes(B,C);A.haloRadius=C.haloRadius;A.haloColor=C.fillColor;A.haloOpacity=C.fillOpacity;},Radius:function(C,B){var A=this.readOgcExpression(C);if(A!=null){B.haloRadius=A;}},LineSymbolizer:function(B,C){var A=C.symbolizer.Line||{};this.readChildNodes(B,A);C.symbolizer.Line=A;},PolygonSymbolizer:function(B,C){var A=C.symbolizer.Polygon||{};this.readChildNodes(B,A);C.symbolizer.Polygon=A;},PointSymbolizer:function(B,C){var A=C.symbolizer.Point||{};this.readChildNodes(B,A);C.symbolizer.Point=A;},Stroke:function(B,A){A.stroke=true;this.readChildNodes(B,A);},Fill:function(B,A){A.fill=true;this.readChildNodes(B,A);},CssParameter:function(C,B){var A=C.getAttribute("name");var E=this.cssMap[A];if(E){var D=this.readOgcExpression(C);if(D){B[E]=D;}}},Graphic:function(E,D){D.graphic=true;var H={};this.readChildNodes(E,H);var C=["strokeColor","strokeWidth","strokeOpacity","strokeLinecap","fillColor","fillOpacity","graphicName","rotation","graphicFormat"];var G,F;for(var B=0,A=C.length;B<A;++B){G=C[B];F=H[G];if(F!=undefined){D[G]=F;}}if(H.opacity!=undefined){D.graphicOpacity=H.opacity;}if(H.size!=undefined){D.pointRadius=H.size/2;}if(H.href!=undefined){D.externalGraphic=H.href;}if(H.rotation!=undefined){D.rotation=H.rotation;}},ExternalGraphic:function(A,B){this.readChildNodes(A,B);},Mark:function(A,B){this.readChildNodes(A,B);},WellKnownName:function(A,B){B.graphicName=this.getChildValue(A);},Opacity:function(B,C){var A=this.readOgcExpression(B);if(A){C.opacity=A;}},Size:function(B,C){var A=this.readOgcExpression(B);if(A){C.size=A;}},Rotation:function(B,C){var A=this.readOgcExpression(B);if(A){C.rotation=A;}},OnlineResource:function(A,B){B.href=this.getAttributeNS(A,this.namespaces.xlink,"href");},Format:function(A,B){B.graphicFormat=this.getChildValue(A);}}},OpenLayers.Format.Filter.v1_0_0.prototype.readers),cssMap:{stroke:"strokeColor","stroke-opacity":"strokeOpacity","stroke-width":"strokeWidth","stroke-linecap":"strokeLinecap","stroke-dasharray":"strokeDashstyle",fill:"fillColor","fill-opacity":"fillOpacity","font-family":"fontFamily","font-size":"fontSize","font-weight":"fontWeight","font-style":"fontStyle"},getCssProperty:function(A){var B=null;for(var C in this.cssMap){if(this.cssMap[C]==A){B=C;break;}}return B;},getGraphicFormat:function(A){var D,C;for(var B in this.graphicFormats){if(this.graphicFormats[B].test(A)){D=B;break;}}return D||this.defautlGraphicFormat;},defaultGraphicFormat:"image/png",graphicFormats:{"image/jpeg":/\.jpe?g$/i,"image/gif":/\.gif$/i,"image/png":/\.png$/i},write:function(A){return this.writers.sld.StyledLayerDescriptor.apply(this,[A]);},writers:OpenLayers.Util.applyDefaults({sld:{StyledLayerDescriptor:function(E){var B=this.createElementNSPlus("sld:StyledLayerDescriptor",{attributes:{version:this.VERSION,"xsi:schemaLocation":this.schemaLocation}});if(E.name){this.writeNode("Name",E.name,B);}if(E.title){this.writeNode("Title",E.title,B);}if(E.description){this.writeNode("Abstract",E.description,B);}if(E.namedLayers instanceof Array){for(var D=0,A=E.namedLayers.length;D<A;++D){this.writeNode("NamedLayer",E.namedLayers[D],B);}}else{for(var C in E.namedLayers){this.writeNode("NamedLayer",E.namedLayers[C],B);}}return B;},Name:function(A){return this.createElementNSPlus("sld:Name",{value:A});},Title:function(A){return this.createElementNSPlus("sld:Title",{value:A});},Abstract:function(A){return this.createElementNSPlus("sld:Abstract",{value:A});},NamedLayer:function(C){var D=this.createElementNSPlus("sld:NamedLayer");this.writeNode("Name",C.name,D);if(C.namedStyles){for(var B=0,A=C.namedStyles.length;B<A;++B){this.writeNode("NamedStyle",C.namedStyles[B],D);}}if(C.userStyles){for(var B=0,A=C.userStyles.length;B<A;++B){this.writeNode("UserStyle",C.userStyles[B],D);}}return D;},NamedStyle:function(A){var B=this.createElementNSPlus("sld:NamedStyle");this.writeNode("Name",A,B);return B;},UserStyle:function(A){var B=this.createElementNSPlus("sld:UserStyle");if(A.name){this.writeNode("Name",A.name,B);}if(A.title){this.writeNode("Title",A.title,B);}if(A.description){this.writeNode("Abstract",A.description,B);}if(A.isDefault){this.writeNode("IsDefault",A.isDefault,B);}this.writeNode("FeatureTypeStyle",A,B);return B;},IsDefault:function(A){return this.createElementNSPlus("sld:IsDefault",{value:(A)?"1":"0"});},FeatureTypeStyle:function(C){var D=this.createElementNSPlus("sld:FeatureTypeStyle");for(var B=0,A=C.rules.length;B<A;++B){this.writeNode("Rule",C.rules[B],D);}return D;},Rule:function(G){var F=this.createElementNSPlus("sld:Rule");if(G.name){this.writeNode("Name",G.name,F);}if(G.title){this.writeNode("Title",G.title,F);}if(G.description){this.writeNode("Abstract",G.description,F);}if(G.elseFilter){this.writeNode("ElseFilter",null,F);}else{if(G.filter){this.writeNode("ogc:Filter",G.filter,F);}}if(G.minScaleDenominator!=undefined){this.writeNode("MinScaleDenominator",G.minScaleDenominator,F);}if(G.maxScaleDenominator!=undefined){this.writeNode("MaxScaleDenominator",G.maxScaleDenominator,F);}var C=OpenLayers.Style.SYMBOLIZER_PREFIXES;var E,D;for(var B=0,A=C.length;B<A;++B){E=C[B];D=G.symbolizer[E];if(D){this.writeNode(E+"Symbolizer",D,F);}}return F;},ElseFilter:function(){return this.createElementNSPlus("sld:ElseFilter");},MinScaleDenominator:function(A){return this.createElementNSPlus("sld:MinScaleDenominator",{value:A});},MaxScaleDenominator:function(A){return this.createElementNSPlus("sld:MaxScaleDenominator",{value:A});},LineSymbolizer:function(A){var B=this.createElementNSPlus("sld:LineSymbolizer");this.writeNode("Stroke",A,B);return B;},Stroke:function(A){var B=this.createElementNSPlus("sld:Stroke");if(A.strokeColor!=undefined){this.writeNode("CssParameter",{symbolizer:A,key:"strokeColor"},B);}if(A.strokeOpacity!=undefined){this.writeNode("CssParameter",{symbolizer:A,key:"strokeOpacity"},B);}if(A.strokeWidth!=undefined){this.writeNode("CssParameter",{symbolizer:A,key:"strokeWidth"},B);}if(A.strokeDashstyle!=undefined&&A.strokeDashstyle!=="solid"){this.writeNode("CssParameter",{symbolizer:A,key:"strokeDashstyle"},B);}if(A.strokeLinecap!=undefined){this.writeNode("CssParameter",{symbolizer:A,key:"strokeLinecap"},B);}return B;},CssParameter:function(A){return this.createElementNSPlus("sld:CssParameter",{attributes:{name:this.getCssProperty(A.key)},value:A.symbolizer[A.key]});},TextSymbolizer:function(A){var B=this.createElementNSPlus("sld:TextSymbolizer");if(A.label!=null){this.writeNode("Label",A.label,B);}if(A.fontFamily!=null||A.fontSize!=null||A.fontWeight!=null||A.fontStyle!=null){this.writeNode("Font",A,B);}if(A.haloRadius!=null||A.haloColor!=null||A.haloOpacity!=null){this.writeNode("Halo",A,B);}if(A.fillColor!=null||A.fillOpacity!=null){this.writeNode("Fill",A,B);}return B;},Font:function(A){var B=this.createElementNSPlus("sld:Font");if(A.fontFamily){this.writeNode("CssParameter",{symbolizer:A,key:"fontFamily"},B);}if(A.fontSize){this.writeNode("CssParameter",{symbolizer:A,key:"fontSize"},B);}if(A.fontWeight){this.writeNode("CssParameter",{symbolizer:A,key:"fontWeight"},B);}if(A.fontStyle){this.writeNode("CssParameter",{symbolizer:A,key:"fontStyle"},B);}return B;},Label:function(B){var F=this.createElementNSPlus("sld:Label");var G=B.split("${");F.appendChild(this.createTextNode(G[0]));var E,D;for(var C=1,A=G.length;C<A;C++){E=G[C];D=E.indexOf("}");if(D>0){this.writeNode("ogc:PropertyName",{property:E.substring(0,D)},F);F.appendChild(this.createTextNode(E.substring(++D)));}else{F.appendChild(this.createTextNode("${"+E));}}return F;},Halo:function(A){var B=this.createElementNSPlus("sld:Halo");if(A.haloRadius){this.writeNode("Radius",A.haloRadius,B);}if(A.haloColor||A.haloOpacity){this.writeNode("Fill",{fillColor:A.haloColor,fillOpacity:A.haloOpacity},B);}return B;},Radius:function(A){return node=this.createElementNSPlus("sld:Radius",{value:A});},PolygonSymbolizer:function(A){var B=this.createElementNSPlus("sld:PolygonSymbolizer");if(A.fillColor!=undefined||A.fillOpacity!=undefined){this.writeNode("Fill",A,B);}if(A.strokeWidth!=undefined||A.strokeColor!=undefined||A.strokeOpacity!=undefined||A.strokeDashstyle!=undefined){this.writeNode("Stroke",A,B);}return B;},Fill:function(A){var B=this.createElementNSPlus("sld:Fill");if(A.fillColor){this.writeNode("CssParameter",{symbolizer:A,key:"fillColor"},B);}if(A.fillOpacity!=null){this.writeNode("CssParameter",{symbolizer:A,key:"fillOpacity"},B);}return B;},PointSymbolizer:function(A){var B=this.createElementNSPlus("sld:PointSymbolizer");this.writeNode("Graphic",A,B);return B;},Graphic:function(A){var B=this.createElementNSPlus("sld:Graphic");if(A.externalGraphic!=undefined){this.writeNode("ExternalGraphic",A,B);}else{this.writeNode("Mark",A,B);}if(A.graphicOpacity!=undefined){this.writeNode("Opacity",A.graphicOpacity,B);}if(A.pointRadius!=undefined){this.writeNode("Size",A.pointRadius*2,B);}if(A.rotation!=undefined){this.writeNode("Rotation",A.rotation,B);}return B;},ExternalGraphic:function(A){var B=this.createElementNSPlus("sld:ExternalGraphic");this.writeNode("OnlineResource",A.externalGraphic,B);var C=A.graphicFormat||this.getGraphicFormat(A.externalGraphic);this.writeNode("Format",C,B);return B;},Mark:function(A){var B=this.createElementNSPlus("sld:Mark");if(A.graphicName){this.writeNode("WellKnownName",A.graphicName,B);}this.writeNode("Fill",A,B);this.writeNode("Stroke",A,B);return B;},WellKnownName:function(A){return this.createElementNSPlus("sld:WellKnownName",{value:A});},Opacity:function(A){return this.createElementNSPlus("sld:Opacity",{value:A});},Size:function(A){return this.createElementNSPlus("sld:Size",{value:A});},Rotation:function(A){return this.createElementNSPlus("sld:Rotation",{value:A});},OnlineResource:function(A){return this.createElementNSPlus("sld:OnlineResource",{attributes:{"xlink:type":"simple","xlink:href":A}});},Format:function(A){return this.createElementNSPlus("sld:Format",{value:A});}}},OpenLayers.Format.Filter.v1_0_0.prototype.writers),CLASS_NAME:"OpenLayers.Format.SLD.v1"});OpenLayers.Format.SLD.v1_0_0=OpenLayers.Class(OpenLayers.Format.SLD.v1,{VERSION:"1.0.0",schemaLocation:"http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd",initialize:function(A){OpenLayers.Format.SLD.v1.prototype.initialize.apply(this,[A]);},CLASS_NAME:"OpenLayers.Format.SLD.v1_0_0"});