function testForm(nomForm)
{
	champ=nomForm.elements;
	nbr = champ.length;
	i=0;
	while (i<nbr)
	{
		var wtype=champ[i].type.substring(0,4);
		var nom=champ[i].name.slice(0,+10);
		var x = champ[i].value;
		var x = x.replace(/(^\s*)|(\s*$)/g,''); 
		switch (nom)
		{
			case "auteur" :
				nom="'Votre nom ou pseudo'";
				break;
			case "objet" :
				nom="un 'Objet'";
				break;
			case "sujet" :
				nom="un 'Sujet'";
				break;
			case "message" :
				nom="un 'Message'";
				break;
			case "de" :
// Nom de correspondant minimum est xx@

// La longueur du Nom de correspondant
				var longu=champ[i].value.length;
// S'il y a moins de 2 caractères
				if (longu < 2)
				{
					window.alert("Entrez un Nom de correspondant valide!");
					champ[i].focus();
					return false;
				}
				else
				{
//La partie gauche doit commencer par un caractère autre que le point : ^[_a-z0-9-]
//Il peut y avoir plusieurs caractères : ^[_a-z0-9-]+
//Puis un point (l'anti-slash est nécessaire car le point a une signification dans les expressions régulières): ^[_a-z0-9-]+\.
//Ensuite on affiche à nouveau 1 ou plusieurs caractères : ^[_a-z0-9-]+\.[_a-z0-9-]+
//Mais le point n'est pas obligatoire, donc on place des parenthèses, le contenu de ces parenthèses est répété entre 0 et n fois : ^[_a-z0-9-]+(\.[_a-z0-9-]+)*

					var filter  = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*/;
					if (filter.test(x));
					else
					{
						window.alert("Entrez un Nom de correspondant valide!!");
						champ[i].focus();
						return false;
					}
				}
				break;
			case "M" :
			{
// Le Nom de domaine minimum est @yy.zz
				
// La position du dernier point de l'adresse e-mail
				var point = champ[i].value.lastIndexOf(".");
// La longueur du Nom de domaine
				var longu=champ[i].value.length;
// S'il y a moins de 2 caractères jusqu'au point
// s'il n'y a pas de point
// ou si le point se trouve à moins de 2 caractères de la fin
				if((point < 2) || point == -1 || (longu-point < 3))
				{
					window.alert("Entrez un Nom de domaine valide!");
					champ[i].focus();
					return false;
				}
				else
				{
//Puis la partie droite de l'adresse, idem à la partie gauche (avec _ en moins)

					var filter  = /^[a-z0-9-]+(\.[a-z0-9-]+)*/;
					if (filter.test(x));
					else
					{
						window.alert("Entrez un Nom de domaine valide!!");
						champ[i].focus();
						return false;
					}
				}		
				break;
			}
			case "rech" :
				nom="le champ 'Rechercher'";
				break;
		}

		switch (wtype)
		{
			case "text" :
			if (x=="")
			{
				window.alert ("Vous devez saisir "+nom+".");
				champ[i].focus();
				return false;
			}
			default :
		}

		i++;
	}
	return true;
}
