if (window.global_debug === undefined) { window.global_debug = false; }
if (window.data === undefined) { window.data = {}; }

(function($){$.fn.expander=function(options){var opts=$.extend({},$.fn.expander.defaults,options);var delayedCollapse;return this.each(function(){var $this=$(this);var o=$.meta ? $.extend({},opts,$this.data()):opts;var cleanedTag,startTags,endTags;var allText=$this.html();var startText=allText.slice(0,o.slicePoint).replace(/(\w)$/,'');var last_space=startText.lastIndexOf(' ');if(last_space > 0){startText=startText.slice(0,last_space);}
startTags=startText.match(/<\w[^>]*>/g);if(startTags){startText=allText.slice(0,o.slicePoint+startTags.join('').length).replace(/\w+$/,'');}
if(startText.lastIndexOf('<')> startText.lastIndexOf('>')){startText=startText.slice(0,startText.lastIndexOf('<'));}
var endText=allText.slice(startText.length);if(!$('span.details',this).length){if(endText.replace(/\s+$/,'').split(' ').length < o.widow){return;}
if(endText.indexOf('</')>-1){endTags=endText.match(/<(\/)?[^>]*>/g);for(var i=0;i < endTags.length;i++){if(endTags[i].indexOf('</')>-1){var startTag,startTagExists=false;for(var j=0;j < i;j++){startTag=endTags[j].slice(0,endTags[j].indexOf(' ')).replace(/(\w)$/,'$1>');if(startTag==rSlash(endTags[i])){startTagExists=true;}
}
if(!startTagExists){startText=startText+endTags[i];var matched=false;for(var s=startTags.length-1;s >=0;s--){if(startTags[s].slice(0,startTags[s].indexOf(' ')).replace(/(\w)$/,'$1>')==rSlash(endTags[i])
&&matched==false){cleanedTag=cleanedTag ? startTags[s]+cleanedTag:startTags[s];matched=true;}
};}
}
}
endText=cleanedTag&&cleanedTag+endText||endText;}
$this.html([
startText,
'<a href="#" class="read-more">',
o.expandText,
'</a>',
'<span class="details">',
endText,
'</span>'
].join('')
);}
$this
.find('span.details').hide()
.end()
.find('a.read-more').click(function(){$(this).hide()
.next('span.details')[o.expandEffect](o.expandSpeed,function(){var $self=$(this);$self.css({zoom:''});if(o.collapseTimer){delayedCollapse=setTimeout(function(){reCollapse($self);},
o.collapseTimer
);}
});return false;});if(o.userCollapse){$this
.find('span.details').append(' <a class="re-collapse" href="#">'+o.userCollapseText+'</a>')
.find('a.re-collapse').click(function(){clearTimeout(delayedCollapse);var $spanCollapse=$(this).parent();reCollapse($spanCollapse);return false;});}
});function reCollapse(el){el.hide()
.prev('a.read-more').show();}
function rSlash(rString){return rString.replace(new RegExp('\/'),'');}
};$.fn.expander.defaults={slicePoint:100,
widow:4,
expandText:'read more...',
collapseTimer:0,
expandEffect:'fadeIn',
expandSpeed:'',
userCollapse:true,
userCollapseText:'[collapse expanded text]'
};})(jQuery);