/* navigation.js */

var idNavigation = ['navigation-left', 'navigation-top'];

navHover = function()
{
  var oNav = null;
  for(var i = 0; i < idNavigation.length; i++)
  {
    oNav = document.getElementById(idNavigation[i]);
    if(oNav)
    {
      var navEls = oNav.getElementsByTagName('LI');
      for(var i = 0; i < navEls.length; i++)
      {
        navEls[i].onmouseover = function()
        {
          this.className += ' hover';
        }
        navEls[i].onmouseout = function()
        {
          this.className = this.className.replace(new RegExp(' hover\\b'), '');
        }
      }
    }
  }
}

navAccessible = function()
{
  var oNav = null;
  for(var i = 0; i < idNavigation.length; i++)
  {
    oNav = document.getElementById(idNavigation[i]);
    if(oNav)
    {
    	var navEls = oNav.getElementsByTagName('A');
    	for (var i = 0; i < navEls.length; i++)
      {
    		navEls[i].onfocus = function()
        {
    			this.className += (this.className.length > 0? ' ' : '') + 'focus'; //a:focus
    			this.parentNode.className += (this.parentNode.className.length > 0 ? ' ': '') + 'hover'; //li < a:focus
    			if(this.parentNode.parentNode.parentNode.nodeName == 'LI')
          {
    				this.parentNode.parentNode.parentNode.className += (this.parentNode.parentNode.parentNode.className.length > 0? ' ': '') + 'hover'; //li < ul < li < a:focus
    				if(this.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName == 'LI')
            {
    					this.parentNode.parentNode.parentNode.parentNode.parentNode.className += (this.parentNode.parentNode.parentNode.parentNode.parentNode.className.length > 0? ' ': '') + 'hover'; //li < ul < li < ul < li < a:focus
      				if(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName == 'LI')
      					this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className += (this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className.length > 0? ' ': '') + 'hover'; //li < ul < li < ul < li < ul < li < a:focus
            }
    			}
    		}
    		navEls[i].onblur = function()
        {
    			this.className = this.className.replace(new RegExp('( ?|^)focus\\b'), '');
    			this.parentNode.className = this.parentNode.className.replace(new RegExp('( ?|^)hover\\b'), '');
    			if(this.parentNode.parentNode.parentNode.nodeName == 'LI')
          {
    				this.parentNode.parentNode.parentNode.className = this.parentNode.parentNode.parentNode.className.replace(new RegExp('( ?|^)hover\\b'), '');
    				if(this.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName == 'LI')
            {
    					this.parentNode.parentNode.parentNode.parentNode.parentNode.className = this.parentNode.parentNode.parentNode.parentNode.parentNode.className.replace(new RegExp('( ?|^)hover\\b'), '');
      				if(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName == 'LI')
      					this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className = this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className.replace(new RegExp('( ?|^)hover\\b'), '');
            }
    			}
    		}
//alert(navEls[i].onfocus + '\n\n' + navEls[i].onblur);
      }
    }
	}
}

// only ie needs the navHover script. all need the accessibility script...
if(window.addEventListener)
  window.addEventListener('load', navAccessible, false); // gecko, safari, konqueror and standard
else if(document.addEventListener)
  document.addEventListener('load', navAccessible, false); // opera 7
else if(window.attachEvent)
{ // win/ie
	window.attachEvent('onload', navHover);
	window.attachEvent('onload', navAccessible);
}
else
{ // mac/ie5
	if(typeof window.onload == 'function')
  {
		var existing = onload;
		window.onload = function()
    {
			existing();
			navHover();
			navAccessible();
		}
	}
  else
  {
		window.onload = function()
    {
			navHover();
			navAccessible();
		}
	}
}

