
var menu = new Array();
var activeMenu = -1;
var activeSubMenu = -1;
var menuTimer = null;
var initialized = false;

function initMenu(id) {
    eval("menu[" + id + "] = new xbPositionableElement('xbmenu" + id + "',  'abs', 'abs', 0, 17, 'xbparent" + id + "', false)");
}

function init() {
    var menuCount = 0;
    do {
        var foundMenu = null;
        if (document.getElementById) {
            foundMenu = document.getElementById("xbmenu" + menuCount);
        } else if (document.all) {
            foundMenu = document.all["xbmenu" + menuCount];
        } else if (document.layers) {
            foundMenu = document.layers["xbmenu" + menuCount];
        }
        if (foundMenu != null) {
            initMenu(menuCount);
        }
        menuCount++;
    } while(foundMenu != null);

    for (i = 0; i < menu.length; i++) {
        menu[i].init();
    }

    initialized = true;
}

function resize() {
    hideMenu();
}

function stopMenuTimer() {
    if (menuTimer != null) {
        clearTimeout(menuTimer);
        menuTimer = null;
    }
}

function startMenuTimer() {
    stopMenuTimer();
    menuTimer = setTimeout("updateMenu()", 2000);
}

function showMenu(id) {
	if (! initialized) return;
    if (activeMenu >= 0) menu[activeMenu].hide();
    if (activeSubMenu >= 0) menu[activeSubMenu].hide();
    activeSubMenu = -1;
    activeMenu = id;
    menu[activeMenu].show();
    startMenuTimer();
}

function showSubMenu(id) {
	if (! initialized) return;
    if (activeSubMenu >= 0) menu[activeSubMenu].hide();
    activeSubMenu = id;
    menu[id].show();
    startMenuTimer();

}


function hideMenu() {
	if (! initialized) return;
    if (activeMenu >= 0) menu[activeMenu].hide();
    if (activeSubMenu >= 0) menu[activeSubMenu].hide();
    activeMenu = -1;
    activeSubMenu = -1;
}

function updateMenu() {
	if (! initialized) return;
 	var isActive = false;
    if (activeMenu >= 0) {
        principal = menu[activeMenu].checkPointer();
		if (activeSubMenu >=0){
		      subMenu = menu[activeSubMenu].checkPointer();
		} else {
                      subMenu = false;
                }
	if (principal || subMenu){
		isActive=true;
	} else {
		isActive=false;
	}        
    }
    if (! isActive) {
        hideMenu();
    } else {
        startMenuTimer();
	}
}

// Event MouseClick
document.onclick=hideMenu;
// Event MouseMove
if ( document.layers ) { document.captureEvents(Event.MOUSEMOVE) }
document.onmousemove=moveMouse;

