var id_page = "";
var check = 0;
var serv = 0;
var uref = 0;
var time;

$(function() {
	$("#alert").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		zIndex: 3999,
		buttons: {
			Ok: function() { $(this).dialog('close'); }
		}
	});

	$("#valid").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		zIndex: 3999,
		buttons: {
			Ok: function() { $(this).dialog('close'); }
		},
		close: function() {
			if ($("#serv_console").dialog('isOpen')) { dialog_close('serv_console'); }
			else if ($("#serv_maps").dialog('isOpen')) { dialog_close('serv_maps'); serv_maps_uncheckall(); }
			else if ($("#signal").dialog('isOpen')) { dialog_close('signal'); }
			else if ($("#change_pass").dialog('isOpen')) { dialog_close('change_pass'); }
			else if ($("#acces_ftp").dialog('isOpen')) { dialog_close('acces_ftp'); refreshpage('serveurs'); }
			else if ($("#ts_add").dialog('isOpen')) { dialog_close('ts_add'); ts_refresh(); }
			else if ($("#ts_infos").dialog('isOpen')) { dialog_close('ts_infos'); ts_refresh(); }
			else if ($("#serv_infos").dialog('isOpen')) { dialog_close('serv_infos'); refreshpage('serveurs'); }
			else if ($("#user_lost_pass").dialog('isOpen')) { dialog_close('user_lost_pass'); }
			else if ($("#user_send_mail").dialog('isOpen')) { dialog_close('user_send_mail'); }
			else if (ts_serv != 0) { ts_init_refresh_view(); }
			else if (id_page == 'user_infos' && uref != 0) { loadpage('clients'); }
			else if (id_page == 'user_infos') { refreshpage('user_infos'); }
			else if (id_page == 'user_new') { loadpage('accueil'); }
			uref = 0;
		}
	});

	$("#serv_console").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		close: function() { serv = 0; }
	});

	$("#serv_maps").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		close: function() { serv = 0; serv_maps_uncheckall(); }
	});

	$("#signal").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		close: function() { serv = 0; }
	});

	$("#ts_users").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		close: function() { serv = 0; }
	});

	$("#ts_infos").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		close: function() { serv = 0; }
	});

	$("#ts_banlist").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		close: function() { serv = 0; }
	});

	$("#ts_add").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		close: function() { serv = 0; }
	});

	$("#serv_add").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		close: function() { serv = 0; }
	});

	$("#serv_reinstall").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		close: function() { serv = 0; }
	});

	$("#serv_infos").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		close: function() { serv = 0; }
	});

	$("#change_pass").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		close: function() { serv = 0; }
	});

	$("#acces_ftp").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		close: function() { serv = 0; }
	});

	$("#user_lost_pass").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		close: function() { serv = 0; }
	});

	$("#user_send_mail").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		close: function() { serv = 0; }
	});

	$("#pay_add").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true
	});

	$("#pay_edit").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true
	});
});

function loadpage(id) {
	window.clearTimeout(time);

	if (id_page != id) {
		serv = 0;
		check = 0;
		ts_serv = 0;
		vw_serv = 0;

		if (id_page != "clients" && id != "compta") { uref = 0; }

		$.post("load.php", { page: id, ref: uref }, function(data) {
			if (data == "error") {
				jAlert("Cette page est indisponible. Réessayez ultérieurement.", "Information");
			}
			else {
				$('.right_haut').fadeOut('slow');
				$('.rightbk').fadeOut('slow');
				$('.right_bas').fadeOut('slow');

				if ($('#config').is(':visible')) { $('#config').hide('blind', 'slow'); }

				$('#right').fadeOut('slow', function() {
					id_page = id;
					$('#right').html(data);
					$('#right').fadeIn('slow');
					load_login();
				});
			}
		});

		$('#right').ajaxError(function(request, settings){
			jAlert("Une erreur est survenue, rechargez la page.", "Echec");
		});
	}
	else {
		refreshpage(id);
	}
}

function refreshpage(id) {
	window.clearTimeout(time);
	serv = 0;
	check = 0;
	ts_serv = 0;
	vw_serv = 0;

	if (id_page != "clients" && id != "compta") { uref = 0; }

	$.post("load.php", { page: id, ref: uref }, function(data) {
		if (data == "error") {
			jAlert("Cette page est indisponible. Réessayez ultérieurement.", "Information");
		}
		else {
			$('#right').html(data);
			load_login();
		}
	});

	$('#right').ajaxError(function(request, settings){
		jAlert("Une erreur est survenue, rechargez la page.", "Echec");
	});
}

function error(msg) {
	$('#alert').html('<p>'+msg+'</p>');
	dialog_open('alert');
}

function valid(msg) {
	$('#valid').html('<p>'+msg+'</p>');
	dialog_open('valid');
}

function dialog_open(id) {
	$('#'+id).dialog('open');
}

function dialog_close(id) {
	$('#'+id).dialog('close');
	serv = 0;
	uref = 0;
}

function signal(id) {
	serv = $("#ref_"+id).html();
	$('#probleme').val('');
	dialog_open('signal');
}

function send_probleme() {
	if ($.trim($('#probleme').val()) != '') {
		$.post("signal.php", {
				probleme: $.trim($('#probleme').val()),
				serveur: serv
			},
			function(data){
				if (data == "ok") { valid('Problème signalé avec succès.'); $('#probleme').val(''); }
				else { error('Impossible de signaler le problème, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }
			}
		);
	}

	return false;
}

function load_login() {
	$.post("login.php",
		function(data){
			$("#login").html(data);
		}
	);
}

function login() {
	if ($.trim($('#user_id').val()) == "" || $.trim($('#user_id').val()).length != 4 || !is_numeric($.trim($('#user_id').val()))) { error('Merci de saisir un Identifiant correct.<br />(4 chiffres)'); }
	else if ($.trim($('#user_mdp').val()) == "") { error('Merci de saisir votre Mot de passe.'); }
	else {
		$("#login_form").hide();
		$("#login_load").show();

		$.post("login.php", {
				ref: $.trim($('#user_id').val()),
				pass: $.trim($('#user_mdp').val())
			},
			function(data){
				if (data != "ok") {
					error('Echec de la connexion.<br /><br />#Error# : '+data);
					$('#user_mdp').val('');
					$("#login_load").hide();
					$("#login_form").show();
				}
				else { window.location="http://managerv4.fkclan.fr/"; }
			}
		);
	}

	return false;
}

function logout() {
	window.clearTimeout(time);
	$("#login").html('<p style="margin: 0;"><img src="images/loading.gif" title="Déconnexion..." /><br /><br /><small>Déconnexion...</small></p>');

	$.post("login.php", {
			op: "logout"
		},
		function(data){
			window.location="http://managerv4.fkclan.fr/";
		}
	);
}

function is_numeric(num) {
	var exp = new RegExp("^[0-9.]*$","g");

	if (num == "") { return true; }
	else { return exp.test(num); }
}

function is_email(mail) {
	var verif = /^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;

	if (verif.exec(mail) == null) {	return false; }
	else { return true; }	
}

function is_date(date) {
	var verif = /^([0-9]{2})\/([0-9]{2})\/([0-9]{4})$/;

	if (verif.exec(date) == null) {	return false; }
	else { return true; }	
}

function ucfirst(str) {
	str = str.toLowerCase() + '';
    var f = str.charAt(0).toUpperCase();
    return f + str.substr(1);
}

function ucwords(str) {
	str = str.toLowerCase();
    return (str+'').replace(/^(.)|\s(.)/g, function ( $1 ) { return $1.toUpperCase( ); } );
}

function contact() {
	if ($.trim($('#contact_nom').val()) == "") { error('Merci de saisir votre Nom.'); }
	else if (!is_email($.trim($('#contact_email').val()))) { error('Merci de saisir une adresse Email valide.'); }
	else if ($.trim($('#contact_objet').val()) == "") { error('Merci de saisir un Objet.'); }
	else if ($.trim($('#contact_message').val()) == "") { error('Merci de saisir votre Message.'); }
	else {
		$("#contact_submit").attr("disabled","disabled");

		$.post("send_mail.php", {
				nom: $.trim($('#contact_nom').val()),
				email: $.trim($('#contact_email').val()),
				objet: $.trim($('#contact_objet').val()),
				message: $.trim($('#contact_message').val())
			},
			function(data){
				if (data == "ok")
				{
					valid('Message envoyé avec succès. Nous vous répondrons dans les plus brefs délais.');
					loadpage('accueil');
				}
				else
				{
					error('Une erreur est survenue.<br /><br />#Error# : '+data);
					$("#contact_submit").attr("disabled","disabled");
				}
			}
		);
	}

	return false;
}


/* User */

function modif_pass() {
	serv = 1;
	$('#user_new_pass').val('');
	$('#user_new_pass2').val('');
	dialog_open('change_pass');
}

function change_pass() {
	if ($.trim($('#user_new_pass').val()) == "" && uref == 0) { error('Merci de saisir un Nouveau mot de passe.'); }
	else if ($.trim($('#user_new_pass').val()) != $.trim($('#user_new_pass2').val()) && uref == 0) { error('Les deux Mot de passe saisis ne sont pas identiques !'); }
	else {
		$.post("change_pass.php", {
				pass: $.trim($('#user_new_pass').val()),
				ref: uref
			},
			function(data){
				if (data == "ok") { valid('Mot de passe changé avec succès.'); }
				else { error('Impossible de changer le mot de passe, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }
			}
		);
	}

	return false;
}

function user_edit_infos(id) {
	if ($.trim($('#user_lastname').val()) == "" && uref == 0) { error('Merci de saisir votre Nom.'); }
	else if ($.trim($('#user_firstname').val()) == "" && uref == 0) { error('Merci de saisir votre Prénom.'); }
	else if (!is_date($.trim($('#user_birthday').val())) && uref == 0) { error('Merci de saisir une Date de naissance valide.'); }
	else if ($.trim($('#user_address').val()) == "" && uref == 0) { error('Merci de saisir votre Adresse.'); }
	else if ($.trim($('#user_postal_code').val()) == "" && uref == 0) { error('Merci de saisir votre Code postal.'); }
	else if ($.trim($('#user_city').val()) == "" && uref == 0) { error('Merci de saisir votre Ville.'); }
	else if ($.trim($('#user_country').val()) == "" && uref == 0) { error('Merci de saisir votre Pays.'); }
	else if ($.trim($('#user_phone').val()) == "" && uref == 0) { error('Merci de saisir votre numéro de Téléphone.'); }
	else if ($.trim($('#user_mail').val()) == "" && uref == 0) { error('Merci de saisir votre adresse Email.'); }
	else if (!is_email($.trim($('#user_mail').val()))) { error('Merci de saisir une adresse Email valide.'); }
	else if (!is_email($.trim($('#user_msn').val())) && $.trim($('#user_msn').val()) != "") { error('Merci de saisir une adresse MSN valide.'); }
	else {
		$.post("user_edit_infos.php", {
				pseudo: $.trim($('#user_nick').val()),
				nom: $.trim($('#user_lastname').val()),
				prenom: $.trim($('#user_firstname').val()),
				naissance: $.trim($('#user_birthday').val()),
				adresse: $.trim($('#user_address').val()),
				cp: $.trim($('#user_postal_code').val()),
				ville: $.trim($('#user_city').val()),
				pays: $.trim($('#user_country').val()),
				telephone: $.trim($('#user_phone').val()),
				email: $.trim($('#user_mail').val()),
				msn: $.trim($('#user_msn').val()),
				xfire: $.trim($('#user_xfire').val()),
				team: $.trim($('#user_team').val()),
				ref: uref
			},
			function(data){
				if (data == "ok") { valid('Modifications effectuées avec succès.'); }
				else { error('Impossible de modifier les infos, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }
			}
		);
	}

	return false;
}

function user_add() {
	if ($.trim($('#user_new_lastname').val()) == "") { error('Merci de saisir votre Nom.'); }
	else if ($.trim($('#user_new_firstname').val()) == "") { error('Merci de saisir votre Prénom.'); }
	else if ($.trim($('#user_new_mdp').val()) == "") { error('Merci de saisir un Mot de passe.'); }
	else if ($.trim($('#user_new_mdp').val()) != $.trim($('#user_new_mdp2').val())) { error('Les deux Mot de passe saisis ne sont pas identiques !'); }
	else if ($.trim($('#user_new_birthday').val()) == "") { error('Merci de saisir votre Date de naissance.'); }
	else if ($.trim($('#user_new_address').val()) == "") { error('Merci de saisir votre Adresse.'); }
	else if ($.trim($('#user_new_postal_code').val()) == "") { error('Merci de saisir votre Code postal.'); }
	else if ($.trim($('#user_new_city').val()) == "") { error('Merci de saisir votre Ville.'); }
	else if ($.trim($('#user_new_country').val()) == "") { error('Merci de saisir votre Pays.'); }
	else if ($.trim($('#user_new_phone').val()) == "") { error('Merci de saisir votre numéro de Téléphone.'); }
	else if ($.trim($('#user_new_mail').val()) == "") { error('Merci de saisir votre adresse Email.'); }
	else if (!is_email($.trim($('#user_new_mail').val()))) { error('Merci de saisir une adresse Email valide.'); }
	else if (!is_email($.trim($('#user_new_msn').val())) && $.trim($('#user_new_msn').val()) != "") { error('Merci de saisir une adresse MSN valide.'); }
	else {
		$.post("user_add.php", {
				pseudo: $.trim($('#user_new_nick').val()),
				nom: $.trim($('#user_new_lastname').val()),
				prenom: $.trim($('#user_new_firstname').val()),
				pass: $.trim($('#user_new_mdp').val()),
				naissance: $.trim($('#user_new_birthday').val()),
				adresse: $.trim($('#user_new_address').val()),
				cp: $.trim($('#user_new_postal_code').val()),
				ville: $.trim($('#user_new_city').val()),
				pays: $.trim($('#user_new_country').val()),
				telephone: $.trim($('#user_new_phone').val()),
				email: $.trim($('#user_new_mail').val()),
				msn: $.trim($('#user_new_msn').val()),
				xfire: $.trim($('#user_new_xfire').val()),
				team: $.trim($('#user_new_team').val())
			},
			function(data){
				if (data == "ok") { valid('Compte client créé avec succès.<br />Vous allez recevoir un email contenant votre référence client et un lien d\'activation pour votre compte.'); }
				else { error('Impossible de créer le compte, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }
			}
		);
	}

	return false;
}

function user_lost_pass() {
	serv = 1;
	$('#user_email').val('');
	dialog_open('user_lost_pass');
}

function user_new_pass() {
	if ($.trim($('#user_email').val()) == "") { error('Merci de saisir votre adresse Email.'); }
	else if (!is_email($.trim($('#user_email').val()))) { error('Merci de saisir une adresse Email valide.'); }
	else {
		$.post("user_new_pass.php", {
				email: $.trim($('#user_email').val())
			},
			function(data){
				if (data == "ok") { valid('Votre nouveau mot de passe vient de vous être envoyé par email. Consultez votre boîte.'); }
				else { error('Impossible d\'envoyer votre nouveau mot de passe, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }
			}
		);
	}

	return false;
}

function user_lock(id) {
	serv = id;
	$("#accordion").accordion( 'activate' , false ) 
	$("#accordion").accordion( 'disable' );
	$("#pseudo_"+id).html('<img src="images/loading_status.gif" title="Veuillez patienter..." />');

	$.post("user_lock.php", {
			ref: serv
		},
		function(data){
			if (data != "ok") { error('Impossible d\'exécuter la commande, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

			refreshpage('clients');
		}
	);
}

function user_lock_all(etat) {
	$("#accordion").accordion( 'activate' , false ) 
	$("#accordion").accordion( 'disable' );
	$("#refresh").show();

	$.post("user_lock_all.php", {
			lock: etat
		},
		function(data){
			if (data == "ok") { refreshpage('clients'); }
			else {
				error('Impossible d\'exécuter la commande, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data);

				$("#accordion").accordion( 'enable' );
				$("#refresh").hide();
				serv = 0;
			}
		}
	);
}

function user_delete(id) {
	jConfirm("&Ecirc;tes vous sûr de vouloir supprimer ce compte client ?", "Confirmation", function(reponse) {
		if (reponse) {
			var pseudo = $("#pseudo_"+id).html();
			serv = id;
			
			$("#accordion").accordion( 'activate' , false ) 
			$("#accordion").accordion( 'disable' );
			$("#pseudo_"+id).html('<img src="images/loading_status.gif" title="Veuillez patienter..." />');

			$.post("user_delete.php", {
					ref: serv
				},
				function(data){
					if (data == "ok") { refreshpage('clients'); }
					else {
						error('Impossible d\'exécuter la commande, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data);
						$("#pseudo_"+id).html(pseudo);
						$("#accordion").accordion( 'enable' );
						serv = 0;
					}
				}
			);
		}
	});
}

function user_send_mail(id) {
	serv = $("#email_"+id).html();
	$('#m_obj').val('');
	$('#m_msg').val('');
	dialog_open('user_send_mail');
}

function do_user_send_mail() {
	if ($.trim($('#m_obj').val()) == "") { error('Merci de saisir un Objet.'); }
	else if ($.trim($('#m_msg').val()) == "") { error('Merci de saisir un Message.'); }
	else {
		$.post("user_send_mail.php", {
				msg: $.trim($('#m_msg').val()),
				obj: $.trim($('#m_obj').val()),
				mail: serv
			},
			function(data){
				if (data == "ok") { valid('Email envoyé avec succès.'); }
				else { error('Impossible d\'envoyer l\'email, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }
			}
		);
	}

	return false;
}

/* Serveurs */

function serv_refresh() {
	if (serv == 0) {
		window.clearTimeout(time);
		serv = 1;
		$("#refresh").show();
		$("#accordion").accordion( 'activate' , false );
		$("#accordion").accordion( 'disable' );
		time = setTimeout("refreshpage('serveurs');", 500);
	}
	else { time = setTimeout("serv_refresh();", 10000); }
}

function serv_console(id) {
	if ($('#status_'+id).text() == 'on') {
		serv = $('#ref_'+id).html();
		$('#cmd').val('');
		dialog_open('serv_console');
	}
	else {
		jAlert('Accès console impossible : <span style="color: red"><b>server is off</b></span>.', 'Erreur');
	}
}

function serv_send_command() {
	if ($.trim($('#cmd').val()) != '') {
		$.post("serv_console.php", {
				commande: $.trim($('#cmd').val()),
				serveur: serv
			},
			function(data){
				if (data == "ok") { valid('Commande exécutée avec succès.'); $('#cmd').val(''); }
				else { error('Impossible d\'exécuter la commande, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }
			}
		);
	}

	return false;
}

function serv_power(id) {
	serv = $("#ref_"+id).html();
	$("#accordion").accordion( 'activate' , false ) 
	$("#accordion").accordion( 'disable' );
	$("#status_"+id).html('<img src="images/loading_status.gif" title="Veuillez patienter..." />');

	$.post("serv_power.php", {
			serveur: serv
		},
		function(data){
			if (data == "error") { error('Impossible d\'exécuter la commande, réessayez ou contactez l\'assistance.'); }
			else { $("#status_"+id).html(data); }

			$("#accordion").accordion( 'enable' );
			serv = 0;
		}
	);
}

function serv_status() {
	if (id_page == "serveurs") {
		window.clearTimeout(time);

		if (serv == 0) {
			check++;
			
			if ($("#ref_"+check).size()) {
				$("#refresh").show();

				$.post("serv_status.php", {
						serveur: $("#ref_"+check).html()
					},
					function(data){
						if (id_page == "serveurs") {
							$("#status_"+check).html(data);

							if (data == "<b>error</b>") { serv = 0; serv_refresh(); }
							else { serv_status(); }
						}
					}
				);
			}
			else {
				check = 0;
				$("#refresh").hide();

				time = setTimeout("serv_status();", 10000);
			}
		}
		else {
			time = setTimeout("serv_status();", 5000);
		}
	}
	else { check = 0; }
}

function serv_maps(id) {
	serv = $("#ref_"+id).html();

	$("#serv_maps").html('<p style="text-align: center;"><br /><br /><img src="images/loading.gif" title="Chargement de la liste des maps..." /><br /><br /><small>Chargement de la liste des maps...</small></p>');

	dialog_open('serv_maps');

	$.post("serv_list_maps.php", {
			serveur: serv,
			addon: $("#serv_addon_"+id).html(),
			jeu: $("#serv_game_"+id).html()
		},
		function(data){
			$("#serv_maps").html(data);
		}
	);
}

function serv_install_maps() {
	var liste = new Array();
	$(":checked").each(function() {	liste.push($(this).val()); } );

	if (liste.length > 0) {
		var post = $('#listmaps').serialize();
		var code = $('#serv_maps').html();

		$("#serv_maps").html('<p style="text-align: center;"><br /><br /><img src="images/loading.gif" title="Installation des maps..." /><br /><br /><small>Installation des maps...</small></p>');

		$.post("serv_install_maps.php", post,
			function(data){
				if (data == "ok") { valid('Maps installées avec succès.'); }
				else { error('Impossible d\'installer les maps demandées, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

				$("#serv_maps").html(code);
				serv = 0;
			}
		);
	}

	return false;
}

function serv_maps_checkall() {
	$(":checkbox").each(function() { $(this).attr("checked","checked"); } );
}

function serv_maps_uncheckall() {
	$(":checkbox").each(function() { $(this).attr("checked",""); } );
}

function serv_view(id) {
	if ($('#status_'+id).text() == 'on') {
		window.clearTimeout(time);
		serv = $("#ref_"+id).html();

		$.post("serv_view.php", {
				serveur: serv
			},
			function(data){
				$('.right_haut').fadeOut('slow');
				$('.rightbk').fadeOut('slow');
				$('.right_bas').fadeOut('slow');

				if ($('#config').is(':visible')) { $('#config').hide('blind', 'slow'); }

				$('#right').fadeOut('slow', function() {
					$('#right').html(data);
					$('#right').fadeIn('slow');
					id_page = 'serv_view';
				});
			}
		);
	}
	else {
		jAlert('Accès Server Viewer impossible : <span style="color: red"><b>server is off</b></span>.', 'Erreur');
	}
}

function serv_init_refresh_view() {
	window.clearTimeout(time);
	$("#refresh").show();
	time = setTimeout("serv_refresh_view();", 500);
}

function serv_refresh_view() {
	window.clearTimeout(time);

	$.post("serv_view.php", {
			serveur: vw_serv
		},
		function(data){
			$('#right').html(data);
		}
	);
}

function serv_infos(id) {
	serv = $("#ref_"+id).html();

	$("#serv_infos").html('<p style="text-align: center;"><br /><br /><img src="images/loading.gif" title="Chargement des informations serveur..." /><br /><br /><small>Chargement des informations serveur...</small></p>');

	dialog_open('serv_infos');

	$.post("serv_infos.php", {
			serveur: serv
		},
		function(data){
			$("#serv_infos").html(data);
		}
	);
}

function serv_edit_infos(id) {
	if ($.trim($('#serv_name').val()) == "") { error('Merci de saisir un Nom de serveur.'); }
	else if ($.trim($('#serv_slots').val()) < 2 || $.trim($('#serv_slots').val()) > 100) { error('Merci de saisir un nombre de Slots compris entre 2 et 100.'); }
	else {
		$.post("serv_edit_infos.php", {
				serveur: serv,
				ref: $.trim($('#serv_user').val()),
				name: $.trim($('#serv_name').val()),
				slots: $('#serv_slots').val()
			},
			function(data){
				if (data == "ok") { valid('Modifications effectuées avec succès.'); }
				else { error('Impossible de modifier les infos, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }
			}
		);
	}

	return false;
}

function serv_delete(id) {
	if ($('#status_'+id).text() == 'off' || $('#status_'+id).text() == '') {
		jConfirm("&Ecirc;tes vous sûr de vouloir supprimer ce serveur ?", "Confirmation", function(reponse) {
			if (reponse) {
				var etat = $("#status_"+id).html();
				serv = $("#ref_"+id).html();
				
				$("#accordion").accordion( 'activate' , false ) 
				$("#accordion").accordion( 'disable' );
				$("#status_"+id).html('<img src="images/loading_status.gif" title="Veuillez patienter..." />');

				$.post("serv_delete.php", {
						serveur: serv
					},
					function(data){
						if (data == "ok") { refreshpage('serveurs'); }
						else {
							error('Impossible d\'exécuter la commande, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data);
							$("#status_"+id).html(etat);
							$("#accordion").accordion( 'enable' );
							serv = 0;
						}
					}
				);
			}
		});
	}
	else {
		jAlert('Accès refusé : <span style="color: red"><b>server is on</b></span>.', 'Erreur');
	}
}

function serv_add() {
	serv = 1;

	$("#serv_add").html('<p style="text-align: center;"><br /><br /><img src="images/loading.gif" title="Chargement de la liste des jeux..." /><br /><br /><small>Chargement de la liste des jeux...</small></p>');

	dialog_open('serv_add');

	$.post("serv_add.php",
		function(data){
			$("#serv_add").html(data);
		}
	);
}

function serv_do_add() {
	var user = $.trim($('#serv_new_user').val());
	var nom = $.trim($('#serv_new_name').val());
	var game = $.trim($('#serv_new_game').val());
	var mod = $.trim($('#serv_new_addon').val());
	var maxusers = $.trim($('#serv_new_slots').val());

	if (nom == "") { error('Merci de saisir un Nom de serveur.'); }
	else if (game == "") { error('Merci de sélectionner un Jeu.'); }
	else if (maxusers < 2 || maxusers > 100) { error('Merci de saisir un nombre de Slots compris entre 2 et 100.'); }
	else {
		$("#serv_add").html('<p style="text-align: center;"><br /><br /><img src="images/loading.gif" title="Création du serveur en cours..." /><br /><br /><small>Création du serveur en cours...</small></p>');

		$.post("serv_add.php", {
				ref: user,
				name: nom,
				jeu: game,
				addon: mod,
				slots: maxusers
			},
			function(data){
				if (data == "ok") { valid('Serveur créé avec succès.'); }
				else { error('Impossible de créer le serveur, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

				dialog_close('serv_add'); 
				refreshpage('serveurs');
			}
		);
	}

	return false;
}

function serv_lock(id) {
	serv = $("#ref_"+id).html();
	$("#accordion").accordion( 'activate' , false ) 
	$("#accordion").accordion( 'disable' );
	$("#status_"+id).html('<img src="images/loading_status.gif" title="Veuillez patienter..." />');

	$.post("serv_lock.php", {
			serveur: serv
		},
		function(data){
			if (data == "ok") { refreshpage('serveurs'); }
			else { error('Impossible d\'exécuter la commande, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

			$("#accordion").accordion( 'enable' );
			serv = 0;
		}
	);
}

function serv_lock_all(etat) {
	$("#accordion").accordion( 'activate' , false ) 
	$("#accordion").accordion( 'disable' );
	$("#refresh").show();

	$.post("serv_lock_all.php", {
			lock: etat
		},
		function(data){
			if (data == "ok") { refreshpage('serveurs'); }
			else {
				error('Impossible d\'exécuter la commande, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data);

				$("#accordion").accordion( 'enable' );
				$("#refresh").hide();
				serv = 0;
			}
		}
	);
}

function serv_ftp(id, pass) {
	serv = $("#ref_"+id).html();

	$("#username").val("s"+serv);
	$("#password").val(pass);
	$.post("serv_ftp.php", { serveur: serv });
	$("#ftp_form").submit();
	$("#username").val("");
	$("#password").val("");

	serv = 0;
}

function serv_ftp_pass(id, pass) {
	serv = $("#ref_"+id).html();
	$('#ftp_login').html('s'+serv);
	$('#ftp_pass').html(pass);
	$('#ftp_new_pass').val('');
	$('#ftp_new_pass2').val('');
	dialog_open('acces_ftp');
}

function change_ftp_pass() {
	if ($.trim($('#ftp_new_pass').val()) == "") { error('Merci de saisir un Nouveau mot de passe.'); }
	else if ($.trim($('#ftp_new_pass').val()).length < 6) { error('Le Nouveau mot de passe doit comporter au moins 6 caractères.'); }
	else if ($.trim($('#ftp_new_pass').val()) != $.trim($('#ftp_new_pass2').val())) { error('Les deux Mot de passe saisis ne sont pas identiques !'); }
	else {
		$.post("change_ftp_pass.php", {
				serveur: serv,
				pass: $.trim($('#ftp_new_pass').val())
			},
			function(data){
				if (data == "ok") { valid('Mot de passe changé avec succès.'); }
				else { error('Impossible de changer le mot de passe, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }
			}
		);
	}

	return false;
}

function serv_reinstall(id) {
	if ($('#status_'+id+' span').hasClass("lock")) {
		serv = $("#ref_"+id).html();

		$("#serv_reinstall").html('<p style="text-align: center;"><br /><br /><img src="images/loading.gif" title="Chargement de la liste des jeux..." /><br /><br /><small>Chargement de la liste des jeux...</small></p>');

		dialog_open('serv_reinstall');

		$.post("serv_reinstall.php", {
				serveur: serv
			},
			function(data){
				$("#serv_reinstall").html(data);
			}
		);
	}
	else {
		jAlert('Accès refusé : <span style="color: red"><b>server is on or not locked</b></span>.', 'Erreur');
	}
}

function serv_do_reinstall() {
	var game = $.trim($('#serv_renew_game').val());
	var mod = $.trim($('#serv_renew_addon').val());

	if (game == "") { error('Merci de sélectionner un Jeu.'); }
	else {
		$("#serv_reinstall").html('<p style="text-align: center;"><br /><br /><img src="images/loading.gif" title="Réinstallation du serveur en cours..." /><br /><br /><small>Réinstallation du serveur en cours...</small></p>');

		$.post("serv_reinstall.php", {
				serveur: serv,
				jeu: game,
				addon: mod
			},
			function(data){
				if (data == "ok") { valid('Serveur réinstallé avec succès.'); }
				else { error('Impossible de réinstaller le serveur, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

				dialog_close('serv_reinstall'); 
				refreshpage('serveurs');
			}
		);
	}

	return false;
}


/* TeamSpeak */

function ts_refresh() {
	if (serv == 0) {
		window.clearTimeout(time);
		serv = 1;
		$("#refresh").show();
		$("#accordion").accordion( 'activate' , false );
		$("#accordion").accordion( 'disable' );
		time = setTimeout("refreshpage('teamspeak');", 500);
	}
	else { time = setTimeout("ts_refresh();", 10000); }
}

function ts_power(id) {
	var etat = $("#status_"+id).html();
	serv = $("#ref_"+id).html();
	
	$("#accordion").accordion( 'activate' , false ) 
	$("#accordion").accordion( 'disable' );
	$("#status_"+id).html('<img src="images/loading_status.gif" title="Veuillez patienter..." />');

	$.post("ts_power.php", {
			status: etat,
			serveur: serv,
			sid: id
		},
		function(data){
			if (data == "ok") { refreshpage('teamspeak'); }
			else {
				error('Impossible d\'exécuter la commande, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data);
				$("#status_"+id).html(etat);
				$("#accordion").accordion( 'enable' );
				serv = 0;
			}
		}
	);
}

function ts_users(id) {
	$("#ts_users").html('<p style="text-align: center;"><br /><br /><img src="images/loading.gif" title="Chargement de la liste des comptes..." /><br /><br /><small>Chargement de la liste des comptes...</small></p>');

	if (serv == 0) {
		serv = $("#ref_"+id).html();
		dialog_open('ts_users');
	}

	$.post("ts_users.php", {
			serveur: serv
		},
		function(data){
			$("#ts_users").html(data);
		}
	);
}

function ts_add_user() {
	$.post("ts_users.php", {
			serveur: serv,
			op: "add"
		},
		function(data){
			$("#ts_users").html(data);
		}
	);
}

function ts_do_add_user() {
	var sa = 0;

	if ($.trim($('#nick').val()) == "") { error('Merci de saisir un Pseudo.'); }
	else if ($.trim($('#pass').val()) == "") { error('Merci de saisir un Password.'); }
	else if ($.trim($('#pass').val()) != $.trim($('#pass2').val())) { error('Les deux Password ne sont pas identiques !'); }
	else {
		if ($('#admin:checked').val() == 'on') { sa = 1; }

		$.post("ts_users.php", {
				serveur: serv,
				op: "do_add",
				uname: $.trim($('#nick').val().replace(' ','_')),
				upass: $.trim($('#pass').val()),
				usa: sa
			},
			function(data){
				if (data == "ok") { valid('Compte ajouté avec succès.'); }
				else { error('Impossible d\'ajouter le compte, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

				ts_users(0);
			}
		);
	}

	return false;
}

function ts_edit_user(id) {
	$.post("ts_users.php", {
			serveur: serv,
			op: "edit",
			uid: id
		},
		function(data){
			$("#ts_users").html(data);
		}
	);
}

function ts_do_edit_user(id) {
	var stop = false;
	var sa = 0;

	if ($.trim($('#pass').val()) != "" && $.trim($('#pass').val()) != $.trim($('#pass2').val())) { error('Les deux Password ne sont pas identiques !'); stop = true; }

	if (!stop) {
		if ($('#admin:checked').val() == 'on') { sa = 1; }

		$.post("ts_users.php", {
				serveur: serv,
				op: "do_edit",
				uid: id,
				upass: $.trim($('#pass').val()),
				usa: sa
			},
			function(data){
				if (data == "ok") { valid('Edition effectuée avec succès.'); }
				else { error('Impossible d\'éditer le compte, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

				ts_users(0);
			}
		);
	}

	return false;
}

function ts_delete_user(id) {
	jConfirm("&Ecirc;tes vous sûr de vouloir supprimer ce compte ?", "Confirmation", function(reponse) {
		if (reponse) {
			$.post("ts_users.php", {
					serveur: serv,
					op: "delete",
					uid: id
				},
				function(data){
					if (data == "ok") { valid('Compte supprimé avec succès.'); }
					else { error('Impossible de supprimer le compte, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

					ts_users(0);
				}
			);
		}
	});
}

function ts_infos(id) {
	serv = $("#ref_"+id).html();

	$("#ts_infos").html('<p style="text-align: center;"><br /><br /><img src="images/loading.gif" title="Chargement des informations serveur..." /><br /><br /><small>Chargement des informations serveur...</small></p>');

	dialog_open('ts_infos');

	$.post("ts_infos.php", {
			serveur: serv
		},
		function(data){
			$("#ts_infos").html(data);
		}
	);
}

function ts_edit_infos(id) {
	if ($.trim($('#ts_name').val()) == "") { error('Merci de saisir un Nom de serveur.'); }
	else if ($.trim($('#welcome_msg').val()) == "") { error('Merci de saisir un Message de bienvenue.'); }
	else {
		$.post("ts_edit_infos.php", {
				serveur: serv,
				name: $.trim($('#ts_name').val()),
				msg: $.trim($('#welcome_msg').val()),
				pass: $.trim($('#ts_pass').val()),
				type: $("input[name='ts_type']:checked").val(),
				ref: $('#ts_serv_user').val(),
				slots: $('#ts_maxusers').val()
			},
			function(data){
				if (data == "ok") { valid('Modifications effectuées avec succès.'); }
				else { error('Impossible de modifier les infos, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }
			}
		);
	}

	return false;
}

function ts_delete(id) {
	jConfirm("&Ecirc;tes vous sûr de vouloir supprimer ce serveur ?", "Confirmation", function(reponse) {
		if (reponse) {
			var etat = $("#status_"+id).html();
			serv = $("#ref_"+id).html();
			
			$("#accordion").accordion( 'activate' , false ) 
			$("#accordion").accordion( 'disable' );
			$("#status_"+id).html('<img src="images/loading_status.gif" title="Veuillez patienter..." />');

			$.post("ts_delete.php", {
					serveur: serv,
					sid: id
				},
				function(data){
					if (data == "ok") { refreshpage('teamspeak'); }
					else {
						error('Impossible d\'exécuter la commande, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data);
						$("#status_"+id).html(etat);
						$("#accordion").accordion( 'enable' );
						serv = 0;
					}
				}
			);
		}
	});
}

function ts_view(id) {
	window.clearTimeout(time);
	serv = $("#ref_"+id).html();

	$.post("ts_view.php", {
			serveur: serv
		},
		function(data){
			$('.right_haut').fadeOut('slow');
			$('.rightbk').fadeOut('slow');
			$('.right_bas').fadeOut('slow');

			$('#right').fadeOut('slow', function() {
				$('#right').html(data);
				$('#right').fadeIn('slow');
				id_page = 'ts_view';
			});
		}
	);
}

function ts_init_refresh_view() {
	window.clearTimeout(time);
	$("#refresh").show();
	time = setTimeout("ts_refresh_view();", 500);
}

function ts_refresh_view() {
	window.clearTimeout(time);

	$.post("ts_view.php", {
			serveur: ts_serv
		},
		function(data){
			$('#right').html(data);
		}
	);
}

function ts_banlist(id) {
	$("#ts_banlist").html('<p style="text-align: center;"><br /><br /><img src="images/loading.gif" title="Chargement de la liste des bans..." /><br /><br /><small>Chargement de la liste des bans...</small></p>');

	if (serv == 0) {
		serv = $("#ref_"+id).html();
		dialog_open('ts_banlist');
	}

	$.post("ts_ban.php", {
			serveur: serv
		},
		function(data){
			$("#ts_banlist").html(data);
		}
	);
}

function ts_add_ban() {
	$.post("ts_ban.php", {
			serveur: serv,
			op: "add"
		},
		function(data){
			$("#ts_banlist").html(data);
		}
	);
}

function ts_do_add_ban() {
	if ($.trim($('#ip').val()) == "") { error('Merci de saisir une Adresse Ip.'); }
	else {
		$.post("ts_ban.php", {
				serveur: serv,
				op: "do_add",
				ip: $.trim($('#ip').val()),
				time: $.trim($('#duree').val())
			},
			function(data){
				if (data == "ok") { valid('Ip bannie avec succès.'); }
				else { error('Impossible de bannir l\'adresse ip, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

				ts_banlist(0);
			}
		);
	}

	return false;
}

function ts_delete_ban(id) {
	jConfirm("&Ecirc;tes vous sûr de vouloir supprimer ce ban ?", "Confirmation", function(reponse) {
		if (reponse) {
			$.post("ts_ban.php", {
					serveur: serv,
					op: "delete",
					bid: id
				},
				function(data){
					if (data == "ok") { valid('Ban supprimé avec succès.'); }
					else { error('Impossible de supprimer le ban, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

					ts_banlist(0);
				}
			);
		}
	});
}

function ts_clean_banlist() {
	jConfirm("&Ecirc;tes vous sûr de vouloir vider la liste des bans ?", "Confirmation", function(reponse) {
			if (reponse) {
			$.post("ts_ban.php", {
					serveur: serv,
					op: "clean"
				},
				function(data){
					if (data == "ok") { valid('Banlist vidée avec succès.'); }
					else { error('Impossible de vider la banlist, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

					ts_banlist(0);
				}
			);
		}
	});
}

function ts_add() {
	serv = 1;
	serv_maps_uncheckall();

	$("#ts_add").html('<p style="text-align: center;"><br /><br /><img src="images/loading.gif" title="Chargement de la liste des clients..." /><br /><br /><small>Chargement de la liste des clients...</small></p>');

	dialog_open('ts_add');

	$.post("ts_add.php",
		function(data){
			$("#ts_add").html(data);
		}
	);
}

function ts_do_add() {
	var code = $('#ts_add').html();
	var ref = $.trim($('#ts_new_user').val());
	var nom = $.trim($('#ts_new_name').val());
	var maxusers = $.trim($('#ts_new_maxusers').val());
	var checkbox = $("input[name='ts_hc']:checked").val();

	if (nom == "") { error('Merci de saisir un Nom de serveur.'); }
	else if (maxusers < 2 || maxusers > 100) { error('Merci de saisir un nombre de Slots compris entre 2 et 100.'); }
	else {
		$("#ts_add").html('<p style="text-align: center;"><br /><br /><img src="images/loading.gif" title="Création du serveur en cours..." /><br /><br /><small>Création du serveur en cours...</small></p>');

		$.post("ts_add.php", {
				user: ref,
				name: nom,
				slots: maxusers,
				hc: checkbox
			},
			function(data){
				if (data == "ok") { valid('Serveur créé avec succès.'); }
				else { error('Impossible de créer le serveur, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

				$('#ts_add').html(code);
			}
		);
	}

	return false;
}

function ts_lock(id) {
	serv = $("#ref_"+id).html();
	$("#accordion").accordion( 'activate' , false ) 
	$("#accordion").accordion( 'disable' );
	$("#status_"+id).html('<img src="images/loading_status.gif" title="Veuillez patienter..." />');

	$.post("ts_lock.php", {
			serveur: serv
		},
		function(data){
			if (data == "ok") { refreshpage('teamspeak'); }
			else { error('Impossible d\'exécuter la commande, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

			$("#accordion").accordion( 'enable' );
			serv = 0;
		}
	);
}

function ts_lock_all(etat) {
	$("#accordion").accordion( 'activate' , false ) 
	$("#accordion").accordion( 'disable' );
	$("#refresh").show();

	$.post("ts_lock_all.php", {
			lock: etat
		},
		function(data){
			if (data == "ok") { refreshpage('teamspeak'); }
			else {
				error('Impossible d\'exécuter la commande, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data);

				$("#accordion").accordion( 'enable' );
				$("#refresh").hide();
				serv = 0;
			}
		}
	);
}

function ts_msg_all() {
	jPrompt("Message :", "", "Envoyer un message à tous", function(reponse) {
		if ($.trim(reponse) != "")
		{
			$.post("ts_admin.php", {
					op: "msg_all",
					msg: reponse
				},
				function(data){
					if (data == "ok") { valid('Commande exécutée avec succès.'); }
					else { error('Impossible d\'exécuter la commande, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

					$("#"+id).html(player);
				}
			);
		}
	});
}


/* Paiements */

function pay_add() {
	serv = 1;

	$("#pay_add").html('<p style="text-align: center;"><br /><br /><img src="images/loading.gif" title="Chargement de la liste des clients..." /><br /><br /><small>Chargement de la liste des clients...</small></p>');

	dialog_open('pay_add');

	$.post("pay_add.php",
		function(data){
			$("#pay_add").html(data);
		}
	);
}

function pay_do_add() {
	if ($.trim($('#pay_client').val()) == "") { error('Merci de sélectionner un Client.'); }
	else if ($.trim($('#pay_serveur').val()) == "") { error('Merci de sélectionner un Serveur.'); }
	else if (!is_numeric($.trim($('#pay_cout').val()))) { error('Merci de saisir un Coût valide.'); }
	else {
		$.post("pay_add.php", {
				client: $.trim($('#pay_client').val()),
				serveur: $.trim($('#pay_serveur').val()),
				montant: $.trim($('#pay_cout').val())
			},
			function(data){
				if (data == "ok") { valid('Paiement créé avec succès.'); }
				else { error('Impossible de créer le paiement, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

				dialog_close('pay_add'); 
				refreshpage('paiements');
			}
		);
	}

	return false;
}

function pay_serv(id) {
	$.post("pay_serv.php", {
			serveur: $("#ref_"+id).html()
		},
		function(data){
			if (data == "ok") { valid('Paiement effectué avec succès.'); refreshpage('paiements'); }
			else { error('Impossible de payer le serveur, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }
		}
	);
}

function pay_edit(id) {
	$('#pay_edit_serveur').html($('#ref_'+id).html());
	$('#pay_edit_cout').val($('#serv_cout_'+id).html());
	$('#pay_edit_expiration').val($('#serv_expiration_'+id).text());

	dialog_open('pay_edit');
}

function pay_do_edit() {
	if (!is_numeric($.trim($('#pay_edit_cout').val()))) { error('Merci de saisir un Coût valide.'); }
	else if ($.trim($('#pay_edit_expiration').val()) == "") { error('Merci de saisir une Date d\'expiration.'); }
	else {
		$.post("pay_edit.php", {
				serveur: $.trim($('#pay_edit_serveur').html()),
				montant: $.trim($('#pay_edit_cout').val()),
				expiration: $.trim($('#pay_edit_expiration').val())
			},
			function(data){
				if (data == "ok") { valid('Paiement modifié avec succès.'); }
				else { error('Impossible de modifier le paiement, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }

				dialog_close('pay_edit'); 
				refreshpage('paiements');
			}
		);
	}

	return false;
}

function pay_delete(id) {
	jConfirm("&Ecirc;tes vous sûr de vouloir supprimer ce paiement ?", "Confirmation", function(reponse) {
		if (reponse) {
			$.post("pay_delete.php", {
					serveur: $('#ref_'+id).html()
				},
				function(data){
					if (data == "ok") { refreshpage('paiements'); }
					else { error('Impossible d\'exécuter la commande, réessayez ou contactez l\'assistance.<br /><br />#Error# : '+data); }
				}
			);
		}
	});
}
