$(document).ready(function() {

  function hoverOver(){
    (function($) {
      jQuery.fn.calcSubWidth = function(){
        rowWidth = 0;
        $(this).find("ul").each(function() {
          rowWidth += $(this).width();
        });
      };
    })(jQuery);

    $(this).find(".sub").stop().fadeTo('fast',1).show();
    
    if ($(this).find(".row").length > 0) {
      var rowMax = 0;
      $(this).find(".row").each(function() {
        $(this).calcSubWidth();
        if(rowWidth > rowMax) {
          rowMax = rowWidth;
        }
        rowMax = rowMax + 50;
      });

      $(this).find(".sub").css({'width' :rowMax});
      $(this).find(".row:last").css({'margin':'0'});

    } else {
      $(this).calcSubWidth();
      $(this).find(".sub").css({'width' : rowWidth});
    }
    
  }

  function hoverOut(){
    $(this).find(".sub").stop().fadeTo('fast', 0, function() {
      $(this).hide();
    });
  }

  var config = {
    sensitivity: 1,
    interval: 25,
    over: hoverOver,
    timeout: 100,
    out: hoverOut
  };

  $("ul.navbar li .sub").css({'opacity':'0'});
  $("ul.navbar li").hoverIntent(config);
});

