//----------------------------------------------------------------------
// Traite la demande suivante 'chargerVilles'
// Actualise l'iframe 'idIFrame' avec en parametres les valeur des champs
// 'idElementCodePostal' et 'idElementPays'
//
// Parametres :
//    - idIFrame : identifiant de l'iframe
//    - idElementCodePostal : identifiant du code postal
//    - idElementPays : identifiant du pays
//    - idElementListeVilles : identifiant de la liste des villes
// Valeur retournee : booleen
//----------------------------------------------------------------------
function chargerVillesBlah (idIFrame, idElementCodePostal, idElementPays, idElementListeVilles) {

   if (compteCaracteres(idElementCodePostal) >= 5) {
      // Recuperation des valeurs des champs passes en parametres
      var codePostal = document.getElementById(idElementCodePostal).value;
      var codePays = document.getElementById(idElementPays).value;
      var element = document.getElementById(idIFrame);
   
      // Mise a jour de la source avec les parametres
      element.src = element.src.replace(/txtCodePostal=[^&]*/, 'txtCodePostal=' + codePostal);
      element.src = element.src.replace(/id_cp_txt=[^&]*/, 'id_cp_txt=' + codePostal);
      element.src = element.src.replace(/listePays=[^&]*/, 'listePays=' + codePays);
      element.src = element.src.replace(/ddlPays=[^&]*/, 'listePays=' + codePays);
      element.src = element.src.replace(/element=[^&]*/, 'element=' + idElementListeVilles);
   } else {
      supprimeOption(idElementListeVilles);
      return false;
   }
   return true;
}



	function verificationFormulaire(){
	
		/* on défini le booleen d'envoi à TRUE */
		var envoie = true;
		 
		/* Récupération des données entrées par l'utilisateur */
		var identifiant = window.document.getElementById('id_indentifiant_txt').value;
		var password = window.document.getElementById('id_password_txt').value;
		var passwordConfirm = window.document.getElementById('id_password_confirm_txt').value;
		var nom = window.document.getElementById('id_nom_txt').value;
		var prenom = window.document.getElementById('id_prenom_txt').value;
		var adresse = window.document.getElementById('id_adresse_txt').value;
		var cp = window.document.getElementById('id_cp_txt').value;
		var telephone = window.document.getElementById('id_telephone_txt').value;
		var dateNaissance = window.document.getElementById('id_dateNaissance_txt').value;
		
		//etc... même code que précédement
		
	
		/* verification de la validité du mail d'identifiant */
		var validiteMail = VerifMail(identifiant);
		if(!validiteMail){
			afficheId('div_email');
			envoie = false;
		} else {
			cacheId('div_email');
		}
		
		/* verification de la validité des 2 champs mot de passe : ils doivent être identiques */
		if (password==""){
			afficheId('div_passworda');
			envoie = false;
		} else {
			cacheId('div_passworda');
			//verification des 6 caractères minimum
			var validitePass = VerifPassword(password);
			if (!validitePass){
				afficheId('div_passwordaValide');
				envoie = false;
			}else{
				cacheId('div_passwordaValide');
			}
		}
		
		if (passwordConfirm==""){
			afficheId('div_passwordb');
		envoie = false;
		} else {
			cacheId('div_passwordb');
		}
		
		if (password!="" && passwordConfirm!="" && password!=passwordConfirm){
			afficheId('div_passwordc');
		envoie = false;
		} else {
			cacheId('div_passwordc');
		}
		/* verification de la validité nom */
		if (nom==""){
		afficheId('div_nom');
		envoie = false;
		} else {
			cacheId('div_nom');
		}
		
		/* verification de la validité prenom */
		if (prenom==""){
		afficheId('div_prenom');
		envoie = false;
		} else {
			cacheId('div_prenom');
		}
		
		/* verification de la validité adresse */
		if (adresse==""){
		afficheId('div_adresse');
		envoie = false;
		} else {
			cacheId('div_adresse');
		}
		
		/* verification de la validité cp */
		
		if (cp==""&&document.getElementById('listePays').value=="FR" ){
			afficheId('div_cp');
			envoie = false;
		} else {
			cacheId('div_cp');
		}
		
		
		if (document.getElementById('listePays').value=="FR")
		{
			if (document.getElementById('ddlVille').value == '')
			{
				afficheId('div_ville');
				envoie = false;
			}
			else
			{
				cacheId('div_ville');
			}
		}
		else
		{
			if (document.getElementById('txtVille').value == '')
			{
				afficheId('div_ville');
				envoie = false;
			}
			else
			{
				cacheId('div_ville');
			}
		}

		/* verification de la validité telephone */
		if (telephone==""){
			afficheId('div_telephone');
			cacheId('div_telephoneSpace');
			cacheId('div_telephoneLength');
			envoie = false;
		} else {
			cacheId('div_telephone');
         // vérification des espaces du telephone.
   		if (telephone != '')
   		{
   			var validiteTel = VerifTelephone(telephone);
   			if (!validiteTel){
   				cacheId('div_telephoneLength');
   				afficheId('div_telephoneSpace');
   				envoie = false;
   			}else{
   				cacheId('div_telephoneSpace');
   				if (telephone.length < 10) {
   					afficheId('div_telephoneLength');
   					envoie = false;
   				} else {
   					cacheId('div_telephoneLength');
   				}
   			}
   		}
		}
		
		/* Vérification CSP */
		if (document.getElementById('ddlCatSoc').value == '')
		{
			afficheId('div_csp');
			envoie = false;
		}
		else
		{
			cacheId('div_csp');
		}
		
		
		/* verification de la validité dateNaissance */
		if (dateNaissance==""){
			cacheId('div_datenaissanceFormat');
			afficheId('div_datenaissance');
			envoie = false;
		} else {
			cacheId('div_datenaissance');
			if (!isDateValid(dateNaissance)){
				afficheId('div_datenaissanceFormat');
				envoie = false;
			} else {
				cacheId('div_datenaissanceFormat');
			}
		}			
		
		/* verification choix newsletter */
		var choixNewsletter = true; 
		objForm = window.document.getElementById('id_formMoficationInfos');
		for(e=0;e<objForm.length;e++)
		{
			// Radio commençant par rdbNewsletter	
			if(objForm.elements[e].name.indexOf('rdbNewsletter')==0)	
			{
				var c1 = document.getElementById(objForm.elements[e].name+'_1');
				var c2 = document.getElementById(objForm.elements[e].name+'_2');
				// Si aucun choix fait: msg erreur car choix obligatoire
				if((c1.checked == false) && (c2.checked == false)){
					choixNewsletter = false;
					break;
				}
			}
		}		
		if(choixNewsletter == false){
			afficheId('div_newsletter');
			envoie = false;		
		}else{
			cacheId('div_newsletter');
		}


		//etc... même code que précédement
			
		if (envoie) {	
			/* le formulaire est bien rempli : on peut l'envoyer ! */
			window.document.getElementById('id_formMoficationInfos').submit();
		}
		
	}
	function VerifMail(adresse)
	{
		var place = adresse.indexOf("@",1);
		var point = adresse.indexOf(".",place+1);
		if ((place > -1)&&(adresse.length >2)&&(point > 1)){
			return(true);
		}
		else{
			return(false);
		}
	}
	
	//verification du nombre caractère dans le password
	function VerifPassword(password)
	{
		if (password.length<6){
			return(false);
		} else {
			return(true);
		}
	}
	
	//verification du nombre caractère dans le password
	function VerifTelephone(tel)
	{
		var space =	tel.indexOf(" ",1);
		if (space>-1){
			return(false);
		} else {
			return(true);
		}
	}
	
	//c'est une fonction de la mort qui tue !!!
	function isDateValid(chaineDate) {
	// J'utilise split pour créer un tableau dans lequel je récupère les jour mois année
	// J'attends bien sûr une date formatée en JJ/MM/AAAA
	   var ladate = (chaineDate).split("/")
	
	// Si je n'ai pas récupéré trois éléments ou bien s'il ne s'agit pas d'entiers, pas la peine non plus d'aller plus loin
	   if ((ladate.length != 3) || isNaN(parseInt(ladate[0])) || isNaN(parseInt(ladate[1])) || isNaN(parseInt(ladate[2]))) return false
	
	// Sinon, c'est maintenant que je crée la date correspondante. Attention, les mois sont étalonnés de 0 à 11
	   var unedate = new Date(eval(ladate[2]),eval(ladate[1])-1,eval(ladate[0]))
	
	// Bug de l'an 2000 oblige, lorsque je récupère l'année, je n'ai pas toujours 4 chiffres selon les navigateurs, je rectifie donc ici le tir.
	   var annee = unedate.getYear()
	   if ((Math.abs(annee)+"").length < 4) annee = annee + 1900
	
	// Il ne reste plus qu'à vérifier si le jour, le mois et l'année obtenus sont les mêmes que ceux saisis par l'utilisateur.
	   return ((unedate.getDate() == eval(ladate[0])) && (unedate.getMonth() == eval(ladate[1])-1) && (annee == eval(ladate[2])))
	}
	
	function afficheId(baliseId) 
	  {
	  if (document.getElementById && document.getElementById(baliseId) != null) 
		{
		document.getElementById(baliseId).style.visibility='visible';
		document.getElementById(baliseId).style.display='block';
		}
	  }

	function cacheId(baliseId) 
	  {
	  if (document.getElementById && document.getElementById(baliseId) != null) 
		{
		document.getElementById(baliseId).style.visibility='hidden';
		document.getElementById(baliseId).style.display='none';
		}
	  }
	  
	  function cacheTout() {
		cacheId('div_email');
		cacheId('div_passworda');
		cacheId('div_passwordb');
		cacheId('div_passwordc');
		cacheId('div_nom');
		cacheId('div_prenom');
		cacheId('div_adresse');
		cacheId('div_cp');
		cacheId('div_ville');
		//cacheId('div_telephone');
		cacheId('div_csp');
		cacheId('div_datenaissance');
		cacheId('div_passwordaValide');
		cacheId('div_telephoneSpace');
		cacheId('div_telephoneLength');
		cacheId('div_datenaissanceFormat');
		
		
		//ajoute ici les autre div que tu veux cacher au chargement de la page
	  }
		
		
	function afficherAutre()
	{ 
		var liste = window.document.getElementById('listePays').value;
		var a = window.document.getElementById("div_cpb"); 
		
		if (liste=='FR') 
  		{ 
      		if (a.style.display == "none")
      		{
        		a.style.display = "block"; 
       		}
       		
       		//if (document.getElementById('villeDdl').style.display == 'none')
       		{
	       		document.getElementById('villeDdl').style.display = '';
	       		document.getElementById('villeDdl').style.visibility = 'visible';
       		}
       		
       		//if (document.getElementById('villeTxt').style.display == '')
       		{
	       		document.getElementById('villeTxt').style.visibility = 'hidden';
	       		document.getElementById('villeTxt').style.display = 'none';
       		}
       		
		} 
   		else 
  		{ 
    		a.style.display = "none"; 
			document.getElementById('id_cp_txt').value='';	
			
			//if (document.getElementById('villeDdl').style.display == '')
			{
				document.getElementById('villeDdl').style.visibility = 'hidden';
				document.getElementById('villeDdl').style.display = 'none';
			}
			
			//	if (document.getElementById('villeTxt').style.display == 'none')
			{
	       		document.getElementById('villeTxt').style.display = '';
	       		document.getElementById('villeTxt').style.visibility = 'visible';
			}
			
  		} 
	
	}
	
	
	
	
