mirror of
				https://github.com/KevinMidboe/zoff.git
				synced 2025-10-29 18:00:23 +00:00 
			
		
		
		
	Removed 300 or something jquery references so far
This commit is contained in:
		@@ -13,7 +13,7 @@ var Admin = {
 | 
				
			|||||||
            Helper.css("#description_form", "display", "inline-block");
 | 
					            Helper.css("#description_form", "display", "inline-block");
 | 
				
			||||||
            Helper.removeClass("#user_suggests", "hide");
 | 
					            Helper.removeClass("#user_suggests", "hide");
 | 
				
			||||||
            Helper.removeClass("#user-suggest-html", "hide");
 | 
					            Helper.removeClass("#user-suggest-html", "hide");
 | 
				
			||||||
            if($(".suggested-badge").text() != "0" && $(".suggested-badge").text() != "") {
 | 
					            if(Helper.html(".suggested-badge") != "0" && Helper.html(".suggested-badge") != "") {
 | 
				
			||||||
                Helper.removeClass(".suggested-badge", "hide");
 | 
					                Helper.removeClass(".suggested-badge", "hide");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            if(!Helper.mobilecheck()) {
 | 
					            if(!Helper.mobilecheck()) {
 | 
				
			||||||
@@ -32,12 +32,12 @@ var Admin = {
 | 
				
			|||||||
        //Crypt.set_pass(chan.toLowerCase(), Crypt.tmp_pass);
 | 
					        //Crypt.set_pass(chan.toLowerCase(), Crypt.tmp_pass);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for (var i = 0; i < names.length; i++) {
 | 
					        for (var i = 0; i < names.length; i++) {
 | 
				
			||||||
            $("input[name="+names[i]+"]").attr("disabled", false);
 | 
					            document.getElementsByName(names[i])[0].setAttribute("disabled", false);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $(".card-action").removeClass("hide");
 | 
					        Helper.removeClass(".card-action", "hide");
 | 
				
			||||||
        $("#admin-lock").addClass("clickable");
 | 
					        Helper.addClass("#admin-lock", "clickable");
 | 
				
			||||||
        $("#admin-lock").html("lock_open");
 | 
					        document.getElementById("admin-lock").innerHTML = "lock_open";
 | 
				
			||||||
        if(!Helper.mobilecheck()){
 | 
					        if(!Helper.mobilecheck()){
 | 
				
			||||||
            $('#admin-lock').tooltip({
 | 
					            $('#admin-lock').tooltip({
 | 
				
			||||||
                delay: 5,
 | 
					                delay: 5,
 | 
				
			||||||
@@ -45,17 +45,17 @@ var Admin = {
 | 
				
			|||||||
                html: "Logout"
 | 
					                html: "Logout"
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        $("#password").val("");
 | 
					        document.getElementById("password").value = "";
 | 
				
			||||||
        $("#password").attr("placeholder", "Change admin password");
 | 
					        document.getElementById("password").setAttribute("placeholder", "Change admin password");
 | 
				
			||||||
        $(".user-password-li").removeClass("hide");
 | 
					        Helper.removeClass(".user-password-li", "hide");
 | 
				
			||||||
        $(".delete-all").removeClass("hide");
 | 
					        Helper.removeClass(".delete-all", "hide");
 | 
				
			||||||
        if($(".password_protected").prop("checked")) {
 | 
					        if(document.getElementsByClassName("password_protected")[0].checked) {
 | 
				
			||||||
            $(".change_user_pass").removeClass("hide");
 | 
					            Helper.removeClass(".change_user_pass", "hide");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if($("#admin-lock").html() != "lock_open"){
 | 
					        if(Helper.html("#admin-lock") != "lock_open"){
 | 
				
			||||||
            $("#admin-lock").addClass("clickable");
 | 
					            Helper.addClass("#admin-lock", "clickable");
 | 
				
			||||||
            $("#admin-lock").html("lock_open");
 | 
					            document.getElementById("admin-lock").innerHTML = "lock_open";
 | 
				
			||||||
            if(!Helper.mobilecheck()){
 | 
					            if(!Helper.mobilecheck()){
 | 
				
			||||||
                $('#admin-lock').tooltip({
 | 
					                $('#admin-lock').tooltip({
 | 
				
			||||||
                    delay: 5,
 | 
					                    delay: 5,
 | 
				
			||||||
@@ -67,15 +67,9 @@ var Admin = {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    hideUserSuggested: function() {
 | 
					    hideUserSuggested: function() {
 | 
				
			||||||
        if(!$("#user_suggests").hasClass("hide")) {
 | 
					        Helper.addClass("#user_suggests", "hide")
 | 
				
			||||||
            $("#user_suggests").addClass("hide")
 | 
					        Helper.addClass("#user-suggest-html", "hide");
 | 
				
			||||||
        }
 | 
					        Helper.addClass(".suggested-badge", "hide");
 | 
				
			||||||
        if(!$("#user-suggest-html").hasClass("hide")) {
 | 
					 | 
				
			||||||
            $("#user-suggest-html").addClass("hide");
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if(!$(".suggested-badge").hasClass("hide")) {
 | 
					 | 
				
			||||||
            $(".suggested-badge").addClass("hide");
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    conf: function(msg) {
 | 
					    conf: function(msg) {
 | 
				
			||||||
@@ -119,43 +113,35 @@ var Admin = {
 | 
				
			|||||||
        names     = ["vote","addsongs","longsongs","frontpage", "allvideos",
 | 
					        names     = ["vote","addsongs","longsongs","frontpage", "allvideos",
 | 
				
			||||||
        "removeplay", "skip", "shuffle"];
 | 
					        "removeplay", "skip", "shuffle"];
 | 
				
			||||||
        document.getElementById("password").value = "";
 | 
					        document.getElementById("password").value = "";
 | 
				
			||||||
        $("#thumbnail_form").css("display", "none");
 | 
					        Helper.css("#thumbnail_form", "display", "none");
 | 
				
			||||||
        $("#description_form").css("display", "none");
 | 
					        Helper.css("#description_form", "display", "none");
 | 
				
			||||||
        for (i = 0; i < names.length; i++) {
 | 
					        for (i = 0; i < names.length; i++) {
 | 
				
			||||||
            $("input[name="+names[i]+"]").attr("disabled", true);
 | 
					            document.getElementsByName(names[i])[0].setAttribute("disabled", true);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if($("#admin-lock").html() != "lock") {
 | 
					        if(Helper.html("#admin-lock") != "lock") {
 | 
				
			||||||
            if(!Helper.mobilecheck()) {
 | 
					            if(!Helper.mobilecheck()) {
 | 
				
			||||||
                $('#admin-lock').tooltip("destroy");
 | 
					                $('#admin-lock').tooltip("destroy");
 | 
				
			||||||
                //$('#admin-lock').tooltip('destroy');
 | 
					                //$('#admin-lock').tooltip('destroy');
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            $("#admin-lock").removeClass("clickable");
 | 
					            Helper.removeClass("#admin-lock", "clickable");
 | 
				
			||||||
            $("#admin-lock").html("lock");
 | 
					            document.getElementById("admin-lock").innerHTML = "lock";
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(!$(".user-password-li").hasClass("hide")) {
 | 
					
 | 
				
			||||||
            $(".user-password-li").addClass("hide")
 | 
					        Helper.addClass(".user-password-li", "hide");
 | 
				
			||||||
 | 
					        Helper.addClass(".delete-all", "hide");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if(document.getElementsByClassName("password_protected")[0].checked) {
 | 
				
			||||||
 | 
					            Helper.removeClass(".change_user_pass", "hide");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(!$(".delete-all").hasClass("hide")) {
 | 
					        Helper.addClass(".change_user_pass", "hide");
 | 
				
			||||||
          $(".delete-all").addClass("hide");
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if($(".password_protected").prop("checked")) {
 | 
					 | 
				
			||||||
            $(".change_user_pass").removeClass("hide");
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if(!$(".change_user_pass").hasClass("hide")) {
 | 
					 | 
				
			||||||
            $(".change_user_pass").addClass("hide");
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        Admin.hideUserSuggested();
 | 
					        Admin.hideUserSuggested();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $("#admin-lock").removeClass("clickable");
 | 
					        Helper.removeClass("#admin-lock", "clickable");
 | 
				
			||||||
        $("#password").attr("placeholder", "Enter admin password");
 | 
					        document.getElementById("password").setAttribute("placeholder", "Enter admin password");
 | 
				
			||||||
        if(!$(".delete-context-menu").hasClass("context-menu-disabled")) {
 | 
					        Helper.addClass(".delete-context-menu", "context-menu-disabled");
 | 
				
			||||||
            $(".delete-context-menu").addClass("context-menu-disabled");
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    save: function(userpass) {
 | 
					    save: function(userpass) {
 | 
				
			||||||
@@ -177,29 +163,29 @@ var Admin = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        for (var i = 0; i < names.length; i++) {
 | 
					        for (var i = 0; i < names.length; i++) {
 | 
				
			||||||
            document.getElementsByName(names[i])[0].checked = (conf_array[names[i]] === true);
 | 
					            document.getElementsByName(names[i])[0].checked = (conf_array[names[i]] === true);
 | 
				
			||||||
            $("input[name="+names[i]+"]").attr("disabled", show_disabled);
 | 
					            document.getElementsByName(names[i])[0].setAttribute("disabled", show_disabled);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if((hasadmin) && !Admin.logged_in) {
 | 
					        if((hasadmin) && !Admin.logged_in) {
 | 
				
			||||||
            if($("#admin-lock").html() != "lock") Admin.display_logged_out();
 | 
					            if(Helper.html("#admin-lock") != "lock") Admin.display_logged_out();
 | 
				
			||||||
        } else if(!hasadmin) {
 | 
					        } else if(!hasadmin) {
 | 
				
			||||||
            $("#password").attr("placeholder", "Create admin password");
 | 
					            document.getElementById("password").setAttribute("placeholder", "Create admin password");
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            if($(".password_protected").prop("checked")) {
 | 
					            if(document.getElementsByClassName("password_protected")[0].checked) {
 | 
				
			||||||
                $(".change_user_pass").removeClass("hide");
 | 
					                Helper.removeClass(".change_user_pass", "hide");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(!$(".password_protected").prop("checked") && !$(".change_user_pass").hasClass("hide")) {
 | 
					        if(!document.getElementsByClassName("password_protected")[0].checked) {
 | 
				
			||||||
            $(".change_user_pass").addClass("hide");
 | 
					            Helper.addClass(".change_user_pass", "hide");
 | 
				
			||||||
            //Crypt.remove_userpass(chan.toLowerCase());
 | 
					            //Crypt.remove_userpass(chan.toLowerCase());
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(conf_array.thumbnail != undefined && conf_array.thumbnail != "") {
 | 
					        if(conf_array.thumbnail != undefined && conf_array.thumbnail != "") {
 | 
				
			||||||
            $("#thumbnail_image").html("<img id='thumbnail_image_channel' src='" + conf_array.thumbnail + "' alt='thumbnail' />");
 | 
					            document.getElementById("thumbnail_image").innerHTML = "<img id='thumbnail_image_channel' src='" + conf_array.thumbnail + "' alt='thumbnail' />";
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(conf_array.description != undefined && conf_array.description != "") {
 | 
					        if(conf_array.description != undefined && conf_array.description != "") {
 | 
				
			||||||
            $("#description_area").html(conf_array.description);
 | 
					            document.getElementById("description_area").innerHTML = conf_array.description;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,9 @@
 | 
				
			|||||||
var Channel = {
 | 
					var Channel = {
 | 
				
			||||||
    init: function() {
 | 
					    init: function() {
 | 
				
			||||||
        if(client) {
 | 
					        if(client) {
 | 
				
			||||||
            $(".tabs").addClass("hide");
 | 
					            Helper.addClass(".tabs", "hide");
 | 
				
			||||||
            $("#wrapper").removeClass("tabs_height");
 | 
					            Helper.removeClass("#wrapper", "tabs_height");
 | 
				
			||||||
            $("#wrapper").addClass("client-wrapper");
 | 
					            Helper.addClass("#wrapper", "client-wrapper");
 | 
				
			||||||
            //$(".embed-button-footer").addClass("hide");
 | 
					            //$(".embed-button-footer").addClass("hide");
 | 
				
			||||||
            //$(".skip_next_client").removeClass("hide");
 | 
					            //$(".skip_next_client").removeClass("hide");
 | 
				
			||||||
            if(!Helper.mobilecheck()) {
 | 
					            if(!Helper.mobilecheck()) {
 | 
				
			||||||
@@ -13,16 +13,16 @@ var Channel = {
 | 
				
			|||||||
                    html: "Skip"
 | 
					                    html: "Skip"
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            $("#chan").addClass("chan-client");
 | 
					            Helper.addClass("#chan", "chan-client");
 | 
				
			||||||
            $("#results").addClass("client-results-height");
 | 
					            Helper.addClass("#results", "client-results-height");
 | 
				
			||||||
            $(".pagination-results").addClass("client-pagination-height");
 | 
					            Helper.addClass(".pagination-results", "client-pagination-height");
 | 
				
			||||||
            $(".control-list").addClass("client-control-list");
 | 
					            Helper.addClass(".control-list", "client-control-list");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if(!Admin.logged_in) Admin.display_logged_out();
 | 
					        if(!Admin.logged_in) Admin.display_logged_out();
 | 
				
			||||||
        number_suggested = 0;
 | 
					        number_suggested = 0;
 | 
				
			||||||
        var no_socket = true;
 | 
					        var no_socket = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        chan = $("#chan").html();
 | 
					        chan = Helper.html("#chan");
 | 
				
			||||||
        mobile_beginning = Helper.mobilecheck();
 | 
					        mobile_beginning = Helper.mobilecheck();
 | 
				
			||||||
        var side = Helper.mobilecheck() ? "left" : "right";
 | 
					        var side = Helper.mobilecheck() ? "left" : "right";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -35,7 +35,7 @@ var Channel = {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(window.location.hostname == "fb.zoff.me") {
 | 
					        if(window.location.hostname == "fb.zoff.me") {
 | 
				
			||||||
            $("footer").addClass("hide");
 | 
					            Helper.addClass("footer", "hide");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(window.location.hostname != "fb.zoff.me") Channel.share_link_modifier();
 | 
					        if(window.location.hostname != "fb.zoff.me") Channel.share_link_modifier();
 | 
				
			||||||
@@ -55,9 +55,7 @@ var Channel = {
 | 
				
			|||||||
            closeOnClick: false,
 | 
					            closeOnClick: false,
 | 
				
			||||||
            draggable: false,
 | 
					            draggable: false,
 | 
				
			||||||
            onOpenStart: function(el) {
 | 
					            onOpenStart: function(el) {
 | 
				
			||||||
                if(!$(".hamburger-sidenav").hasClass("open")) {
 | 
					                Helper.addClass(".hamburger-sidenav", "open");
 | 
				
			||||||
                    $(".hamburger-sidenav").addClass("open");
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                $('*[id*=sidenav-overlay]:visible').each(function(i) {
 | 
					                $('*[id*=sidenav-overlay]:visible').each(function(i) {
 | 
				
			||||||
                    if(i > 0) {
 | 
					                    if(i > 0) {
 | 
				
			||||||
                        this.remove();
 | 
					                        this.remove();
 | 
				
			||||||
@@ -65,7 +63,7 @@ var Channel = {
 | 
				
			|||||||
                });
 | 
					                });
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            onCloseStart: function(el) {
 | 
					            onCloseStart: function(el) {
 | 
				
			||||||
                $(".hamburger-sidenav").removeClass("open");
 | 
					                Helper.removeClass(".hamburger-sidenav", "open");
 | 
				
			||||||
                $('*[id*=sidenav-overlay]:visible').each(function(i) {
 | 
					                $('*[id*=sidenav-overlay]:visible').each(function(i) {
 | 
				
			||||||
                    if(i > 0) {
 | 
					                    if(i > 0) {
 | 
				
			||||||
                        this.remove();
 | 
					                        this.remove();
 | 
				
			||||||
@@ -80,10 +78,10 @@ var Channel = {
 | 
				
			|||||||
            $("#embed").modal();
 | 
					            $("#embed").modal();
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            //$("#help").remove();
 | 
					            //$("#help").remove();
 | 
				
			||||||
            $("#embed").remove();
 | 
					            Helper.removeElement("#embed");
 | 
				
			||||||
            //$(".help-button-footer").remove();
 | 
					            //$(".help-button-footer").remove();
 | 
				
			||||||
            $(".embed-button-footer").remove();
 | 
					            Helper.removeElement(".embed-button-footer");
 | 
				
			||||||
            $(".tabs").remove();
 | 
					            Helper.removeElement(".tabs");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        $("#help").modal();
 | 
					        $("#help").modal();
 | 
				
			||||||
        $("#contact").modal();
 | 
					        $("#contact").modal();
 | 
				
			||||||
@@ -99,9 +97,9 @@ var Channel = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        result_html 	   	  = $("#temp-results-container");
 | 
					        result_html 	   	  = $("#temp-results-container");
 | 
				
			||||||
        pagination_buttons_html = $("<div>").append($(".pagination-results").clone()).html();
 | 
					        pagination_buttons_html = $("<div>").append($(".pagination-results").clone()).html();
 | 
				
			||||||
        empty_results_html 	  = $("#empty-results-container").html();
 | 
					        empty_results_html 	  = Helper.html("#empty-results-container");
 | 
				
			||||||
        not_import_html       = $(".not-imported-container").html();
 | 
					        not_import_html       = Helper.html(".not-imported-container");
 | 
				
			||||||
        not_export_html       = $(".not-exported-container").html();
 | 
					        not_export_html       = Helper.html(".not-exported-container");
 | 
				
			||||||
        $(".not-imported-container").empty();
 | 
					        $(".not-imported-container").empty();
 | 
				
			||||||
        $(".not-exported-container").empty();
 | 
					        $(".not-exported-container").empty();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -122,7 +120,7 @@ var Channel = {
 | 
				
			|||||||
        setup_auth_listener();
 | 
					        setup_auth_listener();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(Crypt.get_offline()){
 | 
					        if(Crypt.get_offline()){
 | 
				
			||||||
            $(".offline_switch_class")[0].checked = true;
 | 
					            document.getElementsByClassName("offline_switch_class")[0].checked = true;
 | 
				
			||||||
            change_offline(true, offline);
 | 
					            change_offline(true, offline);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if(!Helper.mobilecheck() && ($("#alreadychannel").length === 0 || !Hostcontroller.old_id || $("#code-text").text().toUpperCase() == "ABBADUR")) setup_host_initialization();
 | 
					        if(!Helper.mobilecheck() && ($("#alreadychannel").length === 0 || !Hostcontroller.old_id || $("#code-text").text().toUpperCase() == "ABBADUR")) setup_host_initialization();
 | 
				
			||||||
@@ -144,7 +142,7 @@ var Channel = {
 | 
				
			|||||||
                if(player_ready) {
 | 
					                if(player_ready) {
 | 
				
			||||||
                    Player.player.setVolume(Crypt.get_volume());
 | 
					                    Player.player.setVolume(Crypt.get_volume());
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                $(".video-container").removeClass("no-opacity");
 | 
					                Helper.removeClass(".video-container", "no-opacity");
 | 
				
			||||||
                var codeURL = "https://remote."+window.location.hostname+"/"+id;
 | 
					                var codeURL = "https://remote."+window.location.hostname+"/"+id;
 | 
				
			||||||
                $("#code-text").text(id);
 | 
					                $("#code-text").text(id);
 | 
				
			||||||
                $("#code-qr").attr("src", "https://chart.googleapis.com/chart?chs=221x221&cht=qr&choe=UTF-8&chld=L|1&chl="+codeURL);
 | 
					                $("#code-qr").attr("src", "https://chart.googleapis.com/chart?chs=221x221&cht=qr&choe=UTF-8&chld=L|1&chl="+codeURL);
 | 
				
			||||||
@@ -275,7 +273,7 @@ var Channel = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            $(".sp-choose").addClass("hide");
 | 
					            $(".sp-choose").addClass("hide");
 | 
				
			||||||
            $(".sp-cancel").addClass("btn-flat waves-effect waves-red");
 | 
					            $(".sp-cancel").addClass("btn-flat waves-effect waves-red");
 | 
				
			||||||
            $(".sp-cancel").removeClass("sp-cancel");
 | 
					            Helper.removeClass(".sp-cancel", "sp-cancel");
 | 
				
			||||||
            $(".sp-button-container").append("<a href='#' class='btn-flat waves-effect waves-green sp-choose-link'>CHOOSE</a>");
 | 
					            $(".sp-button-container").append("<a href='#' class='btn-flat waves-effect waves-green sp-choose-link'>CHOOSE</a>");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -284,7 +282,7 @@ var Channel = {
 | 
				
			|||||||
            $(".sp-choose").trigger("click");
 | 
					            $(".sp-choose").trigger("click");
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $("#results" ).hover( function() { $("div.result").removeClass("hoverResults"); i = 0; }, function(){ });
 | 
					        $("#results" ).hover( function() { Helper.removeClass(".result", "hoverResults"); i = 0; }, function(){ });
 | 
				
			||||||
        $("#search").focus();
 | 
					        $("#search").focus();
 | 
				
			||||||
        $("#embed-button").css("display", "inline-block");
 | 
					        $("#embed-button").css("display", "inline-block");
 | 
				
			||||||
        $("#embed-area").val(embed_code(embed_autoplay, embed_width, embed_height, color));
 | 
					        $("#embed-area").val(embed_code(embed_autoplay, embed_width, embed_height, color));
 | 
				
			||||||
@@ -445,7 +443,7 @@ var Channel = {
 | 
				
			|||||||
        } else if(window.innerWidth > 600 && slider_type == "vertical") {
 | 
					        } else if(window.innerWidth > 600 && slider_type == "vertical") {
 | 
				
			||||||
            slider_type = "horizontal";
 | 
					            slider_type = "horizontal";
 | 
				
			||||||
            Playercontrols.initSlider();
 | 
					            Playercontrols.initSlider();
 | 
				
			||||||
            $(".volume-container").removeClass("hide");
 | 
					            Helper.removeClass(".volume-container", "hide");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -595,7 +593,7 @@ var Channel = {
 | 
				
			|||||||
                        $("#player").addClass("player_bottom");
 | 
					                        $("#player").addClass("player_bottom");
 | 
				
			||||||
                        $("#main-row").addClass("frontpage_modified_heights");
 | 
					                        $("#main-row").addClass("frontpage_modified_heights");
 | 
				
			||||||
                        $("#player").css("opacity", "1");
 | 
					                        $("#player").css("opacity", "1");
 | 
				
			||||||
                        $("#video-container").removeClass("no-opacity");
 | 
					                        Helper.removeClass("#video-container", "no-opacity");
 | 
				
			||||||
                        $("#main-row").prepend("<div id='player_bottom_overlay' class='player player_bottom'></div>");
 | 
					                        $("#main-row").prepend("<div id='player_bottom_overlay' class='player player_bottom'></div>");
 | 
				
			||||||
                        $("#player_bottom_overlay").append("<a id='closePlayer' title='Close Player'>X</a>");
 | 
					                        $("#player_bottom_overlay").append("<a id='closePlayer' title='Close Player'>X</a>");
 | 
				
			||||||
                        $("#playlist").remove();
 | 
					                        $("#playlist").remove();
 | 
				
			||||||
@@ -612,15 +610,15 @@ var Channel = {
 | 
				
			|||||||
                    //$(".drag-target").remove();
 | 
					                    //$(".drag-target").remove();
 | 
				
			||||||
                    $("#sidenav-overlay").remove();
 | 
					                    $("#sidenav-overlay").remove();
 | 
				
			||||||
                    $("main").attr("class", "center-align container");
 | 
					                    $("main").attr("class", "center-align container");
 | 
				
			||||||
                    $("#main-container").removeClass("channelpage");
 | 
					                    Helper.removeClass("#main-container", "channelpage");
 | 
				
			||||||
                    $("#main-container").attr("style", "");
 | 
					                    $("#main-container").attr("style", "");
 | 
				
			||||||
                    $("header").html($(response.find("header")).html());
 | 
					                    $("header").html($(response.find("header")).html());
 | 
				
			||||||
                    $($(response.find(".section.mega"))).insertAfter("header");
 | 
					                    $($(response.find(".section.mega"))).insertAfter("header");
 | 
				
			||||||
                    $($(response.find(".section.mobile-search"))).insertAfter(".mega");
 | 
					                    $($(response.find(".section.mobile-search"))).insertAfter(".mega");
 | 
				
			||||||
                    if(Helper.mobilecheck() || user_auth_avoid) $("main").html($(response.find("main")).html());
 | 
					                    if(Helper.mobilecheck() || user_auth_avoid) $("main").html($(response.find("main")).html());
 | 
				
			||||||
                    else $("main").append($(response.find("#main_section_frontpage")).wrap("<div>").parent().html());
 | 
					                    else $("main").append($(response.find("#main_section_frontpage")).wrap("<div>").parent().html());
 | 
				
			||||||
                    $(".page-footer").removeClass("padding-bottom-extra");
 | 
					                    Helper.removeClass(".page-footer", "padding-bottom-extra");
 | 
				
			||||||
                    $(".page-footer").removeClass("padding-bottom-novideo");
 | 
					                    Helper.removeClass(".page-footer", "padding-bottom-novideo");
 | 
				
			||||||
                    $("#favicon").attr("href", "/assets/images/favicon-32x32.png");
 | 
					                    $("#favicon").attr("href", "/assets/images/favicon-32x32.png");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    //$(".context-menu-list").remove();
 | 
					                    //$(".context-menu-list").remove();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -97,15 +97,13 @@ var Chat = {
 | 
				
			|||||||
            $("#favicon").attr("href", "/assets/images/highlogo.png");
 | 
					            $("#favicon").attr("href", "/assets/images/highlogo.png");
 | 
				
			||||||
            unseen = true;
 | 
					            unseen = true;
 | 
				
			||||||
            chat_unseen = true;
 | 
					            chat_unseen = true;
 | 
				
			||||||
            if($(".chat-link span.badge.new.white").hasClass("hide")){
 | 
					            Helper.removeClass(".chat-link span badge new white", "hide");
 | 
				
			||||||
                $(".chat-link span.badge.new.white").removeClass("hide");
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            var to_display = Chat.channel_received + Chat.all_received > 9 ? "9+" : Chat.channel_received + Chat.all_received;
 | 
					            var to_display = Chat.channel_received + Chat.all_received > 9 ? "9+" : Chat.channel_received + Chat.all_received;
 | 
				
			||||||
            $(".chat-link span.badge.new.white").html(to_display);
 | 
					            Helper.setHtml(".chat-link span badge new white", to_display);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(document.hidden)	{
 | 
					        if(document.hidden)	{
 | 
				
			||||||
            $("#favicon").attr("href", "/assets/images/highlogo.png");
 | 
					            document.getElementById("favicon").setAttribute("href", "/assets/images/highlogo.png");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if($("#chatall").children().length > 100) {
 | 
					        if($("#chatall").children().length > 100) {
 | 
				
			||||||
@@ -146,11 +144,9 @@ var Chat = {
 | 
				
			|||||||
            chat_unseen = true;
 | 
					            chat_unseen = true;
 | 
				
			||||||
            Chat.channel_received += 1;
 | 
					            Chat.channel_received += 1;
 | 
				
			||||||
            //blink_interval = setTimeout(Chat.chat_blink, 1000);
 | 
					            //blink_interval = setTimeout(Chat.chat_blink, 1000);
 | 
				
			||||||
            if($(".chat-link span.badge.new.white").hasClass("hide")) {
 | 
					            Helper.removeClass(".chat-link span badge new white", "hide");
 | 
				
			||||||
                $(".chat-link span.badge.new.white").removeClass("hide");
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            var to_display = Chat.channel_received + Chat.all_received > 9 ? "9+" : Chat.channel_received + Chat.all_received;
 | 
					            var to_display = Chat.channel_received + Chat.all_received > 9 ? "9+" : Chat.channel_received + Chat.all_received;
 | 
				
			||||||
            $(".chat-link span.badge.new.white").html(to_display);
 | 
					            Helper.setHtml(".chat-link span badge new white", to_display);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if($("#chatchannel").children().length > 100) {
 | 
					        if($("#chatchannel").children().length > 100) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -186,8 +186,8 @@ function toast(msg) {
 | 
				
			|||||||
            if(embed) return;
 | 
					            if(embed) return;
 | 
				
			||||||
            msg=Helper.rnd(["I added the playlist", "Your playlist has been added", "Yay, many more songs!", "Thats a cool playlist!", "I added all the songs for you", "I see you like adding songs.."]);
 | 
					            msg=Helper.rnd(["I added the playlist", "Your playlist has been added", "Yay, many more songs!", "Thats a cool playlist!", "I added all the songs for you", "I see you like adding songs.."]);
 | 
				
			||||||
            document.getElementById("import").disabled = false;
 | 
					            document.getElementById("import").disabled = false;
 | 
				
			||||||
            $("#playlist_loader").addClass("hide");
 | 
					            Helper.addClass("#playlist_loader", "hide");
 | 
				
			||||||
            $("#import").removeClass("hide");
 | 
					            Helper.removeClass("#import", "hide");
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        case "savedsettings":
 | 
					        case "savedsettings":
 | 
				
			||||||
            if(embed) return;
 | 
					            if(embed) return;
 | 
				
			||||||
@@ -245,20 +245,16 @@ function toast(msg) {
 | 
				
			|||||||
            msg=Helper.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"]);
 | 
					            msg=Helper.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"]);
 | 
				
			||||||
            //Crypt.remove_pass(chan.toLowerCase());
 | 
					            //Crypt.remove_pass(chan.toLowerCase());
 | 
				
			||||||
            Admin.display_logged_out();
 | 
					            Admin.display_logged_out();
 | 
				
			||||||
            $("#thumbnail_form").css("display", "none");
 | 
					            Helper.css("#thumbnail_form", "display", "none");
 | 
				
			||||||
            $("#description_form").css("display", "none");
 | 
					            Helper.css("#description_form", "display", "none");
 | 
				
			||||||
            if(!Helper.mobilecheck()) {
 | 
					            if(!Helper.mobilecheck()) {
 | 
				
			||||||
                $('#chan_thumbnail').tooltip("destroy");
 | 
					                $('#chan_thumbnail').tooltip("destroy");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            w_p = true;
 | 
					            w_p = true;
 | 
				
			||||||
            if(!$("#playlist_loader").hasClass("hide")) {
 | 
					            Helper.addClass("#playlist_loader", "hide");
 | 
				
			||||||
                $("#playlist_loader").addClass("hide");
 | 
					            Helper.addClass("#playlist_loader_spotify", "hide");
 | 
				
			||||||
            }
 | 
					            Helper.removeClass("#import_spotify", "hide");
 | 
				
			||||||
            if(!$("#playlist_loader_spotify").hasClass("hide")) {
 | 
					            Helper.removeClass("#import", "hide");
 | 
				
			||||||
                $("#playlist_loader_spotify").addClass("hide");
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            $("#import_spotify").removeClass("hide");
 | 
					 | 
				
			||||||
                    $("#import").removeClass("hide");
 | 
					 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        case "noskip":
 | 
					        case "noskip":
 | 
				
			||||||
            if(embed) return;
 | 
					            if(embed) return;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -367,11 +367,11 @@ var Frontpage = {
 | 
				
			|||||||
                    $("#main-row").append($(response.find("#playlist").wrap("<div>").parent().html()));
 | 
					                    $("#main-row").append($(response.find("#playlist").wrap("<div>").parent().html()));
 | 
				
			||||||
                    $("#video-container").append($(response.find("#main_components").wrap("<div>").parent().html()));
 | 
					                    $("#video-container").append($(response.find("#main_components").wrap("<div>").parent().html()));
 | 
				
			||||||
                    $("#main-row").append("<div id='playbar'></div>");
 | 
					                    $("#main-row").append("<div id='playbar'></div>");
 | 
				
			||||||
                    $("#player").removeClass("player_bottom");
 | 
					                    Helper.removeClass("#player", "player_bottom");
 | 
				
			||||||
                    $("#main-row").removeClass("frontpage_modified_heights");
 | 
					                    Helper.removeClass("#main-row", "frontpage_modified_heights");
 | 
				
			||||||
                    $("#main_section_frontpage").remove();
 | 
					                    Helper.removeElement("#main_section_frontpage");
 | 
				
			||||||
                    $("#closePlayer").remove();
 | 
					                    Helper.removeElement("#closePlayer");
 | 
				
			||||||
                    $("#player_bottom_overlay").remove();
 | 
					                    Helper.removeElement("#player_bottom_overlay");
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                $("#search").attr("placeholder", "Find song on YouTube...");
 | 
					                $("#search").attr("placeholder", "Find song on YouTube...");
 | 
				
			||||||
                $(".page-footer").addClass("padding-bottom-novideo");
 | 
					                $(".page-footer").addClass("padding-bottom-novideo");
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -71,21 +71,19 @@ function hide_native(way) {
 | 
				
			|||||||
            Playercontrols.visualVolume(100);
 | 
					            Playercontrols.visualVolume(100);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if(Helper.mobilecheck()) {
 | 
					        if(Helper.mobilecheck()) {
 | 
				
			||||||
            if(!$("#player_overlay").hasClass("hide")) {
 | 
					            Helper.addClass("#player_overlay", "hide")
 | 
				
			||||||
                $("#player_overlay").addClass("hide")
 | 
					            Helper.css("#player_overlay", "display", "none");
 | 
				
			||||||
            }
 | 
					            Helper.css("#playing_on", "display", "none");
 | 
				
			||||||
            $("#player_overlay").css("display", "none");
 | 
					 | 
				
			||||||
            $("#playing_on").css("display", "none");
 | 
					 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            $("#player_overlay").removeClass("hide");
 | 
					            Helper.removeClass("#player_overlay", "hide");
 | 
				
			||||||
            $("#player_overlay").css("display", "block");
 | 
					            Helper.css("#player_overlay", "display", "block");
 | 
				
			||||||
            $("#player_overlay").css("background", "url(https://img.ytimg.com/vi/" + video_id + "/hqdefault.jpg)");
 | 
					            Helper.css("#player_overlay", "background", "url(https://img.ytimg.com/vi/" + video_id + "/hqdefault.jpg)");
 | 
				
			||||||
            $("#player_overlay").css("background-position", "center");
 | 
					            Helper.css("#player_overlay", "background-position", "center");
 | 
				
			||||||
            $("#player_overlay").css("background-size", "100%");
 | 
					            Helper.css("#player_overlay", "background-size", "100%");
 | 
				
			||||||
            $("#player_overlay").css("background-color", "black");
 | 
					            Helper.css("#player_overlay", "background-color", "black");
 | 
				
			||||||
            $("#player_overlay").css("background-repeat", "no-repeat");
 | 
					            Helper.css("#player_overlay", "background-repeat", "no-repeat");
 | 
				
			||||||
            $("#playing_on").css("display", "flex");
 | 
					            Helper.css("#playing_on", "display", "flex");
 | 
				
			||||||
            $("#chromecast_text").html("Playing on<br>" + castSession.La.friendlyName);
 | 
					            Helper.setHtml("#chromecast_text", "Playing on<br>" + castSession.La.friendlyName);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        Player.player.setVolume(100);
 | 
					        Player.player.setVolume(100);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -101,7 +99,7 @@ function hide_native(way) {
 | 
				
			|||||||
                html: "Cast Zoff to TV"
 | 
					                html: "Cast Zoff to TV"
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        $('.castButton').removeClass('castButton-white-active');
 | 
					        Helper.removeClass('.castButton', 'castButton-white-active');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $("#duration").toggleClass("hide");
 | 
					        $("#duration").toggleClass("hide");
 | 
				
			||||||
        $("#fullscreen").toggleClass("hide");
 | 
					        $("#fullscreen").toggleClass("hide");
 | 
				
			||||||
@@ -113,10 +111,10 @@ function hide_native(way) {
 | 
				
			|||||||
            Player.player.setVolume(Crypt.get_volume());
 | 
					            Player.player.setVolume(Crypt.get_volume());
 | 
				
			||||||
            Playercontrols.visualVolume(Crypt.get_volume());
 | 
					            Playercontrols.visualVolume(Crypt.get_volume());
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        $("#player_overlay").addClass("hide");
 | 
					        Helper.addClass("#player_overlay", "hide");
 | 
				
			||||||
        $("#player_overlay_text").toggleClass("hide");
 | 
					        $("#player_overlay_text").toggleClass("hide");
 | 
				
			||||||
        $("#chromecast_text").html("");
 | 
					        Helper.setHtml("#chromecast_text", "");
 | 
				
			||||||
        $("#playing_on").css("display", "none");
 | 
					        Helper.css("#playing_on", "display", "none");
 | 
				
			||||||
        if(!offline){
 | 
					        if(!offline){
 | 
				
			||||||
            socket.emit('pos', {channel: chan.toLowerCase()});
 | 
					            socket.emit('pos', {channel: chan.toLowerCase()});
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
@@ -143,16 +141,12 @@ function chromecastListener(evt, data) {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        case 1:
 | 
					        case 1:
 | 
				
			||||||
            if(!$("#play").hasClass("hide")) {
 | 
					            Helper.addClass("#play", "hide");
 | 
				
			||||||
                $("#play").addClass("hide");
 | 
					            Helper.removeClass("#pause", "hide");
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            $("#pause").removeClass("hide");
 | 
					 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        case 2:
 | 
					        case 2:
 | 
				
			||||||
            if(!$("#pause").hasClass("hide")) {
 | 
					            Helper.addClass("#pause", "hide");
 | 
				
			||||||
                $("#pause").addClass("hide");
 | 
					            Helper.removeClass("#play", "hide");
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            $("#play").removeClass("hide");
 | 
					 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -160,8 +154,8 @@ function chromecastListener(evt, data) {
 | 
				
			|||||||
function start_auth() {
 | 
					function start_auth() {
 | 
				
			||||||
    if(!user_auth_started) {
 | 
					    if(!user_auth_started) {
 | 
				
			||||||
        user_auth_started = true;
 | 
					        user_auth_started = true;
 | 
				
			||||||
        $("#player_overlay").removeClass("hide");
 | 
					        Helper.removeClass("#player_overlay", "hide");
 | 
				
			||||||
        $("#player_overlay").css("display", "block");
 | 
					        Helper.css("#player_overlay", "display", "block");
 | 
				
			||||||
        $("#user_password").modal("open");
 | 
					        $("#user_password").modal("open");
 | 
				
			||||||
        $("#user-pass-input").focus();
 | 
					        $("#user-pass-input").focus();
 | 
				
			||||||
        //Crypt.remove_userpass(chan.toLowerCase());
 | 
					        //Crypt.remove_userpass(chan.toLowerCase());
 | 
				
			||||||
@@ -226,9 +220,9 @@ function contextListener(that, e) {
 | 
				
			|||||||
    var parent = $(that).parent();
 | 
					    var parent = $(that).parent();
 | 
				
			||||||
    var suggested = false;
 | 
					    var suggested = false;
 | 
				
			||||||
    if(parent.attr("id").indexOf("suggested-") > -1) suggested = true;
 | 
					    if(parent.attr("id").indexOf("suggested-") > -1) suggested = true;
 | 
				
			||||||
    $(".context-menu-root").attr("data-suggested", suggested);
 | 
					    document.getElementsByClassName("context-menu-root")[0].setAttribute("data-suggested", suggested);
 | 
				
			||||||
    $(".context-menu-root").attr("data-id", parent.attr("id").replace("suggested-", ""));
 | 
					    document.getElementsByClassName("context-menu-root")[0].setAttribute("data-id", parent.attr("id").replace("suggested-", ""));
 | 
				
			||||||
    $("#context-menu-overlay").removeClass("hide");
 | 
					    Helper.removeClass("#context-menu-overlay", "hide");
 | 
				
			||||||
    var left = e.pageX - $(".context-menu-root").width() / 2;
 | 
					    var left = e.pageX - $(".context-menu-root").width() / 2;
 | 
				
			||||||
    var top = e.pageY;
 | 
					    var top = e.pageY;
 | 
				
			||||||
    if(left + 200 > $(window).width()) {
 | 
					    if(left + 200 > $(window).width()) {
 | 
				
			||||||
@@ -241,8 +235,9 @@ function contextListener(that, e) {
 | 
				
			|||||||
    } else if(top < 0) {
 | 
					    } else if(top < 0) {
 | 
				
			||||||
        top = 15;
 | 
					        top = 15;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    $(".context-menu-root").css({left: left,top:top});
 | 
					    Helper.css(".context-menu-root", "left", left);
 | 
				
			||||||
    $(".context-menu-root").removeClass("hide");
 | 
					    Helper.css(".context-menu-root", "top", top);
 | 
				
			||||||
 | 
					    Helper.removeClass(".context-menu-root","hide");
 | 
				
			||||||
    if(!Helper.mobilecheck()) {
 | 
					    if(!Helper.mobilecheck()) {
 | 
				
			||||||
        mouseContext(left, top);
 | 
					        mouseContext(left, top);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -253,8 +248,8 @@ function mouseContext(left, top) {
 | 
				
			|||||||
    $(document).mousemove(function( event ) {
 | 
					    $(document).mousemove(function( event ) {
 | 
				
			||||||
       if(event.pageX < left - 60 || event.pageX > left + $(".context-menu-root").width() + 60 ||
 | 
					       if(event.pageX < left - 60 || event.pageX > left + $(".context-menu-root").width() + 60 ||
 | 
				
			||||||
          event.pageY < top - 60 || event.pageY > top + $(".context-menu-root").height() + 60) {
 | 
					          event.pageY < top - 60 || event.pageY > top + $(".context-menu-root").height() + 60) {
 | 
				
			||||||
           $(".context-menu-root").addClass("hide");
 | 
					           Helper.addClass(".context-menu-root", "hide");
 | 
				
			||||||
           $("#context-menu-overlay").addClass("hide");
 | 
					           Helper.addClass("#context-menu-overlay", "hide");
 | 
				
			||||||
           $(document).off("mousemove");
 | 
					           $(document).off("mousemove");
 | 
				
			||||||
       }
 | 
					       }
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
@@ -540,12 +535,12 @@ function change_offline(enabled, already_offline){
 | 
				
			|||||||
            list_html = list_html.html();
 | 
					            list_html = list_html.html();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        //$(".list-remove").removeClass("hide");
 | 
					        //$(".list-remove").removeClass("hide");
 | 
				
			||||||
        $("#viewers").addClass("hide");
 | 
					        Helper.addClass("#viewers", "hide");
 | 
				
			||||||
        $(".margin-playbar").removeClass("margin-playbar");
 | 
					        Helper.removeClass(".margin-playbar", "margin-playbar");
 | 
				
			||||||
        $(".prev.playbar").addClass("margin-playbar");
 | 
					        Helper.addClass(".prev.playbar", "margin-playbar");
 | 
				
			||||||
        $(".prev.playbar").removeClass("hide");
 | 
					        Helper.removeClass(".prev.playbar", "hide");
 | 
				
			||||||
        $("#offline-mode").removeClass("waves-cyan");
 | 
					        Helper.removeClass("#offline-mode", "waves-cyan");
 | 
				
			||||||
        $("#offline-mode").addClass("cyan");
 | 
					        Helper.addClass("#offline-mode", "cyan");
 | 
				
			||||||
        if(!Helper.mobilecheck()) {
 | 
					        if(!Helper.mobilecheck()) {
 | 
				
			||||||
            $("#offline-mode").tooltip({
 | 
					            $("#offline-mode").tooltip({
 | 
				
			||||||
                delay: 5,
 | 
					                delay: 5,
 | 
				
			||||||
@@ -557,16 +552,12 @@ function change_offline(enabled, already_offline){
 | 
				
			|||||||
        if(window.location.pathname != "/"){
 | 
					        if(window.location.pathname != "/"){
 | 
				
			||||||
            socket.removeEventListener("color");
 | 
					            socket.removeEventListener("color");
 | 
				
			||||||
            $("#controls").on("mouseenter", function(e){
 | 
					            $("#controls").on("mouseenter", function(e){
 | 
				
			||||||
                if($("#seekToDuration").hasClass("hide")){
 | 
					                Helper.removeClass("#seekToDuration", "hide");
 | 
				
			||||||
                    $("#seekToDuration").removeClass("hide");
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            $("#controls").on("mouseleave", function(e){
 | 
					            $("#controls").on("mouseleave", function(e){
 | 
				
			||||||
                dragging = false;
 | 
					                dragging = false;
 | 
				
			||||||
                if(!$("#seekToDuration").hasClass("hide")){
 | 
					                Helper.addClass("#seekToDuration", "hide");
 | 
				
			||||||
                    $("#seekToDuration").addClass("hide");
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            $("#controls").on("mousedown", function(e) {
 | 
					            $("#controls").on("mousedown", function(e) {
 | 
				
			||||||
@@ -583,7 +574,7 @@ function change_offline(enabled, already_offline){
 | 
				
			|||||||
            $("#main_components").append("<div id='seekToDuration' class='hide'>00:00/01:00</div>");
 | 
					            $("#main_components").append("<div id='seekToDuration' class='hide'>00:00/01:00</div>");
 | 
				
			||||||
            if(!Helper.mobilecheck()) $("#seekToDuration").css("top", $("#controls").position().top - 55);
 | 
					            if(!Helper.mobilecheck()) $("#seekToDuration").css("top", $("#controls").position().top - 55);
 | 
				
			||||||
            else if(Helper.mobilecheck()) $("#seekToDuration").css("top", $("#controls").position().top - 20);
 | 
					            else if(Helper.mobilecheck()) $("#seekToDuration").css("top", $("#controls").position().top - 20);
 | 
				
			||||||
            if(!$("#controls").hasClass("ewresize")) $("#controls").addClass("ewresize");
 | 
					            Helper.addClass("#controls", "ewresize");
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            $("#controls").off("mouseenter");
 | 
					            $("#controls").off("mouseenter");
 | 
				
			||||||
            $("#controls").off("mouseleave");
 | 
					            $("#controls").off("mouseleave");
 | 
				
			||||||
@@ -602,12 +593,12 @@ function change_offline(enabled, already_offline){
 | 
				
			|||||||
            list_html = $("<div>" + list_html + "</div>");
 | 
					            list_html = $("<div>" + list_html + "</div>");
 | 
				
			||||||
            list_html = list_html.html();
 | 
					            list_html = list_html.html();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        $(".margin-playbar").removeClass("margin-playbar");
 | 
					        Helper.removeClass(".margin-playbar", "margin-playbar");
 | 
				
			||||||
        $("#playpause").addClass("margin-playbar");
 | 
					        Helper.addClass("#playpause", "margin-playbar");
 | 
				
			||||||
        $("#viewers").removeClass("hide");
 | 
					        Helper.removeClass("#viewers", "hide");
 | 
				
			||||||
        $(".prev.playbar").addClass("hide");
 | 
					        Helper.addClass(".prev.playbar", "hide");
 | 
				
			||||||
        $("#offline-mode").addClass("waves-cyan");
 | 
					        Helper.addClass("#offline-mode", "waves-cyan");
 | 
				
			||||||
        $("#offline-mode").removeClass("cyan");
 | 
					        Helper.removeClass("#offline-mode", "cyan");
 | 
				
			||||||
        if(!Helper.mobilecheck()) {
 | 
					        if(!Helper.mobilecheck()) {
 | 
				
			||||||
            $("#offline-mode").tooltip({
 | 
					            $("#offline-mode").tooltip({
 | 
				
			||||||
                delay: 5,
 | 
					                delay: 5,
 | 
				
			||||||
@@ -629,7 +620,7 @@ function change_offline(enabled, already_offline){
 | 
				
			|||||||
            var add = "";
 | 
					            var add = "";
 | 
				
			||||||
            if(private_channel) add = Crypt.getCookie("_uI") + "_";
 | 
					            if(private_channel) add = Crypt.getCookie("_uI") + "_";
 | 
				
			||||||
            socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: add + chan.toLowerCase()});
 | 
					            socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: add + chan.toLowerCase()});
 | 
				
			||||||
            if($("#controls").hasClass("ewresize")) $("#controls").removeClass("ewresize");
 | 
					            Helper.removeClass("#controls", "ewresize");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -679,8 +670,8 @@ function toast(msg) {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            msg=Helper.rnd(["I added the playlist", "Your playlist has been added", "Yay, many more songs!", "Thats a cool playlist!", "I added all the songs for you", "I see you like adding songs.."]);
 | 
					            msg=Helper.rnd(["I added the playlist", "Your playlist has been added", "Yay, many more songs!", "Thats a cool playlist!", "I added all the songs for you", "I see you like adding songs.."]);
 | 
				
			||||||
            document.getElementById("import").disabled = false;
 | 
					            document.getElementById("import").disabled = false;
 | 
				
			||||||
            $("#playlist_loader").addClass("hide");
 | 
					            Helper.addClass("#playlist_loader", "hide");
 | 
				
			||||||
            $("#import").removeClass("hide");
 | 
					            Helper.removeClass("#import", "hide");
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        case "savedsettings":
 | 
					        case "savedsettings":
 | 
				
			||||||
            if(embed) return;
 | 
					            if(embed) return;
 | 
				
			||||||
@@ -691,8 +682,8 @@ function toast(msg) {
 | 
				
			|||||||
            msg=Helper.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."]);
 | 
					            msg=Helper.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."]);
 | 
				
			||||||
            //Crypt.remove_pass(chan.toLowerCase());
 | 
					            //Crypt.remove_pass(chan.toLowerCase());
 | 
				
			||||||
            Admin.display_logged_out();
 | 
					            Admin.display_logged_out();
 | 
				
			||||||
            $("#thumbnail_form").css("display", "none");
 | 
					            Helper.css("#thumbnail_form", "display", "none");
 | 
				
			||||||
            $("#description_form").css("display", "none");
 | 
					            Helper.css("#description_form", "display", "none");
 | 
				
			||||||
            if(!Helper.mobilecheck()) {
 | 
					            if(!Helper.mobilecheck()) {
 | 
				
			||||||
                $('#chan_thumbnail').tooltip("destroy");
 | 
					                $('#chan_thumbnail').tooltip("destroy");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -740,20 +731,16 @@ function toast(msg) {
 | 
				
			|||||||
            msg=Helper.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"]);
 | 
					            msg=Helper.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"]);
 | 
				
			||||||
            //Crypt.remove_pass(chan.toLowerCase());
 | 
					            //Crypt.remove_pass(chan.toLowerCase());
 | 
				
			||||||
            Admin.display_logged_out();
 | 
					            Admin.display_logged_out();
 | 
				
			||||||
            $("#thumbnail_form").css("display", "none");
 | 
					            Helper.css("#thumbnail_form", "display", "none");
 | 
				
			||||||
            $("#description_form").css("display", "none");
 | 
					            Helper.css("#description_form", "display", "none");
 | 
				
			||||||
            if(!Helper.mobilecheck()) {
 | 
					            if(!Helper.mobilecheck()) {
 | 
				
			||||||
                $('#chan_thumbnail').tooltip("destroy");
 | 
					                $('#chan_thumbnail').tooltip("destroy");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            w_p = true;
 | 
					            w_p = true;
 | 
				
			||||||
            if(!$("#playlist_loader").hasClass("hide")) {
 | 
					            Helper.addClass("#playlist_loader", "hide");
 | 
				
			||||||
                $("#playlist_loader").addClass("hide");
 | 
					            Helper.addClass("#playlist_loader_spotify", "hide");
 | 
				
			||||||
            }
 | 
					            Helper.removeClass("#import_spotify", "hide");
 | 
				
			||||||
            if(!$("#playlist_loader_spotify").hasClass("hide")) {
 | 
					            Helper.removeClass("#import", "hide");
 | 
				
			||||||
                $("#playlist_loader_spotify").addClass("hide");
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            $("#import_spotify").removeClass("hide");
 | 
					 | 
				
			||||||
                    $("#import").removeClass("hide");
 | 
					 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        case "noskip":
 | 
					        case "noskip":
 | 
				
			||||||
            if(embed) return;
 | 
					            if(embed) return;
 | 
				
			||||||
@@ -785,8 +772,8 @@ function toast(msg) {
 | 
				
			|||||||
            tried_again = false;
 | 
					            tried_again = false;
 | 
				
			||||||
            adminpass = Crypt.get_pass(chan.toLowerCase()) == undefined ? Crypt.tmp_pass : Crypt.get_pass(chan.toLowerCase());
 | 
					            adminpass = Crypt.get_pass(chan.toLowerCase()) == undefined ? Crypt.tmp_pass : Crypt.get_pass(chan.toLowerCase());
 | 
				
			||||||
            msg="Correct password. You now have access to the sacred realm of The Admin.";
 | 
					            msg="Correct password. You now have access to the sacred realm of The Admin.";
 | 
				
			||||||
            $("#thumbnail_form").css("display", "inline-block");
 | 
					            Helper.css("#thumbnail_form", "display", "inline-block");
 | 
				
			||||||
            $("#description_form").css("display", "inline-block");
 | 
					            Helper.css("#description_form", "display", "inline-block");
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        case "changedpass":
 | 
					        case "changedpass":
 | 
				
			||||||
            if(embed) return;
 | 
					            if(embed) return;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,6 +33,19 @@ var Helper = {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    html: function(element) {
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            if(element.substring(0,1) == "#") {
 | 
				
			||||||
 | 
					                return document.getElementById(element.substring(1)).innerHTML;
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                var elements = documents.getElementsByClassName(element.substring(1));
 | 
				
			||||||
 | 
					                for(var i = 0; i < elements.length; i++) {
 | 
				
			||||||
 | 
					                    return elements[i].innerHTML;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        } catch(e){}
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    removeClass: function(element, className) {
 | 
					    removeClass: function(element, className) {
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
            if(element.substring(0,1) == "#") {
 | 
					            if(element.substring(0,1) == "#") {
 | 
				
			||||||
@@ -48,6 +61,40 @@ var Helper = {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    removeElement: function(element) {
 | 
				
			||||||
 | 
					        if(element.substring(0,1) == "#") {
 | 
				
			||||||
 | 
					            var elem = document.getElementById(element.substring(1));
 | 
				
			||||||
 | 
					            elem.remove();
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            var elements;
 | 
				
			||||||
 | 
					            if(element.substring(0,1) == ".") {
 | 
				
			||||||
 | 
					                elements = documents.getElementsByClassName(element.substring(1));
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                elements = document.getElementsByTagName(element);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            for(var i = 0; i < elements.length; i++) {
 | 
				
			||||||
 | 
					                elements[i].remove();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    setHtml: function(element, html) {
 | 
				
			||||||
 | 
					        if(element.substring(0,1) == "#") {
 | 
				
			||||||
 | 
					            var elem = document.getElementById(element.substring(1));
 | 
				
			||||||
 | 
					            elem.innerHTML = html;
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            var elements;
 | 
				
			||||||
 | 
					            if(element.substring(0,1) == ".") {
 | 
				
			||||||
 | 
					                elements = documents.getElementsByClassName(element.substring(1));
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                elements = document.getElementsByTagName(element);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            for(var i = 0; i < elements.length; i++) {
 | 
				
			||||||
 | 
					                elements[i].innerHTML = html;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    addClass: function(element, className) {
 | 
					    addClass: function(element, className) {
 | 
				
			||||||
        if(element.substring(0,1) == "#") {
 | 
					        if(element.substring(0,1) == "#") {
 | 
				
			||||||
            var elem = document.getElementById(element.substring(1));
 | 
					            var elem = document.getElementById(element.substring(1));
 | 
				
			||||||
@@ -55,7 +102,12 @@ var Helper = {
 | 
				
			|||||||
                elem.className += " " + className;
 | 
					                elem.className += " " + className;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            var elements = documents.getElementsByClassName(element.substring(1));
 | 
					            var elements;
 | 
				
			||||||
 | 
					            if(element.substring(0,1) == ".") {
 | 
				
			||||||
 | 
					                elements = documents.getElementsByClassName(element.substring(1));
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                elements = document.getElementsByTagName(element);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
            for(var i = 0; i < elements.length; i++) {
 | 
					            for(var i = 0; i < elements.length; i++) {
 | 
				
			||||||
                if(elements[i].className.indexOf(className) == -1) {
 | 
					                if(elements[i].className.indexOf(className) == -1) {
 | 
				
			||||||
                    elements[i].className += " " + className;
 | 
					                    elements[i].className += " " + className;
 | 
				
			||||||
@@ -340,10 +392,10 @@ var Helper = {
 | 
				
			|||||||
    send_mail: function(from, message){
 | 
					    send_mail: function(from, message){
 | 
				
			||||||
        if(from !== "" && message !== ""){
 | 
					        if(from !== "" && message !== ""){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            $("#submit-contact-form").addClass("hide");
 | 
					            Helper.addClass("#submit-contact-form", "hide");
 | 
				
			||||||
            $("#send-loader").removeClass("hide");
 | 
					            Helper.removeClass("#send-loader", "hide");
 | 
				
			||||||
            $("#contact-form-from").attr("disabled", "true");
 | 
					            document.getElementById("contact-form-from").setAttribute("disabled", true);
 | 
				
			||||||
            $("#contact-form-message").attr("disabled", "true");
 | 
					            document.getElementById("contact-form-message").setAttribute("disabled", true);
 | 
				
			||||||
            var captcha_response = grecaptcha.getResponse();
 | 
					            var captcha_response = grecaptcha.getResponse();
 | 
				
			||||||
            Helper.ajax({
 | 
					            Helper.ajax({
 | 
				
			||||||
                type: "POST",
 | 
					                type: "POST",
 | 
				
			||||||
@@ -356,10 +408,10 @@ var Helper = {
 | 
				
			|||||||
                success: function(data){
 | 
					                success: function(data){
 | 
				
			||||||
                    if(data == "success"){
 | 
					                    if(data == "success"){
 | 
				
			||||||
                        $("#contact-container").empty();
 | 
					                        $("#contact-container").empty();
 | 
				
			||||||
                        $("#contact-container").html("Mail has been sent, we'll be back with you shortly.")
 | 
					                        Helper.setHtml("#contact-container", "Mail has been sent, we'll be back with you shortly.")
 | 
				
			||||||
                    }else{
 | 
					                    }else{
 | 
				
			||||||
                        $("#contact-container").empty();
 | 
					                        $("#contact-container").empty();
 | 
				
			||||||
                        $("#contact-container").html("Something went wrong, sorry about that. You could instead try with your own mail-client: <a title='Open in client' href='mailto:contact@zoff.me?Subject=Contact%20Zoff'>contact@zoff.me</a>")
 | 
					                        Helper.setHtml("#contact-container", "Something went wrong, sorry about that. You could instead try with your own mail-client: <a title='Open in client' href='mailto:contact@zoff.me?Subject=Contact%20Zoff'>contact@zoff.me</a>")
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -141,9 +141,9 @@ var List = {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            if(transition){
 | 
					            if(transition){
 | 
				
			||||||
                setTimeout(function(){
 | 
					                setTimeout(function(){
 | 
				
			||||||
                    $(added).css("transform", "translateX(0%)");
 | 
					                    Helper.css(added, "transform", "translateX(0%)");
 | 
				
			||||||
                    setTimeout(function() {
 | 
					                    setTimeout(function() {
 | 
				
			||||||
                        $(added).removeClass("side_away");
 | 
					                        Helper.removeClass(added, "side_away");
 | 
				
			||||||
                    }, 300);
 | 
					                    }, 300);
 | 
				
			||||||
                },5);
 | 
					                },5);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -171,7 +171,7 @@ var List = {
 | 
				
			|||||||
            List.can_fit = Math.round(($(window).height() - $(".tabs").height() - $("header").height() - 64 - 40) / 71);
 | 
					            List.can_fit = Math.round(($(window).height() - $(".tabs").height() - $("header").height() - 64 - 40) / 71);
 | 
				
			||||||
            List.element_height = (($(window).height() - $(".tabs").height() - $("header").height() - 64 - 40) / List.can_fit)-5;
 | 
					            List.element_height = (($(window).height() - $(".tabs").height() - $("header").height() - 64 - 40) / List.can_fit)-5;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if(list_html === undefined) list_html = $("#list-song-html").html();
 | 
					        if(list_html === undefined) list_html = Helper.html("#list-song-html");
 | 
				
			||||||
        full_playlist = msg;
 | 
					        full_playlist = msg;
 | 
				
			||||||
        if(offline && !no_reset){
 | 
					        if(offline && !no_reset){
 | 
				
			||||||
            for(var x = 0; x < full_playlist.length; x++){
 | 
					            for(var x = 0; x < full_playlist.length; x++){
 | 
				
			||||||
@@ -197,20 +197,20 @@ var List = {
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            if($("#wrapper").children().length > List.can_fit && !$("#pageButtons").length){
 | 
					            if($("#wrapper").children().length > List.can_fit && !$("#pageButtons").length){
 | 
				
			||||||
                $(".prev_page").css("display", "none");
 | 
					                Helper.css(".prev_page", "display", "none");
 | 
				
			||||||
                $(".first_page").css("display", "none");
 | 
					                Helper.css(".first_page", "display", "none");
 | 
				
			||||||
                $(".next_page_hide").css("display","none");
 | 
					                Helper.css(".next_page_hide", "display","none");
 | 
				
			||||||
                $(".last_page_hide").css("display","none");
 | 
					                Helper.css(".last_page_hide", "display","none");
 | 
				
			||||||
            } else if(!$("#pageButtons").length){
 | 
					            } else if(!$("#pageButtons").length){
 | 
				
			||||||
                $(".prev_page").css("display", "none");
 | 
					                Helper.css(".prev_page", "display", "none");
 | 
				
			||||||
                $(".next_page").css("display", "none");
 | 
					                Helper.css(".next_page", "display", "none");
 | 
				
			||||||
                $(".last_page").css("display", "none");
 | 
					                Helper.css(".last_page", "display", "none");
 | 
				
			||||||
                $(".first_page").css("display", "none");
 | 
					                Helper.css(".first_page", "display", "none");
 | 
				
			||||||
                $(".next_page_hide").css("display","inline-flex");
 | 
					                Helper.css(".next_page_hide", "display","inline-flex");
 | 
				
			||||||
                $(".prev_page_hide").css("display","inline-flex");
 | 
					                Helper.css(".prev_page_hide", "display","inline-flex");
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $(".next_page").css("display", "none");
 | 
					                Helper.css(".next_page", "display", "none");
 | 
				
			||||||
                $(".last_page").css("display", "none");
 | 
					                Helper.css(".last_page", "display", "none");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            List.dynamicContentPage(-10);
 | 
					            List.dynamicContentPage(-10);
 | 
				
			||||||
@@ -218,19 +218,19 @@ var List = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            List.empty = true;
 | 
					            List.empty = true;
 | 
				
			||||||
            $("#wrapper").html("<span id='empty-channel-message'>The playlist is empty.</span>");
 | 
					            Helper.setHtml("#wrapper", "<span id='empty-channel-message'>The playlist is empty.</span>");
 | 
				
			||||||
            $(".prev_page").css("display", "none");
 | 
					            Helper.css(".prev_page","display", "none");
 | 
				
			||||||
            $(".next_page").css("display", "none");
 | 
					            Helper.css(".next_page","display", "none");
 | 
				
			||||||
            $(".last_page").css("display", "none");
 | 
					            Helper.css(".last_page","display", "none");
 | 
				
			||||||
            $(".last_page_hide").css("display", "inline-flex");
 | 
					            Helper.css(".last_page_hide","display", "inline-flex");
 | 
				
			||||||
            $(".first_page").css("display", "none");
 | 
					            Helper.css(".first_page","display", "none");
 | 
				
			||||||
            $(".next_page_hide").css("display","inline-flex");
 | 
					            Helper.css(".next_page_hide", "display","inline-flex");
 | 
				
			||||||
            $(".prev_page_hide").css("display","inline-flex");
 | 
					            Helper.css(".prev_page_hide","display","inline-flex");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        $("#settings").css("visibility", "visible");
 | 
					        Helper.css("#settings","visibility", "visible");
 | 
				
			||||||
        $("#settings").css("opacity", "1");
 | 
					        Helper.css("#settings","opacity", "1");
 | 
				
			||||||
        $("#wrapper").css("opacity", "1");
 | 
					        Helper.css("#wrapper","opacity", "1");
 | 
				
			||||||
        $("#pageButtons").removeClass("hide");
 | 
					        Helper.removeClass("#pageButtons", "hide");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(!embed) {
 | 
					        if(!embed) {
 | 
				
			||||||
            Helper.log(["Starting empty-checker"]);
 | 
					            Helper.log(["Starting empty-checker"]);
 | 
				
			||||||
@@ -246,18 +246,21 @@ var List = {
 | 
				
			|||||||
    check_error_videos: function(i) {
 | 
					    check_error_videos: function(i) {
 | 
				
			||||||
        //Helper.log("Empty-checker at " + i);
 | 
					        //Helper.log("Empty-checker at " + i);
 | 
				
			||||||
        if(full_playlist.length == 0) return;
 | 
					        if(full_playlist.length == 0) return;
 | 
				
			||||||
        $.getJSON('https://www.googleapis.com/youtube/v3/videos?id=' + full_playlist[i].id
 | 
					        Helper.ajax({
 | 
				
			||||||
 | 
					            method: "get",
 | 
				
			||||||
 | 
					            url: 'https://www.googleapis.com/youtube/v3/videos?id=' + full_playlist[i].id
 | 
				
			||||||
                   + "&key=" + api_key + "&part=snippet",
 | 
					                   + "&key=" + api_key + "&part=snippet",
 | 
				
			||||||
          function (data, status, xhr) {
 | 
					            success:  function (data) {
 | 
				
			||||||
              //Helper.log("Empty-checker items " + data.items.length);
 | 
					                data = JSON.parse(data);
 | 
				
			||||||
            if (data.items.length == 0) {
 | 
					                  //Helper.log("Empty-checker items " + data.items.length);
 | 
				
			||||||
                Helper.log(["Emtpy-checker error at " + full_playlist[i].id + " " + full_playlist[i].title]);
 | 
					                if (data.items.length == 0) {
 | 
				
			||||||
                socket.emit("error_video", {channel: chan.toLowerCase(), id: full_playlist[i].id, title: full_playlist[i].title});
 | 
					                    Helper.log(["Emtpy-checker error at " + full_playlist[i].id + " " + full_playlist[i].title]);
 | 
				
			||||||
 | 
					                    socket.emit("error_video", {channel: chan.toLowerCase(), id: full_playlist[i].id, title: full_playlist[i].title});
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                if(full_playlist.length > i + 1 && window.location.pathname != "/") {
 | 
				
			||||||
 | 
					                    List.check_error_videos(i + 1);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            if(full_playlist.length > i + 1 && window.location.pathname != "/") {
 | 
					 | 
				
			||||||
                List.check_error_videos(i + 1);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -268,20 +271,20 @@ var List = {
 | 
				
			|||||||
            List.page = page;
 | 
					            List.page = page;
 | 
				
			||||||
            $("#wrapper").children().slice(List.page, List.page + List.can_fit).css("display", "inline-flex");
 | 
					            $("#wrapper").children().slice(List.page, List.page + List.can_fit).css("display", "inline-flex");
 | 
				
			||||||
            if(List.page > 0 && $(".prev_page").css("display") == "none"){
 | 
					            if(List.page > 0 && $(".prev_page").css("display") == "none"){
 | 
				
			||||||
                $(".prev_page").css("display", "inline-flex");
 | 
					                Helper.css(".prev_page", "display", "inline-flex");
 | 
				
			||||||
                $(".prev_page_hide").css("display", "none");
 | 
					                Helper.css(".prev_page_hide", "display", "none");
 | 
				
			||||||
                $(".first_page").css("display", "inline-flex");
 | 
					                Helper.css(".first_page", "display", "inline-flex");
 | 
				
			||||||
                $(".first_page_hide").css("display", "none");
 | 
					                Helper.css(".first_page_hide", "display", "none");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if(List.page + List.can_fit >= $("#wrapper").children().length){
 | 
					            if(List.page + List.can_fit >= $("#wrapper").children().length){
 | 
				
			||||||
                $(".next_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".next_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".next_page").css("display", "none");
 | 
					                Helper.css(".next_page", "display", "none");
 | 
				
			||||||
                $(".last_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".last_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".last_page").css("display", "none");
 | 
					                Helper.css(".last_page", "display", "none");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            $("#pageNumber").html((List.page / List.can_fit) + 1);
 | 
					            Helper.setHtml("#pageNumber", (List.page / List.can_fit) + 1);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -291,17 +294,17 @@ var List = {
 | 
				
			|||||||
            List.page = List.page + List.can_fit;
 | 
					            List.page = List.page + List.can_fit;
 | 
				
			||||||
            $("#wrapper").children().slice(List.page, List.page + List.can_fit).css("display", "inline-flex");
 | 
					            $("#wrapper").children().slice(List.page, List.page + List.can_fit).css("display", "inline-flex");
 | 
				
			||||||
            if(List.page > 0 && $(".prev_page").css("display") == "none"){
 | 
					            if(List.page > 0 && $(".prev_page").css("display") == "none"){
 | 
				
			||||||
                $(".prev_page").css("display", "inline-flex");
 | 
					                Helper.css(".prev_page", "display", "inline-flex");
 | 
				
			||||||
                $(".prev_page_hide").css("display", "none");
 | 
					                Helper.css(".prev_page_hide", "display", "none");
 | 
				
			||||||
                $(".first_page").css("display", "inline-flex");
 | 
					                Helper.css(".first_page", "display", "inline-flex");
 | 
				
			||||||
                $(".first_page_hide").css("display", "none");
 | 
					                Helper.css(".first_page_hide", "display", "none");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if(List.page + List.can_fit >= $("#wrapper").children().length){
 | 
					            if(List.page + List.can_fit >= $("#wrapper").children().length){
 | 
				
			||||||
                $(".next_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".next_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".next_page").css("display", "none");
 | 
					                Helper.css(".next_page", "display", "none");
 | 
				
			||||||
                $(".last_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".last_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".last_page").css("display", "none");
 | 
					                Helper.css(".last_page", "display", "none");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            //$("#wrapper").scrollTop(0);
 | 
					            //$("#wrapper").scrollTop(0);
 | 
				
			||||||
        } else if(way == 10) {
 | 
					        } else if(way == 10) {
 | 
				
			||||||
@@ -310,61 +313,61 @@ var List = {
 | 
				
			|||||||
            $("#wrapper").children().slice(List.page, List.page + List.can_fit).css("display", "inline-flex");
 | 
					            $("#wrapper").children().slice(List.page, List.page + List.can_fit).css("display", "inline-flex");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if(List.page > 0 && $(".prev_page").css("display") == "none"){
 | 
					            if(List.page > 0 && $(".prev_page").css("display") == "none"){
 | 
				
			||||||
                $(".prev_page").css("display", "inline-flex");
 | 
					                Helper.css(".prev_page", "display", "inline-flex");
 | 
				
			||||||
                $(".prev_page_hide").css("display", "none");
 | 
					                Helper.css(".prev_page_hide", "display", "none");
 | 
				
			||||||
                $(".first_page").css("display", "inline-flex");
 | 
					                Helper.css(".first_page", "display", "inline-flex");
 | 
				
			||||||
                $(".first_page_hide").css("display", "none");
 | 
					                Helper.css(".first_page_hide", "display", "none");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            if(List.page + List.can_fit >= $("#wrapper").children().length){
 | 
					            if(List.page + List.can_fit >= $("#wrapper").children().length){
 | 
				
			||||||
                $(".next_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".next_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".next_page").css("display", "none");
 | 
					                Helper.css(".next_page", "display", "none");
 | 
				
			||||||
                $(".last_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".last_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".last_page").css("display", "none");
 | 
					                Helper.css(".last_page", "display", "none");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        } else if(way==-10) {
 | 
					        } else if(way==-10) {
 | 
				
			||||||
            $("#wrapper").children().slice(List.page, List.page + List.can_fit).hide();
 | 
					            $("#wrapper").children().slice(List.page, List.page + List.can_fit).hide();
 | 
				
			||||||
            List.page = 0;
 | 
					            List.page = 0;
 | 
				
			||||||
            $("#wrapper").children().slice(List.page, List.page + List.can_fit).css("display", "inline-flex");
 | 
					            $("#wrapper").children().slice(List.page, List.page + List.can_fit).css("display", "inline-flex");
 | 
				
			||||||
            if(List.page == 0 && $(".prev_page").css("display") != "none"){
 | 
					            if(List.page == 0 && $(".prev_page").css("display") != "none"){
 | 
				
			||||||
                $(".prev_page").css("display", "none");
 | 
					                Helper.css(".prev_page", "display", "none");
 | 
				
			||||||
                $(".prev_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".prev_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".first_page").css("display", "none");
 | 
					                Helper.css(".first_page", "display", "none");
 | 
				
			||||||
                $(".first_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".first_page_hide", "display", "inline-flex");
 | 
				
			||||||
            } else if($(".prev_page").css("display") == "none"){
 | 
					            } else if($(".prev_page").css("display") == "none"){
 | 
				
			||||||
                $(".prev_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".prev_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".first_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".first_page_hide", "display", "inline-flex");
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $(".prev_page_hide").css("display", "none");
 | 
					                Helper.css(".prev_page_hide", "display", "none");
 | 
				
			||||||
                $(".first_page_hide").css("display", "none");
 | 
					                Helper.css(".first_page_hide", "display", "none");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            if(List.page + List.can_fit < $("#wrapper").children().length){
 | 
					            if(List.page + List.can_fit < $("#wrapper").children().length){
 | 
				
			||||||
                $(".next_page_hide").css("display", "none");
 | 
					                Helper.css(".next_page_hide", "display", "none");
 | 
				
			||||||
                $(".next_page").css("display", "inline-flex");
 | 
					                Helper.css(".next_page", "display", "inline-flex");
 | 
				
			||||||
                $(".last_page_hide").css("display", "none");
 | 
					                Helper.css(".last_page_hide", "display", "none");
 | 
				
			||||||
                $(".last_page").css("display", "inline-flex");
 | 
					                Helper.css(".last_page", "display", "inline-flex");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            $("#wrapper").children().slice(List.page - List.can_fit, List.page).css("display", "inline-flex");
 | 
					            $("#wrapper").children().slice(List.page - List.can_fit, List.page).css("display", "inline-flex");
 | 
				
			||||||
            $("#wrapper").children().slice(List.page, List.page + List.can_fit).hide();
 | 
					            $("#wrapper").children().slice(List.page, List.page + List.can_fit).hide();
 | 
				
			||||||
            List.page = List.page - List.can_fit < 0 ? 0 : List.page - List.can_fit;
 | 
					            List.page = List.page - List.can_fit < 0 ? 0 : List.page - List.can_fit;
 | 
				
			||||||
            if(List.page == 0 && $(".prev_page").css("display") != "none"){
 | 
					            if(List.page == 0 && $(".prev_page").css("display") != "none"){
 | 
				
			||||||
                $(".prev_page").css("display", "none");
 | 
					                Helper.css(".prev_page", "display", "none");
 | 
				
			||||||
                $(".prev_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".prev_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".first_page").css("display", "none");
 | 
					                Helper.css(".first_page", "display", "none");
 | 
				
			||||||
                $(".first_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".first_page_hide", "display", "inline-flex");
 | 
				
			||||||
            } else if($(".prev_page").css("display") == "none"){
 | 
					            } else if($(".prev_page").css("display") == "none"){
 | 
				
			||||||
                $(".prev_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".prev_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".first_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".first_page_hide", "display", "inline-flex");
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $(".prev_page_hide").css("display", "none");
 | 
					                Helper.css(".prev_page_hide", "display", "none");
 | 
				
			||||||
                $(".first_page_hide").css("display", "none");
 | 
					                Helper.css(".first_page_hide", "display", "none");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if(List.page + List.can_fit < $("#wrapper").children().length){
 | 
					            if(List.page + List.can_fit < $("#wrapper").children().length){
 | 
				
			||||||
                $(".next_page_hide").css("display", "none");
 | 
					                Helper.css(".next_page_hide", "display", "none");
 | 
				
			||||||
                $(".next_page").css("display", "inline-flex");
 | 
					                Helper.css(".next_page", "display", "inline-flex");
 | 
				
			||||||
                $(".last_page_hide").css("display", "none");
 | 
					                Helper.css(".last_page_hide", "display", "none");
 | 
				
			||||||
                $(".last_page").css("display", "inline-flex");
 | 
					                Helper.css(".last_page", "display", "inline-flex");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -388,14 +391,14 @@ var List = {
 | 
				
			|||||||
                if(number_suggested < 0) number_suggested = 0;
 | 
					                if(number_suggested < 0) number_suggested = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                var to_display = number_suggested > 9 ? "9+" : number_suggested;
 | 
					                var to_display = number_suggested > 9 ? "9+" : number_suggested;
 | 
				
			||||||
                if(!$(".suggested-link span.badge.new.white").hasClass("hide") && to_display == 0){
 | 
					                if(to_display == 0){
 | 
				
			||||||
                    $(".suggested-link span.badge.new.white").addClass("hide");
 | 
					                    Helper.addClass(".suggested-link span badge new white", "hide");
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                $(".suggested-link span.badge.new.white").text(to_display);
 | 
					                $(".suggested-link span.badge.new.white").text(to_display);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            $("#suggested-"+added.id).remove();
 | 
					            Helper.removeElement("#suggested-"+added.id);
 | 
				
			||||||
            if(List.empty){
 | 
					            if(List.empty){
 | 
				
			||||||
                List.empty = false;
 | 
					                List.empty = false;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -403,14 +406,14 @@ var List = {
 | 
				
			|||||||
            List.insertAtIndex(added, true);
 | 
					            List.insertAtIndex(added, true);
 | 
				
			||||||
            $($("#wrapper").children()[List.page + List.can_fit]).css("display", "none");
 | 
					            $($("#wrapper").children()[List.page + List.can_fit]).css("display", "none");
 | 
				
			||||||
            if($("#wrapper").children().length > List.page + List.can_fit){
 | 
					            if($("#wrapper").children().length > List.page + List.can_fit){
 | 
				
			||||||
                $(".next_page_hide").css("display", "none");
 | 
					                Helper.css(".next_page_hide", "display", "none");
 | 
				
			||||||
                $(".next_page").removeClass("hide");
 | 
					                Helper.removeClass(".next_page", "hide");
 | 
				
			||||||
                $(".last_page_hide").css("display", "none");
 | 
					                Helper.css(".last_page_hide", "display", "none");
 | 
				
			||||||
                $(".next_page").css("display", "inline-flex");
 | 
					                Helper.css(".next_page", "display", "inline-flex");
 | 
				
			||||||
                $(".last_page").css("display", "inline-flex");
 | 
					                Helper.css(".last_page", "display", "inline-flex");
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $(".next_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".next_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".next_page").css("display", "none");
 | 
					                Helper.css(".next_page", "display", "none");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@@ -433,27 +436,27 @@ var List = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if(List.page >= $("#wrapper").children().length - 1){
 | 
					            if(List.page >= $("#wrapper").children().length - 1){
 | 
				
			||||||
                List.dynamicContentPage(-1);
 | 
					                List.dynamicContentPage(-1);
 | 
				
			||||||
                $(".next_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".next_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".next_page").css("display", "none");
 | 
					                Helper.css(".next_page", "display", "none");
 | 
				
			||||||
                $(".last_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".last_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".last_page").css("display", "none");
 | 
					                Helper.css(".last_page", "display", "none");
 | 
				
			||||||
            } else if(List.page + List.can_fit + 1 >= $("#wrapper").children().length - 1){
 | 
					            } else if(List.page + List.can_fit + 1 >= $("#wrapper").children().length - 1){
 | 
				
			||||||
                $(".next_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".next_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".next_page").css("display", "none");
 | 
					                Helper.css(".next_page", "display", "none");
 | 
				
			||||||
                $(".last_page_hide").css("display", "inline-flex");
 | 
					                Helper.css(".last_page_hide", "display", "inline-flex");
 | 
				
			||||||
                $(".last_page").css("display", "none");
 | 
					                Helper.css(".last_page", "display", "none");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if(List.page <= index && List.page - List.can_fit <= index) {
 | 
					            if(List.page <= index && List.page - List.can_fit <= index) {
 | 
				
			||||||
                $("#" + deleted).addClass("side_away");
 | 
					                Helper.addClass("#" + deleted, "side_away");
 | 
				
			||||||
                $("#" + deleted).find(".mobile-delete").remove();
 | 
					                $("#" + deleted).find(".mobile-delete").remove();
 | 
				
			||||||
                $("#" + deleted).css("transform", "translateX(-100%)");
 | 
					                Helper.css("#" + deleted, "transform", "translateX(-100%)");
 | 
				
			||||||
                setTimeout(function() {
 | 
					                setTimeout(function() {
 | 
				
			||||||
                    $("#" + deleted).remove();
 | 
					                    Helper.removeElement("#" + deleted);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                }, 300);
 | 
					                }, 300);
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $("#"+deleted).remove();
 | 
					                Helper.removeElement("#"+deleted);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            //$("#"+deleted).remove();
 | 
					            //$("#"+deleted).remove();
 | 
				
			||||||
            full_playlist.splice(List.getIndexOfSong(deleted), 1);
 | 
					            full_playlist.splice(List.getIndexOfSong(deleted), 1);
 | 
				
			||||||
@@ -474,9 +477,9 @@ var List = {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        if(full_playlist.length < 2){
 | 
					        if(full_playlist.length < 2){
 | 
				
			||||||
            List.empty = true;
 | 
					            List.empty = true;
 | 
				
			||||||
            $("#wrapper").html("<span id='empty-channel-message'>The playlist is empty.</span>");
 | 
					            Helper.setHtml("#wrapper", "<span id='empty-channel-message'>The playlist is empty.</span>");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        $("#suggested-"+deleted).remove();
 | 
					        Helper.removeElement("#suggested-"+deleted);
 | 
				
			||||||
        if(List.page + List.can_fit < $("#wrapper").children().length + 1){
 | 
					        if(List.page + List.can_fit < $("#wrapper").children().length + 1){
 | 
				
			||||||
            //$(".next_page_hide").css("display", "none");
 | 
					            //$(".next_page_hide").css("display", "none");
 | 
				
			||||||
            //$(".next_page").css("display", "flex");
 | 
					            //$(".next_page").css("display", "flex");
 | 
				
			||||||
@@ -495,7 +498,7 @@ var List = {
 | 
				
			|||||||
        full_playlist[index_of_song].added = time;
 | 
					        full_playlist[index_of_song].added = time;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        List.sortList();
 | 
					        List.sortList();
 | 
				
			||||||
        $("#"+voted).remove();
 | 
					        Helper.removeElement("#"+voted);
 | 
				
			||||||
        List.insertAtIndex(song_voted_on, false);
 | 
					        List.insertAtIndex(song_voted_on, false);
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -524,7 +527,7 @@ var List = {
 | 
				
			|||||||
            $("#wrapper").children()[0].remove();
 | 
					            $("#wrapper").children()[0].remove();
 | 
				
			||||||
            if(full_playlist.length <= 1) {
 | 
					            if(full_playlist.length <= 1) {
 | 
				
			||||||
                List.empty = true;
 | 
					                List.empty = true;
 | 
				
			||||||
                $("#wrapper").html("<span id='empty-channel-message'>The playlist is empty.</span>");
 | 
					                Helper.setHtml("#wrapper", "<span id='empty-channel-message'>The playlist is empty.</span>");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            full_playlist[0].now_playing        = true;
 | 
					            full_playlist[0].now_playing        = true;
 | 
				
			||||||
@@ -603,8 +606,8 @@ var List = {
 | 
				
			|||||||
            success: function(response){
 | 
					            success: function(response){
 | 
				
			||||||
                response = JSON.parse(response);
 | 
					                response = JSON.parse(response);
 | 
				
			||||||
                var user_id = response.id;
 | 
					                var user_id = response.id;
 | 
				
			||||||
                $("#playlist_loader_export").removeClass("hide");
 | 
					                Helper.removeClass("#playlist_loader_export", "hide");
 | 
				
			||||||
                $(".exported-list-container").removeClass("hide");
 | 
					                Helper.removeClass(".exported-list-container", "hide");
 | 
				
			||||||
                Helper.ajax({
 | 
					                Helper.ajax({
 | 
				
			||||||
                    type: "POST",
 | 
					                    type: "POST",
 | 
				
			||||||
                    url: "https://api.spotify.com/v1/users/" + user_id + "/playlists",
 | 
					                    url: "https://api.spotify.com/v1/users/" + user_id + "/playlists",
 | 
				
			||||||
@@ -657,7 +660,7 @@ var List = {
 | 
				
			|||||||
        track = Helper.replaceForFind(track);
 | 
					        track = Helper.replaceForFind(track);
 | 
				
			||||||
        track = encodeURIComponent(track);
 | 
					        track = encodeURIComponent(track);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $(".current_number").removeClass("hide");
 | 
					        Helper.removeClass(".current_number", "hide");
 | 
				
			||||||
        $(".current_number").text((current_element + 1) + " of " + (full_playlist.length));
 | 
					        $(".current_number").text((current_element + 1) + " of " + (full_playlist.length));
 | 
				
			||||||
        Helper.ajax({
 | 
					        Helper.ajax({
 | 
				
			||||||
            type: "GET",
 | 
					            type: "GET",
 | 
				
			||||||
@@ -745,10 +748,10 @@ var List = {
 | 
				
			|||||||
                            List.uris = List.uris.slice(100, List.uris.length);
 | 
					                            List.uris = List.uris.slice(100, List.uris.length);
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        List.addToSpotifyPlaylist(List.uris, playlist_id, user_id);
 | 
					                        List.addToSpotifyPlaylist(List.uris, playlist_id, user_id);
 | 
				
			||||||
                        $("#playlist_loader_export").addClass("hide");
 | 
					                        Helper.addClass("#playlist_loader_export", "hide");
 | 
				
			||||||
                    } else {
 | 
					                    } else {
 | 
				
			||||||
                        List.addToSpotifyPlaylist(List.uris, playlist_id, user_id);
 | 
					                        List.addToSpotifyPlaylist(List.uris, playlist_id, user_id);
 | 
				
			||||||
                        $("#playlist_loader_export").addClass("hide");
 | 
					                        Helper.addClass("#playlist_loader_export", "hide");
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    if($(".exported-spotify-list").length == 0) {
 | 
					                    if($(".exported-spotify-list").length == 0) {
 | 
				
			||||||
                        $(".exported-list").append("<a target='_blank' class='btn light exported-playlist exported-spotify-list' href='https://open.spotify.com/user/" + user_id + "/playlist/"+ playlist_id + "'>" + chan + "</a>");
 | 
					                        $(".exported-list").append("<a target='_blank' class='btn light exported-playlist exported-spotify-list' href='https://open.spotify.com/user/" + user_id + "/playlist/"+ playlist_id + "'>" + chan + "</a>");
 | 
				
			||||||
@@ -761,9 +764,9 @@ var List = {
 | 
				
			|||||||
                        not_added_song.find(".extra-add-text").attr("title", data);
 | 
					                        not_added_song.find(".extra-add-text").attr("title", data);
 | 
				
			||||||
                        $(".not-exported-container").append(not_added_song.html());
 | 
					                        $(".not-exported-container").append(not_added_song.html());
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    $(".current_number").addClass("hide");
 | 
					                    Helper.addClass(".current_number", "hide");
 | 
				
			||||||
                    $(".not-exported").removeClass("hide");
 | 
					                    Helper.removeClass(".not-exported", "hide");
 | 
				
			||||||
                    $(".spotify_export_button").css("display", "block");
 | 
					                    Helper.css(".spotify_export_button", "display", "block");
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    List.searchSpotify(full_playlist[current_element + 1], playlist_id, user_id, full_playlist, current_element + 1);
 | 
					                    List.searchSpotify(full_playlist[current_element + 1], playlist_id, user_id, full_playlist, current_element + 1);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@@ -800,8 +803,8 @@ var List = {
 | 
				
			|||||||
        ga('send', 'event', "export", "youtube");
 | 
					        ga('send', 'event', "export", "youtube");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        var request_url = "https://www.googleapis.com/youtube/v3/playlists?part=snippet";
 | 
					        var request_url = "https://www.googleapis.com/youtube/v3/playlists?part=snippet";
 | 
				
			||||||
        $(".exported-list-container").removeClass("hide");
 | 
					        Helper.removeClass(".exported-list-container", "hide");
 | 
				
			||||||
        $("#playlist_loader_export").removeClass("hide");
 | 
					        Helper.removeClass("#playlist_loader_export", "hide");
 | 
				
			||||||
        Helper.ajax({
 | 
					        Helper.ajax({
 | 
				
			||||||
            type: "POST",
 | 
					            type: "POST",
 | 
				
			||||||
            url: request_url,
 | 
					            url: request_url,
 | 
				
			||||||
@@ -857,12 +860,12 @@ var List = {
 | 
				
			|||||||
                    Helper.log(["All videoes added!"]);
 | 
					                    Helper.log(["All videoes added!"]);
 | 
				
			||||||
                    Helper.log(["url: https://www.youtube.com/playlist?list=" + playlist_id]);
 | 
					                    Helper.log(["url: https://www.youtube.com/playlist?list=" + playlist_id]);
 | 
				
			||||||
                    $(".exported-list").append("<a target='_blank' class='btn light exported-playlist' href='https://www.youtube.com/playlist?list=" + playlist_id + "'>" + chan + "</a>");
 | 
					                    $(".exported-list").append("<a target='_blank' class='btn light exported-playlist' href='https://www.youtube.com/playlist?list=" + playlist_id + "'>" + chan + "</a>");
 | 
				
			||||||
                    $("#playlist_loader_export").addClass("hide");
 | 
					                    Helper.addClass("#playlist_loader_export", "hide");
 | 
				
			||||||
                    $(".current_number").addClass("hide");
 | 
					                    Helper.addClass(".current_number", "hide");
 | 
				
			||||||
                    //$(".youtube_export_button").removeClass("hide");
 | 
					                    //$(".youtube_export_button").removeClass("hide");
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    //setTimeout(function(){
 | 
					                    //setTimeout(function(){
 | 
				
			||||||
                    $(".current_number").removeClass("hide");
 | 
					                    Helper.removeClass(".current_number", "hide");
 | 
				
			||||||
                    $(".current_number").text((num + 1) + " of " + (full_playlist.length));
 | 
					                    $(".current_number").text((num + 1) + " of " + (full_playlist.length));
 | 
				
			||||||
                    List.addToYoutubePlaylist(playlist_id, full_playlist, num + 1, request_url)
 | 
					                    List.addToYoutubePlaylist(playlist_id, full_playlist, num + 1, request_url)
 | 
				
			||||||
                    //}, 50);
 | 
					                    //}, 50);
 | 
				
			||||||
@@ -896,7 +899,7 @@ var List = {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    generateSong: function(_song_info, transition, lazy, list, user, display, initial) {
 | 
					    generateSong: function(_song_info, transition, lazy, list, user, display, initial) {
 | 
				
			||||||
        if(list_html === undefined) list_html = $("#list-song-html").html();
 | 
					        if(list_html === undefined) list_html = Helper.html("#list-song-html");
 | 
				
			||||||
        var video_id    = _song_info.id;
 | 
					        var video_id    = _song_info.id;
 | 
				
			||||||
        var video_title = _song_info.title;
 | 
					        var video_title = _song_info.title;
 | 
				
			||||||
        var video_votes = _song_info.votes;
 | 
					        var video_votes = _song_info.votes;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -313,13 +313,11 @@ initializeCastApi = function() {
 | 
				
			|||||||
            event.castState
 | 
					            event.castState
 | 
				
			||||||
        ]);
 | 
					        ]);
 | 
				
			||||||
        if(event.castState == "NOT_CONNECTED"){
 | 
					        if(event.castState == "NOT_CONNECTED"){
 | 
				
			||||||
            $(".castButton").css("display", "block");
 | 
					            Helper.css(".castButton", "display", "block");
 | 
				
			||||||
            if(!$(".volume-container").hasClass("volume-container-cast")) {
 | 
					            Helper.addClass(".volume-container", "volume-container-cast");
 | 
				
			||||||
                $(".volume-container").addClass("volume-container-cast");
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            cast_ready_connect = true;
 | 
					            cast_ready_connect = true;
 | 
				
			||||||
            if((!localStorage.getItem("_chSeen") || localStorage.getItem("_chSeen") != "seen") && !client) {
 | 
					            if((!localStorage.getItem("_chSeen") || localStorage.getItem("_chSeen") != "seen") && !client) {
 | 
				
			||||||
                $(".castButton").css("display", "block");
 | 
					                Helper.css(".castButton", "display", "block");
 | 
				
			||||||
                showDiscovery = true;
 | 
					                showDiscovery = true;
 | 
				
			||||||
                $('.tap-target').tapTarget();
 | 
					                $('.tap-target').tapTarget();
 | 
				
			||||||
                $('.tap-target').tapTarget('open');
 | 
					                $('.tap-target').tapTarget('open');
 | 
				
			||||||
@@ -327,17 +325,17 @@ initializeCastApi = function() {
 | 
				
			|||||||
                    $('.tap-target').tapTarget('close');
 | 
					                    $('.tap-target').tapTarget('close');
 | 
				
			||||||
                }, 4000);
 | 
					                }, 4000);
 | 
				
			||||||
                localStorage.setItem("_chSeen", "seen");
 | 
					                localStorage.setItem("_chSeen", "seen");
 | 
				
			||||||
                $('.castButton').removeClass('castButton-white-active');
 | 
					                Helper.removeClass('.castButton', 'castButton-white-active');
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        } else if(event.castState == "NO_DEVICES_AVAILABLE"){
 | 
					        } else if(event.castState == "NO_DEVICES_AVAILABLE"){
 | 
				
			||||||
            cast_ready_connect = false;
 | 
					            cast_ready_connect = false;
 | 
				
			||||||
            $(".volume-container").removeClass("volume-container-cast");
 | 
					            Helper.removeClass(".volume-container", "volume-container-cast");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if(context.getCastState() == "NOT_CONNECTED") {
 | 
					    if(context.getCastState() == "NOT_CONNECTED") {
 | 
				
			||||||
        $(".castButton").css("display", "block");
 | 
					        Helper.css(".castButton", "display", "block");
 | 
				
			||||||
        $('.castButton').removeClass('castButton-white-active');
 | 
					        Helper.removeClass('.castButton', 'castButton-white-active');
 | 
				
			||||||
        cast_ready_connect = true;
 | 
					        cast_ready_connect = true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
@@ -409,7 +407,7 @@ $(document).keyup(function(event) {
 | 
				
			|||||||
                    $("#results").empty();
 | 
					                    $("#results").empty();
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
            $("body").attr("style", "overflow-y:auto")
 | 
					            document.getElementsByTagName("body")[0].setAttribute("style", "overflow-y:auto")
 | 
				
			||||||
            $("#search-btn i").html("search");
 | 
					            $("#search-btn i").html("search");
 | 
				
			||||||
            $(".search_input").val("");
 | 
					            $(".search_input").val("");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -418,7 +416,7 @@ $(document).keyup(function(event) {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    } else if(event.keyCode == 13 && $("#search").val() == "fireplace" && !$(".search-container").hasClass("hide") && window.location.pathname != "/") {
 | 
					    } else if(event.keyCode == 13 && $("#search").val() == "fireplace" && !$(".search-container").hasClass("hide") && window.location.pathname != "/") {
 | 
				
			||||||
        clearTimeout(timeout_search);
 | 
					        clearTimeout(timeout_search);
 | 
				
			||||||
        $("#results").html("");
 | 
					        Helper.setHtml("#results", "");
 | 
				
			||||||
        $("#search").val("");
 | 
					        $("#search").val("");
 | 
				
			||||||
        if($("#search-wrapper").length != 0 && !Helper.contains($("#search-wrapper").attr("class").split(" "), "hide"))
 | 
					        if($("#search-wrapper").length != 0 && !Helper.contains($("#search-wrapper").attr("class").split(" "), "hide"))
 | 
				
			||||||
        $("#search-wrapper").toggleClass("hide");
 | 
					        $("#search-wrapper").toggleClass("hide");
 | 
				
			||||||
@@ -435,10 +433,10 @@ $(document).keyup(function(event) {
 | 
				
			|||||||
        if(fireplace_initiated) {
 | 
					        if(fireplace_initiated) {
 | 
				
			||||||
            fireplace_initiated = false;
 | 
					            fireplace_initiated = false;
 | 
				
			||||||
            Player.fireplace.destroy();
 | 
					            Player.fireplace.destroy();
 | 
				
			||||||
            $("#fireplace_player").css("display", "none");
 | 
					            Helper.css("#fireplace_player", "display", "none");
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            fireplace_initiated = true;
 | 
					            fireplace_initiated = true;
 | 
				
			||||||
            $("#fireplace_player").css("display", "block");
 | 
					            Helper.css("#fireplace_player", "display", "block");
 | 
				
			||||||
            Player.createFireplacePlayer();
 | 
					            Player.createFireplacePlayer();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -827,8 +825,8 @@ $(document).on("click", "#listExport", function(e){
 | 
				
			|||||||
            access_token_data_youtube = data;
 | 
					            access_token_data_youtube = data;
 | 
				
			||||||
            if(access_token_data_youtube.state == nonce){
 | 
					            if(access_token_data_youtube.state == nonce){
 | 
				
			||||||
                youtube_authenticated = true;
 | 
					                youtube_authenticated = true;
 | 
				
			||||||
                $("#playlist_loader_export").removeClass("hide");
 | 
					                Helper.removeClass("#playlist_loader_export", "hide");
 | 
				
			||||||
                $(".youtube_export_button").addClass("hide");
 | 
					                Helper.addClass(".youtube_export_button", "hide");
 | 
				
			||||||
                setTimeout(function(){
 | 
					                setTimeout(function(){
 | 
				
			||||||
                    youtube_authenticated = false;
 | 
					                    youtube_authenticated = false;
 | 
				
			||||||
                    access_token_data_youtube = {};
 | 
					                    access_token_data_youtube = {};
 | 
				
			||||||
@@ -861,7 +859,7 @@ $(document).on("click", ".export-spotify-auth", function(e){
 | 
				
			|||||||
                access_token_data = {};
 | 
					                access_token_data = {};
 | 
				
			||||||
                Channel.spotify_is_authenticated(false);
 | 
					                Channel.spotify_is_authenticated(false);
 | 
				
			||||||
            }, access_token_data.expires_in * 1000);
 | 
					            }, access_token_data.expires_in * 1000);
 | 
				
			||||||
            $(".spotify_export_button").css("display", "none");
 | 
					            Helper.css(".spotify_export_button", "display", "none");
 | 
				
			||||||
            List.exportToSpotify();
 | 
					            List.exportToSpotify();
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            access_token_data = {};
 | 
					            access_token_data = {};
 | 
				
			||||||
@@ -880,8 +878,8 @@ $(document).on("submit", "#listImport", function(e){
 | 
				
			|||||||
        Search.importPlaylist(url[1]);
 | 
					        Search.importPlaylist(url[1]);
 | 
				
			||||||
        document.getElementById("import").value = "";
 | 
					        document.getElementById("import").value = "";
 | 
				
			||||||
        document.getElementById("import").disabled = true;
 | 
					        document.getElementById("import").disabled = true;
 | 
				
			||||||
        $("#import").addClass("hide");
 | 
					        Helper.addClass("#import", "hide");
 | 
				
			||||||
        $("#playlist_loader").removeClass("hide");
 | 
					        Helper.removeClass("#playlist_loader", "hide");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ga('send', 'event', "import", "youtube");
 | 
					        ga('send', 'event', "import", "youtube");
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
@@ -903,8 +901,8 @@ $(document).on("submit", "#listImportZoff", function(e) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
$(document).on("click", ".import-zoff", function(e) {
 | 
					$(document).on("click", ".import-zoff", function(e) {
 | 
				
			||||||
    e.preventDefault();
 | 
					    e.preventDefault();
 | 
				
			||||||
    $(".import-zoff-container").addClass("hide");
 | 
					    Helper.addClass(".import-zoff-container", "hide");
 | 
				
			||||||
    $(".zoff_add_field").removeClass("hide");
 | 
					    Helper.removeClass(".zoff_add_field", "hide");
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(document).on("submit", "#listImportSpotify", function(e){
 | 
					$(document).on("submit", "#listImportSpotify", function(e){
 | 
				
			||||||
@@ -918,8 +916,8 @@ $(document).on("submit", "#listImportSpotify", function(e){
 | 
				
			|||||||
            playlist_id = playlist_id.split("?")[0];
 | 
					            playlist_id = playlist_id.split("?")[0];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            document.getElementById("import_spotify").disabled = true;
 | 
					            document.getElementById("import_spotify").disabled = true;
 | 
				
			||||||
            $("#import_spotify").addClass("hide");
 | 
					            Helper.addClass("#import_spotify", "hide");
 | 
				
			||||||
            $("#playlist_loader_spotify").removeClass("hide");
 | 
					            Helper.removeClass("#playlist_loader_spotify", "hide");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            ga('send', 'event', "import", "spotify");
 | 
					            ga('send', 'event', "import", "spotify");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -933,7 +931,7 @@ $(document).on("submit", "#listImportSpotify", function(e){
 | 
				
			|||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(window).focus(function(){
 | 
					$(window).focus(function(){
 | 
				
			||||||
    $("#favicon").attr("href", "/assets/images/favicon.png");
 | 
					    document.getElementById("favicon").setAttribute("href", "/assets/images/favicon.png");
 | 
				
			||||||
    unseen = false;
 | 
					    unseen = false;
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -978,11 +976,9 @@ $(document).on("click", ".chat-link", function(){
 | 
				
			|||||||
    $("#chat-btn i").css("opacity", 1);
 | 
					    $("#chat-btn i").css("opacity", 1);
 | 
				
			||||||
    Chat.channel_received = 0;
 | 
					    Chat.channel_received = 0;
 | 
				
			||||||
    Chat.all_received = 0;
 | 
					    Chat.all_received = 0;
 | 
				
			||||||
    if(!$(".chat-link span.badge.new.white").hasClass("hide")){
 | 
					    Helper.addClass(".chat-link span badge new white", "hide");
 | 
				
			||||||
        $(".chat-link span.badge.new.white").addClass("hide");
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    unseen = false;
 | 
					    unseen = false;
 | 
				
			||||||
    $("#favicon").attr("href", "/assets/images/favicon.png");
 | 
					    document.getElementById("favicon").setAttribute("href", "/assets/images/favicon.png");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    scrollChat();
 | 
					    scrollChat();
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
@@ -1047,30 +1043,30 @@ $(document).on("click", ".chat-link", function(e){
 | 
				
			|||||||
    chat_active = true;
 | 
					    chat_active = true;
 | 
				
			||||||
    unseen = false;
 | 
					    unseen = false;
 | 
				
			||||||
    chat_unseen = false;
 | 
					    chat_unseen = false;
 | 
				
			||||||
    $(".chat-link").attr("style", "color: white !important;");
 | 
					    document.getElementsByClassName("chat-link")[0].setAttribute("style", "color: white !important;");
 | 
				
			||||||
    blinking = false;
 | 
					    blinking = false;
 | 
				
			||||||
    $("#favicon").attr("href", "/assets/images/favicon.png");
 | 
					    document.getElementById("favicon").setAttribute("href", "/assets/images/favicon.png");
 | 
				
			||||||
    $("#chat-container").css("display", "block");
 | 
					    Helper.css("#chat-container", "display", "block");
 | 
				
			||||||
    $("#wrapper").css("display", "none");
 | 
					    Helper.css("#wrapper", "display", "none");
 | 
				
			||||||
    $("#suggestions").css("display", "none");
 | 
					    Helper.css("#suggestions", "display", "none");
 | 
				
			||||||
    $("#text-chat-input").focus();
 | 
					    $("#text-chat-input").focus();
 | 
				
			||||||
    $("#pageButtons").css("display", "none");
 | 
					    Helper.css("#pageButtons", "display", "none");
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(document).on("click", ".playlist-link", function(e){
 | 
					$(document).on("click", ".playlist-link", function(e){
 | 
				
			||||||
    chat_active = false;
 | 
					    chat_active = false;
 | 
				
			||||||
    $("#chat-container").css("display", "none");
 | 
					    Helper.css("#chat-container", "display", "none");
 | 
				
			||||||
    $("#wrapper").css("display", "block");
 | 
					    Helper.css("#wrapper", "display", "block");
 | 
				
			||||||
    $("#suggestions").css("display", "none");
 | 
					    Helper.css("#suggestions", "display", "none");
 | 
				
			||||||
    $("#pageButtons").css("display", "flex");
 | 
					    Helper.css("#pageButtons", "display", "flex");
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(document).on("click", ".suggested-link", function(e){
 | 
					$(document).on("click", ".suggested-link", function(e){
 | 
				
			||||||
    chat_active = false;
 | 
					    chat_active = false;
 | 
				
			||||||
    $("#chat-container").css("display", "none");
 | 
					    Helper.css("#chat-container", "display", "none");
 | 
				
			||||||
    $("#wrapper").css("display", "none");
 | 
					    Helper.css("#wrapper", "display", "none");
 | 
				
			||||||
    $("#suggestions").css("display", "block");
 | 
					    Helper.css("#suggestions", "display", "block");
 | 
				
			||||||
    $("#pageButtons").css("display", "none");
 | 
					    Helper.css("#pageButtons", "display", "none");
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(document).on("click", ".import-spotify-auth", function(e){
 | 
					$(document).on("click", ".import-spotify-auth", function(e){
 | 
				
			||||||
@@ -1085,8 +1081,8 @@ $(document).on("click", ".import-spotify-auth", function(e){
 | 
				
			|||||||
                spotify_authenticated = false;
 | 
					                spotify_authenticated = false;
 | 
				
			||||||
                access_token_data = {};
 | 
					                access_token_data = {};
 | 
				
			||||||
                Channel.spotify_is_authenticated(false);
 | 
					                Channel.spotify_is_authenticated(false);
 | 
				
			||||||
                $(".spotify_authenticated").css("display", "none");
 | 
					                Helper.css(".spotify_authenticated", "display", "none");
 | 
				
			||||||
                $(".spotify_unauthenticated").css("display", "block");
 | 
					                Helper.css(".spotify_unauthenticated", "display", "block");
 | 
				
			||||||
            }, access_token_data.expires_in * 1000);
 | 
					            }, access_token_data.expires_in * 1000);
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            access_token_data = {};
 | 
					            access_token_data = {};
 | 
				
			||||||
@@ -1100,8 +1096,8 @@ $(document).on("click", ".import-spotify-auth", function(e){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
$(document).on("click", ".import-youtube", function(e){
 | 
					$(document).on("click", ".import-youtube", function(e){
 | 
				
			||||||
    e.preventDefault();
 | 
					    e.preventDefault();
 | 
				
			||||||
    $(".youtube_unclicked").css("display", "none");
 | 
					    Helper.css(".youtube_unclicked", "display", "none");
 | 
				
			||||||
    $(".youtube_clicked").css("display", "block");
 | 
					    Helper.css(".youtube_clicked", "display", "block");
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(document).on("submit", "#chatForm", function(e){
 | 
					$(document).on("submit", "#chatForm", function(e){
 | 
				
			||||||
@@ -1152,7 +1148,7 @@ $(window).resize(function(){
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        List.can_fit = temp_fit;
 | 
					        List.can_fit = temp_fit;
 | 
				
			||||||
        List.element_height = (($("#wrapper").height()) / List.can_fit)-5.3;
 | 
					        List.element_height = (($("#wrapper").height()) / List.can_fit)-5.3;
 | 
				
			||||||
        $(".list-song").css("height", List.element_height + "px");
 | 
					        Helper.css(".list-song", "height", List.element_height + "px");
 | 
				
			||||||
        //$("#player_overlay").width($("#player").width()+1);
 | 
					        //$("#player_overlay").width($("#player").width()+1);
 | 
				
			||||||
        Channel.set_title_width();
 | 
					        Channel.set_title_width();
 | 
				
			||||||
        if($("#controls").length > 0 && !Helper.mobilecheck()) $("#seekToDuration").css("top", $("#controls").position().top - 55);
 | 
					        if($("#controls").length > 0 && !Helper.mobilecheck()) $("#seekToDuration").css("top", $("#controls").position().top - 55);
 | 
				
			||||||
@@ -1226,7 +1222,7 @@ $(document).on('click', ".send-error-modal", function(e) {
 | 
				
			|||||||
$(document).on('submit', "#error-report-form", function(e) {
 | 
					$(document).on('submit', "#error-report-form", function(e) {
 | 
				
			||||||
    e.preventDefault();
 | 
					    e.preventDefault();
 | 
				
			||||||
    var captcha_response = grecaptcha.getResponse();
 | 
					    var captcha_response = grecaptcha.getResponse();
 | 
				
			||||||
    $("#send-loader").removeClass("hide");
 | 
					    Helper.removeClass("#send-loader", "hide");
 | 
				
			||||||
    Helper.ajax({
 | 
					    Helper.ajax({
 | 
				
			||||||
        type: "POST",
 | 
					        type: "POST",
 | 
				
			||||||
        data: {
 | 
					        data: {
 | 
				
			||||||
@@ -1237,16 +1233,16 @@ $(document).on('submit', "#error-report-form", function(e) {
 | 
				
			|||||||
        url: "/api/mail",
 | 
					        url: "/api/mail",
 | 
				
			||||||
        success: function(data){
 | 
					        success: function(data){
 | 
				
			||||||
            if(data == "success"){
 | 
					            if(data == "success"){
 | 
				
			||||||
                $(".send-error-modal").remove();
 | 
					                Helper.removeElement(".send-error-modal");
 | 
				
			||||||
                $("#error-report-form").remove();
 | 
					                Helper.removeElement("#error-report-form");
 | 
				
			||||||
                $(".error-code-container").remove();
 | 
					                Helper.removeElement(".error-code-container");
 | 
				
			||||||
                $(".error-report-success").text("Error report sent!");
 | 
					                $(".error-report-success").text("Error report sent!");
 | 
				
			||||||
                $("#contact-container").html("Mail has been sent, we'll be back with you shortly.");
 | 
					                Helper.setHtml("#contact-container", "Mail has been sent, we'll be back with you shortly.");
 | 
				
			||||||
                window.location.reload(true);
 | 
					                window.location.reload(true);
 | 
				
			||||||
            }else{
 | 
					            }else{
 | 
				
			||||||
                $(".error-report-success").text("Mail was not sent, try again");
 | 
					                $(".error-report-success").text("Mail was not sent, try again");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            $("#send-loader").addClass("hide");
 | 
					            Helper.addClass("#send-loader", "hide");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
@@ -1302,32 +1298,32 @@ $(document).on( "click", ".add-suggested", function(e){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        var to_display = number_suggested > 9 ? "9+" : number_suggested;
 | 
					        var to_display = number_suggested > 9 ? "9+" : number_suggested;
 | 
				
			||||||
        if(!$(".suggested-link span.badge.new.white").hasClass("hide") && to_display == 0){
 | 
					        if(!$(".suggested-link span.badge.new.white").hasClass("hide") && to_display == 0){
 | 
				
			||||||
            $(".suggested-link span.badge.new.white").addClass("hide");
 | 
					            Helper.addClass(".suggested-link span badge new white", "hide");
 | 
				
			||||||
            $("#user_suggests").addClass("hide");
 | 
					            Helper.addClass("#user_suggests", "hide");
 | 
				
			||||||
            $("#suggest_bar").addClass("hide");
 | 
					            Helper.addClass("#suggest_bar", "hide");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $(".suggested-link span.badge.new.white").text(to_display);
 | 
					        $(".suggested-link span.badge.new.white").text(to_display);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    $("#suggested-" + id).remove();
 | 
					    Helper.removeElement("#suggested-" + id);
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(document).on( "click", ".del_suggested", function(e){
 | 
					$(document).on( "click", ".del_suggested", function(e){
 | 
				
			||||||
    var id = $(this).attr("data-video-id");
 | 
					    var id = $(this).attr("data-video-id");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $("#suggested-" + id).remove();
 | 
					    Helper.removeElement("#suggested-" + id);
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(document).on( "click", ".del_user_suggested", function(e){
 | 
					$(document).on( "click", ".del_user_suggested", function(e){
 | 
				
			||||||
    var id = $(this).attr("data-video-id");
 | 
					    var id = $(this).attr("data-video-id");
 | 
				
			||||||
    $("#suggested-" + id).remove();
 | 
					    Helper.removeElement("#suggested-" + id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    number_suggested = number_suggested - 1;
 | 
					    number_suggested = number_suggested - 1;
 | 
				
			||||||
    if(number_suggested < 0) number_suggested = 0;
 | 
					    if(number_suggested < 0) number_suggested = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    var to_display = number_suggested > 9 ? "9+" : number_suggested;
 | 
					    var to_display = number_suggested > 9 ? "9+" : number_suggested;
 | 
				
			||||||
    if(!$(".suggested-link span.badge.new.white").hasClass("hide") && to_display == 0){
 | 
					    if(to_display == 0){
 | 
				
			||||||
        $(".suggested-link span.badge.new.white").addClass("hide");
 | 
					        Helper.addClass(".suggested-link span badge new white", "hide");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $(".suggested-link span.badge.new.white").text(to_display);
 | 
					    $(".suggested-link span.badge.new.white").text(to_display);
 | 
				
			||||||
@@ -1387,7 +1383,7 @@ $(document).keydown(function(event) {
 | 
				
			|||||||
                $("#find_div").toggleClass("hide");
 | 
					                $("#find_div").toggleClass("hide");
 | 
				
			||||||
                $("#find_input").val("");
 | 
					                $("#find_input").val("");
 | 
				
			||||||
                $("#find_input").blur();
 | 
					                $("#find_input").blur();
 | 
				
			||||||
                $(".highlight").removeClass("highlight");
 | 
					                Helper.removeClass(".highlight", "highlight");
 | 
				
			||||||
                found_array = [];
 | 
					                found_array = [];
 | 
				
			||||||
                found_array_index = 0;
 | 
					                found_array_index = 0;
 | 
				
			||||||
                find_word = "";
 | 
					                find_word = "";
 | 
				
			||||||
@@ -1426,7 +1422,7 @@ $(document).on("click", "#close_find_form_button", function(e) {
 | 
				
			|||||||
    $("#find_div").toggleClass("hide");
 | 
					    $("#find_div").toggleClass("hide");
 | 
				
			||||||
    $("#find_input").val("");
 | 
					    $("#find_input").val("");
 | 
				
			||||||
    $("#find_input").blur();
 | 
					    $("#find_input").blur();
 | 
				
			||||||
    $(".highlight").removeClass("highlight");
 | 
					    Helper.removeClass(".highlight", "highlight");
 | 
				
			||||||
    found_array = [];
 | 
					    found_array = [];
 | 
				
			||||||
    found_array_index = 0;
 | 
					    found_array_index = 0;
 | 
				
			||||||
    find_word = "";
 | 
					    find_word = "";
 | 
				
			||||||
@@ -1464,12 +1460,12 @@ $(document).on("submit", "#find_form", function(e){
 | 
				
			|||||||
        $("#of_total_found").text(found_array.length);
 | 
					        $("#of_total_found").text(found_array.length);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if(found_array.length > 0 && found_array[found_array_index] != full_playlist.length - 1){
 | 
					    if(found_array.length > 0 && found_array[found_array_index] != full_playlist.length - 1){
 | 
				
			||||||
        $(".highlight").removeClass("highlight");
 | 
					        Helper.removeClass(".highlight", "highlight");
 | 
				
			||||||
        var jump_to_page = Math.floor(found_array[found_array_index] / List.can_fit);
 | 
					        var jump_to_page = Math.floor(found_array[found_array_index] / List.can_fit);
 | 
				
			||||||
        $($("#wrapper").children()[found_array[found_array_index]]).addClass("highlight");
 | 
					        $($("#wrapper").children()[found_array[found_array_index]]).addClass("highlight");
 | 
				
			||||||
        List.dynamicContentPageJumpTo(jump_to_page);
 | 
					        List.dynamicContentPageJumpTo(jump_to_page);
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        $(".highlight").removeClass("highlight");
 | 
					        Helper.removeClass(".highlight", "highlight");
 | 
				
			||||||
        Helper.log(["none found"]);
 | 
					        Helper.log(["none found"]);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -87,9 +87,7 @@ var Player = {
 | 
				
			|||||||
                //$("#player_overlay").height($("#player").height());
 | 
					                //$("#player_overlay").height($("#player").height());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if(!window.MSStream && !chromecastAvailable) {
 | 
					                if(!window.MSStream && !chromecastAvailable) {
 | 
				
			||||||
                    if($("#player_overlay").hasClass("hide")) {
 | 
					                    Helper.removeClass("#player_overlay", "hide");
 | 
				
			||||||
                        $("#player_overlay").removeClass("hide");
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                try{
 | 
					                try{
 | 
				
			||||||
                    if(!chromecastAvailable) {
 | 
					                    if(!chromecastAvailable) {
 | 
				
			||||||
@@ -574,23 +572,23 @@ var Player = {
 | 
				
			|||||||
            player_ready = true;
 | 
					            player_ready = true;
 | 
				
			||||||
            if(!window.MSStream) {
 | 
					            if(!window.MSStream) {
 | 
				
			||||||
                if(Helper.mobilecheck()){
 | 
					                if(Helper.mobilecheck()){
 | 
				
			||||||
                    $("#playpause").css("visibility", "hidden");
 | 
					                    Helper.css("#playpause", "visibility", "hidden");
 | 
				
			||||||
                    $("#playpause").css("pointer-events", "none");
 | 
					                    Helper.css("#playpause", "pointer-events", "none");
 | 
				
			||||||
                    $("#player").css("opacity", "1");
 | 
					                    Helper.css("#player", "opacity", "1");
 | 
				
			||||||
                    if(offline) {
 | 
					                    if(offline) {
 | 
				
			||||||
                        setTimeout(function(){
 | 
					                        setTimeout(function(){
 | 
				
			||||||
                            $("#channel-load").css("display", "none");
 | 
					                            Helper.css("#channel-load", "display", "none");
 | 
				
			||||||
                            $("#playpause").css("visibility", "visible");
 | 
					                            Helper.css("#playpause", "visibility", "visible");
 | 
				
			||||||
                            $("#playpause").css("pointer-events", "all");
 | 
					                            Helper.css("#playpause", "pointer-events", "all");
 | 
				
			||||||
                        }, 1500);
 | 
					                        }, 1500);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    //$("#channel-load").css("display", "none");
 | 
					                    //$("#channel-load").css("display", "none");
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                /*$("#player").css("opacity", "1");*/
 | 
					                /*$("#player").css("opacity", "1");*/
 | 
				
			||||||
                $(".video-container").removeClass("no-opacity");
 | 
					                Helper.removeClass(".video-container", "no-opacity");
 | 
				
			||||||
                $("#controls").css("opacity", "1");
 | 
					                Helper.css("#controls", "opacity", "1");
 | 
				
			||||||
                $(".playlist").css("opacity", "1");
 | 
					                Helper.css(".playlist", "opacity", "1");
 | 
				
			||||||
                if(autoplay) {
 | 
					                if(autoplay) {
 | 
				
			||||||
                    Player.loadVideoById(video_id, duration);
 | 
					                    Player.loadVideoById(video_id, duration);
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
@@ -631,8 +629,8 @@ var Player = {
 | 
				
			|||||||
        var color = c.color;
 | 
					        var color = c.color;
 | 
				
			||||||
        if(window.location.pathname != "/" && ((offline && c.only) || (!offline && !c.only) || (!offline && c.only))) {
 | 
					        if(window.location.pathname != "/" && ((offline && c.only) || (!offline && !c.only) || (!offline && c.only))) {
 | 
				
			||||||
            document.getElementById("main-container").style.backgroundColor = Helper.rgbToHsl(color,true);
 | 
					            document.getElementById("main-container").style.backgroundColor = Helper.rgbToHsl(color,true);
 | 
				
			||||||
            $("#nav").css("background-color", Helper.rgbToHsl(color, true));
 | 
					            Helper.css("#nav", "background-color", Helper.rgbToHsl(color, true));
 | 
				
			||||||
            $(".title-container").css("background-color", Helper.rgbToHsl(color, true));
 | 
					            helper.css(".title-container", "background-color", Helper.rgbToHsl(color, true));
 | 
				
			||||||
            var hexHsl = Helper.rgbToHex(color[0], color[1], color[2]);
 | 
					            var hexHsl = Helper.rgbToHex(color[0], color[1], color[2]);
 | 
				
			||||||
            try {
 | 
					            try {
 | 
				
			||||||
                var hsl = Helper.rgbToHsl(color, true).replace("hsl(", "").replace(")", "").replace("%", "").replace(/ /g,'').replace("%", "").split(",");
 | 
					                var hsl = Helper.rgbToHsl(color, true).replace("hsl(", "").replace(")", "").replace("%", "").replace(/ /g,'').replace("%", "").split(",");
 | 
				
			||||||
@@ -644,7 +642,7 @@ var Player = {
 | 
				
			|||||||
                new_color = Helper.hexToComplimentary(new_color);
 | 
					                new_color = Helper.hexToComplimentary(new_color);
 | 
				
			||||||
                new_color = Helper.hexToRgb(new_color);
 | 
					                new_color = Helper.hexToRgb(new_color);
 | 
				
			||||||
                new_color = Helper.rgbToHsl([new_color.r, new_color.g, new_color.b], true);
 | 
					                new_color = Helper.rgbToHsl([new_color.r, new_color.g, new_color.b], true);
 | 
				
			||||||
                $("#controls").css("background", new_color);
 | 
					                Helper.css("#controls", "background", new_color);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,17 +37,13 @@ var Playercontrols = {
 | 
				
			|||||||
        $("#volume").append("<div class='volume-slid " + slider_type + "'></div>");
 | 
					        $("#volume").append("<div class='volume-slid " + slider_type + "'></div>");
 | 
				
			||||||
        $("#volume").append("<div class='volume-handle " + slider_type + "'></div>");
 | 
					        $("#volume").append("<div class='volume-handle " + slider_type + "'></div>");
 | 
				
			||||||
        if(slider_type != "vertical") {
 | 
					        if(slider_type != "vertical") {
 | 
				
			||||||
            if($("#volume").hasClass("vertical")) {
 | 
					            Helper.removeClass("#volume", "vertical");
 | 
				
			||||||
                $("#volume").removeClass("vertical");
 | 
					            Helper.css(".volume-slid", "width", vol + "%");
 | 
				
			||||||
            }
 | 
					            Helper.css(".volume-handle", "left", "calc(" + vol + "% - 1px)");
 | 
				
			||||||
            $(".volume-slid").css("width", vol + "%");
 | 
					 | 
				
			||||||
            $(".volume-handle").css("left", "calc(" + vol + "% - 1px)");
 | 
					 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            if(!$("#volume").hasClass("vertical")) {
 | 
					            Helper.addClass("#volume", "vertical");
 | 
				
			||||||
                $("#volume").addClass("vertical");
 | 
					            Helper.css(".volume-slid", "height", vol + "%");
 | 
				
			||||||
            }
 | 
					            Helper.css(".volume-handle", "bottom", "calc(" + vol + "% - 1px)");
 | 
				
			||||||
            $(".volume-slid").css("height", vol + "%");
 | 
					 | 
				
			||||||
            $(".volume-handle").css("bottom", "calc(" + vol + "% - 1px)");
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        Playercontrols.choose_button(vol, false);
 | 
					        Playercontrols.choose_button(vol, false);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,10 +34,10 @@ var Search = {
 | 
				
			|||||||
    search: function(search_input, retried, related, pagination){
 | 
					    search: function(search_input, retried, related, pagination){
 | 
				
			||||||
        if(result_html === undefined || empty_results_html === undefined) {
 | 
					        if(result_html === undefined || empty_results_html === undefined) {
 | 
				
			||||||
            result_html = $("#temp-results-container");
 | 
					            result_html = $("#temp-results-container");
 | 
				
			||||||
            empty_results_html = $("#empty-results-container").html();
 | 
					            empty_results_html = Helper.html("#empty-results-container");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if(!pagination && $("#inner-results").length == 0) {
 | 
					        if(!pagination && $("#inner-results").length == 0) {
 | 
				
			||||||
            $(".search_results").html('');
 | 
					            Helper.setHtml(".search_results", '');
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if(search_input !== ""){
 | 
					        if(search_input !== ""){
 | 
				
			||||||
            searching = true;
 | 
					            searching = true;
 | 
				
			||||||
@@ -52,11 +52,9 @@ var Search = {
 | 
				
			|||||||
                var vid_url	= "https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key="+api_key+"&id=";
 | 
					                var vid_url	= "https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key="+api_key+"&id=";
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if(!Helper.contains($(".search_loader_spinner").attr("class").split(" "), "active"))
 | 
					 | 
				
			||||||
            $(".search_loader_spinner").addClass("active");
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if(Helper.contains($("#results").attr("class").split(" "), "hide"))
 | 
					            Helper.addClass(".search_loader_spinner", "active");
 | 
				
			||||||
            $("#results").removeClass("hide");
 | 
					            Helper.removeClass("#results", "hide");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Helper.ajax({
 | 
					            Helper.ajax({
 | 
				
			||||||
                type: "GET",
 | 
					                type: "GET",
 | 
				
			||||||
@@ -68,10 +66,10 @@ var Search = {
 | 
				
			|||||||
                    var prevPageToken = response.prevPageToken;
 | 
					                    var prevPageToken = response.prevPageToken;
 | 
				
			||||||
                    if(response.items.length === 0) {
 | 
					                    if(response.items.length === 0) {
 | 
				
			||||||
                        $("#results").empty();
 | 
					                        $("#results").empty();
 | 
				
			||||||
                        $("#results").css("display", "block");
 | 
					                        Helper.css("#results", "display", "block");
 | 
				
			||||||
                        $("<div style='display:none;' id='inner-results' class='empty-inner-results'>"+empty_results_html+"</div>").appendTo($("#results")).show("blind", 83.33);
 | 
					                        $("<div style='display:none;' id='inner-results' class='empty-inner-results'>"+empty_results_html+"</div>").appendTo($("#results")).show("blind", 83.33);
 | 
				
			||||||
                        if(Helper.contains($(".search_loader_spinner").attr("class").split(" "), "active"))
 | 
					                        if(Helper.contains($(".search_loader_spinner").attr("class").split(" "), "active"))
 | 
				
			||||||
                        $(".search_loader_spinner").removeClass("active");
 | 
					                        Helper.removeClass(".search_loader_spinner", "active");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    } else if(response.items){
 | 
					                    } else if(response.items){
 | 
				
			||||||
                        for(var i = 0; i < response.items.length; i++) {
 | 
					                        for(var i = 0; i < response.items.length; i++) {
 | 
				
			||||||
@@ -143,12 +141,12 @@ var Search = {
 | 
				
			|||||||
                                    if(nextPageToken) {
 | 
					                                    if(nextPageToken) {
 | 
				
			||||||
                                        $(".next-results-button").attr("data-pagination", nextPageToken);
 | 
					                                        $(".next-results-button").attr("data-pagination", nextPageToken);
 | 
				
			||||||
                                    } else {
 | 
					                                    } else {
 | 
				
			||||||
                                        $(".next-results-button").addClass("disabled");
 | 
					                                        Helper.addClass(".next-results-button", "disabled");
 | 
				
			||||||
                                    }
 | 
					                                    }
 | 
				
			||||||
                                    if(prevPageToken) {
 | 
					                                    if(prevPageToken) {
 | 
				
			||||||
                                        $(".prev-results-button").attr("data-pagination", prevPageToken);
 | 
					                                        $(".prev-results-button").attr("data-pagination", prevPageToken);
 | 
				
			||||||
                                    } else {
 | 
					                                    } else {
 | 
				
			||||||
                                        $(".prev-results-button").addClass("disabled");
 | 
					                                        Helper.addClass(".prev-results-button", "disabled");
 | 
				
			||||||
                                    }
 | 
					                                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                    $(".pagination-results a").attr("data-original-search", search_input);
 | 
					                                    $(".pagination-results a").attr("data-original-search", search_input);
 | 
				
			||||||
@@ -156,7 +154,7 @@ var Search = {
 | 
				
			|||||||
                                    //setTimeout(function(){$(".thumb").lazyload({container: $("#results")});}, 250);
 | 
					                                    //setTimeout(function(){$(".thumb").lazyload({container: $("#results")});}, 250);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                    if(Helper.contains($(".search_loader_spinner").attr("class").split(" "), "active"))
 | 
					                                    if(Helper.contains($(".search_loader_spinner").attr("class").split(" "), "active"))
 | 
				
			||||||
                                    $(".search_loader_spinner").removeClass("active");
 | 
					                                    Helper.removeClass(".search_loader_spinner", "active");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                    $(".add-many").click(function(e) {
 | 
					                                    $(".add-many").click(function(e) {
 | 
				
			||||||
                                        e.preventDefault();
 | 
					                                        e.preventDefault();
 | 
				
			||||||
@@ -168,7 +166,7 @@ var Search = {
 | 
				
			|||||||
                                } else {
 | 
					                                } else {
 | 
				
			||||||
                                    $("<div style='display:none;' id='inner-results'>"+empty_results_html+"</div>").appendTo($("#results")).show("blind", 83.33);
 | 
					                                    $("<div style='display:none;' id='inner-results'>"+empty_results_html+"</div>").appendTo($("#results")).show("blind", 83.33);
 | 
				
			||||||
                                    if(Helper.contains($(".search_loader_spinner").attr("class").split(" "), "active"))
 | 
					                                    if(Helper.contains($(".search_loader_spinner").attr("class").split(" "), "active"))
 | 
				
			||||||
                                    $(".search_loader_spinner").removeClass("active");
 | 
					                                    Helper.removeClass(".search_loader_spinner", "active");
 | 
				
			||||||
                                }
 | 
					                                }
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        });
 | 
					                        });
 | 
				
			||||||
@@ -176,9 +174,9 @@ var Search = {
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            $(".main").removeClass("blurT");
 | 
					            Helper.removeClass(".main", "blurT");
 | 
				
			||||||
            $("#controls").removeClass("blurT");
 | 
					            Helper.removeClass("#controls", "blurT");
 | 
				
			||||||
            $(".main").removeClass("clickthrough");
 | 
					            Helper.removeClass(".main", "clickthrough");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -209,7 +207,7 @@ var Search = {
 | 
				
			|||||||
                    not_added_song.find(".extra-add-text").attr("title", title + " - " + artist.join(" "));
 | 
					                    not_added_song.find(".extra-add-text").attr("title", title + " - " + artist.join(" "));
 | 
				
			||||||
                    not_added_song.find(".extra-button-search").attr("data-text", title + " - " + artist.join(" "));
 | 
					                    not_added_song.find(".extra-button-search").attr("data-text", title + " - " + artist.join(" "));
 | 
				
			||||||
                    $(".not-imported-container").append(not_added_song.html());
 | 
					                    $(".not-imported-container").append(not_added_song.html());
 | 
				
			||||||
                    $(".not-imported").removeClass("hide");
 | 
					                    Helper.removeClass(".not-imported", "hide");
 | 
				
			||||||
                } else if(response.items.length > 0) {
 | 
					                } else if(response.items.length > 0) {
 | 
				
			||||||
                    for(var i = 0; i < response.items; i++) {
 | 
					                    for(var i = 0; i < response.items; i++) {
 | 
				
			||||||
                        var data = response.items[i];
 | 
					                        var data = response.items[i];
 | 
				
			||||||
@@ -271,7 +269,7 @@ var Search = {
 | 
				
			|||||||
                                    not_added_song.find(".extra-add-text").attr("title", title + " - " + artist.join(" "));
 | 
					                                    not_added_song.find(".extra-add-text").attr("title", title + " - " + artist.join(" "));
 | 
				
			||||||
                                    not_added_song.find(".extra-button-search").attr("data-text", title + " - " + artist.join(" "));
 | 
					                                    not_added_song.find(".extra-button-search").attr("data-text", title + " - " + artist.join(" "));
 | 
				
			||||||
                                    $(".not-imported-container").append(not_added_song.html());
 | 
					                                    $(".not-imported-container").append(not_added_song.html());
 | 
				
			||||||
                                    $(".not-imported").removeClass("hide");
 | 
					                                    Helper.removeClass(".not-imported", "hide");
 | 
				
			||||||
                                }
 | 
					                                }
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
@@ -297,8 +295,8 @@ var Search = {
 | 
				
			|||||||
                Search.submit(data.id, data.title, data.duration, true, i, Search.submitArray.length - 1, 0, data.duration);
 | 
					                Search.submit(data.id, data.title, data.duration, true, i, Search.submitArray.length - 1, 0, data.duration);
 | 
				
			||||||
            });*/
 | 
					            });*/
 | 
				
			||||||
            document.getElementById("import_spotify").disabled = false;
 | 
					            document.getElementById("import_spotify").disabled = false;
 | 
				
			||||||
            $("#import_spotify").removeClass("hide");
 | 
					            Helper.removeClass("#import_spotify", "hide");
 | 
				
			||||||
            $("#playlist_loader_spotify").addClass("hide");
 | 
					            Helper.addClass("#playlist_loader_spotify", "hide");
 | 
				
			||||||
            Search.submitArray = [];
 | 
					            Search.submitArray = [];
 | 
				
			||||||
            Search.submitArrayExpected = null;
 | 
					            Search.submitArrayExpected = null;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -306,14 +304,14 @@ var Search = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    submitAndClose: function(id,title,duration, start, end){
 | 
					    submitAndClose: function(id,title,duration, start, end){
 | 
				
			||||||
        Search.submit(id,title, duration, false, 0, 1, start, end);
 | 
					        Search.submit(id,title, duration, false, 0, 1, start, end);
 | 
				
			||||||
        $("#results").html('');
 | 
					        Helper.setHtml("#results", '');
 | 
				
			||||||
        Search.showSearch();
 | 
					        Search.showSearch();
 | 
				
			||||||
        document.getElementById("search").value = "";
 | 
					        document.getElementById("search").value = "";
 | 
				
			||||||
        $("body").attr("style", "overflow-y:auto")
 | 
					        document.getElementsByTagName("body")[0].setAttribute("style", "overflow-y:auto")
 | 
				
			||||||
        $("#results").html = "";
 | 
					        Helper.setHtml("#results","");
 | 
				
			||||||
        $(".main").removeClass("blurT");
 | 
					        Helper.removeClass(".main", "blurT");
 | 
				
			||||||
        $("#controls").removeClass("blurT");
 | 
					        Helper.removeClass("#controls", "blurT");
 | 
				
			||||||
        $(".main").removeClass("clickthrough");
 | 
					        Helper.removeClass(".main", "clickthrough");
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    importPlaylist: function(pId,pageToken){
 | 
					    importPlaylist: function(pId,pageToken){
 | 
				
			||||||
@@ -367,8 +365,8 @@ var Search = {
 | 
				
			|||||||
                            response.error
 | 
					                            response.error
 | 
				
			||||||
                        ]);
 | 
					                        ]);
 | 
				
			||||||
                        document.getElementById("import").disabled = false;
 | 
					                        document.getElementById("import").disabled = false;
 | 
				
			||||||
                        $("#playlist_loader").addClass("hide");
 | 
					                        Helper.addClass("#playlist_loader", "hide");
 | 
				
			||||||
                        $("#import").removeClass("hide");
 | 
					                        Helper.removeClass("#import", "hide");
 | 
				
			||||||
                        before_toast();
 | 
					                        before_toast();
 | 
				
			||||||
                        M.toast({html: "It seems you've entered a invalid url.", displayLength: 4000});
 | 
					                        M.toast({html: "It seems you've entered a invalid url.", displayLength: 4000});
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
@@ -376,7 +374,7 @@ var Search = {
 | 
				
			|||||||
                }  else {
 | 
					                }  else {
 | 
				
			||||||
                    var ids="";
 | 
					                    var ids="";
 | 
				
			||||||
                    var this_length = 0;
 | 
					                    var this_length = 0;
 | 
				
			||||||
                    if(typeof(response) == "string") response = $.parseJSON(response);
 | 
					                    if(typeof(response) == "string") response = JSON.parse(response);
 | 
				
			||||||
                    //Search.addVideos(response.items[0].contentDetails.videoId);
 | 
					                    //Search.addVideos(response.items[0].contentDetails.videoId);
 | 
				
			||||||
                    //response.items.shift();
 | 
					                    //response.items.shift();
 | 
				
			||||||
                    for(var i = 0; i < response.items.length; i++) {
 | 
					                    for(var i = 0; i < response.items.length; i++) {
 | 
				
			||||||
@@ -421,8 +419,8 @@ var Search = {
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
            error: function() {
 | 
					            error: function() {
 | 
				
			||||||
                document.getElementById("import_spotify").disabled = false;
 | 
					                document.getElementById("import_spotify").disabled = false;
 | 
				
			||||||
                $("#import_spotify").removeClass("hide");
 | 
					                Helper.removeClass("#import_spotify", "hide");
 | 
				
			||||||
                $("#playlist_loader_spotify").addClass("hide");
 | 
					                Helper.addClass("#playlist_loader_spotify", "hide");
 | 
				
			||||||
                before_toast();
 | 
					                before_toast();
 | 
				
			||||||
                M.toast({html: "It seems you've entered a invalid url.", displayLength: 4000});
 | 
					                M.toast({html: "It seems you've entered a invalid url.", displayLength: 4000});
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,8 +12,8 @@ var Suggestions = {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        var to_display = number_suggested > 9 ? "9+" : number_suggested;
 | 
					        var to_display = number_suggested > 9 ? "9+" : number_suggested;
 | 
				
			||||||
        if($(".suggested-link span.badge.new.white").hasClass("hide") && number_suggested > 0 && Admin.logged_in){
 | 
					        if(number_suggested > 0 && Admin.logged_in){
 | 
				
			||||||
            $(".suggested-link span.badge.new.white").removeClass("hide");
 | 
					            Helper.removeClass(".suggested-link span badge new white", "hide");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        $(".suggested-link span.badge.new.white").text(to_display);
 | 
					        $(".suggested-link span.badge.new.white").text(to_display);
 | 
				
			||||||
        if(single){
 | 
					        if(single){
 | 
				
			||||||
@@ -81,9 +81,9 @@ var Suggestions = {
 | 
				
			|||||||
        var length = $("#user-suggest-html").children().length;
 | 
					        var length = $("#user-suggest-html").children().length;
 | 
				
			||||||
        if(length === 0){
 | 
					        if(length === 0){
 | 
				
			||||||
            if(!Helper.contains($("#user_suggests").attr("class").split(" "), "hide"))
 | 
					            if(!Helper.contains($("#user_suggests").attr("class").split(" "), "hide"))
 | 
				
			||||||
            $("#user_suggests").addClass("hide");
 | 
					            Helper.addClass("#user_suggests", "hide");
 | 
				
			||||||
        } else if(Admin.logged_in){
 | 
					        } else if(Admin.logged_in){
 | 
				
			||||||
            $("#user_suggests").removeClass("hide");
 | 
					            Helper.removeClass("#user_suggests", "hide");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,8 +3,8 @@ $(document).ready(function() {
 | 
				
			|||||||
    $(".help-button-footer").hide();
 | 
					    $(".help-button-footer").hide();
 | 
				
			||||||
    $("#contact").modal();
 | 
					    $("#contact").modal();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $("#contact-container").empty();
 | 
					    Helper.setHtml("#contact-container", "");
 | 
				
			||||||
    $("#contact-container").html("Send a mail to us: <a title='Open in client' href='mailto:contact@zoff.me?Subject=Contact%20Zoff'>contact@zoff.me</a>");
 | 
					    Helper.setHtml("#contact-container", "Send a mail to us: <a title='Open in client' href='mailto:contact@zoff.me?Subject=Contact%20Zoff'>contact@zoff.me</a>");
 | 
				
			||||||
    $("#submit-contact-form").hide();
 | 
					    $("#submit-contact-form").hide();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ga('send', 'pageview');
 | 
					    ga('send', 'pageview');
 | 
				
			||||||
@@ -20,7 +20,7 @@ $(document).ready(function() {
 | 
				
			|||||||
        $("#origin").attr("readonly", true);
 | 
					        $("#origin").attr("readonly", true);
 | 
				
			||||||
        $("#email_address").attr("readonly", true);
 | 
					        $("#email_address").attr("readonly", true);
 | 
				
			||||||
        $(".submit").toggleClass("disabled");
 | 
					        $(".submit").toggleClass("disabled");
 | 
				
			||||||
        $(".full-form-token").removeClass("hide");
 | 
					        Helper.removeClass(".full-form-token", "hide");
 | 
				
			||||||
        var captcha_response = grecaptcha.getResponse();
 | 
					        var captcha_response = grecaptcha.getResponse();
 | 
				
			||||||
        Helper.ajax({
 | 
					        Helper.ajax({
 | 
				
			||||||
            type: "POST",
 | 
					            type: "POST",
 | 
				
			||||||
@@ -31,7 +31,7 @@ $(document).ready(function() {
 | 
				
			|||||||
                "g-recaptcha-response": captcha_response,
 | 
					                "g-recaptcha-response": captcha_response,
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            success: function(response) {
 | 
					            success: function(response) {
 | 
				
			||||||
                $(".full-form-token").addClass("hide");
 | 
					                Helper.addClass(".full-form-token", "hide");
 | 
				
			||||||
                if(response == "success") {
 | 
					                if(response == "success") {
 | 
				
			||||||
                    M.toast({html: "Email sent!", displayLength: 3000, classes: "green lighten"});
 | 
					                    M.toast({html: "Email sent!", displayLength: 3000, classes: "green lighten"});
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
@@ -43,7 +43,7 @@ $(document).ready(function() {
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            error: function(response) {
 | 
					            error: function(response) {
 | 
				
			||||||
                $(".full-form-token").addClass("hide");
 | 
					                Helper.addClass(".full-form-token", "hide");
 | 
				
			||||||
                $("#email_address").attr("readonly", false);
 | 
					                $("#email_address").attr("readonly", false);
 | 
				
			||||||
                $(".submit").toggleClass("disabled");
 | 
					                $(".submit").toggleClass("disabled");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user