
visdat.mapGo=function(navi){OpenLayers.ImgPath="geo/OpenLayers-2.10/img/";if(navi=='eisdiele'){Ext.getDom('map1').innerHTML='';var zielElement='map1';var mapName='ex_01';var maxExtent=visdat.f_maxExtent(-20037508.342789244,-20037508.342789244,20037508.342789244,20037508.342789244);var restrictedExtent=visdat.f_restrictedExtent(1308004,6463612,1674245,6746062);var centerMap=visdat.f_centerMap(1521109,6622000,1543620,6636278);var zoomLevels=20;var startZoom=12;var maxZoom=20;var minZoom=10;var mapUnits='m';var projection=visdat.f_projection('EPSG:900913');var displayProjection=visdat.f_projection('EPSG:31468');var tbarHidden=false;var tbarHeight=28;var bbarHidden=false;var bbarHeight=24;var popupHover=true;var helpURL='./contents/hilfe_eisdielen.html';var tbarArray=[['Spacer',null],['LayerTree','Layerauswahl'],['Attribute','Attributtabelle'],['DragPan','Verschieben'],['ZoomIn','Vergrößern'],['ZoomOut','Verkleinern'],['MaxExtent','volle Ausdehnung'],['Query','Abfragen'],['Measurement','Messwerkzeuge'],['Spacer',null],['Spacer',null],['Spacer',null],['Spacer',null],['Spacer',null],['Spacer',null],['Spacer',null],['Spacer',null],['Spacer',null],['Help','Erläuterungen']];var bbarArray=[['MousePosition','Koordinaten','bbarLeft']];var eisdielen=[['gid','Nr','string',20,true],['eisdiele','Eisdiele','string',160,false]];var layerArray=[['Mapnik','OpenStreetMap (Mapnik)','http://tile.openstreetmap.org/','http://tile.openstreetmap.org/',false,false,null,false],['OSM','OpenStreetMap','http://tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png',null,false,false,null,true],['TMS','Hybrid_Sachsen','http://visdat.de/tilecache/tilecache_visdat.py/',null,false,false,null,false],['GML','eisdielen','http://www.visdat.de/clients/eisdielen_dresden/gis/eisdielen_dresden.xml',null,true,true,eisdielen,false]];var treemodel=[{text:'OpenStreetMap (Mapnik)',iconCls:'hideicon',layerName:'OpenStreetMap (Mapnik)',id:'OpenStreetMap (Mapnik)',checked:true},{text:'Luftbilder',iconCls:'hideicon',layerName:'Hybrid_Sachsen',id:'Hybrid_Sachsen',checked:false},{text:'Eisdielen',iconCls:'hideicon',layerName:'eisdielen',id:'eisdielen',checked:true}];OpenLayers.ProxyHost="/cgi-bin/proxy.cgi?url=";visdat.init();var map=visdat.buildMap(mapName,zoomLevels,projection,displayProjection,mapUnits,maxExtent,restrictedExtent,centerMap,startZoom);visdat.buildLayer(map,layerArray,projection);var layertree=visdat.buildLayerTree(map,treemodel,layerArray);var tbar=visdat.f_tbar(map,tbarHeight,tbarHidden,tbarArray,treemodel,layerArray,layertree,startZoom,centerMap,helpURL);var bbar=visdat.f_bbar(map,bbarHeight,bbarHidden,bbarArray);visdat.buildLegendPanel(layerArray,layertree);if(popupHover==true){visdat.popupLayer(map,layerArray);};visdat.f_mapPanel(zielElement);visdat.f_mapComponent(map,tbar,bbar);map.setCenter(centerMap,startZoom);map.baseLayer.setVisibility(false);Ext.getCmp('help-btn').toggle(true);visdat.helpWindow(helpURL);var allLayers=map.layers;var numLayers=map.getNumLayers();map.events.register('zoomend',map,function(e){if(map.getZoom()<minZoom){map.zoomTo(minZoom)};if(map.getZoom()>maxZoom){map.zoomTo(maxZoom)};});var eisdielenStyles=new OpenLayers.StyleMap({'default':new OpenLayers.Style({externalGraphic:"./clients/eisdielen_dresden/images/ice_cream.png",graphicWidth:19,graphicHeight:33}),'select':new OpenLayers.Style({externalGraphic:"./clients/eisdielen_dresden/images/ice_cream.png",backgroundXOffset:0,backgroundYOffset:0,graphicWidth:25,graphicHeight:44})});for(var i=0;i<numLayers;i++){if(allLayers[i].name=='eisdielen'){map.getLayer(allLayers[i].id).styleMap=eisdielenStyles;}}}
if(navi=='koordinatentransformation'){Ext.getDom('map_koord').innerHTML='';var zielElement='map_koord';var mapName='ex_02';var maxExtent=visdat.f_maxExtent(-20037508.342789244,-20037508.342789244,20037508.342789244,20037508.342789244);var restrictedExtent=visdat.f_restrictedExtent(456284,5608991,1894523,7722322);var centerMap=visdat.f_centerMap(456284,5608991,1894523,7722322);var zoomLevels=20;var startZoom=7;var maxZoom=18;var minZoom=5;var mapUnits='m';var projection=visdat.f_projection('EPSG:900913');var displayProjection=visdat.f_projection('EPSG:900913');var tbarHidden=false;var tbarHeight=28;var bbarHidden=true;var bbarHeight=24;var popupHover=false;var tbarArray=[['DragPan','Verschieben'],['ZoomIn','Vergrößern'],['ZoomOut','Verkleinern'],['MaxExtent','volle Ausdehnung'],['Measurement','Messwerkzeuge']];var bbarArray=[];var layerArray=[['Mapnik','OpenStreetMap (Mapnik)','http://tile.openstreetmap.org/','http://tile.openstreetmap.org/',false,false,null,false],['OSM','OpenStreetMap','http://tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png',null,false,false,null,true]];var treemodel=[{text:'OpenStreetMap (Mapnik)',iconCls:'hideicon',layerName:'OpenStreetMap (Mapnik)',id:'OpenStreetMap (Mapnik)',checked:true}];OpenLayers.ProxyHost="/cgi-bin/proxy.cgi?url=";visdat.init();var map=visdat.buildMap(mapName,zoomLevels,projection,displayProjection,mapUnits,maxExtent,restrictedExtent,centerMap,startZoom);visdat.buildLayer(map,layerArray,projection);var layertree=visdat.buildLayerTree(map,treemodel,layerArray);var tbar=visdat.f_tbar(map,tbarHeight,tbarHidden,tbarArray,treemodel,layerArray,layertree,startZoom,centerMap);var bbar=visdat.f_bbar(map,bbarHeight,bbarHidden,bbarArray);visdat.buildLegendPanel(layerArray,layertree);if(popupHover==true){visdat.popupLayer(map,layerArray);};visdat.f_mapPanel(zielElement);visdat.f_mapComponent(map,tbar,bbar);map.setCenter(centerMap,startZoom);map.baseLayer.setVisibility(false);var allLayers=map.layers;var numLayers=map.getNumLayers();map.events.register('zoomend',map,function(e){if(map.getZoom()<minZoom){map.zoomTo(minZoom)};if(map.getZoom()>maxZoom){map.zoomTo(maxZoom)};});var koordLayer=new OpenLayers.Layer.Vector();koordLayer.setName('koordLayer');drawPoint=function(x,y){koordLayer.destroyFeatures()
var x=x;var y=y;if(x!=null&&y!=null){var srs_form2=Ext.getCmp('src_srs');var store2=srs_form2.getStore();var selectedValue=Ext.get('src_srs').getValue();var recId=store2.find('displayText',selectedValue);var epsg_src=store2.getAt(recId).data['srs'];var proj2=new OpenLayers.Projection(epsg_src);var lonLat=new OpenLayers.LonLat(x,y);lonLat.transform(proj2,map.getProjectionObject());var point=new OpenLayers.Geometry.Point(lonLat.lon,lonLat.lat);var pointFeature=new OpenLayers.Feature.Vector(point,null,null);koordLayer.addFeatures(pointFeature);map.addLayer(koordLayer);map.panTo(lonLat);var allLayers=map.layers;var numLayers=map.getNumLayers();var koordLayerStyles=new OpenLayers.StyleMap({'default':new OpenLayers.Style({externalGraphic:"./clients/eisdielen_dresden/images/fahne.png",graphicXOffset:-69,graphicYOffset:-50,graphicWidth:84,graphicHeight:76}),'select':new OpenLayers.Style({externalGraphic:"./clients/eisdielen_dresden/images/fahne.png",graphicXOffset:-69,graphicYOffset:-50,graphicWidth:84,graphicHeight:76})});for(var i=0;i<numLayers;i++){if(allLayers[i].name=='koordLayer'){map.getLayer(allLayers[i].id).styleMap=koordLayerStyles;}}
koordLayer.redraw();}}
var xKoordField=Ext.getCmp('srcX_wert');xKoordField.on('change',function(){x=xKoordField.getValue();drawPoint(x,Ext.getCmp('srcY_wert').getValue());})
var yKoordField=Ext.getCmp('srcY_wert');yKoordField.on('change',function(){y=yKoordField.getValue();drawPoint(Ext.getCmp('srcX_wert').getValue(),y);})
map.events.register('click',map,function(e){var srs_form2=Ext.getCmp('src_srs');var store2=srs_form2.getStore();var selectedValue=Ext.get('src_srs').getValue();var recId=store2.find('displayText',selectedValue);if(recId>-1){var epsg_src=store2.getAt(recId).data['srs'];var srs_form2=Ext.getCmp('tar_srs');var store2=srs_form2.getStore();var selectedValue=Ext.get('tar_srs').getValue();var recId=store2.find('displayText',selectedValue);if(recId==-1){var epsg_tar=epsg_src;}else{var epsg_tar=store2.getAt(recId).data['srs'];}
var proj2=new OpenLayers.Projection(epsg_src);var clickPoint=new OpenLayers.Pixel(e.xy.x,e.xy.y);var clickPointLatLon=map.getLonLatFromPixel(clickPoint);clickPointLatLon.transform(map.getProjectionObject(),proj2);var clickPointLat=clickPointLatLon.lat;var clickPointLon=clickPointLatLon.lon;Ext.getCmp('srcX_wert').setValue(clickPointLon);Ext.getCmp('srcY_wert').setValue(clickPointLat);Ext.getCmp('srcX_wert').setValue(clickPointLon);drawPoint(clickPointLon,clickPointLat)
if(Ext.getCmp('srcX_wert').getValue()!=null&&Ext.getCmp('srcY_wert').getValue()!=null&&Ext.getCmp('src_srs').getValue()!=null&&Ext.getCmp('tar_srs').getValue()!=null){calcTransform(Ext.getCmp('srcX_wert').getValue(),Ext.getCmp('srcY_wert').getValue(),epsg_src,epsg_tar);}}});}
if(navi=='cluster'){Ext.getDom('map_cluster').innerHTML='';var zielElement='map_cluster';var mapName='ex_03';var maxExtent=visdat.f_maxExtent(-20037508.342789244,-20037508.342789244,20037508.342789244,20037508.342789244);var restrictedExtent=visdat.f_restrictedExtent(-3951380,3986646,6302187,8802505);var centerMap=visdat.f_centerMap(456284,4858991,1894523,6982322);var zoomLevels=20;var startZoom=3;var maxZoom=20;var minZoom=3;var mapUnits='m';var projection=visdat.f_projection('EPSG:900913');var displayProjection=visdat.f_projection('EPSG:4326');var tbarHidden=false;var tbarHeight=28;var bbarHidden=false;var bbarHeight=24;var popupHover=false;var tbarArray=[['ZoomIn','Vergrößern'],['ZoomOut','Verkleinern'],['MaxExtent','volle Ausdehnung']];var bbarArray=[['MousePosition','Koordinaten','bbarLeft']];var layerArray=[['Mapnik','OpenStreetMap (Mapnik)','http://tile.openstreetmap.org/','http://tile.openstreetmap.org/',false,false,null,false],['OSM','OpenStreetMap','http://tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png',null,false,false,null,true]];var treemodel=[{text:'OpenStreetMap (Mapnik)',iconCls:'hideicon',layerName:'OpenStreetMap (Mapnik)',id:'OpenStreetMap (Mapnik)',checked:true}];OpenLayers.ProxyHost="/cgi-bin/proxy.cgi?url=";visdat.init();var map=visdat.buildMap(mapName,zoomLevels,projection,displayProjection,mapUnits,maxExtent,restrictedExtent,centerMap,startZoom);visdat.buildLayer(map,layerArray,projection);var layertree=visdat.buildLayerTree(map,treemodel,layerArray);var tbar=visdat.f_tbar(map,tbarHeight,tbarHidden,tbarArray,treemodel,layerArray,layertree,startZoom,centerMap);var bbar=visdat.f_bbar(map,bbarHeight,bbarHidden,bbarArray);visdat.buildLegendPanel(layerArray,layertree);if(popupHover==true){visdat.popupLayer(map,layerArray);};visdat.f_mapPanel(zielElement);visdat.f_mapComponent(map,tbar,bbar);map.setCenter(centerMap,startZoom);map.baseLayer.setVisibility(false);var allLayers=map.layers;var numLayers=map.getNumLayers();map.events.register('zoomend',map,function(e){if(map.getZoom()<minZoom){map.zoomTo(minZoom)};if(map.getZoom()>maxZoom){map.zoomTo(maxZoom)};});var style=new OpenLayers.Style({pointRadius:"${radius}",fillColor:"#ffcc66",fillOpacity:0.8,strokeColor:"#cc6633",strokeWidth:2,strokeOpacity:0.8},{context:{radius:function(feature){return Math.min(feature.attributes.count,7)+3;}}});var photos=new OpenLayers.Layer.Vector("Photos",{reproject:true,projection:'EPSG:4326',strategies:[new OpenLayers.Strategy.Fixed(),new OpenLayers.Strategy.Cluster()],protocol:new OpenLayers.Protocol.HTTP({url:'/gis/flickr_photos.xml',params:{format:"WFS",sort:"interestingness-desc",service:"WFS",request:"GetFeatures",srs:"EPSG:4326",maxfeatures:120,bbox:[-37,-32,55,61]},format:new OpenLayers.Format.GML()}),styleMap:new OpenLayers.StyleMap({"default":style,"select":{fillColor:"#8aeeef",strokeColor:"#32a8a9"}})});var hoverCtrl=new OpenLayers.Control.SelectFeature(photos,{hover:true,id:'hoverCtrl',highlightOnly:true});map.addControl(hoverCtrl);hoverCtrl.activate();var select=new OpenLayers.Control.SelectFeature(photos,{hover:false});map.addControl(select);select.activate();var template=new jugl.Template("template");function display(event){$("photos").innerHTML="";var node=template.process({context:{features:event.feature.cluster},clone:true,parent:$("photos")});var forward=Animator.apply($("list"),["start","end"],{duration:1500});$("scroll-end").onmouseover=function(){forward.seekTo(1)};$("scroll-end").onmouseout=function(){forward.seekTo(forward.state)};$("scroll-start").onmouseover=function(){forward.seekTo(0)};$("scroll-start").onmouseout=function(){forward.seekTo(forward.state)};for(var i=0;i<event.feature.cluster.length;++i){listen($("link-"+i),Animator.apply($("photo-"+i),["thumb","big"]));}}
function listen(el,anim){el.onmouseover=function(){anim.seekTo(1)};el.onmouseout=function(){anim.seekTo(0)};}
photos.events.on({"featureselected":display});map.addLayer(photos);}
if(navi=='chart'){Ext.getDom('map_chart').innerHTML='';var zielElement='map_chart';var mapName='ex_04';var maxExtent=visdat.f_maxExtent(-20037508.342789244,-20037508.342789244,20037508.342789244,20037508.342789244);var restrictedExtent=visdat.f_restrictedExtent(1318594,6477738,1685499,6767588);var centerMap=visdat.f_centerMap(1318594,6477738,1685499,6767588);var zoomLevels=20;var startZoom=7;var maxZoom=20;var minZoom=7;var mapUnits='m';var projection=visdat.f_projection('EPSG:900913');var displayProjection=visdat.f_projection('EPSG:31468');var tbarHidden=false;var tbarHeight=28;var bbarHidden=false;var bbarHeight=24;var popupHover=false;var tbarArray=[['ZoomIn','Vergrößern'],['ZoomOut','Verkleinern'],['MaxExtent','volle Ausdehnung']];var bbarArray=[['MousePosition','Koordinaten','bbarLeft']];var layerArray=[['Mapnik','OpenStreetMap (Mapnik)','http://tile.openstreetmap.org/','http://tile.openstreetmap.org/',false,false,null,false],['OSM','OpenStreetMap','http://tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png',null,false,false,null,true]];var treemodel=[{text:'OpenStreetMap (Mapnik)',iconCls:'hideicon',layerName:'OpenStreetMap (Mapnik)',id:'OpenStreetMap (Mapnik)',checked:true},{text:'Messstellen',iconCls:'hideicon',layerName:'messstellen',id:'messstellen',checked:true}];OpenLayers.ProxyHost="/cgi-bin/proxy.cgi?url=";visdat.init();var map=visdat.buildMap(mapName,zoomLevels,projection,displayProjection,mapUnits,maxExtent,restrictedExtent,centerMap,startZoom);visdat.buildLayer(map,layerArray,projection);var messstellen=new OpenLayers.Layer.GML('messstellen','http://visdat.de/gis/mkz.xml',{'spericalMercator':true,projection:'EPSG:900913'},{'isBaseLayer':false});map.addLayer(messstellen);var layertree=visdat.buildLayerTree(map,treemodel,layerArray);var tbar=visdat.f_tbar(map,tbarHeight,tbarHidden,tbarArray,treemodel,layerArray,layertree,startZoom,centerMap);var bbar=visdat.f_bbar(map,bbarHeight,bbarHidden,bbarArray);visdat.buildLegendPanel(layerArray,layertree);if(popupHover==true){visdat.popupLayer(map,layerArray);};visdat.f_mapPanel(zielElement);visdat.f_mapComponent(map,tbar,bbar);map.setCenter(centerMap,startZoom);map.baseLayer.setVisibility(false);var allLayers=map.layers;var numLayers=map.getNumLayers();map.events.register('zoomend',map,function(e){if(map.getZoom()<minZoom){map.zoomTo(minZoom)};if(map.getZoom()>maxZoom){map.zoomTo(maxZoom)};});var popup;function highlightLayer(e){popup=new OpenLayers.Popup.AnchoredBubble("chicken",e.geometry.getBounds().getCenterLonLat(),null,"<div id='pop_chart'>"+e.attributes["bez_pegel"]+' ('+e.attributes["mkz_neu"]+')'+"</div>",null,false,null);map.addPopup(popup);popup.setBackgroundColor('#FF9000');popup.setOpacity(0.8);popup.maxSize=(new OpenLayers.Size(250,35));popup.updateSize();};var hoverCtrl=new OpenLayers.Control.SelectFeature(messstellen,{hover:true,id:'hoverCtrl',highlightOnly:true,overFeature:highlightLayer,outFeature:function(){popup.destroy();}});map.addControl(hoverCtrl);hoverCtrl.activate();var select=new OpenLayers.Control.SelectFeature(messstellen,{hover:false,clickout:false});map.addControl(select);select.activate();function selectMessstellen(event){var ds=new Ext.data.Store({id:'ds',proxy:new Ext.data.HttpProxy({url:'/php/chart/chart.php?mkz='+event.feature.data.mkz_neu}),reader:new Ext.data.JsonReader({root:'items'},[{name:'date',mapping:'date',type:'date',dateFormat:'Y-m-d H:i:s'},{name:'n_ges',mapping:'n_ges'},{name:'p_ges',mapping:'p_ges'}]),autoLoad:true});ds.setDefaultSort('date','asc');if(Ext.getCmp('gridChart')){Ext.getCmp('gridChart').destroy();}
var gridChart=new Ext.grid.GridPanel({store:ds,id:'gridChart',renderTo:'grid_chart',height:278,width:348,colModel:new Ext.grid.ColumnModel({columns:[{header:'Datum',dataIndex:'date',sortable:true,renderer:Ext.util.Format.dateRenderer('d.m.Y'),width:110},{header:'Stickstoff [mg/l]',dataIndex:'n_ges',sortable:false,width:110},{header:'Phosphor [mg/l]',dataIndex:'p_ges',sortable:false,width:106}]})});xAxis:new Ext.chart.CategoryAxis()
var currencyAxis=new Ext.chart.NumericAxis();currencyAxis.alwaysShowZero=true;currencyAxis.calculateByLabelSize=false;currencyAxis.position="right";currencyAxis.title="Phosphor [mg/l]";var currencyAxis2=new Ext.chart.NumericAxis();currencyAxis2.order="secondary";currencyAxis2.position="left";currencyAxis2.title="Stickstoff[mg/l]";currencyAxis2.alwaysShowZero=true;var axes=new Array();axes.push(currencyAxis);axes.push(currencyAxis2);var seriesDef=[{type:'line',displayName:'Stickstoff [mg/l]',yField:"n_ges",axis:"secondary",style:{size:6,lineSize:1,lineColor:'#2bc3c9',color:'#2bc3c9',fillColor:'#2bc3c9',fillAlpha:0.5}},{type:'line',displayName:"Phosphor [mg/l]",yField:"p_ges",axis:"primary",style:{size:6,lineSize:1,lineColor:'#c97810',color:'#c97810',fillColor:'#c97810',fillAlpha:0.5}}];if(Ext.getCmp('chart_user')){Ext.getCmp('chart_user').destroy();}
new Ext.Panel({width:348,height:200,layout:'fit',title:event.feature.data.bez_pegel+' ('+event.feature.data.mkz_neu+'), Fliessgew&auml;sser: '+event.feature.data.gewaesser,renderTo:'chart_div',id:'chart_user',items:{xtype:'linechart',store:ds,title:event.feature.data.mkz_neu,series:seriesDef,xField:"date",yAxes:axes,xAxis:new Ext.chart.TimeAxis({labelRenderer:function(date){return date.format("M-Y");}}),chartStyle:{secondaryYAxis:{titleRotation:-90,titleFont:{color:'#2bc3c9'},snapToUnits:true,font:{color:'#2bc3c9'}},yAxis:{titleRotation:-90,titleFont:{color:'#c97810'},font:{color:'#c97810'}}}}});}
messstellen.events.on({"featureselected":selectMessstellen});}
if(navi=='rasterTB'){Ext.apply(Ext.form.VTypes,{'numeric':function(){var objRegExp=/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;return function(strValue){return objRegExp.test(strValue);}}(),'numericText':'Only numbers are allowed'});Ext.namespace('visdat');Ext.getDom('map_rasterTB').innerHTML='';var zielElement='map_rasterTB';var mapName='ex_05';var maxExtent=visdat.f_maxExtent(-20037508.342789244,-20037508.342789244,20037508.342789244,20037508.342789244);var restrictedExtent=visdat.f_restrictedExtent(456284,5608991,1894523,7722322);var centerMap=visdat.f_centerMap(456284,6755352,1894523,6755354);var zoomLevels=18;var startZoom=9;var maxZoom=16;var minZoom=5;var mapUnits='m';var projection=visdat.f_projection('EPSG:900913');var displayProjection=visdat.f_projection('EPSG:4326');var tbarHidden=false;var tbarHeight=28;var bbarHidden=false;var bbarHeight=24;var popupHover=true;var helpURL='';var clickReg=false;var tbarArray=[['ZoomIn','Vergrößern',null],['ZoomOut','Verkleinern',null],['MaxExtent','volle Ausdehnung',null],['DragPan','volle Ausdehnung',null],['clipMap','Kartendownload',null]];var bbarArray=[['MousePosition','Koordinaten','bbarLeft']];var legendArray=[]
var layerArray=[['Mapnik','OpenStreetMap (Mapnik)','http://tile.openstreetmap.org/','http://tile.openstreetmap.org/',false,false,null,false],['OSM','OpenStreetMap','http://tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png',null,false,false,null,true]];var treemodel=[{text:'OpenStreetMap (Mapnik)',iconCls:'hideicon',layerName:'OpenStreetMap (Mapnik)',id:'OpenStreetMap (Mapnik)',checked:true}];OpenLayers.ProxyHost="/cgi-bin/proxy.cgi?url=";visdat.init();var map=visdat.buildMap(mapName,zoomLevels,projection,displayProjection,mapUnits,maxExtent,restrictedExtent,centerMap,startZoom);map.addControl(new OpenLayers.Control.PanZoomBar());visdat.buildLayer(map,layerArray,projection);var layertree=visdat.buildLayerTree(map,treemodel,layerArray,legendArray);function roundNumber(num,dec){var result=Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);return result;}
var proj_alt=new OpenLayers.Projection("EPSG:900913");var proj_neu=new OpenLayers.Projection("EPSG:900913");map.events.register('zoomend',map,function(e){if(map.getZoom()<minZoom){map.zoomTo(minZoom)};if(map.getZoom()>maxZoom){map.zoomTo(maxZoom)};});clipMap=function(map){var rectStyle=new OpenLayers.Style({pointRadius:5,fillColor:"grey",fillOpacity:1,strokeColor:"red"});var rectLayer=new OpenLayers.Layer.Vector('rectLayer',{styleMap:new OpenLayers.StyleMap({"transform":rectStyle,fillColor:'#ee9900',fillOpacity:0,strokeColor:"red"})});rectLayer.setName('rectLayer');map.addLayer(rectLayer);var storeFormat=new Ext.data.SimpleStore({fields:['id','format'],data:[['1','GEOTIFF_FLOAT'],['2','ASCII_GRID'],['3','JPEG']]});var storeThema=new Ext.data.SimpleStore({fields:['id','thema','wms','wcs'],data:[['1','Höhenmodell (SRTM)','dhm_wms','dhm_wcs'],['2','Hangneigung','slope_wms','slope_wcs']]});var storeProj=new Ext.data.SimpleStore({fields:['id','proj'],data:[['1','EPSG:900913'],['2','EPSG:31466'],['3','EPSG:31467'],['4','EPSG:31468'],['5','EPSG:31469'],['6','EPSG:32632'],['7','EPSG:32633'],['8','EPSG:32634'],['9','EPSG:32635']]})
var dragFeature=new OpenLayers.Control.TransformFeature(rectLayer,{renderIntent:"transform"});var control=new OpenLayers.Control();OpenLayers.Util.extend(control,{draw:function(){this.box=new OpenLayers.Handler.Box(control,{"done":this.notice},{keyMask:OpenLayers.Handler.MOD_NONE});this.box.activate();},notice:function(bounds){var allLayers=map.layers;var numLayers=map.getNumLayers();for(var i=0;i<numLayers;i++){if(allLayers[i].name=='auswahlLayer'){map.removeLayer(allLayers[i]);}}
var ll=map.getLonLatFromPixel(new OpenLayers.Pixel(bounds.left,bounds.bottom));var ur=map.getLonLatFromPixel(new OpenLayers.Pixel(bounds.right,bounds.top));if(dragFeature){dragFeature.destroy();}
if(map.getControlsBy('id','dragFeature')){map.removeControl(map.getControlsBy('id','dragFeature'));}
if(rectLayer.getFeatureById('wcsRect')){rectLayer.getFeatureById('wcsRect').destroy();}
proj_neu=new OpenLayers.Projection("EPSG:900913");var wkt="POLYGON(("+ll.lon+" "+ll.lat+", "+ll.lon+" "+ur.lat+", "+ur.lon+" "+ur.lat+", "+ur.lon+" "+ll.lat+"))";var wktObj=new OpenLayers.Format.WKT;var wktFeature=wktObj.read(wkt);wktFeature.id='wcsRect';rectLayer.addFeatures([wktFeature]);rectLayer.redraw();dragFeature=new OpenLayers.Control.TransformFeature(rectLayer,{renderIntent:"transform"});dragFeature.events.on({"transformcomplete":transformcompleteFeature,"beforetransform":beforetransformFeature,"transform":transformFeature});function transformFeature(){var rb=new OpenLayers.Bounds(rectLayer.getFeatureById('wcsRect').geometry.bounds.left,rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom,rectLayer.getFeatureById('wcsRect').geometry.bounds.right,rectLayer.getFeatureById('wcsRect').geometry.bounds.top);rb.transform(map.getProjectionObject(),proj_neu);Ext.getCmp('textXmin').setValue(roundNumber(rb.left,1));Ext.getCmp('textXmax').setValue(roundNumber(rb.right,1));Ext.getCmp('textYmin').setValue(roundNumber(rb.bottom,1));Ext.getCmp('textYmax').setValue(roundNumber(rb.top,1));Ext.getCmp('textArea').setValue(Math.round(rectLayer.getFeatureById('wcsRect').geometry.getGeodesicArea(new OpenLayers.Projection('EPSG:900913'))/1000000));}
function beforetransformFeature(event){var allLayers=map.layers;var numLayers=map.getNumLayers();for(var i=0;i<numLayers;i++){if(allLayers[i].name=='auswahlLayer'){map.removeLayer(allLayers[i]);}}}
function transformcompleteFeature(event){var rb2=new OpenLayers.Bounds(rectLayer.getFeatureById('wcsRect').geometry.bounds.left,rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom,rectLayer.getFeatureById('wcsRect').geometry.bounds.right,rectLayer.getFeatureById('wcsRect').geometry.bounds.top);rb2.transform(map.getProjectionObject(),proj_neu);wcsArray[6][1]=rectLayer.getFeatureById('wcsRect').geometry.bounds.left;wcsArray[6][2]=rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom;wcsArray[6][3]=rectLayer.getFeatureById('wcsRect').geometry.bounds.right;wcsArray[6][4]=rectLayer.getFeatureById('wcsRect').geometry.bounds.top;wcsLink=wcsArray[0][1]+'&'+wcsArray[1][0]+wcsArray[1][1]+'&'+wcsArray[2][0]+wcsArray[2][1]+'&'+wcsArray[3][0]+wcsArray[3][1]+'&'+wcsArray[4][0]+wcsArray[4][1]+'&'+wcsArray[5][0]+wcsArray[5][1]+'&'+wcsArray[6][0]+rb2.left+','+rb2.bottom+','+rb2.right+','+rb2.top+'&'+wcsArray[7][0]+wcsArray[7][1]+'&'+wcsArray[8][0]+wcsArray[8][1]+'&'+wcsArray[9][0]+wcsArray[9][1];var c=Ext.getCmp('downloadFormPanel');if(c.items.items.length){c.remove(c.items.items[8]);};if(Ext.getCmp('textArea').getValue()<=20000){c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center;"><a href='+wcsLink+' style="font-size:2em;">Downloadlink</a></div></td>'+'</tr>'+'</table>'}]});}else{c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center; cursor: pointer;"><span style="font-size:2em" onClick="alert(\'Der Download ist auf ein Fl&auml;che von < 20000 km&sup2; begrenzt\')">Downloadlink</span></div></td>'+'</tr>'+'</table>'}]});}
c.doLayout();var pix_width=roundNumber((rectLayer.getFeatureById('wcsRect').geometry.bounds.right-rectLayer.getFeatureById('wcsRect').geometry.bounds.left)/map.getResolution(),0);var pix_height=roundNumber((rectLayer.getFeatureById('wcsRect').geometry.bounds.top-rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom)/map.getResolution(),0);var bfin=new OpenLayers.Bounds(wcsArray[6][1],wcsArray[6][2],wcsArray[6][1]+(map.getResolution()*pix_width),wcsArray[6][2]+(map.getResolution()*pix_height));var auswahlLayer=new OpenLayers.Layer.WMS('auswahlLayer','http://visdat.de/cgi-bin/wcs_visdat?',{layers:wcsArray[10][1],transparent:'true'},{'isBaseLayer':false,projection:projection,tileSize:new OpenLayers.Size(pix_width,pix_height),maxExtent:bfin,displayOutsideMaxExtent:false});auswahlLayer.mergeNewParams({'random':Math.random()});map.addLayer(auswahlLayer);auswahlLayer.redraw();};dragFeature.id='dragFeature';map.addControl(dragFeature);dragFeature.activate();var wcsArray=[['url','http://visdat.de/cgi-bin/wcs_visdat?'],['SERVICE=','wcs'],['VERSION=','1.0.0'],['REQUEST=','GetCoverage'],['CRS=','EPSG:900913'],['COVERAGE=','dhm_wcs'],['BBOX=',ll.lon,ll.lat,ur.lon,ur.lat],['RESX=','90'],['RESY=','90'],['FORMAT=','GEOTIFF_FLOAT'],['WMS_Layer=','dhm_wms']];var wcsLink=wcsArray[0][1]+'&'+wcsArray[1][0]+wcsArray[1][1]+'&'+wcsArray[2][0]+wcsArray[2][1]+'&'+wcsArray[3][0]+wcsArray[3][1]+'&'+wcsArray[4][0]+wcsArray[4][1]+'&'+wcsArray[5][0]+wcsArray[5][1]+'&'+wcsArray[6][0]+wcsArray[6][1]+','+wcsArray[6][2]+','+wcsArray[6][3]+','+wcsArray[6][4]+'&'+wcsArray[7][0]+wcsArray[7][1]+'&'+wcsArray[8][0]+wcsArray[8][1]+'&'+wcsArray[9][0]+wcsArray[9][1];var pix_ll=new OpenLayers.Pixel(bounds.left,bounds.bottom);var pix_ur=new OpenLayers.Pixel(bounds.right,bounds.top);var pix_width=roundNumber((pix_ur.x-pix_ll.x),0);var pix_height=roundNumber((pix_ll.y-pix_ur.y),0);var bfin=new OpenLayers.Bounds(ll.lon,ll.lat,ll.lon+(pix_width*map.getResolution()),ll.lat+(pix_height*map.getResolution()));var allLayers=map.layers;var numLayers=map.getNumLayers();for(var i=0;i<numLayers;i++){if(allLayers[i].name=='auswahlLayer'){map.removeLayer(allLayers[i]);}}
var auswahlLayer=new OpenLayers.Layer.WMS('auswahlLayer','http://visdat.de/cgi-bin/wcs_visdat?',{layers:wcsArray[10][1],transparent:'true'},{'isBaseLayer':false,projection:projection,tileSize:new OpenLayers.Size(pix_width,pix_height),maxExtent:bfin,displayOutsideMaxExtent:false});map.addLayer(auswahlLayer);function zoomWMS(){if(Ext.getCmp('downloadWindow')){var allLayers=map.layers;var numLayers=map.getNumLayers();for(var i=0;i<numLayers;i++){if(allLayers[i].name=='auswahlLayer'){map.removeLayer(allLayers[i]);}}
var bfin=new OpenLayers.Bounds(wcsArray[6][1],wcsArray[6][2],wcsArray[6][3],wcsArray[6][4]);var pix_width=((wcsArray[6][3]-wcsArray[6][1])/map.getResolution());var pix_height=((wcsArray[6][4]-wcsArray[6][2])/map.getResolution());var auswahlLayer=new OpenLayers.Layer.WMS('auswahlLayer','http://visdat.de/cgi-bin/wcs_visdat?',{layers:wcsArray[10][1],transparent:'true'},{'isBaseLayer':false,projection:projection,tileSize:new OpenLayers.Size(pix_width,pix_height),maxExtent:bfin,displayOutsideMaxExtent:false});auswahlLayer.mergeNewParams({'random':Math.random()});var allLayers=map.layers;var numLayers=map.getNumLayers();for(var i=0;i<numLayers;i++){if(allLayers[i].name=='rectLayer'){map.addLayer(auswahlLayer);auswahlLayer.redraw();}}}}
map.events.register('zoomend',map,zoomWMS);if(Ext.getCmp('downloadWindow')){Ext.getCmp('downloadWindow').destroy();}
var win=new Ext.Window({id:'downloadWindow',title:'Download',layout:'auto',sizeable:false,resizable:false,closable:true,width:300,height:280,border:false,x:705,y:205,autoScroll:false,items:new Ext.FormPanel({id:'downloadFormPanel',frame:true,height:250,width:300,margins:{top:'5px'},items:[{xtype:'combo',id:'comboThema',fieldLabel:'Thema',forceSelection:true,typeAhead:true,triggerAction:'all',selectOnFocus:true,emptyText:'Höhenmodell (SRTM) ',mode:'local',store:storeThema,displayField:'thema',valueField:'thema',editable:true,width:145,listeners:{'select':function(f,r,i){if(Ext.getCmp('comboFormat').getValue()=='JPEG'){wcsArray[10][1]=r.data.wms;wcsArray[5][1]=r.data.wms;}else{wcsArray[10][1]=r.data.wms;wcsArray[5][1]=r.data.wcs;}
var rb2=new OpenLayers.Bounds(rectLayer.getFeatureById('wcsRect').geometry.bounds.left,rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom,rectLayer.getFeatureById('wcsRect').geometry.bounds.right,rectLayer.getFeatureById('wcsRect').geometry.bounds.top);rb2.transform(map.getProjectionObject(),proj_neu);wcsLink=wcsArray[0][1]+'&'+wcsArray[1][0]+wcsArray[1][1]+'&'+wcsArray[2][0]+wcsArray[2][1]+'&'+wcsArray[3][0]+wcsArray[3][1]+'&'+wcsArray[4][0]+wcsArray[4][1]+'&'+wcsArray[5][0]+wcsArray[5][1]+'&'+wcsArray[6][0]+rb2.left+','+rb2.bottom+','+rb2.right+','+rb2.top+'&'+wcsArray[7][0]+wcsArray[7][1]+'&'+wcsArray[8][0]+wcsArray[8][1]+'&'+wcsArray[9][0]+wcsArray[9][1];var pix_width=roundNumber((rectLayer.getFeatureById('wcsRect').geometry.bounds.right-rectLayer.getFeatureById('wcsRect').geometry.bounds.left)/map.getResolution(),0);var pix_height=roundNumber((rectLayer.getFeatureById('wcsRect').geometry.bounds.top-rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom)/map.getResolution(),0);var bfin=new OpenLayers.Bounds(wcsArray[6][1],wcsArray[6][2],wcsArray[6][1]+(pix_width*map.getResolution()),wcsArray[6][2]+(pix_height*map.getResolution()));var allLayers=map.layers;var numLayers=map.getNumLayers();for(var i=0;i<numLayers;i++){if(allLayers[i].name=='auswahlLayer'){map.removeLayer(allLayers[i]);}}
var auswahlLayer=new OpenLayers.Layer.WMS('auswahlLayer','http://visdat.de/cgi-bin/wcs_visdat?',{layers:wcsArray[10][1],transparent:'true'},{'isBaseLayer':false,projection:projection,tileSize:new OpenLayers.Size(pix_width,pix_height),maxExtent:bfin,displayOutsideMaxExtent:false});auswahlLayer.mergeNewParams({'random':Math.random()});map.addLayer(auswahlLayer);auswahlLayer.redraw();var c=Ext.getCmp('downloadFormPanel');if(c.items.items.length){c.remove(c.items.items[8]);};if(Ext.getCmp('textArea').getValue()<=20000){c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center;"><a href='+wcsLink+' style="font-size:2em;">Downloadlink</a></div></td>'+'</tr>'+'</table>'}]});}else{c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center; cursor: pointer;"><span style="font-size:2em" onClick="alert(\'Der Download ist auf ein Fl&auml;che von < 20000 km&sup2; begrenzt\')">Downloadlink</span></div></td>'+'</tr>'+'</table>'}]});}
c.doLayout();}}},{xtype:'combo',id:'comboFormat',fieldLabel:'Format',forceSelection:true,typeAhead:true,triggerAction:'all',selectOnFocus:true,emptyText:'GeoTIFF ',mode:'local',store:storeFormat,displayField:'format',valueField:'format',editable:true,width:145,listeners:{'select':function(f,r,i){if(r.data.format=='JPEG'){if(Ext.getCmp('comboThema').getValue()=='Höhenmodell (SRTM)'){wcsArray[10][1]='dhm_wms';wcsArray[5][1]='dhm_wms';}else{wcsArray[10][1]='slope_wms';wcsArray[5][1]='slope_wms';}}else{if(Ext.getCmp('comboThema').getValue()=='Höhenmodell (SRTM)'){wcsArray[10][1]='dhm_wms';wcsArray[5][1]='dhm_wcs';}else{wcsArray[10][1]='slope_wms';wcsArray[5][1]='slope_wcs';}}
wcsArray[9][1]=r.data.format;var rb2=new OpenLayers.Bounds(rectLayer.getFeatureById('wcsRect').geometry.bounds.left,rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom,rectLayer.getFeatureById('wcsRect').geometry.bounds.right,rectLayer.getFeatureById('wcsRect').geometry.bounds.top);rb2.transform(map.getProjectionObject(),proj_neu);wcsLink=wcsArray[0][1]+'&'+wcsArray[1][0]+wcsArray[1][1]+'&'+wcsArray[2][0]+wcsArray[2][1]+'&'+wcsArray[3][0]+wcsArray[3][1]+'&'+wcsArray[4][0]+wcsArray[4][1]+'&'+wcsArray[5][0]+wcsArray[5][1]+'&'+wcsArray[6][0]+rb2.left+','+rb2.bottom+','+rb2.right+','+rb2.top+'&'+wcsArray[7][0]+wcsArray[7][1]+'&'+wcsArray[8][0]+wcsArray[8][1]+'&'+wcsArray[9][0]+wcsArray[9][1];var c=Ext.getCmp('downloadFormPanel');if(c.items.items.length){c.remove(c.items.items[8]);};if(Ext.getCmp('textArea').getValue()<=20000){c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center;"><a href='+wcsLink+' style="font-size:2em;">Downloadlink</a></div></td>'+'</tr>'+'</table>'}]});}else{c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center; cursor: pointer;"><span style="font-size:2em" onClick="alert(\'Der Download ist auf ein Fl&auml;che von < 20000 km&sup2; begrenzt\')">Downloadlink</span></div></td>'+'</tr>'+'</table>'}]});}
c.doLayout();}}},{xtype:'combo',id:'comboProj',fieldLabel:'Projektion',forceSelection:true,typeAhead:true,triggerAction:'all',selectOnFocus:true,emptyText:'EPSG:900913 ',mode:'local',store:storeProj,displayField:'proj',valueField:'proj',editable:true,width:145,listeners:{'select':function(f,r,i){wcsArray[4][1]=r.data.proj;proj_neu=new OpenLayers.Projection(wcsArray[4][1]);var rb2=new OpenLayers.Bounds(rectLayer.getFeatureById('wcsRect').geometry.bounds.left,rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom,rectLayer.getFeatureById('wcsRect').geometry.bounds.right,rectLayer.getFeatureById('wcsRect').geometry.bounds.top);rb2.transform(map.getProjectionObject(),proj_neu);proj_alt=new OpenLayers.Projection(wcsArray[4][1]);wcsLink=wcsArray[0][1]+'&'+wcsArray[1][0]+wcsArray[1][1]+'&'+wcsArray[2][0]+wcsArray[2][1]+'&'+wcsArray[3][0]+wcsArray[3][1]+'&'+wcsArray[4][0]+wcsArray[4][1]+'&'+wcsArray[5][0]+wcsArray[5][1]+'&'+wcsArray[6][0]+rb2.left+','+rb2.bottom+','+rb2.right+','+rb2.top+'&'+wcsArray[7][0]+wcsArray[7][1]+'&'+wcsArray[8][0]+wcsArray[8][1]+'&'+wcsArray[9][0]+wcsArray[9][1];Ext.getCmp('textXmin').setValue(roundNumber(rb2.left,1));Ext.getCmp('textXmax').setValue(roundNumber(rb2.right,1));Ext.getCmp('textYmin').setValue(roundNumber(rb2.bottom,1));Ext.getCmp('textYmax').setValue(roundNumber(rb2.top,1));Ext.getCmp('textArea').setValue(Math.round(rectLayer.getFeatureById('wcsRect').geometry.getGeodesicArea(new OpenLayers.Projection('EPSG:900913'))/1000000));var c=Ext.getCmp('downloadFormPanel');if(c.items.items.length){c.remove(c.items.items[8]);};if(Ext.getCmp('textArea').getValue()<=20000){c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center;"><a href='+wcsLink+' style="font-size:2em;">Downloadlink</a></div></td>'+'</tr>'+'</table>'}]});}else{c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center; cursor: pointer;"><span style="font-size:2em" onClick="alert(\'Der Download ist auf ein Fl&auml;che von < 20000 km&sup2; begrenzt\')">Downloadlink</span></div></td>'+'</tr>'+'</table>'}]});}
c.doLayout();}}},{xtype:'textfield',id:'textXmin',vtype:'numeric',width:127,fieldLabel:'x min',emptyText:ll.lon.toFixed(1),listeners:{change:function(){var a=new OpenLayers.Bounds(Ext.get('textXmin').getValue(),Ext.get('textYmin').getValue(),Ext.get('textXmax').getValue(),Ext.get('textYmax').getValue());a.transform(proj_neu,map.getProjectionObject());wcsArray[6][1]=a.left;var rb2=new OpenLayers.Bounds(rectLayer.getFeatureById('wcsRect').geometry.bounds.left,rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom,rectLayer.getFeatureById('wcsRect').geometry.bounds.right,rectLayer.getFeatureById('wcsRect').geometry.bounds.top);rb2.transform(map.getProjectionObject(),proj_neu);wcsLink=wcsArray[0][1]+'&'+wcsArray[1][0]+wcsArray[1][1]+'&'+wcsArray[2][0]+wcsArray[2][1]+'&'+wcsArray[3][0]+wcsArray[3][1]+'&'+wcsArray[4][0]+wcsArray[4][1]+'&'+wcsArray[5][0]+wcsArray[5][1]+'&'+wcsArray[6][0]+rb2.left+','+rb2.bottom+','+rb2.right+','+rb2.top+'&'+wcsArray[7][0]+wcsArray[7][1]+'&'+wcsArray[8][0]+wcsArray[8][1]+'&'+wcsArray[9][0]+wcsArray[9][1];dragFeature.deactivate();rectLayer.destroyFeatures()
var wkt="POLYGON(("+wcsArray[6][1]+" "+wcsArray[6][2]+", "+wcsArray[6][1]+" "+wcsArray[6][4]+", "+wcsArray[6][3]+" "+wcsArray[6][4]+", "+wcsArray[6][3]+" "+wcsArray[6][2]+", "+wcsArray[6][1]+" "+wcsArray[6][2]+"))";var wktFeature=wktObj.read(wkt);wktFeature.id='wcsRect';rectLayer.addFeatures([wktFeature]);rectLayer.redraw();dragFeature.setFeature(wktFeature,{rotation:0,scale:1,ratio:1});dragFeature.activate();var pix_width=((rectLayer.getFeatureById('wcsRect').geometry.bounds.right-rectLayer.getFeatureById('wcsRect').geometry.bounds.left)/map.getResolution());var pix_height=((rectLayer.getFeatureById('wcsRect').geometry.bounds.top-rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom)/map.getResolution());var allLayers=map.layers;var numLayers=map.getNumLayers();for(var i=0;i<numLayers;i++){if(allLayers[i].name=='auswahlLayer'){map.removeLayer(allLayers[i]);}}
var auswahlLayer=new OpenLayers.Layer.WMS('auswahlLayer','http://visdat.de/cgi-bin/wcs_visdat?',{layers:wcsArray[10][1],transparent:'true'},{'isBaseLayer':false,projection:projection,tileSize:new OpenLayers.Size(pix_width,pix_height),maxExtent:rectLayer.getFeatureById('wcsRect').geometry.bounds,displayOutsideMaxExtent:false});auswahlLayer.mergeNewParams({'random':Math.random()});Ext.getCmp('textArea').setValue(Math.round(rectLayer.getFeatureById('wcsRect').geometry.getGeodesicArea(new OpenLayers.Projection('EPSG:900913'))/1000000));map.addLayer(auswahlLayer);auswahlLayer.redraw();var c=Ext.getCmp('downloadFormPanel');if(c.items.items.length){c.remove(c.items.items[8]);};if(Ext.getCmp('textArea').getValue()<=20000){c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center;"><a href='+wcsLink+' style="font-size:2em;">Downloadlink</a></div></td>'+'</tr>'+'</table>'}]});}else{c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center; cursor: pointer;"><span style="font-size:2em" onClick="alert(\'Der Download ist auf ein Fl&auml;che von < 20000 km&sup2; begrenzt\')">Downloadlink</span></div></td>'+'</tr>'+'</table>'}]});}
c.doLayout();}}},{xtype:'textfield',id:'textXmax',fieldLabel:'x max',vtype:'numeric',width:127,emptyText:ur.lon.toFixed(1),listeners:{change:function(){var a=new OpenLayers.Bounds(Ext.get('textXmin').getValue(),Ext.get('textYmin').getValue(),Ext.get('textXmax').getValue(),Ext.get('textYmax').getValue());a.transform(proj_neu,map.getProjectionObject());wcsArray[6][3]=a.right;var rb2=new OpenLayers.Bounds(rectLayer.getFeatureById('wcsRect').geometry.bounds.left,rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom,rectLayer.getFeatureById('wcsRect').geometry.bounds.right,rectLayer.getFeatureById('wcsRect').geometry.bounds.top);rb2.transform(map.getProjectionObject(),proj_neu);wcsLink=wcsArray[0][1]+'&'+wcsArray[1][0]+wcsArray[1][1]+'&'+wcsArray[2][0]+wcsArray[2][1]+'&'+wcsArray[3][0]+wcsArray[3][1]+'&'+wcsArray[4][0]+wcsArray[4][1]+'&'+wcsArray[5][0]+wcsArray[5][1]+'&'+wcsArray[6][0]+rb2.left+','+rb2.bottom+','+rb2.right+','+rb2.top+'&'+wcsArray[7][0]+wcsArray[7][1]+'&'+wcsArray[8][0]+wcsArray[8][1]+'&'+wcsArray[9][0]+wcsArray[9][1];dragFeature.deactivate();rectLayer.destroyFeatures()
var wkt="POLYGON(("+wcsArray[6][1]+" "+wcsArray[6][2]+", "+wcsArray[6][1]+" "+wcsArray[6][4]+", "+wcsArray[6][3]+" "+wcsArray[6][4]+", "+wcsArray[6][3]+" "+wcsArray[6][2]+", "+wcsArray[6][1]+" "+wcsArray[6][2]+"))";var wktFeature=wktObj.read(wkt);wktFeature.id='wcsRect';rectLayer.addFeatures([wktFeature]);rectLayer.redraw();dragFeature.setFeature(wktFeature,{rotation:0,scale:1,ratio:1});dragFeature.activate();var pix_width=((rectLayer.getFeatureById('wcsRect').geometry.bounds.right-rectLayer.getFeatureById('wcsRect').geometry.bounds.left)/map.getResolution());var pix_height=((rectLayer.getFeatureById('wcsRect').geometry.bounds.top-rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom)/map.getResolution());var allLayers=map.layers;var numLayers=map.getNumLayers();for(var i=0;i<numLayers;i++){if(allLayers[i].name=='auswahlLayer'){map.removeLayer(allLayers[i]);}}
var auswahlLayer=new OpenLayers.Layer.WMS('auswahlLayer','http://visdat.de/cgi-bin/wcs_visdat?',{layers:wcsArray[10][1],transparent:'true'},{'isBaseLayer':false,projection:projection,tileSize:new OpenLayers.Size(pix_width,pix_height),maxExtent:rectLayer.getFeatureById('wcsRect').geometry.bounds,displayOutsideMaxExtent:false});auswahlLayer.mergeNewParams({'random':Math.random()});Ext.getCmp('textArea').setValue(Math.round(rectLayer.getFeatureById('wcsRect').geometry.getGeodesicArea(new OpenLayers.Projection('EPSG:900913'))/1000000));map.addLayer(auswahlLayer);auswahlLayer.redraw();var c=Ext.getCmp('downloadFormPanel');if(c.items.items.length){c.remove(c.items.items[8]);};if(Ext.getCmp('textArea').getValue()<=20000){c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center;"><a href='+wcsLink+' style="font-size:2em;">Downloadlink</a></div></td>'+'</tr>'+'</table>'}]});}else{c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center; cursor: pointer;"><span style="font-size:2em" onClick="alert(\'Der Download ist auf ein Fl&auml;che von < 20000 km&sup2; begrenzt\')">Downloadlink</span></div></td>'+'</tr>'+'</table>'}]});}
c.doLayout();}}},{xtype:'textfield',id:'textYmin',fieldLabel:'y min',vtype:'numeric',width:127,emptyText:ll.lat.toFixed(1),listeners:{change:function(){var a=new OpenLayers.Bounds(Ext.get('textXmin').getValue(),Ext.get('textYmin').getValue(),Ext.get('textXmax').getValue(),Ext.get('textYmax').getValue());a.transform(proj_neu,map.getProjectionObject());wcsArray[6][2]=a.bottom;var rb2=new OpenLayers.Bounds(rectLayer.getFeatureById('wcsRect').geometry.bounds.left,rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom,rectLayer.getFeatureById('wcsRect').geometry.bounds.right,rectLayer.getFeatureById('wcsRect').geometry.bounds.top);rb2.transform(map.getProjectionObject(),proj_neu);wcsLink=wcsArray[0][1]+'&'+wcsArray[1][0]+wcsArray[1][1]+'&'+wcsArray[2][0]+wcsArray[2][1]+'&'+wcsArray[3][0]+wcsArray[3][1]+'&'+wcsArray[4][0]+wcsArray[4][1]+'&'+wcsArray[5][0]+wcsArray[5][1]+'&'+wcsArray[6][0]+rb2.left+','+rb2.bottom+','+rb2.right+','+rb2.top+'&'+wcsArray[7][0]+wcsArray[7][1]+'&'+wcsArray[8][0]+wcsArray[8][1]+'&'+wcsArray[9][0]+wcsArray[9][1];dragFeature.deactivate();rectLayer.destroyFeatures()
var wkt="POLYGON(("+wcsArray[6][1]+" "+wcsArray[6][2]+", "+wcsArray[6][1]+" "+wcsArray[6][4]+", "+wcsArray[6][3]+" "+wcsArray[6][4]+", "+wcsArray[6][3]+" "+wcsArray[6][2]+", "+wcsArray[6][1]+" "+wcsArray[6][2]+"))";var wktFeature=wktObj.read(wkt);wktFeature.id='wcsRect';rectLayer.addFeatures([wktFeature]);rectLayer.redraw();dragFeature.setFeature(wktFeature,{rotation:0,scale:1,ratio:1});dragFeature.activate();var pix_width=((rectLayer.getFeatureById('wcsRect').geometry.bounds.right-rectLayer.getFeatureById('wcsRect').geometry.bounds.left)/map.getResolution());var pix_height=((rectLayer.getFeatureById('wcsRect').geometry.bounds.top-rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom)/map.getResolution());var allLayers=map.layers;var numLayers=map.getNumLayers();for(var i=0;i<numLayers;i++){if(allLayers[i].name=='auswahlLayer'){map.removeLayer(allLayers[i]);}}
var auswahlLayer=new OpenLayers.Layer.WMS('auswahlLayer','http://visdat.de/cgi-bin/wcs_visdat?',{layers:wcsArray[10][1],transparent:'true'},{'isBaseLayer':false,projection:projection,tileSize:new OpenLayers.Size(pix_width,pix_height),maxExtent:rectLayer.getFeatureById('wcsRect').geometry.bounds,displayOutsideMaxExtent:false});auswahlLayer.mergeNewParams({'random':Math.random()});Ext.getCmp('textArea').setValue(Math.round(rectLayer.getFeatureById('wcsRect').geometry.getGeodesicArea(new OpenLayers.Projection('EPSG:900913'))/1000000));map.addLayer(auswahlLayer);auswahlLayer.redraw();var c=Ext.getCmp('downloadFormPanel');if(c.items.items.length){c.remove(c.items.items[8]);};if(Ext.getCmp('textArea').getValue()<=20000){c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center;"><a href='+wcsLink+' style="font-size:2em;">Downloadlink</a></div></td>'+'</tr>'+'</table>'}]});}else{c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center; cursor: pointer;"><span style="font-size:2em" onClick="alert(\'Der Download ist auf ein Fl&auml;che von < 20000 km&sup2; begrenzt\')">Downloadlink</span></div></td>'+'</tr>'+'</table>'}]});}
c.doLayout();}}},{xtype:'textfield',id:'textYmax',fieldLabel:'y max',vtype:'numeric',width:127,emptyText:ur.lat.toFixed(1),listeners:{change:function(){var a=new OpenLayers.Bounds(Ext.get('textXmin').getValue(),Ext.get('textYmin').getValue(),Ext.get('textXmax').getValue(),Ext.get('textYmax').getValue());a.transform(proj_neu,map.getProjectionObject());wcsArray[6][4]=a.top;var rb2=new OpenLayers.Bounds(rectLayer.getFeatureById('wcsRect').geometry.bounds.left,rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom,rectLayer.getFeatureById('wcsRect').geometry.bounds.right,rectLayer.getFeatureById('wcsRect').geometry.bounds.top);rb2.transform(map.getProjectionObject(),proj_neu);wcsLink=wcsArray[0][1]+'&'+wcsArray[1][0]+wcsArray[1][1]+'&'+wcsArray[2][0]+wcsArray[2][1]+'&'+wcsArray[3][0]+wcsArray[3][1]+'&'+wcsArray[4][0]+wcsArray[4][1]+'&'+wcsArray[5][0]+wcsArray[5][1]+'&'+wcsArray[6][0]+rb2.left+','+rb2.bottom+','+rb2.right+','+rb2.top+'&'+wcsArray[7][0]+wcsArray[7][1]+'&'+wcsArray[8][0]+wcsArray[8][1]+'&'+wcsArray[9][0]+wcsArray[9][1];dragFeature.deactivate();rectLayer.destroyFeatures()
var wkt="POLYGON(("+wcsArray[6][1]+" "+wcsArray[6][2]+", "+wcsArray[6][1]+" "+wcsArray[6][4]+", "+wcsArray[6][3]+" "+wcsArray[6][4]+", "+wcsArray[6][3]+" "+wcsArray[6][2]+", "+wcsArray[6][1]+" "+wcsArray[6][2]+"))";var wktFeature=wktObj.read(wkt);wktFeature.id='wcsRect';rectLayer.addFeatures([wktFeature]);rectLayer.redraw();dragFeature.setFeature(wktFeature,{rotation:0,scale:1,ratio:1});dragFeature.activate();var pix_width=((rectLayer.getFeatureById('wcsRect').geometry.bounds.right-rectLayer.getFeatureById('wcsRect').geometry.bounds.left)/map.getResolution());var pix_height=((rectLayer.getFeatureById('wcsRect').geometry.bounds.top-rectLayer.getFeatureById('wcsRect').geometry.bounds.bottom)/map.getResolution());var allLayers=map.layers;var numLayers=map.getNumLayers();for(var i=0;i<numLayers;i++){if(allLayers[i].name=='auswahlLayer'){map.removeLayer(allLayers[i]);}}
var auswahlLayer=new OpenLayers.Layer.WMS('auswahlLayer','http://visdat.de/cgi-bin/wcs_visdat?',{layers:wcsArray[10][1],transparent:'true'},{'isBaseLayer':false,projection:projection,tileSize:new OpenLayers.Size(pix_width,pix_height),maxExtent:rectLayer.getFeatureById('wcsRect').geometry.bounds,displayOutsideMaxExtent:false});auswahlLayer.mergeNewParams({'random':Math.random()});map.addLayer(auswahlLayer);auswahlLayer.redraw();Ext.getCmp('textArea').setValue(Math.round(rectLayer.getFeatureById('wcsRect').geometry.getGeodesicArea(new OpenLayers.Projection('EPSG:900913'))/1000000));var c=Ext.getCmp('downloadFormPanel');if(c.items.items.length){c.remove(c.items.items[8]);};if(Ext.getCmp('textArea').getValue()<=20000){c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center;"><a href='+wcsLink+' style="font-size:2em;">Downloadlink</a></div></td>'+'</tr>'+'</table>'}]});}else{c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center; cursor: pointer;"><span style="font-size:2em" onClick="alert(\'Der Download ist auf ein Fl&auml;che von < 20000 km&sup2; begrenzt\')">Downloadlink</span></div></td>'+'</tr>'+'</table>'}]});}
c.doLayout();}}},{xtype:'textfield',id:'textArea',width:127,fieldLabel:'Fl&auml;che [km&sup2;]',vtype:'numeric',disabled:true,emptyText:Math.round(wktFeature.geometry.getGeodesicArea(new OpenLayers.Projection('EPSG:900913'))/1000000)},{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center;"><a href='+wcsLink+' style="font-size:2em;" target="_blank">Downloadlink</a></div></td>'+'</tr>'+'</table>'}]})});win.show(this);var c=Ext.getCmp('downloadFormPanel');if(c.items.items.length){c.remove(c.items.items[8]);};if(Ext.getCmp('textArea').getValue()<=20000){c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center;"><a href='+wcsLink+' style="font-size:2em;">Downloadlink</a></div></td>'+'</tr>'+'</table>'}]});}else{c.add({items:[{html:'<table width="99%" border="0">'+'<tr>'+'<td height="99%"><div style="text-align: center; cursor: pointer;"><span style="font-size:2em" onClick="alert(\'Der Download ist auf ein Fl&auml;che von < 20000 km&sup2; begrenzt\')">Downloadlink</span></div></td>'+'</tr>'+'</table>'}]});}
c.doLayout();Ext.getCmp('comboFormat').setValue(wcsArray[9][1]);Ext.getCmp('comboProj').setValue(wcsArray[4][1]);Ext.getCmp('comboThema').setValue("Höhenmodell (SRTM)");Ext.getCmp('downloadWindow').on('close',function(){if(Ext.getCmp('clipMap-btn').pressed==true){Ext.getCmp('clipMap-btn').toggle();}
if(Ext.getCmp('drag-btn').pressed==false){Ext.getCmp('drag-btn').toggle();}
if(rectLayer){rectLayer.destroyFeatures();map.removeLayer(rectLayer);}
var allLayers=map.layers;var numLayers=map.getNumLayers();for(var i=0;i<numLayers;i++){if(allLayers[i].name=='auswahlLayer'){map.removeLayer(allLayers[i]);}}
map.removeControl(control);control.deactivate();control.destroy();});}});map.addControl(control);}
var tbar=visdat.f_tbar(map,tbarHeight,tbarHidden,tbarArray,treemodel,layerArray,layertree,startZoom,centerMap,helpURL);var bbar=visdat.f_bbar(map,bbarHeight,bbarHidden,bbarArray);visdat.buildLegendPanel(layerArray,layertree,legendArray,map);visdat.f_mapPanel(zielElement);visdat.f_mapComponent(map,tbar,bbar);map.setCenter(centerMap,startZoom);}
if(navi=='googleMaps'){OpenLayers.ProxyHost="/cgi-bin/proxy.cgi?url=";Ext.getDom('map1').innerHTML='';var layerPatente;var googleLayerArray=[[1,"http://visdat.de/cgi-bin/google_bsp?","patente06","Patentanmeldungen 2006","patente06","default","image/png","1.1.1"],[2,"http://visdat.de/cgi-bin/google_bsp?","patente04","Patentanmeldungen 2004","patente04","default","image/png","1.1.1"],[3,"http://visdat.de/cgi-bin/google_bsp?","patente02","Patentanmeldungen 2002","patente02","default","image/png","1.1.1"],[4,"http://visdat.de/cgi-bin/google_bsp?","patente00","Patentanmeldungen 2000","patente00","default","image/png","1.1.1"],[5,"http://visdat.de/cgi-bin/google_bsp?","patente98","Patentanmeldungen 1998","patente98","default","image/png","1.1.1"],[6,"http://visdat.de/cgi-bin/google_bsp?","patente96","Patentanmeldungen 1996","patente96","default","image/png","1.1.1"]]
visdat.googleHelpWindow=function(){if(!Ext.getCmp('helpWindow')){var win;if(!win){win=new Ext.Window({id:'helpWindow',layout:'auto',title:'Erläuterung',sizeable:true,width:420,height:200,border:false,x:280,y:420,autoScroll:true});};}
else{var win=Ext.getCmp('helpWindow');}
win.on('close',function(){if(Ext.getCmp('help-btn')){Ext.getCmp('help-btn').toggle(false);}});win.show(this);Ext.getCmp('helpWindow').load('./contents/hilfe_google.html');}
visdat.googleLegendPanel=function(){var request='';request+='<img src=http://visdat.de/cgi-bin/google_bsp?SERVICE=WMS&VERSION=1.1.1&layer=patente06&REQUEST=getlegendgraphic&FORMAT=image/png>';request+='<br>';return request;};visdat.googleShowLegend=function(){if(!Ext.getCmp('legendWindow')){var win;if(!win){win=new Ext.Window({id:'legendWindow',layout:'auto',title:'Legende',sizeable:true,width:200,height:310,autoScroll:true,items:[{html:visdat.googleLegendPanel()}]});};}
else{var win=Ext.getCmp('legendWindow');}
win.on('close',function(){if(Ext.getCmp('legend-btn').pressed==true){Ext.getCmp('legend-btn').toggle();}});win.show(this);};visdat.googleCreateHtml=function(qryURL){Ext.chart.Chart.CHART_URL='../../../geo/ext-3.2.1/resources/charts.swf';var rt=Ext.data.Record.create([{name:'jahr'},{name:'wert'}]);var pivotStore=new Ext.data.Store({reader:new Ext.data.ArrayReader({idIndex:0},rt),listeners:{datachanged:function(store){if(Ext.getCmp('chartPanel')){Ext.getCmp('chartPanel').doLayout();}}}});var qrystore=new GeoExt.data.FeatureStore({proxy:new GeoExt.data.ProtocolProxy({protocol:new OpenLayers.Protocol.HTTP({url:qryURL,format:new OpenLayers.Format.GML()})}),fields:[{name:'serial'},{name:'geo'},{name:'data95'},{name:'data96'},{name:'data97'},{name:'data98'},{name:'data99'},{name:'data00'},{name:'data01'},{name:'data02'},{name:'data03'},{name:'data04'},{name:'data05'},{name:'data06'}],autoLoad:true,listeners:{datachanged:function(store){store.each(function(r){var bez=new Array();bez[0]='serial';bez[1]='geo';bez[2]='data06';bez[3]='data05';bez[4]='data04';bez[5]='data03';bez[6]='data02';bez[7]='data01';bez[8]='data00';bez[9]='data99';bez[10]='data98';bez[11]='data97';bez[12]='data96';bez[13]='data95';for(var i=2;i<14;i++){var wert=parseFloat(r.data[bez[i]]);var layerData={jahr:2006-(i-2),wert:wert};var recId=i;var rec=new pivotStore.recordType(layerData,++recId);pivotStore.insert(0,rec);}})}}});drawChartPanel=function(){var chartPanel=new Ext.Panel({width:400,height:250,layout:'fit',id:'chartPanel',items:{xtype:'linechart',store:pivotStore,xField:'jahr',yField:'wert',chartStyle:{padding:10,animationEnabled:true,font:{name:'Tahoma',color:0x444444,size:11},dataTip:{padding:5,border:{color:0x99bbe8,size:1},background:{color:0xDAE7F6,alpha:.8},font:{name:'Tahoma',color:0x15428B,size:10,bold:true}},xAxis:{color:0x69aBc8,majorTicks:{color:0x69aBc8,length:4},minorTicks:{color:0x69aBc8,length:2},majorGridLines:{size:1,color:0xeeeeee}},yAxis:{color:0x69aBc8,majorTicks:{color:0x69aBc8,length:4},minorTicks:{color:0x69aBc8,length:2},majorGridLines:{size:1,color:0xdfe8f6}}}}});if(Ext.getCmp('queryWindow')){if(Ext.getCmp('queryWindow').items.items.length){Ext.getCmp('queryWindow').remove(Ext.getCmp('queryWindow').items.items[0]);};Ext.getCmp('queryWindow').add({items:[chartPanel]});Ext.getCmp('queryWindow').doLayout();};}
drawChartPanel();}
visdat.googleInitQuery=function(){var layerName;var request;var qryURL;request='Klicken Sie für weitere Informationen in die Karte';GEvent.addListener(map,"click",function(overlay,latlng){if(latlng){x=latlng.lng();y=latlng.lat();var latlngOl=new OpenLayers.LonLat(x,y);var proj1=new OpenLayers.Projection("EPSG:4326");var proj2=new OpenLayers.Projection("EPSG:900913");latlngOl.transform(proj1,proj2);var bbox=new OpenLayers.Bounds(latlngOl.lon-10,latlngOl.lat-10,latlngOl.lon+10,latlngOl.lat+10).toBBOX(),qryURL='http://visdat.de/cgi-bin/google_bsp?request=GetFeature&SERVICE=WFS&VERSION=1.0.0&BBOX='+bbox+'&TYPENAME=patente06'}
request=visdat.googleCreateHtml(qryURL);});return request;}
visdat.googleShowQuery=function(){if(!Ext.getCmp('queryWindow')){var win;if(!win){win=new Ext.Window({id:'queryWindow',layout:'fit',title:'Patentanmeldungen 1995-2006',sizeable:false,resizable:false,width:400,height:280,x:50,items:[{html:visdat.googleInitQuery()}]});};}
else{var win=Ext.getCmp('queryWindow');win.doLayout();};win.on('close',function(){Ext.getCmp('query-btn').toggle();});win.show(this);};visdat.googleToolbar=function(googleLayerArray){var tb=new Ext.Toolbar({id:'tb'});var rt=Ext.data.Record.create([{name:'id'},{name:'layerName'}]);var layerStore=new Ext.data.Store({reader:new Ext.data.ArrayReader({idIndex:0},rt)});for(var i=0;i<googleLayerArray.length;i++){var layerData={id:googleLayerArray[i][0],layerName:googleLayerArray[i][3]};var recId=i;var r=new layerStore.recordType(layerData,++recId);layerStore.insert(0,r);}
tb.add({xtype:'combo',id:'combo',valueField:'id',typeAhead:true,forceSelection:true,triggerAction:'all',store:layerStore,emptyText:'Patentanmeldungen 2006',selectOnFocus:true,mode:'local',displayField:'layerName',width:150,listeners:{'select':function(e){map.removeOverlay(layerPatente);var activeLayer=e.getValue();visdat.googleLayerInit(map,googleLayerArray,activeLayer);if(Ext.getCmp('legendWindow')){if(Ext.getCmp('legendWindow').items.items.length){Ext.getCmp('legendWindow').remove(Ext.getCmp('legendWindow').items.items[0]);};Ext.getCmp('legendWindow').add({items:[{html:visdat.googleLegendPanel(),border:false}]});Ext.getCmp('legendWindow').doLayout();};}}});Ext.getCmp('combo').setValue('Patentanmeldungen 2006');tb.add(new Ext.Toolbar.Button({xtype:'tbspacer',disabled:true,width:15}));tb.add(new Ext.Toolbar.Button({xtype:'tbbutton',id:'legend-btn',iconCls:'legendicon',enableToggle:true,handler:function(){if(this.pressed==true){visdat.googleShowLegend();}else{Ext.getCmp('legendWindow').close();}}}));tb.add(new Ext.Toolbar.Button({xtype:'tbspacer',disabled:true,width:15}));tb.add(new Ext.Toolbar.Button({xtype:'tbbutton',id:'query-btn',iconCls:'charticon',enableToggle:true,handler:function(){if(this.pressed==true){if(Ext.getCmp('queryWindow')){Ext.getCmp('queryWindow').close();};if(Ext.getCmp('attributeWin')){Ext.getCmp('attributeWin').close();};visdat.googleShowQuery();};if(this.pressed==false){if(Ext.getCmp('attributeWin')){Ext.getCmp('attributeWin').close();};if(Ext.getCmp('queryWindow')){Ext.getCmp('queryWindow').close();}};}}));tb.add(new Ext.Toolbar.Button({xtype:'tbspacer',disabled:true,width:15}));tb.add(new Ext.Toolbar.Button({xtype:'tbspacer',disabled:true,width:15}));tb.add(new Ext.Toolbar.Button({xtype:'tbspacer',disabled:true,width:15}));tb.add(new Ext.Toolbar.Button({xtype:'tbspacer',disabled:true,width:15}));tb.add(new Ext.Toolbar.Button({xtype:'tbspacer',disabled:true,width:15}));tb.add(new Ext.Toolbar.Button({xtype:'tbspacer',disabled:true,width:15}));tb.add(new Ext.Toolbar.Button({xtype:'tbspacer',disabled:true,width:15}));tb.add(new Ext.Toolbar.Button({xtype:'tbspacer',disabled:true,width:15}));tb.add(new Ext.Toolbar.Button({xtype:'tbspacer',disabled:true,width:15}));tb.add(new Ext.Toolbar.Button({xtype:'tbspacer',disabled:true,width:15}));tb.add(new Ext.Toolbar.Button({xtype:'tbbutton',id:'help-btn',iconCls:'helpicon',enableToggle:true,handler:function(){if(this.pressed==true){if(Ext.getCmp('helpWindow')){Ext.getCmp('helpWindow').close();};visdat.googleHelpWindow();};if(this.pressed==false){if(Ext.getCmp('helpWindow')){Ext.getCmp('helpWindow').close();}};}}));tb.doLayout();return tb;}
visdat.googleInit=function(tb){var panwin=new Ext.Panel({renderTo:'map1',id:'googlePanel',tbar:tb,width:425,height:439});}
visdat.googleGMap2=function(){var map=new GMap2(Ext.getCmp('googlePanel').body.dom);map.setCenter(new GLatLng(51.2,11),5);map.setUIToDefault();map.addControl(new GMapTypeControl());return map;}
visdat.googleLayerInit=function(map,googleLayerArray,activeLayer){var MAGIC_NUMBER=6356752.3142;var DEG2RAD=0.0174532922519943;var PI=3.14159267;function dd2MercMetersLng(p_lng){return MAGIC_NUMBER*(p_lng*DEG2RAD);}
function dd2MercMetersLat(p_lat){if(p_lat>=85)p_lat=85;if(p_lat<=-85)p_lat=-85;return MAGIC_NUMBER*Math.log(Math.tan(((p_lat*DEG2RAD)+(PI/2))/2));}
var CustomGetTileUrl=function(a,b,c){if(typeof(window['this.myMercZoomLevel'])=="undefined")this.myMercZoomLevel=0;if(typeof(window['this.myStyles'])=="undefined")this.myStyles="";var lULP=new GPoint(a.x*256,(a.y+1)*256);var lLRP=new GPoint((a.x+1)*256,a.y*256);var lUL=G_NORMAL_MAP.getProjection().fromPixelToLatLng(lULP,b,c);var lLR=G_NORMAL_MAP.getProjection().fromPixelToLatLng(lLRP,b,c);if(this.myMercZoomLevel!=0&&map.getZoom()<this.myMercZoomLevel){var lBbox=dd2MercMetersLng(lUL.lngDegrees)+","+dd2MercMetersLat(lUL.latDegrees)+","+dd2MercMetersLng(lLR.lngDegrees)+","+dd2MercMetersLat(lLR.latDegrees);var lSRS="EPSG:54004";}else{var lBbox=lUL.x+","+lUL.y+","+lLR.x+","+lLR.y;var lSRS="EPSG:4326";}
var lURL=this.myBaseURL;lURL+="&REQUEST=GetMap";lURL+="&SERVICE=WMS";lURL+="&VERSION="+this.myVersion;lURL+="&LAYERS="+this.myLayers;lURL+="&STYLES="+this.myStyles;lURL+="&FORMAT="+this.myFormat;lURL+="&BGCOLOR="+this.myBgColor;lURL+="&TRANSPARENT=TRUE";lURL+="&SRS="+lSRS;lURL+="&BBOX="+lBbox;lURL+="&WIDTH=256";lURL+="&HEIGHT=256";lURL+="&reaspect=false";return lURL;}
function createWMSSpec(wmsURL,gName,gShortName,wmsLayers,wmsStyles,wmsFormat,wmsVersion,wmsBgColor,wmsSrs){var tile=new GTileLayer(new GCopyrightCollection(""));tile.myLayers=wmsLayers;tile.myStyles=(wmsStyles?wmsStyles:"");tile.myFormat=(wmsFormat?wmsFormat:"image/gif");tile.myVersion=(wmsVersion?wmsVersion:"1.1.1");tile.myBgColor=(wmsBgColor?wmsBgColor:"0xFFFFFF");tile.myBaseURL=wmsURL;tile.getTileUrl=CustomGetTileUrl;tile.getOpacity=function(){return 1;}
var overlay=new GTileLayerOverlay(tile);return overlay;}
for(var i=0;i<googleLayerArray.length;i++){var layerId=googleLayerArray[i][0];var layerUrl=googleLayerArray[i][1];var layerName=googleLayerArray[i][2];var layerShortName=googleLayerArray[i][3];var wmsLayers=googleLayerArray[i][4];var wmsStyles=googleLayerArray[i][5];var wmsFormat=googleLayerArray[i][6];var wmsVersion=googleLayerArray[i][7];for(var i=0;i<googleLayerArray.length;i++){if(googleLayerArray[i][0]==activeLayer){layerPatente=createWMSSpec(googleLayerArray[i][1],googleLayerArray[i][2],googleLayerArray[i][3],googleLayerArray[i][4],googleLayerArray[i][5],googleLayerArray[i][6],googleLayerArray[i][7]);map.addOverlay(layerPatente);}}}}
var tb=visdat.googleToolbar(googleLayerArray);visdat.googleInit(tb);Ext.getCmp('help-btn').toggle(true);visdat.googleHelpWindow();var map=visdat.googleGMap2();visdat.googleLayerInit(map,googleLayerArray,1);GEvent.addListener(map,"zoomend",function(overlay,latlng){if(map.getZoom()<5){map.setZoom(5)};});}}
