p_menu_arr = new Array;
i = 1;
vis = 0;
t = null;
var menus = document.getElementById("menus").value;

while (document.getElementById("menu_"+i) && i<=menus) {
    c = 1;
    var el = document.getElementById("menu_" + i);
    var tleft = getpos (el, "Left");
    var ttop = getpos (el, "Top");
        
    if (document.getElementById("p_menu_" + i)) {
        p_menu_arr.push(i);
        window["menu_"+i] = document.getElementById("menu_"+i);
        if (window.addEventListener) {
            window["menu_"+i].addEventListener("mouseover", function(i) {over(i)}, false);
            window["menu_"+i].addEventListener("mouseout", function(i) {out(i)}, false);
            window["p_menu_"+i] = document.getElementById("p_menu_"+i);
            window["p_menu_"+i].addEventListener("mouseover", function(i) {over(i)}, false);
            window["p_menu_"+i].addEventListener("mouseout", function(i) {out(i)}, false);
            while (document.getElementById("p_menu_"+i+"_"+c)) {
                window["p_menu_"+i+"_"+c] = document.getElementById("p_menu_"+i+"_"+c);
                window["p_menu_"+i+"_"+c].addEventListener("mouseover", function(i) {over_p(i)}, false);
                window["p_menu_"+i+"_"+c].addEventListener("mouseout", function(i) {out_p(i)}, false);
                window["p_menu_"+i+"_"+c].addEventListener("click", function(i) {click(i)}, false);
                c++;
            }
        }
        else if (window.attachEvent) {
            window["menu_"+i].attachEvent("onmouseover", function(i) {over(i)});
            window["menu_"+i].attachEvent("onmouseout", function(i) {out(i)});
            window["p_menu_"+i] = document.getElementById("p_menu_"+i);
            window["p_menu_"+i].attachEvent("onmouseover", function(i) {over(i)});
            window["p_menu_"+i].attachEvent("onmouseout", function(i) {out(i)});
            while (document.getElementById("p_menu_"+i+"_"+c)) {
                window["p_menu_"+i+"_"+c] = document.getElementById("p_menu_"+i+"_"+c);
                window["p_menu_"+i+"_"+c].attachEvent("onmouseover", function(i) {over_p(i)});
                window["p_menu_"+i+"_"+c].attachEvent("onmouseout", function(i) {out_p(i)});
                window["p_menu_"+i+"_"+c].attachEvent("onclick", function(i) {click(i)});
                c++;
            }        
        }
        document.getElementById("p_menu_" + i).style.left = tleft + "px";
        document.getElementById("p_menu_" + i).style.top = ttop + 23 + "px";       
    }
    i++;    
}

function getpos (el,tl) {
        var pos = 0;
        while (el!=null) {
            pos+=el["offset" + tl]
            el = el.offsetParent
        }
        return pos
    }

function over_p(id) {
    if (t) {
        clearTimeout(t);
        t = null;
    }
        //as = id.target.id;
        //av = id.currentTarget.id;
        //ac = id.relatedTarget.id;
    if (id.target.id != "") {
        document.getElementById(id.target.id).style.backgroundColor = "#c7c5c5";
    }
    else if (id.currentTarget.id != "") {
        document.getElementById(id.currentTarget.id).style.backgroundColor = "#c7c5c5";    
    }        
}

function out_p(id) {
    //t = setTimeout(function() {timeout_out(id)}, 100);
    timeout_out(id);   
}

function timeout_out(id) {
    //as = id.target.id;
    //av = id.currentTarget.id;
    //ac = id.relatedTarget.id;
    if (id.currentTarget.id != "") {
        document.getElementById(id.currentTarget.id).style.backgroundColor = "#dcdcdc";
    }
    else if (id.relatedTarget.id != "") {
        document.getElementById(id.relatedTarget.id).style.backgroundColor = "#dcdcdc";    
    }    
}

function click(id) {
    var c = id.currentTarget.id.split("_");
    var a = document.getElementById("a_" + c[c.length-2] + "_" + c[c.length-1]).href;
    timeout_out(id);
    hideall();
    document.location.href = a;
}

function hide(id) {
    //if (!id) id = window.event
    if (vis != 0) {
        //as = id.target.id;
        //ac = id.relatedTarget.id;
        a = (id.target || id.srcElement).id.split("_");
        for (var e in a) {
            if (a[e] == "menu") {
            var b = a[Number(e) + 1];
        }    
    }
        document.getElementById("p_menu_"+ b).style.display = "none";
        vis = 0;     
    }       
}

function over(id) {
    //hideall();
    if (id.currentTarget) {
        var a = id.currentTarget.id.split("_");
    }
    else if (window.event) {
        var a = window.event ? window.event.srcElement : event.currentTarget;
        a = a.id.split("_");
    }
    var b = a[a.length-1];
    if (vis == 0 || vis != b) {
        //as = id.target.id;
        //av = id.currentTarget.id;
        //ac = id.relatedTarget.id;
        hideall();
        document.getElementById("p_menu_"+ b).style.display = "block";
        vis = b;
    }
    else {
        clearTimeout(timer);
    }    
}

function hideall() {
    for (var a in p_menu_arr) {
        if (document.getElementById("p_menu_"+ p_menu_arr[a]).style.display == "block") {
            document.getElementById("p_menu_"+ p_menu_arr[a]).style.display = "none";
            clearTimeout(timer);
            vis = 0;    
        }   
    }
}

function out(id) {
    timer = setTimeout(function() {hide(id)}, 100);           
}
