function surligne(champ, erreur)
{
   if(erreur)
      champ.style.backgroundColor = "#fba";
   else
      champ.style.backgroundColor = "";
}

function verifVide(champ)
{
	if(champ.value.length == 0)
	{
      surligne(champ, true);
      return false;
   	}
   	else
   	{
      surligne(champ, false);
      return true;
  	}
}

function verifNombre(champ)
{
	var regex = /^[0-9]{0,}$/;
	if(!regex.test(champ.value))
   {
      surligne(champ, true);
      return false;
   }
   else
   {
      surligne(champ, false);
      return true;
   }
}

function verifNom(champ)
{
   var regex = /^[a-zA-Zéèàê]+[ \-']?[[a-zA-Zéèàê]+[ \-']?]*[a-zA-Zéèàê]+$/;
   if(!regex.test(champ.value))
   {
      surligne(champ, true);
      return false;
   }
   else
   {
      surligne(champ, false);
      return true;
   }
}

function verifMail(champ)
{
   var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
   if(!regex.test(champ.value))
   {
      surligne(champ, true);
      return false;
   }
   else
   {
      surligne(champ, false);
      return true;
   }
}

function verifPass(champ)
{
   var regex = /^.{6,}$/;
   if(!regex.test(champ.value))
   {
      surligne(champ, true);
      return false;
   }
   else
   {
      surligne(champ, false);
      return true;
   }
}



function verifFormulaireContact(f)
{
   var nomOk = verifNom(f.nom);
   var prenomOk = verifNom(f.prenom);
   var mailOk = verifMail(f.email);
   var messageOk = verifVide(f.message);
   
   if(nomOk && prenomOk && mailOk && messageOk )
      return true;
   else
   {
      alert("Veuillez remplir correctement tous les champs");
      return false;
   }
}


function verif_pass() {

// on place les saisies dans des variables pour plus de commodité
mot_de_passe1 = document.forms[0]['password'].value;
mot_de_passe2 = document.forms[0]['password_confirmation'].value;

// si les deux saisies sont différentes :
if ( mot_de_passe1 != mot_de_passe2 ) {
alert('Vous n\'avez pas resaisi le meme mot de passe !');
return false;
}

// si elles ne sont pas différentes (si elles sont identiques en fait ;-)
else {
return true;
}
}



function danger()
{
		if (document.forms[0]['condition_defi'].checked == false)
			{
				alert("Attention, vous ne pouvez pas inscrire un défi qui ne répond pas aux conditions de sécurités ou législatives");
				return false;
			}
			else
			{
	return true;

			}
}

function vrai()
{
		if (document.forms[0]['honneur'].checked == false)
			{
				alert("Vous devez déclarer sur l'honneur que votre résultat est bien exacte");
				return false;
			}
			else
			{
	return true;

			}
}

function Cgu()
{
		if (document.forms[0]['condition'].checked == false)
			{
				alert("Veuillez accepter les conditions générales d\'utilisation");
				return false;
			}
			else
			{
	return true;

			}
}


<!--
function MM_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- '+nm+' doit contenir une adresse email.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- '+nm+' doit obligatoirement contenir un nombre.\n';
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' est obligatoire.\n'; }
    } if (errors) alert('Les erreurs suivantes se sont produites:\n'+errors);
    document.MM_returnValue = (errors == '');
} }

var max=200;  		// 50 caractères maximum

function compter(f) {
	
	var txt=f.presentation.value;
	var nb=txt.length;
	if (nb>max) { 
		alert("Pas plus de "+max+" caractères dans ce champ");
		f.zone.presentation=txt.substring(0,max);
		nb=max;
	}
	f.nbcar.value=nb;
}

//-->
