
function getWMSFeatureInfo(e) {
	var elem = document.getElementById('wmsFeatureInfoDiv');
	elem.innerHTML = '<span class="leftpanellabel">'+Language.get('wmsmetadatainfobeingfetched')+'</span>';

	if(e) {
		var layer = map.getLayer(getActiveLayer().id);
		
		
		var infoLayerName = '';
		
		if (layer.options.layerId == 'topo20') 
			infoLayerName = 'karjala:topo20k_info';
		else if (layer.options.layerId == 'pitaja20')
			infoLayerName = 'karjala:pitaja20k_info';


//		alert(infoLayerName);

			var params = {
	        		REQUEST: "GetFeatureInfo",
	                EXCEPTIONS: "application/vnd.ogc.se_xml",
	                BBOX: map.getExtent().toBBOX(),
	                X: e.xy.x,
	                Y: e.xy.y,
	                INFO_FORMAT: 'text/plain',
//	                QUERY_LAYERS: 'karjala:topo20k_info', 
//	                QUERY_LAYERS: layer.params.LAYERS, 
	                QUERY_LAYERS: infoLayerName, 
	                //map.layers[0].params.LAYERS,
	                FEATURE_COUNT: 50,
	                Srs: 'EPSG:2394',
//	                Layers: 'karjala:topo20k_info',
	                Layers: infoLayerName,
	                Styles: '',
	                WIDTH: map.size.w,
	                HEIGHT: map.size.h,
	                format: format
	        };
/*	        
			OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";
	        OpenLayers.loadURL("http://wms1.navici.com/geoserver/wms", params, this, setWMSFeatureInfoCallback, setWMSFeatureInfoCallback);
*/

	        OpenLayers.loadURL("http://www.karjalankartat.fi/geoserver/wms", params, this, setWMSFeatureInfoCallback, setWMSFeatureInfoCallback);
	        
	}
}


// sets the HTML provided into the nodelist element
function setWMSFeatureInfoCallback(response){
	var elem = document.getElementById('wmsFeatureInfoDiv');
//	elem.innerHTML = '<span class="leftpanellabel">'+Language.get('wmsmetadatainfobeingfetched')+'</span>';
	var attribs = getAttributes(response.responseText); 
	var htmlContent = '';
	
	if (attribs) {

		if ((!attribs.name || attribs.name == 'null') &&
			(!attribs.year || attribs.year == 'null') &&
			(!attribs.artist || attribs.artist == 'null') &&
			(!attribs.measurerer || attribs.measurerer == 'null')) {
				htmlContent = '<span class="leftpanellabel">'+Language.get('wmsmetadatainfonotfound')+'</span>';
				
		} else {
				htmlContent +=
					'<table><tr><td colspan="2" class="leftpanelheader">'+Language.get('wmsfeatureinfoheader')+'</td></tr>';
				
				htmlContent +=
					'<td class="leftpanelheader">'+Language.get('wmsmetadataname')+':</td>';
					htmlContent += '<td>';
					if (attribs.name  && attribs.name != 'null')
						htmlContent += attribs.name;
					else 
						htmlContent += Language.get('wmsmetadatanodata');
					htmlContent += '</td></tr>';
					
					
					htmlContent +=
					'<td class="leftpanelheader">'+Language.get('wmsmetadatayear')+':</td> ';//+attribs.year+'</span><br/>'+

					htmlContent += '<td>';
					if (attribs.year && attribs.year != 'null')
						htmlContent += attribs.year;
					else 
						htmlContent += Language.get('wmsmetadatanodata');
					htmlContent += '</td></tr>';

					htmlContent +=
					'<td class="leftpanelheader">'+Language.get('wmsmetadataartist')+':</td> ';//+attribs.artist+'</span><br/>'+

					htmlContent += '<td>';
					if (attribs.artist  && attribs.artist != 'null')
						htmlContent += attribs.artist;
					else 
						htmlContent += Language.get('wmsmetadatanodata');
					htmlContent += '</td></tr>';

					htmlContent +=
					'<td class="leftpanelheader">'+Language.get('wmsmetadatameasurerer')+':</td> ';//+attribs.measurerer+'</span><br/>';
					htmlContent += '<td>';
					if (attribs.measurerer && attribs.measurerer != 'null')
						htmlContent += attribs.measurerer;
					else 
						htmlContent += Language.get('wmsmetadatanodata');
					htmlContent += '</td></tr></table>';
		}
				
		//elem.innerHTML = htmlContent;
	} else {
//		elem.innerHTML = '<span class="leftpanellabel">'+Language.get('wmsmetadatainfonotfound')+'</span>';
		htmlContent = '<span class="leftpanellabel">'+Language.get('wmsmetadatainfonotfound')+'</span>';
	}

	elem.innerHTML = htmlContent;

	//content size might've changed -> check the need to resize!
	resizeLeftPanel();
};

/*
retrieves a given parameter from the wms featureinfo responsetext.
i.e. language etc.
*/
function getAttributes(responseText) {

try {
	var split = responseText.split("\n");
	var mess = '';
	
	
	var featuredataHeader = split[0];


	var mapleafName;// = split[4].split("= ")[1].trim();
	var mapleafYear;// = split[5].split("= ")[1].trim();
	var mapleafArtist;// = split[8].split("= ")[1].trim();
	var mapleafMeasurerer;// = split[6].split("= ")[1].trim();
	
	if (featuredataHeader.indexOf('topo20k_info') > 0) {
		mapleafName = split[4].split("= ")[1].trim();
		mapleafYear = split[5].split("= ")[1].trim();
		mapleafArtist = split[7].split("= ")[1].trim();
		mapleafMeasurerer = split[6].split("= ")[1].trim();
	}
	else {
		mapleafName = split[4].split("= ")[1].trim();
		mapleafYear = split[5].split("= ")[1].trim();
		mapleafArtist = split[8].split("= ")[1].trim();
		mapleafMeasurerer = split[6].split("= ")[1].trim();
	}
	/*
	for (var i = 0; i < split.length; i++) {
		mess += i +' - '+split[i]+'\n';
	}
	alert(mess);
	*/
	var object = 
	{
		name: mapleafName,
		year: mapleafYear,
		artist: mapleafArtist,
		measurerer: mapleafMeasurerer
	};
	return object;
} catch (e) {
	return null;
}
	/*
	for (var i = 0; i < split.length; i++) {
		mess += i +' - '+split[i]+'\n';
	}
	alert(mess);
	*/
	
}		


