
/***********************************************/
// modifier le texte affiché dans la barre d'état
function ecrireDansStatus(texte)
{
    window.status = ""+texte;
//    window.defaultStatus = ""+texte;
}

/***********************************************/
// vérifier que tous les caractères sont acceptés
function texteFormValide(texte)
{
  carvalide = /^([A-Za-z0-9]+[A-Za-z0-9_\-.]*)+$/;
  if (!carvalide.test(texte))
  {
    alert("Seuls les caractères alphanumériques et '_', '-', '.' sont autorisés, avec un caractère alphanumérique au début !");
    return false;
  }
  else return true;
}

/***********************************************/
// vérifier que tous les caractères sont acceptés
function mailFormValide(texte)
{
  carvalide = /^([A-Za-z0-9]+[A-Za-z0-9_\-@.]*)+$/;
  if (!carvalide.test(texte))
  {
    alert("Seuls les caractères alphanumériques et '_', '-', '@', '.' sont autorisés, avec un caractère alphanumérique au début !");
    return false;
  }
  else return true;
}



/**************************************************************************************************/
/* PSEUDO */
/**************************************************************************************************/

////////////////////////////////////
// Test si le pseudonyme est correct
////////////////////////////////////
function verifPseudo()
{
  var pseudo;
  if (form1.champPseudo.value != "")
	{
    pseudo = ""+form1.champPseudo.value;
    if (pseudo.length < 4)
    {
      alert("Le pseudonyme doit avoir 4 caractères minimum !");
      form1.champPseudo.focus();
      return false;
    }
    if (!texteFormValide(pseudo))
    {
      form1.champPseudo.focus();
      return false;
    }
    return true;
  }
  alert("Le pseudonyme n'a pas été saisi !");
  form1.champPseudo.focus();
  return false;
}


/**************************************************************************************************/
/* MOT DE PASSE */
/**************************************************************************************************/

//////////////////////////////////////
// Test si le mot de passe est correct
//////////////////////////////////////
function verifMdp()
{
  var mdp;
  if (form1.champMdp.value != "")
  {
    mdp = ""+form1.champMdp.value;
    if (mdp.length < 4)
    {
      alert("Le mot de passe doit avoir 4 caractères minimum !");
      form1.champMdp.focus();
      return false;
    }
    if (!texteFormValide(mdp))
    {
      form1.champMdp.focus();
      return false;
    }
    return true;
  }
  alert("Le mot de passe n'a pas été saisi !");
  form1.champMdp.focus();
  return false;
}


///////////////////////////////////////////
// Test si les 2 mots de passe sont valides
///////////////////////////////////////////
function verif2Mdp()
{
  var mdp1;
  var mdp2;
	if (form1.champMdp.value != "")
  {
    if (form1.champMdpConf.value != "")
    {
      mdp1 = ""+form1.champMdp.value;
      mdp2 = ""+form1.champMdpConf.value;
      if (mdp1.length < 4)
      {
        alert("Le mot de passe doit avoir 4 caractères minimum !");
        form1.champMdp.focus();
        return false;
      }
      if (mdp2.length < 4)
      {
        alert("Le mot de passe doit avoir 4 caractères minimum !");
        form1.champMdpConf.focus();
        return false;
      }
      if (!texteFormValide(mdp1))
      {
        form1.champMdp.focus();
        return false;
      }
      if (!texteFormValide(mdp2))
      {
        form1.champMdpConf.focus();
        return false;
      }
      if (mdp1.length != mdp2.length)
      {
        alert("Les 2 mots de passe sont différents !");
        form1.champMdp.focus();
        return false;
      }

      var i;
      i = 0;
      while (i < mdp1.length)
      {
        if (mdp1[i] != mdp2[i])
        {
          alert("Les 2 mots de passe sont différents !");
          form1.champMdp.focus();
          return false;
        }
        else i++;
      } 	
      return true;
    }
    alert("Le mot de passe de confirmation n'a pas été saisi !");
    form1.champMdpConf.focus();
    return false;
  }
  alert("Le mot de passe n'a pas été saisi !");
  form1.champMdp.focus();
  return false;
}


///////////////////////////////////////////
// Test si l'ancien mot de passe est valide
///////////////////////////////////////////
function verifAncienMdp()
{
  var mdp;
	if (changementMdp.champAncienMdp.value != "")
  {
    mdp = ""+changementMdp.champAncienMdp.value;
    if (mdp.length < 4)
    {
      alert("Le mot de passe doit avoir 4 caractères minimum !");
      changementMdp.champAncienMdp.focus();
      return false;
    }
    if (!texteFormValide(mdp))
    {
      changementMdp.champAncienMdp.focus();
      return false;
    }
    return true;
  }
  alert("Le mot de passe n'a pas été saisi !");
  changementMdp.champAncienMdp.focus();
  return false;
}


////////////////////////////////////////////////////
// Test si les 2 nouveaux mots de passe sont valides
////////////////////////////////////////////////////
function verif2NvMdp()
{
  var mdp1;
  var mdp2;
	if (changementMdp.champMdp.value != "")
  {
    if (changementMdp.champMdpConf.value != "")
    {
      mdp1 = ""+changementMdp.champMdp.value;
      mdp2 = ""+changementMdp.champMdpConf.value;

      if (mdp1.length != mdp2.length)
      {
        alert("Les 2 mots de passe sont différents !");
        form1.champMdp.focus();
        return false;
      }
      if (mdp1.length < 4)
      {
        alert("Le mot de passe doit avoir 4 caractères minimum !");
        changementMdp.champMdp.focus();
        return false;
      }
      if (mdp2.length < 4)
      {
        alert("Le mot de passe doit avoir 4 caractères minimum !");
        changementMdp.champMdpConf.focus();
        return false;
      }
      if (!texteFormValide(mdp1))
      {
        changementMdp.champMdp.focus();
        return false;
      }
      if (!texteFormValide(mdp2))
      {
        changementMdp.champMdpConf.focus();
        return false;
      }

      var i;
      i = 0;
      while (i < mdp1.length)
      {
        if (mdp1[i] != mdp2[i])
        {
          alert("Les 2 mots de passe sont différents !");
          changementMdp.champMdp.focus();
          return false;
        }
        else i++;
      } 	
      return true;
    }
    alert("Le mot de passe de confirmation n'a pas été saisi !");
    changementMdp.champMdpConf.focus();
    return false;
  }
  alert("Le mot de passe n'a pas été saisi !");
  changementMdp.champMdp.focus();
  return false;
}


/**************************************************************************************************/
/* E-MAIL */
/**************************************************************************************************/

 /////////////////////////////
 // Test si l'email est valide
 // mini = "a@bc.fr"
 /////////////////////////////
function verifMail()
{
  var adr, car;
	var j, k, l;
	if (form1.champEmail.value != "")
	{
    adr = ""+form1.champEmail.value;

    if (!mailFormValide(adr))
    {
      form1.champEmail.focus();
      return false;
    }
    for (k=1; k<adr.length; k++)
	  {
      car = adr.substring(k,k+1);
	    if (car == "@")
	    {
        if (k < (adr.length-5))
	      {
          for (j=(k+3); j<(adr.length-2); j++)
    	    {
            l = adr.substring(j,j+1);
    	      if(l == ".") return true;
          }
        }
      }
    }
    alert("L'adresse e-mail saisie n'est pas valide !");
    form1.champEmail.focus();
    return false;
  }
  alert("L'adresse e-mail n'a pas été saisie !");
  form1.champEmail.focus();
  return false;
}


/////////////////////////////////////
// Test si le nouvel email est valide
/////////////////////////////////////
function verifChangementEmail()
{
  var adr, car;
	var j, k, l;
	if (changementEmail.champNvEmail.value != "")
	{
    adr = ""+changementEmail.champNvEmail.value;
    if (!mailFormValide(adr))
    {
      changementEmail.champNvEmail.focus();
      return false;
    }

    for (k=1; k<adr.length; k++)
	  {
      car = adr.substring(k,k+1);
	    if(car == "@")
	    {
        if (k < (adr.length-5))
	      {
          for (j=(k+3); j<(adr.length-2); j++)
    	    {
            l = adr.substring(j,j+1);
    	      if(l == ".") return true;
          }
        }
      }
    }
    alert("L'adresse e-mail saisie n'est pas valide !");
    changementEmail.champNvEmail.focus();
    return false;
  }
  alert("L'adresse e-mail n'a pas été saisie !");
  changementEmail.champNvEmail.focus();
  return false;
}


/**************************************************************************************************/
/* LISTE DES ABONNEMENTS */
/**************************************************************************************************/

 /////////////////////////////////////
 // Test si un abonnement a été choisi
 /////////////////////////////////////
 function verifAbonnement()
 {
    var val;
    if (form1.listeAbonnement.selectedIndex >= 0)
	{
        val = ""+form1.listeAbonnement.options[form1.listeAbonnement.selectedIndex].value;
        if (val != "0") return true;
        alert("Choisissez votre durée d'abonnement !");
	}
	return false;
 }


/**************************************************************************************************/
/* FORMULAIRES */
/**************************************************************************************************/

 /////////////////////////////////////////////////////////////
 // Test si le formulaire d'abonnement est correctement rempli
 /////////////////////////////////////////////////////////////
 function verifFormulaire()
 {
    return (verifPseudo() && verif2Mdp() && verifMail() && verifAbonnement());
 }
 
 
 //////////////////////////////////////////////////////////////
 // Test si le formulaire de connexion est correctement rempli
 //////////////////////////////////////////////////////////////
 function verifConnexion()
 {
    return (verifPseudo() && verifMdp());
 }


 /////////////////////////////////////////////////////////////////////
 // Test si le formulaire de changement de mdp est correctement rempli
 /////////////////////////////////////////////////////////////////////
 function verifChangementMdp()
 {
    return (verifAncienMdp() && verif2NvMdp());
 }
 

