(function(n,t,i){var r="ontouchstart"in t,e=r?"touchstart":"mousedown",u=r?"touchmove":"mousemove",h=r?"touchend":"mouseup",o=r?"touchcancel":"mouseup",f=function(n){var u=n/3600,t=Math.floor(u),f=n%3600/60,i=Math.floor(f),r=Math.ceil(n%3600%60);return r>59&&(r=0,i=Math.ceil(f)),i>59&&(i=0,t=Math.ceil(u)),(t==0?"":t>0&&t.toString().length<2?"0"+t+":":t+":")+(i.toString().length<2?"0"+i:i)+":"+(r.toString().length<2?"0"+r:r)},s=function(n){var t=i.createElement("audio");return!!(t.canPlayType&&t.canPlayType("audio/"+n.split(".").pop().toLowerCase()+";").replace(/no/,""))};n.fn.audioPlayer=function(t){var t=n.extend({classPrefix:"audioplayer",strPlay:"Play",strPause:"Pause",strVolume:"Volume"},t),i={},c={playPause:"playpause",playing:"playing",stopped:"stopped",time:"time",timeCurrent:"time-current",timeDuration:"time-duration",bar:"bar",barLoaded:"bar-loaded",barPlayed:"bar-played",volume:"volume",volumeButton:"volume-button",volumeAdjust:"volume-adjust",noVolume:"novolume",muted:"muted",mini:"mini"},h;for(h in c)i[h]=t.classPrefix+"-"+c[h];return this.each(function(){if(n(this).prop("tagName").toLowerCase()!="audio")return!1;var v=n(this),y=v.attr("src"),p=v.get(0).getAttribute("autoplay"),p=p===""||p==="autoplay"?!0:!1,b=v.get(0).getAttribute("loop"),b=b===""||b==="loop"?!0:!1,a=!1;typeof y=="undefined"?v.find("source").each(function(){return y=n(this).attr("src"),typeof y!="undefined"&&s(y)?(a=!0,!1):void 0}):s(y)&&(a=!0);var c=n('<div class="'+t.classPrefix+'">'+(a?n("<div>").append(v.eq(0).clone()).html():'<embed src="'+y+'" width="0" height="0" volume="100" autostart="'+p.toString()+'" loop="'+b.toString()+'" />')+'<div class="'+i.playPause+'" title="'+t.strPlay+'"><a href="#">'+t.strPlay+"<\/a><\/div><\/div>"),h=a?c.find("audio"):c.find("embed"),h=h.get(0);if(a){c.find("audio").css({width:0,height:0,visibility:"hidden"});c.append('<div class="'+i.time+" "+i.timeCurrent+'"><\/div><div class="'+i.bar+'"><div class="'+i.barLoaded+'"><\/div><div class="'+i.barPlayed+'"><\/div><\/div><div class="'+i.time+" "+i.timeDuration+'"><\/div><div class="'+i.volume+'"><div class="'+i.volumeButton+'" title="'+t.strVolume+'"><a href="#">'+t.strVolume+'<\/a><\/div><div class="'+i.volumeAdjust+'"><div><div><\/div><\/div><\/div><\/div>');var w=c.find("."+i.bar),it=c.find("."+i.barPlayed),rt=c.find("."+i.barLoaded),d=c.find("."+i.timeCurrent),g=c.find("."+i.timeDuration),ut=c.find("."+i.volumeButton),l=c.find("."+i.volumeAdjust+" > div"),k=0,nt=function(n){theRealEvent=r?n.originalEvent.touches[0]:n;h.currentTime=Math.round(h.duration*(theRealEvent.pageX-w.offset().left)/w.width())},tt=function(n){theRealEvent=r?n.originalEvent.touches[0]:n;h.volume=Math.abs((theRealEvent.pageY-(l.offset().top+l.height()))/l.height())},ft=function(){var n=setInterval(function(){if(h.buffered.length<1)return!0;rt.width(h.buffered.end(0)/h.duration*100+"%");Math.floor(h.buffered.end(0))>=Math.floor(h.duration)&&clearInterval(n)},100)},et=h.volume,ot=h.volume=.111;Math.round(h.volume*1e3)/1e3==ot?h.volume=et:c.addClass(i.noVolume);g.html("…");d.html(f(0));h.addEventListener("loadeddata",function(){ft();g.html(n.isNumeric(h.duration)?f(h.duration):"…");l.find("div").height(h.volume*100+"%");k=h.volume});h.addEventListener("timeupdate",function(){d.html(f(h.currentTime));it.width(h.currentTime/h.duration*100+"%")});h.addEventListener("volumechange",function(){l.find("div").height(h.volume*100+"%");h.volume>0&&c.hasClass(i.muted)&&c.removeClass(i.muted);h.volume<=0&&!c.hasClass(i.muted)&&c.addClass(i.muted)});h.addEventListener("ended",function(){c.removeClass(i.playing).addClass(i.stopped)});w.on(e,function(n){nt(n);w.on(u,function(n){nt(n)})}).on(o,function(){w.unbind(u)});ut.on("click",function(){return c.hasClass(i.muted)?(c.removeClass(i.muted),h.volume=k):(c.addClass(i.muted),k=h.volume,h.volume=0),!1});l.on(e,function(n){tt(n);l.on(u,function(n){tt(n)})}).on(o,function(){l.unbind(u)})}else c.addClass(i.mini);c.addClass(p?i.playing:i.stopped);c.find("."+i.playPause).on("click",function(){return c.hasClass(i.playing)?(n(this).attr("title",t.strPlay).find("a").html(t.strPlay),c.removeClass(i.playing).addClass(i.stopped),a?h.pause():h.Stop()):(n(this).attr("title",t.strPause).find("a").html(t.strPause),c.addClass(i.playing).removeClass(i.stopped),a?h.play():h.Play()),!1});v.replaceWith(c)}),this}})(jQuery,window,document)