(function(a){a.fn.expander=function(c){var e=a.extend({},a.fn.expander.defaults,c),f=/\//,b;this.each(function(){var q=this,s=a(this);var k=a.meta?a.extend({},e,s.data()):e;var u,x,l;var r=s.html();var v=r.slice(0,k.slicePoint).replace(/(&([^;]+;)?|\w+)$/,"");x=v.match(/<\w[^>]*>/g);if(x){v=r.slice(0,k.slicePoint+x.join("").length).replace(/(&([^;]+;)?|\w+)$/,"")}if(v.lastIndexOf("<")>v.lastIndexOf(">")){v=v.slice(0,v.lastIndexOf("<"))}var m={};a.each(["onSlice","beforeExpand","afterExpand","onCollapse"],function(i,j){m[j]=a.isFunction(k[j])});var h=r.slice(v.length);if(!a("div.details",this).length){if(h.replace(/\s+$/,"").split(" ").length<k.widow){return}if(m.onSlice){k.onSlice.call(q)}if(h.indexOf("</")>-1){l=h.match(/<(\/)?[^>]*>/g);for(var p=0;p<l.length;p++){if(l[p].indexOf("</")>-1){var w,t=false;for(var n=0;n<p;n++){w=l[n].slice(0,l[n].indexOf(" ")).replace(/\w$/,"$1>");if(w==l[p].replace(f,"")){t=true}}if(!t){var g=false}}}v=v.replace(/(<p>)/gi,"");h=h.replace(/(<p>)/gi,"")}var y=r.replace(/(<p>)/gi,"");s.data("originalHTML",y);s.data("compressedHTML",[v,'</li><div class="read-more">',k.expandPrefix,'<a href="#">',k.expandText,"</a>","</div>",'<span class="details">',h,"</span>"].join(""));s.html(s.data("compressedHTML"));s.bind("ReBindClicks",function(){var i=a(".details",this),j=a("div.read-more",this);i.hide();j.find("a").click(function(){j.hide();if(k.expandEffect==="show"&&!k.expandSpeed){if(m.beforeExpand){k.beforeExpand.call(q)}i.show();if(m.afterExpand){k.afterExpand.call(q)}d(k,i,q);completedExpand()}else{if(m.beforeExpand){k.beforeExpand.call(q)}i[k.expandEffect](k.expandSpeed,function(){i.css({zoom:""});if(m.beforeExpand){k.afterExpand.call(q)}d(k,i,q);if(k.userCollapse){s.html(s.data(y));s.append('<div class="re-collapse">'+k.userCollapsePrefix+'<a href="#">'+k.userCollapseText+"</a></div>");s.find("div.re-collapse a").click(function(){clearTimeout(b);$para=a(this).parent().parent();$para.html($para.data("compressedHTML"));$para.trigger("ReBindClicks");if(m.onCollapse){k.onCollapse.call(q,true)}return false})}})}return false})});s.trigger("ReBindClicks")}});function d(h,g,i){if(h.collapseTimer){b=setTimeout(function(){reCollapse(g);if(a.isFunction(h.onCollapse)){h.onCollapse.call(i,false)}},h.collapseTimer)}}return this};a.fn.expander.defaults={slicePoint:100,widow:4,expandText:"read more",expandPrefix:"&hellip; ",collapseTimer:0,expandEffect:"fadeIn",expandSpeed:"",userCollapse:true,userCollapseText:"[collapse expanded text]",userCollapsePrefix:" ",onSlice:null,beforeExpand:null,afterExpand:null,onCollapse:null}})(jQuery);
