(function($) {
  /**
   * jQuery hook
   */
  $.fn.extend({
    fixLineBreak: function(options) {
      var
        settings = $.extend({}, $.fixLineBreak.defaults, options),
        minLeft = $(this).position().left;
      
      return $(this).each(function() {
        if ($(this).position().left > minLeft && $(this).prev().position().left >= $(this).position().left) {
          $(this).addClass(settings.breakItemClass).addClass(settings.firstInLineClass);
        }
        else if ($(this).position().left > 0) {
          $(this).addClass(settings.nonBreakItemClass);
        }
        else {
          $(this).addClass(settings.firstInLineClass);
        }
      });
    }
  });
  
  /**
   * defaults
   */
  $.extend({
    fixLineBreak: {
      defaults: {
        breakItemClass: 'break-item',
        nonBreakItemClass: 'non-break-item',
        firstInLineClass: 'first-in-line',
        handleOnResize: true 
      }
    }
  });
})(jQuery);
