var menuWidth   = 930;
var menuPadding = 10;

$(function() {
  loadMenu();
});

function loadMenu() {

  $('#menu li:has(ul)').each(function() {
    var ulWidth = 0;
    $(this).children('ul').show();
    $(this).children('ul').children('li').each(function() {
      ulWidth = ulWidth + $(this).width();
    });
    $(this).children('ul').hide();
    
    var thisleft    = $(this).position().left;
    var liWidth     = $(this).width();
    var paddingleft = Math.round(thisleft + (liWidth / 2) - (ulWidth / 2));
    
    if(paddingleft < menuPadding) paddingleft = menuPadding;
    if((paddingleft + ulWidth) > menuWidth) paddingleft = menuWidth - ulWidth;

    $(this).children('ul').css('padding-left',paddingleft);
    $(this).children('ul').css('width',menuWidth - paddingleft);
    
  });
  
  $('#menu > ul > li:has(.current)').addClass('curr-state1');
  $('#menu > ul > li:has(.current) ul').show();

  $('#menu > ul > li:not(.curr-state1)').mouseover(function() {
    $('#menu > ul > li:has(.current) ul').hide();
    $(this).addClass('hover').children('ul').show();//.slideDown('fast');
    $('#menu > ul > li:has(.current)').removeClass('curr-state1').addClass('curr-state2');
  }).mouseout(function() {
    $(this).removeClass('hover').children('ul').hide();//.slideUp('fast');
    $('#menu > ul > li:has(.current) ul').show();
    $('#menu > ul > li:has(.current)').removeClass('curr-state2').addClass('curr-state1');
  });

}