strLastOver = "";
timeDoMenu = "";
boolIsOver = false;
if(document.layers) {
    strShow = "show";
    strHide = "hide";
} else {
    strShow = "visible";
    strHide = "hidden";
}

intHideTime = 1800;
intShowTime = 120;

function pausecomp(Amount)
{ 
d = new Date() //today's date
    while (1) {
        mill=new Date() // Date Now
    diff = mill-d //difference in milliseconds
    if( diff > Amount ) {break;}
    }
}

function doMenu(strWhich){
    if(strWhich) {
        strWhich = strWhich.charAt(0).toUpperCase() + strWhich.substr(1, strWhich.length);
        if((strWhich != strLastOver) && (strLastOver)) {
            showMenu(strLastOver, strHide);
        }
        strLastOver = strWhich;
        if(timeDoMenu) { clearTimeout(timeDoMenu); }
        showMenu(strWhich,strShow);
    } else {
        strWhich = strLastOver;
        pausecomp(intShowTime);
        if(!boolIsOver) {
            timeDoMenu = setTimeout("showMenu('" + strWhich + "','" + strHide + "')", intHideTime);
        }
    }

    if(document.addEventListener) {
        objMenu = document.getElementById("Menu-" + strWhich);
        objMenu.addEventListener("mouseover", isOver, false);
        objMenu.addEventListener("mouseout", isOver, false);
    }
    if(document.all) {
        event.cancelBubble = true;
    }
}

function isOver(e) {
    boolIsOver = (e.type == "mouseover") ? true : false;
    if(boolIsOver) {
        doMenu(strLastOver);
    } else {
        doMenu();
    }
}

function showMenu(strWhich, strState) {
    var objMenu = document.getElementById("Menu-" + strWhich);

    if(strWhich.indexOf("-") != -1) {
        var hyOne = strWhich.indexOf("-");
        var hyTwo = strWhich.lastIndexOf("-");
        if (hyOne == hyTwo) { // parents only
            var strParent = "Menu-" + strWhich.substr(0, strWhich.indexOf("-"));
            var objParent = document.getElementById(strParent);
            objParent.style.visibility = strState;
            var grandParents = false;
        } else { // grandparents
            var strParent = "Menu-" + strWhich.substr(0, hyTwo);
            var objParent = document.getElementById(strParent);
            objParent.style.visibility = strState;
            var strGrandParent = "Menu-" + strWhich.substr(0, hyOne);
            var objGrandParent = document.getElementById(strGrandParent);
            objGrandParent.style.visibility = strState;
        }
    }
    objMenu.style.visibility = strState;
}

// a document.getElementById method for non-compliant browsers.
if(!document.getElementById) {
    document.getElementById = function(strId) {
        if(document.layers) {
            var objOut = document.layers[strId];
            objOut.style = objOut;
            return objOut;
        } else if(document.all) {
            return document.all[strId];
        }
    }
}

// returns the height of a layer.
function widthRef(layerID) {
    if(document.layers) {
        return document.layers[layerID].document.width;
    } else if(document.all) {
        if((navigator.appVersion.indexOf("MSIE 4") != -1) && (navigator.appVersion.indexOf("Macintosh") != -1)) { // IE4/Mac is weird.
            if((document.all[layerID].style.paddingLeft) && (document.all[layerID].style.paddingRight)) {
                return(parseInt(document.all[layerID].style.pixelWidth) + parseInt(document.all[layerID].style.paddingLeft) + parseInt(document.all[layerID].style.paddingRight));
            } else {
                return(parseInt(document.all[layerID].style.pixelWidth));
            }
        } else {
            return document.all[layerID].offsetWidth;
        }
    } else if(document.getElementById) {
        return document.getElementById([layerID]).offsetWidth;
    }
}

function Browser() { // stripped just down to IE level
    var b=navigator.appName;
    var agt=navigator.userAgent.toLowerCase();
    var ua=navigator.userAgent.toLowerCase();
    if (b=="Microsoft Internet Explorer") this.b="ie";
    this.version=navigator.appVersion;
    this.v=parseInt(this.version);
    this.ie=(this.b=="ie" && this.v>=4);
}
is = new Browser();