/**
 * Text autotruncating plugin, by Brian Reindel http://www.reindel.com/truncate/
 * Modified by Nicolas Perriault for Symfonians.net
 */
jQuery.fn.truncate = function(max,settings) {
  settings = jQuery.extend({
    chars: /\s/,
    leave: false,
    trail: [false, "...", ""]
  }, settings);
  return this.each(function() {
    if (!settings.leave || (settings.leave && jQuery(this).children().length == 0)) {
      var v = jQuery.trim(jQuery(this).text());
      var d;
      while (max < v.length) {
        c = v.charAt(max);
        if (c.match(settings.chars)) {
          d = v.substring(0,max) + settings.trail[1];
          jQuery(this).html(d);
          break;
        }
        max--;
      }
      if (settings.trail[0]) {
        if (!d) return;
        jQuery(this).html("<span>" + d + "</span>").append("<span>" + v + "</span>").find("span:eq(1)").append(settings.trail[2]).css("display","none");
        jQuery("a:eq(0)",this).click(function() {
          jQuery(this).parent().css("display","none").parent().find("span:eq(1)").css("display","inline");
          return false;
        });
        jQuery("a:eq(1)",this).click(function() {
          jQuery(this).parent().css("display","none").parent().find("span:eq(0)").css("display","inline");
          return false;
        });
      }
    }
  });
};
