/*only the layers from the layerSwitcher, hashed by layerId*/
var mapLayers = [];
//var layerTree = [];


var	layerTree = [];

var layerTreeJson = [];

function localiseLayers() {
	for (var i = 0; i < layerTree.length; i++) {
		var nameField = "name_"+LANGUAGE_SELECTION;
		layerTree[i].name = layerTree[i][nameField];
	}
}

function initTreeViewJson() 
{
	initLayerTree();
	localiseLayers();

	var json = [];
	//first level
	for (var i = 0; i < layerTree.length; i++) {

		//no parent = main category.
		var catObj;
		
		//TODO: ihan oikea tunnistus!
		var draggable = !(layerTree[i].wfsCategory);
		
		if (!layerTree[i].parentId) {
			if (!layerTree[i].layerId) {
				catObj = 
				{
					id: layerTree[i].id, 
					//text:generateCategoryDiv(layerTree[i].id,layerTree[i].name), 
					text:layerTree[i].name, 
					cls:'folder', 
					checked: false,
					category: layerTree[i],
					draggable: draggable,
					
					/*true = update the pois Layer when toggled!*/
					wfsCategory: layerTree[i].wfsCategory,
					allowDrop: false,
					children:[]
				};
				catObj.children = generateChildNodes(catObj.id);
			} 
			
			else if (layerTree[i].layerId) {
				 catObj = generateLayerObject(layerTree[i]);
			}
			
			json.push(catObj);
		}
	}
	
	return json;
}

function generateLayerObject(lyrTreeNode) {
				
				var checked = false;
				if (lyrTreeNode.visibility) {
					checked = true;
				}
				
				var catObj = 
				{
					id: lyrTreeNode.layerId, 
//					text:generateLayerDiv(lyrTreeNode.layerId, lyrTreeNode.name), 
					text:lyrTreeNode.name+'&nbsp;',
					leaf:true,
					checked: checked,
					iconCls: '',
					layer: lyrTreeNode,
		            
		            slider: new Ext.Slider({
		            		id: lyrTreeNode.layerId,
					        width: 50,
					        value: lyrTreeNode.opacity * 100,
	        				minValue: 0,
	        				maxValue: 100,
	        				
	        				listeners: {
	        				
	        					change: function(slider, value) {
	        						if (slider.node.attributes.layer) {
	        							slider.node.attributes.layer.setOpacity(value / 100);
	        						}
	        						
	        						//if layer is added on the map -> change the opacity there as well.
	        						lyr = map.getLayersBy("layerId", this.id)[0];
	        						if (lyr)
		        						lyr.setOpacity(value / 100);
	        					
	        					}
	        				},
	        				plugins: new Ext.ux.SliderTip()
					})
				};
	
	mapLayers.push(lyrTreeNode);
	return catObj;
}




function generateChildNodes(id) 
{
	var children = [];
	for (var i = 0; i < layerTree.length; i++) {

/*	
		var nameField = "name_"+LANGUAGE_SELECTION;
		layerTree[i].name = layerTree[i][nameField];
*/
		
		if (layerTree[i].parentId && layerTree[i].parentId == id) 
		{
			var catObj = null;
			//subcategory
			//Category id for use with wfs_layer filter. All point-type targets are on one layer and are filtered
			//using categoryids.
			if (layerTree[i].wfsFilterIds) {
				catObj = 
				{
					id: layerTree[i].id, 
					wfsFilterIds: layerTree[i].wfsFilterIds, 
//					text:generateLayerDiv(layerTree[i].layerId, layerTree[i].name), 
					text:layerTree[i].name+'&nbsp;',
					leaf:true,
					checked: false,
					iconCls: ''
				};
				
				//children.push(catObj);
			
			} else if (!layerTree[i].layerId) {
				var wfsCategory = layerTree[i].wfsCategory;
//				var catObj = {id: layerTree[i].id, text:layerTree[i].name, cls:'folder', enableDD: false, children:[]};
				catObj = 
				{
					id: layerTree[i].id, 
					//text:generateCategoryDiv(layerTree[i].id,layerTree[i].name), 
					text:layerTree[i].name, 
					cls:'folder', 
					checked: false,
					category: layerTree[i],
					draggable: true,
					wfsCategory: wfsCategory,
					allowDrop: false,
					children:[]
				};
				catObj.children = generateChildNodes(catObj.id);
				
				//children.push(catObj);
			} else {
				var catObj = generateLayerObject(layerTree[i]);
			}
			
			children.push(catObj);
		}
	}
	
	return children;
}

//Global
// - umbriel
//var wmsUrl = "http://demo.navici.com/geoserver/wms?";

//"tuotanto"
var wmsUrl = "http://wms1.navici.com/wms/a9e9a1840ee69e32d59af86dd1ffeb44?";

//?
//var wmsUrl = "http://ntile1.navici.com/retkikartta/";

function initLayerTree() 
{
	
	//TODO: CHECK ALL THE CATEGORY ID's And WFS-LAYERID's!!!! MIGHT BE WRONG!
	if (!layerTree || layerTree.length == 0) {
	
		layerTree = 
		[
			//wfsCategory -> Don't allow drop above this item. Always on top in layertree and on the map!!!!!
			{name_fi:"Retkeilypalvelut", name_se :"Service f&ouml;r friluftsliv", name_en :"Excursion services",id: 'kp_layers',parentId: null, wfsCategory: true, level:1},
				{wfsCategory: true, name_fi:"Opastus", name_se :"Guidning", name_en :"Guidance",id: 11,parentId: 'kp_layers', level:2},
					{name_fi:"Opastusrakennukset", name_se :"Naturum, naturstugor", name_en :"Guidance buildings",wfsFilterIds: [1611,1612,1613,1615,1699], id:'opastusrakennukset', parentId: 11, level:2},
					{name_fi:"Opasteet", name_se :"Informationstavlor", name_en :"Guidance structures",wfsFilterIds: [2111, 2112, 2117],id: 'opasteet', parentId: 11, level:2},
				
				{wfsCategory: true, name_fi:"Y&ouml;pyminen, majoitus ja palvelut", name_se :"&Ouml;vernattning och inkvartering", name_en :"Accommodation and services",id: 12,parentId: 'kp_layers', level:2},
					{name_fi:"Tuvat", name_se :"Stugor", name_en :"Cabins",wfsFilterIds: [1212,1213,1214,1217,1218,1219,1220,1311,1312,1313,1314,1911,1318], id:'tuvat', parentId: 12},
					{name_fi:"Kodat, laavut ja kammit", name_se :"K&aring;tor, Sk&auml;rmskydd, torvgammar", name_en :"Lap pole tents, turf huts and lean-tos",wfsFilterIds: [221,2212,2213,2240,2242,2243,8213,2211],id:'kodatalaavutjakammit',parentId: 12},
					{name_fi:"Telttailu ja leiriytyminen", name_se :"T&auml;lt och l&auml;ger", name_en :"Camping",wfsFilterIds: [8211, 8212],id:'telttailujaleiriytyminen', parentId: 12},
					{name_fi: 'Muut palvelut',name_se: 'Övrig service', name_en: 'Other services',wfsFilterIds: [1315, 1317, 1399, 8299],id:'muutpalvelut',parentId: 12},
				{wfsCategory: true, name_fi:"Retkeily ja harrastukset", name_se :"Friluftsliv och aktiviteter", name_en :"Excursion and interests",id: 13,parentId: 'kp_layers', level:2},
					{name_fi:"Luontotornit ja n&auml;k&ouml;alapaikat", name_se :"Naturtorn och utsiktsplatser", name_en :"Nature towers and look-out-points",wfsFilterIds: [1614,2226,2229,2230],id:'luontotornitjanakoalapaikat',parentId: 13},
					{name_fi:"Tulentekopaikat ja keittokatokset", name_se :"Eldplatser och kokskjul", name_en :"Campfire sites and cooking shelters",wfsFilterIds: [2214,2225,2241,2244,5118],id:'tulentekopaikatjakeittokatokset',parentId: 13},
					{name_fi:"Kaivot ja l&auml;hteet", name_se :"Brunnar och k&auml;llor", name_en :"Wells and springs",wfsFilterIds: [2411,2412,2413,2499],id:'kaivotjalahteet', parentId: 13},
					{name_fi:"Muut retkeilyrakennelmat", name_se :"&ouml;vriga friluftsbyggander", name_en :"Other excursion structures",wfsFilterIds: [2215,2216,2217,2221,2222,2223,2224,2233,2513,3111,3118,4111,4112],id:'muutretkeilyrakennelmat',parentId: 13},
				{wfsCategory: true, name_fi:"Pys&auml;k&ouml;inti", name_se :"Parkering", name_en :"Parking",id: 14,parentId: 'kp_layers', level:2},
					{name_fi:"Pys&auml;k&ouml;intialueet", name_se :"Parkeringsplatser", name_en :"Parking areas",wfsFilterIds: [2238],id:'pysakointialueet', parentId: 14},
					{name_fi:"Matkailuvaunualueet", name_se :"Husvagnsparkering", name_en :"Trailer sites",wfsFilterIds: [2239],id:'matkailuvaunualueet',parentId: 14},
				{wfsCategory: true, id:'veneily', name_fi:"Veneily", name_se :"B&aring;tliv", name_en :"Boating",parentId: 'kp_layers', level:2},
					{name_fi:"Satamat ja maihinnousupaikat", name_se :"Hamnar och landstigningsplatser", name_en :"Harbours and landing sites",wfsFilterIds: [8214,8215,8216,8217], id:'satamatjamaihinnousupaikat', parentId: 'veneily', grandparentId:'kp_layers', level: 3},
					{name_fi:"Veneilyrakennelmat", name_se :"Anl&auml;ggningar f&ouml;r b&aring;tliv", name_en :"Boating structures",wfsFilterIds:[2311,2313,2314,2317], id: 'veneilyrakennelmat', parentId: 'veneily', grandparentId:'kp_layers', level: 3},
					{id: 'historiallisetnahtavyydet', name_fi:"Historialliset n&auml;ht&auml;vyydet", name_se :"Historiska sev&auml;rdheter", name_en :"Historical sights", wfsFilterIds: [7111,7112,7113,7114,7115,7116,7117,7118,7119,7120,7199,930], parentId: 'kp_layers',grandparentId: null, level:2},
				
			{name_fi:"Reitit", name_se :"Rutter och leder", name_en :"Routes",id: 'reitit',parentId: null},
				new OpenLayers.Layer.WMS('Kes&auml;retkeilyreitit',wmsUrl,
	              	{layers: 'retkikartta:kesaretkeilyreitit',styles:'', transparent: true}, 
	              	{singleTile: true, name_fi:"Kes&auml;retkeilyreitit", name_se :"Friluftsleder sommartid", name_en :"Summer hiking",parentId:'reitit', grandparentId:'kp_layers', level:3, layerId: 'route-kesaretkeilyreitit', minScale:0, maxScale: 10000000, opacity: 1, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
				new OpenLayers.Layer.WMS('Luontopolut',wmsUrl,
	              	{layers: 'retkikartta:luontopolut',styles:'', transparent: true}, 
	              	{singleTile: true, name_fi:"Luontopolut", name_se :"Naturstigar", name_en :"Nature trails",parentId:'reitit', grandparentId:'kp_layers', level:3, layerId: 'route-luontopolut', minScale:0, maxScale: 10000000, opacity: 1, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
				new OpenLayers.Layer.WMS('Py&ouml;r&auml;ilyreitit',wmsUrl,
	              	{layers: 'retkikartta:pyorailyreitit',styles:'', transparent: true}, 
	              	{singleTile: true, name_fi:"Py&ouml;r&auml;ilyreitit", name_se :"Cykelleder", name_en :"Biking",parentId:'reitit', grandparentId:'kp_layers', level:3, layerId: 'route-pyorailyreitit', minScale:0, maxScale: 10000000, opacity: 1, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
				new OpenLayers.Layer.WMS('Ladut ja talviretkeilyreitit',wmsUrl,
	              	{layers: 'retkikartta:ladutjatalviretkeilyreitit',styles:'', transparent: true}, 
	              	{singleTile: true, name_fi:"Ladut ja talviretkeilyreitit", name_se :"Skidsp&aring;r och friluftsleder vintertid", name_en :"Skiing and winter excursion",parentId:'reitit', grandparentId:'kp_layers', level:3, layerId: 'route-ladutjatalviretkeilyreitit', minScale:0, maxScale: 10000000, opacity: 1, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
				new OpenLayers.Layer.WMS('Py&ouml;r&auml;tuolireitit',wmsUrl,
	              	{layers: 'retkikartta:pyoratuolireitit',styles:'', transparent: true}, 
	              	{singleTile: true, name_fi:"Py&ouml;r&auml;tuolireitit", name_se :"Rullstolsleder", name_en :"Wheelchair",parentId:'reitit', grandparentId:'kp_layers', level:3, layerId: 'route-pyoratuolireitit', minScale:0, maxScale: 10000000, opacity: 1, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
				new OpenLayers.Layer.WMS('Moottorikelkkailureitit ja -urat',wmsUrl,
	              	{layers: 'retkikartta:moottorikelkkailureititjaurat',styles:'', transparent: true}, 
	              	{singleTile: true, name_fi:"Moottorikelkkailureitit ja -urat", name_se :"Sn&ouml;skoterleder och -sp&aring;r", name_en :"Snowmobile routes and tracks",parentId:'reitit', grandparentId:'kp_layers', level:3, layerId: 'route-moottorikelkkailureititjaurat', minScale:0, maxScale: 10000000, opacity: 1, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
				new OpenLayers.Layer.WMS('Kuntoradat',wmsUrl,
	              	{layers: 'retkikartta:kuntoradat',styles:'', transparent: true}, 
	              	{singleTile: true, name_fi:"Kuntoradat", name_se :"Motionsslingor", name_en :"Fitness tracks",parentId:'reitit', grandparentId:'kp_layers', level:3, layerId: 'route-kuntoradat', minScale:0, maxScale: 10000000, opacity: 1, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
				new OpenLayers.Layer.WMS('Veneily- ja vesiretkeilyreitit',wmsUrl,
	              	{layers: 'retkikartta:veneilyjavesiretkeilyreitit',styles:'', transparent: true}, 
	              	{singleTile: true, name_fi:"Veneily- ja vesiretkeilyreitit", name_se :"B&aring;tliv och b&aring;tleder", name_en :"Boating and canoe",parentId:'reitit', grandparentId:'kp_layers', level:3, layerId: 'route-veneilyjavesiretkeilyreitit', minScale:0, maxScale: 10000000, opacity: 1, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
	
			//category
			{name_fi:"Mets&auml;stys ja kalastus", name_se :"Jakt och fiske", name_en :"Hunting and fishing",id: 2,parentId: null, level:1},
				//subcategories
				{name_fi:"Kalastuskohteet", name_se :"Fiskest&auml;llen", name_en :"Fishing",id : 21,parentId: 2,level: 2},
					new OpenLayers.Layer.WMS('Pyydyslupakohteet',wmsUrl,
		              	{layers: 'retkikartta:pyydyslupakohteet',styles:'', transparent: true}, 
		              	{singleTile: true, name_fi:"Pyydyslupa", name_se :"Tillst&aring;ndsm&auml;rkta redskap", name_en :"Fishing permit destinations",parentId: 21, grandparentId: 2, level:3, layerId: 'pyydyslupakohteet', minScale:0, maxScale: 10000000, opacity: 0.7, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
					new OpenLayers.Layer.WMS('Viehekalastuskohteet',wmsUrl,
		              	{layers: 'retkikartta:viehekalastuskohteet',styles:'', transparent: true}, 
		              	{singleTile: true, name_fi:"Viehekalastus", name_se :"Spinnfiske", name_en :"Recreational bait fishing destinations",parentId: 21, grandparentId: 2, level:3, layerId: 'viehekalastuskohteet', minScale:0, maxScale: 10000000, opacity: 0.7, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
					new OpenLayers.Layer.WMS('Virkistyskalastuskohteet',wmsUrl,
		              	{layers: 'retkikartta:virkistyskalastuskohteet',styles:'', transparent: true}, 
		              	{singleTile: true, name_fi:"Virkistyskalastus", name_se :"Fritidsfiske", name_en :"Recreational fishing destinations",parentId: 21, grandparentId: 2, level:3, layerId: 'virkistyskalastuskohteet', minScale:0, maxScale: 10000000, opacity: 0.7, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
				
				
				
				{name_fi:"Mets&auml;styskohteet", name_se :"Jaktst&auml;llen", name_en :"Hunting",id : 22,parentId: 2,level: 2},
					new OpenLayers.Layer.WMS('Pienriistan mets&auml;stysalueet',wmsUrl,
		              	{layers: 'retkikartta:pienriista',styles:'', transparent: true}, 
		              	{singleTile: true, name_fi:"Pienriista-alueet", name_se :"Jaktst&auml;lle f&ouml;r sm&aring;vilt", name_en :"Small game hunting areas",parentId: 22, grandparentId: 2, level:3, layerId: 'pienriista', minScale:0, maxScale: 10000000, opacity: 0.3, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
					new OpenLayers.Layer.WMS('Hirvialueet',wmsUrl,
		              	{layers: 'retkikartta:hirvialueet',styles:'', transparent: true}, 
		              	{singleTile: true, name_fi:"Hirven mets&auml;stysalueet", name_se :"Jaktmark f&ouml;r hjortdjur", name_en :"Elk hunting areas",parentId: 22, grandparentId: 2, level:3, layerId: 'hirvialueet', minScale:0, maxScale: 10000000, opacity: 0.3, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),

				new OpenLayers.Layer.WMS('Yleiset vesialueet',wmsUrl,
	              	{layers: 'retkikartta:yleisetvesialueet',styles:'', transparent: true}, 
	              	{cat_id: 441, singleTile: true, name_fi:"Yleiset vesialueet", name_se :"Allm&auml;nnt vattenomr&aring;de", name_en :"Public waters",parentId: 2, level:2, layerId: 'yleisetvesialueet', minScale:0, maxScale: 10000000, opacity: 0.3, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
				
				
			
			{name_fi:"Suojelu- ja retkeilyalueet", name_se :"Skyddsomr&aring;den och utflyktsm&aring;l", name_en :"Protected areas and hiking destinations",id: 'suojelujaretkeilyalueet',parentId: null, level:1},
					new OpenLayers.Layer.WMS('Kansallispuistot',wmsUrl,
		            {layers: 'retkikartta:kansallispuistot',styles:'', transparent: true}, 
		            {singleTile: true, name_fi:"Kansallispuistot", name_se :"Nationalparker", name_en :"National parks",parentId: 'suojelujaretkeilyalueet', grandparentId: null, level:2, layerId: 'kansallispuistot', minScale:0, maxScale: 10000000, opacity: 0.3, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
					new OpenLayers.Layer.WMS('Muut suojelualueet',wmsUrl,
		            {layers: 'retkikartta:muutsuojelualueet',styles:'', transparent: true}, 
		            {singleTile: true, name_fi:"Muut suojelualueet", name_se :"&ouml;vriga skyddsomr&aring;den", name_en :"Other protected areas",parentId: 'suojelujaretkeilyalueet',  grandparentId: null, level:2, layerId: 'muutsuojelualueet', minScale:0, maxScale: 10000000, opacity: 0.3, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
					new OpenLayers.Layer.WMS('Retkeilyalueet',wmsUrl,
		            {layers: 'retkikartta:retkeilyalueet',styles:'', transparent: true}, 
		            {singleTile: true, name_fi:"Retkeilyalueet", name_se :"Friluftsomr&aring;den", name_en :"Hiking areas",parentId: 'suojelujaretkeilyalueet',  grandparentId: null, level:2, layerId: 'retkeilyalueet', minScale:0, maxScale: 10000000, opacity: 0.3, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
					new OpenLayers.Layer.WMS('Lapin er&auml;maa-alueet',wmsUrl,
		            {layers: 'retkikartta:eramaaalueet',styles:'', transparent: true}, 
		            {singleTile: true, name_fi:"Lapin er&auml;maa-alueet", name_se :"Lapplands vildmark", name_en :"Lapland's wilderness areas",parentId: 'suojelujaretkeilyalueet',  grandparentId: null, level:2, layerId: 'eramaaalueet', minScale:0, maxScale: 10000000, opacity: 0.3, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
					new OpenLayers.Layer.WMS('Muut alueet',wmsUrl,
		            {layers: 'retkikartta:muutalueet',styles:'', transparent: true}, 
		            {singleTile: true, name_fi:"Muut alueet", name_se :"&ouml;vriga omr&aring;den", name_en :"Other areas",parentId: 'suojelujaretkeilyalueet',  grandparentId: null, level:2, layerId: 'muutalueet', minScale:0, maxScale: 10000000, opacity: 0.3, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),
				new OpenLayers.Layer.WMS('Kunnat',wmsUrl,
	              	{layers: 'retkikartta:kunnat_view',styles:'', transparent: true}, 
	              	{singleTile: true, name_fi:"Kunnat", name_se :"Kommun", name_en :"Municipalities",parentId: null, level:1, layerId: 'kunnat', minScale:0, maxScale: 10000000, opacity:1, isBaseLayer: false,displayInLayerSwitcher: true,visibility:false,buffer:0}),

			
		    new OpenLayers.Layer.TMS( "Taustakartta", "",
			{ 
				name_fi:"Taustakartta", name_se :"Bakgrund karta", name_en :"Background map",
				layerId: "taustakartta",
				displayInLayerSwitcher:true, 
		        projection: 'EPSG:2393', 
				isBaseLayer: false, 
				visibility: true,
				opacity: 1,
				buffer:0
			})


		];
	}
}

/*
function generateLayerDiv(layer) {
	
	var opacityControl = generateOpacityControl(layer);
//	var sliderContainer = generateOpacitySlider(slider);
	var div ='<div style="display: inline-block;" '+
			 'id="layerdiv_'+layer.layerId+'">'+
			 layer.name;
//			 layer.name+'&nbsp;<div style="display: inline-block; vertical-align: baseline;">'+opacityControl+'</div>';
//	div +=	 layer.name+'&nbsp;<div style="display: inline-block; vertical-align: baseline;">'+sliderContainer.innerHTML+'</div>';
	div += '</div>';
			 
	return div;
}

function generateOpacityControl(layer) {

//        var opacityDiv = document.createElement("div");                
//        opacityDiv.setAttribute("id", "opacityValue_" + layer.layerId);                
//        opacityDiv.style.display = "inline-block";
//        opacityDiv.style.verticalAlign="top";

        var opacityMinusButton = '<img src="./theme/img/nolines_minus_nopadding.gif"';
      	opacityMinusButton +=	' style="cursor: pointer;padding-left: 3px; padding-top:2px;"';
        opacityMinusButton += 	' alt="'+Language.get('increasetransparency')+'"';
        opacityMinusButton += 	' title="'+Language.get('increasetransparency')+'"';
        opacityMinusButton += 	' onmouseup="opacityClick(\''+layer.layerId+'\',\'-0.1\')">';

//        var opacityPlusButton = '<img src="./theme/img/plus.png"';
        var opacityPlusButton = '<img src="./theme/img/nolines_plus_nopadding.gif"';
      	opacityPlusButton +=	' style="cursor: pointer; padding-top:2px;"';
        opacityPlusButton += 	' alt="'+Language.get('decreasetransparency')+'"';
        opacityPlusButton += 	' title="'+Language.get('decreasetransparency')+'"';
        opacityPlusButton += 	' onmouseup="opacityClick(\''+layer.layerId+'\',\'0.1\')">';

       	var opacityImgWidth = (layer.opacity != null) ? (layer.opacity * 25).toFixed(0) : "25";
       	
       	
       	var opacityImg ='<span style="vertical-align: baseline;display:inline-block;width:25px;padding-top:2px;">'; 
       	opacityImg +=	'<img src="./theme/img/opacity.png"';
		opacityImg +=	' id="opacityImg_'+layer.layerId+'"';
		opacityImg +=	' style="cursor: pointer;height:12px;"';
       	opacityImg +=	' width="'+opacityImgWidth+'px"';
       	opacityImg += 	' alt="'+Language.get('transparency')+'"';
       	opacityImg += 	' title="'+Language.get('transparency')+'">';
      	opacityImg += 	'</span>';
       	
  
       	var opacityTextInput = '<input type="hidden" id="opacity_' + layer.layerId + '" value="1.0">';
       	
//        opacityDiv.innerHTML = opacityTextInput + opacityMinusButton + opacityImg + opacityPlusButton;       
        return opacityTextInput + opacityMinusButton + opacityImg + opacityPlusButton;       

//		return opacityDiv;                

}

function opacityClick(layerId, changeBy) {
        var layer = map.getLayersBy('layerId', layerId)[0];            
		
		if (layer) {
		
	        var maxOpacity = 1.0;
	        var minOpacity = 0.1;
	        var opacity = (layer.opacity != null) ? layer.opacity : 1.0;
	        var i = parseFloat(changeBy);
	        var opacityElement = "opacity_" + layer.layerId;  
	        var opacityImg = "opacityImg_" + layer.layerId;
	        var newOpacity = (parseFloat(opacity + i)).toFixed(1);
	        newOpacity = Math.min(maxOpacity, Math.max(minOpacity, newOpacity));
	        
	        OpenLayers.Util.getElement(opacityElement).value = newOpacity;       
	        OpenLayers.Util.getElement(opacityImg).width = (newOpacity * 25).toFixed(0);
	        layer.setOpacity(newOpacity);
		}
}
*/






