var waitForMenuOut = false;
var jsTimer = 0;
var swfTimer = 0;
var currMenu = null;
var lastShowRequest = null;
function menuOut(id) { 
	if(currMenu) {
		lastShowRequest = null;
		waitForMenuOut = false;
		jsTimer = setTimeout( function() { delayedMenuHide(id, "js");}, 250); 
	}
}
function menuOver() { 
	waitForMenuOut = true;
	if(jsTimer) {
		clearTimeout(jsTimer); 
		jsTimer = 0;
	}
}
function showSubNav(id, x) {
    if ($(id)) {
		lastShowRequest = id;
		clearTimers();
		waitForMenuOut = false;
        if(currMenu && $(id) != currMenu) {
            currMenu.style.visibility = "hidden";
        }
        currMenu = $(id);
        var s = $(id).style;
        s.left = Math.abs(x)+"px";
        s.visibility = 'visible';
    }
}

function hideSubNav(id) {
	if(currMenu && !waitForMenuOut) {
		lastShowRequest = null;
		delayedMenuHide(id, "swf");
	}
}

function delayedMenuHide(id, cllr) {
	clearTimers();
    if (!waitForMenuOut && lastShowRequest != id && $(id)) {
        var s = $(id).style;
		s.visibility = 'hidden';
		if(currMenu == $(id)) {
			currMenu = null;
        }
    }
}

function clearTimers() {
	if(swfTimer) {
		clearTimeout(swfTimer); 
		swfTimer = 0;
	}
	if(jsTimer) {
		clearTimeout(jsTimer); 
		jsTimer = 0;
	}
}
