/*
Auteur : Killian KOPP
Mail : killian.kopp@fwi-informatique.com
Date : 20.06.2007
Version : 1.0
*/
window.onload = initialisation_formulaire_mailing;
var ligne_save = '';

function initialisation_formulaire_mailing() {
	document.getElementById('mailing_listes').style.display = 'block';
	document.getElementById('mailing_avertissement').style.display = 'none';
	
	var modification = document.getElementById("form_modification").value;
	
	if(modification == 'NON') {
		// Autocorrection du champ mail
		document.getElementById("form_mailing_mail").onchange = controle_formulaire_mail_autocorrection;
		
		document.getElementById("form_mailing_valider").onclick = formulaire_mailing_controle;
	} // fin de si mode normal
	else {
		document.getElementById("form_mailing_valider").onclick = formulaire_mailing_enregistrement_envoi;
	} // fin de else de si mode normal
	
	var valeur_ligne = '';
	
	for(i=1; i <= nb_ligne; i++) {
		valeur_ligne = document.getElementById("form_mailing_liste_" + i).checked;
		if(ligne_save != '') { ligne_save += "_"; }
		ligne_save += valeur_ligne;
	} // fin de for de lecture des lignes
} // fin de la fonction d'initialisation





function formulaire_mailing_controle() {
	var mail = document.getElementById("form_mailing_mail").value;
	
	var erreur = '';
	var nb_select = 0;
	var valeur_ligne = '';
	
	if(mail == '') { erreur += '\n - adresse mail'; }
	for(i=1; i <= nb_ligne; i++) {
		valeur_ligne = document.getElementById("form_mailing_liste_" + i).checked;
		if(valeur_ligne == true) { nb_select ++; }
	} // fin de for de lecture des lignes
	
	if(nb_select == 0) {
		erreur += '\n - choix d\'au moins une liste';
	} // fin de si aucune liste selectionné
	
	if(erreur != '') {
		alert('Vous n\'avez pas saisi des renseignements obligatoires :' + erreur);
	} // fin de si il y a une erreur
	else {
		formulaire_mailing_controle_mail();
	} // fin de else de si il y a une erreur
}// fin de la fonction de validation du formulaire





function formulaire_mailing_controle_mail() {
	var mail = document.getElementById("form_mailing_mail").value;
	
	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	}
	else {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject ("Microsoft.XMLHTTP");
			}
			catch (e) { }
		}
	}
	
	// création de la variable donnees à envoyer
	var donnees = '';
	donnees += 'mail=' + mail;
	
	
	
	document.getElementById("form_mailing_valider").disabled = true;
	
	if (xhr) {
		xhr.onreadystatechange = formulaire_mailing_controle_mail_check;
		xhr.open("POST", "ajax/formulaire_mailing_mail_controle.php", true);
		xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xhr.send(donnees);
	} // fin de si compatible AJAX
	else {
		window.location.replace(AJAX_incompatible_url);
	} // fin de si pas compatible AJAX
} // fin de la fonction de controle du login





function formulaire_mailing_controle_mail_check() {
	var reponse = '';
	
	if (xhr.readyState == 1) {
		reponse = 'Patientez .';
		
		document.getElementById('form_mailing_valider').value = reponse;
	} // fin de l'étape 1
	
	if (xhr.readyState == 2) {
		reponse = 'Patientez ..';
		
		document.getElementById('form_mailing_valider').value = reponse;
	} // fin de l'étape 2
	
	if (xhr.readyState == 3) {
		reponse = 'Patientez ...';
		
		document.getElementById('form_mailing_valider').value = reponse;
	} // fin de l'étape 3
	
	if (xhr.readyState == 4) {
		if (xhr.status == 200) {
			reponse = xhr.responseText;
			
			if(reponse != 0) {
				alert('Ce mail est déjà enregistré ! \n' + 'Suivez les instructions du mail que vous allez recevoir dans quelques minutes.');
				document.getElementById("form_mailing_valider").disabled = false;
				document.getElementById('form_mailing_valider').value = 'valider';
			} // fin de si le login existe déjà
			else {
				formulaire_mailing_enregistrement_envoi();
			} // fin de else de si le login existe déjà
		} // fin de si le statut est 200 (page chargée)
		else {
			reponse = "Erreur de requête : statut " + xhr.status;
			
			alert(reponse);
		} // fin de else de si le statut est 200 (page chargée)
	} // fin de l'étape 4
} // fin de la fonction de affichage (résultat de la requête AJAX)





function formulaire_mailing_enregistrement_envoi() {
	document.getElementById("form_mailing_valider").disabled = true;
	
	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	}
	else {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject ("Microsoft.XMLHTTP");
			}
			catch (e) { }
		}
	}
	
	var ligne_select = '';
	var valeur_ligne = '';
	
	for(i=1; i <= nb_ligne; i++) {
		valeur_ligne = document.getElementById("form_mailing_liste_" + i).checked;
		if(ligne_select != '') { ligne_select += "_"; }
		ligne_select += valeur_ligne;
	} // fin de for de lecture des lignes
	
	var modification = document.getElementById("form_modification").value;
	
	if(modification == 'OUI') {
		//récupération des variables
		var id = document.getElementById("form_modification_id").value;
		var mail = document.getElementById("form_modification_mail").value;
		var code = document.getElementById("form_modification_code").value;
		
		// création de la variable donnees à envoyer
		var donnees = '';
		donnees += 'id=' + id;
		donnees += '&mail=' + mail;
		donnees += '&code=' + code;
		donnees += '&ligne_select=' + ligne_select;
		donnees += '&ligne_save=' + ligne_save;
	} // fin de si modification est OUI
	else {
		//récupération des variables
		var mail = document.getElementById("form_mailing_mail").value;
		
		// création de la variable donnees à envoyer
		var donnees = '';
		donnees += 'mail=' + mail;
		donnees += '&ligne_select=' + ligne_select;
		donnees += '&ligne_save=' + ligne_save;
	} // fin de else de si modification est OUI
	
	if (xhr) {
		xhr.onreadystatechange = formulaire_mailing_enregistrement;
		xhr.open("POST", "ajax/formulaire_mailing_mail_enregistrement.php", true);
		xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xhr.send(donnees);
	} // fin de si compatible AJAX
	else {
		window.location.replace(AJAX_incompatible_url);
	} // fin de si pas compatible AJAX
} // fin de la focntion formulaire_mailing_enregistrement_envoi






function formulaire_mailing_enregistrement() {
	var reponse = '';
	
	if (xhr.readyState == 1) {
		reponse = 'Patientez .';
		
		document.getElementById('form_mailing_valider').value = reponse;
	} // fin de l'étape 1
	
	if (xhr.readyState == 2) {
		reponse = 'Patientez ..';
		
		document.getElementById('form_mailing_valider').value = reponse;
	} // fin de l'étape 2
	
	if (xhr.readyState == 3) {
		reponse = 'Patientez ...';
		
		document.getElementById('form_mailing_valider').value = reponse;
	} // fin de l'étape 3
	
	if (xhr.readyState == 4) {
		if (xhr.status == 200) {
			reponse = xhr.responseText;
			
			if(reponse != '') {
				if(reponse == 'erreur') { reponse = 'Une erreur s\'est produite lors de l\'enregistrement ! \n' + 'Veuillez recommencer.'; }
				if(reponse == 'suppression') { reponse = 'Vous n\'êtes plus inscrit à aucune de nos listes ! \n' + 'Votre adresse mail a été supprimée de notre base de données'; }
				
				alert(reponse);
			} // fin de si erreur
			else {
				document.getElementById('mailing_listes').style.display = 'none';
				document.getElementById('mailing_confirmation').style.display = 'block';
			} // fin de else de si erreur
			
			document.getElementById('form_mailing_valider').disabled = false;
			document.getElementById('form_mailing_valider').value = 'valider';
		} // fin de si le statut est 200 (page chargée)
		else {
			reponse = "Erreur de requête : statut " + xhr.status;
			
			alert(reponse);
		} // fin de else de si le statut est 200 (page chargée)
	} // fin de l'étape 4
} // fin de la fonction de affichage (résultat de la requête AJAX)