

// Boucle de validation

function validateForm(tableau) {
	//test du tableau des champs non vides
	for (i=0;i<tableau[0].length;i++)
	{
		if (!isNotEmpty(tableau[0][i])) {return false;}
	}
	
	//test du tableau des champs pour les mails
	for (i=0;i<tableau[1].length;i++)
	{
		if (!isNotEmpty(tableau[1][i])) {return false;}
		if (!isEMailAddr(tableau[1][i])) {return false;}
	}

	//test du tableau des champs pour la date
	for (i=0;i<tableau[2].length;i++)
	{
		if (!isNotEmpty(tableau[2][i])) {return false;}
		if (!isNumber(tableau[2][i])) {return false;}
		
	}
	return true;
}


// Vérifie si un champ a bien été renseigné
function isNotEmpty(elem) {
	var str = elem.value;
    var re = /.+/;
    if(!str.match(re)) {
        alert("Veuillez renseigner les champs obligatoires.");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    } else {
        return true;
    }
}

// Vérifie si l'adresse e-mail est valide
function isEMailAddr(elem) {
	var str = elem.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        alert("Veuillez vérifier le format de votre adresse e-mail.");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    } else {
        return true;
    }
}

//Vérifie si un champ ne contient que des chiffres
function isNumber(elem) {
	var str = elem.value;
    var re = /^[-]?\d*\.?\d*$/;
    str = str.toString();
    if (!str.match(re)) {
        alert("Champs de téléphone n'acceptant que des nombres : 0-9");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    }
    return true;
}

/////////////////// function isLen8(elem) non utiliser dans la verification actuelle : function validateForm(tableau)

// Vérifie si un champ contient 8 caractères
function isLen8(elem) {
	var str = elem.value;
    var re = /\b.{8}\b/;
    if (!str.match(re)) {
        alert("Veuillez respecter le format de date de naissance suivant : '05031970' pour '5 mars 1970'.");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    } else {
        return true;
    }
}

////////////////////////////// \ //////////////////////////////////
// Positionne le curseur dans un champ donné
function focusElement(formName, elemName) {
    var elem = document.forms[formName].elements[elemName];
    elem.focus();
    elem.select();
}