// --- Fonction de validation du format d'un email

function isEmail(str) {
	var supported = 0;
	if (window.RegExp) {
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supported = 1;
	}
	if (!supported)
		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	return (!r1.test(str) && r2.test(str));
}

// --- Test de format d'une chaĂźne

function isRegExMatch (_zInputStr, _zRegExPattern)
{
	var oRegEx = new RegExp (_zRegExPattern) ;
	return oRegEx.test (_zInputStr) ;
}

// --- Test de format de nombre

function isNumber (_zInputStr)
{
	return isRegExMatch (_zInputStr, "^[0-9]+[,\\.]?[0-9]*$") ;
}

// --- Test de format de Date
function isDate (_zInputStr)
{
	return isRegExMatch (_zInputStr, "^[0-3][0-9]\/[0-1]?[0-9]\/[0-9]{4}$") ;
}

// --- Test de validité de la Date
function isValidDate(d) {
	var dateRegEx = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
	return d.match(dateRegEx);
} 

// --- VĂ©rification de la date de naissance

function verifDateNaiss (_oDateNaissElt)
{
	
	var jour	= _oDateNaissElt.value.substring (0,2) * 1 ;
	var mois	= _oDateNaissElt.value.substring (3,5) * 1 ;
	var annee	= _oDateNaissElt.value.substring (6,10) * 1 ; 
	d = new Date () ;
	var annee_actuelle = eval (d.getFullYear ()) ;
	var age = (annee_actuelle - annee) ;
	
	
	if (!isDate (_oDateNaissElt.value)) 
	{
		// document.getElementById('div_activite').style.display = 'none' ;
	}
	else
	{
		if (age > 18 && age < 200)
		{
			// document.getElementById('zActPhys').value = "" ;
			document.getElementById('div_activite').style.display = 'block' ;
		}
		else
		{
			document.getElementById('zActPhys').value = "" ;
			document.getElementById('div_activite').style.display = 'none' ;
		}
	}
}

function verifDateNaissFirst (_oVal)
{
	var jour	= _oVal.substring (0,2) * 1 ;
	var mois	= _oVal.substring (3,5) * 1 ;
	var annee	= _oVal.substring (6,10) * 1 ; 
	d = new Date () ;
	var annee_actuelle = eval (d.getFullYear ()) ;
	var age = (annee_actuelle - annee) ;
	
	
	if (!isDate (_oVal)) 
	{
		// document.getElementById('div_activite').style.display = 'none' ;
	}
	else
	{
		if (age > 18 && age < 200)
		{
			// document.getElementById('zActPhys').value = "" ;
			document.getElementById('div_activite').style.display = 'block' ;
		}
		else
		{
			// document.getElementById('zActPhys').value = "" ;
			document.getElementById('div_activite').style.display = 'none' ;
		}
	}
}


// --- ProcĂ©dure de validation de formulaire CIN

function validateFormCIN ()
{

	var bRes = true ;
	var zMsgErr = "" ;

	var oForm = document.forms.frmCIN ;	

	if (oForm.zNom.value == "")
	{
		zMsgErr += "- Veuillez renseigner votre nom\n" ;
	}
	if (oForm.zPrenoms.value == "")
	{
		zMsgErr += "- Veuillez renseigner votre prĂ©nom\n" ;
	}
	if (oForm.zEmail.value == "")
	{
		zMsgErr += "- Veuillez renseigner votre adresse email\n" ;
	}
	else if (!isEmail (oForm.zEmail.value))
	{
		zMsgErr += "- Veuillez renseigner une adresse email valide\n" ;
	}
	if (oForm.zPwd.value == "")
	{
		zMsgErr += "- Veuillez renseigner un mot de passe\n" ;
	}
	else
	{
		if (oForm.zConfPwd.value != oForm.zPwd.value)
		{
			zMsgErr += "- Les 2 mots de passe doivent ĂȘtre identique\n" ;
		}
	}
	if (oForm.zDateNaiss.value == "")
	{
		zMsgErr += "- Veuillez renseigner votre date de naissance\n" ;
	}
	else
	{
		if (!isValidDate(oForm.zDateNaiss.value))		
			zMsgErr += "- Veuillez renseigner une date de naissance valide \n" ;
	}


	if (oForm.zPoids.value == "")
	{
		zMsgErr += "- Veuillez renseigner votre poids\n" ;
	}
	else if (!isNumber (oForm.zPoids.value))
	{
		zMsgErr += "- Veuillez renseigner un poids valide\n" ;
	}
	else
	{
		var zNewPoids = oForm.zPoids.value.replace (",", ".") ;
		var rNewPoids = parseFloat (zNewPoids) ;
		if (rNewPoids < 20 || rNewPoids > 200)
		{
			zMsgErr += "- Le poids doit ĂȘtre compris entre 20 et 200 kg\n" ;
		}
	}
	if (oForm.zTaille.value == "")
	{
		zMsgErr += "- Veuillez renseigner votre taille\n" ;
	}
	else if (!isNumber (oForm.zTaille.value))
	{
		zMsgErr += "- Veuillez renseigner une taille valide\n" ;
	}
	else
	{
		var zNewTaille = oForm.zTaille.value.replace (",", ".") ;
		var rNewTaille = parseFloat (zNewTaille) ;
		if (rNewTaille < 0.7 || rNewTaille > 2.5)
		{
			zMsgErr += "- La taille doit ĂȘtre comprise entre 0,7 et 2,5 m\n" ;
		}
	}
	if (oForm.zCiv.value == "")
	{
		zMsgErr += "- Veuillez renseigner votre sexe\n" ;
	}
	
	if (document.getElementById('div_activite').style.display == 'block')
	{
		if (oForm.zActPhys.value == "")
		{
			zMsgErr += "- Veuillez renseigner votre niveau d'activitĂ© physique\n" ;
		}
	}

	if (zMsgErr != "")
	{
		alert (zMsgErr) ;
	}

	bRes = (zMsgErr == "") ;

	return bRes ;

}

function validateFormCIN2 ()
{

	var bRes = true ;
	var zMsgErr = "" ;

	var oForm = document.forms.frmCIN ;	

	if (oForm.zEmail.value == "")
	{
		zMsgErr += "- Veuillez renseigner votre adresse email\n" ;
	}
	else if (!isEmail (oForm.zEmail.value))
	{
		zMsgErr += "- Veuillez renseigner une adresse email valide\n" ;
	}
	if (oForm.zPwd.value == "")
	{
		zMsgErr += "- Veuillez renseigner un mot de passe\n" ;
	}
	if (oForm.zDateNaiss.value == "")
	{
		zMsgErr += "- Veuillez renseigner votre date de naissance\n" ;
	}
	else if (!isDate(oForm.zDateNaiss.value))
	{
		zMsgErr += "- Veuillez renseigner une date de naissance valide \n" ;
	}
	if (oForm.zPoids.value == "")
	{
		zMsgErr += "- Veuillez renseigner votre poids\n" ;
	}
	else if (!isNumber (oForm.zPoids.value))
	{
		zMsgErr += "- Veuillez renseigner un poids valide\n" ;
	}
	else
	{
		var zNewPoids = oForm.zPoids.value.replace (",", ".") ;
		var rNewPoids = parseFloat (zNewPoids) ;
		if (rNewPoids < 20 || rNewPoids > 200)
		{
			zMsgErr += "- Le poids doit ĂȘtre compris entre 20 et 200 kg\n" ;
		}
	}
	if (oForm.zTaille.value == "")
	{
		zMsgErr += "- Veuillez renseigner votre taille\n" ;
	}
	else if (!isNumber (oForm.zTaille.value))
	{
		zMsgErr += "- Veuillez renseigner une taille valide\n" ;
	}
	else
	{
		var zNewTaille = oForm.zTaille.value.replace (",", ".") ;
		var rNewTaille = parseFloat (zNewTaille) ;
		if (rNewTaille < 0.7 || rNewTaille > 2.5)
		{
			zMsgErr += "- La taille doit ĂȘtre comprise entre 0,7 et 2,5 m\n" ;
		}
	}
	if (oForm.zCiv.value == "")
	{
		zMsgErr += "- Veuillez renseigner votre sexe\n" ;
	}

	if (document.getElementById('div_activite').style.display == 'block')
	{
		if (oForm.zActPhys.value == "")
		{
			zMsgErr += "- Veuillez renseigner votre niveau d'activitĂ© physique\n" ;
		}
	}

	if (zMsgErr != "")
	{
		alert (zMsgErr) ;
	}

	bRes = (zMsgErr == "") ;

	return bRes ;

}

// --- Ouverture pop_up

function ouvre(_zUrl)
{

	var left = 0;
	var top  = 0;
	left = (screen.width - 280)/2;
	top  = (screen.height - 280)/2;
	MM_openBrWindow(_zUrl,'','width=730,height=360,left='+left+',top='+top+'');
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

// --- Changement du titre de la fenĂȘtre principale

function setTopTitle (_zNewTitle)
{
	// parent.parent.document.title = _zNewTitle ;
	top.document.title = _zNewTitle ;
}

function isInteger(_zInputStr) {
	return (_zInputStr.toString().search(/^-?[0-9]+$/) == 0);
}

