/* JavaScript-Funktionen fuer Bayernkarte */
var glbInc = null; var glbDec = null;
var glbCt = 0; var glbCl=0;
var glOh = 0; var glOw = 0;
var maxw = 400 * 2.28;
var maxh = 404 * 2.28;
var isIE6 = false /*@cc_on || @_jscript_version <= 5.7 @*/;
var baseurl = window.location.protocol + '//' + window.location.host + '/' + window.location.pathname;

function mOver (overlay, code) {
	if (!glbInc && !glbDec)
		document.getElementById("overlay" + overlay).src = 'maps/hl_' + code+'.gif';
}

function mOut (overlay) {
	if (!glbInc && !glbDec && document.getElementById("overlay"+overlay).src.indexOf('hl_') > 0)
		document.getElementById("overlay"+overlay).src = 'maps/hl_null.gif';
}

function cZoomTo (bx, by, ow, oh, bezirk) {
	if (isIE6) return true;
	glbCt = 0;
	glbCl = 0;
	document.getElementById("overlay_bezirkhl").src = 'maps/hl_null.gif';
	document.getElementById("bayern").style.width = '400px';
	document.getElementById("bayern").style.height = '404px';
	// Turn imagemaps off
	document.getElementById("bayern").useMap = baseurl + '#dummy';
	document.getElementById("overlay_bezirkhl").useMap = baseurl + '#dummy';
	document.getElementById("overlay_bezirkdetail").useMap = baseurl + '#dummy';
	document.getElementById("overlay_kreishl").useMap = baseurl + '#dummy';
	growImage(bx, by, bezirk);
	return false;
}

function cZoomBack() {
	if (isIE6) return true;
	glbCt = - parseInt(document.getElementById("bayern").style.top);
	glbCl = - parseInt(document.getElementById("bayern").style.left);
	document.getElementById("overlay_bezirkhl").src = 'maps/hl_null.gif';
	document.getElementById("bayern").style.opacity = '1';
	glOh = parseInt(document.getElementById("bayern").style.top);
	glOw = parseInt(document.getElementById("bayern").style.left);
	document.getElementById("overlay_bezirkhl").src = 'maps/hl_null.gif';
	// Turn imagemaps off
	document.getElementById("bayern").useMap = baseurl + '#dummy';
	document.getElementById("overlay_bezirkhl").useMap = baseurl + '#dummy';
	document.getElementById("overlay_bezirkdetail").useMap = baseurl + '#dummy';
	document.getElementById("overlay_kreishl").useMap = baseurl + '#dummy';
	shrinkImage ();
	return false;
}

function growImage (ow, oh, bezirk) {
	var ele = document.getElementById("bayern");
	var ch = parseInt(ele.style.height);
	var cw = parseInt(ele.style.width);
	var stepl = (463-ow)/9; /* x / 2 / 18 */
	var stept = (508-oh)/9;
	if (glbDec != null) { clearTimeout(glbDec); glbDec = null; }
	if (cw < maxw) { /* max width */
		// Growing
		cw += 50; // if (cw>maxw) cw=maxw;
		ch += 50; //if (ch>maxh) ch=maxh;
		glbCt += oh/10.85;
		glbCl += ow/10.7;
		ele.style.height = ch + 'px';
		ele.style.width  = cw + 'px';
		ele.style.top    = -glbCt + 'px';
		ele.style.left   = -glbCl + 'px';
		glbInc = setTimeout("growImage(" + ow + "," + oh + ",'" + bezirk + "')", 10);
	} else {
		// Grown
		document.getElementById("overlay_bezirkhl").src = 'maps/'+bezirk+'.gif';
		document.getElementById("overlay_bezirkdetail").style.width = '100%';
		document.getElementById("overlay_bezirkdetail").style.height = '100%';
		glbInc = false;
		document.getElementById("bayern").style.opacity = '0.5';
		// Turn imagemaps on
		document.getElementById("bayern").useMap = baseurl + '#' + bezirk;
		document.getElementById("overlay_bezirkhl").useMap = baseurl + '#' + bezirk;
		document.getElementById("overlay_bezirkdetail").useMap = baseurl + '#' + bezirk;
		document.getElementById("overlay_kreishl").useMap = baseurl + '#' + bezirk;
	}
}

function shrinkImage() {
	document.getElementById("overlay_bezirkdetail").src = 'maps/hl_null.gif';
	var ele = document.getElementById("bayern");
	ch = parseInt(ele.style.height);
	cw = parseInt(ele.style.width);
	var stepl = (463-glOw)/9;
	var stept = (508-glOh)/9;
	if (glbInc != null) { clearTimeout(glbInc); glbInc = null; }
	if (cw > 400) { /* max width */
		// Shrinking
		cw -= 50;
		ch -= 50;
		glbCt += glOh / 10;
		glbCl += glOw / 10;
		ele.style.height       = ch+"px";
		ele.style.width        = cw+"px";
		ele.style.top          = -Math.round(glbCt) + 'px';
		ele.style.left         = -Math.round(glbCl) + 'px';
		glbDec = setTimeout("shrinkImage()", 5);
	} else {
		// Shrunk
		glbDec = false;
		ele.style.height       = '404px';
		ele.style.width        = '400px';
		ele.style.top          = '0px';
		ele.style.left         = '0px';
		// Turn imagemaps on
		document.getElementById("bayern").useMap = baseurl + '#bezirke';
		document.getElementById("overlay_bezirkhl").useMap = baseurl + '#bezirke';
		document.getElementById("overlay_bezirkdetail").useMap = baseurl + '#bezirke';
		document.getElementById("overlay_kreishl").useMap = baseurl + '#bezirke';
	}
}

function fetch (filelist) {
	var t = new Image();
	var list = filelist.split(',');
	for (var i=0; i<=list.length; i++)
		t.src = 'maps/'+filelist[i]+'.gif';
}

