// Vérification de la saisie des champs du formulaire contact
function verifFormContact()
{
	
	nom = document.getElementById("nom_ct").value;
	
	email = document.getElementById("email_ct").value;
	

	tel = document.getElementById("tel_ct").value;
	
	msge = document.getElementById("msg_ct").value;	

	message = "";		
	
	if(nom == "")
	{
		message += " - Votre nom\n";
	}
	
	if(email == "")
	{
		message += " - Votre email\n";
	}
	
	if(msge == "")
	{
		message += " - Votre message\n";
	}
	
	if(message != "")
	{
		alert("Veuillez indiquer :\n\n" + message);	
		return false;
	}	

	
	if(verifMail(email))
	{
		alert("Email invalide");
		return false;		
	}
	
	if(verifTel(tel))
	{
		alert("Téléphone invalide");
		return false;
	}	

}

// Vérifier le formulaire recherche dans la page d'acceuil
function verifChamps()
{

	v_id_gouv = $("#region option:selected").val();
			
	v_id_mat = $("#mat option:selected").val();
	v_id_classe = $("#cls option:selected").val();	
	
	if( v_id_gouv == "0" || v_id_mat == "0" || v_id_classe == "0"  )
	{
		alert("Veuillez choisir une matière, une classe et un gouvernorat");
		return false;
	}
	return true;
}


// Valider le formulaire profil client
function validateFormProfilClient()
{
	
	v_nom = $("#nom").val();
	v_prenom = $("#prenom").val();
	v_date_nais = $("#date_nais").val();
	v_tel = $("#tel").val();
	v_por1 = $("#por1").val();
	v_nat = $("#nat").val();
	v_email = $("#email").val();
	v_adr = $("#adr").val();
	v_id_gouv = $("#gouv option:selected").val();
	v_id_prf = $("#profil option:selected").val();
	v_id_classe = $("#classe option:selected").val();
	v_cp = $("#cp").val();
	
	v_pass = $("#pass").val();
	v_conf = $("#conf").val();
	
	// element avec la classe vis (liste deroulante des classes et son label)
	v_vis = $(".vis");
	
	message = "";		
	
	if(v_nom == "")
	{
		message += " - Votre nom\n";
		
	}
	
	if(v_prenom == "")
	{
		message += " - Votre prénom\n";
	}	
	
	if(v_nat == "")
	{
		message += " - Votre nationalité\n";
	}
	
	if(v_tel == "")
	{
		message += " - Votre télephone\n";
	}	
	
	if(v_email == "")
	{
		message += " - Votre email\n";
	}	
	
	if(v_id_prf == "")
	{
		message += " - Votre profil\n";
	}
	
	// Si la liste des classes est visible
	if( v_vis.length ==2 )
	{
		if(v_id_classe == "")
		{
			message += " - Votre classe d'étude\n";
		}
	}
	
	if(v_id_gouv == "")
	{
		message += " - Votre gouvernorat\n";
	}	
	
	if(v_adr == "")
	{
		message += " - Votre adresse\n";
	}
	
	if(v_cp == "")
	{		
		message += " - Votre code postal\n";
	}	
	
	// Vérifier le mot de passe et la confirmation
	if( v_pass != "" )
	{
		if( v_pass.length < 6 )	
		{
			alert("Mot de passe trop court");
			return false;
		}
		else
		{
			if( v_pass != v_conf )	
			{
				alert("Le mot de passe et la confirmation ne correspandent pas!");
				return false;
			}
		}
	}
	
	// Afficher l'alerte champs non remplis
	if(message != "")
	{
			
		alert("Veuillez indiquer :\n\n" + message);	
		return false;
	}
	
	// Vérifier la validité des champs
	if(v_date_nais!= "" && !verifDate(v_date_nais))
	{
		alert("Date de naissance non valide");
		return false;
	}	
	
	// Vérifier la validité des champs
	if(verifTel(v_tel)==1)
	{
		alert("Téléphone non valide");
		return false;
	}
	
	// Vérifier la validité des champs
	if(verifTel(v_por1)==1)
	{
		alert("Portable non valide");
		return false;
	}			

	// Vérifier la validité des champs
	if(verifMail(v_email)==1)
	{
		alert("E-mail non valide");
		return false;
	}

	// Vérifier la validité des champs
	if(verifEntier(v_cp)==1)
	{
			
		alert("Code postal non valide");
		return false;
	}		
		
	// Envoyer le formulaire
	document.form_profil_client.submit();
}
// Vérifier la saisie des champs de connexion
function verifProfil()
{
	v_login = $("#login").val();
	v_pass = $("#pass").val();

	// Doit être égal à 1 si un radio à été sélectionné dans le groupe type_profil.
	v_type = $('input[type=radio][name=type_profil]:checked').length; 
	
	message = "";		
	
	if(v_login == "")
	{
		message += " - Votre Identifiant\n";
	}
	
	if(v_pass == "")
	{
		message += " - Votre Mot de passe\n";
	}	
	
	if(v_type != 1)
	{
		message += " - Votre Profil\n";
	}		
	
	if(message != "")
	{
		alert("Veuillez indiquer :\n\n" + message);	
		return false;
	}
	
	document.formCon.submit();
}


// Vérifier la saisie des champs de connexion
function verifProfil_mpoublie()
{
	login = $("#login_2").val();
	pass = $("#pass_2").val();

	// Doit être égal à 1 si un radio à été sélectionné dans le groupe type_profil.
	type = $('input[type=radio][name=type_profil_2]:checked').length; 
	
	message = "";		
	
	if(login == "")
	{
		message += " - Votre Identifiant\n";
	}
	
	if(pass == "")
	{
		message += " - Votre Mot de passe\n";
	}	
	
	if(type != 1)
	{
		message += " - Votre Profil\n";
	}		
	
	if(message != "")
	{
		alert("Veuillez indiquer :\n\n" + message);	
		return false;
	}
	
	document.formCon_2.submit();
}

// Vérifier le form mot de passe oublié
function verifChampEmail()
{
	email = $("#email").val();
	if(email=="")
	{
		alert("Veuillez saisir votre email");
		return false;
	}
	else if(verifMail(email)==1)
	{
		alert("Email non valide");
		return false;			
	}
	
	document.formOubli.submit();
}

// charger la liste des sous catégorie du la catégorie selectionné
function get_sub_cats()
{
		
	var main_cat = document.getElementById("main_cat");
	$('#div_sub_cat').load('ajax_scripts/list_sub_cats.php', {"id_main_cat": main_cat.options[main_cat.selectedIndex].value});
}

// charger la liste des domaines du diplome selectionné
function get_domaines()
{
	var dip = document.getElementById("diplome");
	
	$('#div_dom').load('ajax_scripts/list_domaine.php', {"id_dip": dip.options[dip.selectedIndex].value});
}

// Ajouter un parcours dans la liste déroulante
function add_parc()
{	
	// Récuperer les valeurs choisie dans le formulaire
	option_diplome = $( "#diplome option:selected"); // l'objet <option> selctionné dans la lise diplome est retourné
	option_domaine = $( "#domaine option:selected");	
	option_annee = $( "#annee_parc option:selected");
	acquis = $('input[type=radio][name=acquis]:checked').attr('value'); // Récuperer le value du radio "acquis" coché (1 oui 0 non)
	
	diplome_id = option_diplome.val(); // Récuprer le value
	domaine_id = option_domaine.val();
	diplome_text = option_diplome.text(); // Récuprer le text
	domaine_text = option_domaine.text();	
	annee = option_annee.text();
	ecole = $( "#ecole").val();

	if(acquis==1)
		acquis_text = "Acquis";
	else
		acquis_text = "Non acquis";
	
	// Si tout les champs obligatoire sont remplis
	if(diplome_id!="" && domaine_id!="")
	{
		/********* Concatener la chaine de caractère qui vas s'afficher ************/
		chaine = annee+"-"+diplome_text+"-"+domaine_text+"-"+ecole+"-"+acquis_text;
		
		/********* Concatener la chaine de caractère à mettre dans value="" ************/
		// value vas contenir [annee|id_diplome|id_domaine|ecole]. la chaine ecole ne doit pas contenir le caractère "|"
		ecole = Remplacer(ecole,"|","");
		value = annee+"|"+diplome_id+"|"+domaine_id+"|"+ecole+"|"+acquis;
		
		option = "<option value=\""+value+"\">"+chaine+"</option>";

		$("#parcours").append(option); // Ajouter l'option dans la liste déroulante "parcours"
		
		/********* Vider les champs **********/
		$("#domaine option[value='']").attr("selected", "selected");
		$("#diplome option[value='']").attr("selected", "selected");
		$("#acquis_1").attr("checked","checked");
		$( "#ecole").val(" ");
	}
}

// Suuprimer le parcours selectionné dans la liste déroulante
function remove_parc()
{		
	//$( "select[name='parcours'] option:selected").remove(); // Accées avec name
	$( "#parcours option:selected").remove(); // Accées avec id
}

// Ajouter une expèrience dans la liste déroulante
function add_exp()
{		
	// Récuperer les valeurs choisie dans le formulaire
	option_exp = $( "#domaine_exp option:selected"); // l'objet <option> selctionné dans la lise diplome est retourné	
	exp_id = option_exp.val(); // Récuprer le value
	
	exp_text = option_exp.text(); // Récuprer le value
	date_deb = $( "#periode_du").val();
	date_fin = $( "#periode_au").val();	
	
	// Si tout les champs obligatoire sont remplis
	if(date_deb!="" && date_fin!="" && exp_id!="")
	{
		/********* Concatener la chaine de caractère qui vas s'afficher ************/
		chaine = "Du "+date_deb+" Au "+date_fin+"-"+exp_text;
		
		/********* Concatener la chaine de caractère à mettre dans value="" ************/
		value = date_deb+"|"+date_fin+"|"+exp_id;
		
		option = "<option value='"+value+"'>"+chaine+"</option>";
		
		$("#experience").append(option); // Ajouter l'option dans la liste déroulante "parcours"
		
		/********* Vider les champs **********/
		$("#domaine_exp option[value='']").attr("selected", "selected");
		$( "#periode_du").val(" ");
		$( "#periode_au").val(" ");
	}
}

// Suuprimer le parcours selectionné dans la liste déroulante
function remove_exp()
{		
	//$( "select[name='experience'] option:selected").remove(); Accée avec name
	$( "#experience option:selected").remove(); //Accée avec id
}


// Valider le formulaire profil
function validateFormProfil()
{
	
	nom = $("#nom").val();
	prenom = $("#prenom").val();
	date_nais = $("#date_nais").val();
	tel = $("#tel").val();
	por1 = $("#por1").val();
	por2 = $("#por2").val();
	nat = $("#nat").val();
	email = $("#email").val();
	adr = $("#adr").val();
	id_gouv = $("#gouv option:selected").val();
	cp = $("#cp").val();		
	id_main_cat = $("#main_cat option:selected").val();
	id_sub_cat = $("#sub_cat option:selected").val();
	motiv = $("#motiv").val();
	
	message = "";		
	
	if(nom == "")
	{
		message += " - Votre nom\n";
		
	}
	
	if(prenom == "")
	{
		message += " - Votre prénom\n";
	}	
	
	if(nat == "")
	{
		message += " - Votre nationalité\n";
	}
	
	if(tel == "")
	{
		message += " - Votre télephone\n";
	}	
	
	if(email == "")
	{
		message += " - Votre email\n";
	}
	
	if(adr == "")
	{
		message += " - Votre adresse\n";
	}
	
	if(id_gouv == "")
	{
		message += " - Votre gouvernorat\n";
	}
	
	if(cp == "")
	{
		message += " - Votre code postal\n";
	}
	
	if(id_main_cat == "" || id_sub_cat == "")
	{
		message += " - Votre situation professionnelle\n";
	}	
	
	if(motiv == "")
	{
		message += " - Votre motivation\n";
	}	
	

	if(message != "")
	{
			
		alert("Veuillez indiquer :\n\n" + message);	
		return false;
	}
	
	// Vérifier la validité des champs
	if(date_nais != "" && !verifDate(date_nais))
	{
		alert("Date de naissance non valide");
		return false;
	}	
	
	if(verifTel(tel)==1)
	{
		alert("Téléphone non valide");
		return false;
	}
	

	if(verifTel(por1)==1)
	{
		alert("Portable 1 non valide");
		return false;
	}	
	

	if(verifTel(por2)==1)
	{
		alert("Portable 2 non valide");
		return false;
	}		

	// Vérifier la validité dee l'email
	if(verifMail(email)==1)
	{
		alert("E-mail non valide");
		return false;
	}
	/*
	else	
	{		

		// Vérifier l'existance de l'email
		//alert(mailExiste(email))
		if( mailExiste(email) == 1 )
		{
			alert("E-mail déja existant");
			return false;			
		}
		else
		{
			alert("E-mail n'existe pas existant");
			return false;			
		}
	}
	*/

	// Vérifier la validité des champs
	if(verifEntier(cp)==1)
	{
		alert("Code postal non valide");
		return false;
	}	
		
	// Selectionner toutes les otpions dans la select parcours (pour qu'elles soient envoyer par post)	
	$("#parcours option").attr("selected", "selected");
	// Selectionner toutes les otpions dans la select experience (pour qu'elles soient envoyer par post)	
	$("#experience option").attr("selected", "selected");		
		
	// Envoyer le formulaire
	
	document.form_profil.submit();
}

/********* Vérifier l'existance de l'email **********/
function mailExiste(email)
{
	var res = 0;
	$.get("ajax_scripts/mail_exist.php", { mail: email },
	  function(data){
		return data;
		
	  }
	, "text");
}


function Remplacer(expr,a,b) 
{
		
  var i=0
  while (i!=-1) {
	 i=expr.indexOf(a,i);
	 if (i>=0) {
		expr=expr.substring(0,i)+b+expr.substring(i+a.length);
		i+=b.length;
	 }
  }
  return expr;
}

// Vérifier la validité du format de la date
function verifDate(d)
{
	var tab_date = d.split("/");
	var jour = tab_date[0];
	var mois = tab_date[1];
	var annee = tab_date[2];
	if( tab_date.length != "3" || jour.length!="2" || verifEntier(jour) || mois.length!="2" || verifEntier(mois) || annee.length!="4" || verifEntier(annee))
	{
		return false;		
	}	
	
	return true;
}

// Verifier qu'une variable passée en paramètre est un entier mais peut contenir des espaces
function verifTel(entier)
{

	for(i=0;i<entier.length;i++)
		 if((entier.charAt(i) < "0"|| entier.charAt(i) > "9") && (entier.charAt(i) != " "))
		 return 1;
	return 0;	
}

// Verifier qu'une variable passé en paramètre est un entier
function verifEntier(entier)
{

	for(i=0;i<entier.length;i++)
		 if(entier.charAt(i) < "0"|| entier.charAt(i) > "9")
		 	return 1;
	return 0;	
}

// Vérifier qu'une variable passé en paramètre est un réel
function verifReel(reel)
{
	// Diviser la chaine saisie en deux par le délimiteur "."
	// Si ça donne un tableau de taille different de 0 ou 2 -> ce n'est pas un réel
	var param = reel.split(".");

	if((param.length!=2)&&(param.length!=1))
		return 1;
	
	// Si la premiere ou la deuxieme chaine n'est pas entier alors ce n'est pas un réel
	if(param.length==2)
	{
	
		if((verifEntier(param[0])==1)||(verifEntier(param[1])==1)||(param[0]=="")||(param[1]==""))
			return 1;	
	}
	if(param.length==1) 
	{
			
		if(verifEntier(param[0])==1)
		return 1;
	}
	return 0;
	
}

// Verifier la validité d'un email passé en paramètre
function verifMail(email)
{
	
	var arobase = email.indexOf("@");
	var point = email.lastIndexOf(".");
	if((arobase < 3)||(point + 2 > email.length)||(point < arobase+3))
		return true;
	return false;
}

