        /*
         * A menu with CSS styling.
         * <http://www.alistapart.com/articles/horizdropdowns/>
		 *
		 * Required css styles:
		 * #nav li:hover, #nav li.over { .. }
		 * #nav li:hover a.menutitle, #nav li.over a.menutitle { .. }
		 * #nav li:hover ul,#nav li.over ul { display: block;}
         */
        var existingOnLoad = function() {}
        if (window.onload != undefined) {
            existingOnLoad = window.onload
        }
        window.onload = function () {
            existingOnLoad()
            if (document.all && document.getElementById) {
                hoverize(document.getElementById('nav'))
            }
        }
        /*
         * add 'over' class names to any li in the child
         * nodes of the given `node`. 
         */
        function hoverize (hnode)
        {
            if (!hnode) return;
            if (hnode.nodeType != 1) return; /* is not an element */ 
            for (var i = 0; i < hnode.childNodes.length; i++) {
                var childNode = hnode.childNodes[i];
                if (childNode.nodeType == 1 
                        && childNode.nodeName.toLowerCase() == 'li') {
                    childNode.onmouseover = function () {
                        this.className += ' over';
                    }
                    childNode.onmouseout = function () {
                        this.className = this.className.replace(
                                ' over', '');
                    }
                }
            }
        }

