
visdat.f_tbar=function(map,height,tbarHidden,tbarArray,treemodel,layerArray,layertree,startZoom,centerMap,helpURL){var toolbar=new mapfish.widgets.toolbar.Toolbar({id:'toolbar',map:map,configurable:false,height:height,hidden:tbarHidden});visdat.addTbarActions(map,toolbar,tbarArray,treemodel,layerArray,layertree,startZoom,centerMap,helpURL);return toolbar};visdat.addTbarActions=function(map,toolbar,tbarArray,treemodel,layerArray,layertree,startZoom,centerMap,helpURL)
{for(var i=0;i<tbarArray.length;i++)
{switch(tbarArray[i][0]){case'ZoomIn':toolbar.addControl(new OpenLayers.Control.ZoomBox({title:tbarArray[i][1]}),{iconCls:'zoomin',id:'zoomin-btn',toggleGroup:'map',handler:function(){if(Ext.getCmp('queryWindow')){Ext.getCmp('queryWindow').close();};if(Ext.getCmp('measure-btn')){if(Ext.getCmp('measure-btn').pressed==true){Ext.getCmp('measure-btn').toggle();auswahlMessen('Aus');}}
if(Ext.getCmp('clipMap-btn').pressed==true){Ext.getCmp('clipMap-btn').toggle();if(Ext.getCmp('downloadWindow')){Ext.getCmp('downloadWindow').close();Ext.getCmp('zoomin-btn').toggle();}}
if(Ext.getCmp('drag-btn')){if(Ext.getCmp('drag-btn').pressed==true){Ext.getCmp('drag-btn').toggle();}}
if(Ext.getCmp('zoomout-btn')){if(Ext.getCmp('zoomout-btn').pressed==true){Ext.getCmp('zoomout-btn').toggle();}}}});break;case'ZoomOut':toolbar.addControl(new OpenLayers.Control.ZoomBox({title:tbarArray[i][1],out:true}),{iconCls:'zoomout',id:'zoomout-btn',toggleGroup:'map',handler:function(){if(Ext.getCmp('queryWindow')){Ext.getCmp('queryWindow').close();};if(Ext.getCmp('measure-btn')){if(Ext.getCmp('measure-btn').pressed==true){Ext.getCmp('measure-btn').toggle();auswahlMessen('Aus');}}
if(Ext.getCmp('clipMap-btn').pressed==true){Ext.getCmp('clipMap-btn').toggle();if(Ext.getCmp('downloadWindow')){Ext.getCmp('downloadWindow').close();Ext.getCmp('zoomout-btn').toggle();}}
if(Ext.getCmp('drag-btn')){if(Ext.getCmp('drag-btn').pressed==true){Ext.getCmp('drag-btn').toggle();}}
if(Ext.getCmp('zoomin-btn')){if(Ext.getCmp('zoomin-btn').pressed==true){Ext.getCmp('zoomin-btn').toggle();}}}});break;case'DragPan':toolbar.addControl(new OpenLayers.Control.DragPan({isDefault:false,title:tbarArray[i][1]}),{iconCls:'pan',id:'drag-btn',toggleGroup:'map',handler:function(){if(this.pressed==true){if(Ext.getCmp('clipMap-btn').pressed==true){Ext.getCmp('clipMap-btn').toggle();if(Ext.getCmp('downloadWindow')){Ext.getCmp('downloadWindow').close();}}}
if(Ext.getCmp('queryWindow')){Ext.getCmp('queryWindow').close();};if(Ext.getCmp('measure-btn')){if(Ext.getCmp('measure-btn').pressed==true){Ext.getCmp('measure-btn').toggle();auswahlMessen('Aus');}}
if(Ext.getCmp('zoomin-btn')){if(Ext.getCmp('zoomin-btn').pressed==true){Ext.getCmp('zoomin-btn').toggle();}}
if(Ext.getCmp('zoomout-btn')){if(Ext.getCmp('zoomout-btn').pressed==true){Ext.getCmp('zoomout-btn').toggle();}}}});break;case'clipMap':toolbar.addControl(new OpenLayers.Control.Button({title:tbarArray[i][1]}),{xtype:'tbbutton',id:'clipMap-btn',iconCls:'clipMapIcon',cls:'x-btn-icon',handler:function(){Ext.getCmp('clipMap-btn').toggle();if(this.pressed==true){if(Ext.getCmp('drag-btn').pressed==true){Ext.getCmp('drag-btn').toggle();}
clipMap(map);}
if(this.pressed==false){if(Ext.getCmp('downloadWindow')){Ext.getCmp('downloadWindow').close();}}
if(Ext.getCmp('zoomin-btn')){if(Ext.getCmp('zoomin-btn').pressed==true){Ext.getCmp('zoomin-btn').toggle();}}
if(Ext.getCmp('zoomout-btn')){if(Ext.getCmp('zoomout-btn').pressed==true){Ext.getCmp('zoomout-btn').toggle();}}}});break;case'MaxExtent':toolbar.addControl(new OpenLayers.Control.Button({title:tbarArray[i][1]}),{xtype:'tbbutton',iconCls:'zoomfull',id:'max-btn',toggleGroup:'map',handler:function(){map.panTo(centerMap);map.zoomTo(startZoom);}});break;case'Measurement':toolbar.add({xtype:'tbsplit',id:'measure-btn',iconCls:'measureicon',title:tbarArray[i][1],menu:[{text:'Linien',name:'Linien',checked:false,group:'measure',listeners:{click:function(){auswahlMessen('Linien');if(Ext.getCmp('measure-btn').pressed==false){Ext.getCmp('measure-btn').toggle();}}}},{text:'Flächen',name:'Flächen',checked:false,group:'measure',listeners:{click:function(){auswahlMessen('Flächen');if(Ext.getCmp('measure-btn').pressed==false){Ext.getCmp('measure-btn').toggle();}}}},{text:'Aus',name:'Aus',checked:true,group:'measure',listeners:{click:function(){auswahlMessen('Aus');if(Ext.getCmp('measure-btn').pressed==true){Ext.getCmp('measure-btn').toggle();}}}}],arrowHandler:function(){if(Ext.getCmp('queryWindow')){Ext.getCmp('queryWindow').close();};if(Ext.getCmp('drag-btn').pressed==true){Ext.getCmp('drag-btn').toggle();}
if(Ext.getCmp('zoomin-btn').pressed==true){Ext.getCmp('zoomin-btn').toggle();}
if(Ext.getCmp('zoomout-btn').pressed==true){Ext.getCmp('zoomout-btn').toggle();}
if(Ext.getCmp('max-btn').pressed==true){Ext.getCmp('max-btn').toggle();}}});break;case'LayerTree':toolbar.addControl(new OpenLayers.Control.Button({title:tbarArray[i][1]}),{xtype:'tbbutton',id:'layer-btn',iconCls:'layericon',cls:'x-btn-icon',handler:function(){Ext.getCmp('layer-btn').toggle();if(this.pressed==true){visdat.buildLayerTree(map,treemodel,layerArray);}
if(this.pressed==false){Ext.getCmp('layertreewindow').close();}}});break;case'Legend':toolbar.addControl(new OpenLayers.Control.Button({title:tbarArray[i][1]}),{id:'legend-btn',iconCls:'legendicon',cls:'x-btn-icon',handler:function(){Ext.getCmp('legend-btn').toggle();if(this.pressed==true){visdat.showLegend(layerArray,layertree);}
if(this.pressed==false){Ext.getCmp('legendWindow').close();}}});break;case'Query':toolbar.addControl(new OpenLayers.Control.Button({title:tbarArray[i][1]}),{id:'query-btn',iconCls:'queryicon',cls:'x-btn-icon',handler:function(){Ext.getCmp('query-btn').toggle();if(this.pressed==true){if(Ext.getCmp('queryWindow')){Ext.getCmp('queryWindow').close();};if(Ext.getCmp('attributeWin')){Ext.getCmp('attributeWin').close();};visdat.showQuery(map,layerArray);if(Ext.getCmp('drag-btn').pressed==true){Ext.getCmp('drag-btn').toggle();}
if(Ext.getCmp('zoomin-btn').pressed==true){Ext.getCmp('zoomin-btn').toggle();}
if(Ext.getCmp('zoomout-btn').pressed==true){Ext.getCmp('zoomout-btn').toggle();}
if(Ext.getCmp('max-btn').pressed==true){Ext.getCmp('max-btn').toggle();}
if(Ext.getCmp('measure-btn')){if(Ext.getCmp('measure-btn').pressed==true){Ext.getCmp('measure-btn').toggle();auswahlMessen('Aus');}}};if(this.pressed==false){if(Ext.getCmp('attributeWin')){Ext.getCmp('attributeWin').close();};if(Ext.getCmp('queryWindow')){Ext.getCmp('queryWindow').close();}};}});break;case'Attribute':toolbar.addControl(new OpenLayers.Control.Button({title:tbarArray[i][1]}),{xtype:'tbbutton',id:'attribute-btn',iconCls:'icon_attributes',cls:'x-btn-icon',handler:function(){Ext.getCmp('attribute-btn').toggle();if(this.pressed==true){if(Ext.getCmp('attributeWin')){Ext.getCmp('attributeWin').close();};if(Ext.getCmp('queryWindow')){Ext.getCmp('queryWindow').close();};visdat.showAttributetable(map,layerArray);}
if(this.pressed==false){if(Ext.getCmp('queryWindow')){Ext.getCmp('queryWindow').close();};if(Ext.getCmp('attributeWin')){Ext.getCmp('attributeWin').close();}};}});break;case'Print':toolbar.addControl(new OpenLayers.Control.Button({title:tbarArray[i][1]}),{id:'print-btn',iconCls:'printicon',cls:'x-btn-icon',toggleGroup:'map',handler:function(){}});break;case'Help':toolbar.add(new Ext.Toolbar.Button({title:tbarArray[i][1]}),{xtype:'tbbutton',id:'help-btn',iconCls:'helpicon',cls:'x-btn-icon',enableToggle:true,handler:function(){if(this.pressed==true){if(Ext.getCmp('helpWindow')){Ext.getCmp('helpWindow').close();};visdat.helpWindow(helpURL);};if(this.pressed==false){if(Ext.getCmp('helpWindow')){Ext.getCmp('helpWindow').close();}};}});break;case'Spacer':toolbar.add(new Ext.Toolbar.Button({xtype:'tbspacer',disabled:true,width:15}));}}
var control;function messen(key){if(control!=null){control.deactivate();};measureControls={line:new OpenLayers.Control.Measure(OpenLayers.Handler.Path,{persist:true,geodesic:true}),polygon:new OpenLayers.Control.Measure(OpenLayers.Handler.Polygon,{persist:true,geodesic:true,handlerOptions:{}})};control=measureControls[key];control.events.on({"measure":handleMeasurements,"measurepartial":handleMeasurements});map.addControl(control);function handleMeasurements(event){var geometry=event.geometry;var units=event.units;var order=event.order;var measure=event.measure;var out="";if(order==1){out+="Länge: "+measure.toFixed(3)+" "+units;}else{out+="Fläche: "+measure.toFixed(3)+" "+units+"<sup>2</"+"sup>";};var d=Ext.getCmp('meswin');if(d.items.items.length){d.remove(d.items.items[0]);};d.add({items:{html:out,border:false}});d.doLayout();}
control.activate();};function auswahlMessen(geo){function open_win(){var mwin=new Ext.Window({layout:'fit',title:'Messwerkzeug',id:'meswin',x:300,y:300,width:150,height:100,items:{border:false},plain:true});mwin.on('close',function(){control.deactivate();Ext.getCmp('meswin').close();if(Ext.getCmp('measure-btn').pressed==true){Ext.getCmp('measure-btn').toggle();};});mwin.show(this);};if(!Ext.getCmp('meswin')){open_win();};switch(geo){case'Linien':messen('line');break;case'Flächen':messen('polygon');break;case'Aus':control.deactivate();Ext.getCmp('meswin').close();break;default:};};return toolbar;};
