function actuallyPop(ele, no_hide)
{
   $('nav').down('.clearfix').childElements().each(function(_ele)
   {
      if(ele != _ele && !no_hide)
      {
         var img = _ele.firstDescendant().firstDescendant();
         if(img.getAttribute('orig_src') != null && img.getAttribute('orig_src') != 'null' && img.getAttribute('orig_src') != '') img.setAttribute('src', img.getAttribute('orig_src'));
         if(_ele.down('.second_level')) _ele.down('.second_level').hide();
      }
   });

   if(ele.down('.second_level')) ele.down('.second_level').show();
}

function pop(event)
{
   if(event.type == 'click' && event.element().up().up().className != 'second_level') actuallyPop(event.findElement('LI'));
}

var ondomload = [];

function load()
{
   var preload = [];

   $('nav').down('.clearfix').childElements().each(function(ele)
   {
      var secnav = ele.down('.second_level');
      if(secnav) ele.firstDescendant().onclick = function(event) { return false; };

      var img = ele.firstDescendant().firstDescendant();
      var src = img.getAttribute('src');
      img.setAttribute('roll_src', src.replace(/\.(png|gif|jpg)$/, "_roll.$1"));

      var img2 = new Image();
      img2.src = img.getAttribute('roll_src');
      preload.push(img2);

      img.observe('mouseover', function(event)
      {
         var ele = event.element();

         if(ele.getAttribute('orig_src') == null || ele.getAttribute('orig_src') == 'null' || ele.getAttribute('orig_src') == '')
         {
            ele.setAttribute('orig_src', ele.getAttribute('src'))
            ele.setAttribute('src', ele.getAttribute('roll_src'));
         }
      });

      img.observe('mouseout', function(event)
      {
         var ele = event.element();

         if(ele.up().next() && ele.up().next().style.display != 'none') return;

         if(ele.getAttribute('always_rollover') != '1' && ele.getAttribute('orig_src') != null && ele.getAttribute('orig_src') != 'null' && ele.getAttribute('orig_src') != '')
         {
            ele.setAttribute('src', ele.getAttribute('orig_src'));
            ele.setAttribute('orig_src', null);
         }
      });

      ele.observe('click', pop);
      if(secnav) secnav.hide();
   });

   if(typeof initial != 'undefined' && initial != 0)
   {
      var li = $('nav').down('.clearfix').childElements()[initial - 1];
      var ele = li.firstDescendant().firstDescendant();
      ele.setAttribute('orig_src', ele.getAttribute('src'))
      ele.setAttribute('src', ele.getAttribute('roll_src'));
      ele.setAttribute('always_rollover', '1');
      actuallyPop(li, true);
   }          

   ondomload.each(function(e) { e.call(); });
}

Event.observe(document, 'dom:loaded', load);