﻿var lastNavObj = null;
var lastSubnavObj = null;
var navHideTimeout = null;
var visibleSubnavObj = null;

function showSubnav(navObj, subnavObj) {
    if (navHideTimeout) {
	    if (navObj == lastNavObj) {
		    clearTimeout(navHideTimeout);
	    } else {
		    hideSubnav(lastNavObj, lastSubnavObj);
	    }
    }
    if (visibleSubnavObj) {
        visibleSubnavObj.origVisibility = 'visible';
        visibleSubnavObj.style.visibility = 'hidden';
    }
    lastNavObj = navObj;
    lastSubnavObj = subnavObj;
    if (typeof(navObj.origClassName) == 'undefined')
	    navObj.origClassName = navObj.className;
    navObj.className = 'highlight';
    if (typeof(subnavObj.origVisibility) == 'undefined')
	    subnavObj.origVisibility = (subnavObj.style.visibility ? subnavObj.style.visibility : 'visible');
    subnavObj.style.visibility = 'visible';
}

function initHideSubnav(navObj, subnavObj)
{
    if (navHideTimeout) {
	    if (lastNavObj != navObj) {
		    clearTimeout(navHideTimeout);
		    hideSubnav(lastNavObj, lastSubnavObj);
	    }
    }
    navHideTimeout = setTimeout(function() { hideSubnav(navObj, subnavObj); }, 1500);
}

function hideSubnav(navObj, subnavObj) {
    navObj.className = navObj.origClassName;
    subnavObj.style.visibility = subnavObj.origVisibility;
    if (visibleSubnavObj) {
        visibleSubnavObj.style.visibility = 'visible';
    }
    clearTimeout(navHideTimeout);
    navHideTimeout = null;
}

/* fixes IE6 resize problem with visible submenus */
if (document.all && window.attachEvent)
{
    window.attachEvent('onresize', function() {
            if (lastSubnavObj && lastSubnavObj.style.visibility == 'visible') {
                lastSubnavObj.style.visibility = 'hidden';
                lastSubnavObj.style.visibility = 'visible';
            }
            if (visibleSubnavObj) {
                visibleSubnavObj.style.visibility = 'hidden';
                visibleSubnavObj.style.visibility = 'visible';
            }
        });
}