/*
 SymfoniP Spin Audio PLayer 
  Requires SoundManager 2 Javascript API.
  Also uses Bernie's Better Animation Class (BSD):
  http://www.berniecode.com/writing/animator.html

*/
function ThreeSixtyPlayer(o){var b=this,j=this,p=soundManager,r=navigator.userAgent,g=r.match(/msie/i),h=r.match(/opera/i),k=r.match(/safari/i),l=r.match(/chrome/i);r.match(/firefox/i);var q=r.match(/ipad|iphone/i);this.excludeClass="threesixty-exclude";this.links=[];this.sounds=[];this.soundsByURL=[];this.indexByURL=[];this.lastSound=null;this.soundCount=0;this.vuMeter=this.oUIImageMap=this.oUITemplate=null;this.config={playNext:false,autoPlay:false,loadRingColor:"#ccc",playRingColor:"#000",backgroundRingColor:"#eee",
segmentRingColor:"rgba(255,255,255,0.33)",segmentRingColorAlt:"rgba(0,0,0,0.1)",loadRingColorMetadata:"#ddd",playRingColorMetadata:"rgba(96,160,224,0.99)",playRingColorMetadata:"rgba(128,192,256,0.9)",circleDiameter:null,circleRadius:null,imageRoot:"",animDuration:500,animTransition:Animator.tx.bouncy,showHMSTime:false,scaleFont:false,useWaveformData:false,waveformDataColor:"#0099ff",waveformDataDownsample:3,waveformDataOutside:false,waveformDataConstrain:false,waveformDataLineRatio:0.64,useEQData:false,
eqDataColor:"#339933",eqDataDownsample:4,eqDataOutside:true,eqDataLineRatio:0.54,usePeakData:true,peakDataColor:"#ff33ff",peakDataOutside:true,peakDataLineRatio:0.5,useAmplifier:true,fontSizeMax:null,useFavIcon:false};if(typeof o=="object")for(var s in o)this.config[s]=o[s];this.css={sDefault:"sm2_link",sBuffering:"sm2_buffering",sPlaying:"sm2_playing",sPaused:"sm2_paused"};this.addEventHandler=function(a,c,e){typeof attachEvent=="undefined"?a.addEventListener(c,e,false):a.attachEvent("on"+c,e)};
this.removeEventHandler=function(a,c,e){typeof attachEvent=="undefined"?a.removeEventListener(c,e,false):a.detachEvent("on"+c,e)};this.hasClass=function(a,c){return typeof a.className!="undefined"?a.className.match(RegExp("(\\s|^)"+c+"(\\s|$)")):false};this.addClass=function(a,c){if(!a||!c||b.hasClass(a,c))return false;a.className=(a.className?a.className+" ":"")+c};this.removeClass=function(a,c){if(!a||!c||!b.hasClass(a,c))return false;a.className=a.className.replace(RegExp("( "+c+")|("+c+")","g"),
"")};this.getElementsByClassName=function(a,c,e){var d=e||document;e=[];var f,i=[];if(typeof c!="undefined"&&typeof c!="string")for(f=c.length;f--;){if(!i||!i[c[f]])i[c[f]]=d.getElementsByTagName(c[f])}else i=c?d.getElementsByTagName(c):d.all||d.getElementsByTagName("*");if(typeof c!="string")for(f=c.length;f--;)for(d=i[c[f]].length;d--;)b.hasClass(i[c[f]][d],a)&&e.push(i[c[f]][d]);else for(f=0;f<i.length;f++)b.hasClass(i[f],a)&&e.push(i[f]);return e};this.getParentByNodeName=function(a,c){if(!a||
!c)return false;for(c=c.toLowerCase();a.parentNode&&c!=a.parentNode.nodeName.toLowerCase();)a=a.parentNode;return a.parentNode&&c==a.parentNode.nodeName.toLowerCase()?a.parentNode:null};this.getParentByClassName=function(a,c){if(!a||!c)return false;for(;a.parentNode&&!b.hasClass(a.parentNode,c);)a=a.parentNode;return a.parentNode&&b.hasClass(a.parentNode,c)?a.parentNode:null};this.getSoundByURL=function(a){return typeof b.soundsByURL[a]!="undefined"?b.soundsByURL[a]:null};this.isChildOfNode=function(a,
c){if(!a||!a.parentNode)return false;c=c.toLowerCase();do a=a.parentNode;while(a&&a.parentNode&&a.nodeName.toLowerCase()!=c);return a&&a.nodeName.toLowerCase()==c?a:null};this.isChildOfClass=function(a,c){if(!a||!c)return false;for(;a.parentNode&&!b.hasClass(a,c);)a=b.findParent(a);return b.hasClass(a,c)};this.findParent=function(a){if(!a||!a.parentNode)return false;a=a.parentNode;if(a.nodeType==2)for(;a&&a.parentNode&&a.parentNode.nodeType==2;)a=a.parentNode;return a};this.getStyle=function(a,c){try{if(a.currentStyle)return a.currentStyle[c];
else if(window.getComputedStyle)return document.defaultView.getComputedStyle(a,null).getPropertyValue(c)}catch(e){}return null};this.findXY=function(a){var c=0,e=0;do{c+=a.offsetLeft;e+=a.offsetTop}while(a=a.offsetParent);return[c,e]};this.getMouseXY=function(a){a=a?a:event;if(q&&a.touches)a=a.touches[0];if(a.pageX||a.pageY)return[a.pageX,a.pageY];else if(a.clientX||a.clientY)return[a.clientX+b.getScrollLeft(),a.clientY+b.getScrollTop()]};this.getScrollLeft=function(){return document.body.scrollLeft+
document.documentElement.scrollLeft};this.getScrollTop=function(){return document.body.scrollTop+document.documentElement.scrollTop};this.events={play:function(){j.removeClass(this._360data.oUIBox,this._360data.className);this._360data.className=j.css.sPlaying;j.addClass(this._360data.oUIBox,this._360data.className);b.fanOut(this)},stop:function(){j.removeClass(this._360data.oUIBox,this._360data.className);this._360data.className="";b.fanIn(this)},pause:function(){j.removeClass(this._360data.oUIBox,
this._360data.className);this._360data.className=j.css.sPaused;j.addClass(this._360data.oUIBox,this._360data.className)},resume:function(){j.removeClass(this._360data.oUIBox,this._360data.className);this._360data.className=j.css.sPlaying;j.addClass(this._360data.oUIBox,this._360data.className)},finish:function(){j.removeClass(this._360data.oUIBox,this._360data.className);this._360data.className="";this._360data.didFinish=true;b.fanIn(this);if(j.config.playNext){var a=j.indexByURL[this._360data.oLink.href]+
1;a<j.links.length&&j.handleClick({target:j.links[a]})}},whileloading:function(){this.paused&&b.updatePlaying.apply(this)},whileplaying:function(){b.updatePlaying.apply(this);this._360data.fps++},bufferchange:function(){this.isBuffering?j.addClass(this._360data.oUIBox,j.css.sBuffering):j.removeClass(this._360data.oUIBox,j.css.sBuffering)}};this.stopEvent=function(a){if(typeof a!="undefined"&&typeof a.preventDefault!="undefined")a.preventDefault();else if(typeof event!="undefined"&&typeof event.returnValue!=
"undefined")event.returnValue=false;return false};this.getTheDamnLink=g?function(a){return a&&a.target?a.target:window.event.srcElement}:function(a){return a.target};this.handleClick=function(a){if(a.button>1)return true;var c=b.getTheDamnLink(a);if(c.nodeName.toLowerCase()!="a"){c=b.isChildOfNode(c,"a");if(!c)return true}if(!b.isChildOfClass(c,"ui360"))return true;c.getAttribute("href");if(!c.href||!p.canPlayLink(c)||b.hasClass(c,b.excludeClass))return true;p._writeDebug("handleClick()");var e=c.href,
d=b.getSoundByURL(e);if(d)if(d==b.lastSound)d.togglePause();else{d.togglePause();p._writeDebug("sound different than last sound: "+b.lastSound.sID);b.lastSound&&b.stopSound(b.lastSound)}else{d=p.createSound({id:"ui360Sound"+b.soundCount++,url:e,onplay:b.events.play,onstop:b.events.stop,onpause:b.events.pause,onresume:b.events.resume,onfinish:b.events.finish,onbufferchange:b.events.bufferchange,whileloading:b.events.whileloading,whileplaying:b.events.whileplaying});var f=c.parentNode;d._360data={oUI360:b.getParentByClassName(c,
"ui360"),oLink:c,className:b.css.sPlaying,oUIBox:b.getElementsByClassName("sm2-360ui","div",f)[0],oCanvas:b.getElementsByClassName("sm2-canvas","canvas",f)[0],oButton:b.getElementsByClassName("sm2-360btn","img",f)[0],oTiming:b.getElementsByClassName("sm2-timing","div",f)[0],oCover:b.getElementsByClassName("sm2-cover","div",f)[0],lastTime:null,didFinish:null,pauseCount:0,radius:0,amplifier:b.config.usePeakData?0.9:1,radiusMax:b.config.circleDiameter*0.175,width:0,widthMax:b.config.circleDiameter*0.4,
lastValues:{bytesLoaded:0,bytesTotal:0,position:0,durationEstimate:0},animating:false,oAnim:new Animator({duration:b.config.animDuration,transition:b.config.animTransition,onComplete:function(){}}),oAnimProgress:function(i){this._360data.radius=parseInt(this._360data.radiusMax*this._360data.amplifier*i);this._360data.width=parseInt(this._360data.widthMax*this._360data.amplifier*i);if(b.config.scaleFont&&b.config.fontSizeMax!=null){this._360data.oTiming.style.fontSize=parseInt(Math.max(1,b.config.fontSizeMax*
i))+"px";this._360data.oTiming.style.opacity=i}if(this.paused||this.playState==0||this._360data.lastValues.bytesLoaded==0||this._360data.lastValues.position==0)b.updatePlaying.apply(this)},fps:0};if(typeof b.Metadata!="undefined"&&b.getElementsByClassName("metadata","div",d._360data.oUI360).length)d._360data.metadata=new b.Metadata(d,b);d._360data.oCover.style.width=b.config.circleDiameter+"px";d._360data.oCover.style.height=b.config.circleDiameter+"px";if(b.config.scaleFont&&b.config.fontSizeMax!=
null)d._360data.oTiming.style.fontSize="1px";d._360data.oAnim.addSubject(d._360data.oAnimProgress,d);b.refreshCoords(d);b.updatePlaying.apply(d);b.soundsByURL[e]=d;b.sounds.push(d);b.lastSound&&b.stopSound(b.lastSound);d.play()}b.lastSound=d;if(typeof a!="undefined"&&typeof a.preventDefault!="undefined")a.preventDefault();else if(typeof event!="undefined")event.returnValue=false;return false};this.fanOut=function(a){if(a._360data.animating==1)return false;a._360data.animating=0;soundManager._writeDebug("fanOut: "+
a.sID+": "+a._360data.oLink.href);a._360data.oAnim.seekTo(1);window.setTimeout(function(){a._360data.animating=0},b.config.animDuration+20)};this.fanIn=function(a){if(a._360data.animating==-1)return false;a._360data.animating=-1;soundManager._writeDebug("fanIn: "+a.sID+": "+a._360data.oLink.href);a._360data.oAnim.seekTo(0);window.setTimeout(function(){a._360data.didFinish=false;a._360data.animating=0;b.resetLastValues(a)},b.config.animDuration+20)};this.resetLastValues=function(a){a._360data.lastValues.position=
0};this.refreshCoords=function(a){a._360data.canvasXY=b.findXY(a._360data.oCanvas);a._360data.canvasMid=[b.config.circleRadius,b.config.circleRadius];a._360data.canvasMidXY=[a._360data.canvasXY[0]+a._360data.canvasMid[0],a._360data.canvasXY[1]+a._360data.canvasMid[1]]};this.stopSound=function(a){soundManager._writeDebug("stopSound: "+a.sID);soundManager.stop(a.sID);soundManager.unload(a.sID)};this.buttonClick=function(a){b.handleClick({target:b.getParentByClassName(a?a.target?a.target:a.srcElement:
event.srcElement,"sm2-360ui").nextSibling});return false};this.buttonMouseDown=function(a){if(q)b.addEventHandler(document,"touchmove",b.mouseDown);else document.onmousemove=function(c){b.mouseDown(c)};b.stopEvent(a);return false};this.mouseDown=function(a){if(!b.lastSound){b.stopEvent(a);return false}b.refreshCoords(b.lastSound);var c=b.lastSound._360data;b.addClass(c.oUIBox,"sm2_dragging");c.pauseCount=b.lastSound.paused?1:0;b.mmh(a?a:event);if(q){b.removeEventHandler(document,"touchmove",b.mouseDown);
b.addEventHandler(document,"touchmove",b.mmh);b.addEventHandler(document,"touchend",b.mouseUp)}else{document.onmousemove=b.mmh;document.onmouseup=b.mouseUp}b.stopEvent(a);return false};this.mouseUp=function(){var a=b.lastSound._360data;b.removeClass(a.oUIBox,"sm2_dragging");a.pauseCount==0&&b.lastSound.resume();if(q){b.removeEventHandler(document,"touchmove",b.mmh);b.removeEventHandler(document,"touchend",b.mouseUP)}else{document.onmousemove=null;document.onmouseup=null}};var u=360;this.mmh=function(a){if(typeof a==
"undefined")a=event;var c=b.lastSound,e=b.getMouseXY(a);e=Math.floor(u-(b.rad2deg(Math.atan2(e[0]-c._360data.canvasMidXY[0],e[1]-c._360data.canvasMidXY[1]))+180));c.setPosition(c.durationEstimate*(e/u));b.stopEvent(a);return false};this.drawSolidArc=function(a,c,e,d,f,i,m){var v=a;if(v.getContext)var w=v.getContext("2d");a=w;m||b.clearCanvas(v);if(c)w.fillStyle=c;a.beginPath();if(isNaN(f))f=0;c=e-d;d=h||k;if(!d||d&&e>0){a.arc(0,0,e,i,f,false);e=b.getArcEndpointCoords(c,f);a.lineTo(e.x,e.y);a.arc(0,
0,c,f,i,true);a.closePath();a.fill()}};this.getArcEndpointCoords=function(a,c){return{x:a*Math.cos(c),y:a*Math.sin(c)}};this.deg2rad=function(a){return a*Math.PI/180};this.rad2deg=function(a){return a*180/Math.PI};this.getTime=function(a,c){var e=Math.floor(a/1E3),d=Math.floor(e/60);e=e-d*60;return c?d+":"+(e<10?"0"+e:e):{min:d,sec:e}};this.clearCanvas=function(a){var c=null;if(a.getContext)c=a.getContext("2d");var e=a.offsetWidth;a=a.offsetHeight;c.clearRect(-(e/2),-(a/2),e,a)};u=h||l?359.9:360;
this.updatePlaying=function(){if(this.bytesLoaded){this._360data.lastValues.bytesLoaded=this.bytesLoaded;this._360data.lastValues.bytesTotal=this.bytesTotal}if(this.position)this._360data.lastValues.position=this.position;if(this.durationEstimate)this._360data.lastValues.durationEstimate=this.durationEstimate;b.drawSolidArc(this._360data.oCanvas,b.config.backgroundRingColor,this._360data.width,this._360data.radius,b.deg2rad(u),false);b.drawSolidArc(this._360data.oCanvas,this._360data.metadata?b.config.loadRingColorMetadata:
b.config.loadRingColor,this._360data.width,this._360data.radius,b.deg2rad(u*(this._360data.lastValues.bytesLoaded/this._360data.lastValues.bytesTotal)),0,true);if(this._360data.lastValues.position!=0)b.drawSolidArc(this._360data.oCanvas,this._360data.metadata?b.config.playRingColorMetadata:b.config.playRingColor,this._360data.width,this._360data.radius,b.deg2rad(this._360data.didFinish==1?u:u*(this._360data.lastValues.position/this._360data.lastValues.durationEstimate)),0,true);this._360data.metadata&&
this._360data.metadata.events.whileplaying();var a=b.config.showHMSTime?b.getTime(this.position,true):parseInt(this.position/1E3);if(a!=this._360data.lastTime){this._360data.lastTime=a;this._360data.oTiming.innerHTML=a}g||b.updateWaveform(this);b.config.useFavIcon&&b.vuMeter&&b.vuMeter.updateVU(this)};this.updateWaveform=function(a){if(!b.config.useWaveformData&&!b.config.useEQData||!p.features.waveformData&&!p.features.eqData)return false;if(!a.waveformData.left.length&&!a.eqData.length&&!a.peakData.left)return false;
a._360data.oCanvas.getContext("2d");var c=parseInt(b.config.circleDiameter/2)/2;if(b.config.useWaveformData){var e=b.config.waveformDataDownsample;e=Math.max(1,e);var d=256/e,f=0,i=0,m=null,v=b.config.waveformDataOutside?1:b.config.waveformDataConstrain?0.5:0.565;c=b.config.waveformDataOutside?0.7:0.75;for(var w=b.deg2rad(360/d*b.config.waveformDataLineRatio),n=0;n<256;n+=e){f=b.deg2rad(360*(n/d*1/e));i=f+w;m=a.waveformData.left[n];if(m<0&&b.config.waveformDataConstrain)m=Math.abs(m);b.drawSolidArc(a._360data.oCanvas,
b.config.waveformDataColor,a._360data.width*v,a._360data.radius*c*1.25*m,i,f,true)}}if(b.config.useEQData){e=b.config.eqDataDownsample;e=Math.max(1,e);m=192;d=m/e;v=b.config.eqDataOutside?1:0.565;var x=b.config.eqDataOutside?-1:1;c=b.config.eqDataOutside?0.5:0.75;w=b.deg2rad(360/d*b.config.eqDataLineRatio);d=b.deg2rad(a._360data.didFinish==1?360:360*(a._360data.lastValues.position/a._360data.lastValues.durationEstimate));for(n=0;n<m;n+=e){f=b.deg2rad(360*(n/m));i=f+w;b.drawSolidArc(a._360data.oCanvas,
i>d?b.config.eqDataColor:b.config.playRingColor,a._360data.width*v,a._360data.radius*c*a.eqData.left[n]*x,i,f,true)}}if(b.config.usePeakData)if(!a._360data.animating){c=a.peakData.left||a.peakData.right;m=3;for(n=0;n<m;n++)c=c||a.eqData[n];a._360data.amplifier=b.config.useAmplifier?0.9+c*0.1:1;a._360data.radiusMax=b.config.circleDiameter*0.175*a._360data.amplifier;a._360data.widthMax=b.config.circleDiameter*0.4*a._360data.amplifier;a._360data.radius=parseInt(a._360data.radiusMax*a._360data.amplifier);
a._360data.width=parseInt(a._360data.widthMax*a._360data.amplifier)}};this.updateWaveformOld=function(a){if(!b.config.useWaveformData&&!b.config.useEQData&&!b.config.usePeakData||!p.features.waveformData&&!p.features.eqData&&!p.features.peakData)return false;if(!a.waveformData.left.length&&!a.eqData.length&&!a.peakData.left.length)return false;var c=a._360data.oCanvas.getContext("2d"),e=parseInt(b.config.circleDiameter*2/3),d=e*1/3,f=1;f=Math.max(1,f);var i=a.waveformData.left.length,m=Math.max(1,
i*1/f/b.config.circleDiameter),v=d*2.5,w=0;c.rotate(b.deg2rad(90));c.translate(-b.config.circleRadius,-b.config.circleRadius);if(b.config.useWaveformData)for(var n=0;n<i;n+=f){w=e+a.waveformData.left[n]*d;c.fillRect(n/i*(b.config.circleDiameter-m)+1,w,m,v)}else for(n=e=0;n<128;n+=4){e=a.eqData[n]*d;c.fillRect(n/128*(b.config.circleDiameter-4),b.config.circleDiameter-e,m*3,e)}c.translate(b.config.circleRadius,b.config.circleRadius);c.rotate(b.deg2rad(-90))};this.callbackCount=0;this.peakDataHistory=
[];this.getUIHTML=function(){return['<canvas class="sm2-canvas" width="'+b.config.circleDiameter+'" height="'+b.config.circleDiameter+'"></canvas>',' <img src="'+b.config.imageRoot+'empty.gif" class="sm2-360btn sm2-360btn-default" style="border:none" />',' <div class="sm2-timing'+(navigator.userAgent.match(/safari/i)?" alignTweak":"")+'"></div>',' <div class="sm2-cover"></div>']};this.init=function(){p._writeDebug("threeSixtyPlayer.init()");var a=document.getElementsByTagName("a");for(d=0;d<a.length;d++){var c=
a[d],e=c.getAttribute("href");e=e!=null&&e!=""?e.substring(e.length-4).toLowerCase():"";if((e==".mp3"||e==".aac"||e==".m4a")&&c.parentNode.getAttribute("class")!="ui360"){e=document.createElement("div");e.className="ui360";e.appendChild(c.cloneNode(true));c.parentNode.replaceChild(e,c)}}c=b.getElementsByClassName("ui360","div");a=[];var d=0;for(e=c.length;d<e;d++){a.push(c[d].getElementsByTagName("a")[0]);c[d].style.backgroundImage="none"}c=0;var f=null;var i=f=null;b.oUITemplate=document.createElement("div");
b.oUITemplate.className="sm2-360ui";d=document.createElement("div");d.className="ui360";e=d.appendChild(b.oUITemplate.cloneNode(true));d.style.position="absolute";d.style.left="-9999px";f=b.getUIHTML();e.innerHTML=f[1]+f[2]+f[3];delete f;f=document.body.appendChild(d);b.config.circleDiameter=parseInt(e.offsetWidth);b.config.circleRadius=parseInt(b.config.circleDiameter/2);i=b.getElementsByClassName("sm2-timing","div",f)[0];b.config.fontSizeMax=parseInt(b.getStyle(i,"font-size"));if(isNaN(b.config.fontSizeMax))b.config.fontSizeMax=
null;d.parentNode.removeChild(d);delete d;delete e;delete f;b.oUITemplate.innerHTML=b.getUIHTML().join("");d=0;for(e=a.length;d<e;d++)if(p.canPlayLink(a[d])&&!b.hasClass(a[d],b.excludeClass)){b.addClass(a[d],b.css.sDefault);b.links[c]=a[d];b.indexByURL[a[d].href]=c;c++;f=a[d].parentNode.insertBefore(b.oUITemplate.cloneNode(true),a[d]);if(g&&typeof G_vmlCanvasManager!="undefined"){i=document.createElement("canvas");i.className="sm2-canvas";var m="sm2_canvas_"+parseInt(Math.random()*1048576);i.id=m;
i.width=b.config.circleDiameter;i.height=b.config.circleDiameter;f.appendChild(i);G_vmlCanvasManager.initElement(i);f=document.getElementById(m)}else f=a[d].parentNode.getElementsByTagName("canvas")[0];i=b.getElementsByClassName("sm2-cover","div",a[d].parentNode)[0];m=a[d].parentNode.getElementsByTagName("img")[0];m=a[d].parentNode.getElementsByTagName("img")[0];b.addEventHandler(m,"click",b.buttonClick);q?b.addEventHandler(i,"touchstart",b.mouseDown):b.addEventHandler(i,"mousedown",b.mouseDown);
f=f.getContext("2d");f.translate(b.config.circleRadius,b.config.circleRadius);f.rotate(b.deg2rad(-90))}if(c>0){b.addEventHandler(document,"click",b.handleClick);b.config.autoPlay&&b.handleClick({target:b.links[0],preventDefault:function(){}})}p._writeDebug("threeSixtyPlayer.init(): Found "+c+" relevant items.");if(b.config.useFavIcon&&typeof this.VUMeter!="undefined")this.vuMeter=new this.VUMeter(this)}}
ThreeSixtyPlayer.prototype.VUMeter=function(o){var b=this;this.vuMeterData=[];this.vuDataCanvas=null;var j=document.getElementsByTagName("head")[0],p=navigator.userAgent.match(/opera/i),r=navigator.userAgent.match(/firefox/i);this.setPageIcon=function(g){if(!o.config.useFavIcon||!o.config.usePeakData||!g)return false;var h=document.getElementById("sm2-favicon");if(h){j.removeChild(h);h=null}if(!h){h=document.createElement("link");h.id="sm2-favicon";h.rel="shortcut icon";h.type="image/png";h.href=
g;document.getElementsByTagName("head")[0].appendChild(h)}};this.resetPageIcon=function(){if(!o.config.useFavIcon)return false;var g=document.getElementById("favicon");if(g)g.href="/favicon.ico"};this.updateVU=function(g){soundManager.flashVersion>=9&&o.config.useFavIcon&&o.config.usePeakData&&b.setPageIcon(b.vuMeterData[parseInt(16*g.peakData.left)][parseInt(16*g.peakData.right)])};this.createVUData=function(){var g=0,h=0,k=b.vuDataCanvas.getContext("2d"),l=k.createLinearGradient(0,16,0,0);l.addColorStop(0,
"rgb(0,192,0)");l.addColorStop(0.3,"rgb(0,255,0)");l.addColorStop(0.625,"rgb(255,255,0)");l.addColorStop(0.85,"rgb(255,0,0)");var q=k.createLinearGradient(0,16,0,0);q.addColorStop(0,"rgba(0,0,0,0.2)");q.addColorStop(1,"rgba(0,0,0,0.5)");for(g=0;g<16;g++)b.vuMeterData[g]=[];for(g=0;g<16;g++)for(h=0;h<16;h++){b.vuDataCanvas.setAttribute("width",16);b.vuDataCanvas.setAttribute("height",16);k.fillStyle=q;k.fillRect(0,0,7,15);k.fillRect(8,0,7,15);k.fillStyle=l;k.fillRect(0,15-g,7,16-(16-g));k.fillRect(8,
15-h,7,16-(16-h));k.clearRect(0,3,16,1);k.clearRect(0,7,16,1);k.clearRect(0,11,16,1);b.vuMeterData[g][h]=b.vuDataCanvas.toDataURL("image/png")}};this.testCanvas=function(){var g=document.createElement("canvas"),h=null;if(!g||typeof g.getContext=="undefined")return null;h=g.getContext("2d");if(!h||typeof g.toDataURL!="function")return null;try{g.toDataURL("image/png")}catch(k){return null}return g};this.init=function(){if(o.config.useFavIcon){b.vuDataCanvas=b.testCanvas(true);if(b.vuDataCanvas&&(r||
p))b.createVUData();else o.config.useFavIcon=false}};this.init()};
ThreeSixtyPlayer.prototype.Metadata=function(o,b){soundManager._wD("Metadata()");var j=this,p=o._360data.oUI360,r=p.getElementsByTagName("ul")[0].getElementsByTagName("li");navigator.userAgent.match(/firefox/i);this.lastWPExec=0;this.refreshInterval=250;this.events={whileplaying:function(){for(var h=o._360data.width,k=o._360data.radius,l=o.durationEstimate||j.totalTime*1E3,q=null,s=0,u=j.data.length;s<u;s++){q=s%2==0;b.drawSolidArc(o._360data.oCanvas,q?b.config.segmentRingColorAlt:b.config.segmentRingColor,
q?h:h,q?k/2:k/2,b.deg2rad(360*(j.data[s].endTimeMS/l)),b.deg2rad(360*((j.data[s].startTimeMS||1)/l)),true)}h=new Date;if(h-j.lastWPExec>j.refreshInterval){j.refresh();j.lastWPExec=h}}};this.refresh=function(){for(var h=null,k=o.position,l=o._360data.metadata.data,q=0,s=l.length;q<s;q++)if(k>=l[q].startTimeMS&&k<=l[q].endTimeMS){h=q;break}if(h!=l.currentItem&&h<l.length){o._360data.oLink.innerHTML=l.mainTitle+' <span class="metadata"><span class="sm2_divider"> | </span><span class="sm2_metadata">'+
l[h].title+"</span></span>";l.currentItem=h}};this.totalTime=0;this.strToTime=function(h){h=h.split(":");for(var k=0,l=h.length;l--;)k+=parseInt(h[l])*Math.pow(60,h.length-1-l,10);return k};this.data=[];this.data.givenDuration=null;this.data.currentItem=null;this.data.mainTitle=o._360data.oLink.innerHTML;for(var g=0;g<r.length;g++)this.data[g]={o:null,title:r[g].getElementsByTagName("p")[0].innerHTML,startTime:r[g].getElementsByTagName("span")[0].innerHTML,startSeconds:j.strToTime(r[g].getElementsByTagName("span")[0].innerHTML.replace(/[()]/g,
"")),duration:0,durationMS:null,startTimeMS:null,endTimeMS:null,oNote:null};p=b.getElementsByClassName("duration","div",p);this.data.givenDuration=p.length?j.strToTime(p[0].innerHTML)*1E3:0;for(g=0;g<this.data.length;g++){this.data[g].duration=parseInt(this.data[g+1]?this.data[g+1].startSeconds:(j.data.givenDuration?j.data.givenDuration:o.durationEstimate)/1E3)-this.data[g].startSeconds;this.data[g].startTimeMS=this.data[g].startSeconds*1E3;this.data[g].durationMS=this.data[g].duration*1E3;this.data[g].endTimeMS=
this.data[g].startTimeMS+this.data[g].durationMS;this.totalTime+=this.data[g].duration}};var threeSixtyPlayer=null;if(navigator.userAgent.match(/webkit/i)&&navigator.userAgent.match(/mobile/i))soundManager.useHTML5Audio=true;soundManager.debugMode=window.location.href.match(/debug=1/i);soundManager.consoleOnly=true;soundManager.flashVersion=9;soundManager.useHighPerformance=true;soundManager.useFlashBlock=true;
if(soundManager.debugMode)var t=window.setInterval(function(){if(threeSixtyPlayer&&threeSixtyPlayer.lastSound&&threeSixtyPlayer.lastSound._360data.fps&&typeof window.isHome==="undefined"){soundManager._writeDebug("fps: ~"+threeSixtyPlayer.lastSound._360data.fps);threeSixtyPlayer.lastSound._360data.fps=0}},1E3);
soundManager.onready(function(){if(soundManager.supported()){threeSixtyPlayer=new ThreeSixtyPlayer(typeof symMp3Opts=="object"?symMp3Opts:{});if(threeSixtyPlayer.config.useWaveformData)soundManager.flash9Options.useWaveformData=true;if(threeSixtyPlayer.config.useEQData)soundManager.flash9Options.useEQData=true;if(threeSixtyPlayer.config.usePeakData)soundManager.flash9Options.usePeakData=true;threeSixtyPlayer.init()}});
