// ------------------------------------------------------------------------------------------------
// Fonction    : TestePassword
// Description : S'assure que la chaîne passée réponde à certaines contraintes
// ------------------------------------------------------------------------------------------------
function TestePassword(input_texte) {
// format
  if (input_texte.value.length < 8) {
     alert('Votre mot de passe doit contenir au minimum 8 caractères !');
     input_texte.focus();
	 return false;
  }

// contenu
  var chiffres = "1234567890";
  var nbChiffres = 0;
  for (var i=0; i < input_texte.value.length; i++) {
    if (chiffres.indexOf(input_texte.value.charAt(i)) != -1)	nbChiffres++;
  }

  if (nbChiffres <= 0 || nbChiffres == input_texte.value.length) {
     alert('Votre mot de passe doit contenir des lettres ET des chiffres !');
     input_texte.focus();
	 return false;
  }
  return true;
}

// ------------------------------------------------------------------------------------------------
// Fonction    : GeneratePasswd
// Description : Génère une chaîne aléatoire répondant aux contraintes imposées aux mots de passe
// ------------------------------------------------------------------------------------------------
function GeneratePasswd(input_passwd) {
  var passwd = "";
  for (i=0; i < 5; i++)	passwd += String.fromCharCode(65 + Math.round(Math.random() * 25));	// lettre aléatoire
  for (; i < 8; i++)	passwd += Math.round(Math.random() * 9);	// chiffre aléatoire
  input_passwd.value = passwd;
}

// ------------------------------------------------------------------------------------------------
// Fonction    : TestePhoneNumber
// Description : Vérifie que le numéro de téléphone donné est valide
// ------------------------------------------------------------------------------------------------
function TestePhoneNumber(input_texte, non_vide) {
// format
  if (non_vide && input_texte.value.length <= 0) {
    alert('Merci de spécifier un numéro de téléphone !');
    input_texte.focus();
    return false;
  }

// contenu
  if (!TesteString(input_texte.value, "+ ()1234567890#")) {
	alert('Le numéro de téléphone indiqué contient un caractère non autorisé !');
    input_texte.focus();
	return false;
  }
  return true;
}

function TesteString(chaine, autorises) {
  for (var i=0; i < chaine.length; i++) {
    if (autorises.indexOf(chaine.charAt(i)) == -1) {  
      return false;
    }
  }
  return true;
}
