var disappeardelay = 500;
var enableanchorlink = 0;
var hidemenu_onclick = 1;
var ie5 = document.all;
var ns6 = document.getElementById && !document.all;

function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent)
        curleft += obj.offsetLeft;
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent)
        curtop += obj.offsetTop;
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}

function showhide(obj, e, visible, hidden) {
    if (ie5 || ns6)
        dropmenuobj.style.left = dropmenuobj.style.top = -500
    if (e.type == "click" && obj.visibility == hidden || e.type == "mouseover")
        obj.visibility = visible;
    else if (e.type == "click")
        obj.visibility = hidden;
}

function iecompattest() { return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body }

function clearbrowseredge(obj, whichedge) {
    var edgeoffset = 0
    if (whichedge == "rightedge") {
        var windowedge = ie5 && !window.opera ? iecompattest().scrollLeft + iecompattest().clientWidth - 15 : window.pageXOffset + window.innerWidth - 15
        dropmenuobj.contentmeasure = dropmenuobj.offsetWidth
        if (windowedge - dropmenuobj.x < dropmenuobj.contentmeasure)
            edgeoffset = dropmenuobj.contentmeasure - obj.offsetWidth
    }
    else {
        var topedge = ie5 && !window.opera ? iecompattest().scrollTop : window.pageYOffset
        var windowedge = ie5 && !window.opera ? iecompattest().scrollTop + iecompattest().clientHeight - 15 : window.pageYOffset + window.innerHeight - 18
        dropmenuobj.contentmeasure = dropmenuobj.offsetHeight
        if (windowedge - dropmenuobj.y < dropmenuobj.contentmeasure) {
            edgeoffset = dropmenuobj.contentmeasure + obj.offsetHeight
            if ((dropmenuobj.y - topedge) < dropmenuobj.contentmeasure)
                edgeoffset = dropmenuobj.y + obj.offsetHeight - topedge
        } 
    }
    return edgeoffset
}


function dropdownmenu(obj, e, dropmenuID) {
    if (window.event)
        event.cancelBubble=true
    else if (e.stopPropagation)
        e.stopPropagation()
        
    if (typeof dropmenuobj != "undefined")
        dropmenuobj.style.visibility = "hidden"

    clearhidemenu()
    
    if (ie5 || ns6) {
        obj.onmouseout = delayhidemenu
        dropmenuobj = document.getElementById(dropmenuID)
        if (hidemenu_onclick) dropmenuobj.onclick = function () { dropmenuobj.style.visibility = 'hidden' }
        dropmenuobj.onmouseover = clearhidemenu
        dropmenuobj.onmouseout = ie5 ? function () { dynamichide(event) } : function (event) { dynamichide(event) }
        showhide(dropmenuobj.style, e, "visible", "hidden")
        dropmenuobj.x = findPosX(obj)
        dropmenuobj.y = findPosY(obj)
        dropmenuobj.style.left = dropmenuobj.x - clearbrowseredge(obj, "rightedge") + "px"
        dropmenuobj.style.top = dropmenuobj.y - clearbrowseredge(obj, "bottomedge") + obj.offsetHeight + "px"
    }
    return clickreturnvalue()
}


function clickreturnvalue() {
    if ((ie5 || ns6) && !enableanchorlink) return false
    else return true
}

function contains_ns6(a, b) {
    while (b.parentNode)
        if ((b = b.parentNode) == a)
            return true; return false;
}

function dynamichide(e) {
    if (ie5 && !dropmenuobj.contains(e.toElement))
        delayhidemenu()
    else if (ns6 && e.currentTarget != e.relatedTarget && !contains_ns6(e.currentTarget, e.relatedTarget))
        delayhidemenu()
}

function delayhidemenu() { delayhide = setTimeout("dropmenuobj.style.visibility='hidden'", disappeardelay); }

function clearhidemenu() {
    if (typeof delayhide != "undefined") {
        clearTimeout(delayhide)
    } 
}

function hideSelect() {
    if (document.getElementById("dropdownselect"))
        document.getElementById("dropdownselect").style.display = 'none';
}

function showSelect() {
    if (document.getElementById("dropdownselect"))
        document.getElementById("dropdownselect").style.display = 'block';
}

