jQuery.fn.truncate=function(b,c){c=jQuery.extend({chars:/\s/,leave:false,trail:[false,"...",""]},c);return this.each(function(){if(!c.leave||(c.leave&&jQuery(this).children().length==0)){var e=jQuery.trim(jQuery(this).text());var f=jQuery.trim(jQuery(this).html());if(e.length>b+10){d=htmlSubstr(f,b)+c.trail[1];jQuery(this).html(d);if(c.trail[0]){jQuery(this).html('<span class="truncate_1">'+d+"</span>").append('<span class="truncate_2">'+f+"</span>").find("span.truncate_2").append(c.trail[2]).css("display","none");jQuery("a.truncate_link:eq(0)",this).click(function(){jQuery(this).parents("span.truncate_1").slideUp("fast",function(){jQuery(this).parent().find("span.truncate_2").slideDown("slow")});return false});jQuery("a.truncate_link:eq(1)",this).click(function(){jQuery(this).parents("span.truncate_2").slideUp("slow",function(){jQuery(this).parent().find("span.truncate_1").slideDown(300)});return false})}}}})};function htmlSubstr(k,c){if(k!=null&&k!=""&&c!=null&&c!=""){isText=true;var b="";var h=0;var o="";var f=-1;var m="";var g=new Array();var l="";var e=0;var n=0;for(j=0;j<k.length;j++){o=k.charAt(j);if(o=="<"){isText=false}if(isText){n++}if(o==">"){isText=true}}for(j=0;j<k.length;j++){o=k.charAt(j);b+=o;if(o=="<"){isText=false}if(isText){if(o==" "){f=j}else{m=o}h++}else{l+=o}if(o==">"){isText=true;if(l.search(/br/i)>-1){continue}if(l.indexOf("<")!=-1&&l.indexOf("/>")==-1&&l.indexOf("</")==-1){if(l.indexOf(" ")!=-1){l=l.substr(1,l.indexOf(" ")-1)}else{l=l.substr(1,l.length-2)}g[e]=l;e++}else{if(l.indexOf("</")!=-1){g[e-1]=null;e--}}l=""}if(h==c){break}}if(c<n){if(f!=-1){b=k.substr(0,f)}else{b=k.substr(0,j)}}for(a=g.length-1;a>=0;a--){if(g[a]!=null&&g[a]!="br"){b+="</"+g[a]+">"}}if(c<n){if(m!="."){b+="..."}else{b+=".."}}return b}else{alert("hmtlSubstr() function needs parameters : hmtlSubstr(htmlString,maxLength)")}};
