

/* *************************************************
FILENAME:			mapCommon.js
AUTHOR:				André von Wartburg
CREATED:			2010
COPYRIGHT:		rawi-geo. Alle Rechte vorbehalten.
DESCRIPTION:	general non-mapspecific app functionality (sidebar, legend)

CHANGES:
25-10-11: JSLint OK
 
************************************************** */

var currPaginate = '';

// legend: popup screen legend pagination
function paginateLegend(pageNum, appID) {
	var hostname, newPaginate;

	hostname = document.location.host;
	document.getElementById("legendImage").src = "http://" + hostname + "/src/img/leg/screen_" + appID + "_" + pageNum + ".png";

	if (currPaginate != '') { document.getElementById(currPaginate).style.background = "#fff"; }

	newPaginate = 'paginateLegend_' + pageNum;

	if (currPaginate != '') { dojo.attr(currPaginate, { style: {background: "#fff"}}); }
	dojo.attr(newPaginate, { style: {background: "#ddd"}});

	currPaginate = newPaginate;
}

// sidebar: slide in/out
function slideSidebar() {
	var currState = dojo.byId("sidebar").style.width;
	if (currState != "0px") {
		dojo.attr("sidebar", { style: {width: "0px", margin: "0 5px 0 0"}});
		if (dojo.byId("map-functions")) { dojo.attr("map-functions", { style: {margin: "6px 5px 0 0"}}); }
		if (dojo.byId("sb_tab")) { dojo.byId("sb_tab").src = "http://www.geo.lu.ch/src/img/icon_tab_out.png"; }
		dijit.byId("container").resize();
	} else {
		dojo.attr("sidebar", { style: {width: "240px", margin: "0 5px 0 5px"}});
		if (dojo.byId("map-functions")) { dojo.attr("map-functions", { style: {margin: "6px 249px 0 0"}}); }
		if (dojo.byId("sb_tab")) { dojo.byId("sb_tab").src = "http://www.geo.lu.ch/src/img/icon_tab_in.png"; }
		dijit.byId("container").resize();
	}
}

// sidebar: slide in/out (for embedded versions w/ no titlebar)
function slideSidebarEmbed() {
	var currState = dojo.byId("sidebar").style.width;
	if (currState != "0px") {
		dojo.attr("sidebar", { style: {width: "0px", margin: "0 5px 0 0"}});
		if (dojo.byId("sb_toggle")) { dojo.byId("sb_toggle").src = "http://www.geotest.lu.ch/src/img/icon_sidebar_in_wide.png"; }
		dijit.byId("container").resize();
	} else {
		dojo.attr("sidebar", { style: {width: "240px", margin: "0 5px 0 5px"}});
		if (dojo.byId("sb_toggle")) { dojo.byId("sb_toggle").src = "http://www.geotest.lu.ch/src/img/icon_sidebar_out_wide.png"; }
		dijit.byId("container").resize();
	}
}

// sidebar: toggle panes (only one is open at any time)
function toggleSidebar(callerId) {

	// completely insane JS!
	dijit.registry.filter(function (w) { return w.id.indexOf("_panel") >= 0; }).forEach(function (pane) {
		if (callerId != pane.id) {
			if (pane.open) { pane.toggle(); }
			// set bkgr to prevent display problems in IE 7
			dojo.byId("tocRoot").style.background = "#fff";
		}
	});
}

// sidebar: show/hide ovmap
function toggleOVMap() {
	var currState = dojo.byId("ovmap_panel").style.height;
	if (currState != "25px") {
		dojo.style("ovmap_panel", "height", "25px");
		dojo.style("overview-map", "display", "none");
		dojo.style("ovMapBody", "display", "none");
		dojo.byId("ovMapTitle_icon").src = "../../src/img/icon_sidebar_closed.png";
	} else {
		dojo.style("ovmap_panel", "height", "205px");
		dojo.style("overview-map", "display", "block");
		dojo.style("ovMapBody", "display", "block");
		dojo.byId("ovMapTitle_icon").src = "../../src/img/icon_sidebar_open.png";
	}
}

// helper: empty input field onfocus
function emptyOnFocus(el) {
	el.select();
	el.focus();

	var elTmp = el.value;
	if (elTmp.substr(0, 3) == 'max') { el.value = ''; }
}
