function InlinePlayer(){var self=this;var pl=this;var sm=soundManager;this.playableClass='inline-playable';this.excludeClass='inline-exclude';this.links=[];this.sounds=[];this.soundsByURL=[];this.indexByURL=[];this.lastSound=null;this.soundCount=0;var isIE=(navigator.userAgent.match(/msie/i));this.config={playNext:false,autoPlay:false}
this.css={sDefault:'sm2_link',sLoading:'sm2_loading',sPlaying:'sm2_playing',sPaused:'sm2_paused'}
this.addEventHandler=(typeof window.addEventListener!=='undefined'?function(o,evtName,evtHandler){return o.addEventListener(evtName,evtHandler,false);}:function(o,evtName,evtHandler){o.attachEvent('on'+evtName,evtHandler);});this.removeEventHandler=(typeof window.removeEventListener!=='undefined'?function(o,evtName,evtHandler){return o.removeEventListener(evtName,evtHandler,false);}:function(o,evtName,evtHandler){return o.detachEvent('on'+evtName,evtHandler);});this.classContains=function(o,cStr){return(typeof(o.className)!='undefined'?o.className.match(new RegExp('(\\s|^)'+cStr+'(\\s|$)')):false);}
this.addClass=function(o,cStr){if(!o||!cStr||self.classContains(o,cStr))return false;o.className=(o.className?o.className+' ':'')+cStr;}
this.removeClass=function(o,cStr){if(!o||!cStr||!self.classContains(o,cStr))return false;o.className=o.className.replace(new RegExp('( '+cStr+')|('+cStr+')','g'),'');}
this.getSoundByURL=function(sURL){return(typeof self.soundsByURL[sURL]!='undefined'?self.soundsByURL[sURL]:null);}
this.isChildOfNode=function(o,sNodeName){if(!o||!o.parentNode){return false;}
sNodeName=sNodeName.toLowerCase();do{o=o.parentNode;}while(o&&o.parentNode&&o.nodeName.toLowerCase()!=sNodeName);return(o.nodeName.toLowerCase()==sNodeName?o:null);}
this.events={play:function(){pl.removeClass(this._data.oLink,this._data.className);this._data.className=pl.css.sPlaying;pl.addClass(this._data.oLink,this._data.className);},stop:function(){pl.removeClass(this._data.oLink,this._data.className);this._data.className='';},pause:function(){pl.removeClass(this._data.oLink,this._data.className);this._data.className=pl.css.sPaused;pl.addClass(this._data.oLink,this._data.className);},resume:function(){pl.removeClass(this._data.oLink,this._data.className);this._data.className=pl.css.sPlaying;pl.addClass(this._data.oLink,this._data.className);},finish:function(){pl.removeClass(this._data.oLink,this._data.className);this._data.className='';if(pl.config.playNext){var nextLink=(pl.indexByURL[this._data.oLink.href]+1);if(nextLink<pl.links.length){pl.handleClick({'target':pl.links[nextLink]});}}}}
this.stopEvent=function(e){if(typeof e!='undefined'&&typeof e.preventDefault!='undefined'){e.preventDefault();}else if(typeof event!='undefined'&&typeof event.returnValue!='undefined'){event.returnValue=false;}
return false;}
this.getTheDamnLink=(isIE)?function(e){return(e&&e.target?e.target:window.event.srcElement);}:function(e){return e.target;}
this.handleClick=function(e){if(typeof e.button!='undefined'&&e.button>1){return true;}
var o=self.getTheDamnLink(e);if(o.nodeName.toLowerCase()!='a'){o=self.isChildOfNode(o,'a');if(!o)return true;}
var sURL=o.getAttribute('href');if(!o.href||(!sm.canPlayLink(o)&&!self.classContains(o,self.playableClass))||self.classContains(o,self.excludeClass)){return true;}
var soundURL=(o.href);var thisSound=self.getSoundByURL(soundURL);if(thisSound){if(thisSound==self.lastSound){thisSound.togglePause();}else{thisSound.togglePause();sm._writeDebug('sound different than last sound: '+self.lastSound.sID);if(self.lastSound)self.stopSound(self.lastSound);}}else{thisSound=sm.createSound({id:'inlineMP3Sound'+(self.soundCount++),url:soundURL,onplay:self.events.play,onstop:self.events.stop,onpause:self.events.pause,onresume:self.events.resume,onfinish:self.events.finish});thisSound._data={oLink:o,className:self.css.sPlaying};self.soundsByURL[soundURL]=thisSound;self.sounds.push(thisSound);if(self.lastSound)self.stopSound(self.lastSound);thisSound.play();}
self.lastSound=thisSound;if(typeof e!='undefined'&&typeof e.preventDefault!='undefined'){e.preventDefault();}else{event.returnValue=false;}
return false;}
this.stopSound=function(oSound){soundManager.stop(oSound.sID);soundManager.unload(oSound.sID);}
this.init=function(){sm._writeDebug('inlinePlayer.init()');var oLinks=document.getElementsByTagName('a');var foundItems=0;for(var i=0,j=oLinks.length;i<j;i++){if((sm.canPlayLink(oLinks[i])||self.classContains(oLinks[i],self.playableClass))&&!self.classContains(oLinks[i],self.excludeClass)){self.addClass(oLinks[i],self.css.sDefault);self.links[foundItems]=(oLinks[i]);self.indexByURL[oLinks[i].href]=foundItems;foundItems++;}}
if(foundItems>0){self.addEventHandler(document,'click',self.handleClick);if(self.config.autoPlay){self.handleClick({target:self.links[0],preventDefault:function(){}});}}
sm._writeDebug('inlinePlayer.init(): Found '+foundItems+' relevant items.');}
this.init();}
var inlinePlayer=null;soundManager.debugMode=false;soundManager.preferFlash=false;soundManager.useFlashBlock=true;soundManager.url='/soundmanager/swf/';soundManager.flashVersion=9;soundManager.useMovieStar=true;soundManager.onready(function(){inlinePlayer=new InlinePlayer();});
