visdat.createHtml = function (e, layerName, qryURL){
	if (layerName == 'eisdielen'){
		var req = 
				'<table class="tbl_partner_select" id="querytab">' +
					'<tr><td class="td_partner_select">Eisdiele</td><td>'+ e.feature.attributes["eisdiele"] +'</td></tr>' +
					'<tr><td class="td_partner_select">Anschrift</td><td>'+ e.feature.attributes["strasse"] +'</td></tr>' +
					'<tr><td class="td_partner_select"></td><td>'+ e.feature.attributes["ort"] +'</td></tr>' +
					'<tr><td class="td_partner_select">Telefon</td><td>'+ e.feature.attributes["telefon"] +'</td></tr>' +
					'<tr><td class="td_partner_select">Homepage</td><td><a href=\"http://'+ e.feature.attributes["homepage"] +'\" target=\"_blank\">'+ e.feature.attributes["homepage"] +'</a></td></tr>' +
				'</table>' + '<br/>' +
				'<div style="border-style:groove; border-width:2px; border-color: #ffffff; margin: 3px"><img src="'+ e.feature.attributes["bild"] +'" width="100%" id="abfragebild"/></div>'
		
	    return req;
	}
	if (layerName == 'Kontakt'){
		var req = 
				'<table class="tbl_partner_select" id="querytab">' +
					'<tr><td class="td_partner_select">Einrichtung</td><td>'+ e.feature.attributes["einrichtung"] +'</td></tr>' +
					'<tr><td class="td_partner_select">Ort</td><td>'+ e.feature.attributes["ort"] +'</td></tr>' +
					'<tr><td class="td_partner_select">Land</td><td>'+ e.feature.attributes["land"] +'</td></tr>' +
					'<tr><td class="td_partner_select">Homepage</td><td><a href=\"http://'+ e.feature.attributes["homepage"] +'\" target=\"_blank\">'+ e.feature.attributes["homepage"] +'</a></td></tr>' +
				'</table>' + '<br/>' +
				'<div style="border-style:groove; border-width:2px; border-color: #ffffff; margin: 3px"><img src="'+ e.feature.attributes["bild"] +'" width="100%" id="abfragebild"/></div>'

	    return req;
	}else{
				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: 'gid', type: 'string'},
		            {name: 'data', type: 'string'},
		            {name: 'einheit', type: 'string'}
		        ],
		        autoLoad: true
			});
			
 			var gridPanel = new Ext.grid.GridPanel({
		        //title: "Feature Grid",
		        autoHeight: true,
		        store: qrystore,
		        //width: 230,
		        columns: [{
		            header: "ID",
		            width:50,
		            dataIndex: "gid"
		        }, {
		            header: "Wert",
		            width: 100,
		            dataIndex: "data"
		        }, {
		            header: "Einheit",
		            width: 56,
		            dataIndex: "einheit"
		        }]
		    });			            

			
			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:[gridPanel]
		  		});
		  		Ext.getCmp('queryWindow').doLayout();
		  	};


		return 'hzhzhzhz';
	}

}



//Attributtabelle
visdat.queryAttributetable = function (map, layerArray, atr_layer, highlightFeature, atr_request){
var url_req;
		for(var k = 0; k < layerArray.length; k++){
		
		if (layerArray[k][5] == true && layerArray[k][4] == true){
			layerName = layerArray[k][1];
					
			if(layerArray[k][0]=='GML'){
				url_req = layerArray[k][2];
			};
			
			if(layerArray[k][0]=='WMS'){
				url_req = atr_request;
			};
	
			//Abfragedefinition für den aktiven Abfragelayer aus layerArray auslesen und dynamisch in den Store und das Grid schreiben
			var fields_arr = new Array();
			var fields_arr2 = new Array();
			var columns_arr = new Array();
			var columns_arr2 = new Array();

			for (var z = 0; z < layerArray[k][6].length; z++){

				fields_arr[z] = JSON.stringify({name: layerArray[k][6][z][0], type: layerArray[k][6][z][2]});
				fields_arr2[z] = JSON.parse(fields_arr[z]);
				
				columns_arr[z] = JSON.stringify({header: layerArray[k][6][z][1], width: layerArray[k][6][z][3], dataIndex: layerArray[k][6][z][0], sortable: true});
				columns_arr2[z] = JSON.parse(columns_arr[z]);
		
			}	
			
			// create the Data Store
			var attributeStore = new GeoExt.data.FeatureStore({  
				id: 'attributeStore',
				layer: atr_layer,
				proxy: new GeoExt.data.ProtocolProxy({
					protocol: new OpenLayers.Protocol.HTTP({
					url: url_req,
							  format: new OpenLayers.Format.GML()
						   })
				}),
					fields: fields_arr2,
					autoLoad: true   
			});   

			
			// Erstellen des Attribut-Gridpanels
			var attributeGrid = new Ext.grid.GridPanel({
	        	store: attributeStore,
	        	id: 'attributeGrid',
		        columns: columns_arr2,
		        width:'100%',
		        height:'100%'
		    });
	    }
	}

	return attributeGrid
}

visdat.popupLayer = function (map, layerArray){		 
	
	var v=location.search.substring(1, location.search.length); 
		
		for(var k = 0; k < layerArray.length; k++){
		
		if (layerArray[k][5] == true && layerArray[k][4] == true){
			layerName = layerArray[k][1];
					
			var allLayers = map.layers;
			var numLayers = map.getNumLayers(); 
			//Reihenfolge der Layer muss neu geordnet werden, so dass highlightFeature-Layer oben liegt
			for(ii= 0; ii<numLayers;ii++){
				if(allLayers[ii].name==layerName){
	
	//Definition des Style Objekts für den Partnerlayer
		var myStyles = new OpenLayers.StyleMap({
	        'default': new OpenLayers.Style({
	            pointRadius: 5, // sized according to type attribute
	            fillColor: "#fffeee",
	            strokeColor: "#ff9933",
	            strokeWidth: 2
	        }),
	        'select': new OpenLayers.Style({
	            fillColor: "#539d05",
	            strokeColor: "#ff5a05"
	        })
	    });
		 
		
	    //Popupfenster für Hover-Event
	    var popup;
    
		function onFeatureSelect(e) {
				popup = new OpenLayers.Popup.AnchoredBubble("chicken", 
	                     e.geometry.getBounds().getCenterLonLat(),
	                     null,
	                     //"<div style='font-size:.8em; color:black'>" + e.attributes["eisdiele"] +"</div>",
	                     "<div id='pop1'>" + e.attributes["eisdiele"] +"</div>",
	                     null, false, null);
	            map.addPopup(popup);
	            popup.setBackgroundColor('#FF9000');   
	            //popup.setOpacity(0.9);
	            popup.setSize(new OpenLayers.Size(170,30)); 
			
        };
		 
		// Hover Control
	    hoverCtrl1 = new OpenLayers.Control.SelectFeature(allLayers[ii],
			{hover: true,
			id: 'hoverCtrl1',
			onSelect: function(e) {
			onFeatureSelect(e); 
	        },
	        onUnselect: function() {
	        	popup.destroy();
	        }
		});  
		//map.removeLayer(gispartner);
		
	    map.addControl(hoverCtrl1); 
		hoverCtrl1.activate(); 
				}
			}
		}
	}
}



