/* http://dean.edwards.name/weblog/2005/09/busted/ */

var menus, titles, sl, sr;

function addEvent(obj, type, fn)
{
   if (obj.addEventListener)
      obj.addEventListener(type, fn, false);
   else if (obj.attachEvent)
   {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() { obj["e"+type+fn](window.event); }
      obj.attachEvent("on"+type, obj[type+fn]);
   }
}

function menuover()
{
   if (this.id.indexOf("-title") == -1)
   {
      var menu = menus[this.id + "-title"];
      var title = titles[this.id + "-title"];
      title.className = "hover";
   }
   else
      var menu = menus[this.id];

   if (!menu)
      return;

   menu.style.display = "block";
}

function menuout()
{
   if (this.id.indexOf("-title") == -1)
   {
      var menu = menus[this.id + "-title"];
      var title = titles[this.id + "-title"];
      title.className = "";
   }
   else
      var menu = menus[this.id];

   if (!menu)
      return;

   menu.style.display = "none";
}

function init()
{
   if (arguments.callee.done)
      return;
   arguments.callee.done = true;

   if (!document || !document.getElementById)
      return;

   var body_element = document.getElementById('body');
   if (!body_element || body_element.className != 'splash')
      return;

   var menulist = document.getElementById("subsections-list");
   if (!menulist)
      return;

   menus = new Object();
   titles = new Object();
  
   for (var i = 0; i < menulist.childNodes.length; ++i)
   {
      var child = menulist.childNodes[i];
      var name = child.nodeName.toLowerCase();
      if (name == "dt")
      {
         for (var j = 0; j < child.childNodes.length; ++j)
	 {
	    var grandchild = child.childNodes[j];
            var grandname = grandchild.nodeName.toLowerCase();
            if (grandname == "a")
            {
               titles[child.id] = grandchild;
	       break;
            }
	 }
      }
      else if (name == "dd")
         menus[child.id + "-title"] = child;
      else
         continue;

      addEvent(child, "mouseover", menuover);
      addEvent(child, "mouseout", menuout);
   }
}

function ie_init()
{
   if (arguments.callee.done)
      return;
   arguments.callee.done = true;

   init();

   if (!document || !document.getElementById)
      return;

   sl = document.getElementById('shadow-left');
   sr = document.getElementById('shadow-right');

   if (!sl || !sr || !sl.style || !sl.offsetParent)
      return;

   sl.style.display = 'block';
   sr.style.display = 'block';
   sl.style.height = sl.offsetParent.offsetHeight + 'px';
   sr.style.height = sr.offsetParent.offsetHeight + 'px';

   window.onresize = function()
   {
      sl.style.height = sl.offsetParent.offsetHeight + 'px';
      sr.style.height = sr.offsetParent.offsetHeight + 'px';
   }

   window.onscroll = function()
   {
      sl.style.height = sl.offsetParent.offsetHeight + 'px';
      sr.style.height = sr.offsetParent.offsetHeight + 'px';
   }
}

if (document.addEventListener)
   document.addEventListener("DOMContentLoaded", init, null);

if (navigator.appName == "Microsoft Internet Explorer")
	window.onload = ie_init;
else
   window.onload = init;
