").parent().html()),$("#video-container").append($($($(n[0]).html())[4]).clone().wrap("
").parent().html()),$("#main-row").append("
"),$("#player").removeClass("player_bottom"),$("#main-row").removeClass("frontpage_modified_heights"),$("#main_section_frontpage").remove(),$("#closePlayer").remove()}$("#search").attr("placeholder","Find song on YouTube..."),$(".page-footer").addClass("padding-bottom-novideo"),1==$("#alreadychannel").length?window.init():(window.fromFront=!0,window.init()),0==$("#alreadyfp").length&&$("head").append("
")}})}};String.prototype.capitalizeFirstLetter=function(){return this.charAt(0).toUpperCase()+this.slice(1)},$().ready(function(){window.fromChannel||"/"!=window.location.pathname||i()}),window.initfp=i,$(document).on("click","#cookieok",function(){$(this).fadeOut(function(){$(this).remove(),localStorage.ok_cookie=!0})}),$(document).on("click","#closePlayer",function(e){e.preventDefault(),M.emit("change_channel"),he.ytplayer.destroy(),he.ytplayer="",document.title="Zöff",$("#closePlayer").remove()}),$(document).on("click","#toast-container",function(){$(this).fadeOut(function(){$(this).remove()})}),$(document).on("click","#aprilfools",function(){$(".mega").css("-webkit-transform","rotate(0deg)"),$(".mega").css("-moz-transform","rotate(0deg)")}),$(document).on("click",".chan-link",function(e){e.preventDefault(),ge.to_channel($(this).attr("href"),!1)}),$(document).on("click",".listen-button",function(e){""==$(".room-namer").val()&&(e.preventDefault(),ge.to_channel($(".room-namer").attr("placeholder")))}),$(document).on("submit",".channel-finder",function(e){return e.preventDefault(),ge.to_channel($(".room-namer").val()),!1}),$(document).on("submit","#base",function(e){return e.preventDefault(),ge.to_channel($("#search-mobile").val()),!1});var he={loaded:!0,before_load:"",after_load:"",ytplayer:"",stopInterval:!1,setup_youtube_listener:function(e){M.on("np",function(e){if(he.loaded=!1,0==e.length){document.getElementById("song-title").innerHTML="Empty channel. Add some songs!",$("#player_overlay").height($("#player").height()),window.MSStream||$("#player_overlay").toggleClass("hide");try{he.ytplayer.stopVideo()}catch(t){}}else{void 0==L?L=e[0][0].id:L!=T&&(L=T),T=e[0][0].id,v=e[1][0],time=e[2],E=time-v.startTime,B=e[0][0].title,duration=e[0][0].duration,m&&window.mobilecheck()&&0==E&&(E=1);try{y[0].id==T&&z.song_change(y[0].added),ve.fetchYoutubeSuggests(T)}catch(t){}if(he.getTitle(B,I),he.setBGimage(T),Z&&!window.MSStream)try{he.ytplayer.getVideoUrl().split("v=")[1]!=T&&(he.ytplayer.loadVideoById(T),he.notifyUser(T,B),he.ytplayer.seekTo(E),W&&he.ytplayer.pauseVideo()),W||(m||he.ytplayer.playVideo(),ie||he.durationSetter()),(he.ytplayer.getDuration()>E||0==he.ytplayer.getDuration())&&he.ytplayer.seekTo(E),he.after_load=T,setTimeout(function(){he.loaded=!0},500)}catch(t){ie||he.durationSetter()}else he.getTitle(B,I)}})},onPlayerStateChange:function(e){switch(e.data){case-1:break;case 0:Q=!1,W=!1,M.emit("end",{id:T,channel:A.toLowerCase()});break;case 1:Q=!0,beginning&&window.mobilecheck()&&(he.ytplayer.pauseVideo(),beginning=!1,m=!1),ne||"/"==window.location.pathname||d.addClass("#player_overlay","hide"),"/"!=window.location.pathname&&(1==document.getElementById("play").className.split(" ").length&&$("#play").toggleClass("hide"),2==document.getElementById("pause").className.split(" ").length&&$("#pause").toggleClass("hide")),W&&(M.emit("pos",{channel:A.toLowerCase()}),W=!1);break;case 2:W=!0,"/"!=window.location.pathname&&fe.play_pause_show(),m=!0;break;case 3:}},getTitle:function(e,t){var o=t>1?"viewers":"viewer",n=decodeURIComponent(e);if("/"!=window.location.pathname){var a=document.getElementById("song-title"),i=document.getElementById("viewers");a.innerHTML=n,i.innerHTML=t+" "+o,a.title=n+" • "+t+" "+o}document.title=n+" • Zöff / "+A},errorHandler:function(e){5==e.data||100==e.data||101==e.data||150==e.data?(curr_playing=he.ytplayer.getVideoUrl().replace("https://www.youtube.com/watch?v=",""),M.emit("skip",{error:e.data,id:T,pass:J,channel:A.toLowerCase})):void 0!==T&&he.ytplayer.loadVideoById(T)},onPlayerReady:function(e){$("#channel-load").css("display","none");try{beginning=!0,Z=!0,window.MSStream||($("#player").css("opacity","1"),$("#controls").css("opacity","1"),$(".playlist").css("opacity","1"),he.ytplayer.loadVideoById(T),ae&&!window.mobilecheck()&&he.ytplayer.playVideo(),ie||he.durationSetter(),ne?setTimeout(function(){he.ytplayer.seekTo(E),ae||(he.ytplayer.pauseVideo(),fe.play_pause_show())},1e3):he.ytplayer.seekTo(E)),he.readyLooks(),fe.initYoutubeControls(he.ytplayer),fe.initSlider(),he.ytplayer.setVolume(c.get_volume()),$(".video-container").removeClass("no-opacity")}catch(t){}},readyLooks:function(){he.setBGimage(T)},setBGimage:function(e){if(void 0!==e&&!ne){var t=new Image;t.onload=function(){var e=new ColorThief,o=e.getColor(t);"/"!=window.location.pathname&&(document.getElementsByTagName("body")[0].style.backgroundColor=d.rgbToHsl(o,!0),$("meta[name=theme-color]").attr("content",d.rgbToHex(o[0],o[1],o[2])))},t.crossOrigin="Anonymous",t.src="https://zoff.no:8080/https://img.youtube.com/vi/"+e+"/mqdefault.jpg"}},set_width:function(e){$(".video-container").width(e)},notifyUser:function(e,t){if(t=t.replace(/\\\'/g,"'").replace(/"/g,"'").replace(/&/g,"&"),"granted"===Notification.permission&&document.hidden){var o=new Notification("Now Playing",{body:t,icon:"http://i.ytimg.com/vi/"+e+"/mqdefault.jpg",iconUrl:"http://i.ytimg.com/vi/"+e+"/mqdefault.jpg"});o.onclick=function(e){window.focus(),this.cancel()},setTimeout(function(){o.close()},5e3)}},setup_all_listeners:function(){M.on("get_list",function(){M.emit("list",A.toLowerCase())}),he.setup_youtube_listener(A),s.admin_listener(),l.setup_chat_listener(A),l.allchat_listener(),z.channel_listener()},onYouTubeIframeAPIReady:function(){he.ytplayer=new YT.Player("player",{videoId:T,playerVars:{rel:"0",wmode:"transparent",controls:"0",iv_load_policy:"3",theme:"light",color:"white",showinfo:0},events:{onReady:he.onPlayerReady,onStateChange:he.onPlayerStateChange,onError:he.errorHandler}})},durationSetter:function(){if(void 0!=duration)try{he.stopInterval||(ie=!0),dMinutes=Math.floor(duration/60),dSeconds=duration-60*dMinutes,currDurr=void 0!=he.ytplayer.getCurrentTime()?Math.floor(he.ytplayer.getCurrentTime()):E,currDurr>duration&&(currDurr=duration),minutes=Math.floor(currDurr/60),seconds=currDurr-60*minutes,document.getElementById("duration").innerHTML=d.pad(minutes)+":"+d.pad(seconds)+"
/ "+d.pad(dMinutes)+":"+d.pad(dSeconds),per=100/duration*currDurr,per>=100?per=100:0==duration&&(per=0),$("#bar").width(per+"%")}catch(e){}he.stopInterval||setTimeout(he.durationSetter,1e3)},loadPlayer:function(){1==$("script[src='https://www.youtube.com/iframe_api']").length?he.onYouTubeIframeAPIReady():(k=document.createElement("script"),k.src="https://www.youtube.com/iframe_api",_=document.getElementsByTagName("script")[0],_.parentNode.insertBefore(k,_))}},fe={stopInterval:!1,initYoutubeControls:function(){!window.mobilecheck()||/iPad|iPhone|iPod/.test(navigator.userAgent)||window.MSStream||$("#controls").appendTo("#playbar"),fe.initControls()},initControls:function(){document.getElementById("volume-button").addEventListener("click",fe.mute_video),document.getElementById("playpause").addEventListener("click",fe.play_pause),document.getElementById("fullscreen").addEventListener("click",fe.fullscreen)},initSlider:function(){try{vol=c.get_volume()}catch(e){}$("#volume").slider({min:0,max:100,value:vol,range:"min",animate:!0,slide:function(e,t){fe.setVolume(t.value);try{c.set_volume(t.value)}catch(o){}}}),fe.choose_button(vol,!1)},fullscreen:function(){var e=document.getElementById("player"),t=e.requestFullScreen||e.mozRequestFullScreen||e.webkitRequestFullScreen;t&&t.bind(e)()},play_pause:function(){1==he.ytplayer.getPlayerState()?(he.ytplayer.pauseVideo(),!window.mobilecheck()||/iPad|iPhone|iPod/.test(navigator.userAgent)||window.MSStream||(document.getElementById("player").style.display="none",$(".video-container").toggleClass("click-through"),$(".page-footer").toggleClass("padding-bottom-extra"))):(2==he.ytplayer.getPlayerState()||0==he.ytplayer.getPlayerState())&&(he.ytplayer.playVideo(),!window.mobilecheck()||/iPad|iPhone|iPod/.test(navigator.userAgent)||window.MSStream||(document.getElementById("player").style.display="block",$(".video-container").toggleClass("click-through"),$(".page-footer").toggleClass("padding-bottom-extra")))},play_pause_show:function(){1==document.getElementById("pause").className.split(" ").length&&$("#pause").toggleClass("hide"),2==document.getElementById("play").className.split(" ").length&&$("#play").toggleClass("hide")},settings:function(){$("#qS").toggleClass("hide")},changeQuality:function(e){he.ytplayer.getPlaybackQuality!=e&&(he.ytplayer.setPlaybackQuality(e),he.ytplayer.getPlaybackQuality()),$("#qS").toggleClass("hide")},mute_video:function(){he.ytplayer.isMuted()?(he.ytplayer.unMute(),fe.choose_button(he.ytplayer.getVolume(),!1)):(fe.choose_button(0,!0),he.ytplayer.mute())},setVolume:function(e){he.ytplayer.setVolume(e),fe.choose_button(e,!1),he.ytplayer.isMuted()&&he.ytplayer.unMute()},choose_button:function(e,t){t?(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")):e>=0&&33>=e?(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")):e>=34&&66>=e?(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")):e>=67&&100>=e&&(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=he.ytplayer.getPlayerState(),button=document.getElementById("playpause"),1==state?he.ytplayer.pauseVideo():2==state&&he.ytplayer.playVideo()},volumeOptions:function(){he.ytplayer.isMuted()?(he.ytplayer.unMute(),vol=he.ytplayer.getVolume(),$("#volume").slider("value",he.ytplayer.getVolume())):(he.ytplayer.mute(),$("#volume").slider("value",0))},hoverMute:function(e){vol=he.ytplayer.getVolume()}},ye={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(e){if((void 0==u||void 0==p)&&(u=$("#temp-results-container"),p=$("#empty-results-container").html()),$(".search_results").html(""),""!==window.search_input){R=!0;var t=encodeURIComponent(window.search_input),o="https://www.googleapis.com/youtube/v3/search?key="+H+"&videoEmbeddable=true&part=id&fields=items(id)&type=video&order=viewCount&safeSearch=none&maxResults=25";o+="&q="+t,F&&(o+="&videoCategoryId=10");var n="https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key="+H+"&id=";d.contains($("#search_loader").attr("class").split(" "),"hide")&&$("#search_loader").removeClass("hide"),d.contains($("#results").attr("class").split(" "),"hide")&&$("#results").removeClass("hide"),$.ajax({type:"GET",url:o,dataType:"jsonp",success:function(e){0==e.items.length?($("
"+p+"
").appendTo($("#results")).show("blind",83.33),d.contains($("#search_loader").attr("class").split(" "),"hide")||$("#search_loader").addClass("hide")):e.items&&($.each(e.items,function(e,t){n+=t.id.videoId+","}),$.ajax({type:"GET",url:n,dataType:"jsonp",success:function(e){var t="",o=$(u);$.each(e.items,function(e,n){var a=n.contentDetails.duration;if(secs=ye.durationToSeconds(a),!longsongs||secs<720){C=n.snippet.title,enc_title=C,f=n.id,a=a.replace("PT","").replace("H","h ").replace("M","m ").replace("S","s"),thumb=n.snippet.thumbnails.medium.url;var i=o;i.find(".search-title").text(C),i.find(".result_info").text(a),i.find(".thumb").attr("data-original",thumb),i.find("#add-many").attr("data-video-id",f),i.find("#add-many").attr("data-video-title",enc_title),i.find("#add-many").attr("data-video-length",secs),i.find("#temp-results").attr("data-video-id",f),i.find("#temp-results").attr("data-video-title",enc_title),i.find("#temp-results").attr("data-video-length",secs),t+=i.html()}}),$("
"+t+"
").appendTo($("#results")).show("blind",83.33*(e.items.length-1)),setTimeout(function(){$(".thumb").lazyload({container:$("#results")})},250),d.contains($("#search_loader").attr("class").split(" "),"hide")||$("#search_loader").addClass("hide"),$(".add-many").click(function(e){return e.preventDefault(),e.stopPropagation(),!1})}}))}})}else $(".main").removeClass("blurT"),$("#controls").removeClass("blurT"),$(".main").removeClass("clickthrough")},submitAndClose:function(e,t,o){ye.submit(e,t,o),$("#results").html(""),ye.showSearch(),document.getElementById("search").value="",$("#results").html="",$(".main").removeClass("blurT"),$("#controls").removeClass("blurT"),$(".main").removeClass("clickthrough")},importPlaylist:function(e,t){token="",void 0!==t&&(token="&pageToken="+t),playlist_url="https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&maxResults=49&key="+H+"&playlistId="+e+token,$.ajax({type:"GET",url:playlist_url,dataType:"jsonp",success:function(t){var o="";$.each(t.items,function(e,t){o+=t.contentDetails.videoId+","}),ye.addVideos(o,!0),t.nextPageToken&&ye.importPlaylist(e,t.nextPageToken),document.getElementById("import").value=""}})},addVideos:function(e,t){var o="https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key=***REMOVED***&id=";o+=e,$.ajax({type:"POST",url:o,dataType:"jsonp",success:function(e){$.each(e.items,function(e,o){var n=ye.durationToSeconds(o.contentDetails.duration);(!longsongs||720>n)&&(enc_title=o.snippet.title,ye.submit(o.id,enc_title,n,t))})}})},submit:function(e,t,o,n){M.emit("add",{id:e,title:decodeURIComponent(t),adminpass:J,list:A.toLowerCase(),duration:o,playlist:n})},durationToSeconds:function(e){var t=e.match(Y);return hours=parseInt(t[12])||0,minutes=parseInt(t[14])||0,seconds=parseInt(t[16])||0,60*hours*60+60*minutes+seconds}},ve={catchUserSuggests:function(e,t){if(t)ve.createSuggested(e);else for(x in e)ve.createSuggested(e[x]);ve.checkUserEmpty()},createSuggested:function(e){var t=e.duration,o=e.id,n=e.title,a=Math.floor(t/60),i=t-60*a;duration=a+"m "+i+"s";var s=z.generateSong({id:o,title:n,length:t,duration:duration},!1,!1,!1,!0);$("#user-suggest-html").append(s)},fetchYoutubeSuggests:function(e){var t="https://www.googleapis.com/youtube/v3/search?part=snippet&relatedToVideoId="+e+"&type=video&key="+H,o="https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key="+H+"&id=";$.ajax({type:"GET",url:t,dataType:"jsonp",success:function(e){$.each(e.items.slice(0,5),function(e,t){o+=t.id.videoId+","}),$.ajax({type:"GET",url:o,dataType:"jsonp",success:function(e){$("#suggest-song-html").empty(),$.each(e.items,function(e,t){var o=t.contentDetails.duration,n=ye.durationToSeconds(o),a=t.id,i=t.snippet.title;o=o.replace("PT","").replace("H","h ").replace("M","m ").replace("S","s"),$("#suggest-song-html").append(z.generateSong({id:a,title:i,length:n,duration:o},!1,!1,!1))})}})}})},checkUserEmpty:function(){var e=$("#user-suggest-html").children().length;0==e?d.contains($("#user_suggests").attr("class").split(" "),"hide")||$("#user_suggests").addClass("hide"):$("#user_suggests").removeClass("hide")}}}();