/* gestion mails et changement de mot de passe*/

/* creer un message d'erreur */
//a : variable contenant le message d'erreur
function creerMessageGM(a){
	var message = document.createElement("div");
	var classe = document.createAttribute("class");
	classe.nodeValue = "erreur";
	message.setAttributeNode(classe);
	message.innerHTML = a;
	return message;
}

/* FONCTION : vérifier l'adresse mail est valide*/
function verifMail(adresse){
	//adresse = adresse_email.value;
	var place = adresse.indexOf("@",1);
	var point = adresse.indexOf(".",place+1);
	if ((place > -1)&&(adresse.length >2)&&(point > 1)) {
		return(true);
	} else {
		//alert('Entrez une adresse e-mail valide!!');
		return(false);
	}
}

/* FORM_creation_mail : controler le format de saisie du formulaire */
function formCmail(){
	var soumis = true;
	var lel = document.getElementById("saisieMail");
	//remettre a zero
	var bloc = lel.parentNode.parentNode;
	var blocs = bloc.getElementsByTagName("div");
	for(i=blocs.length - 1;i>=0;i--){
		if(blocs[i].className == "erreur"){
			blocs[i].parentNode.removeChild(blocs[i]);
	}	}
	
	//traiter la saisie de la date de fin de fermeture
	if (lel.value.length == 0){
		soumis = false;
		lel.focus();
		var message = "L'adresse mail est vide!";
		lel.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.firstChild);
	}
	//traiter le format de la date de fin de fermeture
	else{
		var date = verifMail(lel.value);
		if (date == false){
			soumis = false;
			lel.focus();
			var message = "L'adresse mail saisie n'est pas valide : " + lel.value;
			lel.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.firstChild);
		}else{
			//traiter la saisie de la date de debut de fermeture
			lel = document.getElementById("confirmMail");
			if (lel.value.length == 0){
				soumis = false;
				lel.focus();
				var message = "Le champs de la confirmation de l'adresse mail est vide!";
				lel.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.firstChild);
			}
		}
	}
	
	//anteriorite de la premiere date
	if (soumis){
		var smail = document.getElementById("saisieMail").value;
		var cmail = document.getElementById("confirmMail").value;
		if (smail.toLowerCase() != cmail.toLowerCase()) {
			lel = document.getElementById("saisieMail");
			soumis = false;
			lel.focus();
			var message = "Les deux adresses mail saisies ne sont pas identiques!!!";
			lel.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.firstChild);
	}	}
	
	return soumis;
}

/* FORM_modif_mail : controler le format de saisie du formulaire */
function formMmail(){
	var soumis = true;
	var lel = document.getElementById("saisieMail");
	//remettre a zero
	var bloc = lel.parentNode.parentNode.parentNode.parentNode.parentNode;
	var blocs = bloc.getElementsByTagName("div");
	for(i=blocs.length - 1;i>=0;i--){
		if(blocs[i].className == "erreur"){
			blocs[i].parentNode.removeChild(blocs[i]);
	}	}
	
	//traiter la saisie de la date de fin de fermeture
	if (lel.value.length == 0){
		soumis = false;
		lel.focus();
		var message = "L'adresse mail est vide!";
		lel.parentNode.parentNode.parentNode.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.parentNode.parentNode.parentNode.firstChild);
	}
	//traiter le format de la date de fin de fermeture
	else{
		var date = verifMail(lel.value);
		if (date == false){
			soumis = false;
			lel.focus();
			var message = "L'adresse mail saisie n'est pas valide : " + lel.value;
			lel.parentNode.parentNode.parentNode.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.parentNode.parentNode.parentNode.firstChild);
		}else{
			//traiter la saisie de la date de debut de fermeture
			lel = document.getElementById("confirmMail");
			if (lel.value.length == 0){
				soumis = false;
				lel.focus();
				var message = "Le champs de la confirmation de l'adresse mail est vide!";
				lel.parentNode.parentNode.parentNode.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.parentNode.parentNode.parentNode.firstChild);
			}
		}
	}
	
	//anteriorite de la premiere date
	if (soumis){
		var smail = document.getElementById("saisieMail").value;
		var cmail = document.getElementById("confirmMail").value;
		if (smail.toLowerCase() != cmail.toLowerCase()) {
			lel = document.getElementById("saisieMail");
			soumis = false;
			lel.focus();
			var message = "Les deux adresses mail saisies ne sont pas identiques!!!";
			lel.parentNode.parentNode.parentNode.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.parentNode.parentNode.parentNode.firstChild);
	}	}
	
	return soumis;
}

/* FORM_modif_mdp : controler le format de saisie du formulaire */
function formModifMDP(){
	var soumis = true;
	var lel = document.getElementById("saisieMDP");
	//remettre a zero
	var bloc = lel.parentNode.parentNode.parentNode.parentNode.parentNode;
	var blocs = bloc.getElementsByTagName("div");
	for(i=blocs.length - 1;i>=0;i--){
		if(blocs[i].className == "erreur"){
			blocs[i].parentNode.removeChild(blocs[i]);
	}	}
	//traiter la saisie de la date de fin de fermeture
	if (lel.value.length == 0){
		soumis = false;
		lel.focus();
		var message = "La saisie de mot de passe est vide!";
		lel.parentNode.parentNode.parentNode.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.parentNode.parentNode.parentNode.firstChild);
	}else if (lel.value.length < 8){
		soumis = false;
		lel.focus();
		var message = "Le mot de passe doit contenir au moins 8 caractères!";
		lel.parentNode.parentNode.parentNode.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.parentNode.parentNode.parentNode.firstChild);
	}
	//traiter le format de la date de fin de fermeture
	else{
		var exp = new RegExp("^[0123456789abcdefghijklmnopqrstuvwxyz]{8,}$");
		var isValid = exp.test(lel.value);
		if (isValid == false){
			soumis = false;
			lel.focus();
			var message = "Le mot de passe contient des caractères interdit!";
			lel.parentNode.parentNode.parentNode.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.parentNode.parentNode.parentNode.firstChild);
		}else{
			//traiter la saisie de la date de debut de fermeture
			lel = document.getElementById("confirmMDP");
			if (lel.value.length == 0){
				soumis = false;
				lel.focus();
				var message = "Le champs de la confirmation de mot de passe est vide!";
				lel.parentNode.parentNode.parentNode.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.parentNode.parentNode.parentNode.firstChild);
			}
		}
	}
	//anteriorite de la premiere date
	if (soumis){
		var smdp = document.getElementById("saisieMDP").value;
		var cmdp = document.getElementById("confirmMDP").value;
		if (smdp != cmdp) {
			lel = document.getElementById("saisieMDP");
			soumis = false;
			lel.focus();
			var message = "Les deux mots de passe saisies ne sont pas identiques!!!";
			lel.parentNode.parentNode.parentNode.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.parentNode.parentNode.parentNode.firstChild);
	}	}
	return soumis;
}

/* FORM_mdp : controler le saisie de la récupération de mot de passe */
function formMDP(){
	var soumis = true;
	var lel = document.getElementById("ident");
	//remettre a zero
	var bloc = lel.parentNode.parentNode;
	var blocs = bloc.getElementsByTagName("div");
	for(i=blocs.length - 1;i>=0;i--){
		if(blocs[i].className == "erreur"){
			blocs[i].parentNode.removeChild(blocs[i]);
	}	}
	//traiter la saisie de la date de fin de fermeture
	if (lel.value.length == 0){
		soumis = false;
		lel.focus();
		var message = "La saisie de identifiant est vide!!!";
		lel.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.firstChild);
	}
	//traiter le format de la date de fin de fermeture
	else{
		var exp = new RegExp("^[Dd][0-9]{8,}$"); 
		var isValid = exp.test(lel.value);
		if (isValid == false){
			soumis = false;
			lel.focus();
			var message = "L'identificant n'est pas sour le bon format!!!";
			lel.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.firstChild);
		}else{
			//traiter la saisie de la date de debut de fermeture
			lel = document.getElementById("smail");
			if (lel.value.length == 0){
				soumis = false;
				lel.focus();
				var message = "Le champs de l'adresse mail est vide!";
				lel.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.firstChild);
			}else{
				var valid = verifMail(lel.value);
				if (valid == false){
					soumis = false;
					lel.focus();
					var message = "La saisie n'est pas une adresse valide : " + lel.value;
					lel.parentNode.parentNode.insertBefore(creerMessageGM(message),lel.parentNode.parentNode.firstChild);
				}
			}
		}
	}
	
	return soumis;
}
