﻿//菜单类
//菜单
function Menu() 
{
      //菜单
    Menu = new Array();
    //菜单初始项
    MenuInitItemIndex = new Array();
    //菜单中的上个菜单项
    MenuPreviousItem = new Array();
    //菜单中的上个子菜单项
    MenuPreviousSonItem = new Array();
}

Menu.prototype = {
    //菜单
    Menu : Array,
    //菜单初始项
    MenuInitItemIndex : Array,
    //菜单中的上个菜单项
    MenuPreviousItem : Array,
    //菜单中的上个子菜单项
    MenuPreviousSonItem : Array,
    //添加菜单通过ID
    addMenuById : function(ID)
    {
        if(ID != "")        
        {
                Menu.push(ID);
                MenuInitItemIndex.push(0);
                MenuPreviousItem.push("null");
                MenuPreviousSonItem.push("null"); 
        }
    },
    //添加菜单通过Html
    addMenuByHtml : function(ID, Width, Height, Left, Top)
    {
    },
    
    //添加菜单项通过Id  
    addMenuItemById : function(MenuItemID,  MenuItemSonID, MenuIndex, EventName)
    {
        if(MenuItemID != "")
        {
            var MenuItem = Ext.get(MenuItemID).dom;
            var MenuSonItem = Ext.get(MenuItemSonID).dom;
            if(MenuItem)
            {   
                //信息初始化                
                if(MenuPreviousItem[MenuIndex] == "null")
                    MenuPreviousItem[MenuIndex] =  MenuItemID;
                if(MenuPreviousSonItem[MenuIndex] == "null")
                    MenuPreviousSonItem[MenuIndex] =  MenuItemSonID;                    
                
                MenuItem.className = "";
                MenuSonItem.className ="m_02";
                MenuSonItem.style.display = "none";              
                //事件绑定        
                if (MenuItem.attachEvent)
                {
                    //IE 的事件代码
                    MenuItem.attachEvent("on" + EventName, function(){ChangeShow(MenuIndex, MenuItemID, MenuItemSonID)});
                }
                else
                {
                    //其它浏览器的事件代码
                    MenuItem.addEventListener(EventName, function(){ChangeShow(MenuIndex, MenuItemID, MenuItemSonID)}, false);
                }                
            }
        }
    },
    //添加菜单项通过Html
    addMenuItemByHtml : function(MenuID, MenuItemID)
    {
    },
    
    //设置初始信息
    Start : function()
    { 
        //MENU初始化
        for(var i=0; i < Menu.length; i++)
        {
            try
            {
                var menu = Ext.getDom(Menu[i]);
                if(menu)
                {
                    menu.className = "m_01";           //初始设置Menu的CSS         
                }
            }
            catch(e)
            {
                continue
            }
        }
        //根据COOKIE来初始化
        var MenuItem = GetCookie("Item");
        var MenuSonItem = GetCookie("SonItem");
        if(MenuItem && MenuSonItem)
        {            
            Ext.getDom(MenuItem).className = "select";
            Ext.getDom(MenuSonItem).style.display = "block";
            MenuPreviousItem[0] = MenuItem;
            MenuPreviousSonItem[0] = MenuSonItem;
            return;
        }
        //MENUITEM初始化
        for(var j=0; j < MenuPreviousItem.length; j++)
        {
            var menuItem = Ext.get(MenuPreviousItem[j]).dom;
            var menuSonItem = Ext.get(MenuPreviousSonItem[j]).dom;
            if(menuItem)
            {
                menuItem.className = "select";         //
                menuSonItem.style.display = "block";
            }
        }        
    }   
}
//设置Cookie的值 
function SetCookie(key, value)   
{
    CookieManager.setCookie(key, value);
}
//得到Cookie的值    
function GetCookie(key)
{
    return CookieManager.getCookie(key);
}
//清除Cookie 
function ClearCookie()
{
    SetCookie("Item", "");
    SetCookie("SonItem", "");
}   
//更改菜单项的显示
var ChangeShow = function (CurrMenuIndex, CurrMenuItem, CurrSonMenuItem)
{
    try
        {
            if(MenuPreviousItem[CurrMenuIndex] != CurrMenuItem)
            {                
                var PMenuItem = Ext.get(MenuPreviousItem[CurrMenuIndex]).dom;
                var PSonMenuItem = Ext.get(MenuPreviousSonItem[CurrMenuIndex]).dom;
                var CMenuItem = Ext.get(CurrMenuItem).dom;
                var CSonMenuItem = Ext.get(CurrSonMenuItem).dom;
                
                PMenuItem.className = "";
                PSonMenuItem.style.display = "none";
                CMenuItem.className = "select";
                CSonMenuItem.style.display = "block";
            
                MenuPreviousItem[CurrMenuIndex] = CurrMenuItem;
                MenuPreviousSonItem[CurrMenuIndex] = CurrSonMenuItem;
                
                SetCookie("Item", CurrMenuItem);
                SetCookie("SonItem", CurrSonMenuItem);
            }            
        }
        catch(e)
        {
            alert(e.message);
        }      
}


//执行
function init()
{   
    //测试
    var MenuInstance = new Menu();
    
    MenuInstance.addMenuById("Menu");   
    
    MenuInstance.addMenuItemById("Index", "MIndex", 0, "mouseover");
    
    MenuInstance.addMenuItemById("Communcation", "MDCommun", 0, "mouseover");
    MenuInstance.addMenuItemById("DProfession", "MDProf", 0, "mouseover");
    MenuInstance.addMenuItemById("BankProfession", "MDBank", 0, "mouseover");
    MenuInstance.addMenuItemById("Manage", "MDManage", 0, "mouseover");
    MenuInstance.addMenuItemById("Fund", "MDFund", 0, "mouseover");
    MenuInstance.addMenuItemById("Other", "MDOther", 0, "mouseover");
    
    MenuInstance.Start();
    
    //Cookie保存后，页面关闭也会存在。
    //页面unload时清除Cookie
    //无法判断用户是点击关闭还是点击了刷新，暂时不做
    //document.body.onunload = ClearCookie;
}
//文档准备
//Ext.onReady(init);