
function ChampNonVide(ChampNom,message,FormNom) {
 if (document.forms[FormNom].elements[ChampNom].value.length < 1) {
  alert(" "+message);
  document.forms[FormNom].elements[ChampNom].focus();
  return true;
 }
}

function EmailValid (ChampNom,FormNom) {
 adresse = document.forms[FormNom].elements[ChampNom].value;
 var place = adresse.indexOf("@",1);
 var point = adresse.indexOf(".",place+1);
  if ((place > -1)&&(adresse.length >2)&&(point > 1)) {
  return false;
  }
	else {
   alert("Votre adresse e-mail n'est pas valide");
   document.forms[FormNom].elements[ChampNom].focus();
   return true;
  }
}

function validForm(FormNom) {

 if (ChampNonVide('nom' ,'Veuillez saisir votre nom', FormNom)) return false; 
 if (ChampNonVide('prenom' ,'Veuillez saisir votre prénom', FormNom)) return false;
 if (EmailValid ('email' , FormNom)) return false;
 

}

var W3CDOM = (document.getElementsByTagName && document.createElement);
function submitForm () {
	document.forms[0].onsubmit = function () {
		return validate()
	}
}
function validate() {
	validForm = true;
	firstError = null;
	errorstring = '';
	var x = document.forms[0].elements;
	var essential_inputs = new Array (1,2,3,5,6,7);
	var y;
	for (y in essential_inputs) {
		if (!x[essential_inputs[y]].value) {
			writeError(x[essential_inputs[y]],'Incomplet');
		}
//		else if ((x[essential_inputs[y]].name == 'email') && (x[essential_inputs[y]].value.indexOf('@') == -1)) {
//			writeError(x['email'],'Cette adresse mail n\'est pas valide');
//		}
	}
	if ((x[9].value) && (x[9].value.indexOf('@') == -1)) {
			writeError(x['email'],'Cette adresse mail n\'est pas valide');
	}
	if (!W3CDOM)
		alert(errorstring);
	if (firstError)
		firstError.focus();
	if (validForm)
		return true;
	return false;
}

function writeError(obj,message) {
	validForm = false;
	if (!firstError)
		firstError = obj;
	if (obj.hasError) return;
	if (W3CDOM) {
		obj.className += ' error';
		obj.onchange = removeError;
		var sp = document.createElement('span');
		sp.className = 'error';
		sp.appendChild(document.createTextNode(message));
		obj.parentNode.appendChild(sp);
		obj.hasError = sp;
	}
	else {
		errorstring += obj.name + ': ' + message + '\n';
		obj.hasError = true;
	}
}

function removeError()
{
	this.className = this.className.substring(0,this.className.lastIndexOf(' '));
	this.parentNode.removeChild(this.hasError);
	this.hasError = null;
	this.onchange = null;
}
