/** @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.20150601 */ (function(h,g){function w(gb,w){function z(b){return c.preferflash&&a&&!c.ignoreflash&&c.flash[b]!==g&&c.flash[b]}function r(b){return function(c){var d=this._s;return d&&d._a?b.call(this,c):null}}this.setupoptions={url:gb||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, forceuseglobalhtml5audio:!1,ignoremobilerestrictions:!1,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="mp3"',"audio/mpeg","audio/mp3","audio/mpa","audio/mpa-robust"],required:!0},mp4:{related:["aac","m4a","m4b"],type:['audio/mp4; codecs="mp4a.40.2"',"audio/aac","audio/x-m4a","audio/mp4a-latm","audio/mpeg4-generic"],required:!1},ogg:{type:["audio/ogg; codecs=vorbis"],required:!1},opus:{type:["audio/ogg; codecs=opus", "audio/opus"],required:!1},wav:{type:['audio/wav; codecs="1"',"audio/wav","audio/wave","audio/x-wav"],required:!1}};this.movieid="sm2-container";this.id=w||"sm2movie";this.debugid="soundmanager-debug";this.debugurlparam=/([#?&])debug=1/i;this.versionnumber="v2.97a.20150601";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 n,c=this,oa=null,k=null,aa,u=navigator.useragent,pa=h.location.href.tostring(),p=document,pa,qa,qa,m,y=[],o=!1,p=!1,l=!1,b=!1,ra=!1,q,x,sa,ba,ta,f,h,i,ra,ua,va,ca,j,da,g,wa,r,xa,ea,k,sa,ya,ta,za,ua,s=null,aa=null,t,ba,l,fa,ga,q,u=!1,ca=!1,va,wa,xa,ha=0,v=null,ia,w=[],x,v=null,ya,ja,y,d,ka,da,za,t,hb=array.prototype.slice, z=!1,ea,a,fa,$a,c,la,ab=0,ga,ha=u.match(/(ipad|iphone|ipod)/i),ia=u.match(/android/i),e=u.match(/msie/i),ib=u.match(/webkit/i),ma=u.match(/safari/i)&&!u.match(/chrome/i),ja=u.match(/opera/i),na=u.match(/(mobile|pre\/|xoom)/i)||ha||ia,bb=!pa.match(/usehtml5audio/i)&&!pa.match(/sm2\-ignorebadua/i)&&ma&&!u.match(/silk/i)&&u.match(/os x 10_6_([3-7])/i),ka=p.hasfocus!==g?p.hasfocus():null,oa=ma&&(p.hasfocus===g||!p.hasfocus()),cb=!oa,db=/(mp3|mp4|mpa|m4a|m4b)/i,la=p.location?p.location.protocol.match(/http/i): null,jb=la?"":"http://",eb=/^\s*audio\/(?:x-)?(?:mpeg4|aac|flv|mov|mp4||m4v|m4a|m4b|mp4v|3gp|3g2)\s*(?:$|;)/i,fb="mpeg4 aac flv mov mp4 m4v f4v m4a m4b mp4v 3gp 3g2".split(" "),kb=new regexp("\\.("+fb.join("|")+")(\\?.*)?$","i");this.mimepattern=/^\s*audio\/(?:x-)?(?:mp(?:eg|3))\s*(?:$|;)/i;this.usealturl=!la;var ma;try{ma=audio!==g&&(ja&&opera!==g&&10>opera.version()?new audio(null):new audio).canplaytype!==g}catch(lb){ma=!1}this.hashtml5=ma;this.setup=function(b){var e=!c.url;b!==g&&l&&v&&c.ok(); sa(b);if(!z)if(na){if(!c.setupoptions.ignoremobilerestrictions||c.setupoptions.forceuseglobalhtml5audio)w.push(j.globalhtml5),z=!0}else c.setupoptions.forceuseglobalhtml5audio&&(w.push(j.globalhtml5),z=!0);if(!ga&&na)if(c.setupoptions.ignoremobilerestrictions)w.push(j.ignoremobile);else if(c.setupoptions.usehtml5audio=!0,c.setupoptions.preferflash=!1,ha)c.ignoreflash=!0;else if(ia&&!u.match(/android\s2\.3/i)||!ia)z=!0;b&&(e&&r&&b.url!==g&&c.begindelayedinit(),r||b.url===g||"complete"!==p.readystate|| settimeout(g,1));ga=!0;return c};this.supported=this.ok=function(){return v?l&&!b:c.usehtml5audio&&c.hashtml5};this.getmovie=function(b){return aa(b)||p[b]||h[b]};this.createsound=function(b,e){function d(){a=fa(a);c.sounds[a.id]=new n(a);c.soundids.push(a.id);return c.sounds[a.id]}var a,f=null;if(!l||!c.ok())return!1;e!==g&&(b={id:b,url:e});a=x(b);a.url=ia(a.url);a.id===g&&(a.id=c.setupoptions.idprefix+ab++);if(q(a.id,!0))return c.sounds[a.id];if(ja(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?(p(),f=a._setup_html5(),a.setposition(a._io.position),f.play()):(n=new audio(a._io.url),h=function(){t.remove(n,"ended",h);a._onfinish(a);ka(n);n=null},na=function(){t.remove(n,"canplay",na);try{n.currenttime= a._io.position/1e3}catch(b){}n.play()},t.add(n,"ended",h),a._io.volume!==g&&(n.volume=math.max(0,math.min(1,a._io.volume/100))),a.muted&&(n.muted=!0),a._io.position?t.add(n,"canplay",na):n.play()):(f=k._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),y(),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(),m()):(k._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||(k._setautoplay(a.id,b),b&&(a.instancecount||1!==a.readystate||a.instancecount++))};this.getautoplay=function(){return a._io.autoplay};this.setposition=function(b){b===g&&(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)b=9===m?a.position:b,a.readystate&&2!==a.readystate&&k._setposition(a.id,b,a.paused||!a.playstate,a._io.multishot);else 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)}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(),m()):(b||b===g)&&k._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(),p()):(b.ismoviestar&&!b.serverurl&&a.setposition(a.position),k._pause(a.id,b.multishot));!u&&b.onplay?(b.onplay.apply(a),u=!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/1e3:a.position}),a;a.paused?a.resume():a.pause();return a};this.setpan=function(b,c){b===g&&(b=0);c===g&&(c=!1);a.ishtml5||k._setpan(a.id,b);a._io.pan=b;c||(a.pan=b,a.options.pan=b);return a};this.setvolume=function(b,e){b===g&&(b=100);e===g&&(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))):k._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):k._setvolume(a.id,0);return a};this.unmute=function(){a.muted=!1;var b=a._io.volume!==g;a.ishtml5?a._a&&(a._a.muted=!1):k._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){l.push({position:parseint(b,10),method:c,scope:e!==g?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;0<=b;b--)c=l[b],!c.fired&&a.position>=c.position&&(c.fired=!0,v++,c.method.apply(c.scope,[c.position]));return!0};this._resetonposition=function(a){var b,c;b=l.length;if(!b)return!1;for(--b;0<=b;b--)c=l[b],c.fired&&a<=c.position&&(c.fired=!1,v--);return!0};b=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};r=function(){var b,c=a._io.onposition;if(c)for(b in c)if(c.hasownproperty(b))a.onposition(parseint(b,10),c[b])};y=function(){var b,c=a._io.onposition;if(c)for(b in c)c.hasownproperty(b)&&a.clearonposition(parseint(b,10))};p=function(){a.ishtml5&&va(a)};m=function(){a.ishtml5&&wa(a)};f=function(b){b||(l=[],v=0);u=!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,g={};if(a._hastimer||b)return a._a&&(b||(0opera.version()?new audio(null):new audio,c=a._a,c._called_load=!1,z&&(oa=c);a.ishtml5=!0;a._a=c;c._s=a;n();a._apply_loop(c,b.loops);b.autoload||b.autoplay?a.load():(c.autobuffer=!1,c.preload="auto");return c};n=function(){if(a._a._added_events)return!1; var b;a._a._added_events=!0;for(b in c)c.hasownproperty(b)&&a._a&&a._a.addeventlistener(b,c[b],!1);return!0};h=function(){var b;a._a._added_events=!1;for(b in c)c.hasownproperty(b)&&a._a&&a._a.removeeventlistener(b,c[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&&la(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,[b]);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(b,c,e)};this._onwarning=function(b,c,e){if(a._io.onwarning)a._io.onwarning(b,c,e)};this._onfinish=function(){var b=a._io.onfinish;a._onbufferchange(0);a._resetonposition(0);a.instancecount&&(a.instancecount--,a.instancecount||(y(),a.playstate= 0,a.paused=!1,a.instancecount=0,a.instanceoptions={},a._io={},m(),a.ishtml5&&(a.position=0)),(!a.instancecount||a._io.multishotevents)&&b&&la(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?a.duration:f.duration?a.duration>f.duration?a.duration:f.duration:parseint(a.bytestotal/a.bytesloaded*a.duration,10);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 n=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={},n,h;n=c.audioformats;for(d in n)if(n.hasownproperty(d)&& (a="audio/"+d,f[d]=b(n[d].type),f[a]=f[d],d.match(db)?(c.flash[d]=!0,c.flash[a]=!0):(c.flash[d]=!1,c.flash[a]=!1),n[d]&&n[d].related))for(h=n[d].related.length-1;0<=h;h--)f["audio/"+n[d].related[h]]=f[d],c.html5[n[d].related[h]]=f[d],c.flash[n[d].related[h]]=f[d];f.canplaytype=e?b:null;c.html5=x(c.html5,f);c.html5.usingflash=ya();v=c.html5.usingflash;return!0};j={};t=function(){};fa=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)");8'}if(o&&p)return!1;if(c.html5only)return va(),c.omc=aa(c.movieid),qa(),p=o=!0,!1;var a=e||c.url,f=c.alturl||a,h=xa(),k=l(),m=null,m=p.getelementsbytagname("html")[0],l,r,q,m=m&&m.dir&&m.dir.match(/rtl/i);b=b===g?c.id:b;va();c.url=ua(la?a:f);e=c.url;c.wmode=!c.wmode&&c.usehighperformance?"transparent":c.wmode; null!==c.wmode&&(u.match(/msie 8/i)||!e&&!c.usehighperformance)&&navigator.platform.match(/win32|win64/i)&&(w.push(j.spcwmode),c.wmode=null);h={name:b,id:b,src:e,quality:"high",allowscriptaccess:c.allowscriptaccess,bgcolor:c.bgcolor,pluginspage:jb+"www.macromedia.com/go/getflashplayer",title:"js/flash audio component (soundmanager 2)",type:"application/x-shockwave-flash",wmode:c.wmode,haspriority:"true"};c.debugflash&&(h.flashvars="debug=1");c.wmode||delete h.wmode;if(e)a=p.createelement("div"),r= ['',d("movie",e),d("allowscriptaccess",c.allowscriptaccess),d("quality",h.quality),c.wmode?d("wmode",c.wmode):"",d("bgcolor",c.bgcolor),d("haspriority","true"),c.debugflash?d("flashvars",h.flashvars):"",""].join("");else for(l in a=p.createelement("embed"),h)h.hasownproperty(l)&& a.setattribute(l,h[l]);ya();k=l();if(h=xa())if(c.omc=aa(c.movieid)||p.createelement("div"),c.omc.id)q=c.omc.classname,c.omc.classname=(q?q+" ":"moviecontainer")+(k?" "+k:""),c.omc.appendchild(a),e&&(l=c.omc.appendchild(p.createelement("div")),l.classname="sm2-object-box",l.innerhtml=r),p=!0;else{c.omc.id=c.movieid;c.omc.classname="moviecontainer "+k;l=k=null;c.useflashblock||(c.usehighperformance?k={position:"fixed",width:"8px",height:"8px",bottom:"0px",left:"0px",overflow:"hidden"}:(k={position:"absolute", width:"6px",height:"6px",top:"-9999px",left:"-9999px"},m&&(k.left=math.abs(parseint(k.left,10))+"px")));ib&&(c.omc.style.zindex=1e4);if(!c.debugflash)for(q in k)k.hasownproperty(q)&&(c.omc.style[q]=k[q]);try{e||c.omc.appendchild(a),h.appendchild(c.omc),e&&(l=c.omc.appendchild(p.createelement("div")),l.classname="sm2-object-box",l.innerhtml=r),p=!0}catch(t){throw error(t("domerror")+" \n"+t.tostring());}}return o=!0};da=function(){if(c.html5only)return ea(),!1;if(k||!c.url)return!1;k=c.getmovie(c.id); k||(s?(e?c.omc.innerhtml=aa:c.omc.appendchild(s),s=null,o=!0):ea(c.id,c.url),k=c.getmovie(c.id));"function"===typeof c.oninitmovie&&settimeout(c.oninitmovie,1);return!0};i=function(){settimeout(ra,1e3)};ua=function(){h.settimeout(function(){c.setup({preferflash:!1}).reboot();c.didflashblock=!0;c.begindelayedinit()},1)};ra=function(){var b,e=!1;if(!c.url||u)return!1;u=!0;t.remove(h,"load",i);if(a&&oa&&!ka)return!1;l||(b=c.getmoviepercent(),0b&&(e=!0));settimeout(function(){b=c.getmoviepercent(); if(e)return u=!1,h.settimeout(i,1),!1;!l&&cb&&(null===b?c.useflashblock||0===c.flashloadtimeout?c.useflashblock&&ba():!c.useflashblock&&x?ua():f({type:"ontimeout",ignoreinit:!0,error:{type:"init_flashblock"}}):0!==c.flashloadtimeout&&(!c.useflashblock&&x?ua():za(!0)))},c.flashloadtimeout)};ca=function(){if(ka||!oa)return t.remove(h,"focus",ca),!0;ka=cb=!0;u=!1;i();t.remove(h,"focus",ca);return!0};q=function(b){if(l)return!1;if(c.html5only)return l=!0,h(),!0;var e=!0,d;c.useflashblock&&c.flashloadtimeout&& !c.getmoviepercent()||(l=!0);d={type:!a&&v?"no_flash":"init_timeout"};if(b||b)c.useflashblock&&c.omc&&(c.omc.classname=l()+" "+(null===c.getmoviepercent()?"swf_timedout":"swf_error")),f({type:"ontimeout",error:d,ignoreinit:!0}),k(d),e=!1;b||(c.waitforwindowload&&!ra?t.add(h,"load",h):h());return e};qa=function(){var b,e=c.setupoptions;for(b in e)e.hasownproperty(b)&&(c[b]===g?c[b]=e[b]:c[b]!==e[b]&&(c.setupoptions[b]=c[b]))};qa=function(){if(l)return!1;if(c.html5only)return l||(t.remove(h,"load", c.begindelayedinit),c.enabled=!0,q()),!0;da();try{k._externalinterfacetest(!1),sa(!0,c.flashpollinginterval||(c.usehighperformance?10:50)),c.debugmode||k._disabledebug(),c.enabled=!0,c.html5only||t.add(h,"unload",pa)}catch(b){return k({type:"js_to_flash_exception",fatal:!0}),za(!0),q(),!1}q();t.remove(h,"load",c.begindelayedinit);return!0};g=function(){if(r)return!1;r=!0;qa();ya();!a&&c.hashtml5&&c.setup({usehtml5audio:!0,preferflash:!1});za();!a&&v&&(w.push(j.needflash),c.setup({flashloadtimeout:1})); p.removeeventlistener&&p.removeeventlistener("domcontentloaded",g,!1);da();return!0};da=function(){"complete"===p.readystate&&(g(),p.detachevent("onreadystatechange",da));return!0};wa=function(){ra=!0;g();t.remove(h,"load",wa)};fa();t.add(h,"focus",ca);t.add(h,"load",i);t.add(h,"load",wa);p.addeventlistener?p.addeventlistener("domcontentloaded",g,!1):p.attachevent?p.attachevent("onreadystatechange",da):k({type:"no_dom2_events",fatal:!0})}if(!h||!h.document)throw error("soundmanager requires a browser with window and document objects."); var n=null;h.sm2_defer!==g&&sm2_defer||(n=new w);"object"===typeof module&&module&&"object"===typeof module.exports?(module.exports.soundmanager=w,module.exports.soundmanager=n):"function"===typeof define&&define.amd&&define(function(){return{constructor:w,getinstance:function(g){!h.soundmanager&&g instanceof function&&(g=g(w),g instanceof w&&(h.soundmanager=g));return h.soundmanager}}});h.soundmanager=w;h.soundmanager=n})(window);