// Variables
var dropDowns = new Array;
var tmpElement;

function setupNav(nav)
{
   // Setup cildren
   var childs = nav.getElementsByTagName('*');
   for(var i = 0; i < childs.length; i++)
   {
      if(childs[i].className == 'sub')
      {
         childs[i].onmouseover = function(){ hideMenus(nav); display(childs[i], this, true) };
         childs[i].onmouseout =  function(){ display(childs[i], this, false) };
      }
      else if(childs[i].className == 'root')
      {
         childs[i].onmouseover = function(){ hideMenus(nav); display(childs[i], realPreviousSibling(this), true) };
         childs[i].onmouseout =  function(){ display(childs[i], realPreviousSibling(this), false) };
      }
   }
}

function realPreviousSibling(node)
{
   var tempNode = node.previousSibling;
   while(tempNode.nodeType!=1){
      tempNode = tempNode.previousSibling;
   }
   return tempNode;
}

function hideMenus(nav)
{
   var childs = nav.getElementsByTagName('*'); // Setup Children
   for(var i = 0; i < childs.length; i++)
      if(childs[i].className == 'sub')
         childs[i].style.display = 'none';
}

function display(id, element, state)
{
   tmpElement = element;
   // Set elements
   if(state)
   {
      clearTimeout(dropDowns[id]); // Clear timeout
      tmpElement.style.display = 'inline'; // Show
   } else {
      dropDowns[id] = setTimeout("tmpElement.style.display = 'none';", 1000);
   }
}

function init()
{
   // Setup navigation
   var navigation = document.getElementById('nav');
   setupNav(navigation);
}

function show_login_form()
{
   var ad_box = document.getElementById('ad_box');
   ad_box.style.display = 'none';

   var login_box = document.getElementById('login_box');
   login_box.style.display = 'inline';
   new Effect.Pulsate('login_box');
}

onload=init;
