/*-----------------------------------------------------------------------
layer.js

version: 	4.1
author:		sebastian kupke
email:		sebastian.kupke@baral-geohaus.de
website:	http://www.baral.de
-----------------------------------------------------------------------*/

/* =namespace module layer
-----------------------------------------------------------------------*/
ws.m.layer = {
	
	/* =init
	-----------------------------------------------------------------------*/
	init: function() {
		
		var service = ws.map.getService();
		var level = service.getLevel();
		var layer = level.getLayer();
		
		$('#m_layer_tree li').css('cursor', 'pointer');
		$('#m_layer_tree li').css('font-weight', 'normal');
		$('#m_layer_' + service.id + '_' + level.id).css('font-weight', 'bold');
		$('#m_layer_' + service.id + '_' + level.id + '_' + layer.id).css('font-weight', 'bold');
		
		$('#m_layer_tree').treeview({
			animated: 'fast'
		});
	},
	
	/* =zoom to a specific level
	-----------------------------------------------------------------------*/
	setLevel: function(levelId) {
		
		var scaleNumber = ws.map.getScaleNumber();
	
		// Set zoomlevel
		var service = ws.map.getService();
		var level = service.setCurLevel(levelId);
		
		if (level.maxScale > scaleNumber || level.minScale < scaleNumber) {
			if (level.maxScale >= scaleNumber) {
				ws.map.setScaleFactor(level.maxScale);
			} else {
				ws.map.setScaleFactor(level.minScale);
			}
		}
		
		ws.map.load();
	},
	
	/* =switch to a specific layer
	-----------------------------------------------------------------------*/
	setLayer: function(levelId, layerId) {

		var scaleNumber = ws.map.getScaleNumber();
		
		// Set zoomlevel
		var service = ws.map.getService();
		var level = service.setCurLevel(levelId);
		level.setCurLayer(layerId);
		
		if (level.maxScale > scaleNumber || level.minScale < scaleNumber) {
			if (level.maxScale >= scaleNumber) {
				ws.map.setScaleFactor(level.maxScale);
			} else {
				ws.map.setScaleFactor(level.minScale);
			}
		}
		
		ws.map.load();
	}
}






















