//  Taken on http://64.246.32.44/~admin59/mn-intro.htm
//  This script is free
//    written    by Tan Ling Wee
//    last updated 20 June 2003
//    email :    fuushikaden@yahoo.com

var orientation = 0;    // 0-horizontal 1-vertical
var imgPath = "_media/en/";

var mainItemForeground = "#000000";
var mainItemBorder = "#F2EEDA";
var mainItemBackground = "#F2EEDA";

var mainItemHoverForeground = "#000000";
var mainItemHoverBorder = "#F2EEDA";
var mainItemHoverBackground = "#F2EEDA";

var subItemForeground = "#000000";
var subItemBorder = "#FFFFFF";
var subItemBackground = "#FFFFFF";

var subItemHoverForeground = "#000000";
var subItemHoverBorder = "#F2EEDA";
var subItemHoverBackground = "#F2EEDA";

var menuFont = "Verdana";
var menuSize = "11px";
var menuClass = "";

/////////////////////////////////////////////////////////////////////////////

if (menuClass == "") {
    menuClass = " style='font-family: "+ menuFont +"; font-size: "+ menuSize +"; padding:2px; padding-left:10px;'";
} else {
    menuClass = " class='"+ menuClass +"'";
}

/////////////////////////////////////////////////////////////////////////////

var    ie=(navigator.appName=='Microsoft Internet Explorer');
var    ns=(navigator.appName=='Netscape');
ns = (ns || (!ie)); // force use of Netscape if NS and IE not detected
var    dom=document.getElementById;
var lw_menuId, lw_trigger, to1;
var s1;

/////////////////////////////////////////////////////////////////////////////

function Tmenu (id, parentId, url, description, img)
{
    this.id = id;
    this.parentId = parentId;
    this.url = url;
    this.description = description;
    this.numChild = 0;
    this.levelId = 0;
    this.img = img;
}

/////////////////////////////////////////////////////////////////////////////

var menu = new Array();
var menuCounter = 0;
var numLevel = 0;
var prevMenuId = -1;
var nNowAt = 0;

function displayMenuItem(menuId, count)
{
    var sHTML
    if (menu[menuId].parentId > 0) {
        ItemForeground = subItemForeground;
        Border = subItemBorder;
        Background = subItemBackground;

        HoverForeground = subItemHoverForeground;
        HoverBorder = subItemHoverBorder;
        HoverBackground = subItemHoverBackground;
    } else {
        ItemForeground = mainItemForeground;
        Border = mainItemBorder;
        Background = mainItemBackground;

        HoverForeground = mainItemHoverForeground;
        HoverBorder = mainItemHoverBorder;
        HoverBackground = mainItemHoverBackground;
    }

    if ((orientation == 1) || (menu[menuId].levelId > 0)) {
        sHTML += "<tr>";
    }    

    var width = "";
    if (count) {
        width = " width='"+ Math.round(100/count) +"%'";
    }
    if (menu[menuId].img == "") {
        sHTML = "<td "+ width +" id='menu_"+ menuId +"' style='cursor:pointer;cursor:hand;border-style:solid;border-width:1px;background-color:"+ Background +";color=\""+ ItemForeground +"\";border-color:"+ Border +"' onmouseover='clearInterval(s1);this.style.backgroundColor=\"" + HoverBackground + "\";this.style.color=\"" + HoverForeground + "\";this.style.borderColor=\"" + HoverBorder + "\";";
    } else {
        sHTML = "<td "+ width +" id='menu_"+ menuId +"' style='cursor:pointer;cursor:hand;background-image:url("+ imgPath +"nav_main_"+ menu[menuId].img +"_bg.jpg);' onmouseover='clearInterval(s1);";
    }

    if (menu[menuId].numChild != 0) {
        sHTML += "showSubmenu("+ menu[menuId].id +",this);hideSubmenu(menu["+ menuId +"].levelId+1);";
    } else {
        sHTML += "prevMenuId = "+ menuId +";hideSubmenu(menu["+ menuId +"].levelId);";
    }

    var onClick = "";
    if (menu[menuId].url != "") {
        onClick = " onclick='document.location.href=\""+ menu[menuId].url +"\";'"
    }
    sHTML += ";nNowAt="+ menuId +";clearAll("+ menu[menuId].levelId +","+ menu[menuId].parentId +")'"+ onClick +" onmouseout='s1=setInterval(\"resetMenu();hideSubmenu(0)\",1000);'><table cellpadding=0 cellspacing=0 border=0 width='100%' height='100%'><tr height='100%'>";

    sHTML += "<td align=left"+ (!count ? menuClass : '') +"><nobr>"+ menu[menuId].description +"</nobr></td>"+ (!count && menu[menuId].numChild != 0 ? "<td align='right' valign='center' style='padding-left:12px; padding-right:4px;'><img src='_media/arrow_right.gif' border='0' /></td>" : "");

    sHTML += "</tr></table></td>";

    if ((orientation == 1) || (menu[menuId].levelId > 0)) {
        sHTML += "</tr>";
    }
    return sHTML;
}

function clearAll(levelId, parentId)
{
    if (levelId > 0) {
        Border = subItemBorder;
        Background = subItemBackground;
    } else {
        Border = mainItemBorder;
        Background = mainItemBackground;
    }
    for (i = 0; i < menuCounter; i++) {
        if (menu[i].levelId == levelId) {
            if ((i != nNowAt) && (menu[i].parentId == parentId) && (menu[i].description != "-")) {
                lw_getObj("menu_"+i).backgroundColor=Background;
                lw_getObj("menu_"+i).borderColor=Border;
            }
        }
    }
}

function mapID (id)
{
    for (var i = 0; i < menuCounter; i++) {
        if (menu[i].id == id) {
            return i;
        }
    }
    return -1;
}

function showSubmenu(menuId,trigger)
{
    lw_menuId = menuId;
    lw_trigger = trigger;
    if (ns) {
        to1 = setTimeout("showActualSubmenu(lw_menuId,lw_trigger)", 50);
    } else {
        showActualSubmenu(lw_menuId,lw_trigger);
    }
}

function showActualSubmenu(menuId, trigger)
{
    var nLevel = 0;
    var leftpos = 0; 
    var nIndex=0;
    if (menuId > 0 ) {
        lw_calcpos(trigger)
        for (var i = 0; i < menuCounter; i++) {
            if (menu[i].id == menuId) {
                nLevel = menu[i].levelId;
                nIndex = i;
            }
        }
        if ((orientation == 1) || (menu[nIndex].parentId > 0)) {
            lw_getObj("menu_level_"+ nLevel).top = lw_toppos + 2; // level 2 and more
            leftpos = lw_leftpos + lw_width - 2;
            if (nLevel == 0) {
                leftpos -= 3;
            }
        } else {
            lw_getObj("menu_level_"+ nLevel).top = lw_toppos + lw_height + 2; // + 2
            leftpos = lw_leftpos + 2;
        }
        lw_getObj("menu_level_"+ nLevel).left = leftpos;
        sHTML = "<table cellpadding=0 cellspacing=0 border=0>";
        for (var i = 0; i < menuCounter; i++) {
            if (menu[i].parentId == menuId) {
                sHTML += displayMenuItem(i,0);
            }
        }
        sHTML += "</table>";

        document.getElementById("menu_level_"+ nLevel +"_content").innerHTML = sHTML;
        lw_showLayer('menu_level_'+nLevel);
    } 
}

function hideSubmenu(levelId)
{
    for (var cnt = levelId; cnt < numLevel; cnt++) {
        lw_hideLayerName("menu_level_"+ cnt)
    }
}

function DrawMenu()
{
    for (var i=0; i < numLevel ; i++) {
        lw_createLayer("menu_level_"+ i,0,0,0,0,"#FFFFFF","#C8B969",100);
    }
    sHTML = "<table width=100% cellpadding=0 cellspacing=0 border=0>";
    var num_main_section = 0;
    for (var i = 0; i < menuCounter; i++) {
        if (menu[i].parentId == 0) {
            num_main_section++;
        }
    }
    for (var i = 0; i < menuCounter; i++) {
        if (menu[i].parentId == 0) {        
            sHTML += displayMenuItem(i, num_main_section);
        }
    }
    sHTML += "</table>";
    document.writeln(sHTML);
}

function getLevel(menuId)
{
    var pId = menuId;
    var nLevel = 0;
    while (pId != 0) {
        nLevel++;
        for (var i = 0; i < menuCounter; i++) {
            if (menu[i].id==pId) {    
                pId = menu[i].parentId;
            }
        }
    }
    return nLevel;
}

function AddMenuItem (id, parentId, url, description, img)
{
    menu[menuCounter++] = new Tmenu (id, parentId, url, description, img);
    if (parentId > 0) {
        for (i = 0; i < menuCounter; i++) {
            if (menu[i].id==parentId) {
                menu[i].numChild++;
            }
        }
        menu[menuCounter-1].levelId = getLevel(parentId);
        if ( numLevel < menu[menuCounter-1].levelId) {    
            numLevel = menu[menuCounter-1].levelId;
        }
    } else if (parentId == 0) {
        menu[menuCounter-1].levelId = 0;
    } else {
        menu[menuCounter-1].levelId = -1;
    }
}

function handleonclick()
{
    if (ns) {
        lw_closeAllLayers();
    } else {
        lw_closeAllLayers(event);
    }
    resetMenu();
}

function handlekeypress(e)
{
    if (ns) {
        var keyCode = e.keyCode?e.keyCode:e.which?e.which:e.charCode;
        if ((keyCode == 27) || (keyCode == 1)) {
            handleonclick();
        }
    } else if ((event.keyCode==0)||(event.keyCode==27)) {
        handleonclick();
    }
    resetMenu();
}

function resetMenu()
{
    for (i = 0; i < menuCounter; i++) {
        if (menu[i].levelId == 0) {
            lw_getObj("menu_"+i).backgroundColor = mainItemBackground;
            lw_getObj("menu_"+i).borderColor = mainItemBorder;
        }
    }
}

document.onkeypress = handlekeypress;
document.onclick = handleonclick;