BlipUI={_scrollInterval:null,_scrollTo:null,_lastScrollY:null,_userId:null,_showPlayTime:false,_lastBlipInView:null,_initialBlip:null,_viewRegion:null,_page:1,_firstBlipInViewStack:new Array(),_maxPages:3,_skipInjectOnLoad:false,_skipRemoveExcessPages:false,_scrollAnim:null,init:function(){this._page=Blip.context.page;this.toggleDirectionAvailability("prev",true);if(this._page>1){BlipUI.toggleDirectionAvailability("next",true)}this._initialBlip=Blip.control._playlist.last;this.events={};this.events.scrollAnimCreated=new YAHOO.util.CustomEvent("scrollAnimCreated",this,true);this.events.blipCountUpdated=new YAHOO.util.CustomEvent("blipCountUpdated",this,true)},showControls:function(A){$D.setStyle($("display"),"display","block");$E.on("dPlay","click",function(){Blip.control.play();ga("/stats/click/play")});$E.on("dPrev","click",function(){Blip.control.prev();ga("/stats/click/prev")});$E.on("dNext","click",function(){Blip.control.next();ga("/stats/click/next")});if(Blip.context&&Blip.context.options.ping){$D.setStyle("pingStatus","display","block");$E.on("pingPlayPause","click",BlipUI.togglePingStatus);BlipUI._pinging=true;Blip.events.startPing.subscribe(function(){BlipUI.setPingStatus(true)});Blip.events.stopPing.subscribe(function(){BlipUI.setPingStatus(false)})}},togglePingStatus:function(A,B){BlipUI._pinging?Blip.stopPing():Blip.startPing()},setPingStatus:function(A){if(A==BlipUI._pinging){return }if(A){BlipUI._pinging=true;$D.removeClass("pingPlayPause","play");$D.addClass("pingPlayPause","pause");$("pingPlayPause").title="Pause auto-update";YAHOO.com.fuzz.notice.addNotice("Notice","Blipstream auto-update resumed.")}else{BlipUI._pinging=false;$D.removeClass("pingPlayPause","pause");$D.addClass("pingPlayPause","play");$("pingPlayPause").title="Resume auto-update";YAHOO.com.fuzz.notice.addNotice("Notice","The blipstream will no longer update automatically.")}},addBlip:function(e,o){var blip=o[0];if(YAHOO.lang.isString(blip.elm)){blip.elm=eval(blip.elm)}if(blip.elm){var contents=$D.getElementsByClassName("content","div",blip.elm);if(!$E.getListeners(contents[0],"click")){$E.on(contents[0],"click",function(e){var target=$E.getTarget(e);if(target.tagName=="A"||target.tagName=="IMG"){return true}Blip.control.play(blip.id);ga("/stats/click/blip/"+blip.id);if($D.inDocument(blip.elm)){if(typeof blip.data=="undefined"){blip.data={elm:blip.elm}}if(BlipUI.isBlipBottomOutsideView(blip)){BlipUI.scrollBlipsDivToBlip(blip.data.elm,false)}else{if(BlipUI.isBlipTopOutsideView(blip)){BlipUI.scrollBlipsDivToBlip(blip.data.elm,true)}}}})}}},injectBlip:function(I,D){var G=D[0];if(!$("blips")){return }var B=document.createElement("div");B.innerHTML=G.html;var C=B.firstChild;D[0].elm=C;var A=true;var F=$D.getFirstChild($("blips"));if(F){var E=$D.getChildren(F);if(E.length<Blip.context.options.playlistMax){if(E[0]){$D.insertBefore(C,E[0])}else{F.appendChild(C)}A=false}}if(A){var H=(F)?true:false;this.createNewPage(H,C)}$D.setY("blips",$D.getY("blips")-C.offsetHeight);this.scrollBlipsDivToBlip(C,true)},injectBlips:function(D,K){var K=K||false;var H="";var F=$D.getElementsByClassName("blippage","div","blips");var E=(F[0])?(Blip.control.options.playlistMax-$D.getChildren(F[0]).length):0;var J=startIndex=0;var I=new Array();if(K&&(D.length<E)){for(var G=(D.length-1);(J<E&&G>=0);G--){var M=$D.getFirstChild(F[0]);var B=document.createElement("div");B.innerHTML=(D[G].html)?D[G].html:D[G].data.html;var A=B.firstChild;$D.insertBefore(A,M);J++}}else{for(var G=(D.length-1);G>=0;G--){H=((D[G].html)?D[G].html:D[G].data.html)+H;J++;if(J==Blip.control.options.playlistMax){I.push(H);H="";J=0}}}if(H!=""){I.push(H)}while(H=I.shift()){this.createNewPage(K,H)}for(var G=0;G<D.length;G++){var C=(D[G].id)?D[G].id:D[G].data.id;var L=(D[G].type)?D[G].type:D[G].data.type;if(Blip.control._nodesById[C]){Blip.control._nodesById[C].data.elm=$("tweem"+C)}if(Blip.control._mediaHandlersByType[L].filterBit&Blip.control.options.mediaFilter){this.markBlipAsFiltered(null,[$("tweem"+C)])}}},createNewPage:function(A,D){var E=$D.getElementsByClassName("blippage","div","blips");var B=this._nextCreatePageId;var F=document.createElement("div");$D.addClass(F,"blippage");if(YAHOO.lang.isString(D)){F.innerHTML=D}else{F.appendChild(D)}if(A){if(!B){B=(E[0])?E[0].id.substr(4):1}if(B==1){F.id="page1";for(var C=0;C<E.length;C++){B=E[C].id.substr(4);B++;E[C].id="page"+B}}else{if((B>1)&&!this._nextCreatePageId){B--}F.id="page"+B}if(E[0]){$D.insertBefore(F,$D.getFirstChild($("blips")))}else{$("blips").appendChild(F)}}else{if(!B){B=(E.length)?E[E.length-1].id.substr(4):0;B++}F.id="page"+B;$("blips").appendChild(F)}this._nextCreatePageId=null},removeExcessBufferPages:function(){var F=$D.getElementsByClassName("blippage","div","blips");if(F.length>=this._maxPages){var C=(BlipUI._viewRegion)?BlipUI._viewRegion:$D.getRegion("blipsContainer");var B=null;var I=null;var H=false;for(var G=0;G<F.length;G++){B=$D.getRegion(F[G]);I=$D.getChildren(F[G]);H=false;if(B.bottom<C.top){console.log("removing page "+G+" - above viewable area");H=true;var J=$("blips").offsetHeight;this.removePage(F[G]);var E=$("blips").offsetHeight-J;$D.setY("blips",$D.getY("blips")-E)}else{if(B.top>C.bottom){console.log("removing page "+G+" - below viewable area");H=true;this.removePage(F[G])}}if(H){for(var D=0;D<I.length;D++){var A=I[D].id.substr(5);Blip.control._nodesById[A].data.elm=null}}}}},removeOrphanPages:function(){var C=$D.getElementsByClassName("blippage","div","blips");if(C.length>1){for(var A=1;A<C.length;A++){var D=$D.getFirstChild(C[A]).id.substr(5);var B=Blip.control._nodesById[D];if(!$D.inDocument("tweem"+B.next.data.id)){console.log("removing orphaned page "+A);this.removePage(C[A])}}}},removePage:function(C){var D=null;$E.purgeElement(C,true);var B=$D.getChildren(C);for(var A=0;A<B.length;A++){D=B[A].id.substr(5);if((typeof Blip.control._nodesById[D].data.elm!="undefined")&&(Blip.control._nodesById[D].data.elm!=null)){Blip.control._nodesById[D].data.elm=null}if((typeof Blip.control._nodesById[D].elm!="undefined")&&(Blip.control._nodesById[D].elm!=null)){Blip.control._nodesById[D].elm=null}}$("blips").removeChild(C)},beforeRemoveBlip:function(A,C){var B=C[0];if(B.id==this._lastBlipInView.data.id){this._lastBlipInView=this._lastBlipInView.prev}},removeBlip:function(B,D){var C=D[0];var A=$D.getAncestorByTagName(C.elm,"div");$E.purgeElement(C.elm,true);A.removeChild(C.elm)},highlightBlip:function(E,B){var F=B[0];var D=B[1];if(F.elm){this.unmarkBlipAsFiltered(F.elm)}if(D&&D.elm&&D.elm.parentNode&&$D.inDocument(D.elm)){var C=$D.getElementsByClassName("content","div",D.elm);$E.removeListener(C[0],"click");$E.on(C[0],"click",function(K){var J=$E.getTarget(K);if(J.tagName=="A"||J.tagName=="IMG"){return true}Blip.control.play(D.id);ga("/stats/click/blip/"+D.id)});$D.removeClass(C[0],"loading");$D.removeClass(D.elm,"highlight");if(D.available){$("playpause"+D.id).innerHTML="play"}BlipUI.removeActionHandlers(F)}if(F.elm){var H=$D.getElementsByClassName("content","div",F.elm);$E.removeListener(H,"click");$D.addClass(H,"loading");$D.addClass(F.elm,"highlight");$("nowplaying").innerHTML="Loading: "+$("tweem"+F.id+"headline").innerHTML;$("playpause"+F.id).innerHTML="loading..."}else{var I=document.createElement("div");I.innerHTML=F.html;var G=$D.getFirstChild(I);var A=$D.getElementsBy(function(J){return J.id=="tweem"+F.id+"headline"},"span",G);$("nowplaying").innerHTML="Loading: "+A[0].innerHTML;$D.addClass(G,"highlight")}$D.setStyle("npactions","display","");BlipUI.addActionHandlers(F);BlipUI.updateBlipStatus("buffering");ga("/stats/song/load/"+F.id)},playBlip:function(E,F){var D=F[0];if(D.elm&&D.elm.parentNode){var B=$D.getElementsByClassName("content","div",D.elm);$E.removeListener(B[0],"click");$E.on(B[0],"click",function(H){var G=$E.getTarget(H);if(G.tagName=="A"||G.tagName=="IMG"){return true}Blip.control.pause()});var A=$D.getElementsByClassName("content","div",D.elm);$D.removeClass(A,"loading");$("playpause"+D.id).innerHTML="pause"}if(D.elm&&D.elm.parentNode){$("nowplaying").innerHTML="Now Playing: "+$("tweem"+D.id+"headline").innerHTML}else{$("nowplaying").innerHTML=$("nowplaying").innerHTML.replace(/^(Paused|Loading):/,"Now Playing:")}$("dPlay").innerHTML="pause";$E.removeListener("dPlay","click");$E.on("dPlay","click",function(){Blip.control.pause();ga("/stats/click/pause")});if("playing"==E){var C=Blip.getInfo(D.id);ga("/stats/song/play/"+D.id)}else{ga("/stats/song/resume/"+D.id)}},pauseBlip:function(C,D){var B=D[0];if(B.elm&&B.elm.parentNode){var A=$D.getElementsByClassName("content","div",B.elm);$E.removeListener(A[0],"click");$E.on(A[0],"click",function(F){var E=$E.getTarget(F);if(E.tagName=="A"||E.tagName=="IMG"){return true}Blip.control.resume();ga("/stats/click/blip/"+B.id)});$("playpause"+B.id).innerHTML="play"}$("nowplaying").innerHTML=$("nowplaying").innerHTML.replace(/^(Now Playing|Loading):/,"Paused:");$("dPlay").innerHTML="play";$E.removeListener("dPlay","click");$E.on("dPlay","click",function(){Blip.control.resume();ga("/stats/click/play")});ga("/stats/song/pause/"+B.id)},stopBlip:function(C,D){var B=D[0];if(B){if(B.elm&&B.elm.parentNode){var A=$D.getElementsByClassName("content","div",B.elm);$E.removeListener(A[0],"click");$E.on(A[0],"click",function(F){var E=$E.getTarget(F);if(E.tagName=="A"||E.tagName=="IMG"){return true}Blip.control.play(B.id);ga("/stats/click/blip/"+B.id)});$D.removeClass(B.elm,"highlight");$D.removeClass(A[0],"loading");$("playpause"+B.id).innerHTML=B.available?"play":"unavailable"}ga("/stats/song/stop/"+B.id)}$("nowplaying").innerHTML="";BlipUI.removeActionHandlers();$D.setStyle("npactions","display","none");$("dPlay").innerHTML="play";$E.removeListener("dPlay","click");$E.on("dPlay","click",function(){Blip.control.play();ga("/stats/click/play")});$("playstatus").innerHTML=""},nextBlip:function(A,B){$("nowplaying").innerHTML="";BlipUI.removeActionHandlers();$D.setStyle("npactions","display","none");$("dPlay").innerHTML="play";$E.removeListener("dPlay","click");$E.on("dPlay","click",function(){Blip.control.play();ga("/stats/click/play")});ga("/stats/song/next")},markBlipAsFiltered:function(B,C){var A=C[0];var D=(A.elm)?A.elm:A;if(!$D.hasClass(D,"filtered")){$D.addClass(D,"filtered")}},unmarkBlipAsFiltered:function(A){if($D.hasClass(A,"filtered")){$D.removeClass(A,"filtered")}},updateFilteredBlips:function(){var D=$D.getElementsByClassName("blippage","div","blips");for(var C=0;C<D.length;C++){var B=$D.getChildren(D[C]);for(var A=0;A<B.length;A++){var E=B[A].id.substr(5);if(Blip.control._mediaHandlersByType[Blip.control._nodesById[E].data.type].filterBit&Blip.control.options.mediaFilter){this.markBlipAsFiltered(null,[B[A]])}else{this.unmarkBlipAsFiltered(B[A])}}}},scroll2Blip:function(B,E){if(!E||!E[0]){return false}var G=E[0].elm;var D=$D.getViewportHeight();var C=$D.getRegion(G);var F=(C.top+((C.bottom-C.top)/2))-(D/2);var A=(BlipUI._viewRegion)?BlipUI._viewRegion:$D.getRegion("blipsContainer");if(C.top>=A.top&&C.bottom<=A.bottom){BlipUI._scrollTo=Math.round(F);if(!BlipUI._scrollInterval){BlipUI._scrollInterval=setInterval("BlipUI.smooveScroll()",50)}}},scroll2Offset:function(A){BlipUI._scrollTo=A;if(!BlipUI._scrollInterval){BlipUI._scrollInterval=setInterval("BlipUI.smooveScroll()",50)}},smooveScroll:function(){var D=BlipUI._lastScrollY;var F=BlipUI._scrollTo;var C=$D.getDocumentScrollTop();var B=$D.getDocumentHeight()-$D.getViewportHeight();var A=F-C;if(D!=null&&D!=C){clearInterval(BlipUI._scrollInterval);BlipUI._scrollInterval=null;BlipUI._lastScrollY=null}else{if(!((A>0&&C==B)||(A<0&&C==0))&&Math.abs(A)>5){var E=(A>0)?Math.floor(A/1.1):Math.ceil(A/1.1);window.scrollTo(0,F-E);BlipUI._lastScrollY=F-E}else{window.scrollTo(0,F);clearInterval(BlipUI._scrollInterval);BlipUI._scrollInterval=null;BlipUI._lastScrollY=null}}},scrollToNewBlips:function(){var A=Blip.addNewBlips();if((A>1)||(this._page!=1)){this._nextCreatePageId=1;BlipUI.populatePage("prev",true,Blip.control._playlist.last)}else{BlipUI.injectBlip(null,[Blip.control._playlist.last.data]);BlipUI.addBlip(null,[Blip.control._playlist.last.data])}BlipUI.resetPagingData();this.scrollBlipsDivToBlip(Blip.control._playlist.last.data.elm,true)},scrollToNowPlaying:function(){var A=(BlipUI._viewRegion)?BlipUI._viewRegion:$D.getRegion("blipsContainer");if(Blip.control._currentNode.data.elm&&$D.inDocument(Blip.control._currentNode.data.elm)){var D=$D.getRegion(Blip.control._currentNode.data.elm);if(D.top>A.top&&D.bottom<A.bottom){return }}var C=this.findLastBlipInView();var B=Blip.control._currentNode.data.id>C.data.id;this.scrollUntilBlipInView(Blip.control._currentNode,B)},scrollUntilBlipInView:function(C,N,I){var K=$D.getElementsByClassName("blippage","div","blips");if(I==null){I=true}if(!$D.inDocument($("tweem"+C.data.id))){var L=(N)?$D.getFirstChild(K[0]):$D.getLastChild(K[K.length-1]);var F=Blip.control._nodesById[L.id.substr(5)];if(!F.data.elm){F.data.elm=L}var G=$D.getAncestorByClassName(F.data.elm,"blippage");var O=parseInt(G.id.substr(4));F=(N)?F.next:F.prev;(N)?O--:O++;var E=F;var D=false;var M=0;while(!D){if(M<Blip.control.options.playlistMax){if(F.data.id==C.data.id){D=true}else{F=(N)?F.next:F.prev;M++}}else{E=F;(N)?O--:O++;M=0}}this._nextCreatePageId=O;var P=(N)?"next":"prev";if((P=="prev")&&!this.hasEnoughBlipsToPopulatePage(P,E)){E=Blip.control._playlist.first;P="next"}this.populatePage(P,false,E);$D.setY("blips",$("blipsContainer").offsetTop);for(var J=0;J<K.length;J++){var B=parseInt(K[J].id.substr(4));if(N){if(B>O){this.removePage(K[J])}}else{if(B<O){this.removePage(K[J])}}}K=$D.getElementsByClassName("blippage","div","blips")}var H=$D.getAncestorByClassName(C.data.elm,"blippage");if(I&&K[K.length-1]==H){var A=$D.getLastChild(H);var B=A.id.substr(5);if(Blip.control._nodesById[B]==Blip.control._playlist.first){Blip.loadMoreBlips()}else{this.populatePage("prev",false,Blip.control._nodesById[B].prev)}}this._skipRemoveExcessPages=false;this.scrollBlipsDivToBlip(C.data.elm,I);this.updatePagingData(C)},scrollToLastBlipInView:function(){var A=this.findLastBlipInView();if(this._page==2){this._firstBlipInViewStack[this._page-1]=this._initialBlip}else{if(this._lastBlipInView&&(this._lastBlipInView!=A)){this._firstBlipInViewStack[this._page-1]=this._lastBlipInView}}this._lastBlipInView=A;this.scrollBlipsDivToBlip(this._lastBlipInView.data.elm,true)},scrollToFirstBlipInView:function(){var B=null;var A=true;if(this._firstBlipInViewStack[this._page]){B=this._firstBlipInViewStack[this._page];this._firstBlipInViewStack[this._page]=null;this._lastBlipInView=B}if(!B){if(this._page>1){B=this.findFirstBlipInView();A=false}else{B=Blip.control._playlist.last}this._lastBlipInView=null}if(!$D.inDocument(B.data.elm)){if(!$D.inDocument($("tweem"+B.data.id))){this.scrollUntilBlipInView(B,true)}else{B.data.elm=$("tweem"+B.data.id);this.scrollBlipsDivToBlip(B.data.elm,A)}}else{this.scrollBlipsDivToBlip(B.data.elm,A)}},scrollBlipsDivToBlip:function(E,D){var A=(BlipUI._viewRegion)?BlipUI._viewRegion:$D.getRegion("blipsContainer");var C=$D.getRegion(E);var F=0;if(D){F=(A.top-C.top)}else{F=(A.bottom-C.bottom)}var B={top:{by:F}};if(!this._scrollAnim){this._scrollAnim=new YAHOO.util.Motion($("blips"),B,2.25,YAHOO.util.Easing.easeOutStrong)}else{this._scrollAnim.init($("blips"),B,2.25,YAHOO.util.Easing.easeOutStrong)}this.events.scrollAnimCreated.fire();if(!this._skipRemoveExcessPages){this._scrollAnim.onComplete.subscribe(BlipUI.removeExcessBufferPages,this,true);this._scrollAnim.onComplete.subscribe(BlipUI.removeOrphanPages)}else{this._skipRemoveExcessPages=false}if(this._page>1){this._scrollAnim.onComplete.subscribe(function(){BlipUI.toggleDirectionAvailability("next",true)},this,true)}this._scrollAnim.onComplete.subscribe(function(){BlipUI.toggleDirectionAvailability("prev",true)},this,true);this._scrollAnim.animate()},findFirstBlipInView:function(){var B=null;if(!this._lastBlipInView||this.isBlipTopOutsideView(this._lastBlipInView)||this.isBlipBottomOutsideView(this._lastBlipInView)){if(Blip.control._currentNode&&!this.isBlipTopOutsideView(Blip.control._currentNode)){B=Blip.control._currentNode}else{var C=$D.getElementsByClassName("blippage","div","blips");var A=$D.getLastChild(C[C.length-1]);B=Blip.control._nodesById[A.id.substr(5)]}}else{B=BlipUI._lastBlipInView}if(B!=null){while(!this.isBlipTopOutsideView(B)){B=B.next}}return B},findLastBlipInView:function(){var B=null;if(!this._lastBlipInView||this.isBlipBottomOutsideView(this._lastBlipInView)){if(Blip.control._currentNode&&!this.isBlipBottomOutsideView(Blip.control._currentNode)){B=Blip.control._currentNode}else{var C=$D.getElementsByClassName("blippage","div","blips");var A=$D.getFirstChild(C[0]);B=Blip.control._nodesById[A.id.substr(5)]}}else{if(!this.isBlipBottomOutsideView(this._lastBlipInView)){B=this._lastBlipInView}}if(B!=null){while(!this.isBlipBottomOutsideView(B)){B=B.prev;if(B==Blip.control._playlist.last){return Blip.control._playlist.first}}}return B},isBlipTopOutsideView:function(C){var A=(BlipUI._viewRegion)?BlipUI._viewRegion:$D.getRegion("blipsContainer");var B=($D.inDocument(C.data.elm))?$D.getRegion(C.data.elm):$D.getRegion($("tweem"+C.data.id));if(!B||((B.top-25)<A.top)){return true}return false},isBlipBottomOutsideView:function(C){var A=(BlipUI._viewRegion)?BlipUI._viewRegion:$D.getRegion("blipsContainer");var B=$D.getRegion(C.data.elm);if(!B||((B.bottom+25)>A.bottom)){return true}return false},prevPage:function(){if(!this._scrollAnim||!this._scrollAnim.isAnimated()){if(this._page!=1){this.toggleDirectionAvailability("next",true)}var A=this.findLastBlipInView();if(A){var C=$D.getLastChild($D.getAncestorByClassName(A.data.elm,"blippage"));var D=C.id.substr(5);var B=Blip.control._nodesById[D];if((B==Blip.control._playlist.first)||((Blip.control._currentNode==Blip.control._playlist.first)&&(Blip.control.options.direction<0))){Blip.loadMoreBlips();Blip.events.loadMoreBlipsComplete.subscribe(function(F,G){var E=G[0];if(E){this._page++;if(this._page!=1){this.toggleDirectionAvailability("next",true)}this.updatePageTitle();this.scrollToLastBlipInView()}},BlipUI,true)}else{if(this.hasEnoughBlipsToPopulatePage("prev")){this._page++;this.updatePageTitle();this.populatePage("prev");this.scrollToLastBlipInView()}else{this._skipInjectOnLoad=true;Blip.loadMoreBlips();Blip.events.loadMoreBlipsComplete.subscribe(function(F,G){var E=G[0];if(E){this._page++;this.updatePageTitle();this.populatePage("prev");this.scrollToLastBlipInView()}else{if(B!=Blip.control._playlist.first){this._page++;this.updatePageTitle();this.scrollToLastBlipInView()}}if(this._page!=1){this.toggleDirectionAvailability("next",true)}},BlipUI,true)}}}else{this.toggleDirectionAvailability("prev",false)}}},nextPage:function(){if(!this._scrollAnim||!this._scrollAnim.isAnimated()){var A=true;if(this._page>1){this._page--;if((this._firstBlipInViewStack[this._page]&&!$D.inDocument(this._firstBlipInViewStack[this._page]))||!this._firstBlipInViewStack[this._page]){this.populatePage("next");if((this._page>=1)&&!$D.inDocument("page"+this._page)){A=false;Blip.loadMoreBlips(this._page,true);Blip.events.loadMoreBlipsComplete.subscribe(function(B,C){result=C[0];if(result){this._initialBlip=Blip.control._playlist.last;this.scrollBlipsDivToBlip(Blip.control._playlist.last.data.elm,true);if(this._page==1){this.toggleDirectionAvailability("next",false)}}},this,true)}}this.toggleDirectionAvailability("prev",true);this.updatePageTitle();if(A){this.scrollToFirstBlipInView()}}if(this._page==1){if(this._initialBlip==this._firstBlipInViewStack[this._page]||!this._firstBlipInViewStack[this._page]){this.toggleDirectionAvailability("next",false);if(this.isBlipTopOutsideView(this._initialBlip)&&!this._scrollAnim.isAnimated()){this.scrollBlipsDivToBlip(this._initialBlip.data.elm,true)}}Blip.parsePingResults()}}},checkPageAdvance:function(D,E){var C=E[0];if(Blip.control.options.direction>=0){if((C.id==Blip.control._playlist.last.data.id)&&!Blip._pingResults.length){Blip.loadMoreBlips();if(D=="mediaFilterSkip"){Blip.events.loadMoreBlipsComplete.subscribe(function(G,H){var F=H[0];if(F){Blip.control.next()}},Blip.control,true)}}else{if(C.id==Blip.control._playlist.first.data.id){C.data=C;if(this.isBlipBottomOutsideView(C)){this.scrollUntilBlipInView(C,false,false);if(this._page==1){this.toggleDirectionAvailability("next",true)}}}else{if($D.inDocument(C.elm)){var B=$D.getRegion(C.elm);var A=(this._viewRegion)?this._viewRegion:$D.getRegion("blipsContainer");if((B.top<A.top)&&((A.top-B.top)<500)){this.nextPage()}else{if((B.bottom>A.bottom)&&((B.bottom-A.bottom)<500)){this.scrollBlipsDivToBlip(C.elm,false)}}}}}}else{if($D.inDocument(C.elm)){var B=$D.getRegion(C.elm);var A=(this._viewRegion)?this._viewRegion:$D.getRegion("blipsContainer");if(B.top<A.top&&(A.top-B.top)<500){this.scrollBlipsDivToBlip(C.elm,true);if(C.id==Blip.control._playlist.last.data.id){this.resetPagingData()}}else{if(B.bottom>A.bottom&&(B.bottom-A.bottom)<500){this.prevPage()}else{if(C.id==Blip.control._playlist.first.data.id){this.prevPage()}}}}else{if(C.id==Blip.control._playlist.first.data.id){this.prevPage()}}}},hasEnoughBlipsToPopulatePage:function(E,A){var C=0;var A=A||null;var D=(E=="prev")?Blip.control._playlist.last:BlipUI._initialBlip.next;if(!A){var F=$D.getElementsByClassName("blippage","div","blips");var B=(E=="prev")?F[F.length-1]:F[0];var G=(E=="prev")?$D.getLastChild(B).id.substr(5):$D.getFirstChild(B).id.substr(5);var A=(E=="prev")?Blip.control._nodesById[G].prev:Blip.control._nodesById[G].next}while((A!=D)&&(C<Blip.control.options.playlistMax)){C++;A=(E=="prev")?A.prev:A.next}return C>=Blip.control.options.playlistMax},populatePage:function(K,H,G){var O=new Array();var B=G||null;var H=H||(K=="next");var I=0;if(!B){var F=$D.getElementsByClassName("blippage","div","blips");var J=(K=="prev")?F[F.length-1]:F[0];var A=(K=="prev")?$D.getLastChild(J).id.substr(5):$D.getFirstChild(J).id.substr(5);B=(K=="prev")?Blip.control._nodesById[A].prev:Blip.control._nodesById[A].next}var N=(K=="prev")?Blip.control._playlist.last:BlipUI._initialBlip.next;if(!$D.inDocument(B.data.elm)){while((B!=N||G)&&(I<Blip.control.options.playlistMax)){if(!$D.inDocument(B.data.elm)){O.push(B)}I++;B=(K=="prev")?B.prev:B.next}if(O.length){if(K=="next"){O.reverse()}if(H){var M=$("blips").offsetHeight;this.injectBlips(O,true);var D=$("blips").offsetHeight-M;$D.setY("blips",$D.getY("blips")-D)}else{this.injectBlips(O)}for(var E=0;E<O.length;E++){O[E].elm=O[E].data.elm;O[E].id=O[E].data.id;O[E].type=O[E].data.type;if(O[E]==Blip.control._currentNode){$D.addClass(O[E].elm,"highlight");var C=$D.getElementsByClassName("content","div",O[E].elm);$E.removeListener(C[0],"click");$E.on(C[0],"click",function(Q){var P=$E.getTarget(Q);if(P.tagName=="A"||P.tagName=="IMG"){return true}Blip.control.pause()});var L=$D.getElementsByClassName("content","div",O[E].elm);$D.removeClass(L,"loading");$("playpause"+O[E].id).innerHTML="pause"}if(O[E].data.available==false){$D.addClass($("tweem"+O[E].id+"song"),"error");$("playpause"+O[E].id).innerHTML="Unavailable"}}Blip.control.load(O)}}},toggleDirectionAvailability:function(B,A){if(!$("blipsContainer")){return }if(B=="prev"){$E.removeListener("prevPageLinkTop","click");$E.removeListener("prevPageLinkBot","click");if(A){$E.on("prevPageLinkTop","click",function(){BlipUI.toggleDirectionAvailability("prev",false);BlipUI.toggleDirectionAvailability("next",false);BlipUI.prevPage()},BlipUI,true);$E.on("prevPageLinkBot","click",function(){BlipUI.toggleDirectionAvailability("prev",false);BlipUI.toggleDirectionAvailability("next",false);BlipUI.prevPage()},BlipUI,true)}}else{$E.removeListener("nextPageLinkTop","click");$E.removeListener("nextPageLinkBot","click");if(!A){if((this._page==1)&&Blip._pingResults.length){$E.on("nextPageLinkTop","click",this.scrollToNewBlips,BlipUI,true);$E.on("nextPageLinkBot","click",this.scrollToNewBlips,BlipUI,true)}else{$E.on("nextPageLinkTop","click",function(){return false});$E.on("nextPageLinkBot","click",function(){return false})}}else{$E.on("nextPageLinkTop","click",function(){BlipUI.toggleDirectionAvailability("prev",false);BlipUI.toggleDirectionAvailability("next",false);BlipUI.nextPage()},BlipUI,true);$E.on("nextPageLinkBot","click",function(){BlipUI.toggleDirectionAvailability("prev",false);BlipUI.toggleDirectionAvailability("next",false);BlipUI.nextPage()},BlipUI,true)}}},resetPagingData:function(){this._firstBlipInViewStack=new Array();this._lastBlipInView=null;this._initialBlip=Blip.control._playlist.last;this._page=1;this.toggleDirectionAvailability("next",false);this.toggleDirectionAvailability("prev",true);$D.setStyle("newBlipsLink","display","none");this.updatePageTitle()},updatePagingData:function(E){var E=E||Blip.control._currentNode;var D=$D.getAncestorByClassName(E.data.elm,"blippage");this._page=parseInt(D.id.substr(4));this.updatePageTitle();if(this._page>1){this.toggleDirectionAvailability("next",true)}for(var B=0;B<this._firstBlipInViewStack.length;B++){if(B>this._page){this._firstBlipInViewStack[B]=null}}if(this._firstBlipInViewStack[this._page]){var A=$D.getRegion(Blip.control._currentNode.data.elm);var C=$D.getRegion(this._firstBlipInViewStack[this._page].data.elm);if(Math.abs(A.top)<=Math.abs(C.top)){this._firstBlipInViewStack.pop()}}this._lastBlipInView=null},updateNewBlipsCounter:function(B){if(B){if(!$E.getListeners("newBlipsLink","click")){$E.addListener("newBlipsLink","click",this.scrollToNewBlips,this,true)}var A="("+B+" new)";$("newBlipsLink").innerHTML=A;if($D.getStyle("newBlipsLink","display")=="none"){$D.setStyle("newBlipsLink","display","inline")}this.events.blipCountUpdated.fire()}else{$D.setStyle("newBlipsLink","display","none")}},updatePageTitle:function(){var A=/(Page\s)[0-9]+/;document.title=document.title.replace(A,"$1"+this._page);$("pageCount").innerHTML=$("pageCount").innerHTML.replace(A,"$1"+this._page)},ioError:function(E,A){var D=A[1];var C=A[2];if(C&&C.elm&&C.elm.parentNode){var B=$D.getElementsByClassName("content","div",C.elm);$E.removeListener(B[0],"click");$E.on(B[0],"click",function(G){var F=$E.getTarget(G);if(F.tagName=="A"||F.tagName=="IMG"){return true}Blip.control.play(C.id);ga("/stats/click/blip/"+C.id)});$D.removeClass(B[0],"loading");$D.removeClass(C.elm,"highlight");if(C.available){$("playpause"+C.id).innerHTML="play"}BlipUI.removeActionHandlers(D)}$D.addClass($("tweem"+D.id+"song"),"error");$("playpause"+D.id).innerHTML="Unavailable";ga("/stats/song/ioerror/"+D.id)},available:function(C,A){var B=A[0];$D.removeClass($("tweem"+B.id+"song"),"error");$("playpause"+B.id).innerHTML="play";ga("/stats/song/available/"+B.id)},addActionHandlers:function(D){$E.on("nowplaying","click",this.scrollToNowPlaying,this,true);$D.addClass("nowplaying","clickable");$E.on("npreblip","click",function(){Blip.reblip(D.id)});if(D.isFavorite){$D.addClass("npfavorite","favorite")}$E.on("npfav","click",function(){Blip.fav(D.id,D.isFavorite)});elm=$("tweem"+D.id+"owner");if(!elm){var B=document.createElement("div");B.innerHTML=D.html;elm=$D.getFirstChild(B);var C=$D.getElementBy(function(E){return E.id=="tweem"+D.id+"owner"},"a",elm);elm=C[0]}var A=elm.innerHTML;$E.on("npprops","click",function(){Blip.giveProps(A,D.id)})},removeActionHandlers:function(){$E.purgeElement("nowplaying");$E.purgeElement("npreblip");$E.purgeElement("npfav");$E.purgeElement("npprops");$D.removeClass("nowplaying","clickable");$D.removeClass("npfavorite","favorite")},updateBlipStatus:function(F,H){var G="";switch(F){case"progress":if(H[0]==0){G='<img src="/_/images/blip/spinner-dark.gif" height="16" width="16" alt="loading" />'}else{G=H[0]+"%"}break;case"buffering":G='<img src="/_/images/blip/spinner-dark.gif" height="16" width="16" alt="loading" />';break;case"doneBuffering":case"playTime":var D=H[0];var A=H[1];if(!A){return }var E=BlipUI._showPlayTime?Math.round(D):Math.round(A-D);var C=E%60;if(C<10){C="0"+C}var B=(E-C)/60;G=B+":"+C;break;default:G=""}$("playstatus").innerHTML=G},resize:function(B){if(!$("display")||($D.getStyle("display","display")=="none")){return }var C=$D.getClientRegion();var A=$D.getRegion($("display"));var D=(C.bottom-(A.bottom-A.top));if(A.top!=D){$D.setStyle($("display"),"top",D+"px")}},setUserId:function(A){if(A){BlipUI._userId=A}},trackListen:function(E,F){var H=F[0].data.id;var A=F[0].trackLength;var D=F[0].playTime;var G="lt30";var C=(window.location&&window.location.href&&window.location.href.indexOf("playlist")!=-1)?"playlist/":"stream/";if(D>30){G="gt30"}trackBucket=((A>30)&&((A-D)<5))?"complete/":G+"/";var B="/stats/song/"+C+trackBucket;B+=(BlipUI._userId)?BlipUI._userId:"anonymous";B+="/"+H;ga(B)},showActionIcon:function(A){if(!(blip=$("tweem"+A))){return false}if($("at15s")&&($D.getStyle("at15s","display")!="none")){return false}BlipUI.activeBlip=A;$D.setStyle("tweem"+A+"actions","display","")},hideActionIcon:function(){if(!BlipUI.activeBlip){return false}if($("at15s")&&($D.getStyle("at15s","display")!="none")){return false}$D.setStyle("tweem"+BlipUI.activeBlip+"actions","display","none")},toggleActionMenu:function(D){if(!BlipUI.actionMenu||!context){return false}if(addthis_close){addthis_close()}var B=Blip.control._nodesById[D]?Blip.control._nodesById[D].data:false;if(!B&&$("tweem"+D)){B={id:D,ownerUrlName:$("tweem"+D+"owner").innerHTML,isFavorite:$D.hasClass("tweem"+D+"actionsmenu","favorite")}}console.log(B);BlipUI.actionMenu.blipId=D;BlipUI.actionMenu.clearContent();var A=new Array();if(B.ownerId!=context.userId){A.push({text:"Give Props",url:false,classname:"props"})}A.push({text:"Reblip",url:false,classname:"reblip"});(B.isFavorite)?A.push({text:"Remove from Playlist",url:false,classname:"favorite-active"}):A.push({text:"Add to Playlist",url:false,classname:"favorite"});A.push({text:"Go to Permalink",url:"/tinyRedirect/tinyInt?blipId="+B.id,classname:"permalink"});if(B.ownerId==context.userId){A.push({text:"Delete",url:false,classname:"delete"})}BlipUI.actionMenu.addItems(A);BlipUI.actionMenu.render();var C=$D.getRegion("tweem"+D+"actionsmenu");BlipUI.actionMenu.moveTo(C.left+11,C.bottom-6);BlipUI.actionMenu.cfg.setProperty("width",180);BlipUI.actionMenu.show()},showHideFavoriteDJs:function(){if(!(Blip.context.bliperId||Blip.context.userId)){return }if($D.hasClass("miniFavoriteDJs","hidden")){if(!$D.inDocument("miniFavoriteDJsIcons")){var A=(Blip.context.bliperId)?Blip.context.bliperId:Blip.context.userId;Blip.getFavoriteDJs(A)}$D.removeClass("miniFavoriteDJs","hidden");$("miniFavoriteDJsToggle").innerHTML="-"}else{$D.addClass("miniFavoriteDJs","hidden");setCookie("SHOW_FAVORITE_DJS",false,-2);$("miniFavoriteDJsToggle").innerHTML="+"}},injectFavoriteDJs:function(E){$D.setStyle("favoriteDJsSpinner","display","none");var A=$D.getLastChild($D.getLastChild("miniFavoriteDJs"));var F=document.createElement("div");F.id="miniFavoriteDJsIcons";$D.addClass("clearfix");for(var D=0;D<E.length;D++){var G=document.createElement("div");var C=document.createElement("a");var B=document.createElement("img");$D.addClass(G,"icon");$D.addClass(G,"miniuser");C.href=E[D].url;C.title=E[D].urlName;B.src=E[D].avatarUrl;B.alt=E[D].urlName;C.appendChild(B);G.appendChild(C);F.appendChild(G)}$D.insertBefore(F,A)}};function updateCharCount(E,F){var A=Blip._messageMax;var D=F.value.length;var C=A-D;Blip.checkForm(F.form);var B=$("charCount");B.innerHTML=C;if(C<0){if(!YAHOO.util.Dom.hasClass(B,"exceeded")){YAHOO.util.Dom.addClass(B,"exceeded")}}else{if(YAHOO.util.Dom.hasClass(B,"exceeded")){YAHOO.util.Dom.removeClass(B,"exceeded")}}}function updatePreferences(C){var B=$("settingsForm");var A={};A.direction=(B.direction.checked)?1:-1;A.autoscroll=(B.autoscroll.checked)?1:0;A.mediaFilter=(B.videoFilter.checked)?1:0;Blip.updateSettings(A,C)}var addRecUsersCallback={success:function(D){if(D.responseText){var A=YAHOO.lang.JSON.parse(D.responseText);if(A.result){var B=$("favoriteCount");var C=parseInt(A.count);B.innerHTML=parseInt(B.innerHTML)+C;ga("/stats/recommendUsers/addFavorites/"+C)}else{YAHOO.com.fuzz.notice.addNotice("Notice","Oops, we had trouble adding the DJs to your favorites. Please try again.")}}},failure:function(A){YAHOO.com.fuzz.notice.addNotice("Notice","Oops, we had trouble contacting the server. Please try again.")}};var turnOffRecsCallback={success:function(A){if(A.responseText){console.log("Recs turned off",A)}},failure:function(A){YAHOO.com.fuzz.notice.addNotice("Notice","Oops, we had trouble contacting the server. Please try again.")}};function addRecUsers(){console.log("Adding recommended users");$D.setStyle($("help"),"display","none");YAHOO.util.Connect.setForm($("recUsersForm"));YAHOO.util.Connect.asyncRequest("POST","/ajax/addRecUsers",addRecUsersCallback)}function turnOffRecs(){ga("/stats/recommendUsers/turnOffRecs");$D.setStyle($("help"),"display","none");YAHOO.util.Connect.asyncRequest("GET","/ajax/turnOffRecs",turnOffRecsCallback)}$E.on("message","keyup",updateCharCount,$("message"));$E.on("playstatus","click",function(){BlipUI._showPlayTime=!BlipUI._showPlayTime});$E.on("favoritesLink","click",BlipUI.showHideFavoriteDJs,BlipUI,true);$E.on("miniFavoriteDJsToggle","click",BlipUI.showHideFavoriteDJs,BlipUI,true);if(YAHOO.env.ua.ie==6){$E.addListener(window.document,"resize",BlipUI.resize);$E.addListener(window,"scroll",BlipUI.resize)}YAHOO.com.fuzz.trackPopup=new YAHOO.com.fuzz.Popup("trackPop",{visible:false,width:"810px",effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:1},delay:30,close:false});YAHOO.com.fuzz.trackPopup.render();YAHOO.com.fuzz.trackPopup.showEvent.subscribe(function(){ga("/stats/trackPopup/show/"+YAHOO.com.fuzz.trackPopup._notice.type)});$E.on("trackPop","click",function(){ga("/stats/click/trackPopup/"+YAHOO.com.fuzz.trackPopup._notice.type)});YAHOO.util.Event.onContentReady("blips",function(){var B=this;function A(H){if(BlipUI.actionMenu.cfg.getProperty("visible")){return false}var F=$E.getTarget(H);var G=$D.hasClass(F,"tweem")?F:YAHOO.util.Dom.getAncestorByClassName(F,"tweem");if(!G){return }var I=G.id.replace(/tweem/,"");BlipUI.showActionIcon(I)}function C(F){if(!BlipUI.actionMenu.cfg.getProperty("visible")){BlipUI.hideActionIcon()}}function E(I,H){var K=H[1],L=this.blipId,J,G,F;if(K){switch(K.cfg.getProperty("text")){case"Reblip":Blip.reblip(L);break;case"Add to Playlist":Blip.fav(L);break;case"Remove from Playlist":Blip.fav(L,true);break;case"Give Props":F=$("tweem"+L+"owner").innerHTML;Blip.giveProps(F,L);break;case"Delete":confirmAction("Are you sure you want to delete this blip?",function(){Blip.axe(L)});break}}}var D=new YAHOO.widget.Menu("blipcontextmenu",{itemdata:["Loading..."],width:200,shadow:false,zindex:10,hidedelay:2000,effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.1}});D.subscribe("click",E);D.subscribe("render",function(G,F){YAHOO.com.fuzz.wrapContainer(this.element,"contextual");D.unsubscribe("render")});D.render(document.body);BlipUI.actionMenu=D;$E.on("blips","mouseover",A);$E.on("blips","mouseout",C);$E.on(window.document,"click",C);if($("moreblips")){$E.on("moreblips","mouseover",A);$E.on("moreblips","mouseout",C)}});