        document.write("<link rel='stylesheet' href='cssmenu.css' type='text/css' />");

        var currentMenu = null;
        var lastMenuStarter = null;
        var mytimer = null;
        var timerOn = false;
        var opera = window.opera ? true : false;

        if (!document.getElementById)
                document.getElementById = function() { return null; }

        function initialiseDummy(dummy, root) {
                dummy.onmouseover = function() {
                        containingMenu = this.parentNode.parentNode;
                        for (var x=0;x<containingMenu.childNodes.length;x++) {
                                if (containingMenu.childNodes[x].nodeName.toUpperCase()=="LI") {
                                        if (containingMenu.childNodes[x].getElementsByTagName("ul").length>0) {
                                                containingMenu.childNodes[x].getElementsByTagName("UL").item(0).style.visibility = 'hidden';
                                        }
                                }
                        }
                }
                dummy.onfocus = function() {
                        dummy.onmouseover();
                }
        }
        
        function initialiseMenu(menu, starter, root) {
                var leftstarter = false;
        
                if (menu == null || starter == null) return;
                        currentMenu = menu;
        
                starter.onmouseover = function() {
                        if (currentMenu) {
                                if (this.parentNode.parentNode!=currentMenu) {
                                        currentMenu.style.visibility = "hidden";
                                        hideAllMenus(currentMenu, root);

                                }
                                if (this.parentNode.parentNode==root) {
                                        while (currentMenu.parentNode.parentNode!=root) {
                                                currentMenu.parentNode.parentNode.style.visibility = "hidden";
                                                currentMenu = currentMenu.parentNode.parentNode;
                                        }
                                }
                                currentMenu = null;
                                this.showMenu();
                        }
                }
        
                menu.onfocus = function() {
                        if (currentMenu) {
                                currentMenu = null;
                                this.showMenu();
                        }
                }        
        
                starter.showMenu = function() {
                        if (!opera) {
                                if (this.parentNode.parentNode==root) {
                                        menu.style.left = this.offsetLeft + "px";
                                        menu.style.top = this.offsetTop + this.offsetHeight + "px";
                                        if (menu.offsetWidth < this.offsetWidth) menu.style.width = this.offsetWidth;
                                }
                                else {
                                         menu.style.left = this.offsetLeft + this.offsetWidth + "px";
                                         menu.style.top = this.offsetTop + "px";
                                }
                        }
                        else {
                                var rootOffset = root.offsetLeft;
                                if (this.parentNode.parentNode==root) {
                                        menu.style.left = this.offsetLeft - rootOffset + "px";
                                        menu.style.width = this.offsetWidth;
                                        menu.style.top = this.offsetHeight + "px";
                                }
                                else {
                                         menu.style.left = this.offsetWidth - rootOffset + "px";
                                         menu.style.top = this.offsetTop + "px"; //menu.style.top - menu.style.offsetHeight + "px";
                                }

                        }
                        menu.style.visibility = "visible";
                        currentMenu = menu;
                }

                starter.onfocus         = function() {
                        starter.onmouseover();
                }
        
                menu.onfocus         = function() {
//                        currentMenu.style.visibility="hidden";
                }

                menu.showMenu = function() {
                        menu.style.visibility = "visible";
                        currentMenu = menu;
                        stopTime();
                }

                menu.hideMenu = function()  {
                        if (!timerOn) {
                                mytimer = setInterval("killMenu('" + this.id + "', '" + root.id + "');", 2000);
                                timerOn = true;
                                for (var x=0;x<menu.childNodes.length;x++) {
                                        if (menu.childNodes[x].nodeName=="LI") {
                                                if (menu.childNodes[x].getElementsByTagName("UL").length>0) {
                                                        menuItem = menu.childNodes[x].getElementsByTagName("UL").item(0);
                                                        menuItem.style.visibility = "hidden";
                                                }
                                        }
                                }
                        }
                }

                menu.onmouseout = function(event) {
                        this.hideMenu();
                }
                menu.onblur = function() {
                        this.hideMenu();
                }
                starter.onmouseout = function() {
                        for (var x=0;x<menu.childNodes.length;x++) {
                                if (menu.childNodes[x].nodeName=="LI") {
                                        if (menu.childNodes[x].getElementsByTagName("UL").length>0) {
                                                menuItem = menu.childNodes[x].getElementsByTagName("UL").item(0);
                                                menuItem.style.visibility = "hidden";
                                        }
                                }
                        }
                        menu.style.visibility = "hidden";
                }
}
        function killMenu(menu, root) {
                var menu = document.getElementById(menu);
                var root = document.getElementById(root);
                menu.style.visibility = "hidden";
                for (var x=0;x<menu.childNodes.length;x++) {
                        if (menu.childNodes[x].nodeName=="LI") {
                                if (menu.childNodes[x].getElementsByTagName("UL").length>0) {
                                        menuItem = menu.childNodes[x].getElementsByTagName("UL").item(0);
                                        menuItem.style.visibility = "hidden";
                                }
                        }
                }
                while (menu.parentNode.parentNode!=root) {
                        menu.parentNode.parentNode.style.visibility = "hidden";
                        menu = menu.parentNode.parentNode;
                }
                stopTime();
        }
        function stopTime() {
                if (mytimer) {
                          clearInterval(mytimer);
                         mytimer = null;
                         timerOn = false;
                }
        } 

        window.onload = function() {
                var root = document.getElementById("menuList");
                var rootOffset = root.offsetLeft;
                getMenus(root, root);
        }

function getMenus(elementItem, root) {
        var selectedItem;
        var menuStarter;
        var menuItem;
        for (var x=0;x<elementItem.childNodes.length;x++) {
                if (elementItem.childNodes[x].nodeName.toUpperCase()=="LI") {
                        if (elementItem.childNodes[x].getElementsByTagName("ul").length>0) {
                                menuStarter = elementItem.childNodes[x].getElementsByTagName("A").item(0);
                                menuItem = elementItem.childNodes[x].getElementsByTagName("UL").item(0);
                                getMenus(menuItem, root);
                                initialiseMenu(menuItem, menuStarter, root);
                        }
                        else {
                                initialiseDummy(elementItem.childNodes[x].getElementsByTagName("A").item(0), root);
                        }
                }
        }
}
function hideAllMenus(elementItem, root) {
        for (var x=0;x<elementItem.childNodes.length;x++) {
                if (elementItem.childNodes[x].nodeName.toUpperCase()=="LI") {
                        if (elementItem.childNodes[x].getElementsByTagName("ul").length>0) {
                                elementItem.childNodes[x].getElementsByTagName("UL").item(0).style.visibility = 'hidden';
                                hideAllMenus(elementItem.childNodes[x].getElementsByTagName("UL").item(0), root);
                        }
                }
        }
}

