function ieWorkaround()
{
    var menuDiv = document.getElementById("menu");
    var liNode1,liNode2,liNode3,liNode4;
    var ergebnis;

    for (i=0; i<menuDiv.firstChild.childNodes.length; i++)
    {
        liNode1 = menuDiv.firstChild.childNodes[i];
        liNode1.onmouseover = function() { liMouseover(this,1) };
        liNode1.onmouseout = function() { liMouseout(this,1) };
        liMouseout(liNode1,1);
        for (j=0; j<liNode1.firstChild.childNodes.length; j++)
        {
            liNode2 = liNode1.firstChild.childNodes[j];
            if (liNode2.nodeName != "LI") continue;
            liNode2.onmouseover = function() { liMouseover(this,2) };
            liNode2.onmouseout = function() { liMouseout(this,2) };
            liMouseout(liNode2,2);
            for (k=0; k<liNode2.firstChild.childNodes.length; k++)
            {
                liNode3 = liNode2.firstChild.childNodes[k];
                if (liNode3.nodeName != "LI") continue;
                liNode3.onmouseover = function() { liMouseover(this,3) };
                liNode3.onmouseout = function() { liMouseout(this,3) };
                liMouseout(liNode3,3);
                for (l=0; l<liNode3.firstChild.childNodes.length; l++)
                {
                    liNode4 = liNode3.firstChild.childNodes[l];
                    if (liNode4.nodeName != "LI") continue;
                    liNode4.onmouseover = function() { liMouseover(this,4) };
                    liNode4.onmouseout = function() { liMouseout(this,4) };
                    liMouseout(liNode4,4);
                }
            }
        }
    }
}

function liMouseover(liNode,layer)
{
    var color, linkStyle, linkNode;
    
    if (liNode.firstChild.nodeName == "UL") liNode.firstChild.style.display = "block";
    switch (layer)
    {
        case 1: color = "#444444"; break;
        case 2: color = "#666666"; break;
        case 3: color = "#888888"; break;
        case 4: color = "#aaaaaa"; break;
        default: color = "#ffffff"; break;
    }
    if (liNode.firstChild.nodeName != "SPAN")
	{
		linkStyle = liNode.childNodes[1].style;
		linkNode = liNode.childNodes[1];
	}
    else
	{
		linkStyle = liNode.childNodes[0].style;
		linkNode = liNode.childNodes[0];
	}

    linkStyle.backgroundColor = color;
	
    if (linkNode.className.indexOf("htmllink") == -1) {
	    linkStyle.color = "#ffff66";
	    linkStyle.paddingLeft = "16px";
	    linkStyle.paddingRight = "0px";
	} else {
	    linkNode.firstChild.style.color = "#ffff66";
	    linkNode.firstChild.style.paddingLeft = "16px";
	    linkNode.firstChild.style.paddingRight = "0px";
	}
    
    if (layer > 1) linkStyle.filter = "alpha(opacity=100)";
}

function liMouseout(liNode,layer)
{
    var color, linkStyle, linkNode;
    
    if (liNode.firstChild.nodeName == "UL") liNode.firstChild.style.display = "none";
    switch (layer)
    {
        case 1: color = "#222222"; break;
        case 2: color = "#444444"; break;
        case 3: color = "#666666"; break;
        case 4: color = "#888888"; break;
        default: color = "#ffffff"; break;
    }
    if (liNode.firstChild.nodeName != "SPAN")
	{
		linkStyle = liNode.childNodes[1].style;
		linkNode = liNode.childNodes[1];
	}
    else
	{
		linkStyle = liNode.childNodes[0].style;
		linkNode = liNode.childNodes[0];
	}

    linkStyle.backgroundColor = color;
    
    if (linkNode.className.indexOf("htmllink") == -1) {
	    if (linkNode.getAttribute("className").indexOf("alternative") != -1) linkStyle.color = "#ffffff";
		else linkStyle.color = "#66ff66";
	    linkStyle.paddingLeft = "8px";
	    linkStyle.paddingRight = "8px";
	} else {
	    if (linkNode.getAttribute("className").indexOf("alternative") != -1) linkNode.firstChild.style.color = "#ffffff";
		else linkNode.firstChild.style.color = "#66ff66";
	    linkStyle.paddingLeft = "0px";
	    linkStyle.paddingRight = "0px";
	    linkNode.firstChild.style.paddingLeft = "8px";
	    linkNode.firstChild.style.paddingRight = "8px";
	}
    
    if (layer > 1) linkStyle.filter = "alpha(opacity=80)";
}
