jQuery.fn.truncate=function(max,settings){settings=jQuery.extend({chars:/\s/,leave:false,trail:[false,"...",""]},settings);return this.each(function(){var d=true;if(!settings.leave||(settings.leave&&jQuery(this).children().length==0)){v=jQuery.trim(jQuery(this).text());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]&&!d){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})}}})};