var nberrabs = 0;
var msgerrabs = "";

//Fonction de modification du message d'erreur
function ajerr(nomchamp)
{
	if (nberrabs) msgerrabs = msgerrabs + '\n - ' + nomchamp;
	else msgerrabs = '\n - ' + nomchamp;
	nberrabs++;
	return;
}

//Fonction de parcours des champs du formulaire et des champs obligatoires
//Utilisation : verification(nom du formulaire, nom 1er champ, description 1er champ, nom 2ème champ, description 2ème champ, ...)
function verification(args)
{
	//Initialisation du nombre d'erreurs et du message
	nberrabs = 0;
	msgerrabs = "";
	var vide = /^[ ]*$/;
	var argv = verification.arguments;																		//Récupération des arguments de la fonction
	var argc = argv.length;																						
	var formulaire = document.forms[argv[0]];																//Récupération des champs du formulaire
	var champs = formulaire.elements;
	for (var i=1; i<argc; i+=2)																			//Parcours des champs obligatoires
		for (var j=0; j<champs.length; ++j)																//Parcours des champs du formulaire
		{
			if ((champs[j].name == argv[i]) && (vide.test(champs[j].value)))							//Si champs correspondant et champ obligatoire vide
			{
				ajerr(argv[i+1]);																				//Ajout de la description au message d'erreur
				j=champs.length;
			}
		}
	if (nberrabs)																								//Si des champs obligatoires n'ont pas été renseignés
	{
		if (nberrabs > 1) alert('Les champs suivants sont obligatoires :' + msgerrabs);	//Affichage du message d'erreur
		else alert('Le champ suivant est obligatoire :' + msgerrabs);
		return false;
	}
	return true;
}

//Fonction de vérification de validité d'un numéro de téléphone
function telephone(numero)
{
//	var modele = /^[0-9]{10}$/;											//Définition de l'expression régulière correspondante
	var modele = /^0[1-9]((\ |\.)?[0-9]{2}){4}$/;
	if (modele.test(numero)) return true;		//Si numéro de téléphone correct
	alert('Le numéro de téléphone n\'est pas au bon format');	//Affichage du message d'erreur
	return false;
}

//Vérifie si la valeur du champ spécifié est un nombre positif
function intpos(chaine, intitule)
{
	if (chaine > 0) return true;
	alert(intitule + ' doit être un nombre positif');
	return false;
}

function alpha(chaine, intitule)
{
	var modele = /^[a-zA-Z][a-zA-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåæçèéêëìíîïñòóôõöùúûüýÿŒœ\-\'\ ]*$/
	if (modele.test(chaine)) return true;
	alert(intitule + ' ne doit contenir que des lettres. La première lettre ne doit pas être accentuée.');
	return false;
}

//Vérifie la validité d'un mail
function mail(chaine)
{
	var modele = /^[a-zA-Z0-9]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\.\-]+\.[a-zA-Z]+$/;
	if (modele.test(chaine)) return true;
	alert('L\'E-mail n\'est pas au bon format');
	return false;
}

function codepostal(chaine)
{
	var modele = /^[0-9]{5}$/;
	if (modele.test(chaine)) return true;
	alert('Le code postal n\'est pas valide');
	return false;
}
