From 78bd0ad5d1d3e516951323ce14f5e3082113f2ae Mon Sep 17 00:00:00 2001 From: "Marco Giraudi (Old Snapo)" Date: Mon, 5 Feb 2018 10:35:26 +0100 Subject: [PATCH 001/139] Bugifix: relative path for gliphicons --- templates/geoweb/sidebar.css | 2 +- templates/mobile/sidebar.css | 2 +- templates/wfm-osfc/sidebar.css | 2 +- templates/wfm-osvc/sidebar.css | 14 +++++++------- templates/wfm-sap/sidebar.css | 14 +++++++------- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/templates/geoweb/sidebar.css b/templates/geoweb/sidebar.css index 9e67c92..838c114 100644 --- a/templates/geoweb/sidebar.css +++ b/templates/geoweb/sidebar.css @@ -270,7 +270,7 @@ *margin-right: .3em; line-height: 14px; vertical-align: text-top; - background-image: url("../resources/img/glyphicons-halflings.png"); + background-image: url("../../resources/img/glyphicons-halflings.png"); background-position: 14px 14px; background-repeat: no-repeat; background-position: -120px -120px; diff --git a/templates/mobile/sidebar.css b/templates/mobile/sidebar.css index 60f8297..5f66564 100644 --- a/templates/mobile/sidebar.css +++ b/templates/mobile/sidebar.css @@ -608,7 +608,7 @@ *margin-right: .3em; line-height: 14px; vertical-align: text-top; - background-image: url("../resources/img/glyphicons-halflings.png"); + background-image: url("../../resources/img/glyphicons-halflings.png"); background-position: 14px 14px; background-repeat: no-repeat; background-position: -120px -120px; diff --git a/templates/wfm-osfc/sidebar.css b/templates/wfm-osfc/sidebar.css index 60f8297..5f66564 100644 --- a/templates/wfm-osfc/sidebar.css +++ b/templates/wfm-osfc/sidebar.css @@ -608,7 +608,7 @@ *margin-right: .3em; line-height: 14px; vertical-align: text-top; - background-image: url("../resources/img/glyphicons-halflings.png"); + background-image: url("../../resources/img/glyphicons-halflings.png"); background-position: 14px 14px; background-repeat: no-repeat; background-position: -120px -120px; diff --git a/templates/wfm-osvc/sidebar.css b/templates/wfm-osvc/sidebar.css index f09078a..7a92eef 100644 --- a/templates/wfm-osvc/sidebar.css +++ b/templates/wfm-osvc/sidebar.css @@ -115,25 +115,25 @@ #sidebar-panel .panel-header .panel-clearresults{ float:right; width:30px; - color:#fff; + color:#fff; cursor: pointer; } #sidebar-panel .panel-header .panel-close{ float:right; width:30px; - color:#fff; + color:#fff; cursor: pointer; } #sidebar-panel .panel-header .panel-expand{ float:right; width:30px; - color:#fff; + color:#fff; cursor: pointer; } #sidebar-panel .panel-header .panel-collapse{ float:right; width:30px; - color:#fff; + color:#fff; cursor: pointer; display:none; } @@ -273,7 +273,7 @@ *margin-right: .3em; line-height: 14px; vertical-align: text-top; - background-image: url("../resources/img/glyphicons-halflings.png"); + background-image: url("../../resources/img/glyphicons-halflings.png"); background-position: 14px 14px; background-repeat: no-repeat; background-position: -120px -120px; @@ -295,7 +295,7 @@ #layerlegend p{ - color: #404040; + color: #404040; font-weight: bold; } @@ -341,4 +341,4 @@ div.fast-navigate { .olControlPIPESelectActive { cursor:crosshair; -} \ No newline at end of file +} diff --git a/templates/wfm-sap/sidebar.css b/templates/wfm-sap/sidebar.css index f09078a..7a92eef 100644 --- a/templates/wfm-sap/sidebar.css +++ b/templates/wfm-sap/sidebar.css @@ -115,25 +115,25 @@ #sidebar-panel .panel-header .panel-clearresults{ float:right; width:30px; - color:#fff; + color:#fff; cursor: pointer; } #sidebar-panel .panel-header .panel-close{ float:right; width:30px; - color:#fff; + color:#fff; cursor: pointer; } #sidebar-panel .panel-header .panel-expand{ float:right; width:30px; - color:#fff; + color:#fff; cursor: pointer; } #sidebar-panel .panel-header .panel-collapse{ float:right; width:30px; - color:#fff; + color:#fff; cursor: pointer; display:none; } @@ -273,7 +273,7 @@ *margin-right: .3em; line-height: 14px; vertical-align: text-top; - background-image: url("../resources/img/glyphicons-halflings.png"); + background-image: url("../../resources/img/glyphicons-halflings.png"); background-position: 14px 14px; background-repeat: no-repeat; background-position: -120px -120px; @@ -295,7 +295,7 @@ #layerlegend p{ - color: #404040; + color: #404040; font-weight: bold; } @@ -341,4 +341,4 @@ div.fast-navigate { .olControlPIPESelectActive { cursor:crosshair; -} \ No newline at end of file +} From 423d1bd9835bc1c1fbcd0fc6da58ec23ff821d8c Mon Sep 17 00:00:00 2001 From: "Marco Giraudi (Old Snapo)" Date: Thu, 8 Feb 2018 17:03:13 +0100 Subject: [PATCH 002/139] Upgrade to Openlayers 2.14 for mobile templates Fix LayerTree bugs Fix QueryMap bug --- jquery/mobile.html | 2 +- jquery/mobile.js | 63 - resources/jslib/GisClientMap.js | 9 +- resources/jslib/LayerTree.js | 58 +- resources/jslib/OpenLayers.js | 4478 ++++++----------- resources/jslib/QueryMap.js | 4 +- resources/jslib/m.LayerTree.js | 255 +- resources/themes/openlayers/google.css | 0 resources/themes/openlayers/google.tidy.css | 1 - resources/themes/openlayers/ie6-style.css | 0 .../themes/openlayers/ie6-style.tidy.css | 1 - .../themes/openlayers/img/add_point_off.png | Bin .../themes/openlayers/img/add_point_on.png | Bin resources/themes/openlayers/img/blank.gif | Bin resources/themes/openlayers/img/close.gif | Bin .../openlayers/img/drag-rectangle-off.png | Bin .../openlayers/img/drag-rectangle-on.png | Bin .../themes/openlayers/img/draw_line_off.png | Bin .../themes/openlayers/img/draw_line_on.png | Bin .../themes/openlayers/img/draw_point_off.png | Bin .../themes/openlayers/img/draw_point_on.png | Bin .../openlayers/img/draw_polygon_off.png | Bin .../themes/openlayers/img/draw_polygon_on.png | Bin .../openlayers/img/editing_tool_bar.png | Bin .../openlayers/img/move_feature_off.png | Bin .../themes/openlayers/img/move_feature_on.png | Bin .../openlayers/img/navigation_history.png | Bin .../openlayers/img/overview_replacement.gif | Bin .../openlayers/img/pan-panel-NOALPHA.png | Bin resources/themes/openlayers/img/pan-panel.png | Bin resources/themes/openlayers/img/pan_off.png | Bin resources/themes/openlayers/img/pan_on.png | Bin .../openlayers/img/panning-hand-off.png | Bin .../themes/openlayers/img/panning-hand-on.png | Bin .../openlayers/img/remove_point_off.png | Bin .../themes/openlayers/img/remove_point_on.png | Bin resources/themes/openlayers/img/ruler.png | Bin .../openlayers/img/save_features_off.png | Bin .../openlayers/img/save_features_on.png | Bin .../themes/openlayers/img/view_next_off.png | Bin .../themes/openlayers/img/view_next_on.png | Bin .../openlayers/img/view_previous_off.png | Bin .../openlayers/img/view_previous_on.png | Bin .../openlayers/img/zoom-panel-NOALPHA.png | Bin .../themes/openlayers/img/zoom-panel.png | Bin resources/themes/openlayers/style.css | 52 +- resources/themes/openlayers/style.mobile.css | 3 +- .../themes/openlayers/style.mobile.tidy.css | 1 - resources/themes/openlayers/style.tidy.css | 1 - templates/mobile/index.html | 2 +- templates/mobile/index.js | 64 +- templates/wfm-osfc/index.html | 2 +- templates/wfm-osfc/index.js | 62 - 53 files changed, 1648 insertions(+), 3410 deletions(-) mode change 100755 => 100644 resources/themes/openlayers/google.css delete mode 100755 resources/themes/openlayers/google.tidy.css mode change 100755 => 100644 resources/themes/openlayers/ie6-style.css delete mode 100755 resources/themes/openlayers/ie6-style.tidy.css mode change 100755 => 100644 resources/themes/openlayers/img/add_point_off.png mode change 100755 => 100644 resources/themes/openlayers/img/add_point_on.png mode change 100755 => 100644 resources/themes/openlayers/img/blank.gif mode change 100755 => 100644 resources/themes/openlayers/img/close.gif mode change 100755 => 100644 resources/themes/openlayers/img/drag-rectangle-off.png mode change 100755 => 100644 resources/themes/openlayers/img/drag-rectangle-on.png mode change 100755 => 100644 resources/themes/openlayers/img/draw_line_off.png mode change 100755 => 100644 resources/themes/openlayers/img/draw_line_on.png mode change 100755 => 100644 resources/themes/openlayers/img/draw_point_off.png mode change 100755 => 100644 resources/themes/openlayers/img/draw_point_on.png mode change 100755 => 100644 resources/themes/openlayers/img/draw_polygon_off.png mode change 100755 => 100644 resources/themes/openlayers/img/draw_polygon_on.png mode change 100755 => 100644 resources/themes/openlayers/img/editing_tool_bar.png mode change 100755 => 100644 resources/themes/openlayers/img/move_feature_off.png mode change 100755 => 100644 resources/themes/openlayers/img/move_feature_on.png mode change 100755 => 100644 resources/themes/openlayers/img/navigation_history.png mode change 100755 => 100644 resources/themes/openlayers/img/overview_replacement.gif mode change 100755 => 100644 resources/themes/openlayers/img/pan-panel-NOALPHA.png mode change 100755 => 100644 resources/themes/openlayers/img/pan-panel.png mode change 100755 => 100644 resources/themes/openlayers/img/pan_off.png mode change 100755 => 100644 resources/themes/openlayers/img/pan_on.png mode change 100755 => 100644 resources/themes/openlayers/img/panning-hand-off.png mode change 100755 => 100644 resources/themes/openlayers/img/panning-hand-on.png mode change 100755 => 100644 resources/themes/openlayers/img/remove_point_off.png mode change 100755 => 100644 resources/themes/openlayers/img/remove_point_on.png mode change 100755 => 100644 resources/themes/openlayers/img/ruler.png mode change 100755 => 100644 resources/themes/openlayers/img/save_features_off.png mode change 100755 => 100644 resources/themes/openlayers/img/save_features_on.png mode change 100755 => 100644 resources/themes/openlayers/img/view_next_off.png mode change 100755 => 100644 resources/themes/openlayers/img/view_next_on.png mode change 100755 => 100644 resources/themes/openlayers/img/view_previous_off.png mode change 100755 => 100644 resources/themes/openlayers/img/view_previous_on.png mode change 100755 => 100644 resources/themes/openlayers/img/zoom-panel-NOALPHA.png mode change 100755 => 100644 resources/themes/openlayers/img/zoom-panel.png mode change 100755 => 100644 resources/themes/openlayers/style.css mode change 100755 => 100644 resources/themes/openlayers/style.mobile.css delete mode 100755 resources/themes/openlayers/style.mobile.tidy.css delete mode 100755 resources/themes/openlayers/style.tidy.css diff --git a/jquery/mobile.html b/jquery/mobile.html index 1d9ea61..d259f5b 100644 --- a/jquery/mobile.html +++ b/jquery/mobile.html @@ -24,7 +24,7 @@ - + diff --git a/jquery/mobile.js b/jquery/mobile.js index 4e62c23..8541e6f 100644 --- a/jquery/mobile.js +++ b/jquery/mobile.js @@ -3,17 +3,6 @@ var mycontrol,ismousedown; window.GCComponents = {}; -function adjustPanZoomBar(olControl, toolOffset){ - var cZoom = $('.olControlPanZoomBar').offset(); - if (toolOffset) - { - if (olControl.active) - $('.olControlPanZoomBar').offset({top: cZoom.top + toolOffset, left: cZoom.left } ); - else - $('.olControlPanZoomBar').offset({top: cZoom.top - toolOffset, left: cZoom.left } ); - } -} - var sidebarPanel = { closeTimeout: null, isOpened: false, @@ -157,40 +146,6 @@ var customCreateControlMarkup = function(control) { textSpan.innerHTML = control.text; } button.appendChild(textSpan); - - // **** Manually trigger sidebar buttons to avoid erratic/device dependent browser touch handling problems - button.addEventListener('touchstart', function(e) { - e.preventDefault(); - e.stopPropagation(); - if (e.target) { - e.preventDefault(); - e.stopPropagation(); - var objCtrl; - if (e.target.tagName == 'SPAN' ) { - objCtrl = e.target.parentElement; - } - else if (e.target.tagName == 'A' ) { - objCtrl = e.target; - } - else { - return true; - } - - var targetCTRL = GisClientMap.map.getControlsBy('panel_div', objCtrl); - if (targetCTRL.length > 0) { - if (typeof targetCTRL[0].trigger == 'function') { - targetCTRL[0].trigger(); - } - else { - if (targetCTRL[0].active) - targetCTRL[0].deactivate(); - else - targetCTRL[0].activate(); - } - } - } - return false;}); - return button; }; @@ -1166,15 +1121,11 @@ var initMap = function(){ if (this.active) { this.deactivate(); reportToolbar.deactivate(); - //adjustPanZoomBar(reportToolbar, 60); } else { this.activate(); reportToolbar.activate(); - //queryToolbar.controls[0].activate(); - //adjustPanZoomBar(reportToolbar, 60); - } } }), @@ -1184,27 +1135,15 @@ var initMap = function(){ if (this.active) { this.deactivate(); measureToolbar.deactivate(); - //adjustPanZoomBar(measureToolbar, 27); } else { this.activate(); measureToolbar.activate(); - //adjustPanZoomBar(measureToolbar, 27); } } }), -/* - new OpenLayers.Control.Button({iconclass:"glyphicon-white glyphicon-edit", type: OpenLayers.Control.TYPE_TOGGLE, title:"Editor vettoriale", - - eventListeners: { - 'activate': function(){vectorEditor.startEditMode();}, - 'deactivate': function(){vectorEditor.stopEditMode();} - } - }), - - */ new OpenLayers.Control.Button({iconclass:"glyphicon-white glyphicon-pencil", title:"Redline", trigger: function() { if (this.active) { @@ -1212,7 +1151,6 @@ var initMap = function(){ this.deactivate(); redlineToolbar.deactivate(); $('#map-toolbars').css('top', '2px'); - //adjustPanZoomBar(redlineToolbar, 44); } else { @@ -1220,7 +1158,6 @@ var initMap = function(){ redlineToolbar.activate(); var nShift = $('#map-toolbars-edit')[0].getBoundingClientRect().height + 3; $('#map-toolbars').css('top', nShift + 'px'); - //adjustPanZoomBar(redlineToolbar, 44); } } }), diff --git a/resources/jslib/GisClientMap.js b/resources/jslib/GisClientMap.js index 86b7885..c7b7fe0 100755 --- a/resources/jslib/GisClientMap.js +++ b/resources/jslib/GisClientMap.js @@ -157,11 +157,12 @@ OpenLayers.GisClient = OpenLayers.Class({ if(!Proj4js.defs[key]) Proj4js.defs[key] = this.projdefs[key]; } } - /*//CHISSA' PER QUALE RAGIONE IN PHP NON SI RIESCE A TRASFORMARE CORRETTAMENTE LE STRINGHE IN FLOAT - for (var i = 0; i < this.mapOptions.serverResolutions.length; i++) { - this.mapOptions.serverResolutions[i] = parseFloat(this.mapOptions.serverResolutions[i]); + // **** Parse to float resolutions + // **** NOTE: gisclient will generate resolutions array as string, to override php floating point precision limit + for (var i = 0; i < this.mapOptions.resolutions.length; i++) { + this.mapOptions.resolutions[i] = parseFloat(this.mapOptions.resolutions[i]); }; - */ + //this.mapOptions.resolutions = this.mapOptions.serverResolutions.slice(this.mapOptions.minZoomLevel, this.mapOptions.maxZoomLevel); var nProviders = 0; diff --git a/resources/jslib/LayerTree.js b/resources/jslib/LayerTree.js index c187c26..14ea8be 100644 --- a/resources/jslib/LayerTree.js +++ b/resources/jslib/LayerTree.js @@ -12,13 +12,13 @@ OpenLayers.Control.LayerTree = OpenLayers.Class(OpenLayers.Control.LayerSwitcher }, destroy: function() { - this.map.events.unregister("zoomend", this, this.updadeNodeStatus); + this.map.events.unregister("zoomend", this, this.updateNodeStatus); OpenLayers.Control.LayerSwitcher.prototype.destroy.apply(this, arguments); }, setMap: function(map) { OpenLayers.Control.LayerSwitcher.prototype.setMap.apply(this, arguments); - this.map.events.register("zoomend", this, this.updadeNodeStatus); + this.map.events.register("zoomend", this, this.updateNodeStatus); // ********************* Init base and overlay tree data ********************* // **** First, insert empty base layer (Layer 0) @@ -53,7 +53,7 @@ OpenLayers.Control.LayerTree = OpenLayers.Class(OpenLayers.Control.LayerSwitcher draw: function() { OpenLayers.Control.LayerSwitcher.prototype.draw.apply(this); - this.updadeNodeStatus(); + this.updateNodeStatus(); this.errorDiv = document.createElement("div"); this.errorDiv.id = this.id + "_errorDiv"; @@ -184,11 +184,8 @@ OpenLayers.Control.LayerTree = OpenLayers.Class(OpenLayers.Control.LayerSwitcher -//??????CHE ME NE FACCIO - var containsOverlays = false; - var containsBaseLayers = false; - containsBaseLayers = true; - containsOverlays = true; + var containsBaseLayers = (this.baselayerData.length >0)?true:false; + var containsOverlays = (this.overlayData.length >0)?true:false; //this.baseLbl.innerHTML = '
Livelli di base
'; //$("
jahdkajhdlfk
").insertBefore($(this.dataLbl)) @@ -196,11 +193,13 @@ OpenLayers.Control.LayerTree = OpenLayers.Class(OpenLayers.Control.LayerSwitcher //this.dataLbl.innerHTML = '
Attiva navigazione veloce
'; //this.dataLbl.innerHTML += '
Disattiva navigazione veloce
'; - // if no overlays, dont display the overlay label + // if no overlays, dont display the overlay label and tree this.dataLbl.style.display = (containsOverlays) ? "" : "none"; + this.dataLayersDiv.style.display = (containsOverlays) ? "" : "none"; - // if no baselayers, dont display the baselayer label + // if no baselayers, dont display the baselayer label and tree this.baseLbl.style.display = (containsBaseLayers) ? "" : "none"; + self.baseLayersDiv.style.display = (containsBaseLayers) ? "" : "none"; var $ovelaysDiv = jQuery(this.dataLayersDiv); @@ -211,10 +210,10 @@ OpenLayers.Control.LayerTree = OpenLayers.Class(OpenLayers.Control.LayerSwitcher //return this.div; }, - updadeNodeStatus: function(){ + updateNodeStatus: function(){ for (var i = 0; i < this.map.layers.length; i++) { - this.checkNodeState(this.map.layers[i]) + this.checkLayerNodeState(this.map.layers[i]) }; }, @@ -264,7 +263,7 @@ OpenLayers.Control.LayerTree = OpenLayers.Class(OpenLayers.Control.LayerSwitcher }, - checkNodeState: function(layer){ + checkLayerNodeState: function(layer){ var self = this; var inRange; var node = self.overlayTree.tree('find',layer.id); @@ -279,8 +278,7 @@ OpenLayers.Control.LayerTree = OpenLayers.Class(OpenLayers.Control.LayerSwitcher skipIndex++; return; } - inRange = self.isChildNodeinRange(layer.nodes[index-skipIndex]); - self.changeNodeState(childNode,inRange); + self.checkNodeState(layer.nodes[index-skipIndex], childNode); } }) /* NON DISABILITO MAI IL NODO DEL TEMA @@ -293,6 +291,23 @@ OpenLayers.Control.LayerTree = OpenLayers.Class(OpenLayers.Control.LayerSwitcher } }, + checkNodeState: function(layerNode, treeNode) { + var self = this; + var inRange = self.isChildNodeinRange(layerNode); + var skipIndex = 0; + + self.changeNodeState(treeNode, inRange); + jQuery.each(self.overlayTree.tree('getChildren',(treeNode.target)),function(index,childNode){ + if (layerNode.nodes && layerNode.nodes[index-skipIndex]){ + if (layerNode.nodes[index-skipIndex].title != childNode.text){ + skipIndex++; + return; + } + self.checkNodeState(layerNode.nodes[index-skipIndex], childNode); + } + }) + }, + isChildNodeinRange: function(node){ var scale = this.map.getScale(); @@ -346,6 +361,12 @@ OpenLayers.Control.LayerTree = OpenLayers.Class(OpenLayers.Control.LayerSwitcher //clear out previous layers this.clearLayersArray("base"); + if (this.baselayerData.length === 1) { + self.map.setBaseLayer(self.map.getLayersByName('EMPTY_BASE_LAYER')[0]); + this.baselayerData = this.baselayerData.slice(1); + return; + } + //SE HO IL TITOLO DEL BASELAYER VUOTO AGGIUNGO IL TITOLO AL NODO DELL'ALBERO E SPSOSTO IL NODO IN ROOT //ALTRIMENTI ELIMINO IL NODO DALL'ALBERO (BASE VUOTA NASCOSTO) if(this.emptyTitle == '') { @@ -599,7 +620,10 @@ OpenLayers.Control.LayerTree = OpenLayers.Class(OpenLayers.Control.LayerSwitcher layerOrder = oLayer.nodes[j].order; leafNode = {id:oLayer.id + "_" + j, text:oLayer.nodes[j].title, iconCls:"overlay-param", attributes:{layer:oLayer, layerParam:layerParam, order:layerOrder}} - if(typeof(oLayer.nodes[j].visibility)) leafNode.checked = oLayer.nodes[j].visibility; + if(typeof(oLayer.nodes[j].visibility) != 'undefined') + leafNode.checked = oLayer.nodes[j].visibility; + else if (typeof(chNode.checked) != 'undefined') + leafNode.checked = chNode.checked; if(oLayer.theme == oLayer.title) fTypes = this.getFetureTypes(layerParam); //SINGOLO TEMA if((fTypes.length > 0 && oLayer.theme == oLayer.title) || (fTypes.length > 0 && fTypes[0].typeName == layerParam)){ leafNode.queryable = true; @@ -610,7 +634,7 @@ OpenLayers.Control.LayerTree = OpenLayers.Class(OpenLayers.Control.LayerSwitcher leafNode.iconCls = "overlay"; leafNode.children = []; for (var k = 0; k < oLayer.nodes[j].nodes.length; k++) { - leaf_leafNode = {id:oLayer.id + "_" + j + "_" + k, text:oLayer.nodes[j].nodes[k].title, iconCls:"overlay-param", attributes:{layer:oLayer, layerParam:oLayer.nodes[j].nodes[k].layer}} + leaf_leafNode = {id:oLayer.id + "_" + j + "_" + k, text:oLayer.nodes[j].nodes[k].title, iconCls:"overlay-param", attributes:{layer:oLayer, layerParam:oLayer.nodes[j].nodes[k].layer}, checked:leafNode.checked} leafNode.children.push(leaf_leafNode); } } diff --git a/resources/jslib/OpenLayers.js b/resources/jslib/OpenLayers.js index bbaf19c..61c6179 100644 --- a/resources/jslib/OpenLayers.js +++ b/resources/jslib/OpenLayers.js @@ -55,3013 +55,1471 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -var OpenLayers={VERSION_NUMBER:"Release 2.14 dev",singleFile:true,_getScriptLocation:(function(){var r=new RegExp("(^|(.*?\\/))(OpenLayers[^\\/]*?\\.js)(\\?|$)"),s=document.getElementsByTagName('script'),src,m,l="";for(var i=0,len=s.length;i1){var newArgs=[C,P].concat(Array.prototype.slice.call(arguments).slice(1,len-1),F);OpenLayers.inherit.apply(null,newArgs);}else{C.prototype=F;} -return C;};OpenLayers.inherit=function(C,P){var F=function(){};F.prototype=P.prototype;C.prototype=new F;var i,l,o;for(i=2,l=arguments.length;i0){fig=parseFloat(num.toPrecision(sig));} -return fig;},format:function(num,dec,tsep,dsep){dec=(typeof dec!="undefined")?dec:0;tsep=(typeof tsep!="undefined")?tsep:OpenLayers.Number.thousandsSeparator;dsep=(typeof dsep!="undefined")?dsep:OpenLayers.Number.decimalSeparator;if(dec!=null){num=parseFloat(num.toFixed(dec));} -var parts=num.toString().split(".");if(parts.length==1&&dec==null){dec=0;} -var integer=parts[0];if(tsep){var thousands=/(-?[0-9]+)([0-9]{3})/;while(thousands.test(integer)){integer=integer.replace(thousands,"$1"+tsep+"$2");}} -var str;if(dec==0){str=integer;}else{var rem=parts.length>1?parts[1]:"0";if(dec!=null){rem=rem+new Array(dec-rem.length+1).join("0");} -str=integer+dsep+rem;} -return str;},zeroPad:function(num,len,radix){var str=num.toString(radix||10);while(str.lengththis.right)){this.right=object.right;} -if((this.top==null)||(object.top>this.top)){this.top=object.top;} -break;}}},extendXY:function(x,y){this.centerLonLat=null;if((this.left==null)||(xthis.right)){this.right=x;} -if((this.top==null)||(y>this.top)){this.top=y;}},containsLonLat:function(ll,options){if(typeof options==="boolean"){options={inclusive:options};} -options=options||{};var contains=this.contains(ll.lon,ll.lat,options.inclusive),worldBounds=options.worldBounds;if(worldBounds&&!contains){var worldWidth=worldBounds.getWidth();var worldCenterX=(worldBounds.left+worldBounds.right)/2;var worldsAway=Math.round((ll.lon-worldCenterX)/worldWidth);contains=this.containsLonLat({lon:ll.lon-worldsAway*worldWidth,lat:ll.lat},{inclusive:options.inclusive});} -return contains;},containsPixel:function(px,inclusive){return this.contains(px.x,px.y,inclusive);},contains:function(x,y,inclusive){if(inclusive==null){inclusive=true;} -if(x==null||y==null){return false;} -x=OpenLayers.Util.toFloat(x);y=OpenLayers.Util.toFloat(y);var contains=false;if(inclusive){contains=((x>=this.left)&&(x<=this.right)&&(y>=this.bottom)&&(y<=this.top));}else{contains=((x>this.left)&&(xthis.bottom)&&(y=self.bottom)&&(bounds.bottom<=self.top))||((self.bottom>=bounds.bottom)&&(self.bottom<=bounds.top)));var inTop=(((bounds.top>=self.bottom)&&(bounds.top<=self.top))||((self.top>bounds.bottom)&&(self.top=self.left)&&(bounds.left<=self.right))||((self.left>=bounds.left)&&(self.left<=bounds.right)));var inRight=(((bounds.right>=self.left)&&(bounds.right<=self.right))||((self.right>=bounds.left)&&(self.right<=bounds.right)));intersects=((inBottom||inTop)&&(inLeft||inRight));} -if(options.worldBounds&&!intersects){var world=options.worldBounds;var width=world.getWidth();var selfCrosses=!world.containsBounds(self);var boundsCrosses=!world.containsBounds(bounds);if(selfCrosses&&!boundsCrosses){bounds=bounds.add(-width,0);intersects=self.intersectsBounds(bounds,{inclusive:options.inclusive});}else if(boundsCrosses&&!selfCrosses){self=self.add(-width,0);intersects=bounds.intersectsBounds(self,{inclusive:options.inclusive});}} -return intersects;},containsBounds:function(bounds,partial,inclusive){if(partial==null){partial=false;} -if(inclusive==null){inclusive=true;} -var bottomLeft=this.contains(bounds.left,bounds.bottom,inclusive);var bottomRight=this.contains(bounds.right,bounds.bottom,inclusive);var topLeft=this.contains(bounds.left,bounds.top,inclusive);var topRight=this.contains(bounds.right,bounds.top,inclusive);return(partial)?(bottomLeft||bottomRight||topLeft||topRight):(bottomLeft&&bottomRight&&topLeft&&topRight);},determineQuadrant:function(lonlat){var quadrant="";var center=this.getCenterLonLat();quadrant+=(lonlat.lat=maxExtent.right&&newBounds.right>maxExtent.right){newBounds=newBounds.add(-width,0);} -var newLeft=newBounds.left+leftTolerance;if(newLeftmaxExtent.left&&newBounds.right-rightTolerance>maxExtent.right){newBounds=newBounds.add(-width,0);}} -return newBounds;},CLASS_NAME:"OpenLayers.Bounds"});OpenLayers.Bounds.fromString=function(str,reverseAxisOrder){var bounds=str.split(",");return OpenLayers.Bounds.fromArray(bounds,reverseAxisOrder);};OpenLayers.Bounds.fromArray=function(bbox,reverseAxisOrder){return reverseAxisOrder===true?new OpenLayers.Bounds(bbox[1],bbox[0],bbox[3],bbox[2]):new OpenLayers.Bounds(bbox[0],bbox[1],bbox[2],bbox[3]);};OpenLayers.Bounds.fromSize=function(size){return new OpenLayers.Bounds(0,size.h,size.w,0);};OpenLayers.Bounds.oppositeQuadrant=function(quadrant){var opp="";opp+=(quadrant.charAt(0)=='t')?'b':'t';opp+=(quadrant.charAt(1)=='l')?'r':'l';return opp;};OpenLayers.Element={visible:function(element){return OpenLayers.Util.getElement(element).style.display!='none';},toggle:function(){for(var i=0,len=arguments.length;imaxExtent.right){newLonLat.lon-=maxExtent.getWidth();}} -return newLonLat;},CLASS_NAME:"OpenLayers.LonLat"});OpenLayers.LonLat.fromString=function(str){var pair=str.split(",");return new OpenLayers.LonLat(pair[0],pair[1]);};OpenLayers.LonLat.fromArray=function(arr){var gotArr=OpenLayers.Util.isArray(arr),lon=gotArr&&arr[0],lat=gotArr&&arr[1];return new OpenLayers.LonLat(lon,lat);};OpenLayers.Pixel=OpenLayers.Class({x:0.0,y:0.0,initialize:function(x,y){this.x=parseFloat(x);this.y=parseFloat(y);},toString:function(){return("x="+this.x+",y="+this.y);},clone:function(){return new OpenLayers.Pixel(this.x,this.y);},equals:function(px){var equals=false;if(px!=null){equals=((this.x==px.x&&this.y==px.y)||(isNaN(this.x)&&isNaN(this.y)&&isNaN(px.x)&&isNaN(px.y)));} -return equals;},distanceTo:function(px){return Math.sqrt(Math.pow(this.x-px.x,2)+ -Math.pow(this.y-px.y,2));},add:function(x,y){if((x==null)||(y==null)){throw new TypeError('Pixel.add cannot receive null values');} -return new OpenLayers.Pixel(this.x+x,this.y+y);},offset:function(px){var newPx=this.clone();if(px){newPx=this.add(px.x,px.y);} -return newPx;},CLASS_NAME:"OpenLayers.Pixel"});OpenLayers.Size=OpenLayers.Class({w:0.0,h:0.0,initialize:function(w,h){this.w=parseFloat(w);this.h=parseFloat(h);},toString:function(){return("w="+this.w+",h="+this.h);},clone:function(){return new OpenLayers.Size(this.w,this.h);},equals:function(sz){var equals=false;if(sz!=null){equals=((this.w==sz.w&&this.h==sz.h)||(isNaN(this.w)&&isNaN(this.h)&&isNaN(sz.w)&&isNaN(sz.h)));} -return equals;},CLASS_NAME:"OpenLayers.Size"});OpenLayers.Console={log:function(){},debug:function(){},info:function(){},warn:function(){},error:function(){},userError:function(error){alert(error);},assert:function(){},dir:function(){},dirxml:function(){},trace:function(){},group:function(){},groupEnd:function(){},time:function(){},timeEnd:function(){},profile:function(){},profileEnd:function(){},count:function(){},CLASS_NAME:"OpenLayers.Console"};(function(){var scripts=document.getElementsByTagName("script");for(var i=0,len=scripts.length;i=0;i--){if(array[i]==item){array.splice(i,1);}} -return array;};OpenLayers.Util.indexOf=function(array,obj){if(typeof array.indexOf=="function"){return array.indexOf(obj);}else{for(var i=0,len=array.length;i=0.0&&parseFloat(opacity)<1.0){element.style.filter='alpha(opacity='+(opacity*100)+')';element.style.opacity=opacity;}else if(parseFloat(opacity)==1.0){element.style.filter='';element.style.opacity='';}};OpenLayers.Util.createDiv=function(id,px,sz,imgURL,position,border,overflow,opacity){var dom=document.createElement('div');if(imgURL){dom.style.backgroundImage='url('+imgURL+')';} -if(!id){id=OpenLayers.Util.createUniqueID("OpenLayersDiv");} -if(!position){position="absolute";} -OpenLayers.Util.modifyDOMElement(dom,id,px,sz,position,border,overflow,opacity);return dom;};OpenLayers.Util.createImage=function(id,px,sz,imgURL,position,border,opacity,delayDisplay){var image=document.createElement("img");if(!id){id=OpenLayers.Util.createUniqueID("OpenLayersDiv");} -if(!position){position="relative";} -OpenLayers.Util.modifyDOMElement(image,id,px,sz,position,border,null,opacity);if(delayDisplay){image.style.display="none";function display(){image.style.display="";OpenLayers.Event.stopObservingElement(image);} -OpenLayers.Event.observe(image,"load",display);OpenLayers.Event.observe(image,"error",display);} -image.style.alt=id;image.galleryImg="no";if(imgURL){image.src=imgURL;} -return image;};OpenLayers.IMAGE_RELOAD_ATTEMPTS=0;OpenLayers.Util.alphaHackNeeded=null;OpenLayers.Util.alphaHack=function(){if(OpenLayers.Util.alphaHackNeeded==null){var arVersion=navigator.appVersion.split("MSIE");var version=parseFloat(arVersion[1]);var filter=false;try{filter=!!(document.body.filters);}catch(e){} -OpenLayers.Util.alphaHackNeeded=(filter&&(version>=5.5)&&(version<7));} -return OpenLayers.Util.alphaHackNeeded;};OpenLayers.Util.modifyAlphaImageDiv=function(div,id,px,sz,imgURL,position,border,sizing,opacity){OpenLayers.Util.modifyDOMElement(div,id,px,sz,position,null,null,opacity);var img=div.childNodes[0];if(imgURL){img.src=imgURL;} -OpenLayers.Util.modifyDOMElement(img,div.id+"_innerImage",null,sz,"relative",border);if(OpenLayers.Util.alphaHack()){if(div.style.display!="none"){div.style.display="inline-block";} -if(sizing==null){sizing="scale";} -div.style.filter="progid:DXImageTransform.Microsoft"+".AlphaImageLoader(src='"+img.src+"', "+"sizingMethod='"+sizing+"')";if(parseFloat(div.style.opacity)>=0.0&&parseFloat(div.style.opacity)<1.0){div.style.filter+=" alpha(opacity="+div.style.opacity*100+")";} -img.style.filter="alpha(opacity=0)";}};OpenLayers.Util.createAlphaImageDiv=function(id,px,sz,imgURL,position,border,sizing,opacity,delayDisplay){var div=OpenLayers.Util.createDiv();var img=OpenLayers.Util.createImage(null,null,null,null,null,null,null,delayDisplay);img.className="olAlphaImg";div.appendChild(img);OpenLayers.Util.modifyAlphaImageDiv(div,id,px,sz,imgURL,position,border,sizing,opacity);return div;};OpenLayers.Util.upperCaseObject=function(object){var uObject={};for(var key in object){uObject[key.toUpperCase()]=object[key];} -return uObject;};OpenLayers.Util.applyDefaults=function(to,from){to=to||{};var fromIsEvt=typeof window.Event=="function"&&from instanceof window.Event;for(var key in from){if(to[key]===undefined||(!fromIsEvt&&from.hasOwnProperty&&from.hasOwnProperty(key)&&!to.hasOwnProperty(key))){to[key]=from[key];}} -if(!fromIsEvt&&from&&from.hasOwnProperty&&from.hasOwnProperty('toString')&&!to.hasOwnProperty('toString')){to.toString=from.toString;} -return to;};OpenLayers.Util.getParameterString=function(params){var paramsArray=[];for(var key in params){var value=params[key];if((value!=null)&&(typeof value!='function')){var encodedValue;if(typeof value=='object'&&value.constructor==Array){var encodedItemArray=[];var item;for(var itemIndex=0,len=value.length;itemIndex1e-12&&--iterLimit>0){var sinLambda=Math.sin(lambda),cosLambda=Math.cos(lambda);var sinSigma=Math.sqrt((cosU2*sinLambda)*(cosU2*sinLambda)+ -(cosU1*sinU2-sinU1*cosU2*cosLambda)*(cosU1*sinU2-sinU1*cosU2*cosLambda));if(sinSigma==0){return 0;} -var cosSigma=sinU1*sinU2+cosU1*cosU2*cosLambda;var sigma=Math.atan2(sinSigma,cosSigma);var alpha=Math.asin(cosU1*cosU2*sinLambda/sinSigma);var cosSqAlpha=Math.cos(alpha)*Math.cos(alpha);var cos2SigmaM=cosSigma-2*sinU1*sinU2/cosSqAlpha;var C=f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha));lambdaP=lambda;lambda=L+(1-C)*f*Math.sin(alpha)*(sigma+C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)));} -if(iterLimit==0){return NaN;} -var uSq=cosSqAlpha*(a*a-b*b)/(b*b);var A=1+uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));var B=uSq/1024*(256+uSq*(-128+uSq*(74-47*uSq)));var deltaSigma=B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)- -B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));var s=b*A*(sigma-deltaSigma);var d=s.toFixed(3)/1000;return d;};OpenLayers.Util.destinationVincenty=function(lonlat,brng,dist){var u=OpenLayers.Util;var ct=u.VincentyConstants;var a=ct.a,b=ct.b,f=ct.f;var lon1=lonlat.lon;var lat1=lonlat.lat;var s=dist;var alpha1=u.rad(brng);var sinAlpha1=Math.sin(alpha1);var cosAlpha1=Math.cos(alpha1);var tanU1=(1-f)*Math.tan(u.rad(lat1));var cosU1=1/Math.sqrt((1+tanU1*tanU1)),sinU1=tanU1*cosU1;var sigma1=Math.atan2(tanU1,cosAlpha1);var sinAlpha=cosU1*sinAlpha1;var cosSqAlpha=1-sinAlpha*sinAlpha;var uSq=cosSqAlpha*(a*a-b*b)/(b*b);var A=1+uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));var B=uSq/1024*(256+uSq*(-128+uSq*(74-47*uSq)));var sigma=s/(b*A),sigmaP=2*Math.PI;while(Math.abs(sigma-sigmaP)>1e-12){var cos2SigmaM=Math.cos(2*sigma1+sigma);var sinSigma=Math.sin(sigma);var cosSigma=Math.cos(sigma);var deltaSigma=B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)- -B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));sigmaP=sigma;sigma=s/(b*A)+deltaSigma;} -var tmp=sinU1*sinSigma-cosU1*cosSigma*cosAlpha1;var lat2=Math.atan2(sinU1*cosSigma+cosU1*sinSigma*cosAlpha1,(1-f)*Math.sqrt(sinAlpha*sinAlpha+tmp*tmp));var lambda=Math.atan2(sinSigma*sinAlpha1,cosU1*cosSigma-sinU1*sinSigma*cosAlpha1);var C=f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha));var L=lambda-(1-C)*f*sinAlpha*(sigma+C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)));var revAz=Math.atan2(sinAlpha,-tmp);return new OpenLayers.LonLat(lon1+u.deg(L),u.deg(lat2));};OpenLayers.Util.getParameters=function(url,options){options=options||{};url=(url===null||url===undefined)?window.location.href:url;var paramsString="";if(OpenLayers.String.contains(url,'?')){var start=url.indexOf('?')+1;var end=OpenLayers.String.contains(url,"#")?url.indexOf('#'):url.length;paramsString=url.substring(start,end);} -var parameters={};var pairs=paramsString.split(/[&;]/);for(var i=0,len=pairs.length;i1.0)?(1.0/scale):scale;return normScale;};OpenLayers.Util.getResolutionFromScale=function(scale,units){var resolution;if(scale){if(units==null){units="degrees";} -var normScale=OpenLayers.Util.normalizeScale(scale);resolution=1/(normScale*OpenLayers.INCHES_PER_UNIT[units]*OpenLayers.DOTS_PER_INCH);} -return resolution;};OpenLayers.Util.getScaleFromResolution=function(resolution,units){if(units==null){units="degrees";} -var scale=resolution*OpenLayers.INCHES_PER_UNIT[units]*OpenLayers.DOTS_PER_INCH;return scale;};OpenLayers.Util.pagePosition=function(forElement){var pos=[0,0];var viewportElement=OpenLayers.Util.getViewportElement();if(!forElement||forElement==window||forElement==viewportElement){return pos;} -var BUGGY_GECKO_BOX_OBJECT=OpenLayers.IS_GECKO&&document.getBoxObjectFor&&OpenLayers.Element.getStyle(forElement,'position')=='absolute'&&(forElement.style.top==''||forElement.style.left=='');var parent=null;var box;if(forElement.getBoundingClientRect){box=forElement.getBoundingClientRect();var scrollTop=window.pageYOffset||viewportElement.scrollTop;var scrollLeft=window.pageXOffset||viewportElement.scrollLeft;pos[0]=box.left+scrollLeft;pos[1]=box.top+scrollTop;}else if(document.getBoxObjectFor&&!BUGGY_GECKO_BOX_OBJECT){box=document.getBoxObjectFor(forElement);var vpBox=document.getBoxObjectFor(viewportElement);pos[0]=box.screenX-vpBox.screenX;pos[1]=box.screenY-vpBox.screenY;}else{pos[0]=forElement.offsetLeft;pos[1]=forElement.offsetTop;parent=forElement.offsetParent;if(parent!=forElement){while(parent){pos[0]+=parent.offsetLeft;pos[1]+=parent.offsetTop;parent=parent.offsetParent;}} -var browser=OpenLayers.BROWSER_NAME;if(browser=="opera"||(browser=="safari"&&OpenLayers.Element.getStyle(forElement,'position')=='absolute')){pos[1]-=document.body.offsetTop;} -parent=forElement.offsetParent;while(parent&&parent!=document.body){pos[0]-=parent.scrollLeft;if(browser!="opera"||parent.tagName!='TR'){pos[1]-=parent.scrollTop;} -parent=parent.offsetParent;}} -return pos;};OpenLayers.Util.getViewportElement=function(){var viewportElement=arguments.callee.viewportElement;if(viewportElement==undefined){viewportElement=(OpenLayers.BROWSER_NAME=="msie"&&document.compatMode!='CSS1Compat')?document.body:document.documentElement;arguments.callee.viewportElement=viewportElement;} -return viewportElement;};OpenLayers.Util.isEquivalentUrl=function(url1,url2,options){options=options||{};OpenLayers.Util.applyDefaults(options,{ignoreCase:true,ignorePort80:true,ignoreHash:true,splitArgs:false});var urlObj1=OpenLayers.Util.createUrlObject(url1,options);var urlObj2=OpenLayers.Util.createUrlObject(url2,options);for(var key in urlObj1){if(key!=="args"){if(urlObj1[key]!=urlObj2[key]){return false;}}} -for(var key in urlObj1.args){if(urlObj1.args[key]!=urlObj2.args[key]){return false;} -delete urlObj2.args[key];} -for(var key in urlObj2.args){return false;} -return true;};OpenLayers.Util.createUrlObject=function(url,options){options=options||{};if(!(/^\w+:\/\//).test(url)){var loc=window.location;var port=loc.port?":"+loc.port:"";var fullUrl=loc.protocol+"//"+loc.host.split(":").shift()+port;if(url.indexOf("/")===0){url=fullUrl+url;}else{var parts=loc.pathname.split("/");parts.pop();url=fullUrl+parts.join("/")+"/"+url;}} -if(options.ignoreCase){url=url.toLowerCase();} -var a=document.createElement('a');a.href=url;var urlObject={};urlObject.host=a.host.split(":").shift();urlObject.protocol=a.protocol;if(options.ignorePort80){urlObject.port=(a.port=="80"||a.port=="0")?"":a.port;}else{urlObject.port=(a.port==""||a.port=="0")?"80":a.port;} -urlObject.hash=(options.ignoreHash||a.hash==="#")?"":a.hash;var queryString=a.search;if(!queryString){var qMark=url.indexOf("?");queryString=(qMark!=-1)?url.substr(qMark):"";} -urlObject.args=OpenLayers.Util.getParameters(queryString,{splitArgs:options.splitArgs});urlObject.pathname=(a.pathname.charAt(0)=="/")?a.pathname:"/"+a.pathname;return urlObject;};OpenLayers.Util.removeTail=function(url){var head=null;var qMark=url.indexOf("?");var hashMark=url.indexOf("#");if(qMark==-1){head=(hashMark!=-1)?url.substr(0,hashMark):url;}else{head=(hashMark!=-1)?url.substr(0,Math.min(qMark,hashMark)):url.substr(0,qMark);} -return head;};OpenLayers.IS_GECKO=(function(){var ua=navigator.userAgent.toLowerCase();return ua.indexOf("webkit")==-1&&ua.indexOf("gecko")!=-1;})();OpenLayers.CANVAS_SUPPORTED=(function(){var elem=document.createElement('canvas');return!!(elem.getContext&&elem.getContext('2d'));})();OpenLayers.BROWSER_NAME=(function(){var name="";var ua=navigator.userAgent.toLowerCase();if(ua.indexOf("opera")!=-1){name="opera";}else if(ua.indexOf("msie")!=-1){name="msie";}else if(ua.indexOf("safari")!=-1){name="safari";}else if(ua.indexOf("mozilla")!=-1){if(ua.indexOf("firefox")!=-1){name="firefox";}else{name="mozilla";}} -return name;})();OpenLayers.Util.getBrowserName=function(){return OpenLayers.BROWSER_NAME;};OpenLayers.Util.getRenderedDimensions=function(contentHTML,size,options){var w,h;var container=document.createElement("div");container.style.visibility="hidden";var containerElement=(options&&options.containerElement)?options.containerElement:document.body;var parentHasPositionAbsolute=false;var superContainer=null;var parent=containerElement;while(parent&&parent.tagName.toLowerCase()!="body"){var parentPosition=OpenLayers.Element.getStyle(parent,"position");if(parentPosition=="absolute"){parentHasPositionAbsolute=true;break;}else if(parentPosition&&parentPosition!="static"){break;} -parent=parent.parentNode;} -if(parentHasPositionAbsolute&&(containerElement.clientHeight===0||containerElement.clientWidth===0)){superContainer=document.createElement("div");superContainer.style.visibility="hidden";superContainer.style.position="absolute";superContainer.style.overflow="visible";superContainer.style.width=document.body.clientWidth+"px";superContainer.style.height=document.body.clientHeight+"px";superContainer.appendChild(container);} -container.style.position="absolute";if(size){if(size.w){w=size.w;container.style.width=w+"px";}else if(size.h){h=size.h;container.style.height=h+"px";}} -if(options&&options.displayClass){container.className=options.displayClass;} -var content=document.createElement("div");content.innerHTML=contentHTML;content.style.overflow="visible";if(content.childNodes){for(var i=0,l=content.childNodes.length;i=60){coordinateseconds-=60;coordinateminutes+=1;if(coordinateminutes>=60){coordinateminutes-=60;coordinatedegrees+=1;}} -if(coordinatedegrees<10){coordinatedegrees="0"+coordinatedegrees;} -var str=coordinatedegrees+"\u00B0";if(dmsOption.indexOf('dm')>=0){if(coordinateminutes<10){coordinateminutes="0"+coordinateminutes;} -str+=coordinateminutes+"'";if(dmsOption.indexOf('dms')>=0){if(coordinateseconds<10){coordinateseconds="0"+coordinateseconds;} -str+=coordinateseconds+'"';}} -if(axis=="lon"){str+=coordinate<0?OpenLayers.i18n("W"):OpenLayers.i18n("E");}else{str+=coordinate<0?OpenLayers.i18n("S"):OpenLayers.i18n("N");} -return str;};OpenLayers.Util.getConstructor=function(className){var Constructor;var parts=className.split('.');if(parts[0]==="OpenLayers"){Constructor=OpenLayers;}else{Constructor=window[parts[0]];} -for(var i=1,ii=parts.length;i1;},isTouchEvent:function(evt){return(""+evt.type).indexOf("touch")===0||("pointerType"in evt&&(evt.pointerType===evt.MSPOINTER_TYPE_TOUCH||evt.pointerType==="touch"));},isLeftClick:function(event){return(((event.which)&&(event.which==1))||((event.button)&&(event.button==1)));},isRightClick:function(event){return(((event.which)&&(event.which==3))||((event.button)&&(event.button==2)));},stop:function(event,allowDefault){if(!allowDefault){OpenLayers.Event.preventDefault(event);} -if(event.stopPropagation){event.stopPropagation();}else{event.cancelBubble=true;}},preventDefault:function(event){if(event.preventDefault){event.preventDefault();}else{event.returnValue=false;}},findElement:function(event,tagName){var element=OpenLayers.Event.element(event);while(element.parentNode&&(!element.tagName||(element.tagName.toUpperCase()!=tagName.toUpperCase()))){element=element.parentNode;} -return element;},observe:function(elementParam,name,observer,useCapture){var element=OpenLayers.Util.getElement(elementParam);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.attachEvent)){name='keydown';} -if(!this.observers){this.observers={};} -if(!element._eventCacheID){var idPrefix="eventCacheID_";if(element.id){idPrefix=element.id+"_"+idPrefix;} -element._eventCacheID=OpenLayers.Util.createUniqueID(idPrefix);} -var cacheID=element._eventCacheID;if(!this.observers[cacheID]){this.observers[cacheID]=[];} -this.observers[cacheID].push({'element':element,'name':name,'observer':observer,'useCapture':useCapture});if(element.addEventListener){element.addEventListener(name,observer,useCapture);}else if(element.attachEvent){element.attachEvent('on'+name,observer);}},stopObservingElement:function(elementParam){var element=OpenLayers.Util.getElement(elementParam);var cacheID=element._eventCacheID;this._removeElementObservers(OpenLayers.Event.observers[cacheID]);},_removeElementObservers:function(elementObservers){if(elementObservers){for(var i=elementObservers.length-1;i>=0;i--){var entry=elementObservers[i];OpenLayers.Event.stopObserving.apply(this,[entry.element,entry.name,entry.observer,entry.useCapture]);}}},stopObserving:function(elementParam,name,observer,useCapture){useCapture=useCapture||false;var element=OpenLayers.Util.getElement(elementParam);var cacheID=element._eventCacheID;if(name=='keypress'){if(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.detachEvent){name='keydown';}} -var foundEntry=false;var elementObservers=OpenLayers.Event.observers[cacheID];if(elementObservers){var i=0;while(!foundEntry&&iMath.floor(evt.pageY)||evt.pageX===0&&Math.floor(x)>Math.floor(evt.pageX)){x=x-winPageX;y=y-winPageY;}else if(y<(evt.pageY-winPageY)||x<(evt.pageX-winPageX)){x=evt.pageX-winPageX;y=evt.pageY-winPageY;} -evt.olClientX=x;evt.olClientY=y;return{clientX:x,clientY:y};},clearMouseCache:function(){this.element.scrolls=null;this.element.lefttop=null;this.element.offsets=null;},getMousePosition:function(evt){if(!this.includeXY){this.clearMouseCache();}else if(!this.element.hasScrollEvent){OpenLayers.Event.observe(window,"scroll",this.clearMouseListener);this.element.hasScrollEvent=true;} -if(!this.element.scrolls){var viewportElement=OpenLayers.Util.getViewportElement();this.element.scrolls=[window.pageXOffset||viewportElement.scrollLeft,window.pageYOffset||viewportElement.scrollTop];} -if(!this.element.lefttop){this.element.lefttop=[(document.documentElement.clientLeft||0),(document.documentElement.clientTop||0)];} -if(!this.element.offsets){this.element.offsets=OpenLayers.Util.pagePosition(this.element);} -return new OpenLayers.Pixel((evt.clientX+this.element.scrolls[0])-this.element.offsets[0] --this.element.lefttop[0],(evt.clientY+this.element.scrolls[1])-this.element.offsets[1] --this.element.lefttop[1]);},getTouchModel:function(){if(!("_TOUCH_MODEL"in OpenLayers.Events)){OpenLayers.Events._TOUCH_MODEL=(window.PointerEvent&&"pointer")||(window.MSPointerEvent&&"MSPointer")||(("ontouchdown"in document)&&"touch")||null;} -return OpenLayers.Events._TOUCH_MODEL;},addPointerTouchListener:function(element,type,handler){var eventHandler=this.eventHandler;var touches=this._pointerTouches;function pointerHandler(evt){handler(OpenLayers.Util.applyDefaults({stopPropagation:function(){for(var i=touches.length-1;i>=0;--i){touches[i].stopPropagation();}},preventDefault:function(){for(var i=touches.length-1;i>=0;--i){touches[i].preventDefault();}},type:type},evt));} -switch(type){case'touchstart':return this.addPointerTouchListenerStart(element,type,pointerHandler);case'touchend':return this.addPointerTouchListenerEnd(element,type,pointerHandler);case'touchmove':return this.addPointerTouchListenerMove(element,type,pointerHandler);default:throw'Unknown touch event type';}},addPointerTouchListenerStart:function(element,type,handler){var touches=this._pointerTouches;var cb=function(e){if(!OpenLayers.Event.isTouchEvent(e)){return;} -var alreadyInArray=false;for(var i=0,ii=touches.length;i=this.clientWidth||Math.ceil(e.clientY)>=this.clientHeight)){touches.splice(i,1);}} -break;}}};OpenLayers.Event.observe(element,this.getTouchModel()===this.TOUCH_MODEL_MSPOINTER?'MSPointerOut':'pointerout',internalCb);},addPointerTouchListenerMove:function(element,type,handler){var touches=this._pointerTouches;var cb=function(e){if(!OpenLayers.Event.isTouchEvent(e)){return;} -if(touches.length==1&&touches[0].pageX==e.pageX&&touches[0].pageY==e.pageY){return;} -for(var i=0,ii=touches.length;i0?duration:Number.POSITIVE_INFINITY;var id=++counter;var start=+new Date;loops[id]=function(){if(loops[id]&&+new Date-start<=duration){callback();if(loops[id]){requestFrame(loops[id],element);}}else{delete loops[id];}};requestFrame(loops[id],element);return id;} -function stop(id){delete loops[id];} -return{isNative:isNative,requestFrame:requestFrame,start:start,stop:stop};})(window);OpenLayers.Tween=OpenLayers.Class({easing:null,begin:null,finish:null,duration:null,callbacks:null,time:null,minFrameRate:null,startTime:null,animationId:null,playing:false,initialize:function(easing){this.easing=(easing)?easing:OpenLayers.Easing.Expo.easeOut;},start:function(begin,finish,duration,options){this.playing=true;this.begin=begin;this.finish=finish;this.duration=duration;this.callbacks=options.callbacks;this.minFrameRate=options.minFrameRate||30;this.time=0;this.startTime=new Date().getTime();OpenLayers.Animation.stop(this.animationId);this.animationId=null;if(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(){if(!this.playing){return;} -if(this.callbacks&&this.callbacks.done){this.callbacks.done.call(this,this.finish);} -OpenLayers.Animation.stop(this.animationId);this.animationId=null;this.playing=false;},play:function(){var value={};for(var i in this.begin){var b=this.begin[i];var f=this.finish[i];if(b==null||f==null||isNaN(b)||isNaN(f)){throw new TypeError('invalid value for Tween');} -var c=f-b;value[i]=this.easing.apply(this,[this.time,b,c,this.duration]);} -this.time++;if(this.callbacks&&this.callbacks.eachStep){if((new Date().getTime()-this.startTime)/this.time<=1000/this.minFrameRate){this.callbacks.eachStep.call(this,value);}} -if(this.time>this.duration){this.stop();}},CLASS_NAME:"OpenLayers.Tween"});OpenLayers.Easing={CLASS_NAME:"OpenLayers.Easing"};OpenLayers.Easing.Linear={easeIn:function(t,b,c,d){return c*t/d+b;},easeOut:function(t,b,c,d){return c*t/d+b;},easeInOut:function(t,b,c,d){return c*t/d+b;},CLASS_NAME:"OpenLayers.Easing.Linear"};OpenLayers.Easing.Expo={easeIn:function(t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOut:function(t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOut:function(t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b;},CLASS_NAME:"OpenLayers.Easing.Expo"};OpenLayers.Easing.Quad={easeIn:function(t,b,c,d){return c*(t/=d)*t+b;},easeOut:function(t,b,c,d){return-c*(t/=d)*(t-2)+b;},easeInOut:function(t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;},CLASS_NAME:"OpenLayers.Easing.Quad"};OpenLayers.Projection=OpenLayers.Class({proj:null,projCode:null,titleRegEx:/\+title=[^\+]*/,initialize:function(projCode,options){OpenLayers.Util.extend(this,options);this.projCode=projCode;if(typeof Proj4js=="object"){this.proj=new Proj4js.Proj(projCode);}},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(projection){var p=projection,equals=false;if(p){if(!(p instanceof OpenLayers.Projection)){p=new OpenLayers.Projection(p);} -if((typeof Proj4js=="object")&&this.proj.defData&&p.proj.defData){equals=this.proj.defData.replace(this.titleRegEx,"")==p.proj.defData.replace(this.titleRegEx,"");}else if(p.getCode){var source=this.getCode(),target=p.getCode();equals=source==target||!!OpenLayers.Projection.transforms[source]&&OpenLayers.Projection.transforms[source][target]===OpenLayers.Projection.nullTransform;}} -return equals;},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],worldExtent:[-180,-90,180,90],yx:true},"CRS:84":{units:"degrees",maxExtent:[-180,-90,180,90],worldExtent:[-180,-90,180,90]},"EPSG:900913":{units:"m",maxExtent:[-20037508.34,-20037508.34,20037508.34,20037508.34],worldExtent:[-180,-89,180,89]}};OpenLayers.Projection.addTransform=function(from,to,method){if(method===OpenLayers.Projection.nullTransform){var defaults=OpenLayers.Projection.defaults[from];if(defaults&&!OpenLayers.Projection.defaults[to]){OpenLayers.Projection.defaults[to]=defaults;}} -if(!OpenLayers.Projection.transforms[from]){OpenLayers.Projection.transforms[from]={};} -OpenLayers.Projection.transforms[from][to]=method;};OpenLayers.Projection.transform=function(point,source,dest){if(source&&dest){if(!(source instanceof OpenLayers.Projection)){source=new OpenLayers.Projection(source);} -if(!(dest instanceof OpenLayers.Projection)){dest=new OpenLayers.Projection(dest);} -if(source.proj&&dest.proj){point=Proj4js.transform(source.proj,dest.proj,point);}else{var sourceCode=source.getCode();var destCode=dest.getCode();var transforms=OpenLayers.Projection.transforms;if(transforms[sourceCode]&&transforms[sourceCode][destCode]){transforms[sourceCode][destCode](point);}}} -return point;};OpenLayers.Projection.nullTransform=function(point){return point;};(function(){var pole=20037508.34;function inverseMercator(xy){xy.x=180*xy.x/pole;xy.y=180/Math.PI*(2*Math.atan(Math.exp((xy.y/pole)*Math.PI))-Math.PI/2);return xy;} -function forwardMercator(xy){xy.x=xy.x*pole/180;var y=Math.log(Math.tan((90+xy.y)*Math.PI/360))/Math.PI*pole;xy.y=Math.max(-20037508.34,Math.min(y,20037508.34));return xy;} -function map(base,codes){var add=OpenLayers.Projection.addTransform;var same=OpenLayers.Projection.nullTransform;var i,len,code,other,j;for(i=0,len=codes.length;i=0;--i){map(mercator[i],geographic);} -for(i=geographic.length-1;i>=0;--i){map(geographic[i],mercator);}})();OpenLayers.Map=OpenLayers.Class({Z_INDEX_BASE:{BaseLayer:100,Overlay:325,Feature:725,Popup:750,Control:1000},id:null,fractionalZoom:false,events:null,allOverlays:false,div:null,dragging:false,size:null,viewPortDiv:null,layerContainerOrigin:null,layerContainerDiv:null,layers:null,controls:null,popups:null,baseLayer:null,center:null,resolution:null,zoom:0,panRatio:1.5,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:false,autoUpdateSize:true,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(div,options){var isDOMElement=OpenLayers.Util.isElement(div);if(arguments.length===1&&typeof div==="object"&&!isDOMElement){options=div;div=options&&options.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({},options);OpenLayers.Util.extend(this,options);var projCode=this.projection instanceof OpenLayers.Projection?this.projection.projCode:this.projection;OpenLayers.Util.applyDefaults(this,OpenLayers.Projection.defaults[projCode]);if(this.maxExtent&&!(this.maxExtent instanceof OpenLayers.Bounds)){this.maxExtent=new OpenLayers.Bounds(this.maxExtent);} -if(this.minExtent&&!(this.minExtent instanceof OpenLayers.Bounds)){this.minExtent=new OpenLayers.Bounds(this.minExtent);} -if(this.restrictedExtent&&!(this.restrictedExtent instanceof OpenLayers.Bounds)){this.restrictedExtent=new OpenLayers.Bounds(this.restrictedExtent);} -if(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(div);if(!this.div){this.div=document.createElement("div");this.div.style.height="1px";this.div.style.width="1px";} -OpenLayers.Element.addClass(this.div,'olMap');var id=this.id+"_OpenLayers_ViewPort";this.viewPortDiv=OpenLayers.Util.createDiv(id,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:true});if(OpenLayers.TileManager&&this.tileManager!==null){if(!(this.tileManager instanceof OpenLayers.TileManager)){this.tileManager=new OpenLayers.TileManager(this.tileManager);} -this.tileManager.addMap(this);} -id=this.id+"_OpenLayers_Container";this.layerContainerDiv=OpenLayers.Util.createDiv(id);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);} -if(this.autoUpdateSize===true){this.updateSizeDestroy=OpenLayers.Function.bind(this.updateSize,this);OpenLayers.Event.observe(window,'resize',this.updateSizeDestroy);} -if(this.theme){var addNode=true;var nodes=document.getElementsByTagName('link');for(var i=0,len=nodes.length;i=0;--i){this.controls[i].destroy();} -this.controls=null;} -if(this.layers!=null){for(var i=this.layers.length-1;i>=0;--i){this.layers[i].destroy(false);} -this.layers=null;} -if(this.viewPortDiv&&this.viewPortDiv.parentNode){this.viewPortDiv.parentNode.removeChild(this.viewPortDiv);} -this.viewPortDiv=null;if(this.tileManager){this.tileManager.removeMap(this);this.tileManager=null;} -if(this.eventListeners){this.events.un(this.eventListeners);this.eventListeners=null;} -this.events.destroy();this.events=null;this.options=null;},setOptions:function(options){var updatePxExtent=this.minPx&&options.restrictedExtent!=this.restrictedExtent;OpenLayers.Util.extend(this,options);updatePxExtent&&this.moveTo(this.getCachedCenter(),this.zoom,{forceZoomChange:true});},getTileSize:function(){return this.tileSize;},getBy:function(array,property,match){var test=(typeof match.test=="function");var found=OpenLayers.Array.filter(this[array],function(item){return item[property]==match||(test&&match.test(item[property]));});return found;},getLayersBy:function(property,match){return this.getBy("layers",property,match);},getLayersByName:function(match){return this.getLayersBy("name",match);},getLayersByClass:function(match){return this.getLayersBy("CLASS_NAME",match);},getControlsBy:function(property,match){return this.getBy("controls",property,match);},getControlsByClass:function(match){return this.getControlsBy("CLASS_NAME",match);},getLayer:function(id){var foundLayer=null;for(var i=0,len=this.layers.length;ithis.layers.length){idx=this.layers.length;} -if(base!=idx){this.layers.splice(base,1);this.layers.splice(idx,0,layer);for(var i=0,len=this.layers.length;i=0;--i){this.removePopup(this.popups[i]);}} -popup.map=this;this.popups.push(popup);var popupDiv=popup.draw();if(popupDiv){popupDiv.style.zIndex=this.Z_INDEX_BASE['Popup']+ -this.popups.length;this.layerContainerDiv.appendChild(popupDiv);}},removePopup:function(popup){OpenLayers.Util.removeItem(this.popups,popup);if(popup.div){try{this.layerContainerDiv.removeChild(popup.div);} -catch(e){}} -popup.map=null;},getSize:function(){var size=null;if(this.size!=null){size=this.size.clone();} -return size;},updateSize:function(){var newSize=this.getCurrentSize();if(newSize&&!isNaN(newSize.h)&&!isNaN(newSize.w)){this.events.clearMouseCache();var oldSize=this.getSize();if(oldSize==null){this.size=oldSize=newSize;} -if(!newSize.equals(oldSize)){this.size=newSize;for(var i=0,len=this.layers.length;i=this.minPx.x+xRestriction?Math.round(dx):0;dy=y<=this.maxPx.y-yRestriction&&y>=this.minPx.y+yRestriction?Math.round(dy):0;if(dx||dy){if(!this.dragging){this.dragging=true;this.events.triggerEvent("movestart");} -this.center=null;if(dx){this.layerContainerOriginPx.x-=dx;this.minPx.x-=dx;this.maxPx.x-=dx;} -if(dy){this.layerContainerOriginPx.y-=dy;this.minPx.y-=dy;this.maxPx.y-=dy;} -this.applyTransform();var layer,i,len;for(i=0,len=this.layers.length;imaxResolution){if(this.fractionalZoom){zoom=this.getZoomForResolution(maxResolution);}else{for(var i=zoom|0,ii=resolutions.length;ithis.restrictedExtent.getWidth()){lonlat=new OpenLayers.LonLat(maxCenter.lon,lonlat.lat);}else if(extent.leftthis.restrictedExtent.right){lonlat=lonlat.add(this.restrictedExtent.right- -extent.right,0);} -if(extent.getHeight()>this.restrictedExtent.getHeight()){lonlat=new OpenLayers.LonLat(lonlat.lon,maxCenter.lat);}else if(extent.bottomthis.restrictedExtent.top){lonlat=lonlat.add(0,this.restrictedExtent.top- -extent.top);}}} -var zoomChanged=forceZoomChange||((this.isValidZoomLevel(zoom))&&(zoom!=this.getZoom()));var centerChanged=(this.isValidLonLat(lonlat))&&(!lonlat.equals(this.center));if(zoomChanged||centerChanged||dragging){dragging||this.events.triggerEvent("movestart",{zoomChanged:zoomChanged});if(centerChanged){if(!zoomChanged&&this.center){this.centerLayerContainer(lonlat);} -this.center=lonlat.clone();} -var res=zoomChanged?this.getResolutionForZoom(zoom):this.getResolution();if(zoomChanged||this.layerContainerOrigin==null){this.layerContainerOrigin=this.getCachedCenter();this.layerContainerOriginPx.x=0;this.layerContainerOriginPx.y=0;this.applyTransform();var maxExtent=this.getMaxExtent({restricted:true});var maxExtentCenter=maxExtent.getCenterLonLat();var lonDelta=this.center.lon-maxExtentCenter.lon;var latDelta=maxExtentCenter.lat-this.center.lat;var extentWidth=Math.round(maxExtent.getWidth()/res);var extentHeight=Math.round(maxExtent.getHeight()/res);this.minPx={x:(this.size.w-extentWidth)/2-lonDelta/res,y:(this.size.h-extentHeight)/2-latDelta/res};this.maxPx={x:this.minPx.x+Math.round(maxExtent.getWidth()/res),y:this.minPx.y+Math.round(maxExtent.getHeight()/res)};} -if(zoomChanged){this.zoom=zoom;this.resolution=res;} -var bounds=this.getExtent();if(this.baseLayer.visibility){this.baseLayer.moveTo(bounds,zoomChanged,options.dragging);options.dragging||this.baseLayer.events.triggerEvent("moveend",{zoomChanged:zoomChanged});} -bounds=this.baseLayer.getExtent();for(var i=this.layers.length-1;i>=0;--i){var layer=this.layers[i];if(layer!==this.baseLayer&&!layer.isBaseLayer){var inRange=layer.calculateInRange();if(layer.inRange!=inRange){layer.inRange=inRange;if(!inRange){layer.display(false);} -this.events.triggerEvent("changelayer",{layer:layer,property:"visibility"});} -if(inRange&&layer.visibility){layer.moveTo(bounds,zoomChanged,options.dragging);options.dragging||layer.events.triggerEvent("moveend",{zoomChanged:zoomChanged});}}} -this.events.triggerEvent("move");dragging||this.events.triggerEvent("moveend");if(zoomChanged){for(var i=0,len=this.popups.length;i=0)&&(zoomLevel0){resolution=this.layers[0].getResolution();} -return resolution;},getUnits:function(){var units=null;if(this.baseLayer!=null){units=this.baseLayer.units;} -return units;},getScale:function(){var scale=null;if(this.baseLayer!=null){var res=this.getResolution();var units=this.baseLayer.units;scale=OpenLayers.Util.getScaleFromResolution(res,units);} -return scale;},getZoomForExtent:function(bounds,closest){var zoom=null;if(this.baseLayer!=null){zoom=this.baseLayer.getZoomForExtent(bounds,closest);} -return zoom;},getResolutionForZoom:function(zoom){var resolution=null;if(this.baseLayer){resolution=this.baseLayer.getResolutionForZoom(zoom);} -return resolution;},getZoomForResolution:function(resolution,closest){var zoom=null;if(this.baseLayer!=null){zoom=this.baseLayer.getZoomForResolution(resolution,closest);} -return zoom;},zoomTo:function(zoom,xy){var map=this;if(map.isValidZoomLevel(zoom)){if(map.baseLayer.wrapDateLine){zoom=map.adjustZoom(zoom);} -var center=xy?map.getZoomTargetCenter(xy,map.getResolutionForZoom(zoom)):map.getCenter();if(center){map.events.triggerEvent('zoomstart',{center:center,zoom:zoom});} -if(map.zoomTween){map.zoomTween.stop();var currentRes=map.getResolution(),targetRes=map.getResolutionForZoom(zoom),start={scale:1},end={scale:currentRes/targetRes};if(!xy){var size=map.getSize();xy={x:size.w/2,y:size.h/2};} -map.zoomTween.start(start,end,map.zoomDuration,{minFrameRate:50,callbacks:{eachStep:function(data){var containerOrigin=map.layerContainerOriginPx,scale=data.scale,dx=((scale-1)*(containerOrigin.x-xy.x))|0,dy=((scale-1)*(containerOrigin.y-xy.y))|0;map.applyTransform(containerOrigin.x+dx,containerOrigin.y+dy,scale);},done:function(data){map.applyTransform();var resolution=map.getResolution()/data.scale,newZoom=map.getZoomForResolution(resolution,true),newCenter=data.scale===1?center:map.getZoomTargetCenter(xy,resolution);map.moveTo(newCenter,newZoom);}}});}else{map.setCenter(center,zoom);}}},zoomIn:function(){if(this.zoomTween){this.zoomTween.stop();} -this.zoomTo(this.getZoom()+1);},zoomOut:function(){if(this.zoomTween){this.zoomTween.stop();} -this.zoomTo(this.getZoom()-1);},zoomToExtent:function(bounds,closest){if(!(bounds instanceof OpenLayers.Bounds)){bounds=new OpenLayers.Bounds(bounds);} -var center=bounds.getCenterLonLat();if(this.baseLayer.wrapDateLine){var maxExtent=this.getMaxExtent();bounds=bounds.clone();while(bounds.right=0){this.initResolutions();if(reinitialize&&this.map.baseLayer===this){this.map.setCenter(this.map.getCenter(),this.map.getZoomForResolution(resolution),false,true);this.map.events.triggerEvent("changebaselayer",{layer:this});} -break;}}}},onMapResize:function(){},redraw:function(){var redrawn=false;if(this.map){this.inRange=this.calculateInRange();var extent=this.getExtent();if(extent&&this.inRange&&this.visibility){var zoomChanged=true;this.moveTo(extent,zoomChanged,false);this.events.triggerEvent("moveend",{"zoomChanged":zoomChanged});redrawn=true;}} -return redrawn;},moveTo:function(bounds,zoomChanged,dragging){var display=this.visibility;if(!this.isBaseLayer){display=display&&this.inRange;} -this.display(display);},moveByPx:function(dx,dy){},setMap:function(map){if(this.map==null){this.map=map;this.maxExtent=this.maxExtent||this.map.maxExtent;this.minExtent=this.minExtent||this.map.minExtent;this.projection=this.projection||this.map.projection;if(typeof this.projection=="string"){this.projection=new OpenLayers.Projection(this.projection);} -if(this.projection&&this.projection.getUnits()){this.units=this.projection.getUnits();} -else{this.units=this.units||this.map.units;} -this.initResolutions();if(!this.isBaseLayer){this.inRange=this.calculateInRange();var show=((this.visibility)&&(this.inRange));this.div.style.display=show?"":"none";} -this.setTileSize();}},afterAdd:function(){},removeMap:function(map){},getImageSize:function(bounds){return(this.imageSize||this.tileSize);},setTileSize:function(size){var tileSize=(size)?size:((this.tileSize)?this.tileSize:this.map.getTileSize());this.tileSize=tileSize;if(this.gutter){this.imageSize=new OpenLayers.Size(tileSize.w+(2*this.gutter),tileSize.h+(2*this.gutter));}},getVisibility:function(){return this.visibility;},setVisibility:function(visibility){if(visibility!=this.visibility){this.visibility=visibility;this.display(visibility);this.redraw();if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"visibility"});} -this.events.triggerEvent("visibilitychanged");}},display:function(display){if(display!=(this.div.style.display!="none")){this.div.style.display=(display&&this.calculateInRange())?"block":"none";}},calculateInRange:function(){var inRange=false;if(this.alwaysInRange){inRange=true;}else{if(this.map){var resolution=this.map.getResolution();inRange=((resolution>=this.minResolution)&&(resolution<=this.maxResolution));}} -return inRange;},setIsBaseLayer:function(isBaseLayer){if(isBaseLayer!=this.isBaseLayer){this.isBaseLayer=isBaseLayer;if(this.map!=null){this.map.events.triggerEvent("changebaselayer",{layer:this});}}},initResolutions:function(){var i,len,p;var props={},alwaysInRange=true;for(i=0,len=this.RESOLUTION_PROPERTIES.length;i=resolution){highRes=res;lowZoom=i;} -if(res<=resolution){lowRes=res;highZoom=i;break;}} -var dRes=highRes-lowRes;if(dRes>0){zoom=lowZoom+((highRes-resolution)/dRes);}else{zoom=lowZoom;}}else{var diff;var minDiff=Number.POSITIVE_INFINITY;for(i=0,len=this.resolutions.length;iminDiff){break;} -minDiff=diff;}else{if(this.resolutions[i]=0&&row=0;i--){newResolution=this.serverResolutions[i];newDistance=Math.abs(newResolution-resolution);if(newDistance>distance){break;} -distance=newDistance;serverResolution=newResolution;} -resolution=serverResolution;} -return resolution;},getServerZoom:function(){var resolution=this.getServerResolution();return this.serverResolutions?OpenLayers.Util.indexOf(this.serverResolutions,resolution):this.map.getZoomForResolution(resolution)+(this.zoomOffset||0);},applyBackBuffer:function(resolution){if(this.backBufferTimerId!==null){this.removeBackBuffer();} -var backBuffer=this.backBuffer;if(!backBuffer){backBuffer=this.createBackBuffer();if(!backBuffer){return;} -if(resolution===this.gridResolution){this.div.insertBefore(backBuffer,this.div.firstChild);}else{this.map.baseLayer.div.parentNode.insertBefore(backBuffer,this.map.baseLayer.div);} -this.backBuffer=backBuffer;var topLeftTileBounds=this.grid[0][0].bounds;this.backBufferLonLat={lon:topLeftTileBounds.left,lat:topLeftTileBounds.top};this.backBufferResolution=this.gridResolution;} -var ratio=this.backBufferResolution/resolution;var tiles=backBuffer.childNodes,tile;for(var i=tiles.length-1;i>=0;--i){tile=tiles[i];tile.style.top=((ratio*tile._i*backBuffer._th)|0)+'px';tile.style.left=((ratio*tile._j*backBuffer._tw)|0)+'px';tile.style.width=Math.round(ratio*tile._w)+'px';tile.style.height=Math.round(ratio*tile._h)+'px';} -var position=this.getViewPortPxFromLonLat(this.backBufferLonLat,resolution);var leftOffset=this.map.layerContainerOriginPx.x;var topOffset=this.map.layerContainerOriginPx.y;backBuffer.style.left=Math.round(position.x-leftOffset)+'px';backBuffer.style.top=Math.round(position.y-topOffset)+'px';},createBackBuffer:function(){var backBuffer;if(this.grid.length>0){backBuffer=document.createElement('div');backBuffer.id=this.div.id+'_bb';backBuffer.className='olBackBuffer';backBuffer.style.position='absolute';var map=this.map;backBuffer.style.zIndex=this.transitionEffect==='resize'?this.getZIndex()-1:map.Z_INDEX_BASE.BaseLayer- -(map.getNumLayers()-map.getLayerIndex(this));for(var i=0,lenI=this.grid.length;i=0;--i){OpenLayers.Event.stopObserving(this._transitionElement,this.transitionendEvents[i],this._removeBackBuffer);} -delete this._transitionElement;} -if(this.backBuffer){if(this.backBuffer.parentNode){this.backBuffer.parentNode.removeChild(this.backBuffer);} -this.backBuffer=null;this.backBufferResolution=null;if(this.backBufferTimerId!==null){window.clearTimeout(this.backBufferTimerId);this.backBufferTimerId=null;}}},moveByPx:function(dx,dy){if(!this.singleTile){this.moveGriddedTiles();}},setTileSize:function(size){if(this.singleTile){size=this.map.getSize();size.h=parseInt(size.h*this.ratio,10);size.w=parseInt(size.w*this.ratio,10);} -OpenLayers.Layer.HTTPRequest.prototype.setTileSize.apply(this,[size]);},getTilesBounds:function(){var bounds=null;var length=this.grid.length;if(length){var bottomLeftTileBounds=this.grid[length-1][0].bounds,width=this.grid[0].length*bottomLeftTileBounds.getWidth(),height=this.grid.length*bottomLeftTileBounds.getHeight();bounds=new OpenLayers.Bounds(bottomLeftTileBounds.left,bottomLeftTileBounds.bottom,bottomLeftTileBounds.left+width,bottomLeftTileBounds.bottom+height);} -return bounds;},initSingleTile:function(bounds){this.events.triggerEvent("retile");var center=bounds.getCenterLonLat();var tileWidth=bounds.getWidth()*this.ratio;var tileHeight=bounds.getHeight()*this.ratio;var tileBounds=new OpenLayers.Bounds(center.lon-(tileWidth/2),center.lat-(tileHeight/2),center.lon+(tileWidth/2),center.lat+(tileHeight/2));this.gridResolution=this.getServerResolution();var maxExtent=this.maxExtent;if(maxExtent&&(!this.displayOutsideMaxExtent||(this.map.baseLayer.wrapDateLine&&this.maxExtent.equals(this.map.getMaxExtent())))){tileBounds.left=Math.max(tileBounds.left,maxExtent.left);tileBounds.right=Math.min(tileBounds.right,maxExtent.right);} -var px=this.map.getLayerPxFromLonLat({lon:tileBounds.left,lat:tileBounds.top});if(!this.grid.length){this.grid[0]=[];} -var tile=this.grid[0][0];if(!tile){tile=this.addTile(tileBounds,px);this.addTileMonitoringHooks(tile);tile.draw();this.grid[0][0]=tile;}else{tile.moveTo(tileBounds,px);} -this.removeExcessTiles(1,1);},calculateGridLayout:function(bounds,origin,resolution){var tilelon=resolution*this.tileSize.w;var tilelat=resolution*this.tileSize.h;var offsetlon=bounds.left-origin.lon;var tilecol=Math.floor(offsetlon/tilelon)-this.buffer;var rowSign=this.rowSign;var offsetlat=rowSign*(origin.lat-bounds.top+tilelat);var tilerow=Math[~rowSign?'floor':'ceil'](offsetlat/tilelat)-this.buffer*rowSign;return{tilelon:tilelon,tilelat:tilelat,startcol:tilecol,startrow:tilerow};},getImageSize:function(bounds){var tileSize=OpenLayers.Layer.HTTPRequest.prototype.getImageSize.apply(this,arguments);if(this.singleTile){tileSize=new OpenLayers.Size(Math.round(bounds.getWidth()/this.gridResolution),tileSize.h);} -return tileSize;},getTileOrigin:function(){var origin=this.tileOrigin;if(!origin){var extent=this.getMaxExtent();var edges=({"tl":["left","top"],"tr":["right","top"],"bl":["left","bottom"],"br":["right","bottom"]})[this.tileOriginCorner];origin=new OpenLayers.LonLat(extent[edges[0]],extent[edges[1]]);} -return origin;},getTileBoundsForGridIndex:function(row,col){var origin=this.getTileOrigin();var tileLayout=this.gridLayout;var tilelon=tileLayout.tilelon;var tilelat=tileLayout.tilelat;var startcol=tileLayout.startcol;var startrow=tileLayout.startrow;var rowSign=this.rowSign;return new OpenLayers.Bounds(origin.lon+(startcol+col)*tilelon,origin.lat-(startrow+row*rowSign)*tilelat*rowSign,origin.lon+(startcol+col+1)*tilelon,origin.lat-(startrow+(row-1)*rowSign)*tilelat*rowSign);},initGriddedTiles:function(bounds){this.events.triggerEvent("retile");var viewSize=this.map.getSize();var origin=this.getTileOrigin();var resolution=this.map.getResolution(),serverResolution=this.getServerResolution(),ratio=resolution/serverResolution,tileSize={w:this.tileSize.w/ratio,h:this.tileSize.h/ratio};var minRows=Math.ceil(viewSize.h/tileSize.h)+ -2*this.buffer+1;var minCols=Math.ceil(viewSize.w/tileSize.w)+ -2*this.buffer+1;var tileLayout=this.calculateGridLayout(bounds,origin,serverResolution);this.gridLayout=tileLayout;var tilelon=tileLayout.tilelon;var tilelat=tileLayout.tilelat;var layerContainerDivLeft=this.map.layerContainerOriginPx.x;var layerContainerDivTop=this.map.layerContainerOriginPx.y;var tileBounds=this.getTileBoundsForGridIndex(0,0);var startPx=this.map.getViewPortPxFromLonLat(new OpenLayers.LonLat(tileBounds.left,tileBounds.top));startPx.x=Math.round(startPx.x)-layerContainerDivLeft;startPx.y=Math.round(startPx.y)-layerContainerDivTop;var tileData=[],center=this.map.getCenter();var rowidx=0;do{var row=this.grid[rowidx];if(!row){row=[];this.grid.push(row);} -var colidx=0;do{tileBounds=this.getTileBoundsForGridIndex(rowidx,colidx);var px=startPx.clone();px.x=px.x+colidx*Math.round(tileSize.w);px.y=px.y+rowidx*Math.round(tileSize.h);var tile=row[colidx];if(!tile){tile=this.addTile(tileBounds,px);this.addTileMonitoringHooks(tile);row.push(tile);}else{tile.moveTo(tileBounds,px,false);} -var tileCenter=tileBounds.getCenterLonLat();tileData.push({tile:tile,distance:Math.pow(tileCenter.lon-center.lon,2)+ -Math.pow(tileCenter.lat-center.lat,2)});colidx+=1;}while((tileBounds.right<=bounds.right+tilelon*this.buffer)||colidx=bounds.bottom-tilelat*this.buffer)||rowidx=0;--i){OpenLayers.Event.observe(this._transitionElement,transitionendEvents[i],this._removeBackBuffer);} -this.backBufferTimerId=window.setTimeout(this._removeBackBuffer,this.removeBackBufferDelay);}} -this.loading=false;this.events.triggerEvent("loadend");}};tile.onLoadError=function(){this.events.triggerEvent("tileerror",{tile:tile});};tile.events.on({"loadstart":tile.onLoadStart,"loadend":tile.onLoadEnd,"unload":tile.onLoadEnd,"loaderror":tile.onLoadError,scope:this});},removeTileMonitoringHooks:function(tile){tile.unload();tile.events.un({"loadstart":tile.onLoadStart,"loadend":tile.onLoadEnd,"unload":tile.onLoadEnd,"loaderror":tile.onLoadError,scope:this});},moveGriddedTiles:function(){var buffer=this.buffer+1;while(true){var tlTile=this.grid[0][0];var tlViewPort={x:tlTile.position.x+ -this.map.layerContainerOriginPx.x,y:tlTile.position.y+ -this.map.layerContainerOriginPx.y};var ratio=this.getServerResolution()/this.map.getResolution();var tileSize={w:Math.round(this.tileSize.w*ratio),h:Math.round(this.tileSize.h*ratio)};if(tlViewPort.x>-tileSize.w*(buffer-1)){this.shiftColumn(true,tileSize);}else if(tlViewPort.x<-tileSize.w*buffer){this.shiftColumn(false,tileSize);}else if(tlViewPort.y>-tileSize.h*(buffer-1)){this.shiftRow(true,tileSize);}else if(tlViewPort.y<-tileSize.h*buffer){this.shiftRow(false,tileSize);}else{break;}}},shiftRow:function(prepend,tileSize){var grid=this.grid;var rowIndex=prepend?0:(grid.length-1);var sign=prepend?-1:1;var rowSign=this.rowSign;var tileLayout=this.gridLayout;tileLayout.startrow+=sign*rowSign;var modelRow=grid[rowIndex];var row=grid[prepend?'pop':'shift']();for(var i=0,len=row.length;irows){var row=this.grid.pop();for(i=0,l=row.length;icolumns){var row=this.grid[i];var tile=row.pop();this.destroyTile(tile);}}},onMapResize:function(){if(this.singleTile){this.clearGrid();this.setTileSize();}},getTileBounds:function(viewPortPx){var maxExtent=this.maxExtent;var resolution=this.getResolution();var tileMapWidth=resolution*this.tileSize.w;var tileMapHeight=resolution*this.tileSize.h;var mapPoint=this.getLonLatFromViewPortPx(viewPortPx);var tileLeft=maxExtent.left+(tileMapWidth*Math.floor((mapPoint.lon- -maxExtent.left)/tileMapWidth));var tileBottom=maxExtent.bottom+(tileMapHeight*Math.floor((mapPoint.lat- -maxExtent.bottom)/tileMapHeight));return new OpenLayers.Bounds(tileLeft,tileBottom,tileLeft+tileMapWidth,tileBottom+tileMapHeight);},CLASS_NAME:"OpenLayers.Layer.Grid"});OpenLayers.TileManager=OpenLayers.Class({cacheSize:256,tilesPerFrame:2,frameDelay:16,moveDelay:100,zoomDelay:200,maps:null,tileQueueId:null,tileQueue:null,tileCache:null,tileCacheIndex:null,initialize:function(options){OpenLayers.Util.extend(this,options);this.maps=[];this.tileQueueId={};this.tileQueue={};this.tileCache={};this.tileCacheIndex=[];},addMap:function(map){if(this._destroyed||!OpenLayers.Layer.Grid){return;} -this.maps.push(map);this.tileQueue[map.id]=[];for(var i=0,ii=map.layers.length;i=0;--i){for(j=layer.grid[i].length-1;j>=0;--j){tile=layer.grid[i][j];this.addTile({tile:tile});if(tile.url&&!tile.imgDiv){this.manageTileCache({object:tile});}}}}},removeLayer:function(evt){var layer=evt.layer;if(layer instanceof OpenLayers.Layer.Grid){this.clearTileQueue({object:layer});if(layer.events){layer.events.un({addtile:this.addTile,refresh:this.handleLayerRefresh,retile:this.clearTileQueue,scope:this});} -if(layer.grid){var i,j,tile;for(i=layer.grid.length-1;i>=0;--i){for(j=layer.grid[i].length-1;j>=0;--j){tile=layer.grid[i][j];this.unloadTile({object:tile});}}}}},handleLayerRefresh:function(evt){var layer=evt.object;if(layer.grid){var i,j,tile;for(i=layer.grid.length-1;i>=0;--i){for(j=layer.grid[i].length-1;j>=0;--j){tile=layer.grid[i][j];OpenLayers.Util.removeItem(this.tileCacheIndex,tile.url);delete this.tileCache[tile.url];}}}},updateTimeout:function(map,delay,nice){window.clearTimeout(this.tileQueueId[map.id]);var tileQueue=this.tileQueue[map.id];if(!nice||tileQueue.length){this.tileQueueId[map.id]=window.setTimeout(OpenLayers.Function.bind(function(){this.drawTilesFromQueue(map);if(tileQueue.length){this.updateTimeout(map,this.frameDelay);}},this),delay);}},addTile:function(evt){if(evt.tile instanceof OpenLayers.Tile.Image){if(!evt.tile.layer.singleTile){evt.tile.events.on({beforedraw:this.queueTileDraw,beforeload:this.manageTileCache,loadend:this.addToCache,unload:this.unloadTile,scope:this});}}else{this.removeLayer({layer:evt.tile.layer});}},unloadTile:function(evt){var tile=evt.object;tile.events.un({beforedraw:this.queueTileDraw,beforeload:this.manageTileCache,loadend:this.addToCache,unload:this.unloadTile,scope:this});OpenLayers.Util.removeItem(this.tileQueue[tile.layer.map.id],tile);},queueTileDraw:function(evt){var tile=evt.object;var queued=false;var layer=tile.layer;var url=layer.getURL(tile.bounds);var img=this.tileCache[url];if(img&&img.className!=='olTileImage'){delete this.tileCache[url];OpenLayers.Util.removeItem(this.tileCacheIndex,url);img=null;} -if(layer.url&&(layer.async||!img)){var tileQueue=this.tileQueue[layer.map.id];if(!~OpenLayers.Util.indexOf(tileQueue,tile)){tileQueue.push(tile);} -queued=true;} -return!queued;},drawTilesFromQueue:function(map){var tileQueue=this.tileQueue[map.id];var limit=this.tilesPerFrame;var animating=map.zoomTween&&map.zoomTween.playing;while(!animating&&tileQueue.length&&limit){tileQueue.shift().draw(true);--limit;}},manageTileCache:function(evt){var tile=evt.object;var img=this.tileCache[tile.url];if(img){if(img.parentNode&&OpenLayers.Element.hasClass(img.parentNode,'olBackBuffer')){img.parentNode.removeChild(img);img.id=null;} -if(!img.parentNode){img.style.visibility='hidden';img.style.opacity=0;tile.setImage(img);OpenLayers.Util.removeItem(this.tileCacheIndex,tile.url);this.tileCacheIndex.push(tile.url);}}},addToCache:function(evt){var tile=evt.object;if(!this.tileCache[tile.url]){if(!OpenLayers.Element.hasClass(tile.imgDiv,'olImageLoadError')){if(this.tileCacheIndex.length>=this.cacheSize){delete this.tileCache[this.tileCacheIndex[0]];this.tileCacheIndex.shift();} -this.tileCache[tile.url]=tile.imgDiv;this.tileCacheIndex.push(tile.url);}}},clearTileQueue:function(evt){var layer=evt.object;var tileQueue=this.tileQueue[layer.map.id];for(var i=tileQueue.length-1;i>=0;--i){if(tileQueue[i].layer===layer){tileQueue.splice(i,1);}}},destroy:function(){for(var i=this.maps.length-1;i>=0;--i){this.removeMap(this.maps[i]);} -this.maps=null;this.tileQueue=null;this.tileQueueId=null;this.tileCache=null;this.tileCacheIndex=null;this._destroyed=true;}});OpenLayers.Geometry=OpenLayers.Class({id:null,parent:null,bounds:null,initialize:function(){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");},destroy:function(){this.id=null;this.bounds=null;},clone:function(){return new OpenLayers.Geometry();},setBounds:function(bounds){if(bounds){this.bounds=bounds.clone();}},clearBounds:function(){this.bounds=null;if(this.parent){this.parent.clearBounds();}},extendBounds:function(newBounds){var bounds=this.getBounds();if(!bounds){this.setBounds(newBounds);}else{this.bounds.extend(newBounds);}},getBounds:function(){if(this.bounds==null){this.calculateBounds();} -return this.bounds;},calculateBounds:function(){},distanceTo:function(geometry,options){},getVertices:function(nodes){},atPoint:function(lonlat,toleranceLon,toleranceLat){var atPoint=false;var bounds=this.getBounds();if((bounds!=null)&&(lonlat!=null)){var dX=(toleranceLon!=null)?toleranceLon:0;var dY=(toleranceLat!=null)?toleranceLat:0;var toleranceBounds=new OpenLayers.Bounds(this.bounds.left-dX,this.bounds.bottom-dY,this.bounds.right+dX,this.bounds.top+dY);atPoint=toleranceBounds.containsLonLat(lonlat);} -return atPoint;},getLength:function(){return 0.0;},getArea:function(){return 0.0;},getCentroid:function(){return null;},toString:function(){var string;if(OpenLayers.Format&&OpenLayers.Format.WKT){string=OpenLayers.Format.WKT.prototype.write(new OpenLayers.Feature.Vector(this));}else{string=Object.prototype.toString.call(this);} -return string;},CLASS_NAME:"OpenLayers.Geometry"});OpenLayers.Geometry.fromWKT=function(wkt){var geom;if(OpenLayers.Format&&OpenLayers.Format.WKT){var format=OpenLayers.Geometry.fromWKT.format;if(!format){format=new OpenLayers.Format.WKT();OpenLayers.Geometry.fromWKT.format=format;} -var result=format.read(wkt);if(result instanceof OpenLayers.Feature.Vector){geom=result.geometry;}else if(OpenLayers.Util.isArray(result)){var len=result.length;var components=new Array(len);for(var i=0;i=0&&along1<=1&&along2>=0&&along2<=1){if(!point){intersection=true;}else{var x=seg1.x1+(along1*x12_11);var y=seg1.y1+(along1*y12_11);intersection=new OpenLayers.Geometry.Point(x,y);}}} -if(tolerance){var dist;if(intersection){if(point){var segs=[seg1,seg2];var seg,x,y;outer:for(var i=0;i<2;++i){seg=segs[i];for(var j=1;j<3;++j){x=seg["x"+j];y=seg["y"+j];dist=Math.sqrt(Math.pow(x-intersection.x,2)+ -Math.pow(y-intersection.y,2));if(dist=1.0){x=x2;y=y2;}else{x=x1+along*dx;y=y1+along*dy;} -return{distance:Math.pow(x-x0,2)+Math.pow(y-y0,2),x:x,y:y,along:along};};OpenLayers.Feature=OpenLayers.Class({layer:null,id:null,lonlat:null,data:null,marker:null,popupClass:null,popup:null,initialize:function(layer,lonlat,data){this.layer=layer;this.lonlat=lonlat;this.data=(data!=null)?data:{};this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");},destroy:function(){if((this.layer!=null)&&(this.layer.map!=null)){if(this.popup!=null){this.layer.map.removePopup(this.popup);}} -if(this.layer!=null&&this.marker!=null){this.layer.removeMarker(this.marker);} -this.layer=null;this.id=null;this.lonlat=null;this.data=null;if(this.marker!=null){this.destroyMarker(this.marker);this.marker=null;} -if(this.popup!=null){this.destroyPopup(this.popup);this.popup=null;}},onScreen:function(){var onScreen=false;if((this.layer!=null)&&(this.layer.map!=null)){var screenBounds=this.layer.map.getExtent();onScreen=screenBounds.containsLonLat(this.lonlat);} -return onScreen;},createMarker:function(){if(this.lonlat!=null){this.marker=new OpenLayers.Marker(this.lonlat,this.data.icon);} -return this.marker;},destroyMarker:function(){this.marker.destroy();},createPopup:function(closeBox){if(this.lonlat!=null){if(!this.popup){var anchor=(this.marker)?this.marker.icon:null;var popupClass=this.popupClass?this.popupClass:OpenLayers.Popup.Anchored;this.popup=new popupClass(this.id+"_popup",this.lonlat,this.data.popupSize,this.data.popupContentHTML,anchor,closeBox);} -if(this.data.overflow!=null){this.popup.contentDiv.style.overflow=this.data.overflow;} -this.popup.feature=this;} -return this.popup;},destroyPopup:function(){if(this.popup){this.popup.feature=null;this.popup.destroy();this.popup=null;}},CLASS_NAME:"OpenLayers.Feature"});OpenLayers.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(geometry,attributes,style){OpenLayers.Feature.prototype.initialize.apply(this,[null,null,attributes]);this.lonlat=null;this.geometry=geometry?geometry:null;this.state=null;this.attributes={};if(attributes){this.attributes=OpenLayers.Util.extend(this.attributes,attributes);} -this.style=style?style:null;},destroy:function(){if(this.layer){this.layer.removeFeatures(this);this.layer=null;} -this.geometry=null;this.modified=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(boundsOnly){var onScreen=false;if(this.layer&&this.layer.map){var screenBounds=this.layer.map.getExtent();if(boundsOnly){var featureBounds=this.geometry.getBounds();onScreen=screenBounds.intersectsBounds(featureBounds);}else{var screenPoly=screenBounds.toGeometry();onScreen=screenPoly.intersects(this.geometry);}} -return onScreen;},getVisibility:function(){return!(this.style&&this.style.display=='none'||!this.layer||this.layer&&this.layer.styleMap&&this.layer.styleMap.createSymbolizer(this,this.renderIntent).display=='none'||this.layer&&!this.layer.getVisibility());},createMarker:function(){return null;},destroyMarker:function(){},createPopup:function(){return null;},atPoint:function(lonlat,toleranceLon,toleranceLat){var atPoint=false;if(this.geometry){atPoint=this.geometry.atPoint(lonlat,toleranceLon,toleranceLat);} -return atPoint;},destroyPopup:function(){},move:function(location){if(!this.layer||!this.geometry.move){return undefined;} -var pixel;if(location.CLASS_NAME=="OpenLayers.LonLat"){pixel=this.layer.getViewPortPxFromLonLat(location);}else{pixel=location;} -var lastPixel=this.layer.getViewPortPxFromLonLat(this.geometry.getBounds().getCenterLonLat());var res=this.layer.map.getResolution();this.geometry.move(res*(pixel.x-lastPixel.x),res*(lastPixel.y-pixel.y));this.layer.drawFeature(this);return lastPixel;},toState:function(state){if(state==OpenLayers.State.UPDATE){switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.DELETE:this.state=state;break;case OpenLayers.State.UPDATE:case OpenLayers.State.INSERT:break;}}else if(state==OpenLayers.State.INSERT){switch(this.state){case OpenLayers.State.UNKNOWN:break;default:this.state=state;break;}}else if(state==OpenLayers.State.DELETE){switch(this.state){case OpenLayers.State.INSERT:break;case OpenLayers.State.DELETE:break;case OpenLayers.State.UNKNOWN:case OpenLayers.State.UPDATE:this.state=state;break;}}else if(state==OpenLayers.State.UNKNOWN){this.state=state;}},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.Format=OpenLayers.Class({options:null,externalProjection:null,internalProjection:null,data:null,keepData:false,initialize:function(options){OpenLayers.Util.extend(this,options);this.options=options;},destroy:function(){},read:function(data){throw new Error('Read not implemented.');},write:function(object){throw new Error('Write not implemented.');},CLASS_NAME:"OpenLayers.Format"});OpenLayers.Geometry.Point=OpenLayers.Class(OpenLayers.Geometry,{x:null,y:null,initialize:function(x,y){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.x=parseFloat(x);this.y=parseFloat(y);},clone:function(obj){if(obj==null){obj=new OpenLayers.Geometry.Point(this.x,this.y);} -OpenLayers.Util.applyDefaults(obj,this);return obj;},calculateBounds:function(){this.bounds=new OpenLayers.Bounds(this.x,this.y,this.x,this.y);},distanceTo:function(geometry,options){var edge=!(options&&options.edge===false);var details=edge&&options&&options.details;var distance,x0,y0,x1,y1,result;if(geometry instanceof OpenLayers.Geometry.Point){x0=this.x;y0=this.y;x1=geometry.x;y1=geometry.y;distance=Math.sqrt(Math.pow(x0-x1,2)+Math.pow(y0-y1,2));result=!details?distance:{x0:x0,y0:y0,x1:x1,y1:y1,distance:distance};}else{result=geometry.distanceTo(this,options);if(details){result={x0:result.x1,y0:result.y1,x1:result.x0,y1:result.y0,distance:result.distance};}} -return result;},equals:function(geom){var equals=false;if(geom!=null){equals=((this.x==geom.x&&this.y==geom.y)||(isNaN(this.x)&&isNaN(this.y)&&isNaN(geom.x)&&isNaN(geom.y)));} -return equals;},toShortString:function(){return(this.x+", "+this.y);},move:function(x,y){this.x=this.x+x;this.y=this.y+y;this.clearBounds();},rotate:function(angle,origin){angle*=Math.PI/180;var radius=this.distanceTo(origin);var theta=angle+Math.atan2(this.y-origin.y,this.x-origin.x);this.x=origin.x+(radius*Math.cos(theta));this.y=origin.y+(radius*Math.sin(theta));this.clearBounds();},getCentroid:function(){return new OpenLayers.Geometry.Point(this.x,this.y);},resize:function(scale,origin,ratio){ratio=(ratio==undefined)?1:ratio;this.x=origin.x+(scale*ratio*(this.x-origin.x));this.y=origin.y+(scale*(this.y-origin.y));this.clearBounds();return this;},intersects:function(geometry){var intersect=false;if(geometry.CLASS_NAME=="OpenLayers.Geometry.Point"){intersect=this.equals(geometry);}else{intersect=geometry.intersects(this);} -return intersect;},transform:function(source,dest){if((source&&dest)){OpenLayers.Projection.transform(this,source,dest);this.bounds=null;} -return this;},getVertices:function(nodes){return[this];},CLASS_NAME:"OpenLayers.Geometry.Point"});OpenLayers.Geometry.Collection=OpenLayers.Class(OpenLayers.Geometry,{components:null,componentTypes:null,initialize:function(components){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.components=[];if(components!=null){this.addComponents(components);}},destroy:function(){this.components.length=0;this.components=null;OpenLayers.Geometry.prototype.destroy.apply(this,arguments);},clone:function(){var Constructor=OpenLayers.Util.getConstructor(this.CLASS_NAME);var geometry=new Constructor();for(var i=0,len=this.components.length;i-1)){if(index!=null&&(index=0;--i){removed=this.removeComponent(components[i])||removed;} -return removed;},removeComponent:function(component){OpenLayers.Util.removeItem(this.components,component);this.clearBounds();return true;},getLength:function(){var length=0.0;for(var i=0,len=this.components.length;i0)?area:minArea;centroids.push(centroid);} -len=areas.length;if(areaSum===0){for(var i=0;i1)){for(var i=1,len=this.components.length;i1)){var p1,p2;for(var i=1,len=geom.components.length;i2);if(removed){OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,arguments);} -return removed;},intersects:function(geometry){var intersect=false;var type=geometry.CLASS_NAME;if(type=="OpenLayers.Geometry.LineString"||type=="OpenLayers.Geometry.LinearRing"||type=="OpenLayers.Geometry.Point"){var segs1=this.getSortedSegments();var segs2;if(type=="OpenLayers.Geometry.Point"){segs2=[{x1:geometry.x,y1:geometry.y,x2:geometry.x,y2:geometry.y}];}else{segs2=geometry.getSortedSegments();} -var seg1,seg1x1,seg1x2,seg1y1,seg1y2,seg2,seg2y1,seg2y2;outer:for(var i=0,len=segs1.length;iseg1x2){break;} -if(seg2.x2Math.max(seg1y1,seg1y2)){continue;} -if(Math.max(seg2y1,seg2y2)0){var xDir=seg.x10){lines.unshift(j,1);Array.prototype.splice.apply(targetParts,lines);j+=lines.length-2;} -if(mutual){for(var k=0,len=splits.points.length;k0&&points.length>0){points.push(vert2.clone());sourceParts.push(new OpenLayers.Geometry.LineString(points));}}else{results=target.splitWith(this,options);} -if(targetParts&&targetParts.length>1){targetSplit=true;}else{targetParts=[];} -if(sourceParts&&sourceParts.length>1){sourceSplit=true;}else{sourceParts=[];} -if(targetSplit||sourceSplit){if(mutual){results=[sourceParts,targetParts];}else{results=targetParts;}} -return results;},splitWith:function(geometry,options){return geometry.split(this,options);},getVertices:function(nodes){var vertices;if(nodes===true){vertices=[this.components[0],this.components[this.components.length-1]];}else if(nodes===false){vertices=this.components.slice(1,this.components.length-1);}else{vertices=this.components.slice();} -return vertices;},distanceTo:function(geometry,options){var edge=!(options&&options.edge===false);var details=edge&&options&&options.details;var result,best={};var min=Number.POSITIVE_INFINITY;if(geometry instanceof OpenLayers.Geometry.Point){var segs=this.getSortedSegments();var x=geometry.x;var y=geometry.y;var seg;for(var i=0,len=segs.length;imaxDistance){maxDistance=distance;indexFarthest=index;}} -if(maxDistance>tolerance&&indexFarthest!=firstPoint){pointIndexsToKeep.push(indexFarthest);douglasPeuckerReduction(points,firstPoint,indexFarthest,tolerance);douglasPeuckerReduction(points,indexFarthest,lastPoint,tolerance);}};var perpendicularDistance=function(point1,point2,point){var area=Math.abs(0.5*(point1.x*point2.y+point2.x*point.y+point.x*point1.y-point2.x*point1.y-point.x*point2.y-point1.x*point.y));var bottom=Math.sqrt(Math.pow(point1.x-point2.x,2)+Math.pow(point1.y-point2.y,2));var height=area/bottom*2;return height;};var firstPoint=0;var lastPoint=points.length-1;var pointIndexsToKeep=[];pointIndexsToKeep.push(firstPoint);pointIndexsToKeep.push(lastPoint);while(points[firstPoint].equals(points[lastPoint])){lastPoint--;pointIndexsToKeep.push(lastPoint);} -douglasPeuckerReduction(points,firstPoint,lastPoint,tolerance);var returnPoints=[];pointIndexsToKeep.sort(compareNumbers);for(var index=0;index0&&fractionStack.length>0){fracA=fractionStack.pop();geoA=geoStack.pop();a=stack.pop();key=fracA.toString();if(!(key in fractions)){components.push(a);fractions[key]=true;} -fracB=fractionStack.pop();geoB=geoStack.pop();b=stack.pop();fracM=(fracA+fracB)/2;geoM=interpolate(fracM);m=transform(geoM);if(OpenLayers.Geometry.distanceSquaredToSegment(m,{x1:a.x,y1:a.y,x2:b.x,y2:b.y}).distance1){sourceSplit=true;}else{sourceParts=[];} -if(targetParts&&targetParts.length>1){targetSplit=true;}else{targetParts=[];} -if(sourceSplit||targetSplit){if(mutual){results=[sourceParts,targetParts];}else{results=targetParts;}} -return results;},splitWith:function(geometry,options){var results=null;var mutual=options&&options.mutual;var splits,targetLine,sourceLines,sourceSplit,targetSplit,sourceParts,targetParts;if(geometry instanceof OpenLayers.Geometry.LineString){targetParts=[];sourceParts=[geometry];for(var i=0,len=this.components.length;i1){sourceSplit=true;}else{sourceParts=[];} -if(targetParts&&targetParts.length>1){targetSplit=true;}else{targetParts=[];} -if(sourceSplit||targetSplit){if(mutual){results=[sourceParts,targetParts];}else{results=targetParts;}} -return results;},CLASS_NAME:"OpenLayers.Geometry.MultiLineString"});OpenLayers.Geometry.LinearRing=OpenLayers.Class(OpenLayers.Geometry.LineString,{componentTypes:["OpenLayers.Geometry.Point"],addComponent:function(point,index){var added=false;var lastPoint=this.components.pop();if(index!=null||!point.equals(lastPoint)){added=OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,arguments);} -var firstPoint=this.components[0];OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[firstPoint]);return added;},removeComponent:function(point){var removed=this.components&&(this.components.length>3);if(removed){this.components.pop();OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,arguments);var firstPoint=this.components[0];OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[firstPoint]);} -return removed;},move:function(x,y){for(var i=0,len=this.components.length;i0&&len<=2){return this.components[0].clone();}else if(len>2){var sumX=0.0;var sumY=0.0;var x0=this.components[0].x;var y0=this.components[0].y;var area=-1*this.getArea();if(area!=0){for(var i=0;i2)){var sum=0.0;for(var i=0,len=this.components.length;i2){var p1,p2;for(var i=0;i=x1&&px<=x2)||x1>=x2&&(px<=x1&&px>=x2)){crosses=-1;break;}} -continue;} -cx=approx(getX(py,x1,y1,x2,y2),digs);if(cx==px){if(y1=y1&&py<=y2)||y1>y2&&(py<=y1&&py>=y2)){crosses=-1;break;}} -if(cx<=px){continue;} -if(x1!=x2&&(cxMath.max(x1,x2))){continue;} -if(y1=y1&&pyy2&&(py=y2)){++crosses;}} -var contained=(crosses==-1)?1:!!(crosses&1);return contained;},intersects:function(geometry){var intersect=false;if(geometry.CLASS_NAME=="OpenLayers.Geometry.Point"){intersect=this.containsPoint(geometry);}else if(geometry.CLASS_NAME=="OpenLayers.Geometry.LineString"){intersect=geometry.intersects(this);}else if(geometry.CLASS_NAME=="OpenLayers.Geometry.LinearRing"){intersect=OpenLayers.Geometry.LineString.prototype.intersects.apply(this,[geometry]);}else{for(var i=0,len=geometry.components.length;i0)){area+=Math.abs(this.components[0].getArea());for(var i=1,len=this.components.length;i0)){area+=Math.abs(this.components[0].getGeodesicArea(projection));for(var i=1,len=this.components.length;i0){contained=this.components[0].containsPoint(point);if(contained!==1){if(contained&&numRings>1){var hole;for(var i=1;i0){pieces.push(',');} -geometry=collection[i].geometry;pieces.push(this.extractGeometry(geometry));} -if(isCollection){pieces.push(')');} -return pieces.join('');},extractGeometry:function(geometry){var type=geometry.CLASS_NAME.split('.')[2].toLowerCase();if(!this.extract[type]){return null;} -if(this.internalProjection&&this.externalProjection){geometry=geometry.clone();geometry.transform(this.internalProjection,this.externalProjection);} -var wktType=type=='collection'?'GEOMETRYCOLLECTION':type.toUpperCase();var data=wktType+'('+this.extract[type].apply(this,[geometry])+')';return data;},extract:{'point':function(point){return point.x+' '+point.y;},'multipoint':function(multipoint){var array=[];for(var i=0,len=multipoint.components.length;i0){pieces.push(',');} -pieces.push(this.writeNewline(),this.writeIndent(),json);}} -this.level-=1;pieces.push(this.writeNewline(),this.writeIndent(),']');return pieces.join('');},'string':function(string){var m={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};if(/["\\\x00-\x1f]/.test(string)){return'"'+string.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c;} -c=b.charCodeAt();return'\\u00'+ -Math.floor(c/16).toString(16)+ -(c%16).toString(16);})+'"';} -return'"'+string+'"';},'number':function(number){return isFinite(number)?String(number):"null";},'boolean':function(bool){return String(bool);},'date':function(date){function format(number){return(number<10)?'0'+number:number;} -return'"'+date.getFullYear()+'-'+ -format(date.getMonth()+1)+'-'+ -format(date.getDate())+'T'+ -format(date.getHours())+':'+ -format(date.getMinutes())+':'+ -format(date.getSeconds())+'"';}},CLASS_NAME:"OpenLayers.Format.JSON"});OpenLayers.Format.GeoJSON=OpenLayers.Class(OpenLayers.Format.JSON,{ignoreExtraDims:false,read:function(json,type,filter){type=(type)?type:"FeatureCollection";var results=null;var obj=null;if(typeof json=="string"){obj=OpenLayers.Format.JSON.prototype.read.apply(this,[json,filter]);}else{obj=json;} -if(!obj){OpenLayers.Console.error("Bad JSON: "+json);}else if(typeof(obj.type)!="string"){OpenLayers.Console.error("Bad GeoJSON - no type: "+json);}else if(this.isValidType(obj,type)){switch(type){case"Geometry":try{results=this.parseGeometry(obj);}catch(err){OpenLayers.Console.error(err);} -break;case"Feature":try{results=this.parseFeature(obj);results.type="Feature";}catch(err){OpenLayers.Console.error(err);} -break;case"FeatureCollection":results=[];switch(obj.type){case"Feature":try{results.push(this.parseFeature(obj));}catch(err){results=null;OpenLayers.Console.error(err);} -break;case"FeatureCollection":for(var i=0,len=obj.features.length;i0){text=text.substring(index);} -var node=OpenLayers.Util.Try(OpenLayers.Function.bind((function(){var xmldom;if(OpenLayers.Format.XML.supportActiveX&&!this.xmldom){xmldom=new ActiveXObject("Microsoft.XMLDOM");}else{xmldom=this.xmldom;} -xmldom.loadXML(text);return xmldom;}),this),function(){return new DOMParser().parseFromString(text,'text/xml');},function(){var req=new XMLHttpRequest();req.open("GET","data:"+"text/xml"+";charset=utf-8,"+encodeURIComponent(text),false);if(req.overrideMimeType){req.overrideMimeType("text/xml");} -req.send(null);return req.responseXML;});if(this.keepData){this.data=node;} -return node;},write:function(node){var data;if(this.xmldom){data=node.xml;}else{var serializer=new XMLSerializer();if(node.nodeType==1){var doc=document.implementation.createDocument("","",null);if(doc.importNode){node=doc.importNode(node,true);} -doc.appendChild(node);data=serializer.serializeToString(doc);}else{data=serializer.serializeToString(node);}} -return data;},createElementNS:function(uri,name){var element;if(this.xmldom){if(typeof uri=="string"){element=this.xmldom.createNode(1,name,uri);}else{element=this.xmldom.createNode(1,name,"");}}else{element=document.createElementNS(uri,name);} -return element;},createDocumentFragment:function(){var element;if(this.xmldom){element=this.xmldom.createDocumentFragment();}else{element=document.createDocumentFragment();} -return element;},createTextNode:function(text){var node;if(typeof text!=="string"){text=String(text);} -if(this.xmldom){node=this.xmldom.createTextNode(text);}else{node=document.createTextNode(text);} -return node;},getElementsByTagNameNS:function(node,uri,name){var elements=[];if(node.getElementsByTagNameNS){elements=node.getElementsByTagNameNS(uri,name);}else{var allNodes=node.getElementsByTagName("*");var potentialNode,fullName;for(var i=0,len=allNodes.length;i0){prefix=name.substring(0,split);local=name.substring(split+1);}else{if(parent){prefix=this.namespaceAlias[parent.namespaceURI];}else{prefix=this.defaultPrefix;} -local=name;} -var child=this.writers[prefix][local].apply(this,[obj]);if(parent){parent.appendChild(child);} -return child;},getChildEl:function(node,name,uri){return node&&this.getThisOrNextEl(node.firstChild,name,uri);},getNextEl:function(node,name,uri){return node&&this.getThisOrNextEl(node.nextSibling,name,uri);},getThisOrNextEl:function(node,name,uri){outer:for(var sibling=node;sibling;sibling=sibling.nextSibling){switch(sibling.nodeType){case 1:if((!name||name===(sibling.localName||sibling.nodeName.split(":").pop()))&&(!uri||uri===sibling.namespaceURI)){break outer;} -sibling=null;break outer;case 3:if(/^\s*$/.test(sibling.nodeValue)){break;} -case 4:case 6:case 12:case 10:case 11:sibling=null;break outer;}} -return sibling||null;},lookupNamespaceURI:function(node,prefix){var uri=null;if(node){if(node.lookupNamespaceURI){uri=node.lookupNamespaceURI(prefix);}else{outer:switch(node.nodeType){case 1:if(node.namespaceURI!==null&&node.prefix===prefix){uri=node.namespaceURI;break outer;} -var len=node.attributes.length;if(len){var attr;for(var i=0;i0){appliedRules=true;for(var i=0,len=elseRules.length;i0&&appliedRules==false){style.display="none";} -if(style.label!=null&&typeof style.label!=="string"){style.label=String(style.label);} -return style;},applySymbolizer:function(rule,style,feature){var symbolizerPrefix=feature.geometry?this.getSymbolizerPrefix(feature.geometry):OpenLayers.Style.SYMBOLIZER_PREFIXES[0];var symbolizer=rule.symbolizer[symbolizerPrefix]||rule.symbolizer;if(this.defaultsPerSymbolizer===true){var defaults=this.defaultStyle;OpenLayers.Util.applyDefaults(symbolizer,{pointRadius:defaults.pointRadius});if(symbolizer.stroke===true||symbolizer.graphic===true){OpenLayers.Util.applyDefaults(symbolizer,{strokeWidth:defaults.strokeWidth,strokeColor:defaults.strokeColor,strokeOpacity:defaults.strokeOpacity,strokeDashstyle:defaults.strokeDashstyle,strokeLinecap:defaults.strokeLinecap});} -if(symbolizer.fill===true||symbolizer.graphic===true){OpenLayers.Util.applyDefaults(symbolizer,{fillColor:defaults.fillColor,fillOpacity:defaults.fillOpacity});} -if(symbolizer.graphic===true){OpenLayers.Util.applyDefaults(symbolizer,{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(style,symbolizer),feature);},createLiterals:function(style,feature){var context=OpenLayers.Util.extend({},feature.attributes||feature.data);OpenLayers.Util.extend(context,this.context);for(var i in this.propertyStyles){style[i]=OpenLayers.Style.createLiteral(style[i],context,feature,i);} -return style;},findPropertyStyles:function(){var propertyStyles={};var style=this.defaultStyle;this.addPropertyStyles(propertyStyles,style);var rules=this.rules;var symbolizer,value;for(var i=0,len=rules.length;ithis.value;break;case OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO:result=got<=this.value;break;case OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO:result=got>=this.value;break;case OpenLayers.Filter.Comparison.BETWEEN:result=(got>=this.lowerBoundary)&&(got<=this.upperBoundary);break;case OpenLayers.Filter.Comparison.LIKE:var regexp=new RegExp(this.value,"gi");result=regexp.test(got);break;case OpenLayers.Filter.Comparison.IS_NULL:result=(got===null);break;} -return result;},value2regex:function(wildCard,singleChar,escapeChar){if(wildCard=="."){throw new Error("'.' is an unsupported wildCard character for "+"OpenLayers.Filter.Comparison");} -wildCard=wildCard?wildCard:"*";singleChar=singleChar?singleChar:".";escapeChar=escapeChar?escapeChar:"!";this.value=this.value.replace(new RegExp("\\"+escapeChar+"(.|$)","g"),"\\$1");this.value=this.value.replace(new RegExp("\\"+singleChar,"g"),".");this.value=this.value.replace(new RegExp("\\"+wildCard,"g"),".*");this.value=this.value.replace(new RegExp("\\\\.\\*","g"),"\\"+wildCard);this.value=this.value.replace(new RegExp("\\\\\\.","g"),"\\"+singleChar);return this.value;},regex2value:function(){var value=this.value;value=value.replace(/!/g,"!!");value=value.replace(/(\\)?\\\./g,function($0,$1){return $1?$0:"!.";});value=value.replace(/(\\)?\\\*/g,function($0,$1){return $1?$0:"!*";});value=value.replace(/\\\\/g,"\\");value=value.replace(/\.\*/g,"*");return value;},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(){if("toISOString"in Date.prototype){return function(date){return date.toISOString();};}else{return function(date){var str;if(isNaN(date.getTime())){str="Invalid Date";}else{str=date.getUTCFullYear()+"-"+ -OpenLayers.Number.zeroPad(date.getUTCMonth()+1,2)+"-"+ -OpenLayers.Number.zeroPad(date.getUTCDate(),2)+"T"+ -OpenLayers.Number.zeroPad(date.getUTCHours(),2)+":"+ -OpenLayers.Number.zeroPad(date.getUTCMinutes(),2)+":"+ -OpenLayers.Number.zeroPad(date.getUTCSeconds(),2)+"."+ -OpenLayers.Number.zeroPad(date.getUTCMilliseconds(),3)+"Z";} -return str;};}})(),parse:function(str){var date;var match=str.match(this.dateRegEx);if(match&&(match[1]||match[7])){var year=parseInt(match[1],10)||0;var month=(parseInt(match[2],10)-1)||0;var day=parseInt(match[3],10)||1;date=new Date(Date.UTC(year,month,day));var type=match[7];if(type){var hours=parseInt(match[4],10);var minutes=parseInt(match[5],10);var secFrac=parseFloat(match[6]);var seconds=secFrac|0;var milliseconds=Math.round(1000*(secFrac-seconds));date.setUTCHours(hours,minutes,seconds,milliseconds);if(type!=="Z"){var hoursOffset=parseInt(type,10);var minutesOffset=parseInt(match[8],10)||0;var offset=-1000*(60*(hoursOffset*60)+minutesOffset*60);date=new Date(date.getTime()+offset);}}}else{date=new Date("invalid");} -return date;}};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(options){OpenLayers.Format.XML.prototype.initialize.apply(this,[options]);},read:function(data){var obj={};this.readers.ogc["Filter"].apply(this,[data,obj]);return obj.filter;},readers:{"ogc":{"_expression":function(node){var obj,value="";for(var child=node.firstChild;child;child=child.nextSibling){switch(child.nodeType){case 1:obj=this.readNode(child);if(obj.property){value+="${"+obj.property+"}";}else if(obj.value!==undefined){value+=obj.value;} -break;case 3:case 4:value+=child.nodeValue;}} -return value;},"Filter":function(node,parent){var obj={fids:[],filters:[]};this.readChildNodes(node,obj);if(obj.fids.length>0){parent.filter=new OpenLayers.Filter.FeatureId({fids:obj.fids});}else if(obj.filters.length>0){parent.filter=obj.filters[0];}},"FeatureId":function(node,obj){var fid=node.getAttribute("fid");if(fid){obj.fids.push(fid);}},"And":function(node,obj){var filter=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND});this.readChildNodes(node,filter);obj.filters.push(filter);},"Or":function(node,obj){var filter=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.OR});this.readChildNodes(node,filter);obj.filters.push(filter);},"Not":function(node,obj){var filter=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.NOT});this.readChildNodes(node,filter);obj.filters.push(filter);},"PropertyIsLessThan":function(node,obj){var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN});this.readChildNodes(node,filter);obj.filters.push(filter);},"PropertyIsGreaterThan":function(node,obj){var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.GREATER_THAN});this.readChildNodes(node,filter);obj.filters.push(filter);},"PropertyIsLessThanOrEqualTo":function(node,obj){var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO});this.readChildNodes(node,filter);obj.filters.push(filter);},"PropertyIsGreaterThanOrEqualTo":function(node,obj){var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO});this.readChildNodes(node,filter);obj.filters.push(filter);},"PropertyIsBetween":function(node,obj){var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN});this.readChildNodes(node,filter);obj.filters.push(filter);},"Literal":function(node,obj){obj.value=OpenLayers.String.numericIf(this.getChildValue(node),true);},"PropertyName":function(node,filter){filter.property=this.getChildValue(node);},"LowerBoundary":function(node,filter){filter.lowerBoundary=OpenLayers.String.numericIf(this.readers.ogc._expression.call(this,node),true);},"UpperBoundary":function(node,filter){filter.upperBoundary=OpenLayers.String.numericIf(this.readers.ogc._expression.call(this,node),true);},"Intersects":function(node,obj){this.readSpatial(node,obj,OpenLayers.Filter.Spatial.INTERSECTS);},"Within":function(node,obj){this.readSpatial(node,obj,OpenLayers.Filter.Spatial.WITHIN);},"Contains":function(node,obj){this.readSpatial(node,obj,OpenLayers.Filter.Spatial.CONTAINS);},"DWithin":function(node,obj){this.readSpatial(node,obj,OpenLayers.Filter.Spatial.DWITHIN);},"Distance":function(node,obj){obj.distance=parseInt(this.getChildValue(node));obj.distanceUnits=node.getAttribute("units");},"Function":function(node,obj){return;},"PropertyIsNull":function(node,obj){var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.IS_NULL});this.readChildNodes(node,filter);obj.filters.push(filter);}}},readSpatial:function(node,obj,type){var filter=new OpenLayers.Filter.Spatial({type:type});this.readChildNodes(node,filter);filter.value=filter.components[0];delete filter.components;obj.filters.push(filter);},encodeLiteral:function(value){if(value instanceof Date){value=OpenLayers.Date.toISOString(value);} -return value;},writeOgcExpression:function(value,node){if(value instanceof OpenLayers.Filter.Function){this.writeNode("Function",value,node);}else{this.writeNode("Literal",value,node);} -return node;},write:function(filter){return this.writers.ogc["Filter"].apply(this,[filter]);},writers:{"ogc":{"Filter":function(filter){var node=this.createElementNSPlus("ogc:Filter");this.writeNode(this.getFilterType(filter),filter,node);return node;},"_featureIds":function(filter){var node=this.createDocumentFragment();for(var i=0,ii=filter.fids.length;i":"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.Format.GML=OpenLayers.Class(OpenLayers.Format.XML,{featureNS:"http://mapserver.gis.umn.edu/mapserver",featurePrefix:"feature",featureName:"featureMember",layerName:"features",geometryName:"geometry",collectionName:"FeatureCollection",gmlns:"http://www.opengis.net/gml",extractAttributes:true,xy:true,initialize:function(options){this.regExes={trimSpace:(/^\s*|\s*$/g),removeSpace:(/\s*/g),splitSpace:(/\s+/),trimComma:(/\s*,\s*/g)};OpenLayers.Format.XML.prototype.initialize.apply(this,[options]);},read:function(data){if(typeof data=="string"){data=OpenLayers.Format.XML.prototype.read.apply(this,[data]);} -var featureNodes=this.getElementsByTagNameNS(data.documentElement,this.gmlns,this.featureName);var features=[];for(var i=0;i0){parser=this.parseGeometry[type.toLowerCase()];if(parser){geometry=parser.apply(this,[nodeList[0]]);if(this.internalProjection&&this.externalProjection){geometry.transform(this.externalProjection,this.internalProjection);}}else{throw new TypeError("Unsupported geometry type: "+type);} -break;}} -var bounds;var boxNodes=this.getElementsByTagNameNS(node,this.gmlns,"Box");for(i=0;i0){coordString=nodeList[0].firstChild.nodeValue;coordString=coordString.replace(this.regExes.trimSpace,"");coords=coordString.split(this.regExes.splitSpace);} -if(coords.length==0){nodeList=this.getElementsByTagNameNS(node,this.gmlns,"coordinates");if(nodeList.length>0){coordString=nodeList[0].firstChild.nodeValue;coordString=coordString.replace(this.regExes.removeSpace,"");coords=coordString.split(",");}} -if(coords.length==0){nodeList=this.getElementsByTagNameNS(node,this.gmlns,"coord");if(nodeList.length>0){var xList=this.getElementsByTagNameNS(nodeList[0],this.gmlns,"X");var yList=this.getElementsByTagNameNS(nodeList[0],this.gmlns,"Y");if(xList.length>0&&yList.length>0){coords=[xList[0].firstChild.nodeValue,yList[0].firstChild.nodeValue];}}} -if(coords.length==2){coords[2]=null;} -if(this.xy){return new OpenLayers.Geometry.Point(coords[0],coords[1],coords[2]);} -else{return new OpenLayers.Geometry.Point(coords[1],coords[0],coords[2]);}},multipoint:function(node){var nodeList=this.getElementsByTagNameNS(node,this.gmlns,"Point");var components=[];if(nodeList.length>0){var point;for(var i=0;i0){coordString=this.getChildValue(nodeList[0]);coordString=coordString.replace(this.regExes.trimSpace,"");coords=coordString.split(this.regExes.splitSpace);var dim=parseInt(nodeList[0].getAttribute("dimension"));var j,x,y,z;for(var i=0;i0){coordString=this.getChildValue(nodeList[0]);coordString=coordString.replace(this.regExes.trimSpace,"");coordString=coordString.replace(this.regExes.trimComma,",");var pointList=coordString.split(this.regExes.splitSpace);for(var i=0;i0){var line;for(var i=0;i0){var ring;for(var i=0;i0){var polygon;for(var i=0;i0){var coords=[];if(lpoint.length>0){coordString=lpoint[0].firstChild.nodeValue;coordString=coordString.replace(this.regExes.trimSpace,"");coords=coordString.split(this.regExes.splitSpace);} -if(coords.length==2){coords[2]=null;} -if(this.xy){var lowerPoint=new OpenLayers.Geometry.Point(coords[0],coords[1],coords[2]);}else{var lowerPoint=new OpenLayers.Geometry.Point(coords[1],coords[0],coords[2]);}} -var upoint=this.getElementsByTagNameNS(node,this.gmlns,"upperCorner");if(upoint.length>0){var coords=[];if(upoint.length>0){coordString=upoint[0].firstChild.nodeValue;coordString=coordString.replace(this.regExes.trimSpace,"");coords=coordString.split(this.regExes.splitSpace);} -if(coords.length==2){coords[2]=null;} -if(this.xy){var upperPoint=new OpenLayers.Geometry.Point(coords[0],coords[1],coords[2]);}else{var upperPoint=new OpenLayers.Geometry.Point(coords[1],coords[0],coords[2]);}} -if(lowerPoint&&upperPoint){components.push(new OpenLayers.Geometry.Point(lowerPoint.x,lowerPoint.y));components.push(new OpenLayers.Geometry.Point(upperPoint.x,lowerPoint.y));components.push(new OpenLayers.Geometry.Point(upperPoint.x,upperPoint.y));components.push(new OpenLayers.Geometry.Point(lowerPoint.x,upperPoint.y));components.push(new OpenLayers.Geometry.Point(lowerPoint.x,lowerPoint.y));var ring=new OpenLayers.Geometry.LinearRing(components);envelope=new OpenLayers.Geometry.Polygon([ring]);} -return envelope;},box:function(node){var nodeList=this.getElementsByTagNameNS(node,this.gmlns,"coordinates");var coordString;var coords,beginPoint=null,endPoint=null;if(nodeList.length>0){coordString=nodeList[0].firstChild.nodeValue;coords=coordString.split(" ");if(coords.length==2){beginPoint=coords[0].split(",");endPoint=coords[1].split(",");}} -if(beginPoint!==null&&endPoint!==null){return new OpenLayers.Bounds(parseFloat(beginPoint[0]),parseFloat(beginPoint[1]),parseFloat(endPoint[0]),parseFloat(endPoint[1]));}}},parseAttributes:function(node){var attributes={};var childNode=node.firstChild;var children,i,child,grandchildren,grandchild,name,value;while(childNode){if(childNode.nodeType==1){children=childNode.childNodes;for(i=0;i0){obj.bounds=container.components[0];}},"Point":function(node,container){var obj={points:[]};this.readChildNodes(node,obj);if(!container.components){container.components=[];} -container.components.push(obj.points[0]);},"coordinates":function(node,obj){var str=this.getChildValue(node).replace(this.regExes.trimSpace,"");str=str.replace(this.regExes.trimComma,",");var pointList=str.split(this.regExes.splitSpace);var coords;var numPoints=pointList.length;var points=new Array(numPoints);for(var i=0;i0){container.components=[new OpenLayers.Geometry.MultiLineString(obj.components)];}},"curveMember":function(node,obj){this.readChildNodes(node,obj);},"MultiSurface":function(node,container){var obj={components:[]};this.readers.gml._inherit.apply(this,[node,obj,container]);this.readChildNodes(node,obj);if(obj.components.length>0){container.components=[new OpenLayers.Geometry.MultiPolygon(obj.components)];}},"surfaceMember":function(node,obj){this.readChildNodes(node,obj);},"surfaceMembers":function(node,obj){this.readChildNodes(node,obj);},"pointMembers":function(node,obj){this.readChildNodes(node,obj);},"lineStringMembers":function(node,obj){this.readChildNodes(node,obj);},"polygonMembers":function(node,obj){this.readChildNodes(node,obj);},"geometryMembers":function(node,obj){this.readChildNodes(node,obj);},"Envelope":function(node,container){var obj={points:new Array(2)};this.readChildNodes(node,obj);if(!container.components){container.components=[];} -var min=obj.points[0];var max=obj.points[1];container.components.push(new OpenLayers.Bounds(min.x,min.y,max.x,max.y));},"lowerCorner":function(node,container){var obj={};this.readers.gml.pos.apply(this,[node,obj]);container.points[0]=obj.points[0];},"upperCorner":function(node,container){var obj={};this.readers.gml.pos.apply(this,[node,obj]);container.points[1]=obj.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(features){var name;if(OpenLayers.Util.isArray(features)){name="featureMembers";}else{name="featureMember";} -var root=this.writeNode("gml:"+name,features);this.setAttributeNS(root,this.namespaces["xsi"],"xsi:schemaLocation",this.schemaLocation);return OpenLayers.Format.XML.prototype.write.apply(this,[root]);},writers:{"gml":OpenLayers.Util.applyDefaults({"featureMembers":function(features){var node=this.createElementNSPlus("gml:featureMembers");for(var i=0,len=features.length;i4) -this._object.open(sMethod,sUrl,bAsync,sUser,sPassword);else -if(arguments.length>3) -this._object.open(sMethod,sUrl,bAsync,sUser);else -this._object.open(sMethod,sUrl,bAsync);this.readyState=cXMLHttpRequest.OPENED;fReadyStateChange(this);this._object.onreadystatechange=function(){if(bGecko&&!bAsync) -return;oRequest.readyState=oRequest._object.readyState;fSynchronizeValues(oRequest);if(oRequest._aborted){oRequest.readyState=cXMLHttpRequest.UNSENT;return;} -if(oRequest.readyState==cXMLHttpRequest.DONE){delete oRequest._data;fCleanTransport(oRequest);if(bIE&&bAsync) -window.detachEvent("onunload",fOnUnload);} -if(nState!=oRequest.readyState) -fReadyStateChange(oRequest);nState=oRequest.readyState;}};function fXMLHttpRequest_send(oRequest){oRequest._object.send(oRequest._data);if(bGecko&&!oRequest._async){oRequest.readyState=cXMLHttpRequest.OPENED;fSynchronizeValues(oRequest);while(oRequest.readyStatecXMLHttpRequest.UNSENT) -this._aborted=true;this._object.abort();fCleanTransport(this);this.readyState=cXMLHttpRequest.UNSENT;delete this._data;};cXMLHttpRequest.prototype.getAllResponseHeaders=function(){return this._object.getAllResponseHeaders();};cXMLHttpRequest.prototype.getResponseHeader=function(sName){return this._object.getResponseHeader(sName);};cXMLHttpRequest.prototype.setRequestHeader=function(sName,sValue){if(!this._headers) -this._headers={};this._headers[sName]=sValue;return this._object.setRequestHeader(sName,sValue);};cXMLHttpRequest.prototype.addEventListener=function(sName,fHandler,bUseCapture){for(var nIndex=0,oListener;oListener=this._listeners[nIndex];nIndex++) -if(oListener[0]==sName&&oListener[1]==fHandler&&oListener[2]==bUseCapture) -return;this._listeners.push([sName,fHandler,bUseCapture]);};cXMLHttpRequest.prototype.removeEventListener=function(sName,fHandler,bUseCapture){for(var nIndex=0,oListener;oListener=this._listeners[nIndex];nIndex++) -if(oListener[0]==sName&&oListener[1]==fHandler&&oListener[2]==bUseCapture) -break;if(oListener) -this._listeners.splice(nIndex,1);};cXMLHttpRequest.prototype.dispatchEvent=function(oEvent){var oEventPseudo={'type':oEvent.type,'target':this,'currentTarget':this,'eventPhase':2,'bubbles':oEvent.bubbles,'cancelable':oEvent.cancelable,'timeStamp':oEvent.timeStamp,'stopPropagation':function(){},'preventDefault':function(){},'initEvent':function(){}};if(oEventPseudo.type=="readystatechange"&&this.onreadystatechange) -(this.onreadystatechange.handleEvent||this.onreadystatechange).apply(this,[oEventPseudo]);for(var nIndex=0,oListener;oListener=this._listeners[nIndex];nIndex++) -if(oListener[0]==oEventPseudo.type&&!oListener[2]) -(oListener[1].handleEvent||oListener[1]).apply(this,[oEventPseudo]);};cXMLHttpRequest.prototype.toString=function(){return'['+"object"+' '+"XMLHttpRequest"+']';};cXMLHttpRequest.toString=function(){return'['+"XMLHttpRequest"+']';};function fReadyStateChange(oRequest){if(cXMLHttpRequest.onreadystatechange) -cXMLHttpRequest.onreadystatechange.apply(oRequest);oRequest.dispatchEvent({'type':"readystatechange",'bubbles':false,'cancelable':false,'timeStamp':new Date+0});};function fGetDocument(oRequest){var oDocument=oRequest.responseXML,sResponse=oRequest.responseText;if(bIE&&sResponse&&oDocument&&!oDocument.documentElement&&oRequest.getResponseHeader("Content-Type").match(/[^\/]+\/[^\+]+\+xml/)){oDocument=new window.ActiveXObject("Microsoft.XMLDOM");oDocument.async=false;oDocument.validateOnParse=false;oDocument.loadXML(sResponse);} -if(oDocument) -if((bIE&&oDocument.parseError!=0)||!oDocument.documentElement||(oDocument.documentElement&&oDocument.documentElement.tagName=="parsererror")) -return null;return oDocument;};function fSynchronizeValues(oRequest){try{oRequest.responseText=oRequest._object.responseText;}catch(e){} -try{oRequest.responseXML=fGetDocument(oRequest._object);}catch(e){} -try{oRequest.status=oRequest._object.status;}catch(e){} -try{oRequest.statusText=oRequest._object.statusText;}catch(e){}};function fCleanTransport(oRequest){oRequest._object.onreadystatechange=new window.Function;};if(!window.Function.prototype.apply){window.Function.prototype.apply=function(oRequest,oArguments){if(!oArguments) -oArguments=[];oRequest.__func=this;oRequest.__func(oArguments[0],oArguments[1],oArguments[2],oArguments[3],oArguments[4]);delete oRequest.__func;};};if(!OpenLayers.Request){OpenLayers.Request={};} -OpenLayers.Request.XMLHttpRequest=cXMLHttpRequest;})();OpenLayers.ProxyHost="";if(!OpenLayers.Request){OpenLayers.Request={};} -OpenLayers.Util.extend(OpenLayers.Request,{DEFAULT_CONFIG:{method:"GET",url:window.location.href,async:true,user:undefined,password:undefined,params:null,proxy:OpenLayers.ProxyHost,headers:{},data:null,callback:function(){},success:null,failure:null,scope:null},URL_SPLIT_REGEX:/([^:]*:)\/\/([^:]*:?[^@]*@)?([^:\/\?]*):?([^\/\?]*)/,events:new OpenLayers.Events(this),makeSameOrigin:function(url,proxy){var sameOrigin=url.indexOf("http")!==0;var urlParts=!sameOrigin&&url.match(this.URL_SPLIT_REGEX);if(urlParts){var location=window.location;sameOrigin=urlParts[1]==location.protocol&&urlParts[3]==location.hostname;var uPort=urlParts[4],lPort=location.port;if(uPort!=80&&uPort!=""||lPort!="80"&&lPort!=""){sameOrigin=sameOrigin&&uPort==lPort;}} -if(!sameOrigin){if(proxy){if(typeof proxy=="function"){url=proxy(url);}else{url=proxy+encodeURIComponent(url);}}} -return url;},issue:function(config){var defaultConfig=OpenLayers.Util.extend(this.DEFAULT_CONFIG,{proxy:OpenLayers.ProxyHost});config=config||{};config.headers=config.headers||{};config=OpenLayers.Util.applyDefaults(config,defaultConfig);config.headers=OpenLayers.Util.applyDefaults(config.headers,defaultConfig.headers);var customRequestedWithHeader=false,headerKey;for(headerKey in config.headers){if(config.headers.hasOwnProperty(headerKey)){if(headerKey.toLowerCase()==='x-requested-with'){customRequestedWithHeader=true;}}} -if(customRequestedWithHeader===false){config.headers['X-Requested-With']='XMLHttpRequest';} -var request=new OpenLayers.Request.XMLHttpRequest();var url=OpenLayers.Util.urlAppend(config.url,OpenLayers.Util.getParameterString(config.params||{}));url=OpenLayers.Request.makeSameOrigin(url,config.proxy);request.open(config.method,url,config.async,config.user,config.password);for(var header in config.headers){request.setRequestHeader(header,config.headers[header]);} -var events=this.events;var self=this;request.onreadystatechange=function(){if(request.readyState==OpenLayers.Request.XMLHttpRequest.DONE){var proceed=events.triggerEvent("complete",{request:request,config:config,requestUrl:url});if(proceed!==false){self.runCallbacks({request:request,config:config,requestUrl:url});}}};if(config.async===false){request.send(config.data);}else{window.setTimeout(function(){if(request.readyState!==0){request.send(config.data);}},0);} -return request;},runCallbacks:function(options){var request=options.request;var config=options.config;var complete=(config.scope)?OpenLayers.Function.bind(config.callback,config.scope):config.callback;var success;if(config.success){success=(config.scope)?OpenLayers.Function.bind(config.success,config.scope):config.success;} -var failure;if(config.failure){failure=(config.scope)?OpenLayers.Function.bind(config.failure,config.scope):config.failure;} -if(OpenLayers.Util.createUrlObject(config.url).protocol=="file:"&&request.responseText){request.status=200;} -complete(request);if(!request.status||(request.status>=200&&request.status<300)){this.events.triggerEvent("success",options);if(success){success(request);}} -if(request.status&&(request.status<200||request.status>=300)){this.events.triggerEvent("failure",options);if(failure){failure(request);}}},GET:function(config){config=OpenLayers.Util.extend(config,{method:"GET"});return OpenLayers.Request.issue(config);},POST:function(config){config=OpenLayers.Util.extend(config,{method:"POST"});config.headers=config.headers?config.headers:{};if(!("CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(config.headers))){config.headers["Content-Type"]="application/xml";} -return OpenLayers.Request.issue(config);},PUT:function(config){config=OpenLayers.Util.extend(config,{method:"PUT"});config.headers=config.headers?config.headers:{};if(!("CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(config.headers))){config.headers["Content-Type"]="application/xml";} -return OpenLayers.Request.issue(config);},DELETE:function(config){config=OpenLayers.Util.extend(config,{method:"DELETE"});return OpenLayers.Request.issue(config);},HEAD:function(config){config=OpenLayers.Util.extend(config,{method:"HEAD"});return OpenLayers.Request.issue(config);},OPTIONS:function(config){config=OpenLayers.Util.extend(config,{method:"OPTIONS"});return OpenLayers.Request.issue(config);}});OpenLayers.WPSProcess=OpenLayers.Class({client:null,server:null,identifier:null,description:null,localWPS:'http://geoserver/wps',formats:null,chained:0,executeCallbacks:null,initialize:function(options){OpenLayers.Util.extend(this,options);this.executeCallbacks=[];this.formats={'application/wkt':new OpenLayers.Format.WKT(),'application/json':new OpenLayers.Format.GeoJSON()};},describe:function(options){options=options||{};if(!this.description){this.client.describeProcess(this.server,this.identifier,function(description){if(!this.description){this.parseDescription(description);} -if(options.callback){options.callback.call(options.scope,this.description);}},this);}else if(options.callback){var description=this.description;window.setTimeout(function(){options.callback.call(options.scope,description);},0);}},configure:function(options){this.describe({callback:function(){var description=this.description,inputs=options.inputs,input,i,ii;for(i=0,ii=description.dataInputs.length;i=0;--i){if(outputs[i].identifier===identifier){output=i;break;}}}else{output=0;} -return output;},chainProcess:function(input,chainLink){var output=this.getOutputIndex(chainLink.process.description.processOutputs,chainLink.output);input.reference.mimeType=this.findMimeType(input.complexData.supported.formats,chainLink.process.description.processOutputs[output].complexOutput.supported.formats);var formats={};formats[input.reference.mimeType]=true;chainLink.process.setResponseForm({outputIndex:output,supportedFormats:formats});input.reference.body=chainLink.process.description;while(this.executeCallbacks.length>0){this.executeCallbacks[0]();}},toFeatures:function(source){var isArray=OpenLayers.Util.isArray(source);if(!isArray){source=[source];} -var target=new Array(source.length),current;for(var i=0,ii=source.length;i=OpenLayers.Style.createLiteral(this.minScaleDenominator,context);} -if(applies&&this.maxScaleDenominator){applies=scalethis.nbPoints){this.points.pop();}},end:function(xy){var last,now=new Date().getTime();for(var i=0,l=this.points.length,point;ithis.delay){break;} -last=point;} -if(!last){return;} -var time=new Date().getTime()-last.tick;var dist=Math.sqrt(Math.pow(xy.x-last.xy.x,2)+ -Math.pow(xy.y-last.xy.y,2));var speed=dist/time;if(speed==0||speed0;},CLASS_NAME:"OpenLayers.Protocol.Response"});OpenLayers.Protocol.Response.SUCCESS=1;OpenLayers.Protocol.Response.FAILURE=0;OpenLayers.Popup=OpenLayers.Class({events:null,id:"",lonlat:null,div:null,contentSize:null,size:null,contentHTML:null,backgroundColor:"",opacity:"",border:"",contentDiv:null,groupDiv:null,closeDiv:null,autoSize:false,minSize:null,maxSize:null,displayClass:"olPopup",contentDisplayClass:"olPopupContent",padding:0,disableFirefoxOverflowHack:false,fixPadding:function(){if(typeof this.padding=="number"){this.padding=new OpenLayers.Bounds(this.padding,this.padding,this.padding,this.padding);}},panMapIfOutOfView:false,keepInMap:false,closeOnMove:false,map:null,initialize:function(id,lonlat,contentSize,contentHTML,closeBox,closeBoxCallback){if(id==null){id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");} -this.id=id;this.lonlat=lonlat;this.contentSize=(contentSize!=null)?contentSize:new OpenLayers.Size(OpenLayers.Popup.WIDTH,OpenLayers.Popup.HEIGHT);if(contentHTML!=null){this.contentHTML=contentHTML;} -this.backgroundColor=OpenLayers.Popup.COLOR;this.opacity=OpenLayers.Popup.OPACITY;this.border=OpenLayers.Popup.BORDER;this.div=OpenLayers.Util.createDiv(this.id,null,null,null,null,null,"hidden");this.div.className=this.displayClass;var groupDivId=this.id+"_GroupDiv";this.groupDiv=OpenLayers.Util.createDiv(groupDivId,null,null,null,"relative",null,"hidden");var id=this.div.id+"_contentDiv";this.contentDiv=OpenLayers.Util.createDiv(id,null,this.contentSize.clone(),null,"relative");this.contentDiv.className=this.contentDisplayClass;this.groupDiv.appendChild(this.contentDiv);this.div.appendChild(this.groupDiv);if(closeBox){this.addCloseBox(closeBoxCallback);} -this.registerEvents();},destroy:function(){this.id=null;this.lonlat=null;this.size=null;this.contentHTML=null;this.backgroundColor=null;this.opacity=null;this.border=null;if(this.closeOnMove&&this.map){this.map.events.unregister("movestart",this,this.hide);} -this.events.destroy();this.events=null;if(this.closeDiv){OpenLayers.Event.stopObservingElement(this.closeDiv);this.groupDiv.removeChild(this.closeDiv);} -this.closeDiv=null;this.div.removeChild(this.groupDiv);this.groupDiv=null;if(this.map!=null){this.map.removePopup(this);} -this.map=null;this.div=null;this.autoSize=null;this.minSize=null;this.maxSize=null;this.padding=null;this.panMapIfOutOfView=null;},draw:function(px){if(px==null){if((this.lonlat!=null)&&(this.map!=null)){px=this.map.getLayerPxFromLonLat(this.lonlat);}} -if(this.closeOnMove){this.map.events.register("movestart",this,this.hide);} -if(!this.disableFirefoxOverflowHack&&OpenLayers.BROWSER_NAME=='firefox'){this.map.events.register("movestart",this,function(){var style=document.defaultView.getComputedStyle(this.contentDiv,null);var currentOverflow=style.getPropertyValue("overflow");if(currentOverflow!="hidden"){this.contentDiv._oldOverflow=currentOverflow;this.contentDiv.style.overflow="hidden";}});this.map.events.register("moveend",this,function(){var oldOverflow=this.contentDiv._oldOverflow;if(oldOverflow){this.contentDiv.style.overflow=oldOverflow;this.contentDiv._oldOverflow=null;}});} -this.moveTo(px);if(!this.autoSize&&!this.size){this.setSize(this.contentSize);} -this.setBackgroundColor();this.setOpacity();this.setBorder();this.setContentHTML();if(this.panMapIfOutOfView){this.panIntoView();} -return this.div;},updatePosition:function(){if((this.lonlat)&&(this.map)){var px=this.map.getLayerPxFromLonLat(this.lonlat);if(px){this.moveTo(px);}}},moveTo:function(px){if((px!=null)&&(this.div!=null)){this.div.style.left=px.x+"px";this.div.style.top=px.y+"px";}},visible:function(){return OpenLayers.Element.visible(this.div);},toggle:function(){if(this.visible()){this.hide();}else{this.show();}},show:function(){this.div.style.display='';if(this.panMapIfOutOfView){this.panIntoView();}},hide:function(){this.div.style.display='none';},setSize:function(contentSize){this.size=contentSize.clone();var contentDivPadding=this.getContentDivPadding();var wPadding=contentDivPadding.left+contentDivPadding.right;var hPadding=contentDivPadding.top+contentDivPadding.bottom;this.fixPadding();wPadding+=this.padding.left+this.padding.right;hPadding+=this.padding.top+this.padding.bottom;if(this.closeDiv){var closeDivWidth=parseInt(this.closeDiv.style.width);wPadding+=closeDivWidth+contentDivPadding.right;} -this.size.w+=wPadding;this.size.h+=hPadding;if(OpenLayers.BROWSER_NAME=="msie"){this.contentSize.w+=contentDivPadding.left+contentDivPadding.right;this.contentSize.h+=contentDivPadding.bottom+contentDivPadding.top;} -if(this.div!=null){this.div.style.width=this.size.w+"px";this.div.style.height=this.size.h+"px";} -if(this.contentDiv!=null){this.contentDiv.style.width=contentSize.w+"px";this.contentDiv.style.height=contentSize.h+"px";}},updateSize:function(){var preparedHTML="
"+ -this.contentDiv.innerHTML+"
";var containerElement=(this.map)?this.map.div:document.body;var realSize=OpenLayers.Util.getRenderedDimensions(preparedHTML,null,{displayClass:this.displayClass,containerElement:containerElement});var safeSize=this.getSafeContentSize(realSize);var newSize=null;if(safeSize.equals(realSize)){newSize=realSize;}else{var fixedSize={w:(safeSize.w(mapSize.w-this.map.paddingForPopups.right)){newTL.x=mapSize.w-this.map.paddingForPopups.right-this.size.w;} -if(origTL.y(mapSize.h-this.map.paddingForPopups.bottom)){newTL.y=mapSize.h-this.map.paddingForPopups.bottom-this.size.h;} -var dx=origTL.x-newTL.x;var dy=origTL.y-newTL.y;this.map.pan(dx,dy);},registerEvents:function(){this.events=new OpenLayers.Events(this,this.div,null,true);function onTouchstart(evt){OpenLayers.Event.stop(evt,true);} -this.events.on({"mousedown":this.onmousedown,"mousemove":this.onmousemove,"mouseup":this.onmouseup,"click":this.onclick,"mouseout":this.onmouseout,"dblclick":this.ondblclick,"touchstart":onTouchstart,scope:this});},onmousedown:function(evt){this.mousedown=true;OpenLayers.Event.stop(evt,true);},onmousemove:function(evt){if(this.mousedown){OpenLayers.Event.stop(evt,true);}},onmouseup:function(evt){if(this.mousedown){this.mousedown=false;OpenLayers.Event.stop(evt,true);}},onclick:function(evt){OpenLayers.Event.stop(evt,true);},onmouseout:function(evt){this.mousedown=false;},ondblclick:function(evt){OpenLayers.Event.stop(evt,true);},CLASS_NAME:"OpenLayers.Popup"});OpenLayers.Popup.WIDTH=200;OpenLayers.Popup.HEIGHT=200;OpenLayers.Popup.COLOR="white";OpenLayers.Popup.OPACITY=1;OpenLayers.Popup.BORDER="0px";OpenLayers.StyleMap=OpenLayers.Class({styles:null,extendDefault:true,initialize:function(style,options){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(style instanceof OpenLayers.Style){this.styles["default"]=style;this.styles["select"]=style;this.styles["temporary"]=style;this.styles["delete"]=style;}else if(typeof style=="object"){for(var key in style){if(style[key]instanceof OpenLayers.Style){this.styles[key]=style[key];}else if(typeof style[key]=="object"){this.styles[key]=new OpenLayers.Style(style[key]);}else{this.styles["default"]=new OpenLayers.Style(style);this.styles["select"]=new OpenLayers.Style(style);this.styles["temporary"]=new OpenLayers.Style(style);this.styles["delete"]=new OpenLayers.Style(style);break;}}} -OpenLayers.Util.extend(this,options);},destroy:function(){for(var key in this.styles){this.styles[key].destroy();} -this.styles=null;},createSymbolizer:function(feature,intent){if(!feature){feature=new OpenLayers.Feature.Vector();} -if(!this.styles[intent]){intent="default";} -feature.renderIntent=intent;var defaultSymbolizer={};if(this.extendDefault&&intent!="default"){defaultSymbolizer=this.styles["default"].createSymbolizer(feature);} -return OpenLayers.Util.extend(defaultSymbolizer,this.styles[intent].createSymbolizer(feature));},addUniqueValueRules:function(renderIntent,property,symbolizers,context){var rules=[];for(var value in symbolizers){rules.push(new OpenLayers.Rule({symbolizer:symbolizers[value],context:context,filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.EQUAL_TO,property:property,value:value})}));} -this.styles[renderIntent].addRules(rules);},CLASS_NAME:"OpenLayers.StyleMap"});OpenLayers.Handler=OpenLayers.Class({id:null,control:null,map:null,keyMask:null,active:false,evt:null,touch:false,initialize:function(control,callbacks,options){OpenLayers.Util.extend(this,options);this.control=control;this.callbacks=callbacks;var map=this.map||control.map;if(map){this.setMap(map);} -this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");},setMap:function(map){this.map=map;},checkModifiers:function(evt){if(this.keyMask==null){return true;} -var keyModifiers=(evt.shiftKey?OpenLayers.Handler.MOD_SHIFT:0)|(evt.ctrlKey?OpenLayers.Handler.MOD_CTRL:0)|(evt.altKey?OpenLayers.Handler.MOD_ALT:0)|(evt.metaKey?OpenLayers.Handler.MOD_META:0);return(keyModifiers==this.keyMask);},activate:function(){if(this.active){return false;} -var events=OpenLayers.Events.prototype.BROWSER_EVENTS;for(var i=0,len=events.length;i0){params.format=layerContext.formats[0].value;for(i=0,len=layerContext.formats.length;i0){for(i=0,len=layerContext.styles.length;i0){value=this.getChildValue(nodes[0],def);}else{value=def;} -return value;},parseFeature:function(node){var atomAttrib={};var value=null;var nodes=null;var attval=null;var atomns=this.namespaces.atom;this.parsePersonConstructs(node,"author",atomAttrib);nodes=this.getElementsByTagNameNS(node,atomns,"category");if(nodes.length>0){atomAttrib.categories=[];} -for(var i=0,ii=nodes.length;i0){value={};attval=nodes[0].getAttribute("type");if(attval){value.type=attval;} -attval=nodes[0].getAttribute("src");if(attval){value.src=attval;}else{if(value.type=="text"||value.type=="html"||value.type==null){value.value=this.getFirstChildValue(node,atomns,"content",null);}else if(value.type=="xhtml"||value.type.match(/(\+|\/)xml$/)){value.value=this.getChildEl(nodes[0]);}else{value.value=this.getFirstChildValue(node,atomns,"content",null);} -atomAttrib.content=value;}} -this.parsePersonConstructs(node,"contributor",atomAttrib);atomAttrib.id=this.getFirstChildValue(node,atomns,"id",null);nodes=this.getElementsByTagNameNS(node,atomns,"link");if(nodes.length>0){atomAttrib.links=new Array(nodes.length);} -var oAtts=["rel","type","hreflang","title","length"];for(var i=0,ii=nodes.length;i0){if(!this.gmlParser){this.initGmlParser();} -for(var i=0,ii=where.length;i0){for(var i=0,ii=point.length;i0){var coords;var p;var points;for(var i=0,ii=line.length;i0){var coords;var p;var points;for(var i=0,ii=polygon.length;i0){data[name+"s"]=persons;}},CLASS_NAME:"OpenLayers.Format.Atom"});OpenLayers.Format.QueryStringFilter=(function(){var cmpToStr={};cmpToStr[OpenLayers.Filter.Comparison.EQUAL_TO]="eq";cmpToStr[OpenLayers.Filter.Comparison.NOT_EQUAL_TO]="ne";cmpToStr[OpenLayers.Filter.Comparison.LESS_THAN]="lt";cmpToStr[OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO]="lte";cmpToStr[OpenLayers.Filter.Comparison.GREATER_THAN]="gt";cmpToStr[OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO]="gte";cmpToStr[OpenLayers.Filter.Comparison.LIKE]="ilike";function regex2value(value){value=value.replace(/%/g,"\\%");value=value.replace(/\\\\\.(\*)?/g,function($0,$1){return $1?$0:"\\\\_";});value=value.replace(/\\\\\.\*/g,"\\\\%");value=value.replace(/(\\)?\.(\*)?/g,function($0,$1,$2){return $1||$2?$0:"_";});value=value.replace(/(\\)?\.\*/g,function($0,$1){return $1?$0:"%";});value=value.replace(/\\\./g,".");value=value.replace(/(\\)?\\\*/g,function($0,$1){return $1?$0:"*";});return value;} -return OpenLayers.Class(OpenLayers.Format,{wildcarded:false,srsInBBOX:false,write:function(filter,params){params=params||{};var className=filter.CLASS_NAME;var filterType=className.substring(className.lastIndexOf(".")+1);switch(filterType){case"Spatial":switch(filter.type){case OpenLayers.Filter.Spatial.BBOX:params.bbox=filter.value.toArray();if(this.srsInBBOX&&filter.projection){params.bbox.push(filter.projection.getCode());} -break;case OpenLayers.Filter.Spatial.DWITHIN:params.tolerance=filter.distance;case OpenLayers.Filter.Spatial.WITHIN:params.lon=filter.value.x;params.lat=filter.value.y;break;default:OpenLayers.Console.warn("Unknown spatial filter type "+filter.type);} -break;case"Comparison":var op=cmpToStr[filter.type];if(op!==undefined){var value=filter.value;if(filter.type==OpenLayers.Filter.Comparison.LIKE){value=regex2value(value);if(this.wildcarded){value="%"+value+"%";}} -params[filter.property+"__"+op]=value;params.queryable=params.queryable||[];params.queryable.push(filter.property);}else{OpenLayers.Console.warn("Unknown comparison filter type "+filter.type);} -break;case"Logical":if(filter.type===OpenLayers.Filter.Logical.AND){for(var i=0,len=filter.filters.length;i=1){matrixSet=contents.tileMatrixSets[layerDef.tileMatrixSetLinks[0].tileMatrixSet];} -if(!matrixSet){throw new Error("matrixSet not found");} -var style;for(var i=0,ii=layerDef.styles.length;iscaleDenominator){minScaleDenominator=scaleDenominator;} -if(!maxScaleDenominator||maxScaleDenominator>1):(num>>1);} -return numbers;},encodeUnsignedIntegers:function(numbers){var encoded='';var numbersLength=numbers.length;for(var i=0;i>1):(result>>1));},encodeUnsignedInteger:function(num){var value,encoded='';while(num>=0x20){value=(0x20|(num&0x1f))+63;encoded+=(String.fromCharCode(value));num>>=5;} -value=num+63;encoded+=(String.fromCharCode(value));return encoded;},decodeUnsignedInteger:function(encoded){var result=0;var shift=0;var encodedLength=encoded.length;for(var i=0;i0){for(var i=0,len=layer.metadata.formats.length;i0){for(var i=0,len=layer.metadata.styles.length;i0||(lat.length>0&&lon.length>0)){var location;if(point.length>0){location=OpenLayers.String.trim(point[0].firstChild.nodeValue).split(/\s+/);if(location.length!=2){location=OpenLayers.String.trim(point[0].firstChild.nodeValue).split(/\s*,\s*/);}}else{location=[parseFloat(lat[0].firstChild.nodeValue),parseFloat(lon[0].firstChild.nodeValue)];} -var geometry=new OpenLayers.Geometry.Point(location[1],location[0]);}else if(line.length>0){var coords=OpenLayers.String.trim(this.getChildValue(line[0])).split(/\s+/);var components=[];var point;for(var i=0,len=coords.length;i0){var coords=OpenLayers.String.trim(this.getChildValue(polygon[0])).split(/\s+/);var components=[];var point;for(var i=0,len=coords.length;i0){if(!this.gmlParser){this.gmlParser=new OpenLayers.Format.GML({'xy':this.xy});} -var feature=this.gmlParser.parseFeature(where[0]);geometry=feature.geometry;}else if(box.length>0){var coords=OpenLayers.String.trim(box[0].firstChild.nodeValue).split(/\s+/);var components=[];var point;if(coords.length>3){point=new OpenLayers.Geometry.Point(coords[1],coords[0]);components.push(point);point=new OpenLayers.Geometry.Point(coords[1],coords[2]);components.push(point);point=new OpenLayers.Geometry.Point(coords[3],coords[2]);components.push(point);point=new OpenLayers.Geometry.Point(coords[3],coords[0]);components.push(point);point=new OpenLayers.Geometry.Point(coords[1],coords[0]);components.push(point);} -geometry=new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing(components)]);} -if(geometry&&this.internalProjection&&this.externalProjection){geometry.transform(this.externalProjection,this.internalProjection);} -return geometry;},createFeatureFromItem:function(item){var geometry=this.createGeometryFromItem(item);var title=this._getChildValue(item,"*","title",this.featureTitle);var description=this._getChildValue(item,"*","description",this._getChildValue(item,"*","content",this._getChildValue(item,"*","summary",this.featureDescription)));var link=this._getChildValue(item,"*","link");if(!link){try{link=this.getElementsByTagNameNS(item,"*","link")[0].getAttribute("href");}catch(e){link=null;}} -var id=this._getChildValue(item,"*","id",null);var data={"title":title,"description":description,"link":link};var feature=new OpenLayers.Feature.Vector(geometry,data);feature.fid=id;return feature;},_getChildValue:function(node,nsuri,name,def){var value;var eles=this.getElementsByTagNameNS(node,nsuri,name);if(eles&&eles[0]&&eles[0].firstChild&&eles[0].firstChild.nodeValue){value=this.getChildValue(eles[0]);}else{value=(def==undefined)?"":def;} -return value;},read:function(doc){if(typeof doc=="string"){doc=OpenLayers.Format.XML.prototype.read.apply(this,[doc]);} -var itemlist=null;itemlist=this.getElementsByTagNameNS(doc,'*','item');if(itemlist.length==0){itemlist=this.getElementsByTagNameNS(doc,'*','entry');} -var numItems=itemlist.length;var features=new Array(numItems);for(var i=0;i0){for(j=0;j0&&tagName.indexOf(criteria)>-1){nodes.push(child);}else{matchNodes=this.getSiblingNodesByTagCriteria(child,criteria);if(matchNodes.length>0){(nodes.length==0)?nodes=matchNodes:nodes.push(matchNodes);}}}} -return nodes;},parseAttributes:function(node){var attributes={};if(node.nodeType==1){var children=node.childNodes;var n=children.length;for(var i=0;i0){var grandchild=grandchildren[0];if(grandchild.nodeType==3||grandchild.nodeType==4){var attribute=grandchild.wholeText?grandchild.wholeText:grandchild.nodeValue;attributes[name]=attribute.replace(this.regExes.trimSpace,"");}}}}} -return attributes;},parseGeometry:function(node){if(!this.gmlFormat){this.gmlFormat=new OpenLayers.Format.GML();} -var feature=this.gmlFormat.parseFeature(node);var geometry,bounds=null;if(feature){geometry=feature.geometry&&feature.geometry.clone();bounds=feature.bounds&&feature.bounds.clone();feature.destroy();} -return{geometry:geometry,bounds:bounds};},CLASS_NAME:"OpenLayers.Format.WMSGetFeatureInfo"});OpenLayers.Format.CQL=(function(){var tokens=["PROPERTY","COMPARISON","VALUE","LOGICAL"],patterns={PROPERTY:/^[_a-zA-Z]\w*/,COMPARISON:/^(=|<>|<=|<|>=|>|LIKE)/i,IS_NULL:/^IS NULL/i,COMMA:/^,/,LOGICAL:/^(AND|OR)/i,VALUE:/^('([^']|'')*'|-?\d+(\.\d*)?|\.\d+)/,LPAREN:/^\(/,RPAREN:/^\)/,SPATIAL:/^(BBOX|INTERSECTS|DWITHIN|WITHIN|CONTAINS)/i,NOT:/^NOT/i,BETWEEN:/^BETWEEN/i,GEOMETRY:function(text){var type=/^(POINT|LINESTRING|POLYGON|MULTIPOINT|MULTILINESTRING|MULTIPOLYGON|GEOMETRYCOLLECTION)/.exec(text);if(type){var len=text.length;var idx=text.indexOf("(",type[0].length);if(idx>-1){var depth=1;while(idx0){idx++;switch(text.charAt(idx)){case'(':depth++;break;case')':depth--;break;default:}}} -return[text.substr(0,idx+1)];}},END:/^$/},follows={LPAREN:['GEOMETRY','SPATIAL','PROPERTY','VALUE','LPAREN'],RPAREN:['NOT','LOGICAL','END','RPAREN'],PROPERTY:['COMPARISON','BETWEEN','COMMA','IS_NULL'],BETWEEN:['VALUE'],IS_NULL:['END'],COMPARISON:['VALUE'],COMMA:['GEOMETRY','VALUE','PROPERTY'],VALUE:['LOGICAL','COMMA','RPAREN','END'],SPATIAL:['LPAREN'],LOGICAL:['NOT','VALUE','SPATIAL','PROPERTY','LPAREN'],NOT:['PROPERTY','LPAREN'],GEOMETRY:['COMMA','RPAREN']},operators={'=':OpenLayers.Filter.Comparison.EQUAL_TO,'<>':OpenLayers.Filter.Comparison.NOT_EQUAL_TO,'<':OpenLayers.Filter.Comparison.LESS_THAN,'<=':OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO,'>':OpenLayers.Filter.Comparison.GREATER_THAN,'>=':OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO,'LIKE':OpenLayers.Filter.Comparison.LIKE,'BETWEEN':OpenLayers.Filter.Comparison.BETWEEN,'IS NULL':OpenLayers.Filter.Comparison.IS_NULL},operatorReverse={},logicals={'AND':OpenLayers.Filter.Logical.AND,'OR':OpenLayers.Filter.Logical.OR},logicalReverse={},precedence={'RPAREN':3,'LOGICAL':2,'COMPARISON':1};var i;for(i in operators){if(operators.hasOwnProperty(i)){operatorReverse[operators[i]]=i;}} -for(i in logicals){if(logicals.hasOwnProperty(i)){logicalReverse[logicals[i]]=i;}} -function tryToken(text,pattern){if(pattern instanceof RegExp){return pattern.exec(text);}else{return pattern(text);}} -function nextToken(text,tokens){var i,token,len=tokens.length;for(i=0;i0&&(precedence[operatorStack[operatorStack.length-1].type]<=p)){postfix.push(operatorStack.pop());} -operatorStack.push(tok);break;case"SPATIAL":case"NOT":case"LPAREN":operatorStack.push(tok);break;case"RPAREN":while(operatorStack.length>0&&(operatorStack[operatorStack.length-1].type!="LPAREN")){postfix.push(operatorStack.pop());} -operatorStack.pop();if(operatorStack.length>0&&operatorStack[operatorStack.length-1].type=="SPATIAL"){postfix.push(operatorStack.pop());} -case"COMMA":case"END":break;default:throw new Error("Unknown token type "+tok.type);}} -while(operatorStack.length>0){postfix.push(operatorStack.pop());} -function buildTree(){var tok=postfix.pop();switch(tok.type){case"LOGICAL":var rhs=buildTree(),lhs=buildTree();return new OpenLayers.Filter.Logical({filters:[lhs,rhs],type:logicals[tok.text.toUpperCase()]});case"NOT":var operand=buildTree();return new OpenLayers.Filter.Logical({filters:[operand],type:OpenLayers.Filter.Logical.NOT});case"BETWEEN":var min,max,property;postfix.pop();max=buildTree();min=buildTree();property=buildTree();return new OpenLayers.Filter.Comparison({property:property,lowerBoundary:min,upperBoundary:max,type:OpenLayers.Filter.Comparison.BETWEEN});case"COMPARISON":var value=buildTree(),property=buildTree();return new OpenLayers.Filter.Comparison({property:property,value:value,type:operators[tok.text.toUpperCase()]});case"IS_NULL":var property=buildTree();return new OpenLayers.Filter.Comparison({property:property,type:operators[tok.text.toUpperCase()]});case"VALUE":var match=tok.text.match(/^'(.*)'$/);if(match){return match[1].replace(/''/g,"'");}else{return Number(tok.text);} -case"SPATIAL":switch(tok.text.toUpperCase()){case"BBOX":var maxy=buildTree(),maxx=buildTree(),miny=buildTree(),minx=buildTree(),prop=buildTree();return new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.BBOX,property:prop,value:OpenLayers.Bounds.fromArray([minx,miny,maxx,maxy])});case"INTERSECTS":var value=buildTree(),property=buildTree();return new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.INTERSECTS,property:property,value:value});case"WITHIN":var value=buildTree(),property=buildTree();return new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.WITHIN,property:property,value:value});case"CONTAINS":var value=buildTree(),property=buildTree();return new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.CONTAINS,property:property,value:value});case"DWITHIN":var distance=buildTree(),value=buildTree(),property=buildTree();return new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.DWITHIN,value:value,property:property,distance:Number(distance)});} -case"GEOMETRY":return OpenLayers.Geometry.fromWKT(tok.text);default:return tok.text;}} -var result=buildTree();if(postfix.length>0){var msg="Remaining tokens after building AST: \n";for(var i=postfix.length-1;i>=0;i--){msg+=postfix[i].type+": "+postfix[i].text+"\n";} -throw new Error(msg);} -return result;} -return OpenLayers.Class(OpenLayers.Format,{read:function(text){var result=buildAst(tokenize(text));if(this.keepData){this.data=result;} -return result;},write:function(filter){if(filter instanceof OpenLayers.Geometry){return filter.toString();} -switch(filter.CLASS_NAME){case"OpenLayers.Filter.Spatial":switch(filter.type){case OpenLayers.Filter.Spatial.BBOX:return"BBOX("+ -filter.property+","+ -filter.value.toBBOX()+")";case OpenLayers.Filter.Spatial.DWITHIN:return"DWITHIN("+ -filter.property+", "+ -this.write(filter.value)+", "+ -filter.distance+")";case OpenLayers.Filter.Spatial.WITHIN:return"WITHIN("+ -filter.property+", "+ -this.write(filter.value)+")";case OpenLayers.Filter.Spatial.INTERSECTS:return"INTERSECTS("+ -filter.property+", "+ -this.write(filter.value)+")";case OpenLayers.Filter.Spatial.CONTAINS:return"CONTAINS("+ -filter.property+", "+ -this.write(filter.value)+")";default:throw new Error("Unknown spatial filter type: "+filter.type);} -case"OpenLayers.Filter.Logical":if(filter.type==OpenLayers.Filter.Logical.NOT){return"NOT ("+this.write(filter.filters[0])+")";}else{var res="(";var first=true;for(var i=0;i=this.maxDepth){return false;} -var newOptions=OpenLayers.Util.extend({},options);newOptions.depth++;for(var i=0,len=nodes.length;i0){var track=tracks[0];var container={features:[],feature:feature};this.readNode(track,container);if(container.features.length>0){features.push.apply(features,container.features);}}}else{features.push(feature);}}else{throw"Bad Placemark: "+i;}} -this.features=this.features.concat(features);},readers:{"kml":{"when":function(node,container){container.whens.push(OpenLayers.Date.parse(this.getChildValue(node)));},"_trackPointAttribute":function(node,container){var name=node.nodeName.split(":").pop();container.attributes[name].push(this.getChildValue(node));}},"gx":{"Track":function(node,container){var obj={whens:[],points:[],angles:[]};if(this.trackAttributes){var name;obj.attributes={};for(var i=0,ii=this.trackAttributes.length;i0;if(hasAngles&&obj.whens.length!==obj.angles.length){throw new Error("gx:Track with unequal number of when ("+ -obj.whens.length+") and gx:angles ("+ -obj.angles.length+") elements.");} -var feature,point,angles;for(var i=0,ii=obj.whens.length;i2){point.z=parseFloat(coords[2]);} -container.points.push(point);},"angles":function(node,container){var str=this.getChildValue(node);var parts=str.replace(this.regExes.trimSpace,"").split(/\s+/);container.angles.push(parts);}}},parseFeature:function(node){var order=["MultiGeometry","Polygon","LineString","Point"];var type,nodeList,geometry,parser;for(var i=0,len=order.length;i0){var parser=this.parseGeometry[type.toLowerCase()];if(parser){geometry=parser.apply(this,[nodeList[0]]);if(this.internalProjection&&this.externalProjection){geometry.transform(this.externalProjection,this.internalProjection);}}else{throw new TypeError("Unsupported geometry type: "+type);} -break;}} -var attributes;if(this.extractAttributes){attributes=this.parseAttributes(node);} -var feature=new OpenLayers.Feature.Vector(geometry,attributes);var fid=node.getAttribute("id")||node.getAttribute("name");if(fid!=null){feature.fid=fid;} -return feature;},getStyle:function(styleUrl,options){var styleBaseUrl=OpenLayers.Util.removeTail(styleUrl);var newOptions=OpenLayers.Util.extend({},options);newOptions.depth++;newOptions.styleBaseUrl=styleBaseUrl;if(!this.styles[styleUrl]&&!OpenLayers.String.startsWith(styleUrl,"#")&&newOptions.depth<=this.maxDepth&&!this.fetched[styleBaseUrl]){var data=this.fetchLink(styleBaseUrl);if(data){this.parseData(data,newOptions);}} -var style=OpenLayers.Util.extend({},this.styles[styleUrl]);return style;},parseGeometry:{point:function(node){var nodeList=this.getElementsByTagNameNS(node,this.internalns,"coordinates");var coords=[];if(nodeList.length>0){var coordString=nodeList[0].firstChild.nodeValue;coordString=coordString.replace(this.regExes.removeSpace,"");coords=coordString.split(",");} -var point=null;if(coords.length>1){if(coords.length==2){coords[2]=null;} -point=new OpenLayers.Geometry.Point(coords[0],coords[1],coords[2]);}else{throw"Bad coordinate string: "+coordString;} -return point;},linestring:function(node,ring){var nodeList=this.getElementsByTagNameNS(node,this.internalns,"coordinates");var line=null;if(nodeList.length>0){var coordString=this.getChildValue(nodeList[0]);coordString=coordString.replace(this.regExes.trimSpace,"");coordString=coordString.replace(this.regExes.trimComma,",");var pointList=coordString.split(this.regExes.splitSpace);var numPoints=pointList.length;var points=new Array(numPoints);var coords,numCoords;for(var i=0;i1){if(coords.length==2){coords[2]=null;} -points[i]=new OpenLayers.Geometry.Point(coords[0],coords[1],coords[2]);}else{throw"Bad LineString point coordinates: "+ -pointList[i];}} -if(numPoints){if(ring){line=new OpenLayers.Geometry.LinearRing(points);}else{line=new OpenLayers.Geometry.LineString(points);}}else{throw"Bad LineString coordinates: "+coordString;}} -return line;},polygon:function(node){var nodeList=this.getElementsByTagNameNS(node,this.internalns,"LinearRing");var numRings=nodeList.length;var components=new Array(numRings);if(numRings>0){var ring;for(var i=0,len=nodeList.length;i=1&&grandchildren.length<=3){var grandchild;switch(grandchildren.length){case 1:grandchild=grandchildren[0];break;case 2:var c1=grandchildren[0];var c2=grandchildren[1];grandchild=(c1.nodeType==3||c1.nodeType==4)?c1:c2;break;case 3:default:grandchild=grandchildren[1];break;} -if(grandchild.nodeType==3||grandchild.nodeType==4){var name=(child.prefix)?child.nodeName.split(":")[1]:child.nodeName;var value=OpenLayers.Util.getXmlNodeValue(grandchild);if(value){value=value.replace(this.regExes.trimSpace,"");attributes[name]=value;}}}}} -return attributes;},parseExtendedData:function(node){var attributes={};var i,len,data,key;var dataNodes=node.getElementsByTagName("Data");for(i=0,len=dataNodes.length;i1){feat_list.push(node);}} -return feat_list;},getPointList:function(way,nodes){if(!way){return[];} -var point_list=new Array(way.nodes.length);for(var j=0;jpointList.length){pointList=pointList.slice(1,pointList.length);lastPointList=pointList.reverse().concat(lastPointList);} -else{lastPointList=lastPointList.slice(1,lastPointList.length);lastPointList=lastPointList.reverse().concat(pointList);} -result.succed=true;result.lastPointList=lastPointList;return result;} -else if(lastPointList[lastPointList.length-1].x==pointList[pointList.length-1].x&&lastPointList[lastPointList.length-1].y==pointList[pointList.length-1].y){if(lastPointList.length>pointList.length){pointList=pointList.slice(0,pointList.length-1);lastPointList=lastPointList.concat(pointList.reverse());} -else{lastPointList=lastPointList.slice(0,lastPointList.length-1);lastPointList=pointList.concat(lastPointList.reverse());} -result.succed=true;result.lastPointList=lastPointList;return result;} -result.succed=false;return result;},getNodes:function(doc){var node_list=doc.getElementsByTagName("node");var nodes={};for(var i=0;i=0;i--){var nodes=this.createFeatureNodes(features[i]);for(var j=0;j0){if(lastRole=='inner'||lastRole=='enclave'){var geometry=new OpenLayers.Geometry.LinearRing(lastPointList) -innerLignes.push(geometry);} -else{var geometry=new OpenLayers.Geometry.LinearRing(lastPointList) -outerLignes.push(geometry);}} -lastPointList=pointList;lastRole=role;}} -if(lastPointList.length>0){if(lastRole=='inner'||lastRole=='enclave'){var geometry=new OpenLayers.Geometry.LinearRing(lastPointList) -innerLignes.push(geometry);} -else{var geometry=new OpenLayers.Geometry.LinearRing(lastPointList) -outerLignes.push(geometry);}} -var polygons=[];for(var j=0;j0);} -return ret;},read:function(data){if(typeof data=="string"){data=OpenLayers.Format.XML.prototype.read.apply(this,[data]);} -var arcNode=null;if(data&&data.documentElement){if(data.documentElement.nodeName=="ARCXML"){arcNode=data.documentElement;}else{arcNode=data.documentElement.getElementsByTagName("ARCXML")[0];}} -if(!arcNode||arcNode.firstChild.nodeName==='parsererror'){var error,source;try{error=data.firstChild.nodeValue;source=data.firstChild.childNodes[1].firstChild.nodeValue;}catch(err){} -throw{message:"Error parsing the ArcXML request",error:error,source:source};} -var response=this.parseResponse(arcNode);return response;},write:function(request){if(!request){request=this.request;} -var root=this.createElementNS("","ARCXML");root.setAttribute("version","1.1");var reqElem=this.createElementNS("","REQUEST");if(request.get_image!=null){var getElem=this.createElementNS("","GET_IMAGE");reqElem.appendChild(getElem);var propElem=this.createElementNS("","PROPERTIES");getElem.appendChild(propElem);var props=request.get_image.properties;if(props.featurecoordsys!=null){var feat=this.createElementNS("","FEATURECOORDSYS");propElem.appendChild(feat);if(props.featurecoordsys.id===0){feat.setAttribute("string",props.featurecoordsys['string']);} -else{feat.setAttribute("id",props.featurecoordsys.id);}} -if(props.filtercoordsys!=null){var filt=this.createElementNS("","FILTERCOORDSYS");propElem.appendChild(filt);if(props.filtercoordsys.id===0){filt.setAttribute("string",props.filtercoordsys.string);} -else{filt.setAttribute("id",props.filtercoordsys.id);}} -if(props.envelope!=null){var env=this.createElementNS("","ENVELOPE");propElem.appendChild(env);env.setAttribute("minx",props.envelope.minx);env.setAttribute("miny",props.envelope.miny);env.setAttribute("maxx",props.envelope.maxx);env.setAttribute("maxy",props.envelope.maxy);} -var imagesz=this.createElementNS("","IMAGESIZE");propElem.appendChild(imagesz);imagesz.setAttribute("height",props.imagesize.height);imagesz.setAttribute("width",props.imagesize.width);if(props.imagesize.height!=props.imagesize.printheight||props.imagesize.width!=props.imagesize.printwidth){imagesz.setAttribute("printheight",props.imagesize.printheight);imagesz.setArrtibute("printwidth",props.imagesize.printwidth);} -if(props.background!=null){var backgrnd=this.createElementNS("","BACKGROUND");propElem.appendChild(backgrnd);backgrnd.setAttribute("color",props.background.color.r+","+ -props.background.color.g+","+ -props.background.color.b);if(props.background.transcolor!==null){backgrnd.setAttribute("transcolor",props.background.transcolor.r+","+ -props.background.transcolor.g+","+ -props.background.transcolor.b);}} -if(props.layerlist!=null&&props.layerlist.length>0){var layerlst=this.createElementNS("","LAYERLIST");propElem.appendChild(layerlst);for(var ld=0;ld0){queryElem.setAttribute("accuracy",query.accuracy);} -if(typeof query.featurelimit=="number"&&query.featurelimit<2000){queryElem.setAttribute("featurelimit",query.featurelimit);} -if(typeof query.subfields=="string"&&query.subfields!="#ALL#"){queryElem.setAttribute("subfields",query.subfields);} -if(typeof query.joinexpression=="string"&&query.joinexpression.length>0){queryElem.setAttribute("joinexpression",query.joinexpression);} -if(typeof query.jointables=="string"&&query.jointables.length>0){queryElem.setAttribute("jointables",query.jointables);} -ldef.appendChild(queryElem);} -if(typeof props.layerlist[ld].renderer=="object"){this.addRenderer(ldef,props.layerlist[ld].renderer);}}}}else if(request.get_feature!=null){var getElem=this.createElementNS("","GET_FEATURES");getElem.setAttribute("outputmode","newxml");getElem.setAttribute("checkesc","true");if(request.get_feature.geometry){getElem.setAttribute("geometry",request.get_feature.geometry);} -else{getElem.setAttribute("geometry","false");} -if(request.get_feature.compact){getElem.setAttribute("compact",request.get_feature.compact);} -if(request.get_feature.featurelimit=="number"){getElem.setAttribute("featurelimit",request.get_feature.featurelimit);} -getElem.setAttribute("globalenvelope","true");reqElem.appendChild(getElem);if(request.get_feature.layer!=null&&request.get_feature.layer.length>0){var lyrElem=this.createElementNS("","LAYER");lyrElem.setAttribute("id",request.get_feature.layer);getElem.appendChild(lyrElem);} -var fquery=request.get_feature.query;if(fquery!=null){var qElem=null;if(fquery.isspatial){qElem=this.createElementNS("","SPATIALQUERY");}else{qElem=this.createElementNS("","QUERY");} -getElem.appendChild(qElem);if(typeof fquery.accuracy=="number"){qElem.setAttribute("accuracy",fquery.accuracy);} -if(fquery.featurecoordsys!=null){var fcsElem1=this.createElementNS("","FEATURECOORDSYS");if(fquery.featurecoordsys.id==0){fcsElem1.setAttribute("string",fquery.featurecoordsys.string);}else{fcsElem1.setAttribute("id",fquery.featurecoordsys.id);} -qElem.appendChild(fcsElem1);} -if(fquery.filtercoordsys!=null){var fcsElem2=this.createElementNS("","FILTERCOORDSYS");if(fquery.filtercoordsys.id===0){fcsElem2.setAttribute("string",fquery.filtercoordsys.string);}else{fcsElem2.setAttribute("id",fquery.filtercoordsys.id);} -qElem.appendChild(fcsElem2);} -if(fquery.buffer>0){var bufElem=this.createElementNS("","BUFFER");bufElem.setAttribute("distance",fquery.buffer);qElem.appendChild(bufElem);} -if(fquery.isspatial){var spfElem=this.createElementNS("","SPATIALFILTER");spfElem.setAttribute("relation",fquery.spatialfilter.relation);qElem.appendChild(spfElem);if(fquery.spatialfilter.envelope){var envElem=this.createElementNS("","ENVELOPE");envElem.setAttribute("minx",fquery.spatialfilter.envelope.minx);envElem.setAttribute("miny",fquery.spatialfilter.envelope.miny);envElem.setAttribute("maxx",fquery.spatialfilter.envelope.maxx);envElem.setAttribute("maxy",fquery.spatialfilter.envelope.maxy);spfElem.appendChild(envElem);}else if(typeof fquery.spatialfilter.polygon=="object"){spfElem.appendChild(this.writePolygonGeometry(fquery.spatialfilter.polygon));}} -if(fquery.where!=null&&fquery.where.length>0){qElem.setAttribute("where",fquery.where);}}} -root.appendChild(reqElem);return OpenLayers.Format.XML.prototype.write.apply(this,[root]);},addGroupRenderer:function(ldef,toprenderer){var topRelem=this.createElementNS("","GROUPRENDERER");ldef.appendChild(topRelem);for(var rind=0;rind0){response.error=this.getChildValue(errorNode,"Unknown error.");}else{var responseNode=data.getElementsByTagName("RESPONSE");if(responseNode==null||responseNode.length==0){response.error="No RESPONSE tag found in ArcXML response.";return response;} -var rtype=responseNode[0].firstChild.nodeName;if(rtype=="#text"){rtype=responseNode[0].firstChild.nextSibling.nodeName;} -if(rtype=="IMAGE"){var envelopeNode=data.getElementsByTagName("ENVELOPE");var outputNode=data.getElementsByTagName("OUTPUT");if(envelopeNode==null||envelopeNode.length==0){response.error="No ENVELOPE tag found in ArcXML response.";}else if(outputNode==null||outputNode.length==0){response.error="No OUTPUT tag found in ArcXML response.";}else{var envAttr=this.parseAttributes(envelopeNode[0]);var outputAttr=this.parseAttributes(outputNode[0]);if(typeof outputAttr.type=="string"){response.image={envelope:envAttr,output:{type:outputAttr.type,data:this.getChildValue(outputNode[0])}};}else{response.image={envelope:envAttr,output:outputAttr};}}}else if(rtype=="FEATURES"){var features=responseNode[0].getElementsByTagName("FEATURES");var featureCount=features[0].getElementsByTagName("FEATURECOUNT");response.features.featurecount=featureCount[0].getAttribute("count");if(response.features.featurecount>0){var envelope=features[0].getElementsByTagName("ENVELOPE");response.features.envelope=this.parseAttributes(envelope[0],typeof(0));var featureList=features[0].getElementsByTagName("FEATURE");for(var fn=0;fn0){var ring=geom[0].getElementsByTagName("RING");var polys=[];for(var rn=0;rn0){var coordArr=this.getChildValue(coords[0]);coordArr=coordArr.split(/;/);for(var cn=0;cn0){for(var pn=0;pn0){layer.prefix=parts[0];} -capability.layers.push(layer);if(layer.formats===undefined){layer.formats=request.getmap.formats;} -if(layer.infoFormats===undefined&&gfi){layer.infoFormats=gfi.formats;}}},"Attribution":function(node,obj){obj.attribution={};this.readChildNodes(node,obj.attribution);},"LogoURL":function(node,obj){obj.logo={width:node.getAttribute("width"),height:node.getAttribute("height")};this.readChildNodes(node,obj.logo);},"Style":function(node,obj){var style={};obj.styles.push(style);this.readChildNodes(node,style);},"LegendURL":function(node,obj){var legend={width:node.getAttribute("width"),height:node.getAttribute("height")};obj.legend=legend;this.readChildNodes(node,legend);},"MetadataURL":function(node,obj){var metadataURL={type:node.getAttribute("type")};obj.metadataURLs.push(metadataURL);this.readChildNodes(node,metadataURL);},"DataURL":function(node,obj){obj.dataURL={};this.readChildNodes(node,obj.dataURL);},"FeatureListURL":function(node,obj){obj.featureListURL={};this.readChildNodes(node,obj.featureListURL);},"AuthorityURL":function(node,obj){var name=node.getAttribute("name");var authority={};this.readChildNodes(node,authority);obj.authorityURLs[name]=authority.href;},"Identifier":function(node,obj){var authority=node.getAttribute("authority");obj.identifiers[authority]=this.getChildValue(node);},"KeywordList":function(node,obj){this.readChildNodes(node,obj);},"SRS":function(node,obj){obj.srs[this.getChildValue(node)]=true;}}},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1"});OpenLayers.Format.WMSCapabilities.v1_1=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1,{readers:{"wms":OpenLayers.Util.applyDefaults({"WMT_MS_Capabilities":function(node,obj){this.readChildNodes(node,obj);},"Keyword":function(node,obj){if(obj.keywords){obj.keywords.push(this.getChildValue(node));}},"DescribeLayer":function(node,obj){obj.describelayer={formats:[]};this.readChildNodes(node,obj.describelayer);},"GetLegendGraphic":function(node,obj){obj.getlegendgraphic={formats:[]};this.readChildNodes(node,obj.getlegendgraphic);},"GetStyles":function(node,obj){obj.getstyles={formats:[]};this.readChildNodes(node,obj.getstyles);},"PutStyles":function(node,obj){obj.putstyles={formats:[]};this.readChildNodes(node,obj.putstyles);},"UserDefinedSymbolization":function(node,obj){var userSymbols={supportSLD:parseInt(node.getAttribute("SupportSLD"))==1,userLayer:parseInt(node.getAttribute("UserLayer"))==1,userStyle:parseInt(node.getAttribute("UserStyle"))==1,remoteWFS:parseInt(node.getAttribute("RemoteWFS"))==1};obj.userSymbols=userSymbols;},"LatLonBoundingBox":function(node,obj){obj.llbbox=[parseFloat(node.getAttribute("minx")),parseFloat(node.getAttribute("miny")),parseFloat(node.getAttribute("maxx")),parseFloat(node.getAttribute("maxy"))];},"BoundingBox":function(node,obj){var bbox=OpenLayers.Format.WMSCapabilities.v1.prototype.readers["wms"].BoundingBox.apply(this,[node,obj]);bbox.srs=node.getAttribute("SRS");obj.bbox[bbox.srs]=bbox;},"ScaleHint":function(node,obj){var min=node.getAttribute("min");var max=node.getAttribute("max");var rad2=Math.pow(2,0.5);var ipm=OpenLayers.INCHES_PER_UNIT["m"];if(min!=0){obj.maxScale=parseFloat(((min/rad2)*ipm*OpenLayers.DOTS_PER_INCH).toPrecision(13));} -if(max!=Number.POSITIVE_INFINITY){obj.minScale=parseFloat(((max/rad2)*ipm*OpenLayers.DOTS_PER_INCH).toPrecision(13));}},"Dimension":function(node,obj){var name=node.getAttribute("name").toLowerCase();var dim={name:name,units:node.getAttribute("units"),unitsymbol:node.getAttribute("unitSymbol")};obj.dimensions[dim.name]=dim;},"Extent":function(node,obj){var name=node.getAttribute("name").toLowerCase();if(name in obj["dimensions"]){var extent=obj.dimensions[name];extent.nearestVal=node.getAttribute("nearestValue")==="1";extent.multipleVal=node.getAttribute("multipleValues")==="1";extent.current=node.getAttribute("current")==="1";extent["default"]=node.getAttribute("default")||"";var values=this.getChildValue(node);extent.values=values.split(",");}}},OpenLayers.Format.WMSCapabilities.v1.prototype.readers["wms"])},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_1"});OpenLayers.Format.WMSCapabilities.v1_1_1=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1_1,{version:"1.1.1",readers:{"wms":OpenLayers.Util.applyDefaults({"SRS":function(node,obj){obj.srs[this.getChildValue(node)]=true;}},OpenLayers.Format.WMSCapabilities.v1_1.prototype.readers["wms"])},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_1_1"});OpenLayers.Format.WMSCapabilities.v1_1_1_WMSC=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1_1_1,{version:"1.1.1",profile:"WMSC",readers:{"wms":OpenLayers.Util.applyDefaults({"VendorSpecificCapabilities":function(node,obj){obj.vendorSpecific={tileSets:[]};this.readChildNodes(node,obj.vendorSpecific);},"TileSet":function(node,vendorSpecific){var tileset={srs:{},bbox:{},resolutions:[]};this.readChildNodes(node,tileset);vendorSpecific.tileSets.push(tileset);},"Resolutions":function(node,tileset){var res=this.getChildValue(node).split(" ");for(var i=0,len=res.length;i0){parent.filter=new OpenLayers.Filter.FeatureId({fids:obj.fids});}else if(obj.filters.length>0){parent.filter=obj.filters[0];}},"ResourceId":function(node,obj){var fid=node.getAttribute("rid");if(fid){obj.fids.push(fid);}},"And":function(node,obj){var filter=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND});this.readChildNodes(node,filter);obj.filters.push(filter);},"Or":function(node,obj){var filter=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.OR});this.readChildNodes(node,filter);obj.filters.push(filter);},"Not":function(node,obj){var filter=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.NOT});this.readChildNodes(node,filter);obj.filters.push(filter);},"PropertyIsLessThan":function(node,obj){var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN});this.readChildNodes(node,filter);obj.filters.push(filter);},"PropertyIsGreaterThan":function(node,obj){var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.GREATER_THAN});this.readChildNodes(node,filter);obj.filters.push(filter);},"PropertyIsLessThanOrEqualTo":function(node,obj){var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO});this.readChildNodes(node,filter);obj.filters.push(filter);},"PropertyIsGreaterThanOrEqualTo":function(node,obj){var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO});this.readChildNodes(node,filter);obj.filters.push(filter);},"PropertyIsBetween":function(node,obj){var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN});this.readChildNodes(node,filter);obj.filters.push(filter);},"Literal":function(node,obj){obj.value=OpenLayers.String.numericIf(this.getChildValue(node),true);},"ValueReference":function(node,filter){filter.property=this.getChildValue(node);},"LowerBoundary":function(node,filter){filter.lowerBoundary=OpenLayers.String.numericIf(this.readers.fes._expression.call(this,node),true);},"UpperBoundary":function(node,filter){filter.upperBoundary=OpenLayers.String.numericIf(this.readers.fes._expression.call(this,node),true);},"Intersects":function(node,obj){this.readSpatial(node,obj,OpenLayers.Filter.Spatial.INTERSECTS);},"Within":function(node,obj){this.readSpatial(node,obj,OpenLayers.Filter.Spatial.WITHIN);},"Contains":function(node,obj){this.readSpatial(node,obj,OpenLayers.Filter.Spatial.CONTAINS);},"DWithin":function(node,obj){this.readSpatial(node,obj,OpenLayers.Filter.Spatial.DWITHIN);},"Distance":function(node,obj){obj.distance=parseInt(this.getChildValue(node));obj.distanceUnits=node.getAttribute("units");},"Function":function(node,obj){return;},"PropertyIsNull":function(node,obj){var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.IS_NULL});this.readChildNodes(node,filter);obj.filters.push(filter);}}},readSpatial:function(node,obj,type){var filter=new OpenLayers.Filter.Spatial({type:type});this.readChildNodes(node,filter);filter.value=filter.components[0];delete filter.components;obj.filters.push(filter);},encodeLiteral:function(value){if(value instanceof Date){value=OpenLayers.Date.toISOString(value);} -return value;},writeOgcExpression:function(value,node){if(value instanceof OpenLayers.Filter.Function){this.writeNode("Function",value,node);}else{this.writeNode("Literal",value,node);} -return node;},write:function(filter){return this.writers.fes["Filter"].apply(this,[filter]);},writers:{"fes":{"Filter":function(filter){var node=this.createElementNSPlus("fes:Filter");this.writeNode(this.getFilterType(filter),filter,node);return node;},"_featureIds":function(filter){var node=this.createDocumentFragment();for(var i=0,ii=filter.fids.length;i":"PropertyIsGreaterThan","<=":"PropertyIsLessThanOrEqualTo",">=":"PropertyIsGreaterThanOrEqualTo","..":"PropertyIsBetween","~":"PropertyIsLike","NULL":"PropertyIsNull","BBOX":"BBOX","DWITHIN":"DWITHIN","WITHIN":"WITHIN","CONTAINS":"CONTAINS","INTERSECTS":"INTERSECTS","FID":"_featureIds"},CLASS_NAME:"OpenLayers.Format.Filter.v2"});OpenLayers.Format.Filter.v2_0_0=OpenLayers.Class(OpenLayers.Format.GML.v3,OpenLayers.Format.Filter.v2,{VERSION:"2.0.0",schemaLocation:"http://schemas.opengis.net/filter/2.0/filterAll.xsd",initialize:function(options){OpenLayers.Format.GML.v3.prototype.initialize.apply(this,[options]);},readers:{"fes":OpenLayers.Util.applyDefaults({"PropertyIsEqualTo":function(node,obj){var matchCase=node.getAttribute("matchCase");var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.EQUAL_TO,matchCase:!(matchCase==="false"||matchCase==="0")});this.readChildNodes(node,filter);obj.filters.push(filter);},"PropertyIsNotEqualTo":function(node,obj){var matchCase=node.getAttribute("matchCase");var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.NOT_EQUAL_TO,matchCase:!(matchCase==="false"||matchCase==="0")});this.readChildNodes(node,filter);obj.filters.push(filter);},"PropertyIsLike":function(node,obj){var filter=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LIKE});this.readChildNodes(node,filter);var wildCard=node.getAttribute("wildCard");var singleChar=node.getAttribute("singleChar");var esc=node.getAttribute("escapeChar");filter.value2regex(wildCard,singleChar,esc);obj.filters.push(filter);}},OpenLayers.Format.Filter.v2.prototype.readers["fes"]),"gml":OpenLayers.Format.GML.v3.prototype.readers["gml"],"feature":OpenLayers.Format.GML.v3.prototype.readers["feature"]},writers:{"fes":OpenLayers.Util.applyDefaults({"PropertyIsEqualTo":function(filter){var node=this.createElementNSPlus("fes:PropertyIsEqualTo",{attributes:{matchCase:filter.matchCase}});this.writeNode("ValueReference",filter,node);this.writeOgcExpression(filter.value,node);return node;},"PropertyIsNotEqualTo":function(filter){var node=this.createElementNSPlus("fes:PropertyIsNotEqualTo",{attributes:{matchCase:filter.matchCase}});this.writeNode("ValueReference",filter,node);this.writeOgcExpression(filter.value,node);return node;},"PropertyIsLike":function(filter){var node=this.createElementNSPlus("fes:PropertyIsLike",{attributes:{matchCase:filter.matchCase,wildCard:"*",singleChar:".",escapeChar:"!"}});this.writeNode("ValueReference",filter,node);this.writeNode("Literal",filter.regex2value(),node);return node;},"BBOX":function(filter){var node=this.createElementNSPlus("fes:BBOX");filter.property&&this.writeNode("ValueReference",filter,node);var box=this.writeNode("gml:Envelope",filter.value);if(filter.projection){box.setAttribute("srsName",filter.projection);} -node.appendChild(box);return node;},"SortBy":function(sortProperties){var node=this.createElementNSPlus("fes:SortBy");for(var i=0,l=sortProperties.length;i0){obj.bounds=container.components[0];}}},OpenLayers.Format.WFST.v1.prototype.readers["wfs"]),"gml":OpenLayers.Format.GML.v3.prototype.readers["gml"],"feature":OpenLayers.Format.GML.v3.prototype.readers["feature"],"ows":OpenLayers.Format.OWSCommon.v1_0_0.prototype.readers["ows"],"fes":OpenLayers.Format.Filter.v2_0_0.prototype.readers["fes"]},writers:{"wfs":OpenLayers.Util.applyDefaults({"GetFeature":function(options){var node=OpenLayers.Format.WFST.v1.prototype.writers["wfs"]["GetFeature"].apply(this,arguments);options&&this.setAttributes(node,{resultType:options.resultType,startIndex:options.startIndex,count:options.count});return node;},"Query":function(options){options=OpenLayers.Util.extend({featureNS:this.featureNS,featurePrefix:this.featurePrefix,featureType:this.featureType,srsName:this.srsName},options);var prefix=options.featurePrefix;var node=this.createElementNSPlus("wfs:Query",{attributes:{typeNames:(options.featureNS?prefix+":":"")+ -options.featureType,srsName:options.srsName}});if(options.featureNS){this.setAttributeNS(node,this.namespaces.xmlns,"xmlns:"+prefix,options.featureNS);} -if(options.propertyNames){for(var i=0,len=options.propertyNames.length;i1/3&&x<2/3){labelAlign='c';}else if(x>=2/3){labelAlign='r';} -if(y<=1/3){labelAlign+='b';}else if(y>1/3&&y<2/3){labelAlign+='m';}else if(y>=2/3){labelAlign+='t';} -config.labelAlign=labelAlign;OpenLayers.Util.applyDefaults(symbolizer,config);},"AnchorPoint":function(node,symbolizer){this.readChildNodes(node,symbolizer);},"AnchorPointX":function(node,symbolizer){var labelAnchorPointX=this.readers.ogc._expression.call(this,node);if(labelAnchorPointX){symbolizer.labelAnchorPointX=labelAnchorPointX;}},"AnchorPointY":function(node,symbolizer){var labelAnchorPointY=this.readers.ogc._expression.call(this,node);if(labelAnchorPointY){symbolizer.labelAnchorPointY=labelAnchorPointY;}},"Displacement":function(node,symbolizer){this.readChildNodes(node,symbolizer);},"DisplacementX":function(node,symbolizer){var labelXOffset=this.readers.ogc._expression.call(this,node);if(labelXOffset){symbolizer.labelXOffset=labelXOffset;}},"DisplacementY":function(node,symbolizer){var labelYOffset=this.readers.ogc._expression.call(this,node);if(labelYOffset){symbolizer.labelYOffset=labelYOffset;}},"LinePlacement":function(node,symbolizer){this.readChildNodes(node,symbolizer);},"PerpendicularOffset":function(node,symbolizer){var labelPerpendicularOffset=this.readers.ogc._expression.call(this,node);if(labelPerpendicularOffset){symbolizer.labelPerpendicularOffset=labelPerpendicularOffset;}},"Label":function(node,symbolizer){var value=this.readers.ogc._expression.call(this,node);if(value){symbolizer.label=OpenLayers.String.trim(value);}},"Font":function(node,symbolizer){this.readChildNodes(node,symbolizer);},"Halo":function(node,symbolizer){var obj={};this.readChildNodes(node,obj);symbolizer.haloRadius=obj.haloRadius;symbolizer.haloColor=obj.fillColor;symbolizer.haloOpacity=obj.fillOpacity;},"Radius":function(node,symbolizer){var radius=this.readers.ogc._expression.call(this,node);if(radius!=null){symbolizer.haloRadius=radius;}},"RasterSymbolizer":function(node,rule){var config={};this.readChildNodes(node,config);if(this.multipleSymbolizers){config.zIndex=this.featureTypeCounter;rule.symbolizers.push(new OpenLayers.Symbolizer.Raster(config));}else{rule.symbolizer["Raster"]=OpenLayers.Util.applyDefaults(config,rule.symbolizer["Raster"]);}},"Geometry":function(node,obj){obj.geometry={};this.readChildNodes(node,obj.geometry);},"ColorMap":function(node,symbolizer){symbolizer.colorMap=[];this.readChildNodes(node,symbolizer.colorMap);},"ColorMapEntry":function(node,colorMap){var q=node.getAttribute("quantity");var o=node.getAttribute("opacity");colorMap.push({color:node.getAttribute("color"),quantity:q!==null?parseFloat(q):undefined,label:node.getAttribute("label")||undefined,opacity:o!==null?parseFloat(o):undefined});},"LineSymbolizer":function(node,rule){var config={};this.readChildNodes(node,config);if(this.multipleSymbolizers){config.zIndex=this.featureTypeCounter;rule.symbolizers.push(new OpenLayers.Symbolizer.Line(config));}else{rule.symbolizer["Line"]=OpenLayers.Util.applyDefaults(config,rule.symbolizer["Line"]);}},"PolygonSymbolizer":function(node,rule){var config={fill:false,stroke:false};if(!this.multipleSymbolizers){config=rule.symbolizer["Polygon"]||config;} -this.readChildNodes(node,config);if(this.multipleSymbolizers){config.zIndex=this.featureTypeCounter;rule.symbolizers.push(new OpenLayers.Symbolizer.Polygon(config));}else{rule.symbolizer["Polygon"]=config;}},"PointSymbolizer":function(node,rule){var config={fill:false,stroke:false,graphic:false};if(!this.multipleSymbolizers){config=rule.symbolizer["Point"]||config;} -this.readChildNodes(node,config);if(this.multipleSymbolizers){config.zIndex=this.featureTypeCounter;rule.symbolizers.push(new OpenLayers.Symbolizer.Point(config));}else{rule.symbolizer["Point"]=config;}},"Stroke":function(node,symbolizer){symbolizer.stroke=true;this.readChildNodes(node,symbolizer);},"Fill":function(node,symbolizer){symbolizer.fill=true;this.readChildNodes(node,symbolizer);},"CssParameter":function(node,symbolizer){var cssProperty=node.getAttribute("name");var symProperty=this.cssMap[cssProperty];if(symbolizer.label){if(cssProperty==='fill'){symProperty="fontColor";}else if(cssProperty==='fill-opacity'){symProperty="fontOpacity";}} -if(symProperty){var value=this.readers.ogc._expression.call(this,node);if(value){symbolizer[symProperty]=value;}}},"Graphic":function(node,symbolizer){symbolizer.graphic=true;var graphic={};this.readChildNodes(node,graphic);var properties=["stroke","strokeColor","strokeWidth","strokeOpacity","strokeLinecap","fill","fillColor","fillOpacity","graphicName","rotation","graphicFormat"];var prop,value;for(var i=0,len=properties.length;i0){this.writeNode("ogc:PropertyName",{property:item.substring(0,last)},node);node.appendChild(this.createTextNode(item.substring(++last)));}else{node.appendChild(this.createTextNode("${"+item));}} -return node;},"StyledLayerDescriptor":function(sld){var root=this.createElementNSPlus("sld:StyledLayerDescriptor",{attributes:{"version":this.VERSION,"xsi:schemaLocation":this.schemaLocation}});this.setAttributeNS(root,this.namespaces.xmlns,"xmlns:ogc",this.namespaces.ogc);this.setAttributeNS(root,this.namespaces.xmlns,"xmlns:gml",this.namespaces.gml);if(sld.name){this.writeNode("Name",sld.name,root);} -if(sld.title){this.writeNode("Title",sld.title,root);} -if(sld.description){this.writeNode("Abstract",sld.description,root);} -if(OpenLayers.Util.isArray(sld.namedLayers)){for(var i=0,len=sld.namedLayers.length;i0){clone=style.clone();clone.rules=rulesByZ[zValues[i]];this.writeNode("FeatureTypeStyle",clone,node);}}}else{this.writeNode("FeatureTypeStyle",style,node);} -return node;},"IsDefault":function(bool){return this.createElementNSPlus("sld:IsDefault",{value:(bool)?"1":"0"});},"FeatureTypeStyle":function(style){var node=this.createElementNSPlus("sld:FeatureTypeStyle");for(var i=0,len=style.rules.length;i0){a.push(path.slice());path.pop();} -a.reverse();} -return a;},read:function(data){if(typeof data=="string"){data=OpenLayers.Format.XML.prototype.read.apply(this,[data]);} -if(data&&data.nodeType==9){data=data.documentElement;} -var context={};this.readNode(data,context);this.setNestingPath({layersContext:context.layersContext});var layers=[];this.processLayer(layers,context);delete context.layersContext;context.layersContext=layers;return context;},processLayer:function(layerArray,layer){if(layer.layersContext){for(var i=0,len=layer.layersContext.length;i=1){el=elements[0];} -if(el&&el.firstChild){var featurenode=(el.firstChild.nextSibling)?el.firstChild.nextSibling:el.firstChild;this.setNamespace("feature",featurenode.namespaceURI);this.featureType=featurenode.localName||featurenode.nodeName.split(":").pop();this.readChildNodes(node,obj);}},"Server":function(node,obj){if((!obj.service&&!obj.version)||(obj.service!=OpenLayers.Format.Context.serviceTypes.WMS)){obj.service=node.getAttribute("service");obj.version=node.getAttribute("version");this.readChildNodes(node,obj);}},"Name":function(node,obj){obj.name=this.getChildValue(node);this.readChildNodes(node,obj);},"Title":function(node,obj){obj.title=this.getChildValue(node);this.readChildNodes(node,obj);},"StyleList":function(node,obj){this.readChildNodes(node,obj.styles);},"Style":function(node,obj){var style={};obj.push(style);this.readChildNodes(node,style);},"LegendURL":function(node,obj){var legend={};obj.legend=legend;this.readChildNodes(node,legend);},"OnlineResource":function(node,obj){obj.url=this.getAttributeNS(node,this.namespaces.xlink,"href");this.readChildNodes(node,obj);}},"ows":OpenLayers.Format.OWSCommon.v1_0_0.prototype.readers.ows,"gml":OpenLayers.Format.GML.v2.prototype.readers.gml,"sld":OpenLayers.Format.SLD.v1_0_0.prototype.readers.sld,"feature":OpenLayers.Format.GML.v2.prototype.readers.feature},writers:{"owc":{"OWSContext":function(options){var node=this.createElementNSPlus("OWSContext",{attributes:{version:this.VERSION,id:options.id||OpenLayers.Util.createUniqueID("OpenLayers_OWSContext_")}});this.writeNode("General",options,node);this.writeNode("ResourceList",options,node);return node;},"General":function(options){var node=this.createElementNSPlus("General");this.writeNode("ows:BoundingBox",options,node);this.writeNode("ows:Title",options.title||'OpenLayers OWSContext',node);return node;},"ResourceList":function(options){var node=this.createElementNSPlus("ResourceList");for(var i=0,len=options.layers.length;i0){this.writeNode("StyleList",layer.metadata.styles,node);} -return node;},"_Layer":function(options){var layer,subPaths,node,title;layer=options.layer;subPaths=options.subPaths;node=null;title=null;if(subPaths.length>0){var path=subPaths[0].join("/");var index=path.lastIndexOf("/");node=this.nestingLayerLookup[path];title=(index>0)?path.substring(index+1,path.length):path;if(!node){node=this.createElementNSPlus("Layer");this.writeNode("ows:Title",title,node);this.nestingLayerLookup[path]=node;} -options.subPaths.shift();this.writeNode("_Layer",options,node);return node;}else{if(layer instanceof OpenLayers.Layer.WMS){node=this.writeNode("_WMS",layer);}else if(layer instanceof OpenLayers.Layer.Vector){if(layer.protocol instanceof OpenLayers.Protocol.WFS.v1){node=this.writeNode("_WFS",layer);}else if(layer.protocol instanceof OpenLayers.Protocol.HTTP){if(layer.protocol.format instanceof OpenLayers.Format.GML){layer.protocol.format.version="2.1.2";node=this.writeNode("_GML",layer);}else if(layer.protocol.format instanceof OpenLayers.Format.KML){layer.protocol.format.version="2.2";node=this.writeNode("_KML",layer);}}else{this.setNamespace("feature",this.featureNS);node=this.writeNode("_InlineGeometry",layer);}} -if(layer.options.maxScale){this.writeNode("sld:MinScaleDenominator",layer.options.maxScale,node);} -if(layer.options.minScale){this.writeNode("sld:MaxScaleDenominator",layer.options.minScale,node);} -this.nestingLayerLookup[layer.name]=node;return node;}},"_WFS":function(layer){var node=this.createElementNSPlus("Layer",{attributes:{name:layer.protocol.featurePrefix+":"+layer.protocol.featureType,hidden:layer.visibility?"0":"1"}});this.writeNode("ows:Title",layer.name,node);this.writeNode("Server",{service:OpenLayers.Format.Context.serviceTypes.WFS,version:layer.protocol.version,url:layer.protocol.url},node);return node;},"_InlineGeometry":function(layer){var node=this.createElementNSPlus("Layer",{attributes:{name:this.featureType,hidden:layer.visibility?"0":"1"}});this.writeNode("ows:Title",layer.name,node);this.writeNode("InlineGeometry",layer,node);return node;},"_GML":function(layer){var node=this.createElementNSPlus("Layer");this.writeNode("ows:Title",layer.name,node);this.writeNode("Server",{service:OpenLayers.Format.Context.serviceTypes.GML,url:layer.protocol.url,version:layer.protocol.format.version},node);return node;},"_KML":function(layer){var node=this.createElementNSPlus("Layer");this.writeNode("ows:Title",layer.name,node);this.writeNode("Server",{service:OpenLayers.Format.Context.serviceTypes.KML,version:layer.protocol.format.version,url:layer.protocol.url},node);return node;}},"gml":OpenLayers.Util.applyDefaults({"boundedBy":function(bounds){var node=this.createElementNSPlus("gml:boundedBy");this.writeNode("gml:Box",bounds,node);return node;}},OpenLayers.Format.GML.v2.prototype.writers.gml),"ows":OpenLayers.Format.OWSCommon.v1_0_0.prototype.writers.ows,"sld":OpenLayers.Format.SLD.v1_0_0.prototype.writers.sld,"feature":OpenLayers.Format.GML.v2.prototype.writers.feature},CLASS_NAME:"OpenLayers.Format.OWSContext.v0_3_1"});OpenLayers.Format.CSWGetRecords.v2_0_2=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{csw:"http://www.opengis.net/cat/csw/2.0.2",dc:"http://purl.org/dc/elements/1.1/",dct:"http://purl.org/dc/terms/",gmd:"http://www.isotc211.org/2005/gmd",geonet:"http://www.fao.org/geonetwork",ogc:"http://www.opengis.net/ogc",ows:"http://www.opengis.net/ows",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance",xmlns:"http://www.w3.org/2000/xmlns/"},defaultPrefix:"csw",version:"2.0.2",schemaLocation:"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd",requestId:null,resultType:null,outputFormat:null,outputSchema:null,startPosition:null,maxRecords:null,DistributedSearch:null,ResponseHandler:null,Query:null,regExes:{trimSpace:(/^\s*|\s*$/g),removeSpace:(/\s*/g),splitSpace:(/\s+/),trimComma:(/\s*,\s*/g)},initialize:function(options){OpenLayers.Format.XML.prototype.initialize.apply(this,[options]);},read:function(data){if(typeof data=="string"){data=OpenLayers.Format.XML.prototype.read.apply(this,[data]);} -if(data&&data.nodeType==9){data=data.documentElement;} -var obj={};this.readNode(data,obj);return obj;},readers:{"csw":{"GetRecordsResponse":function(node,obj){obj.records=[];this.readChildNodes(node,obj);var version=this.getAttributeNS(node,"",'version');if(version!=""){obj.version=version;}},"RequestId":function(node,obj){obj.RequestId=this.getChildValue(node);},"SearchStatus":function(node,obj){obj.SearchStatus={};var timestamp=this.getAttributeNS(node,"",'timestamp');if(timestamp!=""){obj.SearchStatus.timestamp=timestamp;}},"SearchResults":function(node,obj){this.readChildNodes(node,obj);var attrs=node.attributes;var SearchResults={};for(var i=0,len=attrs.length;i0){for(var i=0,len=ResponseHandler.length;i0){for(var i=0,len=ElementName.length;i0){obj.featureNS=this.lookupNamespaceURI(node,parts[0]);}}},"Title":function(node,obj){var title=this.getChildValue(node);if(title){obj.title=title;}},"Abstract":function(node,obj){var abst=this.getChildValue(node);if(abst){obj["abstract"]=abst;}},"DefaultCRS":function(node,obj){var defaultCRS=this.getChildValue(node);if(defaultCRS){obj.srs=defaultCRS;}}},"ows":OpenLayers.Format.OWSCommon.v1_1_0.prototype.readers.ows},CLASS_NAME:"OpenLayers.Format.WFSCapabilities.v2_0_0"});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(data){if(typeof data=="string"){data=OpenLayers.Format.XML.prototype.read.apply(this,[data]);} -var raw=data;if(data&&data.nodeType==9){data=data.documentElement;} -var capabilities={};this.readNode(data,capabilities);return capabilities;},readers:{"wfs":{"WFS_Capabilities":function(node,obj){this.readChildNodes(node,obj);},"FeatureTypeList":function(node,request){request.featureTypeList={featureTypes:[]};this.readChildNodes(node,request.featureTypeList);},"FeatureType":function(node,featureTypeList){var featureType={};this.readChildNodes(node,featureType);featureTypeList.featureTypes.push(featureType);},"Name":function(node,obj){var name=this.getChildValue(node);if(name){var parts=name.split(":");obj.name=parts.pop();if(parts.length>0){obj.featureNS=this.lookupNamespaceURI(node,parts[0]);}}},"Title":function(node,obj){var title=this.getChildValue(node);if(title){obj.title=title;}},"Abstract":function(node,obj){var abst=this.getChildValue(node);if(abst){obj["abstract"]=abst;}}}},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(node,obj){var defaultSRS=this.getChildValue(node);if(defaultSRS){obj.srs=defaultSRS;}}},OpenLayers.Format.WFSCapabilities.v1.prototype.readers["wfs"]),"ows":OpenLayers.Format.OWSCommon.v1.prototype.readers.ows},CLASS_NAME:"OpenLayers.Format.WFSCapabilities.v1_1_0"});OpenLayers.Format.WFSCapabilities.v1_0_0=OpenLayers.Class(OpenLayers.Format.WFSCapabilities.v1,{readers:{"wfs":OpenLayers.Util.applyDefaults({"Service":function(node,capabilities){capabilities.service={};this.readChildNodes(node,capabilities.service);},"Fees":function(node,service){var fees=this.getChildValue(node);if(fees&&fees.toLowerCase()!="none"){service.fees=fees;}},"AccessConstraints":function(node,service){var constraints=this.getChildValue(node);if(constraints&&constraints.toLowerCase()!="none"){service.accessConstraints=constraints;}},"OnlineResource":function(node,service){var onlineResource=this.getChildValue(node);if(onlineResource&&onlineResource.toLowerCase()!="none"){service.onlineResource=onlineResource;}},"Keywords":function(node,service){var keywords=this.getChildValue(node);if(keywords&&keywords.toLowerCase()!="none"){service.keywords=keywords.split(', ');}},"Capability":function(node,capabilities){capabilities.capability={};this.readChildNodes(node,capabilities.capability);},"Request":function(node,obj){obj.request={};this.readChildNodes(node,obj.request);},"GetFeature":function(node,request){request.getfeature={href:{},formats:[]};this.readChildNodes(node,request.getfeature);},"ResultFormat":function(node,obj){var children=node.childNodes;var childNode;for(var i=0;i0){typeName=query[0].getAttribute('typeName');if(!typeName){typeName=query[0].getAttribute('typename');}} -var layerDescription={layerName:layerName,owsType:owsType,owsURL:owsURL,typeName:typeName};describelayer.layerDescriptions.push(layerDescription);describelayer.length=describelayer.layerDescriptions.length;describelayer[describelayer.length-1]=layerDescription;}else if(nodeName=='ServiceException'){var parser=new OpenLayers.Format.OGCExceptionReport();return{error:parser.read(data)};}} -return describelayer;},CLASS_NAME:"OpenLayers.Format.WMSDescribeLayer.v1_1_1"});OpenLayers.Format.WMSDescribeLayer.v1_1_0=OpenLayers.Format.WMSDescribeLayer.v1_1_1;OpenLayers.Format.WPSDescribeProcess.v1_0_0=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{wps:"http://www.opengis.net/wps/1.0.0",ows:"http://www.opengis.net/ows/1.1",xsi:"http://www.w3.org/2001/XMLSchema-instance"},errorProperty:"processDescriptions",schemaLocation:"http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd",defaultPrefix:"wps",regExes:{trimSpace:(/^\s*|\s*$/g),removeSpace:(/\s*/g),splitSpace:(/\s+/),trimComma:(/\s*,\s*/g)},read:function(data){if(typeof data=="string"){data=OpenLayers.Format.XML.prototype.read.apply(this,[data]);} -if(data&&data.nodeType==9){data=data.documentElement;} -var info={};this.readNode(data,info);return info;},readers:{"wps":{"ProcessDescriptions":function(node,obj){obj.processDescriptions={};this.readChildNodes(node,obj.processDescriptions);},"ProcessDescription":function(node,processDescriptions){var processVersion=this.getAttributeNS(node,this.namespaces.wps,"processVersion");var processDescription={processVersion:processVersion,statusSupported:(node.getAttribute("statusSupported")==="true"),storeSupported:(node.getAttribute("storeSupported")==="true")};this.readChildNodes(node,processDescription);processDescriptions[processDescription.identifier]=processDescription;},"DataInputs":function(node,processDescription){processDescription.dataInputs=[];this.readChildNodes(node,processDescription.dataInputs);},"ProcessOutputs":function(node,processDescription){processDescription.processOutputs=[];this.readChildNodes(node,processDescription.processOutputs);},"Output":function(node,processOutputs){var output={};this.readChildNodes(node,output);processOutputs.push(output);},"ComplexOutput":function(node,output){output.complexOutput={};this.readChildNodes(node,output.complexOutput);},"LiteralOutput":function(node,output){output.literalOutput={};this.readChildNodes(node,output.literalOutput);},"Input":function(node,dataInputs){var input={maxOccurs:parseInt(node.getAttribute("maxOccurs")),minOccurs:parseInt(node.getAttribute("minOccurs"))};this.readChildNodes(node,input);dataInputs.push(input);},"BoundingBoxData":function(node,input){input.boundingBoxData={};this.readChildNodes(node,input.boundingBoxData);},"CRS":function(node,obj){if(!obj.CRSs){obj.CRSs={};} -obj.CRSs[this.getChildValue(node)]=true;},"LiteralData":function(node,input){input.literalData={};this.readChildNodes(node,input.literalData);},"ComplexData":function(node,input){input.complexData={};this.readChildNodes(node,input.complexData);},"Default":function(node,complexData){complexData["default"]={};this.readChildNodes(node,complexData["default"]);},"Supported":function(node,complexData){complexData["supported"]={};this.readChildNodes(node,complexData["supported"]);},"Format":function(node,obj){var format={};this.readChildNodes(node,format);if(!obj.formats){obj.formats={};} -obj.formats[format.mimeType]=true;},"MimeType":function(node,format){format.mimeType=this.getChildValue(node);}},"ows":OpenLayers.Format.OWSCommon.v1_1_0.prototype.readers["ows"]},CLASS_NAME:"OpenLayers.Format.WPSDescribeProcess"});OpenLayers.Format.WMC.v1=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{ol:"http://openlayers.org/context",wmc:"http://www.opengis.net/context",sld:"http://www.opengis.net/sld",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},schemaLocation:"",getNamespacePrefix:function(uri){var prefix=null;if(uri==null){prefix=this.namespaces[this.defaultPrefix];}else{for(prefix in this.namespaces){if(this.namespaces[prefix]==uri){break;}}} -return prefix;},defaultPrefix:"wmc",rootPrefix:null,defaultStyleName:"",defaultStyleTitle:"Default",initialize:function(options){OpenLayers.Format.XML.prototype.initialize.apply(this,[options]);},read:function(data){if(typeof data=="string"){data=OpenLayers.Format.XML.prototype.read.apply(this,[data]);} -var root=data.documentElement;this.rootPrefix=root.prefix;var context={version:root.getAttribute("version")};this.runChildNodes(context,root);return context;},runChildNodes:function(obj,node){var children=node.childNodes;var childNode,processor,prefix,local;for(var i=0,len=children.length;i0){this.read_wmc_OnlineResource(object,links[0]);} -return object.href;},CLASS_NAME:"OpenLayers.Format.WMC.v1"});OpenLayers.Format.WMC.v1_1_0=OpenLayers.Class(OpenLayers.Format.WMC.v1,{VERSION:"1.1.0",schemaLocation:"http://www.opengis.net/context http://schemas.opengis.net/context/1.1.0/context.xsd",initialize:function(options){OpenLayers.Format.WMC.v1.prototype.initialize.apply(this,[options]);},read_sld_MinScaleDenominator:function(layerContext,node){var minScaleDenominator=parseFloat(this.getChildValue(node));if(minScaleDenominator>0){layerContext.maxScale=minScaleDenominator;}},read_sld_MaxScaleDenominator:function(layerContext,node){layerContext.minScale=parseFloat(this.getChildValue(node));},read_wmc_SRS:function(layerContext,node){if(!("srs"in layerContext)){layerContext.srs={};} -layerContext.srs[this.getChildValue(node)]=true;},write_wmc_Layer:function(context){var node=OpenLayers.Format.WMC.v1.prototype.write_wmc_Layer.apply(this,[context]);if(context.maxScale){var minSD=this.createElementNS(this.namespaces.sld,"sld:MinScaleDenominator");minSD.appendChild(this.createTextNode(context.maxScale.toPrecision(16)));node.appendChild(minSD);} -if(context.minScale){var maxSD=this.createElementNS(this.namespaces.sld,"sld:MaxScaleDenominator");maxSD.appendChild(this.createTextNode(context.minScale.toPrecision(16)));node.appendChild(maxSD);} -if(context.srs){for(var name in context.srs){node.appendChild(this.createElementDefaultNS("SRS",name));}} -node.appendChild(this.write_wmc_FormatList(context));node.appendChild(this.write_wmc_StyleList(context));if(context.dimensions){node.appendChild(this.write_wmc_DimensionList(context));} -node.appendChild(this.write_wmc_LayerExtension(context));return node;},CLASS_NAME:"OpenLayers.Format.WMC.v1_1_0"});OpenLayers.Format.WMC.v1_0_0=OpenLayers.Class(OpenLayers.Format.WMC.v1,{VERSION:"1.0.0",schemaLocation:"http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd",initialize:function(options){OpenLayers.Format.WMC.v1.prototype.initialize.apply(this,[options]);},read_wmc_SRS:function(layerContext,node){var srs=this.getChildValue(node);if(typeof layerContext.projections!="object"){layerContext.projections={};} -var values=srs.split(/ +/);for(var i=0,len=values.length;i0){this.timer=window.setInterval(OpenLayers.Function.bind(this.refresh,this),this.interval);}},refresh:function(){if(this.layer&&this.layer.refresh&&typeof this.layer.refresh=="function"){this.layer.refresh({force:this.force});}},stop:function(){if(this.timer!==null){window.clearInterval(this.timer);this.timer=null;}},CLASS_NAME:"OpenLayers.Strategy.Refresh"});OpenLayers.Strategy.Save=OpenLayers.Class(OpenLayers.Strategy,{events:null,auto:false,timer:null,initialize:function(options){OpenLayers.Strategy.prototype.initialize.apply(this,[options]);this.events=new OpenLayers.Events(this);},activate:function(){var activated=OpenLayers.Strategy.prototype.activate.call(this);if(activated){if(this.auto){if(typeof this.auto==="number"){this.timer=window.setInterval(OpenLayers.Function.bind(this.save,this),this.auto*1000);}else{this.layer.events.on({"featureadded":this.triggerSave,"afterfeaturemodified":this.triggerSave,scope:this});}}} -return activated;},deactivate:function(){var deactivated=OpenLayers.Strategy.prototype.deactivate.call(this);if(deactivated){if(this.auto){if(typeof this.auto==="number"){window.clearInterval(this.timer);}else{this.layer.events.un({"featureadded":this.triggerSave,"afterfeaturemodified":this.triggerSave,scope:this});}}} -return deactivated;},triggerSave:function(event){var feature=event.feature;if(feature.state===OpenLayers.State.INSERT||feature.state===OpenLayers.State.UPDATE||feature.state===OpenLayers.State.DELETE){this.save([event.feature]);}},save:function(features){if(!features){features=this.layer.features;} -this.events.triggerEvent("start",{features:features});var remote=this.layer.projection;var local=this.layer.map.getProjectionObject();if(!local.equals(remote)){var len=features.length;var clones=new Array(len);var orig,clone;for(var i=0;i0){this.layer.destroyFeatures(destroys);} -this.events.triggerEvent("success",evt);}else{this.events.triggerEvent("fail",evt);}},CLASS_NAME:"OpenLayers.Strategy.Save"});OpenLayers.Strategy.Cluster=OpenLayers.Class(OpenLayers.Strategy,{distance:20,threshold:null,features:null,clusters:null,clustering:false,resolution:null,activate:function(){var activated=OpenLayers.Strategy.prototype.activate.call(this);if(activated){this.layer.events.on({"beforefeaturesadded":this.cacheFeatures,"featuresremoved":this.clearCache,"moveend":this.cluster,scope:this});} -return activated;},deactivate:function(){var deactivated=OpenLayers.Strategy.prototype.deactivate.call(this);if(deactivated){this.clearCache();this.layer.events.un({"beforefeaturesadded":this.cacheFeatures,"featuresremoved":this.clearCache,"moveend":this.cluster,scope:this});} -return deactivated;},cacheFeatures:function(event){var propagate=true;if(!this.clustering){this.clearCache();this.features=event.features;this.cluster();propagate=false;} -return propagate;},clearCache:function(){if(!this.clustering){this.features=null;}},cluster:function(event){if((!event||event.zoomChanged)&&this.features){var resolution=this.layer.map.getResolution();if(resolution!=this.resolution||!this.clustersExist()){this.resolution=resolution;var clusters=[];var feature,clustered,cluster;for(var i=0;i=0;--j){cluster=clusters[j];if(this.shouldCluster(cluster,feature)){this.addToCluster(cluster,feature);clustered=true;break;}} -if(!clustered){clusters.push(this.createCluster(this.features[i]));}}} -this.clustering=true;this.layer.removeAllFeatures();this.clustering=false;if(clusters.length>0){if(this.threshold>1){var clone=clusters.slice();clusters=[];var candidate;for(var i=0,len=clone.length;i0&&this.clusters.length==this.layer.features.length){exist=true;for(var i=0;i0){this.length=newLength;} -return this.length;},pageNext:function(event){var changed=false;if(this.features){if(this.num===null){this.num=-1;} -var start=(this.num+1)*this.length;changed=this.page(start,event);} -return changed;},pagePrevious:function(){var changed=false;if(this.features){if(this.num===null){this.num=this.pageCount();} -var start=(this.num-1)*this.length;changed=this.page(start);} -return changed;},page:function(start,event){var changed=false;if(this.features){if(start>=0&&start0){this.caching=true;this.layer.removeFeatures(this.cache.slice());this.caching=false;} -if(previousCache.length>0){var event={features:previousCache};this.handleAdd(event);if(event.features.length>0){this.caching=true;this.layer.addFeatures(event.features);this.caching=false;}}},CLASS_NAME:"OpenLayers.Strategy.Filter"});OpenLayers.Strategy.Fixed=OpenLayers.Class(OpenLayers.Strategy,{preload:false,activate:function(){var activated=OpenLayers.Strategy.prototype.activate.apply(this,arguments);if(activated){this.layer.events.on({"refresh":this.load,scope:this});if(this.layer.visibility==true||this.preload){this.load();}else{this.layer.events.on({"visibilitychanged":this.load,scope:this});}} -return activated;},deactivate:function(){var deactivated=OpenLayers.Strategy.prototype.deactivate.call(this);if(deactivated){this.layer.events.un({"refresh":this.load,"visibilitychanged":this.load,scope:this});} -return deactivated;},load:function(options){var layer=this.layer;layer.events.triggerEvent("loadstart",{filter:layer.filter});layer.protocol.read(OpenLayers.Util.applyDefaults({callback:this.merge,filter:layer.filter,scope:this},options));layer.events.un({"visibilitychanged":this.load,scope:this});},merge:function(resp){var layer=this.layer;layer.destroyFeatures();var features=resp.features;if(features&&features.length>0){var remote=layer.projection;var local=layer.map.getProjectionObject();if(!local.equals(remote)){var geom;for(var i=0,len=features.length;i=this.resFactor||ratio<=(1/this.resFactor));} -return invalid;},calculateBounds:function(mapBounds){if(!mapBounds){mapBounds=this.getMapBounds();} -var center=mapBounds.getCenterLonLat();var dataWidth=mapBounds.getWidth()*this.ratio;var dataHeight=mapBounds.getHeight()*this.ratio;this.bounds=new OpenLayers.Bounds(center.lon-(dataWidth/2),center.lat-(dataHeight/2),center.lon+(dataWidth/2),center.lat+(dataHeight/2));},triggerRead:function(options){if(this.response&&!(options&&options.noAbort===true)){this.layer.protocol.abort(this.response);this.layer.events.triggerEvent("loadend");} -var evt={filter:this.createFilter()};this.layer.events.triggerEvent("loadstart",evt);this.response=this.layer.protocol.read(OpenLayers.Util.applyDefaults({filter:evt.filter,callback:this.merge,scope:this},options));},createFilter:function(){var filter=new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.BBOX,value:this.bounds,projection:this.layer.projection});if(this.layer.filter){filter=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND,filters:[this.layer.filter,filter]});} -return filter;},merge:function(resp){this.layer.destroyFeatures();if(resp.success()){var features=resp.features;if(features&&features.length>0){var remote=this.layer.projection;var local=this.layer.map.getProjectionObject();if(remote&&local&&!local.equals(remote)){var geom;for(var i=0,len=features.length;i=200&&request.status<300){if(resp.requestType!="delete"){resp.features=this.parseFeatures(request);} -resp.code=OpenLayers.Protocol.Response.SUCCESS;}else{resp.code=OpenLayers.Protocol.Response.FAILURE;} -options.callback.call(options.scope,resp);}},parseFeatures:function(request){var doc=request.responseXML;if(!doc||!doc.documentElement){doc=request.responseText;} -if(!doc||doc.length<=0){return null;} -return this.format.read(doc);},commit:function(features,options){options=OpenLayers.Util.applyDefaults(options,this.options);var resp=[],nResponses=0;var types={};types[OpenLayers.State.INSERT]=[];types[OpenLayers.State.UPDATE]=[];types[OpenLayers.State.DELETE]=[];var feature,list,requestFeatures=[];for(var i=0,len=features.length;i0?1:0)+ -types[OpenLayers.State.UPDATE].length+ -types[OpenLayers.State.DELETE].length;var success=true;var finalResponse=new OpenLayers.Protocol.Response({reqFeatures:requestFeatures});function insertCallback(response){var len=response.features?response.features.length:0;var fids=new Array(len);for(var i=0;i=nRequests){if(options.callback){finalResponse.code=success?OpenLayers.Protocol.Response.SUCCESS:OpenLayers.Protocol.Response.FAILURE;options.callback.apply(options.scope,[finalResponse]);}}} -var queue=types[OpenLayers.State.INSERT];if(queue.length>0){resp.push(this.create(queue,OpenLayers.Util.applyDefaults({callback:insertCallback,scope:this},options.create)));} -queue=types[OpenLayers.State.UPDATE];for(var i=queue.length-1;i>=0;--i){resp.push(this.update(queue[i],OpenLayers.Util.applyDefaults({callback:callback,scope:this},options.update)));} -queue=types[OpenLayers.State.DELETE];for(var i=queue.length-1;i>=0;--i){resp.push(this["delete"](queue[i],OpenLayers.Util.applyDefaults({callback:callback,scope:this},options["delete"])));} -return resp;},abort:function(response){if(response){response.priv.abort();}},callUserCallback:function(resp,options){var opt=options[resp.requestType];if(opt&&opt.callback){opt.callback.call(opt.scope,resp);}},CLASS_NAME:"OpenLayers.Protocol.HTTP"});OpenLayers.Protocol.WFS=function(options){options=OpenLayers.Util.applyDefaults(options,OpenLayers.Protocol.WFS.DEFAULTS);var cls=OpenLayers.Protocol.WFS["v"+options.version.replace(/\./g,"_")];if(!cls){throw"Unsupported WFS version: "+options.version;} -return new cls(options);};OpenLayers.Protocol.WFS.fromWMSLayer=function(layer,options){var typeName,featurePrefix;var param=layer.params["LAYERS"];var parts=(OpenLayers.Util.isArray(param)?param[0]:param).split(":");if(parts.length>1){featurePrefix=parts[0];} -typeName=parts.pop();var protocolOptions={url:layer.url,featureType:typeName,featurePrefix:featurePrefix,srsName:layer.projection&&layer.projection.getCode()||layer.map&&layer.map.getProjectionObject().getCode(),version:"1.1.0"};return new OpenLayers.Protocol.WFS(OpenLayers.Util.applyDefaults(options,protocolOptions));};OpenLayers.Protocol.WFS.DEFAULTS={"version":"1.0.0"};OpenLayers.Protocol.Script=OpenLayers.Class(OpenLayers.Protocol,{url:null,params:null,callback:null,callbackTemplate:"OpenLayers.Protocol.Script.registry.${id}",callbackKey:"callback",callbackPrefix:"",scope:null,format:null,pendingRequests:null,srsInBBOX:false,initialize:function(options){options=options||{};this.params={};this.pendingRequests={};OpenLayers.Protocol.prototype.initialize.apply(this,arguments);if(!this.format){this.format=new OpenLayers.Format.GeoJSON();} -if(!this.filterToParams&&OpenLayers.Format.QueryStringFilter){var format=new OpenLayers.Format.QueryStringFilter({srsInBBOX:this.srsInBBOX});this.filterToParams=function(filter,params){return format.write(filter,params);};}},read:function(options){OpenLayers.Protocol.prototype.read.apply(this,arguments);options=OpenLayers.Util.applyDefaults(options,this.options);options.params=OpenLayers.Util.applyDefaults(options.params,this.options.params);if(options.filter&&this.filterToParams){options.params=this.filterToParams(options.filter,options.params);} -var response=new OpenLayers.Protocol.Response({requestType:"read"});var request=this.createRequest(options.url,options.params,OpenLayers.Function.bind(function(data){response.data=data;this.handleRead(response,options);},this));response.priv=request;return response;},createRequest:function(url,params,callback){var id=OpenLayers.Protocol.Script.register(callback);var name=OpenLayers.String.format(this.callbackTemplate,{id:id});params=OpenLayers.Util.extend({},params);params[this.callbackKey]=this.callbackPrefix+name;url=OpenLayers.Util.urlAppend(url,OpenLayers.Util.getParameterString(params));var script=document.createElement("script");script.type="text/javascript";script.src=url;script.id="OpenLayers_Protocol_Script_"+id;this.pendingRequests[script.id]=script;var head=document.getElementsByTagName("head")[0];head.appendChild(script);return script;},destroyRequest:function(script){OpenLayers.Protocol.Script.unregister(script.id.split("_").pop());delete this.pendingRequests[script.id];if(script.parentNode){script.parentNode.removeChild(script);}},handleRead:function(response,options){this.handleResponse(response,options);},handleResponse:function(response,options){if(options.callback){if(response.data){response.features=this.parseFeatures(response.data);response.code=OpenLayers.Protocol.Response.SUCCESS;}else{response.code=OpenLayers.Protocol.Response.FAILURE;} -this.destroyRequest(response.priv);options.callback.call(options.scope,response);}},parseFeatures:function(data){return this.format.read(data);},abort:function(response){if(response){this.destroyRequest(response.priv);}else{for(var key in this.pendingRequests){this.destroyRequest(this.pendingRequests[key]);}}},destroy:function(){this.abort();delete this.params;delete this.format;OpenLayers.Protocol.prototype.destroy.apply(this);},CLASS_NAME:"OpenLayers.Protocol.Script"});(function(){var o=OpenLayers.Protocol.Script;var counter=0;o.registry={};o.register=function(callback){var id="c"+(++counter);o.registry[id]=function(){callback.apply(this,arguments);};return id;};o.unregister=function(id){delete o.registry[id];};})();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(options){OpenLayers.Protocol.prototype.initialize.apply(this,[options]);if(!options.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));} -if(!options.geometryName&&parseFloat(this.format.version)>1.0){this.setGeometryName(null);}},destroy:function(){if(this.options&&!this.options.format){this.format.destroy();} -this.format=null;OpenLayers.Protocol.prototype.destroy.apply(this);},read:function(options){OpenLayers.Protocol.prototype.read.apply(this,arguments);options=OpenLayers.Util.extend({},options);OpenLayers.Util.applyDefaults(options,this.options||{});var response=new OpenLayers.Protocol.Response({requestType:"read"});var data=OpenLayers.Format.XML.prototype.write.apply(this.format,[this.format.writeNode("wfs:GetFeature",options)]);response.priv=OpenLayers.Request.POST({url:options.url,callback:this.createCallback(this.handleRead,response,options),params:options.params,headers:options.headers,data:data});return response;},setFeatureType:function(featureType){this.featureType=featureType;this.format.featureType=featureType;},setGeometryName:function(geometryName){this.geometryName=geometryName;this.format.geometryName=geometryName;},handleRead:function(response,options){options=OpenLayers.Util.extend({},options);OpenLayers.Util.applyDefaults(options,this.options);if(options.callback){var request=response.priv;if(request.status>=200&&request.status<300){var result=this.parseResponse(request,options.readOptions);if(result&&result.success!==false){if(options.readOptions&&options.readOptions.output=="object"){OpenLayers.Util.extend(response,result);}else{response.features=result;} -response.code=OpenLayers.Protocol.Response.SUCCESS;}else{response.code=OpenLayers.Protocol.Response.FAILURE;response.error=result;}}else{response.code=OpenLayers.Protocol.Response.FAILURE;} -options.callback.call(options.scope,response);}},parseResponse:function(request,options){var doc=request.responseXML;if(!doc||!doc.documentElement){doc=request.responseText;} -if(!doc||doc.length<=0){return null;} -var result=(this.readFormat!==null)?this.readFormat.read(doc):this.format.read(doc,options);if(!this.featureNS){var format=this.readFormat||this.format;this.featureNS=format.featureNS;format.autoConfig=false;if(!this.geometryName){this.setGeometryName(format.geometryName);}} -return result;},commit:function(features,options){options=OpenLayers.Util.extend({},options);OpenLayers.Util.applyDefaults(options,this.options);var response=new OpenLayers.Protocol.Response({requestType:"commit",reqFeatures:features});response.priv=OpenLayers.Request.POST({url:options.url,headers:options.headers,data:this.format.write(features,options),callback:this.createCallback(this.handleCommit,response,options)});return response;},handleCommit:function(response,options){if(options.callback){var request=response.priv;var data=request.responseXML;if(!data||!data.documentElement){data=request.responseText;} -var obj=this.format.read(data)||{};response.insertIds=obj.insertIds||[];if(obj.success){response.code=OpenLayers.Protocol.Response.SUCCESS;}else{response.code=OpenLayers.Protocol.Response.FAILURE;response.error=obj;} -options.callback.call(options.scope,response);}},filterDelete:function(filter,options){options=OpenLayers.Util.extend({},options);OpenLayers.Util.applyDefaults(options,this.options);var response=new OpenLayers.Protocol.Response({requestType:"commit"});var root=this.format.createElementNSPlus("wfs:Transaction",{attributes:{service:"WFS",version:this.version}});var deleteNode=this.format.createElementNSPlus("wfs:Delete",{attributes:{typeName:(options.featureNS?this.featurePrefix+":":"")+ -options.featureType}});if(options.featureNS){deleteNode.setAttribute("xmlns:"+this.featurePrefix,options.featureNS);} -var filterNode=this.format.writeNode("ogc:Filter",filter);deleteNode.appendChild(filterNode);root.appendChild(deleteNode);var data=OpenLayers.Format.XML.prototype.write.apply(this.format,[root]);return OpenLayers.Request.POST({url:this.url,callback:options.callback||function(){},data:data});},abort:function(response){if(response){response.priv.abort();}},CLASS_NAME:"OpenLayers.Protocol.WFS.v1"});OpenLayers.Protocol.WFS.v2_0_0=OpenLayers.Class(OpenLayers.Protocol.WFS.v1,{version:"2.0.0",initialize:function(options){OpenLayers.Protocol.WFS.v1.prototype.initialize.apply(this,arguments);if(this.outputFormat&&!this.readFormat){if(this.outputFormat.toLowerCase()=="gml3"){this.readFormat=new OpenLayers.Format.GML.v3({featureType:this.featureType,featureNS:this.featureNS,geometryName:this.geometryName});}else if(this.outputFormat.toLowerCase()=="json"){this.readFormat=new OpenLayers.Format.GeoJSON();}}},CLASS_NAME:"OpenLayers.Protocol.WFS.v2_0_0"});OpenLayers.Protocol.WFS.v1_1_0=OpenLayers.Class(OpenLayers.Protocol.WFS.v1,{version:"1.1.0",initialize:function(options){OpenLayers.Protocol.WFS.v1.prototype.initialize.apply(this,arguments);if(this.outputFormat&&!this.readFormat){if(this.outputFormat.toLowerCase()=="gml2"){this.readFormat=new OpenLayers.Format.GML.v2({featureType:this.featureType,featureNS:this.featureNS,geometryName:this.geometryName});}else if(this.outputFormat.toLowerCase()=="json"){this.readFormat=new OpenLayers.Format.GeoJSON();}}},CLASS_NAME:"OpenLayers.Protocol.WFS.v1_1_0"});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.Protocol.SOS.v1_0_0=OpenLayers.Class(OpenLayers.Protocol,{fois:null,formatOptions:null,initialize:function(options){OpenLayers.Protocol.prototype.initialize.apply(this,[options]);if(!options.format){this.format=new OpenLayers.Format.SOSGetFeatureOfInterest(this.formatOptions);}},destroy:function(){if(this.options&&!this.options.format){this.format.destroy();} -this.format=null;OpenLayers.Protocol.prototype.destroy.apply(this);},read:function(options){options=OpenLayers.Util.extend({},options);OpenLayers.Util.applyDefaults(options,this.options||{});var response=new OpenLayers.Protocol.Response({requestType:"read"});var format=this.format;var data=OpenLayers.Format.XML.prototype.write.apply(format,[format.writeNode("sos:GetFeatureOfInterest",{fois:this.fois})]);response.priv=OpenLayers.Request.POST({url:options.url,callback:this.createCallback(this.handleRead,response,options),data:data});return response;},handleRead:function(response,options){if(options.callback){var request=response.priv;if(request.status>=200&&request.status<300){response.features=this.parseFeatures(request);response.code=OpenLayers.Protocol.Response.SUCCESS;}else{response.code=OpenLayers.Protocol.Response.FAILURE;} -options.callback.call(options.scope,response);}},parseFeatures:function(request){var doc=request.responseXML;if(!doc||!doc.documentElement){doc=request.responseText;} -if(!doc||doc.length<=0){return null;} -return this.format.read(doc);},CLASS_NAME:"OpenLayers.Protocol.SOS.v1_0_0"});OpenLayers.Protocol.CSW.v2_0_2=OpenLayers.Class(OpenLayers.Protocol,{formatOptions:null,initialize:function(options){OpenLayers.Protocol.prototype.initialize.apply(this,[options]);if(!options.format){this.format=new OpenLayers.Format.CSWGetRecords.v2_0_2(OpenLayers.Util.extend({},this.formatOptions));}},destroy:function(){if(this.options&&!this.options.format){this.format.destroy();} -this.format=null;OpenLayers.Protocol.prototype.destroy.apply(this);},read:function(options){options=OpenLayers.Util.extend({},options);OpenLayers.Util.applyDefaults(options,this.options||{});var response=new OpenLayers.Protocol.Response({requestType:"read"});var data=this.format.write(options.params||options);response.priv=OpenLayers.Request.POST({url:options.url,callback:this.createCallback(this.handleRead,response,options),params:options.params,headers:options.headers,data:data});return response;},handleRead:function(response,options){if(options.callback){var request=response.priv;if(request.status>=200&&request.status<300){response.data=this.parseData(request);response.code=OpenLayers.Protocol.Response.SUCCESS;}else{response.code=OpenLayers.Protocol.Response.FAILURE;} -options.callback.call(options.scope,response);}},parseData:function(request){var doc=request.responseXML;if(!doc||!doc.documentElement){doc=request.responseText;} -if(!doc||doc.length<=0){return null;} -return this.format.read(doc);},CLASS_NAME:"OpenLayers.Protocol.CSW.v2_0_2"});OpenLayers.Handler.Hover=OpenLayers.Class(OpenLayers.Handler,{delay:500,pixelTolerance:null,stopMove:false,px:null,timerId:null,mousemove:function(evt){if(this.passesTolerance(evt.xy)){this.clearTimer();this.callback('move',[evt]);this.px=evt.xy;evt=OpenLayers.Util.extend({},evt);this.timerId=window.setTimeout(OpenLayers.Function.bind(this.delayedCall,this,evt),this.delay);} -return!this.stopMove;},mouseout:function(evt){if(OpenLayers.Util.mouseLeft(evt,this.map.viewPortDiv)){this.clearTimer();this.callback('move',[evt]);} -return true;},passesTolerance:function(px){var passes=true;if(this.pixelTolerance&&this.px){var dpx=Math.sqrt(Math.pow(this.px.x-px.x,2)+ -Math.pow(this.px.y-px.y,2));if(dpx0){this.timeoutId=setTimeout(OpenLayers.Function.bind(this.removeTimeout,this),this.interval);} -this.dragging=true;this.move(evt);this.callback("move",[evt.xy]);if(!this.oldOnselectstart){this.oldOnselectstart=document.onselectstart;document.onselectstart=OpenLayers.Function.False;} -this.last=evt.xy;} -return true;},dragend:function(evt){if(this.started&&this._pointerId==evt.pointerId){if(this.documentDrag===true&&this.documentEvents){this.adjustXY(evt);this.removeDocumentEvents();} -var dragged=(this.start!=this.last);this.started=false;this.dragging=false;delete this._pointerId;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.up(evt);this.callback("up",[evt.xy]);if(dragged){this.callback("done",[evt.xy]);} -document.onselectstart=this.oldOnselectstart;} -return true;},down:function(evt){},move:function(evt){},up:function(evt){},out:function(evt){},mousedown:function(evt){return this.dragstart(evt);},touchstart:function(evt){this.startTouch();if(!("_pointerId"in this)){this._pointerId=evt.pointerId;} -return this.dragstart(evt);},mousemove:function(evt){return this.dragmove(evt);},touchmove:function(evt){return this.dragmove(evt);},removeTimeout:function(){this.timeoutId=null;if(this.dragging){this.mousemove(this.lastMoveEvt);}},mouseup:function(evt){return this.dragend(evt);},touchend:function(evt){evt.xy=this.last;return this.dragend(evt);},mouseout:function(evt){if(this.started&&OpenLayers.Util.mouseLeft(evt,this.map.viewPortDiv)){if(this.documentDrag===true){this.addDocumentEvents();}else{var dragged=(this.start!=this.last);this.started=false;this.dragging=false;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.out(evt);this.callback("out",[]);if(dragged){this.callback("done",[evt.xy]);} -if(document.onselectstart){document.onselectstart=this.oldOnselectstart;}}} -return true;},click:function(evt){return(this.start==this.last);},activate:function(){var activated=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.dragging=false;activated=true;} -return activated;},deactivate:function(){var deactivated=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.started=false;this.dragging=false;this.start=null;this.last=null;deactivated=true;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");} -return deactivated;},adjustXY:function(evt){var pos=OpenLayers.Util.pagePosition(this.map.viewPortDiv);evt.xy.x-=pos[0];evt.xy.y-=pos[1];},addDocumentEvents:function(){OpenLayers.Element.addClass(document.body,"olDragDown");this.documentEvents=true;OpenLayers.Event.observe(document,"mousemove",this._docMove);OpenLayers.Event.observe(document,"mouseup",this._docUp);},removeDocumentEvents:function(){OpenLayers.Element.removeClass(document.body,"olDragDown");this.documentEvents=false;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(control,callbacks,options){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);if(this.dragHandler){this.dragHandler.destroy();this.dragHandler=null;}},setMap:function(map){OpenLayers.Handler.prototype.setMap.apply(this,arguments);if(this.dragHandler){this.dragHandler.setMap(map);}},startBox:function(xy){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(xy){var startX=this.dragHandler.start.x;var startY=this.dragHandler.start.y;var deltaX=Math.abs(startX-xy.x);var deltaY=Math.abs(startY-xy.y);var offset=this.getBoxOffsets();this.zoomBox.style.width=(deltaX+offset.width+1)+"px";this.zoomBox.style.height=(deltaY+offset.height+1)+"px";this.zoomBox.style.left=(xy.x5||Math.abs(this.dragHandler.start.y-end.y)>5){var start=this.dragHandler.start;var top=Math.min(start.y,end.y);var bottom=Math.max(start.y,end.y);var left=Math.min(start.x,end.x);var right=Math.max(start.x,end.x);result=new OpenLayers.Bounds(left,bottom,right,top);}else{result=this.dragHandler.start.clone();} -this.removeBox();this.callback("done",[result]);},removeBox:function(){this.map.viewPortDiv.removeChild(this.zoomBox);this.zoomBox=null;this.boxOffsets=null;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDrawBox");},activate:function(){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.dragHandler.activate();return true;}else{return false;}},deactivate:function(){if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){if(this.dragHandler.deactivate()){if(this.zoomBox){this.removeBox();}} -return true;}else{return false;}},getBoxOffsets:function(){if(!this.boxOffsets){var testDiv=document.createElement("div");testDiv.style.position="absolute";testDiv.style.border="1px solid black";testDiv.style.width="3px";document.body.appendChild(testDiv);var w3cBoxModel=testDiv.clientWidth==3;document.body.removeChild(testDiv);var left=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-left-width"));var right=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-right-width"));var top=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-top-width"));var bottom=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-bottom-width"));this.boxOffsets={left:left,right:right,top:top,bottom:bottom,width:w3cBoxModel===false?left+right:0,height:w3cBoxModel===false?top+bottom:0};} -return this.boxOffsets;},CLASS_NAME:"OpenLayers.Handler.Box"});OpenLayers.Handler.Pinch=OpenLayers.Class(OpenLayers.Handler,{started:false,stopDown:false,pinching:false,last:null,start:null,touchstart:function(evt){var propagate=true;this.pinching=false;if(OpenLayers.Event.isMultiTouch(evt)){this.started=true;this.last=this.start={distance:this.getDistance(evt.touches),delta:0,scale:1};this.callback("start",[evt,this.start]);propagate=!this.stopDown;}else if(this.started){return false;}else{this.started=false;this.start=null;this.last=null;} -OpenLayers.Event.preventDefault(evt);return propagate;},touchmove:function(evt){if(this.started&&OpenLayers.Event.isMultiTouch(evt)){this.pinching=true;var current=this.getPinchData(evt);this.callback("move",[evt,current]);this.last=current;OpenLayers.Event.stop(evt);}else if(this.started){return false;} -return true;},touchend:function(evt){if(this.started&&!OpenLayers.Event.isMultiTouch(evt)){this.started=false;this.pinching=false;this.callback("done",[evt,this.start,this.last]);this.start=null;this.last=null;return false;} -return true;},activate:function(){var activated=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.pinching=false;activated=true;} -return activated;},deactivate:function(){var deactivated=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.started=false;this.pinching=false;this.start=null;this.last=null;deactivated=true;} -return deactivated;},getDistance:function(touches){var t0=touches[0];var t1=touches[1];return Math.sqrt(Math.pow(t0.olClientX-t1.olClientX,2)+ -Math.pow(t0.olClientY-t1.olClientY,2));},getPinchData:function(evt){var distance=this.getDistance(evt.touches);var scale=distance/this.start.distance;return{distance:distance,delta:this.last.distance-distance,scale:scale};},CLASS_NAME:"OpenLayers.Handler.Pinch"});OpenLayers.Handler.Point=OpenLayers.Class(OpenLayers.Handler,{point:null,layer:null,multi:false,citeCompliant:false,mouseDown:false,stoppedDown:null,lastDown:null,lastUp:null,persist:false,stopDown:false,stopUp:false,layerOptions:null,pixelTolerance:5,lastTouchPx:null,initialize:function(control,callbacks,options){if(!(options&&options.layerOptions&&options.layerOptions.styleMap)){this.style=OpenLayers.Util.extend(OpenLayers.Feature.Vector.style['default'],{});} -OpenLayers.Handler.prototype.initialize.apply(this,arguments);},activate:function(){if(!OpenLayers.Handler.prototype.activate.apply(this,arguments)){return false;} -var options=OpenLayers.Util.extend({displayInLayerSwitcher:false,calculateInRange:OpenLayers.Function.True,wrapDateLine:this.citeCompliant},this.layerOptions);this.layer=new OpenLayers.Layer.Vector(this.CLASS_NAME,options);this.map.addLayer(this.layer);return true;},createFeature:function(pixel){var lonlat=this.layer.getLonLatFromViewPortPx(pixel);var geometry=new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat);this.point=new OpenLayers.Feature.Vector(geometry);this.callback("create",[this.point.geometry,this.point]);this.point.geometry.clearBounds();this.layer.addFeatures([this.point],{silent:true});},deactivate:function(){if(!OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){return false;} -this.cancel();if(this.layer.map!=null){this.destroyFeature(true);this.layer.destroy(false);} -this.layer=null;return true;},destroyFeature:function(force){if(this.layer&&(force||!this.persist)){this.layer.destroyFeatures();} -this.point=null;},destroyPersistedFeature:function(){var layer=this.layer;if(layer&&layer.features.length>1){this.layer.features[0].destroy();}},finalize:function(cancel){var key=cancel?"cancel":"done";this.mouseDown=false;this.lastDown=null;this.lastUp=null;this.lastTouchPx=null;this.callback(key,[this.geometryClone()]);this.destroyFeature(cancel);},cancel:function(){this.finalize(true);},click:function(evt){OpenLayers.Event.stop(evt);return false;},dblclick:function(evt){OpenLayers.Event.stop(evt);return false;},modifyFeature:function(pixel){if(!this.point){this.createFeature(pixel);} -var lonlat=this.layer.getLonLatFromViewPortPx(pixel);this.point.geometry.x=lonlat.lon;this.point.geometry.y=lonlat.lat;this.callback("modify",[this.point.geometry,this.point,false]);this.point.geometry.clearBounds();this.drawFeature();},drawFeature:function(){this.layer.drawFeature(this.point,this.style);},getGeometry:function(){var geometry=this.point&&this.point.geometry;if(geometry&&this.multi){geometry=new OpenLayers.Geometry.MultiPoint([geometry]);} -return geometry;},geometryClone:function(){var geom=this.getGeometry();return geom&&geom.clone();},mousedown:function(evt){return this.down(evt);},touchstart:function(evt){this.startTouch();this.lastTouchPx=evt.xy;return this.down(evt);},mousemove:function(evt){return this.move(evt);},touchmove:function(evt){this.lastTouchPx=evt.xy;return this.move(evt);},mouseup:function(evt){return this.up(evt);},touchend:function(evt){evt.xy=this.lastTouchPx;return this.up(evt);},down:function(evt){this.mouseDown=true;this.lastDown=evt.xy;if(!this.touch){this.modifyFeature(evt.xy);} -this.stoppedDown=this.stopDown;return!this.stopDown;},move:function(evt){if(!this.touch&&(!this.mouseDown||this.stoppedDown)){this.modifyFeature(evt.xy);} -return true;},up:function(evt){this.mouseDown=false;this.stoppedDown=this.stopDown;if(!this.checkModifiers(evt)){return true;} -if(this.lastUp&&this.lastUp.equals(evt.xy)){return true;} -if(this.lastDown&&this.passesTolerance(this.lastDown,evt.xy,this.pixelTolerance)){if(this.touch){this.modifyFeature(evt.xy);} -if(this.persist){this.destroyPersistedFeature();} -this.lastUp=evt.xy;this.finalize();return!this.stopUp;}else{return true;}},mouseout:function(evt){if(OpenLayers.Util.mouseLeft(evt,this.map.viewPortDiv)){this.stoppedDown=this.stopDown;this.mouseDown=false;}},passesTolerance:function(pixel1,pixel2,tolerance){var passes=true;if(tolerance!=null&&pixel1&&pixel2){var dist=pixel1.distanceTo(pixel2);if(dist>tolerance){passes=false;}} -return passes;},CLASS_NAME:"OpenLayers.Handler.Point"});OpenLayers.Handler.Path=OpenLayers.Class(OpenLayers.Handler.Point,{line:null,maxVertices:null,doubleTouchTolerance:20,freehand:false,freehandToggle:'shiftKey',timerId:null,redoStack:null,createFeature:function(pixel){var lonlat=this.layer.getLonLatFromViewPortPx(pixel);var geometry=new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat);this.point=new OpenLayers.Feature.Vector(geometry);this.line=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString([this.point.geometry]));this.callback("create",[this.point.geometry,this.getSketch()]);this.point.geometry.clearBounds();this.layer.addFeatures([this.line,this.point],{silent:true});},destroyFeature:function(force){OpenLayers.Handler.Point.prototype.destroyFeature.call(this,force);this.line=null;},destroyPersistedFeature:function(){var layer=this.layer;if(layer&&layer.features.length>2){this.layer.features[0].destroy();}},removePoint:function(){if(this.point){this.layer.removeFeatures([this.point]);}},addPoint:function(pixel){this.layer.removeFeatures([this.point]);var lonlat=this.layer.getLonLatFromViewPortPx(pixel);this.point=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon,lonlat.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(x,y){this.line.geometry.addComponent(new OpenLayers.Geometry.Point(x,y),this.getCurrentPointIndex());this.drawFeature();delete this.redoStack;},insertDeltaXY:function(dx,dy){var previousIndex=this.getCurrentPointIndex()-1;var p0=this.line.geometry.components[previousIndex];if(p0&&!isNaN(p0.x)&&!isNaN(p0.y)){this.insertXY(p0.x+dx,p0.y+dy);}},insertDirectionLength:function(direction,length){direction*=Math.PI/180;var dx=length*Math.cos(direction);var dy=length*Math.sin(direction);this.insertDeltaXY(dx,dy);},insertDeflectionLength:function(deflection,length){var previousIndex=this.getCurrentPointIndex()-1;if(previousIndex>0){var p1=this.line.geometry.components[previousIndex];var p0=this.line.geometry.components[previousIndex-1];var theta=Math.atan2(p1.y-p0.y,p1.x-p0.x);this.insertDirectionLength((theta*180/Math.PI)+deflection,length);}},getCurrentPointIndex:function(){return this.line.geometry.components.length-1;},undo:function(){var geometry=this.line.geometry;var components=geometry.components;var index=this.getCurrentPointIndex()-1;var target=components[index];var undone=geometry.removeComponent(target);if(undone){if(this.touch&&index>0){components=geometry.components;var lastpt=components[index-1];var curptidx=this.getCurrentPointIndex();var curpt=components[curptidx];curpt.x=lastpt.x;curpt.y=lastpt.y;} -if(!this.redoStack){this.redoStack=[];} -this.redoStack.push(target);this.drawFeature();} -return undone;},redo:function(){var target=this.redoStack&&this.redoStack.pop();if(target){this.line.geometry.addComponent(target,this.getCurrentPointIndex());this.drawFeature();} -return!!target;},freehandMode:function(evt){return(this.freehandToggle&&evt[this.freehandToggle])?!this.freehand:this.freehand;},modifyFeature:function(pixel,drawing){if(!this.line){this.createFeature(pixel);} -var lonlat=this.layer.getLonLatFromViewPortPx(pixel);this.point.geometry.x=lonlat.lon;this.point.geometry.y=lonlat.lat;this.callback("modify",[this.point.geometry,this.getSketch(),drawing]);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 geometry=this.line&&this.line.geometry;if(geometry&&this.multi){geometry=new OpenLayers.Geometry.MultiLineString([geometry]);} -return geometry;},touchstart:function(evt){if(this.timerId&&this.passesTolerance(this.lastTouchPx,evt.xy,this.doubleTouchTolerance)){this.finishGeometry();window.clearTimeout(this.timerId);this.timerId=null;return false;}else{if(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,evt);}},down:function(evt){var stopDown=this.stopDown;if(this.freehandMode(evt)){stopDown=true;if(this.touch){this.modifyFeature(evt.xy,!!this.lastUp);OpenLayers.Event.stop(evt);}} -if(!this.touch&&(!this.lastDown||!this.passesTolerance(this.lastDown,evt.xy,this.pixelTolerance))){this.modifyFeature(evt.xy,!!this.lastUp);} -this.mouseDown=true;this.lastDown=evt.xy;this.stoppedDown=stopDown;return!stopDown;},move:function(evt){if(this.stoppedDown&&this.freehandMode(evt)){if(this.persist){this.destroyPersistedFeature();} -if(this.maxVertices&&this.line&&this.line.geometry.components.length===this.maxVertices){this.removePoint();this.finalize();}else{this.addPoint(evt.xy);} -return false;} -if(!this.touch&&(!this.mouseDown||this.stoppedDown)){this.modifyFeature(evt.xy,!!this.lastUp);} -return true;},up:function(evt){if(this.mouseDown&&(!this.lastUp||!this.lastUp.equals(evt.xy))){if(this.stoppedDown&&this.freehandMode(evt)){if(this.persist){this.destroyPersistedFeature();} -this.removePoint();this.finalize();}else{if(this.passesTolerance(this.lastDown,evt.xy,this.pixelTolerance)){if(this.touch){this.modifyFeature(evt.xy);} -if(this.lastUp==null&&this.persist){this.destroyPersistedFeature();} -this.addPoint(evt.xy);this.lastUp=evt.xy;if(this.line.geometry.components.length===this.maxVertices+1){this.finishGeometry();}}}} -this.stoppedDown=this.stopDown;this.mouseDown=false;return!this.stopUp;},finishGeometry:function(){var index=this.line.geometry.components.length-1;this.line.geometry.removeComponent(this.line.geometry.components[index]);this.removePoint();this.finalize();},dblclick:function(evt){if(!this.freehandMode(evt)){this.finishGeometry();} -return false;},CLASS_NAME:"OpenLayers.Handler.Path"});OpenLayers.Handler.Polygon=OpenLayers.Class(OpenLayers.Handler.Path,{holeModifier:null,drawingHole:false,polygon:null,createFeature:function(pixel){var lonlat=this.layer.getLonLatFromViewPortPx(pixel);var geometry=new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat);this.point=new OpenLayers.Feature.Vector(geometry);this.line=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LinearRing([this.point.geometry]));this.polygon=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon([this.line.geometry]));this.callback("create",[this.point.geometry,this.getSketch()]);this.point.geometry.clearBounds();this.layer.addFeatures([this.polygon,this.point],{silent:true});},addPoint:function(pixel){if(!this.drawingHole&&this.holeModifier&&this.evt&&this.evt[this.holeModifier]){var geometry=this.point.geometry;var features=this.control.layer.features;var candidate,polygon;for(var i=features.length-1;i>=0;--i){candidate=features[i].geometry;if((candidate instanceof OpenLayers.Geometry.Polygon||candidate instanceof OpenLayers.Geometry.MultiPolygon)&&candidate.intersects(geometry)){polygon=features[i];this.control.layer.removeFeatures([polygon],{silent:true});this.control.layer.events.registerPriority("sketchcomplete",this,this.finalizeInteriorRing);this.control.layer.events.registerPriority("sketchmodified",this,this.enforceTopology);polygon.geometry.addComponent(this.line.geometry);this.polygon=polygon;this.drawingHole=true;break;}}} -OpenLayers.Handler.Path.prototype.addPoint.apply(this,arguments);},getCurrentPointIndex:function(){return this.line.geometry.components.length-2;},enforceTopology:function(event){var point=event.vertex;var components=this.line.geometry.components;if(!this.polygon.geometry.intersects(point)){var last=components[components.length-3];point.x=last.x;point.y=last.y;}},finishGeometry:function(){var index=this.line.geometry.components.length-2;this.line.geometry.removeComponent(this.line.geometry.components[index]);this.removePoint();this.finalize();},finalizeInteriorRing:function(){var ring=this.line.geometry;var modified=(ring.getArea()!==0);if(modified){var rings=this.polygon.geometry.components;for(var i=rings.length-2;i>=0;--i){if(ring.intersects(rings[i])){modified=false;break;}} -if(modified){var target;outer:for(var i=rings.length-2;i>0;--i){var points=rings[i].components;for(var j=0,jj=points.length;j=this.down.xy.distanceTo(evt.xy);if(passes&&this.touch&&this.down.touches.length===this.last.touches.length){for(var i=0,ii=this.down.touches.length;ithis.pixelTolerance){passes=false;break;}}}} -return passes;},getTouchDistance:function(from,to){return Math.sqrt(Math.pow(from.clientX-to.clientX,2)+ -Math.pow(from.clientY-to.clientY,2));},passesDblclickTolerance:function(evt){var passes=true;if(this.down&&this.first){passes=this.down.xy.distanceTo(this.first.xy)<=this.dblclickTolerance;} -return passes;},clearTimer:function(){if(this.timerId!=null){window.clearTimeout(this.timerId);this.timerId=null;} -if(this.rightclickTimerId!=null){window.clearTimeout(this.rightclickTimerId);this.rightclickTimerId=null;}},delayedCall:function(evt){this.timerId=null;if(evt){this.callback("click",[evt]);}},getEventInfo:function(evt){var touches;if(evt.touches){var len=evt.touches.length;touches=new Array(len);var touch;for(var i=0;i-1;},handle:function(evt){if(this.feature&&!this.feature.layer){this.feature=null;} -var type=evt.type;var handled=false;var previouslyIn=!!(this.feature);var click=(type=="click"||type=="dblclick"||type=="touchstart");this.feature=this.layer.getFeatureFromEvent(evt);if(this.feature&&!this.feature.layer){this.feature=null;} -if(this.lastFeature&&!this.lastFeature.layer){this.lastFeature=null;} -if(this.feature){if(type==="touchstart"){OpenLayers.Event.preventDefault(evt);} -var inNew=(this.feature!=this.lastFeature);if(this.geometryTypeMatches(this.feature)){if(previouslyIn&&inNew){if(this.lastFeature){this.triggerCallback(type,'out',[this.lastFeature]);} -this.triggerCallback(type,'in',[this.feature]);}else if(!previouslyIn||click){this.triggerCallback(type,'in',[this.feature]);} -this.lastFeature=this.feature;handled=true;}else{if(this.lastFeature&&(previouslyIn&&inNew||click)){this.triggerCallback(type,'out',[this.lastFeature]);} -this.feature=null;}}else if(this.lastFeature&&(previouslyIn||click)){this.triggerCallback(type,'out',[this.lastFeature]);} -return handled;},triggerCallback:function(type,mode,args){var key=this.EVENTMAP[type][mode];if(key){if(type=='click'&&this.up&&this.down){var dpx=Math.sqrt(Math.pow(this.up.x-this.down.x,2)+ -Math.pow(this.up.y-this.down.y,2));if(dpx<=this.clickTolerance){this.callback(key,args);} -this.up=this.down=null;}else{this.callback(key,args);}}},activate:function(){var activated=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.moveLayerToTop();this.map.events.on({"removelayer":this.handleMapEvents,"changelayer":this.handleMapEvents,scope:this});activated=true;} -return activated;},deactivate:function(){var deactivated=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.moveLayerBack();this.feature=null;this.lastFeature=null;this.down=null;this.up=null;this.map.events.un({"removelayer":this.handleMapEvents,"changelayer":this.handleMapEvents,scope:this});deactivated=true;} -return deactivated;},handleMapEvents:function(evt){if(evt.type=="removelayer"||evt.property=="order"){this.moveLayerToTop();}},moveLayerToTop:function(){var index=Math.max(this.map.Z_INDEX_BASE['Feature']-1,this.layer.getZIndex())+1;this.layer.setZIndex(index);},moveLayerBack:function(){var index=this.layer.getZIndex()-1;if(index>=this.map.Z_INDEX_BASE['Feature']){this.layer.setZIndex(index);}else{this.map.setLayerZIndex(this.layer,this.map.getLayerIndex(this.layer));}},CLASS_NAME:"OpenLayers.Handler.Feature"});OpenLayers.Popup.Anchored=OpenLayers.Class(OpenLayers.Popup,{relativePosition:null,keepInMap:true,anchor:null,initialize:function(id,lonlat,contentSize,contentHTML,anchor,closeBox,closeBoxCallback){var newArguments=[id,lonlat,contentSize,contentHTML,closeBox,closeBoxCallback];OpenLayers.Popup.prototype.initialize.apply(this,newArguments);this.anchor=(anchor!=null)?anchor:{size:new OpenLayers.Size(0,0),offset:new OpenLayers.Pixel(0,0)};},destroy:function(){this.anchor=null;this.relativePosition=null;OpenLayers.Popup.prototype.destroy.apply(this,arguments);},show:function(){this.updatePosition();OpenLayers.Popup.prototype.show.apply(this,arguments);},moveTo:function(px){var oldRelativePosition=this.relativePosition;this.relativePosition=this.calculateRelativePosition(px);OpenLayers.Popup.prototype.moveTo.call(this,this.calculateNewPx(px));if(this.relativePosition!=oldRelativePosition){this.updateRelativePosition();}},setSize:function(contentSize){OpenLayers.Popup.prototype.setSize.apply(this,arguments);if((this.lonlat)&&(this.map)){var px=this.map.getLayerPxFromLonLat(this.lonlat);this.moveTo(px);}},calculateRelativePosition:function(px){var lonlat=this.map.getLonLatFromLayerPx(px);var extent=this.map.getExtent();var quadrant=extent.determineQuadrant(lonlat);return OpenLayers.Bounds.oppositeQuadrant(quadrant);},updateRelativePosition:function(){},calculateNewPx:function(px){var newPx=px.offset(this.anchor.offset);var size=this.size||this.contentSize;var top=(this.relativePosition.charAt(0)=='t');newPx.y+=(top)?-size.h:this.anchor.size.h;var left=(this.relativePosition.charAt(1)=='l');newPx.x+=(left)?-size.w:this.anchor.size.w;return newPx;},CLASS_NAME:"OpenLayers.Popup.Anchored"});OpenLayers.Popup.Framed=OpenLayers.Class(OpenLayers.Popup.Anchored,{imageSrc:null,imageSize:null,isAlphaImage:false,positionBlocks:null,blocks:null,fixedRelativePosition:false,initialize:function(id,lonlat,contentSize,contentHTML,anchor,closeBox,closeBoxCallback){OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments);if(this.fixedRelativePosition){this.updateRelativePosition();this.calculateRelativePosition=function(px){return this.relativePosition;};} -this.contentDiv.style.position="absolute";this.contentDiv.style.zIndex=1;if(closeBox){this.closeDiv.style.zIndex=1;} -this.groupDiv.style.position="absolute";this.groupDiv.style.top="0px";this.groupDiv.style.left="0px";this.groupDiv.style.height="100%";this.groupDiv.style.width="100%";},destroy:function(){this.imageSrc=null;this.imageSize=null;this.isAlphaImage=null;this.fixedRelativePosition=false;this.positionBlocks=null;for(var i=0;i=0;--i){target.extensions[this.provides[i]]=true;}},setMap:function(map){this.map=map;this.cache={};map.events.register("mousedown",this,this.start,{extension:true});map.events.register("mouseup",this,this.onClick,{extension:true});map.events.register("touchstart",this,this.start,{extension:true});map.events.register("touchmove",this,this.cancel,{extension:true});map.events.register("touchend",this,this.onClick,{extension:true});map.events.register("mousemove",this,this.onMousemove,{extension:true});},start:function(evt){this.startEvt=evt;},cancel:function(evt){delete this.startEvt;},onClick:function(evt){if(!this.startEvt||evt.type!=="touchend"&&!OpenLayers.Event.isLeftClick(evt)){return;} -var features=this.getFeatures(this.startEvt);delete this.startEvt;var feature,layer,more,clicked={};for(var i=0,len=features.length;i=0;--i){layer=this.map.layers[i];renderer=layer.renderer;if(layer.div.style.display!=="none"){if(renderer instanceof OpenLayers.Renderer.Elements){if(layer instanceof OpenLayers.Layer.Vector){target=document.elementFromPoint(x,y);while(target&&(featureId=renderer.getFeatureIdFromEvent({target:target}))){feature=layer.getFeatureById(featureId);if(feature){features.push(feature);target.style.display="none";targets.push(target);target=document.elementFromPoint(x,y);}else{target=false;}}} -layers.push(layer);layer.div.style.display="none";}else if(renderer instanceof OpenLayers.Renderer.Canvas){feature=renderer.getFeatureIdFromEvent(evt);if(feature){features.push(feature);layers.push(layer);}}}} -for(i=0,len=targets.length;i=0;--i){layers[i].div.style.display="block";} -return features;},destroy:function(){for(var i=this.provides.length-1;i>=0;--i){delete this.target.extensions[this.provides[i]];} -this.map.events.un({mousemove:this.onMousemove,mousedown:this.start,mouseup:this.onClick,touchstart:this.start,touchmove:this.cancel,touchend:this.onClick,scope:this});delete this.cache;delete this.map;delete this.target;}});OpenLayers.Events.nofeatureclick=OpenLayers.Events.featureclick;OpenLayers.Events.featureover=OpenLayers.Events.featureclick;OpenLayers.Events.featureout=OpenLayers.Events.featureclick;OpenLayers.Events.buttonclick=OpenLayers.Class({target:null,events:['mousedown','mouseup','click','dblclick','touchstart','touchmove','touchend','keydown'],startRegEx:/^mousedown|touchstart$/,cancelRegEx:/^touchmove$/,completeRegEx:/^mouseup|touchend$/,isDeviceTouchCapable:'ontouchstart'in window||window.DocumentTouch&&document instanceof window.DocumentTouch,initialize:function(target){this.target=target;for(var i=this.events.length-1;i>=0;--i){this.target.register(this.events[i],this,this.buttonClick,{extension:true});}},destroy:function(){for(var i=this.events.length-1;i>=0;--i){this.target.unregister(this.events[i],this,this.buttonClick);} -delete this.target;},getPressedButton:function(element){var depth=3,button;do{if(OpenLayers.Element.hasClass(element,"olButton")){button=element;break;} -element=element.parentNode;}while(--depth>0&&element);return button;},ignore:function(element){var depth=3,ignore=false;do{if(element.nodeName.toLowerCase()==='a'){ignore=true;break;} -element=element.parentNode;}while(--depth>0&&element);return ignore;},buttonClick:function(evt){var propagate=true,element=OpenLayers.Event.element(evt);if(element&&(OpenLayers.Event.isLeftClick(evt)&&!this.isDeviceTouchCapable||!~evt.type.indexOf("mouse"))){var button=this.getPressedButton(element);if(button){if(evt.type==="keydown"){switch(evt.keyCode){case OpenLayers.Event.KEY_RETURN:case OpenLayers.Event.KEY_SPACE:this.target.triggerEvent("buttonclick",{buttonElement:button});OpenLayers.Event.stop(evt);propagate=false;break;}}else if(this.startEvt){if(this.completeRegEx.test(evt.type)){var pos=OpenLayers.Util.pagePosition(button);var viewportElement=OpenLayers.Util.getViewportElement();var scrollTop=window.pageYOffset||viewportElement.scrollTop;var scrollLeft=window.pageXOffset||viewportElement.scrollLeft;pos[0]=pos[0]-scrollLeft;pos[1]=pos[1]-scrollTop;this.target.triggerEvent("buttonclick",{buttonElement:button,buttonXY:{x:this.startEvt.clientX-pos[0],y:this.startEvt.clientY-pos[1]}});} -if(this.cancelRegEx.test(evt.type)){if(evt.touches&&this.startEvt.touches&&(Math.abs(evt.touches[0].olClientX-this.startEvt.touches[0].olClientX)>4||Math.abs(evt.touches[0].olClientY-this.startEvt.touches[0].olClientY))>4){delete this.startEvt;}} -OpenLayers.Event.stop(evt);propagate=false;} -if(this.startRegEx.test(evt.type)){this.startEvt=evt;OpenLayers.Event.stop(evt);propagate=false;}}else{propagate=!this.ignore(OpenLayers.Event.element(evt));delete this.startEvt;}} -return propagate;}});OpenLayers.Tile.UTFGrid=OpenLayers.Class(OpenLayers.Tile,{url:null,utfgridResolution:2,json:null,format:null,destroy:function(){this.clear();OpenLayers.Tile.prototype.destroy.apply(this,arguments);},draw:function(){var drawn=OpenLayers.Tile.prototype.draw.apply(this,arguments);if(drawn){if(this.isLoading){this.abortLoading();this.events.triggerEvent("reload");}else{this.isLoading=true;this.events.triggerEvent("loadstart");} -this.url=this.layer.getURL(this.bounds);if(this.layer.useJSONP){var ols=new OpenLayers.Protocol.Script({url:this.url,callback:function(response){this.isLoading=false;this.events.triggerEvent("loadend");this.json=response.data;},scope:this});ols.read();this.request=ols;}else{this.request=OpenLayers.Request.GET({url:this.url,callback:function(response){this.isLoading=false;this.events.triggerEvent("loadend");if(response.status===200){this.parseData(response.responseText);}},scope:this});}}else{this.unload();} -return drawn;},abortLoading:function(){if(this.request){this.request.abort();delete this.request;} -this.isLoading=false;},getFeatureInfo:function(i,j){var info=null;if(this.json){var id=this.getFeatureId(i,j);if(id!==null){info={id:id,data:this.json.data[id]};}} -return info;},getFeatureId:function(i,j){var id=null;if(this.json){var resolution=this.utfgridResolution;var row=Math.floor(j/resolution);var col=Math.floor(i/resolution);var charCode=this.json.grid[row].charCodeAt(col);var index=this.indexFromCharCode(charCode);var keys=this.json.keys;if(!isNaN(index)&&(index in keys)){id=keys[index];}} -return id;},indexFromCharCode:function(charCode){if(charCode>=93){charCode--;} -if(charCode>=35){charCode--;} -return charCode-32;},parseData:function(str){if(!this.format){this.format=new OpenLayers.Format.JSON();} -this.json=this.format.read(str);},clear:function(){this.json=null;},CLASS_NAME:"OpenLayers.Tile.UTFGrid"});OpenLayers.Tile.Image.IFrame={useIFrame:null,blankImageUrl:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAQAIBRAA7",draw:function(){var draw=OpenLayers.Tile.Image.prototype.shouldDraw.call(this);if(draw){var url=this.layer.getURL(this.bounds);var usedIFrame=this.useIFrame;this.useIFrame=this.maxGetUrlLength!==null&&!this.layer.async&&url.length>this.maxGetUrlLength;var fromIFrame=usedIFrame&&!this.useIFrame;var toIFrame=!usedIFrame&&this.useIFrame;if(fromIFrame||toIFrame){if(this.imgDiv&&this.imgDiv.parentNode===this.frame){this.frame.removeChild(this.imgDiv);} -this.imgDiv=null;if(fromIFrame){this.frame.removeChild(this.frame.firstChild);}}} -return OpenLayers.Tile.Image.prototype.draw.apply(this,arguments);},getImage:function(){if(this.useIFrame===true){if(!this.frame.childNodes.length){var eventPane=document.createElement("div"),style=eventPane.style;style.position="absolute";style.width="100%";style.height="100%";style.zIndex=1;style.backgroundImage="url("+this.blankImageUrl+")";this.frame.appendChild(eventPane);} -var id=this.id+'_iFrame',iframe;if(parseFloat(navigator.appVersion.split("MSIE")[1])<9){iframe=document.createElement(''; - this.infoWin = new Ext.Window (conf); - this.infoWin.show(); - - } -}); - -/** api: xtype = hr_mappanel */ -Ext.reg('gc_mappanel', GisClient.MapPanel); diff --git a/ext-resources/jslib/gcOloverride.js b/ext-resources/jslib/gcOloverride.js deleted file mode 100755 index 379939e..0000000 --- a/ext-resources/jslib/gcOloverride.js +++ /dev/null @@ -1,103 +0,0 @@ -OpenLayers.Protocol.HTTP.prototype.create = function(features, options) { - options = OpenLayers.Util.applyDefaults(options, this.options); - - var resp = new OpenLayers.Protocol.Response({ - reqFeatures: features, - requestType: "create" - }); - - var params = options.params; - params.features = this.format.write(features) - - resp.priv = OpenLayers.Request.POST({ - url: options.url, - callback: this.createCallback(this.handleCreate, resp, options), - headers: options.headers, - data:OpenLayers.Util.getParameterString(options.params), - headers: {"Content-Type": "application/x-www-form-urlencoded"} - }); - return resp; - }; - - OpenLayers.Strategy.Save.prototype.save = function(features) { - if(!features) { - features = this.layer.features; - } - this.events.triggerEvent("start", {features:features}); - - - //Possiamo evitare la riproiezione - - /* - var remote = this.layer.projection; - var local = this.layer.map.getProjectionObject(); - if(!local.equals(remote)) { - var len = features.length; - var clones = new Array(len); - var orig, clone; - for(var i=0; i - */ -OpenLayers.Control.GisClientSLDSelect = OpenLayers.Class(OpenLayers.Control.SLDSelect, { - - /** - * Constant: EVENT_TYPES - * {Array(String)} Supported application event types. Register a listener - * for a particular event with the following syntax: - * (code) - * control.events.register(type, obj, listener); - * (end) - * - * Listeners will be called with a reference to an event object. The - * properties of this event depends on exactly what happened. - * - * Supported control event types (in addition to those from - * ): - * selected - Triggered when a selection occurs. Listeners receive an - * event with *filters* and *layer* properties. Filters will be an - * array of OpenLayers.Filter objects created in order to perform - * the particular selection. - */ - - /** - * dumpSldUrl - url per il dump di sld - */ - //TODO : PROBLEMA PATH - dumpSldUrl : '/gisclient/services/dumpsld.php', - - - /** - * maxSldLength - lunghezza max sld da passare il get - */ - maxSldLength : 20, - - /** - {Boolean} select only visible layers? - * visibleLayers - */ - visibleLayers: true, - - /** - {Boolean} select only in range layers? - * inRangeLayers - */ - inRangeLayers: true, - - /** - {Boolean} highlight result? - * highLight - */ - highLight: false, - - - /** - {String} Current typename for query - * queryFeatureType - */ - queryFeatureType: null, - - /** - * queryFilters - {Object} hash table of non spatial filters queryFilters[typename] - */ - queryFilters : {}, - - selectionSymbolizer: { - 'Polygon': {strokeColor: '#FFFF00',fillColor:'#FF0000'}, - 'Line': {strokeColor: '#FFFF00', strokeWidth: 2}, - 'Point': {fill:false, graphicName: 'circle', strokeColor: '#FFFF00', pointRadius: 3} - }, - - autoDeactivate: false, - - - - - //CREA UN UNICO LIVELLO PER LA SELEZIONE BASATO SU PROJECT E MAP DI UNO DEI LIVELLI INTERROGATI (DA VEDERE) - createSelectionLayer: function(key) { - // check if we already have a selection layer for the source layer - var selectionLayer; - if (!this.layerCache[key]) { - selectionLayer = new OpenLayers.Layer.WMS('Oggetti evidenziati', - this.selection[key].url, - OpenLayers.Util.applyDefaults({HIGHLIGHT:1},this.selection[key].params), - OpenLayers.Util.applyDefaults(this.layerOptions,{singleTile:true}) - ); - selectionLayer.displayInLayerSwitcher = true;//??????? - - this.layerCache[key] = selectionLayer; - this.map.addLayer(selectionLayer); - } else { - selectionLayer = this.layerCache[key]; - } - return selectionLayer; - }, - - - - /** - * Method: createSLD - * Create the SLD document for the layer using the supplied filters. - * - * Parameters: - * layer - {} - * filters - Array({}) The filters to be applied. - * geometryAttributes - Array({Object}) The geometry attributes of the - * layer. - * - * Returns: - * {String} The SLD document generated as a string. - */ - createSLD: function(layer, filters, geometryAttributes) { - var layerNames = [] - var sld = {version: "1.0.0", namedLayers: {}}; - for (var i=0, len=geometryAttributes.length; i= 0) { - symbolizer = {Polygon: this.selectionSymbolizer['Polygon']}; - } else if (geometryAttribute.type.indexOf('LineString') >= 0) { - symbolizer = {Line: this.selectionSymbolizer['Line']}; - } else if (geometryAttribute.type.indexOf('Point') >= 0) { - symbolizer = {Point: this.selectionSymbolizer['Point']}; - } - } - - var filter = filters[i]; - - sld.namedLayers[name].userStyles.push({name: 'default', rules: [ - new OpenLayers.Rule({symbolizer: symbolizer, - filter: filter, - maxScaleDenominator: layer.options.minScale}) - ]}); - - } - - //SOSTITUISCO A LAYERS L'ELENCO layerNames per avere il match con sld - layer.params.LAYERS = layerNames; - return new OpenLayers.Format.SLD().write(sld); - }, - - /** - * Method: parseDescribeLayer - * Parse the SLD WMS DescribeLayer response and issue the corresponding - * WFS DescribeFeatureType request - * - * request - {XMLHttpRequest} The request object. - */ - parseDescribeLayer: function(request) { - var format = new OpenLayers.Format.WMSDescribeLayer(); - var doc = request.responseXML; - if(!doc || !doc.documentElement) { - doc = request.responseText; - } - var describeLayer = format.read(doc); - var typeNames = []; - var url = null; - for (var i=0, len=describeLayer.length; i} - */ - select: function(geometry) { - this._queue = function() { - var layer, cache, geometryAttribute, filterId, params; - var selection = {}; - this.nquery=0; - this.nresponse=0; - for(var i=0, leni=this.layers.length; i= 0) || - (type.indexOf('GeometryAssociationType') >=0) || - (type.indexOf('GeometryPropertyType') >= 0) || - (type.indexOf('Point') >= 0) || - (type.indexOf('Polygon') >= 0) ) { - geometryAttribute = property; - } - } - } - if (geometryAttribute) { - - //##################### MODIFICA PER AUMENTARE IL BUFFER IN CASO DI SELEZIONE PUNTO ####################### - /* - if(this.handler.start==this.handler.last){ - var ll = this.map.getLonLatFromPixel(this.handler.start); - var bounds = new OpenLayers.Bounds(); - var buffer = this.map.getExtent().getWidth()*0.01; - bounds.extend(new OpenLayers.LonLat(ll.lon-buffer,ll.lat-buffer)); - bounds.extend(new OpenLayers.LonLat(ll.lon+buffer,ll.lat+buffer)); - geometry = bounds.toGeometry(); - } - */ - //##################### ####################### - - // from the click handler we will not get an actual - // geometry so transform - if (!(geometry instanceof OpenLayers.Geometry)) { - var point = this.map.getLonLatFromPixel( - geometry.xy); - geometry = new OpenLayers.Geometry.Point( - point.lon, point.lat); - } - - //######## faccio sempre una selezione spaziale anche quando faccio una ricerca !!!! quindi ho sempre un filtro spaziale - //##### infatti quando uso select come query passo una tra le opzioni estensione completa, estensione corrente, selezione corrente, oggetto selezionato come in gc 2 - var filter = this.createFilter(geometryAttribute, geometry); - if (filter !== null) { - if(this.queryFilters[featureType.typeName]){ - filter = new OpenLayers.Filter.Logical({ - type: OpenLayers.Filter.Logical.AND, - filters: [ - filter, - this.queryFilters[featureType.typeName] - ] - }) - } - } - else if(this.queryFilters[featureType.typeName]){ - filter = this.queryFilters[featureType.typeName]; - } - selection[filterId]["Filters"].push(filter); - geometryAttribute.typeName = featureType.typeName; - if(featureType.symbolizer) geometryAttribute.symbolizer = featureType.symbolizer; - selection[filterId]["geometryAttributes"].push(geometryAttribute); - //this.getFeatures(layer,featureType,filter);//query wfs - - this.events.triggerEvent("selected",{layer:layer,featureType:featureType,filter:filter}) - - } - } - } - - //delete this._queue; - } - - if(this.highLight) { //SOLO SE VOGLIO ANCHE GLI OGGETTI SELEZIONATI - //PER OGNI MAPPA(PROGETTO O LAYER INDIP) CREO IL LAYER DI SELEZIONE (SE HO SOLO LAYER DI 1 PROGETTO HO 1 SOLO LAYER DI SELEZIONE - for(filterId in selection){ - var selectionLayer = this.createSelectionLayer(filterId); - var sld = this.createSLD(selectionLayer, selection[filterId]["Filters"], selection[filterId]["geometryAttributes"]); - - //VEDO SE PASSARE IL POST O IN GET - //VEDERE selectionLayer.tileOptions - - if(sld.length < this.maxSldLength) - selectionLayer.mergeNewParams({SLD_BODY:sld}); - else - var request = OpenLayers.Request.POST({ - url: this.dumpSldUrl, - data: sld, - callback: function(response){ - selectionLayer.mergeNewParams({SLD: response.responseText}); - } - }); - } - }; - //this.events.triggerEvent("selected",{start:true}); - delete selection; - //tengo in memoria la funzione per poterla eseguire se va in buca - delete this._queue; - - }; - - this.applySelection(); - }, - - - applySelection: function() { - var canApply = (this.layers.length >0); - /* - for (var i=0, len=this.layers.length; i1 - var aFeatures = [[null,' --- ',false,null]]; - //console.log(selectControl); - for(i=0;i= 0) || - (type.indexOf('GeometryAssociationType') >=0) || - (type.indexOf('GeometryPropertyType') >= 0) || - (type.indexOf('Point') >= 0) || - (type.indexOf('Polygon') >= 0) ) { - geometryAttribute = property; - } - } - aFeatures.push([cache.typeName,(cache.title?cache.title:cache.typeName),cache.editable?true:false,selectControl.layers[i],geometryAttribute]); - } - } - - - //TODO SISTEMARE L'OGGETTO E RENDERE USABILE SU JQUERY - Ext.getCmp('featuresList').getStore().loadData(aFeatures); - Ext.getCmp('featuresList').setValue(''); - OpenLayers.Control.SLDSelect.prototype.currentFeature = null; - } - - var InfoContinua = function(){ - if(!AUTOINFO) return; - - //DA FEATURE CORRENTE DA SELEZIONARE NELLA COMBO DOVE TROVIAMO L'ELENCO DELLE FEATURE INTERROGABILI PER I WMS SETTATI NELL'ALBERO - var typeName = Ext.getCmp('featuresList').getValue(); - var rec = Ext.getCmp('featuresList').store.getById(typeName); - //if(!rec.editable) return; - var title = rec.get('title'); - var layer = rec.get('layer'); - - var options = { - url: layer.url, - params: { - PROJECT:layer.params.PROJECT, - MAP:layer.params.MAP, - SERVICE: "WFS", - MAXFEATURES:100, - TYPENAME: typeName, - SRS:layer.params.SRS, - REQUEST: "GetFeature", - VERSION: "1.0.0", - BBOX:map.getExtent().toBBOX() - - }, - callback: function(response) { - var doc = response.responseXML; - if (!doc || !doc.documentElement) { - doc = response.responseText; - } - var format = new OpenLayers.Format.GML(); - var resp=format.read(doc); - if(resp.length>0){ - gcFeatureInfo({ - layer: layer, - typeName:typeName, - features:resp - }); - } - }, - scope: this - }; - OpenLayers.Request.GET(options); - - }; - - -// Globale, per memorizzare la finestra del Query Panel, in questo modo -// può venire creata la prima volta e riutilizzata in seguito. -var qpwin = null; - function featureTools(){ - - //CI METTO ANCHE QUERYPANEL!!!!! - - var featureCombo = new Ext.form.ComboBox({ - - - name: "currentFeature", - fieldLabel: 'Elementi:', - id:"featuresList", - //hiddenName: 'typeName', - - store: new Ext.data.ArrayStore({ - // store configs - autoDestroy: true, - storeId: 'myStore', - // reader configs - idIndex: 0, - fields: ['name','title','editable','layer','geometrytype'] - }), - - //value: layerStore.getAt(5).get("name"), - displayField: "title", - valueField: "name", - // - typeAhead: true, - triggerAction: 'all', - lazyRender:true, - mode: "local", - width:250, - //tpl: featureListTpl, - //itemSelector: 'div.search-item', - allowBlank: true, - editable: false, - //triggerAction: "all", - listeners: { - /* - beforeselect: function(combo, record, index) { - return this.fireEvent("beforelayerchange", this, record); - }, - */ - select: function(combo, record, index) { - //console.log(combo.getValue()); - OpenLayers.Control.SLDSelect.prototype.currentFeature = combo.getValue(); - if(record.get('editable')) - Ext.getCmp("toolPanel").getBottomToolbar().add(EditToolbar(map,resultVectLayer,record.get('geometrytype'))); - else - Ext.getCmp("toolPanel").getBottomToolbar().removeAll(); - Ext.getCmp("toolPanel").syncSize(); - - }, - - expand:setListWidth - } - - - - }); - - /* - - // Funzionerebbe anche in lazy loading ma qui serve un'istanza per collegarla - // al pulsante "Query" della finestra ... - var queryPanel = new GisClient.QueryPanel({ - map: map, - remoteValueStoreURL: './values.php' // Cambiare il default in gcQueryPanel.js - ,title: 'Filters' - }); - - // ... e per aggiornare l'elenco campi se cambia il valore in featureCombo - featureCombo.on('change', function(combo){ - queryPanel.createFilterBuilder(combo.getValue()); - }); - - */ - - //var toolbar = new Ext.Toolbar({ - var items =['Elementi: ', - featureCombo, - { - text: 'Auto', - iconCls: 'edit-feature', - toggleGroup: 'select', - handler: function(){ - AUTOINFO = this.pressed; - //console.log(featureTypes); - } - }, - { - text: 'Query', - iconCls: 'edit-feature', - handler: function(){ - if(featureCombo.getValue()){ - if (!qpwin) { - qpwin = new Ext.Window({ - layout:'fit' - ,width:400 - ,id:'qp-win' - ,height:400 - ,bodyStyle: "padding: 10px" - ,autoScroll:true - ,closeAction:'hide' - ,title: 'Query' - ,items: [{ - xtype: 'tabpanel', - activeTab: 0, // index or id - items: [ - //queryPanel, - { - title: 'Style', - id: 'style_tab', - bodyStyle: "padding: 10px", - items : [ - { 'xtype': 'gxp_fillsymbolizer', 'colorManager': Styler.ColorManager, 'id' : 'fill_style'}, - { 'xtype': 'gxp_strokesymbolizer', 'colorManager': Styler.ColorManager, 'id' : 'stroke_style'}, - ] - } - ] - }] - ,bbar: ["->", { - text: "Query", - handler: function() { - var gc_id = featureCombo.getStore().getAt(featureCombo.selectedIndex).data.layer.gc_id; - var featureType = featureCombo.getValue(); - var spatialFilter = queryPanel.getSpatialFilter() ? queryPanel.getSpatialFilter().value : map.maxExtent; - if(typeof(console)!="undefined"){ - console.log(queryPanel.getAttributeFilters()); - console.log(spatialFilter); - // Queste due righe causano un errore se il tab non è stato mai mostrato (rendered) - //console.log(Ext.getCmp('fill_style').getForm().getValues()); - //console.log(Ext.getCmp('stroke_style').getForm().getValues()); - // Queste invece sono sempre buone (però non restituiscono i valori di default se l'utente non ha attivato il controllo) - console.log(Ext.getCmp('fill_style').symbolizer); - console.log(Ext.getCmp('stroke_style').symbolizer); - } - alert('passare i valori a SLDSelect'); - } - }] - }); - }; - qpwin.show(); - } else { - featureCombo.markInvalid(); - Ext.MessageBox.alert('Error', 'No layers selected, please selected a layer from the combo box.'); - } - - } - } - - ] - //}); - - return items; - - } - -/* - - //var toolbar = new Ext.Toolbar({ - var items =['Elementi: ', - featureCombo, - { - text: 'Auto', - iconCls: 'edit-feature', - toggleGroup: 'select', - handler: function(){ - AUTOINFO = this.pressed; - //console.log(featureTypes); - } - }, - { - text: 'Query', - iconCls: 'edit-feature', - handler: function(){ - alert('Query panel?') - } - } - - ] - //}); - - return items; - - } - -*/ - -//*************** TOOLBAR ****************** - - /* -var boxAction = new GeoExt.Action({ - control: new OpenLayers.Control.GisClientSLDSelect( - OpenLayers.Handler.RegularPolygon, - { - clearOnDeactivate:false, - layers: map.getLayersBy("gc_id","occupazione_suolo.elementi_scavi"), - //resultLayer:resultVectLayer, - highLight: false, - wfsCache:featureTypes, - handlerOptions: { - irregular: true - }, - eventListeners:{ - activate: function(){ - - //console.log(this); - }, - featuresLoaded: function(){ - setComboFeatureTypes(this); - } - } - } - ), - - tooltip: 'Seleziona box', - map: map, - text:'box', - iconCls: 'edit-feature', - toggleGroup: 'mapToolbar' - }); - -var polyAction = new GeoExt.Action({ - control: new OpenLayers.Control.GisClientSLDSelect( - OpenLayers.Handler.Polygon, - { - clearOnDeactivate:false, - layers: [], - highLight: true, - wfsCache:featureTypes, - eventListeners:{ - activate: function(){ - - //console.log(this); - }, - featuresLoaded: function(){ - setComboFeatureTypes(this); - } - } - } - ), - - tooltip: 'Seleziona poligono', - map: map, - text:'poligono', - iconCls: 'edit-feature', - toggleGroup: 'mapToolbar' - }); - -var circleAction = new GeoExt.Action({ - control: new OpenLayers.Control.GisClientSLDSelect( - OpenLayers.Handler.RegularPolygon, - { - clearOnDeactivate:false, - layers: [], - highLight: true, - wfsCache:featureTypes, - handlerOptions: { - sides: 30 - }, - eventListeners:{ - activate: function(){ - - //console.log(this); - }, - featuresLoaded: function(){ - setComboFeatureTypes(this); - } - } - } - ), - - tooltip: 'Seleziona cerchio', - map: map, - text:'cerchio', - iconCls: 'edit-feature', - toggleGroup: 'mapToolbar' - }); - - -var selectPipeAction = new GeoExt.Action({ - control: new OpenLayers.Control.PIPESelect( - OpenLayers.Handler.Click, - { - clearOnDeactivate:false, - //serviceURL:'http://demo.gisclient.net/gisclient/services/iren/findpipes.php', - serviceURL:'/gisclient/services/iren/findpipes.php', - - pipelayer: 'RATRACCIA.traccia_table', - distance:50, - highLight: true, - eventListeners:{ - activate: function(){ - //valvoleEscluse = []; - //console.log(this); - }//, - - selected: gcFeatureInfo, - beforeSelect: cleanPanel, - - featuresLoaded: function(){ - setComboFeatureTypes(this); - } - } - } - ), - - tooltip: 'Seleziona condotta', - map: mapPanel.map, - text:'Ricerca Valvole', - iconCls: 'map-base', - toggleGroup: 'mapToolbar' - }); - - */ - -var selectionToolbar = function(map, dataViewPanel){ - - var toolbarItems = [ - boxAction, - " ","-"," ", - polyAction, - " ","-"," ", - circleAction - /*, - " ","-"," ", - selectPipeAction - */ - ]; - - - map.addLayer(resultVectLayer); - return toolbarItems; -} - -///////////////////////////////////////////////////////////////// -// -// Creazione e configurazione del gcDataViewPanel -// bind degli eventi. -// -///////////////////////////////////////////////////////////////// - - -//this.map.addLayer(this.resultLayer); - -//map.addLayer(resultVectLayer); - -var dataViewPanel = new GisClient.DataViewPanel({ - id: "dataViewPanel", - // title: "Informazioni in mappa", - max_features: 100, - mapPanel:mapPanel - //select_control: selectControl, - //modify_control: modifyControl, -}); -//dataViewPanel.addResultLayer(); - - -//console.log(dataViewPanel); -// Aggiunge eventi al selectionLayer -/* -selectionLayer.events.on({ - featureselected: dataViewPanel.featureSelected, - featureunselected: dataViewPanel.featureUnselected, - scope: dataViewPanel -}); - -// Aggiunge eventi ai controlli ol in mappa -Ext.each([selectControl, modifyControl, highlightCtrl], function(ctrl){ - ctrl.events.register('beforefeaturehighlighted', dataViewPanel, function(e){selectControl.activate();}); - ctrl.events.register('featurehighlighted', dataViewPanel, dataViewPanel.featureSelected); - ctrl.events.register('featureunhighlighted', dataViewPanel, dataViewPanel.featureUnselected); -}); -*/ -// Aggiunge gli eventi ai controlli ol delle azioni -/* -Ext.each([polyAction.control, boxAction.control, circleAction.control], function(ctrl){ - ctrl.events.register('selected', dataViewPanel, dataViewPanel.gcFeatureInfo); - ctrl.events.register('beforeSelect', dataViewPanel, dataViewPanel.cleanPanel); -}); -*/ - - var toolCollapsed = Ext.util.Cookies.get('gcToolCollapsed')=='true'?true:false; - - - var queryInfo = new Ext.Panel({ - title:'Info', - items:[ - dataViewPanel - ] - }); - var queryPipes = new Ext.Panel({ - title: 'Valvole', - html: '<empty panel>', - cls:'empty' - }); - var item1 = new Ext.Panel({ - title: 'Accordion Item 1', - html: '<empty panel>', - cls:'empty' - }); - var item2 = new Ext.Panel({ - title: 'Accordion Item 2', - html: '<empty panel>', - cls:'empty' - }); - var item3 = new Ext.Panel({ - title: 'Accordion Item 3', - html: '<empty panel>', - cls:'empty' - }); - - - - -/* - var accordion = new Ext.Panel({ - region:'east', - title:'Informazioni in mappa', - margins:'5 0 5 5', - collapsible: true, - autoScroll: true, - collapsed: toolCollapsed, - split:true, - width: 410, - layout:'accordion', - items: [queryInfo,queryPipes,item1,item2,item3] - }); - - - - - var tabs = new Ext.TabPanel({ - region: "east", - - collapsible: true, - autoScroll: true, - collapsed: toolCollapsed, - width:350, - activeTab: 0, - frame:true, - defaults:{autoHeight: true}, - items:[queryInfo,queryPipes,item1,item2,item3] - }); - */ - - - - var panel = { - xtype:'panel', - region: "east", - title:'Risultati interrogazione', - id: "toolPanel", - collapsible: true, - autoScroll: true, - collapsed: toolCollapsed, - iconCls:'queryresult', - width: 350, - items:[ - - dataViewPanel - - - - ], - - //Toolbar per il pannello delle feature - tbar: { - //xtype: 'container', - //layout: 'anchor', - //defaultType: 'toolbar', - items:[{id:"tb-result",xtype:"tbtext",text:'',height:24}]// [{items: selectionToolbar(map, dataViewPanel)},{items:featureTools(map)}] - }, - bbar: [], - listeners:{ - collapse:function(p){ - Ext.util.Cookies.set('gcToolCollapsed', p.collapsed); - }, - expand:function(p){ - Ext.util.Cookies.set('gcToolCollapsed', p.collapsed); - } - } - - }; - - - - return panel; - -} - diff --git a/ext-resources/jslib/gcTreePanel.js b/ext-resources/jslib/gcTreePanel.js deleted file mode 100755 index d9e7114..0000000 --- a/ext-resources/jslib/gcTreePanel.js +++ /dev/null @@ -1,100 +0,0 @@ -var TreePanel = function(mapPanel,menu){ - var map = mapPanel.map; - var treeCollapsed = (typeof(menu)=='undefined')?(Ext.util.Cookies.get('gcTreeCollapsed')=='true'?true:false):null; - var activeNode; - var treePanel = new GeoExt.ux.tree.LayerTreeBuilder({ - region: "west", - width: 250, - height:200, - autoScroll: true, - useArrows: true, - animate: true, - enableDD: false, - rootVisible: false, - layerStore:mapPanel.layers, - anchor:'30%', - lines: true, - collapsed:treeCollapsed, - collapsible:(typeof(menu)=='undefined'), - title:(typeof(menu)=='undefined')?"Livelli in mappa":null, - otherLayersText:'Altri livelli', - baseLayersText:'Servizi', - iconCls: 'layers-menu', - // widget custom properties - - //DA CONFIGURARE SE CI SONO GLI STRUMENTI DEI SELEZIONE - listeners:{ - collapse:function(p){ - Ext.util.Cookies.set('gcTreeCollapsed', p.collapsed); - }, - expand:function(p){ - Ext.util.Cookies.set('gcTreeCollapsed', p.collapsed); - }, - click:function(node){ - if(node.layer instanceof OpenLayers.Layer.WMS && (node.layer.featureTypes || (node.layer.gcname && node.layer.gcname.indexOf('gc_redline_')!=-1))){ - mapPanel.setActiveLayer(node.layer); - activeNode = node; - } - else{ - //NON SELEZIONO IL NODO - return false; - } - }, - disabledchange: function(node,disabled){ - //PER RISPRISTINARE LA SELEZIONE DEL NODO DOPO CHE VIENE DISABILITATO E ABILITATO - if(node == activeNode && !disabled){ - node.select(); - } - } - - }, - - wmsLegendNodes: false, - vectorLegendNodes: false - - - }); - return treePanel; -} - - -var TreeMenu = function(mapPanel){ - - var tbar = mapPanel.getTopToolbar(); - - var treeP = { - xtype: "treepanel", - ref: "tree", - width: 300, - height: 250, - autoScroll: true, - enableDD: true, - root: new GeoExt.tree.LayerContainer({ - expanded: true - }) - } - - - // = TreePanel(mapPanel,1); - treeP.iconCls = null; - var menu = new Ext.menu.Menu({ - id: 'mainMenu', - style: { - overflow: 'visible' // For the Combo popup - }, - items: [ - treeP - ] - }); - tbar.insert(0," "); - tbar.insert(0,"-"); - tbar.insert(0," "); - tbar.insert(0,{ - xtype:'splitbutton', - width:100, - text:'Livelli in Mappa', - iconCls: 'layers-menu', // <-- icon - menu: menu // assign menu by instance - }); - -} \ No newline at end of file diff --git a/ext-resources/jslib/gcZoomToolbar.js b/ext-resources/jslib/gcZoomToolbar.js deleted file mode 100755 index 49da8ed..0000000 --- a/ext-resources/jslib/gcZoomToolbar.js +++ /dev/null @@ -1,435 +0,0 @@ -Ext.namespace("GisClient"); - -//SOSTITUIRE TUTTO CON UN PLUGIN CHE USA SOLO 3 COMBO CAMBIANDONE DINAMICAMENTE I PARAMETRI - - -GisClient.ZoomToolbar = Ext.extend(Ext.Toolbar, { - - initComponent: function(){ - - var map = this.mapPanel.map; - var vectorLayer = new OpenLayers.Layer.Vector("gcZoomTo", {displayInLayerSwitcher:false}); - map.addLayer(vectorLayer); - var datasrid; - - var action = new Ext.Action({ - disabled:false, - iconCls: 'zoomto' - }); - - var comboZoomTo = new Ext.form.ComboBox({ - typeAhead: true, - triggerAction: 'all', - lazyRender:true, - mode: 'local', - emptyText: 'Scegli:', - store: new Ext.data.ArrayStore({ - id: 0, - fields: [ - 'nome', - 'codice', - 'datasrid' - ], - data:this.data - }), - valueField: 'codice', - displayField: 'nome', - listeners:{select:{fn:function(combo, value) { - - //NOTA PAROLA CHIAVE FISSA DA USAR EIN AUTHOR - if(value.data.codice == 'geolocator'){ - comboFogli.hide(); - comboParticelle.hide(); - comboStradario.hide(); - comboCivici.hide(); - comboStrade.hide(); - comboComuni.hide(); - txtIndirizzo.show(); - action.setHandler(geoLocate); - } - else if(value.data.codice == 'stradario'){ - comboFogli.hide(); - comboParticelle.hide(); - txtIndirizzo.hide(); - comboStrade.hide(); - comboComuni.hide(); - - comboStradario.show(); - comboCivici.show(); - action.setHandler(zoomToIndirizzo); - } - else if(value.data.codice == 'particella'){ - comboStradario.hide(); - - - - - - - comboCivici.hide(); - txtIndirizzo.hide(); - comboStrade.hide(); - comboComuni.hide(); - comboFogli.show(); - comboParticelle.show(); - action.setHandler(zoomToParcel) - } - else if(value.data.codice == 'strada_provinciale'){ - comboStradario.hide(); - comboCivici.hide(); - txtIndirizzo.hide(); - comboFogli.hide(); - comboParticelle.hide(); - comboComuni.hide(); - comboStrade.show(); - action.setHandler(zoomToStrada) - } - else{ - comboStradario.hide(); - comboCivici.hide(); - comboFogli.hide(); - comboParticelle.hide(); - txtIndirizzo.hide(); - comboStrade.hide(); - comboComuni.hide(); - action.setHandler(zoomToComune) - } - - - //comboComuni.setDisabled(false); - //comboComuni.store.baseParams = {request:combo.getValue()}; - //comboComuni.store.reload(); - - - }}} - }); - - var comboComuni = new Ext.form.ComboBox ({ - fieldLabel:'nome', - displayField:'nome', - valueField:'codice', - value:'', - id: 'comune', - hidden:true, - autoSelect:true, - minChars:2, - typeAhead:true, - typeAheadDelay:300, - width:180, - triggerAction:'all', - mode:'remote', - loadingText:'Caricamento in corso', - emptyText: 'Digita comune:', - store: new Ext.data.JsonStore({ - url: this.url, - baseParams:{project:this.mapPanel.project,request:'comuni',srs:map.projection}, - idProperty: 'codice', - fields: ['codice', 'nome','extent'], - root: 'comuniData', - autoLoad: false - }), - listeners:{select:{fn:function(combo, value) { - comboStradario.setValue(''); - comboStradario.setDisabled(false); - comboStradario.store.baseParams = {request:'stradario',comune:combo.getValue(),srs:map.projection}; - comboStradario.store.removeAll(); - - comboFogli.setValue(''); - comboFogli.setDisabled(false); - comboFogli.store.baseParams = {request:'foglio',comune:combo.getValue(),srs:map.projection}; - comboFogli.store.reload(); - comboParticelle.store.removeAll(); - - - }}} - }); - - var comboStradario = new Ext.form.ComboBox ({ - fieldLabel:'nome', - displayField:'nome', - valueField:'codice', - hidden:true, - id: 'vie', - minChars:2, - typeAhead:false, - typeAheadDelay:300, - width:250, - //disabled: true, - triggerAction:'all', - mode:'remote', - loadingText:'Caricamento in corso', - emptyText: 'Digita indirizzo:', - store: new Ext.data.JsonStore({ - url: this.url, - idProperty: 'codice', - fields: ['codice', 'nome','extent'], - root: 'stradarioData', - baseParams: {project:this.mapPanel.project,request:'stradario',comune:comboComuni.getValue(),srs:map.projection,datasrid:comboZoomTo.getValue()}, - autoLoad: false - }), - listeners:{select:{fn:function(combo, value) { - comboCivici.setValue(''); - comboCivici.setDisabled(false); - comboCivici.store.reload({ - params: { codvia: combo.getValue() } - }); - }}} - }); - - - var comboCivici = new Ext.form.ComboBox ({ - fieldLabel:'Civico', - displayField:'numero', - valueField:'codice', - hidden:true, - id:'civici', - width:100, - disabled: true, - triggerAction:'all', - mode:'local', - autoHeight: true, - emptyText: 'Civico:', - store: new Ext.data.JsonStore({ - url: this.url, - baseParams:{project:this.mapPanel.project,request:'civici',srs:map.projection}, - idProperty: 'codice', - fields: ['codice', 'numero', 'x', 'y'], - root: 'civiciData', - autoLoad: false - }), - listeners:{ - selectXXXX:{fn:function(combo, value) { - if(!value){ - alert ('Civico non presente'); - return; - }; - var style_green = { - strokeColor: "#00FF00", - pointRadius: 6, - pointerEvents: "visiblePainted", - label : value.data.numero, - fontColor: "#ff0000", - fontSize: "12px", - fontFamily: "Courier New, monospace", - fontWeight: "bold", - labelAlign: "cm", - labelXOffset: "15", - labelYOffset: "-15" - }; - var point = new OpenLayers.Geometry.Point(value.data.x,value.data.y); - var pointFeature = new OpenLayers.Feature.Vector(point,null,style_green); - //ELimino i civici già inseriti o li lascio ????? configurabile??? - vectorLayer.destroyFeatures(); - vectorLayer.addFeatures([pointFeature]); - //console.log(pointFeature) - - vectorLayer.map.setCenter(new OpenLayers.LonLat(value.data.x,value.data.y), 16); - }} - } - - }); - - var comboFogli = new Ext.form.ComboBox ({ - fieldLabel:'numero', - displayField:'numero', - valueField:'numero', - hidden:true, - id: 'foglio', - minChars:1, - typeAhead:true, - typeAheadDelay:300, - width:120, - //disabled: true, - triggerAction:'all', - mode:'local', - emptyText: 'Foglio:', - store: new Ext.data.JsonStore({ - url: this.url, - idProperty: 'codice', - fields: ['codice','numero','extent'], - root: 'fogliData', - baseParams: {project:this.mapPanel.project,request:'foglio',comune:comboComuni.getValue(),srs:map.projection}, - autoLoad: true - }), - listeners:{select:{fn:function(combo, value) { - comboParticelle.setValue(''); - comboParticelle.setDisabled(false); - comboParticelle.store.reload({ - params: {comune:comboComuni.getValue(),foglio: combo.getValue()} - }); - }}} - }); - - var comboParticelle = new Ext.form.ComboBox ({ - fieldLabel:'numero', - displayField:'numero', - valueField:'numero', - hidden:true, - id: 'particella', - minChars:2, - typeAhead:false, - typeAheadDelay:300, - width:100, - //disabled: true, - triggerAction:'all', - mode:'local', - emptyText: 'Particella:', - store: new Ext.data.JsonStore({ - url: this.url, - idProperty: 'codice', - fields: ['codice', 'numero','extent'], - root: 'particelleData', - baseParams: {project:this.mapPanel.project,request:'particella',comune:comboComuni.getValue(),srs:map.projection}, - autoLoad: false - }) - }); - - var txtIndirizzo = new Ext.form.TextField({ - fieldLabel: 'Adress', - name: 'address', - width:290, - enableKeyEvents:true, - emptyText: 'Digita indirizzo:', - hidden:true - }); - - var comboStrade = new Ext.form.ComboBox ({ - fieldLabel:'nome', - displayField:'nome', - valueField:'codice', - hidden:true, - id: 'strada', - minChars:1, - typeAhead:true, - typeAheadDelay:300, - width:400, - //disabled: true, - triggerAction:'all', - mode:'remote', - loadingText:'Caricamento in corso', - emptyText: 'Strada:', - store: new Ext.data.JsonStore({ - url: this.url, - idProperty: 'codice', - fields: ['codice', 'nome','extent'], - root: 'stradaData', - baseParams: {project:this.mapPanel.project,request:'strada',srs:map.projection}, - autoLoad: false - }) - }); - - var zoomToIndirizzo = function(){ - if(comboCivici.selectedIndex != -1) - //comboCivici.fireEvent('select',comboCivici,comboCivici.getStore().getAt(comboCivici.selectedIndex)); - selectCivico(comboCivici.getStore().getAt(comboCivici.selectedIndex)); - else if(comboStradario.getStore().getAt(comboStradario.selectedIndex).data.extent){ - var extent = OpenLayers.Bounds.fromArray(comboStradario.getStore().getAt(comboStradario.selectedIndex).data.extent); - map.zoomToExtent(extent); - } - }; - - var zoomToParcel = function(){ - if(comboParticelle.selectedIndex != -1){ - var extent = OpenLayers.Bounds.fromArray(comboParticelle.getStore().getAt(comboParticelle.selectedIndex).data.extent); - map.zoomToExtent(extent); - } - else if(comboFogli.getStore().getAt(comboFogli.selectedIndex).data.extent){ - var extent = OpenLayers.Bounds.fromArray(comboFogli.getStore().getAt(comboFogli.selectedIndex).data.extent); - map.zoomToExtent(extent); - } - }; - var zoomToComune = function(){ - if(comboComuni.selectedIndex != -1 && comboComuni.getStore().getAt(comboComuni.selectedIndex).data.extent){ - var extent = OpenLayers.Bounds.fromString(comboComuni.getStore().getAt(comboComuni.selectedIndex).data.extent); - map.zoomToExtent(extent); - } - - }; - var zoomToStrada = function(){ - if(comboStrade.selectedIndex != -1 && comboStrade.getStore().getAt(comboStrade.selectedIndex).data.extent){ - var extent = OpenLayers.Bounds.fromString(comboStrade.getStore().getAt(comboStrade.selectedIndex).data.extent); - map.zoomToExtent(extent); - } - - }; - - var selectCivico = function(value){ - - if(!value){ - alert ('Civico non presente'); - return; - }; - var style_green = { - strokeColor: "#00FF00", - pointRadius: 6, - pointerEvents: "visiblePainted", - label : value.data.numero, - fontColor: "#ff0000", - fontSize: "12px", - fontFamily: "Courier New, monospace", - fontWeight: "bold", - labelAlign: "cm", - labelXOffset: "15", - labelYOffset: "-15" - }; - var point = new OpenLayers.Geometry.Point(value.data.x,value.data.y); - var pointFeature = new OpenLayers.Feature.Vector(point,null,style_green); - //ELimino i civici già inseriti o li lascio ????? configurabile??? - vectorLayer.destroyFeatures(); - vectorLayer.addFeatures([pointFeature]); - //console.log(pointFeature) - - vectorLayer.map.setCenter(new OpenLayers.LonLat(value.data.x,value.data.y), 16); - - - - } - - - var geoLocate = function (){ - - var address = comboComuni.getRawValue() + ' ' + txtIndirizzo.getValue(); - - var geocoder = new GClientGeocoder(); - if (geocoder) { - - geocoder.getLatLng( - address, - function(point) { - if (!point) { - alert(address + " non trovato"); - } else { - - var layers=map.getLayersByName("Posizione"); - if(layers.length>0) var markers = layers[0].destroy(); - - var markers = new OpenLayers.Layer.Markers("Posizione"); - map.addLayer(markers); - - var olpoint = new OpenLayers.LonLat(point.x,point.y); - var proj = new OpenLayers.Projection("EPSG:4326"); - olpoint=olpoint.transform(proj, map.getProjectionObject()); - - var size = new OpenLayers.Size(50,50); - var icon = new OpenLayers.Icon('/gisclient/css/theme/img/other/spillo.gif',size); - markers.addMarker(new OpenLayers.Marker(olpoint,icon)); - map.setCenter(olpoint,18); - } - } - ) - - } - - } - - this.items=['Vai a: ',comboZoomTo,comboStrade,comboComuni,comboStradario,comboCivici,comboFogli,comboParticelle,txtIndirizzo,action,'->']; - - GisClient.ZoomToolbar.superclass.initComponent.apply(this, arguments); - - } - - -}); - -Ext.reg('gc_zoomtoolbar', GisClient.ZoomToolbar); - diff --git a/ext-resources/jslib/geoext/GeoExt.js b/ext-resources/jslib/geoext/GeoExt.js deleted file mode 100755 index 503c4be..0000000 --- a/ext-resources/jslib/geoext/GeoExt.js +++ /dev/null @@ -1,360 +0,0 @@ -/* - -Copyright (c) 2008-2011, The Open Source Geospatial Foundation -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the Open Source Geospatial Foundation nor the names - of its contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - -*/ - -Ext.namespace('GeoExt');GeoExt.LayerLegend=Ext.extend(Ext.Container,{layerRecord:null,showTitle:true,legendTitle:null,labelCls:null,layerStore:null,initComponent:function(){GeoExt.LayerLegend.superclass.initComponent.call(this);this.autoEl={};this.add({xtype:"label",html:this.getLayerTitle(this.layerRecord),cls:'x-form-item x-form-item-label'+ -(this.labelCls?' '+this.labelCls:'')});if(this.layerRecord&&this.layerRecord.store){this.layerStore=this.layerRecord.store;this.layerStore.on("update",this.onStoreUpdate,this);this.layerStore.on("add",this.onStoreAdd,this);this.layerStore.on("remove",this.onStoreRemove,this);}},getLabel:function(){var label=this.items.get(0);return label.rendered?label.el.dom.innerHTML:label.html;},onStoreRemove:function(store,record,index){},onStoreAdd:function(store,record,index){},onStoreUpdate:function(store,record,operation){if(record===this.layerRecord&&this.items.getCount()>0){var layer=record.getLayer();this.setVisible(layer.getVisibility()&&layer.calculateInRange()&&layer.displayInLayerSwitcher&&!record.get('hideInLegend'));this.update();}},update:function(){var title=this.getLayerTitle(this.layerRecord);var item=this.items.get(0);if(item instanceof Ext.form.Label&&this.getLabel()!==title){item.setText(title,false);}},getLayerTitle:function(record){var title=this.legendTitle||"";if(this.showTitle&&!title){if(record&&!record.get("hideTitle")){title=record.get("title")||record.get("name")||record.getLayer().name||"";}} -return title;},beforeDestroy:function(){if(this.layerStore){this.layerStore.un("update",this.onStoreUpdate,this);this.layerStore.un("remove",this.onStoreRemove,this);this.layerStore.un("add",this.onStoreAdd,this);} -GeoExt.LayerLegend.superclass.beforeDestroy.apply(this,arguments);},onDestroy:function(){this.layerRecord=null;this.layerStore=null;GeoExt.LayerLegend.superclass.onDestroy.apply(this,arguments);}});GeoExt.LayerLegend.getTypes=function(layerRecord,preferredTypes){var types=(preferredTypes||[]).concat(),scoredTypes=[],score,type;for(type in GeoExt.LayerLegend.types){score=GeoExt.LayerLegend.types[type].supports(layerRecord);if(score>0){if(types.indexOf(type)==-1){scoredTypes.push({type:type,score:score});}}else{types.remove(type);}} -scoredTypes.sort(function(a,b){return a.score0){var feature=this.layer.features[0].clone();feature.attributes={};this.feature=feature;this.symbolType=this.symbolTypeFromFeature(this.feature);}else{this.layer.events.on({featuresadded:this.onFeaturesAdded,scope:this});}}} -if(this.layer&&this.feature&&!this.rules){this.setRules();} -this.rulesContainer=new Ext.Container({autoEl:{}});this.add(this.rulesContainer);this.addEvents("titleclick","symbolclick","ruleclick","ruleselected","ruleunselected","rulemoved");this.update();},onMapZoom:function(){this.setCurrentScaleDenominator(this.layer.map.getScale());},symbolTypeFromFeature:function(feature){var match=feature.geometry.CLASS_NAME.match(/Point|Line|Polygon/);return(match&&match[0])||"Point";},onFeaturesAdded:function(){this.layer.events.un({featuresadded:this.onFeaturesAdded,scope:this});var feature=this.layer.features[0].clone();feature.attributes={};this.feature=feature;this.symbolType=this.symbolTypeFromFeature(this.feature);if(!this.rules){this.setRules();} -this.update();},setRules:function(){var style=this.layer.styleMap&&this.layer.styleMap.styles["default"];if(!style){style=new OpenLayers.Style();} -if(style.rules.length===0){this.rules=[new OpenLayers.Rule({title:style.title,symbolizer:style.createSymbolizer(this.feature)})];}else{this.rules=style.rules;}},setCurrentScaleDenominator:function(scale){if(scale!==this.currentScaleDenominator){this.currentScaleDenominator=scale;this.update();}},getRuleEntry:function(rule){return this.rulesContainer.items.get(this.rules.indexOf(rule));},addRuleEntry:function(rule,noDoLayout){this.rulesContainer.add(this.createRuleEntry(rule));if(!noDoLayout){this.doLayout();}},removeRuleEntry:function(rule,noDoLayout){var ruleEntry=this.getRuleEntry(rule);if(ruleEntry){this.rulesContainer.remove(ruleEntry);if(!noDoLayout){this.doLayout();}}},selectRuleEntry:function(rule){var newSelection=rule!=this.selectedRule;if(this.selectedRule){this.unselect();} -if(newSelection){var ruleEntry=this.getRuleEntry(rule);ruleEntry.body.addClass("x-grid3-row-selected");this.selectedRule=rule;this.fireEvent("ruleselected",this,rule);}},unselect:function(){this.rulesContainer.items.each(function(item,i){if(this.rules[i]==this.selectedRule){item.body.removeClass("x-grid3-row-selected");this.selectedRule=null;this.fireEvent("ruleunselected",this,this.rules[i]);}},this);},createRuleEntry:function(rule){var applies=true;if(this.currentScaleDenominator!=null){if(rule.minScaleDenominator){applies=applies&&(this.currentScaleDenominator>=rule.minScaleDenominator);} -if(rule.maxScaleDenominator){applies=applies&&(this.currentScaleDenominatortargetPos){cls="gx-ruledrag-insert-above";}else if(sourcePos=0;--i){comp=this.rulesContainer.getComponent(i);this.rulesContainer.remove(comp,true);}} -for(var i=0,ii=this.rules.length;i=0;--i){if(this.loader.filter(store.getAt(i))===true){++nodeIndex;if(index===i||nodeIndex>nodeCount-1){break;}}} -return nodeIndex;},destroy:function(){delete this.layerStore;GeoExt.tree.LayerContainer.superclass.destroy.apply(this,arguments);}});Ext.tree.TreePanel.nodeTypes.gx_layercontainer=GeoExt.tree.LayerContainer;Ext.namespace("GeoExt.tree");GeoExt.tree.BaseLayerContainer=Ext.extend(GeoExt.tree.LayerContainer,{text:'Base Layer',constructor:function(config){config=Ext.applyIf(config||{},{text:this.text,loader:{}});config.loader=Ext.applyIf(config.loader,{baseAttrs:Ext.applyIf(config.loader.baseAttrs||{},{iconCls:'gx-tree-baselayer-icon',checkedGroup:'baselayer'}),filter:function(record){var layer=record.getLayer();return layer.displayInLayerSwitcher===true&&layer.isBaseLayer===true;}});GeoExt.tree.BaseLayerContainer.superclass.constructor.call(this,config);}});Ext.tree.TreePanel.nodeTypes.gx_baselayercontainer=GeoExt.tree.BaseLayerContainer;Ext.namespace("GeoExt.plugins");GeoExt.plugins.PrintExtent=Ext.extend(Ext.util.Observable,{initialConfig:null,printProvider:null,map:null,layer:null,control:null,pages:null,page:null,constructor:function(config){config=config||{};Ext.apply(this,config);this.initialConfig=config;if(!this.printProvider){this.printProvider=this.pages[0].printProvider;} -if(!this.pages){this.pages=[];} -this.addEvents("selectpage");GeoExt.plugins.PrintExtent.superclass.constructor.apply(this,arguments);},print:function(options){this.printProvider.print(this.map,this.pages,options);},init:function(mapPanel){this.map=mapPanel.map;mapPanel.on("destroy",this.onMapPanelDestroy,this);if(!this.layer){this.layer=new OpenLayers.Layer.Vector(null,{displayInLayerSwitcher:false});} -this.createControl();for(var i=0,len=this.pages.length;i=0;i--){this.removePage(this.pages[i]);} -this.hide();var control=this.control;if(map&&map.events&&control&&control.events){control.destroy();} -var layer=this.layer;if(!this.initialConfig.layer&&map&&map.events&&layer&&layer.events){layer.destroy();} -delete this.layer;delete this.control;delete this.page;this.map=null;},createControl:function(){this.control=new OpenLayers.Control.TransformFeature(this.layer,{preserveAspectRatio:true,eventListeners:{"beforesetfeature":function(e){for(var i=0,len=this.pages.length;i-1){return"application/vnd.ogc.se_inimage";} -if(OpenLayers.Util.indexOf(formats,"application/vnd.ogc.se_xml")>-1){return"application/vnd.ogc.se_xml";} -return formats[0];},imageFormat:function(layer){var formats=layer.formats;if(layer.opaque&&OpenLayers.Util.indexOf(formats,"image/jpeg")>-1){return"image/jpeg";} -if(OpenLayers.Util.indexOf(formats,"image/png")>-1){return"image/png";} -if(OpenLayers.Util.indexOf(formats,"image/png; mode=24bit")>-1){return"image/png; mode=24bit";} -if(OpenLayers.Util.indexOf(formats,"image/gif")>-1){return"image/gif";} -return formats[0];},imageTransparent:function(layer){return layer.opaque==undefined||!layer.opaque;},readRecords:function(data){if(typeof data==="string"||data.nodeType){data=this.meta.format.read(data);} -if(!!data.error){throw new Ext.data.DataReader.Error("invalid-response",data.error);} -var version=data.version;var capability=data.capability||{};var url=capability.request&&capability.request.getmap&&capability.request.getmap.href;var layers=capability.layers;var formats=capability.exception?capability.exception.formats:[];var exceptions=this.serviceExceptionFormat(formats);var records=[];if(url&&layers){var fields=this.recordType.prototype.fields;var layer,values,options,params,field,v;for(var i=0,lenI=layers.length;i");} -if(attribution.title){markup.push("" -+attribution.title -+"");} -if(attribution.href){for(var i=0;i" -+markup[i] -+"";}} -return markup.join(" ");}});Ext.namespace("GeoExt.data");GeoExt.data.LayerStoreMixin=function(){return{map:null,reader:null,constructor:function(config){config=config||{};config.reader=config.reader||new GeoExt.data.LayerReader({},config.fields);delete config.fields;var map=config.map instanceof GeoExt.MapPanel?config.map.map:config.map;delete config.map;if(config.layers){config.data=config.layers;} -delete config.layers;var options={initDir:config.initDir};delete config.initDir;arguments.callee.superclass.constructor.call(this,config);this.addEvents("bind");if(map){this.bind(map,options);}},bind:function(map,options){if(this.map){return;} -this.map=map;options=options||{};var initDir=options.initDir;if(options.initDir==undefined){initDir=GeoExt.data.LayerStore.MAP_TO_STORE|GeoExt.data.LayerStore.STORE_TO_MAP;} -var layers=map.layers.slice(0);if(initDir&GeoExt.data.LayerStore.STORE_TO_MAP){this.each(function(record){this.map.addLayer(record.getLayer());},this);} -if(initDir&GeoExt.data.LayerStore.MAP_TO_STORE){this.loadData(layers,true);} -map.events.on({"changelayer":this.onChangeLayer,"addlayer":this.onAddLayer,"removelayer":this.onRemoveLayer,scope:this});this.on({"load":this.onLoad,"clear":this.onClear,"add":this.onAdd,"remove":this.onRemove,"update":this.onUpdate,scope:this});this.data.on({"replace":this.onReplace,scope:this});this.fireEvent("bind",this,map);},unbind:function(){if(this.map){this.map.events.un({"changelayer":this.onChangeLayer,"addlayer":this.onAddLayer,"removelayer":this.onRemoveLayer,scope:this});this.un("load",this.onLoad,this);this.un("clear",this.onClear,this);this.un("add",this.onAdd,this);this.un("remove",this.onRemove,this);this.data.un("replace",this.onReplace,this);this.map=null;}},onChangeLayer:function(evt){var layer=evt.layer;var recordIndex=this.findBy(function(rec,id){return rec.getLayer()===layer;});if(recordIndex>-1){var record=this.getAt(recordIndex);if(evt.property==="order"){if(!this._adding&&!this._removing){var layerIndex=this.map.getLayerIndex(layer);if(layerIndex!==recordIndex){this._removing=true;this.remove(record);delete this._removing;this._adding=true;this.insert(layerIndex,[record]);delete this._adding;}}}else if(evt.property==="name"){record.set("title",layer.name);}else{this.fireEvent("update",this,record,Ext.data.Record.EDIT);}}},onAddLayer:function(evt){if(!this._adding){var layer=evt.layer;this._adding=true;this.loadData([layer],true);delete this._adding;}},onRemoveLayer:function(evt){if(this.map.unloadDestroy){if(!this._removing){var layer=evt.layer;this._removing=true;this.remove(this.getById(layer.id));delete this._removing;}}else{this.unbind();}},onLoad:function(store,records,options){if(!Ext.isArray(records)){records=[records];} -if(options&&!options.add){this._removing=true;for(var i=this.map.layers.length-1;i>=0;i--){this.map.removeLayer(this.map.layers[i]);} -delete this._removing;var len=records.length;if(len>0){var layers=new Array(len);for(var j=0;j=0;i--){this.map.removeLayer(this.map.layers[i]);} -delete this._removing;},onAdd:function(store,records,index){if(!this._adding){this._adding=true;var layer;for(var i=records.length-1;i>=0;--i){layer=records[i].getLayer();this.map.addLayer(layer);if(index!==this.map.layers.length-1){this.map.setLayerIndex(layer,index);}} -delete this._adding;}},onRemove:function(store,record,index){if(!this._removing){var layer=record.getLayer();if(this.map.getLayer(layer.id)!=null){this._removing=true;this.removeMapLayer(record);delete this._removing;}}},onUpdate:function(store,record,operation){if(operation===Ext.data.Record.EDIT){if(record.modified&&record.modified.title){var layer=record.getLayer();var title=record.get("title");if(title!==layer.name){layer.setName(title);}}}},removeMapLayer:function(record){this.map.removeLayer(record.getLayer());},onReplace:function(key,oldRecord,newRecord){this.removeMapLayer(oldRecord);},getByLayer:function(layer){var index=this.findBy(function(r){return r.getLayer()===layer;});if(index>-1){return this.getAt(index);}},destroy:function(){this.unbind();GeoExt.data.LayerStore.superclass.destroy.call(this);}};};GeoExt.data.LayerStore=Ext.extend(Ext.data.Store,new GeoExt.data.LayerStoreMixin);GeoExt.data.LayerStore.MAP_TO_STORE=1;GeoExt.data.LayerStore.STORE_TO_MAP=2;Ext.namespace("GeoExt.tree");GeoExt.tree.LayerLoader=function(config){Ext.apply(this,config);this.addEvents("beforeload","load");GeoExt.tree.LayerLoader.superclass.constructor.call(this);};Ext.extend(GeoExt.tree.LayerLoader,Ext.util.Observable,{store:null,filter:function(record){return record.getLayer().displayInLayerSwitcher==true;},baseAttrs:null,uiProviders:null,load:function(node,callback){if(this.fireEvent("beforeload",this,node)){this.removeStoreHandlers();while(node.firstChild){node.removeChild(node.firstChild);} -if(!this.uiProviders){this.uiProviders=node.getOwnerTree().getLoader().uiProviders;} -if(!this.store){this.store=GeoExt.MapPanel.guess().layers;} -this.store.each(function(record){this.addLayerNode(node,record);},this);this.addStoreHandlers(node);if(typeof callback=="function"){callback();} -this.fireEvent("load",this,node);}},onStoreAdd:function(store,records,index,node){if(!this._reordering){var nodeIndex=node.recordIndexToNodeIndex(index+records.length-1);for(var i=0;i1){var searchIndex=(index===0)?index+1:index-1;newRecordIndex=this.store.findBy(function(r){return newParent.childNodes[searchIndex].layer===r.getLayer();});index===0&&newRecordIndex++;}else if(oldParent.parentNode===newParent.parentNode){var prev=newParent;do{prev=prev.previousSibling;}while(prev&&!(prev instanceof GeoExt.tree.LayerContainer&&prev.lastChild));if(prev){newRecordIndex=this.store.findBy(function(r){return prev.lastChild.layer===r.getLayer();});}else{var next=newParent;do{next=next.nextSibling;}while(next&&!(next instanceof GeoExt.tree.LayerContainer&&next.firstChild));if(next){newRecordIndex=this.store.findBy(function(r){return next.firstChild.layer===r.getLayer();});} -newRecordIndex++;}} -if(newRecordIndex!==undefined){this.store.insert(newRecordIndex,[record]);window.setTimeout(function(){newParent.reload();oldParent.reload();});}else{this.store.insert(oldRecordIndex,[record]);} -delete newParent.loader._reordering;} -delete this._reordering;},addStoreHandlers:function(node){if(!this._storeHandlers){this._storeHandlers={"add":this.onStoreAdd.createDelegate(this,[node],true),"remove":this.onStoreRemove.createDelegate(this,[node],true)};for(var evt in this._storeHandlers){this.store.on(evt,this._storeHandlers[evt],this);}}},removeStoreHandlers:function(){if(this._storeHandlers){for(var evt in this._storeHandlers){this.store.un(evt,this._storeHandlers[evt],this);} -delete this._storeHandlers;}},createNode:function(attr){if(this.baseAttrs){Ext.apply(attr,this.baseAttrs);} -if(typeof attr.uiProvider=='string'){attr.uiProvider=this.uiProviders[attr.uiProvider]||eval(attr.uiProvider);} -attr.nodeType=attr.nodeType||"gx_layer";return new Ext.tree.TreePanel.nodeTypes[attr.nodeType](attr);},destroy:function(){this.removeStoreHandlers();}});Ext.namespace("GeoExt.plugins");GeoExt.plugins.PrintProviderField=Ext.extend(Ext.util.Observable,{target:null,constructor:function(config){this.initialConfig=config;Ext.apply(this,config);GeoExt.plugins.PrintProviderField.superclass.constructor.apply(this,arguments);},init:function(target){this.target=target;var onCfg={scope:this,"render":this.onRender,"beforedestroy":this.onBeforeDestroy};onCfg[target instanceof Ext.form.ComboBox?"select":"valid"]=this.onFieldChange;target.on(onCfg);},onRender:function(field){var printProvider=this.printProvider||field.ownerCt.printProvider;if(field.store===printProvider.layouts){field.setValue(printProvider.layout.get(field.displayField));printProvider.on({"layoutchange":this.onProviderChange,scope:this});}else if(field.store===printProvider.dpis){field.setValue(printProvider.dpi.get(field.displayField));printProvider.on({"dpichange":this.onProviderChange,scope:this});}else if(field.initialConfig.value===undefined){field.setValue(printProvider.customParams[field.name]);}},onFieldChange:function(field,record){var printProvider=this.printProvider||field.ownerCt.printProvider;var value=field.getValue();this._updating=true;if(record){switch(field.store){case printProvider.layouts:printProvider.setLayout(record);break;case printProvider.dpis:printProvider.setDpi(record);}}else{printProvider.customParams[field.name]=value;} -delete this._updating;},onProviderChange:function(printProvider,rec){if(!this._updating){this.target.setValue(rec.get(this.target.displayField));}},onBeforeDestroy:function(){var target=this.target;target.un("beforedestroy",this.onBeforeDestroy,this);target.un("render",this.onRender,this);target.un("select",this.onFieldChange,this);target.un("valid",this.onFieldChange,this);var printProvider=this.printProvider||target.ownerCt.printProvider;printProvider.un("layoutchange",this.onProviderChange,this);printProvider.un("dpichange",this.onProviderChange,this);}});Ext.preg("gx_printproviderfield",GeoExt.plugins.PrintProviderField);Ext.namespace("GeoExt","GeoExt.data");GeoExt.data.LayerReader=function(meta,recordType){meta=meta||{};if(!(recordType instanceof Function)){recordType=GeoExt.data.LayerRecord.create(recordType||meta.fields||{});} -GeoExt.data.LayerReader.superclass.constructor.call(this,meta,recordType);};Ext.extend(GeoExt.data.LayerReader,Ext.data.DataReader,{totalRecords:null,readRecords:function(layers){var records=[];if(layers){var recordType=this.recordType,fields=recordType.prototype.fields;var i,lenI,j,lenJ,layer,values,field,v;for(i=0,lenI=layers.length;i'].join(""));}},onRawClickNode:function(node,e){var el=e.getTarget('.gx-tree-radio',1);if(el){el.defaultChecked=el.checked;this.fireEvent("radiochange",node);return false;}},onBeforeDestroy:function(tree){tree.un("rendernode",this.onRenderNode,this);tree.un("rawclicknode",this.onRawClickNode,this);tree.un("beforedestroy",this.onBeforeDestroy,this);}});Ext.preg("gx_treenoderadiobutton",GeoExt.plugins.TreeNodeRadioButton);Ext.namespace("GeoExt.data");GeoExt.data.StyleReader=Ext.extend(Ext.data.JsonReader,{onMetaChange:function(){GeoExt.data.StyleReader.superclass.onMetaChange.apply(this,arguments);this.recordType.prototype.commit=Ext.createInterceptor(this.recordType.prototype.commit,function(){var reader=this.store.reader;reader.raw[reader.meta.root]=reader.meta.storeToData(this.store);});},readRecords:function(o){var type,rows;if(o instanceof OpenLayers.Symbolizer.Raster){type="colorMap";}else{type="rules";} -this.raw=o;Ext.applyIf(this.meta,GeoExt.data.StyleReader.metaData[type]);var data={metaData:this.meta};data[type]=o[type];return GeoExt.data.StyleReader.superclass.readRecords.call(this,data);}});GeoExt.data.StyleReader.metaData={colorMap:{root:"colorMap",idProperty:"filter",fields:[{name:"symbolizers",mapping:function(v){return{fillColor:v.color,fillOpacity:v.opacity,stroke:false};}},{name:"filter",mapping:"quantity",type:"float"},{name:"label",mapping:function(v){return v.label||v.quantity;}}],storeToData:function(store){store.sort("filter","ASC");var colorMap=[];store.each(function(rec){var symbolizer=rec.get("symbolizers"),label=rec.get("label"),labelModified=rec.isModified("label");var quantity=Number(rec.get("filter"));rec.data.filter=quantity;if((!rec.json.label&&!labelModified&&rec.isModified("filter"))||(labelModified&&!label)){rec.data.label=quantity;} -colorMap.push(Ext.apply(rec.json,{color:symbolizer.fillColor,label:typeof label=="string"?label:undefined,opacity:symbolizer.opacity,quantity:quantity}));});return colorMap;}},rules:{root:"rules",fields:["symbolizers","filter",{name:"label",mapping:"title"},"name","description","elseFilter","minScaleDenominator","maxScaleDenominator"],storeToData:function(store){var rules=[];store.each(function(rec){var filter=rec.get("filter");if(typeof filter==="string"){filter=filter?OpenLayers.Format.CQL.prototype.read(filter):null;} -rules.push(Ext.apply(rec.json,{symbolizers:rec.get("symbolizers"),filter:filter,title:rec.get("label"),name:rec.get("name"),description:rec.get("description"),elseFilter:rec.get("elseFilter"),minScaleDenominator:rec.get("minScaleDenominator"),maxScaleDenominator:rec.get("maxScaleDenominator")}));});return rules;}}};Ext.namespace('GeoExt','GeoExt.data');GeoExt.data.FeatureReader=function(meta,recordType){meta=meta||{};if(!(recordType instanceof Function)){recordType=GeoExt.data.FeatureRecord.create(recordType||meta.fields||{});} -GeoExt.data.FeatureReader.superclass.constructor.call(this,meta,recordType);};Ext.extend(GeoExt.data.FeatureReader,Ext.data.DataReader,{totalRecords:null,read:function(response){return this.readRecords(response.features);},readRecords:function(features){var records=[];if(features){var recordType=this.recordType,fields=recordType.prototype.fields;var i,lenI,j,lenJ,feature,values,field,v;for(i=0,lenI=features.length;i0){if(styleName){Ext.each(styles,function(s){url=(s.name==styleName&&s.legend)&&s.legend.href;return!url;});}else if(this.defaultStyleIsFirst===true&&!styleNames&&!layer.params.SLD&&!layer.params.SLD_BODY){url=styles[0].legend&&styles[0].legend.href;}} -if(!url){url=layer.getFullRequestString({REQUEST:"GetLegendGraphic",WIDTH:null,HEIGHT:null,EXCEPTIONS:"application/vnd.ogc.se_xml",LAYER:layerName,LAYERS:null,STYLE:(styleName!=='')?styleName:null,STYLES:null,SRS:null,FORMAT:null,TIME:null});} -if(url.toLowerCase().indexOf("request=getlegendgraphic")!=-1){if(url.toLowerCase().indexOf("format=")==-1){url=Ext.urlAppend(url,"FORMAT=image/gif");} -if(this.useScaleParameter===true){var scale=layer.map.getScale();url=Ext.urlAppend(url,"SCALE="+scale);}} -var params=Ext.apply({},this.baseParams);if(layer.params._OLSALT){params._OLSALT=layer.params._OLSALT;} -url=Ext.urlAppend(url,Ext.urlEncode(params));return url;},update:function(){var layer=this.layerRecord.getLayer();if(!(layer&&layer.map)){return;} -GeoExt.WMSLegend.superclass.update.apply(this,arguments);var layerNames,layerName,i,len;layerNames=[layer.params.LAYERS].join(",").split(",");var destroyList=[];var textCmp=this.items.get(0);this.items.each(function(cmp){i=layerNames.indexOf(cmp.itemId);if(i<0&&cmp!=textCmp){destroyList.push(cmp);}else if(cmp!==textCmp){layerName=layerNames[i];var newUrl=this.getLegendUrl(layerName,layerNames);if(!OpenLayers.Util.isEquivalentUrl(newUrl,cmp.url)){cmp.setUrl(newUrl);}}},this);for(i=0,len=destroyList.length;i1&&(type=GeoExt.form.toFilter.FILTER_MAP[s[1]])!==undefined){prop=s[0];}else{type=OpenLayers.Filter.Comparison.EQUAL_TO;} -if(type===OpenLayers.Filter.Comparison.LIKE){switch(wildcard){case GeoExt.form.ENDS_WITH:value='.*'+value;break;case GeoExt.form.STARTS_WITH:value+='.*';break;case GeoExt.form.CONTAINS:value='.*'+value+'.*';break;default:break;}} -filters.push(new OpenLayers.Filter.Comparison({type:type,value:value,property:prop}));} -return filters.length==1&&logicalOp!=OpenLayers.Filter.Logical.NOT?filters[0]:new OpenLayers.Filter.Logical({type:logicalOp||OpenLayers.Filter.Logical.AND,filters:filters});};GeoExt.form.toFilter.FILTER_MAP={"eq":OpenLayers.Filter.Comparison.EQUAL_TO,"ne":OpenLayers.Filter.Comparison.NOT_EQUAL_TO,"lt":OpenLayers.Filter.Comparison.LESS_THAN,"le":OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO,"gt":OpenLayers.Filter.Comparison.GREATER_THAN,"ge":OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO,"like":OpenLayers.Filter.Comparison.LIKE};GeoExt.form.ENDS_WITH=1;GeoExt.form.STARTS_WITH=2;GeoExt.form.CONTAINS=3;GeoExt.form.recordToField=function(record,options){options=options||{};var type=record.get("type");if(typeof type==="object"&&type.xtype){return type;} -type=type.split(":").pop();var field;var name=record.get("name");var restriction=record.get("restriction")||{};var nillable=record.get("nillable")||false;var label=record.get("label");var labelTpl=options.labelTpl;if(labelTpl){var tpl=(labelTpl instanceof Ext.Template)?labelTpl:new Ext.XTemplate(labelTpl);label=tpl.apply(record.data);}else if(label==null){label=name;} -var baseOptions={name:name,labelStyle:nillable?'':options.mandatoryFieldLabelStyle!=null?options.mandatoryFieldLabelStyle:'font-weight:bold;'};var r=GeoExt.form.recordToField.REGEXES;if(type.match(r["text"])){var maxLength=restriction["maxLength"]!==undefined?parseFloat(restriction["maxLength"]):undefined;var minLength=restriction["minLength"]!==undefined?parseFloat(restriction["minLength"]):undefined;field=Ext.apply({xtype:"textfield",fieldLabel:label,maxLength:maxLength,minLength:minLength},baseOptions);}else if(type.match(r["number"])){var maxValue=restriction["maxInclusive"]!==undefined?parseFloat(restriction["maxInclusive"]):undefined;var minValue=restriction["minInclusive"]!==undefined?parseFloat(restriction["minInclusive"]):undefined;field=Ext.apply({xtype:"numberfield",fieldLabel:label,maxValue:maxValue,minValue:minValue},baseOptions);}else if(type.match(r["boolean"])){field=Ext.apply({xtype:"checkbox"},baseOptions);var labelProperty=options.checkboxLabelProperty||"boxLabel";field[labelProperty]=label;}else if(type.match(r["date"])){field=Ext.apply({xtype:"datefield",fieldLabel:label,format:'c'},baseOptions);} -return field;};GeoExt.form.recordToField.REGEXES={"text":new RegExp("^(text|string)$","i"),"number":new RegExp("^(number|float|decimal|double|int|long|integer|short)$","i"),"boolean":new RegExp("^(boolean)$","i"),"date":new RegExp("^(date|dateTime)$","i")};Ext.namespace('GeoExt');GeoExt.FeatureRenderer=Ext.extend(Ext.BoxComponent,{feature:undefined,symbolizers:[OpenLayers.Feature.Vector.style["default"]],symbolType:"Polygon",resolution:1,minWidth:20,minHeight:20,renderers:["SVG","VML","Canvas"],rendererOptions:null,pointFeature:undefined,lineFeature:undefined,polygonFeature:undefined,renderer:null,initComponent:function(){GeoExt.FeatureRenderer.superclass.initComponent.apply(this,arguments);Ext.applyIf(this,{pointFeature:new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(0,0)),lineFeature:new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString([new OpenLayers.Geometry.Point(-8,-3),new OpenLayers.Geometry.Point(-3,3),new OpenLayers.Geometry.Point(3,-3),new OpenLayers.Geometry.Point(8,3)])),polygonFeature:new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing([new OpenLayers.Geometry.Point(-8,-4),new OpenLayers.Geometry.Point(-6,-6),new OpenLayers.Geometry.Point(6,-6),new OpenLayers.Geometry.Point(8,-4),new OpenLayers.Geometry.Point(8,4),new OpenLayers.Geometry.Point(6,6),new OpenLayers.Geometry.Point(-6,6),new OpenLayers.Geometry.Point(-8,4)])]))});if(!this.feature){this.setFeature(null,{draw:false});} -this.addEvents("click");},initCustomEvents:function(){this.clearCustomEvents();this.el.on("click",this.onClick,this);},clearCustomEvents:function(){if(this.el&&this.el.removeAllListeners){this.el.removeAllListeners();}},onClick:function(){this.fireEvent("click",this);},onRender:function(ct,position){if(!this.el){this.el=document.createElement("div");this.el.id=this.getId();} -if(!this.renderer||!this.renderer.supported()){this.assignRenderer();} -this.renderer.map={getResolution:(function(){return this.resolution;}).createDelegate(this)};GeoExt.FeatureRenderer.superclass.onRender.apply(this,arguments);this.drawFeature();},afterRender:function(){GeoExt.FeatureRenderer.superclass.afterRender.apply(this,arguments);this.initCustomEvents();},onResize:function(w,h){this.setRendererDimensions();GeoExt.FeatureRenderer.superclass.onResize.apply(this,arguments);},setRendererDimensions:function(){var gb=this.feature.geometry.getBounds();var gw=gb.getWidth();var gh=gb.getHeight();var resolution=this.initialConfig.resolution;if(!resolution){resolution=Math.max(gw/this.width||0,gh/this.height||0)||1;} -this.resolution=resolution;var width=Math.max(this.width||this.minWidth,gw/resolution);var height=Math.max(this.height||this.minHeight,gh/resolution);var center=gb.getCenterPixel();var bhalfw=width*resolution/2;var bhalfh=height*resolution/2;var bounds=new OpenLayers.Bounds(center.x-bhalfw,center.y-bhalfh,center.x+bhalfw,center.y+bhalfh);this.renderer.setSize(new OpenLayers.Size(Math.round(width),Math.round(height)));this.renderer.setExtent(bounds,true);},assignRenderer:function(){for(var i=0,len=this.renderers.length;i-1||locationPx.x>mapBox.width/2){this.anc.addClass("right");var ancRight=this.el.getX(true)+elSize.width- -this.anc.getX(true)-ancSize.width;left-=elSize.width-ancRight-ancSize.width/2;}else{this.anc.removeClass("right");var ancLeft=this.anc.getLeft(true);left-=ancLeft+ancSize.width/2;} -if(ancPos.indexOf("bottom")>-1||locationPx.y>mapBox.height/2){this.anc.removeClass("top");top-=elSize.height+ancSize.height;}else{this.anc.addClass("top");top+=ancSize.height;} -this.setPosition(left,top);}},unanchorPopup:function(){this.removeAnchorEvents();this.draggable=true;this.header.addClass("x-window-draggable");this.dd=new Ext.Window.DD(this);this.anc.remove();this.anc=null;this.tools.unpin.hide();},panIntoView:function(){var mapBox=Ext.fly(this.map.div).getBox(true);var popupPos=this.getPosition(true);popupPos[0]-=mapBox.x;popupPos[1]-=mapBox.y;var panelSize=[mapBox.width,mapBox.height];var popupSize=this.getSize();var newPos=[popupPos[0],popupPos[1]];var padding=this.map.paddingForPopups;if(popupPos[0]panelSize[0]-padding.right){newPos[0]=panelSize[0]-padding.right-popupSize.width;} -if(popupPos[1]panelSize[1]-padding.bottom){newPos[1]=panelSize[1]-padding.bottom-popupSize.height;} -var dx=popupPos[0]-newPos[0];var dy=popupPos[1]-newPos[1];this.map.pan(dx,dy);},onMapMove:function(){if(!(this.hidden&&this.insideViewport)){this._mapMove=true;this.position();delete this._mapMove;}},addAnchorEvents:function(){this.map.events.on({"move":this.onMapMove,scope:this});this.on({"resize":this.position,"collapse":this.position,"expand":this.position,scope:this});},removeAnchorEvents:function(){this.map.events.un({"move":this.onMapMove,scope:this});this.un("resize",this.position,this);this.un("collapse",this.position,this);this.un("expand",this.position,this);},beforeDestroy:function(){if(this.anchored){this.removeAnchorEvents();} -GeoExt.Popup.superclass.beforeDestroy.call(this);}});Ext.reg('gx_popup',GeoExt.Popup);Ext.namespace("GeoExt.data");GeoExt.data.AttributeStoreMixin=function(){return{constructor:function(c){c=c||{};arguments.callee.superclass.constructor.call(this,Ext.apply(c,{proxy:c.proxy||(!c.data?new Ext.data.HttpProxy({url:c.url,disableCaching:false,method:"GET"}):undefined),reader:new GeoExt.data.AttributeReader(c,c.fields||["name","type","restriction",{name:"nillable",type:"boolean"}])}));if(this.feature){this.bind();}},bind:function(){this.on({"update":this.onUpdate,"load":this.onLoad,"add":this.onAdd,scope:this});var records=[];this.each(function(record){records.push(record);});this.updateFeature(records);},onUpdate:function(store,record,operation){this.updateFeature([record]);},onLoad:function(store,records,options){if(!options||options.add!==true){this.updateFeature(records);}},onAdd:function(store,records,index){this.updateFeature(records);},updateFeature:function(records){var feature=this.feature,layer=feature.layer;var i,len,record,name,value,oldValue,dirty;for(i=0,len=records.length;i=0;--i){record=store.getAt(i);layer=record.getLayer();var types=GeoExt.LayerLegend.getTypes(record);if(layer.displayInLayerSwitcher&&types.length>0&&(store.getAt(i).get("hideInLegend")!==true)){++panelIndex;if(index===i||panelIndex>legendCount-1){break;}}} -return panelIndex;},getIdForLayer:function(layer){return this.id+"-"+layer.id;},onStoreAdd:function(store,records,index){var panelIndex=this.recordIndexToPanelIndex(index+records.length-1);for(var i=0,len=records.length;i0){this.insert(index,{xtype:types[0],id:this.getIdForLayer(layer),layerRecord:record,hidden:!((!layer.map&&layer.visibility)||(layer.getVisibility()&&layer.calculateInRange()))});}}},onDestroy:function(){if(this.layerStore){this.layerStore.un("add",this.onStoreAdd,this);this.layerStore.un("remove",this.onStoreRemove,this);this.layerStore.un("clear",this.onStoreClear,this);} -GeoExt.LegendPanel.superclass.onDestroy.apply(this,arguments);}});Ext.reg('gx_legendpanel',GeoExt.LegendPanel);Ext.namespace("GeoExt.plugins");GeoExt.plugins.TreeNodeActions=Ext.extend(Ext.util.Observable,{actionsCls:"gx-tree-layer-actions",actionCls:"gx-tree-layer-action",constructor:function(config){Ext.apply(this.initialConfig,Ext.apply({},config));Ext.apply(this,config);this.addEvents("action");GeoExt.plugins.TreeNodeActions.superclass.constructor.apply(this,arguments);},init:function(tree){tree.on({"rendernode":this.onRenderNode,"rawclicknode":this.onRawClickNode,"beforedestroy":this.onBeforeDestroy,scope:this});},onRenderNode:function(node){var rendered=node.rendered;if(!rendered){var attr=node.attributes;var actions=attr.actions||this.actions;if(actions&&actions.length>0){var html=['
'];for(var i=0,len=actions.length;i']);} -html.concat(['
']);Ext.DomHelper.insertFirst(node.ui.elNode,html.join(""));} -if(node.layer&&node.layer.map){this.updateActions(node);}else if(node.layerStore){node.layerStore.on({'bind':function(){this.updateActions(node);},scope:this});}}},updateActions:function(node){var actions=node.attributes.actions||this.actions||[];Ext.each(actions,function(a,index){var el=Ext.get(node.id+'_'+a.action);if(el&&typeof a.update=="function"){a.update.call(node,el);}});},onRawClickNode:function(node,e){if(e.getTarget('.'+this.actionCls,1)){var t=e.getTarget('.'+this.actionCls,1);var action=t.className.replace(this.actionCls+' ','');this.fireEvent("action",node,action,e);return false;}},onBeforeDestroy:function(tree){tree.un("rendernode",this.onRenderNode,this);tree.un("rawclicknode",this.onRawClickNode,this);tree.un("beforedestroy",this.onBeforeDestroy,this);}});Ext.preg("gx_treenodeactions",GeoExt.plugins.TreeNodeActions);GeoExt.Lang.add("nl",{"GeoExt.tree.LayerContainer.prototype":{text:"Kaartlagen"},"GeoExt.tree.BaseLayerContainer.prototype":{text:"Basis kaarten"},"GeoExt.tree.OverlayLayerContainer.prototype":{text:"Kaart overlays"}});Ext.namespace("GeoExt.plugins");GeoExt.plugins.PrintPageField=Ext.extend(Ext.util.Observable,{printPage:null,target:null,constructor:function(config){this.initialConfig=config;Ext.apply(this,config);GeoExt.plugins.PrintPageField.superclass.constructor.apply(this,arguments);},init:function(target){this.target=target;var onCfg={"beforedestroy":this.onBeforeDestroy,scope:this};var eventName=target instanceof Ext.form.ComboBox?"select":target instanceof Ext.form.Checkbox?"check":"valid";onCfg[eventName]=this.onFieldChange;target.on(onCfg);this.printPage.on({"change":this.onPageChange,scope:this});this.printPage.printProvider.on({"layoutchange":this.onLayoutChange,scope:this});this.setValue(this.printPage);},onFieldChange:function(field,record){var printProvider=this.printPage.printProvider;var value=field.getValue();this._updating=true;if(field.store===printProvider.scales||field.name==="scale"){this.printPage.setScale(record);}else if(field.name=="rotation"){!isNaN(value)&&this.printPage.setRotation(value);}else{this.printPage.customParams[field.name]=value;} -delete this._updating;},onPageChange:function(printPage){if(!this._updating){this.setValue(printPage);}},onLayoutChange:function(printProvider,layout){var t=this.target;t.name=="rotation"&&t.setDisabled(!layout.get("rotation"));},setValue:function(printPage){var t=this.target;t.suspendEvents();if(t.store===printPage.printProvider.scales||t.name==="scale"){if(printPage.scale){t.setValue(printPage.scale.get(t.displayField));}}else if(t.name=="rotation"){t.setValue(printPage.rotation);} -t.resumeEvents();},onBeforeDestroy:function(){this.target.un("beforedestroy",this.onBeforeDestroy,this);this.target.un("select",this.onFieldChange,this);this.target.un("valid",this.onFieldChange,this);this.printPage.un("change",this.onPageChange,this);this.printPage.printProvider.un("layoutchange",this.onLayoutChange,this);}});Ext.preg("gx_printpagefield",GeoExt.plugins.PrintPageField);Ext.namespace("GeoExt.tree");GeoExt.tree.LayerNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{constructor:function(config){GeoExt.tree.LayerNodeUI.superclass.constructor.apply(this,arguments);},render:function(bulkRender){var a=this.node.attributes;if(a.checked===undefined){a.checked=this.node.layer.getVisibility();} -GeoExt.tree.LayerNodeUI.superclass.render.apply(this,arguments);var cb=this.checkbox;if(a.checkedGroup){var radio=Ext.DomHelper.insertAfter(cb,[''].join(""));radio.defaultChecked=cb.defaultChecked;Ext.get(cb).remove();this.checkbox=radio;} -this.enforceOneVisible();},onClick:function(e){if(e.getTarget('.x-tree-node-cb',1)){this.toggleCheck(this.isChecked());}else{GeoExt.tree.LayerNodeUI.superclass.onClick.apply(this,arguments);}},toggleCheck:function(value){value=(value===undefined?!this.isChecked():value);GeoExt.tree.LayerNodeUI.superclass.toggleCheck.call(this,value);this.enforceOneVisible();},enforceOneVisible:function(){var attributes=this.node.attributes;var group=attributes.checkedGroup;if(group&&group!=="gx_baselayer"){var layer=this.node.layer;var checkedNodes=this.node.getOwnerTree().getChecked();var checkedCount=0;Ext.each(checkedNodes,function(n){var l=n.layer -if(!n.hidden&&n.attributes.checkedGroup===group){checkedCount++;if(l!=layer&&attributes.checked){l.setVisibility(false);}}});if(checkedCount===0&&attributes.checked==false){layer.setVisibility(true);}}},appendDDGhost:function(ghostNode){var n=this.elNode.cloneNode(true);var radio=Ext.DomQuery.select("input[type='radio']",n);Ext.each(radio,function(r){r.name=r.name+"_clone";});ghostNode.appendChild(n);}});GeoExt.tree.LayerNode=Ext.extend(Ext.tree.AsyncTreeNode,{layer:null,layerStore:null,constructor:function(config){config.leaf=config.leaf||!(config.children||config.loader);if(!config.iconCls&&!config.children){config.iconCls="gx-tree-layer-icon";} -if(config.loader&&!(config.loader instanceof Ext.tree.TreeLoader)){config.loader=new GeoExt.tree.LayerParamLoader(config.loader);} -this.defaultUI=this.defaultUI||GeoExt.tree.LayerNodeUI;Ext.apply(this,{layer:config.layer,layerStore:config.layerStore});if(config.text){this.fixedText=true;} -GeoExt.tree.LayerNode.superclass.constructor.apply(this,arguments);},render:function(bulkRender){var layer=this.layer instanceof OpenLayers.Layer&&this.layer;if(!layer){if(!this.layerStore||this.layerStore=="auto"){this.layerStore=GeoExt.MapPanel.guess().layers;} -var i=this.layerStore.findBy(function(o){return o.get("title")==this.layer;},this);if(i!=-1){layer=this.layerStore.getAt(i).getLayer();}} -if(!this.rendered||!layer){var ui=this.getUI();if(layer){this.layer=layer;if(layer.isBaseLayer){this.draggable=false;Ext.applyIf(this.attributes,{checkedGroup:"gx_baselayer"});} -if(!this.text){this.text=layer.name;} -ui.show();this.addVisibilityEventHandlers();}else{ui.hide();} -if(this.layerStore instanceof GeoExt.data.LayerStore){this.addStoreEventHandlers(layer);}} -GeoExt.tree.LayerNode.superclass.render.apply(this,arguments);},addVisibilityEventHandlers:function(){this.layer.events.on({"visibilitychanged":this.onLayerVisibilityChanged,scope:this});this.on({"checkchange":this.onCheckChange,scope:this});},onLayerVisibilityChanged:function(){if(!this._visibilityChanging){this.getUI().toggleCheck(this.layer.getVisibility());}},onCheckChange:function(node,checked){if(checked!=this.layer.getVisibility()){this._visibilityChanging=true;var layer=this.layer;if(checked&&layer.isBaseLayer&&layer.map){layer.map.setBaseLayer(layer);}else{layer.setVisibility(checked);} -delete this._visibilityChanging;}},addStoreEventHandlers:function(){this.layerStore.on({"add":this.onStoreAdd,"remove":this.onStoreRemove,"update":this.onStoreUpdate,scope:this});},onStoreAdd:function(store,records,index){var l;for(var i=0;i=0;}else{this.onCheckChange(this,this.attributes.checked);} -this.layer.events.on({"visibilitychanged":this.onLayerVisibilityChanged,scope:this});this.on({"checkchange":this.onCheckChange,scope:this});}},getLayer:function(){if(!this.layer){var layer=this.attributes.layer;if(typeof layer=="string"){var store=this.attributes.layerStore||GeoExt.MapPanel.guess().layers;var i=store.findBy(function(o){return o.get("title")==layer;});layer=i!=-1?store.getAt(i).getLayer():null;} -this.layer=layer;} -return this.layer;},getItemsFromLayer:function(){var paramValue=this.layer.params[this.param];return paramValue instanceof Array?paramValue:(paramValue?paramValue.split(this.delimiter):[]);},createParams:function(items){var params={};params[this.param]=this.layer.params[this.param]instanceof Array?items:items.join(this.delimiter);return params;},onLayerVisibilityChanged:function(){if(this.getItemsFromLayer().length===0){this.layer.mergeNewParams(this.createParams(this.allItems));} -var visible=this.layer.getVisibility();if(visible&&this.getItemsFromLayer().indexOf(this.item)!==-1){this.getUI().toggleCheck(true);} -if(!visible){this.layer.mergeNewParams(this.createParams([]));this.getUI().toggleCheck(false);}},onCheckChange:function(node,checked){var layer=this.layer;var newItems=[];var curItems=this.getItemsFromLayer();if(checked===true&&layer.getVisibility()===false&&curItems.length===this.allItems.length){curItems=[];} -Ext.each(this.allItems,function(item){if((item!==this.item&&curItems.indexOf(item)!==-1)||(checked===true&&item===this.item)){newItems.push(item);}},this);var visible=(newItems.length>0);visible&&layer.mergeNewParams(this.createParams(newItems));if(visible!==layer.getVisibility()){layer.setVisibility(visible);} -(!visible)&&layer.mergeNewParams(this.createParams([]));},destroy:function(){var layer=this.layer;if(layer instanceof OpenLayers.Layer){layer.events.un({"visibilitychanged":this.onLayerVisibilityChanged,scope:this});} -delete this.layer;this.un("checkchange",this.onCheckChange,this);GeoExt.tree.LayerParamNode.superclass.destroy.apply(this,arguments);}});Ext.tree.TreePanel.nodeTypes.gx_layerparam=GeoExt.tree.LayerParamNode;Ext.namespace('GeoExt');GeoExt.UrlLegend=Ext.extend(GeoExt.LayerLegend,{initComponent:function(){GeoExt.UrlLegend.superclass.initComponent.call(this);this.add(new GeoExt.LegendImage({url:this.layerRecord.get("legendURL")}));},update:function(){GeoExt.UrlLegend.superclass.update.apply(this,arguments);this.items.get(1).setUrl(this.layerRecord.get("legendURL"));}});GeoExt.UrlLegend.supports=function(layerRecord){return layerRecord.get("legendURL")==null?0:10;};GeoExt.LayerLegend.types["gx_urllegend"]=GeoExt.UrlLegend;Ext.reg('gx_urllegend',GeoExt.UrlLegend);Ext.namespace("GeoExt.state");GeoExt.state.PermalinkProvider=function(config){GeoExt.state.PermalinkProvider.superclass.constructor.apply(this,arguments);config=config||{};var url=config.url;delete config.url;Ext.apply(this,config);this.state=this.readURL(url);};Ext.extend(GeoExt.state.PermalinkProvider,Ext.state.Provider,{encodeType:true,readURL:function(url){var state={};var params=OpenLayers.Util.getParameters(url);var k,split,stateId;for(k in params){if(params.hasOwnProperty(k)){split=k.split("_");if(split.length>1){stateId=split[0];state[stateId]=state[stateId]||{};state[stateId][split.slice(1).join("_")]=this.encodeType?this.decodeValue(params[k]):params[k];}}} -return state;},getLink:function(base){base=base||document.location.href;var params={};var id,k,state=this.state;for(id in state){if(state.hasOwnProperty(id)){for(k in state[id]){params[id+"_"+k]=this.encodeType?unescape(this.encodeValue(state[id][k])):state[id][k];}}} -OpenLayers.Util.applyDefaults(params,OpenLayers.Util.getParameters(base));var paramsStr=OpenLayers.Util.getParameterString(params);var qMark=base.indexOf("?");if(qMark>0){base=base.substring(0,qMark);} -return Ext.urlAppend(base,paramsStr);}});Ext.namespace('GeoExt');GeoExt.LegendImage=Ext.extend(Ext.BoxComponent,{url:null,defaultImgSrc:null,imgCls:null,initComponent:function(){GeoExt.LegendImage.superclass.initComponent.call(this);if(this.defaultImgSrc===null){this.defaultImgSrc=Ext.BLANK_IMAGE_URL;} -this.autoEl={tag:"img","class":(this.imgCls?this.imgCls:""),src:this.defaultImgSrc};},setUrl:function(url){this.url=url;var el=this.getEl();if(el){el.un("error",this.onImageLoadError,this);el.on("error",this.onImageLoadError,this,{single:true});el.dom.src=url;}},onRender:function(ct,position){GeoExt.LegendImage.superclass.onRender.call(this,ct,position);if(this.url){this.setUrl(this.url);}},onDestroy:function(){var el=this.getEl();if(el){el.un("error",this.onImageLoadError,this);} -GeoExt.LegendImage.superclass.onDestroy.apply(this,arguments);},onImageLoadError:function(){this.getEl().dom.src=this.defaultImgSrc;}});Ext.reg('gx_legendimage',GeoExt.LegendImage);Ext.namespace("GeoExt");GeoExt.LayerOpacitySlider=Ext.extend(Ext.slider.SingleSlider,{layer:null,complementaryLayer:null,delay:5,changeVisibilityDelay:5,aggressive:false,changeVisibility:false,value:null,inverse:false,constructor:function(config){if(config.layer){this.layer=this.getLayer(config.layer);this.bind();this.complementaryLayer=this.getLayer(config.complementaryLayer);if(config.inverse!==undefined){this.inverse=config.inverse;} -config.value=(config.value!==undefined)?config.value:this.getOpacityValue(this.layer);delete config.layer;delete config.complementaryLayer;} -GeoExt.LayerOpacitySlider.superclass.constructor.call(this,config);},bind:function(){if(this.layer&&this.layer.map){this.layer.map.events.on({changelayer:this.update,scope:this});}},unbind:function(){if(this.layer&&this.layer.map&&this.layer.map.events){this.layer.map.events.un({changelayer:this.update,scope:this});}},update:function(evt){if(evt.property==="opacity"&&evt.layer==this.layer&&!this._settingOpacity){this.setValue(this.getOpacityValue(this.layer));}},setLayer:function(layer){this.unbind();this.layer=this.getLayer(layer);this.setValue(this.getOpacityValue(layer));this.bind();},getOpacityValue:function(layer){var value;if(layer&&layer.opacity!==null){value=parseInt(layer.opacity*(this.maxValue-this.minValue));}else{value=this.maxValue;} -if(this.inverse===true){value=(this.maxValue-this.minValue)-value;} -return value;},getLayer:function(layer){if(layer instanceof OpenLayers.Layer){return layer;}else if(layer instanceof GeoExt.data.LayerRecord){return layer.getLayer();}},initComponent:function(){GeoExt.LayerOpacitySlider.superclass.initComponent.call(this);if(this.changeVisibility&&this.layer&&(this.layer.opacity==0||(this.inverse===false&&this.value==this.minValue)||(this.inverse===true&&this.value==this.maxValue))){this.layer.setVisibility(false);} -if(this.complementaryLayer&&((this.layer&&this.layer.opacity==1)||(this.inverse===false&&this.value==this.maxValue)||(this.inverse===true&&this.value==this.minValue))){this.complementaryLayer.setVisibility(false);} -if(this.aggressive===true){this.on('change',this.changeLayerOpacity,this,{buffer:this.delay});}else{this.on('changecomplete',this.changeLayerOpacity,this);} -if(this.changeVisibility===true){this.on('change',this.changeLayerVisibility,this,{buffer:this.changeVisibilityDelay});} -if(this.complementaryLayer){this.on('change',this.changeComplementaryLayerVisibility,this,{buffer:this.changeVisibilityDelay});} -this.on("beforedestroy",this.unbind,this);},changeLayerOpacity:function(slider,value){if(this.layer){value=value/(this.maxValue-this.minValue);if(this.inverse===true){value=1-value;} -this._settingOpacity=true;this.layer.setOpacity(value);delete this._settingOpacity;}},changeLayerVisibility:function(slider,value){var currentVisibility=this.layer.getVisibility();if((this.inverse===false&&value==this.minValue)||(this.inverse===true&&value==this.maxValue)&¤tVisibility===true){this.layer.setVisibility(false);}else if((this.inverse===false&&value>this.minValue)||(this.inverse===true&&valuethis.minValue)&¤tVisibility==false){this.complementaryLayer.setVisibility(true);}},addToMapPanel:function(panel){this.on({render:function(){var el=this.getEl();el.setStyle({position:"absolute",zIndex:panel.map.Z_INDEX_BASE.Control});el.on({mousedown:this.stopMouseEvents,click:this.stopMouseEvents});},scope:this});},removeFromMapPanel:function(panel){var el=this.getEl();el.un({mousedown:this.stopMouseEvents,click:this.stopMouseEvents,scope:this});this.unbind();},stopMouseEvents:function(e){e.stopEvent();}});Ext.reg('gx_opacityslider',GeoExt.LayerOpacitySlider);Ext.namespace("GeoExt.data");GeoExt.data.AttributeReader=function(meta,recordType){meta=meta||{};if(!meta.format){meta.format=new OpenLayers.Format.WFSDescribeFeatureType();} -GeoExt.data.AttributeReader.superclass.constructor.call(this,meta,recordType||meta.fields);if(meta.feature){this.recordType.prototype.fields.add(new Ext.data.Field("value"));}};Ext.extend(GeoExt.data.AttributeReader,Ext.data.DataReader,{read:function(request){var data=request.responseXML;if(!data||!data.documentElement){data=request.responseText;} -return this.readRecords(data);},readRecords:function(data){var attributes;if(data instanceof Array){attributes=data;}else{attributes=this.meta.format.read(data).featureTypes[0].properties;} -var feature=this.meta.feature;var recordType=this.recordType;var fields=recordType.prototype.fields;var numFields=fields.length;var attr,values,name,record,ignore,value,field,records=[];for(var i=0,len=attributes.length;i-1);}else if(matches instanceof RegExp){ignore=(matches.test(value));}} -return ignore;}});Ext.namespace('GeoExt.grid');GeoExt.grid.SymbolizerColumn=Ext.extend(Ext.grid.Column,{renderer:function(value,meta){if(value!=null){var id=Ext.id();window.setTimeout(function(){var ct=Ext.get(id);if(ct){new GeoExt.FeatureRenderer({symbolizers:value instanceof Array?value:[value],renderTo:ct});}},0);meta.css="gx-grid-symbolizercol";return'
';}}});Ext.grid.Column.types.gx_symbolizercolumn=GeoExt.grid.SymbolizerColumn;Ext.namespace("GeoExt.plugins");GeoExt.plugins.TreeNodeComponent=Ext.extend(Ext.util.Observable,{constructor:function(config){Ext.apply(this.initialConfig,Ext.apply({},config));Ext.apply(this,config);GeoExt.plugins.TreeNodeComponent.superclass.constructor.apply(this,arguments);},init:function(tree){tree.on({"rendernode":this.onRenderNode,"beforedestroy":this.onBeforeDestroy,scope:this});},onRenderNode:function(node){var rendered=node.rendered;var attr=node.attributes;var component=attr.component||this.component;if(!rendered&&component){var elt=Ext.DomHelper.append(node.ui.elNode,[{"tag":"div"}]);if(typeof component=="function"){component=component(node,elt);}else if(typeof component=="object"&&typeof component.fn=="function"){component=component.fn.apply(component.scope,[node,elt]);} -if(typeof component=="object"&&typeof component.xtype=="string"){component=Ext.ComponentMgr.create(component);} -if(component instanceof Ext.Component){component.render(elt);node.component=component;}}},onBeforeDestroy:function(tree){tree.un("rendernode",this.onRenderNode,this);tree.un("beforedestroy",this.onBeforeDestroy,this);}});Ext.preg("gx_treenodecomponent",GeoExt.plugins.TreeNodeComponent);Ext.namespace("GeoExt");GeoExt.ZoomSliderTip=Ext.extend(GeoExt.SliderTip,{template:'
Zoom Level: {zoom}
'+'
Resolution: {resolution}
'+'
Scale: 1 : {scale}
',compiledTemplate:null,init:function(slider){this.compiledTemplate=new Ext.Template(this.template);GeoExt.ZoomSliderTip.superclass.init.call(this,slider);},getText:function(thumb){var data={zoom:thumb.value,resolution:this.slider.getResolution(),scale:Math.round(this.slider.getScale())};return this.compiledTemplate.apply(data);}});Ext.namespace("GeoExt.data");GeoExt.data.PrintProvider=Ext.extend(Ext.util.Observable,{url:null,capabilities:null,method:"POST",encoding:document.charset||document.characterSet||"UTF-8",timeout:30000,customParams:null,scales:null,dpis:null,layouts:null,dpi:null,layout:null,constructor:function(config){this.initialConfig=config;Ext.apply(this,config);if(!this.customParams){this.customParams={};} -this.addEvents("loadcapabilities","layoutchange","dpichange","beforeprint","print","printexception","beforeencodelayer","encodelayer","beforedownload");GeoExt.data.PrintProvider.superclass.constructor.apply(this,arguments);this.scales=new Ext.data.JsonStore({root:"scales",sortInfo:{field:"value",direction:"DESC"},fields:["name",{name:"value",type:"float"}]});this.dpis=new Ext.data.JsonStore({root:"dpis",fields:["name",{name:"value",type:"float"}]});this.layouts=new Ext.data.JsonStore({root:"layouts",fields:["name",{name:"size",mapping:"map"},{name:"rotation",type:"boolean"}]});if(config.capabilities){this.loadStores();}else{if(this.url.split("/").pop()){this.url+="/";} -this.initialConfig.autoLoad&&this.loadCapabilities();}},setLayout:function(layout){this.layout=layout;this.fireEvent("layoutchange",this,layout);},setDpi:function(dpi){this.dpi=dpi;this.fireEvent("dpichange",this,dpi);},print:function(map,pages,options){if(map instanceof GeoExt.MapPanel){map=map.map;} -pages=pages instanceof Array?pages:[pages];options=options||{};if(this.fireEvent("beforeprint",this,map,pages,options)===false){return;} -var jsonData=Ext.apply({units:map.getUnits(),srs:map.baseLayer.projection.getCode(),layout:this.layout.get("name"),dpi:this.dpi.get("value")},this.customParams);var pagesLayer=pages[0].feature.layer;var encodedLayers=[];var layers=map.layers.concat();layers.remove(map.baseLayer);layers.unshift(map.baseLayer);Ext.each(layers,function(layer){if(layer!==pagesLayer&&layer.getVisibility()===true){var enc=this.encodeLayer(layer);enc&&encodedLayers.push(enc);}},this);jsonData.layers=encodedLayers;var encodedPages=[];Ext.each(pages,function(page){encodedPages.push(Ext.apply({center:[page.center.lon,page.center.lat],scale:page.scale.get("value"),rotation:page.rotation},page.customParams));},this);jsonData.pages=encodedPages;if(options.overview){var encodedOverviewLayers=[];Ext.each(options.overview.layers,function(layer){var enc=this.encodeLayer(layer);enc&&encodedOverviewLayers.push(enc);},this);jsonData.overviewLayers=encodedOverviewLayers;} -if(options.legend){var legend=options.legend;var rendered=legend.rendered;if(!rendered){legend=legend.cloneConfig({renderTo:document.body,hidden:true});} -var encodedLegends=[];legend.items&&legend.items.each(function(cmp){if(!cmp.hidden){var encFn=this.encoders.legends[cmp.getXType()];encodedLegends=encodedLegends.concat(encFn.call(this,cmp,jsonData.pages[0].scale));}},this);if(!rendered){legend.destroy();} -jsonData.legends=encodedLegends;} -if(this.method==="GET"){var url=Ext.urlAppend(this.capabilities.printURL,"spec="+encodeURIComponent(Ext.encode(jsonData)));this.download(url);}else{Ext.Ajax.request({url:this.capabilities.createURL,timeout:this.timeout,jsonData:jsonData,headers:{"Content-Type":"application/json; charset="+this.encoding},success:function(response){var url=Ext.decode(response.responseText).getURL;this.download(url);},failure:function(response){this.fireEvent("printexception",this,response);},params:this.initialConfig.baseParams,scope:this});}},download:function(url){if(this.fireEvent("beforedownload",this,url)!==false){if(Ext.isOpera){window.open(url);}else{window.location.href=url;}} -this.fireEvent("print",this,url);},loadCapabilities:function(){if(!this.url){return;} -var url=this.url+"info.json";Ext.Ajax.request({url:url,method:"GET",disableCaching:false,success:function(response){this.capabilities=Ext.decode(response.responseText);this.loadStores();},params:this.initialConfig.baseParams,scope:this});},loadStores:function(){this.scales.loadData(this.capabilities);this.dpis.loadData(this.capabilities);this.layouts.loadData(this.capabilities);this.setLayout(this.layouts.getAt(0));this.setDpi(this.dpis.getAt(0));this.fireEvent("loadcapabilities",this,this.capabilities);},encodeLayer:function(layer){var encLayer;for(var c in this.encoders.layers){if(OpenLayers.Layer[c]&&layer instanceof OpenLayers.Layer[c]){if(this.fireEvent("beforeencodelayer",this,layer)===false){return;} -encLayer=this.encoders.layers[c].call(this,layer);this.fireEvent("encodelayer",this,layer,encLayer);break;}} -return(encLayer&&encLayer.type)?encLayer:null;},getAbsoluteUrl:function(url){var a;if(Ext.isIE6||Ext.isIE7||Ext.isIE8){a=document.createElement("");a.style.display="none";document.body.appendChild(a);a.href=a.href;document.body.removeChild(a);}else{a=document.createElement("a");a.href=url;} -return a.href;},encoders:{"layers":{"Layer":function(layer){var enc={};if(layer.options&&layer.options.maxScale){enc.minScaleDenominator=layer.options.maxScale;} -if(layer.options&&layer.options.minScale){enc.maxScaleDenominator=layer.options.minScale;} -return enc;},"WMS":function(layer){var enc=this.encoders.layers.HTTPRequest.call(this,layer);Ext.apply(enc,{type:'WMS',layers:[layer.params.LAYERS].join(",").split(","),format:layer.params.FORMAT,styles:[layer.params.STYLES].join(",").split(",")});var param;for(var p in layer.params){param=p.toLowerCase();if(!layer.DEFAULT_PARAMS[param]&&"layers,styles,width,height,srs".indexOf(param)==-1){if(!enc.customParams){enc.customParams={};} -enc.customParams[p]=layer.params[p];}} -return enc;},"OSM":function(layer){var enc=this.encoders.layers.TileCache.call(this,layer);return Ext.apply(enc,{type:'OSM',baseURL:enc.baseURL.substr(0,enc.baseURL.indexOf("$")),extension:"png"});},"TMS":function(layer){var enc=this.encoders.layers.TileCache.call(this,layer);return Ext.apply(enc,{type:'TMS',format:layer.type});},"TileCache":function(layer){var enc=this.encoders.layers.HTTPRequest.call(this,layer);return Ext.apply(enc,{type:'TileCache',layer:layer.layername,maxExtent:layer.maxExtent.toArray(),tileSize:[layer.tileSize.w,layer.tileSize.h],extension:layer.extension,resolutions:layer.serverResolutions||layer.resolutions});},"WMTS":function(layer){var enc=this.encoders.layers.HTTPRequest.call(this,layer);return Ext.apply(enc,{type:'WMTS',layer:layer.layer,version:layer.version,requestEncoding:layer.requestEncoding,tileOrigin:[layer.tileOrigin.lon,layer.tileOrigin.lat],tileSize:[layer.tileSize.w,layer.tileSize.h],style:layer.style,formatSuffix:layer.formatSuffix,dimensions:layer.dimensions,params:layer.params,maxExtent:(layer.tileFullExtent!=null)?layer.tileFullExtent.toArray():layer.maxExtent.toArray(),matrixSet:layer.matrixSet,zoomOffset:layer.zoomOffset,resolutions:layer.serverResolutions||layer.resolutions});},"KaMapCache":function(layer){var enc=this.encoders.layers.KaMap.call(this,layer);return Ext.apply(enc,{type:'KaMapCache',group:layer.params['g'],metaTileWidth:layer.params['metaTileSize']['w'],metaTileHeight:layer.params['metaTileSize']['h']});},"KaMap":function(layer){var enc=this.encoders.layers.HTTPRequest.call(this,layer);return Ext.apply(enc,{type:'KaMap',map:layer.params['map'],extension:layer.params['i'],group:layer.params['g']||"",maxExtent:layer.maxExtent.toArray(),tileSize:[layer.tileSize.w,layer.tileSize.h],resolutions:layer.serverResolutions||layer.resolutions});},"HTTPRequest":function(layer){var enc=this.encoders.layers.Layer.call(this,layer);return Ext.apply(enc,{baseURL:this.getAbsoluteUrl(layer.url instanceof Array?layer.url[0]:layer.url),opacity:(layer.opacity!=null)?layer.opacity:1.0,singleTile:layer.singleTile});},"Image":function(layer){var enc=this.encoders.layers.Layer.call(this,layer);return Ext.apply(enc,{type:'Image',baseURL:this.getAbsoluteUrl(layer.getURL(layer.extent)),opacity:(layer.opacity!=null)?layer.opacity:1.0,extent:layer.extent.toArray(),pixelSize:[layer.size.w,layer.size.h],name:layer.name});},"Vector":function(layer){if(!layer.features.length){return;} -var encFeatures=[];var encStyles={};var features=layer.features;var featureFormat=new OpenLayers.Format.GeoJSON();var styleFormat=new OpenLayers.Format.JSON();var nextId=1;var styleDict={};var feature,style,dictKey,dictItem,styleName;for(var i=0,len=features.length;i0?this.map:null});} -if(typeof this.center=="string"){this.center=OpenLayers.LonLat.fromString(this.center);}else if(this.center instanceof Array){this.center=new OpenLayers.LonLat(this.center[0],this.center[1]);} -if(typeof this.extent=="string"){this.extent=OpenLayers.Bounds.fromString(this.extent);}else if(this.extent instanceof Array){this.extent=OpenLayers.Bounds.fromArray(this.extent);} -GeoExt.MapPanel.superclass.initComponent.call(this);this.addEvents("aftermapmove","afterlayervisibilitychange","afterlayeropacitychange","afterlayerorderchange","afterlayernamechange","afterlayeradd","afterlayerremove");this.map.events.on({"moveend":this.onMoveend,"changelayer":this.onChangelayer,"addlayer":this.onAddlayer,"removelayer":this.onRemovelayer,scope:this});},onMoveend:function(){this.fireEvent("aftermapmove");},onChangelayer:function(e){if(e.property){if(e.property==="visibility"){this.fireEvent("afterlayervisibilitychange");}else if(e.property==="order"){this.fireEvent("afterlayerorderchange");}else if(e.property==="name"){this.fireEvent("afterlayernamechange");}else if(e.property==="opacity"){this.fireEvent("afterlayeropacitychange");}}},onAddlayer:function(){this.fireEvent("afterlayeradd");},onRemovelayer:function(){this.fireEvent("afterlayerremove");},applyState:function(state){this.center=new OpenLayers.LonLat(state.x,state.y);this.zoom=state.zoom;var i,l,layer,layerId,visibility,opacity;var layers=this.map.layers;for(i=0,l=layers.length;i0){this.setInitialExtent();}else{this.layers.on("add",this.setInitialExtent,this,{single:true});}},setInitialExtent:function(){var map=this.map;if(this.center||this.zoom!=null){map.setCenter(this.center,this.zoom);}else if(this.extent){map.zoomToExtent(this.extent);}else{map.zoomToMaxExtent();}},afterRender:function(){GeoExt.MapPanel.superclass.afterRender.apply(this,arguments);if(!this.ownerCt){this.renderMap();}else{this.ownerCt.on("move",this.updateMapSize,this);this.ownerCt.on({"afterlayout":this.afterLayout,scope:this});}},afterLayout:function(){var width=this.getInnerWidth()- -this.body.getBorderWidth("lr");var height=this.getInnerHeight()- -this.body.getBorderWidth("tb");if(width>0&&height>0){this.ownerCt.un("afterlayout",this.afterLayout,this);this.renderMap();}},onResize:function(){GeoExt.MapPanel.superclass.onResize.apply(this,arguments);this.updateMapSize();},onBeforeAdd:function(item){if(typeof item.addToMapPanel==="function"){item.addToMapPanel(this);} -GeoExt.MapPanel.superclass.onBeforeAdd.apply(this,arguments);},remove:function(item,autoDestroy){if(typeof item.removeFromMapPanel==="function"){item.removeFromMapPanel(this);} -GeoExt.MapPanel.superclass.remove.apply(this,arguments);},beforeDestroy:function(){if(this.ownerCt){this.ownerCt.un("move",this.updateMapSize,this);} -if(this.map&&this.map.events){this.map.events.un({"moveend":this.onMoveend,"changelayer":this.onChangelayer,"addlayer":this.onAddlayer,"removelayer":this.onRemovelayer,scope:this});} -if(!this.initialConfig.map||!(this.initialConfig.map instanceof OpenLayers.Map)){if(this.map&&this.map.destroy){this.map.destroy();}} -delete this.map;GeoExt.MapPanel.superclass.beforeDestroy.apply(this,arguments);}});GeoExt.MapPanel.guess=function(){return Ext.ComponentMgr.all.find(function(o){return o instanceof GeoExt.MapPanel;});};Ext.reg('gx_mappanel',GeoExt.MapPanel);Ext.namespace("GeoExt");GeoExt.PrintMapPanel=Ext.extend(GeoExt.MapPanel,{sourceMap:null,printProvider:null,printPage:null,previewScales:null,center:null,zoom:null,extent:null,currentZoom:null,initComponent:function(){if(this.sourceMap instanceof GeoExt.MapPanel){this.sourceMap=this.sourceMap.map;} -if(!this.map){this.map={};} -Ext.applyIf(this.map,{projection:this.sourceMap.getProjection(),maxExtent:this.sourceMap.getMaxExtent(),maxResolution:this.sourceMap.getMaxResolution(),units:this.sourceMap.getUnits()});if(!(this.printProvider instanceof GeoExt.data.PrintProvider)){this.printProvider=new GeoExt.data.PrintProvider(this.printProvider);} -this.printPage=new GeoExt.data.PrintPage({printProvider:this.printProvider});this.previewScales=new Ext.data.Store();this.previewScales.add(this.printProvider.scales.getRange());this.layers=[];var layer;Ext.each(this.sourceMap.layers,function(layer){layer.getVisibility()===true&&this.layers.push(layer.clone());},this);this.extent=this.sourceMap.getExtent();GeoExt.PrintMapPanel.superclass.initComponent.call(this);},bind:function(){this.printPage.on("change",this.fitZoom,this);this.printProvider.on("layoutchange",this.syncSize,this);this.map.events.register("moveend",this,this.updatePage);this.printPage.fit(this.sourceMap);if(this.initialConfig.limitScales===true){this.on("resize",this.calculatePreviewScales,this);this.calculatePreviewScales();}},afterRender:function(){GeoExt.PrintMapPanel.superclass.afterRender.apply(this,arguments);this.syncSize();if(!this.ownerCt){this.bind();}else{this.ownerCt.on({"afterlayout":{fn:this.bind,scope:this,single:true}});}},adjustSize:function(width,height){var printSize=this.printProvider.layout.get("size");var ratio=printSize.width/printSize.height;var ownerCt=this.ownerCt;var targetWidth=(ownerCt&&ownerCt.autoWidth)?0:(width||this.initialConfig.width);var targetHeight=(ownerCt&&ownerCt.autoHeight)?0:(height||this.initialConfig.height);if(targetWidth){height=targetWidth/ratio;if(targetHeight&&height>targetHeight){height=targetHeight;width=height*ratio;}else{width=targetWidth;}}else if(targetHeight){width=targetHeight*ratio;height=targetHeight;} -return{width:width,height:height};},fitZoom:function(){if(!this._updating&&this.printPage.scale){this._updating=true;var printBounds=this.printPage.getPrintExtent(this.map);this.currentZoom=this.map.getZoomForExtent(printBounds);this.map.zoomToExtent(printBounds);delete this._updating;}},updatePage:function(){if(!this._updating){var zoom=this.map.getZoom();this._updating=true;if(zoom===this.currentZoom){this.printPage.setCenter(this.map.getCenter());}else{this.printPage.fit(this.map);} -delete this._updating;this.currentZoom=zoom;}},calculatePreviewScales:function(){this.previewScales.removeAll();this.printPage.suspendEvents();var scale=this.printPage.scale;var viewSize=this.map.getSize();var scalesByZoom={};var zooms=[];this.printProvider.scales.each(function(rec){this.printPage.setScale(rec);var extent=this.printPage.getPrintExtent(this.map);var zoom=this.map.getZoomForExtent(extent);var idealResolution=Math.max(extent.getWidth()/viewSize.w,extent.getHeight()/viewSize.h);var resolution=this.map.getResolutionForZoom(zoom);var diff=Math.abs(idealResolution-resolution);if(!(zoom in scalesByZoom)||scalesByZoom[zoom].diff>diff){scalesByZoom[zoom]={rec:rec,diff:diff};zooms.indexOf(zoom)==-1&&zooms.push(zoom);}},this);for(var i=0,ii=zooms.length;i0){var maxScale=this.previewScales.getAt(0);var minScale=this.previewScales.getAt(this.previewScales.getCount()-1);if(scale.get("value")maxScale.get("value")){this.printPage.setScale(maxScale);}} -this.fitZoom();},print:function(options){this.printProvider.print(this.map,[this.printPage],options);},beforeDestroy:function(){this.map.events.unregister("moveend",this,this.updatePage);this.printPage.un("change",this.fitZoom,this);this.printProvider.un("layoutchange",this.syncSize,this);GeoExt.PrintMapPanel.superclass.beforeDestroy.apply(this,arguments);}});Ext.reg('gx_printmappanel',GeoExt.PrintMapPanel);Ext.namespace("GeoExt.data");GeoExt.data.ScaleStore=Ext.extend(Ext.data.Store,{map:null,constructor:function(config){var map=(config.map instanceof GeoExt.MapPanel?config.map.map:config.map);delete config.map;config=Ext.applyIf(config,{reader:new Ext.data.JsonReader({},["level","resolution","scale"])});GeoExt.data.ScaleStore.superclass.constructor.call(this,config);if(map){this.bind(map);}},bind:function(map,options){this.map=(map instanceof GeoExt.MapPanel?map.map:map);this.map.events.register('changebaselayer',this,this.populateFromMap);if(this.map.baseLayer){this.populateFromMap();}else{this.map.events.register('addlayer',this,this.populateOnAdd);}},unbind:function(){if(this.map){this.map.events.unregister('addlayer',this,this.populateOnAdd);this.map.events.unregister('changebaselayer',this,this.populateFromMap);delete this.map;}},populateOnAdd:function(evt){if(evt.layer.isBaseLayer){this.populateFromMap();this.map.events.unregister('addlayer',this,this.populateOnAdd);}},populateFromMap:function(){var zooms=[];var resolutions=this.map.baseLayer.resolutions;var units=this.map.baseLayer.units;for(var i=resolutions.length-1;i>=0;i--){var res=resolutions[i];zooms.push({level:i,resolution:res,scale:OpenLayers.Util.getScaleFromResolution(res,units)});} -this.loadData(zooms);},destroy:function(){this.unbind();GeoExt.data.ScaleStore.superclass.destroy.apply(this,arguments);}});Ext.namespace("GeoExt.data");GeoExt.data.FeatureStoreMixin=function(){return{layer:null,reader:null,featureFilter:null,constructor:function(config){config=config||{};config.reader=config.reader||new GeoExt.data.FeatureReader({},config.fields);var layer=config.layer;delete config.layer;if(config.features){config.data=config.features;} -delete config.features;var options={initDir:config.initDir};delete config.initDir;arguments.callee.superclass.constructor.call(this,config);if(layer){this.bind(layer,options);}},bind:function(layer,options){if(this.layer){return;} -this.layer=layer;options=options||{};var initDir=options.initDir;if(options.initDir==undefined){initDir=GeoExt.data.FeatureStore.LAYER_TO_STORE|GeoExt.data.FeatureStore.STORE_TO_LAYER;} -var features=layer.features.slice(0);if(initDir&GeoExt.data.FeatureStore.STORE_TO_LAYER){var records=this.getRange();for(var i=records.length-1;i>=0;i--){this.layer.addFeatures([records[i].getFeature()]);}} -if(initDir&GeoExt.data.FeatureStore.LAYER_TO_STORE){this.loadData(features,true);} -layer.events.on({"featuresadded":this.onFeaturesAdded,"featuresremoved":this.onFeaturesRemoved,"featuremodified":this.onFeatureModified,scope:this});this.on({"load":this.onLoad,"clear":this.onClear,"add":this.onAdd,"remove":this.onRemove,"update":this.onUpdate,scope:this});},unbind:function(){if(this.layer){this.layer.events.un({"featuresadded":this.onFeaturesAdded,"featuresremoved":this.onFeaturesRemoved,"featuremodified":this.onFeatureModified,scope:this});this.un("load",this.onLoad,this);this.un("clear",this.onClear,this);this.un("add",this.onAdd,this);this.un("remove",this.onRemove,this);this.un("update",this.onUpdate,this);this.layer=null;}},getRecordFromFeature:function(feature){return this.getByFeature(feature)||null;},getByFeature:function(feature){var record;if(feature.state!==OpenLayers.State.INSERT){record=this.getById(feature.id);}else{var index=this.findBy(function(r){return r.getFeature()===feature;});if(index>-1){record=this.getAt(index);}} -return record;},onFeaturesAdded:function(evt){if(!this._adding){var features=evt.features,toAdd=features;if(this.featureFilter){toAdd=[];var i,len,feature;for(var i=0,len=features.length;i=0;i--){feature=features[i];record=this.getByFeature(feature);if(record!==undefined){this._removing=true;this.remove(record);delete this._removing;}}}},onFeatureModified:function(evt){if(!this._updating){var feature=evt.feature;var record=this.getByFeature(feature);if(record!==undefined){record.beginEdit();var attributes=feature.attributes;if(attributes){var fields=this.recordType.prototype.fields;for(var i=0,len=fields.length;i0){this._adding=true;this.layer.addFeatures(features);delete this._adding;}},onLoad:function(store,records,options){if(!options||options.add!==true){this._removing=true;this.layer.removeFeatures(this.layer.features);delete this._removing;this.addFeaturesToLayer(records);}},onClear:function(store){this._removing=true;this.layer.removeFeatures(this.layer.features);delete this._removing;},onAdd:function(store,records,index){if(!this._adding){this.addFeaturesToLayer(records);}},onRemove:function(store,record,index){if(!this._removing){var feature=record.getFeature();if(this.layer.getFeatureById(feature.id)!=null){this._removing=true;this.layer.removeFeatures([record.getFeature()]);delete this._removing;}}},onUpdate:function(store,record,operation){if(!this._updating){var defaultFields=new GeoExt.data.FeatureRecord().fields;var feature=record.getFeature();if(feature.state!==OpenLayers.State.INSERT){feature.state=OpenLayers.State.UPDATE;} -if(record.fields){var cont=this.layer.events.triggerEvent("beforefeaturemodified",{feature:feature});if(cont!==false){var attributes=feature.attributes;record.fields.each(function(field){var key=field.mapping||field.name;if(!defaultFields.containsKey(key)){attributes[key]=record.get(field.name);}});this._updating=true;this.layer.events.triggerEvent("featuremodified",{feature:feature});delete this._updating;if(this.layer.getFeatureById(feature.id)!=null){this.layer.drawFeature(feature);}}}}},destroy:function(){this.unbind();GeoExt.data.FeatureStore.superclass.destroy.call(this);}};};GeoExt.data.FeatureStore=Ext.extend(Ext.data.Store,new GeoExt.data.FeatureStoreMixin);GeoExt.data.FeatureStore.LAYER_TO_STORE=1;GeoExt.data.FeatureStore.STORE_TO_LAYER=2;Ext.namespace("GeoExt.data");GeoExt.data.WFSCapabilitiesStore=function(c){c=c||{};GeoExt.data.WFSCapabilitiesStore.superclass.constructor.call(this,Ext.apply(c,{proxy:c.proxy||(!c.data?new Ext.data.HttpProxy({url:c.url,disableCaching:false,method:"GET"}):undefined),reader:new GeoExt.data.WFSCapabilitiesReader(c,c.fields)}));};Ext.extend(GeoExt.data.WFSCapabilitiesStore,Ext.data.Store);Ext.namespace("GeoExt.plugins");GeoExt.plugins.AttributeForm=function(config){Ext.apply(this,config);};GeoExt.plugins.AttributeForm.prototype={attributeStore:null,formPanel:null,init:function(formPanel){this.formPanel=formPanel;if(this.attributeStore instanceof Ext.data.Store){this.fillForm();this.bind(this.attributeStore);} -formPanel.on("destroy",this.onFormDestroy,this);},bind:function(store){this.unbind();store.on({"load":this.onLoad,scope:this});this.attributeStore=store;},unbind:function(){if(this.attributeStore){this.attributeStore.un("load",this.onLoad,this);}},onLoad:function(){if(this.formPanel.items){this.formPanel.removeAll();} -this.fillForm();},fillForm:function(){this.attributeStore.each(function(record){var field=GeoExt.form.recordToField(record,Ext.apply({checkboxLabelProperty:'fieldLabel'},this.recordToFieldOptions||{}));if(field){this.formPanel.add(field);}},this);this.formPanel.doLayout();},onFormDestroy:function(){this.unbind();}};Ext.preg("gx_attributeform",GeoExt.plugins.AttributeForm);Ext.namespace('GeoExt','GeoExt.data');GeoExt.data.ProtocolProxy=function(config){Ext.apply(this,config);GeoExt.data.ProtocolProxy.superclass.constructor.apply(this,arguments);};Ext.extend(GeoExt.data.ProtocolProxy,Ext.data.DataProxy,{protocol:null,abortPrevious:true,setParamsAsOptions:false,response:null,load:function(params,reader,callback,scope,arg){if(this.fireEvent("beforeload",this,params)!==false){var o={params:params||{},request:{callback:callback,scope:scope,arg:arg},reader:reader};var cb=OpenLayers.Function.bind(this.loadResponse,this,o);if(this.abortPrevious){this.abortRequest();} -var options={params:params,callback:cb,scope:this};Ext.applyIf(options,arg);if(this.setParamsAsOptions===true){Ext.applyIf(options,options.params);delete options.params;} -this.response=this.protocol.read(options);}else{callback.call(scope||this,null,arg,false);}},abortRequest:function(){if(this.response){this.protocol.abort(this.response);this.response=null;}},loadResponse:function(o,response){if(response.success()){var result=o.reader.read(response);this.fireEvent("load",this,o,o.request.arg);o.request.callback.call(o.request.scope,result,o.request.arg,true);}else{this.fireEvent("loadexception",this,o,response);o.request.callback.call(o.request.scope,null,o.request.arg,false);}}});Ext.namespace("GeoExt");GeoExt.Action=Ext.extend(Ext.Action,{control:null,activateOnEnable:false,deactivateOnDisable:false,map:null,uScope:null,uHandler:null,uToggleHandler:null,uCheckHandler:null,constructor:function(config){this.uScope=config.scope;this.uHandler=config.handler;this.uToggleHandler=config.toggleHandler;this.uCheckHandler=config.checkHandler;config.scope=this;config.handler=this.pHandler;config.toggleHandler=this.pToggleHandler;config.checkHandler=this.pCheckHandler;var ctrl=this.control=config.control;delete config.control;this.activateOnEnable=!!config.activateOnEnable;delete config.activateOnEnable;this.deactivateOnDisable=!!config.deactivateOnDisable;delete config.deactivateOnDisable;if(ctrl){if(config.map){config.map.addControl(ctrl);delete config.map;} -if((config.pressed||config.checked)&&ctrl.map){ctrl.activate();} -if(ctrl.active){config.pressed=true;config.checked=true;} -ctrl.events.on({activate:this.onCtrlActivate,deactivate:this.onCtrlDeactivate,scope:this});} -arguments.callee.superclass.constructor.call(this,config);},pHandler:function(cmp){var ctrl=this.control;if(ctrl&&ctrl.type==OpenLayers.Control.TYPE_BUTTON){ctrl.trigger();} -if(this.uHandler){this.uHandler.apply(this.uScope,arguments);}},pToggleHandler:function(cmp,state){this.changeControlState(state);if(this.uToggleHandler){this.uToggleHandler.apply(this.uScope,arguments);}},pCheckHandler:function(cmp,state){this.changeControlState(state);if(this.uCheckHandler){this.uCheckHandler.apply(this.uScope,arguments);}},changeControlState:function(state){if(state){if(!this._activating){this._activating=true;this.control.activate();this.initialConfig.pressed=true;this.initialConfig.checked=true;this._activating=false;}}else{if(!this._deactivating){this._deactivating=true;this.control.deactivate();this.initialConfig.pressed=false;this.initialConfig.checked=false;this._deactivating=false;}}},onCtrlActivate:function(){var ctrl=this.control;if(ctrl.type==OpenLayers.Control.TYPE_BUTTON){this.enable();}else{this.safeCallEach("toggle",[true]);this.safeCallEach("setChecked",[true]);}},onCtrlDeactivate:function(){var ctrl=this.control;if(ctrl.type==OpenLayers.Control.TYPE_BUTTON){this.disable();}else{this.safeCallEach("toggle",[false]);this.safeCallEach("setChecked",[false]);}},safeCallEach:function(fnName,args){var cs=this.items;for(var i=0,len=cs.length;i0){this.recenterToSelectionExtent();}}},getLayers:function(){return this.selectControl.layers||[this.selectControl.layer];},recenterToSelectionExtent:function(){var map=this.selectControl.map;var selectionExtent=this.getSelectionExtent();var selectionExtentZoom=map.getZoomForExtent(selectionExtent,false);if(selectionExtentZoom>map.getZoom()){map.setCenter(selectionExtent.getCenterLonLat());} -else{map.zoomToExtent(selectionExtent);}},getSelectionExtent:function(){var maxExtent=null;var features=this.selectedFeatures;if(features&&(features.length>0)){var geometry=null;for(var i=0,len=features.length;i{opacity}%',compiledTemplate:null,init:function(slider){this.compiledTemplate=new Ext.Template(this.template);GeoExt.LayerOpacitySliderTip.superclass.init.call(this,slider);},getText:function(thumb){var data={opacity:thumb.value};return this.compiledTemplate.apply(data);}});GeoExt.version='1.1'; diff --git a/ext-resources/jslib/openlayers/OpenLayers.js b/ext-resources/jslib/openlayers/OpenLayers.js deleted file mode 100755 index d94ff5b..0000000 --- a/ext-resources/jslib/openlayers/OpenLayers.js +++ /dev/null @@ -1,1384 +0,0 @@ -/* - - OpenLayers.js -- OpenLayers Map Viewer Library - - Copyright (c) 2006-2012 by OpenLayers Contributors - Published under the 2-clause BSD license. - See http://openlayers.org/dev/license.txt for the full text of the license, and http://openlayers.org/dev/authors.txt for full list of contributors. - - Includes compressed code under the following licenses: - - (For uncompressed versions of the code used, please see the - OpenLayers Github repository: ) - -*/ - -/** - * Contains XMLHttpRequest.js - * Copyright 2007 Sergey Ilinsky (http://www.ilinsky.com) - * - * 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 - */ - -/** - * OpenLayers.Util.pagePosition is based on Yahoo's getXY method, which is - * Copyright (c) 2006, Yahoo! Inc. - * All rights reserved. - * - * Redistribution and use of this software in source and binary forms, with or - * without modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * * Neither the name of Yahoo! Inc. nor the names of its contributors may be - * used to endorse or promote products derived from this software without - * specific prior written permission of Yahoo! Inc. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -var OpenLayers={VERSION_NUMBER:"Release 2.12",singleFile:!0,_getScriptLocation:function(){for(var a=/(^|(.*?\/))(OpenLayers[^\/]*?\.js)(\?|$)/,b=document.getElementsByTagName("script"),c,d="",e=0,f=b.length;ethis.right)this.right=b.right;if(null==this.top||b.top>this.top)this.top=b.top}}},containsLonLat:function(a,b){"boolean"===typeof b&&(b={inclusive:b});var b=b||{},c=this.contains(a.lon,a.lat,b.inclusive),d=b.worldBounds;d&&!c&&(c=d.getWidth(),d=Math.round((a.lon-(d.left+d.right)/2)/c),c=this.containsLonLat({lon:a.lon-d*c,lat:a.lat},{inclusive:b.inclusive}));return c},containsPixel:function(a,b){return this.contains(a.x, -a.y,b)},contains:function(a,b,c){null==c&&(c=!0);if(null==a||null==b)return!1;var a=OpenLayers.Util.toFloat(a),b=OpenLayers.Util.toFloat(b),d=!1;return d=c?a>=this.left&&a<=this.right&&b>=this.bottom&&b<=this.top:a>this.left&&athis.bottom&&b=c.bottom&&a.top<=c.top||c.top>a.bottom&&c.top=c.left&&a.left<=c.right||c.left>=a.left&&c.left<=a.right,f=a.right>=c.left&&a.right<=c.right||c.right>=a.left&&c.right<=a.right,d=(a.bottom>=c.bottom&&a.bottom<=c.top||c.bottom>=a.bottom&&c.bottom<=a.top||d)&&(e||f);if(b.worldBounds&&!d){var g=b.worldBounds,e=g.getWidth(),f=!g.containsBounds(c),g=!g.containsBounds(a);f&&!g?(a=a.add(-e,0),d=c.intersectsBounds(a, -{inclusive:b.inclusive})):g&&!f&&(c=c.add(-e,0),d=a.intersectsBounds(c,{inclusive:b.inclusive}))}return d},containsBounds:function(a,b,c){null==b&&(b=!1);null==c&&(c=!0);var d=this.contains(a.left,a.bottom,c),e=this.contains(a.right,a.bottom,c),f=this.contains(a.left,a.top,c),a=this.contains(a.right,a.top,c);return b?d||e||f||a:d&&e&&f&&a},determineQuadrant:function(a){var b="",c=this.getCenterLonLat(),b=b+(a.lat=a.right&&e.right>a.right;)e=e.add(-f,0);c=e.left+c;ca.left&&e.right-d>a.right)&&(e=e.add(-f,0))}return e},CLASS_NAME:"OpenLayers.Bounds"});OpenLayers.Bounds.fromString=function(a,b){var c=a.split(",");return OpenLayers.Bounds.fromArray(c,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;aa.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,c=a.length;b=0;c--)a[c]==b&&a.splice(c,1);return a};OpenLayers.Util.indexOf=function(a,b){if(typeof a.indexOf=="function")return a.indexOf(b);for(var c=0,d=a.length;c=0&&parseFloat(h)<1){a.style.filter="alpha(opacity="+h*100+")";a.style.opacity=h}else if(parseFloat(h)==1){a.style.filter="";a.style.opacity=""}}; -OpenLayers.Util.createDiv=function(a,b,c,d,e,f,g,h){var i=document.createElement("div");if(d)i.style.backgroundImage="url("+d+")";a||(a=OpenLayers.Util.createUniqueID("OpenLayersDiv"));e||(e="absolute");OpenLayers.Util.modifyDOMElement(i,a,b,c,e,f,g,h);return i}; -OpenLayers.Util.createImage=function(a,b,c,d,e,f,g,h){var i=document.createElement("img");a||(a=OpenLayers.Util.createUniqueID("OpenLayersDiv"));e||(e="relative");OpenLayers.Util.modifyDOMElement(i,a,b,c,e,f,null,g);if(h){i.style.display="none";b=function(){i.style.display="";OpenLayers.Event.stopObservingElement(i)};OpenLayers.Event.observe(i,"load",b);OpenLayers.Event.observe(i,"error",b)}i.style.alt=a;i.galleryImg="no";if(d)i.src=d;return i};OpenLayers.IMAGE_RELOAD_ATTEMPTS=0; -OpenLayers.Util.alphaHackNeeded=null;OpenLayers.Util.alphaHack=function(){if(OpenLayers.Util.alphaHackNeeded==null){var a=navigator.appVersion.split("MSIE"),a=parseFloat(a[1]),b=false;try{b=!!document.body.filters}catch(c){}OpenLayers.Util.alphaHackNeeded=b&&a>=5.5&&a<7}return OpenLayers.Util.alphaHackNeeded}; -OpenLayers.Util.modifyAlphaImageDiv=function(a,b,c,d,e,f,g,h,i){OpenLayers.Util.modifyDOMElement(a,b,c,d,f,null,null,i);b=a.childNodes[0];if(e)b.src=e;OpenLayers.Util.modifyDOMElement(b,a.id+"_innerImage",null,d,"relative",g);if(OpenLayers.Util.alphaHack()){if(a.style.display!="none")a.style.display="inline-block";h==null&&(h="scale");a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+b.src+"', sizingMethod='"+h+"')";if(parseFloat(a.style.opacity)>=0&&parseFloat(a.style.opacity)< -1)a.style.filter=a.style.filter+(" alpha(opacity="+a.style.opacity*100+")");b.style.filter="alpha(opacity=0)"}};OpenLayers.Util.createAlphaImageDiv=function(a,b,c,d,e,f,g,h,i){var j=OpenLayers.Util.createDiv(),i=OpenLayers.Util.createImage(null,null,null,null,null,null,null,i);i.className="olAlphaImg";j.appendChild(i);OpenLayers.Util.modifyAlphaImageDiv(j,a,b,c,d,e,f,g,h);return j};OpenLayers.Util.upperCaseObject=function(a){var b={},c;for(c in a)b[c.toUpperCase()]=a[c];return b}; -OpenLayers.Util.applyDefaults=function(a,b){var a=a||{},c=typeof window.Event=="function"&&b instanceof window.Event,d;for(d in b)if(a[d]===void 0||!c&&b.hasOwnProperty&&b.hasOwnProperty(d)&&!a.hasOwnProperty(d))a[d]=b[d];if(!c&&b&&b.hasOwnProperty&&b.hasOwnProperty("toString")&&!a.hasOwnProperty("toString"))a.toString=b.toString;return a}; -OpenLayers.Util.getParameterString=function(a){var b=[],c;for(c in a){var d=a[c];if(d!=null&&typeof d!="function"){if(typeof d=="object"&&d.constructor==Array){for(var e=[],f,g=0,h=d.length;g1.0E-12&&--m>0;){var n=Math.sin(k),o=Math.cos(k),p=Math.sqrt(h*n*h*n+(g*j-i*h*o)*(g*j-i*h*o));if(p==0)return 0;var o=i*j+g*h*o,q=Math.atan2(p,o),r=Math.asin(g* -h*n/p),s=Math.cos(r)*Math.cos(r),n=o-2*i*j/s,t=c/16*s*(4+c*(4-3*s)),l=k,k=f+(1-t)*c*Math.sin(r)*(q+t*p*(n+t*o*(-1+2*n*n)))}if(m==0)return NaN;d=s*(d*d-e*e)/(e*e);c=d/1024*(256+d*(-128+d*(74-47*d)));return(e*(1+d/16384*(4096+d*(-768+d*(320-175*d))))*(q-c*p*(n+c/4*(o*(-1+2*n*n)-c/6*n*(-3+4*p*p)*(-3+4*n*n))))).toFixed(3)/1E3}; -OpenLayers.Util.destinationVincenty=function(a,b,c){for(var d=OpenLayers.Util,e=d.VincentyConstants,f=e.a,g=e.b,h=e.f,e=a.lon,a=a.lat,i=d.rad(b),b=Math.sin(i),i=Math.cos(i),a=(1-h)*Math.tan(d.rad(a)),j=1/Math.sqrt(1+a*a),k=a*j,l=Math.atan2(a,i),a=j*b,m=1-a*a,f=m*(f*f-g*g)/(g*g),n=1+f/16384*(4096+f*(-768+f*(320-175*f))),o=f/1024*(256+f*(-128+f*(74-47*f))),f=c/(g*n),p=2*Math.PI;Math.abs(f-p)>1.0E-12;)var q=Math.cos(2*l+f),r=Math.sin(f),s=Math.cos(f),t=o*r*(q+o/4*(s*(-1+2*q*q)-o/6*q*(-3+4*r*r)*(-3+4* -q*q))),p=f,f=c/(g*n)+t;c=k*r-j*s*i;g=Math.atan2(k*s+j*r*i,(1-h)*Math.sqrt(a*a+c*c));b=Math.atan2(r*b,j*s-k*r*i);i=h/16*m*(4+h*(4-3*m));q=b-(1-i)*h*a*(f+i*r*(q+i*s*(-1+2*q*q)));Math.atan2(a,-c);return new OpenLayers.LonLat(e+d.deg(q),d.deg(g))}; -OpenLayers.Util.getParameters=function(a){var a=a===null||a===void 0?window.location.href:a,b="";if(OpenLayers.String.contains(a,"?"))var b=a.indexOf("?")+1,c=OpenLayers.String.contains(a,"#")?a.indexOf("#"):a.length,b=a.substring(b,c);for(var a={},b=b.split(/[&;]/),c=0,d=b.length;c1?1/a:a};OpenLayers.Util.getResolutionFromScale=function(a,b){var c;if(a){b==null&&(b="degrees");c=1/(OpenLayers.Util.normalizeScale(a)*OpenLayers.INCHES_PER_UNIT[b]*OpenLayers.DOTS_PER_INCH)}return c}; -OpenLayers.Util.getScaleFromResolution=function(a,b){b==null&&(b="degrees");return a*OpenLayers.INCHES_PER_UNIT[b]*OpenLayers.DOTS_PER_INCH}; -OpenLayers.Util.pagePosition=function(a){var b=[0,0],c=OpenLayers.Util.getViewportElement();if(!a||a==window||a==c)return b;var d=OpenLayers.IS_GECKO&&document.getBoxObjectFor&&OpenLayers.Element.getStyle(a,"position")=="absolute"&&(a.style.top==""||a.style.left==""),e=null;if(a.getBoundingClientRect){a=a.getBoundingClientRect();e=c.scrollTop;b[0]=a.left+c.scrollLeft;b[1]=a.top+e}else if(document.getBoxObjectFor&&!d){a=document.getBoxObjectFor(a);c=document.getBoxObjectFor(c);b[0]=a.screenX-c.screenX; -b[1]=a.screenY-c.screenY}else{b[0]=a.offsetLeft;b[1]=a.offsetTop;e=a.offsetParent;if(e!=a)for(;e;){b[0]=b[0]+e.offsetLeft;b[1]=b[1]+e.offsetTop;e=e.offsetParent}c=OpenLayers.BROWSER_NAME;if(c=="opera"||c=="safari"&&OpenLayers.Element.getStyle(a,"position")=="absolute")b[1]=b[1]-document.body.offsetTop;for(e=a.offsetParent;e&&e!=document.body;){b[0]=b[0]-e.scrollLeft;if(c!="opera"||e.tagName!="TR")b[1]=b[1]-e.scrollTop;e=e.offsetParent}}return b}; -OpenLayers.Util.getViewportElement=function(){var a=arguments.callee.viewportElement;if(a==void 0){a=OpenLayers.BROWSER_NAME=="msie"&&document.compatMode!="CSS1Compat"?document.body:document.documentElement;arguments.callee.viewportElement=a}return a}; -OpenLayers.Util.isEquivalentUrl=function(a,b,c){c=c||{};OpenLayers.Util.applyDefaults(c,{ignoreCase:true,ignorePort80:true,ignoreHash:true});var a=OpenLayers.Util.createUrlObject(a,c),b=OpenLayers.Util.createUrlObject(b,c),d;for(d in a)if(d!=="args"&&a[d]!=b[d])return false;for(d in a.args){if(a.args[d]!=b.args[d])return false;delete b.args[d]}for(d in b.args)return false;return true}; -OpenLayers.Util.createUrlObject=function(a,b){b=b||{};if(!/^\w+:\/\//.test(a)){var c=window.location,d=c.port?":"+c.port:"",d=c.protocol+"//"+c.host.split(":").shift()+d;if(a.indexOf("/")===0)a=d+a;else{c=c.pathname.split("/");c.pop();a=d+c.join("/")+"/"+a}}b.ignoreCase&&(a=a.toLowerCase());c=document.createElement("a");c.href=a;d={};d.host=c.host.split(":").shift();d.protocol=c.protocol;d.port=b.ignorePort80?c.port=="80"||c.port=="0"?"":c.port:c.port==""||c.port=="0"?"80":c.port;d.hash=b.ignoreHash|| -c.hash==="#"?"":c.hash;var e=c.search;if(!e){e=a.indexOf("?");e=e!=-1?a.substr(e):""}d.args=OpenLayers.Util.getParameters(e);d.pathname=c.pathname.charAt(0)=="/"?c.pathname:"/"+c.pathname;return d};OpenLayers.Util.removeTail=function(a){var b=null,b=a.indexOf("?"),c=a.indexOf("#");return b=b==-1?c!=-1?a.substr(0,c):a:c!=-1?a.substr(0,Math.min(b,c)):a.substr(0,b)};OpenLayers.IS_GECKO=function(){var a=navigator.userAgent.toLowerCase();return a.indexOf("webkit")==-1&&a.indexOf("gecko")!=-1}(); -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();b.indexOf("opera")!=-1?a="opera":b.indexOf("msie")!=-1?a="msie":b.indexOf("safari")!=-1?a="safari":b.indexOf("mozilla")!=-1&&(a=b.indexOf("firefox")!=-1?"firefox":"mozilla");return a}();OpenLayers.Util.getBrowserName=function(){return OpenLayers.BROWSER_NAME}; -OpenLayers.Util.getRenderedDimensions=function(a,b,c){var d,e,f=document.createElement("div");f.style.visibility="hidden";for(var g=c&&c.containerElement?c.containerElement:document.body,h=false,i=null,j=g;j&&j.tagName.toLowerCase()!="body";){var k=OpenLayers.Element.getStyle(j,"position");if(k=="absolute"){h=true;break}else if(k&&k!="static")break;j=j.parentNode}if(h&&(g.clientHeight===0||g.clientWidth===0)){i=document.createElement("div");i.style.visibility="hidden";i.style.position="absolute"; -i.style.overflow="visible";i.style.width=document.body.clientWidth+"px";i.style.height=document.body.clientHeight+"px";i.appendChild(f)}f.style.position="absolute";if(b)if(b.w){d=b.w;f.style.width=d+"px"}else if(b.h){e=b.h;f.style.height=e+"px"}if(c&&c.displayClass)f.className=c.displayClass;b=document.createElement("div");b.innerHTML=a;b.style.overflow="visible";if(b.childNodes){a=0;for(c=b.childNodes.length;a=60){f=f-60;d=d+1;if(d>=60){d=d-60;e=e+1}}e<10&&(e="0"+e);e=e+"\u00b0";if(c.indexOf("dm")>=0){d<10&&(d="0"+d);e=e+(d+"'");if(c.indexOf("dms")>=0){f<10&&(f="0"+f);e=e+(f+'"')}}return e=b=="lon"?e+(a<0?OpenLayers.i18n("W"):OpenLayers.i18n("E")):e+(a<0?OpenLayers.i18n("S"):OpenLayers.i18n("N"))};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(){throw Error("Read not implemented.");},write:function(){throw Error("Write not implemented.");},CLASS_NAME:"OpenLayers.Format"});OpenLayers.Format.CSWGetRecords=function(a){var a=OpenLayers.Util.applyDefaults(a,OpenLayers.Format.CSWGetRecords.DEFAULTS),b=OpenLayers.Format.CSWGetRecords["v"+a.version.replace(/\./g,"_")];if(!b)throw"Unsupported CSWGetRecords version: "+a.version;return new b(a)};OpenLayers.Format.CSWGetRecords.DEFAULTS={version:"2.0.2"};OpenLayers.Control=OpenLayers.Class({id:null,map:null,div:null,type:null,allowSelection:!1,displayClass:"",title:"",autoActivate:!1,active: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){if(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.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&&1this.minRatio&&b<=this.maxRatio&&this.ovmap.getExtent().containsBounds(a)},updateOverview:function(){var a=this.map.getResolution(),b=this.ovmap.getResolution(),c=b/a;c>this.maxRatio? -b=this.minRatio*a:c<=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(){!this.handlers.drag.active&&!this.map.dragging&&this.handlers.drag.activate()}); -this.rectEvents.register("mouseout",this,function(){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=this.getRectBoundsFromMapBounds(this.ovmap.getProjection()!= -this.map.getProjection()?this.map.getExtent().transform(this.map.getProjectionObject(),this.ovmap.getProjectionObject()):this.map.getExtent());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),c=Math.max(a.left,0),d= -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),e=Math.max(a-c,0),f=Math.max(d-b,0);ethis.duration&&this.stop()},CLASS_NAME:"OpenLayers.Tween"});OpenLayers.Easing={CLASS_NAME:"OpenLayers.Easing"};OpenLayers.Easing.Linear={easeIn:function(a,b,c,d){return c*a/d+b},easeOut:function(a,b,c,d){return c*a/d+b},easeInOut:function(a,b,c,d){return c*a/d+b},CLASS_NAME:"OpenLayers.Easing.Linear"}; -OpenLayers.Easing.Expo={easeIn:function(a,b,c,d){return 0==a?b:c*Math.pow(2,10*(a/d-1))+b},easeOut:function(a,b,c,d){return a==d?b+c:c*(-Math.pow(2,-10*a/d)+1)+b},easeInOut:function(a,b,c,d){return 0==a?b:a==d?b+c:1>(a/=d/2)?c/2*Math.pow(2,10*(a-1))+b:c/2*(-Math.pow(2,-10*--a)+2)+b},CLASS_NAME:"OpenLayers.Easing.Expo"}; -OpenLayers.Easing.Quad={easeIn:function(a,b,c,d){return c*(a/=d)*a+b},easeOut:function(a,b,c,d){return-c*(a/=d)*(a-2)+b},easeInOut:function(a,b,c,d){return 1>(a/=d/2)?c/2*a*a+b:-c/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;window.Proj4js&&(this.proj=new Proj4js.Proj(a))},getCode:function(){return this.proj?this.proj.srsCode:this.projCode},getUnits:function(){return this.proj?this.proj.units:null},toString:function(){return this.getCode()},equals:function(a){var b=!1;a&&(a instanceof OpenLayers.Projection||(a=new OpenLayers.Projection(a)),window.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,c){if(c===OpenLayers.Projection.nullTransform){var d=OpenLayers.Projection.defaults[a];d&&!OpenLayers.Projection.defaults[b]&&(OpenLayers.Projection.defaults[b]=d)}OpenLayers.Projection.transforms[a]||(OpenLayers.Projection.transforms[a]={});OpenLayers.Projection.transforms[a][b]=c}; -OpenLayers.Projection.transform=function(a,b,c){if(b&&c)if(b instanceof OpenLayers.Projection||(b=new OpenLayers.Projection(b)),c instanceof OpenLayers.Projection||(c=new OpenLayers.Projection(c)),b.proj&&c.proj)a=Proj4js.transform(b.proj,c.proj,a);else{var b=b.getCode(),c=c.getCode(),d=OpenLayers.Projection.transforms;if(d[b]&&d[b][c])d[b][c](a)}return a};OpenLayers.Projection.nullTransform=function(a){return a}; -(function(){function a(a){a.x=180*a.x/d;a.y=180/Math.PI*(2*Math.atan(Math.exp(a.y/d*Math.PI))-Math.PI/2);return a}function b(a){a.x=a.x*d/180;a.y=Math.log(Math.tan((90+a.y)*Math.PI/360))/Math.PI*d;return a}function c(c,d){var e=OpenLayers.Projection.addTransform,f=OpenLayers.Projection.nullTransform,g,m,n,o,p;g=0;for(m=d.length;gparseFloat(navigator.appVersion.split("MSIE")[1])?this.events.register("resize",this,this.updateSize):(this.updateSizeDestroy=OpenLayers.Function.bind(this.updateSize,this),OpenLayers.Event.observe(window,"resize",this.updateSizeDestroy));if(this.theme){for(var c=!0,d=document.getElementsByTagName("link"), -e=0,f=d.length;eb?b=0:b>this.layers.length&&(b=this.layers.length);if(c!=b){this.layers.splice(c,1);this.layers.splice(b,0,a);for(var c=0,d=this.layers.length;c=this.minPx.x+h?Math.round(a):0;b=f<=this.maxPx.y-i&&f>=this.minPx.y+i?Math.round(b):0;if(a||b){this.dragging||(this.dragging= -!0,this.events.triggerEvent("movestart"));this.center=null;a&&(this.layerContainerDiv.style.left=parseInt(this.layerContainerDiv.style.left)-a+"px",this.minPx.x-=a,this.maxPx.x-=a);b&&(this.layerContainerDiv.style.top=parseInt(this.layerContainerDiv.style.top)-b+"px",this.minPx.y-=b,this.maxPx.y-=b);d=0;for(e=this.layers.length;dc)for(var d=a|0,e=b.length;dthis.restrictedExtent.getWidth()?a=new OpenLayers.LonLat(g.lon,a.lat):f.leftthis.restrictedExtent.right&& -(a=a.add(this.restrictedExtent.right-f.right,0));f.getHeight()>this.restrictedExtent.getHeight()?a=new OpenLayers.LonLat(a.lon,g.lat):f.bottomthis.restrictedExtent.top&&(a=a.add(0,this.restrictedExtent.top-f.top))}}e=e||this.isValidZoomLevel(b)&&b!=this.getZoom();f=this.isValidLonLat(a)&&!a.equals(this.center);if(e||f||d){d||this.events.triggerEvent("movestart");f&&(!e&&this.center&&this.centerLayerContainer(a),this.center= -a.clone());a=e?this.getResolutionForZoom(b):this.getResolution();if(e||null==this.layerContainerOrigin){this.layerContainerOrigin=this.getCachedCenter();this.layerContainerDiv.style.left="0px";this.layerContainerDiv.style.top="0px";var f=this.getMaxExtent({restricted:!0}),h=f.getCenterLonLat(),g=this.center.lon-h.lon,h=h.lat-this.center.lat,i=Math.round(f.getWidth()/a),j=Math.round(f.getHeight()/a);this.minPx={x:(this.size.w-i)/2-g/a,y:(this.size.h-j)/2-h/a};this.maxPx={x:this.minPx.x+Math.round(f.getWidth()/ -a),y:this.minPx.y+Math.round(f.getHeight()/a)}}e&&(this.zoom=b,this.resolution=a);a=this.getExtent();this.baseLayer.visibility&&(this.baseLayer.moveTo(a,e,c.dragging),c.dragging||this.baseLayer.events.triggerEvent("moveend",{zoomChanged:e}));a=this.baseLayer.getExtent();for(b=this.layers.length-1;0<=b;--b)if(f=this.layers[b],f!==this.baseLayer&&!f.isBaseLayer&&(g=f.calculateInRange(),f.inRange!=g&&((f.inRange=g)||f.display(!1),this.events.triggerEvent("changelayer",{layer:f,property:"visibility"})), -g&&f.visibility))f.moveTo(a,e,c.dragging),c.dragging||f.events.triggerEvent("moveend",{zoomChanged:e});this.events.triggerEvent("move");d||this.events.triggerEvent("moveend");if(e){b=0;for(c=this.popups.length;b=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,c,d={},e=!0;a=0;for(b=this.RESOLUTION_PROPERTIES.length;a=a||"number"!==typeof d&&"number"!==typeof c)){b=Array(a);var e=2;"number"==typeof c&&"number"==typeof d&&(e=Math.pow(d/c,1/(a-1)));var f;if("number"===typeof d)for(f=0;f=a&&(f=h,e=c),h<=a){g=h;break}c=f-g;c=0f)break;f=e}else if(this.resolutions[c]=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)}},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,c,d=OpenLayers.Layer.Google.cache[this.map.id];if(d)a=d.mapObject,b=d.termsOfUse,c=d.poweredBy,++d.count;else{var d=this.map.viewPortDiv,e=document.createElement("div");e.id=this.map.id+"_GMap2Container";e.style.position="absolute";e.style.width="100%";e.style.height="100%";d.appendChild(e);try{a=new GMap2(e),b=e.lastChild,d.appendChild(b),b.style.zIndex= -"1100",b.style.right="",b.style.bottom="",b.className="olLayerGoogleCopyright",c=e.lastChild,d.appendChild(c),c.style.zIndex="1100",c.style.right="",c.style.bottom="",c.className="olLayerGooglePoweredBy gmnoprint"}catch(f){throw f;}OpenLayers.Layer.Google.cache[this.map.id]={mapObject:a,termsOfUse:b,poweredBy:c,count:1}}this.mapObject=a;this.termsOfUse=b;this.poweredBy=c;-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 c=this.mapObject.getContainer();!0===a?(this.mapObject.setMapType(this.type),c.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||(c.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 c;this.sphericalMercator?(c=this.inverseMercator(a,b),c=new GLatLng(c.lat,c.lon)):c=new GLatLng(b,a);return c},getMapObjectPixelFromXY:function(a,b){return new GPoint(a,b)}};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("<");0this.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)}return b},value2regex:function(a,b,c){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("\\"+(c?c:"!")+"(.|$)","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,c){return c?a:"!."}),a=a.replace(/(\\)?\\\*/g,function(a,c){return c?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.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.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="",c=a.firstChild;c;c= -c.nextSibling)switch(c.nodeType){case 1:a=this.readNode(c);a.property?b+="${"+a.property+"}":void 0!==a.value&&(b+=a.value);break;case 3:case 4:b+=c.nodeValue}return b},Filter:function(a,b){var c={fids:[],filters:[]};this.readChildNodes(a,c);0":"PropertyIsGreaterThan", -"<=":"PropertyIsLessThanOrEqualTo",">=":"PropertyIsGreaterThanOrEqualTo","..":"PropertyIsBetween","~":"PropertyIsLike",BBOX:"BBOX",DWITHIN:"DWITHIN",WITHIN:"WITHIN",CONTAINS:"CONTAINS",INTERSECTS:"INTERSECTS",FID:"FeatureId"},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(){},getVertices:function(){},atPoint:function(a,b,c){var d=!1;null!=this.getBounds()&&null!=a&&(b=null!=b?b:0,c=null!=c?c:0,d=(new OpenLayers.Bounds(this.bounds.left-b,this.bounds.bottom-c,this.bounds.right+b,this.bounds.top+c)).containsLonLat(a));return d},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 c=OpenLayers.Geometry.fromWKT.format;c||(c=new OpenLayers.Format.WKT,OpenLayers.Geometry.fromWKT.format=c);a=c.read(a);if(a instanceof OpenLayers.Feature.Vector)b=a.geometry;else if(OpenLayers.Util.isArray(a)){b=a.length;for(var c=Array(b),d=0;d=f&&0<=l&&1>=l)&&(d?(h=a.x1+f*h,l=a.y1+f*i,e=new OpenLayers.Geometry.Point(h,l)):e=!0));if(c)if(e){if(d){a=[a,b];b=0;a:for(;2>b;++b){f=a[b];for(i=1;3>i;++i)if(h=f["x"+i],l=f["y"+i],d=Math.sqrt(Math.pow(h-e.x,2)+Math.pow(l-e.y,2)),db;++b){h=a[b];l=a[(b+1)%2];for(i=1;3>i;++i)if(f={x:h["x"+i],y:h["y"+i]},g=OpenLayers.Geometry.distanceToSegment(f,l),g.distance=k||(1<=k?(e=g,f=h):(e+=k*i,f+=k*j));return{distance:Math.sqrt(Math.pow(e-c,2)+Math.pow(f-d,2)),x:e,y:f}};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 c=!(b&&!1===b.edge)&&b&&b.details,d,e,f,g,h;a instanceof -OpenLayers.Geometry.Point?(e=this.x,f=this.y,g=a.x,h=a.y,d=Math.sqrt(Math.pow(e-g,2)+Math.pow(f-h,2)),d=!c?d:{x0:e,y0:f,x1:g,y1:h,distance:d}):(d=a.distanceTo(this,b),c&&(d={x0:d.x1,y0:d.y1,x1:d.x0,y1:d.y0,distance:d.distance}));return d},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){var a= -a*(Math.PI/180),c=this.distanceTo(b),d=a+Math.atan2(this.y-b.y,this.x-b.x);this.x=b.x+c*Math.cos(d);this.y=b.y+c*Math.sin(d);this.clearBounds()},getCentroid:function(){return new OpenLayers.Geometry.Point(this.x,this.y)},resize:function(a,b,c){this.x=b.x+a*(void 0==c?1:c)*(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(){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,c=this.components.length;bf)break;if(!(i.x2Math.max(g,h))&&!(Math.max(j,k)h&&(i>j.y1&&ij.y2))break;e=c?{distance:e.distance,x0:e.x,y0:e.y,x1:h,y1:i}:e.distance}else if(a instanceof OpenLayers.Geometry.LineString){var g=this.getSortedSegments(),h=a.getSortedSegments(),m,n,o=h.length,p={point:!0},k=0,l=g.length;a:for(;kb.length)return this;var c=function(a,b,d,i){for(var j=0,k=0,l=b,m;lj&&(j=m,k=l)}j>i&&k!=b&&(e.push(k),c(a,b,k,i),c(a,k,d,i))},d=b.length-1,e=[];e.push(0);for(e.push(d);b[0].equals(b[d]);)d--,e.push(d);c(b,0,d,a);a=[];e.sort(function(a,b){return a-b});for(d=0;d=g&&c<=h||g>=h&&c<=g&&c>=h)){j=-1;break}}else{i=b((a-f)*((h-g)/(f-e))+h,14);if(i==c&&(e=e&&a<=f||e>f&&a<=e&&a>=f)){j=-1;break}i<=c||g!=h&&(iMath.max(g,h))||(e=e&&af&&a=f)&&++j}return-1==j?1:!!(j&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 c=0,d=a.components.length;c0)b.bounds=c.components[0]},Point:function(a, -b){var c={points:[]};this.readChildNodes(a,c);if(!b.components)b.components=[];b.components.push(c.points[0])},coordinates:function(a,b){for(var c=this.getChildValue(a).replace(this.regExes.trimSpace,""),c=c.replace(this.regExes.trimComma,","),c=c.split(this.regExes.splitSpace),d,e=c.length,f=Array(e),g=0;ga?"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.GeoJSON=OpenLayers.Class(OpenLayers.Format.JSON,{ignoreExtraDims:!1,read:function(a,b,c){var b=b?b:"FeatureCollection",d=null,e=null;if(e="string"==typeof a?OpenLayers.Format.JSON.prototype.read.apply(this,[a,c]):a)if("string"!=typeof e.type)OpenLayers.Console.error("Bad GeoJSON - no type: "+a);else{if(this.isValidType(e,b))switch(b){case "Geometry":try{d=this.parseGeometry(e)}catch(f){OpenLayers.Console.error(f)}break;case "Feature":try{d=this.parseFeature(e),d.type="Feature"}catch(g){OpenLayers.Console.error(g)}break; -case "FeatureCollection":switch(d=[],e.type){case "Feature":try{d.push(this.parseFeature(e))}catch(h){d=null,OpenLayers.Console.error(h)}break;case "FeatureCollection":a=0;for(b=e.features.length;athis.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},initImage:function(){this.events.triggerEvent(this._loadEvent);var a=this.getImage();if(this.url&&a.getAttribute("src")==this.url)this.onImageLoad();else{var b=OpenLayers.Function.bind(function(){OpenLayers.Event.stopObservingElement(a);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)},this);a.getAttribute("src")==this.blankImageUrl?b():(OpenLayers.Event.observe(a,"load",b),OpenLayers.Event.observe(a,"error",b),this.crossOriginKeyword&&a.removeAttribute("crossorigin"),a.src=this.blankImageUrl)}},setImgSrc:function(a){var b=this.imgDiv;b.style.visibility="hidden";b.style.opacity=0;a&&(this.crossOriginKeyword&&("data:"!==a.substr(0,5)?b.setAttribute("crossorigin", -this.crossOriginKeyword):b.removeAttribute("crossorigin")),b.src=a)},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;OpenLayers.Event.stopObservingElement(a);a.style.visibility="inherit";a.style.opacity=this.layer.opacity;this.isLoading=!1;this.canvasContext=null;this.events.triggerEvent("loadend"); -if(7>parseFloat(navigator.appVersion.split("MSIE")[1])&&this.layer&&this.layer.div){var b=document.createElement("span");b.style.display="none";var c=this.layer.div;c.appendChild(b);window.setTimeout(function(){b.parentNode===c&&b.parentNode.removeChild(b)},0)}!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()))},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.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:null,numLoadingTiles:0,tileLoadingDelay:85,serverResolutions:null,moveTimerId:null,deferMoveGriddedTiles:null,tileQueueId:null,tileQueue:null,loading:!1,backBuffer:null,gridResolution:null,backBufferResolution:null,backBufferLonLat:null,backBufferTimerId:null,removeBackBufferDelay:null, -className:null,initialize:function(a,b,c,d){OpenLayers.Layer.HTTPRequest.prototype.initialize.apply(this,arguments);this.grid=[];this.tileQueue=[];null===this.removeBackBufferDelay&&(this.removeBackBufferDelay=this.singleTile?0:2500);null===this.className&&(this.className=this.singleTile?"olLayerGridSingleTile":"olLayerGrid");OpenLayers.Animation.isNative||(this.deferMoveGriddedTiles=OpenLayers.Function.bind(function(){this.moveGriddedTiles(true);this.moveTimerId=null},this))},setMap:function(a){OpenLayers.Layer.HTTPRequest.prototype.setMap.call(this, -a);OpenLayers.Element.addClass(this.div,this.className)},removeMap:function(){null!==this.moveTimerId&&(window.clearTimeout(this.moveTimerId),this.moveTimerId=null);this.clearTileQueue();null!==this.backBufferTimerId&&(window.clearTimeout(this.backBufferTimerId),this.backBufferTimerId=null)},destroy:function(){this.removeBackBuffer();this.clearGrid();this.tileSize=this.grid=null;OpenLayers.Layer.HTTPRequest.prototype.destroy.apply(this,arguments)},clearGrid:function(){this.clearTileQueue();if(this.grid){for(var a= -0,b=this.grid.length;aa){a=c;break}if(-1===b)throw"no appropriate resolution in serverResolutions";}return a},getServerZoom:function(){var a=this.getServerResolution();return this.serverResolutions?OpenLayers.Util.indexOf(this.serverResolutions,a):this.map.getZoomForResolution(a)+(this.zoomOffset||0)},transformDiv:function(a){this.div.style.width=100*a+"%";this.div.style.height=100*a+"%";var b=this.map.getSize(),c=parseInt(this.map.layerContainerDiv.style.left,10),d=(parseInt(this.map.layerContainerDiv.style.top, -10)-b.h/2)*(a-1);this.div.style.left=(c-b.w/2)*(a-1)+"%";this.div.style.top=d+"%"},getResolutionScale:function(){return parseInt(this.div.style.width,10)/100},applyBackBuffer:function(a){null!==this.backBufferTimerId&&this.removeBackBuffer();var b=this.backBuffer;if(!b){b=this.createBackBuffer();if(!b)return;this.div.insertBefore(b,this.div.firstChild);this.backBuffer=b;var c=this.grid[0][0].bounds;this.backBufferLonLat={lon:c.left,lat:c.top};this.backBufferResolution=this.gridResolution}var c=b.style, -d=this.backBufferResolution/a;c.width=100*d+"%";c.height=100*d+"%";a=this.getViewPortPxFromLonLat(this.backBufferLonLat,a);c=parseInt(this.map.layerContainerDiv.style.left,10);d=parseInt(this.map.layerContainerDiv.style.top,10);b.style.left=Math.round(a.x-c)+"%";b.style.top=Math.round(a.y-d)+"%"},createBackBuffer:function(){var a;if(0=a.bottom-j*this.buffer||m-e*(a-1))this.shiftColumn(!0);else if(c<-e*a)this.shiftColumn(!1);else if(d>-f*(a-1))this.shiftRow(!0);else if(d<-f*a)this.shiftRow(!1);else break}},shiftRow:function(a){for(var b=this.grid,c=b[a?0:this.grid.length-1],d=this.getServerResolution(),e=a?-this.tileSize.h:this.tileSize.h,d=d*-e,f=a? -b.pop():b.shift(),g=0,h=c.length;ga;){var e=this.grid.pop();c=0;for(d=e.length;cb;)e=this.grid[c],f=e.pop(),this.destroyTile(f)},onMapResize:function(){this.singleTile&&(this.clearGrid(),this.setTileSize())},getTileBounds:function(a){var b=this.maxExtent,c=this.getResolution(),d=c*this.tileSize.w,c=c*this.tileSize.h,e=this.getLonLatFromViewPortPx(a),a=b.left+d*Math.floor((e.lon-b.left)/d),b=b.bottom+ -c*Math.floor((e.lat-b.bottom)/c);return new OpenLayers.Bounds(a,b,a+d,b+c)},CLASS_NAME:"OpenLayers.Layer.Grid"});OpenLayers.Format.ArcXML=OpenLayers.Class(OpenLayers.Format.XML,{fontStyleKeys:"antialiasing blockout font fontcolor fontsize fontstyle glowing interval outline printmode shadow transparency".split(" "),request:null,response:null,initialize:function(a){this.request=new OpenLayers.Format.ArcXML.Request;this.response=new OpenLayers.Format.ArcXML.Response;if(a)if("feature"==a.requesttype){this.request.get_image=null;var b=this.request.get_feature.query;this.addCoordSys(b.featurecoordsys,a.featureCoordSys); -this.addCoordSys(b.filtercoordsys,a.filterCoordSys);a.polygon?(b.isspatial=!0,b.spatialfilter.polygon=a.polygon):a.envelope&&(b.isspatial=!0,b.spatialfilter.envelope={minx:0,miny:0,maxx:0,maxy:0},this.parseEnvelope(b.spatialfilter.envelope,a.envelope))}else"image"==a.requesttype?(this.request.get_feature=null,b=this.request.get_image.properties,this.parseEnvelope(b.envelope,a.envelope),this.addLayers(b.layerlist,a.layers),this.addImageSize(b.imagesize,a.tileSize),this.addCoordSys(b.featurecoordsys, -a.featureCoordSys),this.addCoordSys(b.filtercoordsys,a.filterCoordSys)):this.request=null;OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},parseEnvelope:function(a,b){b&&4==b.length&&(a.minx=b[0],a.miny=b[1],a.maxx=b[2],a.maxy=b[3])},addLayers:function(a,b){for(var c=0,d=b.length;cg.where.length)continue;var h=null,h="boolean"==typeof g.spatialfilter&&g.spatialfilter?this.createElementNS("","SPATIALQUERY"):this.createElementNS("","QUERY");h.setAttribute("where",g.where);"number"==typeof g.accuracy&&0g.featurelimit&&h.setAttribute("featurelimit", -g.featurelimit);"string"==typeof g.subfields&&"#ALL#"!=g.subfields&&h.setAttribute("subfields",g.subfields);"string"==typeof g.joinexpression&&0b.status)this.events.triggerEvent("success",a),e&&e(b); -if(b.status&&(200>b.status||300<=b.status))this.events.triggerEvent("failure",a),f&&f(b)},GET:function(a){a=OpenLayers.Util.extend(a,{method:"GET"});return OpenLayers.Request.issue(a)},POST:function(a){a=OpenLayers.Util.extend(a,{method:"POST"});a.headers=a.headers?a.headers:{};"CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(a.headers)||(a.headers["Content-Type"]="application/xml");return OpenLayers.Request.issue(a)},PUT:function(a){a=OpenLayers.Util.extend(a,{method:"PUT"});a.headers=a.headers? -a.headers:{};"CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(a.headers)||(a.headers["Content-Type"]="application/xml");return OpenLayers.Request.issue(a)},DELETE:function(a){a=OpenLayers.Util.extend(a,{method:"DELETE"});return OpenLayers.Request.issue(a)},HEAD:function(a){a=OpenLayers.Util.extend(a,{method:"HEAD"});return OpenLayers.Request.issue(a)},OPTIONS:function(a){a=OpenLayers.Util.extend(a,{method:"OPTIONS"});return OpenLayers.Request.issue(a)}};OpenLayers.Layer.ArcIMS=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{ClientVersion:"9.2",ServiceName:""},featureCoordSys:"4326",filterCoordSys:"4326",layers:null,async:!0,name:"ArcIMS",isBaseLayer:!0,DEFAULT_OPTIONS:{tileSize:new OpenLayers.Size(512,512),featureCoordSys:"4326",filterCoordSys:"4326",layers:null,isBaseLayer:!0,async:!0,name:"ArcIMS"},initialize:function(a,b,c){this.tileSize=new OpenLayers.Size(512,512);this.params=OpenLayers.Util.applyDefaults({ServiceName:c.serviceName}, -this.DEFAULT_PARAMS);this.options=OpenLayers.Util.applyDefaults(c,this.DEFAULT_OPTIONS);OpenLayers.Layer.Grid.prototype.initialize.apply(this,[a,b,this.params,c]);if(this.transparent&&(this.isBaseLayer||(this.isBaseLayer=!1),"image/jpeg"==this.format))this.format=OpenLayers.Util.alphaHack()?"image/gif":"image/png";null===this.options.layers&&(this.options.layers=[])},getURL:function(a){var b="",a=this.adjustBounds(a),a=new OpenLayers.Format.ArcXML(OpenLayers.Util.extend(this.options,{requesttype:"image", -envelope:a.toArray(),tileSize:this.tileSize})),a=new OpenLayers.Request.POST({url:this.getFullRequestString(),data:a.write(),async:!1});if(null!=a){b=a.responseXML;if(!b||!b.documentElement)b=a.responseText;b=this.getUrlOrImage((new OpenLayers.Format.ArcXML).read(b).image.output)}return b},getURLasync:function(a,b,c){a=this.adjustBounds(a);a=new OpenLayers.Format.ArcXML(OpenLayers.Util.extend(this.options,{requesttype:"image",envelope:a.toArray(),tileSize:this.tileSize}));OpenLayers.Request.POST({url:this.getFullRequestString(), -async:!0,data:a.write(),callback:function(a){var e=a.responseXML;if(!e||!e.documentElement)e=a.responseText;a=(new OpenLayers.Format.ArcXML).read(e);b.call(c,this.getUrlOrImage(a.image.output))},scope:this})},getUrlOrImage:function(a){var b="";a.url?b=a.url:a.data&&(b="data:image/"+a.type+";base64,"+a.data);return b},setLayerQuery:function(a,b){for(var c=0;cOpenStreetMap",sphericalMercator:!0,wrapDateLine:!0,tileOptions:null,initialize:function(a,b,c){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 c=a.getWidth()/this.map.getExtent().getWidth(), -a=a.scale(1/c);this.extent=a.wrapDateLine(this.map.getMaxExtent()).scale(c)}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 c=a.geometry.getBounds();if(c){var d;this.map.baseLayer&&this.map.baseLayer.wrapDateLine&&(d=this.map.getMaxExtent());c.intersectsBounds(this.extent,{worldBounds:d})?this.calculateFeatureDx(c, -d):b={display:"none"};c=this.drawGeometry(a.geometry,b,a.id);if("none"!=b.display&&b.label&&!1!==c){d=a.geometry.getCentroid();if(b.labelXOffset||b.labelYOffset){var e=isNaN(b.labelXOffset)?0:b.labelXOffset,f=isNaN(b.labelYOffset)?0:b.labelYOffset,g=this.getResolution();d.move(e*g,f*g)}this.drawText(a.id,b,d)}else this.removeText(a.id);return c}}},calculateFeatureDx:function(a,b){this.featureDx=0;if(b){var c=b.getWidth();this.featureDx=Math.round(((a.left+a.right)/2-(this.extent.left+this.extent.right)/ -2)/c)*c}},drawGeometry:function(){},drawText:function(){},removeText:function(){},clear:function(){},getFeatureIdFromEvent:function(){},eraseFeatures:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=0,c=a.length;bh.length)&&(a=this.getLocalXY(a),e=a[0],g=a[1],!isNaN(e)&&!isNaN(g))){this.canvas.lineCap="round";this.canvas.lineJoin="round";this.hitDetection&&(this.hitContext.lineCap="round",this.hitContext.lineJoin="round");if(b.graphicName in this.cachedSymbolBounds)d=this.cachedSymbolBounds[b.graphicName];else{d=new OpenLayers.Bounds;for(a=0;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(){},onDrag:function(){},onComplete:function(){},onEnter:function(){},onLeave:function(){},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(){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.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 c in a)if(a[c]instanceof OpenLayers.Style)this.styles[c]=a[c];else if("object"==typeof a[c])this.styles[c]=new OpenLayers.Style(a[c]);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 c={};this.extendDefault&&"default"!=b&&(c=this.styles["default"].createSymbolizer(a));return OpenLayers.Util.extend(c,this.styles[b].createSymbolizer(a))},addUniqueValueRules:function(a,b,c,d){var e=[],f;for(f in c)e.push(new OpenLayers.Rule({symbolizer:c[f],context:d,filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.EQUAL_TO,property:b,value:f})}));this.styles[a].addRules(e)},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();if(!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 c=0,d=this.strategies.length;c
${copyrights}Terms of Use', -metadata:null,type:"Road",culture:"en-US",metadataParams:null,tileOptions:null,initialize:function(a){a=OpenLayers.Util.applyDefaults({sphericalMercator:!0},a);OpenLayers.Layer.XYZ.prototype.initialize.apply(this,[a.name||"Bing "+(a.type||this.type),null,a]);this.tileOptions=OpenLayers.Util.extend({crossOriginKeyword:"anonymous"},this.options.tileOptions);this.loadMetadata()},loadMetadata:function(){this._callbackId="_callback_"+this.id.replace(/\./g,"_");window[this._callbackId]=OpenLayers.Function.bind(OpenLayers.Layer.Bing.processMetadata, -this);var a=OpenLayers.Util.applyDefaults({key:this.key,jsonp:this._callbackId,include:"ImageryProviders"},this.metadataParams),a="http://dev.virtualearth.net/REST/v1/Imagery/Metadata/"+this.type+"?"+OpenLayers.Util.getParameterString(a),b=document.createElement("script");b.type="text/javascript";b.src=a;b.id=this._callbackId;document.getElementsByTagName("head")[0].appendChild(b)},initLayer:function(){var a=this.metadata.resourceSets[0].resources[0],b=a.imageUrl.replace("{quadkey}","${quadkey}"), -b=b.replace("{culture}",this.culture);this.url=[];for(var c=0;c=l.zoomMin)&&(e+=f.attribution+" ")}this.attribution=OpenLayers.String.format(this.attributionTemplate,{type:this.type.toLowerCase(),logo:a.brandLogoUri,copyrights:e});this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"attribution"})}},setMap:function(){OpenLayers.Layer.XYZ.prototype.setMap.apply(this,arguments);this.updateAttribution();this.map.events.register("moveend", -this,this.updateAttribution)},clone:function(a){null==a&&(a=new OpenLayers.Layer.Bing(this.options));return a=OpenLayers.Layer.XYZ.prototype.clone.apply(this,[a])},destroy:function(){this.map&&this.map.events.unregister("moveend",this,this.updateAttribution);OpenLayers.Layer.XYZ.prototype.destroy.apply(this,arguments)},CLASS_NAME:"OpenLayers.Layer.Bing"}); -OpenLayers.Layer.Bing.processMetadata=function(a){this.metadata=a;this.initLayer();a=document.getElementById(this._callbackId);a.parentNode.removeChild(a);window[this._callbackId]=void 0;delete this._callbackId};OpenLayers.Layer.PointGrid=OpenLayers.Class(OpenLayers.Layer.Vector,{dx:null,dy:null,ratio:1.5,maxFeatures:250,rotation:0,origin:null,gridBounds:null,initialize:function(a){a=a||{};OpenLayers.Layer.Vector.prototype.initialize.apply(this,[a.name,a])},setMap:function(a){OpenLayers.Layer.Vector.prototype.setMap.apply(this,arguments);a.events.register("moveend",this,this.onMoveEnd)},removeMap:function(a){a.events.unregister("moveend",this,this.onMoveEnd);OpenLayers.Layer.Vector.prototype.removeMap.apply(this, -arguments)},setRatio:function(a){this.ratio=a;this.updateGrid(!0)},setMaxFeatures:function(a){this.maxFeatures=a;this.updateGrid(!0)},setSpacing:function(a,b){this.dx=a;this.dy=b||a;this.updateGrid(!0)},setOrigin:function(a){this.origin=a;this.updateGrid(!0)},getOrigin:function(){this.origin||(this.origin=this.map.getExtent().getCenterLonLat());return this.origin},setRotation:function(a){this.rotation=a;this.updateGrid(!0)},onMoveEnd:function(){this.updateGrid()},getViewBounds:function(){var a=this.map.getExtent(); -if(this.rotation){var b=this.getOrigin(),b=new OpenLayers.Geometry.Point(b.lon,b.lat),a=a.toGeometry();a.rotate(-this.rotation,b);a=a.getBounds()}return a},updateGrid:function(a){if(a||this.invalidBounds()){var b=this.getViewBounds(),c=this.getOrigin(),a=new OpenLayers.Geometry.Point(c.lon,c.lat),d=b.getWidth(),e=b.getHeight(),f=d/e,g=Math.sqrt(this.dx*this.dy*this.maxFeatures/f),d=Math.min(d*this.ratio,g*f),e=Math.min(e*this.ratio,g),b=b.getCenterLonLat();this.gridBounds=new OpenLayers.Bounds(b.lon- -d/2,b.lat-e/2,b.lon+d/2,b.lat+e/2);for(var b=Math.floor(e/this.dy),d=Math.floor(d/this.dx),e=c.lon+this.dx*Math.ceil((this.gridBounds.left-c.lon)/this.dx),c=c.lat+this.dy*Math.ceil((this.gridBounds.bottom-c.lat)/this.dy),g=Array(b*d),h,i=0;iwindow.opera.version()&&(b=-b)):a.detail&&(b=-a.detail/ -3),this.delta+=b,this.interval)?(window.clearTimeout(this._timeoutId),this._timeoutId=window.setTimeout(OpenLayers.Function.bind(function(){this.wheelZoom(a)},this),this.interval)):this.wheelZoom(a)),OpenLayers.Event.stop(a))}},wheelZoom:function(a){var b=this.delta;this.delta=0;b&&(this.mousePosition&&(a.xy=this.mousePosition),a.xy||(a.xy=this.map.getPixelFromLonLat(this.map.getCenter())),0>b?this.callback("down",[a,this.cumulative?b:-1]):this.callback("up",[a,this.cumulative?b:1]))},mousemove:function(a){this.mousePosition= -a.xy},activate:function(a){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){var b=this.wheelListener;OpenLayers.Event.observe(window,"DOMMouseScroll",b);OpenLayers.Event.observe(window,"mousewheel",b);OpenLayers.Event.observe(document,"mousewheel",b);return!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.Symbolizer=OpenLayers.Class({zIndex:0,initialize:function(a){OpenLayers.Util.extend(this,a)},clone:function(){return new (eval(this.CLASS_NAME))(OpenLayers.Util.extend({},this))},CLASS_NAME:"OpenLayers.Symbolizer"});OpenLayers.Symbolizer.Raster=OpenLayers.Class(OpenLayers.Symbolizer,{initialize:function(a){OpenLayers.Symbolizer.prototype.initialize.apply(this,arguments)},CLASS_NAME:"OpenLayers.Symbolizer.Raster"});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),c=!0;if(this.minScaleDenominator||this.maxScaleDenominator)var d=a.layer.map.getScale();this.minScaleDenominator&&(c=d>=OpenLayers.Style.createLiteral(this.minScaleDenominator,b));c&&this.maxScaleDenominator&&(c=dthis.maxZIndex&&(this.maxZIndex=b)},getNextElement:function(a){a+=1;if(aa.left&&f.righta.left&&f.lefta.length)throw Error("At least two point features have to be added to create a line from");for(var c=Array(a.length-1),d,e,f,g=0,h=a.length;gthis.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=a.maxResolution)return null;for(var c= -{node:this.getGeoTolerance(a.nodeTolerance,c),vertex:this.getGeoTolerance(a.vertexTolerance,c),edge:this.getGeoTolerance(a.edgeTolerance,c)},d=Math.max(c.node,c.vertex,c.edge),e={rank:Number.POSITIVE_INFINITY,dist:Number.POSITIVE_INFINITY},f=!1,g=a.layer.features,h,i,j,k,l,m,n=this.precedence.length,o=new OpenLayers.LonLat(b.x,b.y),p=0,q=g.length;p4?this._object.open(a,f,i,m,n):arguments.length>3?this._object.open(a,f,i,m):this._object.open(a,f,i);this.readyState=b.OPENED;c(this);this._object.onreadystatechange=function(){if(!g||i){o.readyState=o._object.readyState;d(o);if(o._aborted)o.readyState=b.UNSENT;else{if(o.readyState==b.DONE){delete o._data;e(o);h&&i&&window.detachEvent("onunload", -q)}p!=o.readyState&&c(o);p=o.readyState}}}};b.prototype.send=function(a){b.onsend&&b.onsend.apply(this,arguments);arguments.length||(a=null);if(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:{this._object.send(this._data);if(g&&!this._async){this.readyState=b.OPENED;for(d(this);this.readyStateb.UNSENT)this._aborted=true;this._object.abort();e(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){if(!this._headers)this._headers={};this._headers[a]=b;return this._object.setRequestHeader(a, -b)};b.prototype.addEventListener=function(a,b,c){for(var d=0,e;e=this._listeners[d];d++)if(e[0]==a&&e[1]==b&&e[2]==c)return;this._listeners.push([a,b,c])};b.prototype.removeEventListener=function(a,b,c){for(var d=0,e;e=this._listeners[d];d++)if(e[0]==a&&e[1]==b&&e[2]==c)break;e&&this._listeners.splice(d,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(){}};a.type=="readystatechange"&&this.onreadystatechange&&(this.onreadystatechange.handleEvent||this.onreadystatechange).apply(this,[a]);for(var b=0,c;c=this._listeners[b];b++)c[0]==a.type&&!c[2]&&(c[1].handleEvent||c[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.XMLHttpRequest=b})();OpenLayers.Format.KML=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{kml:"http://www.opengis.net/kml/2.2",gx:"http://www.google.com/kml/ext/2.2"},kmlns:"http://earth.google.com/kml/2.0",placemarksDesc:"No description available",foldersName:"OpenLayers export",foldersDesc:"Exported on "+new Date,extractAttributes:!0,kvpAttributes:!1,extractStyles:!1,extractTracks:!1,trackAttributes:null,internalns:null,features:null,styles:null,styleBaseUrl:"",fetched:null,maxDepth:0,initialize:function(a){this.regExes= -{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g,kmlColor:/(\w{2})(\w{2})(\w{2})(\w{2})/,kmlIconPalette:/root:\/\/icons\/palette-(\d+)(\.\w+)/,straightBracket:/\$\[(.*?)\]/g};this.externalProjection=new OpenLayers.Projection("EPSG:4326");OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a){this.features=[];this.styles={};this.fetched={};return this.parseData(a,{depth:0,styleBaseUrl:this.styleBaseUrl})},parseData:function(a,b){"string"==typeof a&& -(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));for(var c=["Link","NetworkLink","Style","StyleMap","Placemark"],d=0,e=c.length;d=this.maxDepth)return!1;var c=OpenLayers.Util.extend({},b);c.depth++;for(var d=0,e=a.length;d=e.length)){switch(e.length){case 1:f=e[0];break;case 2:f=e[0];e=e[1];f=3==f.nodeType||4==f.nodeType?f:e;break;default:f=e[1]}if(3==f.nodeType||4==f.nodeType)if(d=d.prefix?d.nodeName.split(":")[1]:d.nodeName,f=OpenLayers.Util.getXmlNodeValue(f))f=f.replace(this.regExes.trimSpace,""),b[d]=f}return b},parseExtendedData:function(a){var b={},c,d,e,f,g=a.getElementsByTagName("Data");c=0;for(d=g.length;c"+this.contentDiv.innerHTML+"",b=this.map?this.map.div:document.body,c=OpenLayers.Util.getRenderedDimensions(a, -null,{displayClass:this.displayClass,containerElement:b}),d=this.getSafeContentSize(c),e=null;d.equals(c)?e=c:(c={w:d.wa.w-this.map.paddingForPopups.right&&(c.x=a.w-this.map.paddingForPopups.right-this.size.w); -b.ya.h-this.map.paddingForPopups.bottom&&(c.y=a.h-this.map.paddingForPopups.bottom-this.size.h);this.map.pan(b.x-c.x,b.y-c.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(){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.Popup.Anchored=OpenLayers.Class(OpenLayers.Popup,{relativePosition:null,keepInMap:!0,anchor:null,initialize:function(a,b,c,d,e,f,g){OpenLayers.Popup.prototype.initialize.apply(this,[a,b,c,d,f,g]);this.anchor=null!=e?e:{size:new OpenLayers.Size(0,0),offset:new OpenLayers.Pixel(0,0)}},destroy:function(){this.relativePosition=this.anchor=null;OpenLayers.Popup.prototype.destroy.apply(this,arguments)},show:function(){this.updatePosition();OpenLayers.Popup.prototype.show.apply(this,arguments)}, -moveTo:function(a){var b=this.relativePosition;this.relativePosition=this.calculateRelativePosition(a);a=this.calculateNewPx(a);OpenLayers.Popup.prototype.moveTo.apply(this,Array(a));this.relativePosition!=b&&this.updateRelativePosition()},setSize:function(a){OpenLayers.Popup.prototype.setSize.apply(this,arguments);this.lonlat&&this.map&&this.moveTo(this.map.getLayerPxFromLonLat(this.lonlat))},calculateRelativePosition:function(a){a=this.map.getLonLatFromLayerPx(a);a=this.map.getExtent().determineQuadrant(a); -return OpenLayers.Bounds.oppositeQuadrant(a)},updateRelativePosition:function(){},calculateNewPx:function(a){var a=a.offset(this.anchor.offset),b=this.size||this.contentSize,c="t"==this.relativePosition.charAt(0);a.y+=c?-b.h:this.anchor.size.h;c="l"==this.relativePosition.charAt(1);a.x+=c?-b.w:this.anchor.size.w;return a},CLASS_NAME:"OpenLayers.Popup.Anchored"});/* - Apache 2 - - Contains portions of Rico - - 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. -*/ -OpenLayers.Console.warn("OpenLayers.Rico is deprecated");OpenLayers.Rico=OpenLayers.Rico||{}; -OpenLayers.Rico.Color=OpenLayers.Class({initialize:function(a,b,c){this.rgb={r:a,g:b,b:c}},setRed:function(a){this.rgb.r=a},setGreen:function(a){this.rgb.g=a},setBlue:function(a){this.rgb.b=a},setHue:function(a){var b=this.asHSB();b.h=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)},setSaturation:function(a){var b=this.asHSB();b.s=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)},setBrightness:function(a){var b=this.asHSB();b.b=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)}, -darken:function(a){var b=this.asHSB();this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,Math.max(b.b-a,0))},brighten:function(a){var b=this.asHSB();this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,Math.min(b.b+a,1))},blend:function(a){this.rgb.r=Math.floor((this.rgb.r+a.rgb.r)/2);this.rgb.g=Math.floor((this.rgb.g+a.rgb.g)/2);this.rgb.b=Math.floor((this.rgb.b+a.rgb.b)/2)},isBright:function(){this.asHSB();return 0.5c;c++)a+=b.charAt(c)+b.charAt(c);0==a.indexOf("#")&&(a=a.substring(1));b=a.substring(0,2);c=a.substring(2,4);a=a.substring(4,6);return new OpenLayers.Rico.Color(parseInt(b,16),parseInt(c,16),parseInt(a,16))}; -OpenLayers.Rico.Color.createColorFromBackground=function(a){var b=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,c){var d=0,e=0,f=0;if(0==b)f=e=d=parseInt(255*c+0.5);else{var a=6*(a-Math.floor(a)),g=a-Math.floor(a),h=c*(1-b),i=c*(1-b*g),b=c*(1-b*(1-g));switch(parseInt(a)){case 0:d=255*c+0.5;e=255*b+0.5;f=255*h+0.5;break;case 1:d=255*i+0.5;e=255*c+0.5;f=255*h+0.5;break;case 2:d=255*h+0.5;e=255*c+0.5;f=255*b+0.5;break;case 3:d=255*h+0.5;e=255*i+0.5;f=255*c+0.5;break;case 4:d=255*b+0.5;e=255*h+0.5;f=255*c+0.5;break;case 5:d=255*c+0.5,e=255*h+0.5,f=255*i+0.5}}return{r:parseInt(d),g:parseInt(e), -b:parseInt(f)}};OpenLayers.Rico.Color.RGBtoHSB=function(a,b,c){var d,e=a>b?a:b;c>e&&(e=c);var f=aa&&(a+=1)}return{h:a,s:d,b:e/255}};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 c=this.options.color;"fromElement"==this.options.color&&(c=this._background(a));var d=this.options.bgColor;"fromParent"==this.options.bgColor&&(d=this._background(a.offsetParent));this._roundCornersImpl(a,c,d)},changeColor:function(a,b){a.style.backgroundColor=b;for(var c=a.parentNode.getElementsByTagName("span"),d=0;d"+a.innerHTML+""},_roundTopCorners:function(a,b,c){for(var d=this._createCorner(c),e=0;ec.status?(c=this.parseResponse(c,b.readOptions))&&!1!==c.success?(b.readOptions&&"object"==b.readOptions.output?OpenLayers.Util.extend(a,c):a.features=c,a.code=OpenLayers.Protocol.Response.SUCCESS):(a.code=OpenLayers.Protocol.Response.FAILURE,a.error=c):a.code=OpenLayers.Protocol.Response.FAILURE;b.callback.call(b.scope,a)}},parseResponse:function(a,b){var c=a.responseXML;if(!c||!c.documentElement)c=a.responseText;if(!c||0>=c.length)return null;c=null!==this.readFormat?this.readFormat.read(c): -this.format.read(c,b);if(!this.featureNS){var d=this.readFormat||this.format;this.featureNS=d.featureNS;d.autoConfig=!1;this.geometryName||this.setGeometryName(d.geometryName)}return c},commit:function(a,b){b=OpenLayers.Util.extend({},b);OpenLayers.Util.applyDefaults(b,this.options);var c=new OpenLayers.Protocol.Response({requestType:"commit",reqFeatures:a});c.priv=OpenLayers.Request.POST({url:b.url,headers:b.headers,data:this.format.write(a,b),callback:this.createCallback(this.handleCommit,c,b)}); -return c},handleCommit:function(a,b){if(b.callback){var c=a.priv,d=c.responseXML;if(!d||!d.documentElement)d=c.responseText;c=this.format.read(d)||{};a.insertIds=c.insertIds||[];c.success?a.code=OpenLayers.Protocol.Response.SUCCESS:(a.code=OpenLayers.Protocol.Response.FAILURE,a.error=c);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 c=this.format.createElementNSPlus("wfs:Transaction", -{attributes:{service:"WFS",version:this.version}}),d=this.format.createElementNSPlus("wfs:Delete",{attributes:{typeName:(b.featureNS?this.featurePrefix+":":"")+b.featureType}});b.featureNS&&d.setAttribute("xmlns:"+this.featurePrefix,b.featureNS);var e=this.format.writeNode("ogc:Filter",a);d.appendChild(e);c.appendChild(d);c=OpenLayers.Format.XML.prototype.write.apply(this.format,[c]);return OpenLayers.Request.POST({url:this.url,callback:b.callback||function(){},data:c})},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,touch:!1,lastTouchPx:null,initialize:function(a,b,c){if(!c||!c.layerOptions||!c.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;this.touch=!1;return!0},destroyFeature:function(a){this.layer&&(a||!this.persist)&&this.layer.destroyFeatures();this.point=null},destroyPersistedFeature:function(){var a=this.layer;a&&1c&&(d=!1);return d},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&&2this.nbPoints&&this.points.pop()},end:function(a){for(var b,c=(new Date).getTime(),d=0,e=this.points.length,f;dthis.delay)break;b=f}if(b&&(d=(new Date).getTime()-b.tick,c=Math.sqrt(Math.pow(a.x-b.xy.x,2)+Math.pow(a.y-b.xy.y,2)),d=c/d,!(0==d||d=-this.deceleration*a+c&&(OpenLayers.Animation.stop(this.timerId),this.timerId=null,l=!0);a=k-g;m=j-h;g=k;h=j;b(a,m,l)}},this))},CLASS_NAME:"OpenLayers.Kinetic"});OpenLayers.Layer.GeoRSS=OpenLayers.Class(OpenLayers.Layer.Markers,{location:null,features:null,formatOptions:null,selectedFeature:null,icon:null,popupSize:null,useFeedTitle:!0,initialize:function(a,b,c){OpenLayers.Layer.Markers.prototype.initialize.apply(this,[a,c]);this.location=b;this.features=[]},destroy:function(){OpenLayers.Layer.Markers.prototype.destroy.apply(this,arguments);this.clearFeatures();this.features=null},loadRSS:function(){this.loaded||(this.events.triggerEvent("loadstart"),OpenLayers.Request.GET({url:this.location, -success:this.parseData,scope:this}),this.loaded=!0)},moveTo:function(a,b,c){OpenLayers.Layer.Markers.prototype.moveTo.apply(this,arguments);this.visibility&&!this.loaded&&this.loadRSS()},parseData:function(a){var b=a.responseXML;if(!b||!b.documentElement)b=OpenLayers.Format.XML.prototype.read(a.responseText);if(this.useFeedTitle){a=null;try{a=b.getElementsByTagNameNS("*","title")[0].firstChild.nodeValue}catch(c){a=b.getElementsByTagName("title")[0].firstChild.nodeValue}a&&this.setName(a)}a={};OpenLayers.Util.extend(a, -this.formatOptions);this.map&&!this.projection.equals(this.map.getProjectionObject())&&(a.externalProjection=this.projection,a.internalProjection=this.map.getProjectionObject());for(var b=(new OpenLayers.Format.GeoRSS(a)).read(b),a=0,d=b.length;a';i&&(j+='');j+=g;i&&(j+="");j+="";j+='
';j+=h;j+="
";e.popupContentHTML=j}f=new OpenLayers.Feature(this,f,e);this.features.push(f); -e=f.createMarker();e.events.register("click",f,this.markerClick);this.addMarker(e)}}this.events.triggerEvent("loadend")},markerClick:function(a){var b=this==this.layer.selectedFeature;this.layer.selectedFeature=!b?this:null;for(var c=0,d=this.layer.map.popups.length;c1/3&&e<2/3?d="c":e>=2/3&&(d="r");f<=1/3?d+="b":f>1/3&&f<2/3?d+="m":f>=2/3&&(d+="t");c.labelAlign=d;OpenLayers.Util.applyDefaults(b,c)},AnchorPoint:function(a,b){this.readChildNodes(a,b)},AnchorPointX:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.labelAnchorPointX=c)},AnchorPointY:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.labelAnchorPointY=c)},Displacement:function(a, -b){this.readChildNodes(a,b)},DisplacementX:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.labelXOffset=c)},DisplacementY:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.labelYOffset=c)},LinePlacement:function(a,b){this.readChildNodes(a,b)},PerpendicularOffset:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.labelPerpendicularOffset=c)},Label:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.label=c)},Font:function(a,b){this.readChildNodes(a, -b)},Halo:function(a,b){var c={};this.readChildNodes(a,c);b.haloRadius=c.haloRadius;b.haloColor=c.fillColor;b.haloOpacity=c.fillOpacity},Radius:function(a,b){var c=this.readers.ogc._expression.call(this,a);null!=c&&(b.haloRadius=c)},RasterSymbolizer:function(a,b){var c={};this.readChildNodes(a,c);this.multipleSymbolizers?(c.zIndex=this.featureTypeCounter,b.symbolizers.push(new OpenLayers.Symbolizer.Raster(c))):b.symbolizer.Raster=OpenLayers.Util.applyDefaults(c,b.symbolizer.Raster)},Geometry:function(a, -b){b.geometry={};this.readChildNodes(a,b.geometry)},ColorMap:function(a,b){b.colorMap=[];this.readChildNodes(a,b.colorMap)},ColorMapEntry:function(a,b){var c=a.getAttribute("quantity"),d=a.getAttribute("opacity");b.push({color:a.getAttribute("color"),quantity:null!==c?parseFloat(c):void 0,label:a.getAttribute("label")||void 0,opacity:null!==d?parseFloat(d):void 0})},LineSymbolizer:function(a,b){var c={};this.readChildNodes(a,c);this.multipleSymbolizers?(c.zIndex=this.featureTypeCounter,b.symbolizers.push(new OpenLayers.Symbolizer.Line(c))): -b.symbolizer.Line=OpenLayers.Util.applyDefaults(c,b.symbolizer.Line)},PolygonSymbolizer:function(a,b){var c={fill:!1,stroke:!1};this.multipleSymbolizers||(c=b.symbolizer.Polygon||c);this.readChildNodes(a,c);this.multipleSymbolizers?(c.zIndex=this.featureTypeCounter,b.symbolizers.push(new OpenLayers.Symbolizer.Polygon(c))):b.symbolizer.Polygon=c},PointSymbolizer:function(a,b){var c={fill:!1,stroke:!1,graphic:!1};this.multipleSymbolizers||(c=b.symbolizer.Point||c);this.readChildNodes(a,c);this.multipleSymbolizers? -(c.zIndex=this.featureTypeCounter,b.symbolizers.push(new OpenLayers.Symbolizer.Point(c))):b.symbolizer.Point=c},Stroke:function(a,b){b.stroke=!0;this.readChildNodes(a,b)},Fill:function(a,b){b.fill=!0;this.readChildNodes(a,b)},CssParameter:function(a,b){var c=a.getAttribute("name"),d=this.cssMap[c];b.label&&("fill"===c?d="fontColor":"fill-opacity"===c&&(d="fontOpacity"));d&&(c=this.readers.ogc._expression.call(this,a))&&(b[d]=c)},Graphic:function(a,b){b.graphic=!0;var c={};this.readChildNodes(a,c); -for(var d="stroke strokeColor strokeWidth strokeOpacity strokeLinecap fill fillColor fillOpacity graphicName rotation graphicFormat".split(" "),e,f,g=0,h=d.length;g=-this.MAX_PIXEL&&a<=this.MAX_PIXEL&&b>=-this.MAX_PIXEL&&b<=this.MAX_PIXEL},setExtent:function(a,b){var c=OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments),d=this.getResolution(),e=-a.left/d,d=a.top/d;if(b)return this.left=e,this.top=d,this.rendererRoot.setAttributeNS(null, -"viewBox","0 0 "+this.size.w+" "+this.size.h),this.translate(this.xOffset,0),!0;(e=this.translate(e-this.left+this.xOffset,d-this.top))||this.setExtent(a,!0);return c&&e},translate:function(a,b){if(this.inValidRange(a,b,!0)){var c="";if(a||b)c="translate("+a+","+b+")";this.root.setAttributeNS(null,"transform",c);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 c=null;switch(a.CLASS_NAME){case "OpenLayers.Geometry.Point":c=b.externalGraphic?"image":this.isComplexSymbol(b.graphicName)?"svg":"circle";break;case "OpenLayers.Geometry.Rectangle":c="rect";break;case "OpenLayers.Geometry.LineString":c="polyline";break;case "OpenLayers.Geometry.LinearRing":c="polygon";break;case "OpenLayers.Geometry.Polygon":case "OpenLayers.Geometry.Curve":c="path"}return c},setStyle:function(a, -b,c){var b=b||a._style,c=c||a._options,d=parseFloat(a.getAttributeNS(null,"r")),e=1,f;if("OpenLayers.Geometry.Point"==a._geometryClass&&d){a.style.visibility="";if(!1===b.graphic)a.style.visibility="hidden";else if(b.externalGraphic){f=this.getPosition(a);b.graphicTitle&&(a.setAttributeNS(null,"title",b.graphicTitle),d=a.getElementsByTagName("title"),0i;)f.removeChild(f.lastChild);for(var j=0;jd)i=(c-g)/(h-f),h=0>h?-d:d,c=g+(h-f)*i;if(c<-e||c>e)i=(h-f)/(c-g),c=0>c?-e:e,h=f+(c-g)*i;return h+","+c},getShortString:function(a){var b=this.getResolution(),c=(a.x-this.featureDx)/b+this.left,a=this.top-a.y/b;return this.inValidRange(c,a)?c+","+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,c=document.getElementById(b);if(null!=c)return c;var d=OpenLayers.Renderer.symbol[a];if(!d)throw Error(a+" is not a valid symbol name");var a=this.nodeFactory(b,"symbol"),e=this.nodeFactory(null,"polygon");a.appendChild(e);for(var c=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0),f=[],g,h,i=0;iMath.abs(l)?1:j/l,h=(1.0E-5>Math.abs(k)?1:i/k)/j):(k=Math.sqrt(k*k+l*l),j=Math.sqrt(i*i+j*j)/k);a._moving=!0;a.box.geometry.rotate(-a.rotation,f);delete a._moving;a.box.geometry.resize(j,f,h);a.box.geometry.rotate(a.rotation,f);a.transformFeature({scale:j, -ratio:h});a.irregular&&!a._setfeature&&(i=f.clone(),i.x+=1.0E-5>Math.abs(d-f.x)?0:this.x-d,i.y+=1.0E-5>Math.abs(e-f.y)?0:this.y-e,a.box.geometry.move(this.x-d,this.y-e),a.transformFeature({center:i}))}},f=function(b,c){var d=this.x,e=this.y;OpenLayers.Geometry.Point.prototype.move.call(this,b,c);if(!a._moving){var f=a.dragControl.handlers.drag.evt,f=f&&f.shiftKey?45:1,g=a.center,h=this.x-g.x,i=this.y-g.y;this.x=d;this.y=e;d=Math.atan2(i-c,h-b);d=Math.atan2(i,h)-d;d*=180/Math.PI;a._angle=(a._angle+ -d)%360;d=a.rotation%f;if(Math.abs(a._angle)>=f||0!==d)d=Math.round(a._angle/f)*f-d,a._angle=0,a.box.geometry.rotate(d,g),a.transformFeature({rotation:d})}},g=Array(8),h=Array(4),i,j,k,l="sw s se e ne n nw w".split(" "),m=0;8>m;++m)i=this.box.geometry.components[m],j=new OpenLayers.Feature.Vector(i.clone(),{role:l[m]+"-resize"},"string"==typeof this.renderIntent?null:this.renderIntent),0==m%2&&(k=new OpenLayers.Feature.Vector(i.clone(),{role:l[m]+"-rotate"},"string"==typeof this.rotationHandleSymbolizer? -null:this.rotationHandleSymbolizer),k.geometry.move=f,i._rotationHandle=k,h[m/2]=k),i.move=b,i.resize=c,i.rotate=d,j.geometry.move=e,i._handle=j,g[m]=j;this.rotationHandles=h;this.handles=g},createControl:function(){var a=this;this.dragControl=new OpenLayers.Control.DragFeature(this.layer,{documentDrag:!0,moveFeature:function(b){this.feature===a.feature&&(this.feature=a.box);OpenLayers.Control.DragFeature.prototype.moveFeature.apply(this,arguments)},onDrag:function(b){b===a.box&&a.transformFeature({center:a.center})}, -onStart:function(b){var c=!a.geometryTypes||-1!==OpenLayers.Util.indexOf(a.geometryTypes,b.geometry.CLASS_NAME),d=OpenLayers.Util.indexOf(a.handles,b),d=d+OpenLayers.Util.indexOf(a.rotationHandles,b);b!==a.feature&&(b!==a.box&&-2==d&&c)&&a.setFeature(b)},onComplete:function(){a.events.triggerEvent("transformcomplete",{feature:a.feature})}})},drawHandles:function(){for(var a=this.layer,b=0;8>b;++b)this.rotate&&0===b%2&&a.drawFeature(this.rotationHandles[b/2],this.rotationHandleSymbolizer),a.drawFeature(this.handles[b], -this.renderIntent)},transformFeature:function(a){if(!this._setfeature){this.scale*=a.scale||1;this.ratio*=a.ratio||1;var b=this.rotation;this.rotation=(this.rotation+(a.rotation||0))%360;if(!1!==this.events.triggerEvent("beforetransform",a)){var c=this.feature,d=c.geometry,e=this.center;d.rotate(-b,e);a.scale||a.ratio?d.resize(a.scale,e,a.ratio):a.center&&c.move(a.center.getBounds().getCenterLonLat());d.rotate(this.rotation,e);this.layer.drawFeature(c);c.toState(OpenLayers.State.UPDATE);this.events.triggerEvent("transform", -a)}}this.layer.drawFeature(this.box,this.renderIntent);this.drawHandles()},destroy:function(){for(var a,b=0;8>b;++b)a=this.box.geometry.components[b],a._handle.destroy(),a._handle=null,a._rotationHandle&&a._rotationHandle.destroy(),a._rotationHandle=null;this.rotationHandles=this.rotationHandleSymbolizer=this.handles=this.feature=this.center=null;this.box.destroy();this.layer=this.box=null;this.dragControl.destroy();this.dragControl=null;OpenLayers.Control.prototype.destroy.apply(this,arguments)}, -CLASS_NAME:"OpenLayers.Control.TransformFeature"});OpenLayers.Handler.Box=OpenLayers.Class(OpenLayers.Handler,{dragHandler:null,boxDivClassName:"olHandlerBoxZoomBox",boxOffsets:null,initialize:function(a,b,c){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(){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, -c=this.dragHandler.start.y,d=Math.abs(b-a.x),e=Math.abs(c-a.y),f=this.getBoxOffsets();this.zoomBox.style.width=d+f.width+1+"px";this.zoomBox.style.height=e+f.height+1+"px";this.zoomBox.style.left=(a.x=this.down.xy.distanceTo(a.xy))&&this.touch&&this.down.touches.length===this.last.touches.length)for(var a=0,c=this.down.touches.length;athis.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(){var 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 c=a.touches.length;b=Array(c);for(var d,e=0;e=this.resFactor||a<=1/this.resFactor);return a},calculateBounds:function(a){a||(a=this.getMapBounds());var b=a.getCenterLonLat(),c=a.getWidth()*this.ratio,a=a.getHeight()*this.ratio;this.bounds=new OpenLayers.Bounds(b.lon-c/2,b.lat-a/2,b.lon+c/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"));this.layer.events.triggerEvent("loadstart");this.response=this.layer.protocol.read(OpenLayers.Util.applyDefaults({filter:this.createFilter(),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=a.features)&&0a.childNodes.length)return this.repositionTimer=window.setTimeout(OpenLayers.Function.bind(this.repositionMapElements,this),250),!1;for(var b=OpenLayers.Layer.Google.cache[this.map.id],c=this.map.viewPortDiv,d=a.children.length-1;0<=d;--d){if(1000001==a.children[d].style.zIndex){var e=a.children[d];c.appendChild(e);e.style.zIndex="1100";e.style.bottom="";e.className="olLayerGoogleCopyright olLayerGoogleV3";e.style.display="";b.termsOfUse= -e}1E6==a.children[d].style.zIndex&&(e=a.children[d],c.appendChild(e),e.style.zIndex="1100",e.style.bottom="",e.className="olLayerGooglePoweredBy olLayerGoogleV3 gmnoprint",e.style.display="",b.poweredBy=e);10000002==a.children[d].style.zIndex&&c.appendChild(a.children[d])}this.setGMapVisibility(this.visibility)},onMapResize:function(){if(this.visibility)google.maps.event.trigger(this.mapObject,"resize");else{var a=OpenLayers.Layer.Google.cache[this.map.id];if(!a.resized){var b=this;google.maps.event.addListenerOnce(this.mapObject, -"tilesloaded",function(){google.maps.event.trigger(b.mapObject,"resize");b.moveTo(b.map.getCenter(),b.map.getZoom());delete a.resized})}a.resized=!0}},setGMapVisibility:function(a){var b=OpenLayers.Layer.Google.cache[this.map.id];if(b){for(var c=this.type,d=this.map.layers,e,f=d.length-1;0<=f;--f)if(e=d[f],e instanceof OpenLayers.Layer.Google&&!0===e.visibility&&!0===e.inRange){c=e.type;a=!0;break}d=this.mapObject.getDiv();!0===a?(this.mapObject.setMapTypeId(c),d.style.left="",b.termsOfUse&&b.termsOfUse.style&& -(b.termsOfUse.style.left="",b.termsOfUse.style.display="",b.poweredBy.style.display=""),b.displayed=this.id):(delete b.displayed,d.style.left="-9999px",b.termsOfUse&&b.termsOfUse.style&&(b.termsOfUse.style.display="none",b.termsOfUse.style.left="-9999px",b.poweredBy.style.display="none"))}},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(),c=this.getLongitudeFromMapObjectLonLat(this.mapObject.center),d=this.getLatitudeFromMapObjectLonLat(this.mapObject.center),e=this.map.getResolution(),a=new OpenLayers.LonLat(c+(a.x-b.w/2)*e,d-(a.y-b.h/2)*e); -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),c=this.map.getResolution(),d=this.map.getExtent();return this.getMapObjectPixelFromXY(1/c*(b-d.left),1/c*(d.top-a))},setMapObjectCenter:function(a,b){if(!1===this.animationEnabled&&b!=this.mapObject.zoom){var c=this.getMapContainer();google.maps.event.addListenerOnce(this.mapObject, -"idle",function(){c.style.visibility=""});c.style.visibility="hidden"}this.mapObject.setOptions({center:a,zoom:b})},getMapObjectZoomFromMapObjectBounds:function(a){return this.mapObject.getBoundsZoomLevel(a)},getMapObjectLonLatFromLonLat:function(a,b){var c;this.sphericalMercator?(c=this.inverseMercator(a,b),c=new google.maps.LatLng(c.lat,c.lon)):c=new google.maps.LatLng(b,a);return c},getMapObjectPixelFromXY:function(a,b){return new google.maps.Point(a,b)},destroy:function(){this.repositionListener&& -google.maps.event.removeListener(this.repositionListener);this.repositionTimer&&window.clearTimeout(this.repositionTimer);OpenLayers.Layer.Google.prototype.destroy.apply(this,arguments)}};OpenLayers.Format.WPSDescribeProcess=OpenLayers.Class(OpenLayers.Format.XML,{VERSION:"1.0.0",namespaces:{wps:"http://www.opengis.net/wps/1.0.0",ows:"http://www.opengis.net/ows/1.1",xsi:"http://www.w3.org/2001/XMLSchema-instance"},schemaLocation:"http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd",defaultPrefix:"wps",regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},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:{wps:{ProcessDescriptions:function(a,b){b.processDescriptions={};this.readChildNodes(a,b.processDescriptions)},ProcessDescription:function(a,b){var c={processVersion:this.getAttributeNS(a,this.namespaces.wps,"processVersion"),statusSupported:"true"===a.getAttribute("statusSupported"),storeSupported:"true"===a.getAttribute("storeSupported")};this.readChildNodes(a,c);b[c.identifier]=c},DataInputs:function(a, -b){b.dataInputs=[];this.readChildNodes(a,b.dataInputs)},ProcessOutputs:function(a,b){b.processOutputs=[];this.readChildNodes(a,b.processOutputs)},Output:function(a,b){var c={};this.readChildNodes(a,c);b.push(c)},ComplexOutput:function(a,b){b.complexOutput={};this.readChildNodes(a,b.complexOutput)},Input:function(a,b){var c={maxOccurs:parseInt(a.getAttribute("maxOccurs")),minOccurs:parseInt(a.getAttribute("minOccurs"))};this.readChildNodes(a,c);b.push(c)},BoundingBoxData:function(a,b){b.boundingBoxData= -{};this.readChildNodes(a,b.boundingBoxData)},CRS:function(a,b){b.CRSs||(b.CRSs={});b.CRSs[this.getChildValue(a)]=!0},LiteralData:function(a,b){b.literalData={};this.readChildNodes(a,b.literalData)},ComplexData:function(a,b){b.complexData={};this.readChildNodes(a,b.complexData)},Default:function(a,b){b["default"]={};this.readChildNodes(a,b["default"])},Supported:function(a,b){b.supported={};this.readChildNodes(a,b.supported)},Format:function(a,b){var c={};this.readChildNodes(a,c);b.formats||(b.formats= -{});b.formats[c.mimeType]=!0},MimeType:function(a,b){b.mimeType=this.getChildValue(a)}},ows:OpenLayers.Format.OWSCommon.v1_1_0.prototype.readers.ows},CLASS_NAME:"OpenLayers.Format.WPSDescribeProcess"});OpenLayers.Format.CSWGetRecords.v2_0_2=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{csw:"http://www.opengis.net/cat/csw/2.0.2",dc:"http://purl.org/dc/elements/1.1/",dct:"http://purl.org/dc/terms/",gmd:"http://www.isotc211.org/2005/gmd",geonet:"http://www.fao.org/geonetwork",ogc:"http://www.opengis.net/ogc",ows:"http://www.opengis.net/ows",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},defaultPrefix:"csw",version:"2.0.2",schemaLocation:"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", -requestId:null,resultType:null,outputFormat:null,outputSchema:null,startPosition:null,maxRecords:null,DistributedSearch:null,ResponseHandler:null,Query:null,regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},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:{csw:{GetRecordsResponse:function(a,b){b.records=[];this.readChildNodes(a,b);var c=this.getAttributeNS(a,"","version");""!=c&&(b.version=c)},RequestId:function(a,b){b.RequestId=this.getChildValue(a)},SearchStatus:function(a,b){b.SearchStatus={};var c=this.getAttributeNS(a,"","timestamp");""!=c&&(b.SearchStatus.timestamp=c)},SearchResults:function(a,b){this.readChildNodes(a,b);for(var c=a.attributes,d={},e=0,f=c.length;e"+e.attributes.title+"

"+e.attributes.description+"

");d.overflow=e.attributes.overflow||"auto";d=new OpenLayers.Feature(this,f,d);this.features.push(d);f=d.createMarker();null!=e.attributes.title&&null!=e.attributes.description&&f.events.register("click",d,this.markerClick);this.addMarker(f)}this.events.triggerEvent("loadend")},markerClick:function(a){var b=this==this.layer.selectedFeature; -this.layer.selectedFeature=!b?this:null;for(var c=0,d=this.layer.map.popups.length;c=a?Math.round(a/1E3)+"K":95E4<=a?Math.round(a/1E6)+"M":Math.round(a),this.element.innerHTML=OpenLayers.i18n("Scale = 1 : ${scaleDenom}",{scaleDenom:a}))},CLASS_NAME:"OpenLayers.Control.Scale"});OpenLayers.Control.Button=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_BUTTON,trigger:function(){},CLASS_NAME:"OpenLayers.Control.Button"});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,c,d){OpenLayers.Layer.Grid.prototype.initialize.apply(this,arguments);if(null==d||null==d.isBaseLayer)this.isBaseLayer="true"!=this.transparent&&!0!=this.transparent;d&&null!=d.useOverlay&&(this.useOverlay=d.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 c=this.map.getSize();this.singleTile?(a={setdisplaydpi:OpenLayers.DOTS_PER_INCH,setdisplayheight:c.h*this.ratio,setdisplaywidth:c.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)):(c=this.map.getResolution(),b=Math.floor((a.left-this.maxExtent.left)/c),b=Math.round(b/this.tileSize.w), -a=Math.floor((this.maxExtent.top-a.top)/c),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 c=null==b?this.url:b;"object"==typeof c&&(c=c[Math.floor(Math.random()*c.length)]);var d=c,e=OpenLayers.Util.extend({},this.params),e=OpenLayers.Util.extend(e,a), -f=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(c)),g;for(g in e)g.toUpperCase()in f&&delete e[g];e=OpenLayers.Util.getParameterString(e);e=e.replace(/,/g,"+");""!=e&&(f=c.charAt(c.length-1),d="&"==f||"?"==f?d+e:-1==c.indexOf("?")?d+("?"+e):d+("&"+e));return d},getImageFilePath:function(a,b){var c=null==b?this.url:b;"object"==typeof c&&(c=c[Math.floor(Math.random()*c.length)]);var d="",e="";0>a.tilerow&&(d="-");d=0==a.tilerow?d+"0":d+Math.floor(Math.abs(a.tilerow/this.params.tileRowsPerFolder))* -this.params.tileRowsPerFolder;0>a.tilecol&&(e="-");e=0==a.tilecol?e+"0":e+Math.floor(Math.abs(a.tilecol/this.params.tileColumnsPerFolder))*this.params.tileColumnsPerFolder;d="/S"+Math.floor(a.scaleindex)+"/"+this.params.basemaplayergroupname+"/R"+d+"/C"+e+"/"+a.tilerow%this.params.tileRowsPerFolder+"_"+a.tilecol%this.params.tileColumnsPerFolder+"."+this.params.format;this.params.querystring&&(d+="?"+this.params.querystring);return c+d},calculateGridLayout:function(a,b,c){var d=c*this.tileSize.w,c= -c*this.tileSize.h,e=a.left-b.lon,f=Math.floor(e/d)-this.buffer,a=b.lat-a.top+c,g=Math.floor(a/c)-this.buffer;return{tilelon:d,tilelat:c,tileoffsetlon:b.lon+f*d,tileoffsetlat:b.lat-c*g,tileoffsetx:-(e/d-f)*this.tileSize.w,tileoffsety:(g-a/c)*this.tileSize.h}},CLASS_NAME:"OpenLayers.Layer.MapGuide"});OpenLayers.Control.Measure=OpenLayers.Class(OpenLayers.Control,{handlerOptions:null,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 c={done:this.measureComplete,point:this.measurePartial};this.immediate&&(c.modify=this.measureImmediate);this.callbacks=OpenLayers.Util.extend(c, -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 c=this.active;c&& -this.deactivate();this.handler=new a(this,this.callbacks,b);c&&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,c){c&&!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 c,d;-1i?0:i)+"px";d.div.style.height=(0>j?0:j)+"px";d.div.style.left=null!=e?e+"px":"";d.div.style.bottom=null!=f?f+"px":"";d.div.style.right=null!=g?g+"px":"";d.div.style.top=null!=h?h+"px":"";d.image.style.left=c.position.x+"px";d.image.style.top=c.position.y+"px"}this.contentDiv.style.left=this.padding.left+"px";this.contentDiv.style.top=this.padding.top+"px"}},CLASS_NAME:"OpenLayers.Popup.Framed"});OpenLayers.Popup.FramedCloud=OpenLayers.Class(OpenLayers.Popup.Framed,{contentDisplayClass:"olFramedCloudPopupContent",autoSize:!0,panMapIfOutOfView:!0,imageSize:new OpenLayers.Size(1276,736),isAlphaImage:!1,fixedRelativePosition:!1,positionBlocks:{tl:{offset:new OpenLayers.Pixel(44,0),padding:new OpenLayers.Bounds(8,40,8,9),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(0,51,22,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null, -50,0,0),position:new OpenLayers.Pixel(-1238,0)},{size:new OpenLayers.Size("auto",19),anchor:new OpenLayers.Bounds(0,32,22,null),position:new OpenLayers.Pixel(0,-631)},{size:new OpenLayers.Size(22,18),anchor:new OpenLayers.Bounds(null,32,0,null),position:new OpenLayers.Pixel(-1238,-632)},{size:new OpenLayers.Size(81,35),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(0,-688)}]},tr:{offset:new OpenLayers.Pixel(-45,0),padding:new OpenLayers.Bounds(8,40,8,9),blocks:[{size:new OpenLayers.Size("auto", -"auto"),anchor:new OpenLayers.Bounds(0,51,22,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null,50,0,0),position:new OpenLayers.Pixel(-1238,0)},{size:new OpenLayers.Size("auto",19),anchor:new OpenLayers.Bounds(0,32,22,null),position:new OpenLayers.Pixel(0,-631)},{size:new OpenLayers.Size(22,19),anchor:new OpenLayers.Bounds(null,32,0,null),position:new OpenLayers.Pixel(-1238,-631)},{size:new OpenLayers.Size(81,35),anchor:new OpenLayers.Bounds(0, -0,null,null),position:new OpenLayers.Pixel(-215,-687)}]},bl:{offset:new OpenLayers.Pixel(45,0),padding:new OpenLayers.Bounds(8,9,8,40),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(0,21,22,32),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null,21,0,32),position:new OpenLayers.Pixel(-1238,0)},{size:new OpenLayers.Size("auto",21),anchor:new OpenLayers.Bounds(0,0,22,null),position:new OpenLayers.Pixel(0,-629)},{size:new OpenLayers.Size(22, -21),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-1238,-629)},{size:new OpenLayers.Size(81,33),anchor:new OpenLayers.Bounds(null,null,0,0),position:new OpenLayers.Pixel(-101,-674)}]},br:{offset:new OpenLayers.Pixel(-44,0),padding:new OpenLayers.Bounds(8,9,8,40),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(0,21,22,32),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null,21,0,32),position:new OpenLayers.Pixel(-1238, -0)},{size:new OpenLayers.Size("auto",21),anchor:new OpenLayers.Bounds(0,0,22,null),position:new OpenLayers.Pixel(0,-629)},{size:new OpenLayers.Size(22,21),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-1238,-629)},{size:new OpenLayers.Size(81,33),anchor:new OpenLayers.Bounds(0,null,null,0),position:new OpenLayers.Pixel(-311,-674)}]}},minSize:new OpenLayers.Size(105,10),maxSize:new OpenLayers.Size(1200,660),initialize:function(a,b,c,d,e,f,g){this.imageSrc=OpenLayers.Util.getImageLocation("cloud-popup-relative.png"); -OpenLayers.Popup.Framed.prototype.initialize.apply(this,arguments);this.contentDiv.className=this.contentDisplayClass},CLASS_NAME:"OpenLayers.Popup.FramedCloud"});OpenLayers.Tile.Image.IFrame={useIFrame:null,draw:function(){if(OpenLayers.Tile.Image.prototype.shouldDraw.call(this)){var a=this.layer.getURL(this.bounds),b=this.useIFrame;this.useIFrame=null!==this.maxGetUrlLength&&!this.layer.async&&a.length>this.maxGetUrlLength;a=b&&!this.useIFrame;b=!b&&this.useIFrame;if(a||b)this.imgDiv&&this.imgDiv.parentNode===this.frame&&this.frame.removeChild(this.imgDiv),this.imgDiv=null,a?(this.blankImageUrl=this._blankImageUrl,this.frame.removeChild(this.frame.firstChild)): -(this._blankImageUrl=this.blankImageUrl,this.blankImageUrl="about:blank")}return OpenLayers.Tile.Image.prototype.draw.apply(this,arguments)},getImage:function(){if(!0===this.useIFrame){if(!this.frame.childNodes.length){var a=document.createElement("div"),b=a.style;b.position="absolute";b.width="100%";b.height="100%";b.zIndex=1;b.backgroundImage="url("+this._blankImageUrl+")";this.frame.appendChild(a)}a=this.id+"_iFrame";9>parseFloat(navigator.appVersion.split("MSIE")[1])?(b=document.createElement(' - - - - - \ No newline at end of file diff --git a/plomino/testframeEdit.html b/plomino/testframeEdit.html deleted file mode 100755 index 6988c68..0000000 --- a/plomino/testframeEdit.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - -TEST EDIT IFRAME - - - - - - - - - - - - - - \ No newline at end of file From 91de8228e8a6ad2fdfcf5b3b1e92f949aa27fbc6 Mon Sep 17 00:00:00 2001 From: "Marco Giraudi (Old Snapo)" Date: Wed, 8 Aug 2018 15:45:42 +0200 Subject: [PATCH 051/139] Added plugins support, removed WFM component, dynamic onfiguration only. --- components/PrintControl.js | 10 +- components/QueryControl.js | 12 +- components/WFM_Functions.js | 124 --- components/WFM_Functions.osfc.js | 44 - components/WFM_Functions.osvc.js | 81 -- components/WFM_Functions.sap.js | 52 -- components/WFM_SelectControl.js | 350 -------- config/config.dynamic.js.sample | 104 --- config/config.js.sample | 139 ++- config/x-template.config.js | 36 - jquery/geoweb.js | 2 +- jquery/mobile.js | 2 +- plugins/.gitignore | 4 + resources/jslib/OverviewMap.js | 4 +- resources/jslib/gcComponents.js | 61 +- resources/jslib/hints.js | 10 +- templates/geoweb/index.html | 3 +- templates/geoweb/index.js | 4 +- templates/geoweb_static/index.html | 2 +- templates/geoweb_static/index.js | 4 +- templates/mobile/index.html | 3 +- templates/mobile/index.js | 3 +- templates/mobile_static/index.html | 2 +- templates/mobile_static/index.js | 4 +- templates/wfm-osfc/common.css | 30 - templates/wfm-osfc/header.css | 66 -- templates/wfm-osfc/icons/loading.gif | Bin 24531 -> 0 bytes templates/wfm-osfc/icons/query_map.png | Bin 794 -> 0 bytes .../images/MapMarker_Marker_Inside_Azure.png | Bin 1648 -> 0 bytes .../MapMarker_Marker_Inside_Chartreuse.png | Bin 1664 -> 0 bytes .../images/MapMarker_Marker_Inside_Pink.png | Bin 1663 -> 0 bytes .../images/MapMarker_Marker_Outside_Azure.png | Bin 1563 -> 0 bytes .../MapMarker_Marker_Outside_Chartreuse.png | Bin 1561 -> 0 bytes templates/wfm-osfc/images/acrobat.gif | Bin 1023 -> 0 bytes templates/wfm-osfc/images/check-partial.png | Bin 284 -> 0 bytes templates/wfm-osfc/images/icons.png | Bin 3222 -> 0 bytes templates/wfm-osfc/images/marker-shadow.png | Bin 797 -> 0 bytes templates/wfm-osfc/images/marker16.png | Bin 616 -> 0 bytes templates/wfm-osfc/images/marker24.png | Bin 1144 -> 0 bytes templates/wfm-osfc/images/marker32.png | Bin 1561 -> 0 bytes templates/wfm-osfc/images/marker32_bla.png | Bin 1481 -> 0 bytes templates/wfm-osfc/images/marker32_blu.png | Bin 1591 -> 0 bytes templates/wfm-osfc/images/marker32_gre.png | Bin 1701 -> 0 bytes templates/wfm-osfc/images/marker32_yel.png | Bin 1536 -> 0 bytes templates/wfm-osfc/images/marker64.png | Bin 4132 -> 0 bytes templates/wfm-osfc/images/marker_shadow.png | Bin 374 -> 0 bytes .../{marker32_red.png => wfm_marker.png} | Bin templates/wfm-osfc/images/xls.gif | Bin 170 -> 0 bytes templates/wfm-osfc/index.html | 175 +--- templates/wfm-osfc/index.js | 575 ------------ templates/wfm-osfc/sidebar.css | 730 ---------------- templates/wfm-osfc/toolbars.css | 818 ------------------ templates/wfm-osvc/common.css | 26 - templates/wfm-osvc/header.css | 66 -- templates/wfm-osvc/icons/loading.gif | Bin 24531 -> 0 bytes templates/wfm-osvc/icons/query_map.png | Bin 794 -> 0 bytes .../images/MapMarker_Marker_Inside_Azure.png | Bin 1648 -> 0 bytes .../MapMarker_Marker_Inside_Chartreuse.png | Bin 1664 -> 0 bytes .../images/MapMarker_Marker_Inside_Pink.png | Bin 1663 -> 0 bytes .../images/MapMarker_Marker_Outside_Azure.png | Bin 1563 -> 0 bytes .../MapMarker_Marker_Outside_Chartreuse.png | Bin 1561 -> 0 bytes templates/wfm-osvc/images/acrobat.gif | Bin 1023 -> 0 bytes templates/wfm-osvc/images/icons.png | Bin 3222 -> 0 bytes templates/wfm-osvc/images/marker-shadow.png | Bin 797 -> 0 bytes templates/wfm-osvc/images/marker16.png | Bin 616 -> 0 bytes templates/wfm-osvc/images/marker24.png | Bin 1144 -> 0 bytes templates/wfm-osvc/images/marker32.png | Bin 1561 -> 0 bytes templates/wfm-osvc/images/marker32_bla.png | Bin 1481 -> 0 bytes templates/wfm-osvc/images/marker32_blu.png | Bin 1591 -> 0 bytes templates/wfm-osvc/images/marker32_gre.png | Bin 1701 -> 0 bytes templates/wfm-osvc/images/marker32_yel.png | Bin 1536 -> 0 bytes templates/wfm-osvc/images/marker64.png | Bin 4132 -> 0 bytes templates/wfm-osvc/images/marker_shadow.png | Bin 374 -> 0 bytes .../{marker32_red.png => wfm_marker.png} | Bin templates/wfm-osvc/images/xls.gif | Bin 170 -> 0 bytes templates/wfm-osvc/index.html | 209 +---- templates/wfm-osvc/index.js | 553 ------------ templates/wfm-osvc/sidebar.css | 371 -------- templates/wfm-osvc/toolbars.css | 759 ---------------- templates/wfm-sap/common.css | 26 - templates/wfm-sap/header.css | 66 -- templates/wfm-sap/icons/loading.gif | Bin 24531 -> 0 bytes templates/wfm-sap/icons/query_map.png | Bin 794 -> 0 bytes .../images/MapMarker_Marker_Inside_Azure.png | Bin 1648 -> 0 bytes .../MapMarker_Marker_Inside_Chartreuse.png | Bin 1664 -> 0 bytes .../images/MapMarker_Marker_Inside_Pink.png | Bin 1663 -> 0 bytes .../images/MapMarker_Marker_Outside_Azure.png | Bin 1563 -> 0 bytes .../MapMarker_Marker_Outside_Chartreuse.png | Bin 1561 -> 0 bytes templates/wfm-sap/images/acrobat.gif | Bin 1023 -> 0 bytes templates/wfm-sap/images/icons.png | Bin 3222 -> 0 bytes templates/wfm-sap/images/marker-shadow.png | Bin 797 -> 0 bytes templates/wfm-sap/images/marker16.png | Bin 616 -> 0 bytes templates/wfm-sap/images/marker24.png | Bin 1144 -> 0 bytes templates/wfm-sap/images/marker32.png | Bin 1561 -> 0 bytes templates/wfm-sap/images/marker32_bla.png | Bin 1481 -> 0 bytes templates/wfm-sap/images/marker32_blu.png | Bin 1591 -> 0 bytes templates/wfm-sap/images/marker32_gre.png | Bin 1701 -> 0 bytes templates/wfm-sap/images/marker32_yel.png | Bin 1536 -> 0 bytes templates/wfm-sap/images/marker64.png | Bin 4132 -> 0 bytes templates/wfm-sap/images/marker_shadow.png | Bin 374 -> 0 bytes .../{marker32_red.png => wfm_marker.png} | Bin templates/wfm-sap/images/xls.gif | Bin 170 -> 0 bytes templates/wfm-sap/index.html | 210 +---- templates/wfm-sap/index.js | 553 ------------ templates/wfm-sap/sidebar.css | 371 -------- templates/wfm-sap/toolbars.css | 759 ---------------- 106 files changed, 260 insertions(+), 7163 deletions(-) delete mode 100644 components/WFM_Functions.js delete mode 100644 components/WFM_Functions.osfc.js delete mode 100644 components/WFM_Functions.osvc.js delete mode 100644 components/WFM_Functions.sap.js delete mode 100644 components/WFM_SelectControl.js delete mode 100644 config/config.dynamic.js.sample delete mode 100644 config/x-template.config.js create mode 100644 plugins/.gitignore delete mode 100644 templates/wfm-osfc/common.css delete mode 100644 templates/wfm-osfc/header.css delete mode 100644 templates/wfm-osfc/icons/loading.gif delete mode 100755 templates/wfm-osfc/icons/query_map.png delete mode 100644 templates/wfm-osfc/images/MapMarker_Marker_Inside_Azure.png delete mode 100644 templates/wfm-osfc/images/MapMarker_Marker_Inside_Chartreuse.png delete mode 100644 templates/wfm-osfc/images/MapMarker_Marker_Inside_Pink.png delete mode 100644 templates/wfm-osfc/images/MapMarker_Marker_Outside_Azure.png delete mode 100644 templates/wfm-osfc/images/MapMarker_Marker_Outside_Chartreuse.png delete mode 100644 templates/wfm-osfc/images/acrobat.gif delete mode 100644 templates/wfm-osfc/images/check-partial.png delete mode 100644 templates/wfm-osfc/images/icons.png delete mode 100644 templates/wfm-osfc/images/marker-shadow.png delete mode 100644 templates/wfm-osfc/images/marker16.png delete mode 100644 templates/wfm-osfc/images/marker24.png delete mode 100644 templates/wfm-osfc/images/marker32.png delete mode 100644 templates/wfm-osfc/images/marker32_bla.png delete mode 100644 templates/wfm-osfc/images/marker32_blu.png delete mode 100644 templates/wfm-osfc/images/marker32_gre.png delete mode 100644 templates/wfm-osfc/images/marker32_yel.png delete mode 100644 templates/wfm-osfc/images/marker64.png delete mode 100644 templates/wfm-osfc/images/marker_shadow.png rename templates/wfm-osfc/images/{marker32_red.png => wfm_marker.png} (100%) delete mode 100644 templates/wfm-osfc/images/xls.gif delete mode 100644 templates/wfm-osfc/index.js delete mode 100644 templates/wfm-osfc/sidebar.css delete mode 100644 templates/wfm-osfc/toolbars.css delete mode 100644 templates/wfm-osvc/common.css delete mode 100644 templates/wfm-osvc/header.css delete mode 100644 templates/wfm-osvc/icons/loading.gif delete mode 100755 templates/wfm-osvc/icons/query_map.png delete mode 100644 templates/wfm-osvc/images/MapMarker_Marker_Inside_Azure.png delete mode 100644 templates/wfm-osvc/images/MapMarker_Marker_Inside_Chartreuse.png delete mode 100644 templates/wfm-osvc/images/MapMarker_Marker_Inside_Pink.png delete mode 100644 templates/wfm-osvc/images/MapMarker_Marker_Outside_Azure.png delete mode 100644 templates/wfm-osvc/images/MapMarker_Marker_Outside_Chartreuse.png delete mode 100644 templates/wfm-osvc/images/acrobat.gif delete mode 100644 templates/wfm-osvc/images/icons.png delete mode 100644 templates/wfm-osvc/images/marker-shadow.png delete mode 100644 templates/wfm-osvc/images/marker16.png delete mode 100644 templates/wfm-osvc/images/marker24.png delete mode 100644 templates/wfm-osvc/images/marker32.png delete mode 100644 templates/wfm-osvc/images/marker32_bla.png delete mode 100644 templates/wfm-osvc/images/marker32_blu.png delete mode 100644 templates/wfm-osvc/images/marker32_gre.png delete mode 100644 templates/wfm-osvc/images/marker32_yel.png delete mode 100644 templates/wfm-osvc/images/marker64.png delete mode 100644 templates/wfm-osvc/images/marker_shadow.png rename templates/wfm-osvc/images/{marker32_red.png => wfm_marker.png} (100%) delete mode 100644 templates/wfm-osvc/images/xls.gif delete mode 100644 templates/wfm-osvc/index.js delete mode 100644 templates/wfm-osvc/sidebar.css delete mode 100644 templates/wfm-osvc/toolbars.css delete mode 100644 templates/wfm-sap/common.css delete mode 100644 templates/wfm-sap/header.css delete mode 100644 templates/wfm-sap/icons/loading.gif delete mode 100755 templates/wfm-sap/icons/query_map.png delete mode 100644 templates/wfm-sap/images/MapMarker_Marker_Inside_Azure.png delete mode 100644 templates/wfm-sap/images/MapMarker_Marker_Inside_Chartreuse.png delete mode 100644 templates/wfm-sap/images/MapMarker_Marker_Inside_Pink.png delete mode 100644 templates/wfm-sap/images/MapMarker_Marker_Outside_Azure.png delete mode 100644 templates/wfm-sap/images/MapMarker_Marker_Outside_Chartreuse.png delete mode 100644 templates/wfm-sap/images/acrobat.gif delete mode 100644 templates/wfm-sap/images/icons.png delete mode 100644 templates/wfm-sap/images/marker-shadow.png delete mode 100644 templates/wfm-sap/images/marker16.png delete mode 100644 templates/wfm-sap/images/marker24.png delete mode 100644 templates/wfm-sap/images/marker32.png delete mode 100644 templates/wfm-sap/images/marker32_bla.png delete mode 100644 templates/wfm-sap/images/marker32_blu.png delete mode 100644 templates/wfm-sap/images/marker32_gre.png delete mode 100644 templates/wfm-sap/images/marker32_yel.png delete mode 100644 templates/wfm-sap/images/marker64.png delete mode 100644 templates/wfm-sap/images/marker_shadow.png rename templates/wfm-sap/images/{marker32_red.png => wfm_marker.png} (100%) delete mode 100644 templates/wfm-sap/images/xls.gif delete mode 100644 templates/wfm-sap/index.js delete mode 100644 templates/wfm-sap/sidebar.css delete mode 100644 templates/wfm-sap/toolbars.css diff --git a/components/PrintControl.js b/components/PrintControl.js index 473352e..087dc45 100644 --- a/components/PrintControl.js +++ b/components/PrintControl.js @@ -7,11 +7,11 @@ window.GCComponents["Controls"].addControl('control-printmap', function(map){ formId: 'printpanel', waitFor: 'panelready', allowDrag: true, - printLegend: typeof(PRINT_LEGEND_DEFAULT)!='undefined'?PRINT_LEGEND_DEFAULT:'yes', - pageLayout: typeof(PRINT_LAYOUT_DEFAULT)!='undefined'?PRINT_LAYOUT_DEFAULT:'vertical', - printFormat: typeof(PRINT_FORMAT_DEFAULT)!='undefined'?PRINT_FORMAT_DEFAULT:'HTML', - defaultTemplateHTML: PRINT_TEMPLATE_HTML, - defaultTemplatePDF: PRINT_TEMPLATE_PDF, + printLegend: typeof(clientConfig.PRINT_LEGEND_DEFAULT)!='undefined'?clientConfig.PRINT_LEGEND_DEFAULT:'yes', + pageLayout: typeof(clientConfig.PRINT_LAYOUT_DEFAULT)!='undefined'?clientConfig.PRINT_LAYOUT_DEFAULT:'vertical', + printFormat: typeof(clientConfig.PRINT_FORMAT_DEFAULT)!='undefined'?clientConfig.PRINT_FORMAT_DEFAULT:'HTML', + defaultTemplateHTML: clientConfig.PRINT_TEMPLATE_HTML, + defaultTemplatePDF: clientConfig.PRINT_TEMPLATE_PDF, eventListeners: { 'panelready': function(event) { var me = this, timerid, diff --git a/components/QueryControl.js b/components/QueryControl.js index d02e6f9..0a6e835 100644 --- a/components/QueryControl.js +++ b/components/QueryControl.js @@ -37,7 +37,7 @@ window.GCComponents.InitFunctions.setQueryToolbar = function(map) { var featureType = layer.featureTypes[i]; if(featureType.searchable != 2) continue; - var selected = ((typeof(FAST_SEARCH_DEFAULT) !== 'undefined') && (FAST_SEARCH_DEFAULT == featureType.typeName)) ? "selected" : ""; + var selected = ((typeof(clientConfig.FAST_SEARCH_DEFAULT) !== 'undefined') && (clientConfig.FAST_SEARCH_DEFAULT == featureType.typeName)) ? "selected" : ""; options.push(''); } } @@ -119,9 +119,9 @@ window.GCComponents["Controls"].addControl('control-querytoolbar', function(map) div:document.getElementById("map-toolbar-query"), autoActivate:false, saveState:true, - maxWfsFeatures:MAX_LAYER_FEATURES, - maxVectorFeatures:MAX_QUERY_FEATURES, - resultStyle:typeof(RESULT_LAYER_STYLE)!='undefined'?new OpenLayers.StyleMap(RESULT_LAYER_STYLE):null, + maxWfsFeatures:clientConfig.MAX_LAYER_FEATURES, + maxVectorFeatures:clientConfig.MAX_QUERY_FEATURES, + resultStyle:typeof(clientConfig.RESULT_LAYER_STYLE)!='undefined'?new OpenLayers.StyleMap(clientConfig.RESULT_LAYER_STYLE):null, eventListeners: { 'endQueryMap': function(event) { //Aggiungo l'animazione (???? da spostare sulla pagina) if(event.layer.features && event.layer.features.length) { @@ -199,12 +199,12 @@ window.GCComponents["Controls"].addControl('control-querytoolbar', function(map) var self = this; var queryResLayer = map.getLayersByName("wfsResults")[0]; - if (queryResLayer.selectedFeatures.indexOf(feature) < 0 && POPUP_TIMEOUT > 0) + if (queryResLayer.selectedFeatures.indexOf(feature) < 0 && clientConfig.POPUP_TIMEOUT > 0) { self.popupOpenTimeout = setTimeout(function() { if (self.popup) self.map.addPopup(self.popup); - }, POPUP_TIMEOUT); + }, clientConfig.POPUP_TIMEOUT); } }, 'featureunhighlighted': function(event) { diff --git a/components/WFM_Functions.js b/components/WFM_Functions.js deleted file mode 100644 index 615288b..0000000 --- a/components/WFM_Functions.js +++ /dev/null @@ -1,124 +0,0 @@ -//********************************************************************************************************* -//**** Functions for GEOweb - WFM integration -//**** Common functions - -window.GCComponents.Functions.centerMap = function (xCoord, yCoord, srid, zoom) { - var lonLat = new OpenLayers.LonLat(xCoord, yCoord); - var GCMap = GisClientMap.map; - var retValue = {result: 'ok'}; - if (srid != GCMap.projection) { - lonLat.transform(srid, GCMap.projection); - } - if(!GCMap.isValidLonLat(lonLat)){ - retValue.result = 'error'; - retValue.message = 'Posizione non valida: X ' +lonLat.lon+', Y '+lonLat.lat+', SRID ' + srid; - alert(retValue.message); - return retValue; - } - if(!GCMap.getMaxExtent().containsLonLat(lonLat)){ - retValue.result = 'error'; - retValue.message = 'Posizione fuori extent: X ' +lonLat.lon+', Y '+lonLat.lat+', SRID ' + srid; - alert(retValue.message); - return retValue; - } - GCMap.setCenter(lonLat); - GCMap.zoomToScale(zoom, true); - return retValue; -} - -window.GCComponents.Functions.centerMapOnFeature = function(layer, whereCond, values) { - var retValue = {result: 'ok'}; - var fType = GisClientMap.getFeatureType(layer); - - if(!fType) { - retValue.result = 'error'; - retValue.message = 'Errore: il featureType '+selectedFeatureType+' non esiste'; - return retValue; - } - - var params = { - featureType: layer, - query: whereCond, - values: values - }; - params.projectName = GisClientMap.projectName; - params.mapsetName = GisClientMap.mapsetName; - params.srid = GisClientMap.map.projection; - - $.ajax({ - url: GISCLIENT_URL + '/services/xMapQuery.php', - method: 'POST', - dataType: 'json', - data: params, - success: function(response) { - if(!response || typeof(response) != 'object') { - retValue.result = 'error'; - retValue.message = 'Errore di sistema'; - return retValue; - } - if(!response.length) { - retValue.result = 'error'; - retValue.message = 'Nessun risultato'; - return retValue; - } - - var geometries = new OpenLayers.Geometry.Collection(), - len = response.length, result, i, geometry, feature; - - for(i = 0; i < len; i++) { - result = response[i]; - - geometry = result.gc_geom && OpenLayers.Geometry.fromWKT(result.gc_geom); - if(!geometry) continue; - delete result.gc_geom; - - geometries.addComponent(geometry); - } - - if (geometries.components.length < 1) { - retValue.result = 'error'; - retValue.message = 'Nessuna geometria nel risultato della ricerca'; - return retValue; - } - - geometries.calculateBounds(); - GisClientMap.map.zoomToExtent(geometries.bounds); - - return retValue; - }, - error: function() { - retValue.result = 'error'; - retValue.message = 'Errore di sistema'; - return retValue; - } - }); -} - -window.GCComponents.Functions.parseQueryString = function() { - var match, - pl = /\+/g, // Regex for replacing addition symbol with a space - search = /([^&=]+)=?([^&]*)/g, - decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, - query = window.location.search.substring(1); - - var urlParams = {}; - while (match = search.exec(query)) - urlParams[decode(match[1])] = decode(match[2]); - - return urlParams; -} - -window.GCComponents.Functions.updateQueryString = function(updateItems) { - var queryStringItems = window.GCComponents.Functions.parseQueryString(); - for (var item in updateItems) { - queryStringItems[item] = updateItems[item]; - }; - - if (history.pushState) { - var newUrl = window.location.protocol + "//" + window.location.host + window.location.pathname + '?'; - for (var item in queryStringItems) { - newUrl += item + '=' + queryStringItems[item] + '&'; - }; - window.history.pushState({path:newUrl},'',newUrl); - } -} diff --git a/components/WFM_Functions.osfc.js b/components/WFM_Functions.osfc.js deleted file mode 100644 index a81a786..0000000 --- a/components/WFM_Functions.osfc.js +++ /dev/null @@ -1,44 +0,0 @@ -//********************************************************************************************************* -//**** Functions for GEOweb - WFM integration -//**** OSFC integration functions -var OSFCData = { - action: 'writeOnOFSC' -}; - -window.GCComponents.Functions.postMessageHandler = function (event) { - // **** TODO: validate source - var postData = event.data; - if (postData.action == 'centerMap') { - window.GCComponents.Functions.centerMap(postData.x, postData.y, postData.srid, postData.zoom); - } -} - -// **** PostMessage -window.addEventListener('message', window.GCComponents.Functions.postMessageHandler, false); - -window.GCComponents.Functions.sendToWFM = function(wfmItems) { - if (wfmItems.x && wfmItems.y && wfmItems.srid) { - if (wfmItems.srid !== WFM_SRID) - return; - OSFCData.coordx = wfmItems.x; - OSFCData.coordy = wfmItems.y; - } - else { - if (wfmItems.wfm_outitem) { - for (var field in wfmItems) { - if (field !== 'wfm_outitem') { - var fieldVal = (typeof(wfmItems[field]) === 'undefined')?null:wfmItems[field]; - OSFCData[field] = fieldVal; - } - } - } - } - parent.postMessage(OSFCData,'*'); -} - -window.GCComponents.Functions.resetWFMData = function(){ - OSFCData = { - action: 'writeOnOFSC' - }; - -} diff --git a/components/WFM_Functions.osvc.js b/components/WFM_Functions.osvc.js deleted file mode 100644 index 54c4e6d..0000000 --- a/components/WFM_Functions.osvc.js +++ /dev/null @@ -1,81 +0,0 @@ -//********************************************************************************************************* -//**** Functions for GEOweb - WFM integration -//**** OSVC integration functions - -window.GCComponents.Functions.centerMapWFM = function () { - var queryStringItems = window.GCComponents.Functions.parseQueryString(); - if (queryStringItems.layer) { - var fType = GisClientMap.getFeatureType(queryStringItems.layer); - if (!fType) - return; - - var values = {}; - var queryString = ''; - for (var i=0; i 0) { - queryString = '(' + queryString + ')'; - window.GCComponents.Functions.centerMapOnFeature(queryStringItems.layer, queryString, values); - } - } -} - -window.GCComponents.Functions.sendToWFM = function(wfmItems) { - if (wfmItems.x && wfmItems.y && wfmItems.srid) { - var srid_native = GisClientMap.map.displayProjection?GisClientMap.map.displayProjection:this.map.projection; - var osvcCoordTag = (wfmItems.srid==srid_native?'osvc-coord':'osvc-coord-'+ wfmItems.srid.substring(wfmItems.srid.indexOf(":")+1)); - var osvcCoord = document.getElementsByTagName(osvcCoordTag); - if (osvcCoord.length === 1) { - osvcCoord[0].innerHTML = 'X:' + wfmItems.x + '|Y:' +wfmItems.y; - } - } - else { - if (!wfmItems.wfm_outitem) - return; - var osvcItem = document.getElementsByTagName(wfmItems.wfm_outitem); - var tagContent = ''; - if (osvcItem.length === 1) { - for (var field in wfmItems) { - if (field !== 'wfm_outitem') { - var fieldVal = (typeof(wfmItems[field]) === 'undefined' || wfmItems[field] === null)?'':wfmItems[field]; - tagContent += field + ':' + fieldVal + '|'; - } - } - osvcItem[0].innerHTML = tagContent.substring(0, tagContent.length -1); - } - } -} - -window.GCComponents.Functions.resetWFMData = function(){ - var osvcTag = document.getElementsByTagName('osvc-coord'); - if (osvcTag.length === 1) - osvcTag[0].innerHTML = ''; - if (typeof(WFM_SRID) !== 'undefined') { - var osvcSrid = WFM_SRID; - osvcSrid = 'osvc-coord-'+ osvcSrid.substring(osvcSrid.indexOf(":")+1); - osvcTag = document.getElementsByTagName(osvcSrid); - if (osvcTag.length === 1) - osvcTag[0].innerHTML = ''; - } - for (var j=0; j 0) { - queryString = '(' + queryString + ')'; - window.GCComponents.Functions.centerMapOnFeature(queryStringItems.layer, queryString, values); - } - } -} - -window.GCComponents.Functions.sendToWFM = function(wfmItems) { - window.GCComponents.Functions.updateQueryString(wfmItems); -} - -window.GCComponents.Functions.resetWFMData = function(){ - if (history.pushState) { - var newUrl = window.location.protocol + "//" + window.location.host + window.location.pathname; - newUrl += '?mapset=' + GisClientMap.map.config.mapsetName; - window.history.pushState({path:newUrl},'',newUrl); - } -} diff --git a/components/WFM_SelectControl.js b/components/WFM_SelectControl.js deleted file mode 100644 index 01c05eb..0000000 --- a/components/WFM_SelectControl.js +++ /dev/null @@ -1,350 +0,0 @@ -// ******************************************************************************************* -window.GCComponents.InitFunctions.deactivateWFMSelection = function(map) { - var selectControls = map.getControlsBy('gc_id', 'control-querytoolbar'); - if (selectControls.length == 1) - selectControls[0].events.register('endQueryMap', null, function(e) { - this.wfmSelection = false; - }); -} - -// **** Toolbar integration -$(function(){ - window.GCComponents["QueryToolbar.Actions"].addAction( - 'wfm-mark', - function(featureType, feature) { - var selectControls = feature.layer.map.getControlsBy('gc_id', 'control-querytoolbar'); - if (selectControls[0].wfmSelection) { - return ''; - } - return ""; - }, - function(featureTypeName, featureId, objQueryToolbar) { - var wfmLayer = objQueryToolbar.map.getLayersByName('layer-wfm-highlight')[0]; - // **** bring Vector layer on top - var origLayerIndex = objQueryToolbar.map.getLayerIndex(wfmLayer); - var maxIndex = objQueryToolbar.map.getLayerIndex(objQueryToolbar.map.layers[objQueryToolbar.map.layers.length -1]); - if(origLayerIndex < maxIndex) objQueryToolbar.map.raiseLayer(wfmLayer, (maxIndex - origLayerIndex -1)); - objQueryToolbar.map.resetLayersZIndex(); - - var feature = objQueryToolbar.findFeature(featureId); - var newFeature = feature.clone(); - newFeature.featureTypeName = feature.featureTypeName; - - // **** Remove features of the same type - var oldFeatures = []; - var featureTypeArr = [featureTypeName]; - var featureNum = 1; - for (var i=0; i -1) { - featureTypeArr = WFM_LAYERS[i].layers; - featureNum = WFM_LAYERS[i].numfeats; - } - } - for (var i=0; i -1) { - oldFeatures.push(wfmLayer.features[i]); - } - } - wfmLayer.removeFeatures(oldFeatures); - wfmLayer.addFeatures([newFeature]); - } - ); -}); -window.GCComponents["Layers"].addLayer('layer-wfm-highlight', { - displayInLayerSwitcher:false, - styleMap: new OpenLayers.StyleMap({ - 'default': { - fill: false, - fillColor: "red", - fillOpacity: 0.9, - hoverFillColor: "white", - hoverFillOpacity: 0.9, - strokeColor: "red", - strokeOpacity: 0.9, - strokeWidth: 10, - strokeLinecap: "round", - strokeDashstyle: "solid", - hoverStrokeColor: "red", - hoverStrokeOpacity: 1, - hoverStrokeWidth: 10, - pointRadius: 8, - hoverPointRadius: 1, - hoverPointUnit: "%", - pointerEvents: "visiblePainted", - cursor: "inherit" - }, - 'select': { - fill: true, - fillColor: "red", - fillOpacity: 0.9, - hoverFillColor: "white", - hoverFillOpacity: 0.9, - strokeColor: "red", - strokeOpacity: 1, - strokeWidth: 10, - strokeLinecap: "round", - strokeDashstyle: "solid", - hoverStrokeColor: "red", - hoverStrokeOpacity: 1, - hoverStrokeWidth: 10, - pointRadius: 8, - hoverPointRadius: 1, - hoverPointUnit: "%", - pointerEvents: "visiblePainted", - cursor: "pointer" - }, - 'temporary': { - fill: true, - fillColor: "EEA652", - fillOpacity: 0.2, - hoverFillColor: "white", - hoverFillOpacity: 0.8, - strokeColor: "#EEA652", - strokeOpacity: 1, - strokeLinecap: "round", - strokeWidth: 4, - strokeDashstyle: "solid", - hoverStrokeColor: "red", - hoverStrokeOpacity: 1, - hoverStrokeWidth: 0.2, - pointRadius: 6, - hoverPointRadius: 1, - hoverPointUnit: "%", - pointerEvents: "visiblePainted", - cursor: "pointer" - } - }) -}, { - "featureadded": function(obj) { - var features = obj.object.features; - var wfmExportData = {}; - for (var i = 0; i < features.length; i++) { - for (var j=0; j -1) { - for (var k = 0; k < WFM_LAYERS[j].fields.length; k++) { - var dataField = WFM_LAYERS[j].outvars[k]; - var dataValue = features[i].attributes[WFM_LAYERS[j].fields[k]]; - wfmExportData[dataField] = dataValue; - } - if (typeof(WFM_LAYERS[j].outitem) != 'undefined') { - wfmExportData['wfm_outitem'] = WFM_LAYERS[j].outitem; - } - } - } - } - - window.GCComponents.Functions.sendToWFM(wfmExportData); - } -}); - - -// **** Point marker layer (TODO: style) -window.GCComponents["Layers"].addLayer('layer-wfm-markpoint', { - displayInLayerSwitcher:false, - styleMap: new OpenLayers.StyleMap({ - 'default': { - cursor: "inherit", - graphicHeight: 32, - externalGraphic: "images/marker32_red.png" - } - }) -}, { - "sketchcomplete": function(obj) { - var tmpGeom = obj.feature.geometry.clone(); - var srid = this.map.displayProjection?this.map.displayProjection:this.map.projection; - if (srid != this.map.projection) { - tmpGeom.transform(this.map.projection, srid); - } - window.GCComponents.Functions.sendToWFM({x: tmpGeom.x, y:tmpGeom.y, srid:srid}); - - if (typeof(WFM_SRID) !== 'undefined') { - tmpGeom = obj.feature.geometry.clone(); - srid = WFM_SRID; - if (srid != this.map.projection) { - tmpGeom.transform(this.map.projection, srid); - } - window.GCComponents.Functions.sendToWFM({x: tmpGeom.x, y:tmpGeom.y, srid:srid}); - } - - this.removeAllFeatures(); - }, - "featureadded": function(obj) { - // **** Get main selection control - var selectControls = this.map.getControlsBy('gc_id', 'control-querytoolbar'); - if (selectControls.length != 1) - return; - if (!selectControls[0].controls) - return; - var selectControl = selectControls[0]; - selectControl.controls[0].layers = []; - // **** insert configured WFS layers - if (typeof(WFM_LAYERS) === 'undefined') { - return; - } - var featureTypes = ''; - var selectLayers = []; - var selectControlAuto = this.map.getControlsBy('gc_id', 'control-wfm-autoselect')[0]; - - this.keepFeatures = true; - - for (var i=0; i 0) { - selectControl.controls[0].layers = selectLayers; - selectControl.controls[0].queryFeatureType = featureTypes.substring(0, featureTypes.length -1); - - // **** Build selection rectangle - var XCoord = obj.feature.geometry.x; - var YCoord = obj.feature.geometry.y; - var selWidth = (typeof(WFM_SELECTION_WIDTH) === 'undefined')?5:WFM_SELECTION_WIDTH; - var pointLL = new OpenLayers.Geometry.Point(XCoord -selWidth, YCoord -selWidth); - var pointLU = new OpenLayers.Geometry.Point(XCoord -selWidth, YCoord +selWidth); - var pointRU = new OpenLayers.Geometry.Point(XCoord +selWidth, YCoord +selWidth); - var pointRL = new OpenLayers.Geometry.Point(XCoord +selWidth, YCoord -selWidth); - var selRectangle = new OpenLayers.Geometry.LinearRing([pointLL, pointLU, pointRU, pointRL, pointLL]); - - // **** Apply selection - selectControl.controls[0].activate(); - selectControl.clearResults(); - selectControl.controls[0].select(selRectangle); - selectControl.activateVectorControl(); - selectControl.resultLayer.setVisibility(true); - selectControl.controls[0].deactivate(); - selectControl.wfmSelection = true; - } - - this.keepFeatures = false; - } -}); - -// **** Auto select click control -window.GCComponents["Controls"].addControl('control-wfm-autoselect', function(map){ - return new OpenLayers.Control.QueryMap( - OpenLayers.Handler.Click, - { - gc_id: 'control-wfm-autoselect', - baseUrl: GisClientMap.baseUrl, - maxFeatures:1, - deactivateAfterSelect: true, - vectorFeaturesOverLimit: new Array(), - eventListeners: { - 'activate': function(){ - var selectControls = this.map.getControlsBy('gc_id', 'control-querytoolbar'); - if (selectControls.length != 1) - return false; - - }, - 'endQueryMap': function(event) { - } - } - } - ) -}); - -// **** Point marker draw control -window.GCComponents["Controls"].addControl('control-wfm-markpoint', function(map){ - return new OpenLayers.Control.DrawFeature( - map.getLayersByName('layer-wfm-markpoint')[0], - OpenLayers.Handler.Point, - { - gc_id: 'control-wfm-markpoint', - eventListeners: { - 'activate': function(e){ - if (map.currentControl != this) { - map.currentControl.deactivate(); - var touchControl = map.getControlsByClass("OpenLayers.Control.TouchNavigation"); - if (touchControl.length > 0) { - touchControl[0].dragPan.deactivate(); - } - } - map.currentControl=this; - }, - 'deactivate': function(e){ - var touchControl = map.getControlsByClass("OpenLayers.Control.TouchNavigation"); - if (touchControl.length > 0) { - touchControl[0].dragPan.activate(); - } - if (!this.layer.keepFeatures) { - this.layer.removeAllFeatures(); - } - var btnControl = map.getControlsBy('id', 'button-wfm-markpoint')[0]; - if (btnControl.active) - btnControl.deactivate(); - - } - } - } - ) -}); - -// **** Toolbar button -window.GCComponents["SideToolbar.Buttons"].addButton ( - 'button-wfm-markpoint', - 'Esporta coordinate per WFM', - 'glyphicon-white glyphicon-pushpin', - function() { - if (sidebarPanel.handleEvent || typeof(sidebarPanel.handleEvent) === 'undefined') - { - this.map.getLayersByName('layer-wfm-highlight')[0].removeAllFeatures(); - this.map.getLayersByName('layer-wfm-markpoint')[0].removeAllFeatures(); - window.GCComponents.Functions.resetWFMData(); - if (this.active) { - this.deactivate(); - var drawControl = this.map.getControlsBy('gc_id', 'control-wfm-markpoint'); - if (drawControl.length == 1) - drawControl[0].deactivate(); - } - else - { - this.activate(); - var drawControl = this.map.getControlsBy('gc_id', 'control-wfm-markpoint'); - if (drawControl.length == 1) - drawControl[0].activate(); - } - if (typeof(sidebarPanel.handleEvent) !== 'undefined') - sidebarPanel.handleEvent = false; - } - }, - {button_group: 'tools'} -); diff --git a/config/config.dynamic.js.sample b/config/config.dynamic.js.sample deleted file mode 100644 index 33c5837..0000000 --- a/config/config.dynamic.js.sample +++ /dev/null @@ -1,104 +0,0 @@ -var configLoaded = jQuery.Deferred(); -var applicationReady = jQuery.Deferred(); -var clientConfig = { - GISCLIENT_URL : '/gisclient3', - URL_CLIENT_CONFIG : "/gisclient3/services/clientConfig.php", - MAPPROXY_URL : '/', - POPUP_TIMEOUT : 2000, - // **** Numero massimo di oggetti per layer in interrogazione - MAX_LAYER_FEATURES : 100, - // **** Numero massimo totale di oggetti in interrogazione - MAX_QUERY_FEATURES : 500, - // **** Templates di stampa - PRINT_TEMPLATE_HTML : null, - PRINT_TEMPLATE_PDF : null, - // **** Default Print Settings - PRINT_LEGEND_DEFAULT :'yes', // ** null to omit legend by default ** - PRINT_LAYOUT_DEFAULT :'vertical', // ** can be set to 'horizontal' ** - PRINT_FORMAT_DEFAULT :'HTML', // ** Can be set to 'PDF' ** - // **** Dimensioni della Reference Map (in pixel) - OVERVIEW_MAP_W : 360, - OVERVIEW_MAP_H : 180, - // **** Altezza finestra di ricerca (in pixel) - SEARCH_WINDOW_H : 400, - // **** Dimensioni del pannello laterale (in pixel) - RESULT_SMALLTABLE_SIZE : 300, - // **** Chiave per caricamento suggerimenti - HINTS_KEY : "gisclient-maps", - GOTO_DEFAULT_EPSG : ["EPSG:3857", "EPSG:4326", "EPSG:3003", "EPSG:25832", "EPSG:32632"], - CLIENT_COMPONENTS : ["StreetViewControl:1:alone", "LayerTreeButton:2:data", "QueryControl:1:data", - "PrintControl:1:print", "ReferenceMapControl:2:print"]//, - //DEFAULT_CONTROL : "move" , - /* **** Stile di evidenziazione custom - **** Decommentare ed editare per abilitarlo - RESULT_LAYER_STYLE : { - 'default': { - fill: false, - fillColor: "#ff00FF", - fillOpacity: 0.1, - hoverFillColor: "white", - hoverFillOpacity: 0.1, - strokeColor: "yellow", - strokeOpacity: 0.4, - strokeWidth: 4, - strokeLinecap: "round", - strokeDashstyle: "solid", - hoverStrokeColor: "red", - hoverStrokeOpacity: 1, - hoverStrokeWidth: 0.2, - pointRadius: 6, - hoverPointRadius: 1, - hoverPointUnit: "%", - pointerEvents: "visiblePainted", - cursor: "inherit" - }, - 'select': { - fill: true, - fillColor: "blue", - fillOpacity: 0.4, - hoverFillColor: "white", - hoverFillOpacity: 0.8, - strokeColor: "blue", - strokeOpacity: 1, - strokeWidth: 6, - strokeLinecap: "round", - strokeDashstyle: "solid", - hoverStrokeColor: "red", - hoverStrokeOpacity: 1, - hoverStrokeWidth: 0.4, - pointRadius: 8, - hoverPointRadius: 1, - hoverPointUnit: "%", - pointerEvents: "visiblePainted", - cursor: "pointer" - }, - 'temporary': { - fill: true, - fillColor: "EEA652", - fillOpacity: 0.2, - hoverFillColor: "white", - hoverFillOpacity: 0.8, - strokeColor: "#EEA652", - strokeOpacity: 1, - strokeLinecap: "round", - strokeWidth: 4, - strokeDashstyle: "solid", - hoverStrokeColor: "red", - hoverStrokeOpacity: 1, - hoverStrokeWidth: 0.2, - pointRadius: 6, - hoverPointRadius: 1, - hoverPointUnit: "%", - pointerEvents: "visiblePainted", - cursor: "pointer" - } - } -*/ -}; -$.get(clientConfig.URL_CLIENT_CONFIG, function(returnedData){ - jQuery.extend(clientConfig, JSON.parse(returnedData)); - clientConfig.SCRIPT_PLUGINS.forEach(function(item, index) { - $("head").append(item); - }); - configLoaded.resolve(); -}); diff --git a/config/config.js.sample b/config/config.js.sample index c120204..f4fd2c3 100644 --- a/config/config.js.sample +++ b/config/config.js.sample @@ -1,44 +1,95 @@ -/* - * - * - * - */ - -var GISCLIENT_URL = '/gisclient3'; -var MAPPROXY_URL = '/'; -var POPUP_TIMEOUT = 2000; - -// **** Numero massimo di oggetti per layer in interrogazione -var MAX_LAYER_FEATURES = 100; -// **** Numero massimo totale di oggetti in interrogazione -var MAX_QUERY_FEATURES = 500; - -// **** Templates di stampa -var PRINT_TEMPLATE_HTML = null; -var PRINT_TEMPLATE_PDF = null; - -// **** Default Print Settings -var PRINT_LEGEND_DEFAULT = 'yes'; // ** null to omit legend by default ** -var PRINT_LAYOUT_DEFAULT = 'vertical'; // ** can be set to 'horizontal' ** -var PRINT_FORMAT_DEFAULT = 'HTML'; // ** Can be set to 'PDF' ** - -// **** Dimensioni della Reference Map (in pixel) -var OVERVIEW_MAP_W = 360; -var OVERVIEW_MAP_H = 180; - -// **** Dimensioni del pannello laterale (in pixel) -var RESULT_SMALLTABLE_SIZE = 300; - -// **** Url servizio di recupero configurazione utente -var URL_CLIENT_CONFIG = GISCLIENT_URL + "/services/clientConfig.php"; -// **** Configurazione di default del client in caso URL_CLIENT_CONFIG non sia definita -var DEF_COMPONENTS = ["StreetViewControl", "LayerTreeButton", "QueryControl", "PrintControl", "ReferenceMapControl"]; -// **** Larghezza del pannello laterale per layertree/query result (in pixel) -var RESULT_SMALLTABLE_SIZE = 300; - -// **** Chiave per caricamento suggerimenti -var HINTS_KEY = "gisclient-maps"; - -var SEARCH_WINDOW_H = 400; - - +var clientConfig = { + GISCLIENT_URL : '/gisclient3', + URL_CLIENT_CONFIG : "/gisclient3/services/clientConfig.php", + MAPPROXY_URL : '/', + POPUP_TIMEOUT : 2000, + // **** Numero massimo di oggetti per layer in interrogazione + MAX_LAYER_FEATURES : 100, + // **** Numero massimo totale di oggetti in interrogazione + MAX_QUERY_FEATURES : 500, + // **** Templates di stampa + PRINT_TEMPLATE_HTML : null, + PRINT_TEMPLATE_PDF : null, + // **** Default Print Settings + PRINT_LEGEND_DEFAULT :'yes', // ** null to omit legend by default ** + PRINT_LAYOUT_DEFAULT :'vertical', // ** can be set to 'horizontal' ** + PRINT_FORMAT_DEFAULT :'HTML', // ** Can be set to 'PDF' ** + // **** Dimensioni della Reference Map (in pixel) + OVERVIEW_MAP_W : 360, + OVERVIEW_MAP_H : 180, + // **** Altezza finestra di ricerca (in pixel) + SEARCH_WINDOW_H : 400, + // **** Dimensioni del pannello laterale (in pixel) + RESULT_SMALLTABLE_SIZE : 300, + // **** Chiave per caricamento suggerimenti + HINTS_KEY : "gisclient-maps", + GOTO_DEFAULT_EPSG : ["EPSG:3857", "EPSG:4326", "EPSG:3003", "EPSG:25832", "EPSG:32632"], + CLIENT_COMPONENTS : ["StreetViewControl:1:alone", "LayerTreeButton:2:data", "QueryControl:1:data", + "PrintControl:1:print", "ReferenceMapControl:2:print"]//, + //DEFAULT_CONTROL : "move" , + /* **** Stile di evidenziazione custom + **** Decommentare ed editare per abilitarlo + RESULT_LAYER_STYLE : { + 'default': { + fill: false, + fillColor: "#ff00FF", + fillOpacity: 0.1, + hoverFillColor: "white", + hoverFillOpacity: 0.1, + strokeColor: "yellow", + strokeOpacity: 0.4, + strokeWidth: 4, + strokeLinecap: "round", + strokeDashstyle: "solid", + hoverStrokeColor: "red", + hoverStrokeOpacity: 1, + hoverStrokeWidth: 0.2, + pointRadius: 6, + hoverPointRadius: 1, + hoverPointUnit: "%", + pointerEvents: "visiblePainted", + cursor: "inherit" + }, + 'select': { + fill: true, + fillColor: "blue", + fillOpacity: 0.4, + hoverFillColor: "white", + hoverFillOpacity: 0.8, + strokeColor: "blue", + strokeOpacity: 1, + strokeWidth: 6, + strokeLinecap: "round", + strokeDashstyle: "solid", + hoverStrokeColor: "red", + hoverStrokeOpacity: 1, + hoverStrokeWidth: 0.4, + pointRadius: 8, + hoverPointRadius: 1, + hoverPointUnit: "%", + pointerEvents: "visiblePainted", + cursor: "pointer" + }, + 'temporary': { + fill: true, + fillColor: "EEA652", + fillOpacity: 0.2, + hoverFillColor: "white", + hoverFillOpacity: 0.8, + strokeColor: "#EEA652", + strokeOpacity: 1, + strokeLinecap: "round", + strokeWidth: 4, + strokeDashstyle: "solid", + hoverStrokeColor: "red", + hoverStrokeOpacity: 1, + hoverStrokeWidth: 0.2, + pointRadius: 6, + hoverPointRadius: 1, + hoverPointUnit: "%", + pointerEvents: "visiblePainted", + cursor: "pointer" + } + } +*/ +}; diff --git a/config/x-template.config.js b/config/x-template.config.js deleted file mode 100644 index 16bd21e..0000000 --- a/config/x-template.config.js +++ /dev/null @@ -1,36 +0,0 @@ -var wrapperConfigLoaded = jQuery.Deferred(); -var HINTS_KEY; -var MAX_LAYER_FEATURES; -var MAX_QUERY_FEATURES; -var POPUP_TIMEOUT; -var PRINT_TEMPLATE_HTML; -var PRINT_TEMPLATE_PDF; -var PRINT_LEGEND_DEFAULT; -var PRINT_LAYOUT_DEFAULT; -var PRINT_FORMAT_DEFAULT; -var OVERVIEW_MAP_W; -var OVERVIEW_MAP_H; -var DEFAULT_CONTROL; -var SEARCH_WINDOW_H; -var FAST_SEARCH_DEFAULT; -var RESULT_LAYER_STYLE; - -configLoaded.then(fillLocalVariables); - -function fillLocalVariables() { - MAX_LAYER_FEATURES = clientConfig.MAX_LAYER_FEATURES; - MAX_QUERY_FEATURES = clientConfig.MAX_QUERY_FEATURES; - POPUP_TIMEOUT = clientConfig.POPUP_TIMEOUT; - PRINT_TEMPLATE_HTML = clientConfig.PRINT_TEMPLATE_HTML; - PRINT_TEMPLATE_PDF = clientConfig.PRINT_TEMPLATE_PDF; - PRINT_LEGEND_DEFAULT = clientConfig.PRINT_LEGEND_DEFAULT; - PRINT_LAYOUT_DEFAULT = clientConfig.PRINT_LAYOUT_DEFAULT; - PRINT_FORMAT_DEFAULT = clientConfig.PRINT_FORMAT_DEFAULT; - HINTS_KEY = clientConfig.HINTS_KEY; - OVERVIEW_MAP_W = clientConfig.OVERVIEW_MAP_W; - OVERVIEW_MAP_H = clientConfig.OVERVIEW_MAP_H; - SEARCH_WINDOW_H = clientConfig.SEARCH_WINDOW_H; - FAST_SEARCH_DEFAULT = clientConfig.FAST_SEARCH_DEFAULT; - RESULT_LAYER_STYLE = clientConfig.RESULT_LAYER_STYLE; - wrapperConfigLoaded.resolve(); -} diff --git a/jquery/geoweb.js b/jquery/geoweb.js index 8b01ed4..16fef44 100755 --- a/jquery/geoweb.js +++ b/jquery/geoweb.js @@ -1646,7 +1646,7 @@ var initMap = function(){ var GisClientBaseUrl = GISCLIENT_URL + "/" GisClientMap = new OpenLayers.GisClient(GisClientBaseUrl + 'services/gcmap.php' + window.location.search,'map',{ useMapproxy:true, - mapProxyBaseUrl:MAPPROXY_URL, + mapProxyBaseUrl:clientConfig.MAPPROXY_URL, baseUrl: GisClientBaseUrl, mapOptions:{ controls:[ diff --git a/jquery/mobile.js b/jquery/mobile.js index 2bfe1ea..cb9815f 100644 --- a/jquery/mobile.js +++ b/jquery/mobile.js @@ -1582,7 +1582,7 @@ var initMap = function(){ var GisClientBaseUrl = GISCLIENT_URL + "/" GisClientMap = new OpenLayers.GisClient(GisClientBaseUrl + 'services/gcmap.php' + window.location.search,'map',{ useMapproxy:true, - mapProxyBaseUrl:MAPPROXY_URL, + mapProxyBaseUrl:clientConfig.MAPPROXY_URL, baseUrl: GisClientBaseUrl, mapOptions:{ controls:[ diff --git a/plugins/.gitignore b/plugins/.gitignore new file mode 100644 index 0000000..5e7d273 --- /dev/null +++ b/plugins/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore diff --git a/resources/jslib/OverviewMap.js b/resources/jslib/OverviewMap.js index 9e5c360..5b79d9f 100644 --- a/resources/jslib/OverviewMap.js +++ b/resources/jslib/OverviewMap.js @@ -8,8 +8,8 @@ OpenLayers.GisClient.OverviewMap = OpenLayers.Class(OpenLayers.Control.OverviewM this.handlers = {}; OpenLayers.Control.prototype.initialize.apply(this, [options]); this.displayClass = 'gcOverviewMap'; - if (typeof(OVERVIEW_MAP_W) !== 'undefined' && typeof(OVERVIEW_MAP_H) !== 'undefined') - this.size = new OpenLayers.Size(OVERVIEW_MAP_W,OVERVIEW_MAP_H); + if (typeof(clientConfig.OVERVIEW_MAP_W) !== 'undefined' && typeof(clientConfig.OVERVIEW_MAP_H) !== 'undefined') + this.size = new OpenLayers.Size(clientConfig.OVERVIEW_MAP_W,clientConfig.OVERVIEW_MAP_H); }, show: function(e) { diff --git a/resources/jslib/gcComponents.js b/resources/jslib/gcComponents.js index c5f2176..9fdaddc 100644 --- a/resources/jslib/gcComponents.js +++ b/resources/jslib/gcComponents.js @@ -1,3 +1,13 @@ +var configLoaded = $.Deferred(); +var applicationReady = jQuery.Deferred(); +$.get(clientConfig.URL_CLIENT_CONFIG, function(returnedData){ + jQuery.extend(clientConfig, JSON.parse(returnedData)); + clientConfig.SCRIPT_PLUGINS.forEach(function(item, index) { + $("head").append(item); + }); + configLoaded.resolve(); +}); + var sideBar; var currentGroupPos; window.GCComponents = {}; @@ -35,15 +45,10 @@ window.GCComponents["Controls"] = { }; window.GCComponents["Layers"] = { - layers: [], addLayer: function(layerName, options, events) { - var b = { - layerName: layerName, - options: options, - events: events - }; - this.layers.push(b); - return b; + var oll = new OpenLayers.Layer.Vector(layerName, options); + oll.events.on(events); + GisClientMap.map.addLayer(oll); } }; @@ -159,39 +164,43 @@ createGCControls = function(innerMap) { sideBar.finalize(); } -createGCMapLayers = function(map) { - var ext = window.GCComponents["Layers"]; - var result = []; - ext.layers.forEach(function(b) { - var oll = new OpenLayers.Layer.Vector(b.layerName, b.options); - oll.events.on(b.events); - result.push(oll); - map.addLayer(oll); - }); - return result; -} - function includeComponents(arr) { var cont = 0; var includedFileNames = []; arr.forEach(function(current, index) { var cmpPosGrp = current.split(":"); - if($.inArray(cmpPosGrp[0], includedFileNames) == -1) { - includedFileNames.push(cmpPosGrp[0]); + if (cmpPosGrp.length == 3) { // **** Native component + var cmpPath = "../../components/"; + var cmpName = cmpPosGrp[0]; + var cmpGroup = cmpPosGrp[1]; + var cmpOrder = cmpPosGrp[2]; + } + else if (cmpPosGrp.length == 4) { // **** Plugin component + var cmpPath = "../../plugins/" + cmpPosGrp[0] + "/components/"; + var cmpName = cmpPosGrp[1]; + var cmpGroup = cmpPosGrp[2]; + var cmpOrder = cmpPosGrp[3]; + } + else { + window.alert('Formato componente errato: ' + current); + return; + } + if($.inArray(cmpName, includedFileNames) == -1) { + includedFileNames.push(cmpName); $.ajax({ async : false, - url: "../../components/"+cmpPosGrp[0]+".js", + url: cmpPath + cmpName + ".js", beforeSend: function() { - currentGroupPos = [cmpPosGrp[1] , cmpPosGrp[2]]; + currentGroupPos = [cmpGroup , cmpOrder]; } }).done(function( data, textStatus, jqxhr) { cont = checkSidebarFinalization(arr, cont); }).fail(function( jqxhr, settings, exception ) { - window.alert("Inclusione componente file: " + cmpPosGrp[0] + ".js - " + exception); + window.alert("Inclusione componente file: " + cmpName + ".js - " + exception); cont = checkSidebarFinalization(arr, cont); }); } else { - window.alert("File " + cmpPosGrp[0] + ".js precedentemente incluso."); + window.alert("File " + cmpName + ".js precedentemente incluso."); cont = checkSidebarFinalization(arr, cont); } }); diff --git a/resources/jslib/hints.js b/resources/jslib/hints.js index 4d907cc..ec107a5 100644 --- a/resources/jslib/hints.js +++ b/resources/jslib/hints.js @@ -3,13 +3,13 @@ Script che provvede al caricamento/gestione dei suggerimenti da parte dell'utent **/ function generateHints() { //chiamata ajax per lista file suggerimento - $.post(GisClientMap.baseUrl + "/services/listHints.php", { app: HINTS_KEY}, + $.post(GisClientMap.baseUrl + "/services/listHints.php", { app: clientConfig.HINTS_KEY}, function(returnedData){ if($.trim(returnedData)) { $("#hintsDivContent").append(returnedData); var show = false; $("#hintsDivContent > div").each(function() { - if(localStorage.getItem(HINTS_KEY+"."+this.id)) { + if(localStorage.getItem(clientConfig.HINTS_KEY+"."+this.id)) { $(this).css("display", "none"); } else { show = true; @@ -39,10 +39,10 @@ function generateHints() { } function checkBoxManagement(arg) { - if(localStorage.getItem(HINTS_KEY+"."+arg)) - localStorage.removeItem(HINTS_KEY+"."+arg); + if(localStorage.getItem(clientConfig.HINTS_KEY+"."+arg)) + localStorage.removeItem(clientConfig.HINTS_KEY+"."+arg); else - localStorage.setItem(HINTS_KEY+"."+arg, arg); + localStorage.setItem(clientConfig.HINTS_KEY+"."+arg, arg); } function closeHints() { diff --git a/templates/geoweb/index.html b/templates/geoweb/index.html index 57dc36e..ad2be18 100644 --- a/templates/geoweb/index.html +++ b/templates/geoweb/index.html @@ -16,8 +16,7 @@ - - + diff --git a/templates/geoweb/index.js b/templates/geoweb/index.js index 74efedf..fde3f51 100644 --- a/templates/geoweb/index.js +++ b/templates/geoweb/index.js @@ -224,7 +224,7 @@ function initMap() { ConditionBuilder.baseUrl = this.baseUrl; ConditionBuilder.resourcesPath = rootPath + 'resources/'; } - var GCLayers = createGCMapLayers(this.map); + createSideToolbar(this.map); var projection = this.mapOptions.displayProjection || this.mapOptions.projection; this.map.addControl( @@ -243,7 +243,7 @@ function initMap() { applicationReady.resolve(); } -$.when(configLoaded, wrapperConfigLoaded).then(startGui); +$.when(configLoaded).then(startGui); function startGui() { $(document).ready(function() { diff --git a/templates/geoweb_static/index.html b/templates/geoweb_static/index.html index d7c3c7c..ec53fc4 100644 --- a/templates/geoweb_static/index.html +++ b/templates/geoweb_static/index.html @@ -96,7 +96,7 @@ params.srid = GisClientMap.map.projection; params.featureType = selectedFeatureType; $.ajax({ - url: GISCLIENT_URL + '/services/xMapQuery.php', + url: clientConfig.GISCLIENT_URL + '/services/xMapQuery.php', method: 'POST', dataType: 'json', data: params, diff --git a/templates/geoweb_static/index.js b/templates/geoweb_static/index.js index c079180..99977f9 100644 --- a/templates/geoweb_static/index.js +++ b/templates/geoweb_static/index.js @@ -506,10 +506,10 @@ var initMap = function(){ }); OpenLayers.ImgPath = "../../resources/themes/openlayers/img/"; - var GisClientBaseUrl = GISCLIENT_URL + "/" + var GisClientBaseUrl = clientConfig.GISCLIENT_URL + "/" GisClientMap = new OpenLayers.GisClient(GisClientBaseUrl + 'services/gcmap.php' + window.location.search,'map',{ useMapproxy:true, - mapProxyBaseUrl:MAPPROXY_URL, + mapProxyBaseUrl:clientConfig.MAPPROXY_URL, baseUrl: GisClientBaseUrl, rootPath: '../../', mapOptions:{ diff --git a/templates/mobile/index.html b/templates/mobile/index.html index 18e01c9..a47697f 100644 --- a/templates/mobile/index.html +++ b/templates/mobile/index.html @@ -16,8 +16,7 @@ - - + diff --git a/templates/mobile/index.js b/templates/mobile/index.js index d91a64a..9839243 100644 --- a/templates/mobile/index.js +++ b/templates/mobile/index.js @@ -241,7 +241,6 @@ function initMap() { ConditionBuilder.baseUrl = this.baseUrl; ConditionBuilder.resourcesPath = rootPath + 'resources/'; } - var GCLayers = createGCMapLayers(this.map); createSideToolbar(this.map); var projection = this.mapOptions.displayProjection || this.mapOptions.projection; this.map.addControl( @@ -260,7 +259,7 @@ function initMap() { applicationReady.resolve(); } -$.when(configLoaded, wrapperConfigLoaded).then($(document).ready(function() { +$.when(configLoaded).then($(document).ready(function() { GisClientMap = new OpenLayers.GisClient(GisClientBaseUrl + 'services/gcmap.php' + window.location.search,'map',{ useMapproxy:true, mapProxyBaseUrl:clientConfig.MAPPROXY_URL, diff --git a/templates/mobile_static/index.html b/templates/mobile_static/index.html index 4b35c8e..eb1a33e 100644 --- a/templates/mobile_static/index.html +++ b/templates/mobile_static/index.html @@ -120,7 +120,7 @@ params.featureType = selectedFeatureType; $.ajax({ - url: GISCLIENT_URL + '/services/xMapQuery.php', + url: clientConfig.GISCLIENT_URL + '/services/xMapQuery.php', method: 'POST', dataType: 'json', data: params, diff --git a/templates/mobile_static/index.js b/templates/mobile_static/index.js index 4fd43d0..a90f74e 100644 --- a/templates/mobile_static/index.js +++ b/templates/mobile_static/index.js @@ -523,10 +523,10 @@ var initMap = function(){ }); OpenLayers.ImgPath = "../../resources/themes/openlayers/img/"; - var GisClientBaseUrl = GISCLIENT_URL + "/" + var GisClientBaseUrl = clientConfig.GISCLIENT_URL + "/" GisClientMap = new OpenLayers.GisClient(GisClientBaseUrl + 'services/gcmap.php' + window.location.search,'map',{ useMapproxy:true, - mapProxyBaseUrl:MAPPROXY_URL, + mapProxyBaseUrl:clientConfig.MAPPROXY_URL, baseUrl: GisClientBaseUrl, rootPath: '../../', mapOptions:{ diff --git a/templates/wfm-osfc/common.css b/templates/wfm-osfc/common.css deleted file mode 100644 index 36efeac..0000000 --- a/templates/wfm-osfc/common.css +++ /dev/null @@ -1,30 +0,0 @@ -.ui-page-theme-a a, html .ui-bar-a a, html .ui-body-a a, html body .ui-group-theme-a a, -.ui-page-theme-a a:hover, html .ui-bar-a a:hover, html .ui-body-a a:hover, html body .ui-group-theme-a a:hover, -.ui-page-theme-a a:focus, html .ui-bar-a a:focus, html .ui-body-a a:focus, html body .ui-group-theme-a a:focus, -.ui-page-theme-a a:visited, html .ui-bar-a a:visited, html .ui-body-a a:visited, html body .ui-group-theme-a a:visited -{ - color: #0000FF; -} - -.alert-custom { - background-color: #6a6a6a; - box-shadow: 2px 2px 2px 2px #000000; - border: 1px solid #aaaaaa; - color: #ffffff; - opacity: 0.85; - border-radius: 8px; - position: absolute; - top: 30px; - right: 65px; - width: 20%; -} - -#hintsReload { - position: relative; - bottom: 8px; - right: 6px; -} - -#hintsButton { - float: right; -} diff --git a/templates/wfm-osfc/header.css b/templates/wfm-osfc/header.css deleted file mode 100644 index e77c87d..0000000 --- a/templates/wfm-osfc/header.css +++ /dev/null @@ -1,66 +0,0 @@ - -header { - font-size: 14px; - height: 55px; - position: relative; - z-index: 1001; -} -header h1, header nav, header nav > ul, header nav > ul > li, header .dropdown { - display: inline-block; -} -header > * { - height: 100%; - padding: 10px; -} -header h1, header nav.primary { - float: left; -} -header a, header a:hover { - text-decoration: none; -} -header img.logo { - height: 30px; - margin-top: -2px; - vertical-align: middle; - width: 30px; -} -header h1 { - margin: 0; - padding-top: 15px; -} -header h1 a { - color: #000000; -} - - -#mapset-title { - margin-left:10px; - font-size: 12px; -} - -#mapset-login { - margin-right:5px; - font-size: 12px; - float: right; -} - -#mapset-switcher select { - width: 200px; - color: #000000; - height:24px; - font-size:12px; -} - -#mapset-switcher { - float:left; -} - -#mapset-question { - margin-right: 15px; - float: right; - animation-name: blinker; - animation-duration: 3s; - animation-timing-function: linear; - animation-iteration-count: infinite; -} - diff --git a/templates/wfm-osfc/icons/loading.gif b/templates/wfm-osfc/icons/loading.gif deleted file mode 100644 index 4bb84730844a4382e0627b30fdb29c7021cf8fce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24531 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 diff --git a/templates/wfm-osfc/icons/query_map.png b/templates/wfm-osfc/icons/query_map.png deleted file mode 100755 index 9f1a99beaefeae8fda5bbcdbc99617b033e553d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 794 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 KMNUMnLSTYe&KO7l diff --git a/templates/wfm-osfc/images/MapMarker_Marker_Inside_Pink.png b/templates/wfm-osfc/images/MapMarker_Marker_Inside_Pink.png deleted file mode 100644 index 6d730d155bdd947f66d0ff4d2c5654ec3c8126a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1663 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 N002ovPDHLkV1iA(=1Bkm diff --git a/templates/wfm-osfc/images/MapMarker_Marker_Outside_Chartreuse.png b/templates/wfm-osfc/images/MapMarker_Marker_Outside_Chartreuse.png deleted file mode 100644 index 9300b86ef476ac63eb7b8723b713a5cb75a15cfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1561 zcmV+!2Il#RP)LOEElp6riKb(A;TGiGSVa#K_nE3M(dwQVI_(Ezy>)+ zKbWi_DUt>$R))^g;Oa%*m@xwWm0?VdaD?vHcM_wzhYe|*oGH@RotJAF702fja^ z_v`ufIY*eIZ9D#jYm+wa8ZMUJP}AWhfk)}%Cnm}hFIkjZS6}tZ*XI&XX8YhDj@|R& zq2kI7mp86o72-_f6LjMo;XyqOGn|$Z5u9$n@@(5i)~$Kp(+A%*fMmPcy)!m0` zoth3&6hjq68X`#@i!RwFC~cga$H~#Av`Gl(()tP?Z6CPpb06HbbC8A(y7AP%ZmbnD z{IikHt2mCJpn`}Xq9iS-74s-k4OK-%K@&uPC?1*7&OcR|_vD3=EC$`kR(>(dtJuMJt`AzTP_m@`eeR@s+ z;c4wuZc!8ocSj^ZGDlt;htGs$1K!T~VMMU~M zFeAW>E%^DqYo(i~ZnZEXf)Inqlx3HV4;;ih17x)~n0wCy zbHm-5Gil8@18#mU5G*?)22@$s8&XZYDn&|YN~mgY3j`0L-gHVU$>x}4EISsCL`==P z0uQV_deX9uWi$F-=FIY&8-S8T(3D6ioo|JvM3D;KzY=opy_W+E!?KO9`^bs$SpxvL z$Dc|!a%tpT(#@GGuIX~iCl&!!#;RIDq(rT#bL*#un0MI}Ip^v{$VPbKB5-&;FVud2i}xukvOKJP>g#0t_5~@rP^Lx6CH?z%`t1-&;K~ znccsdyP0ljWXp8ACAr(JzO8q?G`f~MVv#W#M@NnV)q?niV!rJVPPgp-^>FS0*NWWEtBAnV8@#Y>1DiZEzjxVso~MEI zlMa|=3;MR{Gwe?)PbTSw>3I@Jg|KrAPk2Uv22h*k^a?o$Ilh+zJ)!A>Le={Wbb4OCV}KVnd28Yf8#F1YrtJJx{vB^- zFI0oq2F?Lvz&OxlhK;x=0Dxor{PD0%D_N8ZmHg9tY&wJUQ-00000 LNkvXXu0mjfDdP0m diff --git a/templates/wfm-osfc/images/acrobat.gif b/templates/wfm-osfc/images/acrobat.gif deleted file mode 100644 index ae9b357fe52af2039f2fa65b86a02848cce309d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1023 zcmYjQZ%h++7=Eb-7Q&X><+fb(!wPdt*w{kdlF^JTwPRY(n#?X3?NFg?QMbCOT?`q7 z02UNzT#rG-rN&yovCT$|Vac%N&lS3AkSQqzH)+~|J%`>Mb8ZFtZ@)#fnNCaEJit0IC3t6!rO;;p3L!Ua#qN)}0+JtM~40@a$OfOG)BrBGN^Di=+=v^o#Kq*OYI z<9>>oERY8j3Qmega6Cd$qCycVC`if`lQbQmX@Avc98HTVTBK=CrxUeWQLE#0Rh-c% z*3=}8#v~*gzjZd9A3ALtX|uCtJNtF-81tQ{z0cG6qxbCP8|NH1t^E_{uionZ>CX4p zeV2#)S4L*9xql0oOo0IxXEuvgtLSh{{jutsU-d7n&fJgQ4M%_HqW2y|1Aj(Ezn>E$ z!NpkUQEZ-%-4|kEG4^07zW7)C;o~^}cU*iDU-~!kIFfj>ocL!Y5m`;FM3bmUNj)i1 z5`6B=&MOE%m(@43a~=VLCjo%T^yb%g5qyxz+(oYMV=|8rLNVeAz9hXZv(FNObZx69 z_&raNo6_W(ny_#zVr@T}{6&=`JG2K3X zGvkzMsP5;@_U*f0E6Xj$B>o-G6l$y;4pmdV`^5v!^24FA8?7(MJ2V%A{oAzE4llcp zRkdQLN(Lt?^3RE6!7f>`Z_CN82VcF=tvnVi`sJfvZ5K=S2J!V0EGs9s3lD8smz6_e H7`*cz-lEi} diff --git a/templates/wfm-osfc/images/check-partial.png b/templates/wfm-osfc/images/check-partial.png deleted file mode 100644 index 5b2f4dd96bf70805b30c9b2989454b0b590e68f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE%y{W;-5;PJdx@v7EBgaxQBG0igf9oS0fkn2x;TbdoKF7p|Gz!6YC~tE(*dUB z6KtlFmVErUt15(90totidt3vL96QFi^d^Wa5fQ1lB`wDO@O1t85)~Cc0(cXEV8YbU zL(&@e_tz(<0C_)tedT86=a>JP_~G?+{!dI3r%n|u*E#UV=X!=qF{AXuiuA;#3%L_M z`h+sQ>@~ diff --git a/templates/wfm-osfc/images/icons.png b/templates/wfm-osfc/images/icons.png deleted file mode 100644 index e7490c84cbca1a7852d89a3011b3c1f23d541e3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3222 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 O03NPBE_Ke(U;hJ?BOq!3 diff --git a/templates/wfm-osfc/images/marker-shadow.png b/templates/wfm-osfc/images/marker-shadow.png deleted file mode 100644 index d1e773c715a9b508ebea055c4bb4b0a2ad7f6e52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 797 zcmV+&1LFLNP)oNwbRQ6Eq$4M3RDU@$ z<4cV9zWLV=bA&uX9wCpA{{f^4$D#k>GcX53-UQqf>_LzMU@frMz|MwbfQGbY0?ccG zBj_wh0?6Tv;HWR0`x;m^Bm<;sCm_85SGspFBn6|A!tDh$nR`wGorGkyL7j?F3#OJq zIswLIz;iF7f|LMnF(pXPAY*GYpsw%&e_WjlnV`C$6@#Q7GZu1$Q8>&p8=(iJj8o|T~0u%hM*Yg_d(Av{WS$h&pM%nlEAonVL0;DkN|xc zn)9F+aMDk#VtAMb0c=kIb1pU-$e4$3pwo&qVh(Umlw3_IU_dFcFe(In6*x}D4LHLhFZ4N=V2ZR+>XHU5D&uY$npJ7Eu?{iAK>UxC?4uyg4+iD z!nst**H%2zhOBxc7C7Tv{f^`%hqT1KpU@Vf6+C2|bGaR(1~TU5D-1;&HXT~PMc2Lu z{Q%^i6vvox&EMFT7I_)R$xq1779I8kE@?|D*cLWnP0a@a)xJA`o*^$^V(yN)b`kV7 z=o@jbFF4j{KeuQh&MVD>w3DWq zR!SBPxGKSg;L6sGx=4cH574E%0k%JP>B(t4JJD8 zr}u^y#yW}Mfdl8vJ>Pe}bLU(RC#>CW=S!tkwOA~wq9`n~Z@%x34-ZGJ;qYs-R;x`g z%NSVGKJMwd9_hLf8HO3L_}5Y1?`wOkCXNx}$;!&9rlKfS+ji)QgMry$-Lam%1b8wE zg+jHoy4Iql*N!n>jQR0-kXdLG{Yc!)ELn@Fc~Sjs6NRL$$b{i&KGD<_V?*kxIU?u_tFA0px%7|s|T z1rm{i=X$Um2ea4D^ujqfu1oz-0xq6(y1h<1li89b z8E<~xgErYkK2^ec{yfeKw-9(DEW;dcZ(m$W9KkZpCPzru_XAWHZsUS-2OP)2G)=gc zNAJgC3e=ejm_2{-@_{HyD$ny%Ftad<5Cj2y&uv}3a{1<5g6S{aefEheDHBQ%(LACA zQ5e2O6l|T`L?MYF4E-Cf9dwWBDIT)OtBpqeuQet~1dV#V7lc8VZ6x!M#uVI3swK1D zMM@Hzk|=^Xi}649HP)Ed+ohe56+>%xg7go^M`%;eQSLS{)8Ip z?(WX=`TUlAKL1FXrgs8>bME3uv3R&tDt+oBu>;AfE`O5#|sy= zwjSv1?S0{Yb+9$3 z0u&-e6$!AbBJy^8DBW^o`;{&hbov!upfuX8U5lxbG+0kRi z*3~q~vTUtquNqV&h@2e!h?d+nUzWDrCk^wOrMan@Zoi{mN_7P~eqoo0sHiHjXN{wH zZA}9ZEe;Y80-F%T49ZdUR5nHKGc039)TyePC^FhN{+$UyObA{>5K`5)nllJK1n&bt z21E?U9@obE5V?y8;!qqbVWQ#?M35#ay!T)hgy0c^OsjXAfn|3t^Grk#2cV9ZQ{UiM zQkP{A1;)lFs8}AArn(kt$+e4PhY&om59)*OuNe_r`?YfnW;V>utem%9$4ZIm9~v?P zL&IixWJGhxt!80*>)C z(LeeV8nR|unqRH0^cYDcRUZPFJy|<(xm+qO-MsnnP}88R>(B#fR`+v~BosxF7-LKv zC#cWW1AvT(HA?lD!f|B*sJrFd$MWAS!AE zD(bxnB4BoJcWm77@=Tm*L$0bg^3Q7xjZN#KD7oJl1`$EYfCNxg2m~U6;Qf(Jof~I_ z19SZBwr<@TRApPmR=l;W*0MNj#ac_2tyC%%a?V`?3(U)i=P9?0q_9Aznq(d695KK22cbr3cz7XL^X$8)$ZN9udcY~-cJjK z!f%rmmH=D>FpmF*J5AAS2Qx`R=s$6y@MpPPJ`Z3RfSp?HO!^l(23o+sHx7IN0000< KMNUMnLSTZ8*Bf#G diff --git a/templates/wfm-osfc/images/marker32.png b/templates/wfm-osfc/images/marker32.png deleted file mode 100644 index 59f4e83c95c5a35929717649aa940ebf0279773d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1561 zcmV+!2Il#RP)E<>%s}1=q>E=3?C3$E%}yVq}|F`RPl3x$fXx;>m1Z9Q*PU z*T|wv9*XZ@@<{+69K|LoFel7wA`1s_HFW2{xBBVvZw)+p=f5r*z?nNX-&A>UPkBjBlleP^t~G|7-0A_zxZ@~&%&*`ZxHD# zi35FbNgr`RA7P+{v`W04u#q-8G6^G-=tvtT+E_BeszsLe58m{yXTJS%FOAS^V(1e; zDVg8+b>4FfF^3Q!2q6f>fHX^De~Zv;ATieCA`k=!h#I!{c%W5mIo~FWUK6VMOK~zS zl`2E41a&aS)fgKaoI86CiH0W!!80hb(T{`Pue-clMTX&rU zSA<&>gR%}LQ?jR4HBgmmKc#3iDgMS1yMFQ&>6yXO58Bdm@1~$ znn`QMGhk+;E=D#%wC+^N(4xM4Bm{~W2{95vsK-Pwpf8rFYVBFc=C~Q=OwKw3%Xj?v zcvc;$10__IteG48ufzjH5kic_7|)g>#7I#T+)ykb=ZtD1yW*;3)v*=39~_%C0D!qY zZ<GT9}wI?+h zmNUsRS(Q%J=Dv9!;kMN`BQaut7m;SO#qBF@FmR_^(k<)Vm z0N8!i*S|uLO)(Tm2!sGpV!cQN0UW>`cSot)&Mjl+#BoO@EQWMABK*3PV95X|6J`g3mZ}q`VRj>Fxui|sj?XG0@N{kUii5d~f zXbAY!4$N>D6a}XiS2f_a4ymrN14+r5Mi4jByBDh1qF$57X_qr6SC;RVCIWL?2GfKEZL~s#8aOx&9%mnG41H*B*zpXv?#M;@!?%9UZ?fN&j zOsMJCQtptngK8orC3WhjY9eVpmvX93cE;DuCN9k3rxf6Y%f9f8hwv$JClIC*fMNCJ zE(`h1a^#X`pz5gluoB;s- zS{->Hi;W8PSMeX|#EaYW$z5Hc>4HLC`wUcFPj4IG!Le6Q58C8IAqL72d31coX3p(i zs1IHn7zIXvF`&Z?9dSVb06Ws)&yx7?8~N1s9cl25?r<9z2L1z_?g}T~a`2{GyikCb zsw35c*zA9yefZV=d1yCqs_P@vsXlN2Uldyw2QDuNi-GxEU^f2?NV78#R+Tg$00000 LNkvXXu0mjf^_ufd diff --git a/templates/wfm-osfc/images/marker32_bla.png b/templates/wfm-osfc/images/marker32_bla.png deleted file mode 100644 index 7650fa434249d74a6ea079df504cbe2e2419b16d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1481 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 diff --git a/templates/wfm-osfc/images/marker32_yel.png b/templates/wfm-osfc/images/marker32_yel.png deleted file mode 100644 index 1e175b22f411c3bf363737e7c471be3212b45050..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1536 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 M>*MPan3))?0Y5}Dg8%>k diff --git a/templates/wfm-osfc/index.html b/templates/wfm-osfc/index.html index 765e4ef..c54d68c 100644 --- a/templates/wfm-osfc/index.html +++ b/templates/wfm-osfc/index.html @@ -8,17 +8,16 @@ - + - - - + + @@ -39,163 +38,27 @@ + + - - - - - - - - - - - - - - - + + + - - - - - - var params = ConditionBuilder.getQuery(); - params.projectName = GisClientMap.projectName; - params.mapsetName = GisClientMap.mapsetName; - params.srid = GisClientMap.map.projection; - params.featureType = selectedFeatureType; + - $.ajax({ - url: GISCLIENT_URL + '/services/xMapQuery.php', - method: 'POST', - dataType: 'json', - data: params, - success: function(response) { - if(!response || typeof(response) != 'object') { - return alert('Errore di sistema'); - } - if(!response.length) { - return alert('Nessun risultato'); - } - var features = [], - len = response.length, result, i, geometry, feature; - - for(i = 0; i < len; i++) { - result = response[i]; - - geometry = result.gc_geom && OpenLayers.Geometry.fromWKT(result.gc_geom); - if(!geometry) continue; - delete result.gc_geom; - - feature = new OpenLayers.Feature.Vector(geometry, result); - feature.featureTypeName = selectedFeatureType; - - features.push(feature); - } - - fType.features = features; - queryMap.events.triggerEvent('featuresLoaded',fType); - queryMap.resultLayer.addFeatures(features); - queryMap.events.triggerEvent('endQueryMap'); - $('#SearchWindow').modal('hide'); - $("#resultpanel").addClass("smalltable"); //non so perchè l'ho dovuto mettere qui.... - }, - error: function() { - alert('Errore di sistema'); - } - }); - - }); - - $('#btnAdvancedReport').click(function(event) { - console.log('advanced query click'); - event.preventDefault(); - - var selectedReport = $('select.olControlReportMapSelect').val(); - - var filter = ConditionBuilder.getQuery(); - var reportToolbar = GisClientMap.map.getControlsByClass('OpenLayers.GisClient.reportToolbar')[0]; - reportToolbar.displayReportHandler(filter); - - $('#SearchReportWindow').modal('hide'); - }); - if (typeof(SEARCH_WINDOW_H)!= 'undefined') - $('#searchWindowModalContent').css('height', SEARCH_WINDOW_H+"px"); - }); - - - - - - - - - - - - - - + + + + @@ -227,6 +90,9 @@

    intestazione......

    +
    +
    +
    @@ -264,7 +130,7 @@

    intestazione......