//        written        by Tan Ling Wee
//        last updated 20 June 2003
//        email :        info@sparrowscripts.com
//      url : www.sparrowscripts.com


var orientation=0        // 0-horizontal 1-vertical
var imgPath = "js/"

var mainItemForeground = "#CC0033"
var mainItemBorder = "#FFFFFF"
var mainItemBackground = "#ffffff"

var mainItemHoverForeground = "#FF0033"
var mainItemHoverBorder = "#FFFFFF"
var mainItemHoverBackground = "#F8F0BC"

var subItemForeground = "#CC0033"
var subItemBorder = "#FFFFFF"
var subItemBackground = "#ffffff"

var subItemHoverForeground = "#CC0033"
var subItemHoverBorder = "#F8F0BC"
var subItemHoverBackground = "#F8F0BC"

var MenuNumMax = 16
var MenuIdHighlight = 5

var menuFont = "verdana"
var menuSize = "0pt"

/////////////////////////////////////////////////////////////////////////////

var        ie=(navigator.appName=='Microsoft Internet Explorer')
var        ns=(navigator.appName=='Netscape')
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,displayHigh) {
        var sHTML
        var highItem=99
        if (displayHigh==110){highItem=0}
        if (displayHigh==120){highItem=1}
        if (displayHigh==130){highItem=5}
        if (displayHigh==140){highItem=9}
        if (displayHigh==150){highItem=13}
        if (displayHigh==160){highItem=18}

        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>"
        }

        if (menu[menuId].description!='-')
        {
                sHTML = "<td id='menu_"+menuId+"' style='cursor:pointer;cursor:hand;border-style:solid;border-width:1px;background-color:"+ Background +";border-color:"+ Border +"' onmouseover='clearInterval(s1);this.style.backgroundColor=\"" + HoverBackground + "\";this.style.color=\"" + HoverForeground + "\";this.style.borderColor=\"" + HoverBorder + "\";"

                if (menu[menuId].numChild!=0) {
                        sHTML += "showSubmenu("+menu[menuId].id+",this);hideSubmenu(menu["+menuId+"].levelId+1);"
                }
                else
                {
                        sHTML += "prevMenuId = "+menuId+";hideSubmenu(menu["+menuId+"].levelId);"
                }

                sHTML += ";nNowAt="+menuId+";clearAll("+menu[menuId].levelId+","+menu[menuId].parentId+")' onclick='document.location.href=\""+menu[menuId].url+"\"' onmouseout='s1=setInterval(\"resetMenu();hideSubmenu(0)\",1000);'><table cellpadding=0 cellspacing=0 border=0 width='100%'><tr>"

                if (menu[menuId].levelId>0)
                {
                        sHTML += "<td style='padding-left:3px' width=8><img src='"
                        if (menu[menuId].img=="")
                        {
                                sHTML += imgPath + "trans.gif"
                        }
                        else
                        {
                                sHTML += imgPath + menu[menuId].img
                        }
                        sHTML += "' width=7 height=14 border=0></td>"
                }

                if (menuId==highItem)
                        {
                        sHTML += "<td style='padding-left:2px;padding-right:0px' align=left><b>" + menu[menuId].description.replace(" ","&nbsp;") + "</b></td><td>"
                        }
                else
                        {
                        sHTML += "<td style='padding-left:2px;padding-right:0px' align=left>" + menu[menuId].description.replace(" ","&nbsp;") + "</td><td>"
                        }

                if ((menu[menuId].levelId==0)&&(menuId<=MenuNumMax))
                        {
                        sHTML += "<img src='pic/punkt2.gif'>"
                        }

                sHTML += "</td></tr></table></td>"
        }
        else
        {
                sHTML = "<td><img src='" + imgPath + "trans.gif' height=2></td></tr><tr><td onmouseover='' bgcolor='#d0d0d0'><img src='" + imgPath + "trans.gif' height=1></td></tr><tr><td><img src='" + imgPath + "trans.gif' height=2></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
                        leftpos = lw_leftpos + lw_width + 5

                        if (nLevel==0) {
                                leftpos -= 3
                        }
                }
                else {
                        lw_getObj("menu_level_"+nLevel).top = lw_toppos + lw_height + 2
                        leftpos = lw_leftpos
                }

                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)
                        }
                }
                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 (ItemHigh)  {

        for (var i=0; i<numLevel ; i++)
        {
                lw_createLayer("menu_level_"+i,0,0,0,0,"#ffffff","#d0d0d0",100)
        }

        sHTML="<table width=100% cellpadding=2 cellspacing=0>"
        for (var i=0; i<menuCounter; i++)
        {
                if (menu[i].parentId==0)
                {
                        sHTML += displayMenuItem (i,ItemHigh)
                }
                else if (menu[i].parentId==-1)
                {
                        sHTML += "<tr><td><img src='trans' height=2></td></tr><tr bgcolor='"+mainItemBackground+"'><td style='padding:5px'><b>" + menu[i].description + "</b></td></tr>"
                }
        }
        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
