//
//////////////////////////////////////////////////////////////
//                                                          //
//  DROP DOWN MENU BAR For Infomann 8.0.1 by Ten.Cao        //
//                                                          //
//  Copyright (C) Infomann 2007-2008, All Rights Reserved.  //
//                                                          //
//////////////////////////////////////////////////////////////
//

var Root_Table_Class = "Root_Table_Class";
var Root_Table_Width = 772;
var Root_Table_Height = 1;
var Root_Table_Cellpadding = 4;
var Root_Table_Cellspacing = 0;
var Root_Table_Border = 0;

var Root_Cell_Class = "Root_Cell_Class";
var Root_Cell_OnMouseOver_MenuExpand_Class = "Root_Cell_Class_Select";

var Root_Cell_VAlign = "";
var Root_Cell_Align = "";
var Root_Cell_NoWrap = true;

var TopTable_Class = "TopTable_Class";

var DataTable_Class = "DataTable_Class";
var DataTable_Cellpadding = 4;
var DataTable_Cellspacing = 0;
var DataTable_Border = 0;

var DataTable_Cell_Class = "DataTable_Cell_Class";
var DataTable_Cell_OnMouseOver_MenuExpand_Class = "DataTable_Cell_Class_Select";

var DataTable_Cell_VAlign = "";
var DataTable_Cell_Align = "";
var DataTable_Cell_NoWrap = true;

var SetTime_Remove_Menu_Table;
var SetTime_Remove_TopTable;

var Redirect = false;

var Timeout = 50;

var TopTable_Align = 0;
var MainTableRow = 1;
var TableSpace = 1;

//Set Menu Data
var Menu = new Array();

Menu[0] = new Array();
Menu[0][0] = "";    //ClassName
Menu[0][1] = "";    //ClassInfo
Menu[0][2] = "0";   //ClassID
Menu[0][3] = 0;     //Class Parent Number
Menu[0][4] = "0";   //Class Children Number List
Menu[0][5] = "";    //URL
Menu[0][6] = "";    //Link Target
Menu[0][7] = "";    //URL Parameter


var ISelect = new Array();
var ISelectValue = new Array();
var ISelectHidden = false;


var Menu_Div;
var Menu_Table;
var Root_Table;
var MainTable;


//Set Check Redirect
function CheckRedirect(Obj){
    if(Obj != "_blank")
    {
        Redirect = true;
    }
}

//Set RootTable
function RootTable(PanelName){
	
    //Create Menu_Div
    Menu_Div = document.createElement("DIV");
    Menu_Div.id = "Menu_Div";
    Menu_Div.onselectstart = function TMP() {return(false);}
    document.getElementById(PanelName).appendChild(Menu_Div);
    
    //Create Menu_Table
    Menu_Table = document.createElement("TABLE");
    Menu_Table.id = "Menu_Table";
    Menu_Table.border = 0;
    Menu_Table.cellPadding = 0;
    Menu_Table.cellSpacing = 0;
    Menu_Table_Row = Menu_Table.insertRow(-1);
    Menu_Table_Cell = Menu_Table_Row.insertCell(-1);
    Menu_Div.appendChild(Menu_Table);

    //Create Root_Table
    Root_Table = document.createElement("TABLE");
    Root_Table.className = Root_Table_Class;
    Root_Table.width = Root_Table_Width;
    Root_Table.height = Root_Table_Height;
    Root_Table.border = Root_Table_Border;
    Root_Table.cellPadding = Root_Table_Cellpadding;
    Root_Table.cellSpacing = Root_Table_Cellspacing;
    
    //left Cell
    Root_Table_Row = Root_Table.insertRow(-1);
    Root_Table_Cell = Root_Table_Row.insertCell(-1);
    Root_Table_Cell.id = "Top_Table_Cell_0";
    //Root_Table_Cell.width = "50";
    Root_Table_Cell.tabIndex = 0;
    Root_Table_Cell.innerHTML = "&nbsp;";
  
    var Cell_HTML;
    for(var i = 1;i < Menu.length;i++)
    {
	    var MenuPD = Menu[i][7].split("&");
	    if(MenuPD.length > 1 && Menu[i][5] != "")
	        for(var j = 0;j < MenuPD.length;j++)
	        {
	            Menu[i][5] = Menu[i][5].replace("&"+ MenuPD[j].substring(0, MenuPD[j].indexOf("=") + 1),"&"+ MenuPD[j]);
	            Menu[i][5] = Menu[i][5].replace("?"+ MenuPD[j].substring(0, MenuPD[j].indexOf("=") + 1),"?"+ MenuPD[j]);
	        }
	        
	    if(Menu[i][3] == 0)
	    {
		    Root_Table_Cell = Root_Table_Row.insertCell(-1);
		    Root_Table_Cell.id = "Root_Table_Cell_"+ Menu[i][2];
		    Root_Table_Cell.tabIndex = i;
	        Root_Table_Cell.className = Root_Cell_Class;
		    Root_Table_Cell.vAlign = Root_Cell_VAlign;
		    Root_Table_Cell.align = Root_Cell_Align;
		    Root_Table_Cell.noWrap = Root_Cell_NoWrap;
		    		
		    if(Menu[i][5] != ""){
		        Cell_HTML = "<a onclick=\"CheckRedirect('"+ Menu[i][6] +"'); this.blur(); \" id=Link_"+ Menu[i][2] +" href="+ Menu[i][5] +" target="+ Menu[i][6] +" title=\""+ Menu[i][1] +"\">"+ Menu[i][0] +"</a>";
		    }else{
		        Cell_HTML = Menu[i][0];
		        Root_Table_Cell.title = Menu[i][1];
		    }
		
		    Root_Table_Cell.innerHTML = Cell_HTML;
		    Root_Table_Cell.onmouseover = function TMP(){eval("if(!Redirect){ this.style.cursor = 'default'; OnMouseOver_Root_Cell(this); }")}
		    Root_Table_Cell.onmouseout = function TMP(){eval("if(!Redirect){ this.style.cursor = 'auto'; OnMouseOut_Root_Cell(this); }")}
	    }
	    else
	    {
	        Menu[parseInt(Menu[i][3])][4] += ","+ i;
	    }
    }
    Menu_Table_Cell.appendChild(Root_Table);
    
    //SetPanelHeight
    document.getElementById(PanelName).height = Menu_Table.offsetHeight;
}

//Menu_Table insertRow for DropDown_MainTable
function Set_Menu_Table(ObjTD){
    while (Menu_Table.rows.length > 1)
        Menu_Table.deleteRow(1);

    Menu_Table_Row = Menu_Table.insertRow(-1);
    Menu_Table_Cell = Menu_Table_Row.insertCell(-1);
	
	if((Root_Table_Width - ObjTD.offsetLeft) > ObjTD.offsetLeft){
	    TopTable_Align = 2;
        MainTableRow = 2;
    }
    else{
        TopTable_Align = 1;
        MainTableRow = 0;
    }
        
    //Add MainTable to Menu_Table
	Menu_Table_Cell.appendChild(DropDown_MainTable(ObjTD));
	
	if(!ISelectHidden)
	{
	    Hidden_Select();
	    ISelectHidden = true;
	}

    return(Menu_Table);
}

//MainTable set The Root_Table_Cell offsetLeft
function DropDown_MainTable(ObjTD){
    MainTable = document.createElement("TABLE");
    MainTable.id = "MainTable";
    MainTable.border = 0;
    MainTable.cellPadding = 0;
    MainTable.cellSpacing = 0;
    MainTable_Row = MainTable.insertRow(-1);
    MainTable_Cell = MainTable_Row.insertCell(-1);
    MainTable_Cell.vAlign = "top";
    MainTable_Cell.width = ObjTD.offsetLeft - TableSpace;
    
    MainTable_Cell = MainTable_Row.insertCell(-1);
    MainTable_Cell.vAlign = "top";    
	//Add TopTable to MainTable;
	MainTable_Cell.appendChild(DropDown_TopTable(ObjTD,0));
	
    MainTable_Cell = MainTable_Row.insertCell(-1); 
    MainTable_Cell.vAlign = "top";
    
    return(MainTable);
}


function DropDown_TopTable(Obj,Align){
    TopTable = document.createElement("TABLE");
    TopTable.id = "TopTable_"+ Menu[Obj.tabIndex][2];
    TopTable.className = TopTable_Class;
    TopTable.border = 0;
    TopTable.cellPadding = 0;
    TopTable.cellSpacing = 0;
    if(Align == 1)
        TopTable.align = "right";
    if(Align == 2)
        TopTable.align = "left";
    
    //Set DataTable TopHeight
    var HS = Obj.offsetTop;
    if(Menu[Obj.tabIndex][3] > 0)
    {
        TableObj = document.getElementById("TopTable_"+ Menu[Menu[Obj.tabIndex][3]][2]);
        
        if(TableObj.rows.length > 1)
            HS += TableObj.rows[0].cells[0].offsetHeight;
    }
    
    if(HS > 0){
        TopTable_Row = TopTable.insertRow(-1);
        TopTable_Cell = TopTable_Row.insertCell(-1);
        TopTable_Cell.height = HS;
    }
    TopTable_Row = TopTable.insertRow(-1);
    TopTable_Cell = TopTable_Row.insertCell(-1);
    //Add DataTable to TopTable
	TopTable_Cell.appendChild(DropDown_DataTable(Obj,TopTable_Align));
	
    return(TopTable);
}


function DropDown_DataTable(Obj,Align){

    DataTablePanel = document.createElement("TABLE");
    DataTablePanel.id = "DataTablePanel_"+ Menu[Obj.tabIndex][2];
    DataTablePanel.border = 0;
    DataTablePanel.cellPadding = 0;
    DataTablePanel.cellSpacing = 0;
    
    DataTablePanel_Row = DataTablePanel.insertRow(-1);
    DataTablePanel_Cell = DataTablePanel_Row.insertCell(-1);
    DataTablePanel_Cell.height = TableSpace;
    DataTablePanel_Cell.width = TableSpace;
    DataTablePanel_Cell = DataTablePanel_Row.insertCell(-1);
    DataTablePanel_Cell = DataTablePanel_Row.insertCell(-1);
    DataTablePanel_Cell.width = TableSpace;
    
    DataTablePanel_Row = DataTablePanel.insertRow(-1);
    DataTablePanel_Cell = DataTablePanel_Row.insertCell(-1);
    DataTablePanel_Cell_Main = DataTablePanel_Row.insertCell(-1);
    DataTablePanel_Cell = DataTablePanel_Row.insertCell(-1);
    
    DataTable = document.createElement("TABLE");
    DataTable.id = "DataTable_"+ Menu[Obj.tabIndex][2];
    DataTable.className = DataTable_Class;
    DataTable.border = DataTable_Border;
    DataTable.cellPadding = DataTable_Cellpadding;
    DataTable.cellSpacing = DataTable_Cellspacing;
    
    var MenuDD = Menu[Obj.tabIndex][4].split(",");

    var Cell_HTML;
    for(var i = 1;i < MenuDD.length;i++)
    {
        DataTable_Row = DataTable.insertRow(-1);
        DataTable_Row.id = "DataTable_Row_"+ Menu[MenuDD[i]][2];
        DataTable_Row.tabIndex = MenuDD[i];
	    DataTable_Row.onmouseover = function TMP(){eval("if(!Redirect){ this.style.cursor = 'default'; OnMouseOver_DataTable_Cell(this); }")}
	    DataTable_Row.onmouseout = function TMP(){eval("if(!Redirect){ this.style.cursor = 'auto'; OnMouseOut_DataTable_Cell(this); }")}
        
        DataTable_Cell = DataTable_Row.insertCell(-1);
        DataTable_Cell.className = DataTable_Cell_Class;
	    DataTable_Cell.tabIndex = MenuDD[i];
        DataTable_Cell.width = 12;
        DataTable_Cell.align = "center";
                
        if(Menu[MenuDD[i]][4].indexOf(",") > 0 && Align == 1)
            DataTable_Cell.innerHTML = "◄";
        else
            DataTable_Cell.innerHTML = "<img width=12 height=1 src='/images/spacer.gif'>";
        
        DataTable_Cell = DataTable_Row.insertCell(-1);
        DataTable_Cell.className = DataTable_Cell_Class;
	    DataTable_Cell.id = "DataTable_Cell_"+ Menu[MenuDD[i]][2];
	    DataTable_Cell.tabIndex = MenuDD[i];
	    DataTable_Cell.vAlign = DataTable_Cell_VAlign;
	    DataTable_Cell.align = DataTable_Cell_Align;
	    DataTable_Cell.noWrap = DataTable_Cell_NoWrap;
	    		
	    if(Menu[MenuDD[i]][5] != ""){
	        Cell_HTML = "<a onclick=\"CheckRedirect('"+ Menu[MenuDD[i]][6] +"'); this.blur(); \" id=Link_"+ Menu[MenuDD[i]][2] +" href="+ Menu[MenuDD[i]][5] +" target="+ Menu[MenuDD[i]][6] +" title=\""+ Menu[MenuDD[i]][1] +"\">"+ Menu[MenuDD[i]][0] +"</a>";
	    }else{
	        Cell_HTML = Menu[MenuDD[i]][0];
	        DataTable_Cell.title = Menu[MenuDD[i]][1];
	    }
	
	    DataTable_Cell.innerHTML = Cell_HTML;
        
        DataTable_Cell = DataTable_Row.insertCell(-1);
        DataTable_Cell.className = DataTable_Cell_Class;
	    DataTable_Cell.tabIndex = MenuDD[i];
        DataTable_Cell.width = 12;
        DataTable_Cell.align = "center";
        if(Menu[MenuDD[i]][4].indexOf(",") > 0 && Align == 2)
            DataTable_Cell.innerHTML = "►";
        else
            DataTable_Cell.innerHTML = "<img width=12 height=1 src='/images/spacer.gif'>";
    }
    
    DataTablePanel_Cell_Main.appendChild(DataTable);
	
    return(DataTablePanel);
}


function Hidden_Select(){
    var k = 0;
    ISelect = new Array();
    ISelectValue = new Array();

    for(var i = 0;i < document.forms.length;i++)
        for(var j = 0;j < document.forms[i].elements.length;j++)
            if(document.forms[i].elements[j].tagName == "SELECT" && document.forms[i].elements[j].style.display != "none")
            {
                ISelect[k] = document.forms[i].elements[j];
                ISelectValue[k] = document.forms[i].elements[j].style.display;
                ISelect[k].style.visibility = "hidden";
                k++;
            }
}


function Show_Select(){
    for(var i = 0;i < ISelect.length;i++)
        ISelect[i].style.visibility = ISelectValue[i];
}


function Remove_Menu_Table(){
    while (Menu_Table.rows.length > 1)
        Menu_Table.deleteRow(1);

    for(var i = 1;i < Root_Table.rows[0].cells.length;i++)
        Root_Table.rows[0].cells[i].className = Root_Cell_Class;
        	
	if(ISelectHidden)
	{
        Show_Select();
	    ISelectHidden = false;
	}
}


function OnMouseOver_Root_Cell(ObjTD){
    window.clearTimeout(SetTime_Remove_Menu_Table);
    
    if(document.getElementById("DataTable_"+ Menu[ObjTD.tabIndex][2]) == null){
        for(var i = 1;i < Root_Table.rows[0].cells.length;i++)
            Root_Table.rows[0].cells[i].className = Root_Cell_Class;
        
	    ObjTD.className = Root_Cell_OnMouseOver_MenuExpand_Class;
    	
	    Set_Menu_Table(ObjTD);
	    
	    if(MainTable.offsetWidth < Root_Table_Width)
	        MainTable.rows[0].cells[2].width = Root_Table_Width - MainTable.rows[0].cells[0].offsetWidth - MainTable.rows[0].cells[1].offsetWidth;
	    else
	        MainTable.rows[0].cells[0].width = Root_Table_Width - MainTable.rows[0].cells[2].offsetWidth - MainTable.rows[0].cells[1].offsetWidth + 1;
	}
}


function OnMouseOut_Root_Cell(ObjTD){
    SetTime_Remove_Menu_Table = window.setTimeout("Remove_Menu_Table()",Timeout);
}


function Remove_TopTable(ObjID){
    if(MainTable.rows.length > 0)
        for(var k = 0;k<MainTable.rows[0].cells[MainTableRow].childNodes.length;k++)
            if(MainTable.rows[0].cells[MainTableRow].childNodes[k].id == ObjID)
            {
                MainTable.rows[0].cells[MainTableRow].removeChild(MainTable.rows[0].cells[MainTableRow].childNodes[k]);
                break;
            }
}


function Set_TopTable_Wdith(){
    MainTable.rows[0].cells[0].width = MainTable.rows[0].cells[0].offsetWidth;
    MainTable.rows[0].cells[1].width = MainTable.rows[0].cells[1].offsetWidth;
    var WS = 0;
    for(var k = 0;k<MainTable.rows[0].cells[2].childNodes.length;k++)
        WS += MainTable.rows[0].cells[2].childNodes[k].offsetWidth;
    MainTable.rows[0].cells[2].width = WS;
}


function Change_DataTable_Cell(MenuNumber){
    if(document.getElementById('DataTable_Row_'+ Menu[MenuNumber][2]) != null)
    {
        ObjTR = document.getElementById('DataTable_Row_'+ Menu[MenuNumber][2]);
        if(document.getElementById("DataTable_"+ Menu[ObjTR.tabIndex][2]) == null)
            for(var i = 0;i<ObjTR.cells.length;i++)
	            ObjTR.cells[i].className = DataTable_Cell_Class;
    }
}


function OnMouseOver_DataTable_Cell(ObjTR){
    window.clearTimeout(SetTime_Remove_Menu_Table);    
    window.clearTimeout(Menu[Menu[ObjTR.tabIndex][3]][21]); //Cancel Self TopDataTable;
    window.clearTimeout(Menu[ObjTR.tabIndex][21]);          //Cancel Remove Children TopTable
    window.clearTimeout(Menu[ObjTR.tabIndex][20]);          //Cancel Change Self DataTable_Cell
    
    if(document.getElementById("DataTable_"+ Menu[ObjTR.tabIndex][2]) == null){
        ObjTable = document.getElementById("DataTable_"+ Menu[Menu[ObjTR.tabIndex][3]][2]);
        
        for(var i = 0;i<ObjTable.rows.length;i++)
        {
            for(var j = 0;j<ObjTable.rows[i].cells.length;j++)
	            ObjTable.rows[i].cells[j].className = DataTable_Cell_Class;

            Remove_TopTable("TopTable_"+ Menu[ObjTable.rows[i].tabIndex][2]);
        }
    
        for(var i = 0;i<ObjTR.cells.length;i++)
	        ObjTR.cells[i].className = DataTable_Cell_OnMouseOver_MenuExpand_Class;
	        	   
        if(Menu[ObjTR.tabIndex][4].indexOf(",") > 0)
        {        
	        ObjTable = DropDown_TopTable(ObjTR,TopTable_Align);
    	    
    	    MainTable.rows[0].cells[MainTableRow].appendChild(ObjTable);
        }
	}
}


function OnMouseOut_DataTable_Cell(ObjTR){
    SetTime_Remove_Menu_Table = window.setTimeout("Remove_Menu_Table()",Timeout);
    Menu[ObjTR.tabIndex][21] = window.setTimeout("Remove_TopTable('TopTable_"+ Menu[ObjTR.tabIndex][2] +"')",Timeout);          //Remove Children TopTable
    Menu[ObjTR.tabIndex][20] = window.setTimeout("Change_DataTable_Cell("+ ObjTR.tabIndex +")",Timeout);                        //Change Self DataTable_Cell
}