/*

	Fonctions javascripts pour AJAX

*/

// -------------- Gestion des TAFS --------------
// Rayer un TAF :
function rayer_taf(id_taf)
{
	var script_php = 'php/ajax/rayer_taf.php'; // Script PHP à utiliser.
	var data = 'id_taf='+escape(id_taf); // Données à envoyer au script PHP.
	// Fonction de retour en cas de succès :
	function success(rep) // rep est la retour du script php (dans le echo final du script en question).
	{
		if(rep == 'ok')
		{
			document.getElementById('bloc_bouton_derayer_'+id_taf).style.display = "inline";
			document.getElementById('bloc_bouton_rayer_'+id_taf).style.display = "none";
			document.getElementById('bloc_etat_'+id_taf).className = "etat_raye";
		}
		else
			alert('ERREUR');
	}
	
	ajax_general(script_php, data, success);
}

// Dérayer un TAF :
function derayer_taf(id_taf)
{
	var script_php = 'php/ajax/derayer_taf.php'; // Script PHP à utiliser.
	var data = 'id_taf='+escape(id_taf); // Données à envoyer au script PHP.
	// Fonction de retour en cas de succès :
	function success(rep) // rep est la retour du script php (dans le echo final du script en question).
	{
		if(rep == 'ok')
		{
			document.getElementById('bloc_bouton_rayer_'+id_taf).style.display = "inline";
			document.getElementById('bloc_bouton_derayer_'+id_taf).style.display = "none";
			document.getElementById('bloc_etat_'+id_taf).className = "etat_normal";
		}
		else
			alert('ERREUR');
	}
	
	ajax_general(script_php, data, success);
}

// Mettre un TAF à la corbeille :
function mettre_taf_corbeille(id_taf)
{
	var script_php = 'php/ajax/mettre_taf_corbeille.php'; // Script PHP à utiliser.
	var data = 'id_taf='+escape(id_taf); // Données à envoyer au script PHP.
	// Fonction de retour en cas de succès :
	function success(rep) // rep est la retour du script php (dans le echo final du script en question).
	{
		if(rep == 'ok')
		{
			document.getElementById('bloc_taf_'+id_taf).style.display = "none";
		}
		else
			alert('ERREUR');
	}
	
	ajax_general(script_php, data, success);
}

// Restaurer un TAF depuis la corbeille :
function restaurer_taf_depuis_corbeille(id_taf)
{
	var script_php = 'php/ajax/restaurer_taf_depuis_corbeille.php'; // Script PHP à utiliser.
	var data = 'id_taf='+escape(id_taf); // Données à envoyer au script PHP.
	// Fonction de retour en cas de succès :
	function success(rep) // rep est la retour du script php (dans le echo final du script en question).
	{
		if(rep == 'ok')
		{
			document.getElementById('bloc_taf_corbeille_'+id_taf).style.display = "none";
		}
		else
			alert('ERREUR');
	}
	
	ajax_general(script_php, data, success);
}

// Mettre un catégorie à la corbeille :
function mettre_cat_corbeille(id_cat)
{
	var script_php = 'php/ajax/mettre_cat_corbeille.php'; // Script PHP à utiliser.
	var data = 'id_cat='+escape(id_cat); // Données à envoyer au script PHP.
	// Fonction de retour en cas de succès :
	function success(rep) // rep est la retour du script php (dans le echo final du script en question).
	{
		if(rep == 'ok')
		{
			//document.getElementById('bloc_categorie_'+id_cat).style.display = "none";
			document.getElementById(id_cat).style.display = "none";
		}
		else
			alert('ERREUR');
	}
	
	ajax_general(script_php, data, success);
}

// Restaurer une catégorie depuis la corbeille :
function restaurer_cat_depuis_corbeille(id_cat)
{
	var script_php = 'php/ajax/restaurer_cat_depuis_corbeille.php'; // Script PHP à utiliser.
	var data = 'id_cat='+escape(id_cat); // Données à envoyer au script PHP.
	// Fonction de retour en cas de succès :
	function success(rep) // rep est la retour du script php (dans le echo final du script en question).
	{
		if(rep == 'ok')
		{
			document.getElementById('bloc_cat_corbeille_'+id_cat).style.display = "none";
		}
		else
			alert('ERREUR');
	}
	
	ajax_general(script_php, data, success);
}

// Supprimer définitvement un TAF :
function suppr_def_taf(id_taf)
{
	var script_php = 'php/ajax/suppr_def_taf.php'; // Script PHP à utiliser.
	var data = 'id_taf='+escape(id_taf); // Données à envoyer au script PHP.
	// Fonction de retour en cas de succès :
	function success(rep) // rep est la retour du script php (dans le echo final du script en question).
	{
		if(rep == 'ok')
		{
			document.getElementById('bloc_taf_corbeille_'+id_taf).style.display = "none";
		}
		else
			alert('ERREUR');
	}
	
	ajax_general(script_php, data, success);
}

// Supprimer définitvement une catégorie (et ses TAFS qui sont dans la corbeille) :
function suppr_def_cat(id_cat)
{
	var script_php = 'php/ajax/suppr_def_cat.php'; // Script PHP à utiliser.
	var data = 'id_cat='+escape(id_cat); // Données à envoyer au script PHP.
	// Fonction de retour en cas de succès :
	function success(rep) // rep est la retour du script php (dans le echo final du script en question).
	{
		document.getElementById('bloc_cat_corbeille_'+id_cat).style.display = "none";
		//alert(rep);
		var tous_id_taf_a_suppr = rep.substr(1, rep.length);
		//alert(tous_id_taf_a_suppr);
		var tab_id_taf_a_suppr = tous_id_taf_a_suppr.split('-')
		for(var i=0; i<tab_id_taf_a_suppr.length; i++)
		{
			document.getElementById('bloc_taf_corbeille_'+tab_id_taf_a_suppr[i]).style.display = "none";
		}
	}
	
	ajax_general(script_php, data, success);
}

// Recalculer le nombre de TAFS dans la corbeilles pour l'afficher dans le menu gauche :
function recalculer_nbr_taf_corbeille(id_membre)
{
	//document.getElementById('contenu_bloc_corbeille').innerHTML = 'chargement...';

	var script_php = 'php/ajax/recalculer_nbr_taf_corbeille.php'; // Script PHP à utiliser.
	var data = 'id_membre='+escape(id_membre); // Données à envoyer au script PHP.
	// Fonction de retour en cas de succès :
	function success(rep) // rep est la retour du script php (dans le echo final du script en question).
	{
		document.getElementById('contenu_bloc_corbeille').innerHTML = rep;
	}
	
	ajax_general(script_php, data, success);
}

// -------------- Formulaire d'inscription : --------------
// Vérification pseudo unique :
function verif_unicite_pseudo(pseudo_a_verifier)
{
	var script_php = 'php/ajax/verif_unicite_pseudo.php'; // Script PHP à utiliser.
	var data = 'pseudo_a_verifier='+escape(pseudo_a_verifier); // Données à envoyer au script PHP.
	// Fonction de retour en cas de succès :
	function success(rep) // rep est la retour du script php (dans le echo final du script en question).
	{
		if(pseudo_a_verifier == "")
			document.getElementById('rep_unicite_pseudo').innerHTML = '';
		else
			document.getElementById('rep_unicite_pseudo').innerHTML = rep;
	}
	
	ajax_general(script_php, data, success);
}

// Vérification mail unique :
function verif_unicite_mail(mail_a_verifier)
{
	var script_php = 'php/ajax/verif_unicite_mail.php'; // Script PHP à utiliser.
	var data = 'mail_a_verifier='+escape(mail_a_verifier); // Données à envoyer au script PHP.
	// Fonction de retour en cas de succès :
	function success(rep) // rep est la retour du script php (dans le echo final du script en question).
	{
		if(mail_a_verifier == "")
			document.getElementById('rep_unicite_mail').innerHTML = '';
		else
			document.getElementById('rep_unicite_mail').innerHTML = rep;
	}
	
	ajax_general(script_php, data, success);
}


// ----------------------------------------------------------------------------------------------------------------------------------
// ************************************ Fonction générale d'utilisation d'AJAX : NE PAS MODIFIER ************************************
// ----------------------------------------------------------------------------------------------------------------------------------

function ajax_general(script, donnees, fonction_succes)
{
	var req = null; 
	
	if(window.XMLHttpRequest) req = new XMLHttpRequest();
	else if (window.ActiveXObject) req  = new ActiveXObject('Microsoft.XMLHTTP'); 
	req.open('POST', script, true);
	req.onreadystatechange = function()
	{
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				fonction_succes(req.responseText);
			}
			else
				document.ajax.dyn.value="Error: returned status code " + req.status + " " + req.statusText;
		}
	};
	
	// Avec POST :
	req.setRequestHeader('Content-type','application/x-www-form-urlencoded'); // en-tête HTTP
	req.send(donnees); // envoi de la requête
}
