

preload = new Array();
function initialize(divId) {
    var ul = desc(document.getElementById(divId))[0];
    var lis = desc(ul);
	for(var i=0; i<lis.length; i++) {
        var li = lis[i];
		var img = desc(desc(lis[i])[0])[0];
		addListener(li, "mouseover", show);
		addListener(li, "mouseout", hide);
		try {
			var menuUl = desc(lis[i])[1];
            menuUl.style.left = ""+(lis[i].offsetLeft + 0)+"px";
			menuUl.style.visibility = "hidden";
			var p1 = new Image();
			p1.src = loSrc(img);
			preload[preload.length] = p1;
			
			var hi = hiSrc(img);
			if(hi) {
				var p2 = new Image();
				p2.src = hiSrc(img);
				preload[preload.length] = p2;
			}
			
		}
		catch(er) {
			continue;
		}
    }
}

function initMenus(divId) {
	//window.onload = function() { setTimeout("initialize('"+divId+"');", 300); };
}

function show(e) {
    var to = window.event ? this : e.currentTarget;
    var from = window.event ? window.event.fromElement : e.relatedTarget;
    if(to!=from && !doesContain(to, from)) {
        var img = desc(desc(to)[0])[0];
		if(img)
			hilite(img, 1);
		try {
			var ul = desc(to)[1];
			ul.style.visibility = "visible";
		}
		catch(er) {}
	}
}

function hide(e) {
	var to = window.event ? window.event.toElement : e.relatedTarget;
    var from = window.event ? this : e.currentTarget;
    if(to==null || (to!=from && !doesContain(from, to)) ) {
       var img = desc(desc(from)[0])[0];
		if(img)
			hilite(img, 0);
		try {
			var ul = desc(from)[1];
			ul.style.visibility = "hidden";
		}
		catch(er) {}
    }
}

function tName(n) {
    return n.nodeName ? n.nodeName : n.tagName;
}

function desc(n) {
    if(n.childNodes) {
        var ns = n.childNodes;
        var r = new Array();
        for(var i=0; i<ns.length; i++) {
            if(ns[i].nodeName!="#text")
                r[r.length]=ns[i];
        }
        return r;
    }
    else
        return n.children;
}

function addListener(node, eventName, listener) {
    if(document.addEventListener)
        node.addEventListener(eventName, listener, true);
    else
        node["on"+eventName] = listener;
}

function doesContain(a, b) {
	if(!a || !b)
		return false;
    while (b.parentNode) {
        if((b = b.parentNode) == a)
            return true;
    }
    return false;
}

function saveLoSrc(img) {
    if(!img.loSrc)
        img.loSrc = img.src;
    if(!savedLoSrc[img.hiSrc]) 
        savedLoSrc[img.hiSrc] = img.src;
}

function hilite(img, show) { if(hiSrc(img)) img.src = show==1? hiSrc(img) : loSrc(img); }
function hiSrc(img) { saveLoSrc(img); return img.getAttribute("hiSrc"); }
function loSrc(img) { saveLoSrc(img); return img.loSrc ? img.loSrc : savedLoSrc[img.hiSrc]; }
savedLoSrc = new Array();

// PopUpFenster schliessen

function closePopupElementById(elemId) { document.getElementById(elemId).style.display = "none"; }

