﻿var openSubnavi = NaN;
var prevId = NaN;

function mouseover(elm, className, id, clicked) {

    elm.className = className;
    if (clicked == "") {
        var subnavi = document.getElementById("sublayerOf_" + id);
        var layer1 = elm;
        var headnavigation = document.getElementById("headnavigation");
       // var debug = document.getElementById("content");

        if ((openSubnavi) && (subnavi != openSubnavi)) {
            openSubnavi.style.display = "none";
            if (prevId) {
                var tmp = document.getElementById("layer1_" + prevId);
                tmp.className = tmp.className.replace(" mouseover", "");
            }
        }


        if (subnavi) {
            var l = elm.offsetLeft + headnavigation.offsetLeft;
            var t = headnavigation.offsetTop + elm.offsetHeight;

            var move = function(e) {

                if (!e) var e = window.event;
                var tg = (window.event) ? e.srcElement : e.target;

                if (!tg.nodeName) return;

                var check = checkParentElement(id, tg);

                if (!check) {
                    subnavi.style.display = "none";
                    elm.className = className.replace(" mouseover", "");
                    window.onmousemove = NaN;
                }

               // debug.innerHTML = elm.id;
            };

            if (document.all)
                document.onmousemove = move;
            else {
                window.captureEvents(Event.MOUSEMOVE);
                window.onmousemove = move;
            }



            subnavi.style.left = l + "px";
            subnavi.style.top = t + "px";
            subnavi.style.display = "block";
            openSubnavi = subnavi;
            prevId = id;
        }
    }
    
    
}

//function mouseout(elm, className, id) {

//    elm.className = className;
//    
//    var subnavi = document.getElementById("sublayerOf_" + id);
//    var layer1 = document.getElementById("layer1_" + id);
//    
//    if (subnavi) {
//        subnavi.style.display = "none";
//    }
//}

function checkParentElement(id, tg) {
    var parent = tg;
    while (parent) {
        if (parent.id == "sublayerOf_" + id) {
            return true;
        } else if (parent.id == "layer1_" + id) {
            return true;
        }
        parent = parent.parentNode;
    }
    return false;
}
