/** * SoundManager 2 homepage demo JS * ------------------------------- * Numerous demo CSS minified + combined * for optimal performance. * For raw source, see individual demo pages. * -------------------------------- * Source files: * demo/play-mp3-links/script/inlineplayer.js * demo/page-player/script/page-player.js * demo/mp3-player-button/script/mp3-player-button.js * demo/360-player/script/berniecode-animator.js * demo/360-player/script/360player.js * demo/index.js */ /* Animator.js 1.1.9 This library is released under the BSD license: Copyright (c) 2006, Bernard Sumption. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name BernieCode nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. SoundManager 2: "Turntable UI": Base and API Copyright (c) 2015, Scott Schiller. All rights reserved. http://www.schillmania.com/projects/soundmanager2/ Code provided under BSD license. http://schillmania.com/projects/soundmanager2/license.txt SoundManager 2: "Turntable UI": Demo application Copyright (c) 2015, Scott Schiller. All rights reserved. http://www.schillmania.com/projects/soundmanager2/ Code provided under BSD license. http://schillmania.com/projects/soundmanager2/license.txt */ (function(){function a(){var b=this,a=this,c=soundManager,k=navigator.userAgent.match(/msie/i);this.playableClass="inline-playable";this.excludeClass="inline-exclude";this.links=[];this.sounds=[];this.soundsByURL=[];this.indexByURL=[];this.lastSound=null;this.soundCount=0;this.config={playNext:!1,autoPlay:!1};this.css={sDefault:"sm2_link",sLoading:"sm2_loading",sPlaying:"sm2_playing",sPaused:"sm2_paused"};this.addEventHandler="undefined"!==typeof window.addEventListener?function(b,a,c){return b.addEventListener(a, c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)};this.removeEventHandler="undefined"!==typeof window.removeEventListener?function(b,a,c){return b.removeEventListener(a,c,!1)}:function(b,a,c){return b.detachEvent("on"+a,c)};this.classContains=function(b,a){return"undefined"!==typeof b.className?b.className.match(new RegExp("(\\s|^)"+a+"(\\s|$)")):!1};this.addClass=function(a,d){a&&d&&!b.classContains(a,d)&&(a.className=(a.className?a.className+" ":"")+d)};this.removeClass=function(a,d){a&&d&&b.classContains(a, d)&&(a.className=a.className.replace(new RegExp("( "+d+")|("+d+")","g"),""))};this.getSoundByURL=function(a){return"undefined"!==typeof b.soundsByURL[a]?b.soundsByURL[a]:null};this.isChildOfNode=function(a,b){if(!a||!a.parentNode)return!1;b=b.toLowerCase();do a=a.parentNode;while(a&&a.parentNode&&a.nodeName.toLowerCase()!==b);return a.nodeName.toLowerCase()===b?a:null};this.events={play:function(){a.removeClass(this._data.oLink,this._data.className);this._data.className=a.css.sPlaying;a.addClass(this._data.oLink, this._data.className)},stop:function(){a.removeClass(this._data.oLink,this._data.className);this._data.className=""},pause:function(){a.removeClass(this._data.oLink,this._data.className);this._data.className=a.css.sPaused;a.addClass(this._data.oLink,this._data.className)},resume:function(){a.removeClass(this._data.oLink,this._data.className);this._data.className=a.css.sPlaying;a.addClass(this._data.oLink,this._data.className)},finish:function(){a.removeClass(this._data.oLink,this._data.className); this._data.className="";if(a.config.playNext){var b=a.indexByURL[this._data.oLink.href]+1;bm?"0"+m:m):{min:d,sec:m}};this.getSoundByObject=function(b){return"undefined"!== typeof a.soundsByObject[b.id]?a.soundsByObject[b.id]:null};this.getPreviousItem=function(a){if(a.previousElementSibling)a=a.previousElementSibling;else for(a=a.previousSibling;a&&a.previousSibling&&1!==a.previousSibling.nodeType;)a=a.previousSibling;return"li"!==a.nodeName.toLowerCase()?null:a.getElementsByTagName("a")[0]};this.playPrevious=function(b){b||(b=a.lastSound);if(!b)return!1;(b=a.getPreviousItem(b._data.oLI))&&c.handleClick({target:b});return b};this.getNextItem=function(a){if(a.nextElementSibling)a= a.nextElementSibling;else for(a=a.nextSibling;a&&a.nextSibling&&1!==a.nextSibling.nodeType;)a=a.nextSibling;return"li"!==a.nodeName.toLowerCase()?null:a.getElementsByTagName("a")[0]};this.playNext=function(b){b||(b=a.lastSound);if(!b)return!1;(b=a.getNextItem(b._data.oLI))&&c.handleClick({target:b});return b};this.setPageTitle=function(b){if(a.config.updatePageTitle)try{document.title=(b?b+" - ":"")+a.pageTitle}catch(d){a.setPageTitle=function(){}}};this.events={play:function(){c.removeClass(this._data.oLI, this._data.className);this._data.className=c.css.sPlaying;c.addClass(this._data.oLI,this._data.className);a.setPageTitle(this._data.originalTitle)},stop:function(){c.removeClass(this._data.oLI,this._data.className);this._data.className="";this._data.oPosition.style.width="0px";a.setPageTitle();a.resetPageIcon()},pause:function(){c.dragActive||(c.removeClass(this._data.oLI,this._data.className),this._data.className=c.css.sPaused,c.addClass(this._data.oLI,this._data.className),a.setPageTitle(),a.resetPageIcon())}, resume:function(){c.dragActive||(c.removeClass(this._data.oLI,this._data.className),this._data.className=c.css.sPlaying,c.addClass(this._data.oLI,this._data.className))},finish:function(){c.removeClass(this._data.oLI,this._data.className);this._data.className="";this._data.oPosition.style.width="0px";a.config.playNext?c.playNext(this):(a.setPageTitle(),a.resetPageIcon())},whileloading:function(){function b(){this._data.oLoading.style.width=this.bytesLoaded/this.bytesTotal*100+"%";!this._data.didRefresh&& this._data.metadata&&(this._data.didRefresh=!0,this._data.metadata.refresh())}if(c.config.useThrottling){var d=new Date;if(d&&50 | Load failed, d\'oh! '+(b.sandbox.noRemote?" Possible cause: Flash sandbox is denying remote URL access.": b.sandbox.noLocal?"Flash denying local filesystem access":"404?")+"";setTimeout(function(){a.innerHTML=d},5E3)}},whileplaying:function(){var l=null;c.dragActive||!c.config.useThrottling?(a.updateTime.apply(this),9<=b.flashVersion&&(c.config.usePeakData&&this.instanceOptions.usePeakData&&a.updatePeaks.apply(this),(c.config.useWaveformData&&this.instanceOptions.useWaveformData||c.config.useEQData&&this.instanceOptions.useEQData)&&a.updateGraph.apply(this)),this._data.metadata&&(l=new Date)&& 500c.config.flashVersion||!c.config.useWaveformData&&!c.config.useEQData)){var a= this._data.oGraph.getElementsByTagName("div"),b;if(c.config.useWaveformData)for(b=255;b--;)a[255-b].style.marginTop=9+Math.ceil(-8*this.waveformData.left[b])+"px";else for(b=255;b--;)a[255-b].style.marginTop=18-(1+Math.ceil(-9*this.eqData[b]))+"px"}};this.resetGraph=function(){if(c.config.useEQData&&!(9>c.config.flashVersion)){var a=this._data.oGraph.getElementsByTagName("div"),b=c.config.useEQData?"17px":"9px",m=c.config.fillGraph?"32px":"1px",d;for(d=255;d--;)a[255-d].style.marginTop=b,a[255-d].style.height= m}};this.updateTime=function(){var b=a.strings.timing.replace("%s1",a.getTime(this.position,!0)),b=b.replace("%s2",a.getTime(a.getDurationEstimate(this),!0));this._data.oTiming.innerHTML=b};this.getTheDamnTarget=function(b){return b.target||(window.event?window.event.srcElement:null)};this.withinStatusBar=function(b){return a.isChildOfClass(b,"playlist")&&a.isChildOfClass(b,"controls")};this.handleClick=function(l){if(2===l.button)return c.config.allowRightClick||c.stopEvent(l),c.config.allowRightClick; var h=a.getTheDamnTarget(l),m,r,e;if(!h)return!0;a.dragActive&&a.stopDrag();if(a.withinStatusBar(h))return!1;"a"!==h.nodeName.toLowerCase()&&(h=a.getParentByNodeName(h,"a"));if(!h||!h.href||!b.canPlayLink(h)&&!a.hasClass(h,"playable")||a.hasClass(h,"exclude"))return!0;a.initUL(a.getParentByNodeName(h,"ul"));a.initItem(h);m=h.href;(r=a.getSoundByObject(h))?(a.setPageTitle(r._data.originalTitle),r===a.lastSound?2!==r.readyState?1!==r.playState?r.play():r.togglePause():b._writeDebug("Warning: sound failed to load (security restrictions, 404 or bad format)", 2):(a.lastSound&&a.stopSound(a.lastSound),d&&r._data.oTimingBox.appendChild(d),r.togglePause())):(r=b.createSound({id:h.id,url:decodeURI(m),onplay:a.events.play,onstop:a.events.stop,onpause:a.events.pause,onresume:a.events.resume,onfinish:a.events.finish,type:h.type||null,whileloading:a.events.whileloading,whileplaying:a.events.whileplaying,onmetadata:a.events.metadata,onload:a.events.onload}),m=a.oControls.cloneNode(!0),e=h.parentNode,e.appendChild(m),d&&e.appendChild(d),a.soundsByObject[h.id]=r, r._data={oLink:h,oLI:e,oControls:a.select("controls",e),oStatus:a.select("statusbar",e),oLoading:a.select("loading",e),oPosition:a.select("position",e),oTimingBox:a.select("timing",e),oTiming:a.select("timing",e).getElementsByTagName("div")[0],oPeak:a.select("peak",e),oGraph:a.select("spectrum-box",e),className:a.css.sPlaying,originalTitle:h.innerHTML,metadata:null},d&&r._data.oTimingBox.appendChild(d),r._data.oLI.getElementsByTagName("ul").length&&(r._data.metadata=new Metadata(r)),h=a.strings.timing.replace("%s1", a.config.emptyTime),h=h.replace("%s2",a.config.emptyTime),r._data.oTiming.innerHTML=h,a.sounds.push(r),a.lastSound&&a.stopSound(a.lastSound),a.resetGraph.apply(r),r.play());a.lastSound=r;return a.stopEvent(l)};this.handleMouseDown=function(b){t&&b.touches&&(b=b.touches[0]);if(2===b.button)return c.config.allowRightClick||c.stopEvent(b),c.config.allowRightClick;var d=a.getTheDamnTarget(b);if(!d||!a.withinStatusBar(d))return!0;a.dragActive=!0;a.lastSound.pause();a.setPosition(b);t?f.add(document,"touchmove", a.handleMouseMove):f.add(document,"mousemove",a.handleMouseMove);a.addClass(a.lastSound._data.oControls,"dragging");return a.stopEvent(b)};this.handleMouseMove=function(b){t&&b.touches&&(b=b.touches[0]);if(a.dragActive)if(a.config.useThrottling){var d=new Date;20b;b++)a.vuMeterData[b]= [];for(b=0;16>b;b++)for(d=0;16>d;d++)n.setAttribute("width",16),n.setAttribute("height",16),m.fillStyle=c,m.fillRect(0,0,7,15),m.fillRect(8,0,7,15),m.fillStyle=r,m.fillRect(0,15-b,7,16-(16-b)),m.fillRect(8,15-d,7,16-(16-d)),m.clearRect(0,3,16,1),m.clearRect(0,7,16,1),m.clearRect(0,11,16,1),a.vuMeterData[b][d]=n.toDataURL("image/png")};this.testCanvas=function(){var b=document.createElement("canvas"),a=null;if(!b||"undefined"===typeof b.getContext)return null;a=b.getContext("2d");if(!a||"function"!== typeof b.toDataURL)return null;try{b.toDataURL("image/png")}catch(m){return null}return b};this.initItem=function(b){b.id||(b.id="pagePlayerMP3Sound"+a.soundCount++);a.addClass(b,a.css.sDefault)};this.initUL=function(d){9<=b.flashVersion&&a.addClass(d,a.cssBase)};this.init=function(l){function h(b){f[b](document,"click",a.handleClick);t?(f[b](document,"touchstart",a.handleMouseDown),f[b](document,"touchend",a.stopDrag)):(f[b](document,"mousedown",a.handleMouseDown),f[b](document,"mouseup",a.stopDrag)); f[b](window,"unload",p)}l?(b._writeDebug("pagePlayer.init(): Using custom configuration"),this.config=this._mergeObjects(l,this.config)):b._writeDebug("pagePlayer.init(): Using default configuration");var m,r,e,x;this.cssBase=[];b.useFlashBlock=!0;!b.html5Only&&9<=b.flashVersion?(b.defaultOptions.usePeakData=this.config.usePeakData,b.defaultOptions.useWaveformData=this.config.useWaveformData,b.defaultOptions.useEQData=this.config.useEQData,this.config.usePeakData&&this.cssBase.push("use-peak"),(this.config.useWaveformData|| this.config.useEQData)&&this.cssBase.push("use-spectrum"),this.cssBase=this.cssBase.join(" "),this.config.useFavIcon&&((n=a.testCanvas())&&g?a.createVUData():this.config.useFavIcon=!1)):(this.config.usePeakData||this.config.useWaveformData||this.config.useEQData)&&b._writeDebug("Page player: Note: soundManager.flashVersion = 9 is required for peak/waveform/EQ features.");k=document.createElement("div");k.innerHTML='
\n
\n
\n
\n
\n
\n
\n
\n %s1 / %s2\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
'; if(9<=b.flashVersion){d=a.select("spectrum-container",k);d=k.removeChild(d);m=a.select("spectrum-box",d);r=m.getElementsByTagName("div")[0];e=document.createDocumentFragment();x=null;for(l=256;l--;)x=r.cloneNode(!1),x.style.left=l+"px",e.appendChild(x);m.removeChild(r);m.appendChild(e)}else k.removeChild(a.select("spectrum-container",k)),k.removeChild(a.select("peak",k));a.oControls=k.cloneNode(!0);l=a.select("timing-data",k);a.strings.timing=l.innerHTML;l.innerHTML="";l.id="";p=function(){h("remove")}; h("add");b._writeDebug("pagePlayer.init(): Ready",1);a.config.autoStart&&c.handleClick({target:c.getByClassName("playlist","ul")[0].getElementsByTagName("a")[0]})}}soundManager.useFlashBlock=!0;soundManager.onready(function(){pagePlayer=new PagePlayer;pagePlayer.init("undefined"!==typeof PP_CONFIG?PP_CONFIG:null)}); (function(){function a(){var b=this,a=this,c=soundManager,k=navigator.userAgent.match(/ipad|iphone/i),q=navigator.userAgent.match(/msie/i);this.excludeClass="button-exclude";this.links=[];this.sounds=[];this.soundsByURL={};this.indexByURL={};this.lastSound=null;this.soundCount=0;this.config={playNext:!1,autoPlay:!1};this.css={sDefault:"sm2_button",sLoading:"sm2_loading",sPlaying:"sm2_playing",sPaused:"sm2_paused"};this.includeClass=this.css.sDefault;this.addEventHandler="undefined"!==typeof window.addEventListener? function(b,a,c){return b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)};this.removeEventHandler="undefined"!==typeof window.removeEventListener?function(b,a,c){return b.removeEventListener(a,c,!1)}:function(b,a,c){return b.detachEvent("on"+a,c)};this.classContains=function(b,a){return"undefined"!==typeof b.className?b.className.match(new RegExp("(\\s|^)"+a+"(\\s|$)")):!1};this.addClass=function(a,c){a&&c&&!b.classContains(a,c)&&(a.className=(a.className?a.className+" ":"")+c)}; this.removeClass=function(a,c){a&&c&&b.classContains(a,c)&&(a.className=a.className.replace(new RegExp("( "+c+")|("+c+")","g"),""))};this.getSoundByURL=function(a){return"undefined"!==typeof b.soundsByURL[a]?b.soundsByURL[a]:null};this.isChildOfNode=function(b,a){if(!b||!b.parentNode)return null;a=a.toLowerCase();do b=b.parentNode;while(b&&b.parentNode&&b.nodeName.toLowerCase()!==a);return b.nodeName.toLowerCase()===a?b:null};this.events={play:function(){a.removeClass(this._data.oLink,this._data.className); this._data.className=a.css.sPlaying;a.addClass(this._data.oLink,this._data.className)},stop:function(){a.removeClass(this._data.oLink,this._data.className);this._data.className=""},pause:function(){a.removeClass(this._data.oLink,this._data.className);this._data.className=a.css.sPaused;a.addClass(this._data.oLink,this._data.className)},resume:function(){a.removeClass(this._data.oLink,this._data.className);this._data.className=a.css.sPlaying;a.addClass(this._data.oLink,this._data.className)},finish:function(){a.removeClass(this._data.oLink, this._data.className);this._data.className="";if(a.config.playNext){var b=a.indexByURL[this._data.oLink.href]+1;b=Math.abs(this.state-this.target)?this.state=this.target:this.state+=a;try{this.propagate()}finally{this.options.onStep.call(this),this.target==this.state&&(window.clearInterval(this.intervalId),this.intervalId=null,this.options.onComplete.call(this))}},play:function(){this.seekFromTo(0,1)},reverse:function(){this.seekFromTo(1,0)},inspect:function(){for(var a="#"}};Animator.applyDefaults=function(a,c){c=c||{};var b,f={};for(b in a)f[b]=void 0!==c[b]?c[b]:a[b];return f};Animator.makeArray=function(a){if(null==a)return[];if(!a.length)return[a];for(var c=[],b=0;b=b?b:2-b}}; Animator.tx={easeInOut:function(a){return-Math.cos(a*Math.PI)/2+.5},linear:function(a){return a},easeIn:Animator.makeEaseIn(1.5),easeOut:Animator.makeEaseOut(1.5),strongEaseIn:Animator.makeEaseIn(2.5),strongEaseOut:Animator.makeEaseOut(2.5),elastic:Animator.makeElastic(1),veryElastic:Animator.makeElastic(3),bouncy:Animator.makeBounce(1),veryBouncy:Animator.makeBounce(3)}; function NumericalStyleSubject(a,c,b,f,n){this.els=Animator.makeArray(a);this.property="opacity"==c&&window.ActiveXObject?"filter":Animator.camelize(c);this.from=parseFloat(b);this.to=parseFloat(f);this.units=null!=n?n:"px"} NumericalStyleSubject.prototype={setState:function(a){a=this.getStyle(a);for(var c=0,b=0;b=f;f++)a=Math.max(0,Math.min(255,parseInt(b[f]))),c+=ColorStyleSubject.toColorPart(a);return c}if(b=ColorStyleSubject.parseColor.hexRe.exec(a)){if(3==b[1].length){for(f=0;3>f;f++)c+=b[1].charAt(f)+b[1].charAt(f);return c}return"#"+b[1]}return!1};ColorStyleSubject.toColorPart=function(a){255a?"0"+c:c};ColorStyleSubject.parseColor.rgbRe=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i; ColorStyleSubject.parseColor.hexRe=/^\#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;function DiscreteStyleSubject(a,c,b,f,n){this.els=Animator.makeArray(a);this.property=Animator.camelize(c);this.from=b;this.to=f;this.threshold=n||.5}DiscreteStyleSubject.prototype={setState:function(a){for(var c=0;c=a?(this.forwards=!1,this.animators[this.current].seekTo(0)):(this.forwards=!0,this.animators[this.current].seekTo(1))}}; function Accordion(a){this.setOptions(a);a=this.options.initialSection;var c;this.options.rememberance&&(c=document.location.hash.substring(1));this.rememberanceTexts=[];this.ans=[];for(var b=this,f=0;fa?1:0);this.options.rememberance&&(document.location.hash=this.rememberanceTexts[a])}};var threeSixtyPlayer; (function(a){function c(){var b=this,c=this,n=soundManager,k=navigator.userAgent,q=k.match(/msie/i),d=k.match(/opera/i),e=k.match(/safari/i),g=k.match(/chrome/i),t=k.match(/ipad|iphone/i),p="undefined"===typeof a.G_vmlCanvasManager&&"undefined"!==typeof document.createElement("canvas").getContext("2d"),l=d||g?359.9:360,h=navigator.userAgent.match(/msie [678]/i)?1:2;this.excludeClass="threesixty-exclude";this.links=[];this.sounds=[];this.soundsByURL=[];this.indexByURL=[];this.lastTouchedSound=this.lastSound= null;this.soundCount=0;this.vuMeter=this.oUIImageMap=this.oUITemplate=null;this.callbackCount=0;this.peakDataHistory=[];this.config={playNext:!1,autoPlay:!1,allowMultiple:!1,loadRingColor:"#ccc",playRingColor:"#000",backgroundRingColor:"#eee",segmentRingColor:"rgba(255,255,255,0.33)",segmentRingColorAlt:"rgba(0,0,0,0.1)",loadRingColorMetadata:"#ddd",playRingColorMetadata:"rgba(128,192,256,0.9)",circleDiameter:null,circleRadius:null,animDuration:500,animTransition:a.Animator.tx.bouncy,showHMSTime:!1, scaleFont:!0,useWaveformData:!1,waveformDataColor:"#0099ff",waveformDataDownsample:3,waveformDataOutside:!1,waveformDataConstrain:!1,waveformDataLineRatio:.64,useEQData:!1,eqDataColor:"#339933",eqDataDownsample:4,eqDataOutside:!0,eqDataLineRatio:.54,usePeakData:!0,peakDataColor:"#ff33ff",peakDataOutside:!0,peakDataLineRatio:.5,useAmplifier:!0,fontSizeMax:null,scaleArcWidth:1,useFavIcon:!1};this.css={sDefault:"sm2_link",sBuffering:"sm2_buffering",sPlaying:"sm2_playing",sPaused:"sm2_paused"};this.addEventHandler= "undefined"!==typeof a.addEventListener?function(b,a,c){return b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)};this.removeEventHandler="undefined"!==typeof a.removeEventListener?function(b,a,c){return b.removeEventListener(a,c,!1)}:function(b,a,c){return b.detachEvent("on"+a,c)};this.hasClass=function(b,a){return"undefined"!==typeof b.className?b.className.match(new RegExp("(\\s|^)"+a+"(\\s|$)")):!1};this.addClass=function(a,c){a&&c&&!b.hasClass(a,c)&&(a.className=(a.className? a.className+" ":"")+c)};this.removeClass=function(a,c){a&&c&&b.hasClass(a,c)&&(a.className=a.className.replace(new RegExp("( "+c+")|("+c+")","g"),""))};this.getElementsByClassName=function(a,c,d){var h=d||document;d=[];var l,e=[];if("undefined"!==typeof c&&"string"!==typeof c)for(l=c.length;l--;)e&&e[c[l]]||(e[c[l]]=h.getElementsByTagName(c[l]));else e=c?h.getElementsByTagName(c):h.all||h.getElementsByTagName("*");if("string"!==typeof c)for(l=c.length;l--;)for(h=e[c[l]].length;h--;)b.hasClass(e[c[l]][h], a)&&d.push(e[c[l]][h]);else for(l=0;lc?"0"+c:c):{min:d,sec:c}};this.clearCanvas=function(b){var a=null,c;b.getContext&&(a=b.getContext("2d"));a&&(c=b.offsetWidth,b=b.offsetHeight,a.clearRect(-(c/2),-(b/2),c,b))};this.updatePlaying=function(){var a=this._360data.showHMSTime?b.getTime(this.position,!0):parseInt(this.position/ 1E3,10),c=b.config.scaleArcWidth;this.bytesLoaded&&(this._360data.lastValues.bytesLoaded=this.bytesLoaded,this._360data.lastValues.bytesTotal=this.bytesTotal);this.position&&(this._360data.lastValues.position=this.position);this.durationEstimate&&(this._360data.lastValues.durationEstimate=this.durationEstimate);b.drawSolidArc(this._360data.oCanvas,b.config.backgroundRingColor,this._360data.width,this._360data.radius*c,b.deg2rad(l),!1);b.drawSolidArc(this._360data.oCanvas,this._360data.metadata?b.config.loadRingColorMetadata: b.config.loadRingColor,this._360data.width,this._360data.radius*c,b.deg2rad(this._360data.lastValues.bytesLoaded/this._360data.lastValues.bytesTotal*l),0,!0);0!==this._360data.lastValues.position&&b.drawSolidArc(this._360data.oCanvas,this._360data.metadata?b.config.playRingColorMetadata:b.config.playRingColor,this._360data.width,this._360data.radius*c,b.deg2rad(1===this._360data.didFinish?l:this._360data.lastValues.position/this._360data.lastValues.durationEstimate*l),0,!0);this._360data.metadata&& this._360data.metadata.events.whileplaying();a!==this._360data.lastTime&&(this._360data.lastTime=a,this._360data.oTiming.innerHTML=a);(this.instanceOptions.useWaveformData||this.instanceOptions.useEQData)&&p&&b.updateWaveform(this);b.config.useFavIcon&&b.vuMeter&&b.vuMeter.updateVU(this)};this.updateWaveform=function(a){if((b.config.useWaveformData||b.config.useEQData)&&(n.features.waveformData||n.features.eqData)&&(a.waveformData.left.length||a.eqData.length||a.peakData.left)){var c=parseInt(a._360data.circleDiameter/ 2,10)/2,d,h,l,e,g,f,p,q,t;if(b.config.useWaveformData)for(l=b.config.waveformDataDownsample,l=Math.max(1,l),e=256/l,p=b.config.waveformDataOutside?1:b.config.waveformDataConstrain?.5:.565,c=b.config.waveformDataOutside?.7:.75,q=b.deg2rad(360/e*b.config.waveformDataLineRatio),d=0;256>d;d+=l)g=b.deg2rad(1/l*(d/e)*360),f=g+q,h=a.waveformData.left[d],0>h&&b.config.waveformDataConstrain&&(h=Math.abs(h)),b.drawSolidArc(a._360data.oCanvas,b.config.waveformDataColor,a._360data.width*p*(2-b.config.scaleArcWidth), a._360data.radius*c*1.25*h,f,g,!0);if(b.config.useEQData)for(l=b.config.eqDataDownsample,l=Math.max(1,l),e=192,p=b.config.eqDataOutside?1:.565,h=b.config.eqDataOutside?-1:1,c=b.config.eqDataOutside?.5:.75,q=b.deg2rad(360/(e/l)*b.config.eqDataLineRatio),t=b.deg2rad(1===a._360data.didFinish?360:a._360data.lastValues.position/a._360data.lastValues.durationEstimate*360),d=0;dt?b.config.eqDataColor:b.config.playRingColor,a._360data.width* p,a._360data.radius*c*a.eqData.left[d]*h,f,g,!0);if(b.config.usePeakData&&!a._360data.animating){c=a.peakData.left||a.peakData.right;e=3;for(d=0;d',' ','
','
']};this.uiTest=function(a){var c=document.createElement("div"),d,l,e;c.className="sm2-360ui";d=document.createElement("div");d.className="ui360"+(a?" "+a:"");c=d.appendChild(c.cloneNode(!0));d.style.position="absolute"; d.style.left="-9999px";a=document.body.appendChild(d);l=c.offsetWidth*h;e=b.getUIHTML(l);c.innerHTML=e[1]+e[2]+e[3];c=parseInt(l,10);l=parseInt(c/2,10);a=b.getElementsByClassName("sm2-timing","div",a)[0];a=parseInt(b.getStyle(a,"font-size"),10);isNaN(a)&&(a=null);d.parentNode.removeChild(d);return{circleDiameter:c,circleRadius:l,fontSizeMax:a}};this.init=function(){n._writeDebug("threeSixtyPlayer.init()");var c=b.getElementsByClassName("ui360","div"),d,l,e=[],g=!1,f=0,p,k,w,v,A;d=0;for(l=c.length;d< l;d++)e.push(c[d].getElementsByTagName("a")[0]),c[d].style.backgroundImage="none";b.oUITemplate=document.createElement("div");b.oUITemplate.className="sm2-360ui";b.oUITemplateVis=document.createElement("div");b.oUITemplateVis.className="sm2-360ui";k=b.uiTest();b.config.circleDiameter=k.circleDiameter;b.config.circleRadius=k.circleRadius;w=b.uiTest("ui360-vis");b.config.fontSizeMax=w.fontSizeMax;b.oUITemplate.innerHTML=b.getUIHTML(b.config.circleDiameter).join("");b.oUITemplateVis.innerHTML=b.getUIHTML(w.circleDiameter).join(""); d=0;for(l=e.length;da;a++)c.vuMeterData[a]=[];for(a=0;16>a;a++)for(b=0;16>b;b++)c.vuDataCanvas.setAttribute("width",16),c.vuDataCanvas.setAttribute("height",16),g.fillStyle=p,g.fillRect(0,0,7,15),g.fillRect(8,0,7,15),g.fillStyle=q,g.fillRect(0,15-a,7,16-(16-a)),g.fillRect(8,15-b,7,16-(16-b)),g.clearRect(0,3,16,1),g.clearRect(0,7,16,1),g.clearRect(0,11,16,1),c.vuMeterData[a][b]=c.vuDataCanvas.toDataURL("image/png")};this.testCanvas=function(){var a=document.createElement("canvas"), b=null;if(!a||"undefined"===typeof a.getContext)return null;b=a.getContext("2d");if(!b||"function"!==typeof a.toDataURL)return null;try{a.toDataURL("image/png")}catch(c){return null}return a};this.init=function(){a.config.useFavIcon&&(c.vuDataCanvas=c.testCanvas(),c.vuDataCanvas&&(q||k)?c.createVUData():a.config.useFavIcon=!1)};this.init()};c.prototype.Metadata=function(a,c){soundManager._wD("Metadata()");var n=this,k=a._360data.oUI360,q=k.getElementsByTagName("ul")[0].getElementsByTagName("li"), d;this.lastWPExec=0;this.refreshInterval=250;this.totalTime=0;this.events={whileplaying:function(){var e=a._360data.width,g=a._360data.radius,q=a.durationEstimate||1E3*n.totalTime,p=null,l,h;l=0;for(h=n.data.length;ln.refreshInterval&&(n.refresh(),n.lastWPExec=e)}};this.refresh= function(){var c,d,f=null,p=a.position,l=a._360data.metadata.data;c=0;for(d=l.length;c=l[c].startTimeMS&&p<=l[c].endTimeMS){f=c;break}f!==l.currentItem&&f