
var clAlerte = "#f8e7a3"; // couleur de fond pour les champs invalides
var clValide = "#ffffff"; // couleur de fond pour les champs valides
var carExp = /^.{2,}$/;																 // VCO_ ou VCN_
var heureExp = /^([0-9]|[0-1][0-9]|[2][0-3])[:][0-5]?\d$/; 							 // VHO_ ou VHN_
var dateExp = /^[0-3]?\d{1}[\/|-][0-1]?\d{1}[\/|-]?([0-9][0-9])?([0-9][0-9])?$/;	 // VDO_ ou VDN_
var entierExp = /^\d*$/;															 // VEO_ ou VEN_
var reelExp = /^-?\d*[d{1},.\d+]?\d+$/;												 // VRO_ ou VRN_
var mailExp = /^[\w_][_\w\.\-~]*@[\w_][_\w\.\-~]*\.[\w]{2,}$/i						 // VMO_ ou VMN_
var telExp = /^[0-9+\.\s\-]{6,}$/;	 												 // VTO_ ou VTN_
var apeExp = /^[0-9][0-9][0-9][0-9]?[A-Za-z]{1}$/;	 								 // VAO_ ou VAN_   	  APE (NAF)
var sirExp = /^[0-9]{3}\s?[0-9]{3}\s?[0-9]{3}\s?([0-9]{4}\s?[0-9]{1})?$/;	 		 // VSO_ ou VSN_	  SIREN ou SIRET
var tahitiExp = /^[0-9]{6}$/;	 		 											 // VZO_ ou VZN_	  N° Tahiti

////////////////////////////////////////////////////////////////////////////////		
function valider(leFormulaire){
var accepte = true;
	if (testFormulaire(leFormulaire))
	{
		accepte = true;	
	}
	else
	{
		alert("Il y a des erreurs ou informations manquantes dans les champs colorés en jaune !\nVeuillez remplir correctement les champs obligatoires.\nMerci.");
		accepte = false;		
	}	
return accepte;
}
////////////////////////////////////////////////////////////////////////////////	
function testFormulaire(unFormulaire){
	var V; // code de vérification attribué au champs 
	var obligatoire;
	var testOk = true;									 

	for(i=0;i<unFormulaire.elements.length;i++)
	{	
		obligatoire = unFormulaire.elements[i].name.substring(2,3);
		switch(unFormulaire.elements[i].name.substring(0,2))
		{	
				case "VC" : testOk = estValide(carExp,unFormulaire.elements[i],testOk,obligatoire); break;
				case "VH" : testOk = estValide(heureExp,unFormulaire.elements[i],testOk,obligatoire); break;
				case "VD" : unFormulaire.elements[i].value = unFormulaire.elements[i].value.replace(/\-/,"/"); testOk = estValide(dateExp,unFormulaire.elements[i],testOk,obligatoire); break;
				case "VE" : testOk = estValide(entierExp,unFormulaire.elements[i],testOk,obligatoire); break;
				case "VR" : unFormulaire.elements[i].value = unFormulaire.elements[i].value.replace(/\./,","); testOk = estValide(reelExp,unFormulaire.elements[i],testOk,obligatoire); break;
				case "VM" : testOk = estValide(mailExp,unFormulaire.elements[i],testOk,obligatoire); break;
				case "VT" : testOk = estValide(telExp,unFormulaire.elements[i],testOk,obligatoire); break;
				case "VA" : testOk = estValide(apeExp,unFormulaire.elements[i],testOk,obligatoire); break;
				case "VS" : testOk = estValide(sirExp,unFormulaire.elements[i],testOk,obligatoire); break;
				case "VZ" : testOk = estValide(tahitiExp,unFormulaire.elements[i],testOk,obligatoire); break;
		}
	 }
return testOk;
} 
////////////////////////////////////////////////////////////////////////////////
function estValide(pattern,input,test,obligatoire) {
	if ( (obligatoire=="O" && input.value!="" && pattern.test(input.value)) || (obligatoire=="N" && (input.value=="" || pattern.test(input.value))) )
	{
		input.style.backgroundColor = clValide;
		return test;
	}
	else 
	{
		input.style.backgroundColor = clAlerte;
		return false;
	}
}
function replaceCommas(str){
	return str.replace(/\./,",");
}

////////////////////////////////// Vérifie que soit le N° SIREN/SIRET, soit le N° Tahiti soit indiqué et que les mails soient identiques	
function verifInsc(leFormulaire){
var accepte = true;
  if (window.document.inscription.VSN_SIREN.value==""&window.document.inscription.VZN_NT.value=="")
  {
     alert("Il faut indiquer au minimum soit votre numéro SIREN ou SIRET ici, soit votre numéro de Tahiti dans la case de droite.\nMerci.");
		window.document.inscription.VSN_SIREN.style.backgroundColor = clAlerte;
		window.document.inscription.VZN_NT.style.backgroundColor = clAlerte;	
		accepte = false;	 
  }
  else
  { 
		window.document.inscription.VSN_SIREN.style.backgroundColor = clValide;
		window.document.inscription.VZN_NT.style.backgroundColor = clValide;	
		if (window.document.inscription.VMN_mail1.value==window.document.inscription.VMN_mail2.value)
		{
			window.document.inscription.VMN_mail1.style.backgroundColor = clValide;
			window.document.inscription.VMN_mail2.style.backgroundColor = clValide;	
			accepte = valider(leFormulaire);		
		}
		else
		{
			alert("L'adresse e-mail et sa confirmation ne correspondent pas !");
			window.document.inscription.VMN_mail1.style.backgroundColor = clAlerte;
			window.document.inscription.VMN_mail2.style.backgroundColor = clAlerte;
			accepte = false;		
		}
  }	
return accepte;
}
////////////////////////////////// Vérifie le début d'une adresse e-mail en @moorea.name	
function verifMail(unFormulaire){
	var bon= false;
	var mail= window.document.creation.VMO_mail.value+"@moorea.name";
	pattern= mailExp;									 
	if (testOk=	pattern.test(mail))
	{
		window.document.creation.VMO_mail.style.backgroundColor = clValide; 
		bon= true;
	}
	else
	{
		window.document.creation.VMO_mail.style.backgroundColor = clAlerte; 
		alert("La syntaxe de l'e-mail n'est pas valide !");
		bon= false;
	}		
return bon;
}
////////////////////////////////// Vérifie que soit le N° SIREN/SIRET, soit le N° Tahiti soit indiqué et que les mails soient identiques et non vide	
function verifModif(leFormulaire){
var accepte = true;
  if (window.document.inscription.VSN_SIREN.value==""&window.document.inscription.VZN_NT.value=="")
  {
     alert("Il faut indiquer au minimum soit votre numéro SIREN ou SIRET ici, soit votre numéro de Tahiti dans la case de droite.\nMerci.");
		window.document.inscription.VSN_SIREN.style.backgroundColor = clAlerte;
		window.document.inscription.VZN_NT.style.backgroundColor = clAlerte;	
		accepte = false;	 
  }
  else
  { 
		window.document.inscription.VSN_SIREN.style.backgroundColor = clValide;
		window.document.inscription.VZN_NT.style.backgroundColor = clValide;	
		if (window.document.inscription.VMO_mail1.value==window.document.inscription.VMO_mail2.value)
		{
			window.document.inscription.VMO_mail1.style.backgroundColor = clValide;
			window.document.inscription.VMO_mail2.style.backgroundColor = clValide;	
			accepte = valider(leFormulaire);		
		}
		else
		{
			alert("L'adresse e-mail et sa confirmation ne correspondent pas ps !");
			window.document.inscription.VMO_mail1.style.backgroundColor = clAlerte;
			window.document.inscription.VMO_mail2.style.backgroundColor = clAlerte;
			accepte = false;		
		}
  }	
return accepte;
} 