$.extend(Vevo.playbar,{playList:{salt:function(){return Math.floor(Math.random()*1000000)},config:{max:75,autosavetime:600},currentUserPlayList:null,lastEditorialPlaylistID:"default",playlists:[],currentPlayBarList:null,createNewStarted:false,lastClickedPlaylistID:"",synchToCookie:function(override){Vevo.Cookie.setMultipartCookie("vevoPlaybar",Vevo.playbar.playList.currentUserPlayList,{expires:365,path:"/"})
},dialog:{returnLoginSignupButtonsforDialog:function(){return{Login:function(){$.cookie("pbDoSave","yes");window.location.href=$("div.login-wrapper a:first").attr("href")
},"Sign Up":function(){$.cookie("pbDoSave","yes");window.location.href=$("div.login-wrapper a:last").attr("href")}}},newPlayList:{openNewPlayListNameDialog:function(){if(Vevo.playbar.playList.createNewStarted){$("#dialog-create-new-playlist").dialog("option","buttons",Vevo.playbar.playList.dialog.newPlayList.loginCheck()).dialog("open")
}else{$("#dialog-create-new-playlist").dialog("option","buttons",Vevo.playbar.playList.dialog.newPlayList.loginCheck(Vevo.playbar.playList.createNewStarted)).dialog("open")
}},loginCheck:function(isNew){if(isNew==null){if(Vevo.isLoggedIn()){$("#dialog-create-new-playlist").find("form").removeClass("ui-hide").next().addClass("ui-hide");
return{Ok:Vevo.playbar.playList.dialog.newPlayList.okClickHandler,Cancel:Vevo.playbar.playList.dialog.newPlayList.cancelClickHandler}}else{$("#dialog-create-new-playlist").find("form").addClass("ui-hide").next().removeClass("ui-hide");
return Vevo.playbar.playList.dialog.returnLoginSignupButtonsforDialog()}}else{if(Vevo.user.isLoggedIn){$("#dialog-create-new-playlist").find("form").removeClass("ui-hide").next().addClass("ui-hide");
return{"Save it":Vevo.playbar.playList.dialog.newPlayList.saveItClickHandler}}else{$("#dialog-create-new-playlist").find("form").addClass("ui-hide").next().removeClass("ui-hide");
return Vevo.playbar.playList.dialog.returnLoginSignupButtonsforDialog()}}},updateDisplay:function(newName){Vevo.playbar.playList.createNewStarted=false;if(Vevo.playbar.playList.currentUserPlayList.saved==false){Vevo.playbar.playList.autoSave.exec()
}var ul=$("#playbar div.scrollable ul");var newPlayList=Vevo.playbar.playList.createPlayListObj(newName);Vevo.playbar.playList.currentUserPlayList=newPlayList;Vevo.playbar.playList.currentUserPlayList.description=$("#playlist-description").val();
var li=$('<li class="user"></li>');li.text(Vevo.Util.decodeHTMLEntity(newPlayList.name));li.data("listentry",newPlayList).bind("click",Vevo.playbar.playList.selector.playListClickHandler).appendTo($("#my-playlists ul"));
Vevo.playbar.playList.synchToCookie();if(Vevo.playbar.playList.currentUserPlayList.saved==false){Vevo.playbar.playList.autoSave.exec()}Vevo.playbar.playList.selector.updatePlaybarFromCookie();
$("#dialog-create-new-playlist").dialog("close")},closeEventHander:function(){$("#dialog-create-new-playlist").find("input, select, textarea").val("").removeClass("ui-state-error")
},editItClickHandler:function(){var nameEl=$("#new-playlist-name");nameEl.val($.trim(nameEl.val()).slice(0,40));var v=nameEl.val();var re=/^[\x20-\x7e]+$/i;var bValid=(re.test(v)&&nameEl.val().length>2)?true:false;
if(bValid){$("#playbar a.create").removeClass("ui-hide");$("#playbar a.save").addClass("ui-hide");Vevo.playbar.playList.currentUserPlayList.name=nameEl.val();Vevo.playbar.playList.currentUserPlayList.description=$("#playlist-description").val();
Vevo.playbar.playList.synchToCookie();Vevo.playbar.playList.autoSave.exec(Vevo.playbar.playList.getPlayListsFromServer);$("#playbar div.select div").text(Vevo.playbar.playList.currentUserPlayList.name);
$("#dialog-create-new-playlist").dialog("close")}else{nameEl.addClass("ui-state-error")}},saveItClickHandler:function(){var nameEl=$("#new-playlist-name");nameEl.val($.trim(nameEl.val()).slice(0,40));
var v=nameEl.val();var re=/^[\x20-\x7e]+$/i;var bValid=(re.test(v)&&nameEl.val().length>2)?true:false;if(bValid){$("#playbar a.create").removeClass("ui-hide");$("#playbar a.save").addClass("ui-hide");
Vevo.playbar.playList.currentUserPlayList.name=nameEl.val();Vevo.playbar.playList.currentUserPlayList.description=$("#playlist-description").val();Vevo.playbar.playList.synchToCookie();
var onComplete=function(){$("div.scrollable-wrapper ul.items li").data("playlistId",Vevo.playbar.playList.currentUserPlayList.id);Vevo.playbar.playList.getPlayListsFromServer();
$("#playbar a.manage").removeClass("ui-hide")};Vevo.playbar.playList.autoSave.exec(onComplete);$("div.bar-wrapper div.select div",Vevo.playbar.$pbar).text(Vevo.playbar.playList.currentUserPlayList.name);
$("#dialog-create-new-playlist").dialog("close")}else{nameEl.addClass("ui-state-error")}},okClickHandler:function(ev){var nameEl=$("#new-playlist-name");nameEl.val($.trim(nameEl.val()).slice(0,40));
var v=nameEl.val();var re=/^[\x20-\x7e]+$/i;var bValid=(re.test(v)&&nameEl.val().length>2)?true:false;if(bValid){Vevo.playbar.playList.currentUserPlayList.name=nameEl.val();
$("div.scrollable-wrapper div.empty").removeClass("ui-hide");$("div.scrollable-wrapper ul.items").html("");Vevo.playbar.playList.currentUserPlayList.description=$("#playlist-description").val();
Vevo.playbar.playList.currentUserPlayList.videos=[];Vevo.playbar.playList.currentUserPlayList.id="";Vevo.playbar.playList.synchToCookie();$(".btn-go",Vevo.playbar.$pbar).addClass("disabled");
Vevo.playbar.playList.autoSave.exec(Vevo.playbar.playList.getPlayListsFromServer);$("div.bar-wrapper div.select div",Vevo.playbar.$pbar).text(v);$("#dialog-create-new-playlist").dialog("close")
}else{nameEl.addClass("ui-state-error")}},cancelClickHandler:function(ev){$(this).dialog("close")}}},autoSave:{timeout:false,init:function(){if(Vevo.playbar.playList.currentUserPlayList.name.length>0&&Vevo.user.isLoggedIn){Vevo.playbar.playList.autoSave.call()
}},exec:function(onComplete){var playlist=Vevo.playbar.playList.currentUserPlayList;var saveUrl="/Proxy/User/Playlist/Create.ashx?title="+playlist.name+"&playlistID="+playlist.id+"&public=true&"+Vevo.playbar.playList.salt()+"&description="+playlist.description;
playlist.videos=playlist.videos.slice(0,Vevo.playbar.playList.config.max);$.each(playlist.videos,function(i,isrc){saveUrl+="&isrc["+i+"]="+isrc});var success=function(data){if(data&&data.success){Vevo.playbar.playList.currentUserPlayList.saved=true;
Vevo.playbar.playList.currentUserPlayList.id=data.playlistid;Vevo.playbar.playList.synchToCookie()}Vevo.playbar.playList.autoSave.timeout=false;if($.isFunction(onComplete)){onComplete()
}};if($("div.selector-not-enabled",Vevo.playbar.$pbar).length>0){success()}else{$.post("/Proxy/User/Playlist/Create.ashx?"+Vevo.playbar.playList.salt(),{Title:playlist.name,playlistID:playlist.id,"public":true,description:playlist.description,isrc:playlist.videos.toString()},success,"json")
}},call:function(){if(Vevo.playbar.playList.autoSave.timeout||Vevo.playbar.playList.currentUserPlayList.saved==true){clearTimeout(Vevo.playbar.playList.autoSave.timeout);
Vevo.playbar.playList.autoSave.timeout=false}Vevo.playbar.playList.autoSave.timeout=setTimeout(Vevo.playbar.playList.autoSave.exec,Vevo.playbar.playList.config.autosavetime)
}},createPlayListObj:function(sName){return{description:"","default":false,saved:false,id:"",name:sName||"",playlist_url:"",type:1,videos:[]}},initCookies:function(){try{this.currentUserPlayList=Vevo.Cookie.getMultipartCookie("vevoPlaybar");
this.currentUserPlayList.videos=this.currentUserPlayList.videos.slice(0,Vevo.playbar.playList.config.max)}catch(ex){this.currentUserPlayList=new this.createPlayListObj();
Vevo.Cookie.setMultipartCookie("vevoPlaybar",this.currentUserPlayList)}finally{if(Vevo.pageData&&Vevo.pageData.populatePlayBar&&Vevo.playbar.playList.selector.updatePlaybarFromPageDataNotRun==true){Vevo.playbar.playList.selector.updatePlaybarFromPageData()
}else{Vevo.playbar.playList.selector.updatePlaybarFromCookie()}}},addtoPlayByIsrc:function(isrc,complete){var info=(!$.isArray(isrc))?isrc:isrc.toString();Vevo.playbar.maximize();
isrc=(!$.isArray(isrc))?[isrc]:isrc;$("div.scrollable-wrapper div.empty").addClass("ui-hide");$.getJSON("/Proxy/Video/GetData.ashx",{isrc:info},function(data){var api=$("#playbar div.scrollable").scrollable();
var pBul=$("#playbar div.scrollable ul");$.each(isrc,function(i,v){if(Vevo.playbar.playList.currentUserPlayList.videos.length<Vevo.playbar.playList.config.max){Vevo.playbar.playList.currentUserPlayList.videos.push(v);
Vevo.playbar.playList.video.htmlHelper(data[v],Vevo.playbar.playList.currentUserPlayList.id).appendTo(pBul)}});if($.isFunction(complete)){complete()}api.reload().end($.isFunction(complete)?0:null)
})},addtoPlayList:function(ev){Vevo.playbar.maximize();$("div.scrollable-wrapper div.empty").addClass("ui-hide");ev.preventDefault();var data=Vevo.playbar.playList.buildData.apply(this,[ev]);
Vevo.playbar.playList.completeAddToPlayList(data)},completeAddToPlayList:function(ev){var data=ev.data||ev;var ul=$("#playbar div.scrollable ul");if(Vevo.playbar.playList.currentUserPlayList.videos.length<Vevo.playbar.playList.config.max){Vevo.playbar.playList.currentUserPlayList.videos.push(data.isrc);
Vevo.playbar.playList.video.htmlHelper(data,Vevo.playbar.playList.currentUserPlayList.id).appendTo(ul);var api=$("#playbar div.scrollable").scrollable();api.reload().end(1);
Vevo.playbar.playList.playListChangeHandler();$("#playbar a.clear").removeClass("ui-hide")}else{$("#dialog-playlist-full").dialog("open")}},buildData:function(ev){var dataScope=$(this).parents("li:first");
var srcURL=$("img",dataScope).attr("src").split("?");var artist=$.trim($("h5",dataScope).text());var data={video_name:$.trim($("h4",dataScope).text()),artists:[{artist_name:artist}],image:$.trim(srcURL[0]),isrc:$.trim($("h4 a",dataScope).attr("rel")),url:$.trim($("h4 a",dataScope).attr("href"))};
return data},playListChangeHandler:function(ev){Vevo.playbar.playList.currentUserPlayList.saved=false;Vevo.playbar.playList.currentUserPlayList.videos=Vevo.playbar.playList.reBuildPlayListFromDom().videos;
if(Vevo.playbar.playList.currentUserPlayList.videos.length==0){$("div.scrollable-wrapper div.empty").removeClass("ui-hide")}$("div.scrollable ul",Vevo.playbar.$pbar).data("seeking",false);
Vevo.playbar.playList.synchToCookie();Vevo.playbar.playList.autoSave.init()},reBuildPlayListFromDom:function(ev){var ul=$("#playbar div.scrollable ul");var videos=[];
var listItemIterator=function(i,o){videos[i]=$(o).data("video").isrc};ul.find("li").each(listItemIterator);Vevo.playbar.playList.currentUserPlayList.videos=videos;
return Vevo.playbar.playList.currentUserPlayList},getPlayListsFromServer:function(){if(Vevo.user.isLoggedIn){$.post("/playlists/GetUserPlaylist",{_:Vevo.playbar.playList.salt()},function(playlistsArray){Vevo.playbar.playList.playlists=playlistsArray;
var ul=$("#my-playlists").find("ul").html("");var playListIterator=function(i,aPlayListObj){if(aPlayListObj.name!=""){var clssNm="user";var li=$('<li class="'+clssNm+'"></li>');
li.text(Vevo.Util.decodeHTMLEntity(aPlayListObj.name));li.data("listentry",aPlayListObj).bind("click",Vevo.playbar.playList.selector.playListClickHandler).hover(Vevo.playbar.playList.selector.hoverOn,Vevo.playbar.playList.selector.hoverOff).appendTo(ul)
}};$.each(playlistsArray,playListIterator);Vevo.playbar.playList.selector.init()},"json")}else{Vevo.playbar.playList.selector.init()}},manageClickHandler:function(ev){ev.preventDefault();
if($("#dialog-create-new-playlist").dialog("isOpen")){$("#dialog-create-new-playlist").dialog("close")}var mm=$("#manage-menu").removeClass("ui-hide"),t=$(this);
mm.css({left:(t.offset().left+18),top:(t.offset().top-mm.height()-1)});$("body").bind("mouseover",Vevo.playbar.playList.postManageClickBodyHandler)},postManageClickBodyHandler:function(ev){if(!$(ev.target).parents().andSelf().filter(".manage, #manage-menu").length){$("#manage-menu").addClass("ui-hide");
$("body").unbind("mouseover",Vevo.playbar.playList.postManageClickBodyHandler)}},clearClickHandler:function(ev){ev.preventDefault();$("body").trigger("mouseover");
Vevo.playbar.playList.video.clear()},saveClickHandler:function(ev){ev.preventDefault();Vevo.playbar.playList.createNewStarted=false;$("p#cp-no-name").removeClass("ui-hide");
$("#dialog-create-new-playlist").dialog("option","title","Name Your Playlist");Vevo.playbar.playList.dialog.newPlayList.openNewPlayListNameDialog()},createClickHandler:function(ev){ev.preventDefault();
Vevo.playbar.playList.createNewStarted=true;if(Vevo.playbar.playList.currentUserPlayList.name.length==0){$("p#cp-no-name").removeClass("ui-hide")}else{$("p#cp-no-name").addClass("ui-hide")
}$("#dialog-create-new-playlist").dialog("option","title","Name Your Playlist");Vevo.playbar.playList.dialog.newPlayList.openNewPlayListNameDialog()},deleteClickHandler:function(ev){ev.preventDefault();
$("body").trigger("mouseover");if($("#dialog-create-new-playlist").dialog("isOpen")){$("#dialog-create-new-playlist").dialog("close")}var answer=confirm('Delete "'+Vevo.playbar.playList.currentUserPlayList.name+'"?');
if(answer){var success=function(){Vevo.Cookie.eatMultipartCookie("vevoPlaybar");Vevo.playbar.playList.initCookies();Vevo.playbar.playList.getPlayListsFromServer();
$("#playbar div.scrollable div.empty").removeClass("ui-hide");$("#playbar div.scrollable ul").html("");var api=$("#playbar div.scrollable").scrollable();api.reload().begin(1)
};$.post("/Proxy/Playlist/Delete.ashx",{playlistID:Vevo.playbar.playList.currentUserPlayList.id},success)}},editClickHandler:function(ev){ev.preventDefault();$("body").trigger("mouseover");
$("#new-playlist-name").val(Vevo.playbar.playList.currentUserPlayList.name);$("p#cp-no-name").addClass("ui-hide");$("#playlist-description").val(Vevo.playbar.playList.currentUserPlayList.description);
var d=$("#dialog-create-new-playlist");if(d.dialog("isOpen")==true){d.dialog("close")}d.dialog("option","title","Edit Your Playlist").dialog("option","modal",false).dialog("option","buttons",{"Save it":Vevo.playbar.playList.dialog.newPlayList.editItClickHandler}).dialog("open")
},init:function(){Vevo.playbar.playList.initCookies();Vevo.playbar.playList.getPlayListsFromServer();$("#playbar a.create").bind("click",Vevo.playbar.playList.createClickHandler);
$("#playbar a.save").bind("click",Vevo.playbar.playList.saveClickHandler);$("#playbar a.manage").bind("click",Vevo.playbar.playList.manageClickHandler);$("#manage-menu a.clear").bind("click",Vevo.playbar.playList.clearClickHandler);
$("#manage-menu a.edit").bind("click",Vevo.playbar.playList.editClickHandler);$("#manage-menu a.delete").bind("click",Vevo.playbar.playList.deleteClickHandler);var $dialog=Vevo.dialogHelpers.helper("#dialog-playlist-full");
$dialog.dialog("option","modal",false).dialog("option","buttons",{Ok:function(){$(this).dialog("close")}});$dialog=Vevo.dialogHelpers.helper("#dialog-playlist-empty");
$dialog.dialog("option","modal",false).dialog("option","buttons",{Ok:function(){$(this).dialog("close")}});$dialog=Vevo.dialogHelpers.helper("#dialog-create-new-playlist");
$("#dialog-create-new-playlist").dialog("option","title","Name Your Playlist").dialog("option","modal",false).bind("dialogclose",Vevo.playbar.playList.dialog.newPlayList.closeEventHander).find("form").bind("submit",function(){return false
})}}});