/*
 * truncatable 1.2 - jQuery lightwieght text truncation plugin
 * edited by Yves Poersch <yves.poersch@netformic.de>
 * I added smoother effects for the more und hide funtion
 *
 * Copyright (c) 2009 Philip Beel (http://www.theodin.co.uk/)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Revision: $Id: jquery.truncatable.js 2009-08-20 $
 *
 */

(function($j){$j.fn.truncatable=function(options){var defaults={limit:100,more:'...',less:false,hideText:'[read less]'};var options=$j.extend(defaults,options);return this.each(function(num){var stringLength=$j(this).html().length;if(stringLength>defaults.limit){var splitText=$j(this).html().substr(defaults.limit);var splitPoint=splitText.substr(0,1);var whiteSpace=new RegExp(/^\s+$/);for(var newLimit=defaults.limit;newLimit<stringLength;newLimit++){var newSplitText=$j(this).html().substr(0,newLimit);var newHiddenText=$j(this).html().substr(newLimit);var newSplitPoint=newSplitText.slice(-1);if(whiteSpace.test(newSplitPoint)){var hiddenText='<span class="hiddenText_'+num+'" style="display:none">'+newHiddenText+'</span>';var setNewLimit=(newLimit-1);var trunkLink=$j('<a>').attr('class','show-more show-more-'+num+'');$j(this).html($j(this).html().substr(0,setNewLimit)).append(' <a class="show-more show-more-'+num+'" href="#">'+defaults.more+'<a/> '+hiddenText);$j('a.show-more-'+num).bind('click',function(){$j('span.hiddenText_'+num).show('slow');$j('a.show-more-'+num).slideUp('slow');if(defaults.less==true){$j('span.hiddenText_'+num).append(' <a class="hide_'+num+'" href="" title="'+defaults.hideText+'">'+defaults.hideText+'</a>');$j('a.hide_'+num).bind('click',function(){$j('.hiddenText_'+num).slideUp('slow');$j('.show-more-'+num).slideDown('slow');$j('.hide_'+num).empty();return false})}return false;});newLimit=stringLength}}}})}})(jQuery);
