function menuInit(n) {
	if(!document.getElementById || !document.getElementsByTagName) return;
	var m = document.getElementById(n);
	if(!m) return;
	var imgs = m.getElementsByTagName('img');
	for(var i=0;i<imgs.length;i++) {
		var img = imgs[i];
		var nn = img.className;
		if(nn != "imageItem") continue;
		var parts = img.src.split("/");
		var faf = parts.slice(-2);
		var fa = faf[1].split(".");
		var ext = fa.pop();
		var fn = fa.join(".");
		img._up = faf.join("/");
		img._over = faf[0]+"/"+fn+"-over."+ext;
		img._active = new Image();
		img._active.src = img._over;
		img.onmouseover = function() {
			if(!this._active.complete) return;
			this.src = this._over;
		}
		img.onmouseout = function() {
			this.src = this._up;
		}
	}
}
function siteInit() {
	if(!document.getElementById || !document.getElementsByTagName) return;
	var loc = (window.locations || null);
	if(loc) initLocations();
}
function initLocations() {
	var h = document.getElementById('map_holder');
	var m = document.getElementById('map_image');
	var o = document.getElementById('map_overlay');
	var inf = document.getElementById('map_info');
	if(!h || !m || !o || !inf) return;
	mapLast = null;
	mapInfo = inf;
	maptimer = 0;
	mapLock = false;
	for(var i=0;i<locations.length;i++) {
		var loc = locations[i];
		var r = document.createElement("div");
		r._idx = i;
		r._d = loc;
		r.id = "loc"+i;
		locations[i].id = r.id;
		r.style.position = "absolute";
		r.style.left = loc.x+"px";
		r.style.top = loc.y+"px";
		r.className = "map_location";
		r.style.zIndex = i+1;
		var div = o.appendChild(r);
		div.onmouseover = function() { locationOver(this) }
		div.onclick = function() { locationClick(this) }
		div.onmouseout = function() { locationOut() }
	}
}
function locationOver(loc) {
	if(mapLast == loc) return;
	locationClear();
	mapLast = loc;
	var d = loc._d;
	loc.className = "map_location_over";
	var s = "<h1>"+d.name+"</h1><p>"+d.location+"</p>";
	if(d.link) s += "<a href='"+d.link+"'>&raquo; Mehr ...</a>";
	mapInfo.innerHTML = s;
}
function locationOut() {
	if(mapLock) return;
	locationClearTimer();
	maptimer = setTimeout(function() { locationClear(); },3000);
}
function locationClear() {
	locationClearTimer();
	mapLock = false;
	if(mapLast) {
		mapLast.className = "map_location";
		mapLast = null;
	}
	mapInfo.innerHTML = "";
}
function locationClick(loc) {
	locationClearTimer();
	mapLock = true;
}
function locationClearTimer() {
	if(maptimer > 0) clearTimeout(maptimer);
	maptimer = 0;
}

function trace(o) {
	var s = "";
	var v = "";
	if(typeof o == "object") {
		for(var n in o) {
			try {
				if(n=="innerHTML" || n=="outerHTML") v = "("+n+")";
				else v = o[n];
			} catch(e) {
				v = "(n.a.)"; 
			}
			s += n+": "+v+"\n";
		}
	} else {
		s = o;
	}
	var d = document.getElementById("debug");
	if(d) d.innerHTML += s+"\n";
}