var MenuHack = new Object();

MenuHack.menuClasses = new Array();
MenuHack.menuClass = null;
MenuHack.menuItemClass = null;

MenuHack.init = function(ulId)
{
  var navRoot;
  if (document.getElementById)
  {
    navRoot = document.getElementById(ulId);
    MenuHack.initIter(navRoot);
  }
}

MenuHack.initIter = function(navRoot)
{
  var i, c, j, k, d, node, menuBar;
  for (j = 0, i = 0, c = navRoot.childNodes.length; i < c; i++)
  {
    node = navRoot.childNodes[i];
    if (node && (node.nodeName == "LI"))
    {
      if (!j)
      {
        node.className += " first";
      }
      menuBar = MenuHack.menuClasses[j++];
      node.className += " "+menuBar.className;
      if (node.hasChildNodes())
      {
        for (k = 0, d = node.childNodes.length; k < d; k++)
        {
          if (node.childNodes[k] && (node.childNodes[k].nodeName == "UL"))
          {
            MenuHack.fixMenuItemClasses(node.childNodes[k], menuBar);
            break;
          }
        }
      }
    }
  }
}

MenuHack.fixMenuItemClasses = function(root, menuBar)
{
  var i, c, j, node;
  var items = menuBar.items;
  for (j = 0, i = 0, c = root.childNodes.length; i < c; i++)
  {
    node = root.childNodes[i];
    if (node && (node.nodeName == "LI"))
    {
      if (j < items.length)
      {
        if (items[j])
        {
          if (node.className && node.className.length)
          {
            node.className += " "+items[j].className;
          }
          else
          {
            node.className = items[j].className;
          }

          if (items[j].aTgt)
          {
            MenuHack.fixMenuATgts(node, items[j].aTgt);
          }
        }
        j++;
      }
    }
  }
}

MenuHack.fixMenuATgts = function(root, aTgt)
{
  var i, c, node;
  for (i = 0, c = root.childNodes.length; i < c; i++)
  {
    node = root.childNodes[i];
    if (node && (node.nodeName == "A"))
    {
      node.target = aTgt;
    }
  }
}

MenuHack.addBar = function(className)
{
  var o = new Object();
  o.className = className;
  o.items = new Array();
  MenuHack.menuClasses[MenuHack.menuClasses.length] = o;
  MenuHack.menuClass = o;
}

MenuHack.addBarItem = function(label, className, aTgt)
{
  var obj = new Object();
  obj.className = className;
  obj.aTgt = aTgt;
  MenuHack.menuClass.items[MenuHack.menuClass.items.length] = obj;
}

MenuHack.addBar("stories");
 /* No sub-items after this */

MenuHack.addBar("findout");
  MenuHack.addBarItem("Be Informed", "", "");
    MenuHack.addBarItem("Facts", "sub", "");
    MenuHack.addBarItem("Publications", "sub", "");
    MenuHack.addBarItem("Conversation Starters", "sub", "");
    MenuHack.addBarItem("FAQ", "sub", "");
  /* No more sub-items after this */

MenuHack.addBar("getinvolved");
  MenuHack.addBarItem("House Parties", "", "");
    MenuHack.addBarItem("Attend a House Party", "sub", "");
    MenuHack.addBarItem("Host a House Party", "sub", "");
  MenuHack.addBarItem("My 100", "", "");
  MenuHack.addBarItem("Phone Bank", "", "");
  MenuHack.addBarItem("Volunteer", "", "");
  MenuHack.addBarItem("Toolbox", "", "");
  MenuHack.addBarItem("Blog", "", "_blank");

MenuHack.addBar("mediacenter");
 /* No sub-items after this */

MenuHack.addBar("about");
 /* No sub-items after this */

