/*
 * Copyright (C) 2009 GeoNetwork
 *
 * This file is part of GeoNetwork
 *
 * GeoNetwork is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * GeoNetwork is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with GeoNetwork.  If not, see <http://www.gnu.org/licenses/>.
 */

Ext.namespace('GeoNetwork','GeoNetwork.lang');GeoNetwork.lang.nl={'featureInfoTooltipTitle':"Attribuut-informatie",'featureInfoTooltipText':"Klik in de kaart om attribuut-informatie op te vragen van alle zichtbare lagen.",'zoomToMaxExtentTooltipTitle':"Volledig kaartbeeld",'zoomToMaxExtentTooltipText':"Klik op deze button om naar het volledig kaartbeeld te zoomen.",'zoominTooltipTitle':"Zoom in",'zoominTooltipText':"Trek een kader in kaart om in te zoomen. Ook kan er geklikt worden in de kaart waarna er met een factor 2 ingezoomd wordt.",'zoomoutTooltipTitle':"Zoom uit",'zoomoutTooltipText':"Klik in de kaart om gecentreerd op dit punt met een factor 2 uit te zoomen. Ook kan er een kader in de kaart getrokken worden, hoe kleiner dit kader hoe verder er uitgezoomd zal worden.",'dragTooltipTitle':"Verschuif kaart",'dragTooltipText':"Houd de linker muisknop ingedrukt en versleep de kaart.",'previousTooltipTitle':"Vorige kaart extent",'previosTooltipText':"Klik op deze button om terug te gaan naar de vorige kaart extent",'nextTooltipTitle':"Volgende kaart extent",'nextTooltipText':"Klik op deze button om verder te gaan naar de volgende kaart extent",'featureInfoTitle':"Attribuut-informatie",'layerManagerTabTitle':"Kaartlagenbeheer",'legendTabTitle':"Legenda",'scaleTitle':"Schaal",'xTitle':"X",'yTitle':"Y",'projectionTitle':"Projectie",'FeatureInfoNotQueryable':"Er is geen bevraagbare kaartlaag",'WMSBrowserTab1':"Selecteren",'WMSBrowserTab3':"Extern",'WMSBrowserPreviewTitle':"Preview kaartlaag",'WMSBrowserAddButton':"Voeg toe",'WMSBrowserDuplicateMsg':"Kaartlaag is reeds aanwezig.",'WMSBrowserPreviewWaitMsg':"Preview image ophalen",'WMSBrowserConnectButton':"Maak verbinding",'WMSBrowserConnectError':"Er is een fout opgetreden bij het maken van de verbinding, controleer de URL.",'infoTitle':"Informatie",'mf.print.mapTitle':"Titel",'mf.print.comment':"Opmerkingen",'mf.print.dpi':"Resolutie",'mf.print.scale':"Schaal",'mf.print.rotation':"Rotatie",'mf.print.resetPos':"Terug naar begininstellingen",'mf.print.print':"Print",'mf.print.generatingPDF':"Aanmaken PDF",'mf.print.unableToPrint':"Het was helaas niet mogelijk om te printen, probeert u het svp later nogmaals",'mf.error':"Fout",'selectExtentTooltipTitle':"Begrens zoekgebied",'selectExtentTooltipText':"Begrens het zoekgebied door in de kaart een kader te trekken.",'printTooltipTitle':"Print",'printTooltipText':"Print de huidige kaart",'savewmcTooltipTitle':"Opslaan WMC",'savewmcTooltipText':"Sla een Web Map Context document op.",'saveWMCFile.windowTitle':"Opslaan Web Map Context",'saveWMCFile.errorSaveWMC':"Kon het WMC bestand niet opslaan",'loadwmcTooltipTitle':"Open WMC",'loadwmcTooltipText':"Opent een bestaand Web Map Context document in de kaart viewer",'selectWMCFile.windowTitle':"Openen Web Map Context",'selectWMCFile':"Select WMC bestand",'selectWMCFile.waitLoadingWMC':"Laden Web Map Context",'selectWMCFile.loadButtonText':"Openen",'selectWMCFile.mergeButtonText':"Samenvoegen",'selectWMCFile.errorLoadingWMC':"Kon het Web Map Context bestand niet openen",'opacityButtonText':"Opaciteit",'opacityWindowTitle':"Opaciteit",'metadataButtonText':"Metadata",'removeButtonText':"Verwijderen",'addWMSButtonText':"Voeg WMS toe",'addWMSWindowTitle':"Voeg WMS toe",'layerInfoPanel.windowTitle':"Metadata van de kaartlaag",'layerInfoPanel.titleField':"Titel",'layerInfoPanel.descriptionField':"Samenvatting",'layerInfoPanel.queryableField':"Bevraagbaar",'layerList':"Kaartlagen",'baseLayerList':"Ondergrond",'metadataResults.buttonText':"Metadata resultaten",'metadataResults.tooltipTitle':"Metadata resultaten",'metadataResults.tooltipText':"Ga naar de metadata resultaatpagina",'metadataResults.alertTitle':"Metadata resultaten",'metadataResults.alertText':"Geen metadata resultaten om te tonen",'featureInfoWindow.windowTitle':"Attribuut-informatie",'mf.information':"Print",'mf.print.pdfReady':"PDF gereed",'loadLayer.loadingMessage':"Ophalen kaartlaag",'loadLayer.error.title':"Ophalen kaartlaag",'loadLayer.error.message':"De kaartlaag kon niet worden geladen",'disclaimer.windowTitle':"Disclaimer",'disclaimer.loading':"Laden...",'disclaimer.buttonClose':"Sluiten",'gazetteerAddressField1Label':"Postcode",'gazetteerAddressField2Label':"Straat",'gazetteerAddressField3Label':"Plaats",'gazetteerAddressField4Label':"Gemeente",'gazetteerAddressField5Label':"Huisnummer",'searchOptionButton':"Zoek",'GazetteerWindowTitle':"Zoek adres",'searchResults':"Zoekresultaten",'errorTitle':"Fout",'SearchOptionLoadFailureMsg':"Het is niet gelukt resultaten op te halen.\nMogelijk is de service tijdelijk niet beschikbaar. \n",'gazetteerTooltipTitle':"Zoek op basis van een adres",'gazetteerTooltipText':"Zoek een locatie op basis van een postcode, straatnaam, gemeente en/of plaats.",'SearchOptionNoResults':"Geen resultaten gevonden",'zoomlayerTooltipTitle':"Zoom naar laag",'zoomlayerTooltipText':"Gebruik deze knop om naar de volledige omvang van de geselecteerde laag.",'zoomlayer.selectLayerTitle':"Zoom naar laag",'zoomlayer.selectLayerText':"Geen laag geselecteerd",'layerStylesWindowTitle':"Kaartlaag stijlen",'layerStylesPreviewTitle':"Maak een voorvertoning van de legenda",'selectStyleButton':"Selecteer kaartstijl",'WMSTimeWindowTitle':"WMS Time",'WMSTimePositionTitle':"Kies een tijdstip",'WMSTimeMovieTitle':"Speel een animatie af",'wmsTimeUpdateButtonText':"Doorvoeren",'WMSTimeAnimationCheckbox':"Speel laatste ${steps} tijdstippen af",'copyrightMap':'Kaartgegevens: <a href="http://kadaster.nl" target="_blank">Kadaster</a>'};OpenLayers.Util.extend(OpenLayers.Lang.nl,GeoNetwork.lang.nl);Ext.namespace('GeoNetwork','GeoNetwork.lang');GeoNetwork.lang.en={'featureInfoTooltipTitle':"Feature info",'featureInfoTooltipText':"Click in the map to get feature info from all visible layers.",'zoomToMaxExtentTooltipTitle':"Full extent",'zoomToMaxExtentTooltipText':"Use this button to go to the full extent of the map.",'zoominTooltipTitle':"Zoom in",'zoominTooltipText':"Draw a box in the map to zoom in. You can also click in the map and map will zoom in by a factor of 2.",'zoomoutTooltipTitle':"Zoom out",'zoomoutTooltipText':"Click in the map or draw a box to zoom out.",'dragTooltipTitle':"Pan map",'dragTooltipText':"Press the left mouse button to drag the map.",'previousTooltipTitle':"Previous map extent",'previosTooltipText':"Click this button to go back to the previous map extent",'nextTooltipTitle':"Next map extent",'nextTooltipText':"Click this button to go to the next map extent",'featureInfoTitle':"Feature info",'layerManagerTabTitle':"Layer management",'legendTabTitle':"Legend",'scaleTitle':"Scale",'xTitle':"X",'yTitle':"Y",'projectionTitle':"Projection",'FeatureInfoNotQueryable':"There is no queryable map layer",'WMSBrowserTab1':"Select",'WMSBrowserTab3':"External",'WMSBrowserPreviewTitle':"Preview layer",'WMSBrowserAddButton':"Add",'WMSBrowserDuplicateMsg':"Layer is already in the map",'WMSBrowserPreviewWaitMsg':"Retrieving preview image",'WMSBrowserConnectButton':"Connect",'WMSBrowserConnectError':"There was an error connecting to the Web Map Service, please check the URL.",'infoTitle':"Information",'mf.print.mapTitle':"Title",'mf.print.comment':"Comment",'mf.print.dpi':"Resolution",'mf.print.scale':"Scale",'mf.print.rotation':"Angle",'mf.print.resetPos':"Reset",'mf.print.print':"Print",'mf.print.generatingPDF':"Generating PDF",'mf.print.unableToPrint':"It was not possible to print, try later",'mf.error':"Error",'selectExtentTooltipTitle':"Select extent",'selectExtentTooltipText':"Select extent for catalog searches",'printTooltipTitle':"Print",'printTooltipText':"Print the current map",'savewmcTooltipTitle':"Save web map context",'savewmcTooltipText':"Saves web map context for current map",'saveWMCFile.windowTitle':"Save Web Map Context",'saveWMCFile.errorSaveWMC':"Could not save Web Map Context",'loadwmcTooltipTitle':"Load web map context",'loadwmcTooltipText':"Loads web map context in current map",'selectWMCFile.windowTitle':"Load Web Map Context",'selectWMCFile':"Select Web Map Context file",'selectWMCFile.waitLoadingWMC':"Loading Web Map Context",'selectWMCFile.loadButtonText':"Load",'selectWMCFile.mergeButtonText':"Merge",'selectWMCFile.errorLoadingWMC':"Could not load Web Map Context",'opacityButtonText':"Opacity",'opacityWindowTitle':"Opacity",'metadataButtonText':"Metadata",'removeButtonText':"Remove",'addWMSButtonText':"Add WMS",'addWMSWindowTitle':"Add WMS",'layerInfoPanel.windowTitle':"Layer metadata",'layerInfoPanel.titleField':"Title",'layerInfoPanel.descriptionField':"Description",'layerInfoPanel.queryableField':"Queryable",'layerList':"Layer list",'baseLayerList':"Base layers",'metadataResults.buttonText':"Metadata results",'metadataResults.tooltipTitle':"Metadata results",'metadataResults.tooltipText':"Go to metadata results page",'metadataResults.alertTitle':"Metadata results",'metadataResults.alertText':"No metadata results to show",'featureInfoWindow.windowTitle':"Feature info",'mf.information':'Print','mf.print.pdfReady':'PDF ready','loadLayer.loadingMessage':"Loading layer",'loadLayer.error.title':"Load layer",'loadLayer.error.message':"The layer could not be loaded",'disclaimer.windowTitle':"Disclaimer",'disclaimer.loading':"Loading...",'disclaimer.buttonClose':"Close",'gazetteerAddressField1Label':"Postcode",'gazetteerAddressField2Label':"Street",'gazetteerAddressField3Label':"Place",'gazetteerAddressField4Label':"'Gemeente'",'gazetteerAddressField5Label':"House number",'searchOptionButton':"Search",'GazetteerWindowTitle':"Search for address",'searchResults':"Search results",'errorTitle':"Error",'SearchOptionLoadFailureMsg':"No results available. \n The service may be unavailable. \n",'gazetteerTooltipTitle':"Search based on an address",'gazetteerTooltipText':"Search for a location, based on postcode, street name, 'gemeente' or place.",'SearchOptionNoResults':"No results found",'zoomlayerTooltipTitle':"Zoom to layer",'zoomlayerTooltipText':"Use this button to go to the full extent of the selected layer.",'zoomlayer.selectLayerTitle':"Zoom to layer",'zoomlayer.selectLayerText':"No layer selected",'layerStylesWindowTitle':"Layer styles",'layerStylesPreviewTitle':"Preview legend",'selectStyleButton':"Select style",'WMSTimeWindowTitle':"WMS Time",'WMSTimePositionTitle':"Pick a time position",'WMSTimeMovieTitle':"Play animation",'wmsTimeUpdateButtonText':"Apply",'WMSTimeAnimationCheckbox':"Play a movie loop spanning the last ${steps} time positions",'copyrightMap':'Source: <a href="http://kadaster.nl" target="_blank">Kadaster</a>'};OpenLayers.Util.extend(OpenLayers.Lang.en,GeoNetwork.lang.en);Ext.namespace('GeoNetwork','GeoNetwork.lang');GeoNetwork.lang.de={'featureInfoTooltipTitle':"Feature info",'featureInfoTooltipText':"Click in the map to get feature info from all visible layers.",'zoomToMaxExtentTooltipTitle':"Full extent",'zoomToMaxExtentTooltipText':"Use this button to go to the full extent of the map.",'zoominTooltipTitle':"Zoom in",'zoominTooltipText':"Draw a box in the map to zoom in. You can also click in the map and map will zoom in by a factor of 2.",'zoomoutTooltipTitle':"Zoom out",'zoomoutTooltipText':"Click in the map or draw a box to zoom out.",'dragTooltipTitle':"Pan map",'dragTooltipText':"Press the left mouse button to drag the map.",'previousTooltipTitle':"Previous map extent",'previosTooltipText':"Click this button to go back to the previous map extent",'nextTooltipTitle':"Next map extent",'nextTooltipText':"Click this button to go to the next map extent",'featureInfoTitle':"Feature info",'layerManagerTabTitle':"Layer management",'legendTabTitle':"Legend",'scaleTitle':"Scale",'xTitle':"X",'yTitle':"Y",'projectionTitle':"Projection",'FeatureInfoNotQueryable':"There is no queryable map layer",'WMSBrowserTab1':"Select",'WMSBrowserTab3':"External",'WMSBrowserPreviewTitle':"Preview layer",'WMSBrowserAddButton':"Add",'WMSBrowserDuplicateMsg':"Layer is already in the map",'WMSBrowserPreviewWaitMsg':"Retrieving preview image",'WMSBrowserConnectButton':"Connect",'WMSBrowserConnectError':"There was an error connecting to the Web Map Service, please check the URL.",'infoTitle':"Information",'mf.print.mapTitle':"Title",'mf.print.comment':"Comment",'mf.print.dpi':"Resolution",'mf.print.scale':"Scale",'mf.print.rotation':"Angle",'mf.print.resetPos':"Reset",'mf.print.print':"Print",'mf.print.generatingPDF':"Generating PDF",'mf.print.unableToPrint':"It was not posible to print, try later",'mf.error':"Error",'selectExtentTooltipTitle':"Select extent",'selectExtentTooltipText':"Select extent for catalog searches",'printTooltipTitle':"Print",'printTooltipText':"Print the current map",'savewmcTooltipTitle':"Save web map context",'savewmcTooltipText':"Saves web map context for current map",'saveWMCFile.windowTitle':"Save Web Map Context",'saveWMCFile.errorSaveWMC':"Could not save Web Map Context",'loadwmcTooltipTitle':"Load web map context",'loadwmcTooltipText':"Loads web map context in current map",'selectWMCFile.windowTitle':"Load Web Map Context",'selectWMCFile':"Select Web Map Context file",'selectWMCFile.waitLoadingWMC':"Loading Web Map Context",'selectWMCFile.loadButtonText':"Load",'selectWMCFile.mergeButtonText':"Merge",'selectWMCFile.errorLoadingWMC':"Could not load Web Map Context",'opacityButtonText':"Opacity",'opacityWindowTitle':"Opacity",'metadataButtonText':"Metadata",'removeButtonText':"Remove",'addWMSButtonText':"Add WMS",'addWMSWindowTitle':"Add WMS",'layerInfoPanel.windowTitle':"Layer metadata",'layerInfoPanel.titleField':"Title",'layerInfoPanel.descriptionField':"Description",'layerInfoPanel.queryableField':"Queryable",'layerList':"Layer list",'baseLayerList':"Base layers",'metadataResults.buttonText':"Metadata results",'metadataResults.tooltipTitle':"Metadata results",'metadataResults.tooltipText':"Go to metadata results page",'metadataResults.alertTitle':"Metadata results",'metadataResults.alertText':"No metadata results to show",'mf.information':'Print','mf.print.pdfReady':'PDF ready','loadLayer.loadingMessage':"Loading layer",'loadLayer.error.title':"Load layer",'loadLayer.error.message':"The layer could not be loaded",'disclaimer.windowTitle':"Disclaimer",'disclaimer.loading':"Loading...",'disclaimer.buttonClose':"Close",'gazetteerAddressField1Label':"Postcode",'gazetteerAddressField2Label':"Straat",'gazetteerAddressField3Label':"Plaats",'gazetteerAddressField4Label':"Gemeente",'gazetteerAddressField5Label':"Huisnummer",'searchOptionButton':"Zoek",'GazetteerWindowTitle':"Zoek adres",'searchResults':"Zoekresultaten",'errorTitle':"Fout",'SearchOptionLoadFailureMsg':"Het is niet gelukt resultaten op te halen.\nMogelijk is de service tijdelijk niet beschikbaar. \n",'gazetteerTooltipTitle':"Zoek op basis van een adres",'gazetteerTooltipText':"Zoek een locatie op basis van een postcode, straatnaam, gemeente en/of plaats.",'SearchOptionNoResults':"No results found",'zoomlayerTooltipTitle':"Zoom auf Layer",'zoomlayerTooltipText':"Verwenden Sie diese Taste, um das ganze Ausmaß der ausgewählten Layer.",'zoomlayer.selectLayerTitle':"Zoom auf Layer",'zoomlayer.selectLayerText':"No layer selected",'layerStylesWindowTitle':"Layer styles",'layerStylesPreviewTitle':"Preview legend",'selectStyleButton':"Select style",'WMSTimeWindowTitle':"WMS Time",'WMSTimePositionTitle':"Time position",'WMSTimeMovieTitle':"Animation",'wmsTimeUpdateButtonText':"Apply",'WMSTimeAnimationCheckbox':"Play a movie loop spanning the last ${steps} time positions",'copyrightMap':'Quelle: <a href="http://kadaster.nl" target="_blank">Kadaster</a>'};OpenLayers.Util.extend(OpenLayers.Lang.de,GeoNetwork.lang.de);Ext.namespace('GeoNetwork','GeoNetwork.lang');GeoNetwork.lang.fr={'featureInfoTooltipTitle':"caractĂ©ristique",'featureInfoTooltipText':"Cliquer sur la carte pour obtenir des informations sur les donnĂ©es affichees.",'zoomToMaxExtentTooltipTitle':"Zoom optimal",'zoomToMaxExtentTooltipText':"Utiliser ce bouton pour tout afficher.",'zoominTooltipTitle':"Zoomer",'zoominTooltipText':"Dessiner un rectangle sur la carte pour zoomer. En cliquant sur la carte, le facteur de zoom est 2.",'zoomoutTooltipTitle':"DĂ©zoomer",'zoomoutTooltipText':"Cliquer sur la carte ou dessiner un rectangle pour dĂ©zoomer.",'dragTooltipTitle':"Main",'dragTooltipText':"Appuyer sur le bouton gauche de la souris pour dĂ©placer la carte.",'previousTooltipTitle':"Revenir au zoom prĂ©cĂ©dant",'previosTooltipText':"Cliquer ici pour revenir au zoom prĂ©cĂ©dant",'nextTooltipTitle':"Zoom suivant",'nextTooltipText':"Cliquer ici pour avancer au zoom suivant",'featureInfoTitle':"CaractĂ©ristique",'layerManagerTabTitle':"GĂ©rer les couches",'legendTabTitle':"LĂ©gende",'scaleTitle':"Echelle",'xTitle':"X",'yTitle':"Y",'projectionTitle':"Projection",'FeatureInfoNotQueryable':"Il n'existe pas de carte correspondant Ă  la requĂȘte",'WMSBrowserTab1':"SĂ©lectionner",'WMSBrowserTab3':"Externe",'WMSBrowserPreviewTitle':"AperĂ§u de la couche",'WMSBrowserAddButton':"Ajouter",'WMSBrowserDuplicateMsg':"La couche est dĂ©jĂ  affichĂ©e",'WMSBrowserPreviewWaitMsg':"RĂ©cupĂ©rer l'image precedente",'WMSBrowserConnectButton':"Connexion",'WMSBrowserConnectError':"Erreur de connexion au service Web, merci de vĂ©rifier l'URL.",'infoTitle':"Information",'mf.print.mapTitle':"Titre",'mf.print.comment':"Commentaire",'mf.print.dpi':"RĂ©solution",'mf.print.scale':"Echelle",'mf.print.rotation':"Angle",'mf.print.resetPos':"Reset",'mf.print.print':"Imprimer",'mf.print.generatingPDF':"GĂ©nĂ©rer PDF",'mf.print.unableToPrint':"Impression impossible, essayer plus tard",'mf.error':"Erreur",'selectExtentTooltipTitle':"SĂ©lectionner aire",'selectExtentTooltipText':"SĂ©lectionner aire pour recherches annexes",'printTooltipTitle':"Imprimer",'printTooltipText':"Imprimer la carte actuelle",'savewmcTooltipTitle':"Sauvegarder environnement (vue, paramĂštres,etc.)",'savewmcTooltipText':"Sauvegarder environnement pour la carte actuelle",'saveWMCFile.windowTitle':"Sauvegarder l'environnement",'saveWMCFile.errorSaveWMC':"Sauvegarde de l'environnement impossible",'loadwmcTooltipTitle':"Restaurer l'environnement",'loadwmcTooltipText':"Restaurer l'environnement dans la carte actuelle",'selectWMCFile.windowTitle':"Restaurer l'environnement",'selectWMCFile':"Ouvrir un environnement",'selectWMCFile.waitLoadingWMC':"Restauration de l'environnement en cours...",'selectWMCFile.loadButtonText':"Charger",'selectWMCFile.mergeButtonText':"Fusionner",'selectWMCFile.errorLoadingWMC':"Chargement de l'environnement impossible",'opacityButtonText':"Transparence",'opacityWindowTitle':"Transparence",'metadataButtonText':"Metadata",'removeButtonText':"Supprimer",'addWMSButtonText':"Ajouter WMS",'addWMSWindowTitle':"Ajouter WMS",'layerInfoPanel.windowTitle':"Couche metadata",'layerInfoPanel.titleField':"Titre",'layerInfoPanel.descriptionField':"Description",'layerInfoPanel.queryableField':"RequĂȘte",'layerList':"Liste des couches",'metadataResults.buttonText':"RĂ©sultats Metadata",'metadataResults.tooltipTitle':"rĂ©sultats Metadata",'metadataResults.tooltipText':"Aller a la page des rĂ©sultats Metadata",'metadataResults.alertTitle':"RĂ©sultats Metadata",'metadataResults.alertText':"Pas de rĂ©sultats Metadata",'mf.information':'Imprimer','mf.print.pdfReady':'PDF prĂȘt','loadLayer.loadingMessage':"Chargement de la couche",'loadLayer.error.title':"Charger la couche",'loadLayer.error.message':"La couche ne peut ĂȘtre chargĂ©e",'disclaimer.windowTitle':"Disclaimer",'disclaimer.loading':"Chargement...",'disclaimer.buttonClose':"Fermer",'gazetteerAddressField1Label':"Code postal",'gazetteerAddressField2Label':"Street",'gazetteerAddressField3Label':"Place",'gazetteerAddressField4Label':"MunicipalitĂ©",'gazetteerAddressField5Label':"NumĂ©ro",'searchOptionButton':"Recherche",'GazetteerWindowTitle':"RĂ©sultat pour l'adresse",'searchResults':"Recherche les rĂ©sultats",'errorTitle':"Erreur",'SearchOptionLoadFailureMsg':"Pas de rĂ©sultats trouvĂ©s. \n Le serveur peut ĂȘtre indisponible. \n",'gazetteerTooltipTitle':"Recherche basĂ©e sur l'adresse",'gazetteerTooltipText':"Recherche du lieu, basĂ© sur le code postal, la rue, la municipalitĂ© ou place.",'SearchOptionNoResults':"Pas de rĂ©sultats trouvĂ©s.",'zoomlayerTooltipTitle':"Zoom sur une couche",'zoomlayerTooltipText':"Utilisez ce bouton pour accĂ©der Ă  la pleine mesure de le calque sĂ©lectionnĂ©.",'zoomlayer.selectLayerTitle':"Zoom sur une couche",'zoomlayer.selectLayerText':"No de calque sĂ©lectionnĂ©",'layerStylesWindowTitle':"Layer styles",'layerStylesPreviewTitle':"Preview legend",'selectStyleButton':"Select style",'WMSTimeWindowTitle':"WMS Time",'WMSTimePositionTitle':"Time position",'WMSTimeMovieTitle':"Animation",'wmsTimeUpdateButtonText':"Apply",'WMSTimeAnimationCheckbox':"Play a movie loop spanning the last ${steps} time positions",'copyrightMap':'Source: <a href="http://kadaster.nl" target="_blank">Kadaster</a>'};OpenLayers.Util.extend(OpenLayers.Lang.fr,GeoNetwork.lang.fr);if(!window.GeoNetwork){window.GeoNetwork={};}
if(!GeoNetwork.Control){GeoNetwork.Control={};}
GeoNetwork.Control.CursorPos=OpenLayers.Class(OpenLayers.Control.MousePosition,{xelement:null,yelement:null,initialize:function(options){OpenLayers.Control.MousePosition.prototype.initialize.apply(this,arguments);},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.redraw();},redraw:function(evt){var lonLat;if(evt==null){lonLat=new OpenLayers.LonLat(0,0);}else{if(this.lastXy==null||Math.abs(evt.xy.x-this.lastXy.x)>this.granularity||Math.abs(evt.xy.y-this.lastXy.y)>this.granularity)
{this.lastXy=evt.xy;return;}
lonLat=this.map.getLonLatFromPixel(evt.xy);if(!lonLat){return;}
this.lastXy=evt.xy;}
if(this.xelement){this.xelement.dom.value=lonLat.lon.toFixed(this.numdigits);}
if(this.yelement){this.yelement.dom.value=lonLat.lat.toFixed(this.numdigits);}},CLASS_NAME:"GeoNetwork.Control.CursorPos"});Ext.namespace('GeoNetwork');GeoNetwork.BaseWindow=function(config){Ext.apply(this,config);GeoNetwork.BaseWindow.superclass.constructor.call(this);};Ext.extend(GeoNetwork.BaseWindow,Ext.Window,{map:null,initComponent:function(){GeoNetwork.BaseWindow.superclass.initComponent.call(this);this.constrainHeader=true;this.collapsible=true;this.layout='fit';this.plain=true;this.stateful=false;}});Ext.namespace('GeoNetwork');GeoNetwork.GazetteerWindow=function(config){Ext.apply(this,config);GeoNetwork.GazetteerWindow.superclass.constructor.call(this);};Ext.extend(GeoNetwork.GazetteerWindow,GeoNetwork.BaseWindow,{initComponent:function(){GeoNetwork.GazetteerWindow.superclass.initComponent.call(this);this.title=this.title||OpenLayers.i18n("GazetteerWindowTitle");this.width=350;this.height=500;this.add({xtype:'gn_searchoption',map:this.map,url:"geo-coder-url",typename:"adressen",baseParams:{countryCode:'NL'},searchfields:[{'type':'PROPERTYISLIKE','propertyname':'postalCode','label':OpenLayers.i18n("gazetteerAddressField1Label")},{'type':'PROPERTYISLIKE','propertyname':'street.0','label':OpenLayers.i18n("gazetteerAddressField2Label")},{'type':'PROPERTYISLIKE','propertyname':'building.number','label':OpenLayers.i18n("gazetteerAddressField5Label")},{'type':'PROPERTYISLIKE','propertyname':'place.Municipality','label':OpenLayers.i18n("gazetteerAddressField3Label")},{'type':'PROPERTYISLIKE','propertyname':'place.MunicipalitySubdivision','label':OpenLayers.i18n("gazetteerAddressField4Label")}]});this.doLayout();}});if(!window.GeoNetwork){window.GeoNetwork={};}
if(!GeoNetwork.Control){GeoNetwork.Control={};}
GeoNetwork.Control.ExtentBox=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,minxelement:null,minyelement:null,maxxelement:null,maxyelement:null,initialize:function(options){OpenLayers.Control.prototype.initialize.apply(this,arguments);this.handler=new OpenLayers.Handler.RegularPolygon(this,{create:this.startBox,done:this.endBox},{irregular:true});},setMap:function(map){OpenLayers.Control.prototype.setMap.apply(this,arguments);},startBox:function(){this.getOrCreateLayer();this.vectorLayer.destroyFeatures();},endBox:function(){var bounds=this.handler.feature.geometry.getBounds();var polFeature=new OpenLayers.Feature.Vector(bounds.toGeometry(),null,this.vectorLayerStyle);this.vectorLayer.addFeatures([polFeature]);this.vectorLayer.refresh();var mapProj=this.map.getProjectionObject();var wgs84=new OpenLayers.Projection("WGS84");var minxy=new OpenLayers.LonLat(bounds.left,bounds.bottom).transform(mapProj,wgs84);var maxxy=new OpenLayers.LonLat(bounds.right,bounds.top).transform(mapProj,wgs84);if(this.minxelement){this.minxelement.dom.value=minxy.lon.toFixed(4);}
if(this.maxxelement){this.maxxelement.dom.value=maxxy.lon.toFixed(4);}
if(this.minyelement){this.minyelement.dom.value=minxy.lat.toFixed(4);}
if(this.maxyelement){this.maxyelement.dom.value=maxxy.lat.toFixed(4);}},updateMap:function(){if((!this.minxelement)||(!this.maxxelement)||(!this.minxelement)||(!this.maxxelement)){return;}
var mapProj=this.map.getProjectionObject();var wgs84=new OpenLayers.Projection("WGS84");var minMapxy=new OpenLayers.LonLat(this.map.getExtent().left,this.map.getExtent().bottom).transform(mapProj,wgs84);var maxMapxy=new OpenLayers.LonLat(this.map.getExtent().right,this.map.getExtent().top).transform(mapProj,wgs84);var aux=parseFloat(this.minxelement.dom.value);if(isNaN(aux)){this.minxelement.dom.value=minMapxy.lon;}
if(this.minxelement.dom.value<minMapxy.lon){this.minxelement.dom.value=minMapxy.lon;}
aux=parseFloat(this.maxxelement.dom.value);if(isNaN(aux)){this.maxxelement.dom.value=maxMapxy.lon;}
if(this.maxxelement.dom.value>maxMapxy.lon){this.maxxelement.dom.value=maxMapxy.lon;}
if(this.maxxelement.dom.value<this.minxelement.dom.value){this.maxxelement.dom.value=maxMapxy.lon;}
aux=parseFloat(this.minyelement.dom.value);if(isNaN(aux)){this.minyelement.dom.value=minMapxy.lat;}
if(this.minyelement.dom.value<minMapxy.lat){this.minyelement.dom.value=minMapxy.lat;}
aux=parseFloat(this.maxyelement.dom.value);if(isNaN(aux)){this.maxyelement.dom.value=maxMapxy.lat;}
if(this.maxyelement.dom.value<maxMapxy.lat){this.maxyelement.dom.value=maxMapxy.lat;}
if(this.maxyelement.dom.value<this.minyelement.dom.value){this.maxyelement.dom.value=maxMapxy.lat;}
this.minxelement.dom.value=parseFloat(this.minxelement.dom.value).toFixed(4);this.maxxelement.dom.value=parseFloat(this.maxxelement.dom.value).toFixed(4);this.minyelement.dom.value=parseFloat(this.minyelement.dom.value).toFixed(4);this.maxyelement.dom.value=parseFloat(this.maxyelement.dom.value).toFixed(4);this.vectorLayer.destroyFeatures();var minxy=new OpenLayers.LonLat(this.minxelement.dom.value,this.minyelement.dom.value).transform(wgs84,mapProj);var maxxy=new OpenLayers.LonLat(this.maxxelement.dom.value,this.maxyelement.dom.value).transform(wgs84,mapProj);var bounds=new OpenLayers.Bounds();bounds.extend(minxy);bounds.extend(maxxy);var polFeature=new OpenLayers.Feature.Vector(bounds.toGeometry(),null,this.vectorLayerStyle);this.vectorLayer.addFeatures([polFeature]);this.vectorLayer.refresh();},getOrCreateLayer:function(){if(!this.vectorLayer){this.vectorLayer=this.vectorLayer||new OpenLayers.Layer.Vector("ExtentBox",{style:this.vectorLayerStyle});this.map.addLayer(this.vectorLayer);}
return this.vectorLayer;},clear:function(){if(this.vectorLayer){this.vectorLayer.destroyFeatures();}},CLASS_NAME:"GeoNetwork.Control.ExtentBox"});Ext.namespace('GeoNetwork');GeoNetwork.ScaleField=function(config){Ext.apply(this,config);GeoNetwork.ScaleField.superclass.constructor.call(this);};Ext.extend(GeoNetwork.ScaleField,Ext.form.Field,{map:null,initComponent:function(){GeoNetwork.ScaleField.superclass.initComponent.call(this);this.setValue(this.map.getScale().toFixed(0));this.map.events.register('moveend',this,this.updateScale);var handlers={specialkey:function(f,e){if(e.getKey()==e.ENTER){this.map.zoomToScale(this.getValue(),true);}}};this.on(handlers);},updateScale:function(){var scale=this.map.getScale();this.setValue(scale.toFixed(0));},onDestroy:function(){this.map.events.unregister("moveend",this,this.updateScale);GeoNetwork.ScaleField.superclass.onDestroy.call(this);}});Ext.reg('gn_scalefield',GeoNetwork.ScaleField);if(!window.GeoNetwork){window.GeoNetwork={};}
if(!GeoNetwork.Format){GeoNetwork.Format={};}
GeoNetwork.Format.XLSLUS=OpenLayers.Class(OpenLayers.Format.XML,{defaultVersion:"1.1.0",version:null,parser:null,initialize:function(options){OpenLayers.Format.XML.prototype.initialize.apply(this,[options]);},writeGeocodeRequest:function(address,options){var version=(options&&options.version)||this.version||this.defaultVersion;if(!this.parser||this.parser.VERSION!=version){var format=GeoNetwork.Format.XLSLUS["v"+version.replace(/\./g,"_")];if(!format){throw"Can't find a XLSLUS parser for version "+
version;}
this.parser=new format(options);}
var root=this.parser.writeGeocodeRequest(address);return OpenLayers.Format.XML.prototype.write.apply(this,[root]);},writeReverseGeocodeRequest:function(position,options){var version=(options&&options.version)||this.version||this.defaultVersion;if(!this.parser||this.parser.VERSION!=version){var format=GeoNetwork.Format.XLSLUS["v"+version.replace(/\./g,"_")];if(!format){throw"Can't find a XLSLUS parser for version "+
version;}
this.parser=new format(options);}
var root=this.parser.writeReverseGeocodeRequest(position);return OpenLayers.Format.XML.prototype.write.apply(this,[root]);},read:function(data,options){if(typeof data=="string"){data=OpenLayers.Format.XML.prototype.read.apply(this,[data]);}
var root=data.documentElement;var version=this.version;if(!version){version=root.getAttribute("version");if(!version){version=this.defaultVersion;}}
if(!this.parser||this.parser.VERSION!=version){var format=GeoNetwork.Format.XLSLUS["v"+version.replace(/\./g,"_")];if(!format){throw"Can't find a XLSLUS parser for version "+
version;}
this.parser=new format(options);}
var xlslus=this.parser.read(data);return xlslus;},CLASS_NAME:"GeoNetwork.Format.XLSLUS"});if(!window.GeoNetwork){window.GeoNetwork={};}
if(!GeoNetwork.Format){GeoNetwork.Format={};}
GeoNetwork.Format.XLSAddress=OpenLayers.Class({addressee:null,countryCode:null,freeFormAddress:null,street:null,building:null,place:null,postalCode:null,initialize:function(countryCode,options){this.street=[];this.place={CountrySubdivision:null,CountrySecondarySubdivision:null,Municipality:null,MunicipalitySubdivision:null};OpenLayers.Util.extend(this,options);this.countryCode=countryCode;},format:function(){if(this.freeFormAddress){return this.freeFormAddress;}else{return this.getStreetText()+' '+this.getBuildingText()+' '+this.getPostalCodeText()+' '+this.getPlaceText();}},getStreetText:function(address){if(!address){address=this;}
var text='';for(var si=0;si<address.street.length;si++){if(text!==''){text+=' ';}
text+=address.formatObject(address.street[si],GeoNetwork.Format.XLSAddress.formattedStreetProperties);}
return text;},getBuildingText:function(address){if(!address){address=this;}
return address.formatObject(address.building,GeoNetwork.Format.XLSAddress.formattedBuildingProperties);},getPostalCodeText:function(address){if(!address){address=this;}
return!address.postalCode?'':address.postalCode;},getPlaceText:function(address){if(!address){address=this;}
return address.formatObject(address.place,GeoNetwork.Format.XLSAddress.formattedPlaceProperties);},formatObject:function(obj,props){if(!obj){return'';}
var text='';if(typeof obj=='string'){text=obj;}else if(props instanceof Array){for(var pi=0;pi<props.length;pi++){if(obj[props[pi]]){if(text!==''){text+=' ';}
text+=obj[props[pi]];}}}
return text;},CLASS_NAME:"GeoNetwork.Format.XLSAddress"});GeoNetwork.Format.XLSAddress.formattedPlaceProperties=['Municipality','MunicipalitySubdivision','CountrySecondarySubdivision','CountrySubdivision'];GeoNetwork.Format.XLSAddress.formattedStreetProperties=['directionalPrefix','typePrefix','officialName','typeSuffix','directionalSuffix','muniOctant'];GeoNetwork.Format.XLSAddress.formattedBuildingProperties=['number','subdivision','buildingName'];GeoNetwork.Format.XLSLUS.v1=OpenLayers.Class(OpenLayers.Format.GML,{namespaces:{xls:"http://www.opengis.net/xls",gml:"http://www.opengis.net/gml",xsi:"http://www.w3.org/2001/XMLSchema-instance"},defaultPrefix:"xls",schemaLocation:null,addressClass:GeoNetwork.Format.XLSAddress,srsName:'EPSG:4326',initialize:function(options){OpenLayers.Format.GML.prototype.initialize.apply(this,[options]);},read:function(data){var xlslus=[];this.readChildNodes(data,xlslus);return xlslus;},readers:{"xls":{"GeocodeResponse":function(node,xlslus){this.readChildNodes(node,xlslus);},"GeocodeResponseList":function(node,xlslus){var responseList={};responseList.features=[];responseList.numberOfGeocodedAddresses=node.getAttribute("numberOfGeocodedAddresses");this.readChildNodes(node,responseList);xlslus.push(responseList);},"GeocodedAddress":function(node,responseList){var feature=new OpenLayers.Feature.Vector();this.readChildNodes(node,feature);responseList.features.push(feature);},"GeocodeMatchCode":function(node,feature){var matchCode={};matchCode.accuracy=node.getAttribute("accuracy");matchCode.matchType=node.getAttribute("matchType");feature.attributes.geocodeMatchCode=matchCode;},"ReverseGeocodeResponse":function(node,xlslus){this.readChildNodes(node,xlslus);},"ReverseGeocodedLocation":function(node,xlslus){var feature=new OpenLayers.Feature.Vector();this.readChildNodes(node,feature);xlslus.push(feature);},"SearchCentreDistance":function(node,feature){var distance={};distance.value=node.getAttribute("value");distance.accuracy=node.getAttribute("accuracy");distance.uom=node.getAttribute("uom");if(!distance.uom){distance.uom="M";}
feature.attributes.searchCentreDistance=distance;},"Address":function(node,feature){var countryCode=node.getAttribute("countryCode");var address=new this.addressClass(countryCode);address.addressee=node.getAttribute("addressee");this.readChildNodes(node,address);feature.attributes.address=address;},"freeFormAddress":function(node,address){address.freeFormAddress=this.getChildValue(node);},"StreetAddress":function(node,address){this.readChildNodes(node,address);},"Building":function(node,address){var building={};building.number=node.getAttribute("number");building.subdivision=node.getAttribute("subdivision");building.buildingName=node.getAttribute("buildingName");address.building=building;},"Street":function(node,address){var street={};street.name=this.getChildValue(node);street.directionalPrefix=node.getAttribute("directionalPrefix");street.typePrefix=node.getAttribute("typePrefix");street.officialName=node.getAttribute("officialName");street.typeSuffix=node.getAttribute("typeSuffix");street.directionalSuffix=node.getAttribute("directionalSuffix");street.muniOctant=node.getAttribute("muniOctant");if(!street.directionalPrefix&&!street.typePrefix&&!street.officialName&&!street.typeSuffix&&!street.directionalSuffix&&!street.muniOctant){street=street.name;}
address.street.push(street);},"Place":function(node,address){var type=node.getAttribute("type");address.place[type]=this.getChildValue(node);},"PostalCode":function(node,address){address.postalCode=this.getChildValue(node);}},"gml":{"Point":function(node,feature){var parser=this.parseGeometry.point;var geometry=parser.apply(this,[node]);if(this.internalProjection&&this.externalProjection){geometry.transform(this.externalProjection,this.internalProjection);}
feature.geometry=geometry;}}},writeGeocodeRequest:function(address){return this.writers.xls.GeocodeRequest.apply(this,[address]);},writeReverseGeocodeRequest:function(position){return this.writers.xls.ReverseGeocodeRequest.apply(this,[position]);},writers:{"xls":{"GeocodeRequest":function(address){var root=this.createElementNSPlus("GeocodeRequest",{attributes:{"xsi:schemaLocation":this.schemaLocation}});if(!(address instanceof Array)){address=[address];}
for(var i=0;i<address.length;i++){this.writeNode(root,"Address",address[i]);}
return root;},"ReverseGeocodeRequest":function(position){var root=this.createElementNSPlus("ReverseGeocodeRequest",{attributes:{"xsi:schemaLocation":this.schemaLocation}});this.writeNode(root,"Position",position);return root;},"Address":function(address){var node=this.createElementNSPlus("Address",{attributes:{"countryCode":address.countryCode,"addressee":address.addressee}});if(address.freeFormAddress){this.writeNode(node,"freeFormAddess",address.freeFormAddress);}else{this.writeNode(node,"StreetAddress",address);if(address.place){var classification=GeoNetwork.Format.XLSLUS.v1.NamedPlaceClassification;for(var i=0;i<classification.length;i++){if(address.place[classification[i]]){var placeNode=this.writeNode(node,"Place",address.place[classification[i]]);this.setAttributes(placeNode,{"type":classification[i]});}}}
if(address.postalCode){this.writeNode(node,"PostalCode",address.postalCode);}}
return node;},"freeFormAddress":function(freeFormAddress){return this.createElementNSPlus("freeFormAddress",{value:freeFormAddress});},"StreetAddress":function(address){var node=this.createElementNSPlus("StreetAddress",{});if(address.building){this.writeNode(node,"Building",address.building);}
var street=address.street;if(!(street instanceof Array)){street=[street];}
for(var i=0;i<street.length;i++){this.writeNode(node,"Street",street[i]);}
return node;},"Building":function(building){return this.createElementNSPlus("Building",{attributes:{"number":building.number,"subdivision":building.subdivision,"buildingName":building.buildingName}});},"Street":function(street){if(typeof street=='string'){return this.createElementNSPlus("Street",{value:street});}else if(street&&street.name){return this.createElementNSPlus("Street",{value:street.name});}else{return this.createElementNSPlus("Street",{attributes:{"directionalPrefix":street.directionalPrefix,"typePrefix":street.typePrefix,"officialName":street.officialName,"typeSuffix":street.typeSuffix,"directionalSuffix":street.directionalSuffix,"muniOctant":street.muniOctant}});}},"Place":function(place){return this.createElementNSPlus("Place",{value:place});},"PostalCode":function(postalCode){return this.createElementNSPlus("PostalCode",{value:postalCode});},"Position":function(position){var node=this.createElementNSPlus("Position",{attributes:{"levelOfConf":position.levelOfConf}});if(position.CLASS_NAME&&position.CLASS_NAME=="OpenLayers.Geometry.Point"){position={point:position};}
this.writeNode(node,"gml:Point",position.point);if(position.shape){if(position.shape.CLASS_NAME&&position.shape.CLASS_NAME=="OpenLayers.Geometry.Polygon"){this.writeNode(node,"gml:Polygon",position.shape);}else if(position.shape.CLASS_NAME&&position.shape.CLASS_NAME=="OpenLayers.Geometry.MultiPolygon"){this.writeNode(node,"gml:MultiPolygon",position.shape);}}
if(position.qop){}
if(position.time){}
if(position.speed){}
if(position.direction){}
return node;}},"gml":{"Point":function(point){var node=this.createElementNSPlus("gml:Point",{attributes:{srsName:this.srsName}});this.writeNode(node,"gml:pos",point);return node;},"pos":function(point){return this.createElementNSPlus("gml:pos",{value:point.x+' '+point.y});},"CircleByCenterPoint":function(geometry){},"Polygon":function(geometry){return this.buildGeometryNode(geometry);},"MultiPolygon":function(geometry){return this.buildGeometryNode(geometry);}}},getNamespacePrefix:function(uri){var prefix=null;if(uri===null){prefix=this.namespaces[this.defaultPrefix];}else{var gotPrefix=false;for(prefix in this.namespaces){if(this.namespaces[prefix]==uri){gotPrefix=true;break;}}
if(!gotPrefix){prefix=null;}}
return prefix;},readChildNodes:function(node,obj){var children=node.childNodes;var child,group,reader,prefix,local;for(var i=0;i<children.length;++i){child=children[i];if(child.nodeType==1){prefix=this.getNamespacePrefix(child.namespaceURI);local=child.nodeName.split(":").pop();group=this.readers[prefix];if(group){reader=group[local];if(reader){reader.apply(this,[child,obj]);}}}}},writeNode:function(parent,name,obj){var prefix,local;var split=name.indexOf(":");if(split>0){prefix=name.substring(0,split);local=name.substring(split+1);}else{prefix=this.getNamespacePrefix(parent.namespaceURI);local=name;}
var child=this.writers[prefix][local].apply(this,[obj]);parent.appendChild(child);return child;},createElementNSPlus:function(name,options){options=options||{};var loc=name.indexOf(":");var uri=options.uri||this.namespaces[options.prefix];if(!uri){loc=name.indexOf(":");uri=this.namespaces[name.substring(0,loc)];}
if(!uri){uri=this.namespaces[this.defaultPrefix];}
var node=this.createElementNS(uri,name);if(options.attributes){this.setAttributes(node,options.attributes);}
if(options.value){node.appendChild(this.createTextNode(options.value));}
return node;},setAttributes:function(node,obj){var value,uri;for(var name in obj){if(obj[name]){value=obj[name].toString();uri=this.namespaces[name.substring(0,name.indexOf(":"))]||null;this.setAttributeNS(node,uri,name,value);}}},CLASS_NAME:"GeoNetwork.Format.XLSLUS.v1"});GeoNetwork.Format.XLSLUS.v1.NamedPlaceClassification=["CountrySubDivision","CountrySecondarySubdivision","Municipality","MunicipalitySubdivision"];GeoNetwork.Format.XLSLUS.v1_1_0=OpenLayers.Class(GeoNetwork.Format.XLSLUS.v1,{VERSION:"1.1.0",schemaLocation:"http://www.opengis.net/xls http://schemas.opengis.net/ols/1.1.0/LocationUtilityService.xsd",initialize:function(options){GeoNetwork.Format.XLSLUS.v1.prototype.initialize.apply(this,[options]);},CLASS_NAME:"GeoNetwork.Format.XLSLUS.v1_1_0"});Ext.namespace('GeoNetwork','GeoNetwork.tree');GeoNetwork.tree.WMSListGenerator=function(config){Ext.apply(this,config);if(this.node&&this.wmsStore){this.createWMSList();}};GeoNetwork.tree.WMSListGenerator.prototype={node:null,wmsStore:null,click:null,scope:null,createWMSList:function(){this.wmsStore.each(this.appendRecord,this);},appendRecord:function(record){var wmsNode=new Ext.tree.TreeNode({url:record.get('url'),text:record.get('title'),cls:'folder',leaf:false});wmsNode.appendChild(new Ext.tree.TreeNode({text:'',dummy:true}));wmsNode.addListener("beforeexpand",this.addNodesFromWMS,this);this.node.appendChild(wmsNode);},replaceNode:function(node){this.currentNode.parentNode.replaceChild(node,this.currentNode);node.ui.afterLoad();node.expand();},addNodesFromWMS:function(node){if(node.firstChild&&node.firstChild.attributes.dummy){node.removeChild(node.firstChild);node.ui.beforeLoad();this.scope.currentNode=node;var treeGenerator=new GeoNetwork.tree.WMSTreeGenerator({click:this.click,callback:this.replaceNode,scope:this.scope});treeGenerator.loadWMS(node.attributes.url);}}};Ext.namespace('GeoNetwork','GeoNetwork.data');GeoNetwork.data.XLSReader=function(meta,recordType){meta=meta||{};GeoNetwork.data.XLSReader.superclass.constructor.call(this,meta,recordType||meta.fields);};Ext.extend(GeoNetwork.data.XLSReader,Ext.data.DataReader,{read:function(response){var responseText=response.responseText;if(responseText&&(responseText.indexOf('FAILED')!=-1||responseText.indexOf('Exception')!=-1||responseText.indexOf('No more credits')!=-1)){throw{message:"Server exception received instead of XLS LUS response."};}
var features;var xlslusFormat=new GeoNetwork.Format.XLSLUS();var xlslus=xlslusFormat.read(response.responseXML||response.responseText);features=xlslus;if(xlslus.length>0&&xlslus[0].features){features=xlslus[0].features;}
var records=[];var distinct=this.meta.distinct;for(var i=0;i<features.length;i++){var feature=features[i];var text='';if(feature.attributes.address){text=feature.attributes.address.format();}
var bounds=null;if(feature.geometry){bounds=feature.geometry.getBounds();}
var id=feature.fid||feature.id;var values={};values.value=id;values.text=text;values.bbox=bounds;var record;if(distinct){if(!this.recordExists(records,text)){record=new Ext.data.Record(values,id);records.push(record);}}else{record=new Ext.data.Record(values,id);records.push(record);}
feature.destroy();}
return this.readRecords(records);},recordExists:function(array,text){var exists=false;for(var i=0;i<array.length;i++){if(array[i].get('text')==text){exists=true;}}
return exists;},readRecords:function(o){return{success:true,records:o};}});Ext.namespace('GeoNetwork');GeoNetwork.AddWmsLayerWindow=function(config){Ext.apply(this,config);GeoNetwork.AddWmsLayerWindow.superclass.constructor.call(this);};Ext.extend(GeoNetwork.AddWmsLayerWindow,GeoNetwork.BaseWindow,{initComponent:function(){GeoNetwork.AddWmsLayerWindow.superclass.initComponent.call(this);this.title=this.title||OpenLayers.i18n("addWMSWindowTitle");this.width=600;this.height=500;var ds=new Ext.data.Store({data:GeoNetwork.WMSList,reader:new Ext.data.ArrayReader({},[{name:'title'},{name:'url'}])});var tabs=new Ext.TabPanel({border:false,activeTab:0,deferredRender:false,tabPosition:'top',items:[{title:OpenLayers.i18n("WMSBrowserTab3"),xtype:'gn_wmsbrowserpanel',mode:GeoNetwork.wms.BrowserPanel.ADDWMS,map:this.map}]});this.add(tabs);this.doLayout();}});Ext.ns('Ext.ux.form');Ext.ux.form.DateTime=Ext.extend(Ext.form.Field,{defaultAutoCreate:{tag:'input',type:'hidden'},timeWidth:100,dtSeparator:' ',hiddenFormat:'Y-m-d H:i:s',otherToNow:true,timePosition:'right',dateFormat:'m/d/y',timeFormat:'g:i A',initComponent:function(){Ext.ux.form.DateTime.superclass.initComponent.call(this);var dateConfig=Ext.apply({},{id:this.id+'-date',format:this.dateFormat||Ext.form.DateField.prototype.format,width:this.timeWidth,selectOnFocus:this.selectOnFocus,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.dateConfig);this.df=new Ext.form.DateField(dateConfig);this.df.ownerCt=this;delete(this.dateFormat);var timeConfig=Ext.apply({},{id:this.id+'-time',format:this.timeFormat||Ext.form.TimeField.prototype.format,width:this.timeWidth,selectOnFocus:this.selectOnFocus,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.timeConfig);this.tf=new Ext.form.TimeField(timeConfig);this.tf.ownerCt=this;delete(this.timeFormat);this.relayEvents(this.df,['focus','specialkey','invalid','valid']);this.relayEvents(this.tf,['focus','specialkey','invalid','valid']);},onRender:function(ct,position){if(this.isRendered){return;}
Ext.ux.form.DateTime.superclass.onRender.call(this,ct,position);var t;if('below'===this.timePosition||'bellow'===this.timePosition){t=Ext.DomHelper.append(ct,{tag:'table',style:'border-collapse:collapse',children:[{tag:'tr',children:[{tag:'td',style:'padding-bottom:1px',cls:'ux-datetime-date'}]},{tag:'tr',children:[{tag:'td',cls:'ux-datetime-time'}]}]},true);}
else{t=Ext.DomHelper.append(ct,{tag:'table',style:'border-collapse:collapse',children:[{tag:'tr',children:[{tag:'td',style:'padding-right:4px',cls:'ux-datetime-date'},{tag:'td',cls:'ux-datetime-time'}]}]},true);}
this.tableEl=t;this.wrap=t.wrap({cls:'x-form-field-wrap'});this.wrap.on("mousedown",this.onMouseDown,this,{delay:10});this.df.render(t.child('td.ux-datetime-date'));this.tf.render(t.child('td.ux-datetime-time'));if(Ext.isIE&&Ext.isStrict){t.select('input').applyStyles({top:0});}
this.on('specialkey',this.onSpecialKey,this);this.df.el.swallowEvent(['keydown','keypress']);this.tf.el.swallowEvent(['keydown','keypress']);if('side'===this.msgTarget){var elp=this.el.findParent('.x-form-element',10,true);this.errorIcon=elp.createChild({cls:'x-form-invalid-icon'});this.df.errorIcon=this.errorIcon;this.tf.errorIcon=this.errorIcon;}
this.el.dom.name=this.hiddenName||this.name||this.id;this.df.el.dom.removeAttribute("name");this.tf.el.dom.removeAttribute("name");this.isRendered=true;this.updateHidden();},adjustSize:Ext.BoxComponent.prototype.adjustSize,alignErrorIcon:function(){this.errorIcon.alignTo(this.tableEl,'tl-tr',[2,0]);},initDateValue:function(){this.dateValue=this.otherToNow?new Date():new Date(1970,0,1,0,0,0);},clearInvalid:function(){this.df.clearInvalid();this.tf.clearInvalid();},markInvalid:function(msg){this.df.markInvalid(msg);this.tf.markInvalid(msg);},beforeDestroy:function(){if(this.isRendered){this.wrap.removeAllListeners();this.wrap.remove();this.tableEl.remove();this.df.destroy();this.tf.destroy();}},disable:function(){if(this.isRendered){this.df.disabled=this.disabled;this.df.onDisable();this.tf.onDisable();}
this.disabled=true;this.df.disabled=true;this.tf.disabled=true;this.fireEvent("disable",this);return this;},enable:function(){if(this.rendered){this.df.onEnable();this.tf.onEnable();}
this.disabled=false;this.df.disabled=false;this.tf.disabled=false;this.fireEvent("enable",this);return this;},focus:function(){this.df.focus();},getPositionEl:function(){return this.wrap;},getResizeEl:function(){return this.wrap;},getValue:function(){return this.dateValue?new Date(this.dateValue):'';},isValid:function(){return this.df.isValid()&&this.tf.isValid();},isVisible:function(){return this.df.rendered&&this.df.getActionEl().isVisible();},onBlur:function(f){if(this.wrapClick){f.focus();this.wrapClick=false;}
if(f===this.df){this.updateDate();}
else{this.updateTime();}
this.updateHidden();(function(){if(!this.df.hasFocus&&!this.tf.hasFocus){var v=this.getValue();if(String(v)!==String(this.startValue)){this.fireEvent("change",this,v,this.startValue);}
this.hasFocus=false;this.fireEvent('blur',this);}}).defer(100,this);},onFocus:function(){if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.fireEvent("focus",this);}},onMouseDown:function(e){if(!this.disabled){this.wrapClick='td'===e.target.nodeName.toLowerCase();}},onSpecialKey:function(t,e){var key=e.getKey();if(key===e.TAB){if(t===this.df&&!e.shiftKey){e.stopEvent();this.tf.focus();}
if(t===this.tf&&e.shiftKey){e.stopEvent();this.df.focus();}}
if(key===e.ENTER){this.updateValue();}},setDate:function(date){this.df.setValue(date);},setTime:function(date){this.tf.setValue(date);},setSize:function(w,h){if(!w){return;}
if('below'===this.timePosition){this.df.setSize(w,h);this.tf.setSize(w,h);if(Ext.isIE){this.df.el.up('td').setWidth(w);this.tf.el.up('td').setWidth(w);}}
else{this.df.setSize(w-this.timeWidth-4,h);this.tf.setSize(this.timeWidth,h);if(Ext.isIE){this.df.el.up('td').setWidth(w-this.timeWidth-4);this.tf.el.up('td').setWidth(this.timeWidth);}}},setValue:function(val){if(!val&&true===this.emptyToNow){this.setValue(new Date());return;}
else if(!val){this.setDate('');this.setTime('');this.updateValue();return;}
if('number'===typeof val){val=new Date(val);}
else if('string'===typeof val&&this.hiddenFormat){val=Date.parseDate(val,this.hiddenFormat)}
val=val?val:new Date(1970,0,1,0,0,0);var da,time;if(val instanceof Date){this.setDate(val);this.setTime(val);this.dateValue=new Date(val);}
else{da=val.split(this.dtSeparator);this.setDate(da[0]);if(da[1]){if(da[2]){da[1]+=da[2];}
this.setTime(da[1]);}}
this.updateValue();},setVisible:function(visible){if(visible){this.df.show();this.tf.show();}else{this.df.hide();this.tf.hide();}
return this;},show:function(){return this.setVisible(true);},hide:function(){return this.setVisible(false);},updateDate:function(){var d=this.df.getValue();if(d){if(!(this.dateValue instanceof Date)){this.initDateValue();if(!this.tf.getValue()){this.setTime(this.dateValue);}}
this.dateValue.setMonth(0);this.dateValue.setFullYear(d.getFullYear());this.dateValue.setMonth(d.getMonth(),d.getDate());}
else{this.dateValue='';this.setTime('');}},updateTime:function(){var t=this.tf.getValue();if(t&&!(t instanceof Date)){t=Date.parseDate(t,this.tf.format);}
if(t&&!this.df.getValue()){this.initDateValue();this.setDate(this.dateValue);}
if(this.dateValue instanceof Date){if(t){this.dateValue.setHours(t.getHours());this.dateValue.setMinutes(t.getMinutes());this.dateValue.setSeconds(t.getSeconds());}
else{this.dateValue.setHours(0);this.dateValue.setMinutes(0);this.dateValue.setSeconds(0);}}},updateHidden:function(){if(this.isRendered){var value=this.dateValue instanceof Date?this.dateValue.format(this.hiddenFormat):'';this.el.dom.value=value;}},updateValue:function(){this.updateDate();this.updateTime();this.updateHidden();return;},validate:function(){return this.df.validate()&&this.tf.validate();},renderer:function(field){var format=field.editor.dateFormat||Ext.ux.form.DateTime.prototype.dateFormat;format+=' '+(field.editor.timeFormat||Ext.ux.form.DateTime.prototype.timeFormat);var renderer=function(val){var retval=Ext.util.Format.date(val,format);return retval;};return renderer;}});Ext.reg('xdatetime',Ext.ux.form.DateTime);Ext.namespace('GeoNetwork');GeoNetwork.TimeSelector=function(config){Ext.apply(this,config);GeoNetwork.TimeSelector.superclass.constructor.call(this);};Ext.extend(GeoNetwork.TimeSelector,Ext.form.FormPanel,{layer:null,numberOfSteps:12,border:false,originalFormat:null,initComponent:function(){this.buttons=[new Ext.Button({text:OpenLayers.i18n('wmsTimeUpdateButtonText'),handler:this.updateValue,scope:this})];GeoNetwork.TimeSelector.superclass.initComponent.call(this);},beforeDestroy:function(){this.updateValue();GeoNetwork.TimeSelector.superclass.beforeDestroy.call(this);},setLayer:function(layer){this.layer=layer;this.originalFormat=this.layer.params.FORMAT||this.layer.params.format;if(this.layer.dimensions&&this.layer.dimensions.time){this.add(new Ext.form.Label({text:OpenLayers.i18n('WMSTimePositionTitle')}));this.add(new Ext.BoxComponent({height:10}));this.add(this.createDateTimeField());if(this.layer.dimensions.time.multipleVal){this.add(new Ext.BoxComponent({height:25}));this.add(new Ext.form.Label({text:OpenLayers.i18n('WMSTimeMovieTitle')}));this.add(new Ext.BoxComponent({height:10}));this.add({xtype:'checkbox',listeners:{check:{fn:this.playMovie,scope:this}},hideLabel:true,boxLabel:OpenLayers.i18n('WMSTimeAnimationCheckbox',{steps:this.numberOfSteps})});}
this.doLayout();}},getInterval:function(interval){return parseInt(interval.substring(interval.indexOf("PT")+2,interval.indexOf("M")));},playMovie:function(a,checked){if(checked){var max,interval,timeRange;if(this.layer.dimensions.time.values&&this.layer.dimensions.time.values.length>0){var values=this.layer.dimensions.time.values[0].split("/");max=values[1];interval=this.getInterval(values[2]);var start=Date.parseDate(max,"c");start=start-(1000*60*interval*this.numberOfSteps);start=new Date(start);timeRange=this.formatTimeAsUTC(start)+'/'+max;}
this.layer.mergeNewParams({'TIME':timeRange,'FORMAT':'image/gif'});}else{this.updateValue();}},formatTimeAsUTC:function(dateObj){var dt=dateObj.dateFormat("c");var utcHours=''+dateObj.getUTCHours();if(utcHours.length<2){utcHours='0'+utcHours;}
dt=dt.replace(dt.substring(dt.indexOf('T'),dt.indexOf('T')+3),'T'+utcHours);dt=dt.replace(dt.substring(dt.indexOf('+'),dt.indexOf('+')+6),'Z');return dt;},updateValue:function(){this.layer.mergeNewParams({'TIME':this.formatTimeAsUTC(this.getForm().findField('current').getValue()),'FORMAT':this.originalFormat});},createDateTimeField:function(){var min,max,interval;if(this.layer.dimensions.time.values&&this.layer.dimensions.time.values.length>0){var values=this.layer.dimensions.time.values[0].split("/");min=values[0];max=values[1];interval=this.getInterval(values[2]);}
return new Ext.ux.form.DateTime({hiddenFormat:"c",dateFormat:null,hideLabel:true,name:'current',dateConfig:{minValue:Date.parseDate(min,"c"),maxValue:Date.parseDate(max,"c")},timeConfig:{increment:interval},value:(this.layer.params.TIME)?this.layer.params.TIME:this.layer.dimensions.time["default"],width:340});}});Ext.reg('gn_timeselector',GeoNetwork.TimeSelector);Ext.namespace('GeoNetwork');GeoNetwork.SingletonWindowManager=function(){var windows=new Hash();var hiddenWindows=new Array();return{registerWindow:function(id,classz,configz){var window1=new classz(configz);windows.set(id,{windowz:window1,classz:classz,configz:configz});},getWindow:function(id){if(windows.get(id)){return windows.get(id).windowz;}else{return null;}},showWindow:function(id){if(windows.get(id)){if(Ext.isEmpty(Ext.getCmp(id))){var w=windows.get(id);var ww=new w.classz(w.configz);windows.set(id,{windowz:ww,classz:w.classz,configz:w.configz});}
windows.get(id).windowz.show();return true;}else{return false;}},hideAllWindows:function(){windows.each(function(data){if(data.value.windowz.isVisible()){data.value.windowz.setVisible(false);hiddenWindows[hiddenWindows.length]=data.key;}})},restoreHiddenWindows:function(){for(var index=0,len=hiddenWindows.length;index<len;++index){windows.get(hiddenWindows[index]).windowz.setVisible(true);}
hiddenWindows=new Array();}};};GeoNetwork.WindowManager=new GeoNetwork.SingletonWindowManager();Ext.namespace('GeoNetwork','GeoNetwork.wms');GeoNetwork.wms.WMSLayerInfo=function(config){Ext.apply(this,config);};GeoNetwork.wms.WMSLayerInfo.prototype={layerParams:{format:'image/png',transparent:'TRUE'},layerOptions:{ratio:1,singleTile:true,isBaseLayer:false},callback:null,scope:null,layer:null,loadWMS:function(onlineResource,layer){this.layer=layer;var params={'service':'WMS','request':'GetCapabilities','version':'1.1.1'};var paramString=OpenLayers.Util.getParameterString(params);var separator=(onlineResource.indexOf('?')>-1)?'&':'?';onlineResource+=separator+paramString;var req=Ext.Ajax.request({url:OpenLayers.Util.removeTail(OpenLayers.ProxyHost),method:'GET',params:{url:onlineResource},failure:this.processFailure,success:this.processSuccess,timeout:10000,scope:this});},processSuccess:function(response){if(!this.parser){this.parser=new GeoNetwork.Format.WMSCapabilities();}
var caps=this.parser.read(response.responseXML||response.responseText);var node;if(caps.capability){node=this.processLayers(caps,caps.capability.layers);}
Ext.callback(this.callback,this.scope,[node,this.layer]);},processFailure:function(response){Ext.callback(this.callback,this.scope,[null,this.layer]);},createWMSLayer:function(layer,url){return new OpenLayers.Layer.WMS(layer.title,url,OpenLayers.Util.extend({layers:layer.name},this.layerParams),OpenLayers.Util.extend({minScale:layer.minScale,queryable:layer.queryable,maxScale:layer.maxScale,description:layer.abstract,metadataURL:layer.metadataURL,llbbox:layer.llbbox},this.layerOptions));},processLayers:function(caps,layers){var findedLayer=null;for(var i=0,len=layers.length;i<len;++i){var lr=layers[i];try{var layerName=lr.name.split(",");if(layerName.indexOf(this.layer.params.LAYERS)!=-1){findedLayer=this.createWMSLayer(lr,caps.service.href);break;}}catch(e){}
if(typeof(lr.childLayers)!="undefined"){findedLayer=this.processLayers(caps,lr.childLayers);if(findedLayer!=null)break;}}
return findedLayer;}};if(!window.GeoNetwork){window.GeoNetwork={};}
if(!GeoNetwork.Control){GeoNetwork.Control={};}
GeoNetwork.Control.ZoomWheel=OpenLayers.Class(OpenLayers.Control,{wheelChange:OpenLayers.Control.Navigation.prototype.wheelChange,draw:function(){this.handler=new OpenLayers.Handler.MouseWheel(this,{'up':OpenLayers.Control.Navigation.prototype.wheelUp,'down':OpenLayers.Control.Navigation.prototype.wheelDown});this.activate();},CLASS_NAME:"GeoNetwork.Control.ZoomWheel"});Ext.namespace('Geonetwork','Geonetwork.print');Geonetwork.print.PrintAction=function(config){var actionParams=OpenLayers.Util.extend({iconCls:'mf-print-action',text:OpenLayers.Lang.translate('mf.print.print'),tooltip:OpenLayers.Lang.translate('mf.print.print-tooltip'),handler:this.handler,scope:this},config);Geonetwork.print.PrintAction.superclass.constructor.call(this,actionParams);OpenLayers.Util.extend(this,config);this.mask=new Ext.LoadMask(this.map.div,{msg:OpenLayers.Lang.translate('mf.print.loadingConfig')});this.initPrint();};Ext.extend(Geonetwork.print.PrintAction,Ext.Action,{handler:function(){if(!this.printing){this.mask=null;this.mask=new Ext.LoadMask(this.map.div,{msg:OpenLayers.Lang.translate('mf.print.loadingConfig')});this.print();}},fillSpec:function(printCommand){var singlePage={bbox:this.map.getExtent().toArray()};var params=printCommand.spec;params.pages.push(singlePage);params.layout=this.getCurLayout();},getCurDpi:function(){return this.config.dpis[0].value;},getCurLayout:function(){return this.config.layouts[0].name;}});OpenLayers.Util.applyDefaults(Geonetwork.print.PrintAction.prototype,mapfish.widgets.print.Base);Ext.reg('gn_printaction',Geonetwork.print.PrintAction);Ext.namespace('GeoNetwork');GeoNetwork.OpacityWindow=function(config){Ext.apply(this,config);GeoNetwork.OpacityWindow.superclass.constructor.call(this);};Ext.extend(GeoNetwork.OpacityWindow,GeoNetwork.BaseWindow,{layer:null,initComponent:function(){GeoNetwork.OpacityWindow.superclass.initComponent.call(this);this.title=this.title||OpenLayers.i18n("opacityWindowTitle");this.width=200;this.height=100;this.opacitySlider=new GeoNetwork.OpacitySlider({layer:this.layer,selModel:this.selMode});this.add(this.opacitySlider);this.doLayout();},setLayer:function(layer){this.opacitySlider.setLayer(layer);}});Ext.namespace('GeoNetwork','GeoNetwork.wms');GeoNetwork.wms.PreviewPanel=function(config){Ext.apply(this,config);GeoNetwork.wms.PreviewPanel.superclass.constructor.call(this);};Ext.extend(GeoNetwork.wms.PreviewPanel,Ext.Panel,{title:OpenLayers.i18n("WMSBrowserPreviewTitle"),baseCls:'x-plain',cls:'x-panel-title-variant1',imgCls:'preview-image',width:250,height:250,currentLayer:null,initComponent:function(){GeoNetwork.wms.PreviewPanel.superclass.initComponent.call(this);this.image=new Ext.BoxComponent({autoEl:{tag:'img','class':this.imgCls,src:Ext.BLANK_IMAGE_URL,width:this.width,height:this.height}});this.add(this.image);},hideMask:function(){if(this.mask){this.mask.hide();}},showMask:function(){if(!this.mask){this.mask=new Ext.LoadMask(this.getEl(),{msg:OpenLayers.i18n("WMSBrowserPreviewWaitMsg")});Ext.EventManager.addListener(this.image.getEl(),'load',this.hideMask,this);Ext.EventManager.addListener(this.image.getEl(),'error',this.hideMask,this);}
this.mask.show();},calculateBBOX:function(layer){var bbox;if(layer.llbbox){if(this.map.getProjection()!=='EPSG:4326'){var llbounds=OpenLayers.Bounds.fromArray(layer.llbbox);llbounds=llbounds.transform(new OpenLayers.Projection('EPSG:4326'),this.map.getProjectionObject());bbox=llbounds.toArray();}else{bbox=layer.llbbox;}}else{bbox=this.map.maxExtent.toArray();}
var center=OpenLayers.Bounds.fromArray(bbox).getCenterLonLat();if(layer.minScale>0){var midScale;if(layer.maxScale>0){midScale=(layer.maxScale+layer.minScale)/2;}
else{midScale=0.9*layer.minScale;}
var res=OpenLayers.Util.getResolutionFromScale(midScale,this.map.units);var dX=Math.round(res*this.width);var dY=Math.round(res*this.height);var cX=center.lon;var cY=center.lat;if(dX!==0&&dY!==0){bbox=[cX-0.5*dX,cY-0.5*dY,cX+0.5*dX,cY+0.5*dY];}}
return bbox.join(",");},showPreview:function(layer){if(!layer){return;}
this.showMask();var previousMap=layer.map;if(previousMap===null){layer.map=this.map;}
var url=layer.getFullRequestString({BBOX:this.calculateBBOX(layer),WIDTH:this.width,HEIGHT:this.height});if(previousMap===null){layer.map=previousMap;}
this.currentLayer=layer;this.image.getEl().dom.src=url;},showPreviewLegend:function(urlLegend){this.remove(this.image);this.image=null;this.image=new Ext.BoxComponent({autoEl:{tag:'img','class':this.imgCls,src:urlLegend}});this.add(this.image);this.doLayout();}});Ext.reg('gn_wmspreview',GeoNetwork.wms.PreviewPanel);Ext.namespace('GeoNetwork');GeoNetwork.LoadWmcWindow=function(config){Ext.apply(this,config);GeoNetwork.LoadWmcWindow.superclass.constructor.call(this);};Ext.extend(GeoNetwork.LoadWmcWindow,GeoNetwork.BaseWindow,{initComponent:function(){GeoNetwork.LoadWmcWindow.superclass.initComponent.call(this);Ext.QuickTips.init();this.title=this.title||OpenLayers.i18n("selectWMCFile.windowTitle");this.width=385;this.resizable=false;this.charset="UTF-8";var fp=new Ext.FormPanel({renderTo:'form_wmc',fileUpload:true,width:360,autoheight:true,bodyStyle:'padding: 10px 10px 0 10px;',labelWidth:0,plain:true,frame:true,border:false,defaults:{anchor:'90%',msgTarget:'side',allowBlank:false},items:[{xtype:'fileuploadfield',id:'form-file',emptyText:OpenLayers.i18n("selectWMCFile"),hideLabel:true,buttonText:'',name:'Fileconten',buttonCfg:{text:'',iconCls:'selectfile'}}],buttons:[{text:OpenLayers.i18n("selectWMCFile.loadButtonText"),scope:this,handler:function(){if(fp.getForm().isValid()){fp.getForm().submit({url:'../../wmc/load.wmc',success:this.onSuccessLoad,failure:this.onFailure,scope:this});}}},{text:OpenLayers.i18n("selectWMCFile.mergeButtonText"),scope:this,handler:function(){if(fp.getForm().isValid()){fp.getForm().submit({url:'../../wmc/load.wmc',success:this.onSuccessMerge,failure:this.onFailure,scope:this});}}}]});this.add(fp);this.doLayout();},onSuccessLoad:function(form,action){var json=action.response.responseText;var o=Ext.decode(json);if(o.success){var cb=OpenLayers.Function.bind(this.parseWMCLoad,this);OpenLayers.loadURL(o.url,null,null,cb);}else{this.onAjaxFailure();}},onSuccessMerge:function(form,action){var json=action.response.responseText;var o=Ext.decode(json);if(o.success){var cb=OpenLayers.Function.bind(this.parseWMCMerge,this);OpenLayers.loadURL(o.url,null,null,cb);}else{this.onAjaxFailure();}},onFailure:function(form,action){Ext.MessageBox.show({icon:Ext.MessageBox.ERROR,title:OpenLayers.i18n("errorTitle"),msg:OpenLayers.i18n("InvalidWMC"),buttons:Ext.MessageBox.OK});},parseWMCLoad:function(response)
{GeoNetwork.WMCManager.loadWmc(this.map,response.responseText);Ext.WindowMgr.getActive().close();},parseWMCMerge:function(response)
{GeoNetwork.WMCManager.mergeWmc(this.map,response.responseText);Ext.WindowMgr.getActive().close();}});Ext.namespace('GeoNetwork');GeoNetwork.WmsLayerMetadataWindow=function(config){Ext.apply(this,config);GeoNetwork.WmsLayerMetadataWindow.superclass.constructor.call(this);};Ext.extend(GeoNetwork.WmsLayerMetadataWindow,GeoNetwork.BaseWindow,{layer:null,initComponent:function(){GeoNetwork.WmsLayerMetadataWindow.superclass.initComponent.call(this);this.title=this.title||OpenLayers.i18n("layerInfoPanel.windowTitle");this.width=500;this.height=300;this.infoLayerPanel=new GeoNetwork.wms.LayerInfoPanel({map:this.map});this.add(this.infoLayerPanel);this.doLayout();},showLayerInfo:function(layer){this.infoLayerPanel.layer=layer;this.infoLayerPanel.onlineresource=layer.url;this.infoLayerPanel.showLayerInfo();}});Ext.namespace('GeoNetwork');GeoNetwork.LegendPanel=Ext.extend(GeoExt.LegendPanel,{initComponent:function(){GeoNetwork.LegendPanel.superclass.initComponent.call(this);},onStoreAdd:function(store,records,index){GeoNetwork.LegendPanel.superclass.onStoreAdd.apply(this,arguments);for(var i=0,len=records.length;i<len;i++){var record=records[i];if(record.get('layer').legendURL!==undefined){record.set('legendURL',record.get('layer').legendURL);}}}});Ext.reg('gn_legendpanel',GeoNetwork.LegendPanel);Ext.namespace('GeoNetwork','GeoNetwork.wms');GeoNetwork.wms.BrowserPanel=function(config){Ext.apply(this,config);GeoNetwork.wms.BrowserPanel.superclass.constructor.call(this);};GeoNetwork.wms.BrowserPanel.ADDWMS=0;GeoNetwork.wms.BrowserPanel.WMSLIST=1;Ext.extend(GeoNetwork.wms.BrowserPanel,Ext.Panel,{previewPanel:null,treePanel:null,map:null,previewCenterPoint:null,mode:GeoNetwork.wms.BrowserPanel.WMSLIST,wmsStore:null,initComponent:function(){GeoNetwork.wms.BrowserPanel.superclass.initComponent.call(this);this.layout='border';this.previewPanel=new GeoNetwork.wms.PreviewPanel({map:this.map,previewCenterPoint:this.previewCenterPoint});var root;this.treePanel=new Ext.tree.TreePanel({rootVisible:false,autoScroll:true});root=new Ext.tree.TreeNode({text:'',draggable:false,cls:'folder'});this.treePanel.setRootNode(root);var centerItems;if(this.mode==GeoNetwork.wms.BrowserPanel.ADDWMS){this.form=new Ext.form.FormPanel({labelWidth:25});var url=new Ext.form.TextField({fieldLabel:'URL',name:'wmsurl',width:250,autoHeight:true});this.form.add(url);this.form.add(new Ext.Button({id:'parse',text:OpenLayers.i18n("WMSBrowserConnectButton"),scope:this,handler:this.getWMSCaps}));this.form.add(this.treePanel);centerItems=[this.form];}else{centerItems=[this.treePanel];}
var center={autoScroll:true,region:'center',items:centerItems,split:true,width:300,minWidth:300};var east={region:'east',items:[this.previewPanel],split:true,plain:true,cls:'popup-variant1',width:250,maxSize:250,minSize:250};this.add(center);this.add(east);if(this.mode==GeoNetwork.wms.BrowserPanel.WMSLIST){this.treeGen=new GeoNetwork.tree.WMSListGenerator({click:this.nodeClick,scope:this,node:this.treePanel.getRootNode(),wmsStore:this.wmsStore});}else if(this.mode==GeoNetwork.wms.BrowserPanel.ADDWMS){this.treeGen=new GeoNetwork.tree.WMSTreeGenerator({click:this.nodeClick,callback:this.showTree,scope:this});}
this.addButton(OpenLayers.i18n("WMSBrowserAddButton"),this.addLayerToMap,this);this.doLayout();},showTree:function(node,capability){if(!node){Ext.MessageBox.alert(OpenLayers.i18n("errorTitle"),OpenLayers.i18n("WMSBrowserConnectError"));this.body.dom.style.cursor='default';}
var accessContraints=capability.service.accessConstraints;if((accessContraints)&&(accessContraints.toLowerCase()!="none")&&(accessContraints!="-")){var disclaimerWindow=new GeoNetwork.DisclaimerWindow({disclaimer:accessContraints});disclaimerWindow.show();disclaimerWindow=null;}
var root=this.treePanel.getRootNode();while(root.firstChild){root.removeChild(root.firstChild);}
if(node){this.treePanel.getRootNode().appendChild(node);}
this.treePanel.show();this.body.dom.style.cursor='default';},getWMSCaps:function(btn){var url=this.form.getForm().findField('wmsurl').getValue();url=url.replace(/^\s+|\s+$/g,'');if(url!=''){this.body.dom.style.cursor='wait';this.treeGen.loadWMS(url);}},nodeClick:function(node){this.previewPanel.showPreview(node.attributes.wmsLayer);},addLayerToMap:function(){if(this.previewPanel.currentLayer){var layerExists=GeoNetwork.OGCUtil.layerExistsInMap(this.previewPanel.currentLayer,this.map);if(!layerExists){this.previewPanel.currentLayer.events.on({"loadstart":function(){this.isLoading=true;}});this.previewPanel.currentLayer.events.on({"loadend":function(){this.isLoading=false;}});this.map.addLayers([this.previewPanel.currentLayer]);}else{Ext.MessageBox.alert(OpenLayers.i18n("infoTitle"),OpenLayers.i18n("WMSBrowserDuplicateMsg"));}}}});Ext.reg('gn_wmsbrowserpanel',GeoNetwork.wms.BrowserPanel);Ext.namespace('GeoNetwork');GeoNetwork.LayerStylesWindow=function(config){Ext.apply(this,config);GeoNetwork.LayerStylesWindow.superclass.constructor.call(this);};Ext.extend(GeoNetwork.LayerStylesWindow,GeoNetwork.BaseWindow,{initComponent:function(){GeoNetwork.LayerStylesWindow.superclass.initComponent.call(this);this.title=this.title||OpenLayers.i18n("layerStylesWindowTitle");this.width=475;this.height=300;this.layerStylesPanel=new GeoNetwork.wms.LayerStylesPanel({map:this.map});this.add(this.layerStylesPanel);this.buttons=[{text:OpenLayers.i18n("selectStyleButton"),handler:this._selectStyle,scope:this}];this.doLayout();},showLayerStyles:function(layer){this.layer=layer;this.layerStylesPanel.showLayerStyles(layer);},_selectStyle:function(){this.layer.mergeNewParams({styles:this.layerStylesPanel.selectedStyle});this.layer.legendURL=this.layerStylesPanel.selectedStyleLegendUrl;}});Ext.namespace('GeoNetwork');GeoNetwork.WMSTimeWindow=function(config){Ext.apply(this,config);GeoNetwork.WMSTimeWindow.superclass.constructor.call(this);};Ext.extend(GeoNetwork.WMSTimeWindow,GeoNetwork.BaseWindow,{initComponent:function(){GeoNetwork.WMSTimeWindow.superclass.initComponent.call(this);this.title=this.title||OpenLayers.i18n("WMSTimeWindowTitle");this.width=450;this.height=300;this.timeSelector=new GeoNetwork.TimeSelector({bodyStyle:'padding: 10px 10px 0 10px;'});this.add(this.timeSelector);this.doLayout();},setLayer:function(layer){this.timeSelector.setLayer(layer);}});Ext.namespace('GeoNetwork','GeoNetwork.CatalogueInterface');GeoNetwork.CatalogueInterface=function(){var layerLoadingMask;var layers;var getLayer=function(caps,caplayers,layer){var findedLayer=null;for(var i=0,len=caplayers.length;i<len;++i){var lr=caplayers[i];try{var layerName=lr.name.split(",");if(layerName.indexOf(layer.params.LAYERS)!=-1){findedLayer=lr;break;}}catch(e){}
if(typeof(lr.nestedLayers)!="undefined"){findedLayer=getLayer(caps,lr.nestedLayers,layer);if(findedLayer!==null){break;}}}
return findedLayer;};var processLayersSuccess=function(response){layerLoadingMask.hide();var parser=new OpenLayers.Format.WMSCapabilities();var caps=parser.read(response.responseXML||response.responseText);if(caps.capability){var accessContraints=caps.service.accessConstraints;if((accessContraints)&&(accessContraints.toLowerCase()!="none")&&(accessContraints!="-")){var disclaimerWindow=new GeoNetwork.DisclaimerWindow({disclaimer:accessContraints});disclaimerWindow.show();disclaimerWindow=null;}
if(map){for(var i=0,len=layers.length;i<len;i++){var name=layers[i][0];var url=layers[i][1];var layer=layers[i][2];var metadata_id=layers[i][3];var ol_layer=new OpenLayers.Layer.WMS(name,url,{layers:layer,format:'image/png',transparent:'TRUE',version:caps.version,language:GeoNetwork.OGCUtil.getLanguage()},{queryable:true,singleTile:true,ratio:1,buffer:0,transitionEffect:'resize',metadata_id:metadata_id});if(!GeoNetwork.OGCUtil.layerExistsInMap(ol_layer,map)){ol_layer.events.on({"loadstart":function(){this.isLoading=true;}});ol_layer.events.on({"loadend":function(){this.isLoading=false;}});var layerCap=getLayer(caps,caps.capability.layers,ol_layer);if(layerCap){ol_layer.queryable=layerCap.queryable;ol_layer.name=layerCap.title||ol_layer.name;ol_layer.llbbox=layerCap.llbbox;ol_layer.styles=layerCap.styles;ol_layer.dimensions=layerCap.dimensions;}
map.addLayer(ol_layer);}}}}};var processLayersFailure=function(response){layerLoadingMask.hide();Ext.MessageBox.alert(OpenLayers.i18n("loadLayer.error.title"),OpenLayers.i18n("loadLayer.error.message"));};return{addLayers:function(layerList){if(layerList.length===0){return;}
layerLoadingMask=new Ext.LoadMask(map.div,{msg:OpenLayers.Lang.translate('loadLayer.loadingMessage')});layerLoadingMask.show();var onlineResource=layerList[0][1];layers=layerList;var params={'service':'WMS','request':'GetCapabilities','version':'1.3.0',language:GeoNetwork.OGCUtil.getLanguage()};var paramString=OpenLayers.Util.getParameterString(params);var separator=(onlineResource.indexOf('?')>-1)?'&':'?';onlineResource+=separator+paramString;var req=Ext.Ajax.request({url:OpenLayers.Util.removeTail(OpenLayers.ProxyHost),method:'GET',params:{url:onlineResource},success:processLayersSuccess,failure:processLayersFailure,timeout:10000});}};};GeoNetwork.CatalogueInterface=new GeoNetwork.CatalogueInterface();Ext.namespace('GeoNetwork','GeoNetwork.WMC');GeoNetwork.WMC=function(){return{loadWmc:function(map,xml){try{var layers=map.layers;for(var i=layers.length-1;i>0;i--){if(!layers[i].isBaseLayer){map.removeLayer(layers[i]);}}
Ext.getCmp('toctree').getSelectionModel().clearSelections();var format=new OpenLayers.Format.WMC({'layerOptions':{buffer:0}});map=format.read(xml,{map:map});}catch(err){Ext.MessageBox.alert(OpenLayers.i18n("selectWMCFile.errorLoadingWMC"));}},mergeWmc:function(map,xml){try{var format=new OpenLayers.Format.WMC({'layerOptions':{buffer:0}});map=format.read(xml,{map:map});}catch(err){Ext.MessageBox.alert(OpenLayers.i18n("selectWMCFile.errorLoadingWMC"));}},saveContext:function(map){var wmc=new OpenLayers.Format.WMC();OpenLayers.Request.POST({url:"../../wmc/create.wmc",data:wmc.write(map),success:this.onSaveContextSuccess,failure:this.onSaveContextFailure});},onSaveContextSuccess:function(response){var json=response.responseText;var o=Ext.decode(json);if(o.success){window.location=o.url;}else{this.onSaveContextFailure();}},onSaveContextFailure:function(form,action){Ext.MessageBox.show({icon:Ext.MessageBox.ERROR,title:OpenLayers.i18n("saveWMCFile.windowTitle"),msg:OpenLayers.i18n("saveWMCFile.errorSaveWMC"),buttons:Ext.MessageBox.OK});}};};GeoNetwork.WMCManager=new GeoNetwork.WMC();Ext.namespace('GeoNetwork');GeoNetwork.ProjectionSelector=function(config){Ext.apply(this,config);GeoNetwork.ProjectionSelector.superclass.constructor.call(this);};Ext.extend(GeoNetwork.ProjectionSelector,Ext.form.ComboBox,{projections:null,initComponent:function(){GeoNetwork.ProjectionSelector.superclass.initComponent.call(this);this.on('select',this.reproject,this);this.valueField='value';this.autoWidth=true;this.autoHeight=true;this.displayField='text';this.triggerAction='all';this.mode='local';this.store=new Ext.data.Store({reader:new Ext.data.ArrayReader({},[{name:'value'},{name:'text'}]),data:this.projections});this.value=this.map.getProjection();},reproject:function(combo,record){GeoNetwork.OGCUtil.reprojectMap(this.map,new OpenLayers.Projection(record.get('value')),false);}});Ext.reg('gn_projectionselector',GeoNetwork.ProjectionSelector);Ext.namespace('GeoNetwork','GeoNetwork.wms');GeoNetwork.wms.LayerInfoPanel=function(config){Ext.apply(this,config);GeoNetwork.wms.LayerInfoPanel.superclass.constructor.call(this);};Ext.extend(GeoNetwork.wms.LayerInfoPanel,Ext.Panel,{previewPanel:null,map:null,previewCenterPoint:null,onlineresource:null,layer:null,initComponent:function(){GeoNetwork.wms.LayerInfoPanel.superclass.initComponent.call(this);this.layout='border';this.previewPanel=new GeoNetwork.wms.PreviewPanel({map:this.map,previewCenterPoint:this.previewCenterPoint});this.store=new Ext.data.SimpleStore({reader:new Ext.data.ArrayReader({},[{name:'title',type:'string'},{name:'field',type:'string'}]),fields:['title','field']});this.gridPanel=new Ext.grid.GridPanel({title:"",store:this.store,autoHeight:true,hideHeaders:true,columns:[]});this.layerInfo=new GeoNetwork.wms.WMSLayerInfo({callback:this._showLayerInfo,scope:this});var center={autoScroll:true,region:'center',items:[this.gridPanel],split:true,width:300,minWidth:300};var east={region:'east',items:[this.previewPanel],split:true,plain:true,cls:'popup-variant1',width:250,maxSize:250,minSize:250};this.add(center);this.add(east);this.doLayout();},showLayerInfo:function(){this.previewPanel.showPreview(this.layer);this.layerInfo.loadWMS(this.onlineresource,this.layer);},_showLayerInfo:function(layer){if(!layer){Ext.MessageBox.alert(OpenLayers.i18n("errorTitle"),OpenLayers.i18n("WMSBrowserConnectError"));this.body.dom.style.cursor='default';}else{var info=[[OpenLayers.i18n("layerInfoPanel.titleField"),layer.title||layer.name],[OpenLayers.i18n("layerInfoPanel.descriptionField"),layer.description],[OpenLayers.i18n("layerInfoPanel.queryableField"),layer.queryable]];this.gridPanel.reconfigure(this.store,new Ext.grid.ColumnModel([{dataIndex:"title",sortable:true},{dataIndex:"field",sortable:true}]));this.gridPanel.getStore().loadData(info);}
this.body.dom.style.cursor='default';}});Ext.reg('gn_infolayerpanel',GeoNetwork.wms.LayerInfoPanel);Ext.namespace('GeoNetwork');GeoNetwork.FeatureInfoPanel=function(config){Ext.apply(this,config);GeoNetwork.FeatureInfoPanel.superclass.constructor.call(this);};Ext.extend(GeoNetwork.FeatureInfoPanel,Ext.Panel,{features:null,treePanel:null,infoPanel:null,initComponent:function(){GeoNetwork.FeatureInfoPanel.superclass.initComponent.call(this);this.layout='border';this.treePanel=new Ext.tree.TreePanel({rootVisible:true,autoScroll:true});var root=new Ext.tree.TreeNode({text:OpenLayers.i18n("featureInfoTitle"),draggable:false,expanded:true,cls:'folder'});this.treePanel.setRootNode(root);var center={region:'center',items:[this.treePanel],split:true,minWidth:100};this.infoPanel=new Ext.Panel();this.infoPanel.on('render',function(){if(this.features){this.showFeatures(this.features);}},this);var east={region:'east',items:[this.infoPanel],split:true,plain:true,cls:'popup-variant1',width:400,autoScroll:true};this.add(center);this.add(east);this.doLayout();},setMap:function(map){this.map=map;},featureToHTML:function(feature){var tplstring='<table class="olFeatureInfoTable" cellspacing="1" '+'cellpadding="1"><tbody>';for(var attr in feature.attributes){if(attr){tplstring+='<tr class="olFeatureInfoRow">'+'<td width="50%" class="olFeatureInfoColumn">'+attr+'</td><td width="50%" class="olFeatureInfoValue">'+
feature.attributes[attr]+'</td></tr>';}}
tplstring+='</tbody></table>';var tpl=new Ext.XTemplate(tplstring);tpl.overwrite(this.infoPanel.body,feature);},click:function(node){if(node.attributes.features.length===0){var html='<table class="olFeatureInfoTable" cellpadding="1" '+'cellspacing="1"><tbody>';html+='<tr class="olFeatureInfoRow"><td colspan="2" '+'class="olFeatureInfoValue">'+
OpenLayers.i18n("FeatureInfoNoInfo")+'</td></tr>';html+='</tbody></table>';Ext.DomHelper.overwrite(this.infoPanel.body,html);}
for(var i=0,len=node.attributes.features.length;i<len;i++){var feature=node.attributes.features[i];this.featureToHTML(feature);}},clearInfoPanel:function(){if(this.infoPanel.body){Ext.DomHelper.overwrite(this.infoPanel.body,'');}},getLayerTitle:function(featureType){if(featureType==null)return'&nbsp';var layers=this.map.getLayersByClass('OpenLayers.Layer.WMS');for(var i=0,len=layers.length;i<len;i++){if(layers[i].params.LAYERS instanceof Array){if(OpenLayers.Util.indexOf(layers[i].params.LAYERS,featureType)!==-1){return layers[i].name;}}else{if(layers[i].params.LAYERS.indexOf(featureType)!==-1){return layers[i].name;}}}},showFeatures:function(features){this.clearInfoPanel();var root=this.treePanel.getRootNode();while(root.firstChild){root.removeChild(root.firstChild);}
var i,len,featureList=[];for(i=0,len=features.length;i<len;i++){var found=false;for(var j=0;j<featureList.length;j++){if(featureList[j].title===features[i].type){featureList[j].features.push(features[i]);found=true;}}
if(found===false){featureList.push({title:this.getLayerTitle(features[i].type),features:[features[i]]});}}
for(i=0,len=featureList.length;i<len;i++){var node=new Ext.tree.TreeNode({text:featureList[i].title,features:featureList[i].features});node.addListener("click",this.click,this);root.appendChild(node);if(i===0){root.expand();this.click(node);this.treePanel.getSelectionModel().select(node);}}
root.expand();}});Ext.reg('gn_featureinfo',GeoNetwork.FeatureInfoPanel);Ext.namespace('GeoNetwork','GeoNetwork.OGCUtil');GeoNetwork.OGCUtil.getLanguage=function(){var language;switch(Env.lang){case'nl':language='dut';break;case'en':language='eng';break;case'fr':language='fre';break;case'de':language='ger';break;default:language='dut';}
return language;};GeoNetwork.OGCUtil.ensureProperUrlEnd=function(url){if(url.indexOf("?")==-1){url+="?";}
else{var lastChar=url.substring(url.length-1);if(lastChar!="&"&&lastChar!="?"){url+="&";}}
return url;};GeoNetwork.OGCUtil.reprojectMap=function(map,newProjection,noZoom){if(map.projection!=newProjection.projCode){map.baseLayer.options.scales=map.scales;var oldProjection=map.getProjectionObject();map.projection=newProjection.projCode;if(newProjection.getUnits()===null){map.units='degrees';}else{map.units=newProjection.getUnits();}
var cursorPos=null;if(map.getControlsByClass('GeoNetwork.Control.CursorPos').length>0){cursorPos=map.getControlsByClass('GeoNetwork.Control.CursorPos')[0];}
if(map.units=='m'&&cursorPos!==null){cursorPos.numdigits=0;}else if(map.units=='degrees'&&cursorPos!==null){cursorPos.numdigits=4;}
map.maxExtent=map.maxExtent.transform(oldProjection,newProjection);map.baseLayer.extent=map.maxExtent;var bounds=map.getExtent().transform(oldProjection,newProjection);for(var i=0;i<map.layers.length;i++){var layer=map.layers[i];layer.units=map.units;layer.projection=newProjection;layer.maxExtent=map.maxExtent;if(layer.isBaseLayer){layer.initResolutions();}else{layer.resolutions=map.baseLayer.resolutions;layer.minResolution=map.baseLayer.minResolution;layer.maxResolution=map.baseLayer.maxResolution;}
if(layer instanceof OpenLayers.Layer.Vector){for(var j=0;j<layer.features.length;j++){var feature=layer.features[j];if(feature.geometry.projection!=map.projection){feature.geometry.transform(new OpenLayers.Projection(feature.geometry.projection),map.getProjectionObject());feature.geometry.projection=map.projection;}}}}
if(!noZoom){map.zoomToExtent(bounds);}}};GeoNetwork.OGCUtil.layerExistsInMap=function(layer,map){var layerExists=false;for(var i=0,len=map.layerslength;i<len;i++){if(map.layers){var lr=map.layers[i];if(lr.params){try{var layers=lr.params.LAYERS.split(",");if((layers.indexOf(layer.params.LAYERS)!=-1)&&lr.params.SERVICE==layer.params.SERVICE&&lr.url==layer.url){layerExists=lr;break;}}catch(e){}}}}
return layerExists;};Ext.namespace('GeoNetwork','GeoNetwork.tree');GeoNetwork.tree.WMSTreeGenerator=function(config){Ext.apply(this,config);};GeoNetwork.tree.WMSTreeGenerator.prototype={layerParams:{format:'image/png',transparent:'TRUE'},layerOptions:{ratio:1,singleTile:true,isBaseLayer:false},click:null,callback:null,scope:null,loadWMS:function(onlineResource){var params={'service':'WMS','request':'GetCapabilities','version':'1.3.0',language:GeoNetwork.OGCUtil.getLanguage()};var paramString=OpenLayers.Util.getParameterString(params);var separator=(onlineResource.indexOf('?')>-1)?'&':'?';onlineResource+=separator+paramString;var req=Ext.Ajax.request({url:OpenLayers.Util.removeTail(OpenLayers.ProxyHost),method:'GET',params:{url:onlineResource},failure:this.processFailure,success:this.processSuccess,disableCaching:false,scope:this});},processSuccess:function(response){if(!this.parser){this.parser=new OpenLayers.Format.WMSCapabilities();}
var caps=this.parser.read(response.responseXML||response.responseText);this.layerParams.VERSION=caps.version;var node;if(caps.capability){for(var i=0,len=caps.capability.nestedLayers.length;i<len;++i){var layer=caps.capability.nestedLayers[i];node=this.addLayer(layer,caps.capability.request.getmap.href,null);this.processLayer(layer,caps.capability.request.getmap.href,node);}}
Ext.callback(this.callback,this.scope,[node,caps]);},processFailure:function(response){Ext.callback(this.callback,this.scope,null);},createWMSLayer:function(layer,url){return new OpenLayers.Layer.WMS(layer.title,url,OpenLayers.Util.extend({layers:layer.name,language:GeoNetwork.OGCUtil.getLanguage()},this.layerParams),OpenLayers.Util.extend({minScale:layer.minScale,queryable:layer.queryable,maxScale:layer.maxScale,metadataURL:layer.metadataURL,dimensions:layer.dimensions,styles:layer.styles,llbbox:layer.llbbox},this.layerOptions));},addLayer:function(layer,url,parentNode){var wmsLayer=null;if(layer.name){wmsLayer=this.createWMSLayer(layer,url);if(layer.styles&&layer.styles.length>0){var style=layer.styles[0];if(style.legend&&style.legend.href){wmsLayer.legendURL=style.legend.href;}}}
var node=new Ext.tree.TreeNode({wmsLayer:wmsLayer,text:layer.title});node.addListener("click",this.click,this.scope);if(parentNode){parentNode.appendChild(node);}
return node;},processLayer:function(layer,url,node){Ext.each(layer.nestedLayers,function(el){var node2=this.addLayer(el,url,node);if(el.nestedLayers){this.processLayer(el,url,node2);}},this);}};Ext.namespace('GeoNetwork');GeoNetwork.OpacitySlider=function(config){Ext.apply(this,config);GeoNetwork.OpacitySlider.superclass.constructor.call(this);};Ext.extend(GeoNetwork.OpacitySlider,Ext.Slider,{layer:null,initComponent:function(){GeoNetwork.OpacitySlider.superclass.initComponent.call(this);this.minValue=0;this.maxValue=100;this.value=this.getInitialValue();this.on('change',this.setOpacity,this);if(this.selModel){this.selModel.on('selectionchange',this.handleSelectionChange,this);}},onDestroy:function(){this.un('change',this.setOpacity,this);this.selModel.un('selectionchange',this.handleSelectionChange,this);GeoNetwork.OpacitySlider.superclass.onDestroy.call(this);},handleSelectionChange:function(selmodel,node){if((node)&&(node.attributes.layer)){this.setLayer(node.attributes.layer);}},getInitialValue:function(){if(this.layer===null){return 100;}
var opacity=(typeof this.layer.opacity=="number")?this.layer.opacity*100:100;return opacity;},setOpacity:function(el,value){var opacity=value/100;if(this.layer){this.layer.setOpacity(opacity);}},setLayer:function(layer){this.layer=layer;if(this.rendered){this.setValue(this.getInitialValue());}},afterRender:function(){if(this.layer){this.setValue(this.getInitialValue());}}});Ext.reg('gn_opacityslider',GeoNetwork.OpacitySlider);Ext.namespace('GeoNetwork');GeoNetwork.FeatureInfoWindow=function(config){Ext.apply(this,config);GeoNetwork.FeatureInfoWindow.superclass.constructor.call(this);};Ext.extend(GeoNetwork.FeatureInfoWindow,GeoNetwork.BaseWindow,{control:null,initComponent:function(){GeoNetwork.FeatureInfoWindow.superclass.initComponent.call(this);this.title=this.title||OpenLayers.i18n("featureInfoWindow.windowTitle");this.width=600;this.height=250;this.cls='popup-variant1';var fp=new GeoNetwork.FeatureInfoPanel();this.add(fp);this.doLayout();},setFeatures:function(featureList){this.items.items[0].showFeatures(featureList);},setMap:function(map){this.items.items[0].setMap(map);}});Ext.namespace('GeoNetwork','GeoNetwork.form');GeoNetwork.form.SearchOption=function(config){Ext.apply(this,config);GeoNetwork.form.SearchOption.superclass.constructor.call(this);};Ext.extend(GeoNetwork.form.SearchOption,Ext.FormPanel,{outputFormat:{type:'XLS',mimetype:'XLS'},requestMethod:"POST",projection:'EPSG:28992',url:'',typename:'',searchfields:[],initComponent:function(){GeoNetwork.form.SearchOption.superclass.initComponent.call(this);Ext.each(this.searchfields,function(searchfield){if(searchfield.type=='PROPERTYISLIKE'){var field=new Ext.form.TextField({fieldLabel:searchfield.label,name:searchfield.propertyname,autoHeight:true,autoWidth:true});field.on('specialkey',function(f,e){if(e.getKey()==e.ENTER){this.submitXLSForm();}},this);this.add(field);}},this);this.addButton({text:OpenLayers.i18n("searchOptionButton"),scope:this,handler:this.submitXLSForm});},submitXLSForm:function(){var params={};Ext.applyIf(params,this.baseParams);var form=document.getElementById(this.form.id);for(var i=0;i<form.elements.length;i++){el=form.elements[i];if(el.name=='results'||el.id=='addPointForGazResult'||el.id=='zoomToGazResult'){continue;}
if(el.name==='postalCode'&&el.value.length>0&&el.value.length<6){params[el.name]=el.value+'*';}else{params[el.name]=el.value;}}
var reqBody=undefined;var url=this.url;if(this.requestMethod!='POST'){url=this.url+Ext.urlEncode(params);}
else
{var xlslusFormat;if(params.x&&params.y){var position=new OpenLayers.Geometry.Point(params.x,params.y);xlslusFormat=new GeoNetwork.Format.XLSLUS();reqBody=xlslusFormat.writeReverseGeocodeRequest(position,{srsName:params.srsName});}else{var addressParams=this.makeObjectTreeMap(params);var address=new GeoNetwork.Format.XLSAddress(params.countryCode,addressParams);xlslusFormat=new GeoNetwork.Format.XLSLUS();reqBody=xlslusFormat.writeGeocodeRequest(address);}}
if(this.externalProxyUrl){url=this.externalProxyUrl+escape(url);}
var fields=['value','text','bbox'];var resultStore=new Ext.data.Store({autoLoad:true,id:'value',fields:fields,proxy:new Ext.data.HttpProxy({method:this.requestMethod,xmlData:reqBody,url:(OpenLayers.ProxyHost?OpenLayers.ProxyHost+escape(url):url)}),reader:new GeoNetwork.data.XLSReader({},fields)});resultStore.on("loadexception",this.loadException,this);resultStore.on("load",function(){if(resultStore.getCount()===0){Ext.MessageBox.show({icon:Ext.MessageBox.INFO,title:OpenLayers.i18n("infoTitle"),msg:OpenLayers.i18n("SearchOptionNoResults"),buttons:Ext.MessageBox.OK});}});this.showResult(resultStore);},makeObjectTreeMap:function(params)
{var treeParams={};for(var attr in params){if(attr){var value=params[attr];if(value&&value!==''){var attrSplit=attr.split(".");treeParams[attrSplit[0]]=this.makeObjectTree(treeParams[attrSplit[0]],attrSplit,1,value);}}}
return treeParams;},makeObjectTree:function(obj,attrSplit,index,value)
{if(index>=attrSplit.length){return value;}
var attrName=attrSplit[index];if(attrName==parseInt(attrName,10)){if(!obj){obj=[];}
attrName=parseInt(attrName,10);}else{if(!obj){obj={};}}
obj[attrName]=this.makeObjectTree(obj[attrName],attrSplit,index+1,value);return obj;},loadException:function(proxy,o,response,excp){var responseText=response.responseText;if(responseText&&(responseText.indexOf('FAILED')!=-1||responseText.indexOf('Exception')!=-1||responseText.indexOf('No more credits')!=-1)){Ext.MessageBox.show({icon:Ext.MessageBox.WARNING,title:OpenLayers.i18n("errorTitle"),msg:OpenLayers.i18n("SearchOptionLoadFailureMsg"),buttons:Ext.MessageBox.OK});}},showResult:function(resultStore){if(!this.resultsGrid){this.resultsGrid=new Ext.grid.GridPanel({autoScroll:true,loadMask:true,hideHeaders:true,sm:new Ext.grid.RowSelectionModel({singleSelect:true}),name:'results',store:resultStore,clCls:'grid-variant1',title:OpenLayers.i18n('searchResults'),plain:true,columns:[{id:'text',header:'',sortable:true,dataIndex:'text'}],stripeRows:true,autoExpandColumn:'text',height:300,width:325});this.resultsGrid.getSelectionModel().on('selectionchange',function(selModel){this.zoomToResults();},this);this.items.items.push(this.resultsGrid);this.render();}else{this.resultsGrid.getSelectionModel().clearSelections();var oldStore=this.resultsGrid.store;this.resultsGrid.reconfigure(resultStore,this.resultsGrid.getColumnModel());oldStore.destroy();}
this.doLayout();},onDestroy:function(){if(this.vectorLayer&&this.map){this.map.removeLayer(this.vectorLayer);}
if(this.resultStore){this.resultStore.each(function(record){if(record&&record.get('feature')){record.get('feature').destroy();}},this);}},zoomToResults:function(){var selRecords=this.resultsGrid.getSelectionModel().getSelections();if(selRecords.length>0){if(!this.vectorLayer){this.vectorLayer=new OpenLayers.Layer.Vector("gazetteer",{displayInLayerSwitcher:false,style:{pointRadius:5,graphicName:"square",fillColor:"red",fillOpacity:1,strokeWidth:1,strokeOpacity:1,strokeColor:"#333333"}});this.map.addLayer(this.vectorLayer);}
if(this.vectorFeatures){this.vectorLayer.removeFeatures(this.vectorFeatures);}
var point=new OpenLayers.Geometry.Point(selRecords[0].get('bbox').getCenterLonLat().lon,selRecords[0].get('bbox').getCenterLonLat().lat);var feature=new OpenLayers.Feature.Vector(point,null)
this.vectorFeatures=feature;this.vectorLayer.addFeatures(this.vectorFeatures);var bbox=selRecords[0].get('bbox');for(i=0;i<selRecords.length;i++){var newBbox=selRecords[i].get('bbox');bbox.left=Math.min(bbox.left,newBbox.left);bbox.bottom=Math.min(bbox.bottom,newBbox.bottom);bbox.right=Math.max(bbox.right,newBbox.right);bbox.top=Math.max(bbox.top,newBbox.top);}
var buffer=5;bbox.left=bbox.left-buffer;bbox.bottom=bbox.bottom-buffer;bbox.right=bbox.right+buffer;bbox.top=bbox.top+buffer;if(this.projection!=this.map.getProjection()){bbox=bbox.transform(new OpenLayers.Projection(this.projection),this.map.getProjectionObject());}
this.map.zoomToExtent(bbox);}}});Ext.reg('gn_searchoption',GeoNetwork.form.SearchOption);Ext.namespace('GeoNetwork','GeoNetwork.wms');GeoNetwork.wms.LayerStylesPanel=function(config){Ext.apply(this,config);GeoNetwork.wms.LayerStylesPanel.superclass.constructor.call(this);};Ext.extend(GeoNetwork.wms.LayerStylesPanel,Ext.Panel,{previewPanel:null,map:null,layer:null,selectedStyle:null,initComponent:function(){GeoNetwork.wms.LayerStylesPanel.superclass.initComponent.call(this);this.layout='border';this.previewPanel=new GeoNetwork.wms.PreviewPanel({map:this.map,title:OpenLayers.i18n("layerStylesPreviewTitle")});this.store=new Ext.data.SimpleStore({reader:new Ext.data.ArrayReader({},[{name:'name',type:'string'},{name:'title',type:'string'},{name:'legendUrl',type:'string'}]),fields:['name','title','legendUrl']});this.gridPanel=new Ext.grid.GridPanel({title:"",store:this.store,autoHeight:true,hideHeaders:false,columns:[{header:"Style",width:120,dataIndex:'name',sortable:false},{header:"Description",width:180,dataIndex:'title',sortable:false}]});this.gridPanel.on('rowclick',this._selectStyle,this);var center={autoScroll:true,region:'center',items:[this.gridPanel],split:true,width:300,minWidth:300};var east={region:'east',items:[this.previewPanel],split:true,plain:true,cls:'popup-variant1',width:250,maxSize:250,minSize:250};this.add(center);this.add(east);this.doLayout();},showLayerStyles:function(layer){var info=[];for(var i=0;i<layer.styles.length;i++){var style=[layer.styles[i].name,layer.styles[i].title,layer.styles[i].legend.href];info.push(style);}
this.gridPanel.getStore().loadData(info);},_selectStyle:function(grid,rowIndex,e){var rec=grid.store.getAt(rowIndex);this.selectedStyle=rec.get('name');grid.getView().focusEl.focus();var legendUrl=rec.get('legendUrl');legendUrl=unescape(legendUrl);this.selectedStyleLegendUrl=legendUrl;this.previewPanel.showPreviewLegend(legendUrl);}});Ext.reg('gn_layerstylespanel',GeoNetwork.wms.LayerStylesPanel);Ext.namespace('GeoNetwork');GeoNetwork.DisclaimerWindow=function(config){Ext.apply(this,config);GeoNetwork.DisclaimerWindow.superclass.constructor.call(this);};Ext.extend(GeoNetwork.DisclaimerWindow,Ext.Window,{disclaimer:null,initComponent:function(){GeoNetwork.BaseWindow.superclass.initComponent.call(this);this.id="disclaimerwindow";this.constrainHeader=true;this.layout='fit';this.plain=true;this.stateful=false;this.title=OpenLayers.i18n("disclaimer.windowTitle");this.minWidth=440;this.minHeight=280;this.width=440;this.height=280;this.autoScroll=true;this.modal=true;this.addButton(OpenLayers.i18n("disclaimer.buttonClose"),function(){this.close();},this);if(this.disclaimer.startsWith("http://")){this.on("show",this.showDisclaimerUrl);}else{var textArea=new Ext.form.TextArea({hideLabel:true,name:'msg',value:this.disclaimer,anchor:'100% -53',enableKeyEvents:true,listeners:{'keydown':function(field,event)
{if(!(event.getKey()==67&&event.ctrlKey)){event.stopEvent();}}}});this.add(textArea);}
this.doLayout();},showDisclaimerUrl:function(){this.load({url:OpenLayers.ProxyHost+this.disclaimer,text:OpenLayers.i18n("disclaimer.loading"),timeout:30,scripts:false});}});
