/*-----------------------------------------------------------------------
Layer tree JavaScript File

version: 	4.0
author:		sebastian kupke
email:		sebastian.kupke@baral.de
website:	http://www.baral.de
-----------------------------------------------------------------------*/


/* =Layer tree
-----------------------------------------------------------------------*/

// Init layer tree
function initLayerTree() {
	var service = getService(currentService);
	var scaleNumber = getScaleNumber();
	var level = service.getLevelInScale(scaleNumber);
	var layer = level.getLayer(level.currentLayer);
	
	$('#layertree li').css({
		fontWeight: 'normal',
		cursor: 'pointer'
	});
	
	$('#m_layerTree_' + service.id + '_' + level.id).css('font-weight','bold').removeClass('closed').addClass('open');
	$('#m_layerTree_' + service.id + '_' + level.id + '_' + layer.id).css('font-weight','bold');
	
	$('#layertree').treeview({
		animated: 'fast'
	});
}

// Zoom to a specific level
function setLevel(levelId) {
	
	var scaleNumber = getScaleNumber();

	// Set zoomlevel
	var service = getService(currentService);
	var level = service.getLevel(levelId);

	if (level.maxScale > scaleNumber || level.minScale < scaleNumber) {
		if (level.maxScale >= scaleNumber) {
			setScaleFactor(level.maxScale);
		} else {
			setScaleFactor(level.minScale);
		}

		getMap();
	}
}

// Switch to a specific layer
function setLayer(levelId,layerId) {

	var service = getService(currentService);
	var level = service.getLevel(levelId);
	
	if (layerId) {
		level.currentLayer = layerId;
	} else {
		level.currentLayer = level.layers[0].id;
	}
	
	var scaleNumber = getScaleNumber();
	
	if (level.maxScale > scaleNumber || level.minScale < scaleNumber) {
		if (level.maxScale >= scaleNumber) {
			setScaleFactor(level.maxScale);
		} else {
			setScaleFactor(level.minScale);
		}
	}

	getMap();
}














