/**
 *
 * @access public
 * @return void
 **/
function validForm(formulaire){
	var nbElements=formulaire.elements.length;
	var radioCourant="";
	var leReturn=true;
	for (var i=0;i<nbElements;i++){
		var leElement=formulaire.elements[i]
		var leId="_mentionOblig" + i;
		suppMention(leId);
		if(leElement.name){
			// Vérification du caractère obligatoire
			var reg=new RegExp("(_oblig)", "g");
			if(reg.test(leElement.name)){// C'est obligatoire
				switch(leElement.type){
					case "text":
					case "textarea":
						if(!leElement.value){
							ajoutMention(leId,"merci de remplir ce champ obligatoire",leElement);
							if(leReturn == true){
								var toGo="_ancre_" + leId;
							}
							leReturn=false;
							leElement.onkeyup=new Function("","if(this.value){suppMention('" + leId + "');}");
						}
						break;
					case "select-one":
					case "select-multiple":
						if(!leElement.value){
							ajoutMention(leId,"merci de choisir une valeur",leElement);
							if(leReturn == true){
								var toGo="_ancre_" + leId;
							}
							leReturn=false;
						}
						break;
/*
					case "radio":
						if(radioCourant!=leElement.name){
							leElement.parentNode.insertBefore(mentionObligatoire, leElement);
						}
						radioCourant=leElement.name;
						break;
*/
					case "checkbox":
						if(!leElement.checked){
							ajoutMention(leId,"vous devez cocher cette case",leElement);
							if(leReturn == true){
								var toGo="_ancre_" + leId;
							}
							leReturn=false;
						}
						leElement.onclick=new Function("","if(this.checked){suppMention('" + leId + "');}");
						break;
					default:
						break;
				}
			}
			// Vérification de la syntaxe
			var reg=new RegExp("(_email)", "g");
			if(reg.test(leElement.name)){// Ca doit être un email
				if(leElement.value && !isEmail(leElement.value)){
					ajoutMention(leId,"cet email a une syntaxe incorrecte",leElement);
					if(leReturn == true){
						var toGo="_ancre_" + leId;
					}
					leReturn=false;
				}
			}
		}
	}
	if(!leReturn && toGo){
		window.location.hash = toGo;
	}
	return leReturn;
}

function suppMention(leId){
	if(document.getElementById(leId)){
		document.getElementById(leId).parentNode.removeChild(document.getElementById(leId));
	}
}

function ajoutMention(leId,leTexte,leElement){
	if(!document.getElementById(leId)){
		var mentionObligatoire=document.createElement("div");
		mentionObligatoire.setAttribute("id",leId);
		mentionObligatoire.className="champObligatoire";
		var ancre=document.createElement("a");
		ancre.setAttribute("name","_ancre_" + leId);
		mentionObligatoire.appendChild(ancre);
		mentionObligatoire.appendChild(document.createTextNode(leTexte));
		leElement.parentNode.insertBefore(mentionObligatoire, leElement);
	}
}

function isEmail(who) {
	var email=/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;
	return(email.test(who));
}