jQuery(document).ready(function() {
  function initActiveItem($el)
  {
    var $parentMenu = $el.parent('ul');
    var $parentItem;
    while ($parentMenu.attr('id') == 'submenu')
    {
      $parentItem = $parentMenu.parent('li');
      //      $parentItem.addClass('sub_hover');
      $parentMenu = $parentItem.parent('ul');
    }
  }

  function addSubHover($submenu)
  {
    var $parentEl = $submenu.parent('li');
    $parentEl.addClass('sub_hover');
    var $parentSubmenu = $parentEl.parent('ul');
  }

  function removeSubHover($submenu)
  {
    var $parentEl = $submenu.parent('li');
    $parentEl.removeClass('sub_hover');
    var $parentSubmenu = $parentEl.parent('ul');
  }

  function initSubmenu($el) {
    var submenu = $el.children('ul')[0];
    if (typeof(submenu) != 'undefined')
    {
      var $submenu = jQuery(submenu);
      var $link = jQuery($submenu.siblings('a')[0]);
      $el.addClass('sub');
      $submenu.addClass('sub');
      $el.mouseenter(function() {
        $submenu.show();
        addSubHover($submenu);
      }).mouseleave(function() {
        $submenu.hide();
        removeSubHover($submenu);
      });
      jQuery(submenu).children('li').each(function(index, el) {
        initSubmenu(jQuery(el));
      });
    }
  };

  function renderMenu(menuid) {
    var $menu = jQuery(menuid);
    var $items = jQuery($menu.children('li'));
    for (var counter = 0; counter < $items.length; counter++)
    {
      var $item = jQuery($items[counter]);
      initSubmenu($item);
    }

    var $activeItem = $menu.find('li.menu_current');

    initActiveItem($activeItem);
  }

  function alignFooterLinks(footerid) {
    var $footer        = jQuery(footerid);
    var $columns_width = 0;
    var $columns_count = 0;
    var $ratio         = 0;
    
    $footer.children('li').each(function(){      
      $(this).css('width', $(this).find('a').width()+1);
      $columns_width += $(this).width();
      $columns_count++;
    });
          
    $ratio = ($('#footer_menu_content').width() - $columns_width - 60 - ($columns_count*20)) / $columns_count;
          
    $footer.children('li').each(function(){      
      $(this).css('width', $(this).width()+$ratio);      
    });
  }

  renderMenu('#menu');
  renderMenu('#second_menu');
  alignFooterLinks('#footer_menu_content > ul > li > ul');
  
  // Add submenu border
  $('<span></span>').appendTo('#main_menu ul#submenu li:first-child');

  // Internet Explorer
  if ( $.browser.msie ) {
    $('#main_menu ul#menu > li').each(function() {
      var $ulSubmenu = $(this).children('ul#submenu');
      var $ulSubmenuWidth = $ulSubmenu.width();
      
      // Set width for all LI's      
      $($ulSubmenu).children('li').each(function() {
        $(this).css('width', $ulSubmenuWidth);
      });
      $($ulSubmenu).children(':first-child').css('width', $ulSubmenuWidth+2);
    });
  }
});
