 //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;
					}else{
						verifEmail = true;	
					}
				}).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){
				
				//champs checkbox
				if(champs[i+1] == "checkbox"){
					if($("#"+champs[i]).attr("checked") != true){
						etat = false;
						messages += champs[i+2]+"\n";	
					}
				}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]+"\n";
						}
					}else{
						
						//champs vides
						if ($("#"+champs[i]).val() == "") {
							etat = false;
							messages += champs[i+2]+"\n";
						}
						
						//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\n";
								}
							}
						}
					}
				}
			 }
			 
			 //le formulaire est bon
			 if(verifEmail == false){
				 messages += messEmail;
			 }
			 if(etat == true && verifEmail == true){
				 if($("#option0").attr("checked") == false){$("#option0").attr("value", "")};
				 if($("#option1").attr("checked") == false){$("#option1").attr("value", "")};
				 if($("#option2").attr("checked") == false){$("#option2").attr("value", "")};
				 if($("#option3").attr("checked") == false){$("#option3").attr("value", "")};
				 if($("#option4").attr("checked") == false){$("#option4").attr("value", "")};
				 if($("#option5").attr("checked") == false){$("#option5").attr("value", "")};
				 if($("#option6").attr("checked") == false){$("#option6").attr("value", "")};
				 if($("#option7").attr("checked") == false){$("#option7").attr("value", "")};
				 if($("#option8").attr("checked") == false){$("#option8").attr("value", "")};
				 
				 $.post("fonctions.php", {requete:"projet",nom:$("#nom").val(),prenom:$("#prenom").val(),mail:$("#mail").val(),fonction:$("#fonction").val(),entite:$("#entite").val(),message:$("#message").val(),etape1:$("#etape1").val(),etape2:$("#etape2").val(),option0:$("#option0").val(),option1:$("#option1").val(),option2:$("#option2").val(),option3:$("#option3").val(),option4:$("#option4").val(),option5:$("#option5").val(),option6:$("#option6").val(),option7:$("#option7").val(),option8:$("#option8").val()}, function(){
					alert("Nous avons bien pris en compte votre demande.\nNous vous contacterons dans les plus brefs délais.");
				});
				 return false;
			 }else{		 
				 //le formulaire n'est pas bon, on affiche les erreurs
				 alert(messages);
				 return false;
			 }
		 });
     },
 };