mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 18:00:23 +00:00
1 line
31 KiB
JavaScript
1 line
31 KiB
JavaScript
!function(){var e,l,m,o,z,A,B,C,D,E,O,P,W,a=$("#chan").html(),c=!0,d=0,j=!0,k=$("#list-song-html").html(),n="",p=!1,q=!1,t=0,u="***REMOVED***",v=$("#temp-results-container"),w=!1,x=/P((([0-9]*\.?[0-9]*)Y)?(([0-9]*\.?[0-9]*)M)?(([0-9]*\.?[0-9]*)W)?(([0-9]*\.?[0-9]*)D)?)?(T(([0-9]*\.?[0-9]*)H)?(([0-9]*\.?[0-9]*)M)?(([0-9]*\.?[0-9]*)S)?)?/,m=[],I=0,K=1,L="",M="",N=!1,D=1,Q=!1,R=!1,S=6e3,T=Date.now(),U="mockvalue",V=!1,X=io.connect("//"+window.location.hostname+":3000");X.on("get_list",function(){X.emit("list",a.toLowerCase())}),window.mobilecheck=function(){var a=!1;return function(b){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(b)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(b.substr(0,4)))&&(a=!0)}(navigator.userAgent||navigator.vendor||window.opera),a},$(document).ready(function(){cb.loadPlayer(),window.onYouTubeIframeAPIReady=cb.onYouTubeIframeAPIReady,window.vote=Y.vote,window.submit=bb.submit,window.submitAndClose=bb.submitAndClose,localStorage.list_update&&"13.06.15"==localStorage.list_update||(localStorage.setItem("list_update","13.06.15"),window.location.reload(!0)),cb.setup_youtube_listener(a),Z.admin_listener(),_.setup_chat_listener(a),_.allchat_listener(),Y.channel_listener(),Y.skipping_listener(),db.host_listener(),$("#settings").sideNav({menuWidth:300,edge:"right",closeOnClick:!1}),$("#chat-btn").sideNav({menuWidth:272,edge:"left",closeOnClick:!1}),$(".drag-target")[1].remove(),window.mobilecheck()||eb.msieversion()||Notification.requestPermission(),window.mobilecheck()?(document.getElementById("search").blur(),readyLooks()):(localStorage[a.toLowerCase()]&&(64!=localStorage[a.toLowerCase()].length?localStorage.removeItem(a.toLowerCase()):X.emit("password",[localStorage[a.toLowerCase()],a.toLowerCase(),U])),"jazz"==$("#chan").html().toLowerCase(),navigator.userAgent.toLowerCase().indexOf("firefox")>-1&&$(".main").height(window.innerHeight-64),git_info=$.ajax({type:"GET",url:"https://api.github.com/repos/nixolas1/zoff/commits",async:!1}).responseText,git_info=$.parseJSON(git_info),$("#latest-commit").html("Latest Commit: <br>"+git_info[0].commit.author.date.substring(0,10)+": "+git_info[0].committer.login+"<br><a href='"+git_info[0].html_url+"'>"+git_info[0].sha.substring(0,10)+"</a>: "+git_info[0].commit.message+"<br"),eb.sample()),$("#results").hover(function(){$("div.result").removeClass("hoverResults"),i=0},function(){}),$("#search").focus(),$("#base").bind("keyup keypress",function(a){var b=a.keyCode||a.which;return 13==b?(a.preventDefault(),!1):void 0}),$(".search_input").focus(),$(".search_input").keyup(function(a){search_input=$(this).val(),40!=a.keyCode&&38!=a.keyCode&&13!=a.keyCode&&39!=a.keyCode&&37!=a.keyCode?(search_input.length<3&&$("#results").html(""),13==a.keyCode?bb.search(search_input):(i=0,t=100)):13==a.keyCode&&(pId=search_input.split("list="),pId.length>1&&(playlist_url="https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&maxResults=40&key="+u+"&playlistId="+pId[1],$.ajax({type:"GET",url:playlist_url,dataType:"jsonp",success:function(a){var b="";$.each(a.items,function(a,c){b+=c.contentDetails.videoId+","}),addVideos(b),document.getElementById("search").value=""}})))}),setInterval(function(){t--,0===t&&bb.search($(".search_input").val())},1)}),$(document).keyup(function(a){if(27==event.keyCode)$("#results").html(""),$(".main").removeClass("blurT"),$("#controls").removeClass("blurT"),$(".main").removeClass("clickthrough"),eb.contains($("#search-wrapper").attr("class").split(" "),"hide")||$("#search-wrapper").toggleClass("hide"),eb.contains($("#song-title").attr("class").split(" "),"hide")&&$("#song-title").toggleClass("hide"),"mdi-navigation-close"==$("#search-btn i").attr("class")&&($("#search-btn i").toggleClass("mdi-navigation-close"),$("#search-btn i").toggleClass("mdi-action-search")),$("#results").toggleClass("hide");else if($("div.result").length>2)if(40==a.keyCode)i<$("div.result").length-2&&i++,$("div.result:nth-child("+(i-1)+")").removeClass("hoverResults"),$("div.result:nth-child("+i+")").addClass("hoverResults");else if(38==a.keyCode)$("div.result:nth-child("+i+")").removeClass("hoverResults"),$("div.result:nth-child("+(i-1)+")").addClass("hoverResults"),i>1&&i--;else if(13==a.keyCode){i=0;var b=document.getElementsByClassName("hoverResults")[0];"function"==typeof b.onclick&&b.onclick.apply(b),$("div.hoverResults").removeClass("hoverResults"),$("#results").html(""),document.getElementById("search").value="",$(".main").removeClass("blurT"),$("#controls").removeClass("blurT"),$(".main").removeClass("clickthrough")}}),$("input[class=conf]").change(function(){Z.save()}),$(window).focus(function(){q&&($("#favicon").attr("href","static/images/favicon.png"),q=!1)}),document.getElementById("chat-btn").addEventListener("click",function(){$("#text-chat-input").focus(),$("#chat-btn i").css("opacity",1),clearInterval(o),p=!1,q=!1,$("#favicon").attr("href","static/images/favicon.png")}),$(".chat-tab").click(function(){$("#text-chat-input").focus()}),$("#skip").on("click",function(){Y.skip()}),$("#chan").on("click",function(){Y.show()}),$("#adminForm").on("submit",function(){Z.pass_save()}),$("#chatForm").on("submit",function(){_.chat(document.getElementById("chatForm").input)}),$("#shuffle").on("click",function(){Z.shuffle()}),$("#search-btn").on("click",function(){bb.showSearch()}),$("#song-title").on("click",function(){bb.showSearch()}),$("#admin-lock").on("click",function(){Z.log_out()}),$("#closeSettings").on("click",function(){Z.hide_settings()});var Y={channel_listener:function(){X.on(a.toLowerCase(),function(a){Y.channel_function(a)})},channel_function:function(a){if("list"==a[0]){l=a[1];var b=Y.getIndexOfConf(l);m=l[b],l.splice(b,1),l.sort(eb.predicate({name:"votes",reverse:!0},"added")),Y.set_conf(m),Y.populate_list(l)}else if("added"==a[0])l.push(a[1]),l.sort(eb.predicate({name:"votes",reverse:!0},"added")),Y.insertAtIndex(Y.getIndexOfSong(a[1].id),a[1],!0),setTimeout(function(){var b=$("#wrapper").children()[Y.getIndexOfSong(a[1].id)];$(b).css("height",66)},0);else if("deleted"==a[0]){var c=$("#wrapper").children()[Y.getIndexOfSong(a[1])];c.style.height=0,setTimeout(function(){$("#"+a[1]).remove(),l.splice(Y.getIndexOfSong(a[1]),1)},1050)}else if("vote"==a[0]){var d=Y.getIndexOfSong(a[1]);l[d].votes+=1,l[d].added=a[2],l.sort(eb.predicate({name:"votes",reverse:!0},"added")),Y.populate_list(l,!1)}else"song_change"==a[0]&&(l[0].now_playing=!0,l[0].votes=0,l[0].guids=[],l[0].added=a[1],l[l.length-1].now_playing=!1,l.push(l.shift()),$("#wrapper").children()[0].remove(),Y.insertAtIndex($("#wrapper").children().length,l[l.length-2],!1))},skipping_listener:function(){X.on("skipping",function(a){document.getElementById("pBar").innerHTML="Vote registrated! "+a[0]+" of "+a[1]+" has skipped. "+Math.ceil(a[1]/2)+" or more is needed!",$("#pBar").addClass("opacityFull"),setTimeout(function(){$("#pBar").removeClass("opacityFull")},1500)})},set_conf:function(a){d=""==a.adminpass||0==c?!1:!0,I=a.allvideos,longsongs=a.longsongs,names=["vote","addsongs","longsongs","frontpage","allvideos","removeplay","skip","shuffle"];for(var b=0;b<names.length;b++)document.getElementsByName(names[b])[0].checked=a[names[b]]===!0,d&&$("input[name="+names[b]+"]").attr("disabled",!0)},populate_list:function(a){$("#wrapper").empty(),$.each(a,function(a,b){if(!b.now_playing){var d=decodeURIComponent(b.title),e=b.id,f="background-image:url('//img.youtube.com/vi/"+e+"/mqdefault.jpg');",g=b.votes;$("#wrapper").append(k);var h=$("#list-song");h.find(".list-title").text(d),h.find(".list-title").attr("title",d),h.find(".list-votes").text(g),h.find(".vote-container").attr("onclick","vote('"+e+"','pos')"),h.find(".list-image").attr("style",f),h.attr("id",e),h.find("#del").attr("onclick","vote('"+e+"', 'del')"),c||$(".card-action").removeClass("hide"),1==g&&h.find(".vote-text").text("vote")}}),$("#settings").css("visibility","visible"),$("#settings").css("opacity","1"),$("#wrapper").css("opacity","1"),l=a,l=l.sort(eb.predicate({name:"votes",reverse:!0},"added"))},vote:function(b,c){return X.emit("vote",[a,b,c,U,L]),!0},skip:function(){return X.emit("skip",[a,U,localStorage[a.toLowerCase()]]),!0},importOldList:function(a){playlist_url="lists/"+a+".json",e=$.ajax({type:"GET",url:playlist_url,async:!1}).responseText,e=$.parseJSON(e);var b="",c=0;$.each(e.songs,function(a,d){b+=d.id+",",c>45&&(bb.addVideos(b),b="",c=0),c++}),bb.addVideos(b),document.getElementById("search").value=""},show:function(){window.mobilecheck()||(j?(j=!1,$("#toptitle").empty(),$("#chan").addClass("bigChan"),$("#chan").html("zoff.no/"+a.toLowerCase())):(j=!0,$("#toptitle").html("Z\xf6ff"),$("#chan").removeClass("bigChan"),$("#chan").html(a)))},insertAtIndex:function(a,b,c){return 0===a?($("#wrapper").prepend(Y.generateSong(b,c)),void 0):($("#wrapper > div:nth-child("+a+")").after(Y.generateSong(b,c)),void 0)},generateSong:function(a,b){var d=a.id,e=a.title,f=a.votes,g="background-image:url('//img.youtube.com/vi/"+d+"/mqdefault.jpg');",h=$("<div>"+k+"</div>");return b&&h.find("#list-song").css("height",0),h.find(".list-title").text(e),h.find(".list-title").attr("title",e),h.find(".list-votes").text(f),h.find(".vote-container").attr("onclick","vote('"+d+"','pos')"),h.find(".list-image").attr("style",g),h.find("#list-song").attr("id",d),h.find("#del").attr("onclick","vote('"+d+"', 'del')"),c||h.find(".card-action").removeClass("hide"),1==f&&h.find(".vote-text").text("vote"),h.html()},getIndexOfSong:function(a){return indexes=$.map(l,function(b,c){return b.id==a?c:void 0}),indexes[0]},getIndexOfConf:function(a){return indexes=$.map(a,function(a,b){return"views"in a?b:void 0}),indexes[0]}},Z={admin_listener:function(){X.on("toast",function(b){switch(n="correct",b){case"addedsong":b=eb.rnd(["I added your song","Your song has been added","Yay, more songs!","Thats a cool song!","I added that song for you","I see you like adding songs..."]);break;case"savedsettings":b=eb.rnd(["I've saved your settings","I stored all your settings","Your settings have been stored in a safe place"]);break;case"wrongpass":b=eb.rnd(["That's not the right password!","Wrong! Better luck next time...","You seem to have mistyped the password","Incorrect. Have you tried meditating?","Nope, wrong password!","Wrong password. The authorities have been notified."]),localStorage[a.toLowerCase()]&&localStorage.removeItem(a.toLowerCase());break;case"shuffled":b=eb.rnd(["\u266b You stir me right round, baby. \u266b","\u266b Stir, stir, stir my boat \u266b","I vigorously stirred your playlist!","I hope you like your list stirred, not shaken.","I shuffled your playlist with the cosmic background radiation as a seed. Enjoy.","100% randomized, for your listening pleasure!","I hope you enjoy your fresh playlist!"]);break;case"deletesong":b=eb.rnd(["Your song is now in a better place...","You won't be seeing any more of that video...","EXTERMINATE! EXTERMINATE! EXTERMINATE!","I killed it with fire","Thanks for deleting that song. I didn't like it anyways...","Removed song securely."]);break;case"voted":b=eb.rnd(["You voted!","You vote like a boss","Voting is the key to democracy","May you get your song to the very top!","I love that song! I vouch for you.","Only you vote that good","I like the way you vote...","Up the video goes!","Voted Z\xf6ff for president","Only 999 more to go!"]);break;case"alreadyvoted":b=eb.rnd(["You can't vote twice on that song!","I see you have voted on that song before","One vote per person!","I know you want to hear your song, but have patience!","I'm sorry, but I can't let you vote twice, Dave."]);break;case"skip":b=eb.rnd(["The song was skipped","I have skipped a song","Skipped to the beat","Skipmaster3000","They see me skippin', they hatin'"]);break;case"listhaspass":b=eb.rnd(["I'm sorry, but you have to be an admin to do that!","Only admins can do that","You're not allowed to do that, try logging in!","I can't let you do that","Please log in to do that"]);break;case"noskip":b=eb.rnd(["Only Admins can skip songs, peasant!","You have to log in to skip songs on this channel","Try clicking the settings icon and logging in before you skip"]);break;case"alreadyskip":b=eb.rnd(["Skipping is democratic, only one vote per person!","More people have to vote to skip, not just you!","Get someone else to skip too! You can't do it on yourself."]);break;case"notyetskip":b="Skipping is disabled the first 10 seconds."}Materialize.toast(b,4e3)}),X.on("pw",function(b){c=!1,L=b,names=["vote","addsongs","longsongs","frontpage","allvideos","removeplay","skip","shuffle"];for(var d=0;d<names.length;d++)$("input[name="+names[d]+"]").attr("disabled",!1);$(".card-action").removeClass("hide"),$("#admin-lock").removeClass("mdi-action-lock"),$("#admin-lock").addClass("mdi-action-lock-open clickable"),localStorage.setItem(a.toLowerCase(),b),Materialize.toast("Correct password. You now have access to the sacred realm of The Admin.",4e3)}),X.on("conf",function(a){Y.set_conf(a[0])})},pass_save:function(){X.emit("password",[CryptoJS.SHA256(document.getElementById("password").value).toString(),a.toLowerCase(),U])},log_out:function(){localStorage[a.toLowerCase()]?(localStorage.removeItem(a.toLowerCase()),Z.display_logged_out(),Materialize.toast("Logged out",4e3)):Materialize.toast("Not logged in",4e3)},display_logged_out:function(){c=!0,names=["vote","addsongs","longsongs","frontpage","allvideos","removeplay","skip","shuffle"];for(var a=0;a<names.length;a++)$("input[name="+names[a]+"]").attr("disabled",!0);eb.contains($("#admin-lock").attr("class").split(" "),"mdi-action-lock")||$("#admin-lock").addClass("mdi-action-lock"),$("#admin-lock").removeClass("mdi-action-lock-open clickable"),0==$(".card-action").length||eb.contains($(".card-action").attr("class").split(" "),"hide")||$(".card-action").addClass("hide"),L="",document.getElementById("password").value=""},save:function(){Z.submitAdmin(document.getElementById("adminForm").elements)},submitAdmin:function(a){voting=a.vote.checked,addsongs=a.addsongs.checked,longsongs=a.longsongs.checked,K=a.frontpage.checked,allvideos=a.allvideos.checked,removeplay=a.removeplay.checked,skipping=a.skip.checked,shuffling=a.shuffle.checked,configs=[voting,addsongs,longsongs,K,allvideos,removeplay,L,skipping,shuffling],X.emit("conf",configs)},hide_settings:function(){$("#settings").sideNav("hide")},remove_bar:function(){setTimeout(function(){$("#adminPanel").removeClass("success"),$("#adminPanel").removeClass("fadeerror"),$("#eBar").removeClass("opacityFull"),$("#sBar").removeClass("opacityFull")},1500)},shuffle:function(){X.emit("shuffle",void 0!==L?L:"")}},_={chat:function(a){a.value.length>150||("#all_chat"==$(".tab a.active").attr("href")?X.emit("all,chat",a.value):X.emit("chat",a.value),a.value="")},allchat_listener:function(){X.on("chat.all",function(a){0!=$("#chat-bar").position().left?p||($("#favicon").attr("href","static/images/highlogo.png"),p=!0,q=!0,o=setInterval(_.chat_blink,2e3)):document.hidden&&($("#favicon").attr("href","static/images/highlogo.png"),q=!0);var b=eb.intToARGB(eb.hashCode(a[0])).substring(0,6);$("#chatall").append("<li title='"+a[2]+"'><span style='color:#"+b+";'>"+a[0]+"</span></li>");var c=document.createTextNode(a[1]);$("#chatall li:last")[0].appendChild(c),document.getElementById("chatall").scrollTop=document.getElementById("chatall").scrollHeight})},setup_chat_listener:function(a){document.getElementsByClassName("chat-tab")[0].innerHTML=a,X.on("chat",function(a){0!=$("#chat-bar").position().left&&a[1].indexOf(":")>=0&&(p||($("#favicon").attr("href","static/images/highlogo.png"),p=!0,o=setInterval(_.chat_blink,2e3)));var b=eb.intToARGB(eb.hashCode(a[0])).substring(0,6);$("#chatchannel").append("<li><span style='color:#"+b+";'>"+a[0]+"</span></li>");var c=document.createTextNode(a[1]);$("#chatchannel li:last")[0].appendChild(c),document.getElementById("chatchannel").scrollTop=document.getElementById("chatchannel").scrollHeight})},chat_blink:function(){$("#chat-btn i").css("opacity",.5),setTimeout(function(){$("#chat-btn i").css("opacity",1)},1e3)}},ab={initYoutubeControls:function(){setInterval(ab.durationSetter,1e3),ab.initControls()},initControls:function(){document.getElementById("volume-button").addEventListener("click",ab.mute_video),document.getElementById("playpause").addEventListener("click",ab.play_pause),document.getElementById("fullscreen").addEventListener("click",ab.fullscreen)},initSlider:function(){localStorage.volume?vol=localStorage.getItem("volume"):(vol=100,localStorage.setItem("volume",vol)),$("#volume").slider({min:0,max:100,value:vol,range:"min",animate:!0,slide:function(a,b){ab.setVolume(b.value),localStorage.setItem("volume",b.value)}}),ab.choose_button(vol,!1)},fullscreen:function(){var a=document.getElementById("player"),b=a.requestFullScreen||a.mozRequestFullScreen||a.webkitRequestFullScreen;b&&b.bind(a)()},play_pause:function(){1==B.getPlayerState()?B.pauseVideo():(2==B.getPlayerState()||0==B.getPlayerState())&&B.playVideo()},settings:function(){$("#qS").toggleClass("hide")},changeQuality:function(a){B.getPlaybackQuality!=a&&(B.setPlaybackQuality(a),B.getPlaybackQuality()),$("#qS").toggleClass("hide")},mute_video:function(){B.isMuted()?(B.unMute(),ab.choose_button(B.getVolume(),!1)):(ab.choose_button(0,!0),B.mute())},setVolume:function(a){B.setVolume(a),ab.choose_button(a,!1),B.isMuted()&&B.unMute()},choose_button:function(a,b){b?(1==document.getElementById("v-full").className.split(" ").length&&$("#v-full").toggleClass("hide"),1==document.getElementById("v-medium").className.split(" ").length&&$("#v-medium").toggleClass("hide"),1==document.getElementById("v-low").className.split(" ").length&&$("#v-low").toggleClass("hide"),2==document.getElementById("v-mute").className.split(" ").length&&$("#v-mute").toggleClass("hide")):a>=0&&33>=a?(1==document.getElementById("v-full").className.split(" ").length&&$("#v-full").toggleClass("hide"),1==document.getElementById("v-medium").className.split(" ").length&&$("#v-medium").toggleClass("hide"),2==document.getElementById("v-low").className.split(" ").length&&$("#v-low").toggleClass("hide"),1==document.getElementById("v-mute").className.split(" ").length&&$("#v-mute").toggleClass("hide")):a>=34&&66>=a?(1==document.getElementById("v-full").className.split(" ").length&&$("#v-full").toggleClass("hide"),2==document.getElementById("v-medium").className.split(" ").length&&$("#v-medium").toggleClass("hide"),1==document.getElementById("v-low").className.split(" ").length&&$("#v-low").toggleClass("hide"),1==document.getElementById("v-mute").className.split(" ").length&&$("#v-mute").toggleClass("hide")):a>=67&&100>=a&&(2==document.getElementById("v-full").className.split(" ").length&&$("#v-full").toggleClass("hide"),1==document.getElementById("v-medium").className.split(" ").length&&$("#v-medium").toggleClass("hide"),1==document.getElementById("v-low").className.split(" ").length&&$("#v-low").toggleClass("hide"),1==document.getElementById("v-mute").className.split(" ").length&&$("#v-mute").toggleClass("hide"))},playPause:function(){state=B.getPlayerState(),button=document.getElementById("playpause"),1==state?B.pauseVideo():2==state&&B.playVideo()},durationSetter:function(){duration=B.getDuration(),dMinutes=Math.floor(duration/60),dSeconds=duration-60*dMinutes,currDurr=B.getCurrentTime(),currDurr>duration&&(currDurr=duration),minutes=Math.floor(currDurr/60),seconds=currDurr-60*minutes,document.getElementById("duration").innerHTML=eb.pad(minutes)+":"+eb.pad(seconds)+" <span id='dash'>/</span> "+eb.pad(dMinutes)+":"+eb.pad(dSeconds),per=100/duration*currDurr,per>=100?per=100:0==duration&&(per=0),$("#bar").width(per+"%")},volumeOptions:function(){B.isMuted()?(B.unMute(),vol=B.getVolume(),$("#volume").slider("value",B.getVolume())):(B.mute(),$("#volume").slider("value",0))},hoverMute:function(){vol=B.getVolume()}},bb={showSearch:function(){$("#search-wrapper").toggleClass("hide"),window.mobilecheck()&&$(".search_input").focus(),$("#song-title").toggleClass("hide"),$("#results").toggleClass("hide"),$("#results").empty(),$("#search-btn i").toggleClass("mdi-navigation-close"),$("#search-btn i").toggleClass("mdi-action-search"),$("#search").focus()},search:function(){if($(".search_results").html(""),""!==window.search_input){w=!0;var b=encodeURIComponent(window.search_input),c="https://www.googleapis.com/youtube/v3/search?key="+u+"&videoEmbeddable=true&part=id&fields=items(id)&type=video&order=viewCount&safeSearch=none&maxResults=25";c+="&q="+b,I&&(c+="&videoCategoryId=10");var d="https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key="+u+"&id=";eb.contains($("#search_loader").attr("class").split(" "),"hide")&&$("#search_loader").removeClass("hide"),$.ajax({type:"GET",url:c,dataType:"jsonp",success:function(a){a.items&&($.each(a.items,function(a,b){d+=b.id.videoId+","}),console.log("Search for: "+b),$.ajax({type:"GET",url:d,dataType:"jsonp",success:function(a){var b="",c=$(v);$.each(a.items,function(a,d){var e=d.contentDetails.duration;if(secs=bb.durationToSeconds(e),!longsongs||720>secs){C=d.snippet.title,enc_title=encodeURIComponent(C).replace(/'/g,"\\'"),W=d.id,e=e.replace("PT","").replace("H","h ").replace("M","m ").replace("S","s"),thumb=d.snippet.thumbnails.medium.url;var f=c;f.find(".search-title").text(C),f.find(".result_info").text(e),f.find(".thumb").attr("src",thumb),f.find(".add-many").attr("onclick","submit('"+W+"','"+enc_title+"',"+secs+");"),$($(f).find("div")[0]).attr("onclick","submitAndClose('"+W+"','"+enc_title+"',"+secs+");"),$($(f).find("div")[0]).attr("id",W),b+=f.html()}}),console.log(a.items.length),$("<div style='display:none;' id='mock-div'>"+b+"</div>").appendTo($("#results")).show("blind",83.33*(a.items.length-1)),eb.contains($("#search_loader").attr("class").split(" "),"hide")||$("#search_loader").addClass("hide"),$(".add-many").click(function(a){return a.preventDefault(),a.stopPropagation(),!1})}}))}})}else $(".main").removeClass("blurT"),$("#controls").removeClass("blurT"),$(".main").removeClass("clickthrough")},submitAndClose:function(a,b,c){bb.submit(a,b,c),$("#results").html(""),bb.showSearch(),console.log("sub&closed"),document.getElementById("search").value="",$("#results").html="",$(".main").removeClass("blurT"),$("#controls").removeClass("blurT"),$(".main").removeClass("clickthrough")},addVideos:function(a){console.log(a);var b="https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key=***REMOVED***&id=";b+=a,$.ajax({type:"POST",url:b,dataType:"jsonp",success:function(a){$.each(a.items,function(a,b){var c=bb.durationToSeconds(b.contentDetails.duration);(!longsongs||720>c)&&(enc_title=encodeURIComponent(b.snippet.title).replace(/'/g,"\\'"),bb.submit(b.id,enc_title,c))})}})},submit:function(a,b,c){X.emit("add",[a,decodeURIComponent(b),L,c])},durationToSeconds:function(a){var b=a.match(x);return hours=parseInt(b[12])||0,minutes=parseInt(b[14])||0,seconds=parseInt(b[16])||0,60*60*hours+60*minutes+seconds}},cb={setup_youtube_listener:function(a){X.on("np",function(b){0==b[0].length?(console.log("Empty list"),document.getElementById("song-title").innerHTML="Empty channel. Add some songs!",$("#player_overlay").height($("#player").height()),window.mobilecheck()||$("#player_overlay").toggleClass("hide"),Y.importOldList(a.toLowerCase())):($("#player_overlay").addClass("hide"),E=b[0][0].id,m=b[1][0],time=b[2],O=time-m.startTime,P=b[0][0].title,cb.getTitle(P,D),cb.setBGimage(E),N&&!window.mobilecheck()?(B.getVideoUrl().split("v=")[1]!=E?(B.loadVideoById(E),cb.notifyUser(E,P),B.seekTo(O),Q&&B.pauseVideo()):console.log("like"),Q||B.playVideo(),(B.getDuration()>O||0==B.getDuration())&&B.seekTo(O)):cb.getTitle(P,D))}),X.on("viewers",function(a){D=a,void 0!==P&&cb.getTitle(P,D)})},onPlayerStateChange:function(a){switch(a.data){case-1:break;case 0:console.log("end"),X.emit("end",E),R=!1,Q=!1;break;case 1:R=!0,1==document.getElementById("play").className.split(" ").length&&$("#play").toggleClass("hide"),2==document.getElementById("pause").className.split(" ").length&&$("#pause").toggleClass("hide"),Q&&(X.emit("pos"),Q=!1);break;case 2:Q=!0,1==document.getElementById("pause").className.split(" ").length&&$("#pause").toggleClass("hide"),2==document.getElementById("play").className.split(" ").length&&$("#play").toggleClass("hide");break;case 3:}},getTitle:function(b,c){var d=c>1?"viewers":"viewer",e=decodeURIComponent(b),f=document.getElementById("song-title");document.title=e+" \u2022 Z\xf6ff / "+a,f.innerHTML=e,document.getElementById("viewers").innerHTML=c+" "+d,f.title=e+" \u2022 "+c+" "+d},errorHandler:function(a){B.getVideoUrl().split("https://www.youtube.com/watch"),5==a.data||100==a.data||101==a.data||150==a.data?X.emit("skip",a.data):void 0!==E&&B.loadVideoById(E)},onPlayerReady:function(){N=!0,window.mobilecheck()||($("#player").css("opacity","1"),$("#controls").css("opacity","1"),$(".playlist").css("opacity","1"),B.loadVideoById(E),B.playVideo(),B.seekTo(O)),cb.readyLooks(),ab.initYoutubeControls(B),ab.initSlider(),B.setVolume(localStorage.getItem("volume"))},readyLooks:function(){cb.setBGimage(E)},setBGimage:function(a){if(void 0!==a){var b=new Image;b.onload=function(){var a=new ColorThief;document.getElementsByTagName("body")[0].style.backgroundColor=eb.rgbToHsl(a.getColor(b))},b.crossOrigin="Anonymous",b.src="https://cors-anywhere.herokuapp.com/http://img.youtube.com/vi/"+a+"/mqdefault.jpg"}},notifyUser:function(a,b){if(b=b.replace(/\\\'/g,"'").replace(/"/g,"'").replace(/&/g,"&"),"granted"===Notification.permission&&document.hidden&&"30H2Z8Lr-4c"!=a&&!window.mobilecheck()){var c=new Notification("Now Playing",{body:b,icon:"http://i.ytimg.com/vi/"+a+"/mqdefault.jpg",iconUrl:"http://i.ytimg.com/vi/"+a+"/mqdefault.jpg"});c.onclick=function(){window.focus(),this.cancel()},setTimeout(function(){c.close()},5e3)}},setup_all_listeners:function(){X.on("get_list",function(){X.emit("list",a.toLowerCase())}),cb.setup_youtube_listener(a),Z.admin_listener(),_.setup_chat_listener(a),_.allchat_listener(),Y.channel_listener(),Y.skipping_listener()},onYouTubeIframeAPIReady:function(){B=new YT.Player("player",{videoId:"asd",playerVars:{rel:"0",wmode:"transparent",controls:"0",iv_load_policy:"3",theme:"light",color:"white"},events:{onReady:cb.onPlayerReady,onStateChange:cb.onPlayerStateChange,onError:cb.errorHandler}})},loadPlayer:function(){z=document.createElement("script"),z.src="https://www.youtube.com/iframe_api",A=document.getElementsByTagName("script")[0],A.parentNode.insertBefore(z,A)}},db={host_listener:function(){X.on("id",function(b){console.log("Unique remote control ID: "+b);var c="https://"+window.location.hostname+"/remote/"+b;$("#code-text").text(b),$("#code-qr").attr("src","https://chart.googleapis.com/chart?chs=221x221&cht=qr&choe=UTF-8&chld=L|1&chl="+c),$("#code-link").attr("href",c),V||(V=!0,X.on(b,function(b){console.log(b),"volume"==b[0]?($("#volume").slider("value",b[1]),B.setVolume(b[1]),localStorage.setItem("volume",b[1]),choose_button(b[1],!1)):"channel"==b[0]?(X.emit("change_channel"),X.removeAllListeners(),a=b[1].toLowerCase(),$("#chan").html(a.substring(0,1).toUpperCase()+a.substring(1).toLowerCase()),cb.setup_youtube_listener(a),Z.admin_listener(),_.setup_chat_listener(a),_.allchat_listener(),Y.channel_listener(),Y.skipping_listener(),X.emit("list",a.toLowerCase()),window.history.pushState("object or string","Title","/"+a.toLowerCase())):"pause"==b[0]?B.pauseVideo():"play"==b[0]?B.playVideo():"skip"==b[0]&&skip()}))})}},eb={rnd:function(a){return a[Math.floor(Math.random()*a.length)]},predicate:function(){for(var c,d,f,a=[],b=arguments.length,g=function(a,b){return a===b?0:b>a?-1:1},h=function(a,b){var c=g,d=g;return a&&(d=function(b,d){return c(a(b),a(d))}),b?function(a,b){return-1*d(a,b)}:d},i=0;b>i;i++)c=arguments[i],"string"==typeof c?(d=c,f=g):(d=c.name,f=h(c.primer,c.reverse)),a.push({name:d,cmp:f});return function(d,e){for(var h,i,j=0;b>j&&(i=0,c=a[j],h=c.name,i=c.cmp(d[h],e[h]),0===i);j++);return i}},hashCode:function(a){for(var b=0,c=0;c<a.length;c++)b=a.charCodeAt(c)+((b<<5)-b);return b},intToARGB:function(a){return(255&a>>24).toString(16)+(255&a>>16).toString(16)+(255&a>>8).toString(16)+(255&a).toString(16)},pad:function(a){return 10>a?"0"+Math.floor(a):Math.floor(a)},contains:function(a,b){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1},sample:function(){Date.now()-T>=2*S&&(X.removeAllListeners(),X.disconnect(),X.connect(),cb.setup_all_listeners()),T=Date.now(),setTimeout(eb.sample,S)},loadjsfile:function(a){if(-1==M.indexOf("["+a+"]")){var b=document.createElement("script");b.setAttribute("type","text/javascript"),b.setAttribute("src",a),document.getElementsByTagName("head")[0].appendChild(b),M+="["+a+"]"}},msieversion:function(){var a=window.navigator.userAgent,b=a.indexOf("MSIE ");return b>0||navigator.userAgent.match(/Trident.*rv\:11\./)?!0:!1},getRandomInt:function(a,b){return Math.floor(Math.random()*(b-a))+a},rgbToHsl:function(a){r=a[0],g=a[1],b=a[2],r/=255,g/=255,b/=255;var e,f,c=Math.max(r,g,b),d=Math.min(r,g,b),h=(c+d)/2;if(c==d)e=f=0;else{var i=c-d;switch(f=h>.5?i/(2-c-d):i/(c+d),c){case r:e=(g-b)/i+(b>g?6:0);break;case g:e=(b-r)/i+2;break;case b:e=(r-g)/i+4}e/=6}return h>.5&&(h=.5),"hsl("+Math.floor(360*e)+", "+Math.floor(100*f)+"%, "+Math.floor(100*h)+"%)"}};Element.prototype.remove=function(){this.parentElement.removeChild(this)},NodeList.prototype.remove=HTMLCollection.prototype.remove=function(){for(var a=0,b=this.length;b>a;a++)this[a]&&this[a].parentElement&&this[a].parentElement.removeChild(this[a])}}(); |