// ---------------------------------------------------------------------------------------------------------------
// FONCTIONS FORMULAIRE FICHES ADHERENTS 
// ---------------------------------------------------------------------------------------------------------------


// JUDITH : verifie champ de saisie pour formulaire adherents
// ******************************************************************************
function verif_form_adherent (vform) {
	var saisieok = false;
	var emailok = true;
	var nbcaracteres_description = 0;
	champ = vform.elements["categorie"];
	if (verifSelect(champ)) { 
		champ = vform.elements["nom"];
		if (verifChampTxt(champ)) { 
			champ = vform.elements["titre_presentation"];
			if (verifChampTxt(champ)) { 
				champ = vform.elements["texte_presentation"];
				nbcaracteres_description = champ.value.length;
				if (verifChampTxt(champ)) { 
					saisieok = true;
				}
			}
		}
	}
	champ = vform.elements["email_ad"];
	if (champ.value != "") {
		if (!verifEmail (champ)) emailok = false;
	}
	if (!saisieok) { 
		alert ("Veuillez saisir les mentions obligatoires."); 
	} else {
		if (nbcaracteres_description > 800) {
			alert ("Le texte de votre message de presentation ne doit pas comporter plus de 800 signes et espaces (soit environ 150 mots).");
			saisieok = false;
		} else {
			if (!emailok) {
				alert ("L'adresse email n'est pas correcte.");
				saisieok = false;
			} else {
				if ((verifFileUpload (vform, "ficphoto", 3) == false) || (verifFileUpload (vform, "ficlabel", 3) == false) || (vform.elements["ficimg"].value != "0")) {					
					if (vform.elements["droitimage"].checked == false) {
						alert ("Vous devez attester de vos droits a l'image.");
						saisieok = false;
					}
				}
			}
		}
	}
	return saisieok;
}


// JUDITH : verifie champ de saisie pour formulaire communes
// ******************************************************************************
function verif_form_commune (vform) {
	var saisieok = false;
	var emailok = true;
	var nbcaracteres_description = 0;
	var nbcaracteres_vie = 0;
	var nbcaracteres_offre = 0;
	champ = vform.elements["nom"];
	if (verifChampTxt(champ)) { 
		champ = vform.elements["presentation"];
		if (verifChampTxt(champ)) { 
		nbcaracteres_description = champ.value.length;
			saisieok = true;
		}
	}
	
	champ = vform.elements["email_com"];
	if (champ.value != "") {
		if (!verifEmail (champ)) emailok = false;
	}
	if (!saisieok) { 
		alert ("Veuillez saisir les mentions obligatoires."); 
	} else {
		if (nbcaracteres_description > 800) {
			alert ("Le texte de votre message de presentation ne doit pas comporter plus de 800 signes et espaces (soit environ 150 mots).");
			saisieok = false;
		} else {
			champ = vform.elements["vie_ecosociale"];
			nbcaracteres_vie = champ.value.length;
			if (nbcaracteres_vie > 500) {
				alert ("Le texte de presentation de la vie economique et sociale de la commune ne doit pas comporter plus de 500 signes et espaces.");
				saisieok = false;
			} else {
				champ = vform.elements["offre_touristique"];
				nbcaracteres_offre = champ.value.length;
				if (nbcaracteres_offre > 1000) {
					alert ("Le texte de presentation de l'offre touristique de la commune ne doit pas comporter plus de 1000 signes et espaces.");
					saisieok = false;
				} else {
					if (!emailok) {
						alert ("L'adresse email n'est pas correcte.");
						saisieok = false;
					} else {
						if ((verifFileUpload (vform, "ficphoto", 5) == false) || (vform.elements["ficimg"].value != "0")) {					
							if (vform.elements["droitimage"].checked == false) {
								alert ("Vous devez attester de vos droits a l'image.");
								saisieok = false;
							}
						}
					}
				}
			}
		}
	}
	return saisieok;
}


// envoie le formulaire apres verif javascript
// ------------------------------------------------------------------------------------------------------------------------------
function verif_form_motdepasse (vform) {
  if (verif_nouveau_motdepasse (vform, 'password', 'confpassword')) {
    vform.submit();
  }
}


// verif nouveau mot de passe
// ------------------------------------------------------------------------------------------------------------------------------
function verif_nouveau_motdepasse (vform, pMotdepasse1, pMotdepasse2) {
	motdepasse = vform.elements[pMotdepasse1].value;
	motdepasse_confirmation = vform.elements[pMotdepasse2].value;
	if (motdepasse != motdepasse_confirmation) {
		alert ("Veuillez confirmer votre mot de passe");
		vform.elements[pMotdepasse1].value = "";
		vform.elements[pMotdepasse1].focus();
		vform.elements[pMotdepasse2].value = "";
		return false;
	} else {
		String(motdepasse);
		nbcar = motdepasse.length;
		if (nbcar < 6) {
			alert ("Votre mot de passe doit comporter 6 caractères minimum");
			vform.elements[pMotdepasse1].value = "";
			vform.elements[pMotdepasse1].focus();
			vform.elements[pMotdepasse2].value = "";
			return false;
		} else {
			erreur = false;
  			for(i=0;i<nbcar;i++) {
    			codeT = motdepasse.charCodeAt(i);
    			if ((verif_texte(codeT) == false) && (verif_chiffre(codeT) == false)) { erreur = true; }
			}
			if (erreur) {
				alert ("Votre mot de passe contient des caractères incorrectes");
				vform.elements[pMotdepasse1].value = "";
				vform.elements[pMotdepasse1].focus();
				vform.elements[pMotdepasse2].value = "";
				return false;
			} else {
				return true;
			}
		}
	}
}

// ---------------------------------------------------------------------------------------------------------------
// FONCTIONS GENERIQUES 
// ---------------------------------------------------------------------------------------------------------------


// verif adresse email
// ******************************************************************************
function verifEmail (vEmail) {
   email = vEmail.value;
   var reg = /^([a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+)$/;
   return reg.test(email);
}

// verif menu select
// ******************************************************************************
function verifSelect (vSelect) {
	if (vSelect.selectedIndex == "") ok=false;
	else ok=true;
	return ok;
}

// verif file upload
// ******************************************************************************
function verifFileUpload (vForm, vRef, vNb) {
	ok=true;
	for(var j=1; j<=vNb; j++) {
		if (vForm.elements[vRef+j].value != "") ok=false;
	}
	return ok;
}

// format num tel (retire le . , / - et remplace par un espace ou ajoute espace) ex. 0561146454 ou 05.61.14.64.54 devient 05 61 14 64 54
// ******************************************************************************
function formatNumeroTelephone(NumTel){
   var Tel;
   var i = 0;
   while (i < NumTel.length-1) {
      if ((NumTel.charAt(i) == ".")||(NumTel.charAt(i) == ",")||(NumTel.charAt(i) == "/")||(NumTel.charAt(i) == "-")||(NumTel.charAt(i) == " ")) {
         Tel = NumTel.substring(0,i) + NumTel.substring(i+1,NumTel.length);
         NumTel = Tel;
      } else {
         i++;
      }
   }
   var NewNumTel = '';
      for(var i=0; i<NumTel.length; i++) {
         if(i/2 == Math.round(i/2)) NewNumTel += NumTel.charAt(i);
         else NewNumTel += NumTel.charAt(i) + ' ';
   }
   return (NewNumTel);
} 

// verif btn radio
// ******************************************************************************
function verifBtnRadio(vBtn) {
	ok=false;
	for (var n=0;n<vBtn.length;n++) {
		if (vBtn[n].checked) {
			ok=true;
			n=vBtn.length;
		}
	}
	return ok;
}

// verif champs texte non vide
// ******************************************************************************
function verifChampTxt(vChampTxt) {
   var txtsansespaces = vChampTxt.value;
   txtsansespaces = suppEspacesDebut(txtsansespaces);
   txtsansespaces = suppEspacesFin(txtsansespaces);
   var veriftxt = addslashes(addbr(txtsansespaces));
   if (veriftxt=="") {
     // vide champs txt pour supprimer espaces eventuels
     vChampTxt.value = '';
	 return false;
   } else {
	 vChampTxt.value = txtsansespaces;
     return true;
   }
}

// supprime les espaces en début de texte
// ******************************************************************************
function suppEspacesDebut(vTxt) {
  if (vTxt!="") {
    if (vTxt.charAt(0)==" ") {
	  while (vTxt.charAt(0) == " ") {
	    vTxt = vTxt.substring(1,vTxt.length);
	 }
    }
  }
  return vTxt;
}


// supprime les espaces en fin de texte
// ******************************************************************************
function suppEspacesFin(vTxt) {
  if (vTxt!="") {
    if (vTxt.charAt(vTxt.length-1)==" ") {
	  while (vTxt.charAt(vTxt.length-1) == " ") {
	    vTxt = vTxt.substring(0,(vTxt.length-1));
	 }
    }
  }
  return vTxt;
}

// remplace les retours à la ligne par des <br>
// ******************************************************************************
function addbr(ch) {
   ch = ch.replace(String.fromCharCode(13),"<br>");
   ch = ch.replace(String.fromCharCode(10),"");
   return ch
}


// ajoute des slashes pour les apostrophes
// ******************************************************************************
function addslashes(ch) {
   ch = ch.replace(/\\/g,"\\\\") 
   ch = ch.replace(/\'/g,"\\'") 
   ch = ch.replace(/\"/g,"\\\"")
   return ch
}

// verif exclusivement un chiffre
// ------------------------------------------------------------------------------------------------------------------------------
function verif_chiffre(pCodeChiffre) {
	if (pCodeChiffre >= 48 && pCodeChiffre <= 57) { return true; }
    else { return false; }
}

// verif exclusivement du texte
// ------------------------------------------------------------------------------------------------------------------------------
function verif_texte(pCodeCar) {
	if ((pCodeCar >= 65 && pCodeCar <= 90) || (pCodeCar >= 97 && pCodeCar <= 122 )) { return true; }
	else { return false; }
}

