(function(){YAHOO.namespace("TOOBBOX.Utils");YAHOO.TOOBBOX.Utils.isObject=function(a){var c=false;var b=document.getElementById(a);if(b&&(b.nodeName==="OBJECT"||b.nodeName==="EMBED")){c=true}b=null;return c};YAHOO.TOOBBOX.Utils.replaceSwfWithEmptyDiv=function(b,d){var c=document.getElementById(b);var a=document.getElementById(b).parentNode;if(c){var e=document.createElement("div");e.setAttribute("id",b);a.removeChild(c);a.appendChild(e)}c=null;a=null;e=null};YAHOO.TOOBBOX.Utils.replaceSwfWithEmptyObject=function(a,c){var b=document.getElementById(a);if(b){var d=document.createElement("object");b.parentNode.insertBefore(d,b);c.removeSWF(a);d.setAttribute("id",a)}b=null;d=null};YAHOO.TOOBBOX.Utils.clearElement=function(a){if(a){while(a.firstChild){a.removeChild(a.firstChild)}}};YAHOO.TOOBBOX.Utils.clearDiv=function(a){var b=document.getElementById(a);if(b){var c=document.createElement("div");b.parentNode.insertBefore(c,b);b.parentNode.removeChild(b);c.setAttribute("id",a)}b=null;c=null};YAHOO.TOOBBOX.Utils.removeAllChildren=function(b){var a=document.getElementById(b);if(a.hasChildNodes()){while(a.childNodes.length>=1){a.removeChild(a.firstChild)}}a=null};YAHOO.TOOBBOX.Utils.parseUrl=function(a,c){var b="";if(c){b="&enablejsapi=1&playerapiid=videoPlayer&autoplay=1&showsearch=0&rel=0&fs=1"}a=a.replace(/watch\?v=/i,"v/");a=a+b;b=null;return a};YAHOO.TOOBBOX.Utils.rand=function(f,a){var b=f+"";var d=b.length;var e=Math.pow(10,d);var c;do{c=Math.random();c=Math.round((c*e));c=c%(f+1)}while(c===a);b=null;d=null;e=null;return c};YAHOO.TOOBBOX.Utils.selectOption=function(b,c){var d=document.getElementById(b);if(d){for(var a=0;a<d.length;a++){if(d[a].value===c){d.selectedIndex=a}}}d=null;a=null};YAHOO.TOOBBOX.Utils.getOptionText=function(b,c){var d=document.getElementById(b);if(d){for(var a=0;a<d.length;a++){if(d[a].value===c){return d[a].text}}}return};YAHOO.TOOBBOX.Utils.updateSelectOption=function(c,d,g,f){var e=document.getElementById(c);if(e){for(var a=0;a<e.length;a++){if(e[a].value==d){var b=e[a];b.text=g;if(f){b.value=f}}}}e=null;a=null;b=null};YAHOO.TOOBBOX.Utils.deleteSelectOption=function(b,c){var d=document.getElementById(b);if(d){for(var a=0;a<d.length;a++){if(d[a].value==c){d[a]=null}}}d=null;a=null};YAHOO.TOOBBOX.Utils.addSelectOption=function(b,c,e){var d=document.getElementById(b);var a=document.createElement("option");a.setAttribute("value",c);a.appendChild(document.createTextNode(e));d.appendChild(a);d=null;a=null};YAHOO.TOOBBOX.Utils.clearSelectBox=function(a){var b=document.getElementById(a);if(b){for(i=b.options.length-1;i>=0;i--){b.options[i]=null}}b=null};YAHOO.TOOBBOX.Utils.debugPrint=function(a){var b="";for(myKey in a){b=b+"obj["+myKey+"] = "+a[myKey]+"\n"}alert(b);b=null};String.prototype.wordwrap=function(b,a,d){a=a||"\n";b=b||33;d=d||false;if(this){var c=".{1,"+b+"}(\\s|$)"+(d?"|.{"+b+"}|.+$":"|\\S+?(\\s|$)");return this.match(RegExp(c,"g")).join(a)}else{return""}};String.prototype.escapeHTML=function(){return this.replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")};String.prototype.removeScriptHTML=function(){return this.replace(/<script[^>]*>((.|[\r\n])*?)<\\?\/script>/ig,"")};String.prototype.trim=function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")};String.prototype.left=function(a){if(this.length>a){return this.substring(0,a)}else{return this}};String.prototype.right=function(a){if(this.length>a){return this.substring(this.length-a,this.length)}else{return this}};String.prototype.startsWith=function(a){if(this.length<a.length){return false}else{return this.substring(0,a.length)===a}};String.prototype.endsWith=function(a){if(this.length<a.length){return false}else{return this.substring(this.length-a.length,this.length)===a}};String.prototype.shorten=function(a){if(!this){result=null}else{if(this.length>a){preferredSize=a-"...".length;if(preferredSize>0){result=this.left(preferredSize)+"..."}else{result=this.left(a)}}else{result=this}}return result};if(!Array.indexOf){Array.prototype.indexOf=function(b,c){for(var a=(c||0);a<this.length;a++){if(this[a]==b){return a}}return -1}}})();(function(){YAHOO.namespace("TOOBBOX");YAHOO.TOOBBOX.PlayerButtonController=function(){var h=YAHOO.util.Event;var e=YAHOO.util.Dom;var d={playerControls:"player-button-block",eventType:"click",playButton:"play-button",pauseButton:"pause-button",shuffleButton:"shuffle-button",repeatButton:"repeat-button",nextButton:"next-button",backButton:"previous-button",clearallButton:"clearall-button",tooltips:true};var j=null;var g=null;var f=false;var c=false;if(d.tooltips){g=new YAHOO.widget.Tooltip("repeatTooltip",{context:d.repeatButton,text:"Repeat is "+(c?"on":"off"),showDelay:1});j=new YAHOO.widget.Tooltip("shuffleTooltip",{context:d.shuffleButton,text:"Shuffle is "+(f?"on":"off"),showDelay:1})}var a=new YAHOO.util.CustomEvent("playerControlButtonClick");function b(m){var l=h.getTarget(m);var k=null;switch(l.id){case"play-button":k="play";break;case"pause-button":k="pause";break;case"previous-button":k="previous";break;case"next-button":k="next";break;case"shuffle-button":k="shuffle";break;case"repeat-button":k="repeat";break;case"clearall-button":k="clearall";break}if(k){a.fire(k)}l=null;k=null}h.addListener(d.playerControls,d.eventType,b,this,true);this.toggleShuffleTooltip=function(){var k="Shuffle is off";f=!f;if(f){k="Shuffle is on"}j.cfg.setProperty("text",k);k=null};this.toggleRepeatTooltip=function(){var k="Repeat is off";c=!c;if(c){k="Repeat is on"}g.cfg.setProperty("text",k);k=null};this.subscribe=function(l,k){a.subscribe(l,k)}}})();(function(){YAHOO.namespace("TOOBBOX");var E=YAHOO.util.Event;var G=YAHOO.util.Dom;var h=YAHOO.util.Connect;var a=YAHOO.util.Cookie;var d=YAHOO.lang.JSON;var F=YAHOO.TOOBBOX.Utils;var C={tableContainer:"datatable-container",asyncBase:""};var u=10;var t=true;var o=new YAHOO.util.CustomEvent("playlistDeleteSongEvent");var w=new YAHOO.util.CustomEvent("playlistPlaySongEvent");var r=new YAHOO.util.CustomEvent("playlistAutoplayEvent");var D;var b;var f;var g=false;var y=false;var B=false;var K=38;var N=40;var s=null;var A=false;var H=false;YAHOO.TOOBBOX.PlaylistController=function(O){if(O){if(!O.loggedIn||(O.loggedIn&&O.playlistId>0)){A=true}if(O&&O.playlistId>0){H=true}z(O.playlistId,this,true)}};YAHOO.TOOBBOX.PlaylistController.prototype.subscribe=function(O,Q,P){switch(O){case"playlistDeleteSongEvent":o.subscribe(Q,P);break;case"playlistPlaySongEvent":w.subscribe(Q,P);break;case"playlistAutoplayEvent":r.subscribe(Q,P);break}};YAHOO.TOOBBOX.PlaylistController.prototype.getVideo=function(R,Q){if(R){var O=null;var S=D.getSelectedTrEls();var P=S.shift();switch(R){case"next":O=L(b);break;case"previous":O=m(b);break;case"first":O=D.getRecord(D.getFirstTrEl());break;case"last":O=D.getRecord(D.getLastTrEl());break;case"selected":O=D.getRecord(P);break;case"nextSelected":O=L(D.getRecord(P));break;case"previousSelected":O=m(D.getRecord(P));break;case"playing":O=b;break;default:return null}if(O){if(Q){D.unselectRow(b);D.unselectRow(P);D.selectRow(O);b=O}S=null;P=null;return O}S=null;P=null;O=null;return null}};YAHOO.TOOBBOX.PlaylistController.prototype.toggleRepeat=function(){y=!y};YAHOO.TOOBBOX.PlaylistController.prototype.toggleShuffle=function(){B=!B};YAHOO.TOOBBOX.PlaylistController.prototype.clearAll=function(){var Q=true;var P=function(){shufflePlaylist=[];D.getRecordSet().reset();D.initializeTable();D.render()};var O=function(S){var R=YAHOO.lang.JSON.parse(S.responseText);if(R&&R.replyCode===201){P()}else{alert("Playlist couldn't be cleared. Please refresh the page and try again.")}Q=null;P=null;O=null};if(confirm("Are you sure you want to clear this playlist?")){if(A){P()}else{h.asyncRequest("GET","/playlists/clear/"+s,{cache:false,success:O,failure:function(R){alert("Connection failed: Playlist couldn't be cleared.  Please refresh the page and try again.")},scope:this})}}};YAHOO.TOOBBOX.PlaylistController.prototype.addVideo=function(O){D.addRow(O);x(D.getLastTrEl(),0)};YAHOO.TOOBBOX.PlaylistController.prototype.addVideos=function(R,O,S){var Q=O[0];for(var P=0;P<Q.length;P++){D.addRow(Q[P])}x(D.getLastTrEl(),0);Q=null};YAHOO.TOOBBOX.PlaylistController.prototype.loadPlaylistEventHandler=function(P,O,Q){if(Q){Q.loadPlaylist(O[0],false);A=false}};YAHOO.TOOBBOX.PlaylistController.prototype.loadPlaylist=function(P,O){shufflePlaylist=[];z(P,this,O)};YAHOO.TOOBBOX.PlaylistController.prototype.prepareForm=function(P){if(D){var R=D.getRecordSet();if(R&&R.getLength()>0){var T="";var S="";var U="";for(var Q=0;Q<R.getLength();Q++){var O=R.getRecord(Q);T=document.createElement("input");T.setAttribute("name","data[Song]["+Q+"][name]");T.setAttribute("value",O.getData("name"));T.setAttribute("type","hidden");S=document.createElement("input");S.setAttribute("name","data[Song]["+Q+"][url]");S.setAttribute("value",O.getData("url"));S.setAttribute("type","hidden");U=document.createElement("input");U.setAttribute("name","data[Song]["+Q+"][order]");U.setAttribute("value",Q);U.setAttribute("type","hidden");P.appendChild(T);P.appendChild(S);P.appendChild(U)}}T=null;S=null;U=null;R=null;return P}};YAHOO.TOOBBOX.PlaylistController.prototype.saveToCookies=function(){var Q=D.getRecordSet();var R=[];if(Q&&Q.getLength()>0){for(var P=0;P<Q.getLength();P++){var O=Q.getRecord(P);R.push({id:P,year:"2009",name:O.getData("name"),rating:O.getData("rating"),url:O.getData("url"),artist_name:O.getData("artist_name")})}if(R.length>0){a.set("videos",d.stringify(R),{path:"/",domain:"toobbox.com"})}}else{a.set("videos","empty",{path:"/",domain:"toobbox.com"})}Q=null;R=null;P=null;O=null};function c(P){var O;if(P&&P.length>0){O=P}return O}var M=function(Q,P,R,S){var O="";if(S){O=S;P.setData(R.getKey(),S)}Q.innerHTML=O.escapeHTML();O=null};var l=[{key:"play",label:"",className:"play-button"},{key:"name",width:150,label:"Video Title",formatter:M,editor:new YAHOO.widget.TextboxCellEditor({validator:c}),sortable:true},{key:"artist_name",width:50,label:"Artist",formatter:M,editor:new YAHOO.widget.TextboxCellEditor({validator:c}),sortable:true},{key:"rating",label:"Rating",editor:new YAHOO.widget.DropdownCellEditor({dropdownOptions:[1,2,3,4,5]}),sortable:true},{key:"delete",label:"",className:"delete-button"}];function z(S,R,Q){var U={Song:[{id:"0",year:2011,name:"The Story of Toobbox.com - In Plain English Style",url:"http://www.youtube.com/v/ZBQn_tC5g0M",artist_name:"Toobbox.com",rating:"5"},{id:"0",year:2009,name:"How to Use Toobbox.com",url:"http://www.youtube.com/v/VFJTaOjpgXI",artist_name:"Toobbox.com",rating:"5"}]};var P=function(X){var W;var V="336px";var Y=true;if(!X){X={Song:[]};Y=false}W=new YAHOO.util.LocalDataSource({data:X});W.responseType=YAHOO.util.DataSource.TYPE_JSON;W.responseSchema={resultsList:"data.Song",fields:["name","artist_name","rating","url","id","order"]};J();g=false;D=new YAHOO.widget.DataTable(C.tableContainer,l,W,{scrollable:true,height:V,MSG_EMPTY:"There are no videos in your playlist!"});D.subscribe("renderEvent",I);D.subscribe("rowMouseoverEvent",D.onEventHighlightRow);D.subscribe("rowMouseoutEvent",D.onEventUnhighlightRow);D.subscribe("rowClickEvent",D.onEventSelectRow);D.subscribe("cellDblclickEvent",D.onEventShowCellEditor);D.subscribe("cellClickEvent",k,R,true);D.subscribe("editorSaveEvent",n,R,true);if(Q){D.focus()}D.subscribe("tableKeyEvent",v,R,true);if(H){r.fire();H=false}};if(S>0){h.asyncRequest("GET","/playlists/videos/"+S,{cache:false,success:function(W){if(W){var V=d.parse(W.responseText);if(V&&V.replyCode==201){P(V.data);s=S}else{P()}V=null}},failure:function(V){alert("Connection failed: Playlist info was not received.  Please refresh the page and try again.")}})}if(A&&!S){var O=a.get("videos");if(O&&O!="empty"){var T=d.parse(O);if(T.length>0){U.Song=T}}else{if(O=="empty"){U.Song=[]}}P(U);a.remove("videos",{path:"/",domain:"toobbox.com"})}O=null;T=null;tableDataSource=null;dataTableHeight=null;showPlaylistInfo=null;U=null}function q(P){var R=true;var O=function(){var S=null;if(b&&b.getId()===P.getId()){S=D.getNextTrEl(b);D.unselectRow(b);D.selectRow(S);b=D.getRecord(S);o.fire()}D.deleteRow(P);D.selectRow(b);R=null;S=null};if(t){R=confirm("Are you sure you want to delete this video?")}if(R){if(A){O()}else{var Q="/songs/delete/"+P.getData("id");h.asyncRequest("GET",Q,{cache:false,success:O,failure:function(S){alert("Connection failed: There was a problem deleting this video.")},scope:this})}}Q=null}function k(Q){var R=Q.target;var P=D.getColumn(R);D.onEventSelectRow(Q);var O=D.getRecord(R);if(P.key=="play"){b=O;w.fire()}if(P.key=="delete"){q(O)}R=null;P=null}function n(T){if(!A){var U=T.editor;var S=U.getColumn();var V=S.getKey();var R=T.newData;var Q=U.getRecord().getData("id");var P=document.createElement("form");var O=document.createElement("input");O.setAttribute("name","data[Song][id]");O.setAttribute("value",Q);P.appendChild(O);var W=document.createElement("input");W.setAttribute("name","data[Song]["+V+"]");W.setAttribute("value",R);P.appendChild(W);h.setForm(P);h.asyncRequest("POST","/songs/update/",{success:function(X){U=null;S=null;V=null;R=null;Q=null;P=null;W=null;O=null},failure:function(X){alert("Connection failed: Sorry, can't save song info right now.  Please try again later!")}})}}function I(){if(!g){var O=D.getFirstTrEl();D.selectRow(O);b=D.getRecord(O);g=true;O=null}}var j=[];function e(P){var Q=D.getRecordSet().getLength();var O=D.getRecord(Math.floor(Math.random()*Q));if(j.length===Q){j=[]}if(Q>1){while(O.getId()===P.getId()||j.indexOf(O.getId())>-1){O=D.getRecord(Math.floor(Math.random()*Q))}}if(j.length<u){j.push(O.getId())}else{j=[];j.push(O.getId())}Q=null;return O}function L(O){var P=null;if(y){P=b}else{if(B){P=e(O)}else{var Q;var Q=D.getNextTrEl(O);if(!Q){Q=D.getFirstTrEl()}P=D.getRecord(Q);Q=null}}return P}function m(Q){var P=null;var O=D.getPreviousTrEl(Q);if(!O){O=D.getLastTrEl()}P=D.getRecord(O);O=null;return P}function p(P,O){if(P&&O&&f!=O){fromData=P.getData();D.updateRow(P,O.getData());D.updateRow(O,fromData);if(b.getId()===P.getId()){b=O}else{if(b.getId()===O.getId()){b=P}}f=O}}function v(P){var O=E.getEvent(P).event;var R=null;var Q=null;if(O.keyCode===K){R=this.getVideo("selected");Q=this.getVideo("nextSelected");p(Q,R)}if(O.keyCode===N){R=this.getVideo("selected");Q=this.getVideo("previousSelected");p(Q,R)}D.focus();O=null;R=null;Q=null}function x(Q,P){P=P?P:0;var O=G.getElementsByClassName("yui-dt-bd")[0];O=null}function J(){if(D){D.unsubscribe("renderEvent",I);D.unsubscribe("rowMouseoverEvent",D.onEventHighlightRow);D.unsubscribe("rowMouseoutEvent",D.onEventUnhighlightRow);D.unsubscribe("rowClickEvent",D.onEventSelectRow);D.unsubscribe("cellDblclickEvent",D.onEventShowCellEditor);D.unsubscribe("cellClickEvent",k);D.unsubscribe("editorSaveEvent",n);D.unsubscribe("tableKeyEvent",v)}}})();(function(){YAHOO.namespace("TOOBBOX");var a=YAHOO.util.Dom;var c=YAHOO.TOOBBOX.Utils;var C=YAHOO.util.Event;var w=YAHOO.util.Connect;var B={prevPlayer:"prevPlayer",prevPlayerContainer:"prevPlayerContainer",searchResults:"searchResults",searchButton:"searchButton",searchField:"search-field",videoPopUpId:"video-popup",swfLoader:swfobject,nextResultsSpanId:"nextResultsSpanId",previousResultsSpanId:"previousResultsSpanId",searchResultPage:"searchResultPage",addButtonSpanId:"addButtonSpan",searchResultFormId:"add-songs-form"};var f=new YAHOO.util.CustomEvent("searchEvent");var q=new YAHOO.util.CustomEvent("videoSaveEvent");var v="";var A=1;var l=1;var z=20;var m="";var k=z+1;var x=false;var p="nextResultsLinkId";var h="previousResultsLinkId";var y=new YAHOO.widget.Dialog(B.videoPopUpId,{fixedcenter:false,visible:false,draggable:false});y.render();var r=null;var o="";var e=false;YAHOO.TOOBBOX.SearchController=function(F){if(F&&(!F.loggedIn||F.playlistId>0)){e=true}if(F&&F.loggedIn){B.searchResults="searchResults-loggedIn"}else{B.searchResults="searchResults"}C.on(a.getElementsByClassName("container-close","a",B.videoPopUpId),"click",b,this,true);C.addListener(B.searchButton,"click",u,this,true);var D=function(G){document.getElementById(B.searchField).value="  ";C.removeListener(B.searchField,"click",D)};C.addListener(B.searchField,"click",D);var E=new YAHOO.util.KeyListener(B.searchField,{keys:13},{fn:u,scope:this,correctScope:true});E.enable()};YAHOO.TOOBBOX.SearchController.prototype.loadPlaylistEventHandler=function(E,D,F){if(D[0]){r=D[0];e=false}};YAHOO.TOOBBOX.SearchController.prototype.subscribe=function(D,F,E){switch(D){case"videoSaveEvent":q.subscribe(F,E);break;case"searchEvent":f.subscribe(F,E);break}};YAHOO.TOOBBOX.SearchController.saveVideo=function(J){if(J>=0&&m[J]){var G=m[J];if(e){var I=[];I[0]={name:G.name,url:G.url,id:1,rating:1};q.fire(I);I=null}else{var D=document.createElement("form");var H=document.createElement("input");H.setAttribute("name","data[Song][name]");H.setAttribute("type","hidden");H.setAttribute("value",G.name);var F=document.createElement("input");F.setAttribute("name","data[Song][url]");F.setAttribute("type","hidden");F.setAttribute("value",G.url);var E=document.createElement("input");E.setAttribute("name","data[Song][playlist_id]");E.setAttribute("type","hidden");E.setAttribute("value",r);D.appendChild(H);D.appendChild(F);D.appendChild(E);YAHOO.util.Connect.setForm(D);YAHOO.util.Connect.asyncRequest("POST","/songs/addSong/",{success:t,failure:function(){alert("Connection failed: There were problems saving this video to your playlist.")},scope:this});D=null;H=null;F=null;E=null}}};YAHOO.TOOBBOX.SearchController.handleGetResults=function(H){var P=H.feed;var K=P.entry||[];var E=K.length;if(E>0){if(E>z){E=z;document.getElementById(B.nextResultsSpanId).innerHTML='| <a href="#" onClick="return false;" id="'+p+'">Next</a> &#62;';C.addListener(p,"click",d)}else{document.getElementById(B.nextResultsSpanId).innerHTML="| Next &#62;";C.removeListener(B.nextResultsLinkId,"click",d)}c.removeAllChildren(B.searchResults);var J="";m=[];for(var I=0;I<E;I++){var O=K[I];var N=O.title.$t;var G=N.shorten(25);var F=K[I].media$group.media$thumbnail[0].url;var L=K[I].media$group.media$content[0].url;m[I]={name:N,url:L};var D=document.createElement("div");J="";J=J+'<div id="videoResult'+I+'" class=\'videoResultBlock\' ><div class="titlec">'+N+'</div><a class="video-add-button" href="#" onclick="YAHOO.TOOBBOX.SearchController.saveVideo('+I+');return false;"><img border="0" src="/img/add-to-playlist.gif" alt="Add video to your playlist!" /></a><a href="#" onclick="YAHOO.TOOBBOX.SearchController.loadVideo(\''+L+"', 'videoResult"+I+'\');return false;"><img border="0" alt="Preview video in pop-up!" class="videoResultThumb" src="'+F+'" /><img border="0" src="/img/preview.gif" alt="Preview video in pop-up!" /></a></div>';D.innerHTML=J;document.getElementById(B.searchResults).appendChild(D);var M=document.getElementById(B.searchResults);M.scrollTop=0;O=null;N=null;G=null;F=null;L=null;D=null;M=null}}else{c.clearElement(B.searchResults);c.clearElement(B.nextResultsSpanId);C.removeListener(B.nextResultsLinkId,"click",d);c.clearElement(B.previousResultsSpanId);C.removeListener(B.previousResultsLinkId,"click",s);c.clearElement(B.searchResultPage);x=false;document.getElementById(B.searchResults).innerHTML="Sorry there are no search results."}f.fire();P=null;K=null;E=null;J=null};YAHOO.TOOBBOX.SearchController.loadVideo=function(D,E){y.configContext(B.videoPopUpId,[[E,"tl","tl",["beforeShow","windowResize"]]],y);y.show();swfobject.embedSWF(D+"&menu=false&rel=1&border=0&fs=1&autoplay=1",B.prevPlayer,"190","190","9.0.0",false,false,{allowfullscreen:"false"})};function g(E,F){var D="http://gdata.youtube.com/feeds/api/videos?";D+="alt=json-in-script&format=5&callback=YAHOO.TOOBBOX.SearchController.handleGetResults&start-index="+F+"&max-results="+k+"&q=";if(E){D=D+E}return D}function j(D){YAHOO.util.Get.script(D)}function b(D){c.replaceSwfWithEmptyObject(B.prevPlayer,B.swfLoader);y.cancel()}function n(F){var E=document.getElementById(B.searchField).value;if(E&&F&&F.isNewSearch){o=escape(E)}var D=g(o,A);j(D);E=null;D=null}function u(D){A=1;l=1;document.getElementById(B.previousResultsSpanId).innerHTML="&#60; Previous ";n({isNewSearch:true});document.getElementById(B.searchResultPage).innerHTML="Page "+l;if(!x){x=true}w.asyncRequest("GET","/songs/search",{cache:false,success:function(E){},failure:function(E){}});return false}function t(H){var E;var F=new Array();var D=YAHOO.lang.JSON.parse(H.responseText);if(D.replyCode===201&&D.data.Song){var G=D.data.Song;F[0]={name:G.name,url:G.url,id:G.id,rating:1};q.fire(F);G=null}E=null;F=null;D=null}function d(D){A+=z;n({isNewSearch:false});l++;document.getElementById(B.searchResultPage).innerHTML="Page "+l;document.getElementById(B.previousResultsSpanId).innerHTML='&#60; <a href="#" onClick="return false;" id="'+h+'">Previous</a> ';C.addListener(h,"click",s);return false}function s(D){A=((A-z)>1)?(A-z):1;if(A===1){C.removeListener(h,"click");document.getElementById(B.previousResultsSpanId).innerHTML="&#60; Previous "}n({isNewSearch:false});l--;document.getElementById(B.searchResultPage).innerHTML="Page "+l;return false}})();(function(){YAHOO.namespace("TOOBBOX");var a=YAHOO.util.Dom;var b=YAHOO.TOOBBOX.Utils;var C=YAHOO.util.Event;var p=YAHOO.util.Connect;var e=YAHOO.lang.JSON;var y={updatePlaylistForm:"playlist-edit-form",playlistAddUrlForm:"playlist-add-url-form",playlistAddUrl:"add-url",newPlaylistButton:"new-playlist-button",editPlaylistButton:"edit-playlist-button",playlistDelButton:"delete-playlist-button",newSearchPlaylistButton:"search-new-playlist",searchField:"search-field",playlistSelect:"playlist-selectbox",currentPlaylistLink:"playlist-link-field",addPlaylistPopUpId:"add-playlists",editPlaylistPopUpId:"edit-playlists",playerSearchBox:"player-search-box",newPlaylistForm:"new-playlist-form",playlistNameField:"new-playlist-value",playlistImportId:"import-id",editPlaylistForm:"edit-playlist-form",editPlaylistNameField:"edit-playlist-name",editPlaylistPublicField:"edit-playlist-public",editPlaylistCommField:"edit-playlist-commentary",playlistInformation:{container:"playlist-information-contents",name:"display-playlist-name",id:"display-playlist-id",commentary:"display-playlist-comm",trackList:"display-video-list",link:"playlist-link"}};var q=new YAHOO.util.CustomEvent("loadPlaylistEvent");var o=null;var m=null;var j=false;var z=[{text:"Create",handler:function(){n()},isDefault:true},{text:"Cancel",handler:function(){r(s)}}];var s=new YAHOO.widget.Dialog(y.addPlaylistPopUpId,{context:[y.playerSearchBox,"tl","tl",["beforeShow","windowResize"]],fixedcenter:false,visible:false,close:false,draggable:false,width:"295px",height:"400px"});s.cfg.queueProperty("buttons",z);s.render();var w=[{text:"Submit",handler:function(){c()},isDefault:true},{text:"Cancel",handler:function(){r(g)}}];var g=new YAHOO.widget.Dialog(y.editPlaylistPopUpId,{context:[y.playerSearchBox,"tl","tl",["beforeShow","windowResize"]],fixedcenter:false,visible:false,close:false,draggable:false});g.cfg.queueProperty("buttons",w);g.render();if(a.get("facebook-share-div")&&a.get("facebook-share")){var v=a.get("facebook-share").onclick}YAHOO.TOOBBOX.PlaylistManager=function(H){var E=true;if(H&&H.playlistId>0){j=true;E=false;document.getElementById(y.editPlaylistButton).disabled=true;document.getElementById(y.playlistDelButton).disabled=true;document.getElementById(y.newPlaylistButton).innerHTML="Import!";C.addListener(y.newPlaylistButton,"click",function(){document.getElementById(y.playlistImportId).value=H.playlistId;n();B()})}else{C.addListener(y.newPlaylistButton,"click",function(){s.show()})}x(E);C.addListener(y.playlistSelect,"change",u);C.addListener(y.newSearchPlaylistButton,"click",d);C.addListener(y.playlistDelButton,"click",A);C.addListener(y.currentPlaylistLink,"click",function(I){a.get(y.currentPlaylistLink).focus();a.get(y.currentPlaylistLink).select()});C.addListener(y.editPlaylistButton,"click",function(){t()});var D=new YAHOO.util.KeyListener(y.editPlaylistNameField,{keys:13},{fn:c});D.enable();var F=new YAHOO.util.KeyListener(y.playlistNameField,{keys:13},{fn:n});F.enable();var G=new YAHOO.util.KeyListener(y.playlistImportId,{keys:13},{fn:n});G.enable()};YAHOO.TOOBBOX.PlaylistManager.prototype.subscribe=function(D,F,E){switch(D){case"loadPlaylistEvent":q.subscribe(F,E);break}};YAHOO.TOOBBOX.PlaylistManager.prototype.unsubscribe=function(D,F,E){switch(D){case"loadPlaylistEvent":q.unsubscribe(F,E);break}};function x(D){var E=function(I){var F=e.parse(I.responseText);if(F&&F.replyCode===201){b.clearSelectBox(y.playlistSelect);for(var G=0;G<F.data.length;G++){var H=F.data[G].Playlist;if(H["default"]==1){b.addSelectOption(y.playlistSelect,H.id,unescape(H.name).shorten(13)+" (default)");m=H.id}else{b.addSelectOption(y.playlistSelect,H.id,unescape(H.name).shorten(20))}}if(D){h(m,true)}H=null;F=null}else{alert("There were problems loading your playlists!")}};p.asyncRequest("GET","/playlists/all",{cache:false,success:E,failure:function(){alert("Connection failed: There were problems retrieving your playlist information.")}})}function t(){var D=function(G){var E=e.parse(G.responseText);if(E&&E.replyCode===201){var F=E.data.Playlist;document.getElementById(y.editPlaylistNameField).value=F.name;document.getElementById(y.editPlaylistPublicField).checked=(F.isPublic==1?true:false);document.getElementById(y.editPlaylistCommField).value=F.commentary;g.show()}else{alert("There were problems loading your playlists!")}E=null};p.asyncRequest("GET","/playlists/get/"+o,{cache:false,success:D,failure:function(){alert("Connection failed: There were problems retrieving your playlist information.")}})}function B(){document.getElementById(y.newPlaylistButton).innerHTML="New/Import";C.removeListener(y.newPlaylistButton,"click");C.addListener(y.newPlaylistButton,"click",function(){s.show()})}function u(E){var D=document.getElementById(y.playlistSelect).value;h(D,true);D=null}function h(G,E,D){if(!D){D=false}var F=function(J){var H=e.parse(J.responseText);if(H&&H.replyCode===201){var I=H.data.Playlist;o=G;k(H.data);if(o===m){f()}else{l()}document.getElementById(y.editPlaylistButton).disabled=false;B();b.selectOption(y.playlistSelect,G);H=null;I=null}else{alert("Couldn't load the playlist information")}};if(E){q.fire(G,D)}p.asyncRequest("GET","/playlists/videos/"+G,{cache:false,success:F,failure:function(){alert("Connection failed: There were problems retrieving your playlist information.")}})}function k(L){if(L&&L.Playlist&&L.Song){var M=document.getElementById(y.playlistInformation.container);var G=L.Playlist;var F=L.Song;M.innerHTML="";var H=document.getElementById(y.currentPlaylistLink);var D="";if(G.isPublic==true){if(G.link){D=G.link}else{D="http://toobbox.com/playlist/default--"+G.id}H.value=D;if(a.get("facebook-share-div")){a.get("facebook-share").href="http://www.facebook.com/sharer.php?u="+encodeURI(D+"&t="+G.name+" Playlist");a.get("facebook-share").onclick=v;a.get("facebook-share-div").style.opacity=1;a.get("facebook-share-div").style.filter="alpha(opacity=100)"}}else{H.value="Make public to share!";if(a.get("facebook-share-div")){a.get("facebook-share-div").style.opacity=0.5;a.get("facebook-share-div").style.filter="alpha(opacity=50)";a.get("facebook-share").href="#";a.get("facebook-share").onclick=function(){return false}}}var N=document.createElement("h1");N.setAttribute("id",y.playlistInformation.name);N.setAttribute("class","tbx-gray-header-text");N.setAttribute("className","tbx-gray-header-text");var I=document.createTextNode(G.name);N.appendChild(I);M.appendChild(N);N=document.createElement("p");N.setAttribute("id",y.playlistInformation.commentary);N.setAttribute("class","tbx-playlist-comm-text");N.setAttribute("className","tbx-playlist-comm-text");if(G.commentary){N.innerHTML=G.commentary.escapeHTML()}else{N.innerHTML=""}M.appendChild(N);N=document.createElement("h3");N.setAttribute("class","tbx-tracklist-header-text");N.setAttribute("className","tbx-tracklist-header-text");I=document.createTextNode("Videos In This Playlist:");N.appendChild(I);M.appendChild(N);for(var K=0;K<F.length;K++){var E=F[K];var J=document.createElement("h2");J.setAttribute("class","tbx-tracklist-text");J.setAttribute("className","tbx-tracklist-text");I=document.createTextNode((K+1)+". "+E.name);J.appendChild(I);M.appendChild(J)}L=null;N=null;I=null;H=null;G=null;F=null;M=null;J=null;E=null}}function r(D){D.form.reset();D.cancel()}function d(){var E=document.getElementById(y.newPlaylistForm);var D=document.getElementById(y.searchField).value.trim();if(D!=""&&D!="Search..."){document.getElementById(y.playlistNameField).value=D;YAHOO.util.Connect.setForm(E);p.asyncRequest("POST",E.action,{success:function(H){var F=e.parse(H.responseText);if(F){if(F.replyCode===201){var G=F.data.Playlist;b.addSelectOption(y.playlistSelect,G.id,unescape(G.name).shorten(20));o=G.id;l();document.getElementById(y.editPlaylistButton).disabled=false;h(o,true,true)}else{alert(F.data)}}else{alert("There were problems creating your new playlist. Please refresh this page and try again.")}F=null;E=null},failure:function(){alert("Connection failed: Couldn't create new plalist.")}})}}function n(){var D=document.getElementById(y.newPlaylistForm);YAHOO.util.Connect.setForm(D);p.asyncRequest("POST",D.action,{success:function(G){var E=e.parse(G.responseText);if(E){if(E.replyCode===201){var F=E.data.Playlist;b.addSelectOption(y.playlistSelect,F.id,unescape(F.name).shorten(20));o=F.id;r(s);l();document.getElementById(y.editPlaylistButton).disabled=false;h(o,true)}else{alert(E.data);s.form.reset();s.focusFirst()}}else{alert("There were problems creating your new playlist. Please refresh this page and try again.");r(s)}E=null;D=null},failure:function(){alert("Connection failed: Couldn't create new plalist.");r(s)}})}function c(){var E=document.getElementById(y.editPlaylistForm);var D=document.createElement("input");D.setAttribute("name","data[Playlist][id]");D.setAttribute("value",o);D.setAttribute("id","editPlaylistId");D.setAttribute("type","hidden");if(document.getElementById("editPlaylistId")){E.removeChild(document.getElementById("editPlaylistId"))}E.appendChild(D);YAHOO.util.Connect.setForm(E);p.asyncRequest("POST",E.action,{success:function(I){var F=e.parse(I.responseText);if(F){if(F.replyCode===201){var H=F.data.Playlist;var G="";if(o===m){G=H.name.shorten(20)+" (default)"}else{G=H.name.shorten(30)}b.updateSelectOption(y.playlistSelect,o,G);h(o,false)}else{alert(F.data)}}else{alert("There were problems editing your new playlist. Please refresh this page and try again.")}r(g);F=null;H=null;G=null;E=null},failure:function(){alert("Connection failed: Couldn't create new plalist.");r(g)}})}function A(){if(confirm("Are you sure you want to delete this playlist?")){p.asyncRequest("GET","/playlists/delete/"+o,{cache:false,success:function(E){var D=e.parse(E.responseText);if(D&&D.replyCode===201){b.deleteSelectOption(y.playlistSelect,o);o=m;h(m,true);f()}else{alert("There were problems deleting this playlist!")}},failure:function(){alert("Connection failed: Couldn't delete playlist.")}})}}function f(){var D=document.getElementById(y.playlistDelButton);D.disabled=true;D=null}function l(){var D=document.getElementById(y.playlistDelButton);D.disabled=false;D=null}})();(function(){YAHOO.namespace("TOOBBOX");var b={tabPanelDiv:"tabPanel",playlistTabIndex:1,searchTabIndex:0};var d;var c=new YAHOO.util.CustomEvent("tabChangeEvent");function a(e){c.fire(d.get("activeIndex"))}YAHOO.TOOBBOX.TabController=function(){d=new YAHOO.widget.TabView(b.tabPanelDiv);d.addListener("activeTabChange",a);c.fire(d.get("activeIndex"))};YAHOO.TOOBBOX.TabController.prototype.focusSearchTab=function(){d.set("activeIndex",b.searchTabIndex)};YAHOO.TOOBBOX.TabController.prototype.focusPlaylistTab=function(){d.set("activeIndex",b.playlistTabIndex)};YAHOO.TOOBBOX.TabController.prototype.subscribe=function(e,g,f){switch(e){case"tabChangeEvent":c.subscribe(g,f);break}}})();function onYouTubePlayerReady(a){ytplayer=document.getElementById(a);if(ytplayer){ytplayer.addEventListener("onStateChange","YAHOO.TOOBBOX.ToobPlayer.onPlayerStateChange");ytplayer.addEventListener("onError","YAHOO.TOOBBOX.ToobPlayer.onPlayerError")}}(function(){var b=YAHOO.util.Dom;var c=YAHOO.TOOBBOX.Utils;var g=YAHOO.util.DataSource;var C=YAHOO.util.Event;var o=YAHOO.util.Connect;var A={videoPlayerId:"videoPlayer",videoPlayerContainer:"videoPlayerContainer",embeddableUrlField:"embeddableUrl",joinNowFormLink:"join-now-btn",joinNowTab:"join-now-tab",joinNowForm:"join-now-form",joinNowDiv:"join-now",tableCaption:{},playlistModule:"playlist-mod",searchResultModule:"search-results-mod",popPlaylistModule:"popular-playlist-mod"};var B={unstarted:-1,ended:0,playing:1,paused:2,buffering:3,cued:5,not_found:100,not_embeddable_1:101,not_embeddable_2:150};var t;var s=false;var l;var e;var m;var q;var w;var y;YAHOO.TOOBBOX.ToobPlayer=function(){var D=function(I){var F=YAHOO.lang.JSON.parse(I.responseText);if(F&&F.replyCode===201){params=F.data;l=new YAHOO.TOOBBOX.PlayerButtonController();e=new YAHOO.TOOBBOX.PlaylistController(params);l.subscribe(z,this);e.subscribe("playlistPlaySongEvent",j);e.subscribe("playlistDeleteSongEvent",k);e.subscribe("playlistAutoplayEvent",k);if(!params.loggedIn&&!params.playlistId){k()}m=new YAHOO.TOOBBOX.SearchController(params);m.subscribe("videoSaveEvent",e.addVideos,this);var H=new YAHOO.widget.Module(A.playlistModule);var E=new YAHOO.widget.Module(A.searchResultModule);var G=new YAHOO.widget.Module(A.popPlaylistModule);G.hide();E.hide();H.hide();m.subscribe("searchEvent",function(){H.hide();E.show();if(!params.loggedIn){G.hide()}});if(params.loggedIn){w=new YAHOO.TOOBBOX.PlaylistManager(params);w.subscribe("loadPlaylistEvent",e.loadPlaylistEventHandler,e);w.subscribe("loadPlaylistEvent",m.loadPlaylistEventHandler,m);w.subscribe("loadPlaylistEvent",h,this);w.subscribe("loadPlaylistEvent",function(L,K,M){var J=K[1];if(!J){E.hide();H.show()}})}else{if(!params.playlistId){G.show()}C.addListener([A.joinNowFormLink,A.joinNowTab],"click",function(J){var K=document.getElementById(A.joinNowForm);K=e.prepareForm(K);K.submit();K=null});C.addListener(document,"unload",function(J){e.saveToCookies()})}C.addListener(A.embeddableUrlField,"click",function(J){b.get(A.embeddableUrlField).focus();b.get(A.embeddableUrlField).select()});if(params&&params.playlistId>0){H.show();y=params.playlistId;C.addListener("voting-block","click",r)}F=null}else{alert("There were problems loading Toobplayer configuration!")}};o.asyncRequest("GET","/users/status",{cache:false,success:D,failure:function(){alert("There were problems connecting to Toobplayers!")}})};YAHOO.TOOBBOX.ToobPlayer.prototype.addSong=function(D){e.addVideo(D)};YAHOO.TOOBBOX.ToobPlayer.onPlayerStateChange=function(D){t=D;if((D===B.ended&&!s)||D===B.not_embeddable_1||D===B.not_embeddable_2||D===B.not_found){f()}};YAHOO.TOOBBOX.ToobPlayer.onPlayerError=function(D){f()};YAHOO.TOOBBOX.ToobPlayer.loadVideo=function(E,D){if(E){D=unescape(D);x(E)}};function r(F){var E=C.getTarget(F);var D="";switch(E.id){case"vote-yes":D=1;break;case"vote-no":D=0;break}if(y){o.asyncRequest("GET","/playlists/vote/"+y+"/"+D,{cache:false,success:h,failure:function(){}})}E=null;D=null}function h(D){var E=new YAHOO.widget.Module("voting");E.hide();if(w){w.unsubscribe("loadPlaylistEvent",h,null)}if(b.get("playlist-information")){if(b.hasClass("playlist-information","alt-playlist-information")){b.replaceClass("playlist-information","alt-playlist-information","playlist-information")}else{if(b.hasClass("playlist-information","alt-playlist-information-login")){b.replaceClass("playlist-information","alt-playlist-information-login","playlist-information-login")}}}E=null}function x(E){E=c.parseUrl(E,true);var J="6.0.0";var F="425";var L="346";var G={enablejsapi:1,playerapiid:A.videoPlayerId,autoplay:1,showsearch:0,rel:0,fs:1};var I={id:A.videoPlayerId,name:A.videoPlayerId,allowScriptAccess:"always"};var H={allowScriptAccess:"always",allowfullscreen:true,menu:false,flashvars:"enablejsapi=1&playerapiid=videoPlayer&autoplay=1&showsearch=0&rel=0&fs=1"};if(swfobject.hasFlashPlayerVersion(J)){var D=navigator.userAgent.toLowerCase().indexOf("chrome")>-1;if(c.isObject(A.videoPlayerId)){if(D){ytplayer.loadVideoByUrl(E)}else{swfobject.removeSWF(A.videoPlayerId);var K=document.createElement("div");K.setAttribute("id",A.videoPlayerId);b.get(A.videoPlayerContainer).appendChild(K);swfobject.embedSWF(E,A.videoPlayerId,F,L,J,false,G,H,I,false);K=null}}else{swfobject.embedSWF(E,A.videoPlayerId,F,L,J,false,G,H,I,false)}D=null}J=null;F=null;L=null;G=null;I=null;H=null}function z(E,D,F){switch(D[0]){case"play":k();break;case"pause":d();break;case"next":f();break;case"previous":v();break;case"shuffle":u();break;case"repeat":n();break;case"clearall":a();break}}function j(){t=B.ended;k()}function k(){if(t!==B.paused){var D=e.getVideo("selected",true);if(!D){D=e.getVideo("first",true)}if(D){x(D.getData("url"))}}else{ytplayer.playVideo()}D=null}function p(D){if(ytplayer){s=true;ytplayer.stopVideo();ytplayer.clearVideo()}}function d(D){if(ytplayer){if(t===B.paused){ytplayer.playVideo()}else{ytplayer.pauseVideo()}}}function v(E){var D=e.getVideo("previous",true);if(!D){D=e.getVideo("first",true)}x(D.getData("url"));D=null}function f(E){var D=e.getVideo("next",true);if(!D){D=e.getVideo("first",true)}x(D.getData("url"));D=null}function u(){e.toggleShuffle();l.toggleShuffleTooltip()}function n(){e.toggleRepeat();l.toggleRepeatTooltip()}function a(){e.clearAll()}})();YAHOO.namespace("TOOBBOX");YAHOO.TOOBBOX.loginPage=(function(){return{init:function(){YAHOO.TOOBBOX.toobPlayer=new YAHOO.TOOBBOX.ToobPlayer();var b=false;var a=false;YAHOO.util.Event.addListener("username-login","click",function(c){var d=document.getElementById("username-login");d.value="";YAHOO.util.Event.removeListener("username-login","click");d.focus()});YAHOO.util.Event.addListener("password-text","focus",function(d){var c=document.getElementById("password-login");c.value="";c.style.display="inline";document.getElementById("password-text").style.display="none";YAHOO.util.Event.removeListener("password-login","click");c.focus()})}}})();YAHOO.util.Event.onDOMReady(YAHOO.TOOBBOX.loginPage.init);
