/** @license * * soundmanager 2: javascript sound for the web * ---------------------------------------------- * http://schillmania.com/projects/soundmanager2/ * * copyright (c) 2007, scott schiller. all rights reserved. * code provided under the bsd license: * http://schillmania.com/projects/soundmanager2/license.txt * * v2.97a.20131201 */ (function(g,k){function u(u,ka){function v(b){return c.preferflash&&v&&!c.ignoreflash&&c.flash[b]!==k&&c.flash[b]}function q(b){return function(c){var d=this._s;return!d||!d._a?null:b.call(this,c)}}this.setupoptions={url:u||null,flashversion:8,debugmode:!0,debugflash:!1,useconsole:!0,consoleonly:!0,waitforwindowload:!1,bgcolor:"#ffffff",usehighperformance:!1,flashpollinginterval:null,html5pollinginterval:null,flashloadtimeout:1e3,wmode:null,allowscriptaccess:"always",useflashblock:!1,usehtml5audio:!0, html5test:/^(probably|maybe)$/i,preferflash:!1,noswfcache:!1,idprefix:"sound"};this.defaultoptions={autoload:!1,autoplay:!1,from:null,loops:1,onid3:null,onload:null,whileloading:null,onplay:null,onpause:null,onresume:null,whileplaying:null,onposition:null,onstop:null,onfailure:null,onfinish:null,multishot:!0,multishotevents:!1,position:null,pan:0,stream:!0,to:null,type:null,usepolicyfile:!1,volume:100};this.flash9options={ismoviestar:null,usepeakdata:!1,usewaveformdata:!1,useeqdata:!1,onbufferchange:null, ondataerror:null};this.moviestaroptions={buffertime:3,serverurl:null,onconnect:null,duration:null};this.audioformats={mp3:{type:['audio/mpeg; codecs\x3d"mp3"',"audio/mpeg","audio/mp3","audio/mpa","audio/mpa-robust"],required:!0},mp4:{related:["aac","m4a","m4b"],type:['audio/mp4; codecs\x3d"mp4a.40.2"',"audio/aac","audio/x-m4a","audio/mp4a-latm","audio/mpeg4-generic"],required:!1},ogg:{type:["audio/ogg; codecs\x3dvorbis"],required:!1},opus:{type:["audio/ogg; codecs\x3dopus","audio/opus"],required:!1}, wav:{type:['audio/wav; codecs\x3d"1"',"audio/wav","audio/wave","audio/x-wav"],required:!1}};this.movieid="sm2-container";this.id=ka||"sm2movie";this.debugid="soundmanager-debug";this.debugurlparam=/([#?&])debug=1/i;this.versionnumber="v2.97a.20131201";this.alturl=this.movieurl=this.version=null;this.enabled=this.swfloaded=!1;this.omc=null;this.sounds={};this.soundids=[];this.didflashblock=this.muted=!1;this.filepattern=null;this.filepatterns={flash8:/\.mp3(\?.*)?$/i,flash9:/\.mp3(\?.*)?$/i};this.features= {buffering:!1,peakdata:!1,waveformdata:!1,eqdata:!1,moviestar:!1};this.sandbox={};this.html5={usingflash:null};this.flash={};this.ignoreflash=this.html5only=!1;var ja,c=this,ka=null,l=null,w,s=navigator.useragent,la=g.location.href.tostring(),n=document,la,ma,ma,m,x=[],k=!1,l=!1,p=!1,y=!1,na=!1,m,w,oa,x,pa,d,e,f,na,qa,ra,y,sa,z,ta,g,ua,n,va,$,h,oa,wa,pa,xa,qa,o=null,ya=null,p,za,i,aa,ba,r,q=!1,aa=!1,ra,sa,ta,ca=0,r=null,da,ua=[],s,u=null,va,ea,t,z,fa,ba,wa,t,fb=array.prototype.slice,a=!1,ca,v,da, xa,b,ga,ya=0,ha=s.match(/(ipad|iphone|ipod)/i),za=s.match(/android/i),c=s.match(/msie/i),gb=s.match(/webkit/i),ia=s.match(/safari/i)&&!s.match(/chrome/i),ea=s.match(/opera/i),fa=s.match(/(mobile|pre\/|xoom)/i)||ha||za,$a=!la.match(/usehtml5audio/i)&&!la.match(/sm2\-ignorebadua/i)&&ia&&!s.match(/silk/i)&&s.match(/os x 10_6_([3-7])/i),ga=n.hasfocus!==k?n.hasfocus():null,ja=ia&&(n.hasfocus===k||!n.hasfocus()),ab=!ja,bb=/(mp3|mp4|mpa|m4a|m4b)/i,ha=n.location?n.location.protocol.match(/http/i):null,cb= !ha?"http://":"",db=/^\s*audio\/(?:x-)?(?:mpeg4|aac|flv|mov|mp4||m4v|m4a|m4b|mp4v|3gp|3g2)\s*(?:$|;)/i,eb="mpeg4 aac flv mov mp4 m4v f4v m4a m4b mp4v 3gp 3g2".split(" "),hb=regexp("\\.("+eb.join("|")+")(\\?.*)?$","i");this.mimepattern=/^\s*audio\/(?:x-)?(?:mp(?:eg|3))\s*(?:$|;)/i;this.usealturl=!ha;var ia;try{ia=audio!==k&&(ea&&opera!==k&&10>opera.version()?new audio(null):new audio).canplaytype!==k}catch(ib){ia=!1}this.hashtml5=ia;this.setup=function(b){var e=!c.url;b!==k&&p&&u&&c.ok();oa(b);b&& (e&&(n&&b.url!==k)&&c.begindelayedinit(),!n&&(b.url!==k&&"complete"===n.readystate)&&settimeout(g,1));return c};this.supported=this.ok=function(){return u?p&&!y:c.usehtml5audio&&c.hashtml5};this.getmovie=function(b){return w(b)||n[b]||g[b]};this.createsound=function(b,e){function d(){a=aa(a);c.sounds[a.id]=new ja(a);c.soundids.push(a.id);return c.sounds[a.id]}var a,f=null;if(!p||!c.ok())return!1;e!==k&&(b={id:b,url:e});a=w(b);a.url=da(a.url);void 0===a.id&&(a.id=c.setupoptions.idprefix+ya++);if(r(a.id, !0))return c.sounds[a.id];if(ea(a))f=d(),f._setup_html5(a);else{if(c.html5only||c.html5.usingflash&&a.url&&a.url.match(/data\:/i))return d();8a.instancecount?(n(),f=a._setup_html5(),a.setposition(a._io.position),f.play()):(h=new audio(a._io.url),g=function(){t.remove(h,"ended",g);a._onfinish(a);fa(h);h=null},j=function(){t.remove(h,"canplay",j);try{h.currenttime=a._io.position/1e3}catch(b){}h.play()},t.add(h,"ended",g),void 0!==a._io.volume&&(h.volume=math.max(0,math.min(1,a._io.volume/100))),a.muted&&(h.muted=!0),a._io.position? t.add(h,"canplay",j):h.play()):(f=l._start(a.id,a._io.loops||1,9===m?a.position:a.position/1e3,a._io.multishot||!1),9===m&&!f&&a._io.onplayerror&&a._io.onplayerror.apply(a))}return a};this.stop=function(b){var c=a._io;1===a.playstate&&(a._onbufferchange(0),a._resetonposition(0),a.paused=!1,a.ishtml5||(a.playstate=0),x(),c.to&&a.clearonposition(c.to),a.ishtml5?a._a&&(b=a.position,a.setposition(0),a.position=b,a._a.pause(),a.playstate=0,a._ontimer(),g()):(l._stop(a.id,b),c.serverurl&&a.unload()),a.instancecount= 0,a._io={},c.onstop&&c.onstop.apply(a));return a};this.setautoplay=function(b){a._io.autoplay=b;a.ishtml5||(l._setautoplay(a.id,b),b&&!a.instancecount&&1===a.readystate&&a.instancecount++)};this.getautoplay=function(){return a._io.autoplay};this.setposition=function(b){b===k&&(b=0);var c=a.ishtml5?math.max(b,0):math.min(a.duration||a._io.duration,math.max(b,0));a.position=c;b=a.position/1e3;a._resetonposition(a.position);a._io.position=c;if(a.ishtml5){if(a._a){if(a._html5_canplay){if(a._a.currenttime!== b)try{a._a.currenttime=b,(0===a.playstate||a.paused)&&a._a.pause()}catch(e){}}else if(b)return a;a.paused&&a._ontimer(!0)}}else b=9===m?a.position:b,a.readystate&&2!==a.readystate&&l._setposition(a.id,b,a.paused||!a.playstate,a._io.multishot);return a};this.pause=function(b){if(a.paused||0===a.playstate&&1!==a.readystate)return a;a.paused=!0;a.ishtml5?(a._setup_html5().pause(),g()):(b||b===k)&&l._pause(a.id,a._io.multishot);a._io.onpause&&a._io.onpause.apply(a);return a};this.resume=function(){var b= a._io;if(!a.paused)return a;a.paused=!1;a.playstate=1;a.ishtml5?(a._setup_html5().play(),n()):(b.ismoviestar&&!b.serverurl&&a.setposition(a.position),l._pause(a.id,b.multishot));!s&&b.onplay?(b.onplay.apply(a),s=!0):b.onresume&&b.onresume.apply(a);return a};this.togglepause=function(){if(0===a.playstate)return a.play({position:9===m&&!a.ishtml5?a.position:a.position/1e3}),a;a.paused?a.resume():a.pause();return a};this.setpan=function(b,c){b===k&&(b=0);c===k&&(c=!1);a.ishtml5||l._setpan(a.id,b);a._io.pan= b;c||(a.pan=b,a.options.pan=b);return a};this.setvolume=function(b,e){b===k&&(b=100);e===k&&(e=!1);a.ishtml5?a._a&&(c.muted&&!a.muted&&(a.muted=!0,a._a.muted=!0),a._a.volume=math.max(0,math.min(1,b/100))):l._setvolume(a.id,c.muted&&!a.muted||a.muted?0:b);a._io.volume=b;e||(a.volume=b,a.options.volume=b);return a};this.mute=function(){a.muted=!0;a.ishtml5?a._a&&(a._a.muted=!0):l._setvolume(a.id,0);return a};this.unmute=function(){a.muted=!1;var b=a._io.volume!==k;a.ishtml5?a._a&&(a._a.muted=!1):l._setvolume(a.id, b?a._io.volume:a.options.volume);return a};this.togglemute=function(){return a.muted?a.unmute():a.mute()};this.onposition=this.onposition=function(b,c,e){p.push({position:parseint(b,10),method:c,scope:e!==k?e:a,fired:!1});return a};this.clearonposition=function(a,b){var c;a=parseint(a,10);if(isnan(a))return!1;for(c=0;c=b)return!1;for(b-= 1;0<=b;b--)c=p[b],!c.fired&&a.position>=c.position&&(c.fired=!0,u++,c.method.apply(c.scope,[c.position]));return!0};this._resetonposition=function(a){var b,c;b=p.length;if(!b)return!1;for(b-=1;0<=b;b--)c=p[b],c.fired&&a<=c.position&&(c.fired=!1,u--);return!0};y=function(){var b=a._io,c=b.from,e=b.to,d,f;f=function(){a.clearonposition(e,f);a.stop()};d=function(){if(null!==e&&!isnan(e))a.onposition(e,f)};null!==c&&!isnan(c)&&(b.position=c,b.multishot=!1,d());return b};q=function(){var b,c=a._io.onposition; if(c)for(b in c)if(c.hasownproperty(b))a.onposition(parseint(b,10),c[b])};x=function(){var b,c=a._io.onposition;if(c)for(b in c)c.hasownproperty(b)&&a.clearonposition(parseint(b,10))};n=function(){a.ishtml5&&ra(a)};g=function(){a.ishtml5&&sa(a)};f=function(b){b||(p=[],u=0);s=!1;a._hastimer=null;a._a=null;a._html5_canplay=!1;a.bytesloaded=null;a.bytestotal=null;a.duration=a._io&&a._io.duration?a._io.duration:null;a.durationestimate=null;a.buffered=[];a.eqdata=[];a.eqdata.left=[];a.eqdata.right=[]; a.failures=0;a.isbuffering=!1;a.instanceoptions={};a.instancecount=0;a.loaded=!1;a.metadata={};a.readystate=0;a.muted=!1;a.paused=!1;a.peakdata={left:0,right:0};a.waveformdata={left:[],right:[]};a.playstate=0;a.position=null;a.id3={}};f();this._ontimer=function(b){var c,f=!1,h={};if(a._hastimer||b){if(a._a&&(b||(0opera.version()?new audio(null):new audio,c=a._a,c._called_load=!1,a&&(ka=c);a.ishtml5=!0;a._a=c;c._s=a;h();a._apply_loop(c,b.loops);b.autoload||b.autoplay?a.load():(c.autobuffer=!1,c.preload="auto");return c};h=function(){if(a._a._added_events)return!1;var b;a._a._added_events=!0;for(b in b)b.hasownproperty(b)&&a._a&&a._a.addeventlistener(b,b[b],!1);return!0};j=function(){var b;a._a._added_events= !1;for(b in b)b.hasownproperty(b)&&a._a&&a._a.removeeventlistener(b,b[b],!1)};this._onload=function(b){var c=!!b||!a.ishtml5&&8===m&&a.duration;a.loaded=c;a.readystate=c?3:2;a._onbufferchange(0);a._io.onload&&ga(a,function(){a._io.onload.apply(a,[c])});return!0};this._onbufferchange=function(b){if(0===a.playstate||b&&a.isbuffering||!b&&!a.isbuffering)return!1;a.isbuffering=1===b;a._io.onbufferchange&&a._io.onbufferchange.apply(a);return!0};this._onsuspend=function(){a._io.onsuspend&&a._io.onsuspend.apply(a); return!0};this._onfailure=function(b,c,e){a.failures++;if(a._io.onfailure&&1===a.failures)a._io.onfailure(a,b,c,e)};this._onfinish=function(){var b=a._io.onfinish;a._onbufferchange(0);a._resetonposition(0);a.instancecount&&(a.instancecount--,a.instancecount||(x(),a.playstate=0,a.paused=!1,a.instancecount=0,a.instanceoptions={},a._io={},g(),a.ishtml5&&(a.position=0)),(!a.instancecount||a._io.multishotevents)&&b&&ga(a,function(){b.apply(a)}))};this._whileloading=function(b,c,e,d){var f=a._io;a.bytesloaded= b;a.bytestotal=c;a.duration=math.floor(e);a.bufferlength=d;a.durationestimate=!a.ishtml5&&!f.ismoviestar?f.duration?a.duration>f.duration?a.duration:f.duration:parseint(a.bytestotal/a.bytesloaded*a.duration,10):a.duration;a.ishtml5||(a.buffered=[{start:0,end:a.duration}]);(3!==a.readystate||a.ishtml5)&&f.whileloading&&f.whileloading.apply(a)};this._whileplaying=function(b,c,e,d,f){var h=a._io;if(isnan(b)||null===b)return!1;a.position=math.max(0,b);a._processonposition();!a.ishtml5&&8opera.version()?new audio(null):new audio:null,d,a,f={},h,g;h=c.audioformats;for(d in h)if(h.hasownproperty(d)&&(a="audio/"+d,f[d]=b(h[d].type),f[a]=f[d],d.match(bb)?(c.flash[d]=!0,c.flash[a]=!0):(c.flash[d]=!1,c.flash[a]=!1),h[d]&&h[d].related))for(g=h[d].related.length-1;0<=g;g--)f["audio/"+h[d].related[g]]=f[d],c.html5[h[d].related[g]]=f[d],c.flash[h[d].related[g]]=f[d];f.canplaytype=e?b:null;c.html5=w(c.html5,f);c.html5.usingflash= va();u=c.html5.usingflash;return!0};sa={};p=function(){};aa=function(b){8===m&&(1m)&&(c.flashversion=m=9);c.version=c.versionnumber+(c.html5only?" (html5-only mode)":9===m?" (as3/flash 9)": " (as2/flash 8)");8b&&(e=!0));settimeout(function(){b=c.getmoviepercent();if(e)return q=!1,g.settimeout(f,1),!1;!p&&ab&&(null===b?c.useflashblock||0===c.flashloadtimeout?c.useflashblock&&za():!c.useflashblock&&s?qa():d({type:"ontimeout",ignoreinit:!0,error:{type:"init_flashblock"}}):0!==c.flashloadtimeout&&(!c.useflashblock&&s?qa():xa(!0)))},c.flashloadtimeout)};y=function(){if(ga||!ja)return t.remove(g,"focus", y),!0;ga=ab=!0;q=!1;f();t.remove(g,"focus",y);return!0};m=function(b){if(p)return!1;if(c.html5only)return p=!0,e(),!0;var e=!0,d;if(!c.useflashblock||!c.flashloadtimeout||c.getmoviepercent())p=!0;d={type:!v&&u?"no_flash":"init_timeout"};if(y||b)c.useflashblock&&c.omc&&(c.omc.classname=i()+" "+(null===c.getmoviepercent()?"swf_timedout":"swf_error")),d({type:"ontimeout",error:d,ignoreinit:!0}),h(d),e=!1;y||(c.waitforwindowload&&!na?t.add(g,"load",e):e());return e};ma=function(){var b,e=c.setupoptions; for(b in e)e.hasownproperty(b)&&(c[b]===k?c[b]=e[b]:c[b]!==e[b]&&(c.setupoptions[b]=c[b]))};ma=function(){if(p)return!1;if(c.html5only)return p||(t.remove(g,"load",c.begindelayedinit),c.enabled=!0,m()),!0;z();try{l._externalinterfacetest(!1),oa(!0,c.flashpollinginterval||(c.usehighperformance?10:50)),c.debugmode||l._disabledebug(),c.enabled=!0,c.html5only||t.add(g,"unload",la)}catch(b){return h({type:"js_to_flash_exception",fatal:!0}),xa(!0),m(),!1}m();t.remove(g,"load",c.begindelayedinit);return!0}; g=function(){if(n)return!1;n=!0;ma();wa();!v&&c.hashtml5&&c.setup({usehtml5audio:!0,preferflash:!1});wa();!v&&u&&(ua.push(sa.needflash),c.setup({flashloadtimeout:1}));n.removeeventlistener&&n.removeeventlistener("domcontentloaded",g,!1);z();return!0};ba=function(){"complete"===n.readystate&&(g(),n.detachevent("onreadystatechange",ba));return!0};ua=function(){na=!0;t.remove(g,"load",ua)};ta=function(){if(fa&&(c.setupoptions.usehtml5audio=!0,c.setupoptions.preferflash=!1,ha||za&&!s.match(/android\s2\.3/i)))ha&& (c.ignoreflash=!0),a=!0};ta();da();t.add(g,"focus",y);t.add(g,"load",f);t.add(g,"load",ua);n.addeventlistener?n.addeventlistener("domcontentloaded",g,!1):n.attachevent?n.attachevent("onreadystatechange",ba):h({type:"no_dom2_events",fatal:!0})}var ka=null;if(void 0===g.sm2_defer||!sm2_defer)ka=new u;g.soundmanager=u;g.soundmanager=ka})(window);