var menus = new Array();
menus[0] = new Array(null, null, "", null, null);
menus[1] = new Array(null, null, "", null, null);

var mnuTmr = 0;
var mnuTmrSlide = 1;
var mnuDir = 2;
var mnuTop = 3;
var mnuImage = 4;

function PopupMenu(e, mnuNum)
{
    window.clearTimeout(menus[mnuNum][mnuTmr]);
    window.clearTimeout(menus[mnuNum][mnuTmrSlide]);
    
    var menu = document.getElementById("mnu" + mnuNum);
    var e = new Event(e);
    
    if(menus[mnuNum][mnuTop] == null)
    {
        menus[mnuNum][mnuTop] = e.eventElementPosition[1] + e.eventElementDimensions[1];
        menus[mnuNum][mnuImage] = e.eventElement.id;
        
        menu.style.left = e.eventElementPosition[0] + "px";
        menu.style.top = (menus[mnuNum][mnuTop] - GetElementDimensions(menu)[1]) + "px";
        menu.style.visibility = "visible";
    }
    
    menus[mnuNum][mnuDir] = "in";
    SlideMenuIn(mnuNum);
}

function SlideMenuIn(mnuNum)
{
    window.clearTimeout(menus[mnuNum][mnuTmr]);
    window.clearTimeout(menus[mnuNum][mnuTmrSlide]);
    menus[mnuNum][mnuDir] = "in";
    
    var menu = document.getElementById("mnu" + mnuNum);
    var top = Math.floor(menu.style.top.replace("px", "")) + 8;
    var mnuHeight = GetElementDimensions(menu)[1];
    
    if(top < menus[mnuNum][mnuTop] - mnuHeight)
    {
        top = menus[mnuNum][mnuTop] - mnuHeight;
    }
    
    if(top > menus[mnuNum][mnuTop])
    {
        menus[mnuNum][mnuDir] = "";
        menu.style.top = menus[mnuNum][mnuTop] + "px";
        
        window.clearTimeout(menus[mnuNum][mnuTmrSlide]);
        StartSlideOut(mnuNum);
    }
    else
    {
        menus[mnuNum][mnuDir] = "in";
        menu.style.top = top + "px";
        menus[mnuNum][mnuTmrSlide] = window.setTimeout("SlideMenuIn(" + mnuNum + ");", 1, "JavaScript");
    }
}

function SlideMenuOut(mnuNum)
{
    if(menus[mnuNum][mnuDir] == "in")
    {
        return;
    }
    else if(GetMouseOverElement(document.getElementById("mnu" + mnuNum)) |
            GetMouseOverElement(document.getElementById(menus[mnuNum][mnuImage])))
    {
        return;
    }
    
    window.clearTimeout(menus[mnuNum][mnuTmr]);
    window.clearTimeout(menus[mnuNum][mnuTmrSlide]);
    
    var menu = document.getElementById("mnu" + mnuNum);
    var top = Math.floor(menu.style.top.replace("px", "")) - 8;
    var mnuHeight = GetElementDimensions(menu)[1];

    if(top < menus[mnuNum][mnuTop] - mnuHeight)
    {
        menus[mnuNum][mnuDir] = "";
        menu.style.top = (menus[mnuNum][mnuTop] - mnuHeight) + "px";
        window.clearTimeout(menus[mnuNum][mnuTmrSlide]);
    }
    else
    {
        menus[mnuNum][mnuDir] = "out";
        menu.style.top = top + "px";
        menus[mnuNum][mnuTmrSlide] = window.setTimeout("SlideMenuOut(" + mnuNum + ");", 1, "JavaScript");
    }
}

function StartSlideOut(mnuNum)
{
    menus[mnuNum][mnuTmr] = window.setTimeout("SlideMenuOut(" + mnuNum + ");", 1000, "JavaScript");
}

