!function(a){$f.addPlugin("playlist",function(g,d){var j=this;var i={playingClass:"playing",pausedClass:"paused",progressClass:"progress",stoppedClass:"stopped",template:'${title}',loop:false,continuousPlay:false,playOnClick:true,manual:false};a.extend(i,d);g=a(g);var f=l();var b=i.manual||(f.length>0&&!g.html().match(/\$/));var s=null;function m(v){var u=s;a.each(v,function(w,x){if(!a.isFunction(x)){u=u.replace("${"+w+"}",x).replace("$%7B"+w+"%7D",x)}});return u}function c(){f=l().unbind("click.playlist").bind("click.playlist",function(){return q(a(this),f.index(this))})}function n(){g.empty();a.each(j.getPlaylist(),function(){g.append(m(this))});c()}function q(u,v){if(u.hasClass(i.playingClass)||u.hasClass(i.pausedClass)){j.toggle()}else{u.addClass(i.progressClass);j.play(v)}return false}function e(){if(b){f=l()}f.removeClass(i.playingClass);f.removeClass(i.pausedClass);f.removeClass(i.progressClass);f.removeClass(i.stoppedClass)}function t(u){return(b)?f.filter('[href="'+u.originalUrl+'"]'):f.eq(u.index)}function l(){var u=g.find("a");return u.length?u:g.children()}if(!b){s=g.children().length<=0?i.template:g.html();n()}else{s=i.template;c();var o=[];a.each(f,function(u,v){o.push({url:encodeURI(a(v).attr("href"))})});j.onLoad(function(){j.setPlaylist(o)});var p=j.getClip(0);if(!p.url&&i.playOnClick){p.update({url:encodeURI(f.eq(0).attr("href"))})}}j.onBegin(function(u){e();t(u).addClass(i.playingClass)});j.onPause(function(u){t(u).removeClass(i.playingClass).addClass(i.pausedClass)});j.onResume(function(u){t(u).removeClass(i.pausedClass).addClass(i.playingClass)});function h(u){j.onBeforeFinish(function(v){t(v).removeClass(i.playingClass);t(v).addClass(i.stoppedClass);if(!v.isInStream&&v.indexv.duration-1){j.play(v.index)}})}function r(u){j.onBeforeFinish(function(v){if(!v.isInStream&&v.index>=f.length-1){return false}})}function k(u){j.onFinish(function(v){if(!v.isInStream&&v.index==f.length-1){t(v).removeClass(i.playingClass);t(v).addClass(i.stoppedClass)}})}if(!i.loop&&!i.continuousPlay){h(p)}else{if(i.loop){r(p)}else{k(p)}}j.onUnload(function(){e()});if(!b){j.onPlaylistReplace(function(){n()})}j.onClipAdd(function(v,u){if(s){if(u