var presence;
var active;
window.addEvent('domready',function(){

  function restore() {
    menus.each(function(el) {
      el.set('class',el.retrieve('start_class'));
    })
    
  }

  $('nav').addEvent('mouseenter',function() {
    clearTimeout(presence);
  });
  $('nav').addEvent('mouseleave',function(){
    presence = setTimeout(function(){restore()},300);
  });

  var menus = $$('#nav>li');
  var submenus = $$('#nav>li>ul');
  menus.each(function(el){
    el.store('start_class',el.get('class'));
    el.addEvent('mouseover',function(){
       menus.each(function(elel){
         elel.set('class',elel.retrieve('start_class').replace(/\bcurrent-menu-parent\b/,'').replace(/\bcurrent-menu-item\b/,''));
       });
       el.set('class',el.retrieve('start_class')+' active');
    })
  })

  var active = $$('.current_page_item');
  if ( active.length == 0 ) {

    var theoretical_ancestor = $$('.current-page-ancestor');
    if ( theoretical_ancestor.length > 0 ) {
      menus.each(function(el,n) {
        if ( el.contains( theoretical_ancestor[0] ) ) {
          el.store('start_class',el.get('class')+' current-menu-parent');
          el.set('class',el.retrieve('start_class'));
        }
      })
    } else {
      menus[3].store('start_class',menus[3].get('class')+' current-menu-parent');
    }
    restore();      
  }

})
