function test_validite_date(date){
	Expression = new RegExp("([0-9]{2})([.]{1})([0-9]{2})([.]{1})([0-9]{4})","i")
	if(Expression.test(date) && date.length==10){
		return true
	}
	else{
		return false;
	}
}

function check_commande(liste_champs,langue,suite,argument_suite){
	//dictionnaire
	if(langue=="de"){
		trad_le_champ = "Das Feld";
		trad_est_obligatoire = "ist obligatorisch";
		est_invalide = "is ungültig";
	}
	else{
		trad_le_champ = "Le champ";
		trad_est_obligatoire = "est obligatoire";
		est_invalide = "est invalide";
	}
	var erreurs = false;
	var i=0;
	for(i=0;i<liste_champs.length;i++){
		var type_check = liste_champs[i][0];
		var champ_check = liste_champs[i][1];
		var value_check = document.getElementById(champ_check).value;
		
		if(type_check=="vide" && value_check==""){alert(trad_le_champ+" < "+champ_check+" > "+trad_est_obligatoire+".");erreurs=true}
		if(type_check=="nombre" && (isNaN(value_check) || value_check=="")){alert(trad_le_champ+" < "+champ_check+" > "+est_invalide+".");erreurs=true}
		if(type_check=="date" && !test_validite_date(value_check)){alert(trad_le_champ+" < "+champ_check+" > "+est_invalide+".");erreurs=true}
		
		if(type_check=="email"){
			// l'adresse minimum est xx@yy.zz
			var point=value_check.lastIndexOf('.');

			// La position du dernier point de l'adresse evalue_check
			var arob=value_check.lastIndexOf('@');

			// La position du dernier @ de l'adresse evalue_check
			var longu=value_check.length;

			// La longueur de l'adresse
			if((longu-point < 3) || (longu-arob) < 6 || arob > point || point == -1 || arob == -1){
				// Si le point se trouve a moins de 2 caractères de la fin
				// ou si l'arobase se trouve a moins de 5 caractères de la fin
				// ou si il n'y a pas de point après @
				// ou si il n'y a pas de point ou pas de @
				alert(trad_le_champ+" < "+champ_check+" > "+est_invalide+".");
				erreurs	= true;			
			}
		}
	}
	if(!erreurs)setTimeout(suite+"('"+argument_suite+"')",0);
}
