/*
   Extra functionality to enhance stuff...
*/

if (0)
{
    var prevonload = window.onload;
    if (typeof prevonload != 'function')
    {
       window.onload = enhancePage;
    }
    else
    {
       window.onload = function()
       {
          if (prevonload)
             prevonload();
          enhancePage();
       }
    }
}

setTimeout(enhancePage,10);

var Attempts = 0;

function enhancePage()
{
   //alert('Debug');
   var foundfooter = getElementByTagNClass('table','footer_table');

   Attempts++;

   if (!foundfooter && Attempts < 1000)
   {
      setTimeout(enhancePage,10);
      return;
   }

   enhanceSearchFields();
   enhanceSideMenu();
}

function enhanceSearchFields()
{
   var sboxes = document.getElementsByTagName('INPUT');
   for (var i=0; i<sboxes.length; i++)
   {
      if (sboxes[i].className == 'hdr_util_input_text')
      {
         var sbox = sboxes[i];
         sbox.style.color='#666666';
         sbox.setAttribute('origvalue',sbox.value);
         sbox.onfocus = function()
         {
            if (this.value == this.getAttribute('origvalue'))
            {
               this.value='';
               this.style.color='#000000';
            }
         };
         sbox.onblur = function()
         {
            if (!this.value)
            {
               this.value = this.getAttribute('origvalue');
               this.style.color='#666666';
            }
         }
      }
   }
}

function enhanceSideMenu()
{
   var MenuContainer = getElementByTagNClass('div','ns');

   if (!MenuContainer)
      return; // No menu

   // Highlight current section
   var MenuLinks = MenuContainer.getElementsByTagName('a');
   for (var i=0; i<MenuLinks.length; i++)
   {
      //alert(MenuLinks[i].href+' vs '+window.location.href);
      if (MenuLinks[i].href == window.location.href)
      {
         // Found the current one!
         var crawlnode = MenuLinks[i].parentNode;
         while (crawlnode.parentNode && crawlnode!= MenuContainer)
         {
            if (crawlnode.tagName=='LI')
               crawlnode.className = (crawlnode.className?crawlnode.className+' ':'')+'current';
            crawlnode = crawlnode.parentNode;
         }
      }
   }

   return;
   // Collapse non-current submenus.
   var MenuLinks = MenuContainer.getElementsByTagName('li');
   for (var i=0; i<MenuLinks.length; i++)
   {
      var SubMenus = MenuLinks[i].getElementsByTagName('ul');
      //alert(MenuLinks[i].className.match('\bcurrent\b'));
      if (SubMenus.length && MenuLinks[i].className.search('current')<0)
//       if (SubMenus.length && MenuLinks[i].className!='current')
      {
         for (var j=0;j<SubMenus.length; j++)
            SubMenus[j].style.display="none";
      }
   }
}

function getElementByTagNClass(tagname,classname)
{
   var possitems = document.getElementsByTagName(tagname);

   for (var i=0; i<possitems.length; i++)
      if (possitems[i].className == classname)
         return possitems[i];
}