/*
 Apache 2 

 Contains portions of Rico <http://openrico.org/>

 Copyright 2005 Sabre Airline Solutions  

 Licensed under the Apache License, Version 2.0 (the "License"); you
 may not use this file except in compliance with the License. You
 may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0  

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 implied. See the License for the specific language governing
 permissions and limitations under the License. 
*/
var Fusion={singleFile:!0},Jx={};Object.inheritFrom=function(a,b,d){b="function"==typeof b?b.prototype:b;for(property in b)"undefined"==typeof a[property]&&(a[property]=b[property]);b.initialize&&b.initialize.apply(a,d)};
(function(){var a="object"==typeof Fusion&&Fusion.singleFile;window.Fusion={Tool:{},Widget:{},Event:{lastEventId:1},Lib:{},Layers:{},Constant:{},applicationDefinition:null,sRedirectScript:"",bForceRedirect:!1,sScriptLang:"php",locale:"en",Strings:{},fusionURL:null,configuration:null,oBroker:null,aScripts:[],aLoadingScripts:[],loadState:null,UNLOADED:0,LOAD_CONFIG:1,LOAD_WIDGETS:2,LOAD_COMPLETE:3,UNKNOWN:0,INCHES:1,FEET:2,YARDS:3,MILES:4,NAUTICALMILES:5,MILLIMETERS:6,CENTIMETERS:7,METERS:8,KILOMETERS:9,
DEGREES:10,DECIMALDEGREES:11,DMS:12,PIXELS:13,aUnitPerMeter:[1,39.37,3.2808,1.0936133,6.2137E-4,5.39956803E-4,1E3,100,1,0.001,9.044E-6,9.044E-6,9.044E-6,1],aMeterPerUnit:[1,0.0254,0.3048,0.9144,1609.344,1852,0.001,0.01,1,1E3,111061.75033,111061.75033,111061.75033,1],aUnitNames:"Unknown;Inches;Feet;Yards;Miles;Nautical Miles;Millimeters;Centimeters;Meters;Kilometers;Degrees;Decimal Degrees;Degrees Minutes Seconds;Pixels".split(";"),aUnitAbbr:"unk in ft yd mi nm mm cm m km &deg; &deg; &deg; px".split(" "),
initialize:function(b){TraceKit.remoteFetching=!a;TraceKit.report.subscribe(OpenLayers.Function.bind(this.onTraceKitError,this));b=b||{};this.sessionId=this.getQueryParam("Session")||b.sessionId||this.sessionId;if(b.applicationDefinitionURL)this.applicationDefinitionURL=b.applicationDefinitionURL;else{var d=this.getQueryParam("ApplicationDefinition");d?(this.applicationDefinitionURL=d.split("+").join(" "),this.appDefJson=null):this.applicationDefinitionURL="ApplicationDefinition.xml"}Fusion._singleFile&&
(OpenLayers._getScriptLocation=function(){return Fusion.fusionURL+"lib/OpenLayers/"});this.initializeLocale();b=window.location.protocol+"//"+window.location.host;d="config.json";(0>this.fusionURL.indexOf("http://")||0==this.fusionURL.indexOf(b,0))&&!this.bForceRedirect?this.sRedirectScript="":(this.sRedirectScript="redirect.php",d+="&method=get");Fusion.configuration?this.serverSet():(b={onSuccess:OpenLayers.Function.bind(this.getConfigCB,this),onFailure:OpenLayers.Function.bind(this.serverFailed,
this),method:"get"},this.ajaxRequest(d,b))},initializeLocale:function(a){OpenLayers.Lang.setCode(a?a:window._FusionLocale);this.locale=OpenLayers.Lang.code;OpenLayers.Lang[this.locale]||(OpenLayers.Lang[this.locale]=OpenLayers.Lang[OpenLayers.Lang.defaultCode]);Fusion.Strings[this.locale]||(Fusion.Strings[this.locale]=Fusion.Strings[OpenLayers.Lang.defaultCode]);OpenLayers.Lang[this.locale]=OpenLayers.Util.extend(OpenLayers.Lang[this.locale],Fusion.Strings[this.locale])},onTraceKitError:function(a){Fusion.reportError(new Fusion.DetailedError(a))},
setLoadState:function(a){this.loadState=a;switch(a){case this.LOAD_CONFIG:this.loadConfig();break;case this.LOAD_WIDGETS:this.loadQueuedScripts();break;case this.LOAD_COMPLETE:this.applicationDefinition?(this.applicationDefinition.create(),this.triggerEvent(Fusion.Event.FUSION_INITIALIZED)):Fusion.reportFatalError("failed to create AppDef object")}},loadQueuedScripts:function(){if(0==this.aScripts.length)this.setLoadState(this.LOAD_COMPLETE);else{this.aLoadingScripts=[];for(var a=0;a<this.aScripts.length;a++)this.aLoadingScripts[a]=
this.aScripts[a];this.aScripts=[];for(var b=[],a=0;a<this.aLoadingScripts.length;a++)b[a]=this.aLoadingScripts[a];for(a=0;a<b.length;a++)document.getElementsByTagName("head")[0].appendChild(b[a]);this.checkLoadInterval=window.setInterval(OpenLayers.Function.bind(this.checkLoadingScripts,this),500)}},queueScript:function(a){if(!document.getElementById(a)&&!this.aScripts[a]){var b=document.createElement("script");b.defer=!1;b.type="text/javascript";b.id=a;b.src=this.getFusionURL()+a;b.onload=OpenLayers.Function.bind(this.scriptLoaded,
this,a);b.onerror=OpenLayers.Function.bind(this.scriptFailed,this,b.src);this.aScripts[a]=b;this.aScripts.push(b)}},scriptFailed:function(a){Fusion.reportFatalError(OpenLayers.i18n("scriptFailed",{script:a}))},scriptLoaded:function(a){for(var b=0;b<this.aLoadingScripts.length;b++)this.aLoadingScripts[b].id==a&&this.aLoadingScripts.splice(b,1);0==this.aLoadingScripts.length&&(window.clearInterval(this.checkLoadInterval),0<this.aScripts.length?this.loadQueuedScripts():this.setLoadState(this.LOAD_COMPLETE))},
checkLoadingScripts:function(){if(0==this.aLoadingScripts.length)window.clearInterval(this.checkLoadInterval);else for(var a=navigator.userAgent.toLowerCase(),b=this.aLoadingScripts.length-1;0<=b;b--){var d=this.aLoadingScripts[b];-1!=a.indexOf("safari")?(d=d.id.substring(d.id.lastIndexOf("/")+1,d.id.indexOf(".js")),eval("b = typeof Fusion.Widget."+d+' == "function";')):"loaded"!=d.readyState&&"complete"!=d.readyState||this.scriptLoaded(d.id)}},loadConfig:function(){var a=this.getConfigurationItem("mapguide",
"mapAgentUrl");a&&(this.oBroker=new Fusion.Lib.MGBroker,this.sRedirectScript?(a=this.sRedirectScript+"?s="+a,this.oBroker.method="post"):this.oBroker.method="get",this.oBroker.setSiteURL(a,"Anonymous",""));this.applicationDefinition=new Fusion.Lib.ApplicationDefinition(this.sessionId);Fusion.appDefJson&&Fusion.setLoadState(Fusion.LOAD_WIDGETS)},getConfigCB:function(a){a.responseText?(eval("this.configuration="+a.responseText),this.serverSet()):alert(OpenLayers.i18n("configParseError"))},serverSet:function(){var a=
this.configuration.mapguide.webTierUrl;a?"/"!=a.charAt(a.length-1)&&(a+="/"):(a=this.fusionURL.lastIndexOf("fusion"),a=-1==a?this.fusionURL+"../":this.fusionURL.substring(0,a));this.configuration.mapguide.webTierUrl=a;this.configuration.mapguide.mapAgentUrl=a+"mapagent/mapagent.fcgi";this.setLoadState(this.LOAD_CONFIG)},serverFailed:function(a){alert(OpenLayers.i18n("configLoadError"))},ajaxRequest:function(a,b){var d=this.getRedirectScript();""!=d&&(d+="?s=");d=d+this.getFusionURL()+a;b.onException||
(b.onException=OpenLayers.Function.bind(this.ajaxException,this));b.onFailure||(b.onFailure=OpenLayers.Function.bind(this.ajaxException,this));b.contentType||(b.contentType="application/x-www-form-urlencoded");b.parameters&&"string"==typeof b.parameters&&0>b.parameters.indexOf("?")&&(b.parameters="?"+b.parameters);new OpenLayers.Ajax.Request(d,b)},ajaxException:function(a,b){try{throw Error(OpenLayers.i18n("ajaxError",{exception:b.message,filename:b.fileName,line:b.lineNumber,response:a.transport.responseText,
innerStack:b.stack||""}));}catch(d){TraceKit.report(d)}},getXmlAsJson:function(a,b){var d={method:"get",onSuccess:OpenLayers.Function.bind(this.xml2json,this,b),onFailure:OpenLayers.Function.bind(this.ajaxException,this)};new OpenLayers.Ajax.Request(a,d)},parseJSON:function(a){var b;"undefined"!=typeof JSON&&null!=JSON.parse?b=JSON.parse(a):eval("o="+a);return b},trim:function(a){return"undefined"==typeof String.prototype.trim?a.replace(/^\s+|\s+$/g,""):a.trim()},xml2json:function(a,b,d){d?(b=Fusion.parseJSON(b.responseText),
a(b)):400<=b.status?(a=b.transport.responseText,""==a&&(a=OpenLayers.i18n("serverNotAvailable")),Fusion.reportFatalError(OpenLayers.i18n("invalidXMLDocument",{msg:a,url:b.request.url}))):(a={onSuccess:a,method:"post",parameters:{xml:encodeURIComponent(b.responseText)}},b=Fusion.getScriptLanguage(),Fusion.ajaxRequest("common/"+b+"/Xml2JSON."+b,a))},getMapByName:function(a){var b=null;this.applicationDefinition&&(b=this.applicationDefinition.getMapByName(a));return b},getMapById:function(a){var b=null;
this.applicationDefinition&&(b=this.applicationDefinition.getMapById(a));return b},getMapByIndice:function(a){var b=null;this.applicationDefinition&&(b=this.applicationDefinition.getMapByIndice(a));return b},getWidgetById:function(a){return(a=$(a))&&a.widget?a.widget:null},getWidgetsByType:function(a){var b=[];this.applicationDefinition&&(b=this.applicationDefinition.getWidgetsByType(a));return b},getSearchDefinitions:function(){return this.applicationDefinition?this.applicationDefinition.searchDefinitions:
{}},getSearchCategories:function(){return this.applicationDefinition?this.applicationDefinition.searchCategories:{}},getApplicationDefinitionURL:function(){return this.applicationDefinitionURL},getApplicationURL:function(){var a=window.location.pathname,b=a.lastIndexOf("/");0<=b&&(a=a.substr(0,b+1));return window.location.protocol+"//"+window.location.host+a},getFusionURL:function(){return this.fusionURL},getConfigurationItem:function(a,b){return this.configuration[a]&&"undefined"!=this.configuration[a][b]?
this.configuration[a][b]:null},getScriptLanguage:function(){return this.configuration.general.scriptLanguage},getRedirectScript:function(){return this.sRedirectScript},getBroker:function(){return this.oBroker},require:function(a){this.queueScript(a)},reportFatalError:function(a){try{throw Error(a);}catch(b){TraceKit.report(b)}},reportError:function(a){this.triggerEvent(Fusion.Event.FUSION_ERROR,a)},unitFromName:function(a){switch(a.toLowerCase()){case "unknown":return Fusion.UNKNOWN;case "inches":case "inch":case "in":return Fusion.INCHES;
case "feet":case "ft":return Fusion.FEET;case "yards":case "yard":case "yd":return Fusion.YARDS;case "miles":case "mile":case "mi":return Fusion.MILES;case "nautical miles":case "nautical mile":case "nm":return Fusion.NAUTICALMILES;case "millimeters":case "millimeter":case "mm":return Fusion.MILLIMETERS;case "centimeters":case "centimeter":case "cm":return Fusion.CENTIMETERS;case "meters":case "meter":case "m":return Fusion.METERS;case "kilometers":case "kilometer":case "km":return Fusion.KILOMETERS;
case "degrees":case "degree":case "deg":return Fusion.DEGREES;case "decimal degrees":case "dd":return Fusion.DECIMALDEGREES;case "degrees minutes seconds":case "dms":return Fusion.DMS;case "pixels":case "pixel":case "px":return Fusion.PIXELS;default:return Fusion.UNKNOWN}},unitSystem:function(a){switch(a){case Fusion.INCHES:case Fusion.FEET:case Fusion.YARDS:case Fusion.MILES:case Fusion.NAUTICALMILES:return"imperial";case Fusion.MILLIMETERS:case Fusion.CENTIMETERS:case Fusion.METERS:case Fusion.KILOMETERS:return"metric";
case Fusion.DEGREES:case Fusion.DECIMALDEGREES:case Fusion.DMS:return"deg";default:return"device"}},unitName:function(a){return a>=Fusion.UNKNOWN&&a<=Fusion.PIXELS?Fusion.aUnitNames[a]:"Unknown"},unitAbbr:function(a){return a>=Fusion.UNKNOWN&&a<=Fusion.PIXELS?Fusion.aUnitAbbr[a]:"Unk"},toMeter:function(a,b){return a==Fusion.UNKNOWN?b:a>Fusion.UNKNOWN&&a<Fusion.PIXELS?Fusion.aMeterPerUnit[a]*b:!1},fromMeter:function(a,b){return a==Fusion.UNKNOWN?b:a>Fusion.UNKNOWN&&a<Fusion.PIXELS?Fusion.aUnitPerMeter[a]*
b:!1},convert:function(a,b,d){return a>=Fusion.UNKNOWN&&a<Fusion.PIXELS&&b>=Fusion.UNKNOWN&&b<Fusion.PIXELS?Fusion.fromMeter(b,Fusion.toMeter(a,d)):!1},initUnits:function(a){if(1E3>Math.abs(a-Fusion.aMeterPerUnit[Fusion.DEGREES])){Fusion.aMeterPerUnit[Fusion.DEGREES]=a;Fusion.aMeterPerUnit[Fusion.DECIMALDEGREES]=a;Fusion.aMeterPerUnit[Fusion.DMX]=a;var b=1/a;Fusion.aUnitPerMeter[Fusion.DEGREES]=b;Fusion.aUnitPerMeter[Fusion.DECIMALDEGREES]=b;Fusion.aUnitPerMeter[Fusion.DMX]=b;a*=OpenLayers.INCHES_PER_UNIT.m;
OpenLayers.INCHES_PER_UNIT.dd=a;OpenLayers.INCHES_PER_UNIT.degrees=a;OpenLayers.INCHES_PER_UNIT.Degree=a}},getClosestUnits:function(a){var b="degrees",d=1E8,e;for(e in OpenLayers.INCHES_PER_UNIT){var f=Math.abs(39.3701*a-OpenLayers.INCHES_PER_UNIT[e]);f<d&&(d=f,b=e)}return b},addWidgetStyleSheet:function(a){var b=document.createElement("link");document.getElementsByTagName("HEAD")[0].insertBefore(b,Fusion._scriptObject);b.type="text/css";b.rel="stylesheet";b.href=Fusion.getFusionURL()+a},parseQueryString:function(){this.queryParams=
[];var a=window.location.search;if(""!=a)for(var a=a.substring(1),a=a.split("&"),b=0;b<a.length;b++){var d=a[b].split("=");this.queryParams[d[0].toLowerCase()]=decodeURIComponent(d[1])}return this.queryParams},getQueryParam:function(a){this.queryParams||this.parseQueryString();a=a.toLowerCase();return this.queryParams[a]&&"string"==typeof this.queryParams[a]?this.queryParams[a]:""},_scriptName:"lib/fusionSF",_getScriptLocation:function(){Fusion.fusionURL=null;for(var a=Fusion._scriptName,b=document.getElementsByTagName("script"),
d=0;d<b.length;d++){var e=b[d].getAttribute("src");if(e){var f=e.lastIndexOf(a);if(-1<f){Fusion._scriptObject=b[d];a=document.createElement("img");a.src=e.slice(0,f)+"lib/a_pixel.png";e=a.src;f=e.lastIndexOf("lib/a_pixel.png");Fusion.fusionURL=e.slice(0,f);Fusion.aPixel=a;break}}}if(this.fusionURL)return Fusion.fusionURL;alert("failed to determine fusionURL using script name "+Fusion._scriptName+".  Initialization aborted")}};Fusion._singleFile=a;var b=Fusion._getScriptLocation();Jx.aPixel=Fusion.aPixel;
var d=function(){try{return new XMLHttpRequest}catch(a){try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(b){try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(d){return null}}}},e=navigator.language?navigator.language.substring(0,2):navigator.userLanguage.substring(0,2),f=window.location.search,g=f.indexOf("locale=");0<g?(e=f.substring(g+7),f=e.indexOf("&"),e=e.substring(0,0>f?e.length:f)):0<navigator.userAgent.indexOf("MSIE")&&(f=d(),f.open("GET",Fusion.fusionURL+"common/php/GetLocale.php",
!1),f.send(null),200==f.status&&(f=f.responseText,2<=f.length&&(e=f.substring(0,2))));window._FusionLocale=e;if(!Fusion._singleFile){f="lib/TraceKit/TraceKit.js lib/jxLib/jxlib.uncompressed.js lib/Proj4js/proj4js-combined.js layers/MapGuide/php/csmap2proj4.js lib/OpenLayers/OpenLayers.js lib/EventMgr.js lib/Error.js lib/ApplicationDefinition.js lib/MGBroker.js lib/Widget.js lib/Map.js lib/MapMessage.js layers/Layers.js lib/Search.js text/en.json".split(" ");"en"!=e&&(f.push("lib/OpenLayers/Lang/"+
e+".js"),f.push("text/"+e+".json"));e=Array(f.length);for(g=0;g<f.length;g++)e[g]="<script src='"+b+f[g]+"'>\x3c/script>";document.write(e.join(""))}var h=function(){var a=Fusion._getScriptLocation(),b=window.location.protocol+"//"+window.location.host,a="config.json";(0>Fusion.fusionURL.indexOf("http://")||0==Fusion.fusionURL.indexOf(b,0))&&!Fusion.bForceRedirect?Fusion.sRedirectScript="":(Fusion.sRedirectScript="redirect.php",a+="&method=get");b=Fusion.getRedirectScript();""!=b&&(b+="?s=");a=b+
Fusion.getFusionURL()+a;b=d();b.open("GET",a,!1);b.send(null);eval("Fusion.configuration="+b.responseText);(a=Fusion.configuration.mapguide.webTierUrl)?"/"!=a.charAt(a.length-1)&&(a+="/"):(a=Fusion.fusionURL.lastIndexOf("fusion"),a=-1==a?Fusion.fusionURL+"../":Fusion.fusionURL.substring(0,a));Fusion.configuration.mapguide.mapAgentUrl=a+"mapagent/mapagent.fcgi";return Fusion.configuration.mapguide.mapAgentUrl},l=function(a){if(a){var b=a.textContent;b||(b=a.text);document.writeln('<script src="'+b+
'">\x3c/script>')}},b=function(a,b){var e=d(),f=Fusion.fusionURL+"layers/MapGuide/php/CreateSession.php";null!=a&&""!=a&&(f+="?username="+a,null!=b&&""!=b&&(f+="&password="+b));e.open("GET",f,!1);e.send(null);e=Fusion.parseJSON(e.responseText);Fusion.sessionId=e.sessionId;e=e.siteVersion.split(".");Fusion.siteVersion=[parseInt(e[0]),parseInt(e[1]),parseInt(e[2]),parseInt(e[3])]};!(e=Fusion.getQueryParam("ApplicationDefinition"))||0!=e.indexOf("Library")&&0!=e.indexOf("Session")||(f=function(a){var b=
new d,e=h();b.open("GET",e+"?OPERATION=GETSITEVERSION&VERSION=1.0.0&LOCALE=en&CLIENTAGENT=MapGuide+Developer&SESSION="+a,!1);b.send(null);a=b.responseXML.documentElement.getElementsByTagName("Version")[0];a=(a.textContent||a.text).split(".");return[parseInt(a[0]),parseInt(a[1]),parseInt(a[2]),parseInt(a[3])]},g=Fusion.getQueryParam("Session"),null==g||""==g?b(Fusion.getQueryParam("Username"),Fusion.getQueryParam("Password")):(Fusion.sessionId=g,Fusion.siteVersion=f(g)),function(a,b){var e=new d,f=
h();e.open("GET",f+"?OPERATION=GETRESOURCECONTENT&VERSION=1.0.0&LOCALE=en&CLIENTAGENT=MapGuide+Developer&RESOURCEID="+a+"&FORMAT=text%2Fxml&SESSION="+b,!1);e.send(null);var g=e.responseXML.documentElement;if(g){var e=g.getElementsByTagName("GoogleScript")[0],f=g.getElementsByTagName("YahooScript")[0],v=g.getElementsByTagName("VirtualEarthScript")[0],g=g.getElementsByTagName("OpenStreetMapScript")[0];l(e);l(f);l(v);l(g)}}(e,Fusion.sessionId))})();
(function(a,b){var d={},e=a.TraceKit,f=[].slice,g="?";d.noConflict=function(){a.TraceKit=e;return d};d.wrap=function(a){return function(){try{return a.apply(this,arguments)}catch(b){throw d.report(b),b;}}};d.report=function(){function b(a,e){var g=null;if(!e||d.collectWindowErrors){for(var h in q)if(Object.prototype.hasOwnProperty.call(q,h))try{q[h].apply(null,[a].concat(f.call(arguments,2)))}catch(l){g=l}if(g)throw g;}}function e(a,f,g){var l=null;u?(d.computeStackTrace.augmentStackTraceWithInitialElement(u,
f,g,a),l=u,r=u=null):(l={url:f,line:g},l.func=d.computeStackTrace.guessFunctionName(l.url,l.line),l.context=d.computeStackTrace.gatherContext(l.url,l.line),l={mode:"onerror",message:a,url:document.location.href,stack:[l],useragent:navigator.userAgent});b(l,"from window.onerror");return z?z.apply(this,arguments):!1}function g(e){var l=f.call(arguments,1);if(u){if(r===e)return;var q=u;r=u=null;b.apply(null,[q,null].concat(l))}var m=d.computeStackTrace(e);u=m;r=e;a.setTimeout(function(){r===e&&(r=u=
null,b.apply(null,[m,null].concat(l)))},m.incomplete?2E3:0);throw e;}var q=[],r=null,u=null,z,v;g.subscribe=function(b){!0!==v&&(z=a.onerror,a.onerror=e,v=!0);q.push(b)};g.unsubscribe=function(a){for(var b=q.length-1;0<=b;--b)q[b]===a&&q.splice(b,1)};return g}();d.computeStackTrace=function(){function b(e){if(!Object.prototype.hasOwnProperty.call(F,e)){var f="";if(-1!==e.indexOf(document.domain))if(d.remoteFetching)try{var g;try{g=new a.XMLHttpRequest}catch(h){g=new a.ActiveXObject("Microsoft.XMLHTTP")}g.open("GET",
e,!1);g.send("");f=g.responseText}catch(l){f=""}else f="";F[e]=f?f.split("\n"):[]}return F[e]}function e(a,d){var f=/function ([^(]*)\(([^)]*)\)/,l=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,q="",m=b(a),r;if(!m.length)return g;for(var u=0;10>u;++u)if(q=m[d-u]+q,"undefined"!==typeof q&&((r=l.exec(q))||(r=f.exec(q))))return r[1];return g}function f(a,e){var g=b(a);if(!g.length)return null;for(var l=[],q=Math.floor(d.linesOfContext/2),m=q+d.linesOfContext%2,q=Math.max(0,e-q-1),
m=Math.min(g.length,e+m-1);q<m;++q)"undefined"!==typeof g[q]&&l.push(g[q]);return 0<l.length?l:null}function q(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function r(a){return q(a).replace("<","(?:<|&lt;)").replace(">","(?:>|&gt;)").replace("&","(?:&|&amp;)").replace('"','(?:"|&quot;)').replace(/\s+/g,"\\s+")}function u(a,d){for(var e,f,g=0,l=d.length;g<l;++g)if((e=b(d[g])).length&&(e=e.join("\n"),f=a.exec(e)))return{url:d[g],line:e.substring(0,f.index).split("\n").length,column:f.index-
e.lastIndexOf("\n",f.index)-1};return null}function z(a,d,e){d=b(d);a=RegExp("\\b"+q(a)+"\\b");var f;e-=1;return d&&d.length>e&&(f=a.exec(d[e]))?f.index:null}function v(b){var d=[a.location.href],e=document.getElementsByTagName("script");b=""+b;var f;for(f=0;f<e.length;++f){var g=e[f];g.src&&d.push(g.src)}(e=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/.exec(b))?(f=e[1]?"\\s+"+e[1]:"",g=e[2].split(",").join("\\s*,\\s*"),e=q(e[3]).replace(/;$/,";?"),f=RegExp("function"+
f+"\\s*\\(\\s*"+g+"\\s*\\)\\s*{\\s*"+e+"\\s*}")):f=RegExp(q(b).replace(/\s+/g,"\\s+"));if(f=u(f,d))return f;if(e=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/.exec(b)){b=e[1];e=r(e[2]);f=RegExp("on"+b+"=[\\'\"]\\s*"+e+"\\s*[\\'\"]","i");if(f=u(f,d[0]))return f;f=RegExp(e);if(f=u(f,d))return f}return null}function B(a,b,d,g){b={url:b,line:d};if(b.url&&b.line){a.incomplete=!1;b.func||(b.func=e(b.url,b.line));b.context||(b.context=f(b.url,b.line));if(g=/ '([^']+)' /.exec(g))b.column=
z(g[1],b.url,b.line);if(0<a.stack.length&&a.stack[0].url===b.url){if(a.stack[0].line===b.line)return!1;if(!a.stack[0].line&&a.stack[0].func===b.func)return a.stack[0].line=b.line,a.stack[0].context=b.context,!1}a.stack.unshift(b);return a.partial=!0}a.incomplete=!0;return!1}function D(a,b){for(var f=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,h=[],q={},m=!1,r,u,E=D.caller;E&&!m;E=E.caller)if(E!==C&&E!==d.report){u={url:null,func:g,line:null,column:null};if(E.name)u.func=E.name;
else if(r=f.exec(E.toString()))u.func=r[1];if(r=v(E)){u.url=r.url;u.line=r.line;u.func===g&&(u.func=e(u.url,u.line));var F=/ '([^']+)' /.exec(a.message||a.description);F&&(u.column=z(F[1],r.url,r.line))}q[""+E]?m=!0:q[""+E]=!0;h.push(u)}b&&h.splice(0,b);f={mode:"callers",name:a.name,message:a.message,url:document.location.href,stack:h,useragent:navigator.userAgent};B(f,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description);return f}function C(d,q){var B=null;q=null==q?0:+q;try{for(var v=
/ line (\d+), column (\d+) in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\) in (.*):\s*$/i,C=d.stacktrace.split("\n"),F=[],K,R=0,aa=C.length;R<aa;R+=2)if(K=v.exec(C[R])){var L={line:+K[1],column:+K[2],func:K[3]||K[4],args:K[5]?K[5].split(","):[],url:K[6]};!L.func&&L.line&&(L.func=e(L.url,L.line));if(L.line)try{L.context=f(L.url,L.line)}catch(ja){}L.context||(L.context=[C[R+1]]);F.push(L)}B=F.length?{mode:"stacktrace",name:d.name,message:d.message,url:document.location.href,stack:F,useragent:navigator.userAgent}:
null;if(B)return B}catch(ba){if(E)throw ba;}try{if(d.stack){var v=/^\s*at (?:((?:\[object object\])?\S+(?: \[as \S+\])?) )?\(?((?:file|http|https):.*?):(\d+)(?::(\d+))?\)?\s*$/i,C=/^\s*(\S*)(?:\((.*?)\))?@((?:file|http|https).*?):(\d+)(?::(\d+))?\s*$/i,S=d.stack.split("\n"),F=[],H,I,Q=/^(.*) is undefined$/.exec(d.message);K=0;for(var U=S.length;K<U;++K){if(H=C.exec(S[K]))I={url:H[3],func:H[1]||g,args:H[2]?H[2].split(","):"",line:+H[4],column:H[5]?+H[5]:null};else if(H=v.exec(S[K]))I={url:H[2],func:H[1]||
g,line:+H[3],column:H[4]?+H[4]:null};else continue;!I.func&&I.line&&(I.func=e(I.url,I.line));I.line&&(I.context=f(I.url,I.line));F.push(I)}F[0]&&F[0].line&&!F[0].column&&Q&&(F[0].column=z(Q[1],F[0].url,F[0].line));B=F.length?{mode:"stack",name:d.name,message:d.message,url:document.location.href,stack:F,useragent:navigator.userAgent}:null}else B=null;if(B)return B}catch(ca){if(E)throw ca;}try{var N=d.message.split("\n");if(4>N.length)B=null;else{S=/^\s*Line (\d+) of linked script ((?:file|http|https)\S+)(?:: in function (\S+))?\s*$/i;
H=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|http|https)\S+)(?:: in function (\S+))?\s*$/i;I=/^\s*Line (\d+) of function script\s*$/i;var Q=[],G=document.getElementsByTagName("script"),U=[],M,J,V,O;for(J in G)Object.prototype.hasOwnProperty.call(G,J)&&!G[J].src&&U.push(G[J]);J=2;for(V=N.length;J<V;J+=2){G=null;if(M=S.exec(N[J]))G={url:M[2],func:M[3],line:+M[1]};else if(M=H.exec(N[J])){var G={url:M[3],func:M[4]},da=+M[1],W=U[M[2]-1];if(W&&(O=b(G.url))){O=O.join("\n");var Y=O.indexOf(W.innerText);
0<=Y&&(G.line=da+O.substring(0,Y).split("\n").length)}}else if(M=I.exec(N[J])){var Z=a.location.href.replace(/#.*$/,""),ea=M[1],fa=RegExp(r(N[J+1]));O=u(fa,[Z]);G={url:Z,line:O?O.line:ea,func:""}}if(G){G.func||(G.func=e(G.url,G.line));var T=f(G.url,G.line),ga=T?T[Math.floor(T.length/2)]:null;T&&ga.replace(/^\s*/,"")===N[J+1].replace(/^\s*/,"")?G.context=T:G.context=[N[J+1]];Q.push(G)}}B=Q.length?{mode:"multiline",name:d.name,message:N[0],url:document.location.href,stack:Q,useragent:navigator.userAgent}:
null}if(B)return B}catch(ha){if(E)throw ha;}try{if(B=D(d,q+1))return B}catch(ia){if(E)throw ia;}return{mode:"failed"}}var E=!1,F={};C.augmentStackTraceWithInitialElement=B;C.guessFunctionName=e;C.gatherContext=f;C.ofCaller=function(a){try{throw Error();}catch(b){return C(b,(null==a?0:+a)+2)}};return C}();(function(){var b=function(b){var e=a[b];a[b]=function(){var a=f.call(arguments),b=a[0];"function"===typeof b&&(a[0]=d.wrap(b));return e.apply?e.apply(this,a):e(a[0],a[1])}};b("setTimeout");b("setInterval")})();
d.remoteFetching||(d.remoteFetching=!0);d.collectWindowErrors||(d.collectWindowErrors=!0);if(!d.linesOfContext||1>d.linesOfContext)d.linesOfContext=11;a.TraceKit=d})(window);
var MooTools={version:"1.2.6",build:"a3be7a0ef5205eb655c4ee11e8cbedcb3f2ffa95"},Native=function(a){a=a||{};var b=a.name,d=a.legacy,e=a.protect,f=a.implement,g=a.generics,h=a.initialize,l=a.afterImplement||function(){};a=h||d;g=!1!==g;a.constructor=Native;a.$family={name:"native"};d&&h&&(a.prototype=d.prototype);a.prototype.constructor=a;b&&(b=b.toLowerCase(),a.prototype.$family={name:b},Native.typize(a,b));var m=function(a,b,d,f){e&&!f&&a.prototype[b]||(a.prototype[b]=d);g&&Native.genericize(a,b,
e);l.call(a,b,d);return a};a.alias=function(a,b,d){if("string"==typeof a&&(a=this.prototype[a]))return m(this,b,a,d);for(var e in a)this.alias(e,a[e],b);return this};a.implement=function(a,b,d){if("string"==typeof a)return m(this,a,b,d);for(var e in a)m(this,e,a[e],b);return this};f&&a.implement(f);return a};Native.genericize=function(a,b,d){d&&a[b]||"function"!=typeof a.prototype[b]||(a[b]=function(){var d=Array.prototype.slice.call(arguments);return a.prototype[b].apply(d.shift(),d)})};
Native.implement=function(a,b){for(var d=0,e=a.length;d<e;d++)a[d].implement(b)};Native.typize=function(a,b){a.type||(a.type=function(a){return $type(a)===b})};
(function(){var a={Array:Array,Date:Date,Function:Function,Number:Number,RegExp:RegExp,String:String},b;for(b in a)new Native({name:b,initialize:a[b],protect:!0});b={"boolean":Boolean,"native":Native,object:Object};for(var d in b)Native.typize(b[d],d);d={Array:"concat indexOf join lastIndexOf pop push reverse shift slice sort splice toString unshift valueOf".split(" "),String:"charAt charCodeAt concat indexOf lastIndexOf match replace search slice split substr substring toLowerCase toUpperCase valueOf".split(" ")};
for(var e in d)for(b=d[e].length;b--;)Native.genericize(a[e],d[e][b],!0)})();var Hash=new Native({name:"Hash",initialize:function(a){"hash"==$type(a)&&(a=$unlink(a.getClean()));for(var b in a)this[b]=a[b];return this}});Hash.implement({forEach:function(a,b){for(var d in this)this.hasOwnProperty(d)&&a.call(b,this[d],d,this)},getClean:function(){var a={},b;for(b in this)this.hasOwnProperty(b)&&(a[b]=this[b]);return a},getLength:function(){var a=0,b;for(b in this)this.hasOwnProperty(b)&&a++;return a}});
Hash.alias("forEach","each");Array.implement({forEach:function(a,b){for(var d=0,e=this.length;d<e;d++)a.call(b,this[d],d,this)}});Array.alias("forEach","each");function $A(a){if(a.item){for(var b=a.length,d=Array(b);b--;)d[b]=a[b];return d}return Array.prototype.slice.call(a)}function $arguments(a){return function(){return arguments[a]}}function $chk(a){return!(!a&&0!==a)}function $clear(a){clearTimeout(a);clearInterval(a);return null}function $defined(a){return void 0!=a}
function $each(a,b,d){var e=$type(a);("arguments"==e||"collection"==e||"array"==e?Array:Hash).each(a,b,d)}function $empty(){}function $extend(a,b){for(var d in b||{})a[d]=b[d];return a}function $H(a){return new Hash(a)}function $lambda(a){return"function"==$type(a)?a:function(){return a}}function $merge(){var a=Array.slice(arguments);a.unshift({});return $mixin.apply(null,a)}
function $mixin(a){for(var b=1,d=arguments.length;b<d;b++){var e=arguments[b];if("object"==$type(e))for(var f in e){var g=e[f],h=a[f];a[f]=h&&"object"==$type(g)&&"object"==$type(h)?$mixin(h,g):$unlink(g)}}return a}function $pick(){for(var a=0,b=arguments.length;a<b;a++)if(void 0!=arguments[a])return arguments[a];return null}function $random(a,b){return Math.floor(Math.random()*(b-a+1)+a)}function $splat(a){var b=$type(a);return b?"array"!=b&&"arguments"!=b?[a]:a:[]}var $time=Date.now||function(){return+new Date};
function $try(){for(var a=0,b=arguments.length;a<b;a++)try{return arguments[a]()}catch(d){}return null}function $type(a){if(void 0==a)return!1;if(a.$family)return"number"!=a.$family.name||isFinite(a)?a.$family.name:!1;if(a.nodeName)switch(a.nodeType){case 1:return"element";case 3:return/\S/.test(a.nodeValue)?"textnode":"whitespace"}else if("number"==typeof a.length){if(a.callee)return"arguments";if(a.item)return"collection"}return typeof a}
function $unlink(a){var b;switch($type(a)){case "object":b={};for(var d in a)b[d]=$unlink(a[d]);break;case "hash":b=new Hash(a);break;case "array":b=[];d=0;for(var e=a.length;d<e;d++)b[d]=$unlink(a[d]);break;default:return a}return b}
var Browser=$merge({Engine:{name:"unknown",version:0},Platform:{name:void 0!=window.orientation?"ipod":(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase()},Features:{xpath:!!document.evaluate,air:!!window.runtime,query:!!document.querySelector},Plugins:{},Engines:{presto:function(){return window.opera?arguments.callee.caller?960:document.getElementsByClassName?950:925:!1},trident:function(){return window.ActiveXObject?window.XMLHttpRequest?document.querySelectorAll?6:5:4:!1},
webkit:function(){return navigator.taintEnabled?!1:Browser.Features.xpath?Browser.Features.query?525:420:419},gecko:function(){return document.getBoxObjectFor||null!=window.mozInnerScreenX?document.getElementsByClassName?19:18:!1}}},Browser||{});Browser.Platform[Browser.Platform.name]=!0;Browser.detect=function(){for(var a in this.Engines){var b=this.Engines[a]();if(b){this.Engine={name:a,version:b};this.Engine[a]=this.Engine[a+b]=!0;break}}return{name:a,version:b}};Browser.detect();
Browser.Request=function(){return $try(function(){return new XMLHttpRequest},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")})};Browser.Features.xhr=!!Browser.Request();
Browser.Plugins.Flash=function(){var a=($try(function(){return navigator.plugins["Shockwave Flash"].description},function(){return(new ActiveXObject("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version")})||"0 r0").match(/\d+/g);return{version:parseInt(a[0]||"0."+a[1],10)||0,build:parseInt(a[2],10)||0}}();
function $exec(a){if(!a)return a;if(window.execScript)window.execScript(a);else{var b=document.createElement("script");b.setAttribute("type","text/javascript");b[Browser.Engine.webkit&&420>Browser.Engine.version?"innerText":"text"]=a;document.head.appendChild(b);document.head.removeChild(b)}return a}Native.UID=1;
var $uid=Browser.Engine.trident?function(a){return(a.uid||(a.uid=[Native.UID++]))[0]}:function(a){return a.uid||(a.uid=Native.UID++)},Window=new Native({name:"Window",legacy:Browser.Engine.trident?null:window.Window,initialize:function(a){$uid(a);a.Element||(a.Element=$empty,Browser.Engine.webkit&&a.document.createElement("iframe"),a.Element.prototype=Browser.Engine.webkit?window["[[DOMElement.prototype]]"]:{});a.document.window=a;return $extend(a,Window.Prototype)},afterImplement:function(a,b){window[a]=
Window.Prototype[a]=b}});Window.Prototype={$family:{name:"window"}};new Window(window);
var Document=new Native({name:"Document",legacy:Browser.Engine.trident?null:window.Document,initialize:function(a){$uid(a);a.head=a.getElementsByTagName("head")[0];a.html=a.getElementsByTagName("html")[0];Browser.Engine.trident&&4>=Browser.Engine.version&&$try(function(){a.execCommand("BackgroundImageCache",!1,!0)});Browser.Engine.trident&&a.window.attachEvent("onunload",function(){a.window.detachEvent("onunload",arguments.callee);a.head=a.html=a.window=null});return $extend(a,Document.Prototype)},
afterImplement:function(a,b){document[a]=Document.Prototype[a]=b}});Document.Prototype={$family:{name:"document"}};new Document(document);
Array.implement({every:function(a,b){for(var d=0,e=this.length;d<e;d++)if(!a.call(b,this[d],d,this))return!1;return!0},filter:function(a,b){for(var d=[],e=0,f=this.length;e<f;e++)a.call(b,this[e],e,this)&&d.push(this[e]);return d},clean:function(){return this.filter($defined)},indexOf:function(a,b){for(var d=this.length,e=0>b?Math.max(0,d+b):b||0;e<d;e++)if(this[e]===a)return e;return-1},map:function(a,b){for(var d=[],e=0,f=this.length;e<f;e++)d[e]=a.call(b,this[e],e,this);return d},some:function(a,
b){for(var d=0,e=this.length;d<e;d++)if(a.call(b,this[d],d,this))return!0;return!1},associate:function(a){for(var b={},d=Math.min(this.length,a.length),e=0;e<d;e++)b[a[e]]=this[e];return b},link:function(a){for(var b={},d=0,e=this.length;d<e;d++)for(var f in a)if(a[f](this[d])){b[f]=this[d];delete a[f];break}return b},contains:function(a,b){return-1!=this.indexOf(a,b)},extend:function(a){for(var b=0,d=a.length;b<d;b++)this.push(a[b]);return this},getLast:function(){return this.length?this[this.length-
1]:null},getRandom:function(){return this.length?this[$random(0,this.length-1)]:null},include:function(a){this.contains(a)||this.push(a);return this},combine:function(a){for(var b=0,d=a.length;b<d;b++)this.include(a[b]);return this},erase:function(a){for(var b=this.length;b--;b)this[b]===a&&this.splice(b,1);return this},empty:function(){this.length=0;return this},flatten:function(){for(var a=[],b=0,d=this.length;b<d;b++){var e=$type(this[b]);e&&(a=a.concat("array"==e||"collection"==e||"arguments"==
e?Array.flatten(this[b]):this[b]))}return a},hexToRgb:function(a){if(3!=this.length)return null;var b=this.map(function(a){1==a.length&&(a+=a);return a.toInt(16)});return a?b:"rgb("+b+")"},rgbToHex:function(a){if(3>this.length)return null;if(4==this.length&&0==this[3]&&!a)return"transparent";for(var b=[],d=0;3>d;d++){var e=(this[d]-0).toString(16);b.push(1==e.length?"0"+e:e)}return a?b:"#"+b.join("")}});try{delete Function.prototype.bind}catch(e$$26){}
Function.implement({extend:function(a){for(var b in a)this[b]=a[b];return this},create:function(a){var b=this;a=a||{};return function(d){var e=a.arguments,e=void 0!=e?$splat(e):Array.slice(arguments,a.event?1:0);a.event&&(e=[d||window.event].extend(e));var f=function(){return b.apply(a.bind||null,e)};return a.delay?setTimeout(f,a.delay):a.periodical?setInterval(f,a.periodical):a.attempt?$try(f):f()}},run:function(a,b){return this.apply(b,$splat(a))},pass:function(a,b){return this.create({bind:b,arguments:a})},
bind:function(a,b){return this.create({bind:a,arguments:b})},bindWithEvent:function(a,b){return this.create({bind:a,arguments:b,event:!0})},attempt:function(a,b){return this.create({bind:b,arguments:a,attempt:!0})()},delay:function(a,b,d){return this.create({bind:b,arguments:d,delay:a})()},periodical:function(a,b,d){return this.create({bind:b,arguments:d,periodical:a})()}});
Number.implement({limit:function(a,b){return Math.min(b,Math.max(a,this))},round:function(a){a=Math.pow(10,a||0);return Math.round(this*a)/a},times:function(a,b){for(var d=0;d<this;d++)a.call(b,d,this)},toFloat:function(){return parseFloat(this)},toInt:function(a){return parseInt(this,a||10)}});Number.alias("times","each");(function(a){var b={};a.each(function(a){Number[a]||(b[a]=function(){return Math[a].apply(null,[this].concat($A(arguments)))})});Number.implement(b)})("abs acos asin atan atan2 ceil cos exp floor log max min pow sin sqrt tan".split(" "));
try{delete String.prototype.contains}catch(e$$27){}
String.implement({test:function(a,b){return("string"==typeof a?RegExp(a,b):a).test(this)},contains:function(a,b){return b?-1<(b+this+b).indexOf(b+a+b):-1<this.indexOf(a)},trim:function(){return this.replace(/^\s+|\s+$/g,"")},clean:function(){return this.replace(/\s+/g," ").trim()},camelCase:function(){return this.replace(/-\D/g,function(a){return a.charAt(1).toUpperCase()})},hyphenate:function(){return this.replace(/[A-Z]/g,function(a){return"-"+a.charAt(0).toLowerCase()})},capitalize:function(){return this.replace(/\b[a-z]/g,
function(a){return a.toUpperCase()})},escapeRegExp:function(){return this.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},toInt:function(a){return parseInt(this,a||10)},toFloat:function(){return parseFloat(this)},hexToRgb:function(a){var b=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);return b?b.slice(1).hexToRgb(a):null},rgbToHex:function(a){var b=this.match(/\d{1,3}/g);return b?b.rgbToHex(a):null},stripScripts:function(a){var b="",d=this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(a,d){b+=
d+"\n";return""});!0===a?$exec(b):"function"==$type(a)&&a(b,d);return d},substitute:function(a,b){return this.replace(b||/\\?\{([^{}]+)\}/g,function(b,e){return"\\"==b.charAt(0)?b.slice(1):void 0!=a[e]?a[e]:""})}});
Hash.implement({has:Object.prototype.hasOwnProperty,keyOf:function(a){for(var b in this)if(this.hasOwnProperty(b)&&this[b]===a)return b;return null},hasValue:function(a){return null!==Hash.keyOf(this,a)},extend:function(a){Hash.each(a||{},function(a,d){Hash.set(this,d,a)},this);return this},combine:function(a){Hash.each(a||{},function(a,d){Hash.include(this,d,a)},this);return this},erase:function(a){this.hasOwnProperty(a)&&delete this[a];return this},get:function(a){return this.hasOwnProperty(a)?
this[a]:null},set:function(a,b){if(!this[a]||this.hasOwnProperty(a))this[a]=b;return this},empty:function(){Hash.each(this,function(a,b){delete this[b]},this);return this},include:function(a,b){void 0==this[a]&&(this[a]=b);return this},map:function(a,b){var d=new Hash;Hash.each(this,function(e,f){d.set(f,a.call(b,e,f,this))},this);return d},filter:function(a,b){var d=new Hash;Hash.each(this,function(e,f){a.call(b,e,f,this)&&d.set(f,e)},this);return d},every:function(a,b){for(var d in this)if(this.hasOwnProperty(d)&&
!a.call(b,this[d],d))return!1;return!0},some:function(a,b){for(var d in this)if(this.hasOwnProperty(d)&&a.call(b,this[d],d))return!0;return!1},getKeys:function(){var a=[];Hash.each(this,function(b,d){a.push(d)});return a},getValues:function(){var a=[];Hash.each(this,function(b){a.push(b)});return a},toQueryString:function(a){var b=[];Hash.each(this,function(d,e){a&&(e=a+"["+e+"]");var f;switch($type(d)){case "object":f=Hash.toQueryString(d,e);break;case "array":var g={};d.each(function(a,b){g[b]=
a});f=Hash.toQueryString(g,e);break;default:f=e+"="+encodeURIComponent(d)}void 0!=d&&b.push(f)});return b.join("&")}});Hash.alias({keyOf:"indexOf",hasValue:"contains"});
var Event=new Native({name:"Event",initialize:function(a,b){b=b||window;var d=b.document;a=a||b.event;if(a.$extended)return a;this.$extended=!0;for(var e=a.type,f=a.target||a.srcElement;f&&3==f.nodeType;)f=f.parentNode;if(e.test(/key/)){var g=a.which||a.keyCode,h=Event.Keys.keyOf(g);"keydown"==e&&(d=g-111,0<d&&13>d&&(h="f"+d));h=h||String.fromCharCode(g).toLowerCase()}else if(e.match(/(click|mouse|menu)/i)){var d=d.compatMode&&"CSS1Compat"!=d.compatMode?d.body:d.html,l={x:a.pageX||a.clientX+d.scrollLeft,
y:a.pageY||a.clientY+d.scrollTop},m={x:a.pageX?a.pageX-b.pageXOffset:a.clientX,y:a.pageY?a.pageY-b.pageYOffset:a.clientY};if(e.match(/DOMMouseScroll|mousewheel/))var q=a.wheelDelta?a.wheelDelta/120:-(a.detail||0)/3;var r=3==a.which||2==a.button,u=null;if(e.match(/over|out/)){switch(e){case "mouseover":u=a.relatedTarget||a.fromElement;break;case "mouseout":u=a.relatedTarget||a.toElement}(function(){for(;u&&3==u.nodeType;)u=u.parentNode;return!0}).create({attempt:Browser.Engine.gecko})()||(u=!1)}}return $extend(this,
{event:a,type:e,page:l,client:m,rightClick:r,wheel:q,relatedTarget:u,target:f,code:g,key:h,shift:a.shiftKey,control:a.ctrlKey,alt:a.altKey,meta:a.metaKey})}});Event.Keys=new Hash({enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspace:8,tab:9,"delete":46});
Event.implement({stop:function(){return this.stopPropagation().preventDefault()},stopPropagation:function(){this.event.stopPropagation?this.event.stopPropagation():this.event.cancelBubble=!0;return this},preventDefault:function(){this.event.preventDefault?this.event.preventDefault():this.event.returnValue=!1;return this}});
function Class(a){a instanceof Function&&(a={initialize:a});var b=function(){Object.reset(this);if(b._prototyping)return this;this._current=$empty;var a=this.initialize?this.initialize.apply(this,arguments):this;delete this._current;delete this.caller;return a}.extend(this);b.implement(a);b.constructor=Class;return b.prototype.constructor=b}Function.prototype.protect=function(){this._protected=!0;return this};
Object.reset=function(a,b){if(null==b){for(var d in a)Object.reset(a,d);return a}delete a[b];switch($type(a[b])){case "object":d=function(){};d.prototype=a[b];d=new d;a[b]=Object.reset(d);break;case "array":a[b]=$unlink(a[b])}return a};
(new Native({name:"Class",initialize:Class})).extend({instantiate:function(a){a._prototyping=!0;var b=new a;delete a._prototyping;return b},wrap:function(a,b,d){d._origin&&(d=d._origin);return function(){if(d._protected&&null==this._current)throw Error('The method "'+b+'" cannot be called.');var a=this.caller,f=this._current;this.caller=f;this._current=arguments.callee;var g=d.apply(this,arguments);this._current=f;this.caller=a;return g}.extend({_owner:a,_origin:d,_name:b})}});
Class.implement({implement:function(a,b){if("object"==$type(a)){for(var d in a)this.implement(d,a[d]);return this}if(d=Class.Mutators[a])if(b=d.call(this,b),null==b)return this;d=this.prototype;switch($type(b)){case "function":if(b._hidden)break;d[a]=Class.wrap(this,a,b);break;case "object":var e=d[a];"object"==$type(e)?$mixin(e,b):d[a]=$unlink(b);break;case "array":d[a]=$unlink(b);break;default:d[a]=b}return this}});
Class.Mutators={Extends:function(a){this.parent=a;this.prototype=Class.instantiate(a);this.implement("parent",function(){var a=this.caller._name,d=this.caller._owner.parent.prototype[a];if(!d)throw Error('The method "'+a+'" has no parent.');return d.apply(this,arguments)}.protect())},Implements:function(a){$splat(a).each(function(a){a instanceof Function&&(a=Class.instantiate(a));this.implement(a)},this)}};
var Chain=new Class({$chain:[],chain:function(){this.$chain.extend(Array.flatten(arguments));return this},callChain:function(){return this.$chain.length?this.$chain.shift().apply(this,arguments):!1},clearChain:function(){this.$chain.empty();return this}}),Events=new Class({$events:{},addEvent:function(a,b,d){a=Events.removeOn(a);b!=$empty&&(this.$events[a]=this.$events[a]||[],this.$events[a].include(b),d&&(b.internal=!0));return this},addEvents:function(a){for(var b in a)this.addEvent(b,a[b]);return this},
fireEvent:function(a,b,d){a=Events.removeOn(a);if(!this.$events||!this.$events[a])return this;this.$events[a].each(function(a){a.create({bind:this,delay:d,arguments:b})()},this);return this},removeEvent:function(a,b){a=Events.removeOn(a);if(!this.$events[a])return this;b.internal||this.$events[a].erase(b);return this},removeEvents:function(a){var b;if("object"==$type(a)){for(b in a)this.removeEvent(b,a[b]);return this}a&&(a=Events.removeOn(a));for(b in this.$events)if(!a||a==b)for(var d=this.$events[b],
e=d.length;e--;e)this.removeEvent(b,d[e]);return this}});Events.removeOn=function(a){return a.replace(/^on([A-Z])/,function(a,d){return d.toLowerCase()})};
var Options=new Class({setOptions:function(){this.options=$merge.run([this.options].extend(arguments));if(!this.addEvent)return this;for(var a in this.options)"function"==$type(this.options[a])&&/^on[A-Z]/.test(a)&&(this.addEvent(a,this.options[a]),delete this.options[a]);return this}}),Element=new Native({name:"Element",legacy:window.Element,initialize:function(a,b){var d=Element.Constructors.get(a);return d?d(b):"string"==typeof a?document.newElement(a,b):document.id(a).set(b)},afterImplement:function(a,
b){Element.Prototype[a]=b;Array[a]||Elements.implement(a,function(){for(var b=[],e=!0,f=0,g=this.length;f<g;f++){var h=this[f][a].apply(this[f],arguments);b.push(h);e&&(e="element"==$type(h))}return e?new Elements(b):b})}});Element.Prototype={$family:{name:"element"}};Element.Constructors=new Hash;
var IFrame=new Native({name:"IFrame",generics:!1,initialize:function(){var a=Array.link(arguments,{properties:Object.type,iframe:$defined}),b=a.properties||{},d=document.id(a.iframe),e=b.onload||$empty;delete b.onload;b.id=b.name=$pick(b.id,b.name,d?d.id||d.name:"IFrame_"+$time());var d=new Element(d||"iframe",b),a=function(){var a=$try(function(){return d.contentWindow.location.host});a&&a!=window.location.host||(a=new Window(d.contentWindow),new Document(d.contentWindow.document),$extend(a.Element.prototype,
Element.Prototype));e.call(d.contentWindow,d.contentWindow.document)},f=$try(function(){return d.contentWindow});f&&f.document.body||window.frames[b.id]?a():d.addListener("load",a);return d}}),Elements=new Native({initialize:function(a,b){b=$extend({ddup:!0,cash:!0},b);a=a||[];if(b.ddup||b.cash){for(var d={},e=[],f=0,g=a.length;f<g;f++){var h=document.id(a[f],!b.cash);if(b.ddup){if(d[h.uid])continue;d[h.uid]=!0}h&&e.push(h)}a=e}return b.cash?$extend(a,this):a}});
Elements.implement({filter:function(a,b){return a?new Elements(Array.filter(this,"string"==typeof a?function(b){return b.match(a)}:a,b)):this}});
(function(){var a;try{a="x"==document.createElement("<input name=x>").name}catch(b){}var d=function(a){return(""+a).replace(/&/g,"&amp;").replace(/"/g,"&quot;")};Document.implement({newElement:function(b,f){f&&null!=f.checked&&(f.defaultChecked=f.checked);a&&f&&(b="<"+b,f.name&&(b+=' name="'+d(f.name)+'"'),f.type&&(b+=' type="'+d(f.type)+'"'),b+=">",delete f.name,delete f.type);return this.id(this.createElement(b)).set(f)},newTextNode:function(a){return this.createTextNode(a)},getDocument:function(){return this},
getWindow:function(){return this.window},id:function(){var a={string:function(b,d,h){return(b=h.getElementById(b))?a.element(b,d):null},element:function(a,b){$uid(a);if(!b&&!a.$family&&!/^object|embed$/i.test(a.tagName)){var d=Element.Prototype,e;for(e in d)a[e]=d[e]}return a},object:function(b,d,h){return b.toElement?a.element(b.toElement(h),d):null}};a.textnode=a.whitespace=a.window=a.document=$arguments(0);return function(b,d,h){if(b&&b.$family&&b.uid)return b;var l=$type(b);return a[l]?a[l](b,
d,h||document):null}}()})})();null==window.$&&Window.implement({$:function(a,b){return document.id(a,b,this.document)}});Window.implement({$$:function(a){if(1==arguments.length&&"string"==typeof a)return this.document.getElements(a);for(var b=[],d=Array.flatten(arguments),e=0,f=d.length;e<f;e++){var g=d[e];switch($type(g)){case "element":b.push(g);break;case "string":b.extend(this.document.getElements(g,!0))}}return new Elements(b)},getDocument:function(){return this.document},getWindow:function(){return this}});
Native.implement([Element,Document],{getElement:function(a,b){return document.id(this.getElements(a,!0)[0]||null,b)},getElements:function(a,b){a=a.split(",");var d=[],e=1<a.length;a.each(function(a){a=this.getElementsByTagName(a.trim());e?d.extend(a):d=a},this);return new Elements(d,{ddup:e,cash:!b})}});
(function(){var a={},b={},d={input:"checked",option:"selected",textarea:Browser.Engine.webkit&&420>Browser.Engine.version?"innerHTML":"value"},e=function(d,e){if(d){var f=d.uid;!0!==e&&(e=!1);if(Browser.Engine.trident){if(d.clearAttributes){var g=e&&d.cloneNode(!1);d.clearAttributes();g&&d.mergeAttributes(g)}else d.removeEvents&&d.removeEvents();if(/object/i.test(d.tagName)){for(var h in d)"function"==typeof d[h]&&(d[h]=$empty);Element.dispose(d)}}f&&(a[f]=b[f]=null)}},f=function(a,b,d,e,f,g){a=a[d||
b];for(d=[];a;){if(1==a.nodeType&&(!e||Element.match(a,e))){if(!f)return document.id(a,g);d.push(a)}a=a[b]}return f?new Elements(d,{ddup:!1,cash:!g}):null},g={html:"innerHTML","class":"className","for":"htmlFor",defaultValue:"defaultValue",text:Browser.Engine.trident||Browser.Engine.webkit&&420>Browser.Engine.version?"innerText":"textContent"},h="compact nowrap ismap declare noshade checked disabled readonly multiple selected noresize defer".split(" "),l="value type defaultValue accessKey cellPadding cellSpacing colSpan frameBorder maxLength readOnly rowSpan tabIndex useMap".split(" "),
h=h.associate(h);Hash.extend(g,h);Hash.extend(g,l.associate(l.map(String.toLowerCase)));var m={before:function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)},after:function(a,b){if(b.parentNode){var d=b.nextSibling;d?b.parentNode.insertBefore(a,d):b.parentNode.appendChild(a)}},bottom:function(a,b){b.appendChild(a)},top:function(a,b){var d=b.firstChild;d?b.insertBefore(a,d):b.appendChild(a)}};m.inside=m.bottom;Hash.each(m,function(a,b){b=b.capitalize();Element.implement("inject"+b,function(b){a(this,
document.id(b,!0));return this});Element.implement("grab"+b,function(b){a(document.id(b,!0),this);return this})});Element.implement({set:function(a,b){switch($type(a)){case "object":for(var d in a)this.set(d,a[d]);break;case "string":(d=Element.Properties.get(a))&&d.set?d.set.apply(this,Array.slice(arguments,1)):this.setProperty(a,b)}return this},get:function(a){var b=Element.Properties.get(a);return b&&b.get?b.get.apply(this,Array.slice(arguments,1)):this.getProperty(a)},erase:function(a){var b=
Element.Properties.get(a);b&&b.erase?b.erase.apply(this):this.removeProperty(a);return this},setProperty:function(a,b){var d=g[a];if(void 0==b)return this.removeProperty(a);d&&h[a]&&(b=!!b);d?this[d]=b:this.setAttribute(a,""+b);return this},setProperties:function(a){for(var b in a)this.setProperty(b,a[b]);return this},getProperty:function(a){var b=g[a],d=b?this[b]:this.getAttribute(a,2);return h[a]?!!d:b?d:d||null},getProperties:function(){var a=$A(arguments);return a.map(this.getProperty,this).associate(a)},
removeProperty:function(a){var b=g[a];b?this[b]=b&&h[a]?!1:"":this.removeAttribute(a);return this},removeProperties:function(){Array.each(arguments,this.removeProperty,this);return this},hasClass:function(a){return this.className.contains(a," ")},addClass:function(a){this.hasClass(a)||(this.className=(this.className+" "+a).clean());return this},removeClass:function(a){this.className=this.className.replace(RegExp("(^|\\s)"+a+"(?:\\s|$)"),"$1");return this},toggleClass:function(a){return this.hasClass(a)?
this.removeClass(a):this.addClass(a)},adopt:function(){Array.flatten(arguments).each(function(a){(a=document.id(a,!0))&&this.appendChild(a)},this);return this},appendText:function(a,b){return this.grab(this.getDocument().newTextNode(a),b)},grab:function(a,b){m[b||"bottom"](document.id(a,!0),this);return this},inject:function(a,b){m[b||"bottom"](this,document.id(a,!0));return this},replaces:function(a){a=document.id(a,!0);a.parentNode.replaceChild(this,a);return this},wraps:function(a,b){a=document.id(a,
!0);return this.replaces(a).grab(a,b)},getPrevious:function(a,b){return f(this,"previousSibling",null,a,!1,b)},getAllPrevious:function(a,b){return f(this,"previousSibling",null,a,!0,b)},getNext:function(a,b){return f(this,"nextSibling",null,a,!1,b)},getAllNext:function(a,b){return f(this,"nextSibling",null,a,!0,b)},getFirst:function(a,b){return f(this,"nextSibling","firstChild",a,!1,b)},getLast:function(a,b){return f(this,"previousSibling","lastChild",a,!1,b)},getParent:function(a,b){return f(this,
"parentNode",null,a,!1,b)},getParents:function(a,b){return f(this,"parentNode",null,a,!0,b)},getSiblings:function(a,b){return this.getParent().getChildren(a,b).erase(this)},getChildren:function(a,b){return f(this,"nextSibling","firstChild",a,!0,b)},getWindow:function(){return this.ownerDocument.window},getDocument:function(){return this.ownerDocument},getElementById:function(a,b){var d=this.ownerDocument.getElementById(a);if(!d)return null;for(var e=d.parentNode;e!=this;e=e.parentNode)if(!e)return null;
return document.id(d,b)},getSelected:function(){return new Elements($A(this.options).filter(function(a){return a.selected}))},getComputedStyle:function(a){if(this.currentStyle)return this.currentStyle[a.camelCase()];var b=this.getDocument().defaultView.getComputedStyle(this,null);return b?b.getPropertyValue([a.hyphenate()]):null},toQueryString:function(){var a=[];this.getElements("input, select, textarea",!0).each(function(b){if(b.name&&!b.disabled&&"submit"!=b.type&&"reset"!=b.type&&"file"!=b.type){var d=
"select"==b.tagName.toLowerCase()?Element.getSelected(b).map(function(a){return a.value}):"radio"!=b.type&&"checkbox"!=b.type||b.checked?b.value:null;$splat(d).each(function(d){"undefined"!=typeof d&&a.push(b.name+"="+encodeURIComponent(d))})}});return a.join("&")},clone:function(a,b){a=!1!==a;var e=this.cloneNode(a),f=function(a,e){b||a.removeAttribute("id");if(Browser.Engine.trident&&(a.clearAttributes(),a.mergeAttributes(e),a.removeAttribute("uid"),a.options))for(var f=a.options,g=e.options,h=
f.length;h--;)f[h].selected=g[h].selected;(f=d[e.tagName.toLowerCase()])&&e[f]&&(a[f]=e[f])};if(a)for(var g=e.getElementsByTagName("*"),h=this.getElementsByTagName("*"),l=g.length;l--;)f(g[l],h[l]);f(e,this);return document.id(e)},destroy:function(){Element.empty(this);Element.dispose(this);e(this,!0);return null},empty:function(){$A(this.childNodes).each(function(a){Element.destroy(a)});return this},dispose:function(){return this.parentNode?this.parentNode.removeChild(this):this},hasChild:function(a){return(a=
document.id(a,!0))?Browser.Engine.webkit&&420>Browser.Engine.version?$A(this.getElementsByTagName(a.tagName)).contains(a):this.contains?this!=a&&this.contains(a):!!(this.compareDocumentPosition(a)&16):!1},match:function(a){return!a||a==this||Element.get(this,"tag")==a}});Native.implement([Element,Window,Document],{addListener:function(b,d){if("unload"==b){var e=d,f=this;d=function(){f.removeListener("unload",d);e()}}else a[this.uid]=this;this.addEventListener?this.addEventListener(b,d,!1):this.attachEvent("on"+
b,d);return this},removeListener:function(a,b){this.removeEventListener?this.removeEventListener(a,b,!1):this.detachEvent("on"+a,b);return this},retrieve:function(a,d){var e=b[this.uid]||(b[this.uid]={}),f=e[a];void 0!=d&&void 0==f&&(f=e[a]=d);return $pick(f)},store:function(a,d){(b[this.uid]||(b[this.uid]={}))[a]=d;return this},eliminate:function(a){delete (b[this.uid]||(b[this.uid]={}))[a];return this}});window.addListener("unload",function(){Hash.each(a,e);Browser.Engine.trident&&$A(document.getElementsByTagName("object")).each(e);
window.CollectGarbage&&CollectGarbage();a=b=null})})();Element.Properties=new Hash;Element.Properties.style={set:function(a){this.style.cssText=a},get:function(){return this.style.cssText},erase:function(){this.style.cssText=""}};Element.Properties.tag={get:function(){return this.tagName.toLowerCase()}};
Element.Properties.html=function(){var a=!0;try{var b=document.createElement("tr");b.innerHTML="<td>x";b=b.firstChild;a=!("TD"==b.nodeName&&"x"==b.innerHTML)}catch(d){}if(!a)return{set:function(){this.innerHTML=Array.flatten(arguments).join("")}};var e=document.createElement("div"),f={table:[1,"<table>","</table>"],select:[1,"<select>","</select>"],tbody:[2,"<table><tbody>","</tbody></table>"],tr:[3,"<table><tbody><tr>","</tr></tbody></table>"]};f.thead=f.tfoot=f.tbody;a={set:function(){var a=Array.flatten(arguments).join(""),
b=f[this.get("tag")];if(b){var d=e;d.innerHTML=b[1]+a+b[2];for(a=b[0];a--;)d=d.firstChild;this.empty().adopt(d.childNodes)}else this.innerHTML=a}};a.erase=a.set;return a}();Browser.Engine.webkit&&420>Browser.Engine.version&&(Element.Properties.text={get:function(){if(this.innerText)return this.innerText;var a=this.ownerDocument.newElement("div",{html:this.innerHTML}).inject(this.ownerDocument.body),b=a.innerText;a.destroy();return b}});Element.Properties.events={set:function(a){this.addEvents(a)}};
Native.implement([Element,Window,Document],{addEvent:function(a,b){var d=this.retrieve("events",{});d[a]=d[a]||{keys:[],values:[]};if(d[a].keys.contains(b))return this;d[a].keys.push(b);var e=a,f=Element.Events.get(a),g=b,h=this;f&&(f.onAdd&&f.onAdd.call(this,b),f.condition&&(g=function(a){return f.condition.call(this,a)?b.call(this,a):!0}),e=f.base||e);var l=function(){return b.call(h)},m=Element.NativeEvents[e];m&&(2==m&&(l=function(a){a=new Event(a,h.getWindow());!1===g.call(h,a)&&a.stop()}),this.addListener(e,
l));d[a].values.push(l);return this},removeEvent:function(a,b){var d=this.retrieve("events");if(!d||!d[a])return this;var e=d[a].keys.indexOf(b);if(-1==e)return this;d[a].keys.splice(e,1);d=d[a].values.splice(e,1)[0];if(e=Element.Events.get(a))e.onRemove&&e.onRemove.call(this,b),a=e.base||a;return Element.NativeEvents[a]?this.removeListener(a,d):this},addEvents:function(a){for(var b in a)this.addEvent(b,a[b]);return this},removeEvents:function(a){var b;if("object"==$type(a)){for(b in a)this.removeEvent(b,
a[b]);return this}var d=this.retrieve("events");if(!d)return this;if(!a){for(b in d)this.removeEvents(b);this.eliminate("events")}else if(d[a]){for(;d[a].keys[0];)this.removeEvent(a,d[a].keys[0]);d[a]=null}return this},fireEvent:function(a,b,d){var e=this.retrieve("events");if(!e||!e[a])return this;e[a].keys.each(function(a){a.create({bind:this,delay:d,arguments:b})()},this);return this},cloneEvents:function(a,b){a=document.id(a);var d=a.retrieve("events");if(!d)return this;if(b)d[b]&&d[b].keys.each(function(a){this.addEvent(b,
a)},this);else for(var e in d)this.cloneEvents(a,e);return this}});try{"undefined"!=typeof HTMLElement&&(HTMLElement.prototype.fireEvent=Element.prototype.fireEvent)}catch(e$$30){}
Element.NativeEvents={click:2,dblclick:2,mouseup:2,mousedown:2,contextmenu:2,mousewheel:2,DOMMouseScroll:2,mouseover:2,mouseout:2,mousemove:2,selectstart:2,selectend:2,keydown:2,keypress:2,keyup:2,focus:2,blur:2,change:2,reset:2,select:2,submit:2,load:1,unload:1,beforeunload:2,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1};
(function(){var a=function(a){a=a.relatedTarget;return void 0==a?!0:!1===a?!1:"document"!=$type(this)&&a!=this&&"xul"!=a.prefix&&!this.hasChild(a)};Element.Events=new Hash({mouseenter:{base:"mouseover",condition:a},mouseleave:{base:"mouseout",condition:a},mousewheel:{base:Browser.Engine.gecko?"DOMMouseScroll":"mousewheel"}})})();Element.Properties.styles={set:function(a){this.setStyles(a)}};
Element.Properties.opacity={set:function(a,b){b||(0==a?"hidden"!=this.style.visibility&&(this.style.visibility="hidden"):"visible"!=this.style.visibility&&(this.style.visibility="visible"));this.currentStyle&&this.currentStyle.hasLayout||(this.style.zoom=1);Browser.Engine.trident&&(this.style.filter=1==a?"":"alpha(opacity="+100*a+")");this.style.opacity=a;this.store("opacity",a)},get:function(){return this.retrieve("opacity",1)}};
Element.implement({setOpacity:function(a){return this.set("opacity",a,!0)},getOpacity:function(){return this.get("opacity")},setStyle:function(a,b){switch(a){case "opacity":return this.set("opacity",parseFloat(b));case "float":a=Browser.Engine.trident?"styleFloat":"cssFloat"}a=a.camelCase();if("string"!=$type(b)){var d=(Element.Styles.get(a)||"@").split(" ");b=$splat(b).map(function(a,b){return d[b]?"number"==$type(a)?d[b].replace("@",Math.round(a)):a:""}).join(" ")}else b==String(Number(b))&&(b=
Math.round(b));this.style[a]=b;return this},getStyle:function(a){switch(a){case "opacity":return this.get("opacity");case "float":a=Browser.Engine.trident?"styleFloat":"cssFloat"}a=a.camelCase();var b=this.style[a];if(!$chk(b)){var b=[],d;for(d in Element.ShortStyles)if(a==d){for(var e in Element.ShortStyles[d])b.push(this.getStyle(e));return b.join(" ")}b=this.getComputedStyle(a)}b&&(b=String(b),(d=b.match(/rgba?\([\d\s,]+\)/))&&(b=b.replace(d[0],d[0].rgbToHex())));if(Browser.Engine.presto||Browser.Engine.trident&&
!$chk(parseInt(b,10))){if(a.test(/^(height|width)$/)){var f=0;("width"==a?["left","right"]:["top","bottom"]).each(function(a){f+=this.getStyle("border-"+a+"-width").toInt()+this.getStyle("padding-"+a).toInt()},this);return this["offset"+a.capitalize()]-f+"px"}if(Browser.Engine.presto&&String(b).test("px"))return b;if(a.test(/(border(.+)Width|margin|padding)/))return"0px"}return b},setStyles:function(a){for(var b in a)this.setStyle(b,a[b]);return this},getStyles:function(){var a={};Array.flatten(arguments).each(function(b){a[b]=
this.getStyle(b)},this);return a}});
Element.Styles=new Hash({left:"@px",top:"@px",bottom:"@px",right:"@px",width:"@px",height:"@px",maxWidth:"@px",maxHeight:"@px",minWidth:"@px",minHeight:"@px",backgroundColor:"rgb(@, @, @)",backgroundPosition:"@px @px",color:"rgb(@, @, @)",fontSize:"@px",letterSpacing:"@px",lineHeight:"@px",clip:"rect(@px @px @px @px)",margin:"@px @px @px @px",padding:"@px @px @px @px",border:"@px @ rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)",borderWidth:"@px @px @px @px",borderStyle:"@ @ @ @",borderColor:"rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)",
zIndex:"@",zoom:"@",fontWeight:"@",textIndent:"@px",opacity:"@"});Element.ShortStyles={margin:{},padding:{},border:{},borderWidth:{},borderStyle:{},borderColor:{}};
["Top","Right","Bottom","Left"].each(function(a){var b=Element.ShortStyles,d=Element.Styles;["margin","padding"].each(function(e){var f=e+a;b[e][f]=d[f]="@px"});var e="border"+a;b.border[e]=d[e]="@px @ rgb(@, @, @)";var f=e+"Width",g=e+"Style",h=e+"Color";b[e]={};b.borderWidth[f]=b[e][f]=d[f]="@px";b.borderStyle[g]=b[e][g]=d[g]="@";b.borderColor[h]=b[e][h]=d[h]="rgb(@, @, @)"});
(function(){function a(a){return"border-box"==g(a,"-moz-box-sizing")}function b(a){return g(a,"border-top-width").toInt()||0}function d(a){return g(a,"border-left-width").toInt()||0}function e(a){return/^(?:body|html)$/i.test(a.tagName)}function f(a){a=a.getDocument();return a.compatMode&&"CSS1Compat"!=a.compatMode?a.body:a.html}Element.implement({scrollTo:function(a,b){e(this)?this.getWindow().scrollTo(a,b):(this.scrollLeft=a,this.scrollTop=b);return this},getSize:function(){return e(this)?this.getWindow().getSize():
{x:this.offsetWidth,y:this.offsetHeight}},getScrollSize:function(){return e(this)?this.getWindow().getScrollSize():{x:this.scrollWidth,y:this.scrollHeight}},getScroll:function(){return e(this)?this.getWindow().getScroll():{x:this.scrollLeft,y:this.scrollTop}},getScrolls:function(){for(var a=this,b={x:0,y:0};a&&!e(a);)b.x+=a.scrollLeft,b.y+=a.scrollTop,a=a.parentNode;return b},getOffsetParent:function(){var a=this;if(e(a))return null;if(!Browser.Engine.trident)return a.offsetParent;for(;(a=a.parentNode)&&
!e(a);)if("static"!=g(a,"position"))return a;return null},getOffsets:function(){if(this.getBoundingClientRect){var f=this.getBoundingClientRect(),l=document.id(this.getDocument().documentElement),m=l.getScroll(),q=this.getScrolls(),r=this.getScroll(),u="fixed"==g(this,"position");return{x:f.left.toInt()+q.x-r.x+(u?0:m.x)-l.clientLeft,y:f.top.toInt()+q.y-r.y+(u?0:m.y)-l.clientTop}}f=this;l={x:0,y:0};if(e(this))return l;for(;f&&!e(f);)l.x+=f.offsetLeft,l.y+=f.offsetTop,Browser.Engine.gecko?(a(f)||(l.x+=
d(f),l.y+=b(f)),(m=f.parentNode)&&"visible"!=g(m,"overflow")&&(l.x+=d(m),l.y+=b(m))):f!=this&&Browser.Engine.webkit&&(l.x+=d(f),l.y+=b(f)),f=f.offsetParent;Browser.Engine.gecko&&!a(this)&&(l.x-=d(this),l.y-=b(this));return l},getPosition:function(a){if(e(this))return{x:0,y:0};var b=this.getOffsets(),d=this.getScrolls(),f=b.x-d.x,b=b.y-d.y,d=a&&(a=document.id(a))?a.getPosition():{x:0,y:0};return{x:f-d.x,y:b-d.y}},getCoordinates:function(a){if(e(this))return this.getWindow().getCoordinates();a=this.getPosition(a);
var b=this.getSize();a={left:a.x,top:a.y,width:b.x,height:b.y};a.right=a.left+a.width;a.bottom=a.top+a.height;return a},computePosition:function(a){return{left:a.x-(g(this,"margin-left").toInt()||0),top:a.y-(g(this,"margin-top").toInt()||0)}},setPosition:function(a){return this.setStyles(this.computePosition(a))}});Native.implement([Document,Window],{getSize:function(){if(Browser.Engine.presto||Browser.Engine.webkit){var a=this.getWindow();return{x:a.innerWidth,y:a.innerHeight}}a=f(this);return{x:a.clientWidth,
y:a.clientHeight}},getScroll:function(){var a=this.getWindow(),b=f(this);return{x:a.pageXOffset||b.scrollLeft,y:a.pageYOffset||b.scrollTop}},getScrollSize:function(){var a=f(this),b=this.getSize();return{x:Math.max(a.scrollWidth,b.x),y:Math.max(a.scrollHeight,b.y)}},getPosition:function(){return{x:0,y:0}},getCoordinates:function(){var a=this.getSize();return{top:0,left:0,bottom:a.y,right:a.x,height:a.y,width:a.x}}});var g=Element.getComputedStyle})();Element.alias("setPosition","position");
Native.implement([Window,Document,Element],{getHeight:function(){return this.getSize().y},getWidth:function(){return this.getSize().x},getScrollTop:function(){return this.getScroll().y},getScrollLeft:function(){return this.getScroll().x},getScrollHeight:function(){return this.getScrollSize().y},getScrollWidth:function(){return this.getScrollSize().x},getTop:function(){return this.getPosition().y},getLeft:function(){return this.getPosition().x}});
Native.implement([Document,Element],{getElements:function(a,b){a=a.split(",");for(var d,e={},f=0,g=a.length;f<g;f++){var h=Selectors.Utils.search(this,a[f],e);0!=f&&h.item&&(h=$A(h));d=0==f?h:d.item?$A(d).concat(h):d.concat(h)}return new Elements(d,{ddup:1<a.length,cash:!b})}});
Element.implement({match:function(a){if(!a||a==this)return!0;var b=Selectors.Utils.parseTagAndID(a),d=b[0];return Selectors.Filters.byID(this,b[1])&&Selectors.Filters.byTag(this,d)?(a=Selectors.Utils.parseSelector(a))?Selectors.Utils.filter(this,a,{}):!0:!1}});
var Selectors={Cache:{nth:{},parsed:{}},RegExps:{id:/#([\w-]+)/,tag:/^(\w+|\*)/,quick:/^(\w+|\*)$/,splitter:/\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g,combined:/\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=)(["']?)([^\4]*?)\4)?\]|:([\w-]+)(?:\(["']?(.*?)?["']?\)|$)/g},Utils:{chk:function(a,b){if(!b)return!0;var d=$uid(a);return b[d]?!1:b[d]=!0},parseNthArgument:function(a){if(Selectors.Cache.nth[a])return Selectors.Cache.nth[a];var b=a.match(/^([+-]?\d*)?([a-z]+)?([+-]?\d*)?$/);if(!b)return!1;var d=parseInt(b[1],10),
d=d||0===d?d:1,e=b[2]||!1,b=parseInt(b[3],10)||0;if(0!=d){for(b--;1>b;)b+=d;for(;b>=d;)b-=d}else d=b,e="index";switch(e){case "n":b={a:d,b:b,special:"n"};break;case "odd":b={a:2,b:0,special:"n"};break;case "even":b={a:2,b:1,special:"n"};break;case "first":b={a:0,special:"index"};break;case "last":b={special:"last-child"};break;case "only":b={special:"only-child"};break;default:b={a:d-1,special:"index"}}return Selectors.Cache.nth[a]=b},parseSelector:function(a){if(Selectors.Cache.parsed[a])return Selectors.Cache.parsed[a];
for(var b,d={classes:[],pseudos:[],attributes:[]};b=Selectors.RegExps.combined.exec(a);){var e=b[1],f=b[2],g=b[3],h=b[5],l=b[6];b=b[7];e?d.classes.push(e):l?(e=Selectors.Pseudo.get(l))?d.pseudos.push({parser:e,argument:b}):d.attributes.push({name:l,operator:"=",value:b}):f&&d.attributes.push({name:f,operator:g,value:h})}d.classes.length||delete d.classes;d.attributes.length||delete d.attributes;d.pseudos.length||delete d.pseudos;d.classes||d.attributes||d.pseudos||(d=null);return Selectors.Cache.parsed[a]=
d},parseTagAndID:function(a){var b=a.match(Selectors.RegExps.tag);a=a.match(Selectors.RegExps.id);return[b?b[1]:"*",a?a[1]:!1]},filter:function(a,b,d){var e;if(b.classes)for(e=b.classes.length;e--;e)if(!Selectors.Filters.byClass(a,b.classes[e]))return!1;if(b.attributes)for(e=b.attributes.length;e--;e){var f=b.attributes[e];if(!Selectors.Filters.byAttribute(a,f.name,f.operator,f.value))return!1}if(b.pseudos)for(e=b.pseudos.length;e--;e)if(f=b.pseudos[e],!Selectors.Filters.byPseudo(a,f.parser,f.argument,
d))return!1;return!0},getByTagAndID:function(a,b,d){return d?(a=a.getElementById?a.getElementById(d,!0):Element.getElementById(a,d,!0))&&Selectors.Filters.byTag(a,b)?[a]:[]:a.getElementsByTagName(b)},search:function(a,b,d){var e=[];b=b.trim().replace(Selectors.RegExps.splitter,function(a,b,d){e.push(b);return":)"+d}).split(":)");for(var f,g,h,l=0,m=b.length;l<m;l++)if(g=b[l],0==l&&Selectors.RegExps.quick.test(g))f=a.getElementsByTagName(g);else{h=e[l-1];var q=Selectors.Utils.parseTagAndID(g),r=q[0],
q=q[1];if(0==l)f=Selectors.Utils.getByTagAndID(a,r,q);else{for(var u={},z=[],v=0,B=f.length;v<B;v++)z=Selectors.Getters[h](z,f[v],r,q,u);f=z}if(r=Selectors.Utils.parseSelector(g)){g=[];q=0;for(u=f.length;q<u;q++)h=f[q],Selectors.Utils.filter(h,r,d)&&g.push(h);f=g}}return f}},Getters:{" ":function(a,b,d,e,f){b=Selectors.Utils.getByTagAndID(b,d,e);d=0;for(e=b.length;d<e;d++){var g=b[d];Selectors.Utils.chk(g,f)&&a.push(g)}return a},">":function(a,b,d,e,f){d=Selectors.Utils.getByTagAndID(b,d,e);e=0;for(var g=
d.length;e<g;e++){var h=d[e];h.parentNode==b&&Selectors.Utils.chk(h,f)&&a.push(h)}return a},"+":function(a,b,d,e,f){for(;b=b.nextSibling;)if(1==b.nodeType){Selectors.Utils.chk(b,f)&&Selectors.Filters.byTag(b,d)&&Selectors.Filters.byID(b,e)&&a.push(b);break}return a},"~":function(a,b,d,e,f){for(;b=b.nextSibling;)if(1==b.nodeType){if(!Selectors.Utils.chk(b,f))break;Selectors.Filters.byTag(b,d)&&Selectors.Filters.byID(b,e)&&a.push(b)}return a}},Filters:{byTag:function(a,b){return"*"==b||a.tagName&&a.tagName.toLowerCase()==
b},byID:function(a,b){return!b||a.id&&a.id==b},byClass:function(a,b){return a.className&&a.className.contains&&a.className.contains(b," ")},byPseudo:function(a,b,d,e){return b.call(a,d,e)},byAttribute:function(a,b,d,e){a=Element.prototype.getProperty.call(a,b);if(!a)return"!="==d;if(!d||void 0==e)return!0;switch(d){case "=":return a==e;case "*=":return a.contains(e);case "^=":return a.substr(0,e.length)==e;case "$=":return a.substr(a.length-e.length)==e;case "!=":return a!=e;case "~=":return a.contains(e,
" ");case "|=":return a.contains(e,"-")}return!1}}};
Selectors.Pseudo=new Hash({checked:function(){return this.checked},empty:function(){return!(this.innerText||this.textContent||"").length},not:function(a){return!Element.match(this,a)},contains:function(a){return(this.innerText||this.textContent||"").contains(a)},"first-child":function(){return Selectors.Pseudo.index.call(this,0)},"last-child":function(){for(var a=this;a=a.nextSibling;)if(1==a.nodeType)return!1;return!0},"only-child":function(){for(var a=this;a=a.previousSibling;)if(1==a.nodeType)return!1;
for(a=this;a=a.nextSibling;)if(1==a.nodeType)return!1;return!0},"nth-child":function(a,b){var d=Selectors.Utils.parseNthArgument(void 0==a?"n":a);if("n"!=d.special)return Selectors.Pseudo[d.special].call(this,d.a,b);var e=0;b.positions=b.positions||{};var f=$uid(this);if(!b.positions[f]){for(var g=this;g=g.previousSibling;)if(1==g.nodeType){e++;var h=b.positions[$uid(g)];if(void 0!=h){e=h+e;break}}b.positions[f]=e}return b.positions[f]%d.a==d.b},index:function(a){for(var b=this,d=0;b=b.previousSibling;)if(1==
b.nodeType&&++d>a)return!1;return d==a},even:function(a,b){return Selectors.Pseudo["nth-child"].call(this,"2n+1",b)},odd:function(a,b){return Selectors.Pseudo["nth-child"].call(this,"2n",b)},selected:function(){return this.selected},enabled:function(){return!1===this.disabled}});Element.Events.domready={onAdd:function(a){Browser.loaded&&a.call(this)}};
(function(){var a=function(){Browser.loaded||(Browser.loaded=!0,window.fireEvent("domready"),document.fireEvent("domready"))};window.addEvent("load",a);if(Browser.Engine.trident){var b=document.createElement("div");(function(){$try(function(){b.doScroll();return document.id(b).inject(document.body).set("html","temp").dispose()})?a():arguments.callee.delay(50)})()}else Browser.Engine.webkit&&525>Browser.Engine.version?function(){["loaded","complete"].contains(document.readyState)?a():arguments.callee.delay(50)}():
document.addEvent("DOMContentLoaded",a)})();
var JSON=(new Hash(this.JSON&&{stringify:JSON.stringify,parse:JSON.parse})).extend({$specialChars:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},$replaceChars:function(a){return JSON.$specialChars[a]||"\\u00"+Math.floor(a.charCodeAt()/16).toString(16)+(a.charCodeAt()%16).toString(16)},encode:function(a){switch($type(a)){case "string":return'"'+a.replace(/[\x00-\x1f\\"]/g,JSON.$replaceChars)+'"';case "array":return"["+String(a.map(JSON.encode).clean())+"]";case "object":case "hash":var b=
[];Hash.each(a,function(a,e){var f=JSON.encode(a);f&&b.push(JSON.encode(e)+":"+f)});return"{"+b+"}";case "number":case "boolean":return String(a);case !1:return"null"}return null},decode:function(a,b){return"string"!=$type(a)||!a.length||b&&!/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/.test(a.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,""))?null:eval("("+a+")")}}),Cookie=new Class({Implements:Options,options:{path:!1,domain:!1,duration:!1,secure:!1,document:document},initialize:function(a,b){this.key=
a;this.setOptions(b)},write:function(a){a=encodeURIComponent(a);this.options.domain&&(a+="; domain="+this.options.domain);this.options.path&&(a+="; path="+this.options.path);if(this.options.duration){var b=new Date;b.setTime(b.getTime()+864E5*this.options.duration);a+="; expires="+b.toGMTString()}this.options.secure&&(a+="; secure");this.options.document.cookie=this.key+"="+a;return this},read:function(){var a=this.options.document.cookie.match("(?:^|;)\\s*"+this.key.escapeRegExp()+"=([^;]*)");return a?
decodeURIComponent(a[1]):null},dispose:function(){(new Cookie(this.key,$merge(this.options,{duration:-1}))).write("");return this}});Cookie.write=function(a,b,d){return(new Cookie(a,d)).write(b)};Cookie.read=function(a){return(new Cookie(a)).read()};Cookie.dispose=function(a,b){return(new Cookie(a,b)).dispose()};
var Swiff=new Class({Implements:[Options],options:{id:null,height:1,width:1,container:null,properties:{},params:{quality:"high",allowScriptAccess:"always",wMode:"transparent",swLiveConnect:!0},callBacks:{},vars:{}},toElement:function(){return this.object},initialize:function(a,b){this.instance="Swiff_"+$time();this.setOptions(b);b=this.options;var d=this.id=b.id||this.instance,e=document.id(b.container);Swiff.CallBacks[this.instance]={};var f=b.params,g=b.vars,h=b.callBacks,l=$extend({height:b.height,
width:b.width},b.properties),m=this,q;for(q in h)Swiff.CallBacks[this.instance][q]=function(a){return function(){return a.apply(m.object,arguments)}}(h[q]),g[q]="Swiff.CallBacks."+this.instance+"."+q;f.flashVars=Hash.toQueryString(g);Browser.Engine.trident?(l.classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",f.movie=a):(l.type="application/x-shockwave-flash",l.data=a);var d='<object id="'+d+'"',r;for(r in l)d+=" "+r+'="'+l[r]+'"';var d=d+">",u;for(u in f)f[u]&&(d+='<param name="'+u+'" value="'+
f[u]+'" />');d+="</object>";this.object=(e?e.empty():new Element("div")).set("html",d).firstChild},replaces:function(a){a=document.id(a,!0);a.parentNode.replaceChild(this.toElement(),a);return this},inject:function(a){document.id(a,!0).appendChild(this.toElement());return this},remote:function(){return Swiff.remote.apply(Swiff,[this.toElement()].extend(arguments))}});Swiff.CallBacks={};
Swiff.remote=function(a,b){var d=a.CallFunction('<invoke name="'+b+'" returntype="javascript">'+__flash__argumentsToXML(arguments,2)+"</invoke>");return eval(d)};
var Fx=new Class({Implements:[Chain,Events,Options],options:{fps:50,unit:!1,duration:500,link:"ignore"},initialize:function(a){this.subject=this.subject||this;this.setOptions(a);this.options.duration=Fx.Durations[this.options.duration]||this.options.duration.toInt();!1===this.options.wait&&(this.options.link="cancel")},getTransition:function(){return function(a){return-(Math.cos(Math.PI*a)-1)/2}},step:function(){var a=$time();a<this.time+this.options.duration?(a=this.transition((a-this.time)/this.options.duration),
this.set(this.compute(this.from,this.to,a))):(this.set(this.compute(this.from,this.to,1)),this.complete())},set:function(a){return a},compute:function(a,b,d){return Fx.compute(a,b,d)},check:function(){if(!this.timer)return!0;switch(this.options.link){case "cancel":return this.cancel(),!0;case "chain":this.chain(this.caller.bind(this,arguments))}return!1},start:function(a,b){if(!this.check(a,b))return this;this.from=a;this.to=b;this.time=0;this.transition=this.getTransition();this.startTimer();this.onStart();
return this},complete:function(){if(this.stopTimer())this.onComplete();return this},cancel:function(){if(this.stopTimer())this.onCancel();return this},onStart:function(){this.fireEvent("start",this.subject)},onComplete:function(){this.fireEvent("complete",this.subject);this.callChain()||this.fireEvent("chainComplete",this.subject)},onCancel:function(){this.fireEvent("cancel",this.subject).clearChain()},pause:function(){this.stopTimer();return this},resume:function(){this.startTimer();return this},
stopTimer:function(){if(!this.timer)return!1;this.time=$time()-this.time;this.timer=$clear(this.timer);return!0},startTimer:function(){if(this.timer)return!1;this.time=$time()-this.time;this.timer=this.step.periodical(Math.round(1E3/this.options.fps),this);return!0}});Fx.compute=function(a,b,d){return(b-a)*d+a};Fx.Durations={"short":250,normal:500,"long":1E3};
Fx.CSS=new Class({Extends:Fx,prepare:function(a,b,d){d=$splat(d);$chk(d[1])||(d[1]=d[0],d[0]=a.getStyle(b));a=d.map(this.parse);return{from:a[0],to:a[1]}},parse:function(a){a=$lambda(a)();a="string"==typeof a?a.split(" "):$splat(a);return a.map(function(a){a=String(a);var d=!1;Fx.CSS.Parsers.each(function(e,f){if(!d){var g=e.parse(a);$chk(g)&&(d={value:g,parser:e})}});return d=d||{value:a,parser:Fx.CSS.Parsers.String}})},compute:function(a,b,d){var e=[];Math.min(a.length,b.length).times(function(f){e.push({value:a[f].parser.compute(a[f].value,
b[f].value,d),parser:a[f].parser})});e.$family={name:"fx:css:value"};return e},serve:function(a,b){"fx:css:value"!=$type(a)&&(a=this.parse(a));var d=[];a.each(function(a){d=d.concat(a.parser.serve(a.value,b))});return d},render:function(a,b,d,e){a.setStyle(b,this.serve(d,e))},search:function(a){if(Fx.CSS.Cache[a])return Fx.CSS.Cache[a];var b={};Array.each(document.styleSheets,function(d,e){var f=d.href;f&&f.contains("://")&&!f.contains(document.domain)||Array.each(d.rules||d.cssRules,function(d,e){if(d.style){var f=
d.selectorText?d.selectorText.replace(/^\w+/,function(a){return a.toLowerCase()}):null;f&&f.test("^"+a+"$")&&Element.Styles.each(function(a,e){d.style[e]&&!Element.ShortStyles[e]&&(a=String(d.style[e]),b[e]=a.test(/^rgb/)?a.rgbToHex():a)})}})});return Fx.CSS.Cache[a]=b}});Fx.CSS.Cache={};
Fx.CSS.Parsers=new Hash({Color:{parse:function(a){return a.match(/^#[0-9a-f]{3,6}$/i)?a.hexToRgb(!0):(a=a.match(/(\d+),\s*(\d+),\s*(\d+)/))?[a[1],a[2],a[3]]:!1},compute:function(a,b,d){return a.map(function(e,f){return Math.round(Fx.compute(a[f],b[f],d))})},serve:function(a){return a.map(Number)}},Number:{parse:parseFloat,compute:Fx.compute,serve:function(a,b){return b?a+b:a}},String:{parse:$lambda(!1),compute:$arguments(1),serve:$arguments(0)}});
Fx.Tween=new Class({Extends:Fx.CSS,initialize:function(a,b){this.element=this.subject=document.id(a);this.parent(b)},set:function(a,b){1==arguments.length&&(b=a,a=this.property||this.options.property);this.render(this.element,a,b,this.options.unit);return this},start:function(a,b,d){if(!this.check(a,b,d))return this;var e=Array.flatten(arguments);this.property=this.options.property||e.shift();e=this.prepare(this.element,this.property,e);return this.parent(e.from,e.to)}});
Element.Properties.tween={set:function(a){var b=this.retrieve("tween");b&&b.cancel();return this.eliminate("tween").store("tween:options",$extend({link:"cancel"},a))},get:function(a){if(a||!this.retrieve("tween"))!a&&this.retrieve("tween:options")||this.set("tween",a),this.store("tween",new Fx.Tween(this,this.retrieve("tween:options")));return this.retrieve("tween")}};
Element.implement({tween:function(a,b,d){this.get("tween").start(arguments);return this},fade:function(a){var b=this.get("tween"),d;a=$pick(a,"toggle");switch(a){case "in":b.start("opacity",1);break;case "out":b.start("opacity",0);break;case "show":b.set("opacity",1);break;case "hide":b.set("opacity",0);break;case "toggle":d=this.retrieve("fade:flag",1==this.get("opacity"));b.start("opacity",d?0:1);this.store("fade:flag",!d);d=!0;break;default:b.start("opacity",arguments)}d||this.eliminate("fade:flag");
return this},highlight:function(a,b){b||(b=this.retrieve("highlight:original",this.getStyle("background-color")),b="transparent"==b?"#fff":b);var d=this.get("tween");d.start("background-color",a||"#ffff88",b).chain(function(){this.setStyle("background-color",this.retrieve("highlight:original"));d.callChain()}.bind(this));return this}});
Fx.Morph=new Class({Extends:Fx.CSS,initialize:function(a,b){this.element=this.subject=document.id(a);this.parent(b)},set:function(a){"string"==typeof a&&(a=this.search(a));for(var b in a)this.render(this.element,b,a[b],this.options.unit);return this},compute:function(a,b,d){var e={},f;for(f in a)e[f]=this.parent(a[f],b[f],d);return e},start:function(a){if(!this.check(a))return this;"string"==typeof a&&(a=this.search(a));var b={},d={},e;for(e in a){var f=this.prepare(this.element,e,a[e]);b[e]=f.from;
d[e]=f.to}return this.parent(b,d)}});Element.Properties.morph={set:function(a){var b=this.retrieve("morph");b&&b.cancel();return this.eliminate("morph").store("morph:options",$extend({link:"cancel"},a))},get:function(a){if(a||!this.retrieve("morph"))!a&&this.retrieve("morph:options")||this.set("morph",a),this.store("morph",new Fx.Morph(this,this.retrieve("morph:options")));return this.retrieve("morph")}};Element.implement({morph:function(a){this.get("morph").start(a);return this}});
Fx.implement({getTransition:function(){var a=this.options.transition||Fx.Transitions.Sine.easeInOut;if("string"==typeof a){var b=a.split(":"),a=Fx.Transitions,a=a[b[0]]||a[b[0].capitalize()];b[1]&&(a=a["ease"+b[1].capitalize()+(b[2]?b[2].capitalize():"")])}return a}});Fx.Transition=function(a,b){b=$splat(b);return $extend(a,{easeIn:function(d){return a(d,b)},easeOut:function(d){return 1-a(1-d,b)},easeInOut:function(d){return 0.5>=d?a(2*d,b)/2:(2-a(2*(1-d),b))/2}})};Fx.Transitions=new Hash({linear:$arguments(0)});
Fx.Transitions.extend=function(a){for(var b in a)Fx.Transitions[b]=new Fx.Transition(a[b])};
Fx.Transitions.extend({Pow:function(a,b){return Math.pow(a,b[0]||6)},Expo:function(a){return Math.pow(2,8*(a-1))},Circ:function(a){return 1-Math.sin(Math.acos(a))},Sine:function(a){return 1-Math.sin((1-a)*Math.PI/2)},Back:function(a,b){b=b[0]||1.618;return Math.pow(a,2)*((b+1)*a-b)},Bounce:function(a){for(var b,d=0,e=1;;d+=e,e/=2)if(a>=(7-4*d)/11){b=e*e-Math.pow((11-6*d-11*a)/4,2);break}return b},Elastic:function(a,b){return Math.pow(2,10*--a)*Math.cos(20*a*Math.PI*(b[0]||1)/3)}});
["Quad","Cubic","Quart","Quint"].each(function(a,b){Fx.Transitions[a]=new Fx.Transition(function(a){return Math.pow(a,[b+2])})});
var Request=new Class({Implements:[Chain,Events,Options],options:{url:"",data:"",headers:{"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*"},async:!0,format:!1,method:"post",link:"ignore",isSuccess:null,emulation:!0,urlEncoded:!0,encoding:"utf-8",evalScripts:!1,evalResponse:!1,noCache:!1},initialize:function(a){this.xhr=new Browser.Request;this.setOptions(a);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers=new Hash(this.options.headers)},
onStateChange:function(){4==this.xhr.readyState&&this.running&&(this.running=!1,this.status=0,$try(function(){this.status=this.xhr.status}.bind(this)),this.xhr.onreadystatechange=$empty,this.options.isSuccess.call(this,this.status)?(this.response={text:this.xhr.responseText,xml:this.xhr.responseXML},this.success(this.response.text,this.response.xml)):(this.response={text:null,xml:null},this.failure()))},isSuccess:function(){return 200<=this.status&&300>this.status},processScripts:function(a){return this.options.evalResponse||
/(ecma|java)script/.test(this.getHeader("Content-type"))?$exec(a):a.stripScripts(this.options.evalScripts)},success:function(a,b){this.onSuccess(this.processScripts(a),b)},onSuccess:function(){this.fireEvent("complete",arguments).fireEvent("success",arguments).callChain()},failure:function(){this.onFailure()},onFailure:function(){this.fireEvent("complete").fireEvent("failure",this.xhr)},setHeader:function(a,b){this.headers.set(a,b);return this},getHeader:function(a){return $try(function(){return this.xhr.getResponseHeader(a)}.bind(this))},
check:function(){if(!this.running)return!0;switch(this.options.link){case "cancel":return this.cancel(),!0;case "chain":this.chain(this.caller.bind(this,arguments))}return!1},send:function(a){if(!this.check(a))return this;this.running=!0;var b=$type(a);if("string"==b||"element"==b)a={data:a};b=this.options;a=$extend({data:b.data,url:b.url,method:b.method},a);var b=a.data,d=String(a.url);a=a.method.toLowerCase();switch($type(b)){case "element":b=document.id(b).toQueryString();break;case "object":case "hash":b=
Hash.toQueryString(b)}if(this.options.format)var e="format="+this.options.format,b=b?e+"&"+b:e;this.options.emulation&&!["get","post"].contains(a)&&(a="_method="+a,b=b?a+"&"+b:a,a="post");this.options.urlEncoded&&"post"==a&&this.headers.set("Content-type","application/x-www-form-urlencoded"+(this.options.encoding?"; charset="+this.options.encoding:""));this.options.noCache&&(e="noCache="+(new Date).getTime(),b=b?e+"&"+b:e);e=d.lastIndexOf("/");-1<e&&-1<(e=d.indexOf("#"))&&(d=d.substr(0,e));b&&"get"==
a&&(d=d+(d.contains("?")?"&":"?")+b,b=null);this.xhr.open(a.toUpperCase(),d,this.options.async);this.xhr.onreadystatechange=this.onStateChange.bind(this);this.headers.each(function(a,b){try{this.xhr.setRequestHeader(b,a)}catch(d){this.fireEvent("exception",[b,a])}},this);this.fireEvent("request");this.xhr.send(b);if(!this.options.async)this.onStateChange();return this},cancel:function(){if(!this.running)return this;this.running=!1;this.xhr.abort();this.xhr.onreadystatechange=$empty;this.xhr=new Browser.Request;
this.fireEvent("cancel");return this}});(function(){var a={};"get post put delete GET POST PUT DELETE".split(" ").each(function(b){a[b]=function(){var a=Array.link(arguments,{url:String.type,data:$defined});return this.send($extend(a,{method:b}))}});Request.implement(a)})();
Element.Properties.send={set:function(a){var b=this.retrieve("send");b&&b.cancel();return this.eliminate("send").store("send:options",$extend({data:this,link:"cancel",method:this.get("method")||"post",url:this.get("action")},a))},get:function(a){if(a||!this.retrieve("send"))!a&&this.retrieve("send:options")||this.set("send",a),this.store("send",new Request(this.retrieve("send:options")));return this.retrieve("send")}};
Element.implement({send:function(a){var b=this.get("send");b.send({data:this,url:a||b.options.url});return this}});
Request.HTML=new Class({Extends:Request,options:{update:!1,append:!1,evalScripts:!0,filter:!1},processHTML:function(a){var b=a.match(/<body[^>]*>([\s\S]*?)<\/body>/i);a=b?b[1]:a;var d=new Element("div");return $try(function(){var b="<root>"+a+"</root>",f;Browser.Engine.trident?(f=new ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(b)):f=(new DOMParser).parseFromString(b,"text/xml");b=f.getElementsByTagName("root")[0];if(!b)return null;f=0;for(var g=b.childNodes.length;f<g;f++){var h=Element.clone(b.childNodes[f],
!0,!0);h&&d.grab(h)}return d})||d.set("html",a)},success:function(a){var b=this.options,d=this.response;d.html=a.stripScripts(function(a){d.javascript=a});a=this.processHTML(d.html);d.tree=a.childNodes;d.elements=a.getElements("*");b.filter&&(d.tree=d.elements.filter(b.filter));b.update?document.id(b.update).empty().set("html",d.html):b.append&&document.id(b.append).adopt(a.getChildren());b.evalScripts&&$exec(d.javascript);this.onSuccess(d.tree,d.elements,d.html,d.javascript)}});
Element.Properties.load={set:function(a){var b=this.retrieve("load");b&&b.cancel();return this.eliminate("load").store("load:options",$extend({data:this,link:"cancel",update:this,method:"get"},a))},get:function(a){if(a||!this.retrieve("load"))!a&&this.retrieve("load:options")||this.set("load",a),this.store("load",new Request.HTML(this.retrieve("load:options")));return this.retrieve("load")}};
Element.implement({load:function(){this.get("load").send(Array.link(arguments,{data:Object.type,url:String.type}));return this}});Request.JSON=new Class({Extends:Request,options:{secure:!0},initialize:function(a){this.parent(a);this.headers.extend({Accept:"application/json","X-Request":"JSON"})},success:function(a){this.response.json=JSON.decode(a,this.options.secure);this.onSuccess(this.response.json,a)}});MooTools.More={version:"1.2.5.1",build:"254884f2b83651bf95260eed5c6cceb838e22d8e"};
(function(){var a="en-US",b={"en-US":{}},d=["en-US"],e;MooTools.lang=new Events;$extend(MooTools.lang,{setLanguage:function(d){if(!b[d])return this;a=d;this.load();this.fireEvent("langChange",d);return this},load:function(){var a=this.cascade(this.getCurrentLanguage());e={};$each(a,function(a,b){e[b]=this.lambda(a)},this)},getCurrentLanguage:function(){return a},addLanguage:function(a){b[a]=b[a]||{};return this},cascade:function(a){var e=(b[a]||{}).cascades||[];e.combine(d);e.erase(a).push(a);a=e.map(function(a){return b[a]},
this);return $merge.apply(this,a)},lambda:function(a){(a||{}).get=function(b,d){return $lambda(a[b]).apply(this,$splat(d))};return a},get:function(a,b,d){if(e&&e[a])return b?e[a].get(b,d):e[a]},set:function(a,d,e){this.addLanguage(a);langData=b[a];langData[d]||(langData[d]={});$extend(langData[d],e);a==this.getCurrentLanguage()&&(this.load(),this.fireEvent("langChange",a));return this},list:function(){return Hash.getKeys(b)}})})();
(function(){var a=this,b=function(){if(a.console&&console.log)try{console.log.apply(console,arguments)}catch(b){console.log(Array.slice(arguments))}else Log.logged.push(arguments);return this},d=function(){this.logged.push(arguments);return this};this.Log=new Class({logged:[],log:d,resetLog:function(){this.logged.empty();return this},enableLog:function(){this.log=b;this.logged.each(function(a){this.log.apply(this,a)},this);return this.resetLog()},disableLog:function(){this.log=d;return this}});Log.extend(new Log).enableLog();
Log.logger=function(){return this.log.apply(this,arguments)}})();Class.refactor=function(a,b){$each(b,function(b,e){var f=a.prototype[e];f&&(f=f._origin?f._origin:f)&&"function"==typeof b?a.implement(e,function(){var a=this.previous;this.previous=f;var e=b.apply(this,arguments);this.previous=a;return e}):a.implement(e,b)});return a};Class.Mutators.Binds=function(a){return a};
Class.Mutators.initialize=function(a){return function(){$splat(this.Binds).each(function(a){var d=this[a];d&&(this[a]=d.bind(this))},this);return a.apply(this,arguments)}};Class.Occlude=new Class({occlude:function(a,b){b=document.id(b||this.element);var d=b.retrieve(a||this.property);if(d&&!$defined(this.occluded))return this.occluded=d;this.occluded=!1;b.store(a||this.property,this);return this.occluded}});
(function(){var a={wait:function(a){return this.chain(function(){this.callChain.delay($pick(a,500),this)}.bind(this))}};Chain.implement(a);window.Fx&&(Fx.implement(a),["Css","Tween","Elements"].each(function(b){Fx[b]&&Fx[b].implement(a)}));Element.implement({chains:function(a){$splat($pick(a,["tween","morph","reveal"])).each(function(a){(a=this.get(a))&&a.setOptions({link:"chain"})},this);return this},pauseFx:function(a,d){this.chains(d).get($pick(d,"tween")).wait(a);return this}})})();
Array.implement({min:function(){return Math.min.apply(null,this)},max:function(){return Math.max.apply(null,this)},average:function(){return this.length?this.sum()/this.length:0},sum:function(){var a=0,b=this.length;if(b){do a+=this[--b];while(b)}return a},unique:function(){return[].combine(this)},shuffle:function(){for(var a=this.length;a&&--a;){var b=this[a],d=Math.floor(Math.random()*(a+1));this[a]=this[d];this[d]=b}return this}});
(function(){var a=this.Date;a.now||(a.now=$time);a.Methods={ms:"Milliseconds",year:"FullYear",min:"Minutes",mo:"Month",sec:"Seconds",hr:"Hours"};"Date Day FullYear Hours Milliseconds Minutes Month Seconds Time TimezoneOffset Week Timezone GMTOffset DayOfYear LastMonth LastDayOfMonth UTCDate UTCDay UTCFullYear AMPM Ordinal UTCHours UTCMilliseconds UTCMinutes UTCMonth UTCSeconds UTCMilliseconds".split(" ").each(function(b){a.Methods[b.toLowerCase()]=b});var b=function(a,b){return Array(b-String(a).length+
1).join("0")+a};a.implement({set:function(b,d){switch($type(b)){case "object":for(var e in b)this.set(e,b[e]);break;case "string":if(b=b.toLowerCase(),e=a.Methods,e[b])this["set"+e[b]](d)}return this},get:function(b){b=b.toLowerCase();var d=a.Methods;return d[b]?this["get"+d[b]]():null},clone:function(){return new a(this.get("time"))},increment:function(b,d){b=b||"day";d=$pick(d,1);switch(b){case "year":return this.increment("month",12*d);case "month":var e=this.get("date");this.set("date",1).set("mo",
this.get("mo")+d);return this.set("date",e.min(this.get("lastdayofmonth")));case "week":return this.increment("day",7*d);case "day":return this.set("date",this.get("date")+d)}if(!a.units[b])throw Error(b+" is not a supported interval");return this.set("time",this.get("time")+d*a.units[b]())},decrement:function(a,b){return this.increment(a,-1*$pick(b,1))},isLeapYear:function(){return a.isLeapYear(this.get("year"))},clearTime:function(){return this.set({hr:0,min:0,sec:0,ms:0})},diff:function(b,d){"string"==
$type(b)&&(b=a.parse(b));return((b-this)/a.units[d||"day"](3,3)).round()},getLastDayOfMonth:function(){return a.daysInMonth(this.get("mo"),this.get("year"))},getDayOfYear:function(){return(a.UTC(this.get("year"),this.get("mo"),this.get("date")+1)-a.UTC(this.get("year"),0,1))/a.units.day()},getWeek:function(){return(this.get("dayofyear")/7).ceil()},getOrdinal:function(b){return a.getMsg("ordinal",b||this.get("date"))},getTimezone:function(){return this.toString().replace(/^.*? ([A-Z]{3}).[0-9]{4}.*$/,
"$1").replace(/^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/,"$1$2$3")},getGMTOffset:function(){var a=this.get("timezoneOffset");return(0<a?"-":"+")+b((a.abs()/60).floor(),2)+b(a%60,2)},setAMPM:function(a){a=a.toUpperCase();var b=this.get("hr");return 11<b&&"AM"==a?this.decrement("hour",12):12>b&&"PM"==a?this.increment("hour",12):this},getAMPM:function(){return 12>this.get("hr")?"AM":"PM"},parse:function(b){this.set("time",a.parse(b));return this},isValid:function(a){return!isNaN((a||this).valueOf())},
format:function(e){if(!this.isValid())return"invalid date";e=e||"%x %X";e=d[e.toLowerCase()]||e;var f=this;return e.replace(/%([a-z%])/gi,function(d,e){switch(e){case "a":return a.getMsg("days")[f.get("day")].substr(0,3);case "A":return a.getMsg("days")[f.get("day")];case "b":return a.getMsg("months")[f.get("month")].substr(0,3);case "B":return a.getMsg("months")[f.get("month")];case "c":return f.toString();case "d":return b(f.get("date"),2);case "D":return f.get("date");case "e":return f.get("date");
case "H":return b(f.get("hr"),2);case "I":return f.get("hr")%12||12;case "j":return b(f.get("dayofyear"),3);case "m":return b(f.get("mo")+1,2);case "M":return b(f.get("min"),2);case "o":return f.get("ordinal");case "p":return a.getMsg(f.get("ampm"));case "s":return Math.round(f/1E3);case "S":return b(f.get("seconds"),2);case "U":return b(f.get("week"),2);case "w":return f.get("day");case "x":return f.format(a.getMsg("shortDate"));case "X":return f.format(a.getMsg("shortTime"));case "y":return f.get("year").toString().substr(2);
case "Y":return f.get("year");case "T":return f.get("GMTOffset");case "Z":return f.get("Timezone");case "z":return b(f.get("ms"),3)}return e})},toISOString:function(){return this.format("iso8601")}});a.alias("toISOString","toJSON");a.alias("diff","compare");a.alias("format","strftime");var d={db:"%Y-%m-%d %H:%M:%S",compact:"%Y%m%dT%H%M%S",iso8601:"%Y-%m-%dT%H:%M:%S%T",rfc822:"%a, %d %b %Y %H:%M:%S %Z","short":"%d %b %H:%M","long":"%B %d, %Y %H:%M"},e=[],f=a.parse,g=function(b,d,e){var f=-1,g=a.getMsg(b+
"s");switch($type(d)){case "object":f=g[d.get(b)];break;case "number":f=g[d];if(!f)throw Error("Invalid "+b+" index: "+d);break;case "string":d=g.filter(function(a){return this.test(a)},RegExp("^"+d,"i"));if(!d.length)throw Error("Invalid "+b+" string");if(1<d.length)throw Error("Ambiguous "+b);f=d[0]}return e?g.indexOf(f):f};a.extend({getMsg:function(a,b){return MooTools.lang.get("Date",a,b)},units:{ms:$lambda(1),second:$lambda(1E3),minute:$lambda(6E4),hour:$lambda(36E5),day:$lambda(864E5),week:$lambda(6084E5),
month:function(b,d){var e=new a;return 864E5*a.daysInMonth($pick(b,e.get("mo")),$pick(d,e.get("year")))},year:function(b){b=b||(new a).get("year");return a.isLeapYear(b)?316224E5:31536E6}},daysInMonth:function(b,d){return[31,a.isLeapYear(d)?29:28,31,30,31,30,31,31,30,31,30,31][b]},isLeapYear:function(a){return 0===a%4&&0!==a%100||0===a%400},parse:function(b){var d=$type(b);if("number"==d)return new a(b);if("string"!=d)return b;b=b.clean();if(!b.length)return null;var g;e.some(function(a){var d=a.re.exec(b);
return d?g=a.handler(d):!1});return g||new a(f(b))},parseDay:function(a,b){return g("day",a,b)},parseMonth:function(a,b){return g("month",a,b)},parseUTC:function(b){b=new a(b);b=a.UTC(b.get("year"),b.get("mo"),b.get("date"),b.get("hr"),b.get("min"),b.get("sec"),b.get("ms"));return new a(b)},orderIndex:function(b){return a.getMsg("dateOrder").indexOf(b)+1},defineFormat:function(a,b){d[a]=b},defineFormats:function(b){for(var d in b)a.defineFormat(d,b[d])},parsePatterns:e,defineParser:function(a){e.push(a.re&&
a.handler?a:z(a))},defineParsers:function(){Array.flatten(arguments).each(a.defineParser)},define2DigitYearStart:function(a){l=a%100;h=a-l}});var h=1900,l=70,m=function(b){return RegExp("(?:"+a.getMsg(b).map(function(a){return a.substr(0,3)}).join("|")+")[a-z]*")},q={d:/[0-2]?[0-9]|3[01]/,H:/[01]?[0-9]|2[0-3]/,I:/0?[1-9]|1[0-2]/,M:/[0-5]?\d/,s:/\d+/,o:/[a-z]*/,p:/[ap]\.?m\.?/,y:/\d{2}|\d{4}/,Y:/\d{4}/,T:/Z|[+-]\d{2}(?::?\d{2})?/};q.m=q.I;q.S=q.M;var r,u=function(a){r=a;q.a=q.A=m("days");q.b=q.B=m("months");
e.each(function(a,b){a.format&&(e[b]=z(a.format))})},z=function(b){if(!r)return{format:b};var d=[],e=(b.source||b).replace(/%([a-z])/gi,function(b,d){var e;a:{switch(d){case "x":e=(1==a.orderIndex("month")?"%m[-./]%d":"%d[-./]%m")+"([-./]%y)?";break a;case "X":e="%H([.:]%M)?([.:]%S([.:]%s)?)? ?%p? ?%T?";break a}e=null}return e||b}).replace(/\((?!\?)/g,"(?:").replace(/ (?!\?|\*)/g,",? ").replace(/%([a-z%])/gi,function(a,b){var e=q[b];if(!e)return b;d.push(b);return"("+e.source+")"}).replace(/\[a-z\]/gi,
"[a-z\\u00c0-\\uffff]");return{format:b,re:RegExp("^"+e+"$","i"),handler:function(b){b=b.slice(1).associate(d);var e=(new a).clearTime(),f=b.y||b.Y;null!=f&&v.call(e,"y",f);"d"in b&&v.call(e,"d",1);("m"in b||"b"in b||"B"in b)&&v.call(e,"m",1);for(var g in b)v.call(e,g,b[g]);return e}}},v=function(b,d){if(!d)return this;switch(b){case "a":case "A":return this.set("day",a.parseDay(d,!0));case "b":case "B":return this.set("mo",a.parseMonth(d,!0));case "d":return this.set("date",d);case "H":case "I":return this.set("hr",
d);case "m":return this.set("mo",d-1);case "M":return this.set("min",d);case "p":return this.set("ampm",d.replace(/\./g,""));case "S":return this.set("sec",d);case "s":return this.set("ms",1E3*("0."+d));case "w":return this.set("day",d);case "Y":return this.set("year",d);case "y":return d=+d,100>d&&(d+=h+(d<l?100:0)),this.set("year",d);case "T":"Z"==d&&(d="+00");var e=d.match(/([+-])(\d{2}):?(\d{2})?/),e=(e[1]+"1")*(60*e[2]+(+e[3]||0))+this.getTimezoneOffset();return this.set("time",this-6E4*e)}return this};
a.defineParsers("%Y([-./]%m([-./]%d((T| )%X)?)?)?","%Y%m%d(T%H(%M%S?)?)?","%x( %X)?","%d%o( %b( %Y)?)?( %X)?","%b( %d%o)?( %Y)?( %X)?","%Y %b( %d%o( %X)?)?","%o %b %d %X %T %Y");MooTools.lang.addEvent("langChange",function(a){MooTools.lang.get("Date")&&u(a)}).fireEvent("langChange",MooTools.lang.getCurrentLanguage())})();
Date.implement({timeDiffInWords:function(a){return Date.distanceOfTimeInWords(this,a||new Date)},timeDiff:function(a,b){null==a&&(a=new Date);var d=((a-this)/1E3).toInt();if(!d)return"0s";var e={s:60,m:60,h:24,d:365,y:0},f,g=[],h;for(h in e){if(!d)break;(f=e[h])?(g.unshift(d%f+h),d=(d/f).toInt()):g.unshift(d+h)}return g.join(b||":")}});Date.alias("timeDiffInWords","timeAgoInWords");
Date.extend({distanceOfTimeInWords:function(a,b){return Date.getTimePhrase(((b-a)/1E3).toInt())},getTimePhrase:function(a){var b=0>a?"Until":"Ago";0>a&&(a*=-1);var d={minute:60,hour:60,day:24,week:7,month:52/12,year:12,eon:Infinity},e="lessThanMinute",f;for(f in d){var g=d[f];if(a<1.5*g){a>0.75*g&&(e=f);break}a/=g;e=f+"s"}return Date.getMsg(e+b,a).substitute({delta:a.round()})}});
Date.defineParsers({re:/^(?:tod|tom|yes)/i,handler:function(a){var b=(new Date).clearTime();switch(a[0]){case "tom":return b.increment();case "yes":return b.decrement();default:return b}}},{re:/^(next|last) ([a-z]+)$/i,handler:function(a){var b=(new Date).clearTime(),d=b.getDay(),e=Date.parseDay(a[2],!0),f=e-d;e<=d&&(f+=7);"last"==a[1]&&(f-=7);return b.set("date",b.getDate()+f)}});
Hash.implement({getFromPath:function(a){var b=this.getClean();a.replace(/\[([^\]]+)\]|\.([^.[]+)|[^[.]+/g,function(a,e,f){if(!b)return null;e=f||e||a;b=e in b?b[e]:null;return a});return b},cleanValues:function(a){a=a||$defined;this.each(function(b,d){a(b)||this.erase(d)},this);return this},run:function(){var a=arguments;this.each(function(b,d){"function"==$type(b)&&b.run(a)})}});
(function(){function a(a,b){var d=a;for(key in b)d=d.replace(RegExp(b[key],"g"),key);return d}function b(a,b){a=a||"";return reg=RegExp(b?"<"+a+"(?!\\w)[^>]*>([\\s\\S]*?)</"+a+"(?!\\w)>":"</?"+a+"([^>]+)?>","gi")}var d={a:"[àáâãäåăą]",A:"[ÀÁÂÃÄÅĂĄ]",c:"[ćčç]",C:"[ĆČÇ]",d:"[ďđ]",D:"[ĎÐ]",e:"[èéêëěę]",E:"[ÈÉÊËĚĘ]",g:"[ğ]",G:"[Ğ]",i:"[ìíîï]",I:"[ÌÍÎÏ]",l:"[ĺľł]",L:"[ĹĽŁ]",n:"[ñňń]",N:"[ÑŇŃ]",o:"[òóôõöøő]",O:"[ÒÓÔÕÖØ]",r:"[řŕ]",R:"[ŘŔ]",s:"[ššş]",S:"[ŠŞŚ]",t:"[ťţ]",T:"[ŤŢ]",ue:"[ü]",UE:"[Ü]",u:"[ùúûůµ]",
U:"[ÙÚÛŮ]",y:"[ÿý]",Y:"[ŸÝ]",z:"[žźż]",Z:"[ŽŹŻ]",th:"[þ]",TH:"[Þ]",dh:"[ð]",DH:"[Ð]",ss:"[ß]",oe:"[œ]",OE:"[Œ]",ae:"[æ]",AE:"[Æ]"},e={" ":"[    ]","*":"[·]","'":"[‘’]",'"':"[“”]","...":"[…]","-":"[–]","--":"[—]","&raquo;":"[�]"};String.implement({standardize:function(){return a(this,d)},repeat:function(a){return Array(a+1).join(this)},pad:function(a,b,d){if(this.length>=a)return this;a=(null==b?" ":""+b).repeat(a-this.length).substr(0,a-this.length);return d&&"right"!=d?"left"==d?a+this:a.substr(0,
(a.length/2).floor())+this+a.substr(0,(a.length/2).ceil()):this+a},getTags:function(a,d){return this.match(b(a,d))||[]},stripTags:function(a,d){return this.replace(b(a,d),"")},tidy:function(){return a(this,e)}})})();
String.implement({parseQueryString:function(a,b){null==a&&(a=!0);null==b&&(b=!0);var d=this.split(/[&;]/),e={};d.length&&d.each(function(d){var g=d.indexOf("="),h=0>g?[""]:d.substr(0,g).match(/([^\]\[]+|(\B)(?=\]))/g),l=b?decodeURIComponent(d.substr(g+1)):d.substr(g+1),m=e;h.each(function(b,d){a&&(b=decodeURIComponent(b));var e=m[b];d<h.length-1?m=m[b]=e||{}:"array"==$type(e)?e.push(l):m[b]=$defined(e)?[e,l]:l})});return e},cleanQueryString:function(a){return this.split("&").filter(function(b){var d=
b.indexOf("="),e=0>d?"":b.substr(0,d);b=b.substr(d+1);return a?a.run([e,b]):$chk(b)}).join("&")}});
var URI=new Class({Implements:Options,options:{},regex:/^(?:(\w+):)?(?:\/\/(?:(?:([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)?(\.\.?$|(?:[^?#\/]*\/)*)([^?#]*)(?:\?([^#]*))?(?:#(.*))?/,parts:"scheme user password host port directory file query fragment".split(" "),schemes:{http:80,https:443,ftp:21,rtsp:554,mms:1755,file:0},initialize:function(a,b){this.setOptions(b);var d=this.options.base||URI.base;a||(a=d);a&&a.parsed?this.parsed=$unlink(a.parsed):this.set("value",a.href||a.toString(),d?new URI(d):
!1)},parse:function(a,b){var d=a.match(this.regex);if(!d)return!1;d.shift();return this.merge(d.associate(this.parts),b)},merge:function(a,b){if(!(a&&a.scheme||b&&b.scheme))return!1;b&&this.parts.every(function(d){if(a[d])return!1;a[d]=b[d]||"";return!0});a.port=a.port||this.schemes[a.scheme.toLowerCase()];a.directory=a.directory?this.parseDirectory(a.directory,b?b.directory:""):"/";return a},parseDirectory:function(a,b){a=("/"==a.substr(0,1)?"":b||"/")+a;if(!a.test(URI.regs.directoryDot))return a;
var d=[];a.replace(URI.regs.endSlash,"").split("/").each(function(a){".."==a&&0<d.length?d.pop():"."!=a&&d.push(a)});return d.join("/")+"/"},combine:function(a){return a.value||a.scheme+"://"+(a.user?a.user+(a.password?":"+a.password:"")+"@":"")+(a.host||"")+(a.port&&a.port!=this.schemes[a.scheme]?":"+a.port:"")+(a.directory||"/")+(a.file||"")+(a.query?"?"+a.query:"")+(a.fragment?"#"+a.fragment:"")},set:function(a,b,d){"value"==a?((a=b.match(URI.regs.scheme))&&(a=a[1]),a&&!$defined(this.schemes[a.toLowerCase()])?
this.parsed={scheme:a,value:b}:this.parsed=this.parse(b,(d||this).parsed)||(a?{scheme:a,value:b}:{value:b})):"data"==a?this.setData(b):this.parsed[a]=b;return this},get:function(a,b){switch(a){case "value":return this.combine(this.parsed,b?b.parsed:!1);case "data":return this.getData()}return this.parsed[a]||""},go:function(){document.location.href=this.toString()},toURI:function(){return this},getData:function(a,b){var d=this.get(b||"query");if(!$chk(d))return a?null:{};d=d.parseQueryString();return a?
d[a]:d},setData:function(a,b,d){"string"==typeof a?(data=this.getData(),data[a]=b,a=data):b&&(a=$merge(this.getData(),a));return this.set(d||"query",Hash.toQueryString(a))},clearData:function(a){return this.set(a||"query","")}});URI.prototype.toString=URI.prototype.valueOf=function(){return this.get("value")};URI.regs={endSlash:/\/$/,scheme:/^(\w+):/,directoryDot:/\.\/|\.$/};URI.base=new URI(document.getElements("base[href]",!0).getLast(),{base:document.location});
String.implement({toURI:function(a){return new URI(this,a)}});
URI=Class.refactor(URI,{combine:function(a,b){if(!b||a.scheme!=b.scheme||a.host!=b.host||a.port!=b.port)return this.previous.apply(this,arguments);var d=a.file+(a.query?"?"+a.query:"")+(a.fragment?"#"+a.fragment:"");if(!b.directory)return(a.directory||(a.file?"":"./"))+d;var e=b.directory.split("/"),f=a.directory.split("/"),g="",h,l=0;for(h=0;h<e.length&&h<f.length&&e[h]==f[h];h++);for(l=0;l<e.length-h-1;l++)g+="../";for(l=h;l<f.length-1;l++)g+=f[l]+"/";return(g||(a.file?"":"./"))+d},toAbsolute:function(a){(a=
new URI(a))&&a.set("directory","").set("file","");return this.toRelative(a)},toRelative:function(a){return this.get("value",new URI(a))}});
Element.implement({tidy:function(){this.set("value",this.get("value").tidy())},getTextInRange:function(a,b){return this.get("value").substring(a,b)},getSelectedText:function(){return this.setSelectionRange?this.getTextInRange(this.getSelectionStart(),this.getSelectionEnd()):document.selection.createRange().text},getSelectedRange:function(){if($defined(this.selectionStart))return{start:this.selectionStart,end:this.selectionEnd};var a={start:0,end:0},b=this.getDocument().selection.createRange();if(!b||
b.parentElement()!=this)return a;var d=b.duplicate();if("text"==this.type)a.start=0-d.moveStart("character",-1E5),a.end=a.start+b.text.length;else{var e=this.get("value"),f=e.length;d.moveToElementText(this);d.setEndPoint("StartToEnd",b);d.text.length&&(f-=e.match(/[\n\r]*$/)[0].length);a.end=f-d.text.length;d.setEndPoint("StartToStart",b);a.start=f-d.text.length}return a},getSelectionStart:function(){return this.getSelectedRange().start},getSelectionEnd:function(){return this.getSelectedRange().end},
setCaretPosition:function(a){"end"==a&&(a=this.get("value").length);this.selectRange(a,a);return this},getCaretPosition:function(){return this.getSelectedRange().start},selectRange:function(a,b){if(this.setSelectionRange)this.focus(),this.setSelectionRange(a,b);else{var d=this.get("value"),e=d.substr(a,b-a).replace(/\r/g,"").length;a=d.substr(0,a).replace(/\r/g,"").length;d=this.createTextRange();d.collapse(!0);d.moveEnd("character",a+e);d.moveStart("character",a);d.select()}return this},insertAtCursor:function(a,
b){var d=this.getSelectedRange(),e=this.get("value");this.set("value",e.substring(0,d.start)+a+e.substring(d.end,e.length));$pick(b,!0)?this.selectRange(d.start,d.start+a.length):this.setCaretPosition(d.start+a.length);return this},insertAroundCursor:function(a,b){a=$extend({before:"",defaultMiddle:"",after:""},a);var d=this.getSelectedText()||a.defaultMiddle,e=this.getSelectedRange(),f=this.get("value");e.start==e.end?(this.set("value",f.substring(0,e.start)+a.before+d+a.after+f.substring(e.end,
f.length)),this.selectRange(e.start+a.before.length,e.end+a.before.length+d.length)):(d=f.substring(e.start,e.end),this.set("value",f.substring(0,e.start)+a.before+d+a.after+f.substring(e.end,f.length)),e=e.start+a.before.length,$pick(b,!0)?this.selectRange(e,e+d.length):this.setCaretPosition(e+f.length));return this}});
Elements.from=function(a,b){$pick(b,!0)&&(a=a.stripScripts());var d,e=a.match(/^\s*<(t[dhr]|tbody|tfoot|thead)/i);e&&(d=new Element("table"),e=e[1].toLowerCase(),["td","th","tr"].contains(e)&&(d=(new Element("tbody")).inject(d),"tr"!=e&&(d=(new Element("tr")).inject(d))));return(d||new Element("div")).set("html",a).getChildren()};
(function(a,b){var d=/(.*?):relay\(((?:\(.*?\)|.)+)\)$/,e=/[+>~\s]/,f=function(a){var b=a.match(d);return b?{event:b[1],selector:b[2]}:{event:a}};Element.implement({addEvent:function(b,d){var l=f(b);if(l.selector){var m=this.retrieve("delegation:_delegateMonitors",{});if(!m[b]){var q=function(a){var d;a:{var f=l.selector;d=a.target;if(e.test(f=f.trim()))for(var f=this.getElements(f),h=f.length;h--;){var m=f[h];if(d==m||m.hasChild(d)){d=m;break a}}else for(;d&&d!=this;d=d.parentNode)if(Element.match(d,
f)){d=document.id(d);break a}d=null}d&&this.fireEvent(b,[a,d],0,d)}.bind(this);m[b]=q;a.call(this,l.event,q)}}return a.apply(this,arguments)},removeEvent:function(a,d){var e=f(a);if(e.selector){var m=this.retrieve("events");if(!m||!m[a]||d&&!m[a].keys.contains(d))return this;d?b.apply(this,[a,d]):b.apply(this,a);(m=this.retrieve("events"))&&m[a]&&0==m[a].keys.length&&(m=this.retrieve("delegation:_delegateMonitors",{}),b.apply(this,[e.event,m[a]]),delete m[a]);return this}return b.apply(this,arguments)},
fireEvent:function(a,b,d,e){var f=this.retrieve("events");if(!f||!f[a])return this;f[a].keys.each(function(a){a.create({bind:e||this,delay:d,arguments:b})()},this);return this}})})(Element.prototype.addEvent,Element.prototype.removeEvent);try{"undefined"!=typeof HTMLElement&&(HTMLElement.prototype.fireEvent=Element.prototype.fireEvent)}catch(e$$36){}
Element.implement({measure:function(a){if(!this||this.offsetHeight||this.offsetWidth)return a.apply(this);for(var b=this.getParent(),d=[];b&&!b.offsetHeight&&!b.offsetWidth&&b!=document.body;)d.push(b.expose()),b=b.getParent();b=this.expose();a=a.apply(this);b();d.each(function(a){a()});return a},expose:function(){if("none"!=this.getStyle("display"))return $empty;var a=this.style.cssText;this.setStyles({display:"block",position:"absolute",visibility:"hidden"});return function(){this.style.cssText=
a}.bind(this)},getDimensions:function(a){a=$merge({computeSize:!1},a);var b={},d=this.getParent("body");if(d&&"none"==this.getStyle("display"))b=this.measure(function(){return a.computeSize?this.getComputedSize(a):this.getSize()});else if(d)try{b=a.computeSize?this.getComputedSize(a):this.getSize()}catch(e){}else b={x:0,y:0};return $chk(b.x)?$extend(b,{width:b.x,height:b.y}):$extend(b,{x:b.width,y:b.height})},getComputedSize:function(a){a&&a.plains&&(a.planes=a.plains);a=$merge({styles:["padding",
"border"],planes:{height:["top","bottom"],width:["left","right"]},mode:"both"},a);var b={width:0,height:0};switch(a.mode){case "vertical":delete b.width;delete a.planes.width;break;case "horizontal":delete b.height,delete a.planes.height}var d=[];$each(a.planes,function(b,e){b.each(function(b){a.styles.each(function(a){d.push("border"==a?a+"-"+b+"-width":a+"-"+b)})})});var e={};d.each(function(a){e[a]=this.getComputedStyle(a)},this);var f=[];$each(a.planes,function(a,h){var l=h.capitalize();b["total"+
l]=b["computed"+l]=0;a.each(function(a){b["computed"+a.capitalize()]=0;d.each(function(d,g){d.test(a)&&(e[d]=e[d].toInt()||0,b["total"+l]+=e[d],b["computed"+a.capitalize()]=b["computed"+a.capitalize()]+e[d]);d.test(a)&&h!=d&&(d.test("border")||d.test("padding"))&&!f.contains(d)&&(f.push(d),b["computed"+l]-=e[d])})})});["Width","Height"].each(function(a){var d=a.toLowerCase();$chk(b[d])&&(b[d]=b[d]+this["offset"+a]+b["computed"+a],b["total"+a]=b[d]+b["total"+a],delete b["computed"+a])},this);return $extend(e,
b)}});
(function(){var a=!1,b=!1,d=function(){var d=(new Element("div")).setStyles({position:"fixed",top:0,right:0}).inject(document.body);a=0===d.offsetTop;d.dispose();b=!0};Element.implement({pin:function(e,f){b||d();if("none"==this.getStyle("display"))return this;var g,h=window.getScroll();if(!1!==e){if(g=this.getPosition(a?document.body:this.getOffsetParent()),!this.retrieve("pin:_pinned")){g={top:g.y-h.y,left:g.x-h.x};if(a&&!f)this.setStyle("position","fixed").setStyles(g);else{g=this.getOffsetParent();var l=
this.getPosition(g),m=this.getStyles("left","top");(g&&"auto"==m.left||"auto"==m.top)&&this.setPosition(l);"static"==this.getStyle("position")&&this.setStyle("position","absolute");l={x:m.left.toInt()-h.x,y:m.top.toInt()-h.y};m=function(){if(this.retrieve("pin:_pinned")){var a=window.getScroll();this.setStyles({left:l.x+a.x,top:l.y+a.y})}}.bind(this);this.store("pin:_scrollFixer",m);window.addEvent("scroll",m)}this.store("pin:_pinned",!0)}}else{if(!this.retrieve("pin:_pinned"))return this;g=this.getParent();
g="static"!=g.getComputedStyle("position")?g:g.getOffsetParent();g=this.getPosition(g);this.store("pin:_pinned",!1);(m=this.retrieve("pin:_scrollFixer"))?(this.store("pin:_scrollFixer",null),window.removeEvent("scroll",m)):this.setStyles({position:"absolute",top:g.y+h.y,left:g.x+h.x});this.removeClass("isPinned")}return this},unpin:function(){return this.pin(!1)},togglepin:function(){return this.pin(!this.retrieve("pin:_pinned"))}})})();
(function(){var a=Element.prototype.position;Element.implement({position:function(b){if(b&&($defined(b.x)||$defined(b.y)))return a?a.apply(this,arguments):this;$each(b||{},function(a,d){$defined(a)||delete b[d]});b=$merge({relativeTo:document.body,position:{x:"center",y:"center"},edge:!1,offset:{x:0,y:0},returnPos:!1,relFixedPosition:!1,ignoreMargins:!1,ignoreScroll:!1,allowNegative:!1},b);var d={x:0,y:0},e=!1,f=this.measure(function(){return document.id(this.getOffsetParent())});f&&f!=this.getDocument().body&&
(d=f.measure(function(){return this.getPosition()}),e=f!=document.id(b.relativeTo),b.offset.x-=d.x,b.offset.y-=d.y);d=function(a){if("string"!=$type(a))return a;a=a.toLowerCase();var b={};a.test("left")?b.x="left":a.test("right")?b.x="right":b.x="center";a.test("upper")||a.test("top")?b.y="top":a.test("bottom")?b.y="bottom":b.y="center";return b};b.edge=d(b.edge);b.position=d(b.position);b.edge||(b.edge="center"==b.position.x&&"center"==b.position.y?{x:"center",y:"center"}:{x:"left",y:"top"});this.setStyle("position",
"absolute");var d=document.id(b.relativeTo)||document.body,f=d==document.body?window.getScroll():d.getPosition(),g=f.y,h=f.x,f=this.getDimensions({computeSize:!0,styles:["padding","border","margin"]}),l={},m=b.offset.y,q=b.offset.x,r=window.getSize();switch(b.position.x){case "left":l.x=h+q;break;case "right":l.x=h+q+d.offsetWidth;break;default:l.x=h+(d==document.body?r.x:d.offsetWidth)/2+q}switch(b.position.y){case "top":l.y=g+m;break;case "bottom":l.y=g+m+d.offsetHeight;break;default:l.y=g+(d==
document.body?r.y:d.offsetHeight)/2+m}if(b.edge){switch(b.edge.x){case "left":g=0;break;case "right":g=-f.x-f.computedRight-f.computedLeft;break;default:g=-(f.totalWidth/2)}switch(b.edge.y){case "top":h=0;break;case "bottom":h=-f.y-f.computedTop-f.computedBottom;break;default:h=-(f.totalHeight/2)}l.x+=g;l.y+=h}var l={left:(0<=l.x||e||b.allowNegative?l.x:0).toInt(),top:(0<=l.y||e||b.allowNegative?l.y:0).toInt()},u={left:"x",top:"y"};["minimum","maximum"].each(function(a){["left","top"].each(function(d){var e=
b[a]?b[a][u[d]]:null;null!=e&&("minimum"==a?l[d]<e:l[d]>e)&&(l[d]=e)})});if("fixed"==d.getStyle("position")||b.relFixedPosition)e=window.getScroll(),l.top+=e.y,l.left+=e.x;e=d.getScroll();b.ignoreScroll?(l.top-=e.y,l.left-=e.x):(l.top+=e.y,l.left+=e.x);b.ignoreMargins&&(l.left+="right"==b.edge.x?f["margin-right"]:"center"==b.edge.x?-f["margin-left"]+(f["margin-right"]+f["margin-left"])/2:-f["margin-left"],l.top+="bottom"==b.edge.y?f["margin-bottom"]:"center"==b.edge.y?-f["margin-top"]+(f["margin-bottom"]+
f["margin-top"])/2:-f["margin-top"]);l.left=Math.ceil(l.left);l.top=Math.ceil(l.top);if(b.returnPos)return l;this.setStyles(l);return this}})})();
Element.implement({isDisplayed:function(){return"none"!=this.getStyle("display")},isVisible:function(){var a=this.offsetWidth,b=this.offsetHeight;return 0==a&&0==b?!1:0<a&&0<b?!0:"none"!=this.style.display},toggle:function(){return this[this.isDisplayed()?"hide":"show"]()},hide:function(){var a;try{a=this.getStyle("display")}catch(b){}return"none"==a?this:this.store("element:_originalDisplay",a||"").setStyle("display","none")},show:function(a){if(!a&&this.isDisplayed())return this;a=a||this.retrieve("element:_originalDisplay")||
"block";return this.setStyle("display","none"==a?"block":a)},swapClass:function(a,b){return this.removeClass(a).addClass(b)}});Document.implement({clearSelection:function(){if(document.selection&&document.selection.empty)document.selection.empty();else if(window.getSelection){var a=window.getSelection();a&&a.removeAllRanges&&a.removeAllRanges()}}});window.Form||(window.Form={});
(function(){Form.Request=new Class({Binds:["onSubmit","onFormValidate"],Implements:[Options,Events,Class.Occlude],options:{requestOptions:{evalScripts:!0,useSpinner:!0,emulation:!1,link:"ignore"},sendButtonClicked:!0,extraData:{},resetForm:!0},property:"form.request",initialize:function(a,b,d){this.element=document.id(a);if(this.occlude())return this.occluded;this.update=document.id(b);this.setOptions(d);this.makeRequest();this.options.resetForm&&this.request.addEvent("success",function(){$try(function(){this.element.reset()}.bind(this));
window.OverText&&OverText.update()}.bind(this));this.attach()},toElement:function(){return this.element},makeRequest:function(){this.request=(new Request.HTML($merge({update:this.update,emulation:!1,spinnerTarget:this.element,method:this.element.get("method")||"post"},this.options.requestOptions))).addEvents({success:function(a,b,d,e){["complete","success"].each(function(f){this.fireEvent(f,[this.update,a,b,d,e])},this)}.bind(this),failure:function(){this.fireEvent("complete",arguments).fireEvent("failure",
arguments)}.bind(this),exception:function(){this.fireEvent("failure",arguments)}.bind(this)})},attach:function(a){method=(a=$pick(a,!0))?"addEvent":"removeEvent";this.element[method]("click:relay(button, input[type=submit])",this.saveClickedButton.bind(this));if(a=this.element.retrieve("validator"))a[method]("onFormValidate",this.onFormValidate);else this.element[method]("submit",this.onSubmit)},detach:function(){this.attach(!1);return this},enable:function(){this.attach();return this},disable:function(){this.detach();
return this},onFormValidate:function(a,b,d){d&&(b=this.element.retrieve("validator"),a||b&&!b.options.stopOnFailure)&&(d&&d.stop&&d.stop(),this.send())},onSubmit:function(a){var b=this.element.retrieve("validator");b?(this.element.removeEvent("submit",this.onSubmit),b.addEvent("onFormValidate",this.onFormValidate),this.element.validate()):(a&&a.stop(),this.send())},saveClickedButton:function(a,b){this.options.sendButtonClicked&&b.get("name")&&(this.options.extraData[b.get("name")]=b.get("value")||
!0,this.clickedCleaner=function(){delete this.options.extraData[b.get("name")];this.clickedCleaner=$empty}.bind(this))},clickedCleaner:$empty,send:function(){var a=this.element.toQueryString().trim(),b=$H(this.options.extraData).toQueryString(),a=a?a+("&"+b):b;this.fireEvent("send",[this.element,a.parseQueryString()]);this.request.send({data:a,url:this.element.get("action")});this.clickedCleaner();return this}});Element.Properties.formRequest={set:function(){var a=Array.link(arguments,{options:Object.type,
update:Element.type,updateId:String.type}),b=a.update||a.updateId,d=this.retrieve("form.request");b&&(d&&(d.update=document.id(b)),this.store("form.request:update",b));a.options&&(d&&d.setOptions(a.options),this.store("form.request:options",a.options));return this},get:function(){var a=Array.link(arguments,{options:Object.type,update:Element.type,updateId:String.type}),b=a.update||a.updateId;if(a.options||b||!this.retrieve("form.request"))!a.options&&this.retrieve("form.request:options")||this.set("form.request",
a.options),b&&this.set("form.request",b),this.store("form.request",new Form.Request(this,this.retrieve("form.request:update"),this.retrieve("form.request:options")));return this.retrieve("form.request")}};Element.implement({formUpdate:function(a,b){this.get("formRequest",a,b).send();return this}})})();
Form.Request.Append=new Class({Extends:Form.Request,options:{useReveal:!0,revealOptions:{},inject:"bottom"},makeRequest:function(){this.request=(new Request.HTML($merge({url:this.element.get("action"),method:this.element.get("method")||"post",spinnerTarget:this.element},this.options.requestOptions,{evalScripts:!1}))).addEvents({success:function(a,b,d,e){var f,g=Elements.from(d);f=1==g.length?g[0]:(new Element("div",{styles:{display:"none"}})).adopt(g);f.inject(this.update,this.options.inject);this.options.requestOptions.evalScripts&&
$exec(e);this.fireEvent("beforeEffect",f);g=function(){this.fireEvent("success",[f,this.update,a,b,d,e])}.bind(this);this.options.useReveal?(f.get("reveal",this.options.revealOptions).chain(g),f.reveal()):g()}.bind(this),failure:function(a){this.fireEvent("failure",a)}.bind(this)})}});window.Form||(window.Form={});
var InputValidator=new Class({Implements:[Options],options:{errorMsg:"Validation failed.",test:function(a){return!0}},initialize:function(a,b){this.setOptions(b);this.className=a},test:function(a,b){return document.id(a)?this.options.test(document.id(a),b||this.getProps(a)):!1},getError:function(a,b){var d=this.options.errorMsg;"function"==$type(d)&&(d=d(document.id(a),b||this.getProps(a)));return d},getProps:function(a){return document.id(a)?a.get("validatorProps"):{}}});
Element.Properties.validatorProps={set:function(a){return this.eliminate("validatorProps").store("validatorProps",a)},get:function(a){a&&this.set(a);if(this.retrieve("validatorProps"))return this.retrieve("validatorProps");if(this.getProperty("validatorProps"))try{this.store("validatorProps",JSON.decode(this.getProperty("validatorProps")))}catch(b){return{}}else{var d=this.get("class").split(" ").filter(function(a){return a.test(":")});d.length?(a={},d.each(function(b){b=b.split(":");if(b[1])try{a[b[0]]=
JSON.decode(b[1])}catch(d){}}),this.store("validatorProps",a)):this.store("validatorProps",{})}return this.retrieve("validatorProps")}};
Form.Validator=new Class({Implements:[Options,Events],Binds:["onSubmit"],options:{fieldSelectors:"input, select, textarea",ignoreHidden:!0,ignoreDisabled:!0,useTitles:!1,evaluateOnSubmit:!0,evaluateFieldsOnBlur:!0,evaluateFieldsOnChange:!0,serial:!0,stopOnFailure:!0,warningPrefix:function(){return Form.Validator.getMsg("warningPrefix")||"Warning: "},errorPrefix:function(){return Form.Validator.getMsg("errorPrefix")||"Error: "}},initialize:function(a,b){this.setOptions(b);this.element=document.id(a);
this.element.store("validator",this);this.warningPrefix=$lambda(this.options.warningPrefix)();this.errorPrefix=$lambda(this.options.errorPrefix)();this.options.evaluateOnSubmit&&this.element.addEvent("submit",this.onSubmit);(this.options.evaluateFieldsOnBlur||this.options.evaluateFieldsOnChange)&&this.watchFields(this.getFields())},toElement:function(){return this.element},getFields:function(){return this.fields=this.element.getElements(this.options.fieldSelectors)},watchFields:function(a){a.each(function(a){this.options.evaluateFieldsOnBlur&&
a.addEvent("blur",this.validationMonitor.pass([a,!1],this));this.options.evaluateFieldsOnChange&&a.addEvent("change",this.validationMonitor.pass([a,!0],this))},this)},validationMonitor:function(){$clear(this.timer);this.timer=this.validateField.delay(50,this,arguments)},onSubmit:function(a){!this.validate(a)&&a?a.preventDefault():this.reset()},reset:function(){this.getFields().each(this.resetField,this);return this},validate:function(a){var b=this.getFields().map(function(a){return this.validateField(a,
!0)},this).every(function(a){return a});this.fireEvent("formValidate",[b,this.element,a]);this.options.stopOnFailure&&!b&&a&&a.preventDefault();return b},validateField:function(a,b){if(this.paused)return!0;a=document.id(a);var d=!a.hasClass("validation-failed"),e,f;this.options.serial&&!b&&(e=this.element.getElement(".validation-failed"),f=this.element.getElement(".warning"));if(a&&(!e||b||a.hasClass("validation-failed")||e&&!this.options.serial)){e=a.className.split(" ").some(function(a){return this.getValidator(a)},
this);var g=[];a.className.split(" ").each(function(b){b&&!this.test(b,a)&&g.include(b)},this);d=0===g.length;e&&!a.hasClass("warnOnly")&&(d?(a.addClass("validation-passed").removeClass("validation-failed"),this.fireEvent("elementPass",a)):(a.addClass("validation-failed").removeClass("validation-passed"),this.fireEvent("elementFail",[a,g])));f||(a.className.split(" ").some(function(b){return b.test("^warn-")||a.hasClass("warnOnly")?this.getValidator(b.replace(/^warn-/,"")):null},this),a.removeClass("warning"),
a.className.split(" ").map(function(b){return b.test("^warn-")||a.hasClass("warnOnly")?this.test(b.replace(/^warn-/,""),a,!0):null},this))}return d},test:function(a,b,d){b=document.id(b);if(this.options.ignoreHidden&&!b.isVisible()||this.options.ignoreDisabled&&b.get("disabled"))return!0;var e=this.getValidator(a);d=$pick(d,!1);b.hasClass("warnOnly")&&(d=!0);var f=b.hasClass("ignoreValidation")||(e?e.test(b):!0);e&&b.isVisible()&&this.fireEvent("elementValidate",[f,b,a,d]);return d?!0:f},resetField:function(a){(a=
document.id(a))&&a.className.split(" ").each(function(b){b.test("^warn-")&&b.replace(/^warn-/,"");a.removeClass("validation-failed");a.removeClass("warning");a.removeClass("validation-passed")},this);return this},stop:function(){this.paused=!0;return this},start:function(){this.paused=!1;return this},ignoreField:function(a,b){if(a=document.id(a))this.enforceField(a),b?a.addClass("warnOnly"):a.addClass("ignoreValidation");return this},enforceField:function(a){(a=document.id(a))&&a.removeClass("warnOnly").removeClass("ignoreValidation");
return this}});Form.Validator.getMsg=function(a){return MooTools.lang.get("Form.Validator",a)};Form.Validator.adders={validators:{},add:function(a,b){this.validators[a]=new InputValidator(a,b);this.initialize||this.implement({validators:this.validators})},addAllThese:function(a){$A(a).each(function(a){this.add(a[0],a[1])},this)},getValidator:function(a){return this.validators[a.split(":")[0]]}};$extend(Form.Validator,Form.Validator.adders);Form.Validator.implement(Form.Validator.adders);
Form.Validator.add("IsEmpty",{errorMsg:!1,test:function(a){return"select-one"==a.type||"select"==a.type?!(0<=a.selectedIndex&&""!=a.options[a.selectedIndex].value):null==a.get("value")||0==a.get("value").length}});
Form.Validator.addAllThese([["required",{errorMsg:function(){return Form.Validator.getMsg("required")},test:function(a){return!Form.Validator.getValidator("IsEmpty").test(a)}}],["minLength",{errorMsg:function(a,b){return $type(b.minLength)?Form.Validator.getMsg("minLength").substitute({minLength:b.minLength,length:a.get("value").length}):""},test:function(a,b){return $type(b.minLength)?a.get("value").length>=$pick(b.minLength,0):!0}}],["maxLength",{errorMsg:function(a,b){return $type(b.maxLength)?
Form.Validator.getMsg("maxLength").substitute({maxLength:b.maxLength,length:a.get("value").length}):""},test:function(a,b){return a.get("value").length<=$pick(b.maxLength,1E4)}}],["validate-integer",{errorMsg:Form.Validator.getMsg.pass("integer"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||/^(-?[1-9]\d*|0)$/.test(a.get("value"))}}],["validate-numeric",{errorMsg:Form.Validator.getMsg.pass("numeric"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||
/^-?(?:0$0(?=\d*\.)|[1-9]|0)\d*(\.\d+)?$/.test(a.get("value"))}}],["validate-digits",{errorMsg:Form.Validator.getMsg.pass("digits"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||/^[\d() .:\-\+#]+$/.test(a.get("value"))}}],["validate-alpha",{errorMsg:Form.Validator.getMsg.pass("alpha"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||/^[a-zA-Z]+$/.test(a.get("value"))}}],["validate-alphanum",{errorMsg:Form.Validator.getMsg.pass("alphanum"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||
!/\W/.test(a.get("value"))}}],["validate-date",{errorMsg:function(a,b){if(Date.parse){var d=b.dateFormat||"%x";return Form.Validator.getMsg("dateSuchAs").substitute({date:(new Date).format(d)})}return Form.Validator.getMsg("dateInFormatMDY")},test:function(a,b){if(Form.Validator.getValidator("IsEmpty").test(a))return!0;var d;if(Date.parse){var e=b.dateFormat||"%x";d=Date.parse(a.get("value"));e=d.format(e);"invalid date"!=e&&a.set("value",e);return!isNaN(d)}d=/^(\d{2})\/(\d{2})\/(\d{4})$/;if(!d.test(a.get("value")))return!1;
d=new Date(a.get("value").replace(d,"$1/$2/$3"));return parseInt(RegExp.$1,10)==1+d.getMonth()&&parseInt(RegExp.$2,10)==d.getDate()&&parseInt(RegExp.$3,10)==d.getFullYear()}}],["validate-email",{errorMsg:Form.Validator.getMsg.pass("email"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(a.get("value"))}}],["validate-url",{errorMsg:Form.Validator.getMsg.pass("url"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||
/^(https?|ftp|rmtp|mms):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(a.get("value"))}}],["validate-currency-dollar",{errorMsg:Form.Validator.getMsg.pass("currencyDollar"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||/^\$?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/.test(a.get("value"))}}],["validate-one-required",{errorMsg:Form.Validator.getMsg.pass("oneRequired"),test:function(a,
b){return(document.id(b["validate-one-required"])||a.getParent(b["validate-one-required"])).getElements("input").some(function(a){return["checkbox","radio"].contains(a.get("type"))?a.get("checked"):a.get("value")})}}]]);
Element.Properties.validator={set:function(a){var b=this.retrieve("validator");b&&b.setOptions(a);return this.store("validator:options",a)},get:function(a){if(a||!this.retrieve("validator"))!a&&this.retrieve("validator:options")||this.set("validator",a),this.store("validator",new Form.Validator(this,this.retrieve("validator:options")));return this.retrieve("validator")}};Element.implement({validate:function(a){a&&this.set("validator",a);return this.get("validator",a).validate()}});
var FormValidator=Form.Validator;
Form.Validator.Inline=new Class({Extends:Form.Validator,options:{showError:function(a){a.reveal?a.reveal():a.setStyle("display","block")},hideError:function(a){a.dissolve?a.dissolve():a.setStyle("display","none")},scrollToErrorsOnSubmit:!0,scrollToErrorsOnBlur:!1,scrollToErrorsOnChange:!1,scrollFxOptions:{transition:"quad:out",offset:{y:-20}}},initialize:function(a,b){this.parent(a,b);this.addEvent("onElementValidate",function(a,b,f,g){var h=this.getValidator(f);!a&&h.getError(b)?(g&&b.addClass("warning"),
a=this.makeAdvice(f,b,h.getError(b),g),this.insertAdvice(a,b),this.showAdvice(f,b)):this.hideAdvice(f,b)})},makeAdvice:function(a,b,d,e){var f=e?this.warningPrefix:this.errorPrefix,f=f+(this.options.useTitles?b.title||d:d);d=e?"warning-advice":"validation-advice";e=(e=this.getAdvice(a,b))?e.set("html",f):(new Element("div",{html:f,styles:{display:"none"},id:"advice-"+a.split(":")[0]+"-"+this.getFieldId(b)})).addClass(d);b.store("advice-"+a,e);return e},getFieldId:function(a){return a.id?a.id:a.id=
"input_"+a.name},showAdvice:function(a,b){var d=this.getAdvice(a,b);!d||b.retrieve(this.getPropName(a))||"none"!=d.getStyle("display")&&"hidden"!=d.getStyle("visiblity")&&0!=d.getStyle("opacity")||(b.store(this.getPropName(a),!0),this.options.showError(d),this.fireEvent("showAdvice",[b,d,a]))},hideAdvice:function(a,b){var d=this.getAdvice(a,b);d&&b.retrieve(this.getPropName(a))&&(b.store(this.getPropName(a),!1),this.options.hideError(d),this.fireEvent("hideAdvice",[b,d,a]))},getPropName:function(a){return"advice"+
a},resetField:function(a){a=document.id(a);if(!a)return this;this.parent(a);a.className.split(" ").each(function(b){this.hideAdvice(b,a)},this);return this},getAllAdviceMessages:function(a,b){var d=[];if(a.hasClass("ignoreValidation")&&!b)return d;a.className.split(" ").some(function(b){var f=b.test("^warn-")||a.hasClass("warnOnly");f&&(b=b.replace(/^warn-/,""));(b=this.getValidator(b))&&d.push({message:b.getError(a),warnOnly:f,passed:b.test(),validator:b})},this);return d},getAdvice:function(a,b){return b.retrieve("advice-"+
a)},insertAdvice:function(a,b){var d=b.get("validatorProps");d.msgPos&&document.id(d.msgPos)?document.id(d.msgPos).grab(a):"radio"==b.type.toLowerCase()?b.getParent().adopt(a):a.inject(document.id(b),"after")},validateField:function(a,b,d){a=this.parent(a,b);if((this.options.scrollToErrorsOnSubmit&&void 0===d||d)&&!a){d=document.id(this).getElement(".validation-failed");for(b=document.id(this).getParent();b!=document.body&&b.getScrollSize().y==b.getSize().y;)b=b.getParent();var e=b.retrieve("fvScroller");
!e&&window.Fx&&Fx.Scroll&&(e=new Fx.Scroll(b,this.options.scrollFxOptions),b.store("fvScroller",e));d&&(e?e.toElement(d):b.scrollTo(b.getScroll().x,d.getPosition(b).y-20))}return a},watchFields:function(a){a.each(function(a){this.options.evaluateFieldsOnBlur&&a.addEvent("blur",this.validationMonitor.pass([a,!1,this.options.scrollToErrorsOnBlur],this));this.options.evaluateFieldsOnChange&&a.addEvent("change",this.validationMonitor.pass([a,!0,this.options.scrollToErrorsOnChange],this))},this)}});
Form.Validator.addAllThese([["validate-enforce-oncheck",{test:function(a,b){var d=a.getParent("form").retrieve("validator");if(!d)return!0;(b.toEnforce||document.id(b.enforceChildrenOf).getElements("input, select, textarea")).map(function(b){a.checked?d.enforceField(b):(d.ignoreField(b),d.resetField(b))});return!0}}],["validate-ignore-oncheck",{test:function(a,b){var d=a.getParent("form").retrieve("validator");if(!d)return!0;(b.toIgnore||document.id(b.ignoreChildrenOf).getElements("input, select, textarea")).each(function(b){a.checked?
(d.ignoreField(b),d.resetField(b)):d.enforceField(b)});return!0}}],["validate-nospace",{errorMsg:function(){return Form.Validator.getMsg("noSpace")},test:function(a,b){return!a.get("value").test(/\s/)}}],["validate-toggle-oncheck",{test:function(a,b){var d=a.getParent("form").retrieve("validator");if(!d)return!0;var e=b.toToggle||document.id(b.toToggleChildrenOf).getElements("input, select, textarea");a.checked?e.each(function(a){d.enforceField(a)}):e.each(function(a){d.ignoreField(a);d.resetField(a)});
return!0}}],["validate-reqchk-bynode",{errorMsg:function(){return Form.Validator.getMsg("reqChkByNode")},test:function(a,b){return document.id(b.nodeId).getElements(b.selector||"input[type=checkbox], input[type=radio]").some(function(a){return a.checked})}}],["validate-required-check",{errorMsg:function(a,b){return b.useTitle?a.get("title"):Form.Validator.getMsg("requiredChk")},test:function(a,b){return!!a.checked}}],["validate-reqchk-byname",{errorMsg:function(a,b){return Form.Validator.getMsg("reqChkByName").substitute({label:b.label||
a.get("type")})},test:function(a,b){var d=b.groupName||a.get("name"),d=$$(document.getElementsByName(d)).some(function(a,b){return a.checked}),e=a.getParent("form").retrieve("validator");d&&e&&e.resetField(a);return d}}],["validate-match",{errorMsg:function(a,b){return Form.Validator.getMsg("match").substitute({matchName:b.matchName||document.id(b.matchInput).get("name")})},test:function(a,b){var d=a.get("value"),e=document.id(b.matchInput)&&document.id(b.matchInput).get("value");return d&&e?d==e:
!0}}],["validate-after-date",{errorMsg:function(a,b){return Form.Validator.getMsg("afterDate").substitute({label:b.afterLabel||(b.afterElement?Form.Validator.getMsg("startDate"):Form.Validator.getMsg("currentDate"))})},test:function(a,b){var d=document.id(b.afterElement)?Date.parse(document.id(b.afterElement).get("value")):new Date,e=Date.parse(a.get("value"));return e&&d?e>=d:!0}}],["validate-before-date",{errorMsg:function(a,b){return Form.Validator.getMsg("beforeDate").substitute({label:b.beforeLabel||
(b.beforeElement?Form.Validator.getMsg("endDate"):Form.Validator.getMsg("currentDate"))})},test:function(a,b){var d=Date.parse(a.get("value")),e=document.id(b.beforeElement)?Date.parse(document.id(b.beforeElement).get("value")):new Date;return e&&d?e>=d:!0}}],["validate-custom-required",{errorMsg:function(){return Form.Validator.getMsg("required")},test:function(a,b){return a.get("value")!=b.emptyValue}}],["validate-same-month",{errorMsg:function(a,b){var d=document.id(b.sameMonthAs)&&document.id(b.sameMonthAs).get("value");
if(""!=a.get("value"))return Form.Validator.getMsg(d?"sameMonth":"startMonth")},test:function(a,b){var d=Date.parse(a.get("value")),e=Date.parse(document.id(b.sameMonthAs)&&document.id(b.sameMonthAs).get("value"));return d&&e?d.format("%B")==e.format("%B"):!0}}],["validate-cc-num",{errorMsg:function(a){a=a.get("value").replace(/[^0-9]/g,"");return Form.Validator.getMsg("creditcard").substitute({length:a.length})},test:function(a){if(Form.Validator.getValidator("IsEmpty").test(a))return!0;var b=a.get("value"),
b=b.replace(/[^0-9]/g,""),d=!1;b.test(/^4[0-9]{12}([0-9]{3})?$/)?d="Visa":b.test(/^5[1-5]([0-9]{14})$/)?d="Master Card":b.test(/^3[47][0-9]{13}$/)?d="American Express":b.test(/^6011[0-9]{12}$/)&&(d="Discover");if(d){for(var e=d=0,f=b.length-1;0<=f;--f)e=b.charAt(f).toInt(),0!=e&&(0==(b.length-f)%2&&(e+=e),9<e&&(e=e.toString().charAt(0).toInt()+e.toString().charAt(1).toInt()),d+=e);if(0==d%10)return!0}for(d="";""!=b;)d+=" "+b.substr(0,4),b=b.substr(4);a.getParent("form").retrieve("validator").ignoreField(a);
a.set("value",d.clean());a.getParent("form").retrieve("validator").enforceField(a);return!1}}]]);
var OverText=new Class({Implements:[Options,Events,Class.Occlude],Binds:["reposition","assert","focus","hide"],options:{element:"label",positionOptions:{position:"upperLeft",edge:"upperLeft",offset:{x:4,y:2}},poll:!1,pollInterval:250,wrap:!1},property:"OverText",initialize:function(a,b){this.element=document.id(a);if(this.occlude())return this.occluded;this.setOptions(b);this.attach(this.element);OverText.instances.push(this);this.options.poll&&this.poll();return this},toElement:function(){return this.element},
attach:function(){var a=this.options.textOverride||this.element.get("alt")||this.element.get("title");if(a)return this.text=(new Element(this.options.element,{"class":"overTxtLabel",styles:{lineHeight:"normal",position:"absolute",cursor:"text"},html:a,events:{click:this.hide.pass("label"==this.options.element,this)}})).inject(this.element,"after"),"label"==this.options.element&&(this.element.get("id")||this.element.set("id","input_"+(new Date).getTime()),this.text.set("for",this.element.get("id"))),
this.options.wrap&&(this.textHolder=(new Element("div",{styles:{lineHeight:"normal",position:"relative"},"class":"overTxtWrapper"})).adopt(this.text).inject(this.element,"before")),this.enable()},destroy:function(){this.element.eliminate("OverTextDiv").eliminate("OverText");this.disable();this.text&&this.text.destroy();this.textHolder&&this.textHolder.destroy();return this},disable:function(){this.element.removeEvents({focus:this.focus,blur:this.assert,change:this.assert});window.removeEvent("resize",
this.reposition);this.hide(!0,!0);return this},enable:function(){this.element.addEvents({focus:this.focus,blur:this.assert,change:this.assert});window.addEvent("resize",this.reposition);this.assert(!0);this.reposition();return this},wrap:function(){"label"==this.options.element&&(this.element.get("id")||this.element.set("id","input_"+(new Date).getTime()),this.text.set("for",this.element.get("id")))},startPolling:function(){this.pollingPaused=!1;return this.poll()},poll:function(a){if(this.poller&&
!a)return this;var b=function(){this.pollingPaused||this.assert(!0)}.bind(this);a?$clear(this.poller):this.poller=b.periodical(this.options.pollInterval,this);return this},stopPolling:function(){this.pollingPaused=!0;return this.poll(!0)},focus:function(){(!this.text||this.text.isDisplayed()&&!this.element.get("disabled"))&&this.hide()},hide:function(a,b){if(this.text&&this.text.isDisplayed()&&(!this.element.get("disabled")||b)&&(this.text.hide(),this.fireEvent("textHide",[this.text,this.element]),
this.pollingPaused=!0,!a))try{this.element.fireEvent("focus"),this.element.focus()}catch(d){}return this},show:function(){this.text&&!this.text.isDisplayed()&&(this.text.show(),this.reposition(),this.fireEvent("textShow",[this.text,this.element]),this.pollingPaused=!1);return this},assert:function(a){this[this.test()?"show":"hide"](a)},test:function(){return!this.element.get("value")},reposition:function(){this.assert(!0);if(!this.element.isVisible())return this.stopPolling().hide();this.text&&this.test()&&
this.text.position($merge(this.options.positionOptions,{relativeTo:this.element}));return this}});OverText.instances=[];$extend(OverText,{each:function(a){return OverText.instances.map(function(b,d){return b.element&&b.text?a.apply(OverText,[b,d]):null})},update:function(){return OverText.each(function(a){return a.reposition()})},hideAll:function(){return OverText.each(function(a){return a.hide(!0,!0)})},showAll:function(){return OverText.each(function(a){return a.show()})}});
window.Fx&&Fx.Reveal&&Fx.Reveal.implement({hideInputs:Browser.Engine.trident?"select, input, textarea, object, embed, .overTxtLabel":!1});
Fx.Elements=new Class({Extends:Fx.CSS,initialize:function(a,b){this.elements=this.subject=$$(a);this.parent(b)},compute:function(a,b,d){var e={},f;for(f in a){var g=a[f],h=b[f],l=e[f]={},m;for(m in g)l[m]=this.parent(g[m],h[m],d)}return e},set:function(a){for(var b in a)if(this.elements[b]){var d=a[b],e;for(e in d)this.render(this.elements[b],e,d[e],this.options.unit)}return this},start:function(a){if(!this.check(a))return this;var b={},d={},e;for(e in a)if(this.elements[e]){var f=a[e],g=b[e]={},
h=d[e]={},l;for(l in f){var m=this.prepare(this.elements[e],l,f[l]);g[l]=m.from;h[l]=m.to}}return this.parent(b,d)}});
Fx.Accordion=new Class({Extends:Fx.Elements,options:{fixedHeight:!1,fixedWidth:!1,display:0,show:!1,height:!0,width:!1,opacity:!0,alwaysHide:!1,trigger:"click",initialDisplayFx:!0,returnHeightToAuto:!0},initialize:function(){var a=Array.link(arguments,{container:Element.type,options:Object.type,togglers:$defined,elements:$defined});this.parent(a.elements,a.options);this.togglers=$$(a.togglers);this.previous=-1;this.internalChain=new Chain;this.options.alwaysHide&&(this.options.wait=!0);$chk(this.options.show)&&
(this.options.display=!1,this.previous=this.options.show);this.options.start&&(this.options.display=!1,this.options.show=!1);this.effects={};this.options.opacity&&(this.effects.opacity="fullOpacity");this.options.width&&(this.effects.width=this.options.fixedWidth?"fullWidth":"offsetWidth");this.options.height&&(this.effects.height=this.options.fixedHeight?"fullHeight":"scrollHeight");for(var a=0,b=this.togglers.length;a<b;a++)this.addSection(this.togglers[a],this.elements[a]);this.elements.each(function(a,
b){if(this.options.show===b)this.fireEvent("active",[this.togglers[b],a]);else for(var f in this.effects)a.setStyle(f,0)},this);($chk(this.options.display)||!1===this.options.initialDisplayFx)&&this.display(this.options.display,this.options.initialDisplayFx);!1!==this.options.fixedHeight&&(this.options.returnHeightToAuto=!1);this.addEvent("complete",this.internalChain.callChain.bind(this.internalChain))},addSection:function(a,b){a=document.id(a);b=document.id(b);var d=this.togglers.contains(a);this.togglers.include(a);
this.elements.include(b);var e=this.togglers.indexOf(a),e=this.display.bind(this,e);a.store("accordion:display",e);a.addEvent(this.options.trigger,e);this.options.height&&b.setStyles({"padding-top":0,"border-top":"none","padding-bottom":0,"border-bottom":"none"});this.options.width&&b.setStyles({"padding-left":0,"border-left":"none","padding-right":0,"border-right":"none"});b.fullOpacity=1;this.options.fixedWidth&&(b.fullWidth=this.options.fixedWidth);this.options.fixedHeight&&(b.fullHeight=this.options.fixedHeight);
b.setStyle("overflow","hidden");if(!d)for(var f in this.effects)b.setStyle(f,0);return this},removeSection:function(a,b){var d=this.togglers.indexOf(a),e=this.elements[d],f=function(){this.togglers.erase(a);this.elements.erase(e);this.detach(a)}.bind(this);this.now==d||void 0!=b?this.display($pick(b,0<=d-1?d-1:0)).chain(f):f();return this},detach:function(a){var b=function(a){a.removeEvent(this.options.trigger,a.retrieve("accordion:display"))}.bind(this);a?b(a):this.togglers.each(b);return this},
display:function(a,b){if(!this.check(a,b))return this;b=$pick(b,!0);a="element"==$type(a)?this.elements.indexOf(a):a;if(a==this.previous&&!this.options.alwaysHide)return this;if(this.options.returnHeightToAuto){var d=this.elements[this.previous];if(d&&!this.selfHidden)for(var e in this.effects)d.setStyle(e,d[this.effects[e]])}if(this.timer&&this.options.wait||a===this.previous&&!this.options.alwaysHide)return this;this.previous=a;var f={};this.elements.each(function(b,d){f[d]={};var e;d!=a?e=!0:this.options.alwaysHide&&
(0<b.offsetHeight&&this.options.height||0<b.offsetWidth&&this.options.width)&&(this.selfHidden=e=!0);this.fireEvent(e?"background":"active",[this.togglers[d],b]);for(var m in this.effects)f[d][m]=e?0:b[this.effects[m]]},this);this.internalChain.clearChain();this.internalChain.chain(function(){if(this.options.returnHeightToAuto&&!this.selfHidden){var b=this.elements[a];b&&b.setStyle("height","auto")}}.bind(this));return b?this.start(f):this.set(f)}});
var Accordion=new Class({Extends:Fx.Accordion,initialize:function(){this.parent.apply(this,arguments);this.container=Array.link(arguments,{container:Element.type}).container},addSection:function(a,b,d){a=document.id(a);b=document.id(b);var e=this.togglers.contains(a),f=this.togglers.length;!f||e&&!d?this.container&&!e&&(a.inject(this.container),b.inject(this.container)):(d=$pick(d,f-1),a.inject(this.togglers[d],"before"),b.inject(a,"after"));return this.parent.apply(this,arguments)}});
Fx.Move=new Class({Extends:Fx.Morph,options:{relativeTo:document.body,position:"center",edge:!1,offset:{x:0,y:0}},start:function(a){var b=this.element,d=b.getStyles("top","left");"auto"!=d.top&&"auto"!=d.left||b.setPosition(b.getPosition(b.getOffsetParent()));return this.parent(b.position($merge(this.options,a,{returnPos:!0})))}});
Element.Properties.move={set:function(a){var b=this.retrieve("move");b&&b.cancel();return this.eliminate("move").store("move:options",$extend({link:"cancel"},a))},get:function(a){if(a||!this.retrieve("move"))!a&&this.retrieve("move:options")||this.set("move",a),this.store("move",new Fx.Move(this,this.retrieve("move:options")));return this.retrieve("move")}};Element.implement({move:function(a){this.get("move").start(a);return this}});
Fx.Reveal=new Class({Extends:Fx.Morph,options:{link:"cancel",styles:["padding","border","margin"],transitionOpacity:!Browser.Engine.trident4,mode:"vertical",display:function(){return"tr"!=this.element.get("tag")?"block":"table-row"},hideInputs:Browser.Engine.trident?"select, input, textarea, object, embed":!1,opacity:1},dissolve:function(){try{if(this.hiding||this.showing)"chain"==this.options.link?this.chain(this.dissolve.bind(this)):"cancel"!=this.options.link||this.hiding||(this.cancel(),this.dissolve());
else if("none"!=this.element.getStyle("display")){this.hiding=!0;this.showing=!1;this.hidden=!0;this.cssText=this.element.style.cssText;var a=this.element.getComputedSize({styles:this.options.styles,mode:this.options.mode});this.element.setStyle("display",$lambda(this.options.display).apply(this));this.options.transitionOpacity&&(a.opacity=this.options.opacity);var b={};$each(a,function(a,d){b[d]=[a,0]},this);this.element.setStyle("overflow","hidden");var d=this.options.hideInputs?this.element.getElements(this.options.hideInputs):
null;this.$chain.unshift(function(){this.hidden&&(this.hiding=!1,$each(a,function(b,d){a[d]=b},this),this.element.style.cssText=this.cssText,this.element.setStyle("display","none"),d&&d.setStyle("visibility","visible"));this.fireEvent("hide",this.element);this.callChain()}.bind(this));d&&d.setStyle("visibility","hidden");this.start(b)}else this.callChain.delay(10,this),this.fireEvent("complete",this.element),this.fireEvent("hide",this.element)}catch(e){this.hiding=!1,this.element.setStyle("display",
"none"),this.callChain.delay(10,this),this.fireEvent("complete",this.element),this.fireEvent("hide",this.element)}return this},reveal:function(){try{if(this.showing||this.hiding)"chain"==this.options.link?this.chain(this.reveal.bind(this)):"cancel"!=this.options.link||this.showing||(this.cancel(),this.reveal());else if("none"==this.element.getStyle("display")){this.showing=!0;this.hiding=this.hidden=!1;var a;this.cssText=this.element.style.cssText;this.element.measure(function(){a=this.element.getComputedSize({styles:this.options.styles,
mode:this.options.mode})}.bind(this));$each(a,function(b,d){a[d]=b});$chk(this.options.heightOverride)&&(a.height=this.options.heightOverride.toInt());$chk(this.options.widthOverride)&&(a.width=this.options.widthOverride.toInt());this.options.transitionOpacity&&(this.element.setStyle("opacity",0),a.opacity=this.options.opacity);var b={height:0,display:$lambda(this.options.display).apply(this)};$each(a,function(a,d){b[d]=0});this.element.setStyles($merge(b,{overflow:"hidden"}));var d=this.options.hideInputs?
this.element.getElements(this.options.hideInputs):null;d&&d.setStyle("visibility","hidden");this.start(a);this.$chain.unshift(function(){this.element.style.cssText=this.cssText;this.element.setStyle("display",$lambda(this.options.display).apply(this));this.hidden||(this.showing=!1);d&&d.setStyle("visibility","visible");this.callChain();this.fireEvent("show",this.element)}.bind(this))}else this.callChain(),this.fireEvent("complete",this.element),this.fireEvent("show",this.element)}catch(e){this.element.setStyles({display:$lambda(this.options.display).apply(this),
visiblity:"visible",opacity:this.options.opacity}),this.showing=!1,this.callChain.delay(10,this),this.fireEvent("complete",this.element),this.fireEvent("show",this.element)}return this},toggle:function(){"none"==this.element.getStyle("display")?this.reveal():this.dissolve();return this},cancel:function(){this.parent.apply(this,arguments);this.element.style.cssText=this.cssText;this.showing=this.hiding=!1;return this}});
Element.Properties.reveal={set:function(a){var b=this.retrieve("reveal");b&&b.cancel();return this.eliminate("reveal").store("reveal:options",a)},get:function(a){if(a||!this.retrieve("reveal"))!a&&this.retrieve("reveal:options")||this.set("reveal",a),this.store("reveal",new Fx.Reveal(this,this.retrieve("reveal:options")));return this.retrieve("reveal")}};Element.Properties.dissolve=Element.Properties.reveal;
Element.implement({reveal:function(a){this.get("reveal",a).reveal();return this},dissolve:function(a){this.get("reveal",a).dissolve();return this},nix:function(){var a=Array.link(arguments,{destroy:Boolean.type,options:Object.type});this.get("reveal",a.options).dissolve().chain(function(){this[a.destroy?"destroy":"dispose"]()}.bind(this));return this},wink:function(){var a=Array.link(arguments,{duration:Number.type,options:Object.type}),b=this.get("reveal",a.options);b.reveal().chain(function(){(function(){b.dissolve()}).delay(a.duration||
2E3)})}});
Fx.Scroll=new Class({Extends:Fx,options:{offset:{x:0,y:0},wheelStops:!0},initialize:function(a,b){this.element=this.subject=document.id(a);this.parent(b);var d=this.cancel.bind(this,!1);"element"!=$type(this.element)&&(this.element=document.id(this.element.getDocument().body));var e=this.element;this.options.wheelStops&&(this.addEvent("start",function(){e.addEvent("mousewheel",d)},!0),this.addEvent("complete",function(){e.removeEvent("mousewheel",d)},!0))},set:function(){var a=Array.flatten(arguments);Browser.Engine.gecko&&
(a=[Math.round(a[0]),Math.round(a[1])]);this.element.scrollTo(a[0]+this.options.offset.x,a[1]+this.options.offset.y)},compute:function(a,b,d){return[0,1].map(function(e){return Fx.compute(a[e],b[e],d)})},start:function(a,b){if(!this.check(a,b))return this;var d=this.element.getScrollSize(),e=this.element.getScroll(),f={x:a,y:b},g;for(g in f){var h=d[g];$chk(f[g])?f[g]="number"==$type(f[g])?f[g]:h:f[g]=e[g];f[g]+=this.options.offset[g]}return this.parent([e.x,e.y],[f.x,f.y])},toTop:function(){return this.start(!1,
0)},toLeft:function(){return this.start(0,!1)},toRight:function(){return this.start("right",!1)},toBottom:function(){return this.start(!1,"bottom")},toElement:function(a){a=document.id(a).getPosition(this.element);return this.start(a.x,a.y)},scrollIntoView:function(a,b,d){b=b?$splat(b):["x","y"];var e={};a=document.id(a);var f=a.getPosition(this.element);a=a.getSize();var g=this.element.getScroll(),h=this.element.getSize(),l={x:f.x+a.x,y:f.y+a.y};["x","y"].each(function(a){b.contains(a)&&(l[a]>g[a]+
h[a]&&(e[a]=l[a]-h[a]),f[a]<g[a]&&(e[a]=f[a]));null==e[a]&&(e[a]=g[a]);d&&d[a]&&(e[a]+=d[a])},this);e.x==g.x&&e.y==g.y||this.start(e.x,e.y);return this},scrollToCenter:function(a,b,d){b=b?$splat(b):["x","y"];a=$(a);var e={},f=a.getPosition(this.element),g=a.getSize(),h=this.element.getScroll(),l=this.element.getSize();["x","y"].each(function(a){b.contains(a)&&(e[a]=f[a]-(l[a]-g[a])/2);null==e[a]&&(e[a]=h[a]);d&&d[a]&&(e[a]+=d[a])},this);e.x==h.x&&e.y==h.y||this.start(e.x,e.y);return this}});
Fx.Slide=new Class({Extends:Fx,options:{mode:"vertical",wrapper:!1,hideOverflow:!0,resetHeight:!1},initialize:function(a,b){this.addEvent("complete",function(){(this.open=0!=this.wrapper["offset"+this.layout.capitalize()])&&this.options.resetHeight&&this.wrapper.setStyle("height","");this.open&&Browser.Engine.webkit419&&this.element.dispose().inject(this.wrapper)},!0);this.element=this.subject=document.id(a);this.parent(b);var d=this.element.retrieve("wrapper"),e=this.element.getStyles("margin","position",
"overflow");this.options.hideOverflow&&(e=$extend(e,{overflow:"hidden"}));this.options.wrapper&&(d=document.id(this.options.wrapper).setStyles(e));this.wrapper=d||(new Element("div",{styles:e})).wraps(this.element);this.element.store("wrapper",this.wrapper).setStyle("margin",0);this.now=[];this.open=!0},vertical:function(){this.margin="margin-top";this.layout="height";this.offset=this.element.offsetHeight},horizontal:function(){this.margin="margin-left";this.layout="width";this.offset=this.element.offsetWidth},
set:function(a){this.element.setStyle(this.margin,a[0]);this.wrapper.setStyle(this.layout,a[1]);return this},compute:function(a,b,d){return[0,1].map(function(e){return Fx.compute(a[e],b[e],d)})},start:function(a,b){if(!this.check(a,b))return this;this[b||this.options.mode]();var d=this.element.getStyle(this.margin).toInt(),e=this.wrapper.getStyle(this.layout).toInt(),f=[[d,e],[0,this.offset]],d=[[d,e],[-this.offset,0]],g;switch(a){case "in":g=f;break;case "out":g=d;break;case "toggle":g=0==e?f:d}return this.parent(g[0],
g[1])},slideIn:function(a){return this.start("in",a)},slideOut:function(a){return this.start("out",a)},hide:function(a){this[a||this.options.mode]();this.open=!1;return this.set([-this.offset,0])},show:function(a){this[a||this.options.mode]();this.open=!0;return this.set([0,this.offset])},toggle:function(a){return this.start("toggle",a)}});
Element.Properties.slide={set:function(a){var b=this.retrieve("slide");b&&b.cancel();return this.eliminate("slide").store("slide:options",$extend({link:"cancel"},a))},get:function(a){if(a||!this.retrieve("slide"))!a&&this.retrieve("slide:options")||this.set("slide",a),this.store("slide",new Fx.Slide(this,this.retrieve("slide:options")));return this.retrieve("slide")}};
Element.implement({slide:function(a,b){a=a||"toggle";var d=this.get("slide"),e;switch(a){case "hide":d.hide(b);break;case "show":d.show(b);break;case "toggle":e=this.retrieve("slide:flag",d.open);d[e?"slideOut":"slideIn"](b);this.store("slide:flag",!e);e=!0;break;default:d.start(a,b)}e||this.eliminate("slide:flag");return this}});
var SmoothScroll=Fx.SmoothScroll=new Class({Extends:Fx.Scroll,initialize:function(a,b){b=b||document;this.doc=b.getDocument();var d=b.getWindow();this.parent(this.doc,a);this.links=$$(this.options.links||this.doc.links);var e=d.location.href.match(/^[^#]*/)[0]+"#";this.links.each(function(a){if(0==a.href.indexOf(e)){var b=a.href.substr(e.length);b&&this.useLink(a,b)}},this);Browser.Engine.webkit419||this.addEvent("complete",function(){d.location.hash=this.anchor},!0)},useLink:function(a,b){var d;
a.addEvent("click",function(e){!1===d||d||(d=document.id(b)||this.doc.getElement("a[name="+b+"]"));d&&(e.preventDefault(),this.anchor=b,this.toElement(d).chain(function(){this.fireEvent("scrolledTo",[a,d])}.bind(this)),a.blur())}.bind(this))}});
Fx.Sort=new Class({Extends:Fx.Elements,options:{mode:"vertical"},initialize:function(a,b){this.parent(a,b);this.elements.each(function(a){"static"==a.getStyle("position")&&a.setStyle("position","relative")});this.setDefaultOrder()},setDefaultOrder:function(){this.currentOrder=this.elements.map(function(a,b){return b})},sort:function(a){if("array"!=$type(a))return!1;var b=0,d=0,e={},f={},g="vertical"==this.options.mode,h=this.elements.map(function(a,e){var h=a.getComputedSize({styles:["border","padding",
"margin"]}),l;g?(l={top:b,margin:h["margin-top"],height:h.totalHeight},b+=l.height-h["margin-top"]):(l={left:d,margin:h["margin-left"],width:h.totalWidth},d+=l.width);h=g?"top":"left";f[e]={};var m=a.getStyle(h).toInt();f[e][h]=m||0;return l},this);this.set(f);a=a.map(function(a){return a.toInt()});a.length!=this.elements.length&&(this.currentOrder.each(function(b){a.contains(b)||a.push(b)}),a.length>this.elements.length&&a.splice(this.elements.length-1,a.length-this.elements.length));var l=b=d=0;
a.each(function(a,f){var m={};g?(m.top=b-h[a].top-l,b+=h[a].height):(m.left=d-h[a].left,d+=h[a].width);l+=h[a].margin;e[a]=m},this);var m={};$A(a).sort().each(function(a){m[a]=e[a]});this.start(m);this.currentOrder=a;return this},rearrangeDOM:function(a){a=a||this.currentOrder;var b=this.elements[0].getParent(),d=[];this.elements.setStyle("opacity",0);a.each(function(a){d.push(this.elements[a].inject(b).setStyles({top:0,left:0}))},this);this.elements.setStyle("opacity",1);this.elements=$$(d);this.setDefaultOrder();
return this},getDefaultOrder:function(){return this.elements.map(function(a,b){return b})},forward:function(){return this.sort(this.getDefaultOrder())},backward:function(){return this.sort(this.getDefaultOrder().reverse())},reverse:function(){return this.sort(this.currentOrder.reverse())},sortByElements:function(a){return this.sort(a.map(function(a){return this.elements.indexOf(a)},this))},swap:function(a,b){"element"==$type(a)&&(a=this.elements.indexOf(a));"element"==$type(b)&&(b=this.elements.indexOf(b));
var d=$A(this.currentOrder);d[this.currentOrder.indexOf(a)]=b;d[this.currentOrder.indexOf(b)]=a;return this.sort(d)}});
var Drag=new Class({Implements:[Events,Options],options:{snap:6,unit:"px",grid:!1,style:!0,limit:!1,handle:!1,invert:!1,preventDefault:!1,stopPropagation:!1,modifiers:{x:"left",y:"top"}},initialize:function(){var a=Array.link(arguments,{options:Object.type,element:$defined});this.element=document.id(a.element);this.document=this.element.getDocument();this.setOptions(a.options||{});a=$type(this.options.handle);this.handles=("array"==a||"collection"==a?$$(this.options.handle):document.id(this.options.handle))||
this.element;this.mouse={now:{},pos:{}};this.value={start:{},now:{}};this.selection=Browser.Engine.trident?"selectstart":"mousedown";this.bound={start:this.start.bind(this),check:this.check.bind(this),drag:this.drag.bind(this),stop:this.stop.bind(this),cancel:this.cancel.bind(this),eventStop:$lambda(!1)};this.attach()},attach:function(){this.handles.addEvent("mousedown",this.bound.start);return this},detach:function(){this.handles.removeEvent("mousedown",this.bound.start);return this},start:function(a){if(!a.rightClick){this.options.preventDefault&&
a.preventDefault();this.options.stopPropagation&&a.stopPropagation();this.mouse.start=a.page;this.fireEvent("beforeStart",this.element);var b=this.options.limit;this.limit={x:[],y:[]};var d=this.element.getStyles("left","right","top","bottom");this._invert={x:"left"==this.options.modifiers.x&&"auto"==d.left&&!isNaN(d.right.toInt())&&(this.options.modifiers.x="right"),y:"top"==this.options.modifiers.y&&"auto"==d.top&&!isNaN(d.bottom.toInt())&&(this.options.modifiers.y="bottom")};var e,f;for(e in this.options.modifiers)if(this.options.modifiers[e]&&
((d=this.element.getStyle(this.options.modifiers[e]))&&!d.match(/px$/)&&(f||(f=this.element.getCoordinates(this.element.getOffsetParent())),d=f[this.options.modifiers[e]]),this.value.now[e]=this.options.style?(d||0).toInt():this.element[this.options.modifiers[e]],this.options.invert&&(this.value.now[e]*=-1),this._invert[e]&&(this.value.now[e]*=-1),this.mouse.pos[e]=a.page[e]-this.value.now[e],b&&b[e]))for(d=2;d--;d)$chk(b[e][d])&&(this.limit[e][d]=$lambda(b[e][d])());"number"==$type(this.options.grid)&&
(this.options.grid={x:this.options.grid,y:this.options.grid});this.document.addEvents({mousemove:this.bound.check,mouseup:this.bound.cancel});this.document.addEvent(this.selection,this.bound.eventStop)}},check:function(a){this.options.preventDefault&&a.preventDefault();Math.round(Math.sqrt(Math.pow(a.page.x-this.mouse.start.x,2)+Math.pow(a.page.y-this.mouse.start.y,2)))>this.options.snap&&(this.cancel(),this.document.addEvents({mousemove:this.bound.drag,mouseup:this.bound.stop}),this.fireEvent("start",
[this.element,a]).fireEvent("snap",this.element))},drag:function(a){this.options.preventDefault&&a.preventDefault();this.mouse.now=a.page;for(var b in this.options.modifiers)this.options.modifiers[b]&&(this.value.now[b]=this.mouse.now[b]-this.mouse.pos[b],this.options.invert&&(this.value.now[b]*=-1),this._invert[b]&&(this.value.now[b]*=-1),this.options.limit&&this.limit[b]&&($chk(this.limit[b][1])&&this.value.now[b]>this.limit[b][1]?this.value.now[b]=this.limit[b][1]:$chk(this.limit[b][0])&&this.value.now[b]<
this.limit[b][0]&&(this.value.now[b]=this.limit[b][0])),this.options.grid[b]&&(this.value.now[b]-=(this.value.now[b]-(this.limit[b][0]||0))%this.options.grid[b]),this.options.style?this.element.setStyle(this.options.modifiers[b],this.value.now[b]+this.options.unit):this.element[this.options.modifiers[b]]=this.value.now[b]);this.fireEvent("drag",[this.element,a])},cancel:function(a){this.document.removeEvent("mousemove",this.bound.check);this.document.removeEvent("mouseup",this.bound.cancel);a&&(this.document.removeEvent(this.selection,
this.bound.eventStop),this.fireEvent("cancel",this.element))},stop:function(a){this.document.removeEvent(this.selection,this.bound.eventStop);this.document.removeEvent("mousemove",this.bound.drag);this.document.removeEvent("mouseup",this.bound.stop);a&&this.fireEvent("complete",[this.element,a])}});Element.implement({makeResizable:function(a){var b=new Drag(this,$merge({modifiers:{x:"width",y:"height"}},a));this.store("resizer",b);return b.addEvent("drag",function(){this.fireEvent("resize",b)}.bind(this))}});
Drag.Move=new Class({Extends:Drag,options:{droppables:[],container:!1,precalculate:!1,includeMargins:!0,checkDroppables:!0},initialize:function(a,b){this.parent(a,b);a=this.element;this.droppables=$$(this.options.droppables);(this.container=document.id(this.options.container))&&"element"!=$type(this.container)&&(this.container=document.id(this.container.getDocument().body));if(this.options.style){if("left"==this.options.modifiers.x&&"top"==this.options.modifiers.y){var d,e=document.id(a.getOffsetParent());
e&&(d=e.getStyles("border-top-width","border-left-width"));var f=a.getStyles("left","top");!e||"auto"!=f.left&&"auto"!=f.top||(e=a.getPosition(e),e.x-=d["border-left-width"]?d["border-left-width"].toInt():0,e.y-=d["border-top-width"]?d["border-top-width"].toInt():0,a.setPosition(e))}"static"==a.getStyle("position")&&a.setStyle("position","absolute")}this.addEvent("start",this.checkDroppables,!0);this.overed=null},start:function(a){this.container&&(this.options.limit=this.calculateLimit());this.options.precalculate&&
(this.positions=this.droppables.map(function(a){return a.getCoordinates()}));this.parent(a)},calculateLimit:function(){var a=document.id(this.element.getOffsetParent())||document.body,b=this.container.getCoordinates(a),d={},e={},f={},g={},h={};["top","right","bottom","left"].each(function(b){d[b]=this.container.getStyle("border-"+b).toInt();this.element.getStyle("border-"+b).toInt();e[b]=this.element.getStyle("margin-"+b).toInt();f[b]=this.container.getStyle("margin-"+b).toInt();h[b]=a.getStyle("padding-"+
b).toInt();g[b]=a.getStyle("border-"+b).toInt()},this);var l=0,m=0,q=b.right-d.right-(this.element.offsetWidth+e.left+e.right),r=b.bottom-d.bottom-(this.element.offsetHeight+e.top+e.bottom);this.options.includeMargins?(l+=e.left,m+=e.top):(q+=e.right,r+=e.bottom);"relative"==this.element.getStyle("position")?(b=this.element.getCoordinates(a),b.left-=this.element.getStyle("left").toInt(),b.top-=this.element.getStyle("top").toInt(),l+=d.left-b.left,m+=d.top-b.top,q+=e.left-b.left,r+=e.top-b.top,this.container!=
a&&(l+=f.left+h.left,m+=(Browser.Engine.trident4?0:f.top)+h.top)):(l-=e.left,m-=e.top,this.container==a?(q-=d.left,r-=d.top):(l+=b.left+d.left-g.left,m+=b.top+d.top-g.top,q-=g.left,r-=g.top));return{x:[l,q],y:[m,r]}},checkAgainst:function(a,b){a=this.positions?this.positions[b]:a.getCoordinates();var d=this.mouse.now;return d.x>a.left&&d.x<a.right&&d.y<a.bottom&&d.y>a.top},checkDroppables:function(){var a=this.droppables.filter(this.checkAgainst,this).getLast();this.overed!=a&&(this.overed&&this.fireEvent("leave",
[this.element,this.overed]),a&&this.fireEvent("enter",[this.element,a]),this.overed=a)},drag:function(a){this.parent(a);this.options.checkDroppables&&this.droppables.length&&this.checkDroppables()},stop:function(a){this.checkDroppables();this.fireEvent("drop",[this.element,this.overed,a]);this.overed=null;return this.parent(a)}});Element.implement({makeDraggable:function(a){a=new Drag.Move(this,a);this.store("dragger",a);return a}});
var Slider=new Class({Implements:[Events,Options],Binds:["clickedElement","draggedKnob","scrolledElement"],options:{onTick:function(a){this.options.snap&&(a=this.toPosition(this.step));this.knob.setStyle(this.property,a)},initialStep:0,snap:!1,offset:0,range:!1,wheel:!1,steps:100,mode:"horizontal"},initialize:function(a,b,d){this.setOptions(d);this.element=document.id(a);this.knob=document.id(b);this.previousChange=this.previousEnd=this.step=-1;var e;a={};b={x:!1,y:!1};switch(this.options.mode){case "vertical":this.axis=
"y";this.property="top";e="offsetHeight";break;case "horizontal":this.axis="x",this.property="left",e="offsetWidth"}this.full=this.element.measure(function(){this.half=this.knob[e]/2;return this.element[e]-this.knob[e]+2*this.options.offset}.bind(this));this.setRange(this.options.range);this.knob.setStyle("position","relative").setStyle(this.property,-this.options.offset);b[this.axis]=this.property;a[this.axis]=[-this.options.offset,this.full-this.options.offset];a={snap:0,limit:a,modifiers:b,onDrag:this.draggedKnob,
onStart:this.draggedKnob,onBeforeStart:function(){this.isDragging=!0}.bind(this),onCancel:function(){this.isDragging=!1}.bind(this),onComplete:function(){this.isDragging=!1;this.draggedKnob();this.end()}.bind(this)};this.options.snap&&(a.grid=Math.ceil(this.stepWidth),a.limit[this.axis][1]=this.full);this.drag=new Drag(this.knob,a);this.attach();null!=this.options.initialStep&&this.set(this.options.initialStep)},attach:function(){this.element.addEvent("mousedown",this.clickedElement);this.options.wheel&&
this.element.addEvent("mousewheel",this.scrolledElement);this.drag.attach();return this},detach:function(){this.element.removeEvent("mousedown",this.clickedElement);this.element.removeEvent("mousewheel",this.scrolledElement);this.drag.detach();return this},set:function(a){0<this.range^a<this.min||(a=this.min);0<this.range^a>this.max||(a=this.max);this.step=Math.round(a);this.checkStep();this.fireEvent("tick",this.toPosition(this.step));this.end();return this},setRange:function(a,b){this.min=$pick(a[0],
0);this.max=$pick(a[1],this.options.steps);this.range=this.max-this.min;this.steps=this.options.steps||this.full;this.stepSize=Math.abs(this.range)/this.steps;this.stepWidth=this.stepSize*this.full/Math.abs(this.range);this.set($pick(b,this.step).floor(this.min).max(this.max));return this},clickedElement:function(a){if(!this.isDragging&&a.target!=this.knob){var b=0>this.range?-1:1;a=a.page[this.axis]-this.element.getPosition()[this.axis]-this.half;a=a.limit(-this.options.offset,this.full-this.options.offset);
this.step=Math.round(this.min+b*this.toStep(a));this.checkStep();this.fireEvent("tick",a);this.end()}},scrolledElement:function(a){this.set(("horizontal"==this.options.mode?0>a.wheel:0<a.wheel)?this.step-this.stepSize:this.step+this.stepSize);a.stop()},draggedKnob:function(){var a=0>this.range?-1:1,b=this.drag.value.now[this.axis],b=b.limit(-this.options.offset,this.full-this.options.offset);this.step=Math.round(this.min+a*this.toStep(b));this.checkStep()},checkStep:function(){this.previousChange!=
this.step&&(this.previousChange=this.step,this.fireEvent("change",this.step))},end:function(){this.previousEnd!==this.step&&(this.previousEnd=this.step,this.fireEvent("complete",this.step+""))},toStep:function(a){a=(a+this.options.offset)*this.stepSize/this.full*this.steps;return this.options.steps?Math.round(a-a%this.stepSize):a},toPosition:function(a){return this.full*Math.abs(this.min-a)/(this.steps*this.stepSize)-this.options.offset}}),Sortables=new Class({Implements:[Events,Options],options:{snap:4,
opacity:1,clone:!1,revert:!1,handle:!1,constrain:!1,preventDefault:!1},initialize:function(a,b){this.setOptions(b);this.elements=[];this.lists=[];this.idle=!0;this.addLists($$(document.id(a)||a));this.options.clone||(this.options.revert=!1);this.options.revert&&(this.effect=new Fx.Morph(null,$merge({duration:250,link:"cancel"},this.options.revert)))},attach:function(){this.addLists(this.lists);return this},detach:function(){this.lists=this.removeLists(this.lists);return this},addItems:function(){Array.flatten(arguments).each(function(a){this.elements.push(a);
var b=a.retrieve("sortables:start",this.start.bindWithEvent(this,a));(this.options.handle?a.getElement(this.options.handle)||a:a).addEvent("mousedown",b)},this);return this},addLists:function(){Array.flatten(arguments).each(function(a){this.lists.push(a);this.addItems(a.getChildren())},this);return this},removeItems:function(){return $$(Array.flatten(arguments).map(function(a){this.elements.erase(a);var b=a.retrieve("sortables:start");(this.options.handle?a.getElement(this.options.handle)||a:a).removeEvent("mousedown",
b);return a},this))},removeLists:function(){return $$(Array.flatten(arguments).map(function(a){this.lists.erase(a);this.removeItems(a.getChildren());return a},this))},getClone:function(a,b){if(!this.options.clone)return(new Element(b.tagName)).inject(document.body);if("function"==$type(this.options.clone))return this.options.clone.call(this,a,b,this.list);var d=b.clone(!0).setStyles({margin:"0px",position:"absolute",visibility:"hidden",width:b.getStyle("width")});d.get("html").test("radio")&&d.getElements("input[type=radio]").each(function(a,
d){a.set("name","clone_"+d);a.get("checked")&&b.getElements("input[type=radio]")[d].set("checked",!0)});return d.inject(this.list).setPosition(b.getPosition(b.getOffsetParent()))},getDroppables:function(){var a=this.list.getChildren();this.options.constrain||(a=this.lists.concat(a).erase(this.list));return a.erase(this.clone).erase(this.element)},insert:function(a,b){var d="inside";this.lists.contains(b)?(this.list=b,this.drag.droppables=this.getDroppables()):d=this.element.getAllPrevious().contains(b)?
"before":"after";this.element.inject(b,d);this.fireEvent("sort",[this.element,this.clone])},start:function(a,b){!this.idle||a.rightClick||["button","input"].contains(document.id(a.target).get("tag"))||(this.idle=!1,this.element=b,this.opacity=b.get("opacity"),this.list=b.getParent(),this.clone=this.getClone(a,b),this.drag=new Drag.Move(this.clone,{preventDefault:this.options.preventDefault,snap:this.options.snap,container:this.options.constrain&&this.element.getParent(),droppables:this.getDroppables(),
onSnap:function(){a.stop();this.clone.setStyle("visibility","visible");this.element.set("opacity",this.options.opacity||0);this.fireEvent("start",[this.element,this.clone])}.bind(this),onEnter:this.insert.bind(this),onCancel:this.reset.bind(this),onComplete:this.end.bind(this)}),this.clone.inject(this.element,"before"),this.drag.start(a))},end:function(){this.drag.detach();this.element.set("opacity",this.opacity);if(this.effect){var a=this.element.getStyles("width","height"),b=this.clone.computePosition(this.element.getPosition(this.clone.getOffsetParent()));
this.effect.element=this.clone;this.effect.start({top:b.top,left:b.left,width:a.width,height:a.height,opacity:0.25}).chain(this.reset.bind(this))}else this.reset()},reset:function(){this.idle=!0;this.clone.destroy();this.fireEvent("complete",this.element)},serialize:function(){var a=Array.link(arguments,{modifier:Function.type,index:$defined}),b=this.lists.map(function(b){return b.getChildren().map(a.modifier||function(a){return a.get("id")},this)},this),d=a.index;1==this.lists.length&&(d=0);return $chk(d)&&
0<=d&&d<this.lists.length?b[d]:b}});
Request.JSONP=new Class({Implements:[Chain,Events,Options,Log],options:{url:"",data:{},retries:0,timeout:0,link:"ignore",callbackKey:"callback",injectScript:document.head},initialize:function(a){this.setOptions(a);this.options.log&&this.enableLog();this.running=!1;this.requests=0;this.triesRemaining=[]},check:function(){if(!this.running)return!0;switch(this.options.link){case "cancel":return this.cancel(),!0;case "chain":this.chain(this.caller.bind(this,arguments))}return!1},send:function(a,b){if(!$chk(b)&&
!this.check(a))return this;var d=$type(a),e=this.options,f=$chk(b)?b:this.requests++;if("string"==d||"element"==d)a={data:a};a=$extend({data:e.data,url:e.url},a);$chk(this.triesRemaining[f])||(this.triesRemaining[f]=this.options.retries);var g=this.triesRemaining[f];(function(){var b=this.getScript(a);this.log("JSONP retrieving script with url: "+b.get("src"));this.fireEvent("request",b);this.running=!0;(function(){g?(this.triesRemaining[f]=g-1,b&&(b.destroy(),this.send(a,f).fireEvent("retry",this.triesRemaining[f]))):
this.running&&b&&this.options.timeout&&(b.destroy(),this.cancel().fireEvent("failure"))}).delay(this.options.timeout,this)}).delay(Browser.Engine.trident?50:0,this);return this},cancel:function(){if(!this.running)return this;this.running=!1;this.fireEvent("cancel");return this},getScript:function(a){var b=Request.JSONP.counter,d;Request.JSONP.counter++;switch($type(a.data)){case "element":d=document.id(a.data).toQueryString();break;case "object":case "hash":d=Hash.toQueryString(a.data)}a=a.url+(a.url.test("\\?")?
"&":"?")+(a.callbackKey||this.options.callbackKey)+"=Request.JSONP.request_map.request_"+b+(d?"&"+d:"");2083<a.length&&this.log("JSONP "+a+" will fail in Internet Explorer, which enforces a 2083 bytes length limit on URIs");var e=new Element("script",{type:"text/javascript",src:a});Request.JSONP.request_map["request_"+b]=function(){this.success(arguments,e)}.bind(this);return e.inject(this.options.injectScript)},success:function(a,b){if(!this.running)return!1;b&&b.destroy();this.running=!1;this.log("JSONP successfully retrieved: ",
a);this.fireEvent("complete",a).fireEvent("success",a).callChain()}});Request.JSONP.counter=0;Request.JSONP.request_map={};
Request.Queue=new Class({Implements:[Options,Events],Binds:"attach request complete cancel success failure exception".split(" "),options:{stopOnFailure:!0,autoAdvance:!0,concurrent:1,requests:{}},initialize:function(a){if(a){var b=a.requests;delete a.requests}this.setOptions(a);this.requests=new Hash;this.queue=[];this.reqBinders={};b&&this.addRequests(b)},addRequest:function(a,b){this.requests.set(a,b);this.attach(a,b);return this},addRequests:function(a){$each(a,function(a,d){this.addRequest(d,
a)},this);return this},getName:function(a){return this.requests.keyOf(a)},attach:function(a,b){if(b._groupSend)return this;"request complete cancel success failure exception".split(" ").each(function(d){this.reqBinders[a]||(this.reqBinders[a]={});this.reqBinders[a][d]=function(){this["on"+d.capitalize()].apply(this,[a,b].extend(arguments))}.bind(this);b.addEvent(d,this.reqBinders[a][d])},this);b._groupSend=b.send;b.send=function(d){this.send(a,d);return b}.bind(this);return this},removeRequest:function(a){var b=
"object"==$type(a)?this.getName(a):a;if(!b&&"string"!=$type(b))return this;a=this.requests.get(b);if(!a)return this;"request complete cancel success failure exception".split(" ").each(function(d){a.removeEvent(d,this.reqBinders[b][d])},this);a.send=a._groupSend;delete a._groupSend;return this},getRunning:function(){return this.requests.filter(function(a){return a.running})},isRunning:function(){return!!this.getRunning().getKeys().length},send:function(a,b){var d=function(){this.requests.get(a)._groupSend(b);
this.queue.erase(d)}.bind(this);d.name=a;this.getRunning().getKeys().length>=this.options.concurrent||this.error&&this.options.stopOnFailure?this.queue.push(d):d();return this},hasNext:function(a){return a?!!this.queue.filter(function(b){return b.name==a}).length:!!this.queue.length},resume:function(){this.error=!1;(this.options.concurrent-this.getRunning().getKeys().length).times(this.runNext,this);return this},runNext:function(a){if(!this.queue.length)return this;if(a){var b;this.queue.each(function(d){b||
d.name!=a||(b=!0,d())})}else this.queue[0]();return this},runAll:function(){this.queue.each(function(a){a()});return this},clear:function(a){a?this.queue=this.queue.map(function(b){return b.name!=a?b:!1}).filter(function(a){return a}):this.queue.empty();return this},cancel:function(a){this.requests.get(a).cancel();return this},onRequest:function(){this.fireEvent("request",arguments)},onComplete:function(){this.fireEvent("complete",arguments);this.queue.length||this.fireEvent("end")},onCancel:function(){this.options.autoAdvance&&
!this.error&&this.runNext();this.fireEvent("cancel",arguments)},onSuccess:function(){this.options.autoAdvance&&!this.error&&this.runNext();this.fireEvent("success",arguments)},onFailure:function(){this.error=!0;!this.options.stopOnFailure&&this.options.autoAdvance&&this.runNext();this.fireEvent("failure",arguments)},onException:function(){this.error=!0;!this.options.stopOnFailure&&this.options.autoAdvance&&this.runNext();this.fireEvent("exception",arguments)}});
Request.implement({options:{initialDelay:5E3,delay:5E3,limit:6E4},startTimer:function(a){var b=function(){this.running||this.send({data:a})};this.timer=b.delay(this.options.initialDelay,this);this.lastDelay=this.options.initialDelay;this.completeCheck=function(a){$clear(this.timer);this.lastDelay=a?this.options.delay:(this.lastDelay+this.options.delay).min(this.options.limit);this.timer=b.delay(this.lastDelay,this)};return this.addEvent("complete",this.completeCheck)},stopTimer:function(){$clear(this.timer);
return this.removeEvent("complete",this.completeCheck)}});
var Asset={javascript:function(a,b){b=$extend({onload:$empty,document:document,check:$lambda(!0)},b);b.onLoad&&(b.onload=b.onLoad,delete b.onLoad);var d=new Element("script",{src:a,type:"text/javascript"}),e=b.onload.bind(d),f=b.check,g=b.document;delete b.onload;delete b.check;delete b.document;d.addEvents({load:e,readystatechange:function(){["loaded","complete"].contains(this.readyState)&&e()}}).set(b);if(Browser.Engine.webkit419)var h=function(){$try(f)&&($clear(h),e())}.periodical(50);return d.inject(g.head)},
css:function(a,b){b=b||{};var d=b.onload||b.onLoad;d&&(b.events=b.events||{},b.events.load=d,delete b.onload,delete b.onLoad);return(new Element("link",$merge({rel:"stylesheet",media:"screen",type:"text/css",href:a},b))).inject(document.head)},image:function(a,b){b=$merge({onload:$empty,onabort:$empty,onerror:$empty},b);var d=new Image,e=document.id(d)||new Element("img");["load","abort","error"].each(function(a){var g="on"+a,h=a.capitalize();b["on"+h]&&(b[g]=b["on"+h],delete b["on"+h]);var l=b[g];
delete b[g];d[g]=function(){d&&(e.parentNode||(e.width=d.width,e.height=d.height),d=d.onload=d.onabort=d.onerror=null,l.delay(1,e,e),e.fireEvent(a,e,1))}});d.src=e.src=a;d&&d.complete&&d.onload.delay(1);return e.set(b)},images:function(a,b){b=$merge({onComplete:$empty,onProgress:$empty,onError:$empty,properties:{}},b);a=$splat(a);var d=0;return new Elements(a.map(function(e,f){return Asset.image(e,$extend(b.properties,{onload:function(){b.onProgress.call(this,d,f);d++;if(d==a.length)b.onComplete()},
onerror:function(){b.onError.call(this,d,f);d++;if(d==a.length)b.onComplete()}}))}))}},Color=new Native({initialize:function(a,b){3<=arguments.length?(b="rgb",a=Array.slice(arguments,0,3)):"string"==typeof a&&(a=a.match(/rgb/)?a.rgbToHex().hexToRgb(!0):a.match(/hsb/)?a.hsbToRgb():a.hexToRgb(!0));switch(b||"rgb"){case "hsb":var d=a;a=a.hsbToRgb();a.hsb=d;break;case "hex":a=a.hexToRgb(!0)}a.rgb=a.slice(0,3);a.hsb=a.hsb||a.rgbToHsb();a.hex=a.rgbToHex();return $extend(a,this)}});
Color.implement({mix:function(){var a=Array.slice(arguments),b="number"==$type(a.getLast())?a.pop():50,d=this.slice();a.each(function(a){a=new Color(a);for(var f=0;3>f;f++)d[f]=Math.round(d[f]/100*(100-b)+a[f]/100*b)});return new Color(d,"rgb")},invert:function(){return new Color(this.map(function(a){return 255-a}))},setHue:function(a){return new Color([a,this.hsb[1],this.hsb[2]],"hsb")},setSaturation:function(a){return new Color([this.hsb[0],a,this.hsb[2]],"hsb")},setBrightness:function(a){return new Color([this.hsb[0],
this.hsb[1],a],"hsb")}});var $RGB=function(a,b,d){return new Color([a,b,d],"rgb")},$HSB=function(a,b,d){return new Color([a,b,d],"hsb")},$HEX=function(a){return new Color(a,"hex")};
Array.implement({rgbToHsb:function(){var a=this[0],b=this[1],d=this[2],e=0,f=Math.max(a,b,d),g=Math.min(a,b,d),h=f-g,g=f/255,l=0!=f?h/f:0;if(0!=l){var e=(f-a)/h,m=(f-b)/h,d=(f-d)/h,e=(a==f?d-m:b==f?2+e-d:4+m-e)/6;0>e&&e++}return[Math.round(360*e),Math.round(100*l),Math.round(100*g)]},hsbToRgb:function(){var a=Math.round(255*(this[2]/100));if(0==this[1])return[a,a,a];var b=this[0]%360,d=b%60,e=Math.round(255*(this[2]*(100-this[1])/1E4)),f=Math.round(255*(this[2]*(6E3-this[1]*d)/6E5)),d=Math.round(255*
(this[2]*(6E3-this[1]*(60-d))/6E5));switch(Math.floor(b/60)){case 0:return[a,d,e];case 1:return[f,a,e];case 2:return[e,a,d];case 3:return[e,f,a];case 4:return[d,e,a];case 5:return[a,e,f]}return!1}});String.implement({rgbToHsb:function(){var a=this.match(/\d{1,3}/g);return a?a.rgbToHsb():null},hsbToRgb:function(){var a=this.match(/\d{1,3}/g);return a?a.hsbToRgb():null}});
var Group=new Class({initialize:function(){this.instances=Array.flatten(arguments);this.events={};this.checker={}},addEvent:function(a,b){this.checker[a]=this.checker[a]||{};this.events[a]=this.events[a]||[];if(this.events[a].contains(b))return!1;this.events[a].push(b);this.instances.each(function(b,e){b.addEvent(a,this.check.bind(this,[a,b,e]))},this);return this},check:function(a,b,d){this.checker[a][d]=!0;this.instances.every(function(b,d){return this.checker[a][d]||!1},this)&&(this.checker[a]=
{},this.events[a].each(function(a){a.call(this,this.instances,b)},this))}});Hash.Cookie=new Class({Extends:Cookie,options:{autoSave:!0},initialize:function(a,b){this.parent(a,b);this.load()},save:function(){var a=JSON.encode(this.hash);if(!a||4096<a.length)return!1;"{}"==a?this.dispose():this.write(a);return!0},load:function(){this.hash=new Hash(JSON.decode(this.read(),!0));return this}});
Hash.each(Hash.prototype,function(a,b){"function"==typeof a&&Hash.Cookie.implement(b,function(){var b=a.apply(this.hash,arguments);this.options.autoSave&&this.save();return b})});
var IframeShim=new Class({Implements:[Options,Events,Class.Occlude],options:{className:"iframeShim",src:'javascript:false;document.write("");',display:!1,zIndex:null,margin:0,offset:{x:0,y:0},browsers:Browser.Engine.trident4||Browser.Engine.gecko&&!Browser.Engine.gecko19&&Browser.Platform.mac},property:"IframeShim",initialize:function(a,b){this.element=document.id(a);if(this.occlude())return this.occluded;this.setOptions(b);this.makeShim();return this},makeShim:function(){if(this.options.browsers){var a=
this.element.getStyle("zIndex").toInt();if(!a){var a=1,b=this.element.getStyle("position");"static"!=b&&b||this.element.setStyle("position","relative");this.element.setStyle("zIndex",a)}a=$chk(this.options.zIndex)&&a>this.options.zIndex?this.options.zIndex:a-1;0>a&&(a=1);this.shim=(new Element("iframe",{src:this.options.src,scrolling:"no",frameborder:0,styles:{zIndex:a,position:"absolute",border:"none",filter:"progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)"},"class":this.options.className})).store("IframeShim",
this);a=function(){this.shim.inject(this.element,"after");this[this.options.display?"show":"hide"]();this.fireEvent("inject")}.bind(this);IframeShim.ready?a():window.addEvent("load",a)}else this.position=this.hide=this.show=this.dispose=$lambda(this)},position:function(){if(!IframeShim.ready||!this.shim)return this;var a=this.element.measure(function(){return this.getSize()});void 0!=this.options.margin&&(a.x-=2*this.options.margin,a.y-=2*this.options.margin,this.options.offset.x+=this.options.margin,
this.options.offset.y+=this.options.margin);this.shim.set({width:a.x,height:a.y}).position({relativeTo:this.element,offset:this.options.offset});return this},hide:function(){this.shim&&this.shim.setStyle("display","none");return this},show:function(){this.shim&&this.shim.setStyle("display","block");return this.position()},dispose:function(){this.shim&&this.shim.dispose();return this},destroy:function(){this.shim&&this.shim.destroy();return this}});
window.addEvent("load",function(){IframeShim.ready=!0});
var HtmlTable=new Class({Implements:[Options,Events,Class.Occlude],options:{properties:{cellpadding:0,cellspacing:0,border:0},rows:[],headers:[],footers:[]},property:"HtmlTable",initialize:function(){var a=Array.link(arguments,{options:Object.type,table:Element.type});this.setOptions(a.options);this.element=a.table||new Element("table",this.options.properties);if(this.occlude())return this.occluded;this.build()},build:function(){this.element.store("HtmlTable",this);this.body=document.id(this.element.tBodies[0])||
(new Element("tbody")).inject(this.element);$$(this.body.rows);this.options.headers.length?this.setHeaders(this.options.headers):this.thead=document.id(this.element.tHead);this.thead&&(this.head=document.id(this.thead.rows[0]));this.options.footers.length&&this.setFooters(this.options.footers);if(this.tfoot=document.id(this.element.tFoot))this.foot=document.id(this.tfoot.rows[0]);this.options.rows.each(function(a){this.push(a)},this);"adopt inject wraps grab replaces dispose".split(" ").each(function(a){this[a]=
this.element[a].bind(this.element)},this)},toElement:function(){return this.element},empty:function(){this.body.empty();return this},set:function(a,b){var d="headers"==a?"tHead":"tFoot";this[d.toLowerCase()]=(document.id(this.element[d])||(new Element(d.toLowerCase())).inject(this.element,"top")).empty();d=this.push(b,{},this[d.toLowerCase()],"headers"==a?"th":"td");"headers"==a?this.head=document.id(this.thead.rows[0]):this.foot=document.id(this.thead.rows[0]);return d},setHeaders:function(a){this.set("headers",
a);return this},setFooters:function(a){this.set("footers",a);return this},push:function(a,b,d,e){if("element"==$type(a)&&"tr"==a.get("tag"))return a.inject(d||this.body),{tr:a,tds:a.getChildren("td")};a=a.map(function(a){var b=new Element(e||"td",a?a.properties:{});a=(a?a.content:"")||a;var d=document.id(a);"string"!=$type(a)&&d?b.adopt(d):b.set("html",a);return b});return{tr:(new Element("tr",b)).inject(d||this.body).adopt(a),tds:a}}}),HtmlTable=Class.refactor(HtmlTable,{options:{classZebra:"table-tr-odd",
zebra:!0},initialize:function(){this.previous.apply(this,arguments);if(this.occluded)return this.occluded;this.options.zebra&&this.updateZebras()},updateZebras:function(){Array.each(this.body.rows,this.zebra,this)},zebra:function(a,b){return a[(b%2?"remove":"add")+"Class"](this.options.classZebra)},push:function(){var a=this.previous.apply(this,arguments);this.options.zebra&&this.updateZebras();return a}}),HtmlTable=Class.refactor(HtmlTable,{options:{sortIndex:0,sortReverse:!1,parsers:[],defaultParser:"string",
classSortable:"table-sortable",classHeadSort:"table-th-sort",classHeadSortRev:"table-th-sort-rev",classNoSort:"table-th-nosort",classGroupHead:"table-tr-group-head",classGroup:"table-tr-group",classCellSort:"table-td-sort",classSortSpan:"table-th-sort-span",sortable:!1},initialize:function(){this.previous.apply(this,arguments);if(this.occluded)return this.occluded;this.sorted={index:null,dir:1};this.bound={headClick:this.headClick.bind(this)};this.sortSpans=new Elements;this.options.sortable&&(this.enableSort(),
null!=this.options.sortIndex&&this.sort(this.options.sortIndex,this.options.sortReverse))},attachSorts:function(a){this.element.removeEvents("click:relay(th)");this.element[$pick(a,!0)?"addEvent":"removeEvent"]("click:relay(th)",this.bound.headClick)},setHeaders:function(){this.previous.apply(this,arguments);this.sortEnabled&&this.detectParsers()},detectParsers:function(a){if(this.head){var b=this.options.parsers,d=this.body.rows;this.parsers=$$(this.head.cells).map(function(e,f){if(!a&&(e.hasClass(this.options.classNoSort)||
e.retrieve("htmltable-parser")))return e.retrieve("htmltable-parser");var g=new Element("div");$each(e.childNodes,function(a){g.adopt(a)});g.inject(e);var h=(new Element("span",{html:"&#160;","class":this.options.classSortSpan})).inject(g,"top");this.sortSpans.push(h);var l=b[f],m;switch($type(l)){case "function":l={convert:l};m=!0;break;case "string":m=!0}m||HtmlTable.Parsers.some(function(a){var b=a.match;if(!b)return!1;for(var e=0,g=d.length;e<g;e++){var h=document.id(d[e].cells[f]);if((h=h?h.get("html").clean():
"")&&b.test(h))return l=a,!0}});l||(l=this.options.defaultParser);e.store("htmltable-parser",l);return l},this)}},headClick:function(a,b){if(this.head&&!b.hasClass(this.options.classNoSort)){var d=Array.indexOf(this.head.cells,b);this.sort(d);return!1}},sort:function(a,b,d){if(this.head){d=!!d;var e=this.options.classCellSort,f=this.options.classGroup,g=this.options.classGroupHead;if(!d){null!=a?this.sorted.index==a?this.sorted.reverse=!this.sorted.reverse:(null!=this.sorted.index?(this.sorted.reverse=
!1,this.head.cells[this.sorted.index].removeClass(this.options.classHeadSort).removeClass(this.options.classHeadSortRev)):this.sorted.reverse=!0,this.sorted.index=a):a=this.sorted.index;null!=b&&(this.sorted.reverse=b);if(b=document.id(this.head.cells[a]))b.addClass(this.options.classHeadSort),this.sorted.reverse?b.addClass(this.options.classHeadSortRev):b.removeClass(this.options.classHeadSortRev);this.body.getElements("td").removeClass(this.options.classCellSort)}var h=this.parsers[a];"string"==
$type(h)&&(h=HtmlTable.Parsers.get(h));if(h){if(!Browser.Engine.trident){var l=this.body.getParent();this.body.dispose()}b=Array.map(this.body.rows,function(b,d){var e=h.convert.call(document.id(b.cells[a]));return{position:d,value:e,toString:function(){return e.toString()}}},this);b.reverse(!0);b.sort(function(a,b){return a.value===b.value?0:a.value>b.value?1:-1});this.sorted.reverse||b.reverse(!0);for(var m=b.length,q=this.body,r,u,z;m;){r=b[--m];u=r.position;var v=q.rows[u];if(!v.disabled)for(d||
(z===r.value?v.removeClass(g).addClass(f):(z=r.value,v.removeClass(f).addClass(g)),this.options.zebra&&this.zebra(v,m),v.cells[a].addClass(e)),q.appendChild(v),r=0;r<m;r++)b[r].position>u&&b[r].position--}b=null;l&&l.grab(q);return this.fireEvent("sort",[q,a])}}},reSort:function(){this.sortEnabled&&this.sort.call(this,this.sorted.index,this.sorted.reverse);return this},enableSort:function(){this.element.addClass(this.options.classSortable);this.attachSorts(!0);this.detectParsers();this.sortEnabled=
!0;return this},disableSort:function(){this.element.removeClass(this.options.classSortable);this.attachSorts(!1);this.sortSpans.each(function(a){a.destroy()});this.sortSpans.empty();this.sortEnabled=!1;return this}});
HtmlTable.Parsers=new Hash({date:{match:/^\d{2}[-\/ ]\d{2}[-\/ ]\d{2,4}$/,convert:function(){var a=Date.parse(this.get("text").stripTags());return"date"==$type(a)?a.format("db"):""},type:"date"},"input-checked":{match:/ type="(radio|checkbox)" /,convert:function(){return this.getElement("input").checked}},"input-value":{match:/<input/,convert:function(){return this.getElement("input").value}},number:{match:/^\d+[^\d.,]*$/,convert:function(){return this.get("text").stripTags().toInt()},number:!0},
numberLax:{match:/^[^\d]+\d+$/,convert:function(){return this.get("text").replace(/[^-?^0-9]/,"").stripTags().toInt()},number:!0},"float":{match:/^[\d]+\.[\d]+/,convert:function(){return this.get("text").replace(/[^-?^\d.]/,"").stripTags().toFloat()},number:!0},floatLax:{match:/^[^\d]+[\d]+\.[\d]+$/,convert:function(){return this.get("text").replace(/[^-?^\d.]/,"").stripTags()},number:!0},string:{match:null,convert:function(){return this.get("text").stripTags()}},title:{match:null,convert:function(){return this.title}}});
HtmlTable.defineParsers=function(a){HtmlTable.Parsers=(new Hash(a)).combine(HtmlTable.Parsers)};
HtmlTable=Class.refactor(HtmlTable,{options:{useKeyboard:!0,classRowSelected:"table-tr-selected",classRowHovered:"table-tr-hovered",classSelectable:"table-selectable",shiftForMultiSelect:!0,allowMultiSelect:!0,selectable:!1},initialize:function(){this.previous.apply(this,arguments);if(this.occluded)return this.occluded;this._selectedRows=new Elements;this._bound={mouseleave:this._mouseleave.bind(this),clickRow:this._clickRow.bind(this)};this.options.selectable&&this.enableSelect()},enableSelect:function(){this._selectEnabled=
!0;this._attachSelects();this.element.addClass(this.options.classSelectable)},disableSelect:function(){this._selectEnabled=!1;this._attachSelects(!1);this.element.removeClass(this.options.classSelectable)},push:function(){var a=this.previous.apply(this,arguments);this._updateSelects();return a},toggleRow:function(a){return this.isSelected(a)?this.deselectRow.apply(this,arguments):this.selectRow.apply(this,arguments)},selectRow:function(a,b){if(!this.isSelected(a)&&(b||this.body.getChildren().contains(a)))return this.options.allowMultiSelect||
this.selectNone(),this.isSelected(a)||(this._selectedRows.push(a),a.addClass(this.options.classRowSelected),this.fireEvent("rowFocus",[a,this._selectedRows])),this._focused=a,document.clearSelection(),this},isSelected:function(a){return this._selectedRows.contains(a)},deselectRow:function(a,b){if(this.isSelected(a)&&(b||this.body.getChildren().contains(a)))return this._selectedRows.erase(a),a.removeClass(this.options.classRowSelected),this.fireEvent("rowUnfocus",[a,this._selectedRows]),this},selectAll:function(a){if(a||
this.options.allowMultiSelect)return this.selectRange(0,this.body.rows.length,a),this},selectNone:function(){return this.selectAll(!0)},selectRange:function(a,b,d){if(this.options.allowMultiSelect||d){d=d?"deselectRow":"selectRow";var e=$A(this.body.rows);"element"==$type(a)&&(a=e.indexOf(a));"element"==$type(b)&&(b=e.indexOf(b));b=b<e.length-1?b:e.length-1;if(b<a){var f=a;a=b;b=f}for(;a<=b;a++)this[d](e[a],!0);return this}},deselectRange:function(a,b){this.selectRange(a,b,!0)},_enterRow:function(a){this._hovered&&
(this._hovered=this._leaveRow(this._hovered));this._hovered=a.addClass(this.options.classRowHovered)},_leaveRow:function(a){a.removeClass(this.options.classRowHovered)},_updateSelects:function(){Array.each(this.body.rows,function(a){var b=a.retrieve("binders");b&&this._selectEnabled||!b&&!this._selectEnabled||(b?a.removeEvents(b):(b={mouseenter:this._enterRow.bind(this,[a]),mouseleave:this._leaveRow.bind(this,[a])},a.store("binders",b).addEvents(b)))},this)},_shiftFocus:function(a,b){if(!this._focused)return this.selectRow(this.body.rows[0],
b);var d=this._getRowByOffset(a);if(null===d||this._focused==this.body.rows[d])return this;this.toggleRow(this.body.rows[d],b)},_clickRow:function(a,b){(a.shift||a.meta||a.control)&&this.options.shiftForMultiSelect||a.rightClick&&this.isSelected(b)&&this.options.allowMultiSelect||this.selectNone();a.rightClick?this.selectRow(b):this.toggleRow(b);a.shift&&(this.selectRange(this._rangeStart||this.body.rows[0],b,this._rangeStart?!this.isSelected(b):!0),this._focused=b);this._rangeStart=b},_getRowByOffset:function(a){if(!this._focused)return 0;
a=Array.indexOf(this.body.rows,this._focused)+a;0>a&&(a=null);a>=this.body.rows.length&&(a=null);return a},_attachSelects:function(a){var b=(a=$pick(a,!0))?"addEvents":"removeEvents";this.element[b]({mouseleave:this._bound.mouseleave});this.body[b]({"click:relay(tr)":this._bound.clickRow,"contextmenu:relay(tr)":this._bound.clickRow});if(this.options.useKeyboard||this.keyboard){if(!this.keyboard){var d,e,b=function(a){var b=function(f){$clear(d);f.preventDefault();var m=this.body.rows[this._getRowByOffset(a)];
f.shift&&m&&this.isSelected(m)?(this.deselectRow(this._focused),this._focused=m):(!m||this.options.allowMultiSelect&&f.shift||this.selectNone(),this._shiftFocus(a,f));d=e?b.delay(100,this,f):function(){e=!0;b(f)}.delay(400)}.bind(this);return b}.bind(this),f=function(){$clear(d);e=!1};this.keyboard=new Keyboard({events:{"keydown:shift+up":b(-1),"keydown:shift+down":b(1),"keyup:shift+up":f,"keyup:shift+down":f,"keyup:up":f,"keyup:down":f},active:!0});f="";this.options.allowMultiSelect&&this.options.shiftForMultiSelect&&
this.options.useKeyboard&&(f=" (Shift multi-selects).");this.keyboard.addShortcuts({"Select Previous Row":{keys:"up",shortcut:"up arrow",handler:b(-1),description:"Select the previous row in the table."+f},"Select Next Row":{keys:"down",shortcut:"down arrow",handler:b(1),description:"Select the next row in the table."+f}})}this.keyboard[a?"activate":"deactivate"]()}this._updateSelects()},_mouseleave:function(){this._hovered&&this._leaveRow(this._hovered)}});
(function(){var a=this.Keyboard=new Class({Extends:Events,Implements:[Options,Log],options:{defaultEventType:"keydown",active:!1,manager:null,events:{},nonParsedEvents:"activate deactivate onactivate ondeactivate changed onchanged".split(" ")},initialize:function(a){a&&a.manager&&(this.manager=a.manager,delete a.manager);this.setOptions(a);this.setup()},setup:function(){this.addEvents(this.options.events);a.manager&&!this.manager&&a.manager.manage(this);this.options.active&&this.activate()},handle:function(a,
b){if(!a.preventKeyboardPropagation){var d=!!this.manager;if(d&&this.activeKB&&(this.activeKB.handle(a,b),a.preventKeyboardPropagation))return;this.fireEvent(b,a);!d&&this.activeKB&&this.activeKB.handle(a,b)}},addEvent:function(b,d,e){return this.parent(a.parse(b,this.options.defaultEventType,this.options.nonParsedEvents),d,e)},removeEvent:function(b,d){return this.parent(a.parse(b,this.options.defaultEventType,this.options.nonParsedEvents),d)},toggleActive:function(){return this[this.active?"deactivate":
"activate"]()},activate:function(b){if(b){if(b.isActive())return this;this.activeKB&&b!=this.activeKB&&(this.previous=this.activeKB,this.previous.fireEvent("deactivate"));this.activeKB=b.fireEvent("activate");a.manager.fireEvent("changed")}else this.manager&&this.manager.activate(this);return this},isActive:function(){return this.manager?this.manager.activeKB==this:a.manager==this},deactivate:function(b){b?b===this.activeKB&&(this.activeKB=null,b.fireEvent("deactivate"),a.manager.fireEvent("changed")):
this.manager&&this.manager.deactivate(this);return this},relinquish:function(){this.isActive()&&this.manager&&this.manager.previous&&this.manager.activate(this.manager.previous)},manage:function(b){b.manager&&b.manager!=a.manager&&this!=a.manager&&b.manager.drop(b);this.instances.push(b);b.manager=this;this.activeKB||this.activate(b)},_disable:function(a){this.activeKB==a&&(this.activeKB=null)},drop:function(b){this._disable(b);this.instances.erase(b);a.manager.manage(b);this.activeKB==b&&this.previous&&
this.instances.contains(this.previous)&&this.activate(this.previous)},instances:[],trace:function(){a.trace(this)},each:function(b){a.each(this,b)}}),b={},d=["shift","control","alt","meta"],e=/^(?:shift|control|ctrl|alt|meta)$/;a.parse=function(a,f,l){if(l&&l.contains(a.toLowerCase()))return a;a=a.toLowerCase().replace(/^(keyup|keydown):/,function(a,b){f=b;return""});if(!b[a]){var m,q={};a.split("+").each(function(a){e.test(a)?q[a]=!0:m=a});q.control=q.control||q.ctrl;var r=[];d.each(function(a){q[a]&&
r.push(a)});m&&r.push(m);b[a]=r.join("+")}return f+":"+b[a]};a.each=function(b,d){for(var e=b||a.manager;e;)d.run(e),e=e.activeKB};a.stop=function(a){a.preventKeyboardPropagation=!0};a.manager=new a({active:!0});a.trace=function(b){b=b||a.manager;b.enableLog();b.log("the following items have focus: ");a.each(b,function(a){b.log(document.id(a.widget)||a.wiget||a)})};var f=function(b){var f=[];d.each(function(a){b[a]&&f.push(a)});e.test(b.key)||f.push(b.key);a.manager.handle(b,b.type+":"+f.join("+"))};
document.addEvents({keyup:f,keydown:f});Event.Keys.extend({shift:16,control:17,alt:18,capslock:20,pageup:33,pagedown:34,end:35,home:36,numlock:144,scrolllock:145,";":186,"=":187,",":188,"-":Browser.Engine.gecko?109:189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222})})();Keyboard.prototype.options.nonParsedEvents.combine(["rebound","onrebound"]);
Keyboard.implement({addShortcut:function(a,b){this.shortcuts=this.shortcuts||[];this.shortcutIndex=this.shortcutIndex||{};b.getKeyboard=$lambda(this);b.name=a;this.shortcutIndex[a]=b;this.shortcuts.push(b);b.keys&&this.addEvent(b.keys,b.handler);return this},addShortcuts:function(a){for(var b in a)this.addShortcut(b,a[b]);return this},removeShortcut:function(a){var b=this.getShortcut(a);b&&b.keys&&(this.removeEvent(b.keys,b.handler),delete this.shortcutIndex[a],this.shortcuts.erase(b));return this},
removeShortcuts:function(a){a.each(this.removeShortcut,this);return this},getShortcuts:function(){return this.shortcuts||[]},getShortcut:function(a){return(this.shortcutIndex||{})[a]}});Keyboard.rebind=function(a,b){$splat(b).each(function(b){b.getKeyboard().removeEvent(b.keys,b.handler);b.getKeyboard().addEvent(a,b.handler);b.keys=a;b.getKeyboard().fireEvent("rebound")})};
Keyboard.getActiveShortcuts=function(a){var b=[],d=[];Keyboard.each(a,[].push.bind(b));b.each(function(a){d.extend(a.getShortcuts())});return d};Keyboard.getShortcut=function(a,b,d){d=d||{};var e=d.many?[]:null;Keyboard.each(b,d.many?function(b){(b=b.getShortcut(a))&&e.push(b)}:function(b){e||(e=b.getShortcut(a))});return e};Keyboard.getShortcuts=function(a,b){return Keyboard.getShortcut(a,b,{many:!0})};
var Mask=new Class({Implements:[Options,Events],Binds:["position"],options:{style:{},"class":"mask",maskMargins:!1,useIframeShim:!0,iframeShimOptions:{}},initialize:function(a,b){this.target=document.id(a)||document.id(document.body);this.target.store("Mask",this);this.setOptions(b);this.render();this.inject()},render:function(){this.element=new Element("div",{"class":this.options["class"],id:this.options.id||"mask-"+$time(),styles:$merge(this.options.style,{display:"none"}),events:{click:function(){this.fireEvent("click");
this.options.hideOnClick&&this.hide()}.bind(this)}});this.hidden=!0},toElement:function(){return this.element},inject:function(a,b){b=b||this.options.inject?this.options.inject.where:this.target==document.body?"inside":"after";a=a||this.options.inject?this.options.inject.target:this.target;this.element.inject(a,b);this.options.useIframeShim&&(this.shim=new IframeShim(this.element,this.options.iframeShimOptions),this.addEvents({show:this.shim.show.bind(this.shim),hide:this.shim.hide.bind(this.shim),
destroy:this.shim.destroy.bind(this.shim)}))},position:function(){this.resize(this.options.width,this.options.height);this.element.position({relativeTo:this.target,position:"topLeft",ignoreMargins:!this.options.maskMargins,ignoreScroll:this.target==document.body});return this},resize:function(a,b){var d={styles:["padding","border"]};this.options.maskMargins&&d.styles.push("margin");d=this.target.getComputedSize(d);if(this.target==document.body){var e=window.getScrollSize();d.totalHeight<e.y&&(d.totalHeight=
e.y);d.totalWidth<e.x&&(d.totalWidth=e.x)}this.element.setStyles({width:$pick(a,d.totalWidth,d.x),height:$pick(b,d.totalHeight,d.y)});return this},show:function(){if(!this.hidden)return this;window.addEvent("resize",this.position);this.position();this.showMask.apply(this,arguments);return this},showMask:function(){this.element.setStyle("display","block");this.hidden=!1;this.fireEvent("show")},hide:function(){if(this.hidden)return this;window.removeEvent("resize",this.position);this.hideMask.apply(this,
arguments);return this.options.destroyOnHide?this.destroy():this},hideMask:function(){this.element.setStyle("display","none");this.hidden=!0;this.fireEvent("hide")},toggle:function(){this[this.hidden?"show":"hide"]()},destroy:function(){this.hide();this.element.destroy();this.fireEvent("destroy");this.target.eliminate("mask")}});
Element.Properties.mask={set:function(a){this.retrieve("mask");return this.eliminate("mask").store("mask:options",a)},get:function(a){if(a||!this.retrieve("mask"))this.retrieve("mask")&&this.retrieve("mask").destroy(),!a&&this.retrieve("mask:options")||this.set("mask",a),this.store("mask",new Mask(this,this.retrieve("mask:options")));return this.retrieve("mask")}};Element.implement({mask:function(a){this.get("mask",a).show();return this},unmask:function(){this.get("mask").hide();return this}});
var Scroller=new Class({Implements:[Events,Options],options:{area:20,velocity:1,onChange:function(a,b){this.element.scrollTo(a,b)},fps:50},initialize:function(a,b){this.setOptions(b);this.element=document.id(a);this.docBody=document.id(this.element.getDocument().body);this.listener="element"!=$type(this.element)?this.docBody:this.element;this.timer=null;this.bound={attach:this.attach.bind(this),detach:this.detach.bind(this),getCoords:this.getCoords.bind(this)}},start:function(){this.listener.addEvents({mouseenter:this.bound.attach,
mouseleave:this.bound.detach})},stop:function(){this.listener.removeEvents({mouseenter:this.bound.attach,mouseleave:this.bound.detach});this.detach();this.timer=$clear(this.timer)},attach:function(){this.listener.addEvent("mousemove",this.bound.getCoords)},detach:function(){this.listener.removeEvent("mousemove",this.bound.getCoords);this.timer=$clear(this.timer)},getCoords:function(a){this.page="body"==this.listener.get("tag")?a.client:a.page;this.timer||(this.timer=this.scroll.periodical(Math.round(1E3/
this.options.fps),this))},scroll:function(){var a=this.element.getSize(),b=this.element.getScroll(),d=this.element!=this.docBody?this.element.getOffsets():{x:0,y:0},e=this.element.getScrollSize(),f={x:0,y:0},g=this.options.area.top||this.options.area,h=this.options.area.bottom||this.options.area,l;for(l in this.page)this.page[l]<g+d[l]&&0!=b[l]?f[l]=(this.page[l]-g-d[l])*this.options.velocity:this.page[l]+h>a[l]+d[l]&&b[l]+a[l]!=e[l]&&(f[l]=(this.page[l]-a[l]+h-d[l])*this.options.velocity),f[l]=f[l].round();
(f.y||f.x)&&this.fireEvent("change",[b.x+f.x,b.y+f.y])}});
(function(){this.Tips=new Class({Implements:[Events,Options],options:{onShow:function(){this.tip.setStyle("display","block")},onHide:function(){this.tip.setStyle("display","none")},title:"title",text:function(a){return a.get("rel")||a.get("href")},showDelay:100,hideDelay:100,className:"tip-wrap",offset:{x:16,y:16},windowPadding:{x:0,y:0},fixed:!1},initialize:function(){var a=Array.link(arguments,{options:Object.type,elements:$defined});this.setOptions(a.options);a.elements&&this.attach(a.elements);
this.container=new Element("div",{"class":"tip"})},toElement:function(){return this.tip?this.tip:this.tip=(new Element("div",{"class":this.options.className,styles:{position:"absolute",top:0,left:0}})).adopt(new Element("div",{"class":"tip-top"}),this.container,new Element("div",{"class":"tip-bottom"}))},attach:function(a){$$(a).each(function(a){var d=this.options.title?"function"==$type(this.options.title)?(0,this.options.title)(a):a.get(this.options.title):"",e=this.options.text?"function"==$type(this.options.text)?
(0,this.options.text)(a):a.get(this.options.text):"";a.erase("title").store("tip:native",d).retrieve("tip:title",d);a.retrieve("tip:text",e);this.fireEvent("attach",[a]);d=["enter","leave"];this.options.fixed||d.push("move");d.each(function(d){var e=a.retrieve("tip:"+d);e||(e=this["element"+d.capitalize()].bindWithEvent(this,a));a.store("tip:"+d,e).addEvent("mouse"+d,e)},this)},this);return this},detach:function(a){$$(a).each(function(a){["enter","leave","move"].each(function(d){a.removeEvent("mouse"+
d,a.retrieve("tip:"+d)).eliminate("tip:"+d)});this.fireEvent("detach",[a]);if("title"==this.options.title){var d=a.retrieve("tip:native");d&&a.set("title",d)}},this);return this},elementEnter:function(a,b){this.container.empty();["title","text"].each(function(a){var e=b.retrieve("tip:"+a);e&&this.fill((new Element("div",{"class":"tip-"+a})).inject(this.container),e)},this);$clear(this.timer);this.timer=function(){this.show(b);this.position(this.options.fixed?{page:b.getPosition()}:a)}.delay(this.options.showDelay,
this)},elementLeave:function(a,b){$clear(this.timer);this.timer=this.hide.delay(this.options.hideDelay,this,b);this.fireForParent(a,b)},fireForParent:function(a,b){(b=b.getParent())&&b!=document.body&&(b.retrieve("tip:enter")?b.fireEvent("mouseenter",a):this.fireForParent(a,b))},elementMove:function(a,b){this.position(a)},position:function(a){this.tip||document.id(this);var b=window.getSize(),d=window.getScroll(),e={x:this.tip.offsetWidth,y:this.tip.offsetHeight},f={x:"left",y:"top"},g={},h;for(h in f)g[f[h]]=
a.page[h]+this.options.offset[h],g[f[h]]+e[h]-d[h]>b[h]-this.options.windowPadding[h]&&(g[f[h]]=a.page[h]-this.options.offset[h]-e[h]);this.tip.setStyles(g)},fill:function(a,b){"string"==typeof b?a.set("html",b):a.adopt(b)},show:function(a){this.tip||document.id(this);this.tip.getParent()||this.tip.inject(document.body);this.fireEvent("show",[this.tip,a])},hide:function(a){this.tip||document.id(this);this.fireEvent("hide",[this.tip,a])}})})();
var Spinner=new Class({Extends:Mask,options:{"class":"spinner",containerPosition:{},content:{"class":"spinner-content"},messageContainer:{"class":"spinner-msg"},img:{"class":"spinner-img"},fxOptions:{link:"chain"}},initialize:function(){this.parent.apply(this,arguments);this.target.store("spinner",this);var a=function(){this.active=!1}.bind(this);this.addEvents({hide:a,show:a})},render:function(){this.parent();this.element.set("id",this.options.id||"spinner-"+$time());this.content=document.id(this.options.content)||
new Element("div",this.options.content);this.content.inject(this.element);this.options.message&&(this.msg=document.id(this.options.message)||(new Element("p",this.options.messageContainer)).appendText(this.options.message),this.msg.inject(this.content));this.options.img&&(this.img=document.id(this.options.img)||new Element("div",this.options.img),this.img.inject(this.content));this.element.set("tween",this.options.fxOptions)},show:function(a){if(this.active)return this.chain(this.show.bind(this));
if(!this.hidden)return this.callChain.delay(20,this),this;this.active=!0;return this.parent(a)},showMask:function(a){var b=function(){this.content.position($merge({relativeTo:this.element},this.options.containerPosition))}.bind(this);a?(this.parent(),b()):(this.element.setStyles({display:"block",opacity:0}).tween("opacity",this.options.style.opacity||0.9),b(),this.hidden=!1,this.fireEvent("show"),this.callChain())},hide:function(a){if(this.active)return this.chain(this.hide.bind(this));if(this.hidden)return this.callChain.delay(20,
this),this;this.active=!0;return this.parent(a)},hideMask:function(a){if(a)return this.parent();this.element.tween("opacity",0).get("tween").chain(function(){this.element.setStyle("display","none");this.hidden=!0;this.fireEvent("hide");this.callChain()}.bind(this))},destroy:function(){this.content.destroy();this.parent();this.target.eliminate("spinner")}});Spinner.implement(new Chain);
Request=Class.refactor(Request,{options:{useSpinner:!1,spinnerOptions:{},spinnerTarget:!1},initialize:function(a){this._send=this.send;this.send=function(a){var d=this.getSpinner();d?d.chain(this._send.bind(this,a)).show():this._send(a);return this};this.previous(a)},getSpinner:function(){if(!this.spinner){var a=document.id(this.options.spinnerTarget)||document.id(this.options.update);this.options.useSpinner&&a&&(this.spinner=a.get("spinner",this.options.spinnerOptions),["onComplete","onException",
"onCancel"].each(function(a){this.addEvent(a,this.spinner.hide.bind(this.spinner))},this))}return this.spinner}});Element.Properties.spinner={set:function(a){this.retrieve("spinner");return this.eliminate("spinner").store("spinner:options",a)},get:function(a){if(a||!this.retrieve("spinner"))this.retrieve("spinner")&&this.retrieve("spinner").destroy(),!a&&this.retrieve("spinner:options")||this.set("spinner",a),new Spinner(this,this.retrieve("spinner:options"));return this.retrieve("spinner")}};
Element.implement({spin:function(a){this.get("spinner",a).show();return this},unspin:function(){var a=Array.link(arguments,{options:Object.type,callback:Function.type});this.get("spinner",a.options).hide(a.callback);return this}});
MooTools.lang.set("en-US","Date",{months:"January February March April May June July August September October November December".split(" "),days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),dateOrder:["month","date","year"],shortDate:"%m/%d/%Y",shortTime:"%I:%M%p",AM:"AM",PM:"PM",ordinal:function(a){return 3<a&&21>a?"th":["th","st","nd","rd","th"][Math.min(a%10,4)]},lessThanMinuteAgo:"less than a minute ago",minuteAgo:"about a minute ago",minutesAgo:"{delta} minutes ago",
hourAgo:"about an hour ago",hoursAgo:"about {delta} hours ago",dayAgo:"1 day ago",daysAgo:"{delta} days ago",weekAgo:"1 week ago",weeksAgo:"{delta} weeks ago",monthAgo:"1 month ago",monthsAgo:"{delta} months ago",yearAgo:"1 year ago",yearsAgo:"{delta} years ago",lessThanMinuteUntil:"less than a minute from now",minuteUntil:"about a minute from now",minutesUntil:"{delta} minutes from now",hourUntil:"about an hour from now",hoursUntil:"about {delta} hours from now",dayUntil:"1 day from now",daysUntil:"{delta} days from now",
weekUntil:"1 week from now",weeksUntil:"{delta} weeks from now",monthUntil:"1 month from now",monthsUntil:"{delta} months from now",yearUntil:"1 year from now",yearsUntil:"{delta} years from now"});
MooTools.lang.set("en-US","Form.Validator",{required:"This field is required.",minLength:"Please enter at least {minLength} characters (you entered {length} characters).",maxLength:"Please enter no more than {maxLength} characters (you entered {length} characters).",integer:"Please enter an integer in this field. Numbers with decimals (e.g. 1.25) are not permitted.",numeric:'Please enter only numeric values in this field (i.e. "1" or "1.1" or "-1" or "-1.1").',digits:"Please use numbers and punctuation only in this field (for example, a phone number with dashes or dots is permitted).",
alpha:"Please use only letters (a-z) within this field. No spaces or other characters are allowed.",alphanum:"Please use only letters (a-z) or numbers (0-9) in this field. No spaces or other characters are allowed.",dateSuchAs:"Please enter a valid date such as {date}",dateInFormatMDY:'Please enter a valid date such as MM/DD/YYYY (i.e. "12/31/1999")',email:'Please enter a valid email address. For example "fred@domain.com".',url:"Please enter a valid URL such as http://www.google.com.",currencyDollar:"Please enter a valid $ amount. For example $100.00 .",
oneRequired:"Please enter something for at least one of these inputs.",errorPrefix:"Error: ",warningPrefix:"Warning: ",noSpace:"There can be no spaces in this input.",reqChkByNode:"No items are selected.",requiredChk:"This field is required.",reqChkByName:"Please select a {label}.",match:"This field needs to match the {matchName} field",startDate:"the start date",endDate:"the end date",currendDate:"the current date",afterDate:"The date should be the same or after {label}.",beforeDate:"The date should be the same or before {label}.",
startMonth:"Please select a start month",sameMonth:"These two dates must be in the same month - you must change one or the other.",creditcard:"The credit card number entered is invalid. Please check the number and try again. {length} digits entered."});
MooTools.lang.set("ca-CA","Date",{months:"Gener Febrer Març Abril Maig Juny Juli Agost Setembre Octubre Novembre Desembre".split(" "),days:"Diumenge Dilluns Dimarts Dimecres Dijous Divendres Dissabte".split(" "),dateOrder:["date","month","year"],shortDate:"%d/%m/%Y",shortTime:"%H:%M",AM:"AM",PM:"PM",ordinal:"",lessThanMinuteAgo:"fa menys d`un minut",minuteAgo:"fa un minut",minutesAgo:"fa {delta} minuts",hourAgo:"fa un hora",hoursAgo:"fa unes {delta} hores",dayAgo:"fa un dia",daysAgo:"fa {delta} dies",
lessThanMinuteUntil:"menys d`un minut des d`ara",minuteUntil:"un minut des d`ara",minutesUntil:"{delta} minuts des d`ara",hourUntil:"un hora des d`ara",hoursUntil:"unes {delta} hores des d`ara",dayUntil:"1 dia des d`ara",daysUntil:"{delta} dies des d`ara"});
(function(){var a=function(a,d,e,f){return 1==a?d:2==a||3==a||4==a?e:f};MooTools.lang.set("cs-CZ","Date",{months:"Leden Únor Březen Duben Květen Červen Červenec Srpen Září Říjen Listopad Prosinec".split(" "),days:"Neděle Pondělí Úterý Středa Čtvrtek Pátek Sobota".split(" "),dateOrder:["date","month","year"],shortDate:"%d.%m.%Y",shortTime:"%H:%M",AM:"dop.",PM:"odp.",ordinal:".",lessThanMinuteAgo:"před chvílí",minuteAgo:"přibližně před minutou",minutesAgo:function(b){return"před {delta} "+a(b,"minutou",
"minutami","minutami")},hourAgo:"přibližně před hodinou",hoursAgo:function(b){return"před {delta} "+a(b,"hodinou","hodinami","hodinami")},dayAgo:"před dnem",daysAgo:function(b){return"před {delta} "+a(b,"dnem","dny","dny")},weekAgo:"před týdnem",weeksAgo:function(b){return"před {delta} "+a(b,"týdnem","týdny","týdny")},monthAgo:"před měsícem",monthsAgo:function(b){return"před {delta} "+a(b,"měsícem","měsíci","měsíci")},yearAgo:"před rokem",yearsAgo:function(b){return"před {delta} "+a(b,"rokem","lety",
"lety")},lessThanMinuteUntil:"za chvíli",minuteUntil:"přibližně za minutu",minutesUntil:function(b){return"za {delta} "+a(b,"minutu","minuty","minut")},hourUntil:"přibližně za hodinu",hoursUntil:function(b){return"za {delta} "+a(b,"hodinu","hodiny","hodin")},dayUntil:"za den",daysUntil:function(b){return"za {delta} "+a(b,"den","dny","dnů")},weekUntil:"za týden",weeksUntil:function(b){return"za {delta} "+a(b,"týden","týdny","týdnů")},monthUntil:"za měsíc",monthsUntil:function(b){return"za {delta} "+
a(b,"měsíc","měsíce","měsíců")},yearUntil:"za rok",yearsUntil:function(b){return"za {delta} "+a(b,"rok","roky","let")}})})();
MooTools.lang.set("da-DK","Date",{months:"Januar Februa Marts April Maj Juni Juli August September Oktober November December".split(" "),days:"Søndag Mandag Tirsdag Onsdag Torsdag Fredag Lørdag".split(" "),dateOrder:["date","month","year"],shortDate:"%d-%m-%Y",shortTime:"%H:%M",AM:"AM",PM:"PM",ordinal:".",lessThanMinuteAgo:"mindre end et minut siden",minuteAgo:"omkring et minut siden",minutesAgo:"{delta} minutter siden",hourAgo:"omkring en time siden",hoursAgo:"omkring {delta} timer siden",dayAgo:"1 dag siden",
daysAgo:"{delta} dage siden",weekAgo:"1 uge siden",weeksAgo:"{delta} uger siden",monthAgo:"1 måned siden",monthsAgo:"{delta} måneder siden",yearAgo:"1 år siden",yearsAgo:"{delta} år siden",lessThanMinuteUntil:"mindre end et minut fra nu",minuteUntil:"omkring et minut fra nu",minutesUntil:"{delta} minutter fra nu",hourUntil:"omkring en time fra nu",hoursUntil:"omkring {delta} timer fra nu",dayUntil:"1 dag fra nu",daysUntil:"{delta} dage fra nu",weekUntil:"1 uge fra nu",weeksUntil:"{delta} uger fra nu",
monthUntil:"1 måned fra nu",monthsUntil:"{delta} måneder fra nu",yearUntil:"1 år fra nu",yearsUntil:"{delta} år fra nu"});
MooTools.lang.set("nl-NL","Date",{months:"januari februari maart april mei juni juli augustus september oktober november december".split(" "),days:"zondag maandag dinsdag woensdag donderdag vrijdag zaterdag".split(" "),dateOrder:["date","month","year"],shortDate:"%d-%m-%Y",shortTime:"%H:%M",AM:"AM",PM:"PM",ordinal:"e",lessThanMinuteAgo:"minder dan een minuut geleden",minuteAgo:"ongeveer een minuut geleden",minutesAgo:"{delta} minuten geleden",hourAgo:"ongeveer een uur geleden",hoursAgo:"ongeveer {delta} uur geleden",
dayAgo:"een dag geleden",daysAgo:"{delta} dagen geleden",weekAgo:"een week geleden",weeksAgo:"{delta} weken geleden",monthAgo:"een maand geleden",monthsAgo:"{delta} maanden geleden",yearAgo:"een jaar geleden",yearsAgo:"{delta} jaar geleden",lessThanMinuteUntil:"over minder dan een minuut",minuteUntil:"over ongeveer een minuut",minutesUntil:"over {delta} minuten",hourUntil:"over ongeveer een uur",hoursUntil:"over {delta} uur",dayUntil:"over ongeveer een dag",daysUntil:"over {delta} dagen",weekUntil:"over een week",
weeksUntil:"over {delta} weken",monthUntil:"over een maand",monthsUntil:"over {delta} maanden",yearUntil:"over een jaar",yearsUntil:"over {delta} jaar"});MooTools.lang.set("en-GB","Date",{dateOrder:["date","month","year"],shortDate:"%d/%m/%Y",shortTime:"%H:%M"}).set("cascade",["en-US"]);
MooTools.lang.set("et-EE","Date",{months:"jaanuar veebruar märts aprill mai juuni juuli august september oktoober november detsember".split(" "),days:"pühapäev esmaspäev teisipäev kolmapäev neljapäev reede laupäev".split(" "),dateOrder:["month","date","year"],shortDate:"%m.%d.%Y",shortTime:"%H:%M",AM:"AM",PM:"PM",ordinal:"",lessThanMinuteAgo:"vähem kui minut aega tagasi",minuteAgo:"umbes minut aega tagasi",minutesAgo:"{delta} minutit tagasi",hourAgo:"umbes tund aega tagasi",hoursAgo:"umbes {delta} tundi tagasi",
dayAgo:"1 päev tagasi",daysAgo:"{delta} päeva tagasi",weekAgo:"1 nädal tagasi",weeksAgo:"{delta} nädalat tagasi",monthAgo:"1 kuu tagasi",monthsAgo:"{delta} kuud tagasi",yearAgo:"1 aasta tagasi",yearsAgo:"{delta} aastat tagasi",lessThanMinuteUntil:"vähem kui minuti aja pärast",minuteUntil:"umbes minuti aja pärast",minutesUntil:"{delta} minuti pärast",hourUntil:"umbes tunni aja pärast",hoursUntil:"umbes {delta} tunni pärast",dayUntil:"1 päeva pärast",daysUntil:"{delta} päeva pärast",weekUntil:"1 nädala pärast",
weeksUntil:"{delta} nädala pärast",monthUntil:"1 kuu pärast",monthsUntil:"{delta} kuu pärast",yearUntil:"1 aasta pärast",yearsUntil:"{delta} aasta pärast"});
MooTools.lang.set("de-DE","Date",{months:"Januar Februar M&auml;rz April Mai Juni Juli August September Oktober November Dezember".split(" "),days:"Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag".split(" "),dateOrder:["date","month","year"],shortDate:"%d.%m.%Y",shortTime:"%H:%M",AM:"vormittags",PM:"nachmittags",ordinal:".",lessThanMinuteAgo:"Vor weniger als einer Minute",minuteAgo:"Vor einer Minute",minutesAgo:"Vor {delta} Minuten",hourAgo:"Vor einer Stunde",hoursAgo:"Vor {delta} Stunden",
dayAgo:"Vor einem Tag",daysAgo:"Vor {delta} Tagen",weekAgo:"Vor einer Woche",weeksAgo:"Vor {delta} Wochen",monthAgo:"Vor einem Monat",monthsAgo:"Vor {delta} Monaten",yearAgo:"Vor einem Jahr",yearsAgo:"Vor {delta} Jahren",lessThanMinuteUntil:"In weniger als einer Minute",minuteUntil:"In einer Minute",minutesUntil:"In {delta} Minuten",hourUntil:"In ca. einer Stunde",hoursUntil:"In ca. {delta} Stunden",dayUntil:"In einem Tag",daysUntil:"In {delta} Tagen",weekUntil:"In einer Woche",weeksUntil:"In {delta} Wochen",
monthUntil:"In einem Monat",monthsUntil:"In {delta} Monaten",yearUntil:"In einem Jahr",yearsUntil:"In {delta} Jahren"});MooTools.lang.set("de-CH","cascade",["de-DE"]);
MooTools.lang.set("fr-FR","Date",{months:"Janvier F&eacute;vrier Mars Avril Mai Juin Juillet Ao&ucirc;t Septembre Octobre Novembre D&eacute;cembre".split(" "),days:"Dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi".split(" "),dateOrder:["date","month","year"],shortDate:"%d/%m/%Y",shortTime:"%H:%M",AM:"AM",PM:"PM",ordinal:function(a){return 1<a?"":"er"},lessThanMinuteAgo:"il y a moins d'une minute",minuteAgo:"il y a une minute",minutesAgo:"il y a {delta} minutes",hourAgo:"il y a une heure",hoursAgo:"il y a {delta} heures",
dayAgo:"il y a un jour",daysAgo:"il y a {delta} jours",weekAgo:"il y a une semaine",weeksAgo:"il y a {delta} semaines",monthAgo:"il y a 1 mois",monthsAgo:"il y a {delta} mois",yearthAgo:"il y a 1 an",yearsAgo:"il y a {delta} ans",lessThanMinuteUntil:"dans moins d'une minute",minuteUntil:"dans une minute",minutesUntil:"dans {delta} minutes",hourUntil:"dans une heure",hoursUntil:"dans {delta} heures",dayUntil:"dans un jour",daysUntil:"dans {delta} jours",weekUntil:"dans 1 semaine",weeksUntil:"dans {delta} semaines",
monthUntil:"dans 1 mois",monthsUntil:"dans {delta} mois",yearUntil:"dans 1 an",yearsUntil:"dans {delta} ans"});
MooTools.lang.set("it-IT","Date",{months:"Gennaio Febbraio Marzo Aprile Maggio Giugno Luglio Agosto Settembre Ottobre Novembre Dicembre".split(" "),days:"Domenica Luned&igrave; Marted&igrave; Mercoled&igrave; Gioved&igrave; Venerd&igrave; Sabato".split(" "),dateOrder:["date","month","year"],shortDate:"%d/%m/%Y",shortTime:"%H.%M",AM:"AM",PM:"PM",ordinal:"&ordm;",lessThanMinuteAgo:"meno di un minuto fa",minuteAgo:"circa un minuto fa",minutesAgo:"circa {delta} minuti fa",hourAgo:"circa un'ora fa",hoursAgo:"circa {delta} ore fa",
dayAgo:"circa 1 giorno fa",daysAgo:"circa {delta} giorni fa",lessThanMinuteUntil:"tra meno di un minuto",minuteUntil:"tra circa un minuto",minutesUntil:"tra circa {delta} minuti",hourUntil:"tra circa un'ora",hoursUntil:"tra circa {delta} ore",dayUntil:"tra circa un giorno",daysUntil:"tra circa {delta} giorni"});
MooTools.lang.set("no-NO","Date",{dateOrder:["date","month","year"],shortDate:"%d.%m.%Y",shortTime:"%H:%M",AM:"AM",PM:"PM",lessThanMinuteAgo:"kortere enn et minutt siden",minuteAgo:"omtrent et minutt siden",minutesAgo:"{delta} minutter siden",hourAgo:"omtrent en time siden",hoursAgo:"omtrent {delta} timer siden",dayAgo:"{delta} dag siden",daysAgo:"{delta} dager siden"});
MooTools.lang.set("pl-PL","Date",{months:"Styczeń Luty Marzec Kwiecień Maj Czerwiec Lipiec Sierpień Wrzesień Październik Listopad Grudzień".split(" "),days:"Niedziela Poniedziałek Wtorek Środa Czwartek Piątek Sobota".split(" "),dateOrder:["year","month","date"],shortDate:"%Y-%m-%d",shortTime:"%H:%M",AM:"nad ranem",PM:"po południu",ordinal:function(a){return 3<a&&21>a?"ty":["ty","szy","gi","ci","ty"][Math.min(a%10,4)]},lessThanMinuteAgo:"mniej niż minute temu",minuteAgo:"około minutę temu",minutesAgo:"{delta} minut temu",
hourAgo:"około godzinę temu",hoursAgo:"około {delta} godzin temu",dayAgo:"Wczoraj",daysAgo:"{delta} dni temu",lessThanMinuteUntil:"za niecałą minutę",minuteUntil:"za około minutę",minutesUntil:"za {delta} minut",hourUntil:"za około godzinę",hoursUntil:"za około {delta} godzin",dayUntil:"za 1 dzień",daysUntil:"za {delta} dni"});
MooTools.lang.set("pt-BR","Date",{months:"Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro".split(" "),days:"Domingo Segunda-feira Terça-feira Quarta-feira Quinta-feira Sexta-feira Sábado".split(" "),dateOrder:["date","month","year"],shortDate:"%d/%m/%Y",shortTime:"%H:%M",AM:"AM",PM:"PM",ordinal:"&ordm;",lessThanMinuteAgo:"há menos de um minuto",minuteAgo:"há cerca de um minuto",minutesAgo:"há {delta} minutos",hourAgo:"há cerca de uma hora",hoursAgo:"há cerca de {delta} horas",
dayAgo:"há um dia",daysAgo:"há {delta} dias",weekAgo:"há uma semana",weeksAgo:"há {delta} semanas",monthAgo:"há um mês",monthsAgo:"há {delta} meses",yearAgo:"há um ano",yearsAgo:"há {delta} anos",lessThanMinuteUntil:"em menos de um minuto",minuteUntil:"em um minuto",minutesUntil:"em {delta} minutos",hourUntil:"em uma hora",hoursUntil:"em {delta} horas",dayUntil:"em um dia",daysUntil:"em {delta} dias",weekUntil:"em uma semana",weeksUntil:"em {delta} semanas",monthUntil:"em um mês",monthsUntil:"em {delta} meses",
yearUntil:"em um ano",yearsUntil:"em {delta} anos"});
(function(){var a=function(a,d,e,f,g){var h=a%10;a%=100;return 1==h&&11!=a?d:2!=h&&3!=h&&4!=h||12==a||13==a||14==a?0==h||5==h||6==h||7==h||8==h||9==h||11==a||12==a||13==a||14==a?f:g:e};MooTools.lang.set("ru-RU-unicode","Date",{months:"Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь".split(" "),days:"Воскресенье Понедельник Вторник Среда Четверг Пятница Суббота".split(" "),dateOrder:["date","month","year"],shortDate:"%d.%m.%Y",shortTime:"%H:%M",AM:"AM",PM:"PM",ordinal:"",
lessThanMinuteAgo:"меньше минуты назад",minuteAgo:"минута назад",minutesAgo:function(b){return"{delta} "+a(b,"минута","минуты","минут")+" назад"},hourAgo:"час назад",hoursAgo:function(b){return"{delta} "+a(b,"час","часа","часов")+" назад"},dayAgo:"вчера",daysAgo:function(b){return"{delta} "+a(b,"день","дня","дней")+" назад"},lessThanMinuteUntil:"меньше минуты назад",minuteUntil:"через минуту",minutesUntil:function(b){return"через {delta} "+a(b,"час","часа","часов")+""},hourUntil:"через час",hoursUntil:function(b){return"через {delta} "+
a(b,"час","часа","часов")+""},dayUntil:"завтра",daysUntil:function(b){return"через {delta} "+a(b,"день","дня","дней")+""}})})();
MooTools.lang.set("es-ES","Date",{months:"Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre Octubre Noviembre Diciembre".split(" "),days:"Domingo Lunes Martes Miércoles Jueves Viernes Sábado".split(" "),dateOrder:["date","month","year"],shortDate:"%d/%m/%Y",shortTime:"%H:%M",AM:"AM",PM:"PM",ordinal:"",lessThanMinuteAgo:"hace menos de un minuto",minuteAgo:"hace un minuto",minutesAgo:"hace {delta} minutos",hourAgo:"hace una hora",hoursAgo:"hace unas {delta} horas",dayAgo:"hace un día",daysAgo:"hace {delta} días",
weekAgo:"hace una semana",weeksAgo:"hace unas {delta} semanas",monthAgo:"hace un mes",monthsAgo:"hace {delta} meses",yearAgo:"hace un año",yearsAgo:"hace {delta} años",lessThanMinuteUntil:"menos de un minuto desde ahora",minuteUntil:"un minuto desde ahora",minutesUntil:"{delta} minutos desde ahora",hourUntil:"una hora desde ahora",hoursUntil:"unas {delta} horas desde ahora",dayUntil:"un día desde ahora",daysUntil:"{delta} días desde ahora",weekUntil:"una semana desde ahora",weeksUntil:"unas {delta} semanas desde ahora",
monthUntil:"un mes desde ahora",monthsUntil:"{delta} meses desde ahora",yearUntil:"un año desde ahora",yearsUntil:"{delta} años desde ahora"});
MooTools.lang.set("sv-SE","Date",{months:"januari februari mars april maj juni juli augusti september oktober november december".split(" "),days:"söndag måndag tisdag onsdag torsdag fredag lördag".split(" "),dateOrder:["year","month","date"],shortDate:"%Y-%m-%d",shortTime:"%H:%M",AM:"",PM:"",ordinal:"",lessThanMinuteAgo:"mindre än en minut sedan",minuteAgo:"ungefär en minut sedan",minutesAgo:"{delta} minuter sedan",hourAgo:"ungefär en timme sedan",hoursAgo:"ungefär {delta} timmar sedan",dayAgo:"1 dag sedan",
daysAgo:"{delta} dagar sedan",lessThanMinuteUntil:"mindre än en minut sedan",minuteUntil:"ungefär en minut sedan",minutesUntil:"{delta} minuter sedan",hourUntil:"ungefär en timme sedan",hoursUntil:"ungefär {delta} timmar sedan",dayUntil:"1 dag sedan",daysUntil:"{delta} dagar sedan"});
(function(){var a=function(a,d,e,f,g){g=(a/10).toInt();var h=a%10;(a/100).toInt();return 1==g&&10<a?f:1==h?d:0<h&&5>h?e:f};MooTools.lang.set("uk-UA","Date",{months:"Січень Лютий Березень Квітень Травень Червень Липень Серпень Вересень Жовтень Листопад Грудень".split(" "),days:"Неділя Понеділок Вівторок Середа Четвер П'ятниця Субота".split(" "),dateOrder:["date","month","year"],shortDate:"%d/%m/%Y",shortTime:"%H:%M",AM:"до полудня",PM:"по полудню",ordinal:"",lessThanMinuteAgo:"меньше хвилини тому",
minuteAgo:"хвилину тому",minutesAgo:function(b){return"{delta} "+a(b,"хвилину","хвилини","хвилин")+" тому"},hourAgo:"годину тому",hoursAgo:function(b){return"{delta} "+a(b,"годину","години","годин")+" тому"},dayAgo:"вчора",daysAgo:function(b){return"{delta} "+a(b,"день","дня","днів")+" тому"},weekAgo:"тиждень тому",weeksAgo:function(b){return"{delta} "+a(b,"тиждень","тижні","тижнів")+" тому"},monthAgo:"місяць тому",monthsAgo:function(b){return"{delta} "+a(b,"місяць","місяці","місяців")+" тому"},yearAgo:"рік тому",
yearsAgo:function(b){return"{delta} "+a(b,"рік","роки","років")+" тому"},lessThanMinuteUntil:"за мить",minuteUntil:"через хвилину",minutesUntil:function(b){return"через {delta} "+a(b,"хвилину","хвилини","хвилин")},hourUntil:"через годину",hoursUntil:function(b){return"через {delta} "+a(b,"годину","години","годин")},dayUntil:"завтра",daysUntil:function(b){return"через {delta} "+a(b,"день","дня","днів")},weekUntil:"через тиждень",weeksUntil:function(b){return"через {delta} "+a(b,"тиждень","тижні","тижнів")},
monthUntil:"через місяць",monthesUntil:function(b){return"через {delta} "+a(b,"місяць","місяці","місяців")},yearUntil:"через рік",yearsUntil:function(b){return"через {delta} "+a(b,"рік","роки","років")}})})();
MooTools.lang.set("ar","Form.Validator",{required:"هذا الحقل مطلوب.",minLength:"رجاءً إدخال {minLength}  أحرف على الأقل (تم إدخال {length} أحرف).",maxLength:"الرجاء عدم إدخال أكثر من {maxLength} أحرف (تم إدخال {length} أحرف).",integer:"الرجاء إدخال عدد صحيح في هذا الحقل. أي رقم ذو كسر عشري أو مئوي (مثال 1.25 ) غير مسموح.",numeric:'الرجاء إدخال قيم رقمية في هذا الحقل (مثال "1" أو "1.1" أو "-1" أو "-1.1").',digits:"الرجاء أستخدام قيم رقمية وعلامات ترقيمية فقط في هذا الحقل (مثال, رقم هاتف مع نقطة أو شحطة)",
alpha:"الرجاء أستخدام أحرف فقط (ا-ي) في هذا الحقل. أي فراغات أو علامات غير مسموحة.",alphanum:"الرجاء أستخدام أحرف فقط (ا-ي) أو أرقام (0-9) فقط في هذا الحقل. أي فراغات أو علامات غير مسموحة.",dateSuchAs:"الرجاء إدخال تاريخ صحيح كالتالي {date}",dateInFormatMDY:"الرجاء إدخال تاريخ صحيح (مثال, 31-12-1999)",email:"الرجاء إدخال بريد إلكتروني صحيح.",url:"الرجاء إدخال عنوان إلكتروني صحيح مثل http://www.google.com",currencyDollar:"الرجاء إدخال قيمة $ صحيحة.  مثال, 100.00$",oneRequired:"الرجاء إدخال قيمة في أحد هذه الحقول على الأقل.",
errorPrefix:"خطأ: ",warningPrefix:"تحذير: "});
MooTools.lang.set("ca-CA","Form.Validator",{required:"Aquest camp es obligatori.",minLength:"Per favor introdueix al menys {minLength} caracters (has introduit {length} caracters).",maxLength:"Per favor introdueix no mes de {maxLength} caracters (has introduit {length} caracters).",integer:"Per favor introdueix un nombre enter en aquest camp. Nombres amb decimals (p.e. 1,25) no estan permesos.",numeric:'Per favor introdueix sols valors numerics en aquest camp (p.e. "1" o "1,1" o "-1" o "-1,1").',digits:"Per favor usa sols numeros i puntuacio en aquest camp (per exemple, un nombre de telefon amb guions i punts no esta permes).",
alpha:"Per favor utilitza lletres nomes (a-z) en aquest camp. No s´admiteixen espais ni altres caracters.",alphanum:"Per favor, utilitza nomes lletres (a-z) o numeros (0-9) en aquest camp. No s´admiteixen espais ni altres caracters.",dateSuchAs:"Per favor introdueix una data valida com {date}",dateInFormatMDY:'Per favor introdueix una data valida com DD/MM/YYYY (p.e. "31/12/1999")',email:'Per favor, introdueix una adreça de correu electronic valida. Per exemple,  "fred@domain.com".',url:"Per favor introdueix una URL valida com http://www.google.com.",
currencyDollar:"Per favor introdueix una quantitat valida de €. Per exemple €100,00 .",oneRequired:"Per favor introdueix alguna cosa per al menys una d´aquestes entrades.",errorPrefix:"Error: ",warningPrefix:"Avis: ",noSpace:"No poden haver espais en aquesta entrada.",reqChkByNode:"No hi han elements seleccionats.",requiredChk:"Aquest camp es obligatori.",reqChkByName:"Per favor selecciona una {label}.",match:"Aquest camp necessita coincidir amb el camp {matchName}",startDate:"la data de inici",endDate:"la data de fi",
currendDate:"la data actual",afterDate:"La data deu ser igual o posterior a {label}.",beforeDate:"La data deu ser igual o anterior a {label}.",startMonth:"Per favor selecciona un mes d´orige",sameMonth:"Aquestes dos dates deuen estar dins del mateix mes - deus canviar una o altra."});
MooTools.lang.set("cs-CZ","Form.Validator",{required:"Tato položka je povinná.",minLength:"Zadejte prosím alespoň {minLength} znaků (napsáno {length} znaků).",maxLength:"Zadejte prosím méně než {maxLength} znaků (nápsáno {length} znaků).",integer:"Zadejte prosím celé číslo. Desetinná čísla (např. 1.25) nejsou povolena.",numeric:'Zadejte jen číselné hodnoty  (tj. "1" nebo "1.1" nebo "-1" nebo "-1.1").',digits:"Zadejte prosím pouze čísla a interpunkční znaménka(například telefonní číslo s pomlčkami nebo tečkami je povoleno).",
alpha:"Zadejte prosím pouze písmena (a-z). Mezery nebo jiné znaky nejsou povoleny.",alphanum:"Zadejte prosím pouze písmena (a-z) nebo číslice (0-9). Mezery nebo jiné znaky nejsou povoleny.",dateSuchAs:"Zadejte prosím platné datum jako {date}",dateInFormatMDY:'Zadejte prosím platné datum jako MM / DD / RRRR (tj. "12/31/1999")',email:'Zadejte prosím platnou e-mailovou adresu. Například "fred@domain.com".',url:"Zadejte prosím platnou URL adresu jako http://www.google.com.",currencyDollar:"Zadejte prosím platnou částku. Například $100.00.",
oneRequired:"Zadejte prosím alespoň jednu hodnotu pro tyto položky.",errorPrefix:"Chyba: ",warningPrefix:"Upozornění: ",noSpace:"V této položce nejsou povoleny mezery",reqChkByNode:"Nejsou vybrány žádné položky.",requiredChk:"Tato položka je vyžadována.",reqChkByName:"Prosím vyberte {label}.",match:"Tato položka se musí shodovat s položkou {matchName}",startDate:"datum zahájení",endDate:"datum ukončení",currendDate:"aktuální datum",afterDate:"Datum by mělo být stejné nebo větší než {label}.",beforeDate:"Datum by mělo být stejné nebo menší než {label}.",
startMonth:"Vyberte počáteční měsíc.",sameMonth:"Tyto dva datumy musí být ve stejném měsíci - změňte jeden z nich.",creditcard:"Zadané číslo kreditní karty je neplatné. Prosím opravte ho. Bylo zadáno {length} čísel."});
MooTools.lang.set("zh-CHS","Form.Validator",{required:"此项必填。",minLength:"请至少输入 {minLength} 个字符 (已输入 {length} 个)。",maxLength:"最多只能输入 {maxLength} 个字符 (已输入 {length} 个)。",integer:'请输入一个整数，不能包含小数点。例如："1", "200"。',numeric:'请输入一个数字，例如："1", "1.1", "-1", "-1.1"。',digits:"请输入由数字和标点符号组成的内容。例如电话号码。",alpha:"请输入 A-Z 的 26 个字母，不能包含空格或任何其他字符。",alphanum:"请输入 A-Z 的 26 个字母或 0-9 的 10 个数字，不能包含空格或任何其他字符。",dateSuchAs:"请输入合法的日期格式，如：{date}。",dateInFormatMDY:'请输入合法的日期格式，例如：YYYY-MM-DD ("2010-12-31")。',email:'请输入合法的电子信箱地址，例如："fred@domain.com"。',
url:"请输入合法的 Url 地址，例如：http://www.google.com。",currencyDollar:"请输入合法的货币符号，例如：￥100.0",oneRequired:"请至少选择一项。",errorPrefix:"错误：",warningPrefix:"警告：",noSpace:"不能包含空格。",reqChkByNode:"未选择任何内容。",requiredChk:"此项必填。",reqChkByName:"请选择 {label}.",match:"必须与{matchName}相匹配",startDate:"起始日期",endDate:"结束日期",currendDate:"当前日期",afterDate:"日期必须等于或晚于 {label}.",beforeDate:"日期必须早于或等于 {label}.",startMonth:"请选择起始月份",sameMonth:"您必须修改两个日期中的一个，以确保它们在同一月份。",creditcard:"您输入的信用卡号码不正确。当前已输入{length}个字符。"});
MooTools.lang.set("zh-CHT","Form.Validator",{required:"此項必填。 ",minLength:"請至少輸入{minLength} 個字符(已輸入{length} 個)。 ",maxLength:"最多只能輸入{maxLength} 個字符(已輸入{length} 個)。 ",integer:'請輸入一個整數，不能包含小數點。例如："1", "200"。 ',numeric:'請輸入一個數字，例如："1", "1.1", "-1", "-1.1"。 ',digits:"請輸入由數字和標點符號組成的內容。例如電話號碼。 ",alpha:"請輸入AZ 的26 個字母，不能包含空格或任何其他字符。 ",alphanum:"請輸入AZ 的26 個字母或0-9 的10 個數字，不能包含空格或任何其他字符。 ",dateSuchAs:"請輸入合法的日期格式，如：{date}。 ",dateInFormatMDY:'請輸入合法的日期格式，例如：YYYY-MM-DD ("2010-12-31")。 ',email:'請輸入合法的電子信箱地址，例如："fred@domain.com"。 ',
url:"請輸入合法的Url 地址，例如：http://www.google.com。 ",currencyDollar:"請輸入合法的貨幣符號，例如：￥100.0",oneRequired:"請至少選擇一項。 ",errorPrefix:"錯誤：",warningPrefix:"警告：",noSpace:"不能包含空格。 ",reqChkByNode:"未選擇任何內容。 ",requiredChk:"此項必填。 ",reqChkByName:"請選擇 {label}.",match:"必須與{matchName}相匹配",startDate:"起始日期",endDate:"結束日期",currendDate:"當前日期",afterDate:"日期必須等於或晚於{label}.",beforeDate:"日期必須早於或等於{label}.",startMonth:"請選擇起始月份",sameMonth:"您必須修改兩個日期中的一個，以確保它們在同一月份。 ",creditcard:"您輸入的信用卡號碼不正確。當前已輸入{length}個字符。 "});
Form.Validator.add("validate-currency-yuan",{errorMsg:function(){return Form.Validator.getMsg("currencyYuan")},test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||/^￥?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/.test(a.get("value"))}});
MooTools.lang.set("nl-NL","Form.Validator",{required:"Dit veld is verplicht.",minLength:"Vul minimaal {minLength} karakters in (je hebt {length} karakters ingevoerd).",maxLength:"Vul niet meer dan {maxLength} karakters in (je hebt {length} karakters ingevoerd).",integer:"Vul een getal in. Getallen met decimalen (bijvoorbeeld 1.25) zijn niet toegestaan.",numeric:'Vul alleen numerieke waarden in (bijvoorbeeld "1" of "1.1" of "-1" of "-1.1").',digits:"Vul alleen nummers en leestekens in (bijvoorbeeld een telefoonnummer met streepjes is toegestaan).",
alpha:"Vul alleen letters in (a-z). Spaties en andere karakters zijn niet toegestaan.",alphanum:"Vul alleen letters (a-z) of nummers (0-9) in. Spaties en andere karakters zijn niet toegestaan.",dateSuchAs:"Vul een geldige datum in, zoals {date}",dateInFormatMDY:'Vul een geldige datum, in het formaat MM/DD/YYYY (bijvoorbeeld "12/31/1999")',email:'Vul een geldig e-mailadres in. Bijvoorbeeld "fred@domein.nl".',url:"Vul een geldige URL in, zoals http://www.google.nl.",currencyDollar:"Vul een geldig $ bedrag in. Bijvoorbeeld $100.00 .",
oneRequired:"Vul iets in bij in ieder geval een van deze velden.",warningPrefix:"Waarschuwing: ",errorPrefix:"Fout: ",noSpace:"Spaties zijn niet toegestaan in dit veld.",reqChkByNode:"Er zijn geen items geselecteerd.",requiredChk:"Dit veld is verplicht.",reqChkByName:"Selecteer een {label}.",match:"Dit veld moet overeen komen met het {matchName} veld",startDate:"de begin datum",endDate:"de eind datum",currendDate:"de huidige datum",afterDate:"De datum moet hetzelfde of na {label} zijn.",beforeDate:"De datum moet hetzelfde of voor {label} zijn.",
startMonth:"Selecteer een begin maand",sameMonth:"Deze twee data moeten in dezelfde maand zijn - u moet een van beide aanpassen.",creditcard:"Het ingevulde creditcard nummer is niet geldig. Controleer het nummer en probeer opnieuw. {length} getallen ingevuld."});
MooTools.lang.set("et-EE","Form.Validator",{required:"Väli peab olema täidetud.",minLength:"Palun sisestage vähemalt {minLength} tähte (te sisestasite {length} tähte).",maxLength:"Palun ärge sisestage rohkem kui {maxLength} tähte (te sisestasite {length} tähte).",integer:"Palun sisestage väljale täisarv. Kümnendarvud (näiteks 1.25) ei ole lubatud.",numeric:'Palun sisestage ainult numbreid väljale (näiteks "1", "1.1", "-1" või "-1.1").',digits:"Palun kasutage ainult numbreid ja kirjavahemärke (telefoninumbri sisestamisel on lubatud kasutada kriipse ja punkte).",
alpha:"Palun kasutage ainult tähti (a-z). Tühikud ja teised sümbolid on keelatud.",alphanum:"Palun kasutage ainult tähti (a-z) või numbreid (0-9). Tühikud ja teised sümbolid on keelatud.",dateSuchAs:"Palun sisestage kehtiv kuupäev kujul {date}",dateInFormatMDY:'Palun sisestage kehtiv kuupäev kujul MM.DD.YYYY (näiteks: "12.31.1999").',email:'Palun sisestage kehtiv e-maili aadress (näiteks: "fred@domain.com").',url:"Palun sisestage kehtiv URL (näiteks: http://www.google.com).",currencyDollar:"Palun sisestage kehtiv $ summa (näiteks: $100.00).",
oneRequired:"Palun sisestage midagi vähemalt ühele antud väljadest.",errorPrefix:"Viga: ",warningPrefix:"Hoiatus: ",noSpace:"Väli ei tohi sisaldada tühikuid.",reqChkByNode:"Ükski väljadest pole valitud.",requiredChk:"Välja täitmine on vajalik.",reqChkByName:"Palun valige üks {label}.",match:"Väli peab sobima {matchName} väljaga",startDate:"algkuupäev",endDate:"lõppkuupäev",currendDate:"praegune kuupäev",afterDate:"Kuupäev peab olema võrdne või pärast {label}.",beforeDate:"Kuupäev peab olema võrdne või enne {label}.",
startMonth:"Palun valige algkuupäev.",sameMonth:"Antud kaks kuupäeva peavad olema samas kuus - peate muutma ühte kuupäeva."});
MooTools.lang.set("de-DE","Form.Validator",{required:"Dieses Eingabefeld muss ausgef&uuml;llt werden.",minLength:"Geben Sie bitte mindestens {minLength} Zeichen ein (Sie haben nur {length} Zeichen eingegeben).",maxLength:"Geben Sie bitte nicht mehr als {maxLength} Zeichen ein (Sie haben {length} Zeichen eingegeben).",integer:"Geben Sie in diesem Eingabefeld bitte eine ganze Zahl ein. Dezimalzahlen (z.B. &quot;1.25&quot;) sind nicht erlaubt.",numeric:"Geben Sie in diesem Eingabefeld bitte nur Zahlenwerte (z.B. &quot;1&quot;, &quot;1.1&quot;, &quot;-1&quot; oder &quot;-1.1&quot;) ein.",
digits:"Geben Sie in diesem Eingabefeld bitte nur Zahlen und Satzzeichen ein (z.B. eine Telefonnummer mit Bindestrichen und Punkten ist erlaubt).",alpha:"Geben Sie in diesem Eingabefeld bitte nur Buchstaben (a-z) ein. Leerzeichen und andere Zeichen sind nicht erlaubt.",alphanum:"Geben Sie in diesem Eingabefeld bitte nur Buchstaben (a-z) und Zahlen (0-9) ein. Leerzeichen oder andere Zeichen sind nicht erlaubt.",dateSuchAs:"Geben Sie bitte ein g&uuml;ltiges Datum ein (z.B. &quot;{date}&quot;).",dateInFormatMDY:"Geben Sie bitte ein g&uuml;ltiges Datum im Format TT.MM.JJJJ ein (z.B. &quot;31.12.1999&quot;).",
email:"Geben Sie bitte eine g&uuml;ltige E-Mail-Adresse ein (z.B. &quot;max@mustermann.de&quot;).",url:"Geben Sie bitte eine g&uuml;ltige URL ein (z.B. &quot;http://www.google.de&quot;).",currencyDollar:"Geben Sie bitte einen g&uuml;ltigen Betrag in EURO ein (z.B. 100.00&#8364;).",oneRequired:"Bitte f&uuml;llen Sie mindestens ein Eingabefeld aus.",errorPrefix:"Fehler: ",warningPrefix:"Warnung: ",noSpace:"Es darf kein Leerzeichen in diesem Eingabefeld sein.",reqChkByNode:"Es wurden keine Elemente gew&auml;hlt.",
requiredChk:"Dieses Feld muss ausgef&uuml;llt werden.",reqChkByName:"Bitte w&auml;hlen Sie ein {label}.",match:"Dieses Eingabefeld muss mit dem {matchName} Eingabefeld &uuml;bereinstimmen.",startDate:"Das Anfangsdatum",endDate:"Das Enddatum",currendDate:"Das aktuelle Datum",afterDate:"Das Datum sollte zur gleichen Zeit oder sp&auml;ter sein als {label}.",beforeDate:"Das Datum sollte zur gleichen Zeit oder fr&uuml;her sein als {label}.",startMonth:"W&auml;hlen Sie bitte einen Anfangsmonat",sameMonth:"Diese zwei Datumsangaben m&uuml;ssen im selben Monat sein - Sie m&uuml;ssen eines von beiden ver&auml;ndern.",
creditcard:"Die eingegebene Kreditkartennummer ist ung&uuml;ltig. Bitte &uuml;berpr&uuml;fen Sie diese und versuchen Sie es erneut. {length} Zahlen eingegeben."});
MooTools.lang.set("de-CH","Form.Validator",{required:"Dieses Feld ist obligatorisch.",minLength:"Geben Sie bitte mindestens {minLength} Zeichen ein (Sie haben {length} Zeichen eingegeben).",maxLength:"Bitte geben Sie nicht mehr als {maxLength} Zeichen ein (Sie haben {length} Zeichen eingegeben).",integer:"Geben Sie bitte eine ganze Zahl ein. Dezimalzahlen (z.B. 1.25) sind nicht erlaubt.",numeric:"Geben Sie bitte nur Zahlenwerte in dieses Eingabefeld ein (z.B. &quot;1&quot;, &quot;1.1&quot;, &quot;-1&quot; oder &quot;-1.1&quot;).",
digits:"Benutzen Sie bitte nur Zahlen und Satzzeichen in diesem Eingabefeld (erlaubt ist z.B. eine Telefonnummer mit Bindestrichen und Punkten).",alpha:"Benutzen Sie bitte nur Buchstaben (a-z) in diesem Feld. Leerzeichen und andere Zeichen sind nicht erlaubt.",alphanum:"Benutzen Sie bitte nur Buchstaben (a-z) und Zahlen (0-9) in diesem Eingabefeld. Leerzeichen und andere Zeichen sind nicht erlaubt.",dateSuchAs:"Geben Sie bitte ein g&uuml;ltiges Datum ein. Wie zum Beispiel {date}",dateInFormatMDY:"Geben Sie bitte ein g&uuml;ltiges Datum ein. Wie zum Beispiel TT.MM.JJJJ (z.B. &quot;31.12.1999&quot;)",
email:"Geben Sie bitte eine g&uuml;ltige E-Mail Adresse ein. Wie zum Beispiel &quot;maria@bernasconi.ch&quot;.",url:"Geben Sie bitte eine g&uuml;ltige URL ein. Wie zum Beispiel http://www.google.ch.",currencyDollar:"Geben Sie bitte einen g&uuml;ltigen Betrag in Schweizer Franken ein. Wie zum Beispiel 100.00 CHF .",oneRequired:"Machen Sie f&uuml;r mindestens eines der Eingabefelder einen Eintrag.",errorPrefix:"Fehler: ",warningPrefix:"Warnung: ",noSpace:"In diesem Eingabefeld darf kein Leerzeichen sein.",
reqChkByNode:"Es wurden keine Elemente gew&auml;hlt.",requiredChk:"Dieses Feld ist obligatorisch.",reqChkByName:"Bitte w&auml;hlen Sie ein {label}.",match:"Dieses Eingabefeld muss mit dem Feld {matchName} &uuml;bereinstimmen.",startDate:"Das Anfangsdatum",endDate:"Das Enddatum",currendDate:"Das aktuelle Datum",afterDate:"Das Datum sollte zur gleichen Zeit oder sp&auml;ter sein {label}.",beforeDate:"Das Datum sollte zur gleichen Zeit oder fr&uuml;her sein {label}.",startMonth:"W&auml;hlen Sie bitte einen Anfangsmonat",
sameMonth:"Diese zwei Datumsangaben m&uuml;ssen im selben Monat sein - Sie m&uuml;ssen eine von beiden ver&auml;ndern.",creditcard:"Die eingegebene Kreditkartennummer ist ung&uuml;ltig. Bitte &uuml;berpr&uuml;fen Sie diese und versuchen Sie es erneut. {length} Zahlen eingegeben."});
MooTools.lang.set("fr-FR","Form.Validator",{required:"Ce champ est obligatoire.",minLength:"Veuillez saisir un minimum de {minLength} caract&egrave;re(s) (vous avez saisi {length} caract&egrave;re(s)).",maxLength:"Veuillez saisir un maximum de {maxLength} caract&egrave;re(s) (vous avez saisi {length} caract&egrave;re(s)).",integer:'Veuillez saisir un nombre entier dans ce champ. Les nombres d&eacute;cimaux (ex : "1,25") ne sont pas autoris&eacute;s.',numeric:'Veuillez saisir uniquement des chiffres dans ce champ (ex : "1" ou "1,1" ou "-1" ou "-1,1").',
digits:"Veuillez saisir uniquement des chiffres et des signes de ponctuation dans ce champ (ex : un num&eacute;ro de t&eacute;l&eacute;phone avec des traits d'union est autoris&eacute;).",alpha:"Veuillez saisir uniquement des lettres (a-z) dans ce champ. Les espaces ou autres caract&egrave;res ne sont pas autoris&eacute;s.",alphanum:"Veuillez saisir uniquement des lettres (a-z) ou des chiffres (0-9) dans ce champ. Les espaces ou autres caract&egrave;res ne sont pas autoris&eacute;s.",dateSuchAs:"Veuillez saisir une date correcte comme {date}",
dateInFormatMDY:'Veuillez saisir une date correcte, au format JJ/MM/AAAA (ex : "31/11/1999").',email:'Veuillez saisir une adresse de courrier &eacute;lectronique. Par example "fred@domaine.com".',url:"Veuillez saisir une URL, comme http://www.google.com.",currencyDollar:"Veuillez saisir une quantit&eacute; correcte. Par example 100,00&euro;.",oneRequired:"Veuillez s&eacute;lectionner au moins une de ces options.",errorPrefix:"Erreur : ",warningPrefix:"Attention : ",noSpace:"Ce champ n'accepte pas les espaces.",
reqChkByNode:"Aucun &eacute;l&eacute;ment n'est s&eacute;lectionn&eacute;.",requiredChk:"Ce champ est obligatoire.",reqChkByName:"Veuillez s&eacute;lectionner un(e) {label}.",match:"Ce champ doit correspondre avec le champ {matchName}.",startDate:"date de d&eacute;but",endDate:"date de fin",currendDate:"date actuelle",afterDate:"La date doit &ecirc;tre identique ou post&eacute;rieure &agrave; {label}.",beforeDate:"La date doit &ecirc;tre identique ou ant&eacute;rieure &agrave; {label}.",startMonth:"Veuillez s&eacute;lectionner un mois de d&eacute;but.",
sameMonth:"Ces deux dates doivent &ecirc;tre dans le m&ecirc;me mois - vous devez en modifier une."});
MooTools.lang.set("it-IT","Form.Validator",{required:"Il campo &egrave; obbligatorio.",minLength:"Inserire almeno {minLength} caratteri (ne sono stati inseriti {length}).",maxLength:"Inserire al massimo {maxLength} caratteri (ne sono stati inseriti {length}).",integer:"Inserire un numero intero. Non sono consentiti decimali (es.: 1.25).",numeric:'Inserire solo valori numerici (es.: "1" oppure "1.1" oppure "-1" oppure "-1.1").',digits:"Inserire solo numeri e caratteri di punteggiatura. Per esempio &egrave; consentito un numero telefonico con trattini o punti.",
alpha:"Inserire solo lettere (a-z). Non sono consentiti spazi o altri caratteri.",alphanum:"Inserire solo lettere (a-z) o numeri (0-9). Non sono consentiti spazi o altri caratteri.",dateSuchAs:"Inserire una data valida del tipo {date}",dateInFormatMDY:'Inserire una data valida nel formato MM/GG/AAAA (es.: "12/31/1999")',email:'Inserire un indirizzo email valido. Per esempio "nome@dominio.com".',url:'Inserire un indirizzo valido. Per esempio "http://www.dominio.com".',currencyDollar:'Inserire un importo valido. Per esempio "$100.00".',
oneRequired:"Completare almeno uno dei campi richiesti.",errorPrefix:"Errore: ",warningPrefix:"Attenzione: ",noSpace:"Non sono consentiti spazi.",reqChkByNode:"Nessuna voce selezionata.",requiredChk:"Il campo &egrave; obbligatorio.",reqChkByName:"Selezionare un(a) {label}.",match:"Il valore deve corrispondere al campo {matchName}",startDate:"data d'inizio",endDate:"data di fine",currendDate:"data attuale",afterDate:"La data deve corrispondere o essere successiva al {label}.",beforeDate:"La data deve corrispondere o essere precedente al {label}.",
startMonth:"Selezionare un mese d'inizio",sameMonth:"Le due date devono essere dello stesso mese - occorre modificarne una."});
MooTools.lang.set("no-NO","Form.Validator",{required:"Dette feltet er pÃ¥krevd.",minLength:"Vennligst skriv inn minst {minLength} tegn (du skrev {length} tegn).",maxLength:"Vennligst skriv inn maksimalt {maxLength} tegn (du skrev {length} tegn).",integer:"Vennligst skriv inn et tall i dette feltet. Tall med desimaler (for eksempel 1,25) er ikke tillat.",numeric:'Vennligst skriv inn kun numeriske verdier i dette feltet (for eksempel "1", "1.1", "-1" eller "-1.1").',digits:"Vennligst bruk kun nummer og skilletegn i dette feltet.",
alpha:"Vennligst bruk kun bokstaver (a-z) i dette feltet. Ingen mellomrom eller andre tegn er tillat.",alphanum:"Vennligst bruk kun bokstaver (a-z) eller nummer (0-9) i dette feltet. Ingen mellomrom eller andre tegn er tillat.",dateSuchAs:"Vennligst skriv inn en gyldig dato, som {date}",dateInFormatMDY:'Vennligst skriv inn en gyldig dato, i formatet MM/DD/YYYY (for eksempel "12/31/1999")',email:'Vennligst skriv inn en gyldig epost-adresse. For eksempel "espen@domene.no".',url:"Vennligst skriv inn en gyldig URL, for eksempel http://www.google.no.",
currencyDollar:"Vennligst fyll ut et gyldig $ belÃ¸p. For eksempel $100.00 .",oneRequired:"Vennligst fyll ut noe i minst ett av disse feltene.",errorPrefix:"Feil: ",warningPrefix:"Advarsel: "});
MooTools.lang.set("pl-PL","Form.Validator",{required:"To pole jest wymagane.",minLength:"Wymagane jest przynajmniej {minLength} znaków (wpisanych zostało tylko {length}).",maxLength:"Dozwolone jest nie więcej niż {maxLength} znaków (wpisanych zostało {length})",integer:"To pole wymaga liczb całych. Liczby dziesiętne (np. 1.25) są niedozwolone.",numeric:'Prosimy używać tylko numerycznych wartości w tym polu (np. "1", "1.1", "-1" lub "-1.1").',digits:"Prosimy używać liczb oraz zankow punktuacyjnych w typ polu (dla przykładu, przy numerze telefonu myślniki i kropki są dozwolone).",
alpha:"Prosimy używać tylko liter (a-z) w tym polu. Spacje oraz inne znaki są niedozwolone.",alphanum:"Prosimy używać tylko liter (a-z) lub liczb (0-9) w tym polu. Spacje oraz inne znaki są niedozwolone.",dateSuchAs:"Prosimy podać prawidłową datę w formacie: {date}",dateInFormatMDY:'Prosimy podać poprawną date w formacie DD.MM.RRRR (i.e. "12.01.2009")',email:'Prosimy podać prawidłowy adres e-mail, np. "jan@domena.pl".',url:"Prosimy podać prawidłowy adres URL, np. http://www.google.pl.",currencyDollar:"Prosimy podać prawidłową sumę w PLN. Dla przykładu: 100.00 PLN.",
oneRequired:"Prosimy wypełnić chociaż jedno z pól.",errorPrefix:"Błąd: ",warningPrefix:"Uwaga: ",noSpace:"W tym polu nie mogą znajdować się spacje.",reqChkByNode:"Brak zaznaczonych elementów.",requiredChk:"To pole jest wymagane.",reqChkByName:"Prosimy wybrać z {label}.",match:"To pole musi być takie samo jak {matchName}",startDate:"data początkowa",endDate:"data końcowa",currendDate:"aktualna data",afterDate:"Podana data poinna być taka sama lub po {label}.",beforeDate:"Podana data poinna być taka sama lub przed {label}.",
startMonth:"Prosimy wybrać początkowy miesiąc.",sameMonth:"Te dwie daty muszą być w zakresie tego samego miesiąca - wymagana jest zmiana któregoś z pól."});
MooTools.lang.set("pt-PT","Form.Validator",{required:"Este campo é necessário.",minLength:"Digite pelo menos{minLength} caracteres (comprimento {length} caracteres).",maxLength:"Não insira mais de {maxLength} caracteres (comprimento {length} caracteres).",integer:"Digite um número inteiro neste domínio. Com números decimais (por exemplo, 1,25), não são permitidas.",numeric:'Digite apenas valores numéricos neste domínio (p.ex., "1" ou "1.1" ou "-1" ou "-1,1").',digits:"Por favor, use números e pontuação apenas neste campo (p.ex., um número de telefone com traços ou pontos é permitida).",
alpha:"Por favor use somente letras (a-z), com nesta área. Não utilize espaços nem outros caracteres são permitidos.",alphanum:"Use somente letras (a-z) ou números (0-9) neste campo. Não utilize espaços nem outros caracteres são permitidos.",dateSuchAs:"Digite uma data válida, como {date}",dateInFormatMDY:'Digite uma data válida, como DD/MM/YYYY (p.ex. "31/12/1999")',email:'Digite um endereço de email válido. Por exemplo "fred@domain.com".',url:"Digite uma URL válida, como http://www.google.com.",
currencyDollar:"Digite um valor válido $. Por exemplo $ 100,00. ",oneRequired:"Digite algo para pelo menos um desses insumos.",errorPrefix:"Erro: ",warningPrefix:"Aviso: "});
MooTools.lang.set("pt-BR","Form.Validator",{required:"Este campo é obrigatório.",minLength:"Digite pelo menos {minLength} caracteres (tamanho atual: {length}).",maxLength:"Não digite mais de {maxLength} caracteres (tamanho atual: {length}).",integer:"Por favor digite apenas um número inteiro neste campo. Não são permitidos números decimais (por exemplo, 1,25).",numeric:'Por favor digite apenas valores numéricos neste campo (por exemplo, "1" ou "1.1" ou "-1" ou "-1,1").',digits:"Por favor use apenas números e pontuação neste campo (por exemplo, um número de telefone com traços ou pontos é permitido).",
alpha:"Por favor use somente letras (a-z). Espaço e outros caracteres não são permitidos.",alphanum:"Use somente letras (a-z) ou números (0-9) neste campo. Espaço e outros caracteres não são permitidos.",dateSuchAs:"Digite uma data válida, como {date}",dateInFormatMDY:'Digite uma data válida, como DD/MM/YYYY (por exemplo, "31/12/1999")',email:'Digite um endereço de email válido. Por exemplo "nome@dominio.com".',url:"Digite uma URL válida. Exemplo: http://www.google.com.",currencyDollar:"Digite um valor em dinheiro válido. Exemplo: R$100,00 .",
oneRequired:"Digite algo para pelo menos um desses campos.",errorPrefix:"Erro: ",warningPrefix:"Aviso: ",noSpace:"Não é possível digitar espaços neste campo.",reqChkByNode:"Não foi selecionado nenhum item.",requiredChk:"Este campo é obrigatório.",reqChkByName:"Por favor digite um {label}.",match:"Este campo deve ser igual ao campo {matchName}.",startDate:"a data inicial",endDate:"a data final",currendDate:"a data atual",afterDate:"A data deve ser igual ou posterior a {label}.",beforeDate:"A data deve ser igual ou anterior a {label}.",
startMonth:"Por favor selecione uma data inicial.",sameMonth:"Estas duas datas devem ter o mesmo mês - você deve modificar uma das duas.",creditcard:"O número do cartão de crédito informado é inválido. Por favor verifique o valor e tente novamente. {length} números informados."});
MooTools.lang.set("ru-RU-unicode","Form.Validator",{required:"Это поле обязательно к заполнению.",minLength:"Пожалуйста, введите хотя бы {minLength} символов (Вы ввели {length}).",maxLength:"Пожалуйста, введите не больше {maxLength} символов (Вы ввели {length}).",integer:"Пожалуйста, введите в это поле число. Дробные числа (например 1.25) тут не разрешены.",numeric:'Пожалуйста, введите в это поле число (например "1" или "1.1", или "-1", или "-1.1").',digits:"В этом поле Вы можете использовать только цифры и знаки пунктуации (например, телефонный номер со знаками дефиса или с точками).",
alpha:"В этом поле можно использовать только латинские буквы (a-z). Пробелы и другие символы запрещены.",alphanum:"В этом поле можно использовать только латинские буквы (a-z) и цифры (0-9). Пробелы и другие символы запрещены.",dateSuchAs:"Пожалуйста, введите корректную дату {date}",dateInFormatMDY:'Пожалуйста, введите дату в формате ММ/ДД/ГГГГ (например "12/31/1999")',email:'Пожалуйста, введите корректный емейл-адрес. Для примера "fred@domain.com".',url:"Пожалуйста, введите правильную ссылку вида http://www.google.com.",
currencyDollar:"Пожалуйста, введите сумму в долларах. Например: $100.00 .",oneRequired:"Пожалуйста, выберите хоть что-нибудь в одном из этих полей.",errorPrefix:"Ошибка: ",warningPrefix:"Внимание: "});
MooTools.lang.set("ru-RU","Form.Validator",{required:"Ýòî ïîëå îáÿçàòåëüíî ê çàïîëíåíèþ.",minLength:"Ïîæàëóéñòà, ââåäèòå õîòÿ áû {minLength} ñèìâîëîâ (Âû ââåëè {length}).",maxLength:"Ïîæàëóéñòà, ââåäèòå íå áîëüøå {maxLength} ñèìâîëîâ (Âû ââåëè {length}).",integer:"Ïîæàëóéñòà, ââåäèòå â ýòî ïîëå ÷èñëî. Äðîáíûå ÷èñëà (íàïðèìåð 1.25) òóò íå ðàçðåøåíû.",numeric:'Ïîæàëóéñòà, ââåäèòå â ýòî ïîëå ÷èñëî (íàïðèìåð "1" èëè "1.1", èëè "-1", èëè "-1.1").',digits:"Â ýòîì ïîëå Âû ìîæåòå èñïîëüçîâàòü òîëüêî öèôðû è çíàêè ïóíêòóàöèè (íàïðèìåð, òåëåôîííûé íîìåð ñî çíàêàìè äåôèñà èëè ñ òî÷êàìè).",
alpha:"Â ýòîì ïîëå ìîæíî èñïîëüçîâàòü òîëüêî ëàòèíñêèå áóêâû (a-z). Ïðîáåëû è äðóãèå ñèìâîëû çàïðåùåíû.",alphanum:"Â ýòîì ïîëå ìîæíî èñïîëüçîâàòü òîëüêî ëàòèíñêèå áóêâû (a-z) è öèôðû (0-9). Ïðîáåëû è äðóãèå ñèìâîëû çàïðåùåíû.",dateSuchAs:"Ïîæàëóéñòà, ââåäèòå êîððåêòíóþ äàòó {date}",dateInFormatMDY:'Ïîæàëóéñòà, ââåäèòå äàòó â ôîðìàòå ÌÌ/ÄÄ/ÃÃÃÃ (íàïðèìåð "12/31/1999")',email:'Ïîæàëóéñòà, ââåäèòå êîððåêòíûé åìåéë-àäðåñ. Äëÿ ïðèìåðà "fred@domain.com".',url:"Ïîæàëóéñòà, ââåäèòå ïðàâèëüíóþ ññûëêó âèäà http://www.google.com.",
currencyDollar:"Ïîæàëóéñòà, ââåäèòå ñóììó â äîëëàðàõ. Íàïðèìåð: $100.00 .",oneRequired:"Ïîæàëóéñòà, âûáåðèòå õîòü ÷òî-íèáóäü â îäíîì èç ýòèõ ïîëåé.",errorPrefix:"Îøèáêà: ",warningPrefix:"Âíèìàíèå: "});
MooTools.lang.set("es-ES","Form.Validator",{required:"Este campo es obligatorio.",minLength:"Por favor introduce al menos {minLength} caracteres (has introducido {length} caracteres).",maxLength:"Por favor introduce no m&aacute;s de {maxLength} caracteres (has introducido {length} caracteres).",integer:"Por favor introduce un n&uacute;mero entero en este campo. N&uacute;meros con decimales (p.e. 1,25) no se permiten.",numeric:'Por favor introduce solo valores num&eacute;ricos en este campo (p.e. "1" o "1,1" o "-1" o "-1,1").',
digits:"Por favor usa solo n&uacute;meros y puntuaci&oacute;n en este campo (por ejemplo, un n&uacute;mero de tel&eacute;fono con guiones y puntos no esta permitido).",alpha:"Por favor usa letras solo (a-z) en este campo. No se admiten espacios ni otros caracteres.",alphanum:"Por favor, usa solo letras (a-z) o n&uacute;meros (0-9) en este campo. No se admiten espacios ni otros caracteres.",dateSuchAs:"Por favor introduce una fecha v&aacute;lida como {date}",dateInFormatMDY:'Por favor introduce una fecha v&aacute;lida como DD/MM/YYYY (p.e. "31/12/1999")',
email:'Por favor, introduce una direcci&oacute;n de email v&aacute;lida. Por ejemplo,  "fred@domain.com".',url:"Por favor introduce una URL v&aacute;lida como http://www.google.com.",currencyDollar:"Por favor introduce una cantidad v&aacute;lida de €. Por ejemplo €100,00 .",oneRequired:"Por favor introduce algo para por lo menos una de estas entradas.",errorPrefix:"Error: ",warningPrefix:"Aviso: ",noSpace:"No pueden haber espacios en esta entrada.",reqChkByNode:"No hay elementos seleccionados.",requiredChk:"Este campo es obligatorio.",
reqChkByName:"Por favor selecciona una {label}.",match:"Este campo necesita coincidir con el campo {matchName}",startDate:"la fecha de inicio",endDate:"la fecha de fin",currendDate:"la fecha actual",afterDate:"La fecha debe ser igual o posterior a {label}.",beforeDate:"La fecha debe ser igual o anterior a {label}.",startMonth:"Por favor selecciona un mes de origen",sameMonth:"Estas dos fechas deben estar en el mismo mes - debes cambiar una u otra."});
MooTools.lang.set("sv-SE","Form.Validator",{required:"Fältet är obligatoriskt.",minLength:"Ange minst {minLength} tecken (du angav {length} tecken).",maxLength:"Ange högst {maxLength} tecken (du angav {length} tecken). ",integer:"Ange ett heltal i fältet. Tal med decimaler (t.ex. 1,25) är inte tillåtna.",numeric:'Ange endast numeriska värden i detta fält (t.ex. "1" eller "1.1" eller "-1" eller "-1,1").',digits:"Använd endast siffror och skiljetecken i detta fält (till exempel ett telefonnummer med bindestreck tillåtet).",
alpha:"Använd endast bokstäver (a-ö) i detta fält. Inga mellanslag eller andra tecken är tillåtna.",alphanum:"Använd endast bokstäver (a-ö) och siffror (0-9) i detta fält. Inga mellanslag eller andra tecken är tillåtna.",dateSuchAs:"Ange ett giltigt datum som t.ex. {date}",dateInFormatMDY:'Ange ett giltigt datum som t.ex. YYYY-MM-DD (i.e. "1999-12-31")',email:'Ange en giltig e-postadress. Till exempel "erik@domain.com".',url:"Ange en giltig webbadress som http://www.google.com.",currencyDollar:"Ange en giltig belopp. Exempelvis 100,00.",
oneRequired:"Vänligen ange minst ett av dessa alternativ.",errorPrefix:"Fel: ",warningPrefix:"Varning: ",noSpace:"Det får inte finnas några mellanslag i detta fält.",reqChkByNode:"Inga objekt är valda.",requiredChk:"Detta är ett obligatoriskt fält.",reqChkByName:"Välj en {label}.",match:"Detta fält måste matcha {matchName}",startDate:"startdatumet",endDate:"slutdatum",currendDate:"dagens datum",afterDate:"Datumet bör vara samma eller senare än {label}.",beforeDate:"Datumet bör vara samma eller tidigare än {label}.",
startMonth:"Välj en start månad",sameMonth:"Dessa två datum måste vara i samma månad - du måste ändra det ena eller det andra."});
MooTools.lang.set("uk-UA","Form.Validator",{required:"Це поле повинне бути заповненим.",minLength:"Введіть хоча б {minLength} символів (Ви ввели {length}).",maxLength:"Кількість символів не може бути більше {maxLength} (Ви ввели {length}).",integer:"Введіть в це поле число. Дробові числа (наприклад 1.25) не дозволені.",numeric:'Введіть в це поле число (наприклад "1" або "1.1", або "-1", або "-1.1").',digits:"В цьому полі ви можете використовувати лише цифри і знаки пунктіації (наприклад, телефонний номер з знаками дефізу або з крапками).",
alpha:"В цьому полі можна використовувати лише латинські літери (a-z). Пробіли і інші символи заборонені.",alphanum:"В цьому полі можна використовувати лише латинські літери (a-z) і цифри (0-9). Пробіли і інші символи заборонені.",dateSuchAs:"Введіть коректну дату {date}.",dateInFormatMDY:'Введіть дату в форматі ММ/ДД/РРРР (наприклад "12/31/2009").',email:'Введіть коректну адресу електронної пошти (наприклад "name@domain.com").',url:"Введіть коректне інтернет-посилання (наприклад http://www.google.com).",
currencyDollar:'Введіть суму в доларах (наприклад "$100.00").',oneRequired:"Заповніть одне з полів.",errorPrefix:"Помилка: ",warningPrefix:"Увага: "});function $jx(a){var b=null;if(a=document.id(a))(b=a.retrieve("jxWidget"))||a==document.body||(b=$jx(a.getParent()));return b}
window.addEvent("load",function(){if(!("console"in window)){var a="log debug info warn error assert dir dirxml group groupEnd time timeEnd count trace profile profileEnd".split(" "),b;window.console={};for(b=0;b<a.length;++b)window.console[a[b]]=function(){}}});Class.Mutators.Family=function(a,b){if($defined(b))return a.jxFamily=b,a;$defined(this.prototype.jxFamily)||this.implement({jxFamily:a})};
function $unlink(a){if(a&&a.jxFamily)return a;var b,d,e;switch($type(a)){case "object":b={};for(d in a)b[d]=$unlink(a[d]);break;case "hash":b=new Hash(a);break;case "array":b=[];d=0;for(e=a.length;d<e;d++)b[d]=$unlink(a[d]);break;default:return a}return b}"undefined"===typeof Jx&&(Jx={});
$defined(Jx.baseURL)||function(){var a=document.getElementsByTagName("SCRIPT"),b,d,e,f;for(b=0;b<a.length;b++)if(d=a[b].src,e=d.lastIndexOf("/"),f=d.slice(e+1,d.length-1),f.contains("jxlib")){Jx.baseURL=d.slice(0,e);break}}();$defined(Jx.aPixel)||(Jx.aPixel=new Element("img",{alt:"",title:"",src:Jx.baseURL+"/a_pixel.png"}));$defined(Jx.isAir)||function(){document.getElementsByTagName("SCRIPT")[0].src.contains("app:")?Jx.isAir=!0:Jx.isAir=!1}();Jx.setLanguage=function(a){Jx.lang=a;MooTools.lang.setLanguage(Jx.lang)};
$defined(Jx.lang)||(Jx.lang="en-US");Jx.setLanguage(Jx.lang);Jx.applyPNGFilter=function(a){var b=Jx.aPixel.src,d;a.src!=b&&(d=a.src,a.src=b,a.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+d+"',sizingMethod='scale')")};Jx.imgQueue=[];Jx.imgLoaded={};Jx.imagesLoading=0;Jx.addToImgQueue=function(a){Jx.imgLoaded[a.src]?a.element.src=a.src:(Jx.imgQueue.push(a),Jx.imgLoaded[a.src]=!0);Jx.checkImgQueue()};Jx.checkImgQueue=function(){for(;2>Jx.imagesLoading&&0<Jx.imgQueue.length;)Jx.loadNextImg()};
Jx.loadNextImg=function(){var a=Jx.imgQueue.shift();a&&(++Jx.imagesLoading,a.element.onload=function(){--Jx.imagesLoading;Jx.checkImgQueue()},a.element.onerror=function(){--Jx.imagesLoading;Jx.checkImgQueue()},a.element.src=a.src)};Jx.getNumber=function(a,b){return null===a||isNaN(parseInt(a,10))?b||0:parseInt(a,10)};Jx.getPageDimensions=function(){return{width:window.getWidth(),height:window.getHeight()}};Jx.type=function(a){return"undefined"==typeof a?!1:a.jxFamily||$type(a)};
(function(a){Element.implement({getBoxSizing:function(){var a="content-box";Browser.Engine.trident||Browser.Engine.presto?(a=document.compatMode,a="BackCompat"==a||"QuirksMode"==a?"border-box":"content-box"):(0===arguments.length&&(node=document.documentElement),(a=this.getStyle("-moz-box-sizing"))||(a=this.getStyle("box-sizing")),a=a?a:"content-box");return a},getContentBoxSize:function(){var a=this.getSizes(["padding","border"]);return{width:this.offsetWidth-a.padding.left-a.padding.right-a.border.left-
a.border.right,height:this.offsetHeight-a.padding.bottom-a.padding.top-a.border.bottom-a.border.top}},getBorderBoxSize:function(){return{width:this.offsetWidth,height:this.offsetHeight}},getMarginBoxSize:function(){var a=this.getSizes(["margin"]);return{width:this.offsetWidth+a.margin.left+a.margin.right,height:this.offsetHeight+a.margin.top+a.margin.bottom}},getSizes:function(a,d){a=a||["padding","border","margin"];d=d||["left","top","right","bottom"];var e={},f,g;a.each(function(a){e[a]={};d.each(function(b){f=
"border"==a?b+"-width":b;g=this.getStyle(a+"-"+f);e[a][b]=null===g||isNaN(parseInt(g,10))?0:parseInt(g,10)},this)},this);return e},setContentBoxSize:function(a){var d,e;"border-box"==this.getBoxSizing()?(d=this.measure(function(){return this.getSizes(["padding","border"])}),$defined(a.width)&&(e=a.width+d.padding.left+d.padding.right+d.border.left+d.border.right,0>e&&(e=0),this.setStyle("width",e)),$defined(a.height)&&(d=a.height+d.padding.top+d.padding.bottom+d.border.top+d.border.bottom,0>d&&(d=
0),this.setStyle("height",d))):($defined(a.width)&&0<=a.width&&this.setStyle("width",e),$defined(a.height)&&0<=a.height&&this.setStyle("height",d))},setBorderBoxSize:function(a){var d,e;"content-box"==this.getBoxSizing()?(d=this.measure(function(){return this.getSizes()}),$defined(a.width)&&(e=a.width-d.padding.left-d.padding.right-d.border.left-d.border.right-d.margin.left-d.margin.right,0>e&&(e=0),this.setStyle("width",e)),$defined(a.height)&&(d=a.height-d.padding.top-d.padding.bottom-d.border.top-
d.border.bottom-d.margin.top-d.margin.bottom,0>d&&(d=0),this.setStyle("height",d))):($defined(a.width)&&0<=a.width&&this.setStyle("width",e),$defined(a.height)&&0<=a.height&&this.setStyle("height",d))},descendantOf:function(a){for(var d=document.id(this.parentNode);d!=a&&d&&d.parentNode&&d.parentNode!=d;)d=document.id(d.parentNode);return d==a},findElement:function(a){for(var d=this;d.tagName!=a&&d&&d.parentNode&&d.parentNode!=d;)d=document.id(d.parentNode);return d.tagName==a?d:!1}});Array.implement({swap:function(a,
d){var e=this[a];this[a]=this[d];this[d]=e}})})(document.id||$);
Jx.Styles=new new Class({dynamicStyleMap:new Hash,getCssRule:function(a,b){var d=this.getDynamicStyleSheet(b),e=null;d.indicies&&(e=d.indicies.indexOf(a),e=-1==e?this.insertCssRule(a,"",b):Browser.Engine.trident?d.sheet.rules[e]:d.sheet.cssRules[e]);return e},insertCssRule:function(a,b,d){d=this.getDynamicStyleSheet(d);var e=a+" {"+b+"}";Browser.Engine.trident?(""==b&&(b="{}"),b=d.styleSheet.addRule(a,b),b=d.styleSheet.rules[b]):(d.sheet.insertRule(e,d.indicies.length),b=d.sheet.cssRules[d.indicies.length]);
d.indicies.push(a);return b},removeCssRule:function(a,b){var d=this.getDynamicStyleSheet(b),e=d.indicies.indexOf(a);d.indicies.splice(e,1);Browser.Engine.trident?d.removeRule(e):d.sheet.deleteRule(e);return!0},getDynamicStyleSheet:function(a){a=a?a:"default";if(!this.dynamicStyleMap.has(a)){var b=(new Element("style")).set("type","text/css").inject(document.head);b.indicies=[];this.dynamicStyleMap.set(a,b)}return this.dynamicStyleMap.get(a)},enableStyleSheet:function(a){this.getDynamicStyleSheet(a).disabled=
!1},disableStyleSheet:function(a){this.getDynamicStyleSheet(a).disabled=!0},removeStyleSheet:function(a){this.disableStyleSheet(a);this.getDynamicStyleSheet(a).dispose();this.dynamicStyleMap.erase(a)},isStyleSheetDefined:function(a){return this.dynamicStyleMap.has(a)}});
Jx.Object=new Class({Family:"Jx.Object",Implements:[Options,Events],plugins:null,pluginNamespace:"Other",parameters:["options"],options:{useLang:!0,plugins:null},bound:null,initialize:function(){this.plugins=new Hash;this.bound={};var a=arguments.length,b={},d=this.parameters,e,f;if(0<a)if(1!==a||"object"!==Jx.type(arguments[0])&&"Hash"!==Jx.type(arguments[0])||1!==d.length||"options"!==d[0])for(e=d.length,f,f=e<=a?e:a,a=0;a<f;a++)"options"===d[a]?$extend(b,arguments[a]):b[d[a]]=arguments[a];else b=
arguments[0];this.setOptions(b);this.bound.changeText=this.changeText.bind(this);this.options.useLang&&MooTools.lang.addEvent("langChange",this.bound.changeText);this.fireEvent("preInit");this.init();this.fireEvent("postInit");this.fireEvent("prePluginInit");this.initPlugins();this.fireEvent("postPluginInit");this.fireEvent("initializeDone")},initPlugins:function(){var a;$defined(this.pluginNamespace)&&$defined(this.options.plugins)&&"array"===Jx.type(this.options.plugins)&&this.options.plugins.each(function(b){b instanceof
Jx.Plugin?(b.attach(this),this.plugins.set(b.name,b)):"object"===Jx.type(b)?(a=$defined(Jx.Plugin[this.pluginNamespace][b.name.capitalize()])?new (Jx.Plugin[this.pluginNamespace][b.name.capitalize()])(b.options):new (Jx.Adaptor[this.pluginNamespace][b.name.capitalize()])(b.options),a.attach(this)):"string"===Jx.type(b)&&(a=$defined(Jx.Plugin[this.pluginNamespace][b.capitalize()])?new (Jx.Plugin[this.pluginNamespace][b.capitalize()]):new (Jx.Adaptor[this.pluginNamespace][b.capitalize()]),a.attach(this))},
this)},destroy:function(){this.fireEvent("preDestroy");this.cleanup();this.fireEvent("postDestroy")},cleanup:function(){0<this.plugins.getLength&&this.plugins.each(function(a){a.detach();a.destroy()},this);this.plugins.empty();this.options.useLang&&$defined(this.bound.changeText)&&MooTools.lang.removeEvent("langChange",this.bound.changeText);this.bound=null},init:$empty,registerPlugin:function(a){this.plugins.has(a.name)||this.plugins.set(a.name,a)},deregisterPlugin:function(a){this.plugins.has(a.name)&&
this.plugins.erase(a.name)},getPlugin:function(a){if(this.plugins.has(a))return this.plugins.get(a)},getText:function(a){var b="";"string"==Jx.type(a)||"number"==Jx.type(a)?b=a:"function"==Jx.type(a)?b=a():"object"==Jx.type(a)&&$defined(a.set)&&$defined(a.key)&&(this.i18n=a,b=$defined(a.value)?MooTools.lang.get(a.set,a.key)[a.value]:MooTools.lang.get(a.set,a.key));return b},changeText:$empty,generateId:function(a){a=a?a:"jx-";var b=$uid(this);delete this.uid;return a+b}});
MooTools.lang.set("en-US","Jx",{widget:{busyMessage:"Working ..."},colorpalette:{alphaLabel:"alpha (%)"},notice:{closeTip:"close this notice"},progressbar:{messageText:"Loading...",progressText:"{progress} of {total}"},field:{requiredText:"*"},file:{browseLabel:"Browse..."},"formatter.boolean":{"true":"Yes","false":"No"},"formatter.currency":{sign:"$"},"formatter.number":{decimalSeparator:".",thousandsSeparator:","},splitter:{barToolTip:"drag this bar to resize"},panelset:{barToolTip:"drag this bar to resize"},
panel:{collapseTooltip:"Collapse/Expand Panel",collapseLabel:"Collapse",expandLabel:"Expand",maximizeTooltip:"Maximize Panel",maximizeLabel:"Maximize",restoreTooltip:"Restore Panel",restoreLabel:"Restore",closeTooltip:"Close Panel",closeLabel:"Close"},confirm:{affirmativeLabel:"Yes",negativeLabel:"No"},dialog:{resizeToolTip:"Resize dialog"},message:{okButton:"Ok"},prompt:{okButton:"Ok",cancelButton:"Cancel"},upload:{buttonText:"Upload Files"},"plugin.resize":{tooltip:"Drag to resize, double click to auto-size."},
"plugin.editor":{submitButton:"Save",cancelButton:"Cancel"}});
Jx.Widget=new Class({Family:"Jx.Widget",Extends:Jx.Object,options:{id:null,content:null,contentURL:null,loadOnDemand:!1,cacheContent:!0,template:'<div class="jxWidget"></div>',busyClass:"jxBusy",busyMask:{"class":"jxSpinner jxSpinnerLarge",img:{"class":"jxSpinnerImage"},content:{"class":"jxSpinnerContent"},messageContainer:{"class":"jxSpinnerMessage"},useIframeShim:!0,iframeShimOptions:{className:"jxIframeShim"},fx:!0},deferRender:!1},classes:new Hash({domObj:"jxWidget"}),busy:!1,domObj:null,contentIsLoaded:!1,
chrome:null,init:function(){this.options.deferRender?this.fireEvent("deferRender"):(this.fireEvent("preRender"),this.render(),this.fireEvent("postRender"))},loadContent:function(a){var b,d=this.options;a=document.id(a);d.content?((b=d.content.domObj?document.id(d.content.domObj):document.id(d.content))?d.content.addTo?d.content.addTo(a):a.appendChild(b):a.innerHTML=d.content,this.contentIsLoaded=!0):d.contentURL?(this.contentIsLoaded=!1,this.req=new Request({url:d.contentURL,method:"get",evalScripts:!0,
onRequest:function(){d.loadOnDemand&&this.setBusy(!0)}.bind(this),onSuccess:function(b){a.innerHTML=b;this.contentIsLoaded=!0;Jx.isAir&&$clear(this.reqTimeout);this.setBusy(!1);this.fireEvent("contentLoaded",this)}.bind(this),onFailure:function(){this.contentIsLoaded=!0;this.fireEvent("contentLoadFailed",this);this.setBusy(!1)}.bind(this),headers:{"If-Modified-Since":"Sat, 1 Jan 2000 00:00:00 GMT"}}),this.req.send(),Jx.isAir&&(b=$defined(d.timeout)?d.timeout:1E4,this.reqTimeout=this.checkRequest.delay(b,
this))):this.contentIsLoaded=!0;d.contentId&&(a.id=this.options.contentId);this.contentIsLoaded&&this.fireEvent("contentLoaded",this)},position:function(a,b,d){a=document.id(a);b=document.id(b);var e=$splat(d.horizontal||["center center"]),f=$splat(d.vertical||["center center"]),g=$merge({top:0,right:0,bottom:0,left:0},d.offsets||{}),h=b.getCoordinates(),l,m,q,r,u,z,v,B;document.id(a.parentNode)&&a.parentNode!=document.body?(l=document.id(a.parentNode).getContentBoxSize(),m=document.id(a.parentNode).getScroll()):
(l=Jx.getPageDimensions(),m=document.id(document.body).getScroll());b==document.body?(h.left+=m.x,h.top+=m.y):a.parentNode==b&&(h.left=0,h.top=0);q=a.getMarginBoxSize();e.some(function(a){B=a.split(" ");if(2!=B.length)return!1;if(isNaN(parseInt(B[0],10)))switch(B[0]){case "right":r=h.left+h.width;break;case "center":r=h.left+Math.round(h.width/2);break;default:r=h.left}else v=parseInt(B[0],10),r=0<=v?v:h.left+h.width+v;if(isNaN(parseInt(B[1],10)))switch(B[1]){case "left":r-=g.left;right=r+q.width;
break;case "right":right=r+=g.right;r-=q.width;break;default:r-=Math.round(q.width/2),right=r+q.width}else v=parseInt(B[1],10),0>v?(right=r+v,r=right-q.width):(r+=v,right=r+q.width),right=h.left+h.width+parseInt(B[1],10),r=right-q.width;return r>=m.x&&right<=m.x+l.width})||(right>l.width&&(r=m.x+l.width-q.width),0>r&&(r=0));a.setStyle("left",r);f.some(function(a){B=a.split(" ");if(2!=B.length)return!1;if(isNaN(parseInt(B[0],10)))switch(B[0]){case "bottom":u=h.top+h.height;break;case "center":u=h.top+
Math.round(h.height/2);break;default:u=h.top}else u=parseInt(B[0],10);if(isNaN(parseInt(B[1],10)))switch(B[1]){case "top":u-=g.top;z=u+q.height;break;case "bottom":z=u+=g.bottom;u-=q.height;break;default:u-=Math.round(q.height/2),z=u+q.height}else a=parseInt(B[1],10),0<=a?(u+=a,z=u+q.height):(z=u+a,u=z-q.height);return u>=m.y&&z<=m.y+l.height})||(z>l.height&&(u=m.y+l.height-q.height),0>u&&(u=0));a.setStyle("top",u);if(a=a.retrieve("jxLayout"))a.options.left=r,a.options.top=u},makeChrome:function(a){var b=
new Element("div",{"class":"jxChrome",events:{contextmenu:function(a){a.stop()}}}),d;a.adopt(b);this.chromeOffsets=b.measure(function(){return this.getSizes(["padding"]).padding});b.setStyle("padding",0);d=b.getStyle("backgroundImage");null!=d&&(d.contains("http://")||d.contains("https://")||d.contains("file://")||d.contains("app:/")?(d=d.slice(4,-1),'"'==d.charAt(0)&&(d=d.slice(1,-1)),b.setStyle("backgroundImage","none"),["TR","TL","BL","BR"].each(function(a){b.adopt((new Element("div",{"class":"jxChrome"+
a})).adopt(new Element("img",{"class":"png24",src:d,alt:"",title:""})))},this)):d=null);$defined(window.IframeShim)&&(this.shim=new IframeShim(b,{className:"jxIframeShim"}));b.dispose();this.chrome=b},showChrome:function(a){if(a=document.id(a)||document.id(this))this.chrome||(this.makeChrome(a),a.addClass("jxHasChrome")),this.resizeChrome(a),this.shim&&this.shim.show(),a&&this.chrome.parentNode!==a&&(a.adopt(this.chrome),this.chrome.setStyle("z-index",-1))},hideChrome:function(){this.chrome&&(this.shim&&
this.shim.hide(),this.chrome.parentNode.removeClass("jxHasChrome"),this.chrome.dispose())},resizeChrome:function(a){this.chrome&&Browser.Engine.trident4&&(this.chrome.setContentBoxSize(document.id(a).getBorderBoxSize()),this.shim&&this.shim.position())},addTo:function(a,b){var d=document.id(this.addable)||document.id(this.domObj);d&&(a instanceof Jx.Widget&&$defined(a.add)?a.add(d):(ref=document.id(a),d.inject(ref,b)),this.fireEvent("addTo",this));return this},toElement:function(){return this.domObj},
processTemplate:function(a,b,d){var e=new Hash,f,g;f=$defined(d)?d.set("html",a):new Element("div",{html:a});b.each(function(a){g=f.getElement("."+a);$defined(g)&&e.set(a,g)});return e},dispose:function(){var a=document.id(this.addable)||document.id(this.domObj);a&&a.dispose()},cleanup:function(){$defined(this.domObj)&&(this.domObj.eliminate("jxWidget"),this.domObj.destroy());$defined(this.addable)&&this.addable.destroy();$defined(this.domA)&&this.domA.destroy();$defined(this.classes)&&this.classes.each(function(a,
b){this[b]=null},this);this.elements.empty();this.elements=null;this.parent()},render:function(){this.elements=this.processElements(this.options.template,this.classes);$defined(this.domObj)&&($defined(this.options.id)&&this.domObj.set("id",this.options.id),this.domObj.store("jxWidget",this))},elements:null,processElements:function(a,b){var d=b.getValues();elements=this.processTemplate(a,d);b.each(function(a,b){"elements"!=b&&elements.get(a)&&(this[b]=elements.get(a))},this);return elements},isBusy:function(){return this.busy},
setBusy:function(a,b,d){if(this.busy!=a){var e=this.options,f,g=this.domObj;b=$defined(b)?b:{set:"Jx",key:"widget",value:"busyMessage"};d=$defined(d)?d:!1;this.busy=a;this.fireEvent("busy",a);if(a){if(e.busyClass&&g.addClass(e.busyClass),e.busyMask&&g.spin){a=Jx.getNumber(g.getStyle("z-index"));f={style:{"z-index":a+1}};a=g.getBorderBoxSize();if(60>a.height||d)f["class"]="jxSpinner jxSpinnerSmall",f.img=null,f.message=new Element("p",{"class":"jxSpinnerMessage",html:'<span class="jxSpinnerImage"></span>'+
this.getText(b)});f=$merge(e.busyMask,f);g.get("spinner",f).show(!e.busyMask.fx)}}else e.busyClass&&g.removeClass(e.busyClass),e.busyMask&&this.domObj.unspin&&g.get("spinner").hide(!e.busyMask.fx)}},changeText:function(a){this.busy&&(this.setBusy(!1),this.setBusy(!0))},stack:function(a){Jx.Stack.stack(a||document.id(this))},unstack:function(a){Jx.Stack.unstack(a||document.id(this))}});
Jx.isAir&&Jx.Widget.implement({checkRequest:function(){1===this.req.xhr.readyState&&($clear(this.reqTimeout),this.req.cancel(),this.contentIsLoaded=!0,this.fireEvent("contentLoadFailed",this))}});
Jx.Selection=new Class({Family:"Jx.Selection",Extends:Jx.Object,options:{eventToFire:{select:"select",unselect:"unselect"},selectClass:"jxSelected",selectMode:"single",selectToggle:!0,minimumSelection:0},selection:null,init:function(){this.selection=[];this.parent()},cleanup:function(){this.selection=null;this.parent()},defaultSelect:function(a){this.selection.length<this.options.minimumSelection&&this.select(a)},select:function(a){var b=this.options,d=this.selection;a=document.id(a);"multiple"===
b.selectMode?d.contains(a)?this.unselect(a):(document.id(a).addClass(b.selectClass),d.push(a),this.fireEvent(b.eventToFire.select,a)):"single"==b.selectMode&&(this.selection.contains(a)?b.selectToggle&&this.unselect(a):(document.id(a).addClass(b.selectClass),d.push(a),1<d.length&&this.unselect(d[0]),this.fireEvent(b.eventToFire.select,a)))},unselect:function(a){var b=this.selection,d=this.options;b.contains(a)&&b.length>d.minimumSelection&&(document.id(a).removeClass(d.selectClass),b.erase(a),this.fireEvent(d.eventToFire.unselect,
[a,this]))},selected:function(){return this.selection},isSelected:function(a){return this.selection.contains(a)}});
Jx.List=new Class({Family:"Jx.List",Extends:Jx.Object,parameters:["container","options","selection"],ownsSelection:!1,container:null,selection:null,options:{items:null,hover:!1,hoverClass:"jxHover",press:!1,pressClass:"jxPressed",select:!1},init:function(){this.container=document.id(this.options.container);this.container.store("jxList",this);var a=this,b=this.options,d=function(a){return!(a.retrieve("jxListTargetItem")||a).hasClass("jxDisabled")};this.bound=$merge(this.bound,{mousedown:function(){d(this)&&
(this.addClass(b.pressClass),a.fireEvent("mousedown",this,a))},mouseup:function(){d(this)&&(this.removeClass(b.pressClass),a.fireEvent("mouseup",this,a))},mouseenter:function(){d(this)&&(this.addClass(b.hoverClass),a.fireEvent("mouseenter",this,a))},mouseleave:function(){d(this)&&(this.removeClass(b.hoverClass),a.fireEvent("mouseleave",this,a))},keydown:function(a){"enter"==a.key&&d(this)&&this.addClass("jxPressed")},keyup:function(a){"enter"==a.key&&d(this)&&this.removeClass("jxPressed")},click:function(b){if(b=
a.selection)if(b=d(this))b=!(this.retrieve("jxListTargetItem")||this).hasClass("jxUnselectable");b&&a.selection.select(this,a);a.fireEvent("click",this,a)},select:function(b){d(b)&&(b=b.retrieve("jxListTargetItem")||b,a.fireEvent("select",b))},unselect:function(b){d(b)&&(b=b.retrieve("jxListTargetItem")||b,a.fireEvent("unselect",b))},contextmenu:function(a){var d=this.retrieve("jxContextMenu");d&&(d.show(a),this.removeClass(b.pressClass));a.stop()}});b.selection?(this.setSelection(b.selection),b.select=
!0):b.select&&(this.selection=new Jx.Selection(b),this.ownsSelection=!0);$defined(b.items)&&this.add(b.items)},cleanup:function(){this.container.getChildren().each(function(a){this.remove(a)},this);this.selection&&this.ownsSelection&&(this.selection.removeEvents(),this.selection.destroy());this.setSelection(null);this.container.eliminate("jxList");var a=this.bound;a.mousedown=null;a.mouseup=null;a.mouseenter=null;a.mouseleave=null;a.keydown=null;a.keyup=null;a.click=null;a.select=null;a.unselect=
null;a.contextmenu=null;this.parent()},add:function(a,b){if("array"==Jx.type(a))a.each(function(a){this.add(a,b)}.bind(this));else{var d=document.id(a),e=d.retrieve("jxListTarget")||d,f=this.bound,g=this.options,h=this.container;e&&(e.store("jxListTargetItem",d),e.addEvents({contextmenu:this.bound.contextmenu}),g.press&&g.pressClass&&e.addEvents({mousedown:f.mousedown,mouseup:f.mouseup,keyup:f.keyup,keydown:f.keydown}),g.hover&&g.hoverClass&&e.addEvents({mouseenter:f.mouseenter,mouseleave:f.mouseleave}),
this.selection&&e.addEvents({click:f.click}),$defined(b)?"number"==$type(b)?b<h.childNodes.length?d.inject(h.childNodes[b],"before"):d.inject(h,"bottom"):h.hasChild(b)&&d.inject(b,"after"):d.inject(h,"bottom"),this.fireEvent("add",a,this),this.selection&&this.selection.defaultSelect(d))}},remove:function(a){var b=document.id(a);return b&&this.container.hasChild(b)?(this.unselect(b,!0),b.dispose(),b=b.retrieve("jxListTarget")||b,b.removeEvents(this.bound),this.fireEvent("remove",a,this),a):null},replace:function(a,
b){this.container.hasChild(a)&&(this.add(b,a),this.remove(a))},indexOf:function(a){return $A(this.container.childNodes).indexOf(a)},count:function(){return this.container.childNodes.length},items:function(){return $A(this.container.childNodes)},each:function(a,b){$A(this.container.childNodes).each(a,b)},select:function(a){this.selection&&this.selection.select(a)},unselect:function(a,b){this.selection&&this.selection.unselect(a)},selected:function(){return this.selection?this.selection.selected:[]},
empty:function(){this.container.getChildren().each(function(a){this.remove(a)},this)},setSelection:function(a){var b=this.selection;b!=a&&(b&&(b.removeEvents(this.bound),this.ownsSelection&&(b.destroy(),this.ownsSelection=!1)),(this.selection=a)&&a.addEvents({select:this.bound.select,unselect:this.bound.unselect}))}});
Jx.Stack=new new Class({els:[],base:1E3,increment:100,stack:function(a){this.unstack(a);this.els.push(a);this.setZIndex(a,this.els.length-1)},unstack:function(a){var b=this.els;if(b.contains(a)){a.setStyle("z-index","");var d=b.indexOf(a);b.erase(a);for(a=d;a<b.length;a++)this.setZIndex(b[a],a)}},setZIndex:function(a,b){b=b||this.els.indexOf(a);!1!==b&&document.id(a).setStyle("z-index",this.base+b*this.increment)}});MooTools.lang.set("de-DE","Date",{months:"Januar Februar MÃ¤rz April Mai Juni Juli August September Oktober November Dezember".split(" ")});
MooTools.lang.set("de-DE","Jx",{widget:{busyMessage:"Arbeite ..."},colorpalette:{alphaLabel:"alpha (%)"},notice:{closeTip:"Notiz schlieÃŸen"},progressbar:{messageText:"Lade...",progressText:"{progress} von {total}"},field:{requiredText:"*"},file:{browseLabel:"Durchsuchen..."},"formatter.boolean":{"true":"Ja","false":"Nein"},"formatter.currency":{sign:"â‚¬"},"formatter.number":{decimalSeparator:",",thousandsSeparator:"."},splitter:{barToolTip:"Ziehen Sie diese Leiste um die GrÃ¶ÃŸe zu verÃ¤ndern"},
panelset:{barToolTip:"Ziehen Sie diese Leiste um die GrÃ¶ÃŸe zu verÃ¤ndern"},panel:{collapseTooltip:"Panel ein-/ausklappen",collapseLabel:"Einklappen",expandLabel:"Ausklappen",maximizeTooltip:"Panel maximieren",maximizeLabel:"maximieren",restoreTooltip:"Panel wieder herstellen",restoreLabel:"wieder herstellen",closeTooltip:"Panel schlieÃŸen",closeLabel:"SchlieÃŸen"},confirm:{affirmativeLabel:"Ja",negativeLabel:"Nein"},dialog:{label:"Neues Fenster"},message:{okButton:"Ok"},prompt:{okButton:"Ok",cancelButton:"Abbrechen"},
upload:{buttonText:"Dateien hochladen"},"plugin.resize":{tooltip:"Klicken um GrÃ¶ÃŸe zu verÃ¤ndern. Doppelklick fÃ¼r automatische Anpassung."},"plugin.editor":{submitButton:"Speichern",cancelButton:"Abbrechen"}});
MooTools.lang.set("ru-RU-unicode","Jx",{widget:{busyMessage:"ÐžÐ±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°..."},colorpalette:{alphaLabel:"alpha (%)"},notice:{closeTip:"Ð·Ð°ÐºÑ€Ñ‹Ñ‚ÑŒ Ñ?Ñ‚Ð¾ Ñ?Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ"},progressbar:{messageText:"Ð—Ð°Ð³Ñ€ÑƒÐ·ÐºÐ°...",progressText:"{progress} Ð¸Ð· {total}"},field:{requiredText:"*"},file:{browseLabel:"Ð’Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ..."},"formatter.boolean":{"true":"Ð”Ð°","false":"Ð?ÐµÑ‚"},"formatter.currency":{sign:"Ñ€."},"formatter.number":{decimalSeparator:",",thousandsSeparator:" "},splitter:{barToolTip:"Ð¿Ð¾Ñ‚Ñ?Ð½Ð¸, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð¼ÐµÑ€"},
panelset:{barToolTip:"Ð¿Ð¾Ñ‚Ñ?Ð½Ð¸, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð¼ÐµÑ€"},panel:{collapseTooltip:"Ð¡Ð²ÐµÑ€Ð½ÑƒÑ‚ÑŒ/Ð Ð°Ð·Ð²ÐµÑ€Ð½ÑƒÑ‚ÑŒ ÐŸÐ°Ð½ÐµÐ»ÑŒ",collapseLabel:"Ð¡Ð²ÐµÑ€Ð½ÑƒÑ‚ÑŒ",expandLabel:"Ð Ð°Ð·Ð²ÐµÑ€Ð½ÑƒÑ‚ÑŒ",maximizeTooltip:"Ð£Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ñ‚ÑŒ ÐŸÐ°Ð½ÐµÐ»ÑŒ",maximizeLabel:"Ð£Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ñ‚ÑŒ",restoreTooltip:"Ð’Ð¾Ñ?Ñ?Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ ÐŸÐ°Ð½ÐµÐ»ÑŒ",restoreLabel:"Ð’Ð¾Ñ?Ñ?Ñ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ",closeTooltip:"Ð—Ð°ÐºÑ€Ñ‹Ñ‚ÑŒ ÐŸÐ°Ð½ÐµÐ»ÑŒ",closeLabel:"Ð—Ð°ÐºÑ€Ñ‹Ñ‚ÑŒ"},confirm:{affirmativeLabel:"Ð”Ð°",
negativeLabel:"Ð?ÐµÑ‚"},dialog:{resizeToolTip:"Ð˜Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ñ€Ð°Ð·Ð¼ÐµÑ€"},message:{okButton:"ÐžÐº"},prompt:{okButton:"ÐžÐº",cancelButton:"ÐžÑ‚Ð¼ÐµÐ½Ð°"},upload:{buttonText:"Ð—Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° Ñ„Ð°Ð¹Ð»Ð°"},"plugin.resize":{tooltip:"ÐŸÐ¾Ñ‚Ñ?Ð½Ð¸, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ, Ð´Ð²Ð¾Ð¹Ð½Ð¾Ð¹ Ñ‰ÐµÐ»Ñ‡Ð¾Ðº Ð´Ð»Ñ? Ð°Ð²Ñ‚Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°."},"plugin.editor":{submitButton:"Ð¡Ð¾Ñ…Ñ€Ð°Ð½Ð¸Ñ‚ÑŒ",cancelButton:"ÐžÑ‚Ð¼ÐµÐ½Ð°"}});
Jx.Record=new Class({Extends:Jx.Object,Family:"Jx.Record",options:{separator:".",primaryKey:null},data:null,state:null,columns:null,parameters:["store","columns","data","options"],init:function(){this.parent();$defined(this.options.columns)&&(this.columns=this.options.columns);$defined(this.options.data)?this.processData(this.options.data):this.data=new Hash;$defined(this.options.store)&&(this.store=this.options.store)},get:function(a){"object"!==Jx.type(a)&&(a="primaryKey"===a?this.resolveCol(this.options.primaryKey):
this.resolveCol(a));return this.data.has(a.name)?this.data.get(a.name):null},set:function(a,b){var d;"object"!==Jx.type(a)&&(a=this.resolveCol(a));$defined(this.data)||(this.data=new Hash);d=this.get(a);this.data.set(a.name,b);this.state=Jx.Record.UPDATE;return[a.name,d,b]},equals:function(a,b){a="primaryKey"===a?this.resolveCol(this.options.primaryKey):this.resolveCol(a);return this.data.has(a.name)?($defined(this.comparator)||(this.comparator=new Jx.Compare({separator:this.options.separator})),
0===this.comparator[a.type].bind(this.comparator)(this.get(a),b)):null},processData:function(a){this.data=$H(a)},resolveCol:function(a){var b=Jx.type(a);"number"===b?a=this.columns[a]:"string"===b&&this.columns.each(function(b){b.name===a&&(a=b)},this);return a},asHash:function(){return this.data}});Jx.Record.UPDATE=1;Jx.Record.DELETE=2;Jx.Record.INSERT=3;
Jx.Store=new Class({Family:"Jx.Store",Extends:Jx.Object,options:{id:null,columns:[],protocol:null,strategies:null,record:null,recordOptions:{primaryKey:null}},data:null,index:0,id:null,loaded:!1,ready:!1,deleted:null,init:function(){this.parent();this.deleted=[];$defined(this.options.id)&&(this.id=this.options.id);if($defined(this.options.protocol)){this.protocol=this.options.protocol;this.strategies=new Hash;if($defined(this.options.strategies))this.options.strategies.each(function(a){this.addStrategy(a)},
this);else{var a=new Jx.Store.Strategy.Full;this.addStrategy(a)}$defined(this.options.record)?this.record=this.options.record:this.record=Jx.Record}else this.ready=!1},cleanup:function(){this.strategies.each(function(a){a.destroy()},this);this.strategies=null;this.protocol.destroy();this.record=this.protocol=null},getStrategy:function(a){return this.strategies.has(a)?this.strategies.get(a):null},addStrategy:function(a){this.strategies.set(a.name,a);a.setStore(this);a.activate()},load:function(a){this.fireEvent("storeLoad",
a)},empty:function(){$defined(this.data)&&this.data.empty()},hasNext:function(){return $defined(this.data)?this.index<this.data.length-1:null},hasPrevious:function(){return $defined(this.data)?0<this.index:null},valid:function(){return $defined(this.data)&&$defined(this.data[this.index])},next:function(){return $defined(this.data)?(this.index++,this.index===this.data.length&&(this.index=this.data.length-1),this.fireEvent("storeMove",this),!0):null},previous:function(){return $defined(this.data)?(this.index--,
0>this.index&&(this.index=0),this.fireEvent("storeMove",this),!0):null},first:function(){return $defined(this.data)?(this.index=0,this.fireEvent("storeMove",this),!0):null},last:function(){return $defined(this.data)?(this.index=this.data.length-1,this.fireEvent("storeMove",this),!0):null},count:function(){return $defined(this.data)?this.data.length:null},getPosition:function(){return $defined(this.data)?this.index:null},moveTo:function(a){return $defined(this.data)&&0<=a&&a<this.data.length?(this.index=
a,this.fireEvent("storeMove",this),!0):$defined(this.data)?!1:null},each:function(a,b,d){$defined(this.data)&&(d?this.data.filter(function(a){return a.state!==Jx.Record.DELETE},this):this.data).each(a,b)},get:function(a,b){$defined(b)||(b=this.index);return this.data[b].get(a)},set:function(a,b,d){$defined(d)||(d=this.index);a=this.data[d].set(a,b);a.reverse();a.push(d);a.reverse();this.fireEvent("storeColumnChanged",a)},refresh:function(){this.fireEvent("storeRefresh",this)},addRecord:function(a,
b,d){$defined(this.data)||(this.data=[]);b=$defined(b)?b:"bottom";var e=a;a instanceof Jx.Record||(e=new this.record(this,this.options.columns,a,this.options.recordOptions));d&&(e.state=Jx.Record.INSERT);"top"===b?(this.data.reverse(),this.data.push(e),this.data.reverse()):this.data.push(e);this.fireEvent("storeRecordAdded",[this,e,b])},addRecords:function(a,b){var d=$defined(a),e=Jx.type(a);return d&&"array"===e?(this.fireEvent("storeBeginAddRecords",this),"top"===b&&a.reverse(),a.each(function(a){this.addRecord(a,
b)},this),this.fireEvent("storeEndAddRecords",this),!0):!1},getRecord:function(a){$defined(a)||(a=this.index);if("number"===Jx.type(a)){if($defined(this.data)&&$defined(this.data[a]))return this.data[a]}else{var b;this.data.each(function(d){d===a&&(b=d)},this);return b}return null},replace:function(a,b){if($defined(a)){$defined(b)||(b=this.index);var d=new this.record(this.options.columns,a),e=this.data[b];this.data[b]=d;this.fireEvent("storeRecordReplaced",[e,d]);return!0}return!1},deleteRecord:function(a){$defined(a)||
(a=this.index);var b=this.data[a];b.state=Jx.Record.DELETE;this.data.splice(a,1);this.deleted.push(b);this.fireEvent("storeRecordDeleted",[this,b])},insertRecord:function(a,b){this.addRecord(a,b,!0)},getColumns:function(){return this.options.columns},findByColumn:function(a,b){"undefined"===typeof StopIteration&&(StopIteration=Error("StopIteration"));var d;try{this.data.each(function(e,g){if(e.equals(a,b))throw d=g,StopIteration;},this)}catch(e){if(e!==StopIteration)throw e;return d}return null},
removeRecord:function(a){$defined(a)||(a=this.index);this.data.splice(a,1);this.fireEvent("storeRecordRemoved",[this,a])},removeRecords:function(a,b){for(var d=a;d<=b;d++)this.removeRecord(a);this.fireEvent("storeMultipleRecordsRemoved",[this,a,b])},parseTemplate:function(a){var b=[],d;this.options.columns.each(function(e){d="{"+e.name+"}";a.contains(d)&&b.push(e.name)},this);return b},fillTemplate:function(a,b,d,e){var f=null,g,f=$defined(a)?a instanceof Jx.Record?a:this.getRecord(a):this.getRecord(this.index);
g=$defined(e)?e:{};d.each(function(a){g[a]=f.get(a)},this);return b.substitute(g)}});
Jx.Compare=new Class({Family:"Jx.Compare",Extends:Jx.Object,options:{separator:"."},alphanumeric:function(a,b){return a===b?0:a<b?-1:1},numeric:function(a,b){return this.alphanumeric(this.convert(a),this.convert(b))},convert:function(a){if("string"===Jx.type(a)){var b=!1;"-"==a.substr(0,1)&&(b=!0);a=parseFloat(a.replace(/^[^\d\.]*([\d., ]+).*/g,"$1").replace(RegExp("[^\\d"+this.options.separator+"]","g"),"").replace(/,/,"."))||0;b&&(a*=-1)}return a||0},ignorecase:function(a,b){return this.alphanumeric((""+
a).toLowerCase(),(""+b).toLowerCase())},currency:function(a,b){return this.numeric(a,b)},date:function(a,b){var d=(new Date).parse(a),e=(new Date).parse(b);return d<e?-1:d>e?1:0},"boolean":function(a,b){return!0===a&&!1===b?-1:a===b?0:1}});
Jx.Sort=new Class({Family:"Jx.Sort",Extends:Jx.Object,options:{timeIt:!1,onStart:$empty,onEnd:$empty},timer:null,data:null,comparator:$empty,col:null,parameters:["data","fn","col","options"],init:function(){this.parent();this.options.timeIt&&(this.addEvent("start",this.startTimer.bind(this)),this.addEvent("stop",this.stopTimer.bind(this)));this.data=this.options.data;this.comparator=this.options.fn;this.col=this.options.col},sort:$empty,startTimer:function(){this.timer=new Date},stopTimer:function(){this.end=
new Date;this.dif=this.timer.diff(this.end,"ms")},setData:function(a){$defined(a)&&(this.data=a)},setColumn:function(a){$defined(a)&&(this.col=a)},setComparator:function(a){this.comparator=a}});
Jx.Sort.Mergesort=new Class({Family:"Jx.Sort.Mergesort",Extends:Jx.Sort,name:"mergesort",sort:function(){this.fireEvent("start");var a=this.mergeSort(this.data);this.fireEvent("stop");return a},mergeSort:function(a){if(1>=a.length)return a;var b=a.length/2,d=a.slice(0,b);a=a.slice(b);d=this.mergeSort(d);a=this.mergeSort(a);return this.merge(d,a)},merge:function(a,b){for(var d=[];0<a.length&&0<b.length;)0>=this.comparator(a[0].get(this.col),b[0].get(this.col))?(d.push(a[0]),a=a.slice(1)):(d.push(b[0]),
b=b.slice(1));for(;0<a.length;)d.push(a[0]),a=a.slice(1);for(;0<b.length;)d.push(b[0]),b=b.slice(1);return d}});
Jx.Sort.Heapsort=new Class({Family:"Jx.Sort.Heapsort",Extends:Jx.Sort,name:"heapsort",sort:function(){this.fireEvent("start");var a=this.data.length;if(1===a)return this.data;if(2<a)for(this.heapify(a),a-=1;1<a;)this.data.swap(a,0),a-=1,this.siftDown(0,a);else 0<this.comparator(this.data[0].get(this.col),this.data[1].get(this.col))&&this.data.swap(0,1);this.fireEvent("stop");return this.data},heapify:function(a){for(var b=Math.round((a-2)/2);0<=b;)this.siftDown(b,a-1),b-=1},siftDown:function(a,b){for(var d=
a,e;2*d<=b;)if(e=2*d,e+1<b&&0>this.comparator(this.data[e].get(this.col),this.data[e+1].get(this.col))&&(e+=1),0>this.comparator(this.data[d].get(this.col),this.data[e].get(this.col)))this.data.swap(d,e),d=e;else break}});
Jx.Sort.Quicksort=new Class({Family:"Jx.Sort.Quicksort",Extends:Jx.Sort,name:"quicksort",sort:function(a,b){this.fireEvent("start");$defined(a)||(a=0);$defined(b)||(b=this.data.length-1);this.quicksort(a,b);this.fireEvent("stop");return this.data},quicksort:function(a,b){if(!(a>=b)){var d=this.partition(a,b);this.quicksort(a,d-1);this.quicksort(d+1,b)}},partition:function(a,b){this.findMedianOfMedians(a,b);var d=this.data[a].get(this.col),e=a,f;this.data.swap(a,b);for(f=a;f<b;f++)0>this.comparator(this.data[f].get(this.col),
d)&&(this.data.swap(f,e),e+=1);this.data.swap(b,e);return e},findMedianOfMedians:function(a,b){if(a===b)return this.data[a];for(var d,e=1,f;e<=b-a;){for(d=a;d<=b;d+=5*e)f=d+5*e-1<b?d+5*e-1:b,f=this.findMedianIndex(d,f,e),this.data.swap(d,f);e*=5}return this.data[a]},findMedianIndex:function(a,b,d){var e=Math.round((b-a)/d+1),e=Math.round(a+e/2*d),f,g,h;for(e>this.data.length-1&&(e=this.data.length-1);a<e;a+=d){f=a;g=this.data[f];g=g.get(this.col);for(h=a;h<=b;h+=d)0>this.comparator(this.data[h].get(this.col),
g)&&(f=h,g=this.data[f].get(this.col));this.data.swap(a,f)}return e}});Jx.Sort.Nativesort=new Class({Family:"Jx.Sort.Nativesort",Extends:Jx.Sort,name:"nativesort",sort:function(){this.fireEvent("start");this.data.sort(function(a,b){return this.comparator(this.data[a].get(this.col),this.data[b].get(this.col))});this.fireEvent("stop");return this.data}});
Jx.Store.Response=new Class({Family:"Jx.Store.Response",Extends:Jx.Object,code:null,data:null,meta:null,requestType:null,requestParams:null,request:null,error:null,success:function(){return 0<this.code}});Jx.Store.Response.WAITING=2;Jx.Store.Response.SUCCESS=1;Jx.Store.Response.FAILURE=0;
Jx.Store.Protocol=new Class({Extends:Jx.Object,Family:"Jx.Store.Protocol",parser:null,options:{combine:{insert:!1,update:!1,"delete":!1}},init:function(){this.parent();$defined(this.options.parser)&&(this.parser=this.options.parser)},cleanup:function(){this.parser=null;this.parent()},read:$empty,insert:$empty,update:$empty,"delete":$empty,abort:$empty,combineRequests:function(a){return $defined(this.options.combine[a])?this.options.combine[a]:!1}});
Jx.Store.Protocol.Local=new Class({Extends:Jx.Store.Protocol,parameters:["data","options"],data:null,init:function(){this.parent();$defined(this.options.data)&&(this.data=this.parser.parse(this.options.data))},read:function(a){var b=new Jx.Store.Response,d=a.data.page,e=a.data.itemsPerPage,f,g=this.data;b.requestType="read";b.requestParams=arguments;$defined(g)&&(1>=d&&-1===e?(b.data=g,b.meta={count:g.length}):(f=(d-1)*e,b.data=g.slice(f,f+e),b.meta={page:d,itemsPerPage:e,totalItems:g.length,totalPages:Math.ceil(g.length/
e)}));b.code=Jx.Store.Response.SUCCESS;this.fireEvent("dataLoaded",b)}});
Jx.Store.Protocol.Ajax=new Class({Extends:Jx.Store.Protocol,options:{requestOptions:{method:"get"},rest:!1,urls:{rest:null,insert:null,read:null,update:null,"delete":null},queue:{autoAdvance:!0,concurrent:1}},queue:null,init:function(){$defined(Jx.Store.Protocol.Ajax.UniqueId)||(Jx.Store.Protocol.Ajax.UniqueId=1);this.queue=new Request.Queue({autoAdvance:this.options.queue.autoAdvance,concurrent:this.options.queue.concurrent});this.parent()},read:function(a){var b=new Jx.Store.Response,d={},e=Jx.Store.Protocol.Ajax.UniqueId();
b.requestType="read";b.requestParams=arguments;d.url=this.options.rest?this.options.urls.rest:this.options.urls.read;d=$merge(this.options.requestOptions,d,a);d.onSuccess=this.handleResponse.bind(this,b);d=new Request(d);b.request=d;this.queue.addRequest(e,d);d.send();b.code=Jx.Store.Response.WAITING;return b},handleResponse:function(a){var b=this.parser.parse(a.request.xhr.responseText);$defined(b)?$defined(b.success)&&b.success?($defined(b.data)&&(a.data=b.data),$defined(b.meta)&&(a.meta=b.meta),
a.code=Jx.Store.Response.SUCCESS):(a.code=Jx.Store.Response.FAILURE,a.error=$defined(b.error)?b.error:null):a.code=Jx.Store.Response.FAILURE;this.fireEvent("dataLoaded",a)},insert:function(a,b){b=this.options.rest?$merge({url:this.options.urls.rest},b):$merge({url:this.options.urls.insert},b);this.options.requestOptions.method="POST";return this.run(a,b,"insert")},update:function(a,b){this.options.rest?(b=$merge({url:this.options.urls.rest},b),this.options.requestOptions.method="PUT"):(b=$merge({url:this.options.urls.update},
b),this.options.requestOptions.method="POST");return this.run(a,b,"update")},"delete":function(a,b){this.options.rest?(b=$merge({url:this.options.urls.rest},b),this.options.requestOptions.method="DELETE"):(b=$merge({url:this.options.urls["delete"]},b),this.options.requestOptions.method="POST");return this.run(a,b,"delete")},abort:function(a){a.request.cancel()},run:function(a,b,d){var e=new Jx.Store.Response,f,g=Jx.Store.Protocol.Ajax.UniqueId();"array"==Jx.type(a)?this.combineRequests(d)?(f=[],a.each(function(a){f.push(this.parser.encode(a))},
this)):a.each(function(a){this.run(a,b,d)},this):f=this.parser.encode(a);this.options.requestOptions.data=$merge(this.options.requestOptions.data,{data:f});e.requestType=d;e.requestParams=[a,b,d];a=$merge(this.options.requestOptions,b);a.onSuccess=this.handleResponse.bind(this,e);a=new Request(a);e.request=a;this.queue.addRequest(g,a);a.send();e.code=Jx.Store.Response.WAITING;return e}});Jx.Store.Protocol.Ajax.UniqueId=function(){var a=1;return function(){return"req-"+a++}}();
Jx.Store.Strategy=new Class({Extends:Jx.Object,Family:"Jx.Store.Strategy",store:null,active:null,init:function(){this.parent();this.active=!1},setStore:function(a){return a instanceof Jx.Store?(this.store=a,!0):!1},activate:function(){return this.active?!1:this.active=!0},deactivate:function(){return this.active?(this.active=!1,!0):!1}});
Jx.Store.Strategy.Full=new Class({Extends:Jx.Store.Strategy,name:"full",options:{},init:function(){this.parent();this.bound.load=this.load.bind(this);this.bound.loadStore=this.loadStore.bind(this)},activate:function(){this.parent();this.store.addEvent("storeLoad",this.bound.load)},deactivate:function(){this.parent();this.store.removeEvent("storeLoad",this.bound.load)},load:function(a){this.store.fireEvent("storeBeginDataLoad",this.store);this.store.protocol.addEvent("dataLoaded",this.bound.loadStore);
var b={};$defined(a)?b.data=a:b.data={};b.data.page=0;b.data.itemsPerPage=-1;this.store.protocol.read(b)},loadStore:function(a){this.store.protocol.removeEvent("dataLoaded",this.bound.loadStore);a.success()?(this.store.empty(),$defined(a.meta)&&this.parseMetaData(a.meta),this.store.addRecords(a.data),this.store.loaded=!0,this.store.fireEvent("storeDataLoaded",this.store)):(this.store.loaded=!1,this.store.fireEvent("storeDataLoadFailed",[this.store,a]))},parseMetaData:function(a){$defined(a.columns)&&
(this.store.options.columns=a.columns);$defined(a.primaryKey)&&(this.store.options.recordOptions.primaryKey=a.primaryKey)}});
Jx.Store.Strategy.Paginate=new Class({Extends:Jx.Store.Strategy,name:"paginate",options:{getPaginationParams:function(){return{page:this.page,itemsPerPage:this.itemsPerPage}},startingItemsPerPage:25,startingPage:1,expirationInterval:3E5,ignoreExpiration:!1},data:null,cacheTimer:null,page:null,itemsPerPage:null,init:function(){this.parent();this.data=new Hash;this.cacheTimer=new Hash;this.bound.load=this.load.bind(this);this.bound.loadStore=this.loadStore.bind(this);this.itemsPerPage=this.options.startingItemsPerPage;
this.page=this.options.startingPage},activate:function(){this.parent();this.store.addEvent("storeLoad",this.bound.load)},deactivate:function(){this.parent();this.store.removeEvent("storeLoad",this.bound.load)},load:function(a){this.store.fireEvent("storeBeginDataLoad",this.store);this.store.protocol.addEvent("dataLoaded",this.bound.loadStore);this.params=a;a={data:$merge(a,this.options.getPaginationParams.apply(this))};this.store.protocol.read(a)},loadStore:function(a){this.store.protocol.removeEvent("dataLoaded",
this.bound.loadStore);a.success()?($defined(a.meta)&&this.parseMetaData(a.meta),this.data.set(this.page,a.data),this.loadData(a.data)):this.store.fireEvent("storeDataLoadFailed",this.store)},loadData:function(a){this.store.empty();this.store.loaded=!1;if(!this.options.ignoreExpiration){var b=this.expirePage.delay(this.options.expirationInterval,this,this.page);this.cacheTimer.set(this.page,b)}this.store.addRecords(a);this.store.loaded=!0;this.store.fireEvent("storeDataLoaded",this.store)},parseMetaData:function(a){$defined(a.columns)&&
(this.store.options.columns=a.columns);$defined(a.totalItems)&&(this.totalItems=a.totalItems);$defined(a.totalPages)&&(this.totalPages=a.totalPages);$defined(a.primaryKey)&&(this.store.options.recordOptions.primaryKey=a.primaryKey)},expirePage:function(a){this.data.erase(a);this.cacheTimer.erase(a)},setPage:function(a){if("string"===Jx.type(a))switch(a){case "first":this.page=1;break;case "last":this.page=this.totalPages;break;case "next":this.page++;break;case "previous":this.page--;break;default:this.page+=
Jx.getNumber(a)}else this.page=a;this.cacheTimer.has(this.page)&&($clear(this.cacheTimer.get(this.page)),this.cacheTimer.erase(this.page));this.data.has(this.page)?this.loadData(this.data.get(this.page)):this.load(this.params)},getPage:function(){return this.page},getNumberOfPages:function(){return this.totalPages},setPageSize:function(a){this.itemsPerPage=a;this.cacheTimer.each(function(a){$clear(a)},this);this.cacheTimer.empty();this.data.empty();this.load()},getPageSize:function(){return this.itemsPerPage},
getTotalCount:function(){return this.totalItems}});
Jx.Store.Strategy.Progressive=new Class({Extends:Jx.Store.Strategy.Paginate,name:"progressive",options:{maxRecords:1E3,dropRecords:!0},startingPage:0,maxPages:null,loadedPages:0,loadAt:"bottom",init:function(){this.parent();this.options.dropPages&&(this.maxPages=Math.ceil(this.options.maxRecords/this.itemsPerPage))},loadStore:function(a){this.store.protocol.removeEvent("dataLoaded",this.bound.loadStore);a.success()?($defined(a.meta)&&this.parseMetaData(a.meta),this.loadData(a.data)):this.store.fireEvent("storeDataLoadFailed",
this.store)},loadData:function(a){this.store.loaded=!1;this.store.addRecords(a,this.loadAt);this.store.loaded=!0;this.loadedPages++;this.store.fireEvent("storeDataLoaded",this.store)},nextPage:function(a){$defined(a)||(a={});this.options.dropRecords&&this.totalPages>this.startingPage+this.loadedPages&&(this.loadAt="bottom",this.loadedPages>=this.maxPages&&(this.startingPage++,this.store.removeRecords(0,this.itemsPerPage-1),this.loadedPages--));this.page=this.startingPage+this.loadedPages+1;this.load($merge(this.params,
a))},previousPage:function(a){this.options.dropRecords&&($defined(a)||(a={}),0<this.startingPage&&(this.loadAt="top",this.loadedPages>=this.maxPages&&(this.startingPage--,this.store.removeRecords(this.options.maxRecords-this.itemsPerPage,this.options.maxRecords),this.loadedPages--),this.page=this.startingPage,this.load($merge(this.params,a))))}});
Jx.Store.Strategy.Save=new Class({Extends:Jx.Store.Strategy,name:"save",options:{autoSave:!1},failedChanges:[],successfulChanges:[],totalChanges:0,init:function(){this.bound.save=this.saveRecord.bind(this);this.bound.update=this.updateRecord.bind(this);this.bound.completed=this.onComplete.bind(this);this.parent()},activate:function(){this.parent();"number"===Jx.type(this.options.autoSave)?this.periodicalId=this.save.periodical(this.options.autoSave,this):this.options.autoSave&&(this.store.addEvent("storeRecordAdded",
this.bound.save),this.store.addEvent("storeColumnChanged",this.bound.update),this.store.addEvent("storeRecordDeleted",this.bound.save))},deactivate:function(){this.parent();$defined(this.periodicalId)?$clear(this.periodicalId):this.options.autoSave&&(this.store.removeEvent("storeRecordAdded",this.bound.save),this.store.removeEvent("storeColumnChanged",this.bound.update),this.store.removeEvent("storeRecordDeleted",this.bound.save))},updateRecord:function(a,b,d,e){if(b=this.saveRecord(this.store,this.store.getRecord(a)))b.index=
a},saveRecord:function(a,b){if(!this.updating&&$defined(b.state)){0===this.totalChanges&&a.protocol.addEvent("dataLoaded",this.bound.completed);this.totalChanges++;var d;switch(b.state){case Jx.Record.UPDATE:d=a.protocol.update(b);break;case Jx.Record.DELETE:d=a.protocol["delete"](b);break;case Jx.Record.INSERT:d=a.protocol.insert(b)}return d}},save:function(){if(this.store.loaded){var a=[];a[Jx.Record.UPDATE]=[];a[Jx.Record.INSERT]=[];this.store.data.each(function(b){$defined(b)&&$defined(b.state)&&
a[b.state].push(b)},this);a[Jx.Record.DELETE]=this.store.deleted;if(!this.updating&&(0===this.totalChanges&&store.protocol.addEvent("dataLoaded",this.bound.completed),this.totalChanges+=a[Jx.Record.UPDATE].length+a[Jx.Record.INSERT].length+a[Jx.Record.DELETE].length,a[Jx.Record.UPDATE].length&&this.store.protocol.update(a[Jx.Record.UPDATE]),a[Jx.Record.INSERT].length&&this.store.protocol.insert(a[Jx.Record.INSERT]),a[Jx.Record.DELETE].length))this.store.protocol["delete"](a[Jx.Record.DELETE])}},onComplete:function(a){if(!a.success()||
$defined(a.meta)&&!a.meta.success)this.failedChanges.push(a);else{var b=[a.requestParams[0]].flatten(),d=$defined(a.data)?[a.data].flatten():null;b.each(function(b,f){"delete"===a.requestType?this.store.deleted.erase(b):(("insert"===a.requestType||"update"==a.requestType)&&d&&$defined(d[f])&&(this.updating=!0,$H(d[f]).each(function(a,d){var l=b.set(d,a);l[1]!=a&&(l.unshift(f),b.store.fireEvent("storeColumnChanged",l))}),this.updating=!1),b.state=null);this.totalChanges--},this);this.successfulChanges.push(a)}0===
this.totalChanges&&(this.store.protocol.removeEvent("dataLoaded",this.bound.completed),this.store.fireEvent("storeChangesCompleted",{successful:this.successfulChanges,failed:this.failedChanges}))}});
Jx.Store.Strategy.Sort=new Class({Extends:Jx.Store.Strategy,name:"sort",options:{sortOnStoreEvents:["storeColumnChanged","storeDataLoaded"],defaultSort:"merge",separator:".",sortCols:[]},sorters:{quick:"Quicksort",merge:"Mergesort",heap:"Heapsort","native":"Nativesort"},init:function(){this.parent();this.bound.sort=this.sort.bind(this)},activate:function(){$defined(this.options.sortOnStoreEvents)&&this.options.sortOnStoreEvents.each(function(a){this.store.addEvent(a,this.bound.sort)},this)},deactivate:function(){$defined(this.options.sortOnStoreEvents)&&
this.options.sortOnStoreEvents.each(function(a){this.store.removeEvent(a,this.bound.sort)},this)},sort:function(a,b,d){if(this.store.count()){this.store.fireEvent("sortStart",this);if($defined(a)&&"array"===Jx.type(a))a=this.options.sortCols=a;else if($defined(a)&&"string"===Jx.type(a))this.options.sortCols=[],this.options.sortCols.push(a),a=this.options.sortCols;else if($defined(this.options.sortCols))a=this.options.sortCols;else return null;this.sortType=b;this.store.data=this.doSort(a[0],b,this.store.data,
!0);1<a.length&&(this.store.data=this.subSort(this.store.data,0,1));$defined(d)&&"desc"===d&&this.store.data.reverse();this.store.fireEvent("storeSortFinished",this)}},subSort:function(a,b,d){if(d>=this.options.sortCols.length)return a;var e=[],f=[],g=this.options.sortCols[b],h=this.options.sortCols[d],l=a[0].get(g);this.sorter.setColumn(h);for(var m=0;m<a.length;m++)l!==a[m].get(g)&&(e=1<f.length?e.concat(this.subSort(this.doSort(h,this.sortType,f,!0),b+1,d+1)):e.concat(f),l=a[m].get(g),f.empty()),
f.push(a[m]);1<f.length?(this.sorter.setData(f),e=e.concat(this.subSort(this.doSort(h,this.sortType,f,!0),b+1,d+1))):e=e.concat(f);return e},doSort:function(a,b,d,e,f){f={};b=b?this.sorters[b]:this.sorters[this.options.defaultSort];d=d?d:this.data;e=e?!0:!1;$defined(this.comparator)||(this.comparator=new Jx.Compare({separator:this.options.separator}));this.col=a=this.resolveCol(a);var g=this.comparator[a.type].bind(this.comparator);$defined(this.sorter)?(this.sorter.setComparator(g),this.sorter.setColumn(a.name),
this.sorter.setData(d)):this.sorter=new Jx.Sort[b](d,g,a.name,f);a=this.sorter.sort();if(e)return a;this.data=a},resolveCol:function(a){var b=Jx.type(a);"number"===b?a=this.store.options.columns[a]:"string"===b&&this.store.options.columns.each(function(b){b.name===a&&(a=b)},this);return a}});Jx.Store.Parser=new Class({Extends:Jx.Object,Family:"Jx.Store.Parser",parse:$empty,encode:$empty});
Jx.Store.Parser.JSON=new Class({Extends:Jx.Store.Parser,options:{secure:!1},parse:function(a){return"string"===Jx.type(a)?JSON.decode(a,this.options.secure):a},encode:function(a){a=a instanceof Jx.Record?a.asHash():a;return JSON.encode(a)}});
Jx.Button=new Class({Family:"Jx.Button",Extends:Jx.Widget,options:{image:"",tooltip:"",label:"",toggle:!1,toggleClass:"jxButtonToggle",pressedClass:"jxButtonPressed",activeClass:"jxButtonActive",active:!1,enabled:!0,href:"javascript:void(0);",target:"",template:'<span class="jxButtonContainer"><a class="jxButton"><span class="jxButtonContent"><img class="jxButtonIcon" src="'+Jx.aPixel.src+'"><span class="jxButtonLabel"></span></span></a></span>'},classes:new Hash({domObj:"jxButtonContainer",domA:"jxButton",
domImg:"jxButtonIcon",domLabel:"jxButtonLabel"}),render:function(){this.parent();var a=this.options,b,d;a.toggle&&this.domObj.addClass(a.toggleClass);this.domA&&(this.domA.set({target:a.target,href:a.href,title:this.getText(a.tooltip),alt:this.getText(a.tooltip)}),this.domA.addEvents({click:this.clicked.bindWithEvent(this),drag:function(a){a.stop()}.bindWithEvent(this),mousedown:function(e){this.domA.addClass(a.pressedClass);d=b=!0;this.focus()}.bindWithEvent(this),mouseup:function(b){this.domA.removeClass(a.pressedClass);
this.options.active||this.blur();d=!1}.bindWithEvent(this),mouseleave:function(b){this.domA.removeClass(a.pressedClass)}.bindWithEvent(this),mouseenter:function(e){b&&d&&this.domA.addClass(a.pressedClass)}.bindWithEvent(this),keydown:function(b){"enter"==b.key&&this.domA.addClass(a.pressedClass)}.bindWithEvent(this),keyup:function(b){"enter"==b.key&&this.domA.removeClass(a.pressedClass)}.bindWithEvent(this),blur:function(){b=!1}}),"undefined"!=typeof Drag&&new Drag(this.domA,{onStart:function(){this.stop()}}));
this.domImg&&(a.image||!a.label?(this.domImg.set({title:this.getText(a.tooltip),alt:this.getText(a.tooltip)}),a.image&&-1==a.image.indexOf(Jx.aPixel.src)&&this.domImg.setStyle("backgroundImage","url("+a.image+")"),a.imageClass&&this.domImg.addClass(a.imageClass)):this.domImg.setStyle("display","none"));this.domLabel&&(a.label||this.domA.hasClass("jxDiscloser")?this.setLabel(a.label):this.domLabel.setStyle("display","none"));a.id&&this.domObj.set("id",a.id);this.setEnabled(a.enabled);a.active&&(a.active=
!1,this.setActive(!0))},clicked:function(a){var b=this.options;b.enabled&&!this.isBusy()&&(b.toggle?this.setActive(!b.active):this.fireEvent("click",{obj:this,event:a}))},isEnabled:function(){return this.options.enabled},setEnabled:function(a){(this.options.enabled=a)?this.domObj.removeClass("jxDisabled"):this.domObj.addClass("jxDisabled")},isActive:function(){return this.options.active},setActive:function(a){var b=this.options;b.enabled&&!this.isBusy()&&b.active!=a&&(b.active=a,this.domA&&(b.active?
this.domA.addClass(b.activeClass):(this.domA.removeClass(b.activeClass),this.blur())),this.fireEvent(a?"down":"up",this))},setImage:function(a){this.options.image=a;this.domImg&&(this.domImg.setStyle("backgroundImage","url("+a+")"),this.domImg.setStyle("display",a?null:"none"))},setLabel:function(a){this.options.label=a;this.domLabel&&(this.domLabel.set("html",this.getText(a)),this.domLabel.setStyle("display",a||this.domA.hasClass("jxDiscloser")?null:"none"))},getLabel:function(){return this.options.label},
setTooltip:function(a){this.domA&&this.domA.set({title:this.getText(a),alt:this.getText(a)});if(this.domImg){var b=this.domImg.get("title");$defined(b)&&this.domImg.set({title:this.getText(a),alt:this.getText(a)})}},focus:function(){this.domA&&this.domA.focus()},blur:function(){this.domA&&this.domA.blur()},changeText:function(a){this.parent();this.setLabel(this.options.label);this.setTooltip(this.options.tooltip)}});
Jx.Button.Flyout=new Class({Family:"Jx.Button.Flyout",Extends:Jx.Button,Binds:["keypressHandler","clickHandler"],options:{template:'<span class="jxButtonContainer"><a class="jxButton jxButtonFlyout jxDiscloser"><span class="jxButtonContent"><img class="jxButtonIcon" src="'+Jx.aPixel.src+'"><span class="jxButtonLabel "></span></a></span>',contentTemplate:'<div class="jxFlyout"><div class="jxFlyoutContent"></div></div>',position:{horizontal:["left left","right right"],vertical:["bottom top","top bottom"]},
positionElement:null},contentClasses:new Hash({contentContainer:"jxFlyout",content:"jxFlyoutContent"}),content:null,render:function(){var a=this.options;Jx.Button.Flyout.Stack||(Jx.Button.Flyout.Stack=[]);this.parent();this.processElements(a.contentTemplate,this.contentClasses);a.contentClass&&this.content.addClass(a.contentClass);this.content.store("jxFlyout",this);!a.loadOnDemand||a.active?this.loadContent(this.content):this.addEvent("contentLoaded",function(a){this.show(a)}.bind(this))},cleanup:function(){this.content.eliminate("jxFlyout");
this.content.destroy();this.contentClasses.each(function(a,b){this[b]=null},this);this.parent()},clicked:function(a){var b=this.options;b.enabled&&(this.contentIsLoaded&&b.cacheContent?this.show(a):b.loadOnDemand||!b.cacheContent?this.loadContent(this.content):this.show(a))},show:function(a){var b,d,e=this.owner,f=Jx.Button.Flyout.Stack;a=this.options;if(!e)for(this.owner=e=document.body,b=document.id(this.domObj.parentNode);b!=document.body&&e==document.body;)if(d=b.retrieve("jxFlyout")){this.owner=
e=d;break}else b=document.id(b.parentNode);if(f[f.length-1]==this)this.hide();else{if(e!=document.body){if(e.currentFlyout==this){this.hide();return}e.currentFlyout&&e.currentFlyout.hide();e.currentFlyout=this}else for(;f.length;)f[f.length-1].hide();f.push(this);this.fireEvent("beforeOpen");a.active=!0;this.domA.addClass(a.activeClass);this.contentContainer.setStyle("visibility","hidden");document.id(document.body).adopt(this.contentContainer);this.content.getChildren().each(function(a){a.resize&&
a.resize()});this.showChrome(this.contentContainer);b=a.positionElement||this.domObj;a=$merge(a.position,{offsets:this.chromeOffsets});this.position(this.contentContainer,b,a);this.contentContainer.setContentBoxSize(document.id(this.content).getMarginBoxSize());this.stack(this.contentContainer);this.contentContainer.setStyle("visibility","");document.addEvent("keydown",this.keypressHandler);document.addEvent("click",this.clickHandler);this.fireEvent("open",this)}},hide:function(){this.owner!=document.body&&
(this.owner.currentFlyout=null);Jx.Button.Flyout.Stack.pop();this.setActive(!1);this.contentContainer.dispose();this.unstack(this.contentContainer);document.removeEvent("keydown",this.keypressHandler);document.removeEvent("click",this.clickHandler);this.fireEvent("close",this)},clickHandler:function(a){a=new Event(a);a=document.id(a.target);var b=Jx.Button.Flyout.Stack[Jx.Button.Flyout.Stack.length-1];a.descendantOf(b.content)||a.descendantOf(b.domObj)||b.hide()},keypressHandler:function(a){a=new Event(a);
"esc"==a.key&&Jx.Button.Flyout.Stack[Jx.Button.Flyout.Stack.length-1].hide()}});
Jx.ColorPalette=new Class({Family:"Jx.ColorPalette",Extends:Jx.Widget,domObj:null,options:{parent:null,color:"#000000",alpha:1,hexColors:"00 33 66 99 CC FF".split(" ")},render:function(){this.domObj=new Element("div",{id:this.options.id,"class":"jxColorPalette"});var a=new Element("div",{"class":"jxColorBar"}),b=new Element("div",{"class":"jxColorPreview"});this.selectedSwatch=new Element("div",{"class":"jxColorSelected"});this.previewSwatch=new Element("div",{"class":"jxColorHover"});b.adopt(this.selectedSwatch);
b.adopt(this.previewSwatch);a.adopt(b);this.colorInputLabel=new Element("label",{"class":"jxColorLabel",html:"#"});a.adopt(this.colorInputLabel);b=this.changed.bind(this);this.colorInput=new Element("input",{"class":"jxHexInput",type:"text",maxLength:6,events:{keyup:b,blur:b,change:b}});a.adopt(this.colorInput);this.alphaLabel=new Element("label",{"class":"jxAlphaLabel",html:this.getText({set:"Jx",key:"colorpalette",value:"alphaLabel"})});a.adopt(this.alphaLabel);this.alphaInput=new Element("input",
{"class":"jxAlphaInput",type:"text",maxLength:3,events:{keyup:this.alphaChanged.bind(this)}});a.adopt(this.alphaInput);this.domObj.adopt(a);var a=this.swatchClick.bindWithEvent(this),b=this.swatchOver.bindWithEvent(this),d=new Element("table",{"class":"jxColorGrid"}),e=new Element("tbody");d.adopt(e);for(var f=0;12>f;f++){for(var g=new Element("tr"),h=-3;18>h;h++){var l=!1,m,q,r;0>h?-3==h||-1==h?(m=q=r=0,l=!0):6>f?m=q=r=f:6==f?(m=5,r=q=0):7==f?(m=0,q=5,r=0):8==f?(q=m=0,r=5):9==f?(q=m=5,r=0):10==f?
(m=0,r=q=5):11==f&&(m=5,q=0,r=5):(m=3*parseInt(f/6,10)+parseInt(h/6,10),q=h%6,r=f%6);var u="#"+this.options.hexColors[m]+this.options.hexColors[q]+this.options.hexColors[r],z=new Element("td");l?(u=new Element("span",{"class":"emptyCell"}),z.adopt(u)):(z.setStyle("backgroundColor",u),l=new Element("a",{"class":"colorSwatch "+(2<m&&2<q||2<m&&2<r||2<q&&2<r?"borderBlack":"borderWhite"),href:"javascript:void(0)",title:u,alt:u,events:{mouseover:b,click:a}}),l.store("swatchColor",u),z.adopt(l));g.adopt(z)}e.adopt(g)}this.domObj.adopt(d);
this.updateSelected();this.options.parent&&this.addTo(this.options.parent)},swatchOver:function(a){this.previewSwatch.setStyle("backgroundColor",a.target.retrieve("swatchColor"))},swatchClick:function(a){this.options.color=a.target.retrieve("swatchColor");this.updateSelected();this.fireEvent("click",this)},changed:function(){var a=this.colorInput.value;"#"==a.substring(0,1)&&(a=a.substring(1));a.toLowerCase().match(/^[0-9a-f]{6}$/)&&(this.options.color="#"+a.toUpperCase(),this.updateSelected())},
alphaChanged:function(){var a=this.alphaInput.value;a.match(/^[0-9]{1,3}$/)&&(this.options.alpha=parseFloat(a/100),this.updateSelected())},setColor:function(a){this.colorInput.value=a;this.changed()},setAlpha:function(a){this.alphaInput.value=a;this.alphaChanged()},updateSelected:function(){var a={backgroundColor:this.options.color};this.colorInput.value=this.options.color.substring(1);this.alphaInput.value=parseInt(100*this.options.alpha,10);1>this.options.alpha?(a.opacity=this.options.alpha,a.filter=
"Alpha(opacity="+100*this.options.alpha+")"):(a.opacity=1,a.filter="");this.selectedSwatch.setStyles(a);this.previewSwatch.setStyles(a);this.fireEvent("change",this)},changeText:function(a){this.parent();$defined(this.alphaLabel)&&this.alphaLabel.set("html",this.getText({set:"Jx",key:"colorpalette",value:"alphaLabel"}))}});
Jx.Button.Color=new Class({Family:"Jx.Button.Color",Extends:Jx.Button.Flyout,swatch:null,options:{color:"#000000",alpha:100,template:'<span class="jxButtonContainer"><a class="jxButton jxButtonFlyout jxDiscloser"><span class="jxButtonContent"><span class="jxButtonSwatch"><span class="jxButtonSwatchColor"></span></span><span class="jxButtonLabel"></span></span></a></span>'},classes:new Hash({domObj:"jxButtonContainer",domA:"jxButton",swatch:"jxButtonSwatchColor",domLabel:"jxButtonLabel"}),render:function(){Jx.Button.Color.ColorPalette||
(Jx.Button.Color.ColorPalette=new Jx.ColorPalette(this.options));this.options.image=Jx.aPixel.src;this.parent();this.updateSwatch();this.bound.changed=this.changed.bind(this);this.bound.hide=this.hide.bind(this)},cleanup:function(){this.bound.changed=!1;this.bound.hide=!1;this.parent()},clicked:function(){var a=Jx.Button.Color.ColorPalette;a.currentButton&&a.currentButton.hide();a.currentButton=this;a.addEvent("change",this.bound.changed);a.addEvent("click",this.bound.hide);this.content.appendChild(a.domObj);
a.domObj.setStyle("display","block");Jx.Button.Flyout.prototype.clicked.apply(this,arguments);a.options.color=this.options.color;a.options.alpha=this.options.alpha/100;a.updateSelected()},hide:function(){var a=Jx.Button.Color.ColorPalette;this.setActive(!1);a.removeEvent("change",this.bound.changed);a.removeEvent("click",this.bound.hide);Jx.Button.Flyout.prototype.hide.apply(this,arguments);a.currentButton=null},setColor:function(a){this.options.color=a;this.updateSwatch()},setAlpha:function(a){this.options.alpha=
a;this.updateSwatch()},changed:function(a){var b=!1;this.options.color!=a.options.color&&(this.options.color=a.options.color,b=!0);this.options.alpha!=100*a.options.alpha&&(this.options.alpha=100*a.options.alpha,b=!0);b&&(this.updateSwatch(),this.fireEvent("change",this))},updateSwatch:function(){var a={backgroundColor:this.options.color};100>this.options.alpha?(a.filter="Alpha(opacity="+this.options.alpha+")",a.opacity=this.options.alpha/100):(a.opacity=1,a.filter="");this.swatch.setStyles(a)}});
Jx.Menu=new Class({Family:"Jx.Menu",Extends:Jx.Widget,button:null,subDomObj:null,list:null,parameters:["buttonOptions","options"],options:{exposeOnHover:!1,hideDelay:0,template:"<div class='jxMenuContainer'><ul class='jxMenu'></ul></div>",buttonTemplate:'<span class="jxButtonContainer"><a class="jxButton jxButtonMenu jxDiscloser"><span class="jxButtonContent"><img class="jxButtonIcon" src="'+Jx.aPixel.src+'"><span class="jxButtonLabel"></span></span></a></span>',position:{horizontal:["left left"],
vertical:["bottom top","top bottom"]}},classes:new Hash({contentContainer:"jxMenuContainer",subDomObj:"jxMenu"}),init:function(){this.bound.stop=function(a){a.stop()};this.bound.remove=function(a){a.setOwner(null)};this.bound.show=this.show.bind(this);this.bound.mouseenter=this.onMouseEnter.bind(this);this.bound.mouseleave=this.onMouseLeave.bind(this);this.bound.keypress=this.keypressHandler.bind(this);this.bound.hide=this.hide.bind(this);this.parent()},render:function(){this.parent();Jx.Menu.Menus||
(Jx.Menu.Menus=[]);this.contentClone=this.contentContainer.clone();this.list=new Jx.List(this.subDomObj,{onRemove:this.bound.remove});this.options.buttonOptions&&(this.button=new Jx.Button($merge(this.options.buttonOptions,{template:this.options.buttonTemplate,onClick:this.bound.show})),this.button.domA.addEvent("mouseenter",this.bound.mouseenter),this.button.domA.addEvent("mouseleave",this.bound.mouseleave),this.domObj=this.button.domObj,this.domObj.store("jxMenu",this));this.subDomObj.addEvent("mouseenter",
this.bound.mouseenter);this.subDomObj.addEvent("mouseleave",this.bound.mouseleave);this.subDomObj.store("jxSubMenu",this);this.options.parent&&this.addTo(this.options.parent)},cleanup:function(){this.hideTimer&&window.clearTimeout(this.hideTimer);this.list.removeEvent("remove",this.bound.remove);this.list.destroy();this.list=null;this.button&&(this.domObj.eliminate("jxMenu"),this.domObj=null,this.button.removeEvent("click",this.bound.show),this.button.domA.removeEvents({mouseenter:this.bound.mouseenter,
mouseleave:this.bound.mouseleave}),this.button.destroy(),this.button=null);this.subDomObj.removeEvents({mouseenter:this.bound.mouseenter,mouseleave:this.bound.mouseleave});this.subDomObj.removeEvents();this.contentContainer.removeEvent("contextmenu",this.bound.stop);this.subDomObj.destroy();this.contentContainer.destroy();this.contentClone.destroy();this.bound.remove=null;this.bound.show=null;this.bound.stop=null;this.bound.mouseenter=null;this.bound.mouseleave=null;this.bound.keypress=null;this.bound.hide=
null;this.parent()},add:function(a,b,d){"array"==Jx.type(a)?a.each(function(a){a.setOwner(d||this)},this):a.setOwner(d||this);this.list.add(a,b);return this},remove:function(a){this.list.remove(a);return this},replace:function(a,b){this.list.replace(a,b);return this},empty:function(){this.list.each(function(a){a.empty&&a.empty();a.setOwner(null)},this);this.list.empty()},deactivate:function(){this.hide()},onMouseEnter:function(a){this.hideTimer&&(window.clearTimeout(this.hideTimer),this.hideTimer=
null);Jx.Menu.Menus[0]&&Jx.Menu.Menus[0]!=this?this.show.delay(1,this):this.options.exposeOnHover&&(Jx.Menu.Menus[0]&&Jx.Menu.Menus[0]==this&&(Jx.Menu.Menus[0]=null),this.show.delay(1,this))},onMouseLeave:function(a){0<this.options.hideDelay&&(this.hideTimer=function(){this.deactivate()}.delay(this.options.hideDelay,this))},eventInMenu:function(a){var b=document.id(a.target);if(!b)return!1;if(b.descendantOf(this.domObj)||b.descendantOf(this.subDomObj))return!0;if(b=b.getParent("ul"))if(b=b.retrieve("jxSubMenu")){if(b.eventInMenu(a))return!0;
for(a=b.owner;a;){if(a==this)return!0;a=a.owner}}return!1},hide:function(a){if(a)if(this.visibleItem&&this.visibleItem.eventInMenu){if(this.visibleItem.eventInMenu(a))return}else if(this.eventInMenu(a))return;Jx.Menu.Menus[0]&&Jx.Menu.Menus[0]==this&&(Jx.Menu.Menus[0]=null);this.button&&this.button.domA&&this.button.domA.removeClass(this.button.options.activeClass);this.hideTimer&&window.clearTimeout(this.hideTimer);this.list.each(function(b){b.retrieve("jxMenuItem").hide(a)});document.removeEvent("mousedown",
this.bound.hide);document.removeEvent("keydown",this.bound.keypress);this.unstack(this.contentContainer);this.contentContainer.dispose();this.visibleItem=null;this.fireEvent("hide",this)},show:function(){if(this.button){if(Jx.Menu.Menus[0])if(Jx.Menu.Menus[0]!=this)Jx.Menu.Menus[0].button.blur(),Jx.Menu.Menus[0].hide();else{this.hide();return}Jx.Menu.Menus[0]=this;this.button.focus();if(0==this.list.count())return}this.hideTimer&&window.clearTimeout(this.hideTimer);this.subDomObj.dispose();this.contentContainer.destroy();
this.contentContainer=this.contentClone.clone();this.contentContainer.empty().adopt(this.subDomObj);this.contentContainer.addEvent("contextmenu",this.bound.stop);this.contentContainer.setStyle("display","none");document.id(document.body).adopt(this.contentContainer);this.contentContainer.setStyles({visibility:"hidden",display:"block"});this.contentContainer.setContentBoxSize(this.subDomObj.getMarginBoxSize());this.showChrome(this.contentContainer);this.position(this.contentContainer,this.domObj,$merge({offsets:this.chromeOffsets},
this.options.position));this.stack(this.contentContainer);this.contentContainer.setStyle("visibility","visible");this.button&&this.button.domA&&this.button.domA.addClass(this.button.options.activeClass);document.addEvent("mousedown",this.bound.hide);document.addEvent("keydown",this.bound.keypress);this.fireEvent("show",this)},setVisibleItem:function(a){this.hideTimer&&window.clearTimeout(this.hideTimer);this.visibleItem!=a&&(this.visibleItem&&this.visibleItem.hide&&this.visibleItem.hide(),this.visibleItem=
a,this.visibleItem.show())},keypressHandler:function(a){a=new Event(a);"esc"==a.key&&this.hide()},isEnabled:function(){return this.button?this.button.isEnabled():this.options.enabled},setEnabled:function(a){return this.button?this.button.setEnabled(a):this.options.enable},isActive:function(){return this.button?this.button.isActive():this.options.active},setActive:function(a){this.button&&this.button.setActive(a)},setImage:function(a){this.button&&this.button.setImage(a)},setLabel:function(a){this.button&&
this.button.setLabel(a)},getLabel:function(){return this.button?this.button.getLabel():""},setTooltip:function(a){this.button&&this.button.setTooltip(a)},focus:function(){this.button&&this.button.focus()},blur:function(){this.button&&this.button.blur()}});
Jx.Menu.Item=new Class({Family:"Jx.Menu.Item",Extends:Jx.Button,owner:null,options:{label:"&nbsp;",toggleClass:"jxMenuItemToggle",pressedClass:"jxMenuItemPressed",activeClass:"jxMenuItemActive",template:'<li class="jxMenuItemContainer"><a class="jxMenuItem"><span class="jxMenuItemContent"><img class="jxMenuItemIcon" src="'+Jx.aPixel.src+'"><span class="jxMenuItemLabel"></span></span></a></li>'},classes:new Hash({domObj:"jxMenuItemContainer",domA:"jxMenuItem",domImg:"jxMenuItemIcon",domLabel:"jxMenuItemLabel"}),
init:function(){this.bound.mouseover=this.onMouseOver.bind(this);this.parent()},render:function(){this.options.image||(this.options.image=Jx.aPixel.src);this.parent();this.options.image&&this.options.image!=Jx.aPixel.src&&this.domObj.removeClass(this.options.toggleClass);this.options.target&&this.domA.set("target",this.options.target);this.domObj.addEvent("mouseover",this.bound.mouseover);this.domObj.store("jxMenuItem",this)},cleanup:function(){this.domObj.eliminate("jxMenuItem");this.domObj.removeEvent("mouseover",
this.bound.mouseover);this.owner=this.bound.mouseover=null;this.parent()},setOwner:function(a){this.owner=a},hide:function(){this.blur.delay(1,this)},show:$empty,clicked:function(a){var b=this.options.href&&0!=this.options.href.indexOf("javascript:");this.options.enabled&&(b||(this.options.toggle&&this.setActive.delay(1,this,!this.options.active),this.fireEvent.delay(1,this,["click",{obj:this}]),this.blur()),this.owner&&this.owner.deactivate&&this.owner.deactivate.delay(1,this.owner,a.event));return b?
!0:!1},onMouseOver:function(a){a.stop();this.owner&&this.owner.setVisibleItem&&this.owner.setVisibleItem(this);return!1},changeText:function(a){this.parent();this.owner&&this.owner.deactivate&&this.owner.deactivate()}});
Jx.ButtonSet=new Class({Family:"Jx.ButtonSet",Extends:Jx.Object,Binds:["buttonChanged"],buttons:[],cleanup:function(){this.buttons.each(function(a){a.removeEvent("down",this.buttonChanged);a.setActive=null},this);this.buttons=this.activeButton=null;this.parent()},add:function(){$A(arguments).each(function(a){a.domObj.hasClass(a.options.toggleClass)&&(a.domObj.removeClass(a.options.toggleClass),a.domObj.addClass(a.options.toggleClass+"Set"));a.addEvent("down",this.buttonChanged);a.setActive=function(b){a.options.active&&
this.activeButton==a||Jx.Button.prototype.setActive.apply(a,[b])}.bind(this);if(!this.activeButton||a.options.active)a.options.active=!1,a.setActive(!0);this.buttons.push(a)},this);return this},remove:function(a){this.buttons.erase(a);this.activeButton==a&&(this.buttons.length&&this.buttons[0].setActive(!0),a.removeEvent("down",this.buttonChanged),a.setActive=Jx.Button.prototype.setActive)},empty:function(){this.buttons=[];this.activeButton=null},setActiveButton:function(a){var b=this.activeButton;
this.activeButton=a;b&&b!=a&&b.setActive(!1)},buttonChanged:function(a){this.setActiveButton(a);this.fireEvent("change",this)}});
Jx.Button.Multi=new Class({Family:"Jx.Button.Multi",Extends:Jx.Button,activeButton:null,buttons:null,options:{template:'<span class="jxButtonContainer"><a class="jxButton jxButtonMulti jxDiscloser"><span class="jxButtonContent"><img src="'+Jx.aPixel.src+'" class="jxButtonIcon"><span class="jxButtonLabel"></span></span></a><a class="jxButtonDisclose" href="javascript:void(0)"><img src="'+Jx.aPixel.src+'"></a></span>',menuOptions:{}},classes:new Hash({domObj:"jxButtonContainer",domA:"jxButton",domImg:"jxButtonIcon",
domLabel:"jxButtonLabel",domDisclose:"jxButtonDisclose"}),render:function(){this.parent();this.buttons=[];this.menu=new Jx.Menu({},this.options.menuOptions);this.menu.button=this;this.buttonSet=new Jx.ButtonSet;this.bound.click=this.clicked.bind(this);if(this.domDisclose){var a=this,b;this.bound.disclose={click:function(b){0!==this.list.count()&&a.options.enabled&&(this.contentContainer.setStyle("visibility","hidden"),this.contentContainer.setStyle("display","block"),document.id(document.body).adopt(this.contentContainer),
this.contentContainer.setContentBoxSize(this.subDomObj.getMarginBoxSize()),this.showChrome(this.contentContainer),this.position(this.contentContainer,this.button.domObj,{horizontal:["right right"],vertical:["bottom top","top bottom"],offsets:this.chromeOffsets}),this.contentContainer.setStyle("visibility",""),document.addEvent("mousedown",this.bound.hide),document.addEvent("keyup",this.bound.keypress),this.fireEvent("show",this))}.bindWithEvent(this.menu),mouseenter:function(){document.id(this.domObj.firstChild).addClass("jxButtonHover");
b&&this.domDisclose.addClass(this.options.pressedClass)}.bind(this),mouseleave:function(){document.id(this.domObj.firstChild).removeClass("jxButtonHover");this.domDisclose.removeClass(this.options.pressedClass)}.bind(this),mousedown:function(a){this.domDisclose.addClass(this.options.pressedClass);b=!0;this.focus()}.bindWithEvent(this),mouseup:function(a){this.domDisclose.removeClass(this.options.pressedClass)}.bindWithEvent(this),keydown:function(a){"enter"==a.key&&this.domDisclose.addClass(this.options.pressedClass)}.bindWithEvent(this),
keyup:function(a){"enter"==a.key&&this.domDisclose.removeClass(this.options.pressedClass)}.bindWithEvent(this),blur:function(){b=!1}};this.domDisclose.addEvents({click:this.bound.disclose.click,mouseenter:this.bound.disclose.mouseenter,mouseleave:this.bound.disclose.mouseleave,mousedown:this.bound.disclose.mousedown,mouseup:this.bound.disclose.mouseup,keydown:this.bound.disclose.keydown,keyup:this.bound.disclose.keyup,blur:this.bound.disclose.blur});"undefined"!=typeof Drag&&new Drag(this.domDisclose,
{onStart:function(){this.stop()}})}this.bound.show=function(){this.domA.addClass(this.options.activeClass)}.bind(this);this.bound.hide=function(){this.options.active&&this.domA.addClass(this.options.activeClass)}.bind(this);this.menu.addEvents({show:this.bound.show,hide:this.bound.hide});this.options.items&&this.add(this.options.items)},cleanup:function(){var a=this,b=this.bound;a.domDisclose&&a.domDisclose.removeEvents({click:b.disclose.click,mouseenter:b.disclose.mouseenter,mouseleave:b.disclose.mouseleave,
mousedown:b.disclose.mousedown,mouseup:b.disclose.mouseup,keydown:b.disclose.keydown,keyup:b.disclose.keyup,blur:b.disclose.blur});a.buttonSet.destroy();a.buttonSet=null;a.buttons.each(function(b){b.removeEvents();a.menu.remove(b.multiButton);b.multiButton.destroy();b.multiButton=null;b.destroy()});a.buttons.empty();a.buttons=null;a.menu.removeEvents({show:b.show,hide:b.hide});a.menu.button=null;a.menu.destroy();a.menu=null;a.bound.show=null;a.bound.hide=null;a.bound.clicked=null;a.bound.disclose=
null;a.activeButton=null;a.parent()},add:function(){$A(arguments).flatten().each(function(a){var b;!a instanceof Jx.Button||(a.domA.addClass("jxDiscloser"),a.setLabel(a.options.label),this.buttons.push(a),b=this.setButton.bind(this,a),b={image:a.options.image,imageClass:a.options.imageClass,label:a.options.label||"&nbsp;",enabled:a.options.enabled,tooltip:a.options.tooltip,toggle:!0,onClick:b},b.image&&-1==b.image.indexOf("a_pixel")||delete b.image,b=new Jx.Menu.Item(b),this.buttonSet.add(b),this.menu.add(b),
a.multiButton=b,a.domA.addClass("jxButtonMulti"),this.activeButton||(this.domA.dispose(),this.setActiveButton(a)))},this)},remove:function(a){a&&a.multiButton&&this.menu.remove(a.multiButton)&&(a.multiButton=null,this.activeButton==a&&(this.buttons.some(function(b){return b!=a?(this.setActiveButton(b),!0):!1},this)||this.setActiveButton(null)),this.buttons.erase(a))},empty:function(){this.buttons.each(function(a){this.remove(a)},this)},setActiveButton:function(a){this.activeButton&&(this.activeButton.domA.dispose(),
this.activeButton.domA.removeEvent("click",this.bound.click));a&&a.domA&&(this.domObj.grab(a.domA,"top"),this.domA=a.domA,this.domA.addEvent("click",this.bound.click),this.options.toggle&&(this.options.active=!1,this.setActive(!0)));this.activeButton=a},setButton:function(a){this.setActiveButton(a);a.clicked()}});
Jx.Layout=new Class({Family:"Jx.Layout",Extends:Jx.Object,options:{resizeWithWindow:!1,propagate:!0,position:"absolute",left:0,right:0,top:0,bottom:0,width:null,height:null,minWidth:0,minHeight:0,maxWidth:-1,maxHeight:-1},parameters:["domObj","options"],init:function(){this.domObj=document.id(this.options.domObj);this.domObj.resize=this.resize.bind(this);this.domObj.setStyle("position",this.options.position);this.domObj.store("jxLayout",this);if(this.options.resizeWithWindow||document.body==this.domObj.parentNode)window.addEvent("resize",
this.windowResize.bindWithEvent(this)),window.addEvent("load",this.windowResize.bind(this))},windowResize:function(){this.resize();this.resizeTimer&&($clear(this.resizeTimer),this.resizeTimer=null);this.resizeTimer=this.resize.delay(50,this)},resize:function(a){this.resizeTimer=null;var b=!1;if(a){for(var d in a)"forceResize"!=d&&this.options[d]!=a[d]&&(b=!0,this.options[d]=a[d]);a.forceResize&&(b=!0)}if(document.id(this.domObj.parentNode)){var e;e="BODY"==this.domObj.parentNode.tagName?Jx.getPageDimensions():
document.id(this.domObj.parentNode).getContentBoxSize();b=this.lastParentSize&&!b?this.lastParentSize.width!=e.width||this.lastParentSize.height!=e.height:!0;this.lastParentSize=e;if(b){var f,g;null!=this.options.left?(b=this.options.left,null==this.options.right?null==this.options.width?(f=e.width-b,f<this.options.minWidth&&(f=this.options.minWidth),0<=this.options.maxWidth&&f>this.options.maxWidth&&(f=this.options.maxWidth)):f=this.options.width:null==this.options.width?(f=e.width-b-this.options.right,
f<this.options.minWidth&&(f=this.options.minWidth),0<=this.options.maxWidth&&f>this.options.maxWidth&&(f=this.options.maxWidth)):f=this.options.width):null==this.options.right?null==this.options.width?(b=0,f=e.width,0<=this.options.maxWidth&&f>this.options.maxWidth&&(b+=parseInt(f-this.options.maxWidth,10)/2,f=this.options.maxWidth)):(f=this.options.width,b=parseInt((e.width-f)/2,10),0>b&&(b=0)):null!=this.options.width?(f=this.options.width,b=e.width-f-this.options.right,0>b&&(b=0)):(b=0,f=e.width-
this.options.right,f<this.options.minWidth&&(f=this.options.minWidth),0<=this.options.maxWidth&&f>this.options.maxWidth&&(b=f-this.options.maxWidth-this.options.right,f=this.options.maxWidth));null!=this.options.top?(d=this.options.top,null==this.options.bottom?null==this.options.height?(g=e.height-d,g<this.options.minHeight&&(g=this.options.minHeight),0<=this.options.maxHeight&&g>this.options.maxHeight&&(g=this.options.maxHeight)):(g=this.options.height,0<=this.options.maxHeight&&g>this.options.maxHeight&&
(d=g-this.options.maxHeight,g=this.options.maxHeight)):null==this.options.height?(g=e.height-d-this.options.bottom,g<this.options.minHeight&&(g=this.options.minHeight),0<=this.options.maxHeight&&g>this.options.maxHeight&&(g=this.options.maxHeight)):g=this.options.height):null==this.options.bottom?null==this.options.height?(d=0,g=e.height,g<this.options.minHeight&&(g=this.options.minHeight),0<=this.options.maxHeight&&g>this.options.maxHeight&&(d=parseInt((e.height-this.options.maxHeight)/2,10),g=this.options.maxHeight)):
(g=this.options.height,d=parseInt((e.height-g)/2,10),0>d&&(d=0)):null!=this.options.height?(g=this.options.height,d=e.height-g-this.options.bottom,0>d&&(d=0)):(d=0,g=e.height-this.options.bottom,g<this.options.minHeight&&(g=this.options.minHeight),0<=this.options.maxHeight&&g>this.options.maxHeight&&(d=e.height-this.options.maxHeight-this.options.bottom,g=this.options.maxHeight));e={width:f};"absolute"==this.options.position?(f=document.id(this.domObj.parentNode).measure(function(){return this.getSizes(["padding"],
["left","top"]).padding}),this.domObj.setStyles({position:this.options.position,left:b+f.left,top:d+f.top}),e.height=g):this.options.height&&(e.height=this.options.height);this.domObj.setBorderBoxSize(e);if(this.options.propagate){var h={forceResize:a?a.forceResize:!1};$A(this.domObj.childNodes).each(function(a){a.resize&&"none"!=a.getStyle("display")&&a.resize.delay(0,a,h)})}this.fireEvent("sizeChange",this)}}}});
Jx.Toolbar=new Class({Family:"Jx.Toolbar",Extends:Jx.Widget,list:null,domObj:null,isActive:!1,options:{position:"top",parent:null,autoSize:!1,align:"left",scroll:!0,template:'<ul class="jxToolbar"></ul>'},classes:new Hash({domObj:"jxToolbar"}),render:function(){this.parent();this.domObj.store("jxToolbar",this);$defined(this.options.id)&&(this.domObj.id=this.options.id);this.list=new Jx.List(this.domObj,{onAdd:function(a){this.fireEvent("add",this)}.bind(this),onRemove:function(a){this.fireEvent("remove",
this)}.bind(this)});this.options.parent&&this.addTo(this.options.parent);this.deactivateWatcher=this.deactivate.bindWithEvent(this);this.options.items&&this.add(this.options.items)},addTo:function(a){var b=document.id(a).retrieve("jxBarContainer");b||(b=new Jx.Toolbar.Container({parent:a,position:this.options.position,autoSize:this.options.autoSize,align:this.options.align,scroll:this.options.scroll}));b.add(this);return this},add:function(){$A(arguments).flatten().each(function(a){var b=a;b.domObj&&
(b=b.domObj);"LI"==b.tagName?b.hasClass("jxToolItem")||b.addClass("jxToolItem"):b=new Jx.Toolbar.Item(a);this.list.add(b)},this);this.update();return this},remove:function(a){a.domObj&&(a=a.domObj);a=a.findElement("LI");this.list.remove(a);this.update();return this},empty:function(){this.list.each(function(a){this.remove(a)},this)},deactivate:function(){this.list.each(function(a){a.retrieve("jxMenu")&&a.retrieve("jxMenu").hide()});this.setActive(!1)},isActive:function(){return this.isActive},setActive:function(a){(this.isActive=
a)?document.addEvent("click",this.deactivateWatcher):document.removeEvent("click",this.deactivateWatcher)},setVisibleItem:function(a){this.visibleItem&&this.visibleItem.hide&&this.visibleItem!=a&&this.visibleItem.hide();this.visibleItem=a;this.isActive()&&this.visibleItem.show()},showItem:function(a){this.fireEvent("show",a)},update:function(){this.fireEvent("update")},changeText:function(a){this.update()}});
Jx.Toolbar.Container=new Class({Family:"Jx.Toolbar.Container",Extends:Jx.Widget,Binds:["update"],pluginNamespace:"ToolbarContainer",domObj:null,options:{parent:null,position:"top",autoSize:!1,scroll:!0,align:"left",template:"<div class='jxBarContainer'><div class='jxBarControls'></div></div>",scrollerTemplate:"<div class='jxBarScroller'><div class='jxBarWrapper'></div></div>"},classes:new Hash({domObj:"jxBarContainer",scroller:"jxBarScroller",wrapper:"jxBarWrapper",controls:"jxBarControls"}),updating:!1,
render:function(){this.parent();document.id(this.options.parent)&&(this.domObj=document.id(this.options.parent),this.elements=new Hash({jxBarContainer:this.domObj}),this.domObj.addClass("jxBarContainer"),this.domObj.grab(this.controls),this.domObj.addEvent("sizeChange",this.update));!["center","right"].contains(this.options.align)&&this.options.scroll&&(this.processElements(this.options.scrollerTemplate,this.classes),this.domObj.grab(this.scroller,"top"));this.domObj.addClass("jxToolbarAlign"+this.options.align.capitalize());
this.domObj.store("jxBarContainer",this);["top","right","bottom","left"].contains(this.options.position)?this.domObj.addClass("jxBar"+this.options.position.capitalize()):(this.domObj.addClass("jxBarTop"),this.options.position="top");this.options.scroll&&["top","bottom"].contains(this.options.position)?(this.addEvent("addTo",function(){this.domObj.getParent().addEvent("sizeChange",this.update);this.update()}),this.scrollLeft=(new Jx.Button({image:Jx.aPixel.src})).addTo(this.controls,"bottom"),document.id(this.scrollLeft).addClass("jxBarScrollLeft"),
this.scrollLeft.addEvents({click:this.scroll.bind(this,"left")}),this.scrollRight=(new Jx.Button({image:Jx.aPixel.src})).addTo(this.controls,"bottom"),document.id(this.scrollRight).addClass("jxBarScrollRight"),this.scrollRight.addEvents({click:this.scroll.bind(this,"right")})):(this.options.scroll&&["left","right"].contains(this.options.position),this.options.scroll=!1);this.addEvent("add",this.update);this.options.toolbars&&this.add(this.options.toolbars)},update:function(){if(this.options.scroll&&
["top","bottom"].contains(this.options.position)){var a=this.domObj.getContentBoxSize().width,b=0,d=this.wrapper.getChildren();if(0<d.length){d.each(function(a){b+=a.getMarginBoxSize().width},this);var e=a;0===b?(this.scrollLeft.setEnabled(!1),this.scrollRight.setEnabled(!1)):(a=this.wrapper.getStyle("margin-left").toInt(),e-=this.controls.getMarginBoxSize().width,0>a?this.scrollLeft.setEnabled(!0):this.scrollLeft.setEnabled(!1),b+a>e?this.scrollRight.setEnabled(!0):this.scrollRight.setEnabled(!1))}else this.scrollRight.setEnabled(!1),
this.scrollLeft.setEnabled(!1);this.scroller.setStyle("width",e);this.findFirstVisible();this.updating=!1}},findFirstVisible:function(){if(!$defined(this.scroller.retrieve("buttonPointer"))){var a=this.wrapper.getChildren();0<a.length&&a.each(function(a){a=a.getChildren();1<a.length&&a.each(function(a){0<=a.getCoordinates(this.scroller).left&&!$defined(this.scroller.retrieve("buttonPointer"))&&this.scroller.store("buttonPointer",a)},this)},this)}},add:function(){$A(arguments).flatten().each(function(a){this.options.scroll&&
(a.addEvent("update",this.update.bind(this)),a.addEvent("show",this.scrollIntoView.bind(this)));this.wrapper?this.wrapper.adopt(a.domObj):this.domObj.adopt(a.domObj);this.domObj.addClass("jxBar"+this.options.position.capitalize())},this);0<arguments.length&&this.fireEvent("add",this);return this},scroll:function(a){if(!this.updating){this.updating=!0;var b=this.scroller.retrieve("buttonPointer");if("left"===a)if((a=this.scroller.retrieve("previousPointer"))||(a=this.getPreviousButton(b)),a){var d=
a.getMarginBoxSize().width,e=this.wrapper.getStyle("margin-left").toInt(),e=e+d;"undefined"!=typeof Fx&&"undefined"!=typeof Fx.Tween?this.wrapper.get("tween",{property:"margin-left",onComplete:this.afterTweenLeft.bind(this,a)}).start(e):(this.wrapper.setStyle("margin-left",e),this.afterTweenLeft(a))}else this.update();else d=b.getMarginBoxSize().width,e=this.wrapper.getStyle("margin-left").toInt(),e-=d,"undefined"!=typeof Fx&&"undefined"!=typeof Fx.Tween?this.wrapper.get("tween",{property:"margin-left",
onComplete:this.afterTweenRight.bind(this,b)}).start(e):(this.wrapper.setStyle("margin-left",e),this.afterTweenRight(b))}},afterTweenRight:function(a){var b=this.getNextButton(a);b||(b=a);this.scroller.store("buttonPointer",b);b!==a&&this.scroller.store("previousPointer",a);this.update()},afterTweenLeft:function(a){this.scroller.store("buttonPointer",a);a=this.getPreviousButton(a);$defined(a)?this.scroller.store("previousPointer",a):this.scroller.eliminate("previousPointer");this.update()},remove:function(a){a instanceof
Jx.Widget?a.dispose():document.id(a).dispose();this.update()},scrollIntoView:function(a){var b=this.scroller.retrieve("buttonPointer");if($defined(b)){if($defined(a.domObj))for(a=a.domObj;!a.hasClass("jxToolItem");)a=a.getParent();var d=a.getCoordinates(this.scroller),e=this.scroller.getStyle("width").toInt();if(!(0<d.right&&d.right<=e&&0<d.left&&d.left<=e))if(d.right>e){a=d.right-e;for(var e=this.wrapper.getStyle("margin-left").toInt(),d=b.getMarginBoxSize().width,f;d<a&&$defined(b);){if(f=this.getNextButton(b))d+=
f.getMarginBoxSize().width;else break;b=f}e-=d;"undefined"!=typeof Fx&&"undefined"!=typeof Fx.Tween?this.wrapper.get("tween",{property:"margin-left",onComplete:this.afterTweenRight.bind(this,b)}).start(e):(this.wrapper.setStyle("margin-left",e),this.afterTweenRight(b))}else e=this.wrapper.getStyle("margin-left").toInt(),e-=d.left,"undefined"!=typeof Fx&&"undefined"!=typeof Fx.Tween?this.wrapper.get("tween",{property:"margin-left",onComplete:this.afterTweenLeft.bind(this,a)}).start(e):(this.wrapper.setStyle("margin-left",
e),this.afterTweenLeft(a))}},getPreviousButton:function(a){pp=a.getPrevious();$defined(pp)||(pp=a.getParent().getPrevious())&&(pp=pp.getLast());return pp},getNextButton:function(a){np=a.getNext();np||(np=a.getParent().getNext())&&(np=np.getFirst());return np}});
Jx.Toolbar.Item=new Class({Family:"Jx.Toolbar.Item",Extends:Jx.Widget,options:{active:!0,template:'<li class="jxToolItem"></li>'},classes:new Hash({domObj:"jxToolItem"}),parameters:["jxThing","options"],render:function(){this.parent();var a=document.id(this.options.jxThing);a&&this.domObj.adopt(a)}});
Jx.Panel=new Class({Family:"Jx.Panel",Extends:Jx.Widget,toolbarContainers:{top:null,right:null,bottom:null,left:null},options:{position:null,collapsedClass:"jxPanelMin",collapseClass:"jxPanelCollapse",menuClass:"jxPanelMenu",maximizeClass:"jxPanelMaximize",closeClass:"jxPanelClose",label:"&nbsp;",height:null,collapse:!0,close:!1,closed:!1,hideTitle:!1,toolbars:[],type:"panel",template:'<div class="jxPanel"><div class="jxPanelTitle"><img class="jxPanelIcon" src="'+Jx.aPixel.src+'" alt="" title=""/><span class="jxPanelLabel"></span><div class="jxPanelControls"></div></div><div class="jxPanelContentContainer"><div class="jxPanelContent"></div></div></div>',
controlButtonTemplate:'<a class="jxButtonContainer jxButton"><img class="jxButtonIcon" src="'+Jx.aPixel.src+'"></a>'},classes:new Hash({domObj:"jxPanel",title:"jxPanelTitle",domImg:"jxPanelIcon",domLabel:"jxPanelLabel",domControls:"jxPanelControls",contentContainer:"jxPanelContentContainer",content:"jxPanelContent"}),render:function(){this.parent();this.toolbars=this.options?this.options.toolbars||[]:[];this.options.position=$defined(this.options.height)&&!$defined(this.options.position)?"relative":
"absolute";this.options.image&&this.domImg&&this.domImg.setStyle("backgroundImage","url("+this.options.image+")");this.options.label&&this.domLabel&&this.setLabel(this.options.label);var a=new Element("div");this.domControls.adopt(a);this.toolbar=new Jx.Toolbar({parent:a,scroll:!1});var b=this;this.options.menu&&(this.menu=new Jx.Menu({image:Jx.aPixel.src},{buttonTemplate:this.options.controlButtonTemplate}),this.menu.domObj.addClass(this.options.menuClass),this.menu.domObj.addClass("jxButtonContentLeft"),
this.toolbar.add(this.menu));if(this.options.collapse&&(this.title&&this.title.addEvent("dblclick",function(){b.toggleCollapse()}),this.colB=new Jx.Button({template:this.options.controlButtonTemplate,image:Jx.aPixel.src,tooltip:{set:"Jx",key:"panel",value:"collapseTooltip"},onClick:function(){b.toggleCollapse()}}),this.colB.domObj.addClass(this.options.collapseClass),this.addEvents({collapse:function(){this.colB.setTooltip({set:"Jx",key:"panel",value:"expandTooltip"})}.bind(this),expand:function(){this.colB.setTooltip({set:"Jx",
key:"panel",value:"collapseTooltip"})}.bind(this)}),this.toolbar.add(this.colB),this.menu)){var d=this.colM=new Jx.Menu.Item({label:this.options.collapseLabel,onClick:function(){b.toggleCollapse()}});this.addEvents({collapse:function(){this.colM.setLabel({set:"Jx",key:"panel",value:"expandLabel"})}.bind(this),expand:function(){this.colM.setLabel({set:"Jx",key:"panel",value:"collapseLabel"})}.bind(this)});this.menu.add(d)}this.options.maximize&&(this.maxB=new Jx.Button({template:this.options.controlButtonTemplate,
image:Jx.aPixel.src,tooltip:{set:"Jx",key:"panel",value:"maximizeTooltip"},onClick:function(){b.maximize()}}),this.maxB.domObj.addClass(this.options.maximizeClass),this.addEvents({maximize:function(){this.maxB.setTooltip({set:"Jx",key:"panel",value:"restoreTooltip"})}.bind(this),restore:function(){this.maxB.setTooltip({set:"Jx",key:"panel",value:"maximizeTooltip"})}.bind(this)}),this.toolbar.add(this.maxB),this.menu&&(this.maxM=new Jx.Menu.Item({label:this.options.maximizeLabel,onClick:function(){b.maximize()}}),
this.addEvents({maximize:function(){this.maxM.setLabel({set:"Jx",key:"panel",value:"maximizeLabel"})}.bind(this),restore:function(){this.maxM.setLabel({set:"Jx",key:"panel",value:"restoreLabel"})}.bind(this)}),this.menu.add(this.maxM)));this.options.close&&(this.closeB=new Jx.Button({template:this.options.controlButtonTemplate,image:Jx.aPixel.src,tooltip:{set:"Jx",key:"panel",value:"closeTooltip"},onClick:function(){b.close()}}),this.closeB.domObj.addClass(this.options.closeClass),this.toolbar.add(this.closeB),
this.menu&&(this.closeM=new Jx.Menu.Item({label:{set:"Jx",key:"panel",value:"closeLabel"},onClick:function(){b.close()}}),this.menu.add(d)));this.options.id&&(this.domObj.id=this.options.id);a=new Jx.Layout(this.domObj,$merge(this.options,{propagate:!1}));d=this.layoutContent.bind(this);a.addEvent("sizeChange",d);this.options.hideTitle&&this.title.dispose();"array"==Jx.type(this.options.toolbars)&&this.options.toolbars.each(function(a){var b=a.options.position,d=this.toolbarContainers[b];d||(d=new Element("div"),
new Jx.Layout(d),this.contentContainer.adopt(d),this.toolbarContainers[b]=d);a.addTo(d)},this);new Jx.Layout(this.contentContainer);new Jx.Layout(this.content);this.shouldLoadContent()&&this.loadContent(this.content);this.toggleCollapse(this.options.closed);this.addEvent("addTo",function(){this.domObj.resize()});this.options.parent&&this.addTo(this.options.parent)},layoutContent:function(){var a=0,b=0,d=0,e=0,f=0,g,h;this.options.hideTitle||this.title.parentNode!=this.domObj||(a=this.title.getMarginBoxSize().height);
this.domObj.getContentBoxSize().height>a?(this.contentContainer.setStyle("display","block"),this.options.closed=!1,this.contentContainer.resize({top:a,height:null,bottom:0}),["left","right"].each(function(a){this.toolbarContainers[a]&&(this.toolbarContainers[a].style.width="auto")},this),["top","bottom"].each(function(a){this.toolbarContainers[a]&&(this.toolbarContainers[a].style.height="")},this),"array"==Jx.type(this.options.toolbars)&&this.options.toolbars.each(function(a){a.update();h=a.options.position;
g=this.toolbarContainers[h];if(Browser.Engine.trident4){var m=document.id(g.parentNode);g.style.visibility="hidden";document.id(document.body).adopt(g)}a=g.getBorderBoxSize();Browser.Engine.trident4&&(m.adopt(g),g.style.visibility="");switch(h){case "bottom":d=a.height;break;case "left":e=a.width;break;case "right":f=a.width;break;default:b=a.height}},this),(g=this.toolbarContainers.top)&&g.resize({top:0,left:e,right:f,bottom:null,height:b,width:null}),(g=this.toolbarContainers.bottom)&&g.resize({top:null,
left:e,right:f,bottom:0,height:d,width:null}),(g=this.toolbarContainers.left)&&g.resize({top:b,left:0,right:null,bottom:d,height:null,width:e}),(g=this.toolbarContainers.right)&&g.resize({top:b,left:null,right:0,bottom:d,height:null,width:f}),this.content.resize({top:b,bottom:d,left:e,right:f})):(this.contentContainer.setStyle("display","none"),this.options.closed=!0);this.fireEvent("sizeChange",this)},setLabel:function(a){this.domLabel.set("html",this.getText(a))},getLabel:function(){return this.domLabel.get("html")},
finalize:function(){this.domObj=null;this.deregisterIds()},maximize:function(){this.manager&&this.manager.maximizePanel(this)},setContent:function(a){this.content.innerHTML=a;this.bContentReady=!0},setContentURL:function(a,b){this.bContentReady=!1;this.setBusy(!0);b&&(this.onContentReady=b);-1==a.indexOf("?")&&(a+="?");(new Request({url:a,method:"get",evalScripts:!0,onSuccess:this.panelContentLoaded.bind(this),requestHeaders:["If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT"]})).send()},panelContentLoaded:function(a){this.content.innerHTML=
a;this.bContentReady=!0;this.setBusy(!1);this.onContentReady&&window.setTimeout(this.onContentReady.bind(this),1)},toggleCollapse:function(a){$defined(a)?this.options.closed=a:this.options.closed=!this.options.closed;this.options.closed?this.domObj.hasClass(this.options.collapsedClass)||(this.domObj.addClass(this.options.collapsedClass),this.contentContainer.setStyle("display","none"),a=this.domObj.measure(function(){return this.getSizes(["margin"],["top","bottom"]).margin}),a=a.top+a.bottom,this.title.parentNode==
this.domObj&&(a+=this.title.getMarginBoxSize().height),this.domObj.resize({height:a}),this.fireEvent("collapse",this)):this.domObj.hasClass(this.options.collapsedClass)&&(this.domObj.removeClass(this.options.collapsedClass),this.contentContainer.setStyle("display","block"),this.domObj.resize({height:this.options.height}),this.fireEvent("expand",this))},close:function(){this.domObj.dispose();this.fireEvent("close",this)},changeText:function(a){this.parent();$defined(this.closeB)&&this.closeB.setTooltip({set:"Jx",
key:"panel",value:"closeTooltip"});$defined(this.closeM)&&this.closeM.setLabel({set:"Jx",key:"panel",value:"closeLabel"});$defined(this.maxB)&&this.maxB.setTooltip({set:"Jx",key:"panel",value:"maximizeTooltip"});$defined(this.colB)&&this.colB.setTooltip({set:"Jx",key:"panel",value:"collapseTooltip"});$defined(this.colM)&&(!0==this.options.closed?this.colM.setLabel({set:"Jx",key:"panel",value:"expandLabel"}):this.colM.setLabel({set:"Jx",key:"panel",value:"collapseLabel"}));this.options.label&&this.domLabel&&
this.setLabel(this.options.label);this.layoutContent()},shouldLoadContent:function(){return!0}});
Jx.Dialog=new Class({Family:"Jx.Dialog",Extends:Jx.Panel,options:{modal:!0,maskOptions:{"class":"jxModalMask",maskMargins:!0,useIframeShim:!0,iframeShimOptions:{className:"jxIframeShim"}},eventMaskOptions:{"class":"jxEventMask",maskMargins:!1,useIframeShim:!1,destroyOnHide:!0},position:"absolute",width:250,height:250,horizontal:"center center",vertical:"center center",label:"",resize:!1,move:!0,limit:!1,close:!0,useKeyboard:!1,keys:{esc:"close"},keyboardMethods:{},collapsedClass:"jxDialogMin",collapseClass:"jxDialogCollapse",
menuClass:"jxDialogMenu",maximizeClass:"jxDialogMaximize",closeClass:"jxDialogClose",type:"dialog",template:'<div class="jxDialog"><div class="jxDialogTitle"><img class="jxDialogIcon" src="'+Jx.aPixel.src+'" alt="" title=""/><span class="jxDialogLabel"></span><div class="jxDialogControls"></div></div><div class="jxDialogContentContainer"><div class="jxDialogContent"></div></div></div>'},classes:new Hash({domObj:"jxDialog",title:"jxDialogTitle",domImg:"jxDialogIcon",domLabel:"jxDialogLabel",domControls:"jxDialogControls",
contentContainer:"jxDialogContentContainer",content:"jxDialogContent"}),keyboard:null,render:function(){this.isOpening=!1;this.firstShow=!0;this.options=$merge({parent:document.body},this.options,{position:"absolute"});this.parent();this.openOnLoaded=this.open.bind(this);this.options.parent=document.id(this.options.parent);this.domObj.setStyle("display","none");this.options.parent.adopt(this.domObj);if(this.options.move&&"undefined"!=typeof Drag){this.title.addClass("jxDialogMoveable");this.options.limit=
this.setDragLimit(this.options.limit);var a=this;new Drag(this.domObj,{handle:this.title,limit:this.options.limit,onBeforeStart:function(){this.stack()}.bind(this),onStart:function(){!a.options.modal&&a.options.parent.mask&&a.options.parent.mask(a.options.eventMaskOptions);a.contentContainer.setStyle("visibility","hidden");a.chrome.addClass("jxChromeDrag");if(a.options.limit){var b=a.options.limitOrig.getCoordinates(),d;for(d in b)window.console?console.log(d,b[d]):!1;this.options.limit=a.setDragLimit(a.options.limitOrig)}},
onDrag:function(){this.options.limit&&(this.value.now.x+a.options.width>=this.options.limit.x[1]&&(this.value.now.x=this.options.limit.x[1]-a.options.width,this.element.setStyle("left",this.value.now.x)),this.value.now.y+a.options.height>=this.options.limit.y[1]&&(this.value.now.y=this.options.limit.y[1]-a.options.height,this.element.setStyle("top",this.value.now.y)))},onComplete:function(){!this.options.modal&&this.options.parent.unmask&&this.options.parent.unmask();this.chrome.removeClass("jxChromeDrag");
this.contentContainer.setStyle("visibility","");var a=Math.max(this.chromeOffsets.left,parseInt(this.domObj.style.left,10)),d=Math.max(this.chromeOffsets.top,parseInt(this.domObj.style.top,10));this.options.horizontal=a+" left";this.options.vertical=d+" top";this.position(this.domObj,this.options.parent,this.options);this.options.left=parseInt(this.domObj.style.left,10);this.options.top=parseInt(this.domObj.style.top,10);this.options.closed||this.domObj.resize(this.options)}.bind(this)})}this.options.resize&&
"undefined"!=typeof Drag&&(this.resizeHandle=new Element("div",{"class":"jxDialogResize",title:this.getText({set:"Jx",key:"panel",value:"resizeTooltip"}),styles:{display:this.options.closed?"none":"block"}}),this.domObj.appendChild(this.resizeHandle),this.resizeHandleSize=this.resizeHandle.getSize(),this.resizeHandle.setStyles({bottom:this.resizeHandleSize.height,right:this.resizeHandleSize.width}),this.domObj.makeResizable({handle:this.resizeHandle,onStart:function(){!this.options.modal&&this.options.parent.mask&&
this.options.parent.mask(this.options.eventMaskOptions);this.contentContainer.setStyle("visibility","hidden");this.chrome.addClass("jxChromeDrag")}.bind(this),onDrag:function(){this.resizeChrome(this.domObj)}.bind(this),onComplete:function(){!this.options.modal&&this.options.parent.unmask&&this.options.parent.unmask();this.chrome.removeClass("jxChromeDrag");var a=this.domObj.getMarginBoxSize();this.options.width=a.width;this.options.height=a.height;this.layoutContent();this.domObj.resize(this.options);
this.contentContainer.setStyle("visibility","");this.fireEvent("resize");this.resizeChrome(this.domObj)}.bind(this)}));this.domObj.addEvent("mousedown",function(){this.stack()}.bind(this));this.initializeKeyboard()},resize:function(a,b,d){this.options.width=a;this.options.height=b;"none"!=this.domObj.getStyle("display")?(this.layoutContent(),this.domObj.resize(this.options),this.fireEvent("resize"),this.resizeChrome(this.domObj),d&&this.position(this.domObj,this.options.parent,this.options)):this.firstShow=
!1},sizeChanged:function(){this.options.closed||this.layoutContent()},toggleCollapse:function(a){$defined(a)?this.options.closed=a:this.options.closed=!this.options.closed;this.options.closed?(this.domObj.hasClass(this.options.collapsedClass)||this.domObj.addClass(this.options.collapsedClass),this.contentContainer.setStyle("display","none"),this.resizeHandle&&this.resizeHandle.setStyle("display","none")):(this.domObj.hasClass(this.options.collapsedClass)&&this.domObj.removeClass(this.options.collapsedClass),
this.contentContainer.setStyle("display","block"),this.resizeHandle&&this.resizeHandle.setStyle("display","block"));if(this.options.closed){a=this.domObj.measure(function(){return this.getSizes(["margin"],["top","bottom"]).margin});var b=this.title.getMarginBoxSize();this.domObj.resize({height:a.top+b.height+a.bottom});this.fireEvent("collapse")}else this.domObj.resize(this.options),this.fireEvent("expand");this.showChrome(this.domObj)},maximize:function(){if(this.maximized)this.options=$merge(this.options,
this.previousSettings),this.domObj.resize(this.options),this.fireEvent("resize"),this.resizeChrome(this.domObj),this.maximized=!1,this.domObj.hasClass("jxDialogMaximized")&&this.domObj.removeClass("jxDialogMaximized"),this.fireEvent("restore");else{var a=this.options.parent,a=a===document.body?Jx.getPageDimensions():a.getBorderBoxSize();this.previousSettings={width:this.options.width,height:this.options.height,horizontal:this.options.horizontal,vertical:this.options.vertical,left:this.options.left,
right:this.options.right,top:this.options.top,bottom:this.options.bottom};this.options.width=a.width;this.options.height=a.height;this.options.vertical="0 top";this.options.horizontal="0 left";this.options.right=0;this.options.left=0;this.options.top=0;this.options.bottom=0;this.domObj.resize(this.options);this.fireEvent("resize");this.resizeChrome(this.domObj);this.maximized=!0;this.domObj.addClass("jxDialogMaximized");this.fireEvent("maximize")}},show:function(){this.domObj.setStyles({display:"block",
visibility:"hidden"});this.toolbar.update();if(this.options.modal&&this.options.parent.mask){var a=$merge(this.options.maskOptions||{},{style:{"z-index":Jx.getNumber(this.domObj.getStyle("z-index"))-1}});this.options.parent.mask(a);Jx.Stack.stack(this.options.parent.get("mask").element)}this.stack();if(this.options.closed){var a=this.domObj.measure(function(){return this.getSizes(["margin"],["top","bottom"]).margin}),b=this.title.getMarginBoxSize();this.domObj.resize({height:a.top+b.height+a.bottom})}else this.domObj.resize(this.options);
this.firstShow&&(this.contentContainer.resize({forceResize:!0}),this.layoutContent(),this.firstShow=!1,this.chrome&&(this.chrome.dispose(),this.chrome=null));this.showChrome(this.domObj);this.position(this.domObj,this.options.parent,this.options);this.domObj.setStyle("visibility","visible")},hide:function(){this.domObj.setStyle("display","none");this.unstack();this.options.modal&&this.options.parent.unmask&&(Jx.Stack.unstack(this.options.parent.get("mask").element),this.options.parent.unmask());this.options.useKeyboard&&
null!=this.keyboard&&this.keyboard.deactivate()},openURL:function(a){a?(this.options.contentURL=a,this.options.content=null,this.setBusy(),this.loadContent(this.content),this.addEvent("contentLoaded",this.openOnLoaded)):this.open()},open:function(){this.isOpening||(this.isOpening=!0);!this.contentIsLoaded&&this.options.loadOnDemand&&this.loadContent(this.content);this.contentIsLoaded?(this.removeEvent("contentLoaded",this.openOnLoaded),this.show(),this.fireEvent("open",this),this.isOpening=!1):this.addEvent("contentLoaded",
this.openOnLoaded);this.options.useKeyboard&&null!=this.keyboard&&this.keyboard.activate()},close:function(){this.isOpening=!1;this.hide();this.fireEvent("close")},cleanup:function(){},isOpen:function(){return!("none"===this.domObj.getStyle("display")||"hidden"===this.domObj.getStyle("visibility"))},changeText:function(a){this.parent();$defined(this.maxM)&&(this.maximize?this.maxM.setLabel(this.getText({set:"Jx",key:"panel",value:"restoreLabel"})):this.maxM.setLabel(this.getText({set:"Jx",key:"panel",
value:"maximizeLabel"})));$defined(this.resizeHandle)&&this.resizeHandle.set("title",this.getText({set:"Jx",key:"dialog",value:"resizeTooltip"}));this.toggleCollapse(!1)},initializeKeyboard:function(){if(this.options.useKeyboard){var a=this;this.keyboardEvents={};this.keyboardMethods={close:function(b){b.preventDefault();a.close()}};this.keyboard=new Keyboard({events:this.getKeyboardEvents()})}},getKeyboardEvents:function(){for(var a in this.options.keys)$defined(this.keyboardEvents[a])||($defined(this.keyboardMethods[this.options.keys[a]])?
this.keyboardEvents[a]=this.keyboardMethods[this.options.keys[a]]:$defined(this.options.keyboardMethods[this.options.keys[a]])?this.keyboardEvents[a]=this.options.keyboardMethods[this.options.keys[a]].bind(this):"function"==Jx.type(this.options.keys[a])?this.keyboardEvents[a]=this.options.keys[a].bind(this):!1!=this.options.keyboardMethods[this.options.keys[a]]&&($defined(console)?console.warn("keyboard method %o not defined for %o",this.options.keys[a],this):!1));return this.keyboardEvents},setDragLimit:function(a){$defined(a)&&
(this.options.limit=a);a=null!=this.options.limit?Jx.type(this.options.limit):!1;if(this.options.limit&&"object"!=a){var b=!1;switch(a){case "string":document.id(this.options.limit)&&(b=document.id(this.options.limit).getCoordinates());break;case "element":case "document":case "window":b=this.options.limit.getCoordinates()}b?(this.options.limitOrig=this.options.limit,this.options.limit={x:[b.left,b.right],y:[b.top,b.bottom]}):this.options.limit=!1}return this.options.limit},shouldLoadContent:function(){return!this.options.loadOnDemand}});
Jx.Splitter=new Class({Family:"Jx.Splitter",Extends:Jx.Object,domObj:null,elements:null,bars:null,firstUpdate:!0,options:{useChildren:!1,splitInto:2,elements:null,containerOptions:[],barOptions:[],layout:"horizontal",snaps:[],onStart:null,onFinish:null},parameters:["domObj","options"],init:function(){this.domObj=document.id(this.options.domObj);this.domObj.addClass("jxSplitContainer");var a=this.domObj.retrieve("jxLayout");a&&a.addEvent("sizeChange",this.sizeChanged.bind(this));this.elements=[];this.bars=
[];var b=2;if(this.options.useChildren)this.elements=this.domObj.getChildren(),b=this.elements.length;else for(b=this.options.elements?this.options.elements.length:this.options.splitInto,a=0;a<b;a++){var d;this.options.elements&&this.options.elements[a]?(d=this.options.elements[a].domObj?this.options.elements[a].domObj:document.id(this.options.elements[a]),d||(d=this.prepareElement(),d.id=this.options.elements[a])):d=this.prepareElement();this.elements[a]=d;this.domObj.adopt(this.elements[a])}this.elements.each(function(a){a.addClass("jxSplitArea")});
for(a=0;a<b;a++)(d=this.elements[a].retrieve("jxLayout"))?this.options.containerOptions[a]?d.resize($merge(this.options.containerOptions[a],{position:"absolute"})):d.resize({position:"absolute"}):new Jx.Layout(this.elements[a],this.options.containerOptions[a]);for(a=1;a<b;a++)d=this.options.prepareBar?this.options.prepareBar(a-1):this.prepareBar(),d.store("splitterObj",this),d.store("leftSide",this.elements[a-1]),d.store("rightSide",this.elements[a]),this.elements[a-1].store("rightBar",d),this.elements[a].store("leftBar",
d),this.domObj.adopt(d),this.bars[a-1]=d;$defined(Drag)&&this.establishConstraints();for(a=0;a<this.options.barOptions.length;a++)if(this.bars[a]&&(d=this.options.barOptions[a])&&d.snap&&("before"==d.snap||"after"==d.snap)){var e;"before"==d.snap?e=this.bars[a].retrieve("leftSide"):"after"==d.snap&&(e=this.bars[a].retrieve("rightSide"));d.snapElement?(b=d.snapElement,d=d.snapEvents||["click","dblclick"]):(b=this.bars[a],d=d.snapEvents||["dblclick"]);b.parentNode||this.bars[a].adopt(b);new Jx.Splitter.Snap(b,
e,this,d)}for(a=0;a<this.options.snaps.length;a++)this.options.snaps[a]&&new Jx.Splitter.Snap(this.options.snaps[a],this.elements[a],this);this.sizeChanged()},prepareElement:function(){return new Element("div",{styles:{position:"absolute"}})},prepareBar:function(){return new Element("div",{"class":"jxSplitBar"+this.options.layout.capitalize(),title:this.getText({set:"Jx",key:"splitter",value:"barToolTip"})})},establishConstraints:function(){var a={x:null,y:null},b;"horizontal"==this.options.layout?
(a.x="left",b=this.dragHorizontal):(a.y="top",b=this.dragVertical);"undefined"!=typeof Drag&&this.bars.each(function(d){var e;new Drag(d,{modifiers:a,onSnap:function(a){a.addClass("jxSplitBarDrag");this.fireEvent("snap",[a])}.bind(this),onCancel:function(a){e.destroy();this.fireEvent("cancel",[a])}.bind(this),onDrag:function(a,b){this.fireEvent("drag",[a,b])}.bind(this),onComplete:function(a){e.destroy();a.removeClass("jxSplitBarDrag");a.retrieve("splitterObj")==this&&(b.apply(this,[a]),this.fireEvent("complete",
[a]),this.fireEvent("finish",[a]))}.bind(this),onBeforeStart:function(a){this.fireEvent("beforeStart",[a]);e=(new Element("div",{"class":"jxSplitterMask"})).inject(a,"after")}.bind(this),onStart:function(a,b){this.fireEvent("start",[a,b])}.bind(this)})},this)},dragHorizontal:function(a){var b=parseInt(a.style.left,10),d=a.retrieve("leftSide"),e=a.retrieve("rightSide"),f=d.retrieve("jxLayout"),g=e.retrieve("jxLayout"),h=this.domObj.measure(function(){return this.getSizes(["padding"],["left"]).padding.left}),
l,m,q=a.retrieve("size");q||(q=a.getBorderBoxSize(),a.store("size",q));l=b+q.width-h;b=this.domObj.getContentBoxSize();null!=g.options.width?(m=g.options.width+g.options.left-l,l=b.width-l-m):(m=b.width-g.options.right-l,l=g.options.right);0>m&&(m=0);m<g.options.minWidth&&(m=g.options.minWidth);0<=g.options.maxWidth&&m>g.options.maxWidth&&(m=g.options.maxWidth);l=b.width-l-m;var b=l-q.width,r,u;r=f.options.left;u=b-r;0>u&&(u=0);u<f.options.minWidth&&(u=f.options.minWidth);0<=f.options.maxWidth&&u>
f.options.maxWidth&&(u=f.options.maxWidth);r+u!=b&&(b=r+u,q=b+q.width-l,l+=q,m-=q);a.style.left=h+b+"px";null==f.options.width?(b=this.domObj.getContentBoxSize(),d.resize({right:b.width-r-u})):d.resize({width:u});null==g.options.width?e.resize({left:l}):e.resize({left:l,width:m})},dragVertical:function(a){var b=parseInt(a.style.top,10),d=a.retrieve("leftSide"),e=a.retrieve("rightSide"),f=d.retrieve("jxLayout"),g=e.retrieve("jxLayout"),h=this.domObj.measure(function(){return this.getSizes(["padding"],
["top"]).padding.top}),l=a.retrieve("size");l||(l=a.getBorderBoxSize(),a.store("size",l));var m=this.domObj.getContentBoxSize(),q,r;q=b+l.height-h;null!=g.options.height?(r=g.options.height+g.options.top-q,b=m.height-q-r):(r=m.height-g.options.bottom-q,b=g.options.bottom);0>r&&(r=0);r<g.options.minHeight&&(r=g.options.minHeight);0<=g.options.maxHeight&&r>g.options.maxHeight&&(r=g.options.maxHeight);q=m.height-b-r;var b=q-l.height,u,z;u=f.options.top;z=b-u;0>z&&(z=0);z<f.options.minHeight&&(z=f.options.minHeight);
0<=f.options.maxHeight&&z>f.options.maxHeight&&(z=f.options.maxHeight);u+z!=b&&(b=u+z,l=b+l.height-q,q+=l,r-=l);a.style.top=h+b+"px";null==f.options.height?d.resize({bottom:m.height-u-z}):d.resize({height:z});null==g.options.height?e.resize({top:q}):e.resize({top:q,height:r})},sizeChanged:function(){"horizontal"==this.options.layout?this.horizontalResize():this.verticalResize()},horizontalResize:function(){var a=this.domObj.getContentBoxSize().width,b=a,d,e,f;for(d=0;d<this.bars.length;d++){var g=
this.bars[d],h=g.retrieve("size");h&&0!=h.width||(h=g.getBorderBoxSize(),g.store("size",h));a-=h.width}var l=g=0;for(d=0;d<this.elements.length;d++)if(e=this.elements[d],f=e.retrieve("jxLayout").options,null!=f.width)a-=parseInt(f.width,10);else{l=0;if(0!=f.right||0!=f.left)l=e.getBorderBoxSize().width;a-=l;g++}0==g&&(a+=f.width,f.width=null,g=1);var h=parseInt(a/g,10),a=a%g,m=this.domObj.measure(function(){return this.getSizes(["padding"],["left"]).padding.left}),q=0;for(d=0;d<this.elements.length;d++){e=
this.elements[d];var r=e.retrieve("jxLayout");f=r.options;null!=f.width?(r.resize({left:q}),q+=f.width):(l=h,1==g&&(l+=a),g--,l=0!=f.right||0!=f.left?e.getBorderBoxSize().width+l:l,0>l&&(0<g&&(h+=l/g),l=0),l<f.minWidth&&(0<g&&(h+=(l-f.minWidth)/g),l=f.minWidth),0<=f.maxWidth&&l>f.maxWidth&&(0<g&&(h+=(l-f.maxWidth)/g),l=e.options.maxWidth),r.resize({left:q,right:b-q-l}),q+=l);if(f=e.retrieve("rightBar"))f.setStyle("left",m+q),q+=f.retrieve("size").width}},verticalResize:function(){var a=this.domObj.getContentBoxSize().height,
b=a,d,e,f;for(d=0;d<this.bars.length;d++){var g=this.bars[d],h=g.retrieve("size");h&&0!=h.height||(h=g.getBorderBoxSize(),g.store("size",h));a-=h.height}var l=g=0;for(d=0;d<this.elements.length;d++)if(e=this.elements[d],f=e.retrieve("jxLayout").options,null!=f.height)a-=parseInt(f.height,10);else{if(0!=f.bottom||0!=f.top)l=e.getBorderBoxSize().height;a-=l;g++}0==g&&(a+=f.height,f.height=null,g=1);var h=parseInt(a/g,10),a=a%g,m=this.domObj.measure(function(){return this.getSizes(["padding"],["top"]).padding.top}),
q=0;for(d=0;d<this.elements.length;d++){e=this.elements[d];var r=e.retrieve("jxLayout");f=r.options;if(null!=f.height)r.resize({top:q}),q+=f.height;else{var u=h;1==g&&(u+=a);g--;l=0;l=0!=f.bottom||0!=f.top?e.getBorderBoxSize().height+u:u;0>l&&(0<g&&(h+=l/g),l=0);l<f.minHeight&&(0<g&&(h+=(l-f.minHeight)/g),l=f.minHeight);0<=f.maxHeight&&l>f.maxHeight&&(0<g&&(h+=(l-f.maxHeight)/g),l=f.maxHeight);r.resize({top:q,bottom:b-q-l});q+=l}if(f=e.retrieve("rightBar"))f.style.top=m+q+"px",q+=f.retrieve("size").height}},
changeText:function(a){this.parent();this.bars.each(function(a){document.id(a).set("title",this.getText({set:"Jx",key:"splitter",value:"barToolTip"}))},this)}});
Jx.PanelSet=new Class({Family:"Jx.PanelSet",Extends:Jx.Widget,options:{parent:null,panels:[]},panels:null,height:null,firstLayout:!0,render:function(){this.options.panels&&(this.panels=this.options.panels,this.options.panels=null);this.domObj=new Element("div");new Jx.Layout(this.domObj);var a=new Element("div",{styles:{position:"absolute"}});new Jx.Layout(a,{minHeight:0,maxHeight:0,height:0});var b=[a];this.panels.each(function(a){b.push(a.domObj);a.options.hideTitle=!0;a.contentContainer.resize({top:0});
a.toggleCollapse=this.maximizePanel.bind(this,a);a.domObj.store("Jx.Panel",a);a.manager=this},this);this.splitter=new Jx.Splitter(this.domObj,{splitInto:this.panels.length+1,layout:"vertical",elements:b,prepareBar:function(a){var b=new Element("div",{"class":"jxPanelBar",title:this.getText({set:"Jx",key:"panelset",value:"barToolTip"})});a=this.panels[a];a.title.setStyle("visibility","hidden");document.id(document.body).adopt(a.title);var f=a.title.getBorderBoxSize();b.adopt(a.title);a.title.setStyle("visibility",
"");b.setStyle("height",f.height);b.store("size",f);return b}.bind(this)});this.addEvent("addTo",function(){document.id(this.domObj.parentNode).setStyle("overflow","hidden");this.domObj.resize()});this.options.parent&&this.addTo(this.options.parent)},maximizePanel:function(a){var b=this.domObj.getContentBoxSize().height,d=b,e=a.domObj.retrieve("jxLayout").options.maxHeight,f,g,h,l;for(f=1;f<this.splitter.elements.length;f++)g=this.splitter.elements[f],d-=g.retrieve("leftBar").getBorderBoxSize().height,
g!==a.domObj&&(g.retrieve("Jx.Panel"),h=g.retrieve("jxLayout").options,d-=h.minHeight);-1==e||e>=d?(e=d,d=0):d-=e;var m=0;for(f=1;f<this.splitter.elements.length;f++)if(g=this.splitter.elements[f],m+=g.retrieve("leftBar").getBorderBoxSize().height,g!==a.domObj)g.retrieve("Jx.Panel"),h=g.retrieve("jxLayout").options,l=$chk(h.height)?h.height:g.getBorderBoxSize().height,0<d?d>=l?(d-=l,g.resize({top:m,height:l}),m+=l):d>h.minHeight?(g.resize({top:m,height:d}),m+=d,d=0):(g.resize({top:m,height:h.minHeight}),
m+=h.minHeight):(g.resize({top:m,height:h.minHeight}),m+=h.minHeight),g.retrieve("rightBar").style.top=m+"px";else break;for(f=this.splitter.elements.length-1;0<f;f--)if(g=this.splitter.elements[f],g!==a.domObj)h=g.retrieve("jxLayout").options,l=$chk(h.height)?h.height:g.getBorderBoxSize().height,0<d?d>=l?(b-=l,d-=l,g.resize({top:b,height:l})):d>h.minHeight?(b-=d,g.resize({top:b,height:d}),d=0):(b-=h.minHeight,g.resize({top:b,height:h.minHeight})):(b-=h.minHeight,g.resize({top:b,height:h.minHeight,
bottom:null})),b-=g.retrieve("leftBar").getBorderBoxSize().height,g.retrieve("leftBar").style.top=b+"px";else break;a.domObj.resize({top:m,height:e,bottom:null});this.fireEvent("panelMaximize",a)},createText:function(a){this.parent()}});
Jx.Dialog.Message=new Class({Family:"Jx.Dialog.Message",Extends:Jx.Dialog,Binds:["onOk"],options:{message:"",width:300,height:150,close:!0,resize:!0,collapse:!1,useKeyboard:!0,keys:{enter:"ok"}},render:function(){this.buttons=new Jx.Toolbar({position:"bottom",scroll:!1});this.ok=new Jx.Button({label:this.getText({set:"Jx",key:"message",value:"okButton"}),onClick:this.onOk});this.buttons.add(this.ok);this.options.toolbars=[this.buttons];var a=Jx.type(this.options.message);if("string"===a||"object"==
a||"element"==a)switch(this.question=new Element("div",{"class":"jxMessage"}),a){case "string":case "object":this.question.set("html",this.getText(this.options.message));break;case "element":this.options.message.inject(this.question)}else this.question=this.options.question,document.id(this.question).addClass("jxMessage");this.options.content=this.question;if(this.options.useKeyboard){var b=this;this.options.keyboardMethods.ok=function(a){a.preventDefault();b.close()}}this.parent();this.options.useKeyboard&&
this.keyboard.addEvents(this.getKeyboardEvents())},onOk:function(){this.close()},setMessage:function(a){this.options.message=a;$defined(this.question)&&this.question.set("html",this.getText(a))},changeText:function(a){this.parent();$defined(this.ok)&&this.ok.setLabel({set:"Jx",key:"message",value:"okButton"});"object"===Jx.type(this.options.message)&&this.question.set("html",this.getText(this.options.message))}});
Jx.Dialog.Confirm=new Class({Extends:Jx.Dialog,options:{question:"",useKeyboard:!0,keys:{esc:"cancel",enter:"ok"},width:300,height:150,close:!1,resize:!0,collapse:!1},keyboard:null,render:function(){this.buttons=new Jx.Toolbar({position:"bottom",scroll:!1});this.ok=new Jx.Button({label:this.getText({set:"Jx",key:"confirm",value:"affirmativeLabel"}),onClick:this.onClick.bind(this,!0)});this.cancel=new Jx.Button({label:this.getText({set:"Jx",key:"confirm",value:"negativeLabel"}),onClick:this.onClick.bind(this,
!1)});this.buttons.add(this.ok,this.cancel);this.options.toolbars=[this.buttons];var a=Jx.type(this.options.question);if("string"===a||"object"===a||"element"==a)switch(this.question=new Element("div",{"class":"jxConfirmQuestion"}),a){case "string":case "object":this.question.set("html",this.getText(this.options.question));break;case "element":this.options.question.inject(this.question)}else this.question=this.options.question,document.id(this.question).addClass("jxConfirmQuestion");this.options.content=
this.question;if(this.options.useKeyboard){var b=this;this.options.keyboardMethods.ok=function(a){a.preventDefault();b.onClick(!0)};this.options.keyboardMethods.cancel=function(a){a.preventDefault();b.onClick(!1)}}this.parent();this.options.useKeyboard&&this.keyboard.addEvents(this.getKeyboardEvents())},onClick:function(a){this.isOpening=!1;this.hide();this.fireEvent("close",[this,a])},changeText:function(a){this.parent();$defined(this.ok)&&this.ok.setLabel({set:"Jx",key:"confirm",value:"affirmativeLabel"});
$defined(this.cancel)&&this.cancel.setLabel({set:"Jx",key:"confirm",value:"negativeLabel"});"object"===Jx.type(this.options.question)&&this.question.set("html",this.getText(this.options.question))}});
Jx.Tooltip=new Class({Family:"Jx.Widget",Extends:Jx.Widget,Binds:["enter","leave","move"],options:{offsets:{x:15,y:15},showDelay:100,cssClass:null},parameters:["target","tip","options"],render:function(){this.parent();this.target=document.id(this.options.target);this.target.retrieve("Tip")&&this.target.eliminate("Tip");this.domObj=(new Element("div",{styles:{position:"absolute",top:0,left:0,visibility:"hidden"}})).inject(document.body);"string"===Jx.type(this.options.tip)||"object"==Jx.type(this.options.tip)?
this.domObj.set("html",this.getText(this.options.tip)):this.domObj.grab(this.options.tip);this.domObj.addClass("jxTooltip");$defined(this.options.cssClass)&&this.domObj.addClass(this.options.cssClass);this.options.target.store("Tip",this);this.options.target.addEvent("mouseenter",this.enter);this.options.target.addEvent("mouseleave",this.leave);this.options.target.addEvent("mousemove",this.move)},enter:function(a){this.timer=$clear(this.timer);this.timer=function(){this.domObj.setStyle("visibility",
"visible");this.position(a)}.delay(this.options.delay,this)},leave:function(a){this.timer=$clear(this.timer);this.timer=function(){this.domObj.setStyle("visibility","hidden")}.delay(this.options.delay,this)},move:function(a){this.position(a)},position:function(a){var b=window.getSize(),d=window.getScroll(),e=this.domObj.getMarginBoxSize(),f=this.domObj.offsetWidth,g=a.page.x+this.options.offsets.x,h=a.page.y+this.options.offsets.y;a.page.y+this.options.offsets.y+this.domObj.offsetHeight+e.height-
d.y>b.y&&(h=a.page.y-this.options.offsets.y-e.height-d.y);a.page.x+this.options.offsets.x+f+e.width-d.x>b.x&&(g=a.page.x-this.options.offsets.x-e.width-d.x);this.domObj.setStyle("top",h);this.domObj.setStyle("left",g)},detach:function(){this.target.eliminate("Tip");this.destroy()}});
Jx.Fieldset=new Class({Family:"Jx.Fieldset",Extends:Jx.Widget,options:{legend:null,id:null,fieldsetClass:null,legendClass:null,template:'<fieldset class="jxFieldset"><legend><span class="jxFieldsetLegend"></span></legend></fieldset>',form:null},classes:new Hash({domObj:"jxFieldset",legend:"jxFieldsetLegend"}),legend:null,render:function(){this.parent();this.id=this.options.id;$defined(this.options.form)&&this.options.form instanceof Jx.Form&&(this.form=this.options.form);this.domObj&&($defined(this.options.id)&&
this.domObj.set("id",this.options.id),$defined(this.options.fieldsetClass)&&this.domObj.addClass(this.options.fieldsetClass));this.legend&&($defined(this.options.legend)?(this.legend.set("html",this.getText(this.options.legend)),$defined(this.options.legendClass)&&this.legend.addClass(this.options.legendClass)):this.legend.destroy())},add:function(){for(var a,b=0;b<arguments.length;b++)a=arguments[b],$defined(a.jxFamily)&&!$defined(a.form)&&$defined(this.form)&&(a.form=this.form,this.form.addField(a)),
this.domObj.grab(a);return this},addTo:function(a){a instanceof Jx.Form?this.form=a:a instanceof Jx.Fieldset&&(this.form=a.form);return this.parent(a)}});
Jx.Form=new Class({Family:"Jx.Form",Extends:Jx.Widget,options:{method:"post",action:"",fileUpload:!1,formClass:null,name:"",acceptCharset:"utf-8",uploadFilesFirst:!1,template:'<form class="jxForm"></form>'},defaultAction:null,fields:null,pluginNamespace:"Form",classes:$H({domObj:"jxForm"}),init:function(){this.parent();this.fields=new Hash;this.data={}},render:function(){this.parent();this.domObj.set({method:this.options.method,action:this.options.action,name:this.options.name,"accept-charset":this.options.acceptCharset,
events:{keypress:function(a){"enter"==a.key&&"TEXTAREA"!=a.target.tagName&&this.defaultAction&&this.defaultAction.click&&(document.id(this.defaultAction).focus(),this.defaultAction.click(),a.stop())}.bind(this)}});this.options.fileUpload&&this.domObj.set("enctype","multipart/form-data");$defined(this.options.formClass)&&this.domObj.addClass(this.options.formClass)},addField:function(a){this.fields.set(a.id,a);a.options.defaultAction&&(this.defaultAction=a)},isValid:function(a){return!0},getValues:function(a){var b=
this.domObj.toQueryString();return $defined(a)&&a?b:b.parseQueryString()},setValues:function(a){"object"===Jx.type(a)&&(a=new Hash(a));this.fields.each(function(b){b.setValue(a.get(b.name))},this)},add:function(){for(var a,b=0;b<arguments.length;b++)a=arguments[b],a instanceof Jx.Field&&!$defined(a.form)?(a.form=this,this.addField(a)):a instanceof Jx.Fieldset&&!$defined(a.form)&&(a.form=this),this.domObj.grab(a);return this},reset:function(){this.fields.each(function(a,b){a.reset()},this);this.fireEvent("reset",
this)},getFieldsByName:function(a){var b=[];this.fields.each(function(d,e){d.name===a&&b.push(d)},this);return b},getField:function(a){return this.fields.has(a)?this.fields.get(a):null},setBusy:function(a){this.busy!=a&&(this.parent(a),this.fields.each(function(b){b.setBusy(a,!0)}))},submit:function(){this.options.fileUpload&&this.findFiles().each(function(a){var b=a.getFileInputs();1<b.length&&b.each(function(a){a.set("name",a.get("name")+"[]")},this);a.destroy();this.domObj.adopt(b)},this);this.domObj.submit()},
ajaxSubmit:function(){var a=this.options;if(a.fileUpload){var b=this.findFiles();this.files=b.length;this.completed=0;b.each(function(b,e){b.addEvent("onFileUploadComplete",this.fileUploadComplete.bind(this));e!=this.files-1||a.uploadFilesFirst?b.upload():b.upload(this)},this)}else this.submitForm()},submitForm:function(){var a=this.getValues();(new Request.JSON({url:this.action,method:this.method,data:a,urlEncoded:!0,onSuccess:function(a,d){this.fileUploadComplete(a,!0)}.bind(this)})).send()},findFiles:function(){var a=
[];this.fields.each(function(b){b instanceof Jx.Field.File&&a.push(b)},this);return a},fileUploadComplete:function(a){this.completed++;$each(a,function(a,d){this.data[d]=a},this);this.completed==this.files&&this.options.uploadFilesFirst?this.submitForm():this.fireEvent("formSubmitComplete",[this.data])}});
Jx.Field=new Class({Family:"Jx.Field",Extends:Jx.Widget,pluginNamespace:"Field",Binds:["changeText"],options:{id:null,name:null,label:null,labelSeparator:":",value:null,tag:null,tip:null,template:null,containerClass:null,labelClass:null,fieldClass:null,tagClass:null,required:!1,readonly:!1,disabled:!1,defaultAction:!1},overtextOptions:{element:"label"},field:null,label:null,tag:null,id:null,overText:null,type:"field",classes:new Hash({domObj:"jxInputContainer",label:"jxInputLabel",tag:"jxInputTag"}),
render:function(){this.classes.set("field","jxInput"+this.type);var a=$defined(this.options.name)?this.options.name:"";this.options.template=this.options.template.substitute({name:a});this.parent();this.id=this.generateId();this.name=this.options.name;$defined(this.type)&&this.domObj.addClass("jxInputContainer"+this.type);$defined(this.options.containerClass)&&this.domObj.addClass(this.options.containerClass);$defined(this.options.required)&&this.options.required&&(this.domObj.addClass("jxFieldRequired"),
$defined(this.options.validatorClasses)?this.options.validatorClasses="required "+this.options.validatorClasses:this.options.validatorClasses="required");this.field&&($defined(this.options.fieldClass)&&this.field.addClass(this.options.fieldClass),$defined(this.options.value)&&this.field.set("value",this.options.value),this.field.set("id",this.id),$defined(this.options.readonly)&&this.options.readonly&&(this.field.set("readonly","readonly"),this.field.addClass("jxFieldReadonly")),$defined(this.options.disabled)&&
this.options.disabled&&(this.field.set("disabled","disabled"),this.field.addClass("jxFieldDisabled")),this.field.addEvents({focus:this.onFocus.bind(this),blur:this.onBlur.bind(this),change:this.onChange.bind(this)}),this.field.store("field",this),this.label&&this.label.addEvent("click",function(){this.field.focus()}.bind(this)));this.label&&($defined(this.options.labelClass)&&this.label.addClass(this.options.labelClass),$defined(this.options.label)&&this.label.set("html",this.getText(this.options.label)+
this.options.labelSeparator),this.label.set("for",this.id),this.options.required&&(this.requiredText=new Element("em",{html:this.getText({set:"Jx",key:"field",value:"requiredText"}),"class":"required"}),this.requiredText.inject(this.label)));this.tag&&($defined(this.options.tagClass)&&this.tag.addClass(this.options.tagClass),$defined(this.options.tag)&&this.tag.set("html",this.options.tag));$defined(this.options.form)&&this.options.form instanceof Jx.Form&&(this.form=this.options.form,this.form.addField(this))},
setValue:function(a){this.options.readonly||this.field.set("value",a)},getValue:function(){return this.field.get("value")},reset:function(){this.setValue(this.options.value);this.fireEvent("reset",this)},disable:function(){this.options.disabled=!0;this.field.set("disabled","disabled");this.field.addClass("jxFieldDisabled")},enable:function(){this.options.disabled=!1;this.field.erase("disabled");this.field.removeClass("jxFieldDisabled")},addTo:function(a,b){a instanceof Jx.Fieldset||a instanceof Jx.Form?
a.add(this):this.parent(a,b);return this},changeText:function(a){this.parent();$defined(this.options.label)&&this.label&&this.label.set("html",this.getText(this.options.label)+this.options.labelSeparator);this.options.required&&(this.requiredText=new Element("em",{html:this.getText({set:"Jx",key:"field",value:"requiredText"}),"class":"required"}),this.requiredText.inject(this.label));$defined(this.requiredText)&&this.requiredText.set("html",this.getText({set:"Jx",key:"field",value:"requiredText"}))},
onFocus:function(){this.fireEvent("focus",this)},onBlur:function(){this.fireEvent("blur",this)},onChange:function(){this.fireEvent("change",this)},setBusy:function(a,b){b||this.parent(a);this.field.set("readonly",a||this.options.readonly)}});
Jx.Field.Text=new Class({Extends:Jx.Field,options:{overText:null,template:'<span class="jxInputContainer"><label class="jxInputLabel"></label><input class="jxInputText" type="text" name="{name}"/><span class="jxInputTag"></span></span>'},type:"Text",render:function(){this.parent();if($defined(this.options.overText)){var a=$extend({},this.options.overText);this.field.set("alt",this.options.tip);this.overText=new OverText(this.field,a);this.overText.show()}}});
Jx.Dialog.Prompt=new Class({Extends:Jx.Dialog,options:{prompt:"",startingValue:"",fieldOptions:{type:"Text",options:{},validate:!0,validatorOptions:{validators:["required"],validateOnBlur:!0,validateOnChange:!1},showErrorMsg:!0},width:400,height:200,close:!0,resize:!0,collapse:!1,useKeyboard:!0,keys:{esc:"cancel",enter:"ok"}},render:function(){this.buttons=new Jx.Toolbar({position:"bottom",scroll:!1});this.ok=new Jx.Button({label:this.getText({set:"Jx",key:"prompt",value:"okButton"}),onClick:this.onClick.bind(this,
!0)});this.cancel=new Jx.Button({label:this.getText({set:"Jx",key:"prompt",value:"cancelButton"}),onClick:this.onClick.bind(this,!1)});this.buttons.add(this.ok,this.cancel);this.options.toolbars=[this.buttons];var a=this.options.fieldOptions;a.options.label=this.getText(this.options.prompt);a.options.value=this.options.startingValue;a.options.containerClass="jxPrompt";"string"===Jx.type(a.type)&&$defined(Jx.Field[a.type.capitalize()])?this.field=new (Jx.Field[a.type.capitalize()])(a.options):"Jx.Object"===
Jx.type(a.type)?this.field=a.type:(window.console?console.warn("Field type does not exist %o, using Jx.Field.Text",a.type):!1,this.field=new Jx.Field.Text(a.options));this.options.fieldOptions.validate&&(this.validator=new Jx.Plugin.Field.Validator(this.options.fieldOptions.validatorOptions),this.validator.attach(this.field));this.options.content=document.id(this.field);if(this.options.useKeyboard){var b=this;this.options.keyboardMethods.ok=function(a){a.preventDefault();b.onClick(!0)};this.options.keyboardMethods.cancel=
function(a){a.preventDefault();b.onClick(!1)}}this.parent();this.options.useKeyboard&&this.keyboard.addEvents(this.getKeyboardEvents())},onClick:function(a){a&&$defined(this.validator)?this.validator.isValid()?(this.isOpening=!1,this.hide(),this.fireEvent("close",[this,a,this.field.getValue()])):this.field.field.focus.delay(50,this.field.field):(this.isOpening=!1,this.hide(),this.fireEvent("close",[this,a,this.field.getValue()]))},changeText:function(a){this.parent();$defined(this.ok)&&this.ok.setLabel({set:"Jx",
key:"prompt",value:"okButton"});$defined(this.cancel)&&this.cancel.setLabel({set:"Jx",key:"prompt",value:"cancelButton"});this.field.label.set("html",this.getText(this.options.prompt))}});
Jx.Panel.DataView=new Class({Extends:Jx.Panel,options:{data:null,sortColumns:null,itemTemplate:null,emptyTemplate:null,containerClass:null,itemClass:null,listOptions:{select:!0,hover:!0}},init:function(){this.domA=new Element("div");this.list=this.createList(this.domA,this.options.listOptions);this.parent()},render:function(){$defined(this.options.data)&&(this.options.content=this.domA,this.parent(),this.domA.addClass(this.options.containerClass),this.itemCols=this.parseTemplate(this.options.itemTemplate),
this.bound.update=this.update.bind(this),this.options.data.addEvent("storeDataLoaded",this.bound.update),this.options.data.addEvent("storeSortFinished",this.bound.update),this.options.data.addEvent("storeDataLoadFailed",this.bound.update),this.options.data.loaded&&this.update())},draw:function(){var a=this.options.data.count();if($defined(a)&&0<a)for(var b=0;b<a;b++){this.options.data.moveTo(b);var d=this.createItem();this.list.add(d)}else new Element("div",{html:this.options.emptyTemplate}),this.list.add(d);
this.fireEvent("renderDone",this)},createItem:function(){var a={};this.itemCols.each(function(b){a[b]=this.options.data.get(b)},this);var b=this.options.itemTemplate.substitute(a);return new Element("div",{"class":this.options.itemClass,html:b})},update:function(){this.updating||(this.updating=!0,this.list.empty(),this.options.data.sort(this.options.sortColumns),this.draw(),this.updating=!1)},parseTemplate:function(a){var b=[];this.options.data.getColumns().each(function(d){a.contains("{"+d.name+
"}")&&b.push(d.name)},this);return b},enterItem:function(a,b){this.fireEvent("mouseenter",a,b)},leaveItem:function(a,b){this.fireEvent("mouseleave",a,b)},selectItem:function(a,b){this.fireEvent("select",a,b)},unselectItem:function(a,b){this.fireEvent("unselect",a,b)},addItem:function(a,b){this.fireEvent("add",a,b)},removeItem:function(a,b){this.fireEvent("remove",a,b)},createList:function(a,b){return new Jx.List(a,$extend({onMouseenter:this.enterItem.bind(this),onMouseleave:this.leaveItem.bind(this),
onSelect:this.selectItem.bind(this),onAdd:this.addItem.bind(this),onRemove:this.removeItem.bind(this),onUnselect:this.unselectItem.bind(this)},b))}});
Jx.Panel.DataView.Group=new Class({Extends:Jx.Panel.DataView,options:{groupTemplate:null,groupContainerClass:null,groupHeaderClass:null,listOptions:{select:!1,hover:!1},itemOptions:{select:!0,hover:!0,hoverClass:"jxItemHover",selectClass:"jxItemSelect"}},init:function(){this.groupCols=this.parseTemplate(this.options.groupTemplate);this.itemManager=new Jx.Selection({eventToFire:{select:"itemselect",unselect:"itemunselect"},selectClass:"jxItemSelected"});this.groupManager=new Jx.Selection({eventToFire:{select:"groupselect",
unselect:"groupunselect"},selectClass:"jxGroupSelected"});this.parent()},render:function(){this.list=this.createList(this.domA,this.listOptions,this.groupManager);this.parent()},draw:function(){var a=this.options.data,b=a.count();if($defined(b)&&0<b)for(var d="",e=null,f=0;f<b;f++){a.moveTo(f);var g=a.get(this.options.sortColumns[0]);if(g!==d){var d=new Element("div",{"class":this.options.groupContainerClass}),h=this.createList(d,{select:!1,hover:!1});this.list.add(h.container);var d=g,l={};this.groupCols.each(function(b){l[b]=
a.get(b)},this);e=this.options.groupTemplate.substitute(l);g=new Element("div",{"class":this.options.groupHeaderClass,html:e,id:"group-"+g.replace(" ","-","g")});h.add(g);g=new Element("div",{"class":this.options.containerClass});e=this.createList(g,this.options.itemOptions,this.itemManager);h.add(e.container)}h=this.createItem();e.add(h)}else b=new Element("div",{html:this.options.emptyTemplate}),this.list.add(b);this.fireEvent("renderDone",this)},createList:function(a,b,d){return new Jx.List(a,
$extend({onMouseenter:this.enterItem.bind(this),onMouseleave:this.leaveItem.bind(this),onAdd:this.addItem.bind(this),onRemove:this.removeItem.bind(this)},b),d)}});
Jx.ListItem=new Class({Family:"Jx.ListItem",Extends:Jx.Widget,options:{enabled:!0,template:'<li class="jxListItemContainer jxListItem"></li>'},classes:new Hash({domObj:"jxListItemContainer",domContent:"jxListItem"}),render:function(){this.parent();this.domContent.store("jxListItem",this);this.domObj.store("jxListTarget",this.domContent);this.loadContent(this.domContent)},enable:function(a){}});
Jx.ListView=new Class({Family:"Jx.Widget",Extends:Jx.Widget,pluginNamespace:"ListView",options:{template:'<ul class="jxListView jxList"></ul>',listOptions:{hover:!0,press:!0,select:!0}},classes:new Hash({domObj:"jxListView",listObj:"jxList"}),render:function(){this.parent();this.options.selection?this.selection=this.options.selection:this.options.select&&(this.selection=new Jx.Selection(this.options),this.ownsSelection=!0);this.list=new Jx.List(this.listObj,this.options.listOptions,this.selection)},
cleanup:function(){this.ownsSelection&&this.selection.destroy();this.list.destroy()},add:function(a,b){this.list.add(a,b);return this},remove:function(a){this.list.remove(a);return this},replace:function(a,b){this.list.replace(a,b);return this},empty:function(){this.list.empty();return this}});Jx.Field.Hidden=new Class({Extends:Jx.Field,options:{template:'<span class="jxInputContainer"><input class="jxInputHidden" type="hidden" name="{name}"/></span>'},type:"Hidden"});
Jx.Field.File=new Class({Extends:Jx.Field,options:{template:'<span class="jxInputContainer"><label class="jxInputLabel"></label><div class="jxFileInputs"><input class="jxInputFile" type="file" name="{name}" /></div><span class="jxInputTag"></span></span>',autoUpload:!1,progress:!1,progressIDUrl:"",progressName:"APC_UPLOAD_PROGRESS",progressId:"progress_key",handlerUrl:"",progressUrl:"",debug:!1,mode:"single"},type:"File",forms:null,init:function(){this.parent();this.forms=new Hash;this.isIFrameSetup=
!0;this.iframe=new Element("iframe",{name:this.generateId(),styles:{display:"none",visibility:"hidden"}});this.iframe.inject(document.body);this.iframe.addEvent("load",this.processIFrameUpload.bind(this))},render:function(){this.parent();$defined(this.options.id)||this.field.set("id",this.generateId());this.fake=new Element("div",{"class":"jxFileFake"});this.text=new Jx.Field.Text({template:'<span class="jxInputContainer"><input class="jxInputText" type="text" /></span>'});this.browseButton=new Jx.Button({label:this.getText({set:"Jx",
key:"file",value:"browseLabel"})});this.fake.adopt(this.text,this.browseButton);this.field.grab(this.fake,"after");this.field.addEvents({change:this.copyValue.bind(this),mouseenter:this.mouseEnter.bind(this),mouseleave:this.mouseLeave.bind(this)})},copyValue:function(){if("single"==this.options.mode&&""!==this.field.value&&this.text.field.value!==this.field.value)this.text.field.value=this.field.value,this.fireEvent("fileSelected",this),this.forms.set(this.field.value,this.prepForm()),this.options.autoUpload&&
this.uploadSingle();else if("multiple"==this.options.mode){var a=this.field.value,b=this.prepForm();this.forms.set(a,b);this.text.setValue("");this.fireEvent("fileSelected",a)}},mouseEnter:function(){this.browseButton.domA.addClass("jxButtonPressed")},mouseLeave:function(){this.browseButton.domA.removeClass("jxButtonPressed")},prepForm:function(){var a=new Jx.Form({action:this.options.handlerUrl,name:"jxUploadForm",fileUpload:!0}),b=document.id(this.field.getParent()),d=document.id(this.field).getPrevious(),
e=this.field.clone().cloneEvents(this.field);document.id(a).grab(this.field);d?e.inject(d,"after"):b&&e.inject(b,"top");this.field=e;this.mouseLeave();return a},upload:function(a){if(0<this.forms.getLength()){this.currentKey=this.forms.getKeys()[0];var b=this.forms.get(this.currentKey);this.forms.erase(this.currentKey);$defined(a)&&0==this.forms.getLength()&&a.fields.each(function(a){a instanceof Jx.Field.File||document.id(a).clone().inject(b)},this);this.uploadSingle(b)}else this.fireEvent("allUploadsComplete",
this)},uploadSingle:function(a){this.form=$defined(a)?a:this.prepForm();this.fireEvent("fileUploadBegin",[this.currentKey,this]);this.text.setValue("");document.id(this.form).set("target",this.iframe.get("name")).setStyles({visibility:"hidden",display:"none"}).inject(document.body);this.options.progress?(new Request.JSON({url:this.options.progressIDUrl,method:"get",onSuccess:this.submitUpload.bind(this)})).send():this.submitUpload()},submitUpload:function(a){$defined(a)&&a.success&&$defined(a.id)&&
(this.progressID=a.id,(new Jx.Field.Hidden({name:this.options.progressName,id:this.options.progressId,value:this.progressID})).addTo(this.form,"top"));document.id(this.form).submit();this.options.progress&&$defined(this.progressID)&&this.pollUpload()},pollUpload:function(){(new Request.JSON({data:{id:this.progressID},url:this.options.progressUrl,method:"get",onSuccess:this.processProgress.bind(this),onFailure:this.uploadFailure.bind(this)})).send()},processProgress:function(a){$defined(a)&&(this.fireEvent("fileUploadProgress",
[a,this.currentKey,this]),a.current<a.total?(this.polling=!0,this.pollUpload()):this.polling=!1)},uploadFailure:function(a){this.fireEvent("fileUploadProgressError",[this,a])},processIFrameUpload:function(){if(this.isIFrameSetup){var a=JSON.decode(this.iframe.contentDocument&&this.iframe.contentDocument.defaultView?this.iframe.contentDocument.defaultView.document.body.innerHTML:this.iframe.contentWindow.document.body.innerHTML);$defined(a)&&$defined(a.success)&&a.success?(this.done=!0,this.doneData=
a,this.uploadCleanUp(),this.fireEvent("fileUploadComplete",[a,this.currentKey,this])):this.fireEvent("fileUploadError",[a,this.currentKey,this]);"multiple"==this.options.mode?this.upload():this.fireEvent("allUploadsComplete",this)}},uploadCleanUp:function(){this.options.debug||this.form.destroy()},remove:function(a){this.forms.has(a)&&this.forms.erase(a)},changeText:function(a){this.parent();$defined(this.browseButton)&&this.browseButton.setLabel(this.getText({set:"Jx",key:"file",value:"browseLabel"}))},
getFileInputs:function(){var a=[];this.forms.each(function(b){b=document.id(b).getElement("input[type=file]");a.push(b)},this);return a}});
Jx.Progressbar=new Class({Family:"Jx.Progressbar",Extends:Jx.Widget,options:{onUpdate:$empty,onComplete:$empty,parent:null,progressText:null,template:'<div class="jxProgressBar-container"><div class="jxProgressBar-message"></div><div class="jxProgressBar"><div class="jxProgressBar-outline"></div><div class="jxProgressBar-fill"></div><div class="jxProgressBar-text"></div></div></div>'},classes:new Hash({domObj:"jxProgressBar-container",message:"jxProgressBar-message",container:"jxProgressBar",outline:"jxProgressBar-outline",
fill:"jxProgressBar-fill",text:"jxProgressBar-text"}),bar:null,text:null,render:function(){this.parent();$defined(this.options.parent)&&this.domObj.inject(document.id(this.options.parent));this.domObj.addClass("jxProgressStarting");this.width=document.id(this.domObj).getContentBoxSize().width;this.message&&($defined(MooTools.lang.get("Jx","progressbar").messageText)?this.message.set("html",this.getText({set:"Jx",key:"progressbar",value:"messageText"})):this.message.destroy());this.fill&&this.fill.setStyles({width:0});
var a={},b=null==this.options.progressText?this.getText({set:"Jx",key:"progressbar",value:"progressText"}):this.getText(this.options.progressText);b.contains("{progress}")&&(a.progress=0);b.contains("{total}")&&(a.total=0);this.text&&this.text.set("html",b.substitute(a))},update:function(a,b){this.domObj.hasClass("jxProgressStarting")&&this.domObj.removeClass("jxProgressStarting").addClass("jxProgressWorking");var d=b*this.width/a;this.text.get("tween",{property:"width",onComplete:function(){var d=
{},f=null==this.options.progressText?this.getText({set:"Jx",key:"progressbar",value:"progressText"}):this.getText(this.options.progressText);f.contains("{progress}")&&(d.progress=b);f.contains("{total}")&&(d.total=a);d=f.substitute(d);this.text.set("text",d)}.bind(this)}).start(d);this.fill.get("tween",{property:"width",onComplete:function(){a===b?(this.complete=!0,this.domObj.removeClass("jxProgressWorking").addClass("jxProgressFinished"),this.fireEvent("complete")):this.fireEvent("update")}.bind(this)}).start(d)},
changeText:function(a){this.parent();this.message&&this.message.set("html",this.getText({set:"Jx",key:"progressbar",value:"messageText"}))}});
Jx.Panel.FileUpload=new Class({Family:"Jx.Panel.FileUpload",Extends:Jx.Panel,Binds:"moveToQueue fileUploadBegin fileUploadComplete allUploadsComplete fileUploadProgressError, fileUploadError fileUploadProgress".split(" "),options:{file:{autoUpload:!1,progress:!1,progressIDUrl:"",handlerUrl:"",progressUrl:""},progressOptions:{template:"<li class='jxListItemContainer jxProgressBar-container' id='{id}'><div class='jxProgressBar'><div class='jxProgressBar-outline'></div><div class='jxProgressBar-fill'></div><div class='jxProgressBar-text'></div></div></li>",containerClass:"progress-container",
messageText:null,messageClass:"progress-message",progressText:"Uploading {filename}",progressClass:"progress-bar"},onFileComplete:$empty,onComplete:$empty,prompt:null,removeOnComplete:!1},domObjA:null,fileQueue:[],listTemplate:"<li class='jxListItemContainer' id='{id}'><a class='jxListItem' href='javascript:void(0);'><span class='itemLabel jxUploadFileName'>{name}</span><span class='jxUploadFileDelete' title='Remove this file from the queue.'></span></a></li>",render:function(){this.domObjA=new Element("div",
{"class":"jxFileUploadPanel"});$defined(this.options.prompt)&&(Jx.type("string"===this.options.prompt)?new Element("p",{html:this.options.prompt}):this.options.prompt).inject(this.domObjA);this.fileOpt=this.options.file;this.fileOpt.template='<div class="jxInputContainer jxFileInputs"><input class="jxInputFile" type="file" name={name} /></div>';this.file=new Jx.Field.File(this.fileOpt);this.file.addEvent("fileSelected",this.moveToQueue);this.file.addTo(this.domObjA);this.listView=(new Jx.ListView({template:'<ul class="jxListView jxList jxUploadQueue"></ul>'})).addTo(this.domObjA);
if(!this.options.file.autoUpload){this.uploadBtn=new Jx.Button({label:this.getText({set:"Jx",key:"upload",value:"buttonText"}),onClick:this.upload.bind(this)});var a=(new Jx.Toolbar({position:"bottom",scroll:!1})).add(this.uploadBtn);this.uploadBtn.setEnabled(!1);this.options.toolbars=[a]}this.options.content=this.domObjA;this.parent(this.options)},moveToQueue:function(a){var b=(new String(this.listTemplate)).substitute({name:a,id:a}),d=new Jx.ListItem({template:b,enabled:!0});$(d).getElement(".jxUploadFileDelete").addEvent("click",
function(){this.listView.remove(d);this.file.remove(a);0==this.listView.list.count()&&this.uploadBtn.setEnabled(!1)}.bind(this));this.listView.add(d);this.uploadBtn.isEnabled()||this.uploadBtn.setEnabled(!0)},upload:function(){this.file.addEvents({fileUploadBegin:this.fileUploadBegin,fileUploadComplete:this.fileUploadComplete,allUploadsComplete:this.allUploadsComplete,fileUploadError:this.fileUploadError,fileUploadProgress:this.fileUploadProgress,fileUploadProgressError:this.fileUploadError});this.file.upload()},
fileUploadBegin:function(a){if(this.options.file.progress){var b=$merge({},this.options.progressOptions);b.progressText=b.progressText.substitute({filename:a});b.template=b.template.substitute({id:a});this.pb=new Jx.Progressbar(b);this.oldContents=a=document.id(a);this.listView.replace(a,$(this.pb))}else document.id(a).getElement(".jxUploadFileDelete").addClass("jxUploadFileProgress").set("title","File Uploading...")},fileUploadComplete:function(a,b){$defined(a.success)&&a.success?this.removeUploadedFile(b):
this.fileUploadError(a,b)},fileUploadError:function(a,b){this.options.file.progress&&this.listView.replace(document.id(b),this.oldContents);var d=document.id(b).getElement(".jxUploadFileDelete");d.erase("title");d.hasClass("jxUploadFileProgress")?d.removeClass("jxUploadFileProgress").addClass("jxUploadFileError"):d.addClass("jxUploadFileError");$defined(a.error)&&$defined(a.error.message)&&new Jx.Tooltip(d,a.error.message,{cssClass:"jxUploadFileErrorTip"})},removeUploadedFile:function(a){if(this.options.removeOnComplete)this.listView.remove(document.id(a));
else{this.options.file.progress&&this.listView.replace(document.id(a),this.oldContents);var b=document.id(a).getElement(".jxUploadFileDelete");b.hasClass("jxUploadFileDelete")?b.addClass("jxUploadFileComplete"):b.hasClass("jxUploadFileProgress")&&b.removeClass("jxUploadFileProgress").addClass("jxUploadFileComplete")}this.fireEvent("fileUploadComplete",a)},fileUploadProgress:function(a,b){this.options.progress&&this.pb.update(a.total,a.current)},allUploadsComplete:function(){this.uploadBtn.setEnabled(!1);
this.fireEvent("allUploadsCompleted",this)},changeText:function(a){this.parent();$defined(this.uploadBtn)&&this.uploadBtn.setLabel({set:"Jx",key:"upload",value:"buttonText"})}});
Jx.Column=new Class({Family:"Jx.Column",Extends:Jx.Widget,options:{renderMode:"fixed",width:100,isEditable:!1,isSortable:!1,isResizable:!1,isHidden:!1,name:"",template:null,renderer:null},classes:$H({domObj:"jxGridCellContent"}),grid:null,parameters:["options","grid"],init:function(){this.name=this.options.name;$defined(this.options.template)||(this.options.template='<span class="jxGridCellContent">'+this.name.capitalize()+"</span>");this.parent();$defined(this.options.grid)&&this.options.grid instanceof
Jx.Grid&&(this.grid=this.options.grid);$defined(this.options.renderer)?this.options.renderer instanceof Jx.Grid.Renderer||"object"!==Jx.type(this.options.renderer)||($defined(this.options.renderer.options.textTemplate)||(this.options.renderer.options.textTemplate="{"+this.name+"}"),$defined(this.options.renderer.name)||(this.options.renderer.name="Text"),this.options.renderer=new (Jx.Grid.Renderer[this.options.renderer.name.capitalize()])(this.options.renderer.options)):this.options.renderer=new Jx.Grid.Renderer.Text({textTemplate:"{"+
this.name+"}"});this.options.renderer.setColumn(this)},getTemplate:function(a){return"<span class='jxGridCellContent' title='{col"+a+"}'>{col"+a+"}</span>"},getHeaderHTML:function(){this.isSortable()&&!this.sortImage?(this.sortImage=new Element("img",{src:Jx.aPixel.src}),this.sortImage.inject(this.domObj)):!this.isSortable()&&this.sortImage&&(this.sortImage.dispose(),this.sortImage=null);return this.domObj},setWidth:function(a,b){b=$defined(b)?b:!1;var d=this.cellWidth-this.width;b?(this.width=parseInt(a,
10)-d,this.cellWidth=a,this.options.width=this.width):(this.width=parseInt(a,10),this.cellWidth=this.width+d,this.options.width=a);this.rule&&0<=parseInt(this.width,10)&&(this.rule.style.width=parseInt(this.width,10)+"px");this.cellRule&&0<=parseInt(this.cellWidth,10)&&(this.cellRule.style.width=parseInt(this.cellWidth,10)+"px")},getWidth:function(){return this.width},getCellWidth:function(){return this.cellWidth},calculateWidth:function(a){a=$defined(a)?a:!1;var b,d,e=this.grid.getStore(),f,g,h;
e.first();if("fixed"!=this.options.renderMode&&"expand"!=this.options.renderMode||!e.valid()){g=e.getPosition();for(b=d=0;e.valid();)if(this.options.renderer.render(),f=document.id(this.options.renderer),h="jxGridCell",this.grid.row.useHeaders()&&this.options.name===this.grid.row.getRowHeaderColumn()&&(h="jxGridRowHead"),f=this.measure(f,h,a,e.getPosition()),f.content.width>b&&(b=f.content.width),f.cell.width>d&&(d=f.cell.width),e.hasNext())e.next();else break;this.grid.row.useHeaders()&&this.options.name===
this.grid.row.getRowHeaderColumn()||(h="jxGridColHead",this.isEditable()&&(h+=" jxColEditable"),this.isResizable()&&(h+=" jxColResizable"),this.isSortable()&&(h+=" jxColSortable"),f=this.measure(this.domObj.clone(),h),f.content.width>b&&(b=f.content.width),f.cell.width>d&&(d=f.cell.width))}else a=new Element("span",{"class":"jxGridCellContent",html:"a",styles:{width:this.options.width}}),f=this.measure(a,"jxGridCell"),b=f.content.width,d=f.cell.width;this.width=b;this.cellWidth=d;e.moveTo(g);return this.width},
measure:function(a,b,d,e){b=new Element("span",{"class":b});a.inject(b);b.setStyles({visibility:"hidden",width:"auto"});b.inject(document.body,"bottom");a=b.measure(function(){var a=this;d||(a=a.getFirst());return{content:a.getMarginBoxSize(),cell:a.getMarginBoxSize()}});b.destroy();return a},isEditable:function(){return this.options.isEditable},isSortable:function(){return this.options.isSortable},isResizable:function(){return this.options.isResizable},isHidden:function(){return this.options.isHidden},
isAttached:function(){return this.options.renderer.attached},getHTML:function(){this.options.renderer.render();return document.id(this.options.renderer)}});
Jx.Columns=new Class({Family:"Jx.Columns",Extends:Jx.Object,options:{headerRowHeight:20,useHeaders:!1,columns:[]},columns:[],rowTemplate:null,parameters:["options","grid"],hasExpandable:null,init:function(){this.parent();$defined(this.options.grid)&&this.options.grid instanceof Jx.Grid&&(this.grid=this.options.grid);this.hasExpandable=!1;this.options.columns.each(function(a){a instanceof Jx.Column?this.columns.push(a):"object"===Jx.type(a)&&this.columns.push(new Jx.Column(a,this.grid))},this);this.buildTemplates()},
addColumns:function(a){this.columns.extend(a);this.buildTemplates()},buildTemplates:function(){if(this.grid){var a="",b=!1,d=this.grid,e=d.row,f=d.row.useHeaders()?this.getByName(e.options.headerColumn):null;this.columns.each(function(d,e){var l="";d.isHidden()||d==f||(b|="expand"==d.options.renderMode,d.options.renderer&&d.options.renderer.domInsert||(l=d.getTemplate(e)),a+="<td class='jxGridCell jxGridCol"+e+" jxGridCol"+d.options.name+"'>"+l+"</td>")});b||(a+="<td><span class='jxGridCellUnattached'></span></td>");
this.rowTemplate=a;this.hasExpandable=b}},getHeaderHeight:function(a){$defined(this.height)&&!a||!$defined(this.options.headerRowHeight)||"auto"===this.options.headerRowHeight||(this.height=this.options.headerRowHeight);return this.height},useHeaders:function(){return this.options.useHeaders},getByName:function(a){var b;this.columns.each(function(d){d.name===a&&(b=d)},this);return b},getByField:function(a){var b;this.columns.each(function(d){d.options.modelField===a&&(b=d)},this);return b},getByGridIndex:function(a){a=
(this.options.useHeaders?this.grid.colTableBody.getFirst().getChildren():this.grid.gridTableBody.getFirst().getChildren())[a].get("class").split(" ").filter(function(a){return this.options.useHeaders?a.test("jxColHead-"):a.test("jxCol-")}.bind(this))[0].split("-");return this.getByName(a[1])},getHeaders:function(a){var b=this.grid,d=b.row,e=b.row.useHeaders()?this.getByName(d.options.headerColumn):null;this.useHeaders()&&(this.columns.each(function(b,d){if(!b.isHidden()&&b!=e){var h=["jxGridColHead",
"jxGridCol"+d,"jxCol-"+b.options.name,"jxColHead-"+b.options.name];b.isEditable()&&h.push("jxColEditable");b.isResizable()&&h.push("jxColResizable");b.isSortable()&&h.push("jxColSortable");h=new Element("th",{"class":h.join(" ")});h.store("jxCellData",{column:b,colHeader:!0,index:d});h.adopt(b.getHeaderHTML());h.inject(a)}}),this.hasExpandable||(new Element("th",{"class":"jxGridColHead jxGridCellUnattached"})).inject(a))},getRow:function(a,b){var d={},e=this.grid,f=e.store,g=e.row,h=e.row.useHeaders()?
this.getByName(g.options.headerColumn):null,l=[],m=0;this.columns.each(function(a,e){if(!a.isHidden()&&a!=h){if(a.options.renderer&&a.options.renderer.domInsert)l.push({column:a,index:m});else{var g=a.options.renderer,z=g.options.formatter,v="",v=g.options.textTemplate?f.fillTemplate(null,g.options.textTemplate,g.columnsNeeded):b.data.get(a.name);z&&(v=z.format(v));d["col"+e]=v}m++}});a.set("html",this.rowTemplate.substitute(d));l.each(function(b){a.childNodes[b.index].adopt(b.column.getHTML())})},
calculateWidths:function(){var a=null,b=0,d=this.grid.contentContainer.getContentBoxSize(),e=0;this.columns.each(function(d,e){"fixed"==d.options.renderMode?d.calculateWidth():"fit"==d.options.renderMode?d.calculateWidth(!1):"expand"!=d.options.renderMode||$defined(a)?$defined(d.options.width)?d.setWidth(d.options.width):d.calculateWidth(!1):a=d;d.isHidden()||(b+=Jx.getNumber(d.getCellWidth()))},this);d.width>b&&$defined(a)&&(e=d.width-b,e=Browser.Engine.gecko?e-this.getColumnCount(!0):e-2,e>=a.options.width?
(a.options.width=e,a.calculateWidth(),a.setWidth(e,!0),b+=e):a.setWidth(a.options.width));this.grid.gridObj.setContentBoxSize({width:b});this.grid.colObj.setContentBoxSize({width:b})},createRules:function(a,b){var d="auto"==this.grid.row.options.rowHeight;this.columns.each(function(e,f){var g=b+" .jxGridCol"+f,h="";d&&(h="white-space: normal !important");e.cellRule=Jx.Styles.insertCssRule(g,h,a);e.cellRule.style.width=e.getCellWidth()+"px";g=b+" .jxGridCol"+f+" .jxGridCellContent";e.rule=Jx.Styles.insertCssRule(g,
h,a);e.rule.style.width=e.getWidth()+"px"},this)},updateRule:function(a){a=this.getByName(a);"fit"===a.options.renderMode&&a.calculateWidth();a.rule.style.width=a.getWidth()+"px";a.cellRule.style.width=a.getCellWidth()+"px"},getColumnCount:function(a){a=$defined(a)?!1:!0;var b=this.columns.length;a&&this.columns.each(function(a){a.isHidden()&&(b-=1)},this);return b},getIndexFromGrid:function(a){var b,d=-1,e=this;(this.options.useHeaders?this.grid.colTableBody.getFirst().getChildren():this.grid.gridTableBody.getFirst().getChildren()).each(function(f){d++;
f.get("class").split(" ").filter(function(a){return e.options.useHeaders?a.test("jxColHead-"):a.test("jxCol-")}).each(function(e){e.test(a)&&(b=d)})},this);return b}});
Jx.Row=new Class({Family:"Jx.Row",Extends:Jx.Object,options:{useHeaders:!1,alternateRowColors:!1,rowClasses:{odd:"jxGridRowOdd",even:"jxGridRowEven",all:"jxGridRowAll"},rowHeight:20,headerWidth:40,headerColumn:null},grid:null,heights:[],rules:$H(),parameters:["options","grid"],init:function(){this.parent();$defined(this.options.grid)&&this.options.grid instanceof Jx.Grid&&(this.grid=this.options.grid)},getGridRowElement:function(a,b){var d=this.options,e=d.rowClasses;return new Element("tr",{"class":"jxGridRow"+
a+" "+(d.alternateRowColors?a%2?e.even:e.odd:e.all),html:b||""})},getRowHeaderCell:function(a){return new Element("th",{"class":"jxGridRowHead",html:a?'<span class="jxGridCellContent">'+a+"</span>":""})},getRowHeaderWidth:function(){var a;this.options.headerColumn?(a=this.grid.columns.getByName(this.options.headerColumn),$defined(a.getWidth())||a.calculateWidth(!0),a=a.getWidth()):a=this.options.headerWidth;return a},getHeight:function(a){var b=this.options.rowHeight;if($defined(this.heights[a]))b=
this.heights[a];else if($defined(this.options.rowHeight))if("auto"==this.options.rowHeight){if(b=20,a=this.grid.gridTableBody.rows[a])b=a.getContentBoxSize().height}else"number"!==Jx.type(this.options.rowHeight)&&(b=20);return b},calculateHeights:function(){"auto"!==this.options.rowHeight&&$defined(this.options.rowHeight)?document.id(this.grid.rowTableHead).getChildren().each(function(a,b){this.heights[b]=this.options.rowHeight},this):(document.id(this.grid.gridTableBody).getChildren().each(function(a){a=
document.id(a);var b=a.retrieve("jxRowData");a=a.getContentBoxSize();this.heights[b.row]=a.height},this),document.id(this.grid.rowTableHead).getChildren().each(function(a){a=document.id(a);var b=a.retrieve("jxRowData");b&&(a=a.getContentBoxSize(),this.heights[b.row]=Math.max(this.heights[b.row],a.height),Browser.Engine.webkit&&(this.heights[b.row]-=1))},this))},useHeaders:function(){return this.options.useHeaders},getRowHeader:function(a){var b=this.getRowHeaderCell();b.store("jxCellData",{rowHeader:!0,
row:this.grid.model.getPosition()});a.add(b)},getRowHeaderColumn:function(){return this.options.headerColumn}});Jx.Plugin=new Class({Family:"Jx.Plugin",Extends:Jx.Object,options:{},attach:function(a){a.registerPlugin(this)},detach:function(a){a.deregisterPlugin(this)},changeText:function(a){this.busy&&(this.setBusy(!1),this.setBusy(!0))}});Jx.Plugin.Grid={};
Jx.Grid=new Class({Family:"Jx.Grid",Extends:Jx.Widget,Binds:"storeLoaded clickColumnHeader moveColumnHeader clickRowHeader moveRowHeader clickCell dblclickCell moveCell leaveGrid resize drawStore scroll addRow removeRow removeRows updateRow storeChangesCompleted".split(" "),pluginNamespace:"Grid",options:{parent:null,template:"<div class='jxWidget'><div class='jxGridContainer jxGridRowCol'></div><div class='jxGridContainer jxGridColumnsContainer'><table class='jxGridTable jxGridHeader jxGridColumns'><thead class='jxGridColumnHead'></thead></table></div><div class='jxGridContainer jxGridHeader jxGridRowContainer'><table class='jxGridTable jxGridRows'><thead class='jxGridRowBody'></thead></table></div><div class='jxGridContainer jxGridContentContainer'><table class='jxGridTable jxGridContent'><tbody class='jxGridTableBody'></tbody></table></div></div>",
columns:null,row:null,store:null},classes:$H({domObj:"jxWidget",columnContainer:"jxGridColumnsContainer",colObj:"jxGridColumns",colTableBody:"jxGridColumnHead",rowContainer:"jxGridRowContainer",rowObj:"jxGridRows",rowColContainer:"jxGridRowCol",rowTableBody:"jxGridRowBody",contentContainer:"jxGridContentContainer",gridObj:"jxGridContent",gridTableBody:"jxGridTableBody"}),columns:null,row:null,parameters:["store","options"],store:null,styleSheet:"JxGridStyles",hooks:null,uniqueId:null,init:function(){this.uniqueId=
this.generateId("jxGrid_");this.store=this.options.store;var a=this.options;$defined(a.row)?a.row instanceof Jx.Row?(this.row=a.row,this.row.grid=this):"object"==Jx.type(a.row)&&(this.row=new Jx.Row($extend({grid:this},a.row))):this.row=new Jx.Row({grid:this});$defined(a.columns)?a.columns instanceof Jx.Columns?(this.columns=a.columns,this.columns.grid=this):"object"===Jx.type(a.columns)&&(this.columns=new Jx.Columns($extend({grid:this},a.columns))):this.columns=new Jx.Columns({grid:this});this.hooks=
$H({gridScroll:!1,gridColumnEnter:!1,gridColumnLeave:!1,gridColumnClick:!1,gridRowEnter:!1,gridRowLeave:!1,gridRowClick:!1,gridCellClick:!1,gridCellDblClick:!1,gridCellEnter:!1,gridCellLeave:!1,gridMouseLeave:!1});this.storeEvents={storeDataLoaded:this.storeLoaded,storeRecordAdded:this.addRow,storeColumnChanged:this.updateRow,storeRecordRemoved:this.removeRow,storeMultipleRecordsRemoved:this.removeRows,storeChangesCompleted:this.storeChangesCompleted};this.parent()},wantEvent:function(a){if(!1===
this.hooks.get(a))switch(a){case "gridColumnEnter":case "gridColumnLeave":this.colObj.addEvent("mousemove",this.moveColumnHeader);this.hooks.set({gridColumnEnter:!0,gridColumnLeave:!0});break;case "gridColumnClick":this.colObj.addEvent("click",this.clickColumnHeader);this.hooks.set({gridColumnClick:!0});break;case "gridRowEnter":case "gridRowLeave":this.rowObj.addEvent("mousemove",this.moveRowHeader);this.hooks.set({gridRowEnter:!0,gridRowLeave:!0});break;case "gridRowClick":this.rowObj.addEvent("click",
this.clickRowHeader);this.hooks.set({gridRowClick:!0});break;case "gridCellEnter":case "gridCellLeave":this.gridObj.addEvent("mousemove",this.moveCell);this.hooks.set({gridCellEnter:!0,gridCellLeave:!0});break;case "gridCellClick":this.gridObj.addEvent("click",this.clickCell);this.hooks.set("gridCellClick",!0);break;case "gridCellDblClick":this.gridObj.addEvent("dblclick",this.dblclickCell);this.hooks.set("gridCellDblClick",!0);break;case "gridMouseLeave":this.rowObj.addEvent("mouseleave",this.leaveGrid);
this.colObj.addEvent("mouseleave",this.leaveGrid);this.gridObj.addEvent("mouseleave",this.leaveGrid);this.hooks.set("gridMouseLeave",!0);break;case "gridScroll":this.contentContainer.addEvent("scroll",this.scroll)}},scroll:function(){this.columnContainer.scrollLeft=this.contentContainer.scrollLeft;this.rowContainer.scrollTop=this.contentContainer.scrollTop},render:function(){if(this.domObj)this.redraw();else{this.parent();var a=this.store;this.domObj.addClass(this.uniqueId);new Jx.Layout(this.domObj,
{onSizeChange:this.resize});a instanceof Jx.Store&&(a.addEvents(this.storeEvents),a.loaded&&this.storeLoaded(a));this.columns.useHeaders()?this.wantEvent("gridScroll"):this.columnContainer.dispose();this.row.useHeaders()?this.wantEvent("gridScroll"):this.rowContainer.dispose();this.contentContainer.setStyle("overflow","auto");this.hooks.each(function(a,d){a&&(this.hooks.set(d,!1),this.wantEvent(d))},this);document.id(this.options.parent)&&(this.addTo(this.options.parent),this.resize())}},resize:function(){var a=
this.domObj.getParent().getSize(),b=0,d=0;this.columns.useHeaders()&&(b=this.columns.getHeaderHeight());this.row.useHeaders()&&(d=this.row.getRowHeaderWidth());this.rowColContainer.setBorderBoxSize({width:d,height:b});this.columnContainer.setStyles({top:0,left:d}).setBorderBoxSize({width:a.x-d,height:b});this.rowContainer.setStyles({top:b,left:0}).setBorderBoxSize({width:d,height:a.y-b});this.contentContainer.setStyles({top:b,left:d}).setBorderBoxSize({width:a.x-d,height:a.y-b})},setStore:function(a){this.store&&
this.store.removeEvents(this.storeEvents);a instanceof Jx.Store?(this.store=a,a.addEvents(this.storeEvents),a.loaded&&this.storeLoaded(a),this.render(),this.domObj.resize()):this.destroyGrid()},getStore:function(){return this.store},storeLoaded:function(a){this.redraw()},storeChangesCompleted:function(a){},redraw:function(){var a=this.store,b=[];this.row.useHeaders();this.fireEvent("beginCreateGrid");this.gridObj.getElement("tbody").empty();this.hoverColumn=this.hoverRow=this.hoverCell=null;a.options.columns.each(function(a,
e){if(!this.columns.getByName(a.name)){var f=new Jx.Grid.Renderer.Text,g=$defined(a.format)?a.format:null,h="<span class='jxGridCellContent'>"+($defined(a.label)?a.label:a.name).capitalize()+"</span>";$defined(a.renderer)&&("string"==$type(a.renderer)?Jx.Grid.Renderer[a.renderer.capitalize()]&&(f=new (Jx.Grid.Renderer[a.renderer.capitalize()])):"object"==$type(a.renderer)&&$defined(a.renderer.type)&&Jx.Grid.Renderer[a.renderer.type.capitalize()]&&(f=new (Jx.Grid.Renderer[a.renderer.type.capitalize()])(a.renderer)));
g&&("string"==$type(g)&&$defined(Jx.Formatter[g.capitalize()])?f.options.formatter=new (Jx.Formatter[g.capitalize()]):"object"==$type(g)&&$defined(g.type)&&$defined(Jx.Formatter[g.type.capitalize()])&&(f.options.formatter=new (Jx.Formatter[g.type.capitalize()])(g)));f=new Jx.Column({grid:this,template:h,renderMode:$defined(a.renderMode)?a.renderMode:$defined(a.width)?"fixed":"fit",width:$defined(a.width)?a.width:null,isEditable:$defined(a.editable)?a.editable:!1,isSortable:$defined(a.sortable)?a.sortable:
!1,isResizable:$defined(a.resizable)?a.resizable:!1,isHidden:$defined(a.hidden)?a.hidden:!1,name:a.name||"",renderer:f});b.push(f)}},this);this.columns.addColumns(b);this.columns.useHeaders()&&(a=new Element("tr"),this.columns.getHeaders(a),a.adopt(new Element("th",{"class":"jxGridColHead",html:"&nbsp",styles:{width:1E3}})),this.colObj.getElement("thead").empty().adopt(a));this.columns.calculateWidths();this.columns.createRules(this.styleSheet+"Columns","."+this.uniqueId);this.drawStore();this.fireEvent("doneCreateGrid")},
addRow:function(a,b,d){this.store.loaded&&("bottom"===d?this.store.last():this.store.first(),this.drawRow(b,this.store.index,d))},updateRow:function(a){var b=this.store.getRecord(a);this.drawRow(b,a,"replace")},removeRow:function(a,b){this.gridObj.deleteRow(b);this.rowObj.deleteRow(b)},removeRows:function(a,b,d){for(var e=b;e<=d;e++)this.removeRow(a,b)},setColumnWidth:function(a,b){a&&(a.width=b,a.rule&&(a.rule.style.width=b+"px"),a.cellRule&&(a.cellRule.style.width=b+"px"))},drawStore:function(){var a=
this.row.useHeaders();this.domObj.resize();this.gridTableBody.empty();a&&this.rowTableBody.empty();this.store.each(function(a,d){this.store.index=d;this.drawRow(a,d)},this);a&&(a=new Element("tr",{styles:{height:1E3}}),a.adopt(new Element("th",{"class":"jxGridRowHead",html:"&nbsp"})),this.rowTableBody.adopt(a))},drawRow:function(a,b,d){var e=this.columns,f=this.gridTableBody,g=this.row,h=this.store,l=g.useHeaders(),m="auto"==g.options.rowHeight,q=this.rowTableBody,r,u,z,v,B=b+1;$defined(d)&&["top",
"bottom","replace"].contains(d)||(d="bottom");v=g.getGridRowElement(b,"");"replace"==d&&b<f.childNodes.length?(v.inject(f.childNodes[b],"after"),f.childNodes[b].dispose()):v.inject(f,d);e.getRow(v,a);l&&(g.options.headerColumn&&(r=e.getByName(g.options.headerColumn),z=r.options.renderer,z.domInsert?B="":(u=e.columns.indexOf(r),e=function(a){var b={},d="",d=z.options.textTemplate?h.fillTemplate(null,z.options.textTemplate,z.columnsNeeded):a.data.get(r.name);b["col"+u]=d;return b},B=r.getTemplate(u).substitute(e(a)))),
e=g.getRowHeaderCell(B),g.options.headerColumn&&z.domInsert&&e.adopt(r.getHTML()),g=(new Element("tr")).adopt(e),"replace"==d&&b<q.childNodes.length?(g.inject(q.childNodes[b],"after"),q.childNodes[b].dispose()):g.inject(q,d),m&&g.setBorderBoxSize({height:v.getBorderBoxSize().height}));this.fireEvent("gridDrawRow",[b,a])},clickColumnHeader:function(a){a=a.target;a.getParent("thead")&&(a="TH"==a.tagName?a:a.getParent("th"),this.fireEvent("gridColumnClick",a))},moveColumnHeader:function(a){var b=a.target;
(b="TH"==b.tagName?b:b.getParent("th.jxGridColHead"))&&this.hoverColumn!=b&&(this.hoverColumn&&this.fireEvent("gridColumnLeave",this.hoverColumn),b.hasClass("jxGridColHead")?(this.hoverColumn=b,this.fireEvent("gridColumnEnter",b)):this.leaveGrid(a))},clickRowHeader:function(a){a=a.target;a.getParent("tbody")&&(a="TH"==a.tagName?a:a.getParent("th"),this.fireEvent("gridRowClick",a))},moveRowHeader:function(a){var b=a.target;(b="TH"==b.tagName?b:b.getParent("th.jxGridRowHead"))&&this.hoverRow!=b&&(this.hoverRow&&
this.fireEvent("gridRowLeave",this.hoverRow),b.hasClass("jxGridRowHead")?(this.hoverRow=b,this.fireEvent("gridRowEnter",b)):this.leaveGrid(a))},clickCell:function(a){a=a.target;a.getParent("tbody")&&(a="TD"==a.tagName?a:a.getParent("td"),this.fireEvent("gridCellClick",a))},dblclickCell:function(a){a=a.target;a.getParent("tbody")&&(a="TD"==a.tagName?a:a.getParent("td"),this.fireEvent("gridCellDblClick",a))},moveCell:function(a){var b=a.target;(b="TD"==b.tagName?b:b.getParent("td.jxGridCell"))&&this.hoverCell!=
b&&(this.hoverCell&&this.fireEvent("gridCellLeave",this.hoverCell),b.hasClass("jxGridCell")?(this.hoverCell=b,this.getCellData(b),this.fireEvent("gridCellEnter",b)):this.leaveGrid(a))},getCellData:function(a){var b=null,d,e;a.hasClass("jxGridCell")||(a=a.getParent("td.jxGridCell"));a&&(body=this.gridTableBody,b=body.getChildren().indexOf(a.getParent("tr")),this.columns.columns.some(function(b,g){return a.hasClass("jxGridCol"+g)?(d=g,e=b,!0):!1}),b={row:b,column:e,index:d},a.store("jxCellData",b));
return b},leaveGrid:function(a){this.hoverCell=null;this.fireEvent("gridMouseLeave")},changeText:function(a){this.parent();this.render()},addEvent:function(a,b){this.wantEvent(a);this.parent(a,b)}});
Jx.Grid.Renderer=new Class({Family:"Jx.Grid.Renderer",Extends:Jx.Widget,parameters:["options"],options:{deferRender:!0,template:'<span class="jxGridCellContent"></span>'},attached:null,domInsert:!1,classes:$H({domObj:"jxGridCellContent"}),column:null,init:function(){this.parent();this.attached=!1},render:function(){this.parent()},setColumn:function(a){a instanceof Jx.Column&&(this.column=a)}});
Jx.Grid.Renderer.Text=new Class({Family:"Jx.Grid.Renderer.Text",Extends:Jx.Grid.Renderer,options:{formatter:null,textTemplate:null,css:null},store:null,columnsNeeded:null,init:function(){this.parent();var a=this.options,b;!$defined(a.formatter)||a.formatter instanceof Jx.Formatter||(b=Jx.type(a.formatter),"object"===b&&($defined(a.formatter.options)||(a.formatter.options={}),a.formatter=new Jx.Formatter[a.formatter.name](a.formatter.options)))},setColumn:function(a){this.parent();this.store=a.grid.getStore();
this.attached=!0;$defined(this.options.textTemplate)&&(this.columnsNeeded=this.store.parseTemplate(this.options.textTemplate))},render:function(){this.parent();var a="";if($defined(this.options.textTemplate)){if(!$defined(this.columnsNeeded)||"array"===Jx.type(this.columnsNeeded)&&0===this.columnsNeeded.length)this.columnsNeeded=this.store.parseTemplate(this.options.textTemplate);a=this.store.fillTemplate(null,this.options.textTemplate,this.columnsNeeded)}$defined(this.options.formatter)&&(a=this.options.formatter.format(a));
this.domObj.set("html",a);$defined(this.options.css)&&"function"===Jx.type(this.options.css)?this.domObj.addClass(this.options.css.run(a)):$defined(this.options.css)&&"string"===Jx.type(this.options.css)&&this.domObj.addClass(this.options.css)}});
Jx.Grid.Renderer.Checkbox=new Class({Family:"Jx.Grid.Renderer.Checkbox",Extends:Jx.Grid.Renderer,Binds:["onBlur","onChange"],options:{useStore:!1,field:null,updateStore:!1,checkboxOptions:{template:'<input class="jxInputContainer jxInputCheck" type="checkbox" name="{name}"/>',name:""}},domInsert:!0,init:function(){this.parent()},render:function(){this.parent();var a=new Jx.Field.Checkbox(this.options.checkboxOptions);this.domObj.adopt(document.id(a));this.options.useStore&&a.setValue(this.store.get(this.options.field));
a.addEvents({blur:this.onBlur,change:this.onChange})},setColumn:function(a){this.column=a;this.options.useStore&&(this.store=this.column.grid.getStore(),this.attached=!0)},onBlur:function(a){this.options.updateStore&&this.updateStore(a);this.column.grid.fireEvent("checkBlur",[this.column,a])},onChange:function(a){this.options.updateStore&&this.updateStore(a);this.fireEvent("change",[this.column,a])},updateStore:function(a){var b=a.getValue();a=document.id(a).getParent().retrieve("jxCellData").row;
this.store.get(this.options.field,a)!==b&&this.store.set(this.options.field,b,a)}});Jx.Grid.Renderer.Button=new Class({Family:"Jx.Grid.Renderer.Button",Extends:Jx.Grid.Renderer,Binds:[],options:{template:'<span class="buttons"></span>',buttonOptions:null},domInsert:!0,classes:$H({domObj:"buttons"}),init:function(){this.parent()},render:function(){this.parent();$A(this.options.buttonOptions).each(function(a){a=new Jx.Button(a);this.domObj.grab(document.id(a))},this)}});
Jx.Plugin.Grid.Selector=new Class({Family:"Jx.Plugin.Grid.Selector",Extends:Jx.Plugin,name:"Selector",Binds:"select checkSelection checkAll afterGridRender onCellClick sort updateCheckColumn updateSelectedRows".split(" "),options:{cell:!1,row:!1,column:!1,multiple:!1,useCheckColumn:!1,checkAsHeader:!1,sortableColumn:!1},domInsert:!0,selected:null,init:function(){this.parent();this.selected=$H({cells:[],columns:[],rows:[],rowHeads:[],columnHeads:[]})},attach:function(a){if($defined(a)||a instanceof
Jx.Grid){this.parent(a);var b=this.options,d;this.grid=a;this.grid.addEvent("gridSortFinished",this.updateSelectedRows);b.useCheckColumn?(a.addEvent("gridDrawRow",this.updateCheckColumn),d='<span class="jxGridCellContent">',d=b.multiple?d+'<span class="jxInputContainer jxInputContainerCheck"><input class="jxInputCheck" type="checkbox" name="checkAll" id="checkAll"/></span>':d+"</span>",this.checkColumn=new Jx.Column({template:d+"</span>",renderMode:"fixed",width:20,renderer:null,name:"selection",
isSortable:b.sortableColumn||!1,sort:b.sortableColumn?this.sort:null},a),this.checkColumn.options.renderer=this,a.columns.columns.reverse(),a.columns.columns.push(this.checkColumn),a.columns.columns.reverse(),b.checkAsHeader&&(this.oldHeaderColumn=a.row.options.headerColumn,a.row.options.useHeaders=!0,a.row.options.headerColumn="selection",b.multiple&&a.addEvent("doneCreateGrid",this.afterGridRender)),b.multiple&&document.id(this.checkColumn).getElement("input").addEvents({change:this.checkAll})):
a.addEvent("gridCellClick",this.onCellClick)}},render:function(){this.domObj=new Element("span",{"class":"jxGridCellContent"});(new Element("input",{"class":"jxGridSelector",type:"checkbox",events:{change:this.checkSelection}})).inject(this.domObj)},toElement:function(){return this.domObj},updateCheckColumn:function(a,b){var d=this.selected.get("rows").contains(a),e=this.grid.gridTableBody.rows;if(e=document.id(0<=a&&a<e.length?e[a]:null))e.store("jxRowData",{row:a}),d?e.addClass("jxGridRowSelected"):
e.removeClass("jxGridRowSelected"),this.setCheckField(a,d)},afterGridRender:function(){if(this.options.checkAsHeader){var a=document.id(this.checkColumn).clone();a.getElement("input").addEvent("change",this.checkAll);this.grid.rowColContainer.adopt(a)}this.grid.removeEvent("doneCreateGrid",this.afterGridRender)},detach:function(){var a=this.grid,b=this.options;a&&(a.gridTableBody.removeEvents({click:this.onCellClick}),this.checkColumn&&(a.columns.columns.erase(this.checkColumn),this.checkColumn.destroy(),
this.checkColumn=null),b.useCheckColumn&&(a.removeEvent("gridDrawRow",this.updateCheckColumn),b.checkAsHeader&&(a.row.options.headerColumn=this.oldHeaderColumn)));this.grid.removeEvent("gridSortFinished",this.updateSelectedRows);this.grid=null},activate:function(a){this.options[a]=!0},deactivate:function(a){var b=this.grid.gridTableBody.rows,d=this.selected,e;this.options[a]=!1;"cell"===a?(d.get("cells").each(function(a){a.removeClass("jxGridCellSelected")}),d.set("cells",[])):"row"===a?(this.getSelectedRows().each(function(a){idx=
a.retrieve("jxRowData").row;a.removeClass("jxGridRowSelected");this.setCheckField(idx,!1)},this),d.set("rows",[]),d.get("rowHeads").each(function(a){a.removeClass("jxGridRowHeaderSelected")}),d.set("rowHeads",[])):(d.get("columns").each(function(a){for(e=0;e<b.length;e++)b[e].cells[a].removeClass("jxGridColumnSelected")}),d.set("columns",[]),d.get("columnHeads").each(function(a){a.removeClass("jxGridColumnHeaderSelected")},this),d.set("columnHeads",[]))},onCellClick:function(a){a&&this.select(a)},
select:function(a){var b=a.retrieve("jxCellData"),d=this.options;d.cell&&$defined(b.row)&&$defined(b.index)&&this.selectCell(a);d.row&&$defined(b.row)&&this.selectRow(b.row);d.column&&$defined(b.index)&&(this.grid.row.useHeaders()?this.selectColumn(b.index-1):this.selectColumn(b.index))},selectCell:function(a){if(this.options.cell){var b=this.selected.get("cells");a.hasClass("jxGridCellSelected")?(a.removeClass("jxGridCellSelected"),b.erase(a),this.fireEvent("unselectCell",a)):(a.addClass("jxGridCellSelected"),
b.push(a),this.fireEvent("selectCell",a))}},updateSelectedRows:function(){if(this.options.row){for(var a=this.grid.gridTableBody.rows,b=[],d=0;d<a.length;d++)a[d].hasClass("jxGridRowSelected")&&b.push(d);this.selected.set("rows",b)}},selectRow:function(a,b){if(this.options.row){var d=this.options,e=this.grid.gridTableBody.rows,f=document.id(0<=a&&a<e.length?e[a]:null),g=this.selected.get("rows");b=$defined(b)?b:!1;if(f&&(f.hasClass("jxGridRowSelected")?(f.removeClass("jxGridRowSelected"),this.setCheckField(a,
!1),d.multiple&&d.useCheckColumn&&(d.checkAsHeader?document.id(this.grid.rowColContainer).getElement("input").removeProperty("checked"):document.id(this.checkColumn).getElement("input").removeProperty("checked")),g.erase(a),b||this.fireEvent("unselectRow",a)):(f.store("jxRowData",{row:a}),g.push(a),f.addClass("jxGridRowSelected"),this.setCheckField(a,!0),b||this.fireEvent("selectRow",a)),!this.options.multiple)){var h=[];this.getSelectedRows().each(function(a){var d;a!==f&&(d=a.retrieve("jxRowData").row,
a.removeClass("jxGridRowSelected"),this.setCheckField(d,!1),g.erase(a),h.push(d),b||this.fireEvent("unselectRow",a))},this);h.length&&!b&&this.fireEvent("unselectRows",[h])}this.selectRowHeader(a)}},setCheckField:function(a,b){var d=this.grid,e=this.options;e.useCheckColumn&&(e.checkAsHeader?d=document.id(d.rowTableBody.rows[a].cells[0]):(e=d.columns.getIndexFromGrid(this.checkColumn.name),d=document.id(d.gridTableBody.rows[a].cells[e])),d=d.getElement(".jxGridSelector"),d.set("checked",b))},selectRowHeader:function(a){if(this.grid.row.useHeaders()){var b=
this.grid.rowTableBody.rows,d=document.id(0<=a&&a<b.length?b[a].cells[0]:null),e;d&&(e=this.selected.get("rowHeads"),e.contains(d)?(d.removeClass("jxGridRowHeaderSelected"),e.erase(d)):(d.addClass("jxGridRowHeaderSelected"),e.push(d)),this.options.multiple||e.each(function(a){a!==d&&(a.removeClass("jxGridRowHeaderSelected"),e.erase(a))},this))}},selectColumn:function(a){var b=this.grid.gridTableBody,d=this.selected.get("columns"),e="",f;if(0<=a&&a<b.rows[0].cells.length){d.contains(a)?(e="removeClass",
d.erase(a),this.fireEvent("unselectColumn",a)):(e="addClass",d.push(a),this.fireEvent("selectColumn",a));for(f=0;f<b.rows.length;f++)b.rows[f].cells[a][e]("jxGridColumnSelected");this.options.multiple||d.each(function(e){if(e!==a){for(f=0;f<b.rows.length;f++)b.rows[f].cells[e].removeClass("jxGridColumnSelected");d.erase(e);this.fireEvent("unselectColumn",e)}},this);this.selectColumnHeader(a)}},selectColumnHeader:function(a){var b=this.grid.colTableBody;if(0!==b.length&&this.grid.row.useHeaders()){var d=
0<=a&&a<b[0].cells.length?b[0].cells[a]:null;null!==d&&(d=document.id(d),cells=this.selected.get("columnHeads"),cells.contains(d)?(d.removeClass("jxGridColumnHeaderSelected"),cells.erase(d)):(d.addClass("jxGridColumnHeaderSelected"),cells.push(d)),this.options.multiple||cells.each(function(a){a!==d&&(a.removeClass("jxGridColumnHeaderSelected"),cells.erase(a))}))}},checkSelection:function(a){if(a=a.target.getParent("tr"))a=a.getParent().getChildren().indexOf(a),this.selectRow(a)},checkAll:function(){var a=
this.grid,b,d=[],e=this.options.checkAsHeader?a.rowColContainer.getElement("input").get("checked"):this.checkColumn.domObj.getElement("input").get("checked"),f=e?"selectRows":"unselectRows";this.options.checkAsHeader?(b=0,a=a.rowTableBody.rows):(b=a.columns.getIndexFromGrid(this.checkColumn.name),a=a.gridTableBody.rows);$A(a).each(function(a,f){var l=a.cells[b].getElement("input");$defined(l)&&l.get("checked")!==e&&(this.selectRow(f,!0),d.push(f))},this);this.fireEvent(f,[d])},sort:function(a){var b=
this.grid,d=b.store,e=d.data,f=b.gridTableBody,g=f.getParent(),h=b.row.useHeaders(),l=b.rowTableBody,b=l.getParent(),m=this.getSelectedRows();this.options.row&&0!=m.length?(d.each(function(a,b){a.dom={cell:f.childNodes[b],row:h?l.childNodes[b]:null}}),f.dispose(),h&&l.dispose(),m.sort(function(a,b){return a.retrieve("jxRowData").row-b.retrieve("jxRowData").row}).each(function(a){console.log("moving row "+a.retrieve("jxRowData").row+" to beginning of array");e.unshift(e.splice(a.retrieve("jxRowData").row,
1)[0])}),"desc"==a&&e.reverse(),d.each(function(a,b){a.dom.cell.inject(f);a.dom.cell.store("jxRowData",{row:b});h&&a.dom.row.inject(l)}),g&&g.adopt(f),h&&b&&b.adopt(l)):console.log("not sorting by selection, nothing to sort")},getSelectedRows:function(){var a=[],b=this.selected.get("rows"),d=this.grid.gridTableBody.rows;b.each(function(b){(b=document.id(0<=b&&b<d.length?d[b]:null))&&a.push(b)});return a}});
Jx.Plugin.Grid.Prelighter=new Class({Extends:Jx.Plugin,name:"Prelighter",options:{cell:!1,row:!1,column:!1,rowHeader:!1,columnHeader:!1},init:function(){this.parent();this.bound.lighton=this.lighton.bind(this);this.bound.lightoff=this.lightoff.bind(this);this.bound.mouseleave=this.mouseleave.bind(this)},attach:function(a){if($defined(a)||a instanceof Jx.Grid)this.parent(a),this.grid=a,this.grid.addEvent("gridCellEnter",this.bound.lighton),this.grid.addEvent("gridCellLeave",this.bound.lightoff),this.grid.addEvent("gridRowEnter",
this.bound.lighton),this.grid.addEvent("gridRowLeave",this.bound.lightoff),this.grid.addEvent("gridColumnEnter",this.bound.lighton),this.grid.addEvent("gridColumnLeave",this.bound.lightoff),this.grid.addEvent("gridMouseLeave",this.bound.mouseleave)},detach:function(){this.grid&&(this.grid.removeEvent("gridCellEnter",this.bound.lighton),this.grid.removeEvent("gridCellLeave",this.bound.lightoff),this.grid.removeEvent("gridRowEnter",this.bound.lighton),this.grid.removeEvent("gridRowLeave",this.bound.lightoff),
this.grid.removeEvent("gridColumnEnter",this.bound.lighton),this.grid.removeEvent("gridColumnLeave",this.bound.lightoff),this.grid.removeEvent("gridMouseLeave",this.bound.mouseleave));this.grid=null},activate:function(a){this.options[a]=!0},deactivate:function(a){this.options[a]=!1},lighton:function(a){this.light(a,!0)},lightoff:function(a){this.light(a,!1)},light:function(a,b){var d=a.getParent(),d=d.getParent().getChildren().indexOf(d),e=a.getParent().getChildren().indexOf(a);this.options.cell&&
this.prelightCell(a,b);this.options.row&&this.prelightRow(d,b);this.options.column&&this.prelightColumn(e,b);this.options.rowHeader&&this.prelightRowHeader(d,b);this.options.columnHeader&&this.prelightColumnHeader(e,b)},prelightRowHeader:function(a,b){$defined(this.prelitRowHeader)&&!b?this.prelitRowHeader.removeClass("jxGridRowHeaderPrelight"):b&&(this.prelitRowHeader=0<=a&&a<this.grid.rowTableBody.rows.length?this.grid.rowTableBody.rows[a].cells[0]:null)&&this.prelitRowHeader.addClass("jxGridRowHeaderPrelight")},
prelightColumnHeader:function(a,b){0!==this.grid.colTableBody.rows.length&&($defined(this.prelitColumnHeader)&&!b?this.prelitColumnHeader.removeClass("jxGridColumnHeaderPrelight"):b&&(this.prelitColumnHeader=0<=a&&a<this.grid.colTableBody.rows[0].cells.length?this.grid.colTableBody.rows[0].cells[a]:null)&&this.prelitColumnHeader.addClass("jxGridColumnHeaderPrelight"))},prelightRow:function(a,b){$defined(this.prelitRow)&&!b?this.prelitRow.removeClass("jxGridRowPrelight"):b&&(this.prelitRow=0<=a&&a<
this.grid.gridTableBody.rows.length?this.grid.gridTableBody.rows[a]:null)&&this.prelitRow.addClass("jxGridRowPrelight");this.prelightRowHeader(a,b)},prelightColumn:function(a,b){if(0<=a&&a<this.grid.gridTableBody.rows[0].cells.length){if($defined(this.prelitColumn)&&!b)for(var d=0;d<this.grid.gridTableBody.rows.length;d++)this.grid.gridTableBody.rows[d].cells[this.prelitColumn].removeClass("jxGridColumnPrelight");else if(b)for(this.prelitColumn=a,d=0;d<this.grid.gridTableBody.rows.length;d++)this.grid.gridTableBody.rows[d].cells[a].addClass("jxGridColumnPrelight");
this.prelightColumnHeader(a,b)}},prelightCell:function(a,b){$defined(this.prelitCell)&&!b?this.prelitCell.removeClass("jxGridCellPrelight"):b&&(this.prelitCell=a)&&this.prelitCell.addClass("jxGridCellPrelight")},mouseleave:function(){$defined(this.prelitCell)&&this.prelitCell.removeClass("jxGridCellPrelight");if($defined(this.prelitColumn))for(var a=0;a<this.grid.gridTableBody.rows.length;a++)this.grid.gridTableBody.rows[a].cells[this.prelitColumn].removeClass("jxGridColumnPrelight");$defined(this.prelitRow)&&
this.prelitRow.removeClass("jxGridRowPrelight");$defined(this.prelitColumnHeader)&&this.prelitColumnHeader.removeClass("jxGridColumnHeaderPrelight");$defined(this.prelitRowHeader)&&this.prelitRowHeader.removeClass("jxGridRowHeaderPrelight")}});
Jx.Plugin.Grid.Sorter=new Class({Family:"Jx.Plugin.Grid.Sorter",Extends:Jx.Plugin,name:"Sorter",Binds:["sort","modifyHeaders"],current:null,direction:null,options:{sortableClass:"jxColSortable",ascendingClass:"jxGridColumnSortedAsc",descendingClass:"jxGridColumnSortedDesc"},attach:function(a){if($defined(a)||a instanceof Jx.Grid)this.parent(a),this.grid=a,this.grid.addEvent("gridColumnClick",this.sort),this.grid.addEvent("doneCreateGrid",this.modifyHeaders)},detach:function(){this.grid&&this.grid.removeEvent("gridColumnClick",
this.sort);this.grid=null},modifyHeaders:function(){var a=this.grid,b=a.colObj,d=this.options.sortableClass;a.columns.useHeaders()&&a.columns.columns.each(function(a,f){!a.isHidden()&&a.isSortable()&&b.getElement(".jxGridCol"+f).addClass(d)})},sort:function(a){var b=this.current,d=this.grid,e=d.gridTableBody,f=e.getParent(),g=d.rowTableBody,h=g.getParent(),l=d.row.useHeaders(),d=d.store,m=d.getStrategy("sort"),q=a.retrieve("jxCellData"),r="asc",u=this.options;$defined(q.column)&&q.column.isSortable()&&
(a.hasClass(u.ascendingClass)?(a.removeClass(u.ascendingClass).addClass(u.descendingClass),r="desc"):a.hasClass(u.descendingClass)?a.removeClass(u.descendingClass).addClass(u.ascendingClass):a.addClass(u.ascendingClass),b&&a!=b&&b.removeClass(u.ascendingClass).removeClass(u.descendingClass),this.current=a,this.grid.fireEvent("gridSortStarting"),$defined(q.column.options.sort)&&"function"==Jx.type(q.column.options.sort)?q.column.options.sort(r):m&&(e.dispose(),l&&g.dispose(),d.each(function(a,b){a.dom=
{cell:e.childNodes[b],row:l?g.childNodes[b]:null}}),m.sort(q.column.name,null,r),d.each(function(a,b){a.dom.cell.inject(e);l&&a.dom.row.inject(g)}),f&&f.adopt(e),l&&h&&h.adopt(g)),this.grid.fireEvent("gridSortFinished"))}});
Jx.Plugin.Grid.Resize=new Class({Extends:Jx.Plugin,name:"Resize",Binds:["createHandles","removeHandles"],options:{column:!1,row:!1,tooltip:""},els:{column:[],row:[]},drags:{column:[],row:[]},attach:function(a){if($defined(a)||a instanceof Jx.Grid)this.parent(a),this.grid=a,a.columns.useHeaders()&&(this.grid.addEvent("doneCreateGrid",this.createHandles),this.grid.addEvent("beginCreateGrid",this.removeHandles),this.createHandles())},detach:function(){this.parent();this.grid&&(this.grid.removeEvent("doneCreateGrid",
this.createHandles),this.grid.removeEvent("beginCreateGrid",this.removeHandles));this.grid=null},activate:function(a){$defined(this.options[a])&&(this.options[a]=!0);this.grid.columns.useHeaders()&&this.createHandles()},deactivate:function(a){$defined(this.options[a])&&(this.options[a]=!1);this.createHandles()},removeHandles:function(){["column","row"].each(function(a){this.els[a].each(function(a){a.dispose()});this.els[a]=[];this.drags[a].each(function(a){a.detach()});this.drags[a]=[]},this)},createHandles:function(){var a=
this.grid;this.removeHandles();this.options.column&&a.columns.useHeaders()&&a.columns.columns.each(function(b,d){if(b.isResizable()&&!b.isHidden()){var e=a.colObj.getElement(".jxGridCol"+d+" .jxGridCellContent"),e=(new Element("div",{"class":"jxGridColumnResize",title:""==this.options.tooltip?this.getText({set:"Jx",key:"plugin.resize",value:"tooltip"}):this.getText(this.options.tooltip),events:{dblclick:function(){}}})).inject(e);this.els.column.push(e);this.drags.column.push(new Drag(e,{limit:{y:[0,
0]},snap:2,onBeforeStart:function(a){var b=a.getPosition(a.parentNode).x.toInt();a.setStyles({left:b,right:null})},onStart:function(a){var b=a.getPosition(a.parentNode).x.toInt();a.setStyles({left:b,right:null})},onDrag:function(a){a=a.getPosition(a.parentNode).x.toInt();b.setWidth(a)},onComplete:function(a){a.setStyle("left",null)}}))}},this)},changeText:function(a){this.parent();var b=""==this.options.tooltip?this.getText({set:"Jx",key:"plugin.resize",value:"tooltip"}):this.getText(this.options.tooltip);
["column","row"].each(function(a){this.els[a].each(function(a){a.set("title",b)})},this)}});
Jx.Plugin.Grid.Editor=new Class({Extends:Jx.Plugin,name:"Editor",Binds:["activate","deactivate","changeText","onCellClick"],options:{enabled:!0,blurDelay:500,popup:{use:!0,useLabels:!1,useButtons:!0,button:{submit:{label:"",image:"images/accept.png"},cancel:{label:"",image:"images/cancel.png"}},template:'<div class="jxGridEditorPopup"><div class="jxGridEditorPopupInnerWrapper"></div></div>'},validate:!0,fieldOptions:[{field:"*",type:"Text",options:{},validatorOptions:{validators:[],validateOnBlur:!0,
validateOnChange:!1}}],fieldFormatted:!0,cellChangeFx:{use:!0,success:"#090",error:"#F00"},cellOutline:{use:!0,style:"2px solid #88c3e7"},useKeyboard:!0,keys:{"ctrl+shift+enter":"saveNGoUp",tab:"saveNGoRight","ctrl+enter":"saveNGoDown","shift+tab":"saveNGoLeft",enter:"saveNClose","ctrl+up":"cancelNGoUp","ctrl+right":"cancelNGoRight","ctrl+down":"cancelNGoDown","ctrl+left":"cancelNGoLeft",esc:"cancelNClose",up:"valueIncrement",down:"valueDecrement"},keyboardMethods:{},keypressLoop:!0,linkClickListener:!0},
classes:["jxGridEditorPopup","jxGridEditorPopupInnerWrapper"],activeCell:{field:null,cell:null,span:null,oldValue:null,newValue:{data:null,error:!1},timeoutId:null,data:{},fieldOptions:{}},popup:{domObj:null,innerWarpper:null,closeIcon:null,button:{submit:null,cancel:null}},keyboard:null,keyboardMethods:{},init:function(){this.parent()},attach:function(a){if($defined(a)||a instanceof Jx.Grid){this.parent(a);this.grid=a;this.grid.addEvent("gridCellClick",this.onCellClick);"*"!=this.getFieldOptionsByColName("*").field&&
this.options.fieldOptions.unshift({field:"*",type:"Text",options:{},validatorOptions:{validators:[],validateOnBlur:!0,validateOnChange:!1}});var b=this;this.keyboardMethods={saveNClose:function(a){("Textarea"!=b.activeCell.fieldOptions.type||"Textarea"==b.activeCell.fieldOptions.type&&"enter"!=a.key)&&b.deactivate()},saveNGoUp:function(a){a.preventDefault();b.getPrevCellInCol()},saveNGoRight:function(a){a.preventDefault();b.getNextCellInRow()},saveNGoDown:function(a){a.preventDefault();b.getNextCellInCol()},
saveNGoLeft:function(a){a.preventDefault();b.getPrevCellInRow()},cancelNClose:function(a){a.preventDefault();b.deactivate(!1)},cancelNGoUp:function(a){a.preventDefault();b.getPrevCellInCol(!1)},cancelNGoRight:function(a){a.preventDefault();b.getNextCellInRow(!1)},cancelNGoDown:function(a){a.preventDefault();b.getNextCellInCol(!1)},cancelNGoLeft:function(a){a.preventDefault();b.getPrevCellInRow(!1)},valueIncrement:function(a){a.preventDefault();b.cellValueIncrement(!0)},valueDecrement:function(a){a.preventDefault();
b.cellValueIncrement(!1)}};a={};for(var d in this.options.keys)$defined(this.keyboardMethods[this.options.keys[d]])?a[d]=this.keyboardMethods[this.options.keys[d]]:$defined(this.options.keyboardMethods[this.options.keys[d]])?a[d]=this.options.keyboardMethods[this.options.keys[d]].bind(b):"function"==Jx.type(this.options.keys[d])?a[d]=this.options.keys[d].bind(b):$defined(console)?console.warn("keyboard method %o not defined",this.options.keys[d]):!1;this.keyboard=new Keyboard({events:a});this.addFormatterUriClickListener()}},
detach:function(){this.grid&&this.grid.removeEvent("gridCellClick",this.onCellClick);this.keyboard=this.grid=null},enable:function(){this.options.enabled=!0},disable:function(a,b){a=$defined(a)?a:!0;b=$defined(b)?b:!1;a&&null!=this.activeCell.cell&&this.deactivate(b);this.options.enabled=!1},onCellClick:function(a){this.activate(a)},activate:function(a){if(this.options.enabled&&a){if(this.activeCell.cell)if(this.activeCell.cell!=a){if(!this.deactivate())return}else return;var b=this.grid.getCellData(a);
if(!b||!$defined(b.row)||!$defined(b.column))$defined(console)&&(console.warn("out of grid %o",a),console.warn("data was %o",b));else if(b.column.options.isEditable){this.activeCell.timeoutId&&clearTimeout(g.timeoutId);this.grid.store.moveTo(b.row);var d=this.options,e=this.grid,f=e.getStore();e.columns.getIndexFromGrid(b.column.name);var e=b.column.options,g={oldValue:f.get(b.column.name),newValue:{data:null,error:!1},fieldOptions:this.getFieldOptionsByColName(b.column.name),data:b,cell:a,span:a.getElement("span.jxGridCellContent"),
validator:null,field:null,timeoutId:null},f=g.fieldOptions.options,h,l,m;$defined(b.column.options.validate)&&"boolean"==typeof b.column.options.validate||(b.column.options.validate=d.validate,a.store("jxCellData",b));switch(g.fieldOptions.type){case "Text":case "Color":case "Password":case "File":f.value=g.oldValue;break;case "Textarea":f.value=g.oldValue.replace(/<br \/>/gi,"\n");break;case "Select":f.value=b=g.oldValue.toString();var q=function(a,b){for(var d=0,e=a.length;d<e;d++)a[d].selected=
a[d].value==b?!0:!1;return a};if(f.comboOpts)f.comboOpts=q(f.comboOpts,b);else if(f.optGroups){h=f.optGroups;l=0;for(m=h.length;l<m;l++)h[l].options=q(h[l].options,b);f.optGroups=h}break;default:$defined(console)?console.warn("Fieldtype %o is not supported yet. If you have set a validator for a column, you maybe have forgotton to enter a field type.",g.fieldOptions.type):!1;return}!d.fieldFormatted||null==e.renderer.options.formatter||$defined(e.fieldFormatted)&&!0!=e.fieldFormatted||(f.value=e.renderer.options.formatter.format(f.value),
g.oldValue=f.value);g.field=new (Jx.Field[g.fieldOptions.type.capitalize()])(f);d.validate&&e.validate&&(g.validator=new Jx.Plugin.Field.Validator(g.fieldOptions.validatorOptions),g.validator.attach(g.field));this.activeCell=g;this.setStyles(a);d.useKeyboard&&this.keyboard.activate();"string"==typeof d.blurDelay&&(d.blurDelay=d.blurDelay.toInt()?d.blurDelay.toInt():!1);!1!==d.blurDelay&&"number"==typeof d.blurDelay&&(g.field.field.addEvents({blur:function(){clearTimeout(g.timeoutId);g.timeoutId=this.deactivate.delay(this.options.blurDelay)}.bind(this),
focus:function(){clearTimeout(g.timeoutId)},mouseover:function(){clearTimeout(g.timeoutId)}}),null!=this.popup.domObj&&this.popup.domObj.addEvent("mouseenter",function(){clearTimeout(g.timeoutId)}));g.field.field.focus()}}},deactivate:function(a){var b=null,d=!1,e=this.activeCell,f=this.grid,g=f.store,h=this.options;clearTimeout(e.timeoutId);if(null!==e.field){if((a=$defined(a)?a:!0)&&e.field.getValue().toString()!=e.oldValue.toString()){g.moveTo(e.data.row);switch(e.fieldOptions.type){case "Select":b=
e.field.field.selectedIndex;b=document.id(e.field.field.options[b]).get("value");break;case "Textarea":b=e.field.getValue().replace(/\n/gi,"<br />");break;default:b=e.field.getValue()}a&&(e.newValue.data=b);null==e.validator||e.validator.isValid()||(d=!0,e.field.field.focus.delay(50,e.field.field))}else e.span.show();a&&null!=b&&!1==d?(g.set(e.data.column.name,b),this.addFormatterUriClickListener()):!0==d&&e.span.show();$defined(e.data.row)&&$defined(e.data.index)&&(a=f.row.useHeaders()?e.data.index-
1:e.data.index,this.activeCell.cell=f.gridTableBody.rows[this.activeCell.data.row].cells[a]);h.useKeyboard&&e.field.removeEvent("keypress",this.setKeyboard);h.cellChangeFx.use&&(f=new Fx.Tween(this.activeCell.cell,{duration:250,onComplete:function(a){this.element.removeProperty("style")}}),a=e.cell.getStyle("background-color"),a="transparent"==a?"#fff":a,null!=b&&!1==d?f.start("background-color",h.cellChangeFx.success,a):d&&f.start("background-color",h.cellChangeFx.error,a));if(d)return h.cellChangeFx.use&&
e.field.field.highlight(h.cellChangeFx.error),e.field.field.setStyle("border","1px solid "+h.cellChangeFx.error),e.field.field.focus(),!1;this.keyboard.deactivate();this.unsetActiveField();return!0}},setStyles:function(a){var b,d,e=this.options,f=this.activeCell;e.popup.use?(e.popup.useLabels&&(f.field.options.label=f.data.column.options.header,f.field.render()),b={width:"Select"==f.field.type?a.getContentBoxSize().width+5+"px":a.getContentBoxSize().width-14+"px",margin:"auto 0"},f.field.field.setStyles(b),
this.showPopUp(a)):(b=a.getContentBoxSize(),d={position:"absolute"},b={width:b.width+"px","margin-left":0},f.field.domObj.setStyles(d),f.field.field.setStyles(b),f.field.domObj.inject(document.body),Jx.Widget.prototype.position(f.field.domObj,a,{horizontal:["left left"],vertical:["top top"]}),f.span.hide());e.cellOutline.use&&a.setStyle("outline",e.cellOutline.style)},showPopUp:function(a){null!=this.popup.domObj?(Jx.Widget.prototype.position(this.popup.domObj,a,{horizontal:["left left"],vertical:["top top"]}),
this.activeCell.field.domObj.inject(this.popup.innerWrapper,"top"),this.popup.domObj.show(),this.setPopUpButtons(),this.setPopUpStylesAfterRendering()):this.createPopUp(a)},createPopUp:function(a){a=a.getCoordinates();var b=null,d=null,d=Jx.Widget.prototype.processTemplate(this.options.popup.template,this.classes),b=d.jxGridEditorPopup,d=d.jxGridEditorPopupInnerWrapper;b.setStyles({left:a.left+"px",top:a.top+"px"});this.popup.domObj=b;this.popup.innerWrapper=d;this.popup.closeIcon=null;this.setPopUpButtons();
this.activeCell.field.domObj.inject(this.popup.innerWrapper,"top");this.popup.domObj.inject(document.body);this.setPopUpStylesAfterRendering()},setPopUpStylesAfterRendering:function(){this.options.popup.useButtons&&null!=this.popup.button.submit&&null!=this.popup.button.cancel?this.popup.domObj.setStyle("min-width",this.popup.button.submit.domObj.getSize().x+this.popup.button.cancel.domObj.getSize().x+"px"):(null!=this.popup.button.submit&&this.popup.button.submit.domObj.hide(),null!=this.popup.button.cancel&&
this.popup.button.cancel.domObj.hide());this.activeCell.field.field.setStyle("width","Select"==this.activeCell.field.type?this.popup.domObj.getSize().x-7+"px":this.popup.domObj.getSize().x-17+"px")},setPopUpButtons:function(){var a=this,b={submit:null,cancel:null};this.options.popup.useButtons&&null!=this.popup.innerWrapper&&null==this.popup.button.submit?(b.submit=(new Jx.Button({label:0==this.options.popup.button.submit.label.length?this.getText({set:"Jx",key:"plugin.editor",value:"submitButton"}):
this.getText(this.options.popup.button.submit.label),image:this.options.popup.button.submit.image,onClick:function(){a.deactivate(!0)}})).addTo(this.popup.innerWrapper),b.cancel=(new Jx.Button({label:0==this.options.popup.button.cancel.label.length?this.getText({set:"Jx",key:"plugin.editor",value:"cancelButton"}):this.getText(this.options.popup.button.cancel.label),image:this.options.popup.button.cancel.image,onClick:function(){a.deactivate(!1)}})).addTo(this.popup.innerWrapper)):this.options.popup.useButtons&&
null!=this.popup.button.submit?b={submit:this.popup.button.submit,cancel:this.popup.button.cancel}:!1==this.options.popup.useButtons&&null!=this.popup.button.submit&&(this.popup.button.submit.cleanup(),this.popup.button.cancel.cleanup());this.popup.button=b},unsetActiveField:function(){this.activeCell.field.destroy();null!=this.popup.domObj&&(this.popup.domObj.removeEvent("mouseenter"),this.popup.domObj.hide());this.activeCell.cell.setStyle("outline","0px");this.activeCell={field:null,oldValue:null,
newValue:{data:null,error:!1},cell:null,span:null,timeoutId:null,data:{},fieldOptions:{},validator:null}},unsetPopUp:function(){null!=this.popup.domObj&&(this.popup.domObj.destroy(),this.popup.innerWrapper=null,this.popup.closeIcon=null,this.popup.button.submit=null,this.popup.button.cancel=null)},getNextCellInRow:function(a){a=$defined(a)?a:!0;var b=!0,d=!0,e=this.grid.columns.columns.length,f=0,g=this.activeCell.cell,h=this.options;if(null!=this.activeCell.cell){do{b=0<f?b.getNext("td.jxGridCell:not(.jxGridCellUnattached)"):
g.getNext("td.jxGridCell:not(.jxGridCellUnattached)");if(null==b){d=g.getParent("tr").getNext();if(null==d&&h.keypressLoop)d=g.getParent("tbody").getFirst();else if(null==d&&!h.keypressLoop)return;b=d.getFirst("td.jxGridCell:not(.jxGridCellUnattached)")}d=this.grid.getCellData(b);f++;if(f==2*e){this.deactivate(a);return}}while(d&&!d.column.options.isEditable);!1===a&&this.deactivate(a);this.activate(b)}},getPrevCellInRow:function(a){a=$defined(a)?a:!0;var b,d=0,e,f=this.activeCell.cell,g=this.grid.columns.columns.length,
h=this.options;if(null!=f){do{b=0<d?b.getPrevious("td.jxGridCell:not(.jxGridCellUnattached)"):f.getPrevious("td.jxGridCell:not(.jxGridCellUnattached)");if(null==b){b=f.getParent("tr").getPrevious();if(null==b&&h.keypressLoop)b=f.getParent("tbody").getLast();else if(null==b&&!h.keypressLoop)return;b=b.getLast("td.jxGridCell:not(.jxGridCellUnattached)")}e=this.grid.getCellData(b);d++;if(d==2*g){this.deactivate(a);return}}while(e&&!e.column.options.isEditable);!1===a&&this.deactivate(a);this.activate(b)}},
getNextCellInCol:function(a){var b,d=this.activeCell;a=$defined(a)?a:!0;null!=d.cell&&(b=d.cell.getParent().getNext(),null==b&&(b=d.cell.getParent("tbody").getFirst()),b=b.getElement("td.jxGridCol"+d.data.index),!1===a&&this.deactivate(a),this.activate(b))},getPrevCellInCol:function(a){var b,d=this.activeCell;a=$defined(a)?a:!0;null!=d.cell&&(b=d.cell.getParent().getPrevious(),null==b&&(b=d.cell.getParent("tbody").getLast()),b=b.getElement("td.jxGridCol"+d.data.index),!1===a&&this.deactivate(a),this.activate(b))},
cellValueIncrement:function(a){var b=this.activeCell,d=null;switch(b.data.column.options.dataType){case "numeric":case "currency":d=b.field.getValue().toInt();"number"==typeof d&&(a?d++:d--);break;case "date":d=Date.parse(b.field.getValue()),d instanceof Date&&(a?d.increment():d.decrement(),a=new Jx.Formatter.Date,d=a.format(d))}null!=d&&b.field.setValue(d)},cellIsInGrid:function(a,b){return $defined(a)&&$defined(b)?0<=a&&0<=b&&a<=this.grid.gridTableBody.rows.length&&b<=this.grid.gridTableBody.rows[a].cells.length?
!0:!1:!1},getFieldOptionsByColName:function(a){for(var b=this.options.fieldOptions,d=this.options.fieldOptions[0],e=0,f=b.length;e<f;e++)if(b[e].field==a){d=b[e];break}return d},addFormatterUriClickListener:function(){if(this.options.linkClickListener){var a=[],b,d;this.grid.columns.columns.each(function(b,d){null!=b.options.renderer.options.formatter&&b.options.renderer.options.formatter instanceof Jx.Formatter.Uri&&a.push(d)});this.grid.gridObj.getElements("tr").each(function(e,f){b=e.getElements("td.jxGridCell");
for(var g=0,h=a.length;g<h;g++)if(d=b[a[g]-1].getElement("a"))d.removeEvent("click"),d.addEvent("click",function(a){a.control||a.preventDefault()})})}},changeText:function(a){this.parent();this.options.popup.use&&this.options.popup.useButtons&&null!=this.popup.button.submit&&(this.popup.button.submit.cleanup(),this.popup.button.cancel.cleanup(),this.popup.button.submit=null,this.popup.button.cancel=null,this.setPopUpButtons())}});Jx.Plugin.DataView={};
Jx.Slide=new Class({Family:"Jx.Slide",Implements:Jx.Object,Binds:["handleClick"],options:{target:null,trigger:null,type:"height",setOpenTo:"auto",onSlideOut:$empty,onSlideIn:$empty},init:function(){this.target=document.id(this.options.target);this.target.set("tween",{onComplete:this.setDisplay.bind(this)});$defined(this.options.trigger)&&(this.trigger=document.id(this.options.trigger),this.trigger.addEvent("click",this.handleClick));this.target.store("slider",this)},handleClick:function(){0===this.target.getMarginBoxSize().height?
this.slide("in"):this.slide("out")},setDisplay:function(){0===this.target.getStyle(this.options.type).toInt()?(this.target.setStyle("display","none"),this.fireEvent("slideOut",this.target)):("absolute"!==this.target.getStyle("position")&&this.target.setStyle(this.options.type,this.options.setOpenTo),this.fireEvent("slideIn",this.target))},slide:function(a){"in"===a?(a=this.target.retrieve(this.options.type),this.target.setStyles({overflow:"hidden",display:"block"}),this.target.setStyles(this.options.type,
0),this.target.tween(this.options.type,a)):(a="height"===this.options.type?this.target.getMarginBoxSize().height:this.target.getMarginBoxSize().width,this.target.store(this.options.type,a),this.target.setStyle("overflow","hidden"),this.target.setStyle(this.options.type,a),this.target.tween(this.options.type,0))}});
Jx.Plugin.DataView.GroupFolder=new Class({Extends:Jx.Plugin,options:{headerClass:null},headerState:null,init:function(){this.headerState=new Hash},attach:function(a){if($defined(a)||dataview instanceof Jx.Panel.DataView)this.dv=a,this.dv.addEvent("renderDone",this.setHeaders.bind(this))},setHeaders:function(){this.dv.domA.getElements("."+this.dv.options.groupHeaderClass).each(function(a){var b=a.get("id");a=new Jx.Slide({target:a.getNext(),trigger:b,onSlideOut:this.onSlideOut.bind(this,a),onSlideIn:this.onSlideIn.bind(this,
a)});this.headerState.has(b)?"open"===this.headerState.get(b)?a.slide("in"):a.slide("out"):a.slide("in")},this)},onSlideIn:function(a){this.headerState.set(a.get("id"),"open");a.hasClass(this.options.headerClass+"-closed")&&a.removeClass(this.options.headerClass+"-closed");a.addClass(this.options.headerClass+"-open")},onSlideOut:function(a){this.headerState.set(a.get("id"),"closed");a.hasClass(this.options.headerClass+"-open")&&a.removeClass(this.options.headerClass+"-open");a.addClass(this.options.headerClass+
"-closed")}});Jx.Plugin.Field={};
Jx.Plugin.Field.Validator=new Class({Extends:Jx.Plugin,name:"Field.Validator",options:{validators:[],validateOnBlur:!0,validateOnChange:!0},valid:null,errors:null,validators:null,init:function(){this.parent();this.errors=[];this.validators=new Hash;this.bound.validate=this.validate.bind(this);this.bound.reset=this.reset.bind(this)},attach:function(a){if($defined(a)||a instanceof Jx.Field)this.field=a,this.field.options.required&&!this.options.validators.contains("required")&&(this.options.validators.reverse().push("required"),
this.options.validators.reverse()),this.options.validators.each(function(a){var d=Jx.type(a);"string"===d?this.field.field.addClass(a):"object"===d&&(this.validators.set(a.validator.name,new InputValidator(a.validator.name,a.validator.options)),this.field.field.addClass(a.validatorClass))},this),this.options.validateOnBlur&&this.field.field.addEvent("blur",this.bound.validate),this.options.validateOnChange&&this.field.field.addEvent("change",this.bound.validate),this.field.addEvent("reset",this.bound.reset)},
detach:function(){this.field&&(this.field.field.removeEvent("blur",this.bound.validate),this.field.field.removeEvent("change",this.bound.validate));this.field.removeEvent("reset",this.bound.reset);this.validators=this.field=null},validate:function(){$clear(this.timer);this.timer=this.validateField.delay(50,this)},validateField:function(){this.valid=!0;this.errors=[];this.options.validators.each(function(a){(a="string"===Jx.type(a)?Form.Validator.getValidator(a):this.validators.get(a.validator.name))&&
!a.test(this.field.field)&&(this.valid=!1,this.errors.push(a.getError(this.field.field)))},this);this.valid?(this.field.domObj.removeClass("jxFieldError").addClass("jxFieldSuccess"),this.fireEvent("fieldValidationPassed",[this.field,this])):(this.field.domObj.removeClass("jxFieldSuccess").addClass("jxFieldError"),this.fireEvent("fieldValidationFailed",[this.field,this]));return this.valid},isValid:function(){return this.validateField()},reset:function(){this.valid=null;this.errors=[];this.field.field.removeClass("jxFieldError").removeClass("jxFieldSuccess")},
getErrors:function(){return this.errors}});Jx.Plugin.Form={};
Jx.Plugin.Form.Validator=new Class({Extends:Jx.Plugin,name:"Form.Validator",options:{fields:null,fieldDefaults:{validateOnBlur:!0,validateOnChange:!0},validateOnSubmit:!0,suspendSubmit:!1},errorMessage:null,init:function(){this.parent();this.bound.validate=this.validate.bind(this);this.bound.failed=this.fieldFailed.bind(this);this.bound.passed=this.fieldPassed.bind(this)},attach:function(a){if($defined(a)||a instanceof Jx.Form){this.form=a;var b=this,d=this.options;a.isValid=function(){return b.isValid()};
d.validateOnSubmit&&!d.suspendSubmit?document.id(this.form).addEvent("submit",this.bound.validate):d.suspendSubmit&&document.id(this.form).addEvent("submit",function(a){a.stop()});this.plugins=$H();$H(d.fields).each(function(a,b){var d=$merge(this.options.fieldDefaults,a),h=this.form.getFieldsByName(b).p;h&&h.length&&(p=new Jx.Plugin.Field.Validator(d),this.plugins.set(b,p),p.attach(h[0]),p.addEvent("fieldValidationFailed",this.bound.failed),p.addEvent("fieldValidationPassed",this.bound.passed))},
this)}},detach:function(){this.form&&document.id(this.form).removeEvent("submit");this.form=null;this.plugins.each(function(a){a.detach()},this);this.plugins=null},isValid:function(){return this.validate()},validate:function(){var a=!0;this.errors=$H();this.plugins.each(function(b){b.isValid()||(a=!1,this.errors.set(b.field.id,b.getErrors()))},this);a?this.fireEvent("formValidationPassed",[this.form,this]):this.fireEvent("formValidationFailed",[this.form,this]);return a},fieldFailed:function(a,b){this.fireEvent("fieldValidationFailed",
[a,b])},fieldPassed:function(a,b){this.fireEvent("fieldValidationPassed",[a,b])},getErrors:function(){$defined(this.errors)||this.validate();return this.errors}});Jx.Plugin.ToolbarContainer={};
Jx.Plugin.ToolbarContainer.TabMenu=new Class({Family:"Jx.Plugin.ToolbarContainer.TabMenu",Extends:Jx.Plugin,Binds:["addButton"],options:{},tabs:[],init:function(){this.parent()},attach:function(a){this.parent(a);this.container=a;this.container.options.scroll&&(this.menu=(new Jx.Menu({},{buttonTemplate:'<span class="jxButtonContainer"><a class="jxButton jxButtonMenu jxDiscloser"><span class="jxButtonContent"><span class="jxButtonLabel"></span></span></a></span>'})).addTo(this.container.controls,"bottom"),
document.id(this.menu).addClass("jxTabMenuRevealer"),this.container.update(),a=document.id(this.container).getElement("ul").retrieve("jxToolbar"),a.list.each(function(a){this.addButton(a)},this),a.list.addEvent("add",this.addButton))},detach:function(){this.parent()},addButton:function(a){var b;b=a instanceof Jx.Tab?a:document.id(a).getFirst().retrieve("jxTab");a=b.getLabel();$defined(a)||(a="");var d=new Jx.Menu.Item({label:a,image:b.options.image,onClick:function(){b.isActive()?this.container.scrollIntoView(b):
b.setActive(!0)}.bind(this)});document.id(b).store("menuItem",d);b.addEvent("close",function(){this.menu.remove(d)}.bind(this));this.menu.add([d])}});
Jx.Adaptor=new Class({Extends:Jx.Plugin,Family:"Jx.Adaptor",name:"Jx.Adaptor",options:{template:"",useTemplate:!0,store:null},columnsNeeded:null,init:function(){var a=this.options;this.parent();this.store=a.store;a.useTemplate&&$defined(this.store.getColumns())&&(this.columnsNeeded=this.store.parseTemplate(a.template))},attach:function(a){this.parent(a);this.widget=a},detach:function(){this.parent()}});
Jx.Adaptor.Tree=new Class({Extends:Jx.Adaptor,Family:"Jx.Adaptor.Tree",Binds:["fill","checkFolder"],options:{monitorFolders:!1,startingNodeKey:-1,folderOptions:null,itemOptions:null},folders:null,currentRecord:-1,init:function(){this.folders=new Hash;this.parent()},attach:function(a){this.parent(a);this.tree=a;this.options.monitorFolders&&(this.strategy=this.store.getStrategy("progressive"),$defined(this.strategy)?(this.strategy.options.dropRecords=!1,this.strategy.options.getPaginationParams=function(){return{}}):
(this.strategy=new Jx.Store.Strategy.Progressive({dropRecords:!1,getPaginationParams:function(){return{}}}),this.store.addStrategy(this.strategy)));this.store.addEvent("storeDataLoaded",this.fill)},detach:function(){this.parent();this.store.removeEvent("storeDataLoaded",this.fill)},firstLoad:function(){this.busy="tree";this.tree.setBusy(!0);this.store.load({node:this.options.startingNodeKey})},fill:function(){var a,b,d,e=this.option;"tree"==this.busy?(this.tree.setBusy(!1),this.busy="none"):"folder"==
this.busy&&(this.busyFolder.setBusy(!1),this.busy="none");var f=this.store.count()-1;for(a=this.currentRecord+1;a<=f;a++)b=this.store.fillTemplate(a,e.template,this.columnsNeeded),this.hasChildren(a)?(b=new Jx.TreeFolder($merge(e.folderOptions,{label:b})),e.monitorFolders&&b.addEvent("disclosed",this.checkFolder),this.folders.set(a,b)):b=new Jx.TreeItem($merge(e.itemOptions,{label:b})),document.id(b).store("index",a).store("jxAdaptor",this),this.hasParent(a)?(d=this.getParentIndex(a),d=this.folders.get(d),
d.add(b)):this.tree.add(b);this.currentRecord=f},checkFolder:function(a){var b=a.items();$defined(b)&&0!==b.length||(b=document.id(a).retrieve("index"),b=this.store.get("primaryKey",b),this.busyFolder=a,this.busyFolder.setBusy(!0),this.busy="folder",this.store.load({node:b}))},hasChildren:$empty,hasParent:$empty,getParentIndex:$empty});
Jx.Adaptor.Tree.Mptt=new Class({Family:"Jx.Adaptor.Tree.Mptt",Extends:Jx.Adaptor.Tree,name:"tree.mptt",options:{left:"left",right:"right"},hasChildren:function(a){var b=this.store.get(this.options.left,a).toInt();a=this.store.get(this.options.right,a).toInt();return b+1!==a},hasParent:function(a){a=this.getParentIndex(a);var b=!1;$defined(a)&&(b=!0);return b},getParentIndex:function(a){var b=this.store,d=this.options,e,f,g,h;e=b.get(d.left,a).toInt();f=b.get(d.right,a).toInt();for(a-=1;0<=a;a--)if(g=
b.get(d.left,a).toInt(),h=b.get(d.right,a).toInt(),g<e&&h>f)return a;return null}});
Jx.Adaptor.Tree.Parent=new Class({Extends:Jx.Adaptor.Tree,Family:"Jx.Adaptor.Tree.Parent",options:{parentColumn:"parent",folderColumn:"folder"},hasChildren:function(a){return this.store.get(this.options.folderColumn,a)},hasParent:function(a){return-1!==this.store.get(this.options.parentColumn,a).toInt()?!0:!1},getParentIndex:function(a){a=this.store.get(this.options.parentColumn,a);return this.store.findByColumn("primaryKey",a)}});Jx.Adaptor.Combo={};
Jx.Adaptor.Combo.Fill=new Class({Family:"Jx.Adaptor.Combo.Fill",Extends:Jx.Adaptor,name:"combo.fill",Binds:["fill"],options:{imagePathColumn:null,imageClassColumn:null,selectedFn:null,noRepeats:!1},labels:null,init:function(){this.parent();this.options.noRepeat&&(this.labels=[])},attach:function(a){this.parent(a);this.store.addEvent("storeDataLoaded",this.fill);this.store.loaded&&this.fill()},detach:function(){this.parent();this.store.removeEvent("storeDataLoaded",this.fill)},fill:function(){var a,
b=[],d,e,f=this.options,g=this.options.noRepeat;this.widget.empty();this.store.first();b=[];this.store.each(function(h){a=this.store.fillTemplate(h,f.template,this.columnsNeeded);if(!g||g&&!this.labels.contains(a))d=!1,"function"==$type(f.selectedFn)&&(d=f.selectedFn.run(h)),e={label:a,image:h.get(f.imagePathColumn),imageClass:h.get(f.imageClassColumn),selected:d},b.push(e),g&&this.labels.push(a)},this);this.widget.add(b)}});
Jx.Menu.Context=new Class({Family:"Jx.Menu.Context",Extends:Jx.Menu,parameters:["id"],render:function(){(this.id=document.id(this.options.id))&&this.id.addEvent("contextmenu",this.show.bindWithEvent(this));this.parent()},show:function(a){0!=this.list.count()&&(this.target=a.target,this.contentContainer.setStyle("visibility","hidden"),this.contentContainer.setStyle("display","block"),document.id(document.body).adopt(this.contentContainer),this.contentContainer.setStyles({width:null,height:null}),this.contentContainer.setContentBoxSize(this.subDomObj.getMarginBoxSize()),
this.position(this.contentContainer,document.body,{horizontal:[a.page.x+" left"],vertical:[a.page.y+" top",a.page.y+" bottom"],offsets:this.chromeOffsets}),this.contentContainer.setStyle("visibility",""),this.showChrome(this.contentContainer),document.addEvent("mousedown",this.bound.hide),document.addEvent("keyup",this.bound.keypress),a.stop())}});
Jx.Menu.Separator=new Class({Family:"Jx.Menu.Separator",Extends:Jx.Widget,domObj:null,owner:null,options:{template:"<li class='jxMenuItemContainer jxMenuItem'><span class='jxMenuSeparator'>&nbsp;</span></li>"},classes:new Hash({domObj:"jxMenuItem"}),render:function(){this.parent();this.domObj.store("jxMenuItem",this)},cleanup:function(){this.domObj.eliminate("jxMenuItem");this.owner=null;this.parent()},setOwner:function(a){this.owner=a},hide:$empty,show:$empty});
Jx.Menu.SubMenu=new Class({Family:"Jx.Menu.SubMenu",Extends:Jx.Menu.Item,subDomObj:null,owner:null,visibleItem:null,list:null,options:{template:'<li class="jxMenuItemContainer"><a class="jxMenuItem jxButtonSubMenu"><span class="jxMenuItemContent"><img class="jxMenuItemIcon" src="'+Jx.aPixel.src+'"><span class="jxMenuItemLabel"></span></span></a></li>',position:{horizontal:["right left","left right"],vertical:["top top"]}},render:function(){this.parent();this.open=!1;this.menu=new Jx.Menu(null,{position:this.options.position});
this.menu.domObj=this.domObj},cleanup:function(){this.menu.domObj=null;this.menu.destroy();this.menu=null;this.parent()},setOwner:function(a){this.owner=a;this.menu.owner=a},show:function(){this.open||0==this.menu.list.count()||(this.menu.show(),this.open=!0)},eventInMenu:function(a){return this.visibleItem&&this.visibleItem.eventInMenu&&this.visibleItem.eventInMenu(a)?!0:document.id(a.target).descendantOf(this.domObj)||this.menu.eventInMenu(a)},hide:function(){this.open&&(this.open=!1,this.menu.hide(),
this.visibleItem=null)},add:function(a,b){this.menu.add(a,b,this);return this},remove:function(a){this.menu.remove(a);return this},replace:function(a,b){this.menu.replace(a,b);return this},empty:function(){this.menu.empty()},deactivate:function(a){this.owner&&this.owner.deactivate(a)},isActive:function(){return this.owner?this.owner.isActive():!1},setActive:function(a){this.owner&&this.owner.setActive&&this.owner.setActive(a)},setVisibleItem:function(a){this.visibleItem!=a&&(this.visibleItem&&this.visibleItem.hide&&
this.visibleItem.hide(),this.visibleItem=a,this.visibleItem.show())}});
Jx.Splitter.Snap=new Class({Family:"Jx.Splitter.Snap",Extends:Jx.Object,snap:null,element:null,splitter:null,layout:"vertical",parameters:["snap","element","splitter","events"],init:function(){this.snap=this.options.snap;this.element=this.options.element;this.splitter=this.options.splitter;this.events=this.options.events;var a=this.element.retrieve("jxLayout");a.addEvent("sizeChange",this.sizeChange.bind(this));this.layout=this.splitter.options.layout;var a=a.options,b=this.element.getContentBoxSize();
"vertical"==this.layout?(this.originalSize=b.height,this.minimumSize=a.minHeight?a.minHeight:0):(this.originalSize=b.width,this.minimumSize=a.minWidth?a.minWidth:0);this.events.each(function(a){this.snap.addEvent(a,this.toggleElement.bind(this))},this)},toggleElement:function(){var a=this.element.getContentBoxSize(),b={};"vertical"==this.layout?0==a.height?b.height=this.originalSize:(this.originalSize=a.height,b.height=this.minimumSize):0==a.width?b.width=this.originalSize:(this.originalSize=a.width,
b.width=this.minimumSize);this.element.resize(b);this.splitter.sizeChanged()},sizeChange:function(){var a=this.element.getContentBoxSize();"vertical"==this.layout?0==a.height?(this.snap.addClass("jxSnapClosed"),this.snap.removeClass("jxSnapOpened")):(this.snap.addClass("jxSnapOpened"),this.snap.removeClass("jxSnapClosed")):0==a.width?(this.snap.addClass("jxSnapClosed"),this.snap.removeClass("jxSnapOpened")):(this.snap.addClass("jxSnapOpened"),this.snap.removeClass("jxSnapClosed"))}});
Jx.Tab=new Class({Family:"Jx.Tab",Extends:Jx.Button,content:null,options:{toggleClass:"jxTabToggle",pressedClass:"jxTabPressed",activeClass:"jxTabActive",activeTabClass:"tabContentActive",template:'<span class="jxTabContainer"><a class="jxTab"><span class="jxTabContent"><img class="jxTabIcon" src="'+Jx.aPixel.src+'"><span class="jxTabLabel"></span></span></a><a class="jxTabClose"></a></span>',contentTemplate:'<div class="tabContent"></div>',close:!1,shouldClose:!0},classes:new Hash({domObj:"jxTabContainer",
domA:"jxTab",domImg:"jxTabIcon",domLabel:"jxTabLabel",domClose:"jxTabClose",content:"tabContent"}),render:function(){this.options=$merge(this.options,{toggle:!0});this.parent();this.domObj.store("jxTab",this);this.processElements(this.options.contentTemplate,this.classes);new Jx.Layout(this.content,this.options);!this.options.loadOnDemand||this.options.active?(this.loadContent(this.content),this.options.active&&this.clicked()):this.addEvent("contentLoaded",function(a){this.setActive(!0)}.bind(this));
this.addEvent("down",function(){this.content.addClass(this.options.activeTabClass)}.bind(this));this.addEvent("up",function(){this.content.removeClass(this.options.activeTabClass)}.bind(this));this.domClose&&(this.options.close?(this.domObj.addClass("jxTabClose"),this.domClose.addEvent("click",function(){var a=!0;$defined(this.options.shouldClose)&&(a="function"==typeof this.options.shouldClose?this.options.shouldClose():this.options.shouldClose);a&&this.fireEvent("close")}.bind(this))):this.domClose.dispose())},
clicked:function(a){this.options.enabled&&(this.contentIsLoaded&&this.options.cacheContent?this.setActive(!0):this.options.loadOnDemand||!this.options.cacheContent?this.loadContent(this.content):this.setActive(!0))}});Jx.Button.Tab=new Class({Extends:Jx.Tab,init:function(){console.warn?console.warn("WARNING: Jx.Button.Tab has been renamed to Jx.Tab"):console.log("WARNING: Jx.Button.Tab has been renamed to Jx.Tab");this.parent()}});
Jx.TabSet=new Class({Family:"Jx.TabSet",Extends:Jx.Object,tabs:null,domObj:null,parameters:["domObj","options"],init:function(){this.tabs=[];this.domObj=document.id(this.options.domObj);this.domObj.hasClass("jxTabSetContainer")||this.domObj.addClass("jxTabSetContainer");this.setActiveTabFn=this.setActiveTab.bind(this)},resizeTabBox:function(){this.activeTab&&this.activeTab.content.resize&&this.activeTab.content.resize({forceResize:!0})},add:function(){$A(arguments).flatten().each(function(a){a instanceof
Jx.Tab&&(a.addEvent("down",this.setActiveTabFn),a.tabSet=this,this.domObj.appendChild(a.content),this.tabs.push(a),this.activeTab&&!a.options.active||!a.options.enabled||(a.options.active=!1,a.setActive(!0)))},this);return this},remove:function(a){a instanceof Jx.Tab&&-1!=this.tabs.indexOf(a)&&(this.tabs.erase(a),this.activeTab==a&&this.tabs.length&&this.tabs[0].setActive(!0),a.removeEvent("down",this.setActiveTabFn),a.content.dispose())},setActiveTab:function(a){this.activeTab&&this.activeTab!=a&&
this.activeTab.setActive(!1);this.activeTab=a;this.activeTab.content.resize&&this.activeTab.content.resize({forceResize:!0});this.fireEvent("tabChange",[this,a])}});
Jx.TabBox=new Class({Family:"Jx.TabBox",Extends:Jx.Widget,options:{parent:null,position:"top",height:null,width:null,scroll:!0},tabBar:null,tabSet:null,render:function(){this.parent();this.tabBar=new Jx.Toolbar({position:this.options.position,scroll:this.options.scroll});this.panel=new Jx.Panel({toolbars:[this.tabBar],hideTitle:!0,height:this.options.height,width:this.options.width});this.panel.domObj.addClass("jxTabBox");this.tabSet=new Jx.TabSet(this.panel.content);this.tabSet.addEvent("tabChange",
function(a,b){this.showItem(b)}.bind(this.tabBar));this.domObj=this.panel.domObj;this.panel.addEvent("sizeChange",function(){this.tabSet.resizeTabBox();this.tabBar.domObj.getParent(".jxBarContainer").retrieve("jxBarContainer").update();this.tabBar.domObj.getParent(".jxBarContainer").addClass("jxTabBar"+this.options.position.capitalize())}.bind(this));this.tabBar.addEvents({add:function(){this.domObj.resize({forceResize:!0})}.bind(this),remove:function(){this.domObj.resize({forceResize:!0})}.bind(this)});
this.addEvent("addTo",function(){this.domObj.resize({forceResize:!0})});this.options.parent&&this.addTo(this.options.parent)},add:function(){this.tabBar.add.apply(this.tabBar,arguments);this.tabSet.add.apply(this.tabSet,arguments);$A(arguments).flatten().each(function(a){a.addEvents({close:function(){this.tabBar.remove(a);this.tabSet.remove(a)}.bind(this)})},this);return this},remove:function(a){this.tabBar.remove(a);this.tabSet.remove(a)}});
Jx.Toolbar.Separator=new Class({Family:"Jx.Toolbar.Separator",Extends:Jx.Widget,render:function(){this.domObj=new Element("li",{"class":"jxToolItem"});this.domSpan=new Element("span",{"class":"jxBarSeparator"});this.domObj.appendChild(this.domSpan)}});
Jx.Tree=new Class({Family:"Jx.Tree",Extends:Jx.Widget,parameters:["options","container","selection"],pluginNamespace:"Tree",selection:null,ownsSelection:!1,list:null,dirty:!0,domObj:null,options:{select:!0,template:'<ul class="jxTreeRoot"></ul>'},classes:new Hash({domObj:"jxTreeRoot"}),frozen:!1,render:function(){this.parent();$defined(this.options.container)&&document.id(this.options.container)&&(this.domObj=this.options.container);this.options.selection?this.selection=this.options.selection:this.options.select&&
(this.selection=new Jx.Selection(this.options),this.ownsSelection=!0);this.bound.select=function(a){this.fireEvent("select",a.retrieve("jxTreeItem"))}.bind(this);this.bound.unselect=function(a){this.fireEvent("unselect",a.retrieve("jxTreeItem"))}.bind(this);this.bound.onAdd=function(a){this.update()}.bind(this);this.bound.onRemove=function(a){this.update()}.bind(this);this.selection&&this.ownsSelection&&this.selection.addEvents({select:this.bound.select,unselect:this.bound.unselect});this.list=new Jx.List(this.domObj,
{hover:!0,press:!0,select:!0,onAdd:this.bound.onAdd,onRemove:this.bound.onRemove},this.selection);this.options.parent&&this.addTo(this.options.parent)},freeze:function(){this.frozen=!0},thaw:function(){this.frozen=!1;this.update(!0)},setDirty:function(a){(this.dirty=a)&&this.owner&&this.owner.setDirty&&this.owner.setDirty(a)},add:function(a,b){if("array"==$type(a))a.each(function(a){this.add(a,b)}.bind(this));else return a.addEvents({add:function(a){this.fireEvent("add",a).bind(this)},remove:function(a){this.fireEvent("remove",
a).bind(this)},disclose:function(a){this.fireEvent("disclose",a).bind(this)}}),a.setSelection(this.selection),a.owner=this,this.list.add(a,b),this.setDirty(!0),this.update(!0),this},remove:function(a){a.removeEvents("add");a.removeEvents("remove");a.removeEvents("disclose");a.owner=null;this.list.remove(a);a.setSelection(null);this.setDirty(!0);this.update(!0);return this},replace:function(a,b){a.owner=null;b.owner=this;this.list.replace(a,b);b.setSelection(this.selection);a.setSelection(null);this.setDirty(!0);
this.update(!0);return this},cleanup:function(){this.freeze();this.selection&&this.ownsSelection&&(this.selection.removeEvents({select:this.bound.select,unselect:this.bound.unselect}),this.selection.destroy(),this.selection=null);this.list.removeEvents({remove:this.bound.onRemove,add:this.bound.onAdd});this.list.destroy();this.list=null;this.bound.select=null;this.bound.unselect=null;this.bound.onRemove=null;this.bound.onAdd=null;this.parent()},update:function(a,b){if(this.list&&!this.frozen){$defined(b)&&
(b?this.domObj.removeClass("jxTreeNest"):this.domObj.addClass("jxTreeNest"));var d=this.list.count()-1;this.list.each(function(b,f){var g=f==d;b.retrieve("jxTreeFolder")&&b.retrieve("jxTreeFolder").update(a,g);b.retrieve("jxTreeItem")&&b.retrieve("jxTreeItem").update(g)});this.setDirty(!1)}},items:function(){return this.list.items().map(function(a){return a.retrieve("jxTreeItem")})},empty:function(){this.list.items().each(function(a){(a=a.retrieve("jxTreeItem"))&&a instanceof Jx.TreeFolder&&a.empty();
a&&a instanceof Jx.TreeItem&&(this.remove(a),a.destroy())},this);this.setDirty(!0)},findChild:function(a){if(0==a.length)return!1;var b=a[0],d=!1;this.list.items().some(function(e){var f=e.retrieve("jxTreeItem");f&&f.getLabel()==b&&(d=0<a.length?(e=e.retrieve("jxTreeFolder"))&&1<a.length?e.findChild(a.slice(1,a.length)):f:f);return d});return d},setSelection:function(a){this.selection&&this.ownsSelection&&(this.selection.removeEvents(this.bound),this.selection.destroy(),this.ownsSelection=!1);this.selection=
a;this.list.setSelection(a);this.list.each(function(b){b.retrieve("jxTreeItem").setSelection(a)});return this}});
Jx.TreeItem=new Class({Family:"Jx.TreeItem",Extends:Jx.Widget,selection:null,domObj:null,owner:null,options:{label:"",contextMenu:null,enabled:!0,selectable:!0,image:null,imageClass:"",lastLeafClass:"jxTreeLeafLast",template:'<li class="jxTreeContainer jxTreeLeaf"><img class="jxTreeImage" src="'+Jx.aPixel.src+'" alt="" title=""><a class="jxTreeItem" href="javascript:void(0);"><img class="jxTreeIcon" src="'+Jx.aPixel.src+'" alt="" title=""><span class="jxTreeLabel"></span></a></li>',busyMask:{message:null}},
classes:new Hash({domObj:"jxTreeContainer",domA:"jxTreeItem",domImg:"jxTreeImage",domIcon:"jxTreeIcon",domLabel:"jxTreeLabel"}),render:function(){this.parent();this.domObj=this.elements.get("jxTreeContainer");this.domObj.store("jxTreeItem",this);this.domA.store("jxTreeItem",this);this.options.contextMenu&&this.domA.store("jxContextMenu",this.options.contextMenu);this.domObj.store("jxListTarget",this.domA);this.options.selectable||this.domObj.addClass("jxUnselectable");this.options.id&&(this.domObj.id=
this.options.id);this.options.enabled||this.domObj.addClass("jxDisabled");this.options.image&&this.domIcon&&(this.domIcon.setStyle("backgroundImage","url("+this.options.image+")"),this.options.imageClass&&this.domIcon.addClass(this.options.imageClass));this.options.label&&this.domLabel&&this.setLabel(this.options.label);this.domA&&(this.domA.addEvents({click:this.click.bind(this),dblclick:this.dblclick.bind(this),drag:function(a){a.stop()}}),"undefined"!=typeof Drag&&new Drag(this.domA,{onStart:function(){this.stop()}}));
$defined(this.options.enabled)&&this.enable(this.options.enabled,!0)},setDirty:function(a){a&&this.owner&&this.owner.setDirty&&this.owner.setDirty(a)},finalize:function(){this.destroy()},cleanup:function(){this.domObj.eliminate("jxTreeItem");this.domA.eliminate("jxTreeItem");this.domA.eliminate("jxContextMenu");this.domObj.eliminate("jxListTarget");this.domObj.eliminate("jxListTargetItem");this.domA.removeEvents();this.selection=this.owner=null;this.parent()},update:function(a){a?this.domObj.addClass(this.options.lastLeafClass):
this.domObj.removeClass(this.options.lastLeafClass)},click:function(){this.options.enabled&&this.fireEvent("click",this)},dblclick:function(){this.options.enabled&&this.fireEvent("dblclick",this)},select:function(){this.selection&&this.options.enabled&&this.selection.select(this.domA)},getLabel:function(){return this.options.label},setLabel:function(a){this.options.label=a;this.domLabel&&(this.domLabel.set("html",this.getText(a)),this.setDirty(!0))},setImage:function(a,b){this.domIcon&&$defined(a)&&
(this.options.image=a,this.domIcon.setStyle("backgroundImage","url("+this.options.image+")"),this.setDirty(!0));this.domIcon&&$defined(b)&&(this.domIcon.removeClass(this.options.imageClass),this.options.imageClass=b,this.domIcon.addClass(b),this.setDirty(!0))},enable:function(a,b){if(this.options.enabled!=a||b)this.options.enabled=a,this.options.enabled?(this.domObj.removeClass("jxDisabled"),this.fireEvent("enabled",this)):(this.domObj.addClass("jxDisabled"),this.fireEvent("disabled",this),this.selection&&
this.selection.unselect(document.id(this)))},propertyChanged:function(a){this.options.enabled=a.isEnabled();this.options.enabled?this.domObj.removeClass("jxDisabled"):this.domObj.addClass("jxDisabled")},setSelection:function(a){this.selection=a},setBusy:function(a){this.busy!=a&&(this.busy=a,this.fireEvent("busy",this.busy),this.busy?this.domImg.addClass(this.options.busyClass):this.options.busyClass&&this.domImg.removeClass(this.options.busyClass))},changeText:function(a){this.parent();this.setLabel(this.options.label)}});
Jx.TreeFolder=new Class({Family:"Jx.TreeFolder",Extends:Jx.TreeItem,tree:null,options:{open:!1,select:!1,template:'<li class="jxTreeContainer jxTreeBranch"><img class="jxTreeImage" src="'+Jx.aPixel.src+'" alt="" title=""><a class="jxTreeItem" href="javascript:void(0);"><img class="jxTreeIcon" src="'+Jx.aPixel.src+'" alt="" title=""><span class="jxTreeLabel"></span></a><ul class="jxTree"></ul></li>'},classes:new Hash({domObj:"jxTreeContainer",domA:"jxTreeItem",domImg:"jxTreeImage",domIcon:"jxTreeIcon",
domLabel:"jxTreeLabel",domTree:"jxTree"}),render:function(){this.parent();this.domObj.store("jxTreeFolder",this);this.bound.toggle=this.toggle.bind(this);this.addEvents({click:this.bound.toggle,dblclick:this.bound.toggle});this.domImg&&this.domImg.addEvent("click",this.bound.toggle);this.tree=new Jx.Tree({template:this.options.template,onAdd:function(a){this.update();this.fireEvent("add",a)}.bind(this),onRemove:function(a){this.update();this.fireEvent("remove",a)}.bind(this)},this.domTree);this.options.open?
this.expand():this.collapse()},cleanup:function(){this.domObj.eliminate("jxTreeFolder");this.removeEvents({click:this.bound.toggle,dblclick:this.bound.toggle});this.domImg&&this.domImg.removeEvent("click",this.bound.toggle);this.bound.toggle=null;this.tree.destroy();this.tree=null;this.parent()},add:function(a,b){this.tree.add(a,b);return this},remove:function(a){this.tree.remove(a);return this},replace:function(a,b){this.tree.replace(a,b);return this},items:function(){return this.tree.items()},empty:function(){this.tree.empty()},
update:function(a,b){if(this.domObj.parentNode){if(this.tree.dirty||this.owner&&this.owner.dirty){$defined(b)||(b=this.domObj.hasClass("jxTreeBranchLastOpen")||this.domObj.hasClass("jxTreeBranchLastClosed"));["jxTreeBranchOpen","jxTreeBranchLastOpen","jxTreeBranchClosed","jxTreeBranchLastClosed"].each(function(a){this.removeClass(a)},this.domObj);var d;d="jxTreeBranch"+(b?"Last":"")+(this.options.open?"Open":"Closed");this.domObj.addClass(d)}this.tree.update(a,b)}},toggle:function(){this.options.enabled&&
(this.options.open?this.collapse():this.expand());return this},expand:function(){this.options.open=!0;document.id(this.tree).setStyle("display","block");this.setDirty(!0);this.update(!0);this.fireEvent("disclosed",this);return this},collapse:function(){this.options.open=!1;document.id(this.tree).setStyle("display","none");this.setDirty(!0);this.update(!0);this.fireEvent("disclosed",this);return this},findChild:function(a){return 0==a.length?this:this.tree.findChild(a)},setSelection:function(a){this.tree.setSelection(a);
return this},setDirty:function(a){this.parent(a);this.tree&&this.tree.setDirty(!0)}});
Jx.Slider=new Class({Family:"Jx.Slider",Extends:Jx.Widget,options:{template:'<div class="jxSliderContainer"><div class="jxSliderKnob"></div></div>',max:100,min:0,step:1,mode:"horizontal",wheel:!0,snap:!0,startAt:0,offset:0,onChange:$empty,onComplete:$empty},classes:new Hash({domObj:"jxSliderContainer",knob:"jxSliderKnob"}),slider:null,knob:null,sliderOpts:null,render:function(){this.parent();this.sliderOpts={range:[this.options.min,this.options.max],snap:this.options.snap,mode:this.options.mode,wheel:this.options.wheel,
steps:(this.options.max-this.options.min)/this.options.step,offset:this.options.offset,onChange:this.change.bind(this),onComplete:this.complete.bind(this)}},change:function(a){this.fireEvent("change",[a,this])},complete:function(a){this.fireEvent("complete",[a,this])},start:function(){$defined(this.slider)||(this.slider=new Slider(this.domObj,this.knob,this.sliderOpts));this.slider.set(this.options.startAt)},set:function(a){this.slider.set(a)}});
Jx.Notice=new Class({Family:"Jx.Notice",Extends:Jx.ListItem,options:{fx:"fade",chrome:!1,enabled:!0,template:'<li class="jxNoticeItemContainer"><div class="jxNoticeItem"><span class="jxNotice"></span><a class="jxNoticeClose" href="javascript:void(0);" title="'+MooTools.lang.get("Jx","notice").closeTip+'"></a></div></li>',klass:""},classes:new Hash({domObj:"jxNoticeItemContainer",domItem:"jxNoticeItem",domContent:"jxNotice",domClose:"jxNoticeClose"}),render:function(){this.parent();this.options.klass&&
this.domObj.addClass(this.options.klass);this.domClose&&this.domClose.addEvent("click",this.close.bind(this))},close:function(){this.fireEvent("close",this)},show:function(a,b){this.options.chrome&&this.showChrome();document.id(a).adopt(this);b&&b()},hide:function(a){this.options.chrome&&this.hideChrome();document.id(this).dispose();a&&a()},changeText:function(a){this.parent()}});
Jx.Notice.Information=new Class({Extends:Jx.Notice,options:{template:'<li class="jxNoticeItemContainer"><div class="jxNoticeItem"><img class="jxNoticeIcon" src="'+Jx.aPixel.src+'" title="Success"><span class="jxNotice"></span><a class="jxNoticeClose" href="javascript:void(0);" title="'+MooTools.lang.get("Jx","notice").closeTip+'"></a></div></li>',klass:"jxNoticeInformation"}});
Jx.Notice.Success=new Class({Extends:Jx.Notice,options:{template:'<li class="jxNoticeItemContainer"><div class="jxNoticeItem"><img class="jxNoticeIcon" src="'+Jx.aPixel.src+'" title="Success"><span class="jxNotice"></span><a class="jxNoticeClose" href="javascript:void(0);" title="'+MooTools.lang.get("Jx","notice").closeTip+'"></a></div></li>',klass:"jxNoticeSuccess"}});
Jx.Notice.Warning=new Class({Extends:Jx.Notice,options:{template:'<li class="jxNoticeItemContainer"><div class="jxNoticeItem"><img class="jxNoticeIcon" src="'+Jx.aPixel.src+'" title="Warning"><span class="jxNotice"></span><a class="jxNoticeClose" href="javascript:void(0);" title="'+MooTools.lang.get("Jx","notice").closeTip+'"></a></div></li>',klass:"jxNoticeWarning"}});
Jx.Notice.Error=new Class({Extends:Jx.Notice,options:{template:'<li class="jxNoticeItemContainer"><div class="jxNoticeItem"><img class="jxNoticeIcon" src="'+Jx.aPixel.src+'" title="Error"><span class="jxNotice"></span><a class="jxNoticeClose" href="javascript:void(0);" title="'+MooTools.lang.get("Jx","notice").closeTip+'"></a></div></li>',klass:"jxNoticeError"}});
Jx.Notifier=new Class({Family:"Jx.Notifier",Extends:Jx.ListView,options:{parent:null,template:'<div class="jxNoticeListContainer"><ul class="jxNoticeList"></ul></div>',listOptions:{}},classes:new Hash({domObj:"jxNoticeListContainer",listObj:"jxNoticeList"}),render:function(){this.parent();$defined(this.options.parent)||(this.options.parent=document.body);document.id(this.options.parent).adopt(this.domObj);this.addEvent("postRender",function(){"array"==Jx.type(this.options.items)&&this.options.items.each(function(a){this.add(a)},
this)}.bind(this))},add:function(a){a instanceof Jx.Notice||(a=new Jx.Notice({content:a}));a.addEvent("close",this.remove.bind(this));a.show(this.listObj)},remove:function(a){this.domObj.hasChild(a)&&(a.removeEvents("close"),a.hide())}});
Jx.Notifier.Float=new Class({Family:"Jx.Notifier.Float",Extends:Jx.Notifier,options:{chrome:!0,fx:null,width:250,position:{horizontal:"center center",vertical:"top top"}},render:function(){this.parent();this.domObj.setStyle("position","absolute");$defined(this.options.width)&&this.domObj.setStyle("width",this.options.width);this.position(this.domObj,this.options.parent,this.options.position)},add:function(a){a instanceof Jx.Notice||(a=new Jx.Notice({content:a}));a.options.chrome=this.options.chrome;
this.parent(a)}});
Jx.Scrollbar=new Class({Family:"Jx.Scrollbar",Extends:Jx.Widget,Binds:["scrollIt"],options:{direction:"vertical",useMouseWheel:!0,useScrollers:!0,scrollerInterval:50,template:'<div class="jxScrollbarContainer"><div class="jxScrollLeft"></div><div class="jxSlider"></div><div class="jxScrollRight"></div></div>'},classes:new Hash({domObj:"jxScrollbarContainer",scrollLeft:"jxScrollLeft",scrollRight:"jxScrollRight",sliderHolder:"jxSlider"}),el:null,parameters:["element","options"],render:function(){this.parent();if(this.el=
document.id(this.options.element)){this.el.addClass("jxHas"+this.options.direction.capitalize()+"Scrollbar");var a=this.el.getChildren();this.wrapper=new Element("div",{"class":"jxScrollbarChildWrapper"});this.wrapper.setStyles({width:this.el.getStyle("width"),height:this.el.getStyle("height")});a.inject(this.wrapper);this.wrapper.inject(this.el);this.domObj.inject(this.el);var b=this.wrapper.getScrollSize(),a=this.wrapper.getContentBoxSize();this.steps="horizontal"===this.options.direction?b.x-a.width:
b.y-a.height;this.slider=new Jx.Slider({snap:!1,min:0,max:this.steps,step:1,mode:this.options.direction,onChange:this.scrollIt});if(this.options.useScrollers){this.scrollLeft.addEvents({mousedown:function(){this.slider.slider.set(this.slider.slider.step-this.options.scrollerInterval);this.pid=function(){this.slider.slider.set(this.slider.slider.step-this.options.scrollerInterval)}.periodical(1E3,this)}.bind(this),mouseup:function(){$clear(this.pid)}.bind(this)});this.scrollRight.addEvents({mousedown:function(){this.slider.slider.set(this.slider.slider.step+
this.options.scrollerInterval);this.pid=function(){this.slider.slider.set(this.slider.slider.step+this.options.scrollerInterval)}.periodical(1E3,this)}.bind(this),mouseup:function(){$clear(this.pid)}.bind(this)});var d;"horizontal"===this.options.direction?(b=this.scrollRight.getMarginBoxSize().width,d=this.scrollLeft.getMarginBoxSize().width,a=a.width-b-d,this.sliderHolder.setStyle("width",a+"px")):(b=this.scrollRight.getMarginBoxSize().height,d=this.scrollLeft.getMarginBoxSize().height,a=a.height-
b-d,this.sliderHolder.setStyle("height",a+"px"))}else this.scrollLeft.dispose(),this.scrollRight.dispose(),"horizontal"===this.options.direction?this.sliderHolder.setStyle("width","100%"):this.sliderHolder.setStyle("height","100%");document.id(this.slider).inject(this.sliderHolder);this.options.useMouseWheel&&$$(this.el,this.domObj).addEvent("mousewheel",function(a){a=(new Event(a)).stop();this.slider.slider.set(this.slider.slider.step-30*a.wheel)}.bind(this));document.id(document.body).addEvent("mouseleave",
function(){this.slider.slider.drag.stop()}.bind(this));this.slider.start()}},scrollIt:function(a){this.wrapper.scrollTo("horizontal"===this.options.direction?a:0,"horizontal"===this.options.direction?0:a)}});Jx.Formatter=new Class({Family:"Jx.Formatter",Extends:Jx.Object,format:$empty});
Jx.Formatter.Number=new Class({Extends:Jx.Formatter,options:{precision:2,useParens:!0,useThousands:!0},format:function(a){"string"===Jx.type(a)&&(a=a.split(",").join(""),a=a.toFloat());a=a.toFixed(this.options.precision);a=a.split(".");var b=!0;1===a.length&&(b=!1);var d=!1,e,f="";a[0].contains("-")?(d=!0,e=a[0].substring(1,a[0].length)):e=a[0];if(this.options.useThousands)for(var g=e.length,h=g%3,l=0,m=0;m<g;m++)f+=e.charAt(m),m===h-1&&m!==g-1?f+=this.getText({set:"Jx",key:"formatter.number",value:"thousandsSeparator"}):
m>=h&&(l++,3===l&&m!==g-1&&(f+=this.getText({set:"Jx",key:"formatter.number",value:"thousandsSeparator"}),l=0));else f=a[0];b&&(f=f+this.getText({set:"Jx",key:"formatter.number",value:"decimalSeparator"})+a[1]);d&&this.options.useParens?f="("+f+")":d&&!this.options.useParens&&(f="-"+f);return f},changeText:function(a){this.parent()}});
Jx.Formatter.Currency=new Class({Extends:Jx.Formatter.Number,options:{},format:function(a){this.options.precision=2;a=this.parent(a);var b=!1;if(a.contains("(")||a.contains("-"))b=!0;return b&&!this.options.useParens?"-"+this.getText({set:"Jx",key:"formatter.currency",value:"sign"})+a.substring(1,a.length):this.getText({set:"Jx",key:"formatter.currency",value:"sign"})+a},changeText:function(a){this.parent()}});Jx.Formatter.Date=new Class({Extends:Jx.Formatter,options:{format:"%B %d, %Y"},format:function(a){return Date.parse(a).format(this.options.format)}});
Jx.Formatter.Uri=new Class({Extends:Jx.Formatter,options:{format:'<a href="{string}" target="_blank">{host}</a>'},format:function(a){a=new URI(a);var b={},d=[];this.options.format.match(/\\?\{([^{}]+)\}/g).each(function(a){d.push(a.slice(1,a.length-1))});for(var e=0,f=d.length;e<f;e++)switch(d[e]){case "string":b[d[e]]=a.toString();break;default:b[d[e]]=a.get(d[e])}return this.options.format.substitute(b)}});
Jx.Formatter.Boolean=new Class({Extends:Jx.Formatter,options:{},format:function(a){var b=!1;switch(Jx.type(a)){case "string":"true"===a&&(b=!0);break;case "number":0!==a&&(b=!0);break;case "boolean":b=a;break;default:b=!0}return b?this.getText({set:"Jx",key:"formatter.boolean",value:"true"}):this.getText({set:"Jx",key:"formatter.boolean",value:"false"})},changeText:function(a){this.parent()}});
Jx.Formatter.Phone=new Class({Extends:Jx.Formatter,options:{useParens:!0,separator:"-"},format:function(a){var b=this.options.separator;a=(""+a).replace(/[^0-9]/g,"");var d="";11===a.length&&(d=a.charAt(0),a=a.substring(1));10===a.length&&(d=this.options.useParens?d+"("+a.substring(0,3)+")":d+b+a.substring(0,3)+b,a=a.substring(3));return d=d+a.substring(0,3)+b+a.substring(3)}});
Jx.Formatter.Text=new Class({Extends:Jx.Formatter,options:{length:null,ellipsis:"..."},format:function(a){a=""+a;var b=this.options.length,d=this.options.ellipsis;b&&a.length>b&&(a=a.substr(0,b-d.length)+d);return a}});
Jx.Field.Checkbox=new Class({Extends:Jx.Field,options:{template:'<span class="jxInputContainer"><input class="jxInputCheck" type="checkbox" name="{name}"/><label class="jxInputLabel"></label><span class="jxInputTag"></span></span>',checked:!1,labelSeparator:""},type:"Check",render:function(){this.parent();if($defined(this.options.checked)&&this.options.checked)if(Browser.Engine.trident){var a=this.field.getParent(),b;a&&(b=this.field.getPrevious());this.field.setStyle("visibility","hidden");this.field.inject(document.id(document.body));
this.field.checked=!0;this.field.defaultChecked=!0;this.field.dispose();this.field.setStyle("visibility","visible");b?this.field.inject(b,"after"):a&&this.field.inject(a,"top")}else this.field.set("checked","checked"),this.field.set("defaultChecked","checked");this.label&&this.label.addEvent("click",function(a){this.setValue(null!=this.getValue()?!1:!0)}.bind(this))},setValue:function(a){this.options.readonly||("checked"===a||"true"===a||!0===a?this.field.set("checked","checked"):this.field.erase("checked"))},
getValue:function(){return this.field.get("checked")?this.field.get("value"):null},reset:function(){this.options.checked?this.field.set("checked","checked"):this.field.erase("checked")},getChecked:function(){return this.field.get("checked")}});
Jx.Field.Radio=new Class({Extends:Jx.Field,options:{template:'<span class="jxInputContainer"><input class="jxInputRadio" type="radio" name="{name}"/><label class="jxInputLabel"></label><span class="jxInputTag"></span></span>',checked:!1,labelSeparator:""},type:"Radio",render:function(){this.parent();if($defined(this.options.checked)&&this.options.checked)if(Browser.Engine.trident){var a=this.field.getParent(),b;a&&(b=this.field.getPrevious());this.field.setStyle("visibility","hidden");this.field.inject(document.id(document.body));
this.field.checked=!0;this.field.defaultChecked=!0;this.field.dispose();this.field.setStyle("visibility","visible");b?this.field.inject(b,"after"):a&&this.field.inject(a,"top")}else this.field.set("checked","checked"),this.field.set("defaultChecked","checked");this.label.addEvent("click",function(a){this.field.checked?this.setValue(!1):this.setValue(!0)}.bind(this))},setValue:function(a){this.options.readonly||("checked"===a||"true"===a||!0===a?this.field.set("checked","checked"):this.field.erase("checked"))},
getValue:function(){return this.field.get("checked")?this.field.get("value"):null},reset:function(){this.options.checked?this.field.set("checked","checked"):this.field.erase("checked")}});
Jx.Field.Select=new Class({Extends:Jx.Field,options:{mulitple:!1,size:1,comboOpts:null,optGroups:null,template:'<span class="jxInputContainer"><label class="jxInputLabel"></label><select class="jxInputSelect" name="{name}"></select><span class="jxInputTag"></span></span>'},type:"Select",render:function(){this.parent();this.field.addEvent("change",function(){this.fireEvent("change",this)}.bind(this));$defined(this.options.multiple)&&this.field.set("multiple",this.options.multiple);$defined(this.options.size)&&
this.field.set("size",this.options.size);$defined(this.options.optGroups)?this.options.optGroups.each(function(a){var b=new Element("optGroup");b.set("label",a.name);a.options.each(function(a){var e=new Element("option",{value:a.value,html:this.getText(a.text)});$defined(a.selected)&&a.selected&&e.set("selected","selected");b.grab(e)},this);this.field.grab(b)},this):$defined(this.options.comboOpts)&&this.options.comboOpts.each(function(a){this.addOption(a)},this)},addOption:function(a,b){var d=new Element("option",
{value:a.value,html:this.getText(a.text)});$defined(a.selected)&&a.selected&&d.set("selected","selected");var e="bottom",f=this.field;$defined(b)&&("integer"==Jx.type(b)&&0<=b&&b<f.options.length?(f=this.field.options[b],e="before"):"top"==b&&(e="top"));d.inject(f,e)},removeOption:function(a){},setValue:function(a){this.options.readonly||$$(this.field.options).each(function(b){b.get("value")===a&&document.id(b).set("selected",!0)},this)},getValue:function(){var a=this.field.selectedIndex;if(-1<a){var b=
this.field.options[a].get("value");$defined(b)||(b=this.field.options[a].get("text"));return b}},empty:function(){$defined(this.field.options)&&$A(this.field.options).each(function(a){this.field.remove(a)},this)}});
Jx.Field.Textarea=new Class({Extends:Jx.Field,options:{rows:null,columns:null,template:'<span class="jxInputContainer"><label class="jxInputLabel"></label><textarea class="jxInputTextarea" name="{name}"></textarea><span class="jxInputTag"></span></span>'},type:"Textarea",errorClass:"jxFormErrorTextarea",render:function(){this.parent();$defined(this.options.rows)&&this.field.set("rows",this.options.rows);$defined(this.options.columns)&&this.field.set("cols",this.options.columns)}});
Jx.Field.Button=new Class({Extends:Jx.Field,options:{buttonClass:Jx.Button,buttonOptions:{},template:'<span class="jxInputContainer"><label class="jxInputLabel"></label><div class="jxInputButton"></div><span class="jxInputTag"></span></span>'},button:null,type:"Button",processTemplate:function(a,b,d){a=this.parent(a,b,d);this.button=new this.options.buttonClass(this.options.buttonOptions);this.button.addEvent("click",function(){this.fireEvent("click")}.bind(this));(b=a.get("jxInputButton"))&&this.button.domObj.replaces(b);
this.button.setEnabled(!this.options.disabled);return a},click:function(){this.button.clicked()},enable:function(){this.parent();this.button.setEnabled(!0)},disable:function(){this.parent();this.button.setEnabled(!1)}});
Jx.Field.Combo=new Class({Family:"Jx.Field.Combo",Extends:Jx.Field,pluginNamespace:"Combo",options:{buttonTemplate:'<a class="jxButtonContainer jxButton" href="javascript:void(0);"><img class="jxButtonIcon" src="'+Jx.aPixel.src+'"></a>',template:'<span class="jxInputContainer"><label class="jxInputLabel"></label><span class="jxInputWrapper"><input type="text" class="jxInputCombo"  name="{name}"><img class="jxInputIcon" src="'+Jx.aPixel.src+'"><span class="jxInputRevealer"></span></span><span class="jxInputTag"></span></span>'},
type:"Combo",render:function(){this.classes.combine({wrapper:"jxInputWrapper",revealer:"jxInputRevealer",icon:"jxInputIcon"});this.parent();var a=(new Jx.Button({template:this.options.buttonTemplate,imageClass:"jxInputRevealerIcon"})).addTo(this.revealer);this.menu=new Jx.Menu;this.menu.button=a;this.buttonSet=new Jx.ButtonSet;this.buttonSet=new Jx.ButtonSet({onChange:function(a){a=a.activeButton;var b=a.options.label;"&nbsp;"==b&&(b="");this.setLabel(b);b=a.options.image;-1!=b.indexOf("a_pixel")&&
(b="");this.setImage(b,a.options.imageClass);this.fireEvent("change",this)}.bind(this)});this.options.items&&this.add(this.options.items);var b=this;a.addEvent("click",function(d){0!==this.list.count()&&a.options.enabled&&(this.contentContainer.setStyle("visibility","hidden"),this.contentContainer.setStyle("display","block"),document.id(document.body).adopt(this.contentContainer),this.contentContainer.setContentBoxSize(this.subDomObj.getMarginBoxSize()),this.showChrome(this.contentContainer),this.position(this.contentContainer,
b.field,{horizontal:["left left","right right"],vertical:["bottom top","top bottom"],offsets:this.chromeOffsets}),this.contentContainer.setStyle("visibility",""),document.addEvent("mousedown",this.bound.hide),document.addEvent("keyup",this.bound.keypress),this.fireEvent("show",this))}.bindWithEvent(this.menu));this.menu.addEvents({show:function(){}.bind(this),hide:function(){}.bind(this)})},setLabel:function(a){$defined(this.field)&&(this.field.value=this.getText(a))},setImage:function(a,b){$defined(this.icon)&&
(this.icon.setStyle("background-image","url("+a+")"),this.icon.setStyle("background-repeat","no-repeat"),this.options.imageClass&&this.icon.removeClass(this.options.imageClass),b?(this.options.imageClass=b,this.icon.addClass(b),this.icon.setStyle("background-position","")):(this.options.imageClass=null,this.icon.setStyle("background-position","center center")));a?this.wrapper.removeClass("jxInputIconHidden"):this.wrapper.addClass("jxInputIconHidden")},valueChanged:function(){this.fireEvent("change",
this)},setValue:function(a){this.field.set("value",a);this.buttonSet.buttons.each(function(b){b.setActive(b.options.label===a)},this)},onKeyPress:function(a){"enter"==a.key&&this.valueChanged()},add:function(){$A(arguments).flatten().each(function(a){var b=new Jx.Menu.Item($merge(a,{toggle:!0}));this.menu.add(b);this.buttonSet.add(b);a.selected&&this.buttonSet.setActiveButton(b)},this)},remove:function(a){var b;"number"==$type(a)&&a<this.buttonSet.buttons.length?b=this.buttonSet.buttons[a]:"string"==
$type(a)&&this.buttonSet.buttons.some(function(d){return d.options.label===a?(b=d,!0):!1},this);b&&(this.buttonSet.remove(b),this.menu.remove(b))},empty:function(){this.menu.empty();this.buttonSet.empty();this.setLabel("");this.setImage(Jx.aPixel.src)},enable:function(){this.parent();this.menu.setEnabled(!0)},disable:function(){this.parent();this.menu.setEnabled(!1)}});
Jx.Field.Password=new Class({Extends:Jx.Field,options:{template:'<span class="jxInputContainer"><label class="jxInputLabel" ></label><input class="jxInputPassword" type="password" name="{name}"/><span class="jxInputTag"></span></span>'},type:"Password"});
Jx.Field.Color=new Class({Extends:Jx.Field,Binds:["changed","hide","keyup","changeText"],type:"Color",options:{buttonTemplate:'<a class="jxButtonContainer jxButton" href="javascript:void(0);"><img class="jxButtonIcon" src="'+Jx.aPixel.src+'"></a>',template:'<span class="jxInputContainer"><label class="jxInputLabel"></label><span class="jxInputWrapper"><input type="text" class="jxInputColor"  name="{name}"><img class="jxInputIcon" src="'+Jx.aPixel.src+'"><span class="jxInputRevealer"></span></span><span class="jxInputTag"></span></span>',
showOnHover:!1,showDelay:250,errorMsg:"Invalid Web-Color",color:"#000000"},button:null,validator:null,render:function(){this.classes.combine({wrapper:"jxInputWrapper",revealer:"jxInputRevealer",icon:"jxInputIcon"});this.parent();var a=this;Jx.Field.Color.ColorPalette||(Jx.Field.Color.ColorPalette=new Jx.ColorPalette(this.options));this.button=(new Jx.Button.Flyout({template:this.options.buttonTemplate,imageClass:"jxInputRevealerIcon",positionElement:this.field,onBeforeOpen:function(){Jx.Field.Color.ColorPalette.currentButton&&
Jx.Field.Color.ColorPalette.currentButton.hide();Jx.Field.Color.ColorPalette.currentButton=this;Jx.Field.Color.ColorPalette.addEvent("change",a.changed);Jx.Field.Color.ColorPalette.addEvent("click",a.hide);this.content.appendChild(Jx.Field.Color.ColorPalette.domObj);Jx.Field.Color.ColorPalette.domObj.setStyle("display","block")},onOpen:function(){Jx.Field.Color.ColorPalette.options.color=a.options.color;Jx.Field.Color.ColorPalette.updateSelected()}})).addTo(this.revealer);this.validator=new Jx.Plugin.Field.Validator({validators:[{validatorClass:"colorHex",
validator:{name:"colorValidator",options:{validateOnChange:!1,errorMsg:a.options.errorMsg,test:function(b,d){try{var e=b.get("value").hexToRgb(!0);if(null==e)return!1;for(var f=0;3>f;f++)if("NaN"==e[f].toString())return!1}catch(g){return!1}e=e.rgbToHex().toUpperCase();a.setColor(e);return!0}}}}],validateOnBlur:!0,validateOnChange:!0});this.validator.attach(this);this.field.addEvent("keyup",this.onKeyUp.bind(this));this.options.showOnHover&&this.field.addEvent("mouseenter",function(b){a.button.clicked.delay(a.options.showDelay,
a.button)});this.setValue(this.options.color);this.icon.setStyle("background-color",this.options.color)},onKeyUp:function(a){a=this.getValue();"#"==a.substring(0,1)&&(a=a.substring(1));a.toLowerCase().match(/^[0-9a-f]{6}$/)&&(this.options.color="#"+a.toUpperCase(),this.setColor(this.options.color))},setColor:function(a){this.options.color=a;this.setValue(a);this.icon.setStyle("background-color",a)},changed:function(){this.setColor(Jx.Field.Color.ColorPalette.options.color)},hide:function(){this.button.setActive(!1);
Jx.Field.Color.ColorPalette.removeEvent("change",this.changed);Jx.Field.Color.ColorPalette.removeEvent("click",this.hide);this.button.hide();Jx.Field.Color.ColorPalette.currentButton=null},changeText:function(a){this.parent()}});
var OpenLayers={VERSION_NUMBER:"Release 2.13.1",singleFile:!0,_getScriptLocation:function(){for(var a=/(^|(.*?\/))(OpenLayers[^\/]*?\.js)(\?|$)/,b=document.getElementsByTagName("script"),d,e="",f=0,g=b.length;f<g;f++)if(d=b[f].getAttribute("src"))if(d=d.match(a)){e=d[1];break}return function(){return e}}(),ImgPath:"",String:{startsWith:function(a,b){return 0==a.indexOf(b)},contains:function(a,b){return-1!=a.indexOf(b)},trim:function(a){return a.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},camelize:function(a){a=
a.split("-");for(var b=a[0],d=1,e=a.length;d<e;d++)var f=a[d],b=b+(f.charAt(0).toUpperCase()+f.substring(1));return b},format:function(a,b,d){b||(b=window);return a.replace(OpenLayers.String.tokenRegEx,function(a,f){for(var g,h=f.split(/\.+/),l=0;l<h.length;l++){0==l&&(g=b);if(void 0===g)break;g=g[h[l]]}"function"==typeof g&&(g=d?g.apply(null,d):g());return"undefined"==typeof g?"undefined":g})},tokenRegEx:/\$\{([\w.]+?)\}/g,numberRegEx:/^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/,isNumeric:function(a){return OpenLayers.String.numberRegEx.test(a)},
numericIf:function(a,b){var d=a;!0===b&&null!=a&&a.replace&&(a=a.replace(/^\s*|\s*$/g,""));return OpenLayers.String.isNumeric(a)?parseFloat(a):d}},Number:{decimalSeparator:".",thousandsSeparator:",",limitSigDigs:function(a,b){var d=0;0<b&&(d=parseFloat(a.toPrecision(b)));return d},format:function(a,b,d,e){b="undefined"!=typeof b?b:0;d="undefined"!=typeof d?d:OpenLayers.Number.thousandsSeparator;e="undefined"!=typeof e?e:OpenLayers.Number.decimalSeparator;null!=b&&(a=parseFloat(a.toFixed(b)));var f=
a.toString().split(".");1==f.length&&null==b&&(b=0);a=f[0];if(d)for(var g=/(-?[0-9]+)([0-9]{3})/;g.test(a);)a=a.replace(g,"$1"+d+"$2");0==b?b=a:(d=1<f.length?f[1]:"0",null!=b&&(d+=Array(b-d.length+1).join("0")),b=a+e+d);return b},zeroPad:function(a,b,d){for(a=a.toString(d||10);a.length<b;)a="0"+a;return a}},Function:{bind:function(a,b){var d=Array.prototype.slice.apply(arguments,[2]);return function(){var e=d.concat(Array.prototype.slice.apply(arguments,[0]));return a.apply(b,e)}},bindAsEventListener:function(a,
b){return function(d){return a.call(b,d||window.event)}},False:function(){return!1},True:function(){return!0},Void:function(){}},Array:{filter:function(a,b,d){var e=[];if(Array.prototype.filter)e=a.filter(b,d);else{var f=a.length;if("function"!=typeof b)throw new TypeError;for(var g=0;g<f;g++)if(g in a){var h=a[g];b.call(d,h,g,a)&&e.push(h)}}return e}},Class:function(){var a=arguments.length,b=arguments[0],d=arguments[a-1],e="function"==typeof d.initialize?d.initialize:function(){b.prototype.initialize.apply(this,
arguments)};1<a?(a=[e,b].concat(Array.prototype.slice.call(arguments).slice(1,a-1),d),OpenLayers.inherit.apply(null,a)):e.prototype=d;return e},inherit:function(a,b){var d=function(){};d.prototype=b.prototype;a.prototype=new d;var e,f,d=2;for(e=arguments.length;d<e;d++)f=arguments[d],"function"===typeof f&&(f=f.prototype),OpenLayers.Util.extend(a.prototype,f)}};OpenLayers.Util=OpenLayers.Util||{};
OpenLayers.Util.extend=function(a,b){a=a||{};if(b){for(var d in b){var e=b[d];void 0!==e&&(a[d]=e)}"function"==typeof window.Event&&b instanceof window.Event||!b.hasOwnProperty||!b.hasOwnProperty("toString")||(a.toString=b.toString)}return a};
OpenLayers.Bounds=OpenLayers.Class({left:null,bottom:null,right:null,top:null,centerLonLat:null,initialize:function(a,b,d,e){OpenLayers.Util.isArray(a)&&(e=a[3],d=a[2],b=a[1],a=a[0]);null!=a&&(this.left=OpenLayers.Util.toFloat(a));null!=b&&(this.bottom=OpenLayers.Util.toFloat(b));null!=d&&(this.right=OpenLayers.Util.toFloat(d));null!=e&&(this.top=OpenLayers.Util.toFloat(e))},clone:function(){return new OpenLayers.Bounds(this.left,this.bottom,this.right,this.top)},equals:function(a){var b=!1;null!=
a&&(b=this.left==a.left&&this.right==a.right&&this.top==a.top&&this.bottom==a.bottom);return b},toString:function(){return[this.left,this.bottom,this.right,this.top].join()},toArray:function(a){return!0===a?[this.bottom,this.left,this.top,this.right]:[this.left,this.bottom,this.right,this.top]},toBBOX:function(a,b){null==a&&(a=6);var d=Math.pow(10,a),e=Math.round(this.left*d)/d,f=Math.round(this.bottom*d)/d,g=Math.round(this.right*d)/d,d=Math.round(this.top*d)/d;return!0===b?f+","+e+","+d+","+g:e+
","+f+","+g+","+d},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(){this.centerLonLat||(this.centerLonLat=new OpenLayers.LonLat((this.left+this.right)/2,(this.bottom+this.top)/2));return this.centerLonLat},scale:function(a,b){null==b&&(b=this.getCenterLonLat());var d,e;"OpenLayers.LonLat"==b.CLASS_NAME?(d=b.lon,e=b.lat):(d=b.x,e=b.y);return new OpenLayers.Bounds((this.left-d)*a+d,(this.bottom-e)*a+e,(this.right-d)*a+d,(this.top-e)*a+
e)},add:function(a,b){if(null==a||null==b)throw new TypeError("Bounds.add cannot receive null values");return new OpenLayers.Bounds(this.left+a,this.bottom+b,this.right+a,this.top+b)},extend:function(a){if(a)switch(a.CLASS_NAME){case "OpenLayers.LonLat":this.extendXY(a.lon,a.lat);break;case "OpenLayers.Geometry.Point":this.extendXY(a.x,a.y);break;case "OpenLayers.Bounds":this.centerLonLat=null;if(null==this.left||a.left<this.left)this.left=a.left;if(null==this.bottom||a.bottom<this.bottom)this.bottom=
a.bottom;if(null==this.right||a.right>this.right)this.right=a.right;if(null==this.top||a.top>this.top)this.top=a.top}},extendXY:function(a,b){this.centerLonLat=null;if(null==this.left||a<this.left)this.left=a;if(null==this.bottom||b<this.bottom)this.bottom=b;if(null==this.right||a>this.right)this.right=a;if(null==this.top||b>this.top)this.top=b},containsLonLat:function(a,b){"boolean"===typeof b&&(b={inclusive:b});b=b||{};var d=this.contains(a.lon,a.lat,b.inclusive),e=b.worldBounds;e&&!d&&(d=e.getWidth(),
e=Math.round((a.lon-(e.left+e.right)/2)/d),d=this.containsLonLat({lon:a.lon-e*d,lat:a.lat},{inclusive:b.inclusive}));return d},containsPixel:function(a,b){return this.contains(a.x,a.y,b)},contains:function(a,b,d){null==d&&(d=!0);if(null==a||null==b)return!1;a=OpenLayers.Util.toFloat(a);b=OpenLayers.Util.toFloat(b);var e=!1;return e=d?a>=this.left&&a<=this.right&&b>=this.bottom&&b<=this.top:a>this.left&&a<this.right&&b>this.bottom&&b<this.top},intersectsBounds:function(a,b){"boolean"===typeof b&&(b=
{inclusive:b});b=b||{};if(b.worldBounds){var d=this.wrapDateLine(b.worldBounds);a=a.wrapDateLine(b.worldBounds)}else d=this;null==b.inclusive&&(b.inclusive=!0);var e=!1,f=d.left==a.right||d.right==a.left||d.top==a.bottom||d.bottom==a.top;if(b.inclusive||!f)var e=a.top>=d.bottom&&a.top<=d.top||d.top>a.bottom&&d.top<a.top,f=a.left>=d.left&&a.left<=d.right||d.left>=a.left&&d.left<=a.right,g=a.right>=d.left&&a.right<=d.right||d.right>=a.left&&d.right<=a.right,e=(a.bottom>=d.bottom&&a.bottom<=d.top||d.bottom>=
a.bottom&&d.bottom<=a.top||e)&&(f||g);if(b.worldBounds&&!e){var h=b.worldBounds,f=h.getWidth(),g=!h.containsBounds(d),h=!h.containsBounds(a);g&&!h?(a=a.add(-f,0),e=d.intersectsBounds(a,{inclusive:b.inclusive})):h&&!g&&(d=d.add(-f,0),e=a.intersectsBounds(d,{inclusive:b.inclusive}))}return e},containsBounds:function(a,b,d){null==b&&(b=!1);null==d&&(d=!0);var e=this.contains(a.left,a.bottom,d),f=this.contains(a.right,a.bottom,d),g=this.contains(a.left,a.top,d);a=this.contains(a.right,a.top,d);return b?
e||f||g||a:e&&f&&g&&a},determineQuadrant:function(a){var b="",d=this.getCenterLonLat(),b=b+(a.lat<d.lat?"b":"t");return b+=a.lon<d.lon?"l":"r"},transform:function(a,b){this.centerLonLat=null;var d=OpenLayers.Projection.transform({x:this.left,y:this.bottom},a,b),e=OpenLayers.Projection.transform({x:this.right,y:this.bottom},a,b),f=OpenLayers.Projection.transform({x:this.left,y:this.top},a,b),g=OpenLayers.Projection.transform({x:this.right,y:this.top},a,b);this.left=Math.min(d.x,f.x);this.bottom=Math.min(d.y,
e.y);this.right=Math.max(e.x,g.x);this.top=Math.max(f.y,g.y);return this},wrapDateLine:function(a,b){b=b||{};var d=b.leftTolerance||0,e=b.rightTolerance||0,f=this.clone();if(a){for(var g=a.getWidth();f.left<a.left&&f.right-e<=a.left;)f=f.add(g,0);for(;f.left+d>=a.right&&f.right>a.right;)f=f.add(-g,0);d=f.left+d;d<a.right&&d>a.left&&f.right-e>a.right&&(f=f.add(-g,0))}return f},CLASS_NAME:"OpenLayers.Bounds"});
OpenLayers.Bounds.fromString=function(a,b){var d=a.split(",");return OpenLayers.Bounds.fromArray(d,b)};OpenLayers.Bounds.fromArray=function(a,b){return!0===b?new OpenLayers.Bounds(a[1],a[0],a[3],a[2]):new OpenLayers.Bounds(a[0],a[1],a[2],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=""+("t"==a.charAt(0)?"b":"t");return b+="l"==a.charAt(1)?"r":"l"};
OpenLayers.Element={visible:function(a){return"none"!=OpenLayers.Util.getElement(a).style.display},toggle:function(){for(var a=0,b=arguments.length;a<b;a++){var d=OpenLayers.Util.getElement(arguments[a]),e=OpenLayers.Element.visible(d)?"none":"";d.style.display=e}},remove:function(a){a=OpenLayers.Util.getElement(a);a.parentNode.removeChild(a)},getHeight:function(a){a=OpenLayers.Util.getElement(a);return a.offsetHeight},hasClass:function(a,b){var d=a.className;return!!d&&RegExp("(^|\\s)"+b+"(\\s|$)").test(d)},
addClass:function(a,b){OpenLayers.Element.hasClass(a,b)||(a.className+=(a.className?" ":"")+b);return a},removeClass:function(a,b){var d=a.className;d&&(a.className=OpenLayers.String.trim(d.replace(RegExp("(^|\\s+)"+b+"(\\s+|$)")," ")));return a},toggleClass:function(a,b){OpenLayers.Element.hasClass(a,b)?OpenLayers.Element.removeClass(a,b):OpenLayers.Element.addClass(a,b);return a},getStyle:function(a,b){a=OpenLayers.Util.getElement(a);var d=null;if(a&&a.style){d=a.style[OpenLayers.String.camelize(b)];
d||(document.defaultView&&document.defaultView.getComputedStyle?d=(d=document.defaultView.getComputedStyle(a,null))?d.getPropertyValue(b):null:a.currentStyle&&(d=a.currentStyle[OpenLayers.String.camelize(b)]));var e=["left","top","right","bottom"];window.opera&&-1!=OpenLayers.Util.indexOf(e,b)&&"static"==OpenLayers.Element.getStyle(a,"position")&&(d="auto")}return"auto"==d?null:d}};
OpenLayers.LonLat=OpenLayers.Class({lon:0,lat:0,initialize:function(a,b){OpenLayers.Util.isArray(a)&&(b=a[1],a=a[0]);this.lon=OpenLayers.Util.toFloat(a);this.lat=OpenLayers.Util.toFloat(b)},toString:function(){return"lon="+this.lon+",lat="+this.lat},toShortString:function(){return this.lon+", "+this.lat},clone:function(){return new OpenLayers.LonLat(this.lon,this.lat)},add:function(a,b){if(null==a||null==b)throw new TypeError("LonLat.add cannot receive null values");return new OpenLayers.LonLat(this.lon+
OpenLayers.Util.toFloat(a),this.lat+OpenLayers.Util.toFloat(b))},equals:function(a){var b=!1;null!=a&&(b=this.lon==a.lon&&this.lat==a.lat||isNaN(this.lon)&&isNaN(this.lat)&&isNaN(a.lon)&&isNaN(a.lat));return b},transform:function(a,b){var d=OpenLayers.Projection.transform({x:this.lon,y:this.lat},a,b);this.lon=d.x;this.lat=d.y;return this},wrapDateLine:function(a){var b=this.clone();if(a){for(;b.lon<a.left;)b.lon+=a.getWidth();for(;b.lon>a.right;)b.lon-=a.getWidth()}return b},CLASS_NAME:"OpenLayers.LonLat"});
OpenLayers.LonLat.fromString=function(a){a=a.split(",");return new OpenLayers.LonLat(a[0],a[1])};OpenLayers.LonLat.fromArray=function(a){var b=OpenLayers.Util.isArray(a);return new OpenLayers.LonLat(b&&a[0],b&&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=!1;null!=a&&(b=this.x==a.x&&this.y==a.y||isNaN(this.x)&&isNaN(this.y)&&isNaN(a.x)&&isNaN(a.y));return b},distanceTo:function(a){return Math.sqrt(Math.pow(this.x-a.x,2)+Math.pow(this.y-a.y,2))},add:function(a,b){if(null==a||null==b)throw new TypeError("Pixel.add cannot receive null values");
return new OpenLayers.Pixel(this.x+a,this.y+b)},offset:function(a){var b=this.clone();a&&(b=this.add(a.x,a.y));return b},CLASS_NAME:"OpenLayers.Pixel"});
OpenLayers.Size=OpenLayers.Class({w:0,h:0,initialize:function(a,b){this.w=parseFloat(a);this.h=parseFloat(b)},toString:function(){return"w="+this.w+",h="+this.h},clone:function(){return new OpenLayers.Size(this.w,this.h)},equals:function(a){var b=!1;null!=a&&(b=this.w==a.w&&this.h==a.h||isNaN(this.w)&&isNaN(this.h)&&isNaN(a.w)&&isNaN(a.h));return b},CLASS_NAME:"OpenLayers.Size"});
OpenLayers.Console={log:function(){},debug:function(){},info:function(){},warn:function(){},error:function(){},userError:function(a){alert(a)},assert:function(){},dir:function(){},dirxml:function(){},trace:function(){},group:function(){},groupEnd:function(){},time:function(){},timeEnd:function(){},profile:function(){},profileEnd:function(){},count:function(){},CLASS_NAME:"OpenLayers.Console"};
(function(){for(var a=document.getElementsByTagName("script"),b=0,d=a.length;b<d;++b)if(-1!=a[b].src.indexOf("firebug.js")&&console){OpenLayers.Util.extend(OpenLayers.Console,console);break}})();
OpenLayers.Lang={code:null,defaultCode:"en",getCode:function(){OpenLayers.Lang.code||OpenLayers.Lang.setCode();return OpenLayers.Lang.code},setCode:function(a){var b;a||(a="msie"==OpenLayers.BROWSER_NAME?navigator.userLanguage:navigator.language);a=a.split("-");a[0]=a[0].toLowerCase();"object"==typeof OpenLayers.Lang[a[0]]&&(b=a[0]);if(a[1]){var d=a[0]+"-"+a[1].toUpperCase();"object"==typeof OpenLayers.Lang[d]&&(b=d)}b||(OpenLayers.Console.warn("Failed to find OpenLayers.Lang."+a.join("-")+" dictionary, falling back to default language"),
b=OpenLayers.Lang.defaultCode);OpenLayers.Lang.code=b},translate:function(a,b){var d=OpenLayers.Lang[OpenLayers.Lang.getCode()];(d=d&&d[a])||(d=a);b&&(d=OpenLayers.String.format(d,b));return d}};OpenLayers.i18n=OpenLayers.Lang.translate;OpenLayers.Util=OpenLayers.Util||{};OpenLayers.Util.getElement=function(){for(var a=[],b=0,d=arguments.length;b<d;b++){var e=arguments[b];"string"==typeof e&&(e=document.getElementById(e));if(1==arguments.length)return e;a.push(e)}return a};
OpenLayers.Util.isElement=function(a){return!(!a||1!==a.nodeType)};OpenLayers.Util.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)};OpenLayers.Util.removeItem=function(a,b){for(var d=a.length-1;0<=d;d--)a[d]==b&&a.splice(d,1);return a};OpenLayers.Util.indexOf=function(a,b){if("function"==typeof a.indexOf)return a.indexOf(b);for(var d=0,e=a.length;d<e;d++)if(a[d]==b)return d;return-1};OpenLayers.Util.dotless=/\./g;
OpenLayers.Util.modifyDOMElement=function(a,b,d,e,f,g,h,l){b&&(a.id=b.replace(OpenLayers.Util.dotless,"_"));d&&(a.style.left=d.x+"px",a.style.top=d.y+"px");e&&(a.style.width=e.w+"px",a.style.height=e.h+"px");f&&(a.style.position=f);g&&(a.style.border=g);h&&(a.style.overflow=h);0<=parseFloat(l)&&1>parseFloat(l)?(a.style.filter="alpha(opacity="+100*l+")",a.style.opacity=l):1==parseFloat(l)&&(a.style.filter="",a.style.opacity="")};
OpenLayers.Util.createDiv=function(a,b,d,e,f,g,h,l){var m=document.createElement("div");e&&(m.style.backgroundImage="url("+e+")");a||(a=OpenLayers.Util.createUniqueID("OpenLayersDiv"));f||(f="absolute");OpenLayers.Util.modifyDOMElement(m,a,b,d,f,g,h,l);return m};
OpenLayers.Util.createImage=function(a,b,d,e,f,g,h,l){var m=document.createElement("img");a||(a=OpenLayers.Util.createUniqueID("OpenLayersDiv"));f||(f="relative");OpenLayers.Util.modifyDOMElement(m,a,b,d,f,g,null,h);l&&(m.style.display="none",b=function(){m.style.display="";OpenLayers.Event.stopObservingElement(m)},OpenLayers.Event.observe(m,"load",b),OpenLayers.Event.observe(m,"error",b));m.style.alt=a;m.galleryImg="no";e&&(m.src=e);return m};OpenLayers.IMAGE_RELOAD_ATTEMPTS=0;
OpenLayers.Util.alphaHackNeeded=null;OpenLayers.Util.alphaHack=function(){if(null==OpenLayers.Util.alphaHackNeeded){var a=navigator.appVersion.split("MSIE"),a=parseFloat(a[1]),b=!1;try{b=!!document.body.filters}catch(d){}OpenLayers.Util.alphaHackNeeded=b&&5.5<=a&&7>a}return OpenLayers.Util.alphaHackNeeded};
OpenLayers.Util.modifyAlphaImageDiv=function(a,b,d,e,f,g,h,l,m){OpenLayers.Util.modifyDOMElement(a,b,d,e,g,null,null,m);b=a.childNodes[0];f&&(b.src=f);OpenLayers.Util.modifyDOMElement(b,a.id+"_innerImage",null,e,"relative",h);OpenLayers.Util.alphaHack()&&("none"!=a.style.display&&(a.style.display="inline-block"),null==l&&(l="scale"),a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+b.src+"', sizingMethod='"+l+"')",0<=parseFloat(a.style.opacity)&&1>parseFloat(a.style.opacity)&&
(a.style.filter+=" alpha(opacity="+100*a.style.opacity+")"),b.style.filter="alpha(opacity=0)")};OpenLayers.Util.createAlphaImageDiv=function(a,b,d,e,f,g,h,l,m){var q=OpenLayers.Util.createDiv();m=OpenLayers.Util.createImage(null,null,null,null,null,null,null,m);m.className="olAlphaImg";q.appendChild(m);OpenLayers.Util.modifyAlphaImageDiv(q,a,b,d,e,f,g,h,l);return q};OpenLayers.Util.upperCaseObject=function(a){var b={},d;for(d in a)b[d.toUpperCase()]=a[d];return b};
OpenLayers.Util.applyDefaults=function(a,b){a=a||{};var d="function"==typeof window.Event&&b instanceof window.Event,e;for(e in b)if(void 0===a[e]||!d&&b.hasOwnProperty&&b.hasOwnProperty(e)&&!a.hasOwnProperty(e))a[e]=b[e];!d&&b&&b.hasOwnProperty&&b.hasOwnProperty("toString")&&!a.hasOwnProperty("toString")&&(a.toString=b.toString);return a};
OpenLayers.Util.getParameterString=function(a){var b=[],d;for(d in a){var e=a[d];if(null!=e&&"function"!=typeof e){if("object"==typeof e&&e.constructor==Array){for(var f=[],g,h=0,l=e.length;h<l;h++)g=e[h],f.push(encodeURIComponent(null===g||void 0===g?"":g));e=f.join(",")}else e=encodeURIComponent(e);b.push(encodeURIComponent(d)+"="+e)}}return b.join("&")};OpenLayers.Util.urlAppend=function(a,b){var d=a;if(b)var e=(a+" ").split(/[?&]/),d=d+(" "===e.pop()?b:e.length?"&"+b:"?"+b);return d};
OpenLayers.Util.getImagesLocation=function(){return OpenLayers.ImgPath||OpenLayers._getScriptLocation()+"img/"};OpenLayers.Util.getImageLocation=function(a){return OpenLayers.Util.getImagesLocation()+a};OpenLayers.Util.Try=function(){for(var a=null,b=0,d=arguments.length;b<d;b++){var e=arguments[b];try{a=e();break}catch(f){}}return a};
OpenLayers.Util.getXmlNodeValue=function(a){var b=null;OpenLayers.Util.Try(function(){b=a.text;b||(b=a.textContent);b||(b=a.firstChild.nodeValue)},function(){b=a.textContent});return b};OpenLayers.Util.mouseLeft=function(a,b){for(var d=a.relatedTarget?a.relatedTarget:a.toElement;d!=b&&null!=d;)d=d.parentNode;return d!=b};OpenLayers.Util.DEFAULT_PRECISION=14;OpenLayers.Util.toFloat=function(a,b){null==b&&(b=OpenLayers.Util.DEFAULT_PRECISION);"number"!==typeof a&&(a=parseFloat(a));return 0===b?a:parseFloat(a.toPrecision(b))};
OpenLayers.Util.rad=function(a){return a*Math.PI/180};OpenLayers.Util.deg=function(a){return 180*a/Math.PI};OpenLayers.Util.VincentyConstants={a:6378137,b:6356752.3142,f:1/298.257223563};
OpenLayers.Util.distVincenty=function(a,b){for(var d=OpenLayers.Util.VincentyConstants,e=d.a,f=d.b,d=d.f,g=OpenLayers.Util.rad(b.lon-a.lon),h=Math.atan((1-d)*Math.tan(OpenLayers.Util.rad(a.lat))),l=Math.atan((1-d)*Math.tan(OpenLayers.Util.rad(b.lat))),m=Math.sin(h),h=Math.cos(h),q=Math.sin(l),l=Math.cos(l),r=g,u=2*Math.PI,z=20;1E-12<Math.abs(r-u)&&0<--z;){var v=Math.sin(r),B=Math.cos(r),D=Math.sqrt(l*v*l*v+(h*q-m*l*B)*(h*q-m*l*B));if(0==D)return 0;var B=m*q+h*l*B,C=Math.atan2(D,B),E=Math.asin(h*l*
v/D),F=Math.cos(E)*Math.cos(E),v=B-2*m*q/F,P=d/16*F*(4+d*(4-3*F)),u=r,r=g+(1-P)*d*Math.sin(E)*(C+P*D*(v+P*B*(-1+2*v*v)))}if(0==z)return NaN;e=F*(e*e-f*f)/(f*f);d=e/1024*(256+e*(-128+e*(74-47*e)));return(f*(1+e/16384*(4096+e*(-768+e*(320-175*e))))*(C-d*D*(v+d/4*(B*(-1+2*v*v)-d/6*v*(-3+4*D*D)*(-3+4*v*v))))).toFixed(3)/1E3};
OpenLayers.Util.destinationVincenty=function(a,b,d){var e=OpenLayers.Util,f=e.VincentyConstants,g=f.a,h=f.b,l=f.f,f=a.lon;a=a.lat;var m=e.rad(b);b=Math.sin(m);m=Math.cos(m);a=(1-l)*Math.tan(e.rad(a));var q=1/Math.sqrt(1+a*a),r=a*q,u=Math.atan2(a,m);a=q*b;for(var z=1-a*a,g=z*(g*g-h*h)/(h*h),v=1+g/16384*(4096+g*(-768+g*(320-175*g))),B=g/1024*(256+g*(-128+g*(74-47*g))),g=d/(h*v),D=2*Math.PI;1E-12<Math.abs(g-D);)var C=Math.cos(2*u+g),E=Math.sin(g),F=Math.cos(g),P=B*E*(C+B/4*(F*(-1+2*C*C)-B/6*C*(-3+4*
E*E)*(-3+4*C*C))),D=g,g=d/(h*v)+P;d=r*E-q*F*m;h=Math.atan2(r*F+q*E*m,(1-l)*Math.sqrt(a*a+d*d));b=Math.atan2(E*b,q*F-r*E*m);m=l/16*z*(4+l*(4-3*z));C=b-(1-m)*l*a*(g+m*E*(C+m*F*(-1+2*C*C)));Math.atan2(a,-d);return new OpenLayers.LonLat(f+e.deg(C),e.deg(h))};
OpenLayers.Util.getParameters=function(a,b){b=b||{};a=null===a||void 0===a?window.location.href:a;var d="";if(OpenLayers.String.contains(a,"?"))var e=a.indexOf("?")+1,d=OpenLayers.String.contains(a,"#")?a.indexOf("#"):a.length,d=a.substring(e,d);for(var e={},d=d.split(/[&;]/),f=0,g=d.length;f<g;++f){var h=d[f].split("=");if(h[0]){var l=h[0];try{l=decodeURIComponent(l)}catch(m){l=unescape(l)}h=(h[1]||"").replace(/\+/g," ");try{h=decodeURIComponent(h)}catch(q){h=unescape(h)}!1!==b.splitArgs&&(h=h.split(","));
1==h.length&&(h=h[0]);e[l]=h}}return e};OpenLayers.Util.lastSeqID=0;OpenLayers.Util.createUniqueID=function(a){a=null==a?"id_":a.replace(OpenLayers.Util.dotless,"_");OpenLayers.Util.lastSeqID+=1;return a+OpenLayers.Util.lastSeqID};OpenLayers.INCHES_PER_UNIT={inches:1,ft:12,mi:63360,m:39.37,km:39370,dd:4374754,yd:36};OpenLayers.INCHES_PER_UNIT["in"]=OpenLayers.INCHES_PER_UNIT.inches;OpenLayers.INCHES_PER_UNIT.degrees=OpenLayers.INCHES_PER_UNIT.dd;OpenLayers.INCHES_PER_UNIT.nmi=1852*OpenLayers.INCHES_PER_UNIT.m;
OpenLayers.METERS_PER_INCH=0.0254000508001016;
OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{Inch:OpenLayers.INCHES_PER_UNIT.inches,Meter:1/OpenLayers.METERS_PER_INCH,Foot:0.3048006096012192/OpenLayers.METERS_PER_INCH,IFoot:0.3048/OpenLayers.METERS_PER_INCH,ClarkeFoot:0.3047972651151/OpenLayers.METERS_PER_INCH,SearsFoot:0.30479947153867626/OpenLayers.METERS_PER_INCH,GoldCoastFoot:0.3047997101815088/OpenLayers.METERS_PER_INCH,IInch:0.0254/OpenLayers.METERS_PER_INCH,MicroInch:2.54E-5/OpenLayers.METERS_PER_INCH,Mil:2.54E-8/OpenLayers.METERS_PER_INCH,
Centimeter:0.01/OpenLayers.METERS_PER_INCH,Kilometer:1E3/OpenLayers.METERS_PER_INCH,Yard:0.9144018288036576/OpenLayers.METERS_PER_INCH,SearsYard:0.914398414616029/OpenLayers.METERS_PER_INCH,IndianYard:0.9143985307444408/OpenLayers.METERS_PER_INCH,IndianYd37:0.91439523/OpenLayers.METERS_PER_INCH,IndianYd62:0.9143988/OpenLayers.METERS_PER_INCH,IndianYd75:0.9143985/OpenLayers.METERS_PER_INCH,IndianFoot:0.30479951/OpenLayers.METERS_PER_INCH,IndianFt37:0.30479841/OpenLayers.METERS_PER_INCH,IndianFt62:0.3047996/
OpenLayers.METERS_PER_INCH,IndianFt75:0.3047995/OpenLayers.METERS_PER_INCH,Mile:1609.3472186944373/OpenLayers.METERS_PER_INCH,IYard:0.9144/OpenLayers.METERS_PER_INCH,IMile:1609.344/OpenLayers.METERS_PER_INCH,NautM:1852/OpenLayers.METERS_PER_INCH,"Lat-66":110943.31648893273/OpenLayers.METERS_PER_INCH,"Lat-83":110946.25736872235/OpenLayers.METERS_PER_INCH,Decimeter:0.1/OpenLayers.METERS_PER_INCH,Millimeter:0.001/OpenLayers.METERS_PER_INCH,Dekameter:10/OpenLayers.METERS_PER_INCH,Decameter:10/OpenLayers.METERS_PER_INCH,
Hectometer:100/OpenLayers.METERS_PER_INCH,GermanMeter:1.0000135965/OpenLayers.METERS_PER_INCH,CaGrid:0.999738/OpenLayers.METERS_PER_INCH,ClarkeChain:20.1166194976/OpenLayers.METERS_PER_INCH,GunterChain:20.11684023368047/OpenLayers.METERS_PER_INCH,BenoitChain:20.116782494375872/OpenLayers.METERS_PER_INCH,SearsChain:20.11676512155/OpenLayers.METERS_PER_INCH,ClarkeLink:0.201166194976/OpenLayers.METERS_PER_INCH,GunterLink:0.2011684023368047/OpenLayers.METERS_PER_INCH,BenoitLink:0.20116782494375873/OpenLayers.METERS_PER_INCH,
SearsLink:0.2011676512155/OpenLayers.METERS_PER_INCH,Rod:5.02921005842012/OpenLayers.METERS_PER_INCH,IntnlChain:20.1168/OpenLayers.METERS_PER_INCH,IntnlLink:0.201168/OpenLayers.METERS_PER_INCH,Perch:5.02921005842012/OpenLayers.METERS_PER_INCH,Pole:5.02921005842012/OpenLayers.METERS_PER_INCH,Furlong:201.1684023368046/OpenLayers.METERS_PER_INCH,Rood:3.778266898/OpenLayers.METERS_PER_INCH,CapeFoot:0.3047972615/OpenLayers.METERS_PER_INCH,Brealey:375/OpenLayers.METERS_PER_INCH,ModAmFt:0.304812252984506/
OpenLayers.METERS_PER_INCH,Fathom:1.8288/OpenLayers.METERS_PER_INCH,"NautM-UK":1853.184/OpenLayers.METERS_PER_INCH,"50kilometers":5E4/OpenLayers.METERS_PER_INCH,"150kilometers":15E4/OpenLayers.METERS_PER_INCH});
OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{mm:OpenLayers.INCHES_PER_UNIT.Meter/1E3,cm:OpenLayers.INCHES_PER_UNIT.Meter/100,dm:100*OpenLayers.INCHES_PER_UNIT.Meter,km:1E3*OpenLayers.INCHES_PER_UNIT.Meter,kmi:OpenLayers.INCHES_PER_UNIT.nmi,fath:OpenLayers.INCHES_PER_UNIT.Fathom,ch:OpenLayers.INCHES_PER_UNIT.IntnlChain,link:OpenLayers.INCHES_PER_UNIT.IntnlLink,"us-in":OpenLayers.INCHES_PER_UNIT.inches,"us-ft":OpenLayers.INCHES_PER_UNIT.Foot,"us-yd":OpenLayers.INCHES_PER_UNIT.Yard,"us-ch":OpenLayers.INCHES_PER_UNIT.GunterChain,
"us-mi":OpenLayers.INCHES_PER_UNIT.Mile,"ind-yd":OpenLayers.INCHES_PER_UNIT.IndianYd37,"ind-ft":OpenLayers.INCHES_PER_UNIT.IndianFt37,"ind-ch":20.11669506/OpenLayers.METERS_PER_INCH});OpenLayers.DOTS_PER_INCH=72;OpenLayers.Util.normalizeScale=function(a){return 1<a?1/a:a};OpenLayers.Util.getResolutionFromScale=function(a,b){var d;a&&(null==b&&(b="degrees"),d=1/(OpenLayers.Util.normalizeScale(a)*OpenLayers.INCHES_PER_UNIT[b]*OpenLayers.DOTS_PER_INCH));return d};
OpenLayers.Util.getScaleFromResolution=function(a,b){null==b&&(b="degrees");return a*OpenLayers.INCHES_PER_UNIT[b]*OpenLayers.DOTS_PER_INCH};
OpenLayers.Util.pagePosition=function(a){var b=[0,0],d=OpenLayers.Util.getViewportElement();if(!a||a==window||a==d)return b;var e=OpenLayers.IS_GECKO&&document.getBoxObjectFor&&"absolute"==OpenLayers.Element.getStyle(a,"position")&&(""==a.style.top||""==a.style.left),f=null;if(a.getBoundingClientRect)a=a.getBoundingClientRect(),f=window.pageYOffset||d.scrollTop,b[0]=a.left+(window.pageXOffset||d.scrollLeft),b[1]=a.top+f;else if(document.getBoxObjectFor&&!e)a=document.getBoxObjectFor(a),d=document.getBoxObjectFor(d),
b[0]=a.screenX-d.screenX,b[1]=a.screenY-d.screenY;else{b[0]=a.offsetLeft;b[1]=a.offsetTop;f=a.offsetParent;if(f!=a)for(;f;)b[0]+=f.offsetLeft,b[1]+=f.offsetTop,f=f.offsetParent;d=OpenLayers.BROWSER_NAME;if("opera"==d||"safari"==d&&"absolute"==OpenLayers.Element.getStyle(a,"position"))b[1]-=document.body.offsetTop;for(f=a.offsetParent;f&&f!=document.body;){b[0]-=f.scrollLeft;if("opera"!=d||"TR"!=f.tagName)b[1]-=f.scrollTop;f=f.offsetParent}}return b};
OpenLayers.Util.getViewportElement=function(){var a=arguments.callee.viewportElement;void 0==a&&(a="msie"==OpenLayers.BROWSER_NAME&&"CSS1Compat"!=document.compatMode?document.body:document.documentElement,arguments.callee.viewportElement=a);return a};
OpenLayers.Util.isEquivalentUrl=function(a,b,d){d=d||{};OpenLayers.Util.applyDefaults(d,{ignoreCase:!0,ignorePort80:!0,ignoreHash:!0,splitArgs:!1});a=OpenLayers.Util.createUrlObject(a,d);b=OpenLayers.Util.createUrlObject(b,d);for(var e in a)if("args"!==e&&a[e]!=b[e])return!1;for(e in a.args){if(a.args[e]!=b.args[e])return!1;delete b.args[e]}for(e in b.args)return!1;return!0};
OpenLayers.Util.createUrlObject=function(a,b){b=b||{};if(!/^\w+:\/\//.test(a)){var d=window.location,e=d.port?":"+d.port:"",e=d.protocol+"//"+d.host.split(":").shift()+e;0===a.indexOf("/")?a=e+a:(d=d.pathname.split("/"),d.pop(),a=e+d.join("/")+"/"+a)}b.ignoreCase&&(a=a.toLowerCase());d=document.createElement("a");d.href=a;e={};e.host=d.host.split(":").shift();e.protocol=d.protocol;e.port=b.ignorePort80?"80"==d.port||"0"==d.port?"":d.port:""==d.port||"0"==d.port?"80":d.port;e.hash=b.ignoreHash||"#"===
d.hash?"":d.hash;var f=d.search;f||(f=a.indexOf("?"),f=-1!=f?a.substr(f):"");e.args=OpenLayers.Util.getParameters(f,{splitArgs:b.splitArgs});e.pathname="/"==d.pathname.charAt(0)?d.pathname:"/"+d.pathname;return e};OpenLayers.Util.removeTail=function(a){var b=null,b=a.indexOf("?"),d=a.indexOf("#");return b=-1==b?-1!=d?a.substr(0,d):a:-1!=d?a.substr(0,Math.min(b,d)):a.substr(0,b)};OpenLayers.IS_GECKO=function(){var a=navigator.userAgent.toLowerCase();return-1==a.indexOf("webkit")&&-1!=a.indexOf("gecko")}();
OpenLayers.CANVAS_SUPPORTED=function(){var a=document.createElement("canvas");return!(!a.getContext||!a.getContext("2d"))}();OpenLayers.BROWSER_NAME=function(){var a="",b=navigator.userAgent.toLowerCase();-1!=b.indexOf("opera")?a="opera":-1!=b.indexOf("msie")?a="msie":-1!=b.indexOf("safari")?a="safari":-1!=b.indexOf("mozilla")&&(a=-1!=b.indexOf("firefox")?"firefox":"mozilla");return a}();OpenLayers.Util.getBrowserName=function(){return OpenLayers.BROWSER_NAME};
OpenLayers.Util.getRenderedDimensions=function(a,b,d){var e,f,g=document.createElement("div");g.style.visibility="hidden";for(var h=d&&d.containerElement?d.containerElement:document.body,l=!1,m=null,q=h;q&&"body"!=q.tagName.toLowerCase();){var r=OpenLayers.Element.getStyle(q,"position");if("absolute"==r){l=!0;break}else if(r&&"static"!=r)break;q=q.parentNode}!l||0!==h.clientHeight&&0!==h.clientWidth||(m=document.createElement("div"),m.style.visibility="hidden",m.style.position="absolute",m.style.overflow=
"visible",m.style.width=document.body.clientWidth+"px",m.style.height=document.body.clientHeight+"px",m.appendChild(g));g.style.position="absolute";b&&(b.w?(e=b.w,g.style.width=e+"px"):b.h&&(f=b.h,g.style.height=f+"px"));d&&d.displayClass&&(g.className=d.displayClass);b=document.createElement("div");b.innerHTML=a;b.style.overflow="visible";if(b.childNodes)for(a=0,d=b.childNodes.length;a<d;a++)b.childNodes[a].style&&(b.childNodes[a].style.overflow="visible");g.appendChild(b);m?h.appendChild(m):h.appendChild(g);
e||(e=parseInt(b.scrollWidth),g.style.width=e+"px");f||(f=parseInt(b.scrollHeight));g.removeChild(b);m?(m.removeChild(g),h.removeChild(m)):h.removeChild(g);return new OpenLayers.Size(e,f)};
OpenLayers.Util.getScrollbarWidth=function(){var a=OpenLayers.Util._scrollbarWidth;if(null==a){var b=null,d=null,b=a=0,b=document.createElement("div");b.style.position="absolute";b.style.top="-1000px";b.style.left="-1000px";b.style.width="100px";b.style.height="50px";b.style.overflow="hidden";d=document.createElement("div");d.style.width="100%";d.style.height="200px";b.appendChild(d);document.body.appendChild(b);a=d.offsetWidth;b.style.overflow="scroll";b=d.offsetWidth;document.body.removeChild(document.body.lastChild);
OpenLayers.Util._scrollbarWidth=a-b;a=OpenLayers.Util._scrollbarWidth}return a};
OpenLayers.Util.getFormattedLonLat=function(a,b,d){d||(d="dms");a=(a+540)%360-180;var e=Math.abs(a),f=Math.floor(e),g=e=(e-f)/(1/60),e=Math.floor(e),g=Math.round(10*((g-e)/(1/60))),g=g/10;60<=g&&(g-=60,e+=1,60<=e&&(e-=60,f+=1));10>f&&(f="0"+f);f+="°";0<=d.indexOf("dm")&&(10>e&&(e="0"+e),f+=e+"'",0<=d.indexOf("dms")&&(10>g&&(g="0"+g),f+=g+'"'));return f="lon"==b?f+(0>a?OpenLayers.i18n("W"):OpenLayers.i18n("E")):f+(0>a?OpenLayers.i18n("S"):OpenLayers.i18n("N"))};
OpenLayers.Event={observers:!1,KEY_SPACE:32,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},isSingleTouch:function(a){return a.touches&&1==a.touches.length},isMultiTouch:function(a){return a.touches&&1<a.touches.length},isLeftClick:function(a){return a.which&&1==a.which||a.button&&1==a.button},isRightClick:function(a){return a.which&&3==a.which||a.button&&2==a.button},stop:function(a,
b){b||OpenLayers.Event.preventDefault(a);a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},preventDefault:function(a){a.preventDefault?a.preventDefault():a.returnValue=!1},findElement:function(a,b){for(var d=OpenLayers.Event.element(a);d.parentNode&&(!d.tagName||d.tagName.toUpperCase()!=b.toUpperCase());)d=d.parentNode;return d},observe:function(a,b,d,e){a=OpenLayers.Util.getElement(a);e=e||!1;"keypress"==b&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||a.attachEvent)&&(b="keydown");
this.observers||(this.observers={});if(!a._eventCacheID){var f="eventCacheID_";a.id&&(f=a.id+"_"+f);a._eventCacheID=OpenLayers.Util.createUniqueID(f)}f=a._eventCacheID;this.observers[f]||(this.observers[f]=[]);this.observers[f].push({element:a,name:b,observer:d,useCapture:e});a.addEventListener?a.addEventListener(b,d,e):a.attachEvent&&a.attachEvent("on"+b,d)},stopObservingElement:function(a){a=OpenLayers.Util.getElement(a)._eventCacheID;this._removeElementObservers(OpenLayers.Event.observers[a])},
_removeElementObservers:function(a){if(a)for(var b=a.length-1;0<=b;b--){var d=a[b];OpenLayers.Event.stopObserving.apply(this,[d.element,d.name,d.observer,d.useCapture])}},stopObserving:function(a,b,d,e){e=e||!1;a=OpenLayers.Util.getElement(a);var f=a._eventCacheID;"keypress"==b&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||a.detachEvent)&&(b="keydown");var g=!1,h=OpenLayers.Event.observers[f];if(h)for(var l=0;!g&&l<h.length;){var m=h[l];if(m.name==b&&m.observer==d&&m.useCapture==e){h.splice(l,
1);0==h.length&&delete OpenLayers.Event.observers[f];g=!0;break}l++}g&&(a.removeEventListener?a.removeEventListener(b,d,e):a&&a.detachEvent&&a.detachEvent("on"+b,d));return g},unloadCache:function(){if(OpenLayers.Event&&OpenLayers.Event.observers){for(var a in OpenLayers.Event.observers)OpenLayers.Event._removeElementObservers.apply(this,[OpenLayers.Event.observers[a]]);OpenLayers.Event.observers=!1}},CLASS_NAME:"OpenLayers.Event"};
OpenLayers.Event.observe(window,"unload",OpenLayers.Event.unloadCache,!1);
OpenLayers.Events=OpenLayers.Class({BROWSER_EVENTS:"mouseover mouseout mousedown mouseup mousemove click dblclick rightclick dblrightclick resize focus blur touchstart touchmove touchend keydown".split(" "),listeners:null,object:null,element:null,eventHandler:null,fallThrough:null,includeXY:!1,extensions:null,extensionCount:null,clearMouseListener:null,initialize:function(a,b,d,e,f){OpenLayers.Util.extend(this,f);this.object=a;this.fallThrough=e;this.listeners={};this.extensions={};this.extensionCount=
{};this._msTouches=[];null!=b&&this.attachToElement(b)},destroy:function(){for(var a in this.extensions)"boolean"!==typeof this.extensions[a]&&this.extensions[a].destroy();this.extensions=null;this.element&&(OpenLayers.Event.stopObservingElement(this.element),this.element.hasScrollEvent&&OpenLayers.Event.stopObserving(window,"scroll",this.clearMouseListener));this.eventHandler=this.fallThrough=this.object=this.listeners=this.element=null},addEventType:function(a){},attachToElement:function(a){this.element?
OpenLayers.Event.stopObservingElement(this.element):(this.eventHandler=OpenLayers.Function.bindAsEventListener(this.handleBrowserEvent,this),this.clearMouseListener=OpenLayers.Function.bind(this.clearMouseCache,this));this.element=a;for(var b=!!window.navigator.msMaxTouchPoints,d,e=0,f=this.BROWSER_EVENTS.length;e<f;e++)d=this.BROWSER_EVENTS[e],OpenLayers.Event.observe(a,d,this.eventHandler),b&&0===d.indexOf("touch")&&this.addMsTouchListener(a,d,this.eventHandler);OpenLayers.Event.observe(a,"dragstart",
OpenLayers.Event.stop)},on:function(a){for(var b in a)"scope"!=b&&a.hasOwnProperty(b)&&this.register(b,a.scope,a[b])},register:function(a,b,d,e){a in OpenLayers.Events&&!this.extensions[a]&&(this.extensions[a]=new OpenLayers.Events[a](this));if(null!=d){null==b&&(b=this.object);var f=this.listeners[a];f||(f=[],this.listeners[a]=f,this.extensionCount[a]=0);b={obj:b,func:d};e?(f.splice(this.extensionCount[a],0,b),"object"===typeof e&&e.extension&&this.extensionCount[a]++):f.push(b)}},registerPriority:function(a,
b,d){this.register(a,b,d,!0)},un:function(a){for(var b in a)"scope"!=b&&a.hasOwnProperty(b)&&this.unregister(b,a.scope,a[b])},unregister:function(a,b,d){null==b&&(b=this.object);a=this.listeners[a];if(null!=a)for(var e=0,f=a.length;e<f;e++)if(a[e].obj==b&&a[e].func==d){a.splice(e,1);break}},remove:function(a){null!=this.listeners[a]&&(this.listeners[a]=[])},triggerEvent:function(a,b){var d=this.listeners[a];if(d&&0!=d.length){null==b&&(b={});b.object=this.object;b.element=this.element;b.type||(b.type=
a);for(var d=d.slice(),e,f=0,g=d.length;f<g&&(e=d[f],e=e.func.apply(e.obj,[b]),void 0==e||!1!=e);f++);this.fallThrough||OpenLayers.Event.stop(b,!0);return e}},handleBrowserEvent:function(a){var b=a.type,d=this.listeners[b];if(d&&0!=d.length){if((d=a.touches)&&d[0]){for(var e=0,f=0,g=d.length,h,l=0;l<g;++l)h=this.getTouchClientXY(d[l]),e+=h.clientX,f+=h.clientY;a.clientX=e/g;a.clientY=f/g}this.includeXY&&(a.xy=this.getMousePosition(a));this.triggerEvent(b,a)}},getTouchClientXY:function(a){var b=window.olMockWin||
window,d=b.pageXOffset,b=b.pageYOffset,e=a.clientX,f=a.clientY;if(0===a.pageY&&Math.floor(f)>Math.floor(a.pageY)||0===a.pageX&&Math.floor(e)>Math.floor(a.pageX))e-=d,f-=b;else if(f<a.pageY-b||e<a.pageX-d)e=a.pageX-d,f=a.pageY-b;a.olClientX=e;a.olClientY=f;return{clientX:e,clientY:f}},clearMouseCache:function(){this.element.scrolls=null;this.element.lefttop=null;this.element.offsets=null},getMousePosition:function(a){this.includeXY?this.element.hasScrollEvent||(OpenLayers.Event.observe(window,"scroll",
this.clearMouseListener),this.element.hasScrollEvent=!0):this.clearMouseCache();if(!this.element.scrolls){var b=OpenLayers.Util.getViewportElement();this.element.scrolls=[window.pageXOffset||b.scrollLeft,window.pageYOffset||b.scrollTop]}this.element.lefttop||(this.element.lefttop=[document.documentElement.clientLeft||0,document.documentElement.clientTop||0]);this.element.offsets||(this.element.offsets=OpenLayers.Util.pagePosition(this.element));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])},addMsTouchListener:function(a,b,d){function e(a){d(OpenLayers.Util.applyDefaults({stopPropagation:function(){for(var a=f.length-1;0<=a;--a)f[a].stopPropagation()},preventDefault:function(){for(var a=f.length-1;0<=a;--a)f[a].preventDefault()},type:b},a))}var f=this._msTouches;switch(b){case "touchstart":return this.addMsTouchListenerStart(a,b,e);case "touchend":return this.addMsTouchListenerEnd(a,
b,e);case "touchmove":return this.addMsTouchListenerMove(a,b,e);default:throw"Unknown touch event type";}},addMsTouchListenerStart:function(a,b,d){var e=this._msTouches;OpenLayers.Event.observe(a,"MSPointerDown",function(a){for(var b=!1,h=0,l=e.length;h<l;++h)if(e[h].pointerId==a.pointerId){b=!0;break}b||e.push(a);a.touches=e.slice();d(a)});OpenLayers.Event.observe(a,"MSPointerUp",function(a){for(var b=0,d=e.length;b<d;++b)if(e[b].pointerId==a.pointerId){e.splice(b,1);break}})},addMsTouchListenerMove:function(a,
b,d){var e=this._msTouches;OpenLayers.Event.observe(a,"MSPointerMove",function(a){if(a.pointerType!=a.MSPOINTER_TYPE_MOUSE||0!=a.buttons)if(1!=e.length||e[0].pageX!=a.pageX||e[0].pageY!=a.pageY){for(var b=0,h=e.length;b<h;++b)if(e[b].pointerId==a.pointerId){e[b]=a;break}a.touches=e.slice();d(a)}})},addMsTouchListenerEnd:function(a,b,d){var e=this._msTouches;OpenLayers.Event.observe(a,"MSPointerUp",function(a){for(var b=0,h=e.length;b<h;++b)if(e[b].pointerId==a.pointerId){e.splice(b,1);break}a.touches=
e.slice();d(a)})},CLASS_NAME:"OpenLayers.Events"});
OpenLayers.Events.buttonclick=OpenLayers.Class({target:null,events:"mousedown mouseup click dblclick touchstart touchmove touchend keydown".split(" "),startRegEx:/^mousedown|touchstart$/,cancelRegEx:/^touchmove$/,completeRegEx:/^mouseup|touchend$/,initialize:function(a){this.target=a;for(a=this.events.length-1;0<=a;--a)this.target.register(this.events[a],this,this.buttonClick,{extension:!0})},destroy:function(){for(var a=this.events.length-1;0<=a;--a)this.target.unregister(this.events[a],this,this.buttonClick);
delete this.target},getPressedButton:function(a){var b=3,d;do{if(OpenLayers.Element.hasClass(a,"olButton")){d=a;break}a=a.parentNode}while(0<--b&&a);return d},ignore:function(a){var b=3,d=!1;do{if("a"===a.nodeName.toLowerCase()){d=!0;break}a=a.parentNode}while(0<--b&&a);return d},buttonClick:function(a){var b=!0,d=OpenLayers.Event.element(a);if(d&&(OpenLayers.Event.isLeftClick(a)||!~a.type.indexOf("mouse")))if(d=this.getPressedButton(d)){if("keydown"===a.type)switch(a.keyCode){case OpenLayers.Event.KEY_RETURN:case OpenLayers.Event.KEY_SPACE:this.target.triggerEvent("buttonclick",
{buttonElement:d}),OpenLayers.Event.stop(a),b=!1}else if(this.startEvt){if(this.completeRegEx.test(a.type)){var b=OpenLayers.Util.pagePosition(d),e=OpenLayers.Util.getViewportElement(),f=window.pageYOffset||e.scrollTop;b[0]-=window.pageXOffset||e.scrollLeft;b[1]-=f;this.target.triggerEvent("buttonclick",{buttonElement:d,buttonXY:{x:this.startEvt.clientX-b[0],y:this.startEvt.clientY-b[1]}})}this.cancelRegEx.test(a.type)&&delete this.startEvt;OpenLayers.Event.stop(a);b=!1}this.startRegEx.test(a.type)&&
(this.startEvt=a,OpenLayers.Event.stop(a),b=!1)}else b=!this.ignore(OpenLayers.Event.element(a)),delete this.startEvt;return b}});OpenLayers.Util=OpenLayers.Util||{};
OpenLayers.Util.vendorPrefix=function(){function a(a){return a?a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()}).replace(/^ms-/,"-ms-"):null}function b(a,b){if(void 0===h[b]){var d,f=0,g=e.length,z="undefined"!==typeof a.cssText;for(h[b]=null;f<g;f++)if((d=e[f])?(z||(d=d.toLowerCase()),d=d+b.charAt(0).toUpperCase()+b.slice(1)):d=b,void 0!==a[d]){h[b]=d;break}}return h[b]}function d(a){return b(f,a)}var e=["","O","ms","Moz","Webkit"],f=document.createElement("div").style,g={},h={};return{css:function(b){if(void 0===
g[b]){var e=b.replace(/(-[\s\S])/g,function(a){return a.charAt(1).toUpperCase()}),e=d(e);g[b]=a(e)}return g[b]},js:b,style:d,cssCache:g,jsCache:h}}();
OpenLayers.Animation=function(a){var b=OpenLayers.Util.vendorPrefix.js(a,"requestAnimationFrame"),d=!!b,e=function(){var d=a[b]||function(b,d){a.setTimeout(b,16)};return function(b,e){d.apply(a,[b,e])}}(),f=0,g={};return{isNative:d,requestFrame:e,start:function(a,b,d){b=0<b?b:Number.POSITIVE_INFINITY;var q=++f,r=+new Date;g[q]=function(){g[q]&&+new Date-r<=b?(a(),g[q]&&e(g[q],d)):delete g[q]};e(g[q],d);return q},stop:function(a){delete g[a]}}}(window);
OpenLayers.Tween=OpenLayers.Class({easing:null,begin:null,finish:null,duration:null,callbacks:null,time:null,minFrameRate:null,startTime:null,animationId:null,playing:!1,initialize:function(a){this.easing=a?a:OpenLayers.Easing.Expo.easeOut},start:function(a,b,d,e){this.playing=!0;this.begin=a;this.finish=b;this.duration=d;this.callbacks=e.callbacks;this.minFrameRate=e.minFrameRate||30;this.time=0;this.startTime=(new Date).getTime();OpenLayers.Animation.stop(this.animationId);this.animationId=null;
this.callbacks&&this.callbacks.start&&this.callbacks.start.call(this,this.begin);this.animationId=OpenLayers.Animation.start(OpenLayers.Function.bind(this.play,this))},stop:function(){this.playing&&(this.callbacks&&this.callbacks.done&&this.callbacks.done.call(this,this.finish),OpenLayers.Animation.stop(this.animationId),this.animationId=null,this.playing=!1)},play:function(){var a={},b;for(b in this.begin){var d=this.begin[b],e=this.finish[b];if(null==d||null==e||isNaN(d)||isNaN(e))throw new TypeError("invalid value for Tween");
a[b]=this.easing.apply(this,[this.time,d,e-d,this.duration])}this.time++;this.callbacks&&this.callbacks.eachStep&&((new Date).getTime()-this.startTime)/this.time<=1E3/this.minFrameRate&&this.callbacks.eachStep.call(this,a);this.time>this.duration&&this.stop()},CLASS_NAME:"OpenLayers.Tween"});OpenLayers.Easing={CLASS_NAME:"OpenLayers.Easing"};OpenLayers.Easing.Linear={easeIn:function(a,b,d,e){return d*a/e+b},easeOut:function(a,b,d,e){return d*a/e+b},easeInOut:function(a,b,d,e){return d*a/e+b},CLASS_NAME:"OpenLayers.Easing.Linear"};
OpenLayers.Easing.Expo={easeIn:function(a,b,d,e){return 0==a?b:d*Math.pow(2,10*(a/e-1))+b},easeOut:function(a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOut:function(a,b,d,e){return 0==a?b:a==e?b+d:1>(a/=e/2)?d/2*Math.pow(2,10*(a-1))+b:d/2*(-Math.pow(2,-10*--a)+2)+b},CLASS_NAME:"OpenLayers.Easing.Expo"};
OpenLayers.Easing.Quad={easeIn:function(a,b,d,e){return d*(a/=e)*a+b},easeOut:function(a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOut:function(a,b,d,e){return 1>(a/=e/2)?d/2*a*a+b:-d/2*(--a*(a-2)-1)+b},CLASS_NAME:"OpenLayers.Easing.Quad"};
OpenLayers.Projection=OpenLayers.Class({proj:null,projCode:null,titleRegEx:/\+title=[^\+]*/,initialize:function(a,b){OpenLayers.Util.extend(this,b);this.projCode=a;"object"==typeof Proj4js&&(this.proj=new Proj4js.Proj(a))},getCode:function(){return this.proj?this.proj.srsCode:this.projCode},getUnits:function(){return this.proj?this.proj.units:null},toString:function(){return this.getCode()},equals:function(a){var b=!1;a&&(a instanceof OpenLayers.Projection||(a=new OpenLayers.Projection(a)),"object"==
typeof Proj4js&&this.proj.defData&&a.proj.defData?b=this.proj.defData.replace(this.titleRegEx,"")==a.proj.defData.replace(this.titleRegEx,""):a.getCode&&(b=this.getCode(),a=a.getCode(),b=b==a||!!OpenLayers.Projection.transforms[b]&&OpenLayers.Projection.transforms[b][a]===OpenLayers.Projection.nullTransform));return b},destroy:function(){delete this.proj;delete this.projCode},CLASS_NAME:"OpenLayers.Projection"});OpenLayers.Projection.transforms={};
OpenLayers.Projection.defaults={"EPSG:4326":{units:"degrees",maxExtent:[-180,-90,180,90],yx:!0},"CRS:84":{units:"degrees",maxExtent:[-180,-90,180,90]},"EPSG:900913":{units:"m",maxExtent:[-2.003750834E7,-2.003750834E7,2.003750834E7,2.003750834E7]}};
OpenLayers.Projection.addTransform=function(a,b,d){if(d===OpenLayers.Projection.nullTransform){var e=OpenLayers.Projection.defaults[a];e&&!OpenLayers.Projection.defaults[b]&&(OpenLayers.Projection.defaults[b]=e)}OpenLayers.Projection.transforms[a]||(OpenLayers.Projection.transforms[a]={});OpenLayers.Projection.transforms[a][b]=d};
OpenLayers.Projection.transform=function(a,b,d){if(b&&d)if(b instanceof OpenLayers.Projection||(b=new OpenLayers.Projection(b)),d instanceof OpenLayers.Projection||(d=new OpenLayers.Projection(d)),b.proj&&d.proj)a=Proj4js.transform(b.proj,d.proj,a);else{b=b.getCode();d=d.getCode();var e=OpenLayers.Projection.transforms;if(e[b]&&e[b][d])e[b][d](a)}return a};OpenLayers.Projection.nullTransform=function(a){return a};
(function(){function a(a){a.x=180*a.x/e;a.y=180/Math.PI*(2*Math.atan(Math.exp(a.y/e*Math.PI))-Math.PI/2);return a}function b(a){a.x=a.x*e/180;var b=Math.log(Math.tan((90+a.y)*Math.PI/360))/Math.PI*e;a.y=Math.max(-2.003750834E7,Math.min(b,2.003750834E7));return a}function d(d,e){var f=OpenLayers.Projection.addTransform,g=OpenLayers.Projection.nullTransform,h,z,v,B,D;h=0;for(z=e.length;h<z;++h)for(v=e[h],f(d,v,b),f(v,d,a),D=h+1;D<z;++D)B=e[D],f(v,B,g),f(B,v,g)}var e=2.003750834E7,f=["EPSG:900913","EPSG:3857",
"EPSG:102113","EPSG:102100"],g=["CRS:84","urn:ogc:def:crs:EPSG:6.6:4326","EPSG:4326"],h;for(h=f.length-1;0<=h;--h)d(f[h],g);for(h=g.length-1;0<=h;--h)d(g[h],f)})();
OpenLayers.Map=OpenLayers.Class({Z_INDEX_BASE:{BaseLayer:100,Overlay:325,Feature:725,Popup:750,Control:1E3},id:null,fractionalZoom:!1,events:null,allOverlays:!1,div:null,dragging:!1,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,options:null,tileSize:null,projection:"EPSG:4326",units:null,resolutions:null,maxResolution:null,minResolution:null,maxScale:null,minScale:null,
maxExtent:null,minExtent:null,restrictedExtent:null,numZoomLevels:16,theme:null,displayProjection:null,fallThrough:!1,autoUpdateSize:!0,eventListeners:null,panTween:null,panMethod:OpenLayers.Easing.Expo.easeOut,panDuration:50,zoomTween:null,zoomMethod:OpenLayers.Easing.Quad.easeOut,zoomDuration:20,paddingForPopups:null,layerContainerOriginPx:null,minPx:null,maxPx:null,initialize:function(a,b){1===arguments.length&&"object"===typeof a&&(a=(b=a)&&b.div);this.tileSize=new OpenLayers.Size(OpenLayers.Map.TILE_WIDTH,
OpenLayers.Map.TILE_HEIGHT);this.paddingForPopups=new OpenLayers.Bounds(15,15,15,15);this.theme=OpenLayers._getScriptLocation()+"theme/default/style.css";this.options=OpenLayers.Util.extend({},b);OpenLayers.Util.extend(this,b);OpenLayers.Util.applyDefaults(this,OpenLayers.Projection.defaults[this.projection instanceof OpenLayers.Projection?this.projection.projCode:this.projection]);!this.maxExtent||this.maxExtent instanceof OpenLayers.Bounds||(this.maxExtent=new OpenLayers.Bounds(this.maxExtent));
!this.minExtent||this.minExtent instanceof OpenLayers.Bounds||(this.minExtent=new OpenLayers.Bounds(this.minExtent));!this.restrictedExtent||this.restrictedExtent instanceof OpenLayers.Bounds||(this.restrictedExtent=new OpenLayers.Bounds(this.restrictedExtent));!this.center||this.center instanceof OpenLayers.LonLat||(this.center=new OpenLayers.LonLat(this.center));this.layers=[];this.id=OpenLayers.Util.createUniqueID("OpenLayers.Map_");this.div=OpenLayers.Util.getElement(a);this.div||(this.div=document.createElement("div"),
this.div.style.height="1px",this.div.style.width="1px");OpenLayers.Element.addClass(this.div,"olMap");var d=this.id+"_OpenLayers_ViewPort";this.viewPortDiv=OpenLayers.Util.createDiv(d,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);this.events=new OpenLayers.Events(this,this.viewPortDiv,null,this.fallThrough,{includeXY:!0});OpenLayers.TileManager&&null!==
this.tileManager&&(this.tileManager instanceof OpenLayers.TileManager||(this.tileManager=new OpenLayers.TileManager(this.tileManager)),this.tileManager.addMap(this));d=this.id+"_OpenLayers_Container";this.layerContainerDiv=OpenLayers.Util.createDiv(d);this.layerContainerDiv.style.zIndex=this.Z_INDEX_BASE.Popup-1;this.layerContainerOriginPx={x:0,y:0};this.applyTransform();this.viewPortDiv.appendChild(this.layerContainerDiv);this.updateSize();if(this.eventListeners instanceof Object)this.events.on(this.eventListeners);
!0===this.autoUpdateSize&&(this.updateSizeDestroy=OpenLayers.Function.bind(this.updateSize,this),OpenLayers.Event.observe(window,"resize",this.updateSizeDestroy));if(this.theme){for(var d=!0,e=document.getElementsByTagName("link"),f=0,g=e.length;f<g;++f)if(OpenLayers.Util.isEquivalentUrl(e.item(f).href,this.theme)){d=!1;break}d&&(d=document.createElement("link"),d.setAttribute("rel","stylesheet"),d.setAttribute("type","text/css"),d.setAttribute("href",this.theme),document.getElementsByTagName("head")[0].appendChild(d))}null==
this.controls&&(this.controls=[],null!=OpenLayers.Control&&(OpenLayers.Control.Navigation?this.controls.push(new OpenLayers.Control.Navigation):OpenLayers.Control.TouchNavigation&&this.controls.push(new OpenLayers.Control.TouchNavigation),OpenLayers.Control.Zoom?this.controls.push(new OpenLayers.Control.Zoom):OpenLayers.Control.PanZoom&&this.controls.push(new OpenLayers.Control.PanZoom),OpenLayers.Control.ArgParser&&this.controls.push(new OpenLayers.Control.ArgParser),OpenLayers.Control.Attribution&&
this.controls.push(new OpenLayers.Control.Attribution)));f=0;for(g=this.controls.length;f<g;f++)this.addControlToMap(this.controls[f]);this.popups=[];this.unloadDestroy=OpenLayers.Function.bind(this.destroy,this);OpenLayers.Event.observe(window,"unload",this.unloadDestroy);b&&b.layers&&(delete this.center,delete this.zoom,this.addLayers(b.layers),b.center&&!this.getCenter()&&this.setCenter(b.center,b.zoom));this.panMethod&&(this.panTween=new OpenLayers.Tween(this.panMethod));this.zoomMethod&&this.applyTransform.transform&&
(this.zoomTween=new OpenLayers.Tween(this.zoomMethod))},getViewport:function(){return this.viewPortDiv},render:function(a){this.div=OpenLayers.Util.getElement(a);OpenLayers.Element.addClass(this.div,"olMap");this.viewPortDiv.parentNode.removeChild(this.viewPortDiv);this.div.appendChild(this.viewPortDiv);this.updateSize()},unloadDestroy:null,updateSizeDestroy:null,destroy:function(){if(!this.unloadDestroy)return!1;this.panTween&&(this.panTween.stop(),this.panTween=null);this.zoomTween&&(this.zoomTween.stop(),
this.zoomTween=null);OpenLayers.Event.stopObserving(window,"unload",this.unloadDestroy);this.unloadDestroy=null;this.updateSizeDestroy&&OpenLayers.Event.stopObserving(window,"resize",this.updateSizeDestroy);this.paddingForPopups=null;if(null!=this.controls){for(var a=this.controls.length-1;0<=a;--a)this.controls[a].destroy();this.controls=null}if(null!=this.layers){for(a=this.layers.length-1;0<=a;--a)this.layers[a].destroy(!1);this.layers=null}this.viewPortDiv&&this.viewPortDiv.parentNode&&this.viewPortDiv.parentNode.removeChild(this.viewPortDiv);
this.viewPortDiv=null;this.tileManager&&(this.tileManager.removeMap(this),this.tileManager=null);this.eventListeners&&(this.events.un(this.eventListeners),this.eventListeners=null);this.events.destroy();this.options=this.events=null},setOptions:function(a){var b=this.minPx&&a.restrictedExtent!=this.restrictedExtent;OpenLayers.Util.extend(this,a);b&&this.moveTo(this.getCachedCenter(),this.zoom,{forceZoomChange:!0})},getTileSize:function(){return this.tileSize},getBy:function(a,b,d){var e="function"==
typeof d.test;return OpenLayers.Array.filter(this[a],function(a){return a[b]==d||e&&d.test(a[b])})},getLayersBy:function(a,b){return this.getBy("layers",a,b)},getLayersByName:function(a){return this.getLayersBy("name",a)},getLayersByClass:function(a){return this.getLayersBy("CLASS_NAME",a)},getControlsBy:function(a,b){return this.getBy("controls",a,b)},getControlsByClass:function(a){return this.getControlsBy("CLASS_NAME",a)},getLayer:function(a){for(var b=null,d=0,e=this.layers.length;d<e;d++){var f=
this.layers[d];if(f.id==a){b=f;break}}return b},setLayerZIndex:function(a,b){a.setZIndex(this.Z_INDEX_BASE[a.isBaseLayer?"BaseLayer":"Overlay"]+5*b)},resetLayersZIndex:function(){for(var a=0,b=this.layers.length;a<b;a++)this.setLayerZIndex(this.layers[a],a)},addLayer:function(a){for(var b=0,d=this.layers.length;b<d;b++)if(this.layers[b]==a)return!1;if(!1===this.events.triggerEvent("preaddlayer",{layer:a}))return!1;this.allOverlays&&(a.isBaseLayer=!1);a.div.className="olLayerDiv";a.div.style.overflow=
"";this.setLayerZIndex(a,this.layers.length);a.isFixed?this.viewPortDiv.appendChild(a.div):this.layerContainerDiv.appendChild(a.div);this.layers.push(a);a.setMap(this);a.isBaseLayer||this.allOverlays&&!this.baseLayer?null==this.baseLayer?this.setBaseLayer(a):a.setVisibility(!1):a.redraw();this.events.triggerEvent("addlayer",{layer:a});a.events.triggerEvent("added",{map:this,layer:a});a.afterAdd();return!0},addLayers:function(a){for(var b=0,d=a.length;b<d;b++)this.addLayer(a[b])},removeLayer:function(a,
b){if(!1!==this.events.triggerEvent("preremovelayer",{layer:a})){null==b&&(b=!0);a.isFixed?this.viewPortDiv.removeChild(a.div):this.layerContainerDiv.removeChild(a.div);OpenLayers.Util.removeItem(this.layers,a);a.removeMap(this);a.map=null;if(this.baseLayer==a&&(this.baseLayer=null,b))for(var d=0,e=this.layers.length;d<e;d++){var f=this.layers[d];if(f.isBaseLayer||this.allOverlays){this.setBaseLayer(f);break}}this.resetLayersZIndex();this.events.triggerEvent("removelayer",{layer:a});a.events.triggerEvent("removed",
{map:this,layer:a})}},getNumLayers:function(){return this.layers.length},getLayerIndex:function(a){return OpenLayers.Util.indexOf(this.layers,a)},setLayerIndex:function(a,b){var d=this.getLayerIndex(a);0>b?b=0:b>this.layers.length&&(b=this.layers.length);if(d!=b){this.layers.splice(d,1);this.layers.splice(b,0,a);for(var d=0,e=this.layers.length;d<e;d++)this.setLayerZIndex(this.layers[d],d);this.events.triggerEvent("changelayer",{layer:a,property:"order"});this.allOverlays&&(0===b?this.setBaseLayer(a):
this.baseLayer!==this.layers[0]&&this.setBaseLayer(this.layers[0]))}},raiseLayer:function(a,b){var d=this.getLayerIndex(a)+b;this.setLayerIndex(a,d)},setBaseLayer:function(a){if(a!=this.baseLayer&&-1!=OpenLayers.Util.indexOf(this.layers,a)){var b=this.getCachedCenter(),d=OpenLayers.Util.getResolutionFromScale(this.getScale(),a.units);null==this.baseLayer||this.allOverlays||this.baseLayer.setVisibility(!1);this.baseLayer=a;if(!this.allOverlays||this.baseLayer.visibility)this.baseLayer.setVisibility(!0),
!1===this.baseLayer.inRange&&this.baseLayer.redraw();null!=b&&(a=this.getZoomForResolution(d||this.resolution,!0),this.setCenter(b,a,!1,!0));this.events.triggerEvent("changebaselayer",{layer:this.baseLayer})}},addControl:function(a,b){this.controls.push(a);this.addControlToMap(a,b)},addControls:function(a,b){for(var d=1===arguments.length?[]:b,e=0,f=a.length;e<f;e++)this.addControl(a[e],d[e]?d[e]:null)},addControlToMap:function(a,b){a.outsideViewport=null!=a.div;this.displayProjection&&!a.displayProjection&&
(a.displayProjection=this.displayProjection);a.setMap(this);var d=a.draw(b);d&&!a.outsideViewport&&(d.style.zIndex=this.Z_INDEX_BASE.Control+this.controls.length,this.viewPortDiv.appendChild(d));a.autoActivate&&a.activate()},getControl:function(a){for(var b=null,d=0,e=this.controls.length;d<e;d++){var f=this.controls[d];if(f.id==a){b=f;break}}return b},removeControl:function(a){a&&a==this.getControl(a.id)&&(a.div&&a.div.parentNode==this.viewPortDiv&&this.viewPortDiv.removeChild(a.div),OpenLayers.Util.removeItem(this.controls,
a))},addPopup:function(a,b){if(b)for(var d=this.popups.length-1;0<=d;--d)this.removePopup(this.popups[d]);a.map=this;this.popups.push(a);if(d=a.draw())d.style.zIndex=this.Z_INDEX_BASE.Popup+this.popups.length,this.layerContainerDiv.appendChild(d)},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;null!=this.size&&(a=this.size.clone());return a},updateSize:function(){var a=this.getCurrentSize();
if(a&&!isNaN(a.h)&&!isNaN(a.w)){this.events.clearMouseCache();var b=this.getSize();null==b&&(this.size=b=a);if(!a.equals(b)){this.size=a;a=0;for(b=this.layers.length;a<b;a++)this.layers[a].onMapResize();a=this.getCachedCenter();null!=this.baseLayer&&null!=a&&(b=this.getZoom(),this.zoom=null,this.setCenter(a,b))}}this.events.triggerEvent("updatesize")},getCurrentSize:function(){var a=new OpenLayers.Size(this.div.clientWidth,this.div.clientHeight);if(0==a.w&&0==a.h||isNaN(a.w)&&isNaN(a.h))a.w=this.div.offsetWidth,
a.h=this.div.offsetHeight;if(0==a.w&&0==a.h||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 d=null;null==a&&(a=this.getCachedCenter());null==b&&(b=this.getResolution());if(null!=a&&null!=b)var d=this.size.w*b/2,e=this.size.h*b/2,d=new OpenLayers.Bounds(a.lon-d,a.lat-e,a.lon+d,a.lat+e);return d},getCenter:function(){var a=null,b=this.getCachedCenter();b&&(a=b.clone());return a},getCachedCenter:function(){!this.center&&
this.size&&(this.center=this.getLonLatFromViewPortPx({x:this.size.w/2,y:this.size.h/2}));return this.center},getZoom:function(){return this.zoom},pan:function(a,b,d){d=OpenLayers.Util.applyDefaults(d,{animate:!0,dragging:!1});if(d.dragging)0==a&&0==b||this.moveByPx(a,b);else{var e=this.getViewPortPxFromLonLat(this.getCachedCenter());a=e.add(a,b);if(this.dragging||!a.equals(e))e=this.getLonLatFromViewPortPx(a),d.animate?this.panTo(e):(this.moveTo(e),this.dragging&&(this.dragging=!1,this.events.triggerEvent("moveend")))}},
panTo:function(a){if(this.panTween&&this.getExtent().scale(this.panRatio).containsLonLat(a)){var b=this.getCachedCenter();if(!a.equals(b)){var b=this.getPixelFromLonLat(b),d=this.getPixelFromLonLat(a),e=0,f=0;this.panTween.start({x:0,y:0},{x:d.x-b.x,y:d.y-b.y},this.panDuration,{callbacks:{eachStep:OpenLayers.Function.bind(function(a){this.moveByPx(a.x-e,a.y-f);e=Math.round(a.x);f=Math.round(a.y)},this),done:OpenLayers.Function.bind(function(b){this.moveTo(a);this.dragging=!1;this.events.triggerEvent("moveend")},
this)}})}}else this.setCenter(a)},setCenter:function(a,b,d,e){this.panTween&&this.panTween.stop();this.zoomTween&&this.zoomTween.stop();this.moveTo(a,b,{dragging:d,forceZoomChange:e})},moveByPx:function(a,b){var d=this.size.w/2,e=this.size.h/2,f=d+a,g=e+b,h=this.baseLayer.wrapDateLine,l=0,m=0;this.restrictedExtent&&(l=d,m=e,h=!1);a=h||f<=this.maxPx.x-l&&f>=this.minPx.x+l?Math.round(a):0;b=g<=this.maxPx.y-m&&g>=this.minPx.y+m?Math.round(b):0;if(a||b){this.dragging||(this.dragging=!0,this.events.triggerEvent("movestart"));
this.center=null;a&&(this.layerContainerOriginPx.x-=a,this.minPx.x-=a,this.maxPx.x-=a);b&&(this.layerContainerOriginPx.y-=b,this.minPx.y-=b,this.maxPx.y-=b);this.applyTransform();e=0;for(f=this.layers.length;e<f;++e)d=this.layers[e],d.visibility&&(d===this.baseLayer||d.inRange)&&(d.moveByPx(a,b),d.events.triggerEvent("move"));this.events.triggerEvent("move")}},adjustZoom:function(a){if(this.baseLayer&&this.baseLayer.wrapDateLine){var b=this.baseLayer.resolutions,d=this.getMaxExtent().getWidth()/this.size.w;
if(this.getResolutionForZoom(a)>d)if(this.fractionalZoom)a=this.getZoomForResolution(d);else for(var e=a|0,f=b.length;e<f;++e)if(b[e]<=d){a=e;break}}return a},getMinZoom:function(){return this.adjustZoom(0)},moveTo:function(a,b,d){null==a||a instanceof OpenLayers.LonLat||(a=new OpenLayers.LonLat(a));d||(d={});null!=b&&(b=parseFloat(b),this.fractionalZoom||(b=Math.round(b)));var e=b;b=this.adjustZoom(b);b!==e&&(a=this.getCenter());var e=d.dragging||this.dragging,f=d.forceZoomChange;this.getCachedCenter()||
this.isValidLonLat(a)||(a=this.maxExtent.getCenterLonLat(),this.center=a.clone());if(null!=this.restrictedExtent){null==a&&(a=this.center);null==b&&(b=this.getZoom());var g=this.getResolutionForZoom(b),g=this.calculateBounds(a,g);if(!this.restrictedExtent.containsBounds(g)){var h=this.restrictedExtent.getCenterLonLat();g.getWidth()>this.restrictedExtent.getWidth()?a=new OpenLayers.LonLat(h.lon,a.lat):g.left<this.restrictedExtent.left?a=a.add(this.restrictedExtent.left-g.left,0):g.right>this.restrictedExtent.right&&
(a=a.add(this.restrictedExtent.right-g.right,0));g.getHeight()>this.restrictedExtent.getHeight()?a=new OpenLayers.LonLat(a.lon,h.lat):g.bottom<this.restrictedExtent.bottom?a=a.add(0,this.restrictedExtent.bottom-g.bottom):g.top>this.restrictedExtent.top&&(a=a.add(0,this.restrictedExtent.top-g.top))}}f=f||this.isValidZoomLevel(b)&&b!=this.getZoom();g=this.isValidLonLat(a)&&!a.equals(this.center);if(f||g||e){e||this.events.triggerEvent("movestart",{zoomChanged:f});g&&(!f&&this.center&&this.centerLayerContainer(a),
this.center=a.clone());a=f?this.getResolutionForZoom(b):this.getResolution();if(f||null==this.layerContainerOrigin){this.layerContainerOrigin=this.getCachedCenter();this.layerContainerOriginPx.x=0;this.layerContainerOriginPx.y=0;this.applyTransform();var g=this.getMaxExtent({restricted:!0}),l=g.getCenterLonLat(),h=this.center.lon-l.lon,l=l.lat-this.center.lat,m=Math.round(g.getWidth()/a),q=Math.round(g.getHeight()/a);this.minPx={x:(this.size.w-m)/2-h/a,y:(this.size.h-q)/2-l/a};this.maxPx={x:this.minPx.x+
Math.round(g.getWidth()/a),y:this.minPx.y+Math.round(g.getHeight()/a)}}f&&(this.zoom=b,this.resolution=a);a=this.getExtent();b&&"OpenLayers.Layer.MapGuide"!=this.baseLayer.CLASS_NAME&&(b>=this.baseLayer.MAX_ZOOM_LEVEL?this.baseLayer.setVisibility(!1):this.baseLayer.setVisibility(!0));this.baseLayer.visibility&&(this.baseLayer.moveTo(a,f,d.dragging),d.dragging||this.baseLayer.events.triggerEvent("moveend",{zoomChanged:f}));a=this.baseLayer.getExtent();for(b=this.layers.length-1;0<=b;--b)g=this.layers[b],
g===this.baseLayer||g.isBaseLayer||(h=g.calculateInRange(),g.inRange!=h&&((g.inRange=h)||g.display(!1),this.events.triggerEvent("changelayer",{layer:g,property:"visibility"})),h&&g.visibility&&(g.moveTo(a,f,d.dragging),d.dragging||g.events.triggerEvent("moveend",{zoomChanged:f})));this.events.triggerEvent("move");e||this.events.triggerEvent("moveend");if(f){b=0;for(d=this.popups.length;b<d;b++)this.popups[b].updatePosition();this.events.triggerEvent("zoomend")}}},centerLayerContainer:function(a){var b=
this.getViewPortPxFromLonLat(this.layerContainerOrigin),d=this.getViewPortPxFromLonLat(a);if(null!=b&&null!=d){var e=this.layerContainerOriginPx.x;a=this.layerContainerOriginPx.y;var f=Math.round(b.x-d.x),b=Math.round(b.y-d.y);this.applyTransform(this.layerContainerOriginPx.x=f,this.layerContainerOriginPx.y=b);e-=f;a-=b;this.minPx.x-=e;this.maxPx.x-=e;this.minPx.y-=a;this.maxPx.y-=a}},isValidZoomLevel:function(a){return null!=a&&0<=a&&a<this.getNumZoomLevels()},isValidLonLat:function(a){var b=!1;
null!=a&&(b=this.getMaxExtent(),b=b.containsLonLat(a,{worldBounds:this.baseLayer.wrapDateLine&&b}));return b},getProjection:function(){var a=this.getProjectionObject();return a?a.getCode():null},getProjectionObject:function(){var a=null;null!=this.baseLayer&&(a=this.baseLayer.projection);return a},getMaxResolution:function(){var a=null;null!=this.baseLayer&&(a=this.baseLayer.maxResolution);return a},getMaxExtent:function(a){var b=null;a&&a.restricted&&this.restrictedExtent?b=this.restrictedExtent:
null!=this.baseLayer&&(b=this.baseLayer.maxExtent);return b},getNumZoomLevels:function(){var a=null;null!=this.baseLayer&&(a=this.baseLayer.numZoomLevels);return a},getExtent:function(){var a=null;null!=this.baseLayer&&(a=this.baseLayer.getExtent());return a},getResolution:function(){var a=null;null!=this.baseLayer?a=this.baseLayer.getResolution():!0===this.allOverlays&&0<this.layers.length&&(a=this.layers[0].getResolution());return a},getUnits:function(){var a=null;null!=this.baseLayer&&(a=this.baseLayer.units);
return a},getScale:function(){var a=null;null!=this.baseLayer&&(a=this.getResolution(),a=OpenLayers.Util.getScaleFromResolution(a,this.baseLayer.units));return a},getZoomForExtent:function(a,b){var d=null;null!=this.baseLayer&&(d=this.baseLayer.getZoomForExtent(a,b));return d},getResolutionForZoom:function(a){var b=null;this.baseLayer&&(b=this.baseLayer.getResolutionForZoom(a));return b},getZoomForResolution:function(a,b){var d=null;null!=this.baseLayer&&(d=this.baseLayer.getZoomForResolution(a,b));
return d},zoomTo:function(a,b){var d=this;if(d.isValidZoomLevel(a))if(d.baseLayer.wrapDateLine&&(a=d.adjustZoom(a)),a&&"OpenLayers.Layer.MapGuide"!=d.baseLayer.CLASS_NAME&&(a>=d.baseLayer.MAX_ZOOM_LEVEL?d.baseLayer.setVisibility(!1):d.baseLayer.setVisibility(!0)),d.zoomTween){var e=d.getResolution(),f=d.getResolutionForZoom(a),g={scale:1},e={scale:e/f};d.zoomTween.playing&&d.zoomTween.duration<3*d.zoomDuration?d.zoomTween.finish={scale:d.zoomTween.finish.scale*e.scale}:(b||(f=d.getSize(),b={x:f.w/
2,y:f.h/2}),d.zoomTween.start(g,e,d.zoomDuration,{minFrameRate:50,callbacks:{eachStep:function(a){var e=d.layerContainerOriginPx;a=a.scale;d.applyTransform(e.x+((a-1)*(e.x-b.x)|0),e.y+((a-1)*(e.y-b.y)|0),a)},done:function(a){d.applyTransform();a=d.getResolution()/a.scale;var e=d.getZoomForResolution(a,!0);d.moveTo(d.getZoomTargetCenter(b,a),e,!0)}}}))}else g=b?d.getZoomTargetCenter(b,d.getResolutionForZoom(a)):null,d.setCenter(g,a)},zoomIn:function(){this.zoomTo(this.getZoom()+1)},zoomOut:function(){this.zoomTo(this.getZoom()-
1)},zoomToExtent:function(a,b){a instanceof OpenLayers.Bounds||(a=new OpenLayers.Bounds(a));var d=a.getCenterLonLat();if(this.baseLayer.wrapDateLine){d=this.getMaxExtent();for(a=a.clone();a.right<a.left;)a.right+=d.getWidth();d=a.getCenterLonLat().wrapDateLine(d)}this.setCenter(d,this.getZoomForExtent(a,b))},zoomToMaxExtent:function(a){a=this.getMaxExtent({restricted:a?a.restricted:!0});this.zoomToExtent(a)},zoomToScale:function(a,b){var d=OpenLayers.Util.getResolutionFromScale(a,this.baseLayer.units),
e=this.size.w*d/2,d=this.size.h*d/2,f=this.getCachedCenter(),e=new OpenLayers.Bounds(f.lon-e,f.lat-d,f.lon+e,f.lat+d);this.zoomToExtent(e,b)},getLonLatFromViewPortPx:function(a){var b=null;null!=this.baseLayer&&(b=this.baseLayer.getLonLatFromViewPortPx(a));return b},getViewPortPxFromLonLat:function(a){var b=null;null!=this.baseLayer&&(b=this.baseLayer.getViewPortPxFromLonLat(a));return b},getZoomTargetCenter:function(a,b){var d=null,e=this.getSize(),f=e.w/2-a.x,e=a.y-e.h/2,g=this.getLonLatFromPixel(a);
g&&(d=new OpenLayers.LonLat(g.lon+f*b,g.lat+e*b));return d},getLonLatFromPixel:function(a){return this.getLonLatFromViewPortPx(a)},getPixelFromLonLat:function(a){a=this.getViewPortPxFromLonLat(a);a.x=Math.round(a.x);a.y=Math.round(a.y);return a},getGeodesicPixelSize:function(a){var b=a?this.getLonLatFromPixel(a):this.getCachedCenter()||new OpenLayers.LonLat(0,0),d=this.getResolution();a=b.add(-d/2,0);var e=b.add(d/2,0),f=b.add(0,-d/2),b=b.add(0,d/2),d=new OpenLayers.Projection("EPSG:4326"),g=this.getProjectionObject()||
d;g.equals(d)||(a.transform(g,d),e.transform(g,d),f.transform(g,d),b.transform(g,d));return new OpenLayers.Size(OpenLayers.Util.distVincenty(a,e),OpenLayers.Util.distVincenty(f,b))},getViewPortPxFromLayerPx:function(a){var b=null;null!=a&&(b=a.add(this.layerContainerOriginPx.x,this.layerContainerOriginPx.y));return b},getLayerPxFromViewPortPx:function(a){var b=null;null!=a&&(b=a.add(-this.layerContainerOriginPx.x,-this.layerContainerOriginPx.y),isNaN(b.x)||isNaN(b.y))&&(b=null);return b},getLonLatFromLayerPx:function(a){a=
this.getViewPortPxFromLayerPx(a);return this.getLonLatFromViewPortPx(a)},getLayerPxFromLonLat:function(a){a=this.getPixelFromLonLat(a);return this.getLayerPxFromViewPortPx(a)},applyTransform:function(a,b,d){d=d||1;var e=this.layerContainerOriginPx,f=1!==d;a=a||e.x;b=b||e.y;var g=this.layerContainerDiv.style,h=this.applyTransform.transform,l=this.applyTransform.template;if(void 0===h&&(h=OpenLayers.Util.vendorPrefix.style("transform"),this.applyTransform.transform=h)){var m=OpenLayers.Element.getStyle(this.viewPortDiv,
OpenLayers.Util.vendorPrefix.css("transform"));m&&"none"===m||(l=["translate3d(",",0) ","scale3d(",",1)"],g[h]=[l[0],"0,0",l[1]].join(""));l&&~g[h].indexOf(l[0])||(l=["translate(",") ","scale(",")"]);this.applyTransform.template=l}null===h||"translate3d("!==l[0]&&!0!==f?(g.left=a+"px",g.top=b+"px",null!==h&&(g[h]="")):(!0===f&&"translate("===l[0]&&(a-=e.x,b-=e.y,g.left=e.x+"px",g.top=e.y+"px"),g[h]=[l[0],a,"px,",b,"px",l[1],l[2],d,",",d,l[3]].join(""))},CLASS_NAME:"OpenLayers.Map"});
OpenLayers.Map.TILE_WIDTH=256;OpenLayers.Map.TILE_HEIGHT=256;
OpenLayers.Layer=OpenLayers.Class({id:null,name:null,div:null,opacity:1,alwaysInRange:null,RESOLUTION_PROPERTIES:"scales resolutions maxScale minScale maxResolution minResolution numZoomLevels maxZoomLevel".split(" "),events:null,map:null,isBaseLayer:!1,alpha:!1,displayInLayerSwitcher:!0,visibility:!0,attribution:null,inRange:!1,imageSize: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:!1,wrapDateLine:!1,metadata:null,initialize:function(a,b){this.metadata={};b=OpenLayers.Util.extend({},b);null!=this.alwaysInRange&&(b.alwaysInRange=this.alwaysInRange);this.addOptions(b);this.name=a;if(null==this.id&&(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.eventListeners instanceof Object))this.events.on(this.eventListeners)},destroy:function(a){null==a&&(a=!0);null!=this.map&&this.map.removeLayer(this,a);this.options=this.div=this.name=this.map=this.projection=null;this.events&&(this.eventListeners&&this.events.un(this.eventListeners),this.events.destroy());this.events=this.eventListeners=null},clone:function(a){null==a&&(a=new OpenLayers.Layer(this.name,this.getOptions()));OpenLayers.Util.applyDefaults(a,this);a.map=null;return a},
getOptions:function(){var a={},b;for(b in this.options)a[b]=this[b];return a},setName:function(a){a!=this.name&&(this.name=a,null!=this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"name"}))},addOptions:function(a,b){null==this.options&&(this.options={});a&&("string"==typeof a.projection&&(a.projection=new OpenLayers.Projection(a.projection)),a.projection&&OpenLayers.Util.applyDefaults(a,OpenLayers.Projection.defaults[a.projection.getCode()]),!a.maxExtent||a.maxExtent instanceof
OpenLayers.Bounds||(a.maxExtent=new OpenLayers.Bounds(a.maxExtent)),!a.minExtent||a.minExtent instanceof OpenLayers.Bounds||(a.minExtent=new OpenLayers.Bounds(a.minExtent)));OpenLayers.Util.extend(this.options,a);OpenLayers.Util.extend(this,a);this.projection&&this.projection.getUnits()&&(this.units=this.projection.getUnits());if(this.map){var d=this.map.getResolution(),e=this.RESOLUTION_PROPERTIES.concat(["projection","units","minExtent","maxExtent"]),f;for(f in a)if(a.hasOwnProperty(f)&&0<=OpenLayers.Util.indexOf(e,
f)){this.initResolutions();b&&this.map.baseLayer===this&&(this.map.setCenter(this.map.getCenter(),this.map.getZoomForResolution(d),!1,!0),this.map.events.triggerEvent("changebaselayer",{layer:this}));break}}},onMapResize:function(){},redraw:function(){var a=!1;if(this.map){this.inRange=this.calculateInRange();var b=this.getExtent();b&&this.inRange&&this.visibility&&(this.moveTo(b,!0,!1),this.events.triggerEvent("moveend",{zoomChanged:!0}),a=!0)}return a},moveTo:function(a,b,d){a=this.visibility;this.isBaseLayer||
(a=a&&this.inRange);this.display(a)},moveByPx:function(a,b){},setMap:function(a){null==this.map&&(this.map=a,this.maxExtent=this.maxExtent||this.map.maxExtent,this.minExtent=this.minExtent||this.map.minExtent,this.projection=this.projection||this.map.projection,"string"==typeof this.projection&&(this.projection=new OpenLayers.Projection(this.projection)),this.units=this.projection.getUnits()||this.units||this.map.units,this.initResolutions(),this.isBaseLayer||(this.inRange=this.calculateInRange(),
this.div.style.display=this.visibility&&this.inRange?"":"none"),this.setTileSize())},afterAdd:function(){},removeMap:function(a){},getImageSize:function(a){return this.imageSize||this.tileSize},setTileSize:function(a){this.tileSize=a=a?a:this.tileSize?this.tileSize:this.map.getTileSize();this.gutter&&(this.imageSize=new OpenLayers.Size(a.w+2*this.gutter,a.h+2*this.gutter))},getVisibility:function(){return this.visibility},setVisibility:function(a){a!=this.visibility&&(this.visibility=a,this.display(a),
this.redraw(),null!=this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"visibility"}),this.events.triggerEvent("visibilitychanged"))},display:function(a){a!=("none"!=this.div.style.display)&&(this.div.style.display=a&&this.calculateInRange()?"block":"none")},calculateInRange:function(){var a=!1;this.alwaysInRange?a=!0:this.map&&(a=this.map.getResolution(),a=a>=this.minResolution&&a<=this.maxResolution);return a},setIsBaseLayer:function(a){a!=this.isBaseLayer&&(this.isBaseLayer=
a,null!=this.map&&this.map.events.triggerEvent("changebaselayer",{layer:this}))},initResolutions:function(){var a,b,d,e={},f=!0;a=0;for(b=this.RESOLUTION_PROPERTIES.length;a<b;a++)d=this.RESOLUTION_PROPERTIES[a],e[d]=this.options[d],f&&this.options[d]&&(f=!1);null==this.options.alwaysInRange&&(this.alwaysInRange=f);null==e.resolutions&&(e.resolutions=this.resolutionsFromScales(e.scales));null==e.resolutions&&(e.resolutions=this.calculateResolutions(e));if(null==e.resolutions){a=0;for(b=this.RESOLUTION_PROPERTIES.length;a<
b;a++)d=this.RESOLUTION_PROPERTIES[a],e[d]=null!=this.options[d]?this.options[d]:this.map[d];null==e.resolutions&&(e.resolutions=this.resolutionsFromScales(e.scales));null==e.resolutions&&(e.resolutions=this.calculateResolutions(e))}var g;this.options.maxResolution&&"auto"!==this.options.maxResolution&&(g=this.options.maxResolution);this.options.minScale&&(g=OpenLayers.Util.getResolutionFromScale(this.options.minScale,this.units));var h;this.options.minResolution&&"auto"!==this.options.minResolution&&
(h=this.options.minResolution);this.options.maxScale&&(h=OpenLayers.Util.getResolutionFromScale(this.options.maxScale,this.units));e.resolutions&&(e.resolutions.sort(function(a,b){return b-a}),g||(g=e.resolutions[0]),h||(h=e.resolutions[e.resolutions.length-1]));if(this.resolutions=e.resolutions){b=this.resolutions.length;this.scales=Array(b);for(a=0;a<b;a++)this.scales[a]=OpenLayers.Util.getScaleFromResolution(this.resolutions[a],this.units);this.numZoomLevels=b}if(this.minResolution=h)this.maxScale=
OpenLayers.Util.getScaleFromResolution(h,this.units);if(this.maxResolution=g)this.minScale=OpenLayers.Util.getScaleFromResolution(g,this.units)},resolutionsFromScales:function(a){if(null!=a){var b,d,e;e=a.length;b=Array(e);for(d=0;d<e;d++)b[d]=OpenLayers.Util.getResolutionFromScale(a[d],this.units);return b}},calculateResolutions:function(a){var b,d,e=a.maxResolution;null!=a.minScale?e=OpenLayers.Util.getResolutionFromScale(a.minScale,this.units):"auto"==e&&null!=this.maxExtent&&(b=this.map.getSize(),
d=this.maxExtent.getWidth()/b.w,b=this.maxExtent.getHeight()/b.h,e=Math.max(d,b));d=a.minResolution;null!=a.maxScale?d=OpenLayers.Util.getResolutionFromScale(a.maxScale,this.units):"auto"==a.minResolution&&null!=this.minExtent&&(b=this.map.getSize(),d=this.minExtent.getWidth()/b.w,b=this.minExtent.getHeight()/b.h,d=Math.max(d,b));"number"!==typeof e&&"number"!==typeof d&&null!=this.maxExtent&&(e=this.map.getTileSize(),e=Math.max(this.maxExtent.getWidth()/e.w,this.maxExtent.getHeight()/e.h));b=a.maxZoomLevel;
a=a.numZoomLevels;"number"===typeof d&&"number"===typeof e&&void 0===a?a=Math.floor(Math.log(e/d)/Math.log(2))+1:void 0===a&&null!=b&&(a=b+1);if(!("number"!==typeof a||0>=a||"number"!==typeof e&&"number"!==typeof d)){b=Array(a);var f=2;"number"==typeof d&&"number"==typeof e&&(f=Math.pow(e/d,1/(a-1)));var g;if("number"===typeof e)for(g=0;g<a;g++)b[g]=e/Math.pow(f,g);else for(g=0;g<a;g++)b[a-1-g]=d*Math.pow(f,g);return b}},getResolution:function(){var a=this.map.getZoom();return this.getResolutionForZoom(a)},
getExtent:function(){return this.map.calculateBounds()},getZoomForExtent:function(a,b){var d=this.map.getSize(),d=Math.max(a.getWidth()/d.w,a.getHeight()/d.h);return this.getZoomForResolution(d,b)},getDataExtent:function(){},getResolutionForZoom:function(a){a=Math.max(0,Math.min(a,this.resolutions.length-1));if(this.map.fractionalZoom){var b=Math.floor(a),d=Math.ceil(a);a=this.resolutions[b]-(a-b)*(this.resolutions[b]-this.resolutions[d])}else a=this.resolutions[Math.round(a)];return a},getZoomForResolution:function(a,
b){var d,e;if(this.map.fractionalZoom){var f=0,g=this.resolutions[f],h=this.resolutions[this.resolutions.length-1],l;d=0;for(e=this.resolutions.length;d<e;++d)if(l=this.resolutions[d],l>=a&&(g=l,f=d),l<=a){h=l;break}d=g-h;d=0<d?f+(g-a)/d:f}else{g=Number.POSITIVE_INFINITY;d=0;for(e=this.resolutions.length;d<e;d++)if(b){f=Math.abs(this.resolutions[d]-a);if(f>g)break;g=f}else if(this.resolutions[d]<a)break;d=Math.max(0,d-1)}return d},getLonLatFromViewPortPx:function(a){var b=null,d=this.map;if(null!=
a&&d.minPx){var b=d.getResolution(),e=d.getMaxExtent({restricted:!0}),b=new OpenLayers.LonLat((a.x-d.minPx.x)*b+e.left,(d.minPx.y-a.y)*b+e.top);this.wrapDateLine&&(b=b.wrapDateLine(this.maxExtent))}return b},getViewPortPxFromLonLat:function(a,b){var d=null;null!=a&&(b=b||this.map.getResolution(),d=this.map.calculateBounds(null,b),d=new OpenLayers.Pixel(1/b*(a.lon-d.left),1/b*(d.top-a.lat)));return d},setOpacity:function(a){if(a!=this.opacity){this.opacity=a;for(var b=this.div.childNodes,d=0,e=b.length;d<
e;++d){var f=b[d].firstChild||b[d],g=b[d].lastChild;g&&"iframe"===g.nodeName.toLowerCase()&&(f=g.parentNode);OpenLayers.Util.modifyDOMElement(f,null,null,null,null,null,null,a)}null!=this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"opacity"})}},getZIndex:function(){return this.div.style.zIndex},setZIndex:function(a){this.div.style.zIndex=a},adjustBounds:function(a){if(this.gutter){var b=this.gutter*this.map.getResolution();a=new OpenLayers.Bounds(a.left-b,a.bottom-b,a.right+
b,a.top+b)}this.wrapDateLine&&(b={rightTolerance:this.getResolution(),leftTolerance:this.getResolution()},a=a.wrapDateLine(this.maxExtent,b));return a},CLASS_NAME:"OpenLayers.Layer"});
OpenLayers.Layer.SphericalMercator={getExtent:function(){var a=null;return a=this.sphericalMercator?this.map.calculateBounds():OpenLayers.Layer.FixedZoomLevels.prototype.getExtent.apply(this)},getLonLatFromViewPortPx:function(a){return OpenLayers.Layer.prototype.getLonLatFromViewPortPx.apply(this,arguments)},getViewPortPxFromLonLat:function(a){return OpenLayers.Layer.prototype.getViewPortPxFromLonLat.apply(this,arguments)},initMercatorParameters:function(){this.RESOLUTIONS=[];for(var a=0;a<=this.MAX_ZOOM_LEVEL;++a)this.RESOLUTIONS[a]=
156543.03390625/Math.pow(2,a);this.units="m";this.projection=this.projection||"EPSG:900913"},forwardMercator:function(){var a=new OpenLayers.Projection("EPSG:4326"),b=new OpenLayers.Projection("EPSG:900913");return function(d,e){var f=OpenLayers.Projection.transform({x:d,y:e},a,b);return new OpenLayers.LonLat(f.x,f.y)}}(),inverseMercator:function(){var a=new OpenLayers.Projection("EPSG:4326"),b=new OpenLayers.Projection("EPSG:900913");return function(d,e){var f=OpenLayers.Projection.transform({x:d,
y:e},b,a);return new OpenLayers.LonLat(f.x,f.y)}}()};
OpenLayers.Layer.EventPane=OpenLayers.Class(OpenLayers.Layer,{smoothDragPan:!0,isBaseLayer:!0,isFixed:!0,pane:null,mapObject:null,initialize:function(a,b){OpenLayers.Layer.prototype.initialize.apply(this,arguments);null==this.pane&&(this.pane=OpenLayers.Util.createDiv(this.div.id+"_EventPane"))},destroy:function(){this.pane=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%";"msie"==OpenLayers.BROWSER_NAME&&(this.pane.style.background="url("+OpenLayers.Util.getImageLocation("blank.gif")+")");this.isFixed?this.map.viewPortDiv.appendChild(this.pane):this.map.layerContainerDiv.appendChild(this.pane);this.loadMapObject();null==this.mapObject&&this.loadWarningMessage()},removeMap:function(a){this.pane&&this.pane.parentNode&&this.pane.parentNode.removeChild(this.pane);
OpenLayers.Layer.prototype.removeMap.apply(this,arguments)},loadWarningMessage:function(){this.div.style.backgroundColor="darkblue";var a=this.map.getSize(),b=Math.min(a.w,300),d=Math.min(a.h,200),b=new OpenLayers.Size(b,d),a=(new OpenLayers.Pixel(a.w/2,a.h/2)).add(-b.w/2,-b.h/2),a=OpenLayers.Util.createDiv(this.name+"_warning",a,b,null,null,null,"auto");a.style.padding="7px";a.style.backgroundColor="yellow";a.innerHTML=this.getWarningHTML();this.div.appendChild(a)},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},moveByPx:function(a,b){OpenLayers.Layer.prototype.moveByPx.apply(this,arguments);this.dragPanMapObject?this.dragPanMapObject(a,-b):this.moveTo(this.map.getCachedCenter())},moveTo:function(a,b,d){OpenLayers.Layer.prototype.moveTo.apply(this,
arguments);if(null!=this.mapObject){var e=this.map.getCenter(),f=this.map.getZoom();if(null!=e){var g=this.getMapObjectCenter(),g=this.getOLLonLatFromMapObjectLonLat(g),h=this.getMapObjectZoom(),h=this.getOLZoomFromMapObjectZoom(h);e.equals(g)&&f==h||(!b&&g&&this.dragPanMapObject&&this.smoothDragPan?(f=this.map.getViewPortPxFromLonLat(g),e=this.map.getViewPortPxFromLonLat(e),this.dragPanMapObject(e.x-f.x,f.y-e.y)):(e=this.getMapObjectLonLatFromOLLonLat(e),f=this.getMapObjectZoomFromOLZoom(f),this.setMapObjectCenter(e,
f,d)))}}},getLonLatFromViewPortPx:function(a){var b=null;null!=this.mapObject&&null!=this.getMapObjectCenter()&&(a=this.getMapObjectPixelFromOLPixel(a),a=this.getMapObjectLonLatFromMapObjectPixel(a),b=this.getOLLonLatFromMapObjectLonLat(a));return b},getViewPortPxFromLonLat:function(a){var b=null;null!=this.mapObject&&null!=this.getMapObjectCenter()&&(a=this.getMapObjectLonLatFromOLLonLat(a),a=this.getMapObjectPixelFromMapObjectLonLat(a),b=this.getOLPixelFromMapObjectPixel(a));return b},getOLLonLatFromMapObjectLonLat:function(a){var b=
null;null!=a&&(b=this.getLongitudeFromMapObjectLonLat(a),a=this.getLatitudeFromMapObjectLonLat(a),b=new OpenLayers.LonLat(b,a));return b},getMapObjectLonLatFromOLLonLat:function(a){var b=null;null!=a&&(b=this.getMapObjectLonLatFromLonLat(a.lon,a.lat));return b},getOLPixelFromMapObjectPixel:function(a){var b=null;null!=a&&(b=this.getXFromMapObjectPixel(a),a=this.getYFromMapObjectPixel(a),b=new OpenLayers.Pixel(b,a));return b},getMapObjectPixelFromOLPixel:function(a){var b=null;null!=a&&(b=this.getMapObjectPixelFromXY(a.x,
a.y));return b},CLASS_NAME:"OpenLayers.Layer.EventPane"});
OpenLayers.Layer.FixedZoomLevels=OpenLayers.Class({initialize:function(){},initResolutions:function(){for(var a=["minZoomLevel","maxZoomLevel","numZoomLevels"],b=0,d=a.length;b<d;b++){var e=a[b];this[e]=null!=this.options[e]?this.options[e]:this.map[e]}if(null==this.minZoomLevel||this.minZoomLevel<this.MIN_ZOOM_LEVEL)this.minZoomLevel=this.MIN_ZOOM_LEVEL;a=this.MAX_ZOOM_LEVEL-this.minZoomLevel+1;b=null==this.options.numZoomLevels&&null!=this.options.maxZoomLevel||null==this.numZoomLevels&&null!=this.maxZoomLevel?
this.maxZoomLevel-this.minZoomLevel+1:this.numZoomLevels;this.numZoomLevels=null!=b?Math.min(b,a):a;this.maxZoomLevel=this.minZoomLevel+this.numZoomLevels-1;if(null!=this.RESOLUTIONS){a=0;this.resolutions=[];for(b=this.minZoomLevel;b<=this.maxZoomLevel;b++)this.resolutions[a++]=this.RESOLUTIONS[b];this.maxResolution=this.resolutions[0];this.minResolution=this.resolutions[this.resolutions.length-1]}},getResolution:function(){if(null!=this.resolutions)return OpenLayers.Layer.prototype.getResolution.apply(this,
arguments);var a=null,b=this.map.getSize(),d=this.getExtent();null!=b&&null!=d&&(a=Math.max(d.getWidth()/b.w,d.getHeight()/b.h));return a},getExtent:function(){var a=this.map.getSize(),b=this.getLonLatFromViewPortPx({x:0,y:0}),a=this.getLonLatFromViewPortPx({x:a.w,y:a.h});return null!=b&&null!=a?new OpenLayers.Bounds(b.lon,a.lat,a.lon,b.lat):null},getZoomForResolution:function(a){if(null!=this.resolutions)return OpenLayers.Layer.prototype.getZoomForResolution.apply(this,arguments);var b=OpenLayers.Layer.prototype.getExtent.apply(this,
[]);return this.getZoomForExtent(b)},getOLZoomFromMapObjectZoom:function(a){var b=null;null!=a&&(b=a-this.minZoomLevel,this.map.baseLayer!==this&&(b=this.map.baseLayer.getZoomForResolution(this.getResolutionForZoom(b))));return b},getMapObjectZoomFromOLZoom:function(a){var b=null;null!=a&&(b=a+this.minZoomLevel,this.map.baseLayer!==this&&(b=this.getZoomForResolution(this.map.baseLayer.getResolutionForZoom(b))));return b},CLASS_NAME:"OpenLayers.Layer.FixedZoomLevels"});
OpenLayers.Layer.Google=OpenLayers.Class(OpenLayers.Layer.EventPane,OpenLayers.Layer.FixedZoomLevels,{MIN_ZOOM_LEVEL:0,MAX_ZOOM_LEVEL:21,RESOLUTIONS:[1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,6.866455078125E-4,3.4332275390625E-4,1.71661376953125E-4,8.58306884765625E-5,4.291534423828125E-5,2.145767211914062E-5,1.072883605957031E-5,5.36441802978515E-6,2.68220901489257E-6,1.341104507446289E-6,6.705522537231445E-7],
type:null,wrapDateLine:!0,sphericalMercator:!1,version:null,initialize:function(a,b){b=b||{};b.version||(b.version="function"===typeof GMap2?"2":"3");var d=OpenLayers.Layer.Google["v"+b.version.replace(/\./g,"_")];if(d)OpenLayers.Util.applyDefaults(b,d);else throw"Unsupported Google Maps API version: "+b.version;OpenLayers.Util.applyDefaults(b,d.DEFAULTS);b.maxExtent&&(b.maxExtent=b.maxExtent.clone());OpenLayers.Layer.EventPane.prototype.initialize.apply(this,[a,b]);OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this,
[a,b]);this.sphericalMercator&&(OpenLayers.Util.extend(this,OpenLayers.Layer.SphericalMercator),this.initMercatorParameters())},clone:function(){return new OpenLayers.Layer.Google(this.name,this.getOptions())},setVisibility:function(a){var b=null==this.opacity?1:this.opacity;OpenLayers.Layer.EventPane.prototype.setVisibility.apply(this,arguments);this.setOpacity(b)},display:function(a){this._dragging||this.setGMapVisibility(a);OpenLayers.Layer.EventPane.prototype.display.apply(this,arguments)},moveTo:function(a,
b,d){this._dragging=d;OpenLayers.Layer.EventPane.prototype.moveTo.apply(this,arguments);delete this._dragging},setOpacity:function(a){a!==this.opacity&&(null!=this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"opacity"}),this.opacity=a);if(this.getVisibility()){var b=this.getMapContainer();OpenLayers.Util.modifyDOMElement(b,null,null,null,null,null,null,a)}},destroy:function(){if(this.map){this.setGMapVisibility(!1);var a=OpenLayers.Layer.Google.cache[this.map.id];a&&1>=a.count&&
this.removeGMapElements()}OpenLayers.Layer.EventPane.prototype.destroy.apply(this,arguments)},removeGMapElements:function(){var a=OpenLayers.Layer.Google.cache[this.map.id];if(a){var b=this.mapObject&&this.getMapContainer();b&&b.parentNode&&b.parentNode.removeChild(b);(b=a.termsOfUse)&&b.parentNode&&b.parentNode.removeChild(b);(a=a.poweredBy)&&a.parentNode&&a.parentNode.removeChild(a);this.mapObject&&window.google&&google.maps&&google.maps.event&&google.maps.event.clearListeners&&google.maps.event.clearListeners(this.mapObject,
"tilesloaded")}},removeMap:function(a){this.visibility&&this.mapObject&&this.setGMapVisibility(!1);var b=OpenLayers.Layer.Google.cache[a.id];b&&(1>=b.count?(this.removeGMapElements(),delete OpenLayers.Layer.Google.cache[a.id]):--b.count);delete this.termsOfUse;delete this.poweredBy;delete this.mapObject;delete this.dragObject;OpenLayers.Layer.EventPane.prototype.removeMap.apply(this,arguments)},getOLBoundsFromMapObjectBounds:function(a){var b=null;null!=a&&(b=a.getSouthWest(),a=a.getNorthEast(),this.sphericalMercator?
(b=this.forwardMercator(b.lng(),b.lat()),a=this.forwardMercator(a.lng(),a.lat())):(b=new OpenLayers.LonLat(b.lng(),b.lat()),a=new OpenLayers.LonLat(a.lng(),a.lat())),b=new OpenLayers.Bounds(b.lon,b.lat,a.lon,a.lat));return b},getWarningHTML:function(){return OpenLayers.i18n("googleWarning")},getMapObjectCenter:function(){return this.mapObject.getCenter()},getMapObjectZoom:function(){return this.mapObject.getZoom()},getLongitudeFromMapObjectLonLat:function(a){return this.sphericalMercator?this.forwardMercator(a.lng(),
a.lat()).lon:a.lng()},getLatitudeFromMapObjectLonLat:function(a){return this.sphericalMercator?this.forwardMercator(a.lng(),a.lat()).lat:a.lat()},getXFromMapObjectPixel:function(a){return a.x},getYFromMapObjectPixel:function(a){return a.y},CLASS_NAME:"OpenLayers.Layer.Google"});OpenLayers.Layer.Google.cache={};
OpenLayers.Layer.Google.v2={termsOfUse:null,poweredBy:null,dragObject:null,loadMapObject:function(){this.type||(this.type=G_NORMAL_MAP);var a,b,d,e=OpenLayers.Layer.Google.cache[this.map.id];if(e)a=e.mapObject,b=e.termsOfUse,d=e.poweredBy,++e.count;else{var e=this.map.viewPortDiv,f=document.createElement("div");f.id=this.map.id+"_GMap2Container";f.style.position="absolute";f.style.width="100%";f.style.height="100%";e.appendChild(f);try{a=new GMap2(f),b=f.lastChild,e.appendChild(b),b.style.zIndex=
"1100",b.style.right="",b.style.bottom="",b.className="olLayerGoogleCopyright",d=f.lastChild,e.appendChild(d),d.style.zIndex="1100",d.style.right="",d.style.bottom="",d.className="olLayerGooglePoweredBy gmnoprint"}catch(g){throw g;}OpenLayers.Layer.Google.cache[this.map.id]={mapObject:a,termsOfUse:b,poweredBy:d,count:1}}this.mapObject=a;this.termsOfUse=b;this.poweredBy=d;-1===OpenLayers.Util.indexOf(this.mapObject.getMapTypes(),this.type)&&this.mapObject.addMapType(this.type);"function"==typeof a.getDragObject?
this.dragObject=a.getDragObject():this.dragPanMapObject=null;!1===this.isBaseLayer&&this.setGMapVisibility("none"!==this.div.style.display)},onMapResize:function(){if(this.visibility&&this.mapObject.isLoaded())this.mapObject.checkResize();else{if(!this._resized)var a=this,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=!0}},setGMapVisibility:function(a){var b=OpenLayers.Layer.Google.cache[this.map.id];
if(b){var d=this.mapObject.getContainer();!0===a?(this.mapObject.setMapType(this.type),d.style.display="",this.termsOfUse.style.left="",this.termsOfUse.style.display="",this.poweredBy.style.display="",b.displayed=this.id):(b.displayed===this.id&&delete b.displayed,b.displayed||(d.style.display="none",this.termsOfUse.style.display="none",this.termsOfUse.style.left="-9999px",this.poweredBy.style.display="none"))}},getMapContainer:function(){return this.mapObject.getContainer()},getMapObjectBoundsFromOLBounds:function(a){var b=
null;null!=a&&(b=this.sphericalMercator?this.inverseMercator(a.bottom,a.left):new OpenLayers.LonLat(a.bottom,a.left),a=this.sphericalMercator?this.inverseMercator(a.top,a.right):new OpenLayers.LonLat(a.top,a.right),b=new GLatLngBounds(new GLatLng(b.lat,b.lon),new GLatLng(a.lat,a.lon)));return b},setMapObjectCenter:function(a,b){this.mapObject.setCenter(a,b)},dragPanMapObject:function(a,b){this.dragObject.moveBy(new GSize(-a,b))},getMapObjectLonLatFromMapObjectPixel:function(a){return this.mapObject.fromContainerPixelToLatLng(a)},
getMapObjectPixelFromMapObjectLonLat:function(a){return this.mapObject.fromLatLngToContainerPixel(a)},getMapObjectZoomFromMapObjectBounds:function(a){return this.mapObject.getBoundsZoomLevel(a)},getMapObjectLonLatFromLonLat:function(a,b){var d;this.sphericalMercator?(d=this.inverseMercator(a,b),d=new GLatLng(d.lat,d.lon)):d=new GLatLng(b,a);return d},getMapObjectPixelFromXY:function(a,b){return new GPoint(a,b)}};
OpenLayers.Format=OpenLayers.Class({options:null,externalProjection:null,internalProjection:null,data:null,keepData:!1,initialize:function(a){OpenLayers.Util.extend(this,a);this.options=a},destroy:function(){},read:function(a){throw Error("Read not implemented.");},write:function(a){throw Error("Write not implemented.");},CLASS_NAME:"OpenLayers.Format"});
OpenLayers.Format.XML=OpenLayers.Class(OpenLayers.Format,{namespaces:null,namespaceAlias:null,defaultPrefix:null,readers:{},writers:{},xmldom:null,initialize:function(a){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(a){var b=a.indexOf("<");0<b&&(a=a.substring(b));b=OpenLayers.Util.Try(OpenLayers.Function.bind(function(){var b;b=window.ActiveXObject&&!this.xmldom?new ActiveXObject("Microsoft.XMLDOM"):this.xmldom;b.loadXML(a);return b},this),function(){return(new DOMParser).parseFromString(a,"text/xml")},function(){var b=new XMLHttpRequest;b.open("GET","data:text/xml;charset=utf-8,"+encodeURIComponent(a),!1);b.overrideMimeType&&
b.overrideMimeType("text/xml");b.send(null);return b.responseXML});this.keepData&&(this.data=b);return b},write:function(a){if(this.xmldom)a=a.xml;else{var b=new XMLSerializer;if(1==a.nodeType){var d=document.implementation.createDocument("","",null);d.importNode&&(a=d.importNode(a,!0));d.appendChild(a);a=b.serializeToString(d)}else a=b.serializeToString(a)}return a},createElementNS:function(a,b){return this.xmldom?"string"==typeof a?this.xmldom.createNode(1,b,a):this.xmldom.createNode(1,b,""):document.createElementNS(a,
b)},createDocumentFragment:function(){return this.xmldom?this.xmldom.createDocumentFragment():document.createDocumentFragment()},createTextNode:function(a){"string"!==typeof a&&(a=String(a));return this.xmldom?this.xmldom.createTextNode(a):document.createTextNode(a)},getElementsByTagNameNS:function(a,b,d){var e=[];if(a.getElementsByTagNameNS)e=a.getElementsByTagNameNS(b,d);else{a=a.getElementsByTagName("*");for(var f,g,h=0,l=a.length;h<l;++h)if(f=a[h],g=f.prefix?f.prefix+":"+d:d,"*"==d||g==f.nodeName)"*"!=
b&&b!=f.namespaceURI||e.push(f)}return e},getAttributeNodeNS:function(a,b,d){var e=null;if(a.getAttributeNodeNS)e=a.getAttributeNodeNS(b,d);else{a=a.attributes;for(var f,g,h=0,l=a.length;h<l;++h)if(f=a[h],f.namespaceURI==b&&(g=f.prefix?f.prefix+":"+d:d,g==f.nodeName)){e=f;break}}return e},getAttributeNS:function(a,b,d){var e="";if(a.getAttributeNS)e=a.getAttributeNS(b,d)||"";else if(a=this.getAttributeNodeNS(a,b,d))e=a.nodeValue;return e},getChildValue:function(a,b){var d=b||"";if(a)for(var e=a.firstChild;e;e=
e.nextSibling)switch(e.nodeType){case 3:case 4:d+=e.nodeValue}return d},isSimpleContent:function(a){var b=!0;for(a=a.firstChild;a;a=a.nextSibling)if(1===a.nodeType){b=!1;break}return b},contentType:function(a){var b=!1,d=!1,e=OpenLayers.Format.XML.CONTENT_TYPE.EMPTY;for(a=a.firstChild;a;a=a.nextSibling){switch(a.nodeType){case 1:d=!0;break;case 8:break;default:b=!0}if(d&&b)break}if(d&&b)e=OpenLayers.Format.XML.CONTENT_TYPE.MIXED;else{if(d)return OpenLayers.Format.XML.CONTENT_TYPE.COMPLEX;if(b)return OpenLayers.Format.XML.CONTENT_TYPE.SIMPLE}return e},
hasAttributeNS:function(a,b,d){var e=!1;return e=a.hasAttributeNS?a.hasAttributeNS(b,d):!!this.getAttributeNodeNS(a,b,d)},setAttributeNS:function(a,b,d,e){if(a.setAttributeNS)a.setAttributeNS(b,d,e);else if(this.xmldom)b?(b=a.ownerDocument.createNode(2,d,b),b.nodeValue=e,a.setAttributeNode(b)):a.setAttribute(d,e);else throw"setAttributeNS not implemented";},createElementNSPlus:function(a,b){b=b||{};var d=b.uri||this.namespaces[b.prefix];d||(d=a.indexOf(":"),d=this.namespaces[a.substring(0,d)]);d||
(d=this.namespaces[this.defaultPrefix]);d=this.createElementNS(d,a);b.attributes&&this.setAttributes(d,b.attributes);var e=b.value;null!=e&&d.appendChild(this.createTextNode(e));return d},setAttributes:function(a,b){var d,e,f;for(f in b)null!=b[f]&&b[f].toString&&(d=b[f].toString(),e=this.namespaces[f.substring(0,f.indexOf(":"))]||null,this.setAttributeNS(a,e,f,d))},readNode:function(a,b){b||(b={});var d=this.readers[a.namespaceURI?this.namespaceAlias[a.namespaceURI]:this.defaultPrefix];if(d){var e=
a.localName||a.nodeName.split(":").pop();(d=d[e]||d["*"])&&d.apply(this,[a,b])}return b},readChildNodes:function(a,b){b||(b={});for(var d=a.childNodes,e,f=0,g=d.length;f<g;++f)e=d[f],1==e.nodeType&&this.readNode(e,b);return b},writeNode:function(a,b,d){var e,f=a.indexOf(":");0<f?(e=a.substring(0,f),a=a.substring(f+1)):e=d?this.namespaceAlias[d.namespaceURI]:this.defaultPrefix;b=this.writers[e][a].apply(this,[b]);d&&d.appendChild(b);return b},getChildEl:function(a,b,d){return a&&this.getThisOrNextEl(a.firstChild,
b,d)},getNextEl:function(a,b,d){return a&&this.getThisOrNextEl(a.nextSibling,b,d)},getThisOrNextEl:function(a,b,d){a:for(;a;a=a.nextSibling)switch(a.nodeType){case 1:if(!(b&&b!==(a.localName||a.nodeName.split(":").pop())||d&&d!==a.namespaceURI))break a;a=null;break a;case 3:if(/^\s*$/.test(a.nodeValue))break;case 4:case 6:case 12:case 10:case 11:a=null;break a}return a||null},lookupNamespaceURI:function(a,b){var d=null;if(a)if(a.lookupNamespaceURI)d=a.lookupNamespaceURI(b);else a:switch(a.nodeType){case 1:if(null!==
a.namespaceURI&&a.prefix===b){d=a.namespaceURI;break a}if(d=a.attributes.length)for(var e,f=0;f<d;++f)if(e=a.attributes[f],"xmlns"===e.prefix&&e.name==="xmlns:"+b){d=e.value||null;break a}else if("xmlns"===e.name&&null===b){d=e.value||null;break a}d=this.lookupNamespaceURI(a.parentNode,b);break a;case 2:d=this.lookupNamespaceURI(a.ownerElement,b);break a;case 9:d=this.lookupNamespaceURI(a.documentElement,b);break a;case 6:case 12:case 10:case 11:break a;default:d=this.lookupNamespaceURI(a.parentNode,
b)}return d},getXMLDoc:function(){OpenLayers.Format.XML.document||this.xmldom||(document.implementation&&document.implementation.createDocument?OpenLayers.Format.XML.document=document.implementation.createDocument("","",null):!this.xmldom&&window.ActiveXObject&&(this.xmldom=new ActiveXObject("Microsoft.XMLDOM")));return OpenLayers.Format.XML.document||this.xmldom},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.Format.XML.document=null;OpenLayers.Format.WFST=function(a){a=OpenLayers.Util.applyDefaults(a,OpenLayers.Format.WFST.DEFAULTS);var b=OpenLayers.Format.WFST["v"+a.version.replace(/\./g,"_")];if(!b)throw"Unsupported WFST version: "+a.version;return new b(a)};OpenLayers.Format.WFST.DEFAULTS={version:"1.0.0"};
OpenLayers.Feature=OpenLayers.Class({layer:null,id:null,lonlat:null,data:null,marker:null,popupClass:null,popup:null,initialize:function(a,b,d){this.layer=a;this.lonlat=b;this.data=null!=d?d:{};this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){null!=this.layer&&null!=this.layer.map&&null!=this.popup&&this.layer.map.removePopup(this.popup);null!=this.layer&&null!=this.marker&&this.layer.removeMarker(this.marker);this.data=this.lonlat=this.id=this.layer=null;null!=this.marker&&
(this.destroyMarker(this.marker),this.marker=null);null!=this.popup&&(this.destroyPopup(this.popup),this.popup=null)},onScreen:function(){var a=!1;null!=this.layer&&null!=this.layer.map&&(a=this.layer.map.getExtent().containsLonLat(this.lonlat));return a},createMarker:function(){null!=this.lonlat&&(this.marker=new OpenLayers.Marker(this.lonlat,this.data.icon));return this.marker},destroyMarker:function(){this.marker.destroy()},createPopup:function(a){null!=this.lonlat&&(this.popup||(this.popup=new (this.popupClass?
this.popupClass:OpenLayers.Popup.Anchored)(this.id+"_popup",this.lonlat,this.data.popupSize,this.data.popupContentHTML,this.marker?this.marker.icon:null,a)),null!=this.data.overflow&&(this.popup.contentDiv.style.overflow=this.data.overflow),this.popup.feature=this);return this.popup},destroyPopup:function(){this.popup&&(this.popup.feature=null,this.popup.destroy(),this.popup=null)},CLASS_NAME:"OpenLayers.Feature"});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,url:null,renderIntent:"default",modified:null,initialize:function(a,b,d){OpenLayers.Feature.prototype.initialize.apply(this,[null,null,b]);this.lonlat=null;this.geometry=a?a:null;this.state=null;this.attributes={};b&&(this.attributes=OpenLayers.Util.extend(this.attributes,b));this.style=d?d:null},destroy:function(){this.layer&&(this.layer.removeFeatures(this),this.layer=
null);this.modified=this.geometry=null;OpenLayers.Feature.prototype.destroy.apply(this,arguments)},clone:function(){return new OpenLayers.Feature.Vector(this.geometry?this.geometry.clone():null,this.attributes,this.style)},onScreen:function(a){var b=!1;this.layer&&this.layer.map&&(b=this.layer.map.getExtent(),a?(a=this.geometry.getBounds(),b=b.intersectsBounds(a)):b=b.toGeometry().intersects(this.geometry));return b},getVisibility:function(){return!(this.style&&"none"==this.style.display||!this.layer||
this.layer&&this.layer.styleMap&&"none"==this.layer.styleMap.createSymbolizer(this,this.renderIntent).display||this.layer&&!this.layer.getVisibility())},createMarker:function(){return null},destroyMarker:function(){},createPopup:function(){return null},atPoint:function(a,b,d){var e=!1;this.geometry&&(e=this.geometry.atPoint(a,b,d));return e},destroyPopup:function(){},move:function(a){if(this.layer&&this.geometry.move){a="OpenLayers.LonLat"==a.CLASS_NAME?this.layer.getViewPortPxFromLonLat(a):a;var b=
this.layer.getViewPortPxFromLonLat(this.geometry.getBounds().getCenterLonLat()),d=this.layer.map.getResolution();this.geometry.move(d*(a.x-b.x),d*(b.y-a.y));this.layer.drawFeature(this);return b}},toState:function(a){if(a==OpenLayers.State.UPDATE)switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.DELETE:this.state=a}else if(a==OpenLayers.State.INSERT)switch(this.state){case OpenLayers.State.UNKNOWN:break;default:this.state=a}else if(a==OpenLayers.State.DELETE)switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.UPDATE:this.state=
a}else 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",fontColor:"#000000",labelAlign:"cm",labelOutlineColor:"white",labelOutlineWidth:3},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",fontColor:"#000000",labelAlign:"cm",labelOutlineColor:"white",labelOutlineWidth:3},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",fontColor:"#000000",labelAlign:"cm",labelOutlineColor:"white",labelOutlineWidth:3},"delete":{display:"none"}};
OpenLayers.Style=OpenLayers.Class({id:null,name:null,title:null,description:null,layerName:null,isDefault:!1,rules:null,context:null,defaultStyle:null,defaultsPerSymbolizer:!1,propertyStyles:null,initialize:function(a,b){OpenLayers.Util.extend(this,b);this.rules=[];b&&b.rules&&this.addRules(b.rules);this.setDefaultStyle(a||OpenLayers.Feature.Vector.style["default"]);this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){for(var a=0,b=this.rules.length;a<b;a++)this.rules[a].destroy(),
this.rules[a]=null;this.defaultStyle=this.rules=null},createSymbolizer:function(a){for(var b=this.defaultsPerSymbolizer?{}:this.createLiterals(OpenLayers.Util.extend({},this.defaultStyle),a),d=this.rules,e,f=[],g=!1,h=0,l=d.length;h<l;h++)e=d[h],e.evaluate(a)&&(e instanceof OpenLayers.Rule&&e.elseFilter?f.push(e):(g=!0,this.applySymbolizer(e,b,a)));if(!1==g&&0<f.length)for(g=!0,h=0,l=f.length;h<l;h++)this.applySymbolizer(f[h],b,a);0<d.length&&!1==g&&(b.display="none");null!=b.label&&"string"!==typeof b.label&&
(b.label=String(b.label));return b},applySymbolizer:function(a,b,d){var e=d.geometry?this.getSymbolizerPrefix(d.geometry):OpenLayers.Style.SYMBOLIZER_PREFIXES[0];a=a.symbolizer[e]||a.symbolizer;!0===this.defaultsPerSymbolizer&&(e=this.defaultStyle,OpenLayers.Util.applyDefaults(a,{pointRadius:e.pointRadius}),!0!==a.stroke&&!0!==a.graphic||OpenLayers.Util.applyDefaults(a,{strokeWidth:e.strokeWidth,strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeDashstyle:e.strokeDashstyle,strokeLinecap:e.strokeLinecap}),
!0!==a.fill&&!0!==a.graphic||OpenLayers.Util.applyDefaults(a,{fillColor:e.fillColor,fillOpacity:e.fillOpacity}),!0===a.graphic&&OpenLayers.Util.applyDefaults(a,{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(b,a),d)},createLiterals:function(a,b){var d=OpenLayers.Util.extend({},b.attributes||b.data);OpenLayers.Util.extend(d,this.context);for(var e in this.propertyStyles)a[e]=OpenLayers.Style.createLiteral(a[e],d,b,e);return a},findPropertyStyles:function(){var a={};this.addPropertyStyles(a,this.defaultStyle);for(var b=this.rules,d,e,f=0,g=b.length;f<g;f++){d=b[f].symbolizer;for(var h in d)if(e=d[h],"object"==typeof e)this.addPropertyStyles(a,e);else{this.addPropertyStyles(a,
d);break}}return a},addPropertyStyles:function(a,b){var d,e;for(e in b)d=b[e],"string"==typeof d&&d.match(/\$\{\w+\}/)&&(a[e]=!0);return a},addRules:function(a){Array.prototype.push.apply(this.rules,a);this.propertyStyles=this.findPropertyStyles()},setDefaultStyle:function(a){this.defaultStyle=a;this.propertyStyles=this.findPropertyStyles()},getSymbolizerPrefix:function(a){for(var b=OpenLayers.Style.SYMBOLIZER_PREFIXES,d=0,e=b.length;d<e;d++)if(-1!=a.CLASS_NAME.indexOf(b[d]))return b[d]},clone:function(){var a=
OpenLayers.Util.extend({},this);if(this.rules){a.rules=[];for(var b=0,d=this.rules.length;b<d;++b)a.rules.push(this.rules[b].clone())}a.context=this.context&&OpenLayers.Util.extend({},this.context);b=OpenLayers.Util.extend({},this.defaultStyle);return new OpenLayers.Style(b,a)},CLASS_NAME:"OpenLayers.Style"});OpenLayers.Style.createLiteral=function(a,b,d,e){"string"==typeof a&&-1!=a.indexOf("${")&&(a=OpenLayers.String.format(a,b,[d,e]),a=isNaN(a)||!a?a:parseFloat(a));return a};
OpenLayers.Style.SYMBOLIZER_PREFIXES=["Point","Line","Polygon","Text","Raster"];OpenLayers.Filter=OpenLayers.Class({initialize:function(a){OpenLayers.Util.extend(this,a)},destroy:function(){},evaluate:function(a){return!0},clone:function(){return null},toString:function(){return OpenLayers.Format&&OpenLayers.Format.CQL?OpenLayers.Format.CQL.prototype.write(this):Object.prototype.toString.call(this)},CLASS_NAME:"OpenLayers.Filter"});
OpenLayers.Filter.Spatial=OpenLayers.Class(OpenLayers.Filter,{type:null,property:null,value:null,distance:null,distanceUnits:null,evaluate:function(a){var b=!1;switch(this.type){case OpenLayers.Filter.Spatial.BBOX:case OpenLayers.Filter.Spatial.INTERSECTS:if(a.geometry){var d=this.value;"OpenLayers.Bounds"==this.value.CLASS_NAME&&(d=this.value.toGeometry());a.geometry.intersects(d)&&(b=!0)}break;default:throw Error("evaluate is not implemented for this filter type.");}return b},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.Filter.FeatureId=OpenLayers.Class(OpenLayers.Filter,{fids:null,type:"FID",initialize:function(a){this.fids=[];OpenLayers.Filter.prototype.initialize.apply(this,[a])},evaluate:function(a){for(var b=0,d=this.fids.length;b<d;b++)if((a.fid||a.id)==this.fids[b])return!0;return!1},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.Format.WFST.v1=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance",wfs:"http://www.opengis.net/wfs",gml:"http://www.opengis.net/gml",ogc:"http://www.opengis.net/ogc",ows:"http://www.opengis.net/ows"},defaultPrefix:"wfs",version:null,schemaLocations:null,srsName:null,extractAttributes:!0,xy:!0,stateName:null,initialize:function(a){this.stateName={};this.stateName[OpenLayers.State.INSERT]="wfs:Insert";this.stateName[OpenLayers.State.UPDATE]=
"wfs:Update";this.stateName[OpenLayers.State.DELETE]="wfs:Delete";OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},getSrsName:function(a,b){var d=b&&b.srsName;d||(d=a&&a.layer?a.layer.projection.getCode():this.srsName);return d},read:function(a,b){b=b||{};OpenLayers.Util.applyDefaults(b,{output:"features"});"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9==a.nodeType&&(a=a.documentElement);var d={};a&&this.readNode(a,d,!0);d.features&&"features"===b.output&&
(d=d.features);return d},readers:{wfs:{FeatureCollection:function(a,b){b.features=[];this.readChildNodes(a,b)}}},write:function(a,b){var d=this.writeNode("wfs:Transaction",{features:a,options:b}),e=this.schemaLocationAttr();e&&this.setAttributeNS(d,this.namespaces.xsi,"xsi:schemaLocation",e);return OpenLayers.Format.XML.prototype.write.apply(this,[d])},writers:{wfs:{GetFeature:function(a){var b=this.createElementNSPlus("wfs:GetFeature",{attributes:{service:"WFS",version:this.version,handle:a&&a.handle,
outputFormat:a&&a.outputFormat,maxFeatures:a&&a.maxFeatures,"xsi:schemaLocation":this.schemaLocationAttr(a)}});if("string"==typeof this.featureType)this.writeNode("Query",a,b);else for(var d=0,e=this.featureType.length;d<e;d++)a.featureType=this.featureType[d],this.writeNode("Query",a,b);return b},Transaction:function(a){a=a||{};var b=a.options||{},d=this.createElementNSPlus("wfs:Transaction",{attributes:{service:"WFS",version:this.version,handle:b.handle}}),e,f=a.features;if(f){!0===b.multi&&OpenLayers.Util.extend(this.geometryTypes,
{"OpenLayers.Geometry.Point":"MultiPoint","OpenLayers.Geometry.LineString":!0===this.multiCurve?"MultiCurve":"MultiLineString","OpenLayers.Geometry.Polygon":!0===this.multiSurface?"MultiSurface":"MultiPolygon"});var g,h;a=0;for(e=f.length;a<e;++a)h=f[a],(g=this.stateName[h.state])&&this.writeNode(g,{feature:h,options:b},d);!0===b.multi&&this.setGeometryTypes()}if(b.nativeElements)for(a=0,e=b.nativeElements.length;a<e;++a)this.writeNode("wfs:Native",b.nativeElements[a],d);return d},Native:function(a){return this.createElementNSPlus("wfs:Native",
{attributes:{vendorId:a.vendorId,safeToIgnore:a.safeToIgnore},value:a.value})},Insert:function(a){var b=a.feature;a=a.options;a=this.createElementNSPlus("wfs:Insert",{attributes:{handle:a&&a.handle}});this.srsName=this.getSrsName(b);this.writeNode("feature:_typeName",b,a);return a},Update:function(a){var b=a.feature;a=a.options;a=this.createElementNSPlus("wfs:Update",{attributes:{handle:a&&a.handle,typeName:(this.featureNS?this.featurePrefix+":":"")+this.featureType}});this.featureNS&&a.setAttribute("xmlns:"+
this.featurePrefix,this.featureNS);var d=b.modified;null===this.geometryName||d&&void 0===d.geometry||(this.srsName=this.getSrsName(b),this.writeNode("Property",{name:this.geometryName,value:b.geometry},a));for(var e in b.attributes)void 0===b.attributes[e]||d&&d.attributes&&(!d.attributes||void 0===d.attributes[e])||this.writeNode("Property",{name:e,value:b.attributes[e]},a);this.writeNode("ogc:Filter",new OpenLayers.Filter.FeatureId({fids:[b.fid]}),a);return a},Property:function(a){var b=this.createElementNSPlus("wfs:Property");
this.writeNode("Name",a.name,b);null!==a.value&&this.writeNode("Value",a.value,b);return b},Name:function(a){return this.createElementNSPlus("wfs:Name",{value:a})},Value:function(a){var b;a instanceof OpenLayers.Geometry?(b=this.createElementNSPlus("wfs:Value"),a=this.writeNode("feature:_geometry",a).firstChild,b.appendChild(a)):b=this.createElementNSPlus("wfs:Value",{value:a});return b},Delete:function(a){var b=a.feature;a=a.options;a=this.createElementNSPlus("wfs:Delete",{attributes:{handle:a&&
a.handle,typeName:(this.featureNS?this.featurePrefix+":":"")+this.featureType}});this.featureNS&&a.setAttribute("xmlns:"+this.featurePrefix,this.featureNS);this.writeNode("ogc:Filter",new OpenLayers.Filter.FeatureId({fids:[b.fid]}),a);return a}}},schemaLocationAttr:function(a){a=OpenLayers.Util.extend({featurePrefix:this.featurePrefix,schema:this.schema},a);var b=OpenLayers.Util.extend({},this.schemaLocations);a.schema&&(b[a.featurePrefix]=a.schema);a=[];var d,e;for(e in b)(d=this.namespaces[e])&&
a.push(d+" "+b[e]);return a.join(" ")||void 0},setFilterProperty:function(a){if(a.filters)for(var b=0,d=a.filters.length;b<d;++b)OpenLayers.Format.WFST.v1.prototype.setFilterProperty.call(this,a.filters[b]);else a instanceof OpenLayers.Filter.Spatial&&!a.property&&(a.property=this.geometryName)},CLASS_NAME:"OpenLayers.Format.WFST.v1"});
OpenLayers.Format.OGCExceptionReport=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{ogc:"http://www.opengis.net/ogc"},regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},defaultPrefix:"ogc",read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var b={exceptionReport:null};a.documentElement&&(this.readChildNodes(a,b),null===b.exceptionReport&&(b=(new OpenLayers.Format.OWSCommon).read(a)));return b},readers:{ogc:{ServiceExceptionReport:function(a,
b){b.exceptionReport={exceptions:[]};this.readChildNodes(a,b.exceptionReport)},ServiceException:function(a,b){var d={code:a.getAttribute("code"),locator:a.getAttribute("locator"),text:this.getChildValue(a)};b.exceptions.push(d)}}},CLASS_NAME:"OpenLayers.Format.OGCExceptionReport"});
OpenLayers.Format.XML.VersionedOGC=OpenLayers.Class(OpenLayers.Format.XML,{defaultVersion:null,version:null,profile:null,allowFallback:!1,name:null,stringifyOutput:!1,parser:null,initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a]);a=this.CLASS_NAME;this.name=a.substring(a.lastIndexOf(".")+1)},getVersion:function(a,b){var d;a?(d=this.version,d||(d=a.getAttribute("version"),d||(d=this.defaultVersion))):d=b&&b.version||this.version||this.defaultVersion;return d},getParser:function(a){a=
a||this.defaultVersion;var b=this.profile?"_"+this.profile:"";if(!this.parser||this.parser.VERSION!=a){var d=OpenLayers.Format[this.name]["v"+a.replace(/\./g,"_")+b];if(!d&&(""!==b&&this.allowFallback&&(b="",d=OpenLayers.Format[this.name]["v"+a.replace(/\./g,"_")]),!d))throw"Can't find a "+this.name+" parser for version "+a+b;this.parser=new d(this.options)}return this.parser},write:function(a,b){var d=this.getVersion(null,b);this.parser=this.getParser(d);d=this.parser.write(a,b);return!1===this.stringifyOutput?
d:OpenLayers.Format.XML.prototype.write.apply(this,[d])},read:function(a,b){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var d=this.getVersion(a.documentElement);this.parser=this.getParser(d);var e=this.parser.read(a,b),f=this.parser.errorProperty||null;null!==f&&void 0===e[f]&&(f=new OpenLayers.Format.OGCExceptionReport,e.error=f.read(a));e.version=d;return e},CLASS_NAME:"OpenLayers.Format.XML.VersionedOGC"});
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(a){var b,d;switch(this.type){case OpenLayers.Filter.Logical.AND:b=0;for(d=this.filters.length;b<d;b++)if(!1==this.filters[b].evaluate(a))return!1;return!0;case OpenLayers.Filter.Logical.OR:b=0;for(d=this.filters.length;b<
d;b++)if(!0==this.filters[b].evaluate(a))return!0;return!1;case OpenLayers.Filter.Logical.NOT:return!this.filters[0].evaluate(a)}},clone:function(){for(var a=[],b=0,d=this.filters.length;b<d;++b)a.push(this.filters[b].clone());return new OpenLayers.Filter.Logical({type:this.type,filters:a})},CLASS_NAME:"OpenLayers.Filter.Logical"});OpenLayers.Filter.Logical.AND="&&";OpenLayers.Filter.Logical.OR="||";OpenLayers.Filter.Logical.NOT="!";
OpenLayers.Filter.Comparison=OpenLayers.Class(OpenLayers.Filter,{type:null,property:null,value:null,matchCase:!0,lowerBoundary:null,upperBoundary:null,initialize:function(a){OpenLayers.Filter.prototype.initialize.apply(this,[a]);this.type===OpenLayers.Filter.Comparison.LIKE&&void 0===a.matchCase&&(this.matchCase=null)},evaluate:function(a){a instanceof OpenLayers.Feature.Vector&&(a=a.attributes);var b=!1;a=a[this.property];switch(this.type){case OpenLayers.Filter.Comparison.EQUAL_TO:b=this.value;
b=this.matchCase||"string"!=typeof a||"string"!=typeof b?a==b:a.toUpperCase()==b.toUpperCase();break;case OpenLayers.Filter.Comparison.NOT_EQUAL_TO:b=this.value;b=this.matchCase||"string"!=typeof a||"string"!=typeof b?a!=b:a.toUpperCase()!=b.toUpperCase();break;case OpenLayers.Filter.Comparison.LESS_THAN:b=a<this.value;break;case OpenLayers.Filter.Comparison.GREATER_THAN:b=a>this.value;break;case OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO:b=a<=this.value;break;case OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO:b=
a>=this.value;break;case OpenLayers.Filter.Comparison.BETWEEN:b=a>=this.lowerBoundary&&a<=this.upperBoundary;break;case OpenLayers.Filter.Comparison.LIKE:b=RegExp(this.value,"gi").test(a);break;case OpenLayers.Filter.Comparison.IS_NULL:b=null===a}return b},value2regex:function(a,b,d){if("."==a)throw Error("'.' is an unsupported wildCard character for OpenLayers.Filter.Comparison");a=a?a:"*";b=b?b:".";this.value=this.value.replace(RegExp("\\"+(d?d:"!")+"(.|$)","g"),"\\$1");this.value=this.value.replace(RegExp("\\"+
b,"g"),".");this.value=this.value.replace(RegExp("\\"+a,"g"),".*");this.value=this.value.replace(RegExp("\\\\.\\*","g"),"\\"+a);return this.value=this.value.replace(RegExp("\\\\\\.","g"),"\\"+b)},regex2value:function(){var a=this.value,a=a.replace(/!/g,"!!"),a=a.replace(/(\\)?\\\./g,function(a,d){return d?a:"!."}),a=a.replace(/(\\)?\\\*/g,function(a,d){return d?a:"!*"}),a=a.replace(/\\\\/g,"\\");return a=a.replace(/\.\*/g,"*")},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.Comparison.IS_NULL="NULL";
OpenLayers.Format.Filter=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.0.0",CLASS_NAME:"OpenLayers.Format.Filter"});OpenLayers.Filter.Function=OpenLayers.Class(OpenLayers.Filter,{name:null,params:null,CLASS_NAME:"OpenLayers.Filter.Function"});
OpenLayers.Date={dateRegEx:/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:(?:T(\d{1,2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|(?:[+-]\d{1,2}(?::(\d{2}))?)))|Z)?$/,toISOString:function(){return"toISOString"in Date.prototype?function(a){return a.toISOString()}:function(a){return isNaN(a.getTime())?"Invalid Date":a.getUTCFullYear()+"-"+OpenLayers.Number.zeroPad(a.getUTCMonth()+1,2)+"-"+OpenLayers.Number.zeroPad(a.getUTCDate(),2)+"T"+OpenLayers.Number.zeroPad(a.getUTCHours(),2)+":"+OpenLayers.Number.zeroPad(a.getUTCMinutes(),
2)+":"+OpenLayers.Number.zeroPad(a.getUTCSeconds(),2)+"."+OpenLayers.Number.zeroPad(a.getUTCMilliseconds(),3)+"Z"}}(),parse:function(a){var b;if((a=a.match(this.dateRegEx))&&(a[1]||a[7])){b=parseInt(a[1],10)||0;var d=parseInt(a[2],10)-1||0,e=parseInt(a[3],10)||1;b=new Date(Date.UTC(b,d,e));if(d=a[7]){var e=parseInt(a[4],10),f=parseInt(a[5],10),g=parseFloat(a[6]),h=g|0,g=Math.round(1E3*(g-h));b.setUTCHours(e,f,h,g);"Z"!==d&&(d=parseInt(d,10),a=parseInt(a[8],10)||0,a=-1E3*(3600*d+60*a),b=new Date(b.getTime()+
a))}}else b=new Date("invalid");return b}};
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:{_expression:function(a){for(var b="",d=a.firstChild;d;d=
d.nextSibling)switch(d.nodeType){case 1:a=this.readNode(d);a.property?b+="${"+a.property+"}":void 0!==a.value&&(b+=a.value);break;case 3:case 4:b+=d.nodeValue}return b},Filter:function(a,b){var d={fids:[],filters:[]};this.readChildNodes(a,d);0<d.fids.length?b.filter=new OpenLayers.Filter.FeatureId({fids:d.fids}):0<d.filters.length&&(b.filter=d.filters[0])},FeatureId:function(a,b){var d=a.getAttribute("fid");d&&b.fids.push(d)},And:function(a,b){var d=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND});
this.readChildNodes(a,d);b.filters.push(d)},Or:function(a,b){var d=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.OR});this.readChildNodes(a,d);b.filters.push(d)},Not:function(a,b){var d=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.NOT});this.readChildNodes(a,d);b.filters.push(d)},PropertyIsLessThan:function(a,b){var d=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN});this.readChildNodes(a,d);b.filters.push(d)},PropertyIsGreaterThan:function(a,
b){var d=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.GREATER_THAN});this.readChildNodes(a,d);b.filters.push(d)},PropertyIsLessThanOrEqualTo:function(a,b){var d=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO});this.readChildNodes(a,d);b.filters.push(d)},PropertyIsGreaterThanOrEqualTo:function(a,b){var d=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO});this.readChildNodes(a,d);b.filters.push(d)},
PropertyIsBetween:function(a,b){var d=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN});this.readChildNodes(a,d);b.filters.push(d)},Literal:function(a,b){b.value=OpenLayers.String.numericIf(this.getChildValue(a),!0)},PropertyName:function(a,b){b.property=this.getChildValue(a)},LowerBoundary:function(a,b){b.lowerBoundary=OpenLayers.String.numericIf(this.readers.ogc._expression.call(this,a),!0)},UpperBoundary:function(a,b){b.upperBoundary=OpenLayers.String.numericIf(this.readers.ogc._expression.call(this,
a),!0)},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")},Function:function(a,b){},PropertyIsNull:function(a,b){var d=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.IS_NULL});
this.readChildNodes(a,d);b.filters.push(d)}}},readSpatial:function(a,b,d){d=new OpenLayers.Filter.Spatial({type:d});this.readChildNodes(a,d);d.value=d.components[0];delete d.components;b.filters.push(d)},encodeLiteral:function(a){a instanceof Date&&(a=OpenLayers.Date.toISOString(a));return a},writeOgcExpression:function(a,b){a instanceof OpenLayers.Filter.Function?this.writeNode("Function",a,b):this.writeNode("Literal",a,b);return b},write:function(a){return this.writers.ogc.Filter.apply(this,[a])},
writers:{ogc:{Filter:function(a){var b=this.createElementNSPlus("ogc:Filter");this.writeNode(this.getFilterType(a),a,b);return b},_featureIds:function(a){for(var b=this.createDocumentFragment(),d=0,e=a.fids.length;d<e;++d)this.writeNode("ogc:FeatureId",a.fids[d],b);return b},FeatureId:function(a){return this.createElementNSPlus("ogc:FeatureId",{attributes:{fid:a}})},And:function(a){for(var b=this.createElementNSPlus("ogc:And"),d,e=0,f=a.filters.length;e<f;++e)d=a.filters[e],this.writeNode(this.getFilterType(d),
d,b);return b},Or:function(a){for(var b=this.createElementNSPlus("ogc:Or"),d,e=0,f=a.filters.length;e<f;++e)d=a.filters[e],this.writeNode(this.getFilterType(d),d,b);return b},Not:function(a){var b=this.createElementNSPlus("ogc:Not");a=a.filters[0];this.writeNode(this.getFilterType(a),a,b);return b},PropertyIsLessThan:function(a){var b=this.createElementNSPlus("ogc:PropertyIsLessThan");this.writeNode("PropertyName",a,b);this.writeOgcExpression(a.value,b);return b},PropertyIsGreaterThan:function(a){var b=
this.createElementNSPlus("ogc:PropertyIsGreaterThan");this.writeNode("PropertyName",a,b);this.writeOgcExpression(a.value,b);return b},PropertyIsLessThanOrEqualTo:function(a){var b=this.createElementNSPlus("ogc:PropertyIsLessThanOrEqualTo");this.writeNode("PropertyName",a,b);this.writeOgcExpression(a.value,b);return b},PropertyIsGreaterThanOrEqualTo:function(a){var b=this.createElementNSPlus("ogc:PropertyIsGreaterThanOrEqualTo");this.writeNode("PropertyName",a,b);this.writeOgcExpression(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:(this.encodeLiteral||OpenLayers.Format.Filter.v1.prototype.encodeLiteral)(a)})},LowerBoundary:function(a){var b=this.createElementNSPlus("ogc:LowerBoundary");
this.writeOgcExpression(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})},Function:function(a){var b=this.createElementNSPlus("ogc:Function",{attributes:{name:a.name}});a=a.params;for(var d=0,e=a.length;d<e;d++)this.writeOgcExpression(a[d],b);return b},PropertyIsNull:function(a){var b=this.createElementNSPlus("ogc:PropertyIsNull");this.writeNode("PropertyName",a,b);return b}}},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",NULL:"PropertyIsNull",BBOX:"BBOX",DWITHIN:"DWITHIN",WITHIN:"WITHIN",CONTAINS:"CONTAINS",INTERSECTS:"INTERSECTS",FID:"_featureIds"},CLASS_NAME:"OpenLayers.Format.Filter.v1"});
OpenLayers.Geometry=OpenLayers.Class({id:null,parent:null,bounds:null,initialize:function(){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){this.bounds=this.id=null},clone:function(){return new OpenLayers.Geometry},setBounds:function(a){a&&(this.bounds=a.clone())},clearBounds:function(){this.bounds=null;this.parent&&this.parent.clearBounds()},extendBounds:function(a){this.getBounds()?this.bounds.extend(a):this.setBounds(a)},getBounds:function(){null==this.bounds&&this.calculateBounds();
return this.bounds},calculateBounds:function(){},distanceTo:function(a,b){},getVertices:function(a){},atPoint:function(a,b,d){var e=!1;null!=this.getBounds()&&null!=a&&(b=null!=b?b:0,d=null!=d?d:0,e=(new OpenLayers.Bounds(this.bounds.left-b,this.bounds.bottom-d,this.bounds.right+b,this.bounds.top+d)).containsLonLat(a));return e},getLength:function(){return 0},getArea:function(){return 0},getCentroid:function(){return null},toString:function(){return OpenLayers.Format&&OpenLayers.Format.WKT?OpenLayers.Format.WKT.prototype.write(new OpenLayers.Feature.Vector(this)):
Object.prototype.toString.call(this)},CLASS_NAME:"OpenLayers.Geometry"});OpenLayers.Geometry.fromWKT=function(a){var b;if(OpenLayers.Format&&OpenLayers.Format.WKT){var d=OpenLayers.Geometry.fromWKT.format;d||(d=new OpenLayers.Format.WKT,OpenLayers.Geometry.fromWKT.format=d);a=d.read(a);if(a instanceof OpenLayers.Feature.Vector)b=a.geometry;else if(OpenLayers.Util.isArray(a)){b=a.length;for(var d=Array(b),e=0;e<b;++e)d[e]=a[e].geometry;b=new OpenLayers.Geometry.Collection(d)}}return b};
OpenLayers.Geometry.segmentsIntersect=function(a,b,d){var e=d&&d.point;d=d&&d.tolerance;var f=!1,g=a.x1-b.x1,h=a.y1-b.y1,l=a.x2-a.x1,m=a.y2-a.y1,q=b.y2-b.y1,r=b.x2-b.x1,u=q*l-r*m,q=r*h-q*g,h=l*h-m*g;0==u?0==q&&0==h&&(f=!0):(g=q/u,u=h/u,0<=g&&1>=g&&0<=u&&1>=u&&(e?(l=a.x1+g*l,u=a.y1+g*m,f=new OpenLayers.Geometry.Point(l,u)):f=!0));if(d)if(f){if(e)a:for(a=[a,b],b=0;2>b;++b)for(g=a[b],m=1;3>m;++m)if(l=g["x"+m],u=g["y"+m],e=Math.sqrt(Math.pow(l-f.x,2)+Math.pow(u-f.y,2)),e<d){f.x=l;f.y=u;break a}}else a:for(a=
[a,b],b=0;2>b;++b)for(l=a[b],u=a[(b+1)%2],m=1;3>m;++m)if(g={x:l["x"+m],y:l["y"+m]},h=OpenLayers.Geometry.distanceToSegment(g,u),h.distance<d){f=e?new OpenLayers.Geometry.Point(g.x,g.y):!0;break a}return f};OpenLayers.Geometry.distanceToSegment=function(a,b){var d=OpenLayers.Geometry.distanceSquaredToSegment(a,b);d.distance=Math.sqrt(d.distance);return d};
OpenLayers.Geometry.distanceSquaredToSegment=function(a,b){var d=a.x,e=a.y,f=b.x1,g=b.y1,h=b.x2,l=b.y2,m=h-f,q=l-g,r=(m*(d-f)+q*(e-g))/(Math.pow(m,2)+Math.pow(q,2));0>=r||(1<=r?(f=h,g=l):(f+=r*m,g+=r*q));return{distance:Math.pow(f-d,2)+Math.pow(g-e,2),x:f,y:g,along:r}};
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){null==a&&(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(a,b){var d=!(b&&!1===b.edge)&&b&&b.details,e,f,g,h,l;a instanceof
OpenLayers.Geometry.Point?(f=this.x,g=this.y,h=a.x,l=a.y,e=Math.sqrt(Math.pow(f-h,2)+Math.pow(g-l,2)),e=d?{x0:f,y0:g,x1:h,y1:l,distance:e}:e):(e=a.distanceTo(this,b),d&&(e={x0:e.x1,y0:e.y1,x1:e.x0,y1:e.y0,distance:e.distance}));return e},equals:function(a){var b=!1;null!=a&&(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+=a;this.y+=b;this.clearBounds()},rotate:function(a,b){a*=
Math.PI/180;var d=this.distanceTo(b),e=a+Math.atan2(this.y-b.y,this.x-b.x);this.x=b.x+d*Math.cos(e);this.y=b.y+d*Math.sin(e);this.clearBounds()},getCentroid:function(){return new OpenLayers.Geometry.Point(this.x,this.y)},resize:function(a,b,d){this.x=b.x+a*(void 0==d?1:d)*(this.x-b.x);this.y=b.y+a*(this.y-b.y);this.clearBounds();return this},intersects:function(a){var b=!1;return b="OpenLayers.Geometry.Point"==a.CLASS_NAME?this.equals(a):a.intersects(this)},transform:function(a,b){a&&b&&(OpenLayers.Projection.transform(this,
a,b),this.bounds=null);return this},getVertices:function(a){return[this]},CLASS_NAME:"OpenLayers.Geometry.Point"});
OpenLayers.Geometry.Collection=OpenLayers.Class(OpenLayers.Geometry,{components:null,componentTypes:null,initialize:function(a){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.components=[];null!=a&&this.addComponents(a)},destroy:function(){this.components.length=0;this.components=null;OpenLayers.Geometry.prototype.destroy.apply(this,arguments)},clone:function(){for(var a=eval("new "+this.CLASS_NAME+"()"),b=0,d=this.components.length;b<d;b++)a.addComponent(this.components[b].clone());
OpenLayers.Util.applyDefaults(a,this);return a},getComponentsString:function(){for(var a=[],b=0,d=this.components.length;b<d;b++)a.push(this.components[b].toShortString());return a.join(",")},calculateBounds:function(){this.bounds=null;var a=new OpenLayers.Bounds,b=this.components;if(b)for(var d=0,e=b.length;d<e;d++)a.extend(b[d].getBounds());null!=a.left&&null!=a.bottom&&null!=a.right&&null!=a.top&&this.setBounds(a)},addComponents:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=0,d=a.length;b<
d;b++)this.addComponent(a[b])},addComponent:function(a,b){var d=!1;if(a&&(null==this.componentTypes||-1<OpenLayers.Util.indexOf(this.componentTypes,a.CLASS_NAME))){if(null!=b&&b<this.components.length){var d=this.components.slice(0,b),e=this.components.slice(b,this.components.length);d.push(a);this.components=d.concat(e)}else this.components.push(a);a.parent=this;this.clearBounds();d=!0}return d},removeComponents:function(a){var b=!1;OpenLayers.Util.isArray(a)||(a=[a]);for(var d=a.length-1;0<=d;--d)b=
this.removeComponent(a[d])||b;return b},removeComponent:function(a){OpenLayers.Util.removeItem(this.components,a);this.clearBounds();return!0},getLength:function(){for(var a=0,b=0,d=this.components.length;b<d;b++)a+=this.components[b].getLength();return a},getArea:function(){for(var a=0,b=0,d=this.components.length;b<d;b++)a+=this.components[b].getArea();return a},getGeodesicArea:function(a){for(var b=0,d=0,e=this.components.length;d<e;d++)b+=this.components[d].getGeodesicArea(a);return b},getCentroid:function(a){if(!a)return this.components.length&&
this.components[0].getCentroid();a=this.components.length;if(!a)return!1;for(var b=[],d=[],e=0,f=Number.MAX_VALUE,g,h=0;h<a;++h){g=this.components[h];var l=g.getArea();g=g.getCentroid(!0);isNaN(l)||isNaN(g.x)||isNaN(g.y)||(b.push(l),e+=l,f=l<f&&0<l?l:f,d.push(g))}a=b.length;if(0===e){for(h=0;h<a;++h)b[h]=1;e=b.length}else{for(h=0;h<a;++h)b[h]/=f;e/=f}for(var m=f=0,h=0;h<a;++h)g=d[h],l=b[h],f+=g.x*l,m+=g.y*l;return new OpenLayers.Geometry.Point(f/e,m/e)},getGeodesicLength:function(a){for(var b=0,d=
0,e=this.components.length;d<e;d++)b+=this.components[d].getGeodesicLength(a);return b},move:function(a,b){for(var d=0,e=this.components.length;d<e;d++)this.components[d].move(a,b)},rotate:function(a,b){for(var d=0,e=this.components.length;d<e;++d)this.components[d].rotate(a,b)},resize:function(a,b,d){for(var e=0;e<this.components.length;++e)this.components[e].resize(a,b,d);return this},distanceTo:function(a,b){for(var d=!(b&&!1===b.edge)&&b&&b.details,e,f,g,h=Number.POSITIVE_INFINITY,l=0,m=this.components.length;l<
m&&!(e=this.components[l].distanceTo(a,b),g=d?e.distance:e,g<h&&(h=g,f=e,0==h));++l);return f},equals:function(a){var b=!0;if(a&&a.CLASS_NAME&&this.CLASS_NAME==a.CLASS_NAME)if(OpenLayers.Util.isArray(a.components)&&a.components.length==this.components.length)for(var d=0,e=this.components.length;d<e;++d){if(!this.components[d].equals(a.components[d])){b=!1;break}}else b=!1;else b=!1;return b},transform:function(a,b){if(a&&b){for(var d=0,e=this.components.length;d<e;d++)this.components[d].transform(a,
b);this.bounds=null}return this},intersects:function(a){for(var b=!1,d=0,e=this.components.length;d<e&&!(b=a.intersects(this.components[d]));++d);return b},getVertices:function(a){for(var b=[],d=0,e=this.components.length;d<e;++d)Array.prototype.push.apply(b,this.components[d].getVertices(a));return b},CLASS_NAME:"OpenLayers.Geometry.Collection"});
OpenLayers.Geometry.MultiPoint=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.Point"],addPoint:function(a,b){this.addComponent(a,b)},removePoint:function(a){this.removeComponent(a)},CLASS_NAME:"OpenLayers.Geometry.MultiPoint"});
OpenLayers.Geometry.Curve=OpenLayers.Class(OpenLayers.Geometry.MultiPoint,{componentTypes:["OpenLayers.Geometry.Point"],getLength:function(){var a=0;if(this.components&&1<this.components.length)for(var b=1,d=this.components.length;b<d;b++)a+=this.components[b-1].distanceTo(this.components[b]);return a},getGeodesicLength:function(a){var b=this;if(a){var d=new OpenLayers.Projection("EPSG:4326");d.equals(a)||(b=this.clone().transform(a,d))}a=0;if(b.components&&1<b.components.length)for(var e,f=1,g=b.components.length;f<
g;f++)d=b.components[f-1],e=b.components[f],a+=OpenLayers.Util.distVincenty({lon:d.x,lat:d.y},{lon:e.x,lat:e.y});return 1E3*a},CLASS_NAME:"OpenLayers.Geometry.Curve"});
OpenLayers.Geometry.LineString=OpenLayers.Class(OpenLayers.Geometry.Curve,{removeComponent:function(a){var b=this.components&&2<this.components.length;b&&OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,arguments);return b},intersects:function(a){var b=!1,d=a.CLASS_NAME;if("OpenLayers.Geometry.LineString"==d||"OpenLayers.Geometry.LinearRing"==d||"OpenLayers.Geometry.Point"==d){var e=this.getSortedSegments();a="OpenLayers.Geometry.Point"==d?[{x1:a.x,y1:a.y,x2:a.x,y2:a.y}]:a.getSortedSegments();
var f,g,h,l,m,q,r,u=0,z=e.length;a:for(;u<z;++u){d=e[u];f=d.x1;g=d.x2;h=d.y1;l=d.y2;var v=0,B=a.length;for(;v<B;++v){m=a[v];if(m.x1>g)break;if(!(m.x2<f||(q=m.y1,r=m.y2,Math.min(q,r)>Math.max(h,l)||Math.max(q,r)<Math.min(h,l)||!OpenLayers.Geometry.segmentsIntersect(d,m)))){b=!0;break a}}}}else b=a.intersects(this);return b},getSortedSegments:function(){for(var a=this.components.length-1,b=Array(a),d,e,f=0;f<a;++f)d=this.components[f],e=this.components[f+1],b[f]=d.x<e.x?{x1:d.x,y1:d.y,x2:e.x,y2:e.y}:
{x1:e.x,y1:e.y,x2:d.x,y2:d.y};return b.sort(function(a,b){return a.x1-b.x1})},splitWithSegment:function(a,b){for(var d=!(b&&!1===b.edge),e=b&&b.tolerance,f=[],g=this.getVertices(),h=[],l=[],m=!1,q,r,u,z={point:!0,tolerance:e},v=null,B=0,D=g.length-2;B<=D;++B)if(e=g[B],h.push(e.clone()),q=g[B+1],r={x1:e.x,y1:e.y,x2:q.x,y2:q.y},r=OpenLayers.Geometry.segmentsIntersect(a,r,z),r instanceof OpenLayers.Geometry.Point&&((u=r.x===a.x1&&r.y===a.y1||r.x===a.x2&&r.y===a.y2||r.equals(e)||r.equals(q)?!0:!1)||d))r.equals(l[l.length-
1])||l.push(r.clone()),0===B&&r.equals(e)||r.equals(q)||(m=!0,r.equals(e)||h.push(r),f.push(new OpenLayers.Geometry.LineString(h)),h=[r.clone()]);m&&(h.push(q.clone()),f.push(new OpenLayers.Geometry.LineString(h)));if(0<l.length)var C=a.x1<a.x2?1:-1,E=a.y1<a.y2?1:-1,v={lines:f,points:l.sort(function(a,b){return C*a.x-C*b.x||E*a.y-E*b.y})};return v},split:function(a,b){var d=null,e=b&&b.mutual,f,g,h,l;if(a instanceof OpenLayers.Geometry.LineString){var m=this.getVertices(),q,r,u,z,v,B=[];h=[];for(var D=
0,C=m.length-2;D<=C;++D){q=m[D];r=m[D+1];u={x1:q.x,y1:q.y,x2:r.x,y2:r.y};l=l||[a];e&&B.push(q.clone());for(var E=0;E<l.length;++E)if(z=l[E].splitWithSegment(u,b))if(v=z.lines,0<v.length&&(v.unshift(E,1),Array.prototype.splice.apply(l,v),E+=v.length-2),e)for(var F=0,P=z.points.length;F<P;++F)v=z.points[F],v.equals(q)||(B.push(v),h.push(new OpenLayers.Geometry.LineString(B)),B=v.equals(r)?[]:[v.clone()])}e&&0<h.length&&0<B.length&&(B.push(r.clone()),h.push(new OpenLayers.Geometry.LineString(B)))}else d=
a.splitWith(this,b);l&&1<l.length?g=!0:l=[];h&&1<h.length?f=!0:h=[];if(g||f)d=e?[h,l]:l;return d},splitWith:function(a,b){return a.split(this,b)},getVertices:function(a){return!0===a?[this.components[0],this.components[this.components.length-1]]:!1===a?this.components.slice(1,this.components.length-1):this.components.slice()},distanceTo:function(a,b){var d=!(b&&!1===b.edge)&&b&&b.details,e,f={},g=Number.POSITIVE_INFINITY;if(a instanceof OpenLayers.Geometry.Point){for(var h=this.getSortedSegments(),
l=a.x,m=a.y,q,r=0,u=h.length;r<u;++r)if(q=h[r],e=OpenLayers.Geometry.distanceToSegment(a,q),e.distance<g){if(g=e.distance,f=e,0===g)break}else if(q.x2>l&&(m>q.y1&&m<q.y2||m<q.y1&&m>q.y2))break;f=d?{distance:f.distance,x0:f.x,y0:f.y,x1:l,y1:m}:f.distance}else if(a instanceof OpenLayers.Geometry.LineString){var h=this.getSortedSegments(),l=a.getSortedSegments(),z,v,B=l.length,D={point:!0},r=0,u=h.length;a:for(;r<u;++r){m=h[r];q=m.x1;v=m.y1;for(var C=0;C<B;++C)if(e=l[C],z=OpenLayers.Geometry.segmentsIntersect(m,
e,D)){g=0;f={distance:0,x0:z.x,y0:z.y,x1:z.x,y1:z.y};break a}else e=OpenLayers.Geometry.distanceToSegment({x:q,y:v},e),e.distance<g&&(g=e.distance,f={distance:g,x0:q,y0:v,x1:e.x,y1:e.y})}d||(f=f.distance);0!==g&&m&&(e=a.distanceTo(new OpenLayers.Geometry.Point(m.x2,m.y2),b),r=d?e.distance:e,r<g&&(f=d?{distance:g,x0:e.x1,y0:e.y1,x1:e.x0,y1:e.y0}:r))}else f=a.distanceTo(this,b),d&&(f={distance:f.distance,x0:f.x1,y0:f.y1,x1:f.x0,y1:f.y0});return f},simplify:function(a){if(this&&null!==this){var b=this.getVertices();
if(3>b.length)return this;var d=function(a,b,e,m){for(var q=0,r=0,u=b,z;u<e;u++){z=a[b];var v=a[e],B=a[u],B=Math.abs(0.5*(z.x*v.y+v.x*B.y+B.x*z.y-v.x*z.y-B.x*v.y-z.x*B.y));z=Math.sqrt(Math.pow(z.x-v.x,2)+Math.pow(z.y-v.y,2));z=2*(B/z);z>q&&(q=z,r=u)}q>m&&r!=b&&(f.push(r),d(a,b,r,m),d(a,r,e,m))},e=b.length-1,f=[];f.push(0);for(f.push(e);b[0].equals(b[e]);)e--,f.push(e);d(b,0,e,a);a=[];f.sort(function(a,b){return a-b});for(e=0;e<f.length;e++)a.push(b[f[e]]);return new OpenLayers.Geometry.LineString(a)}return this},
CLASS_NAME:"OpenLayers.Geometry.LineString"});
OpenLayers.Geometry.MultiLineString=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.LineString"],split:function(a,b){for(var d=null,e=b&&b.mutual,f,g,h,l,m=[],q=[a],r=0,u=this.components.length;r<u;++r){g=this.components[r];h=!1;for(var z=0;z<q.length;++z)if(f=g.split(q[z],b)){if(e){h=f[0];for(var v=0,B=h.length;v<B;++v)0===v&&m.length?m[m.length-1].addComponent(h[v]):m.push(new OpenLayers.Geometry.MultiLineString([h[v]]));h=!0;f=f[1]}if(f.length){f.unshift(z,
1);Array.prototype.splice.apply(q,f);break}}h||(m.length?m[m.length-1].addComponent(g.clone()):m=[new OpenLayers.Geometry.MultiLineString(g.clone())])}m&&1<m.length?h=!0:m=[];q&&1<q.length?l=!0:q=[];if(h||l)d=e?[m,q]:q;return d},splitWith:function(a,b){var d=null,e=b&&b.mutual,f,g,h,l,m,q;if(a instanceof OpenLayers.Geometry.LineString){q=[];m=[a];for(var r=0,u=this.components.length;r<u;++r){h=!1;g=this.components[r];for(var z=0;z<m.length;++z)if(f=m[z].split(g,b)){e&&(h=f[0],h.length&&(h.unshift(z,
1),Array.prototype.splice.apply(m,h),z+=h.length-2),f=f[1],0===f.length&&(f=[g.clone()]));h=0;for(var v=f.length;h<v;++h)0===h&&q.length?q[q.length-1].addComponent(f[h]):q.push(new OpenLayers.Geometry.MultiLineString([f[h]]));h=!0}h||(q.length?q[q.length-1].addComponent(g.clone()):q=[new OpenLayers.Geometry.MultiLineString([g.clone()])])}}else d=a.split(this);m&&1<m.length?l=!0:m=[];q&&1<q.length?h=!0:q=[];if(l||h)d=e?[m,q]:q;return d},CLASS_NAME:"OpenLayers.Geometry.MultiLineString"});
OpenLayers.Geometry.LinearRing=OpenLayers.Class(OpenLayers.Geometry.LineString,{componentTypes:["OpenLayers.Geometry.Point"],addComponent:function(a,b){var d=!1,e=this.components.pop();null==b&&a.equals(e)||(d=OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,arguments));OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[this.components[0]]);return d},removeComponent:function(a){var b=this.components&&3<this.components.length;b&&(this.components.pop(),OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,
arguments),OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[this.components[0]]));return b},move:function(a,b){for(var d=0,e=this.components.length;d<e-1;d++)this.components[d].move(a,b)},rotate:function(a,b){for(var d=0,e=this.components.length;d<e-1;++d)this.components[d].rotate(a,b)},resize:function(a,b,d){for(var e=0,f=this.components.length;e<f-1;++e)this.components[e].resize(a,b,d);return this},transform:function(a,b){if(a&&b){for(var d=0,e=this.components.length;d<e-1;d++)this.components[d].transform(a,
b);this.bounds=null}return this},getCentroid:function(){if(this.components){var a=this.components.length;if(0<a&&2>=a)return this.components[0].clone();if(2<a){var b=0,d=0,e=this.components[0].x,f=this.components[0].y,g=-1*this.getArea();if(0!=g){for(var h=0;h<a-1;h++)var l=this.components[h],m=this.components[h+1],b=b+(l.x+m.x-2*e)*((l.x-e)*(m.y-f)-(m.x-e)*(l.y-f)),d=d+(l.y+m.y-2*f)*((l.x-e)*(m.y-f)-(m.x-e)*(l.y-f));b=e+b/(6*g);a=f+d/(6*g)}else{for(h=0;h<a-1;h++)b+=this.components[h].x,d+=this.components[h].y;
b/=a-1;a=d/(a-1)}return new OpenLayers.Geometry.Point(b,a)}return null}},getArea:function(){var a=0;if(this.components&&2<this.components.length){for(var b=a=0,d=this.components.length;b<d-1;b++)var e=this.components[b],f=this.components[b+1],a=a+(e.x+f.x)*(f.y-e.y);a=-a/2}return a},getGeodesicArea:function(a){var b=this;if(a){var d=new OpenLayers.Projection("EPSG:4326");d.equals(a)||(b=this.clone().transform(a,d))}a=0;d=b.components&&b.components.length;if(2<d){for(var e,f,g=0;g<d-1;g++)e=b.components[g],
f=b.components[g+1],a+=OpenLayers.Util.rad(f.x-e.x)*(2+Math.sin(OpenLayers.Util.rad(e.y))+Math.sin(OpenLayers.Util.rad(f.y)));a=40680631590769*a/2}return a},containsPoint:function(a){var b=OpenLayers.Number.limitSigDigs,d=b(a.x,14);a=b(a.y,14);for(var e=this.components.length-1,f,g,h,l,m,q=0,r=0;r<e;++r)if(f=this.components[r],h=b(f.x,14),f=b(f.y,14),g=this.components[r+1],l=b(g.x,14),g=b(g.y,14),f==g){if(a==f&&(h<=l&&d>=h&&d<=l||h>=l&&d<=h&&d>=l)){q=-1;break}}else{m=b((a-g)*((l-h)/(g-f))+l,14);if(m==
d&&(f<g&&a>=f&&a<=g||f>g&&a<=f&&a>=g)){q=-1;break}m<=d||h!=l&&(m<Math.min(h,l)||m>Math.max(h,l))||(f<g&&a>=f&&a<g||f>g&&a<f&&a>=g)&&++q}return-1==q?1:!!(q&1)},intersects:function(a){var b=!1;if("OpenLayers.Geometry.Point"==a.CLASS_NAME)b=this.containsPoint(a);else if("OpenLayers.Geometry.LineString"==a.CLASS_NAME)b=a.intersects(this);else if("OpenLayers.Geometry.LinearRing"==a.CLASS_NAME)b=OpenLayers.Geometry.LineString.prototype.intersects.apply(this,[a]);else for(var d=0,e=a.components.length;d<
e&&!(b=a.components[d].intersects(this));++d);return b},getVertices:function(a){return!0===a?[]:this.components.slice(0,this.components.length-1)},CLASS_NAME:"OpenLayers.Geometry.LinearRing"});
OpenLayers.Geometry.Polygon=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.LinearRing"],getArea:function(){var a=0;if(this.components&&0<this.components.length)for(var a=a+Math.abs(this.components[0].getArea()),b=1,d=this.components.length;b<d;b++)a-=Math.abs(this.components[b].getArea());return a},getGeodesicArea:function(a){var b=0;if(this.components&&0<this.components.length)for(var b=b+Math.abs(this.components[0].getGeodesicArea(a)),d=1,e=this.components.length;d<
e;d++)b-=Math.abs(this.components[d].getGeodesicArea(a));return b},containsPoint:function(a){var b=this.components.length,d=!1;if(0<b&&(d=this.components[0].containsPoint(a),1!==d&&d&&1<b))for(var e,f=1;f<b;++f)if(e=this.components[f].containsPoint(a)){d=1===e?1:!1;break}return d},intersects:function(a){var b=!1,d,e;if("OpenLayers.Geometry.Point"==a.CLASS_NAME)b=this.containsPoint(a);else if("OpenLayers.Geometry.LineString"==a.CLASS_NAME||"OpenLayers.Geometry.LinearRing"==a.CLASS_NAME){d=0;for(e=
this.components.length;d<e&&!(b=a.intersects(this.components[d]));++d);if(!b)for(d=0,e=a.components.length;d<e&&!(b=this.containsPoint(a.components[d]));++d);}else for(d=0,e=a.components.length;d<e&&!(b=this.intersects(a.components[d]));++d);if(!b&&"OpenLayers.Geometry.Polygon"==a.CLASS_NAME){var f=this.components[0];d=0;for(e=f.components.length;d<e&&!(b=a.containsPoint(f.components[d]));++d);}return b},distanceTo:function(a,b){return b&&!1===b.edge&&this.intersects(a)?0:OpenLayers.Geometry.Collection.prototype.distanceTo.apply(this,
[a,b])},CLASS_NAME:"OpenLayers.Geometry.Polygon"});OpenLayers.Geometry.Polygon.createRegularPolygon=function(a,b,d,e){var f=Math.PI*(1/d-0.5);e&&(f+=e/180*Math.PI);for(var g,h=[],l=0;l<d;++l)g=f+2*l*Math.PI/d,e=a.x+b*Math.cos(g),g=a.y+b*Math.sin(g),h.push(new OpenLayers.Geometry.Point(e,g));a=new OpenLayers.Geometry.LinearRing(h);return new OpenLayers.Geometry.Polygon([a])};
OpenLayers.Geometry.MultiPolygon=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.Polygon"],CLASS_NAME:"OpenLayers.Geometry.MultiPolygon"});
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:!0,xy:!0,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(a){"string"==
typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a=this.getElementsByTagNameNS(a.documentElement,this.gmlns,this.featureName);for(var b=[],d=0;d<a.length;d++){var e=this.parseFeature(a[d]);e&&b.push(e)}return b},parseFeature:function(a){for(var b="MultiPolygon Polygon MultiLineString LineString MultiPoint Point Envelope".split(" "),d,e,f,g=0;g<b.length;++g)if(d=b[g],e=this.getElementsByTagNameNS(a,this.gmlns,d),0<e.length){if(f=this.parseGeometry[d.toLowerCase()])f=f.apply(this,
[e[0]]),this.internalProjection&&this.externalProjection&&f.transform(this.externalProjection,this.internalProjection);else throw new TypeError("Unsupported geometry type: "+d);break}var h;d=this.getElementsByTagNameNS(a,this.gmlns,"Box");for(g=0;g<d.length;++g)b=d[g],e=this.parseGeometry.box.apply(this,[b]),b=b.parentNode,"boundedBy"===(b.localName||b.nodeName.split(":").pop())?h=e:f=e.toGeometry();var l;this.extractAttributes&&(l=this.parseAttributes(a));l=new OpenLayers.Feature.Vector(f,l);l.bounds=
h;l.gml={featureType:a.firstChild.nodeName.split(":")[1],featureNS:a.firstChild.namespaceURI,featureNSPrefix:a.firstChild.prefix};a=a.firstChild;for(var m;a&&(1!=a.nodeType||!(m=a.getAttribute("fid")||a.getAttribute("id")));)a=a.nextSibling;l.fid=m;return l},parseGeometry:{point:function(a){var b,d;d=[];b=this.getElementsByTagNameNS(a,this.gmlns,"pos");0<b.length&&(d=b[0].firstChild.nodeValue,d=d.replace(this.regExes.trimSpace,""),d=d.split(this.regExes.splitSpace));0==d.length&&(b=this.getElementsByTagNameNS(a,
this.gmlns,"coordinates"),0<b.length&&(d=b[0].firstChild.nodeValue,d=d.replace(this.regExes.removeSpace,""),d=d.split(",")));0==d.length&&(b=this.getElementsByTagNameNS(a,this.gmlns,"coord"),0<b.length&&(a=this.getElementsByTagNameNS(b[0],this.gmlns,"X"),b=this.getElementsByTagNameNS(b[0],this.gmlns,"Y"),0<a.length&&0<b.length&&(d=[a[0].firstChild.nodeValue,b[0].firstChild.nodeValue])));2==d.length&&(d[2]=null);return this.xy?new OpenLayers.Geometry.Point(d[0],d[1],d[2]):new OpenLayers.Geometry.Point(d[1],
d[0],d[2])},multipoint:function(a){a=this.getElementsByTagNameNS(a,this.gmlns,"Point");var b=[];if(0<a.length)for(var d,e=0;e<a.length;++e)(d=this.parseGeometry.point.apply(this,[a[e]]))&&b.push(d);return new OpenLayers.Geometry.MultiPoint(b)},linestring:function(a,b){var d,e;e=[];var f=[];d=this.getElementsByTagNameNS(a,this.gmlns,"posList");if(0<d.length){e=this.getChildValue(d[0]);e=e.replace(this.regExes.trimSpace,"");e=e.split(this.regExes.splitSpace);var g=parseInt(d[0].getAttribute("dimension")),
h,l,m;for(d=0;d<e.length/g;++d)h=d*g,l=e[h],m=e[h+1],h=2==g?null:e[h+2],this.xy?f.push(new OpenLayers.Geometry.Point(l,m,h)):f.push(new OpenLayers.Geometry.Point(m,l,h))}if(0==e.length&&(d=this.getElementsByTagNameNS(a,this.gmlns,"coordinates"),0<d.length))for(e=this.getChildValue(d[0]),e=e.replace(this.regExes.trimSpace,""),e=e.replace(this.regExes.trimComma,","),g=e.split(this.regExes.splitSpace),d=0;d<g.length;++d)e=g[d].split(","),2==e.length&&(e[2]=null),this.xy?f.push(new OpenLayers.Geometry.Point(e[0],
e[1],e[2])):f.push(new OpenLayers.Geometry.Point(e[1],e[0],e[2]));e=null;0!=f.length&&(e=b?new OpenLayers.Geometry.LinearRing(f):new OpenLayers.Geometry.LineString(f));return e},multilinestring:function(a){a=this.getElementsByTagNameNS(a,this.gmlns,"LineString");var b=[];if(0<a.length)for(var d,e=0;e<a.length;++e)(d=this.parseGeometry.linestring.apply(this,[a[e]]))&&b.push(d);return new OpenLayers.Geometry.MultiLineString(b)},polygon:function(a){a=this.getElementsByTagNameNS(a,this.gmlns,"LinearRing");
var b=[];if(0<a.length)for(var d,e=0;e<a.length;++e)(d=this.parseGeometry.linestring.apply(this,[a[e],!0]))&&b.push(d);return new OpenLayers.Geometry.Polygon(b)},multipolygon:function(a){a=this.getElementsByTagNameNS(a,this.gmlns,"Polygon");var b=[];if(0<a.length)for(var d,e=0;e<a.length;++e)(d=this.parseGeometry.polygon.apply(this,[a[e]]))&&b.push(d);return new OpenLayers.Geometry.MultiPolygon(b)},envelope:function(a){var b=[],d,e,f=this.getElementsByTagNameNS(a,this.gmlns,"lowerCorner");if(0<f.length){d=
[];0<f.length&&(d=f[0].firstChild.nodeValue,d=d.replace(this.regExes.trimSpace,""),d=d.split(this.regExes.splitSpace));2==d.length&&(d[2]=null);var g=this.xy?new OpenLayers.Geometry.Point(d[0],d[1],d[2]):new OpenLayers.Geometry.Point(d[1],d[0],d[2])}a=this.getElementsByTagNameNS(a,this.gmlns,"upperCorner");if(0<a.length){d=[];0<a.length&&(d=a[0].firstChild.nodeValue,d=d.replace(this.regExes.trimSpace,""),d=d.split(this.regExes.splitSpace));2==d.length&&(d[2]=null);var h=this.xy?new OpenLayers.Geometry.Point(d[0],
d[1],d[2]):new OpenLayers.Geometry.Point(d[1],d[0],d[2])}g&&h&&(b.push(new OpenLayers.Geometry.Point(g.x,g.y)),b.push(new OpenLayers.Geometry.Point(h.x,g.y)),b.push(new OpenLayers.Geometry.Point(h.x,h.y)),b.push(new OpenLayers.Geometry.Point(g.x,h.y)),b.push(new OpenLayers.Geometry.Point(g.x,g.y)),b=new OpenLayers.Geometry.LinearRing(b),e=new OpenLayers.Geometry.Polygon([b]));return e},box:function(a){var b=this.getElementsByTagNameNS(a,this.gmlns,"coordinates"),d=a=null;0<b.length&&(b=b[0].firstChild.nodeValue,
b=b.split(" "),2==b.length&&(a=b[0].split(","),d=b[1].split(",")));if(null!==a&&null!==d)return new OpenLayers.Bounds(parseFloat(a[0]),parseFloat(a[1]),parseFloat(d[0]),parseFloat(d[1]))}},parseAttributes:function(a){var b={};a=a.firstChild;for(var d,e,f;a;){if(1==a.nodeType){a=a.childNodes;for(d=0;d<a.length;++d)if(e=a[d],1==e.nodeType)if(f=e.childNodes,1==f.length){if(f=f[0],3==f.nodeType||4==f.nodeType)e=e.prefix?e.nodeName.split(":")[1]:e.nodeName,f=f.nodeValue.replace(this.regExes.trimSpace,
""),b[e]=f}else b[e.nodeName.split(":").pop()]=null;break}a=a.nextSibling}return b},write:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=this.createElementNS("http://www.opengis.net/wfs","wfs:"+this.collectionName),d=0;d<a.length;d++)b.appendChild(this.createFeatureXML(a[d]));return OpenLayers.Format.XML.prototype.write.apply(this,[b])},createFeatureXML:function(a){var b=this.buildGeometryNode(a.geometry),d=this.createElementNS(this.featureNS,this.featurePrefix+":"+this.geometryName);d.appendChild(b);
var b=this.createElementNS(this.gmlns,"gml:"+this.featureName),e=this.createElementNS(this.featureNS,this.featurePrefix+":"+this.layerName);e.setAttribute("fid",a.fid||a.id);e.appendChild(d);for(var f in a.attributes){var d=this.createTextNode(a.attributes[f]),g=f.substring(f.lastIndexOf(":")+1),g=this.createElementNS(this.featureNS,this.featurePrefix+":"+g);g.appendChild(d);e.appendChild(g)}b.appendChild(e);return b},buildGeometryNode:function(a){this.externalProjection&&this.internalProjection&&
(a=a.clone(),a.transform(this.internalProjection,this.externalProjection));var b=a.CLASS_NAME,b=b.substring(b.lastIndexOf(".")+1);return this.buildGeometry[b.toLowerCase()].apply(this,[a])},buildGeometry:{point:function(a){var b=this.createElementNS(this.gmlns,"gml:Point");b.appendChild(this.buildCoordinatesNode(a));return b},multipoint:function(a){var b=this.createElementNS(this.gmlns,"gml:MultiPoint");a=a.components;for(var d,e,f=0;f<a.length;f++)d=this.createElementNS(this.gmlns,"gml:pointMember"),
e=this.buildGeometry.point.apply(this,[a[f]]),d.appendChild(e),b.appendChild(d);return b},linestring:function(a){var b=this.createElementNS(this.gmlns,"gml:LineString");b.appendChild(this.buildCoordinatesNode(a));return b},multilinestring:function(a){var b=this.createElementNS(this.gmlns,"gml:MultiLineString");a=a.components;for(var d,e,f=0;f<a.length;++f)d=this.createElementNS(this.gmlns,"gml:lineStringMember"),e=this.buildGeometry.linestring.apply(this,[a[f]]),d.appendChild(e),b.appendChild(d);
return b},linearring:function(a){var b=this.createElementNS(this.gmlns,"gml:LinearRing");b.appendChild(this.buildCoordinatesNode(a));return b},polygon:function(a){var b=this.createElementNS(this.gmlns,"gml:Polygon");a=a.components;for(var d,e,f=0;f<a.length;++f)d=0==f?"outerBoundaryIs":"innerBoundaryIs",d=this.createElementNS(this.gmlns,"gml:"+d),e=this.buildGeometry.linearring.apply(this,[a[f]]),d.appendChild(e),b.appendChild(d);return b},multipolygon:function(a){var b=this.createElementNS(this.gmlns,
"gml:MultiPolygon");a=a.components;for(var d,e,f=0;f<a.length;++f)d=this.createElementNS(this.gmlns,"gml:polygonMember"),e=this.buildGeometry.polygon.apply(this,[a[f]]),d.appendChild(e),b.appendChild(d);return b},bounds:function(a){var b=this.createElementNS(this.gmlns,"gml:Box");b.appendChild(this.buildCoordinatesNode(a));return b}},buildCoordinatesNode:function(a){var b=this.createElementNS(this.gmlns,"gml:coordinates");b.setAttribute("decimal",".");b.setAttribute("cs",",");b.setAttribute("ts",
" ");var d=[];if(a instanceof OpenLayers.Bounds)d.push(a.left+","+a.bottom),d.push(a.right+","+a.top);else{a=a.components?a.components:[a];for(var e=0;e<a.length;e++)d.push(a[e].x+","+a[e].y)}d=this.createTextNode(d.join(" "));b.appendChild(d);return b},CLASS_NAME:"OpenLayers.Format.GML"});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:!0,srsName:null,xy:!0,geometryTypes:null,singleFeatureType:null,regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g,featureMember:/^(.*:)?featureMembers?$/},
initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a]);this.setGeometryTypes();a&&a.featureNS&&this.setNamespace("feature",a.featureNS);this.singleFeatureType=!a||"string"===typeof a.featureType},read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9==a.nodeType&&(a=a.documentElement);var b=[];this.readNode(a,{features:b},!0);if(0==b.length){var d=this.getElementsByTagNameNS(a,this.namespaces.gml,"featureMember");if(d.length){a=
0;for(var e=d.length;a<e;++a)this.readNode(d[a],{features:b},!0)}else d=this.getElementsByTagNameNS(a,this.namespaces.gml,"featureMembers"),d.length&&this.readNode(d[0],{features:b},!0)}return b},readNode:function(a,b,d){!0===d&&!0===this.autoConfig&&(this.featureType=null,delete this.namespaceAlias[this.featureNS],delete this.namespaces.feature,this.featureNS=null);this.featureNS||a.prefix in this.namespaces||a.parentNode.namespaceURI!=this.namespaces.gml||!this.regExes.featureMember.test(a.parentNode.nodeName)||
(this.featureType=a.nodeName.split(":").pop(),this.setNamespace("feature",a.namespaceURI),this.featureNS=a.namespaceURI,this.autoConfig=!0);return OpenLayers.Format.XML.prototype.readNode.apply(this,[a,b])},readers:{gml:{_inherit:function(a,b,d){},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(a,b){var d={};this.readChildNodes(a,d);d.components&&0<d.components.length&&
(b.bounds=d.components[0])},Point:function(a,b){var d={points:[]};this.readChildNodes(a,d);b.components||(b.components=[]);b.components.push(d.points[0])},coordinates:function(a,b){for(var d=this.getChildValue(a).replace(this.regExes.trimSpace,""),d=d.replace(this.regExes.trimComma,","),d=d.split(this.regExes.splitSpace),e,f=d.length,g=Array(f),h=0;h<f;++h)e=d[h].split(","),g[h]=this.xy?new OpenLayers.Geometry.Point(e[0],e[1],e[2]):new OpenLayers.Geometry.Point(e[1],e[0],e[2]);b.points=g},coord:function(a,
b){var d={};this.readChildNodes(a,d);b.points||(b.points=[]);b.points.push(new OpenLayers.Geometry.Point(d.x,d.y,d.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(a,b){var d={components:[]};this.readers.gml._inherit.apply(this,[a,d,b]);this.readChildNodes(a,d);b.components=[new OpenLayers.Geometry.MultiPoint(d.components)]},pointMember:function(a,b){this.readChildNodes(a,b)},LineString:function(a,
b){var d={};this.readers.gml._inherit.apply(this,[a,d,b]);this.readChildNodes(a,d);b.components||(b.components=[]);b.components.push(new OpenLayers.Geometry.LineString(d.points))},MultiLineString:function(a,b){var d={components:[]};this.readers.gml._inherit.apply(this,[a,d,b]);this.readChildNodes(a,d);b.components=[new OpenLayers.Geometry.MultiLineString(d.components)]},lineStringMember:function(a,b){this.readChildNodes(a,b)},Polygon:function(a,b){var d={outer:null,inner:[]};this.readers.gml._inherit.apply(this,
[a,d,b]);this.readChildNodes(a,d);d.inner.unshift(d.outer);b.components||(b.components=[]);b.components.push(new OpenLayers.Geometry.Polygon(d.inner))},LinearRing:function(a,b){var d={};this.readers.gml._inherit.apply(this,[a,d]);this.readChildNodes(a,d);b.components=[new OpenLayers.Geometry.LinearRing(d.points)]},MultiPolygon:function(a,b){var d={components:[]};this.readers.gml._inherit.apply(this,[a,d,b]);this.readChildNodes(a,d);b.components=[new OpenLayers.Geometry.MultiPolygon(d.components)]},
polygonMember:function(a,b){this.readChildNodes(a,b)},GeometryCollection:function(a,b){var d={components:[]};this.readers.gml._inherit.apply(this,[a,d,b]);this.readChildNodes(a,d);b.components=[new OpenLayers.Geometry.Collection(d.components)]},geometryMember:function(a,b){this.readChildNodes(a,b)}},feature:{"*":function(a,b){var d,e=a.localName||a.nodeName.split(":").pop();b.features?this.singleFeatureType||-1===OpenLayers.Util.indexOf(this.featureType,e)?e===this.featureType&&(d="_typeName"):d=
"_typeName":0==a.childNodes.length||1==a.childNodes.length&&3==a.firstChild.nodeType?this.extractAttributes&&(d="_attribute"):d="_geometry";d&&this.readers.feature[d].apply(this,[a,b])},_typeName:function(a,b){var d={components:[],attributes:{}};this.readChildNodes(a,d);d.name&&(d.attributes.name=d.name);var e=new OpenLayers.Feature.Vector(d.components[0],d.attributes);this.singleFeatureType||(e.type=a.nodeName.split(":").pop(),e.namespace=a.namespaceURI);var f=a.getAttribute("fid")||this.getAttributeNS(a,
this.namespaces.gml,"id");f&&(e.fid=f);this.internalProjection&&this.externalProjection&&e.geometry&&e.geometry.transform(this.externalProjection,this.internalProjection);d.bounds&&(e.bounds=d.bounds);b.features.push(e)},_geometry:function(a,b){this.geometryName||(this.geometryName=a.nodeName.split(":").pop());this.readChildNodes(a,b)},_attribute:function(a,b){var d=a.localName||a.nodeName.split(":").pop(),e=this.getChildValue(a);b.attributes[d]=e}},wfs:{FeatureCollection:function(a,b){this.readChildNodes(a,
b)}}},write:function(a){var b;b=OpenLayers.Util.isArray(a)?"featureMembers":"featureMember";a=this.writeNode("gml:"+b,a);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(a){var b=this.createElementNSPlus("gml:MultiPoint");a=a.components||[a];
for(var d=0,e=a.length;d<e;++d)this.writeNode("pointMember",a[d],b);return b},pointMember:function(a){var b=this.createElementNSPlus("gml:pointMember");this.writeNode("Point",a,b);return b},MultiLineString:function(a){var b=this.createElementNSPlus("gml:MultiLineString");a=a.components||[a];for(var d=0,e=a.length;d<e;++d)this.writeNode("lineStringMember",a[d],b);return b},lineStringMember:function(a){var b=this.createElementNSPlus("gml:lineStringMember");this.writeNode("LineString",a,b);return b},
MultiPolygon:function(a){var b=this.createElementNSPlus("gml:MultiPolygon");a=a.components||[a];for(var d=0,e=a.length;d<e;++d)this.writeNode("polygonMember",a[d],b);return b},polygonMember:function(a){var b=this.createElementNSPlus("gml:polygonMember");this.writeNode("Polygon",a,b);return b},GeometryCollection:function(a){for(var b=this.createElementNSPlus("gml:GeometryCollection"),d=0,e=a.components.length;d<e;++d)this.writeNode("geometryMember",a.components[d],b);return b},geometryMember:function(a){var b=
this.createElementNSPlus("gml:geometryMember");a=this.writeNode("feature:_geometry",a);b.appendChild(a.firstChild);return b}},feature:{_typeName:function(a){var b=this.createElementNSPlus("feature:"+this.featureType,{attributes:{fid:a.fid}});a.geometry&&this.writeNode("feature:_geometry",a.geometry,b);for(var d in a.attributes){var e=a.attributes[d];null!=e&&this.writeNode("feature:_attribute",{name:d,value:e},b)}return b},_geometry:function(a){this.externalProjection&&this.internalProjection&&(a=
a.clone().transform(this.internalProjection,this.externalProjection));var b=this.createElementNSPlus("feature:"+this.geometryName);a=this.writeNode("gml:"+this.geometryTypes[a.CLASS_NAME],a,b);this.srsName&&a.setAttribute("srsName",this.srsName);return b},_attribute:function(a){return this.createElementNSPlus("feature:"+a.name,{value:a.value})}},wfs:{FeatureCollection:function(a){for(var b=this.createElementNSPlus("wfs:FeatureCollection"),d=0,e=a.length;d<e;++d)this.writeNode("gml:featureMember",
a[d],b);return b}}},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.v3=OpenLayers.Class(OpenLayers.Format.GML.Base,{schemaLocation:"http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/profiles/gmlsfProfile/1.0.0/gmlsf.xsd",curve:!1,multiCurve:!0,surface:!1,multiSurface:!0,initialize:function(a){OpenLayers.Format.GML.Base.prototype.initialize.apply(this,[a])},readers:{gml:OpenLayers.Util.applyDefaults({_inherit:function(a,b,d){if(a=parseInt(a.getAttribute("srsDimension"),10)||d&&d.srsDimension)b.srsDimension=a},featureMembers:function(a,
b){this.readChildNodes(a,b)},Curve:function(a,b){var d={points:[]};this.readers.gml._inherit.apply(this,[a,d,b]);this.readChildNodes(a,d);b.components||(b.components=[]);b.components.push(new OpenLayers.Geometry.LineString(d.points))},segments:function(a,b){this.readChildNodes(a,b)},LineStringSegment:function(a,b){var d={};this.readChildNodes(a,d);d.points&&Array.prototype.push.apply(b.points,d.points)},pos:function(a,b){var d=this.getChildValue(a).replace(this.regExes.trimSpace,"").split(this.regExes.splitSpace),
d=this.xy?new OpenLayers.Geometry.Point(d[0],d[1],d[2]):new OpenLayers.Geometry.Point(d[1],d[0],d[2]);b.points=[d]},posList:function(a,b){for(var d=this.getChildValue(a).replace(this.regExes.trimSpace,"").split(this.regExes.splitSpace),e=b.srsDimension||parseInt(a.getAttribute("srsDimension")||a.getAttribute("dimension"),10)||2,f,g,h,l=Array(d.length/e),m=0,q=d.length;m<q;m+=e)f=d[m],g=d[m+1],h=2==e?void 0:d[m+2],l[m/e]=this.xy?new OpenLayers.Geometry.Point(f,g,h):new OpenLayers.Geometry.Point(g,
f,h);b.points=l},Surface:function(a,b){this.readChildNodes(a,b)},patches:function(a,b){this.readChildNodes(a,b)},PolygonPatch:function(a,b){this.readers.gml.Polygon.apply(this,[a,b])},exterior:function(a,b){var d={};this.readChildNodes(a,d);b.outer=d.components[0]},interior:function(a,b){var d={};this.readChildNodes(a,d);b.inner.push(d.components[0])},MultiCurve:function(a,b){var d={components:[]};this.readers.gml._inherit.apply(this,[a,d,b]);this.readChildNodes(a,d);0<d.components.length&&(b.components=
[new OpenLayers.Geometry.MultiLineString(d.components)])},curveMember:function(a,b){this.readChildNodes(a,b)},MultiSurface:function(a,b){var d={components:[]};this.readers.gml._inherit.apply(this,[a,d,b]);this.readChildNodes(a,d);0<d.components.length&&(b.components=[new OpenLayers.Geometry.MultiPolygon(d.components)])},surfaceMember:function(a,b){this.readChildNodes(a,b)},surfaceMembers:function(a,b){this.readChildNodes(a,b)},pointMembers:function(a,b){this.readChildNodes(a,b)},lineStringMembers:function(a,
b){this.readChildNodes(a,b)},polygonMembers:function(a,b){this.readChildNodes(a,b)},geometryMembers:function(a,b){this.readChildNodes(a,b)},Envelope:function(a,b){var d={points:Array(2)};this.readChildNodes(a,d);b.components||(b.components=[]);var e=d.points[0],d=d.points[1];b.components.push(new OpenLayers.Bounds(e.x,e.y,d.x,d.y))},lowerCorner:function(a,b){var d={};this.readers.gml.pos.apply(this,[a,d]);b.points[0]=d.points[0]},upperCorner:function(a,b){var d={};this.readers.gml.pos.apply(this,
[a,d]);b.points[1]=d.points[0]}},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(a){var b;b=OpenLayers.Util.isArray(a)?"featureMembers":"featureMember";a=this.writeNode("gml:"+b,a);this.setAttributeNS(a,this.namespaces.xsi,"xsi:schemaLocation",this.schemaLocation);return OpenLayers.Format.XML.prototype.write.apply(this,[a])},writers:{gml:OpenLayers.Util.applyDefaults({featureMembers:function(a){for(var b=
this.createElementNSPlus("gml:featureMembers"),d=0,e=a.length;d<e;++d)this.writeNode("feature:_typeName",a[d],b);return b},Point:function(a){var b=this.createElementNSPlus("gml:Point");this.writeNode("pos",a,b);return b},pos:function(a){return this.createElementNSPlus("gml:pos",{value:this.xy?a.x+" "+a.y:a.y+" "+a.x})},LineString:function(a){var b=this.createElementNSPlus("gml:LineString");this.writeNode("posList",a.components,b);return b},Curve:function(a){var b=this.createElementNSPlus("gml:Curve");
this.writeNode("segments",a,b);return b},segments:function(a){var b=this.createElementNSPlus("gml:segments");this.writeNode("LineStringSegment",a,b);return b},LineStringSegment:function(a){var b=this.createElementNSPlus("gml:LineStringSegment");this.writeNode("posList",a.components,b);return b},posList:function(a){for(var b=a.length,d=Array(b),e,f=0;f<b;++f)e=a[f],d[f]=this.xy?e.x+" "+e.y:e.y+" "+e.x;return this.createElementNSPlus("gml:posList",{value:d.join(" ")})},Surface:function(a){var b=this.createElementNSPlus("gml:Surface");
this.writeNode("patches",a,b);return b},patches:function(a){var b=this.createElementNSPlus("gml:patches");this.writeNode("PolygonPatch",a,b);return b},PolygonPatch:function(a){var b=this.createElementNSPlus("gml:PolygonPatch",{attributes:{interpolation:"planar"}});this.writeNode("exterior",a.components[0],b);for(var d=1,e=a.components.length;d<e;++d)this.writeNode("interior",a.components[d],b);return b},Polygon:function(a){var b=this.createElementNSPlus("gml:Polygon");this.writeNode("exterior",a.components[0],
b);for(var d=1,e=a.components.length;d<e;++d)this.writeNode("interior",a.components[d],b);return b},exterior:function(a){var b=this.createElementNSPlus("gml:exterior");this.writeNode("LinearRing",a,b);return b},interior:function(a){var b=this.createElementNSPlus("gml:interior");this.writeNode("LinearRing",a,b);return b},LinearRing:function(a){var b=this.createElementNSPlus("gml:LinearRing");this.writeNode("posList",a.components,b);return b},MultiCurve:function(a){var b=this.createElementNSPlus("gml:MultiCurve");
a=a.components||[a];for(var d=0,e=a.length;d<e;++d)this.writeNode("curveMember",a[d],b);return b},curveMember:function(a){var b=this.createElementNSPlus("gml:curveMember");this.curve?this.writeNode("Curve",a,b):this.writeNode("LineString",a,b);return b},MultiSurface:function(a){var b=this.createElementNSPlus("gml:MultiSurface");a=a.components||[a];for(var d=0,e=a.length;d<e;++d)this.writeNode("surfaceMember",a[d],b);return b},surfaceMember:function(a){var b=this.createElementNSPlus("gml:surfaceMember");
this.surface?this.writeNode("Surface",a,b):this.writeNode("Polygon",a,b);return b},Envelope:function(a){var b=this.createElementNSPlus("gml:Envelope");this.writeNode("lowerCorner",a,b);this.writeNode("upperCorner",a,b);this.srsName&&b.setAttribute("srsName",this.srsName);return b},lowerCorner:function(a){return this.createElementNSPlus("gml:lowerCorner",{value:this.xy?a.left+" "+a.bottom:a.bottom+" "+a.left})},upperCorner:function(a){return this.createElementNSPlus("gml:upperCorner",{value:this.xy?
a.right+" "+a.top:a.top+" "+a.right})}},OpenLayers.Format.GML.Base.prototype.writers.gml),feature:OpenLayers.Format.GML.Base.prototype.writers.feature,wfs:OpenLayers.Format.GML.Base.prototype.writers.wfs},setGeometryTypes:function(){this.geometryTypes={"OpenLayers.Geometry.Point":"Point","OpenLayers.Geometry.MultiPoint":"MultiPoint","OpenLayers.Geometry.LineString":!0===this.curve?"Curve":"LineString","OpenLayers.Geometry.MultiLineString":!1===this.multiCurve?"MultiLineString":"MultiCurve","OpenLayers.Geometry.Polygon":!0===
this.surface?"Surface":"Polygon","OpenLayers.Geometry.MultiPolygon":!1===this.multiSurface?"MultiPolygon":"MultiSurface","OpenLayers.Geometry.Collection":"GeometryCollection"}},CLASS_NAME:"OpenLayers.Format.GML.v3"});
OpenLayers.Format.Filter.v1_1_0=OpenLayers.Class(OpenLayers.Format.GML.v3,OpenLayers.Format.Filter.v1,{VERSION:"1.1.0",schemaLocation:"http://www.opengis.net/ogc/filter/1.1.0/filter.xsd",initialize:function(a){OpenLayers.Format.GML.v3.prototype.initialize.apply(this,[a])},readers:{ogc:OpenLayers.Util.applyDefaults({PropertyIsEqualTo:function(a,b){var d=a.getAttribute("matchCase"),d=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.EQUAL_TO,matchCase:!("false"===d||"0"===d)});this.readChildNodes(a,
d);b.filters.push(d)},PropertyIsNotEqualTo:function(a,b){var d=a.getAttribute("matchCase"),d=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.NOT_EQUAL_TO,matchCase:!("false"===d||"0"===d)});this.readChildNodes(a,d);b.filters.push(d)},PropertyIsLike:function(a,b){var d=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LIKE});this.readChildNodes(a,d);var e=a.getAttribute("wildCard"),f=a.getAttribute("singleChar"),g=a.getAttribute("escapeChar");d.value2regex(e,f,
g);b.filters.push(d)}},OpenLayers.Format.Filter.v1.prototype.readers.ogc),gml:OpenLayers.Format.GML.v3.prototype.readers.gml,feature:OpenLayers.Format.GML.v3.prototype.readers.feature},writers:{ogc:OpenLayers.Util.applyDefaults({PropertyIsEqualTo:function(a){var b=this.createElementNSPlus("ogc:PropertyIsEqualTo",{attributes:{matchCase:a.matchCase}});this.writeNode("PropertyName",a,b);this.writeOgcExpression(a.value,b);return b},PropertyIsNotEqualTo:function(a){var b=this.createElementNSPlus("ogc:PropertyIsNotEqualTo",
{attributes:{matchCase:a.matchCase}});this.writeNode("PropertyName",a,b);this.writeOgcExpression(a.value,b);return b},PropertyIsLike:function(a){var b=this.createElementNSPlus("ogc:PropertyIsLike",{attributes:{matchCase:a.matchCase,wildCard:"*",singleChar:".",escapeChar:"!"}});this.writeNode("PropertyName",a,b);this.writeNode("Literal",a.regex2value(),b);return b},BBOX:function(a){var b=this.createElementNSPlus("ogc:BBOX");a.property&&this.writeNode("PropertyName",a,b);var d=this.writeNode("gml:Envelope",
a.value);a.projection&&d.setAttribute("srsName",a.projection);b.appendChild(d);return b},SortBy:function(a){for(var b=this.createElementNSPlus("ogc:SortBy"),d=0,e=a.length;d<e;d++)this.writeNode("ogc:SortProperty",a[d],b);return b},SortProperty:function(a){var b=this.createElementNSPlus("ogc:SortProperty");this.writeNode("ogc:PropertyName",a,b);this.writeNode("ogc:SortOrder","DESC"==a.order?"DESC":"ASC",b);return b},SortOrder:function(a){return this.createElementNSPlus("ogc:SortOrder",{value:a})}},
OpenLayers.Format.Filter.v1.prototype.writers.ogc),gml:OpenLayers.Format.GML.v3.prototype.writers.gml,feature:OpenLayers.Format.GML.v3.prototype.writers.feature},writeSpatial:function(a,b){var d=this.createElementNSPlus("ogc:"+b);this.writeNode("PropertyName",a,d);if(a.value instanceof OpenLayers.Filter.Function)this.writeNode("Function",a.value,d);else{var e;e=a.value instanceof OpenLayers.Geometry?this.writeNode("feature:_geometry",a.value).firstChild:this.writeNode("gml:Envelope",a.value);a.projection&&
e.setAttribute("srsName",a.projection);d.appendChild(e)}return d},CLASS_NAME:"OpenLayers.Format.Filter.v1_1_0"});OpenLayers.Format.OWSCommon=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.0.0",getVersion:function(a,b){var d=this.version;if(!d){var e=a.getAttribute("xmlns:ows");e&&"1.1"===e.substring(e.lastIndexOf("/")+1)&&(d="1.1.0");d||(d=this.defaultVersion)}return d},CLASS_NAME:"OpenLayers.Format.OWSCommon"});
OpenLayers.Format.OWSCommon.v1=OpenLayers.Class(OpenLayers.Format.XML,{regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},read:function(a,b){OpenLayers.Util.applyDefaults(b,this.options);var d={};this.readChildNodes(a,d);return d},readers:{ows:{Exception:function(a,b){var d={code:a.getAttribute("exceptionCode"),locator:a.getAttribute("locator"),texts:[]};b.exceptions.push(d);this.readChildNodes(a,d)},ExceptionText:function(a,b){var d=this.getChildValue(a);b.texts.push(d)},
ServiceIdentification:function(a,b){b.serviceIdentification={};this.readChildNodes(a,b.serviceIdentification)},Title:function(a,b){b.title=this.getChildValue(a)},Abstract:function(a,b){b["abstract"]=this.getChildValue(a)},Keywords:function(a,b){b.keywords={};this.readChildNodes(a,b.keywords)},Keyword:function(a,b){b[this.getChildValue(a)]=!0},ServiceType:function(a,b){b.serviceType={codeSpace:a.getAttribute("codeSpace"),value:this.getChildValue(a)}},ServiceTypeVersion:function(a,b){b.serviceTypeVersion=
this.getChildValue(a)},Fees:function(a,b){b.fees=this.getChildValue(a)},AccessConstraints:function(a,b){b.accessConstraints=this.getChildValue(a)},ServiceProvider:function(a,b){b.serviceProvider={};this.readChildNodes(a,b.serviceProvider)},ProviderName:function(a,b){b.providerName=this.getChildValue(a)},ProviderSite:function(a,b){b.providerSite=this.getAttributeNS(a,this.namespaces.xlink,"href")},ServiceContact:function(a,b){b.serviceContact={};this.readChildNodes(a,b.serviceContact)},IndividualName:function(a,
b){b.individualName=this.getChildValue(a)},PositionName:function(a,b){b.positionName=this.getChildValue(a)},ContactInfo:function(a,b){b.contactInfo={};this.readChildNodes(a,b.contactInfo)},Phone:function(a,b){b.phone={};this.readChildNodes(a,b.phone)},Voice:function(a,b){b.voice=this.getChildValue(a)},Address:function(a,b){b.address={};this.readChildNodes(a,b.address)},DeliveryPoint:function(a,b){b.deliveryPoint=this.getChildValue(a)},City:function(a,b){b.city=this.getChildValue(a)},AdministrativeArea:function(a,
b){b.administrativeArea=this.getChildValue(a)},PostalCode:function(a,b){b.postalCode=this.getChildValue(a)},Country:function(a,b){b.country=this.getChildValue(a)},ElectronicMailAddress:function(a,b){b.electronicMailAddress=this.getChildValue(a)},Role:function(a,b){b.role=this.getChildValue(a)},OperationsMetadata:function(a,b){b.operationsMetadata={};this.readChildNodes(a,b.operationsMetadata)},Operation:function(a,b){var d=a.getAttribute("name");b[d]={};this.readChildNodes(a,b[d])},DCP:function(a,
b){b.dcp={};this.readChildNodes(a,b.dcp)},HTTP:function(a,b){b.http={};this.readChildNodes(a,b.http)},Get:function(a,b){b.get||(b.get=[]);var d={url:this.getAttributeNS(a,this.namespaces.xlink,"href")};this.readChildNodes(a,d);b.get.push(d)},Post:function(a,b){b.post||(b.post=[]);var d={url:this.getAttributeNS(a,this.namespaces.xlink,"href")};this.readChildNodes(a,d);b.post.push(d)},Parameter:function(a,b){b.parameters||(b.parameters={});var d=a.getAttribute("name");b.parameters[d]={};this.readChildNodes(a,
b.parameters[d])},Constraint:function(a,b){b.constraints||(b.constraints={});var d=a.getAttribute("name");b.constraints[d]={};this.readChildNodes(a,b.constraints[d])},Value:function(a,b){b[this.getChildValue(a)]=!0},OutputFormat:function(a,b){b.formats.push({value:this.getChildValue(a)});this.readChildNodes(a,b)},WGS84BoundingBox:function(a,b){var d={};d.crs=a.getAttribute("crs");b.BoundingBox?b.BoundingBox.push(d):(b.projection=d.crs,d=b);this.readChildNodes(a,d)},BoundingBox:function(a,b){this.readers.ows.WGS84BoundingBox.apply(this,
[a,b])},LowerCorner:function(a,b){var d=this.getChildValue(a).replace(this.regExes.trimSpace,""),d=d.replace(this.regExes.trimComma,","),d=d.split(this.regExes.splitSpace);b.left=d[0];b.bottom=d[1]},UpperCorner:function(a,b){var d=this.getChildValue(a).replace(this.regExes.trimSpace,""),d=d.replace(this.regExes.trimComma,","),d=d.split(this.regExes.splitSpace);b.right=d[0];b.top=d[1];b.bounds=new OpenLayers.Bounds(b.left,b.bottom,b.right,b.top);delete b.left;delete b.bottom;delete b.right;delete b.top},
Language:function(a,b){b.language=this.getChildValue(a)}}},writers:{ows:{BoundingBox:function(a,b){var d=this.createElementNSPlus(b||"ows:BoundingBox",{attributes:{crs:a.projection}});this.writeNode("ows:LowerCorner",a,d);this.writeNode("ows:UpperCorner",a,d);return d},LowerCorner:function(a){return this.createElementNSPlus("ows:LowerCorner",{value:a.bounds.left+" "+a.bounds.bottom})},UpperCorner:function(a){return this.createElementNSPlus("ows:UpperCorner",{value:a.bounds.right+" "+a.bounds.top})},
Identifier:function(a){return this.createElementNSPlus("ows:Identifier",{value:a})},Title:function(a){return this.createElementNSPlus("ows:Title",{value:a})},Abstract:function(a){return this.createElementNSPlus("ows:Abstract",{value:a})},OutputFormat:function(a){return this.createElementNSPlus("ows:OutputFormat",{value:a})}}},CLASS_NAME:"OpenLayers.Format.OWSCommon.v1"});
OpenLayers.Format.OWSCommon.v1_0_0=OpenLayers.Class(OpenLayers.Format.OWSCommon.v1,{namespaces:{ows:"http://www.opengis.net/ows",xlink:"http://www.w3.org/1999/xlink"},readers:{ows:OpenLayers.Util.applyDefaults({ExceptionReport:function(a,b){b.success=!1;b.exceptionReport={version:a.getAttribute("version"),language:a.getAttribute("language"),exceptions:[]};this.readChildNodes(a,b.exceptionReport)}},OpenLayers.Format.OWSCommon.v1.prototype.readers.ows)},writers:{ows:OpenLayers.Format.OWSCommon.v1.prototype.writers.ows},
CLASS_NAME:"OpenLayers.Format.OWSCommon.v1_0_0"});
OpenLayers.Format.WFST.v1_1_0=OpenLayers.Class(OpenLayers.Format.Filter.v1_1_0,OpenLayers.Format.WFST.v1,{version:"1.1.0",schemaLocations:{wfs:"http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"},initialize:function(a){OpenLayers.Format.Filter.v1_1_0.prototype.initialize.apply(this,[a]);OpenLayers.Format.WFST.v1.prototype.initialize.apply(this,[a])},readNode:function(a,b,d){return OpenLayers.Format.GML.v3.prototype.readNode.apply(this,arguments)},readers:{wfs:OpenLayers.Util.applyDefaults({FeatureCollection:function(a,b){b.numberOfFeatures=
parseInt(a.getAttribute("numberOfFeatures"));OpenLayers.Format.WFST.v1.prototype.readers.wfs.FeatureCollection.apply(this,arguments)},TransactionResponse:function(a,b){b.insertIds=[];b.success=!1;this.readChildNodes(a,b)},TransactionSummary:function(a,b){b.success=!0},InsertResults:function(a,b){this.readChildNodes(a,b)},Feature:function(a,b){var d={fids:[]};this.readChildNodes(a,d);b.insertIds.push(d.fids[0])}},OpenLayers.Format.WFST.v1.prototype.readers.wfs),gml:OpenLayers.Format.GML.v3.prototype.readers.gml,
feature:OpenLayers.Format.GML.v3.prototype.readers.feature,ogc:OpenLayers.Format.Filter.v1_1_0.prototype.readers.ogc,ows:OpenLayers.Format.OWSCommon.v1_0_0.prototype.readers.ows},writers:{wfs:OpenLayers.Util.applyDefaults({GetFeature:function(a){var b=OpenLayers.Format.WFST.v1.prototype.writers.wfs.GetFeature.apply(this,arguments);a&&this.setAttributes(b,{resultType:a.resultType,startIndex:a.startIndex,count:a.count});return b},Query:function(a){a=OpenLayers.Util.extend({featureNS:this.featureNS,
featurePrefix:this.featurePrefix,featureType:this.featureType,srsName:this.srsName},a);var b=a.featurePrefix,d=this.createElementNSPlus("wfs:Query",{attributes:{typeName:(b?b+":":"")+a.featureType,srsName:a.srsName}});a.featureNS&&d.setAttribute("xmlns:"+b,a.featureNS);if(a.propertyNames)for(var b=0,e=a.propertyNames.length;b<e;b++)this.writeNode("wfs:PropertyName",{property:a.propertyNames[b]},d);a.filter&&(OpenLayers.Format.WFST.v1_1_0.prototype.setFilterProperty.call(this,a.filter),this.writeNode("ogc:Filter",
a.filter,d));return d},PropertyName:function(a){return this.createElementNSPlus("wfs:PropertyName",{value:a.property})}},OpenLayers.Format.WFST.v1.prototype.writers.wfs),gml:OpenLayers.Format.GML.v3.prototype.writers.gml,feature:OpenLayers.Format.GML.v3.prototype.writers.feature,ogc:OpenLayers.Format.Filter.v1_1_0.prototype.writers.ogc},CLASS_NAME:"OpenLayers.Format.WFST.v1_1_0"});
OpenLayers.Strategy=OpenLayers.Class({layer:null,options:null,active:null,autoActivate:!0,autoDestroy:!0,initialize:function(a){OpenLayers.Util.extend(this,a);this.options=a;this.active=!1},destroy:function(){this.deactivate();this.options=this.layer=null},setLayer:function(a){this.layer=a},activate:function(){return this.active?!1:this.active=!0},deactivate:function(){return this.active?(this.active=!1,!0):!1},CLASS_NAME:"OpenLayers.Strategy"});
OpenLayers.Strategy.Filter=OpenLayers.Class(OpenLayers.Strategy,{filter:null,cache:null,caching:!1,activate:function(){var a=OpenLayers.Strategy.prototype.activate.apply(this,arguments);a&&(this.cache=[],this.layer.events.on({beforefeaturesadded:this.handleAdd,beforefeaturesremoved:this.handleRemove,scope:this}));return a},deactivate:function(){this.cache=null;this.layer&&this.layer.events&&this.layer.events.un({beforefeaturesadded:this.handleAdd,beforefeaturesremoved:this.handleRemove,scope:this});
return OpenLayers.Strategy.prototype.deactivate.apply(this,arguments)},handleAdd:function(a){if(!this.caching&&this.filter){var b=a.features;a.features=[];for(var d,e=0,f=b.length;e<f;++e)d=b[e],this.filter.evaluate(d)?a.features.push(d):this.cache.push(d)}},handleRemove:function(a){this.caching||(this.cache=[])},setFilter:function(a){this.filter=a;a=this.cache;this.cache=[];this.handleAdd({features:this.layer.features});0<this.cache.length&&(this.caching=!0,this.layer.removeFeatures(this.cache.slice()),
this.caching=!1);0<a.length&&(a={features:a},this.handleAdd(a),0<a.features.length&&(this.caching=!0,this.layer.addFeatures(a.features),this.caching=!1))},CLASS_NAME:"OpenLayers.Strategy.Filter"});
OpenLayers.Strategy.Save=OpenLayers.Class(OpenLayers.Strategy,{events:null,auto:!1,timer:null,initialize:function(a){OpenLayers.Strategy.prototype.initialize.apply(this,[a]);this.events=new OpenLayers.Events(this)},activate:function(){var a=OpenLayers.Strategy.prototype.activate.call(this);if(a&&this.auto)if("number"===typeof this.auto)this.timer=window.setInterval(OpenLayers.Function.bind(this.save,this),1E3*this.auto);else this.layer.events.on({featureadded:this.triggerSave,afterfeaturemodified:this.triggerSave,
scope:this});return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&this.auto&&("number"===typeof this.auto?window.clearInterval(this.timer):this.layer.events.un({featureadded:this.triggerSave,afterfeaturemodified:this.triggerSave,scope:this}));return a},triggerSave:function(a){var b=a.feature;b.state!==OpenLayers.State.INSERT&&b.state!==OpenLayers.State.UPDATE&&b.state!==OpenLayers.State.DELETE||this.save([a.feature])},save:function(a){a||(a=this.layer.features);
this.events.triggerEvent("start",{features:a});var b=this.layer.projection,d=this.layer.map.getProjectionObject();if(!d.equals(b)){for(var e=a.length,f=Array(e),g,h,l=0;l<e;++l)g=a[l],h=g.clone(),h.fid=g.fid,h.state=g.state,g.url&&(h.url=g.url),h._original=g,h.geometry.transform(d,b),f[l]=h;a=f}this.layer.protocol.commit(a,{callback:this.onCommit,scope:this})},onCommit:function(a){var b={response:a};if(a.success()){for(var d=a.reqFeatures,e,f=[],g=a.insertIds||[],h=0,l=0,m=d.length;l<m;++l)if(e=d[l],
e=e._original||e,a=e.state)a==OpenLayers.State.DELETE?f.push(e):a==OpenLayers.State.INSERT&&(e.fid=g[h],++h),e.state=null;0<f.length&&this.layer.destroyFeatures(f);this.events.triggerEvent("success",b)}else this.events.triggerEvent("fail",b)},CLASS_NAME:"OpenLayers.Strategy.Save"});
OpenLayers.Layer.HTTPRequest=OpenLayers.Class(OpenLayers.Layer,{URL_HASH_FACTOR:(Math.sqrt(5)-1)/2,url:null,params:null,reproject:!1,initialize:function(a,b,d,e){OpenLayers.Layer.prototype.initialize.apply(this,[a,e]);this.url=b;this.params||(this.params=OpenLayers.Util.extend({},d))},destroy:function(){this.params=this.url=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments)},clone:function(a){null==a&&(a=new OpenLayers.Layer.HTTPRequest(this.name,this.url,this.params,this.getOptions()));
return a=OpenLayers.Layer.prototype.clone.apply(this,[a])},setUrl:function(a){this.url=a},mergeNewParams:function(a){this.params=OpenLayers.Util.extend(this.params,a);a=this.redraw();null!=this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"params"});return a},redraw:function(a){return a?this.mergeNewParams({_olSalt:Math.random()}):OpenLayers.Layer.prototype.redraw.apply(this,[])},selectUrl:function(a,b){for(var d=1,e=0,f=a.length;e<f;e++)d=d*a.charCodeAt(e)*this.URL_HASH_FACTOR,
d-=Math.floor(d);return b[Math.floor(d*b.length)]},getFullRequestString:function(a,b){var d=b||this.url,e=OpenLayers.Util.extend({},this.params),e=OpenLayers.Util.extend(e,a),f=OpenLayers.Util.getParameterString(e);OpenLayers.Util.isArray(d)&&(d=this.selectUrl(f,d));var f=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(d)),g;for(g in e)g.toUpperCase()in f&&delete e[g];f=OpenLayers.Util.getParameterString(e);return OpenLayers.Util.urlAppend(d,f)},CLASS_NAME:"OpenLayers.Layer.HTTPRequest"});
OpenLayers.Tile=OpenLayers.Class({events:null,eventListeners:null,id:null,layer:null,url:null,bounds:null,size:null,position:null,isLoading:!1,initialize:function(a,b,d,e,f,g){this.layer=a;this.position=b.clone();this.setBounds(d);this.url=e;f&&(this.size=f.clone());this.id=OpenLayers.Util.createUniqueID("Tile_");OpenLayers.Util.extend(this,g);this.events=new OpenLayers.Events(this);if(this.eventListeners instanceof Object)this.events.on(this.eventListeners)},unload:function(){this.isLoading&&(this.isLoading=
!1,this.events.triggerEvent("unload"))},destroy:function(){this.position=this.size=this.bounds=this.layer=null;this.eventListeners&&this.events.un(this.eventListeners);this.events.destroy();this.events=this.eventListeners=null},draw:function(a){a||this.clear();var b=this.shouldDraw();b&&!a&&!1===this.events.triggerEvent("beforedraw")&&(b=null);return b},shouldDraw:function(){var a=!1,b=this.layer.maxExtent;if(b){var d=this.layer.map,d=d.baseLayer.wrapDateLine&&d.getMaxExtent();this.bounds.intersectsBounds(b,
{inclusive:!1,worldBounds:d})&&(a=!0)}return a||this.layer.displayOutsideMaxExtent},setBounds:function(a){a=a.clone();if(this.layer.map.baseLayer.wrapDateLine){var b=this.layer.map.getMaxExtent(),d=this.layer.map.getResolution();a=a.wrapDateLine(b,{leftTolerance:d,rightTolerance:d})}this.bounds=a},moveTo:function(a,b,d){null==d&&(d=!0);this.setBounds(a);this.position=b.clone();d&&this.draw()},clear:function(a){},CLASS_NAME:"OpenLayers.Tile"});
OpenLayers.Tile.Image=OpenLayers.Class(OpenLayers.Tile,{url:null,imgDiv:null,frame:null,imageReloadAttempts:null,layerAlphaHack:null,asyncRequestId:null,maxGetUrlLength:null,canvasContext:null,crossOriginKeyword:null,initialize:function(a,b,d,e,f,g){OpenLayers.Tile.prototype.initialize.apply(this,arguments);this.url=e;this.layerAlphaHack=this.layer.alpha&&OpenLayers.Util.alphaHack();if(null!=this.maxGetUrlLength||this.layer.gutter||this.layerAlphaHack)this.frame=document.createElement("div"),this.frame.style.position=
"absolute",this.frame.style.overflow="hidden";null!=this.maxGetUrlLength&&OpenLayers.Util.extend(this,OpenLayers.Tile.Image.IFrame)},destroy:function(){this.imgDiv&&(this.clear(),this.frame=this.imgDiv=null);this.asyncRequestId=null;OpenLayers.Tile.prototype.destroy.apply(this,arguments)},draw:function(){var a=OpenLayers.Tile.prototype.draw.apply(this,arguments);a?(this.layer!=this.layer.map.baseLayer&&this.layer.reproject&&(this.bounds=this.getBoundsFromBaseLayer(this.position)),this.isLoading?this._loadEvent=
"reload":(this.isLoading=!0,this._loadEvent="loadstart"),this.renderTile(),this.positionTile()):!1===a&&this.unload();return a},renderTile:function(){if(this.layer.async){var a=this.asyncRequestId=(this.asyncRequestId||0)+1;this.layer.getURLasync(this.bounds,function(b){a==this.asyncRequestId&&(this.url=b,this.initImage())},this)}else this.url=this.layer.getURL(this.bounds),this.initImage()},positionTile:function(){var a=this.getTile().style,b=this.frame?this.size:this.layer.getImageSize(this.bounds),
d=1;this.layer instanceof OpenLayers.Layer.Grid&&(d=this.layer.getServerResolution()/this.layer.map.getResolution());a.left=this.position.x+"px";a.top=this.position.y+"px";a.width=Math.round(d*b.w)+"px";a.height=Math.round(d*b.h)+"px"},clear:function(){OpenLayers.Tile.prototype.clear.apply(this,arguments);var a=this.imgDiv;if(a){var b=this.getTile();b.parentNode===this.layer.div&&this.layer.div.removeChild(b);this.setImgSrc();!0===this.layerAlphaHack&&(a.style.filter="");OpenLayers.Element.removeClass(a,
"olImageLoadError")}this.canvasContext=null},getImage:function(){if(!this.imgDiv){this.imgDiv=OpenLayers.Tile.Image.IMAGE.cloneNode(!1);var a=this.imgDiv.style;if(this.frame){var b=0,d=0;this.layer.gutter&&(b=100*(this.layer.gutter/this.layer.tileSize.w),d=100*(this.layer.gutter/this.layer.tileSize.h));a.left=-b+"%";a.top=-d+"%";a.width=2*b+100+"%";a.height=2*d+100+"%"}a.visibility="hidden";a.opacity=0;1>this.layer.opacity&&(a.filter="alpha(opacity="+100*this.layer.opacity+")");a.position="absolute";
this.layerAlphaHack&&(a.paddingTop=a.height,a.height="0",a.width="100%");this.frame&&this.frame.appendChild(this.imgDiv)}return this.imgDiv},setImage:function(a){this.imgDiv=a},initImage:function(){if(this.url||this.imgDiv){this.events.triggerEvent("beforeload");this.layer.div.appendChild(this.getTile());this.events.triggerEvent(this._loadEvent);var a=this.getImage(),b=a.getAttribute("src")||"";this.url&&OpenLayers.Util.isEquivalentUrl(b,this.url)?this._loadTimeout=window.setTimeout(OpenLayers.Function.bind(this.onImageLoad,
this),0):(this.stopLoading(),this.crossOriginKeyword&&a.removeAttribute("crossorigin"),OpenLayers.Event.observe(a,"load",OpenLayers.Function.bind(this.onImageLoad,this)),OpenLayers.Event.observe(a,"error",OpenLayers.Function.bind(this.onImageError,this)),this.imageReloadAttempts=0,this.setImgSrc(this.url))}else this.isLoading=!1},setImgSrc:function(a){var b=this.imgDiv;a?(b.style.visibility="hidden",b.style.opacity=0,this.crossOriginKeyword&&("data:"!==a.substr(0,5)?b.setAttribute("crossorigin",this.crossOriginKeyword):
b.removeAttribute("crossorigin")),b.src=a):(this.stopLoading(),this.imgDiv=null,b.parentNode&&b.parentNode.removeChild(b))},getTile:function(){return this.frame?this.frame:this.getImage()},createBackBuffer:function(){if(this.imgDiv&&!this.isLoading){var a;this.frame?(a=this.frame.cloneNode(!1),a.appendChild(this.imgDiv)):a=this.imgDiv;this.imgDiv=null;return a}},onImageLoad:function(){var a=this.imgDiv;this.stopLoading();a.style.visibility="inherit";a.style.opacity=this.layer.opacity;this.isLoading=
!1;this.canvasContext=null;this.events.triggerEvent("loadend");!0===this.layerAlphaHack&&(a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+a.src+"', sizingMethod='scale')")},onImageError:function(){var a=this.imgDiv;null!=a.src&&(this.imageReloadAttempts++,this.imageReloadAttempts<=OpenLayers.IMAGE_RELOAD_ATTEMPTS?this.setImgSrc(this.layer.getURL(this.bounds)):(OpenLayers.Element.addClass(a,"olImageLoadError"),this.events.triggerEvent("loaderror"),this.onImageLoad()))},stopLoading:function(){OpenLayers.Event.stopObservingElement(this.imgDiv);
window.clearTimeout(this._loadTimeout);delete this._loadTimeout},getCanvasContext:function(){if(OpenLayers.CANVAS_SUPPORTED&&this.imgDiv&&!this.isLoading){if(!this.canvasContext){var a=document.createElement("canvas");a.width=this.size.w;a.height=this.size.h;this.canvasContext=a.getContext("2d");this.canvasContext.drawImage(this.imgDiv,0,0)}return this.canvasContext}},CLASS_NAME:"OpenLayers.Tile.Image"});
OpenLayers.Tile.Image.IMAGE=function(){var a=new Image;a.className="olTileImage";a.galleryImg="no";return a}();
OpenLayers.Layer.Grid=OpenLayers.Class(OpenLayers.Layer.HTTPRequest,{tileSize:null,tileOriginCorner:"bl",tileOrigin:null,tileOptions:null,tileClass:OpenLayers.Tile.Image,grid:null,singleTile:!1,ratio:1.5,buffer:0,transitionEffect:"resize",numLoadingTiles:0,serverResolutions:null,loading:!1,backBuffer:null,gridResolution:null,backBufferResolution:null,backBufferLonLat:null,backBufferTimerId:null,removeBackBufferDelay:null,className:null,gridLayout:null,rowSign:null,transitionendEvents:["transitionend",
"webkitTransitionEnd","otransitionend","oTransitionEnd"],initialize:function(a,b,d,e){OpenLayers.Layer.HTTPRequest.prototype.initialize.apply(this,arguments);this.grid=[];this._removeBackBuffer=OpenLayers.Function.bind(this.removeBackBuffer,this);this.initProperties();this.rowSign="t"===this.tileOriginCorner.substr(0,1)?1:-1},initProperties:function(){void 0===this.options.removeBackBufferDelay&&(this.removeBackBufferDelay=this.singleTile?0:2500);void 0===this.options.className&&(this.className=this.singleTile?
"olLayerGridSingleTile":"olLayerGrid")},setMap:function(a){OpenLayers.Layer.HTTPRequest.prototype.setMap.call(this,a);OpenLayers.Element.addClass(this.div,this.className)},removeMap:function(a){this.removeBackBuffer()},destroy:function(){this.removeBackBuffer();this.clearGrid();this.tileSize=this.grid=null;OpenLayers.Layer.HTTPRequest.prototype.destroy.apply(this,arguments)},clearGrid:function(){if(this.grid){for(var a=0,b=this.grid.length;a<b;a++)for(var d=this.grid[a],e=0,f=d.length;e<f;e++)this.destroyTile(d[e]);
this.grid=[];this.gridLayout=this.gridResolution=null}},addOptions:function(a,b){var d=void 0!==a.singleTile&&a.singleTile!==this.singleTile;OpenLayers.Layer.HTTPRequest.prototype.addOptions.apply(this,arguments);this.map&&d&&(this.initProperties(),this.clearGrid(),this.tileSize=this.options.tileSize,this.setTileSize(),this.moveTo(null,!0))},clone:function(a){null==a&&(a=new OpenLayers.Layer.Grid(this.name,this.url,this.params,this.getOptions()));a=OpenLayers.Layer.HTTPRequest.prototype.clone.apply(this,
[a]);null!=this.tileSize&&(a.tileSize=this.tileSize.clone());a.grid=[];a.gridResolution=null;a.backBuffer=null;a.backBufferTimerId=null;a.loading=!1;a.numLoadingTiles=0;return a},moveTo:function(a,b,d){OpenLayers.Layer.HTTPRequest.prototype.moveTo.apply(this,arguments);a=a||this.map.getExtent();if(null!=a){var e=!this.grid.length||b,f=this.getTilesBounds(),g=this.map.getResolution();this.getServerResolution(g);if(this.singleTile){if(e||!d&&!f.containsBounds(a))b&&"resize"!==this.transitionEffect&&
this.removeBackBuffer(),b&&"resize"!==this.transitionEffect||this.applyBackBuffer(g),this.initSingleTile(a)}else(e=e||!f.intersectsBounds(a,{worldBounds:this.map.baseLayer.wrapDateLine&&this.map.getMaxExtent()}))?(!b||"resize"!==this.transitionEffect&&this.gridResolution!==g||this.applyBackBuffer(g),this.initGriddedTiles(a)):this.moveGriddedTiles()}},getTileData:function(a){var b=null,d=a.lon,e=a.lat,f=this.grid.length;if(this.map&&f){var g=this.map.getResolution();a=this.tileSize.w;var h=this.tileSize.h,
l=this.grid[0][0].bounds,m=l.left,l=l.top;if(d<m&&this.map.baseLayer.wrapDateLine)var q=this.map.getMaxExtent().getWidth(),r=Math.ceil((m-d)/q),d=d+q*r;d=(d-m)/(g*a);e=(l-e)/(g*h);g=Math.floor(d);m=Math.floor(e);0<=m&&m<f&&(f=this.grid[m][g])&&(b={tile:f,i:Math.floor((d-g)*a),j:Math.floor((e-m)*h)})}return b},destroyTile:function(a){this.removeTileMonitoringHooks(a);a.destroy()},getServerResolution:function(a){var b=Number.POSITIVE_INFINITY;a=a||this.map.getResolution();if(this.serverResolutions&&
-1===OpenLayers.Util.indexOf(this.serverResolutions,a)){var d,e,f,g;for(d=this.serverResolutions.length-1;0<=d;d--){f=this.serverResolutions[d];e=Math.abs(f-a);if(e>b)break;b=e;g=f}a=g}return a},getServerZoom:function(){var a=this.getServerResolution();return this.serverResolutions?OpenLayers.Util.indexOf(this.serverResolutions,a):this.map.getZoomForResolution(a)+(this.zoomOffset||0)},applyBackBuffer:function(a){null!==this.backBufferTimerId&&this.removeBackBuffer();var b=this.backBuffer;if(!b){b=
this.createBackBuffer();if(!b)return;a===this.gridResolution?this.div.insertBefore(b,this.div.firstChild):this.map.baseLayer.div.parentNode.insertBefore(b,this.map.baseLayer.div);this.backBuffer=b;var d=this.grid[0][0].bounds;this.backBufferLonLat={lon:d.left,lat:d.top};this.backBufferResolution=this.gridResolution}for(var d=this.backBufferResolution/a,e=b.childNodes,f,g=e.length-1;0<=g;--g)f=e[g],f.style.top=(d*f._i*f._h|0)+"px",f.style.left=(d*f._j*f._w|0)+"px",f.style.width=Math.round(d*f._w)+
"px",f.style.height=Math.round(d*f._h)+"px";a=this.getViewPortPxFromLonLat(this.backBufferLonLat,a);d=this.map.layerContainerOriginPx.y;b.style.left=Math.round(a.x-this.map.layerContainerOriginPx.x)+"px";b.style.top=Math.round(a.y-d)+"px"},createBackBuffer:function(){var a;if(0<this.grid.length){a=document.createElement("div");a.id=this.div.id+"_bb";a.className="olBackBuffer";a.style.position="absolute";var b=this.map;a.style.zIndex="resize"===this.transitionEffect?this.getZIndex()-1:b.Z_INDEX_BASE.BaseLayer-
(b.getNumLayers()-b.getLayerIndex(this));for(var b=0,d=this.grid.length;b<d;b++)for(var e=0,f=this.grid[b].length;e<f;e++){var g=this.grid[b][e],h=this.grid[b][e].createBackBuffer();h&&(h._i=b,h._j=e,h._w=g.size.w,h._h=g.size.h,h.id=g.id+"_bb",a.appendChild(h))}}return a},removeBackBuffer:function(){if(this._transitionElement){for(var a=this.transitionendEvents.length-1;0<=a;--a)OpenLayers.Event.stopObserving(this._transitionElement,this.transitionendEvents[a],this._removeBackBuffer);delete this._transitionElement}this.backBuffer&&
(this.backBuffer.parentNode&&this.backBuffer.parentNode.removeChild(this.backBuffer),this.backBufferResolution=this.backBuffer=null,null!==this.backBufferTimerId&&(window.clearTimeout(this.backBufferTimerId),this.backBufferTimerId=null))},moveByPx:function(a,b){this.singleTile||this.moveGriddedTiles()},setTileSize:function(a){this.singleTile&&(a=this.map.getSize(),a.h=parseInt(a.h*this.ratio,10),a.w=parseInt(a.w*this.ratio,10));OpenLayers.Layer.HTTPRequest.prototype.setTileSize.apply(this,[a])},getTilesBounds:function(){var a=
null,b=this.grid.length;if(b)var a=this.grid[b-1][0].bounds,b=this.grid[0].length*a.getWidth(),d=this.grid.length*a.getHeight(),a=new OpenLayers.Bounds(a.left,a.bottom,a.left+b,a.bottom+d);return a},initSingleTile:function(a){this.events.triggerEvent("retile");var b=a.getCenterLonLat(),d=a.getWidth()*this.ratio;a=a.getHeight()*this.ratio;b=new OpenLayers.Bounds(b.lon-d/2,b.lat-a/2,b.lon+d/2,b.lat+a/2);d=this.map.getLayerPxFromLonLat({lon:b.left,lat:b.top});this.grid.length||(this.grid[0]=[]);(a=this.grid[0][0])?
a.moveTo(b,d):(a=this.addTile(b,d),this.addTileMonitoringHooks(a),a.draw(),this.grid[0][0]=a);this.removeExcessTiles(1,1);this.gridResolution=this.getServerResolution()},calculateGridLayout:function(a,b,d){var e=d*this.tileSize.w;d*=this.tileSize.h;var f=Math.floor((a.left-b.lon)/e)-this.buffer,g=this.rowSign;a=Math[~g?"floor":"ceil"](g*(b.lat-a.top+d)/d)-this.buffer*g;return{tilelon:e,tilelat:d,startcol:f,startrow:a}},getTileOrigin:function(){var a=this.tileOrigin;if(!a)var a=this.getMaxExtent(),
b={tl:["left","top"],tr:["right","top"],bl:["left","bottom"],br:["right","bottom"]}[this.tileOriginCorner],a=new OpenLayers.LonLat(a[b[0]],a[b[1]]);return a},getTileBoundsForGridIndex:function(a,b){var d=this.getTileOrigin(),e=this.gridLayout,f=e.tilelon,g=e.tilelat,h=e.startcol,e=e.startrow,l=this.rowSign;return new OpenLayers.Bounds(d.lon+(h+b)*f,d.lat-(e+a*l)*g*l,d.lon+(h+b+1)*f,d.lat-(e+(a-1)*l)*g*l)},initGriddedTiles:function(a){this.events.triggerEvent("retile");var b=this.map.getSize(),d=this.getTileOrigin(),
e=this.map.getResolution(),f=this.getServerResolution(),g=e/f,e=this.tileSize.w/g,g=this.tileSize.h/g,h=Math.ceil(b.h/g)+2*this.buffer+1,b=Math.ceil(b.w/e)+2*this.buffer+1;this.gridLayout=f=this.calculateGridLayout(a,d,f);var d=f.tilelon,l=f.tilelat,f=this.map.layerContainerOriginPx.x,m=this.map.layerContainerOriginPx.y,q=this.getTileBoundsForGridIndex(0,0),r=this.map.getViewPortPxFromLonLat(new OpenLayers.LonLat(q.left,q.top));r.x=Math.round(r.x)-f;r.y=Math.round(r.y)-m;var f=[],m=this.map.getCenter(),
u=0;do{var z=this.grid[u];z||(z=[],this.grid.push(z));var v=0;do{var q=this.getTileBoundsForGridIndex(u,v),B=r.clone();B.x+=v*Math.round(e);B.y+=u*Math.round(g);var D=z[v];D?D.moveTo(q,B,!1):(D=this.addTile(q,B),this.addTileMonitoringHooks(D),z.push(D));B=q.getCenterLonLat();f.push({tile:D,distance:Math.pow(B.lon-m.lon,2)+Math.pow(B.lat-m.lat,2)});v+=1}while(q.right<=a.right+d*this.buffer||v<b);u+=1}while(q.bottom>=a.bottom-l*this.buffer||u<h);this.removeExcessTiles(u,v);this.gridResolution=e=this.getServerResolution();
f.sort(function(a,b){return a.distance-b.distance});a=0;for(e=f.length;a<e;++a)f[a].tile.draw()},getMaxExtent:function(){return this.maxExtent},addTile:function(a,b){var d=new this.tileClass(this,b,a,null,this.tileSize,this.tileOptions);this.events.triggerEvent("addtile",{tile:d});return d},addTileMonitoringHooks:function(a){a.onLoadStart=function(){!1===this.loading&&(this.loading=!0,this.events.triggerEvent("loadstart"));this.events.triggerEvent("tileloadstart",{tile:a});this.numLoadingTiles++;
!this.singleTile&&this.backBuffer&&this.gridResolution===this.backBufferResolution&&OpenLayers.Element.addClass(a.getTile(),"olTileReplacing")};a.onLoadEnd=function(b){this.numLoadingTiles--;b="unload"===b.type;this.events.triggerEvent("tileloaded",{tile:a,aborted:b});if(!this.singleTile&&!b&&this.backBuffer&&this.gridResolution===this.backBufferResolution){var d=a.getTile();if("none"===OpenLayers.Element.getStyle(d,"display")){var e=document.getElementById(a.id+"_bb");e&&e.parentNode.removeChild(e)}OpenLayers.Element.removeClass(d,
"olTileReplacing")}if(0===this.numLoadingTiles){if(this.backBuffer)if(0===this.backBuffer.childNodes.length)this.removeBackBuffer();else{this._transitionElement=b?this.div.lastChild:a.imgDiv;b=this.transitionendEvents;for(d=b.length-1;0<=d;--d)OpenLayers.Event.observe(this._transitionElement,b[d],this._removeBackBuffer);this.backBufferTimerId=window.setTimeout(this._removeBackBuffer,this.removeBackBufferDelay)}this.loading=!1;this.events.triggerEvent("loadend")}};a.onLoadError=function(){this.events.triggerEvent("tileerror",
{tile:a})};a.events.on({loadstart:a.onLoadStart,loadend:a.onLoadEnd,unload:a.onLoadEnd,loaderror:a.onLoadError,scope:this})},removeTileMonitoringHooks:function(a){a.unload();a.events.un({loadstart:a.onLoadStart,loadend:a.onLoadEnd,unload:a.onLoadEnd,loaderror:a.onLoadError,scope:this})},moveGriddedTiles:function(){for(var a=this.buffer+1;;){var b=this.grid[0][0],d=b.position.x+this.map.layerContainerOriginPx.x,b=b.position.y+this.map.layerContainerOriginPx.y,e=this.getServerResolution()/this.map.getResolution(),
e={w:Math.round(this.tileSize.w*e),h:Math.round(this.tileSize.h*e)};if(d>-e.w*(a-1))this.shiftColumn(!0,e);else if(d<-e.w*a)this.shiftColumn(!1,e);else if(b>-e.h*(a-1))this.shiftRow(!0,e);else if(b<-e.h*a)this.shiftRow(!1,e);else break}},shiftRow:function(a,b){var d=this.grid,e=a?0:d.length-1,f=a?-1:1;this.gridLayout.startrow+=f*this.rowSign;for(var g=d[e],h=d[a?"pop":"shift"](),l=0,m=h.length;l<m;l++){var q=h[l],r=g[l].position.clone();r.y+=b.h*f;q.moveTo(this.getTileBoundsForGridIndex(e,l),r)}d[a?
"unshift":"push"](h)},shiftColumn:function(a,b){var d=this.grid,e=a?0:d[0].length-1,f=a?-1:1;this.gridLayout.startcol+=f;for(var g=0,h=d.length;g<h;g++){var l=d[g],m=l[e].position.clone(),q=l[a?"pop":"shift"]();m.x+=b.w*f;q.moveTo(this.getTileBoundsForGridIndex(g,e),m);l[a?"unshift":"push"](q)}},removeExcessTiles:function(a,b){for(var d,e;this.grid.length>a;){var f=this.grid.pop();d=0;for(e=f.length;d<e;d++){var g=f[d];this.destroyTile(g)}}d=0;for(e=this.grid.length;d<e;d++)for(;this.grid[d].length>
b;)f=this.grid[d],g=f.pop(),this.destroyTile(g)},onMapResize:function(){this.singleTile&&(this.clearGrid(),this.setTileSize())},getTileBounds:function(a){var b=this.maxExtent,d=this.getResolution(),e=d*this.tileSize.w,d=d*this.tileSize.h,f=this.getLonLatFromViewPortPx(a);a=b.left+e*Math.floor((f.lon-b.left)/e);b=b.bottom+d*Math.floor((f.lat-b.bottom)/d);return new OpenLayers.Bounds(a,b,a+e,b+d)},CLASS_NAME:"OpenLayers.Layer.Grid"});
OpenLayers.Layer.XYZ=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:!0,sphericalMercator:!1,zoomOffset:0,serverResolutions:null,initialize:function(a,b,d){if(d&&d.sphericalMercator||this.sphericalMercator)d=OpenLayers.Util.extend({projection:"EPSG:900913",numZoomLevels:19},d);OpenLayers.Layer.Grid.prototype.initialize.apply(this,[a||this.name,b||this.url,{},d])},clone:function(a){null==a&&(a=new OpenLayers.Layer.XYZ(this.name,this.url,this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,
[a])},getURL:function(a){a=this.getXYZ(a);var b=this.url;OpenLayers.Util.isArray(b)&&(b=this.selectUrl(""+a.x+a.y+a.z,b));return OpenLayers.String.format(b,a)},getXYZ:function(a){var b=this.getServerResolution(),d=Math.round((a.left-this.maxExtent.left)/(b*this.tileSize.w));a=Math.round((this.maxExtent.top-a.top)/(b*this.tileSize.h));b=this.getServerZoom();if(this.wrapDateLine)var e=Math.pow(2,b),d=(d%e+e)%e;return{x:d,y:a,z:b}},setMap:function(a){OpenLayers.Layer.Grid.prototype.setMap.apply(this,
arguments);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",url:["http://a.tile.openstreetmap.org/${z}/${x}/${y}.png","http://b.tile.openstreetmap.org/${z}/${x}/${y}.png","http://c.tile.openstreetmap.org/${z}/${x}/${y}.png"],attribution:"&copy; <a href='http://www.openstreetmap.org/copyright'>OpenStreetMap</a> contributors",sphericalMercator:!0,wrapDateLine:!0,tileOptions:null,initialize:function(a,b,d){OpenLayers.Layer.XYZ.prototype.initialize.apply(this,arguments);this.tileOptions=
OpenLayers.Util.extend({crossOriginKeyword:"anonymous"},this.options&&this.options.tileOptions)},clone:function(a){null==a&&(a=new OpenLayers.Layer.OSM(this.name,this.url,this.getOptions()));return a=OpenLayers.Layer.XYZ.prototype.clone.apply(this,[a])},CLASS_NAME:"OpenLayers.Layer.OSM"});
OpenLayers.Renderer=OpenLayers.Class({container:null,root:null,extent:null,locked:!1,size:null,resolution:null,map:null,featureDx:0,initialize:function(a,b){this.container=OpenLayers.Util.getElement(a);OpenLayers.Util.extend(this,b)},destroy:function(){this.map=this.resolution=this.size=this.extent=this.container=null},supported:function(){return!1},setExtent:function(a,b){this.extent=a.clone();if(this.map.baseLayer&&this.map.baseLayer.wrapDateLine){var d=a.getWidth()/this.map.getExtent().getWidth();
a=a.scale(1/d);this.extent=a.wrapDateLine(this.map.getMaxExtent()).scale(d)}b&&(this.resolution=null);return!0},setSize:function(a){this.size=a.clone();this.resolution=null},getResolution:function(){return this.resolution=this.resolution||this.map.getResolution()},drawFeature:function(a,b){null==b&&(b=a.style);if(a.geometry){var d=a.geometry.getBounds();if(d){var e;this.map.baseLayer&&this.map.baseLayer.wrapDateLine&&(e=this.map.getMaxExtent());d.intersectsBounds(this.extent,{worldBounds:e})?this.calculateFeatureDx(d,
e):b={display:"none"};d=this.drawGeometry(a.geometry,b,a.id);if("none"!=b.display&&b.label&&!1!==d){e=a.geometry.getCentroid();if(b.labelXOffset||b.labelYOffset){var f=isNaN(b.labelXOffset)?0:b.labelXOffset,g=isNaN(b.labelYOffset)?0:b.labelYOffset,h=this.getResolution();e.move(f*h,g*h)}this.drawText(a.id,b,e)}else this.removeText(a.id);return d}}},calculateFeatureDx:function(a,b){this.featureDx=0;if(b){var d=b.getWidth();this.featureDx=Math.round(((a.left+a.right)/2-(this.extent.left+this.extent.right)/
2)/d)*d}},drawGeometry:function(a,b,d){},drawText:function(a,b,d){},removeText:function(a){},clear:function(){},getFeatureIdFromEvent:function(a){},eraseFeatures:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=0,d=a.length;b<d;++b){var e=a[b];this.eraseGeometry(e.geometry,e.id);this.removeText(e.id)}},eraseGeometry:function(a,b){},moveRoot:function(a){},getRenderLayerId:function(){return this.container.id},applyDefaultSymbolizer:function(a){var b=OpenLayers.Util.extend({},OpenLayers.Renderer.defaultSymbolizer);
!1===a.stroke&&(delete b.strokeWidth,delete b.strokeColor);!1===a.fill&&delete b.fillColor;OpenLayers.Util.extend(b,a);return b},CLASS_NAME:"OpenLayers.Renderer"});OpenLayers.Renderer.defaultSymbolizer={fillColor:"#000000",strokeColor:"#000000",strokeWidth:2,fillOpacity:1,strokeOpacity:1,pointRadius:0,labelAlign:"cm"};
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.Renderer.Canvas=OpenLayers.Class(OpenLayers.Renderer,{hitDetection:!0,hitOverflow:0,canvas:null,features:null,pendingRedraw:!1,cachedSymbolBounds:{},initialize:function(a,b){OpenLayers.Renderer.prototype.initialize.apply(this,arguments);this.root=document.createElement("canvas");this.container.appendChild(this.root);this.canvas=this.root.getContext("2d");this.features={};this.hitDetection&&(this.hitCanvas=document.createElement("canvas"),this.hitContext=this.hitCanvas.getContext("2d"))},
setExtent:function(){OpenLayers.Renderer.prototype.setExtent.apply(this,arguments);return!1},eraseGeometry:function(a,b){this.eraseFeatures(this.features[b][0])},supported:function(){return OpenLayers.CANVAS_SUPPORTED},setSize:function(a){this.size=a.clone();var b=this.root;b.style.width=a.w+"px";b.style.height=a.h+"px";b.width=a.w;b.height=a.h;this.resolution=null;this.hitDetection&&(b=this.hitCanvas,b.style.width=a.w+"px",b.style.height=a.h+"px",b.width=a.w,b.height=a.h)},drawFeature:function(a,
b){var d;if(a.geometry){b=this.applyDefaultSymbolizer(b||a.style);d=a.geometry.getBounds();var e;this.map.baseLayer&&this.map.baseLayer.wrapDateLine&&(e=this.map.getMaxExtent());e=d&&d.intersectsBounds(this.extent,{worldBounds:e});(d="none"!==b.display&&!!d&&e)?this.features[a.id]=[a,b]:delete this.features[a.id];this.pendingRedraw=!0}this.pendingRedraw&&!this.locked&&(this.redraw(),this.pendingRedraw=!1);return d},drawGeometry:function(a,b,d){var e=a.CLASS_NAME;if("OpenLayers.Geometry.Collection"==
e||"OpenLayers.Geometry.MultiPoint"==e||"OpenLayers.Geometry.MultiLineString"==e||"OpenLayers.Geometry.MultiPolygon"==e)for(e=0;e<a.components.length;e++)this.drawGeometry(a.components[e],b,d);else switch(a.CLASS_NAME){case "OpenLayers.Geometry.Point":this.drawPoint(a,b,d);break;case "OpenLayers.Geometry.LineString":this.drawLineString(a,b,d);break;case "OpenLayers.Geometry.LinearRing":this.drawLinearRing(a,b,d);break;case "OpenLayers.Geometry.Polygon":this.drawPolygon(a,b,d)}},drawExternalGraphic:function(a,
b,d){var e=new Image,f=b.title||b.graphicTitle;f&&(e.title=f);var g=b.graphicWidth||b.graphicHeight,h=b.graphicHeight||b.graphicWidth,g=g?g:2*b.pointRadius,h=h?h:2*b.pointRadius,l=void 0!=b.graphicXOffset?b.graphicXOffset:-(0.5*g),m=void 0!=b.graphicYOffset?b.graphicYOffset:-(0.5*h),q=b.graphicOpacity||b.fillOpacity;e.onload=OpenLayers.Function.bind(function(){if(this.features[d]){var b=this.getLocalXY(a),f=b[0],b=b[1];if(!isNaN(f)&&!isNaN(b)){var f=f+l|0,b=b+m|0,z=this.canvas;z.globalAlpha=q;var v=
OpenLayers.Renderer.Canvas.drawImageScaleFactor||(OpenLayers.Renderer.Canvas.drawImageScaleFactor=/android 2.1/.test(navigator.userAgent.toLowerCase())?320/window.screen.width:1);z.drawImage(e,f*v,b*v,g*v,h*v);this.hitDetection&&(this.setHitContextStyle("fill",d),this.hitContext.fillRect(f,b,g,h))}}},this);e.src=b.externalGraphic},drawNamedSymbol:function(a,b,d){var e,f,g,h;g=Math.PI/180;var l=OpenLayers.Renderer.symbol[b.graphicName];if(!l)throw Error(b.graphicName+" is not a valid symbol name");
if(!(!l.length||2>l.length||(a=this.getLocalXY(a),f=a[0],h=a[1],isNaN(f)||isNaN(h)))){this.canvas.lineCap="round";this.canvas.lineJoin="round";this.hitDetection&&(this.hitContext.lineCap="round",this.hitContext.lineJoin="round");if(b.graphicName in this.cachedSymbolBounds)e=this.cachedSymbolBounds[b.graphicName];else{e=new OpenLayers.Bounds;for(a=0;a<l.length;a+=2)e.extend(new OpenLayers.LonLat(l[a],l[a+1]));this.cachedSymbolBounds[b.graphicName]=e}this.canvas.save();this.hitDetection&&this.hitContext.save();
this.canvas.translate(f,h);this.hitDetection&&this.hitContext.translate(f,h);a=g*b.rotation;isNaN(a)||(this.canvas.rotate(a),this.hitDetection&&this.hitContext.rotate(a));g=2*b.pointRadius/Math.max(e.getWidth(),e.getHeight());this.canvas.scale(g,g);this.hitDetection&&this.hitContext.scale(g,g);a=e.getCenterLonLat().lon;e=e.getCenterLonLat().lat;this.canvas.translate(-a,-e);this.hitDetection&&this.hitContext.translate(-a,-e);h=b.strokeWidth;b.strokeWidth=h/g;if(!1!==b.fill){this.setCanvasStyle("fill",
b);this.canvas.beginPath();for(a=0;a<l.length;a+=2)e=l[a],f=l[a+1],0==a&&this.canvas.moveTo(e,f),this.canvas.lineTo(e,f);this.canvas.closePath();this.canvas.fill();if(this.hitDetection){this.setHitContextStyle("fill",d,b);this.hitContext.beginPath();for(a=0;a<l.length;a+=2)e=l[a],f=l[a+1],0==a&&this.canvas.moveTo(e,f),this.hitContext.lineTo(e,f);this.hitContext.closePath();this.hitContext.fill()}}if(!1!==b.stroke){this.setCanvasStyle("stroke",b);this.canvas.beginPath();for(a=0;a<l.length;a+=2)e=l[a],
f=l[a+1],0==a&&this.canvas.moveTo(e,f),this.canvas.lineTo(e,f);this.canvas.closePath();this.canvas.stroke();if(this.hitDetection){this.setHitContextStyle("stroke",d,b,g);this.hitContext.beginPath();for(a=0;a<l.length;a+=2)e=l[a],f=l[a+1],0==a&&this.hitContext.moveTo(e,f),this.hitContext.lineTo(e,f);this.hitContext.closePath();this.hitContext.stroke()}}b.strokeWidth=h;this.canvas.restore();this.hitDetection&&this.hitContext.restore();this.setCanvasStyle("reset")}},setCanvasStyle:function(a,b){"fill"===
a?(this.canvas.globalAlpha=b.fillOpacity,this.canvas.fillStyle=b.fillColor):"stroke"===a?(this.canvas.globalAlpha=b.strokeOpacity,this.canvas.strokeStyle=b.strokeColor,this.canvas.lineWidth=b.strokeWidth):(this.canvas.globalAlpha=0,this.canvas.lineWidth=1)},featureIdToHex:function(a){a=Number(a.split("_").pop())+1;16777216<=a&&(this.hitOverflow=a-16777215,a=a%16777216+1);a="000000"+a.toString(16);var b=a.length;return a="#"+a.substring(b-6,b)},setHitContextStyle:function(a,b,d,e){b=this.featureIdToHex(b);
"fill"==a?(this.hitContext.globalAlpha=1,this.hitContext.fillStyle=b):"stroke"==a?(this.hitContext.globalAlpha=1,this.hitContext.strokeStyle=b,"undefined"===typeof e?this.hitContext.lineWidth=d.strokeWidth+2:isNaN(e)||(this.hitContext.lineWidth=d.strokeWidth+2/e)):(this.hitContext.globalAlpha=0,this.hitContext.lineWidth=1)},drawPoint:function(a,b,d){if(!1!==b.graphic)if(b.externalGraphic)this.drawExternalGraphic(a,b,d);else if(b.graphicName&&"circle"!=b.graphicName)this.drawNamedSymbol(a,b,d);else{var e=
this.getLocalXY(a);a=e[0];e=e[1];if(!isNaN(a)&&!isNaN(e)){var f=2*Math.PI,g=b.pointRadius;!1!==b.fill&&(this.setCanvasStyle("fill",b),this.canvas.beginPath(),this.canvas.arc(a,e,g,0,f,!0),this.canvas.fill(),this.hitDetection&&(this.setHitContextStyle("fill",d,b),this.hitContext.beginPath(),this.hitContext.arc(a,e,g,0,f,!0),this.hitContext.fill()));!1!==b.stroke&&(this.setCanvasStyle("stroke",b),this.canvas.beginPath(),this.canvas.arc(a,e,g,0,f,!0),this.canvas.stroke(),this.hitDetection&&(this.setHitContextStyle("stroke",
d,b),this.hitContext.beginPath(),this.hitContext.arc(a,e,g,0,f,!0),this.hitContext.stroke()),this.setCanvasStyle("reset"))}}},drawLineString:function(a,b,d){b=OpenLayers.Util.applyDefaults({fill:!1},b);this.drawLinearRing(a,b,d)},drawLinearRing:function(a,b,d){!1!==b.fill&&(this.setCanvasStyle("fill",b),this.renderPath(this.canvas,a,b,d,"fill"),this.hitDetection&&(this.setHitContextStyle("fill",d,b),this.renderPath(this.hitContext,a,b,d,"fill")));!1!==b.stroke&&(this.setCanvasStyle("stroke",b),this.renderPath(this.canvas,
a,b,d,"stroke"),this.hitDetection&&(this.setHitContextStyle("stroke",d,b),this.renderPath(this.hitContext,a,b,d,"stroke")));this.setCanvasStyle("reset")},renderPath:function(a,b,d,e,f){b=b.components;d=b.length;a.beginPath();e=this.getLocalXY(b[0]);var g=e[1];if(!isNaN(e[0])&&!isNaN(g)){a.moveTo(e[0],e[1]);for(e=1;e<d;++e)g=this.getLocalXY(b[e]),a.lineTo(g[0],g[1]);"fill"===f?a.fill():a.stroke()}},drawPolygon:function(a,b,d){a=a.components;var e=a.length;this.drawLinearRing(a[0],b,d);for(var f=1;f<
e;++f)this.canvas.globalCompositeOperation="destination-out",this.hitDetection&&(this.hitContext.globalCompositeOperation="destination-out"),this.drawLinearRing(a[f],OpenLayers.Util.applyDefaults({stroke:!1,fillOpacity:1},b),d),this.canvas.globalCompositeOperation="source-over",this.hitDetection&&(this.hitContext.globalCompositeOperation="source-over"),this.drawLinearRing(a[f],OpenLayers.Util.applyDefaults({fill:!1},b),d)},drawText:function(a,b){var d=this.getLocalXY(a);this.setCanvasStyle("reset");
this.canvas.fillStyle=b.fontColor;this.canvas.globalAlpha=b.fontOpacity||1;var e=[b.fontStyle?b.fontStyle:"normal","normal",b.fontWeight?b.fontWeight:"normal",b.fontSize?b.fontSize:"1em",b.fontFamily?b.fontFamily:"sans-serif"].join(" "),f=b.label.split("\n"),g=f.length;if(this.canvas.fillText){this.canvas.font=e;this.canvas.textAlign=OpenLayers.Renderer.Canvas.LABEL_ALIGN[b.labelAlign[0]]||"center";this.canvas.textBaseline=OpenLayers.Renderer.Canvas.LABEL_ALIGN[b.labelAlign[1]]||"middle";var h=OpenLayers.Renderer.Canvas.LABEL_FACTOR[b.labelAlign[1]];
null==h&&(h=-0.5);e=this.canvas.measureText("Mg").height||this.canvas.measureText("xx").width;d[1]+=e*h*(g-1);for(h=0;h<g;h++)b.labelOutlineWidth&&(this.canvas.save(),this.canvas.globalAlpha=b.labelOutlineOpacity||b.fontOpacity||1,this.canvas.strokeStyle=b.labelOutlineColor,this.canvas.lineWidth=b.labelOutlineWidth,this.canvas.strokeText(f[h],d[0],d[1]+e*h+1),this.canvas.restore()),this.canvas.fillText(f[h],d[0],d[1]+e*h)}else if(this.canvas.mozDrawText){this.canvas.mozTextStyle=e;var l=OpenLayers.Renderer.Canvas.LABEL_FACTOR[b.labelAlign[0]];
null==l&&(l=-0.5);h=OpenLayers.Renderer.Canvas.LABEL_FACTOR[b.labelAlign[1]];null==h&&(h=-0.5);e=this.canvas.mozMeasureText("xx");d[1]+=e*(1+h*g);for(h=0;h<g;h++){var m=d[0]+l*this.canvas.mozMeasureText(f[h]),q=d[1]+h*e;this.canvas.translate(m,q);this.canvas.mozDrawText(f[h]);this.canvas.translate(-m,-q)}}this.setCanvasStyle("reset")},getLocalXY:function(a){var b=this.getResolution(),d=this.extent;return[(a.x-this.featureDx)/b+-d.left/b,d.top/b-a.y/b]},clear:function(){var a=this.root.height,b=this.root.width;
this.canvas.clearRect(0,0,b,a);this.features={};this.hitDetection&&this.hitContext.clearRect(0,0,b,a)},getFeatureIdFromEvent:function(a){var b;if(this.hitDetection&&"none"!==this.root.style.display&&!this.map.dragging&&(a=a.xy,a=this.hitContext.getImageData(a.x|0,a.y|0,1,1).data,255===a[3]&&(a=a[2]+256*(a[1]+256*a[0])))){a="OpenLayers_Feature_Vector_"+(a-1+this.hitOverflow);try{b=this.features[a][0]}catch(d){}}return b},eraseFeatures:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=0;b<a.length;++b)delete this.features[a[b].id];
this.redraw()},redraw:function(){if(!this.locked){var a=this.root.height,b=this.root.width;this.canvas.clearRect(0,0,b,a);this.hitDetection&&this.hitContext.clearRect(0,0,b,a);var a=[],d,e,f=this.map.baseLayer&&this.map.baseLayer.wrapDateLine&&this.map.getMaxExtent(),g;for(g in this.features)this.features.hasOwnProperty(g)&&(b=this.features[g][0],d=b.geometry,this.calculateFeatureDx(d.getBounds(),f),e=this.features[g][1],this.drawGeometry(d,e,b.id),e.label&&a.push([b,e]));b=0;for(d=a.length;b<d;++b)g=
a[b],this.drawText(g[0].geometry.getCentroid(),g[1])}},CLASS_NAME:"OpenLayers.Renderer.Canvas"});OpenLayers.Renderer.Canvas.LABEL_ALIGN={l:"left",r:"right",t:"top",b:"bottom"};OpenLayers.Renderer.Canvas.LABEL_FACTOR={l:0,r:-1,t:0,b:-1};OpenLayers.Renderer.Canvas.drawImageScaleFactor=null;
OpenLayers.Handler=OpenLayers.Class({id:null,control:null,map:null,keyMask:null,active:!1,evt:null,touch:!1,initialize:function(a,b,d){OpenLayers.Util.extend(this,d);this.control=a;this.callbacks=b;(a=this.map||a.map)&&this.setMap(a);this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},setMap:function(a){this.map=a},checkModifiers:function(a){return null==this.keyMask?!0:((a.shiftKey?OpenLayers.Handler.MOD_SHIFT:0)|(a.ctrlKey?OpenLayers.Handler.MOD_CTRL:0)|(a.altKey?OpenLayers.Handler.MOD_ALT:
0)|(a.metaKey?OpenLayers.Handler.MOD_META:0))==this.keyMask},activate:function(){if(this.active)return!1;for(var a=OpenLayers.Events.prototype.BROWSER_EVENTS,b=0,d=a.length;b<d;b++)this[a[b]]&&this.register(a[b],this[a[b]]);return this.active=!0},deactivate:function(){if(!this.active)return!1;for(var a=OpenLayers.Events.prototype.BROWSER_EVENTS,b=0,d=a.length;b<d;b++)this[a[b]]&&this.unregister(a[b],this[a[b]]);this.active=this.touch=!1;return!0},startTouch:function(){if(!this.touch){this.touch=!0;
for(var a="mousedown mouseup mousemove click dblclick mouseout".split(" "),b=0,d=a.length;b<d;b++)this[a[b]]&&this.unregister(a[b],this[a[b]])}},callback:function(a,b){a&&this.callbacks[a]&&this.callbacks[a].apply(this.control,b)},register:function(a,b){this.map.events.registerPriority(a,this,b);this.map.events.registerPriority(a,this,this.setEvent)},unregister:function(a,b){this.map.events.unregister(a,this,b);this.map.events.unregister(a,this,this.setEvent)},setEvent:function(a){this.evt=a;return!0},
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.Handler.MOD_META=8;
OpenLayers.Handler.MouseWheel=OpenLayers.Class(OpenLayers.Handler,{wheelListener:null,interval:0,maxDelta:Number.POSITIVE_INFINITY,delta:0,cumulative:!0,initialize:function(a,b,d){OpenLayers.Handler.prototype.initialize.apply(this,arguments);this.wheelListener=OpenLayers.Function.bindAsEventListener(this.onWheelEvent,this)},destroy:function(){OpenLayers.Handler.prototype.destroy.apply(this,arguments);this.wheelListener=null},onWheelEvent:function(a){if(this.map&&this.checkModifiers(a)){for(var b=
!1,d=!1,e=!1,f=OpenLayers.Event.element(a);null!=f&&!e&&!b;){if(!b)try{var g,b=(g=f.currentStyle?f.currentStyle.overflow:document.defaultView.getComputedStyle(f,null).getPropertyValue("overflow"))&&"auto"==g||"scroll"==g}catch(h){}if(!d&&(d=OpenLayers.Element.hasClass(f,"olScrollable"),!d))for(var e=0,l=this.map.layers.length;e<l;e++){var m=this.map.layers[e];if(f==m.div||f==m.pane){d=!0;break}}e=f==this.map.div;f=f.parentNode}if(!b&&e){if(d)if(b=0,a.wheelDelta?(b=a.wheelDelta,0===b%160&&(b*=0.75),
b/=120):a.detail&&(b=-(a.detail/Math.abs(a.detail))),this.delta+=b,window.clearTimeout(this._timeoutId),this.interval&&Math.abs(this.delta)<this.maxDelta){var q=OpenLayers.Util.extend({},a);this._timeoutId=window.setTimeout(OpenLayers.Function.bind(function(){this.wheelZoom(q)},this),this.interval)}else this.wheelZoom(a);OpenLayers.Event.stop(a)}}},wheelZoom:function(a){var b=this.delta;this.delta=0;b&&(a.xy=this.map.events.getMousePosition(a),0>b?this.callback("down",[a,this.cumulative?Math.max(-this.maxDelta,
b):-1]):this.callback("up",[a,this.cumulative?Math.min(this.maxDelta,b):1]))},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!0}return!1},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!0}return!1},CLASS_NAME:"OpenLayers.Handler.MouseWheel"});
OpenLayers.Format.JSON=OpenLayers.Class(OpenLayers.Format,{indent:"    ",space:" ",newline:"\n",level:0,pretty:!1,nativeJSON:function(){return!(!window.JSON||"function"!=typeof JSON.parse||"function"!=typeof JSON.stringify)}(),read:function(a,b){var d;if(this.nativeJSON)d=JSON.parse(a,b);else try{if(/^[\],:{}\s]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))&&(d=eval("("+a+")"),"function"===
typeof b)){var e=function(a,d){if(d&&"object"===typeof d)for(var f in d)d.hasOwnProperty(f)&&(d[f]=e(f,d[f]));return b(a,d)};d=e("",d)}}catch(f){}this.keepData&&(this.data=d);return d},write:function(a,b){this.pretty=!!b;var d=null,e=typeof a;if(this.serialize[e])try{d=!this.pretty&&this.nativeJSON?JSON.stringify(a):this.serialize[e].apply(this,[a])}catch(f){OpenLayers.Console.error("Trouble serializing: "+f)}return d},writeIndent:function(){var a=[];if(this.pretty)for(var b=0;b<this.level;++b)a.push(this.indent);
return a.join("")},writeNewline:function(){return this.pretty?this.newline:""},writeSpace:function(){return this.pretty?this.space:""},serialize:{object:function(a){if(null==a)return"null";if(a.constructor==Date)return this.serialize.date.apply(this,[a]);if(a.constructor==Array)return this.serialize.array.apply(this,[a]);var b=["{"];this.level+=1;var d,e,f,g=!1;for(d in a)a.hasOwnProperty(d)&&(e=OpenLayers.Format.JSON.prototype.write.apply(this,[d,this.pretty]),f=OpenLayers.Format.JSON.prototype.write.apply(this,
[a[d],this.pretty]),null!=e&&null!=f&&(g&&b.push(","),b.push(this.writeNewline(),this.writeIndent(),e,":",this.writeSpace(),f),g=!0));this.level-=1;b.push(this.writeNewline(),this.writeIndent(),"}");return b.join("")},array:function(a){var b,d=["["];this.level+=1;for(var e=0,f=a.length;e<f;++e)b=OpenLayers.Format.JSON.prototype.write.apply(this,[a[e],this.pretty]),null!=b&&(0<e&&d.push(","),d.push(this.writeNewline(),this.writeIndent(),b));this.level-=1;d.push(this.writeNewline(),this.writeIndent(),
"]");return d.join("")},string:function(a){var b={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return/["\\\x00-\x1f]/.test(a)?'"'+a.replace(/([\x00-\x1f\\"])/g,function(a,e){var f=b[e];if(f)return f;f=e.charCodeAt();return"\\u00"+Math.floor(f/16).toString(16)+(f%16).toString(16)})+'"':'"'+a+'"'},number:function(a){return isFinite(a)?String(a):"null"},"boolean":function(a){return String(a)},date:function(a){function b(a){return 10>a?"0"+a:a}return'"'+a.getFullYear()+
"-"+b(a.getMonth()+1)+"-"+b(a.getDate())+"T"+b(a.getHours())+":"+b(a.getMinutes())+":"+b(a.getSeconds())+'"'}},CLASS_NAME:"OpenLayers.Format.JSON"});
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(a,b){var d={};this.readChildNodes(a,d);b.outer=d.components[0]},innerBoundaryIs:function(a,b){var d={};this.readChildNodes(a,d);b.inner.push(d.components[0])},Box:function(a,b){var d=
{};this.readChildNodes(a,d);b.components||(b.components=[]);var e=d.points[0],d=d.points[1];b.components.push(new OpenLayers.Bounds(e.x,e.y,d.x,d.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(a){var b;b=OpenLayers.Util.isArray(a)?"wfs:FeatureCollection":"gml:featureMember";a=this.writeNode(b,a);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(a){var b=this.createElementNSPlus("gml:Point");this.writeNode("coordinates",[a],b);return b},coordinates:function(a){for(var b=a.length,d=Array(b),e,f=0;f<b;++f)e=a[f],d[f]=this.xy?e.x+","+e.y:e.y+","+e.x,void 0!=e.z&&(d[f]+=","+e.z);return this.createElementNSPlus("gml:coordinates",{attributes:{decimal:".",cs:",",ts:" "},value:1==b?d[0]:d.join(" ")})},LineString:function(a){var b=
this.createElementNSPlus("gml:LineString");this.writeNode("coordinates",a.components,b);return b},Polygon:function(a){var b=this.createElementNSPlus("gml:Polygon");this.writeNode("outerBoundaryIs",a.components[0],b);for(var d=1;d<a.components.length;++d)this.writeNode("innerBoundaryIs",a.components[d],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(a){var b=this.createElementNSPlus("gml:Box");this.writeNode("coordinates",[{x:a.left,y:a.bottom},{x:a.right,y:a.top}],b);this.srsName&&b.setAttribute("srsName",this.srsName);return b}},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(a,b){var d=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.EQUAL_TO});this.readChildNodes(a,d);b.filters.push(d)},PropertyIsNotEqualTo:function(a,
b){var d=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.NOT_EQUAL_TO});this.readChildNodes(a,d);b.filters.push(d)},PropertyIsLike:function(a,b){var d=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LIKE});this.readChildNodes(a,d);var e=a.getAttribute("wildCard"),f=a.getAttribute("singleChar"),g=a.getAttribute("escape");d.value2regex(e,f,g);b.filters.push(d)}},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.writeOgcExpression(a.value,b);return b},PropertyIsNotEqualTo:function(a){var b=this.createElementNSPlus("ogc:PropertyIsNotEqualTo");this.writeNode("PropertyName",a,b);this.writeOgcExpression(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 b=this.createElementNSPlus("ogc:BBOX");a.property&&this.writeNode("PropertyName",a,b);var d=this.writeNode("gml:Box",a.value,b);a.projection&&d.setAttribute("srsName",a.projection);return b}},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(a,b){var d=this.createElementNSPlus("ogc:"+b);this.writeNode("PropertyName",a,d);if(a.value instanceof OpenLayers.Filter.Function)this.writeNode("Function",a.value,d);else{var e;e=a.value instanceof OpenLayers.Geometry?this.writeNode("feature:_geometry",a.value).firstChild:this.writeNode("gml:Box",a.value);a.projection&&e.setAttribute("srsName",a.projection);d.appendChild(e)}return d},CLASS_NAME:"OpenLayers.Format.Filter.v1_0_0"});
OpenLayers.Format.WFST.v1_0_0=OpenLayers.Class(OpenLayers.Format.Filter.v1_0_0,OpenLayers.Format.WFST.v1,{version:"1.0.0",srsNameInQuery:!1,schemaLocations:{wfs:"http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd"},initialize:function(a){OpenLayers.Format.Filter.v1_0_0.prototype.initialize.apply(this,[a]);OpenLayers.Format.WFST.v1.prototype.initialize.apply(this,[a])},readNode:function(a,b,d){return OpenLayers.Format.GML.v2.prototype.readNode.apply(this,arguments)},readers:{wfs:OpenLayers.Util.applyDefaults({WFS_TransactionResponse:function(a,
b){b.insertIds=[];b.success=!1;this.readChildNodes(a,b)},InsertResult:function(a,b){var d={fids:[]};this.readChildNodes(a,d);b.insertIds=b.insertIds.concat(d.fids)},TransactionResult:function(a,b){this.readChildNodes(a,b)},Status:function(a,b){this.readChildNodes(a,b)},SUCCESS:function(a,b){b.success=!0}},OpenLayers.Format.WFST.v1.prototype.readers.wfs),gml:OpenLayers.Format.GML.v2.prototype.readers.gml,feature:OpenLayers.Format.GML.v2.prototype.readers.feature,ogc:OpenLayers.Format.Filter.v1_0_0.prototype.readers.ogc},
writers:{wfs:OpenLayers.Util.applyDefaults({Query:function(a){a=OpenLayers.Util.extend({featureNS:this.featureNS,featurePrefix:this.featurePrefix,featureType:this.featureType,srsName:this.srsName,srsNameInQuery:this.srsNameInQuery},a);var b=a.featurePrefix,d=this.createElementNSPlus("wfs:Query",{attributes:{typeName:(b?b+":":"")+a.featureType}});a.srsNameInQuery&&a.srsName&&d.setAttribute("srsName",a.srsName);a.featureNS&&d.setAttribute("xmlns:"+b,a.featureNS);if(a.propertyNames)for(var b=0,e=a.propertyNames.length;b<
e;b++)this.writeNode("ogc:PropertyName",{property:a.propertyNames[b]},d);a.filter&&(this.setFilterProperty(a.filter),this.writeNode("ogc:Filter",a.filter,d));return d}},OpenLayers.Format.WFST.v1.prototype.writers.wfs),gml:OpenLayers.Format.GML.v2.prototype.writers.gml,feature:OpenLayers.Format.GML.v2.prototype.writers.feature,ogc:OpenLayers.Format.Filter.v1_0_0.prototype.writers.ogc},CLASS_NAME:"OpenLayers.Format.WFST.v1_0_0"});
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.clear()},insert:function(a){this.exists(a)&&this.remove(a);var b=a.id;this.determineZIndex(a);for(var d=-1,e=this.order.length,f;1<e-d;)f=parseInt((d+e)/2),0<this.compare(this,a,OpenLayers.Util.getElement(this.order[f]))?d=f:e=f;this.order.splice(e,
0,b);this.indices[b]=this.getZIndex(a);return this.getNextElement(e)},remove:function(a){a=a.id;var b=OpenLayers.Util.indexOf(this.order,a);0<=b&&(this.order.splice(b,1),delete this.indices[a],this.maxZIndex=0<this.order.length?this.indices[this.order[this.order.length-1]]:0)},clear:function(){this.order=[];this.indices={};this.maxZIndex=0},exists:function(a){return null!=this.indices[a.id]},getZIndex:function(a){return a._style.graphicZIndex},determineZIndex:function(a){var b=a._style.graphicZIndex;
null==b?(b=this.maxZIndex,a._style.graphicZIndex=b):b>this.maxZIndex&&(this.maxZIndex=b)},getNextElement:function(a){a+=1;if(a<this.order.length){var b=OpenLayers.Util.getElement(this.order[a]);void 0==b&&(b=this.getNextElement(a));return b}return null},CLASS_NAME:"OpenLayers.ElementsIndexer"});
OpenLayers.ElementsIndexer.IndexingMethods={Z_ORDER:function(a,b,d){b=a.getZIndex(b);var e=0;d&&(a=a.getZIndex(d),e=b-a);return e},Z_ORDER_DRAWING_ORDER:function(a,b,d){a=OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER(a,b,d);d&&0==a&&(a=1);return a},Z_ORDER_Y_ORDER:function(a,b,d){a=OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER(a,b,d);d&&0===a&&(b=d._boundsBottom-b._boundsBottom,a=0===b?1:b);return a}};
OpenLayers.Renderer.Elements=OpenLayers.Class(OpenLayers.Renderer,{rendererRoot:null,root:null,vectorRoot:null,textRoot:null,xmlns:null,xOffset:0,indexer:null,BACKGROUND_ID_SUFFIX:"_background",LABEL_ID_SUFFIX:"_label",LABEL_OUTLINE_SUFFIX:"_outline",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);b&&(b.zIndexing||b.yOrdering)&&(this.indexer=new OpenLayers.ElementsIndexer(b.yOrdering))},destroy:function(){this.clear();this.xmlns=this.root=this.rendererRoot=null;OpenLayers.Renderer.prototype.destroy.apply(this,arguments)},clear:function(){var a,b=this.vectorRoot;if(b)for(;a=b.firstChild;)b.removeChild(a);if(b=this.textRoot)for(;a=b.firstChild;)b.removeChild(a);this.indexer&&
this.indexer.clear()},setExtent:function(a,b){var d=OpenLayers.Renderer.prototype.setExtent.apply(this,arguments),e=this.getResolution();if(this.map.baseLayer&&this.map.baseLayer.wrapDateLine){var f,g=a.getWidth()/this.map.getExtent().getWidth();a=a.scale(1/g);g=this.map.getMaxExtent();g.right>a.left&&g.right<a.right?f=!0:g.left>a.left&&g.left<a.right&&(f=!1);if(f!==this.rightOfDateLine||b)d=!1,this.xOffset=!0===f?g.getWidth()/e:0;this.rightOfDateLine=f}return d},getNodeType:function(a,b){},drawGeometry:function(a,
b,d){var e=a.CLASS_NAME,f=!0;if("OpenLayers.Geometry.Collection"==e||"OpenLayers.Geometry.MultiPoint"==e||"OpenLayers.Geometry.MultiLineString"==e||"OpenLayers.Geometry.MultiPolygon"==e){for(var e=0,g=a.components.length;e<g;e++)f=this.drawGeometry(a.components[e],b,d)&&f;return f}e=f=!1;"none"!=b.display&&(b.backgroundGraphic?this.redrawBackgroundNode(a.id,a,b,d):e=!0,f=this.redrawNode(a.id,a,b,d));!1==f&&(b=document.getElementById(a.id))&&(b._style.backgroundGraphic&&(e=!0),b.parentNode.removeChild(b));
e&&(b=document.getElementById(a.id+this.BACKGROUND_ID_SUFFIX))&&b.parentNode.removeChild(b);return f},redrawNode:function(a,b,d,e){d=this.applyDefaultSymbolizer(d);a=this.nodeFactory(a,this.getNodeType(b,d));a._featureId=e;a._boundsBottom=b.getBounds().bottom;a._geometryClass=b.CLASS_NAME;a._style=d;b=this.drawGeometryNode(a,b,d);if(!1===b)return!1;a=b.node;this.indexer?(d=this.indexer.insert(a))?this.vectorRoot.insertBefore(a,d):this.vectorRoot.appendChild(a):a.parentNode!==this.vectorRoot&&this.vectorRoot.appendChild(a);
this.postDraw(a);return b.complete},redrawBackgroundNode:function(a,b,d,e){d=OpenLayers.Util.extend({},d);d.externalGraphic=d.backgroundGraphic;d.graphicXOffset=d.backgroundXOffset;d.graphicYOffset=d.backgroundYOffset;d.graphicZIndex=d.backgroundGraphicZIndex;d.graphicWidth=d.backgroundWidth||d.graphicWidth;d.graphicHeight=d.backgroundHeight||d.graphicHeight;d.backgroundGraphic=null;d.backgroundXOffset=null;d.backgroundYOffset=null;d.backgroundGraphicZIndex=null;return this.redrawNode(a+this.BACKGROUND_ID_SUFFIX,
b,d,null)},drawGeometryNode:function(a,b,d){d=d||a._style;var e={isFilled:void 0===d.fill?!0:d.fill,isStroked:void 0===d.stroke?!!d.strokeWidth:d.stroke},f;switch(b.CLASS_NAME){case "OpenLayers.Geometry.Point":!1===d.graphic&&(e.isFilled=!1,e.isStroked=!1);f=this.drawPoint(a,b);break;case "OpenLayers.Geometry.LineString":e.isFilled=!1;f=this.drawLineString(a,b);break;case "OpenLayers.Geometry.LinearRing":f=this.drawLinearRing(a,b);break;case "OpenLayers.Geometry.Polygon":f=this.drawPolygon(a,b);break;
case "OpenLayers.Geometry.Rectangle":f=this.drawRectangle(a,b)}a._options=e;return!1!=f?{node:this.setStyle(a,d,e,b),complete:f}:!1},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){},removeText:function(a){var b=document.getElementById(a+this.LABEL_ID_SUFFIX);b&&this.textRoot.removeChild(b);(a=document.getElementById(a+this.LABEL_OUTLINE_SUFFIX))&&this.textRoot.removeChild(a)},
getFeatureIdFromEvent:function(a){var b=a.target,d=b&&b.correspondingUseElement;return(d?d:b||a.srcElement)._featureId},eraseGeometry:function(a,b){if("OpenLayers.Geometry.MultiPoint"==a.CLASS_NAME||"OpenLayers.Geometry.MultiLineString"==a.CLASS_NAME||"OpenLayers.Geometry.MultiPolygon"==a.CLASS_NAME||"OpenLayers.Geometry.Collection"==a.CLASS_NAME)for(var d=0,e=a.components.length;d<e;d++)this.eraseGeometry(a.components[d],b);else(d=OpenLayers.Util.getElement(a.id))&&d.parentNode&&(d.geometry&&(d.geometry.destroy(),
d.geometry=null),d.parentNode.removeChild(d),this.indexer&&this.indexer.remove(d),d._style.backgroundGraphic&&(d=OpenLayers.Util.getElement(a.id+this.BACKGROUND_ID_SUFFIX))&&d.parentNode&&d.parentNode.removeChild(d))},nodeFactory:function(a,b){var d=OpenLayers.Util.getElement(a);d?this.nodeTypeCompare(d,b)||(d.parentNode.removeChild(d),d=this.nodeFactory(a,b)):d=this.createNode(b,a);return d},nodeTypeCompare:function(a,b){},createNode:function(a,b){},moveRoot:function(a){var b=this.root;a.root.parentNode==
this.rendererRoot&&(b=a.root);b.parentNode.removeChild(b);a.rendererRoot.appendChild(b)},getRenderLayerId:function(){return this.root.parentNode.parentNode.id},isComplexSymbol:function(a){return"circle"!=a&&!!a},CLASS_NAME:"OpenLayers.Renderer.Elements"});
OpenLayers.Strategy.Fixed=OpenLayers.Class(OpenLayers.Strategy,{preload:!1,activate:function(){var a=OpenLayers.Strategy.prototype.activate.apply(this,arguments);if(a)if(this.layer.events.on({refresh:this.load,scope:this}),!0==this.layer.visibility||this.preload)this.load();else this.layer.events.on({visibilitychanged:this.load,scope:this});return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&this.layer.events.un({refresh:this.load,visibilitychanged:this.load,
scope:this});return a},load:function(a){var b=this.layer;b.events.triggerEvent("loadstart",{filter:b.filter});b.protocol.read(OpenLayers.Util.applyDefaults({callback:this.merge,filter:b.filter,scope:this},a));b.events.un({visibilitychanged:this.load,scope:this})},merge:function(a){var b=this.layer;b.destroyFeatures();var d=a.features;if(d&&0<d.length){var e=b.projection,f=b.map.getProjectionObject();if(!f.equals(e))for(var g,h=0,l=d.length;h<l;++h)(g=d[h].geometry)&&g.transform(e,f);b.addFeatures(d)}b.events.triggerEvent("loadend",
{response:a})},CLASS_NAME:"OpenLayers.Strategy.Fixed"});OpenLayers.Format.WFSCapabilities=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.1.0",CLASS_NAME:"OpenLayers.Format.WFSCapabilities"});
OpenLayers.Format.WFSCapabilities.v1=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{wfs:"http://www.opengis.net/wfs",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance",ows:"http://www.opengis.net/ows"},errorProperty:"featureTypeList",defaultPrefix:"wfs",read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9==a.nodeType&&(a=a.documentElement);var b={};this.readNode(a,b);return b},readers:{wfs:{WFS_Capabilities:function(a,
b){this.readChildNodes(a,b)},FeatureTypeList:function(a,b){b.featureTypeList={featureTypes:[]};this.readChildNodes(a,b.featureTypeList)},FeatureType:function(a,b){var d={};this.readChildNodes(a,d);b.featureTypes.push(d)},Name:function(a,b){var d=this.getChildValue(a);d&&(d=d.split(":"),b.name=d.pop(),0<d.length&&(b.featureNS=this.lookupNamespaceURI(a,d[0])))},Title:function(a,b){var d=this.getChildValue(a);d&&(b.title=d)},Abstract:function(a,b){var d=this.getChildValue(a);d&&(b["abstract"]=d)}}},
CLASS_NAME:"OpenLayers.Format.WFSCapabilities.v1"});OpenLayers.Format.WFSCapabilities.v1_1_0=OpenLayers.Class(OpenLayers.Format.WFSCapabilities.v1,{regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},readers:{wfs:OpenLayers.Util.applyDefaults({DefaultSRS:function(a,b){var d=this.getChildValue(a);d&&(b.srs=d)}},OpenLayers.Format.WFSCapabilities.v1.prototype.readers.wfs),ows:OpenLayers.Format.OWSCommon.v1.prototype.readers.ows},CLASS_NAME:"OpenLayers.Format.WFSCapabilities.v1_1_0"});
OpenLayers.Protocol=OpenLayers.Class({format:null,options:null,autoDestroy:!0,defaultFilter:null,initialize:function(a){a=a||{};OpenLayers.Util.extend(this,a);this.options=a},mergeWithDefaultFilter:function(a){return a&&this.defaultFilter?new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND,filters:[this.defaultFilter,a]}):a||this.defaultFilter||void 0},destroy:function(){this.format=this.options=null},read:function(a){a=a||{};a.filter=this.mergeWithDefaultFilter(a.filter)},create:function(){},
update:function(){},"delete":function(){},commit:function(){},abort:function(a){},createCallback:function(a,b,d){return OpenLayers.Function.bind(function(){a.apply(this,[b,d])},this)},CLASS_NAME:"OpenLayers.Protocol"});OpenLayers.Protocol.Response=OpenLayers.Class({code:null,requestType:null,last:!0,features:null,data:null,reqFeatures:null,priv:null,error:null,initialize:function(a){OpenLayers.Util.extend(this,a)},success:function(){return 0<this.code},CLASS_NAME:"OpenLayers.Protocol.Response"});
OpenLayers.Protocol.Response.SUCCESS=1;OpenLayers.Protocol.Response.FAILURE=0;OpenLayers.Protocol.WFS=function(a){a=OpenLayers.Util.applyDefaults(a,OpenLayers.Protocol.WFS.DEFAULTS);var b=OpenLayers.Protocol.WFS["v"+a.version.replace(/\./g,"_")];if(!b)throw"Unsupported WFS version: "+a.version;return new b(a)};
OpenLayers.Protocol.WFS.fromWMSLayer=function(a,b){var d,e;d=a.params.LAYERS;d=(OpenLayers.Util.isArray(d)?d[0]:d).split(":");1<d.length&&(e=d[0]);d=d.pop();e={url:a.url,featureType:d,featurePrefix:e,srsName:a.projection&&a.projection.getCode()||a.map&&a.map.getProjectionObject().getCode(),version:"1.1.0"};return new OpenLayers.Protocol.WFS(OpenLayers.Util.applyDefaults(b,e))};OpenLayers.Protocol.WFS.DEFAULTS={version:"1.0.0"};
OpenLayers.Layer.Markers=OpenLayers.Class(OpenLayers.Layer,{isBaseLayer:!1,markers:null,drawn:!1,initialize:function(a,b){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(a){if(a!=this.opacity){this.opacity=a;a=0;for(var b=this.markers.length;a<b;a++)this.markers[a].setOpacity(this.opacity)}},moveTo:function(a,b,d){OpenLayers.Layer.prototype.moveTo.apply(this,
arguments);if(b||!this.drawn){for(var e=0,f=this.markers.length;e<f;e++)this.drawMarker(this.markers[e]);this.drawn=!0}},addMarker:function(a){this.markers.push(a);1>this.opacity&&a.setOpacity(this.opacity);this.map&&this.map.getExtent()&&(a.map=this.map,this.drawMarker(a))},removeMarker:function(a){this.markers&&this.markers.length&&(OpenLayers.Util.removeItem(this.markers,a),a.erase())},clearMarkers:function(){if(null!=this.markers)for(;0<this.markers.length;)this.removeMarker(this.markers[0])},
drawMarker:function(a){var b=this.map.getLayerPxFromLonLat(a.lonlat);null==b?a.display(!1):a.isDrawn()?a.icon&&a.icon.moveTo(b):(a=a.draw(b),this.div.appendChild(a))},getDataExtent:function(){var a=null;if(this.markers&&0<this.markers.length)for(var a=new OpenLayers.Bounds,b=0,d=this.markers.length;b<d;b++)a.extend(this.markers[b].lonlat);return a},CLASS_NAME:"OpenLayers.Layer.Markers"});
OpenLayers.Protocol.WFS.v1=OpenLayers.Class(OpenLayers.Protocol,{version:null,srsName:"EPSG:4326",featureType:null,featureNS:null,geometryName:"the_geom",schema:null,featurePrefix:"feature",formatOptions:null,readFormat:null,readOptions:null,initialize:function(a){OpenLayers.Protocol.prototype.initialize.apply(this,[a]);a.format||(this.format=OpenLayers.Format.WFST(OpenLayers.Util.extend({version:this.version,featureType:this.featureType,featureNS:this.featureNS,featurePrefix:this.featurePrefix,geometryName:this.geometryName,
srsName:this.srsName,schema:this.schema},this.formatOptions)));!a.geometryName&&1<parseFloat(this.format.version)&&this.setGeometryName(null)},destroy:function(){this.options&&!this.options.format&&this.format.destroy();this.format=null;OpenLayers.Protocol.prototype.destroy.apply(this)},read:function(a){OpenLayers.Protocol.prototype.read.apply(this,arguments);a=OpenLayers.Util.extend({},a);OpenLayers.Util.applyDefaults(a,this.options||{});var b=new OpenLayers.Protocol.Response({requestType:"read"}),
d=OpenLayers.Format.XML.prototype.write.apply(this.format,[this.format.writeNode("wfs:GetFeature",a)]);b.priv=OpenLayers.Request.POST({url:a.url,callback:this.createCallback(this.handleRead,b,a),params:a.params,headers:a.headers,data:d});return b},setFeatureType:function(a){this.featureType=a;this.format.featureType=a},setGeometryName:function(a){this.geometryName=a;this.format.geometryName=a},handleRead:function(a,b){b=OpenLayers.Util.extend({},b);OpenLayers.Util.applyDefaults(b,this.options);if(b.callback){var d=
a.priv;200<=d.status&&300>d.status?(d=this.parseResponse(d,b.readOptions))&&!1!==d.success?(b.readOptions&&"object"==b.readOptions.output?OpenLayers.Util.extend(a,d):a.features=d,a.code=OpenLayers.Protocol.Response.SUCCESS):(a.code=OpenLayers.Protocol.Response.FAILURE,a.error=d):a.code=OpenLayers.Protocol.Response.FAILURE;b.callback.call(b.scope,a)}},parseResponse:function(a,b){var d=a.responseXML;d&&d.documentElement||(d=a.responseText);if(!d||0>=d.length)return null;d=null!==this.readFormat?this.readFormat.read(d):
this.format.read(d,b);if(!this.featureNS){var e=this.readFormat||this.format;this.featureNS=e.featureNS;e.autoConfig=!1;this.geometryName||this.setGeometryName(e.geometryName)}return d},commit:function(a,b){b=OpenLayers.Util.extend({},b);OpenLayers.Util.applyDefaults(b,this.options);var d=new OpenLayers.Protocol.Response({requestType:"commit",reqFeatures:a});d.priv=OpenLayers.Request.POST({url:b.url,headers:b.headers,data:this.format.write(a,b),callback:this.createCallback(this.handleCommit,d,b)});
return d},handleCommit:function(a,b){if(b.callback){var d=a.priv,e=d.responseXML;e&&e.documentElement||(e=d.responseText);d=this.format.read(e)||{};a.insertIds=d.insertIds||[];d.success?a.code=OpenLayers.Protocol.Response.SUCCESS:(a.code=OpenLayers.Protocol.Response.FAILURE,a.error=d);b.callback.call(b.scope,a)}},filterDelete:function(a,b){b=OpenLayers.Util.extend({},b);OpenLayers.Util.applyDefaults(b,this.options);new OpenLayers.Protocol.Response({requestType:"commit"});var d=this.format.createElementNSPlus("wfs:Transaction",
{attributes:{service:"WFS",version:this.version}}),e=this.format.createElementNSPlus("wfs:Delete",{attributes:{typeName:(b.featureNS?this.featurePrefix+":":"")+b.featureType}});b.featureNS&&e.setAttribute("xmlns:"+this.featurePrefix,b.featureNS);var f=this.format.writeNode("ogc:Filter",a);e.appendChild(f);d.appendChild(e);d=OpenLayers.Format.XML.prototype.write.apply(this.format,[d]);return OpenLayers.Request.POST({url:this.url,callback:b.callback||function(){},data:d})},abort:function(a){a&&a.priv.abort()},
CLASS_NAME:"OpenLayers.Protocol.WFS.v1"});
OpenLayers.Handler.Point=OpenLayers.Class(OpenLayers.Handler,{point:null,layer:null,multi:!1,citeCompliant:!1,mouseDown:!1,stoppedDown:null,lastDown:null,lastUp:null,persist:!1,stopDown:!1,stopUp:!1,layerOptions:null,pixelTolerance:5,lastTouchPx:null,initialize:function(a,b,d){d&&d.layerOptions&&d.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!1;var a=OpenLayers.Util.extend({displayInLayerSwitcher:!1,calculateInRange:OpenLayers.Function.True,wrapDateLine:this.citeCompliant},this.layerOptions);this.layer=new OpenLayers.Layer.Vector(this.CLASS_NAME,a);this.map.addLayer(this.layer);return!0},createFeature:function(a){a=this.layer.getLonLatFromViewPortPx(a);a=new OpenLayers.Geometry.Point(a.lon,a.lat);this.point=new OpenLayers.Feature.Vector(a);this.callback("create",[this.point.geometry,this.point]);this.point.geometry.clearBounds();
this.layer.addFeatures([this.point],{silent:!0})},deactivate:function(){if(!OpenLayers.Handler.prototype.deactivate.apply(this,arguments))return!1;this.cancel();null!=this.layer.map&&(this.destroyFeature(!0),this.layer.destroy(!1));this.layer=null;return!0},destroyFeature:function(a){!this.layer||!a&&this.persist||this.layer.destroyFeatures();this.point=null},destroyPersistedFeature:function(){var a=this.layer;a&&1<a.features.length&&this.layer.features[0].destroy()},finalize:function(a){this.mouseDown=
!1;this.lastTouchPx=this.lastUp=this.lastDown=null;this.callback(a?"cancel":"done",[this.geometryClone()]);this.destroyFeature(a)},cancel:function(){this.finalize(!0)},click:function(a){OpenLayers.Event.stop(a);return!1},dblclick:function(a){OpenLayers.Event.stop(a);return!1},modifyFeature:function(a){this.point||this.createFeature(a);a=this.layer.getLonLatFromViewPortPx(a);this.point.geometry.x=a.lon;this.point.geometry.y=a.lat;this.callback("modify",[this.point.geometry,this.point,!1]);this.point.geometry.clearBounds();
this.drawFeature()},drawFeature:function(){this.layer.drawFeature(this.point,this.style)},getGeometry:function(){var a=this.point&&this.point.geometry;a&&this.multi&&(a=new OpenLayers.Geometry.MultiPoint([a]));return a},geometryClone:function(){var a=this.getGeometry();return a&&a.clone()},mousedown:function(a){return this.down(a)},touchstart:function(a){this.startTouch();this.lastTouchPx=a.xy;return this.down(a)},mousemove:function(a){return this.move(a)},touchmove:function(a){this.lastTouchPx=a.xy;
return this.move(a)},mouseup:function(a){return this.up(a)},touchend:function(a){a.xy=this.lastTouchPx;return this.up(a)},down:function(a){this.mouseDown=!0;this.lastDown=a.xy;this.touch||this.modifyFeature(a.xy);this.stoppedDown=this.stopDown;return!this.stopDown},move:function(a){this.touch||this.mouseDown&&!this.stoppedDown||this.modifyFeature(a.xy);return!0},up:function(a){this.mouseDown=!1;this.stoppedDown=this.stopDown;if(!this.checkModifiers(a)||this.lastUp&&this.lastUp.equals(a.xy)||!this.lastDown||
!this.passesTolerance(this.lastDown,a.xy,this.pixelTolerance))return!0;this.touch&&this.modifyFeature(a.xy);this.persist&&this.destroyPersistedFeature();this.lastUp=a.xy;this.finalize();return!this.stopUp},mouseout:function(a){OpenLayers.Util.mouseLeft(a,this.map.viewPortDiv)&&(this.stoppedDown=this.stopDown,this.mouseDown=!1)},passesTolerance:function(a,b,d){var e=!0;null!=d&&a&&b&&a.distanceTo(b)>d&&(e=!1);return e},CLASS_NAME:"OpenLayers.Handler.Point"});
OpenLayers.Handler.Path=OpenLayers.Class(OpenLayers.Handler.Point,{line:null,maxVertices:null,doubleTouchTolerance:20,freehand:!1,freehandToggle:"shiftKey",timerId:null,redoStack:null,createFeature:function(a){a=this.layer.getLonLatFromViewPortPx(a);a=new OpenLayers.Geometry.Point(a.lon,a.lat);this.point=new OpenLayers.Feature.Vector(a);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:!0})},destroyFeature:function(a){OpenLayers.Handler.Point.prototype.destroyFeature.call(this,a);this.line=null},destroyPersistedFeature:function(){var a=this.layer;a&&2<a.features.length&&this.layer.features[0].destroy()},removePoint:function(){this.point&&this.layer.removeFeatures([this.point])},addPoint:function(a){this.layer.removeFeatures([this.point]);a=this.layer.getLonLatFromViewPortPx(a);this.point=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(a.lon,
a.lat));this.line.geometry.addComponent(this.point.geometry,this.line.geometry.components.length);this.layer.addFeatures([this.point]);this.callback("point",[this.point.geometry,this.getGeometry()]);this.callback("modify",[this.point.geometry,this.getSketch()]);this.drawFeature();delete this.redoStack},insertXY:function(a,b){this.line.geometry.addComponent(new OpenLayers.Geometry.Point(a,b),this.getCurrentPointIndex());this.drawFeature();delete this.redoStack},insertDeltaXY:function(a,b){var d=this.getCurrentPointIndex()-
1,d=this.line.geometry.components[d];!d||isNaN(d.x)||isNaN(d.y)||this.insertXY(d.x+a,d.y+b)},insertDirectionLength:function(a,b){a*=Math.PI/180;var d=b*Math.cos(a),e=b*Math.sin(a);this.insertDeltaXY(d,e)},insertDeflectionLength:function(a,b){var d=this.getCurrentPointIndex()-1;if(0<d){var e=this.line.geometry.components[d],d=this.line.geometry.components[d-1],e=Math.atan2(e.y-d.y,e.x-d.x);this.insertDirectionLength(180*e/Math.PI+a,b)}},getCurrentPointIndex:function(){return this.line.geometry.components.length-
1},undo:function(){var a=this.line.geometry,b=a.components,d=this.getCurrentPointIndex()-1,e=b[d],f=a.removeComponent(e);f&&(this.touch&&0<d&&(b=a.components,a=b[d-1],d=this.getCurrentPointIndex(),b=b[d],b.x=a.x,b.y=a.y),this.redoStack||(this.redoStack=[]),this.redoStack.push(e),this.drawFeature());return f},redo:function(){var a=this.redoStack&&this.redoStack.pop();a&&(this.line.geometry.addComponent(a,this.getCurrentPointIndex()),this.drawFeature());return!!a},freehandMode:function(a){return this.freehandToggle&&
a[this.freehandToggle]?!this.freehand:this.freehand},modifyFeature:function(a,b){this.line||this.createFeature(a);var d=this.layer.getLonLatFromViewPortPx(a);this.point.geometry.x=d.lon;this.point.geometry.y=d.lat;this.callback("modify",[this.point.geometry,this.getSketch(),b]);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;a&&this.multi&&(a=new OpenLayers.Geometry.MultiLineString([a]));return a},touchstart:function(a){if(this.timerId&&this.passesTolerance(this.lastTouchPx,a.xy,this.doubleTouchTolerance))return this.finishGeometry(),window.clearTimeout(this.timerId),this.timerId=null,!1;this.timerId&&(window.clearTimeout(this.timerId),this.timerId=null);this.timerId=window.setTimeout(OpenLayers.Function.bind(function(){this.timerId=null},this),300);return OpenLayers.Handler.Point.prototype.touchstart.call(this,
a)},down:function(a){var b=this.stopDown;this.freehandMode(a)&&(b=!0,this.touch&&(this.modifyFeature(a.xy,!!this.lastUp),OpenLayers.Event.stop(a)));this.touch||this.lastDown&&this.passesTolerance(this.lastDown,a.xy,this.pixelTolerance)||this.modifyFeature(a.xy,!!this.lastUp);this.mouseDown=!0;this.lastDown=a.xy;this.stoppedDown=b;return!b},move:function(a){if(this.stoppedDown&&this.freehandMode(a))return this.persist&&this.destroyPersistedFeature(),this.maxVertices&&this.line&&this.line.geometry.components.length===
this.maxVertices?(this.removePoint(),this.finalize()):this.addPoint(a.xy),!1;this.touch||this.mouseDown&&!this.stoppedDown||this.modifyFeature(a.xy,!!this.lastUp);return!0},up:function(a){!this.mouseDown||this.lastUp&&this.lastUp.equals(a.xy)||(this.stoppedDown&&this.freehandMode(a)?(this.persist&&this.destroyPersistedFeature(),this.removePoint(),this.finalize()):this.passesTolerance(this.lastDown,a.xy,this.pixelTolerance)&&(this.touch&&this.modifyFeature(a.xy),null==this.lastUp&&this.persist&&this.destroyPersistedFeature(),
this.addPoint(a.xy),this.lastUp=a.xy,this.line.geometry.components.length===this.maxVertices+1&&this.finishGeometry()));this.stoppedDown=this.stopDown;this.mouseDown=!1;return!this.stopUp},finishGeometry:function(){this.line.geometry.removeComponent(this.line.geometry.components[this.line.geometry.components.length-1]);this.removePoint();this.finalize()},dblclick:function(a){this.freehandMode(a)||this.finishGeometry();return!1},CLASS_NAME:"OpenLayers.Handler.Path"});
OpenLayers.Control=OpenLayers.Class({id:null,map:null,div:null,type:null,allowSelection:!1,displayClass:"",title:"",autoActivate:!1,active:null,handlerOptions:null,handler:null,eventListeners:null,events:null,initialize:function(a){this.displayClass=this.CLASS_NAME.replace("OpenLayers.","ol").replace(/\./g,"");OpenLayers.Util.extend(this,a);this.events=new OpenLayers.Events(this);if(this.eventListeners instanceof Object)this.events.on(this.eventListeners);null==this.id&&(this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+
"_"))},destroy:function(){this.events&&(this.eventListeners&&this.events.un(this.eventListeners),this.events.destroy(),this.events=null);this.eventListeners=null;this.handler&&(this.handler.destroy(),this.handler=null);if(this.handlers){for(var a in this.handlers)this.handlers.hasOwnProperty(a)&&"function"==typeof this.handlers[a].destroy&&this.handlers[a].destroy();this.handlers=null}this.map&&(this.map.removeControl(this),this.map=null);this.div=null},setMap:function(a){this.map=a;this.handler&&
this.handler.setMap(a)},draw:function(a){null==this.div&&(this.div=OpenLayers.Util.createDiv(this.id),this.div.className=this.displayClass,this.allowSelection||(this.div.className+=" olControlNoSelect",this.div.setAttribute("unselectable","on",0),this.div.onselectstart=OpenLayers.Function.False),""!=this.title&&(this.div.title=this.title));null!=a&&(this.position=a.clone());this.moveTo(this.position);return this.div},moveTo:function(a){null!=a&&null!=this.div&&(this.div.style.left=a.x+"px",this.div.style.top=
a.y+"px")},activate:function(){if(this.active)return!1;this.handler&&this.handler.activate();this.active=!0;this.map&&OpenLayers.Element.addClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,"")+"Active");this.events.triggerEvent("activate");return!0},deactivate:function(){return this.active?(this.handler&&this.handler.deactivate(),this.active=!1,this.map&&OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,"")+"Active"),this.events.triggerEvent("deactivate"),
!0):!1},CLASS_NAME:"OpenLayers.Control"});OpenLayers.Control.TYPE_BUTTON=1;OpenLayers.Control.TYPE_TOGGLE=2;OpenLayers.Control.TYPE_TOOL=3;
OpenLayers.Handler.Drag=OpenLayers.Class(OpenLayers.Handler,{started:!1,stopDown:!0,dragging:!1,last:null,start:null,lastMoveEvt:null,oldOnselectstart:null,interval:0,timeoutId:null,documentDrag:!1,documentEvents:null,initialize:function(a,b,d){OpenLayers.Handler.prototype.initialize.apply(this,arguments);if(!0===this.documentDrag){var e=this;this._docMove=function(a){e.mousemove({xy:{x:a.clientX,y:a.clientY},element:document})};this._docUp=function(a){e.mouseup({xy:{x:a.clientX,y:a.clientY}})}}},
dragstart:function(a){var b=!0;this.dragging=!1;this.checkModifiers(a)&&(OpenLayers.Event.isLeftClick(a)||OpenLayers.Event.isSingleTouch(a))?(this.started=!0,this.last=this.start=a.xy,OpenLayers.Element.addClass(this.map.viewPortDiv,"olDragDown"),this.down(a),this.callback("down",[a.xy]),OpenLayers.Event.preventDefault(a),this.oldOnselectstart||(this.oldOnselectstart=document.onselectstart?document.onselectstart:OpenLayers.Function.True),document.onselectstart=OpenLayers.Function.False,b=!this.stopDown):
(this.started=!1,this.last=this.start=null);return b},dragmove:function(a){this.lastMoveEvt=a;!this.started||this.timeoutId||a.xy.x==this.last.x&&a.xy.y==this.last.y||(!0===this.documentDrag&&this.documentEvents&&(a.element===document?(this.adjustXY(a),this.setEvent(a)):this.removeDocumentEvents()),0<this.interval&&(this.timeoutId=setTimeout(OpenLayers.Function.bind(this.removeTimeout,this),this.interval)),this.dragging=!0,this.move(a),this.callback("move",[a.xy]),this.oldOnselectstart||(this.oldOnselectstart=
document.onselectstart,document.onselectstart=OpenLayers.Function.False),this.last=a.xy);return!0},dragend:function(a){if(this.started){!0===this.documentDrag&&this.documentEvents&&(this.adjustXY(a),this.removeDocumentEvents());var b=this.start!=this.last;this.dragging=this.started=!1;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.up(a);this.callback("up",[a.xy]);b&&this.callback("done",[a.xy]);document.onselectstart=this.oldOnselectstart}return!0},down:function(a){},move:function(a){},
up:function(a){},out:function(a){},mousedown:function(a){return this.dragstart(a)},touchstart:function(a){this.startTouch();return this.dragstart(a)},mousemove:function(a){return this.dragmove(a)},touchmove:function(a){return this.dragmove(a)},removeTimeout:function(){this.timeoutId=null;this.dragging&&this.mousemove(this.lastMoveEvt)},mouseup:function(a){return this.dragend(a)},touchend:function(a){a.xy=this.last;return this.dragend(a)},mouseout:function(a){if(this.started&&OpenLayers.Util.mouseLeft(a,
this.map.viewPortDiv))if(!0===this.documentDrag)this.addDocumentEvents();else{var b=this.start!=this.last;this.dragging=this.started=!1;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.out(a);this.callback("out",[]);b&&this.callback("done",[a.xy]);document.onselectstart&&(document.onselectstart=this.oldOnselectstart)}return!0},click:function(a){return this.start==this.last},activate:function(){var a=!1;OpenLayers.Handler.prototype.activate.apply(this,arguments)&&(this.dragging=
!1,a=!0);return a},deactivate:function(){var a=!1;OpenLayers.Handler.prototype.deactivate.apply(this,arguments)&&(this.dragging=this.started=!1,this.last=this.start=null,a=!0,OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown"));return a},adjustXY:function(a){var b=OpenLayers.Util.pagePosition(this.map.viewPortDiv);a.xy.x-=b[0];a.xy.y-=b[1]},addDocumentEvents:function(){OpenLayers.Element.addClass(document.body,"olDragDown");this.documentEvents=!0;OpenLayers.Event.observe(document,"mousemove",
this._docMove);OpenLayers.Event.observe(document,"mouseup",this._docUp)},removeDocumentEvents:function(){OpenLayers.Element.removeClass(document.body,"olDragDown");this.documentEvents=!1;OpenLayers.Event.stopObserving(document,"mousemove",this._docMove);OpenLayers.Event.stopObserving(document,"mouseup",this._docUp)},CLASS_NAME:"OpenLayers.Handler.Drag"});
OpenLayers.Handler.Box=OpenLayers.Class(OpenLayers.Handler,{dragHandler:null,boxDivClassName:"olHandlerBoxZoomBox",boxOffsets:null,initialize:function(a,b,d){OpenLayers.Handler.prototype.initialize.apply(this,arguments);this.dragHandler=new OpenLayers.Handler.Drag(this,{down:this.startBox,move:this.moveBox,out:this.removeBox,up:this.endBox},{keyMask:this.keyMask})},destroy:function(){OpenLayers.Handler.prototype.destroy.apply(this,arguments);this.dragHandler&&(this.dragHandler.destroy(),this.dragHandler=
null)},setMap:function(a){OpenLayers.Handler.prototype.setMap.apply(this,arguments);this.dragHandler&&this.dragHandler.setMap(a)},startBox:function(a){this.callback("start",[]);this.zoomBox=OpenLayers.Util.createDiv("zoomBox",{x:-9999,y:-9999});this.zoomBox.className=this.boxDivClassName;this.zoomBox.style.zIndex=this.map.Z_INDEX_BASE.Popup-1;this.map.viewPortDiv.appendChild(this.zoomBox);OpenLayers.Element.addClass(this.map.viewPortDiv,"olDrawBox")},moveBox:function(a){var b=this.dragHandler.start.x,
d=this.dragHandler.start.y,e=Math.abs(b-a.x),f=Math.abs(d-a.y),g=this.getBoxOffsets();this.zoomBox.style.width=e+g.width+1+"px";this.zoomBox.style.height=f+g.height+1+"px";this.zoomBox.style.left=(a.x<b?b-e-g.left:b-g.left)+"px";this.zoomBox.style.top=(a.y<d?d-f-g.top:d-g.top)+"px"},endBox:function(a){var b;if(5<Math.abs(this.dragHandler.start.x-a.x)||5<Math.abs(this.dragHandler.start.y-a.y)){var d=this.dragHandler.start;b=Math.min(d.y,a.y);var e=Math.max(d.y,a.y),f=Math.min(d.x,a.x);a=Math.max(d.x,
a.x);b=new OpenLayers.Bounds(f,e,a,b)}else b=this.dragHandler.start.clone();this.removeBox();this.callback("done",[b])},removeBox:function(){this.map.viewPortDiv.removeChild(this.zoomBox);this.boxOffsets=this.zoomBox=null;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDrawBox")},activate:function(){return OpenLayers.Handler.prototype.activate.apply(this,arguments)?(this.dragHandler.activate(),!0):!1},deactivate:function(){return OpenLayers.Handler.prototype.deactivate.apply(this,arguments)?
(this.dragHandler.deactivate()&&this.zoomBox&&this.removeBox(),!0):!1},getBoxOffsets:function(){if(!this.boxOffsets){var a=document.createElement("div");a.style.position="absolute";a.style.border="1px solid black";a.style.width="3px";document.body.appendChild(a);var b=3==a.clientWidth;document.body.removeChild(a);var a=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-left-width")),d=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-right-width")),e=parseInt(OpenLayers.Element.getStyle(this.zoomBox,
"border-top-width")),f=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-bottom-width"));this.boxOffsets={left:a,right:d,top:e,bottom:f,width:!1===b?a+d:0,height:!1===b?e+f:0}}return this.boxOffsets},CLASS_NAME:"OpenLayers.Handler.Box"});
OpenLayers.Control.ZoomBox=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,out:!1,keyMask:null,alwaysZoom:!1,zoomOnClick:!0,draw:function(){this.handler=new OpenLayers.Handler.Box(this,{done:this.zoomBox},{keyMask:this.keyMask})},zoomBox:function(a){if(a instanceof OpenLayers.Bounds){var b,d=a.getCenterPixel();if(this.out){b=Math.min(this.map.size.h/(a.bottom-a.top),this.map.size.w/(a.right-a.left));var e=this.map.getExtent(),f=this.map.getLonLatFromPixel(d),g=f.lon-e.getWidth()/
2*b;a=f.lon+e.getWidth()/2*b;var h=f.lat-e.getHeight()/2*b;b=f.lat+e.getHeight()/2*b;b=new OpenLayers.Bounds(g,h,a,b)}else g=this.map.getLonLatFromPixel({x:a.left,y:a.bottom}),a=this.map.getLonLatFromPixel({x:a.right,y:a.top}),b=new OpenLayers.Bounds(g.lon,g.lat,a.lon,a.lat);g=this.map.getZoom();h=this.map.getSize();a=h.w/2;h=h.h/2;b=this.map.getZoomForExtent(b);e=this.map.getResolution();f=this.map.getResolutionForZoom(b);e==f?this.map.setCenter(this.map.getLonLatFromPixel(d)):this.map.zoomTo(b,
{x:(e*d.x-f*a)/(e-f),y:(e*d.y-f*h)/(e-f)});g==this.map.getZoom()&&!0==this.alwaysZoom&&this.map.zoomTo(g+(this.out?-1:1))}else this.zoomOnClick&&(this.out?this.map.zoomTo(this.map.getZoom()-1,a):this.map.zoomTo(this.map.getZoom()+1,a))},CLASS_NAME:"OpenLayers.Control.ZoomBox"});
OpenLayers.Control.DragPan=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,panned:!1,interval:0,documentDrag:!1,kinetic:null,enableKinetic:!0,kineticInterval:10,draw:function(){if(this.enableKinetic&&OpenLayers.Kinetic){var a={interval:this.kineticInterval};"object"===typeof this.enableKinetic&&(a=OpenLayers.Util.extend(a,this.enableKinetic));this.kinetic=new OpenLayers.Kinetic(a)}this.handler=new OpenLayers.Handler.Drag(this,{move:this.panMap,done:this.panMapDone,down:this.panMapStart},
{interval:this.interval,documentDrag:this.documentDrag})},panMapStart:function(){this.kinetic&&this.kinetic.begin()},panMap:function(a){this.kinetic&&this.kinetic.update(a);this.panned=!0;this.map.pan(this.handler.last.x-a.x,this.handler.last.y-a.y,{dragging:!0,animate:!1})},panMapDone:function(a){if(this.panned){var b=null;this.kinetic&&(b=this.kinetic.end(a));this.map.pan(this.handler.last.x-a.x,this.handler.last.y-a.y,{dragging:!!b,animate:!1});if(b){var d=this;this.kinetic.move(b,function(a,b,
g){d.map.pan(a,b,{dragging:!g,animate:!1})})}this.panned=!1}},CLASS_NAME:"OpenLayers.Control.DragPan"});
OpenLayers.Handler.Click=OpenLayers.Class(OpenLayers.Handler,{delay:300,single:!0,"double":!1,pixelTolerance:0,dblclickTolerance:13,stopSingle:!1,stopDouble:!1,timerId:null,down:null,last:null,first:null,rightclickTimerId:null,touchstart:function(a){this.startTouch();this.down=this.getEventInfo(a);this.last=this.getEventInfo(a);return!0},touchmove:function(a){this.last=this.getEventInfo(a);return!0},touchend:function(a){this.down&&(a.xy=this.last.xy,a.lastTouches=this.last.touches,this.handleSingle(a),
this.down=null);return!0},mousedown:function(a){this.down=this.getEventInfo(a);this.last=this.getEventInfo(a);return!0},mouseup:function(a){var b=!0;this.checkModifiers(a)&&this.control.handleRightClicks&&OpenLayers.Event.isRightClick(a)&&(b=this.rightclick(a));return b},rightclick:function(a){if(this.passesTolerance(a)){if(null!=this.rightclickTimerId)return this.clearTimer(),this.callback("dblrightclick",[a]),!this.stopDouble;a=this["double"]?OpenLayers.Util.extend({},a):this.callback("rightclick",
[a]);a=OpenLayers.Function.bind(this.delayedRightCall,this,a);this.rightclickTimerId=window.setTimeout(a,this.delay)}return!this.stopSingle},delayedRightCall:function(a){this.rightclickTimerId=null;a&&this.callback("rightclick",[a])},click:function(a){this.last||(this.last=this.getEventInfo(a));this.handleSingle(a);return!this.stopSingle},dblclick:function(a){this.handleDouble(a);return!this.stopDouble},handleDouble:function(a){this.passesDblclickTolerance(a)&&(this["double"]&&this.callback("dblclick",
[a]),this.clearTimer())},handleSingle:function(a){this.passesTolerance(a)&&(null!=this.timerId?(this.last.touches&&1===this.last.touches.length&&(this["double"]&&OpenLayers.Event.preventDefault(a),this.handleDouble(a)),this.last.touches&&2===this.last.touches.length||this.clearTimer()):(this.first=this.getEventInfo(a),a=this.single?OpenLayers.Util.extend({},a):null,this.queuePotentialClick(a)))},queuePotentialClick:function(a){this.timerId=window.setTimeout(OpenLayers.Function.bind(this.delayedCall,
this,a),this.delay)},passesTolerance:function(a){var b=!0;if(null!=this.pixelTolerance&&this.down&&this.down.xy&&(b=this.pixelTolerance>=this.down.xy.distanceTo(a.xy))&&this.touch&&this.down.touches.length===this.last.touches.length){a=0;for(var d=this.down.touches.length;a<d;++a)if(this.getTouchDistance(this.down.touches[a],this.last.touches[a])>this.pixelTolerance){b=!1;break}}return b},getTouchDistance:function(a,b){return Math.sqrt(Math.pow(a.clientX-b.clientX,2)+Math.pow(a.clientY-b.clientY,
2))},passesDblclickTolerance:function(a){a=!0;this.down&&this.first&&(a=this.down.xy.distanceTo(this.first.xy)<=this.dblclickTolerance);return a},clearTimer:function(){null!=this.timerId&&(window.clearTimeout(this.timerId),this.timerId=null);null!=this.rightclickTimerId&&(window.clearTimeout(this.rightclickTimerId),this.rightclickTimerId=null)},delayedCall:function(a){this.timerId=null;a&&this.callback("click",[a])},getEventInfo:function(a){var b;if(a.touches){var d=a.touches.length;b=Array(d);for(var e,
f=0;f<d;f++)e=a.touches[f],b[f]={clientX:e.olClientX,clientY:e.olClientY}}return{xy:a.xy,touches:b}},deactivate:function(){var a=!1;OpenLayers.Handler.prototype.deactivate.apply(this,arguments)&&(this.clearTimer(),this.last=this.first=this.down=null,a=!0);return a},CLASS_NAME:"OpenLayers.Handler.Click"});
OpenLayers.Control.Navigation=OpenLayers.Class(OpenLayers.Control,{dragPan:null,dragPanOptions:null,pinchZoom:null,pinchZoomOptions:null,documentDrag:!1,zoomBox:null,zoomBoxEnabled:!0,zoomWheelEnabled:!0,mouseWheelOptions:null,handleRightClicks:!1,zoomBoxKeyMask:OpenLayers.Handler.MOD_SHIFT,autoActivate:!0,initialize:function(a){this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.deactivate();this.dragPan&&this.dragPan.destroy();this.dragPan=null;
this.zoomBox&&this.zoomBox.destroy();this.zoomBox=null;this.pinchZoom&&this.pinchZoom.destroy();this.pinchZoom=null;OpenLayers.Control.prototype.destroy.apply(this,arguments)},activate:function(){this.dragPan.activate();this.zoomWheelEnabled&&this.handlers.wheel.activate();this.handlers.click.activate();this.zoomBoxEnabled&&this.zoomBox.activate();this.pinchZoom&&this.pinchZoom.activate();return OpenLayers.Control.prototype.activate.apply(this,arguments)},deactivate:function(){this.pinchZoom&&this.pinchZoom.deactivate();
this.zoomBox.deactivate();this.dragPan.deactivate();this.handlers.click.deactivate();this.handlers.wheel.deactivate();return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},draw:function(){this.handleRightClicks&&(this.map.viewPortDiv.oncontextmenu=OpenLayers.Function.False);this.handlers.click=new OpenLayers.Handler.Click(this,{click:this.defaultClick,dblclick:this.defaultDblClick,dblrightclick:this.defaultDblRightClick},{"double":!0,stopDouble:!0});this.dragPan=new OpenLayers.Control.DragPan(OpenLayers.Util.extend({map:this.map,
documentDrag:this.documentDrag},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},OpenLayers.Util.extend(this.map.fractionalZoom?{}:{cumulative:!1,interval:50,maxDelta:6},this.mouseWheelOptions));OpenLayers.Control.PinchZoom&&(this.pinchZoom=new OpenLayers.Control.PinchZoom(OpenLayers.Util.extend({map:this.map},
this.pinchZoomOptions)))},defaultClick:function(a){a.lastTouches&&2==a.lastTouches.length&&this.map.zoomOut()},defaultDblClick:function(a){this.map.zoomTo(this.map.zoom+1,a.xy)},defaultDblRightClick:function(a){this.map.zoomTo(this.map.zoom-1,a.xy)},wheelChange:function(a,b){this.map.fractionalZoom||(b=Math.round(b));var d=this.map.getZoom(),e;e=Math.max(d+b,0);e=Math.min(e,this.map.getNumZoomLevels());e!==d&&this.map.zoomTo(e,a.xy)},wheelUp:function(a,b){this.wheelChange(a,b||1)},wheelDown:function(a,
b){this.wheelChange(a,b||-1)},disableZoomBox:function(){this.zoomBoxEnabled=!1;this.zoomBox.deactivate()},enableZoomBox:function(){this.zoomBoxEnabled=!0;this.active&&this.zoomBox.activate()},disableZoomWheel:function(){this.zoomWheelEnabled=!1;this.handlers.wheel.deactivate()},enableZoomWheel:function(){this.zoomWheelEnabled=!0;this.active&&this.handlers.wheel.activate()},CLASS_NAME:"OpenLayers.Control.Navigation"});
OpenLayers.Layer.WMS=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"},isBaseLayer:!0,encodeBBOX:!1,noMagic:!1,yx:{},initialize:function(a,b,d,e){var f=[];d=OpenLayers.Util.upperCaseObject(d);1.3<=parseFloat(d.VERSION)&&!d.EXCEPTIONS&&(d.EXCEPTIONS="INIMAGE");f.push(a,b,d,e);OpenLayers.Layer.Grid.prototype.initialize.apply(this,f);OpenLayers.Util.applyDefaults(this.params,OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS));
!this.noMagic&&this.params.TRANSPARENT&&"true"==this.params.TRANSPARENT.toString().toLowerCase()&&(null!=e&&e.isBaseLayer||(this.isBaseLayer=!1),"image/jpeg"==this.params.FORMAT&&(this.params.FORMAT=OpenLayers.Util.alphaHack()?"image/gif":"image/png"))},clone:function(a){null==a&&(a=new OpenLayers.Layer.WMS(this.name,this.url,this.params,this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},reverseAxisOrder:function(){var a=this.projection.getCode();return 1.3<=parseFloat(this.params.VERSION)&&
!!(this.yx[a]||OpenLayers.Projection.defaults[a]&&OpenLayers.Projection.defaults[a].yx)},getURL:function(a){a=this.adjustBounds(a);var b=this.getImageSize(),d={},e=this.reverseAxisOrder();d.BBOX=this.encodeBBOX?a.toBBOX(null,e):a.toArray(e);d.WIDTH=b.w;d.HEIGHT=b.h;return this.getFullRequestString(d)},mergeNewParams:function(a){a=[OpenLayers.Util.upperCaseObject(a)];return OpenLayers.Layer.Grid.prototype.mergeNewParams.apply(this,a)},getFullRequestString:function(a,b){var d=this.map.getProjectionObject(),
d=this.projection&&this.projection.equals(d)?this.projection.getCode():d.getCode(),d="none"==d?null:d;1.3<=parseFloat(this.params.VERSION)?this.params.CRS=d:this.params.SRS=d;"boolean"==typeof this.params.TRANSPARENT&&(a.TRANSPARENT=this.params.TRANSPARENT?"TRUE":"FALSE");return OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(this,arguments)},CLASS_NAME:"OpenLayers.Layer.WMS"});
OpenLayers.StyleMap=OpenLayers.Class({styles:null,extendDefault:!0,initialize:function(a,b){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(a instanceof OpenLayers.Style)this.styles["default"]=a,this.styles.select=a,this.styles.temporary=a,this.styles["delete"]=
a;else if("object"==typeof a)for(var d in a)if(a[d]instanceof OpenLayers.Style)this.styles[d]=a[d];else if("object"==typeof a[d])this.styles[d]=new OpenLayers.Style(a[d]);else{this.styles["default"]=new OpenLayers.Style(a);this.styles.select=new OpenLayers.Style(a);this.styles.temporary=new OpenLayers.Style(a);this.styles["delete"]=new OpenLayers.Style(a);break}OpenLayers.Util.extend(this,b)},destroy:function(){for(var a in this.styles)this.styles[a].destroy();this.styles=null},createSymbolizer:function(a,
b){a||(a=new OpenLayers.Feature.Vector);this.styles[b]||(b="default");a.renderIntent=b;var d={};this.extendDefault&&"default"!=b&&(d=this.styles["default"].createSymbolizer(a));return OpenLayers.Util.extend(d,this.styles[b].createSymbolizer(a))},addUniqueValueRules:function(a,b,d,e){var f=[],g;for(g in d)f.push(new OpenLayers.Rule({symbolizer:d[g],context:e,filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.EQUAL_TO,property:b,value:g})}));this.styles[a].addRules(f)},CLASS_NAME:"OpenLayers.StyleMap"});
OpenLayers.Layer.Vector=OpenLayers.Class(OpenLayers.Layer,{isBaseLayer:!1,isFixed:!1,features:null,filter:null,selectedFeatures:null,unrenderedFeatures:null,reportError:!0,style:null,styleMap:null,strategies:null,protocol:null,renderers:["SVG","VML","Canvas"],renderer:null,rendererOptions:null,geometryType:null,drawn:!1,ratio:1,initialize:function(a,b){OpenLayers.Layer.prototype.initialize.apply(this,arguments);this.renderer&&this.renderer.supported()||this.assignRenderer();this.renderer&&this.renderer.supported()||
(this.renderer=null,this.displayError());this.styleMap||(this.styleMap=new OpenLayers.StyleMap);this.features=[];this.selectedFeatures=[];this.unrenderedFeatures={};if(this.strategies)for(var d=0,e=this.strategies.length;d<e;d++)this.strategies[d].setLayer(this)},destroy:function(){if(this.strategies){var a,b,d;b=0;for(d=this.strategies.length;b<d;b++)a=this.strategies[b],a.autoDestroy&&a.destroy();this.strategies=null}this.protocol&&(this.protocol.autoDestroy&&this.protocol.destroy(),this.protocol=
null);this.destroyFeatures();this.unrenderedFeatures=this.selectedFeatures=this.features=null;this.renderer&&this.renderer.destroy();this.drawn=this.geometryType=this.renderer=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments)},clone:function(a){null==a&&(a=new OpenLayers.Layer.Vector(this.name,this.getOptions()));a=OpenLayers.Layer.prototype.clone.apply(this,[a]);for(var b=this.features,d=b.length,e=Array(d),f=0;f<d;++f)e[f]=b[f].clone();a.features=e;return a},refresh:function(a){this.calculateInRange()&&
this.visibility&&this.events.triggerEvent("refresh",a)},assignRenderer:function(){for(var a=0,b=this.renderers.length;a<b;a++){var d=this.renderers[a];if((d="function"==typeof d?d:OpenLayers.Renderer[d])&&d.prototype.supported()){this.renderer=new d(this.div,this.rendererOptions);break}}},displayError:function(){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.renderer.map=this.map;var b=this.map.getSize();b.w*=this.ratio;b.h*=this.ratio;this.renderer.setSize(b)}else this.map.removeLayer(this)},afterAdd:function(){if(this.strategies){var a,b,d;b=0;for(d=this.strategies.length;b<d;b++)a=this.strategies[b],a.autoActivate&&a.activate()}},removeMap:function(a){this.drawn=!1;if(this.strategies){var b,d;b=0;for(d=this.strategies.length;b<d;b++)a=this.strategies[b],a.autoActivate&&a.deactivate()}},onMapResize:function(){OpenLayers.Layer.prototype.onMapResize.apply(this,
arguments);var a=this.map.getSize();a.w*=this.ratio;a.h*=this.ratio;this.renderer.setSize(a)},moveTo:function(a,b,d){OpenLayers.Layer.prototype.moveTo.apply(this,arguments);var e=!0;if(!d){this.renderer.root.style.visibility="hidden";var e=this.map.getSize(),f=e.w,e=e.h,f=f/2*this.ratio-f/2,e=e/2*this.ratio-e/2,f=f+this.map.layerContainerOriginPx.x,f=-Math.round(f),e=e+this.map.layerContainerOriginPx.y,e=-Math.round(e);this.div.style.left=f+"px";this.div.style.top=e+"px";f=this.map.getExtent().scale(this.ratio);
e=this.renderer.setExtent(f,b);this.renderer.root.style.visibility="visible";!0===OpenLayers.IS_GECKO&&(this.div.scrollLeft=this.div.scrollLeft);if(!b&&e)for(var g in this.unrenderedFeatures)f=this.unrenderedFeatures[g],this.drawFeature(f)}if(!this.drawn||b||!e)for(this.drawn=!0,g=0,e=this.features.length;g<e;g++)this.renderer.locked=g!==e-1,f=this.features[g],this.drawFeature(f)},display:function(a){OpenLayers.Layer.prototype.display.apply(this,arguments);var b=this.div.style.display;b!=this.renderer.root.style.display&&
(this.renderer.root.style.display=b)},addFeatures:function(a,b){OpenLayers.Util.isArray(a)||(a=[a]);var d=!b||!b.silent;if(d){var e={features:a};if(!1===this.events.triggerEvent("beforefeaturesadded",e))return;a=e.features}for(var e=[],f=0,g=a.length;f<g;f++){this.renderer.locked=f!=a.length-1?!0:!1;var h=a[f];if(this.geometryType&&!(h.geometry instanceof this.geometryType))throw new TypeError("addFeatures: component should be an "+this.geometryType.prototype.CLASS_NAME);h.layer=this;!h.style&&this.style&&
(h.style=OpenLayers.Util.extend({},this.style));if(d){if(!1===this.events.triggerEvent("beforefeatureadded",{feature:h}))continue;this.preFeatureInsert(h)}e.push(h);this.features.push(h);this.drawFeature(h);d&&(this.events.triggerEvent("featureadded",{feature:h}),this.onFeatureInsert(h))}d&&this.events.triggerEvent("featuresadded",{features:e})},removeFeatures:function(a,b){if(a&&0!==a.length){if(a===this.features)return this.removeAllFeatures(b);OpenLayers.Util.isArray(a)||(a=[a]);a===this.selectedFeatures&&
(a=a.slice());var d=!b||!b.silent;d&&this.events.triggerEvent("beforefeaturesremoved",{features:a});for(var e=a.length-1;0<=e;e--){this.renderer.locked=0!=e&&a[e-1].geometry?!0:!1;var f=a[e];delete this.unrenderedFeatures[f.id];d&&this.events.triggerEvent("beforefeatureremoved",{feature:f});this.features=OpenLayers.Util.removeItem(this.features,f);f.layer=null;f.geometry&&this.renderer.eraseFeatures(f);-1!=OpenLayers.Util.indexOf(this.selectedFeatures,f)&&OpenLayers.Util.removeItem(this.selectedFeatures,
f);d&&this.events.triggerEvent("featureremoved",{feature:f})}d&&this.events.triggerEvent("featuresremoved",{features:a})}},removeAllFeatures:function(a){a=!a||!a.silent;var b=this.features;a&&this.events.triggerEvent("beforefeaturesremoved",{features:b});for(var d,e=b.length-1;0<=e;e--)d=b[e],a&&this.events.triggerEvent("beforefeatureremoved",{feature:d}),d.layer=null,a&&this.events.triggerEvent("featureremoved",{feature:d});this.renderer.clear();this.features=[];this.unrenderedFeatures={};this.selectedFeatures=
[];a&&this.events.triggerEvent("featuresremoved",{features:b})},destroyFeatures:function(a,b){void 0==a&&(a=this.features);if(a){this.removeFeatures(a,b);for(var d=a.length-1;0<=d;d--)a[d].destroy()}},drawFeature:function(a,b){if(this.drawn){if("object"!=typeof b){b||a.state!==OpenLayers.State.DELETE||(b="delete");var d=b||a.renderIntent;(b=a.style||this.style)||(b=this.styleMap.createSymbolizer(a,d))}d=this.renderer.drawFeature(a,b);!1===d||null===d?this.unrenderedFeatures[a.id]=a:delete this.unrenderedFeatures[a.id]}},
eraseFeatures:function(a){this.renderer.eraseFeatures(a)},getFeatureFromEvent:function(a){if(!this.renderer)throw Error("getFeatureFromEvent called on layer with no renderer. This usually means you destroyed a layer, but not some handler which is associated with it.");var b=null;(a=this.renderer.getFeatureIdFromEvent(a))&&(b="string"===typeof a?this.getFeatureById(a):a);return b},getFeatureBy:function(a,b){for(var d=null,e=0,f=this.features.length;e<f;++e)if(this.features[e][a]==b){d=this.features[e];
break}return d},getFeatureById:function(a){return this.getFeatureBy("id",a)},getFeatureByFid:function(a){return this.getFeatureBy("fid",a)},getFeaturesByAttribute:function(a,b){var d,e,f=this.features.length,g=[];for(d=0;d<f;d++)(e=this.features[d])&&e.attributes&&e.attributes[a]===b&&g.push(e);return g},onFeatureInsert:function(a){},preFeatureInsert:function(a){},getDataExtent:function(){var a=null,b=this.features;if(b&&0<b.length)for(var d=null,e=0,f=b.length;e<f;e++)if(d=b[e].geometry)null===a&&
(a=new OpenLayers.Bounds),a.extend(d.getBounds());return a},CLASS_NAME:"OpenLayers.Layer.Vector"});
OpenLayers.Renderer.SVG=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"http://www.w3.org/2000/svg",xlinkns:"http://www.w3.org/1999/xlink",MAX_PIXEL:15E3,translationParameters:null,symbolMetrics:null,initialize:function(a){this.supported()&&(OpenLayers.Renderer.Elements.prototype.initialize.apply(this,arguments),this.translationParameters={x:0,y:0},this.symbolMetrics={})},supported:function(){return document.implementation&&(document.implementation.hasFeature("org.w3c.svg","1.0")||document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#SVG",
"1.1")||document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"))},inValidRange:function(a,b,d){a+=d?0:this.translationParameters.x;b+=d?0:this.translationParameters.y;return a>=-this.MAX_PIXEL&&a<=this.MAX_PIXEL&&b>=-this.MAX_PIXEL&&b<=this.MAX_PIXEL},setExtent:function(a,b){var d=OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments),e=this.getResolution(),f=-a.left/e,e=a.top/e;if(b)return this.left=f,this.top=e,this.rendererRoot.setAttributeNS(null,
"viewBox","0 0 "+this.size.w+" "+this.size.h),this.translate(this.xOffset,0),!0;(f=this.translate(f-this.left+this.xOffset,e-this.top))||this.setExtent(a,!0);return d&&f},translate:function(a,b){if(this.inValidRange(a,b,!0)){var d="";if(a||b)d="translate("+a+","+b+")";this.root.setAttributeNS(null,"transform",d);this.translationParameters={x:a,y:b};return!0}return!1},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(a,b){var d=null;switch(a.CLASS_NAME){case "OpenLayers.Geometry.Point":d=b.externalGraphic?"image":this.isComplexSymbol(b.graphicName)?"svg":"circle";break;case "OpenLayers.Geometry.Rectangle":d="rect";break;case "OpenLayers.Geometry.LineString":d="polyline";break;case "OpenLayers.Geometry.LinearRing":d="polygon";break;case "OpenLayers.Geometry.Polygon":case "OpenLayers.Geometry.Curve":d="path"}return d},setStyle:function(a,
b,d){b=b||a._style;d=d||a._options;var e=b.title||b.graphicTitle;if(e){a.setAttributeNS(null,"title",e);var f=a.getElementsByTagName("title");0<f.length?f[0].firstChild.textContent=e:(f=this.nodeFactory(null,"title"),f.textContent=e,a.appendChild(f))}var f=parseFloat(a.getAttributeNS(null,"r")),e=1,g;if("OpenLayers.Geometry.Point"==a._geometryClass&&f){a.style.visibility="";if(!1===b.graphic)a.style.visibility="hidden";else if(b.externalGraphic){g=this.getPosition(a);b.graphicWidth&&b.graphicHeight&&
a.setAttributeNS(null,"preserveAspectRatio","none");var f=b.graphicWidth||b.graphicHeight,h=b.graphicHeight||b.graphicWidth,f=f?f:2*b.pointRadius,h=h?h:2*b.pointRadius,l=void 0!=b.graphicYOffset?b.graphicYOffset:-(0.5*h),m=b.graphicOpacity||b.fillOpacity;a.setAttributeNS(null,"x",(g.x+(void 0!=b.graphicXOffset?b.graphicXOffset:-(0.5*f))).toFixed());a.setAttributeNS(null,"y",(g.y+l).toFixed());a.setAttributeNS(null,"width",f);a.setAttributeNS(null,"height",h);a.setAttributeNS(this.xlinkns,"xlink:href",
b.externalGraphic);a.setAttributeNS(null,"style","opacity: "+m);a.onclick=OpenLayers.Event.preventDefault}else if(this.isComplexSymbol(b.graphicName)){var f=3*b.pointRadius,h=2*f,q=this.importSymbol(b.graphicName);g=this.getPosition(a);e=3*this.symbolMetrics[q.id][0]/h;l=a.parentNode;m=a.nextSibling;l&&l.removeChild(a);a.firstChild&&a.removeChild(a.firstChild);a.appendChild(q.firstChild.cloneNode(!0));a.setAttributeNS(null,"viewBox",q.getAttributeNS(null,"viewBox"));a.setAttributeNS(null,"width",
h);a.setAttributeNS(null,"height",h);a.setAttributeNS(null,"x",g.x-f);a.setAttributeNS(null,"y",g.y-f);m?l.insertBefore(a,m):l&&l.appendChild(a)}else a.setAttributeNS(null,"r",b.pointRadius);f=b.rotation;void 0===f&&void 0===a._rotation||!g||(a._rotation=f,f|=0,"svg"!==a.nodeName?a.setAttributeNS(null,"transform","rotate("+f+" "+g.x+" "+g.y+")"):(g=this.symbolMetrics[q.id],a.firstChild.setAttributeNS(null,"transform","rotate("+f+" "+g[1]+" "+g[2]+")")))}d.isFilled?(a.setAttributeNS(null,"fill",b.fillColor),
a.setAttributeNS(null,"fill-opacity",b.fillOpacity)):a.setAttributeNS(null,"fill","none");d.isStroked?(a.setAttributeNS(null,"stroke",b.strokeColor),a.setAttributeNS(null,"stroke-opacity",b.strokeOpacity),a.setAttributeNS(null,"stroke-width",b.strokeWidth*e),a.setAttributeNS(null,"stroke-linecap",b.strokeLinecap||"round"),a.setAttributeNS(null,"stroke-linejoin","round"),b.strokeDashstyle&&a.setAttributeNS(null,"stroke-dasharray",this.dashStyle(b,e))):a.setAttributeNS(null,"stroke","none");b.pointerEvents&&
a.setAttributeNS(null,"pointer-events",b.pointerEvents);null!=b.cursor&&a.setAttributeNS(null,"cursor",b.cursor);return a},dashStyle:function(a,b){var d=a.strokeWidth*b,e=a.strokeDashstyle;switch(e){case "solid":return"none";case "dot":return[1,4*d].join();case "dash":return[4*d,4*d].join();case "dashdot":return[4*d,4*d,1,4*d].join();case "longdash":return[8*d,4*d].join();case "longdashdot":return[8*d,4*d,1,4*d].join();default:return OpenLayers.String.trim(e).replace(/\s+/g,",")}},createNode:function(a,
b){var d=document.createElementNS(this.xmlns,a);b&&d.setAttributeNS(null,"id",b);return d},nodeTypeCompare:function(a,b){return b==a.nodeName},createRenderRoot:function(){var a=this.nodeFactory(this.container.id+"_svgRoot","svg");a.style.display="block";return a},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(a,b,d){var e=this.getResolution(),f=(b.x-this.featureDx)/e+this.left;b=this.top-b.y/e;return this.inValidRange(f,b)?(a.setAttributeNS(null,"cx",f),a.setAttributeNS(null,"cy",b),a.setAttributeNS(null,"r",d),a):!1},drawLineString:function(a,b){var d=this.getComponentsString(b.components);return d.path?(a.setAttributeNS(null,"points",d.path),d.complete?a:null):!1},drawLinearRing:function(a,b){var d=this.getComponentsString(b.components);return d.path?(a.setAttributeNS(null,
"points",d.path),d.complete?a:null):!1},drawPolygon:function(a,b){for(var d="",e=!0,f=!0,g,h,l=0,m=b.components.length;l<m;l++)d+=" M",g=this.getComponentsString(b.components[l].components," "),(h=g.path)?(d+=" "+h,f=g.complete&&f):e=!1;return e?(a.setAttributeNS(null,"d",d+" z"),a.setAttributeNS(null,"fill-rule","evenodd"),f?a:null):!1},drawRectangle:function(a,b){var d=this.getResolution(),e=(b.x-this.featureDx)/d+this.left,f=this.top-b.y/d;return this.inValidRange(e,f)?(a.setAttributeNS(null,"x",
e),a.setAttributeNS(null,"y",f),a.setAttributeNS(null,"width",b.width/d),a.setAttributeNS(null,"height",b.height/d),a):!1},drawText:function(a,b,d){var e=!!b.labelOutlineWidth;if(e){var f=OpenLayers.Util.extend({},b);f.fontColor=f.labelOutlineColor;f.fontStrokeColor=f.labelOutlineColor;f.fontStrokeWidth=b.labelOutlineWidth;b.labelOutlineOpacity&&(f.fontOpacity=b.labelOutlineOpacity);delete f.labelOutlineWidth;this.drawText(a,f,d)}var g=this.getResolution(),f=(d.x-this.featureDx)/g+this.left,h=d.y/
g-this.top,e=e?this.LABEL_OUTLINE_SUFFIX:this.LABEL_ID_SUFFIX,g=this.nodeFactory(a+e,"text");g.setAttributeNS(null,"x",f);g.setAttributeNS(null,"y",-h);b.fontColor&&g.setAttributeNS(null,"fill",b.fontColor);b.fontStrokeColor&&g.setAttributeNS(null,"stroke",b.fontStrokeColor);b.fontStrokeWidth&&g.setAttributeNS(null,"stroke-width",b.fontStrokeWidth);b.fontOpacity&&g.setAttributeNS(null,"opacity",b.fontOpacity);b.fontFamily&&g.setAttributeNS(null,"font-family",b.fontFamily);b.fontSize&&g.setAttributeNS(null,
"font-size",b.fontSize);b.fontWeight&&g.setAttributeNS(null,"font-weight",b.fontWeight);b.fontStyle&&g.setAttributeNS(null,"font-style",b.fontStyle);!0===b.labelSelect?(g.setAttributeNS(null,"pointer-events","visible"),g._featureId=a):g.setAttributeNS(null,"pointer-events","none");h=b.labelAlign||OpenLayers.Renderer.defaultSymbolizer.labelAlign;g.setAttributeNS(null,"text-anchor",OpenLayers.Renderer.SVG.LABEL_ALIGN[h[0]]||"middle");!0===OpenLayers.IS_GECKO&&g.setAttributeNS(null,"dominant-baseline",
OpenLayers.Renderer.SVG.LABEL_ALIGN[h[1]]||"central");for(var l=b.label.split("\n"),m=l.length;g.childNodes.length>m;)g.removeChild(g.lastChild);for(var q=0;q<m;q++){var r=this.nodeFactory(a+e+"_tspan_"+q,"tspan");!0===b.labelSelect&&(r._featureId=a,r._geometry=d,r._geometryClass=d.CLASS_NAME);!1===OpenLayers.IS_GECKO&&r.setAttributeNS(null,"baseline-shift",OpenLayers.Renderer.SVG.LABEL_VSHIFT[h[1]]||"-35%");r.setAttribute("x",f);if(0==q){var u=OpenLayers.Renderer.SVG.LABEL_VFACTOR[h[1]];null==u&&
(u=-0.5);r.setAttribute("dy",u*(m-1)+"em")}else r.setAttribute("dy","1em");r.textContent=""===l[q]?" ":l[q];r.parentNode||g.appendChild(r)}g.parentNode||this.textRoot.appendChild(g)},getComponentsString:function(a,b){for(var d=[],e=!0,f=a.length,g=[],h,l=0;l<f;l++)h=a[l],d.push(h),(h=this.getShortString(h))?g.push(h):(0<l&&this.getShortString(a[l-1])&&g.push(this.clipLine(a[l],a[l-1])),l<f-1&&this.getShortString(a[l+1])&&g.push(this.clipLine(a[l],a[l+1])),e=!1);return{path:g.join(b||","),complete:e}},
clipLine:function(a,b){if(b.equals(a))return"";var d=this.getResolution(),e=this.MAX_PIXEL-this.translationParameters.x,f=this.MAX_PIXEL-this.translationParameters.y,g=(b.x-this.featureDx)/d+this.left,h=this.top-b.y/d,l=(a.x-this.featureDx)/d+this.left,d=this.top-a.y/d,m;if(l<-e||l>e)m=(d-h)/(l-g),l=0>l?-e:e,d=h+(l-g)*m;if(d<-f||d>f)m=(l-g)/(d-h),d=0>d?-f:f,l=g+(d-h)*m;return l+","+d},getShortString:function(a){var b=this.getResolution(),d=(a.x-this.featureDx)/b+this.left;a=this.top-a.y/b;return this.inValidRange(d,
a)?d+","+a:!1},getPosition:function(a){return{x:parseFloat(a.getAttributeNS(null,"cx")),y:parseFloat(a.getAttributeNS(null,"cy"))}},importSymbol:function(a){this.defs||(this.defs=this.createDefs());var b=this.container.id+"-"+a,d=document.getElementById(b);if(null!=d)return d;var e=OpenLayers.Renderer.symbol[a];if(!e)throw Error(a+" is not a valid symbol name");a=this.nodeFactory(b,"symbol");var f=this.nodeFactory(null,"polygon");a.appendChild(f);for(var d=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,
0,0),g=[],h,l,m=0;m<e.length;m+=2)h=e[m],l=e[m+1],d.left=Math.min(d.left,h),d.bottom=Math.min(d.bottom,l),d.right=Math.max(d.right,h),d.top=Math.max(d.top,l),g.push(h,",",l);f.setAttributeNS(null,"points",g.join(" "));e=d.getWidth();f=d.getHeight();a.setAttributeNS(null,"viewBox",[d.left-e,d.bottom-f,3*e,3*f].join(" "));this.symbolMetrics[b]=[Math.max(e,f),d.getCenterLonLat().lon,d.getCenterLonLat().lat];this.defs.appendChild(a);return a},getFeatureIdFromEvent:function(a){var b=OpenLayers.Renderer.Elements.prototype.getFeatureIdFromEvent.apply(this,
arguments);b||(b=a.target,b=b.parentNode&&b!=this.rendererRoot?b.parentNode._featureId:void 0);return b},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.SVG.LABEL_VFACTOR={t:0,b:-1};OpenLayers.Renderer.SVG.preventDefault=function(a){OpenLayers.Event.preventDefault(a)};
OpenLayers.Control.ScaleLine=OpenLayers.Class(OpenLayers.Control,{maxWidth:100,topOutUnits:"km",topInUnits:"m",bottomOutUnits:"mi",bottomInUnits:"ft",eTop:null,eBottom:null,geodesic:!1,draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.eTop||(this.eTop=document.createElement("div"),this.eTop.className=this.displayClass+"Top",this.div.appendChild(this.eTop),this.eTop.style.visibility=""==this.topOutUnits||""==this.topInUnits?"hidden":"visible",this.eBottom=document.createElement("div"),
this.eBottom.className=this.displayClass+"Bottom",this.div.appendChild(this.eBottom),this.eBottom.style.visibility=""==this.bottomOutUnits||""==this.bottomInUnits?"hidden":"visible");this.map.events.register("moveend",this,this.update);this.update();return this.div},getBarLen:function(a){var b=parseInt(Math.log(a)/Math.log(10)),b=Math.pow(10,b);a=parseInt(a/b);return(5<a?5:2<a?2:1)*b},update:function(){var a=this.map.getResolution();if(a){var b=this.map.getUnits(),d=OpenLayers.INCHES_PER_UNIT,e=this.maxWidth*
a*d[b],f=1;!0===this.geodesic&&(f=(this.map.getGeodesicPixelSize().w||1E-6)*this.maxWidth/(e/d.km),e*=f);var g,h;1E5<e?(g=this.topOutUnits,h=this.bottomOutUnits):(g=this.topInUnits,h=this.bottomInUnits);var l=e/d[g],m=e/d[h],e=this.getBarLen(l),q=this.getBarLen(m),l=e/d[b]*d[g],m=q/d[b]*d[h],b=l/a/f,a=m/a/f;"visible"==this.eBottom.style.visibility&&(this.eBottom.style.width=Math.round(a)+"px",this.eBottom.innerHTML=q+" "+h);"visible"==this.eTop.style.visibility&&(this.eTop.style.width=Math.round(b)+
"px",this.eTop.innerHTML=e+" "+g)}},CLASS_NAME:"OpenLayers.Control.ScaleLine"});
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(){this.map&&this.map.events.unregister("buttonclick",this,this.onButtonClick);this.removeButtons();this.position=this.buttons=null;OpenLayers.Control.prototype.destroy.apply(this,arguments)},
setMap:function(a){OpenLayers.Control.prototype.setMap.apply(this,arguments);this.map.events.register("buttonclick",this,this.onButtonClick)},draw:function(a){OpenLayers.Control.prototype.draw.apply(this,arguments);a=this.position;this.buttons=[];var b={w:18,h:18},d=new OpenLayers.Pixel(a.x+b.w/2,a.y);this._addButton("panup","north-mini.png",d,b);a.y=d.y+b.h;this._addButton("panleft","west-mini.png",a,b);this._addButton("panright","east-mini.png",a.add(b.w,0),b);this._addButton("pandown","south-mini.png",
d.add(0,2*b.h),b);this._addButton("zoomin","zoom-plus-mini.png",d.add(0,3*b.h+5),b);this._addButton("zoomworld","zoom-world-mini.png",d.add(0,4*b.h+5),b);this._addButton("zoomout","zoom-minus-mini.png",d.add(0,5*b.h+5),b);return this.div},_addButton:function(a,b,d,e){b=OpenLayers.Util.getImageLocation(b);d=OpenLayers.Util.createAlphaImageDiv(this.id+"_"+a,d,e,b,"absolute");d.style.cursor="pointer";this.div.appendChild(d);d.action=a;d.className="olButton";this.buttons.push(d);return d},_removeButton:function(a){this.div.removeChild(a);
OpenLayers.Util.removeItem(this.buttons,a)},removeButtons:function(){for(var a=this.buttons.length-1;0<=a;--a)this._removeButton(this.buttons[a])},onButtonClick:function(a){switch(a.buttonElement.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()}},getSlideFactor:function(a){return this.slideRatio?this.map.getSize()[a]*this.slideRatio:this.slideFactor},CLASS_NAME:"OpenLayers.Control.PanZoom"});OpenLayers.Control.PanZoom.X=4;OpenLayers.Control.PanZoom.Y=4;
OpenLayers.Icon=OpenLayers.Class({url:null,size:null,offset:null,calculateOffset:null,imageDiv:null,px:null,initialize:function(a,b,d,e){this.url=a;this.size=b||{w:20,h:20};this.offset=d||{x:-(this.size.w/2),y:-(this.size.h/2)};this.calculateOffset=e;a=OpenLayers.Util.createUniqueID("OL_Icon_");this.imageDiv=OpenLayers.Util.createAlphaImageDiv(a)},destroy:function(){this.erase();OpenLayers.Event.stopObservingElement(this.imageDiv.firstChild);this.imageDiv.innerHTML="";this.imageDiv=null},clone:function(){return new OpenLayers.Icon(this.url,
this.size,this.offset,this.calculateOffset)},setSize:function(a){null!=a&&(this.size=a);this.draw()},setUrl:function(a){null!=a&&(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(){null!=this.imageDiv&&null!=this.imageDiv.parentNode&&OpenLayers.Element.remove(this.imageDiv)},setOpacity:function(a){OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,null,null,null,
null,null,null,a)},moveTo:function(a){null!=a&&(this.px=a);null!=this.imageDiv&&(null==this.px?this.display(!1):(this.calculateOffset&&(this.offset=this.calculateOffset(this.size)),OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,{x:this.px.x+this.offset.x,y:this.px.y+this.offset.y})))},display:function(a){this.imageDiv.style.display=a?"":"none"},isDrawn:function(){return this.imageDiv&&this.imageDiv.parentNode&&11!=this.imageDiv.parentNode.nodeType},CLASS_NAME:"OpenLayers.Icon"});
OpenLayers.Marker=OpenLayers.Class({icon:null,lonlat:null,events:null,map:null,initialize:function(a,b){this.lonlat=a;var d=b?b:OpenLayers.Marker.defaultIcon();null==this.icon?this.icon=d:(this.icon.url=d.url,this.icon.size=d.size,this.icon.offset=d.offset,this.icon.calculateOffset=d.calculateOffset);this.events=new OpenLayers.Events(this,this.icon.imageDiv)},destroy:function(){this.erase();this.map=null;this.events.destroy();this.events=null;null!=this.icon&&(this.icon.destroy(),this.icon=null)},
draw:function(a){return this.icon.draw(a)},erase:function(){null!=this.icon&&this.icon.erase()},moveTo:function(a){null!=a&&null!=this.icon&&this.icon.moveTo(a);this.lonlat=this.map.getLonLatFromLayerPx(a)},isDrawn:function(){return this.icon&&this.icon.isDrawn()},onScreen:function(){var a=!1;this.map&&(a=this.map.getExtent().containsLonLat(this.lonlat));return a},inflate:function(a){this.icon&&this.icon.setSize({w:this.icon.size.w*a,h:this.icon.size.h*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(){return new OpenLayers.Icon(OpenLayers.Util.getImageLocation("marker.png"),{w:21,h:25},{x:-10.5,y:-25})};
OpenLayers.Strategy.Paging=OpenLayers.Class(OpenLayers.Strategy,{features:null,length:10,num:null,paging:!1,activate:function(){var a=OpenLayers.Strategy.prototype.activate.call(this);if(a)this.layer.events.on({beforefeaturesadded:this.cacheFeatures,scope:this});return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&(this.clearCache(),this.layer.events.un({beforefeaturesadded:this.cacheFeatures,scope:this}));return a},cacheFeatures:function(a){this.paging||(this.clearCache(),
this.features=a.features,this.pageNext(a))},clearCache:function(){if(this.features)for(var a=0;a<this.features.length;++a)this.features[a].destroy();this.num=this.features=null},pageCount:function(){return Math.ceil((this.features?this.features.length:0)/this.length)},pageNum:function(){return this.num},pageLength:function(a){a&&0<a&&(this.length=a);return this.length},pageNext:function(a){var b=!1;this.features&&(null===this.num&&(this.num=-1),b=this.page((this.num+1)*this.length,a));return b},pagePrevious:function(){var a=
!1;this.features&&(null===this.num&&(this.num=this.pageCount()),a=this.page((this.num-1)*this.length));return a},page:function(a,b){var d=!1;if(this.features&&0<=a&&a<this.features.length){var e=Math.floor(a/this.length);e!=this.num&&(this.paging=!0,d=this.features.slice(a,a+this.length),this.layer.removeFeatures(this.layer.features),this.num=e,b&&b.features?b.features=d:this.layer.addFeatures(d),this.paging=!1,d=!0)}return d},CLASS_NAME:"OpenLayers.Strategy.Paging"});
OpenLayers.Format.WKT=OpenLayers.Class(OpenLayers.Format,{initialize:function(a){this.regExes={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,spaces:/\s+/,parenComma:/\)\s*,\s*\(/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/};OpenLayers.Format.prototype.initialize.apply(this,[a])},read:function(a){var b,d;a=a.replace(/[\n\r]/g," ");if(d=this.regExes.typeStr.exec(a))if(a=d[1].toLowerCase(),d=d[2],this.parse[a]&&(b=this.parse[a].apply(this,[d])),this.internalProjection&&this.externalProjection)if(b&&
"OpenLayers.Feature.Vector"==b.CLASS_NAME)b.geometry.transform(this.externalProjection,this.internalProjection);else if(b&&"geometrycollection"!=a&&"object"==typeof b)for(a=0,d=b.length;a<d;a++)b[a].geometry.transform(this.externalProjection,this.internalProjection);return b},write:function(a){var b,d;a.constructor==Array?d=!0:(a=[a],d=!1);var e=[];d&&e.push("GEOMETRYCOLLECTION(");for(var f=0,g=a.length;f<g;++f)d&&0<f&&e.push(","),b=a[f].geometry,e.push(this.extractGeometry(b));d&&e.push(")");return e.join("")},
extractGeometry:function(a){var b=a.CLASS_NAME.split(".")[2].toLowerCase();if(!this.extract[b])return null;this.internalProjection&&this.externalProjection&&(a=a.clone(),a.transform(this.internalProjection,this.externalProjection));return("collection"==b?"GEOMETRYCOLLECTION":b.toUpperCase())+"("+this.extract[b].apply(this,[a])+")"},extract:{point:function(a){return a.x+" "+a.y},multipoint:function(a){for(var b=[],d=0,e=a.components.length;d<e;++d)b.push("("+this.extract.point.apply(this,[a.components[d]])+
")");return b.join(",")},linestring:function(a){for(var b=[],d=0,e=a.components.length;d<e;++d)b.push(this.extract.point.apply(this,[a.components[d]]));return b.join(",")},multilinestring:function(a){for(var b=[],d=0,e=a.components.length;d<e;++d)b.push("("+this.extract.linestring.apply(this,[a.components[d]])+")");return b.join(",")},polygon:function(a){for(var b=[],d=0,e=a.components.length;d<e;++d)b.push("("+this.extract.linestring.apply(this,[a.components[d]])+")");return b.join(",")},multipolygon:function(a){for(var b=
[],d=0,e=a.components.length;d<e;++d)b.push("("+this.extract.polygon.apply(this,[a.components[d]])+")");return b.join(",")},collection:function(a){for(var b=[],d=0,e=a.components.length;d<e;++d)b.push(this.extractGeometry.apply(this,[a.components[d]]));return b.join(",")}},parse:{point:function(a){a=OpenLayers.String.trim(a).split(this.regExes.spaces);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(a[0],a[1]))},multipoint:function(a){for(var b=OpenLayers.String.trim(a).split(","),
d=[],e=0,f=b.length;e<f;++e)a=b[e].replace(this.regExes.trimParens,"$1"),d.push(this.parse.point.apply(this,[a]).geometry);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPoint(d))},linestring:function(a){a=OpenLayers.String.trim(a).split(",");for(var b=[],d=0,e=a.length;d<e;++d)b.push(this.parse.point.apply(this,[a[d]]).geometry);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString(b))},multilinestring:function(a){for(var b=OpenLayers.String.trim(a).split(this.regExes.parenComma),
d=[],e=0,f=b.length;e<f;++e)a=b[e].replace(this.regExes.trimParens,"$1"),d.push(this.parse.linestring.apply(this,[a]).geometry);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiLineString(d))},polygon:function(a){var b;a=OpenLayers.String.trim(a).split(this.regExes.parenComma);for(var d=[],e=0,f=a.length;e<f;++e)b=a[e].replace(this.regExes.trimParens,"$1"),b=this.parse.linestring.apply(this,[b]).geometry,b=new OpenLayers.Geometry.LinearRing(b.components),d.push(b);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon(d))},
multipolygon:function(a){for(var b=OpenLayers.String.trim(a).split(this.regExes.doubleParenComma),d=[],e=0,f=b.length;e<f;++e)a=b[e].replace(this.regExes.trimParens,"$1"),d.push(this.parse.polygon.apply(this,[a]).geometry);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPolygon(d))},geometrycollection:function(a){a=a.replace(/,\s*([A-Za-z])/g,"|$1");a=OpenLayers.String.trim(a).split("|");for(var b=[],d=0,e=a.length;d<e;++d)b.push(OpenLayers.Format.WKT.prototype.read.apply(this,[a[d]]));
return b}},CLASS_NAME:"OpenLayers.Format.WKT"});
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:!1,minSize:null,maxSize:null,displayClass:"olPopup",contentDisplayClass:"olPopupContent",padding:0,disableFirefoxOverflowHack:!1,fixPadding:function(){"number"==typeof this.padding&&(this.padding=new OpenLayers.Bounds(this.padding,this.padding,this.padding,this.padding))},panMapIfOutOfView:!1,
keepInMap:!1,closeOnMove:!1,map:null,initialize:function(a,b,d,e,f,g){null==a&&(a=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_"));this.id=a;this.lonlat=b;this.contentSize=null!=d?d:new OpenLayers.Size(OpenLayers.Popup.WIDTH,OpenLayers.Popup.HEIGHT);null!=e&&(this.contentHTML=e);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;
this.groupDiv=OpenLayers.Util.createDiv(this.id+"_GroupDiv",null,null,null,"relative",null,"hidden");a=this.div.id+"_contentDiv";this.contentDiv=OpenLayers.Util.createDiv(a,null,this.contentSize.clone(),null,"relative");this.contentDiv.className=this.contentDisplayClass;this.groupDiv.appendChild(this.contentDiv);this.div.appendChild(this.groupDiv);f&&this.addCloseBox(g);this.registerEvents()},destroy:function(){this.border=this.opacity=this.backgroundColor=this.contentHTML=this.size=this.lonlat=this.id=
null;this.closeOnMove&&this.map&&this.map.events.unregister("movestart",this,this.hide);this.events.destroy();this.events=null;this.closeDiv&&(OpenLayers.Event.stopObservingElement(this.closeDiv),this.groupDiv.removeChild(this.closeDiv));this.closeDiv=null;this.div.removeChild(this.groupDiv);this.groupDiv=null;null!=this.map&&this.map.removePopup(this);this.panMapIfOutOfView=this.padding=this.maxSize=this.minSize=this.autoSize=this.div=this.map=null},draw:function(a){null==a&&null!=this.lonlat&&null!=
this.map&&(a=this.map.getLayerPxFromLonLat(this.lonlat));this.closeOnMove&&this.map.events.register("movestart",this,this.hide);this.disableFirefoxOverflowHack||"firefox"!=OpenLayers.BROWSER_NAME||(this.map.events.register("movestart",this,function(){var a=document.defaultView.getComputedStyle(this.contentDiv,null).getPropertyValue("overflow");"hidden"!=a&&(this.contentDiv._oldOverflow=a,this.contentDiv.style.overflow="hidden")}),this.map.events.register("moveend",this,function(){var a=this.contentDiv._oldOverflow;
a&&(this.contentDiv.style.overflow=a,this.contentDiv._oldOverflow=null)}));this.moveTo(a);this.autoSize||this.size||this.setSize(this.contentSize);this.setBackgroundColor();this.setOpacity();this.setBorder();this.setContentHTML();this.panMapIfOutOfView&&this.panIntoView();return this.div},updatePosition:function(){if(this.lonlat&&this.map){var a=this.map.getLayerPxFromLonLat(this.lonlat);a&&this.moveTo(a)}},moveTo:function(a){null!=a&&null!=this.div&&(this.div.style.left=a.x+"px",this.div.style.top=
a.y+"px")},visible:function(){return OpenLayers.Element.visible(this.div)},toggle:function(){this.visible()?this.hide():this.show()},show:function(){this.div.style.display="";this.panMapIfOutOfView&&this.panIntoView()},hide:function(){this.div.style.display="none"},setSize:function(a){this.size=a.clone();var b=this.getContentDivPadding(),d=b.left+b.right,e=b.top+b.bottom;this.fixPadding();d+=this.padding.left+this.padding.right;e+=this.padding.top+this.padding.bottom;if(this.closeDiv)var f=parseInt(this.closeDiv.style.width),
d=d+(f+b.right);this.size.w+=d;this.size.h+=e;"msie"==OpenLayers.BROWSER_NAME&&(this.contentSize.w+=b.left+b.right,this.contentSize.h+=b.bottom+b.top);null!=this.div&&(this.div.style.width=this.size.w+"px",this.div.style.height=this.size.h+"px");null!=this.contentDiv&&(this.contentDiv.style.width=a.w+"px",this.contentDiv.style.height=a.h+"px")},updateSize:function(){var a="<div class='"+this.contentDisplayClass+"'>"+this.contentDiv.innerHTML+"</div>",b=this.map?this.map.div:document.body,d=OpenLayers.Util.getRenderedDimensions(a,
null,{displayClass:this.displayClass,containerElement:b}),e=this.getSafeContentSize(d),f=null;e.equals(d)?f=d:(d={w:e.w<d.w?e.w:null,h:e.h<d.h?e.h:null},d.w&&d.h?f=e:(a=OpenLayers.Util.getRenderedDimensions(a,d,{displayClass:this.contentDisplayClass,containerElement:b}),"hidden"!=OpenLayers.Element.getStyle(this.contentDiv,"overflow")&&a.equals(e)&&(e=OpenLayers.Util.getScrollbarWidth(),d.w?a.h+=e:a.w+=e),f=this.getSafeContentSize(a)));this.setSize(f)},setBackgroundColor:function(a){void 0!=a&&(this.backgroundColor=
a);null!=this.div&&(this.div.style.backgroundColor=this.backgroundColor)},setOpacity:function(a){void 0!=a&&(this.opacity=a);null!=this.div&&(this.div.style.opacity=this.opacity,this.div.style.filter="alpha(opacity="+100*this.opacity+")")},setBorder:function(a){void 0!=a&&(this.border=a);null!=this.div&&(this.div.style.border=this.border)},setContentHTML:function(a){null!=a&&(this.contentHTML=a);null!=this.contentDiv&&null!=this.contentHTML&&this.contentHTML!=this.contentDiv.innerHTML&&(this.contentDiv.innerHTML=
this.contentHTML,this.autoSize&&(this.registerImageListeners(),this.updateSize()))},registerImageListeners:function(){for(var a=function(){null!==this.popup.id&&(this.popup.updateSize(),this.popup.visible()&&this.popup.panMapIfOutOfView&&this.popup.panIntoView(),OpenLayers.Event.stopObserving(this.img,"load",this.img._onImgLoad))},b=this.contentDiv.getElementsByTagName("img"),d=0,e=b.length;d<e;d++){var f=b[d];if(0==f.width||0==f.height)f._onImgLoad=OpenLayers.Function.bind(a,{popup:this,img:f}),
OpenLayers.Event.observe(f,"load",f._onImgLoad)}},getSafeContentSize:function(a){a=a.clone();var b=this.getContentDivPadding(),d=b.left+b.right,e=b.top+b.bottom;this.fixPadding();d+=this.padding.left+this.padding.right;e+=this.padding.top+this.padding.bottom;if(this.closeDiv)var f=parseInt(this.closeDiv.style.width),d=d+(f+b.right);this.minSize&&(a.w=Math.max(a.w,this.minSize.w-d),a.h=Math.max(a.h,this.minSize.h-e));this.maxSize&&(a.w=Math.min(a.w,this.maxSize.w-d),a.h=Math.min(a.h,this.maxSize.h-
e));if(this.map&&this.map.size){f=b=0;if(this.keepInMap&&!this.panMapIfOutOfView)switch(f=this.map.getPixelFromLonLat(this.lonlat),this.relativePosition){case "tr":b=f.x;f=this.map.size.h-f.y;break;case "tl":b=this.map.size.w-f.x;f=this.map.size.h-f.y;break;case "bl":b=this.map.size.w-f.x;f=f.y;break;case "br":b=f.x;f=f.y;break;default:b=f.x,f=this.map.size.h-f.y}e=this.map.size.h-this.map.paddingForPopups.top-this.map.paddingForPopups.bottom-e-f;a.w=Math.min(a.w,this.map.size.w-this.map.paddingForPopups.left-
this.map.paddingForPopups.right-d-b);a.h=Math.min(a.h,e)}return a},getContentDivPadding:function(){var a=this._contentDivPadding;a||(null==this.div.parentNode&&(this.div.style.display="none",document.body.appendChild(this.div)),this._contentDivPadding=a=new OpenLayers.Bounds(OpenLayers.Element.getStyle(this.contentDiv,"padding-left"),OpenLayers.Element.getStyle(this.contentDiv,"padding-bottom"),OpenLayers.Element.getStyle(this.contentDiv,"padding-right"),OpenLayers.Element.getStyle(this.contentDiv,
"padding-top")),this.div.parentNode==document.body&&(document.body.removeChild(this.div),this.div.style.display=""));return a},addCloseBox:function(a){this.closeDiv=OpenLayers.Util.createDiv(this.id+"_close",null,{w:17,h:17});this.closeDiv.className="olPopupCloseBox";var b=this.getContentDivPadding();this.closeDiv.style.right=b.right+"px";this.closeDiv.style.top=b.top+"px";this.groupDiv.appendChild(this.closeDiv);a=a||function(a){this.hide();OpenLayers.Event.stop(a)};OpenLayers.Event.observe(this.closeDiv,
"touchend",OpenLayers.Function.bindAsEventListener(a,this));OpenLayers.Event.observe(this.closeDiv,"click",OpenLayers.Function.bindAsEventListener(a,this))},panIntoView:function(){var a=this.map.getSize(),b=this.map.getViewPortPxFromLayerPx(new OpenLayers.Pixel(parseInt(this.div.style.left),parseInt(this.div.style.top))),d=b.clone();b.x<this.map.paddingForPopups.left?d.x=this.map.paddingForPopups.left:b.x+this.size.w>a.w-this.map.paddingForPopups.right&&(d.x=a.w-this.map.paddingForPopups.right-this.size.w);
b.y<this.map.paddingForPopups.top?d.y=this.map.paddingForPopups.top:b.y+this.size.h>a.h-this.map.paddingForPopups.bottom&&(d.y=a.h-this.map.paddingForPopups.bottom-this.size.h);this.map.pan(b.x-d.x,b.y-d.y)},registerEvents:function(){this.events=new OpenLayers.Events(this,this.div,null,!0);this.events.on({mousedown:this.onmousedown,mousemove:this.onmousemove,mouseup:this.onmouseup,click:this.onclick,mouseout:this.onmouseout,dblclick:this.ondblclick,touchstart:function(a){OpenLayers.Event.stop(a,!0)},
scope:this})},onmousedown:function(a){this.mousedown=!0;OpenLayers.Event.stop(a,!0)},onmousemove:function(a){this.mousedown&&OpenLayers.Event.stop(a,!0)},onmouseup:function(a){this.mousedown&&(this.mousedown=!1,OpenLayers.Event.stop(a,!0))},onclick:function(a){OpenLayers.Event.stop(a,!0)},onmouseout:function(a){this.mousedown=!1},ondblclick:function(a){OpenLayers.Event.stop(a,!0)},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.Strategy.BBOX=OpenLayers.Class(OpenLayers.Strategy,{bounds:null,resolution:null,ratio:2,resFactor:null,response:null,activate:function(){var a=OpenLayers.Strategy.prototype.activate.call(this);a&&(this.layer.events.on({moveend:this.update,refresh:this.update,visibilitychanged:this.update,scope:this}),this.update());return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&this.layer.events.un({moveend:this.update,refresh:this.update,visibilitychanged:this.update,
scope:this});return a},update:function(a){var b=this.getMapBounds();null!==b&&(a&&a.force||this.layer.visibility&&this.layer.calculateInRange()&&this.invalidBounds(b))&&(this.calculateBounds(b),this.resolution=this.layer.map.getResolution(),this.triggerRead(a))},getMapBounds:function(){if(null===this.layer.map)return null;var a=this.layer.map.getExtent();a&&!this.layer.projection.equals(this.layer.map.getProjectionObject())&&(a=a.clone().transform(this.layer.map.getProjectionObject(),this.layer.projection));
return a},invalidBounds:function(a){a||(a=this.getMapBounds());a=!this.bounds||!this.bounds.containsBounds(a);!a&&this.resFactor&&(a=this.resolution/this.layer.map.getResolution(),a=a>=this.resFactor||a<=1/this.resFactor);return a},calculateBounds:function(a){a||(a=this.getMapBounds());var b=a.getCenterLonLat(),d=a.getWidth()*this.ratio;a=a.getHeight()*this.ratio;this.bounds=new OpenLayers.Bounds(b.lon-d/2,b.lat-a/2,b.lon+d/2,b.lat+a/2)},triggerRead:function(a){!this.response||a&&!0===a.noAbort||
(this.layer.protocol.abort(this.response),this.layer.events.triggerEvent("loadend"));var b={filter:this.createFilter()};this.layer.events.triggerEvent("loadstart",b);this.response=this.layer.protocol.read(OpenLayers.Util.applyDefaults({filter:b.filter,callback:this.merge,scope:this},a))},createFilter:function(){var a=new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.BBOX,value:this.bounds,projection:this.layer.projection});this.layer.filter&&(a=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND,
filters:[this.layer.filter,a]}));return a},merge:function(a){this.layer.destroyFeatures();if(a.success()){var b=a.features;if(b&&0<b.length){var d=this.layer.projection,e=this.layer.map.getProjectionObject();if(!e.equals(d))for(var f,g=0,h=b.length;g<h;++g)(f=b[g].geometry)&&f.transform(d,e);this.layer.addFeatures(b)}}else this.bounds=null;this.response=null;this.layer.events.triggerEvent("loadend",{response:a})},CLASS_NAME:"OpenLayers.Strategy.BBOX"});
OpenLayers.Layer.Google.v3={DEFAULTS:{sphericalMercator:!0,projection:"EPSG:900913"},animationEnabled:!0,enableTilt:!1,loadMapObject:function(){this.type||(this.type=google.maps.MapTypeId.ROADMAP);var a,b=OpenLayers.Layer.Google.cache[this.map.id];b?(a=b.mapObject,++b.count):(a=this.map.getCenter(),b=document.createElement("div"),b.className="olForeignContainer",b.style.width="100%",b.style.height="100%",a=new google.maps.Map(b,{center:a?new google.maps.LatLng(a.lat,a.lon):new google.maps.LatLng(0,
0),zoom:this.map.getZoom()||0,mapTypeId:this.type,disableDefaultUI:!0,keyboardShortcuts:!1,draggable:!1,disableDoubleClickZoom:!0,scrollwheel:!1,streetViewControl:!1}),this.enableTilt||a.setTilt(0),b=document.createElement("div"),b.style.width="100%",b.style.height="100%",a.controls[google.maps.ControlPosition.TOP_LEFT].push(b),b={googleControl:b,mapObject:a,count:1},OpenLayers.Layer.Google.cache[this.map.id]=b);this.mapObject=a;this.setGMapVisibility(this.visibility)},onMapResize:function(){this.visibility&&
google.maps.event.trigger(this.mapObject,"resize")},setGMapVisibility:function(a){var b=OpenLayers.Layer.Google.cache[this.map.id],d=this.map;if(b){for(var e=this.type,f=d.layers,g,h=f.length-1;0<=h;--h)if(g=f[h],g instanceof OpenLayers.Layer.Google&&!0===g.visibility&&!0===g.inRange){e=g.type;a=!0;break}f=this.mapObject.getDiv();if(!0===a){if(f.parentNode!==d.div)if(b.rendered)d.div.appendChild(f),b.googleControl.appendChild(d.viewPortDiv),google.maps.event.trigger(this.mapObject,"resize");else{var l=
this;google.maps.event.addListenerOnce(this.mapObject,"tilesloaded",function(){b.rendered=!0;l.setGMapVisibility(l.getVisibility());l.moveTo(l.map.getCenter())})}this.mapObject.setMapTypeId(e)}else b.googleControl.hasChildNodes()&&(d.div.appendChild(d.viewPortDiv),d.div.removeChild(f))}},getMapContainer:function(){return this.mapObject.getDiv()},getMapObjectBoundsFromOLBounds:function(a){var b=null;null!=a&&(b=this.sphericalMercator?this.inverseMercator(a.bottom,a.left):new OpenLayers.LonLat(a.bottom,
a.left),a=this.sphericalMercator?this.inverseMercator(a.top,a.right):new OpenLayers.LonLat(a.top,a.right),b=new google.maps.LatLngBounds(new google.maps.LatLng(b.lat,b.lon),new google.maps.LatLng(a.lat,a.lon)));return b},getMapObjectLonLatFromMapObjectPixel:function(a){var b=this.map.getSize(),d=this.getLongitudeFromMapObjectLonLat(this.mapObject.center),e=this.getLatitudeFromMapObjectLonLat(this.mapObject.center),f=this.map.getResolution();a=new OpenLayers.LonLat(d+(a.x-b.w/2)*f,e-(a.y-b.h/2)*f);
this.wrapDateLine&&(a=a.wrapDateLine(this.maxExtent));return this.getMapObjectLonLatFromLonLat(a.lon,a.lat)},getMapObjectPixelFromMapObjectLonLat:function(a){var b=this.getLongitudeFromMapObjectLonLat(a);a=this.getLatitudeFromMapObjectLonLat(a);var d=this.map.getResolution(),e=this.map.getExtent();return this.getMapObjectPixelFromXY(1/d*(b-e.left),1/d*(e.top-a))},setMapObjectCenter:function(a,b){if(!1===this.animationEnabled&&b!=this.mapObject.zoom){var d=this.getMapContainer();google.maps.event.addListenerOnce(this.mapObject,
"idle",function(){d.style.visibility=""});d.style.visibility="hidden"}this.mapObject.setOptions({center:a,zoom:b})},getMapObjectZoomFromMapObjectBounds:function(a){return this.mapObject.getBoundsZoomLevel(a)},getMapObjectLonLatFromLonLat:function(a,b){var d;this.sphericalMercator?(d=this.inverseMercator(a,b),d=new google.maps.LatLng(d.lat,d.lon)):d=new google.maps.LatLng(b,a);return d},getMapObjectPixelFromXY:function(a,b){return new google.maps.Point(a,b)}};OpenLayers.ProxyHost="";
OpenLayers.Request||(OpenLayers.Request={});
OpenLayers.Util.extend(OpenLayers.Request,{DEFAULT_CONFIG:{method:"GET",url:window.location.href,async:!0,user:void 0,password:void 0,params:null,proxy:OpenLayers.ProxyHost,headers:{},data:null,callback:function(){},success:null,failure:null,scope:null},URL_SPLIT_REGEX:/([^:]*:)\/\/([^:]*:?[^@]*@)?([^:\/\?]*):?([^\/\?]*)/,events:new OpenLayers.Events(this),makeSameOrigin:function(a,b){var d=0!==a.indexOf("http"),e=!d&&a.match(this.URL_SPLIT_REGEX);if(e){var f=window.location,d=e[1]==f.protocol&&e[3]==
f.hostname,e=e[4],f=f.port;if(80!=e&&""!=e||"80"!=f&&""!=f)d=d&&e==f}d||b&&(a="function"==typeof b?b(a):b+encodeURIComponent(a));return a},issue:function(a){var b=OpenLayers.Util.extend(this.DEFAULT_CONFIG,{proxy:OpenLayers.ProxyHost});a=a||{};a.headers=a.headers||{};a=OpenLayers.Util.applyDefaults(a,b);a.headers=OpenLayers.Util.applyDefaults(a.headers,b.headers);var b=!1,d;for(d in a.headers)a.headers.hasOwnProperty(d)&&"x-requested-with"===d.toLowerCase()&&(b=!0);!1===b&&(a.headers["X-Requested-With"]=
"XMLHttpRequest");var e=new OpenLayers.Request.XMLHttpRequest,f=OpenLayers.Util.urlAppend(a.url,OpenLayers.Util.getParameterString(a.params||{})),f=OpenLayers.Request.makeSameOrigin(f,a.proxy);e.open(a.method,f,a.async,a.user,a.password);for(var g in a.headers)e.setRequestHeader(g,a.headers[g]);var h=this.events,l=this;e.onreadystatechange=function(){e.readyState==OpenLayers.Request.XMLHttpRequest.DONE&&!1!==h.triggerEvent("complete",{request:e,config:a,requestUrl:f})&&l.runCallbacks({request:e,config:a,
requestUrl:f})};!1===a.async?e.send(a.data):window.setTimeout(function(){0!==e.readyState&&e.send(a.data)},0);return e},runCallbacks:function(a){var b=a.request,d=a.config,e=d.scope?OpenLayers.Function.bind(d.callback,d.scope):d.callback,f;d.success&&(f=d.scope?OpenLayers.Function.bind(d.success,d.scope):d.success);var g;d.failure&&(g=d.scope?OpenLayers.Function.bind(d.failure,d.scope):d.failure);"file:"==OpenLayers.Util.createUrlObject(d.url).protocol&&b.responseText&&(b.status=200);e(b);if(!b.status||
200<=b.status&&300>b.status)this.events.triggerEvent("success",a),f&&f(b);b.status&&(200>b.status||300<=b.status)&&(this.events.triggerEvent("failure",a),g&&g(b))},GET:function(a){a=OpenLayers.Util.extend(a,{method:"GET"});return OpenLayers.Request.issue(a)},POST:function(a){a=OpenLayers.Util.extend(a,{method:"POST"});a.headers=a.headers?a.headers:{};"CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(a.headers)||(a.headers["Content-Type"]="application/xml");return OpenLayers.Request.issue(a)},PUT:function(a){a=
OpenLayers.Util.extend(a,{method:"PUT"});a.headers=a.headers?a.headers:{};"CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(a.headers)||(a.headers["Content-Type"]="application/xml");return OpenLayers.Request.issue(a)},DELETE:function(a){a=OpenLayers.Util.extend(a,{method:"DELETE"});return OpenLayers.Request.issue(a)},HEAD:function(a){a=OpenLayers.Util.extend(a,{method:"HEAD"});return OpenLayers.Request.issue(a)},OPTIONS:function(a){a=OpenLayers.Util.extend(a,{method:"OPTIONS"});return OpenLayers.Request.issue(a)}});
(function(){function a(){this._object=g&&!m?new g:new window.ActiveXObject("Microsoft.XMLHTTP");this._listeners=[]}function b(){return new a}function d(a){b.onreadystatechange&&b.onreadystatechange.apply(a);a.dispatchEvent({type:"readystatechange",bubbles:!1,cancelable:!1,timeStamp:new Date+0})}function e(a){try{a.responseText=a._object.responseText}catch(b){}try{var d;var e=a._object,f=e.responseXML,g=e.responseText;l&&g&&f&&!f.documentElement&&e.getResponseHeader("Content-Type").match(/[^\/]+\/[^\+]+\+xml/)&&
(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.validateOnParse=!1,f.loadXML(g));d=f&&(l&&0!=f.parseError||!f.documentElement||f.documentElement&&"parsererror"==f.documentElement.tagName)?null:f;a.responseXML=d}catch(h){}try{a.status=a._object.status}catch(m){}try{a.statusText=a._object.statusText}catch(E){}}function f(a){a._object.onreadystatechange=new window.Function}var g=window.XMLHttpRequest,h=!!window.controllers,l=window.document.all&&!window.opera,m=l&&window.navigator.userAgent.match(/MSIE 7.0/);
b.prototype=a.prototype;h&&g.wrapped&&(b.wrapped=g.wrapped);b.UNSENT=0;b.OPENED=1;b.HEADERS_RECEIVED=2;b.LOADING=3;b.DONE=4;b.prototype.readyState=b.UNSENT;b.prototype.responseText="";b.prototype.responseXML=null;b.prototype.status=0;b.prototype.statusText="";b.prototype.priority="NORMAL";b.prototype.onreadystatechange=null;b.onreadystatechange=null;b.onopen=null;b.onsend=null;b.onabort=null;b.prototype.open=function(a,g,m,z,v){delete this._headers;3>arguments.length&&(m=!0);this._async=m;var B=this,
D=this.readyState,C;l&&m&&(C=function(){D!=b.DONE&&(f(B),B.abort())},window.attachEvent("onunload",C));b.onopen&&b.onopen.apply(this,arguments);4<arguments.length?this._object.open(a,g,m,z,v):3<arguments.length?this._object.open(a,g,m,z):this._object.open(a,g,m);this.readyState=b.OPENED;d(this);this._object.onreadystatechange=function(){if(!h||m)B.readyState=B._object.readyState,e(B),B._aborted?B.readyState=b.UNSENT:(B.readyState==b.DONE&&(delete B._data,f(B),l&&m&&window.detachEvent("onunload",C)),
D!=B.readyState&&d(B),D=B.readyState)}};b.prototype.send=function(a){b.onsend&&b.onsend.apply(this,arguments);arguments.length||(a=null);a&&a.nodeType&&(a=window.XMLSerializer?(new window.XMLSerializer).serializeToString(a):a.xml,this._headers["Content-Type"]||this._object.setRequestHeader("Content-Type","application/xml"));this._data=a;a:if(this._object.send(this._data),h&&!this._async)for(this.readyState=b.OPENED,e(this);this.readyState<b.DONE;)if(this.readyState++,d(this),this._aborted)break a};
b.prototype.abort=function(){b.onabort&&b.onabort.apply(this,arguments);this.readyState>b.UNSENT&&(this._aborted=!0);this._object.abort();f(this);this.readyState=b.UNSENT;delete this._data};b.prototype.getAllResponseHeaders=function(){return this._object.getAllResponseHeaders()};b.prototype.getResponseHeader=function(a){return this._object.getResponseHeader(a)};b.prototype.setRequestHeader=function(a,b){this._headers||(this._headers={});this._headers[a]=b;return this._object.setRequestHeader(a,b)};
b.prototype.addEventListener=function(a,b,d){for(var e=0,f;f=this._listeners[e];e++)if(f[0]==a&&f[1]==b&&f[2]==d)return;this._listeners.push([a,b,d])};b.prototype.removeEventListener=function(a,b,d){for(var e=0,f;(f=this._listeners[e])&&(f[0]!=a||f[1]!=b||f[2]!=d);e++);f&&this._listeners.splice(e,1)};b.prototype.dispatchEvent=function(a){a={type:a.type,target:this,currentTarget:this,eventPhase:2,bubbles:a.bubbles,cancelable:a.cancelable,timeStamp:a.timeStamp,stopPropagation:function(){},preventDefault:function(){},
initEvent:function(){}};"readystatechange"==a.type&&this.onreadystatechange&&(this.onreadystatechange.handleEvent||this.onreadystatechange).apply(this,[a]);for(var b=0,d;d=this._listeners[b];b++)d[0]!=a.type||d[2]||(d[1].handleEvent||d[1]).apply(this,[a])};b.prototype.toString=function(){return"[object XMLHttpRequest]"};b.toString=function(){return"[XMLHttpRequest]"};window.Function.prototype.apply||(window.Function.prototype.apply=function(a,b){b||(b=[]);a.__func=this;a.__func(b[0],b[1],b[2],b[3],
b[4]);delete a.__func});OpenLayers.Request||(OpenLayers.Request={});OpenLayers.Request.XMLHttpRequest=b})();
OpenLayers.Marker.Box=OpenLayers.Class(OpenLayers.Marker,{bounds:null,div:null,initialize:function(a,b,d){this.bounds=a;this.div=OpenLayers.Util.createDiv();this.div.style.overflow="hidden";this.events=new OpenLayers.Events(this,this.div);this.setBorder(b,d)},destroy:function(){this.div=this.bounds=null;OpenLayers.Marker.prototype.destroy.apply(this,arguments)},setBorder:function(a,b){a||(a="red");b||(b=2);this.div.style.border=b+"px solid "+a},draw:function(a,b){OpenLayers.Util.modifyDOMElement(this.div,
null,a,b);return this.div},onScreen:function(){var a=!1;this.map&&(a=this.map.getExtent().containsBounds(this.bounds,!0,!0));return a},display:function(a){this.div.style.display=a?"":"none"},CLASS_NAME:"OpenLayers.Marker.Box"});
OpenLayers.Layer.MapGuide=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:!0,useHttpTile:!1,singleTile:!1,useOverlay:!1,useAsyncOverlay:!0,TILE_PARAMS:{operation:"GETTILEIMAGE",version:"1.2.0"},SINGLE_TILE_PARAMS:{operation:"GETMAPIMAGE",format:"PNG",locale:"en",clip:"1",version:"1.0.0"},OVERLAY_PARAMS:{operation:"GETDYNAMICMAPOVERLAYIMAGE",format:"PNG",locale:"en",clip:"1",version:"2.0.0"},FOLDER_PARAMS:{tileColumnsPerFolder:30,tileRowsPerFolder:30,format:"png",querystring:null},defaultSize:new OpenLayers.Size(300,
300),tileOriginCorner:"tl",initialize:function(a,b,d,e){OpenLayers.Layer.Grid.prototype.initialize.apply(this,arguments);if(null==e||null==e.isBaseLayer)this.isBaseLayer="true"!=this.transparent&&!0!=this.transparent;e&&null!=e.useOverlay&&(this.useOverlay=e.useOverlay);this.singleTile?this.useOverlay?(OpenLayers.Util.applyDefaults(this.params,this.OVERLAY_PARAMS),this.useAsyncOverlay||(this.params.version="1.0.0")):OpenLayers.Util.applyDefaults(this.params,this.SINGLE_TILE_PARAMS):(this.useHttpTile?
OpenLayers.Util.applyDefaults(this.params,this.FOLDER_PARAMS):OpenLayers.Util.applyDefaults(this.params,this.TILE_PARAMS),this.setTileSize(this.defaultSize))},clone:function(a){null==a&&(a=new OpenLayers.Layer.MapGuide(this.name,this.url,this.params,this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},getURL:function(a){var b;b=a.getCenterLonLat();var d=this.map.getSize();this.singleTile?(a={setdisplaydpi:OpenLayers.DOTS_PER_INCH,setdisplayheight:d.h*this.ratio,setdisplaywidth:d.w*
this.ratio,setviewcenterx:b.lon,setviewcentery:b.lat,setviewscale:this.map.getScale()},this.useOverlay&&!this.useAsyncOverlay&&(b={},b=OpenLayers.Util.extend(b,a),b.operation="GETVISIBLEMAPEXTENT",b.version="1.0.0",b.session=this.params.session,b.mapName=this.params.mapName,b.format="text/xml",b=this.getFullRequestString(b),OpenLayers.Request.GET({url:b,async:!1})),b=this.getFullRequestString(a)):(d=this.map.getResolution(),b=Math.floor((a.left-this.maxExtent.left)/d),b=Math.round(b/this.tileSize.w),
a=Math.floor((this.maxExtent.top-a.top)/d),a=Math.round(a/this.tileSize.h),b=this.useHttpTile?this.getImageFilePath({tilecol:b,tilerow:a,scaleindex:this.resolutions.length-this.map.zoom-1}):this.getFullRequestString({tilecol:b,tilerow:a,scaleindex:this.resolutions.length-this.map.zoom-1}));return b},getFullRequestString:function(a,b){var d=null==b?this.url:b;"object"==typeof d&&(d=d[Math.floor(Math.random()*d.length)]);var e=d,f=OpenLayers.Util.extend({},this.params),f=OpenLayers.Util.extend(f,a),
g=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(d)),h;for(h in f)h.toUpperCase()in g&&delete f[h];f=OpenLayers.Util.getParameterString(f);f=f.replace(/,/g,"+");""!=f&&(g=d.charAt(d.length-1),e="&"==g||"?"==g?e+f:-1==d.indexOf("?")?e+("?"+f):e+("&"+f));return e},getImageFilePath:function(a,b){var d=null==b?this.url:b;"object"==typeof d&&(d=d[Math.floor(Math.random()*d.length)]);var e="",f="";0>a.tilerow&&(e="-");e=0==a.tilerow?e+"0":e+Math.floor(Math.abs(a.tilerow/this.params.tileRowsPerFolder))*
this.params.tileRowsPerFolder;0>a.tilecol&&(f="-");f=0==a.tilecol?f+"0":f+Math.floor(Math.abs(a.tilecol/this.params.tileColumnsPerFolder))*this.params.tileColumnsPerFolder;e="/S"+Math.floor(a.scaleindex)+"/"+this.params.basemaplayergroupname+"/R"+e+"/C"+f+"/"+a.tilerow%this.params.tileRowsPerFolder+"_"+a.tilecol%this.params.tileColumnsPerFolder+"."+this.params.format;this.params.querystring&&(e+="?"+this.params.querystring);return d+e},CLASS_NAME:"OpenLayers.Layer.MapGuide"});
OpenLayers.Control.Measure=OpenLayers.Class(OpenLayers.Control,{callbacks:null,displaySystem:"metric",geodesic:!1,displaySystemUnits:{geographic:["dd"],english:["mi","ft","in"],metric:["km","m"]},partialDelay:300,delayedTrigger:null,persist:!1,immediate:!1,initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,[b]);var d={done:this.measureComplete,point:this.measurePartial};this.immediate&&(d.modify=this.measureImmediate);this.callbacks=OpenLayers.Util.extend(d,this.callbacks);
this.handlerOptions=OpenLayers.Util.extend({persist:this.persist},this.handlerOptions);this.handler=new a(this,this.callbacks,this.handlerOptions)},deactivate:function(){this.cancelDelay();return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},cancel:function(){this.cancelDelay();this.handler.cancel()},setImmediate:function(a){(this.immediate=a)?this.callbacks.modify=this.measureImmediate:delete this.callbacks.modify},updateHandler:function(a,b){var d=this.active;d&&this.deactivate();
this.handler=new a(this,this.callbacks,b);d&&this.activate()},measureComplete:function(a){this.cancelDelay();this.measure(a,"measure")},measurePartial:function(a,b){this.cancelDelay();b=b.clone();this.handler.freehandMode(this.handler.evt)?this.measure(b,"measurepartial"):this.delayedTrigger=window.setTimeout(OpenLayers.Function.bind(function(){this.delayedTrigger=null;this.measure(b,"measurepartial")},this),this.partialDelay)},measureImmediate:function(a,b,d){d&&!this.handler.freehandMode(this.handler.evt)&&
(this.cancelDelay(),this.measure(b.geometry,"measurepartial"))},cancelDelay:function(){null!==this.delayedTrigger&&(window.clearTimeout(this.delayedTrigger),this.delayedTrigger=null)},measure:function(a,b){var d,e;-1<a.CLASS_NAME.indexOf("LineString")?(d=this.getBestLength(a),e=1):(d=this.getBestArea(a),e=2);this.events.triggerEvent(b,{measure:d[0],units:d[1],order:e,geometry:a})},getBestArea:function(a){for(var b=this.displaySystemUnits[this.displaySystem],d,e,f=0,g=b.length;f<g&&!(d=b[f],e=this.getArea(a,
d),1<e);++f);return[e,d]},getArea:function(a,b){var d,e;this.geodesic?(d=a.getGeodesicArea(this.map.getProjectionObject()),e="m"):(d=a.getArea(),e=this.map.getUnits());var f=OpenLayers.INCHES_PER_UNIT[b];f&&(d*=Math.pow(OpenLayers.INCHES_PER_UNIT[e]/f,2));return d},getBestLength:function(a){for(var b=this.displaySystemUnits[this.displaySystem],d,e,f=0,g=b.length;f<g&&!(d=b[f],e=this.getLength(a,d),1<e);++f);return[e,d]},getLength:function(a,b){var d,e;this.geodesic?(d=a.getGeodesicLength(this.map.getProjectionObject()),
e="m"):(d=a.getLength(),e=this.map.getUnits());var f=OpenLayers.INCHES_PER_UNIT[b];f&&(d*=OpenLayers.INCHES_PER_UNIT[e]/f);return d},CLASS_NAME:"OpenLayers.Control.Measure"});
OpenLayers.Control.DrawFeature=OpenLayers.Class(OpenLayers.Control,{layer:null,callbacks:null,multi:!1,featureAdded:function(){},initialize:function(a,b,d){OpenLayers.Control.prototype.initialize.apply(this,[d]);this.callbacks=OpenLayers.Util.extend({done:this.drawFeature,modify:function(a,b){this.layer.events.triggerEvent("sketchmodified",{vertex:a,feature:b})},create:function(a,b){this.layer.events.triggerEvent("sketchstarted",{vertex:a,feature:b})}},this.callbacks);this.layer=a;this.handlerOptions=
this.handlerOptions||{};this.handlerOptions.layerOptions=OpenLayers.Util.applyDefaults(this.handlerOptions.layerOptions,{renderers:a.renderers,rendererOptions:a.rendererOptions});"multi"in this.handlerOptions||(this.handlerOptions.multi=this.multi);if(a=this.layer.styleMap&&this.layer.styleMap.styles.temporary)this.handlerOptions.layerOptions=OpenLayers.Util.applyDefaults(this.handlerOptions.layerOptions,{styleMap:new OpenLayers.StyleMap({"default":a})});this.handler=new b(this,this.callbacks,this.handlerOptions)},
drawFeature:function(a){a=new OpenLayers.Feature.Vector(a);!1!==this.layer.events.triggerEvent("sketchcomplete",{feature:a})&&(a.state=OpenLayers.State.INSERT,this.layer.addFeatures([a]),this.featureAdded(a),this.events.triggerEvent("featureadded",{feature:a}))},insertXY:function(a,b){this.handler&&this.handler.line&&this.handler.insertXY(a,b)},insertDeltaXY:function(a,b){this.handler&&this.handler.line&&this.handler.insertDeltaXY(a,b)},insertDirectionLength:function(a,b){this.handler&&this.handler.line&&
this.handler.insertDirectionLength(a,b)},insertDeflectionLength:function(a,b){this.handler&&this.handler.line&&this.handler.insertDeflectionLength(a,b)},undo:function(){return this.handler.undo&&this.handler.undo()},redo:function(){return this.handler.redo&&this.handler.redo()},finishSketch:function(){this.handler.finishGeometry()},cancel:function(){this.handler.cancel()},CLASS_NAME:"OpenLayers.Control.DrawFeature"});
OpenLayers.Rule=OpenLayers.Class({id:null,name:null,title:null,description:null,context:null,filter:null,elseFilter:!1,symbolizer:null,symbolizers:null,minScaleDenominator:null,maxScaleDenominator:null,initialize:function(a){this.symbolizer={};OpenLayers.Util.extend(this,a);this.symbolizers&&delete this.symbolizer;this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){for(var a in this.symbolizer)this.symbolizer[a]=null;this.symbolizer=null;delete this.symbolizers},evaluate:function(a){var b=
this.getContext(a),d=!0;if(this.minScaleDenominator||this.maxScaleDenominator)var e=a.layer.map.getScale();this.minScaleDenominator&&(d=e>=OpenLayers.Style.createLiteral(this.minScaleDenominator,b));d&&this.maxScaleDenominator&&(d=e<OpenLayers.Style.createLiteral(this.maxScaleDenominator,b));d&&this.filter&&(d="OpenLayers.Filter.FeatureId"==this.filter.CLASS_NAME?this.filter.evaluate(a):this.filter.evaluate(b));return d},getContext:function(a){var b=this.context;b||(b=a.attributes||a.data);"function"==
typeof this.context&&(b=this.context(a));return b},clone:function(){var a=OpenLayers.Util.extend({},this);if(this.symbolizers){var b=this.symbolizers.length;a.symbolizers=Array(b);for(var d=0;d<b;++d)a.symbolizers[d]=this.symbolizers[d].clone()}else{a.symbolizer={};for(var e in this.symbolizer)b=this.symbolizer[e],d=typeof b,"object"===d?a.symbolizer[e]=OpenLayers.Util.extend({},b):"string"===d&&(a.symbolizer[e]=b)}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.Handler.Pinch=OpenLayers.Class(OpenLayers.Handler,{started:!1,stopDown:!1,pinching:!1,last:null,start:null,touchstart:function(a){var b=!0;this.pinching=!1;if(OpenLayers.Event.isMultiTouch(a))this.started=!0,this.last=this.start={distance:this.getDistance(a.touches),delta:0,scale:1},this.callback("start",[a,this.start]),b=!this.stopDown;else{if(this.started)return!1;this.started=!1;this.last=this.start=null}OpenLayers.Event.preventDefault(a);return b},touchmove:function(a){if(this.started&&
OpenLayers.Event.isMultiTouch(a)){this.pinching=!0;var b=this.getPinchData(a);this.callback("move",[a,b]);this.last=b;OpenLayers.Event.stop(a)}else if(this.started)return!1;return!0},touchend:function(a){return this.started&&!OpenLayers.Event.isMultiTouch(a)?(this.pinching=this.started=!1,this.callback("done",[a,this.start,this.last]),this.last=this.start=null,!1):!0},activate:function(){var a=!1;OpenLayers.Handler.prototype.activate.apply(this,arguments)&&(this.pinching=!1,a=!0);return a},deactivate:function(){var a=
!1;OpenLayers.Handler.prototype.deactivate.apply(this,arguments)&&(this.pinching=this.started=!1,this.last=this.start=null,a=!0);return a},getDistance:function(a){var b=a[0];a=a[1];return Math.sqrt(Math.pow(b.olClientX-a.olClientX,2)+Math.pow(b.olClientY-a.olClientY,2))},getPinchData:function(a){a=this.getDistance(a.touches);return{distance:a,delta:this.last.distance-a,scale:a/this.start.distance}},CLASS_NAME:"OpenLayers.Handler.Pinch"});
OpenLayers.Handler.Hover=OpenLayers.Class(OpenLayers.Handler,{delay:500,pixelTolerance:null,stopMove:!1,px:null,timerId:null,mousemove:function(a){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){OpenLayers.Util.mouseLeft(a,this.map.viewPortDiv)&&(this.clearTimer(),this.callback("move",[a]));return!0},
passesTolerance:function(a){var b=!0;this.pixelTolerance&&this.px&&Math.sqrt(Math.pow(this.px.x-a.x,2)+Math.pow(this.px.y-a.y,2))<this.pixelTolerance&&(b=!1);return b},clearTimer:function(){null!=this.timerId&&(window.clearTimeout(this.timerId),this.timerId=null)},delayedCall:function(a){this.callback("pause",[a])},deactivate:function(){var a=!1;OpenLayers.Handler.prototype.deactivate.apply(this,arguments)&&(this.clearTimer(),a=!0);return a},CLASS_NAME:"OpenLayers.Handler.Hover"});
OpenLayers.Format.WFSDescribeFeatureType=OpenLayers.Class(OpenLayers.Format.XML,{regExes:{trimSpace:/^\s*|\s*$/g},namespaces:{xsd:"http://www.w3.org/2001/XMLSchema"},readers:{xsd:{schema:function(a,b){var d=[],e={},f,g;this.readChildNodes(a,{complexTypes:d,customTypes:e});var h=a.attributes,l,m;f=0;for(g=h.length;f<g;++f)l=h[f],m=l.name,0===m.indexOf("xmlns")?this.setNamespace(m.split(":")[1]||"",l.value):b[m]=l.value;b.featureTypes=d;b.targetPrefix=this.namespaceAlias[b.targetNamespace];f=0;for(g=
d.length;f<g;++f)h=d[f],l=e[h.typeName],e[h.typeName]&&(h.typeName=l.name)},complexType:function(a,b){var d={typeName:a.getAttribute("name")};this.readChildNodes(a,d);b.complexTypes.push(d)},complexContent:function(a,b){this.readChildNodes(a,b)},extension:function(a,b){this.readChildNodes(a,b)},sequence:function(a,b){var d={elements:[]};this.readChildNodes(a,d);b.properties=d.elements},element:function(a,b){var d;if(b.elements){var e={};d=a.attributes;for(var f,g=0,h=d.length;g<h;++g)f=d[g],e[f.name]=
f.value;d=e.type;d||(d={},this.readChildNodes(a,d),e.restriction=d,e.type=d.base);e.localType=(d.base||d).split(":").pop();b.elements.push(e);this.readChildNodes(a,e)}b.complexTypes&&(d=a.getAttribute("type"),e=d.split(":").pop(),b.customTypes[e]={name:a.getAttribute("name"),type:d})},annotation:function(a,b){b.annotation={};this.readChildNodes(a,b.annotation)},appinfo:function(a,b){b.appinfo||(b.appinfo=[]);b.appinfo.push(this.getChildValue(a))},documentation:function(a,b){b.documentation||(b.documentation=
[]);var d=this.getChildValue(a);b.documentation.push({lang:a.getAttribute("xml:lang"),textContent:d.replace(this.regExes.trimSpace,"")})},simpleType:function(a,b){this.readChildNodes(a,b)},restriction:function(a,b){b.base=a.getAttribute("base");this.readRestriction(a,b)}}},readRestriction:function(a,b){for(var d=a.childNodes,e,f,g=0,h=d.length;g<h;++g)e=d[g],1==e.nodeType&&(f=e.nodeName.split(":").pop(),e=e.getAttribute("value"),b[f]?("string"==typeof b[f]&&(b[f]=[b[f]]),b[f].push(e)):b[f]=e)},read:function(a){"string"==
typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9==a.nodeType&&(a=a.documentElement);var b={};if("ExceptionReport"===a.nodeName.split(":").pop()){var d=new OpenLayers.Format.OGCExceptionReport;b.error=d.read(a)}else this.readNode(a,b);return b},CLASS_NAME:"OpenLayers.Format.WFSDescribeFeatureType"});
OpenLayers.Strategy.Refresh=OpenLayers.Class(OpenLayers.Strategy,{force:!1,interval:0,timer:null,activate:function(){var a=OpenLayers.Strategy.prototype.activate.call(this);a&&(!0===this.layer.visibility&&this.start(),this.layer.events.on({visibilitychanged:this.reset,scope:this}));return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&(this.stop(),this.layer.events.un({visibilitychanged:this.reset,scope:this}));return a},reset:function(){!0===this.layer.visibility?
this.start():this.stop()},start:function(){this.interval&&"number"===typeof this.interval&&0<this.interval&&(this.timer=window.setInterval(OpenLayers.Function.bind(this.refresh,this),this.interval))},refresh:function(){this.layer&&this.layer.refresh&&"function"==typeof this.layer.refresh&&this.layer.refresh({force:this.force})},stop:function(){null!==this.timer&&(window.clearInterval(this.timer),this.timer=null)},CLASS_NAME:"OpenLayers.Strategy.Refresh"});
OpenLayers.Control.MousePosition=OpenLayers.Class(OpenLayers.Control,{autoActivate:!0,element:null,prefix:"",separator:", ",suffix:"",numDigits:5,granularity:10,emptyString:null,lastXy:null,displayProjection:null,destroy:function(){this.deactivate();OpenLayers.Control.prototype.destroy.apply(this,arguments)},activate:function(){return OpenLayers.Control.prototype.activate.apply(this,arguments)?(this.map.events.register("mousemove",this,this.redraw),this.map.events.register("mouseout",this,this.reset),
this.redraw(),!0):!1},deactivate:function(){return OpenLayers.Control.prototype.deactivate.apply(this,arguments)?(this.map.events.unregister("mousemove",this,this.redraw),this.map.events.unregister("mouseout",this,this.reset),this.element.innerHTML="",!0):!1},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.element||(this.div.left="",this.div.top="",this.element=this.div);return this.div},redraw:function(a){var b;if(null==a)this.reset();else if(null==this.lastXy||Math.abs(a.xy.x-
this.lastXy.x)>this.granularity||Math.abs(a.xy.y-this.lastXy.y)>this.granularity)this.lastXy=a.xy;else if(b=this.map.getLonLatFromPixel(a.xy))this.displayProjection&&b.transform(this.map.getProjectionObject(),this.displayProjection),this.lastXy=a.xy,a=this.formatOutput(b),a!=this.element.innerHTML&&(this.element.innerHTML=a)},reset:function(a){null!=this.emptyString&&(this.element.innerHTML=this.emptyString)},formatOutput:function(a){var b=parseInt(this.numDigits);return this.prefix+a.lon.toFixed(b)+
this.separator+a.lat.toFixed(b)+this.suffix},CLASS_NAME:"OpenLayers.Control.MousePosition"});
OpenLayers.Protocol.HTTP=OpenLayers.Class(OpenLayers.Protocol,{url:null,headers:null,params:null,callback:null,scope:null,readWithPOST:!1,updateWithPOST:!1,deleteWithPOST:!1,wildcarded:!1,srsInBBOX:!1,initialize:function(a){a=a||{};this.params={};this.headers={};OpenLayers.Protocol.prototype.initialize.apply(this,arguments);if(!this.filterToParams&&OpenLayers.Format.QueryStringFilter){var b=new OpenLayers.Format.QueryStringFilter({wildcarded:this.wildcarded,srsInBBOX:this.srsInBBOX});this.filterToParams=
function(a,e){return b.write(a,e)}}},destroy:function(){this.headers=this.params=null;OpenLayers.Protocol.prototype.destroy.apply(this)},read:function(a){OpenLayers.Protocol.prototype.read.apply(this,arguments);a=a||{};a.params=OpenLayers.Util.applyDefaults(a.params,this.options.params);a=OpenLayers.Util.applyDefaults(a,this.options);a.filter&&this.filterToParams&&(a.params=this.filterToParams(a.filter,a.params));var b=void 0!==a.readWithPOST?a.readWithPOST:this.readWithPOST,d=new OpenLayers.Protocol.Response({requestType:"read"});
b?(b=a.headers||{},b["Content-Type"]="application/x-www-form-urlencoded",d.priv=OpenLayers.Request.POST({url:a.url,callback:this.createCallback(this.handleRead,d,a),data:OpenLayers.Util.getParameterString(a.params),headers:b})):d.priv=OpenLayers.Request.GET({url:a.url,callback:this.createCallback(this.handleRead,d,a),params:a.params,headers:a.headers});return d},handleRead:function(a,b){this.handleResponse(a,b)},create:function(a,b){b=OpenLayers.Util.applyDefaults(b,this.options);var d=new OpenLayers.Protocol.Response({reqFeatures:a,
requestType:"create"});d.priv=OpenLayers.Request.POST({url:b.url,callback:this.createCallback(this.handleCreate,d,b),headers:b.headers,data:this.format.write(a)});return d},handleCreate:function(a,b){this.handleResponse(a,b)},update:function(a,b){b=b||{};var d=b.url||a.url||this.options.url+"/"+a.fid;b=OpenLayers.Util.applyDefaults(b,this.options);var e=new OpenLayers.Protocol.Response({reqFeatures:a,requestType:"update"});e.priv=OpenLayers.Request[this.updateWithPOST?"POST":"PUT"]({url:d,callback:this.createCallback(this.handleUpdate,
e,b),headers:b.headers,data:this.format.write(a)});return e},handleUpdate:function(a,b){this.handleResponse(a,b)},"delete":function(a,b){b=b||{};var d=b.url||a.url||this.options.url+"/"+a.fid;b=OpenLayers.Util.applyDefaults(b,this.options);var e=new OpenLayers.Protocol.Response({reqFeatures:a,requestType:"delete"}),f=this.deleteWithPOST?"POST":"DELETE",d={url:d,callback:this.createCallback(this.handleDelete,e,b),headers:b.headers};this.deleteWithPOST&&(d.data=this.format.write(a));e.priv=OpenLayers.Request[f](d);
return e},handleDelete:function(a,b){this.handleResponse(a,b)},handleResponse:function(a,b){var d=a.priv;b.callback&&(200<=d.status&&300>d.status?("delete"!=a.requestType&&(a.features=this.parseFeatures(d)),a.code=OpenLayers.Protocol.Response.SUCCESS):a.code=OpenLayers.Protocol.Response.FAILURE,b.callback.call(b.scope,a))},parseFeatures:function(a){var b=a.responseXML;b&&b.documentElement||(b=a.responseText);return!b||0>=b.length?null:this.format.read(b)},commit:function(a,b){function d(a){for(var b=
a.features?a.features.length:0,d=Array(b),f=0;f<b;++f)d[f]=a.features[f].fid;B.insertIds=d;e.apply(this,[a])}function e(a){this.callUserCallback(a,b);v=v&&a.success();g++;g>=z&&b.callback&&(B.code=v?OpenLayers.Protocol.Response.SUCCESS:OpenLayers.Protocol.Response.FAILURE,b.callback.apply(b.scope,[B]))}b=OpenLayers.Util.applyDefaults(b,this.options);var f=[],g=0,h={};h[OpenLayers.State.INSERT]=[];h[OpenLayers.State.UPDATE]=[];h[OpenLayers.State.DELETE]=[];for(var l,m,q=[],r=0,u=a.length;r<u;++r)if(l=
a[r],m=h[l.state])m.push(l),q.push(l);var z=(0<h[OpenLayers.State.INSERT].length?1:0)+h[OpenLayers.State.UPDATE].length+h[OpenLayers.State.DELETE].length,v=!0,B=new OpenLayers.Protocol.Response({reqFeatures:q});l=h[OpenLayers.State.INSERT];0<l.length&&f.push(this.create(l,OpenLayers.Util.applyDefaults({callback:d,scope:this},b.create)));l=h[OpenLayers.State.UPDATE];for(r=l.length-1;0<=r;--r)f.push(this.update(l[r],OpenLayers.Util.applyDefaults({callback:e,scope:this},b.update)));l=h[OpenLayers.State.DELETE];
for(r=l.length-1;0<=r;--r)f.push(this["delete"](l[r],OpenLayers.Util.applyDefaults({callback:e,scope:this},b["delete"])));return f},abort:function(a){a&&a.priv.abort()},callUserCallback:function(a,b){var d=b[a.requestType];d&&d.callback&&d.callback.call(d.scope,a)},CLASS_NAME:"OpenLayers.Protocol.HTTP"});
OpenLayers.Strategy.Cluster=OpenLayers.Class(OpenLayers.Strategy,{distance:20,threshold:null,features:null,clusters:null,clustering:!1,resolution:null,activate:function(){var a=OpenLayers.Strategy.prototype.activate.call(this);if(a)this.layer.events.on({beforefeaturesadded:this.cacheFeatures,featuresremoved:this.clearCache,moveend:this.cluster,scope:this});return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&(this.clearCache(),this.layer.events.un({beforefeaturesadded:this.cacheFeatures,
featuresremoved:this.clearCache,moveend:this.cluster,scope:this}));return a},cacheFeatures:function(a){var b=!0;this.clustering||(this.clearCache(),this.features=a.features,this.cluster(),b=!1);return b},clearCache:function(){this.clustering||(this.features=null)},cluster:function(a){if((!a||a.zoomChanged)&&this.features&&(a=this.layer.map.getResolution(),a!=this.resolution||!this.clustersExist())){this.resolution=a;a=[];for(var b,d,e,f=0;f<this.features.length;++f)if(b=this.features[f],b.geometry){d=
!1;for(var g=a.length-1;0<=g;--g)if(e=a[g],this.shouldCluster(e,b)){this.addToCluster(e,b);d=!0;break}d||a.push(this.createCluster(this.features[f]))}this.clustering=!0;this.layer.removeAllFeatures();this.clustering=!1;if(0<a.length){if(1<this.threshold)for(b=a.slice(),a=[],f=0,e=b.length;f<e;++f)d=b[f],d.attributes.count<this.threshold?Array.prototype.push.apply(a,d.cluster):a.push(d);this.clustering=!0;this.layer.addFeatures(a);this.clustering=!1}this.clusters=a}},clustersExist:function(){var a=
!1;if(this.clusters&&0<this.clusters.length&&this.clusters.length==this.layer.features.length)for(var a=!0,b=0;b<this.clusters.length;++b)if(this.clusters[b]!=this.layer.features[b]){a=!1;break}return a},shouldCluster:function(a,b){var d=a.geometry.getBounds().getCenterLonLat(),e=b.geometry.getBounds().getCenterLonLat();return Math.sqrt(Math.pow(d.lon-e.lon,2)+Math.pow(d.lat-e.lat,2))/this.resolution<=this.distance},addToCluster:function(a,b){a.cluster.push(b);a.attributes.count+=1},createCluster:function(a){var b=
a.geometry.getBounds().getCenterLonLat(),b=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(b.lon,b.lat),{count:1});b.cluster=[a];return b},CLASS_NAME:"OpenLayers.Strategy.Cluster"});
OpenLayers.Control.OverviewMap=OpenLayers.Class(OpenLayers.Control,{element:null,ovmap:null,size:{w:180,h:90},layers:null,minRectSize:15,minRectDisplayClass:"RectReplacement",minRatio:8,maxRatio:32,mapOptions:null,autoPan:!1,handlers:null,resolutionFactor:1,maximized:!1,maximizeTitle:"",minimizeTitle:"",initialize:function(a){this.layers=[];this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,[a])},destroy:function(){this.mapDiv&&(this.handlers.click&&this.handlers.click.destroy(),
this.handlers.drag&&this.handlers.drag.destroy(),this.ovmap&&this.ovmap.viewPortDiv.removeChild(this.extentRectangle),this.extentRectangle=null,this.rectEvents&&(this.rectEvents.destroy(),this.rectEvents=null),this.ovmap&&(this.ovmap.destroy(),this.ovmap=null),this.element.removeChild(this.mapDiv),this.mapDiv=null,this.div.removeChild(this.element),this.element=null,this.maximizeDiv&&(this.div.removeChild(this.maximizeDiv),this.maximizeDiv=null),this.minimizeDiv&&(this.div.removeChild(this.minimizeDiv),
this.minimizeDiv=null),this.map.events.un({buttonclick:this.onButtonClick,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(0===this.layers.length)if(this.map.baseLayer)this.layers=[this.map.baseLayer.clone()];else return this.map.events.register("changebaselayer",this,this.baseLayerDraw),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=1E3;this.extentRectangle.className=this.displayClass+
"ExtentRectangle";this.element.appendChild(this.mapDiv);this.div.appendChild(this.element);if(this.outsideViewport)this.element.style.display="";else{this.div.className+=" "+this.displayClass+"Container";var a=OpenLayers.Util.getImageLocation("layer-switcher-maximize.png");this.maximizeDiv=OpenLayers.Util.createAlphaImageDiv(this.displayClass+"MaximizeButton",null,null,a,"absolute");this.maximizeDiv.style.display="none";this.maximizeDiv.className=this.displayClass+"MaximizeButton olButton";this.maximizeTitle&&
(this.maximizeDiv.title=this.maximizeTitle);this.div.appendChild(this.maximizeDiv);a=OpenLayers.Util.getImageLocation("layer-switcher-minimize.png");this.minimizeDiv=OpenLayers.Util.createAlphaImageDiv("OpenLayers_Control_minimizeDiv",null,null,a,"absolute");this.minimizeDiv.style.display="none";this.minimizeDiv.className=this.displayClass+"MinimizeButton olButton";this.minimizeTitle&&(this.minimizeDiv.title=this.minimizeTitle);this.div.appendChild(this.minimizeDiv);this.minimizeControl()}this.map.getExtent()&&
this.update();this.map.events.on({buttonclick:this.onButtonClick,moveend:this.update,scope:this});this.maximized&&this.maximizeControl();return this.div},baseLayerDraw:function(){this.draw();this.map.events.unregister("changebaselayer",this,this.baseLayerDraw)},rectDrag:function(a){var b=this.handlers.drag.last.x-a.x,d=this.handlers.drag.last.y-a.y;if(0!=b||0!=d){var e=this.rectPxBounds.top,f=this.rectPxBounds.left;a=Math.abs(this.rectPxBounds.getHeight());var g=this.rectPxBounds.getWidth(),d=Math.max(0,
e-d),d=Math.min(d,this.ovmap.size.h-this.hComp-a),b=Math.max(0,f-b),b=Math.min(b,this.ovmap.size.w-this.wComp-g);this.setRectPxBounds(new OpenLayers.Bounds(b,d+a,b+g,d))}},mapDivClick:function(a){var b=this.rectPxBounds.getCenterPixel(),d=a.xy.x-b.x,e=a.xy.y-b.y,f=this.rectPxBounds.top,g=this.rectPxBounds.left;a=Math.abs(this.rectPxBounds.getHeight());b=this.rectPxBounds.getWidth();e=Math.max(0,f+e);e=Math.min(e,this.ovmap.size.h-a);d=Math.max(0,g+d);d=Math.min(d,this.ovmap.size.w-b);this.setRectPxBounds(new OpenLayers.Bounds(d,
e+a,d+b,e));this.updateMapToRect()},onButtonClick:function(a){a.buttonElement===this.minimizeDiv?this.minimizeControl():a.buttonElement===this.maximizeDiv&&this.maximizeControl()},maximizeControl:function(a){this.element.style.display="";this.showToggle(!1);null!=a&&OpenLayers.Event.stop(a)},minimizeControl:function(a){this.element.style.display="none";this.showToggle(!0);null!=a&&OpenLayers.Event.stop(a)},showToggle:function(a){this.maximizeDiv&&(this.maximizeDiv.style.display=a?"":"none");this.minimizeDiv&&
(this.minimizeDiv.style.display=a?"none":"")},update:function(){null==this.ovmap&&this.createMap();!this.autoPan&&this.isSuitableOverview()||this.updateOverview();this.updateRectToMap()},isSuitableOverview:function(){var a=this.map.getExtent(),b=this.map.getMaxExtent(),a=new OpenLayers.Bounds(Math.max(a.left,b.left),Math.max(a.bottom,b.bottom),Math.min(a.right,b.right),Math.min(a.top,b.top));this.ovmap.getProjection()!=this.map.getProjection()&&(a=a.transform(this.map.getProjectionObject(),this.ovmap.getProjectionObject()));
b=this.ovmap.getResolution()/this.map.getResolution();return b>this.minRatio&&b<=this.maxRatio&&this.ovmap.getExtent().containsBounds(a)},updateOverview:function(){var a=this.map.getResolution(),b=this.ovmap.getResolution(),d=b/a;d>this.maxRatio?b=this.minRatio*a:d<=this.minRatio&&(b=this.maxRatio*a);this.ovmap.getProjection()!=this.map.getProjection()?(a=this.map.center.clone(),a.transform(this.map.getProjectionObject(),this.ovmap.getProjectionObject())):a=this.map.center;this.ovmap.setCenter(a,
this.ovmap.getZoomForResolution(b*this.resolutionFactor));this.updateRectToMap()},createMap:function(){var a=OpenLayers.Util.extend({controls:[],maxResolution:"auto",fallThrough:!1},this.mapOptions);this.ovmap=new OpenLayers.Map(this.mapDiv,a);this.ovmap.viewPortDiv.appendChild(this.extentRectangle);OpenLayers.Event.stopObserving(window,"unload",this.ovmap.unloadDestroy);this.ovmap.addLayers(this.layers);this.ovmap.zoomToMaxExtent();this.wComp=(this.wComp=parseInt(OpenLayers.Element.getStyle(this.extentRectangle,
"border-left-width"))+parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-right-width")))?this.wComp:2;this.hComp=(this.hComp=parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-top-width"))+parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-bottom-width")))?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:!0,"double":!1,stopSingle:!0,stopDouble:!0,pixelTolerance:1,map:this.ovmap});this.handlers.click.activate();this.rectEvents=new OpenLayers.Events(this,this.extentRectangle,null,!0);this.rectEvents.register("mouseover",this,function(a){this.handlers.drag.active||this.map.dragging||this.handlers.drag.activate()});this.rectEvents.register("mouseout",this,function(a){this.handlers.drag.dragging||this.handlers.drag.deactivate()});if(this.ovmap.getProjection()!=this.map.getProjection()){var a=this.map.getProjectionObject().getUnits()||
this.map.units||this.map.baseLayer.units,b=this.ovmap.getProjectionObject().getUnits()||this.ovmap.units||this.ovmap.baseLayer.units;this.resolutionFactor=a&&b?OpenLayers.INCHES_PER_UNIT[a]/OpenLayers.INCHES_PER_UNIT[b]:1}},updateRectToMap:function(){var a;a=this.ovmap.getProjection()!=this.map.getProjection()?this.map.getExtent().transform(this.map.getProjectionObject(),this.ovmap.getProjectionObject()):this.map.getExtent();(a=this.getRectBoundsFromMapBounds(a))&&this.setRectPxBounds(a)},updateMapToRect:function(){var a=
this.getMapBoundsFromRectBounds(this.rectPxBounds);this.ovmap.getProjection()!=this.map.getProjection()&&(a=a.transform(this.ovmap.getProjectionObject(),this.map.getProjectionObject()));this.map.panTo(a.getCenterLonLat())},setRectPxBounds:function(a){var b=Math.max(a.top,0),d=Math.max(a.left,0),e=Math.min(a.top+Math.abs(a.getHeight()),this.ovmap.size.h-this.hComp);a=Math.min(a.left+a.getWidth(),this.ovmap.size.w-this.wComp);var f=Math.max(a-d,0),g=Math.max(e-b,0);f<this.minRectSize||g<this.minRectSize?
(this.extentRectangle.className=this.displayClass+this.minRectDisplayClass,f=d+f/2-this.minRectSize/2,this.extentRectangle.style.top=Math.round(b+g/2-this.minRectSize/2)+"px",this.extentRectangle.style.left=Math.round(f)+"px",this.extentRectangle.style.height=this.minRectSize+"px",this.extentRectangle.style.width=this.minRectSize+"px"):(this.extentRectangle.className=this.displayClass+"ExtentRectangle",this.extentRectangle.style.top=Math.round(b)+"px",this.extentRectangle.style.left=Math.round(d)+
"px",this.extentRectangle.style.height=Math.round(g)+"px",this.extentRectangle.style.width=Math.round(f)+"px");this.rectPxBounds=new OpenLayers.Bounds(Math.round(d),Math.round(e),Math.round(a),Math.round(b))},getRectBoundsFromMapBounds:function(a){var b=this.getOverviewPxFromLonLat({lon:a.left,lat:a.bottom});a=this.getOverviewPxFromLonLat({lon:a.right,lat:a.top});var d=null;b&&a&&(d=new OpenLayers.Bounds(b.x,b.y,a.x,a.y));return d},getMapBoundsFromRectBounds:function(a){var b=this.getLonLatFromOverviewPx({x:a.left,
y:a.bottom});a=this.getLonLatFromOverviewPx({x:a.right,y:a.top});return new OpenLayers.Bounds(b.lon,b.lat,a.lon,a.lat)},getLonLatFromOverviewPx:function(a){var b=this.ovmap.size,d=this.ovmap.getResolution(),e=this.ovmap.getExtent().getCenterLonLat();return{lon:e.lon+(a.x-b.w/2)*d,lat:e.lat-(a.y-b.h/2)*d}},getOverviewPxFromLonLat:function(a){var b=this.ovmap.getResolution(),d=this.ovmap.getExtent();if(d)return{x:Math.round(1/b*(a.lon-d.left)),y:Math.round(1/b*(d.top-a.lat))}},CLASS_NAME:"OpenLayers.Control.OverviewMap"});
OpenLayers.Control.PinchZoom=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,pinchOrigin:null,currentCenter:null,autoActivate:!0,preserveCenter:!1,initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,arguments);this.handler=new OpenLayers.Handler.Pinch(this,{start:this.pinchStart,move:this.pinchMove,done:this.pinchDone},this.handlerOptions)},pinchStart:function(a,b){var d=this.preserveCenter?this.map.getPixelFromLonLat(this.map.getCenter()):a.xy;this.currentCenter=
this.pinchOrigin=d},pinchMove:function(a,b){var d=b.scale,e=this.map.layerContainerOriginPx,f=this.pinchOrigin,g=this.preserveCenter?this.map.getPixelFromLonLat(this.map.getCenter()):a.xy,h=Math.round(e.x+g.x-f.x+(d-1)*(e.x-f.x)),e=Math.round(e.y+g.y-f.y+(d-1)*(e.y-f.y));this.map.applyTransform(h,e,d);this.currentCenter=g},pinchDone:function(a,b,d){this.map.applyTransform();a=this.map.getZoomForResolution(this.map.getResolution()/d.scale,!0);if(a!==this.map.getZoom()||!this.currentCenter.equals(this.pinchOrigin)){b=
this.map.getResolutionForZoom(a);d=this.map.getLonLatFromPixel(this.pinchOrigin);var e=this.currentCenter,f=this.map.getSize();d.lon+=b*(f.w/2-e.x);d.lat-=b*(f.h/2-e.y);this.map.div.clientWidth=this.map.div.clientWidth;this.map.setCenter(d,a)}},CLASS_NAME:"OpenLayers.Control.PinchZoom"});
OpenLayers.Control.TouchNavigation=OpenLayers.Class(OpenLayers.Control,{dragPan:null,dragPanOptions:null,pinchZoom:null,pinchZoomOptions:null,clickHandlerOptions:null,documentDrag:!1,autoActivate:!0,initialize:function(a){this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.deactivate();this.dragPan&&this.dragPan.destroy();this.dragPan=null;this.pinchZoom&&(this.pinchZoom.destroy(),delete this.pinchZoom);OpenLayers.Control.prototype.destroy.apply(this,
arguments)},activate:function(){return OpenLayers.Control.prototype.activate.apply(this,arguments)?(this.dragPan.activate(),this.handlers.click.activate(),this.pinchZoom.activate(),!0):!1},deactivate:function(){return OpenLayers.Control.prototype.deactivate.apply(this,arguments)?(this.dragPan.deactivate(),this.handlers.click.deactivate(),this.pinchZoom.deactivate(),!0):!1},draw:function(){var a={click:this.defaultClick,dblclick:this.defaultDblClick},b=OpenLayers.Util.extend({"double":!0,stopDouble:!0,
pixelTolerance:2},this.clickHandlerOptions);this.handlers.click=new OpenLayers.Handler.Click(this,a,b);this.dragPan=new OpenLayers.Control.DragPan(OpenLayers.Util.extend({map:this.map,documentDrag:this.documentDrag},this.dragPanOptions));this.dragPan.draw();this.pinchZoom=new OpenLayers.Control.PinchZoom(OpenLayers.Util.extend({map:this.map},this.pinchZoomOptions))},defaultClick:function(a){a.lastTouches&&2==a.lastTouches.length&&this.map.zoomOut()},defaultDblClick:function(a){this.map.zoomTo(this.map.zoom+
1,a.xy)},CLASS_NAME:"OpenLayers.Control.TouchNavigation"});OpenLayers.Console.warn("OpenLayers.Rico is deprecated");OpenLayers.Rico=OpenLayers.Rico||{};
OpenLayers.Rico.Color=OpenLayers.Class({initialize:function(a,b,d){this.rgb={r:a,g:b,b:d}},setRed:function(a){this.rgb.r=a},setGreen:function(a){this.rgb.g=a},setBlue:function(a){this.rgb.b=a},setHue:function(a){var b=this.asHSB();b.h=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)},setSaturation:function(a){var b=this.asHSB();b.s=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)},setBrightness:function(a){var b=this.asHSB();b.b=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)},
darken:function(a){var b=this.asHSB();this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,Math.max(b.b-a,0))},brighten:function(a){var b=this.asHSB();this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,Math.min(b.b+a,1))},blend:function(a){this.rgb.r=Math.floor((this.rgb.r+a.rgb.r)/2);this.rgb.g=Math.floor((this.rgb.g+a.rgb.g)/2);this.rgb.b=Math.floor((this.rgb.b+a.rgb.b)/2)},isBright:function(){this.asHSB();return 0.5<this.asHSB().b},isDark:function(){return!this.isBright()},asRGB:function(){return"rgb("+
this.rgb.r+","+this.rgb.g+","+this.rgb.b+")"},asHex:function(){return"#"+this.rgb.r.toColorPart()+this.rgb.g.toColorPart()+this.rgb.b.toColorPart()},asHSB:function(){return OpenLayers.Rico.Color.RGBtoHSB(this.rgb.r,this.rgb.g,this.rgb.b)},toString:function(){return this.asHex()}});
OpenLayers.Rico.Color.createFromHex=function(a){if(4==a.length){var b=a;a="#";for(var d=1;4>d;d++)a+=b.charAt(d)+b.charAt(d)}0==a.indexOf("#")&&(a=a.substring(1));b=a.substring(0,2);d=a.substring(2,4);a=a.substring(4,6);return new OpenLayers.Rico.Color(parseInt(b,16),parseInt(d,16),parseInt(a,16))};
OpenLayers.Rico.Color.createColorFromBackground=function(a){var b=OpenLayers.Element.getStyle(OpenLayers.Util.getElement(a),"backgroundColor");return"transparent"==b&&a.parentNode?OpenLayers.Rico.Color.createColorFromBackground(a.parentNode):null==b?new OpenLayers.Rico.Color(255,255,255):0==b.indexOf("rgb(")?(a=b.substring(4,b.length-1).split(","),new OpenLayers.Rico.Color(parseInt(a[0]),parseInt(a[1]),parseInt(a[2]))):0==b.indexOf("#")?OpenLayers.Rico.Color.createFromHex(b):new OpenLayers.Rico.Color(255,
255,255)};
OpenLayers.Rico.Color.HSBtoRGB=function(a,b,d){var e=0,f=0,g=0;if(0==b)g=f=e=parseInt(255*d+0.5);else{a=6*(a-Math.floor(a));var h=a-Math.floor(a),l=d*(1-b),m=d*(1-b*h);b=d*(1-b*(1-h));switch(parseInt(a)){case 0:e=255*d+0.5;f=255*b+0.5;g=255*l+0.5;break;case 1:e=255*m+0.5;f=255*d+0.5;g=255*l+0.5;break;case 2:e=255*l+0.5;f=255*d+0.5;g=255*b+0.5;break;case 3:e=255*l+0.5;f=255*m+0.5;g=255*d+0.5;break;case 4:e=255*b+0.5;f=255*l+0.5;g=255*d+0.5;break;case 5:e=255*d+0.5,f=255*l+0.5,g=255*m+0.5}}return{r:parseInt(e),g:parseInt(f),
b:parseInt(g)}};OpenLayers.Rico.Color.RGBtoHSB=function(a,b,d){var e,f=a>b?a:b;d>f&&(f=d);var g=a<b?a:b;d<g&&(g=d);e=0!=f?(f-g)/f:0;if(0==e)a=0;else{var h=(f-a)/(f-g),l=(f-b)/(f-g);d=(f-d)/(f-g);a=(a==f?d-l:b==f?2+h-d:4+l-h)/6;0>a&&(a+=1)}return{h:a,s:e,b:f/255}};
OpenLayers.Format.WFSCapabilities.v1_0_0=OpenLayers.Class(OpenLayers.Format.WFSCapabilities.v1,{readers:{wfs:OpenLayers.Util.applyDefaults({Service:function(a,b){b.service={};this.readChildNodes(a,b.service)},Fees:function(a,b){var d=this.getChildValue(a);d&&"none"!=d.toLowerCase()&&(b.fees=d)},AccessConstraints:function(a,b){var d=this.getChildValue(a);d&&"none"!=d.toLowerCase()&&(b.accessConstraints=d)},OnlineResource:function(a,b){var d=this.getChildValue(a);d&&"none"!=d.toLowerCase()&&(b.onlineResource=
d)},Keywords:function(a,b){var d=this.getChildValue(a);d&&"none"!=d.toLowerCase()&&(b.keywords=d.split(", "))},Capability:function(a,b){b.capability={};this.readChildNodes(a,b.capability)},Request:function(a,b){b.request={};this.readChildNodes(a,b.request)},GetFeature:function(a,b){b.getfeature={href:{},formats:[]};this.readChildNodes(a,b.getfeature)},ResultFormat:function(a,b){for(var d=a.childNodes,e,f=0;f<d.length;f++)e=d[f],1==e.nodeType&&b.formats.push(e.nodeName)},DCPType:function(a,b){this.readChildNodes(a,
b)},HTTP:function(a,b){this.readChildNodes(a,b.href)},Get:function(a,b){b.get=a.getAttribute("onlineResource")},Post:function(a,b){b.post=a.getAttribute("onlineResource")},SRS:function(a,b){var d=this.getChildValue(a);d&&(b.srs=d)}},OpenLayers.Format.WFSCapabilities.v1.prototype.readers.wfs)},CLASS_NAME:"OpenLayers.Format.WFSCapabilities.v1_0_0"});
OpenLayers.Layer.MapServer=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{mode:"map",map_imagetype:"png"},initialize:function(a,b,d,e){OpenLayers.Layer.Grid.prototype.initialize.apply(this,arguments);this.params=OpenLayers.Util.applyDefaults(this.params,this.DEFAULT_PARAMS);if(null==e||null==e.isBaseLayer)this.isBaseLayer="true"!=this.params.transparent&&!0!=this.params.transparent},clone:function(a){null==a&&(a=new OpenLayers.Layer.MapServer(this.name,this.url,this.params,this.getOptions()));
return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},getURL:function(a){a=this.adjustBounds(a);a=[a.left,a.bottom,a.right,a.top];var b=this.getImageSize();return this.getFullRequestString({mapext:a,imgext:a,map_size:[b.w,b.h],imgx:b.w/2,imgy:b.h/2,imgxy:[b.w,b.h]})},getFullRequestString:function(a,b){var d=null==b?this.url:b,e=OpenLayers.Util.extend({},this.params),e=OpenLayers.Util.extend(e,a),f=OpenLayers.Util.getParameterString(e);OpenLayers.Util.isArray(d)&&(d=this.selectUrl(f,d));
var f=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(d)),g;for(g in e)g.toUpperCase()in f&&delete e[g];f=OpenLayers.Util.getParameterString(e);e=d;f=f.replace(/,/g,"+");""!=f&&(g=d.charAt(d.length-1),e="&"==g||"?"==g?e+f:-1==d.indexOf("?")?e+("?"+f):e+("&"+f));return e},CLASS_NAME:"OpenLayers.Layer.MapServer"});
OpenLayers.Renderer.VML=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"urn:schemas-microsoft-com:vml",symbolCache:{},offset:null,initialize:function(a){if(this.supported()){if(!document.namespaces.olv){document.namespaces.add("olv",this.xmlns);for(var b=document.createStyleSheet(),d="shape rect oval fill stroke imagedata group textbox".split(" "),e=0,f=d.length;e<f;e++)b.addRule("olv\\:"+d[e],"behavior: url(#default#VML); position: absolute; display: inline-block;")}OpenLayers.Renderer.Elements.prototype.initialize.apply(this,
arguments)}},supported:function(){return!!document.namespaces},setExtent:function(a,b){var d=OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments),e=this.getResolution(),f=a.left/e|0,e=a.top/e-this.size.h|0;b||!this.offset?(this.offset={x:f,y:e},e=f=0):(f-=this.offset.x,e-=this.offset.y);this.root.coordorigin=f-this.xOffset+" "+e;for(var f=[this.root,this.vectorRoot,this.textRoot],g=0,h=f.length;g<h;++g)e=f[g],e.coordsize=this.size.w+" "+this.size.h;this.root.style.flip="y";return d},
setSize:function(a){OpenLayers.Renderer.prototype.setSize.apply(this,arguments);for(var b=[this.rendererRoot,this.root,this.vectorRoot,this.textRoot],d=this.size.w+"px",e=this.size.h+"px",f,g=0,h=b.length;g<h;++g)f=b[g],f.style.width=d,f.style.height=e},getNodeType:function(a,b){var d=null;switch(a.CLASS_NAME){case "OpenLayers.Geometry.Point":d=b.externalGraphic?"olv:rect":this.isComplexSymbol(b.graphicName)?"olv:shape":"olv:oval";break;case "OpenLayers.Geometry.Rectangle":d="olv:rect";break;case "OpenLayers.Geometry.LineString":case "OpenLayers.Geometry.LinearRing":case "OpenLayers.Geometry.Polygon":case "OpenLayers.Geometry.Curve":d=
"olv:shape"}return d},setStyle:function(a,b,d,e){b=b||a._style;d=d||a._options;var f=b.fillColor,g=b.title||b.graphicTitle;g&&(a.title=g);if("OpenLayers.Geometry.Point"===a._geometryClass)if(b.externalGraphic){d.isFilled=!0;var f=b.graphicWidth||b.graphicHeight,g=b.graphicHeight||b.graphicWidth,f=f?f:2*b.pointRadius,g=g?g:2*b.pointRadius,h=this.getResolution(),l=void 0!=b.graphicXOffset?b.graphicXOffset:-(0.5*f),m=void 0!=b.graphicYOffset?b.graphicYOffset:-(0.5*g);a.style.left=((e.x-this.featureDx)/
h-this.offset.x+l|0)+"px";a.style.top=(e.y/h-this.offset.y-(m+g)|0)+"px";a.style.width=f+"px";a.style.height=g+"px";a.style.flip="y";f="none";d.isStroked=!1}else this.isComplexSymbol(b.graphicName)?(g=this.importSymbol(b.graphicName),a.path=g.path,a.coordorigin=g.left+","+g.bottom,g=g.size,a.coordsize=g+","+g,this.drawCircle(a,e,b.pointRadius),a.style.flip="y"):this.drawCircle(a,e,b.pointRadius);d.isFilled?a.fillcolor=f:a.filled="false";e=a.getElementsByTagName("fill");e=0==e.length?null:e[0];d.isFilled?
(e||(e=this.createNode("olv:fill",a.id+"_fill")),e.opacity=b.fillOpacity,"OpenLayers.Geometry.Point"===a._geometryClass&&b.externalGraphic&&(b.graphicOpacity&&(e.opacity=b.graphicOpacity),e.src=b.externalGraphic,e.type="frame",b.graphicWidth&&b.graphicHeight||(e.aspect="atmost")),e.parentNode!=a&&a.appendChild(e)):e&&a.removeChild(e);f=b.rotation;if(void 0!==f||void 0!==a._rotation)a._rotation=f,b.externalGraphic?(this.graphicRotate(a,l,m,b),e.opacity=0):"OpenLayers.Geometry.Point"===a._geometryClass&&
(a.style.rotation=f||0);l=a.getElementsByTagName("stroke");l=0==l.length?null:l[0];d.isStroked?(l||(l=this.createNode("olv:stroke",a.id+"_stroke"),a.appendChild(l)),l.on=!0,l.color=b.strokeColor,l.weight=b.strokeWidth+"px",l.opacity=b.strokeOpacity,l.endcap="butt"==b.strokeLinecap?"flat":b.strokeLinecap||"round",b.strokeDashstyle&&(l.dashstyle=this.dashStyle(b))):(a.stroked=!1,l&&(l.on=!1));"inherit"!=b.cursor&&null!=b.cursor&&(a.style.cursor=b.cursor);return a},graphicRotate:function(a,b,d,e){e=
e||a._style;var f=e.rotation||0,g,h;if(e.graphicWidth&&e.graphicHeight){h=Math.max(e.graphicWidth,e.graphicHeight);g=e.graphicWidth/e.graphicHeight;var l=Math.round(e.graphicWidth||h*g),m=Math.round(e.graphicHeight||h);a.style.width=l+"px";a.style.height=m+"px";var q=document.getElementById(a.id+"_image");q||(q=this.createNode("olv:imagedata",a.id+"_image"),a.appendChild(q));q.style.width=l+"px";q.style.height=m+"px";q.src=e.externalGraphic;q.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='', sizingMethod='scale')";
q=f*Math.PI/180;f=Math.sin(q);q=Math.cos(q);f="progid:DXImageTransform.Microsoft.Matrix(M11="+q+",M12="+-f+",M21="+f+",M22="+q+",SizingMethod='auto expand')\n";(q=e.graphicOpacity||e.fillOpacity)&&1!=q&&(f+="progid:DXImageTransform.Microsoft.BasicImage(opacity="+q+")\n");a.style.filter=f;f=new OpenLayers.Geometry.Point(-b,-d);l=(new OpenLayers.Bounds(0,0,l,m)).toGeometry();l.rotate(e.rotation,f);l=l.getBounds();a.style.left=Math.round(parseInt(a.style.left)+l.left)+"px";a.style.top=Math.round(parseInt(a.style.top)-
l.bottom)+"px"}else{var r=new Image;r.onreadystatechange=OpenLayers.Function.bind(function(){if("complete"==r.readyState||"interactive"==r.readyState)g=r.width/r.height,h=Math.max(2*e.pointRadius,e.graphicWidth||0,e.graphicHeight||0),b*=g,e.graphicWidth=h*g,e.graphicHeight=h,this.graphicRotate(a,b,d,e)},this);r.src=e.externalGraphic}},postDraw:function(a){a.style.visibility="visible";var b=a._style.fillColor,d=a._style.strokeColor;"none"==b&&a.fillcolor!=b&&(a.fillcolor=b);"none"==d&&a.strokecolor!=
d&&(a.strokecolor=d)},setNodeDimension:function(a,b){var d=b.getBounds();if(d){var e=this.getResolution(),d=new OpenLayers.Bounds((d.left-this.featureDx)/e-this.offset.x|0,d.bottom/e-this.offset.y|0,(d.right-this.featureDx)/e-this.offset.x|0,d.top/e-this.offset.y|0);a.style.left=d.left+"px";a.style.top=d.top+"px";a.style.width=d.getWidth()+"px";a.style.height=d.getHeight()+"px";a.coordorigin=d.left+" "+d.top;a.coordsize=d.getWidth()+" "+d.getHeight()}},dashStyle:function(a){a=a.strokeDashstyle;switch(a){case "solid":case "dot":case "dash":case "dashdot":case "longdash":case "longdashdot":return a;
default:return a=a.split(/[ ,]/),2==a.length?1*a[0]>=2*a[1]?"longdash":1==a[0]||1==a[1]?"dot":"dash":4==a.length?1*a[0]>=2*a[1]?"longdashdot":"dashdot":"solid"}},createNode:function(a,b){var d=document.createElement(a);b&&(d.id=b);d.unselectable="on";d.onselectstart=OpenLayers.Function.False;return d},nodeTypeCompare:function(a,b){var d=b,e=d.indexOf(":");-1!=e&&(d=d.substr(e+1));var f=a.nodeName,e=f.indexOf(":");-1!=e&&(f=f.substr(e+1));return d==f},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(a,b,d){if(!isNaN(b.x)&&!isNaN(b.y)){var e=this.getResolution();a.style.left=((b.x-this.featureDx)/e-this.offset.x|0)-d+"px";a.style.top=(b.y/e-this.offset.y|0)-d+"px";b=2*d;a.style.width=b+"px";a.style.height=b+"px";return a}return!1},drawLineString:function(a,b){return this.drawLine(a,b,!1)},drawLinearRing:function(a,b){return this.drawLine(a,
b,!0)},drawLine:function(a,b,d){this.setNodeDimension(a,b);for(var e=this.getResolution(),f=b.components.length,g=Array(f),h,l,m=0;m<f;m++)h=b.components[m],l=(h.x-this.featureDx)/e-this.offset.x|0,h=h.y/e-this.offset.y|0,g[m]=" "+l+","+h+" l ";b=d?" x e":" e";a.path="m"+g.join("")+b;return a},drawPolygon:function(a,b){this.setNodeDimension(a,b);var d=this.getResolution(),e=[],f,g,h,l,m,q,r,u,z,v;f=0;for(g=b.components.length;f<g;f++){e.push("m");h=b.components[f].components;l=0===f;q=m=null;r=0;
for(u=h.length;r<u;r++)z=h[r],v=(z.x-this.featureDx)/d-this.offset.x|0,z=z.y/d-this.offset.y|0,v=" "+v+","+z,e.push(v),0==r&&e.push(" l"),l||(m?m!=v&&(q?q!=v&&(l=!0):q=v):m=v);e.push(l?" x ":" ")}e.push("e");a.path=e.join("");return a},drawRectangle:function(a,b){var d=this.getResolution();a.style.left=((b.x-this.featureDx)/d-this.offset.x|0)+"px";a.style.top=(b.y/d-this.offset.y|0)+"px";a.style.width=(b.width/d|0)+"px";a.style.height=(b.height/d|0)+"px";return a},drawText:function(a,b,d){var e=this.nodeFactory(a+
this.LABEL_ID_SUFFIX,"olv:rect"),f=this.nodeFactory(a+this.LABEL_ID_SUFFIX+"_textbox","olv:textbox"),g=this.getResolution();e.style.left=((d.x-this.featureDx)/g-this.offset.x|0)+"px";e.style.top=(d.y/g-this.offset.y|0)+"px";e.style.flip="y";f.innerText=b.label;"inherit"!=b.cursor&&null!=b.cursor&&(f.style.cursor=b.cursor);b.fontColor&&(f.style.color=b.fontColor);b.fontOpacity&&(f.style.filter="alpha(opacity="+100*b.fontOpacity+")");b.fontFamily&&(f.style.fontFamily=b.fontFamily);b.fontSize&&(f.style.fontSize=
b.fontSize);b.fontWeight&&(f.style.fontWeight=b.fontWeight);b.fontStyle&&(f.style.fontStyle=b.fontStyle);!0===b.labelSelect&&(e._featureId=a,f._featureId=a,f._geometry=d,f._geometryClass=d.CLASS_NAME);f.style.whiteSpace="nowrap";f.inset="1px,0px,0px,0px";e.parentNode||(e.appendChild(f),this.textRoot.appendChild(e));b=b.labelAlign||"cm";1==b.length&&(b+="m");a=f.clientWidth*OpenLayers.Renderer.VML.LABEL_SHIFT[b.substr(0,1)];f=f.clientHeight*OpenLayers.Renderer.VML.LABEL_SHIFT[b.substr(1,1)];e.style.left=
parseInt(e.style.left)-a-1+"px";e.style.top=parseInt(e.style.top)+f+"px"},moveRoot:function(a){var b=this.map.getLayer(a.container.id);b instanceof OpenLayers.Layer.Vector.RootContainer&&(b=this.map.getLayer(this.container.id));b&&b.renderer.clear();OpenLayers.Renderer.Elements.prototype.moveRoot.apply(this,arguments);b&&b.redraw()},importSymbol:function(a){var b=this.container.id+"-"+a,d=this.symbolCache[b];if(d)return d;d=OpenLayers.Renderer.symbol[a];if(!d)throw Error(a+" is not a valid symbol name");
a=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0);for(var e=["m"],f=0;f<d.length;f+=2){var g=d[f],h=d[f+1];a.left=Math.min(a.left,g);a.bottom=Math.min(a.bottom,h);a.right=Math.max(a.right,g);a.top=Math.max(a.top,h);e.push(g);e.push(h);0==f&&e.push("l")}e.push("x e");d=e.join(" ");e=(a.getWidth()-a.getHeight())/2;0<e?(a.bottom-=e,a.top+=e):(a.left+=e,a.right-=e);d={path:d,size:a.getWidth(),left:a.left,bottom:a.bottom};return this.symbolCache[b]=d},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.Protocol.WFS.v1_0_0=OpenLayers.Class(OpenLayers.Protocol.WFS.v1,{version:"1.0.0",CLASS_NAME:"OpenLayers.Protocol.WFS.v1_0_0"});
OpenLayers.Handler.RegularPolygon=OpenLayers.Class(OpenLayers.Handler.Drag,{sides:4,radius:null,snapAngle:null,snapToggle:"shiftKey",layerOptions:null,persist:!1,irregular:!1,citeCompliant:!1,angle:null,fixedRadius:!1,feature:null,layer:null,origin:null,initialize:function(a,b,d){d&&d.layerOptions&&d.layerOptions.styleMap||(this.style=OpenLayers.Util.extend(OpenLayers.Feature.Vector.style["default"],{}));OpenLayers.Handler.Drag.prototype.initialize.apply(this,[a,b,d]);this.options=d?d:{}},setOptions:function(a){OpenLayers.Util.extend(this.options,
a);OpenLayers.Util.extend(this,a)},activate:function(){var a=!1;OpenLayers.Handler.Drag.prototype.activate.apply(this,arguments)&&(a=OpenLayers.Util.extend({displayInLayerSwitcher:!1,calculateInRange:OpenLayers.Function.True,wrapDateLine:this.citeCompliant},this.layerOptions),this.layer=new OpenLayers.Layer.Vector(this.CLASS_NAME,a),this.map.addLayer(this.layer),a=!0);return a},deactivate:function(){var a=!1;OpenLayers.Handler.Drag.prototype.deactivate.apply(this,arguments)&&(this.dragging&&this.cancel(),
null!=this.layer.map&&(this.layer.destroy(!1),this.feature&&this.feature.destroy()),this.feature=this.layer=null,a=!0);return a},down:function(a){this.fixedRadius=!!this.radius;a=this.layer.getLonLatFromViewPortPx(a.xy);this.origin=new OpenLayers.Geometry.Point(a.lon,a.lat);if(!this.fixedRadius||this.irregular)this.radius=this.map.getResolution();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:!0});this.layer.drawFeature(this.feature,this.style)},move:function(a){var b=this.layer.getLonLatFromViewPortPx(a.xy),b=new OpenLayers.Geometry.Point(b.lon,b.lat);this.irregular?(a=Math.sqrt(2)*Math.abs(b.y-this.origin.y)/2,this.radius=Math.max(this.map.getResolution()/2,a)):this.fixedRadius?this.origin=b:(this.calculateAngle(b,a),this.radius=Math.max(this.map.getResolution()/2,b.distanceTo(this.origin)));this.modifyGeometry();if(this.irregular){a=b.x-this.origin.x;var b=b.y-this.origin.y,
d;d=0==b?a/(this.radius*Math.sqrt(2)):a/b;this.feature.geometry.resize(1,this.origin,d);this.feature.geometry.move(a/2,b/2)}this.layer.drawFeature(this.feature,this.style)},up:function(a){this.finalize();this.start==this.last&&this.callback("done",[a.xy])},out:function(a){this.finalize()},createGeometry:function(){this.angle=Math.PI*(1/this.sides-0.5);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 a,b,d=this.feature.geometry.components[0];d.components.length!=this.sides+1&&(this.createGeometry(),d=this.feature.geometry.components[0]);for(var e=0;e<this.sides;++e)b=d.components[e],a=this.angle+2*e*Math.PI/this.sides,b.x=this.origin.x+this.radius*Math.cos(a),b.y=this.origin.y+this.radius*Math.sin(a),b.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 e=
Math.PI/180*this.snapAngle;this.angle=Math.round(d/e)*e}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&&(this.layer.renderer.clear(),this.layer.destroyFeatures())},callback:function(a,b){this.callbacks[a]&&this.callbacks[a].apply(this.control,[this.feature.geometry.clone()]);this.persist||"done"!=a&&"cancel"!=a||this.clear()},CLASS_NAME:"OpenLayers.Handler.RegularPolygon"});
OpenLayers.Console.warn("OpenLayers.Rico is deprecated");OpenLayers.Rico=OpenLayers.Rico||{};
OpenLayers.Rico.Corner={round:function(a,b){a=OpenLayers.Util.getElement(a);this._setOptions(b);var d=this.options.color;"fromElement"==this.options.color&&(d=this._background(a));var e=this.options.bgColor;"fromParent"==this.options.bgColor&&(e=this._background(a.offsetParent));this._roundCornersImpl(a,d,e)},changeColor:function(a,b){a.style.backgroundColor=b;for(var d=a.parentNode.getElementsByTagName("span"),e=0;e<d.length;e++)d[e].style.backgroundColor=b},changeOpacity:function(a,b){var d="alpha(opacity="+
100*b+")";a.style.opacity=b;a.style.filter=d;for(var e=a.parentNode.getElementsByTagName("span"),f=0;f<e.length;f++)e[f].style.opacity=b,e[f].style.filter=d},reRound:function(a,b){var d=a.parentNode.childNodes[2];a.parentNode.removeChild(a.parentNode.childNodes[0]);a.parentNode.removeChild(d);this.round(a.parentNode,b)},_roundCornersImpl:function(a,b,d){this.options.border&&this._renderBorder(a,d);this._isTopRounded()&&this._roundTopCorners(a,b,d);this._isBottomRounded()&&this._roundBottomCorners(a,
b,d)},_renderBorder:function(a,b){var d="1px solid "+this._borderColor(b);a.innerHTML="<div "+("style='border-left: "+d+";"+("border-right: "+d)+"'")+">"+a.innerHTML+"</div>"},_roundTopCorners:function(a,b,d){for(var e=this._createCorner(d),f=0;f<this.options.numSlices;f++)e.appendChild(this._createCornerSlice(b,d,f,"top"));a.style.paddingTop=0;a.insertBefore(e,a.firstChild)},_roundBottomCorners:function(a,b,d){for(var e=this._createCorner(d),f=this.options.numSlices-1;0<=f;f--)e.appendChild(this._createCornerSlice(b,
d,f,"bottom"));a.style.paddingBottom=0;a.appendChild(e)},_createCorner:function(a){var b=document.createElement("div");b.style.backgroundColor=this._isTransparent()?"transparent":a;return b},_createCornerSlice:function(a,b,d,e){var f=document.createElement("span"),g=f.style;g.backgroundColor=a;g.display="block";g.height="1px";g.overflow="hidden";g.fontSize="1px";a=this._borderColor(a,b);this.options.border&&0==d?(g.borderTopStyle="solid",g.borderTopWidth="1px",g.borderLeftWidth="0px",g.borderRightWidth=
"0px",g.borderBottomWidth="0px",g.height="0px",g.borderColor=a):a&&(g.borderColor=a,g.borderStyle="solid",g.borderWidth="0px 1px");this.options.compact||d!=this.options.numSlices-1||(g.height="2px");this._setMargin(f,d,e);this._setBorder(f,d,e);return f},_setOptions:function(a){this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:!0,border:!1,compact:!1};OpenLayers.Util.extend(this.options,a||{});this.options.numSlices=this.options.compact?2:4;this._isTransparent()&&(this.options.blend=
!1)},_whichSideTop:function(){return this._hasString(this.options.corners,"all","top")||0<=this.options.corners.indexOf("tl")&&0<=this.options.corners.indexOf("tr")?"":0<=this.options.corners.indexOf("tl")?"left":0<=this.options.corners.indexOf("tr")?"right":""},_whichSideBottom:function(){return this._hasString(this.options.corners,"all","bottom")||0<=this.options.corners.indexOf("bl")&&0<=this.options.corners.indexOf("br")?"":0<=this.options.corners.indexOf("bl")?"left":0<=this.options.corners.indexOf("br")?
"right":""},_borderColor:function(a,b){return"transparent"==a?b:this.options.border?this.options.border:this.options.blend?this._blend(b,a):""},_setMargin:function(a,b,d){b=this._marginSize(b);d="top"==d?this._whichSideTop():this._whichSideBottom();"left"==d?(a.style.marginLeft=b+"px",a.style.marginRight="0px"):"right"==d?(a.style.marginRight=b+"px",a.style.marginLeft="0px"):(a.style.marginLeft=b+"px",a.style.marginRight=b+"px")},_setBorder:function(a,b,d){b=this._borderSize(b);d="top"==d?this._whichSideTop():
this._whichSideBottom();"left"==d?(a.style.borderLeftWidth=b+"px",a.style.borderRightWidth="0px"):"right"==d?(a.style.borderRightWidth=b+"px",a.style.borderLeftWidth="0px"):(a.style.borderLeftWidth=b+"px",a.style.borderRightWidth=b+"px");!1!=this.options.border&&(a.style.borderLeftWidth=b+"px",a.style.borderRightWidth=b+"px")},_marginSize:function(a){if(this._isTransparent())return 0;var b=[5,3,2,1],d=[3,2,1,0],e=[2,1],f=[1,0];return this.options.compact&&this.options.blend?f[a]:this.options.compact?
e[a]:this.options.blend?d[a]:b[a]},_borderSize:function(a){var b=[5,3,2,1],d=[2,1,1,1],e=[1,0],f=[0,2,0,0];return this.options.compact&&(this.options.blend||this._isTransparent())?1:this.options.compact?e[a]:this.options.blend?d[a]:this.options.border?f[a]:this._isTransparent()?b[a]:0},_hasString:function(a){for(var b=1;b<arguments.length;b++)if(0<=a.indexOf(arguments[b]))return!0;return!1},_blend:function(a,b){var d=OpenLayers.Rico.Color.createFromHex(a);d.blend(OpenLayers.Rico.Color.createFromHex(b));
return d},_background:function(a){try{return OpenLayers.Rico.Color.createColorFromBackground(a).asHex()}catch(b){return"#ffffff"}},_isTransparent:function(){return"transparent"==this.options.color},_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 1==a.childNodes.length&&3==a.childNodes[0].nodeType}};
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},touchstart:{"in":"click",out:"clickout"}},feature:null,lastFeature:null,down:null,up:null,clickTolerance:4,geometryTypes:null,stopClick:!0,stopDown:!0,stopUp:!1,initialize:function(a,b,d,e){OpenLayers.Handler.prototype.initialize.apply(this,[a,d,e]);this.layer=
b},touchstart:function(a){this.startTouch();return OpenLayers.Event.isMultiTouch(a)?!0:this.mousedown(a)},touchmove:function(a){OpenLayers.Event.preventDefault(a)},mousedown:function(a){if(OpenLayers.Event.isLeftClick(a)||OpenLayers.Event.isSingleTouch(a))this.down=a.xy;return this.handle(a)?!this.stopDown:!0},mouseup:function(a){this.up=a.xy;return this.handle(a)?!this.stopUp:!0},click:function(a){return this.handle(a)?!this.stopClick:!0},mousemove:function(a){if(!this.callbacks.over&&!this.callbacks.out)return!0;
this.handle(a);return!0},dblclick:function(a){return!this.handle(a)},geometryTypeMatches:function(a){return null==this.geometryTypes||-1<OpenLayers.Util.indexOf(this.geometryTypes,a.geometry.CLASS_NAME)},handle:function(a){this.feature&&!this.feature.layer&&(this.feature=null);var b=a.type,d=!1,e=!!this.feature,f="click"==b||"dblclick"==b||"touchstart"==b;(this.feature=this.layer.getFeatureFromEvent(a))&&!this.feature.layer&&(this.feature=null);this.lastFeature&&!this.lastFeature.layer&&(this.lastFeature=
null);this.feature?("touchstart"===b&&OpenLayers.Event.preventDefault(a),a=this.feature!=this.lastFeature,this.geometryTypeMatches(this.feature)?(e&&a?(this.lastFeature&&this.triggerCallback(b,"out",[this.lastFeature]),this.triggerCallback(b,"in",[this.feature])):e&&!f||this.triggerCallback(b,"in",[this.feature]),this.lastFeature=this.feature,d=!0):(this.lastFeature&&(e&&a||f)&&this.triggerCallback(b,"out",[this.lastFeature]),this.feature=null)):this.lastFeature&&(e||f)&&this.triggerCallback(b,"out",
[this.lastFeature]);return d},triggerCallback:function(a,b,d){if(b=this.EVENTMAP[a][b])"click"==a&&this.up&&this.down?(Math.sqrt(Math.pow(this.up.x-this.down.x,2)+Math.pow(this.up.y-this.down.y,2))<=this.clickTolerance&&this.callback(b,d),this.up=this.down=null):this.callback(b,d)},activate:function(){var a=!1;OpenLayers.Handler.prototype.activate.apply(this,arguments)&&(this.moveLayerToTop(),this.map.events.on({removelayer:this.handleMapEvents,changelayer:this.handleMapEvents,scope:this}),a=!0);
return a},deactivate:function(){var a=!1;OpenLayers.Handler.prototype.deactivate.apply(this,arguments)&&(this.moveLayerBack(),this.up=this.down=this.lastFeature=this.feature=null,this.map.events.un({removelayer:this.handleMapEvents,changelayer:this.handleMapEvents,scope:this}),a=!0);return a},handleMapEvents:function(a){"removelayer"!=a.type&&"order"!=a.property||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;a>=this.map.Z_INDEX_BASE.Feature?this.layer.setZIndex(a):this.map.setLayerZIndex(this.layer,this.map.getLayerIndex(this.layer))},CLASS_NAME:"OpenLayers.Handler.Feature"});
OpenLayers.Control.DragFeature=OpenLayers.Class(OpenLayers.Control,{geometryTypes:null,onStart:function(a,b){},onDrag:function(a,b){},onComplete:function(a,b){},onEnter:function(a){},onLeave:function(a){},documentDrag:!1,layer:null,feature:null,dragCallbacks:{},featureCallbacks:{},lastPixel:null,initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,[b]);this.layer=a;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),{documentDrag:this.documentDrag}),feature:new OpenLayers.Handler.Feature(this,this.layer,OpenLayers.Util.extend({click:this.clickFeature,clickout:this.clickoutFeature,over:this.overFeature,out:this.outFeature},this.featureCallbacks),{geometryTypes:this.geometryTypes})}},clickFeature:function(a){this.handlers.feature.touch&&!this.over&&this.overFeature(a)&&(this.handlers.drag.dragstart(this.handlers.feature.evt),this.handlers.drag.stopDown=
!1)},clickoutFeature:function(a){this.handlers.feature.touch&&this.over&&(this.outFeature(a),this.handlers.drag.stopDown=!0)},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=!1;this.lastPixel=null;OpenLayers.Element.removeClass(this.map.viewPortDiv,
this.displayClass+"Over");return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},overFeature:function(a){var b=!1;this.handlers.drag.dragging?this.over=this.feature.id==a.id?!0:!1:(this.feature=a,this.handlers.drag.activate(),this.over=b=!0,OpenLayers.Element.addClass(this.map.viewPortDiv,this.displayClass+"Over"),this.onEnter(a));return b},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){this.over||this.handlers.drag.deactivate()},doneDragging:function(a){this.onComplete(this.feature,a)},outFeature:function(a){this.handlers.drag.dragging?this.feature.id==a.id&&(this.over=!1):(this.over=!1,this.handlers.drag.deactivate(),OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass+"Over"),this.onLeave(a),this.feature=null)},
cancel:function(){this.handlers.drag.deactivate();this.over=!1},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.Handler.Polygon=OpenLayers.Class(OpenLayers.Handler.Path,{holeModifier:null,drawingHole:!1,polygon:null,createFeature:function(a){a=this.layer.getLonLatFromViewPortPx(a);a=new OpenLayers.Geometry.Point(a.lon,a.lat);this.point=new OpenLayers.Feature.Vector(a);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:!0})},addPoint:function(a){if(!this.drawingHole&&this.holeModifier&&this.evt&&this.evt[this.holeModifier])for(var b=this.point.geometry,d=this.control.layer.features,e,f=d.length-1;0<=f;--f)if(e=d[f].geometry,(e instanceof OpenLayers.Geometry.Polygon||e instanceof OpenLayers.Geometry.MultiPolygon)&&e.intersects(b)){b=d[f];this.control.layer.removeFeatures([b],{silent:!0});this.control.layer.events.registerPriority("sketchcomplete",
this,this.finalizeInteriorRing);this.control.layer.events.registerPriority("sketchmodified",this,this.enforceTopology);b.geometry.addComponent(this.line.geometry);this.polygon=b;this.drawingHole=!0;break}OpenLayers.Handler.Path.prototype.addPoint.apply(this,arguments)},getCurrentPointIndex:function(){return this.line.geometry.components.length-2},enforceTopology:function(a){a=a.vertex;var b=this.line.geometry.components;this.polygon.geometry.intersects(a)||(b=b[b.length-3],a.x=b.x,a.y=b.y)},finishGeometry:function(){this.line.geometry.removeComponent(this.line.geometry.components[this.line.geometry.components.length-
2]);this.removePoint();this.finalize()},finalizeInteriorRing:function(){var a=this.line.geometry,b=0!==a.getArea();if(b){for(var d=this.polygon.geometry.components,e=d.length-2;0<=e;--e)if(a.intersects(d[e])){b=!1;break}if(b)a:for(e=d.length-2;0<e;--e)for(var f=d[e].components,g=0,h=f.length;g<h;++g)if(a.containsPoint(f[g])){b=!1;break a}}b?this.polygon.state!==OpenLayers.State.INSERT&&(this.polygon.state=OpenLayers.State.UPDATE):this.polygon.geometry.removeComponent(a);this.restoreFeature();return!1},
cancel:function(){this.drawingHole&&(this.polygon.geometry.removeComponent(this.line.geometry),this.restoreFeature(!0));return OpenLayers.Handler.Path.prototype.cancel.apply(this,arguments)},restoreFeature:function(a){this.control.layer.events.unregister("sketchcomplete",this,this.finalizeInteriorRing);this.control.layer.events.unregister("sketchmodified",this,this.enforceTopology);this.layer.removeFeatures([this.polygon],{silent:!0});this.control.layer.addFeatures([this.polygon],{silent:!0});this.drawingHole=
!1;a||this.control.layer.events.triggerEvent("sketchcomplete",{feature:this.polygon})},destroyFeature:function(a){OpenLayers.Handler.Path.prototype.destroyFeature.call(this,a);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;a&&this.multi&&(a=new OpenLayers.Geometry.MultiPolygon([a]));return a},CLASS_NAME:"OpenLayers.Handler.Polygon"});
OpenLayers.Popup.Anchored=OpenLayers.Class(OpenLayers.Popup,{relativePosition:null,keepInMap:!0,anchor:null,initialize:function(a,b,d,e,f,g,h){OpenLayers.Popup.prototype.initialize.apply(this,[a,b,d,e,g,h]);this.anchor=null!=f?f:{size:new OpenLayers.Size(0,0),offset:new OpenLayers.Pixel(0,0)}},destroy:function(){this.relativePosition=this.anchor=null;OpenLayers.Popup.prototype.destroy.apply(this,arguments)},show:function(){this.updatePosition();OpenLayers.Popup.prototype.show.apply(this,arguments)},
moveTo:function(a){var b=this.relativePosition;this.relativePosition=this.calculateRelativePosition(a);OpenLayers.Popup.prototype.moveTo.call(this,this.calculateNewPx(a));this.relativePosition!=b&&this.updateRelativePosition()},setSize:function(a){OpenLayers.Popup.prototype.setSize.apply(this,arguments);if(this.lonlat&&this.map){var b=this.map.getLayerPxFromLonLat(this.lonlat);this.moveTo(b)}},calculateRelativePosition:function(a){a=this.map.getLonLatFromLayerPx(a);a=this.map.getExtent().determineQuadrant(a);
return OpenLayers.Bounds.oppositeQuadrant(a)},updateRelativePosition:function(){},calculateNewPx:function(a){a=a.offset(this.anchor.offset);var b=this.size||this.contentSize,d="t"==this.relativePosition.charAt(0);a.y+=d?-b.h:this.anchor.size.h;d="l"==this.relativePosition.charAt(1);a.x+=d?-b.w:this.anchor.size.w;return a},CLASS_NAME:"OpenLayers.Popup.Anchored"});OpenLayers.Class.isPrototype=function(){};
OpenLayers.Class.create=function(){return function(){arguments&&arguments[0]!=OpenLayers.Class.isPrototype&&this.initialize.apply(this,arguments)}};OpenLayers.Class.inherit=function(a){var b=function(){a.call(this)},d=[b].concat(Array.prototype.slice.call(arguments));OpenLayers.inherit.apply(null,d);return b.prototype};OpenLayers.Util.clearArray=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"array = []"}));a.length=0};
OpenLayers.Util.setOpacity=function(a,b){OpenLayers.Util.modifyDOMElement(a,null,null,null,null,null,null,b)};OpenLayers.Util.safeStopPropagation=function(a){OpenLayers.Event.stop(a,!0)};OpenLayers.Util.getArgs=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.Util.getParameters"}));return OpenLayers.Util.getParameters(a)};"undefined"===typeof window.$&&(window.$=OpenLayers.Util.getElement);
OpenLayers.nullHandler=function(a){OpenLayers.Console.userError(OpenLayers.i18n("unhandledRequest",{statusText:a.statusText}))};OpenLayers.loadURL=function(a,b,d,e,f){"string"==typeof b&&(b=OpenLayers.Util.getParameters(b));return OpenLayers.Request.GET({url:a,params:b,success:e?e:OpenLayers.nullHandler,failure:f?f:OpenLayers.nullHandler,scope:d})};
OpenLayers.parseXMLString=function(a){var b=a.indexOf("<");0<b&&(a=a.substring(b));return OpenLayers.Util.Try(function(){var b=new ActiveXObject("Microsoft.XMLDOM");b.loadXML(a);return b},function(){return(new DOMParser).parseFromString(a,"text/xml")},function(){var b=new XMLHttpRequest;b.open("GET","data:text/xml;charset=utf-8,"+encodeURIComponent(a),!1);b.overrideMimeType&&b.overrideMimeType("text/xml");b.send(null);return b.responseXML})};
OpenLayers.Ajax={emptyFunction:function(){},getTransport:function(){return OpenLayers.Util.Try(function(){return new XMLHttpRequest},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")})||!1},activeRequestCount:0};
OpenLayers.Ajax.Responders={responders:[],register:function(a){for(var b=0;b<this.responders.length;b++)if(a==this.responders[b])return;this.responders.push(a)},unregister:function(a){OpenLayers.Util.removeItem(this.reponders,a)},dispatch:function(a,b,d){for(var e,f=0;f<this.responders.length;f++)if(e=this.responders[f],e[a]&&"function"==typeof e[a])try{e[a].apply(e,[b,d])}catch(g){}}};OpenLayers.Ajax.Responders.register({onCreate:function(){OpenLayers.Ajax.activeRequestCount++},onComplete:function(){OpenLayers.Ajax.activeRequestCount--}});
OpenLayers.Ajax.Base=OpenLayers.Class({initialize:function(a){this.options={method:"post",asynchronous:!0,contentType:"application/xml",parameters:""};OpenLayers.Util.extend(this.options,a||{});this.options.method=this.options.method.toLowerCase();"string"==typeof this.options.parameters&&(this.options.parameters=OpenLayers.Util.getParameters(this.options.parameters))}});
OpenLayers.Ajax.Request=OpenLayers.Class(OpenLayers.Ajax.Base,{_complete:!1,initialize:function(a,b){OpenLayers.Ajax.Base.prototype.initialize.apply(this,[b]);OpenLayers.ProxyHost&&OpenLayers.String.startsWith(a,"http")&&(a=OpenLayers.ProxyHost+encodeURIComponent(a));this.transport=OpenLayers.Ajax.getTransport();this.request(a)},request:function(a){this.url=a;this.method=this.options.method;a=OpenLayers.Util.extend({},this.options.parameters);"get"!=this.method&&"post"!=this.method&&(a._method=this.method,
this.method="post");this.parameters=a;if(a=OpenLayers.Util.getParameterString(a))"get"==this.method?this.url+=(-1<this.url.indexOf("?")?"&":"?")+a:/Konqueror|Safari|KHTML/.test(navigator.userAgent)&&(a+="&_=");try{var b=new OpenLayers.Ajax.Response(this);if(this.options.onCreate)this.options.onCreate(b);OpenLayers.Ajax.Responders.dispatch("onCreate",this,b);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);this.options.asynchronous&&window.setTimeout(OpenLayers.Function.bind(this.respondToReadyState,
this,1),10);this.transport.onreadystatechange=OpenLayers.Function.bind(this.onStateChange,this);this.setRequestHeaders();this.body="post"==this.method?this.options.postBody||a:null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType)this.onStateChange()}catch(d){this.dispatchException(d)}},onStateChange:function(){var a=this.transport.readyState;1<a&&(4!=a||!this._complete)&&this.respondToReadyState(this.transport.readyState)},setRequestHeaders:function(){var a=
{"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*",OpenLayers:!0};"post"==this.method&&(a["Content-type"]=this.options.contentType+(this.options.encoding?"; charset="+this.options.encoding:""),this.transport.overrideMimeType&&2005>(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]&&(a.Connection="close"));if("object"==typeof this.options.requestHeaders){var b=this.options.requestHeaders;if("function"==typeof b.push)for(var d=0,e=b.length;d<
e;d+=2)a[b[d]]=b[d+1];else for(d in b)a[d]=b[d]}for(var f in a)this.transport.setRequestHeader(f,a[f])},success:function(){var a=this.getStatus();return!a||200<=a&&300>a},getStatus:function(){try{return this.transport.status||0}catch(a){return 0}},respondToReadyState:function(a){a=OpenLayers.Ajax.Request.Events[a];var b=new OpenLayers.Ajax.Response(this);if("Complete"==a){try{this._complete=!0,(this.options["on"+b.status]||this.options["on"+(this.success()?"Success":"Failure")]||OpenLayers.Ajax.emptyFunction)(b)}catch(d){this.dispatchException(d)}b.getHeader("Content-type")}try{(this.options["on"+
a]||OpenLayers.Ajax.emptyFunction)(b),OpenLayers.Ajax.Responders.dispatch("on"+a,this,b)}catch(e){this.dispatchException(e)}"Complete"==a&&(this.transport.onreadystatechange=OpenLayers.Ajax.emptyFunction)},getHeader:function(a){try{return this.transport.getResponseHeader(a)}catch(b){return null}},dispatchException:function(a){var b=this.options.onException;if(b)b(this,a),OpenLayers.Ajax.Responders.dispatch("onException",this,a);else{for(var b=!1,d=OpenLayers.Ajax.Responders.responders,e=0;e<d.length;e++)if(d[e].onException){b=
!0;break}if(b)OpenLayers.Ajax.Responders.dispatch("onException",this,a);else throw a;}}});OpenLayers.Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];
OpenLayers.Ajax.Response=OpenLayers.Class({status:0,statusText:"",initialize:function(a){this.request=a;a=this.transport=a.transport;var b=this.readyState=a.readyState;if(2<b&&(!window.attachEvent||window.opera)||4==b)this.status=this.getStatus(),this.statusText=this.getStatusText(),this.responseText=null==a.responseText?"":String(a.responseText);4==b&&(a=a.responseXML,this.responseXML=void 0===a?null:a)},getStatus:OpenLayers.Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||
""}catch(a){return""}},getHeader:OpenLayers.Ajax.Request.prototype.getHeader,getResponseHeader:function(a){return this.transport.getResponseHeader(a)}});OpenLayers.Ajax.getElementsByTagNameNS=function(a,b,d,e){var f=null;return f=a.getElementsByTagNameNS?a.getElementsByTagNameNS(b,e):a.getElementsByTagName(d+":"+e)};OpenLayers.Ajax.serializeXMLToString=function(a){return(new XMLSerializer).serializeToString(a)};
OpenLayers.Util.extend(OpenLayers.Element,{hide:function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"element.style.display = 'none';"}));for(var a=0,b=arguments.length;a<b;a++){var d=OpenLayers.Util.getElement(arguments[a]);d&&(d.style.display="none")}},show:function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"element.style.display = '';"}));for(var a=0,b=arguments.length;a<b;a++){var d=OpenLayers.Util.getElement(arguments[a]);d&&(d.style.display=
"")}},getDimensions:function(a){a=OpenLayers.Util.getElement(a);if("none"!=OpenLayers.Element.getStyle(a,"display"))return{width:a.offsetWidth,height:a.offsetHeight};var b=a.style,d=b.visibility,e=b.position,f=b.display;b.visibility="hidden";b.position="absolute";b.display="";var g=a.clientWidth;a=a.clientHeight;b.display=f;b.position=e;b.visibility=d;return{width:g,height:a}}});
String.prototype.startsWith||(String.prototype.startsWith=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.startsWith"}));return OpenLayers.String.startsWith(this,a)});String.prototype.contains||(String.prototype.contains=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.contains"}));return OpenLayers.String.contains(this,a)});
String.prototype.trim||(String.prototype.trim=function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.trim"}));return OpenLayers.String.trim(this)});String.prototype.camelize||(String.prototype.camelize=function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.String.camelize"}));return OpenLayers.String.camelize(this)});
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)});
Function.prototype.bindAsEventListener||(Function.prototype.bindAsEventListener=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"OpenLayers.Function.bindAsEventListener"}));return OpenLayers.Function.bindAsEventListener(this,a)});window.Event?OpenLayers.Util.applyDefaults(window.Event,OpenLayers.Event):Event=OpenLayers.Event;
OpenLayers.Util.extend(OpenLayers.Tile.prototype,{getBoundsFromBaseLayer:function(a){var b=OpenLayers.i18n("reprojectDeprecated",{layerName:this.layer.name});OpenLayers.Console.warn(b);b=this.layer.map.getLonLatFromLayerPx(a);a=a.clone();a.x+=this.size.w;a.y+=this.size.h;a=this.layer.map.getLonLatFromLayerPx(a);b.lon>a.lon&&(0>b.lon?b.lon=-180-(b.lon+180):a.lon=180+a.lon+180);return new OpenLayers.Bounds(b.lon,a.lat,a.lon,b.lat)}});
OpenLayers.Control.MouseDefaults=OpenLayers.Class(OpenLayers.Control,{performedDrag:!1,wheelObserver:null,initialize:function(){OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){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(a){if(OpenLayers.Event.isLeftClick(a))return a=!this.performedDrag,this.performedDrag=!1,a},defaultDblClick:function(a){var b=this.map.getLonLatFromViewPortPx(a.xy);
this.map.setCenter(b,this.map.zoom+1);OpenLayers.Event.stop(a);return!1},defaultMouseDown:function(a){OpenLayers.Event.isLeftClick(a)&&(this.mouseDragStart=a.xy.clone(),this.performedDrag=!1,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=OpenLayers.Function.False,OpenLayers.Event.stop(a))},defaultMouseMove:function(a){this.mousePosition=a.xy.clone();if(null!=this.mouseDragStart){if(this.zoomBox){var b=Math.abs(this.mouseDragStart.x-a.xy.x),d=Math.abs(this.mouseDragStart.y-a.xy.y);this.zoomBox.style.width=Math.max(1,b)+"px";this.zoomBox.style.height=Math.max(1,d)+"px";a.xy.x<this.mouseDragStart.x&&(this.zoomBox.style.left=
a.xy.x+"px");a.xy.y<this.mouseDragStart.y&&(this.zoomBox.style.top=a.xy.y+"px")}else{var b=this.mouseDragStart.x-a.xy.x,d=this.mouseDragStart.y-a.xy.y,e=this.map.getSize(),b=new OpenLayers.Pixel(e.w/2+b,e.h/2+d),b=this.map.getLonLatFromViewPortPx(b);this.map.setCenter(b,null,!0);this.mouseDragStart=a.xy.clone();this.map.div.style.cursor="move"}this.performedDrag=!0}},defaultMouseUp:function(a){OpenLayers.Event.isLeftClick(a)&&(this.zoomBox?this.zoomBoxEnd(a):this.performedDrag&&this.map.setCenter(this.map.center),
this.mouseDragStart=document.onselectstart=null,this.map.div.style.cursor="")},defaultMouseOut:function(a){null!=this.mouseDragStart&&OpenLayers.Util.mouseLeft(a,this.map.viewPortDiv)&&(this.zoomBox&&this.removeZoomBox(),this.mouseDragStart=null)},defaultWheelUp:function(a){this.map.getZoom()<=this.map.getNumZoomLevels()&&this.map.setCenter(this.map.getLonLatFromPixel(a.xy),this.map.getZoom()+1)},defaultWheelDown:function(a){0<this.map.getZoom()&&this.map.setCenter(this.map.getLonLatFromPixel(a.xy),
this.map.getZoom()-1)},zoomBoxEnd:function(a){if(null!=this.mouseDragStart){if(5<Math.abs(this.mouseDragStart.x-a.xy.x)||5<Math.abs(this.mouseDragStart.y-a.xy.y)){var b=this.map.getLonLatFromViewPortPx(this.mouseDragStart),d=this.map.getLonLatFromViewPortPx(a.xy);a=Math.max(b.lat,d.lat);var e=Math.min(b.lat,d.lat),f=Math.min(b.lon,d.lon),b=Math.max(b.lon,d.lon),b=new OpenLayers.Bounds(f,e,b,a);this.map.zoomToExtent(b)}else d=this.map.getLonLatFromViewPortPx(a.xy),this.map.setCenter(new OpenLayers.LonLat(d.lon,
d.lat),this.map.getZoom()+1);this.removeZoomBox()}},removeZoomBox:function(){this.map.viewPortDiv.removeChild(this.zoomBox);this.zoomBox=null},onWheelEvent:function(a){for(var b=!1,d=OpenLayers.Event.element(a);null!=d;){if(this.map&&d==this.map.div){b=!0;break}d=d.parentNode}b&&(b=0,a||(a=window.event),a.wheelDelta?(b=a.wheelDelta/120,window.opera&&9.2>window.opera.version()&&(b=-b)):a.detail&&(b=-a.detail/3),b&&(a.xy=this.mousePosition,0>b?this.defaultWheelDown(a):this.defaultWheelUp(a)),OpenLayers.Event.stop(a))},
CLASS_NAME:"OpenLayers.Control.MouseDefaults"});
OpenLayers.Control.MouseToolbar=OpenLayers.Class(OpenLayers.Control.MouseDefaults,{mode:null,buttons:null,direction:"vertical",buttonClicked:null,initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,arguments);this.position=new OpenLayers.Pixel(OpenLayers.Control.MouseToolbar.X,OpenLayers.Control.MouseToolbar.Y);a&&(this.position=a);b&&(this.direction=b);this.measureDivs=[]},destroy:function(){for(var a in this.buttons){var b=this.buttons[a];b.map=null;b.events.destroy()}OpenLayers.Control.MouseDefaults.prototype.destroy.apply(this,
arguments)},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);OpenLayers.Control.MouseDefaults.prototype.draw.apply(this,arguments);this.buttons={};var a=new OpenLayers.Size(28,28),b=new OpenLayers.Pixel(OpenLayers.Control.MouseToolbar.X,0);this._addButton("zoombox","drag-rectangle-off.png","drag-rectangle-on.png",b,a,"Shift->Drag to zoom to area");b=b.add("vertical"==this.direction?0:a.w,"vertical"==this.direction?a.h:0);this._addButton("pan","panning-hand-off.png","panning-hand-on.png",
b,a,"Drag the map to pan.");b.add("vertical"==this.direction?0:a.w,"vertical"==this.direction?a.h:0);this.switchModeTo("pan");return this.div},_addButton:function(a,b,d,e,f,g){b=OpenLayers.Util.getImageLocation(b);d=OpenLayers.Util.getImageLocation(d);e=OpenLayers.Util.createAlphaImageDiv("OpenLayers_Control_MouseToolbar_"+a,e,f,b,"absolute");this.div.appendChild(e);e.imgLocation=b;e.activeImgLocation=d;e.events=new OpenLayers.Events(this,e,null,!0);e.events.on({mousedown:this.buttonDown,mouseup:this.buttonUp,
dblclick:OpenLayers.Event.stop,scope:this});e.action=a;e.title=g;e.alt=g;e.map=this.map;return this.buttons[a]=e},buttonDown:function(a){OpenLayers.Event.isLeftClick(a)&&(this.buttonClicked=a.element.action,OpenLayers.Event.stop(a))},buttonUp:function(a){OpenLayers.Event.isLeftClick(a)&&null!=this.buttonClicked&&(this.buttonClicked==a.element.action&&this.switchModeTo(a.element.action),OpenLayers.Event.stop(a),this.buttonClicked=null)},defaultDblClick:function(a){this.switchModeTo("pan");this.performedDrag=
!1;var b=this.map.getLonLatFromViewPortPx(a.xy);this.map.setCenter(b,this.map.zoom+1);OpenLayers.Event.stop(a);return!1},defaultMouseDown:function(a){if(OpenLayers.Event.isLeftClick(a)){this.mouseDragStart=a.xy.clone();this.startViaKeyboard=this.performedDrag=!1;a.shiftKey&&"zoombox"!=this.mode?(this.switchModeTo("zoombox"),this.startViaKeyboard=!0):a.altKey&&"measure"!=this.mode?this.switchModeTo("measure"):this.mode||this.switchModeTo("pan");switch(this.mode){case "zoombox":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);this.performedDrag=!0;break;case "measure":var b="";this.measureStart&&(b=this.map.getLonLatFromViewPortPx(this.mouseDragStart),
b=OpenLayers.Util.distVincenty(this.measureStart,b),b=Math.round(100*b)/100,b+="km",this.measureStartBox=this.measureBox);this.measureStart=this.map.getLonLatFromViewPortPx(this.mouseDragStart);this.measureBox=OpenLayers.Util.createDiv(null,this.mouseDragStart.add(-2-parseInt(this.map.layerContainerDiv.style.left),-2-parseInt(this.map.layerContainerDiv.style.top)),null,null,"absolute");this.measureBox.style.width="4px";this.measureBox.style.height="4px";this.measureBox.style.fontSize="1px";this.measureBox.style.backgroundColor=
"red";this.measureBox.style.zIndex=this.map.Z_INDEX_BASE.Popup-1;this.map.layerContainerDiv.appendChild(this.measureBox);b&&(this.measureBoxDistance=OpenLayers.Util.createDiv(null,this.mouseDragStart.add(-2-parseInt(this.map.layerContainerDiv.style.left),2-parseInt(this.map.layerContainerDiv.style.top)),null,null,"absolute"),this.measureBoxDistance.innerHTML=b,this.measureBoxDistance.style.zIndex=this.map.Z_INDEX_BASE.Popup-1,this.map.layerContainerDiv.appendChild(this.measureBoxDistance),this.measureDivs.push(this.measureBoxDistance));
this.measureBox.style.zIndex=this.map.Z_INDEX_BASE.Popup-1;this.map.layerContainerDiv.appendChild(this.measureBox);this.measureDivs.push(this.measureBox);break;default:this.map.div.style.cursor="move"}document.onselectstart=OpenLayers.Function.False;OpenLayers.Event.stop(a)}},switchModeTo:function(a){if(a!=this.mode){this.mode&&this.buttons[this.mode]&&OpenLayers.Util.modifyAlphaImageDiv(this.buttons[this.mode],null,null,null,this.buttons[this.mode].imgLocation);if("measure"==this.mode&&"measure"!=
a){for(var b=0,d=this.measureDivs.length;b<d;b++)this.measureDivs[b]&&this.map.layerContainerDiv.removeChild(this.measureDivs[b]);this.measureDivs=[];this.measureStart=null}this.mode=a;this.buttons[a]&&OpenLayers.Util.modifyAlphaImageDiv(this.buttons[a],null,null,null,this.buttons[a].activeImgLocation);switch(this.mode){case "zoombox":this.map.div.style.cursor="crosshair";break;default:this.map.div.style.cursor=""}}},leaveMode:function(){this.switchModeTo("pan")},defaultMouseMove:function(a){if(null!=
this.mouseDragStart){switch(this.mode){case "zoombox":var b=Math.abs(this.mouseDragStart.x-a.xy.x),d=Math.abs(this.mouseDragStart.y-a.xy.y);this.zoomBox.style.width=Math.max(1,b)+"px";this.zoomBox.style.height=Math.max(1,d)+"px";a.xy.x<this.mouseDragStart.x&&(this.zoomBox.style.left=a.xy.x+"px");a.xy.y<this.mouseDragStart.y&&(this.zoomBox.style.top=a.xy.y+"px");break;default:var b=this.mouseDragStart.x-a.xy.x,d=this.mouseDragStart.y-a.xy.y,e=this.map.getSize(),b=new OpenLayers.Pixel(e.w/2+b,e.h/2+
d),b=this.map.getLonLatFromViewPortPx(b);this.map.setCenter(b,null,!0);this.mouseDragStart=a.xy.clone()}this.performedDrag=!0}},defaultMouseUp:function(a){if(OpenLayers.Event.isLeftClick(a)){switch(this.mode){case "zoombox":this.zoomBoxEnd(a);this.startViaKeyboard&&this.leaveMode();break;case "pan":this.performedDrag&&this.map.setCenter(this.map.center)}this.mouseDragStart=document.onselectstart=null;this.map.div.style.cursor="default"}},defaultMouseOut:function(a){null!=this.mouseDragStart&&OpenLayers.Util.mouseLeft(a,
this.map.viewPortDiv)&&(this.zoomBox&&(this.removeZoomBox(),this.startViaKeyboard&&this.leaveMode()),this.mouseDragStart=null,this.map.div.style.cursor="default")},defaultClick:function(a){if(this.performedDrag)return this.performedDrag=!1},CLASS_NAME:"OpenLayers.Control.MouseToolbar"});OpenLayers.Control.MouseToolbar.X=6;OpenLayers.Control.MouseToolbar.Y=300;
OpenLayers.Util.extend(OpenLayers.Layer.Grid.prototype,{getGridBounds:function(){OpenLayers.Console.warn("The getGridBounds() function is deprecated. It will be removed in 3.0. Please use getTilesBounds() instead.");return this.getTilesBounds()}});OpenLayers.Util.extend(OpenLayers.Format.XML.prototype,{concatChildValues:function(a,b){for(var d="",e=a.firstChild,f;e;)(f=e.nodeValue)&&(d+=f),e=e.nextSibling;""==d&&void 0!=b&&(d=b);return d}});
OpenLayers.Layer.WMS.Post=OpenLayers.Class(OpenLayers.Layer.WMS,{unsupportedBrowsers:["mozilla","firefox","opera"],SUPPORTED_TRANSITIONS:[],usePost:null,initialize:function(a,b,d,e){var f=[];f.push(a,b,d,e);OpenLayers.Layer.WMS.prototype.initialize.apply(this,f);this.usePost=-1==OpenLayers.Util.indexOf(this.unsupportedBrowsers,OpenLayers.BROWSER_NAME)},addTile:function(a,b){return new OpenLayers.Tile.Image(this,b,a,null,this.tileSize,{maxGetUrlLength:this.usePost?0:null})},CLASS_NAME:"OpenLayers.Layer.WMS.Post"});
OpenLayers.Layer.WMS.Untiled=OpenLayers.Class(OpenLayers.Layer.WMS,{singleTile:!0,initialize:function(a,b,d,e){OpenLayers.Layer.WMS.prototype.initialize.apply(this,arguments);OpenLayers.Console.warn("The OpenLayers.Layer.WMS.Untiled class is deprecated and will be removed in 3.0. Instead, you should use the normal OpenLayers.Layer.WMS class, passing it the option 'singleTile' as true.")},clone:function(a){null==a&&(a=new OpenLayers.Layer.WMS.Untiled(this.name,this.url,this.params,this.getOptions()));
return a=OpenLayers.Layer.WMS.prototype.clone.apply(this,[a])},CLASS_NAME:"OpenLayers.Layer.WMS.Untiled"});
OpenLayers.Layer.MapServer.Untiled=OpenLayers.Class(OpenLayers.Layer.MapServer,{singleTile:!0,initialize:function(a,b,d,e){OpenLayers.Layer.MapServer.prototype.initialize.apply(this,arguments);OpenLayers.Console.warn("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.")},clone:function(a){null==a&&(a=new OpenLayers.Layer.MapServer.Untiled(this.name,this.url,
this.params,this.getOptions()));return a=OpenLayers.Layer.MapServer.prototype.clone.apply(this,[a])},CLASS_NAME:"OpenLayers.Layer.MapServer.Untiled"});
OpenLayers.Tile.WFS=OpenLayers.Class(OpenLayers.Tile,{features:null,url:null,request:null,initialize:function(a,b,d,e,f){OpenLayers.Tile.prototype.initialize.apply(this,arguments);this.url=e;this.features=[]},destroy:function(){OpenLayers.Tile.prototype.destroy.apply(this,arguments);this.destroyAllFeatures();this.url=this.features=null;this.request&&(this.request.abort(),this.request=null)},clear:function(){this.destroyAllFeatures()},draw:function(){OpenLayers.Tile.prototype.draw.apply(this,arguments)&&
(this.isLoading?this.events.triggerEvent("reload"):(this.isLoading=!0,this.events.triggerEvent("loadstart")),this.loadFeaturesForRegion(this.requestSuccess))},loadFeaturesForRegion:function(a,b){this.request&&this.request.abort();this.request=OpenLayers.Request.GET({url:this.url,success:a,failure:b,scope:this})},requestSuccess:function(a){if(this.features){var b=a.responseXML;b&&b.documentElement||(b=a.responseText);this.layer.vectorMode?this.layer.addFeatures(this.layer.formatObject.read(b)):(a=
new OpenLayers.Format.XML,"string"==typeof b&&(b=a.read(b)),b=a.getElementsByTagNameNS(b,"http://www.opengis.net/gml","featureMember"),this.addResults(b))}this.events&&this.events.triggerEvent("loadend");this.request=null},addResults:function(a){for(var b=0;b<a.length;b++){var d=new this.layer.featureClass(this.layer,a[b]);this.features.push(d)}},destroyAllFeatures:function(){for(;0<this.features.length;)this.features.shift().destroy()},CLASS_NAME:"OpenLayers.Tile.WFS"});
OpenLayers.Feature.WFS=OpenLayers.Class(OpenLayers.Feature,{initialize:function(a,b){var d=arguments,d=this.processXMLNode(b),d=[a,d.lonlat,d];OpenLayers.Feature.prototype.initialize.apply(this,d);this.createMarker();this.layer.addMarker(this.marker)},destroy:function(){null!=this.marker&&this.layer.removeMarker(this.marker);OpenLayers.Feature.prototype.destroy.apply(this,arguments)},processXMLNode:function(a){a=OpenLayers.Ajax.getElementsByTagNameNS(a,"http://www.opengis.net/gml","gml","Point");
a=OpenLayers.Util.getXmlNodeValue(OpenLayers.Ajax.getElementsByTagNameNS(a[0],"http://www.opengis.net/gml","gml","coordinates")[0]).split(",");return{lonlat:new OpenLayers.LonLat(parseFloat(a[0]),parseFloat(a[1])),id:null}},CLASS_NAME:"OpenLayers.Feature.WFS"});
OpenLayers.Layer.WFS=OpenLayers.Class(OpenLayers.Layer.Vector,OpenLayers.Layer.Markers,{isBaseLayer:!1,tile:null,ratio:2,DEFAULT_PARAMS:{service:"WFS",version:"1.0.0",request:"GetFeature"},featureClass:null,format:null,formatObject:null,formatOptions:null,vectorMode:!0,encodeBBOX:!1,extractAttributes:!1,initialize:function(a,b,d,e){void 0==e&&(e={});!e.featureClass&&OpenLayers.Layer.Vector&&OpenLayers.Feature.Vector||(this.vectorMode=!1);d=OpenLayers.Util.upperCaseObject(d);OpenLayers.Util.extend(e,
{reportError:!1});var f=[];f.push(a,e);OpenLayers.Layer.Vector.prototype.initialize.apply(this,f);this.renderer&&this.vectorMode||(this.vectorMode=!1,e.featureClass||(e.featureClass=OpenLayers.Feature.WFS),OpenLayers.Layer.Markers.prototype.initialize.apply(this,f));this.params&&this.params.typename&&!this.options.typename&&(this.options.typename=this.params.typename);this.options.geometry_column||(this.options.geometry_column="the_geom");this.params=OpenLayers.Util.applyDefaults(d,OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS));
this.url=b},destroy:function(){this.vectorMode?OpenLayers.Layer.Vector.prototype.destroy.apply(this,arguments):OpenLayers.Layer.Markers.prototype.destroy.apply(this,arguments);this.tile&&this.tile.destroy();this.format=this.featureClass=this.ratio=this.tile=null;this.formatObject&&this.formatObject.destroy&&this.formatObject.destroy();this.extractAttributes=this.encodeBBOX=this.vectorMode=this.formatOptions=this.formatObject=null},setMap:function(a){if(this.vectorMode){OpenLayers.Layer.Vector.prototype.setMap.apply(this,
arguments);var b={extractAttributes:this.extractAttributes};OpenLayers.Util.extend(b,this.formatOptions);this.map&&!this.projection.equals(this.map.getProjectionObject())&&(b.externalProjection=this.projection,b.internalProjection=this.map.getProjectionObject());this.formatObject=this.format?new this.format(b):new OpenLayers.Format.GML(b)}else OpenLayers.Layer.Markers.prototype.setMap.apply(this,arguments)},moveTo:function(a,b,d){this.vectorMode?OpenLayers.Layer.Vector.prototype.moveTo.apply(this,
arguments):OpenLayers.Layer.Markers.prototype.moveTo.apply(this,arguments);if(d)return!1;b&&this.vectorMode&&this.renderer.clear();if(this.options.minZoomLevel&&(OpenLayers.Console.warn(OpenLayers.i18n("minZoomLevelError")),this.map.getZoom()<this.options.minZoomLevel))return null;null==a&&(a=this.map.getExtent());var e=null==this.tile,f=!e&&!this.tile.bounds.containsBounds(a);if(b||e||!d&&f){var e=a.getCenterLonLat(),f=a.getWidth()*this.ratio,g=a.getHeight()*this.ratio,e=new OpenLayers.Bounds(e.lon-
f/2,e.lat-g/2,e.lon+f/2,e.lat+g/2),f=this.map.getSize();f.w*=this.ratio;f.h*=this.ratio;var g=new OpenLayers.LonLat(e.left,e.top),g=this.map.getLayerPxFromLonLat(g),h=this.getFullRequestString(),l=null,m=this.params.filter||this.params.FILTER,l=m?{FILTER:m}:{BBOX:this.encodeBBOX?e.toBBOX():e.toArray()};if(this.map&&!this.projection.equals(this.map.getProjectionObject())){var q=e.clone();q.transform(this.map.getProjectionObject(),this.projection);m||(l.BBOX=this.encodeBBOX?q.toBBOX():q.toArray())}h+=
"&"+OpenLayers.Util.getParameterString(l);this.tile&&(this.vectorMode?(this.destroyFeatures(),this.renderer.clear()):this.clearMarkers(),this.removeTileMonitoringHooks(this.tile),this.tile.destroy(),this.tile=null);this.tile=new OpenLayers.Tile.WFS(this,g,e,h,f);this.addTileMonitoringHooks(this.tile);this.tile.draw()}},addTileMonitoringHooks:function(a){a.onLoadStart=function(){this==this.layer.tile&&this.layer.events.triggerEvent("loadstart")};a.events.register("loadstart",a,a.onLoadStart);a.onLoadEnd=
function(){this==this.layer.tile&&(this.layer.events.triggerEvent("tileloaded"),this.layer.events.triggerEvent("loadend"))};a.events.register("loadend",a,a.onLoadEnd);a.events.register("unload",a,a.onLoadEnd)},removeTileMonitoringHooks:function(a){a.unload();a.events.un({loadstart:a.onLoadStart,loadend:a.onLoadEnd,unload:a.onLoadEnd,scope:a})},onMapResize:function(){this.vectorMode?OpenLayers.Layer.Vector.prototype.onMapResize.apply(this,arguments):OpenLayers.Layer.Markers.prototype.onMapResize.apply(this,
arguments)},display:function(){this.vectorMode?OpenLayers.Layer.Vector.prototype.display.apply(this,arguments):OpenLayers.Layer.Markers.prototype.display.apply(this,arguments)},mergeNewParams:function(a){a=[OpenLayers.Util.upperCaseObject(a)];return OpenLayers.Layer.HTTPRequest.prototype.mergeNewParams.apply(this,a)},clone:function(a){null==a&&(a=new OpenLayers.Layer.WFS(this.name,this.url,this.params,this.getOptions()));return a=this.vectorMode?OpenLayers.Layer.Vector.prototype.clone.apply(this,
[a]):OpenLayers.Layer.Markers.prototype.clone.apply(this,[a])},getFullRequestString:function(a,b){var d=this.projection.getCode()||this.map.getProjection();this.params.SRS="none"==d?null:d;return OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(this,arguments)},commit:function(){if(!this.writer){var a={};this.map&&!this.projection.equals(this.map.getProjectionObject())&&(a.externalProjection=this.projection,a.internalProjection=this.map.getProjectionObject());this.writer=new OpenLayers.Format.WFS(a,
this)}a=this.writer.write(this.features);OpenLayers.Request.POST({url:this.url,data:a,success:this.commitSuccess,failure:this.commitFailure,scope:this})},commitSuccess:function(a){a=a.responseText;if(-1!=a.indexOf("SUCCESS"))for(this.commitReport(OpenLayers.i18n("commitSuccess",{response:a})),a=0;a<this.features.length;a++)this.features[a].state=null;else-1==a.indexOf("FAILED")&&-1==a.indexOf("Exception")||this.commitReport(OpenLayers.i18n("commitFailed",{response:a}))},commitFailure:function(a){},
commitReport:function(a,b){OpenLayers.Console.userError(a)},refresh:function(){this.tile&&(this.vectorMode?(this.renderer.clear(),this.features.length=0):(this.clearMarkers(),this.markers.length=0),this.tile.draw())},getDataExtent:function(){return this.vectorMode?OpenLayers.Layer.Vector.prototype.getDataExtent.apply(this):OpenLayers.Layer.Markers.prototype.getDataExtent.apply(this)},setOpacity:function(a){this.vectorMode?OpenLayers.Layer.Vector.prototype.setOpacity.apply(this,[a]):OpenLayers.Layer.Markers.prototype.setOpacity.apply(this,
[a])},CLASS_NAME:"OpenLayers.Layer.WFS"});
OpenLayers.Layer.VirtualEarth=OpenLayers.Class(OpenLayers.Layer.EventPane,OpenLayers.Layer.FixedZoomLevels,{MIN_ZOOM_LEVEL:1,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,6.866455078125E-4,3.4332275390625E-4,1.71661376953125E-4,8.58306884765625E-5,4.291534423828125E-5,2.145767211914062E-5,1.072883605957031E-5,5.36441802978515E-6],type:null,wrapDateLine:!0,sphericalMercator:!1,
animationEnabled:!0,initialize:function(a,b){OpenLayers.Layer.EventPane.prototype.initialize.apply(this,arguments);OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this,arguments);this.sphericalMercator&&(OpenLayers.Util.extend(this,OpenLayers.Layer.SphericalMercator),this.initMercatorParameters())},loadMapObject:function(){var a=OpenLayers.Util.createDiv(this.name),b=this.map.getSize();a.style.width=b.w+"px";a.style.height=b.h+"px";this.div.appendChild(a);try{this.mapObject=new VEMap(this.name)}catch(d){}if(null!=
this.mapObject){try{this.mapObject.LoadMap(null,null,this.type,!0),this.mapObject.AttachEvent("onmousedown",OpenLayers.Function.True)}catch(e){}this.mapObject.HideDashboard();"function"==typeof this.mapObject.SetAnimationEnabled&&this.mapObject.SetAnimationEnabled(this.animationEnabled)}this.mapObject&&this.mapObject.vemapcontrol&&this.mapObject.vemapcontrol.PanMap&&"function"==typeof this.mapObject.vemapcontrol.PanMap||(this.dragPanMapObject=null)},onMapResize:function(){this.mapObject.Resize(this.map.size.w,
this.map.size.h)},getWarningHTML:function(){return OpenLayers.i18n("getLayerWarning",{layerType:"VE",layerLib:"VirtualEarth"})},setMapObjectCenter:function(a,b){this.mapObject.SetCenterAndZoom(a,b)},getMapObjectCenter:function(){return this.mapObject.GetCenter()},dragPanMapObject:function(a,b){this.mapObject.vemapcontrol.PanMap(a,-b)},getMapObjectZoom:function(){return this.mapObject.GetZoomLevel()},getMapObjectLonLatFromMapObjectPixel:function(a){return"undefined"!=typeof VEPixel?this.mapObject.PixelToLatLong(a):
this.mapObject.PixelToLatLong(a.x,a.y)},getMapObjectPixelFromMapObjectLonLat:function(a){return this.mapObject.LatLongToPixel(a)},getLongitudeFromMapObjectLonLat:function(a){return this.sphericalMercator?this.forwardMercator(a.Longitude,a.Latitude).lon:a.Longitude},getLatitudeFromMapObjectLonLat:function(a){return this.sphericalMercator?this.forwardMercator(a.Longitude,a.Latitude).lat:a.Latitude},getMapObjectLonLatFromLonLat:function(a,b){var d;this.sphericalMercator?(d=this.inverseMercator(a,b),
d=new VELatLong(d.lat,d.lon)):d=new VELatLong(b,a);return d},getXFromMapObjectPixel:function(a){return a.x},getYFromMapObjectPixel:function(a){return a.y},getMapObjectPixelFromXY:function(a,b){return"undefined"!=typeof VEPixel?new VEPixel(a,b):new Msn.VE.Pixel(a,b)},CLASS_NAME:"OpenLayers.Layer.VirtualEarth"});
(function(){if(!window.google||!google.gears){var a=null;if("undefined"!=typeof GearsFactory)a=new GearsFactory;else try{a=new ActiveXObject("Gears.Factory"),-1!=a.getBuildInfo().indexOf("ie_mobile")&&a.privateSetGlobalObject(this)}catch(b){"undefined"!=typeof navigator.mimeTypes&&navigator.mimeTypes["application/x-googlegears"]&&(a=document.createElement("object"),a.style.display="none",a.width=0,a.height=0,a.type="application/x-googlegears",document.documentElement.appendChild(a))}a&&(window.google||
(google={}),google.gears||(google.gears={factory:a}))}})();OpenLayers.Protocol.SQL=OpenLayers.Class(OpenLayers.Protocol,{databaseName:"ol",tableName:"ol_vector_features",postReadFiltering:!0,initialize:function(a){OpenLayers.Protocol.prototype.initialize.apply(this,[a])},destroy:function(){OpenLayers.Protocol.prototype.destroy.apply(this)},supported:function(){return!1},evaluateFilter:function(a,b){return b&&this.postReadFiltering?b.evaluate(a):!0},CLASS_NAME:"OpenLayers.Protocol.SQL"});
OpenLayers.Protocol.SQL.Gears=OpenLayers.Class(OpenLayers.Protocol.SQL,{FID_PREFIX:"__gears_fid__",NULL_GEOMETRY:"__gears_null_geometry__",NULL_FEATURE_STATE:"__gears_null_feature_state__",jsonParser:null,wktParser:null,fidRegExp:null,saveFeatureState:!0,typeOfFid:"string",db:null,initialize:function(a){this.supported()&&(OpenLayers.Protocol.SQL.prototype.initialize.apply(this,[a]),this.jsonParser=new OpenLayers.Format.JSON,this.wktParser=new OpenLayers.Format.WKT,this.fidRegExp=RegExp("^"+this.FID_PREFIX),
this.initializeDatabase())},initializeDatabase:function(){this.db=google.gears.factory.create("beta.database");this.db.open(this.databaseName);this.db.execute("CREATE TABLE IF NOT EXISTS "+this.tableName+" (fid TEXT UNIQUE, geometry TEXT, properties TEXT,  state TEXT)")},destroy:function(){this.db.close();this.wktParser=this.jsonParser=this.db=null;OpenLayers.Protocol.SQL.prototype.destroy.apply(this)},supported:function(){return!(!window.google||!google.gears)},read:function(a){OpenLayers.Protocol.prototype.read.apply(this,
arguments);a=OpenLayers.Util.applyDefaults(a,this.options);for(var b,d=[],e=this.db.execute("SELECT * FROM "+this.tableName);e.isValidRow();)b=this.unfreezeFeature(e),this.evaluateFilter(b,a.filter)&&(a.noFeatureStateReset||(b.state=null),d.push(b)),e.next();e.close();b=new OpenLayers.Protocol.Response({code:OpenLayers.Protocol.Response.SUCCESS,requestType:"read",features:d});a&&a.callback&&a.callback.call(a.scope,b);return b},unfreezeFeature:function(a){var b;b=a.fieldByName("geometry");b=b==this.NULL_GEOMETRY?
new OpenLayers.Feature.Vector:this.wktParser.read(b);b.attributes=this.jsonParser.read(a.fieldByName("properties"));b.fid=this.extractFidFromField(a.fieldByName("fid"));a=a.fieldByName("state");a==this.NULL_FEATURE_STATE&&(a=null);b.state=a;return b},extractFidFromField:function(a){a.match(this.fidRegExp)||"number"!=this.typeOfFid||(a=parseFloat(a));return a},create:function(a,b){b=OpenLayers.Util.applyDefaults(b,this.options);var d=this.createOrUpdate(a);d.requestType="create";b&&b.callback&&b.callback.call(b.scope,
d);return d},update:function(a,b){b=OpenLayers.Util.applyDefaults(b,this.options);var d=this.createOrUpdate(a);d.requestType="update";b&&b.callback&&b.callback.call(b.scope,d);return d},createOrUpdate:function(a){OpenLayers.Util.isArray(a)||(a=[a]);var b,d=a.length,e,f=Array(d);for(b=0;b<d;b++){e=a[b];var g=this.freezeFeature(e);this.db.execute("REPLACE INTO "+this.tableName+" (fid, geometry, properties, state) VALUES (?, ?, ?, ?)",g);e=e.clone();e.fid=this.extractFidFromField(g[0]);f[b]=e}return new OpenLayers.Protocol.Response({code:OpenLayers.Protocol.Response.SUCCESS,
features:f,reqFeatures:a})},freezeFeature:function(a){a.fid=null!=a.fid?""+a.fid:OpenLayers.Util.createUniqueID(this.FID_PREFIX);var b=null!=a.geometry?a.geometry.toString():this.NULL_GEOMETRY,d=this.jsonParser.write(a.attributes),e=this.getFeatureStateForFreeze(a);return[a.fid,b,d,e]},getFeatureStateForFreeze:function(a){return this.saveFeatureState?this.createdOffline(a)?OpenLayers.State.INSERT:a.state:this.NULL_FEATURE_STATE},"delete":function(a,b){OpenLayers.Util.isArray(a)||(a=[a]);b=OpenLayers.Util.applyDefaults(b,
this.options);var d,e,f;d=0;for(e=a.length;d<e;d++)if(f=a[d],this.saveFeatureState&&!this.createdOffline(f)){var g=f.clone();g.fid=f.fid;g.geometry&&(g.geometry.destroy(),g.geometry=null);g.state=f.state;this.createOrUpdate(g)}else this.db.execute("DELETE FROM "+this.tableName+" WHERE fid = ?",[f.fid]);d=new OpenLayers.Protocol.Response({code:OpenLayers.Protocol.Response.SUCCESS,requestType:"delete",reqFeatures:a});b&&b.callback&&b.callback.call(b.scope,d);return d},createdOffline:function(a){return"string"==
typeof a.fid&&!!a.fid.match(this.fidRegExp)},commit:function(a,b){function d(a){++h<g&&(a.last=!1);this.callUserCallback(b,a)}for(var e,f=[],g=0,h=0,l=[],m=[],q=[],r=a.length-1;0<=r;r--)switch(e=a[r],e.state){case OpenLayers.State.INSERT:l.push(e);break;case OpenLayers.State.UPDATE:m.push(e);break;case OpenLayers.State.DELETE:q.push(e)}0<l.length&&(g++,e=OpenLayers.Util.applyDefaults({callback:d,scope:this},b.create),f.push(this.create(l,e)));0<m.length&&(g++,e=OpenLayers.Util.applyDefaults({callback:d,
scope:this},b.update),f.push(this.update(m,e)));0<q.length&&(g++,e=OpenLayers.Util.applyDefaults({callback:d,scope:this},b["delete"]),f.push(this["delete"](q,e)));return f},clear:function(){this.db.execute("DELETE FROM "+this.tableName)},callUserCallback:function(a,b){var d=a[b.requestType];d&&d.callback&&d.callback.call(d.scope,b);b.last&&a.callback&&a.callback.call(a.scope)},CLASS_NAME:"OpenLayers.Protocol.SQL.Gears"});
OpenLayers.Layer.Yahoo=OpenLayers.Class(OpenLayers.Layer.EventPane,OpenLayers.Layer.FixedZoomLevels,{MIN_ZOOM_LEVEL:0,MAX_ZOOM_LEVEL:17,RESOLUTIONS:[1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,6.866455078125E-4,3.4332275390625E-4,1.71661376953125E-4,8.58306884765625E-5,4.291534423828125E-5,2.145767211914062E-5,1.072883605957031E-5],type:null,wrapDateLine:!0,sphericalMercator:!1,initialize:function(a,
b){OpenLayers.Layer.EventPane.prototype.initialize.apply(this,arguments);OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this,arguments);this.sphericalMercator&&(OpenLayers.Util.extend(this,OpenLayers.Layer.SphericalMercator),this.initMercatorParameters())},loadMapObject:function(){try{var a=this.getMapObjectSizeFromOLSize(this.map.getSize());this.mapObject=new YMap(this.div,this.type,a);this.mapObject.disableKeyControls();this.mapObject.disableDragMap();this.mapObject.moveByXY&&"function"==
typeof this.mapObject.moveByXY||(this.dragPanMapObject=null)}catch(b){}},onMapResize:function(){try{var a=this.getMapObjectSizeFromOLSize(this.map.getSize());this.mapObject.resizeTo(a)}catch(b){}},setMap:function(a){OpenLayers.Layer.EventPane.prototype.setMap.apply(this,arguments);this.map.events.register("moveend",this,this.fixYahooEventPane)},fixYahooEventPane:function(){var a=OpenLayers.Util.getElement("ygddfdiv");null!=a&&(null!=a.parentNode&&a.parentNode.removeChild(a),this.map.events.unregister("moveend",
this,this.fixYahooEventPane))},getWarningHTML:function(){return OpenLayers.i18n("getLayerWarning",{layerType:"Yahoo",layerLib:"Yahoo"})},getOLZoomFromMapObjectZoom:function(a){var b=null;null!=a&&(b=OpenLayers.Layer.FixedZoomLevels.prototype.getOLZoomFromMapObjectZoom.apply(this,[a]),b=18-b);return b},getMapObjectZoomFromOLZoom:function(a){var b=null;null!=a&&(b=OpenLayers.Layer.FixedZoomLevels.prototype.getMapObjectZoomFromOLZoom.apply(this,[a]),b=18-b);return b},setMapObjectCenter:function(a,b){this.mapObject.drawZoomAndCenter(a,
b)},getMapObjectCenter:function(){return this.mapObject.getCenterLatLon()},dragPanMapObject:function(a,b){this.mapObject.moveByXY({x:-a,y:b})},getMapObjectZoom:function(){return this.mapObject.getZoomLevel()},getMapObjectLonLatFromMapObjectPixel:function(a){return this.mapObject.convertXYLatLon(a)},getMapObjectPixelFromMapObjectLonLat:function(a){return this.mapObject.convertLatLonXY(a)},getLongitudeFromMapObjectLonLat:function(a){return this.sphericalMercator?this.forwardMercator(a.Lon,a.Lat).lon:
a.Lon},getLatitudeFromMapObjectLonLat:function(a){return this.sphericalMercator?this.forwardMercator(a.Lon,a.Lat).lat:a.Lat},getMapObjectLonLatFromLonLat:function(a,b){var d;this.sphericalMercator?(d=this.inverseMercator(a,b),d=new YGeoPoint(d.lat,d.lon)):d=new YGeoPoint(b,a);return d},getXFromMapObjectPixel:function(a){return a.x},getYFromMapObjectPixel:function(a){return a.y},getMapObjectPixelFromXY:function(a,b){return new YCoordPoint(a,b)},getMapObjectSizeFromOLSize:function(a){return new YSize(a.w,
a.h)},CLASS_NAME:"OpenLayers.Layer.Yahoo"});
OpenLayers.Layer.GML=OpenLayers.Class(OpenLayers.Layer.Vector,{loaded:!1,format:null,formatOptions:null,initialize:function(a,b,d){var e=[];e.push(a,d);OpenLayers.Layer.Vector.prototype.initialize.apply(this,e);this.url=b},setVisibility:function(a,b){OpenLayers.Layer.Vector.prototype.setVisibility.apply(this,arguments);this.visibility&&!this.loaded&&this.loadGML()},moveTo:function(a,b,d){OpenLayers.Layer.Vector.prototype.moveTo.apply(this,arguments);this.visibility&&!this.loaded&&this.loadGML()},
loadGML:function(){this.loaded||(this.events.triggerEvent("loadstart"),OpenLayers.Request.GET({url:this.url,success:this.requestSuccess,failure:this.requestFailure,scope:this}),this.loaded=!0)},setUrl:function(a){this.url=a;this.destroyFeatures();this.loaded=!1;this.loadGML()},requestSuccess:function(a){var b=a.responseXML;b&&b.documentElement||(b=a.responseText);a={};OpenLayers.Util.extend(a,this.formatOptions);this.map&&!this.projection.equals(this.map.getProjectionObject())&&(a.externalProjection=
this.projection,a.internalProjection=this.map.getProjectionObject());a=this.format?new this.format(a):new OpenLayers.Format.GML(a);this.addFeatures(a.read(b));this.events.triggerEvent("loadend")},requestFailure:function(a){OpenLayers.Console.userError("Error in loading GML file "+this.url);this.events.triggerEvent("loadend")},CLASS_NAME:"OpenLayers.Layer.GML"});
OpenLayers.Geometry.Rectangle=OpenLayers.Class(OpenLayers.Geometry,{x:null,y:null,width:null,height:null,initialize:function(a,b,d,e){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.x=a;this.y=b;this.width=d;this.height=e},calculateBounds:function(){this.bounds=new OpenLayers.Bounds(this.x,this.y,this.x+this.width,this.y+this.height)},getLength:function(){return 2*this.width+2*this.height},getArea:function(){return this.width*this.height},CLASS_NAME:"OpenLayers.Geometry.Rectangle"});
OpenLayers.Renderer.NG=OpenLayers.Class(OpenLayers.Renderer.Elements,{labelNodeType:null,updateDimensions:function(a){a=this.map.getExtent();var b=a.scale(3);this.setExtent(b,!0);var d=this.getResolution(),e=this.rendererRoot.parentNode,f=parseFloat(e.parentNode.style.left),g=parseFloat(e.parentNode.style.top);e.style.left=(b.left-a.left)/d-f+"px";e.style.top=(a.top-b.top)/d-g+"px"},setSize:function(){this.map.getExtent()&&this.updateDimensions()},drawFeature:function(a,b){null==b&&(b=a.style);if(a.geometry){var d=
this.drawGeometry(a.geometry,b,a.id);if(!1!==d&&b.label){var e=a.geometry.getCentroid();this.drawText(a.id,b,e)}else this.removeText(a.id);return d}},drawText:function(a,b,d){var e;"string"!==typeof a?e=a:(e=this.nodeFactory(a+this.LABEL_ID_SUFFIX,this.labelNodeType),e._featureId=a);e._style=b;e._x=d.x;e._y=d.y;if(b.labelXOffset||b.labelYOffset){a=isNaN(b.labelXOffset)?0:b.labelXOffset;b=isNaN(b.labelYOffset)?0:b.labelYOffset;var f=this.getResolution();d.move(a*f,b*f)}e.parentNode!==this.textRoot&&
this.textRoot.appendChild(e);return e},CLASS_NAME:"OpenLayers.Renderer.NG"});
(function(){var a=OpenLayers.Layer.Vector.prototype.moveTo;OpenLayers.Layer.Vector.prototype.moveTo=function(b,e,f){if(OpenLayers.Renderer.NG&&this.renderer instanceof OpenLayers.Renderer.NG){if(OpenLayers.Layer.prototype.moveTo.apply(this,arguments),f||this.renderer.updateDimensions(e),!this.drawn){this.drawn=!0;for(var g,h=0,l=this.features.length;h<l;h++)this.renderer.locked=h!==l-1,g=this.features[h],this.drawFeature(g)}}else a.apply(this,arguments)};var b=OpenLayers.Layer.Vector.prototype.redraw;
OpenLayers.Layer.Vector.prototype.redraw=function(){OpenLayers.Renderer.NG&&this.renderer instanceof OpenLayers.Renderer.NG&&(this.drawn=!1);b.apply(this,arguments)}})();
OpenLayers.Renderer.SVG2=OpenLayers.Class(OpenLayers.Renderer.NG,{xmlns:"http://www.w3.org/2000/svg",xlinkns:"http://www.w3.org/1999/xlink",symbolMetrics:null,labelNodeType:"g",initialize:function(a){this.supported()&&(OpenLayers.Renderer.Elements.prototype.initialize.apply(this,arguments),this.symbolMetrics={})},supported:function(){return document.implementation&&(document.implementation.hasFeature("org.w3c.svg","1.0")||document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#SVG",
"1.1")||document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"))},updateDimensions:function(a){OpenLayers.Renderer.NG.prototype.updateDimensions.apply(this,arguments);var b=this.getResolution(),d=this.extent.getWidth(),e=this.extent.getHeight(),f=[this.extent.left,-this.extent.top,d,e].join(" ");this.rendererRoot.setAttributeNS(null,"viewBox",f);this.rendererRoot.setAttributeNS(null,"width",d/b);this.rendererRoot.setAttributeNS(null,"height",e/b);if(!0===a){e=
this.vectorRoot.childNodes;b=0;for(d=e.length;b<d;++b)this.setStyle(e[b]);e=this.textRoot.childNodes;b=0;for(d=e.length;b<d;++b)f=e[b],this.drawText(f,f._style,new OpenLayers.Geometry.Point(f._x,f._y))}},getNodeType:function(a,b){var d=null;switch(a.CLASS_NAME){case "OpenLayers.Geometry.Point":d=b.externalGraphic?"image":this.isComplexSymbol(b.graphicName)?"svg":"circle";break;case "OpenLayers.Geometry.Rectangle":d="rect";break;case "OpenLayers.Geometry.LineString":d="polyline";break;case "OpenLayers.Geometry.LinearRing":d=
"polygon";break;case "OpenLayers.Geometry.Polygon":case "OpenLayers.Geometry.Curve":d="path"}return d},setStyle:function(a,b,d){b=b||a._style;d=d||a._options;var e=this.getResolution(),f=a._radius,g=e;if("OpenLayers.Geometry.Point"==a._geometryClass&&f){a.style.visibility="";if(!1===b.graphic)a.style.visibility="hidden";else if(b.externalGraphic){b.graphicTitle&&(a.setAttributeNS(null,"title",b.graphicTitle),f=a.getElementsByTagName("title"),0<f.length?f[0].firstChild.textContent=b.graphicTitle:(f=
this.nodeFactory(null,"title"),f.textContent=b.graphicTitle,a.appendChild(f)));b.graphicWidth&&b.graphicHeight&&a.setAttributeNS(null,"preserveAspectRatio","none");var f=b.graphicWidth||b.graphicHeight,h=b.graphicHeight||b.graphicWidth,f=f?f:2*b.pointRadius,h=h?h:2*b.pointRadius,f=f*e,h=h*e,l=void 0!=b.graphicYOffset?b.graphicYOffset*e:-(0.5*h),m=b.graphicOpacity||b.fillOpacity;a.setAttributeNS(null,"x",a._x+(void 0!=b.graphicXOffset?b.graphicXOffset*e:-(0.5*f)));a.setAttributeNS(null,"y",a._y+l);
a.setAttributeNS(null,"width",f);a.setAttributeNS(null,"height",h);a.setAttributeNS(this.xlinkns,"href",b.externalGraphic);a.setAttributeNS(null,"style","opacity: "+m);a.onclick=OpenLayers.Renderer.SVG2.preventDefault}else if(this.isComplexSymbol(b.graphicName)){var f=3*b.pointRadius*e,h=2*f,q=this.importSymbol(b.graphicName),g=3*this.symbolMetrics[q.id].size/h*e,e=a.parentNode,l=a.nextSibling;e&&e.removeChild(a);a.firstChild&&a.removeChild(a.firstChild);a.appendChild(q.firstChild.cloneNode(!0));
a.setAttributeNS(null,"viewBox",q.getAttributeNS(null,"viewBox"));a.setAttributeNS(null,"width",h);a.setAttributeNS(null,"height",h);a.setAttributeNS(null,"x",a._x-f);a.setAttributeNS(null,"y",a._y-f);l?e.insertBefore(a,l):e&&e.appendChild(a)}else a.setAttributeNS(null,"r",b.pointRadius*e);e=b.rotation;if(void 0!==e||void 0!==a._rotation)a._rotation=e,e|=0,"svg"!==a.nodeName?a.setAttributeNS(null,"transform",["rotate(",e,a._x,a._y,")"].join(" ")):(q=this.symbolMetrics[q.id],a.firstChild.setAttributeNS(null,
"transform",["rotate(",e,q.x,q.y,")"].join(" ")))}d.isFilled?(a.setAttributeNS(null,"fill",b.fillColor),a.setAttributeNS(null,"fill-opacity",b.fillOpacity)):a.setAttributeNS(null,"fill","none");d.isStroked?(a.setAttributeNS(null,"stroke",b.strokeColor),a.setAttributeNS(null,"stroke-opacity",b.strokeOpacity),a.setAttributeNS(null,"stroke-width",b.strokeWidth*g),a.setAttributeNS(null,"stroke-linecap",b.strokeLinecap||"round"),a.setAttributeNS(null,"stroke-linejoin","round"),b.strokeDashstyle&&a.setAttributeNS(null,
"stroke-dasharray",this.dashStyle(b,g))):a.setAttributeNS(null,"stroke","none");b.pointerEvents&&a.setAttributeNS(null,"pointer-events",b.pointerEvents);null!=b.cursor&&a.setAttributeNS(null,"cursor",b.cursor);return a},dashStyle:function(a,b){var d=a.strokeWidth*b,e=a.strokeDashstyle;switch(e){case "solid":return"none";case "dot":return[b,4*d].join();case "dash":return[4*d,4*d].join();case "dashdot":return[4*d,4*d,b,4*d].join();case "longdash":return[8*d,4*d].join();case "longdashdot":return[8*d,
4*d,b,4*d].join();default:for(var d=OpenLayers.String.trim(e).split(/\s+/g),e=0,f=d.length;e<f;e++)d[e]*=b;return d.join()}},createNode:function(a,b){var d=document.createElementNS(this.xmlns,a);b&&d.setAttributeNS(null,"id",b);return d},nodeTypeCompare:function(a,b){return b==a.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(a,b,d){var e=b.x;b=-b.y;a.setAttributeNS(null,"cx",e);a.setAttributeNS(null,"cy",b);a._x=e;a._y=b;a._radius=d;return a},drawLineString:function(a,b){var d=this.getComponentsString(b.components);a.setAttributeNS(null,"points",d);return a},drawLinearRing:function(a,b){var d=this.getComponentsString(b.components);a.setAttributeNS(null,"points",d);return a},drawPolygon:function(a,
b){for(var d=[],e,f=0,g=b.components.length;f<g;f++)d.push("M"),e=this.getComponentsString(b.components[f].components," "),d.push(e);d.push("z");a.setAttributeNS(null,"d",d.join(" "));a.setAttributeNS(null,"fill-rule","evenodd");return a},drawRectangle:function(a,b){a.setAttributeNS(null,"x",b.x);a.setAttributeNS(null,"y",-b.y);a.setAttributeNS(null,"width",b.width);a.setAttributeNS(null,"height",b.height);return a},drawText:function(a,b,d){var e=OpenLayers.Renderer.NG.prototype.drawText.apply(this,
arguments),f=e.firstChild||this.nodeFactory(a+this.LABEL_ID_SUFFIX+"_text","text"),g=this.getResolution();f.setAttributeNS(null,"x",d.x/g);f.setAttributeNS(null,"y",-d.y/g);e.setAttributeNS(null,"transform","scale("+g+")");b.fontColor&&f.setAttributeNS(null,"fill",b.fontColor);b.fontOpacity&&f.setAttributeNS(null,"opacity",b.fontOpacity);b.fontFamily&&f.setAttributeNS(null,"font-family",b.fontFamily);b.fontSize&&f.setAttributeNS(null,"font-size",b.fontSize);b.fontWeight&&f.setAttributeNS(null,"font-weight",
b.fontWeight);b.fontStyle&&f.setAttributeNS(null,"font-style",b.fontStyle);!0===b.labelSelect?(f.setAttributeNS(null,"pointer-events","visible"),f._featureId=a):f.setAttributeNS(null,"pointer-events","none");var h=b.labelAlign||OpenLayers.Renderer.defaultSymbolizer.labelAlign;f.setAttributeNS(null,"text-anchor",OpenLayers.Renderer.SVG2.LABEL_ALIGN[h[0]]||"middle");!0===OpenLayers.IS_GECKO&&f.setAttributeNS(null,"dominant-baseline",OpenLayers.Renderer.SVG2.LABEL_ALIGN[h[1]]||"central");for(var l=b.label.split("\n"),
m=l.length;f.childNodes.length>m;)f.removeChild(f.lastChild);for(var q=0;q<m;q++){var r=f.childNodes[q]||this.nodeFactory(a+this.LABEL_ID_SUFFIX+"_tspan_"+q,"tspan");!0===b.labelSelect&&(r._featureId=a);!1===OpenLayers.IS_GECKO&&r.setAttributeNS(null,"baseline-shift",OpenLayers.Renderer.SVG2.LABEL_VSHIFT[h[1]]||"-35%");r.setAttribute("x",d.x/g);if(0==q){var u=OpenLayers.Renderer.SVG2.LABEL_VFACTOR[h[1]];null==u&&(u=-0.5);r.setAttribute("dy",u*(m-1)+"em")}else r.setAttribute("dy","1em");r.textContent=
""===l[q]?" ":l[q];r.parentNode||f.appendChild(r)}f.parentNode||e.appendChild(f);return e},getComponentsString:function(a,b){for(var d=a.length,e=Array(d),f=0;f<d;f++)e[f]=this.getShortString(a[f]);return e.join(b||",")},getShortString:function(a){return a.x+","+-a.y},importSymbol:function(a){this.defs||(this.defs=this.createDefs());var b=this.container.id+"-"+a,d=document.getElementById(b);if(null!=d)return d;var e=OpenLayers.Renderer.symbol[a];if(!e)throw Error(a+" is not a valid symbol name");
a=this.nodeFactory(b,"symbol");var f=this.nodeFactory(null,"polygon");a.appendChild(f);for(var d=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0),g=[],h,l,m=0,q=e.length;m<q;m+=2)h=e[m],l=e[m+1],d.left=Math.min(d.left,h),d.bottom=Math.min(d.bottom,l),d.right=Math.max(d.right,h),d.top=Math.max(d.top,l),g.push(h,",",l);f.setAttributeNS(null,"points",g.join(" "));e=d.getWidth();f=d.getHeight();a.setAttributeNS(null,"viewBox",[d.left-e,d.bottom-f,3*e,3*f].join(" "));this.symbolMetrics[b]=
{size:Math.max(e,f),x:d.getCenterLonLat().lon,y:d.getCenterLonLat().lat};this.defs.appendChild(a);return a},getFeatureIdFromEvent:function(a){var b=OpenLayers.Renderer.Elements.prototype.getFeatureIdFromEvent.apply(this,arguments);b||(b=a.target,b=b.parentNode&&b!=this.rendererRoot?b.parentNode._featureId:void 0);return b},CLASS_NAME:"OpenLayers.Renderer.SVG2"});OpenLayers.Renderer.SVG2.LABEL_ALIGN={l:"start",r:"end",b:"bottom",t:"hanging"};OpenLayers.Renderer.SVG2.LABEL_VSHIFT={t:"-70%",b:"0"};
OpenLayers.Renderer.SVG2.LABEL_VFACTOR={t:0,b:-1};OpenLayers.Renderer.SVG2.preventDefault=function(a){a.preventDefault&&a.preventDefault()};
OpenLayers.Popup.AnchoredBubble=OpenLayers.Class(OpenLayers.Popup.Anchored,{rounded:!1,initialize:function(a,b,d,e,f,g,h){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){void 0!=a&&(this.backgroundColor=a);null!=this.div&&null!=this.contentDiv&&(this.div.style.background="transparent",OpenLayers.Rico.Corner.changeColor(this.groupDiv,this.backgroundColor))},setOpacity:function(a){OpenLayers.Popup.Anchored.prototype.setOpacity.call(this,a);null!=this.div&&null!=this.groupDiv&&OpenLayers.Rico.Corner.changeOpacity(this.groupDiv,this.opacity)},
setBorder:function(a){this.border=0},setRicoCorners:function(){var a={corners:this.getCornersToRound(this.relativePosition),color:this.backgroundColor,bgColor:"transparent",blend:!1};this.rounded?(OpenLayers.Rico.Corner.reRound(this.groupDiv,a),this.setBackgroundColor(),this.setOpacity()):(OpenLayers.Rico.Corner.round(this.div,a),this.rounded=!0)},getCornersToRound:function(){var a=["tl","tr","bl","br"],b=OpenLayers.Bounds.oppositeQuadrant(this.relativePosition);OpenLayers.Util.removeItem(a,b);return a.join(" ")},
CLASS_NAME:"OpenLayers.Popup.AnchoredBubble"});OpenLayers.Popup.AnchoredBubble.CORNER_SIZE=5;
OpenLayers.Protocol.WFS.v1_1_0=OpenLayers.Class(OpenLayers.Protocol.WFS.v1,{version:"1.1.0",initialize:function(a){OpenLayers.Protocol.WFS.v1.prototype.initialize.apply(this,arguments);this.outputFormat&&!this.readFormat&&("gml2"==this.outputFormat.toLowerCase()?this.readFormat=new OpenLayers.Format.GML.v2({featureType:this.featureType,featureNS:this.featureNS,geometryName:this.geometryName}):"json"==this.outputFormat.toLowerCase()&&(this.readFormat=new OpenLayers.Format.GeoJSON))},CLASS_NAME:"OpenLayers.Protocol.WFS.v1_1_0"});
OpenLayers.Control.ArgParser=OpenLayers.Class(OpenLayers.Control,{center:null,zoom:null,layers:null,displayProjection:null,getParameters:function(a){a=a||window.location.href;var b=OpenLayers.Util.getParameters(a),d=a.indexOf("#");0<d&&(a="?"+a.substring(d+1,a.length),OpenLayers.Util.extend(b,OpenLayers.Util.getParameters(a)));return b},setMap:function(a){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var b=0,d=this.map.controls.length;b<d;b++){var e=this.map.controls[b];if(e!=this&&
"OpenLayers.Control.ArgParser"==e.CLASS_NAME){e.displayProjection!=this.displayProjection&&(this.displayProjection=e.displayProjection);break}}b==this.map.controls.length&&(b=this.getParameters(),b.layers&&(this.layers=b.layers,this.map.events.register("addlayer",this,this.configureLayers),this.configureLayers()),b.lat&&b.lon&&(this.center=new OpenLayers.LonLat(parseFloat(b.lon),parseFloat(b.lat)),b.zoom&&(this.zoom=parseFloat(b.zoom)),this.map.events.register("changebaselayer",this,this.setCenter),
this.setCenter()))},setCenter:function(){this.map.baseLayer&&(this.map.events.unregister("changebaselayer",this,this.setCenter),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 a=0,b=this.layers.length;a<b;a++){var d=this.map.layers[a],e=this.layers.charAt(a);
"B"==e?this.map.setBaseLayer(d):"T"!=e&&"F"!=e||d.setVisibility("T"==e)}}},CLASS_NAME:"OpenLayers.Control.ArgParser"});
Proj4js={defaultDatum:"WGS84",transform:function(a,b,d){if(!a.readyToUse)return this.reportError("Proj4js initialization for:"+a.srsCode+" not yet complete"),d;if(!b.readyToUse)return this.reportError("Proj4js initialization for:"+b.srsCode+" not yet complete"),d;if("900913"==a.srsProjNumber&&"WGS84"!=b.datumCode&&!b.datum_params||"900913"==b.srsProjNumber&&"WGS84"!=a.datumCode&&!a.datum_params){var e=Proj4js.WGS84;this.transform(a,e,d);a=e}"enu"!=a.axis&&this.adjust_axis(a,!1,d);"longlat"==a.projName?
(d.x*=Proj4js.common.D2R,d.y*=Proj4js.common.D2R):(a.to_meter&&(d.x*=a.to_meter,d.y*=a.to_meter),a.inverse(d));a.from_greenwich&&(d.x+=a.from_greenwich);d=this.datum_transform(a.datum,b.datum,d);b.from_greenwich&&(d.x-=b.from_greenwich);"longlat"==b.projName?(d.x*=Proj4js.common.R2D,d.y*=Proj4js.common.R2D):(b.forward(d),b.to_meter&&(d.x/=b.to_meter,d.y/=b.to_meter));"enu"!=b.axis&&this.adjust_axis(b,!0,d);return d},datum_transform:function(a,b,d){if(a.compare_datums(b)||a.datum_type==Proj4js.common.PJD_NODATUM||
b.datum_type==Proj4js.common.PJD_NODATUM)return d;a.datum_type==Proj4js.common.PJD_GRIDSHIFT&&alert("ERROR: Grid shift transformations are not implemented yet.");b.datum_type==Proj4js.common.PJD_GRIDSHIFT&&alert("ERROR: Grid shift transformations are not implemented yet.");if(a.es!=b.es||a.a!=b.a||a.datum_type==Proj4js.common.PJD_3PARAM||a.datum_type==Proj4js.common.PJD_7PARAM||b.datum_type==Proj4js.common.PJD_3PARAM||b.datum_type==Proj4js.common.PJD_7PARAM)a.geodetic_to_geocentric(d),a.datum_type!=
Proj4js.common.PJD_3PARAM&&a.datum_type!=Proj4js.common.PJD_7PARAM||a.geocentric_to_wgs84(d),b.datum_type!=Proj4js.common.PJD_3PARAM&&b.datum_type!=Proj4js.common.PJD_7PARAM||b.geocentric_from_wgs84(d),b.geocentric_to_geodetic(d);b.datum_type==Proj4js.common.PJD_GRIDSHIFT&&alert("ERROR: Grid shift transformations are not implemented yet.");return d},adjust_axis:function(a,b,d){for(var e=d.x,f=d.y,g=d.z||0,h,l,m=0;3>m;m++)if(!b||2!=m||void 0!==d.z)switch(0==m?(h=e,l="x"):1==m?(h=f,l="y"):(h=g,l="z"),
a.axis[m]){case "e":d[l]=h;break;case "w":d[l]=-h;break;case "n":d[l]=h;break;case "s":d[l]=-h;break;case "u":void 0!==d[l]&&(d.z=h);break;case "d":void 0!==d[l]&&(d.z=-h);break;default:return alert("ERROR: unknow axis ("+a.axis[m]+") - check definition of "+src.projName),null}return d},reportError:function(a){},extend:function(a,b){a=a||{};if(b)for(var d in b){var e=b[d];void 0!==e&&(a[d]=e)}return a},Class:function(){for(var a=function(){this.initialize.apply(this,arguments)},b={},d,e=0;e<arguments.length;++e)d=
"function"==typeof arguments[e]?arguments[e].prototype:arguments[e],Proj4js.extend(b,d);a.prototype=b;return a},bind:function(a,b){var d=Array.prototype.slice.apply(arguments,[2]);return function(){var e=d.concat(Array.prototype.slice.apply(arguments,[0]));return a.apply(b,e)}},scriptName:"proj4js-combined.js",defsLookupService:"http://spatialreference.org/ref",libPath:null,getScriptLocation:function(){if(this.libPath)return this.libPath;for(var a=this.scriptName,b=a.length,d=document.getElementsByTagName("script"),
e=0;e<d.length;e++){var f=d[e].getAttribute("src");if(f){var g=f.lastIndexOf(a);if(-1<g&&g+b==f.length){this.libPath=f.slice(0,-b);break}}}return this.libPath||""},loadScript:function(a,b,d,e){var f=document.createElement("script");f.defer=!1;f.type="text/javascript";f.id=a;f.src=a;f.onload=b;f.onerror=d;f.loadCheck=e;/MSIE/.test(navigator.userAgent)&&(f.onreadystatechange=this.checkReadyState);document.getElementsByTagName("head")[0].appendChild(f)},checkReadyState:function(){if("loaded"==this.readyState)if(this.loadCheck())this.onload();
else this.onerror()}};
Proj4js.Proj=Proj4js.Class({readyToUse:!1,title:null,projName:null,units:null,datum:null,x0:0,y0:0,localCS:!1,queue:null,initialize:function(a,b){this.srsCodeInput=a;this.queue=[];b&&this.queue.push(b);if(0<=a.indexOf("GEOGCS")||0<=a.indexOf("GEOCCS")||0<=a.indexOf("PROJCS")||0<=a.indexOf("LOCAL_CS"))this.parseWKT(a),this.deriveConstants(),this.loadProjCode(this.projName);else{if(0==a.indexOf("urn:")){var d=a.split(":");"ogc"!=d[1]&&"x-ogc"!=d[1]||"def"!=d[2]||"crs"!=d[3]||(a=d[4]+":"+d[d.length-
1])}else 0==a.indexOf("http://")&&(d=a.split("#"),d[0].match(/epsg.org/)?a="EPSG:"+d[1]:d[0].match(/RIG.xml/)&&(a="IGNF:"+d[1]));this.srsCode=a.toUpperCase();0==this.srsCode.indexOf("EPSG")?(this.srsCode=this.srsCode,this.srsAuth="epsg",this.srsProjNumber=this.srsCode.substring(5)):0==this.srsCode.indexOf("IGNF")?(this.srsCode=this.srsCode,this.srsAuth="IGNF",this.srsProjNumber=this.srsCode.substring(5)):0==this.srsCode.indexOf("CRS")?(this.srsCode=this.srsCode,this.srsAuth="CRS",this.srsProjNumber=
this.srsCode.substring(4)):(this.srsAuth="",this.srsProjNumber=this.srsCode);this.loadProjDefinition()}},loadProjDefinition:function(){if(Proj4js.defs[this.srsCode])this.defsLoaded();else{var a=Proj4js.getScriptLocation()+"defs/"+this.srsAuth.toUpperCase()+this.srsProjNumber+".js";Proj4js.loadScript(a,Proj4js.bind(this.defsLoaded,this),Proj4js.bind(this.loadFromService,this),Proj4js.bind(this.checkDefsLoaded,this))}},loadFromService:function(){Proj4js.loadScript(Proj4js.defsLookupService+"/"+this.srsAuth+
"/"+this.srsProjNumber+"/proj4js/",Proj4js.bind(this.defsLoaded,this),Proj4js.bind(this.defsFailed,this),Proj4js.bind(this.checkDefsLoaded,this))},defsLoaded:function(){this.parseDefs();this.loadProjCode(this.projName)},checkDefsLoaded:function(){return Proj4js.defs[this.srsCode]?!0:!1},defsFailed:function(){Proj4js.reportError("failed to load projection definition for: "+this.srsCode);Proj4js.defs[this.srsCode]=Proj4js.defs.WGS84;this.defsLoaded()},loadProjCode:function(a){if(Proj4js.Proj[a])this.initTransforms();
else{var b=Proj4js.getScriptLocation()+"projCode/"+a+".js";Proj4js.loadScript(b,Proj4js.bind(this.loadProjCodeSuccess,this,a),Proj4js.bind(this.loadProjCodeFailure,this,a),Proj4js.bind(this.checkCodeLoaded,this,a))}},loadProjCodeSuccess:function(a){Proj4js.Proj[a].dependsOn?this.loadProjCode(Proj4js.Proj[a].dependsOn):this.initTransforms()},loadProjCodeFailure:function(a){Proj4js.reportError("failed to find projection file for: "+a)},checkCodeLoaded:function(a){return Proj4js.Proj[a]?!0:!1},initTransforms:function(){Proj4js.extend(this,
Proj4js.Proj[this.projName]);this.init();this.readyToUse=!0;if(this.queue)for(var a;a=this.queue.shift();)a.call(this,this)},wktRE:/^(\w+)\[(.*)\]$/,parseWKT:function(a){if(a=a.match(this.wktRE)){var b=a[1],d=a[2].split(","),e;e="TOWGS84"==b.toUpperCase()?b:d.shift();e=e.replace(/^\"/,"");e=e.replace(/\"$/,"");a=[];for(var f=0,g="",h=0;h<d.length;++h){for(var l=d[h],m=0;m<l.length;++m)"["==l.charAt(m)&&++f,"]"==l.charAt(m)&&--f;g+=l;0===f?(a.push(g),g=""):g+=","}switch(b){case "LOCAL_CS":this.projName=
"identity";this.localCS=!0;this.srsCode=e;break;case "GEOGCS":this.projName="longlat";this.geocsCode=e;this.srsCode||(this.srsCode=e);break;case "PROJCS":this.srsCode=e;break;case "PROJECTION":this.projName=Proj4js.wktProjections[e];break;case "DATUM":this.datumName=e;break;case "LOCAL_DATUM":this.datumCode="none";break;case "SPHEROID":this.ellps=e;this.a=parseFloat(a.shift());this.rf=parseFloat(a.shift());break;case "PRIMEM":this.from_greenwich=parseFloat(a.shift());break;case "UNIT":this.units=
e;this.unitsPerMeter=parseFloat(a.shift());break;case "PARAMETER":b=e.toLowerCase();d=parseFloat(a.shift());switch(b){case "false_easting":this.x0=d;break;case "false_northing":this.y0=d;break;case "scale_factor":this.k0=d;break;case "central_meridian":this.long0=d*Proj4js.common.D2R;break;case "latitude_of_origin":this.lat0=d*Proj4js.common.D2R}break;case "TOWGS84":this.datum_params=a;break;case "AXIS":b=e.toLowerCase();d=a.shift();switch(d){case "EAST":d="e";break;case "WEST":d="w";break;case "NORTH":d=
"n";break;case "SOUTH":d="s";break;case "UP":d="u";break;case "DOWN":d="d";break;default:d=" "}this.axis||(this.axis="enu");switch(b){case "x":this.axis=d+this.axis.substr(1,2);break;case "y":this.axis=this.axis.substr(0,1)+d+this.axis.substr(2,1);break;case "z":this.axis=this.axis.substr(0,2)+d}}for(h=0;h<a.length;++h)this.parseWKT(a[h])}},parseDefs:function(){this.defData=Proj4js.defs[this.srsCode];var a,b;if(this.defData){for(var d=this.defData.split("+"),e=0;e<d.length;e++)switch(b=d[e].split("="),
a=b[0].toLowerCase(),b=b[1],a.replace(/\s/gi,"")){case "title":this.title=b;break;case "proj":this.projName=b.replace(/\s/gi,"");break;case "units":this.units=b.replace(/\s/gi,"");break;case "datum":this.datumCode=b.replace(/\s/gi,"");break;case "nadgrids":this.nagrids=b.replace(/\s/gi,"");break;case "ellps":this.ellps=b.replace(/\s/gi,"");break;case "a":this.a=parseFloat(b);break;case "b":this.b=parseFloat(b);break;case "rf":this.rf=parseFloat(b);break;case "lat_0":this.lat0=b*Proj4js.common.D2R;
break;case "lat_1":this.lat1=b*Proj4js.common.D2R;break;case "lat_2":this.lat2=b*Proj4js.common.D2R;break;case "lat_ts":this.lat_ts=b*Proj4js.common.D2R;break;case "lon_0":this.long0=b*Proj4js.common.D2R;break;case "alpha":this.alpha=parseFloat(b)*Proj4js.common.D2R;break;case "lonc":this.longc=b*Proj4js.common.D2R;break;case "x_0":this.x0=parseFloat(b);break;case "y_0":this.y0=parseFloat(b);break;case "k_0":this.k0=parseFloat(b);break;case "k":this.k0=parseFloat(b);break;case "r_a":this.R_A=!0;break;
case "zone":this.zone=parseInt(b);break;case "south":this.utmSouth=!0;break;case "towgs84":this.datum_params=b.split(",");break;case "to_meter":this.to_meter=parseFloat(b);break;case "from_greenwich":this.from_greenwich=b*Proj4js.common.D2R;break;case "pm":b=b.replace(/\s/gi,"");this.from_greenwich=Proj4js.PrimeMeridian[b]?Proj4js.PrimeMeridian[b]:parseFloat(b);this.from_greenwich*=Proj4js.common.D2R;break;case "axis":b=b.replace(/\s/gi,""),3==b.length&&-1!="ewnsud".indexOf(b.substr(0,1))&&-1!="ewnsud".indexOf(b.substr(1,
1))&&-1!="ewnsud".indexOf(b.substr(2,1))&&(this.axis=b)}this.deriveConstants()}},deriveConstants:function(){"@null"==this.nagrids&&(this.datumCode="none");if(this.datumCode&&"none"!=this.datumCode){var a=Proj4js.Datum[this.datumCode];a&&(this.datum_params=a.towgs84?a.towgs84.split(","):null,this.ellps=a.ellipse,this.datumName=a.datumName?a.datumName:this.datumCode)}this.a||Proj4js.extend(this,Proj4js.Ellipsoid[this.ellps]?Proj4js.Ellipsoid[this.ellps]:Proj4js.Ellipsoid.WGS84);this.rf&&!this.b&&(this.b=
(1-1/this.rf)*this.a);if(0===this.rf||Math.abs(this.a-this.b)<Proj4js.common.EPSLN)this.sphere=!0,this.b=this.a;this.a2=this.a*this.a;this.b2=this.b*this.b;this.es=(this.a2-this.b2)/this.a2;this.e=Math.sqrt(this.es);this.R_A&&(this.a*=1-this.es*(Proj4js.common.SIXTH+this.es*(Proj4js.common.RA4+this.es*Proj4js.common.RA6)),this.a2=this.a*this.a,this.b2=this.b*this.b,this.es=0);this.ep2=(this.a2-this.b2)/this.b2;this.k0||(this.k0=1);this.axis||(this.axis="enu");this.datum=new Proj4js.datum(this)}});
Proj4js.Proj.longlat={init:function(){},forward:function(a){return a},inverse:function(a){return a}};Proj4js.Proj.identity=Proj4js.Proj.longlat;Proj4js.defs={WGS84:"+title=long/lat:WGS84 +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees","EPSG:4326":"+title=long/lat:WGS84 +proj=longlat +a=6378137.0 +b=6356752.31424518 +ellps=WGS84 +datum=WGS84 +units=degrees","EPSG:4269":"+title=long/lat:NAD83 +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees","EPSG:3875":"+title= Google Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"};
Proj4js.defs["EPSG:3785"]=Proj4js.defs["EPSG:3875"];Proj4js.defs.GOOGLE=Proj4js.defs["EPSG:3875"];Proj4js.defs["EPSG:900913"]=Proj4js.defs["EPSG:3875"];Proj4js.defs["EPSG:102113"]=Proj4js.defs["EPSG:3875"];Proj4js.defs["EPSG:3857"]=Proj4js.defs["EPSG:3875"];
Proj4js.common={PI:3.141592653589793,HALF_PI:1.5707963267948966,TWO_PI:6.283185307179586,FORTPI:0.7853981633974483,R2D:57.29577951308232,D2R:0.017453292519943295,SEC_TO_RAD:4.84813681109536E-6,EPSLN:1E-10,MAX_ITER:20,COS_67P5:0.3826834323650898,AD_C:1.0026,PJD_UNKNOWN:0,PJD_3PARAM:1,PJD_7PARAM:2,PJD_GRIDSHIFT:3,PJD_WGS84:4,PJD_NODATUM:5,SRS_WGS84_SEMIMAJOR:6378137,SIXTH:0.16666666666666666,RA4:0.04722222222222222,RA6:0.022156084656084655,RV4:0.06944444444444445,RV6:0.04243827160493827,msfnz:function(a,
b,d){a*=b;return d/Math.sqrt(1-a*a)},tsfnz:function(a,b,d){d*=a;d=Math.pow((1-d)/(1+d),0.5*a);return Math.tan(0.5*(this.HALF_PI-b))/d},phi2z:function(a,b){for(var d=0.5*a,e,f=this.HALF_PI-2*Math.atan(b),g=0;15>=g;g++)if(e=a*Math.sin(f),e=this.HALF_PI-2*Math.atan(b*Math.pow((1-e)/(1+e),d))-f,f+=e,1E-10>=Math.abs(e))return f;alert("phi2z has NoConvergence");return-9999},qsfnz:function(a,b){var d;return 1E-7<a?(d=a*b,(1-a*a)*(b/(1-d*d)-0.5/a*Math.log((1-d)/(1+d)))):2*b},asinz:function(a){1<Math.abs(a)&&
(a=1<a?1:-1);return Math.asin(a)},e0fn:function(a){return 1-0.25*a*(1+a/16*(3+1.25*a))},e1fn:function(a){return 0.375*a*(1+0.25*a*(1+0.46875*a))},e2fn:function(a){return 0.05859375*a*a*(1+0.75*a)},e3fn:function(a){return a*a*a*(35/3072)},mlfn:function(a,b,d,e,f){return a*f-b*Math.sin(2*f)+d*Math.sin(4*f)-e*Math.sin(6*f)},srat:function(a,b){return Math.pow((1-a)/(1+a),b)},sign:function(a){return 0>a?-1:1},adjust_lon:function(a){return a=Math.abs(a)<this.PI?a:a-this.sign(a)*this.TWO_PI},adjust_lat:function(a){return a=
Math.abs(a)<this.HALF_PI?a:a-this.sign(a)*this.PI},latiso:function(a,b,d){if(Math.abs(b)>this.HALF_PI)return+Number.NaN;if(b==this.HALF_PI)return Number.POSITIVE_INFINITY;if(b==-1*this.HALF_PI)return-1*Number.POSITIVE_INFINITY;d*=a;return Math.log(Math.tan((this.HALF_PI+b)/2))+a*Math.log((1-d)/(1+d))/2},fL:function(a,b){return 2*Math.atan(a*Math.exp(b))-this.HALF_PI},invlatiso:function(a,b){var d=this.fL(1,b),e=0,f=0;do e=d,f=a*Math.sin(e),d=this.fL(Math.exp(a*Math.log((1+f)/(1-f))/2),b);while(1E-12<
Math.abs(d-e));return d},sinh:function(a){a=Math.exp(a);return(a-1/a)/2},cosh:function(a){a=Math.exp(a);return(a+1/a)/2},tanh:function(a){a=Math.exp(a);return(a-1/a)/(a+1/a)},asinh:function(a){return(0<=a?1:-1)*Math.log(Math.abs(a)+Math.sqrt(a*a+1))},acosh:function(a){return 2*Math.log(Math.sqrt((a+1)/2)+Math.sqrt((a-1)/2))},atanh:function(a){return Math.log((a-1)/(a+1))/2},gN:function(a,b,d){b*=d;return a/Math.sqrt(1-b*b)}};
Proj4js.datum=Proj4js.Class({initialize:function(a){this.datum_type=Proj4js.common.PJD_WGS84;a.datumCode&&"none"==a.datumCode&&(this.datum_type=Proj4js.common.PJD_NODATUM);if(a&&a.datum_params){for(var b=0;b<a.datum_params.length;b++)a.datum_params[b]=parseFloat(a.datum_params[b]);if(0!=a.datum_params[0]||0!=a.datum_params[1]||0!=a.datum_params[2])this.datum_type=Proj4js.common.PJD_3PARAM;3<a.datum_params.length&&(0!=a.datum_params[3]||0!=a.datum_params[4]||0!=a.datum_params[5]||0!=a.datum_params[6])&&
(this.datum_type=Proj4js.common.PJD_7PARAM,a.datum_params[3]*=Proj4js.common.SEC_TO_RAD,a.datum_params[4]*=Proj4js.common.SEC_TO_RAD,a.datum_params[5]*=Proj4js.common.SEC_TO_RAD,a.datum_params[6]=a.datum_params[6]/1E6+1)}a&&(this.a=a.a,this.b=a.b,this.es=a.es,this.ep2=a.ep2,this.datum_params=a.datum_params)},compare_datums:function(a){return this.datum_type!=a.datum_type?!1:this.a!=a.a||5E-11<Math.abs(this.es-a.es)?!1:this.datum_type==Proj4js.common.PJD_3PARAM?this.datum_params[0]==a.datum_params[0]&&
this.datum_params[1]==a.datum_params[1]&&this.datum_params[2]==a.datum_params[2]:this.datum_type==Proj4js.common.PJD_7PARAM?this.datum_params[0]==a.datum_params[0]&&this.datum_params[1]==a.datum_params[1]&&this.datum_params[2]==a.datum_params[2]&&this.datum_params[3]==a.datum_params[3]&&this.datum_params[4]==a.datum_params[4]&&this.datum_params[5]==a.datum_params[5]&&this.datum_params[6]==a.datum_params[6]:this.datum_type==Proj4js.common.PJD_GRIDSHIFT?0==strcmp(pj_param(this.params,"snadgrids").s,
pj_param(a.params,"snadgrids").s):!0},geodetic_to_geocentric:function(a){var b=a.x,d=a.y,e=a.z?a.z:0,f,g,h;if(d<-Proj4js.common.HALF_PI&&d>-1.001*Proj4js.common.HALF_PI)d=-Proj4js.common.HALF_PI;else if(d>Proj4js.common.HALF_PI&&d<1.001*Proj4js.common.HALF_PI)d=Proj4js.common.HALF_PI;else if(d<-Proj4js.common.HALF_PI||d>Proj4js.common.HALF_PI)return Proj4js.reportError("geocent:lat out of range:"+d),null;b>Proj4js.common.PI&&(b-=2*Proj4js.common.PI);g=Math.sin(d);h=Math.cos(d);f=this.a/Math.sqrt(1-
this.es*g*g);d=(f+e)*h*Math.cos(b);b=(f+e)*h*Math.sin(b);e=(f*(1-this.es)+e)*g;a.x=d;a.y=b;a.z=e;return 0},geocentric_to_geodetic:function(a){var b,d,e,f,g,h,l,m,q,r,u=a.x;e=a.y;var z=a.z?a.z:0;b=Math.sqrt(u*u+e*e);d=Math.sqrt(u*u+e*e+z*z);if(1E-12>b/this.a){if(u=0,1E-12>d/this.a)return}else u=Math.atan2(e,u);e=z/d;f=b/d;g=1/Math.sqrt(1-this.es*(2-this.es)*f*f);l=f*(1-this.es)*g;m=e*g;r=0;do r++,h=this.a/Math.sqrt(1-this.es*m*m),d=b*l+z*m-h*(1-this.es*m*m),h=this.es*h/(h+d),g=1/Math.sqrt(1-h*(2-h)*
f*f),h=f*(1-h)*g,g*=e,q=g*l-h*m,l=h,m=g;while(1E-24<q*q&&30>r);b=Math.atan(g/Math.abs(h));a.x=u;a.y=b;a.z=d;return a},geocentric_to_geodetic_noniter:function(a){var b=a.x,d=a.y,e=a.z?a.z:0,f,g,h,l,m,b=parseFloat(b),d=parseFloat(d),e=parseFloat(e);m=!1;if(0!=b)f=Math.atan2(d,b);else if(0<d)f=Proj4js.common.HALF_PI;else if(0>d)f=-Proj4js.common.HALF_PI;else if(m=!0,f=0,0<e)g=Proj4js.common.HALF_PI;else if(0>e)g=-Proj4js.common.HALF_PI;else return;h=b*b+d*d;b=Math.sqrt(h);d=e*Proj4js.common.AD_C;h=Math.sqrt(d*
d+h);d/=h;h=b/h;d=e+this.b*this.ep2*d*d*d;l=b-this.a*this.es*h*h*h;h=Math.sqrt(d*d+l*l);d/=h;h=l/h;l=this.a/Math.sqrt(1-this.es*d*d);e=h>=Proj4js.common.COS_67P5?b/h-l:h<=-Proj4js.common.COS_67P5?b/-h-l:e/d+l*(this.es-1);!1==m&&(g=Math.atan(d/h));a.x=f;a.y=g;a.z=e;return a},geocentric_to_wgs84:function(a){if(this.datum_type==Proj4js.common.PJD_3PARAM)a.x+=this.datum_params[0],a.y+=this.datum_params[1],a.z+=this.datum_params[2];else if(this.datum_type==Proj4js.common.PJD_7PARAM){var b=this.datum_params[3],
d=this.datum_params[4],e=this.datum_params[5],f=this.datum_params[6],g=f*(e*a.x+a.y-b*a.z)+this.datum_params[1],b=f*(-d*a.x+b*a.y+a.z)+this.datum_params[2];a.x=f*(a.x-e*a.y+d*a.z)+this.datum_params[0];a.y=g;a.z=b}},geocentric_from_wgs84:function(a){if(this.datum_type==Proj4js.common.PJD_3PARAM)a.x-=this.datum_params[0],a.y-=this.datum_params[1],a.z-=this.datum_params[2];else if(this.datum_type==Proj4js.common.PJD_7PARAM){var b=this.datum_params[3],d=this.datum_params[4],e=this.datum_params[5],f=this.datum_params[6],
g=(a.x-this.datum_params[0])/f,h=(a.y-this.datum_params[1])/f,f=(a.z-this.datum_params[2])/f;a.x=g+e*h-d*f;a.y=-e*g+h+b*f;a.z=d*g-b*h+f}}});
Proj4js.Point=Proj4js.Class({initialize:function(a,b,d){"object"==typeof a?(this.x=a[0],this.y=a[1],this.z=a[2]||0):"string"==typeof a&&"undefined"==typeof b?(a=a.split(","),this.x=parseFloat(a[0]),this.y=parseFloat(a[1]),this.z=parseFloat(a[2])||0):(this.x=a,this.y=b,this.z=d||0)},clone:function(){return new Proj4js.Point(this.x,this.y,this.z)},toString:function(){return"x="+this.x+",y="+this.y},toShortString:function(){return this.x+", "+this.y}});
Proj4js.PrimeMeridian={greenwich:0,lisbon:-9.131906111111,paris:2.337229166667,bogota:-74.080916666667,madrid:-3.687938888889,rome:12.452333333333,bern:7.439583333333,jakarta:106.807719444444,ferro:-17.666666666667,brussels:4.367975,stockholm:18.058277777778,athens:23.7163375,oslo:10.722916666667};
Proj4js.Ellipsoid={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},"APL4.":{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},
andrae:{a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},clrk80:{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},CPM:{a:6375738.7,rf:334.29,
ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},
fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},
new_intl:{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:6355834.8467,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS72:{a:6378135,rf:298.26,ellipseName:"WGS 72"},WGS84:{a:6378137,rf:298.257223563,ellipseName:"WGS 84"},
sphere:{a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}};
Proj4js.Datum={WGS84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},GGRS87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},NAD83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},NAD27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",
ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},OSGB36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"}};
Proj4js.WGS84=new Proj4js.Proj("WGS84");Proj4js.Datum.OSB36=Proj4js.Datum.OSGB36;Proj4js.wktProjections={"Lambert Tangential Conformal Conic Projection":"lcc",Mercator:"merc","Popular Visualisation Pseudo Mercator":"merc",Mercator_1SP:"merc",Transverse_Mercator:"tmerc","Transverse Mercator":"tmerc","Lambert Azimuthal Equal Area":"laea","Universal Transverse Mercator System":"utm"};
Proj4js.Proj.aea={init:function(){Math.abs(this.lat1+this.lat2)<Proj4js.common.EPSLN?Proj4js.reportError("aeaInitEqualLatitudes"):(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.con=this.t1=this.sin_po,this.ms1=Proj4js.common.msfnz(this.e3,this.sin_po,this.cos_po),this.qs1=Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=
this.sin_po,this.ms2=Proj4js.common.msfnz(this.e3,this.sin_po,this.cos_po),this.qs2=Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=Proj4js.common.qsfnz(this.e3,this.sin_po,this.cos_po),Math.abs(this.lat1-this.lat2)>Proj4js.common.EPSLN?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*
this.qs0)/this.ns0)},forward:function(a){var b=a.x,d=a.y;this.sin_phi=Math.sin(d);this.cos_phi=Math.cos(d);var d=Proj4js.common.qsfnz(this.e3,this.sin_phi,this.cos_phi),d=this.a*Math.sqrt(this.c-this.ns0*d)/this.ns0,e=this.ns0*Proj4js.common.adjust_lon(b-this.long0),b=d*Math.sin(e)+this.x0,d=this.rh-d*Math.cos(e)+this.y0;a.x=b;a.y=d;return a},inverse:function(a){var b,d,e;a.x-=this.x0;a.y=this.rh-a.y+this.y0;0<=this.ns0?(b=Math.sqrt(a.x*a.x+a.y*a.y),d=1):(b=-Math.sqrt(a.x*a.x+a.y*a.y),d=-1);e=0;0!=
b&&(e=Math.atan2(d*a.x,d*a.y));d=b*this.ns0/this.a;b=(this.c-d*d)/this.ns0;1E-10<=this.e3?(d=1-0.5*(1-this.es)*Math.log((1-this.e3)/(1+this.e3))/this.e3,d=1E-10<Math.abs(Math.abs(d)-Math.abs(b))?this.phi1z(this.e3,b):0<=b?0.5*PI:-0.5*PI):d=this.phi1z(e3,b);e=Proj4js.common.adjust_lon(e/this.ns0+this.long0);a.x=e;a.y=d;return a},phi1z:function(a,b){var d,e,f=Proj4js.common.asinz(0.5*b);if(a<Proj4js.common.EPSLN)return f;for(var g=a*a,h=1;25>=h;h++)if(sinphi=Math.sin(f),cosphi=Math.cos(f),d=a*sinphi,
e=1-d*d,d=0.5*e*e/cosphi*(b/(1-g)-sinphi/e+0.5/a*Math.log((1-d)/(1+d))),f+=d,1E-7>=Math.abs(d))return f;Proj4js.reportError("aea:phi1z:Convergence error");return null}};
Proj4js.Proj.sterea={dependsOn:"gauss",init:function(){Proj4js.Proj.gauss.init.apply(this);this.rc?(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative")):Proj4js.reportError("sterea:init:E_ERROR_0")},forward:function(a){a.x=Proj4js.common.adjust_lon(a.x-this.long0);Proj4js.Proj.gauss.forward.apply(this,[a]);sinc=Math.sin(a.y);cosc=Math.cos(a.y);cosl=Math.cos(a.x);k=this.k0*this.R2/(1+this.sinc0*sinc+this.cosc0*
cosc*cosl);a.x=k*cosc*Math.sin(a.x);a.y=k*(this.cosc0*sinc-this.sinc0*cosc*cosl);a.x=this.a*a.x+this.x0;a.y=this.a*a.y+this.y0;return a},inverse:function(a){var b,d;a.x=(a.x-this.x0)/this.a;a.y=(a.y-this.y0)/this.a;a.x/=this.k0;a.y/=this.k0;(rho=Math.sqrt(a.x*a.x+a.y*a.y))?(c=2*Math.atan2(rho,this.R2),sinc=Math.sin(c),cosc=Math.cos(c),d=Math.asin(cosc*this.sinc0+a.y*sinc*this.cosc0/rho),b=Math.atan2(a.x*sinc,rho*this.cosc0*cosc-a.y*this.sinc0*sinc)):(d=this.phic0,b=0);a.x=b;a.y=d;Proj4js.Proj.gauss.inverse.apply(this,
[a]);a.x=Proj4js.common.adjust_lon(a.x+this.long0);return a}};function phi4z(a,b,d,e,f,g,h,l,m){var q,r,u,z,v,B;m=g;for(B=1;15>=B;B++)if(q=Math.sin(m),tanphi=Math.tan(m),l=tanphi*Math.sqrt(1-a*q*q),r=Math.sin(2*m),u=b*m-d*r+e*Math.sin(4*m)-f*Math.sin(6*m),z=b-2*d*Math.cos(2*m)+4*e*Math.cos(4*m)-6*f*Math.cos(6*m),q=2*u+l*(u*u+h)-2*g*(l*u+1),v=a*r*(u*u+h-2*g*u)/(2*l),l=2*(g-u)*(l*z-2/r)-2*z,q/=v+l,m+=q,1E-10>=Math.abs(q))return m;Proj4js.reportError("phi4z: No convergence");return null}
function e4fn(a){var b;b=1+a;a=1-a;return Math.sqrt(Math.pow(b,b)*Math.pow(a,a))}
Proj4js.Proj.poly={init:function(){this.lat0=0;this.temp=this.b/this.a;this.es=1-Math.pow(this.temp,2);this.e=Math.sqrt(this.es);this.e0=Proj4js.common.e0fn(this.es);this.e1=Proj4js.common.e1fn(this.es);this.e2=Proj4js.common.e2fn(this.es);this.e3=Proj4js.common.e3fn(this.es);this.ml0=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0)},forward:function(a){var b,d,e,f,g;e=a.y;d=Proj4js.common.adjust_lon(a.x-this.long0);1E-7>=Math.abs(e)?(g=this.x0+this.a*d,b=this.y0-this.a*this.ml0):(b=
Math.sin(e),d=Math.cos(e),e=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,e),f=Proj4js.common.msfnz(this.e,b,d),d=b,g=this.x0+this.a*f*Math.sin(d)/b,b=this.y0+this.a*(e-this.ml0+f*(1-Math.cos(d))/b));a.x=g;a.y=b;return a},inverse:function(a){var b,d;a.x-=this.x0;a.y-=this.y0;b=this.ml0+a.y/this.a;if(1E-7>=Math.abs(b))b=a.x/this.a+this.long0,d=0;else{b=b*b+a.x/this.a*(a.x/this.a);b=phi4z(this.es,this.e0,this.e1,this.e2,this.e3,this.al,b,void 0,d);if(1!=b)return b;b=Proj4js.common.adjust_lon(Proj4js.common.asinz(NaN*
a.x/this.a)/Math.sin(d)+this.long0)}a.x=b;a.y=d;return a}};
Proj4js.Proj.equi={init:function(){this.x0||(this.x0=0);this.y0||(this.y0=0);this.lat0||(this.lat0=0);this.long0||(this.long0=0)},forward:function(a){var b=a.y,d=Proj4js.common.adjust_lon(a.x-this.long0),d=this.x0+this.a*d*Math.cos(this.lat0),b=this.y0+this.a*b;this.t1=d;this.t2=Math.cos(this.lat0);a.x=d;a.y=b;return a},inverse:function(a){a.x-=this.x0;a.y-=this.y0;var b=a.y/this.a;Math.abs(b)>Proj4js.common.HALF_PI&&Proj4js.reportError("equi:Inv:DataError");var d=Proj4js.common.adjust_lon(this.long0+
a.x/(this.a*Math.cos(this.lat0)));a.x=d;a.y=b}};
Proj4js.Proj.merc={init:function(){this.lat_ts&&(this.k0=this.sphere?Math.cos(this.lat_ts):Proj4js.common.msfnz(this.es,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))},forward:function(a){var b=a.x,d=a.y;if(90<d*Proj4js.common.R2D&&-90>d*Proj4js.common.R2D&&180<b*Proj4js.common.R2D&&-180>b*Proj4js.common.R2D)return Proj4js.reportError("merc:forward: llInputOutOfRange: "+b+" : "+d),null;if(Math.abs(Math.abs(d)-Proj4js.common.HALF_PI)<=Proj4js.common.EPSLN)return Proj4js.reportError("merc:forward: ll2mAtPoles"),null;
if(this.sphere)b=this.x0+this.a*this.k0*Proj4js.common.adjust_lon(b-this.long0),d=this.y0+this.a*this.k0*Math.log(Math.tan(Proj4js.common.FORTPI+0.5*d));else var e=Math.sin(d),d=Proj4js.common.tsfnz(this.e,d,e),b=this.x0+this.a*this.k0*Proj4js.common.adjust_lon(b-this.long0),d=this.y0-this.a*this.k0*Math.log(d);a.x=b;a.y=d;return a},inverse:function(a){var b=a.x-this.x0,d=a.y-this.y0;if(this.sphere)d=Proj4js.common.HALF_PI-2*Math.atan(Math.exp(-d/this.a*this.k0));else if(d=Math.exp(-d/(this.a*this.k0)),
d=Proj4js.common.phi2z(this.e,d),-9999==d)return Proj4js.reportError("merc:inverse: lat = -9999"),null;b=Proj4js.common.adjust_lon(this.long0+b/(this.a*this.k0));a.x=b;a.y=d;return a}};Proj4js.Proj.utm={dependsOn:"tmerc",init:function(){this.zone?(this.lat0=0,this.long0=(6*Math.abs(this.zone)-183)*Proj4js.common.D2R,this.x0=5E5,this.y0=this.utmSouth?1E7:0,this.k0=0.9996,Proj4js.Proj.tmerc.init.apply(this),this.forward=Proj4js.Proj.tmerc.forward,this.inverse=Proj4js.Proj.tmerc.inverse):Proj4js.reportError("utm:init: zone must be specified for UTM")}};
Proj4js.Proj.eqdc={init:function(){this.mode||(this.mode=0);this.temp=this.b/this.a;this.es=1-Math.pow(this.temp,2);this.e=Math.sqrt(this.es);this.e0=Proj4js.common.e0fn(this.es);this.e1=Proj4js.common.e1fn(this.es);this.e2=Proj4js.common.e2fn(this.es);this.e3=Proj4js.common.e3fn(this.es);this.sinphi=Math.sin(this.lat1);this.cosphi=Math.cos(this.lat1);this.ms1=Proj4js.common.msfnz(this.e,this.sinphi,this.cosphi);this.ml1=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat1);0!=this.mode?
(Math.abs(this.lat1+this.lat2)<Proj4js.common.EPSLN&&Proj4js.reportError("eqdc:Init:EqualLatitudes"),this.sinphi=Math.sin(this.lat2),this.cosphi=Math.cos(this.lat2),this.ms2=Proj4js.common.msfnz(this.e,this.sinphi,this.cosphi),this.ml2=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat2),Math.abs(this.lat1-this.lat2)>=Proj4js.common.EPSLN?this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1):this.ns=this.sinphi):this.ns=this.sinphi;this.g=this.ml1+this.ms1/this.ns;this.ml0=Proj4js.common.mlfn(this.e0,
this.e1,this.e2,this.e3,this.lat0);this.rh=this.a*(this.g-this.ml0)},forward:function(a){var b=a.x,d=Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,a.y),d=this.a*(this.g-d),e=this.ns*Proj4js.common.adjust_lon(b-this.long0),b=this.x0+d*Math.sin(e),d=this.y0+this.rh-d*Math.cos(e);a.x=b;a.y=d;return a},inverse:function(a){a.x-=this.x0;a.y=this.rh-a.y+this.y0;var b,d;0<=this.ns?(d=Math.sqrt(a.x*a.x+a.y*a.y),b=1):(d=-Math.sqrt(a.x*a.x+a.y*a.y),b=-1);var e=0;0!=d&&(e=Math.atan2(b*a.x,b*a.y));b=this.phi3z(this.g-
d/this.a,this.e0,this.e1,this.e2,this.e3);e=Proj4js.common.adjust_lon(this.long0+e/this.ns);a.x=e;a.y=b;return a},phi3z:function(a,b,d,e,f){var g,h;g=a;for(var l=0;15>l;l++)if(h=(a+d*Math.sin(2*g)-e*Math.sin(4*g)+f*Math.sin(6*g))/b-g,g+=h,1E-10>=Math.abs(h))return g;Proj4js.reportError("PHI3Z-CONV:Latitude failed to converge after 15 iterations");return null}};
Proj4js.Proj.tmerc={init:function(){this.e0=Proj4js.common.e0fn(this.es);this.e1=Proj4js.common.e1fn(this.es);this.e2=Proj4js.common.e2fn(this.es);this.e3=Proj4js.common.e3fn(this.es);this.ml0=this.a*Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0)},forward:function(a){var b=a.y,d=Proj4js.common.adjust_lon(a.x-this.long0),e,f;e=Math.sin(b);var g=Math.cos(b);if(this.sphere){var h=g*Math.sin(d);if(1E-10>Math.abs(Math.abs(h)-1))return Proj4js.reportError("tmerc:forward: Point projects into infinity"),
93;f=0.5*this.a*this.k0*Math.log((1+h)/(1-h));e=Math.acos(g*Math.cos(d)/Math.sqrt(1-h*h));0>b&&(e=-e);b=this.a*this.k0*(e-this.lat0)}else{f=g*d;var d=Math.pow(f,2),g=this.ep2*Math.pow(g,2),h=Math.tan(b),l=Math.pow(h,2);e=1-this.es*Math.pow(e,2);e=this.a/Math.sqrt(e);b=this.a*Proj4js.common.mlfn(this.e0,this.e1,this.e2,this.e3,b);f=this.k0*e*f*(1+d/6*(1-l+g+d/20*(5-18*l+Math.pow(l,2)+72*g-58*this.ep2)))+this.x0;b=this.k0*(b-this.ml0+e*h*d*(0.5+d/24*(5-l+9*g+4*Math.pow(g,2)+d/30*(61-58*l+Math.pow(l,
2)+600*g-330*this.ep2))))+this.y0}a.x=f;a.y=b;return a},inverse:function(a){var b,d,e,f;if(this.sphere){d=Math.exp(a.x/(this.a*this.k0));var g=0.5*(d-1/d);e=this.lat0+a.y/(this.a*this.k0);f=Math.cos(e);b=Math.sqrt((1-f*f)/(1+g*g));d=Proj4js.common.asinz(b);0>e&&(d=-d);b=0==g&&0==f?this.long0:Proj4js.common.adjust_lon(Math.atan2(g,f)+this.long0)}else{var g=a.x-this.x0,h=a.y-this.y0;d=b=(this.ml0+h/this.k0)/this.a;for(f=0;;f++){e=(b+this.e1*Math.sin(2*d)-this.e2*Math.sin(4*d)+this.e3*Math.sin(6*d))/
this.e0-d;d+=e;if(Math.abs(e)<=Proj4js.common.EPSLN)break;if(6<=f)return Proj4js.reportError("tmerc:inverse: Latitude failed to converge"),95}if(Math.abs(d)<Proj4js.common.HALF_PI){b=Math.sin(d);e=Math.cos(d);var l=Math.tan(d);f=this.ep2*Math.pow(e,2);var h=Math.pow(f,2),m=Math.pow(l,2),q=Math.pow(m,2);b=1-this.es*Math.pow(b,2);var r=this.a/Math.sqrt(b);b=r*(1-this.es)/b;var g=g/(r*this.k0),u=Math.pow(g,2);d-=r*l*u/b*(0.5-u/24*(5+3*m+10*f-4*h-9*this.ep2-u/30*(61+90*m+298*f+45*q-252*this.ep2-3*h)));
b=Proj4js.common.adjust_lon(this.long0+g*(1-u/6*(1+2*m+f-u/20*(5-2*f+28*m-3*h+8*this.ep2+24*q)))/e)}else d=Proj4js.common.HALF_PI*Proj4js.common.sign(h),b=this.long0}a.x=b;a.y=d;return a}};Proj4js.defs.GOOGLE="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs";Proj4js.defs["EPSG:900913"]=Proj4js.defs.GOOGLE;
Proj4js.Proj.gstmerc={init:function(){var a=this.b/this.a;this.e=Math.sqrt(1-a*a);this.lc=this.long0;this.rs=Math.sqrt(1+this.e*this.e*Math.pow(Math.cos(this.lat0),4)/(1-this.e*this.e));var a=Math.sin(this.lat0),b=Math.asin(a/this.rs),d=Math.sin(b);this.cp=Proj4js.common.latiso(0,b,d)-this.rs*Proj4js.common.latiso(this.e,this.lat0,a);this.n2=this.k0*this.a*Math.sqrt(1-this.e*this.e)/(1-this.e*this.e*a*a);this.xs=this.x0;this.ys=this.y0-this.n2*b;this.title||(this.title="Gauss Schreiber transverse mercator")},
forward:function(a){var b=a.y,d=this.rs*(a.x-this.lc),b=this.cp+this.rs*Proj4js.common.latiso(this.e,b,Math.sin(b)),e=Math.asin(Math.sin(d)/Proj4js.common.cosh(b)),e=Proj4js.common.latiso(0,e,Math.sin(e));a.x=this.xs+this.n2*e;a.y=this.ys+this.n2*Math.atan(Proj4js.common.sinh(b)/Math.cos(d));return a},inverse:function(a){var b=a.x,d=a.y,e=Math.atan(Proj4js.common.sinh((b-this.xs)/this.n2)/Math.cos((d-this.ys)/this.n2)),b=Math.asin(Math.sin((d-this.ys)/this.n2)/Proj4js.common.cosh((b-this.xs)/this.n2)),
b=Proj4js.common.latiso(0,b,Math.sin(b));a.x=this.lc+e/this.rs;a.y=Proj4js.common.invlatiso(this.e,(b-this.cp)/this.rs);return a}};
Proj4js.Proj.ortho={init:function(a){this.sin_p14=Math.sin(this.lat0);this.cos_p14=Math.cos(this.lat0)},forward:function(a){var b,d,e,f,g;d=a.y;e=Proj4js.common.adjust_lon(a.x-this.long0);b=Math.sin(d);d=Math.cos(d);f=Math.cos(e);g=this.sin_p14*b+this.cos_p14*d*f;if(0<g||Math.abs(g)<=Proj4js.common.EPSLN)var h=1*this.a*d*Math.sin(e),l=this.y0+1*this.a*(this.cos_p14*b-this.sin_p14*d*f);else Proj4js.reportError("orthoFwdPointError");a.x=h;a.y=l;return a},inverse:function(a){var b,d,e,f;a.x-=this.x0;
a.y-=this.y0;b=Math.sqrt(a.x*a.x+a.y*a.y);b>this.a+1E-7&&Proj4js.reportError("orthoInvDataError");d=Proj4js.common.asinz(b/this.a);e=Math.sin(d);f=Math.cos(d);d=this.long0;Math.abs(b);e=Proj4js.common.asinz(f*this.sin_p14+a.y*e*this.cos_p14/b);b=Math.abs(this.lat0)-Proj4js.common.HALF_PI;Math.abs(b)<=Proj4js.common.EPSLN&&(d=0<=this.lat0?Proj4js.common.adjust_lon(this.long0+Math.atan2(a.x,-a.y)):Proj4js.common.adjust_lon(this.long0-Math.atan2(-a.x,a.y)));Math.sin(e);a.x=d;a.y=e;return a}};
Proj4js.Proj.somerc={init:function(){var a=this.lat0;this.lambda0=this.long0;var b=Math.sin(a),d=this.a,e=1/this.rf,e=2*e-Math.pow(e,2),f=this.e=Math.sqrt(e);this.R=this.k0*d*Math.sqrt(1-e)/(1-e*Math.pow(b,2));this.alpha=Math.sqrt(1+e/(1-e)*Math.pow(Math.cos(a),4));this.b0=Math.asin(b/this.alpha);this.K=Math.log(Math.tan(Math.PI/4+this.b0/2))-this.alpha*Math.log(Math.tan(Math.PI/4+a/2))+this.alpha*f/2*Math.log((1+f*b)/(1-f*b))},forward:function(a){var b=Math.log(Math.tan(Math.PI/4-a.y/2)),d=this.e/
2*Math.log((1+this.e*Math.sin(a.y))/(1-this.e*Math.sin(a.y))),d=2*(Math.atan(Math.exp(-this.alpha*(b+d)+this.K))-Math.PI/4),e=this.alpha*(a.x-this.lambda0),b=Math.atan(Math.sin(e)/(Math.sin(this.b0)*Math.tan(d)+Math.cos(this.b0)*Math.cos(e))),d=Math.asin(Math.cos(this.b0)*Math.sin(d)-Math.sin(this.b0)*Math.cos(d)*Math.cos(e));a.y=this.R/2*Math.log((1+Math.sin(d))/(1-Math.sin(d)))+this.y0;a.x=this.R*b+this.x0;return a},inverse:function(a){for(var b=(a.x-this.x0)/this.R,d=2*(Math.atan(Math.exp((a.y-
this.y0)/this.R))-Math.PI/4),e=Math.asin(Math.cos(this.b0)*Math.sin(d)+Math.sin(this.b0)*Math.cos(d)*Math.cos(b)),b=Math.atan(Math.sin(b)/(Math.cos(this.b0)*Math.cos(b)-Math.sin(this.b0)*Math.tan(d))),b=this.lambda0+b/this.alpha,d=0,f=e,g=-1E3,h=0;1E-7<Math.abs(f-g);){if(20<++h){Proj4js.reportError("omercFwdInfinity");return}d=1/this.alpha*(Math.log(Math.tan(Math.PI/4+e/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(f))/2));g=f;f=2*Math.atan(Math.exp(d))-Math.PI/2}a.x=b;
a.y=f;return a}};
Proj4js.Proj.stere={ssfn_:function(a,b,d){b*=d;return Math.tan(0.5*(Proj4js.common.HALF_PI+a))*Math.pow((1-b)/(1+b),0.5*d)},TOL:1E-8,NITER:8,CONV:1E-10,S_POLE:0,N_POLE:1,OBLIQ:2,EQUIT:3,init:function(){this.phits=this.lat_ts?this.lat_ts:Proj4js.common.HALF_PI;var a=Math.abs(this.lat0);Math.abs(a)-Proj4js.common.HALF_PI<Proj4js.common.EPSLN?this.mode=0>this.lat0?this.S_POLE:this.N_POLE:this.mode=a>Proj4js.common.EPSLN?this.OBLIQ:this.EQUIT;this.phits=Math.abs(this.phits);if(this.es){var b;switch(this.mode){case this.N_POLE:case this.S_POLE:Math.abs(this.phits-
Proj4js.common.HALF_PI)<Proj4js.common.EPSLN?this.akm1=2*this.k0/Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)):(a=Math.sin(this.phits),this.akm1=Math.cos(this.phits)/Proj4js.common.tsfnz(this.e,this.phits,a),a*=this.e,this.akm1/=Math.sqrt(1-a*a));break;case this.EQUIT:this.akm1=2*this.k0;break;case this.OBLIQ:a=Math.sin(this.lat0),b=2*Math.atan(this.ssfn_(this.lat0,a,this.e))-Proj4js.common.HALF_PI,a*=this.e,this.akm1=2*this.k0*Math.cos(this.lat0)/Math.sqrt(1-a*a),this.sinX1=
Math.sin(b),this.cosX1=Math.cos(b)}}else switch(this.mode){case this.OBLIQ:this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0);case this.EQUIT:this.akm1=2*this.k0;break;case this.S_POLE:case this.N_POLE:this.akm1=Math.abs(this.phits-Proj4js.common.HALF_PI)>=Proj4js.common.EPSLN?Math.cos(this.phits)/Math.tan(Proj4js.common.FORTPI-0.5*this.phits):2*this.k0}},forward:function(a){var b=a.x,b=Proj4js.common.adjust_lon(b-this.long0),d=a.y,e,f;if(this.sphere){var g,h,l;g=Math.sin(d);h=Math.cos(d);
l=Math.cos(b);b=Math.sin(b);switch(this.mode){case this.EQUIT:f=1+h*l;f<=Proj4js.common.EPSLN&&F_ERROR;f=this.akm1/f;e=f*h*b;f*=g;break;case this.OBLIQ:f=1+this.sinph0*g+this.cosph0*h*l;f<=Proj4js.common.EPSLN&&F_ERROR;f=this.akm1/f;e=f*h*b;f*=this.cosph0*g-this.sinph0*h*l;break;case this.N_POLE:l=-l,d=-d;case this.S_POLE:Math.abs(d-Proj4js.common.HALF_PI)<this.TOL&&F_ERROR,f=this.akm1*Math.tan(Proj4js.common.FORTPI+0.5*d),e=b*f,f*=l}}else{l=Math.cos(b);b=Math.sin(b);g=Math.sin(d);if(this.mode==this.OBLIQ||
this.mode==this.EQUIT)X=2*Math.atan(this.ssfn_(d,g,this.e)),sinX=Math.sin(X-Proj4js.common.HALF_PI),cosX=Math.cos(X);switch(this.mode){case this.OBLIQ:A=this.akm1/(this.cosX1*(1+this.sinX1*sinX+this.cosX1*cosX*l));f=A*(this.cosX1*sinX-this.sinX1*cosX*l);e=A*cosX;break;case this.EQUIT:A=2*this.akm1/(1+cosX*l);f=A*sinX;e=A*cosX;break;case this.S_POLE:d=-d,l=-l,g=-g;case this.N_POLE:e=this.akm1*Proj4js.common.tsfnz(this.e,d,g),f=-e*l}e*=b}a.x=e*this.a+this.x0;a.y=f*this.a+this.y0;return a},inverse:function(a){var b=
(a.x-this.x0)/this.a,d=(a.y-this.y0)/this.a,e,f,g,h=e=0,l,m=g=0;if(this.sphere){h=Math.sqrt(b*b+d*d);m=2*Math.atan(h/this.akm1);g=Math.sin(m);m=Math.cos(m);e=0;switch(this.mode){case this.EQUIT:f=Math.abs(h)<=Proj4js.common.EPSLN?0:Math.asin(d*g/h);if(0!=m||0!=b)e=Math.atan2(b*g,m*h);break;case this.OBLIQ:f=Math.abs(h)<=Proj4js.common.EPSLN?this.phi0:Math.asin(m*sinph0+d*g*cosph0/h);m-=sinph0*Math.sin(f);if(0!=m||0!=b)e=Math.atan2(b*g*cosph0,m*h);break;case this.N_POLE:d=-d;case this.S_POLE:f=Math.abs(h)<=
Proj4js.common.EPSLN?this.phi0:Math.asin(this.mode==this.S_POLE?-m:m),e=0==b&&0==d?0:Math.atan2(b,d)}a.x=Proj4js.common.adjust_lon(e+this.long0);a.y=f}else{l=Math.sqrt(b*b+d*d);switch(this.mode){case this.OBLIQ:case this.EQUIT:e=2*Math.atan2(l*this.cosX1,this.akm1);g=Math.cos(e);f=Math.sin(e);h=0==l?Math.asin(g*this.sinX1):Math.asin(g*this.sinX1+d*f*this.cosX1/l);e=Math.tan(0.5*(Proj4js.common.HALF_PI+h));b*=f;d=l*this.cosX1*g-d*this.sinX1*f;m=Proj4js.common.HALF_PI;g=0.5*this.e;break;case this.N_POLE:d=
-d;case this.S_POLE:e=-l/this.akm1,h=Proj4js.common.HALF_PI-2*Math.atan(e),m=-Proj4js.common.HALF_PI,g=-0.5*this.e}for(l=this.NITER;l--;h=f)if(f=this.e*Math.sin(h),f=2*Math.atan(e*Math.pow((1+f)/(1-f),g))-m,Math.abs(h-f)<this.CONV)return this.mode==this.S_POLE&&(f=-f),e=0==b&&0==d?0:Math.atan2(b,d),a.x=Proj4js.common.adjust_lon(e+this.long0),a.y=f,a}}};
Proj4js.Proj.nzmg={iterations:1,init:function(){this.A=[];this.A[1]=0.6399175073;this.A[2]=-0.1358797613;this.A[3]=0.063294409;this.A[4]=-0.02526853;this.A[5]=0.0117879;this.A[6]=-0.0055161;this.A[7]=0.0026906;this.A[8]=-0.001333;this.A[9]=6.7E-4;this.A[10]=-3.4E-4;this.B_re=[];this.B_im=[];this.B_re[1]=0.7557853228;this.B_im[1]=0;this.B_re[2]=0.249204646;this.B_im[2]=0.003371507;this.B_re[3]=-0.001541739;this.B_im[3]=0.04105856;this.B_re[4]=-0.10162907;this.B_im[4]=0.01727609;this.B_re[5]=-0.26623489;
this.B_im[5]=-0.36249218;this.B_re[6]=-0.6870983;this.B_im[6]=-1.1651967;this.C_re=[];this.C_im=[];this.C_re[1]=1.3231270439;this.C_im[1]=0;this.C_re[2]=-0.577245789;this.C_im[2]=-0.007809598;this.C_re[3]=0.508307513;this.C_im[3]=-0.112208952;this.C_re[4]=-0.15094762;this.C_im[4]=0.18200602;this.C_re[5]=1.01418179;this.C_im[5]=1.64497696;this.C_re[6]=1.9660549;this.C_im[6]=2.5127645;this.D=[];this.D[1]=1.5627014243;this.D[2]=0.5185406398;this.D[3]=-0.03333098;this.D[4]=-0.1052906;this.D[5]=-0.0368594;
this.D[6]=0.007317;this.D[7]=0.0122;this.D[8]=0.00394;this.D[9]=-0.0013},forward:function(a){var b=1E-5*((a.y-this.lat0)/Proj4js.common.SEC_TO_RAD),d=a.x-this.long0,e=1,f=0;for(n=1;10>=n;n++)e*=b,f+=this.A[n]*e;var b=f,e=1,g=0,h=0,l=0;for(n=1;6>=n;n++)f=e*b-g*d,g=g*b+e*d,e=f,h=h+this.B_re[n]*e-this.B_im[n]*g,l=l+this.B_im[n]*e+this.B_re[n]*g;x=l*this.a+this.x0;y=h*this.a+this.y0;a.x=x;a.y=y;return a},inverse:function(a){var b=(a.y-this.y0)/this.a,d=(a.x-this.x0)/this.a,e=1,f=0,g,h=0,l=0;for(n=1;6>=
n;n++)g=e*b-f*d,f=f*b+e*d,e=g,h=h+this.C_re[n]*e-this.C_im[n]*f,l=l+this.C_im[n]*e+this.C_re[n]*f;for(i=0;i<this.iterations;i++){var m=h,q=l,r,e=b;g=d;for(n=2;6>=n;n++)r=m*h-q*l,q=q*h+m*l,m=r,e+=(n-1)*(this.B_re[n]*m-this.B_im[n]*q),g+=(n-1)*(this.B_im[n]*m+this.B_re[n]*q);var m=1,q=0,f=this.B_re[1],u=this.B_im[1];for(n=2;6>=n;n++)r=m*h-q*l,q=q*h+m*l,m=r,f+=n*(this.B_re[n]*m-this.B_im[n]*q),u+=n*(this.B_im[n]*m+this.B_re[n]*q);l=f*f+u*u;h=(e*f+g*u)/l;l=(g*f-e*u)/l}b=h;d=1;h=0;for(n=1;9>=n;n++)d*=
b,h+=this.D[n]*d;b=this.lat0+1E5*h*Proj4js.common.SEC_TO_RAD;a.x=this.long0+l;a.y=b;return a}};Proj4js.Proj.mill={init:function(){},forward:function(a){var b=a.y,d=Proj4js.common.adjust_lon(a.x-this.long0),d=this.x0+this.a*d,b=this.y0+1.25*this.a*Math.log(Math.tan(Proj4js.common.PI/4+b/2.5));a.x=d;a.y=b;return a},inverse:function(a){a.x-=this.x0;a.y-=this.y0;var b=Proj4js.common.adjust_lon(this.long0+a.x/this.a),d=2.5*(Math.atan(Math.exp(0.8*a.y/this.a))-Proj4js.common.PI/4);a.x=b;a.y=d;return a}};
Proj4js.Proj.gnom={init:function(a){this.sin_p14=Math.sin(this.lat0);this.cos_p14=Math.cos(this.lat0);this.infinity_dist=1E3*this.a;this.rc=1},forward:function(a){var b,d,e,f,g;d=a.y;e=Proj4js.common.adjust_lon(a.x-this.long0);b=Math.sin(d);d=Math.cos(d);f=Math.cos(e);g=this.sin_p14*b+this.cos_p14*d*f;0<g||Math.abs(g)<=Proj4js.common.EPSLN?(x=this.x0+1*this.a*d*Math.sin(e)/g,y=this.y0+1*this.a*(this.cos_p14*b-this.sin_p14*d*f)/g):(Proj4js.reportError("orthoFwdPointError"),x=this.x0+this.infinity_dist*
d*Math.sin(e),y=this.y0+this.infinity_dist*(this.cos_p14*b-this.sin_p14*d*f));a.x=x;a.y=y;return a},inverse:function(a){var b,d,e,f;a.x=(a.x-this.x0)/this.a;a.y=(a.y-this.y0)/this.a;a.x/=this.k0;a.y/=this.k0;(b=Math.sqrt(a.x*a.x+a.y*a.y))?(f=Math.atan2(b,this.rc),d=Math.sin(f),e=Math.cos(f),f=Proj4js.common.asinz(e*this.sin_p14+a.y*d*this.cos_p14/b),b=Math.atan2(a.x*d,b*this.cos_p14*e-a.y*this.sin_p14*d),b=Proj4js.common.adjust_lon(this.long0+b)):(f=this.phic0,b=0);a.x=b;a.y=f;return a}};
Proj4js.Proj.sinu={init:function(){this.R=6370997},forward:function(a){var b,d;d=a.y;b=Proj4js.common.adjust_lon(a.x-this.long0);b=this.R*b*Math.cos(d)+this.x0;d=this.R*d+this.y0;a.x=b;a.y=d;return a},inverse:function(a){var b,d;a.x-=this.x0;a.y-=this.y0;b=a.y/this.R;Math.abs(b)>Proj4js.common.HALF_PI&&Proj4js.reportError("sinu:Inv:DataError");d=Math.abs(b)-Proj4js.common.HALF_PI;Math.abs(d)>Proj4js.common.EPSLN?(d=this.long0+a.x/(this.R*Math.cos(b)),d=Proj4js.common.adjust_lon(d)):d=this.long0;a.x=
d;a.y=b;return a}};
Proj4js.Proj.vandg={init:function(){this.R=6370997},forward:function(a){var b=a.y,d=Proj4js.common.adjust_lon(a.x-this.long0);Math.abs(b);var e=Proj4js.common.asinz(2*Math.abs(b/Proj4js.common.PI));(Math.abs(d)<=Proj4js.common.EPSLN||Math.abs(Math.abs(b)-Proj4js.common.HALF_PI)<=Proj4js.common.EPSLN)&&Math.tan(0.5*e);var f=0.5*Math.abs(Proj4js.common.PI/d-d/Proj4js.common.PI),g=f*f,h=Math.sin(e),e=Math.cos(e),e=e/(h+e-1),h=e*(2/h-1),h=h*h,g=Proj4js.common.PI*this.R*(f*(e-h)+Math.sqrt(g*(e-h)*(e-h)-
(h+g)*(e*e-h)))/(h+g);0>d&&(g=-g);d=this.x0+g;g=Math.abs(g/(Proj4js.common.PI*this.R));b=0<=b?this.y0+Proj4js.common.PI*this.R*Math.sqrt(1-g*g-2*f*g):this.y0-Proj4js.common.PI*this.R*Math.sqrt(1-g*g-2*f*g);a.x=d;a.y=b;return a},inverse:function(a){var b,d,e,f,g,h,l,m;a.x-=this.x0;a.y-=this.y0;m=Proj4js.common.PI*this.R;b=a.x/m;d=a.y/m;e=b*b+d*d;f=-Math.abs(d)*(1+e);g=f-2*d*d+b*b;h=-2*f+1+2*d*d+e*e;m=d*d/h+(2*g*g*g/h/h/h-9*f*g/h/h)/27;l=(f-g*g/3/h)/h;f=2*Math.sqrt(-l/3);m=3*m/l/f;1<Math.abs(m)&&(m=
0<=m?1:-1);m=Math.acos(m)/3;lat=0<=a.y?(-f*Math.cos(m+Proj4js.common.PI/3)-g/3/h)*Proj4js.common.PI:-(-f*Math.cos(m+Proj4js.common.PI/3)-g/3/h)*Proj4js.common.PI;Math.abs(b)<Proj4js.common.EPSLN&&(lon=this.long0);lon=Proj4js.common.adjust_lon(this.long0+Proj4js.common.PI*(e-1+Math.sqrt(1+2*(b*b-d*d)+e*e))/2/b);a.x=lon;a.y=lat;return a}};
Proj4js.Proj.cea={init:function(){},forward:function(a){var b=a.y;dlon=Proj4js.common.adjust_lon(a.x-this.long0);var d=this.x0+this.a*dlon*Math.cos(this.lat_ts),b=this.y0+this.a*Math.sin(b)/Math.cos(this.lat_ts);a.x=d;a.y=b;return a},inverse:function(a){a.x-=this.x0;a.y-=this.y0;var b=Proj4js.common.adjust_lon(this.long0+a.x/this.a/Math.cos(this.lat_ts)),d=Math.asin(a.y/this.a*Math.cos(this.lat_ts));a.x=b;a.y=d;return a}};
Proj4js.Proj.eqc={init:function(){this.x0||(this.x0=0);this.y0||(this.y0=0);this.lat0||(this.lat0=0);this.long0||(this.long0=0);this.lat_ts||(this.lat_ts=0);this.title||(this.title="Equidistant Cylindrical (Plate Carre)");this.rc=Math.cos(this.lat_ts)},forward:function(a){var b=a.y,d=Proj4js.common.adjust_lon(a.x-this.long0),b=Proj4js.common.adjust_lat(b-this.lat0);a.x=this.x0+this.a*d*this.rc;a.y=this.y0+this.a*b;return a},inverse:function(a){var b=a.y;a.x=Proj4js.common.adjust_lon(this.long0+(a.x-
this.x0)/(this.a*this.rc));a.y=Proj4js.common.adjust_lat(this.lat0+(b-this.y0)/this.a);return a}};
Proj4js.Proj.cass={init:function(){this.sphere||(this.en=this.pj_enfn(this.es),this.m0=this.pj_mlfn(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))},C1:0.16666666666666666,C2:0.008333333333333333,C3:0.041666666666666664,C4:0.3333333333333333,C5:0.06666666666666667,forward:function(a){var b,d,e=a.x,f=a.y,e=Proj4js.common.adjust_lon(e-this.long0);this.sphere?(b=Math.asin(Math.cos(f)*Math.sin(e)),d=Math.atan2(Math.tan(f),Math.cos(e))-this.phi0):(this.n=Math.sin(f),this.c=Math.cos(f),d=this.pj_mlfn(f,
this.n,this.c,this.en),this.n=1/Math.sqrt(1-this.es*this.n*this.n),this.tn=Math.tan(f),this.t=this.tn*this.tn,this.a1=e*this.c,this.c*=this.es*this.c/(1-this.es),this.a2=this.a1*this.a1,b=this.n*this.a1*(1-this.a2*this.t*(this.C1-(8-this.t+8*this.c)*this.a2*this.C2)),d-=this.m0-this.n*this.tn*this.a2*(0.5+(5-this.t+6*this.c)*this.a2*this.C3));a.x=this.a*b+this.x0;a.y=this.a*d+this.y0;return a},inverse:function(a){a.x-=this.x0;a.y-=this.y0;var b=a.x/this.a,d=a.y/this.a;this.sphere?(this.dd=d+this.lat0,
phi=Math.asin(Math.sin(this.dd)*Math.cos(b)),lam=Math.atan2(Math.tan(b),Math.cos(this.dd))):(ph1=this.pj_inv_mlfn(this.m0+d,this.es,this.en),this.tn=Math.tan(ph1),this.t=this.tn*this.tn,this.n=Math.sin(ph1),this.r=1/(1-this.es*this.n*this.n),this.n=Math.sqrt(this.r),this.r=this.r*(1-this.es)*this.n,this.dd=b/this.n,this.d2=this.dd*this.dd,phi=ph1-this.n*this.tn/this.r*this.d2*(0.5-(1+3*this.t)*this.d2*this.C3),lam=this.dd*(1+this.t*this.d2*(-this.C4+(1+3*this.t)*this.d2*this.C5))/Math.cos(ph1));a.x=
Proj4js.common.adjust_lon(this.long0+lam);a.y=phi;return a},pj_enfn:function(a){en=[];en[0]=this.C00-a*(this.C02+a*(this.C04+a*(this.C06+a*this.C08)));en[1]=a*(this.C22-a*(this.C04+a*(this.C06+a*this.C08)));var b=a*a;en[2]=b*(this.C44-a*(this.C46+a*this.C48));b*=a;en[3]=b*(this.C66-a*this.C68);en[4]=b*a*this.C88;return en},pj_mlfn:function(a,b,d,e){d*=b;b*=b;return e[0]*a-d*(e[1]+b*(e[2]+b*(e[3]+b*e[4])))},pj_inv_mlfn:function(a,b,d){k=1/(1-b);phi=a;for(i=Proj4js.common.MAX_ITER;i;--i)if(s=Math.sin(phi),
t=1-b*s*s,t=(this.pj_mlfn(phi,s,Math.cos(phi),d)-a)*t*Math.sqrt(t)*k,phi-=t,Math.abs(t)<Proj4js.common.EPSLN)return phi;Proj4js.reportError("cass:pj_inv_mlfn: Convergence error");return phi},C00:1,C02:0.25,C04:0.046875,C06:0.01953125,C08:0.01068115234375,C22:0.75,C44:0.46875,C46:0.013020833333333334,C48:0.007120768229166667,C66:0.3645833333333333,C68:0.005696614583333333,C88:0.3076171875};
Proj4js.Proj.gauss={init:function(){sphi=Math.sin(this.lat0);cphi=Math.cos(this.lat0);cphi*=cphi;this.rc=Math.sqrt(1-this.es)/(1-this.es*sphi*sphi);this.C=Math.sqrt(1+this.es*cphi*cphi/(1-this.es));this.phic0=Math.asin(sphi/this.C);this.ratexp=0.5*this.C*this.e;this.K=Math.tan(0.5*this.phic0+Proj4js.common.FORTPI)/(Math.pow(Math.tan(0.5*this.lat0+Proj4js.common.FORTPI),this.C)*Proj4js.common.srat(this.e*sphi,this.ratexp))},forward:function(a){var b=a.x,d=a.y;a.y=2*Math.atan(this.K*Math.pow(Math.tan(0.5*
d+Proj4js.common.FORTPI),this.C)*Proj4js.common.srat(this.e*Math.sin(d),this.ratexp))-Proj4js.common.HALF_PI;a.x=this.C*b;return a},inverse:function(a){var b=a.x/this.C,d=a.y;num=Math.pow(Math.tan(0.5*d+Proj4js.common.FORTPI)/this.K,1/this.C);for(var e=Proj4js.common.MAX_ITER;0<e;--e){d=2*Math.atan(num*Proj4js.common.srat(this.e*Math.sin(a.y),-0.5*this.e))-Proj4js.common.HALF_PI;if(1E-14>Math.abs(d-a.y))break;a.y=d}if(!e)return Proj4js.reportError("gauss:inverse:convergence failed"),null;a.x=b;a.y=
d;return a}};
Proj4js.Proj.omerc={init:function(){this.mode||(this.mode=0);this.lon1||(this.lon1=0,this.mode=1);this.lon2||(this.lon2=0);this.lat2||(this.lat2=0);var a=1-Math.pow(this.b/this.a,2);Math.sqrt(a);this.sin_p20=Math.sin(this.lat0);this.cos_p20=Math.cos(this.lat0);this.con=1-this.es*this.sin_p20*this.sin_p20;this.com=Math.sqrt(1-a);this.bl=Math.sqrt(1+this.es*Math.pow(this.cos_p20,4)/(1-a));this.al=this.a*this.bl*this.k0*this.com/this.con;Math.abs(this.lat0)<Proj4js.common.EPSLN?this.el=this.d=this.ts=
1:(this.ts=Proj4js.common.tsfnz(this.e,this.lat0,this.sin_p20),this.con=Math.sqrt(this.con),this.d=this.bl*this.com/(this.cos_p20*this.con),this.f=0<this.d*this.d-1?0<=this.lat0?this.d+Math.sqrt(this.d*this.d-1):this.d-Math.sqrt(this.d*this.d-1):this.d,this.el=this.f*Math.pow(this.ts,this.bl));0!=this.mode?(this.g=0.5*(this.f-1/this.f),this.gama=Proj4js.common.asinz(Math.sin(this.alpha)/this.d),this.longc-=Proj4js.common.asinz(this.g*Math.tan(this.gama))/this.bl,this.con=Math.abs(this.lat0),this.con>
Proj4js.common.EPSLN&&Math.abs(this.con-Proj4js.common.HALF_PI)>Proj4js.common.EPSLN?(this.singam=Math.sin(this.gama),this.cosgam=Math.cos(this.gama),this.sinaz=Math.sin(this.alpha),this.cosaz=Math.cos(this.alpha),this.u=0<=this.lat0?this.al/this.bl*Math.atan(Math.sqrt(this.d*this.d-1)/this.cosaz):-(this.al/this.bl)*Math.atan(Math.sqrt(this.d*this.d-1)/this.cosaz)):Proj4js.reportError("omerc:Init:DataError")):(this.sinphi=Math.sin(this.at1),this.ts1=Proj4js.common.tsfnz(this.e,this.lat1,this.sinphi),
this.sinphi=Math.sin(this.lat2),this.ts2=Proj4js.common.tsfnz(this.e,this.lat2,this.sinphi),this.h=Math.pow(this.ts1,this.bl),this.l=Math.pow(this.ts2,this.bl),this.f=this.el/this.h,this.g=0.5*(this.f-1/this.f),this.j=(this.el*this.el-this.l*this.h)/(this.el*this.el+this.l*this.h),this.p=(this.l-this.h)/(this.l+this.h),this.dlon=this.lon1-this.lon2,this.dlon<-Proj4js.common.PI&&(this.lon2-=2*Proj4js.common.PI),this.dlon>Proj4js.common.PI&&(this.lon2+=2*Proj4js.common.PI),this.dlon=this.lon1-this.lon2,
this.longc=0.5*(this.lon1+this.lon2)-Math.atan(this.j*Math.tan(0.5*this.bl*this.dlon)/this.p)/this.bl,this.dlon=Proj4js.common.adjust_lon(this.lon1-this.longc),this.gama=Math.atan(Math.sin(this.bl*this.dlon)/this.g),this.alpha=Proj4js.common.asinz(this.d*Math.sin(this.gama)),Math.abs(this.lat1-this.lat2)<=Proj4js.common.EPSLN?Proj4js.reportError("omercInitDataError"):this.con=Math.abs(this.lat1),this.con<=Proj4js.common.EPSLN||Math.abs(this.con-HALF_PI)<=Proj4js.common.EPSLN?Proj4js.reportError("omercInitDataError"):
Math.abs(Math.abs(this.lat0)-Proj4js.common.HALF_PI)<=Proj4js.common.EPSLN&&Proj4js.reportError("omercInitDataError"),this.singam=Math.sin(this.gam),this.cosgam=Math.cos(this.gam),this.sinaz=Math.sin(this.alpha),this.cosaz=Math.cos(this.alpha),this.u=0<=this.lat0?this.al/this.bl*Math.atan(Math.sqrt(this.d*this.d-1)/this.cosaz):-(this.al/this.bl)*Math.atan(Math.sqrt(this.d*this.d-1)/this.cosaz))},forward:function(a){var b,d,e,f,g;e=a.x;d=a.y;b=Math.sin(d);f=Proj4js.common.adjust_lon(e-this.longc);
e=Math.sin(this.bl*f);Math.abs(Math.abs(d)-Proj4js.common.HALF_PI)>Proj4js.common.EPSLN?(b=Proj4js.common.tsfnz(this.e,d,b),b=this.el/Math.pow(b,this.bl),g=0.5*(b-1/b),b=(g*this.singam-e*this.cosgam)/(0.5*(b+1/b)),d=Math.cos(this.bl*f),1E-7>Math.abs(d)?e=this.al*this.bl*f:(e=this.al*Math.atan((g*this.cosgam+e*this.singam)/d)/this.bl,0>d&&(e+=Proj4js.common.PI*this.al/this.bl))):(b=0<=d?this.singam:-this.singam,e=this.al*d/this.bl);Math.abs(Math.abs(b)-1)<=Proj4js.common.EPSLN&&Proj4js.reportError("omercFwdInfinity");
f=0.5*this.al*Math.log((1-b)/(1+b))/this.bl;e-=this.u;b=this.y0+e*this.cosaz-f*this.sinaz;a.x=this.x0+f*this.cosaz+e*this.sinaz;a.y=b;return a},inverse:function(a){var b,d,e,f;a.x-=this.x0;a.y-=this.y0;b=a.x*this.cosaz-a.y*this.sinaz;e=a.y*this.cosaz+a.x*this.sinaz;e+=this.u;d=Math.exp(-this.bl*b/this.al);b=0.5*(d-1/d);d=0.5*(d+1/d);e=Math.sin(this.bl*e/this.al);f=(e*this.cosgam+b*this.singam)/d;Math.abs(Math.abs(f)-1)<=Proj4js.common.EPSLN?(lon=this.longc,lat=0<=f?Proj4js.common.HALF_PI:-Proj4js.common.HALF_PI):
(d=1/this.bl,f=Math.pow(this.el/Math.sqrt((1+f)/(1-f)),d),lat=Proj4js.common.phi2z(this.e,f),b=this.longc-Math.atan2(b*this.cosgam-e*this.singam,d)/this.bl,lon=Proj4js.common.adjust_lon(b));a.x=lon;a.y=lat;return a}};
Proj4js.Proj.lcc={init:function(){this.lat2||(this.lat2=this.lat0);this.k0||(this.k0=1);if(Math.abs(this.lat1+this.lat2)<Proj4js.common.EPSLN)Proj4js.reportError("lcc:init: Equal Latitudes");else{var a=this.b/this.a;this.e=Math.sqrt(1-a*a);var a=Math.sin(this.lat1),b=Math.cos(this.lat1),b=Proj4js.common.msfnz(this.e,a,b),d=Proj4js.common.tsfnz(this.e,this.lat1,a),e=Math.sin(this.lat2),f=Math.cos(this.lat2),f=Proj4js.common.msfnz(this.e,e,f),e=Proj4js.common.tsfnz(this.e,this.lat2,e),g=Proj4js.common.tsfnz(this.e,
this.lat0,Math.sin(this.lat0));Math.abs(this.lat1-this.lat2)>Proj4js.common.EPSLN?this.ns=Math.log(b/f)/Math.log(d/e):this.ns=a;this.f0=b/(this.ns*Math.pow(d,this.ns));this.rh=this.a*this.f0*Math.pow(g,this.ns);this.title||(this.title="Lambert Conformal Conic")}},forward:function(a){var b=a.x,d=a.y;if(!(90>=d&&-90<=d&&180>=b&&-180<=b))return Proj4js.reportError("lcc:forward: llInputOutOfRange: "+b+" : "+d),null;var e=Math.abs(Math.abs(d)-Proj4js.common.HALF_PI);if(e>Proj4js.common.EPSLN)d=Proj4js.common.tsfnz(this.e,
d,Math.sin(d)),d=this.a*this.f0*Math.pow(d,this.ns);else{e=d*this.ns;if(0>=e)return Proj4js.reportError("lcc:forward: No Projection"),null;d=0}b=this.ns*Proj4js.common.adjust_lon(b-this.long0);a.x=this.k0*d*Math.sin(b)+this.x0;a.y=this.k0*(this.rh-d*Math.cos(b))+this.y0;return a},inverse:function(a){var b,d,e,f=(a.x-this.x0)/this.k0,g=this.rh-(a.y-this.y0)/this.k0;0<this.ns?(b=Math.sqrt(f*f+g*g),d=1):(b=-Math.sqrt(f*f+g*g),d=-1);e=0;0!=b&&(e=Math.atan2(d*f,d*g));if(0!=b||0<this.ns){if(d=1/this.ns,
b=Math.pow(b/(this.a*this.f0),d),b=Proj4js.common.phi2z(this.e,b),-9999==b)return null}else b=-Proj4js.common.HALF_PI;e=Proj4js.common.adjust_lon(e/this.ns+this.long0);a.x=e;a.y=b;return a}};
Proj4js.Proj.laea={S_POLE:1,N_POLE:2,EQUIT:3,OBLIQ:4,init:function(){var a=Math.abs(this.lat0);Math.abs(a-Proj4js.common.HALF_PI)<Proj4js.common.EPSLN?this.mode=0>this.lat0?this.S_POLE:this.N_POLE:Math.abs(a)<Proj4js.common.EPSLN?this.mode=this.EQUIT:this.mode=this.OBLIQ;if(0<this.es)switch(this.qp=Proj4js.common.qsfnz(this.e,1),this.mmf=0.5/(1-this.es),this.apa=this.authset(this.es),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(0.5*this.qp);this.dd=
1/this.rq;this.xmf=1;this.ymf=0.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(0.5*this.qp),a=Math.sin(this.lat0),this.sinb1=Proj4js.common.qsfnz(this.e,a)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*a*a)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}else this.mode==this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))},forward:function(a){var b,d,e=a.x,f=a.y,e=Proj4js.common.adjust_lon(e-
this.long0);if(this.sphere){var g,h,l;l=Math.sin(f);h=Math.cos(f);g=Math.cos(e);switch(this.mode){case this.OBLIQ:case this.EQUIT:d=this.mode==this.EQUIT?1+h*g:1+this.sinph0*l+this.cosph0*h*g;if(d<=Proj4js.common.EPSLN)return Proj4js.reportError("laea:fwd:y less than eps"),null;d=Math.sqrt(2/d);b=d*h*Math.sin(e);d*=this.mode==this.EQUIT?l:this.cosph0*l-this.sinph0*h*g;break;case this.N_POLE:g=-g;case this.S_POLE:if(Math.abs(f+this.phi0)<Proj4js.common.EPSLN)return Proj4js.reportError("laea:fwd:phi < eps"),
null;d=Proj4js.common.FORTPI-0.5*f;d=2*(this.mode==this.S_POLE?Math.cos(d):Math.sin(d));b=d*Math.sin(e);d*=g}}else{var m=h=0,q=0;g=Math.cos(e);e=Math.sin(e);l=Math.sin(f);l=Proj4js.common.qsfnz(this.e,l);if(this.mode==this.OBLIQ||this.mode==this.EQUIT)h=l/this.qp,m=Math.sqrt(1-h*h);switch(this.mode){case this.OBLIQ:q=1+this.sinb1*h+this.cosb1*m*g;break;case this.EQUIT:q=1+m*g;break;case this.N_POLE:q=Proj4js.common.HALF_PI+f;l=this.qp-l;break;case this.S_POLE:q=f-Proj4js.common.HALF_PI,l=this.qp+
l}if(Math.abs(q)<Proj4js.common.EPSLN)return Proj4js.reportError("laea:fwd:b < eps"),null;switch(this.mode){case this.OBLIQ:case this.EQUIT:q=Math.sqrt(2/q);d=this.mode==this.OBLIQ?this.ymf*q*(this.cosb1*h-this.sinb1*m*g):(q=Math.sqrt(2/(1+m*g)))*h*this.ymf;b=this.xmf*q*m*e;break;case this.N_POLE:case this.S_POLE:0<=l?(b=(q=Math.sqrt(l))*e,d=g*(this.mode==this.S_POLE?q:-q)):b=d=0}}a.x=this.a*b+this.x0;a.y=this.a*d+this.y0;return a},inverse:function(a){a.x-=this.x0;a.y-=this.y0;var b=a.x/this.a,d=
a.y/this.a;if(this.sphere){var e=0,f,g=0;f=Math.sqrt(b*b+d*d);var h=0.5*f;if(1<h)return Proj4js.reportError("laea:Inv:DataError"),null;h=2*Math.asin(h);if(this.mode==this.OBLIQ||this.mode==this.EQUIT)g=Math.sin(h),e=Math.cos(h);switch(this.mode){case this.EQUIT:h=Math.abs(f)<=Proj4js.common.EPSLN?0:Math.asin(d*g/f);b*=g;d=e*f;break;case this.OBLIQ:h=Math.abs(f)<=Proj4js.common.EPSLN?this.phi0:Math.asin(e*sinph0+d*g*cosph0/f);b=b*g*cosph0;d=(e-Math.sin(h)*sinph0)*f;break;case this.N_POLE:d=-d;h=Proj4js.common.HALF_PI-
h;break;case this.S_POLE:h-=Proj4js.common.HALF_PI}lam=0!=d||this.mode!=this.EQUIT&&this.mode!=this.OBLIQ?Math.atan2(b,d):0}else{h=0;switch(this.mode){case this.EQUIT:case this.OBLIQ:b/=this.dd;d*=this.dd;g=Math.sqrt(b*b+d*d);if(g<Proj4js.common.EPSLN)return a.x=0,a.y=this.phi0,a;f=2*Math.asin(0.5*g/this.rq);e=Math.cos(f);b*=f=Math.sin(f);this.mode==this.OBLIQ?(h=e*this.sinb1+d*f*this.cosb1/g,d=g*this.cosb1*e-d*this.sinb1*f):(h=d*f/g,d=g*e);break;case this.N_POLE:d=-d;case this.S_POLE:e=b*b+d*d;if(!e)return a.x=
0,a.y=this.phi0,a;h=1-e/this.qp;this.mode==this.S_POLE&&(h=-h)}lam=Math.atan2(b,d);h=this.authlat(Math.asin(h),this.apa)}a.x=Proj4js.common.adjust_lon(this.long0+lam);a.y=h;return a},P00:0.3333333333333333,P01:0.17222222222222222,P02:0.10257936507936508,P10:0.06388888888888888,P11:0.0664021164021164,P20:0.016415012942191543,authset:function(a){var b,d=[];d[0]=a*this.P00;b=a*a;d[0]+=b*this.P01;d[1]=b*this.P10;b*=a;d[0]+=b*this.P02;d[1]+=b*this.P11;d[2]=b*this.P20;return d},authlat:function(a,b){var d=
a+a;return a+b[0]*Math.sin(d)+b[1]*Math.sin(d+d)+b[2]*Math.sin(d+d+d)}};
Proj4js.Proj.aeqd={init:function(){this.sin_p12=Math.sin(this.lat0);this.cos_p12=Math.cos(this.lat0)},forward:function(a){var b=a.x,d,e=Math.sin(a.y),f=Math.cos(a.y),b=Proj4js.common.adjust_lon(b-this.long0),g=Math.cos(b),h=this.sin_p12*e+this.cos_p12*f*g;if(Math.abs(Math.abs(h)-1)<Proj4js.common.EPSLN){if(d=1,0>h){Proj4js.reportError("aeqd:Fwd:PointError");return}}else d=Math.acos(h),d/=Math.sin(d);a.x=this.x0+this.a*d*f*Math.sin(b);a.y=this.y0+this.a*d*(this.cos_p12*e-this.sin_p12*f*g);return a},
inverse:function(a){a.x-=this.x0;a.y-=this.y0;var b=Math.sqrt(a.x*a.x+a.y*a.y);if(b>2*Proj4js.common.HALF_PI*this.a)Proj4js.reportError("aeqdInvDataError");else{var d=b/this.a,e=Math.sin(d),d=Math.cos(d),f=this.long0,g;if(Math.abs(b)<=Proj4js.common.EPSLN)g=this.lat0;else{g=Proj4js.common.asinz(d*this.sin_p12+a.y*e*this.cos_p12/b);var h=Math.abs(this.lat0)-Proj4js.common.HALF_PI;Math.abs(h)<=Proj4js.common.EPSLN?f=0<=lat0?Proj4js.common.adjust_lon(this.long0+Math.atan2(a.x,-a.y)):Proj4js.common.adjust_lon(this.long0-
Math.atan2(-a.x,a.y)):(h=d-this.sin_p12*Math.sin(g),Math.abs(h)<Proj4js.common.EPSLN&&Math.abs(a.x)<Proj4js.common.EPSLN||(Math.atan2(a.x*e*this.cos_p12,h*b),f=Proj4js.common.adjust_lon(this.long0+Math.atan2(a.x*e*this.cos_p12,h*b))))}a.x=f;a.y=g;return a}}};
Proj4js.Proj.moll={init:function(){},forward:function(a){for(var b=a.y,d=Proj4js.common.adjust_lon(a.x-this.long0),e=b,f=Proj4js.common.PI*Math.sin(b),g=0;;g++){var h=-(e+Math.sin(e)-f)/(1+Math.cos(e)),e=e+h;if(Math.abs(h)<Proj4js.common.EPSLN)break;50<=g&&Proj4js.reportError("moll:Fwd:IterationError")}e/=2;Proj4js.common.PI/2-Math.abs(b)<Proj4js.common.EPSLN&&(d=0);b=0.900316316158*this.a*d*Math.cos(e)+this.x0;e=1.4142135623731*this.a*Math.sin(e)+this.y0;a.x=b;a.y=e;return a},inverse:function(a){var b;
a.x-=this.x0;b=a.y/(1.4142135623731*this.a);0.999999999999<Math.abs(b)&&(b=0.999999999999);b=Math.asin(b);var d=Proj4js.common.adjust_lon(this.long0+a.x/(0.900316316158*this.a*Math.cos(b)));d<-Proj4js.common.PI&&(d=-Proj4js.common.PI);d>Proj4js.common.PI&&(d=Proj4js.common.PI);b=(2*b+Math.sin(2*b))/Proj4js.common.PI;1<Math.abs(b)&&(b=1);b=Math.asin(b);a.x=d;a.y=b;return a}};
Fusion.Error=OpenLayers.Class({type:null,message:null,initialize:function(a,b){this.type=a;this.message=b},alert:function(){var a=this.typeToString(this.type);alert(OpenLayers.i18n("fusionError",{type:a,message:this.message}))},toString:function(){return this.typeToString(this.type)+": "+this.message},typeToString:function(a){switch(a){case Fusion.Error.FATAL:return"FATAL";case Fusion.Error.WARNING:return"WARNING";case Fusion.Error.NOTICE:return"NOTICE";default:return"UNKNOWN ("+a+")"}}});
Fusion.DetailedError=OpenLayers.Class({message:null,name:null,incomplete:!0,partial:!0,stack:[],url:null,useragent:null,initialize:function(a){this.message=a.message;this.name=a.name||"Error";this.incomplete=a.incomplete;this.partial=a.partial;this.stack=a.stack;this.url=a.url;this.useragent=a.useragent}});Fusion.Error.FATAL=0;Fusion.Error.WARNING=1;Fusion.Error.NOTICE=2;
Fusion.Lib.EventMgr=OpenLayers.Class({events:null,initialize:function(){this.events||(this.events=[])},destroy:function(){this.events=[]},registerEventID:function(a){this.events||(this.events=[]);a||Fusion.reportError(new Fusion.Error(Fusion.Error.WARNING,OpenLayers.i18n("registerEventError")));new String(a);this.events[a]||(this.events[a]=[])},registerForEvent:function(a,b){new String(a);this.events[a].push(b)},deregisterForEvent:function(a,b){new String(a);var d=!1;if(!this.events[a])return!1;for(var e=
0;e<this.events[a].length;e++)this.events[a][e]==b&&(this.events[a].splice(e,1),d=!0);return d},triggerEvent:function(a){new String(a);if(!this.events||!this.events[a])return!1;for(var b=0;b<this.events[a].length;b++)this.events[a][b].apply(null,arguments);return!0}});Fusion.events=[];Fusion.registerEventID=Fusion.Lib.EventMgr.prototype.registerEventID;Fusion.registerForEvent=Fusion.Lib.EventMgr.prototype.registerForEvent;Fusion.triggerEvent=Fusion.Lib.EventMgr.prototype.triggerEvent;
Fusion.Event.FUSION_INITIALIZED=Fusion.Event.lastEventId++;Fusion.Event.FUSION_ERROR=Fusion.Event.lastEventId++;Fusion.registerEventID(Fusion.Event.FUSION_INITIALIZED);Fusion.registerEventID(Fusion.Event.FUSION_ERROR);
Fusion.Lib.ApplicationDefinition=OpenLayers.Class({mapGroups:null,widgetSets:null,oBroker:null,searchDefinitions:null,searchCategories:null,initialize:function(a){this.sessionId=a;this.oBroker=Fusion.getBroker();this.applicationDefinition=Fusion.getApplicationDefinitionURL();this.widgetSets=[];this.mapGroups={};this.searchDefinitions=[];this.searchCategories=[];this.parse()},parse:function(){if(""==this.applicationDefinition)return null;null==this.applicationDefinition.match("Library://")&&null==
this.applicationDefinition.match("Session:")?Fusion.appDefJson?this.parseAppDef(Fusion.appDefJson):Fusion.getXmlAsJson(this.applicationDefinition,OpenLayers.Function.bind(this.getAppDefCB,this)):this.sessionId?window.setTimeout(OpenLayers.Function.bind(this.getAppDef,this),5):window.setTimeout(OpenLayers.Function.bind(this.createSessionThenGetAppDef,this),5);return!0},createSessionThenGetAppDef:function(){var a=Fusion.getScriptLanguage(),a="layers/MapGuide/"+a+"/CreateSession."+a,b={onSuccess:OpenLayers.Function.bind(this.createSessionThenGetAppDefCB,
this),onFailure:OpenLayers.Function.bind(Fusion.ajaxException,Fusion)};Fusion.ajaxRequest(a,b)},createSessionThenGetAppDefCB:function(a){a&&"object"==typeof a&&a.responseText&&(this.sessionId=Fusion.parseJSON(a.responseText).sessionId,Fusion.sessionId=this.sessionId);this.sessionId?this.getAppDef():Fusion.reportFatalError("Call to CreateSession.php failed")},getAppDef:function(){var a=new Fusion.Lib.MGRequest.MGGetResourceContent(this.applicationDefinition);a.parameters.session=this.sessionId;a.parameters.format=
"application/json";this.oBroker.dispatchRequest(a,OpenLayers.Function.bind(this.getAppDefCB,this))},getAppDefCB:function(a){a=Fusion.parseJSON(a.responseText);this.parseAppDef(a);Fusion.setLoadState(Fusion.LOAD_WIDGETS)},parseAppDef:function(a){var b=a.ApplicationDefinition;b.Title&&(document.title=b.Title[0]);if(b.MapSet){var d=b.MapSet[0];if(d.MapGroup instanceof Array)for(a=0;a<d.MapGroup.length;a++){var e=new Fusion.Lib.ApplicationDefinition.MapGroup(d.MapGroup[a]);this.mapGroups[e.mapId]=e}}else Fusion.reportFatalError(OpenLayers.i18n("appDefParseError"));
if(b.WidgetSet)for(a=0;a<b.WidgetSet.length;a++)d=new Fusion.Lib.ApplicationDefinition.WidgetSet(b.WidgetSet[a]),this.widgetSets.push(d);else Fusion.reportFatalError(OpenLayers.i18n("widgetSetParseError"));if(b.Extension&&(a=b.Extension[0],a.SearchDefinitions instanceof Array&&(b=a.SearchDefinitions[0],b.SearchCategory instanceof Array)))for(a=0;a<b.SearchCategory.length;a++){d={};e=b.SearchCategory[a];d.id=e["@id"];d.name=e["@name"];d.layer=e.Layer?e.Layer[0]:"";d.searchDefinitions=[];this.searchCategories[d.id]=
d;for(var e=e.SearchDefinition,f=0;f<e.length;f++){var g=new Fusion.Lib.ApplicationDefinition.SearchDefinition(e[f]);g.category=d;d.searchDefinitions[g.id]=g;this.searchDefinitions[g.id]=g}}},create:function(){for(var a=0;a<this.widgetSets.length;a++)this.widgetSets[a].create(this)},getMapByName:function(a){for(var b=null,d=0;d<this.widgetSets.length&&!(b=this.widgetSets[d].getMapByName(a));d++);return b},getMapById:function(a){for(var b=null,d=0;d<this.widgetSets.length&&(b=this.widgetSets[d].mapWidget,
b.mapId!=a);d++);return b},getMapByIndice:function(a){var b=null;this.widgetSets.length>a&&(b=this.widgetSets[a].getMapWidget());return b},getMapGroup:function(a){return this.mapGroups[a]},getWidgetsByType:function(a){for(var b=[],d=0;d<this.widgetSets.length;d++)b=b.concat(this.widgetSets[d].getWidgetsByType(a));return b}});
Fusion.Lib.ApplicationDefinition.MapGroup=OpenLayers.Class({initialView:null,maps:null,initialize:function(a){this.mapId=a["@id"][0];this.maps=[];if(a.InitialView){var b=a.InitialView[0];b.CenterX&&b.CenterY&&b.Scale?this.setInitialView({x:parseFloat(b.CenterX[0]),y:parseFloat(b.CenterY[0]),scale:parseFloat(b.Scale[0])}):b.MinX&&b.MinY&&b.MaxX&&b.MaxY&&this.setInitialView({minX:parseFloat(b.MinX[0]),minY:parseFloat(b.MinY[0]),maxX:parseFloat(b.MaxX[0]),maxY:parseFloat(b.MaxY[0])})}if(a.Map instanceof
Array)for(b=0;b<a.Map.length;b++){var d=new Fusion.Lib.ApplicationDefinition.Map(a.Map[b]),e={groups:[],layers:[]},f={layerEvents:{},groupEvents:{}};if(a.Map[b].Extension){var g=a.Map[b].Extension[0];if(g.Links){if(g.Links[0].Group instanceof Array)for(var h=0;h<g.Links[0].Group.length;h++){var l=g.Links[0].Group[h];e.groups.push({name:l.Name[0],url:l.Url[0]})}if(g.Links[0].Layer instanceof Array)for(h=0;h<g.Links[0].Layer.length;h++){var m=g.Links[0].Layer[h];e.layers.push({name:m.Name[0],url:m.Url[0]})}}if(g.MapEvents){if(g.MapEvents[0].Layer instanceof
Array)for(h=0;h<g.MapEvents[0].Layer.length;h++)m=g.MapEvents[0].Layer[h],l={},l.name=m.Name[0],l.onEnable=[],m.OnEnable instanceof Array&&(l.onEnable=this.parseMapEventSubBlock(m.OnEnable[0])),l.onDisable=[],m.OnDisable instanceof Array&&(l.onDisable=this.parseMapEventSubBlock(m.OnDisable[0])),f.layerEvents[l.name]=l;if(g.MapEvents[0].Group instanceof Array)for(h=0;h<g.MapEvents[0].Group.length;h++){var l=g.MapEvents[0].Group[h],q={};q.name=l.Name[0];q.onEnable=[];m.OnEnable instanceof Array&&(q.onEnable=
this.parseMapEventSubBlock(l.OnEnable[0]));q.onDisable=[];m.OnDisable instanceof Array&&(q.onDisable=this.parseMapEventSubBlock(l.OnDisable[0]));f.groupEvents[q.name]=q}}}d.mapInfo={links:e,mapEvents:f};this.maps.push(d)}},parseMapEventSubBlock:function(a){var b=[];if(a.Layer&&a.Layer instanceof Array)for(var d=0;d<a.Layer.length;d++){var e=a.Layer[d];b.push({type:"layer",name:e.Name[0],enable:"true"==e.Enable[0]?!0:!1})}if(a.Group&&a.Group instanceof Array)for(d=0;d<a.Group.length;d++)e=a.Group[d],
b.push({type:"group",name:e.Name[0],enable:"true"==e.Enable[0]?!0:!1});return b},getInitialView:function(){return this.initialView},setInitialView:function(a){this.initialView=a}});
Fusion.Lib.ApplicationDefinition.Map=OpenLayers.Class({type:null,singleTile:!1,extension:null,initialize:function(a){this.id=a["@id"]?a["@id"][0]:null;this.type=a.Type[0];a.SingleTile&&(this.singleTile="true"==a.SingleTile[0].toLowerCase()?!0:!1);this.extension=a.Extension?a.Extension[0]:{};this.resourceId=this.extension.ResourceId?this.extension.ResourceId[0]:"";a=this.extension.Options;this.layerOptions={};if(a&&a[0])for(var b in a[0]){var d=a[0][b][0];d.toFloat().toString()==d?this.layerOptions[b]=
d.toFloat():"true"==d.toLowerCase()?this.layerOptions[b]=!0:"false"==d.toLowerCase()?this.layerOptions[b]=!1:this.layerOptions[b]=d;if("maxExtent"==b||"minExtent"==b||"restrictedExtent"==b)this.layerOptions[b]=OpenLayers.Bounds.fromString(this.layerOptions[b]);if("resolutions"==b||"scales"==b)for(this.layerOptions[b]=this.layerOptions[b].split(","),d=0;d<this.layerOptions[b].length;d++)this.layerOptions[b][d]=this.layerOptions[b][d].toFloat()}a=this.extension.Parameters;this.layerParams={};if(a&&
a[0])for(b in a[0])d=a[0][b][0],d.toFloat().toString()==d&&(d=d.toFloat()),this.layerParams[b]=d;this.extension.ProjectionCode&&(this.layerOptions.projection=this.extension.ProjectionCode[0]);this.extension.ProjectionDef&&(b=this.extension.ProjectionDef[0],this.layerOptions.projection||(this.layerOptions.projection="APP-DEF-PROJ"),Proj4js.defs[this.layerOptions.projection]=b);this.layerOptions.projection||(this.layerOptions.projection="EPSG:4326");switch(this.type){case "MapGuide":case "MapServer":Fusion.Layers[this.type]||
Fusion.require("layers/"+this.type+"/"+this.type+".js");break;case "Google":case "Yahoo":case "VirtualEarth":this.layerOptions.isBaseLayer=!0,this.layerOptions.sphericalMercator=!0,this.layerOptions.displayProjection="EPSG:4326";default:this.layerOptions.projection=this.layerOptions.sphericalMercator?"EPSG:900913":"EPSG:4326",Fusion.Layers.Generic||Fusion.require("layers/Generic/Generic.js")}}});
Fusion.Lib.ApplicationDefinition.WidgetSet=OpenLayers.Class({containers:null,containersByName:null,widgetTags:null,widgetTagsByName:null,widgetInstances:null,mapWidget:null,mapId:null,initialize:function(a){this.containers=[];this.widgetTags=[];this.widgetInstances=[];this.widgetTagsByName={};this.containersByName={};if(a.MapWidget)for(var b=0;b<a.MapWidget.length;b++){var d=new Fusion.Lib.ApplicationDefinition.Widget(a.MapWidget[b]);d.widgetSet=this;this.mapWidgetTag=d;this.mapId=a.MapWidget[b].MapId[0]}if(a.Widget)for(b=
0;b<a.Widget.length;b++)d=new Fusion.Lib.ApplicationDefinition.Widget(a.Widget[b]),d.widgetSet=this,this.widgetTags.push(d),this.widgetTagsByName[d.name]=d;if(a.Container)for(b=0;b<a.Container.length;b++)d=new Fusion.Lib.ApplicationDefinition.Container(a.Container[b]),this.containers.push(d),this.containersByName[d.name]=d},addWidgetInstance:function(a){this.widgetInstances.push(a)},getMapWidget:function(){return this.mapWidget},create:function(a){var b=null,d=Fusion.getQueryParam("mapid");0<d.length&&
((b=a.getMapGroup(d))?this.mapId=d:Fusion.reportError(new Fusion.Error(Fusion.Error.WARNING,"can't find MapGroup: "+d+" - reverting to default map")));b||(b=a.getMapGroup(this.mapId));this.mapWidget=new Fusion.Widget.Map(this.mapWidgetTag,b,this);this.mapWidget.setMenu();$(this.mapWidgetTag.name).widget=this.mapWidget;this.mapWidget.message=new Fusion.MapMessage(this.mapWidget.oMapOL.viewPortDiv);this.mapWidget.registerForEvent(Fusion.Event.MAP_EXTENTS_CHANGED,function(){null!=this.message&&this.message.refreshLayout()}.bind(this.mapWidget));
for(a=0;a<this.widgetTags.length;a++)this.widgetTags[a].create(this);for(a=0;a<this.containers.length;a++)this.containers[a].create(this)},getMapByName:function(a){for(var b=null,d=0;d<this.mapWidget.aMaps.length;++d){var e=this.mapWidget.aMaps[d];e.getMapName()==a&&(b=e)}return b},getWidgetsByType:function(a){for(var b=[],d=0;d<this.widgetInstances.length;d++)this.widgetInstances[d].type==a&&b.push(this.widgetInstances[d]);return b},getWidgetByName:function(a){return this.widgetTagsByName[a]},getContainerByName:function(a){return this.containersByName[a]}});
Fusion.Lib.ApplicationDefinition.Container=OpenLayers.Class({name:null,type:null,validPositions:["top","left","bottom","right"],position:"top",items:null,initialize:function(a){this.type=a.Type[0];this.name=a.Name[0];for(var b=a.Position?a.Position[0].toLowerCase():this.position,d=0;d<this.validPositions.length;d++)if(this.validPositions[d]==b){this.position=b;break}this.items=[];if(a.Item)for(d=0;d<a.Item.length;d++)b=new Fusion.Lib.ApplicationDefinition.Item(a.Item[d]),this.items.push(b)},create:function(a){var b;
if("Toolbar"==this.type||"Statusbar"==this.type)$(this.name)&&(b=$(this.name).retrieve("jxToolbar")?$(this.name).retrieve("jxToolbar"):new Jx.Toolbar({parent:this.name,position:this.position,scroll:!0}),$(this.name).container=b,this.createWidgets(a,b));else if("Splitterbar"==this.type&&$(this.name)){b=new Jx.Splitter(this.name,{splitInto:this.items.length});for(var d=0;d<this.items.length;d++)b.elements[d].id=this.name+"_"+d;$(this.name).container=b;this.createWidgets(a,b)}b&&b.domObj.jxLayout&&b.domObj.jxLayout.resize({forceResize:!0})},
createWidgets:function(a,b){for(var d=0;d<this.items.length;d++)this.items[d].create(a,b,this.name+"_"+d)}});
Fusion.Lib.ApplicationDefinition.Widget=OpenLayers.Class({name:null,type:null,statusText:null,location:null,imageUrl:null,imageClass:null,tooltip:null,label:null,disabled:null,extension:null,initialize:function(a){a&&(this.type=a.Type[0],this.name=a.Name?a.Name[0]:"",this.statusText=a.StatusText?a.StatusText[0]:"",this.statusText=OpenLayers.i18n(this.statusText),this.location=a.Location?a.Location[0]:"widgets/","/"!=this.location.slice(-1)&&(this.location+="/"),this.imageUrl=a.ImageUrl?a.ImageUrl[0]:
"",this.imageClass=a.ImageClass?a.ImageClass[0]:"",this.tooltip=a.Tooltip?a.Tooltip[0]:"",this.tooltip=OpenLayers.i18n(this.tooltip),this.label=a.Label?a.Label[0]:"",this.label=OpenLayers.i18n(this.label),this.disabled=a.Disabled?"true"==a.Disabled[0].toLowerCase()?!0:!1:!1,this.extension=a.Extension?a.Extension[0]:{},Fusion.Widget[this.type]||Fusion.require(this.location+this.type+".js"))},getMapWidget:function(){return this.widgetSet?this.widgetSet.getMapWidget():null},create:function(a,b){var d=
null;this.widgetSet=a;var e=this.name;"undefined"==typeof b&&(b=this.name);null==b||""!=b&&null==$(b)||(this.name=b,d=new Fusion.Widget[this.type](this),a.addWidgetInstance(d),0<this.name.length&&$(this.name)&&(d.id=this.name,$(this.name).widget=d,d.uiClass&&(d.setUiObject(new d.uiClass({label:this.label,image:this.imageUrl,imageClass:this.imageClass,toggle:this.isExclusive})),d.uiObj.addTo&&d.uiObj.addTo($(this.name)),d.uiObj.setEnabled&&(d.uiObj.setEnabled(d.isEnabled()),d.registerForEvent(Fusion.Event.WIDGET_STATE_CHANGED,
function(){d.uiObj.setEnabled(d.isEnabled())})))),this.name=e);return d}});
Fusion.Lib.ApplicationDefinition.Item=OpenLayers.Class({uniqueId:[0],type:null,initialize:function(a){this.type=a.Function[0];switch(this.type){case "Widget":this.widgetName=a.Widget[0];break;case "Flyout":this.flyout=new Fusion.Lib.ApplicationDefinition.Flyout(a);break;case "Multi":this.multi=new Fusion.Lib.ApplicationDefinition.Multi(a)}},create:function(a,b,d){switch(this.type){case "Widget":var e=a.getWidgetByName(this.widgetName);if(e)if(this.uniqueId[0]++,b instanceof Jx.Toolbar){var f=e.create(a,
"");f.uiClass?f.uiClass!=Jx.Button&&f.uiClass!=Jx.Button.Color&&f.uiClass!=Jx.Menu&&f.uiClass!=Jx.Button.Flyout||f.setUiObject(new f.uiClass({label:e.label,image:e.imageUrl,imageClass:e.imageClass,toggle:f.isExclusive})):(f.uiClass=Jx.Toolbar.Item,f.setUiObject(new f.uiClass));b.add(f.uiObj);f.uiObj.setEnabled&&(f.uiObj.setEnabled(f.isEnabled()),f.registerForEvent(Fusion.Event.WIDGET_STATE_CHANGED,function(){f.uiObj.setEnabled(f.isEnabled())}))}else b instanceof Jx.Splitter?f=e.create(a,d):b instanceof
Jx.Menu||b instanceof Jx.Menu.Context||b instanceof Jx.Menu.SubMenu?(f=e.create(a,""),f.uiClass&&f.uiClass!=Jx.Button?f.uiClass==Jx.Menu&&(f.uiClass=Jx.Menu.SubMenu):f.uiClass=Jx.Menu.Item,f.setUiObject(new f.uiClass({label:e.label,image:e.imageUrl,imageClass:e.imageClass,toggle:f.isExclusive})),b.add(f.uiObj),f.uiObj.setEnabled&&(f.uiObj.setEnabled(f.isEnabled()),f.registerForEvent(Fusion.Event.WIDGET_STATE_CHANGED,function(){f.uiObj.setEnabled(f.isEnabled())}))):b instanceof Jx.Button.Multi&&(f=
e.create(a,""),f.uiClass=Jx.Button,f.setUiObject(new f.uiClass({label:e.label,image:e.imageUrl,imageClass:e.imageClass,toggle:f.isExclusive})),b.add(f.uiObj),f.uiObj.setEnabled&&(f.uiObj.setEnabled(f.isEnabled()),f.registerForEvent(Fusion.Event.WIDGET_STATE_CHANGED,function(){f.uiObj.setEnabled(f.isEnabled());var a=!b.buttons.some(function(a){return!a.isEnabled()});b.setEnabled(a)})));else Fusion.reportError(new Fusion.Error(Fusion.Error.WARNING,"can't find widget: "+this.widgetName));break;case "Flyout":d=
{label:this.flyout.label,tooltip:this.flyout.tooltip,image:this.flyout.imageUrl,imageClass:this.flyout.imageClass};if(b instanceof Jx.Toolbar)e=new Jx.Menu(d);else if(b instanceof Jx.Menu||b instanceof Jx.Menu.Context||b instanceof Jx.Menu.SubMenu)e=new Jx.Menu.SubMenu(d);b.add(e);this.flyout.create(a,e);break;case "Multi":d={label:this.multi.label,tooltip:this.multi.tooltip,image:this.multi.imageUrl,imageClass:this.multi.imageClass};d=new Jx.Button.Multi(d);b.add(d);this.multi.create(a,d);break;
case "Separator":b instanceof Jx.Toolbar?b.add(new Jx.Toolbar.Separator):(b instanceof Jx.Menu||b instanceof Jx.Menu.SubMenu||b instanceof Jx.Menu.Context)&&b.add(new Jx.Menu.Separator)}}});
Fusion.Lib.ApplicationDefinition.Flyout=OpenLayers.Class({label:null,tooltip:null,description:null,imageUrl:null,items:null,initialize:function(a){this.label=a.Label?a.Label[0]:"";this.tooltip=a.Tooltip?a.Tooltip[0]:"";this.description=a.Description?a.Description[0]:"";this.imageUrl=a.ImageUrl?a.ImageUrl[0]:"";this.items=[];if(a.Item instanceof Array)for(var b=0;b<a.Item.length;b++)this.items.push(new Fusion.Lib.ApplicationDefinition.Item(a.Item[b]))},create:function(a,b){for(var d=0;d<this.items.length;d++)this.items[d].create(a,
b)}});
Fusion.Lib.ApplicationDefinition.Multi=OpenLayers.Class({label:null,tooltip:null,description:null,imageUrl:null,items:null,initialize:function(a){this.label=a.Label?a.Label[0]:"";this.tooltip=a.Tooltip?a.Tooltip[0]:"";this.description=a.Description?a.Description[0]:"";this.imageUrl=a.ImageUrl?a.ImageUrl[0]:"";this.items=[];if(a.Item instanceof Array)for(var b=0;b<a.Item.length;b++)this.items.push(new Fusion.Lib.ApplicationDefinition.Item(a.Item[b]))},create:function(a,b){for(var d=0;d<this.items.length;d++)this.items[d].create(a,b)}});
Fusion.Lib.ApplicationDefinition.SearchDefinition=OpenLayers.Class({id:null,name:null,category:null,parameters:null,join:null,rule:null,initialize:function(a){this.id=a["@id"];this.name=a["@name"];a.Join instanceof Array&&(this.join=new Fusion.Lib.ApplicationDefinition.SearchJoin(a.Join[0]));this.parameters=[];if(a.Parameter instanceof Array)for(var b=0;b<a.Parameter.length;b++)this.parameters.push(a.Parameter[b]["@name"]);this.reports=[];if(a.Report instanceof Array)for(b=0;b<a.Report.length;b++)this.reports.push({label:a.Report[b].Label[0],
link:a.Report[b].Link[0]});var d;a.SearchAnd instanceof Array?(this.rule=new Fusion.Lib.ApplicationDefinition.SearchRule("AND"),d=a.SearchAnd[0]):a.SearchOr instanceof Array&&(this.rule=new Fusion.Lib.ApplicationDefinition.SearchRule("OR"),d=a.SearchOr[0]);if(d&&d.SearchCondition instanceof Array)for(b=0;b<d.SearchCondition.length;b++)this.rule.add(new Fusion.Lib.ApplicationDefinition.SearchCondition(d.SearchCondition[b]))},getJoinUrl:function(a){return this.join?"&joinlayer="+this.join.layer+"&joinpk="+
this.join.primaryKey+"&joinfk="+this.join.foreignKey:""},getFilterUrl:function(a){return"&filter="+encodeURIComponent(this.rule.toString(a))}});Fusion.Lib.ApplicationDefinition.SearchJoin=OpenLayers.Class({layer:null,primaryKey:null,foreignKey:null,initialize:function(a){this.layer=a.Layer?a.Layer[0]:"";this.primaryKey=a.PrimaryKey?a.PrimaryKey[0]:"";this.foreignKey=a.ForeignKey?a.ForeignKey[0]:""}});
Fusion.Lib.ApplicationDefinition.SearchRule=OpenLayers.Class({type:null,conditions:null,initialize:function(a){this.type=a;this.conditions=[]},add:function(a){this.conditions.push(a)},remove:function(a){for(var b=0;b<this.conditions.length;b++)if(this.conditions[b]==a){this.conditions.splice(b,1);break}},toString:function(a){for(var b=[],d=0;d<this.conditions.length;d++){this.conditions[d].setParams(a);var e=this.conditions[d].toString();""!=e&&b.push(e)}return"("+b.join(") "+this.type+" (")+")"}});
Fusion.Lib.ApplicationDefinition.SearchCondition=OpenLayers.Class({column:null,operator:null,parameter:null,quote:null,value:null,operators:{eq:"=",like:"like",lt:"<",lte:"<=",gt:">",gte:">=",neq:"<>"},includeIfEmpty:!1,initialize:function(a){this.column=a.Column[0];this.operator=this.operators[a.Operator[0].toLowerCase()];this.parameter=a.Parameter[0];this.quote=a["@quote"]?a["@quote"]:"";this.wildcard=a["@wildcard"]?a["@wildcard"]:"both";this.caseSensitive=!0;a["@caseSensitive"]&&"false"==a["@caseSensitive"]&&
(this.caseSensitive=!1)},setParams:function(a){this.value=a[this.parameter]?a[this.parameter]:""},toString:function(){var a=this.value?this.value:"";if(""==a&&!this.includeIfEmpty)return"";var b="";this.caseSensitive||(a=a.toUpperCase(),b="Upper");var d="",e=d="";if("like"==this.operator){if("before"==this.wildcard||"both"==this.wildcard)d="*";if("after"==this.wildcard||"both"==this.wildcard)e="*"}return b+"("+this.column+") "+this.operator+" "+this.quote+d+a+e+this.quote}});
Fusion.Lib.MGBroker=OpenLayers.Class({mapGuideURL:"",mapAgentURL:"",method:null,initialize:function(){},dispatchRequest:function(a,b){a.encode();(new Date).getTime();this.method&&(a.options.method=this.method);a.options.onException||(a.options.onException=OpenLayers.Function.bind(Fusion.ajaxException,Fusion));(new OpenLayers.Ajax.Request(this.mapAgentURL,OpenLayers.Util.extend({parameters:a.parameters,onComplete:b},a.options))).originalRequest=a},setSiteURL:function(a,b,d){this.user=b;this.pass=d;
-1==a.indexOf("mapagent.fcgi")&&("/"!=a.charAt(a.length-1)&&(a+="/"),this.mapGuideURL=a,a+="mapagent/mapagent.fcgi");this.mapAgentURL=a},clearSiteURL:function(){this.mapAgentURL=this.mapGuideURL=this.pass=this.user=""}});
Fusion.Lib.MGRequest=OpenLayers.Class({options:null,parameters:null,initializeRequest:function(){this.options={method:"post"};this.parameters={version:"1.0.0",locale:Fusion.locale,clientagent:"Fusion Viewer"}},setParams:function(a){OpenLayers.Util.extend(this.parameters,a||{})},setOptions:function(a){OpenLayers.Util.extend(this.options,a||{})},encode:function(){var a=sep="",b;for(b in this.parameters)this.parameters[b]&&(a=a+sep+b+"="+encodeURI(this.parameters[b])),sep="&";return a}});
Fusion.Lib.MGRequest.MGEnumerateResources=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a,b,d){this.initializeRequest();this.setParams({operation:"ENUMERATERESOURCES",resourceid:a||"Library://",type:b||"",depth:"undefined"==typeof d?-1:d})}});Fusion.Lib.MGRequest.MGGetResourceContent=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a){this.initializeRequest();this.setParams({operation:"GETRESOURCECONTENT",resourceid:a||"Library://"})}});
Fusion.Lib.MGRequest.MGGetResourceHeader=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a){this.initializeRequest();this.setParams({operation:"GETRESOURCEHEADER",resourceid:a||"Library://"})}});Fusion.Lib.MGRequest.MGCreateSession=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(){this.initializeRequest();this.setParams({operation:"CREATESESSION"})}});
Fusion.Lib.MGRequest.MGCreateRuntimeMap=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a,b,d){this.initializeRequest();this.setParams({operation:"CREATERUNTIMEMAP",mapdefinition:a,requestedfeatures:b,iconsperscalerange:d,format:"application/json",version:"2.6.0"})}});
Fusion.Lib.MGRequest.MGDescribeRuntimeMap=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a,b,d){this.initializeRequest();this.setParams({operation:"DESCRIBERUNTIMEMAP",mapname:a,requestedfeatures:b,iconsperscalerange:d,format:"application/json",version:"2.6.0"})}});Fusion.Lib.MGRequest.MGCopyResource=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a,b,d){this.initializeRequest();this.setParams({operation:"COPYRESOURCE",source:a,destination:b,overwrite:d})}});
Fusion.Lib.MGRequest.MGDeleteResource=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a){this.initializeRequest();this.setParams({operation:"DELETERESOURCE",resourceid:a})}});Fusion.Lib.MGRequest.MGMoveResource=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a,b,d){this.initializeRequest();this.setParams({operation:"MOVERESOURCE",source:a,destination:b,overwrite:d})}});
Fusion.Lib.MGRequest.MGMoveResource=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a,b,d){this.initializeRequest();this.setParams({method:"post",operation:"SETRESOURCE",resourceid:a,content:b,header:d})}});Fusion.Lib.MGRequest.MGDescribeSchema=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a,b){this.initializeRequest();this.setParams({operation:"DESCRIBEFEATURESCHEMA",resourceid:a,schema:b})}});
Fusion.Lib.MGRequest.MGGetSpatialContexts=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a,b){this.initializeRequest();this.setParams({operation:"GETSPATIALCONTEXTS",resourceid:a,activeonly:b?"1":"0"})}});Fusion.Lib.MGRequest.MGEnumerateResourceReferences=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a){this.initializeRequest();this.setParams({operation:"ENUMERATERESOURCEREFERENCES",resourceid:a})}});
Fusion.Lib.MGRequest.MGEnumerateResourceData=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a){this.initializeRequest();this.setParams({operation:"ENUMERATERESOURCEDATA",resourceid:a})}});
Fusion.Lib.MGRequest.MGGetVisibleMapExtent=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a,b,d,e,f,g,h,l,m,q,r,u,z,v){this.initializeRequest();this.setParams({operation:"GETVISIBLEMAPEXTENT",session:a,mapname:b,setviewcenterx:d,setviewcentery:e,setviewscale:f,setdataextent:g,setdisplaydpi:h,setdisplaywidth:l,setdisplayheight:m,showlayers:q,hidelayers:r,showgroups:u,hidegroups:z,refreshlayers:v})}});
Fusion.Lib.MGRequest.MGQueryMapFeatures=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a,b,d,e,f,g,h,l,m){this.initializeRequest();this.setParams({operation:"QUERYMAPFEATURES",format:"application/json",session:a,mapname:b,geometry:d,maxFeatures:e,persist:f,selectionVariant:g,featureFilter:h,layerNames:l,layerAttributeFilter:m})}});
Fusion.Lib.MGRequest.MGQueryMapFeatures2=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a,b,d,e,f,g,h,l,m,q,r,u){this.initializeRequest();this.setParams({operation:"QUERYMAPFEATURES",format:"application/json",version:"2.6.0",session:a,mapname:b,geometry:d,maxFeatures:e,persist:f,selectionVariant:g,featureFilter:h,layerNames:l,layerAttributeFilter:m,requestData:q,selectionColor:r,selectionFormat:u})}});
Fusion.Lib.MGRequest.MGGetFeatureSetEnvelope=OpenLayers.Class(Fusion.Lib.MGRequest,{initialize:function(a,b,d){this.initializeRequest();this.setParams({operation:"GETFEATURESETENVELOPE",session:a,mapname:b,featureSet:d})}});Fusion.Event.WIDGET_STATE_CHANGED=Fusion.Event.lastEventId++;
Fusion.Widget=OpenLayers.Class(Fusion.Lib.EventMgr,{isExclusive:!1,name:null,type:null,oMap:null,widgetLayerId:null,enabled:!1,mapLoadedWatcher:null,paramRegister:null,groups:[],group:null,domObj:null,uiClass:null,widgetUniqueId:null,initialize:function(a){this.type=a.type;this.name=a.name;this.widgetTag=a;this.registerEventID(Fusion.Event.WIDGET_STATE_CHANGED);Fusion.Widget.uiInstances[this.type]||(Fusion.Widget.uiInstances[this.type]=[]);var b=a.extension.Group?a.extension.Group[0]:"";""!=b&&(this.groups[b]||
(this.groups[b]=[]),this.groups[b].push(this),this.group=b);this.setMap(a.getMapWidget());a.name&&(this.domObj=$(a.name));this.paramRegister=[];b=a.extension;this.widgetLayerId=b.WidgetLayerId?b.WidgetLayerId[0]:null;this.widgetUniqueId=OpenLayers.Util.createUniqueID("FusionWidget_");this.initializeWidget(a)},initializeWidget:function(){},activate:function(){},deactivate:function(){},setUiObject:function(a){Fusion.Widget.uiInstances[this.type].push(this);this.widgetTag.tooltip&&(a.setTooltip?a.setTooltip(this.widgetTag.tooltip):
a.button&&a.button.setTooltip&&a.button.setTooltip(this.widgetTag.tooltip));if(this.isExclusive)if(1==Fusion.Widget.uiInstances[this.type].length)this.getMap().buttonSet.add(a);else for(var b=Fusion.Widget.uiInstances[this.type],d=0;d<b.length;d++)if(!this.shouldActivateWith(b[d])){this.getMap().buttonSet.add(a);break}a.options.active&&this.activate();a.addEvents&&(Fusion.Widget.uiInstances[this.type][0].uiObj&&Fusion.Widget.uiInstances[this.type][0].uiObj.options.active&&Fusion.Widget.uiInstances[this.type][0].shouldActivateWith(this)&&
a.setActive&&a.setActive(!0),a.addEvents({click:function(){this.activate()}.bind(this),up:function(){for(var a=Fusion.Widget.uiInstances[this.type],b=0;b<a.length;b++){var d=a[b];d.shouldActivateWith(this)&&d.uiObj&&d.uiObj.setActive&&d.uiObj.setActive(!1)}this.deactivate()}.bind(this),down:function(){for(var a=Fusion.Widget.uiInstances[this.type],b=0;b<a.length;b++){var d=a[b];d.shouldActivateWith(this)&&d.uiObj&&d.uiObj.setActive&&d.uiObj.setActive(!0)}this.activate()}.bind(this)}));this.uiObj=
a},shouldActivateWith:function(a){return!0},setMap:function(a){this.mapLoadedWatcher&&(this.oMap.deregisterForEvent(Fusion.Event.MAP_LOADED,this.mapLoadedWatcher),this.mapLoadedWatcher=null);if(this.oMap=a)this.mapLoadedWatcher=OpenLayers.Function.bind(this._mapLoaded,this),a.registerForEvent(Fusion.Event.MAP_LOADED,this.mapLoadedWatcher);a&&a.isLoaded()?this.enable():this.disable()},getMap:function(){return this.oMap},getMapLayer:function(){if(this.widgetLayerId){for(var a=this.getMap(),b=0;b<a.aMaps.length;++b)if(a.aMaps[b].id&&
a.aMaps[b].id==this.widgetLayerId)return a.aMaps[b];Fusion.reportFatalError("Requested widgetLayerId not found:"+this.widgetLayerId);return null}return this.getMap().aMaps[0]},addControl:function(a){this.getMap().oMapOL.addControl(a)},_mapLoaded:function(){this.oMap&&this.oMap.isLoaded()?this.enable():this.disable()},setMutEx:function(a){this.isExclusive=a},isMutEx:function(){return this.isExclusive},getName:function(){return this.name},getLocation:function(){return this.widgetTag.location},isEnabled:function(){return this.enabled},
enable:function(){this.enabled=!0;this.triggerEvent(Fusion.Event.WIDGET_STATE_CHANGED,this)},disable:function(){this.enabled=!1;this.triggerEvent(Fusion.Event.WIDGET_STATE_CHANGED,this)},setParameter:function(a,b){},registerParameter:function(a){this.paramRegister.push(a)}});Fusion.Widget.uiInstances={};
Fusion.Tool.Search=OpenLayers.Class({lastSearch:null,lastResult:null,resultOffset:0,initialize:function(){},getProperties:function(){var a=null;this.lastResult&&this.lastResult.properties&&(a=this.lastResult.properties);return a},getNumberOfProperties:function(){var a=0;this.lastResult&&this.lastResult.properties&&(a=this.lastResult.properties.length);return a},getProperty:function(a){var b="";this.lastResult&&this.lastResult.properties&&(b=this.lastResult.properties[a]);return b},getNumberOfResults:function(){result=
0;this.lastResult&&this.lastResult.values&&(result=this.lastResult.values.length);return result},getFirstResult:function(){this.resultOffset=0;return this.getResult(this.resultOffset)},getNextResult:function(){this.resultOffset++;return this.getResult(this.resultOffset)},getResult:function(a){result=null;this.lastResult&&this.lastResult.values&&(result=this.lastResult.values[a]);return result},zoomToResult:function(a){a="&filter="+a;var b=this.getMap().arch+"/"+Fusion.getScriptLanguage()+"/Query."+
Fusion.getScriptLanguage(),d={};d.parameters="session="+this.getMap().getSessionID()+"&mapname="+this.getMap().getMapName()+"&layers="+this.layerName+a;d.onComplete=OpenLayers.Function.bind(this.selectComplete,this);Fusion.ajaxRequest(b,d)},selectComplete:function(a){"true"==(new DomNode(a.responseXML)).getNodeText("Selection")&&(this.getMap().newSelection(),this.getMap().getSelection(OpenLayers.Function.bind(this.zoomToSelection,this)))},zoomToSelection:function(a){var b=a.getLowerLeftCoord();a=
a.getUpperRightCoord();var d=a.x-b.x,e=a.y-b.y;b.x-=d;a.x+=d;b.y-=e;a.y+=e;this.getMap().setExtents(new OpenLayers.Bounds(b.x,b.y,a.x,a.y))}});Fusion.Event.MAP_EXTENTS_CHANGED=Fusion.Event.lastEventId++;Fusion.Event.MAP_BUSY_CHANGED=Fusion.Event.lastEventId++;Fusion.Event.MAP_GENERIC_EVENT=Fusion.Event.lastEventId++;Fusion.Event.MAP_RESIZED=Fusion.Event.lastEventId++;Fusion.Event.MAP_SELECTION_ON=Fusion.Event.lastEventId++;Fusion.Event.MAP_SELECTION_OFF=Fusion.Event.lastEventId++;
Fusion.Event.MAP_ACTIVE_LAYER_CHANGED=Fusion.Event.lastEventId++;Fusion.Event.MAP_LOADED=Fusion.Event.lastEventId++;Fusion.Event.MAP_LOADING=Fusion.Event.lastEventId++;Fusion.Event.MAP_RELOADED=Fusion.Event.lastEventId++;Fusion.Event.MAP_SESSION_CREATED=Fusion.Event.lastEventId++;Fusion.Event.MAP_MAPTIP_REQ_FINISHED=Fusion.Event.lastEventId++;Fusion.Event.WMS_LAYER_ADDED=Fusion.Event.lastEventId++;Fusion.Event.MAP_SCALE_RANGE_LOADED=Fusion.Event.lastEventId++;Fusion.Event.MAP_MAP_GROUP_LOADED=Fusion.Event.lastEventId++;
Fusion.Event.MAP_DIGITIZER_ACTIVATED=Fusion.Event.lastEventId++;Fusion.Event.MAP_DIGITIZER_DEACTIVATED=Fusion.Event.lastEventId++;Fusion.Event.MAP_BASE_LAYER_CHANGED=Fusion.Event.lastEventId++;Fusion.Constant.LAYER_POINT_TYPE=0;Fusion.Constant.LAYER_POINT_TYPE=1;Fusion.Constant.LAYER_POINT_TYPE=2;Fusion.Constant.LAYER_POINT_TYPE=3;Fusion.Constant.LAYER_POINT_TYPE=4;Fusion.Constant.LAYER_DWF_TYPE=5;
Fusion.Widget.Map=OpenLayers.Class(Fusion.Lib.EventMgr,{ID_DIGITIZING_LAYER:"FusionMapDigitizingLayer",DRAW_CONTROL_POINT:"FusionMapDrawPoint",DRAW_CONTROL_LINE:"FusionMapDrawLine",DRAW_CONTROL_LINESTR:"FusionMapDrawLineString",DRAW_CONTROL_RECT:"FusionMapDrawRect",DRAW_CONTROL_POLY:"FusionMapDrawPoly",DRAW_CONTROL_CIRCLE:"FusionMapDrawCircle",_oDomObj:null,_sDomObj:"",_sMapname:"",_fMetersperunit:-1,_fScale:-1,_nDpi:96,_oCurrentExtents:null,maxExtent:new OpenLayers.Bounds,_nWorkers:0,oContextMenu:null,
bSupressContextMenu:!1,aMaps:null,mapsLoaded:!1,layerRoot:null,singleTile:!0,fractionalZoom:!0,maxScale:null,isDigitizing:!1,message:null,digitizingStyleMap:null,initialize:function(a,b,d){this.widgetTag=a;var e=a.name;this.aMaps=[];this.buttonSet=new Jx.ButtonSet;this.widgetSet=d;this._sDomObj=e;this._oDomObj=$(this._sDomObj);this.layerRoot=new Fusion.Layers.Group({legendLabel:"mapRoot",uniqueId:"mapRoot",groupName:"mapRoot",visible:!0});(d=this._oDomObj.retrieve("jxLayout"))&&d.addEvent("sizeChange",
OpenLayers.Function.bind(this.sizeChanged,this));a.extension.FractionalZoom&&(this.fractionalZoom="false"==a.extension.FractionalZoom[0]?!1:!0);var f=null;a.extension.Scales&&(f=a.extension.Scales[0].split(","),this.fractionalZoom=!1);a.extension.MaxScale&&(this.maxScale=parseInt(a.extension.MaxExtent[0]));d=null;a.extension.MaxExtent&&(d=OpenLayers.Bounds.fromString(a.extension.MaxExtent[0]));OpenLayers.DOTS_PER_INCH=this._nDpi;this.oMapOL||(f={controls:[new OpenLayers.Control.PinchZoom],fallThrough:!0,
scales:f,fractionalZoom:this.fractionalZoom},a.extension.ConstrainMapExtent&&(this.bRestrictExtent="true"==a.extension.ConstrainMapExtent[0]?!0:!1),d&&(this.maxExtent=f.maxExtent=d),this.oMapOL=new OpenLayers.Map(this._sDomObj,f));this.oMapOL.viewPortDiv.style.position="absolute";this.oMapOL.viewPortDiv.style.zIndex=0;this.handlers=[];d=!0;a.extension.DisableMouseWheel&&"true"==a.extension.DisableMouseWheel[0]&&(d=!1);d&&(this.wheelHandler=new OpenLayers.Handler.MouseWheel(this,{up:this.wheelUp,down:this.wheelDown}),
this.wheelHandler.map=this.oMapOL,this.wheelHandler.activate(),this.handlers.push(this.wheelHandler));$(e).widget=this;this.registerEventID(Fusion.Event.MAP_EXTENTS_CHANGED);this.registerEventID(Fusion.Event.MAP_BUSY_CHANGED);this.registerEventID(Fusion.Event.MAP_GENERIC_EVENT);this.registerEventID(Fusion.Event.MAP_RESIZED);this.registerEventID(Fusion.Event.MAP_ACTIVE_LAYER_CHANGED);this.registerEventID(Fusion.Event.MAP_LOADED);this.registerEventID(Fusion.Event.MAP_LOADING);this.registerEventID(Fusion.Event.MAP_RELOADED);
this.registerEventID(Fusion.Event.MAP_SELECTION_ON);this.registerEventID(Fusion.Event.MAP_SELECTION_OFF);this.registerEventID(Fusion.Event.MAP_MAPTIP_REQ_FINISHED);this.registerEventID(Fusion.Event.WMS_LAYER_ADDED);this.registerEventID(Fusion.Event.MAP_SCALE_RANGE_LOADED);this.registerEventID(Fusion.Event.MAP_MAP_GROUP_LOADED);this.registerEventID(Fusion.Event.MAP_DIGITIZER_ACTIVATED);this.registerEventID(Fusion.Event.MAP_DIGITIZER_DEACTIVATED);this.registerEventID(Fusion.Event.MAP_BASE_LAYER_CHANGED);
this.registerForEvent(Fusion.Event.MAP_LOADED,OpenLayers.Function.bind(this.mapLoaded,this));this.registerForEvent(Fusion.Event.MAP_RELOADED,OpenLayers.Function.bind(this.mapLoaded,this));this.oMapOL.events.register("moveend",this,this.mapExtentsChanged);this._oDomObj.onselectstart=function(){return!1};this._oDomObj.oncontextmenu=function(){return!1};OpenLayers.Event.observe(this._oDomObj,"contextmenu",OpenLayers.Function.bind(this.onContextMenu,this));this.aSelectionCallbacks=[];this.bFetchingSelection=
!1;this.digitizingStyleMap=new OpenLayers.StyleMap(new OpenLayers.Style({pointRadius:4,graphicName:"square",fillColor:"white",fillOpacity:0.4,strokeWidth:2,strokeOpacity:1,strokeColor:"#666666",strokeColor:"#666666"}));this.keyHandler=OpenLayers.Function.bind(this.onKeyPress,this);this.loadMapGroup(b)},setExternalBaseLayer:function(a){this.oMapOL.setBaseLayer(a.oLayerOL,!1);this.triggerEvent(Fusion.Event.MAP_BASE_LAYER_CHANGED,a)},mapLoaded:function(){this.setViewOptions(this.getUnits());this.loadScaleRanges(OpenLayers.Function.bind(this.scaleRangesLoaded,
this))},setMenu:function(){if(this.widgetTag.extension.MenuContainer){var a=new Jx.Menu.Context,b=this.widgetSet.getContainerByName(this.widgetTag.extension.MenuContainer[0]);b&&(b.createWidgets(this.widgetSet,a),this.setContextMenu(a))}},loadMapGroup:function(a,b){this.mapsLoaded=!1;this.clearSelection();this.mapGroup=a;for(var d=b?1:0,e=this.aMaps.length-1;e>=d;e--)this.aMaps[e].oLayerOL&&(this.aMaps[e].oLayerOL.destroy(),this.aMaps.splice(e,1));this._fMetersperunit=-1;this.oMapOL.center=null;this.maxExtent=
new OpenLayers.Bounds;var f;b&&(f=this.layerRoot.layers[0]);this.layerRoot.clear();b&&this.layerRoot.addLayer(f);for(e=0;e<a.maps.length;++e)d=a.maps[e],Fusion.Layers[d.type]?(this.aMaps.push(new Fusion.Layers[d.type](this,d,!0)),f=this.aMaps[this.aMaps.length-1].layerRoot,f.isFusionLayer=!0,this.layerRoot.addGroup(f)):(this.aMaps.push(new Fusion.Layers.Generic(this,d,!0)),this.layerRoot.addLayer(this.aMaps[this.aMaps.length-1].layerRoot)),this.aMaps[this.aMaps.length-1].registerForEvent(Fusion.Event.LAYER_LOADED,
OpenLayers.Function.bind(this.layerLoaded,this,d));this.triggerEvent(Fusion.Event.MAP_MAP_GROUP_LOADED)},_fixBaseLayerGroupVisibility:function(){for(var a=0,b=0,a=0;a<this.layerRoot.groups.length;a++)if("layerRoot"==this.layerRoot.groups[a].uniqueId)for(var d=0;d<this.layerRoot.groups[a].groups.length;d++){if(!this.layerRoot.groups[a].groups[d].initiallyVisible)for(b=0;b<this.aMaps.length;b++)"MapGuide"==this.aMaps[b].arch&&this.aMaps[b].oLayerOL.params.basemaplayergroupname===this.layerRoot.groups[a].groups[d].name&&
this.aMaps[b].oLayerOL.setVisibility(!1)}else if(!this.layerRoot.groups[a].initiallyVisible)for(b=0;b<this.aMaps.length;b++)"MapGuide"==this.aMaps[b].arch&&this.aMaps[b].oLayerOL.params.basemaplayergroupname===this.layerRoot.groups[a].name&&this.aMaps[b].oLayerOL.setVisibility(!1)},layerLoaded:function(a){for(var b=0;b<this.aMaps.length;++b)if(!this.aMaps[b].isMapLoaded())return;this.mapsLoaded=!0;if(1==this.aMaps.length)this.oMapOL.setBaseLayer(this.aMaps[0].oLayerOL);else{for(var d=0,b=0;b<this.aMaps.length;b++)"MapGuide"==
this.aMaps[b].arch&&d++,this.oMapOL.removeLayer(this.aMaps[b].oLayerOL);for(b=0;b<this.aMaps.length;b++)this.oMapOL.addLayer(this.aMaps[b].oLayerOL);if(1<d)for(b=0;b<this.aMaps.length;b++)"MapGuide"==this.aMaps[b].arch&&(this.aMaps[b].oLayerOL.isBaseLayer=!1,this.aMaps[b].oLayerOL.alwaysInRange=!0,this.aMaps[b].oLayerOL.setVisibility(!0))}this._fixBaseLayerGroupVisibility();for(var e=null,d=null,e=!0,b=0;b<this.aMaps.length;b++)if("MapGuide"==this.aMaps[b].arch){d=this.aMaps[b].oLayerOL.resolutions;
e=this.aMaps[b].bSingleTile?!0:!1;break}if(e)for(b=0;b<this.aMaps.length;b++)if("Generic"==this.aMaps[b].arch){var f=this.aMaps[b].oLayerOL;f.serverResolutions=f.resolutions;e=null;if(null==e){for(var e=[],g=0;g<f.serverResolutions.length;g++)e.push(f.serverResolutions[g]);for(g=0;g<d.length;g++)d[g]<f.minResolution&&e.push(d[g])}f.resolutions=e;for(var h=[],g=0;g<e.length;g++)h.push(OpenLayers.Util.getScaleFromResolution(e[g],f.units));f.scales=h;f.minResolution=e[e.length-1];f.maxScale=h[h.length-
1];f.numZoomLevels=h.length}b=this.setInitialExtents();this.setExtents(b);OpenLayers.Event.observe(document,"keypress",this.keyHandler);this.triggerEvent(Fusion.Event.MAP_LOADED,a)},wheelChange:function(a,b){this.wheelTimer?clearTimeout(this.wheelTimer):this.cumulativeDelta=0;this.cumulativeDelta+=0>b?-1:1;this.wheelTimer=setTimeout(OpenLayers.Function.bind(function(){this.doWheelChange(a,b)},this),200)},doWheelChange:function(a,b){this.wheelTimer=null;if(0!=this.cumulativeDelta){var d=this.oMapOL.getSize(),
e=d.w/2-a.xy.x,f=a.xy.y-d.h/2,g=0<this.cumulativeDelta?1/(this.cumulativeDelta+1):Math.abs(this.cumulativeDelta)+1,g=this.oMapOL.baseLayer.getResolution()*g,h=this.oMapOL.getLonLatFromPixel(a.xy),e=new OpenLayers.LonLat(h.lon+e*g,h.lat+f*g),d=new OpenLayers.Bounds(e.lon-d.w*g/2,e.lat-d.h*g/2,e.lon+d.w*g/2,e.lat+d.h*g/2);this.setExtents(d)}},wheelUp:function(a){this.wheelChange(a,1)},wheelDown:function(a){this.wheelChange(a,-1)},getDomObj:function(){return this._oDomObj},getDomId:function(){return this._sDomObj},
setMapOptions:function(a){this.oMapOL.setOptions(a)},addMap:function(a){a.mapTag.layerOptions.maxExtent&&(this.maxExtent.extend(a.mapTag.layerOptions.maxExtent),this.oMapOL.setOptions({maxExtent:this.maxExtent}));null!=this.bRestrictExtent&&(this.oMapOL.restrictedExtent=this.bRestrictExtent?a.mapTag.layerOptions.maxExtent:!1);this.oMapOL.addLayer(a.oLayerOL);a.oLayerOL.isBaseLayer&&(this.projection=a.oLayerOL.projection,this.units=a.oLayerOL.units,this.oMapOL.setOptions({units:this.units,projection:this.projection}));
a.registerForEvent(Fusion.Event.MAP_SELECTION_OFF,OpenLayers.Function.bind(this.selectionHandler,this));a.registerForEvent(Fusion.Event.MAP_SELECTION_ON,OpenLayers.Function.bind(this.selectionHandler,this))},getAllMaps:function(){return this.aMaps},reloadMap:function(){for(var a=0;a<this.aMaps.length;++a){var b=this.aMaps[a];window.setTimeout(OpenLayers.Function.bind(b.reloadMap,b),1)}},loadScaleRanges:function(){for(var a=0;a<this.aMaps.length;++a)this.aMaps[a].loadScaleRanges()},query:function(a){this.lastQueryOptions=
a;for(var b=0;b<this.aMaps.length;b++)this.aMaps[b].query(a)},selectionHandler:function(){this.hasSelection()?this.triggerEvent(Fusion.Event.MAP_SELECTION_ON):this.triggerEvent(Fusion.Event.MAP_SELECTION_OFF)},hasSelection:function(){for(var a=0;a<this.aMaps.length;a++)if(this.aMaps[a].hasSelection())return!0;return!1},clearSelection:function(){this.lastQueryOptions=this.oSelection=null;for(var a=0;a<this.aMaps.length;a++)this.aMaps[a].clearSelection()},getSelection:function(a,b,d){b=b?b:"";d=d?d:
"";this.aSelectionCallbacks.push(a);if(!this.bFetchingSelection)for(this.bFetchingSelection=!0,this.oSelection={},a=this.nSelectionMaps=0;a<this.aMaps.length;a++)this.aMaps[a].supports.query&&(this.nSelectionMaps++,this.aMaps[a].getSelection(OpenLayers.Function.bind(this.accumulateSelection,this,this.aMaps[a]),b,d))},setSelection:function(a,b){for(var d=0;d<this.aMaps.length;d++)this.aMaps[d].setSelection(a,b)},accumulateSelection:function(a,b){this.oSelection[a._sMapname]=b;if(!--this.nSelectionMaps){this.bFetchingSelection=
!1;for(var d=0;d<this.aSelectionCallbacks.length;d++)this.aSelectionCallbacks[d](this.oSelection);this.aSelectionCallbacks=[]}},setActiveLayer:function(a){if(this.oActiveLayer=a)this.oActiveMap=a.map;this.triggerEvent(Fusion.Event.MAP_ACTIVE_LAYER_CHANGED,a)},getActiveLayer:function(){return this.oActiveLayer},_addWorker:function(){this._nWorkers+=1;this.triggerEvent(Fusion.Event.MAP_BUSY_CHANGED,this);this._oDomObj.style.cursor="wait"},_removeWorker:function(){0<this._nWorkers&&(this._nWorkers-=
1);this.setCursor(this.cursor);this.triggerEvent(Fusion.Event.MAP_BUSY_CHANGED,this)},mapExtentsChanged:function(){this._oCurrentExtents=this.oMapOL.getExtent();this.triggerEvent(Fusion.Event.MAP_EXTENTS_CHANGED)},isBusy:function(){return 0<this._nWorkers},sizeChanged:function(){this.resize()},resize:function(){this.mapsLoaded&&(this.oMapOL.updateSize(),$(this.getDomObj()).getContentBoxSize(),this._oCurrentExtents&&this.setExtents(this._oCurrentExtents),this.triggerEvent(Fusion.Event.MAP_RESIZED,
this))},redraw:function(){for(var a=0;a<this.aMaps.length;a++)this.aMaps[a].oLayerOL.params&&(this.aMaps[a].oLayerOL.params.ts=(new Date).getTime());this.oMapOL.setCenter(this.oMapOL.getCenter(),this.oMapOL.getZoom(),!1,!0)},setBackgroundColor:function(a){this._oDomObj.style.backgroundColor=a},setExtents:function(a){a||Fusion.reportError(new Fusion.Error(Fusion.Error.WARNING,OpenLayers.i18n("nullExtents")));a instanceof Array&&4==a.length&&(a=new OpenLayers.Bounds(a[0],a[1],a[2],a[3]));for(var b=
0;b<this.aMaps.length;b++)this.aMaps[b].oLayerOL.params&&this.aMaps[b].noCache&&(this.aMaps[b].oLayerOL.params.ts=(new Date).getTime());a.bottom==a.top&&a.left==a.right?this.oMapOL.panTo(new OpenLayers.LonLat(a.left,a.top)):this.oMapOL.zoomToExtent(a,!0);this._oCurrentExtents=this.oMapOL.getExtent()},setInitialExtents:function(){var a,b=Fusion.getQueryParam("extent");if(b)a=new OpenLayers.Bounds.fromArray(b.split(","));else if(this.mapGroup.initialView){b=this.mapGroup.getInitialView();void 0!=b.x?
a=this.getExtentFromPoint(b.x,b.y,b.scale):void 0!=b.minX&&(a=new OpenLayers.Bounds(b.minX,b.minY,b.maxX,b.maxY));var d=this.oMapOL.baseLayer.projection;b.projection&&!b.projection.equals(d)&&a.transform(b.projection,d);a.intersectsBounds(this.maxExtent)||(a=this.maxExtent)}else(a=this.getMapGroupExtent())||(a=this.getMapGroupExtent(!0));this.initialExtents||(this.initialExtents=a);return a},getMapGroupExtent:function(a){for(var b,d=0;d<this.aMaps.length;++d)if(a||"Generic"!=this.aMaps[d].arch)b=
this.aMaps[d].getMaxExtent();return b},fullExtents:function(){this.setExtents(this.maxExtent)},isMapLoaded:function(){return this._oCurrentExtents?!0:!1},zoom:function(a,b,d){if(1==d||0==d)this.oMapOL.panTo(new OpenLayers.LonLat(a,b));else{var e=this.oMapOL.getExtent();if(this.fractionalZoom){var f=e.right-e.left,e=e.top-e.bottom,g,h,l,m;0<d?(g=a-f/2/d,h=a+f/2/d,l=b-e/2/d,m=b+e/2/d):0>d&&(g=a-f/2*Math.abs(d),h=a+f/2*Math.abs(d),l=b-e/2*Math.abs(d),m=b+e/2*Math.abs(d));this.setExtents(new OpenLayers.Bounds(g,
l,h,m))}else f=this.oMapOL.getZoom(),this.oMapOL.setCenter(new OpenLayers.LonLat(a,b)),this.oMapOL.zoomTo(f+Math.floor(Math.log(d)/Math.log(2)))}},zoomToScale:function(a){var b=this.getCurrentCenter();a=this.getExtentFromPoint(b.x,b.y,a);this.setExtents(a)},queryRect:function(a,b,d,e){},queryPoint:function(a,b){},pixToGeo:function(a,b){var d=this.oMapOL.getLonLatFromPixel(new OpenLayers.Pixel(a,b));return null!=d?{x:d.lon,y:d.lat}:null},geoToPix:function(a,b){if(!this._oCurrentExtents)return null;
var d=this.oMapOL.getPixelFromLonLat(new OpenLayers.LonLat(a,b));return{x:Math.floor(d.x),y:Math.floor(d.y)}},pixToGeoMeasure:function(a){var b=this.oMapOL.getResolution();return a*b},setProjection:function(a,b){this.projection=a;this.oMapOL.projection=a;this.oMapOL.units=b},setMetersPerUnit:function(a){0>this._fMetersperunit?(Fusion.initUnits(a),this._fMetersperunit=a):a!=this._fMetersperunit&&Fusion.reportError(new Fusion.Error(Fusion.Error.WARNING,"meters per unit value already set"))},getMetersPerUnit:function(){return this._fMetersperunit},
setViewOptions:function(a){this.setWidgetParam("Units",a)},setWidgetParam:function(a,b){for(var d=0;d<Fusion.applicationDefinition.widgetSets.length;++d)for(var e=Fusion.applicationDefinition.widgetSets[d],f=0;f<e.widgetInstances.length;++f)for(var g=e.widgetInstances[f],h=0;h<g.paramRegister.length;++h)g.paramRegister[h]==a&&g.setParameter(a,b)},geoToPixMeasure:function(a){return parseInt(a/this.oMapOL.getResolution())},getCurrentCenter:function(){var a=this.getCurrentExtents().getCenterLonLat();
return{x:a.lon,y:a.lat}},getCurrentExtents:function(){return this.oMapOL.getExtent()},getExtentFromPoint:function(a,b,d){d||(d=this.getScale());var e=OpenLayers.Util.getResolutionFromScale(d,this.oMapOL.baseLayer.units),f=this.getSize();d=f.w*e;e*=f.h;return new OpenLayers.Bounds(a-d/2,b-e/2,a+d/2,b+e/2)},getScale:function(){return this.oMapOL.getScale()},getResolution:function(){return this.oMapOL.getResolution()},getUnits:function(){return this.oMapOL.baseLayer.units},getSize:function(){return this.oMapOL.getSize()},
getEventPosition:function(a){return this.oMapOL.events.getMousePosition(a)},setCursor:function(a){this.cursor=a;if(!this.isBusy())if(a&&a.length&&"object"==typeof a)for(var b=0;b<a.length&&(this._oDomObj.style.cursor=a[b],this._oDomObj.style.cursor!=a[b]);b++);else this._oDomObj.style.cursor="string"==typeof a?a:"auto"},observeEvent:function(a,b){OpenLayers.Event.observe(this._oDomObj,a,b,!1)},stopObserveEvent:function(a,b){OpenLayers.Event.stopObserving(this._oDomObj,a,b,!1)},activateWidget:function(a){},
deactivateWidget:function(a){},isLoaded:function(){return null!=this.oMapOL.getExtent()},getLinkParams:function(){var a={extent:this.getCurrentExtents().toBBOX()};this.lastQueryOptions&&(this.lastQueryOptions.filter&&(a.filter=this.lastQueryOptions.filter),this.lastQueryOptions.geometry&&(a.spatialfilter=this.lastQueryOptions.geometry),this.lastQueryOptions.queryHiddenLayers&&(a.queryHiddenLayers=this.lastQueryOptions.queryHiddenLayers),this.lastQueryOptions.maxFeatures&&(a.maxfeatures=this.lastQueryOptions.maxFeatures),
this.lastQueryOptions.layers&&(a.selectlayer=this.lastQueryOptions.layers),this.lastQueryOptions.selectionType&&(a.variant=this.lastQueryOptions.selectionType));for(var b=0;b<this.aMaps.length;++b)a=OpenLayers.Util.extend(a,this.aMaps[b].getLinkParams());return OpenLayers.Util.getParameterString(a)},supressContextMenu:function(a){this.bSupressContextMenu=a},setContextMenu:function(a){this.oContextMenu=a},onContextMenu:function(a){this.oContextMenu&&!this.bSupressContextMenu&&this.isLoaded()&&(this.oContextMenu.show(new Event(a)),
this.contextMenuPosition=this.getEventPosition(a),OpenLayers.Event.stop(a))},executeFromContextMenu:function(a){a.activate(this.contextMenuPosition.x,this.contextMenuPosition.y)},_getDigitizingLayer:function(){var a=this.oMapOL.getLayer(this.ID_DIGITIZING_LAYER);null==a&&(a=new OpenLayers.Layer.Vector("Digitizing Layer",{styleMap:this.digitizingStyleMap}),a.id=this.ID_DIGITIZING_LAYER,this.oMapOL.addLayers([a]));return a},cancelDigitization:function(){this._deactivateDigitizer(this.DRAW_CONTROL_POINT,
!1,!0);this._deactivateDigitizer(this.DRAW_CONTROL_LINE,!1,!0);this._deactivateDigitizer(this.DRAW_CONTROL_LINESTR,!1,!0);this._deactivateDigitizer(this.DRAW_CONTROL_RECT,!1,!0);this._deactivateDigitizer(this.DRAW_CONTROL_POLY,!1,!0);this._deactivateDigitizer(this.DRAW_CONTROL_CIRCLE,!1,!0);this._triggerDigitizerDeactivated()},_onGeometryDigitized:function(a,b,d){this._deactivateDigitizer(b,!0,!0);b==this.DRAW_CONTROL_CIRCLE?(b=a.feature.geometry.bounds.getCenterLonLat(),a=a.feature.geometry.bounds.getWidth()/
2,d({x:b.lon,y:b.lat,r:a})):d(a.feature.geometry)},_setDigitizationPrompt:function(a){this.message.info(a+' <a id="abortDigitizationLink" href="javascript:void(0)">'+OpenLayers.i18n("stop")+"</a>");this.message.container.ownerDocument.getElementById("abortDigitizationLink").onclick=OpenLayers.Function.bind(function(){this.cancelDigitization()},this)},_deactivateDigitizer:function(a,b,d){if(a=this.oMapOL.getControl(a))a.deactivate(),a.layer.removeAllFeatures(),d&&a.events.remove("featureadded");b&&
this._triggerDigitizerDeactivated()},_activateDigitizer:function(a,b,d){if(a.events){var e=OpenLayers.Function.bind(function(b,g){a.events.unregister("featureadded",null,e);this._onGeometryDigitized(g,b,d)},this,b);a.events.register("featureadded",null,e)}a.activate();this._triggerDigitizerActivated()},_triggerDigitizerActivated:function(){this.isDigitizing||(this.isDigitizing=!0,this.triggerEvent(Fusion.Event.MAP_DIGITIZER_ACTIVATED))},_triggerDigitizerDeactivated:function(){if(this.isDigitizing){this.isDigitizing=
!1;try{this.message.clear()}catch(a){}this.triggerEvent(Fusion.Event.MAP_DIGITIZER_DEACTIVATED)}},onKeyPress:function(a){this.isDigitizing&&(a.charCode?a.charCode:a.keyCode?a.keyCode:a.which)==OpenLayers.Event.KEY_ESC&&this.cancelDigitization()},digitizePoint:function(a,b){this.isDigitizing&&this.cancelDigitization();var d=this.oMapOL.getControl(this.DRAW_CONTROL_POINT);null==d&&(d=new OpenLayers.Control.DrawFeature(this._getDigitizingLayer(),OpenLayers.Handler.Point,{id:this.DRAW_CONTROL_POINT,handlerOptions:{layerOptions:{styleMap:this.digitizingStyleMap}}}),
this.oMapOL.addControl(d));a&&a.prompt&&this._setDigitizationPrompt(a.prompt);this._activateDigitizer(d,this.DRAW_CONTROL_POINT,b)},digitizeLine:function(a,b){this.isDigitizing&&this.cancelDigitization();var d=this.oMapOL.getControl(this.DRAW_CONTROL_LINE);null==d&&(d=new OpenLayers.Control.DrawFeature(this._getDigitizingLayer(),OpenLayers.Handler.Path,{id:this.DRAW_CONTROL_LINE,handlerOptions:{maxVertices:2,freehandToggle:null,freehand:!1,persist:!0,style:"default",layerOptions:{styleMap:this.digitizingStyleMap}}}),
this.oMapOL.addControl(d));a&&a.prompt&&this._setDigitizationPrompt(a.prompt);this._activateDigitizer(d,this.DRAW_CONTROL_LINE,b)},digitizeLineString:function(a,b){this.isDigitizing&&this.cancelDigitization();var d=this.oMapOL.getControl(this.DRAW_CONTROL_LINESTR);null==d&&(d=new OpenLayers.Control.DrawFeature(this._getDigitizingLayer(),OpenLayers.Handler.Path,{id:this.DRAW_CONTROL_LINESTR,handlerOptions:{freehand:!1,persist:!0,style:"default",layerOptions:{styleMap:this.digitizingStyleMap}}}),this.oMapOL.addControl(d));
a&&a.prompt&&this._setDigitizationPrompt(a.prompt);this._activateDigitizer(d,this.DRAW_CONTROL_LINESTR,b)},digitizeRectangle:function(a,b){this.isDigitizing&&this.cancelDigitization();var d=this.oMapOL.getControl(this.DRAW_CONTROL_RECT);null==d&&(d=new OpenLayers.Control.DrawFeature(this._getDigitizingLayer(),OpenLayers.Handler.RegularPolygon,{id:this.DRAW_CONTROL_RECT,handlerOptions:{persist:!0,sides:4,irregular:!0,style:"default",layerOptions:{styleMap:this.digitizingStyleMap}}}),this.oMapOL.addControl(d));
a&&a.prompt&&this._setDigitizationPrompt(a.prompt);this._activateDigitizer(d,this.DRAW_CONTROL_RECT,b)},digitizePolygon:function(a,b){this.isDigitizing&&this.cancelDigitization();var d=this.oMapOL.getControl(this.DRAW_CONTROL_POLY);null==d&&(d=new OpenLayers.Control.DrawFeature(this._getDigitizingLayer(),OpenLayers.Handler.Polygon,{id:this.DRAW_CONTROL_POLY,handlerOptions:{freehand:!1,persist:!0,style:"default",layerOptions:{styleMap:this.digitizingStyleMap}}}),this.oMapOL.addControl(d));a&&a.prompt&&
this._setDigitizationPrompt(a.prompt);this._activateDigitizer(d,this.DRAW_CONTROL_POLY,b)},digitizeCircle:function(a,b){this.isDigitizing&&this.cancelDigitization();var d=this.oMapOL.getControl(this.DRAW_CONTROL_CIRCLE);null==d&&(d=new OpenLayers.Control.DrawFeature(this._getDigitizingLayer(),OpenLayers.Handler.RegularPolygon,{id:this.DRAW_CONTROL_CIRCLE,handlerOptions:{sides:40,layerOptions:{styleMap:this.digitizingStyleMap}}}),this.oMapOL.addControl(d));a&&a.prompt&&this._setDigitizationPrompt(a.prompt);
this._activateDigitizer(d,this.DRAW_CONTROL_CIRCLE,b)}});
Fusion.SelectionObject=OpenLayers.Class({aLayers:null,initialize:function(a){this.aLayers=[];this.nLayers=this.nTotalElements=0;if(a.layers&&0<a.layers.length){this.fMinX=a.extents.minx;this.fMinY=a.extents.miny;this.fMaxX=a.extents.maxx;this.fMaxY=a.extents.maxy;this.nLayers=a.layers.length;for(var b=0;b<a.layers.length;b++)this.aLayers[b]=new Fusion.SelectionObject.Layer(a,a.layers[b]),this.nTotalElements+=this.aLayers[b].getNumElements()}},getNumElements:function(){return this.nTotalElements},
getLowerLeftCoord:function(){return{x:this.fMinX,y:this.fMinY}},getUpperRightCoord:function(){return{x:this.fMaxX,y:this.fMaxY}},getNumLayers:function(){return this.nLayers},getLayerByName:function(a){for(var b=null,d=0;d<this.nLayers;d++)if(this.aLayers[d].getName()==a){b=this.aLayers[d];break}return b},getLayer:function(a){return 0<=a&&a<this.nLayers?this.aLayers[a]:null}});
Fusion.SelectionObject.Layer=OpenLayers.Class({name:null,nElements:null,aElements:null,nProperties:null,aPropertiesName:null,aPropertiesTypes:null,type:null,area:null,distance:null,bbox:null,center:null,initialize:function(a,b){this.name=b;this.nElements=a[b].numelements;this.aElements=[];this.nProperties=a[b].propertyvalues?a[b].propertyvalues.length:0;this.aPropertiesName=[];this.aPropertiesName=a[b].propertyvalues;this.aPropertiesTypes=[];this.aPropertiesTypes=a[b].propertytypes;for(var d=this.distance=
this.area=0;d<a[b].values.length;d++){this.aElements[d]=[];for(var e=0;e<a[b].values[d].length;e++)this.aElements[d][e]=a[b].values[d][e]}for(d=0;d<a[b].metadata.length;d++){var e=a[b].metadata[d],f=e[4];this.area+=parseFloat(e[3]);this.distance+=parseFloat(f)}},getName:function(){return this.name},getNumElements:function(){return this.nElements},getNumProperties:function(){return this.nProperties},getPropertyNames:function(){return this.aPropertiesName},getPropertyTypes:function(){return this.aPropertiesTypes},
getElementValue:function(a,b){return 0<=a&&a<this.nElements&&0<=b&&b<this.nProperties?this.aElements[a][b]:null}});
Fusion.MapMessage=OpenLayers.Class({parentNode:null,domObj:null,leadingIcon:null,textCell:null,message:"",infoIconName:"images/icons/info.png",warningIconName:"images/icons/warning.png",errorIconName:"images/icons/error.png",containerCssText:"position:absolute; z-index:10000; padding:10px; border:solid 2px #ECECEC; background:#FFFFBB",iconCssText:"margin-right:10px",textCellCssText:"width:100%; vertical-align:top; font: 8pt Tahoma",opacity:0.95,initialize:function(a){this.parentNode=$(a)},createBar:function(){if(!this.container){var a=
document.createElement("div");a.style.visibility="hidden";this.container=$(a);this.parentNode.appendChild(a)}this.container.style.cssText=this.containerCssText;this.container.style.left="10px";this.container.style.top="10px";this.container.innerHTML="";a=document.createElement("table");this.container.appendChild(a);a.style.width="100%";a.cellSpacing="0";a.cellPadding="0";a.border="0";var a=a.insertRow(0),b=a.insertCell(0),d=document.createElement("img");d.src=this.infoIconName;b.appendChild(d);d.style.cssText=
this.iconCssText;this.leadingIcon=d;b=a.insertCell(1);b.style.cssText=this.textCellCssText;this.textCell=$(b);this.textCell.innerHTML=this.message;this.refreshLayout();this.container.setOpacity(0);this.container.style.visibility="visible"},removeBar:function(){"undefined"!=typeof this.container&&null!=this.container&&(this.container.fade(0),window.setTimeout(function(){"undefined"!=typeof this.container&&null!=this.container&&(this.container.parentNode.removeChild(this.container),this.container=null)}.bind(this),
500))},info:function(a){this.message=a;this.show();this.leadingIcon.src=this.infoIconName},warn:function(a){this.message=a;this.show();this.leadingIcon.src=this.warningIconName},error:function(a){this.message=a;this.show();this.leadingIcon.src=this.errorIconName},clear:function(){this.message="";this.textCell.innerHTML="";this.hide()},show:function(){this.createBar();this.textCell.innerHTML=this.message;this.container.fade(this.opacity)},hide:function(){this.removeBar()},hideDesignatedMessage:function(a){a==
this.message&&this.removeBar()},refreshLayout:function(){"undefined"!=typeof this.container&&null!=this.container&&0<=this.parentNode.offsetWidth-44&&(this.container.style.width=this.parentNode.offsetWidth-44+"px")},CLASS_NAME:"Fusion.MapMessage"});Fusion.Event.MAP_LAYER_TOGGLED=Fusion.Event.lastEventId++;Fusion.Event.MAP_LAYER_ORDER_CHANGED=Fusion.Event.lastEventId++;Fusion.Event.LAYER_LOADED=Fusion.Event.lastEventId++;Fusion.Event.LAYER_LOADING=Fusion.Event.lastEventId++;
Fusion.Event.LAYER_START_EDIT=Fusion.Event.lastEventId++;Fusion.Event.LAYER_STOP_EDIT=Fusion.Event.lastEventId++;Fusion.Event.LAYER_DATA_FILTER=Fusion.Event.lastEventId++;Fusion.Event.LAYER_DATA_RELOAD=Fusion.Event.lastEventId++;Fusion.Event.LAYER_DATA_ADD=Fusion.Event.lastEventId++;Fusion.Event.LAYER_DATA_DELETE=Fusion.Event.lastEventId++;
Fusion.Layers=OpenLayers.Class(Fusion.Lib.EventMgr,{bSingleTile:null,bIsBaseLayer:!1,bDisplayInLegend:!0,bExpandInLegend:!0,bMapLoaded:!1,bIsMapWidgetLayer:!0,bLayersReversed:!1,sMapResourceId:null,sImageType:"png",clientAgent:"Fusion Viewer",noCache:!1,_sMapTitle:null,_sMapname:null,supports:{query:!1,edit:!1},initialize:function(a,b,d){this.registerEventID(Fusion.Event.MAP_SELECTION_ON);this.registerEventID(Fusion.Event.MAP_SELECTION_OFF);this.registerEventID(Fusion.Event.MAP_LOADED);this.registerEventID(Fusion.Event.LAYER_LOADED);
this.registerEventID(Fusion.Event.LAYER_LOADING);this.registerEventID(Fusion.Event.MAP_LAYER_ORDER_CHANGED);this.registerEventID(Fusion.Event.LAYER_PROPERTY_CHANGED);this.registerEventID(Fusion.Event.LAYER_START_EDIT);this.registerEventID(Fusion.Event.LAYER_STOP_EDIT);this.registerEventID(Fusion.Event.LAYER_DATA_FILTER);this.registerEventID(Fusion.Event.LAYER_DATA_RELOAD);this.registerEventID(Fusion.Event.LAYER_DATA_ADD);this.registerEventID(Fusion.Event.LAYER_DATA_DELETE);this.mapWidget=a;this.oSelection=
null;null!=d&&(this.bIsMapWidgetLayer=d);this.mapTag=b;this.mapTag.layerOptions||(this.mapTag.layerOptions={});this.ratio=this.mapTag.layerOptions.MapRatio?this.extension.MapRatio[0]:1;this.bSingleTile=b.singleTile;this.bIsBaseLayer=b.isBaseLayer;this.sMapResourceId=b.resourceId?b.resourceId:"";this.mapInfo=b.mapInfo;this.layerType=b.type;this.id=b.id},loadScaleRanges:function(a){a&&a()},getScale:function(){return this.mapWidget.getScale()},getMapName:function(){return this._sMapname},getMapTitle:function(){return this._sMapTitle},
getMetadata:function(a){return this.metadata&&"undefined"!=typeof this.metadata[a]?this.metadata[a]:""},isMapLoaded:function(){return this.bMapLoaded},getMaxExtent:function(){var a=null;this.oLayerOL&&(a=this.oLayerOL.maxExtent);return a},hasSelection:function(){return this.bSelectionOn},getSelectedFeatureCount:function(){return 0},getSelectedLayers:function(){return[]},getSelectableLayers:function(){return[]},setSelection:function(a,b){},getSelection:function(a,b,d){},clearSelection:function(){},
query:function(a){},processLayerEvents:function(a,b){if(this.mapInfo&&this.mapInfo.mapEvents.layerEvents[a.layerName])for(var d=this.mapInfo.mapEvents.layerEvents[a.layerName],d=b?d.onEnable:d.onDisable,e=0;e<d.length;e++){var f=d[e];if("layer"==f.type){var g=this.layerRoot.findLayer(f.name);g&&(f.enable?g.show(!0):g.hide(!0))}else"group"==f.type&&(g=this.layerRoot.findGroupByAttribute("groupName",f.name))&&(f.enable?g.show(!0):g.hide(!0))}},processGroupEvents:function(a,b){if(this.mapInfo&&this.mapInfo.mapEvents.groupEvents[a.groupName])for(var d=
this.mapInfo.mapEvents.groupEvents[a.groupName],d=b?d.onEnable:d.onDisable,e=0;e<d.length;e++){var f=d[e];if("layer"==f.type){var g=this.layerRoot.findLayer(f.name);g&&(f.enable?g.show(!0):g.hide(!0))}else"group"==f.type&&(g=this.layerRoot.findGroupByAttribute("groupName",f.name))&&(f.enable?g.show(!0):g.hide(!0))}},refreshLayer:function(a){this.drawMap()},setParameter:function(a,b){"SelectionType"==a&&(this.selectionType=b)},loadStart:function(){this.bIsMapWidgetLayer&&this.mapWidget._addWorker()},
loadEnd:function(){this.bIsMapWidgetLayer&&this.mapWidget._removeWorker()},getGroupInfoUrl:function(a){if(this.mapInfo)for(var b=this.mapInfo.links.groups,d=0;d<b.length;d++)if(b[d].name==a)return b[d].url;return null},getLayerInfoUrl:function(a){if(this.mapInfo)for(var b=this.mapInfo.links.layers,d=0;d<b.length;d++)if(b[d].name==a)return b[d].url;return null},getMapTip:function(a){},startEditing:function(){},stopEditing:function(){}});Fusion.Event.GROUP_PROPERTY_CHANGED=Fusion.Event.lastEventId++;
Fusion.Layers.Group=OpenLayers.Class(Fusion.Lib.EventMgr,{name:null,groups:null,layers:null,oMap:null,initialize:function(a,b){this.uniqueId=a.uniqueId;this.name=a.groupName;this.groups=[];this.layers=[];this.oMap=b;this.groupName=a.groupName;this.legendLabel=a.legendLabel;this.parentUniqueId=a.parentUniqueId;this.groupType=a.groupType;this.displayInLegend=a.displayInLegend;this.expandInLegend=a.expandInLegend;this.initiallyVisible=this.visible=a.visible;this.actuallyVisible=a.actuallyVisible;this.isBaseMapGroup=
a.isBaseMapGroup;this.registerEventID(Fusion.Event.GROUP_PROPERTY_CHANGED)},show:function(a){this.visible||(this.oMap.showGroup(this,a?!0:!1),this.set("visible",!0),this.legend&&this.legend.treeItem&&this.legend.treeItem.checkBox&&(this.legend.treeItem.checkBox.checked=!0))},hide:function(a){this.visible&&(this.oMap.hideGroup(this,a?!0:!1),this.set("visible",!1),this.legend&&this.legend.treeItem&&this.legend.treeItem.checkBox&&(this.legend.treeItem.checkBox.checked=!1))},isVisible:function(){return this.visible},
clear:function(){for(var a=0;a<this.groups.length;a++)this.groups[a].clear();for(a=0;a<this.layers.length;a++)this.layers[a].clear();this.groups=[];this.layers=[]},set:function(a,b){this[a]=b;this.triggerEvent(Fusion.Event.GROUP_PROPERTY_CHANGED,this)},addGroup:function(a,b){a.parentGroup=this;b?this.groups.unshift(a):this.groups.push(a)},addLayer:function(a,b){a.parentGroup=this;b?this.layers.unshift(a):this.layers.push(a)},findGroup:function(a){return this.findGroupByAttribute("uniqueId",a)},findGroupByAttribute:function(a,
b){if(this[a]==b)return this;for(var d=0;d<this.groups.length;d++){var e=this.groups[d].findGroupByAttribute(a,b);if(e)return e}return null},findLayer:function(a){return this.findLayerByAttribute("name",a)},findLayerByAttribute:function(a,b){for(var d=0;d<this.layers.length;d++)if(this.layers[d][a]==b)return this.layers[d];for(d=0;d<this.groups.length;d++){var e=this.groups[d].findLayerByAttribute(a,b);if(e)return e}return null},deleteLayer:function(a){for(var b=0;b<this.layers.length;b++)this.layers[b].uniqueId==
a&&this.layers.splice(b,1);for(b=0;b<this.groups.length;b++)this.groups[b].deleteLayer(a)}});Fusion.Event.LAYER_PROPERTY_CHANGED=Fusion.Event.lastEventId++;
Fusion.Layers.Layer=OpenLayers.Class(Fusion.Lib.EventMgr,{name:null,scaleRanges:null,oMap:null,initialize:function(a,b){this.oMap=b;this.layerName=a.layerName;this.uniqueId=a.uniqueId;this.resourceId=a.resourceId;this.selectedFeatureCount=0;this.layerTypes=[].concat(a.layerTypes);this.legendLabel=a.legendLabel;this.displayInLegend=a.displayInLegend;this.expandInLegend=a.expandInLegend;this.actuallyVisible=a.actuallyVisible;this.statusDefault=a.statusdefault;this.feature=OpenLayers.Util.extend({},
a.feature);this.attribute=OpenLayers.Util.extend({},a.attribute);this.editable=this.feature.create||this.feature.update||this.feature.del||this.attribute.create||this.attribute.update||this.attribute.del;this.isEditing=!1;this.initiallyVisible=this.visible=a.visible;this.selectable=a.selectable;this.metadata=a.metadata?a.metadata:{};this.isBaseMapLayer=a.isBaseMapLayer;this.layerType=null;this.supportsType(Fusion.Constant.LAYER_RASTER_TYPE)?this.layerType=Fusion.Constant.LAYER_RASTER_TYPE:this.supportsType(Fusion.Constant.LAYER_DWF_TYPE)&&
(this.layerType=Fusion.Constant.LAYER_DWF_TYPE);this.parentGroup=a.parentGroup;this.minScale=a.minScale;this.maxScale=a.maxScale;"infinity"==this.maxScale&&(this.maxScale=1E12);this.scaleRanges=[];if(a.scaleRanges)for(var d=0;d<a.scaleRanges.length;d++){var e=new Fusion.Layers.ScaleRange(a.scaleRanges[d],this.layerType);this.scaleRanges.push(e)}},supportsType:function(a){for(var b=0;b<this.layerTypes.length;b++)if(this.layerTypes[b]==a)return!0;return!1},getScaleRange:function(a){for(var b=0;b<this.scaleRanges.length;b++)if(this.scaleRanges[b].contains(a))return this.scaleRanges[b];
return null},show:function(a){this.visible||(this.set("visible",!0),this.oMap.showLayer(this,a?!0:!1),this.legend&&this.legend.treeItem&&this.legend.treeItem.checkBox&&(this.legend.treeItem.checkBox.checked=!0))},hide:function(a){this.visible&&(this.set("visible",!1),this.oMap.hideLayer(this,a?!0:!1),this.legend&&this.legend.treeItem&&this.legend.treeItem.checkBox&&(this.legend.treeItem.checkBox.checked=!1))},isVisible:function(){return this.visible},clear:function(){},set:function(a,b){this[a]=b;
this.oMap.triggerEvent(Fusion.Event.LAYER_PROPERTY_CHANGED,this)},startEditing:function(){this.oMap.supports.edit&&this.editable&&!this.isEditing&&(this.isEditing=!0,this.oMap.triggerEvent(Fusion.Event.LAYER_START_EDIT,this))},stopEditing:function(){this.oMap.supports.edit&&this.editable&&this.isEditing&&(this.isEditing=!1,this.oMap.triggerEvent(Fusion.Event.LAYER_STOP_EDIT,this))},hasWFSConnection:function(){return void 0!=this.metadata.wfs_onlineresource&&""!=this.metadata.wfs_onlineresource},getWFSConnection:function(a){var b=
this;if(this.hasWFSConnection())if(this.wfsConnection)a&&a.apply(null,[this.wfsConnection]);else{var d=this.metadata.wfs_version||"1.1.0",e=this.metadata.wfs_typename||this.name;OpenLayers.Request.GET({url:this.metadata.wfs_onlineresource,params:{service:"WFS",version:d,request:"GetCapabilities"},callback:function(f){(new OpenLayers.Format.WFSCapabilities).read(f.responseText);OpenLayers.Request.GET({url:b.metadata.wfs_onlineresource,params:{service:"WFS",version:d,request:"DescribeFeatureType",typename:e},
callback:function(f){if(200==f.status&&(f=(new OpenLayers.Format.WFSDescribeFeatureType).read(f.responseText),f.featureTypes.length)){f=f.featureTypes[0].properties;b.metadata.wfs_properties=f;if(!b.metadata.wfs_geometry)for(var h=0;h<f.length;h++){var l=f[h];if("GeometryPropertyType"==l.localType){b.metadata.wfs_geometry=l.name;b.metadata.wfs_geometrytype=l.type;break}}b.wfsConnection=new OpenLayers.Protocol.WFS({url:b.metadata.wfs_onlineresource,version:d,featureType:e,geometryName:b.metadata.wfs_geometry,
srsName:b.oMap.oLayerOL.projection?b.oMap.oLayerOL.projection.getCode():"4326"})}a&&a.apply(null,[b.wfsConnection])}})}})}}});
Fusion.Layers.ScaleRange=OpenLayers.Class({styles:null,initialize:function(a,b,d){this.minScale=a.minScale;this.maxScale=a.maxScale;this.isCompressed=a.isCompressed;if("infinity"==this.maxScale||"auto"==this.maxScale)this.maxScale=Infinity;this.styles=[];if(a.styles){b=1<a.styles.length?!1:b;for(var e=0;e<a.styles.length;e++)f=new Fusion.Layers.StyleItem(a.styles[e],b,d),a.styles[e].imageData&&(f.iconOpt={url:a.styles[e].imageData,width:d.width,height:d.height}),this.styles.push(f)}else{var f=new Fusion.Layers.StyleItem({legendLabel:d.label},
b,d);this.styles.push(f)}},contains:function(a){a=Math.round(a);return a>=this.minScale&&a<=this.maxScale}});
Fusion.Layers.StyleItem=OpenLayers.Class({clientAgent:"Fusion Viewer",initialize:function(a,b,d){this.iconOpt=d;this.iconX=a.icon_x||0;this.iconY=a.icon_y||0;this.legendLabel=a.legendLabel;this.filter=a.filter;this.geometryType=a.geometryType;""==this.geometryType&&(this.geometryType=-1);this.categoryIndex=a.categoryIndex;""==this.categoryindex&&(this.categoryindex=-1);this.index=a.index;this.staticIcon=b}});
Fusion.Strings.en={scriptFailed:"failed to load script: ${script}",configParseError:"Error parsing fusion configuration file, initialization aborted",configLoadError:"Error loading fusion configuration file, initialization aborted.Make sure that you have copied config_dist.json to config.json and have configured the settings for your system",pingFailure:"Failed to keep session alive: ${message}",sessionExpired:"Your current MapGuide session has expired",reload:"Reload this application",createSessionFailure:"Failed to create session: ${message}",
ajaxError:"Exception occurred in AJAX callback.\nMessage: ${exception}\nLocation: ${filename} (${line})\nInner Stack: ${innerStack}\nResponse: ${response}",detailedErrorTemplateHtml:"<h3>${name}</h3><br/>Error Details:<pre>${message}</pre><br/>Stack Trace:<br/><pre>${stacktrace}</pre><br/>Source: <pre>${source}</pre>",importFailed:"failed to import stylesheet: ${url}",serverNotAvailable:"<h2>Server not available. Try to reload the application. If this problem persists, please contact the administrator</h2>",
invalidXMLDocument:"xml2json: invalid XML document: ${msg} : ${url}",registerEventError:"Error registering eventID, invalid (empty) eventID.",appDefLoadFailed:"failed to load: ${script}",appDefParseError:"failed to parse ApplicationDefinition",widgetSetParseError:"failed to parse the WidgetSet",fusionError:"Fusion Error: ${type}\n${message}",nullExtents:"Map.setExtents called with null extents",mapLoadError:"Failed to load requested map:\n${error}",setLayersError:"setLayers failure: ${error}",printTitle:"Printable Page ",
noSelection:"No features selected",selectionInfo:"${features} feature(s) selected on ${layers} layer(s)",attribute:"Attribute",value:"Value",stop:"Stop",taskHome:"return to the task pane home",prevTask:"go to previous task executed",nextTask:"go to next task executed",taskList:"Task List",taskPane:"Task Pane",imperial:"Imperial",metric:"Metric",deg:"Degrees",refresh:"Refresh",expandAll:"Expand All",expand:"Expand",expandTheme:"Expand Theme",otherThemeItems:"... (${count} other styles)",expandCompressedThemeConfirmation:"Expand this theme?",
collapseAll:"Collapse All",collapse:"Collapse",defaultMapTitle:"Map",legendTitle:"Legend",selectionPanelTitle:"Selection",ovmapTitle:"Overview Map",ovmapTitleShort:"Overview",taskPaneTitle:"Tasks",segment:"Segment ${seg}",calculating:"calculating ...",panWest:"Pan West",panEast:"Pan East",panSouth:"Pan South",panNorth:"Pan North",zoomOut:"Zoom Out",zoomIn:"Zoom In",printCancel:"Cancel",printGenerate:"Generate",zoomRect:"Zoom Rectangle",maptipLinkText:"Click for more information",redlineLayerName:"Digitizing Layer ",
printShowTitle:"Show Title?",printOptions:"Options",printTitleText:"Title",printShowLegend:"Show Legend?",printShowNorthArrow:"Show North Arrow?",quickPlotResolutionWarning:"The current settings exceed the map resolution. Zooming out or increasing the scaling will help create a more legible plot",googleSteetViewCSTransformError:"The CS of Current Map Cannot be transformed to EPSG:4326, which will result in Google Street View fail!",googleSteetViewNotAvailableError:"The Service of Google Street View may not available in this specific location!",
googleBaseMapNotOnError:"To use Google Street Viewer, the Google Base Map must be turned on!",noCommercialMapLayers:"NONE",googleStreet:"Google Street",googleSatellite:"Google Satellite",googleTerrain:"Google Terrain",googleHybrid:"Google Hybrid",yahooStreet:"Yahoo Street",yahooSatellite:"Yahoo Satellite",yahooHybrid:"Yahoo Hybrid",bingStreet:"Bing Street",bingSatellite:"Bing Satellite",bingHybrid:"Bing Hybrid",openStreetMap:"Open Street Map",openStreetMapTransportMap:"Open Street Map (TransportMap)",
openStreetMapCycleMap:"Open Street Map (CycleMap)",end:"",currentPositionOutsideInitialView:"Your position is outside of the initial view of the map",currentPositionOutsideMaxExtent:"Your position is outside of the maximum extent of the map",measureInProgress:"Measurement is currently in progress",selectPolygonPrompt:"Click to add a vertex to the selection polygon. Double click to complete the polygon and select all features with it",selectRadiusPrompt:"Click and drag to the desired radius to select"};
OpenLayers.Lang.ar=OpenLayers.Util.applyDefaults({Permalink:"وصلة دائمة","Base Layer":"الطبقة الاساسية","Scale = 1 : ${scaleDenom}":"النسبة = 1 : ${scaleDenom}",W:"غ",E:"شر",N:"شم",S:"ج"});
OpenLayers.Lang["be-tarask"]=OpenLayers.Util.applyDefaults({unhandledRequest:"Неапрацаваны вынік запыту ${statusText}",Permalink:"Сталая спасылка",Overlays:"Слаі","Base Layer":"Базавы слой",noFID:"Немагчыма абнавіць магчымасьць, для якога не існуе FID.",browserNotSupported:"Ваш браўзэр не падтрымлівае вэктарную графіку. У цяперашні момант падтрымліваюцца: ${renderers}",minZoomLevelError:"Уласьцівасьць minZoomLevel прызначана толькі для выкарыстаньня са слаямі вытворнымі ад FixedZoomLevels. Тое, што  гэты wfs-слой правяраецца на minZoomLevel — рэха прошлага. Але мы ня можам выдаліць гэтую магчымасьць, таму што ад яе залежаць некаторыя заснаваныя на OL дастасаваньні. Тым ня менш, праверка minZoomLevel будзе выдаленая ў вэрсіі 3.0. Калі ласка, выкарыстоўваеце замест яе ўстаноўкі мінімальнага/максымальнага памераў, як апісана тут: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"WFS-транзакцыя: ПОСЬПЕХ ${response}",commitFailed:"WFS-транзакцыя: ПАМЫЛКА ${response}",googleWarning:"Не атрымалася загрузіць слой Google. <br><br>Каб пазбавіцца гэтага паведамленьня, выберыце новы базавы слой у сьпісе ў верхнім правым куце.<br><br> Хутчэй за ўсё, прычына ў тым, што скрыпт бібліятэкі Google Maps ня быў уключаныя альбо не ўтрымлівае слушны API-ключ для Вашага сайта.<br><br>Распрацоўшчыкам: Для таго, каб даведацца як зрабіць так, каб усё працавала, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>націсьніце тут</a>",
getLayerWarning:"Немагчыма загрузіць слой ${layerType}.<br><br>Каб пазбавіцца гэтага паведамленьня, выберыце новы базавы слой у сьпісе ў верхнім правым куце.<br><br>Хутчэй за ўсё, прычына ў тым, што скрыпт бібліятэкі ${layerLib} ня быў слушна ўключаны.<br><br>Распрацоўшчыкам: Для таго, каб даведацца як зрабіць так, каб усё працавала, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>націсьніце тут</a>","Scale = 1 : ${scaleDenom}":"Маштаб = 1 : ${scaleDenom}",W:"З",E:"У",N:"Пн",
S:"Пд",reprojectDeprecated:"Вы выкарыстоўваеце ўстаноўку 'reproject' для слоя ${layerName}. Гэтая ўстаноўка зьяўляецца састарэлай: яна выкарыстоўвалася для падтрымкі паказу зьвестак на камэрцыйных базавых мапах, але гэта функцыя цяпер рэалізаваная ў убудаванай падтрымцы сфэрычнай праекцыі Мэркатара. Дадатковая інфармацыя ёсьць на http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Гэты мэтад састарэлы і будзе выдалены ў вэрсіі 3.0. Калі ласка, замест яго выкарыстоўвайце ${newMethod}."});
OpenLayers.Lang.bg=OpenLayers.Util.applyDefaults({Permalink:"Постоянна препратка","Base Layer":"Основен слой","Scale = 1 : ${scaleDenom}":"Мащаб = 1 : ${scaleDenom}",methodDeprecated:"Този метод е остарял и ще бъде премахват в 3.0. Вместо него използвайте ${newMethod}."});
OpenLayers.Lang.br=OpenLayers.Util.applyDefaults({unhandledRequest:"Distro evel reked anveret ${statusText}",Permalink:"Peurliamm",Overlays:"Gwiskadoù","Base Layer":"Gwiskad diazez",noFID:"N'haller ket hizivaat un elfenn ma n'eus ket a niverenn-anaout (FID) eviti.",browserNotSupported:"N'eo ket skoret an daskor vektorel gant ho merdeer. Setu aze an daskorerioù skoret evit ar poent :\n${renderers}",minZoomLevelError:"Ne zleer implijout ar perzh minZoomLevel nemet evit gwiskadoù FixedZoomLevels-descendent. Ar fed ma wiria ar gwiskad WHS-se hag-eñ ez eus eus minZoomLevel zo un aspadenn gozh. Koulskoude n'omp ket evit e ziverkañ kuit da derriñ arloadoù diazezet war OL a c'hallfe bezañ stag outañ. Setu perak eo dispredet -- Lamet kuit e vo ar gwiriañ minZoomLevel a-is er stumm 3.0. Ober gant an arventennoù bihanañ/brasañ evel deskrivet amañ e plas : http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"Treuzgread WFS : MAT EO ${response}",commitFailed:"Treuzgread WFS Transaction: C'HWITET ${response}",googleWarning:"N'eus ket bet gallet kargañ ar gwiskad Google ent reizh.<br><br>Evit en em zizober eus ar c'hemenn-mañ, dibabit ur BaseLayer nevez en diuzer gwiskadoù er c'horn dehoù el laez.<br><br>Sur a-walc'h eo peogwir n'eo ket bet ensoc'het levraoueg Google Maps pe neuze ne glot ket an alc'hwez API gant ho lec'hienn.<br><br>Diorroerien : Evit reizhañ an dra-se, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>click here</a>",
getLayerWarning:"N'haller ket kargañ ar gwiskad ${layerType} ent reizh.<br><br>Evit en em zizober eus ar c'hemenn-mañ, dibabit ur BaseLayer nevez en diuzer gwiskadoù er c'horn dehoù el laez.<br><br>Sur a-walc'h eo peogwir n'eo ket bet ensoc'het mat al levraoueg ${layerLib}.<br><br>Diorroerien : Evit gouzout penaos reizhañ an dra-se, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>click here</a>","Scale = 1 : ${scaleDenom}":"Skeul = 1 : ${scaleDenom}",W:"K",E:"R",N:"N",S:"S",
reprojectDeprecated:"Emaoc'h oc'h implijout an dibarzh 'reproject' war ar gwiskad ${layerName}. Dispredet eo an dibarzh-mañ : bet eo hag e talveze da ziskwel roadennoù war-c'horre kartennoù diazez kenwerzhel, un dra hag a c'haller ober bremañ gant an arc'hwel dre skor banndres boullek Mercator. Muioc'h a ditouroù a c'haller da gaout war http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Dispredet eo an daore-se ha tennet e vo kuit eus ar stumm 3.0. Grit gant ${newMethod} e plas."});
OpenLayers.Lang.ca={unhandledRequest:"Resposta a petició no gestionada ${statusText}",Permalink:"Enllaç permanent",Overlays:"Capes addicionals","Base Layer":"Capa Base",noFID:"No es pot actualitzar un element per al que no existeix FID.",browserNotSupported:"El seu navegador no suporta renderització vectorial. Els renderitzadors suportats actualment són:\n${renderers}",minZoomLevelError:"La propietat minZoomLevel s'ha d'utilitzar només amb les capes que tenen FixedZoomLevels. El fet que una capa wfs comprovi minZoomLevel és una relíquia del passat. No podem, però, eliminar-la sense trencar les aplicacions d'OpenLayers que en puguin dependre. Així doncs estem fent-la obsoleta -- la comprovació minZoomLevel s'eliminarà a la versió 3.0. Feu servir els paràmetres min/max resolution en substitució, tal com es descriu aquí: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"Transacció WFS: CORRECTA ${response}",commitFailed:"Transacció WFS: HA FALLAT ${response}",googleWarning:"La capa Google no s'ha pogut carregar correctament.<br><br>Per evitar aquest missatge, seleccioneu una nova Capa Base al gestor de capes de la cantonada superior dreta.<br><br>Probablement això és degut a que l'script de la biblioteca de Google Maps no ha estat inclòs a la vostra pàgina, o no conté la clau de l'API correcta per a la vostra adreça.<br><br>Desenvolupadors: Per obtenir consells sobre com fer anar això, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>féu clic aquí</a>",
getLayerWarning:"Per evitar aquest missatge, seleccioneu una nova Capa Base al gestor de capes de la cantonada superior dreta.<br><br>Probablement això és degut a que l'script de la biblioteca ${layerLib} no ha estat inclòs a la vostra pàgina.<br><br>Desenvolupadors: Per obtenir consells sobre com fer anar això, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>féu clic aquí</a>","Scale = 1 : ${scaleDenom}":"Escala = 1 : ${scaleDenom}",W:"O",E:"E",N:"N",S:"S",Graticule:"Retícula",
reprojectDeprecated:"Esteu fent servir l'opció 'reproject' a la capa ${layerName}. Aquesta opció és obsoleta: el seu ús fou concebut per suportar la visualització de dades sobre mapes base comercials, però ara aquesta funcionalitat s'hauria d'assolir mitjançant el suport de la projecció Spherical Mercator. Més informació disponible a http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Aquest mètode és obsolet i s'eliminarà a la versió 3.0. Si us plau feu servir em mètode alternatiu ${newMethod}.",
end:""};
OpenLayers.Lang["cs-CZ"]=OpenLayers.Util.applyDefaults({unhandledRequest:"Nezpracovaná návratová hodnota ${statusText}",Permalink:"Trvalý odkaz",Overlays:"Překryvné vrstvy","Base Layer":"Podkladové vrstvy",noFID:"Nelze aktualizovat prvek, pro který neexistuje FID.",browserNotSupported:"Váš prohlížeč nepodporuje vykreslování vektorů. Momentálně podporované nástroje jsou::\n${renderers}",minZoomLevelError:"Vlastnost minZoomLevel by se měla používat pouze s potomky FixedZoomLevels vrstvami. To znamená, že vrstva wfs kontroluje, zda-li minZoomLevel není zbytek z minulosti.Nelze to ovšem vyjmout bez možnosti, že bychom rozbili aplikace postavené na OL, které by na tom mohly záviset. Proto tuto vlastnost nedoporučujeme používat --  kontrola minZoomLevel bude odstraněna ve verzi 3.0. Použijte prosím raději nastavení min/max podle příkaldu popsaného na: http://trac.openlayers.org/wiki/SettingZoomLevels",commitSuccess:"WFS Transaction: ÚSPĚCH ${response}",
commitFailed:"WFS Transaction: CHYBA ${response}",googleWarning:"Nepodařilo se správně načíst vrstvu Google.<br><br>Abyste se zbavili této zprávy, zvolte jinou základní vrstvu v přepínači vrstev.<br><br>To se většinou stává, pokud nebyl načten skript, nebo neobsahuje správný klíč pro API pro tuto stránku.<br><br>Vývojáři: Pro pomoc, aby tohle fungovalo , <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>klikněte sem</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 either 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 = 1 : ${scaleDenom}":"Měřítko = 1 : ${scaleDenom}",reprojectDeprecated:"Použil jste volbu 'reproject' ve vrstvě ${layerName}. Tato volba není doporučená: byla zde proto, aby bylo možno zobrazovat data z okomerčních serverů, ale tato funkce je nyní zajištěna pomocí podpory Spherical Mercator. Více informací naleznete na http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Tato metoda je zavržená a bude ve verzi 3.0 odstraněna. Prosím, použijte raději ${newMethod}."});
OpenLayers.Lang["da-DK"]={unhandledRequest:"En ikke håndteret forespørgsel returnerede ${statusText}",Permalink:"Permalink",Overlays:"Kortlag","Base Layer":"Baggrundslag",noFID:"Kan ikke opdateret en feature (et objekt) der ikke har et FID.",browserNotSupported:"Din browser understøtter ikke vektor visning. Følgende vektor visninger understøttes:\n${renderers}",minZoomLevelError:"Egenskaben minZoomLevel er kun beregnet til brug med FixedZoomLevels. At dette WFS lag kontrollerer minZoomLevel egenskaben, er et levn fra en tidligere version. Vi kan desværre ikke fjerne dette uden at risikere at ødelægge eksisterende OL baserede programmer der  benytter denne funktionalitet. Egenskaben bør derfor ikke anvendes, og minZoomLevel kontrollen herunder vil blive fjernet i version 3.0. Benyt istedet min/max opløsnings indstillingerne, som er beskrevet her: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"WFS transaktion: LYKKEDES ${response}",commitFailed:"WFS transaktion: MISLYKKEDES ${response}",googleWarning:"Google laget kunne ikke indlæses.<br><br>For at fjerne denne besked, vælg et nyt bagrundskort i lagskifteren i øverste højre hjørne.<br><br>Fejlen skyldes formentlig at Google Maps bibliotekts scriptet ikke er inkluderet, eller ikke indeholder den korrkte API nøgle for dit site.<br><br>Udviklere: For hjælp til at få dette til at fungere, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>klik her</a>",
getLayerWarning:"${layerType}-laget kunne ikke indlæses.<br><br>For at fjerne denne besked, vælg et nyt bagrundskort i lagskifteren i øverste højre hjørne.<br><br>Fejlen skyldes formentlig at ${layerLib} bibliotekts scriptet ikke er inkluderet.<br><br>Udviklere: For hjælp til at få dette til at fungere, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>klik her</a>","Scale = 1 : ${scaleDenom}":"Målforhold = 1 : ${scaleDenom}",reprojectDeprecated:"Du anvender indstillingen 'reproject' på laget ${layerName}.Denne indstilling bør ikke længere anvendes. Den var beregnet til at vise data ovenpå kommercielle grundkort, men den funktionalitet bør nu opnås ved at anvende Spherical Mercator understøttelsen. Mere information er tilgængelig her: http://trac.openlayers.org/wiki/SphericalMercator.",
methodDeprecated:"Denne funktion bør ikke længere anvendes, og vil blive fjernet i version 3.0. Anvend venligst funktionen ${newMethod} istedet."};
OpenLayers.Lang.de=OpenLayers.Util.applyDefaults({unhandledRequest:"Unbehandelte Anfragerückmeldung ${statusText}",Permalink:"Permalink",Overlays:"Overlays","Base Layer":"Grundkarte",noFID:"Ein Feature, für das keine FID existiert, kann nicht aktualisiert werden.",browserNotSupported:"Ihr Browser unterstützt keine Vektordarstellung. Aktuell unterstützte Renderer:\n${renderers}",minZoomLevelError:"Die <code>minZoomLevel</code>-Eigenschaft ist nur für die Verwendung mit <code>FixedZoomLevels</code>-untergeordneten Layers vorgesehen. Das dieser <tt>wfs</tt>-Layer die <code>minZoomLevel</code>-Eigenschaft überprüft ist ein Relikt der Vergangenheit. Wir können diese Überprüfung nicht entfernen, ohne das OL basierende Applikationen nicht mehr funktionieren. Daher markieren wir es als veraltet - die <code>minZoomLevel</code>-Überprüfung wird in Version 3.0 entfernt werden. Bitte verwenden Sie stattdessen die Min-/Max-Lösung, wie sie unter http://trac.openlayers.org/wiki/SettingZoomLevels beschrieben ist.",
commitSuccess:"WFS-Transaktion: Erfolgreich ${response}",commitFailed:"WFS-Transaktion: Fehlgeschlagen ${response}",googleWarning:"Der Google-Layer konnte nicht korrekt geladen werden.<br><br>Um diese Meldung nicht mehr zu erhalten, wählen Sie einen anderen Hintergrundlayer aus dem LayerSwitcher in der rechten oberen Ecke.<br><br>Sehr wahrscheinlich tritt dieser Fehler auf, weil das Skript der Google-Maps-Bibliothek nicht eingebunden wurde oder keinen gültigen API-Schlüssel für Ihre URL enthält.<br><br>Entwickler: Besuche <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>das Wiki</a> für Hilfe zum korrekten Einbinden des Google-Layers",
getLayerWarning:"Der ${layerType}-Layer konnte nicht korrekt geladen werden.<br><br>Um diese Meldung nicht mehr zu erhalten, wählen Sie einen anderen Hintergrundlayer aus dem LayerSwitcher in der rechten oberen Ecke.<br><br>Sehr wahrscheinlich tritt dieser Fehler auf, weil das Skript der '${layerLib}'-Bibliothek nicht eingebunden wurde.<br><br>Entwickler: Besuche <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>das Wiki</a> für Hilfe zum korrekten Einbinden von Layern","Scale = 1 : ${scaleDenom}":"Maßstab = 1 : ${scaleDenom}",
W:"W",E:"O",N:"N",S:"S",reprojectDeprecated:"Sie verwenden die „Reproject“-Option des Layers ${layerName}. Diese Option ist veraltet: Sie wurde entwickelt um die Anzeige von Daten auf kommerziellen Basiskarten zu unterstützen, aber diese Funktion sollte jetzt durch Unterstützung der „Spherical Mercator“ erreicht werden. Weitere Informationen sind unter http://trac.openlayers.org/wiki/SphericalMercator verfügbar.",methodDeprecated:"Die Methode ist veraltet und wird in 3.0 entfernt. Bitte verwende stattdessen ${newMethod}."});
OpenLayers.Lang.el=OpenLayers.Util.applyDefaults({"Scale = 1 : ${scaleDenom}":"Κλίμακα ~ 1 : ${scaleDenom}"});OpenLayers.Lang["en-CA"]=OpenLayers.Util.applyDefaults({},OpenLayers.Lang.en);
OpenLayers.Lang.en={unhandledRequest:"Unhandled request return ${statusText}",Permalink:"Permalink",Overlays:"Overlays","Base Layer":"Base Layer",noFID:"Can't update a feature for which there is no FID.",browserNotSupported:"Your browser does not support vector rendering. Currently supported renderers are:\n${renderers}",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 = 1 : ${scaleDenom}":"Scale = 1 : ${scaleDenom}",W:"W",E:"E",N:"N",S:"S",Graticule:"Graticule",
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.",end:""};
OpenLayers.Lang.es={unhandledRequest:"Respuesta a petición no gestionada ${statusText}",Permalink:"Enlace permanente",Overlays:"Capas superpuestas","Base Layer":"Capa Base",noFID:"No se puede actualizar un elemento para el que no existe FID.",browserNotSupported:"Su navegador no soporta renderización vectorial. Los renderizadores soportados actualmente son:\n${renderers}",minZoomLevelError:"La propiedad minZoomLevel debe sólo utilizarse con las capas que tienen FixedZoomLevels. El hecho de que una capa wfs compruebe minZoomLevel es una reliquia del pasado. Sin embargo, no podemos eliminarla sin discontinuar probablemente las aplicaciones OL que puedan depender de ello. Así pues estamos haciéndolo obsoleto --la comprobación minZoomLevel se eliminará en la versión 3.0. Utilice el ajuste de resolution min/max en su lugar, tal como se describe aquí: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"Transacción WFS: ÉXITO ${response}",commitFailed:"Transacción WFS: FALLÓ ${response}",googleWarning:"La capa Google no pudo ser cargada correctamente.<br><br>Para evitar este mensaje, seleccione una nueva Capa Base en el selector de capas en la esquina superior derecha.<br><br>Probablemente, esto se debe a que el script de la biblioteca de Google Maps no fue correctamente incluido en su página, o no contiene la clave del API correcta para su sitio.<br><br>Desarrolladores: Para ayudar a hacer funcionar esto correctamente, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>haga clic aquí</a>",
getLayerWarning:"La capa ${layerType} no pudo ser cargada correctamente.<br><br>Para evitar este mensaje, seleccione una nueva Capa Base en el selector de capas en la esquina superior derecha.<br><br>Probablemente, esto se debe a que el script de la biblioteca ${layerLib} no fue correctamente incluido en su página.<br><br>Desarrolladores: Para ayudar a hacer funcionar esto correctamente, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>haga clic aquí</a>","Scale = 1 : ${scaleDenom}":"Escala = 1 : ${scaleDenom}",
W:"O",E:"E",N:"N",S:"S",Graticule:"Retícula",reprojectDeprecated:"Está usando la opción 'reproject' en la capa ${layerName}. Esta opción es obsoleta: su uso fue diseñado para soportar la visualización de datos sobre mapas base comerciales, pero ahora esa funcionalidad debería conseguirse mediante el soporte de la proyección Spherical Mercator. Más información disponible en http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Este método es obsoleto y se eliminará en la versión 3.0. Por favor utilice el método ${newMethod} en su lugar.",
end:""};OpenLayers.Lang.fi=OpenLayers.Util.applyDefaults({Permalink:"Ikilinkki",Overlays:"Kerrokset","Base Layer":"Peruskerros",W:"L",E:"I",N:"P",S:"E"});
OpenLayers.Lang.fr=OpenLayers.Util.applyDefaults({unhandledRequest:"Requête non gérée, retournant ${statusText}",Permalink:"Permalien",Overlays:"Calques","Base Layer":"Calque de base",noFID:"Impossible de mettre à jour un objet sans identifiant (fid).",browserNotSupported:"Votre navigateur ne supporte pas le rendu vectoriel. Les renderers actuellement supportés sont : \n${renderers}",minZoomLevelError:"La propriété minZoomLevel doit seulement être utilisée pour des couches FixedZoomLevels-descendent. Le fait que cette couche WFS vérifie la présence de minZoomLevel est une relique du passé. Nous ne pouvons toutefois la supprimer sans casser des applications qui pourraient en dépendre. C'est pourquoi nous la déprécions -- la vérification du minZoomLevel sera supprimée en version 3.0. A la place, merci d'utiliser les paramètres de résolutions min/max tel que décrit sur : http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"Transaction WFS : SUCCES ${response}",commitFailed:"Transaction WFS : ECHEC ${response}",googleWarning:"La couche Google n'a pas été en mesure de se charger correctement.<br><br>Pour supprimer ce message, choisissez une nouvelle BaseLayer dans le sélecteur de couche en haut à droite.<br><br>Cela est possiblement causé par la non-inclusion de la librairie Google Maps, ou alors parce que la clé de l'API ne correspond pas à votre site.<br><br>Développeurs : pour savoir comment corriger ceci, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>cliquez ici</a>",
getLayerWarning:"La couche ${layerType} n'est pas en mesure de se charger correctement.<br><br>Pour supprimer ce message, choisissez une nouvelle BaseLayer dans le sélecteur de couche en haut à droite.<br><br>Cela est possiblement causé par la non-inclusion de la librairie ${layerLib}.<br><br>Développeurs : pour savoir comment corriger ceci, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>cliquez ici</a>","Scale = 1 : ${scaleDenom}":"Echelle ~ 1 : ${scaleDenom}",W:"O",E:"E",
N:"N",S:"S",reprojectDeprecated:"Vous utilisez l'option 'reproject' sur la couche ${layerName}. Cette option est dépréciée : Son usage permettait d'afficher des données au dessus de couches raster commerciales.Cette fonctionalité est maintenant supportée en utilisant le support de la projection Mercator Sphérique. Plus d'information est disponible sur http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Cette méthode est dépréciée, et sera supprimée à la version 3.0. Merci d'utiliser ${newMethod} à la place."});
OpenLayers.Lang.fur=OpenLayers.Util.applyDefaults({Permalink:"Leam Permanent",Overlays:"Livei parsore","Base Layer":"Livel di base",browserNotSupported:"Il to sgarfadôr nol supuarte la renderizazion vetoriâl. Al moment a son supuartâts:\n${renderers}","Scale = 1 : ${scaleDenom}":"Scjale = 1 : ${scaleDenom}",W:"O",E:"E",N:"N",S:"S"});
OpenLayers.Lang.gl=OpenLayers.Util.applyDefaults({unhandledRequest:"Solicitude non xerada; a resposta foi: ${statusText}",Permalink:"Ligazón permanente",Overlays:"Capas superpostas","Base Layer":"Capa base",noFID:"Non se pode actualizar a funcionalidade para a que non hai FID.",browserNotSupported:"O seu navegador non soporta a renderización de vectores. Os renderizadores soportados actualmente son:\n${renderers}",minZoomLevelError:"A propiedade minZoomLevel é só para uso conxuntamente coas capas FixedZoomLevels-descendent. O feito de que esa capa wfs verifique o minZoomLevel é unha reliquia do pasado. Non podemos, con todo, eliminala sen a posibilidade de non romper as aplicacións baseadas en OL que poidan depender dela. Por iso a estamos deixando obsoleta (a comprobación minZoomLevel de embaixo será eliminada na versión 3.0). Por favor, no canto diso use o axuste de resolución mín/máx tal e como está descrito aquí: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"Transacción WFS: ÉXITO ${response}",commitFailed:"Transacción WFS: FALLIDA ${response}",googleWarning:"A capa do Google non puido cargarse correctamente.<br><br>Para evitar esta mensaxe, escolla unha nova capa base no seleccionador de capas na marxe superior dereita.<br><br>Probablemente, isto acontece porque a escritura da libraría do Google Maps ou ben non foi incluída ou ben non contén a clave API correcta para o seu sitio.<br><br>Desenvolvedores: para axudar a facer funcionar isto correctamente, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>premede aquí</a>",
getLayerWarning:"A capa ${layerType} foi incapaz de cargarse correctamente.<br><br>Para evitar esta mensaxe, escolla unha nova capa base no seleccionador de capas na marxe superior dereita.<br><br>Probablemente, isto acontece porque a escritura da libraría ${layerLib} non foi ben incluída.<br><br>Desenvolvedores: para axudar a facer funcionar isto correctamente, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>premede aquí</a>","Scale = 1 : ${scaleDenom}":"Escala = 1 : ${scaleDenom}",
W:"O",E:"L",N:"N",S:"S",reprojectDeprecated:'Está usando a opción "reproject" na capa ${layerName}. Esta opción está obsoleta: o seu uso foi deseñado para a visualización de datos sobre mapas base comerciais, pero esta funcionalidade debera agora ser obtida utilizando a proxección Spherical Mercator. Hai dispoñible máis información en http://trac.openlayers.org/wiki/SphericalMercator.',methodDeprecated:"Este método está obsoleto e será eliminado na versión 3.0. Por favor, no canto deste use ${newMethod}."});
OpenLayers.Lang.gsw=OpenLayers.Util.applyDefaults({unhandledRequest:"Nit behandleti Aafrogsruckmäldig ${statusText}",Permalink:"Permalink",Overlays:"Iberlagerige","Base Layer":"Grundcharte",noFID:"E Feature, wu s kei FID derfir git, cha nit aktualisiert wäre.",browserNotSupported:"Dyy Browser unterstitzt kei Vektordarstellig. Aktuäll unterstitzti Renderer:\n${renderers}",minZoomLevelError:"D minZoomLevel-Eigeschaft isch nume dänk fir d Layer, wu vu dr FixedZoomLevels abstamme. Ass dää wfs-Layer minZoomLevel prieft, scih e Relikt us dr Vergangeheit. Mir chenne s aber nit ändere ohni OL_basierti Aawändige villicht kaputt gehn, wu dervu abhänge.  Us däm Grund het die Funktion d Eigeschaft 'deprecated' iberchuu. D minZoomLevel-Priefig unte wird in dr Version 3.0 usegnuu. Bitte verwänd statt däm e min/max-Uflesig wie s do bschriben isch: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"WFS-Transaktion: ERFOLGRYCH ${response}",commitFailed:"WFS-Transaktion: FÄHLGSCHLAA ${response}",googleWarning:"Dr Google-Layer het nit korräkt chenne glade wäre.<br><br>Go die Mäldig nimi z kriege, wehl e andere Hintergrundlayer us em LayerSwitcher im rächte obere Ecke.<br><br>Dää Fähler git s seli hyfig, wel s Skript vu dr Google-Maps-Bibliothek nit yybunde woren isch oder wel s kei giltige API-Schlissel fir Dyy URL din het.<br><br>Entwickler: Fir Hilf zum korräkte Yybinde vum Google-Layer <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>doo drucke</a>",
getLayerWarning:"Dr ${layerType}-Layer het nit korräkt chenne glade wäre.<br><br>Go die Mäldig nimi z kriege, wehl e andere Hintergrundlayer us em LayerSwitcher im rächte obere Ecke.<br><br>Dää Fähler git s seli hyfig, wel s Skript vu dr '${layerLib}'-Bibliothek nit yybunde woren isch oder wel s kei giltige API-Schlissel fir Dyy URL din het.<br><br>Entwickler: Fir Hilf zum korräkte Yybinde vu Layer <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>doo drucke</a>","Scale = 1 : ${scaleDenom}":"Maßstab = 1 : ${scaleDenom}",
W:"W",E:"O",N:"N",S:"S",reprojectDeprecated:"Du bruchsch d 'reproject'-Option bim ${layerName}-Layer. Die Option isch nimi giltig: si isch aagleit wore go   Date iber kommerziälli Grundcharte lege, aber des sott mer jetz mache mit dr Unterstitzig vu Spherical Mercator. Meh Informatione git s uf http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Die Methode isch veraltet un wird us dr Version 3.0 usegnuu. Bitte verwäbnd statt däm ${newMethod}."});
OpenLayers.Lang.hr=OpenLayers.Util.applyDefaults({unhandledRequest:"Nepodržani zahtjev ${statusText}",Permalink:"Permalink",Overlays:"Overlays","Base Layer":"Osnovna karta",noFID:"Ne mogu ažurirati značajku za koju ne postoji FID.",browserNotSupported:"Vaš preglednik ne podržava vektorsko renderiranje. Trenutno podržani rendereri su: ${renderers}",commitSuccess:"WFS Transakcija: USPJEŠNA ${response}",commitFailed:"WFS Transakcija: NEUSPJEŠNA ${response}","Scale = 1 : ${scaleDenom}":"Mjerilo = 1 : ${scaleDenom}",
methodDeprecated:"Ova metoda nije odobrena i biti će maknuta u 3.0. Koristite ${newMethod}."});
OpenLayers.Lang.hsb=OpenLayers.Util.applyDefaults({unhandledRequest:"Wotmołwa njewobdźěłaneho naprašowanja ${statusText}",Permalink:"Trajny wotkaz",Overlays:"Naworštowanja","Base Layer":"Zakładna runina",noFID:"Funkcija, za kotruž FID njeje, njeda so aktualizować.",browserNotSupported:"Twój wobhladowak wektorowe rysowanje njepodpěruje. Tuchwilu podpěrowane rysowaki su:\n${renderers}",minZoomLevelError:"Kajkosć minZoomLevel je jenož za wužiwanje z worštami myslena, kotrež wot FixedZoomLevels pochadźeja. Zo tuta woršta wfs za minZoomLevel přepruwuje, je relikt zańdźenosće. Njemóžemy wšak ju wotstronić, bjeztoho zo aplikacije, kotrež na OpenLayers bazěruja a snano tutu kajkosć wužiwaja, hižo njefunguja. Tohodla smy ju jako zestarjenu woznamjenili -- přepruwowanje za minZoomLevel budu so we wersiji 3.0 wotstronjeć. Prošu wužij město toho nastajenje min/max, kaž je tu wopisane: http://trac.openlayers.org/wiki/SettingZoomLevels",commitSuccess:"WFS-Transakcija: WUSPĚŠNA ${response}",
commitFailed:"WFS-Transakcija: NJEPORADŹENA ${response}",googleWarning:"Woršta Google njemóžeše so korektnje začitać.<br><br>Zo by tutu zdźělenku wotbył, wubjer nowy BaseLayer z wuběra worštow horjeka naprawo.<br><br>Najskerje so to stawa, dokelž skript biblioteki Google Maps pak njebu zapřijaty pak njewobsahuje korektny kluč API za twoje sydło.<br><br>Wuwiwarjo: Za pomoc ke korektnemu fungowanju worštow\n<a href='http://trac.openlayers.org/wiki/Google' target='_blank'>tu kliknyć</a>",getLayerWarning:"Woršta ${layerType} njemóžeše so korektnje začitać.<br><br>Zo by tutu zdźělenku wotbył, wubjer nowy BaseLayer z wuběra worštow horjeka naprawo.<br><br>Najskerje so to stawa, dokelž skript biblioteki ${layerLib} njebu korektnje zapřijaty.<br><br>Wuwiwarjo: Za pomoc ke korektnemu fungowanju worštow\n<a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>tu kliknyć</a>",
"Scale = 1 : ${scaleDenom}":"Měritko = 1 : ${scaleDenom}",W:"Z",E:"W",N:"S",S:"J",reprojectDeprecated:'Wužiwaš opciju "reproject" wořšty ${layerName}. Tuta opcija je zestarjena: jeje wužiwanje bě myslene, zo by zwobraznjenje datow nad komercielnymi bazowymi kartami podpěrało, ale funkcionalnosć měła so nětko z pomocu Sperical Mercator docpěć. Dalše informacije steja na http://trac.openlayers.org/wiki/SphericalMercator k dispoziciji.',methodDeprecated:"Tuta metoda je so njeschwaliła a budźe so w 3.0 wotstronjeć. Prošu wužij ${newMethod} město toho."});
OpenLayers.Lang.hu=OpenLayers.Util.applyDefaults({unhandledRequest:"Nem kezelt kérés visszatérése ${statusText}",Permalink:"Permalink",Overlays:"Rávetítések","Base Layer":"Alapréteg",noFID:"Nem frissíthető olyan jellemző, amely nem rendelkezik FID-del.",browserNotSupported:"A böngészője nem támogatja a vektoros renderelést. A jelenleg támogatott renderelők:\n${renderers}",minZoomLevelError:"A minZoomLevel tulajdonságot csak a következővel való használatra szánták: FixedZoomLevels-leszármazott fóliák. Ez azt jelenti, hogy a minZoomLevel wfs fólia jelölőnégyzetei már a múlté. Mi azonban nem távolíthatjuk el annak a veszélye nélkül, hogy az esetlegesen ettől függő OL alapú alkalmazásokat tönkretennénk. Ezért ezt érvénytelenítjük -- a minZoomLevel az alul levő jelölőnégyzet a 3.0-s verzióból el lesz távolítva. Kérjük, helyette használja a  min/max felbontás beállítást, amelyről az alábbi helyen talál leírást: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"WFS tranzakció: SIKERES ${response}",commitFailed:"WFS tranzakció: SIKERTELEN ${response}",googleWarning:"A Google fólia betöltése sikertelen.<br><br>Ahhoz, hogy ez az üzenet eltűnjön, válasszon egy új BaseLayer fóliát a jobb felső sarokban található fóliakapcsoló segítségével.<br><br>Nagy valószínűséggel ez azért van, mert a Google Maps könyvtár parancsfájlja nem található, vagy nem tartalmazza az Ön oldalához tartozó megfelelő API-kulcsot.<br><br>Fejlesztőknek: A helyes működtetésre vonatkozó segítség az alábbi helyen érhető el, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>kattintson ide</a>",
getLayerWarning:"A(z) ${layerType} fólia nem töltődött be helyesen.<br><br>Ahhoz, hogy ez az üzenet eltűnjön, válasszon egy új BaseLayer fóliát a jobb felső sarokban található fóliakapcsoló segítségével.<br><br>Nagy valószínűséggel ez azért van, mert a(z) ${layerLib} könyvtár parancsfájlja helytelen.<br><br>Fejlesztőknek: A helyes működtetésre vonatkozó segítség az alábbi helyen érhető el, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>kattintson ide</a>","Scale = 1 : ${scaleDenom}":"Lépték = 1 : ${scaleDenom}",
W:"Ny",E:"K",N:"É",S:"D",reprojectDeprecated:"Ön a 'reproject' beállítást használja a(z) ${layerName} fólián. Ez a beállítás érvénytelen: használata az üzleti alaptérképek fölötti adatok megjelenítésének támogatására szolgált, de ezt a funkció ezentúl a Gömbi Mercator használatával érhető el. További információ az alábbi helyen érhető el: http://trac.openlayers.org/wiki/SphericalMercator",methodDeprecated:"Ez a módszer érvénytelenítve lett és a 3.0-s verzióból el lesz távolítva. Használja a(z) ${newMethod} módszert helyette."});
OpenLayers.Lang.ia=OpenLayers.Util.applyDefaults({unhandledRequest:"Le responsa a un requesta non esseva maneate: ${statusText}",Permalink:"Permaligamine",Overlays:"Superpositiones","Base Layer":"Strato de base",noFID:"Non pote actualisar un elemento sin FID.",browserNotSupported:"Tu navigator non supporta le rendition de vectores. Le renditores actualmente supportate es:\n${renderers}",minZoomLevelError:"Le proprietate minZoomLevel es solmente pro uso con le stratos descendente de FixedZoomLevels. Le facto que iste strato WFS verifica minZoomLevel es un reliquia del passato. Nonobstante, si nos lo remove immediatemente, nos pote rumper applicationes a base de OL que depende de illo. Ergo nos lo declara obsolete; le verification de minZoomLevel in basso essera removite in version 3.0. Per favor usa in su loco le configuration de resolutiones min/max como describite a: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"Transaction WFS: SUCCESSO ${response}",commitFailed:"Transaction WFS: FALLEVA ${response}",googleWarning:"Le strato Google non poteva esser cargate correctemente.<br><br>Pro disfacer te de iste message, selige un nove BaseLayer in le selector de strato in alto a dextra.<br><br>Multo probabilemente, isto es proque le script del libreria de Google Maps non esseva includite o non contine le clave API correcte pro tu sito.<br><br>Disveloppatores: Pro adjuta de corriger isto, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>clicca hic</a",
getLayerWarning:"Le strato ${layerType} non poteva esser cargate correctemente.<br><br>Pro disfacer te de iste message, selige un nove BaseLayer in le selector de strato in alto a dextra.<br><br>Multo probabilemente, isto es proque le script del libreria de ${layerLib} non esseva correctemente includite.<br><br>Disveloppatores: Pro adjuta de corriger isto, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>clicca hic</a>","Scale = 1 : ${scaleDenom}":"Scala = 1 : ${scaleDenom}",
W:"W",E:"E",N:"N",S:"S",reprojectDeprecated:"Tu usa le option 'reproject' in le strato ${layerName} layer. Iste option es obsolescente: illo esseva pro poter monstrar datos super cartas de base commercial, ma iste functionalitate pote ora esser attingite con le uso de Spherical Mercator. Ulterior information es disponibile a http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Iste methodo ha essite declarate obsolescente e essera removite in version 3.0. Per favor usa ${newMethod} in su loco."});
OpenLayers.Lang.id=OpenLayers.Util.applyDefaults({unhandledRequest:"Permintaan yang tak tertangani menghasilkan ${statusText}",Permalink:"Pranala permanen",Overlays:"Hamparan","Base Layer":"Lapisan Dasar",noFID:"Tidak dapat memperbarui fitur yang tidak memiliki FID.",browserNotSupported:"Peramban Anda tidak mendukung penggambaran vektor. Penggambar yang didukung saat ini adalah:\n${renderers}",minZoomLevelError:"Properti minZoomLevel hanya ditujukan bekerja dengan lapisan FixedZoomLevels-descendent. Pengecekan minZoomLevel oleh lapisan wfs adalah peninggalan masa lalu. Kami tidak dapat menghapusnya tanpa kemungkinan merusak aplikasi berbasis OL yang mungkin bergantung padanya. Karenanya, kami menganggapnya tidak berlaku -- Cek minZoomLevel di bawah ini akan dihapus pada 3.0. Silakan gunakan penyetelan resolusi min/maks seperti dijabarkan di sini: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"WFS Transaksi: BERHASIL ${respon}",commitFailed:"WFS Transaksi: GAGAL ${respon}",googleWarning:"Lapisan Google tidak dapat dimuat dengan benar.<br><br>Untuk menghilangkan pesan ini, pilih suatu BaseLayer baru melalui penukar lapisan (layer switcher) di ujung kanan atas.<br><br>Kemungkinan besar ini karena pustaka skrip Google Maps tidak disertakan atau tidak mengandung kunci API yang tepat untuk situs Anda.<br><br>Pengembang: Untuk bantuan mengatasi masalah ini, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>klik di sini</a>",
getLayerWarning:"Lapisan ${layerType} tidak dapat dimuat dengan benar.<br><br>Untuk menghilangkan pesan ini, pilih suatu BaseLayer baru melalui penukar lapisan (layer switcher) di ujung kanan atas.<br><br>Kemungkinan besar ini karena pustaka skrip Google Maps tidak disertakan dengan benar.<br><br>Pengembang: Untuk bantuan mengatasi masalah ini, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>klik di sini</a>","Scale = 1 : ${scaleDenom}":"Sekala = 1 : ${scaleDenom}",W:"B",E:"T",
N:"U",S:"S",reprojectDeprecated:"Anda menggunakan opsi 'reproject' pada lapisan ${layerName}. Opsi ini telah ditinggalkan: penggunaannya dirancang untuk mendukung tampilan data melalui peta dasar komersial, tapi fungsionalitas tersebut saat ini harus dilakukan dengan menggunakan dukungan Spherical Mercator. Informasi lebih lanjut tersedia di http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Metode ini telah usang dan akan dihapus di 3.0. Sebaliknya, harap gunakan ${newMethod}."});
OpenLayers.Lang.io=OpenLayers.Util.applyDefaults({"Scale = 1 : ${scaleDenom}":"Skalo = 1 : ${scaleDenom}"});OpenLayers.Lang.is=OpenLayers.Util.applyDefaults({Permalink:"Varanlegur tengill",Overlays:"Þekjur","Base Layer":"Grunnlag","Scale = 1 : ${scaleDenom}":"Skali = 1 : ${scaleDenom}",methodDeprecated:"Þetta fall hefur verið úrelt og verður fjarlægt í 3.0. Notaðu ${newMethod} í staðin."});
OpenLayers.Lang.it={unhandledRequest:"Codice di ritorno della richiesta ${statusText}",Permalink:"Permalink",Overlays:"Overlays","Base Layer":"Livello base",noFID:"Impossibile aggiornare un elemento grafico che non abbia il FID.",browserNotSupported:"Il tuo browser non supporta il rendering vettoriale. I renderizzatore attualemnte supportati sono:\n${renderers}",minZoomLevelError:"La proprietà minZoomLevel è da utilizzare solamente con livelli che abbiano FixedZoomLevels. Il fatto che questo livello wfs controlli la proprietà minZoomLevel è un retaggio del passato. Non possiamo comunque rimuoverla senza rompere le vecchie applicazioni che dipendono su di essa.Quindi siamo costretti a deprecarla -- minZoomLevel e sarà rimossa dalla vesione 3.0. Si prega di utilizzare i settaggi di risoluzione min/max come descritto qui: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"Transazione WFS: SUCCESS ${response}",commitFailed:"Transazione WFS: FAILED ${response}",googleWarning:"Il livello Google non è riuscito a caricare correttamente.<br><br>Per evitare questo messaggio, seleziona un nuovo BaseLayer nel selettore di livelli nell'angolo in alto a destra.<br><br>Più precisamente, ciò accade perchè la libreria Google Maps non è stata inclusa nella pagina, oppure non contiene la corretta API key per il tuo sito.<br><br>Sviluppatori: Per aiuto su come farlo funzionare correttamente, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>clicca qui</a>",
getLayerWarning:"Il livello ${layerType} non è riuscito a caricare correttamente.<br><br>Per evitare questo messaggio, seleziona un nuovo BaseLayer nel selettore di livelli nell'angolo in alto a destra.<br><br>Più precisamente, ciò accade perchè la libreria ${layerLib} non è stata inclusa nella pagina.<br><br>Sviluppatori: Per aiuto su come farlo funzionare correttamente, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>clicca qui</a>","Scale = 1 : ${scaleDenom}":"Scala = 1 : ${scaleDenom}",
reprojectDeprecated:"Stai utilizzando l'opzione 'reproject' sul livello ${layerName}. Questa opzione è deprecata: il suo utilizzo è stato introdotto persupportare il disegno dei dati sopra mappe commerciali, ma tale funzionalità dovrebbe essere ottenuta tramite l'utilizzo della proiezione Spherical Mercator. Per maggiori informazioni consultare qui http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Questo metodo è stato deprecato e sarà rimosso dalla versione 3.0. Si prega di utilizzare il metodo ${newMethod} in alternativa.",
end:""};
OpenLayers.Lang.ja=OpenLayers.Util.applyDefaults({unhandledRequest:"未処理の要求は ${statusText} を返します",Permalink:"パーマリンク",Overlays:"オーバーレイ","Base Layer":"基底レイヤー",noFID:"FID のない地物は更新できません。",browserNotSupported:"あなたのブラウザはベクターグラフィックスの描写に対応していません。現時点で対応しているソフトウェアは以下のものです。\n${renderers}",minZoomLevelError:"minZoomLevel プロパティは FixedZoomLevels を継承するレイヤーでの使用のみを想定しています。この minZoomLevel に対する WFS レイヤーの検査は歴史的なものです。しかしながら、この検査を除去するとそれに依存する OpenLayers ベースのアプリケーションを破壊してしまう可能性があります。よって廃止が予定されており、この minZoomLevel 検査はバージョン3.0で除去されます。代わりに、http://trac.openlayers.org/wiki/SettingZoomLevels で解説されている、最小および最大解像度設定を使用してください。",commitSuccess:"WFS トランザクション: 成功 ${response}",
commitFailed:"WFS トランザクション: 失敗 ${response}",googleWarning:"Google レイヤーが正しく読み込みを行えませんでした。<br><br>このメッセージを消すには、右上の隅にあるレイヤー切り替え部分で新しい基底レイヤーを選んでください。<br><br>おそらく、これは Google マップ用ライブラリのスクリプトが組み込まれていないか、あなたのサイトに対応する正しい API キーが設定されていないためです。<br><br>開発者の方へ: 正しい動作をさせるために<a href='http://trac.openlayers.org/wiki/Google' target='_blank'>こちらのウィキ</a>を参照してください。",getLayerWarning:"${layerType} レイヤーが正しく読み込みを行えませんでした。<br><br>このメッセージを消すには、右上の隅にあるレイヤー切り替え部分で新しい基底レイヤーを選んでください。<br><br>おそらく、これは ${layerLib} ライブラリのスクリプトが正しく組み込まれていないためです。<br><br>開発者の方へ: 正しい動作をさせるために<a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>こちらのウィキ</a>を参照してください。",
"Scale = 1 : ${scaleDenom}":"縮尺 = 1 : ${scaleDenom}",W:"西",E:"東",N:"北",S:"南",reprojectDeprecated:"あなたは「${layerName}」レイヤーで reproject オプションを使っています。このオプションは商用の基底地図上に情報を表示する目的で設計されましたが、現在ではその機能は Spherical Mercator サポートを利用して実現されており、このオプションの使用は非推奨です。追加の情報は http://trac.openlayers.org/wiki/SphericalMercator で入手できます。",methodDeprecated:"このメソッドは廃止が予定されており、バージョン3.0で除去されます。代わりに ${newMethod} を使用してください。"});
OpenLayers.Lang.km=OpenLayers.Util.applyDefaults({Permalink:"តំណភ្ជាប់អចិន្ត្រៃយ៍","Base Layer":"ស្រទាប់បាត​","Scale = 1 : ${scaleDenom}":"មាត្រដ្ឋាន = ១ ៖ ${scaleDenom}"});
OpenLayers.Lang.ksh=OpenLayers.Util.applyDefaults({unhandledRequest:"Met dä Antwoot op en Aanfrooch ham_mer nix aanjefange: ${statusText}",Permalink:"Lengk op Duuer",Overlays:"Drövver jelaat","Base Layer":"Jrund-Nivoh",noFID:'En Saach, woh kein <i lang="en">FID</i> för doh es, löht sesch nit ändere.',browserNotSupported:"Dinge Brauser kann kein Väktore ußjävve. De Zoote Ußjaabe, di em Momang jon, sen:\n${renderers}",minZoomLevelError:'De Eijeschaff „<code lang="en">minZoomLevel</code>“ es bloß doför jedaach, dat mer se met dä Nivvohß bruch, di vun <code lang="en">FixedZoomLevels</code> affhange don. Dat dat <i lang="en">WFS</i>-Nivvoh övverhoup de Eijeschaff „<code lang="en">minZoomLevel</code>“ pröhfe deiht, es noch övveresch vun fröhjer. Mer künne dat ävver jez nit fott lohße, oohne dat mer Jevaa loufe, dat Aanwendunge vun OpenLayers nit mieh loufe, di sesch doh velleijsch noch drop am verlohße sin. Dröm sare mer, dat mer et nit mieh han welle, un de „<code lang="en">minZoomLevel</code>“-Eijeschaff weed hee vun de Version 3.0 af nit mieh jeprööf wäde. Nemm doför de Enstellung för de hühßte un de kleinßte Oplöhsung, esu wi et en http://trac.openlayers.org/wiki/SettingZoomLevels opjeschrevve es.',
commitSuccess:'Dä <i lang="en">WFS</i>-Vörjang es joot jeloufe: ${response}',commitFailed:'Dä <i lang="en">WFS</i>-Vörjang es scheif jejange: ${response}',googleWarning:'Dat Nivvoh <code lang="en">Google</code> kunnt nit reschtesch jelaade wääde.<br /><br />Öm hee di Nohreesch loß ze krijje, donn en ander Jrund-Nivvoh ußsöhke, rähß bovve en de Äk.<br /><br />Wascheinlesch es dat wiel dat <i lang="en">Google-Maps</i>-Skrepp entweeder nit reschtesch enjebonge wood, udder nit dä reschtejje <i lang="en">API</i>-Schlößel för Ding Web-ßait scheke deiht.<br /><br />För Projrammierer jidd_et Hölp do_drövver, <a href="http://trac.openlayers.org/wiki/Google" target="_blank">wi mer dat aan et Loufe brengk</a>.',
getLayerWarning:'Dat Nivvoh <code>${layerType}</code> kunnt nit reschtesch jelaade wääde.<br /><br />Öm hee di Nohreesch loß ze krijje, donn en ander Jrund-Nivvoh ußsöhkre, rähß bovve en de Äk.<br /><br />Wascheinlesch es dat, wiel dat Skrepp <code>${layerLib}</code> nit reschtesch enjebonge wood.<br /><br />För Projrammierer jidd_Et Hölp do_drövver, <a href="http://trac.openlayers.org/wiki/${layerLib}" target="_blank">wi mer dat aan et Loufe brengk</a>.',"Scale = 1 : ${scaleDenom}":"Mohßshtaab = 1 : ${scaleDenom}",
W:"W",E:"O",N:"N",S:"S",reprojectDeprecated:"Do bruchs de Ußwahl <code>reproject</code> op däm Nivvoh <code>${layerName}</code>. Di Ußwahl es nit mieh jähn jesinn. Se wohr doför jedaach, öm Date op jeschääfsmäßesch eruß jejovve Kaate bovve drop ze moole, wat ävver enzwesche besser met dä Öngershtözung för de ßfääresche Mäkaator Beldscher jeiht. Doh kanns De mieh drövver fenge op dä Sigg: http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Hee di Metood es nim_mih aktoäll un et weed se en dä Version 3.0 nit mieh jävve. Nemm <code>${newMethod}</code> doföör."});
OpenLayers.Lang.lt=OpenLayers.Util.applyDefaults({unhandledRequest:"Neapdorota užklausa gražino ${statusText}",Permalink:"Pastovi nuoroda",Overlays:"Papildomi sluoksniai","Base Layer":"Pagrindinis sluoksnis",noFID:"Negaliu atnaujinti objekto, kuris neturi FID.",browserNotSupported:"Jūsų naršyklė nemoka parodyti vektorių. Šiuo metu galima naudotis tokiais rodymo varikliais:\n{renderers}",commitSuccess:"WFS Tranzakcija: PAVYKO ${response}",commitFailed:"WFS Tranzakcija: ŽLUGO ${response}","Scale = 1 : ${scaleDenom}":"Mastelis = 1 : ${scaleDenom}",
W:"V",E:"R",N:"Š",S:"P",Graticule:"Tinklelis",methodDeprecated:"Šis metodas yra pasenęs ir 3.0 versijoje bus pašalintas. Prašome naudoti ${newMethod}.",end:""});
OpenLayers.Lang.nb={unhandledRequest:"Ubehandlet forespørsel returnerte ${statusText}",Permalink:"Kobling til denne siden",Overlays:"Kartlag","Base Layer":"Bakgrunnskart",noFID:"Kan ikke oppdatere et feature (et objekt) som ikke har FID.",browserNotSupported:"Din nettleser støtter ikke vektortegning. Tegnemetodene som støttes er:\n${renderers}",minZoomLevelError:"Egenskapen minZoomLevel er kun ment til bruk på lag basert på FixedZoomLevels. At dette wfs-laget sjekker minZoomLevel er en etterlevning fra tidligere versjoner. Det kan dog ikke tas bort uten å risikere at OL-baserte applikasjoner slutter å virke, så det er merket som foreldet: minZoomLevel i sjekken nedenfor vil fjernes i 3.0. Vennligst bruk innstillingene for min/maks oppløsning som er beskrevet her: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"WFS-transaksjon: LYKTES ${response}",commitFailed:"WFS-transaksjon: MISLYKTES ${response}",googleWarning:"Google-laget kunne ikke lastes.<br><br>Bytt til et annet bakgrunnslag i lagvelgeren i øvre høyre hjørne for å slippe denne meldingen.<br><br>Sannsynligvis forårsakes feilen av at Google Maps-biblioteket ikke er riktig inkludert på nettsiden, eller at det ikke er angitt riktig API-nøkkel for nettstedet.<br><br>Utviklere: For hjelp til å få dette til å virke se <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>her</a>.",
getLayerWarning:"${layerType}-laget kunne ikke lastes.<br><br>Bytt til et annet bakgrunnslag i lagvelgeren i øvre høyre hjørne for å slippe denne meldingen.<br><br>Sannsynligvis forårsakes feilen av at ${layerLib}-biblioteket ikke var riktig inkludert på nettsiden.<br><br>Utviklere: For hjelp til å få dette til å virke se <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>her</a>.","Scale = 1 : ${scaleDenom}":"<strong>Skala</strong> 1 : ${scaleDenom}",reprojectDeprecated:"Du bruker innstillingen 'reproject' på laget ${layerName}. Denne innstillingen er foreldet, den var ment for å støtte visning av kartdata over kommersielle bakgrunnskart, men det bør nå gjøres med støtten for Spherical Mercator. Mer informasjon finnes på http://trac.openlayers.org/wiki/SphericalMercator.",
methodDeprecated:"Denne metoden er markert som foreldet og vil bli fjernet i 3.0. Vennligst bruk ${newMethod} i stedet.",end:""};OpenLayers.Lang.no=OpenLayers.Lang.nb;
OpenLayers.Lang.nds=OpenLayers.Util.applyDefaults({unhandledRequest:"Unbehannelt Trüchmellels för de Anfraag ${statusText}",Permalink:"Permalink",Overlays:"Overlays","Base Layer":"Achtergrundkoort",noFID:"En Feature, dat keen FID hett, kann nich aktuell maakt warrn.",browserNotSupported:"Dien Browser ünnerstütt keen Vektorbiller. Ünnerstütt Renderers:\n${renderers}",commitSuccess:"WFS-Transakschoon: hett klappt ${response}",commitFailed:"WFS-Transakschoon: hett nich klappt ${response}","Scale = 1 : ${scaleDenom}":"Skaal = 1 : ${scaleDenom}",
methodDeprecated:"Disse Methood is oold un schall dat in 3.0 nich mehr geven. Bruuk dor man beter ${newMethod} för."});
OpenLayers.Lang.nl=OpenLayers.Util.applyDefaults({unhandledRequest:"Het verzoek is niet afgehandeld met de volgende melding: ${statusText}",Permalink:"Permanente verwijzing",Overlays:"Overlays","Base Layer":"Achtergrondkaart",noFID:"Een optie die geen FID heeft kan niet bijgewerkt worden.",browserNotSupported:"Uw browser ondersteunt het weergeven van vectoren niet.\nMomenteel ondersteunde weergavemogelijkheden:\n${renderers}",minZoomLevelError:"De eigenschap minZoomLevel is alleen bedoeld voor gebruik lagen met die afstammen van FixedZoomLevels-lagen.\nDat deze WFS-laag minZoomLevel controleert, is een overblijfsel uit het verleden.\nWe kunnen deze controle echter niet verwijderen zonder op OL gebaseerde applicaties die hervan afhankelijk zijn stuk te maken.\nDaarom heeft deze functionaliteit de eigenschap 'deprecated' gekregen - de minZoomLevel wordt verwijderd in versie 3.0.\nGebruik in plaats van deze functie de mogelijkheid om min/max voor resolutie in te stellen zoals op de volgende pagina wordt beschreven:\nhttp://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"WFS-transactie: succesvol ${response}",commitFailed:"WFS-transactie: mislukt ${response}",googleWarning:"De Google-Layer kon niet correct geladen worden.<br /><br />\nOm deze melding niet meer te krijgen, moet u een andere achtergrondkaart kiezen in de laagwisselaar in de rechterbovenhoek.<br /><br />\nDit komt waarschijnlijk doordat de bibliotheek ${layerLib} niet correct ingevoegd is.<br /><br />\nOntwikkelaars: <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>klik hier</a> om dit werkend te krijgen.",
getLayerWarning:"De laag ${layerType} kon niet goed geladen worden.<br /><br />\nOm deze melding niet meer te krijgen, moet u een andere achtergrondkaart kiezen in de laagwisselaar in de rechterbovenhoek.<br /><br />\nDit komt waarschijnlijk doordat de bibliotheek ${layerLib} niet correct is ingevoegd.<br /><br />\nOntwikkelaars: <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>klik hier</a> om dit werkend te krijgen.","Scale = 1 : ${scaleDenom}":"Schaal = 1 : ${scaleDenom}",
W:"W",E:"O",N:"N",S:"Z",reprojectDeprecated:"U gebruikt de optie 'reproject' op de laag ${layerName}.\nDeze optie is vervallen: deze optie was ontwikkeld om gegevens over commerciële basiskaarten weer te geven, maar deze functionaliteit wordt nu bereikt door ondersteuning van Spherical Mercator.\nMeer informatie is beschikbaar op http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Deze methode is verouderd en wordt verwijderd in versie 3.0.\nGebruik ${newMethod}."});
OpenLayers.Lang.nn=OpenLayers.Util.applyDefaults({"Scale = 1 : ${scaleDenom}":"Skala = 1 : ${scaleDenom}"});
OpenLayers.Lang.oc=OpenLayers.Util.applyDefaults({unhandledRequest:"Requèsta pas gerida, retorna ${statusText}",Permalink:"Permaligam",Overlays:"Calques","Base Layer":"Calc de basa",noFID:"Impossible de metre a jorn un objècte sens identificant (fid).",browserNotSupported:"Vòstre navegidor supòrta pas lo rendut vectorial. Los renderers actualament suportats son : \n${renderers}",minZoomLevelError:"La proprietat minZoomLevel deu èsser utilizada solament per de jaces FixedZoomLevels-descendent. Lo fach qu'aqueste jaç WFS verifique la preséncia de minZoomLevel es una relica del passat. Çaquelà, la podèm suprimir sens copar d'aplicacions que ne poirián dependre. Es per aquò que la depreciam -- la verificacion del minZoomLevel serà suprimida en version 3.0. A la plaça, mercés d'utilizar los paramètres de resolucions min/max tal coma descrich sus : http://trac.openlayers.org/wiki/SettingZoomLevels",commitSuccess:"Transaccion WFS : SUCCES ${response}",
commitFailed:"Transaccion WFS : FRACAS ${response}",googleWarning:"Lo jaç Google es pas estat en mesura de se cargar corrèctament.<br><br>Per suprimir aqueste messatge, causissètz una BaseLayer novèla dins lo selector de jaç en naut a drecha.<br><br>Aquò es possiblament causat par la non-inclusion de la librariá Google Maps, o alara perque que la clau de l'API correspond pas a vòstre site.<br><br>Desvolopaires : per saber cossí corregir aquò, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>clicatz aicí</a>",
getLayerWarning:"Lo jaç ${layerType} es pas en mesura de se cargar corrèctament.<br><br>Per suprimir aqueste messatge, causissètz una  BaseLayer novèla dins lo selector de jaç en naut a drecha.<br><br>Aquò es possiblament causat per la non-inclusion de la librariá ${layerLib}.<br><br>Desvolopaires : per saber cossí corregir aquí, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>clicatz aicí</a>","Scale = 1 : ${scaleDenom}":"Escala ~ 1 : ${scaleDenom}",W:"O",E:"È",N:"N",S:"S",
reprojectDeprecated:"Utilizatz l'opcion 'reproject' sul jaç ${layerName}. Aquesta opcion es despreciada : Son usatge permetiá d'afichar de donadas al dessús de jaces raster comercials. Aquesta foncionalitat ara es suportada en utilizant lo supòrt de la projeccion Mercator Esferica. Mai d'informacion es disponibla sus http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Aqueste metòde es despreciada, e serà suprimida a la version 3.0. Mercés d'utilizar ${newMethod} a la plaça."});
OpenLayers.Lang.pl=OpenLayers.Util.applyDefaults({unhandledRequest:"Nieobsługiwane żądanie zwróciło ${statusText}",Permalink:"Permalink",Overlays:"Nakładki","Base Layer":"Warstwa podstawowa",noFID:"Nie można zaktualizować funkcji, dla których nie ma FID.",browserNotSupported:"Twoja przeglądarka nie obsługuje renderowania wektorów. Obecnie obsługiwane renderowanie to:\n${renderers}",minZoomLevelError:"Właściwość minZoomLevel jest przeznaczona tylko do użytku z warstwami FixedZoomLevels-descendent.Warstwa wfs, która sprawdza minZoomLevel jest reliktem przeszłości.Nie możemy jej jednak usunąc bez mozliwości łamania OL aplikacji, które mogą być od niej zależne. Dlatego jesteśmy za deprecjację -- minZoomLevel zostanie usunięta w wersji 3.0. W zamian prosze użyj min/max rozdzielczości w sposób opisany tutaj: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"Transakcja WFS: SUKCES ${response}",commitFailed:"Transakcja WFS: FAILED ${response}",googleWarning:"Warstwa Google nie był w stanie załadować się poprawnie.<br><br>Aby pozbyć się tej wiadomości, wybierz nową Warstwe podstawową w przełączniku warstw w górnym prawym rogu mapy.<br><br>Najprawdopodobniej jest to spowodowane tym, że biblioteka Google Maps nie jest załadowana, lub nie zawiera poprawnego klucza do API dla twojej strony<br><br>Programisto: Aby uzyskać pomoc , <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>kliknij tutaj</a>",
getLayerWarning:"Warstwa ${layerType} nie mogła zostać załadowana poprawnie.<br><br>Aby pozbyć się tej wiadomości, wybierz nową Warstwe podstawową w przełączniku warstw w górnym prawym rogu mapy.<br><br>Najprawdopodobniej jest to spowodowane tym, że biblioteka ${layerLib} nie jest załadowana, lub może(o ile biblioteka tego wymaga) byc potrzebny klucza do API dla twojej strony<br><br>Programisto: Aby uzyskać pomoc , <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>kliknij tutaj</a>",
"Scale = 1 : ${scaleDenom}":"Skala = 1 : ${scaleDenom}",W:"ZACH",E:"WSCH",N:"PN",S:"PD",Graticule:"Siatka",reprojectDeprecated:"w warstwie ${layerName} używasz opcji 'reproject'. Ta opcja jest przestarzała: jej zastosowanie został zaprojektowany, aby wspierać wyświetlania danych przez komercyjne mapy, jednak obecnie ta funkcjonalność powinien zostać osiągnięty za pomocą Spherical Mercator its use was designed to support displaying data over commercial. Więcje informacji na ten temat możesz znaleźć na stronie http://trac.openlayers.org/wiki/SphericalMercator.",
methodDeprecated:"Ta metoda jest przestarzała i będzie usunięta od wersji 3.0. W zamian użyj ${newMethod}."});
OpenLayers.Lang["pt-BR"]=OpenLayers.Util.applyDefaults({unhandledRequest:"A requisição retornou um erro não tratado: ${statusText}",Permalink:"Link para essa página",Overlays:"Camadas de Sobreposição","Base Layer":"Camada Base",noFID:"Não é possível atualizar uma feição que não tenha um FID.",browserNotSupported:"Seu navegador não suporta renderização de vetores. Os renderizadores suportados atualmente são:\n${renderers}",minZoomLevelError:"A propriedade minZoomLevel é de uso restrito das camadas descendentes de FixedZoomLevels. A verificação dessa propriedade pelas camadas wfs é um resíduo do passado. Não podemos, entretanto não é possível removê-la sem possívelmente quebrar o funcionamento de aplicações OL que possuem depência com ela. Portanto estamos tornando seu uso obsoleto -- a verificação desse atributo será removida na versão 3.0. Ao invés, use as opções de resolução min/max como descrito em: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"Transação WFS : SUCESSO ${response}",commitFailed:"Transação WFS : ERRO ${response}",googleWarning:"Não foi possível carregar a camada Google corretamente.<br><br>Para se livrar dessa mensagem, selecione uma nova Camada Base, na ferramenta de alternação de camadas localização do canto superior direito.<br><br>Muito provavelmente, isso foi causado porque o script da biblioteca do Google Maps não foi incluído, ou porque ele não contém a chave correta da API para o seu site.<br><br>Desenvolvedores: Para obter ajuda em solucionar esse problema <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>cliquem aqui</a>",
getLayerWarning:"Não foi possível carregar a camada ${layerType} corretamente.<br><br>Para se livrar dessa mensagem, selecione uma nova Camada Base, na ferramenta de alternação de camadas localização do canto superior direito.<br><br>Muito provavelmente, isso foi causado porque o script da biblioteca ${layerLib} não foi incluído corretamente.<br><br>Desenvolvedores: Para obter ajuda em solucionar esse problema <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>cliquem aqui</a>",
"Scale = 1 : ${scaleDenom}":"Escala = 1 : ${scaleDenom}",W:"O",E:"L",N:"N",S:"S",reprojectDeprecated:"Você está usando a opção 'reproject' na camada ${layerName}. Essa opção está obsoleta: seu uso foi projetado para suportar a visualização de dados sobre bases de mapas comerciais, entretanto essa funcionalidade deve agora ser alcançada usando o suporte à projeção Mercator. Mais informação está disponível em: http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Esse método está obsoleto e será removido na versão 3.0. Ao invés, por favor use ${newMethod}."});
OpenLayers.Lang.pt=OpenLayers.Util.applyDefaults({unhandledRequest:"Servidor devolveu erro não contemplado ${statusText}",Permalink:"Ligação permanente",Overlays:"Sobreposições","Base Layer":"Camada Base",noFID:"Não é possível atualizar um elemento para a qual não há FID.",browserNotSupported:"O seu navegador não suporta renderização vetorial. Actualmente os renderizadores suportados são:\n${renderers}",minZoomLevelError:"A propriedade minZoomLevel só deve ser usada com as camadas descendentes da FixedZoomLevels. A verificação da propriedade por esta camada wfs é uma relíquia do passado. No entanto, não podemos removê-la sem correr o risco de afectar aplicações OL que dependam dela. Portanto, estamos a torná-la obsoleta -- a verificação minZoomLevel será removida na versão 3.0. Em vez dela, por favor, use as opções de resolução min/max descritas aqui: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"Transacção WFS: SUCESSO ${response}",commitFailed:"Transacção WFS: FALHOU ${response}",googleWarning:"A Camada Google não foi correctamente carregada.<br><br>Para deixar de receber esta mensagem, seleccione uma nova Camada-Base no ''switcher'' de camadas no canto superior direito.<br><br>Provavelmente, isto acontece porque o ''script'' da biblioteca do Google Maps não foi incluído ou não contém a chave API correcta para o seu sítio.<br><br>Programadores: Para ajuda sobre como solucionar o problema <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>clique aqui</a> .",
getLayerWarning:"A camada ${layerType} não foi correctamente carregada.<br><br>Para desactivar esta mensagem, seleccione uma nova Camada-Base no ''switcher'' de camadas no canto superior direito.<br><br>Provavelmente, isto acontece porque o ''script'' da biblioteca ${layerLib} não foi incluído correctamente.<br><br>Programadores: Para ajuda sobre como solucionar o problema <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>clique aqui</a> .","Scale = 1 : ${scaleDenom}":"Escala = 1 : ${scaleDenom}",
W:"O",E:"E",N:"N",S:"S",reprojectDeprecated:"Está usando a opção 'reproject' na camada ${layerName}. Esta opção é obsoleta: foi concebida para permitir a apresentação de dados sobre mapas-base comerciais, mas esta funcionalidade é agora suportada pelo Mercator Esférico. Mais informação está disponível em http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Este método foi declarado obsoleto e será removido na versão 3.0. Por favor, use ${newMethod} em vez disso."});
OpenLayers.Lang.ro={unhandledRequest:"Cerere nesoluționată return ${statusText}",Permalink:"Legatură permanentă",Overlays:"Straturi vector","Base Layer":"Straturi de bază",noFID:"Nu pot actualiza un feature pentru care nu există FID.",browserNotSupported:"Browserul tău nu suportă afișarea vectorilor. Supoetul curent pentru randare:\n${renderers}",minZoomLevelError:"Proprietatea minZoomLevel este doar pentru a fi folosită cu straturile FixedZoomLevels-descendent. De aceea acest strat wfs verifică dacă minZoomLevel este o relicvă. Nu îl putem , oricum, înlătura fără a afecta aplicațiile Openlayers care depind de ea. De aceea considerăm depreciat -- minZoomLevel și îl vom înlătura în 3.0. Folosește min/max resolution cum este descrisă aici: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"Tranzacție WFS: SUCCES ${response}",commitFailed:"Tranzacție WFS : EȘEC ${response}",googleWarning:"Stratul Google nu a putut fi încărcat corect.<br><br>Pentru a elimina acest mesaj, selectează un nou strat de bază în Layerswitcher din colțul dreata-sus.<br><br>Asta datorită, faptului că Google Maps library script nu este inclus, sau nu conține cheia API corectă pentru situl tău.<br><br>Developeri: Pentru ajutor, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>apăsați aici</a>",
getLayerWarning:"Stratul ${layerType} nu a putut fi încărcat corect.<br><br>pentru a înlătura acest mesaj, selectează un nou strat de bază Acesta eroare apare de obicei când ${layerLib} library script nu a fost încărcat corect.<br><br>Developeri: Pentru ajutor privind utilizarea corectă, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>apasă aici</a>","Scale = 1 : ${scaleDenom}":"Scara = 1 : ${scaleDenom}",W:"V",E:"E",N:"N",S:"S",Graticule:"Graticule",reprojectDeprecated:"folosești opțiunea 'reproject' pentru stratul ${layerName} . Această opțiune este depreciată: a fost utilizată pentru afișarea straturilor de bază comerciale Mai multe informații despre proiecția Mercator sunt disponibile aici http://trac.openlayers.org/wiki/SphericalMercator.",
methodDeprecated:"Această metodă este depreciată și va fi înlăturată in versiunea 3.0. folosește metoda ${newMethod}.",end:""};
OpenLayers.Lang.ru=OpenLayers.Util.applyDefaults({unhandledRequest:"Необработанный запрос вернул ${statusText}",Permalink:"Постоянная ссылка",Overlays:"Слои","Base Layer":"Основной слой",noFID:"Невозможно обновить объект, для которого нет FID.",browserNotSupported:"Ваш браузер не поддерживает векторную графику. На данный момент поддерживаются:\n${renderers}",minZoomLevelError:"Свойство minZoomLevel предназначено только для использования со слоями, являющимися потомками FixedZoomLevels. То, что этот WFS-слой проверяется на minZoomLevel — реликт прошлого. Однако мы не можем удалить эту функцию, так как, возможно, от неё зависят некоторые основанные на OpenLayers приложения. Функция объявлена устаревшей — проверка minZoomLevel будет удалена в 3.0. Пожалуйста, используйте вместо неё настройку мин/макс разрешения, описанную здесь: http://trac.openlayers.org/wiki/SettingZoomLevels",commitSuccess:"Транзакция WFS: УСПЕШНО ${response}",
commitFailed:"Транзакция WFS: ОШИБКА ${response}",googleWarning:"Слой Google не удалось нормально загрузить.<br><br>Чтобы избавиться от этого сообщения, выбите другой основной слой в переключателе в правом верхнем углу.<br><br>Скорее всего, причина в том, что библиотека Google Maps не была включена или не содержит корректного API-ключа для вашего сайта.<br><br>Разработчикам: чтобы узнать, как сделать, чтобы всё заработало, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>щёлкните тут</a>",
getLayerWarning:"Слой ${layerType} не удалось нормально загрузить. <br><br>Чтобы избавиться от этого сообщения, выбите другой основной слой в переключателе в правом верхнем углу.<br><br>Скорее всего, причина в том, что библиотека ${layerLib} не была включена или была включена некорректно.<br><br>Разработчикам: чтобы узнать, как сделать, чтобы всё заработало, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>щёлкните тут</a>","Scale = 1 : ${scaleDenom}":"Масштаб = 1 : ${scaleDenom}",
W:"З",E:"В",N:"С",S:"Ю",reprojectDeprecated:"Вы используете опцию 'reproject' для слоя ${layerName}. Эта опция является устаревшей: ее использование предполагалось для поддержки показа данных поверх коммерческих базовых карт, но теперь этот функционал несёт встроенная поддержка сферической проекции Меркатора. Больше сведений доступно на http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Этот метод считается устаревшим и будет удалён в версии 3.0. Пожалуйста, пользуйтесь ${newMethod}."});
OpenLayers.Lang.sk=OpenLayers.Util.applyDefaults({unhandledRequest:"Neobslúžené požiadavky vracajú ${statusText}",Permalink:"Trvalý odkaz",Overlays:"Prekrytia","Base Layer":"Základná vrstva",noFID:"Nie je možné aktualizovať vlastnosť, pre ktorú neexistuje FID.",browserNotSupported:"Váš prehliadač nepodporuje vykresľovanie vektorov. Momentálne podporované vykresľovače sú:\n${renderers}",minZoomLevelError:"Vlastnosť minZoomLevel je určený iba na použitie s vrstvami odvodenými od FixedZoomLevels. To, že táto wfs vrstva kontroluje minZoomLevel je pozostatok z minulosti. Nemôžeme ho však odstrániť, aby sme sa vyhli možnému porušeniu aplikácií založených na Open Layers, ktoré na tomto môže závisieť. Preto ho označujeme ako zavrhovaný - dolu uvedená kontrola minZoomLevel bude odstránená vo verzii 3.0. Použite prosím namiesto toho kontrolu min./max. rozlíšenia podľa tu uvedeného popisu: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"Transakcia WFS: ÚSPEŠNÁ ${response}",commitFailed:"Transakcia WFS: ZLYHALA ${response}",googleWarning:"Vrstvu Google nebolo možné správne načítať.<br><br>Aby ste sa tejto správy zbavili vyberte novú BaseLayer v prepínači vrstiev v pravom hornom rohu.<br><br>Toto sa stalo pravdepodobne preto, že skript knižnice Google Maps buď nebol načítaný alebo neobsahuje správny kľúč API pre vašu lokalitu.<br><br>Vývojári: Tu môžete získať <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>pomoc so sfunkčnením</a>",
getLayerWarning:"Vrstvu ${layerType} nebolo možné správne načítať.<br><br>Aby ste sa tejto správy zbavili vyberte novú BaseLayer v prepínači vrstiev v pravom hornom rohu.<br><br>Toto sa stalo pravdepodobne preto, že skript knižnice ${layerType} buď nebol načítaný alebo neobsahuje správny kľúč API pre vašu lokalitu.<br><br>Vývojári: Tu môžete získať <a href='http://trac.openlayers.org/wiki/${layerType}' target='_blank'>pomoc so sfunkčnením</a>","Scale = 1 : ${scaleDenom}":"Mierka = 1 : ${scaleDenom}",
reprojectDeprecated:"Používate voľby „reproject“ vrstvy ${layerType}. Táto voľba je zzavrhovaná: jej použitie bolo navrhnuté na podporu zobrazovania údajov nad komerčnými základovými mapami, ale túto funkcionalitu je teraz možné dosiahnuť pomocou Spherical Mercator. Ďalšie informácie získate na stránke http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Táto metóda je zavrhovaná a bude odstránená vo verzii 3.0. Použite prosím namiesto nej metódu ${newMethod}."});
OpenLayers.Lang.sv=OpenLayers.Util.applyDefaults({unhandledRequest:"Ej hanterad fråga retur ${statusText}",Permalink:"Permalänk",Overlays:"Kartlager","Base Layer":"Bakgrundskarta",noFID:"Kan ej uppdatera feature (objekt) för vilket FID saknas.",browserNotSupported:"Din webbläsare stöder inte vektorvisning. För närvarande stöds följande visning:\n${renderers}",minZoomLevelError:"Egenskapen minZoomLevel är endast avsedd att användas med lager med FixedZoomLevels. Att detta WFS-lager kontrollerar minZoomLevel är en relik från äldre versioner. Vi kan dock inte ta bort det utan att riskera att OL-baserade tillämpningar som använder detta slutar fungera. Därför är det satt som deprecated, minZoomLevel kommer att tas bort i version 3.0. Använd i stället inställning av min/max resolution som beskrivs här: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"WFS-transaktion: LYCKADES ${response}",commitFailed:"WFS-transaktion: MISSLYCKADES ${response}",googleWarning:"Google-lagret kunde inte laddas korrekt.<br><br>För att slippa detta meddelande, välj en annan bakgrundskarta i lagerväljaren i övre högra hörnet.<br><br>Sannolikt beror felet på att Google Maps-biblioteket inte är inkluderat på webbsidan eller på att sidan inte anger korrekt API-nyckel för webbplatsen.<br><br>Utvecklare: hjälp för att åtgärda detta, <a href='http://trac.openlayers.org/wiki/Google' target='_blank'>klicka här</a>.",
getLayerWarning:"${layerType}-lagret kunde inte laddas korrekt.<br><br>För att slippa detta meddelande, välj en annan bakgrundskarta i lagerväljaren i övre högra hörnet.<br><br>Sannolikt beror felet på att ${layerLib}-biblioteket inte är inkluderat på webbsidan.<br><br>Utvecklare: hjälp för att åtgärda detta, <a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>klicka här</a>.","Scale = 1 : ${scaleDenom}":"<strong>Skala</strong> 1 : ${scaleDenom}",reprojectDeprecated:"Du använder inställningen 'reproject' på lagret ${layerName}. Denna inställning markerad som deprecated: den var avsedd att användas för att stödja visning av kartdata på kommersiella bakgrundskartor, men nu bör man i stället använda Spherical Mercator-stöd för den funktionaliteten. Mer information finns på http://trac.openlayers.org/wiki/SphericalMercator.",
methodDeprecated:"Denna metod är markerad som deprecated och kommer att tas bort i 3.0. Använd ${newMethod} i stället."});OpenLayers.Lang.te=OpenLayers.Util.applyDefaults({Permalink:"స్థిరలింకు",W:"ప",E:"తూ",N:"ఉ",S:"ద"});
OpenLayers.Lang.vi=OpenLayers.Util.applyDefaults({unhandledRequest:"Không xử lý được phản hồi ${statusText} cho yêu cầu",Permalink:"Liên kết thường trực",Overlays:"Lấp bản đồ","Base Layer":"Lớp nền",noFID:"Không thể cập nhật tính năng thiếu FID.",browserNotSupported:"Trình duyệt của bạn không hỗ trợ chức năng vẽ bằng vectơ. Hiện hỗ trợ các bộ kết xuất:\n${renderers}",minZoomLevelError:"Chỉ nên sử dụng thuộc tính minZoomLevel với các lớp FixedZoomLevels-descendent. Việc lớp wfs này tìm cho minZoomLevel là di tích còn lại từ xưa. Tuy nhiên, nếu chúng tôi dời nó thì sẽ vỡ các chương trình OpenLayers mà dựa trên nó. Bởi vậy chúng tôi phản đối sử dụng nó&nbsp;– bước tìm cho minZoomLevel sẽ được dời vào phiên bản 3.0. Xin sử dụng thiết lập độ phân tích tối thiểu / tối đa thay thế, theo hướng dẫn này: http://trac.openlayers.org/wiki/SettingZoomLevels",
commitSuccess:"Giao dịch WFS: THÀNH CÔNG ${response}",commitFailed:"Giao dịch WFS: THẤT BẠI ${response}",googleWarning:"Không thể tải lớp Google đúng đắn.<br><br>Để tránh thông báo này lần sau, hãy chọn BaseLayer mới dùng điều khiển chọn lớp ở góc trên phải.<br><br>Chắc script thư viện Google Maps hoặc không được bao gồm hoặc không chứa khóa API hợp với website của bạn.<br><br><a href='http://trac.openlayers.org/wiki/Google' target='_blank'>Trợ giúp về tính năng này</a> cho người phát triển.",getLayerWarning:"Không thể tải lớp ${layerType} đúng đắn.<br><br>Để tránh thông báo này lần sau, hãy chọn BaseLayer mới dùng điều khiển chọn lớp ở góc trên phải.<br><br>Chắc script thư viện ${layerLib} không được bao gồm đúng kiểu.<br><br><a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>Trợ giúp về tính năng này</a> cho người phát triển.",
"Scale = 1 : ${scaleDenom}":"Tỷ lệ = 1 : ${scaleDenom}",W:"T",E:"Đ",N:"B",S:"N",reprojectDeprecated:"Bạn đang áp dụng chế độ “reproject” vào lớp ${layerName}. Chế độ này đã bị phản đối: nó có mục đích hỗ trợ lấp dữ liệu trên các nền bản đồ thương mại; nên thực hiện hiệu ứng đó dùng tính năng Mercator Hình cầu. Có sẵn thêm chi tiết tại http://trac.openlayers.org/wiki/SphericalMercator .",methodDeprecated:"Phương thức này đã bị phản đối và sẽ bị dời vào phiên bản 3.0. Xin hãy sử dụng ${newMethod} thay thế."});
OpenLayers.Lang["zh-CN"]={unhandledRequest:"未处理的请求，返回值为 ${statusText}",Permalink:"永久链接",Overlays:"叠加层","Base Layer":"基础图层",noFID:"无法更新feature，缺少FID。",browserNotSupported:"你使用的浏览器不支持矢量渲染。当前支持的渲染方式包括：\n${renderers}",minZoomLevelError:"minZoomLevel属性仅适合用于使用了固定缩放级别的图层。这个 wfs 图层检查 minZoomLevel 是过去遗留下来的。然而，我们不能移除它，而破坏依赖于它的基于OL的应用程序。因此，我们废除了它 -- minZoomLevel 将会在3.0中被移除。请改用 min/max resolution 设置，参考：http://trac.openlayers.org/wiki/SettingZoomLevels",commitSuccess:"WFS Transaction: 成功。 ${response}",commitFailed:"WFS Transaction: 失败。 ${response}",
googleWarning:"Google图层不能正确加载。<br><br>要消除这个信息，请在右上角的图层控制面板中选择其他的基础图层。<br><br>这种情况很可能是没有正确的包含Google地图脚本库，或者是没有包含在你的站点上使用的正确的Google Maps API密匙。<br><br>开发者：获取使其正确工作的帮助信息，<a href='http://trac.openlayers.org/wiki/Google' target='_blank'>点击这里</a>",getLayerWarning:"${layerType} 图层不能正确加载。<br><br>要消除这个信息，请在右上角的图层控制面板中选择其他的基础图层。<br><br>这种情况很可能是没有正确的包含${layerLib} 脚本库。<br><br>开发者：获取使其正确工作的帮助信息，<a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>点击这里</a>","Scale = 1 : ${scaleDenom}":"比例尺 = 1 : ${scaleDenom}",
reprojectDeprecated:"你正在使用 ${layerName} 图层上的'reproject'选项。这个选项已经不再使用：它是被设计用来支持显示商业的地图数据，不过现在该功能可以通过使用Spherical Mercator来实现。更多信息可以参阅http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"该方法已经不再被支持，并且将在3.0中被移除。请使用 ${newMethod} 方法来替代。",end:""};
OpenLayers.Lang["zh-TW"]={unhandledRequest:"未處理的請求，傳回值為 ${statusText}。",Permalink:"永久連結",Overlays:"額外圖層","Base Layer":"基礎圖層",noFID:"因為沒有 FID 所以無法更新 feature。",browserNotSupported:"您的瀏覽器未支援向量渲染. 目前支援的渲染方式是:\n${renderers}",minZoomLevelError:"minZoomLevel 屬性僅適合用在 FixedZoomLevels-descendent 類型的圖層. 這個wfs layer 的 minZoomLevel 是過去所遺留下來的，然而我們不能移除它而不讓它將過去的程式相容性給破壞掉。因此我們將會迴避使用它 -- minZoomLevel 會在3.0被移除，請改用在這邊描述的 min/max resolution 設定: http://trac.openlayers.org/wiki/SettingZoomLevels",commitSuccess:"WFS Transaction: 成功 ${response}",
commitFailed:"WFS Transaction: 失敗 ${response}",googleWarning:"The Google Layer 圖層無法被正確的載入。<br><br>要迴避這個訊息, 請在右上角的圖層改變器裡，選一個新的基礎圖層。<br><br>很有可能是因為 Google Maps 的函式庫腳本沒有被正確的置入，或沒有包含 您網站上正確的 API key <br><br>開發者: 要幫助這個行為正確完成，<a href='http://trac.openlayers.org/wiki/Google' target='_blank'>請按這裡</a>",getLayerWarning:"${layerType} 圖層無法被正確的載入。<br><br>要迴避這個訊息, 請在右上角的圖層改變器裡，選一個新的基礎圖層。<br><br>很有可能是因為 ${layerLib} 的函式庫腳本沒有被正確的置入。<br><br>開發者: 要幫助這個行為正確完成，<a href='http://trac.openlayers.org/wiki/${layerLib}' target='_blank'>請按這裡</a>",
"Scale = 1 : ${scaleDenom}":"Scale = 1 : ${scaleDenom}",reprojectDeprecated:"你正使用 'reproject' 這個選項 在 ${layerName} 層。這個選項已經不再使用:它的使用原本是設計用來支援在商業地圖上秀出資料，但這個功能已經被Spherical Mercator所取代。更多的資訊可以在 http://trac.openlayers.org/wiki/SphericalMercator 找到。",methodDeprecated:"這個方法已經不再使用且在3.0將會被移除，請使用 ${newMethod} 來代替。",end:""};
Fusion.configuration={general:{scriptLanguage:"php",temporaryDirectory:"/ms4w/tmp"},mapguide:{webTierUrl:"",useAsyncOverlay:!0,tileCacheUrl:"http://localhost:8008/sheboygan"},mapserver:{cgi:"/cgi-bin/mapserv",imagePath:"/ms4w/tmp/ms_tmp",imageUrl:"http://localhost/ms_tmp",legendIconCacheDir:"/ms4w/tmp/ms_tmp",mapFileRoot:"/ms4w/apps/",mapRestoreState:"/opt/fgs/apps/savedSession/",mapRestoreStateSession:"/opt/fgs/tmp/"}};
Fusion.Widget.About=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,_nWidth:500,_nHeight:400,_sAboutUrl:null,_sDefaultUrl:"widgets/About/About.html",initializeWidget:function(a){a=a.extension;this._sAboutUrl=a.AboutURL?a.AboutURL[0]:this._sDefaultUrl;this._sAboutUrl==this._sDefaultUrl&&(this._sAboutUrl=Fusion.getFusionURL()+this._sAboutUrl);this.enable()},activate:function(){var a;a="menubar=no,location=no,resizable=no,status=no,width="+this._nWidth;a+=",height="+this._nHeight;window.open(this._sAboutUrl,
"AboutPopup",a)}});Fusion.Widget.ActivityIndicator=OpenLayers.Class(Fusion.Widget,{element:null,initializeWidget:function(a){this.element=this.domObj;a=a.extension;a.ElementId&&(a=$(a.ElementId[0]))&&a!=this.domObj&&(this.domObj.appendChild(a),this.element=a);this.element.style.visibility="hidden";this.getMap().registerForEvent(Fusion.Event.MAP_BUSY_CHANGED,OpenLayers.Function.bind(this.busyChanged,this))},busyChanged:function(){this.element.style.visibility=this.getMap().isBusy()?"visible":"hidden"}});
Fusion.Widget.AddWMSLayer=OpenLayers.Class(Fusion.Widget,{initializeWidget:function(a){var b=a.extension;this.template=b.Template?b.Template[0]:'<li id="{id}" class="jxListItemContainer"><a class="jxListItem" href="javascript::void(0)" alt="{layerTitle}" title="{layerTitle}">{layerTitle}</a></li>';this.serviceURL=b.ServiceURL?b.ServiceURL:[];this.dialogContentURL=Fusion.getFusionURL()+a.location+"AddWMSLayer/AddWMSLayer.html";this.addWMSLayerURL=a.location+"AddWMSLayer/AddWMSLayer.php";Fusion.addWidgetStyleSheet(a.location+
"AddWMSLayer/AddWMSLayer.css");this.draw()},draw:function(){for(var a=(new Jx.Form({name:"addWMSLayer",formClass:"jxFormBlock"})).addTo(this.domObj),a=(new Jx.Fieldset({legend:"Show WMS layers from:",id:"serviceURLFieldset",fieldsetClass:"jxFormInlineblock"})).addTo(a),b=[],d=0;d<this.serviceURL.length;++d)b.push({label:this.serviceURL[d]});this.serviceList=(new Jx.Field.Combo({id:"serviceURL",name:"serviceURL",label:"Server URL",readonly:!1,items:b})).addTo(a);(new Jx.Field.Button({buttonOptions:{id:"listButton",
name:"listButton",label:"List Layers",onClick:function(){console.log("Go!")}},defaultAction:!0})).addTo(a).addEvent("click",OpenLayers.Function.bind(this.initializeWMS,this));this.outputDiv=new Element("div",{id:"layerList","class":"layerList"});this.domObj.adopt(this.outputDiv)},initializeWMS:function(){this.listLayersWait();var a=this.serviceList.getValue();if(0<a.length){var b=[],a=a.split("?");if(1<a.length){for(var d=a[1].split("&"),e=0;e<d.length;++e)-1==d[e].toLowerCase().indexOf("request")&&
-1==d[e].toLowerCase().indexOf("version")&&b.push(d[e]);a[1]=b.join("&")}a=a.join("?");b=this.getMapLayer();b={parameters:{session:b.getSessionID(),mapname:b._sMapname,action:"listLayersWMS",server:a},onComplete:OpenLayers.Function.bind(this.wmsListLayers,this)};Fusion.ajaxRequest(this.addWMSLayerURL,b)}},wmsListLayers:function(a){if(a.responseText){var b;try{b=Fusion.parseJSON(a.responseText)}catch(d){b={error:d.stack}}if(b)if(this.outputDiv.set("html",""),b.error)this.outputDiv.set("html",b.error+
"<br>"+b.message);else{a=(new Jx.ListView({id:"catalogListLayerUL"})).addTo(this.outputDiv);for(var e=0;e<b.length;e++){var f=b[e].owstitle;1>f.length&&(f=b[e].name);f=this.template.substitute({id:b[e].name,layerTitle:f});f=new Jx.ListItem({template:f});f.addTo(a);OpenLayers.Event.observe(f.domObj,"click",OpenLayers.Function.bind(this.addWMSLayer,this,b[e]))}}}},listLayersWait:function(){this.outputDiv.set("html","Request in progress...")},addWMSLayer:function(a){var b=this.getMapLayer(),d=a.srs.toUpperCase(),
e=b.mapWidget.oMapOL.baseLayer.projection.projCode;0>d.indexOf(e)&&(e="EPSG:4326",0>d.indexOf(e)&&(e=d.split(" ").shift()));a={parameters:{session:b.getSessionID(),mapname:b._sMapname,action:"addLayer",layertype:a.layertype,layername:a.name,group:a.group,owstitle:a.owstitle,srs:e,imageFormat:a.imageformat,servername:a.servername,wmsservicetitle:a.wmsservicetitle,queryable:a.queryable,metadataurl:a.metadataurl?a.metadataurl:""},onComplete:OpenLayers.Function.bind(this.addWMSLayerCB,this)};Fusion.ajaxRequest(this.addWMSLayerURL,
a)},addWMSLayerCB:function(a){a=Fusion.parseJSON(a.responseText);!0==a.addedLayer&&(this.oMap.triggerEvent(Fusion.Event.WMS_LAYER_ADDED,Array(a)),this.getMapLayer().reloadMap())}});
Fusion.Widget.BasemapSwitcher=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Menu,options:{},baseMaps:{},defaultBasemap:null,activeBasemap:null,menuItems:{},zoomOffsets:{G_NORMAL_MAP:0,G_SATELLITE_MAP:0,G_HYBRID_MAP:0,G_PHYSICAL_MAP:0,YAHOO_MAP_REG:0,YAHOO_MAP_SAT:0,YAHOO_MAP_HYB:0,Road:-1,Aerial:-1,Hybrid:-1,Mapnik:0,TransportMap:0,CycleMap:0,None:0},initializeWidget:function(a){this.getMap().registerForEvent(Fusion.Event.MAP_MAP_GROUP_LOADED,OpenLayers.Function.bind(this.setDefaultBasemap,this));this.getMap().registerForEvent(Fusion.Event.MAP_LOADED,
OpenLayers.Function.bind(this.checkZoomOffsets,this))},refreshSettings:function(){this.baseMaps={};this.defaultBasemap=null;this.menuItems={};this.options={G_NORMAL_MAP:null,G_SATELLITE_MAP:null,G_HYBRID_MAP:null,G_PHYSICAL_MAP:null,YAHOO_MAP_REG:null,YAHOO_MAP_SAT:null,YAHOO_MAP_HYB:null,Road:null,Aerial:null,Hybrid:null,Mapnik:null,TransportMap:null,CycleMap:null,None:null}},generateOptions:function(){this.refreshSettings();for(var a=this.getMap().aMaps,b=0,d=a.length;b<d;b++){var e=a[b];switch(e.layerType){case "MapGuide":this.options.None=
OpenLayers.i18n("noCommercialMapLayers");this.baseMaps.None=e;break;case "Google":if(e.mapTag.extension.Options&&e.mapTag.extension.Options[0].type){switch(e.mapTag.extension.Options[0].type[0]){case "G_NORMAL_MAP":this.options.G_NORMAL_MAP=e.mapTag.extension.Options[0].name?e.mapTag.extension.Options[0].name[0]:OpenLayers.i18n("googleStreet");this.baseMaps.G_NORMAL_MAP=e;break;case "G_SATELLITE_MAP":this.options.G_SATELLITE_MAP=e.mapTag.extension.Options[0].name?e.mapTag.extension.Options[0].name[0]:
OpenLayers.i18n("googleSatellite");this.baseMaps.G_SATELLITE_MAP=e;break;case "G_HYBRID_MAP":this.options.G_HYBRID_MAP=e.mapTag.extension.Options[0].name?e.mapTag.extension.Options[0].name[0]:OpenLayers.i18n("googleHybrid");this.baseMaps.G_HYBRID_MAP=e;break;case "G_PHYSICAL_MAP":this.options.G_PHYSICAL_MAP=e.mapTag.extension.Options[0].name?e.mapTag.extension.Options[0].name[0]:OpenLayers.i18n("googleTerrain"),this.baseMaps.G_PHYSICAL_MAP=e}this.defaultBasemap||(this.defaultBasemap=e.mapTag.extension.Options[0].type[0])}else this.options.G_NORMAL_MAP=
OpenLayers.i18n("googleStreet"),this.baseMaps.G_NORMAL_MAP=e,this.defaultBasemap||(this.defaultBasemap="G_NORMAL_MAP");break;case "Yahoo":if(e.mapTag.extension.Options&&e.mapTag.extension.Options[0].type){switch(e.mapTag.extension.Options[0].type[0]){case "YAHOO_MAP_REG":this.options.YAHOO_MAP_REG=e.mapTag.extension.Options[0].name?e.mapTag.extension.Options[0].name[0]:"Yahoo Street";this.baseMaps.YAHOO_MAP_REG=e;break;case "YAHOO_MAP_SAT":this.options.YAHOO_MAP_SAT=e.mapTag.extension.Options[0].name?
e.mapTag.extension.Options[0].name[0]:OpenLayers.i18n("yahooStreet");this.baseMaps.YAHOO_MAP_SAT=e;break;case "YAHOO_MAP_HYB":this.options.YAHOO_MAP_HYB=e.mapTag.extension.Options[0].name?e.mapTag.extension.Options[0].name[0]:OpenLayers.i18n("yahooHybrid"),this.baseMaps.YAHOO_MAP_HYB=e}this.defaultBasemap||(this.defaultBasemap=e.mapTag.extension.Options[0].type[0])}else this.options.YAHOO_MAP_REG=OpenLayers.i18n("yahooStreet"),this.baseMaps.YAHOO_MAP_REG=e,this.defaultBasemap||(this.defaultBasemap=
"YAHOO_MAP_REG");break;case "VirtualEarth":if(e.mapTag.extension.Options&&e.mapTag.extension.Options[0].type){switch(e.mapTag.extension.Options[0].type[0]){case "Road":this.options.Road=e.mapTag.extension.Options[0].name?e.mapTag.extension.Options[0].name[0]:OpenLayers.i18n("bingStreet");this.baseMaps.Road=e;break;case "Aerial":this.options.Aerial=e.mapTag.extension.Options[0].name?e.mapTag.extension.Options[0].name[0]:OpenLayers.i18n("bingSatellite");this.baseMaps.Aerial=e;break;case "Hybrid":this.options.Hybrid=
e.mapTag.extension.Options[0].name?e.mapTag.extension.Options[0].name[0]:OpenLayers.i18n("bingHybrid"),this.baseMaps.Hybrid=e}this.defaultBasemap||(this.defaultBasemap=e.mapTag.extension.Options[0].type[0])}else this.options.Road=OpenLayers.i18n("bingStreet"),this.baseMaps.Road=e,this.defaultBasemap||(this.defaultBasemap="Road");break;case "OpenStreetMap":if(e.mapTag.extension.Options&&e.mapTag.extension.Options[0].type){switch(e.mapTag.extension.Options[0].type[0]){case "TransportMap":this.options.TransportMap=
e.mapTag.extension.Options[0].name?e.mapTag.extension.Options[0].name[0]:OpenLayers.i18n("openStreetMapTransportMap");this.baseMaps.TransportMap=e;break;case "CycleMap":this.options.CycleMap=e.mapTag.extension.Options[0].name?e.mapTag.extension.Options[0].name[0]:OpenLayers.i18n("openStreetMapCycleMap");this.baseMaps.CycleMap=e;break;default:this.options.Mapnik=e.mapTag.extension.Options[0].name?e.mapTag.extension.Options[0].name[0]:OpenLayers.i18n("openStreetMap"),this.baseMaps.Mapnik=e}this.defaultBasemap||
(this.defaultBasemap=e.mapTag.extension.Options[0].type[0])}else this.options.Mapnik=OpenLayers.i18n("openStreetMap"),this.baseMaps.Mapnik=e,this.defaultBasemap||(this.defaultBasemap="Mapnik")}}this.defaultBasemap||(this.defaultBasemap="None")},setUiObject:function(a){Fusion.Widget.prototype.setUiObject.apply(this,[a]);this.setDefaultBasemap()},checkZoomOffsets:function(){null!=this.activeBasemap&&this.applyZoomOffset(this.activeBasemap)},applyZoomOffset:function(a){var b=0;this.zoomOffsets[a]&&(b=
this.zoomOffsets[a]);for(a=0;a<this.getMap().aMaps.length;a++){var d=this.getMap().aMaps[a];"MapGuide"==d.arch&&d.bUsesCommercialLayerScaleList&&d.applyZoomOffset(b)}},setBasemap:function(a){if("None"!=a&&"OpenLayers.Layer.MapGuide"==this.getMap().oMapOL.baseLayer.CLASS_NAME){var b=this.baseMaps.None.oLayerOL.visibility;this.getMap().setExternalBaseLayer(this.baseMaps[a],!1);this.applyZoomOffset(a);this.baseMaps.None.oLayerOL.visibility=b;this.baseMaps.None.oLayerOL.redraw()}else this.getMap().setExternalBaseLayer(this.baseMaps[a],
!1),this.applyZoomOffset(a);this.activeBasemap=a},setDefaultBasemap:function(){this.generateOptions();this.uiObj.subDomObj.empty();var a=new Jx.ButtonSet,b;for(b in this.options)if(this.options[b]){var d=new Jx.Menu.Item({label:OpenLayers.i18n(this.options[b]),toggle:!0,onDown:OpenLayers.Function.bind(this.setBasemap,this,b)});a.add(d);this.uiObj.add(d);this.menuItems[b]=d}this.menuItems[this.defaultBasemap].setActive(!0);this.setBasemap(this.defaultBasemap)}});
Fusion.Widget.Buffer=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,isExclusive:!1,layerName:null,layerNameInput:null,bufferDistance:null,bufferDistanceInput:null,bufferUnits:null,bufferUnitsInput:null,borderColor:null,borderColorInput:null,fillColor:null,fillColorInput:null,initializeWidget:function(a){a=a.extension;this.layerName=a.LayerName?a.LayerName[0]:"";this.layerNameInput=a.LayerNameInput?a.LayerNameInput[0]:null;this.bufferDistance=a.BufferDistance?parseFloat(a.BufferDistance[0]):"";
this.bufferDistanceInput=a.BufferDistanceInput?a.BufferDistanceInput[0]:null;this.bufferUnits=Fusion.unitFromName(a.BufferUnits?a.BufferUnits[0]:"meters");this.bufferUnitsInput=a.BufferUnitsInput?a.BufferUnitsInput[0]:null;this.borderColor=a.BorderColor?a.BorderColor[0]:"00000000";this.borderColorInput=a.BorderColorInput?a.BorderColorInput[0]:null;this.fillColor=a.FillColor?a.FillColor[0]:"00000000";this.fillColorInput=a.FillColorInput?a.FillColorInput[0]:null;this.layerNameInput&&(this.layerNameInput=
$(this.layerNameInput),this.setValue(this.layerNameInput,this.layerName));this.bufferDistanceInput&&(this.bufferDistanceInput=$(this.bufferDistanceInput),this.setValue(this.bufferDistanceInput,this.bufferDistance));this.bufferUnitsInput&&(this.bufferUnitsInput=$(this.bufferUnitsInput),this.setValue(this.bufferUnitsInput,this.bufferUnits));this.borderColorInput&&(this.borderColorInput=$(this.borderColorInput),this.setValue(this.borderColorInput,this.borderColor));this.fillColorInput&&(this.fillColorInput=
$(this.fillColorInput),this.setValue(this.fillColorInput,this.fillColor));this.enable=Fusion.Widget.Buffer.prototype.enable;this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_ON,OpenLayers.Function.bind(this.enable,this));this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_OFF,OpenLayers.Function.bind(this.disable,this))},setValue:function(a,b){if("input"==a.tagName.toLowerCase())switch(a.type){case "radio":case "checkbox":for(var d=0;d<a.length;d++)a[d].value==b&&(a[d].checked=!0);break;
case "button":case "hidden":case "image":case "password":case "reset":case "submit":case "text":a.value=b}"textarea"==a.tagName.toLowerCase()&&(a.value=b);if("select"==a.tagName.toLowerCase())for(d=0;d<a.options.length;d++)if(a.options[d].value==b){a.options[d].selected=!0;break}},getValue:function(a){if("input"==a.tagName.toLowerCase())switch(a.type){case "radio":case "checkbox":return a.value;case "file":case "button":case "hidden":case "image":case "password":case "reset":case "submit":case "text":return a.value}if("textarea"==
a.tagName.toLowerCase())return a.value;if("select"==a.tagName.toLowerCase())return a.options[a.selectedIndex].value},enable:function(){this.oMap&&this.oMap.hasSelection()?Fusion.Widget.prototype.enable.apply(this,[]):this.disable()},execute:function(){this.layerNameInput&&(this.layerName=this.getValue(this.layerNameInput));var a="&layer="+this.layerName,b;b=this.bufferDistanceInput?this.getValue(this.bufferDistanceInput):this.bufferDistance;var d;d=this.bufferUnitsInput?this.getValue(this.bufferUnitsInput):
this.bufferUnits;b="&distance="+Fusion.toMeter(Fusion.unitFromName(d),b);d="&bordercolor=";d=this.borderColorInput?d+this.getValue(this.borderColorInput):d+this.borderColor;var e="&fillcolor=",e=this.fillColorInput?e+this.getValue(this.fillColorInput):e+this.fillColor;this.getMap();var f=this.getMapLayer(),g=f.arch+"/"+Fusion.getScriptLanguage()+"/Buffer."+Fusion.getScriptLanguage(),h={};h.parameters="locale="+Fusion.locale+"&merge=1&session="+f.getSessionID()+"&mapname="+f.getMapName()+a+b+d+e;h.onComplete=
OpenLayers.Function.bind(this.bufferCreated,this);Fusion.ajaxRequest(g,h)},bufferCreated:function(){var a=this.getMapLayer(),b=a.getLayerByName(this.layerName);b&&(b.noCache=!0);a.reloadMap();a.drawMap()}});
Fusion.Widget.BufferPanel=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,sFeatures:"menubar=no,location=no,resizable=no,status=no",isExclusive:!1,initializeWidget:function(a){a=a.extension;this.sTarget=a.Target?a.Target[0]:"BufferPanelWindow";this.sBaseUrl=Fusion.getFusionURL()+"widgets/BufferPanel/BufferPanel.php";this.bSelectionOnly=!a.DisableIfSelectionEmpty||"true"!=a.DisableIfSelectionEmpty[0]&&"1"!=a.DisableIfSelectionEmpty[0]?!1:!0;this.additionalParameters=[];if(a.AdditionalParameter)for(var b=
0;b<a.AdditionalParameter.length;b++){var d=a.AdditionalParameter[b];this.additionalParameters.push(d.Key[0]+"="+encodeURIComponent(d.Value[0]))}this.enable=Fusion.Widget.BufferPanel.prototype.enable;this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_ON,OpenLayers.Function.bind(this.enable,this));this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_OFF,OpenLayers.Function.bind(this.enable,this));this.disable()},enable:function(){var a=this.getMap();this.bSelectionOnly||!a?a&&a.hasSelection()?
this.action?this.action.setEnabled(!0):Fusion.Widget.prototype.enable.apply(this,[]):this.action?this.action.setEnabled(!1):this.disable():this.action?this.action.setEnabled(!0):Fusion.Widget.prototype.enable.apply(this,[])},activate:function(){var a=this.sBaseUrl;this.getMap();var b=this.getMapLayer(),d=Fusion.getWidgetById(this.sTarget),e=$(this.sTarget),f=[];f.push("locale="+Fusion.locale);f.push("session="+b.getSessionID());f.push("mapname="+b.getMapName());d||e?f.push("popup=false"):f.push("popup=true");
f.push("us=0");f=f.concat(this.additionalParameters);0>a.indexOf("?")?a+="?":"&"!=a.slice(-1)&&(a+="&");a+=f.join("&");d?d.isSameWithLast(a)||d.setContent(a):e?e.src=a:window.open(a,this.sTarget,this.sWinFeatures)}});
Fusion.Widget.CenterSelection=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,initializeWidget:function(a){this.enable=Fusion.Widget.CenterSelection.prototype.enable;this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_ON,OpenLayers.Function.bind(this.enable,this));this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_OFF,OpenLayers.Function.bind(this.disable,this))},activate:function(){this.getMap().getSelection(OpenLayers.Function.bind(this.centerSelection,this))},centerSelection:function(a){for(var b=
this.getMap(),d=b.getCurrentExtents(),e=d[2]-d[0],d=d[3]-d[1],f=null,g=b.getAllMaps(),h=0;h<g.length;h++)if("MapGuide"==g[h].arch){f=g[h].getMapName();break}null!=f&&(g=a[f].getLowerLeftCoord(),a=a[f].getUpperRightCoord(),f=a.x-g.x,h=a.y-g.y,f<e&&h<d?b.zoom((a.x+g.x)/2,(a.y+g.y)/2,1):b.setExtents(new OpenLayers.Bounds(g.x-0.1*f,g.y-0.1*h,a.x+0.1*f,a.y+0.1*h)))},enable:function(){this.oMap&&this.oMap.hasSelection()?Fusion.Widget.prototype.enable.apply(this,[]):this.disable()}});
Fusion.Widget.ClearSelection=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,initializeWidget:function(a){this.enable=Fusion.Widget.ClearSelection.prototype.enable;this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_ON,OpenLayers.Function.bind(this.enable,this));this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_OFF,OpenLayers.Function.bind(this.disable,this))},activate:function(){this.getMap().clearSelection()},enable:function(){this.oMap&&this.oMap.hasSelection()?Fusion.Widget.prototype.enable.apply(this,
[]):this.disable()}});
Fusion.Widget.ColorPicker=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button.Color,colorInput:null,alpha:100,color:"#000000",colorButton:null,initializeWidget:function(a){a=a.extension;a.ColorInputId&&(this.colorInput=$(a.ColorInputId[0]));this.colorInput&&(this.alpha=100*parseInt("0x"+this.colorInput.value.substring(0,2))/255,this.color="#"+this.colorInput.value.substring(2),this.colorInput.widget=this)},setUiObject:function(a){Fusion.Widget.prototype.setUiObject.apply(this,[a]);this.uiObj.setColor(this.color);
this.uiObj.addEvent("change",OpenLayers.Function.bind(this.colorChanged,this))},colorChanged:function(a){a=parseInt(255*a.options.alpha/100).toString(16)+a.options.color.substring(1);this.colorInput&&(this.colorInput.value=a)}});
Fusion.Widget.CoordinateTracker=OpenLayers.Class(Fusion.Widget,{isExclusive:!1,uiClass:Jx.Button,template:"x: {x}<br/> y: {y}",taskPane:null,olMapProj:null,projections:{},sWinFeatures:"menubar=no,location=no,resizable=no,status=no,width=250,height=300",initializeWidget:function(a){a=a.extension;if(a.Projection)for(var b=0;b<a.Projection.length;b++){var d=a.Projection[b];this.projections[d]=new OpenLayers.Projection(d)}if(this.sTarget=a.Target?a.Target[0]:"")this.taskPane=new Fusion.Widget.CoordinateTracker.DefaultTaskPane(this)},
getDomId:function(a){return a.replace(":","_")},activate:function(){this.taskPane&&this.taskPane.loadDisplayPanel()},deactivate:function(){this.stopListening()},startListening:function(){this.olMapProj=this.getMap().oMapOL.getProjectionObject();this.getMap().oMapOL.events.register("mousemove",this.taskPane,this.taskPane.updateCoordinates)},stopListening:function(){this.olMapProj&&(this.olMapProj=null,this.getMap().oMapOL.events.unregister("mousemove",this.taskPane,this.taskPane.updateCoordinates))}});
Fusion.Widget.CoordinateTracker.DefaultTaskPane=OpenLayers.Class({widget:null,taskPaneWin:null,panelUrl:"widgets/CoordinateTracker/CoordinateTracker.php",map:null,initialize:function(a){this.widget=a;this.map=this.widget.getMap().oMapOL},loadDisplayPanel:function(){var a=Fusion.getFusionURL()+this.panelUrl,b=[];b.push("LOCALE="+Fusion.locale);0>a.indexOf("?")?a+="?":"&"!=a.slice(-1)&&(a+="&");var a=a+b.join("&"),b=Fusion.getWidgetById(this.widget.sTarget),d=window;b?(b.setContent(a),d=b.iframe.contentWindow):
d=window.open(a,this.widget.sTarget,this.widget.sWinFeatures);this.taskPaneWin=d;a=OpenLayers.Function.bind(this.initPanel,this);setTimeout(a,300)},updateCoordinates:function(a){if((lonLat=this.map.getLonLatFromPixel(a.xy))&&this.widget.olMapProj)for(var b in this.widget.projections){var d=lonLat.clone();d.transform(this.widget.olMapProj,this.widget.projections[b]);if(a=this.taskPaneWin.document.getElementById(this.widget.getDomId(b)))d=this.widget.template.replace("{x}",d.lon).replace("{y}",d.lat),
a.innerHTML=d}},initPanel:function(){var a=!1;try{a=this.taskPaneWin.bReady}catch(b){if(!a){a=OpenLayers.Function.bind(this.initPanel,this);setTimeout(a,300);return}}this.taskPaneWin.setWidget(this.widget)}});
Fusion.Widget.CursorPosition=OpenLayers.Class(Fusion.Widget,{defaultTemplate:"x: {x}, y: {y}",domSpan:null,units:Fusion.UNKNOWN,initializeWidget:function(a){var b=a.extension;this.template=b.Template?b.Template[0]:this.defaultTemplate;this.precision=b.Precision?parseInt(b.Precision[0]):-1;this.units=b.Units?Fusion.unitFromName(b.Units[0]):Fusion.UNKOWN;this.domSpan=document.createElement("span");this.domSpan.className="spanCursorPosition";this.domSpan.innerHTML=this.emptyText;this.emptyText=b.EmptyText?
b.EmptyText[0]:this.domObj?this.domObj.innerHTML:"";this.domObj&&(this.domObj.innerHTML="",this.domObj.appendChild(this.domSpan));this.displayProjection=b.DisplayProjection?new OpenLayers.Projection(b.DisplayProjection[0]):null;this.control=new OpenLayers.Control.MousePosition({div:this.domSpan,formatOutput:OpenLayers.Function.bind(this.formatHTML,this),emptyString:this.emptyText,displayProjection:this.displayProjection});this.getMap().oMapOL.addControl(this.control);this.getMap().registerForEvent(Fusion.Event.MAP_LOADED,
OpenLayers.Function.bind(this.setUnits,this));this.registerParameter("Units");Fusion.addWidgetStyleSheet(a.location+"/CursorPosition/CursorPosition.css")},setUiObject:function(a){Fusion.Widget.prototype.setUiObject.apply(this,[a]);this.uiObj.domObj?this.uiObj.domObj.appendChild(this.domSpan):this.uiObj.appendChild(this.domSpan)},formatHTML:function(a){if(!this.displayProjection){var b=this.getMap().projection.getUnits();this.units==Fusion.DEGREES&&"dd"!=b&&"degrees"!=b?(b=new OpenLayers.Projection('GEOGCS["LL84",DATUM["WGS84",SPHEROID["WGS84",6378137.000,298.25722293]],PRIMEM["Greenwich",0],UNIT["Degree",0.01745329251994]]'),
a=a.transform(this.getMap().projection,b)):this.units!=Fusion.UNKNOWN&&(b=this.getMap().getMetersPerUnit(),a.lon=Fusion.fromMeter(this.units,a.lon*b),a.lat=Fusion.fromMeter(this.units,a.lat*b));0<=this.precision&&(b=Math.pow(10,this.precision),a.lon=Math.round(a.lon*b)/b,a.lat=Math.round(a.lat*b)/b)}var b=Fusion.unitAbbr(this.units),d=this.template.replace("{x}",a.lon.toFixed(this.precision)),d=d.replace("{y}",a.lat.toFixed(this.precision));return d=d.replace("{units}",b).replace("{units}",b)},setUnits:function(){this.units==
Fusion.UNKNOWN&&this.setParameter("Units",this.getMap().getUnits())},setParameter:function(a,b){if("Units"==a){var d=b;this.displayProjection&&(d=this.displayProjection.getUnits());this.units=Fusion.unitFromName(d)}}});
Fusion.Widget.EditableScale=OpenLayers.Class(Fusion.Widget,{precision:4,initializeWidget:function(a){var b=a.extension;this.domPrefix=document.createElement("span");this.domPrefix.className="inputEditableScalePrefix";this.domPrefix.innerHTML="1: ";this.domScale=document.createElement("input");this.domScale.className="inputEditableScale";OpenLayers.Event.observe(this.domScale,"keypress",OpenLayers.Function.bindAsEventListener(this.keyPressHandler,this));this.precision=b.Precision?parseInt(b.Precision[0]):
this.precision;this.getMap().registerForEvent(Fusion.Event.MAP_EXTENTS_CHANGED,OpenLayers.Function.bind(this.scaleChanged,this));Fusion.addWidgetStyleSheet(a.location+"/EditableScale/EditableScale.css");this.domObj&&(this.domObj.appendChild(this.domPrefix),this.domObj.appendChild(this.domScale))},setUiObject:function(a){Fusion.Widget.prototype.setUiObject.apply(this,[a]);this.uiObj.domObj?(this.uiObj.domObj.appendChild(this.domPrefix),this.uiObj.domObj.appendChild(this.domScale)):(this.uiObj.appendChild(this.domPrefix),
this.uiObj.appendChild(this.domScale))},scaleChanged:function(){this.domScale.value=this.scaleToString(this.getMap().oMapOL.getScale())},scaleToString:function(a){a=Math.abs(parseFloat(a));return""+Math.round(a*Math.pow(10,this.precision))/Math.pow(10,this.precision)},keyPressHandler:function(a){a.keyCode==OpenLayers.Event.KEY_RETURN&&this.zoomToScale()},zoomToScale:function(a){(a=parseFloat(this.domScale.value))&&this.getMap().zoomToScale(a)}});Fusion.Event.HISTORY_CHANGED=Fusion.Event.lastEventId++;
Fusion.Widget.ExtentHistory=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,events:[],aHistory:[],sDirection:null,EPS:1E-8,initializeWidget:function(a){a=a.extension;a=a.Direction?a.Direction[0].toLowerCase():"previous";this.sDirection="previous"!=a&&"next"!=a?"previous":a;this.aHistory.history||(this.aHistory.history=[],this.aHistory.index=-1,this.getMap().registerForEvent(Fusion.Event.MAP_EXTENTS_CHANGED,OpenLayers.Function.bind(this.extentsChanged,this)),this.getMap().registerForEvent(Fusion.Event.MAP_LOADED,
OpenLayers.Function.bind(this.reset,this)));this.disable=this.enable=Fusion.Widget.ExtentHistory.prototype.historyChanged;this.registerEventID(Fusion.Event.HISTORY_CHANGED);this.registerForEvent(Fusion.Event.HISTORY_CHANGED,OpenLayers.Function.bind(this.historyChanged,this));this.disable()},reset:function(){this.getMap().isMapLoaded()?(this.aHistory.history=[this.getMap().getCurrentExtents()],this.aHistory.index=0):(this.aHistory.history=[],this.aHistory.index=-1);this.historyChanged()},extentsChanged:function(){var a=
this.getMap().getCurrentExtents();if(0==this.aHistory.history.length)this.aHistory.history.push(a),this.aHistory.index=0;else{if(this.boundsEqual(a,this.aHistory.history[this.aHistory.index]))return;this.aHistory.index!=this.aHistory.history.length-1&&(this.aHistory.history=this.aHistory.history.slice(0,this.aHistory.index+1));this.aHistory.history.push(a);this.aHistory.index=this.aHistory.history.length-1}this.triggerEvent(Fusion.Event.HISTORY_CHANGED)},historyChanged:function(){"previous"==this.sDirection?
0<this.aHistory.index?Fusion.Widget.prototype.enable.apply(this,[]):Fusion.Widget.prototype.disable.apply(this,[]):this.aHistory.index<this.aHistory.history.length-1?Fusion.Widget.prototype.enable.apply(this,[]):Fusion.Widget.prototype.disable.apply(this,[])},activate:function(){"previous"==this.sDirection?0<this.aHistory.index&&(this.aHistory.index--,this.getMap().setExtents(this.aHistory.history[this.aHistory.index]),this.triggerEvent(Fusion.Event.HISTORY_CHANGED)):this.aHistory.index<this.aHistory.history.length-
1&&(this.aHistory.index++,this.getMap().setExtents(this.aHistory.history[this.aHistory.index]),this.triggerEvent(Fusion.Event.HISTORY_CHANGED))},boundsEqual:function(a,b){var d=!1;0==b.top&&(a.top+=100,b.top+=100);0==b.bottom&&(a.bottom+=100,b.bottom+=100);0==b.left&&(a.left+=100,b.left+=100);0==b.right&&(a.right+=100,b.right+=100);return d=Math.abs((a.top-b.top)/b.top)<this.EPS&&Math.abs((a.bottom-b.bottom)/b.bottom)<this.EPS&&Math.abs((a.left-b.left)/b.left)<this.EPS&&Math.abs((a.right-b.right)/
b.right)<this.EPS}});
Fusion.Widget.FeatureInfo=OpenLayers.Class(Fusion.Widget,{isExclusive:!1,uiClass:Jx.Button,sFeatures:"menubar=no,location=no,resizable=no,status=no",oTarget:null,initializeWidget:function(a){a=a.extension;this.sTarget=a.Target?a.Target[0]:"FeatureInfoWindow";this.sBaseUrl=Fusion.getFusionURL()+"widgets/FeatureInfo/featureinfomain.php"},activate:function(){var a=this.sBaseUrl;this.mapWidget=this.getMap();var b=this.getMapLayer(),d=Fusion.getWidgetById(this.sTarget),e=$(this.sTarget),f=[];f.push("LOCALE="+
Fusion.locale);f.push("SESSION="+b.getSessionID());f.push("MAPNAME="+b.getMapName());d||e?f.push("POPUP=false"):f.push("POPUP=true");0>a.indexOf("?")?a+="?":"&"!=a.slice(-1)&&(a+="&");a+=f.join("&");d?(d.isSameWithLast(a)||d.setContent(a),this.oTarget=d.iframe.contentWindow):e?(e.src=a,this.oTarget=e):this.oTarget=window.open(a,this.sTarget,this.sWinFeatures)},deactivate:function(){this.mapWidget.message.clear();this.oTarget&&this.oTarget.ClearDigitization&&this.oTarget.ClearDigitization(!0)}});
Fusion.Widget.Geolocation=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,nZoom:null,bEnableHighAccuracy:!1,nTimeout:5E3,nMaximumAge:0,geoProj:null,initializeWidget:function(a){a=a.extension;var b={};a.ZoomLevel&&(this.nZoom=parseInt(a.ZoomLevel[0]));a.EnableHighAccuracy&&(b.enableHighAccuracy="true"==a.EnableHighAccuracy[0]);a.Timeout&&(b.timeout=parseInt(a.Timeout[0]));a.MaximumAge&&(b.maximumAge=parseInt(a.MaximumAge[0]));this.geoOptions=b;this.enable()},onPositionError:function(a){switch(a.code){case 1:this.getMap().message.error(a.message);
case 2:this.getMap().message.error(a.message);case 3:this.getMap().message.error(a.message);default:console.error("Error with geolocation: ("+a.code+") "+a.message)}},onPositionRetrieved:function(a){var b=this.getMap(),d=b.oMapOL;null==this.geoProj&&(this.geoProj=new OpenLayers.Projection("EPSG:4326"));var e=d.projection;a=new OpenLayers.LonLat(a.coords.longitude,a.coords.latitude);a.transform(this.geoProj,e);var f=null;b.initialExtents.contains(a)?d.maxExtent.contains(a)||(f=OpenLayers.i18n("currentPositionOutsideMaxExtent")):
f=OpenLayers.i18n("currentPositionOutsideInitialView");if(null!=f){var g=this.getMap().message;g.warn(f);setTimeout(function(){g.hideDesignatedMessage(f)},5E3)}null==this.nZoom?d.moveTo(a):(d=b.getExtentFromPoint(a.lon,a.lat,this.nZoom),b.setExtents(d))},activate:function(){"undefined"==typeof navigator.geolocation?alert(OpenLayers.i18n("geolocation_unsupported")):navigator.geolocation.getCurrentPosition(OpenLayers.Function.bind(this.onPositionRetrieved,this),OpenLayers.Function.bind(this.onPositionError,
this),this.geoOptions)}});Fusion.Event.GET_FEATURE_INFO_COMPLETE=Fusion.Event.lastEventId++;
Fusion.Widget.GetFeatureInfo=OpenLayers.Class(Fusion.Widget,{wmsLayers:[],isExclusive:!0,uiClass:Jx.Button,initializeWidget:function(a){a=this.getMap().oMapOL;this.handler=new OpenLayers.Handler.Click({map:a},{click:OpenLayers.Function.bind(this.issueRequest,this)});this.registerEventID(Fusion.Event.GET_FEATURE_INFO_COMPLETE);this.getMap().registerEventID(Fusion.Event.WMS_LAYER_ADDED);this.getMap().registerForEvent(Fusion.Event.WMS_LAYER_ADDED,OpenLayers.Function.bind(this.layerAdded,this));this.cursorNormal=
["url('images/grab.cur'),move","grab","-moz-grab","move"]},activateTool:function(){this.getMap().activateWidget(this)},activate:function(){this.handler.activate()},deactivate:function(){this.handler.deactivate()},issueRequest:function(a){if(1>this.wmsLayers.length)alert("there are no WMS layers to query");else{var b=this.getMap(),d=b.getActiveLayer(),e=null;if(d)for(var f=0;f<this.wmsLayers.length;++f)if(d.layerName==this.wmsLayers[f].wms_name){e=this.wmsLayers[f];break}e?(d="text/html",a.shiftKey?
d="text/plain":a.ctrlKey&&(d="text/xml"),f=b.oMapOL.getSize(),b.oMapOL.getLonLatFromPixel(a.xy),b={REQUEST:"GetFeatureInfo",VERSION:e.wms_version,SRS:e.wms_srs,FORMAT:e.wms_format,STYLES:"",EXCEPTIONS:"application/vnd.ogc.se_xml",BBOX:b.getCurrentExtents().toBBOX(),X:a.xy.x,Y:a.xy.y,INFO_FORMAT:d,LAYERS:e.wms_name,QUERY_LAYERS:e.wms_name,WIDTH:f.w,HEIGHT:f.h},d=0>e.wms_connection.indexOf("?")?"?":"&",e=e.wms_connection+d+OpenLayers.Util.getParameterString(b),window.open(e),OpenLayers.Event.stop(a)):
alert("Please select a WMS layer by clicking on the layer name in the legend.")}},displayResults:function(a,b){},getFeatureInfoFailed:function(a,b){},layerAdded:function(a,b){for(var d=0;d<b.length;++d)this.wmsLayers.push(b[d])}});Fusion.require("lib/SymbolLayer.js");
Fusion.Widget.GoogleStreetViewer=OpenLayers.Class(Fusion.Widget,{isExclusive:!1,uiClass:Jx.Button,windowFeatures:"menubar=no,location=no,resizable=no,status=no,width=500,height=400",targetWindow:null,GoogleSVPage:null,targetCs:null,additionalParameters:null,activated:!1,symbolLayerName:"GoogleStreetViewerSymbolLayer",symbolLayer:null,symbolStyle:{externalGraphic:Fusion.getFusionURL()+"widgets/GoogleStreetViewer/navigator.png",graphicHeight:32,graphicWidth:48,graphicOpacity:1,rotation:0},symbolRadius:16,
showDirection:!0,directionStyle:{fillColor:"black",fillOpacity:0.4,strokeColor:"black",strokeOpacity:1,strokeWidth:3,strokeLinecap:"round",strokeDashstyle:"dash",hoverStrokeColor:"black",hoverStrokeOpacity:1,hoverStrokeWidth:0.2},directionLength:22,csTransformErrorMessage:null,serviceUnavailableMessage:null,googleBaseMapErrorMessage:null,initializeWidget:function(a){Fusion.Widget.GoogleStreetViewer.hasGSV=!0;this.csTransformErrorMessage=OpenLayers.i18n("googleSteetViewCSTransformError");this.serviceUnavailableMessage=
OpenLayers.i18n("googleSteetViewNotAvailableError");this.googleBaseMapErrorMessage=OpenLayers.i18n("googleBaseMapNotOnError");this.targetCs=new OpenLayers.Projection("EPSG:4326");a=a.extension;this.targetWindow=a.Target?a.Target[0]:"TaskPane";null!=a.SymbolLayerName&&0!=a.SymbolLayerName[0].length&&(this.symbolLayerName=a.SymbolLayerName[0]);null!=a.ShowDirection&&null!=a.ShowDirection[0]&&(this.showDirection="false"===a.ShowDirection[0].toLowerCase()?!1:!0);if(null!=a.DirectionLength&&null!=a.DirectionLength[0]&&
""!=a.DirectionLength[0])try{this.directionLength=parseInt(a.DirectionLength[0])}catch(b){}this.additionalParameters=[];if(a.AdditionalParameter)for(var d=0;d<a.AdditionalParameter.length;d++){var e=a.AdditionalParameter[d];this.additionalParameters.push(e.Key[0]+"="+encodeURIComponent(e.Value[0]))}Fusion.Widget.GoogleStreetViewer.prototype.enable||this.disable();this.getMap().oMapOL.events.register("changebaselayer",this,this.baseMapChanged)},baseMapChanged:function(a){!this.isGoogleBaseMapOn()&&
this.activated&&(this.deactivate(),alert(this.googleBaseMapErrorMessage))},isGoogleBaseMapOn:function(){for(var a=this.getMap().aMaps,b=0;b<a.length;b++)if(a[b].oLayerOL===this.getMap().oMapOL.baseLayer&&"Google"===a[b].layerType)return!0;return!1},activate:function(){if(!this.isGoogleBaseMapOn())this.activated&&this.deactivate(),alert(this.googleBaseMapErrorMessage);else if(!this.activated){this.setGoogleSVPage(null);this.symbolLayer||(this.symbolLayer=Fusion.SymbolLayer.CreateOrGet(this.symbolLayerName,
{map:this.getMap().oMapOL,symbolStyle:this.symbolStyle,symbolRadius:this.symbolRadius,showDirection:this.showDirection,directionStyle:this.directionStyle,directionLength:this.directionLength}));this.symbolLayer.registerListener(this);this.symbolLayer.activateDragControl();this.activated=!0;var a=Fusion.getFusionURL()+"widgets/GoogleStreetViewer/GoogleStreetView.php",b=Fusion.getWidgetById(this.targetWindow),d=$(this.targetWindow),e=[];e.push("ts="+(new Date).getTime());e.push("locale="+Fusion.locale);
b||d?e.push("popup=false"):e.push("popup=true");e=e.concat(this.additionalParameters);0>a.indexOf("?")?a+="?":"&"!=a.slice(-1)&&(a+="&");a+=e.join("&");b?b.setContent(a):d?d.src=a:window.open(a,this.targetWindow,this.windowFeatures)}},deactivate:function(){this.activated&&(this.activated=!1,null!=this.symbolLayer&&this.symbolLayer.deregisterListener(this),this.hideMessage(this.csTransformErrorMessage),this.hideMessage(this.serviceUnavailableMessage),this.hideMessage(this.googleBaseMapErrorMessage),
null!=this.GoogleSVPage&&(this.GoogleSVPage.deregisterViewChangeListener(this),this.GoogleSVPage.hidePage()))},onSymbolChanged:function(a){if(this.GoogleSVPage&&this.symbolLayer&&a){var b=new OpenLayers.LonLat(a.x,a.y),d=new OpenLayers.LonLat(a.targetX,a.targetY),e=this.getMap().projection;try{b.transform(e,this.targetCs);d.transform(e,this.targetCs);this.hideMessage(this.csTransformErrorMessage);var f=this.getUnitsPerMeter(this.targetCs),g=this.getUnitsPerMeter(e);this.GoogleSVPage.setView(b.lon,
b.lat,a.z*f/g,d.lon,d.lat,a.targetZ*f/g)}catch(h){this.showMessage(this.csTransformErrorMessage)}}},getUnitsPerMeter:function(a){if(null==a.proj)return 1;var b=a.proj.unitIndex;if(null==b){b=a.proj.units;if(!b)return 1;b=Fusion.unitFromName(b);a.proj.unitIndex=b}return Fusion.fromMeter(b,1)},onStreetViewChange:function(a){if(this.activated&&this.GoogleSVPage&&a){var b=a.x,d=a.y,e=a.z,f=a.targetX,g=a.targetY;a=a.targetZ;var h=new OpenLayers.LonLat(b,d),l=new OpenLayers.LonLat(f,g),m=this.getMap().projection;
try{h.transform(this.targetCs,m);l.transform(this.targetCs,m);this.hideMessage(this.csTransformErrorMessage);var b=h.lon,d=h.lat,f=l.lon,g=l.lat,q=this.getUnitsPerMeter(this.targetCs),r=this.getUnitsPerMeter(m),e=e*r/q;a=a*r/q;this.getMap().getCurrentExtents().contains(b,d)||this.getMap().zoom(b,d,1);this.symbolLayer.updateSymbolPosition(b,d,e,f,g,a,this)}catch(u){this.showMessage(this.csTransformErrorMessage)}}},setGoogleSVPage:function(a){null!=this.GoogleSVPage&&this.GoogleSVPage.deregisterViewChangeListener(this);
this.GoogleSVPage=a;if(null!=a)if(this.GoogleSVPage.registerViewChangeListener(this),this.GoogleSVPage.camera)this.onStreetViewChange(this.GoogleSVPage.camera);else if(this.symbolLayer||this.symbolLayer.position){a=this.getMap().getCurrentCenter();var b=this.getMap().geoToPix(a.x,a.y),b=this.getMap().pixToGeo(b.x,b.y-10);this.symbolLayer.updateSymbolPosition(a.x,a.y,0,b.x,b.y,0,null)}else this.onSymbolChanged(this.symbolLayer.position);else if(this.activated){a=Fusion.Widget.uiInstances[this.type];
for(b=0;b<a.length;b++){var d=a[b];d.shouldActivateWith(this)&&d.deactivate()}this.deactivate()}},showMessage:function(a){this.getMap().message.warn(a)},hideMessage:function(a){this.getMap().message&&this.getMap().message.hideDesignatedMessage(a)}});"undefined"!=typeof Proj4js&&(Proj4js.reportError=function(a){if(Fusion.Widget.GoogleStreetViewer.hasGSV)throw a;});
Fusion.Widget.Help=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,sFeatures:"menubar=no,location=no,resizable=no,status=no",target:"HelpWindow",baseUrl:null,defaultUrl:"widgets/Help/Help.html",initializeWidget:function(a){var b=a.extension;this.target=b.Target?b.Target[0]:"HelpWindow";this.baseUrl=b.Url?b.Url[0]:this.defaultUrl;this.baseUrl==this.defaultUrl&&(this.baseUrl=Fusion.getFusionURL()+this.baseUrl);a.Disabled&&"true"==a.Disabled[0].toLowerCase()||this.enable()},activate:function(){var a=
this.baseUrl,b=this.getMapLayer(),d=[];d.push("LOCALE="+Fusion.locale);d.push("SESSION="+b.getSessionID());d.push("MAPNAME="+b.getMapName());0>a.indexOf("?")?a+="?":"&"!=a.slice(-1)&&(a+="&");a+=d.join("&");(b=Fusion.getWidgetById(this.target))?b.isSameWithLast(a)||b.setContent(a):(b=$(this.target))?b.src=a:window.open(a,this.target,this.sWinFeatures)}});
Fusion.Widget.InitialMapView=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,viewType:"initial",initializeWidget:function(a){a=a.extension;a.ViewType&&"full"==a.ViewType[0].toLowerCase()&&(this.viewType="full")},activate:function(){if("full"==this.viewType)this.getMap().fullExtents();else{var a=this.getMap();a.setExtents(a.initialExtents)}}});
Fusion.Widget.InvokeScript=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,script:null,initializeWidget:function(a){a=a.extension;this.script=a.Script?a.Script[0]:""},activate:function(){eval(this.script)}});
Fusion.Widget.InvokeURL=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,sFeatures:"menubar=no,location=no,resizable=no,status=no",initializeWidget:function(a){a=a.extension;this.sTarget=a.Target?a.Target[0]:"InvokeUrlWindow";this.sBaseUrl=a.Url[0];this.bSelectionOnly=!a.DisableIfSelectionEmpty||"true"!=a.DisableIfSelectionEmpty[0]&&"1"!=a.DisableIfSelectionEmpty[0]?!1:!0;this.additionalParameters=[];if(a.AdditionalParameter)for(var b=0;b<a.AdditionalParameter.length;b++){var d=a.AdditionalParameter[b];
this.additionalParameters.push(d.Key[0]+"="+encodeURIComponent(d.Value[0]))}this.enable=Fusion.Widget.InvokeURL.prototype.enable;this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_ON,OpenLayers.Function.bind(this.enable,this));this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_OFF,OpenLayers.Function.bind(this.enable,this));this.disable()},enable:function(){var a=this.getMap(),b=this.getMapLayer();this.bSelectionOnly||!a?a&&a.hasSelection()?(b._sQueryfile&&this.additionalParameters.push("queryfile="+
b._sQueryfile),this.action?this.action.setEnabled(!0):Fusion.Widget.prototype.enable.apply(this,[])):this.action?this.action.setEnabled(!1):this.disable():this.action?this.action.setEnabled(!0):Fusion.Widget.prototype.enable.apply(this,[])},activate:function(){var a=this.sBaseUrl,b=this.getMapLayer(),d=[];d.push("locale="+Fusion.locale);d.push("session="+b.getSessionID());d.push("mapname="+b.getMapName());d.push("ts="+(new Date).getTime());d=d.concat(this.additionalParameters);0>a.indexOf("?")?a+=
"?":"&"!=a.slice(-1)&&(a+="&");a+=d.join("&");(b=Fusion.getWidgetById(this.sTarget))?b.isSameWithLast(a)||b.setContent(a):(b=$(this.sTarget))?b.src=a:window.open(a,this.sTarget,this.sFeatures)}});
Fusion.Widget.LayerManager=OpenLayers.Class(Fusion.Widget,{currentNode:null,bIsDrawn:!1,map:null,defTemplate:'<li id="{id}" class="jxListItemContainer jxLmanLayer"><a class="jxListItem lmanLabel" href="javascript:void(0);" alt="{label}" title="{label}"><input type="checkbox" class="lmanVisCheck" {visSelect}><img class="lmanLayerIcon" src="'+Jx.aPixel.src+'" style="background-image: url({icon}); background-position: {iconOffset}; width:16px; height:16px;"><span class="lmanLayerLabel">{label}</span><img src="{delIcon}" class="lmanDelIcon"><img src="{infoIcon}" class="lmanInfoIcon"></a></li>',
initializeWidget:function(a){var b=a.extension;this.delIconSrc=b.DeleteIcon?b.DeleteIcon[0]:"images/icons/select-delete.png";this.infoIconSrc=b.LayerInfoIcon?b.LayerInfoIcon[0]:"images/icons/tree_layer_info.png";this.template=b.Template?b.Template[0]:this.defTemplate;Fusion.addWidgetStyleSheet(a.location+"LayerManager/LayerManager.css");this.cursorNormal=["url('images/grab.cur'),move","grab","-moz-grab","move"];this.cursorDrag=["url('images/grabbing.cur'),move","grabbing","-moz-grabbing","move"];
this.map=this.getMap();this.map.registerForEvent(Fusion.Event.MAP_LOADED,OpenLayers.Function.bind(this.mapLoaded,this));this.map.registerForEvent(Fusion.Event.MAP_RELOADED,OpenLayers.Function.bind(this.mapReLoaded,this));this.map.registerForEvent(Fusion.Event.MAP_SCALE_RANGE_LOADED,OpenLayers.Function.bind(this.scaleRangeLoaded,this));this.getMapLayer().registerForEvent(Fusion.Event.LAYER_PROPERTY_CHANGED,OpenLayers.Function.bind(this.layerChanged,this))},scaleRangeLoaded:function(){this.draw()},
mapLoaded:function(){},layerChanged:function(a,b){this.updateLayer(this.getMapLayer());this.updateSessionMapFile()},mapReLoaded:function(){this.draw()},clear:function(a){for(;0<a.childNodes.length;)this.clear(a.childNodes[0]),a.removeChild(a.childNodes[0])},draw:function(a){var b=this.domObj.getChildren();for(a=0;a<b.length;++a)b[a].destroy();b=this.getMap();for(a=0;a<b.aMaps.length;++a){var d=new Element("div",{id:"mapBlock_"+a});d.map=b;var e=new Element("a",{html:b.aMaps[a]._sMapTitle,"class":"jxLmanHandle jxListItem"});
d.adopt(e);this.processMapBlock(d,b.aMaps[a]);this.domObj.adopt(d)}},processMapBlock:function(a,b){b.layerList=(new Jx.ListView({"class":"jxLmanSet",id:"fusionLayerManager_"+b.getMapName()})).addTo(a);b.layerPrefix="layer_";for(var d=b.aLayers,e=0;e<d.length;++e)this.createItem(d[e]).addTo(b.layerList);d={constrain:!0,clone:!1,revert:!0,onComplete:OpenLayers.Function.bind(this.updateLayer,this,b)};new Sortables(b.layerList,d)},createItem:function(a){var b=a.oMap.getScale(),d=a.getScaleRange(b),b=
Jx.aPixel.src,e="0px 0px",f=a.legendLabel;if(d&&0<d.styles.length){var d=d.styles[0],g=e=0;d&&0<=d.iconX&&0<=d.iconY&&(e=-1*d.iconX,g=-1*d.iconY);b=d.iconOpt.url;e=e+"px "+g+"px";d.legendLabel&&(f=d.legendLabel)}b=this.template.substitute({id:"layer_"+a.uniqueId,label:f,icon:b,iconOffset:e,delIcon:this.delIconSrc,infoIcon:this.infoIconSrc,visSelect:a.visible?"CHECKED":""});b=new Jx.ListItem({template:b});d=b.domObj.getElements("img");f=d[2];d=d[1];a.oMap.getLayerInfoUrl(a.layerName)||(f.style.display=
"none");OpenLayers.Event.observe(f,"click",OpenLayers.Function.bind(this.showLayerInfo,this,a));OpenLayers.Event.observe(d,"click",OpenLayers.Function.bind(this.deleteLayer,this,a));OpenLayers.Event.observe(b.domObj.getElement("input"),"click",OpenLayers.Function.bind(this.visChanged,this,a));OpenLayers.Event.observe(b.domObj,"mouseover",OpenLayers.Function.bind(this.setGrabCursor,this));OpenLayers.Event.observe(b.domObj,"mousedown",OpenLayers.Function.bind(this.setDragCursor,this));OpenLayers.Event.observe(b.domObj,
"mouseout",OpenLayers.Function.bind(this.setNormalCursor,this));OpenLayers.Event.observe(b.domObj,"mouseover",OpenLayers.Function.bind(this.setHandleVis,this,d,f));OpenLayers.Event.observe(b.domObj,"mouseout",OpenLayers.Function.bind(this.setHandleHide,this,d,f));return b},setHandleVis:function(a,b){a.style.visibility="visible";b.style.visibility="visible"},setHandleHide:function(a,b){a.style.visibility="hidden";b.style.visibility="hidden"},setGrabCursor:function(a){a=(new Event(a)).target;this.setCursor(this.cursorDrag,
a)},setDragCursor:function(a){a=(new Event(a)).target;this.setCursor(this.cursorDrag,a)},setNormalCursor:function(a){a=(new Event(a)).target;this.setCursor("auto",a)},setCursor:function(a,b){if((this.cursor=a)&&a.length&&"object"==typeof a)for(var d=0;d<a.length&&(b.style.cursor=a[d],b.style.cursor!=a[d]);d++);else b.style.cursor="string"==typeof a?a:"auto"},updateLayer:function(a){for(var b=[],d=[],e=a.layerList.listObj.getChildren(),f=e.length,g=0;g<f;++g){d[g]=e[g].id.split("_");var h=parseInt(d[g].pop());
b.push(h);e[g].id=""}for(g=0;g<e.length;++g)f=e[g],d[g].push(g),f.id=d[g].join("_");d=!1;if(b.length==a.aLayers.length)for(g=0;g<b.length;++g){if(b[g]!=g){d=!0;break}}else d=!0;d&&a.reorderLayers(b)},updateMapBlock:function(a){},deleteLayer:function(a,b){var d=(new Event(b)).target.parentNode.parentNode;$(d).dispose();a.oMap.layerList.remove(d);this.oMap.layerRoot.deleteLayer(a.uniqueId);this.updateLayer(a.oMap)},showLayerInfo:function(a,b){var d=a.oMap.getLayerInfoUrl(a.layerName);d&&window.open(d)},
visChanged:function(a,b){(new Event(b)).target.checked?a.show():a.hide()},updateSessionMapFile:function(){for(var a=this.getMapLayer(),b=a.getSessionID(),d=a.aLayers,e=[],f=[],g=0;g<d.length;g++)e.push(d[g].layerName),!0==d[g].visible&&f.push(d[g].layerName);b={parameters:"&session="+b+"&mapname="+a.getMapName()+"&visLayers="+f+"&layers="+e};a="layers/"+a.arch+"/"+Fusion.getScriptLanguage()+"/updateSessionMapFile."+Fusion.getScriptLanguage();Fusion.ajaxRequest(a,b)}});
Fusion.Widget.Legend=OpenLayers.Class(Fusion.Widget,{defaultLayerDWFIcon:"images/icons/legend-DWF.png",defaultLayerRasterIcon:"images/icons/legend-raster.png",defaultLayerThemeIcon:"images/icons/legend-theme.png",defaultDisabledLayerIcon:"images/icons/legend-layer.png",defaultRootFolderIcon:"images/icons/legend-map.png",defaultLayerInfoIcon:"images/icons/layer-info.png",defaultGroupInfoIcon:"images/icons/group-info.png",outOfRangeIcon:"images/icons/out-of-range.png",initializeWidget:function(a){Fusion.addWidgetStyleSheet(a.location+
"Legend/Legend.css");var b=a.extension;b.LegendRenderer?(b=eval(b.LegendRenderer[0]))&&b.prototype.CLASS_NAME&&"Fusion.Widget.Legend.LegendRenderer"==b.prototype.CLASS_NAME?this.renderer=new b(this,a):"function"==typeof b?(this.renderer=new Fusion.Widget.Legend.LegendRenderer(this),this.renderer.mapLoaded=b,this.renderer.mapReloaded=b,this.renderer.mapLoading=!1):this.renderer=new Fusion.Widget.Legend.LegendRendererDefault(this,a):this.renderer=new Fusion.Widget.Legend.LegendRendererDefault(this,
a);this.renderer.mapReloaded&&this.getMap().registerForEvent(Fusion.Event.MAP_RELOADED,OpenLayers.Function.bind(this.renderer.mapReloaded,this.renderer));this.renderer.mapLoading&&this.getMap().registerForEvent(Fusion.Event.MAP_LOADING,OpenLayers.Function.bind(this.renderer.mapLoading,this.renderer));this.renderer.mapLoaded&&this.getMap().registerForEvent(Fusion.Event.MAP_LOADED,OpenLayers.Function.bind(this.renderer.mapLoaded,this.renderer));this.renderer.scaleRangesLoaded&&this.getMap().registerForEvent(Fusion.Event.MAP_SCALE_RANGE_LOADED,
OpenLayers.Function.bind(this.renderer.scaleRangesLoaded,this.renderer))}});Fusion.Widget.Legend.LegendRenderer=OpenLayers.Class({oLegend:null,layerRoot:null,initialize:function(a){this.oLegend=a;this.layerRoot=this.getMap().layerRoot},renderLegend:function(){},mapLoading:function(){},mapLoaded:function(){},mapReloaded:function(){},mapRefresh:function(){},getMap:function(){return this.oLegend.getMap()},CLASS_NAME:"Fusion.Widget.Legend.LegendRenderer"});
Fusion.Widget.Legend.LegendRendererDefault=OpenLayers.Class(Fusion.Widget.Legend.LegendRenderer,{showRootFolder:!1,currentNode:null,bIsDrawn:!1,updateDelay:500,targetFolder:null,bIncludeVisToggle:!0,offsetsCalculated:!1,initialize:function(a,b){Fusion.Widget.Legend.LegendRenderer.prototype.initialize.apply(this,[a]);var d=b.extension;this.imgLayerDWFIcon=d.LayerDWFIcon?d.LayerDWFIcon[0]:this.oLegend.defaultLayerDWFIcon;this.imgLayerRasterIcon=d.LayerRasterIcon?d.LayerRasterIcon[0]:this.oLegend.defaultLayerRasterIcon;
this.imgLayerThemeIcon=d.LayerThemeIcon?d.LayerThemeIcon[0]:this.oLegend.defaultLayerThemeIcon;this.imgDisabledLayerIcon=d.DisabledLayerIcon?d.DisabledLayerIcon[0]:this.oLegend.defaultDisabledLayerIcon;this.imgLayerInfoIcon=d.LayerInfoIcon?d.LayerInfoIcon[0]:this.oLegend.defaultLayerInfoIcon;this.imgGroupInfoIcon=d.GroupInfoIcon?d.GroupInfoIcon[0]:this.oLegend.defaultGroupInfoIcon;this.selectedLayer=null;this.selection=new Jx.Selection({onSelect:function(a){a=a.retrieve("jxTreeItem").options.data;
a instanceof Fusion.Layers.Group?this.getMap().setActiveLayer(null):this.getMap().setActiveLayer(a)}.bind(this)});this.oTree=(new Jx.Tree({template:'<ul class="jxTreeRoot fusionLegendTreeRoot"></ul>',selection:this.selection})).addTo(this.oLegend.domObj);this.hideInvisibleLayers="true"==(d.HideInvisibleLayers&&d.HideInvisibleLayers[0])?!0:!1;this.showRootFolder=d.ShowRootFolder&&"true"==d.ShowRootFolder[0]?!0:!1;this.showMapFolder=d.ShowMapFolder&&"false"==d.ShowMapFolder[0]?!1:!0;this.showRootFolder?
(d={label:OpenLayers.i18n("defaultMapTitle"),open:!0},this.oRoot=new Jx.TreeFolder(d),this.oTree.add(this.oRoot)):this.oRoot=this.oTree;this.extentsChangedWatcher=this.update.bind(this)},getContextMenu:function(){return(new Jx.Menu.Context(this.name)).add([new Jx.Menu.Item({label:OpenLayers.i18n("refresh"),onClick:OpenLayers.Function.bind(this.update,this)}),new Jx.Menu.Item({label:OpenLayers.i18n("collapseAll"),onClick:OpenLayers.Function.bind(this.collapseAll,this)}),new Jx.Menu.Item({label:OpenLayers.i18n("expandAll"),
onClick:OpenLayers.Function.bind(this.expandAll,this)})])},expandAll:function(a){this.oTree.items().each(function(a){a instanceof Jx.TreeFolder&&this.recurseTree("expand",a)},this);this.showRootFolder&&this.oRoot.expand()},collapseAll:function(a){this.oTree.items().each(function(a){a instanceof Jx.TreeFolder&&this.recurseTree("collapse",a)},this);this.showRootFolder&&this.oRoot.collapse()},collapseBranch:function(a){a.collapse()},expandBranch:function(a){a.expand()},recurseTree:function(a,b){b.items().each(function(b){b instanceof
Jx.TreeFolder&&(this.recurseTree(a,b),b[a]())},this)},scaleRangesLoaded:function(){this.layerRoot=this.getMap().layerRoot;this.renderLegend()},mapLoading:function(){this.getMap().deregisterForEvent(Fusion.Event.MAP_EXTENTS_CHANGED,this.extentsChangedWatcher);this.clear()},mapLoaded:function(){this.getMap().registerForEvent(Fusion.Event.MAP_EXTENTS_CHANGED,this.extentsChangedWatcher);this.oLegend.getMapLayer().registerForEvent(Fusion.Event.MAP_LAYER_ORDER_CHANGED,OpenLayers.Function.bind(this.mapRefresh,
this));this.layerRoot=this.getMap().layerRoot},mapReloaded:function(){this.layerRoot=this.getMap().layerRoot;this.renderLegend()},mapRefresh:function(){this.oLegend.getMapLayer().parseLayers();this.layerRoot=this.getMap().layerRoot;this.renderLegend()},renderLegend:function(a){this.bIsDrawn=!1;this.clear();this.showRootFolder&&this.oRoot.setLabel(this.getMap().mapGroup.mapId);var b=this.layerRoot;this.showMapFolder||(b=this.layerRoot.groups[0]);b.legend||(b.legend={},b.legend.treeItem=this.oRoot);
if(1<this.layerRoot.groups.length)if(this.showMapFolder)for(a=0;a<this.layerRoot.groups.length;a++)this.processMapGroup(this.layerRoot.groups[a],this.oRoot);else for(a=0;a<this.layerRoot.groups.length;a++){b=this.layerRoot.groups[a];b.legend||(b.legend={},b.legend.treeItem=this.oRoot);for(var d=0;d<b.groups.length;d++)this.processMapGroup(b.groups[d],this.oRoot);for(d=0;d<b.layers.length;d++)this.processMapLayer(b.layers[d],this.oRoot)}else{b.legend||(b.legend={},b.legend.treeItem=this.oRoot);for(a=
0;a<b.groups.length;a++)this.processMapGroup(b.groups[a],this.oRoot);for(a=0;a<b.layers.length;a++)this.processMapLayer(b.layers[a],this.oRoot)}this.bIsDrawn=!0;this.update()},processMapGroup:function(a,b){if(a.displayInLegend){a.legend={};var d=new Fusion.Widget.Legend.TreeFolder({label:a.legendLabel,open:a.expandInLegend,checked:a.visible});d.options.data=a;a.legend.treeItem=d;b.add(d);var e=a.oMap.getGroupInfoUrl(a.groupName);e&&d.setGroupInfo(e,this.imgGroupInfoIcon);for(e=0;e<a.groups.length;e++)this.processMapGroup(a.groups[e],
d);for(e=0;e<a.layers.length;e++)this.processMapLayer(a.layers[e],d)}},processMapLayer:function(a,b){a.legend={};a.legend.parentItem=b;a.legend.currentRange=null;a.oMap.registerForEvent(Fusion.Event.LAYER_PROPERTY_CHANGED,OpenLayers.Function.bind(this.layerPropertyChanged,this))},layerPropertyChanged:function(a,b){b.legend.treeItem.check(b.isVisible())},updateTimer:null,update:function(){this.bIsDrawn&&(this.updateTimer&&(window.clearTimeout(this.updateTimer),this.updateTimer=null),this.updateTimer=
window.setTimeout(OpenLayers.Function.bind(this._update,this),this.updateDelay))},_update:function(){this.oTree.freeze();this.updateTimer=null;for(var a=this.getMap(),b=a.getScale(),d=0;d<a.layerRoot.groups.length;d++)this.updateGroupLayers(a.layerRoot.groups[d],b);for(d=a.layerRoot.layers.length-1;0<=d;d--)this.updateLayer(a.layerRoot.layers[d],b);this.oTree.thaw()},clear:function(){for(var a=this.getMap(),b=0;b<a.layerRoot.groups.length;b++)this.clearGroup(a.layerRoot.groups[b]);for(b=0;b<a.layerRoot.layers.length;b++)a.layerRoot.layers[b].legend&&
(a.layerRoot.layers[b].legend.treeItem=null,a.layerRoot.layers[b].legend.checkbox=null,a.layerRoot.layers[b].legend.currentRange=null);this.oRoot.empty()},clearGroup:function(a){for(var b=0;b<a.groups.length;b++)this.clearGroup(a.groups[b]);for(b=0;b<a.layers.length;b++)a.layers[b].legend&&(a.layers[b].legend.treeItem=null,a.layers[b].legend.currentRange=null)},addLayerStyleTreeItems:function(a,b){a.tree.freeze();a.add(b);a.tree.thaw()},addLayerTreeItem:function(a,b){a.add(b,0)},updateGroupLayers:function(a,
b){for(var d=0;d<a.groups.length;d++)this.updateGroupLayers(a.groups[d],b);for(d=a.layers.length-1;0<=d;d--)this.updateLayer(a.layers[d],b)},updateLayer:function(a,b){if(a.displayInLegend&&a.legend){var d=a.getScaleRange(b);if(d!=a.legend.currentRange||!a.legend.treeItem){a.legend.currentRange=d;if(null!=d&&d.styles)if(1<d.styles.length){a.legend.treeItem?a.legend.treeItem instanceof Fusion.Widget.Legend.TreeItem?(this.clearTreeItem(a),a.legend.treeItem=this.createFolderItem(a),this.addLayerTreeItem(a.parentGroup.legend.treeItem,
a.legend.treeItem)):a.legend.treeItem.empty():(a.legend.treeItem=this.createFolderItem(a),this.addLayerTreeItem(a.parentGroup.legend.treeItem,a.legend.treeItem));if(d.isCompressed){a.legend.treeItem.layer=a;a.legend.treeItem.range=d;a.legend.treeItem.scale=b;a.legend.treeItem.hasDecompressedTheme=!1;var e=[];e.push(this.createTreeItem(a,d.styles[0],b,!1));e.push(this.createThemeCompressionItem(d.styles.length-2,a.legend.treeItem));e.push(this.createTreeItem(a,d.styles[d.styles.length-1],b,!1))}else for(var e=
[],f=0;f<d.styles.length;f++)e.push(this.createTreeItem(a,d.styles[f],b,!1));this.addLayerStyleTreeItems(a.legend.treeItem,e)}else(e=d.styles[0])&&!e.legendLabel&&(e.legendLabel=a.legendLabel),a.legend.treeItem?a.legend.treeItem instanceof Fusion.Widget.Legend.TreeFolder?(this.clearTreeItem(a),a.legend.treeItem=this.createTreeItem(a,e,b,!a.isBaseMapLayer),this.addLayerTreeItem(a.parentGroup.legend.treeItem,a.legend.treeItem)):0<d.styles.length?(e.iconOpt&&e.iconOpt.url?(d=e.iconOpt.url,a.legend.treeItem.elements.get("jxTreeIcon").style.backgroundPosition=
-1*e.iconX+"px "+-1*e.iconY+"px"):d=a.oMap.getLegendImageURL(b,a,e),a.legend.treeItem.setImage(d),a.legend.treeItem.enable(!0)):a.legend.treeItem.enable(!1):(a.legend.treeItem=this.createTreeItem(a,e,b,!a.isBaseMapLayer),this.addLayerTreeItem(a.parentGroup.legend.treeItem,a.legend.treeItem));else this.hideInvisibleLayers?a.legend.treeItem&&(a.parentGroup.legend.treeItem.remove(a.legend.treeItem),a.legend.treeItem=null):(d=this.createTreeItem(a,{legendLabel:a.legendLabel,iconOpt:{url:this.oLegend.outOfRangeIcon}},
null,!a.isBaseMapLayer),a.legend.treeItem?(a.parentGroup.legend.treeItem.replace(a.legend.treeItem,d),a.legend.treeItem.finalize()):this.addLayerTreeItem(a.parentGroup.legend.treeItem,d),a.legend.treeItem=d);a.legend.treeItem&&(a.legend.treeItem.options.data=a,a.isBaseMapLayer||a.legend.treeItem.check(a.visible))}}},getThemeExpandContextMenu:function(a){return(new Jx.Menu.Context(this.name)).add([new Jx.Menu.Item({label:OpenLayers.i18n("expandTheme"),onClick:OpenLayers.Function.bind(function(){this.expandTheme(a)},
this)})])},expandTheme:function(a){if(!0!==a.hasDecompressedTheme&&confirm(OpenLayers.i18n("expandCompressedThemeConfirmation"))){var b=a.range,d=a.layer,e=a.scale;a.empty();for(var f=0;f<b.styles.length;f++){var g=this.createTreeItem(d,b.styles[f],e,!1);a.add(g)}a.hasDecompressedTheme=!0}},createThemeCompressionItem:function(a,b){var d={label:OpenLayers.i18n("otherThemeItems",{count:a}),draw:this.renderItem,contextMenu:this.getThemeExpandContextMenu(b),image:this.imgBlankIcon};return new Jx.TreeItem(d)},
createFolderItem:function(a){var b={label:""==a.legendLabel?"&nbsp;":a.legendLabel,open:a.expandInLegend,image:this.imgLayerThemeIcon};b.selectable=a.metadata?!a.metadata.jxUnselectable||a.metadata.jxUnselectable&&"true"!=a.metadata.jxUnselectable:!1;a.isBaseMapLayer?(b.selectable=!1,b=new Jx.TreeFolder(b)):(b=new Fusion.Widget.Legend.TreeFolder(b),(a=a.oMap.getLayerInfoUrl(a.layerName))&&b.setLayerInfo(a,this.imgLayerInfoIcon));b.elements.get("jxTreeIcon").style.backgroundPosition="0px 0px";return b},
createTreeItem:function(a,b,d,e){var f={};f.statusIsDefault=a.statusDefault;var g=a.legend.currentRange;f.label=b&&g&&1<g.styles.length?""==b.legendLabel?"&nbsp;":b.legendLabel:""==a.legendLabel?"&nbsp;":a.legendLabel;f.selectable=a.metadata?!a.metadata.jxUnselectable||a.metadata.jxUnselectable&&"true"!=a.metadata.jxUnselectable:!1;b?f.image=b.iconOpt&&b.iconOpt.url?b.iconOpt.url:a.oMap.getLegendImageURL(d,a,b):1==a.layerTypes.length?4==a.layerTypes[0]?f.image=this.imgLayerRasterIcon:5==a.layerTypes[0]?
f.image=this.imgLayerDWFIcon:(f.image=this.imgDisabledLayerIcon,f.enabled=!1):(f.image=this.imgDisabledLayerIcon,f.enabled=!1);4==a.layerTypes[0]?(f.image=this.imgLayerRasterIcon,f.enabled=!0):5==a.layerTypes[0]&&(f.image=this.imgLayerDWFIcon,f.enabled=!0);!a.isBaseMapLayer&&e?(d=new Fusion.Widget.Legend.TreeItem(f),(a=a.oMap.getLayerInfoUrl(a.layerName))&&d.setLayerInfo(a,this.imgLayerInfoIcon)):(f.selectable=!1,d=new Jx.TreeItem(f));f=e=0;a=d.elements.get("jxTreeIcon");b&&0<=b.iconX&&0<=b.iconY&&
(this.offsetsCalculated||(e=a.parentNode,f=a.getPrevious(),g=new Element("div",{"class":"fusionLegendTreeRoot"}),a.setStyle("visiblity","hidden"),a.inject(g),f?a.inject(f,"after"):a.inject(e,"top"),a.setStyle("visibility","visible"),this.iconWidth=((b.iconOpt?b.iconOpt.width:16)-16)/2,this.iconHeight=((b.iconOpt?b.iconOpt.height:16)-16)/2,this.offsetsCalculated=!0),e=-1*(b.iconX+this.iconWidth),f=-1*(b.iconY+this.iconHeight),a.style.backgroundPosition=e+"px "+f+"px");return d},clearTreeItem:function(a){a.legend.treeItem&&
a.legend.treeItem.owner&&(a.legend.treeItem.owner.remove(a.legend.treeItem),a.legend.treeItem.destroy(),a.legend.treeItem=null)}});
Fusion.Widget.Legend.TreeItem=new Class({Extends:Jx.TreeItem,options:{template:'<li class="jxTreeContainer jxTreeLeaf"><img class="jxTreeImage" src="'+Jx.aPixel.src+'" alt="" title=""><span class="fusionLegendCheckboxContainer"><input type="checkbox" class="fusionLegendCheckboxInput"></span><a class="fusionLayerInfo" target="_blank"><img class="fusionLayerInfoIcon" src="'+Jx.aPixel.src+'"></a><a class="jxTreeItem fusionCheckboxItem" href="javascript:void(0);"><img class="jxTreeIcon" src="'+Jx.aPixel.src+
'" alt="" title=""><span class="jxTreeLabel" alt="" title=""></span></a></li>'},classes:new Hash({domObj:"jxTreeContainer",domA:"jxTreeItem",domImg:"jxTreeImage",domIcon:"jxTreeIcon",domLabel:"jxTreeLabel",checkbox:"fusionLegendCheckboxInput",layerInfo:"fusionLayerInfo",layerInfoIcon:"fusionLayerInfoIcon"}),init:function(){this.bound.onClick=function(a){this.options.data&&(a.target.checked&&this.options.data.show?this.options.data.show():!a.target.checked&&this.options.data.hide&&this.options.data.hide())}.bind(this);
this.bound.enabled=function(){this.checkbox.disabled=!1}.bind(this);this.bound.disabled=function(){this.checkbox.disabled=!0}.bind(this);this.parent()},render:function(){this.parent();this.domLabel.set("alt",this.options.label);this.domLabel.set("title",this.options.label);this.checkbox&&($defined(this.options.checked)&&this.check(this.options.checked),this.checkbox.addEvent("click",this.bound.onClick),this.addEvents({enabled:this.bound.enabled,disabled:this.bound.disabled}))},cleanup:function(){this.removeEvents({enabled:this.bound.enabled,
disabled:this.bound.disabled});this.checkbox&&this.checkbox.removeEvent("click",this.bound.onClick);this.bound.onClick=null;this.bound.enabled=null;this.bound.disabled=null;this.parent()},check:function(a){this.checkbox&&this.checkbox.set("checked",a)},isChecked:function(){return this.checkbox&&this.checkbox.checked},setLayerInfo:function(a,b){this.domObj.addClass("fusionShowLayerInfo");this.layerInfo&&this.layerInfo.set("href",a);this.layerInfoIcon&&this.layerInfoIcon.set("src",b)}});
Fusion.Widget.Legend.TreeFolder=new Class({Extends:Jx.TreeFolder,options:{template:'<li class="jxTreeContainer jxTreeBranch"><img class="jxTreeImage" src="'+Jx.aPixel.src+'" alt="" title=""><span class="fusionLegendCheckboxContainer"><input type="checkbox" class="fusionLegendCheckboxInput"></span><a class="jxTreeItem fusionCheckboxItem" href="javascript:void(0);"><img class="jxTreeIcon" src="'+Jx.aPixel.src+'" alt="" title=""><span class="jxTreeLabel" alt="" title=""></span></a><a class="fusionGroupInfo"><img class="fusionGroupInfoIcon" src="'+
Jx.aPixel.src+'"></a><a class="fusionLayerInfo"><img class="fusionLayerInfoIcon" src="'+Jx.aPixel.src+'"></a><ul class="jxTree"></ul></li>'},classes:new Hash({domObj:"jxTreeContainer",domA:"jxTreeItem",domImg:"jxTreeImage",domIcon:"jxTreeIcon",domLabel:"jxTreeLabel",domTree:"jxTree",checkbox:"fusionLegendCheckboxInput",layerInfo:"fusionLayerInfo",layerInfoIcon:"fusionLayerInfoIcon",groupInfo:"fusionGroupInfo",groupInfoIcon:"fusionGroupInfoIcon"}),init:function(){this.bound.onClick=function(a){this.options.data&&
(a.target.checked&&this.options.data.show?this.options.data.show():!a.target.checked&&this.options.data.hide&&this.options.data.hide())}.bind(this);this.bound.enabled=function(){this.checkbox.disabled=!1}.bind(this);this.bound.disabled=function(){this.checkbox.disabled=!0}.bind(this);this.parent()},render:function(){this.parent();this.domLabel.set("alt",this.options.label);this.domLabel.set("title",this.options.label);this.checkbox&&($defined(this.options.checked)&&this.check(this.options.checked),
this.checkbox.addEvent("click",this.bound.onClick),this.addEvents({enabled:this.bound.enabled,disabled:this.bound.disabled}))},cleanup:function(){this.removeEvents({enabled:this.bound.enabled,disabled:this.bound.disabled});this.checkbox&&this.checkbox.removeEvent("click",this.bound.onClick);this.bound.onClick=null;this.bound.enabled=null;this.bound.disabled=null;this.parent()},check:function(a){this.checkbox&&this.checkbox.set("checked",a)},isChecked:function(){return this.checkbox&&this.checkbox.checked},
setLayerInfo:function(a,b){this.domObj.addClass("fusionShowLayerInfo");this.layerInfo&&this.layerInfo.set("href",a);this.layerInfoIcon&&this.layerInfoIcon.set("src",b)},setGroupInfo:function(a,b){this.domObj.addClass("fusionShowGroupInfo");this.groupInfo&&this.groupInfo.set("href",a);this.groupInfoIcon&&this.groupInfoIcon.set("src",b)}});
Fusion.Widget.LinkToView=OpenLayers.Class(Fusion.Widget,{initializeWidget:function(a){var b=a.extension;this.baseUrl=window.location.protocol+"//"+window.location.host+window.location.pathname+"?";var d="",e;for(e in Fusion.queryParams)"string"==typeof Fusion.queryParams[e]&&"extent"!=e&&"filter"!=e&&"spatialfilter"!=e&&"variant"!=e&&"theme"!=e&&"selectlayer"!=e&&"showlayers"!=e&&"hidelayers"!=e&&"showgroups"!=e&&"hidegroups"!=e&&(this.baseUrl+=d+e+"="+Fusion.queryParams[e],d="&");this.anchorLabel=
b.Label?b.Label[0]:this.domObj?this.domObj.innerHTML?this.domObj.innerHTML:"Link to View":"Link to View";Fusion.addWidgetStyleSheet(a.location+"LinkToView/LinkToView.css");this.anchor=document.createElement("input");this.anchor.className="anchorLinkToView";this.anchor.value=this.baseUrl;this.anchor.title=b.Tooltip?b.Tooltip[0]:"Right-click to copy or bookmark link to current view";this.anchor.onfocus=OpenLayers.Function.bind(this.selectAnchorValue,this);this.domObj&&(this.domObj.innerHTML="",this.domObj.appendChild(this.anchor));
this.getMap().oMapOL.events.register("addlayer",this,this.setListener);this.enable()},setUiObject:function(a){Fusion.Widget.prototype.setUiObject.apply(this,[a]);this.uiObj.domObj?this.uiObj.domObj.appendChild(this.anchor):this.uiObj.appendChild(this.anchor)},selectAnchorValue:function(){this.anchor.select()},setListener:function(a){a.layer.events.register("loadend",this,this.updateLink)},updateLink:function(){var a=this.baseUrl.indexOf("?")==this.baseUrl.length-1?"":"&",b=this.getMap().getLinkParams();
this.anchor.value=this.baseUrl+a+b}});
Fusion.Widget.MapMenu=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Menu,domObj:null,mapGroupData:null,loadOverlaysOnly:!1,rootFolder:"",menus:null,initializeWidget:function(a){this.extension=this.widgetTag.extension;this.arch=this.getMapLayer().arch;"MapGuide"==this.arch&&this.extension.Folder?(this.rootFolder=this.extension.Folder?this.extension.Folder[0]:"Library://",this.requestURL="layers/"+this.arch+"/"+Fusion.getScriptLanguage()+"/MapMenu."+Fusion.getScriptLanguage()):"MapServer"==this.arch&&
this.extension.Folder&&(this.rootFolder=this.extension.Folder?this.extension.Folder[0]:"/",this.requestURL=this.extension.ListURL?this.extension.ListURL[0]:"/platform/api/mapsherpa.php",this.platformRequest=(this.publishedMapsOnly=this.extension.PublishedMapsOnly?this.extension.PublishedMapsOnly:!1)?"listpublishedmaps":"listresources");this.loadOverlaysOnly=this.extension.LoadOverlaysOnly&&"true"==this.extension.LoadOverlaysOnly[0]?!0:!1;this.getMapLayer().registerForEvent(Fusion.Event.MAP_SESSION_CREATED,
OpenLayers.Function.bind(this.loadMenu,this));this.enable()},setUiObject:function(a){Fusion.Widget.prototype.setUiObject.apply(this,[a]);this.loadMaxExtent=this.extension.LoadMaxExtent?"true"==this.extension.LoadMaxExtent[0].toLowerCase():!1;a=Fusion.applicationDefinition.mapGroups;this.mapGroupData={};var b=new Jx.ButtonSet,d;for(d in a)if(a[d].mapId){var e=a[d];this.extension.Folder?this.mapGroupData[e.maps[0].resourceId]=e:(e=new Jx.Menu.Item({label:e.mapId,toggle:!0,onClick:OpenLayers.Function.bind(this.switchMap,
this,e)}),b.add(e),this.uiObj.add(e))}},loadMenu:function(){if("MapGuide"==this.arch&&this.extension.Folder){var a={parameters:{folder:this.rootFolder},onComplete:OpenLayers.Function.bind(this.processMapMenu,this)};Fusion.ajaxRequest(this.requestURL,a)}else"MapServer"==this.arch&&this.extension.Folder&&(a=this.getMapLayer(),a={parameters:{request:this.platformRequest,type:"map",session:a.getSessionID(),depth:-1,folder:this.rootFolder},method:"GET",onComplete:OpenLayers.Function.bind(this.processMSMapMenu,
this)},new OpenLayers.Ajax.Request(this.requestURL,a))},processMSMapMenu:function(a){if(200==a.status&&(a=Fusion.parseJSON(a.responseText),this.menus={},this.uiObj.empty(),a.values&&a.values.resources)){a=a.values.resources;for(var b=this.getMapLayer(),d=0;d<a.length;d++){var e=a[d],f=e.sResourceId,f=f.replace(this.rootFolder,""),g=f.split("/"),f=g.pop(),g=g.join("/");this.createFolders(g);e={maps:[{resourceId:e.sResourceId,singleTile:!0,type:b.arch,sid:b.getSessionID(),layerOptions:{},id:b.id,extension:{MapFile:["platform:/"+
e.sResourceId],MapMetadata:[b.mapMetadataKeys],LayerMetadata:[b.layerMetadataKeys]}}],getInitialView:function(){return this.initialView}};this.loadOverlaysOnly&&(e.maps[0].layerOptions.isBaseLayer=!1);e=new Jx.Menu.Item({label:f,onClick:OpenLayers.Function.bind(this.switchMap,this,e)});""==g?this.uiObj.add(e):this.menus[g].add(e)}}},processMapMenu:function(a){if(200==a.status){a=Fusion.parseJSON(a.responseText);this.menus={};for(var b=0;b<a.maps.length;b++){var d=a.maps[b],e=d.path.replace(this.rootFolder,
"");-1<e.lastIndexOf("/")?(e=e.slice(0,e.lastIndexOf("/")),this.createFolders(e)):e="";var f=null,f=this.mapGroupData[d.path]?this.mapGroupData[d.path]:{maps:[{resourceId:d.path,singleTile:!0,type:this.arch,extension:{ResourceId:[d.path]}}],getInitialView:function(){return this.initialView}},d=new Jx.Menu.Item({label:d.name,onClick:OpenLayers.Function.bind(this.switchMap,this,f)});""==e?this.uiObj.add(d):this.menus[e].add(d)}}},createFolders:function(a){a=a.split("/");for(var b="",d="",e=0;e<a.length;e++){if(!this.menus[b+
d+a[e]]){var f=new Jx.Menu.SubMenu({label:a[e]});""==b?this.uiObj.add(f):this.menus[b].add(f);this.menus[b+d+a[e]]=f}b=b+d+a[e];d="/"}},switchMap:function(a){a.initialView=null;if(!this.loadMaxExtent){for(var b=this.getMap().getCurrentExtents(),d=null,e=0;e<a.maps.length&&!(a.maps[e].layerOptions&&a.maps[e].layerOptions.projection&&(d=a.maps[e].layerOptions.projection,d=d instanceof OpenLayers.Projection?d:new OpenLayers.Projection(d),a.maps[e].layerOptions.isBaseLayer));++e);d?b=b.transform(this.oMap.oMapOL.getProjectionObject(),
d):d=this.oMap.oMapOL.getProjectionObject();a.initialView={minX:b.left,minY:b.bottom,maxX:b.right,maxY:b.top,projection:d}}this.getMap().loadMapGroup(a,this.loadOverlaysOnly)}});
Fusion.Widget.MapMetadata=OpenLayers.Class(Fusion.Widget,{content:"text",layerName:null,initializeWidget:function(a){a=a.extension;a.MetadataId?this.metadataId=a.MetadataId[0]:Fusion.reportFatalError("MetadataId is a required parameter for mapMetadata widget");a.Content&&(this.content=a.Content[0]);a.LayerName&&(this.layerName=a.LayerName[0]);this.getMap().registerForEvent(Fusion.Event.MAP_LOADED,OpenLayers.Function.bind(this.showMetadata,this))},showMetadata:function(){var a=this.getMapLayer().getMetadata(this.metadataId,
this.layerName);a&&("markup"==this.content?$(this.domObj).load(a):"hyperlink"==this.content&&"A"==this.domObj.tagName?this.domObj.href=a:this.domObj.innerHTML=a)}});
Fusion.Widget.Maptip=OpenLayers.Class(Fusion.Widget,{oCurrentPosition:new OpenLayers.Pixel(0,0),oMapTipPosition:null,nTimer:null,delay:null,aLayers:null,bOverTip:!1,sWinFeatures:"menubar=no,location=no,resizable=no,status=no,scrollbars=yes",offset:new OpenLayers.Pixel(2,20),szTip:"",szHref:"",szLabel:"",aTextFields:null,mapTipFired:!1,bStartMapTips:!1,mapTipBtn:null,label:"",initializeWidget:function(a){window.location.href.indexOf("?");this.label=a.label;var b=a.extension;this.sTarget=b.Target?b.Target[0]:
"MaptipWindow";b.WinFeatures&&(this.sWinFeatures=b.WinFeatures[0]);this.delay=b.Delay?parseInt(b.Delay[0]):350;this.nTolerance=b.Tolerance?parseInt(b.Tolerance[0]):2;this.aCustomURL=[];this.aTextFields=[];this.aLayers=[];this.aLabels=[];if(b.Maptip)for(var d=0;d<b.Maptip.length;d++)this.aLayers.push(b.Maptip[d].Layer),this.aTextFields.push(b.Maptip[d].TextField),this.aLabels.push(b.Maptip[d].Label),this.aCustomURL.push(b.Maptip[d].CustomURL);Fusion.addWidgetStyleSheet(a.location+"Maptip/Maptip.css");
this.domObj?this.domObj.parentNode.removeChild(this.domObj):this.domObj=document.createElement("div");this.domObj.className="maptipContainer";this.domObj.style.display="none";this.domObj.style.top="0px";this.domObj.style.left="0px";this.iframe=document.createElement("iframe");this.iframe.className="maptipShim";this.iframe.scrolling="no";this.iframe.frameborder=0;this.mouseOverTipFunc=OpenLayers.Function.bind(this.mouseOverTip,this);this.mouseOutTipFunc=OpenLayers.Function.bind(this.mouseOutTip,this);
this.mouseMoveFunc=OpenLayers.Function.bind(this.mouseMove,this);this.mouseDownFunc=OpenLayers.Function.bind(this.mouseDown,this);this.mouseUpFunc=OpenLayers.Function.bind(this.mouseUp,this);this.mouseOutFunc=OpenLayers.Function.bind(this.mouseOut,this);this.mapTipReqFinishedFunc=OpenLayers.Function.bind(this._display,this);this.mapBusyChangedFunc=this.busyChanged.bind(this);this.mapLoaded=this.startMapTips.bind(this);this.getMap().registerForEvent(Fusion.Event.MAP_DIGITIZER_ACTIVATED,OpenLayers.Function.bind(this.onDigitizerActivated,
this));this.getMap().registerForEvent(Fusion.Event.MAP_DIGITIZER_DEACTIVATED,OpenLayers.Function.bind(this.onDigitizerDeactivated,this))},onDigitizerActivated:function(){this.hideMaptip();this.bDigitizerActive=!0},onDigitizerDeactivated:function(){this.bDigitizerActive=!1},setUiObject:function(a){Fusion.Widget.uiInstances[this.type].push(this);this.mapTipBtn=(new Jx.Button({id:"maptipButton",image:Fusion.getApplicationURL()+"images/icons.png",imageClass:"maptip",label:this.label,toggle:!0,onDown:function(){for(var a=
Fusion.Widget.uiInstances[this.type],d=0;d<a.length;d++){var e=a[d];e.shouldActivateWith(this)&&e.mapTipBtn&&e.mapTipBtn.setActive&&e.mapTipBtn.setActive(!0)}Fusion.Widget.Maptip.ActiveInstance||(this.activate(),Fusion.Widget.Maptip.ActiveInstance=this)}.bind(this),onUp:function(){for(var a=Fusion.Widget.uiInstances[this.type],d=0;d<a.length;d++){var e=a[d];e.shouldActivateWith(this)&&e.mapTipBtn&&e.mapTipBtn.setActive&&e.mapTipBtn.setActive(!1)}Fusion.Widget.Maptip.ActiveInstance==this&&(this.deactivate(),
Fusion.Widget.Maptip.ActiveInstance=null)}.bind(this)})).addTo(a);this.widgetTag.tooltip&&this.mapTipBtn.setTooltip(this.widgetTag.tooltip);a.options.active&&this.mapTipBtn.setActive(!0);this.uiObj=a},activate:function(){this.bStartMapTips=!0;OpenLayers.Event.observe(this.domObj,"mouseover",this.mouseOverTipFunc);OpenLayers.Event.observe(this.domObj,"mouseout",this.mouseOutTipFunc);this.getMap().getDomObj();document.getElementsByTagName("BODY")[0].appendChild(this.domObj);this.getMap().observeEvent("mousemove",
this.mouseMoveFunc);this.getMap().observeEvent("mousedown",this.mouseDownFunc);this.getMap().observeEvent("mouseup",this.mouseUpFunc);this.getMap().observeEvent("mouseout",this.mouseOutFunc);this.eventListener=!1;this.getMap().registerForEvent(Fusion.Event.MAP_MAPTIP_REQ_FINISHED,this.mapTipReqFinishedFunc);this.getMap().registerForEvent(Fusion.Event.MAP_BUSY_CHANGED,this.mapBusyChangedFunc);this.getMap().registerForEvent(Fusion.Event.MAP_LOADED,this.mapLoaded)},deactivate:function(){this.bStartMapTips=
!1;OpenLayers.Event.stopObserving(this.domObj,"mouseover",this.mouseOverTipFunc);OpenLayers.Event.stopObserving(this.domObj,"mouseout",this.mouseOutTipFunc);this.getMap().stopObserveEvent("mousemove",this.mouseMoveFunc);this.getMap().stopObserveEvent("mousedown",this.mouseDownFunc);this.getMap().stopObserveEvent("mouseup",this.mouseUpFunc);this.getMap().stopObserveEvent("mouseout",this.mouseOutFunc);this.eventListener=!1;this.getMap().deregisterForEvent(Fusion.Event.MAP_MAPTIP_REQ_FINISHED,this.mapTipReqFinishedFunc);
this.getMap().deregisterForEvent(Fusion.Event.MAP_BUSY_CHANGED,this.mapBusyChangedFunc);this.getMap().deregisterForEvent(Fusion.Event.MAP_LOADED,this.mapLoaded);null!=this.domObj&&null!=this.domObj.parentNode&&this.domObj.parentNode.removeChild(this.domObj)},mouseOut:function(a){this.nTimer&&(window.clearTimeout(this.nTimer),this.nHideTimer||(this.nHideTimer=window.setTimeout(OpenLayers.Function.bind(this.hideMaptip,this),250)))},startMapTips:function(){this.bStartMapTips=!0},mouseMove:function(a){if(!0==
this.bStartMapTips&&(this.eventListener||(this.eventListener=!0),!this.bOverTip&&!this.mouseIsDown)){var b=this.getMap();this.mapSize=b.getSize();this.mapOffset=b._oDomObj.getOffsets();a=b.getEventPosition(a);if(a.x!=this.oCurrentPosition.x||a.y!=this.oCurrentPosition.y)this.oMapTipPosition=this.oCurrentPosition=a,"number"==typeof this.nTimer&&(window.clearTimeout(this.nTimer),this.nTimer=null),this.nTimer=window.setTimeout(OpenLayers.Function.bind(this.showMaptip,this),this.delay)}},mouseDown:function(){this.mouseIsDown=
!0;this._hide()},mouseUp:function(){this.mouseIsDown=!1},_getMapTip:function(a){for(var b=0,d=this.getMap(),e=d.aMaps.length-1;0<=e;e--)"MapGuide"==d.aMaps[e].arch&&b++;if(1>=b)this.getMapLayer().getMapTip(this);else for(b=d.getScale(),e=d.aMaps.length-1;0<=e;e--){var f=d.aMaps[e];b>=f.minScale&&b<=f.maxScale&&f.layerRoot.visible&&f.getMapTip(a)}},showMaptip:function(){!0!==this.bDigitizerActive&&(this._getMapTip(this),this.mapTipFired=!0)},_display:function(a,b){if(!0!==this.bDigitizerActive&&"undefined"!=
typeof b&&""!=b.t){if("visible"!=this.domObj.style.visibility||b.t!=this.szTip){this.domObj.innerHTML=null;var d=document.createElement("div");d.className="maptipContent";this.domObj.appendChild(d);var e=!0;this.bIsVisible=!0;var f=b.t,g=b.h,h=b.l;this.szTip=f;this.szHref=g;this.label=h;if("object"==typeof f)for(var l=0;l<f.length;l++){var m=h[l],q=this.addMapTipDomObj(g[l],f[l]),e=document.createElement("DIV");e.className="mapTipContentDIV";""!=m?(e.innerHTML=m+" : ",d.appendChild(e),e.appendChild(q)):
(d.appendChild(e),d.appendChild(q));e=!1}else f&&(e=document.createElement("DIV"),e.innerHTML=f.replace(/\\n/g,"<br>"),d.appendChild(e),e=!1),g&&(e=document.createElement("DIV"),g=g.replace(/\\n/g,"<br>"),0<g.indexOf("href=")?e.innerHTML=g:(f=document.createElement("A"),g=OpenLayers.Function.bind(this.openLink,this,g),f.onclick=OpenLayers.Function.bindAsEventListener(g,this),f.target="_blank",f.href="javascript:void(0)",f.innerHTML=OpenLayers.i18n("maptipLinkText"),e.appendChild(f)),d.appendChild(e),
e=!1);e?this.hideMaptip():(g=$(this.domObj).getBorderBoxSize(),this.oMapTipPosition=this.oMapTipPosition.add(this.mapOffset.x,this.mapOffset.y),this.domObj.style.left=this.oCurrentPosition.x<this.mapSize.w/2?this.oMapTipPosition.x+this.offset.x+"px":this.oMapTipPosition.x-(g.width+this.offset.x)+"px",this.domObj.style.top=this.oCurrentPosition.y<this.mapSize.h/2?this.oMapTipPosition.y+this.offset.y+"px":this.oMapTipPosition.y-(g.height+this.offset.y)+"px",this.domObj.style.visibility="hidden",this.domObj.style.display=
"block",window.opera||(d.appendChild(this.iframe),g=$(this.domObj).getContentBoxSize(),this.iframe.style.width=g.width+"px",this.iframe.style.height=g.height+"px"),this.domObj.style.visibility="visible")}this.mapTipFired=!1}},addMapTipDomObj:function(a,b){if("undefined"==a||"string"==a||""==a){var d=document.createElement("SPAN");d.className="mapTipData";d.innerHTML=b}else{var e,f,d=document.createElement("SPAN");d.className="mapTipData";0<a.indexOf("href=")?(d.innerHTML=a,e=linkDiv.firstChild,f=
e.href):(e=document.createElement("a"),e.className="mapTipLink",e.innerHTML=b,f=a,d.appendChild(e));e.href="javascript:void(0)";f=OpenLayers.Function.bind(this.openLink,this,f);e.onclick=OpenLayers.Function.bindAsEventListener(f,this)}return d},hideMaptip:function(){this.bIsVisible=!1;this.hideTimer=window.setTimeout(OpenLayers.Function.bind(this._hide,this),10)},_hide:function(){this.hideTimer=null;this.domObj.style.display="none";this.domObj.style.visibility=""},mouseOverTip:function(){window.clearTimeout(this.nHideTimer);
this.nHideTimer=null;this.bOverTip=!0},mouseOutTip:function(){this.nHideTimer=window.setTimeout(OpenLayers.Function.bind(this.hideMaptip,this),250);this.bOverTip=!1},busyChanged:function(){this.getMap().isBusy()&&(this.bIsVisible=!1,this.hideMaptip())},openLink:function(a,b){var d=Fusion.getWidgetById(this.sTarget);d?d.setContent(a):(d=$(this.sTarget))?d.src=a:window.open(a,this.sTarget,this.sWinFeatures);OpenLayers.Event.stop(b,!0);return!1}});Fusion.Constant.MEASURE_TYPE_DISTANCE=1;
Fusion.Constant.MEASURE_TYPE_AREA=2;Fusion.Event.MEASURE_SEGMENT_UPDATE=Fusion.Event.lastEventId++;Fusion.Event.MEASURE_CLEAR=Fusion.Event.lastEventId++;Fusion.Event.MEASURE_COMPLETE=Fusion.Event.lastEventId++;
Fusion.Widget.Measure=OpenLayers.Class(Fusion.Widget,{isExclusive:!1,uiClass:Jx.Button,distances:null,distanceMarkers:null,areaMarker:null,units:Fusion.UNKNOWN,measureType:null,distPrecision:4,areaPrecision:4,distanceNormalStyle:null,fillStyle:null,geodesic:!0,areaStyle:null,segmentLabels:!0,totalLength:0,totalArea:0,initializeWidget:function(a){this.asCursor=["crosshair"];var b=a.extension;this.units=b.Units&&""!=b.Units[0]?Fusion.unitFromName(b.Units[0]):this.units;this.distPrecision=b.DistancePrecision?
parseInt(b.DistancePrecision[0]):4;this.areaPrecision=b.AreaPrecision?parseInt(b.AreaPrecision[0]):4;b.SegmentLabels&&(this.segmentLabels="true"==b.SegmentLabels[0].toLowerCase()&&b.SegmentLabels[0]?!0:!1);b.Geodesic&&(this.geodesic="false"==b.Geodesic[0].toLowerCase?!1:!0);this.sTarget=b.Target?b.Target[0]:"";this.sBaseUrl=Fusion.getFusionURL()+"widgets/Measure/Measure.php";this.measureType=0;if(b.Type)switch(b.Type[0].toLowerCase()){case "distance":this.measureType|=Fusion.Constant.MEASURE_TYPE_DISTANCE;
break;case "area":this.measureType|=Fusion.Constant.MEASURE_TYPE_AREA;break;case "both":this.measureType|=Fusion.Constant.MEASURE_TYPE_DISTANCE,this.measureType|=Fusion.Constant.MEASURE_TYPE_AREA}this.distanceMarkers=[];this.distances=[];this.registerEventID(Fusion.Event.MEASURE_SEGMENT_UPDATE);this.registerEventID(Fusion.Event.MEASURE_CLEAR);this.registerEventID(Fusion.Event.MEASURE_COMPLETE);var d=this.getMap();this.keyHandler=OpenLayers.Function.bind(this.onKeyPress,this);Fusion.addWidgetStyleSheet(a.location+
"Measure/Measure.css");d.registerForEvent(Fusion.Event.MAP_LOADED,OpenLayers.Function.bind(this.setUnits,this,this.units));this.registerParameter("Units");this.sketchSymbolizers={Point:{pointRadius:4,graphicName:"square",fillColor:"white",fillOpacity:1,strokeWidth:1,strokeOpacity:1,strokeColor:"#333333"},Line:{strokeWidth:3,strokeOpacity:1,strokeColor:"#666666"},Polygon:{strokeWidth:2,strokeOpacity:1,strokeColor:"#666666",fillColor:"white",fillOpacity:0.3}};a=new OpenLayers.Style;a.addRules([new OpenLayers.Rule({symbolizer:this.sketchSymbolizers})]);
a=new OpenLayers.StyleMap({"default":a});this.map=d.oMapOL;a={style:"default",layerOptions:{styleMap:a}};d=OpenLayers.Handler.Path;this.measureType&Fusion.Constant.MEASURE_TYPE_AREA&&(d=OpenLayers.Handler.Polygon);a={persist:!0,handlerOptions:a,partialDelay:600,callbacks:{modify:OpenLayers.Function.bind(this.measurePartial,this),cancel:OpenLayers.Function.bind(this.resetMeasure,this)}};this.control=new OpenLayers.Control.Measure(d,a);this.getMap().oMapOL.addControl(this.control);this.control.events.on({measure:this.measure,
scope:this});b.ClearButtonContainer&&(this.clearButton=(new Jx.Button({label:b.ClearButtonText?b.ClearButtonText[0]:"Clear",onClick:OpenLayers.Function.bind(this.clearMeasure,this)})).addTo(b.ClearButtonContainer[0]),this.registerForEvent(Fusion.Event.MEASURE_CLEAR,OpenLayers.Function.bind(this.toggleClearButton,this,!1)),this.registerForEvent(Fusion.Event.MEASURE_SEGMENT_UPDATE,OpenLayers.Function.bind(this.toggleClearButton,this,!0)),this.clearButton.setEnabled(!1));this.getMap().registerForEvent(Fusion.Event.MAP_EXTENTS_CHANGED,
OpenLayers.Function.bind(this.extentsChangedCB,this));this.getMap().registerForEvent(Fusion.Event.MAP_LOADED,OpenLayers.Function.bind(this.extentsChangedCB,this))},clearMeasure:function(){this.control.cancel()},toggleClearButton:function(a){this.clearButton.setEnabled(a)},extentsChangedCB:function(){var a=this.control;a&&a.active&&(a=a.handler.getGeometry())&&this.updateMarkers(a)},updateMarkers:function(a){for(var b=a.getVertices(),d=0;d<this.distanceMarkers.length&&!(d+1>=b.length);d++){var e=new OpenLayers.Geometry.LineString;
e.addPoint(b[d].clone());e.addPoint(b[d+1].clone());this.updateMarker(this.distanceMarkers[d],e)}this.updateDistances(a);this.updateArea(a)},shouldActivateWith:function(a){return a instanceof Fusion.Widget.SelectPolygon&&a.widgetUniqueId==this.widgetUniqueId},measure:function(a){this.hasMeasure=!0;a=a.geometry;if(this.measureType&Fusion.Constant.MEASURE_TYPE_DISTANCE){for(var b=a.getVertices();this.distanceMarkers.length>b.length-1;)this.distanceMarkers.pop().destroy();for(var d=v0=b[0],e=1;e<b.length;e++){v1=
b[e];if(this.distanceMarkers[e-1]){var f=this.distanceMarkers[e-1];f.label=e+": "}else f=new Fusion.Widget.Measure.Marker(this.units,this.distPrecision,e+": ");var g=new OpenLayers.Geometry.LineString;g.addPoint(v0.clone());g.addPoint(v1.clone());this.updateMarker(f,g);v0=v1}this.measureType&Fusion.Constant.MEASURE_TYPE_AREA&&(g=new OpenLayers.Geometry.LineString,g.addPoint(d),g.addPoint(v0),this.lastMarker.label=e+": ",this.updateMarker(this.lastMarker,g))}this.measureType&Fusion.Constant.MEASURE_TYPE_AREA&&
this.updateArea(a);this.triggerEvent(Fusion.Event.MEASURE_COMPLETE)},measurePartial:function(a,b){var d=b.geometry,e=d.getVertices();this.hasMeasure&&1!=e.length&&(this.resetMeasure(),this.hasMeasure=!1);this.measureType&Fusion.Constant.MEASURE_TYPE_DISTANCE&&this.updateDistances(d);this.measureType&Fusion.Constant.MEASURE_TYPE_AREA&&this.updateArea(d);this.triggerEvent(Fusion.Event.MEASURE_SEGMENT_UPDATE)},updateDistances:function(a){var b=a.getVertices(),d=b.length-1;if(0<d){var e=new OpenLayers.Geometry.LineString;
e.addPoint(b[d-1].clone());e.addPoint(b[d].clone());var f;this.distanceMarkers.length<d?(f=new Fusion.Widget.Measure.Marker(this.units,this.distPrecision,d+": "),this.distanceMarkers.push(f)):f=this.distanceMarkers[d-1];this.updateMarker(f,e);1<d&&-1==a.CLASS_NAME.indexOf("LineString")&&(e=new OpenLayers.Geometry.LineString,e.addPoint(b[0].clone()),e.addPoint(b[d].clone()),this.lastMarker||(this.lastMarker=new Fusion.Widget.Measure.Marker(this.units,this.distPrecision,"")),this.lastMarker.label=b.length+
": ",this.updateMarker(this.lastMarker,e))}},updateArea:function(a){this.areaMarker||(this.areaMarker=new Fusion.Widget.Measure.Marker(this.units,this.areaPrecision,"",!0));this.updateMarker(this.areaMarker,a)},delayUpdate:function(a,b){this.delayUpdateTimer=null;this.updateMarker(a,b)},updateMarker:function(a,b){if(a){var d,e,f;f=b.getVertices();d=this.getMap().oMapOL.baseLayer.projection;var g=null;e=0;if(-1!=b.CLASS_NAME.indexOf("LineString"))e=this.getMap().geoToPix(f[0].x,f[0].y),f=this.getMap().geoToPix(f[1].x,
f[1].y),g={x:(e.x+f.x)/2,y:(e.y+f.y)/2},d=this.geodesic?b.getGeodesicLength(d):b.getLength(),e=Math.sqrt((f.x-e.x)*(f.x-e.x)+(f.y-e.y)*(f.y-e.y)),measureUnits=Fusion.METERS,measureUnits!=this.units&&(d=Fusion.convert(measureUnits,this.units,d));else{if(0==b.getArea())return;g=b.getCentroid();g=this.getMap().geoToPix(g.x,g.y);d=this.geodesic?b.getGeodesicArea(d):b.getArea();e=this.getMap().getResolution();measureUnits=Fusion.METERS;measureUnits!=this.units&&(f=Fusion.convert(measureUnits,this.units,
1),d=d*f*f,e*=f);this.areaMarker.quantity=d;e=d/(e*e)}1<e&&(a.setQuantity(d),this.positionMarker(a,g))}},positionMarker:function(a,b){var d=this.getMap().getDomObj();a.domObj.parentNode&&a.domObj.parentNode==d||d.appendChild(a.domObj);var e=a.getSize(),d=b.y-e.height/2,e=b.x-e.width/2;isNaN(d)||isNaN(e)?!0===this.segmentLabels&&(a.domObj.style.display="none"):(a.domObj.style.top=d+"px",a.domObj.style.left=e+"px",!0===this.segmentLabels&&(a.domObj.style.display="block"))},onKeyPress:function(a){(a.charCode?
a.charCode:a.keyCode?a.keyCode:a.which)==OpenLayers.Event.KEY_ESC&&(this.deactivate(),this.activate())},initVars:function(){this.lastArea=this.cumulativeArea=this.lastDistance=this.cumulativeDistance=0;this.aAreaFirstPoint=null},activate:function(){this.loadDisplayPanel();this.startMeasurement()},startMeasurement:function(){this.control.activate();var a=this.getMap().message;a.info(OpenLayers.i18n("measureInProgress")+" <a id='measureMsgDismiss' href='javascript:void(0)'>"+OpenLayers.i18n("stop")+
"</a>");a.container.ownerDocument.getElementById("measureMsgDismiss").onclick=OpenLayers.Function.bind(this.stopMeasurement,this);OpenLayers.Event.observe(document,"keypress",this.keyHandler);this.getMap().supressContextMenu(!0);this.updateButtonStates();this.getMap().triggerEvent(Fusion.Event.MAP_DIGITIZER_ACTIVATED)},stopMeasurement:function(){OpenLayers.Event.stopObserving(document,"keypress",this.keyHandler);this.control.deactivate();this.control.cancel();this.getMap().message.clear();this.getMap().supressContextMenu(!1);
this.updateButtonStates();this.getMap().triggerEvent(Fusion.Event.MAP_DIGITIZER_DEACTIVATED)},updateButtonStates:function(){null!=this.startButton&&null!=this.stopButton&&(this.stopButton.disabled=!this.control.active,this.startButton.disabled=this.control.active)},setButtons:function(a,b){this.startButton=b;this.stopButton=a;this.updateButtonStates()},initManualControls:function(a){this.stopButton=this.startButton=null;var b,d=this;b=setInterval(function(){try{a.domInit&&(doc=a.document,clearInterval(b),
a.SetWidget(d))}catch(e){}},200)},loadDisplayPanel:function(){if(this.sTarget){var a=this.sBaseUrl,b="locale="+Fusion.locale;0>a.indexOf("?")?a+="?":"&"!=a.slice(-1)&&(a+="&");var a=a+(b+"&type="+this.measureType),b=Fusion.getWidgetById(this.sTarget),d=window;b?(b.isSameWithLast(a)||b.setContent(a),d=b.iframe.contentWindow):d=window.open(a,this.sTarget,this.sWinFeatures);this.initManualControls(d);this.registerForEvent(Fusion.Event.MEASURE_CLEAR,OpenLayers.Function.bind(this.clearDisplay,this,d));
this.registerForEvent(Fusion.Event.MEASURE_SEGMENT_UPDATE,OpenLayers.Function.bind(this.updateDisplay,this,d));this.registerForEvent(Fusion.Event.MEASURE_COMPLETE,OpenLayers.Function.bind(this.updateDisplay,this,d))}else this.measureType&Fusion.Constant.MEASURE_TYPE_DISTANCE&&(this.totalDistanceMarker=new Fusion.Widget.Measure.Marker(this.units,this.distPrecision,"Total:"),a=this.getMap().getDomObj(),this.totalDistanceMarker.domObj.parentNode&&this.totalDistanceMarker.domObj.parentNode==a||a.appendChild(this.totalDistanceMarker.domObj),
this.totalDistanceMarker.domObj.addClass("divMeasureTotal"),this.totalDistanceMarker.domObj.style.display="none",this.registerForEvent(Fusion.Event.MEASURE_CLEAR,OpenLayers.Function.bind(this.clearTotalDistance,this)),this.registerForEvent(Fusion.Event.MEASURE_SEGMENT_UPDATE,OpenLayers.Function.bind(this.updateTotalDistance,this)),this.registerForEvent(Fusion.Event.MEASURE_COMPLETE,OpenLayers.Function.bind(this.updateTotalDistance,this)))},deactivate:function(){this.stopMeasurement()},resetMeasure:function(){this.initVars();
for(var a=0;a<this.distanceMarkers.length;a++)this.distanceMarkers[a].destroy();this.distanceMarkers=[];this.areaMarker&&(this.areaMarker.destroy(),this.areaMarker=null);this.lastMarker&&(this.lastMarker.destroy(),this.lastMarker=null);this.triggerEvent(Fusion.Event.MEASURE_CLEAR,this)},remoteMeasureSegment:function(a,b,d,e){var f=this.getMap(),g=this.getMapLayer();e="layers/"+g.arch+"/"+Fusion.getScriptLanguage()+"/Measure."+Fusion.getScriptLanguage();var h=f.pixToGeo(b.x,b.y),l=f.pixToGeo(d.x,d.y);
a={parameters:{session:g.getSessionID(),locale:Fusion.locale,mapname:f.getMapName(),x1:h.x,y1:h.y,x2:l.x,y2:l.y},onComplete:OpenLayers.Function.bind(this.remoteMeasureCompleted,this,b,d,a)};Fusion.ajaxRequest(e,a)},remoteMeasureCompleted:function(a,b,d,e){200==e.status&&(e=Fusion.parseJSON(e.responseText),e.distance&&(mapUnits=Fusion.METERS,mapUnits!=this.units&&(e.distance=Fusion.convert(mapUnits,this.units,e.distance)),d.setQuantity(e.distance),this.positionMarker(d,a,b),this.triggerEvent(Fusion.Event.MEASURE_SEGMENT_UPDATE)))},
updateDisplay:function(a){var b=a.document,d=this.getMap().getResolution();this.clearDisplay(a);var e=Fusion.unitAbbr(this.units),f,g=this.distPrecision,h=function(a,d,h){if(!(1>d/h)){h=b.createElement("tr");var m=b.createElement("td");m.innerHTML=OpenLayers.i18n("segment",{seg:a});h.appendChild(m);m=b.createElement("td");f=0==g?Math.floor(d):d.toPrecision(g);m.innerHTML=f+" "+e;h.appendChild(m);l.appendChild(h)}};if(this.measureType&Fusion.Constant.MEASURE_TYPE_DISTANCE){var l=b.getElementById("segmentTBody");
a=0;if(l){for(var m=0;m<this.distanceMarkers.length;m++){var q=this.distanceMarkers[m].getQuantity();a+=q;h(m+1,q,d)}this.lastMarker&&(a+=this.lastMarker.getQuantity(),h(m+1,this.lastMarker.getQuantity(),d));d=b.getElementById("totalDistance");f=0==this.distPrecision?Math.floor(a):a.toPrecision(this.distPrecision);d.innerHTML=f+" "+e}}this.measureType&Fusion.Constant.MEASURE_TYPE_AREA&&(d=b.getElementById("totalArea"))&&(f=this.areaMarker.getQuantity(),f=0==this.areaPrecision?Math.floor(f):f.toPrecision(this.areaPrecision),
d.innerHTML=f+" "+e+"<sup>2</sup>")},updateTotalDistance:function(){var a=0;Fusion.unitAbbr(this.units);for(var b=0;b<this.distanceMarkers.length;b++)var d=this.distanceMarkers[b].getQuantity(),a=a+d;this.lastMarker&&(b=this.lastMarker.getQuantity(),b!=a&&(a+=b));this.totalDistanceMarker.domObj.style.display="block";this.totalDistanceMarker.setQuantity(a);this.totalLength=a=0==this.distPrecision?Math.floor(a):a.toPrecision(this.distPrecision);this.measureType&Fusion.Constant.MEASURE_TYPE_AREA&&(a=
this.areaMarker.getQuantity(),this.totalArea=a=0==this.areaPrecision?Math.floor(a):a.toPrecision(this.areaPrecision))},clearDisplay:function(a){a=a.document;var b=a.getElementById("segmentTBody");if(b){for(;b.firstChild;)b.firstChild.marker=null,b.removeChild(b.firstChild);a.getElementById("totalDistance").innerHTML="";if(a=a.getElementById("totalArea"))a.innerHTML=""}},clearTotalDistance:function(){this.totalDistanceMarker.domObj.style.display="none";this.totalLength=0},setUnits:function(a){var b=
this.getMap();a=a==Fusion.UNKNOWN?Fusion.unitFromName(b.getUnits()):a;this.setParameter("Units",Fusion.unitName(a));b.oMapOL.baseLayer.projection.proj&&b.oMapOL.baseLayer.projection.proj.localCS&&(this.geodesic=!1)},setParameter:function(a,b){if("Units"==a){this.units=Fusion.unitFromName(b);for(var d=0;d<this.distanceMarkers.length;d++)this.distanceMarkers[d].setUnits(this.units);this.totalDistanceMarker&&this.totalDistanceMarker.setUnits(this.units)}}});
Fusion.Widget.Measure.Marker=OpenLayers.Class({calculatingImg:null,quantity:0,isArea:!1,initialize:function(a,b,d,e){this.precision=b;this.label=d?d:"";this.isArea=e||!1;this.domObj=new Element("DIV",{});this.domObj.className="divMeasureMarker";this.calculatingImg=document.createElement("img");this.calculatingImg.src=Fusion.getFusionURL()+"widgets/Measure/MeasurePending.gif";this.calculatingImg.width=19;this.calculatingImg.height=4;this.setUnits(a);this.setCalculating()},destroy:function(){this.domObj.parentNode&&
(this.domObj.parentNode.removeChild(this.domObj),this.domObj.style.display="none")},setUnits:function(a){this.unit=a;this.unitAbbr=Fusion.unitAbbr(a)},getQuantity:function(){return this.quantity},getQuantityLabel:function(){var a;a=0==this.precision?Math.floor(this.quantity):this.quantity.toPrecision(this.precision);var b="";this.isArea&&(b="<sup>2<sup>");return this.label+" "+a+" "+this.unitAbbr+b},setQuantity:function(a){this.calculatingImg.parentNode&&this.calculatingImg.parentNode.removeChild(this.calculatingImg);
this.quantity=a;this.domObj.innerHTML=this.getQuantityLabel()},setCalculating:function(){this.calculatingImg.parentNode||(this.domObj.innerHTML="",this.domObj.appendChild(this.calculatingImg))},getSize:function(){var a=$(this.domObj).getBorderBoxSize();19>a.width&&(a.width+=19);4>a.height&&(a.height+=4);return a}});
Fusion.Widget.Navigator=OpenLayers.Class(Fusion.Widget,{bInternalChange:!1,zoomInFactor:4,zoomOutFactor:2,panAmount:50,initializeWidget:function(a){this.activeControls=[];var b=document.createElement("map");b.name="Navigator_ImageMap";b.id="Navigator_ImageMap";var d=document.createElement("area");d.shape="poly";d.alt=OpenLayers.i18n("panEast");d.title=OpenLayers.i18n("panEast");d.coords="27,176, 27,177, 40,190, 44,182, 44,159";var e=OpenLayers.Function.bind(this.pan,this,this.panAmount/100,0);OpenLayers.Event.observe(d,
"mousedown",OpenLayers.Function.bindAsEventListener(e,this));b.appendChild(d);d=document.createElement("area");d.shape="poly";d.alt=OpenLayers.i18n("panWest");d.title=OpenLayers.i18n("panWest");d.coords="24,177, 24,176, 7,159, 7,182, 11,190";e=OpenLayers.Function.bind(this.pan,this,-this.panAmount/100,0);OpenLayers.Event.observe(d,"mousedown",OpenLayers.Function.bindAsEventListener(e,this));b.appendChild(d);d=document.createElement("area");d.shape="poly";d.alt=OpenLayers.i18n("panSouth");d.title=
OpenLayers.i18n("panSouth");d.coords="25,178, 12,191, 21,197, 30,197, 39,191, 26,178";e=OpenLayers.Function.bind(this.pan,this,0,-this.panAmount/100);OpenLayers.Event.observe(d,"mousedown",OpenLayers.Function.bindAsEventListener(e,this));b.appendChild(d);d=document.createElement("area");d.shape="poly";d.alt=OpenLayers.i18n("panNorth");d.title=OpenLayers.i18n("panNorth");d.coords="26,175, 43,158, 8,158, 25,175";e=OpenLayers.Function.bind(this.pan,this,0,this.panAmount/100);OpenLayers.Event.observe(d,
"mousedown",OpenLayers.Function.bindAsEventListener(e,this));b.appendChild(d);d=document.createElement("area");d.shape="circle";d.alt=OpenLayers.i18n("zoomOut");d.title=OpenLayers.i18n("zoomOut");d.coords="25,142,8";e=OpenLayers.Function.bind(this.zoom,this,1/this.zoomOutFactor);OpenLayers.Event.observe(d,"mousedown",OpenLayers.Function.bindAsEventListener(e,this));b.appendChild(d);d=document.createElement("area");d.shape="circle";d.alt=OpenLayers.i18n("zoomIn");d.title=OpenLayers.i18n("zoomIn");
d.coords="25,34,8";e=OpenLayers.Function.bind(this.zoom,this,this.zoomInFactor);OpenLayers.Event.observe(d,"mousedown",OpenLayers.Function.bindAsEventListener(e,this));b.appendChild(d);this.domObj.appendChild(b);b=document.createElement("img");b.src=Fusion.getFusionURL()+a.location+"Navigator/sliderscale.png";b.className="png24";b.width=51;b.height=201;b.style.position="absolute";b.style.left="0px";b.style.top="0px";b.useMap="#Navigator_ImageMap";this.domObj.appendChild(b);b=document.createElement("div");
b.style.position="absolute";b.style.top="6px";b.style.left="6px";b.style.width="39px";b.style.height="16px";this.domObj.appendChild(b);d=document.createElement("div");d.style.position="absolute";d.style.top="44px";d.style.left="0px";d.style.width="51px";d.style.height="85px";this.domObj.appendChild(d);e=document.createElement("img");e.src=Fusion.getFusionURL()+a.location+"Navigator/slider.png";e.className="png24";e.width=29;e.height=12;e.style.position="absolute";e.style.left="11px";e.style.top="49px";
d.appendChild(e);this.activityIndicator=document.createElement("img");this.activityIndicator.src=Fusion.getFusionURL()+a.location+"Navigator/spinner.gif";this.activityIndicator.width=18;this.activityIndicator.height=6;this.activityIndicator.style.position="absolute";this.activityIndicator.style.top="3px";this.activityIndicator.style.right="4px";b.appendChild(this.activityIndicator);this.domObj.style.position="absolute";this.domObj.style.zIndex=1E3;this.domObj.style.width="51px";this.domObj.style.height=
"204px";this.domObj.style.cursor="pointer";this.domObj.addEvents({mouseenter:OpenLayers.Function.bind(this.mouseEnter,this),mouseleave:OpenLayers.Function.bind(this.mouseLeave,this)});a=OpenLayers.Function.bind(this.checkPosition,this);new Drag(this.domObj,{handle:b,onComplete:a,preventDefault:!0});this.slider=new Slider(d,e,{mode:"vertical",steps:81,snap:!0,onComplete:OpenLayers.Function.bind(this.scaleChanged,this)});this.LN9=Math.log(9);this.getMap().registerForEvent(Fusion.Event.MAP_LOADED,OpenLayers.Function.bind(this.updateSlider,
this));this.getMap().registerForEvent(Fusion.Event.MAP_RESIZED,a);this.getMap().registerForEvent(Fusion.Event.MAP_EXTENTS_CHANGED,OpenLayers.Function.bind(this.updateSlider,this));this.getMap().registerForEvent(Fusion.Event.MAP_BUSY_CHANGED,OpenLayers.Function.bind(this.busyChanged,this))},scaleChanged:function(a){var b=this.getMap(),d=null;b.oActiveWidget&&(d=b.oActiveWidget,b.deactivateWidget(b.oActiveWidget));if(!this.bInternalChange){var e=this.getMap().oMapOL,f=e.baseLayer;null!=f&&(f.singleTile?
(a=Math.pow(9,a/9),a=OpenLayers.Util.getResolutionFromScale(a,f.units),a+=f.minResolution,this.bInternalChange=!0,e.zoomTo(e.getZoomForResolution(a))):(f=e.baseLayer.resolutions.length-a-1,this.bInternalChange=!0,e.zoomTo(f)),this.bInternalChange=!1)}d&&b.activateWidget(d);return!1},checkPosition:function(){var a=this.domObj,b=$(a.parentNode).getContentBoxSize(),d,e;d=parseInt(a.style.left);e=parseInt(a.style.top);d+a.getWidth()>b.width&&(d=b.width-a.getWidth(),a.style.left=d+"px");e+a.getHeight()>
b.height&&(e=b.height-a.getHeight(),a.style.top=e+"px");0>d&&(a.style.left="0px");0>e&&(a.style.top="0px")},updateSlider:function(){var a=this.getMap().oMapOL;baseLayer=a.baseLayer;baseLayer.singleTile?(this.slider.steps=81,a=a.getResolution()-baseLayer.minResolution,a=OpenLayers.Util.getScaleFromResolution(a,baseLayer.units),a=9*Math.log(a)/this.LN9):(this.slider.steps=a.baseLayer.resolutions.length-1,a=a.baseLayer.resolutions.length-1-a.getZoom());this.bInternalChange=!0;this.slider.set(a);this.bInternalChange=
!1},pan:function(a,b,d){var e=this.getMap(),f=e.getCurrentCenter(),g=e.oMapOL.getResolution(),h=e.oMapOL.getSize();e.zoom(f.x+a*h.w*g,f.y+b*h.h*g,1);OpenLayers.Event.stop(d);return!1},zoom:function(a,b){var d=this.getMap(),e=d.getCurrentCenter();d.zoom(e.x,e.y,a);OpenLayers.Event.stop(b);return!1},mouseEnter:function(){for(var a=this.getMap(),b=a.oMapOL,d=0;d<b.controls.length;++d){var e=b.controls[d];e.active&&(e.deactivate(),this.activeControls.push(e))}for(d=0;d<a.handlers.length;++d)b=a.handlers[d],
b.active&&("OpenLayers.Handler.Box"==b.CLASS_NAME&&void 0!=b.zoomBox&&b.removeBox(),b.deactivate(),this.activeControls.push(b))},mouseLeave:function(){for(this.getMap();0<this.activeControls.length;)this.activeControls.pop().activate()},busyChanged:function(){this.activityIndicator.style.visibility=this.getMap().isBusy()?"visible":"hidden"}});
Fusion.Widget.OverviewMap=OpenLayers.Class(Fusion.Widget,{oSize:null,nMinRatio:4,nMaxRatio:32,bDisplayed:!1,initializeWidget:function(a){a=a.extension;a.MinRatio&&(this.nMinRatio=a.MinRatio[0]);a.MaxRatio&&(this.nMaxRatio=a.MaxRatio[0]);this.sMapGroupId=a.MapId;this.domObj&&(this.domObj.style.overflow="hidden",(a=this.domObj.retrieve("jxLayout"))||(a=new Jx.Layout(this.domObj)),a.addEvent("sizeChange",OpenLayers.Function.bind(this.sizeChanged,this)));this.oMapOptions={};this.getMap().registerForEvent(Fusion.Event.MAP_LOADED,
OpenLayers.Function.bind(this.mapWidgetLoaded,this));this.getMap().registerForEvent(Fusion.Event.MAP_BASE_LAYER_CHANGED,OpenLayers.Function.bind(this.mapBaseLayerChanged,this))},mapWidgetLoaded:function(){var a=null,a=this.sMapGroupId?Fusion.applicationDefinition.getMapGroup(this.sMapGroupId).maps[0]:this.getMap().mapGroup.maps[0];this.mapObject=Fusion.Layers[a.type]?new Fusion.Layers[a.type](this.getMap(),a,!1):new Fusion.Layers.Generic(this,a,!1);this.mapObject.registerForEvent(Fusion.Event.LAYER_LOADED,
OpenLayers.Function.bind(this.loadOverview,this))},loadOverview:function(){this.control&&this.control.destroy();var a=this.mapObject.oLayerOL;if(null!=a){var b=$(this.domObj).getContentBoxSize();this.oSize=new OpenLayers.Size(b.width,b.height);a.isBaseLayer=!0;a.ratio=1;a.singleTile&&(this.oMapOptions.numZoomLevels=3);ovLayers=[a];if(this.mapObject.oLayersOLTile&&1<this.mapObject.oLayersOLTile.length)for(var d=this.mapObject.oLayersOLTile.length-2;0<=d;d--)this.mapObject.oLayersOLTile[d].isBaseLayer=
!1,ovLayers.push(this.mapObject.oLayersOLTile[d]);for(var e=!1,f=this.getMap().getAllMaps(),d=0;d<f.length;d++)"MapGuide"!=f[d].arch&&(e=f[d].oLayerOL.clone(),ovLayers.push(e),e=!0);e&&(a.isBaseLayer=!1);this.control=new OpenLayers.Control.OverviewMap({div:this.domObj,size:this.oSize,minRatio:this.nMinRatio,maxRatio:this.nMaxRatio,mapOptions:this.oMapOptions,layers:ovLayers});0!=b.width&&0!=b.height&&(this.getMap().oMapOL.addControl(this.control),this.bDisplayed=!0)}},mapBaseLayerChanged:function(a,
b){if(this.control){for(var d=b.oLayerOL,e=this.control.ovmap.layers,f=null,g=0;g<e.length;g++)e[g].isBaseLayer=!1,e[g].name==d.name&&(f=e[g]);null!=f&&this.control.ovmap.setBaseLayer(f)}},sizeChanged:function(){var a=$(this.domObj).getContentBoxSize();this.oSize=new OpenLayers.Size(a.width,a.height);0!=a.width&&0!=a.height&&(!this.bDisplayed&&this.control&&(this.getMap().oMapOL.addControl(this.control),this.bDisplayed=!0),this.control&&(this.control.size=new OpenLayers.Size(a.width,a.height),this.control.mapDiv.style.width=
this.oSize.w+"px",this.control.mapDiv.style.height=this.oSize.h+"px",this.control.ovmap.updateSize(),this.control.update()))}});
Fusion.Widget.Pan=OpenLayers.Class(Fusion.Widget,{isExclusive:!0,uiClass:Jx.Button,initializeWidget:function(a){this.control=new OpenLayers.Control.DragPan;this.getMap().oMapOL.addControl(this.control);this.control.handler.keyMask=0;a=window.location.href.indexOf("?");var b=window.location.href.substring(0,a);a=b.lastIndexOf("/");b=b.substring(0,a+1);this.cursorNormal=["url("+b+"images/grab.cur), move","grab","-moz-grab","move"];this.cursorDrag=["url("+b+"images/grabbing.cur), move","grabbing","-moz-grabbing",
"move"];this.getMap().registerForEvent(Fusion.Event.MAP_DIGITIZER_ACTIVATED,OpenLayers.Function.bind(this.onDigitizerActivated,this));this.getMap().registerForEvent(Fusion.Event.MAP_DIGITIZER_DEACTIVATED,OpenLayers.Function.bind(this.onDigitizerDeactivated,this))},onDigitizerActivated:function(){this.bRestoreActiveState=this.isActive;this.deactivate()},onDigitizerDeactivated:function(){!0===this.bRestoreActiveState&&(this.activate(),this.bRestoreActiveState=!1)},activate:function(){this.isActive=
!0;this.control.activate();this.getMap().setCursor(this.cursorNormal)},deactivate:function(){this.isActive=!1;this.control.deactivate();this.getMap().setCursor("auto")}});
Fusion.Widget.PanOnClick=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,fPercent:null,nDeltaX:null,nDeltaY:null,initializeWidget:function(a){a=a.extension;this.fPercent=parseFloat(a.Percentage?a.Percentage[0]:75)/100;switch(a.Direction?a.Direction[0]:""){case "north":this.nDeltaX=0;this.nDeltaY=1;break;case "south":this.nDeltaX=0;this.nDeltaY=-1;break;case "east":this.nDeltaX=1;this.nDeltaY=0;break;case "west":this.nDeltaX=-1;this.nDeltaY=0;break;default:this.nDeltaY=this.nDeltaX=0}},activate:function(){var a=
this.getMap().getCurrentExtents(),b=this.getMap().getCurrentCenter(),d;d=b.x+this.nDeltaX*(a[2]-a[0])*this.fPercent;a=b.y+this.nDeltaY*(a[3]-a[1])*this.fPercent;this.getMap().zoom(d,a,1)}});
Fusion.Widget.PanQuery=OpenLayers.Class(Fusion.Widget,{isExclusive:!0,uiClass:Jx.Button,selectionType:"INTERSECTS",nTolerance:3,bActiveOnly:!1,initializeWidget:function(a){this.control=new OpenLayers.Control.DragPan;this.getMap().oMapOL.addControl(this.control);this.control.handler.up=OpenLayers.Function.bind(this.mouseUp,this);a=a.extension;this.nTolerance=a.Tolerance?Math.abs(parseInt(a.Tolerance)):3;this.bComputeMetadata=!a.ComputeMetadata||"true"!=a.ComputeMetadata[0]&&"1"!=a.ComputeMetadata[0]?
!1:!0;a=a.QueryActiveLayer?a.QueryActiveLayer[0]:"false";this.bActiveOnly="true"==a||"1"==a?!0:!1;this.cursorNormal=["auto"];this.cursorDrag=["url('images/grabbing.cur'),move","grabbing","-moz-grabbing","move"]},mouseUp:function(a){var b=this.control.handler;Event.pointerX(a);Event.pointerY(a);var d=b.start.y-b.last.y;if(Math.abs(b.start.x-b.last.x)<this.nTolerance&&Math.abs(d)<this.nTolerance){var e=this.getMap().pixToGeo(b.last.x,b.last.y),b={},f=this.getMap().pixToGeoMeasure(this.nTolerance),d=
e.x-f,g=e.y-f,h=e.x+f,e=e.y+f;b.geometry="POLYGON(("+d+" "+g+", "+h+" "+g+", "+h+" "+e+", "+d+" "+e+", "+d+" "+g+"))";b.selectionType="INTERSECTS";b.computed=this.bComputeMetadata;if(this.bActiveOnly)if(d=this.getMap().getActiveLayer())b.layers=d.layerName;else return;a.shiftKey&&(b.extendSelection=!0);this.getMap().query(b)}Event.stop(a)},activate:function(){this.control.activate();this.getMap().setCursor(this.cursorNormal)},deactivate:function(){this.control.deactivate();this.getMap().setCursor("auto")},
setParameter:function(a,b){"Tolerance"==a&&0<b&&(this.nTolerance=b);"SelectionType"==a&&(this.selectionType=b)}});
Fusion.Widget.Print=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,initializeWidget:function(a){var b=a.extension,d=b.ShowPrintUI?b.ShowPrintUI[0]:"false";this.showPrintUI="true"==d.toLowerCase()||"1"==d;d=b.ShowTitle?b.ShowTitle[0]:"false";this.showTitle="true"==d.toLowerCase()||"1"==d;this.pageTitle=b.PageTitle?b.PageTitle[0]:"";this.resultsLayer=b.ResultsLayer?b.ResultsLayer[0]:null;d=b.ShowLegend?b.ShowLegend[0]:"false";this.showLegend="true"==d.toLowerCase()||"1"==d;d=b.ShowNorthArrow?b.ShowNorthArrow[0]:
"false";this.showNorthArrow="true"==d.toLowerCase()||"1"==d;this.imageBaseUrl=b.ImageBaseUrl?b.ImageBaseUrl[0]:null;this.dialogContentURL=Fusion.getFusionURL()+a.location+"Print/Print.html";this.printablePageURL=Fusion.getFusionURL()+a.location+"Print/printablepage.php";Fusion.addWidgetStyleSheet(a.location+"Print/Print.css")},activate:function(){this.showPrintUI?this.openPrintUI():this.openPrintable()},openPrintUI:function(){if(!this.dialog){var a=new Jx.Toolbar({position:"bottom"}),b={label:OpenLayers.i18n("printTitle"),
id:"printablePage",content:'<div class="PrintDialogForm"><fieldset class="PrintDialogOptions"><legend>'+OpenLayers.i18n("printOptions")+'</legend><label class="block" for="dialogPrintShowtitle"><input name="dialogPrintShowtitle" id="dialogPrintShowtitle" type="checkbox" value="showtitle" checked>'+OpenLayers.i18n("printShowTitle")+'</label><label class="block" for="dialogPrintTitle">'+OpenLayers.i18n("printTitleText")+'</label><input name="dialogPrintTitle" id="dialogPrintTitle" type="text" class="inputText" /><label class="block" for="dialogPrintShowlegend"><input name="dialogPrintShowlegend" id="dialogPrintShowlegend" type="checkbox" value="showlegend" checked>'+
OpenLayers.i18n("printShowLegend")+'</label><label class="block" for="dialogPrintShowNorthArrow"><input name="dialogPrintShowNorthArrow" id="dialogPrintShowNorthArrow" type="checkbox" value="shownortharrow" checked>'+OpenLayers.i18n("printShowNorthArrow")+"</label></fieldset></div>",width:350,height:250,resize:!0,toolbars:[a]},d=new Jx.Dialog(b);d.addEvent("contentLoaded",this.contentLoaded.bind(this));a.add(new Jx.Button({label:OpenLayers.i18n("printGenerate"),onClick:OpenLayers.Function.bind(this.generate,
this)}),new Jx.Button({label:OpenLayers.i18n("printCancel"),onClick:function(){d.close()}}));this.dialog=d}this.dialog.show()},setParameter:function(a,b){switch(a){case "Print_ShowTitle":this.showTitle=b;break;case "Print_Title":this.pageTitle=b;break;case "Print_ShowLegend":this.showLegend=b;break;case "Print_ShowNorthArrow":this.showNorthArrow=b}},contentLoaded:function(a){a.content.getElementById("dialogPrintShowtitle").checked=this.showTitle;a.content.getElementById("dialogPrintTitle").value=
this.pageTitle;a.content.getElementById("dialogPrintTitle").disabled=!this.showTitle;a.content.getElementById("dialogPrintShowlegend").checked=this.showLegend;a.content.getElementById("dialogPrintShowNorthArrow").checked=this.showNorthArrow;OpenLayers.Event.observe(a.content.getElementById("dialogPrintShowtitle"),"click",OpenLayers.Function.bind(this.controlTitle,this))},controlTitle:function(){this.dialog.content.getElementById("dialogPrintTitle").disabled=!this.dialog.content.getElementById("dialogPrintShowtitle").checked},
generate:function(){this.showTitle=this.dialog.content.getElementById("dialogPrintShowtitle").checked;this.pageTitle=this.dialog.content.getElementById("dialogPrintTitle").value;this.showLegend=this.dialog.content.getElementById("dialogPrintShowlegend").checked;this.showNorthArrow=this.dialog.content.getElementById("dialogPrintShowNorthArrow").checked;this.openPrintable()},openPrintable:function(){var a=this.getMap(),b=this.printablePageURL+"?",d=a.getCurrentExtents(),e=(d.left+d.right)/2,d=(d.top+
d.bottom)/2,f=a._nDpi,a=a.getScale(),g=this.getMapLayer(),b=b+"MAPNAME="+g.getMapName(),b=b+"&SESSION="+g.getSessionID(),b=b+"&CENTERX="+e+"&CENTERY="+d,b=b+"&DPI="+f,b=b+"&SCALE="+a,b=b+"&ISTITLE="+(""!=this.showTitle?"1":"0"),b=b+"&ISLEGEND="+(this.showLegend?"1":"0"),b=b+"&ISARROW="+(this.showNorthArrow?"1":"0");""!=this.pageTitle&&(b=b+"&TITLE="+this.pageTitle);window.open(b,"printablepage","")}});
Fusion.Widget.Query=OpenLayers.Class(Fusion.Widget,{isExclusive:!1,uiClass:Jx.Button,sFeatures:"menubar=no,location=no,resizable=no,status=no",initializeWidget:function(a){a=a.extension;this.sTarget=a.Target?a.Target[0]:"QueryWindow";this.sBaseUrl=Fusion.getFusionURL()+"widgets/Query/querymain.php"},activate:function(){var a=this.sBaseUrl,b=this.getMapLayer(),d=Fusion.getWidgetById(this.sTarget),e=$(this.sTarget),f=[];f.push("LOCALE="+Fusion.locale);f.push("SESSION="+b.getSessionID());f.push("MAPNAME="+
b.getMapName());d||e?f.push("POPUP=false"):f.push("POPUP=true");0>a.indexOf("?")?a+="?":"&"!=a.slice(-1)&&(a+="&");a+=f.join("&");d?d.isSameWithLast(a)||d.setContent(a):e?e.src=a:window.open(a,this.sTarget,this.sWinFeatures)}});Fusion.require("widgets/QuickPlot/MapCapturer.js");
Fusion.Widget.QuickPlot=OpenLayers.Class(Fusion.Widget,{isExclusive:!1,uiClass:Jx.Button,sFeatures:"width=350,height=650,menubar=no,location=no,resizable=no,status=no",options:{},disclaimer:"",defaultDpi:null,paperList:null,scaleList:null,showCoordinatesInPreview:!0,showSubTitle:!0,persistPlotOptions:!1,showLegend:!0,showNorthArrow:!1,showCoordinates:!1,showScaleBar:!1,allowDisclaimerToggle:!0,showLegalDisclaimer:!0,initializeWidget:function(a){this.mapCapturer=new OpenLayers.Control.MapCapturer(this.getMap());
this.getMap().oMapOL.addControl(this.mapCapturer);a=a.extension;this.sTarget=a.Target?a.Target[0]:"PrintPanelWindow";this.sBaseUrl=Fusion.getFusionURL()+"widgets/QuickPlot/QuickPlotPanel.php";a.DefaultDpi&&(this.defaultDpi=parseInt(a.DefaultDpi[0]));if(a.DefaultMargin)try{this.margin={};var b=a.DefaultMargin[0].split(",");this.margin.top=parseFloat(b[0]);this.margin.buttom=parseFloat(b[1]);this.margin.left=parseFloat(b[2]);this.margin.right=parseFloat(b[3])}catch(d){this.margin=null}this.paperList=
[];if(a.PaperListEntry)for(b=0;b<a.PaperListEntry.length;b++){var e=a.PaperListEntry[b],f=e.Name[0];this.paperList.push({name:f,size:e.Value[0]})}this.scaleList=[];if(a.ScaleListEntry)for(b=0;b<a.ScaleListEntry.length;b++)e=a.ScaleListEntry[b],f=e.Name[0],this.scaleList.push({name:f,scale:e.Value[0]});a.ShowSubTitle&&(this.showSubTitle="true"==a.ShowSubTitle[0]);a.ShowCoordinateLabels&&(this.showCoordinatesInPreview="true"==a.ShowCoordinateLabels[0]);a.AllowDisclaimerToggle&&(this.allowDisclaimerToggle=
"true"==a.AllowDisclaimerToggle[0]);a.ShowLegend&&(this.showLegend="true"==a.ShowLegend[0]);a.ShowNorthArrow&&(this.showNorthArrow="true"==a.ShowNorthArrow[0]);a.ShowCoordinates&&(this.showCoordinates="true"==a.ShowCoordinates[0]);a.ShowScaleBar&&(this.showScaleBar="true"==a.ShowScaleBar[0]);a.ShowLegalDisclaimer&&(this.showLegalDisclaimer="true"==a.ShowLegalDisclaimer[0]);a.RememberPlotOptions&&(this.persistPlotOptions="true"==a.RememberPlotOptions[0]);a.Disclaimer&&(this.disclaimer=a.Disclaimer[0]);
this.additionalParameters=[];if(a.AdditionalParameter)for(b=0;b<a.AdditionalParameter.length;b++)e=a.AdditionalParameter[b],this.additionalParameters.push(e.Key[0]+"="+encodeURIComponent(e.Value[0]))},activate:function(){var a=this.sBaseUrl,b=this.getMapLayer(),d=Fusion.getWidgetById(this.sTarget),e=$(this.sTarget),f=[];f.push("locale="+Fusion.locale);f.push("session="+b.getSessionID());f.push("mapname="+b.getMapName());d||e?f.push("popup=false"):f.push("popup=true");f=f.concat(this.additionalParameters);
0>a.indexOf("?")?a+="?":"&"!=a.slice(-1)&&(a+="&");a+=f.join("&");d?d.isSameWithLast(a)||d.setContent(a):e?e.src=a:window.open(a,this.sTarget,this.sFeatures).focus();if("undefined"!=typeof panelman)for(a=null,b=0;b<panelman.panels.length;++b)if(a=panelman.panels[b],a.options.contentId==this.sTarget){panelman.maximizePanel(a);break}}});
OpenLayers.Control.MapCapturer=OpenLayers.Class(OpenLayers.Control,{layer:null,feature:null,captureBox:null,rotateHandle:null,rotateHandleStart:null,rotateHandleEnd:null,snappingLine:null,rotation:0,rotateHandleLength:30,captureBoxStyle:null,rotateHandleStyle:null,rotateHandlePointStyle:null,snappingLineStyle:null,enabled:!1,warningMessage:OpenLayers.i18n("quickPlotResolutionWarning"),rotateSnappingStep:45,rotateSnappingTolerance:2,lastPixel:null,initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,
[b]);this.captureBoxStyle=OpenLayers.Util.extend({},OpenLayers.Feature.Vector.style["default"]);this.captureBoxStyle.fillOpacity=0.8;this.captureBoxStyle.fillColor="#476387";this.captureBoxStyle.strokeColor="#39506F";this.rotateHandleStyle=OpenLayers.Util.extend({},OpenLayers.Feature.Vector.style["default"]);this.rotateHandleStyle.strokeColor="#39506F";this.rotateHandlePointStyle=OpenLayers.Util.extend({},OpenLayers.Feature.Vector.style["default"]);this.rotateHandlePointStyle.strokeColor="#39506F";
this.rotateHandlePointStyle.fillOpacity=1;this.rotateHandlePointStyle.fillColor="#476387";this.rotateHandlePointStyle.pointRadius=4;this.snappingLineStyle=OpenLayers.Util.extend({},OpenLayers.Feature.Vector.style["default"]);this.snappingLineStyle.strokeOpacity=0.8;this.snappingLineStyle.strokeColor="black";this.snappingLineStyle.strokeDashstyle="dot";this.cursorMove="move";this.cursorRotate="url(../../../Widgets/QuickPlot/rotate.cur), default";this.wMap=a;this.layer=new OpenLayers.Layer.Vector("Map Capturer Layer");
a.oMapOL.addLayer(this.layer);this.captureBox=new OpenLayers.Feature.Vector(null,null,this.captureBoxStyle);this.rotateHandle=new OpenLayers.Feature.Vector(null,null,this.rotateHandleStyle);this.rotateHandleStart=new OpenLayers.Feature.Vector(null,null,this.rotateHandlePointStyle);this.rotateHandleEnd=new OpenLayers.Feature.Vector(null,null,this.rotateHandlePointStyle);this.snappingLine=new OpenLayers.Feature.Vector(null,null,this.snappingLineStyle);this.layer.addFeatures([this.captureBox,this.rotateHandle,
this.rotateHandleStart,this.rotateHandleEnd,this.snappingLine]);this.handlers={drag:new OpenLayers.Handler.Drag(this,OpenLayers.Util.extend({down:this.downFeature,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})};this.handlers.drag.move=this.mouseMove.bind(this);this.wMap.oMapOL.events.register("zoomend",
this,this.drawFeatures.bind(this))},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.feature.deactivate();this.handlers.drag.deactivate();this.feature=null;this.dragging=!1;this.lastPixel=null;return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},overFeature:function(a){this.stopFeature=
a;this.handlers.drag.dragging?this.over=this.captureBox.id==a.id||this.rotateHandleEnd.id==a.id?!0:!1:(this.feature=a,this.handlers.drag.activate(),this.over=!0,this.setCursor())},isDragging:function(){return this.feature&&this.captureBox?this.feature.id==this.captureBox.id||this.feature.id==this.rotateHandleStart.id:!1},isRotating:function(){return this.feature&&this.rotateHandleEnd&&this.feature.id==this.rotateHandleEnd.id},downFeature:function(a){this.setCursor();this.lastPixel=a},setCursor:function(){this.isDragging()?
this.wMap.setCursor(this.cursorMove):this.isRotating()&&this.wMap.setCursor(this.cursorRotate)},mouseMove:function(a){this.isDragging()?this.moveFeature(a):this.isRotating()&&this.rotateFeature(a)},moveFeature:function(a){pixel=a.xy;var b=this.wMap.getResolution();a=b*(pixel.x-this.lastPixel.x);for(var b=b*(this.lastPixel.y-pixel.y),d=this.layer.features,e=0;e<d.length;++e)null!=d[e].geometry&&d[e].id!=this.snappingLine.id&&(d[e].geometry.move(a,b),this.layer.drawFeature(d[e]));this.lastPixel=pixel},
rotateFeature:function(a){pixel=a.xy;var b=this.captureBox.geometry.getCentroid(),d=this.map.getViewPortPxFromLonLat(new OpenLayers.LonLat(b.x,b.y)),d=this.calculateAngle(pixel,d),e=this.rotation+d;a.shiftKey?(d=e%this.rotateSnappingStep,a=Math.round(e/this.rotateSnappingStep),Math.abs(d)<=this.rotateSnappingTolerance||Math.abs(d)>=this.rotateSnappingStep-this.rotateSnappingTolerance?(e=a*this.rotateSnappingStep,null==this.snappingLine.geometry&&this.drawSnappingHint(e)):this.clearSnappingHint(),
d=e-this.rotation):this.clearSnappingHint();this.rotation+=d;e=this.layer.features;for(a=0;a<e.length;++a)null!=e[a].geometry&&e[a].id!=this.snappingLine.id&&(e[a].geometry.rotate(d,b),this.layer.drawFeature(e[a]));this.lastPixel=0==d?this.lastPixel:pixel},drawSnappingHint:function(a){var b=this.wMap.getCurrentExtents().getSize(),d=Math.sqrt(Math.pow(b.w,2)+Math.pow(b.h,2)),b=this.captureBox.geometry.getCentroid(),e=[];e.push(new OpenLayers.Geometry.Point(b.x-d,b.y));e.push(new OpenLayers.Geometry.Point(b.x+
d,b.y));d=new OpenLayers.Geometry.LineString(e);d.rotate(a+90,b);this.snappingLine.geometry=d;this.layer.drawFeature(this.snappingLine)},clearSnappingHint:function(){null!=this.snappingLine&&null!=this.snappingLine.geometry&&(this.layer.eraseFeatures([this.snappingLine]),this.snappingLine.geometry=null)},calculateAngle:function(a,b){var d=Math.atan2(a.y-b.y,a.x-b.x);return 180*(Math.atan2(this.lastPixel.y-b.y,this.lastPixel.x-b.x)-d)/Math.PI},upFeature:function(a){this.over?(this.feature=this.stopFeature,
this.setCursor()):this.handlers.drag.deactivate();this.clearSnappingHint()},outFeature:function(a){this.handlers.drag.dragging?this.feature.id==a.id&&(this.over=!1):(this.over=!1,this.handlers.drag.deactivate(),this.wMap.setCursor("auto"),this.feature=null)},cancel:function(){this.handlers.drag.deactivate();this.over=!1},setMap:function(a){this.handlers.drag.setMap(a);this.handlers.feature.setMap(a);OpenLayers.Control.prototype.setMap.apply(this,arguments)},setSize:function(a,b){this.paperSize=a;
this.scaleDenominator=b;this.drawFeatures();this.activate()},drawFeatures:function(){this.paperSize&&(this.clearFeatures(),this.createCaptureBox(),this.createRotateHandle(),this.enabled&&(this.validateResolution()?(this.layer.features.each(function(a){a.layer.drawFeature(a)}),this.wMap.message&&this.wMap.message.hide()):this.wMap.message.warn(this.warningMessage)))},clearFeatures:function(){for(var a=this.layer.features,b=[],d=null,e=0;e<a.length;++e)d=a[e],null!=d.geometry&&b.push(d);this.layer.eraseFeatures(b)},
createCaptureBox:function(){var a=null,b=0;null!=this.captureBox.geometry?(a=this.captureBox.geometry.getCentroid(),b=this.rotation):a=this.wMap.getCurrentCenter();var d=this.scaleDenominator/(2E3*this.wMap.getMetersPerUnit()),e=[];e.push(new OpenLayers.Geometry.Point(a.x-this.paperSize.w*d,a.y-this.paperSize.h*d));e.push(new OpenLayers.Geometry.Point(a.x+this.paperSize.w*d,a.y-this.paperSize.h*d));e.push(new OpenLayers.Geometry.Point(a.x+this.paperSize.w*d,a.y+this.paperSize.h*d));e.push(new OpenLayers.Geometry.Point(a.x-
this.paperSize.w*d,a.y+this.paperSize.h*d));e.push(e[0]);a=new OpenLayers.Geometry.Polygon(new OpenLayers.Geometry.LinearRing(e));0!=b&&a.rotate(b,a.getCentroid());this.captureBox.geometry=a},createRotateHandle:function(){var a=this.captureBox.geometry.clone(),b=a.getCentroid();0!=this.rotation&&a.rotate(-this.rotation,b);var d=this.rotateHandleLength*this.wMap.getResolution(),a=new OpenLayers.Geometry.Point(b.x,b.y+a.getBounds().getHeight()/2+d),d=new OpenLayers.Geometry.LineString([b.clone(),a.clone()]);
0!=this.rotation&&(a.rotate(this.rotation,b),d.rotate(this.rotation,b));this.rotateHandle.geometry=d;this.rotateHandleStart.geometry=b;this.rotateHandleEnd.geometry=a},validateResolution:function(){if(this.captureBox){var a=this.map.getExtent().getSize(),b=this.captureBox.geometry.getBounds().getSize();return b.w<a.w||b.h<a.h?!0:!1}},getCaptureBox:function(){var a;a=this.enabled?this.captureBox.geometry:this.wMap.getCurrentExtents().toGeometry();for(var b="",d=a.getVertices(),e=null,f=0;f<d.length;++f)e=
d[f],b+=e.x+","+e.y+",";b=b.substr(0,b.length-1);return{geometry:a,params:b}},getNormalizedCapture:function(){var a="",b=null;this.enabled?(b=this.captureBox.geometry.clone(),b.rotate(-this.rotation,b.getCentroid())):b=this.wMap.getCurrentExtents().toGeometry();for(var d=b.getVertices(),e=null,f=0;f<d.length;++f)e=d[f],a+=e.x+","+e.y+",";a=a.substr(0,a.length-1);return{geometry:b,params:a}},getCaptureRotation:function(){return this.enabled?this.rotation:0},enable:function(){this.disable();this.enabled=
!0},disable:function(){this.enabled=!1;this.wMap.message&&this.wMap.message.hide();this.clearFeatures();this.rotation=0;for(var a=this.layer.features,b=0;b<a.length;++b)a[b].geometry=null},CLASS_NAME:"OpenLayers.Control.MapCapturer"});function panelUnloaded(){getParent().Fusion.getWidgetsByType("QuickPlot")[0].mapCapturer.disable()}
function panelLoaded(){var a=getParent().Fusion.getWidgetsByType("QuickPlot")[0],b=a.disclaimer;document.getElementById("legalNotice").value=b;b&&""!=b&&a.allowDisclaimerToggle||(document.getElementById("DisclaimerCtrl").style.display="none");document.getElementById("ShowLegendCheckBox").checked=a.showLegend;document.getElementById("ShowNorthArrowCheckBox").checked=a.showNorthArrow;document.getElementById("ShowCoordinatesCheckBox").checked=a.showCoordinates;document.getElementById("ShowScaleBarCheckBox").checked=
a.showScaleBar;document.getElementById("ShowDisclaimerCheckBox").checked=a.showLegalDisclaimer;if(0<a.paperList.length)for(var d=document.getElementById("PaperList"),b=d.options.length=0;b<a.paperList.length;b++){var e=document.createElement("option"),f=getParent().Fusion.trim(a.paperList[b].name),g=a.paperList[b].size.split(","),h=parseFloat(g[0]),g=parseFloat(g[1]),h=h<g?h+","+g+","+f:g+","+h+","+f;e.text=f;e.value=h;try{d.add(e,null)}catch(l){d.add(e)}}if(0<a.scaleList.length)for(d=document.getElementById("ScalingList"),
b=d.options.length=0;b<a.scaleList.length;b++){e=document.createElement("option");e.text=a.scaleList[b].name;e.value=a.scaleList[b].scale;try{d.add(e,null)}catch(m){d.add(e)}}a.margin&&(a=a.margin,document.getElementById("margin").value=a.top+","+a.buttom+","+a.left+","+a.right);restoreUI()}
function restoreUI(){setAdvancedOptionsUI(!1);var a=getParent().Fusion.getWidgetsByType("QuickPlot")[0];if(a.persistPlotOptions){var b=getParent().Cookie.read("QuickPlotLastUsedPaperSize"),d=getParent().Cookie.read("QuickPlotLastUsedScaling"),e=getParent().Cookie.read("QuickPlotLastUsedDPI"),f=getParent().Cookie.read("QuickPlotLastUsedOrientation");null!=b&&(document.getElementById("PaperList").value=b);null!=d&&(document.getElementById("ScalingList").value=d);null!=e&&(document.getElementById("DPIList").value=
e);null!=f&&(document.getElementById("OrientationList").value=f)}a.defaultDpi?(document.getElementById("DPICtrl").style.display="none",document.getElementById("DPILabel").style.display="none"):(document.getElementById("DPICtrl").style.display="block",document.getElementById("DPILabel").style.display="block");a.showSubTitle?(document.getElementById("SubTitleCtrl").style.display="block",document.getElementById("SubTitleLabel").style.display="block"):(document.getElementById("SubTitleCtrl").style.display=
"none",document.getElementById("SubTitleLabel").style.display="none")}function setAdvancedOptionsUI(a){document.getElementById("ScalingList").disabled=!a;document.getElementById("DPIList").disabled=!a;var b=getParent().Fusion.getWidgetsByType("QuickPlot")[0].mapCapturer;a?(b.enable(),drawCaptureBox()):b.disable()}
function generatePlot(){var a=getParent().Fusion.getWidgetsByType("QuickPlot")[0];if(a)var b=a.getMapLayer(),d=a.mapCapturer;if(b)var e=b.getSessionID(),f=b.getMapName();if(d){var g=d.getCaptureBox();if(g)var h=g.params;g=d.rotation;if(d=d.getNormalizedCapture())var l=d.params}d=getPrintSize();getPrintDpi();getScale();getPaperType();getOrientation();document.getElementById("sessionId").value=e;document.getElementById("mapName").value=f;document.getElementById("normalizedBox").value=l;document.getElementById("printSize").value=
d.w+","+d.h;document.getElementById("rotation").value=g;document.getElementById("box").value=h;a.persistPlotOptions&&(getParent().Cookie.write("QuickPlotLastUsedPaperSize",document.getElementById("PaperList").value,{duration:365}),getParent().Cookie.write("QuickPlotLastUsedScaling",document.getElementById("ScalingList").value,{duration:365}),getParent().Cookie.write("QuickPlotLastUsedDPI",document.getElementById("DPIList").value,{duration:365}),getParent().Cookie.write("QuickPlotLastUsedOrientation",
document.getElementById("OrientationList").value,{duration:365}));a=document.getElementById("Form1");a.target="_blank";e="printId="+1E3*Math.random();f=-1!=a.action.indexOf("?")?a.action.slice(0,a.action.indexOf("?")):a.action;a.action=f+"?"+e;a.submit()}function advancedOptionsOn(){var a=document.getElementById("AdvancedOptionsCheckBox");return a&&a.checked?!0:!1}
function getMargin(){var a=getParent().Fusion.getWidgetsByType("QuickPlot")[0];return a.margin?a.margin:{top:25.4,buttom:12.7,left:12.7,right:12.7}}function getOrientation(){document.getElementById("orientation").value=document.getElementById("OrientationList").value;return document.getElementById("OrientationList").value}function getPaperType(){return document.getElementById("PaperList").value.split(",")[2]}
function getPrintSize(){var a,b,d=document.getElementById("PaperList").value.split(","),e,f=getOrientation();"P"===f?e={w:parseFloat(d[0]),h:parseFloat(d[1])}:"L"===f&&(e={w:parseFloat(d[1]),h:parseFloat(d[0])});if(!advancedOptionsOn()){var g=getParent().Fusion.getWidgetById("Map"),d=e.w/e.h,g=g.getSize();"P"===f&&(a=g.h,b=g.w);"L"===f&&(a=g.w,b=g.h);a/=b;d>a?e.w=e.h*a:e.h=e.w/a}a=getMargin();e.h=e.h-a.top-a.buttom;e.w=e.w-a.left-a.right;document.getElementById("paperSize").value=document.getElementById("PaperList").value;
return e}function getScale(){var a=0,a=advancedOptionsOn()?document.getElementById("ScalingList").value:getParent().Fusion.getWidgetById("Map").getScale(),a=parseInt(a);return document.getElementById("scaleDenominator").value=a}
function getPrintDpi(){var a=getParent().Fusion.getWidgetsByType("QuickPlot")[0];if(a.defaultDpi)return document.getElementById("dpi").value=a.defaultDpi;document.getElementById("dpi").value=document.getElementById("DPIList").value;return document.getElementById("DPIList").value}function drawCaptureBox(){getParent().Fusion.getWidgetsByType("QuickPlot")[0].mapCapturer.setSize(getPrintSize(),getScale())}Fusion.Event.REDLINE_FEATURE_ADDED=Fusion.Event.lastEventId++;
Fusion.Widget.Redline=OpenLayers.Class(Fusion.Widget,{isExclusive:!1,uiClass:Jx.Button,mapWidget:null,taskPane:null,autogenerateLayerNames:!0,mapMessagePrompt:!0,defaultDataStoreFormat:null,defaultRedlineGeometryTypes:0,bCreateOnStartup:!1,bUseAdvancedStylization:!0,initializeWidget:function(a){var b=a.extension;this.mapWidget=Fusion.getWidgetById("Map");b.AutogenerateLayerNames&&(this.autogenerateLayerNames="true"==b.AutogenerateLayerNames[0]);b.UseMapMessagePrompt&&(this.mapMessagePrompt="true"==
b.UseMapMessagePrompt[0]);b.StylizationType&&(this.bUseAdvancedStylization="advanced"==b.StylizationType[0]);if(b.DataStoreFormat&&b.RedlineGeometryFormat&&("SDF"==b.DataStoreFormat[0]||"SHP"==b.DataStoreFormat[0]||"SQLite"==b.DataStoreFormat[0])){var d=parseInt(b.RedlineGeometryFormat[0]);if("SHP"==b.DataStoreFormat[0]){if(1==d||2==d||4==d)this.defaultDataStoreFormat=b.DataStoreFormat[0],this.defaultRedlineGeometryType=d,b.AutoCreateOnStartup&&(this.bCreateOnStartup="true"==b.AutoCreateOnStartup[0])}else this.defaultDataStoreFormat=
b.DataStoreFormat[0],this.defaultRedlineGeometryType=d,b.AutoCreateOnStartup&&(this.bCreateOnStartup="true"==b.AutoCreateOnStartup[0])}this.registerEventID(Fusion.Event.REDLINE_FEATURE_ADDED);if(this.sTarget=b.Target?b.Target[0]:"")this.taskPane=new Fusion.Widget.Redline.DefaultTaskPane(this,a.location)},getSessionID:function(){return this.getMapLayer().getSessionID()},getMapName:function(){return this.getMapLayer().getMapName()},activate:function(){this.taskPane&&this.taskPane.loadDisplayPanel()},
deactivate:function(){this.taskPane&&this.taskPane.abortActiveDigitization();this.mapMessagePrompt&&this.mapWidget.message.clear()}});
Fusion.Widget.Redline.DefaultTaskPane=OpenLayers.Class({widget:null,taskPaneWin:null,panelUrl:"widgets/Redline/markupmain.php",initialize:function(a,b){this.widget=a;this.widget.registerForEvent(Fusion.Event.REDLINE_FEATURE_ADDED,OpenLayers.Function.bind(this.featureAdded,this))},loadDisplayPanel:function(){var a=Fusion.getFusionURL()+this.panelUrl,b=[];b.push("LOCALE="+Fusion.locale);b.push("MAPNAME="+this.widget.getMapName());b.push("SESSION="+this.widget.getSessionID());null!=this.widget.defaultDataStoreFormat&&
0<this.widget.defaultRedlineGeometryType&&(b.push("REDLINEFORMAT="+this.widget.defaultDataStoreFormat),b.push("REDLINEGEOMTYPE="+this.widget.defaultRedlineGeometryType),b.push("AUTOCREATE="+(this.widget.bCreateOnStartup?"1":"0")));b.push("REDLINESTYLIZATION="+(this.widget.bUseAdvancedStylization?"ADVANCED":"BASIC"));0>a.indexOf("?")?a+="?":"&"!=a.slice(-1)&&(a+="&");var a=a+b.join("&"),b=Fusion.getWidgetById(this.widget.sTarget),d=window;b?(b.isSameWithLast(a)||b.setContent(a),d=b.iframe.contentWindow):
d=window.open(a,this.widget.sTarget,this.widget.sWinFeatures);this.taskPaneWin=d},abortActiveDigitization:function(){this.taskPaneWin.ClearDigitization&&this.taskPaneWin.ClearDigitization(!0)}});Fusion.Widget.RefreshMap=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,activate:function(){this.getMap().redraw()}});
Fusion.Widget.SaveMap=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,iframe:null,printLayout:null,printScale:null,imageWidth:null,imageHeight:null,initializeWidget:function(a){a=a.extension;this.format=a.Format&&""!=a.Format[0]?a.Format[0]:"png";if("DWF"==this.format&&a.PrintLayout.length){a=a.PrintLayout;for(var b=0;b<a.length;b++){var d=a[b],e={label:d.Name[0]},f={rid:d.ResourceId[0]};d.PageHeight&&(f.pageHeight=d.PageHeight[0]);d.PageWidth&&(f.pageWidth=d.PageWidth[0]);d.Margins&&(f.margins=
[d.Margins[0].Top[0],d.Margins[0].Left[0],d.Margins[0].Right[0],d.Margins[0].Bottom[0]]);var g=null;if(d.Scale){g=new Jx.Menu.SubMenu(e);f.scales=[];for(e=0;e<d.Scale.length;e++)f.scales.push(d.Scale[e]),g.add(new Jx.Menu.Item({label:d.Scale[e],onClick:OpenLayers.Function.bind(this.setLayout,this,f,e)}));g.add(new Jx.Menu.Item({label:"Current Scale",onClick:OpenLayers.Function.bind(this.setLayout,this,f)}))}else e.onClick=OpenLayers.Function.bind(this.setLayout,this,f),g=new Jx.Menu.Item(e);this.oMenu.add(g)}}else"dwf"==
this.format.toLowerCase()?(d=a,d.ResourceId&&(this.printLayout=d.ResourceId[0]),d.PageHeight&&(this.pageHeight=d.PageHeight[0]),d.PageWidth&&(this.pageWidth=d.PageWidth[0]),d.Margins&&(this.margins=[d.Margins[0].Top[0],d.Margins[0].Left[0],d.Margins[0].Right[0],d.Margins[0].Bottom[0]]),d.Scale&&"0"!=d.Scale&&(this.printScale=d.Scale[0])):(a.Width&&""!=a.Width[0]&&(this.imageWidth=a.Width[0]),a.Height&&""!=a.Height[0]&&(this.imageHeight=a.Height[0]));this.enable=Fusion.Widget.SaveMap.prototype.enable},
enable:function(){Fusion.Widget.prototype.enable.apply(this,[])},setLayout:function(a){this.printLayout=a.rid;this.pageHeight=a.pageHeight;this.pageWidth=a.pageWidth;this.pageMargins=a.margins;this.printScale=3==arguments.length?parseFloat(a.scales[arguments[1]]):null;this.activateTool()},activate:function(){this.iframe||(this.iframe=document.createElement("iframe"),this.iframe.id="w",this.iframe.style.visibility="hidden",document.body.appendChild(this.iframe));var a="",b="",d="",e="",f="";"dwf"==
this.format.toLowerCase()&&(this.printLayout&&(a="&layout="+this.printLayout),this.printScale&&(b="&scale="+this.printScale),this.pageHeight&&(d="&pageheight="+this.pageHeight),this.pageWidth&&(e="&pagewidth="+this.pageWidth),this.pageMargins&&(f="&margins="+this.pageMargins.join(",")));var g="";this.imageHeight&&(g="&height="+this.imageHeight);var h="";this.imageWidth&&(h="&width="+this.imageWidth);var l=this.getMapLayer();navigator.appVersion.match(/\bMSIE\b/)?(a=Fusion.fusionURL+"layers/"+l.arch+
"/"+Fusion.getScriptLanguage()+"/SaveMapFrame."+Fusion.getScriptLanguage()+"?session="+l.getSessionID()+"&mapname="+l.getMapName()+"&format="+this.format.toUpperCase()+a+b+h+g+d+e+f,w=open(a,"Save","menubar=no,height=200,width=300")):(a=Fusion.fusionURL+"layers/"+l.arch+"/"+Fusion.getScriptLanguage()+"/SaveMap."+Fusion.getScriptLanguage()+"?session="+l.getSessionID()+"&mapname="+l.getMapName()+"&format="+this.format.toUpperCase()+a+b+h+g+d+e+f,this.iframe.src=a)}});
Fusion.Widget.SaveMapImage=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,initializeWidget:function(a){},activate:function(){var a=this.oMap.oMapOL,b=null;a.baseLayer.singleTile&&(b=a.baseLayer.grid[0][0].url);b&&window.open(b,"","")}});Fusion.Event.SAVE_SESSION_FINISHED=Fusion.Event.lastEventId++;
Fusion.Widget.SaveSession=OpenLayers.Class(Fusion.Widget,{oSessionName:null,oInputURL:null,oSaveSessionLink:null,oSaveSessionShare:null,oEmail:null,oFacebook:null,oTwitter:null,oDialog:null,bDrawn:!1,initializeWidget:function(a){a=this.getMapLayer().arch;var b=Fusion.getScriptLanguage();this.script="layers/"+a+"/"+b+"/SaveSession."+b;this.getMap().registerEventID(Fusion.Event.SAVE_SESSION_FINISHED);this.oDialog=new Jx.Dialog({id:"saveSessionDialog",label:"Save Session",modal:!1,resize:!0,width:500,
height:150})},activate:function(){this.oDialog.open();this.drawSaving();this.save()},drawSaving:function(){this.oDialog.content.empty();var a=document.createElement("div");a.innerHTML="Saving session, please wait...";a.addClass("sheetTip");this.oDialog.content.adopt(a)},drawForm:function(){this.oDialog.content.empty();this.form=(new Jx.Form({name:"testForm",formClass:"jxFormBlock"})).addTo(this.oDialog.content);this.oInputURL=(new Jx.Field.Text({id:"sessionUrl",name:"sessionUrl",label:"Session URL",
width:400})).addTo(this.form);var a=document.createElement("div");a.innerHTML="Copy and paste the URL above to restore this session";a.addClass("sheetTip");this.oDialog.content.adopt(a)},save:function(){var a=this,b=this.getMap(),d=this.getMapLayer(),e=[];e[0]=parseFloat(b._oCurrentExtents.left);e[1]=parseFloat(b._oCurrentExtents.bottom);e[2]=parseFloat(b._oCurrentExtents.right);e[3]=parseFloat(b._oCurrentExtents.top);b={parameters:OpenLayers.Util.getParameterString({command:"save",extents:e,layers:d.aVisibleLayers,
session:d.getSessionID(),mapname:d.getMapName()}),onComplete:function(b){b=Fusion.parseJSON(b.responseText);a.saveCallBack(b)}};d.hasSelection()&&(b.parameters+="&queryfile="+d._sQueryfile);Fusion.ajaxRequest(this.script,b)},saveCallBack:function(a){a.error&&alert(a.error);if(a.sessionKey){this.drawForm();var b=new URI(window.location.href);b.setData({restoreState:a.sessionKey},!0,"query");this.oInputURL.setValue(b.toString());this.oInputURL.field.focus();this.oInputURL.field.select()}}});
"undefined"==typeof ScaleBarTool&&Fusion.require("widgets/scalebar/scalebartool.js");
Fusion.Widget.Scalebar=OpenLayers.Class(Fusion.Widget,{style:"thin",displaySystem:"metric",minWidth:100,maxWidth:200,divisions:2,subdivisions:2,showMinorMeasures:!0,abbreviateLabel:!0,singleLine:!1,initializeWidget:function(a){var b=a.extension;this.style=b.Style?b.Style[0].toLowerCase():this.style;"fancy"!=this.style&&"fat"!=this.style&&"thin"!=this.style&&"thinner"!=this.style&&(this.style="thin");this.displaySystem=b.DisplaySystem?b.DisplaySystem[0]:this.displaySystem;this.minWidth=b.MinWidth?
b.MinWidth[0]:this.minWidth;this.maxWidth=b.MaxWidth?b.MaxWidth[0]:this.maxWidth;this.divisions=b.Divisions?b.Divisions[0]:this.divisions;this.subdivisions=b.SubDivisions?b.SubDivisions[0]:this.subdivisions;this.showMinorMeasures="false"==(b.ShowMinorMeasures&&b.ShowMinorMeasures[0])?!1:!0;this.abbreviateLabel="true"==(b.AbbreviateLabel&&b.AbbreviateLabel[0])?!0:!1;this.singleLine="true"==(b.SingleLine&&b.SingleLine[0])?!0:!1;document.styleSheets&&document.styleSheets[0]&&(b=Fusion.getFusionURL()+
"widgets/scalebar/scalebar-"+this.style+".css",document.styleSheets[0].addImport?document.styleSheets[0].addImport(b):document.styleSheets[0].insertRule("@import url("+b+");",0));this.oScaleBar=new ScaleBarTool(1);this.oScaleBar.displaySystem=this.displaySystem;this.oScaleBar.minWidth=this.minWidth;this.oScaleBar.maxWidth=this.maxWidth;this.oScaleBar.divisions=this.divisions;this.oScaleBar.subdivisions=this.subdivisions;this.oScaleBar.showMinorMeasures=this.showMinorMeasures;this.oScaleBar.abbreviateLabel=
this.abbreviateLabel;this.oScaleBar.singleLine=this.singleLine;window.setTimeout(OpenLayers.Function.bind(this.oScaleBar.place,this.oScaleBar,a.name),1);this.getMap().registerForEvent(Fusion.Event.MAP_EXTENTS_CHANGED,OpenLayers.Function.bind(this.extentsChangedCB,this));this.getMap().registerForEvent(Fusion.Event.MAP_LOADED,OpenLayers.Function.bind(this.extentsChangedCB,this))},extentsChangedCB:function(){this.oScaleBar.update(this.getMap().getScale())}});
Fusion.Widget.ScalebarDual=OpenLayers.Class(Fusion.Widget,{initializeWidget:function(a){a=a.extension;a={maxWidth:a.MaxWidth?parseInt(a.MaxWidth[0]):300,topInUnits:a.TopInUnits?a.TopInUnits[0]:"ft",topOutUnits:a.TopOutUnits?a.TopOutUnits[0]:"mi",bottomInUnits:a.BottomInUnits?a.BottomInUnits[0]:"m",bottomOutUnits:a.BottomOutUnits?a.BottomOutUnits[0]:"km"};this.domObj&&(a.div=this.domObj);this.addControl(new OpenLayers.Control.ScaleLine(a))}});
Fusion.Widget.Search=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,sFeatures:"menubar=no,location=no,status=no,scrollbars=yes",initializeWidget:function(a){var b=a.extension;this.sTarget=b.Target?b.Target[0]:"SearchWindow";this.sBaseUrl=Fusion.getFusionURL()+"widgets/Search/SearchPrompt.php";this.prompt=b.Prompt?b.Prompt[0]:"";this.layer=b.Layer?b.Layer[0]:"";this.filter=b.Filter?b.Filter[0]:"";this.limit=b.MatchLimit?b.MatchLimit[0]:100;this.resultColumns=b.ResultColumns?b.ResultColumns[0].Column:
[];this.title=b.Title?b.Title[0]:a.label},activate:function(){var a=this.sBaseUrl,b=this.getMapLayer(),d=Fusion.getWidgetById(this.sTarget),e=$(this.sTarget),f=[];f.push("locale="+Fusion.locale);f.push("session="+b.getSessionID());f.push("mapname="+b.getMapName());d||e?f.push("popup=false"):f.push("popup=true");f.push("title="+this.title);f.push("prompt="+this.prompt);f.push("target="+this.sTarget);f.push("filter="+this.filter);f.push("layer="+this.layer);f.push("limit="+this.limit);for(var b=[],
g=[],h=0;h<this.resultColumns.length;++h)b.push(this.resultColumns[h].Name),g.push(this.resultColumns[h].Property);f.push("properties="+g.join(","));f.push("propNames="+b.join(","));0>a.indexOf("?")?a+="?":"&"!=a.slice(-1)&&(a+="&");a+=f.join("&");d?d.setContent(a):e?e.src=a:window.open(a,this.sTarget,this.sFeatures)}});
Fusion.Widget.Select=OpenLayers.Class(Fusion.Widget,{isExclusive:!0,uiClass:Jx.Button,selectionType:"INTERSECTS",nTolerance:3,bActiveOnly:!1,maxFeatures:0,pointClickSingleSelect:!0,initializeWidget:function(a){this.asCursor=["auto"];this.enable=Fusion.Widget.Select.prototype.enable;a=a.extension;this.selectionType=a.SelectionType?a.SelectionType[0]:"INTERSECTS";a.Tolerance&&0<parseInt(a.Tolerance[0])&&(this.nTolerance=parseInt(a.Tolerance[0]));a.MaxFeatures&&(this.maxFeatures=parseInt(a.MaxFeatures[0]));
a.PointClickSingleSelect&&(this.pointClickSingleSelect="false"!=a.PointClickSingleSelect[0]);this.bActiveOnly=!a.QueryActiveLayer||"true"!=a.QueryActiveLayer[0]&&"1"!=a.QueryActiveLayer[0]?!1:!0;this.bComputeMetadata=!a.ComputeMetadata||"true"!=a.ComputeMetadata[0]&&"1"!=a.ComputeMetadata[0]?!1:!0;this.bActiveOnly&&this.getMap().registerForEvent(Fusion.Event.MAP_ACTIVE_LAYER_CHANGED,OpenLayers.Function.bind(this.enable,this));a=this.getMap();this.map=a.oMapOL;this.handler=new OpenLayers.Handler.Box(this,
{done:this.execute});a.handlers.push(this.handler)},shouldActivateWith:function(a){return a instanceof Fusion.Widget.SelectPolygon&&a.widgetUniqueId==this.widgetUniqueId},enable:function(){if(this.bActiveOnly){var a=this.getMap().getActiveLayer();a&&a.selectable?Fusion.Widget.prototype.enable.apply(this,[]):this.disable()}else Fusion.Widget.prototype.enable.apply(this,[])},activate:function(){this.handler.activate();this.getMap().setCursor(this.asCursor)},deactivate:function(){this.handler.deactivate();
this.getMap().setCursor("auto")},execute:function(a,b){if(!this.getMap().isDigitizing){var d,e,f=a.left,g=a.bottom,h=this.maxFeatures;a instanceof OpenLayers.Bounds?(d=a.right,e=a.top):(d=f=a.x,e=g=a.y,this.pointClickSingleSelect&&(h=1));var l=this.getMap().pixToGeo(f,g),m=this.getMap().pixToGeo(d,e);d=Math.abs(f-d);g=Math.abs(g-e);e={};d<=this.nTolerance&&g<=this.nTolerance&&(g=this.getMap().pixToGeoMeasure(this.nTolerance),l.x-=g,l.y-=g,m.x+=g,m.y+=g);e.geometry="POLYGON(("+l.x+" "+l.y+", "+m.x+
" "+l.y+", "+m.x+" "+m.y+", "+l.x+" "+m.y+", "+l.x+" "+l.y+"))";e.selectionType=this.selectionType;e.maxFeatures=h;e.computed=this.bComputeMetadata;if(this.bActiveOnly)if(h=this.getMap().getActiveLayer())e.layers=h.layerName;else return;this.handler.dragHandler.evt.shiftKey&&(e.extendSelection=!0);this.getMap().query(e)}},extend:function(a){this.execute(a,!0)},setModifiers:function(a){this.keyModifiers=(a.shiftKey?OpenLayers.Handler.MOD_SHIFT:0)|(a.ctrlKey?OpenLayers.Handler.MOD_CTRL:0)|(a.altKey?
OpenLayers.Handler.MOD_ALT:0)},clearModifiers:function(a){this.keyModifiers=0},setParameter:function(a,b){"Tolerance"==a&&0<b&&(this.nTolerance=b);"SelectionType"==a&&(this.selectionType=b)}});Fusion.Event.RADIUS_WIDGET_ACTIVATED=Fusion.Event.lastEventId++;
Fusion.Widget.SelectAttribute=OpenLayers.Class(Fusion.Widget,{isExclusive:!0,uiClass:Jx.Button,drawn:!1,initializeWidget:function(a){a=a.extension;a.Container&&(this.container=$(a.Container[0]));this.workArea=document.createElement("div");this.container.appendChild(this.workArea);this.attrRow=document.createElement("div");this.attrRow.className="selectAttrInputs";this.workArea.appendChild(this.attrRow);a=document.createElement("div");a.innerHTML="layer to query:";this.layerList=document.createElement("select");
this.layerList.className="layerSelector";a.appendChild(this.layerList);this.attrRow.appendChild(a);this.getMap().registerForEvent(Fusion.Event.MAP_LOADED,OpenLayers.Function.bind(this.listLayers,this));this.getMap().registerForEvent(Fusion.Event.MAP_RELOADED,OpenLayers.Function.bind(this.listLayers,this));this.getMap().registerForEvent(Fusion.Event.MAP_ACTIVE_LAYER_CHANGED,OpenLayers.Function.bind(this.setAttributeOptions,this))},listLayers:function(){this.layerList.innerHTML="";var a=this.getMapLayer();
this.layerList.options[this.layerList.options.length]=new Option("--select--","");for(var b=0;b<a.aLayers.length;++b){var d=a.aLayers[b];d.selectable&&(this.layerList.options[this.layerList.options.length]=new Option(d.legendLabel,d.layerName))}this.layerList.onchange=OpenLayers.Function.bind(this.activateLayer,this);b=Fusion.getScriptLanguage();b="layers/"+a.arch+"/"+b+"/GetAttributes."+b;a={mapname:a._sMapname,session:a.getSessionID()};a={onSuccess:OpenLayers.Function.bind(this.setAttributes,this),
method:"GET",parameters:a};Fusion.ajaxRequest(b,a)},setAttributes:function(a){400>a.status&&(this.attrs=Fusion.parseJSON(a.responseText))},setAttributeOptions:function(a){if(this.drawn){this.propsList.innerHTML="";var b=this.layerList[this.layerList.selectedIndex].value;a=this.attrs[b].propertyvalues;for(var b=this.attrs[b].propertynames,d=0;d<a.length;++d)this.propsList.options[this.propsList.options.length]=new Option(a[d],b[d])}},activateLayer:function(a){if(this.drawn){a=this.layerList[this.layerList.selectedIndex].value;
for(var b=this.getMapLayer(),d=this.getMap(),e=0;e<b.aLayers.length;++e)if(b.aLayers[e].layerName==a){d.setActiveLayer(b.aLayers[e]);break}}},activate:function(){this.container.style.display="block";this.drawn||(this.drawn=!0,this.propsList=document.createElement("select"),this.propsList.className="propsSelector",this.attrRow.appendChild(this.propsList),this.operatorList=document.createElement("select"),this.operatorList.className="operatorSelector",this.operatorList.options[this.operatorList.options.length]=
new Option("=","eq",!0),this.operatorList.options[this.operatorList.options.length]=new Option("like","like"),this.operatorList.options[this.operatorList.options.length]=new Option(">","gt"),this.operatorList.options[this.operatorList.options.length]=new Option("<","lt"),this.operatorList.options[this.operatorList.options.length]=new Option("<=","le"),this.operatorList.options[this.operatorList.options.length]=new Option(">=","ge"),this.operatorList.options[this.operatorList.options.length]=new Option("!=",
"ne"),this.attrRow.appendChild(this.operatorList),this.attrValue=document.createElement("input"),this.attrValue.className="propsValue",this.attrRow.appendChild(this.attrValue),(new Jx.Button({label:"Query",onClick:OpenLayers.Function.bind(this.execute,this)})).addTo(this.attrRow))},deactivate:function(){this.container.style.display="none"},execute:function(){var a=this.propsList[this.propsList.selectedIndex].value,b=this.operatorList[this.operatorList.selectedIndex].value,d=this.attrValue.value,e=
parseFloat(d),f=null,f=isNaN(e)?"like"==b?"/.*"+d+".*/gi":"(["+a+"] "+b+" '"+d+"')":"(["+a+"] "+b+" "+d+")",a={layers:this.layerList[this.layerList.selectedIndex].value,filterItem:a,filter:f};this.getMap().query(a)}});
Fusion.Widget.SelectPolygon=OpenLayers.Class(Fusion.Widget,{isExclusive:!1,uiClass:Jx.Button,bActiveOnly:!1,selectionType:"INTERSECTS",nTolerance:3,initializeWidget:function(a){this.asCursor=["auto"];a=a.extension;this.selectionType=a.SelectionType?a.SelectionType[0]:"INTERSECTS";a.Tolerance&&0<parseInt(a.Tolerance[0])&&(nTolerance=parseInt(a.Tolerance[0]));this.bActiveOnly=!a.QueryActiveLayer||"true"!=a.QueryActiveLayer[0]&&"1"!=a.QueryActiveLayer[0]?!1:!0;this.bComputeMetadata=!a.ComputeMetadata||
"true"!=a.ComputeMetadata[0]&&"1"!=a.ComputeMetadata[0]?!1:!0;a=this.getMap();this.map=a.oMapOL;this.handlerOptions={};this.handler=new OpenLayers.Handler.Polygon(this,{done:this.execute},this.handlerOptions);a.handlers.push(this.handler);this.keyHandler=OpenLayers.Function.bind(this.onKeyPress,this)},onKeyPress:function(a){(a.charCode?a.charCode:a.keyCode?a.keyCode:a.which)==OpenLayers.Event.KEY_ESC&&this.deactivate()},shouldActivateWith:function(a){return a instanceof Fusion.Widget.SelectPolygon&&
a.widgetUniqueId==this.widgetUniqueId},activate:function(){OpenLayers.Event.observe(document,"keypress",this.keyHandler);this.handler.activate();var a=this.getMap(),b=a.message;b.info(OpenLayers.i18n("selectPolygonPrompt")+' <a id="abortSelectPolygonLink" href="javascript:void(0)">'+OpenLayers.i18n("stop")+"</a>");b.container.ownerDocument.getElementById("abortSelectPolygonLink").onclick=OpenLayers.Function.bind(this.deactivate,this);a.setCursor(this.asCursor);a.supressContextMenu(!0);a.isDigitizing=
!0;a.triggerEvent(Fusion.Event.MAP_DIGITIZER_ACTIVATED)},deactivate:function(){OpenLayers.Event.stopObserving(document,"keypress",this.keyHandler);this.handler.deactivate();var a=this.getMap();a.message.clear();a.setCursor("auto");a.supressContextMenu(!1);a.isDigitizing=!1;a.triggerEvent(Fusion.Event.MAP_DIGITIZER_DEACTIVATED)},execute:function(a){var b={};if(!(3>a.getVertices().length)){b.geometry=a.toString();b.selectionType=this.selectionType;b.computed=this.bComputeMetadata;this.handler.evt.ctrlKey&&
(b.extendSelection=!0);if(this.bActiveOnly)if(a=this.getMap().getActiveLayer())b.layers=a.layerName;else return;this.getMap().query(b);this.deactivate();return!1}},setParameter:function(a,b){"Tolerance"==a&&0<b&&(this.nTolerance=b);"SelectionType"==a&&(this.selectionType=b)}});Fusion.Event.RADIUS_WIDGET_ACTIVATED=Fusion.Event.lastEventId++;
Fusion.Widget.SelectRadius=OpenLayers.Class(Fusion.Widget,{isExclusive:!1,uiClass:Jx.Button,selectionType:"INTERSECTS",bActiveOnly:!1,nTolerance:3,defaultRadius:20,initializeWidget:function(a){this.asCursor=["auto"];a=a.extension;this.selectionType=a.SelectionType?a.SelectionType[0]:"INTERSECTS";a.Tolerance&&0<parseInt(a.Tolerance[0])&&(nTolerance=parseInt(a.Tolerance[0]));this.defaultRadius=a.DefaultRadius?parseInt(a.DefaultRadius[0]):this.defaultRadius;this.bComputeMetadata=!a.ComputeMetadata||
"true"!=a.ComputeMetadata[0]&&"1"!=a.ComputeMetadata[0]?!1:!0;this.bActiveOnly=!a.QueryActiveLayer||"true"!=a.QueryActiveLayer[0]&&"1"!=a.QueryActiveLayer[0]?!1:!0;var b=a.RadiusTooltipContainer?a.RadiusTooltipContainer[0]:"";""!=b&&(this.radiusTip=$(b));this.radiusTip&&(this.radiusTipType=a.RadiusTooltipType?a.RadiusTooltipType[0].toLowerCase():"dynamic","dynamic"==this.radiusTipType&&(this.getMap().getDomObj().appendChild(this.radiusTip),this.radiusTip.style.position="absolute",this.radiusTip.style.display=
"none",this.radiusTip.style.top="0px",this.radiusTip.style.left="0px",this.radiusTip.style.zIndex=101));this.registerEventID(Fusion.Event.RADIUS_WIDGET_ACTIVATED);a=this.getMap();this.map=a.oMapOL;this.handlerOptions={sides:40};this.handler=new OpenLayers.Handler.RegularPolygon(this,{interval:100,done:this.execute,down:this.mouseDown,move:this.mouseMove},this.handlerOptions);a.handlers.push(this.handler);this.keyHandler=OpenLayers.Function.bind(this.onKeyPress,this)},setRadius:function(a){this.defaultRadius=
a},getRadius:function(){return this.handler.active?this.handler.radius:this.defaultRadius},onKeyPress:function(a){(a.charCode?a.charCode:a.keyCode?a.keyCode:a.which)==OpenLayers.Event.KEY_ESC&&this.deactivate()},activate:function(){OpenLayers.Event.observe(document,"keypress",this.keyHandler);var a=this.getMap().pixToGeoMeasure(this.defaultRadius);this.handler.setOptions({radius:a});this.handler.activate();a=this.getMap();a.setCursor(this.asCursor);this.units=a.units;var b=a.message;b.info(OpenLayers.i18n("selectRadiusPrompt")+
' <a id="abortSelectRadiusLink" href="javascript:void(0)">'+OpenLayers.i18n("stop")+"</a>");b.container.ownerDocument.getElementById("abortSelectRadiusLink").onclick=OpenLayers.Function.bind(this.deactivate,this);a.supressContextMenu(!0);this.triggerEvent(Fusion.Event.RADIUS_WIDGET_ACTIVATED,!0);a.isDigitizing=!0;a.triggerEvent(Fusion.Event.MAP_DIGITIZER_ACTIVATED)},deactivate:function(){OpenLayers.Event.stopObserving(document,"keypress",this.keyHandler);this.handler.deactivate();var a=this.getMap();
a.message.clear();a.setCursor("auto");a.supressContextMenu(!1);this.triggerEvent(Fusion.Event.RADIUS_WIDGET_ACTIVATED,!1);a.isDigitizing=!1;a.triggerEvent(Fusion.Event.MAP_DIGITIZER_DEACTIVATED)},mouseDown:function(a){a=this.handler.evt;if(OpenLayers.Event.isLeftClick(a)){this.handler.fixedRadius=!1;a=this.getMap().getEventPosition(a);this.getMap().pixToGeo(a.x,a.y);var b=this.getMap().pixToGeoMeasure(this.handler.radius);if(this.radiusTip&&"dynamic"==this.radiusTipType){this.radiusTip.style.display=
"block";var d=$(this.radiusTip).getBorderBoxSize();this.radiusTip.style.top=a.y-2*d.height+"px";this.radiusTip.style.left=a.x+"px";if("m"==this.units||"ft"==this.units)b=Math.round(100*b)/100;this.radiusTip.innerHTML=b+this.units}}},mouseMove:function(a){a=this.handler.evt;if(OpenLayers.Event.isLeftClick(a)){var b=this.getMap();a=b.getEventPosition(a);b.pixToGeo(a.x,a.y);b=this.getMap().pixToGeoMeasure(this.handler.radius);if(this.radiusTip&&"dynamic"==this.radiusTipType){this.radiusTip.style.display=
"block";var d=$(this.radiusTip).getBorderBoxSize();this.radiusTip.style.top=a.y-2*d.height+"px";this.radiusTip.style.left=a.x+"px";if("m"==this.units||"ft"==this.units)b=Math.round(100*b)/100;this.radiusTip.innerHTML=b+this.units}}},execute:function(a){this.radiusTip&&"dynamic"==this.radiusTipType&&(this.radiusTip.style.display="none",this.radiusTip.innerHTML="");this.handler.start==this.handler.last&&this.handler.clear();var b={};b.geometry=a.toString();b.selectionType=this.selectionType;b.computed=
this.bComputeMetadata;if(this.bActiveOnly)if(a=this.getMap().getActiveLayer())b.layers=a.layerName;else return;this.handler.evt.shiftKey&&(b.extendSelection=!0);this.getMap().query(b);this.deactivate()},setParameter:function(a,b){"Tolerance"==a&&0<b&&(this.nTolerance=b);"SelectionType"==a&&(this.selectionType=b)}});
Fusion.Widget.SelectRadiusValue=OpenLayers.Class(Fusion.Widget,{radiusWidgetName:null,label:"",className:"",domLabel:null,initializeWidget:function(a){a=a.extension;this.radiusWidgetName=a.RadiusName?a.RadiusName[0]:null;this.label=a.Label?a.Label[0]:"";this.className=a.ClassName?a.ClassName[0]:"";Fusion.registerForEvent(Fusion.Event.FUSION_INITIALIZED,OpenLayers.Function.bind(this.mapLoaded,this));this.getMap().registerForEvent(Fusion.Event.MAP_EXTENTS_CHANGED,OpenLayers.Function.bind(this.mapExtentsChanged,
this))},draw:function(){var a=this.getMap().units;this.domLabel=document.createElement("span");this.domLabel.className=this.className;this.domLabel.innerHTML=this.label+"("+a+")";this.input=document.createElement("input");this.input.type="text";this.domLabel.appendChild(this.input);this.domObj.appendChild(this.domLabel);OpenLayers.Event.observe(this.input,"blur",OpenLayers.Function.bind(this.onBlur,this))},setUiObject:function(a){Fusion.Widget.prototype.setUiObject.apply(this,[a]);this.domObj=this.uiObj.domObj?
this.uiObj.domObj:this.uiObj},mapLoaded:function(){this.draw();this.input.disabled=!0;for(var a=Fusion.getWidgetsByType("SelectRadius"),b=0;b<a.length;b++)if(a[b].widgetTag.name==this.radiusWidgetName){this.widget=a[b];this.widget.registerForEvent(Fusion.Event.RADIUS_WIDGET_ACTIVATED,this.dependantEnable.bind(this));break}this.updateFromWidgetValue()},dependantEnable:function(a,b){this.widget&&(this.input.disabled=b?!1:!0)},mapExtentsChanged:function(){this.updateWidgetValue()},onBlur:function(){this.updateWidgetValue()},
updateWidgetValue:function(){if(this.widget){var a=this.input.getValue();this.widget.setRadius(a)}},updateFromWidgetValue:function(){this.widget&&(this.input.value=this.widget.getRadius())}});
Fusion.Widget.SelectWithin=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,sFeatures:"menubar=no,location=no,resizable=no,status=no",initializeWidget:function(a){a=a.extension;this.sTarget=a.Target?a.Target[0]:"SelectWithinWindow";this.sBaseUrl=Fusion.getFusionURL()+"widgets/SelectWithin/SelectWithinPanel.php";this.bSelectionOnly=!a.DisableIfSelectionEmpty||"true"!=a.DisableIfSelectionEmpty[0]&&"1"!=a.DisableIfSelectionEmpty[0]?!1:!0;this.additionalParameters=[];if(a.AdditionalParameter)for(var b=
0;b<a.AdditionalParameter.length;b++){var d=a.AdditionalParameter[b];this.additionalParameters.push(d.Key[0]+"="+encodeURIComponent(d.Value[0]))}this.enable=Fusion.Widget.SelectWithin.prototype.enable;this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_ON,OpenLayers.Function.bind(this.enable,this));this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_OFF,OpenLayers.Function.bind(this.enable,this));this.disable()},enable:function(){var a=this.getMap();this.bSelectionOnly||!a?a&&a.hasSelection()?
this.action?this.action.setEnabled(!0):Fusion.Widget.prototype.enable.apply(this,[]):this.action?this.action.setEnabled(!1):this.disable():this.action?this.action.setEnabled(!0):Fusion.Widget.prototype.enable.apply(this,[])},activate:function(){var a=this.sBaseUrl,b=this.getMapLayer(),d=Fusion.getWidgetById(this.sTarget),e=$(this.sTarget),f=[];f.push("locale="+Fusion.locale);f.push("session="+b.getSessionID());f.push("mapname="+b.getMapName());d||e?f.push("popup=false"):f.push("popup=true");f=f.concat(this.additionalParameters);
0>a.indexOf("?")?a+="?":"&"!=a.slice(-1)&&(a+="&");a+=f.join("&");d?d.isSameWithLast(a)||d.setContent(a):e?e.src=a:window.open(a,this.sTarget,this.sWinFeatures)}});
Fusion.Widget.SelectionInfo=OpenLayers.Class(Fusion.Widget,{defaultTemplate:"selectionInfo",domSpan:null,initializeWidget:function(a){var b=a.extension;this.emptyText=b.EmptyText?b.EmptyText[0]:this.domObj.innerHTML;this.template=b.Template?b.Template[0]:null;this.domSpan=document.createElement("span");this.domSpan.className="spanSelectionInfo";this.domSpan.innerHTML=OpenLayers.i18n(this.emptyText);this.emptyText=b.EmptyText?b.EmptyText[0]:this.domObj?this.domObj.innerHTML:null;this.domObj&&(this.domObj.innerHTML=
"",this.domObj.appendChild(this.domSpan));this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_ON,OpenLayers.Function.bind(this.update,this));this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_OFF,OpenLayers.Function.bind(this.update,this));Fusion.addWidgetStyleSheet(a.location+"/SelectionInfo/SelectionInfo.css")},setUiObject:function(a){Fusion.Widget.prototype.setUiObject.apply(this,[a]);this.uiObj.domObj?this.uiObj.domObj.appendChild(this.domSpan):this.uiObj.appendChild(this.domSpan)},
update:function(){for(var a=this.getMap().getAllMaps(),b=0,d=0,e=0;e<a.length;++e){var f=a[e];if(f.hasSelection())var g=f.getSelectedLayers(),b=b+g.length,d=d+f.getSelectedFeatureCount()}this.domSpan.innerHTML=0<d?this.template?this.template.replace("{0}",d).replace("{1}",b):OpenLayers.i18n(this.defaultTemplate,{features:d,layers:b}):OpenLayers.i18n(this.emptyText)}});
Fusion.Widget.SelectionPanel=OpenLayers.Class(Fusion.Widget,{previousIcon:"images/icon_back.gif",nextIcon:"images/icon_forward.gif",initializeWidget:function(a){a=a.extension;a.PreviousImageUrl&&(this.previousIcon=a.PreviousImageUrl);a.NextImageUrl&&(this.nextIcon=a.NextImageUrl);this.iResultsPerPage=a.ResultsPerPage?a.ResultsPerPage[0]:0;this.iResultsPerPage=parseInt(this.iResultsPerPage);if(isNaN(this.iResultsPerPage)||0>this.iResultsPerPage)this.iResultsPerPage=0;if(a.SelectionRenderer){var b=
eval(a.SelectionRenderer[0]);b&&b.prototype.CLASS_NAME&&"Fusion.Widget.SelectionPanel.SelectionRenderer"==b.prototype.CLASS_NAME?this.renderer=new b(this):"function"==typeof b?(this.renderer=new Fusion.Widget.SelectionPanel.SelectionRenderer(this),this.renderer.updateSelection=function(){this.getMap().getSelection(OpenLayers.Function.bind(b))},this.renderer.clearSelection=!1):this.renderer=new Fusion.Widget.SelectionPanel.SelectionRendererDefault(this)}else this.renderer=new Fusion.Widget.SelectionPanel.SelectionRendererDefault(this);
this.iResultsPerPage=null;this.renderer.updateSelection&&this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_ON,OpenLayers.Function.bind(this.renderer.updateSelection,this.renderer));this.renderer.clearSelection&&this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_OFF,OpenLayers.Function.bind(this.renderer.clearSelection,this.renderer))}});
Fusion.Widget.SelectionPanel.SelectionRenderer=OpenLayers.Class({oSelection:null,aiCurrentIndex:null,iResultsPerPage:0,initialize:function(a){this.oSelectionPanel=a;this.iResultsPerPage=a.iResultsPerPage;this.aiCurrentIndex=[]},updatePageIndexes:function(){for(var a=this.oSelection.getNumLayers(),b=0;b<a;b++)this.aiCurrentIndex[this.oSelection.getLayer(b).getName()]=0},getNextPage:function(a){if(a&&0!=this.iResultsPerPage){var b=a.getName();this.aiCurrentIndex[b]>=a.getNumElements()&&(this.aiCurrentIndex[b]-=
this.iResultsPerPage);var d=a.getNumElements(),e=this.aiCurrentIndex[b],f=e+this.iResultsPerPage;f>=d&&(f=d);0>e&&(e=0);this.aiCurrentIndex[b]=f;d=f-e;d!=this.iResultsPerPage&&(this.aiCurrentIndex[b]+=this.iResultsPerPage-d);return this.getPage(a,e,f)}return this.getPage(a)},getPreviousPage:function(a){var b=a.getName();if(a&&0!=this.aiCurrentIndex[b]&&0!=this.iResultsPerPage){var d=a.getNumElements(),e=this.aiCurrentIndex[b]-2*this.iResultsPerPage,f=this.aiCurrentIndex[b]-this.iResultsPerPage;0>
e&&(e=0,f=d<this.iResultsPerPage?d:this.iResultsPerPage);this.aiCurrentIndex[b]=f;return this.getPage(a,e,f)}return this.getPage(a)},getMap:function(){return this.oSelectionPanel.getMap()},getPage:function(a,b,d){var e=!1;if(a){e=[];b=b?b:0;d=d?d:a.getNumElements();for(var f=a.getPropertyNames(),g=0;b<d;b++,g++){e[g]=[];for(var h=0;h<f.length;h++)e[g][h]=a.getElementValue(b,h)}}return e},updateSelection:function(){},clearSelection:function(){},CLASS_NAME:"Fusion.Widget.SelectionPanel.SelectionRenderer"});
Fusion.Widget.SelectionPanel.SelectionRendererDefault=OpenLayers.Class(Fusion.Widget.SelectionPanel.SelectionRenderer,{initialize:function(a){Fusion.Widget.SelectionPanel.SelectionRenderer.prototype.initialize.apply(this,[a]);a=document.createElement("div");this.toolbar=document.createElement("div");this.toolbar.className="selectionPanelToolbar";this.layerList=document.createElement("select");this.layerList.className="layerSelector";this.toolbar.appendChild(this.layerList);OpenLayers.Event.observe(this.layerList,
"change",OpenLayers.Function.bind(this.renderSelectionFeatures,this));this.featureList=document.createElement("select");this.featureList.className="featureSelector";this.toolbar.appendChild(this.featureList);OpenLayers.Event.observe(this.featureList,"change",OpenLayers.Function.bind(this.renderFeature,this));this.featureDiv=document.createElement("div");this.featureDiv.className="selectionPanelContent";this.clearSelection();a.appendChild(this.toolbar);a.appendChild(this.featureDiv);Fusion.addWidgetStyleSheet(this.oSelectionPanel.getLocation()+
"SelectionPanel/SelectionPanel.css");this.oSelectionPanel.domObj.appendChild(a)},updateSelection:function(){this.getMap().getSelection(OpenLayers.Function.bind(this.renderSelectionLayers,this))},clearSelection:function(){this.layerList.options.length=0;this.featureList.options.length=0;this.oSelection=null;this.featureDiv.className="selectionPanelContent noSelection";this.featureDiv.innerHTML=OpenLayers.i18n("noSelection")},renderSelectionLayers:function(a){this.oSelection=null;for(var b in a){this.oSelection=
a[b];break}if(this.oSelection){for(this.featureDiv.className="selectionPanelContent";0<this.layerList.length;)this.layerList.remove(this.layerList.options[0]);a=this.oSelection.getNumLayers();for(b=0;b<a;b++){for(var d=this.oSelection.getLayer(b),e=[],f=this.getMap(),g=0;g<f.aMaps.length;++g)if(f.aMaps[g].aLayers)for(k=0;k<f.aMaps[g].aLayers.length;++k)e.push(f.aMaps[g].aLayers[k]);for(var d=d.getName(),g=0;g<e.length;++g)if(e[g].layerName==d){d=e[g].legendLabel;break}e=new Option(d,b);this.layerList.options[b]=
e}this.layerList.selectedIndex=0;this.renderSelectionFeatures()}},renderSelectionFeatures:function(){for(var a=this.oSelection.getLayer(this.layerList.selectedIndex);0<this.featureList.length;)this.featureList.remove(this.featureList.options[0]);for(var a=a.getNumElements(),b=0;b<a;b++){var d=new Option(b+1,b);this.featureList.options[b]=d}this.featureList.selectedIndex=0;this.renderFeature()},renderFeature:function(){var a=this.featureList.selectedIndex,b=this.oSelection.getLayer(this.layerList.selectedIndex),
d=b.getNumProperties(),e=b.getPropertyNames(),f=document.createElement("table"),g=document.createElement("thead"),h=document.createElement("tr"),l=document.createElement("th");l.innerHTML=OpenLayers.i18n("attribute");h.appendChild(l);l=document.createElement("th");l.innerHTML=OpenLayers.i18n("value");h.appendChild(l);g.appendChild(h);f.appendChild(g);g=document.createElement("tbody");f.appendChild(g);for(var m=0;m<d;m++){h=document.createElement("tr");m%2&&(h.className="oddRow");l=document.createElement("th");
l.innerHTML=e[m];var q=document.createElement("td");q.innerHTML=b.getElementValue(a,m);h.appendChild(l);h.appendChild(q);g.appendChild(h)}this.featureDiv.innerHTML="";this.featureDiv.appendChild(f)}});
Fusion.Widget.SelectionPanel.SelectionRendererHorizontal=OpenLayers.Class(Fusion.Widget.SelectionPanel.SelectionRenderer,{initialize:function(a){Fusion.Widget.SelectionPanel.SelectionRenderer.prototype.initialize.apply(this,[a]);a=document.createElement("div");this.featureDiv=document.createElement("div");this.featureDiv.innerHTML="No Selection";this.featureDiv.className="selectionPanelContent noSelection";a.appendChild(this.featureDiv);0!=this.iResultsPerPage&&(this.previousButton=document.createElement("img"),
this.previousButton.src=this.oSelectionPanel.previousIcon,this.previousButton.style.position="absolute",this.previousButton.style.left="0px",this.previousButton.style.padding="3px",OpenLayers.Event.observe(this.previousButton,"click",OpenLayers.Function.bind(this.renderLayers,this,"prev")),this.nextButton=document.createElement("img"),this.nextButton.src=this.oSelectionPanel.nextIcon,this.nextButton.style.position="absolute",this.nextButton.style.right="0px",this.nextButton.style.padding="3px",OpenLayers.Event.observe(this.nextButton,
"click",OpenLayers.Function.bind(this.renderLayers,this,"next")),a.appendChild(this.previousButton),a.appendChild(this.nextButton));Fusion.addWidgetStyleSheet(this.oSelectionPanel.getLocation()+"SelectionPanel/SelectionPanel.css");this.oSelectionPanel.domObj.appendChild(a)},updateSelection:function(){this.getMap().getSelection(OpenLayers.Function.bind(this.renderSelection,this))},clearSelection:function(){this.oSelection=null;this.featureDiv.className="selectionPanelContent noSelection";this.featureDiv.innerHTML=
OpenLayers.i18n("noSelection")},renderSelection:function(a){this.oSelection=null;for(var b in a){this.oSelection=a[b];break}this.updatePageIndexes();this.renderLayers("next")},renderLayers:function(a){if(this.oSelection){$(this.featureDiv).removeClass("noSelection");this.featureDiv.innerHTML="";for(var b=this.getMap().getAllMaps(),d=null,e=0;e<b.length;e++)if("MapGuide"==b[e].arch){d=b[e];break}if(null!=d)for(b=this.oSelection.getNumLayers(),e=0;e<b;e++){var f=document.createElement("table");f.style.borderLeft=
"1px solid #CCCCCC";f.style.marginBottom="10px";for(var g=this.oSelection.getLayer(e),h=g.getPropertyNames(),l=d.aLayers,m=g.getName(),q=0;q<l.length;++q)if(l[q].layerName==m){m=l[q].legendLabel;break}var l=document.createElement("thead"),r=document.createElement("tr"),u=document.createElement("th");u.innerHTML=m;u.colSpan=h.length;u.style.textAlign="center";r.appendChild(u);l.appendChild(r);r=document.createElement("tr");for(q=0;q<h.length;q++)u=document.createElement("th"),u.innerHTML=h[q],u.style.textAlign=
"center",r.appendChild(u);l.appendChild(r);f.appendChild(l);h=document.createElement("tbody");g="next"==a?this.getNextPage(g):this.getPreviousPage(g);this.renderFeatures(g,h);f.appendChild(h);this.featureDiv.appendChild(f)}}},renderFeatures:function(a,b){if(a)for(var d=0;d<a.length;d++){var e=document.createElement("tr");d%2&&(e.className="oddRow");for(var f=0;f<a[d].length;f++){var g=document.createElement("td");g.innerHTML=a[d][f];e.appendChild(g)}b.appendChild(e)}}});
Fusion.Event.TASK_PANE_LOADED=Fusion.Event.lastEventId++;
Fusion.Widget.TaskPane=OpenLayers.Class(Fusion.Widget,{aExecutedTasks:null,nCurrentTask:-1,nTasks:0,initializeWidget:function(a){this.aExecutedTasks=[];var b=Fusion.getFusionURL(),d=b+a.location+"TaskPane/taskpane.png",e=b+a.location+"TaskPane/taskpane.png",f,g=b+a.location+"TaskPane/taskpane.png",h,l=b+a.location+"TaskPane/taskpane.png",m,q=a.location+"TaskPane/TaskPane.html",r=a.extension,q=r.InitialTask?taskURL=r.InitialTask[0]:b+q,d=r.HomeIcon?r.HomeIcon[0]:d,b=r.HomeClass?r.HomeClass[0]:"TaskPane_home",
e=r.PreviousIcon?r.PreviousIcon[0]:e;f=r.PreviousClass?r.PreviousClass[0]:"TaskPane_back";g=r.NextIcon?r.NextIcon[0]:g;h=r.NextClass?r.NextClass[0]:"TaskPane_forward";l=r.TaskIcon?r.TaskIcon[0]:l;m=r.TaskClass?r.TaskClass[0]:"TaskPane_tasks";r.MenuContainer&&(this.menuName=r.MenuContainer[0]);this.toolbar=new Jx.Toolbar;this.homeButton=new Jx.Button({image:d,imageClass:b,tooltip:OpenLayers.i18n("taskHome"),onClick:OpenLayers.Function.bind(this.goHome,this)});this.prevButton=new Jx.Button({image:e,
imageClass:f,tooltip:OpenLayers.i18n("prevTask"),onClick:OpenLayers.Function.bind(this.gotoPrevTask,this)});this.nextButton=new Jx.Button({image:g,imageClass:h,tooltip:OpenLayers.i18n("nextTask"),onClick:OpenLayers.Function.bind(this.gotoNextTask,this)});this.toolbar.add(this.homeButton,this.prevButton,this.nextButton);this.taskMenu=new Jx.Menu({image:l,imageClass:m,label:OpenLayers.i18n("taskList"),right:0});$(this.taskMenu.domObj).addClass("taskMenu");$(this.taskMenu.button.domObj).addClass("jxButtonContentLeft");
this.toolbar.add(this.taskMenu);d=this.name+"_IFRAME";this.iframe=document.createElement("iframe");new Jx.Layout(this.iframe);this.iframe.setAttribute("name",d);this.iframe.setAttribute("id",d);this.iframe.setAttribute("frameborder",0);this.iframe.style.border="0px solid #fff";this.oTaskPane=new Jx.Panel({toolbars:[this.toolbar],hideTitle:!0,content:this.iframe});$(this.domObj).addClass("taskPanePanel");Fusion.addWidgetStyleSheet(a.location+"TaskPane/TaskPane.css");this.domObj.appendChild(this.oTaskPane.domObj);
this.oTaskPane.domObj.resize();Fusion.registerEventID(Fusion.Event.TASK_PANE_LOADED);Fusion.registerForEvent(Fusion.Event.FUSION_INITIALIZED,OpenLayers.Function.bind(this.setTaskMenu,this));this.getMap().registerForEvent(Fusion.Event.MAP_LOADED,OpenLayers.Function.bind(this.setInitialContent,this,q))},updateButtons:function(){this.prevButton.setEnabled(0<this.nCurrentTask);this.nextButton.setEnabled(this.nCurrentTask<this.aExecutedTasks.length-1)},gotoPrevTask:function(){this.nCurrentTask=0<this.nCurrentTask?
--this.nCurrentTask:0;this.loadFrame(this.aExecutedTasks[this.nCurrentTask])},gotoNextTask:function(){this.nCurrentTask=this.nCurrentTask<this.aExecutedTasks.length-1?++this.nCurrentTask:this.aExecutedTasks.length-1;this.loadFrame(this.aExecutedTasks[this.nCurrentTask])},goHome:function(){this.nCurrentTask=0;this.loadFrame(this.aExecutedTasks[this.nCurrentTask])},setInitialContent:function(a){this.aExecutedTasks=[];this.nCurrentTask=-1;this.setContent(a)},addCommonParams:function(a){var b=a.split("?");
a=OpenLayers.Util.getParameters(a);var d=this.getMapLayer();a.LOCALE||a.locale||(a.locale=Fusion.locale);a.SESSION||a.session||(a.session=d.getSessionID());a.MAPNAME||a.mapname||(a.mapname=d.getMapName());return b[0]+"?"+OpenLayers.Util.getParameterString(a)},isSameWithLast:function(a){return this.aExecutedTasks[this.aExecutedTasks.length-1]==this.addCommonParams(a)},setContent:function(a){Fusion.triggerEvent(Fusion.Event.TASK_PANE_LOADED);a=this.addCommonParams(a);this.aExecutedTasks.push(a);++this.nCurrentTask;
this.loadFrame(a)},loadFrame:function(a){this.iframe.src=a;this.iframe.taskPaneId=this.widgetTag.name;this.updateButtons()},setTaskMenu:function(){if(this.menuName){var a=this.getMap().widgetSet.getContainerByName(this.menuName);a&&a.createWidgets(this.getMap().widgetSet,this.taskMenu)}}});
Fusion.Widget.Theme=OpenLayers.Class(Fusion.Widget,{isExclusive:!1,uiClass:Jx.Button,sFeatures:"menubar=no,location=no,resizable=no,status=no",initializeWidget:function(a){a=a.extension;this.sTarget=a.Target?a.Target[0]:"ThemeWindow";this.sBaseUrl=Fusion.getFusionURL()+"widgets/Theme/thememain.php"},activate:function(){var a=this.sBaseUrl,b=this.getMapLayer(),d=Fusion.getWidgetById(this.sTarget),e=$(this.sTarget),f=[];f.push("LOCALE="+Fusion.locale);f.push("SESSION="+b.getSessionID());f.push("MAPNAME="+
b.getMapName());d||e?f.push("POPUP=false"):f.push("POPUP=true");0>a.indexOf("?")?a+="?":"&"!=a.slice(-1)&&(a+="&");a+=f.join("&");d?d.isSameWithLast(a)||d.setContent(a):e?e.src=a:window.open(a,this.sTarget,this.sWinFeatures)}});
Fusion.Widget.ViewOptions=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Menu,displayUnits:!1,options:{imperial:"Miles",metric:"Meters",deg:"Degrees"},menuItems:null,system:null,initializeWidget:function(a){a=a.extension;this.displayUnits=a.DisplayUnits?a.DisplayUnits[0]:!1;this.paramRegister.push("Units");this.getMap().registerForEvent(Fusion.Event.MAP_LOADED,OpenLayers.Function.bind(this.setMapUnits,this));this.menuItems={}},setUiObject:function(a){Fusion.Widget.prototype.setUiObject.apply(this,[a]);
a=new Jx.ButtonSet;for(var b in this.options){var d=new Jx.Menu.Item({label:OpenLayers.i18n(b),toggle:!0,onDown:OpenLayers.Function.bind(this.setViewOptions,this,this.options[b])});a.add(d);this.uiObj.add(d);this.menuItems[b]=d}},setViewOptions:function(a){this.getMap().setViewOptions(a)},setMapUnits:function(){var a=this.displayUnits?this.displayUnits:this.getMap().getUnits();this.setViewOptions(a);this.system=Fusion.unitSystem(Fusion.unitFromName(a));this.menuItems[this.system]&&this.menuItems[this.system].setActive(!0)},
setParameter:function(a,b){"Units"==a&&this.system!=Fusion.unitSystem(Fusion.unitFromName(b))&&(this.system=Fusion.unitSystem(Fusion.unitFromName(b)),this.menuItems[this.system]&&this.menuItems[this.system].setActive(!0))}});
Fusion.Widget.ViewSize=OpenLayers.Class(Fusion.Widget,{defaultTemplate:"x: {x}, y: {y}",domSpan:null,emptyText:"",units:Fusion.UNKNOWN,initializeWidget:function(a){var b=a.extension;this.template=b.Template?b.Template[0]:this.defaultTemplate;this.precision=b.Precision?parseInt(b.Precision[0]):-1;this.units=b.Units?Fusion.unitFromName(b.Units[0]):Fusion.UNKOWN;this.domSpan=document.createElement("span");this.domSpan.className="spanViewSize";this.domSpan.innerHTML=this.emptyText;this.domObj&&(this.emptyText=
this.domObj.innerHTML,this.domObj.innerHTML="",this.domObj.appendChild(this.domSpan));this.getMap().registerForEvent(Fusion.Event.MAP_RESIZED,OpenLayers.Function.bind(this.updateViewSize,this));this.getMap().registerForEvent(Fusion.Event.MAP_LOADED,OpenLayers.Function.bind(this.setUnits,this));this.getMap().registerForEvent(Fusion.Event.MAP_EXTENTS_CHANGED,OpenLayers.Function.bind(this.updateViewSize,this));this.registerParameter("Units");Fusion.addWidgetStyleSheet(a.location+"/ViewSize/ViewSize.css")},
setUiObject:function(a){Fusion.Widget.prototype.setUiObject.apply(this,[a]);this.uiObj.domObj?this.uiObj.domObj.appendChild(this.domSpan):this.uiObj.appendChild(this.domSpan)},updateViewSize:function(a){a=this.getMap();var b=a.getSize();if(this.units!=Fusion.PIXELS){var d=a.pixToGeoMeasure(b.w),e=a.pixToGeoMeasure(b.h);this.units!=Fusion.UNKNOWN&&(a=a.getMetersPerUnit(),d=Fusion.fromMeter(this.units,d*a),e=Fusion.fromMeter(this.units,e*a));0<=this.precision&&(a=Math.pow(10,this.precision),d=Math.round(d*
a)/a,e=Math.round(e*a)/a)}a=Fusion.unitAbbr(this.units);this.domSpan.innerHTML=this.template.replace("{w}",d).replace("{h}",e).replace("{units}",a).replace("{units}",a)},setUnits:function(){this.units==Fusion.UNKNOWN&&this.setParameter("Units",this.getMap().getUnits());this.updateViewSize()},setParameter:function(a,b){"Units"==a&&(this.units=Fusion.unitFromName(b),this.updateViewSize())}});
Fusion.Widget.Zoom=OpenLayers.Class(Fusion.Widget,{isExclusive:!0,tolerance:5,factor:2,zoomIn:!0,uiClass:Jx.Button,initializeWidget:function(a){var b=window.location.href.indexOf("?"),d=window.location.href.substring(0,b),b=d.lastIndexOf("/"),d=d.substring(0,b+1),b="url("+d+"images/zoomin.cur), auto";this.asCursor=[b,"-moz-zoom-in","auto"];this.zoomInCursor=[b,"-moz-zoom-in","auto"];this.zoomOutCursor=["url("+d+"images/zoomout.cur), auto","-moz-zoom-out","auto"];a=a.extension;this.tolerance=a.Tolerance?
a.Tolerance[0]:this.tolerance;this.factor=a.Factor?a.Factor[0]:this.factor;this.zoomIn=a.Direction&&"out"==a.Direction[0]?!1:!0;this.keypressWatcher=OpenLayers.Function.bind(this.keypressHandler,this);a=this.getMap();this.map=a.oMapOL;this.handler=new OpenLayers.Handler.Box(this,{done:this.execute},{keyMask:0});this.shiftHandler=new OpenLayers.Handler.Box(this,{done:this.altZoom},{keyMask:OpenLayers.Handler.MOD_SHIFT});a.handlers.push(this.handler);a.handlers.push(this.shiftHandler);this.getMap().registerForEvent(Fusion.Event.MAP_DIGITIZER_ACTIVATED,
OpenLayers.Function.bind(this.onDigitizerActivated,this));this.getMap().registerForEvent(Fusion.Event.MAP_DIGITIZER_DEACTIVATED,OpenLayers.Function.bind(this.onDigitizerDeactivated,this))},onDigitizerActivated:function(){this.bRestoreActiveState=this.isActive;this.deactivate()},onDigitizerDeactivated:function(){!0===this.bRestoreActiveState&&(this.activate(),this.bRestoreActiveState=!1)},shouldActivateWith:function(a){return a instanceof Fusion.Widget.SelectPolygon&&a.widgetUniqueId==this.widgetUniqueId},
activate:function(){this.isActive=!0;this.handler.activate();this.shiftHandler.activate();this.zoomIn?this.getMap().setCursor(this.zoomInCursor):this.getMap().setCursor(this.zoomOutCursor);OpenLayers.Event.observe(document,"keypress",this.keypressWatcher)},deactivate:function(){this.isActive=!1;this.handler.deactivate();this.shiftHandler.deactivate();this.getMap().setCursor("auto");OpenLayers.Event.stopObserving(document,"keypress",this.keypressWatcher)},execute:function(a,b){var d=this.zoomIn;b&&
(d=!d);if(a instanceof OpenLayers.Bounds){var e=this.map.getLonLatFromPixel(new OpenLayers.Pixel(a.left,a.bottom)),f=this.map.getLonLatFromPixel(new OpenLayers.Pixel(a.right,a.top)),e=new OpenLayers.Bounds(e.lon,e.lat,f.lon,f.lat);if(d)this.getMap().setExtents(e);else{var d=e.getWidth(),f=e.getHeight(),g=this.getMap().getCurrentExtents(),h=g.getWidth(),g=g.getHeight(),d=Math.min(d/h,f/g),e=e.getCenterLonLat();this.getMap().zoom(e.lon,e.lat,d)}}else e=this.map.getLonLatFromPixel(a),d=!d&&1<this.factor?
1/this.factor:this.factor,this.getMap().zoom(e.lon,e.lat,d)},altZoom:function(a){this.execute(a,!0)},setParameter:function(a,b){"Factor"==a&&0<b&&(this.factor=b)},keypressHandler:function(a){(a.charCode?a.charCode:a.keyCode)==Event.KEY_ESC&&(this.handler.deactivate(),this.handler.activate())}});
Fusion.Widget.ZoomOnClick=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,factor:4,initializeWidget:function(a){a=a.extension;this.factor=parseFloat(a.Factor?a.Factor[0]:this.factor)},activate:function(){var a=this.getMap().getCurrentCenter();this.getMap().zoom(a.x,a.y,this.factor)},setParameter:function(a,b){"Factor"==a&&0<b&&(this.factor=b)}});
Fusion.Widget.ZoomToSelection=OpenLayers.Class(Fusion.Widget,{uiClass:Jx.Button,initializeWidget:function(a){a=a.extension;this.maxDimension=a.MaximumZoomDimension?a.MaximumZoomDimension[0]:-1;this.zoomFactor=a.ZoomFactor?a.ZoomFactor[0]:2;this.enable=Fusion.Widget.ZoomToSelection.prototype.enable;this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_ON,OpenLayers.Function.bind(this.enable,this));this.getMap().registerForEvent(Fusion.Event.MAP_SELECTION_OFF,OpenLayers.Function.bind(this.disable,
this))},activate:function(){this.getMap().getSelection(OpenLayers.Function.bind(this.zoomToSelection,this))},zoomToSelection:function(a){for(var b=this.getMap().getAllMaps(),d=new OpenLayers.Bounds,e=0;e<b.length;++e){var f=b[e].getMapName();if(a[f]){var g=a[f].getLowerLeftCoord();d.extend(new OpenLayers.LonLat(g.x,g.y));f=a[f].getUpperRightCoord();d.extend(new OpenLayers.LonLat(f.x,f.y))}}a=this.zoomFactor*Math.max(Math.abs(d.getWidth()),Math.abs(d.getHeight()))/2;d=d.getCenterLonLat();llx=d.lon-
a;urx=d.lon+a;lly=d.lat-a;ury=d.lat+a;this.getMap().setExtents(new OpenLayers.Bounds(llx,lly,urx,ury))},enable:function(){this.oMap&&this.oMap.hasSelection()?Fusion.Widget.prototype.enable.apply(this,[]):this.disable()}});
function ScaleBarTool(a){this.scaleDenominator=null==a?1:a;this.displaySystem="metric";this.minWidth=100;this.maxWidth=200;this.subdivisions=this.divisions=2;this.singleLine=this.abbreviateLabel=this.showMinorMeasures=!1;this.resolution=72;this.align="center";this.container=document.createElement("div");this.container.className="sbWrapper";this.labelContainer=document.createElement("div");this.labelContainer.className="sbUnitsContainer";this.labelContainer.style.position="absolute";this.graphicsContainer=
document.createElement("div");this.graphicsContainer.style.position="absolute";this.graphicsContainer.className="sbGraphicsContainer";this.numbersContainer=document.createElement("div");this.numbersContainer.style.position="absolute";this.numbersContainer.className="sbNumbersContainer";a=document.createElement("div");a.className="sbMarkerMajor";this.graphicsContainer.appendChild(a);a=document.createElement("div");a.className="sbMarkerMinor";this.graphicsContainer.appendChild(a);a=document.createElement("div");
a.className="sbBar";this.graphicsContainer.appendChild(a);a=document.createElement("div");a.className="sbBarAlt";this.graphicsContainer.appendChild(a)}
ScaleBarTool.prototype.update=function(a){function b(a,b,d){d=null==d?10:d;for(var e=Number.POSITIVE_INFINITY,f=Number.POSITIVE_INFINITY,g=a,h=3,l=0;3>l;++l)for(var m=Math.pow(2,-1*l),q=Math.floor(Math.log(b/m)/Math.LN10),r=q;r>q-d+1;--r){var u=Math.max(l-r,0),v=m*Math.pow(10,r);if(v*Math.floor(b/v)>=a){var z=0==a%v?a/v:Math.floor(a/v)+1,B=z+2*l,C=0>r?Math.abs(r)+1:r;if(B<e||B==e&&C<f)e=B,f=C,g=(v*z).toFixed(u),h=u}}this.value=g;this.score=e;this.tieBreaker=f;this.numDec=h}function d(a,b){var d=0;
if(document.styleSheets)for(var e=document.styleSheets.length-1;0<=e;--e){var f=document.styleSheets[e];if(!f.disabled){if("undefined"==typeof f.cssRules){if("undefined"==typeof f.rules)return 0;f=f.rules}else f=f.cssRules;for(var g=0;g<f.length;++g){var h=f[g];h.selectorText&&h.selectorText.toLowerCase()==a.toLowerCase()&&""!=h.style[b]&&(d=parseInt(h.style[b]))}}}return d?d:0}null!=a&&(this.scaleDenominator=a);b.prototype.toString=function(){return this.value.toString()};b.prototype.valueOf=function(){return this.value};
this.container.title="scale 1:"+function(a,b){b=b?b:0;for(var d=""+Math.round(a),e=/(-?[0-9]+)([0-9]{3})/;e.test(d);)d=d.replace(e,"$1,$2");return 0<b?(e=Math.floor(Math.pow(10,b)*(a-Math.round(a))),0==e?d:d+"."+e):d}(this.scaleDenominator);for(var e={english:{units:["miles","feet","inches"],abbr:["mi","ft","in"],inches:[63360,12,1]},metric:{units:["kilometers","meters","centimeters"],abbr:["km","m","cm"],inches:[39370.07874,39.370079,0.393701]}},f=[],g=0;g<e[this.displaySystem].units.length;++g){f[g]=
{};var h=this.resolution*e[this.displaySystem].inches[g]/this.scaleDenominator;a=this.minWidth/h/(this.divisions*this.subdivisions);for(var l=this.maxWidth/h/(this.divisions*this.subdivisions),m=0;m<this.divisions*this.subdivisions;++m){h=new b(a*(m+1),l*(m+1));f[g][m]={value:h.value/(m+1),score:0,tieBreaker:0,numDec:0,displayed:0};for(var q=0;q<this.divisions*this.subdivisions;++q){displayedValuePosition=h.value*(q+1)/(m+1);niceNumber2=new b(displayedValuePosition,displayedValuePosition);var r=0==
(q+1)%this.subdivisions,u=q+1==this.divisions*this.subdivisions;this.singleLine&&u||!this.singleLine&&(r||this.showMinorMeasures)?(f[g][m].score+=niceNumber2.score,f[g][m].tieBreaker+=niceNumber2.tieBreaker,f[g][m].numDec=Math.max(f[g][m].numDec,niceNumber2.numDec),f[g][m].displayed+=1):(f[g][m].score+=niceNumber2.score/this.subdivisions,f[g][m].tieBreaker+=niceNumber2.tieBreaker/this.subdivisions)}f[g][m].score*=(g+1)*f[g][m].tieBreaker/f[g][m].displayed}}for(var h=l=a=q=null,z=u=Number.POSITIVE_INFINITY,
g=r=0;g<f.length;++g)for(m in f[g])if(f[g][m].score<u||f[g][m].score==u&&f[g][m].tieBreaker<z)u=f[g][m].score,z=f[g][m].tieBreaker,q=f[g][m].value,r=f[g][m].numDec,a=e[this.displaySystem].units[g],l=e[this.displaySystem].abbr[g],h=this.resolution*e[this.displaySystem].inches[g]/this.scaleDenominator,h*=q;f=(d(".sbMarkerMajor","borderLeftWidth")+d(".sbMarkerMajor","width")+d(".sbMarkerMajor","borderRightWidth"))/2;g=(d(".sbMarkerMinor","borderLeftWidth")+d(".sbMarkerMinor","width")+d(".sbMarkerMinor",
"borderRightWidth"))/2;u=(d(".sbBar","borderLeftWidth")+d(".sbBar","borderRightWidth"))/2;z=(d(".sbBarAlt","borderLeftWidth")+d(".sbBarAlt","borderRightWidth"))/2;document.styleSheets||(g=f=0.5);for(;this.labelContainer.hasChildNodes();)this.labelContainer.removeChild(this.labelContainer.firstChild);for(;this.graphicsContainer.hasChildNodes();)this.graphicsContainer.removeChild(this.graphicsContainer.firstChild);for(;this.numbersContainer.hasChildNodes();)this.numbersContainer.removeChild(this.numbersContainer.firstChild);
for(var v,B,m={left:0,center:-1*this.divisions*this.subdivisions*h/2,right:-1*this.divisions*this.subdivisions*h},e=0+m[this.align],D=B=0;D<this.divisions;++D){e=D*this.subdivisions*h;e+=m[this.align];B=0==D?0:(D*this.subdivisions*q).toFixed(r);v=document.createElement("div");v.className="sbMarkerMajor";v.style.position="absolute";v.style.overflow="hidden";v.style.left=Math.round(e-f)+"px";v.appendChild(document.createTextNode(" "));this.graphicsContainer.appendChild(v);this.singleLine||(v=document.createElement("div"),
v.className="sbNumbersBox",v.style.position="absolute",v.style.overflow="hidden",v.style.textAlign="center",this.showMinorMeasures?(v.style.width=Math.round(2*h)+"px",v.style.left=Math.round(e-h)+"px"):(v.style.width=Math.round(2*this.subdivisions*h)+"px",v.style.left=Math.round(e-this.subdivisions*h)+"px"),v.appendChild(document.createTextNode(B)),this.numbersContainer.appendChild(v));for(var C=0;C<this.subdivisions;++C)B=document.createElement("div"),B.style.position="absolute",B.style.overflow=
"hidden",B.style.width=Math.round(h)+"px",0==C%2?(B.className="sbBar",B.style.left=Math.round(e-u)+"px"):(B.className="sbBarAlt",B.style.left=Math.round(e-z)+"px"),B.appendChild(document.createTextNode(" ")),this.graphicsContainer.appendChild(B),C<this.subdivisions-1&&(e=(D*this.subdivisions+(C+1))*h,e+=m[this.align],B=(D*this.subdivisions+C+1)*q,v=document.createElement("div"),v.className="sbMarkerMinor",v.style.position="absolute",v.style.overflow="hidden",v.style.left=Math.round(e-g)+"px",v.appendChild(document.createTextNode(" ")),
this.graphicsContainer.appendChild(v),this.showMinorMeasures&&!this.singleLine&&(v=document.createElement("div"),v.className="sbNumbersBox",v.style.position="absolute",v.style.overflow="hidden",v.style.textAlign="center",v.style.width=Math.round(2*h)+"px",v.style.left=Math.round(e-h)+"px",v.appendChild(document.createTextNode(B)),this.numbersContainer.appendChild(v)))}e=this.divisions*this.subdivisions*h;e+=m[this.align];B=(this.divisions*this.subdivisions*q).toFixed(r);v=document.createElement("div");
v.className="sbMarkerMajor";v.style.position="absolute";v.style.overflow="hidden";v.style.left=Math.round(e-f)+"px";v.appendChild(document.createTextNode(" "));this.graphicsContainer.appendChild(v);this.singleLine||(v=document.createElement("div"),v.className="sbNumbersBox",v.style.position="absolute",v.style.overflow="hidden",v.style.textAlign="center",this.showMinorMeasures?(v.style.width=Math.round(2*h)+"px",v.style.left=Math.round(e-h)+"px"):(v.style.width=Math.round(2*this.subdivisions*h)+"px",
v.style.left=Math.round(e-this.subdivisions*h)+"px"),v.appendChild(document.createTextNode(B)),this.numbersContainer.appendChild(v));q=document.createElement("div");q.style.position="absolute";this.singleLine?(r=B,q.className="sbLabelBoxSingleLine",q.style.top="-0.6em",q.style.left=e+10+"px"):(r="",q.className="sbLabelBox",q.style.textAlign="center",q.style.width=Math.round(this.divisions*this.subdivisions*h)+"px",q.style.left=Math.round(m[this.align])+"px",q.style.overflow="hidden");r=this.abbreviateLabel?
r+(" "+l):r+(" "+a);q.appendChild(document.createTextNode(r));this.labelContainer.appendChild(q);document.styleSheets||(a=document.createElement("style"),a.type="text/css",l=".sbBar {top: 0px; background: #666666; height: 1px; border: 0;}.sbBarAlt {top: 0px; background: #666666; height: 1px; border: 0;}.sbMarkerMajor {height: 7px; width: 1px; background: #666666; border: 0;}",l+=".sbMarkerMinor {height: 5px; width: 1px; background: #666666; border: 0;}",l+=".sbLabelBox {top: -16px;}",l+=".sbNumbersBox {top: 7px;}",
a.appendChild(document.createTextNode(l)),document.getElementsByTagName("head").item(0).appendChild(a));this.container.appendChild(this.graphicsContainer);this.container.appendChild(this.labelContainer);this.container.appendChild(this.numbersContainer)};ScaleBarTool.prototype.place=function(a){null==a?document.body.appendChild(this.container):(a=document.getElementById(a),null!=a&&a.appendChild(this.container));this.update()};
Fusion.Layers.Generic=OpenLayers.Class(Fusion.Layers,{arch:"Generic",sActiveLayer:null,selectionType:"INTERSECTS",bSelectionOn:!1,oSelection:null,initialize:function(a,b,d){Fusion.Layers.prototype.initialize.apply(this,arguments);this.registerEventID(Fusion.Event.MAP_SESSION_CREATED);b.extension.LayerType&&(this.layerType=b.extension.LayerType[0]);this._sMapTitle=this._sMapname=b.layerOptions.name?b.layerOptions.name:"generic layer";this.bSingleTile=b.singleTile;this.minScale=b.layerOptions.minScale?
b.layerOptions.minScale:1;this.maxScale=b.layerOptions.maxScale?b.layerOptions.maxScale:"auto";d&&this.loadMap(this.sMapResourceId)},loadMap:function(a){this.bMapLoaded=!1;this.triggerEvent(Fusion.Event.LAYER_LOADING);this.internalLoadMap(a);window.setTimeout(OpenLayers.Function.bind(this.asyncTrigger,this),1)},internalLoadMap:function(a){this.bIsMapWidgetLayer&&this.mapWidget._addWorker();this.oLayerOL&&(this.oLayerOL.events.unregister("loadstart",this,this.loadStart),this.oLayerOL.events.unregister("loadend",
this,this.loadEnd),this.oLayerOL.events.unregister("loadcancel",this,this.loadEnd),this.oLayerOL.destroy(),this.oLayerOL=null);"undefined"==typeof this.mapTag.layerOptions.sphericalMercator&&(this.mapTag.layerOptions.sphericalMercator=!0);this.mapTag.layerOptions.sphericalMercator?(this.mapTag.layerOptions.maxExtent||(this.mapTag.layerOptions.maxExtent=new OpenLayers.Bounds(-2.00375083427892E7,-2.00375083427892E7,2.00375083427892E7,2.00375083427892E7)),this.mapTag.layerOptions.units="m",this.mapTag.layerOptions.projection=
"EPSG:900913"):(this.mapTag.layerOptions.maxExtent||(this.mapTag.layerOptions.maxExtent=new OpenLayers.Bounds(-180,-90,180,90)),this.mapTag.layerOptions.units="dd",this.mapTag.layerOptions.projection="EPSG:4326");"undefined"==typeof this.mapTag.layerOptions.numZoomLevels&&(this.mapTag.layerOptions.numZoomLevels=20);switch(this.layerType){case "Google":switch(this.mapTag.layerOptions.type){case "G_PHYSICAL_MAP":case "TERRAIN":this.mapTag.layerOptions.type=google.maps.MapTypeId.TERRAIN;break;case "G_HYBRID_MAP":case "HYBRID":this.mapTag.layerOptions.type=
google.maps.MapTypeId.HYBRID;break;case "G_SATELLITE_MAP":case "SATELLITE":this.mapTag.layerOptions.type=google.maps.MapTypeId.SATELLITE;break;case "G_NORMAL_MAP":case "ROADMAP":this.mapTag.layerOptions.type=google.maps.MapTypeId.ROADMAP;default:this.mapTag.layerOptions.type=this.mapTag.layerOptions.type==google.maps.MapTypeId.TERRAIN?google.maps.MapTypeId.TERRAIN:this.mapTag.layerOptions.type==google.maps.MapTypeId.HYBRID?google.maps.MapTypeId.HYBRID:this.mapTag.layerOptions.type==google.maps.MapTypeId.SATELLITE?
google.maps.MapTypeId.SATELLITE:google.maps.MapTypeId.ROADMAP}break;case "VirtualEarth":this.mapTag.layerOptions.animationEnabled=!1;switch(this.mapTag.layerOptions.type){case "Aerial":case "a":this.mapTag.layerOptions.type=VEMapStyle.Aerial;break;case "Shaded":case "s":this.mapTag.layerOptions.type=VEMapStyle.Shaded;break;case "Hybrid":case "h":this.mapTag.layerOptions.type=VEMapStyle.Hybrid;break;default:this.mapTag.layerOptions.type=VEMapStyle.Road}break;case "Yahoo":switch(this.mapTag.layerOptions.type){case "YAHOO_MAP_SAT":case "YAHOO_SAT":this.mapTag.layerOptions.type=
YAHOO_MAP_SAT;break;case "YAHOO_MAP_HYB":case "YAHOO_HYB":this.mapTag.layerOptions.type=YAHOO_MAP_HYB;break;default:this.mapTag.layerOptions.type=YAHOO_MAP_REG}break;case "OpenStreetMap":case "OSM":this.mapTag.layerOptions.type=this.mapTag.layerOptions.type?this.mapTag.layerOptions.type:"Mapnik";break;case "XYZ":this.oLayerOL=new OpenLayers.Layer[this.layerType](this.getMapName(),this.sMapResourceId,this.mapTag.layerOptions);break;default:this.oLayerOL=new OpenLayers.Layer[this.layerType](this.getMapName(),
this.sMapResourceId,this.mapTag.layerParams,this.mapTag.layerOptions)}this.oLayerOL||("OpenStreetMap"==this.layerType||"OSM"==this.layerType?this.oLayerOL="undefined"!=typeof OpenLayers.Layer.OSM[this.mapTag.layerOptions.type]?new OpenLayers.Layer.OSM[this.mapTag.layerOptions.type](this.getMapName(),null,this.mapTag.layerOptions):new OpenLayers.Layer.OSM(this.getMapName(),null,this.mapTag.layerOptions):(this.oLayerOL=new OpenLayers.Layer[this.layerType](this.getMapName(),this.mapTag.layerOptions),
this.mapWidget.fractionalZoom=!1,this.mapWidget.oMapOL.setOptions({fractionalZoom:!1})));this.oLayerOL.events.register("loadstart",this,this.loadStart);this.oLayerOL.events.register("loadend",this,this.loadEnd);this.oLayerOL.events.register("loadcancel",this,this.loadEnd);a=null;var b=new Fusion.Layers.ScaleRange({minScale:this.minScale,maxScale:this.maxScale},Fusion.Constant.LAYER_RASTER_TYPE,{label:this._sMapname});rootOpts={layerName:this._sMapname,resourceId:this.sMapResourceId,selectable:!1,
editable:!1,layerTypes:[Fusion.Constant.LAYER_RASTER_TYPE],minScale:this.minScale,maxScale:this.maxScale,scaleRanges:[b],parentGroup:this.mapWidget.layerRoot,displayInLegend:this.bDisplayInLegend,expandInLegend:this.bExpandInLegend,legendLabel:this._sMapname,uniqueId:"layerRoot",visible:!0,actuallyVisible:!0};this.layerRoot&&(a=this.mapWidget.layerRoot,(b=a.findLayerByAttribute("layerName",this.layerRoot.layerName))&&a.deleteLayer(b.uniqueId));this.layerRoot=new Fusion.Layers.Layer(rootOpts,this);
a&&a.addLayer(this.layerRoot);this.bIsMapWidgetLayer&&(this.mapWidget.addMap(this),this.mapWidget._removeWorker())},asyncTrigger:function(){this.aLayers=[];this.aLayers[0]=new Fusion.Layers.Layer({layerName:this.getMapName(),legendLabel:this.getMapName(),displayInLegend:!0,expandInLegend:!0,actuallyVisible:!0,visible:!0,initiallyVisible:!0,selectable:!1},this);this.bMapLoaded=!0;this.triggerEvent(Fusion.Event.LAYER_LOADED)},reloadMap:function(){this.bMapLoaded=!1;this.internalLoadMap(this.sResourceId);
this.mapWidget.triggerEvent(Fusion.Event.MAP_RELOADED);this.drawMap();this.bMapLoaded=!0},drawMap:function(){this.bMapLoaded&&this.oLayerOL.mergeNewParams(params)},showLayer:function(a,b){this.processLayerEvents(a,!0);b||this.oLayerOL.setVisibility(!0)},hideLayer:function(a,b){this.processLayerEvents(a,!1);b||this.oLayerOL.setVisibility(!1)},showGroup:function(a,b){this.processGroupEvents(a,!0)},hideGroup:function(a,b){this.processGroupEvents(a,!1)},refreshLayer:function(a){this.drawMap()},getLegendImageURL:function(a,
b,d,e){return e},getSessionID:function(){return""},getLinkParams:function(){var a={};a.layerType=this.layerType;return a}});
Fusion.Layers.MapGuide=OpenLayers.Class(Fusion.Layers,{arch:"MapGuide",session:[null],aShowLayers:null,aHideLayers:null,aShowGroups:null,aHideGroups:null,aRefreshLayers:null,sActiveLayer:null,selectionType:"INTERSECTS",bSelectionOn:!1,oSelection:null,drawDelay:0,nCmsScaleTolerance:2,bUsesCommercialLayerScaleList:!1,aCmsScales:[1128.49722,2256.99444,4513.98888,9027.977761000002,18055.95552,36111.91104,72223.82208999999,144447.6442,288895.2884,577790.5767000001,1155581.153,2311162.307,4622324.614,9244649.227,
1.848929845E7,3.697859691E7,7.395719382E7,1.479143876E8,2.958287753E8,5.916575505E8],bUseNativeServices:!1,selectionAsOverlay:!0,useAsyncOverlay:!1,defaultFormat:"PNG",oLayersOLTile:null,oLayerOLDynamic:!1,supports:{query:!0,edit:!0},alternateHostNames:null,jsonParser:null,initialize:function(a,b,d){Fusion.Layers.prototype.initialize.apply(this,arguments);var e=Fusion.getQueryParam("theme");""!=e&&(this.sMapResourceId=e,Fusion.queryParams.theme=null);this.jsonParser=new OpenLayers.Format.JSON;this.registerEventID(Fusion.Event.MAP_SESSION_CREATED);
this.mapInfo=b.mapInfo;this.imageFormat=b.extension.ImageFormat?b.extension.ImageFormat[0]:this.defaultFormat;this.selectionType=b.extension.SelectionType?b.extension.SelectionType[0]:"INTERSECTS";this.selectionColor=b.extension.SelectionColor?b.extension.SelectionColor[0]:"";this.selectionFormat=b.extension.SelectionFormat?b.extension.SelectionFormat[0]:"PNG";b.extension.SelectionAsOverlay&&"false"==b.extension.SelectionAsOverlay[0]&&(this.selectionAsOverlay=!1);this.bIsMapWidgetLayer||(this.selectionAsOverlay=
!1);b.extension.DrawDelay&&(this.drawDelay=parseInt(b.extension.DrawDelay[0]));this.bIsMapWidgetLayer&&(e=!0,b.extension.DisableCtrlClick&&"true"==b.extension.DisableCtrlClick[0]&&(e=!1),e&&(this.map=this.mapWidget.oMapOL,this.handler=new OpenLayers.Handler.Click(this,{click:OpenLayers.Function.bind(this.mouseUpCRTLClick,this)},{keyMask:OpenLayers.Handler.MOD_CTRL}),this.handler.activate(),this.nTolerance=2));b.layerOptions.AlternateHostNames&&(this.alternateHostNames=b.layerOptions.AlternateHostNames);
rootOpts={displayInLegend:this.bDisplayInLegend,expandInLegend:this.bExpandInLegend,legendLabel:this._sMapname,uniqueId:"layerRoot",groupName:"layerRoot",visible:!0,actuallyVisible:!0};this.layerRoot=new Fusion.Layers.Group(rootOpts,this);this.keepAliveInterval=parseInt(b.extension.KeepAliveInterval?b.extension.KeepAliveInterval[0]:300);this.noCache=!0;this.oLayersOLTile=[];Fusion.siteVersion&&(this.siteVersion=Fusion.siteVersion,this.checkNativeServiceSupport());(e=Fusion.sessionId)?(this.session[0]=
e,this.mapSessionCreated()):this.createSession()},createSession:function(){if(!this.session[0]){this.session[0]=this;var a=Fusion.getScriptLanguage(),a="layers/"+this.arch+"/"+a+"/CreateSession."+a,b={onSuccess:OpenLayers.Function.bind(this.createSessionCB,this)};Fusion.ajaxRequest(a,b)}this.session[0]instanceof Fusion.Layers.MapGuide?this.session[0].registerForEvent(Fusion.Event.MAP_SESSION_CREATED,OpenLayers.Function.bind(this.mapSessionCreated,this)):this.mapSessionCreated()},checkNativeServiceSupport:function(){this.bUseNativeServices=
!1;var a=this.siteVersion[0],b=this.siteVersion[1];2<a?this.bUseNativeServices=!0:2==a&&6<=b&&(this.bUseNativeServices=!0)},createSessionCB:function(a){if(200==a.status)if(a=Fusion.parseJSON(a.responseText),!1===a.success)Fusion.reportFatalError(a.message);else{var b=a.siteVersion.split(".");this.siteVersion=[parseInt(b[0]),parseInt(b[1]),parseInt(b[2]),parseInt(b[3])];this.checkNativeServiceSupport();this.session[0]=a.sessionId;Fusion.siteVersion||(Fusion.siteVersion=this.siteVersion);Fusion.sessionId||
(Fusion.sessionId=a.sessionId);for(a=a.acceptLanguage.split(",");0<a.length;){a=a[0].split(";");Fusion.initializeLocale(a[0]);break}this.triggerEvent(Fusion.Event.MAP_SESSION_CREATED)}},mapSessionCreated:function(){if(""!=this.sMapResourceId){var a={};if(this.bIsMapWidgetLayer){a=Fusion.getQueryParam("showlayers");Fusion.queryParams.showlayers=null;var b=Fusion.getQueryParam("hidelayers");Fusion.queryParams.hidelayers=null;var d=Fusion.getQueryParam("showgroups");Fusion.queryParams.showgroups=null;
var e=Fusion.getQueryParam("hidegroups");Fusion.queryParams.hidegroups=null;a={showlayers:""==a?[]:a.split(","),hidelayers:""==b?[]:b.split(","),showgroups:""==d?[]:d.split(","),hidegroups:""==e?[]:e.split(",")}}this.loadMap(this.sMapResourceId,a)}this.keepAliveTimer=window.setInterval(OpenLayers.Function.bind(this.pingServer,this),1E3*this.keepAliveInterval)},sessionReady:function(){return"string"==typeof this.session[0]},getSessionID:function(){return this.session[0]},calcMapName:function(a,b){var d=
a.lastIndexOf("/")+1,e=a.lastIndexOf("."),d=a.substring(d,e);b&&(d+=(new Date).getTime());return d},loadMap:function(a,b){this.bMapLoaded=!1;if(this.sessionReady())if(this.triggerEvent(Fusion.Event.LAYER_LOADING),this.mapWidget._addWorker(),this._fScale=-1,b=b||{},this.aShowLayers=b.showlayers||[],this.aHideLayers=b.hidelayers||[],this.aShowGroups=b.showgroups||[],this.aHideGroups=b.hidegroups||[],this.aRefreshLayers=b.refreshlayers||[],this.aLayers=[],this.oSelection=null,this.aSelectionCallbacks=
[],this._bSelectionIsLoading=!1,this.bUseNativeServices){var d=new Fusion.Lib.MGRequest.MGCreateRuntimeMap(a,7,25),e=this.calcMapName(a,!0);d.setParams({targetMapName:e,iconFormat:"GIF"});1==this.session.length&&d.setParams({session:this.session[0]});Fusion.oBroker.dispatchRequest(d,OpenLayers.Function.bind(this.onRuntimeMapCreated,this))}else d=Fusion.getScriptLanguage(),d="layers/"+this.arch+"/"+d+"/LoadMap."+d,e=this.getSessionID(),e={mapid:a,session:e},b={onSuccess:OpenLayers.Function.bind(this.mapLoaded,
this),parameters:e},Fusion.ajaxRequest(d,b);else this.sMapResourceId=a},convertResponse:function(a){a=a.RuntimeMap;var b={backgroundColor:"#"+a.BackgroundColor[0].substring(2),siteVersion:a.SiteVersion[0],mapId:a.MapDefinition[0],mapName:a.Name[0],mapTitle:a.Name[0],metersPerUnit:a.CoordinateSystem[0].MetersPerUnit?parseFloat(a.CoordinateSystem[0].MetersPerUnit[0]):1,wkt:a.CoordinateSystem[0].Wkt?a.CoordinateSystem[0].Wkt[0]:"",epsg:a.CoordinateSystem[0].EpsgCode?parseInt(a.CoordinateSystem[0].EpsgCode[0]):
4326,extent:[parseFloat(a.Extents[0].LowerLeftCoordinate[0].X[0]),parseFloat(a.Extents[0].LowerLeftCoordinate[0].Y[0]),parseFloat(a.Extents[0].UpperRightCoordinate[0].X[0]),parseFloat(a.Extents[0].UpperRightCoordinate[0].Y[0])],hasBaseMapLayers:!1,hasDynamicLayers:!1,FiniteDisplayScales:[],groups:[],layers:[]};if(a.FiniteDisplayScale)for(var d=0;d<a.FiniteDisplayScale.length;d++)b.FiniteDisplayScales.push(parseFloat(a.FiniteDisplayScale[d]));if(a.Group)for(d=0;d<a.Group.length;d++){var e=a.Group[d],
f={groupName:e.Name[0],legendLabel:e.LegendLabel?e.LegendLabel[0]:"",uniqueId:e.ObjectId[0],displayInLegend:"true"==e.DisplayInLegend[0],expandInLegend:"true"==e.ExpandInLegend[0],parentUniqueId:e.ParentId?e.ParentId[0]:"",visible:"true"==e.Visible[0],actuallyVisible:"true"==e.ActuallyVisible[0],isBaseMapGroup:"2"==e.Type[0]};"2"==e.Type[0]?b.hasBaseMapLayers=!0:b.hasDynamicLayers=!0;b.groups.push(f)}e={layers:[]};if(a.Layer)for(d=0;d<a.Layer.length;d++){var f=a.Layer[d],g={uniqueId:f.ObjectId[0],
layerName:f.Name[0],layerTypes:[],resourceId:f.LayerDefinition[0],parentGroup:f.ParentId?f.ParentId[0]:"",selectable:"true"==f.Selectable[0],visible:"true"==f.Visible[0],actuallyVisible:"true"==f.ActuallyVisible[0],editable:!1,isBaseMapLayer:"2"==f.Type[0],legendLabel:f.LegendLabel?f.LegendLabel[0]:"",displayInLegend:"true"==f.DisplayInLegend[0],expandInLegend:"true"==f.ExpandInLegend[0]};"2"==f.Type[0]||b.hasDynamicLayers||(b.hasDynamicLayers=!0);b.layers.push(g);var h={uniqueId:g.uniqueId,scaleRanges:[]},
l={},m=1E10,q=0;if(f.ScaleRange)for(var r=0;r<f.ScaleRange.length;r++){var u=f.ScaleRange[r],z={isCompressed:!1,maxScale:u.MaxScale[0],minScale:u.MinScale[0],styles:[]},m=Math.min(m,u.MinScale[0]),q=Math.max(q,u.MaxScale[0]);if(u.FeatureStyle)for(var v=0;v<u.FeatureStyle.length;v++)for(var B=u.FeatureStyle[v],D=0;D<B.Rule.length;D++){var C=B.Rule[D],E={categoryIndex:D,filter:C.Filter?C.Filter[0]:"",geometryType:parseInt(B.Type[0]),legendLabel:C.LegendLabel?C.LegendLabel[0]:""};"undefined"==typeof l[E.geometryType]&&
(l[E.geometryType]=E.geometryType);C.Icon?E.imageData="data:"+a.IconMimeType[0]+";base64,"+C.Icon[0]:z.isCompressed=!0;z.styles.push(E)}h.scaleRanges.push(z)}else m=0,q=1E10,h.scaleRanges.push(new Fusion.Layers.ScaleRange({minScale:0,maxScale:1E10},Fusion.Constant.LAYER_DWF_TYPE,{label:f.layerName}));for(var F in l)g.layerTypes.push(F);g.minScale=m;g.maxScale=q;e.layers.push(h)}return{LoadMap:b,LoadScaleRanges:e}},initLoadMapResponse:function(a){this._sResourceId=a.mapId;this._sMapname=a.mapName;
this._sMapTitle=a.mapTitle;for(var b=this.mapWidget.mapGroup.maps,d=!1,e=0,f=b.length;e<f;e++)if(b[e].resourceId==this._sResourceId){d=this;break}d&&(this.mapWidget.setMetersPerUnit(a.metersPerUnit),this.mapWidget.setBackgroundColor(a.backgroundColor));this.mapTag.layerOptions.maxExtent=OpenLayers.Bounds.fromArray(a.extent);this.layerRoot.clear();this.layerRoot.legendLabel=this._sMapTitle;this.layerRoot.displayInLegend=!0;this.layerRoot.expandInLegend=!0;this.parseMapLayersAndGroups(a);this.minScale=
1E10;for(b=this.maxScale=0;b<this.aLayers.length;b++)this.minScale=Math.min(this.minScale,this.aLayers[b].minScale),this.maxScale=Math.max(this.maxScale,this.aLayers[b].maxScale);0>=this.minScale&&(this.minScale=1);for(b=0;b<this.aShowLayers.length;b++)d=this.layerRoot.findLayerByAttribute("layerName",this.aShowLayers[b]),this.aShowLayers[b]=d?d.uniqueId:"";for(b=0;b<this.aHideLayers.length;b++)d=this.layerRoot.findLayerByAttribute("layerName",this.aHideLayers[b]),this.aHideLayers[b]=d?d.uniqueId:
"";for(b=0;b<this.aShowGroups.length;b++)d=this.layerRoot.findGroupByAttribute("groupName",this.aShowGroups[b]),this.aShowGroups[b]=d?d.uniqueId:"";for(b=0;b<this.aHideGroups.length;b++)d=this.layerRoot.findGroupByAttribute("groupName",this.aHideGroups[b]),this.aHideGroups[b]=d?d.uniqueId:"";a.hasBaseMapLayers&&this.bIsMapWidgetLayer&&(this.bSingleTile=!1);var g;a.wkt&&0<a.wkt.length&&(0!=a.epsg?(g=new OpenLayers.Projection("EPSG:"+a.epsg),this.mapTag.layerOptions.projection="EPSG:"+a.epsg):g=new OpenLayers.Projection(a.wkt));
if(!g||g&&g.proj&&!g.proj.readyToUse)0!=a.epsg?(g=new OpenLayers.Projection("EPSG:"+a.epsg),this.mapTag.layerOptions.projection="EPSG:"+a.epsg):(a.wkt='LOCAL_CS["Non-Earth (Meter)",LOCAL_DATUM["Local Datum",0],UNIT["Meter", 1],AXIS["X",EAST],AXIS["Y",NORTH]]',g=new OpenLayers.Projection(a.wkt));this.mapTag.layerOptions.units=Fusion.getClosestUnits(a.metersPerUnit);a.FiniteDisplayScales&&0<a.FiniteDisplayScales.length&&(this.scales=a.FiniteDisplayScales,this.mapWidget.fractionalZoom=!1,this.mapWidget.oMapOL.fractionalZoom=
!1);if(!this.bSingleTile)if(0<a.groups.length)for(d=0,this.noCache=!1,this.mapWidget.registerForEvent(Fusion.Event.MAP_EXTENTS_CHANGED,OpenLayers.Function.bind(this.mapExtentsChanged,this)),b=0;b<a.groups.length;b++)a.groups[b].isBaseMapGroup&&(this.oLayersOLTile[d]=this.createOLLayer(this._sMapname+"_Tiled["+d+"]",!1,2,!1,a.groups[b].groupName),d++);else this.bSingleTile=!0;this.oLayerOL&&(this.oLayerOL.events.unregister("loadstart",this,this.loadStart),this.oLayerOL.events.unregister("loadend",
this,this.loadEnd),this.oLayerOL.events.unregister("loadcancel",this,this.loadEnd),this.oLayerOL.destroy());this.oLayerOL=0!=this.oLayersOLTile.length?this.oLayersOLTile[this.oLayersOLTile.length-1]:this.createOLLayer(this._sMapname,this.bSingleTile,2,!1,"");g&&g.proj&&g.proj.readyToUse&&(this.oLayerOL.projection=g,this.oLayerOL.projection.proj.units=this.mapTag.layerOptions.units);this.oLayerOL.events.register("loadstart",this,this.loadStart);this.oLayerOL.events.register("loadend",this,this.loadEnd);
this.oLayerOL.events.register("loadcancel",this,this.loadEnd);this.oLayerOL2&&this.oLayerOL2.destroy();this.bMapLoaded=!0;if(this.bIsMapWidgetLayer){this.mapWidget.addMap(this);if(1<this.oLayersOLTile.length)for(b=this.oLayersOLTile.length-2;0<=b;b--)this.oLayersOLTile[b].isBaseLayer=!1,this.mapWidget.oMapOL.addLayer(this.oLayersOLTile[b]);this.bSingleTile||(this.oLayerOL2=this.createOLLayer(this._sMapname+"_DynamicOverlay",!0,2,!0,""),this.mapWidget.oMapOL.addLayer(this.oLayerOL2),this.oLayerOL2.setVisibility(!0))}for(b=
a=0;b<this.layerRoot.groups.length;b++)if(this.layerRoot.groups[b].isBaseMapGroup&&!this.layerRoot.groups[b].initiallyVisible)for(a=0;a<this.oLayersOLTile.length;a++)this.oLayersOLTile[a].params.basemaplayergroupname===this.layerRoot.groups[b].name&&this.oLayersOLTile[a].setVisibility(!1)},mapLoaded:function(a){200==a.status&&(a=Fusion.parseJSON(a.responseText),this.initLoadMapResponse(a));this.mapWidget._removeWorker();this.triggerEvent(Fusion.Event.LAYER_LOADED)},onRuntimeMapCreated:function(a){200==
a.status&&(a=Fusion.parseJSON(a.responseText),a=this.convertResponse(a),this.initLoadMapResponse(a.LoadMap),this._initScaleRanges=a.LoadScaleRanges);this.mapWidget._removeWorker();this.triggerEvent(Fusion.Event.LAYER_LOADED)},reloadMap:function(){this.mapWidget._addWorker();this.aShowLayers=[];this.aHideLayers=[];this.aShowGroups=[];this.aHideGroups=[];this.aRefreshLayers=[];this.layerRoot.clear();var a=$A(this.aLayers);this.aLayers=[];if(this.bUseNativeServices){var b=new Fusion.Lib.MGRequest.MGDescribeRuntimeMap(this._sMapname,
7,25);b.setParams({iconFormat:"GIF",session:this.getSessionID()});Fusion.oBroker.dispatchRequest(b,OpenLayers.Function.bind(this.onRuntimeMapReloaded,this,a))}else{var b=Fusion.getScriptLanguage(),b="layers/"+this.arch+"/"+b+"/LoadMap."+b,d=this.getSessionID(),d={mapname:this._sMapname,session:d},a={onSuccess:OpenLayers.Function.bind(this.mapReloaded,this,a),onException:OpenLayers.Function.bind(this.reloadFailed,this),parameters:d};Fusion.ajaxRequest(b,a)}},reloadFailed:function(a){this.mapWidget._removeWorker();
Fusion.reportFatalError(OpenLayers.i18n("mapLoadError",{error:a.transport.responseText}))},loadScaleRanges:function(){if(this.bUseNativeServices&&this._initScaleRanges)this.initLoadScaleRangeResponse(this._initScaleRanges),delete this._initScaleRanges;else{var a=Fusion.getScriptLanguage(),a="layers/"+this.arch+"/"+a+"/LoadScaleRanges."+a,b=!(Browser.Engine.trident4||Browser.Engine.trident5),d=this.getSessionID(),b={mapname:this._sMapname,session:d,preCacheIcons:b},b={onSuccess:OpenLayers.Function.bind(this.scaleRangesLoaded,
this),parameters:b};Fusion.ajaxRequest(a,b)}},initLoadScaleRangeResponse:function(a){if(a.layers&&0<a.layers.length)for(var b={url:a.icons_url||null,width:a.icons_width||16,height:a.icons_height||16},d=0;d<a.layers.length;d++){var e=this.getLayerById(a.layers[d].uniqueId);if(e){e.scaleRanges=[];for(var f=0;f<a.layers[d].scaleRanges.length;f++){var g=new Fusion.Layers.ScaleRange(a.layers[d].scaleRanges[f],e.layerType,b);e.scaleRanges.push(g)}}}this.mapWidget.triggerEvent(Fusion.Event.MAP_SCALE_RANGE_LOADED)},
scaleRangesLoaded:function(a){200==a.status&&(a=Fusion.parseJSON(a.responseText),this.initLoadScaleRangeResponse(a))},onRuntimeMapReloaded:function(a,b){if(200==b.status){var d=Fusion.parseJSON(b.responseText),d=this.convertResponse(d);this.parseMapLayersAndGroups(d.LoadMap);this._initScaleRanges=d.LoadScaleRanges;for(d=0;d<this.aLayers.length;++d)for(var e=this.aLayers[d],f=0;f<a.length;++f)if(a[f].uniqueId==e.uniqueId){e.selectedFeatureCount=a[f].selectedFeatureCount;e.noCache=a[f].noCache;break}this.mapWidget.triggerEvent(Fusion.Event.MAP_RELOADED);
this.drawMap()}this.mapWidget._removeWorker()},mapReloaded:function(a,b){if(200==b.status){var d=Fusion.parseJSON(b.responseText);this.parseMapLayersAndGroups(d);for(d=0;d<this.aLayers.length;++d)for(var e=this.aLayers[d],f=0;f<a.length;++f)if(a[f].uniqueId==e.uniqueId){e.selectedFeatureCount=a[f].selectedFeatureCount;e.noCache=a[f].noCache;break}this.mapWidget.triggerEvent(Fusion.Event.MAP_RELOADED);this.drawMap()}this.mapWidget._removeWorker()},reorderLayers:function(a){var b=Fusion.getScriptLanguage(),
b="layers/"+this.arch+"/"+b+"/SetLayers."+b,d={mapname:this._sMapname,session:this.getSessionID(),layerindex:a.join()};a={onSuccess:OpenLayers.Function.bind(this.mapLayersReset,this,a),parameters:d};Fusion.ajaxRequest(b,a)},mapLayersReset:function(a,b){if(200==b.status){var d=Fusion.parseJSON(b.responseText);if(d.success){d=$A(this.aLayers);this.aLayers=[];this.aVisibleLayers=[];for(var e=0;e<a.length;++e)this.aLayers.push(d[a[e]]),this.aLayers[e].visible&&this.aVisibleLayers.push(this.aLayers[e].layerName);
this.drawMap();this.triggerEvent(Fusion.Event.MAP_LAYER_ORDER_CHANGED)}else alert(OpenLayers.i18n("setLayersError",{error:d.layerindex}))}},parseMapLayersAndGroups:function(a){for(var b=0;b<a.groups.length;b++){var d=new Fusion.Layers.Group(a.groups[b],this),e;e=""!=d.parentUniqueId?this.layerRoot.findGroupByAttribute("uniqueId",d.parentUniqueId):this.layerRoot;e.addGroup(d,this.bLayersReversed)}for(b=0;b<a.layers.length;b++)d=new Fusion.Layers.Layer(a.layers[b],this),e=""!=d.parentGroup?this.layerRoot.findGroupByAttribute("uniqueId",
d.parentGroup):this.layerRoot,e.addLayer(d,this.bLayersReversed),this.aLayers.push(d)},_drawMapInternal:function(){var a={ts:(new Date).getTime(),showLayers:0<this.aShowLayers.length?this.aShowLayers.toString():null,hideLayers:0<this.aHideLayers.length?this.aHideLayers.toString():null,showGroups:0<this.aShowGroups.length?this.aShowGroups.toString():null,hideGroups:0<this.aHideGroups.length?this.aHideGroups.toString():null,refreshLayers:0<this.aRefreshLayers.length?this.aRefreshLayers.toString():null};
this.aShowLayers=[];this.aHideLayers=[];this.aShowGroups=[];this.aHideGroups=[];this.aRefreshLayers=[];this.oLayerOL2?this.oLayerOL2.mergeNewParams(a):this.oLayerOL.mergeNewParams(a);this.drawTimeout=null},drawMap:function(){this.bMapLoaded&&(0>=this.drawDelay?this._drawMapInternal():(this.drawTimeout&&(clearTimeout(this.drawTimeout),this.drawTimeout=null),this.drawTimeout=setTimeout(OpenLayers.Function.bind(this._drawMapInternal,this),this.drawDelay)))},drawSelection:function(){this.queryLayer?this.queryLayer.redraw(!0):
this.drawMap()},createOLLayer:function(a,b,d,e,f){this.useAsyncOverlay=Fusion.getConfigurationItem("mapguide","useAsyncOverlay");this.useAsyncOverlay||(this.selectionAsOverlay=!1);var g={maxResolution:"auto",useOverlay:this.selectionAsOverlay,useAsyncOverlay:this.useAsyncOverlay,ratio:this.ratio,transitionEffect:"resize"};this.scales&&0<this.scales.length&&(g.scales=this.scales);Infinity!=this.maxScale?g.minScale=this.maxScale:this.mapWidget.minScale&&(g.minScale=this.mapWidget.maxScale);this.mapWidget.oMapOL.scales||
this.scales||(g.maxScale=this.minScale);g.displayOutsideMaxExtent=!0;g.singleTile=b;OpenLayers.Util.extend(g,this.mapTag.layerOptions);var h={};b?(h={session:this.getSessionID(),mapname:this._sMapname,format:this.imageFormat,behavior:d,clientagent:this.clientAgent},h.showLayers=0<this.aShowLayers.length?this.aShowLayers.toString():null,h.hideLayers=0<this.aHideLayers.length?this.aHideLayers.toString():null,h.showGroups=0<this.aShowGroups.length?this.aShowGroups.toString():null,h.hideGroups=0<this.aHideGroups.length?
this.aHideGroups.toString():null,h.refreshLayers=0<this.aRefreshLayers.length?this.aRefreshLayers.toString():null,5==d&&(h.selectioncolor=this.selectionColor,h.format=this.selectionFormat),e&&(g.isBaseLayer=!1)):h={mapdefinition:this._sResourceId,basemaplayergroupname:f,session:this.getSessionID(),clientagent:this.clientAgent};h.format&&0<=h.format.toLowerCase().indexOf("png")&&(g.alpha=!0);d=!b&&g.useHttpTile?Fusion.getConfigurationItem("mapguide","tileCacheUrl"):Fusion.getConfigurationItem("mapguide",
"mapAgentUrl");if(this.alternateHostNames){e=this.alternateHostNames.split(",");var l=d.indexOf("http://")+7;7>l&&(l=d.indexOf("https://")+8);f=d.substring(0,l);var l=d.indexOf("/",l+1),m=d.substring(l);g.alternateUrls=[];for(l=0;l<e.length;l++)g.alternateUrls.push(f+e[l]+m)}a=new OpenLayers.Layer.MapGuide(a,d,h,g);if(!b&&a.scales.length==this.aCmsScales.length){a.bUsesCommercialLayerScaleList=!1;for(l=0;l<this.aCmsScales.length;l++)if(!this.scalesAreApproximate(a.scales[l],this.aCmsScales[l]))return a;
this.bUsesCommercialLayerScaleList=a.bUsesCommercialLayerScaleList=!0}return a},scalesAreApproximate:function(a,b){return Math.abs(a-b)<this.nCmsScaleTolerance},applyZoomOffset:function(a){this.oLayerOL&&!0===this.oLayerOL.bUsesCommercialLayerScaleList&&(this.oLayerOL.zoomOffset=a,this.oLayerOL.redraw());this.oLayerOL2&&!0===this.oLayerOL2.bUsesCommercialLayerScaleList&&(this.oLayerOL2.zoomOffset=a,this.oLayerOL2.redraw());if(this.oLayersOLTile)for(var b=0;b<this.oLayersOLTile.length;b++)!0===this.oLayersOLTile[b].bUsesCommercialLayerScaleList&&
(this.oLayersOLTile[b].zoomOffset=a,this.oLayersOLTile[b].redraw())},getLayerByName:function(a){for(var b=null,d=0;d<this.aLayers.length;d++)if(this.aLayers[d].layerName==a){b=this.aLayers[d];break}return b},getLayerById:function(a){for(var b=null,d=0;d<this.aLayers.length;d++)if(this.aLayers[d].uniqueId==a){b=this.aLayers[d];break}return b},getSelectionCB:function(a,b){if(200==b.status){var d=Fusion.parseJSON(b.responseText),d=new Fusion.SelectionObject(d);a(d)}},newSelection:function(){this.oSelection&&
(this.oSelection=null);this.bSelectionOn=!0;this.triggerEvent(Fusion.Event.MAP_SELECTION_ON)},getSelectedFeatureCount:function(){for(var a=0,b=0;b<this.aLayers.length;++b)a+=this.aLayers[b].selectedFeatureCount;return a},getSelectedLayers:function(){for(var a=[],b=0;b<this.aLayers.length;++b)0<this.aLayers[b].selectedFeatureCount&&a.push(this.aLayers[b]);return a},getSelectableLayers:function(){for(var a=[],b=0;b<this.aLayers.length;++b)this.aLayers[b].selectable&&a.push(this.aLayers[b]);return a},
setSelection:function(a,b){""!=a&&null!=a?this.bUseNativeServices?this.updateMapSelection(a,b,!1,!0):this.updateSelection(a,b,!1):this.clearSelection()},updateSelection:function(a,b,d){this.updateMapSelection(a,b);this.getSelectedFeatureProperties(a)},getSelectedFeatureProperties:function(a){this.mapWidget._addWorker();var b=Fusion.getScriptLanguage(),b="layers/"+this.arch+"/"+b+"/GetSelectionProperties."+b;a={mapname:this.getMapName(),session:this.getSessionID(),selection:a,seq:Math.random()};a=
{onSuccess:OpenLayers.Function.bind(this.processSelectedFeatureProperties,this),parameters:a};Fusion.ajaxRequest(b,a)},updateMapSelection:function(a,b,d,e){this.mapWidget._addWorker();this.bUseNativeServices?(d=4,!0==e&&(d|=1),a=new Fusion.Lib.MGRequest.MGQueryMapFeatures2(this.getSessionID(),this._sMapname,null,-1,1,this.selectionType,a,null,0,d,this.selectionColor,this.selectionImageFormat),b=OpenLayers.Function.bind(this.onNativeSelectionUpdate,this,b,e),Fusion.oBroker.dispatchRequest(a,b)):(e=
Fusion.getScriptLanguage(),e="layers/"+this.arch+"/"+e+"/SaveSelection."+e,a={mapname:this.getMapName(),session:this.getSessionID(),selection:a,seq:Math.random(),getextents:b?"true":"false"},b={onSuccess:OpenLayers.Function.bind(this.renderSelection,this,b),parameters:a},Fusion.ajaxRequest(e,b))},getSelection:function(a,b,d){if(a)if(this.previousAttributes)a(new Fusion.SelectionObject(this.previousAttributes));else{var e="layers/"+this.arch+"/"+Fusion.getScriptLanguage()+"/Selection."+Fusion.getScriptLanguage();
a={parameters:{session:this.getSessionID(),mapname:this._sMapname,layers:b,startcount:d},onSuccess:OpenLayers.Function.bind(this.getSelectionCB,this,a)};Fusion.ajaxRequest(e,a)}},selectionCleared:function(){for(var a=0;a<this.aLayers.length;++a)this.aLayers[a].selectedFeatureCount=0;this.bSelectionOn=!1;this.queryLayer&&this.queryLayer.setVisibility(!1);this.triggerEvent(Fusion.Event.MAP_SELECTION_OFF);this.drawMap();this.oSelection=null},clearSelection:function(){if(this.hasSelection()){var a="layers/"+
this.arch+"/"+Fusion.getScriptLanguage()+"/ClearSelection."+Fusion.getScriptLanguage(),b={parameters:{session:this.getSessionID(),mapname:this._sMapname},onSuccess:OpenLayers.Function.bind(this.selectionCleared,this)};Fusion.ajaxRequest(a,b)}null!=this.previousSelection&&this.previousSelection.clear()},removeQueryLayer:function(){this.queryLayer&&(this.queryLayer.destroy(),this.queryLayer=null)},processQueryResults:function(a,b){this.renderSelection(a,b);this.processSelectedFeatureProperties(b)},
processSelectedFeaturePropertiesNode:function(a){a.hasSelection?this.newSelection():this.clearSelection()},processSelectedFeatureProperties:function(a){this.mapWidget._removeWorker();a.responseText&&(a=Fusion.parseJSON(a.responseText),this.processSelectedFeaturePropertiesNode(a))},onNativeSelectionUpdate:function(a,b,d){if(b){var e=Fusion.parseJSON(d.responseText);b=new Fusion.SimpleSelectionObject(e);e=this.convertExtendedFeatureInfo(e);this.previousSelection=b;this.previousAttributes=e}b=this.previousSelection;
for(var e={hasSelection:!1,layers:[],extents:null},f=0;f<b.getNumLayers();f++){var g=b.getLayer(f),h=g.getNumFeatures();0<h&&(e.hasSelection=!0,g=g.getName(),g=this.getLayerById(g),e.layers.push(g.layerName),e[g.layerName]={featureCount:h})}this.previousAttributes&&(e.extents=this.previousAttributes.extents);d.responseText=this.jsonParser.write(e);this.renderSelection(a,d);this.processSelectedFeaturePropertiesNode(this.previousAttributes)},renderSelection:function(a,b){this.mapWidget._removeWorker();
if(b.responseText){var d=Fusion.parseJSON(b.responseText);if(d.hasSelection){this.selectionAsOverlay&&(this.queryLayer?this.queryLayer.setVisibility(!0):(this.queryLayer=this.createOLLayer("query layer",!0,5,!0,""),this.mapWidget.oMapOL.addLayer(this.queryLayer),this.mapWidget.registerForEvent(Fusion.Event.MAP_LOADING,OpenLayers.Function.bind(this.removeQueryLayer,this))));for(var e=0;e<this.aLayers.length;++e)this.aLayers[e].selectedFeatureCount=0;for(var f=0;f<d.layers.length;++f)for(var g=d.layers[f],
e=0;e<this.aLayers.length;++e)g==this.aLayers[e].layerName&&(this.aLayers[e].selectedFeatureCount=d[g].featureCount);a&&(d=d.extents,null!=d&&(d=new OpenLayers.Bounds(d.minx,d.miny,d.maxx,d.maxy),this.mapWidget.setExtents(d)));this.drawSelection()}else this.clearSelection()}},query:function(a){this.mapWidget._addWorker();for(var b=0;b<this.aLayers.length;++b)this.aLayers[b].selectedFeatureCount=0;b=a.maxFeatures;if(null==b||0==b)b=-1;null==a.filter&&(a.filter="");this.bUseNativeServices?(b=new Fusion.Lib.MGRequest.MGQueryMapFeatures2(this.getSessionID(),
this._sMapname,a.geometry,b,1,a.selectionType||this.selectionType,a.filter,a.layers,3,1,this.selectionColor,this.selectionImageFormat),a=!0==a.extendSelection?OpenLayers.Function.bind(this.processAndMergeExtendedFeatureInfo,this):OpenLayers.Function.bind(this.processExtendedFeatureInfo,this)):(b=new Fusion.Lib.MGRequest.MGQueryMapFeatures(this.getSessionID(),this._sMapname,a.geometry,b,1,a.selectionType||this.selectionType,a.filter,a.layers,3),a=!0==a.extendSelection?OpenLayers.Function.bind(this.processAndMergeFeatureInfo,
this):OpenLayers.Function.bind(this.processFeatureInfo,this));Fusion.oBroker.dispatchRequest(b,a)},showLayer:function(a,b){this.processLayerEvents(a,!0);this.aShowLayers.push(a.uniqueId);0<this.drawDelay&&this.aHideLayers.erase(a.uniqueId);b||this.drawMap()},hideLayer:function(a,b){this.processLayerEvents(a,!1);this.aHideLayers.push(a.uniqueId);0<this.drawDelay&&this.aShowLayers.erase(a.uniqueId);b||this.drawMap()},showGroup:function(a,b){this.processGroupEvents(a,!0);if("layerRoot"==a.groupName)this.oLayerOL.setVisibility(!0),
this.oLayerOL2&&this.oLayerOL2.setVisibility(!0);else if(a.isBaseMapGroup)for(var d=0;d<this.oLayersOLTile.length;d++)this.oLayersOLTile[d].params.basemaplayergroupname==a.name&&this.oLayersOLTile[d].setVisibility(!0);else this.aShowGroups.push(a.uniqueId),0<this.drawDelay&&this.aHideGroups.erase(a.uniqueId),b||this.drawMap()},hideGroup:function(a,b){this.processGroupEvents(a,!1);if("layerRoot"==a.groupName)this.oLayerOL.setVisibility(!1),this.oLayerOL2&&this.oLayerOL2.setVisibility(!1);else if(a.isBaseMapGroup)for(var d=
0;d<this.oLayersOLTile.length;d++)this.oLayersOLTile[d].params.basemaplayergroupname==a.name&&this.oLayersOLTile[d].setVisibility(!1);else this.aHideGroups.push(a.uniqueId),0<this.drawDelay&&this.aShowGroups.erase(a.uniqueId),b||this.drawMap()},refreshLayer:function(a){this.aRefreshLayers.push(a.uniqueId);this.drawMap()},mouseUpCRTLClick:function(a){if(a.ctrlKey){var b=this.mapWidget.pixToGeo(a.xy.x-this.nTolerance,a.xy.y-this.nTolerance);a=this.mapWidget.pixToGeo(a.xy.x+this.nTolerance,a.xy.y+this.nTolerance);
if(b){for(var b="POLYGON(("+b.x+" "+b.y+", "+b.x+" "+a.y+", "+a.x+" "+a.y+", "+a.x+" "+b.y+", "+b.x+" "+b.y+"))",d=a="",e=0;e<this.aLayers.length;++e)a+=d+this.aLayers[e].layerName,d=",";b=new Fusion.Lib.MGRequest.MGQueryMapFeatures(this.getSessionID(),this._sMapname,b,1,0,"INTERSECTS","",a,3);a=OpenLayers.Function.bind(this.crtlClickDisplay,this);Fusion.oBroker.dispatchRequest(b,a)}}},crtlClickDisplay:function(a){200==a.status&&(a=Fusion.parseJSON(a.responseText).FeatureInformation.Hyperlink)&&window.open(a[0],
"")},mapExtentsChanged:function(){if(!this.singleTile){var a=this.mapWidget.oMapOL.getCenter(),b=this.mapWidget.oMapOL.getSize(),a=new Fusion.Lib.MGRequest.MGGetVisibleMapExtent(this.getSessionID(),this._sMapname,a.lon,a.lat,this.mapWidget.oMapOL.getScale(),null,this._nDpi,b.w,b.h);Fusion.oBroker.dispatchRequest(a)}},pingServer:function(){var a="layers/"+this.arch+"/"+Fusion.getScriptLanguage()+"/Common."+Fusion.getScriptLanguage(),b={onSuccess:OpenLayers.Function.bind(this.checkPingResponse,this)};
b.parameters={session:this.getSessionID()};Fusion.ajaxRequest(a,b)},checkPingResponse:function(a){a.responseText&&(a=Fusion.parseJSON(a.responseText),a.success||(clearInterval(this.keepAliveTimer),Fusion.reportFatalError(a.message)))},getLinkParams:function(){var a={};a.theme=this.sMapResourceId;for(var b=[],d=[],e=0;e<this.aLayers.length;++e){var f=this.aLayers[e];f.visible&&!f.initiallyVisible&&b.push(f.layerName);!f.visible&&f.initiallyVisible&&d.push(f.layerName)}a.showlayers=b.join(",");a.hidelayers=
d.join(",");b=[];d=[];for(e=0;e<this.layerRoot.groups.length;++e)f=this.layerRoot.groups[e],f.visible&&!f.initiallyVisible&&b.push(f.groupName),!f.visible&&f.initiallyVisible&&d.push(f.groupName);a.showgroups=b.join(",");a.hidegroups=d.join(",");return a},getMapTip:function(a){var b=Fusion.oBroker,d=a.oCurrentPosition.x,e=a.oCurrentPosition.y,f=this.mapWidget.pixToGeo(d-a.nTolerance,e-a.nTolerance),d=this.mapWidget.pixToGeo(d+a.nTolerance,e+a.nTolerance);f&&(f="POLYGON(("+f.x+" "+f.y+", "+f.x+" "+
d.y+", "+d.x+" "+d.y+", "+d.x+" "+f.y+", "+f.x+" "+f.y+"))",a=a.aLayers.toString(),a=this.bUseNativeServices?new Fusion.Lib.MGRequest.MGQueryMapFeatures2(this.getSessionID(),this._sMapname,f,1,0,"INTERSECTS","",a,5,12,this.selectionColor,this.selectionImageFormat):new Fusion.Lib.MGRequest.MGQueryMapFeatures(this.getSessionID(),this._sMapname,f,1,0,"INTERSECTS","",a,5),b.dispatchRequest(a,OpenLayers.Function.bind(this.parseMapTip,this)))},parseMapTip:function(a){a=Fusion.parseJSON(a.responseText);
this.oMaptip={t:"",h:""};var b=a.FeatureInformation.Tooltip;b&&(this.oMaptip.t=b[0].replace(/\\n/g,"<br>"));if(a=a.FeatureInformation.Hyperlink)this.oMaptip.h=a[0];this.mapWidget.triggerEvent(Fusion.Event.MAP_MAPTIP_REQ_FINISHED,this.oMaptip)},getLegendImageURL:function(a,b,d,e){if(4==b.layerTypes[0])return e;if(d.iconOpt&&d.iconOpt.url)return d.iconOpt.url;e=Fusion.getConfigurationItem("mapguide","mapAgentUrl");var f=null;this.oLayerOL&&this.oLayerOL.alternateUrls&&0<this.oLayerOL.alternateUrls.length&&
(f=this.oLayerOL.getNextAltURL());e=(null==f?e:f)+("?OPERATION=GETLEGENDIMAGE&SESSION="+b.oMap.getSessionID());e+="&VERSION=1.0.0&SCALE="+a;op=/\(/g;cp=/\)/g;e+="&LAYERDEFINITION="+encodeURIComponent(b.resourceId).replace(op,"%28").replace(cp,"%29");e+="&THEMECATEGORY="+d.categoryIndex;e+="&TYPE="+d.geometryType;e+="&CLIENTAGENT="+encodeURIComponent(this.clientAgent);this.noCache&&(e+="&TS="+(new Date).getTime());return e},typeNameToValue:function(a){switch(a){case "byte":return 2;case "boolean":return 1;
case "blob":return 10;case "clob":return 11;case "datetime":return 3;case "double":return 5;case "int16":return 6;case "int32":return 7;case "int64":return 8;case "single":return 4;case "string":return 9}return-1},convertExtendedFeatureInfo:function(a){var b=!1,d={},e=[];if(a.FeatureInformation.SelectedFeatures){a=a.FeatureInformation.SelectedFeatures[0].SelectedLayer;for(var b=0<a.length,f=new OpenLayers.Bounds,g=0;g<a.length;g++){var h=a[g],l=h.Feature||[],m=h["@name"];if(!d[m]){if(h.LayerMetadata)for(var q=
h.LayerMetadata[0],r=[],u=[],z=[],h=0;h<q.Property.length;h++){var v=q.Property[h];r.push(v.Name[0]);u.push(v.Type[0]);z.push(v.DisplayName[0])}d[m]={metadata:[],metadatanames:["dimension","bbox","center","area","length"],numelements:l.length,propertynames:r,propertytypes:u,propertyvalues:z,values:[]};e.push(m)}for(h=0;h<l.length;h++){q=l[h];v=[];if(q.Property)for(var B=0;B<q.Property.length;B++)v.push(null==q.Property[B].Value?"":q.Property[B].Value[0]);d[m].values.push(v);d[m].metadata.push(["",
"","","",""]);q.Bounds&&(q=q.Bounds[0].split(" "),f.extend(new OpenLayers.LonLat(parseFloat(q[0]),parseFloat(q[1]))),f.extend(new OpenLayers.LonLat(parseFloat(q[2]),parseFloat(q[3]))))}}return OpenLayers.Util.extend(d,{hasSelection:b,extents:{minx:f.left,miny:f.bottom,maxx:f.right,maxy:f.top},layers:e})}d.hasSelection=!1;return d},processAndMergeExtendedFeatureInfo:function(a){this.processSelectedExtendedFeatureInfo(a,!0)},processExtendedFeatureInfo:function(a){this.processSelectedExtendedFeatureInfo(a,
!1)},mergeAttributes:function(a,b){if(!b)return a;var d={};d.hasSelection=b.hasSelection;d.extents=b.extents;d.layers=b.layers;for(var e=0;e<d.layers.length;e++){var f=d.layers[e][0];d[f]=b[f]}!d.extents&&a.extents?d.extents=a.extents:a.extents&&(a.extents.minx<d.extents.minx&&(d.extents.minx=a.extents.minx),a.extents.miny<d.extents.miny&&(d.extents.miny=a.extents.miny),a.extents.maxx>d.extents.maxx&&(d.extents.maxx=a.extents.maxx),a.extents.maxy>d.extents.maxy&&(d.extents.maxy=a.extents.maxy));for(e=
0;e<a.layers.length;e++)if(f=a.layers[e][0],"undefined"==typeof d[f])d[f]=a[f];else for(var g=a[f].values,h=0;h<g.length;h++)d[f].values.push(g[h]),d[f].numelements++;return d},processSelectedExtendedFeatureInfo:function(a,b){var d=Fusion.parseJSON(a.responseText),e=new Fusion.SimpleSelectionObject(d),d=this.convertExtendedFeatureInfo(d);!0==b&&(e.merge(this.previousSelection),d=this.mergeAttributes(d,this.previousAttributes));var f=e.getSelectionXml();this.previousSelection=e;""!=f&&null!=f?(this.previousAttributes=
d,this.updateMapSelection(f,!1,b)):!1==b&&(this.previousAttributes=null,this.clearSelection());this.mapWidget._removeWorker()},processAndMergeFeatureInfo:function(a){this.processSelectedFeatureInfo(a,!0)},processFeatureInfo:function(a){this.processSelectedFeatureInfo(a,!1)},processSelectedFeatureInfo:function(a,b){var d=Fusion.parseJSON(a.responseText),d=new Fusion.SimpleSelectionObject(d);!0==b&&d.merge(this.previousSelection);this.previousSelection=d;d=d.getSelectionXml();this.setSelection(d,!1);
this.mapWidget._removeWorker()}});
Fusion.SimpleSelectionObject=OpenLayers.Class({aLayers:null,nLayers:0,initialize:function(a){this.aLayers=[];this.nLayers=0;try{var b=a.FeatureInformation.FeatureSet[0].Layer;if(null!=b)for(a=0;a<b.length;a++){var d=b[a].Class[0],e=new Fusion.SimpleSelectionObject.Layer(b[a]["@id"][0],b[a].Class[0]["@id"][0]);this.addLayer(e);for(var f=d.ID,g=0;g<f.length;g++)e.addFeature(f[g])}}catch(h){}},addLayer:function(a){this.aLayers[this.nLayers]=a;this.nLayers++},getNumLayers:function(){return this.nLayers},getLayerByName:function(a){for(var b=
null,d=0;d<this.nLayers;d++)if(this.aLayers[d].getName()==a){b=this.aLayers[d];break}return b},getLayer:function(a){return 0<=a&&a<this.nLayers?this.aLayers[a]:null},getSelectionXml:function(){var a="";if(0<this.nLayers){for(var a='<?xml version="1.0" encoding="UTF-8"?>\n<FeatureSet>\n',b=0;b<this.nLayers;b++){for(var d=this.aLayers[b],a=a+('<Layer id="'+d.getName()+'">\n'),a=a+('<Class id="'+d.getClassName()+'">\n'),e=0;e<d.getNumFeatures();e++)a+="<ID>"+d.featIds[e]+"</ID>\n";a+="</Class>\n</Layer>\n"}a+=
"</FeatureSet>\n"}return a},merge:function(a){if(null!=a&&0<a.nLayers)for(var b=0;b<a.nLayers;b++){var d=a.aLayers[b],e=this.getLayerByName(d.getName());if(null!=e){for(var f=0;f<d.getNumFeatures();f++){var g=e.featIds.find(d.featIds[f]);null==g?e.addFeature(d.featIds[f]):e.removeFeatures(g)}0==e.featIds.length&&this.clear()}else{e=new Fusion.SimpleSelectionObject.Layer(d.getName(),d.getClassName());for(f=0;f<d.getNumFeatures();f++)e.addFeature(d.featIds[f]);this.addLayer(e)}}},clear:function(){this.aLayers=
[];this.nLayers=0}});Fusion.SimpleSelectionObject.Layer=OpenLayers.Class({name:"",className:"",featIds:null,nFeatures:0,initialize:function(a,b){this.name=a;this.className=b;this.nFeatures=0;this.featIds=[]},addFeature:function(a){this.featIds[this.nFeatures]=a;this.nFeatures++},getName:function(){return this.name},getClassName:function(){return this.className},getNumFeatures:function(){return this.nFeatures},removeFeatures:function(a){for(var b=a.length,d=0;d<b;d++)this.featIds.remove(a[d]),this.nFeatures--}});
Array.prototype.find=function(a){var b=null;for(i=0;i<this.length;i++)"function"==typeof a?a.test(this[i])&&(b||(b=[]),b.push(i)):this[i]===a&&(b||(b=[]),b.push(i));return b};Array.prototype.remove=function(a){this.splice(a,1)};Proj4js.defs["EPSG:4030"]="+proj=longlat +ellps=WGS84 +no_defs ";Proj4js.defs["EPSG:4152"]="+proj=longlat +ellps=GRS80 +no_defs ";Proj4js.defs["EPSG:4322"]="+proj=longlat +ellps=WGS72 +no_defs ";Proj4js.defs["EPSG:4267"]="+proj=longlat +ellps=clrk66 +datum=NAD27 +no_defs ";
Proj4js.defs["EPSG:4202"]="+proj=longlat +ellps=aust_SA +no_defs ";Proj4js.defs["EPSG:4203"]="+proj=longlat +ellps=aust_SA +no_defs ";Proj4js.defs["EPSG:4283"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4122"]="+proj=longlat +a=6378135 +b=6356750.304921594 +no_defs ";Proj4js.defs["EPSG:4617"]="+proj=longlat +ellps=GRS80 +no_defs ";Proj4js.defs["EPSG:4230"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4258"]="+proj=longlat +ellps=GRS80 +no_defs ";
Proj4js.defs["EPSG:4807"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +no_defs ";Proj4js.defs["EPSG:4171"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4612"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4272"]="+proj=longlat +ellps=intl +datum=nzgd49 +no_defs ";Proj4js.defs["EPSG:4135"]="+proj=longlat +ellps=clrk66 +no_defs ";Proj4js.defs["EPSG:4124"]="+proj=longlat +ellps=bessel +no_defs ";
Proj4js.defs["EPSG:4248"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4168"]="+proj=longlat +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4143"]="+proj=longlat +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4201"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:4205"]="+proj=longlat +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4204"]="+proj=longlat +ellps=intl +no_defs ";
Proj4js.defs["EPSG:4289"]="+proj=longlat +ellps=bessel +no_defs ";Proj4js.defs["EPSG:4196"]="+proj=longlat +ellps=intl +towgs84=-45,417,-3.5,0,0,0.814,-0.6 +no_defs ";Proj4js.defs["EPSG:4169"]="+proj=longlat +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4176"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4601"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:4208"]="+proj=longlat +ellps=intl +no_defs ";
Proj4js.defs["EPSG:4209"]="+proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs ";Proj4js.defs["EPSG:4210"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:4712"]="+proj=longlat +ellps=intl +towgs84=-205,107,53,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4183"]="+proj=longlat +ellps=intl +towgs84=-104,167,-38,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4211"]="+proj=longlat +ellps=bessel +no_defs ";Proj4js.defs["EPSG:4214"]="+proj=longlat +ellps=krass +no_defs ";Proj4js.defs["EPSG:4313"]="+proj=longlat +ellps=intl +towgs84=106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1 +no_defs ";
Proj4js.defs["EPSG:4714"]="+proj=longlat +ellps=intl +towgs84=-127,-769,472,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4216"]="+proj=longlat +ellps=clrk66 +no_defs ";Proj4js.defs["EPSG:4165"]="+proj=longlat +ellps=intl +towgs84=-173,253,27,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4218"]="+proj=longlat +ellps=intl +towgs84=307,304,-318,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4219"]="+proj=longlat +ellps=bessel +towgs84=-384,664,-48,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4220"]="+proj=longlat +ellps=clrk80 +no_defs ";
Proj4js.defs["EPSG:4221"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4728"]="+proj=longlat +ellps=intl +towgs84=-307,-92,127,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4717"]="+proj=longlat +ellps=clrk66 +towgs84=-2,151,181,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4222"]="+proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs ";Proj4js.defs["EPSG:4223"]="+proj=longlat +a=6378249.2 +b=6356515 +no_defs ";Proj4js.defs["EPSG:4149"]="+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4150"]="+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4672"]="+proj=longlat +ellps=intl +towgs84=175,-38,113,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4151"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4224"]="+proj=longlat +ellps=intl +towgs84=-134,229,-29,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4632"]="+proj=longlat +ellps=intl +towgs84=-382,-59,-262,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4315"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4225"]="+proj=longlat +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4623"]="+proj=longlat +ellps=intl +towgs84=-186,230,110,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4155"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4274"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4316"]="+proj=longlat +ellps=intl +no_defs ";
Proj4js.defs["EPSG:4227"]="+proj=longlat +a=6378249.2 +b=6356515 +no_defs ";Proj4js.defs["EPSG:4314"]="+proj=longlat +ellps=bessel +datum=potsdam +no_defs ";Proj4js.defs["EPSG:4602"]="+proj=longlat +ellps=clrk80 +towgs84=725,685,536,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4719"]="+proj=longlat +ellps=intl +towgs84=211,147,111,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4133"]="+proj=longlat +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014 +no_defs ";Proj4js.defs["EPSG:4180"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4154"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4668"]="+proj=longlat +ellps=intl +towgs84=-86,-98,-119,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4159"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4232"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:4132"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:4625"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4621"]="+proj=longlat +ellps=intl +towgs84=137,248,-430,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4121"]="+proj=longlat +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4603"]="+proj=longlat +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4170"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4675"]="+proj=longlat +ellps=clrk66 +towgs84=-100,-248,259,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4624"]="+proj=longlat +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4147"]="+proj=longlat +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4148"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4237"]="+proj=longlat +ellps=GRS67 +no_defs ";Proj4js.defs["EPSG:4255"]="+proj=longlat +ellps=intl +towgs84=-333,-222,114,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4658"]="+proj=longlat +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4254"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4738"]="+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs ";
Proj4js.defs["EPSG:4611"]="+proj=longlat +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425 +no_defs ";Proj4js.defs["EPSG:4236"]="+proj=longlat +ellps=intl +towgs84=-637,-549,-203,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4633"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4630"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4239"]="+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4131"]="+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs ";Proj4js.defs["EPSG:4240"]="+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs ";Proj4js.defs["EPSG:4238"]="+proj=longlat +a=6378160 +b=6356774.50408554 +no_defs ";Proj4js.defs["EPSG:4173"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4725"]="+proj=longlat +ellps=intl +towgs84=189,-79,-202,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4144"]="+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs ";
Proj4js.defs["EPSG:4145"]="+proj=longlat +a=6377301.243 +b=6356100.230165384 +no_defs ";Proj4js.defs["EPSG:4146"]="+proj=longlat +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4244"]="+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=-97,787,86,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4698"]="+proj=longlat +ellps=intl +towgs84=145,-187,103,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4245"]="+proj=longlat +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4123"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4166"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4247"]="+proj=longlat +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4250"]="+proj=longlat +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4251"]="+proj=longlat +ellps=clrk80 +towgs84=-90,40,88,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4207"]="+proj=longlat +ellps=intl +no_defs ";
Proj4js.defs["EPSG:4669"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4142"]="+proj=longlat +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4181"]="+proj=longlat +ellps=intl +towgs84=-193,13.7,-39.3,-0.41,-2.933,2.688,0.43 +no_defs ";Proj4js.defs["EPSG:4253"]="+proj=longlat +ellps=clrk66 +no_defs ";Proj4js.defs["EPSG:4615"]="+proj=longlat +ellps=intl +towgs84=-499,-249,314,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4256"]="+proj=longlat +ellps=clrk80 +towgs84=41,-220,-134,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4257"]="+proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4259"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4262"]="+proj=longlat +ellps=bessel +towgs84=639,405,60,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4312"]="+proj=longlat +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +no_defs ";Proj4js.defs["EPSG:4264"]="+proj=longlat +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4268"]="+proj=longlat +a=6378450.047548896 +b=6356826.621488444 +no_defs ";Proj4js.defs["EPSG:4727"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4263"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:4638"]="+proj=longlat +ellps=clrk66 +towgs84=30,430,368,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4604"]="+proj=longlat +ellps=clrk80 +towgs84=174,359,365,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4639"]="+proj=longlat +ellps=intl +no_defs ";
Proj4js.defs["EPSG:4130"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +no_defs ";Proj4js.defs["EPSG:4266"]="+proj=longlat +a=6378249.2 +b=6356515 +no_defs ";Proj4js.defs["EPSG:4158"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4271"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4644"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4273"]="+proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +no_defs ";
Proj4js.defs["EPSG:4270"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:4307"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:4275"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4167"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4182"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4229"]="+proj=longlat +ellps=helmert +no_defs ";Proj4js.defs["EPSG:4277"]="+proj=longlat +ellps=airy +datum=OSGB36 +no_defs ";
Proj4js.defs["EPSG:4134"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:4637"]="+proj=longlat +ellps=intl +towgs84=325,154,172,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4636"]="+proj=longlat +ellps=intl +towgs84=365,194,166,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4729"]="+proj=longlat +ellps=intl +towgs84=185,165,42,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4282"]="+proj=longlat +a=6378249.2 +b=6356515 +no_defs ";Proj4js.defs["EPSG:4620"]="+proj=longlat +ellps=clrk80 +towgs84=-106,-129,165,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4190"]="+proj=longlat +ellps=GRS80 +no_defs ";Proj4js.defs["EPSG:4139"]="+proj=longlat +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4284"]="+proj=longlat +ellps=krass +no_defs ";Proj4js.defs["EPSG:4179"]="+proj=longlat +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +no_defs ";Proj4js.defs["EPSG:4178"]="+proj=longlat +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +no_defs ";Proj4js.defs["EPSG:4286"]="+proj=longlat +ellps=helmert +no_defs ";
Proj4js.defs["EPSG:4285"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4614"]="+proj=longlat +ellps=intl +towgs84=-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706 +no_defs ";Proj4js.defs["EPSG:4194"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4153"]="+proj=longlat +ellps=intl +towgs84=-133.63,-157.5,-158.62,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4189"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4626"]="+proj=longlat +ellps=intl +no_defs ";
Proj4js.defs["EPSG:4627"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4265"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4184"]="+proj=longlat +ellps=intl +towgs84=-203,141,53,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4292"]="+proj=longlat +ellps=intl +towgs84=-355,21,72,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4293"]="+proj=longlat +ellps=bess_nam +no_defs ";Proj4js.defs["EPSG:4195"]="+proj=longlat +ellps=intl +towgs84=105,326,-102.5,0,0,0.814,-0.6 +no_defs ";
Proj4js.defs["EPSG:4613"]="+proj=longlat +ellps=bessel +no_defs ";Proj4js.defs["EPSG:4616"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4175"]="+proj=longlat +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4156"]="+proj=longlat +ellps=bessel +no_defs ";Proj4js.defs["EPSG:4164"]="+proj=longlat +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4643"]="+proj=longlat +ellps=intl +towgs84=-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7 +no_defs ";
Proj4js.defs["EPSG:4642"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4622"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4605"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:4606"]="+proj=longlat +ellps=clrk80 +towgs84=-149,128,296,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4619"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4629"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4628"]="+proj=longlat +ellps=intl +towgs84=162,117,154,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4297"]="+proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4127"]="+proj=longlat +ellps=clrk66 +no_defs ";Proj4js.defs["EPSG:4298"]="+proj=longlat +ellps=evrstSS +no_defs ";Proj4js.defs["EPSG:4299"]="+proj=longlat +a=6377340.189 +b=6356034.447938534 +no_defs ";Proj4js.defs["EPSG:4302"]="+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs ";Proj4js.defs["EPSG:4734"]="+proj=longlat +ellps=intl +towgs84=-632,438,-609,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4304"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4324"]="+proj=longlat +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +no_defs ";Proj4js.defs["EPSG:4610"]="+proj=longlat +a=6378140 +b=6356755.288157528 +no_defs ";Proj4js.defs["EPSG:4309"]="+proj=longlat +ellps=intl +towgs84=-155,171,37,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4163"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4311"]="+proj=longlat +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4149"]="+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4736"]="+proj=longlat +ellps=clrk80 +towgs84=260,12,-147,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4735"]="+proj=longlat +ellps=intl +towgs84=647,1777,-1124,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4661"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4190"]="+proj=longlat +ellps=GRS80 +no_defs ";Proj4js.defs["EPSG:4733"]="+proj=longlat +ellps=intl +towgs84=276,-57,149,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4659"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4755"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4754"]="+proj=longlat +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4749"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4747"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4740"]="+proj=longlat +a=6378136 +b=6356751.361745712 +towgs84=0,0,1.5,-0,-0,0.076,0 +no_defs ";
Proj4js.defs["EPSG:4702"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4737"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4670"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4674"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4141"]="+proj=longlat +ellps=GRS80 +towgs84=-48,55,52,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4161"]="+proj=longlat +ellps=intl +towgs84=27.5,14,186.4,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4188"]="+proj=longlat +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 +no_defs ";Proj4js.defs["EPSG:4192"]="+proj=longlat +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4212"]="+proj=longlat +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4231"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4242"]="+proj=longlat +ellps=clrk66 +no_defs ";Proj4js.defs["EPSG:4246"]="+proj=longlat +ellps=clrk80 +towgs84=-294.7,-200.1,525.5,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4281"]="+proj=longlat +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +no_defs ";Proj4js.defs["EPSG:4318"]="+proj=longlat +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4319"]="+proj=longlat +ellps=GRS80 +no_defs ";Proj4js.defs["EPSG:4607"]="+proj=longlat +ellps=clrk80 +towgs84=195.671,332.517,274.607,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4641"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4657"]="+proj=longlat +a=6377019.27 +b=6355762.5391 +towgs84=-28,199,5,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4660"]="+proj=longlat +ellps=intl +towgs84=982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805 +no_defs ";Proj4js.defs["EPSG:4662"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4663"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4664"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4665"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4666"]="+proj=longlat +ellps=bessel +no_defs ";Proj4js.defs["EPSG:4667"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4673"]="+proj=longlat +ellps=intl +towgs84=174.05,-25.49,112.57,-0,-0,0.554,0.2263 +no_defs ";Proj4js.defs["EPSG:4678"]="+proj=longlat +ellps=krass +towgs84=44.585,-131.212,-39.544,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4679"]="+proj=longlat +ellps=clrk80 +towgs84=-80.01,253.26,291.19,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4680"]="+proj=longlat +ellps=clrk80 +towgs84=124.5,-63.5,-281,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4682"]="+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs ";
Proj4js.defs["EPSG:4683"]="+proj=longlat +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +no_defs ";Proj4js.defs["EPSG:4684"]="+proj=longlat +ellps=intl +towgs84=-133,-321,50,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4686"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4687"]="+proj=longlat +ellps=GRS80 +no_defs ";Proj4js.defs["EPSG:4688"]="+proj=longlat +ellps=intl +towgs84=347.103,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074 +no_defs ";
Proj4js.defs["EPSG:4689"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4691"]="+proj=longlat +ellps=intl +towgs84=215.525,149.593,176.229,-3.2624,-1.692,-1.1571,10.4773 +no_defs ";Proj4js.defs["EPSG:4692"]="+proj=longlat +ellps=intl +towgs84=217.037,86.959,23.956,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4693"]="+proj=longlat +ellps=WGS84 +towgs84=0,-0.15,0.68,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4699"]="+proj=longlat +ellps=clrk80 +towgs84=-770.1,158.4,-498.2,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4701"]="+proj=longlat +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4708"]="+proj=longlat +ellps=aust_SA +towgs84=-491,-22,435,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4709"]="+proj=longlat +ellps=intl +towgs84=145,75,-272,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4710"]="+proj=longlat +ellps=intl +towgs84=-320,550,-494,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4711"]="+proj=longlat +ellps=intl +towgs84=124,-234,-25,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4713"]="+proj=longlat +ellps=clrk80 +towgs84=-79,-129,145,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4715"]="+proj=longlat +ellps=intl +towgs84=-104,-129,239,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4716"]="+proj=longlat +ellps=intl +towgs84=298,-304,-375,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4718"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4720"]="+proj=longlat +ellps=WGS72 +no_defs ";Proj4js.defs["EPSG:4721"]="+proj=longlat +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4722"]="+proj=longlat +ellps=intl +towgs84=-794,119,-298,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4723"]="+proj=longlat +ellps=clrk66 +towgs84=67.8,106.1,138.8,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4724"]="+proj=longlat +ellps=intl +towgs84=208,-435,-229,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4726"]="+proj=longlat +ellps=clrk66 +no_defs ";Proj4js.defs["EPSG:4730"]="+proj=longlat +ellps=intl +towgs84=170,42,84,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4732"]="+proj=longlat +a=6378270 +b=6356794.343434343 +towgs84=102,52,-38,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4739"]="+proj=longlat +ellps=intl +towgs84=-156,-271,-189,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4743"]="+proj=longlat +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4748"]="+proj=longlat +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4805"]="+proj=longlat +ellps=bessel +pm=ferro +no_defs ";Proj4js.defs["EPSG:4255"]="+proj=longlat +ellps=intl +towgs84=-333,-222,114,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:30791"]="+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:4307"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:30792"]="+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:30729"]="+proj=utm +zone=29 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:30730"]="+proj=utm +zone=30 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:30731"]="+proj=utm +zone=31 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:30732"]="+proj=utm +zone=32 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:4304"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:30491"]="+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:30492"]="+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:4220"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:22091"]="+proj=tmerc +lat_0=0 +lon_0=11.5 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:22092"]="+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:22032"]="+proj=utm +zone=32 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:22033"]="+proj=utm +zone=33 +south +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:4259"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:25932"]="+proj=utm +zone=32 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4264"]="+proj=longlat +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:26432"]="+proj=utm +zone=32 +south +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4701"]="+proj=longlat +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4176"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4698"]="+proj=longlat +ellps=intl +towgs84=145,-187,103,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4637"]="+proj=longlat +ellps=intl +towgs84=325,154,172,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4636"]="+proj=longlat +ellps=intl +towgs84=365,194,166,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4736"]="+proj=longlat +ellps=clrk80 +towgs84=260,12,-147,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4715"]="+proj=longlat +ellps=intl +towgs84=-104,-129,239,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4722"]="+proj=longlat +ellps=intl +towgs84=-794,119,-298,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3336"]="+proj=utm +zone=42 +south +ellps=intl +towgs84=145,-187,103,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3033"]="+proj=lcc +lat_1=-68.5 +lat_2=-74.5 +lat_0=-50 +lon_0=70 +x_0=6000000 +y_0=6000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3204"]="+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3205"]="+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3206"]="+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3207"]="+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-174 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3208"]="+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3209"]="+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3210"]="+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3211"]="+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3212"]="+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3213"]="+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3214"]="+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3215"]="+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3216"]="+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=114 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3217"]="+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=126 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3218"]="+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=138 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3219"]="+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3220"]="+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3221"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3222"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3223"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3224"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3225"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-18 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3226"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-6 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3227"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=6 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3228"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=18 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3229"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=30 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3230"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3231"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3232"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3233"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3234"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3235"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3236"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=114 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3237"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=126 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3238"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=138 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3239"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3240"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3241"]="+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=174 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3242"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-153 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3243"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-135 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3244"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-117 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3245"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-99 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3246"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-81 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3247"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-63 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3248"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-27 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3249"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-9 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3250"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=9 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3251"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=27 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3252"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=45 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3253"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=63 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3254"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=81 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3255"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=99 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3256"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=117 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3257"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=135 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3258"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=153 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3259"]="+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=171 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3260"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-168 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3261"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-144 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3262"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-120 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3263"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-96 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3264"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-72 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3265"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-48 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3266"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-24 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3267"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3268"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=24 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3269"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=48 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3270"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=72 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3271"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=96 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3272"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=120 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3273"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=144 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3274"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=168 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:3294"]="+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-78 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:2001"]="+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:4601"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:22191"]="+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:22192"]="+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:22193"]="+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:22194"]="+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:22195"]="+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:22196"]="+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:22197"]="+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4221"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:2315"]="+proj=utm +zone=19 +south +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:2316"]="+proj=utm +zone=20 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2083"]="+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4190"]="+proj=longlat +ellps=GRS80 +no_defs ";Proj4js.defs["EPSG:4190"]="+proj=longlat +ellps=GRS80 +no_defs ";Proj4js.defs["EPSG:22171"]="+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:22172"]="+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:22173"]="+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:22174"]="+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:22175"]="+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:22176"]="+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:22177"]="+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:4674"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4161"]="+proj=longlat +ellps=intl +towgs84=27.5,14,186.4,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4686"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2082"]="+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +towgs84=27.5,14,186.4,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2935"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=41.53333333333333 +k=1 +x_0=1300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2936"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=44.53333333333333 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2937"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=47.53333333333333 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28408"]="+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:20249"]="+proj=utm +zone=49 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20250"]="+proj=utm +zone=50 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20251"]="+proj=utm +zone=51 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20252"]="+proj=utm +zone=52 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20253"]="+proj=utm +zone=53 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20254"]="+proj=utm +zone=54 +south +ellps=aust_SA +units=m +no_defs ";
Proj4js.defs["EPSG:20255"]="+proj=utm +zone=55 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20256"]="+proj=utm +zone=56 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20257"]="+proj=utm +zone=57 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20349"]="+proj=utm +zone=49 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20350"]="+proj=utm +zone=50 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20351"]="+proj=utm +zone=51 +south +ellps=aust_SA +units=m +no_defs ";
Proj4js.defs["EPSG:20352"]="+proj=utm +zone=52 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20353"]="+proj=utm +zone=53 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20354"]="+proj=utm +zone=54 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20355"]="+proj=utm +zone=55 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20356"]="+proj=utm +zone=56 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20357"]="+proj=utm +zone=57 +south +ellps=aust_SA +units=m +no_defs ";
Proj4js.defs["EPSG:28348"]="+proj=utm +zone=48 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:28349"]="+proj=utm +zone=49 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:28350"]="+proj=utm +zone=50 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:28351"]="+proj=utm +zone=51 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:28352"]="+proj=utm +zone=52 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:28353"]="+proj=utm +zone=53 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:28354"]="+proj=utm +zone=54 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:28355"]="+proj=utm +zone=55 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:28356"]="+proj=utm +zone=56 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:28357"]="+proj=utm +zone=57 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:28358"]="+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3110"]="+proj=lcc +lat_1=-36 +lat_2=-38 +lat_0=-37 +lon_0=145 +x_0=2500000 +y_0=4500000 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:4203"]="+proj=longlat +ellps=aust_SA +no_defs ";Proj4js.defs["EPSG:4283"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4176"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:20248"]="+proj=utm +zone=48 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20258"]="+proj=utm +zone=58 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20348"]="+proj=utm +zone=48 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20358"]="+proj=utm +zone=58 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:4708"]="+proj=longlat +ellps=aust_SA +towgs84=-491,-22,435,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3107"]="+proj=lcc +lat_1=-28 +lat_2=-36 +lat_0=-32 +lon_0=135 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3111"]="+proj=lcc +lat_1=-36 +lat_2=-38 +lat_0=-37 +lon_0=145 +x_0=2500000 +y_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3112"]="+proj=lcc +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=134 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3113"]="+proj=tmerc +lat_0=-28 +lon_0=153 +k=0.99999 +x_0=50000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31251"]="+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m +no_defs ";
Proj4js.defs["EPSG:31252"]="+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m +no_defs ";Proj4js.defs["EPSG:31253"]="+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m +no_defs ";Proj4js.defs["EPSG:31254"]="+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:31255"]="+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";
Proj4js.defs["EPSG:31256"]="+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:31257"]="+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=150000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:31258"]="+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=450000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";
Proj4js.defs["EPSG:31259"]="+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=750000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:31281"]="+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs ";Proj4js.defs["EPSG:31282"]="+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs ";Proj4js.defs["EPSG:31283"]="+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs ";
Proj4js.defs["EPSG:31284"]="+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=150000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:31285"]="+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=450000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:31286"]="+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=750000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";
Proj4js.defs["EPSG:31288"]="+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=150000 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs ";Proj4js.defs["EPSG:31289"]="+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=450000 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs ";Proj4js.defs["EPSG:31290"]="+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=750000 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs ";Proj4js.defs["EPSG:2936"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=44.53333333333333 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2937"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=47.53333333333333 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2938"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=50.53333333333333 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28408"]="+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28409"]="+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2318"]="+proj=lcc +lat_1=17 +lat_2=33 +lat_0=25.08951 +lon_0=48 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:20499"]="+proj=utm +zone=39 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4204"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:20437"]="+proj=utm +zone=37 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:20438"]="+proj=utm +zone=38 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:20436"]="+proj=utm +zone=36 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:4682"]="+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs ";Proj4js.defs["EPSG:3106"]="+proj=tmerc +lat_0=0 +lon_0=90 +k=0.9996 +x_0=500000 +y_0=0 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs ";Proj4js.defs["EPSG:28406"]="+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21500"]="+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666666 +lat_0=90 +lon_0=0 +x_0=150000 +y_0=5400000 +ellps=intl +pm=brussels +units=m +no_defs ";
Proj4js.defs["EPSG:31370"]="+proj=lcc +lat_1=51.16666723333333 +lat_2=49.8333339 +lat_0=90 +lon_0=4.367486666666666 +x_0=150000.013 +y_0=5400088.438 +ellps=intl +towgs84=106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1 +units=m +no_defs ";Proj4js.defs["EPSG:4313"]="+proj=longlat +ellps=intl +towgs84=106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1 +no_defs ";Proj4js.defs["EPSG:4216"]="+proj=longlat +ellps=clrk66 +no_defs ";Proj4js.defs["EPSG:3770"]="+proj=tmerc +lat_0=32 +lon_0=-64.75 +k=1 +x_0=550000 +y_0=100000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:24879"]="+proj=utm +zone=19 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24880"]="+proj=utm +zone=20 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:29189"]="+proj=utm +zone=19 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29190"]="+proj=utm +zone=20 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29871"]="+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8714630401 +y_0=442857.653094361 +ellps=evrstSS +to_meter=20.11676512155263 +no_defs ";
Proj4js.defs["EPSG:29872"]="+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8727431979 +y_0=442857.6545573985 +ellps=evrstSS +to_meter=0.3047994715386762 +no_defs ";Proj4js.defs["EPSG:29873"]="+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.87 +y_0=442857.65 +ellps=evrstSS +units=m +no_defs ";Proj4js.defs["EPSG:4312"]="+proj=longlat +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +no_defs ";
Proj4js.defs["EPSG:20934"]="+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:20935"]="+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:29189"]="+proj=utm +zone=19 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29190"]="+proj=utm +zone=20 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29191"]="+proj=utm +zone=21 +south +ellps=aust_SA +units=m +no_defs ";
Proj4js.defs["EPSG:29192"]="+proj=utm +zone=22 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29193"]="+proj=utm +zone=23 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29194"]="+proj=utm +zone=24 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29195"]="+proj=utm +zone=25 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:4208"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:20822"]="+proj=utm +zone=22 +south +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:20823"]="+proj=utm +zone=23 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:20824"]="+proj=utm +zone=24 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4225"]="+proj=longlat +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:22523"]="+proj=utm +zone=23 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:22524"]="+proj=utm +zone=24 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:29101"]="+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:2309"]="+proj=tmerc +lat_0=0 +lon_0=116 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:2310"]="+proj=tmerc +lat_0=0 +lon_0=132 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:22521"]="+proj=utm +zone=21 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:22522"]="+proj=utm +zone=22 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:28404"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28405"]="+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2215"]="+proj=utm +zone=32 +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:4193"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4192"]="+proj=longlat +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3119"]="+proj=tmerc +lat_0=0 +lon_0=10.5 +k=0.999 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:32083"]="+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";
Proj4js.defs["EPSG:32084"]="+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:32085"]="+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:32086"]="+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:32181"]="+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:32182"]="+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32183"]="+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32184"]="+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32185"]="+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:32186"]="+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32187"]="+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32194"]="+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32081"]="+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";
Proj4js.defs["EPSG:32082"]="+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:32098"]="+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:32198"]="+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32180"]="+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2945"]="+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2946"]="+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2947"]="+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2948"]="+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2949"]="+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2950"]="+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2951"]="+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2952"]="+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2955"]="+proj=utm +zone=11 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2956"]="+proj=utm +zone=12 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2957"]="+proj=utm +zone=13 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2958"]="+proj=utm +zone=17 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2959"]="+proj=utm +zone=18 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2960"]="+proj=utm +zone=19 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2961"]="+proj=utm +zone=20 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2962"]="+proj=utm +zone=21 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2944"]="+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3154"]="+proj=utm +zone=7 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3155"]="+proj=utm +zone=8 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3156"]="+proj=utm +zone=9 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3157"]="+proj=utm +zone=10 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3158"]="+proj=utm +zone=14 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3159"]="+proj=utm +zone=15 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3160"]="+proj=utm +zone=16 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3161"]="+proj=lcc +lat_1=44.5 +lat_2=53.5 +lat_0=0 +lon_0=-85 +x_0=930000 +y_0=6430000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3162"]="+proj=lcc +lat_1=44.5 +lat_2=53.5 +lat_0=0 +lon_0=-85 +x_0=930000 +y_0=6430000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3401"]="+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3400"]="+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2200"]="+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=300000 +y_0=800000 +a=6378135 +b=6356750.304921594 +units=m +no_defs ";Proj4js.defs["EPSG:2953"]="+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=2500000 +y_0=7500000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:32188"]="+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32189"]="+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32190"]="+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32191"]="+proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:32192"]="+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32193"]="+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32195"]="+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32196"]="+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:32197"]="+proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2290"]="+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=700000 +y_0=400000 +a=6378135 +b=6356750.304921594 +units=m +no_defs ";Proj4js.defs["EPSG:2954"]="+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:32183"]="+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:32184"]="+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32185"]="+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32186"]="+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32187"]="+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:32198"]="+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3797"]="+proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=800000 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:3798"]="+proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=800000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3799"]="+proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2219"]="+proj=utm +zone=19 +a=6378135 +b=6356750.304921594 +units=m +no_defs ";Proj4js.defs["EPSG:2220"]="+proj=utm +zone=20 +a=6378135 +b=6356750.304921594 +units=m +no_defs ";Proj4js.defs["EPSG:2947"]="+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2294"]="+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=4500000 +y_0=0 +a=6378135 +b=6356750.304921594 +units=m +no_defs ";Proj4js.defs["EPSG:2295"]="+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=5500000 +y_0=0 +a=6378135 +b=6356750.304921594 +units=m +no_defs ";
Proj4js.defs["EPSG:3005"]="+proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3153"]="+proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:4723"]="+proj=longlat +ellps=clrk66 +towgs84=67.8,106.1,138.8,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4726"]="+proj=longlat +ellps=clrk66 +no_defs ";Proj4js.defs["EPSG:24877"]="+proj=utm +zone=17 +south +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:24878"]="+proj=utm +zone=18 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24879"]="+proj=utm +zone=19 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:29187"]="+proj=utm +zone=17 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29188"]="+proj=utm +zone=18 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29189"]="+proj=utm +zone=19 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:4719"]="+proj=longlat +ellps=intl +towgs84=211,147,111,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:2084"]="+proj=utm +zone=19 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4254"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:28413"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28414"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28415"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:28416"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28417"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28418"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28419"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:28420"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28421"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28422"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28423"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:21458"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21459"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21460"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21461"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21462"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:21463"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21453"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21454"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21455"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21456"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:21457"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21413"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21414"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21415"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21416"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:21417"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21418"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21419"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21420"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:21421"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21422"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21423"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2431"]="+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2432"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2433"]="+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2434"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2435"]="+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2436"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2437"]="+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2438"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2439"]="+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2440"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2441"]="+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2442"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2422"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2423"]="+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2424"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2425"]="+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2426"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2427"]="+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2428"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2429"]="+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2430"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2401"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2402"]="+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2403"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2404"]="+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2405"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2406"]="+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2407"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2408"]="+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2409"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2410"]="+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2411"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2412"]="+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2413"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2414"]="+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2415"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2416"]="+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2417"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2418"]="+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2419"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2420"]="+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2421"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:4214"]="+proj=longlat +ellps=krass +no_defs ";Proj4js.defs["EPSG:2343"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2344"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2345"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2346"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2347"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2348"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2338"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2339"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2340"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2341"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2342"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2327"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2328"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2329"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2330"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2331"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2332"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2333"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2334"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2335"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2336"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2337"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2379"]="+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2380"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2381"]="+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2382"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2383"]="+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2384"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2385"]="+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2386"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2387"]="+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2388"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2389"]="+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2390"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2370"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2371"]="+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2372"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2373"]="+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2374"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2375"]="+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2376"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2377"]="+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2378"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2349"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2350"]="+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2351"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2352"]="+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2353"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2354"]="+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2355"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2356"]="+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2357"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2358"]="+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2359"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2360"]="+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2361"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2362"]="+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2363"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2364"]="+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2365"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:2366"]="+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2367"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2368"]="+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";Proj4js.defs["EPSG:2369"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ";
Proj4js.defs["EPSG:4610"]="+proj=longlat +a=6378140 +b=6356755.288157528 +no_defs ";Proj4js.defs["EPSG:4218"]="+proj=longlat +ellps=intl +towgs84=307,304,-318,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:21818"]="+proj=utm +zone=18 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3114"]="+proj=tmerc +lat_0=4.596200416666666 +lon_0=-80.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3115"]="+proj=tmerc +lat_0=4.596200416666666 +lon_0=-77.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3116"]="+proj=tmerc +lat_0=4.596200416666666 +lon_0=-74.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3117"]="+proj=tmerc +lat_0=4.596200416666666 +lon_0=-71.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3118"]="+proj=tmerc +lat_0=4.596200416666666 +lon_0=-68.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:21896"]="+proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:21897"]="+proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:21898"]="+proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:21899"]="+proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4282"]="+proj=longlat +a=6378249.2 +b=6356515 +no_defs ";Proj4js.defs["EPSG:28232"]="+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +units=m +no_defs ";Proj4js.defs["EPSG:4701"]="+proj=longlat +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:31265"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";
Proj4js.defs["EPSG:31266"]="+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:31267"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:31268"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";
Proj4js.defs["EPSG:4312"]="+proj=longlat +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +no_defs ";Proj4js.defs["EPSG:3795"]="+proj=lcc +lat_1=23 +lat_2=21.7 +lat_0=22.35 +lon_0=-81 +x_0=500000 +y_0=280296.016 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:3796"]="+proj=lcc +lat_1=21.3 +lat_2=20.13333333333333 +lat_0=20.71666666666667 +lon_0=-76.83333333333333 +x_0=500000 +y_0=229126.939 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";
Proj4js.defs["EPSG:2065"]="+proj=krovak +lat_0=49.5 +lon_0=42.5 +alpha=30.28813972222222 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs ";Proj4js.defs["EPSG:4156"]="+proj=longlat +ellps=bessel +no_defs ";Proj4js.defs["EPSG:2198"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2196"]="+proj=tmerc +lat_0=0 +lon_0=9.5 +k=0.99995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:4713"]="+proj=longlat +ellps=clrk80 +towgs84=-79,-129,145,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:24817"]="+proj=utm +zone=17 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24818"]="+proj=utm +zone=18 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24877"]="+proj=utm +zone=17 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24878"]="+proj=utm +zone=18 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:29168"]="+proj=utm +zone=18 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29187"]="+proj=utm +zone=17 +south +ellps=aust_SA +units=m +no_defs ";
Proj4js.defs["EPSG:29188"]="+proj=utm +zone=18 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:22991"]="+proj=tmerc +lat_0=30 +lon_0=35 +k=1 +x_0=300000 +y_0=1100000 +ellps=helmert +units=m +no_defs ";Proj4js.defs["EPSG:22994"]="+proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=1200000 +ellps=helmert +units=m +no_defs ";Proj4js.defs["EPSG:4229"]="+proj=longlat +ellps=helmert +no_defs ";Proj4js.defs["EPSG:22993"]="+proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=200000 +ellps=helmert +units=m +no_defs ";
Proj4js.defs["EPSG:22992"]="+proj=tmerc +lat_0=30 +lon_0=31 +k=1 +x_0=615000 +y_0=810000 +ellps=helmert +units=m +no_defs ";Proj4js.defs["EPSG:4258"]="+proj=longlat +ellps=GRS80 +no_defs ";Proj4js.defs["EPSG:2157"]="+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=0.99982 +x_0=600000 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4173"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2158"]="+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:29902"]="+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m +no_defs ";Proj4js.defs["EPSG:4299"]="+proj=longlat +a=6377340.189 +b=6356034.447938534 +no_defs ";Proj4js.defs["EPSG:4188"]="+proj=longlat +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 +no_defs ";Proj4js.defs["EPSG:29901"]="+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1 +x_0=200000 +y_0=250000 +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 +units=m +no_defs ";
Proj4js.defs["EPSG:4262"]="+proj=longlat +ellps=bessel +towgs84=639,405,60,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:26237"]="+proj=utm +zone=37 +ellps=bessel +towgs84=639,405,60,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4133"]="+proj=longlat +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014 +no_defs ";Proj4js.defs["EPSG:3300"]="+proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.51755393055556 +lon_0=24 +x_0=500000 +y_0=6375000 +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014 +units=m +no_defs ";
Proj4js.defs["EPSG:3301"]="+proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.51755393055556 +lon_0=24 +x_0=500000 +y_0=6375000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4180"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4201"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:20135"]="+proj=utm +zone=35 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:20136"]="+proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:20137"]="+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:20138"]="+proj=utm +zone=38 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:4292"]="+proj=longlat +ellps=intl +towgs84=-355,21,72,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:29220"]="+proj=utm +zone=20 +south +ellps=intl +towgs84=-355,21,72,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:29221"]="+proj=utm +zone=21 +south +ellps=intl +towgs84=-355,21,72,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3460"]="+proj=tmerc +lat_0=-17 +lon_0=178.75 +k=0.99985 +x_0=2000000 +y_0=4000000 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:4720"]="+proj=longlat +ellps=WGS72 +no_defs ";Proj4js.defs["EPSG:4721"]="+proj=longlat +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4752"]="+proj=longlat +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4748"]="+proj=longlat +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:3141"]="+proj=utm +zone=60 +south +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3142"]="+proj=utm +zone=1 +south +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2391"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2392"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:2394"]="+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=4500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2393"]="+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4123"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:3067"]="+proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3126"]="+proj=tmerc +lat_0=0 +lon_0=19 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3127"]="+proj=tmerc +lat_0=0 +lon_0=20 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3128"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3129"]="+proj=tmerc +lat_0=0 +lon_0=22 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3130"]="+proj=tmerc +lat_0=0 +lon_0=23 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3131"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3132"]="+proj=tmerc +lat_0=0 +lon_0=25 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3133"]="+proj=tmerc +lat_0=0 +lon_0=26 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3134"]="+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3135"]="+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3136"]="+proj=tmerc +lat_0=0 +lon_0=29 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3137"]="+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3138"]="+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:4807"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +no_defs ";Proj4js.defs["EPSG:4171"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2154"]="+proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:4632"]="+proj=longlat +ellps=intl +towgs84=-382,-59,-262,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2980"]="+proj=utm +zone=38 +south +ellps=intl +towgs84=-382,-59,-262,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2192"]="+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.337229166666667 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4638"]="+proj=longlat +ellps=clrk66 +towgs84=30,430,368,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2987"]="+proj=utm +zone=21 +ellps=clrk66 +towgs84=30,430,368,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:4639"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:2988"]="+proj=utm +zone=1 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4275"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4626"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:3727"]="+proj=tmerc +lat_0=-21.11666666666667 +lon_0=55.53333333333333 +k=1 +x_0=160000 +y_0=50000 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4627"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:2975"]="+proj=utm +zone=40 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:27561"]="+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs ";Proj4js.defs["EPSG:27571"]="+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs ";
Proj4js.defs["EPSG:27562"]="+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs ";Proj4js.defs["EPSG:27572"]="+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs ";Proj4js.defs["EPSG:27563"]="+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs ";
Proj4js.defs["EPSG:27573"]="+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs ";Proj4js.defs["EPSG:27564"]="+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs ";Proj4js.defs["EPSG:27574"]="+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs ";
Proj4js.defs["EPSG:4687"]="+proj=longlat +ellps=GRS80 +no_defs ";Proj4js.defs["EPSG:3942"]="+proj=lcc +lat_1=41.25 +lat_2=42.75 +lat_0=42 +lon_0=3 +x_0=1700000 +y_0=1200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3943"]="+proj=lcc +lat_1=42.25 +lat_2=43.75 +lat_0=43 +lon_0=3 +x_0=1700000 +y_0=2200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3944"]="+proj=lcc +lat_1=43.25 +lat_2=44.75 +lat_0=44 +lon_0=3 +x_0=1700000 +y_0=3200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3945"]="+proj=lcc +lat_1=44.25 +lat_2=45.75 +lat_0=45 +lon_0=3 +x_0=1700000 +y_0=4200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3946"]="+proj=lcc +lat_1=45.25 +lat_2=46.75 +lat_0=46 +lon_0=3 +x_0=1700000 +y_0=5200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3947"]="+proj=lcc +lat_1=46.25 +lat_2=47.75 +lat_0=47 +lon_0=3 +x_0=1700000 +y_0=6200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3948"]="+proj=lcc +lat_1=47.25 +lat_2=48.75 +lat_0=48 +lon_0=3 +x_0=1700000 +y_0=7200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3949"]="+proj=lcc +lat_1=48.25 +lat_2=49.75 +lat_0=49 +lon_0=3 +x_0=1700000 +y_0=8200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3950"]="+proj=lcc +lat_1=49.25 +lat_2=50.75 +lat_0=50 +lon_0=3 +x_0=1700000 +y_0=9200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2978"]="+proj=utm +zone=7 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4629"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:2977"]="+proj=utm +zone=5 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4628"]="+proj=longlat +ellps=intl +towgs84=162,117,154,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2976"]="+proj=utm +zone=6 +south +ellps=intl +towgs84=162,117,154,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4662"]="+proj=longlat +ellps=intl +no_defs ";
Proj4js.defs["EPSG:4688"]="+proj=longlat +ellps=intl +towgs84=347.103,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074 +no_defs ";Proj4js.defs["EPSG:4689"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4691"]="+proj=longlat +ellps=intl +towgs84=215.525,149.593,176.229,-3.2624,-1.692,-1.1571,10.4773 +no_defs ";Proj4js.defs["EPSG:4692"]="+proj=longlat +ellps=intl +towgs84=217.037,86.959,23.956,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4687"]="+proj=longlat +ellps=GRS80 +no_defs ";
Proj4js.defs["EPSG:3296"]="+proj=utm +zone=5 +south +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3297"]="+proj=utm +zone=6 +south +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3298"]="+proj=utm +zone=7 +south +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3299"]="+proj=utm +zone=8 +south +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:4266"]="+proj=longlat +a=6378249.2 +b=6356515 +no_defs ";Proj4js.defs["EPSG:26632"]="+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs ";
Proj4js.defs["EPSG:26692"]="+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +units=m +no_defs ";Proj4js.defs["EPSG:2935"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=41.53333333333333 +k=1 +x_0=1300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2936"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=44.53333333333333 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2937"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=47.53333333333333 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:28407"]="+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28408"]="+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:31466"]="+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs ";Proj4js.defs["EPSG:31467"]="+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs ";
Proj4js.defs["EPSG:31468"]="+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs ";Proj4js.defs["EPSG:31469"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs ";Proj4js.defs["EPSG:4314"]="+proj=longlat +ellps=bessel +datum=potsdam +no_defs ";Proj4js.defs["EPSG:3068"]="+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 +x_0=40000 +y_0=10000 +ellps=bessel +datum=potsdam +units=m +no_defs ";
Proj4js.defs["EPSG:3396"]="+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:3397"]="+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:3399"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:3398"]="+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:3398"]="+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +units=m +no_defs ";
Proj4js.defs["EPSG:2136"]="+proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.99975 +x_0=274319.7391633579 +y_0=0 +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +to_meter=0.3047997101815088 +no_defs ";Proj4js.defs["EPSG:4168"]="+proj=longlat +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2137"]="+proj=tmerc +lat_0=0 +lon_0=-1 +k=0.9996 +x_0=500000 +y_0=0 +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:25000"]="+proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.99975 +x_0=274319.51 +y_0=0 +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4250"]="+proj=longlat +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4277"]="+proj=longlat +ellps=airy +datum=OSGB36 +no_defs ";Proj4js.defs["EPSG:27700"]="+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs ";
Proj4js.defs["EPSG:27700"]="+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs ";Proj4js.defs["EPSG:4121"]="+proj=longlat +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2100"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4196"]="+proj=longlat +ellps=intl +towgs84=-45,417,-3.5,0,0,0.814,-0.6 +no_defs ";
Proj4js.defs["EPSG:4194"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:2216"]="+proj=utm +zone=22 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2217"]="+proj=utm +zone=23 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4195"]="+proj=longlat +ellps=intl +towgs84=105,326,-102.5,0,0,0.814,-0.6 +no_defs ";Proj4js.defs["EPSG:4747"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3178"]="+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3179"]="+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3180"]="+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3181"]="+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3182"]="+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3183"]="+proj=utm +zone=23 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3184"]="+proj=utm +zone=24 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3185"]="+proj=utm +zone=25 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3186"]="+proj=utm +zone=26 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3187"]="+proj=utm +zone=27 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3188"]="+proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3189"]="+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2003"]="+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4603"]="+proj=longlat +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:32061"]="+proj=lcc +lat_1=16.81666666666667 +lat_0=16.81666666666667 +lon_0=-90.33333333333333 +k_0=0.99992226 +x_0=500000 +y_0=292209.579 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";
Proj4js.defs["EPSG:32062"]="+proj=lcc +lat_1=14.9 +lat_0=14.9 +lon_0=-90.33333333333333 +k_0=0.99989906 +x_0=500000 +y_0=325992.681 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:4315"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:31528"]="+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31529"]="+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:4155"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3461"]="+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3462"]="+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4165"]="+proj=longlat +ellps=intl +towgs84=-173,253,27,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2095"]="+proj=utm +zone=28 +ellps=intl +towgs84=-173,253,27,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:24820"]="+proj=utm +zone=20 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24821"]="+proj=utm +zone=21 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:29170"]="+proj=utm +zone=20 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29171"]="+proj=utm +zone=21 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:4623"]="+proj=longlat +ellps=intl +towgs84=-186,230,110,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2971"]="+proj=utm +zone=22 +ellps=intl +towgs84=-186,230,110,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:4624"]="+proj=longlat +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2972"]="+proj=utm +zone=22 +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:32649"]="+proj=utm +zone=49 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32650"]="+proj=utm +zone=50 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:4738"]="+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs ";Proj4js.defs["EPSG:2326"]="+proj=tmerc +lat_0=22.31213333333334 +lon_0=114.1785555555556 +k=1 +x_0=836694.05 +y_0=819069.8 +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425 +units=m +no_defs ";
Proj4js.defs["EPSG:4611"]="+proj=longlat +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425 +no_defs ";Proj4js.defs["EPSG:4739"]="+proj=longlat +ellps=intl +towgs84=-156,-271,-189,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:23700"]="+proj=somerc +lat_0=47.14439372222222 +lon_0=19.04857177777778 +k_0=0.99993 +x_0=650000 +y_0=200000 +ellps=GRS67 +units=m +no_defs ";Proj4js.defs["EPSG:4237"]="+proj=longlat +ellps=GRS67 +no_defs ";Proj4js.defs["EPSG:4658"]="+proj=longlat +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:3057"]="+proj=lcc +lat_1=64.25 +lat_2=65.75 +lat_0=65 +lon_0=-19 +x_0=500000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4659"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4657"]="+proj=longlat +a=6377019.27 +b=6355762.5391 +towgs84=-28,199,5,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3054"]="+proj=utm +zone=26 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3055"]="+proj=utm +zone=27 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3056"]="+proj=utm +zone=28 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:24370"]="+proj=lcc +lat_1=39.5 +lat_0=39.5 +lon_0=68 +k_0=0.99846154 +x_0=2153865.73916853 +y_0=2368292.194628102 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs ";Proj4js.defs["EPSG:24371"]="+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs ";
Proj4js.defs["EPSG:24372"]="+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs ";Proj4js.defs["EPSG:24382"]="+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs ";Proj4js.defs["EPSG:24373"]="+proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs ";
Proj4js.defs["EPSG:24374"]="+proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs ";Proj4js.defs["EPSG:3176"]="+proj=tmerc +lat_0=0 +lon_0=106 +k=0.9996 +x_0=500000 +y_0=0 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs ";Proj4js.defs["EPSG:3148"]="+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs ";Proj4js.defs["EPSG:3149"]="+proj=utm +zone=49 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs ";
Proj4js.defs["EPSG:4239"]="+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:23946"]="+proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:23947"]="+proj=utm +zone=47 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:23948"]="+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:4131"]="+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs ";Proj4js.defs["EPSG:4240"]="+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs ";Proj4js.defs["EPSG:24047"]="+proj=utm +zone=47 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs ";Proj4js.defs["EPSG:24048"]="+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs ";Proj4js.defs["EPSG:24375"]="+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743185.69 +y_0=914395.23 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs ";
Proj4js.defs["EPSG:4144"]="+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs ";Proj4js.defs["EPSG:24305"]="+proj=utm +zone=45 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs ";Proj4js.defs["EPSG:24306"]="+proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs ";Proj4js.defs["EPSG:24376"]="+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs ";Proj4js.defs["EPSG:24377"]="+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs ";
Proj4js.defs["EPSG:4145"]="+proj=longlat +a=6377301.243 +b=6356100.230165384 +no_defs ";Proj4js.defs["EPSG:24311"]="+proj=utm +zone=41 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs ";Proj4js.defs["EPSG:24312"]="+proj=utm +zone=42 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs ";Proj4js.defs["EPSG:24313"]="+proj=utm +zone=43 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs ";Proj4js.defs["EPSG:24378"]="+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:24379"]="+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:24380"]="+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:24381"]="+proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:24383"]="+proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4146"]="+proj=longlat +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:24342"]="+proj=utm +zone=42 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:24343"]="+proj=utm +zone=43 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:24344"]="+proj=utm +zone=44 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:24345"]="+proj=utm +zone=45 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:24346"]="+proj=utm +zone=46 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:24347"]="+proj=utm +zone=47 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:4682"]="+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs ";Proj4js.defs["EPSG:4211"]="+proj=longlat +ellps=bessel +no_defs ";Proj4js.defs["EPSG:3001"]="+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:2308"]="+proj=tmerc +lat_0=0 +lon_0=109 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:21148"]="+proj=utm +zone=48 +south +ellps=bessel +units=m +no_defs ";
Proj4js.defs["EPSG:21149"]="+proj=utm +zone=49 +south +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:21150"]="+proj=utm +zone=50 +south +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:4219"]="+proj=longlat +ellps=bessel +towgs84=-384,664,-48,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4238"]="+proj=longlat +a=6378160 +b=6356774.50408554 +no_defs ";Proj4js.defs["EPSG:23846"]="+proj=utm +zone=46 +a=6378160 +b=6356774.50408554 +units=m +no_defs ";Proj4js.defs["EPSG:23847"]="+proj=utm +zone=47 +a=6378160 +b=6356774.50408554 +units=m +no_defs ";
Proj4js.defs["EPSG:23887"]="+proj=utm +zone=47 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs ";Proj4js.defs["EPSG:23848"]="+proj=utm +zone=48 +a=6378160 +b=6356774.50408554 +units=m +no_defs ";Proj4js.defs["EPSG:23888"]="+proj=utm +zone=48 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs ";Proj4js.defs["EPSG:23849"]="+proj=utm +zone=49 +a=6378160 +b=6356774.50408554 +units=m +no_defs ";Proj4js.defs["EPSG:23889"]="+proj=utm +zone=49 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs ";
Proj4js.defs["EPSG:23850"]="+proj=utm +zone=50 +a=6378160 +b=6356774.50408554 +units=m +no_defs ";Proj4js.defs["EPSG:23890"]="+proj=utm +zone=50 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs ";Proj4js.defs["EPSG:23851"]="+proj=utm +zone=51 +a=6378160 +b=6356774.50408554 +units=m +no_defs ";Proj4js.defs["EPSG:23891"]="+proj=utm +zone=51 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs ";Proj4js.defs["EPSG:23852"]="+proj=utm +zone=52 +a=6378160 +b=6356774.50408554 +units=m +no_defs ";
Proj4js.defs["EPSG:23892"]="+proj=utm +zone=52 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs ";Proj4js.defs["EPSG:23893"]="+proj=utm +zone=53 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs ";Proj4js.defs["EPSG:23894"]="+proj=utm +zone=54 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs ";Proj4js.defs["EPSG:4257"]="+proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3002"]="+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2933"]="+proj=utm +zone=50 +south +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:4613"]="+proj=longlat +ellps=bessel +no_defs ";Proj4js.defs["EPSG:3000"]="+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:4755"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:23866"]="+proj=utm +zone=46 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:23867"]="+proj=utm +zone=47 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:23868"]="+proj=utm +zone=48 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:23869"]="+proj=utm +zone=49 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:23870"]="+proj=utm +zone=50 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:23871"]="+proj=utm +zone=51 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:23872"]="+proj=utm +zone=52 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:23877"]="+proj=utm +zone=47 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:23878"]="+proj=utm +zone=48 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:23879"]="+proj=utm +zone=49 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:23880"]="+proj=utm +zone=50 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:23881"]="+proj=utm +zone=51 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:23882"]="+proj=utm +zone=52 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:23883"]="+proj=utm +zone=53 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:23884"]="+proj=utm +zone=54 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2057"]="+proj=omerc +lat_0=27.51882880555555 +lonc=52.60353916666667 +alpha=0.5716611944444444 +k=0.999895934 +x_0=658377.437 +y_0=3044969.194 +ellps=intl +towgs84=-133.63,-157.5,-158.62,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:4153"]="+proj=longlat +ellps=intl +towgs84=-133.63,-157.5,-158.62,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4693"]="+proj=longlat +ellps=WGS84 +towgs84=0,-0.15,0.68,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3200"]="+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:4132"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:4667"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4743"]="+proj=longlat +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4141"]="+proj=longlat +ellps=GRS80 +towgs84=-48,55,52,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2039"]="+proj=tmerc +lat_0=31.73439361111111 +lon_0=35.20451694444445 +k=1.0000067 +x_0=219529.584 +y_0=626907.39 +ellps=GRS80 +towgs84=-48,55,52,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3003"]="+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:3004"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4265"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4143"]="+proj=longlat +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2165"]="+proj=tmerc +lat_0=0 +lon_0=-5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2043"]="+proj=utm +zone=29 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2041"]="+proj=utm +zone=30 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4142"]="+proj=longlat +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2164"]="+proj=tmerc +lat_0=0 +lon_0=-5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2040"]="+proj=utm +zone=30 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2042"]="+proj=utm +zone=29 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:24200"]="+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=250000 +y_0=150000 +ellps=clrk66 +units=m +no_defs ";Proj4js.defs["EPSG:4242"]="+proj=longlat +ellps=clrk66 +no_defs ";Proj4js.defs["EPSG:2443"]="+proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2444"]="+proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2445"]="+proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2446"]="+proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2447"]="+proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2448"]="+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2449"]="+proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2450"]="+proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2451"]="+proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2452"]="+proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2453"]="+proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2454"]="+proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2456"]="+proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2457"]="+proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2458"]="+proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2459"]="+proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2460"]="+proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2461"]="+proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:4612"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:30161"]="+proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:30162"]="+proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:30163"]="+proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:30164"]="+proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";
Proj4js.defs["EPSG:30169"]="+proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:30165"]="+proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:30166"]="+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:30167"]="+proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";
Proj4js.defs["EPSG:30168"]="+proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:30170"]="+proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:30171"]="+proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:30172"]="+proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";
Proj4js.defs["EPSG:30173"]="+proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:30174"]="+proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:30175"]="+proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:30176"]="+proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";
Proj4js.defs["EPSG:30177"]="+proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:30178"]="+proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:30179"]="+proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:3092"]="+proj=utm +zone=51 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:3093"]="+proj=utm +zone=52 +ellps=bessel +units=m +no_defs ";
Proj4js.defs["EPSG:3094"]="+proj=utm +zone=53 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:3095"]="+proj=utm +zone=54 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:3096"]="+proj=utm +zone=55 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:4301"]="+proj=longlat +ellps=bessel +no_defs ";Proj4js.defs["EPSG:2443"]="+proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2444"]="+proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2445"]="+proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2446"]="+proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2447"]="+proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2448"]="+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2449"]="+proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2450"]="+proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2451"]="+proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2452"]="+proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2453"]="+proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2454"]="+proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2455"]="+proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2456"]="+proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2457"]="+proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2458"]="+proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2459"]="+proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2460"]="+proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2461"]="+proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3097"]="+proj=utm +zone=51 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3098"]="+proj=utm +zone=52 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3099"]="+proj=utm +zone=53 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3100"]="+proj=utm +zone=54 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3101"]="+proj=utm +zone=55 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4709"]="+proj=longlat +ellps=intl +towgs84=145,75,-272,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4711"]="+proj=longlat +ellps=intl +towgs84=124,-234,-25,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3066"]="+proj=tmerc +lat_0=0 +lon_0=37 +k=0.9998 +x_0=500000 +y_0=-3000000 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2939"]="+proj=tmerc +lat_0=0.1333333333333333 +lon_0=50.76666666666667 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2940"]="+proj=tmerc +lat_0=0.1333333333333333 +lon_0=53.76666666666667 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2941"]="+proj=tmerc +lat_0=0.1333333333333333 +lon_0=56.76666666666667 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28409"]="+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28410"]="+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:28411"]="+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28412"]="+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21096"]="+proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21036"]="+proj=utm +zone=36 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21097"]="+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:21037"]="+proj=utm +zone=37 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:2311"]="+proj=tmerc +lat_0=0 +lon_0=6 +k=0.9996 +x_0=500000 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:28412"]="+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:4166"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4737"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:20438"]="+proj=utm +zone=38 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24600"]="+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +towgs84=-294.7,-200.1,525.5,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4246"]="+proj=longlat +ellps=clrk80 +towgs84=-294.7,-200.1,525.5,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4319"]="+proj=longlat +ellps=GRS80 +no_defs ";Proj4js.defs["EPSG:4667"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:31901"]="+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:4661"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3059"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=-6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4251"]="+proj=longlat +ellps=clrk80 +towgs84=-90,40,88,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2073"]="+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:2074"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2075"]="+proj=tmerc +lat_0=0 +lon_0=23 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2076"]="+proj=tmerc +lat_0=0 +lon_0=25 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2068"]="+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:2069"]="+proj=tmerc +lat_0=0 +lon_0=11 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2070"]="+proj=tmerc +lat_0=0 +lon_0=13 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2071"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2072"]="+proj=tmerc +lat_0=0 +lon_0=17 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:2087"]="+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2077"]="+proj=utm +zone=32 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2078"]="+proj=utm +zone=33 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2079"]="+proj=utm +zone=34 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2080"]="+proj=utm +zone=35 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4159"]="+proj=longlat +ellps=intl +no_defs ";
Proj4js.defs["EPSG:4754"]="+proj=longlat +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3177"]="+proj=tmerc +lat_0=0 +lon_0=17 +k=0.9965000000000001 +x_0=1000000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3190"]="+proj=tmerc +lat_0=0 +lon_0=9 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3191"]="+proj=tmerc +lat_0=0 +lon_0=11 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3192"]="+proj=tmerc +lat_0=0 +lon_0=13 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3193"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3194"]="+proj=tmerc +lat_0=0 +lon_0=17 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3195"]="+proj=tmerc +lat_0=0 +lon_0=19 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3196"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3197"]="+proj=tmerc +lat_0=0 +lon_0=23 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3198"]="+proj=tmerc +lat_0=0 +lon_0=25 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3199"]="+proj=utm +zone=32 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3201"]="+proj=utm +zone=33 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3202"]="+proj=utm +zone=34 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3203"]="+proj=utm +zone=35 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3346"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9998 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4669"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2169"]="+proj=tmerc +lat_0=49.83333333333334 +lon_0=6.166666666666667 +k=1 +x_0=80000 +y_0=100000 +ellps=intl +towgs84=-193,13.7,-39.3,-0.41,-2.933,2.688,0.43 +units=m +no_defs ";
Proj4js.defs["EPSG:4181"]="+proj=longlat +ellps=intl +towgs84=-193,13.7,-39.3,-0.41,-2.933,2.688,0.43 +no_defs ";Proj4js.defs["EPSG:29738"]="+proj=utm +zone=38 +south +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:29739"]="+proj=utm +zone=39 +south +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4297"]="+proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:20936"]="+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";
Proj4js.defs["EPSG:3167"]="+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=40000 +y_0=0 +a=6377295.664 +b=6356094.667915204 +to_meter=20.116756 +no_defs ";Proj4js.defs["EPSG:24547"]="+proj=utm +zone=47 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:24548"]="+proj=utm +zone=48 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4245"]="+proj=longlat +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4298"]="+proj=longlat +ellps=evrstSS +no_defs ";Proj4js.defs["EPSG:29871"]="+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8714630401 +y_0=442857.653094361 +ellps=evrstSS +to_meter=20.11676512155263 +no_defs ";Proj4js.defs["EPSG:29872"]="+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8727431979 +y_0=442857.6545573985 +ellps=evrstSS +to_meter=0.3047994715386762 +no_defs ";Proj4js.defs["EPSG:29873"]="+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.87 +y_0=442857.65 +ellps=evrstSS +units=m +no_defs ";
Proj4js.defs["EPSG:29849"]="+proj=utm +zone=49 +ellps=evrstSS +units=m +no_defs ";Proj4js.defs["EPSG:29850"]="+proj=utm +zone=50 +ellps=evrstSS +units=m +no_defs ";Proj4js.defs["EPSG:4261"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:26191"]="+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=-5.4 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:26194"]="+proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.999616304 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:26195"]="+proj=lcc +lat_1=22.5 +lat_0=22.5 +lon_0=-5.4 +k_0=0.999616437 +x_0=1500000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:26192"]="+proj=lcc +lat_1=29.7 +lat_0=29.7 +lon_0=-5.4 +k_0=0.9996155960000001 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4699"]="+proj=longlat +ellps=clrk80 +towgs84=-770.1,158.4,-498.2,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:31965"]="+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31966"]="+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31967"]="+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31968"]="+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4130"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +no_defs ";
Proj4js.defs["EPSG:3036"]="+proj=utm +zone=36 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3037"]="+proj=utm +zone=37 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2736"]="+proj=utm +zone=36 +south +ellps=clrk66 +units=m +no_defs ";Proj4js.defs["EPSG:4127"]="+proj=longlat +ellps=clrk66 +no_defs ";Proj4js.defs["EPSG:2737"]="+proj=utm +zone=37 +south +ellps=clrk66 +units=m +no_defs ";Proj4js.defs["EPSG:24382"]="+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs ";
Proj4js.defs["EPSG:4293"]="+proj=longlat +ellps=bess_nam +no_defs ";Proj4js.defs["EPSG:29333"]="+proj=utm +zone=33 +south +ellps=bess_nam +units=m +no_defs ";Proj4js.defs["EPSG:28992"]="+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:28991"]="+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:4289"]="+proj=longlat +ellps=bessel +no_defs ";
Proj4js.defs["EPSG:24819"]="+proj=utm +zone=19 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:29169"]="+proj=utm +zone=19 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:4633"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:2981"]="+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4644"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:2998"]="+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4643"]="+proj=longlat +ellps=intl +towgs84=-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7 +no_defs ";
Proj4js.defs["EPSG:2997"]="+proj=utm +zone=58 +south +ellps=intl +towgs84=-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7 +units=m +no_defs ";Proj4js.defs["EPSG:4642"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:2996"]="+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4749"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4641"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4662"]="+proj=longlat +ellps=intl +no_defs ";
Proj4js.defs["EPSG:2995"]="+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:3060"]="+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:3163"]="+proj=lcc +lat_1=-20.66666666666667 +lat_2=-22.33333333333333 +lat_0=-21.5 +lon_0=166 +x_0=400000 +y_0=300000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3164"]="+proj=utm +zone=58 +south +ellps=WGS84 +towgs84=-56.263,16.136,-22.856,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3165"]="+proj=lcc +lat_1=-22.24469175 +lat_2=-22.29469175 +lat_0=-22.26969175 +lon_0=166.44242575 +x_0=0.66 +y_0=1.02 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:3166"]="+proj=lcc +lat_1=-22.24472222222222 +lat_2=-22.29472222222222 +lat_0=-22.26972222222222 +lon_0=166.4425 +x_0=8.313000000000001 +y_0=-2.354 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:3169"]="+proj=utm +zone=57 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3170"]="+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3171"]="+proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3172"]="+proj=utm +zone=59 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4672"]="+proj=longlat +ellps=intl +towgs84=175,-38,113,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4167"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:2119"]="+proj=tmerc +lat_0=-42.68888888888888 +lon_0=173.01 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2106"]="+proj=tmerc +lat_0=-37.76111111111111 +lon_0=176.4661111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2132"]="+proj=tmerc +lat_0=-46.6 +lon_0=168.3427777777778 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2117"]="+proj=tmerc +lat_0=-41.81055555555555 +lon_0=171.5811111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2114"]="+proj=tmerc +lat_0=-40.71472222222223 +lon_0=172.6719444444444 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2125"]="+proj=tmerc +lat_0=-43.74861111111111 +lon_0=171.3605555555555 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2118"]="+proj=tmerc +lat_0=-42.33361111111111 +lon_0=171.5497222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2108"]="+proj=tmerc +lat_0=-39.65083333333333 +lon_0=176.6736111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2121"]="+proj=tmerc +lat_0=-42.88611111111111 +lon_0=170.9797222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2123"]="+proj=tmerc +lat_0=-43.97777777777778 +lon_0=168.6061111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2116"]="+proj=tmerc +lat_0=-41.28972222222222 +lon_0=172.1088888888889 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2127"]="+proj=tmerc +lat_0=-44.735 +lon_0=169.4675 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2120"]="+proj=tmerc +lat_0=-41.54444444444444 +lon_0=173.8019444444444 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2105"]="+proj=tmerc +lat_0=-36.87972222222222 +lon_0=174.7641666666667 +k=0.9999 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2128"]="+proj=tmerc +lat_0=-45.13277777777778 +lon_0=168.3986111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2124"]="+proj=tmerc +lat_0=-43.59055555555556 +lon_0=172.7269444444445 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2129"]="+proj=tmerc +lat_0=-45.56361111111111 +lon_0=167.7386111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2115"]="+proj=tmerc +lat_0=-41.27444444444444 +lon_0=173.2991666666667 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2131"]="+proj=tmerc +lat_0=-45.86138888888889 +lon_0=170.2825 +k=0.99996 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2130"]="+proj=tmerc +lat_0=-45.81611111111111 +lon_0=170.6283333333333 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2122"]="+proj=tmerc +lat_0=-43.11 +lon_0=170.2608333333333 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2107"]="+proj=tmerc +lat_0=-38.62444444444444 +lon_0=177.8855555555556 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2109"]="+proj=tmerc +lat_0=-39.13555555555556 +lon_0=174.2277777777778 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2126"]="+proj=tmerc +lat_0=-44.40194444444445 +lon_0=171.0572222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2110"]="+proj=tmerc +lat_0=-39.51222222222222 +lon_0=175.64 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2133"]="+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2134"]="+proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2135"]="+proj=utm +zone=60 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2112"]="+proj=tmerc +lat_0=-40.92527777777777 +lon_0=175.6472222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2111"]="+proj=tmerc +lat_0=-40.24194444444444 +lon_0=175.4880555555555 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2113"]="+proj=tmerc +lat_0=-41.3011111111111 +lon_0=174.7763888888889 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:27219"]="+proj=tmerc +lat_0=-42.68911658333333 +lon_0=173.0101333888889 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27206"]="+proj=tmerc +lat_0=-37.76124980555556 +lon_0=176.46619725 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27232"]="+proj=tmerc +lat_0=-46.60000961111111 +lon_0=168.342872 +k=1 +x_0=300002.66 +y_0=699999.58 +ellps=intl +datum=nzgd49 +units=m +no_defs ";
Proj4js.defs["EPSG:27217"]="+proj=tmerc +lat_0=-41.81080286111111 +lon_0=171.5812600555556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27214"]="+proj=tmerc +lat_0=-40.71475905555556 +lon_0=172.6720465 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27225"]="+proj=tmerc +lat_0=-43.74871155555556 +lon_0=171.3607484722222 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";
Proj4js.defs["EPSG:27218"]="+proj=tmerc +lat_0=-42.33369427777778 +lon_0=171.5497713055556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27208"]="+proj=tmerc +lat_0=-39.65092930555556 +lon_0=176.6736805277778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27221"]="+proj=tmerc +lat_0=-42.88632236111111 +lon_0=170.9799935 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";
Proj4js.defs["EPSG:27223"]="+proj=tmerc +lat_0=-43.97780288888889 +lon_0=168.606267 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27216"]="+proj=tmerc +lat_0=-41.28991152777778 +lon_0=172.1090281944444 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27227"]="+proj=tmerc +lat_0=-44.73526797222222 +lon_0=169.4677550833333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";
Proj4js.defs["EPSG:27220"]="+proj=tmerc +lat_0=-41.54448666666666 +lon_0=173.8020741111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27205"]="+proj=tmerc +lat_0=-36.87986527777778 +lon_0=174.7643393611111 +k=0.9999 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27228"]="+proj=tmerc +lat_0=-45.13290258333333 +lon_0=168.3986411944444 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";
Proj4js.defs["EPSG:27224"]="+proj=tmerc +lat_0=-43.59063758333333 +lon_0=172.7271935833333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27229"]="+proj=tmerc +lat_0=-45.56372616666666 +lon_0=167.7388617777778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27215"]="+proj=tmerc +lat_0=-41.27454472222222 +lon_0=173.2993168055555 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";
Proj4js.defs["EPSG:27291"]="+proj=tmerc +lat_0=-39 +lon_0=175.5 +k=1 +x_0=274319.5243848086 +y_0=365759.3658464114 +ellps=intl +datum=nzgd49 +to_meter=0.9143984146160287 +no_defs ";Proj4js.defs["EPSG:27231"]="+proj=tmerc +lat_0=-45.86151336111111 +lon_0=170.2825891111111 +k=0.99996 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27230"]="+proj=tmerc +lat_0=-45.81619661111111 +lon_0=170.6285951666667 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";
Proj4js.defs["EPSG:27222"]="+proj=tmerc +lat_0=-43.11012813888889 +lon_0=170.2609258333333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27207"]="+proj=tmerc +lat_0=-38.62470277777778 +lon_0=177.8856362777778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27292"]="+proj=tmerc +lat_0=-44 +lon_0=171.5 +k=1 +x_0=457199.2073080143 +y_0=457199.2073080143 +ellps=intl +datum=nzgd49 +to_meter=0.9143984146160287 +no_defs ";
Proj4js.defs["EPSG:27209"]="+proj=tmerc +lat_0=-39.13575830555556 +lon_0=174.22801175 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27226"]="+proj=tmerc +lat_0=-44.40222036111111 +lon_0=171.0572508333333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27210"]="+proj=tmerc +lat_0=-39.51247038888889 +lon_0=175.6400368055556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";
Proj4js.defs["EPSG:27258"]="+proj=utm +zone=58 +south +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27259"]="+proj=utm +zone=59 +south +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27260"]="+proj=utm +zone=60 +south +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27212"]="+proj=tmerc +lat_0=-40.92553263888889 +lon_0=175.6473496666667 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:27211"]="+proj=tmerc +lat_0=-40.24194713888889 +lon_0=175.4880996111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";
Proj4js.defs["EPSG:27213"]="+proj=tmerc +lat_0=-41.30131963888888 +lon_0=174.7766231111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:2193"]="+proj=tmerc +lat_0=0 +lon_0=173 +k=0.9996 +x_0=1600000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:27200"]="+proj=nzmg +lat_0=-41 +lon_0=173 +x_0=2510000 +y_0=6023150 +ellps=intl +datum=nzgd49 +units=m +no_defs ";Proj4js.defs["EPSG:4673"]="+proj=longlat +ellps=intl +towgs84=174.05,-25.49,112.57,-0,-0,0.554,0.2263 +no_defs ";
Proj4js.defs["EPSG:2197"]="+proj=tmerc +lat_0=0 +lon_0=12 +k=0.99995 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:4263"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:26393"]="+proj=tmerc +lat_0=4 +lon_0=12.5 +k=0.99975 +x_0=1110369.7 +y_0=0 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:26392"]="+proj=tmerc +lat_0=4 +lon_0=8.5 +k=0.99975 +x_0=670553.98 +y_0=0 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:26391"]="+proj=tmerc +lat_0=4 +lon_0=4.5 +k=0.99975 +x_0=230738.26 +y_0=0 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:26331"]="+proj=utm +zone=31 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:26332"]="+proj=utm +zone=32 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:27391"]="+proj=tmerc +lat_0=58 +lon_0=-4.666666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs ";Proj4js.defs["EPSG:27392"]="+proj=tmerc +lat_0=58 +lon_0=-2.333333333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs ";
Proj4js.defs["EPSG:27394"]="+proj=tmerc +lat_0=58 +lon_0=2.5 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs ";Proj4js.defs["EPSG:27395"]="+proj=tmerc +lat_0=58 +lon_0=6.166666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs ";Proj4js.defs["EPSG:27396"]="+proj=tmerc +lat_0=58 +lon_0=10.16666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs ";
Proj4js.defs["EPSG:27397"]="+proj=tmerc +lat_0=58 +lon_0=14.16666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs ";Proj4js.defs["EPSG:27398"]="+proj=tmerc +lat_0=58 +lon_0=18.33333333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs ";Proj4js.defs["EPSG:4273"]="+proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +no_defs ";
Proj4js.defs["EPSG:4660"]="+proj=longlat +ellps=intl +towgs84=982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805 +no_defs ";Proj4js.defs["EPSG:3058"]="+proj=tmerc +lat_0=0 +lon_0=-8.5 +k=1 +x_0=50000 +y_0=-7800000 +ellps=intl +towgs84=982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805 +units=m +no_defs ";Proj4js.defs["EPSG:4232"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:23239"]="+proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:23240"]="+proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:27038"]="+proj=utm +zone=38 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:27039"]="+proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:27040"]="+proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:4270"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:4134"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:3439"]="+proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:3440"]="+proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:27037"]="+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:24370"]="+proj=lcc +lat_1=39.5 +lat_0=39.5 +lon_0=68 +k_0=0.99846154 +x_0=2153865.73916853 +y_0=2368292.194628102 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs ";Proj4js.defs["EPSG:4281"]="+proj=longlat +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +no_defs ";Proj4js.defs["EPSG:28191"]="+proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m +no_defs ";
Proj4js.defs["EPSG:28192"]="+proj=tmerc +lat_0=31.73409694444445 +lon_0=35.21208055555556 +k=1 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m +no_defs ";Proj4js.defs["EPSG:28193"]="+proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m +no_defs ";Proj4js.defs["EPSG:4224"]="+proj=longlat +ellps=intl +towgs84=-134,229,-29,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:24877"]="+proj=utm +zone=17 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24878"]="+proj=utm +zone=18 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24879"]="+proj=utm +zone=19 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:29187"]="+proj=utm +zone=17 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29188"]="+proj=utm +zone=18 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29189"]="+proj=utm +zone=19 +south +ellps=aust_SA +units=m +no_defs ";
Proj4js.defs["EPSG:24892"]="+proj=tmerc +lat_0=-9.5 +lon_0=-76 +k=0.99932994 +x_0=720000 +y_0=1039979.159 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24893"]="+proj=tmerc +lat_0=-9.5 +lon_0=-70.5 +k=0.99952992 +x_0=1324000 +y_0=1040084.558 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24891"]="+proj=tmerc +lat_0=-6 +lon_0=-80.5 +k=0.99983008 +x_0=222000 +y_0=1426834.743 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4253"]="+proj=longlat +ellps=clrk66 +no_defs ";
Proj4js.defs["EPSG:25391"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs ";Proj4js.defs["EPSG:25392"]="+proj=tmerc +lat_0=0 +lon_0=119 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs ";Proj4js.defs["EPSG:25393"]="+proj=tmerc +lat_0=0 +lon_0=121 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs ";Proj4js.defs["EPSG:25394"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs ";
Proj4js.defs["EPSG:25395"]="+proj=tmerc +lat_0=0 +lon_0=125 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs ";Proj4js.defs["EPSG:4683"]="+proj=longlat +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +no_defs ";Proj4js.defs["EPSG:3121"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs ";Proj4js.defs["EPSG:3122"]="+proj=tmerc +lat_0=0 +lon_0=119 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs ";
Proj4js.defs["EPSG:3123"]="+proj=tmerc +lat_0=0 +lon_0=121 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs ";Proj4js.defs["EPSG:3124"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs ";Proj4js.defs["EPSG:3125"]="+proj=tmerc +lat_0=0 +lon_0=125 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs ";
Proj4js.defs["EPSG:2176"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=0.999923 +x_0=5500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2177"]="+proj=tmerc +lat_0=0 +lon_0=18 +k=0.999923 +x_0=6500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2178"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=0.999923 +x_0=7500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2179"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=0.999923 +x_0=8500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2180"]="+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9993 +x_0=500000 +y_0=-5300000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2172"]="+proj=sterea +lat_0=53.00194444444445 +lon_0=21.50277777777778 +k=0.9998 +x_0=4603000 +y_0=5806000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs ";Proj4js.defs["EPSG:2173"]="+proj=sterea +lat_0=53.58333333333334 +lon_0=17.00833333333333 +k=0.9998 +x_0=3501000 +y_0=5999000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs ";
Proj4js.defs["EPSG:2174"]="+proj=sterea +lat_0=51.67083333333333 +lon_0=16.67222222222222 +k=0.9998 +x_0=3703000 +y_0=5627000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs ";Proj4js.defs["EPSG:2175"]="+proj=tmerc +lat_0=0 +lon_0=18.95833333333333 +k=0.999983 +x_0=237000 +y_0=-4700000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs ";Proj4js.defs["EPSG:3120"]="+proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0.9998 +x_0=4637000 +y_0=5467000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs ";
Proj4js.defs["EPSG:2189"]="+proj=utm +zone=26 +ellps=intl +towgs84=-104,167,-38,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4183"]="+proj=longlat +ellps=intl +towgs84=-104,167,-38,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2188"]="+proj=utm +zone=25 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2190"]="+proj=utm +zone=26 +ellps=intl +towgs84=-203,141,53,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4274"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:27493"]="+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=180.598 +y_0=-86.98999999999999 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:27429"]="+proj=utm +zone=29 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4207"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4615"]="+proj=longlat +ellps=intl +towgs84=-499,-249,314,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4182"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:2942"]="+proj=utm +zone=28 +ellps=intl +towgs84=-499,-249,314,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4184"]="+proj=longlat +ellps=intl +towgs84=-203,141,53,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4616"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:2943"]="+proj=utm +zone=28 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4663"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4664"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4665"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4666"]="+proj=longlat +ellps=bessel +no_defs ";Proj4js.defs["EPSG:3061"]="+proj=utm +zone=28 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:3062"]="+proj=utm +zone=26 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:3063"]="+proj=utm +zone=26 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4286"]="+proj=longlat +ellps=helmert +no_defs ";Proj4js.defs["EPSG:4285"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:28600"]="+proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.99999 +x_0=200000 +y_0=300000 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4614"]="+proj=longlat +ellps=intl +towgs84=-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706 +no_defs ";
Proj4js.defs["EPSG:2932"]="+proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.99999 +x_0=200000 +y_0=300000 +ellps=intl +towgs84=-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706 +units=m +no_defs ";Proj4js.defs["EPSG:2099"]="+proj=cass +lat_0=25.38236111111111 +lon_0=50.76138888888889 +x_0=100000 +y_0=100000 +ellps=helmert +units=m +no_defs ";Proj4js.defs["EPSG:22234"]="+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:22235"]="+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";
Proj4js.defs["EPSG:22236"]="+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:4148"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4316"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:31600"]="+proj=sterea +lat_0=45.9 +lon_0=25.39246588888889 +k=0.9996667 +x_0=500000 +y_0=500000 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:20437"]="+proj=utm +zone=37 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:20438"]="+proj=utm +zone=38 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:20499"]="+proj=utm +zone=39 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:31265"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:31266"]="+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";
Proj4js.defs["EPSG:31267"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:31268"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:4312"]="+proj=longlat +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +no_defs ";Proj4js.defs["EPSG:4175"]="+proj=longlat +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:2161"]="+proj=utm +zone=28 +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2162"]="+proj=utm +zone=29 +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:24500"]="+proj=cass +lat_0=1.287646666666667 +lon_0=103.8530022222222 +x_0=30000 +y_0=30000 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:24547"]="+proj=utm +zone=47 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:24548"]="+proj=utm +zone=48 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4245"]="+proj=longlat +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2065"]="+proj=krovak +lat_0=49.5 +lon_0=42.5 +alpha=30.28813972222222 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs ";Proj4js.defs["EPSG:4156"]="+proj=longlat +ellps=bessel +no_defs ";Proj4js.defs["EPSG:31265"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";
Proj4js.defs["EPSG:31266"]="+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:31267"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:31268"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";
Proj4js.defs["EPSG:4312"]="+proj=longlat +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +no_defs ";Proj4js.defs["EPSG:4205"]="+proj=longlat +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:20538"]="+proj=utm +zone=38 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:20539"]="+proj=utm +zone=39 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4728"]="+proj=longlat +ellps=intl +towgs84=-307,-92,127,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4244"]="+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=-97,787,86,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4201"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:20135"]="+proj=utm +zone=35 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:20136"]="+proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:20137"]="+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:20138"]="+proj=utm +zone=38 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:4620"]="+proj=longlat +ellps=clrk80 +towgs84=-106,-129,165,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:24821"]="+proj=utm +zone=21 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:29171"]="+proj=utm +zone=21 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:4311"]="+proj=longlat +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:31171"]="+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9999 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:31170"]="+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31154"]="+proj=tmerc +lat_0=0 +lon_0=-54 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31121"]="+proj=utm +zone=21 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3019"]="+proj=tmerc +lat_0=0 +lon_0=11.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs ";
Proj4js.defs["EPSG:3020"]="+proj=tmerc +lat_0=0 +lon_0=13.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:3021"]="+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:3022"]="+proj=tmerc +lat_0=0 +lon_0=18.05827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:3023"]="+proj=tmerc +lat_0=0 +lon_0=20.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs ";
Proj4js.defs["EPSG:3024"]="+proj=tmerc +lat_0=0 +lon_0=22.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs ";Proj4js.defs["EPSG:4124"]="+proj=longlat +ellps=bessel +no_defs ";Proj4js.defs["EPSG:4619"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3006"]="+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3007"]="+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3008"]="+proj=tmerc +lat_0=0 +lon_0=13.5 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3009"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3010"]="+proj=tmerc +lat_0=0 +lon_0=16.5 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3011"]="+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3012"]="+proj=tmerc +lat_0=0 +lon_0=14.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3013"]="+proj=tmerc +lat_0=0 +lon_0=15.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3014"]="+proj=tmerc +lat_0=0 +lon_0=17.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3015"]="+proj=tmerc +lat_0=0 +lon_0=18.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3016"]="+proj=tmerc +lat_0=0 +lon_0=20.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3017"]="+proj=tmerc +lat_0=0 +lon_0=21.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3018"]="+proj=tmerc +lat_0=0 +lon_0=23.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3152"]="+proj=tmerc +lat_0=0 +lon_0=18.05779 +k=0.99999425 +x_0=100178.1808 +y_0=-6500614.7836 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:21780"]="+proj=somerc +lat_0=46.95240555555556 +lon_0=0 +k_0=1 +x_0=0 +y_0=0 +ellps=bessel +pm=bern +units=m +no_defs ";Proj4js.defs["EPSG:4149"]="+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4150"]="+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2056"]="+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=2600000 +y_0=1200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:4151"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4149"]="+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:21781"]="+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:21781"]="+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:22780"]="+proj=sterea +lat_0=34.2 +lon_0=39.15 +k=0.9995341 +x_0=0 +y_0=0 +a=6378249.2 +b=6356515 +units=m +no_defs ";Proj4js.defs["EPSG:4227"]="+proj=longlat +a=6378249.2 +b=6356515 +no_defs ";Proj4js.defs["EPSG:22770"]="+proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs ";Proj4js.defs["EPSG:28412"]="+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:4236"]="+proj=longlat +ellps=intl +towgs84=-637,-549,-203,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3821"]="+proj=longlat +ellps=aust_SA +no_defs ";Proj4js.defs["EPSG:3824"]="+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs ";Proj4js.defs["EPSG:21035"]="+proj=utm +zone=35 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21036"]="+proj=utm +zone=36 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21037"]="+proj=utm +zone=37 +south +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:2311"]="+proj=tmerc +lat_0=0 +lon_0=6 +k=0.9996 +x_0=500000 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:4158"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:2067"]="+proj=utm +zone=20 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4271"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:27120"]="+proj=utm +zone=20 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4302"]="+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs ";
Proj4js.defs["EPSG:30200"]="+proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392051999 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.201166195164 +no_defs ";Proj4js.defs["EPSG:2314"]="+proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392052001 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.3047972654 +no_defs ";Proj4js.defs["EPSG:4223"]="+proj=longlat +a=6378249.2 +b=6356515 +no_defs ";
Proj4js.defs["EPSG:22391"]="+proj=lcc +lat_1=36 +lat_0=36 +lon_0=9.9 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs ";Proj4js.defs["EPSG:22392"]="+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=9.9 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs ";Proj4js.defs["EPSG:2088"]="+proj=tmerc +lat_0=0 +lon_0=11 +k=0.9996 +x_0=500000 +y_0=0 +a=6378249.2 +b=6356515 +units=m +no_defs ";Proj4js.defs["EPSG:22332"]="+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs ";
Proj4js.defs["EPSG:32635"]="+proj=utm +zone=35 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32637"]="+proj=utm +zone=37 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32638"]="+proj=utm +zone=38 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:28409"]="+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28410"]="+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:28411"]="+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21095"]="+proj=utm +zone=35 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21035"]="+proj=utm +zone=35 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21096"]="+proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21036"]="+proj=utm +zone=36 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:28406"]="+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:28407"]="+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:26729"]="+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26730"]="+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26929"]="+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26930"]="+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2759"]="+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2760"]="+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:26731"]="+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000.001016002 +y_0=-5000000.001016002 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26732"]="+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26733"]="+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26734"]="+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26735"]="+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26736"]="+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26737"]="+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=213360.4267208534 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26738"]="+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26739"]="+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26740"]="+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=914401.8288036576 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26931"]="+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26932"]="+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:26933"]="+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26934"]="+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26935"]="+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26936"]="+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:26937"]="+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26938"]="+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26939"]="+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26940"]="+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:26749"]="+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26748"]="+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26750"]="+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26949"]="+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2223"]="+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:26948"]="+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2222"]="+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:26950"]="+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2224"]="+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:2762"]="+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2868"]="+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:2761"]="+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2867"]="+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:2763"]="+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2869"]="+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:26751"]="+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26752"]="+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26951"]="+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:3433"]="+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26952"]="+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3434"]="+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2764"]="+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3441"]="+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2765"]="+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3442"]="+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26741"]="+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26742"]="+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26743"]="+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26744"]="+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26745"]="+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26746"]="+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26799"]="+proj=lcc +lat_1=34.41666666666666 +lat_2=33.86666666666667 +lat_0=34.13333333333333 +lon_0=-118.3333333333333 +x_0=1276106.450596901 +y_0=1268253.006858014 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26941"]="+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2225"]="+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26942"]="+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2226"]="+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26943"]="+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2227"]="+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26944"]="+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2228"]="+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26945"]="+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2229"]="+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26946"]="+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2230"]="+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2766"]="+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2870"]="+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2767"]="+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2871"]="+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2768"]="+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2872"]="+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2769"]="+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2873"]="+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2770"]="+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2874"]="+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2771"]="+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2875"]="+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:3309"]="+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:3310"]="+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3311"]="+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:26754"]="+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26753"]="+proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26755"]="+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26954"]="+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2232"]="+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26953"]="+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2231"]="+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26955"]="+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2233"]="+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2773"]="+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2877"]="+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2772"]="+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2876"]="+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2774"]="+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2878"]="+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26756"]="+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26956"]="+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2234"]="+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2775"]="+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2879"]="+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26757"]="+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26957"]="+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2235"]="+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2776"]="+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2880"]="+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26758"]="+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26760"]="+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26759"]="+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26958"]="+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2236"]="+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26960"]="+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2238"]="+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26959"]="+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2237"]="+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2777"]="+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2881"]="+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2779"]="+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2883"]="+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2778"]="+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2882"]="+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:4717"]="+proj=longlat +ellps=clrk66 +towgs84=-2,151,181,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3086"]="+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:3087"]="+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:26766"]="+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26767"]="+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26966"]="+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2239"]="+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26967"]="+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2240"]="+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2780"]="+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2884"]="+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2781"]="+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2885"]="+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32164"]="+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32165"]="+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32166"]="+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32167"]="+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32664"]="+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32665"]="+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32666"]="+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32667"]="+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26961"]="+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26962"]="+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26963"]="+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:3759"]="+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26964"]="+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26965"]="+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2782"]="+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2783"]="+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2784"]="+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3760"]="+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2785"]="+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2786"]="+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:4135"]="+proj=longlat +ellps=clrk66 +no_defs ";Proj4js.defs["EPSG:3561"]="+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:3562"]="+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:3563"]="+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:3564"]="+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:3565"]="+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26769"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26768"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26770"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26969"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2242"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26968"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2241"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26970"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2243"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2788"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2887"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2787"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2886"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2789"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2888"]="+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26771"]="+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26772"]="+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26971"]="+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3435"]="+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26972"]="+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:3436"]="+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2790"]="+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3443"]="+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2791"]="+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3444"]="+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26773"]="+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26774"]="+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26973"]="+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2965"]="+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26974"]="+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2966"]="+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2792"]="+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2967"]="+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2793"]="+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2968"]="+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26775"]="+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26776"]="+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26975"]="+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:3417"]="+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.9999898402 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26976"]="+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3418"]="+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2794"]="+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3425"]="+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.9999898402 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2795"]="+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3426"]="+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26777"]="+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26778"]="+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26977"]="+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3419"]="+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26978"]="+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:3420"]="+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2796"]="+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3427"]="+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2797"]="+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3428"]="+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26779"]="+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26780"]="+proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2205"]="+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2246"]="+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26980"]="+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2247"]="+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2798"]="+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2891"]="+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2799"]="+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2892"]="+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:3088"]="+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3089"]="+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:3090"]="+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3091"]="+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26781"]="+proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666666 +lat_0=30.66666666666667 +lon_0=-92.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32099"]="+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-91.33333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26981"]="+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3451"]="+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32199"]="+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:3453"]="+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2800"]="+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3456"]="+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2801"]="+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3457"]="+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:3452"]="+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26982"]="+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26782"]="+proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.66666666666667 +lon_0=-91.33333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26783"]="+proj=tmerc +lat_0=43.83333333333334 +lon_0=-68.5 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26784"]="+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26983"]="+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26847"]="+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26984"]="+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26848"]="+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2802"]="+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:26855"]="+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2803"]="+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:26856"]="+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:3463"]="+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3072"]="+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0.99998 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3074"]="+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0.99998 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3075"]="+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0.99998 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3464"]="+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3077"]="+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0.99998 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:26785"]="+proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.83333333333334 +lon_0=-77 +x_0=243840.4876809754 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26985"]="+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2248"]="+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2804"]="+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2893"]="+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26786"]="+proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26986"]="+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2249"]="+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26987"]="+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2250"]="+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2805"]="+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2806"]="+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2894"]="+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2895"]="+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26787"]="+proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333333 +lat_0=41 +lon_0=-70.5 +x_0=60960.12192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26812"]="+proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.33333333333333 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26811"]="+proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26813"]="+proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.33333333333333 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26989"]="+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2252"]="+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:26988"]="+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2251"]="+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:26990"]="+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2253"]="+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:2808"]="+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2897"]="+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:2807"]="+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2896"]="+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:2809"]="+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2898"]="+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:3078"]="+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26801"]="+proj=tmerc +lat_0=41.5 +lon_0=-83.66666666666667 +k=0.999942857 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:4268"]="+proj=longlat +a=6378450.047548896 +b=6356826.621488444 +no_defs ";Proj4js.defs["EPSG:26802"]="+proj=tmerc +lat_0=41.5 +lon_0=-85.75 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26803"]="+proj=tmerc +lat_0=41.5 +lon_0=-88.75 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:3079"]="+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:26792"]="+proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=45 +lon_0=-94.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26791"]="+proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26793"]="+proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666667 +lat_0=43 +lon_0=-94 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26992"]="+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26850"]="+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26991"]="+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26849"]="+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26993"]="+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:26851"]="+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2811"]="+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:26858"]="+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2810"]="+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:26857"]="+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2812"]="+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:26859"]="+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26794"]="+proj=tmerc +lat_0=29.66666666666667 +lon_0=-88.83333333333333 +k=0.99996 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26795"]="+proj=tmerc +lat_0=30.5 +lon_0=-90.33333333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26994"]="+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2254"]="+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26995"]="+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2255"]="+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2813"]="+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2899"]="+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2814"]="+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2900"]="+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26797"]="+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26796"]="+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26798"]="+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26997"]="+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:26996"]="+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26998"]="+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=850000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2816"]="+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2815"]="+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2817"]="+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=850000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:32002"]="+proj=lcc +lat_1=47.88333333333333 +lat_2=46.45 +lat_0=45.83333333333334 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32001"]="+proj=lcc +lat_1=48.71666666666667 +lat_2=47.85 +lat_0=47 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32003"]="+proj=lcc +lat_1=46.4 +lat_2=44.86666666666667 +lat_0=44 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32100"]="+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2256"]="+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:2818"]="+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2901"]="+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:32005"]="+proj=lcc +lat_1=41.85 +lat_2=42.81666666666667 +lat_0=41.33333333333334 +lon_0=-100 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32006"]="+proj=lcc +lat_1=40.28333333333333 +lat_2=41.71666666666667 +lat_0=39.66666666666666 +lon_0=-99.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32104"]="+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26852"]="+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2819"]="+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:26860"]="+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32008"]="+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32007"]="+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32009"]="+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32108"]="+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:3422"]="+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32107"]="+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3421"]="+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32109"]="+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3423"]="+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2821"]="+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3430"]="+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2820"]="+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3429"]="+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2822"]="+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3431"]="+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32010"]="+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32110"]="+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3437"]="+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2823"]="+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3445"]="+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32011"]="+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.66666666666667 +k=0.9999749999999999 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32111"]="+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:3424"]="+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2824"]="+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3432"]="+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32013"]="+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32012"]="+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32014"]="+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32113"]="+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2258"]="+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32112"]="+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2257"]="+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32114"]="+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2259"]="+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2826"]="+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2903"]="+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2825"]="+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2902"]="+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2827"]="+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2904"]="+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32016"]="+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32015"]="+proj=tmerc +lat_0=40 +lon_0=-74.33333333333333 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32017"]="+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32116"]="+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2261"]="+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32115"]="+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2260"]="+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32118"]="+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2263"]="+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32117"]="+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2262"]="+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2829"]="+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2906"]="+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2828"]="+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2905"]="+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2831"]="+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2908"]="+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2830"]="+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2907"]="+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32019"]="+proj=lcc +lat_1=34.33333333333334 +lat_2=36.16666666666666 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32119"]="+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2264"]="+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:3358"]="+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3404"]="+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32020"]="+proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-100.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32021"]="+proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32120"]="+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32121"]="+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2832"]="+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2833"]="+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2265"]="+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:2266"]="+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:2909"]="+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:2910"]="+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:32022"]="+proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32023"]="+proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333333 +lat_0=38 +lon_0=-82.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32122"]="+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:3734"]="+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32123"]="+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3735"]="+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2834"]="+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3753"]="+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2835"]="+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3754"]="+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32024"]="+proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666667 +lat_0=35 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32025"]="+proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32124"]="+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2267"]="+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32125"]="+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2268"]="+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2836"]="+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2911"]="+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2837"]="+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2912"]="+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32026"]="+proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32027"]="+proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32126"]="+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2269"]="+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:32127"]="+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2270"]="+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:2838"]="+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2913"]="+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:2839"]="+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2914"]="+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:2992"]="+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:2993"]="+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2994"]="+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:2991"]="+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:32028"]="+proj=lcc +lat_1=40.88333333333333 +lat_2=41.95 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32128"]="+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2271"]="+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32129"]="+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2272"]="+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:3362"]="+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3363"]="+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:3364"]="+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3365"]="+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32030"]="+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9999938 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32130"]="+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3438"]="+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2840"]="+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3446"]="+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32031"]="+proj=lcc +lat_1=33.76666666666667 +lat_2=34.96666666666667 +lat_0=33 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32033"]="+proj=lcc +lat_1=32.33333333333334 +lat_2=33.66666666666666 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32133"]="+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2273"]="+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:3360"]="+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3361"]="+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs ";Proj4js.defs["EPSG:32034"]="+proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32035"]="+proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32134"]="+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32135"]="+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:3455"]="+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2841"]="+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3458"]="+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2842"]="+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3459"]="+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2204"]="+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.66666666666666 +lon_0=-86 +x_0=609601.2192024384 +y_0=30480.06096012192 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32136"]="+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2274"]="+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2843"]="+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2915"]="+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32039"]="+proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32037"]="+proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32038"]="+proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666667 +lat_0=31.66666666666667 +lon_0=-97.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32041"]="+proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32040"]="+proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32139"]="+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2277"]="+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32137"]="+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2275"]="+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32138"]="+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2276"]="+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32141"]="+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2279"]="+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32140"]="+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2278"]="+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2846"]="+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2918"]="+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2844"]="+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2845"]="+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2917"]="+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2916"]="+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2848"]="+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2847"]="+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2919"]="+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2920"]="+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:3080"]="+proj=lcc +lat_1=27.41666666666667 +lat_2=34.91666666666666 +lat_0=31.16666666666667 +lon_0=-100 +x_0=914400 +y_0=914400 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:3082"]="+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3083"]="+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3084"]="+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3085"]="+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:32043"]="+proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32042"]="+proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32044"]="+proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32143"]="+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3566"]="+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=2000000.00001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2281"]="+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:32142"]="+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3560"]="+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=999999.9999898402 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2280"]="+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:32144"]="+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3567"]="+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2282"]="+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:2850"]="+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3569"]="+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=2000000.00001016 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2922"]="+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:2849"]="+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3568"]="+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=999999.9999898402 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2921"]="+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:2851"]="+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3570"]="+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0=3000000 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2923"]="+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +to_meter=0.3048 +no_defs ";
Proj4js.defs["EPSG:32045"]="+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32145"]="+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2852"]="+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:32046"]="+proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32047"]="+proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32146"]="+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2283"]="+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32147"]="+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2284"]="+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2853"]="+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2924"]="+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2854"]="+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2925"]="+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32048"]="+proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-120.8333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32049"]="+proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32148"]="+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2285"]="+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32149"]="+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2286"]="+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2855"]="+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2926"]="+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2856"]="+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2927"]="+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32050"]="+proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32051"]="+proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333333 +lat_0=37 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32150"]="+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26853"]="+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32151"]="+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:26854"]="+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2857"]="+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:26861"]="+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2858"]="+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:26862"]="+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:3069"]="+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=500000 +y_0=-4500000 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";
Proj4js.defs["EPSG:3070"]="+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32053"]="+proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333334 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32052"]="+proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32054"]="+proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32153"]="+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2288"]="+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32152"]="+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2287"]="+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32154"]="+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2289"]="+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2860"]="+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2929"]="+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:2859"]="+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2928"]="+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2861"]="+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2930"]="+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:3071"]="+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:32055"]="+proj=tmerc +lat_0=40.66666666666666 +lon_0=-105.1666666666667 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32056"]="+proj=tmerc +lat_0=40.66666666666666 +lon_0=-107.3333333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32058"]="+proj=tmerc +lat_0=40.66666666666666 +lon_0=-110.0833333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32057"]="+proj=tmerc +lat_0=40.66666666666666 +lon_0=-108.75 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32155"]="+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3736"]="+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32156"]="+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:3737"]="+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32158"]="+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3739"]="+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32157"]="+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:3738"]="+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2862"]="+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2863"]="+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3756"]="+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:3755"]="+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2865"]="+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2864"]="+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3757"]="+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:3758"]="+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32161"]="+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2866"]="+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2195"]="+proj=utm +zone=2 +south +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:4169"]="+proj=longlat +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4675"]="+proj=longlat +ellps=clrk66 +towgs84=-100,-248,259,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4725"]="+proj=longlat +ellps=intl +towgs84=189,-79,-202,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4727"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4139"]="+proj=longlat +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3991"]="+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:3992"]="+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=30480.06096012192 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:3920"]="+proj=utm +zone=20 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4735"]="+proj=longlat +ellps=intl +towgs84=647,1777,-1124,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4733"]="+proj=longlat +ellps=intl +towgs84=276,-57,149,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4707"]="+proj=longlat +ellps=intl +towgs84=114,-116,-333,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4732"]="+proj=longlat +a=6378270 +b=6356794.343434343 +towgs84=102,52,-38,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:3102"]="+proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=-170 +k_0=1 +x_0=152400.3048006096 +y_0=95169.31165862332 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:4309"]="+proj=longlat +ellps=intl +towgs84=-155,171,37,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:28406"]="+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28407"]="+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:28408"]="+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28409"]="+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28410"]="+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28411"]="+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28412"]="+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:28424"]="+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28425"]="+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28426"]="+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28427"]="+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:28428"]="+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28429"]="+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28430"]="+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28431"]="+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:28432"]="+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:3388"]="+proj=merc +lon_0=51 +k=1 +x_0=0 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2935"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=41.53333333333333 +k=1 +x_0=1300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2936"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=44.53333333333333 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2937"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=47.53333333333333 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2938"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=50.53333333333333 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2939"]="+proj=tmerc +lat_0=0.1333333333333333 +lon_0=50.76666666666667 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2940"]="+proj=tmerc +lat_0=0.1333333333333333 +lon_0=53.76666666666667 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2941"]="+proj=tmerc +lat_0=0.1333333333333333 +lon_0=56.76666666666667 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2508"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2509"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2510"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2511"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2512"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2513"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2514"]="+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2515"]="+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2516"]="+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2517"]="+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2518"]="+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2519"]="+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2522"]="+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2520"]="+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2521"]="+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2494"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2495"]="+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2496"]="+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2497"]="+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2498"]="+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2499"]="+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2500"]="+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2501"]="+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2502"]="+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2503"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2504"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2505"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2506"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2507"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2610"]="+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2611"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2612"]="+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2613"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2614"]="+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2615"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2616"]="+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2617"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2618"]="+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2619"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2620"]="+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2621"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2622"]="+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2623"]="+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2624"]="+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2625"]="+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2626"]="+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2627"]="+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2628"]="+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2629"]="+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2630"]="+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2631"]="+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2632"]="+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2640"]="+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2633"]="+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2639"]="+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2634"]="+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2638"]="+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2635"]="+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2637"]="+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2636"]="+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2582"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2583"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2584"]="+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2585"]="+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2586"]="+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2587"]="+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2588"]="+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2589"]="+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2590"]="+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2591"]="+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2592"]="+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2593"]="+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2594"]="+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2595"]="+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2596"]="+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2597"]="+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2598"]="+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2599"]="+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2601"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2602"]="+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2603"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2604"]="+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2605"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2606"]="+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2607"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2608"]="+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2609"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2526"]="+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2527"]="+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2528"]="+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2529"]="+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2530"]="+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2531"]="+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2532"]="+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2533"]="+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2534"]="+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2535"]="+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2536"]="+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2537"]="+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2538"]="+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2539"]="+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2540"]="+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2541"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2542"]="+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2543"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2544"]="+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2545"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2546"]="+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2547"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2548"]="+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2549"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2551"]="+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2552"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2553"]="+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2554"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2555"]="+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2556"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2557"]="+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2558"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2559"]="+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2560"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2561"]="+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2562"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2563"]="+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2564"]="+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2565"]="+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2566"]="+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2567"]="+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2568"]="+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2569"]="+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2570"]="+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2571"]="+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2572"]="+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2573"]="+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2574"]="+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2575"]="+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2576"]="+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:3389"]="+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2578"]="+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2579"]="+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2580"]="+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2581"]="+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2523"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2524"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2525"]="+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:4284"]="+proj=longlat +ellps=krass +no_defs ";Proj4js.defs["EPSG:4179"]="+proj=longlat +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +no_defs ";
Proj4js.defs["EPSG:4178"]="+proj=longlat +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +no_defs ";Proj4js.defs["EPSG:2726"]="+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2727"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2728"]="+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2729"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2730"]="+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2731"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2732"]="+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2733"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2734"]="+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2735"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2738"]="+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2739"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2740"]="+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2741"]="+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2742"]="+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2743"]="+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2744"]="+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2745"]="+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2746"]="+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2747"]="+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2748"]="+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2749"]="+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2750"]="+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2758"]="+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2751"]="+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2757"]="+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2752"]="+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2756"]="+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2753"]="+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2755"]="+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2754"]="+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2699"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2700"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2701"]="+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2702"]="+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2703"]="+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2704"]="+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2705"]="+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2706"]="+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2707"]="+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2708"]="+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2709"]="+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2710"]="+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2711"]="+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2712"]="+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2713"]="+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2714"]="+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2715"]="+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2716"]="+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2717"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2718"]="+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2719"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2720"]="+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2721"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2722"]="+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2723"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2724"]="+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2725"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2644"]="+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2645"]="+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2646"]="+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2647"]="+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2648"]="+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2649"]="+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2650"]="+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2651"]="+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2652"]="+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2653"]="+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2654"]="+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2655"]="+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2656"]="+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2657"]="+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2658"]="+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2659"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2660"]="+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2661"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2662"]="+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2663"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2664"]="+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2665"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2666"]="+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2667"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2668"]="+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2669"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2670"]="+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2671"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2672"]="+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2673"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2674"]="+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2675"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2676"]="+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2677"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2678"]="+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2679"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2680"]="+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2681"]="+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2682"]="+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2683"]="+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2684"]="+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2685"]="+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2686"]="+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2687"]="+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2688"]="+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2689"]="+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2690"]="+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2691"]="+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2692"]="+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2693"]="+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:3390"]="+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2695"]="+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2696"]="+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2697"]="+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2698"]="+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2641"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2642"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2643"]="+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:3146"]="+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:3147"]="+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:28410"]="+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28411"]="+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28412"]="+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:4714"]="+proj=longlat +ellps=intl +towgs84=-127,-769,472,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:32618"]="+proj=utm +zone=18 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32619"]="+proj=utm +zone=19 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32620"]="+proj=utm +zone=20 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:24818"]="+proj=utm +zone=18 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24819"]="+proj=utm +zone=19 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24820"]="+proj=utm +zone=20 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:29168"]="+proj=utm +zone=18 +ellps=aust_SA +units=m +no_defs ";
Proj4js.defs["EPSG:29169"]="+proj=utm +zone=19 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29170"]="+proj=utm +zone=20 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:4247"]="+proj=longlat +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:24718"]="+proj=utm +zone=18 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:24719"]="+proj=utm +zone=19 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:24720"]="+proj=utm +zone=20 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2201"]="+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4189"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2202"]="+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2203"]="+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2093"]="+proj=tmerc +lat_0=0 +lon_0=106 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2044"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2045"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4147"]="+proj=longlat +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:2001"]="+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:4601"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:2002"]="+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=725,685,536,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4602"]="+proj=longlat +ellps=clrk80 +towgs84=725,685,536,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4625"]="+proj=longlat +ellps=intl +no_defs ";
Proj4js.defs["EPSG:2973"]="+proj=utm +zone=20 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4621"]="+proj=longlat +ellps=intl +towgs84=137,248,-430,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2969"]="+proj=utm +zone=20 +ellps=intl +towgs84=137,248,-430,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2003"]="+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4603"]="+proj=longlat +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:2004"]="+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=174,359,365,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4604"]="+proj=longlat +ellps=clrk80 +towgs84=174,359,365,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4158"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:2067"]="+proj=utm +zone=20 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4271"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:27120"]="+proj=utm +zone=20 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:2970"]="+proj=utm +zone=20 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2005"]="+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:4605"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:2006"]="+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=-149,128,296,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4606"]="+proj=longlat +ellps=clrk80 +towgs84=-149,128,296,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4212"]="+proj=longlat +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4607"]="+proj=longlat +ellps=clrk80 +towgs84=195.671,332.517,274.607,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2007"]="+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=195.671,332.517,274.607,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:21291"]="+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:21292"]="+proj=tmerc +lat_0=13.17638888888889 +lon_0=-59.55972222222222 +k=0.9999986 +x_0=30000 +y_0=75000 +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2395"]="+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2396"]="+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:4164"]="+proj=longlat +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2089"]="+proj=utm +zone=38 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2090"]="+proj=utm +zone=39 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4163"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4318"]="+proj=longlat +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:31838"]="+proj=utm +zone=38 +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31839"]="+proj=utm +zone=39 +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:20934"]="+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:20935"]="+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:20936"]="+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";
Proj4js.defs["EPSG:20935"]="+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:20936"]="+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:2136"]="+proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.99975 +x_0=274319.7391633579 +y_0=0 +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +to_meter=0.3047997101815088 +no_defs ";Proj4js.defs["EPSG:4168"]="+proj=longlat +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:2137"]="+proj=tmerc +lat_0=0 +lon_0=-1 +k=0.9996 +x_0=500000 +y_0=0 +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4143"]="+proj=longlat +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2165"]="+proj=tmerc +lat_0=0 +lon_0=-5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2043"]="+proj=utm +zone=29 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2041"]="+proj=utm +zone=30 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4201"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:20135"]="+proj=utm +zone=35 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:20136"]="+proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:20137"]="+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:20138"]="+proj=utm +zone=38 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:4205"]="+proj=longlat +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:20538"]="+proj=utm +zone=38 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:20539"]="+proj=utm +zone=39 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4209"]="+proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs ";Proj4js.defs["EPSG:20934"]="+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";
Proj4js.defs["EPSG:20935"]="+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:20936"]="+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:4210"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:21095"]="+proj=utm +zone=35 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21035"]="+proj=utm +zone=35 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21096"]="+proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:21036"]="+proj=utm +zone=36 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21097"]="+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21037"]="+proj=utm +zone=37 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:4220"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:22091"]="+proj=tmerc +lat_0=0 +lon_0=11.5 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:22092"]="+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:22032"]="+proj=utm +zone=32 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:22033"]="+proj=utm +zone=33 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:4222"]="+proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs ";Proj4js.defs["EPSG:22234"]="+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:22235"]="+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";
Proj4js.defs["EPSG:22236"]="+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:4155"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:3461"]="+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3462"]="+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2073"]="+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:2074"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2075"]="+proj=tmerc +lat_0=0 +lon_0=23 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2076"]="+proj=tmerc +lat_0=0 +lon_0=25 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2068"]="+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:2069"]="+proj=tmerc +lat_0=0 +lon_0=11 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2070"]="+proj=tmerc +lat_0=0 +lon_0=13 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2071"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2072"]="+proj=tmerc +lat_0=0 +lon_0=17 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:2087"]="+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2077"]="+proj=utm +zone=32 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2078"]="+proj=utm +zone=33 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2079"]="+proj=utm +zone=34 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2080"]="+proj=utm +zone=35 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4148"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:25000"]="+proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.99975 +x_0=274319.51 +y_0=0 +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4250"]="+proj=longlat +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4251"]="+proj=longlat +ellps=clrk80 +towgs84=-90,40,88,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4142"]="+proj=longlat +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2164"]="+proj=tmerc +lat_0=0 +lon_0=-5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2040"]="+proj=utm +zone=30 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4259"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:25932"]="+proj=utm +zone=32 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4193"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2215"]="+proj=utm +zone=32 +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2042"]="+proj=utm +zone=29 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4261"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4262"]="+proj=longlat +ellps=bessel +towgs84=639,405,60,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:26237"]="+proj=utm +zone=37 +ellps=bessel +towgs84=639,405,60,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:26191"]="+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=-5.4 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:26194"]="+proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.999616304 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:26195"]="+proj=lcc +lat_1=22.5 +lat_0=22.5 +lon_0=-5.4 +k_0=0.999616437 +x_0=1500000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:26192"]="+proj=lcc +lat_1=29.7 +lat_0=29.7 +lon_0=-5.4 +k_0=0.9996155960000001 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:4264"]="+proj=longlat +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:26432"]="+proj=utm +zone=32 +south +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4263"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:26393"]="+proj=tmerc +lat_0=4 +lon_0=12.5 +k=0.99975 +x_0=1110369.7 +y_0=0 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:26392"]="+proj=tmerc +lat_0=4 +lon_0=8.5 +k=0.99975 +x_0=670553.98 +y_0=0 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:26391"]="+proj=tmerc +lat_0=4 +lon_0=4.5 +k=0.99975 +x_0=230738.26 +y_0=0 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:26331"]="+proj=utm +zone=31 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:26332"]="+proj=utm +zone=32 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:4130"]="+proj=longlat +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +no_defs ";Proj4js.defs["EPSG:3036"]="+proj=utm +zone=36 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:3037"]="+proj=utm +zone=37 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4266"]="+proj=longlat +a=6378249.2 +b=6356515 +no_defs ";Proj4js.defs["EPSG:26632"]="+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs ";Proj4js.defs["EPSG:26692"]="+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +units=m +no_defs ";Proj4js.defs["EPSG:30791"]="+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:4307"]="+proj=longlat +ellps=clrk80 +no_defs ";Proj4js.defs["EPSG:30792"]="+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:30729"]="+proj=utm +zone=29 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:30730"]="+proj=utm +zone=30 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:30731"]="+proj=utm +zone=31 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:30732"]="+proj=utm +zone=32 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:22991"]="+proj=tmerc +lat_0=30 +lon_0=35 +k=1 +x_0=300000 +y_0=1100000 +ellps=helmert +units=m +no_defs ";Proj4js.defs["EPSG:22994"]="+proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=1200000 +ellps=helmert +units=m +no_defs ";Proj4js.defs["EPSG:4229"]="+proj=longlat +ellps=helmert +no_defs ";Proj4js.defs["EPSG:22993"]="+proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=200000 +ellps=helmert +units=m +no_defs ";Proj4js.defs["EPSG:22992"]="+proj=tmerc +lat_0=30 +lon_0=31 +k=1 +x_0=615000 +y_0=810000 +ellps=helmert +units=m +no_defs ";
Proj4js.defs["EPSG:4282"]="+proj=longlat +a=6378249.2 +b=6356515 +no_defs ";Proj4js.defs["EPSG:4620"]="+proj=longlat +ellps=clrk80 +towgs84=-106,-129,165,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:28232"]="+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +units=m +no_defs ";Proj4js.defs["EPSG:4293"]="+proj=longlat +ellps=bess_nam +no_defs ";Proj4js.defs["EPSG:29333"]="+proj=utm +zone=33 +south +ellps=bess_nam +units=m +no_defs ";Proj4js.defs["EPSG:4175"]="+proj=longlat +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:2161"]="+proj=utm +zone=28 +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2162"]="+proj=utm +zone=29 +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:29738"]="+proj=utm +zone=38 +south +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:29739"]="+proj=utm +zone=39 +south +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4297"]="+proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:2736"]="+proj=utm +zone=36 +south +ellps=clrk66 +units=m +no_defs ";Proj4js.defs["EPSG:4127"]="+proj=longlat +ellps=clrk66 +no_defs ";Proj4js.defs["EPSG:2737"]="+proj=utm +zone=37 +south +ellps=clrk66 +units=m +no_defs ";Proj4js.defs["EPSG:4304"]="+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:30491"]="+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:30492"]="+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2311"]="+proj=tmerc +lat_0=0 +lon_0=6 +k=0.9996 +x_0=500000 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32766"]="+proj=tmerc +lat_0=0 +lon_0=36 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:4702"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4679"]="+proj=longlat +ellps=clrk80 +towgs84=-80.01,253.26,291.19,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4680"]="+proj=longlat +ellps=clrk80 +towgs84=124.5,-63.5,-281,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4707"]="+proj=longlat +ellps=intl +towgs84=114,-116,-333,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4230"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4258"]="+proj=longlat +ellps=GRS80 +no_defs ";Proj4js.defs["EPSG:2207"]="+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:2208"]="+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2209"]="+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2210"]="+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2211"]="+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2212"]="+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:2206"]="+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2319"]="+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2320"]="+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2321"]="+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2322"]="+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:2323"]="+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2324"]="+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2325"]="+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2058"]="+proj=utm +zone=38 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2059"]="+proj=utm +zone=39 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:2060"]="+proj=utm +zone=40 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2061"]="+proj=utm +zone=41 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2198"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2196"]="+proj=tmerc +lat_0=0 +lon_0=9.5 +k=0.99995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2197"]="+proj=tmerc +lat_0=0 +lon_0=12 +k=0.99995 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2176"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=0.999923 +x_0=5500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2177"]="+proj=tmerc +lat_0=0 +lon_0=18 +k=0.999923 +x_0=6500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2178"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=0.999923 +x_0=7500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2179"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=0.999923 +x_0=8500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2180"]="+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9993 +x_0=500000 +y_0=-5300000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2213"]="+proj=tmerc +lat_0=0 +lon_0=30 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:25884"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:25828"]="+proj=utm +zone=28 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:25829"]="+proj=utm +zone=29 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:25830"]="+proj=utm +zone=30 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:25831"]="+proj=utm +zone=31 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:25832"]="+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:25833"]="+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:25834"]="+proj=utm +zone=34 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:25835"]="+proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:25836"]="+proj=utm +zone=36 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:25837"]="+proj=utm +zone=37 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:25838"]="+proj=utm +zone=38 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:23090"]="+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:23095"]="+proj=tmerc +lat_0=0 +lon_0=5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:4154"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:4668"]="+proj=longlat +ellps=intl +towgs84=-86,-98,-119,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2397"]="+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs ";Proj4js.defs["EPSG:2398"]="+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs ";Proj4js.defs["EPSG:2399"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs ";
Proj4js.defs["EPSG:23028"]="+proj=utm +zone=28 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:23029"]="+proj=utm +zone=29 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:23030"]="+proj=utm +zone=30 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:23031"]="+proj=utm +zone=31 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:23032"]="+proj=utm +zone=32 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:23033"]="+proj=utm +zone=33 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:23034"]="+proj=utm +zone=34 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:23035"]="+proj=utm +zone=35 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:23036"]="+proj=utm +zone=36 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:23037"]="+proj=utm +zone=37 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:23038"]="+proj=utm +zone=38 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4231"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:3034"]="+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4000000 +y_0=2800000 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3035"]="+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3038"]="+proj=utm +zone=26 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3039"]="+proj=utm +zone=27 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3040"]="+proj=utm +zone=28 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3041"]="+proj=utm +zone=29 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3042"]="+proj=utm +zone=30 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3043"]="+proj=utm +zone=31 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3044"]="+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3045"]="+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3046"]="+proj=utm +zone=34 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3047"]="+proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3048"]="+proj=utm +zone=36 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3049"]="+proj=utm +zone=37 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3050"]="+proj=utm +zone=38 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3051"]="+proj=utm +zone=39 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3108"]="+proj=tmerc +lat_0=49.5 +lon_0=-2.416666666666667 +k=0.999997 +x_0=47000 +y_0=50000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3109"]="+proj=tmerc +lat_0=49.225 +lon_0=-2.135 +k=0.9999999000000001 +x_0=40000 +y_0=70000 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3067"]="+proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3126"]="+proj=tmerc +lat_0=0 +lon_0=19 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3127"]="+proj=tmerc +lat_0=0 +lon_0=20 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3128"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3129"]="+proj=tmerc +lat_0=0 +lon_0=22 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3130"]="+proj=tmerc +lat_0=0 +lon_0=23 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3131"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3132"]="+proj=tmerc +lat_0=0 +lon_0=25 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3133"]="+proj=tmerc +lat_0=0 +lon_0=26 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3134"]="+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3135"]="+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3136"]="+proj=tmerc +lat_0=0 +lon_0=29 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3137"]="+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3138"]="+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3064"]="+proj=utm +zone=32 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3065"]="+proj=utm +zone=33 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:24817"]="+proj=utm +zone=17 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24818"]="+proj=utm +zone=18 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24819"]="+proj=utm +zone=19 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24820"]="+proj=utm +zone=20 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24821"]="+proj=utm +zone=21 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24877"]="+proj=utm +zone=17 +south +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:24878"]="+proj=utm +zone=18 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24879"]="+proj=utm +zone=19 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24880"]="+proj=utm +zone=20 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24881"]="+proj=utm +zone=21 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24882"]="+proj=utm +zone=22 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4623"]="+proj=longlat +ellps=intl +towgs84=-186,230,110,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:2971"]="+proj=utm +zone=22 +ellps=intl +towgs84=-186,230,110,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4170"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:31986"]="+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31992"]="+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31987"]="+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:31993"]="+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31988"]="+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31994"]="+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31989"]="+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31995"]="+proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:31990"]="+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31996"]="+proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31991"]="+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31997"]="+proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31998"]="+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:31999"]="+proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:32000"]="+proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2083"]="+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2084"]="+proj=utm +zone=19 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4254"]="+proj=longlat +ellps=intl +no_defs ";
Proj4js.defs["EPSG:4190"]="+proj=longlat +ellps=GRS80 +no_defs ";Proj4js.defs["EPSG:2317"]="+proj=lcc +lat_1=9 +lat_2=3 +lat_0=6 +lon_0=-66 +x_0=1000000 +y_0=1000000 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24892"]="+proj=tmerc +lat_0=-9.5 +lon_0=-76 +k=0.99932994 +x_0=720000 +y_0=1039979.159 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:24893"]="+proj=tmerc +lat_0=-9.5 +lon_0=-70.5 +k=0.99952992 +x_0=1324000 +y_0=1040084.558 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:24891"]="+proj=tmerc +lat_0=-6 +lon_0=-80.5 +k=0.99983008 +x_0=222000 +y_0=1426834.743 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2201"]="+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:4189"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:2202"]="+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2203"]="+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2972"]="+proj=utm +zone=22 +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:29101"]="+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29187"]="+proj=utm +zone=17 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29168"]="+proj=utm +zone=18 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29188"]="+proj=utm +zone=18 +south +ellps=aust_SA +units=m +no_defs ";
Proj4js.defs["EPSG:29169"]="+proj=utm +zone=19 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29189"]="+proj=utm +zone=19 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29170"]="+proj=utm +zone=20 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29190"]="+proj=utm +zone=20 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29171"]="+proj=utm +zone=21 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29191"]="+proj=utm +zone=21 +south +ellps=aust_SA +units=m +no_defs ";
Proj4js.defs["EPSG:29172"]="+proj=utm +zone=22 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29192"]="+proj=utm +zone=22 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29193"]="+proj=utm +zone=23 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29194"]="+proj=utm +zone=24 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29195"]="+proj=utm +zone=25 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:4309"]="+proj=longlat +ellps=intl +towgs84=-155,171,37,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4311"]="+proj=longlat +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:31171"]="+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9999 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31170"]="+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31154"]="+proj=tmerc +lat_0=0 +lon_0=-54 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:31121"]="+proj=utm +zone=21 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2309"]="+proj=tmerc +lat_0=0 +lon_0=116 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:2310"]="+proj=tmerc +lat_0=0 +lon_0=132 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:4674"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:4686"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:31965"]="+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31966"]="+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31967"]="+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31968"]="+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:31969"]="+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31970"]="+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31971"]="+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31972"]="+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31973"]="+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:31974"]="+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31975"]="+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31976"]="+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31977"]="+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31978"]="+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:31979"]="+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31980"]="+proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31981"]="+proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31982"]="+proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31983"]="+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:31984"]="+proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31985"]="+proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:32210"]="+proj=utm +zone=10 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32310"]="+proj=utm +zone=10 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32211"]="+proj=utm +zone=11 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32311"]="+proj=utm +zone=11 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32212"]="+proj=utm +zone=12 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32312"]="+proj=utm +zone=12 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32213"]="+proj=utm +zone=13 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32313"]="+proj=utm +zone=13 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32214"]="+proj=utm +zone=14 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32314"]="+proj=utm +zone=14 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32215"]="+proj=utm +zone=15 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32315"]="+proj=utm +zone=15 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32216"]="+proj=utm +zone=16 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32316"]="+proj=utm +zone=16 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32217"]="+proj=utm +zone=17 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32317"]="+proj=utm +zone=17 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32218"]="+proj=utm +zone=18 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32318"]="+proj=utm +zone=18 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32219"]="+proj=utm +zone=19 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32319"]="+proj=utm +zone=19 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32201"]="+proj=utm +zone=1 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32301"]="+proj=utm +zone=1 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32220"]="+proj=utm +zone=20 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32320"]="+proj=utm +zone=20 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32221"]="+proj=utm +zone=21 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32321"]="+proj=utm +zone=21 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32222"]="+proj=utm +zone=22 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32322"]="+proj=utm +zone=22 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32223"]="+proj=utm +zone=23 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32323"]="+proj=utm +zone=23 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32224"]="+proj=utm +zone=24 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32324"]="+proj=utm +zone=24 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32225"]="+proj=utm +zone=25 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32325"]="+proj=utm +zone=25 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32226"]="+proj=utm +zone=26 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32326"]="+proj=utm +zone=26 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32227"]="+proj=utm +zone=27 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32327"]="+proj=utm +zone=27 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32228"]="+proj=utm +zone=28 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32328"]="+proj=utm +zone=28 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32229"]="+proj=utm +zone=29 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32329"]="+proj=utm +zone=29 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32202"]="+proj=utm +zone=2 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32302"]="+proj=utm +zone=2 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32230"]="+proj=utm +zone=30 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32330"]="+proj=utm +zone=30 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32231"]="+proj=utm +zone=31 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32331"]="+proj=utm +zone=31 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32232"]="+proj=utm +zone=32 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32332"]="+proj=utm +zone=32 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32233"]="+proj=utm +zone=33 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32333"]="+proj=utm +zone=33 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32234"]="+proj=utm +zone=34 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32334"]="+proj=utm +zone=34 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32235"]="+proj=utm +zone=35 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32335"]="+proj=utm +zone=35 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32236"]="+proj=utm +zone=36 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32336"]="+proj=utm +zone=36 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32237"]="+proj=utm +zone=37 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32337"]="+proj=utm +zone=37 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32238"]="+proj=utm +zone=38 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32338"]="+proj=utm +zone=38 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32239"]="+proj=utm +zone=39 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32339"]="+proj=utm +zone=39 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32203"]="+proj=utm +zone=3 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32303"]="+proj=utm +zone=3 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32240"]="+proj=utm +zone=40 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32340"]="+proj=utm +zone=40 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32241"]="+proj=utm +zone=41 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32341"]="+proj=utm +zone=41 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32242"]="+proj=utm +zone=42 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32342"]="+proj=utm +zone=42 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32243"]="+proj=utm +zone=43 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32343"]="+proj=utm +zone=43 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32244"]="+proj=utm +zone=44 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32344"]="+proj=utm +zone=44 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32245"]="+proj=utm +zone=45 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32345"]="+proj=utm +zone=45 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32246"]="+proj=utm +zone=46 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32346"]="+proj=utm +zone=46 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32247"]="+proj=utm +zone=47 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32347"]="+proj=utm +zone=47 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32248"]="+proj=utm +zone=48 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32348"]="+proj=utm +zone=48 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32249"]="+proj=utm +zone=49 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32349"]="+proj=utm +zone=49 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32204"]="+proj=utm +zone=4 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32304"]="+proj=utm +zone=4 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32250"]="+proj=utm +zone=50 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32350"]="+proj=utm +zone=50 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32251"]="+proj=utm +zone=51 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32351"]="+proj=utm +zone=51 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32252"]="+proj=utm +zone=52 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32352"]="+proj=utm +zone=52 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32253"]="+proj=utm +zone=53 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32353"]="+proj=utm +zone=53 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32254"]="+proj=utm +zone=54 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32354"]="+proj=utm +zone=54 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32255"]="+proj=utm +zone=55 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32355"]="+proj=utm +zone=55 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32256"]="+proj=utm +zone=56 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32356"]="+proj=utm +zone=56 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32257"]="+proj=utm +zone=57 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32357"]="+proj=utm +zone=57 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32258"]="+proj=utm +zone=58 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32358"]="+proj=utm +zone=58 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32259"]="+proj=utm +zone=59 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32359"]="+proj=utm +zone=59 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32205"]="+proj=utm +zone=5 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32305"]="+proj=utm +zone=5 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32260"]="+proj=utm +zone=60 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32360"]="+proj=utm +zone=60 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32206"]="+proj=utm +zone=6 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32306"]="+proj=utm +zone=6 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32207"]="+proj=utm +zone=7 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32307"]="+proj=utm +zone=7 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32208"]="+proj=utm +zone=8 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32308"]="+proj=utm +zone=8 +south +ellps=WGS72 +units=m +no_defs ";
Proj4js.defs["EPSG:32209"]="+proj=utm +zone=9 +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:32309"]="+proj=utm +zone=9 +south +ellps=WGS72 +units=m +no_defs ";Proj4js.defs["EPSG:2094"]="+proj=tmerc +lat_0=0 +lon_0=106 +k=0.9996 +x_0=500000 +y_0=0 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32410"]="+proj=utm +zone=10 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32510"]="+proj=utm +zone=10 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32411"]="+proj=utm +zone=11 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32511"]="+proj=utm +zone=11 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32412"]="+proj=utm +zone=12 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32512"]="+proj=utm +zone=12 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32413"]="+proj=utm +zone=13 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32513"]="+proj=utm +zone=13 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32414"]="+proj=utm +zone=14 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32514"]="+proj=utm +zone=14 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32415"]="+proj=utm +zone=15 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32515"]="+proj=utm +zone=15 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32416"]="+proj=utm +zone=16 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32516"]="+proj=utm +zone=16 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32417"]="+proj=utm +zone=17 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32517"]="+proj=utm +zone=17 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32418"]="+proj=utm +zone=18 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32518"]="+proj=utm +zone=18 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32419"]="+proj=utm +zone=19 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32519"]="+proj=utm +zone=19 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32401"]="+proj=utm +zone=1 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32501"]="+proj=utm +zone=1 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32420"]="+proj=utm +zone=20 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32520"]="+proj=utm +zone=20 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32421"]="+proj=utm +zone=21 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32521"]="+proj=utm +zone=21 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32422"]="+proj=utm +zone=22 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32522"]="+proj=utm +zone=22 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32423"]="+proj=utm +zone=23 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32523"]="+proj=utm +zone=23 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32424"]="+proj=utm +zone=24 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32524"]="+proj=utm +zone=24 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32425"]="+proj=utm +zone=25 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32525"]="+proj=utm +zone=25 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32426"]="+proj=utm +zone=26 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32526"]="+proj=utm +zone=26 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32427"]="+proj=utm +zone=27 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32527"]="+proj=utm +zone=27 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32428"]="+proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32528"]="+proj=utm +zone=28 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32429"]="+proj=utm +zone=29 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32529"]="+proj=utm +zone=29 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32402"]="+proj=utm +zone=2 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32502"]="+proj=utm +zone=2 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32430"]="+proj=utm +zone=30 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32530"]="+proj=utm +zone=30 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32431"]="+proj=utm +zone=31 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32531"]="+proj=utm +zone=31 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32432"]="+proj=utm +zone=32 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32532"]="+proj=utm +zone=32 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32433"]="+proj=utm +zone=33 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32533"]="+proj=utm +zone=33 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32434"]="+proj=utm +zone=34 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32534"]="+proj=utm +zone=34 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32435"]="+proj=utm +zone=35 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32535"]="+proj=utm +zone=35 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32536"]="+proj=utm +zone=36 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32437"]="+proj=utm +zone=37 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32537"]="+proj=utm +zone=37 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32438"]="+proj=utm +zone=38 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32538"]="+proj=utm +zone=38 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32439"]="+proj=utm +zone=39 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32539"]="+proj=utm +zone=39 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32403"]="+proj=utm +zone=3 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32503"]="+proj=utm +zone=3 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32440"]="+proj=utm +zone=40 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32540"]="+proj=utm +zone=40 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32441"]="+proj=utm +zone=41 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32541"]="+proj=utm +zone=41 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32442"]="+proj=utm +zone=42 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32542"]="+proj=utm +zone=42 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32443"]="+proj=utm +zone=43 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32543"]="+proj=utm +zone=43 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32444"]="+proj=utm +zone=44 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32544"]="+proj=utm +zone=44 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32445"]="+proj=utm +zone=45 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32545"]="+proj=utm +zone=45 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32446"]="+proj=utm +zone=46 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32546"]="+proj=utm +zone=46 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32447"]="+proj=utm +zone=47 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32547"]="+proj=utm +zone=47 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32448"]="+proj=utm +zone=48 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32548"]="+proj=utm +zone=48 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32449"]="+proj=utm +zone=49 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32549"]="+proj=utm +zone=49 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32404"]="+proj=utm +zone=4 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32504"]="+proj=utm +zone=4 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32450"]="+proj=utm +zone=50 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32550"]="+proj=utm +zone=50 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32451"]="+proj=utm +zone=51 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32551"]="+proj=utm +zone=51 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32452"]="+proj=utm +zone=52 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32552"]="+proj=utm +zone=52 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32453"]="+proj=utm +zone=53 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32553"]="+proj=utm +zone=53 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32454"]="+proj=utm +zone=54 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32554"]="+proj=utm +zone=54 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32455"]="+proj=utm +zone=55 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32555"]="+proj=utm +zone=55 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32456"]="+proj=utm +zone=56 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32556"]="+proj=utm +zone=56 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32457"]="+proj=utm +zone=57 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32557"]="+proj=utm +zone=57 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32458"]="+proj=utm +zone=58 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32558"]="+proj=utm +zone=58 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32459"]="+proj=utm +zone=59 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32559"]="+proj=utm +zone=59 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32405"]="+proj=utm +zone=5 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32505"]="+proj=utm +zone=5 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32460"]="+proj=utm +zone=60 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32560"]="+proj=utm +zone=60 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32406"]="+proj=utm +zone=6 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32506"]="+proj=utm +zone=6 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32407"]="+proj=utm +zone=7 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32507"]="+proj=utm +zone=7 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32408"]="+proj=utm +zone=8 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32508"]="+proj=utm +zone=8 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";
Proj4js.defs["EPSG:32409"]="+proj=utm +zone=9 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:32509"]="+proj=utm +zone=9 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs ";Proj4js.defs["EPSG:4324"]="+proj=longlat +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +no_defs ";Proj4js.defs["EPSG:32601"]="+proj=utm +zone=1 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32701"]="+proj=utm +zone=1 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32602"]="+proj=utm +zone=2 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32702"]="+proj=utm +zone=2 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32603"]="+proj=utm +zone=3 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32703"]="+proj=utm +zone=3 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32604"]="+proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32704"]="+proj=utm +zone=4 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32605"]="+proj=utm +zone=5 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32705"]="+proj=utm +zone=5 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32606"]="+proj=utm +zone=6 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32706"]="+proj=utm +zone=6 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32607"]="+proj=utm +zone=7 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32707"]="+proj=utm +zone=7 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32608"]="+proj=utm +zone=8 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32708"]="+proj=utm +zone=8 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32609"]="+proj=utm +zone=9 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32709"]="+proj=utm +zone=9 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32610"]="+proj=utm +zone=10 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32710"]="+proj=utm +zone=10 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32611"]="+proj=utm +zone=11 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32711"]="+proj=utm +zone=11 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32612"]="+proj=utm +zone=12 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32712"]="+proj=utm +zone=12 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32613"]="+proj=utm +zone=13 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32713"]="+proj=utm +zone=13 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32614"]="+proj=utm +zone=14 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32714"]="+proj=utm +zone=14 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32615"]="+proj=utm +zone=15 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32715"]="+proj=utm +zone=15 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32616"]="+proj=utm +zone=16 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32716"]="+proj=utm +zone=16 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32617"]="+proj=utm +zone=17 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32717"]="+proj=utm +zone=17 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32618"]="+proj=utm +zone=18 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32718"]="+proj=utm +zone=18 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32619"]="+proj=utm +zone=19 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32719"]="+proj=utm +zone=19 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32620"]="+proj=utm +zone=20 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32720"]="+proj=utm +zone=20 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32621"]="+proj=utm +zone=21 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32721"]="+proj=utm +zone=21 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32622"]="+proj=utm +zone=22 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32722"]="+proj=utm +zone=22 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32623"]="+proj=utm +zone=23 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32723"]="+proj=utm +zone=23 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32624"]="+proj=utm +zone=24 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32724"]="+proj=utm +zone=24 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32625"]="+proj=utm +zone=25 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32725"]="+proj=utm +zone=25 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32626"]="+proj=utm +zone=26 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32726"]="+proj=utm +zone=26 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32627"]="+proj=utm +zone=27 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32727"]="+proj=utm +zone=27 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32628"]="+proj=utm +zone=28 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32728"]="+proj=utm +zone=28 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32629"]="+proj=utm +zone=29 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32729"]="+proj=utm +zone=29 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32630"]="+proj=utm +zone=30 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32730"]="+proj=utm +zone=30 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32631"]="+proj=utm +zone=31 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32731"]="+proj=utm +zone=31 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32632"]="+proj=utm +zone=32 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32732"]="+proj=utm +zone=32 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32633"]="+proj=utm +zone=33 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32733"]="+proj=utm +zone=33 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32634"]="+proj=utm +zone=34 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32734"]="+proj=utm +zone=34 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32635"]="+proj=utm +zone=35 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32735"]="+proj=utm +zone=35 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32636"]="+proj=utm +zone=36 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32736"]="+proj=utm +zone=36 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32637"]="+proj=utm +zone=37 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32737"]="+proj=utm +zone=37 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32638"]="+proj=utm +zone=38 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32738"]="+proj=utm +zone=38 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32639"]="+proj=utm +zone=39 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32739"]="+proj=utm +zone=39 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32640"]="+proj=utm +zone=40 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32740"]="+proj=utm +zone=40 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32641"]="+proj=utm +zone=41 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32741"]="+proj=utm +zone=41 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32642"]="+proj=utm +zone=42 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32742"]="+proj=utm +zone=42 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32643"]="+proj=utm +zone=43 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32743"]="+proj=utm +zone=43 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32644"]="+proj=utm +zone=44 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32744"]="+proj=utm +zone=44 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32645"]="+proj=utm +zone=45 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32745"]="+proj=utm +zone=45 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32646"]="+proj=utm +zone=46 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32746"]="+proj=utm +zone=46 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32647"]="+proj=utm +zone=47 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32747"]="+proj=utm +zone=47 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32648"]="+proj=utm +zone=48 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32748"]="+proj=utm +zone=48 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32649"]="+proj=utm +zone=49 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32749"]="+proj=utm +zone=49 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32650"]="+proj=utm +zone=50 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32750"]="+proj=utm +zone=50 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32651"]="+proj=utm +zone=51 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32751"]="+proj=utm +zone=51 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32652"]="+proj=utm +zone=52 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32752"]="+proj=utm +zone=52 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32653"]="+proj=utm +zone=53 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32753"]="+proj=utm +zone=53 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32654"]="+proj=utm +zone=54 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32754"]="+proj=utm +zone=54 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32655"]="+proj=utm +zone=55 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32755"]="+proj=utm +zone=55 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32656"]="+proj=utm +zone=56 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32756"]="+proj=utm +zone=56 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32657"]="+proj=utm +zone=57 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32757"]="+proj=utm +zone=57 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32658"]="+proj=utm +zone=58 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32758"]="+proj=utm +zone=58 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32659"]="+proj=utm +zone=59 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32759"]="+proj=utm +zone=59 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32660"]="+proj=utm +zone=60 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32760"]="+proj=utm +zone=60 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:26703"]="+proj=utm +zone=3 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26704"]="+proj=utm +zone=4 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";
Proj4js.defs["EPSG:26705"]="+proj=utm +zone=5 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26706"]="+proj=utm +zone=6 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26707"]="+proj=utm +zone=7 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26708"]="+proj=utm +zone=8 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26709"]="+proj=utm +zone=9 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26710"]="+proj=utm +zone=10 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";
Proj4js.defs["EPSG:26711"]="+proj=utm +zone=11 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26712"]="+proj=utm +zone=12 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26713"]="+proj=utm +zone=13 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26714"]="+proj=utm +zone=14 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26715"]="+proj=utm +zone=15 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26716"]="+proj=utm +zone=16 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";
Proj4js.defs["EPSG:26717"]="+proj=utm +zone=17 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26718"]="+proj=utm +zone=18 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26719"]="+proj=utm +zone=19 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26720"]="+proj=utm +zone=20 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26721"]="+proj=utm +zone=21 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26722"]="+proj=utm +zone=22 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";
Proj4js.defs["EPSG:32064"]="+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32065"]="+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32066"]="+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32067"]="+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32081"]="+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:32082"]="+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26701"]="+proj=utm +zone=1 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";
Proj4js.defs["EPSG:26702"]="+proj=utm +zone=2 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26903"]="+proj=utm +zone=3 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26904"]="+proj=utm +zone=4 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26905"]="+proj=utm +zone=5 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26906"]="+proj=utm +zone=6 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26907"]="+proj=utm +zone=7 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:26908"]="+proj=utm +zone=8 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26909"]="+proj=utm +zone=9 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26910"]="+proj=utm +zone=10 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26911"]="+proj=utm +zone=11 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26912"]="+proj=utm +zone=12 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26913"]="+proj=utm +zone=13 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:26914"]="+proj=utm +zone=14 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26915"]="+proj=utm +zone=15 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26916"]="+proj=utm +zone=16 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26917"]="+proj=utm +zone=17 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26918"]="+proj=utm +zone=18 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26919"]="+proj=utm +zone=19 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:26920"]="+proj=utm +zone=20 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26921"]="+proj=utm +zone=21 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26922"]="+proj=utm +zone=22 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:32180"]="+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26923"]="+proj=utm +zone=23 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2944"]="+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:26901"]="+proj=utm +zone=1 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26902"]="+proj=utm +zone=2 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:2945"]="+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2946"]="+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2947"]="+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2948"]="+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2949"]="+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2950"]="+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2951"]="+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2952"]="+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2955"]="+proj=utm +zone=11 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2956"]="+proj=utm +zone=12 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2957"]="+proj=utm +zone=13 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2958"]="+proj=utm +zone=17 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2959"]="+proj=utm +zone=18 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2960"]="+proj=utm +zone=19 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2961"]="+proj=utm +zone=20 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2962"]="+proj=utm +zone=21 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:32164"]="+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32165"]="+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32166"]="+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32167"]="+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:3740"]="+proj=utm +zone=10 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3741"]="+proj=utm +zone=11 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3742"]="+proj=utm +zone=12 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3743"]="+proj=utm +zone=13 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3744"]="+proj=utm +zone=14 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3745"]="+proj=utm +zone=15 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3746"]="+proj=utm +zone=16 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3747"]="+proj=utm +zone=17 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3748"]="+proj=utm +zone=18 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2195"]="+proj=utm +zone=2 +south +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:3395"]="+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32661"]="+proj=stere +lat_0=90 +lat_ts=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32761"]="+proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:4248"]="+proj=longlat +ellps=intl +no_defs ";Proj4js.defs["EPSG:29189"]="+proj=utm +zone=19 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29903"]="+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m +no_defs ";Proj4js.defs["EPSG:4291"]="+proj=longlat +ellps=GRS67 +no_defs ";
Proj4js.defs["EPSG:2982"]="+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:4684"]="+proj=longlat +ellps=intl +towgs84=-133,-321,50,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4635"]="+proj=longlat +ellps=intl +towgs84=-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798 +no_defs ";Proj4js.defs["EPSG:4645"]="+proj=longlat +ellps=intl +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:4731"]="+proj=longlat +ellps=clrk80 +towgs84=51,391,-36,0,0,0,0 +no_defs ";
Proj4js.defs["EPSG:28462"]="+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:28463"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:32074"]="+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32075"]="+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32076"]="+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32077"]="+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:4659"]="+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ";Proj4js.defs["EPSG:22191"]="+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:22192"]="+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:22193"]="+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:22194"]="+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:22195"]="+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:22196"]="+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:22197"]="+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:2935"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=41.53333333333333 +k=1 +x_0=1300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2936"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=44.53333333333333 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2937"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=47.53333333333333 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2938"]="+proj=tmerc +lat_0=0.1166666666666667 +lon_0=50.53333333333333 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:20499"]="+proj=utm +zone=39 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:20499"]="+proj=utm +zone=39 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:29189"]="+proj=utm +zone=19 +south +ellps=aust_SA +units=m +no_defs ";
Proj4js.defs["EPSG:29190"]="+proj=utm +zone=20 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:20934"]="+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:20935"]="+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:29189"]="+proj=utm +zone=19 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29190"]="+proj=utm +zone=20 +south +ellps=aust_SA +units=m +no_defs ";
Proj4js.defs["EPSG:29191"]="+proj=utm +zone=21 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29192"]="+proj=utm +zone=22 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29193"]="+proj=utm +zone=23 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29194"]="+proj=utm +zone=24 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29195"]="+proj=utm +zone=25 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:22523"]="+proj=utm +zone=23 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:22524"]="+proj=utm +zone=24 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:32081"]="+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:32082"]="+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:32182"]="+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2952"]="+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2945"]="+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2946"]="+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2948"]="+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2949"]="+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2950"]="+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2951"]="+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2944"]="+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2153"]="+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2152"]="+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2151"]="+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2150"]="+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2149"]="+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2960"]="+proj=utm +zone=19 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2961"]="+proj=utm +zone=20 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2148"]="+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2219"]="+proj=utm +zone=19 +a=6378135 +b=6356750.304921594 +units=m +no_defs ";Proj4js.defs["EPSG:2220"]="+proj=utm +zone=20 +a=6378135 +b=6356750.304921594 +units=m +no_defs ";Proj4js.defs["EPSG:32198"]="+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2947"]="+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:29187"]="+proj=utm +zone=17 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29188"]="+proj=utm +zone=18 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:21453"]="+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21454"]="+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:21455"]="+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21456"]="+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21457"]="+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21458"]="+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21459"]="+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:21460"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21461"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21462"]="+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21463"]="+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21896"]="+proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:21897"]="+proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:21898"]="+proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:21899"]="+proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:29168"]="+proj=utm +zone=18 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29902"]="+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m +no_defs ";Proj4js.defs["EPSG:26237"]="+proj=utm +zone=37 +ellps=bessel +towgs84=639,405,60,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:20137"]="+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:20138"]="+proj=utm +zone=38 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:27700"]="+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs ";Proj4js.defs["EPSG:29170"]="+proj=utm +zone=20 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29171"]="+proj=utm +zone=21 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:32649"]="+proj=utm +zone=49 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32650"]="+proj=utm +zone=50 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:3054"]="+proj=utm +zone=26 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3055"]="+proj=utm +zone=27 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:3056"]="+proj=utm +zone=28 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2939"]="+proj=tmerc +lat_0=0.1333333333333333 +lon_0=50.76666666666667 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:2940"]="+proj=tmerc +lat_0=0.1333333333333333 +lon_0=53.76666666666667 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs ";
Proj4js.defs["EPSG:2941"]="+proj=tmerc +lat_0=0.1333333333333333 +lon_0=56.76666666666667 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:21097"]="+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21096"]="+proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21037"]="+proj=utm +zone=37 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21036"]="+proj=utm +zone=36 +south +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:20438"]="+proj=utm +zone=38 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:20936"]="+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:24547"]="+proj=utm +zone=47 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:24548"]="+proj=utm +zone=48 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:26192"]="+proj=lcc +lat_1=29.7 +lat_0=29.7 +lon_0=-5.4 +k_0=0.9996155960000001 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:29333"]="+proj=utm +zone=33 +south +ellps=bess_nam +units=m +no_defs ";Proj4js.defs["EPSG:29169"]="+proj=utm +zone=19 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:2119"]="+proj=tmerc +lat_0=-42.68888888888888 +lon_0=173.01 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2132"]="+proj=tmerc +lat_0=-46.6 +lon_0=168.3427777777778 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2117"]="+proj=tmerc +lat_0=-41.81055555555555 +lon_0=171.5811111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2114"]="+proj=tmerc +lat_0=-40.71472222222223 +lon_0=172.6719444444444 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2125"]="+proj=tmerc +lat_0=-43.74861111111111 +lon_0=171.3605555555555 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2118"]="+proj=tmerc +lat_0=-42.33361111111111 +lon_0=171.5497222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2108"]="+proj=tmerc +lat_0=-39.65083333333333 +lon_0=176.6736111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2121"]="+proj=tmerc +lat_0=-42.88611111111111 +lon_0=170.9797222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2123"]="+proj=tmerc +lat_0=-43.97777777777778 +lon_0=168.6061111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2116"]="+proj=tmerc +lat_0=-41.28972222222222 +lon_0=172.1088888888889 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2127"]="+proj=tmerc +lat_0=-44.735 +lon_0=169.4675 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2120"]="+proj=tmerc +lat_0=-41.54444444444444 +lon_0=173.8019444444444 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2105"]="+proj=tmerc +lat_0=-36.87972222222222 +lon_0=174.7641666666667 +k=0.9999 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2128"]="+proj=tmerc +lat_0=-45.13277777777778 +lon_0=168.3986111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2124"]="+proj=tmerc +lat_0=-43.59055555555556 +lon_0=172.7269444444445 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2129"]="+proj=tmerc +lat_0=-45.56361111111111 +lon_0=167.7386111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2115"]="+proj=tmerc +lat_0=-41.27444444444444 +lon_0=173.2991666666667 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2131"]="+proj=tmerc +lat_0=-45.86138888888889 +lon_0=170.2825 +k=0.99996 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2130"]="+proj=tmerc +lat_0=-45.81611111111111 +lon_0=170.6283333333333 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2122"]="+proj=tmerc +lat_0=-43.11 +lon_0=170.2608333333333 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2107"]="+proj=tmerc +lat_0=-38.62444444444444 +lon_0=177.8855555555556 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2126"]="+proj=tmerc +lat_0=-44.40194444444445 +lon_0=171.0572222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2110"]="+proj=tmerc +lat_0=-39.51222222222222 +lon_0=175.64 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:2112"]="+proj=tmerc +lat_0=-40.92527777777777 +lon_0=175.6472222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2111"]="+proj=tmerc +lat_0=-40.24194444444444 +lon_0=175.4880555555555 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:2193"]="+proj=tmerc +lat_0=0 +lon_0=173 +k=0.9996 +x_0=1600000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:26391"]="+proj=tmerc +lat_0=4 +lon_0=4.5 +k=0.99975 +x_0=230738.26 +y_0=0 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:26392"]="+proj=tmerc +lat_0=4 +lon_0=8.5 +k=0.99975 +x_0=670553.98 +y_0=0 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:26393"]="+proj=tmerc +lat_0=4 +lon_0=12.5 +k=0.99975 +x_0=1110369.7 +y_0=0 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:25391"]="+proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs ";
Proj4js.defs["EPSG:25392"]="+proj=tmerc +lat_0=0 +lon_0=119 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs ";Proj4js.defs["EPSG:25393"]="+proj=tmerc +lat_0=0 +lon_0=121 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs ";Proj4js.defs["EPSG:25394"]="+proj=tmerc +lat_0=0 +lon_0=123 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs ";Proj4js.defs["EPSG:25395"]="+proj=tmerc +lat_0=0 +lon_0=125 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs ";
Proj4js.defs["EPSG:3120"]="+proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0.9998 +x_0=4637000 +y_0=5467000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs ";Proj4js.defs["EPSG:2190"]="+proj=utm +zone=26 +ellps=intl +towgs84=-203,141,53,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:20437"]="+proj=utm +zone=37 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:20438"]="+proj=utm +zone=38 +ellps=intl +units=m +no_defs ";Proj4js.defs["EPSG:20499"]="+proj=utm +zone=39 +ellps=intl +units=m +no_defs ";
Proj4js.defs["EPSG:24500"]="+proj=cass +lat_0=1.287646666666667 +lon_0=103.8530022222222 +x_0=30000 +y_0=30000 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:20538"]="+proj=utm +zone=38 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:20539"]="+proj=utm +zone=39 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31121"]="+proj=utm +zone=21 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs ";
Proj4js.defs["EPSG:31170"]="+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31171"]="+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9999 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:21035"]="+proj=utm +zone=35 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:21036"]="+proj=utm +zone=36 +south +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:21037"]="+proj=utm +zone=37 +south +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:22332"]="+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs ";Proj4js.defs["EPSG:32635"]="+proj=utm +zone=35 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32637"]="+proj=utm +zone=37 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32638"]="+proj=utm +zone=38 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:21095"]="+proj=utm +zone=35 +ellps=clrk80 +units=m +no_defs ";
Proj4js.defs["EPSG:21096"]="+proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:3087"]="+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:32164"]="+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32165"]="+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:32166"]="+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:32167"]="+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2782"]="+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:2783"]="+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2784"]="+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2785"]="+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2786"]="+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs ";
Proj4js.defs["EPSG:3089"]="+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:3088"]="+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";Proj4js.defs["EPSG:26802"]="+proj=tmerc +lat_0=41.5 +lon_0=-85.75 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs ";
Proj4js.defs["EPSG:26801"]="+proj=tmerc +lat_0=41.5 +lon_0=-83.66666666666667 +k=0.999942857 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:26803"]="+proj=tmerc +lat_0=41.5 +lon_0=-88.75 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs ";Proj4js.defs["EPSG:2991"]="+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ";
Proj4js.defs["EPSG:2195"]="+proj=utm +zone=2 +south +ellps=GRS80 +units=m +no_defs ";Proj4js.defs["EPSG:2516"]="+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs ";Proj4js.defs["EPSG:32618"]="+proj=utm +zone=18 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32619"]="+proj=utm +zone=19 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:32620"]="+proj=utm +zone=20 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:20935"]="+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:20936"]="+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs ";Proj4js.defs["EPSG:21097"]="+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs ";Proj4js.defs["EPSG:29172"]="+proj=utm +zone=22 +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29191"]="+proj=utm +zone=21 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29192"]="+proj=utm +zone=22 +south +ellps=aust_SA +units=m +no_defs ";
Proj4js.defs["EPSG:29193"]="+proj=utm +zone=23 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29194"]="+proj=utm +zone=24 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:29195"]="+proj=utm +zone=25 +south +ellps=aust_SA +units=m +no_defs ";Proj4js.defs["EPSG:26701"]="+proj=utm +zone=1 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:26702"]="+proj=utm +zone=2 +ellps=clrk66 +datum=NAD27 +units=m +no_defs ";Proj4js.defs["EPSG:32661"]="+proj=stere +lat_0=90 +lat_ts=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";
Proj4js.defs["EPSG:32761"]="+proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs ";Proj4js.defs["EPSG:2989"]="+proj=utm +zone=20 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";Proj4js.defs["EPSG:31265"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:31266"]="+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";
Proj4js.defs["EPSG:31267"]="+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Proj4js.defs["EPSG:31268"]="+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs ";Fusion.Event.MAP_LAYER_ORDER_CHANGED=Fusion.Event.lastEventId++;
Fusion.Layers.MapServer=OpenLayers.Class(Fusion.Layers,{arch:"MapServer",session:[null],sActiveLayer:null,selectionType:"INTERSECTS",bSelectionOn:!1,oSelection:null,bLayersReversed:!0,mapMetadataKeys:null,layerMetadataKeys:null,oMaptip:null,bMapTipFired:!1,bRestoreMapState:!1,oRestoredState:{},sMapFile:null,supports:{query:!0,edit:!0},initialize:function(a,b,d){Fusion.Layers.prototype.initialize.apply(this,arguments);this.registerEventID(Fusion.Event.MAP_SESSION_CREATED);this.sMapFile=b.extension.MapFile?
b.extension.MapFile[0]:"";var e=Fusion.getQueryParam("theme");""!=e&&(this.sMapFile=e,Fusion.queryParams.theme=null);e=Fusion.getQueryParam("restoreState");""!=e&&(this.oRestoredState.id=e,Fusion.queryParams.restoreState=null,this.bRestoreMapState=!0);this.mapMetadataKeys=b.extension.MapMetadata?b.extension.MapMetadata[0]:null;this.layerMetadataKeys=b.extension.LayerMetadata?b.extension.LayerMetadata[0]:null;rootOpts={displayInLegend:this.bDisplayInLegend,expandInLegend:this.bExpandInLegend,legendLabel:this._sMapname,
uniqueId:"layerRoot",groupName:"layerRoot",visible:!0,actuallyVisible:!0};this.layerRoot=new Fusion.Layers.Group(rootOpts,this);this.keepAliveInterval=parseInt(b.extension.KeepAliveInterval?b.extension.KeepAliveInterval[0]:300);this.noCache=!0;b.sid?(this.session[0]=b.sid,this.mapSessionCreated()):this.createSession()},createSession:function(){if(!this.session[0]){this.session[0]=this;var a=Fusion.getScriptLanguage(),a="layers/"+this.arch+"/"+a+"/CreateSession."+a,b={onSuccess:OpenLayers.Function.bind(this.createSessionCB,
this)};Fusion.ajaxRequest(a,b)}this.session[0]instanceof Fusion.Layers.MapServer?this.session[0].registerForEvent(Fusion.Event.MAP_SESSION_CREATED,OpenLayers.Function.bind(this.mapSessionCreated,this)):this.mapSessionCreated()},createSessionCB:function(a){if(200==a.status){eval("o="+a.responseText);this.session[0]=(void 0).sessionId;for(a=(void 0).acceptLanguage.split(",");0<a.length;){a=a[0].split(";");Fusion.initializeLocale(a[0]);break}if(!0==this.bRestoreMapState){var b=this;a=Fusion.getScriptLanguage();
a="layers/"+this.arch+"/"+a+"/RestoreState."+a;var d={parameters:OpenLayers.Util.getParameterString({session:this.session[0],id:this.oRestoredState.id}),onComplete:function(a){eval("o="+a.responseText);b.restoreStateCB(void 0)}};Fusion.ajaxRequest(a,d)}else this.triggerEvent(Fusion.Event.MAP_SESSION_CREATED)}},restoreStateCB:function(a){a.error?Fusion.reportError(new Fusion.Error(Fusion.Error.WARNING,"Error Restoring Map State - "+a.error)):(this.oRestoredState=a,a=this.oRestoredState.extents.split(","),
this.mapWidget.mapGroup.initialView={minX:parseFloat(a[0]),minY:parseFloat(a[1]),maxX:parseFloat(a[2]),maxY:parseFloat(a[3])},this.oRestoredState.queryfile&&0<this.oRestoredState.queryfile.length&&(this.bSelectionOn=!0,this._sQueryfile=this.oRestoredState.queryfile));this.triggerEvent(Fusion.Event.MAP_SESSION_CREATED)},mapSessionCreated:function(){!0===this.bRestoreMapState&&this.oRestoredState.loadmap?this.loadMap(this.oRestoredState.loadmap):""!=this.sMapFile&&this.loadMap(this.sMapFile);window.setInterval(OpenLayers.Function.bind(this.pingServer,
this),1E3*this.keepAliveInterval)},sessionReady:function(){return"string"==typeof this.session[0]},getSessionID:function(){return this.session[0]},loadMap:function(a,b){for(;this.mapWidget.isBusy();)this.mapWidget._removeWorker();this.bMapLoaded=!1;if(this._sMapFile!=a)if(this.sessionReady()){this.triggerEvent(Fusion.Event.LAYER_LOADING);this.mapWidget._addWorker();this._fScale=-1;this._nDpi=72;b=b||{};this.aVisibleLayers=b.showlayers||[];this.aVisibleGroups=b.showgroups||[];this.aLayers=[];this.oSelection=
null;this.aSelectionCallbacks=[];this._bSelectionIsLoading=!1;var d=Fusion.getScriptLanguage(),d="layers/"+this.arch+"/"+d+"/LoadMap."+d,e={mapfile:a,session:this.getSessionID()};this.mapMetadataKeys&&(e.map_metadata=this.mapMetadataKeys);this.layerMetadataKeys&&(e.layer_metadata=this.layerMetadataKeys);b={onSuccess:OpenLayers.Function.bind(this.mapLoaded,this),parameters:e};Fusion.ajaxRequest(d,b)}else this.sMapFile=a},mapLoaded:function(a){if(200==a.status){eval("o="+a.responseText);this._sMapFile=
(void 0).mapId;this._sMapname=(void 0).mapName;this._sMapTitle=(void 0).mapTitle;this._sImageType=(void 0).imagetype;this.metadata=(void 0).metadata;0<(void 0).projString.length&&(a=(void 0).projString.indexOf("init="),0<=a?this.mapTag.layerOptions.projection=(void 0).projString.substring(a+5).toUpperCase():(this.mapTag.layerOptions.projection=(void 0).mapName.toUpperCase(),Proj4js.defs[this.mapTag.layerOptions.projection]=(void 0).projString));this.mapTag.layerOptions.maxExtent=OpenLayers.Bounds.fromArray((void 0).extent);
this.layerRoot.clear();this.layerRoot.legendLabel=this._sMapTitle;this.layerRoot.displayInLegend=!0;this.layerRoot.expandInLegend=!0;this.parseMapLayersAndGroups(void 0);a=1E10;for(var b=0,d=0;d<this.aLayers.length;d++)this.aLayers[d].visible&&this.aVisibleLayers.push(this.aLayers[d].layerName),a=Math.min(a,this.aLayers[d].minScale),b=Math.max(b,this.aLayers[d].maxScale);0>=a&&(a=1);this.mapTag.layerOptions.units=Fusion.getClosestUnits((void 0).metersPerUnit);a={singleTile:!0,ratio:this.ratio,maxResolution:"auto",
minScale:b,maxScale:a};OpenLayers.Util.extend(a,this.mapTag.layerOptions);b={layers:this.aVisibleLayers.join(" "),session:this.getSessionID(),map:this._sMapFile,map_imagetype:this._sImageType};this.hasSelection()&&(b.queryfile=this._sQueryfile);OpenLayers.Util.extend(b,this.mapTag.layerParams);this.oLayerOL&&(this.oLayerOL.events.unregister("loadstart",this,this.loadStart),this.oLayerOL.events.unregister("loadend",this,this.loadEnd),this.oLayerOL.events.unregister("loadcancel",this,this.loadEnd),
this.oLayerOL.destroy());d=Fusion.getConfigurationItem("mapserver","cgi");this.oLayerOL=new OpenLayers.Layer.MapServer((void 0).mapName,d,b,a);this.oLayerOL.events.register("loadstart",this,this.loadStart);this.oLayerOL.events.register("loadend",this,this.loadEnd);this.oLayerOL.events.register("loadcancel",this,this.loadEnd);this.bIsMapWidgetLayer&&this.mapWidget.addMap(this);this.bMapLoaded=!0}else Fusion.reportError(new Fusion.Error(Fusion.Error.FATAL,"Failed to load requested map:\n"+a.responseText));
this.mapWidget._removeWorker();this.triggerEvent(Fusion.Event.LAYER_LOADED)},reloadMap:function(){this.mapWidget._addWorker();this.aVisibleLayers=[];this.aVisibleGroups=[];this.layerRoot.clear();this.aLayers=[];var a=Fusion.getScriptLanguage(),a="layers/"+this.arch+"/"+a+"/LoadMap."+a,b={mapname:this._sMapname,session:this.getSessionID(),reload:!0};this.mapMetadataKeys&&(b.map_metadata=this.mapMetadataKeys);this.layerMetadataKeys&&(b.layer_metadata=this.layerMetadataKeys);b={onSuccess:OpenLayers.Function.bind(this.mapReloaded,
this),parameters:b};Fusion.ajaxRequest(a,b)},loadScaleRanges:function(){var a=Fusion.getScriptLanguage(),a="layers/"+this.arch+"/"+a+"/LoadScaleRanges."+a,b={mapname:this._sMapname,session:this.getSessionID()},b={onSuccess:OpenLayers.Function.bind(this.scaleRangesLoaded,this),parameters:b};Fusion.ajaxRequest(a,b)},scaleRangesLoaded:function(a){if(200==a.status){eval("o="+a.responseText);if((void 0).layers&&0<(void 0).layers.length){a={url:(void 0).icons_url||null,width:(void 0).icons_width||16,height:(void 0).icons_height||
16};for(var b=0;b<(void 0).layers.length;b++){var d=this.getLayerById((void 0).layers[b].uniqueId);if(d){d.scaleRanges=[];for(var e=0;e<(void 0).layers[b].scaleRanges.length;e++){var f=new Fusion.Layers.ScaleRange((void 0).layers[b].scaleRanges[e],d.layerType,a);d.scaleRanges.push(f)}}}}this.mapWidget.triggerEvent(Fusion.Event.MAP_SCALE_RANGE_LOADED)}},mapReloaded:function(a){if(200==a.status){eval("o="+a.responseText);this.parseMapLayersAndGroups(void 0);this.aVisibleLayers=[];for(a=0;a<this.aLayers.length;a++)this.aLayers[a].visible&&
this.aVisibleLayers.push(this.aLayers[a].layerName);this.drawMap();this.mapWidget.triggerEvent(Fusion.Event.MAP_RELOADED)}else Fusion.reportError(new Fusion.Error(Fusion.Error.FATAL,OpenLayers.i18n("mapLoadError",{error:a.responseText})));this.mapWidget._removeWorker()},reorderLayers:function(a){var b=Fusion.getScriptLanguage(),b="layers/"+this.arch+"/"+b+"/SetLayers."+b,d={mapname:this._sMapname,session:this.getSessionID(),layerindex:a.join()};a={onSuccess:OpenLayers.Function.bind(this.mapLayersReset,
this,a),parameters:d};Fusion.ajaxRequest(b,a)},mapLayersReset:function(a,b){eval("o="+b.responseText);if((void 0).success){var d=$A(this.aLayers);this.aLayers=[];this.aVisibleLayers=[];for(var e=0;e<a.length;++e)this.aLayers.push(d[a[e]]),this.aLayers[e].visible&&this.aVisibleLayers.push(this.aLayers[e].layerName);this.drawMap();this.triggerEvent(Fusion.Event.MAP_LAYER_ORDER_CHANGED)}},parseLayers:function(){for(var a=0;a<this.aLayers.length;a++){var b=this.aLayers[a];(""!=b.parentGroup?this.layerRoot.findGroup(b.parentGroup.name):
this.layerRoot).addLayer(b,this.bLayersReversed)}},parseMapLayersAndGroups:function(a){a.groups.sort(function(a,b){return a.depth-b.depth});for(var b=0;b<a.groups.length;b++){var d=new Fusion.Layers.Group(a.groups[b],this),e;e=""!=d.parentUniqueId?this.layerRoot.findGroup(d.parentUniqueId):this.layerRoot;e.addGroup(d,this.bLayersReversed)}for(b=0;b<a.layers.length;b++)d=new Fusion.Layers.Layer(a.layers[b],this),e=""!=d.parentGroup?this.layerRoot.findGroup(d.parentGroup):this.layerRoot,e.addLayer(d,
this.bLayersReversed),this.aLayers.push(d)},updateLayer:function(){this.hasSelection()&&this.oLayerOL.addOptions({queryfile:this._sQueryfile})},drawMap:function(){if(this.bMapLoaded&&!this.deferredDraw){for(var a=[],b=0;b<this.aLayers.length;b++){var d=this.aLayers[b];d.isVisible()&&a.push(d.layerName)}a={layers:a.join(" "),ts:(new Date).getTime()};this.hasSelection()?a.queryfile=this._sQueryfile:a.queryfile="";this.oLayerOL.mergeNewParams(a)}},showLayer:function(a){this.aVisibleLayers.push(a.layerName);
this.drawMap()},hideLayer:function(a){for(var b=0;b<this.aLayers.length;b++)if(this.aVisibleLayers[b]==a.layerName){this.aVisibleLayers.splice(b,1);break}this.drawMap()},showGroup:function(a,b){this.processGroupEvents(a,!0);if("layerRoot"==a.groupName)this.oLayerOL.setVisibility(!0);else{this.aVisibleGroups.push(a.uniqueId);this.deferredDraw=!0;for(var d=0;d<a.groups.length;++d)a.groups[d].wasVisibleInGroup&&this.showGroup(a.groups[d],!0);for(d=0;d<a.layers.length;++d)a.layers[d].wasVisibleInGroup&&
a.layers[d].show(),a.layers[d].wasVisibleInGroup=null;this.deferredDraw=!1;this.drawMap()}},hideGroup:function(a,b){this.processGroupEvents(a,!1);if("layerRoot"==a.groupName)this.oLayerOL.setVisibility(!1);else{for(var d=0;d<this.aVisibleGroups.length;d++)if(this.aVisibleGroups[d]==a.uniqueId){this.aVisibleGroups.splice(d,1);break}this.deferredDraw=!0;for(d=0;d<a.groups.length;++d)a.groups[d].visible&&(a.groups[d].wasVisibleInGroup=!0,this.hideGroup(a.groups[d],!0));for(d=0;d<a.layers.length;++d)a.layers[d].visible&&
(a.layers[d].wasVisibleInGroup=!0,a.layers[d].hide());this.deferredDraw=!1;this.drawMap()}},showGroupOLD:function(a){if("layerRoot"==a)this.oLayerOL.setVisibility(!0);else{this.aVisibleGroups.push(a);a=this.layerRoot.findGroup(a);this.deferredDraw=!0;for(var b=0;b<a.layers.length;++b)a.layers[b].show();this.deferredDraw=!1;this.drawMap()}},hideGroupOLD:function(a){if("layerRoot"==a)this.oLayerOL.setVisibility(!1);else{for(var b=0;b<this.aVisibleGroups.length;b++)if(this.aVisibleGroups[b]==a){this.aVisibleGroups.splice(b,
1);break}a=this.layerRoot.findGroup(a);this.deferredDraw=!0;for(b=0;b<a.layers.length;++b)a.layers[b].hide();this.deferredDraw=!1;this.drawMap()}},refreshLayer:function(a){this.drawMap()},hasSelection:function(){return this.bSelectionOn},getSelectionCB:function(a,b){if(200==b.status){eval("o="+b.responseText);var d=new Fusion.SelectionObject(void 0);a(d)}},newSelection:function(){this.bSelectionOn=!0;this.drawMap();this.triggerEvent(Fusion.Event.MAP_SELECTION_ON)},getSelectedFeatureCount:function(){for(var a=
0,b=0;b<this.aLayers.length;++b)a+=this.aLayers[b].selectedFeatureCount;return a},getSelectedLayers:function(){for(var a=[],b=0;b<this.aLayers.length;++b)0<this.aLayers[b].selectedFeatureCount&&a.push(this.aLayers[b]);return a},getSelectableLayers:function(){for(var a=[],b=0;b<this.aLayers.length;++b)this.aLayers[b].selectable&&a.push(this.aLayers[b]);return a},getSelection:function(a,b,d){if(a){var e="layers/"+this.arch+"/"+Fusion.getScriptLanguage()+"/Selection."+Fusion.getScriptLanguage();a={parameters:{mapname:this._sMapname,
session:this.getSessionID(),layers:b,startcount:d,queryfile:this._sQueryfile},onSuccess:OpenLayers.Function.bind(this.getSelectionCB,this,a)};Fusion.ajaxRequest(e,a)}},clearSelection:function(){if(this.aLayers){for(var a=0;a<this.aLayers.length;++a)this.aLayers[a].selectedFeatureCount=0;this.bSelectionOn=!1;this._sQueryfile="";this.triggerEvent(Fusion.Event.MAP_SELECTION_OFF);this.drawMap();this.oSelection=null}},processQueryResults:function(a,b){this.mapWidget._removeWorker();if(200==b.status&&(eval("o="+
b.responseText),(void 0).hasSelection)){this._sQueryfile=(void 0).queryFile;for(var d=0;d<(void 0).layers.length;++d)for(var e=(void 0).layers[d],f=0;f<this.aLayers.length;++f)e==this.aLayers[f].layerName&&(this.aLayers[f].selectedFeatureCount=(void 0)[e].featureCount);this.newSelection();a&&(d=oNode.extents,d=new OpenLayers.Bounds(d.minx,d.miny,d.maxx,d.maxy),this.zoomToSelection(d))}},query:function(a){this.mapWidget._addWorker();for(var b=0;b<this.aLayers.length;++b)this.aLayers[b].selectedFeatureCount=
0;var d=a.layers||"",b=a.zoomTo||!1,e=Fusion.getScriptLanguage(),e="layers/"+this.arch+"/"+e+"/Query."+e,d={mapname:this._sMapname,session:this.getSessionID(),spatialfilter:a.geometry||"",maxfeatures:a.maxFeatures||-1,layers:d,variant:a.selectionType||this.selectionType};a.filter&&(d.filter=a.filter,d.filterItem=a.filterItem);a.extendSelection&&(d.extendselection=!0);a.computedProperties&&(d.computed=!0);a={onSuccess:OpenLayers.Function.bind(this.processQueryResults,this,b),parameters:d};Fusion.ajaxRequest(e,
a)},pingServer:function(){var a="layers/"+this.arch+"/"+Fusion.getScriptLanguage()+"/Common."+Fusion.getScriptLanguage(),b={};b.parameters={session:this.getSessionID()};Fusion.ajaxRequest(a,b)},getMetadata:function(a,b){if(b){var d=this.getLayerByName(b);return d.metadata&&"undefined"!=typeof d.metadata[a]?d.metadata[a]:""}if(this.metadata&&"undefined"!=typeof this.metadata[a])return this.metadata[a];for(var e=d="",f=0;f<this.aLayers.length;f++)this.aLayers[f].metadata&&"undefined"!=typeof this.aLayers[f].metadata[a]&&
0<this.aLayers[f].metadata[a].length&&(d+=e+this.aLayers[f].legendLabel+":"+this.aLayers[f].metadata[a],e=" - ");return d},getGroupInfoUrl:function(a){return null},getLayerInfoUrl:function(a){var b=this.getLayerByName(a);a=null;b&&(b=b.metadata)&&b.LAYERINFOURL&&(a=b.LAYERINFOURL);return a},getLayerByName:function(a){for(var b=null,d=0;d<this.aLayers.length;d++)if(this.aLayers[d].layerName==a){b=this.aLayers[d];break}return b},getLayerById:function(a){for(var b=null,d=0;d<this.aLayers.length;d++)if(this.aLayers[d].uniqueId==
a){b=this.aLayers[d];break}return b},getLegendImageURL:function(a,b,d){a=Fusion.getScriptLanguage();a=Fusion.getFusionURL()+"/layers/"+this.arch+"/"+a+"/LegendIcon."+a;var e=this.getSessionID();return a+"?"+("mapname="+this._sMapname+"&session="+e+"&layername="+b.resourceId+"&classindex="+d.index)},getLinkParams:function(){var a={};a.theme=this.sMapFile;return a},getMapTip:function(a){if(this.aLayers&&this.aLayers.length&&this.aLayers[0].scaleRanges&&!1==this.bMapTipFired){for(var b=this.mapWidget.pixToGeo(a.oCurrentPosition.x,
a.oCurrentPosition.y),d=this.mapWidget.pixToGeoMeasure(a.nTolerance),e=b.x-d,f=b.y-d,g=b.x+d,b=b.y+d,e="POLYGON(("+e+" "+f+", "+e+" "+b+", "+g+" "+b+", "+g+" "+f+", "+e+" "+f+"))",f=[],g=0;g<this.aLayers.length;g++){var b=this.aLayers[g].scaleRanges[0].minScale,d=this.aLayers[g].scaleRanges[0].maxScale,h=this.mapWidget.getScale();h<d&&h>b&&!0===this.aLayers[g].isVisible()&&f.push(this.aLayers[g].layerName)}g="/layers/"+this.arch+"/php/Maptip.php";a={mapname:this._sMapname,session:this.getSessionID(),
spatialfilter:e,maxfeatures:0,variant:"INTERSECTS",layer:a.aLayers||"",textfield:a.aTextFields||"",label:a.aLabels||"",customURL:a.aCustomURL||"",visLayers:f};var l=this.parseMapTip.bind(this);this.bMapTipFired=!0;Fusion.ajaxRequest(g,{onSuccess:function(a){eval("rjson="+a.responseText);l(rjson)},parameters:a})}},parseMapTip:function(a){this.bMapTipFired=!1;this.oMaptip={};this.oMaptip.t=a.maptips;this.oMaptip.h=a.url;this.oMaptip.l=a.label;this.mapWidget.triggerEvent(Fusion.Event.MAP_MAPTIP_REQ_FINISHED,
this.oMaptip)}});var MSLAYER_POINT_TYPE=0,MSLAYER_LINE_TYPE=1,MSLAYER_POLYGON_TYPE=2,MSLAYER_SOLID_TYPE=3,MSLAYER_RASTER_TYPE=4;
//@ sourceMappingURL=fusionSF-compressed.js.map