function tousChampsRemplis(leform){
	nbtablo = leform.length;
	
	for(n=0;n<nbtablo;n++){
		if(leform.elements[n].value == ""){
			alert ('tous les champs doivent etre renseignés');
			return false;
			break;
		}
	}
}


function testForm(leform,loption){
		
/**
* DEFINITION DES PATTERN DES EXPRESSIONS REGULIERES :
* 
* NV (non vide) contient au moins 1 caractère
* NUM (numérique) ne contient que des nombres
* ALPHANUM (alphanumérique) contient des nombres ou des caractères (non speciaux)
* EMAIL (email) contient une adresse email valide
* MINCAR (minimum caractère) contient un nombre minimum de caractères (6)
*
* CONFIGURATION : 
* couleurNok = "#ffcc00";
*
* DEPLOIEMENT :
* onSubmit="return testForm(this,'nomChamp=pattern');"
* this = le formulaire du submit
* nomChamp = attibut name du champ à tester
* pattern = abreviation du pattern attibué
* exemple :
* onSubmit="return testForm(this,'email=EMAIL,prenom=NV');"
* 
**/
	reTableau = new Array();
	
	reTableau['NV'] = /.+/;
	reTableau['NV_error'] = "is required.";
	
	reTableau['NUM'] = /^[0-9]$/;
	reTableau['NUM_error'] = "must contain numbers.";
	
	reTableau['ALPHANUM'] = /[\w]/;
	reTableau['ALPHANUM_error'] = "must contain numbers or letters [a-z]";
	
	reTableau['EMAIL'] = /[-.\w]{2,}@{1}[\-\.\w]{2,}\.{1}[\-\.\w]{2,}/;
	reTableau['EMAIL_error'] = "must contain an e-mail address.";
	
	reTableau['MINCAR'] = /.{6,}/;
	reTableau['MINCAR_error'] = "doit comporter 6 caractères";
	
	
	couleurNok = "#ff6600";
	
	errorLog = "";
	tablochamp = loption.split(",");
		
	for (x in tablochamp){

		champExpr = tablochamp[x].split("=");
		nomDuChamp = champExpr[0];
		nomDeRegEx = champExpr[1];
					
		var OK = reTableau[nomDeRegEx].test(leform.elements[nomDuChamp].value);
		
		if (!OK){
			// color
			leform.elements[nomDuChamp].style.background = couleurNok;
			regError = nomDeRegEx+"_error";
			errorLog += "["+nomDuChamp+"] "+reTableau[regError]+"\n";
		}
				
	}
	
	if(errorLog != ""){
		alert (errorLog);
		return false;
	}
	return true;

}


function ResetCouleurError(leform){
/**
* DEPLOIEMENT :
* onfocus="ResetCouleurError(this);
* 
**/
	couleurOk = "#ffffff"
	leform.style.background = couleurOk ;
}


function ouvrePop(fichier){
	
	var fenetre = window.open(fichier, 'detail', 'width=400,height=400');
	fenetre.focus();
}

