function estCeUnMail(champs)
{
 var mail = /^[\w\-]+(\.[\w\-]+)*@[\w\-]+(\.[\w\-]+)*\.[\w\-]{2,}$/;
    var reponse=mail.test(champs.value)
    if (!reponse)
    {
		alert("Attention, votre adresse mail est invalide.");
        document.form.email.value="";
}
    return reponse;
}


test_text = "*"; // à renseigner si on utilise une chaîne de caractère identique pour chaque label de champs obligatoire
test_class = ""; // à renseigner si on identifie les labels par une class css
message = "merci de remplir tous les champs obligatoires";

function verif_form(formulaire) {
	vide = 0;
	for ( var i=0; i<formulaire.getElementsByTagName("label").length; i++ ) {
		element_label = formulaire.getElementsByTagName("label")[i];
		txt_label = element_label.firstChild.nodeValue;
		class_label = element_label.className;
		if ( (test_text != "" && txt_label.indexOf(test_text) != -1) || (test_class != "" && class_label == test_class) ) {
			if ( element_label.getAttribute("htmlFor") || element_label.getAttribute("for") ) {
				if ( document.all ) id_champs = element_label.getAttribute("htmlFor");
				else id_champs = element_label.getAttribute("for");
				champs = document.getElementById(id_champs);
				if ( champs.tagName == "INPUT" && champs.getAttribute("type") == "text" ) {
					if ( champs.value == "" ) vide ++;
				}
				else if ( champs.tagName == "TEXTAREA" && champs.value == "" ) vide ++;
			}
			else {
				if ( element_label.getElementsByTagName("input")[0] ) {
					input_label = element_label.getElementsByTagName("input")[0];
					if ( input_label.getAttribute("type") == "text" && input_label.value == "" ) vide ++;
				}
				else if ( element_label.getElementsByTagName("textarea")[0] && element_label.getElementsByTagName("textarea")[0].value == "" ) vide ++;
			}
		}
	}
	for (var j=0; j<formulaire.getElementsByTagName("select").length; j++ ) {
		liste = formulaire.getElementsByTagName("select")[j];
		for ( var k=0; k<liste.options.length; k++) {
			if ( liste.options[k].selected == true && liste.options[k].value == "" ) vide ++;
		}
	}
	if ( vide != 0 ) {
		alert(message);
		return false;
	}
	else {
		return true;
	}
}
window.onload = function() {
	document.getElementsByTagName("form")[0].onsubmit = 
	function () { return verif_form(this); }
}