
var _SAVE_PROFILS = "";
var _SAVE_USERS = "";
var _ERREUR_PROFILS = "";
var _CONFIRM_SUPP_PROFIL = "";
var _ERREUR_USERS_COURTE = "";
var _ERREUR_USERS_LONGUE = "";
var _ERREUR_USERS_PSEUDO = "";
var _ERREUR_USERS_EMAIL = "";
var _CONFIRM_SUPP_USER = "";
var _ERREUR_CHAMP_SPE = "";
var _MODIF_USERS = "";
var _COPIE_MDP ="";
var _CONFIRM_SUPP_OPTION = "";

//chargement XML des messages d'erreurs
function uti_lecture_xml_utilisateurs(chemin) {

		$.ajax({
			   type: "POST",
			   url: chemin,
			   dataType: "xml",
			   success: function(xml){
				   
					$("language", xml).each(function(){
					
						_SAVE_PROFILS = $("save_profils", this).text();
						_ERREUR_PROFILS = $("erreur_profils", this).text();
						_CONFIRM_SUPP_PROFIL = $("confirm_profils", this).text();
						_ERREUR_USERS_EMAIL = $("erreur_users_email", this).text();
						_ERREUR_USERS_COURTE = $("erreur_courte", this).text();
						_ERREUR_USERS_LONGUE = $("erreur_longue", this).text();
						_ERREUR_USERS_PSEUDO = $("erreur_users_pseudo", this).text();
						
						_SAVE_USERS = $("save_users", this).text();
						_CONFIRM_SUPP_USER = $("confirm_user", this).text();
						_ERREUR_CHAMP_SPE = $("erreur_champ_spe", this).text();
						_CONFIRM_SUPP_OPTION = $("confirm_option", this).text();
						_MODIF_USERS = $("modifier", this).text();
						_COPIE_MDP = $("copie_mdp", this).text();
						
											
					});
				  
				}
		});
		 
}

//function affichant les erreurs 
function uti_aff_erreur_util(element,texte,duree) {
		if(texte!="")
			$(element).html(texte);
			
		$(element).fadeIn("fast");	
		$(element).show();
		setTimeout('$("'+element+'").fadeOut("slow")',duree);	
}

/*****************************************  USERS *************************************************/

function uti_verification_users(chemin) {
	
	element_retour="#postResult";
	duree=4000;
	liste_element = document.utilForm.id_option_select.value;
	nbr_element = document.utilForm.nbr_option.value;
	
	tab_element = liste_element.split("|");
	
//scan des champs a verifier
	for(i=0;i<nbr_element;i++) {
		
		//recuperation des données du champ
		tab_champ = tab_element[i].split("[]");
		
		//Evaluation du type du champ
		//suppression du debut
		tab_champ_debut = tab_champ[0].split("_"); 
		id_champ = tab_champ_debut[1];
		type_champ = tab_champ[1];
		nom_champ = tab_champ[2];
		verification = tab_champ[3];
		
		//recuperation des infos de la verification
			tab_verif = verification.split("[*]");
			nbr_verif = tab_verif.length;
			obligatoire = tab_verif[0]; //T ou F obligatoire ou pas
			
			if(obligatoire == "T") {
				
				//recuperation du type de verification
				type_de_verif = tab_verif[1];
				
				switch(type_de_verif) {
					
					//********************************** VERIF CHAINE *****************************************/
					case "chaine":	contenu = eval("document.utilForm.option_"+id_champ+".value");
									resultat = uti_verif_chaine_vide(contenu);
										
									//********** verification que la chaine est vide ou pas
									if(resultat === false) {
										uti_aff_erreur_util("#uti_message",_ERREUR_CHAMP_SPE+nom_champ,"3000");
										
										return false;
									}
									//********** verification si c demandé de la longueur du champ
									if(tab_verif[2] != undefined)
									resultat = uti_verif_longueur_chaine(tab_verif[2],contenu);
									
									if(resultat!== true) {
										uti_aff_erreur_util("#uti_message",resultat+nom_champ,"3000");
										return false;
									}
									
									
									break;
					//********************************** VERIF CHECKBOX *****************************************/				
				   case "checkbox":	
				   					if(!eval("document.utilForm.option_"+id_champ+".checked")) {
										uti_aff_erreur_util("#uti_message",_ERREUR_CHAMP_SPE+nom_champ,"3000");
										return false;
									}
									break;	
					
				  //********************************** VERIF TXT *****************************************/
				  case "txt":	
				   					contenu = eval("document.utilForm.option_"+id_champ+".value");
																
									//********** verification si c demandé de la longueur du champ
									if(tab_verif[2] != undefined)
									resultat = uti_verif_longueur_chaine(tab_verif[2],contenu);
									
									if(resultat!== true) {
										uti_aff_erreur_util("#uti_message",resultat+nom_champ,"3000");
										return false;
									}
									
									resultat = uti_verif_pseudo(contenu);
				   					//********** verification que la chaine est vide ou pas
									if(resultat === false) {
										uti_aff_erreur_util("#uti_message",_ERREUR_USERS_PSEUDO+nom_champ,"3000");
										return false;
									}
									break;	
				//********************************** VERIF EMAIL *****************************************/
				  case "email":	
				   					contenu = eval("document.utilForm.option_"+id_champ+".value");
									resultat = uti_IsValidMail(contenu);
				   					//********** verification que la chaine est vide ou pas
									if(resultat === false) {
										uti_aff_erreur_util("#uti_message",_ERREUR_CHAMP_SPE+nom_champ,"3000");
										return false;
									}
									break;				
					
				}//fswitch
				
			}//fin

	}//fin for
	
//Maintenant verification que le compte existe pas
//recuperation du champ fixe email et pseudo
		email_save = "";
		pseudo_save = "";
		
//Si le champ existe on é dans modif donc on exclu le propre email du client		
		if(document.utilForm.mail_save!=null) {
			email_save = document.utilForm.mail_save.value;
			pseudo_save = document.utilForm.pseudo_save.value;
		}
		email = document.utilForm.option_email.value;
		pseudo = document.utilForm.option_pseudo.value;
			
			 $.ajax({
						   type: "POST",
						   data: "email="+email+"&pseudo="+pseudo+"&email_save="+email_save+"&pseudo_save="+pseudo_save,
						   url: chemin,
						   success: function(msg){
							 tab_resultat = msg.split("|");
							 	
								 if(tab_resultat[0] == "false") {
									uti_aff_erreur_util("#uti_message",tab_resultat[1],"3000");
								  return false;
								 }
								 else {
									document.utilForm.submit();
								 }
							}
				  });
 return true;
}//ffunc

/************************************/

function uti_reset_css(tableau,nbr_element,color_border) {
	
		for(i=0;i<nbr_element;i++) {
			
			//recuperation des données du champ
				tab_champ = tab_element[i].split("[]");
			//Evaluation du type du champ
				id_champ = tab_champ[0];
				//alert(id_champ);
			$("#"+id_champ).css("border-color",color_border);
			
		}
}//ffunc

function uti_erreur_css(element) {
	
	$("#"+element).css("border-color","#FF0000");
}

function uti_verification_compte_catalogue(chemin) {
	
	element_retour="#cat_mess_retour";
	duree=14000;
	
	$(element_retour).attr("class","cat_erreur_saisie");
	liste_element = $("#id_option_select").attr("value");
	nbr_element = $("#nbr_option").attr("value");
	
	color_border = $("#color_border").attr("value");
	tab_element = liste_element.split("|");
	
	//fonction permettant de modifier la css
		uti_reset_css(tab_element,nbr_element,color_border);
//scan des champs a verifier
	for(i=0;i<nbr_element;i++) {
		
		//recuperation des données du champ
		tab_champ = tab_element[i].split("[]");
		
		//Evaluation du type du champ
		id_champ = tab_champ[0];
		type_champ = tab_champ[1];
		nom_champ = tab_champ[2];
		verification = tab_champ[3];
		
		
		//recuperation des infos de la verification
			tab_verif = verification.split("[*]");
			nbr_verif = tab_verif.length;
			obligatoire = tab_verif[0]; //T ou F obligatoire ou pas
			
			if(obligatoire == "T") {
				
				//recuperation du type de verification
				type_de_verif = tab_verif[1];
				
			
				switch(type_de_verif) {
					
					//********************************** VERIF CHAINE *****************************************/
					case "chaine":	contenu = $("#"+id_champ).attr("value");
									//alert(contenu);
									if(contenu == undefined)
										contenu = "";
									resultat = uti_verif_chaine_vide(contenu);
										
									//********** verification que la chaine est vide ou pas
									if(resultat === false) {
										uti_aff_erreur_util(element_retour,_ERREUR_CHAMP_SPE+nom_champ,duree);
										uti_erreur_css(id_champ);
										return false;
									}
									//********** verification si c demandé de la longueur du champ
									if(tab_verif[2] != undefined)
									resultat = uti_verif_longueur_chaine(tab_verif[2],contenu);
									
									if(resultat!== true) {
										uti_aff_erreur_util(element_retour,resultat+nom_champ,duree);
										uti_erreur_css(id_champ);
										return false;
									}
									
									
									break;
					//********************************** VERIF CHECKBOX *****************************************/				
				   case "checkbox":	
				   					if(!eval("document.utilForm.option_"+id_champ+".checked")) {
										uti_aff_erreur_util(element_retour,_ERREUR_CHAMP_SPE+nom_champ,duree);
										return false;
									}
									break;	
					
				  //********************************** VERIF TXT *****************************************/
				  case "txt":	
				   					contenu = $("#"+id_champ).attr("value");
									if(contenu == undefined)
										contenu = "";
																
									//********** verification si c demandé de la longueur du champ
									if(tab_verif[2] != undefined)
									resultat = uti_verif_longueur_chaine(tab_verif[2],contenu);
									
									if(resultat!== true) {
										uti_aff_erreur_util(element_retour,resultat+nom_champ,duree);
										uti_erreur_css(id_champ);
										return false;
									}
									
									resultat = uti_verif_pseudo(contenu);
				   					//********** verification que la chaine est vide ou pas
									if(resultat === false) {
										uti_aff_erreur_util(element_retour,_ERREUR_USERS_PSEUDO+nom_champ,duree);
										return false;
									}
									break;	
				//********************************** VERIF EMAIL *****************************************/
				  case "email":	
				   					contenu = $("#"+id_champ).attr("value");
									if(contenu == undefined)
										contenu = "";
									resultat = uti_IsValidMail(contenu);
				   					//********** verification que la chaine est vide ou pas
									if(resultat === false) {
										uti_aff_erreur_util(element_retour,_ERREUR_CHAMP_SPE+nom_champ,duree);
										uti_erreur_css(id_champ);
										return false;
									}
									break;				
					
				}//fswitch
				
			}//fin

	}//fin for
	
	email = $("#optionfac_email").attr("value");
	pseudo = $("#optionfac_pseudo").attr("value");
	//cas ou est logguer
	
		 $.ajax({
						   type: "POST",
						   data: "email="+email+"&pseudo="+pseudo+"&email_save=&pseudo_save=",
						   url: chemin+'admin/link.php?mod=utilisateurs|v1.0|identification|scripts|verif_donnee.script.php',
						   success: function(msg){
							  
							 tab_resultat = msg.split("|");
							 	
								 if(tab_resultat[0] == "false") {
									uti_aff_erreur_util(element_retour,tab_resultat[1],duree);
								  return false;
								 }
								 else {
									$("#utilForm").submit();
								 }
							}//fsucces
				  });
			return false
}//ffunc


function uti_copie_donnee(element_form) {
	
	element_check = $("#check_dupli").attr("checked");
	if(element_check != undefined) {
		
		tab_element = element_form.split("_");
		if(tab_element[0] == "optionfac")
			$("#optionliv_"+tab_element[1]).attr("value",$("#"+element_form).attr("value"));
	}
	return false;
}//ffunc

function uti_copie_select(element) {
	
		 element_check = $("#check_dupli").attr("checked");
			if(element_check != undefined) {
				 $("#optionliv_pays > option").each(function (i) {
												
						 if($(this).attr('value') == element) 
							$(this).attr('selected','selected');
				 });
			}
		 
}//ffunc

/***********************************/




//verification qu'une chaine est vide ou pas
function uti_verif_chaine_vide(donnee) {
	
	if(donnee=="") {
		return false;
	}
	
	return true;
}

//verification que la longueur est correcte
function uti_verif_longueur_chaine(verif,contenu) {
	
		tab_verif = verif.split(",");
		mini = tab_verif[0];
		maxi = tab_verif[1];
		longueur = contenu.length;
		aff_mini = _ERREUR_USERS_COURTE.replace("(*)",mini);
		aff_maxi = _ERREUR_USERS_LONGUE.replace("(*)",maxi);
		
		if(mini>longueur) 
			return aff_mini;
			
		if(maxi != "" && maxi<longueur)
			return aff_maxi;
		
		return true;
}//ffunc

function uti_verif_pseudo(nom) {
	var liste=/^([A-Za-z0-9]{3,})+([_]?)+[A-Za-z0-9]+$/i;
	return(liste.test(nom));
}

function uti_IsValidMail(mail) {
	var email=/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;
	return(email.test(mail));
}

//function permettant de verifier si un mot est valide avant de modifier
function uti_verification_mdp() {
	
	mdp = document.utilForm.mdp.value;
	
	if(!uti_verif_pseudo(mdp)) {
		uti_aff_erreur_util("#postResult",_ERREUR_USERS_PSEUDO,"3000");
		return false;
	}
	
}//ffunc

function uti_verification_email(element) {
	
	email = document.form_mdp_perdu.email.value;	
	resultat = uti_IsValidMail(email);
	
	if(resultat === false) {
		uti_aff_erreur_util(element,_ERREUR_CHAMP_SPE+"email","3000");
		return false;
	}
	else {
		document.form_mdp_perdu.submit();	
	}
	
	return false
}

//function permettant d'ouvrir une page 
function ouverture_fenetre(page,attribut) {
	
	if(attribut=="")
		attribut = "_self";
	window.open(page,attribut);
}//ffunc

function uti_generateur_mdp(element,chemin) {
	
		
	   $.ajax({
			   type: "POST",
			   url: chemin,
			   success: function(msg){
				  
				  $(element).html("<br><b><font color='#D76B00'>"+msg+"</font></b><br><br><a href=\"#\" onclick=\"uti_copie_news_mdp('"+msg+"')\" class=\"texte\">"+_COPIE_MDP+"</a>");
				  
				}
	  });
	
}//ffunc

////affiche des secondes avant la redirection
function seconde_redirection(element,secondes) {
	
	$(element).html(secondes);
	if(secondes*1>0) {
 		setTimeout("seconde_redirection('"+element+"','"+(secondes-1)+"')",1000);
	}
	
}

function uti_copie_news_mdp(contenu) {
	
	document.utilForm.option_mdp.value = contenu;
}