var nbKeyUpConfirmMdp; // variable globale

function initForm() {
	document.inscription.enceinte[0].checked = "checked";
	document.inscription.nbEnfants.value = "0";
	nbKeyUpConfirmMdp = 0;
}

function switchEnceinte(obj) {
	var parent = document.getElementById("attORacc");
	var children = parent.getElementsByTagName("tr");
	
	for (j=0; j<children.length; j++) {
		var bgColor = "#FFFFFF";
		
		if (children[j].className == obj.value) {
			bgColor = "#FFE3F4";
			children[j].style.display = "block";
			children[j].style.background = bgColor;
		}
		else {
			children[j].style.background = bgColor;
			children[j].style.display = "none";
		}
		
		if (children[j].className.indexOf("Head",0) > -1) {
			children[j].style.display = "block";
			
			if (children[j].className == obj.value+"Head") bgColor = "#FFE3F4";
			else bgColor = "#FFFFFF";
			
			children[j].style.background = bgColor;
		}
	}
}

function saisieNbEnfants(obj) {
	var lenNb = obj.value.RLTrim().length;
	var regNb = /^[0-9]{1,2}$/;
	var verifNb = regNb.test(obj.value);
	
	if (lenNb > 0) {
		if (!verifNb) {
			alert("Vous devez saisir un nombre.");
			obj.value = "0";
			obj.focus();
		}
		else {
			ajoutEnfants(obj.value);
		}
	}
}

function ajoutEnfants(nb) {
	var ladate = new Date();
	var url = "ajout_enfants.asp";
 	var pars = "nbEnfants="+nb+"&anticache=" + ladate.getTime();
	
	var myAjax = new Ajax.Updater("ajoutEnfants",
                url,
                {
                 method: "get",
                 parameters: pars,
                 onComplete: OnUpdateAjoutEnfants(nb)
                });
}

function OnUpdateAjoutEnfants(nb) {
	// mise à jour de la hauteur du cadre pouyr certain navigateur
	var cadreHeight = 660;
	
	if (parseInt(nb) > 3) {
		for (i=4; i<=parseInt(nb); i++) {
			cadreHeight += 75;
		}
	}
	document.getElementById("cadre").style.height = cadreHeight+"px";
}

function activeConfirmation(obj, obj_bis) {
	if (obj.value.length > 4) {
		obj_bis.disabled = false;
		obj_bis.style.background = "#FFFFFF";
	}
	else {
		obj_bis.value = "";
		nbKeyUpConfirmMdp = 0;
		obj_bis.disabled = true;
		obj_bis.style.background = "#EEEEEE";
	}
}

function modifMdp(obj, obj_bis) {
	if (obj.value.length > 4) {
		obj_bis.disabled = false;
		obj_bis.style.background = "#FFFFFF";
	}
	else {
		obj_bis.value = "";
		nbKeyUpConfirmMdp = 0;
		obj_bis.disabled = true;
		obj_bis.style.background = "#EEEEEE";
	}
}

function compteComfirmMdp(obj) {
	if (obj.value == "") nbKeyUpConfirmMdp = 0;
	else nbKeyUpConfirmMdp++;
	
	if ((obj.value.length > nbKeyUpConfirmMdp) && (nbKeyUpConfirmMdp == 1)) {
		alert("Le copier/coller n'est pas autorisé pour la confirmation du mot de passe !");
		obj.value = "";
		nbKeyUpConfirmMdp = 0;
	}
}

function verifVous(form, pathHttps) {
	pathHttp = 'http://primage.comtel.fr/'
	var ladate = new Date();
	
	var objNom = form.nom;
	var lenNom = objNom.value.RLTrim().length;
	
	var objPrenom = form.prenom;
	var lenPrenom = objPrenom.value.RLTrim().length;
	
	var objAdresse 	=	form.adresse;
	var lenAdresse = objAdresse.value.RLTrim().length;
	
	var objCP 		=	form.cp;
	var lenCP= objCP.value.RLTrim().length;
	
	var objVille 	=	form.ville;
	var lenVille = objVille.value.RLTrim().length;
	
	var objPays 	=	form.pays;
	var lenPays  = objPays.value.RLTrim().length;

	var objMobile 	=	form.mobile;
	var lenMobile	 = objMobile.value.RLTrim().length;



	var objEmail = form.email;
	var lenEmail = objEmail.value.RLTrim().length;
	var regEmail = /^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*@([a-zA-Z0-9-]{2,}[.])+[a-zA-Z]{2,4}$/;
	var verifEmail = regEmail.test(objEmail.value);
	
	var objMdp = form.mdp;
	var objMdpBis = form.mdp_bis;
	var regMdp = /^[a-zA-Z0-9]{5,16}$/;
	var lenMdp = objMdp.value.RLTrim().length;
	var verifMdp = regMdp.test(objMdp.value);
	
	if (lenNom == 0) {
		alert("Votre nom n'est pas renseigné !");
		objNom.focus();
	}
	else if (lenPrenom == 0) {
		alert("Votre prénom n'est pas renseigné !");
		objPrenom.focus();
	}
	else if (lenAdresse == 0) {
		alert("Votre adresse n'est pas renseignée !");
		objAdresse.focus();
	}
	else if (lenCP == 0) {
		alert("Votre CP n'est pas renseigné !");
		objCP.focus();
	}
	else if (lenVille == 0) {
		alert("Votre ville n'est pas renseignée !");
		objVille.focus();
	}
	
	else if (lenPays == 0) {
		alert("Votre pays n'est pas renseignée !");
		objPays.focus();
	}
//	else if (lenMobile == 0) {
//		alert("Votre mobile n'est pas renseigné !");
//		objMobile.focus();
//	}
	
	else if (lenEmail == 0) {
		alert("Votre email n'est pas renseigné !");
		objEmail.focus();
	}
	else if (!verifEmail) {
		alert("Votre email n'a pas le bon format !");
		objEmail.focus();
	}
	else {
		var existeEmail = file(pathHttps+"existe_email.asp?email="+escape(objEmail.value)+"&anticache="+ladate.getTime());
		
		if(existeEmail.readyState == 4) { // page éxécutée correctement
			if (parseInt(existeEmail.responseText) > 0) {
				alert("Inscription impossible,\ncette adresse email est déjà utilisée !");
				objEmail.value = "";
				objEmail.focus();
			}
			else if (lenMdp == 0) {
				alert("Votre mot de passe n'est pas renseigné !");
				objMdp.focus();
			}
			else if (!verifMdp) {
				alert("Votre mot de passe n'a pas le bon format :\n- Il doit contenir 5 à 16 caractères.\n- Il ne peut contenir que des lettres ou des numéros.");
				objMdp.focus();
			}
			else if (objMdp.value != objMdpBis.value) {
				alert("La confirmation de votre mot de passe n'est pas valide !");
				objMdpBis.value = "";
				objMdpBis.focus();
			}
			else verifNaissance(form);
		}
		else {
			alert("Inscription impossible,\nun problème est survenu, veuillez réessayer ultérieurement !");
			return false;
		}
	}
}

function verifNaissance(form) {
	var objDay = form.jour;
	var objMonth = form.mois;
	
	var objYear = form.annee;
	var regYear = /^[0-9]{4}$/;
	var verifYear = regYear.test(objYear.value);
	
	if (objDay.value != "--") {
		if (objMonth.value == "--") {			
			alert("Merci de compléter votre date de naissance !");
			objMonth.focus();
		}
		else if (!verifYear) {
			alert("Merci de compléter votre date de naissance !");
			objYear.value = "";
			objYear.focus();
		}
		else verifBebe(form);
	}
	else if (objMonth.value != "--") {
		if (objDay.value == "--") {
			alert("Merci de compléter votre date de naissance !");
			objDay.focus();
		}
		else if (!verifYear) {
			alert("Merci de compléter votre date de naissance !");
			objYear.value = "";
			objYear.focus();
		}
		else verifBebe(form);
	}
	else if (!verifYear) {
		if (objDay.value == "--") {
			alert("Merci de compléter votre date de naissance !");
			objDay.focus();
		}
		else if (objMonth.value == "--") {
			alert("Merci de compléter votre date de naissance !");
			objMonth.focus();
		}
		else verifBebe(form);
	}
	else verifBebe(form);
}

function verifBebe(form) {
	var objEnceinte = form.enceinte;
	var valEnceinte = "";
	var regYear = /^[0-9]{4}$/;
	
	for (var i=0; i<objEnceinte.length; i++) {
		if (objEnceinte[i].checked) valEnceinte = objEnceinte[i].value;
	}
	
	if (valEnceinte == "attente") {
		var objDayAtt = form.dayAtt;
		var objDayAttSelected = objDayAtt.options[objDayAtt.selectedIndex];
		
		var objMonthAtt = form.monthAtt;
		var objMonthAttSelected = objMonthAtt.options[objMonthAtt.selectedIndex];
		
		var objYearAtt = form.yearAtt;
		var verifYearAtt = regYear.test(objYearAtt.value);
		
		if (objDayAttSelected.value == "--") {
			alert("Veuillez saisir le jour de la date d'accouchement prévu !");
			objDayAtt.focus();
		}
		else if (objMonthAttSelected.value == "--") {
			alert("Veuillez saisir le mois de la date d'accouchement prévu !");
			objMonthAtt.focus();
		}
		else if (!verifYearAtt) {
			alert("L'année de la date d'accouchement prévu n'a pas le bon format !");
			objYearAtt.focus();
		}
		else verifEnfants(form);
	}
	else {
		var objDayAcc = form.dayAcc;
		var objDayAccSelected = objDayAcc.options[objDayAcc.selectedIndex];
		
		var objMonthAcc = form.monthAcc;
		var objMonthAccSelected = objMonthAcc.options[objMonthAcc.selectedIndex];
		
		var objYearAcc = form.yearAcc;
		var verifYearAcc = regYear.test(objYearAcc.value);
		
		var objPrenomEnfant = form.prenomEnfant;
		var lenPrenomEnfant = objPrenomEnfant.value.RLTrim().length;
	
		if (objDayAccSelected.value == "--") {
			alert("Veuillez saisir le jour de naissance de votre bébé !");
			objDayAcc.focus();
		}
		else if (objMonthAccSelected.value == "--") {
			alert("Veuillez saisir le mois de naissance de votre bébé !");
			objMonthAcc.focus();
		}
		else if (!verifYearAcc) {
			alert("L'année de naissance de votre bébé n'a pas le bon format !");
			objYearAcc.focus();
		}
		else if (lenPrenomEnfant == 0) {
			alert("Comment s'appelle votre bébé ?");
			objPrenomEnfant.focus();
		}
		else verifEnfants(form);
	}
}

function verifEnfants(form) {
	var objNbEnfants = form.nbEnfants;
	var error = true;
	var regYear = /^[0-9]{4}$/;
	
	if (parseInt(objNbEnfants.value) > 0) {
		for (i=1; i<parseInt(objNbEnfants.value)+1; i++) {
			
			var objPrenomEnfant = eval("form.prenomEnfant"+i);
			var lenPrenomEnfant = objPrenomEnfant.value.RLTrim().length;
			
			var objDayEnfant = eval("form.dayEnfant"+i);
			var objDayEnfantSelected = objDayEnfant.options[objDayEnfant.selectedIndex];
			
			var objMonthEnfant = eval("form.monthEnfant"+i);
			var objMonthEnfantSelected = objMonthEnfant.options[objMonthEnfant.selectedIndex];
			
			var objYearEnfant = eval("form.yearEnfant"+i);
			var verifYearEnfant = regYear.test(objYearEnfant.value);
		
			if (lenPrenomEnfant == 0) {
				alert("Comment s'appelle votre enfant en position "+i+" ?");
				objPrenomEnfant.focus();
				error = true;
				break;
			}
			else if (objDayEnfantSelected.value == "--") {
				alert("Veuillez saisir le jour de naissance de votre enfant en position "+i+" !");
				objDayEnfant.focus();
				error = true;
				break;
			}
			else if (objMonthEnfantSelected.value == "--") {
				alert("Veuillez saisir le mois de naissance de votre enfant en position "+i+" !");
				objMonthEnfant.focus();
				error = true;
				break;
			}
			else if (!verifYearEnfant) {
				alert("L'année de naissance de votre enfant en position "+i+" n'a pas le bon format !");
				objYearEnfant.focus();
				error = true;
				break;
			}
			else error = false;
		}
		
		if (!error) verifAccepte(form);
	}
	else verifAccepte(form);
}

function verifAccepte(form) {
	var objAccepte = form.accepte;
	
	if (objAccepte.checked == false) {
		if (window.confirm("Voulez-vous vraiment vous inscrire sans recevoir nos conseils et nos informations ?")) form.submit();
		else return false;
	}
	else form.submit();
}

function verifIdentification(form, cEmail, cMdp, pathHttps, pathHttp) {
	var ladate = new Date();
	
	if (form != undefined) {
		var objEmail = form.email;
		var valEmail = objEmail.value;
		
		var objMdp = form.mdp;
		var valMdp = objMdp.value;
	}
	else {
		var valEmail = cEmail;
		var valMdp = cMdp;
	}
	
	var lenEmail = valEmail.RLTrim().length;
	var regEmail = /^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*@([a-zA-Z0-9-]{2,}[.])+[a-zA-Z]{2,4}$/;
	var verifEmail = regEmail.test(valEmail);
	
	var lenMdp = valMdp.RLTrim().length;
	
	if (lenEmail == 0) {
		alert("Votre email n'est pas renseigné !");
		if (form != undefined) objEmail.focus();
	}
	else if (!verifEmail) {
		alert("Votre email n'a pas le bon format !");
		if (form != undefined) objEmail.focus();
	}
	else if (lenMdp == 0) {
		alert("Votre mot de passe n'est pas renseigné !");
		if (form != undefined) objMdp.focus();
	}
	else {
		if (form != undefined) var sUrl = pathHttps+"verif_compte.asp";
		else var sUrl = pathHttp+"verif_compte_bis.asp";
		
		var existeCompte = file(sUrl+"?email="+escape(valEmail)+"&mdp="+escape(valMdp)+"&anticache="+ladate.getTime());
		
		if(existeCompte.readyState == 4) { // page éxécutée correctement
			if (parseInt(existeCompte.responseText) != 1) {
				alert("Impossible de vous identifier,\nil doit y avoir une erreur dans votre adresse email ou dans votre mot de passe !");
				if (form != undefined) objMdp.value = "";
			}
			else {
				if (form != undefined) form.submit();
				else document.location.href = pathHttps+"identification_ok.asp";
			}
		}
		else {
			alert("Identification impossible,\nun problème est survenu, veuillez réessayer ultérieurement !");
			return false;
		}
	}
}

function initIdent() {
	if (document.identification.repAcc != undefined) document.identification.repAcc[0].checked = "checked";
}

function reponseAccouche(obj, nb) {
	var form = document.getElementById("blocContent");
	var cadre = document.getElementById("cadre");
	var valider = document.getElementById("btnValider");
	var cadreHeight = 450;
	
	if (obj.value == 1) {
		form.style.display = "block";
		valider.style.display = "block";
		if (parseInt(nb) > 2) {
			for (i=3; i<=parseInt(nb); i++) {
				cadreHeight += 75;
			}
		}
	}
	else {
		form.style.display = "none";
		valider.style.display = "none";
	}
	
	cadre.style.height = cadreHeight+"px";
}

function verifAccouche(form, nb) {
	var error = true;
	var regYear = /^[0-9]{4}$/;
			
	var objPrenomEnfant = eval("form.prenomEnfant");
	var lenPrenomEnfant = objPrenomEnfant.value.RLTrim().length;
	
	var objDayEnfant = eval("form.dayEnfant");
	var objDayEnfantSelected = objDayEnfant.options[objDayEnfant.selectedIndex];
	
	var objMonthEnfant = eval("form.monthEnfant");
	var objMonthEnfantSelected = objMonthEnfant.options[objMonthEnfant.selectedIndex];
	
	var objYearEnfant = eval("form.yearEnfant");
	var verifYearEnfant = regYear.test(objYearEnfant.value);

	if (lenPrenomEnfant == 0) {
		alert("Comment s'appelle votre enfant ?");
		objPrenomEnfant.focus();
	}
	else if (objDayEnfantSelected.value == "--") {
		alert("Veuillez saisir le jour de naissance de votre enfant !");
		objDayEnfant.focus();
	}
	else if (objMonthEnfantSelected.value == "--") {
		alert("Veuillez saisir le mois de naissance de votre enfant !");
		objMonthEnfant.focus();
	}
	else if (!verifYearEnfant) {
		alert("L'année de naissance de votre enfant n'a pas le bon format !");
		objYearEnfant.focus();
	}
	else form.submit();
}

function oubliMdp(form, cEmail, pathHttps, pathHttp) {
	var ladate = new Date();
	
	if (form != undefined) {
		var objEmail = form.email;
		var valEmail = objEmail.value;
	}
	else var valEmail = cEmail;
	
	var lenEmail = valEmail.RLTrim().length;
	var regEmail = /^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*@([a-zA-Z0-9-]{2,}[.])+[a-zA-Z]{2,4}$/;
	var verifEmail = regEmail.test(valEmail);
	
	if (lenEmail == 0) {
		alert("Saisissez votre adresse email, puis cliquez sur Mot de passe oublié.\nUn mail vous rappelant votre mot de passe vous sera envoyé !");
		if (form != undefined) objEmail.focus();
	}
	else if (!verifEmail) {
		alert("Votre email n'a pas le bon format !");
		if (form != undefined) objEmail.focus();
	}
	else {
		if (form != undefined) var sUrl = pathHttps+"envoi_mdp.asp";
		else var sUrl = pathHttp+"envoi_mdp_bis.asp";
		
		var envoiMdp = file(sUrl+"?email="+escape(valEmail)+"&anticache="+ladate.getTime());
		
		if(envoiMdp.readyState == 4) { // page éxécutée correctement
			if (envoiMdp.responseText == 0) {
				alert("Adresse email inconnue.\nNous vous invitons à vous inscrire !");
				redirect(pathHttps+"inscription.asp?email="+escape(valEmail));
			}
			else if (envoiMdp.responseText == 1) {
				alert("Vous n'êtes pas inscrit(e).\nNous vous invitons à le faire dès maintenant !");
				redirect(pathHttps+"inscription.asp?email="+escape(valEmail));
			}
			else if (envoiMdp.responseText == 2) {
				alert("Un mail vous a été envoyé.\nVous y trouverez votre mot de passe.\n\nA très bientôt !");
			}
			else {
				alert("Opération impossible,\nUn problème est survenu lors de l'envoi, veuillez réessayer ultérieurement !");
			}
		}
		else {
			alert("Opération impossible,\nun problème est survenu, veuillez réessayer ultérieurement !");
			return false;
		}
	}
}