/* 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
version date: 06/02/03 :: If want to use this code, feel free to do so,
but please leave this message intact. (Travis Beckham) */

// 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() {
    try {
        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 = function() { this.blur() };
        }
    }
    catch (mierror) {
       // ....
    }
}

function submenuclic(ol_id) {
  arma(ol_id, true);
}

function loadjsfile(filename) {
    var fileref = document.createElement('script');
    fileref.setAttribute("type", "text/javascript");
    fileref.setAttribute("src", filename);
    if (typeof fileref != "undefined") {
        document.getElementsByTagName("head")[0].appendChild(fileref);
    }
}

function arma(valor, cond) {
  if (cond == true) {
      sessvars.myObj = { session_valor: valor }
  } else {
      initMenu();
  }
  if (typeof sessvars.myObj != "undefined") {
     if (document.getElementById(sessvars.myObj.session_valor) != null) {
          document.getElementById(sessvars.myObj.session_valor).style.display = "block";
     }
  }
}

if (document.createElement) {
  loadjsfile("js/sessvars.js");
  window.onload = arma;
}
