  //liens images verif, à mettre à jour
  var lienOk = "images/ok.gif";
  var lienBad = "images/bad.gif";
  var message_erreur = "Votre formulaire est incomplet.";
  var colorFondErreur ="#ff0000";
  var colorFondOk ="#ffffff";
  var colorTextErreur ="#ffffff";
  var colorTextOk ="#000000";
 
 //Classe Veriform
 //Auteur : Quentin DUBORPER
  
 var champs = new Array();
 var verifEmail = true;
 var messEmail = "";
 
 verifForm = function(id){  
     // Variables 
	 this.idForm = id;
	 
	 //initialisation
     this.init();  
 };
 
 
 // Méthodes publiques de verifForm 
 verifForm.prototype = { 
 
     //méthode d'initialisation
     init: function(){
		 
     },
	 
	 //Méthode de la règle 
     regle: function(inputId, type, message, action){
		 
		 //si la règle a comme action un submit on stocke dans un tableau
		 if(action == "submit"){
			 champs.push(inputId);
			 champs.push(type);
			 champs.push(message);
		 }else{
			 
			 //sinon verif en temps réel de l'email
			 if(action == "direct"){
			 	$("#"+inputId).change(function () {
					if (!($("#"+inputId).val().indexOf("@") != "-1" && $("#"+inputId).val().indexOf(".") != "-1" && $("#"+inputId).val() != "")){
						verifEmail = false;
						messEmail = message;
						//on affiche une croix
						$("#"+inputId+" + img").attr("src", lienBad).hide().fadeIn(1000).show;
					}else{
						verifEmail = true;	
						//on affiche un ok
						$("#"+inputId+" + img").attr("src", lienOk).hide().fadeIn(1000).show;
					}
				}).change();
			 }else{
				alert("Erreur dans la syntaxe de la règle");
			 }
		 }
     },
	 
//	 //On lance la vérification  du tableau
//     lance: function(){
//		 //lorsque le bouton submit est appuyé
//		 $("#"+this.idForm).submit(function() {
//			var etat = true;
//		 	var numPass = 0;
//			var firstPassId;
//			var messages = "";
//			
//			$("#retour").hide();
//			
//			//On parcourt le tableau
//			for (var i = 0; i <= champs.length; i = i+3){
//				
//				//On affiche en vert par défaut tous les champs
//				$("#"+champs[i]+" + img").hide;
//				$("#"+champs[i]+" + img").attr("src", lienOk).fadeIn(1000).show;
//				
//				//champs checkbox
//				if(champs[i+1] == "checkbox"){
//					if($("#"+champs[i]).attr("checked") != true){
//						etat = false;
//						messages += champs[i+2]+"<br/>";	
//						
//						//on affiche une croix
//						$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
//					}
//				}else{
//					
//					//verif des autres champs	
//					
//					//verif email
//					if (champs[i+1] == "email") {
//						if (!($("#"+champs[i]).val().indexOf("@") != "-1" && $("#"+champs[i]).val().indexOf(".") != "-1" && $("#"+champs[i]).val() != "")){
//							etat = false;
//							messages += champs[i+2]+"<br/>";
//							
//							//on affiche une croix
//							$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
//						}
//					}
//					else if (champs[i+1] == "nombre") {
//						var reg_num=new RegExp("^[0-9]*$","g");
//						if(!reg_num.test($("#"+champs[i]).val()) || $("#"+champs[i]).val()== ""){
//							etat = false;
//							messages += champs[i+2]+"<br/>";
//							
//							//on affiche une croix
//							$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
//						}
//					}
//					else if(champs[i+1] == "select"){
//						if($("#"+champs[i]).val() == 0){
//							etat = false;
//							messages += champs[i+2]+"<br/>";
//							
//							//on affiche une croix
//							$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
//						}
//					}
//					else if(champs[i+1] == "select-optin"){
//						if($("#"+champs[i]).val() == -1){
//							etat = false;
//							messages += champs[i+2]+"<br/>";
//							
//							//on affiche une croix
//							$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
//						}
//					}
//					else if(champs[i+1] == "radio"){
//						if($("input[name='"+champs[i]+"']:checked").val()== undefined){
//						etat = false;
//						messages += champs[i+2]+"<br/>";	
//						
//						//on affiche une croix
//						$("input[name='"+champs[i]+"'] + img").attr("src", lienBad).fadeIn(1000).show;
//						}else{
//						$("input[name='"+champs[i]+"'] + img").attr("src", lienOk).fadeIn(1000).show;
//						}
//					}
//					else{
//						
//						//champs vides
//						if ($("#"+champs[i]).val() == "") {
//							etat = false;
//							messages += champs[i+2]+"<br/>";
//							
//							//on affiche une croix
//							$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
//						}
//						
//						//verif de la combinaison des passwords (si il y 2 champs password)
//						if(champs[i+1] == "password"){
//							numPass += 1;
//							if(numPass == 1){
//								firstPassId = champs[i];
//							}
//							if(numPass == 2){
//								if($("#"+champs[i]).val() != $("#"+firstPassId).val()){
//									etat = false;
//									messages += "Mot de passe incorrect<br/>";
//									
//									//on affiche une croix
//									$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
//									$("#"+firstPassId+" + img").attr("src", lienBad).fadeIn(1000).show;
//								}
//							}
//						}
//					}
//				}
//			 }
//			 
//			 //le formulaire est bon
//			 if(verifEmail == false){
//				 messages += messEmail;
//			 }
//			 if(etat == true && verifEmail == true){
//				 $("#retour").css({'background-color' : '#47B448'});
//				 $("#retour").html("Tout est ok.").fadeIn(1000);
//				 return true;
//			 }else{
//				 
//				 //le formulaire n'est pas bon, on affiche les erreurs
//				 $("#retour").css({'background-color' : '#9E121B'});
//				 $("#retour").html(message_erreur).fadeIn(1000);
//				 return false;
//			 }
//		 });
//     }
// };


 //	On lance la vérification  du tableau
 	balance: function(){
	 //lorsque le bouton submit est appuyé
		var etat = true;
	 	var numPass = 0;
		var firstPassId;
		var messages = "";
		
		$("#retour").hide();
		
		//On parcourt le tableau
		for (var i = 0; i <= champs.length; i = i+3){
			
			//On affiche en vert par défaut tous les champs
			$("#"+champs[i]+" + img").hide;
			$("#"+champs[i]+" + img").attr("src", lienOk).fadeIn(1000).show;
			$("#"+champs[i]+"").css("backgroundColor", colorFondOk);
			$("#"+champs[i]+"").css("color", colorTextOk);
			//champs checkbox
			if(champs[i+1] == "checkbox"){
				if($("#"+champs[i]).attr("checked") != true){
					etat = false;
					messages += champs[i+2]+"<br/>";	
					
					//on affiche une croix
					$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
				}
			}else{
				
				//verif des autres champs	
				
				//verif email
				if (champs[i+1] == "email") {
					if($("#"+champs[i+1]).length > 0) {
						if (!($("#"+champs[i]).val().indexOf("@") != "-1" && $("#"+champs[i]).val().indexOf(".") != "-1" && $("#"+champs[i]).val() != "")){
							etat = false;
							messages += champs[i+2]+"<br/>";
						
							//on affiche une croix
							$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
							
							$("#"+champs[i]+"").css("backgroundColor", colorFondErreur);
							$("#"+champs[i]+"").css("color", colorTextErreur);

						}
					}
				}
				else if (champs[i+1] == "nombre") {
					var reg_num=new RegExp("^[0-9]*$","g");
					if(!reg_num.test($("#"+champs[i]).val()) || $("#"+champs[i]).val()== ""){
						etat = false;
						messages += champs[i+2]+"<br/>";
						
						//on affiche une croix
						$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
						
						$("#"+champs[i]+"").css("backgroundColor", colorFondErreur);
						$("#"+champs[i]+"").css("color", colorTextErreur);
					}
				}
				else if (champs[i+1] == "codepostal") {
					if($("#"+champs[i]).length > 0) {
						var reg_num=new RegExp("^[0-9]*$","g");
						if($("#"+champs[i]).val().length != 5 || !reg_num.test($("#"+champs[i]).val()) || $("#"+champs[i]).val()== ""){
							etat = false;
							messages += champs[i+2]+"<br/>";
						
							//on affiche une croix
							$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
							
							$("#"+champs[i]+"").css("backgroundColor", colorFondErreur);
							$("#"+champs[i]+"").css("color", colorTextErreur);
						}
					}
				}
				else if(champs[i+1] == "select"){
					if($("#"+champs[i]).val() == 0){
						etat = false;
						messages += champs[i+2]+"<br/>";
						
						//on affiche une croix
						$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
					}
				}
				else if(champs[i+1] == "select-optin"){
					if($("#"+champs[i]).val() == -1){
						etat = false;
						messages += champs[i+2]+"<br/>";
						
						//on affiche une croix
						$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
					}
				}
				else if(champs[i+1] == "radio"){
					if($("input[name='"+champs[i]+"']:checked").val()== undefined){
					etat = false;
					messages += champs[i+2]+"<br/>";	
					
					//on affiche une croix
					$("input[name='"+champs[i]+"'] + img").attr("src", lienBad).fadeIn(1000).show;
					}else{
					$("input[name='"+champs[i]+"'] + img").attr("src", lienOk).fadeIn(1000).show;
					}
				}
				else{
					
					//champs vides
					if ($("#"+champs[i]).val() == "") {
						etat = false;
						messages += champs[i+2]+"<br/>";
						
						//on affiche une croix
						$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
					}
					
					//verif de la combinaison des passwords (si il y 2 champs password)
					if(champs[i+1] == "password"){
						numPass += 1;
						if(numPass == 1){
							firstPassId = champs[i];
						}
						if(numPass == 2){
							if($("#"+champs[i]).val() != $("#"+firstPassId).val()){
								etat = false;
								messages += "Mot de passe incorrect<br/>";
								
								//on affiche une croix
								$("#"+champs[i]+" + img").attr("src", lienBad).fadeIn(1000).show;
								$("#"+firstPassId+" + img").attr("src", lienBad).fadeIn(1000).show;
							}
						}
					}
				}
			}
		 }
		 
		 //le formulaire est bon
		 if(verifEmail == false){
			 messages += messEmail;
		 }
		 if(etat == true && verifEmail == true){
			 $("#retour").css({'background-color' : '#47B448'});
			 $("#retour").html("Tout est ok.").fadeIn(1000);
			 return true;
		 }else{
			 
			 //le formulaire n'est pas bon, on affiche les erreurs
			 $("#retour").css({'background-color' : '#9E121B'});
			 $("#retour").html(message_erreur).fadeIn(1000);
			 return false;
		 }
 }};