/* Variables */
var urlTest = "http://example.com/"; // Url interrogée pour tester le XSS. 
var erreurServeur = "Le serveur à renvoyé ceci :"; // Quand le srv signale une couille.

/* ABONNEMENT */
var Abonnement = function() {
};
Abonnement.module = "abonnement";
Abonnement.enAttenteVersPaypal = function(url) {
	jConfirm(
			"Vous avez un abonnement en attente de paiement. Cliquez sur 'OK' pour être redirigé vers Paypal afin de le payer.",
			"Abonnement en attente", function(r) {
				if (r) {
					document.location = url;
				}
			});
};
Abonnement.valider = function() {
	jConfirm('Confirmez-vous avoir choisi cet abonnement ?', 'Confirmation',
			function(r) {
				if (r) {
					$("#formulaireAbonnement").submit();
				}
			});
	return false;
};
Abonnement.payer = function(id) {
	jConfirm('Avez - vous bien payé ?', 'Confirmation', function(r) {
		if (r) {
			var retour = vaChercher(faireUrl(Abonnement.module,
					'payerAbonnement'), "&id_abonnement=" + id);
			if (retour == "OK") {
				Abonnement.rechargerListe();
			} else {
				jAlert(retour, erreurServeur);
			}
		}
	});
	return false;
};
Abonnement.paypal = function(url) {
	jConfirm('Vous allez être redirigé vers paypal pour le paiement.',
			'Confirmation', function(r) {
				if (r) {
					document.location = url;
				}
			});
	return false;
};
Abonnement.supprimer = function(id) {
	jConfirm('Voulez-vous supprimer cet abonnement ?', 'Confirmation',
			function(r) {
				if (r) {
					var retour = vaChercher(faireUrl(Abonnement.module,
							'supprimerAbonnement'), "&id_abonnement=" + id);
					if (retour == "OK") {
						Abonnement.rechargerListe();
					} else {
						jAlert(retour, erreurServeur);
					}
				}
			});
	return false;
};
Abonnement.factureHTML = function(id) {
	fauxPopup("Voir une facture", vaChercher(faireUrl(Abonnement.module,
			'factureHTML'), '&id_abonnement=' + id));
};
Abonnement.rechargerListe = function() {
	rechargerBoite("listeAbonnement");
};

/* REGIONS */
var Region = function() {
};
Region.module = "administration";
Region.renommer = function(id) { /*
									 * Affiche le input text pour renommer la
									 * région
									 */
	$("#renommer_region_" + id).val("");
	$("#renommer_region_" + id).val(
			trim($("#ligne_region_" + id + " .label_region").text()));

	$("#ligne_region_" + id + " .label_region > *").toggle();
	$("#ligne_region_" + id + " .action_region > *").toggle();

	$(".bouton_renommer_region").hide();

	return false;
};
Region.annulerRenommer = function(id) {
	$("#ligne_region_" + id + " .label_region > *").toggle();
	$("#ligne_region_" + id + " .action_region > *").toggle();

	$(".bouton_renommer_region").show();

	return false;
};
Region.validerRenommer = function(id) {
	var nom = trim($("#renommer_region_" + id).val());

	if (nom) {
		var retour = vaChercher(faireUrl(Region.module, "renommerRegion"),
				"&id_region=" + id + "&nom_region=" + nom);
		if (retour == "OK") {
			Region.recharger();
		} else {
			jAlert(retour, erreurServeur);
		}
	} else {
		jAlert("Nom vide", "Erreur");
	}
};
Region.ajouter = function(id) {
	if (($("#newRegion").val() == undefined) || ($("#newRegion").val() == "")) {
		jAlert("Entrez un nom de région", "Erreur");
	} else {
		var retour = vaChercher(faireUrl(Region.module, "ajouterRegion"),
				"&nom_region=" + $("#newRegion").val());
		if (retour == "OK") {
			$("#newRegion").val("");
			Region.recharger();
		} else {
			jAlert(retour, erreurServeur);
		}
	}
};
Region.recharger = function() {
	rechargerBoite("listeRegions");
};

/* MOTEURS RÉGIONAL */
var MoteurGlobal = function() {
};
MoteurGlobal.module = "administration";
MoteurGlobal.rechargerPanneau = function() {
	rechargerBoite("listeMoteursGlobaux");
};
MoteurGlobal.alternerEtat = function(id) { // Active / Désactive un moteur
											// global
	var retour = vaChercher(faireUrl(MoteurGlobal.module,
			"switchEtatMoteurGlobal"), "&id_moteur=" + id);
	// Si rien à signaler, alors recharger les panneaux
	if (retour == "") {
		MoteurGlobal.rechargerPanneau();
		MoteurRegional.rechargerPanneau();
	} else {
		jAlert(retour, erreurServeur);
	}
};
MoteurGlobal.renommer = function(id) { // Affiche le input text pour renommer
										// la région
	$("#renommer_moteur_global_" + id).val("");
	$("#renommer_moteur_global_" + id).val(
			trim($("#ligne_moteur_global_" + id + " .label_moteur_global")
					.text()));

	$("#ligne_moteur_global_" + id + " .label_moteur_global > *").toggle();
	$("#ligne_moteur_global_" + id + " .action_moteur_global > *").toggle();

	$(".bouton_renommer_moteur_global").hide();

	return false;
};
MoteurGlobal.validerRenommer = function(id) {
	var nom = trim($("#renommer_moteur_global_" + id).val());

	if (nom) {
		var retour = vaChercher(faireUrl(MoteurGlobal.module,
				"renommerMoteurGlobal"), "&id_moteur=" + id + "&nom_moteur="
				+ nom);
		if (retour == "") {
			MoteurGlobal.rechargerPanneau();
			MoteurRegional.rechargerPanneau();
		} else {
			jAlert(retour, erreurServeur);
		}
	} else {
		jAlert("Nom vide", "Erreur");
	}
};
MoteurGlobal.annulerRenommer = function(id) {
	$("#ligne_moteur_global_" + id + " .label_moteur_global > *").toggle();
	$("#ligne_moteur_global_" + id + " .action_moteur_global > *").toggle();
	$(".bouton_renommer_moteur_global").show();
	return false;
};
MoteurGlobal.ajouter = function() {
	if (($("#newMoteurGlobal").val() == undefined)
			|| ($("#newMoteurGlobal").val() == "")) {
		jAlert("Entrez un nom de moteur de recherche", "Erreur");
	} else {
		var retour = vaChercher(faireUrl(MoteurGlobal.module,
				"ajouterMoteurGlobal"), "&nom_moteur="
				+ $("#newMoteurGlobal").val());
		if (retour == "") {
			$("#newMoteurGlobal").val("");
			MoteurGlobal.rechargerPanneau();
		} else {
			jAlert(retour, erreurServeur);
		}
	}
};

var MoteurRegional = function() {
};
MoteurRegional.module = "administration";
MoteurRegional.rechargerPanneau = function() {
	rechargerBoite("listeMoteursRegionaux");
};
MoteurRegional.renommer = function(id) {
	jPrompt('Nouveau nom :', '', 'Nouveau nom', function(nom) {
		if (nom) {
			var retour = vaChercher(faireUrl(MoteurGlobal.module,
					"renommerMoteurRegional"), "&id_moteur=" + id
					+ "&nom_moteur=" + nom);
			if (retour == "") {
				MoteurRegional.rechargerPanneau();
			} else {
				jAlert(retour, erreurServeur);
			}
		}
	});
};
MoteurRegional.alternerEtat = function(id) {
	var retour = vaChercher(faireUrl(MoteurGlobal.module,
			"switchEtatMoteurRegional"), "&id_moteur=" + id);
	if (retour == "") {
		MoteurRegional.rechargerPanneau();
		MoteurGlobal.rechargerPanneau();
	} else {
		jAlert(retour, erreurServeur);
	}
};

MoteurRegional.ajouter = function(url) {
	fauxPopup("Ajouter un moteur régional", vaChercher(url, ''));
};
MoteurRegional.validerFormNouveau = function() {
	var nom_moteur = $("#nom_moteur").val();
	var code_langue = $("#code_langue").val();
	var id_moteur = $("#id_moteur").val();
	var id_region = $("#id_region").val();
	var actif = $("#actif").val();
	if (nom_moteur == "") {
		jAlert("Entrez un nom pour ce moteur régional", "Erreur");
	} else {
		var retour = vaChercher(faireUrl(MoteurRegional.module,
				"ajouterMoteurRegional"), "&nom_moteur=" + nom_moteur
				+ "&code_langue=" + code_langue + "&id_moteur=" + id_moteur
				+ "&id_region=" + id_region + "&actif=" + actif);
		if (retour == "") {
			MoteurRegional.rechargerPanneau();
			fermerFauxPopup();
		} else {
			jAlert(retour, erreurServeur);
		}
	}
};
MoteurRegional.popup = function(url) {
	fauxPopup("Détails d'un moteur régional", vaChercher(url));
};
MoteurRegional.popupMontrerAlertes = function(url) {
	fauxPopup("Alertes d'un moteur régional", vaChercher(url));
};

/* O F F R E */

var Offre = function() {
};
Offre.module = "offre";
Offre.clonerEnPublic = function(id) {
	jConfirm(
			"Voulez vous vraiment cloner cette offre en offre publique ?",
			"Question",
			function(confirmation) {
				if (confirmation) {
					var retour = vaChercher(faireUrl(Offre.module,
							"clonerEnPublic"), "&id_offre=" + id);
					if (retour == "OK") {
						flash('notice',
								"L'offre existe maintenant en offre publique.");
					} else {
						jAlert(retour, erreurServeur);
						flash('notice',
								"Une erreur n'a pu empecher le clonage.");
					}
				}

			});
};

/* R A P P O R T */
var Rapport = function() {
};
Rapport.consulter = "consulter";
Rapport.voir = function(id) {
	fauxPopup('Voir un rapport', vaChercher(debutUrl
			+ "/consulter/voirRapportSimple", "&id_rapport=" + id));
};
Rapport.voirPosition = function(id, ouvrirEnJAlert) {
	if (ouvrirEnJAlert == true) {
		jAlert(vaChercher(debutUrl + "/consulter/consulterPosition",
				"&id_position=" + id), 'Voir une position', function() {
		}, 750, 600);
	} else {
		fauxPopup('Voir une position', vaChercher(debutUrl
				+ "/consulter/consulterPosition", "&id_position=" + id));
	}
};
Rapport.faireEvolutionSelection = function() { /*
												 * Affiche l'évolutions des
												 * rapports cochés
												 */
	var nombreCoche = 0; /*
							 * Le nombre de rapports cochés (car il en faut
							 * minimum 2 pour voir une évolution)
							 */
	var listeRapportsCoches = "";
	$(".case_rapport").each(
			function() {
				if ($(this).attr("checked")) {
					listeRapportsCoches += "&rapport[" + nombreCoche + "]="
							+ $(this).val();
					nombreCoche++;
				}
			});

	if (nombreCoche < 2) {
		jAlert("Cochez au moins 2 rapports pour faire une évolution !",
				"Avertissement");
	} else {
		miseEnAttenteZone("#panneauTendance");

		$("#tabs").tabs('select', "panneauTendance");

		listeRapportsCoches = listeRapportsCoches + "&id_jeu="
				+ $("#id_jeu").val();
		var resultat = vaChercher(
				debutUrl + '/consulter/tendancePersonnalisee',
				listeRapportsCoches);

		$("#panneauTendance").empty().append(resultat);

		habillerContenu();
	}
};
Rapport.renommer = function(id) {
	$("#renommer_rapport_" + id).val("").val(
			trim($("#ligne_rapport_" + id + " .label_rapport").text()));

	$("#ligne_rapport_" + id + " .label_rapport > *").toggle();
	$("#ligne_rapport_" + id + " .action_rapport > *").toggle();

	$(".bouton_renommer_rapport").hide();

	return false;
};
Rapport.annulerRenommer = function(id) {

	$("#ligne_rapport_" + id + " .label_rapport > *").toggle();
	$("#ligne_rapport_" + id + " .action_rapport > *").toggle();

	$(".bouton_renommer_rapport").show();

	return false;
};
Rapport.validerRenommer = function(id) {
	var nom = trim($("#renommer_rapport_" + id).val());
	if (nom) {
		var retour = vaChercher(faireUrl(Rapport.consulter, "renommerRapport"),
				"&id_rapport=" + id + "&nom_rapport=" + nom);
		if (retour == "OK") {
			rechargerBoite("panneauListe");
			flash('notice', "Rapport renommé");
		} else {
			jAlert(retour, erreurServeur);
			flash('notice', "Rapport non renommé");
		}
	} else {
		jAlert("Nom vide", "Erreur");
	}
};
/* Veut supprimer le rapport */
Rapport.supprimer = function(id, msg) {
	jConfirm(msg, "Question", function(confirmation) {
		if (confirmation) {
			var retour = vaChercher(faireUrl(Rapport.consulter,
					"supprimerRapport"), "&id_rapport=" + id);
			if (retour == "OK") {
				Rapport.rechargerListe();
				flash('notice', "Rapport supprimé");
			} else {
				jAlert(retour, erreurServeur);
				flash('notice', "Rapport non supprimé");
			}
		}
	});
};
Rapport.rechargerListe = function() {
	rechargerBoite("panneauListe");
};
Rapport.supprimerListe = function() {
	var nombreCoche = 0; /* Le nombre de rapports cochés */

	$(".case_rapport").each(function() {
		if ($(this).attr("checked")) {
			nombreCoche++;
		}
	});

	if (nombreCoche > 0) {
		jConfirm(
				"Voulez vous vraiment supprimer les rapports séléctionnés ?",
				"Question",
				function(confirmation) {
					if (confirmation) {
						var nombreCoche = 0; /* Le nombre de rapports cochés */
						var listeRapportsCoches = "";

						$(".case_rapport").each(
								function() {
									if ($(this).attr("checked")) {
										listeRapportsCoches += "&id_rapport["
												+ nombreCoche + "]="
												+ $(this).val();
										nombreCoche++;
									}
								});

						if (nombreCoche < 1) {
							jAlert(
									"Il faut cocher des rapports pour pouvoir en supprimer !",
									"Avertissement");
						} else {
							listeRapportsCoches = listeRapportsCoches
									+ "&id_jeu=" + $("#id_jeu").val();
							var retour = vaChercher(faireUrl(Rapport.consulter,
									"supprimerListeRapport"),
									listeRapportsCoches);
							Rapport.rechargerListe();
							if ($(retour).find("nombre").text() == nombreCoche) {
								flash("notice", $(retour).find("message")
										.text());
							} else {
								flash("error", $(retour).find("message").text());
							}
						}
					}
				});
	} else {
		jAlert("Il faut cocher des rapports pour pouvoir en supprimer !",
				"Erreur");
	}
};
/*
 * On change une des options du form au dessus du rapport : on change donc le
 * contenu
 */
Rapport.rechargerRapport = function() {
	rechargerBoite("panneauListe");
};
Rapport.rechargerRapportSimple = function() {
	miseEnAttenteZone("#divVueRapport");
	rechargerBoite("rapportSimple");
};
Rapport.alternerVue = function() {
	$("#divVueRapport > * ").hide();
	switch ($("#vueRapport").val()) {
	case "naturelles":
		$("#vueRapportNaturelles").show();
		break;
	case "commerciales":
		$("#vueRapportCommerciales").show();
		break;
	case "stats":
		$("#vueRapportStats").show();
		break;
	}
};
Rapport.purger = function(id) {
	jConfirm("Voulez vous vraiment purger ce rapport ?", "Question", function(
			confirmation) {
		if (confirmation) {
			var retour = vaChercher(
					faireUrl(Rapport.consulter, "purgerRapport"),
					"&id_rapport=" + id);
			if (retour == "OK") {
				Rapport.rechargerRapport();
				flash('notice', "Rapport purgé !");
			} else {
				jAlert(retour, erreurServeur);
				flash('notice', "Rapport non purgé");
			}
		}
	});
};
Rapport.rechargerTendance = function() {
	// var resultat =
	// vaChercher(faireUrl(Rapport.consulter,"tendancePersonnalisee"),recupererDonneeFormulaire("panneauTendance"));

	var data = recupererDonneeFormulaire("panneauTendance");
	miseEnAttenteZone("#panneauTendance");
	var retourServeur = vaChercher(faireUrl(Rapport.consulter,
			"tendancePersonnalisee"), data);
	$("#panneauTendance").empty().append(retourServeur);

	habillerContenu();

	// $("#panneauTendance").empty().append(resultat);
	$("#tabs").tabs('select', "panneauTendance");
};

Rapport.exportCSV = function() { /*
									 * Change le lien dynamiquement pour obtenir
									 * le bon CSV
									 */
	// fauxPopup("Export
	// CSV",vaChercher(faireUrl(Rapport.consulter,"exportCSV"),recupererDonneeFormulaire("panneauTendance")));
	$("#link_csv").attr(
			"href",
			faireUrl(Rapport.consulter, "exportCSV") + "?a=1"
					+ recupererDonneeFormulaire("panneauTendance"));
};

Rapport.restaurer = function(id) { /* Un admin restaure le rapport */
	jConfirm("Voulez vous vraiment restaurer ce rapport ?", "Question",
			function(confirmation) {
				if (confirmation) {
					var retour = vaChercher(faireUrl(Rapport.consulter,
							"restaurerRapport"), "&id_rapport=" + id);
					if (retour == "OK") {
						Rapport.rechargerRapport();
						flash('notice', "Rapport restauré !");
					} else {
						jAlert(retour, erreurServeur);
						flash('notice', "Rapport non restauré");
					}
				}
			});
};
// Alterner entre les mots clefs et les stats dans la vue Tendances
Rapport.changerVueTendance = function() {
	if ($("#vueTendance").val() == "stats") {
		$("#tableauTendanceMots").hide();
		$("#tableauTendanceStats").show();
	}
	if ($("#vueTendance").val() == "mots") {
		$("#tableauTendanceMots").show();
		$("#tableauTendanceStats").hide();
	}
	if ($("#vueTendance").val() == "all") {
		$("#tableauTendanceMots").show();
		$("#tableauTendanceStats").show();
	}
};

Rapport.generationImpossible = function(url) {
	jAlert("Votre navigateur ne semble pas pouvoir générer les rapports. <br />" +
			//"<a href='"+url+"' title='Comment rendre son navigateur compatible'>Cliquez ici</a> pour savoir comment le rendre compatible. <br />" +
			"<a onclick='javascript:declarerNavigateurCompatible(testerNavigateurCompatibleXSS(\"http://www.example.com\"),\"accueil/navigateurCompatible\", true); '>Cliquez ici</a> pour lancer une nouvelle vérification.",
			'Génération de rapport impossible',
			function() { document.location = 'aide/xss'; });
};
Rapport.voirChart = function (id) {
	fauxPopup("Chart",vaChercher(faireUrl("consulter", "chart", "?mot="+id)));
};

/* E C R A N   G E S T I O N   D E S   J E U X */

var Menu = function() {
};
Menu.module = "menu";

/* P U R G E */

var Purge = function() {
};
Purge.module = "purge";
Purge.liste = function(type) {
	var liste = Purge.faireListe(type);
	jConfirm("Voulez vous vraiment purger ces éléments ?", "Confirmation",
			function(confirmation) {
				if (confirmation) {
					document.location = faireUrl(Purge.module,
							"purgerUneListe", "?a=a" + liste);
				}
			});
};
Purge.restaurer = function(type) {
	var liste = Purge.faireListe(type);
	jConfirm("Voulez vous vraiment restaurer ces éléments ?", "Confirmation",
			function(confirmation) {
				if (confirmation) {
					document.location = faireUrl(Purge.module,
							"restaurerUneListe", "?a=a" + liste);
				}
			});
};
Purge.faireListe = function(type) {
	switch (type) {
	case "mot":
		return recupererTouteLesCheckbox("purgatoireMot");
	case "url":
		return recupererTouteLesCheckbox("purgatoireUrl");
	case "jeu":
		return recupererTouteLesCheckbox("purgatoireJeu");
	case "rapS":
		return recupererTouteLesCheckbox("purgatoireRap");
	case "rapP":
		return recupererTouteLesCheckbox("purgatoireRapPF");
	case "abo":
		return recupererTouteLesCheckbox("purgatoireAbo");
	case "compte":
		return recupererTouteLesCheckbox("purgatoireCompte");
	case "tout":
	case undefined:
	default:
		return recupererDonneeFormulaire("listePurge");
	}
};

var Utilisateur = function() {
};
Utilisateur.module = "utilisateur";
Utilisateur.rechargerListe = function() {
	rechargerBoite("listeUtilisateurs");
};
Utilisateur.activer = function(id) {
	jConfirm("Voulez vous vraiment activer cet utilisateur ?", "Confirmation",
			function(confirmation) {
				var retour = vaChercher(
						faireUrl(Utilisateur.module, "activer"),
						"&id_utilisateur=" + id);

				if (retour == "OK") {
					Utilisateur.rechargerListe();
				} else {
					flash("error", retour);
				}

			});
};
Utilisateur.desactiver = function(id) {
	jConfirm("Voulez vous vraiment desactiver cet utilisateur ?",
			"Confirmation", function(confirmation) {
				var retour = vaChercher(faireUrl(Utilisateur.module,
						"desactiver"), "&id_utilisateur=" + id);

				if (retour == "OK") {
					Utilisateur.rechargerListe();
				} else {
					flash("error", retour);
				}

			});
};
Utilisateur.desactiverAdmin = function(id) {
	jConfirm(
			"Voulez vous vraiment convertir cet administrateur en simple utilisateur ?",
			"Confirmation", function(confirmation) {
				var retour = vaChercher(faireUrl(Utilisateur.module,
						"desactiverAdmin"), "&id_utilisateur=" + id);

				if (retour == "OK") {
					Utilisateur.rechargerListe();
				} else {
					flash("error", retour);
				}

			});
};
Utilisateur.activerAdmin = function(id) {
	jConfirm(
			"Voulez vous vraiment convertir ce simple utilisateur  en administrateur ?",
			"Confirmation", function(confirmation) {
				var retour = vaChercher(faireUrl(Utilisateur.module,
						"activerAdmin"), "&id_utilisateur=" + id);

				if (retour == "OK") {
					Utilisateur.rechargerListe();
				} else {
					flash("error", retour);
				}

			});
};
Utilisateur.editer = function(id) {
	actionAjaxPopup("Editer un utilisateur", faireUrl(Utilisateur.module,
			"editer", "?id_utilisateur=" + id));
};
Utilisateur.creer = function(id) {
	actionAjaxPopup("Creer un utilisateur", faireUrl(Utilisateur.module,
			"creer"));
};
Utilisateur.inscription = function(id) {
	rechargerFauxPopup(vaChercher(faireUrl(Menu.module,
			"updateInformationsPersonelles"),
			recupererDonneeFormulaire("formInscription")));
};
Utilisateur.updateAdmin = function() {
	rechargerFauxPopup(vaChercher(faireUrl(Utilisateur.module, "update"),
			recupererDonneeFormulaire("formUtilisateur")));
};

Utilisateur.offre = function(id) {
	actionAjaxPopup("Editer l'offre", faireUrl(Utilisateur.module, "offre",
			"?id_utilisateur=" + id));
};
Utilisateur.validerOffre = function(id) {
	rechargerFauxPopup(vaChercher(faireUrl(Utilisateur.module, "updateOffre"),
			recupererDonneeFormulaire("formOffre")));
};
Utilisateur.supprimer = function(id) {
	jConfirm("Voulez vous vraiment supprimer cet utilisateur ?",
			"Confirmation", function(confirmation) {
				var retour = vaChercher(faireUrl(Utilisateur.module,
						"supprimer"), "&id_utilisateur=" + id);

				if (retour == "OK") {
					Utilisateur.rechargerListe();
				} else {
					flash("error", retour);
				}

			});
};
Utilisateur.purger = function(id) {
	jConfirm("Voulez vous vraiment supprimer DEFINITIVEMENT cet utilisateur ?",
			"Confirmation", function(confirmation) {
				var retour = vaChercher(faireUrl(Utilisateur.module, "purger"),
						"&id_utilisateur=" + id);

				if (retour == "OK") {
					Utilisateur.rechargerListe();
				} else {
					flash("error", retour);
				}

			});
};
Utilisateur.restaurer = function(id) {
	jConfirm("Voulez vous vraiment restaurer cet utilisateur ?",
			"Confirmation", function(confirmation) {
				var retour = vaChercher(faireUrl(Utilisateur.module,
						"restaurer"), "&id_utilisateur=" + id);

				if (retour == "OK") {
					Utilisateur.rechargerListe();
				} else {
					flash("error", retour);
				}

			});
};
Utilisateur.confirmationActionMultiUtilisateur = function() {
	jConfirm("Etes-vous sûr ?", "Confirmation", function(r) {
		if (r) {
			$("#formMultiUser").submit();
		} else {
			$("#actionSelection").val("rien");
		}
	});
};
Utilisateur.orderBy = function(a) {
	/* Si on a déja orderby cette colonne */
	if ($("#filtreOrderBy").val() == a) {
		/* On inverse le sens */
		if ($("#filtreOrderByAscDesc").val() == 'ASC') {
			$("#filtreOrderByAscDesc").val('DESC');
		} else {
			$("#filtreOrderByAscDesc").val('ASC');
		}
	} else {
		/* Sinon c'est cette colonne ASC */
		$("#filtreOrderBy").val(a);
		$("#filtreOrderByAscDesc").val('ASC');
	}
	$('#filtreActif').val(1);
	$("#formMultiUser").submit();
};

/* Confirmation de la deconnexion puis action */
Utilisateur.deconnexion = function(msg, url) {
	jConfirm(msg, 'Confirmation', function(r) {
		if (r) {
			document.location = url;
		} else {
			return false;
		}
	});
};

/* Fonctions à propos du login / mdp */
Utilisateur.changerMotDePasse = function() {
	/* Demande de l'ancien, puis du nouveau. */
	jPrompt(
			'Entrez le précédant mot de passe :',
			'',
			'Changer le mot de passe',
			function(ancienMdp) {
				if (ancienMdp) {
					jPrompt(
							'Entrez le nouveau mot de passe :',
							'',
							'Changer le mot de passe',
							function(nouveauMdp) {
								if (nouveauMdp) {
									jPrompt(
											'Confirmez le nouveau mot de passe :',
											'',
											'Changer le mot de passe',
											function(nouveauMdpConfirm) {
												if (nouveauMdpConfirm) {
													if (nouveauMdpConfirm == nouveauMdp) {
														$
																.ajax( {
																	async : false,
																	cache : false,
																	url : debutUrl
																			+ "/utilisateur/changerMotDePasse",
																	dataType : "text",
																	data : {
																		'old' : ancienMdp,
																		'new' : nouveauMdp
																	},
																	type : "POST",
																	contentType : "application/x-www-form-urlencoded; charset=UTF-8",
																	error : function(
																			data) {
																		jAlert(
																				data,
																				"Erreur lors du traitement !");
																	},
																	success : function(
																			data) {
																		jAlert(
																				data,
																				erreurServeur);
																	}
																});
													} else {
														jAlert(
																"Vous avez entré deux mots de passes différents !",
																"Erreur");
													}
												}
											});
								}
							});
				}
			});
};

var Jeu = function() {
};
Jeu.module = "jeux";
Jeu.validerDroits = function() {
	var param = recupererDonneeFormulaire("formDroits");
	miseEnAttenteZone("#gestionDroits");
	var retourServeur = vaChercher(faireUrl(Jeu.module, "updateDroits"), param);
	$("#gestionDroits").empty().append(retourServeur);
	habillerContenu();
};
Jeu.devenirPrefere = function(id) {
	jConfirm("Voulez vous vraiment que ce jeu devienne votre jeu par défaut ?", "Confirmation", function(confirmation) {
				var retour = vaChercher(faireUrl(Jeu.module, "defaut"), "&id_jeu=" + id);

				if (retour == "OK") {
					flash("notice", "Ce jeu est devenu votre jeu par défaut.");
				} else {
					flash("error", retour);
				}

			});
};
Jeu.motNonCherche = function() { // Une case de résultat où un mot n'as pas  été recherché dans le rapport.
	jAlert("Ce mot n'a pas été recherché au moment de ce rapport.",	"Ce mot n'a pas été recherché au moment de ce rapport");
};
Jeu.motNonTrouve = function() { // Une case de résultat où un mot n'as pas été trouvé sur le moteur.
	jAlert("Ce mot n'a pas été trouvé.", "Ce mot n'a pas été trouvé.");
};
Jeu.leverLimite = function(id) {
	jConfirm("Voulez vous vraiment autoriser la création d'un nouveau rapport malgré la limite ?", "Confirmation", function(confirmation) {
		var retour = vaChercher(faireUrl(Jeu.module, "leverLimite"), "&id_jeu=" + id);

		if (retour == "OK") {
			flash("notice", "Ce jeu peut maintenant générer un nouveau rapport.");
		} else {
			flash("error", retour);
		}
	});
};
Jeu.supprimer = function(id) {
	jConfirm("Voulez vous vraiment supprimer ce jeu ?", "Question", function(confirmation) {
		if (confirmation) {
			document.location = faireUrl(Jeu.module, "supprimer", "?id_jeu="+ id);
		}
	});
};
Jeu.restaurer = function(id) {
	jConfirm("Voulez vous vraiment restaurer ce jeu ?", "Question", function(confirmation) {
		if (confirmation) {
			document.location = faireUrl(Jeu.module, "restaurer", "?id_jeu=" + id);
		}
	});
};
Jeu.ajouterMots = function(id) {

	var mot = $("#liste_mots").val();
	var reg = new RegExp("[\n\r,;/:|]+", "g");
	var tableau = mot.split(reg);
	var liste = "";

	for (m in tableau) {
		liste += "&liste[]=" + tableau[m];
	}

	if ((mot != "") && (mot != undefined)) {
		miseEnAttenteZoneCercle("#gestionJeuMotsClefs");
		var panneauMot = vaChercher(faireUrl(Jeu.module, "ajouterListeMots"), "&id_jeu=" + id + liste);
		$("#gestionJeuMotsClefs").empty().append(panneauMot);
		habillerContenu();
	}

};
Jeu.supprimerMotClef = function(id) {
	jConfirm("Voulez vous vraiment supprimer ce mot?", "Question", function(confirmation) {
		if (confirmation) {
			Jeu.rechargerPanneauMot(vaChercher(faireUrl(Jeu.module,	"supprimerMotClef"), "&id_mot=" + id));
			habillerContenu();
		}
	});
};
Jeu.rechargerPanneauMot = function(content) {
	if (content !== false) {
		$("#gestionJeuMotsClefs").empty().append(content);
		habillerContenu();
	}

};
Jeu.rechargerPanneauUrl = function(content) {
	if (content !== false) {
		$("#gestionJeuUrl").empty().append(content);
		habillerContenu();
	}
};
Jeu.rechargerPanneauMoteur = function(content) {
	if (content !== false) {
		$("#gestionJeuMoteurs").empty().append(content);
		habillerContenu();
	}
};
Jeu.ajouterUrl = function(id) {
	var url = trim($("#nouvelle_url").val());
	var conc = "non";
	if ($("#concurrente").attr("checked")) {
		conc = "oui";
	}
	if (isValidURL(url)) {
		Jeu.rechargerPanneauUrl(vaChercher(faireUrl(Jeu.module, "ajouterUrl"),
				"&url=" + url + "&id_jeu=" + id + "&conc=" + conc));
	} else {
		if (url = "") {
			flash("notice", "Aucune URL n'a été entrée.");
		} else {
			flash("notice", url + " n'est pas une URL valide ");
		}
	}
};
Jeu.supprimerUrl = function(id) {
	jConfirm("Voulez vous vraiment supprimer cette url ?", "Question",
			function(confirmation) {
				if (confirmation) {
					Jeu.rechargerPanneauUrl(vaChercher(faireUrl(Jeu.module,
							"supprimerUrl"), "&id_url=" + id));
				}
			});
};
Jeu.updateMoteurs = function(id) {
	var data = recupererDonneeFormulaire("gestionJeuMoteurs");
	miseEnAttenteZone("#gestionJeuMoteurs");
	var retourServeur = vaChercher(faireUrl(Jeu.module, "updateMoteurs"),
			"&id_jeu=" + id + data);
	Jeu.rechargerPanneauMoteur(retourServeur);
};

/* GESTION DES COMPTES */
var Compte = function() {
};
Compte.module = "compte";
Compte.supprimer = function(id) {
	jConfirm("Voulez vous vraiment supprimer ce compte ?", "Confirmation",
			function(confirmation) {
				var retour = vaChercher(faireUrl(Compte.module, "supprimer"),
						"&id_compte=" + id);

				if (retour == "") {
					Compte.rechargerListe();
				} else {
					flash("error", retour);
				}

			});
};
Compte.purger = function(id) {
	jConfirm("Voulez vous vraiment purger ce compte ?", "Confirmation",
			function(confirmation) {
				var retour = vaChercher(faireUrl(Compte.module, "purger"),
						"&id_compte=" + id);

				if (retour == "") {
					Compte.rechargerListe();
				} else {
					flash("error", retour);
				}

			});
};
Compte.restaurer = function(id) {
	jConfirm("Voulez vous vraiment restaurer ce compte ?", "Confirmation",
			function(confirmation) {
				var retour = vaChercher(faireUrl(Compte.module, "restaurer"),
						"&id_compte=" + id);

				if (retour == "") {
					Compte.rechargerListe();
				} else {
					flash("error", retour);
				}

			});
};
Compte.activer = function(id) {
	jConfirm("Voulez vous vraiment activer ce compte ?", "Confirmation", function(confirmation) {
		var retour = vaChercher(faireUrl(Compte.module, "activer"),
				"&id_compte=" + id);

		if (retour == "") {
			Compte.rechargerListe();
		} else {
			flash("error", retour);
		}

	});
};
Compte.desactiver = function(id) {
	jConfirm("Voulez vous vraiment desactiver ce compte ?", "Confirmation", function(confirmation) {
		var retour = vaChercher(faireUrl(Compte.module, "desactiver"),
				"&id_compte=" + id);

		if (retour == "") {
			Compte.rechargerListe();
		} else {
			flash("error", retour);
		}

	});
};
Compte.droits = function(id) {
	actionAjaxPopup("Editer les droits d'un compte", faireUrl(Compte.module, "droits", "?id_compte=" + id));
};
Compte.rechargerListe = function() {
	var nouveauContenu = vaChercher(faireUrl(Compte.module,	"rechargerListeComptes"));
	$("#gestionComptes").empty().append(nouveauContenu);
	habillerContenu();
};
Compte.validerDroits = function() {
	rechargerFauxPopup(vaChercher(faireUrl(Compte.module, "updateDroits"), recupererDonneeFormulaire("formDroits")));
};
Compte.confirmationActionMultiCompte = function() {
	if ($("#actionSelection").val() == "rien") { // Rien choisi, donc rien à faire
		return false;
	}

	var nombreCoche = 0; // Le nombre de rapports cochés (car il en faut minimum 2 pour voir une évolution)
	$(".coche").each(function() {
		if ($(this).attr("checked")) {
			nombreCoche++;
		}
	});

	if (nombreCoche > 0) {
		jConfirm("Etes-vous sûr ?", "Confirmation", function(r) {
			if (r) {
				$("#gestionComptes").submit();
			} else {
				$("#actionSelection").val("rien");
			}
		});
	} else {
		flash("error", "Vous devez cocher au moins une case.");
		$("#actionSelection").val("rien");
	}
};
