
function SoundManager(smURL,smID){this.flashVersion=9;this.debugMode=true;this.useConsole=true;this.consoleOnly=false;this.waitForWindowLoad=false;this.nullURL='data/null.mp3';this.allowPolling=true;this.defaultOptions={'autoLoad':false,'stream':true,'autoPlay':false,'onid3':null,'onload':null,'whileloading':null,'onplay':null,'onpause':null,'onresume':null,'whileplaying':null,'onstop':null,'onfinish':null,'onbeforefinish':null,'onbeforefinishtime':5000,'onbeforefinishcomplete':null,'onjustbeforefinish':null,'onjustbeforefinishtime':200,'multiShot':true,'position':null,'pan':0,'volume':100};this.flash9Options={usePeakData:false,useWaveformData:false,useEQData:false};this.flashBlockHelper={enabled:false,message:['<div id="sm2-flashblock" style="position:fixed;left:0px;top:0px;width:100%;min-height:24px;z-index:9999;background:#666;color:#fff;font-family:helvetica,verdana,arial;font-size:11px;border-bottom:1px solid #333;opacity:0.95">','<div style="float:right;display:inline;margin-right:0.5em;color:#999;line-height:24px">[<a href="#noflashblock" onclick="document.getElementById(\'sm2-flashblock\').style.display=\'none\'" title="Go away! :)" style="color:#fff;text-decoration:none">x</a>]</div>','<div id="sm2-flashmovie" style="float:left;display:inline;margin-left:0.5em;margin-right:0.5em"><!-- [flash] --></div>','<div style="padding-left:0.5em;padding-right:0.5em;line-height:24px">Using Flashblock? Please right-click the icon and "<b>allow flash from this site</b>" to enable sound/audio features, and then reload this page.</div>','</div>']};var self=this;this.version=null;this.versionNumber='V2.77a.20080901';this.movieURL=null;this.url=null;this.swfLoaded=false;this.enabled=false;this.o=null;this.id=(smID||'sm2movie');this.oMC=null;this.sounds=[];this.soundIDs=[];this.muted=false;this.isIE=(navigator.userAgent.match(/MSIE/i));this.isSafari=(navigator.userAgent.match(/safari/i));this.isGecko=(navigator.userAgent.match(/gecko/i));this.debugID='soundmanager-debug';this._debugOpen=true;this._didAppend=false;this._appendSuccess=false;this._didInit=false;this._disabled=false;this._windowLoaded=false;this._hasConsole=(typeof console!='undefined'&&typeof console.log!='undefined');this._debugLevels=['log','info','warn','error'];this._defaultFlashVersion=8;this.features={peakData:false,waveformData:false,eqData:false};this.sandbox={'type':null,'types':{'remote':'remote (domain-based) rules','localWithFile':'local with file access (no internet access)','localWithNetwork':'local with network (internet access only, no local access)','localTrusted':'local, trusted (local + internet access)'},'description':null,'noRemote':null,'noLocal':null};this._setVersionInfo=function(){if(self.flashVersion!=8&&self.flashVersion!=9){alert('soundManager.flashVersion must be 8 or 9. "'+self.flashVersion+'" is invalid. Reverting to '+self._defaultFlashVersion+'.');self.flashVersion=self._defaultFlashVersion;}
self.version=self.versionNumber+(self.flashVersion==9?' (AS3/Flash 9)':' (AS2/Flash 8)');self.movieURL=(self.flashVersion==8?'soundmanager2.swf':'soundmanager2_flash9.swf');self.features.peakData=self.features.waveformData=self.features.eqData=(self.flashVersion==9);}
this._overHTTP=(document.location?document.location.protocol.match(/http/i):null);this._waitingforEI=false;this._initPending=false;this._tryInitOnFocus=(this.isSafari&&typeof document.hasFocus=='undefined');this._isFocused=(typeof document.hasFocus!='undefined'?document.hasFocus():null);this._okToDisable=!this._tryInitOnFocus;var flashCPLink='http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html';this.supported=function(){return(self._didInit&&!self._disabled);};this.getMovie=function(smID){return self.isIE?window[smID]:(self.isSafari?document.getElementById(smID)||document[smID]:document.getElementById(smID));};this.loadFromXML=function(sXmlUrl){try{self.o._loadFromXML(sXmlUrl);}catch(e){self._failSafely();return true;};};this.createSound=function(oOptions){if(!self._didInit)throw new Error('soundManager.createSound(): Not loaded yet - wait for soundManager.onload() before calling sound-related methods');if(arguments.length==2){oOptions={'id':arguments[0],'url':arguments[1]};};var thisOptions=self._mergeObjects(oOptions);self._writeDebug('soundManager.createSound(): '+thisOptions.id+' ('+thisOptions.url+')',1);if(self._idCheck(thisOptions.id,true)){self._writeDebug('soundManager.createSound(): '+thisOptions.id+' exists',1);return self.sounds[thisOptions.id];};self.sounds[thisOptions.id]=new SMSound(self,thisOptions);self.soundIDs[self.soundIDs.length]=thisOptions.id;if(self.flashVersion==8){self.o._createSound(thisOptions.id,thisOptions.onjustbeforefinishtime);}else{self.o._createSound(thisOptions.id,thisOptions.url,thisOptions.onjustbeforefinishtime,thisOptions.usePeakData,thisOptions.useWaveformData,thisOptions.useEQData);};if(thisOptions.autoLoad||thisOptions.autoPlay)window.setTimeout(function(){self.sounds[thisOptions.id].load(thisOptions);},20);if(thisOptions.autoPlay){if(self.flashVersion==8){self.sounds[thisOptions.id].playState=1;}else{self.sounds[thisOptions.id].play();}}
return self.sounds[thisOptions.id];};this.destroySound=function(sID,bFromSound){if(!self._idCheck(sID))return false;for(var i=0;i<self.soundIDs.length;i++){if(self.soundIDs[i]==sID){self.soundIDs.splice(i,1);continue;};};self.sounds[sID].unload();if(!bFromSound){self.sounds[sID].destruct();};delete self.sounds[sID];};this.load=function(sID,oOptions){if(!self._idCheck(sID))return false;self.sounds[sID].load(oOptions);};this.unload=function(sID){if(!self._idCheck(sID))return false;self.sounds[sID].unload();};this.play=function(sID,oOptions){if(!self._idCheck(sID)){if(typeof oOptions!='Object')oOptions={url:oOptions};if(oOptions&&oOptions.url){self._writeDebug('soundController.play(): attempting to create "'+sID+'"',1);oOptions.id=sID;self.createSound(oOptions);}else{return false;};};self.sounds[sID].play(oOptions);};this.start=this.play;this.setPosition=function(sID,nMsecOffset){if(!self._idCheck(sID))return false;self.sounds[sID].setPosition(nMsecOffset);};this.stop=function(sID){if(!self._idCheck(sID))return false;self._writeDebug('soundManager.stop('+sID+')',1);self.sounds[sID].stop();};this.stopAll=function(){self._writeDebug('soundManager.stopAll()',1);for(var oSound in self.sounds){if(self.sounds[oSound]instanceof SMSound)self.sounds[oSound].stop();};};this.pause=function(sID){if(!self._idCheck(sID))return false;self.sounds[sID].pause();};this.resume=function(sID){if(!self._idCheck(sID))return false;self.sounds[sID].resume();};this.togglePause=function(sID){if(!self._idCheck(sID))return false;self.sounds[sID].togglePause();};this.setPan=function(sID,nPan){if(!self._idCheck(sID))return false;self.sounds[sID].setPan(nPan);};this.setVolume=function(sID,nVol){if(!self._idCheck(sID))return false;self.sounds[sID].setVolume(nVol);};this.mute=function(sID){if(typeof sID!='string')sID=null;if(!sID){var o=null;self._writeDebug('soundManager.mute(): Muting all sounds');for(var i=self.soundIDs.length;i--;){self.sounds[self.soundIDs[i]].mute();}
self.muted=true;}else{if(!self._idCheck(sID))return false;self._writeDebug('soundManager.mute(): Muting "'+sID+'"');self.sounds[sID].mute();}};this.unmute=function(sID){if(typeof sID!='string')sID=null;if(!sID){var o=null;self._writeDebug('soundManager.unmute(): Unmuting all sounds');for(var i=self.soundIDs.length;i--;){self.sounds[self.soundIDs[i]].unmute();}
self.muted=false;}else{if(!self._idCheck(sID))return false;self._writeDebug('soundManager.unmute(): Unmuting "'+sID+'"');self.sounds[sID].unmute();}};this.setPolling=function(bPolling){if(!self.o||!self.allowPolling)return false;self.o._setPolling(bPolling);};this.disable=function(bUnload){if(self._disabled)return false;if(!bUnload&&self.flashBlockHelper.enabled){self.handleFlashBlock();}
self._disabled=true;self._writeDebug('soundManager.disable(): Disabling all functions - future calls will return false.',1);for(var i=self.soundIDs.length;i--;){self._disableObject(self.sounds[self.soundIDs[i]]);};self.initComplete();self._disableObject(self);};this.handleFlashBlock=function(bForce){function showNagbar(){self._writeDebug('soundManager.handleFlashBlock(): Showing info bar');var o=document.getElementById('sm2-flashblock');if(!o){try{var oC=document.getElementById('sm2-container');if(oC){oC.parentNode.removeChild(oC);}
var oBar=document.createElement('div');oBar.innerHTML=self.flashBlockHelper.message.join('').replace('<!-- [flash] -->',self._html);self._getDocument().appendChild(oBar);window.setTimeout(function(){var oIco=document.getElementById('sm2-flashmovie').getElementsByTagName('div')[0];oIco.style.background='url(chrome://flashblock/skin/flash-disabled-16.png) 0px 0px no-repeat';oIco.style.border='none';oIco.style.minWidth='';oIco.style.minHeight='';oIco.style.width='16px';oIco.style.height='16px';oIco.style.marginTop='4px';oIco.onmouseover=null;oIco.onmouseout=null;oIco.onclick=null;document.getElementById('sm2-flashmovie').onclick=oIco.onclick;},1);}catch(e){self._writeDebug('soundManager.handleFlashblock: DOM append failed - may be XHTML-related.');return false;}}else{o.style.display='block';};this.onload=null;};if(bForce){showNagbar();return false;};if(!self.isGecko)return false;if(window.location.toString().match(/\#noflashblock/i)){self._writeDebug('flashBlock nagbar disabled by URL - exiting');return false;}
var chromeURL='chrome://flashblock/skin/flash-disabled-16.png';var img=new Image();img.style.position='absolute';img.style.left='-256px';img.style.top='-256px';img.onload=showNagbar;img.onerror=function(){this.onerror=null;}
img.src=chromeURL;self._getDocument().appendChild(img);};this.getSoundById=function(sID,suppressDebug){if(!sID)throw new Error('SoundManager.getSoundById(): sID is null/undefined');var result=self.sounds[sID];if(!result&&!suppressDebug){self._writeDebug('"'+sID+'" is an invalid sound ID.',2);};return result;};this.onload=function(){soundManager._writeDebug('<em>Warning</em>: soundManager.onload() is undefined.',2);};this.onerror=function(){};this._idCheck=this.getSoundById;this._disableObject=function(o){for(var oProp in o){if(typeof o[oProp]=='function'&&typeof o[oProp]._protected=='undefined')o[oProp]=function(){return false;};};oProp=null;};this._failSafely=function(){var fpgssTitle='You may need to whitelist this location/domain eg. file:///C:/ or C:/ or mysite.com, or set ALWAYS ALLOW under the Flash Player Global Security Settings page. The latter is probably less-secure.';var flashCPL='<a href="'+flashCPLink+'" title="'+fpgssTitle+'">view/edit</a>';var FPGSS='<a href="'+flashCPLink+'" title="Flash Player Global Security Settings">FPGSS</a>';if(!self._disabled){self._writeDebug('soundManager: Failed to initialise.',2);self.disable();};};this._normalizeMovieURL=function(smURL){if(smURL){if(smURL.match(/\.swf/)){smURL=smURL.substr(0,smURL.lastIndexOf('.swf'));}
if(smURL.lastIndexOf('/')!=smURL.length-1){smURL=smURL+'/';}}
return(smURL&&smURL.lastIndexOf('/')!=-1?smURL.substr(0,smURL.lastIndexOf('/')+1):'./')+self.movieURL;};this._getDocument=function(){return(document.body?document.body:(document.documentElement?document.documentElement:document.getElementsByTagName('div')[0]));};this._getDocument._protected=true;this._createMovie=function(smID,smURL){if(self._didAppend&&self._appendSuccess)return false;if(window.location.href.indexOf('debug=1')+1)self.debugMode=true;self._didAppend=true;self._setVersionInfo();self.url=self._normalizeMovieURL(smURL?smURL:self.url);smURL=self.url;var htmlEmbed='<embed name="'+smID+'" id="'+smID+'" src="'+smURL+'" width="1" height="1" quality="high" allowScriptAccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>';var htmlObject='<object id="'+smID+'" data="'+smURL+'" type="application/x-shockwave-flash" width="1" height="1"><param name="movie" value="'+smURL+'" /><param name="AllowScriptAccess" value="always" /><!-- --></object>';html=(!self.isIE?htmlEmbed:htmlObject);self._html=html;var toggleElement='<div id="'+self.debugID+'-toggle" style="position:fixed;_position:absolute;right:0px;bottom:0px;_top:0px;width:1.2em;height:1.2em;line-height:1.2em;margin:2px;padding:0px;text-align:center;border:1px solid #999;cursor:pointer;background:#fff;color:#333;z-index:706" title="Toggle SM2 debug console" onclick="soundManager._toggleDebug()">-</div>';var debugHTML='<div id="'+self.debugID+'" style="display:'+(self.debugMode&&((!self._hasConsole||!self.useConsole)||(self.useConsole&&self._hasConsole&&!self.consoleOnly))?'block':'none')+';opacity:0.85"></div>';var appXHTML='soundManager._createMovie(): appendChild/innerHTML set failed. May be app/xhtml+xml DOM-related.';var sHTML='<div id="sm2-container" style="position:absolute;left:-256px;top:-256px;width:1px;height:1px" class="movieContainer">'+html+'</div>'+(self.debugMode&&((!self._hasConsole||!self.useConsole)||(self.useConsole&&self._hasConsole&&!self.consoleOnly))&&!document.getElementById(self.debugID)?'x'+debugHTML+toggleElement:'');var oTarget=self._getDocument();if(oTarget){self.oMC=document.createElement('div');self.oMC.id='sm2-container';self.oMC.className='movieContainer';self.oMC.style.position='absolute';self.oMC.style.left='-256px';self.oMC.style.width='1px';self.oMC.style.height='1px';try{oTarget.appendChild(self.oMC);self.oMC.innerHTML=html;self._appendSuccess=true;}catch(e){throw new Error(appXHTML);};if(!document.getElementById(self.debugID)&&((!self._hasConsole||!self.useConsole)||(self.useConsole&&self._hasConsole&&!self.consoleOnly))){var oDebug=document.createElement('div');oDebug.id=self.debugID;oDebug.style.display=(self.debugMode?'block':'none');if(self.debugMode){try{var oD=document.createElement('div');oTarget.appendChild(oD);oD.innerHTML=toggleElement;}catch(e){throw new Error(appXHTML);};};oTarget.appendChild(oDebug);};oTarget=null;};self._writeDebug('-- SoundManager 2 '+self.version+' --',1);self._writeDebug('soundManager._createMovie(): Trying to load '+smURL,1);};this._writeDebug=function(sText,sType,bTimestamp){if(!self.debugMode)return false;if(typeof bTimestamp!='undefined'&&bTimestamp){sText=sText+' | '+new Date().getTime();};if(self._hasConsole&&self.useConsole){var sMethod=self._debugLevels[sType];if(typeof console[sMethod]!='undefined'){console[sMethod](sText);}else{console.log(sText);};if(self.useConsoleOnly)return true;};var sDID='soundmanager-debug';try{var o=document.getElementById(sDID);if(!o)return false;var oItem=document.createElement('div');sText=sText.replace(/\n/g,'<br />');if(typeof sType=='undefined'){var sType=0;}else{sType=parseInt(sType);};oItem.innerHTML=sText;if(sType){if(sType>=2)oItem.style.fontWeight='bold';if(sType==3)oItem.style.color='#ff3333';};o.insertBefore(oItem,o.firstChild);}catch(e){};o=null;};this._writeDebug._protected=true;this._writeDebugAlert=function(sText){alert(sText);};if(window.location.href.indexOf('debug=alert')+1&&self.debugMode){self._writeDebug=self._writeDebugAlert;};this._toggleDebug=function(){var o=document.getElementById(self.debugID);var oT=document.getElementById(self.debugID+'-toggle');if(!o)return false;if(self._debugOpen){oT.innerHTML='+';o.style.display='none';}else{oT.innerHTML='-';o.style.display='block';};self._debugOpen=!self._debugOpen;};this._toggleDebug._protected=true;this._debug=function(){self._writeDebug('--- soundManager._debug(): Current sound objects ---',1);for(var i=0,j=self.soundIDs.length;i<j;i++){self.sounds[self.soundIDs[i]]._debug();};};this._mergeObjects=function(oMain,oAdd){var o1={};for(var i in oMain){o1[i]=oMain[i];}
var o2=(typeof oAdd=='undefined'?self.defaultOptions:oAdd);for(var o in o2){if(typeof o1[o]=='undefined')o1[o]=o2[o];};return o1;};this.createMovie=function(sURL){if(sURL)self.url=sURL;self._initMovie();};this.go=this.createMovie;this._initMovie=function(){if(self.o)return false;self.o=self.getMovie(self.id);if(!self.o){self._createMovie(self.id,self.url);self.o=self.getMovie(self.id);};if(self.o){self._writeDebug('soundManager._initMovie(): Got '+self.o.nodeName+' element ('+(self._didAppend?'created via JS':'static HTML')+')',1);self._writeDebug('soundManager._initMovie(): Waiting for ExternalInterface call from Flash..');};};this.waitForExternalInterface=function(){if(self._waitingForEI)return false;self._waitingForEI=true;if(self._tryInitOnFocus&&!self._isFocused){self._writeDebug('soundManager: Special case: Flash may not have started due to non-focused tab (Safari is lame), and/or focus cannot be detected. Waiting for focus-related event..');return false;};if(!self._didInit){self._writeDebug('soundManager: Getting impatient, still waiting for Flash.. ;)');};setTimeout(function(){if(!self._didInit){self._writeDebug('soundManager: No Flash response within reasonable time after document load.\nPossible causes: Flash version under 8, no support, or Flash security denying JS-Flash communication.',2);if(!self._overHTTP){self._writeDebug('soundManager: Loading this page from local/network file system (not over HTTP?) Flash security likely restricting JS-Flash access. Consider adding current URL to "trusted locations" in the Flash player security settings manager at '+flashCPLink+', or simply serve this content over HTTP.',2);};};if(!self._didInit&&self._okToDisable)self._failSafely();},750);};this.handleFocus=function(){if(self._isFocused||!self._tryInitOnFocus)return true;self._okToDisable=true;self._isFocused=true;self._writeDebug('soundManager.handleFocus()');if(self._tryInitOnFocus){window.removeEventListener('mousemove',self.handleFocus,false);};self._waitingForEI=false;setTimeout(self.waitForExternalInterface,500);if(window.removeEventListener){window.removeEventListener('focus',self.handleFocus,false);}else if(window.detachEvent){window.detachEvent('onfocus',self.handleFocus);};};this.initComplete=function(){if(self._didInit)return false;self._didInit=true;self._writeDebug('-- SoundManager 2 '+(self._disabled?'failed to load':'loaded')+' ('+(self._disabled?'security/load error':'OK')+') --',1);if(self._disabled){self._writeDebug('soundManager.initComplete(): calling soundManager.onerror()',1);self.onerror.apply(window);return false;};if(self.waitForWindowLoad&&!self._windowLoaded){self._writeDebug('soundManager: Waiting for window.onload()');if(window.addEventListener){window.addEventListener('load',self.initUserOnload,false);}else if(window.attachEvent){window.attachEvent('onload',self.initUserOnload);};return false;}else{if(self.waitForWindowLoad&&self._windowLoaded){self._writeDebug('soundManager: Document already loaded');};self.initUserOnload();};};this.initUserOnload=function(){self._writeDebug('soundManager.initComplete(): calling soundManager.onload()',1);try{self.onload.apply(window);}catch(e){self._writeDebug('soundManager.onload() threw an exception: '+e.message,2);setTimeout(function(){throw new Error(e)},20);return false;};self._writeDebug('soundManager.onload() complete',1);};this.init=function(){self._writeDebug('-- soundManager.init() --');self._initMovie();if(self._didInit){self._writeDebug('soundManager.init(): Already called?');return false;};if(window.removeEventListener){window.removeEventListener('load',self.beginDelayedInit,false);}else if(window.detachEvent){window.detachEvent('onload',self.beginDelayedInit);};try{self._writeDebug('Attempting to call JS -&gt; Flash..');self.o._externalInterfaceTest(false);if(!self.allowPolling)self._writeDebug('Polling (whileloading/whileplaying support) is disabled.',1);self.setPolling(true);if(!self.debugMode)self.o._disableDebug();self.enabled=true;}catch(e){self._failSafely();self.initComplete();return false;};self.initComplete();};this.beginDelayedInit=function(){self._writeDebug('soundManager.beginDelayedInit(): Document loaded');self._windowLoaded=true;setTimeout(self.waitForExternalInterface,500);setTimeout(self.beginInit,20);};this.beginInit=function(){if(self._initPending)return false;self.createMovie();self._initMovie();self._initPending=true;return true;};this.domContentLoaded=function(){self._writeDebug('soundManager.domContentLoaded()');if(document.removeEventListener)document.removeEventListener('DOMContentLoaded',self.domContentLoaded,false);self.go();};this._externalInterfaceOK=function(){if(self.swfLoaded)return false;self._writeDebug('soundManager._externalInterfaceOK()');self.swfLoaded=true;self._tryInitOnFocus=false;if(self.isIE){setTimeout(self.init,100);}else{self.init();};};this._setSandboxType=function(sandboxType){var sb=self.sandbox;sb.type=sandboxType;sb.description=sb.types[(typeof sb.types[sandboxType]!='undefined'?sandboxType:'unknown')];self._writeDebug('Flash security sandbox type: '+sb.type);if(sb.type=='localWithFile'){sb.noRemote=true;sb.noLocal=false;self._writeDebug('Flash security note: Network/internet URLs will not load due to security restrictions. Access can be configured via Flash Player Global Security Settings Page: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html',2);}else if(sb.type=='localWithNetwork'){sb.noRemote=false;sb.noLocal=true;}else if(sb.type=='localTrusted'){sb.noRemote=false;sb.noLocal=false;};};this.destruct=function(){self._writeDebug('soundManager.destruct()');self.disable(true);};function SMSound(oSM,oOptions){var self=this;var sm=oSM;this.sID=oOptions.id;this.url=oOptions.url;this.options=sm._mergeObjects(oOptions);this.instanceOptions=this.options;this._debug=function(){if(sm.debugMode){var stuff=null;var msg=[];var sF=null;var sfBracket=null;var maxLength=64;for(stuff in self.options){if(self.options[stuff]!=null){if(self.options[stuff]instanceof Function){sF=self.options[stuff].toString();sF=sF.replace(/\s\s+/g,' ');sfBracket=sF.indexOf('{');msg[msg.length]=' '+stuff+': {'+sF.substr(sfBracket+1,(Math.min(Math.max(sF.indexOf('\n')-1,maxLength),maxLength))).replace(/\n/g,'')+'... }';}else{msg[msg.length]=' '+stuff+': '+self.options[stuff];};};};sm._writeDebug('SMSound() merged options: {\n'+msg.join(', \n')+'\n}');};};this._debug();this.id3={};self.resetProperties=function(bLoaded){self.bytesLoaded=null;self.bytesTotal=null;self.position=null;self.duration=null;self.durationEstimate=null;self.loaded=false;self.loadSuccess=null;self.playState=0;self.paused=false;self.readyState=0;self.muted=false;self.didBeforeFinish=false;self.didJustBeforeFinish=false;self.instanceOptions={};self.instanceCount=0;self.peakData={left:0,right:0};self.waveformData=[];self.eqData=[];};self.resetProperties();this.load=function(oOptions){self.instanceOptions=sm._mergeObjects(oOptions);if(typeof self.instanceOptions.url=='undefined')self.instanceOptions.url=self.url;sm._writeDebug('soundManager.load(): '+self.instanceOptions.url,1);if(self.instanceOptions.url==self.url&&self.readyState!=0&&self.readyState!=2){sm._writeDebug('soundManager.load(): current URL already assigned.',1);return false;}
self.loaded=false;self.loadSuccess=null;self.readyState=1;self.playState=(oOptions.autoPlay?1:0);try{if(sm.flashVersion==8){sm.o._load(self.sID,self.instanceOptions.url,self.instanceOptions.stream,self.instanceOptions.autoPlay,(self.instanceOptions.whileloading?1:0));}else{sm.o._load(self.sID,self.instanceOptions.url,self.instanceOptions.stream?true:false,self.instanceOptions.autoPlay?true:false);};}catch(e){sm._writeDebug('SMSound.load(): JS-Flash communication failed.',2);sm.onerror();sm.disable();};};this.unload=function(){if(self.readyState!=0){sm._writeDebug('SMSound.unload(): "'+self.sID+'"');self.setPosition(0);sm.o._unload(self.sID,sm.nullURL);self.resetProperties();}};this.destruct=function(){sm._writeDebug('SMSound.destruct(): "'+self.sID+'"');sm.o._destroySound(self.sID);sm.destroySound(self.sID,true);}
this.play=function(oOptions){if(!oOptions)oOptions={};self.instanceOptions=sm._mergeObjects(oOptions,self.instanceOptions);self.instanceOptions=sm._mergeObjects(self.instanceOptions,self.options);if(self.playState==1){var allowMulti=self.instanceOptions.multiShot;if(!allowMulti){sm._writeDebug('SMSound.play(): "'+self.sID+'" already playing (one-shot)',1);return false;}else{sm._writeDebug('SMSound.play(): "'+self.sID+'" already playing (multi-shot)',1);};};if(!self.loaded){if(self.readyState==0){sm._writeDebug('SMSound.play(): Attempting to load "'+self.sID+'"',1);self.instanceOptions.stream=true;self.instanceOptions.autoPlay=true;self.load(self.instanceOptions);}else if(self.readyState==2){sm._writeDebug('SMSound.play(): Could not load "'+self.sID+'" - exiting',2);return false;}else{sm._writeDebug('SMSound.play(): "'+self.sID+'" is loading - attempting to play..',1);};}else{sm._writeDebug('SMSound.play(): "'+self.sID+'"');};if(self.paused){self.resume();}else{self.playState=1;if(!self.instanceCount||sm.flashVersion==9)self.instanceCount++;self.position=(typeof self.instanceOptions.position!='undefined'&&!isNaN(self.instanceOptions.position)?self.instanceOptions.position:0);if(self.instanceOptions.onplay)self.instanceOptions.onplay.apply(self);self.setVolume(self.instanceOptions.volume);self.setPan(self.instanceOptions.pan);sm.o._start(self.sID,self.instanceOptions.loop||1,(sm.flashVersion==9?self.position:self.position/1000));};};this.start=this.play;this.stop=function(bAll){if(self.playState==1){self.playState=0;self.paused=false;if(self.instanceOptions.onstop)self.instanceOptions.onstop.apply(self);sm.o._stop(self.sID,bAll);self.instanceCount=0;self.instanceOptions={};};};this.setPosition=function(nMsecOffset){self.instanceOptions.position=nMsecOffset;sm.o._setPosition(self.sID,(sm.flashVersion==9?self.instanceOptions.position:self.instanceOptions.position/1000),(self.paused||!self.playState));};this.pause=function(){if(self.paused)return false;sm._writeDebug('SMSound.pause()');self.paused=true;sm.o._pause(self.sID);if(self.instanceOptions.onpause)self.instanceOptions.onpause.apply(self);};this.resume=function(){if(!self.paused)return false;sm._writeDebug('SMSound.resume()');self.paused=false;sm.o._pause(self.sID);if(self.instanceOptions.onresume)self.instanceOptions.onresume.apply(self);};this.togglePause=function(){sm._writeDebug('SMSound.togglePause()');if(!self.playState){self.play({position:(sm.flashVersion==9?self.position:self.position/1000)});return false;};if(self.paused){self.resume();}else{self.pause();};};this.setPan=function(nPan){if(typeof nPan=='undefined')nPan=0;sm.o._setPan(self.sID,nPan);self.instanceOptions.pan=nPan;};this.setVolume=function(nVol){if(typeof nVol=='undefined')nVol=100;sm.o._setVolume(self.sID,(sm.muted&&!self.muted)||self.muted?0:nVol);self.instanceOptions.volume=nVol;};this.mute=function(){self.muted=true;sm.o._setVolume(self.sID,0);};this.unmute=function(){self.muted=false;sm.o._setVolume(self.sID,typeof self.instanceOptions.volume!='undefined'?self.instanceOptions.volume:self.options.volume);};this._whileloading=function(nBytesLoaded,nBytesTotal,nDuration){self.bytesLoaded=nBytesLoaded;self.bytesTotal=nBytesTotal;self.duration=Math.floor(nDuration);self.durationEstimate=parseInt((self.bytesTotal/self.bytesLoaded)*self.duration);if(self.readyState!=3&&self.instanceOptions.whileloading)self.instanceOptions.whileloading.apply(self);};this._onid3=function(oID3PropNames,oID3Data){sm._writeDebug('SMSound._onid3(): "'+this.sID+'" ID3 data received.');var oData=[];for(var i=0,j=oID3PropNames.length;i<j;i++){oData[oID3PropNames[i]]=oID3Data[i];};self.id3=sm._mergeObjects(self.id3,oData);if(self.instanceOptions.onid3)self.instanceOptions.onid3.apply(self);};this._whileplaying=function(nPosition,oPeakData,oWaveformData,oEQData){if(isNaN(nPosition)||nPosition==null)return false;self.position=nPosition;if(self.instanceOptions.usePeakData&&typeof oPeakData!='undefined'&&oPeakData){self.peakData={left:oPeakData.leftPeak,right:oPeakData.rightPeak};};if(self.instanceOptions.useWaveformData&&typeof oWaveformData!='undefined'&&oWaveformData){self.waveformData=oWaveformData;};if(self.instanceOptions.useEQData&&typeof oEQData!='undefined'&&oEQData){self.eqData=oEQData;};if(self.playState==1){if(self.instanceOptions.whileplaying)self.instanceOptions.whileplaying.apply(self);if(self.loaded&&self.instanceOptions.onbeforefinish&&self.instanceOptions.onbeforefinishtime&&!self.didBeforeFinish&&self.duration-self.position<=self.instanceOptions.onbeforefinishtime){sm._writeDebug('duration-position &lt;= onbeforefinishtime: '+self.duration+' - '+self.position+' &lt= '+self.instanceOptions.onbeforefinishtime+' ('+(self.duration-self.position)+')');self._onbeforefinish();};};};this._onload=function(bSuccess){bSuccess=(bSuccess==1?true:false);sm._writeDebug('SMSound._onload(): "'+self.sID+'"'+(bSuccess?' loaded.':' failed to load? - '+self.url));if(!bSuccess){if(sm.sandbox.noRemote==true){sm._writeDebug('SMSound._onload(): Reminder: Flash security is denying network/internet access',1);};if(sm.sandbox.noLocal==true){sm._writeDebug('SMSound._onload(): Reminder: Flash security is denying local access',1);};};self.loaded=bSuccess;self.loadSuccess=bSuccess;self.readyState=bSuccess?3:2;if(self.instanceOptions.onload){self.instanceOptions.onload.apply(self);};};this._onbeforefinish=function(){if(!self.didBeforeFinish){self.didBeforeFinish=true;if(self.instanceOptions.onbeforefinish){sm._writeDebug('SMSound._onbeforefinish(): "'+self.sID+'"');self.instanceOptions.onbeforefinish.apply(self);}};};this._onjustbeforefinish=function(msOffset){if(!self.didJustBeforeFinish){self.didJustBeforeFinish=true;if(self.instanceOptions.onjustbeforefinish){sm._writeDebug('SMSound._onjustbeforefinish(): "'+self.sID+'"');self.instanceOptions.onjustbeforefinish.apply(self);}};};this._onfinish=function(){sm._writeDebug('SMSound._onfinish(): "'+self.sID+'"');self.playState=0;self.paused=false;if(self.instanceOptions.onfinish)self.instanceOptions.onfinish.apply(self);if(self.instanceOptions.onbeforefinishcomplete)self.instanceOptions.onbeforefinishcomplete.apply(self);self.didBeforeFinish=false;self.didJustBeforeFinish=false;if(self.instanceCount){self.instanceCount--;if(!self.instanceCount){self.instanceCount=0;self.instanceOptions={};}}};};if(this.flashVersion==9){this.defaultOptions=this._mergeObjects(this.defaultOptions,this.flash9Options);}
if(window.addEventListener){window.addEventListener('focus',self.handleFocus,false);window.addEventListener('load',self.beginDelayedInit,false);window.addEventListener('beforeunload',self.destruct,false);if(self._tryInitOnFocus)window.addEventListener('mousemove',self.handleFocus,false);}else if(window.attachEvent){window.attachEvent('onfocus',self.handleFocus);window.attachEvent('onload',self.beginDelayedInit);window.attachEvent('beforeunload',self.destruct);}else{soundManager.onerror();soundManager.disable();};if(document.addEventListener)document.addEventListener('DOMContentLoaded',self.domContentLoaded,false);var SM2_COPYRIGHT=['SoundManager 2: Javascript Sound for the Web','http://schillmania.com/projects/soundmanager2/','Copyright (c) 2008, Scott Schiller. All rights reserved.','Code provided under the BSD License: http://schillmania.com/projects/soundmanager2/license.txt',];};var soundManager=new SoundManager();