function PagePlayer(oConfigOverride){var self=this;var pl=this;var sm=soundManager;var isIE=navigator.userAgent.match(/msie/i);var isOpera=navigator.userAgent.match(/opera/i);var isFirefox=navigator.userAgent.match(/firefox/i);var docBase=docBase||"";this.config={sm_url:docBase+"/swf/",flashVersion:8,usePeakData:false,useWaveformData:false,useEQData:false,fillGraph:false,allowRightClick:true,useThrottling:false,autoStart:false,playNext:false,updatePageTitle:true,emptyTime:"-:--",useFavIcon:false,volume:50};sm.url=this.config.sm_url;sm.debugMode=(window.location.href.toString().match(/debug=1/i)?true:false);sm.onerror=function(){var outputEl=document.getElementById("flash");var text;var anchor=document.createElement("a");if(!FlashDetect.installed){anchor.innerHTML="You need to install Adobe Flash player to be able to playback the demo tracks";text="";}else{if(!FlashDetect.majorAtLeast(8)){text="";anchor.innerHTML="Please, install at least 8 Adobe Flash player version";}else{return;}}anchor.setAttribute("href","http://www.adobe.com/go/getflashplayer/");anchor.setAttribute("title","Get Flash Player!");outputEl.innerHTML+=text;outputEl.appendChild(anchor);};this._mergeObjects=function(oMain,oAdd){var o1={};for(var i in oMain){o1[i]=oMain[i];}var o2=(typeof oAdd=="undefined"?{}:oAdd);for(var o in o2){if(typeof o1[o]=="undefined"){o1[o]=o2[o];}}return o1;};if(typeof oConfigOverride!="undefined"&&oConfigOverride){this.config=this._mergeObjects(oConfigOverride,this.config);}this.css={sDefault:"sm2_link",sLoading:"sm2_loading",sPlaying:"sm2_playing",sPaused:"sm2_paused"};this.cssBase=[];if(this.config.usePeakData){this.cssBase.push("use-peak");}if(this.config.useWaveformData||this.config.useEQData){this.cssBase.push("use-spectrum");}this.cssBase=this.cssBase.join(" ");sm.flashVersion=this.config.flashVersion;if(sm.flashVersion>=9){sm.useMovieStar=this.config.useMovieStar;sm.movieStarOptions.useVideo=this.config.useVideo;sm.defaultOptions.usePeakData=this.config.usePeakData;sm.defaultOptions.useWaveformData=this.config.useWaveformData;sm.defaultOptions.useEQData=this.config.useEQData;}this.links=[];this.sounds=[];this.soundsByObject=[];this.lastSound=null;this.soundCount=0;this.strings=[];this.dragActive=false;this.playerActive=false;this.dragExec=new Date();this.dragTimer=null;this.pageTitle=document.title;this.lastWPExec=new Date();this.xbmImages=[];this.oControls=null;this.currentVolume=pl.config.volume;this.addEventHandler=function(o,evtName,evtHandler){typeof(attachEvent)=="undefined"?o.addEventListener(evtName,evtHandler,false):o.attachEvent("on"+evtName,evtHandler);};this.removeEventHandler=function(o,evtName,evtHandler){typeof(attachEvent)=="undefined"?o.removeEventListener(evtName,evtHandler,false):o.detachEvent("on"+evtName,evtHandler);};this.hasClass=function(o,cStr){return(typeof(o.className)!="undefined"?new RegExp("(^|\\s)"+cStr+"(\\s|$)").test(o.className):false);};this.addClass=function(o,cStr){if(!o||!cStr){return false;}if(self.hasClass(o,cStr)){return false;}o.className=(o.className?o.className+" ":"")+cStr;};this.removeClass=function(o,cStr){if(!o||!cStr){return false;}if(!self.hasClass(o,cStr)){return false;}o.className=o.className.replace(new RegExp("( "+cStr+")|("+cStr+")","g"),"");};this.getElementsByClassName=function(className,tagNames,oParent){var doc=(oParent||document);var matches=[];var i,j;var nodes=[];if(typeof(tagNames)!="undefined"&&typeof(tagNames)!="string"){for(i=tagNames.length;i--;){if(!nodes||!nodes[tagNames[i]]){nodes[tagNames[i]]=doc.getElementsByTagName(tagNames[i]);}}}else{if(tagNames){nodes=doc.getElementsByTagName(tagNames);}else{nodes=doc.all||doc.getElementsByTagName("*");}}if(typeof(tagNames)!="string"){for(i=tagNames.length;i--;){for(j=nodes[tagNames[i]].length;j--;){if(self.hasClass(nodes[tagNames[i]][j],className)){matches[matches.length]=nodes[tagNames[i]][j];}}}}else{for(i=0;i<nodes.length;i++){if(self.hasClass(nodes[i],className)){matches[matches.length]=nodes[i];}}}return matches;};this.getOffX=function(o){var curleft=0;if(o.offsetParent){while(o.offsetParent){curleft+=o.offsetLeft;o=o.offsetParent;}}else{if(o.x){curleft+=o.x;}}return curleft;};this.isChildOfClass=function(oChild,oClass){if(!oChild||!oClass){return false;}while(oChild.parentNode&&!self.hasClass(oChild,oClass)){oChild=oChild.parentNode;}return(self.hasClass(oChild,oClass));};this.getParentByNodeName=function(oChild,sParentNodeName){if(!oChild||!sParentNodeName){return false;}sParentNodeName=sParentNodeName.toLowerCase();while(oChild.parentNode&&sParentNodeName!=oChild.parentNode.nodeName.toLowerCase()){oChild=oChild.parentNode;}return(oChild.parentNode&&sParentNodeName==oChild.parentNode.nodeName.toLowerCase()?oChild.parentNode:null);};this.getTime=function(nMSec,bAsString){var nSec=Math.floor(nMSec/1000);var min=Math.floor(nSec/60);var sec=nSec-(min*60);return(bAsString?(min+":"+(sec<10?"0"+sec:sec)):{min:min,sec:sec});};this.getSoundByObject=function(o){return(typeof self.soundsByObject[o.rel]!="undefined"?self.soundsByObject[o.rel]:null);};this.getSoundIndex=function(o){for(var i=self.links.length;i--;){if(self.links[i].rel==o.rel){return i;}}return -1;};this.setPageTitle=function(sTitle){if(!self.config.updatePageTitle){return false;}try{document.title=(sTitle?sTitle+" - ":"")+self.pageTitle;}catch(e){self.setPageTitle=function(){return false;};}};this.events={play:function(){pl.removeClass(this._data.oLI,this._data.className);this._data.className=pl.css.sPlaying;pl.addClass(this._data.oLI,this._data.className);self.setPageTitle(this._data.originalTitle);},stop:function(){pl.removeClass(this._data.oLI,this._data.className);this._data.className="";this._data.oPosition.style.width="0px";self.setPageTitle();self.resetPageIcon();},pause:function(){if(pl.dragActive){return false;}pl.removeClass(this._data.oLI,this._data.className);this._data.className=pl.css.sPaused;pl.addClass(this._data.oLI,this._data.className);self.setPageTitle();self.resetPageIcon();},resume:function(){if(pl.dragActive){return false;}pl.removeClass(this._data.oLI,this._data.className);this._data.className=pl.css.sPlaying;pl.addClass(this._data.oLI,this._data.className);},finish:function(){pl.removeClass(this._data.oLI,this._data.className);this._data.className="";this._data.oPosition.style.width="0px";if(self.config.playNext&&this._data.nIndex<pl.links.length-1){pl.handleClick({target:pl.links[this._data.nIndex+1]});}else{self.setPageTitle();self.resetPageIcon();}},whileloading:function(){this._data.oLoading.style.width=(((this.bytesLoaded/this.bytesTotal)*100)+"%");if(!this._data.didRefresh&&this._data.metadata){this._data.didRefresh=true;this._data.metadata.refresh();}},onload:function(){if(!this.loaded){var oTemp=this._data.oLI.getElementsByTagName("a")[0];var oString=oTemp.innerHTML;var oThis=this;oTemp.innerHTML=oString+' <span style="font-size:0.5em"> | Load failed, d\'oh! '+(sm.sandbox.noRemote?" Possible cause: Flash sandbox is denying remote URL access.":(sm.sandbox.noLocal?"Flash denying local filesystem access":"404?"))+"</span>";setTimeout(function(){oTemp.innerHTML=oString;},5000);}else{if(this._data.metadata){this._data.metadata.refresh();}}},metadata:function(){sm._wD("video metadata: "+this.width+"x"+this.height);sm.oMC.style.width=this.width+"px";sm.oMC.style.height=this.height+"px";},whileplaying:function(){var d=null;if(pl.dragActive||!pl.config.useThrottling){self.updateTime.apply(this);if(sm.flashVersion>=9){if(pl.config.usePeakData&&this.instanceOptions.usePeakData){self.updatePeaks.apply(this);}if(pl.config.useWaveformData&&this.instanceOptions.useWaveformData||pl.config.useEQData&&this.instanceOptions.useEQData){}}if(this._data.metadata){d=new Date();if(d&&d-self.lastWPExec>500){self.refreshMetadata(this);self.lastWPExec=d;}}this._data.oPosition.style.width=(((this.position/self.getDurationEstimate(this))*100)+"%");}else{d=new Date();if(d-self.lastWPExec>500){self.updateTime.apply(this);if(sm.flashVersion>=9){if(pl.config.usePeakData&&this.instanceOptions.usePeakData){self.updatePeaks.apply(this);}}if(this._data.metadata){self.refreshMetadata(this);}this._data.oPosition.style.width=(((this.position/self.getDurationEstimate(this))*100)+"%");self.lastWPExec=d;}}}};this.setPageIcon=function(sDataURL){if(!self.config.useFavIcon||!self.config.usePeakData||!sDataURL){return false;}var link=document.getElementById("favicon");if(!link){link=document.createElement("link");link.id="favicon";link.rel="shortcut icon";link.type="image/x-bitmap";link.href=sDataURL;}else{link.href=sDataURL;}document.getElementsByTagName("head")[0].appendChild(link);};this.resetPageIcon=function(){if(!self.config.useFavIcon){return false;}var link=document.getElementById("favicon");if(link){link.href="/favicon.ico";}};this.updatePeaks=function(){var o=this._data.oPeak;var oSpan=o.getElementsByTagName("span");oSpan[0].style.marginTop=(13-(Math.floor(15*this.peakData.left))+"px");oSpan[1].style.marginTop=(13-(Math.floor(15*this.peakData.right))+"px");if(self.config.flashVersion>8&&self.config.useFavIcon&&self.config.usePeakData){if(!isOpera){self.setPageIcon(self.xbmImages[parseInt(15*this.peakData.left)][parseInt(15*this.peakData.right)]);}else{self.setPageIcon(self.xbmImages[1+parseInt(14*this.peakData.left)][1+parseInt(14*this.peakData.right)]);}}};this.refreshMetadata=function(oSound){var index=null;var now=oSound.position;var metadata=oSound._data.metadata.data;for(var i=0,j=metadata.length;i<j;i++){if(now>=metadata[i].startTimeMS&&now<=metadata[i].endTimeMS){index=i;break;}}if(index!=metadata.currentItem){oSound._data.oLink.innerHTML=metadata.mainTitle+' <span class="metadata"><span class="sm2_divider"> | </span><span class="sm2_metadata">'+metadata[index].title+"</span></span>";self.setPageTitle(metadata[index].title+" | "+metadata.mainTitle);metadata.currentItem=index;}};this.updateTime=function(){var str=self.strings.timing.replace("%s1",self.getTime(this.position,true));str=str.replace("%s2",self.getTime(self.getDurationEstimate(this),true));this._data.oTiming.innerHTML=str;};this.getTheDamnTarget=function(e){return(e.target||e.srcElement||window.event.srcElement);};this.withinStatusBar=function(o){return(self.isChildOfClass(o,"controls"));};this.setButtonsState=function(state,oSong){var buttonsLinks=oSong._data.oButtons.getElementsByTagName("img");for(var i=0;i<buttonsLinks.length;i++){switch(buttonsLinks[i].name){case"play":buttonsLinks[i].style.display=state.play;break;case"pause":buttonsLinks[i].style.display=state.pause;break;}}};this.handleClick=function(e){if(e.button==2){if(!pl.config.allowRightClick){pl.stopEvent(e);}return(pl.config.allowRightClick);}var o=self.getTheDamnTarget(e);if(self.dragActive){self.stopDrag();}if(self.isChildOfClass(o,"buttons")){return self.handleControlsClick(e);}if(o.nodeName.toLowerCase()!="a"){o=self.getParentByNodeName(o,"a");}if(!o){return true;}var sURL=o.getAttribute("href");if(!o.href||(!sm.canPlayURL(o.href)&&!self.hasClass(o,"playable"))||self.hasClass(o,"exclude")){if(isIE&&o.onclick){return false;}return true;}var soundURL=o.href;var thisSound=self.getSoundByObject(o);if(thisSound){self.setPageTitle(thisSound._data.originalTitle);if(thisSound==self.lastSound){if(thisSound.readyState!=2){if(thisSound.playState!=1){thisSound.setPosition(0);thisSound.play();}else{thisSound.togglePause();}}else{sm._writeDebug("Warning: sound failed to load (security restrictions, 404 or bad format)",2);}}else{if(self.lastSound){self.stopSound(self.lastSound);if(self.playerActive){self.playerActive=false;self.events.stop.apply(self.lastSound);}}thisSound.togglePause();}}else{if(self.playerActive){self.playerActive=false;self.events.stop.apply(self.lastSound);}thisSound=sm.createSound({id:"pagePlayerMP3Sound"+(self.soundCount++),url:soundURL,onplay:self.events.play,onstop:self.events.stop,onpause:self.events.pause,onresume:self.events.resume,onfinish:self.events.finish,whileloading:self.events.whileloading,whileplaying:self.events.whileplaying,onmetadata:self.events.metadata,onload:self.events.onload});var oControls=self.oControls.cloneNode(true);o.parentNode.appendChild(oControls);self.soundsByObject[o.rel]=thisSound;thisSound._data={oLink:o,oLI:o.parentNode,oControls:self.getElementsByClassName("controls","div",o.parentNode)[0],oButtons:self.getElementsByClassName("buttons","div",o.parentNode)[0],oStatus:self.getElementsByClassName("statusbar","div",o.parentNode)[0],oLoading:self.getElementsByClassName("loading","div",o.parentNode)[0],oPosition:self.getElementsByClassName("position","div",o.parentNode)[0],oTimingBox:self.getElementsByClassName("timing","div",o.parentNode)[0],oTiming:self.getElementsByClassName("timing","div",o.parentNode)[0].getElementsByTagName("div")[0],oPeak:self.getElementsByClassName("peak","div",o.parentNode)[0],nIndex:self.getSoundIndex(o),className:self.css.sPlaying,originalTitle:o.innerHTML,metadata:null};if(thisSound._data.oLI.getElementsByTagName("ul").length){thisSound._data.metadata=new Metadata(thisSound);}var str=self.strings.timing.replace("%s1",self.config.emptyTime);str=str.replace("%s2",self.config.emptyTime);thisSound._data.oTiming.innerHTML=str;self.sounds.push(thisSound);if(self.lastSound){self.stopSound(self.lastSound);}thisSound.volumeSlider=self.initVolumeSlider(thisSound._data.oButtons);thisSound.play();}if(thisSound.paused){self.setButtonsState({play:"block",pause:"none"},thisSound);}else{self.setButtonsState({play:"none",pause:"block"},thisSound);}self.lastSound=thisSound;thisSound.volumeSlider.setValue(self.currentVolume);return self.stopEvent(e);};this.handleMouseDown=function(e){if(e.button==2){if(!pl.config.allowRightClick){pl.stopEvent(e);}return(pl.config.allowRightClick);}var o=self.getTheDamnTarget(e);if(!self.withinStatusBar(o)||(self.isChildOfClass(o,"buttons")&&!self.isChildOfClass(o,"statusbar"))){return true;}self.dragActive=true;self.lastSound.pause();self.setPosition(e);self.addEventHandler(document,"mousemove",self.handleMouseMove);self.addClass(self.lastSound._data.oControls,"dragging");self.stopEvent(e);return false;};this.handleMouseMove=function(e){if(self.dragActive){if(self.config.useThrottling){var d=new Date();if(d-self.dragExec>20){self.setPosition(e);}else{window.clearTimeout(self.dragTimer);self.dragTimer=window.setTimeout(function(){self.setPosition(e);},20);}self.dragExec=d;}else{self.setPosition(e);}}else{self.stopDrag();}return false;};this.stopDrag=function(e){if(self.dragActive){self.removeClass(self.lastSound._data.oControls,"dragging");self.removeEventHandler(document,"mousemove",self.handleMouseMove);if(!pl.hasClass(self.lastSound._data.oLI,self.css.sPaused)){self.lastSound.resume();}self.dragActive=false;self.stopEvent(e);return false;}};this.handleStatusClick=function(e){self.setPosition(e);if(!pl.hasClass(self.lastSound._data.oLI,self.css.sPaused)){self.resume();}return self.stopEvent(e);};this.handleControlsClick=function(e){var controlEl=this.getTheDamnTarget(e);switch(controlEl.name){case"play":if(this.lastSound.playState!=1){this.lastSound.play();}else{this.lastSound.togglePause();}this.setButtonsState({play:"none",pause:"block"},this.lastSound);break;case"pause":this.lastSound.togglePause();this.setButtonsState({play:"block",pause:"none"},this.lastSound);break;case"close":if(this.lastSound.playState==1){this.lastSound.stop();}else{this.events.stop.apply(this.lastSound);}this.setButtonsState({play:"block",pause:"none"},this.lastSound);break;case"stop":this.playerActive=true;if(this.lastSound.readyState!=2){sm.unload(this.lastSound.sID);}this.events.resume.apply(this.lastSound);this.setButtonsState({play:"block",pause:"none"},this.lastSound);break;default:return false;}return true;};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.setPosition=function(e){var oThis=self.getTheDamnTarget(e);var oControl=oThis;while(!self.hasClass(oControl,"controls")&&oControl.parentNode){oControl=oControl.parentNode;}var oSound=self.lastSound;var x=parseInt(e.clientX);var nMsecOffset=Math.floor((x-self.getOffX(oControl)-4)/(oControl.offsetWidth)*self.getDurationEstimate(oSound));if(!isNaN(nMsecOffset)){nMsecOffset=Math.min(nMsecOffset,oSound.duration);}if(!isNaN(nMsecOffset)){oSound.setPosition(nMsecOffset);}};this.stopSound=function(oSound){sm._writeDebug("stopping sound: "+oSound.sID);sm.stop(oSound.sID);sm.unload(oSound.sID);};this.getDurationEstimate=function(oSound){if(oSound.instanceOptions.isMovieStar){return(oSound.duration);}else{return(!oSound._data.metadata||!oSound._data.metadata.data.givenDuration?oSound.durationEstimate:oSound._data.metadata.data.givenDuration);}};this.initVolumeSlider=function(oButtons){var bgEl=self.getElementsByClassName("volume","div",oButtons)[0];bgEl.id="bg"+self.soundCount;var changeVolumeHandler=function(){if(self.lastSound){var actualValue=self.lastSound.volumeSlider.getValue();pl.currentVolume=actualValue;self.lastSound.setVolume(actualValue);}};var sliderConf={id:"bg"+self.soundCount,width:50,scaleFactor:2,onchange:changeVolumeHandler};var slider=new SimpleSlider(sliderConf);return slider;};var SimpleSlider=function(configs){var obj=this,_root=document.getElementById(configs.id),_elem=document.createElement("div"),_value=0,scaleFactor=configs.scaleFactor;var _initWidth=configs.width;this.drag=false;this.getValue=function(){return Math.round(_value*scaleFactor);};this.setValue=function(newValue){_setValue(Math.round(newValue/scaleFactor));};var _setValue=function(newValue){if(parseInt(newValue)==NaN){return;}_value=parseInt(newValue);_root.title=obj.getValue();_elem.style.width=_value+"px";if(obj.changeHandler instanceof Function){obj.changeHandler();}};this.getElement=function(){return _elem;};this.getElementEdges=function(){var curleft=curtop=0;var elem=obj.getElement();if(elem.offsetParent){do{curleft+=elem.offsetLeft;curtop+=elem.offsetTop;}while(elem=elem.offsetParent);return[curleft,curtop];}};var init=function(){_elem.id="p"+configs.id;_root.style.width=_initWidth+"px";_root.appendChild(_elem);obj.changeHandler=configs.onchange;};var _getNewWidth=function(e){var newWidth,elemPos=obj.getElementEdges();if(e.offsetX!=null){newWidth=e.offsetX;}else{newWidth=parseInt(e.pageX)-parseInt(elemPos[0]);}return(newWidth>_initWidth)?_initWidth:(newWidth>0)?newWidth:0;};var clickHandler=function(e){_setValue(_getNewWidth(e));};var stopEvent=function(e){if(e.stop){e.stop();}else{self.stopEvent(e);}};var mouseDownHandler=function(e){obj.drag=true;self.addEventHandler(_root,"mousemove",mouseMoveHandler);stopEvent(e);};var mouseMoveHandler=function(e){if(obj.drag){_setValue(_getNewWidth(e));}};var mouseUpHandler=function(e){if(obj.drag){self.removeEventHandler(_root,"mousemove",mouseMoveHandler);stopEvent(e);}obj.drag=false;};init();self.addEventHandler(_root,"click",clickHandler);self.addEventHandler(document,"mouseup",mouseUpHandler);self.addEventHandler(_root,"mousedown",mouseDownHandler);};function array_copy(o_array){var ret_array=new Array();if(typeof(ret_array.concat)=="function"){return ret_array.concat(o_array);}for(var j=0;j<o_array.length;++j){ret_array[ret_array.length]=o_array[j];}return ret_array;}function XBMImage_body(){var bod="";for(var i=0;i<this.height;++i){for(var j=0;j<this.width/8;++j){if(typeof(this.data[i])!="undefined"&&typeof(this.data[i][j])!="undefined"){var bool=0;bool=this.data[i][j];var hex=(new Number(bool)).toString(16);if(hex.length==1){hex="0"+hex;}bod+="0x"+hex+",";}else{bod+="0x00,";}}}if(bod.length>0){bod=bod.substring(0,bod.length-1);}return bod;}function XBMImage_draw(x,y){if(!(x>-1&&x<this.width&&y>-1&&y<this.height)){return;}if(typeof(this.data[y])=="undefined"){this.data[y]=new Array();}var bit=x%8;var byt=(x-bit)/8;if(typeof(this.data[y][byt])=="undefined"){this.data[y][byt]=0;}this.data[y][byt]|=(1<<bit);}function XBMImage_drawHLine(x1,y1,x2){if(!(y1>-1&&y1<this.height)){return;}if(x1>x2){var xs=x1;x1=Math.max(0,x2);x2=Math.min(this.width,xs);}var filled=255;var startbits=x1%8;var startbyt=(x1-x1%8)/8;var endbits=8-x2%8;var endbyt=(x2-x2%8)/8;if(startbyt==endbyt){this.data[y1][startbyt]|=(filled<<startbits)&(filled>>endbits);return;}for(var i=startbyt+1;i<endbyt;++i){this.data[y1][i]=filled;}for(var j=x1;j<(x1+(8-x1%8));++j){this.draw(j,y1);}this.data[y1][endbyt]|=(filled>>endbits);}function XBMImage_drawVLine(x1,y1,y2){if(!(x1>-1&&x1<this.width)){return;}if(y1>y2){var ys=y1;y1=Math.max(0,y2);y2=Math.min(this.height,ys);}var bit=x1%8;var byt=(x1-bit)/8;var bitmask=(1<<bit);for(var y=y1;y<=y2;++y){this.data[y][byt]|=bitmask;}}function XBMImage_drawLine(x1,y1,x2,y2){if(x1>x2){var xx=x1;x1=x2;x2=xx;var yy=y1;y1=y2;y2=yy;}var y=y1;if(y1==y2){if(x1==x2){return this.draw(x1,y1);}else{return this.drawHLine(x1,y1,x2);}}if(x1==x2){return this.drawVLine(x1,y1,y2);}var slope=(y1-y2)/(x1-x2);var yint=y1-Math.floor(slope*x1);for(var x=x1;x<x2;++x){if(slope>0){for(y=Math.floor(slope*x)+yint;y<(Math.floor(slope*(x+1))+yint);++y){this.draw(x,y);}if(Math.floor(slope*x)==Math.floor(slope*(x+1))){this.draw(x,y);}if(x==x2-1){for(y;y<=y2;++y){this.draw(x,y);}}}else{for(y=Math.floor(slope*x)+yint;y>(Math.floor(slope*(x+1))+yint);--y){this.draw(x,y);}if(Math.floor(slope*x)==Math.floor(slope*(x+1))){this.draw(x,y);}if(x==x2-1){for(y;y>=y2;--y){this.draw(x,y);}}}}return null;}function XBMImage_drawBoxFilled(x1,y1,x2,y2){for(var y=y1;y<=y2;++y){this.drawHLine(x1,y,x2);}}function XBMImage_getXBM(){return this.header+this.body()+this.footer;}function XBMImage_setXBM(str){var xbmdata=str.substring(str.indexOf("{")+1,str.lastIndexOf("}"));var a_data=xbmdata.split(",");for(var j=0;j<this.height;++j){this.data[j]=new Array();for(var i=0;i<Math.floor(this.width/8);++i){var a_idx=i+j*(Math.floor(this.width/8));if(a_idx<a_data.length){this.data[j][i]=(new Number(parseInt(a_data[a_idx],16))).valueOf();}}}}function XBMImage(width,height,name){this.name=name;this.width=width+((width%8)>0?(8-(width%8)):0);this.height=height;this.header="#define "+name+"_width "+this.width+"\n#define "+name+"_height "+this.height+"\nstatic char "+name+"_bits[] = {\n";this.footer="};";this.data=new Array(this.height);for(var i=0;i<this.data.length;++i){this.data[i]=new Array(this.width);for(var j=0;j<this.data[i].length;++j){this.data[i][j]=0;}}this.frames=new Array();this.body=XBMImage_body;this.draw=XBMImage_draw;this.drawLine=XBMImage_drawLine;this.drawHLine=XBMImage_drawHLine;this.drawVLine=XBMImage_drawVLine;this.drawBoxFilled=XBMImage_drawBoxFilled;this.getXBM=XBMImage_getXBM;this.setXBM=XBMImage_setXBM;this.xbm=this.getXBM();}this.createXBMData=function(){var ico=null;var i=0;var j=0;for(i=0;i<16;i++){self.xbmImages[i]=[];}for(var i=0;i<16;i++){for(j=0;j<16;j++){ico=new XBMImage(16,16,"img"+i+"x"+j);ico.drawBoxFilled(0,16-i,7,16-(i-16));ico.drawBoxFilled(9,16-j,16,16-(j-16));self.xbmImages[i][j]="data:image/x-bitmap,"+encodeURI(ico.getXBM());}}};if(this.config.useFavIcon){if(isFirefox||isOpera){this.createXBMData();}else{this.config.useFavIcon=false;}}this.init=function(){sm._writeDebug("pagePlayer.init()");var oLinks=document.getElementsByTagName("a");var foundItems=0;for(var i=0;i<oLinks.length;i++){if((sm.canPlayURL(oLinks[i].href)||self.hasClass(oLinks[i],"playable"))&&!self.hasClass(oLinks[i],"exclude")){oLinks[i].rel="pagePlayerMP3Sound"+i;self.links[self.links.length]=oLinks[i];self.addClass(oLinks[i],self.css.sDefault);foundItems++;}}if(foundItems>0){var oTiming=document.getElementById("sm2_timing");self.strings.timing=oTiming.innerHTML;oTiming.innerHTML="";oTiming.id="";self.addEventHandler(document,"click",self.handleClick);self.addEventHandler(document,"mousedown",self.handleMouseDown);self.addEventHandler(document,"mouseup",self.stopDrag);self.addEventHandler(window,"unload",function(){});}sm._writeDebug("pagePlayer.init(): Found "+foundItems+" relevant items.");if(self.config.autoStart){pl.handleClick({target:pl.links[0]});}};var Metadata=function(oSound){var self=this;var oLI=oSound._data.oLI;var o=oLI.getElementsByClassName("playlist","div",oLI)[0];var oItems=o.getElementsByClassName("track","div",o);var oTemplate=document.createElement("div");oTemplate.innerHTML="<span>&nbsp;</span>";oTemplate.className="annotation";var oTemplate2=document.createElement("div");oTemplate2.innerHTML="<span>&nbsp;</span>";oTemplate2.className="annotation alt";var oTemplate3=document.createElement("div");oTemplate3.className="note";this.totalTime=0;this.strToTime=function(sTime){var segments=sTime.split(":");var seconds=0;for(var i=segments.length;i--;){seconds+=parseInt(segments[i])*Math.pow(60,segments.length-1-i,10);}return seconds;};this.data=[];this.data.givenDuration=null;this.data.currentItem=null;this.data.mainTitle=oSound._data.oLink.innerHTML;for(var i=0;i<oItems.length;i++){this.data[i]={o:null,title:oItems[i].getElementsByTagName("p")[0].innerHTML,startTime:oItems[i].getElementsByTagName("span")[0].innerHTML,startSeconds:self.strToTime(oItems[i].getElementsByTagName("span")[0].innerHTML.replace(/[()]/g,"")),duration:0,durationMS:null,startTimeMS:null,endTimeMS:null,oNote:null};}var oDuration=pl.getElementsByClassName("duration","div",oLI);this.data.givenDuration=(oDuration.length?self.strToTime(oDuration[0].innerHTML)*1000:0);for(i=0;i<this.data.length;i++){this.data[i].duration=parseInt(this.data[i+1]?this.data[i+1].startSeconds:(self.data.givenDuration?self.data.givenDuration:oSound.durationEstimate)/1000)-this.data[i].startSeconds;this.data[i].startTimeMS=this.data[i].startSeconds*1000;this.data[i].durationMS=this.data[i].duration*1000;this.data[i].endTimeMS=this.data[i].startTimeMS+this.data[i].durationMS;this.totalTime+=this.data[i].duration;}this.createElements=function(){var oFrag=document.createDocumentFragment();var oNode=null;var oNodeSpan=null;var oNode2=null;for(var i=0;i<self.data.length;i++){oNode=(i%2==0?oTemplate:oTemplate2).cloneNode(true);oNodeSpan=oNode.getElementsByTagName("span")[0];oNode.rel=i;self.data[i].o=oNode;oNode2=oTemplate3.cloneNode(true);if(i%2==0){oNode2.className="note alt";}oNode2.innerHTML=this.data[i].title;oNode.onmouseover=self.mouseover;oNode.onmouseout=self.mouseout;this.data[i].oNote=oNode2;oSound._data.oControls.appendChild(oNode2);oFrag.appendChild(oNode);}self.refresh();oSound._data.oStatus.appendChild(oFrag);};this.refresh=function(){var offset=0;var relWidth=null;var duration=(self.data.givenDuration?self.data.givenDuration:oSound.durationEstimate);for(var i=0;i<self.data.length;i++){if(duration){relWidth=(((self.data[i].duration*1000)/duration)*100);self.data[i].o.style.left=(offset?offset+"%":"-2px");self.data[i].oNote.style.left=(offset?offset+"%":"0px");offset+=relWidth;}}};this.mouseover=function(e){self.data[this.rel].oNote.style.visibility="hidden";self.data[this.rel].oNote.style.display="inline-block";self.data[this.rel].oNote.style.marginLeft=-parseInt(self.data[this.rel].oNote.offsetWidth/2)+"px";self.data[this.rel].oNote.style.visibility="visible";};this.mouseout=function(){self.data[this.rel].oNote.style.display="none";};this.createElements();this.refresh();};this.initDOM=function(){var sb=self.getElementsByClassName("spectrum-box","div",document.documentElement)[0];if(sm.flashVersion>=9){self.addClass(self.getElementsByClassName("playlist","div",document.documentElement)[0],self.cssBase);var sbC=sb.getElementsByTagName("div")[0];var oF=document.createDocumentFragment();var oClone=null;for(var i=256;i--;){oClone=sbC.cloneNode(false);oClone.style.left=(i)+"px";oF.appendChild(oClone);}sb.removeChild(sbC);sb.appendChild(oF);}this.oControls=document.getElementById("control-template").cloneNode(true);this.oControls.id="";this.init();};}var pagePlayer=new PagePlayer(typeof PP_CONFIG!="undefined"?PP_CONFIG:null);soundManager.onready(function(oStatus){if(oStatus.success){pagePlayer.initDOM();}});
