|
|
Line 165: |
Line 165: |
| | | |
| if(document.createElement) window.onload = initMenu; | | if(document.createElement) window.onload = initMenu; |
- | //-->
| |
| </script> | | </script> |
- |
| |
- | <script type="text/javascript">
| |
- |
| |
- | /* This script and many more are available free online at
| |
- | The JavaScript Source :: http://javascript.internet.com
| |
- | Created by: Travis Beckham :: http://www.squidfingers.com | http://www.podlob.com */
| |
- |
| |
- | /* Coded by Travis Beckham
| |
- | http://www.squidfingers.com | http://www.podlob.com
| |
- | version date: 06/02/03
| |
- | If want to use this code, feel free to do so, but please leave this message intact. */
| |
- |
| |
- | // Node Functions
| |
- |
| |
- | if(!window.Node){
| |
- | var Node = {ELEMENT_NODE : 1, TEXT_NODE : 3};
| |
- | }
| |
- |
| |
- | function checkNode(node, filter){
| |
- | return (filter == null || node.nodeType == Node[filter] || node.nodeName.toUpperCase() == filter.toUpperCase());
| |
- | }
| |
- |
| |
- | function getChildren(node, filter){
| |
- | var result = new Array();
| |
- | var children = node.childNodes;
| |
- | for(var i = 0; i < children.length; i++){
| |
- | if(checkNode(children[i], filter)) result[result.length] = children[i];
| |
- | }
| |
- | return result;
| |
- | }
| |
- |
| |
- | function getChildrenByElement(node){
| |
- | return getChildren(node, "ELEMENT_NODE");
| |
- | }
| |
- |
| |
- | function getFirstChild(node, filter){
| |
- | var child;
| |
- | var children = node.childNodes;
| |
- | for(var i = 0; i < children.length; i++){
| |
- | child = children[i];
| |
- | if(checkNode(child, filter)) return child;
| |
- | }
| |
- | return null;
| |
- | }
| |
- |
| |
- | function getFirstChildByText(node){
| |
- | return getFirstChild(node, "TEXT_NODE");
| |
- | }
| |
- |
| |
- | function getNextSibling(node, filter){
| |
- | for(var sibling = node.nextSibling; sibling != null; sibling = sibling.nextSibling){
| |
- | if(checkNode(sibling, filter)) return sibling;
| |
- | }
| |
- | return null;
| |
- | }
| |
- | function getNextSiblingByElement(node){
| |
- | return getNextSibling(node, "ELEMENT_NODE");
| |
- | }
| |
- |
| |
- | // Menu Functions & Properties
| |
- |
| |
- | var activeMenu = null;
| |
- |
| |
- | function showMenu() {
| |
- | if(activeMenu){
| |
- | activeMenu.className = "";
| |
- | getNextSiblingByElement(activeMenu).style.display = "none";
| |
- | }
| |
- | if(this == activeMenu){
| |
- | activeMenu = null;
| |
- | } else {
| |
- | this.className = "active";
| |
- | getNextSiblingByElement(this).style.display = "block";
| |
- | activeMenu = this;
| |
- | }
| |
- | return false;
| |
- | }
| |
- |
| |
- | function initMenu(){
| |
- | var menus, menu, text, a, i;
| |
- | menus = getChildrenByElement(document.getElementById("menu"));
| |
- | for(i = 0; i < menus.length; i++){
| |
- | menu = menus[i];
| |
- | text = getFirstChildByText(menu);
| |
- | a = document.createElement("a");
| |
- | menu.replaceChild(a, text);
| |
- | a.appendChild(text);
| |
- | a.href = "#";
| |
- | a.onclick = showMenu;
| |
- | a.onfocus = showMenu;
| |
- | }
| |
- | }
| |
- |
| |
- | if(document.createElement) window.onload = initMenu;
| |
- |
| |
- | </script>
| |
- | /*a.onfocus = function(){this.blur()};*/
| |
| </head> | | </head> |
| <body><table><tr><td> | | <body><table><tr><td> |