﻿
function navMenu(e) {
    var menuItem = eventSrcElement(e);
    navTo(menuItem.NavigateUrl);
}

function menuItemOver(e) {
    var menuItem = eventSrcElement(e);
    menuItem.className = menuItem.IsMainMenu ? 'menuOver' : 'submenuOver';
}

function menuItemOut(e) {
    var menuItem = eventSrcElement(e);
    menuItem.className = menuItem.IsMainMenu ? 'menuItem' : 'submenuItem';
}

function homeOver(e) {
    var menuItem = eventSrcElement(e);
    menuItem.className = 'menuHomeOver';
}

function homeOut(e) {
    var menuItem = eventSrcElement(e);
    menuItem.className = 'menuHome';
}

function setupMenu(ev) {
    var menu = document.getElementById('menu');
    _setupMenu(menu, true);
    
    var submenu = document.getElementById('submenu');
    if (submenu) {
        _setupMenu(submenu, false);   
    }
}

function _setupMenu(mnu,isMain) {
    var mnuItems = mnu.childNodes;
    for (i = 0; i < mnuItems.length; i++) {
        var mnuItem = mnuItems[i];        
        if (mnuItem != 'undefined' && mnuItem.tagName ) {
            if (mnuItem.tagName.toLowerCase() == 'div') {
                switch (mnuItem.className) {
                    case 'menuItem':
                        setupNavigation(mnuItem,isMain);
                        break;
                        
                    case 'menuHome':
                        setupHomeNavigation(mnuItem);
                        break;
                        
                    case 'submenuItem':
                        setupNavigation(mnuItem,isMain);
                        break;
                        
                    case 'subMenuSep':
                        addSeparator(mnuItem);
                        break;
                }
            }
        }
    }
}

function setupNavigation(menuItem,isMain) {
    menuItem.IsMainMenu = isMain;
    setupMenuItemNav(menuItem);
    menuItem.onmouseover = menuItemOver;
    menuItem.onmouseout = menuItemOut;
}

function setupHomeNavigation(menuItem) {
    menuItem.IsMainMenu = true;
    setupMenuItemNav(menuItem);
    menuItem.onmouseover = homeOver;
    menuItem.onmouseout = homeOut;
}

function setupMenuItemNav(menuItem) {
    var path = getAppBaseUrl() + menuItem.id.replace('_', '/');
    menuItem.NavigateUrl = path + '.htm';
    menuItem.onclick = navMenu;
}

function addSeparator(subMenuItem) {
    var pipe = document.createTextNode('|');
    subMenuItem.appendChild(pipe);
}

addEvent('load', window, setupMenu);
