function modifierEtSoumettre(var2, action, laTarget)
{
	document.FormExt.var2.value=var2;
	document.FormExt.action=action;
	document.FormExt.target=laTarget;
	document.FormExt.submit();
}

function JSTrim(chaine)
{
	//Cette fonction retourne la chaîne sans les premiers et derniers espaces.
	var longueur=chaine.length;
	if(chaine=="")
	{
		return ("");
	}
	else
	{	//la chaîne n'est pas vide
		if (chaine.charAt(0)==" ")
		{
			return (JSTrim(chaine.substring(1, longueur)));
		}
		else
		{
			if (chaine.charAt(longueur-1)==" ")
			{
				return(JSTrim(chaine.substring(0, longueur-1)));
			}
			else
			{
				return(chaine);
			}
		}
	}
}

function lebonfocus(lechamp)
{
	document.focus();
	lechamp.focus();
}	

function alea(monobjet)
{ 
	var machaine="abcdefghijkmnpqrstuvwxyz23456789ABCDEFGHJKMNPQRSTUVWXYZ";          
	var mypass ="";
	var range = machaine.length;
	for(var i=0; i<6; i++)
	{
		var indice= Math.floor(Math.random()*range); 
		var monchar = machaine.charAt(indice);
        mypass=mypass+monchar;
	}
	return mypass;
    monobjet.value=mypass;
 }
 
function transforme(chaine, clepub)
{
	chaine = JSTrim(chaine)
	var nouvellechaine="";
	var codecourant;
	
	if (chaine.length<5)
	{
		chaine=chaine + "@*°?"
	}
	for (var i=0; i<chaine.length; i++)
	{ 
		codecourant=chaine.charCodeAt(i);
		codecourant=((codecourant-35) % 92) + (i-clepub)*(i+3);
		nouvellechaine=nouvellechaine + "," + codecourant;
	}
	return (nouvellechaine);
}

function VerifPass(formulaire, clepub)
{
	var chaine = formulaire.password.value;
	formulaire.jspass.value=transforme(chaine, clepub);
	formulaire.password.value='';
	formulaire.action='../espaceclient/login.aspx';
	formulaire.submit();
}
 
 
 function verifEmail(mail) {
  /*** Début de déclaration de variable ***/
  //var de retour boolean true ou false
  var ret = true;
  //var où l'on stock le caractère courant au fur et a mesure de l'analyse
  var car = "";
  //var où l'on stock le caractère place avant le @
  var carAfter = "";
  //var où l'on stock le caractère place après le @
  var carBefore = "";
  //var où l'on stock le nombre de caractères total
  var nbrcar = mail.length;
  //var où l'on stock le nombre de @ trouvé
  var nbrarobase = 0;
  //var où l'on stock le nombre de . trouvé
  var nbrpoint = 0;
  //var définissant les caractères authorisés
  var goodcar = "@0123456789.-_abcdefghijklmnopqrstuvwxyz";
  /*** Fin de déclaration de variable ***/

  /*** Début de boucle de l'analyse ***/
  for(cnt=0;cnt<nbrcar;cnt++) {

    //Récupération du caractère courant
    var car = mail.substr(cnt,1);

    /** Début de l'analyse du caractère courant **/
    //Si le caractère est authorisé
    if(goodcar.indexOf(car) >= 0) {

      //On initialise les variables carAfter et carBefore à vide
      carAfter = "";
      carBefore = "";

      /* Début de l'analyse du @ */
      //Si le caractère est @
      if(car == "@") {


        //Si le @ n'est pas le premier
        if((cnt-1) >= 0) {

          //Récupération du caractère placé avant le @
          carBefore = mail.substr((cnt-1),1);
        }

        //Si le @ n'est pas le dernier
        if((cnt+1)<nbrcar) {

          //Récupération du caractère placé après le @
         carAfter = mail.substr((cnt+1),1);
        }

        //Si toutes les condition de @ sont respectées
        //conditions:
        //    - cnt>0                 : n'est pas placé en première position
        //    - nbrarobase==0   : est unique
        //    - cnt<(nbrcar-4)     : se trouve à une position max de 5 avant la fin
        //      (sachant que les domaines les plus petit sont : a.fr par ex.)
        //    - !(carBefore==".") : qu'il n'y est pas de . avant le @
        //    - !(carAfter==".")   : qu'il n'y est pas de . après le @
        //    - !(carBefore=="-") : qu'il n'y est pas de - avant le @
        //    - !(carAfter=="-")   : qu'il n'y est pas de - après le @
        //    - !(carBefore=="_") : qu'il n'y est pas de _ avant le @
        //    - !(carAfter=="_")   : qu'il n'y est pas de _ après le @
        if(cnt>0 && nbrarobase==0 && cnt<(nbrcar-4) && !(carBefore==".") && !(carAfter==".") && !(carBefore=="-") && !(carAfter=="-") && !(carBefore=="_") && !(carAfter=="_")) {

          //On incrémente le @
          nbrarobase++;
        } else {

         //Affectation Faux à la var de retour
         ret = false;
         //On sort de la boucle 
         break;
        }
      }
      /* Fin de l'analyse du @ */

      /* Début de l'analyse du . */
      //Si le caractère est .
      if(car == ".") {

        //Si le . n'est pas le premier
        if((cnt-1) >= 0) {

          //Récupération du caractère placé avant le .
          carBefore = mail.substr((cnt-1),1);
        }

        //Si le . n'est pas le dernier
        if((cnt+1)<nbrcar) {

          //Récupération du caractère placé après le .
         carAfter = mail.substr((cnt+1),1);
        }

        //Si toutes les condition de @ sont respectées
        //conditions:
        //    - cnt>0                 : n'est pas placé en première position
        //    - cnt<(nbrcar-2)     : se trouve à une position max de 3 avant la fin
        //      (sachant que les domaines les plus petit sont : a.fr par ex.)
        //    - !(carBefore==".") : qu'il n'y est pas de . avant le .
        //    - !(carAfter==".")   : qu'il n'y est pas de . après le .
        //    - !(carBefore=="-") : qu'il n'y est pas de - avant le .
        //    - !(carAfter=="-")   : qu'il n'y est pas de - après le .
        //    - !(carBefore=="_") : qu'il n'y est pas de _ avant le .
        //    - !(carAfter=="_")   : qu'il n'y est pas de _ après le .
        if(cnt>0 && cnt<(nbrcar-2) && !(carBefore==".") && !(carAfter==".") && !(carBefore=="-") && !(carAfter=="-") && !(carBefore=="_") && !(carAfter=="_")) {

          //On incrémente le .
          nbrpoint++;
        } else {

          //Affectation Faux à la var de retour 
          ret = false;
          //On sort de la boucle 
          break;
        }
      }
      /* Fin de l'analyse du . */

    } else {

      //Affectation Faux à la var de retour 
      ret = false;
      //On sort de la boucle 
      break;
    }
    /*** Fin de l'analyse du caractère courant ***/
  }
  /*** Fin de boucle de l'analyse ***/

  /*** Début de l'analyse du nombre de @ et de . ***/
  //Si il n'y a aucun @ et aucun .
  //Si le 1er et le dernier caractère est .
  //Si le 1er et le dernier caractère est -
  //Si le 1er et le dernier caractère est _
  if(nbrarobase == 0 || nbrpoint == 0 || mail.substr(0,1) == "." || mail.substr(0,1) == "-" || mail.substr(0,1) == "_" || mail.substr((nbrcar-1),1) == "." || mail.substr((nbrcar-1),1) == "-" || mail.substr((nbrcar-1),1) == "_") {

    //Affectation Faux à la var de retour 
    ret = false;
  }
  /*** Fin de l'analyse du nombre de . et de @ ***/

  //Renvoi de la valeur de la var de retour
  return ret;
}
