// Fonction de validation : est-ce qu'au moins 1 cours/module est selectionné
function validerCours(cheminChamps,champs,msgChamps)
{
	if (msgChamps == "") {msgChamps="Veuillez sélectionner au moins un module"}
	var champs = champs; // partie commune des Checkbox

	var nbrCoursChecked = 0;
	
	for (i=0, n=cheminChamps.elements.length; i<n; i++) {
		if (cheminChamps.elements[i].name.indexOf(champs) != -1) {
			if (cheminChamps.elements[i].checked != "0") {nbrCoursChecked = nbrCoursChecked+1;}
		}
	}
	
	if (nbrCoursChecked == "0") {
		alert(msgChamps);
		return false;
	}
}

// Désélection d'un bouton radio deja sélectionné suite click
var doAction = false;
function uncheckRadio(obj)
{
	doAction = false;
	if(obj.checked)
	{
		doAction = true;
		obj.blur();
		obj.checked = false;
	}
}

// Fonction de verification : si un champs obligatoire n'est pas saisie 
function checkObligatoire(cheminChamps,champs,msgChamps)
{
	if (msgChamps == "") {msgChamps="Veuillez entrer votre " + champs;}
	if (cheminChamps.value == "")
	{
		alert(msgChamps);
		cheminChamps.focus();
		return(false);
	}
}

// Fonction de verification : si autres chose que des chiffres
function checkChiffres(cheminChamps,champs,msgChamps)
{
	var valchamps = cheminChamps.value;
	var champs = champs;

	if (valchamps == "") {return(true)}	// Si le champs n'est pas obligatoire et s'il n'est pas rempli, on ne fait pas le controle

	if (msgChamps == "") {msgChamps="Veuillez ne taper que des chiffres entiers dans le champs " + champs;}

	if(isNaN(valchamps))
	{
		alert(msgChamps);
		cheminChamps.focus();
		return (false);
	}
}

// Fonction de verification : format de l'e-mail
function checkEmail(cheminChamps,champs,msgChamps)
{
	var email=cheminChamps.value;
	var champs=champs;
	var aronbasdebut=email.indexOf("@")
	var aronbasfin=email.lastIndexOf("@")
	var pointfin=email.lastIndexOf(".")
	var nbrchar=email.length

	if (email == "") {return(true)}	// Si le champs n'est pas obligatoire et s'il n'est pas rempli, on ne fait pas le controle

	if (msgChamps == "") {msgChamps="L'" + champs + " entrée n'est pas valide";}

	if ((email.charAt(0)=="@") || (aronbasdebut!=aronbasfin) || ((pointfin+1)==nbrchar) || (aronbasdebut==-1) || (pointfin==-1) || (pointfin<aronbasfin))
	{
		alert(msgChamps);
		cheminChamps.focus();
		return(false);
	}

}

// Fonction de verification : nombre de caractères maximum 
function checkTexteMax(cheminChamps,champs,nbr_max)
{
	if (cheminChamps.value.length > nbr_max)
	{
		alert("Veuillez ne pas tapez plus de " + nbr_max + " caractères dans le champs " + champs);
		cheminChamps.focus();
		return (false);
	}
}

// Fonction de verification : si un bouton radio obligatoire n'est pas coché 
function checkRadio(cheminChamps,champs,msgChamps)
{
	if (msgChamps == "") {msgChamps="Veuillez renseigner le champ : " + champs;}

	var casecoche = 0;
	for (i=0; i < cheminChamps.length; i++)
	{
		if (cheminChamps[i].checked == "1")	
		{var casecoche = 1;}
	}
	if (casecoche != 1)
	{	
		alert(msgChamps);
		cheminChamps[0].focus();
		return(false);
	}
}

// Fonction de verification : si la date n'est pas valide
function checkDate(cheminChamps,champs)
{
	var d=cheminChamps.value;
	var champs=champs;

	if (d == "") {return(true)}	// Si le champs n'est pas obligatoire et s'il n'est pas rempli, on ne fait pas le controle
		
	// Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
	// Le séparateur est défini dans la variable separateur
	var amin=1900; // année mini
	var amax=2900; // année maxi
	var separateur="/"; // separateur entre jour/mois/annee
	var j=(d.substring(0,2));
	var m=(d.substring(3,5));
	var a=(d.substring(6));
	var ok=1;
	if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
		alert("Le jour de la " + champs + " n'est pas correct"); ok=0;
	}
	if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
		alert("Le mois de la " + champs + " n'est pas correct"); ok=0;
	}
	if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
		alert("L'année de la " + champs + " n'est pas correcte"); ok=0;
	}
	if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
		alert("Les séparateurs de la " + champs + " doivent être des "+separateur); ok=0;
	}
	if (ok==1) {
		var d2=new Date(a,m-1,j);
		j2=d2.getDate();
		m2=d2.getMonth()+1;
		a2=d2.getYear();
		if (a2<=1000) {a2=1900+a2}
		if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
			alert("La " + champs + " entrée n'existe pas !");
			ok=0;
		}
	}
	if (ok==0)
	{
		cheminChamps.focus();
		return(false);
	}
}

