var chan = $("#chan").html(); var w_p = true; var hasadmin = 0; var showToggle = true; var list_html = $("#list-song-html").html(); var blink_interval_exists = false; var unseen = false; //var timer = 0; var api_key = "***REMOVED***"; var searching = false var time_regex = /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)?)?/ var conf = []; var music = 0; var frontpage = 1; var adminpass = ""; var filesadded = ""; var player_ready = false; var viewers = 1; var paused = false; var playing = false; var SAMPLE_RATE = 6000; // 6 seconds var lastSample = Date.now(); var began = false; var i = -1; var lazy_load = true; var embed = false; var autoplay = true; var durationBegun = false; var chat_active = false; var chat_unseen = false; var blinking = false; var result_html; var empty_results_html; var mobile_beginning; var timeout_search; var id; var full_playlist; var conf; var blink_interval; var tag; var firstScriptTag; var title; var viewers; var video_id; var list; var seekTo; var song_title; var previous_video_id; var socket; var connection_options = { 'sync disconnect on unload':true, 'secure': true, 'force new connection': true }; $().ready(function(){ if(!window.fromFront && window.location.pathname != "/") init(); }); function init(){ chan = $("#chan").html(); mobile_beginning = window.mobilecheck(); window.onpopstate = function(e){ onepage_load(); } share_link_modifier_channel(); if(window.location.hostname == "zoff.no") add = "https://zoff.no"; else add = "localhost"; //setTimeout(function(){ if(Player != undefined) Player.stopInterval= false; //window.vote = List.vote; //window.submit = Search.submit; //window.submitAndClose = Search.submitAndClose; if(!localStorage["list_update"] || localStorage["list_update"] != "13.06.15") { localStorage.setItem("list_update", "13.06.15"); window.location.reload(true); } $('ul.playlist-tabs').tabs(); $('ul.playlist-tabs-loggedIn').tabs(); $('.chatTabs').tabs(); $("#settings").sideNav({ menuWidth: 300, // Default is 240 edge: 'right', // Choose the horizontal origin closeOnClick: false // Closes side-nav on clicks, useful for Angular/Meteor }); $('.collapsible').collapsible({ accordion : true // A setting that changes the collapsible behavior to expandable instead of the default accordion style }); result_html = $("#temp-results-container"); empty_results_html = $("#empty-results-container").html(); //awdwad $(".video-container").resizable({ start: function(event, ui) { $('iframe').css('pointer-events','none'); }, stop: function(event, ui) { $('iframe').css('pointer-events','auto'); Crypt.set_width($(this).width()); }, handles: "e", minWidth: 350 }); /* if(localStorage[chan.toLowerCase()]) { if(localStorage[chan.toLowerCase()].length != 64) localStorage.removeItem(chan.toLowerCase()); else socket.emit("password", [localStorage[chan.toLowerCase()], chan.toLowerCase()]); }*/ socket = io.connect(''+add+':8880', connection_options); Player.setup_youtube_listener(chan); Admin.admin_listener(); List.channel_listener(); socket.on("get_list", function(){ //setTimeout(function(){ socket.emit('list', chan.toLowerCase()); /*if(Crypt.get_pass(chan.toLowerCase()) != undefined){ socket.emit("password", [Crypt.crypt_pass(Crypt.get_pass(chan.toLowerCase())), chan.toLowerCase()]); }*/ }); socket.on("suggested", function(params){ var single = true; if(params.id == undefined) single = false; //setTimeout(function(){ Suggestions.catchUserSuggests(params, single); //}, 1000); }); socket.on("viewers", function(view) { viewers = view; if(song_title !== undefined) Player.getTitle(song_title, viewers); }); if(/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream){ document.getElementById("search").blur(); Player.readyLooks(); } else { window.onYouTubeIframeAPIReady = Player.onYouTubeIframeAPIReady; Player.loadPlayer(); } Chat.setup_chat_listener(chan); Chat.allchat_listener(); if(!window.mobilecheck()) Hostcontroller.host_listener(); if(!Helper.msieversion()) Notification.requestPermission(); git_info = $.ajax({ type: "GET", url: "https://api.github.com/repos/zoff-music/zoff/commits", async: false }).responseText; git_info = $.parseJSON(git_info); $("#latest-commit").html("Latest Commit:
" + git_info[0].commit.author.date.substring(0,10) + ": " + git_info[0].committer.login + "
" + git_info[0].sha.substring(0,10) + ": " + git_info[0].commit.message+"'); $("#search").attr("placeholder", "Find song on YouTube..."); } window.init = init; $(document).keyup(function(e) { if(event.keyCode == 27){ $("#results").html(""); if(!Helper.contains($("#search-wrapper").attr("class").split(" "), "hide")) $("#search-wrapper").toggleClass("hide"); if(Helper.contains($("#song-title").attr("class").split(" "), "hide")) $("#song-title").toggleClass("hide"); if($("#search-btn i").attr('class') == "mdi-navigation-close") { $("#search-btn i").toggleClass("mdi-navigation-close"); $("#search-btn i").toggleClass("mdi-action-search"); } $("#results").toggleClass("hide"); }else if ($("div.result").length > 2){ children = $("#mock-div").children(); if (e.keyCode == 40) { $(children[i-1]).removeClass("hoverResults"); $(children[i]).addClass("hoverResults"); if(i < children.length -2) i++; } else if (e.keyCode == 38) { if(i > 1) i--; $(children[i]).removeClass("hoverResults"); $(children[i-1]).addClass("hoverResults"); } else if(e.keyCode == 13) { i = 0; var elem = document.getElementsByClassName("hoverResults")[0]; if (typeof elem.onclick == "function") { elem.onclick.apply(elem); } $("div.hoverResults").removeClass("hoverResults"); $("#results").html(''); document.getElementById("search").value = ""; } } }); $('input[class=conf]').change(function() { Admin.save(); }); $("#clickme").click(function(){ Player.ytplayer.playVideo(); }); $('#listImport').on("submit", function(){ Search.importPlaylist(document.getElementById("import").value); }); $(window).focus(function(){ $("#favicon").attr("href", "static/images/favicon.png"); unseen = false; }); $(document).on("change", "#autoplay", function() { if(this.checked) { $("#embed-area").val(''); } else { $("#embed-area").val(''); } }); $(document).on("click", "#chat-btn", function(){ $("#text-chat-input").focus(); //$("#chat-btn").css("color", "white"); $("#chat-btn i").css("opacity", 1); clearInterval(blink_interval); blink_interval_exists = false; unseen = false; $("#favicon").attr("href", "static/images/favicon.png"); }); $(document).on("click", ".chat-tab", function(){ $("#text-chat-input").focus(); }); $(document).on("click", "#skip", function(e){ e.preventDefault(); List.skip(); }); $(document).on("click", "#chan", function(e){ e.preventDefault(); List.show(); }); $(document).on("submit", "#adminForm", function(e){ e.preventDefault(); Admin.pass_save(); }); $(document).on("click", ".chat-link", function(e){ chat_active = true; unseen = false; chat_unseen = false; $(".chat-link").attr("style", "color: white !important;"); blinking = false; $("#favicon").attr("href", "static/images/favicon.png"); $("#chatPlaylist").css("display", "block"); $("#wrapper").css("display", "none"); $("#suggestions").css("display", "none"); $("#text-chat-input").focus(); }); $(document).on("click", ".playlist-link", function(e){ chat_active = false; $("#chatPlaylist").css("display", "none"); $("#wrapper").css("display", "block"); $("#suggestions").css("display", "none"); }); $(document).on("click", ".suggested-link", function(e){ chat_active = false; $("#chatPlaylist").css("display", "none"); $("#wrapper").css("display", "none"); $("#suggestions").css("display", "block"); }); $(document).on("submit", "#chatForm", function(){ Chat.chat(document.getElementById("chatForm").input); }); $(document).on("click", "#shuffle", function(e) { e.preventDefault(); Admin.shuffle(); }); $(document).on("click", "#search-btn", function(e) { e.preventDefault(); Search.showSearch(); }); $(document).on("click", "#song-title", function(e) { e.preventDefault(); Search.showSearch(); }); $(document).on("click", "#admin-lock", function(e) { e.preventDefault(); Admin.log_out(); }); $(document).on("click", "#closeSettings", function(e) { e.preventDefault(); Admin.hide_settings(); }); $(document).on( "click", ".result-object", function(e){ var $html = $(e.target); var substr = $html.prop('outerHTML').substring(0,4); if(substr != "= 48 && adminpass != "")) && $("#wrapper").scrollTop() > 0){ $("#top-button").removeClass("hide"); Helper.addClass("#bottom-button", "hide"); }else if(y >= $("#playlist").height() - 18 && $("#wrapper").scrollTop() < $("#wrapper")[0].scrollHeight - $("#wrapper").height() - 1){ $("#bottom-button").removeClass("hide"); Helper.addClass("#top-button", "hide"); }else{ Helper.addClass("#bottom-button", "hide"); Helper.addClass("#top-button", "hide"); } }); $(document).on("mouseleave", "#playlist", function(){ Helper.addClass("#bottom-button", "hide"); Helper.addClass("#top-button", "hide"); }); $(document).on("click", "#top-button", function(){ List.scrollTop(); }); $(document).on("click", "#bottom-button", function(){ List.scrollBottom(); }); function share_link_modifier_channel(){ $("#facebook-code-link").attr("href", "https://www.facebook.com/sharer/sharer.php?u=https://zoff.no/" + chan.toLowerCase()); $("#facebook-code-link").attr("onclick", "window.open('https://www.facebook.com/sharer/sharer.php?u=https://zoff.no/" + chan.toLowerCase() + "', 'Share Playlist','width=600,height=300'); return false;"); $("#twitter-code-link").attr("href", "http://twitter.com/intent/tweet?url=https://zoff.no/" + chan.toLowerCase() + "&text=Check%20out%20this%20playlist%20" + chan.toLowerCase() + "%20on%20Zöff!&via=zoffmusic") $("#twitter-code-link").attr("onclick", "window.open('http://twitter.com/intent/tweet?url=https://zoff.no/" + chan.toLowerCase() + "/&text=Check%20out%20this%20playlist%20" + chan.toLowerCase() + "%20on%20Zöff!&via=zoffmusic','Share Playlist','width=600,height=300'); return false;"); $("#qr-code-link").attr("href", "//chart.googleapis.com/chart?chs=500x500&cht=qr&chl=https://zoff.no/" + chan.toLowerCase() + "&choe=UTF-8&chld=L%7C1"); $("#qr-code-image-link").attr("src", "//chart.googleapis.com/chart?chs=150x150&cht=qr&chl=https://zoff.no/" + chan.toLowerCase() + "&choe=UTF-8&chld=L%7C1"); } function onepage_load(){ var url_split = window.location.href.split("/"); if(url_split[3].substr(0,1) != "#!" && url_split[3] != "" && !(url_split.length == 5 && url_split[4].substr(0,1) == "#")){ socket.emit("change_channel"); Admin.beginning = true; chan = url_split[3].replace("#", ""); $("#chan").html(Helper.upperFirst(chan)); w_p = true; socket.emit("list", chan.toLowerCase()); }else if(url_split[3] == ""){ $("#channel-load").css("display", "block"); window.scrollTo(0, 0); Player.stopInterval = true; Admin.display_logged_out(); Admin.beginning = true; chan = ""; began = false; durationBegun = false; $("#embed-button").css("display", "none"); socket.removeAllListeners(); $.ajax({ url: "php/nochan.php", success: function(e){ socket.disconnect(); document.getElementById("volume-button").removeEventListener("click", Playercontrols.mute_video); document.getElementById("playpause").removeEventListener("click", Playercontrols.play_pause); document.getElementById("fullscreen").removeEventListener("click", Playercontrols.fullscreen); video_id = ""; song_title = ""; $("meta[name=theme-color]").attr("content", "#2D2D2D"); Player.ytplayer.destroy(); $(".drag-target").remove(); $("#sidenav-overlay").remove(); $("main").attr("class", "center-align container"); $("body").attr("id", ""); $("body").attr("style", ""); $("header").html($($(e)[57]).html()); $($(e)[59]).insertAfter("header"); $($(e)[61]).insertAfter(".mega"); $("main").html($($(e)[65]).html()); $(".page-footer").removeClass("padding-bottom-extra"); $(".page-footer").removeClass("padding-bottom-novideo"); $("#favicon").attr("href", "static/images/favicon.png"); if($("#alreadyfp").length == 1){ window.initfp(); }else { window.fromChannel = true; window.initfp(); } if($("#alreadychannel").length == 0){ $("head").append("