Google
Edit File: audio-player-b8abbcaa8fbf5ee9af3a-min.js
webpackJsonp([27],{0:function(k,l,g){g(987);g(750);g(772);g(749);g(985);g(1167);g(837)},749:function(k,l,g){YUI.add("squarespace-album-player",function(b){function e(){b.Array.each(a,function(a){b.Lang.isFunction(a.adjustAlbumImage)&&a.adjustAlbumImage()})}var a=[],d=!1,c=b.namespace("Squarespace.Widgets").AlbumPlayer=b.Base.create("albumPlayer",b.Squarespace.Widgets.SSWidget,[],{initializer:function(){this.playingTrackPosition=0},render:function(){a.push(this);c.superclass.render.apply(this,arguments)}, renderUI:function(){this.playerNode=this.get("contentBox");this.albumImage=this.playerNode.one(".album-cover img");this.adjustAlbumImage();d?e():(d=!0,b.one("window").on("resize",e));this.trackListNode=this.playerNode.one(".tracks");this.tracksNode=this.trackListNode.all(".track");this.numberOfTracks=this.tracksNode.size();this.controlsNode=this.playerNode.one(".album-controls");this.timerNode=this.playerNode.one(".timer");this.volumeBarNode=this.playerNode.one(".volume-bar");this.artistNameNode= this.playerNode.one(".now-playing .track-info .artist");this.trackTitleNode=this.playerNode.one(".now-playing .track-info .title");this.setupUniversalPlaybarIfExists();this.setupAudioFiles()},adjustAlbumImage:function(){if(!this.get("destroyed")){this.updateSizeClasses();var a=this.get("contentBox");a.inDoc()&&(this.albumImage&&ImageLoader.load(this.albumImage,{load:!0}),a.hasClass("loading")&&a.removeClass("loading"))}},updateSizeClasses:function(){if(!this.get("destroyed")){var a=this.get("contentBox"), c=a.getComputedStyle("width"),c=parseInt(c,10);800>c?a.addClass("tablet"):a.removeClass("tablet");480>c?a.addClass("phone"):a.removeClass("phone")}},setupUniversalPlaybarIfExists:function(){this.playerNode.one(".now-playing")&&(this.set("hasUniversalPlaybar",!0),this.timeBarNode=this.playerNode.one(".universal-progress.track-progress-bar"),this.loadingBarNode=this.timeBarNode.one(".load-bar"),this.playingBarNode=this.timeBarNode.one(".play-bar"),this.durationNode=this.playerNode.one(".timers .duration"), this.elapsedNode=this.playerNode.one(".timers .elapsed"),this._registerEvent(b.Squarespace.Utils.onPointerAction(this.timeBarNode,this.onTimebarClick,this,null)))},bindUI:function(){var a=this.get("contentBox");this._registerEvent(a.delegate("click",this.onPlayButtonClick,this.get("playButton"),this),a.delegate("click",this.onPauseButtonClick,this.get("pauseButton",this)),a.delegate("click",this.onPlayPauseButtonClick,this.get("playPauseButton"),this),a.delegate("click",this.onStopButtonClick,this.get("stopButton"), this),a.delegate("click",this.onPrevButtonClick,this.get("prevButton"),this),a.delegate("click",this.onNextButtonClick,this.get("nextButton"),this),a.delegate("click",this.onVolumeBarClick,this.get("volumeBar"),this))},onPlayPauseButtonClick:function(a){a.halt();this.get("currentTrack")||this.setCurrentTrackByKey(0,!0);this.isTrackPlaying()?(this.pausePlayer(),this._pausedTime=this.playingTrackPosition):this.playCurrentTrack()},onPlayButtonClick:function(a){a.halt();this.get("currentTrack")||this.setCurrentTrackByKey(0, !0);this.isTrackPlaying()||this.playCurrentTrack()},onPauseButtonClick:function(a){a.halt();this.pausePlayer()},onStopButtonClick:function(a){a.halt();this._pausedTime=null;this.stopPlayBarAndTimer();this.get("currentTrack").audio.pause();this.playerNode.addClass("paused").removeClass("playing")},onPrevButtonClick:function(a){a.halt();this._pausedTime=null;a=this.get("currentTrack").index;0<a&&a--;this.setCurrentTrackByKey(a)},onNextButtonClick:function(a){a.halt();this._pausedTime=null;a=this.get("currentTrack").index; a!==this.numberOfTracks-1&&a++;this.setCurrentTrackByKey(a)},onVolumeBarClick:function(a){a.halt();var c=this.volumeBarNode.getX(),d=parseInt(this.volumeBarNode.getComputedStyle("width"),10);b.Squarespace.Singletons.Audio.set("volume",100*((a.clientX-c)/d)/100)},setCurrentTrackByKey:function(a,c){this.setCurrentTrack(this.get("trackArray")[a],c)},toggleTimerFunction:function(a){a.halt();this.countingDown.set(!this.countingDown)},setupAudioFiles:function(){var a=this.tracksNode.size();this.tracksNode.each(function(c, b){this.setupAudioTrack(c,b);b+1===a&&this.setCurrentTrackByKey(0,!0)},this)},setupAudioTrack:function(a,c){var b=a.getAttribute("id"),d=a.one(".link").getAttribute("href"),d=-1!==d.indexOf("?")?d+("&"+b):d+("?"+b),b={artist:a.getData("artist"),title:a.getData("title"),src:d,index:c,domNode:a,duration:a.getData("duration"),hasTimebar:!1};b.audio=this._registerTrack(b);this.setupTrackTimeCnnr(b);this.get("trackArray").push(b);this.bindTrackLink(b);return b},parseTrackFromHash:function(){var a=b.QueryString.parse(window.location.hash.replace("#", "")).track,a=parseInt(a,10);return b.Lang.isNumber(a)?a:0},setupTrackTimeCnnr:function(a){a.domNode.one(".track-progress-bar")&&(a.hasTimebar=!0,a.timeBarNode=a.domNode.one(".track-progress-bar"),a.loadingBarNode=a.domNode.one(".load-bar"),a.playingBarNode=a.domNode.one(".play-bar"),a.timerNode=a.domNode.one(".track-time"),a.elapsedNode=a.domNode.one(".timers .elapsed"),a.durationNode=a.domNode.one(".timers .duration"),this._registerEvent(a.timeBarNode.on("click",this.onTimebarClick,this,a)))},onTimebarClick:function(a, c){a.halt();b.Lang.isNull(c)&&(c=this.get("currentTrack"));var d=a.target,e=d.getX(),d=parseInt(d.getComputedStyle("width"),10),e=(a.clientX-e)/d,d=c.audio.get("duration");this.get("currentTrack")!==c?(this._pausedTime=null,this.setCurrentTrack(c)):this.isTrackPlaying()?c.audio.seek(d*e):this.playCurrentTrack()},_registerTrack:function(a){var c=a.src;8<c.split("/").length&&(c=c.split("/").slice(0,8).join("/"));return b.Squarespace.Singletons.Audio.register({url:c,playing:b.bind(this.whilePlayingDOMUpdates, this),ready:b.bind(this.finishLoading,this),pause:b.bind(function(a){a.isTarget&&this.pausePlayer()},this),ended:b.bind(function(c){c.isTarget&&this.get("currentTrack").index===a.index&&this.playNextTrackOnList()},this)})},playNextTrackOnList:function(){this.get("currentTrack").index!==this.numberOfTracks-1?this.setCurrentTrack(this.get("trackArray")[this.get("currentTrack").index+1],!1):this.pausePlayer()},whilePlayingDOMUpdates:function(a){if(a.isTarget){var c=a.position;a=a.target.get("duration"); var b=100*(c/a)+"%";this.playingTrackPosition=c;this.get("hasUniversalPlaybar")&&this.playingBarNode.setStyle("width",b);this.get("currentTrack.hasTimebar")&&this.get("currentTrack").playingBarNode.setStyle("width",b);this.updateCurrentTrackTimer(c,a)}},updateCurrentTrackTimer:function(a,c){this.countingDown&&(a=c-a);var d=Math.floor(a/1E3%60),e=Math.floor(a/6E4);10>d&&(d="0"+d);d=e+":"+d;this.get("hasUniversalPlaybar")&&this.elapsedNode&&this.elapsedNode.set("text",d);this.get("currentTrack.hasTimebar")&& this.get("currentTrack.timerNode").set("text",b.Lang.isValue(d)?d:"")},stopPlayBarAndTimer:function(){this.get("hasUniversalPlaybar")&&this.playingBarNode.setStyle("width","0%");this.get("currentTrack.timeCnnrNode")&&this.get("currentTrack.timeCnnrNode.playingBarNode").setStyle("width","0%");this.updateCurrentTrackTimer(0,this.get("currentTrack").audio.get("duration"))},finishLoading:function(a){b.Lang.isValue(this._pausedTime)&&a.target.seek(this._pausedTime);this.get("hasUniversalPlaybar")&&this.durationNode&& this.durationNode.set("text",a.target.get("duration"))},resetTimebars:function(){b.Array.each(this.get("trackArray"),function(a,c){if(a.hasTimebar&&a.audio){var d=b.Lang.isValue(a.duration)?a.duration:"";a.playingBarNode.setStyle("width",0);a.domNode.one(".track-time").set("innerHTML",d)}},this)},setCurrentTrack:function(a,c){a&&(this.set("currentTrack",a),this.get("hasUniversalPlaybar")&&(this.artistNameNode.set("text",a.domNode.getData("artist")),this.trackTitleNode.set("text",a.domNode.getData("title")), this.durationNode.set("text",a.duration),this.elapsedNode.set("text","0:00")),this.trackListNode.all(".track").removeClass("selected"),a.domNode.addClass("selected"),c||this.playCurrentTrack())},isTrackPlaying:function(a){return this.playerNode.hasClass("playing")},bindTrackLink:function(a){this._registerEvent(a.domNode.one(".track-info").on("click",function(c){c.halt();this._pausedTime=null;this.get("currentTrack")===a?a.audio.seek(0):this.resetTimebars();this.setCurrentTrack(a,!1)},this));this._registerEvent(a.domNode.on("dblclick", function(a){a.halt();this._pausedTime=null;this.get("currentTrack").audio.seek(0)},this))},playCurrentTrack:function(){this.pausePlayer();b.Squarespace.Singletons.Audio.set("volume",100);this.playerNode.addClass("playing").removeClass("paused");this.get("currentTrack").audio.play()},stopPlayer:function(){this.playerNode.removeClass("playing").removeClass("paused");this.get("currentTrack").audio.pause();this.stopPlayBarAndTimer()},pausePlayer:function(){var a=this.get("currentTrack");this.playerNode&& (a&&a.audio)&&(this.playerNode.addClass("paused").removeClass("playing"),a.audio.pause())},setVolume:function(a){this.volumeBarNode&&this.volumeScrubNode.setStyle("left",a+"%");b.Squarespace.Singletons.Audio.set("volume",a/100)}},{ATTRS:{playButton:{},pauseButton:{},playPauseButton:{value:"a.button"},stopButton:{},volumeBar:{},nowPlaying:{},prevButton:{},nextButton:{},hasUniversalPlaybar:{value:!1},currentTrack:{value:{}},trackArray:{value:[]},countingDown:{value:!1}}});b.config.win.Squarespace.onInitialize(b, function(){b.all(".sqs-audio-playlist").each(function(a,c){new b.Squarespace.Widgets.AlbumPlayer({contentBox:a,render:!0})})})},"1.0",{requires:["querystring","widget","squarespace-audio","squarespace-util"]})},750:function(k,l,g){YUI.add("squarespace-audio",function(b){var e=function(){},a={timeupdate:"playing",loadstart:"load",loadeddata:"ready",pause:"pause",ended:"ended"},d=b.Base.create("track",b.Base,[],{initializer:function(){this.LOG=new b.Squarespace.Debugger({name:this.name,output:!1}); this.publish("play");this.publish("pause");this.publish("seek")},play:function(){this.fire("play",{track:this})},pause:function(){this.fire("pause",{track:this})},seek:function(a){this.fire("seek",{track:this,position:a})},notify:function(c,d,f){var e=a[c.type];b.Lang.isValue(e)||this.LOG.warn("Event type caught, but not mapped.",c.type,e);var g=this.get(e);c=b.merge(c,{type:e,target:d,isTarget:d===this});c.isTarget&&(c.position=1E3*f.currentTime);"load"===e&&!c.isTarget&&this.get("pause")(c);"ready"=== e&&c.isTarget&&this._updateDuration(f.duration);g(c)},_updateDuration:function(a){isNaN(a)&&(a=0);this.set("duration",1E3*a)}},{ATTRS:{url:{validator:b.Squarespace.AttrValidators.isNullOrString},duration:{value:0,validator:b.Squarespace.AttrValidators.isNumber},playing:{value:e,validator:b.Squarespace.AttrValidators.isFunction},pause:{value:e,validator:b.Squarespace.AttrValidators.isFunction},load:{value:e,validator:b.Squarespace.AttrValidators.isFunction},ended:{value:e,validator:b.Squarespace.AttrValidators.isFunction}, ready:{value:e,validator:b.Squarespace.AttrValidators.isFunction}}}),e=b.Base.create("audio",b.Base,[],{initializer:function(){this.LOG=new b.Squarespace.Debugger({name:this.name,output:!1});this._tracks={};this._trackEvents={};this._bindAudioEvents();this._publishEvents()},destructor:function(){var c=this.get("audio"),d=b.Object.keys(a),f=this._notify.bind(this);b.Object.each(d,function(a){this.removeEventListener(a,f)},c);b.one(c).remove(!0)},_publishEvents:function(){b.Object.values(a,function(a){this.publish(a, {emitFacade:!1})},this)},play:function(a){b.Lang.isValue(a)?a=a.get("url"):(this.LOG.warn("`deliver` called with no track, stopping playback."),a="");var d=this.get("audio");d.src=a;d.load();var f=function(){var a=this.get("audio");a.play();a.removeEventListener("loadstart",f)}.bind(this);d.addEventListener("loadstart",f)},pause:function(){this.get("audio").pause()},stop:function(){throw Error("You can't stop the funk.");},register:function(a){if(!b.Lang.isValue(a.url))return this.LOG.warn("`register` called with no url, ignoring."), null;var h=this._tracks[a.url];b.Lang.isValue(h)&&(this.LOG.warn("This source has already been registered, cleaning.",a.url),this.remove(h));h=new d(a);this._tracks[a.url]=h;this._bindTrackEvents(h);return h},remove:function(a){b.Array.invoke(this._trackEvents[a.url],"detach");delete this._tracks[a.url]},_notify:function(c){var d=this.get("audio"),f=this._tracks[d.currentSrc];b.Object.each(this._tracks,function(a){a.notify(c,f,d)});this.fire(a[c.type],{trackSrc:d.currentSrc,eventType:a[c.type],position:d.currentTime, duration:d.duration,seek:this.get("isSeek"),previousPosition:this.get("previousPosition")});this.set("isSeek",!1)},_bindAudioEvents:function(){var c=b.Object.keys(a),d=this._notify.bind(this);b.Array.each(c,function(a){this.addEventListener(a,d)},this.get("audio"))},_bindTrackEvents:function(a){this._trackEvents[a.get("url")]=[a.on("play",this._playTrack,this),a.on("pause",this.pause,this),a.on("seek",this._seekTrack,this),a.on("destroy",this._removeTrack,this)]},_playTrack:function(a){this.play(a.track)}, _seekTrack:function(a){this.set("previousPosition",this.get("audio").currentTime);this.set("isSeek",!0);this.get("audio").currentTime=a.position/1E3},_removeTrack:function(a){this.remove(a.target)}},{ATTRS:{audio:{valueFn:function(){return b.Node.create('<audio id="the-funk"></audio>').getDOMNode()},readOnly:!0,writeOnce:!0},volume:{getter:function(){return this.get("audio").volume},setter:function(a){if(!b.Lang.isValue(a)||0>a||1<a)this.LOG.warn("Volume must be between 0 and 1. Normalizing."),a= 1;return this.get("audio").volume=a}},isSeek:{value:!1},previousPosition:{value:0}}});b.namespace("Squarespace.Singletons");b.Lang.isValue(b.Squarespace.Singletons.Audio)||(b.Squarespace.Singletons.Audio=new e,b.Squarespace.Singletons.MediaTracker=new b.Squarespace.MediaTracker({audio:b.Squarespace.Singletons.Audio,eventTypes:b.Object.values(a)}));b.config.win.Squarespace.onDestroy(b,b.bind(function(a,b){a.destroy();b.destroy()},b,b.Squarespace.Singletons.Audio,b.Squarespace.Singletons.MediaTracker))}, "1.0",{requires:"array-invoke base event node squarespace-attr-validators squarespace-debugger squarespace-media-tracker".split(" ")})},772:function(k,l,g){var b=g(99);YUI.add("squarespace-media-tracker",function(e){e.namespace("Squarespace");e.Squarespace.MediaTracker=e.Base.create("MediaTracker",e.Base,[],{initializer:function(){this.on("scrollStarted",function(a){this.set("isScrolling",!0)});this.on("scrollFinished",function(a){this.set("isScrolling",!1)});this._audioEvents=this.get("audio").on(this.get("eventTypes"), function(a){this._trackEvent({type:a.eventType,time:Math.floor(a.position),from:0,to:0,track:a.trackSrc,duration:Math.floor(a.duration),seek:a.seek,seekStart:Math.floor(a.previousPosition),recordType:b.AUDIO})},this)},destructor:function(){this._audioEvents.detach();this._audioEvents=null},_postMediaEvent:function(a,b){e.Data.post({url:"/api/census/RecordHit",data:{data:a},success:noop,failure:noop})},_trackEvent:function(a){!this._updateTrackSwitch(a)&&!this._updateIgnoredEvent(a)&&(this._isDroppedBuffer(a)|| this.set("seekStart",a.seekStart),!this._updateScroll(a)&&!this._updateHeartbeat(a)&&(this._updateSeek(a),this._updateMetaData(a)))},_isUpdatedPosition:function(a){return this.get("seekStart")!==this._retrieveTrackPosition(a.track)},_isDroppedBuffer:function(a){return a.seek&&"load"===this.get("prevEvent")},_shouldRecordLastPlay:function(a){a=this.get("seekStart")-this._retrieveTrackPosition(a.track);return 1<=a&&5>=a},_isPlayBlock:function(a){a=a.time-this._retrieveTrackPosition(a.track);return 1<= a&&5>=a},_isFirstPlay:function(a){return 0===a.time},_isPlayEvent:function(a){return"playing"===a.type&&!this.get("isTrackSwitching")&&!this.get("isScrolling")},_isPauseEvent:function(a){return"pause"===a.type},_isReadyEvent:function(a){return"ready"===a.type},_isLoadEvent:function(a){return"load"===a.type},_isSeekEvent:function(a){return a.seek&&1<Math.abs(a.time-this.get("seekStart"))&&!this.get("isScrolling")},_isTrackSwitchingEvent:function(a){return a.track!==this.get("curTrack")},_isInitialScrollEvent:function(a){return this.get("isScrolling")&& 0===this.get("scrollCount")},_isFinalScrollEvent:function(a){return!this.get("isScrolling")&&this.get("wasScroll")},_isUnrecordedPause:function(a){return 0!==a.time%5&&0!=a.time},_isHeartbeatBoundary:function(a){return 0===a.time%5||a.time===a.duration},_isHeartbeat:function(a){return this._isPlayEvent(a)&&this._isHeartbeatBoundary(a)&&a.time!=this._retrieveTrackPosition(a.track)||this._isPauseEvent(a)&&this._isUnrecordedPause(a)},_retrieveTrackPosition:function(a){a=this.get("trackMap")[a];void 0=== a&&(a=0);return a},_updateIgnoredEvent:function(a){return this._isReadyEvent(a)||this._isLoadEvent(a)||this._retrieveTrackPosition(a.track)===a.time?(this.set("prevEvent",a.type),!0):!1},_updateTrackMap:function(a,b){var c=this.get("trackMap"),h={};h[a]=b;c=e.merge(c,h);this.set("trackMap",c)},_updateHeartbeat:function(a){return this._isHeartbeat(a)?(this._handleHeartbeat(a),this._updateMetaData(a),!0):!1},_updateSeek:function(a){this._isSeekEvent(a)&&(this._handleSkipEvent(a),this._updateMetaData(a))}, _updateTrackSwitch:function(a){if(this._isTrackSwitchingEvent(a))if(""===this.get("curTrack"))this.set("curTrack",a.track),this._updateTrackMap(a.track,0);else return this.setAttrs({prevTrack:this.get("curTrack"),curTrack:a.track,isTrackSwitching:!0}),this._handleSwitchEvent(a),this._updateMetaData(a),!0;return!1},_updateScroll:function(a){return this._isInitialScrollEvent()?(this.setAttrs({scrollPrev:a.time,scrollCount:this.get("scrollCount")+1,wasScroll:!0}),!0):this._isFinalScrollEvent()?(this.setAttrs({scrollCount:0, scrollEnd:a.time,wasScroll:!1}),this._handleScrollEvent(a),this._updateMetaData(a),!0):!1},_updateMetaData:function(a){this.setAttrs({curDuration:a.duration,prevPlayPosition:a.time})},_recordPreviousPlay:function(a,d,c){this.set("globalOrder",this.get("globalOrder")+1);this._postMediaEvent({type:"playing",from:d,to:c,track:a.track,duration:a.duration,ordering:this.get("globalOrder"),recordType:b.AUDIO})},_recordSeek:function(a,d,c){this.set("globalOrder",this.get("globalOrder")+1);this._postMediaEvent({type:"seek", from:d,to:c,track:a.track,duration:this.get("curDuration"),ordering:this.get("globalOrder"),recordType:b.AUDIO});this._updateTrackMap(a.track,c)},_handleSwitchEvent:function(a){a=this._retrieveTrackPosition(this.get("prevTrack"));void 0===a&&(a=0);this.set("globalOrder",this.get("globalOrder")+1);this._postMediaEvent({type:"playing",from:a,to:this.get("prevPlayPosition"),track:this.get("prevTrack"),duration:this.get("curDuration"),ordering:this.get("globalOrder"),recordType:b.AUDIO});this.set("isTrackSwitching", !1);this._updateTrackMap(this.get("prevTrack"),this.get("prevPlayPosition"))},_handleScrollEvent:function(a){this._isUpdatedPosition(a)&&this._shouldRecordLastPlay(a)&&this._recordPreviousPlay(a,this._retrieveTrackPosition(a.track),this.get("scrollPrev"));this._recordSeek(a,this.get("scrollPrev"),this.get("scrollEnd"))},_handleSkipEvent:function(a){this._isUpdatedPosition(a)&&this._shouldRecordLastPlay(a)&&this._recordPreviousPlay(a,this._retrieveTrackPosition(a.track),this.get("seekStart"));this._recordSeek(a, this.get("seekStart"),a.time)},_handleHeartbeat:function(a){this._isPlayBlock(a)&&(this._recordPreviousPlay(a,this._retrieveTrackPosition(a.track),a.time),this._updateTrackMap(a.track,a.time))}},{ATTRS:{audio:{},eventTypes:{},isScrolling:{value:!1,validator:e.Squarespace.AttrValidators.isBoolean},isTrackSwitching:{value:!1,validator:e.Squarespace.AttrValidators.isBoolean},scrollPrev:{value:0,validator:e.Squarespace.AttrValidators.isNumber},scrollEnd:{value:0,validator:e.Squarespace.AttrValidators.isNumber}, scrollCount:{value:0,validator:e.Squarespace.AttrValidators.isNumber},wasScroll:{value:!1,validator:e.Squarespace.AttrValidators.isBoolean},prevEvent:{value:"",validator:e.Squarespace.AttrValidators.isString},curDuration:{value:0},trackMap:{value:{}},prevTrack:{value:"",validator:e.Squarespace.AttrValidators.isString},curTrack:{value:"",validator:e.Squarespace.AttrValidators.isString},globalOrder:{value:0,validator:e.Squarespace.AttrValidators.isNumber},prevPlayPosition:{value:0,validator:e.Squarespace.AttrValidators.isNumber}, seekStart:{value:0,validator:e.Squarespace.AttrValidators.isNumber}}})},"1.0",{requires:["base"]})},837:function(k,l,g){YUI.add("squarespace-block-audio-player-template",function(b){var e=b.Handlebars;(function(){var a=e.template;(e.templates=e.templates||{})["block-audio-player.html"]=a(function(a,b,h,f,e){this.compilerInfo=[4,">= 1.0.0"];h=this.merge(h,a.helpers);e=e||{};var g=this.escapeExpression;a='<div class="player">\n <div class="action">\n <div class="play">\n <div class="play-button"></div>\n </div>\n <div class="pause">\n <div class="pause-button"></div>\n </div>\n </div>\n <div class="labels">\n <div class="title-wrapper">\n <div class="title" title="'; (f=h.title)?f=f.call(b,{hash:{},data:e}):(f=b.title,f="function"===typeof f?f.apply(b):f);a+=g(f)+'" data-title="';(f=h.title)?f=f.call(b,{hash:{},data:e}):(f=b.title,f="function"===typeof f?f.apply(b):f);a+=g(f)+'">';(f=h.title)?f=f.call(b,{hash:{},data:e}):(f=b.title,f="function"===typeof f?f.apply(b):f);a+=g(f)+'</div>\n </div>\n <div class="artistName" title="';(f=h.artistName)?f=f.call(b,{hash:{},data:e}):(f=b.artistName,f="function"===typeof f?f.apply(b):f);a+=g(f)+'">';(f=h.artistName)? f=f.call(b,{hash:{},data:e}):(f=b.artistName,f="function"===typeof f?f.apply(b):f);a+=g(f)+'</div>\n </div>\n <div class="secondary-controls">\n <div class="time">\n <span class="progress"></span>\n <span class="total">';(f=h.duration)?f=f.call(b,{hash:{},data:e}):(f=b.duration,f="function"===typeof f?f.apply(b):f);return a+=g(f)+'</span>\n </div>\n </div>\n <div class="track">\n <span class="played"><span class="icon"></span></span>\n </div>\n</div>\n'})})();b.Handlebars.registerPartial("block-audio-player.html".replace("/", "."),e.templates["block-audio-player.html"])},"1.0",{requires:["handlebars-base"]})},985:function(k,l,g){YUI.add("squarespace-album-block-player",function(b){var e=b.namespace("Squarespace.Widgets").AlbumBlockPlayer=b.Base.create("AlbumBlockPlayer",b.Squarespace.Widgets.AlbumPlayer,[],{updateSizeClasses:function(){var a=this.get("contentBox");e.updateSizeClass(a)},resetTimebars:function(){},updateCurrentTrackTimer:function(a,b){var c=Math.floor(a/1E3%60),e=Math.floor(a/6E4);10>c&&(c="0"+c);c=e+":"+ c;this.get("hasUniversalPlaybar")&&this.elapsedNode&&this.elapsedNode.set("text",c);this.get("currentTrack.hasTimebar")&&this.get("currentTrack.elapsedNode").set("text",c)}},{updateSizeClass:function(a){if(!a.inDoc())return a;var b=parseInt(a.getComputedStyle("width"),10);return a.removeClass("sm").removeClass("md").removeClass("lg").addClass(640>b?"sm":800>b?"md":"lg")},ATTRS:{}});b.config.win.Squarespace.onInitialize(b,function(){b.all(".sqs-album-block").each(function(a,d){new b.Squarespace.Widgets.AlbumBlockPlayer({contentBox:a, render:!0,playPauseButton:".album-controls .playpause",playButton:".universal-controls .play",pauseButton:".universal-controls .pause",prevButton:".universal-controls .prev",nextButton:".universal-controls .next"})})})},"1.0",{requires:["squarespace-album-player","base"]})},987:function(k,l,g){YUI.add("squarespace-audio-player",function(b){var e=b.namespace("Squarespace.Widgets").AudioPlayer=b.Base.create("audioPlayer",b.Squarespace.Widgets.SSWidget,[],{initializer:function(a){a=this.get("render"); b.Lang.isBoolean(a)?a=null:b.Lang.isString(a)&&(a=b.one(a));a&&(a._audioPlayer&&a._audioPlayer.destroy(),a._audioPlayer=this,b.Object.each(a.getData(),function(a,b){a&&this.set(b,a)},this))},destructor:function(){this._audio&&(this.stop(),this._audio.destroy())},renderUI:function(){e.superclass.renderUI.apply(this,arguments);var a=this.get("boundingBox"),d=a.one(".placeholder"),c=this.get("title"),h=this.get("author");c&&h?d.setContent(b.Node.create('<div class="wrapper"><div class="audio-author">'+ h+'</div><div class="audio-title">'+c+"</div></div>")):c?d.setContent(b.Node.create('<div class="wrapper"><div class="audio-title">'+c+"</div></div>")):d.setContent(b.Node.create('<div class="wrapper">'+this.get("strings.placeholder")+"</div>"));"true"===this.get("show-download")&&(d='<div class="download"><a href="'+b.Squarespace.UrlUtils.addQueryParam(this.get("url"),"download","true")+'" target="_blank">Download</a></div>',this.get("contentBox").append(d),a.addClass("download"));a.one(".progress-inner").setStyle("width", "0px");d=this._volumeNode=a.one(".volume");if(!d)throw this.name+": No div.volume in template.";for(c=this.get("volumeLevels");0<c;c--)d.prepend('<div class="bar level-"'+c+'" data-volume-level="'+c+'"></div>');a.one(".duration").setContent(this.get("strings.durationPlaceHolder"))},bindUI:function(){var a=this.get("id");this.get("boundingBox").on(a+"|click",this._onClick,this);this.after(a+"|volumeChange",function(a){this._setVolume(a.newVal)},this);this.after(a+"|playStateChange",this._uiUpdateWrapperClass, this);this.after(a+"|readyStateChange",this._afterReadyStateChange,this);this.after(a+"|disabledChange",function(a){a.newVal&&this.stop()},this);b.on(a+"|audioPlayer:stopAll",function(a){var c=a?a.container:null;c&&b.Lang.isString(c)&&(c=b.one(c));(!a||!a.hasOwnProperty("container")||c instanceof b.Node&&c.contains(this.get("boundingBox")))&&this.stop()},this);this.get("boundingBox").plug(b.Squarespace.NodeDestroyNotifier,{onDestroy:this.destroy,context:this})},syncUI:function(){this._uiUpdateWrapperClass(); this._uiUpdateVolumeLevel();var a=this.get("boundingBox");a.toggleClass("tiny",300>a.get("offsetWidth"))},play:function(){var a=this.getProperty("PLAY_STATES");this._audio?this.get("playState")!==a.PLAYING&&this._audio.play():(this._registerTrack(),this._audio.play());this._set("playState",a.PLAYING)},pause:function(){this._audio&&this._audio.pause()},stop:function(){var a=this.get("playState"),b=this.getProperty("PLAY_STATES");a===b.PLAYING&&this._audio&&this._audio.pause()},seek:function(a){100< a||0>a?console.warn(this.name+": seek() - Percentage between 0-100 required."):(this._audio||(this._registerTrack(),this.play()),this._audio.seek(this.get("trueDuration")*(a/100)))},setVolume:function(a){this.set("volume",a)},_setVolume:function(a){this._audio&&b.Squarespace.Singletons.Audio.set("volume",a/100);this._set("volume",a);this._uiUpdateVolumeLevel()},_setVolumeLevel:function(a){this._setVolume(Math.round(100*(a/this.get("volumeLevels"))))},_registerTrack:function(){if(!this._audio){var a= this.get("boundingBox"),d=this.get("fixedUrl");a.addClass("loading");if(!d){this._showError("No URL provided.");return}this._audio=b.Squarespace.Singletons.Audio.register({url:d,pause:b.bind(this._onPause,this),ended:b.bind(this._onStop,this),playing:b.bind(this._onWhilePlaying,this),ready:b.bind(this._onLoad,this)});return!!this._audio}return!1},_uiUpdateVolumeLevel:function(){var a=this._volumeNode.get("children"),b=this.get("volumeLevels"),c=this.get("volume"),e=Math.round(c/100*b);a.each(function(a){parseInt(a.getAttribute("data-volume-level"), 10)<=e?a.addClass("active"):a.removeClass("active")},this)},_uiUpdateWrapperClass:function(){var a=this.getProperty("READY_STATES"),b=this.getProperty("PLAY_STATES"),c=this.get("boundingBox"),e=c.getAttribute("class").split(" "),f;for(f in b)e.remove("play-state-"+b[f]);for(f in a)e.remove("ready-state-"+a[f]);c.addClass("ready-state-"+this.get("readyState"));c.setAttribute("class",e.join(" ")).addClass("play-state-"+this.get("playState")).addClass("ready-state-"+this.get("readyState"))},_onClick:function(a){if(b.UA.ios)window.location.href= this.get("url");else if(!a.target.ancestor().hasClass("download")&&(a.halt(),a.stopImmediatePropagation(),!this.get("disabled")&&!a.target.hasClass("duration")))if(a.target.ancestor(".volume"))this._setVolumeLevel(parseInt(a.target.getAttribute("data-volume-level"),10));else if(a.target.ancestor(".placeholder",!0))this.play();else{if(a.target.ancestor(".controls",!0)){a=this.get("playState");var d=this.getProperty("PLAY_STATES");switch(a){case d.PLAYING:this.pause();return;case d.PAUSED:case d.STOPPED:this.play(); return;default:console.warn(this.name+": Wait, what? How did you get here? Case was ",a);return}}d=this.get("boundingBox").one(".progress").get("region");a.pageX>=d.left&&a.pageX<=d.right&&this.seek(100*((a.pageX-d.left)/d.width))}},_afterReadyStateChange:function(a){a=this.getProperty("READY_STATES");var b=this.get("readyState"),c=this.get("strings"),e=!1;switch(b){case a.INITIALIZED:this.enable();break;case a.FLASH_BLOCKED:e=c.soundManagerFlashFail;break;case a.SECURITY_ERROR:e=c.soundManagerSecurityFail; this._reportAudioError(a.SECURITY_ERROR);break;case a.SOUND_LOAD_FAILED:e=c.soundManagerURLFail;this._reportAudioError(a.SOUND_LOAD_FAILED);break;case a.SOUND_LOADED:break;default:console.warn(this.name+": Invalid ready state ("+b+").")}e&&(console.warn("AUDIO ERROR: "+e),this._showError(e),this.disable());this._uiUpdateWrapperClass()},_reportAudioError:function(a){try{var d=this.get("url");0<d.indexOf("static.squarespace.com")&&b.Squarespace.Analytics.trackInternal("system_audio_play_error",{readyState:this.get("readyState"), url:d})}catch(c){}},_getPlaytimeString:function(a){if(!this._audio)return this.get("strings.durationPlaceHolder");var b="0:00",c="0:00",b=this._getMinSecString(this.get("trueDuration"));a&&(c=this._getMinSecString(a));return c+" / "+b},_getMinSecString:function(a){return b.Squarespace.DateUtils.humanizeDuration(a)},_showError:function(a){this.get("boundingBox").addClass("error");this.get("boundingBox").one(".placeholder").setContent("Error: "+a)},_onWhilePlaying:function(a){if(!this.get("destroyed")&& a.isTarget){var b=this.get("boundingBox");b.one(".duration").setContent(this._getPlaytimeString(a.position));if(this._audio.get("duration")){var c=this.getProperty("READY_STATES");this.get("readyState")!==c.SOUND_LOADED&&this._set("readyState",c.SOUND_LOADED);c=b.one(".progress-inner");a=100*(a.position/this.get("trueDuration"));b.removeClass("loading");c&&c.setStyle("width",a+"%")}}},_onStop:function(a){this._set("playState",this.getProperty("PLAY_STATES").STOPPED)},_onPause:function(){this._set("playState", this.getProperty("PLAY_STATES").PAUSED)},_onDataError:function(){this.stop();this._set("playState",this.getProperty("PLAY_STATES").STOPPED)},_onLoad:function(a){a||(this._loadFailTimer=b.later(1E4,this,function(){this.stop();this._set("readyState",this.getProperty("READY_STATES").SOUND_LOAD_FAILED)}))}},{CSS_PREFIX:"sqs-audio-player",PLAY_STATES:{PLAYING:"playing",PAUSED:"paused",STOPPED:"stopped"},READY_STATES:{INITIALIZED:"initialized",FLASH_BLOCKED:"flash-blocked",SECURITY_ERROR:"security-error", SOUND_LOAD_FAILED:"sound-load-failed",SOUND_LOADED:"sound-loaded"},TEMPLATE:'<div class="controls"></div><div class="placeholder"></div><div class="progress"><div class="progress-inner"><div class="scrubber"></div></div></div><div class="duration"></div><div class="volume"></div>',ATTRS:{strings:{value:{placeholder:"Click to play...",durationPlaceHolder:"0:00 / 0:00",loadFail:"Unable to load sound at the URL",soundManagerFlashFail:"Sorry, could not load because flash is blocked.",soundManagerSecurityFail:"Sorry, there was a JavaScript security error.", soundManagerURLFail:"Unable to access audio stream."}},fixedUrl:{getter:function(){var a=this.get("url");0<a.indexOf(Static.SQUARESPACE_CONTEXT.appDomain)&&(a=a.replace(/^(http:\/\/|https:\/\/|\/\/)/i,window.location.protocol+"//"));return a},readOnly:!0},trueDuration:{getter:function(){var a=this.get("duration-in-ms");return b.Lang.isString(a)&&""!==a?a:this._audio.get("duration")}},playState:{lazyAdd:!1,valueFn:function(){return this.getProperty("PLAY_STATES").STOPPED},readOnly:!0},readyState:{lazyAdd:!1, valueFn:function(){return this.getProperty("READY_STATES").INITIALIZED},readOnly:!0},url:{value:null},volume:{validator:function(a){(0>a||100<a)&&console.warn(this.name+": Volume must be between 0 and 100, volume remains unchanged.");return!0},value:66},volumeLevels:{value:6,writeOnce:"initOnly"},stopOthersOnPlay:{value:!0},render:{value:!0}}});b.config.win.Squarespace.onInitialize(b,function(){b.all(".sqs-audio-embed").each(function(a){if(!(0<a.get("children").size())&&!b.Widget.getByNode(a.one("."+ b.Squarespace.Widgets.AudioPlayer.CSS_PREFIX)))switch(b.Object.getValue(a.getData(),"design-style")||"minimal"){case "legacy":new b.Squarespace.Widgets.AudioPlayer({render:a});break;default:new b.Squarespace.Widgets.AudioPlayerMinimal({render:a})}})})},"1.0",{requires:"node event squarespace-audio squarespace-date-utils squarespace-ss-widget squarespace-album-player squarespace-album-block-player squarespace-url-utils squarespace-widgets-audio-player".split(" ")})},1167:function(k,l,g){YUI.add("squarespace-widgets-audio-player", function(b){var e=b.namespace("Squarespace.Widgets").AudioPlayerMinimal=b.Base.create("audioPlayer",b.Squarespace.Widgets.SSWidget,[],{initializer:function(){this.setAttrs(this.get("render").getData());""===this.get("title")&&this.set("title","Untitled");this.set("showDownload","true"===this.get("show-download"));this.set("colorTheme",this.get("color-theme"));this.set("artistName",this.get("author"));this._resizeEmitter=new b.Squarespace.ResizeEmitter;this._registerTrack()},destructor:function(){b.Lang.isValue(this._funk)&& (this._funk.destroy(),this._funk=null);b.Lang.isValue(this._resizeEmitter)&&(this._resizeEmitter.destroy(),this._resizeEmitter=null)},renderUI:function(){e.superclass.renderUI.call(this);this.get("showDownload")&&this._renderDownloadLink();this.get("boundingBox").addClass(this.get("colorTheme"))},bindUI:function(){var a=this.get("contentBox");a.one(".action").on("click",function(){this.get("firstPlay")||this.set("playing",!this.get("playing"))},this);this.after("playingChange",this._playingChange, this);this.after("progressChange",function(a){var b=this.get("contentBox").one(".player .time .progress");b.setContent(a.newVal);b.addClass("loaded");this._updateTracker(this.get("position"))},this);this.after("durationChange",function(a){var b=this.get("contentBox").one(".player .time .total");b.setContent(a.newVal);b.addClass("loaded");this.syncUI()},this);this.after("titleChange",function(a){this.get("contentBox").one(".player .labels .title").setContent(a.newVal)},this);this.after("artistNameChange", function(a){this.get("contentBox").one(".player .labels .artistName").setContent(a.newVal)},this);this._registerEvent(this._resizeEmitter.on("resize:end",this.syncUI,this));this.get("boundingBox").plug(b.Squarespace.NodeDestroyNotifier,{onDestroy:this.destroy,context:this});var d=a.on("click",function(a){!(this.get("showDownload")&&a.target===this._downloadNode.one("a"))&&this.get("firstPlay")&&(a.halt(),d.detach(),d=null,this._setupScrubber(),this.set("firstPlay",!1),this.set("playing",!0))},this)}, syncUI:function(){var a=this.get("boundingBox"),b=a.get("offsetWidth");a.one(".player .track").setStyle("width",b);a.toggleClass("playing",this.get("playing"));a.toggleClass("tiny",300>b);a.toggleClass("no-artist",""===this.get("artistName"));a.toggleClass("first-play",this.get("firstPlay"));a=a.one(".player .labels .title");b=a.get("offsetWidth")<a.get("scrollWidth");a.toggleClass("marquee-mark",b)},_renderNativeAudio:function(){var a=b.Lang.sub(e.NATIVE_TEMPLATE,this.getAttrs());this.get("contentBox").replace(b.Node.create(a))}, _renderDownloadLink:function(){var a=this.get("contentBox").one(".player"),d='<div class="download"><a href="'+b.Squarespace.UrlUtils.addQueryParam(this.get("url"),"download","true")+'" target="_blank">Download</a></div>';this._downloadNode=a.one(".secondary-controls").appendChild(d);a.addClass("download")},_renderVisualizer:function(){for(var a=this.get("contentBox").one(".visualizer"),b="",c=0;100>c;c++)b+='<div class="eq-bar"><div class="height"></div></div>';a.append(b)},_playingChange:function(a){var d= this.get("fixedUrl");b.UA.ios?window.location.href=d:(b.Lang.isValue(this._funk)||this._registerTrack(),a.newVal?this._funk.play():this._funk.pause(),this.syncUI())},_registerTrack:function(){var a=b.bind(function(a){!a.isTarget&&this.get("playing")&&this.set("playing",!1)},this),d=b.bind(function(a){if(a.isTarget){a=this.get("position");var c=this._funk.get("duration");b.Lang.isValue(a)&&this._funk.seek(this.get("position"));0<c&&(c=this._durationToStr(c),this.set("duration",c))}},this),c=b.bind(function(a){a.isTarget&& (this.set("playing",!1),this.set("position",0))},this);this._funk=b.Squarespace.Singletons.Audio.register({url:this.get("fixedUrl"),ready:d,ended:c,pause:a,playing:b.bind(this._whilePlaying,this)})},_whilePlaying:function(a){this.get("playing")&&(this.set("position",a.position),this.set("progress",this._durationToStr(a.position)))},_updateTracker:function(a){var b=this.get("contentBox").one(".track .played");a=100*(a/this.get("trueDuration"));b.setStyle("width",a+"%")},_mergeEQData:function(){for(var a= theSound.eqData,b=a.left,a=a.right,c=b.length,e=[],f=0;f<c;f++)e.push((parseFloat(b[f])+parseFloat(a[f]))/2);return e},_calculateEQChunks:function(){for(var a=this._mergeEQData(),d=[],c=0;c<length;c+=2){var e=0;b.Array.each(a.slice(c,c+2),function(a){e+=a});d.push(75*(e/2))}return d},_drawEQBars:function(){var a=this.get("contentBox").all(".eq-bar .height"),d=this._calculateEQChunks();b.Array.each(d,function(c,e){var f=a.item(e);b.Lang.isValue(f)&&f.setStyle("height",Math.min(45,d[e]))},this);this.syncUI()}, _setupScrubber:function(){var a=b.Node.create('<div class="scrubber-shim"></div>'),d;a.setStyles({position:"fixed",top:0,left:0,right:0,bottom:0,zIndex:Math.pow(10,7),cursor:"none"});this.get("contentBox").one(".player .track").on("mousedown",function(c){this._updatePosition(c);var e=b.Squarespace.Singletons.Audio.get("volume");d=this.get("contentBox").one(".track").get("region");b.Squarespace.Singletons.Audio.set("volume",0.25*e);b.one("body").append(a);a.once("mouseup",function(){b.Squarespace.Singletons.Audio.set("volume", e);a.remove()},this)},this);a.on("mousemove",function(a){a=this._getRelativePosition(d,a.pageX);b.Squarespace.Singletons.MediaTracker.fire("scrollStarted");this._funk.seek(a);this.get("playing")||(this.set("progress",this._durationToStr(a)),this.set("position",a))},this);a.on("mouseup",function(a){this._getRelativePosition(d,a.pageX);b.Squarespace.Singletons.MediaTracker.fire("scrollFinished")},this)},_updatePosition:function(a){if(!this.get("firstPlay")){var b=this.get("contentBox").one(".track").get("region"), c=this.get("contentBox").one(".track .played .icon").get("offsetWidth")/2;this._funk.seek(this._getRelativePosition(b,a.pageX-c))}},_durationToStr:function(a){var b=Math.floor(a/1E3%60);a=Math.floor(a/6E4);10>b&&(b="0"+b);return a+":"+b},_getRelativePosition:function(a,b){return this.get("trueDuration")*Math.min(1,Math.max(0,(b-a.left)/a.width))},_selectVolume:function(a){var d=this.get("contentBox").all(".player .volume .bar");d.removeClass("active");d.filter(function(b){return parseInt(b.getAttribute("data-level"), 10)<=a}).addClass("active");b.Squarespace.Singletons.Audio.set("volume",a)}},{CSS_PREFIX:"sqs-widgets-audio-player",HANDLEBARS_TEMPLATE:"block-audio-player.html",ATTRS:{fixedUrl:{getter:function(){var a=this.get("url");0<a.indexOf(Static.SQUARESPACE_CONTEXT.appDomain)&&(a=a.replace(/^(http:\/\/|https:\/\/|\/\/)/i,window.location.protocol+"//"));return a},readOnly:!0},firstPlay:{value:!0,validator:b.Squarespace.AttrValidators.isBoolean},position:{value:0,validator:b.Squarespace.AttrValidators.isNumber}, progress:{validator:b.Squarespace.AttrValidators.isNullOrString},duration:{validator:b.Squarespace.AttrValidators.isNullOrString},trueDuration:{getter:function(){var a=this.get("duration-in-ms");return b.Lang.isString(a)&&""!==a?a:b.Lang.isValue(this._funk)?this._funk.get("duration"):0}},title:{value:"",validator:b.Squarespace.AttrValidators.isString},artistName:{value:"",validator:b.Squarespace.AttrValidators.isString},playing:{value:!1,validator:b.Squarespace.AttrValidators.isBoolean},volume:{value:100, validator:b.Squarespace.AttrValidators.isNumber}}})},"1.0",{requires:"base node widget squarespace-block-audio-player-template squarespace-audio squarespace-url-utils".split(" ")})}});