
var dlist = document.getElementById("directions-list");
var ditems = dlist.getElementsByTagName("li");

var posx = 0;
var posy = 0;

function getposition(e) {
    if (e.pageX || e.pageY) {
        posx = e.pageX;
        posy = e.pageY;
    }
    else if (e.clientX || e.clientY) {
        posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
        posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
    }
}

function showdirsubmenu() {
    for (var i = 0; i < ditems.length; i++) {
        var divs = ditems[i].getElementsByTagName("div");
        for (var j = 0; j < divs.length; j++) {
            if (divs[j].className.indexOf("submenu") >= 0) {
                if (ditems[i] == this.parentNode) {
                    if (divs[j].style.display == "none" || divs[j].style.display == "") divs[j].style.display = "block";
                } else {
                    divs[j].style.display = "none";
                }
            }
        }
    }
}

function hidedirsubmenu(e) {
    if (!e) var e = window.event;
    var relTarg = e.relatedTarget || e.toElement;
    if (relTarg.parentNode.parentNode != this) {
        if (this == e.target.parentNode || this == e.target) {
            this.style.display = "none";
        }
    }
}

function hidedirsubmenusimple() {
    this.style.display = "none";
}

function showdescription(e) {
    var divs = this.parentNode.getElementsByTagName("div");
    for (var j = 0; j < divs.length; j++) {
        if (divs[j].className.indexOf("description") >= 0) {
            this.onmousemove = movedescription;
            this.onmousemove(e);
            divs[j].style.display = "block";
            divs[j].onmouseover = hidedescription;
            divs[j].onmouseenter = hidedescriptionsimple;
        }
    }
}

function movedescription(e) {
    if (!e) var e = window.event;
    if (!e) return;
    getposition(e);
    var divs = this.parentNode.getElementsByTagName("div");
    for (var j = 0; j < divs.length; j++) {
        if (divs[j].className.indexOf("description") >= 0) {
            divs[j].style.left = posx - 75 + "px";
            divs[j].style.top = posy + 20 + "px";
        }
    }
    return true;
}

function hidedescription(e) {
    if (!e) var e = window.event;
    var relTarg = e.relatedTarget || e.toElement;
    if (relTarg.parentNode.parentNode == this) return;
    if (this != e.target && this != e.target.parentNode) return;

    var divs = this.parentNode.getElementsByTagName("div");
    for (var j = 0; j < divs.length; j++) {
        if (divs[j].className.indexOf("description") >= 0) {
            this.onmousemove = null;
            divs[j].onmouseover = null;
            divs[j].style.display = "none";
        }
    }
}

function hidedescriptionsimple()  {
    var divs = this.parentNode.getElementsByTagName("div");
    for (var j = 0; j < divs.length; j++) {
        if (divs[j].className.indexOf("description") >= 0) {
            this.onmousemove = null;
            divs[j].style.display = "none";
        }
    }
}

for (i = 0; i < ditems.length; i++) {
    var divs = ditems[i].getElementsByTagName("div");
    for (var j = 0; j < divs.length; j++) {
        if (divs[j].className.indexOf("label") >= 0) {
           divs[j].onmouseover = showdirsubmenu;
        }
        if (divs[j].className.indexOf("submenu") >= 0) {
           divs[j].onmouseout = hidedirsubmenu;
           divs[j].onmouseleave = hidedirsubmenusimple;
        }
        if (divs[j].className.indexOf("pic") >= 0) {
           divs[j].onmouseover = showdescription;
           divs[j].onmouseout = hidedescription;
           divs[j].onmouseleave = hidedescriptionsimple;
        }
    }
}

