var menuids = new Array("main-menu") //Enter id(s) of UL menus, separated by commas
var submenuxoffset = -11 //Offset of submenus from main menu x-axis
var submenuyoffset = 0 //Offset of submenus from main menu y-axis
var elements_to_hide = new Array();

function add_to_list(e) {
    console.log("adding an element+ " + e.className);
    var found = false;
    for (var i = 0; i < elements_to_hide.length; i++) {
        if (elements_to_hide[i] == e) {
            found = true;
            break;
        }
    }
    if (found == false) {
        elements_to_hide.push(e);
    }
    //console.log("Items left: " + elements_to_hide.length);
}

function remove_from_list(e) {
    console.log("removing an element: " + e.className);
    var i = 0;
    while (i < elements_to_hide.length) {
        if (elements_to_hide[i] == e) {
            elements_to_hide.splice(i, 1);
        }
        else {
            i++;
        }
    }
    //console.log("Items left: " + elements_to_hide.length);
}

function hide_ul() {
    //console.log("timer hit");
    for (var i = 0; i < elements_to_hide.length; i++) {
        elements_to_hide[i].style.display = "none";
        //console.log("hiding an element: " + elements_to_hide[i].className);
    }
    elements_to_hide = new Array();
}

function createcssmenu() {
    for (var i = 0; i < menuids.length; i++) {
        var ultags = document.getElementById(menuids[i]).getElementsByTagName("ul")
        for (var t = 0; t < ultags.length; t++) {
            var spanref = document.createElement("span")
            spanref.className = "arrowdiv"
            spanref.innerHTML = "&nbsp;&nbsp;"
            ultags[t].parentNode.getElementsByTagName("a")[0].appendChild(spanref)

            ultags[t].parentNode.onmouseover = function () {
                remove_from_list(this.getElementsByTagName("ul")[0]);
                this.getElementsByTagName("ul")[0].style.left = this.parentNode.offsetWidth + submenuxoffset + "px"
                this.getElementsByTagName("ul")[0].style.top = this.parentNode.offsetTop + submenuyoffset + "px"
                this.getElementsByTagName("ul")[0].style.display = "block"
            }
            ultags[t].parentNode.onmouseout = function () {
                add_to_list(this.getElementsByTagName("ul")[0]);
                setTimeout("hide_ul()", 300);
            }
        }
    }
}

if (window.addEventListener)
    window.addEventListener("load", createcssmenu, false)
else if (window.attachEvent)
    window.attachEvent("onload", createcssmenu)

