var connection_options = {
	'sync disconnect on unload':true,
	'secure': true,
	'force new connection': true
};
var socket = io.connect(window.location.protocol + '//' + window.location.hostname + ':8080', connection_options);
$(document).ready(function(){
	 $('ul.tabs').tabs();
 });
$(document).on("click", "#refresh_all", function(e){
	e.preventDefault();
	$("#descriptions_cont").empty();
	$("#thumbnails_cont").empty();
	if(!$(".channel_things").hasClass("hide")) {
		$(".channel_things").addClass("hide")
	}
	$(".preloader-wrapper").removeClass("hide");
	$.ajax({
		type: "GET",
		url: "/api/lists",
		success: function(response){
			var output_pinned = '';
			var output_delete = '';
			for(var x = 0; x < response.length; x++){
				if(response[x].count > 5){
					output_pinned += "";
				}
				output_delete += "";
			}
			$("#frontpage_pinned").html(output_pinned);
			$("#remove_thumbnail").html(output_delete);
			$("#remove_description").html(output_delete);
			$("#delete_list_name").html(output_delete);
			$("#delete_userpass_name").html(output_delete);
			$("#delete_channel_name").html(output_delete);
			$("select").material_select();
			$(".channel_things").removeClass("hide");
			if(!$(".preloader-wrapper").hasClass("hide")) {
		    	$(".preloader-wrapper").addClass("hide");
			}
		}
	});
	$.ajax({
		type: "GET",
		url: "/api/thumbnails",
		success: function(response){
			if(response.length > 0){
				$(".thumbnails-badge").removeClass("hide");
				$(".thumbnails-badge").text(response.length);
			}
			add_to_tab("thumbnails", response);
		}
	});
	$.ajax({
		type: "GET",
		url: "/api/descriptions",
		success: function(response){
			if(response.length > 0){
				$(".descriptions-badge").removeClass("hide");
				$(".descriptions-badge").text(response.length);
			}
			add_to_tab("descriptions", response);
		}
	});
	$("#listeners").empty();
	socket.emit("get_spread");
});
socket.on("spread_listeners", function(obj){
	$("#listeners").append("
Private listeners: " + obj.offline + "
");
	$("#listeners").append("Total listeners: " + obj.total + "
");
	$("#listeners").append("
");
	for(var x in obj.online_users){
		if(obj.online_users[x]._id != "total_users" && obj.online_users[x].hasOwnProperty("users") && obj.online_users[x].users.length > 0){
			$("#listeners").append("" + obj.online_users[x]._id + ": " + obj.online_users[x].users.length + "
");
		}
	}
});
if(!$(".channel_things").hasClass("hide")) {
	$(".channel_things").addClass("hide")
}
$(".preloader-wrapper").removeClass("hide");
$.ajax({
	type: "GET",
	url: "/api/lists",
	success: function(response){
		var output_pinned = '';
		var output_delete = '';
		for(var x = 0; x < response.length; x++){
			if(response[x].count > 5){
				output_pinned += "";
			}
			output_delete += "";
		}
		$("#frontpage_pinned").html(output_pinned);
		$("#remove_thumbnail").html(output_delete);
		$("#remove_description").html(output_delete);
		$("#delete_list_name").html(output_delete);
		$("#delete_userpass_name").html(output_delete);
		$("#delete_channel_name").html(output_delete);
		$("select").material_select();
		if(!$(".preloader-wrapper").hasClass("hide")) {
			$(".preloader-wrapper").addClass("hide")
		}
		$(".channel_things").removeClass("hide");
	}
});
$.ajax({
    type: "GET",
    url: "/api/names",
    success: function(response) {
		for(var i = 0; i < response.length; i++) {
			var icon = "";
			if(response[i].icon && response[i].icon != "") {
				icon = "![" + response[i]._id + "](" + response[i].icon + ") ";
			}
			$(".names-container").append("");
		}
    },
});
$.ajax({
	type: "GET",
	url: "/api/thumbnails",
	success: function(response){
		if(response.length > 0){
			$(".thumbnails-badge").removeClass("hide");
			$(".thumbnails-badge").text(response.length);
		}
		add_to_tab("thumbnails", response);
	}
});
$(document).on("click", ".approve_name", function(e) {
	var that = this;
	var name = $(that).attr("data-name");
	var value = $("." + name + "_input").val();
	$.ajax({
		type: "POST",
		url: "/api/names",
		data: {
			icon: value,
			name: name,
		},
		success: function(resp) {
			if(resp == true) {
				Materialize.toast("Approved image!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	});
});
$(document).on("click", ".thumbnail_link", function(e) {
	e.preventDefault();
	window.open("https:" + this.value,'_blank');
});
$.ajax({
	type: "GET",
	url: "/api/descriptions",
	success: function(response){
		if(response.length > 0){
			$(".descriptions-badge").removeClass("hide");
			$(".descriptions-badge").text(response.length);
		}
		add_to_tab("descriptions", response);
	}
});
function add_to_tab(dest, resp){
	for(var x = 0; x < resp.length; x++){
		if(dest == "thumbnails"){
			$("#" + dest + "_cont").append("");
		} else {
			$("#" + dest + "_cont").append("");
		}
	}
}
$(document).on("click", "#get_token", function(e){
	e.preventDefault();
	$.ajax({
		type: "GET",
		url: "/api/token",
		success: function(response){
			if(response != false){
				$("#new_token").val(response.token);
				$("#get_token").toggleClass("hide");
				$("#remove_token").toggleClass("hide");
			}
		}
	})
});
$(document).on("click", "#get_api_token", function(e){
	e.preventDefault();
	$.ajax({
		type: "GET",
		url: "/api/api_token",
		success: function(response){
			if(response != false){
				$("#new_api_token").val(response.token);
			}
		}
	})
});
$(document).on("click", ".approve_thumbnails", function(e){
	e.preventDefault();
	var channel = $(this).attr("data-channel");
	if(!channel) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	var that = this;
	$.ajax({
		type: "POST",
		url: "/api/approve_thumbnail",
		data: {
			channel: channel
		},
		success: function(response){
			if(response){
				$(that).parent().remove();
				var length = parseInt($(".thumbnails-badge").text());
				length = length - 1;
				$(".thumbnails-badge").text(length);
				if(length <= 0 && !$(".thumbnails-badge").hasClass("hide")){
					$(".thumbnails-badge").addClass("hide");
				}
				Materialize.toast("Approved Thumbnail!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	});
});
$(document).on("click", ".deny_thumbnails", function(e){
	e.preventDefault();
	var channel = $(this).attr("data-channel");
	if(!channel) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	var that = this;
	$.ajax({
		type: "POST",
		url: "/api/deny_thumbnail",
		data: {
			channel: channel
		},
		success: function(response){
			if(response){
				$(that).parent().remove();
				var length = parseInt($(".thumbnails-badge").text());
				length = length - 1;
				$(".thumbnails-badge").text(length);
				if(length <= 0 && !$(".thumbnails-badge").hasClass("hide")){
					$(".thumbnails-badge").addClass("hide");
				}
				Materialize.toast("Denied thumbnail!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	});
});
$(document).on("click", ".approve_descriptions", function(e){
	e.preventDefault();
	var channel = $(this).attr("data-channel");
	if(!channel) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	var that = this;
	$.ajax({
		type: "POST",
		url: "/api/approve_description",
		data: {
			channel: channel
		},
		success: function(response){
			if(response){
				$(that).parent().remove();
				var length = parseInt($(".descriptions-badge").text());
				length = length - 1;
				$(".descriptions-badge").text(length);
				if(length <= 0 && !$(".descriptions-badge").hasClass("hide")){
					$(".descriptions-badge").addClass("hide");
				}
				Materialize.toast("Approved description!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	});
});
$(document).on("click", ".deny_descriptions", function(e){
	e.preventDefault();
	var channel = $(this).attr("data-channel");
	if(!channel) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	var that = this;
	$.ajax({
		type: "POST",
		url: "/api/deny_description",
		data: {
			channel: channel
		},
		success: function(response){
			if(response){
				$(that).parent().remove();
				var length = parseInt($(".descriptions-badge").text());
				length = length - 1;
				$(".descriptions-badge").text(length);
				if(length <= 0 && !$(".descriptions-badge").hasClass("hide")){
					$(".descriptions-badge").addClass("hide");
				}
				Materialize.toast("Denied description!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	});
});
$(document).on("click", "#remove_description_button", function(e){
	e.preventDefault();
	var channel = $("#remove_description").val();
	if(!channel) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	var that = this;
	$.ajax({
		type: "POST",
		url: "/api/remove_description",
		data: {
			channel: channel
		},
		success: function(response){
			if(response){
				Materialize.toast("Removed description!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	});
});
$(document).on("click", "#remove_thumbnail_button", function(e){
	e.preventDefault();
	var channel = $("#remove_thumbnail").val();
	if(!channel) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	var that = this;
	$.ajax({
		type: "POST",
		url: "/api/remove_thumbnail",
		data: {
			channel: channel
		},
		success: function(response){
			if(response){
				Materialize.toast("Removed thumbnail!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	});
});
$(document).on("submit", "#delete_channel", function(e){
	e.preventDefault();
	var to_delete = $("#delete_channel_name").val();
	if(!to_delete) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	var r = confirm("Delete list " + to_delete + "?");
	if (r == true) {
		$.ajax({
			type: "POST",
			url: "/api/delete",
			data: {
				_id: to_delete
			},
			success: function(response){
				if(response == true){
					$.ajax({
						type: "GET",
						url: "/api/lists",
						success: function(response){
							var output_pinned = "";
							var output_delete = "";
							for(var x = 0; x < response.length; x++){
								if(response[x].count > 5){
									output_pinned += "";
								}
								output_delete += "";
							}
							$("#frontpage_pinned").html(output_pinned);
							$("#delete_list_name").html(output_delete);
							$("#delete_userpass_name").html(output_delete);
							$("#delete_channel_name").html(output_delete);
							$("select").material_select();
						}
					});
					Materialize.toast("Deleted channel!", 2000, "green lighten");
				} else {
					Materialize.toast("Something went wrong...", 2000, "red lighten");
				}
			}
		})
	}
});
$(document).on("click", "#delete_channel_button", function(e){
	e.preventDefault();
	$("#delete_channel").submit();
});
$(document).on("click", "#remove_token", function(e){
	e.preventDefault();
	$.ajax({
		type: "GET",
		url: "/api/remove_token",
		success: function(response){
			if(response != false){
				$("#new_token").val("");
				$("#get_token").toggleClass("hide");
				$("#remove_token").toggleClass("hide");
			}
		}
	})
});
$(document).on("submit", "#change_pinned", function(e){
	e.preventDefault();
	var to_pin = $("#frontpage_pinned").val();
	if(!to_pin) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	$.ajax({
		type: "POST",
		url: "/api/pinned",
		data: {
			_id: to_pin
		},
		success: function(response){
			if(response == true){
				Materialize.toast("Pinned channel!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	})
});
$(document).on("click", "#change_pinned_button", function(){
	$("#change_pinned").submit();
});
$(document).on("click", "#delete_admin_button", function(){
	$("#delete_list").submit();
});
$(document).on("click", "#delete_userpass_button", function(){
	$("#delete_userpass").submit();
});
$(document).on("submit", "#delete_list", function(e){
	e.preventDefault();
	var to_remove_password = $("#delete_list_name").val();
	if(!to_remove_password) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	$.ajax({
		type: "POST",
		url: "/api/admin",
		data: {
			_id: to_remove_password
		},
		success: function(response){
			if(response == true){
				Materialize.toast("Removed admin password!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	})
});
$(document).on("submit", "#delete_userpass", function(e){
	e.preventDefault();
	var to_remove_password = $("#delete_userpass_name").val();
	if(!to_remove_password) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	$.ajax({
		type: "POST",
		url: "/api/userpass",
		data: {
			_id: to_remove_password
		},
		success: function(response){
			if(response == true){
				Materialize.toast("Removed userpass password!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	})
});
socket.emit("get_spread");
";
			}
			$(".names-container").append("");
		}
    },
});
$.ajax({
	type: "GET",
	url: "/api/thumbnails",
	success: function(response){
		if(response.length > 0){
			$(".thumbnails-badge").removeClass("hide");
			$(".thumbnails-badge").text(response.length);
		}
		add_to_tab("thumbnails", response);
	}
});
$(document).on("click", ".approve_name", function(e) {
	var that = this;
	var name = $(that).attr("data-name");
	var value = $("." + name + "_input").val();
	$.ajax({
		type: "POST",
		url: "/api/names",
		data: {
			icon: value,
			name: name,
		},
		success: function(resp) {
			if(resp == true) {
				Materialize.toast("Approved image!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	});
});
$(document).on("click", ".thumbnail_link", function(e) {
	e.preventDefault();
	window.open("https:" + this.value,'_blank');
});
$.ajax({
	type: "GET",
	url: "/api/descriptions",
	success: function(response){
		if(response.length > 0){
			$(".descriptions-badge").removeClass("hide");
			$(".descriptions-badge").text(response.length);
		}
		add_to_tab("descriptions", response);
	}
});
function add_to_tab(dest, resp){
	for(var x = 0; x < resp.length; x++){
		if(dest == "thumbnails"){
			$("#" + dest + "_cont").append("");
		} else {
			$("#" + dest + "_cont").append("");
		}
	}
}
$(document).on("click", "#get_token", function(e){
	e.preventDefault();
	$.ajax({
		type: "GET",
		url: "/api/token",
		success: function(response){
			if(response != false){
				$("#new_token").val(response.token);
				$("#get_token").toggleClass("hide");
				$("#remove_token").toggleClass("hide");
			}
		}
	})
});
$(document).on("click", "#get_api_token", function(e){
	e.preventDefault();
	$.ajax({
		type: "GET",
		url: "/api/api_token",
		success: function(response){
			if(response != false){
				$("#new_api_token").val(response.token);
			}
		}
	})
});
$(document).on("click", ".approve_thumbnails", function(e){
	e.preventDefault();
	var channel = $(this).attr("data-channel");
	if(!channel) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	var that = this;
	$.ajax({
		type: "POST",
		url: "/api/approve_thumbnail",
		data: {
			channel: channel
		},
		success: function(response){
			if(response){
				$(that).parent().remove();
				var length = parseInt($(".thumbnails-badge").text());
				length = length - 1;
				$(".thumbnails-badge").text(length);
				if(length <= 0 && !$(".thumbnails-badge").hasClass("hide")){
					$(".thumbnails-badge").addClass("hide");
				}
				Materialize.toast("Approved Thumbnail!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	});
});
$(document).on("click", ".deny_thumbnails", function(e){
	e.preventDefault();
	var channel = $(this).attr("data-channel");
	if(!channel) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	var that = this;
	$.ajax({
		type: "POST",
		url: "/api/deny_thumbnail",
		data: {
			channel: channel
		},
		success: function(response){
			if(response){
				$(that).parent().remove();
				var length = parseInt($(".thumbnails-badge").text());
				length = length - 1;
				$(".thumbnails-badge").text(length);
				if(length <= 0 && !$(".thumbnails-badge").hasClass("hide")){
					$(".thumbnails-badge").addClass("hide");
				}
				Materialize.toast("Denied thumbnail!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	});
});
$(document).on("click", ".approve_descriptions", function(e){
	e.preventDefault();
	var channel = $(this).attr("data-channel");
	if(!channel) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	var that = this;
	$.ajax({
		type: "POST",
		url: "/api/approve_description",
		data: {
			channel: channel
		},
		success: function(response){
			if(response){
				$(that).parent().remove();
				var length = parseInt($(".descriptions-badge").text());
				length = length - 1;
				$(".descriptions-badge").text(length);
				if(length <= 0 && !$(".descriptions-badge").hasClass("hide")){
					$(".descriptions-badge").addClass("hide");
				}
				Materialize.toast("Approved description!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	});
});
$(document).on("click", ".deny_descriptions", function(e){
	e.preventDefault();
	var channel = $(this).attr("data-channel");
	if(!channel) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	var that = this;
	$.ajax({
		type: "POST",
		url: "/api/deny_description",
		data: {
			channel: channel
		},
		success: function(response){
			if(response){
				$(that).parent().remove();
				var length = parseInt($(".descriptions-badge").text());
				length = length - 1;
				$(".descriptions-badge").text(length);
				if(length <= 0 && !$(".descriptions-badge").hasClass("hide")){
					$(".descriptions-badge").addClass("hide");
				}
				Materialize.toast("Denied description!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	});
});
$(document).on("click", "#remove_description_button", function(e){
	e.preventDefault();
	var channel = $("#remove_description").val();
	if(!channel) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	var that = this;
	$.ajax({
		type: "POST",
		url: "/api/remove_description",
		data: {
			channel: channel
		},
		success: function(response){
			if(response){
				Materialize.toast("Removed description!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	});
});
$(document).on("click", "#remove_thumbnail_button", function(e){
	e.preventDefault();
	var channel = $("#remove_thumbnail").val();
	if(!channel) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	var that = this;
	$.ajax({
		type: "POST",
		url: "/api/remove_thumbnail",
		data: {
			channel: channel
		},
		success: function(response){
			if(response){
				Materialize.toast("Removed thumbnail!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	});
});
$(document).on("submit", "#delete_channel", function(e){
	e.preventDefault();
	var to_delete = $("#delete_channel_name").val();
	if(!to_delete) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	var r = confirm("Delete list " + to_delete + "?");
	if (r == true) {
		$.ajax({
			type: "POST",
			url: "/api/delete",
			data: {
				_id: to_delete
			},
			success: function(response){
				if(response == true){
					$.ajax({
						type: "GET",
						url: "/api/lists",
						success: function(response){
							var output_pinned = "";
							var output_delete = "";
							for(var x = 0; x < response.length; x++){
								if(response[x].count > 5){
									output_pinned += "";
								}
								output_delete += "";
							}
							$("#frontpage_pinned").html(output_pinned);
							$("#delete_list_name").html(output_delete);
							$("#delete_userpass_name").html(output_delete);
							$("#delete_channel_name").html(output_delete);
							$("select").material_select();
						}
					});
					Materialize.toast("Deleted channel!", 2000, "green lighten");
				} else {
					Materialize.toast("Something went wrong...", 2000, "red lighten");
				}
			}
		})
	}
});
$(document).on("click", "#delete_channel_button", function(e){
	e.preventDefault();
	$("#delete_channel").submit();
});
$(document).on("click", "#remove_token", function(e){
	e.preventDefault();
	$.ajax({
		type: "GET",
		url: "/api/remove_token",
		success: function(response){
			if(response != false){
				$("#new_token").val("");
				$("#get_token").toggleClass("hide");
				$("#remove_token").toggleClass("hide");
			}
		}
	})
});
$(document).on("submit", "#change_pinned", function(e){
	e.preventDefault();
	var to_pin = $("#frontpage_pinned").val();
	if(!to_pin) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	$.ajax({
		type: "POST",
		url: "/api/pinned",
		data: {
			_id: to_pin
		},
		success: function(response){
			if(response == true){
				Materialize.toast("Pinned channel!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	})
});
$(document).on("click", "#change_pinned_button", function(){
	$("#change_pinned").submit();
});
$(document).on("click", "#delete_admin_button", function(){
	$("#delete_list").submit();
});
$(document).on("click", "#delete_userpass_button", function(){
	$("#delete_userpass").submit();
});
$(document).on("submit", "#delete_list", function(e){
	e.preventDefault();
	var to_remove_password = $("#delete_list_name").val();
	if(!to_remove_password) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	$.ajax({
		type: "POST",
		url: "/api/admin",
		data: {
			_id: to_remove_password
		},
		success: function(response){
			if(response == true){
				Materialize.toast("Removed admin password!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	})
});
$(document).on("submit", "#delete_userpass", function(e){
	e.preventDefault();
	var to_remove_password = $("#delete_userpass_name").val();
	if(!to_remove_password) {
		Materialize.toast("Something went wrong...", 2000, "red lighten");
		return;
	}
	$.ajax({
		type: "POST",
		url: "/api/userpass",
		data: {
			_id: to_remove_password
		},
		success: function(response){
			if(response == true){
				Materialize.toast("Removed userpass password!", 2000, "green lighten");
			} else {
				Materialize.toast("Something went wrong...", 2000, "red lighten");
			}
		}
	})
});
socket.emit("get_spread");