function langue(i,url,page)
{
	
	document.getElementById('langue_div').innerHTML =
	'<input type=hidden name=langue value="'+i+'" />';
	'<input type=hidden name=page value="'+page+'" />';
	
	
	
	document.form_langue.action = url;
	document.form_langue.submit();

}

function valid_mail()
{
	var valid_form = 1;
	var tmp = 'Veuillez saisir :';
	if(document.contact.mail.value == '')
	{
		valid_form = 0;
		tmp = tmp +'\n- Une adresse mail';
	}
	else
	{
		if(testAdrMail(document.contact.mail.value) == false )
		{
			valid_form = 0;
			tmp = tmp + '\n- Une adresse mail valide';
		}
	}
	if(document.contact.nom.value == '' )
	{
		valid_form = 0;
		tmp = tmp + '\n- Votre nom';
	}
	if(document.contact.sujet.value == '' )
	{
		valid_form = 0;
		tmp = tmp + '\n- Votre sujet';
	}
	if(document.contact.message.value == '' )
	{
		valid_form = 0;
		tmp = tmp + '\n- Votre message';
	}
	
	if(valid_form == 0)
	{
		alert(tmp);
	}
	else
	{
		document.contact.submit();
	}
}

function valid_login()
{
	var valid_form = 1;
	var tmp = 'Veuillez saisir:';
	if(document.login.utilisateur.value == '' )
	{
		valid_form=0;
		tmp = tmp + '\n- Votre nom d\'utilisateur';
	}
	if(document.login.pass.value == '' )
	{
		valid_form=0;
		tmp = tmp + '\n- Votre nom d\'utilisateur';
	}
	if(valid_form == 0)
	{
		alert(tmp);
	}
	else
	{
		document.login.submit();
	}
}



function testAdrMail(adrMail) {
  
  // déclaration et initialisation des variables
  adrMailLength=adrMail.length; // longueur de la chaîne adrMail
  caractOk="_.-0123456789abcdefghijklmnopqrstuvwxyz"; // caratères corect d'une adresse mail
  var posArrobas=adrMail.indexOf('@',1); // position du premier Arrobas
  var posPoint=adrMail.lastIndexOf('.',adrMailLength); // position du dernier point
  var posCaractFaux=adrMail.indexOf('..',posArrobas+1); // position d'un caractère faux ('..' ou ' ')
  var caract=0; // caractère extrait de la chaîne adrMail (utilisée par les boucles while)
  var caractFaux=adrMail.charAt(0)+adrMail.charAt(posArrobas-1)+adrMail.charAt(posArrobas+1)+adrMail.charAt(posPoint-1);
  var posCaract=0; // position du caractère à extraire de la chaîne adrMail (utilisée par les boucles while)
  var posCaractOk=0; // position du caractère extrait de la chaîne adrMail (utilisée par les boucles while)
  var posCaractNon=-1;
  var retour=false; // l'adresse e-mail est considérée comme fausse au début
  
  // début du teste
  // s'il n'existe pas de caractère '..' alors on teste s'il existe un espace dans la chaîne adrMail
  if (posCaractFaux!=-1 || adrMail.indexOf(' ',0)!=-1 || adrMail.indexOf('--',0)!=-1 || adrMail.indexOf('__',0)!=-1) {
     posCaractFaux=0;
  }
  
  // Teste les points ou - ou _ au début de l'adrMail, autour de l'arrobas et autour du dernier point
  for (posCaract;posCaract<4;posCaract++) {
      caract=caractFaux.charAt(posCaract);
      posCaractNon=caractOk.lastIndexOf(caract,2);
      if (posCaractNon!=-1) {
         posCaractFaux=0;
         break;
      }
  }
  // si l'adresse mail contient au moins 1 caractère et qu'elle comporte un arrobas
  // et qu'elle comporte un point et que l'arrobas est avant le dernier point
  // et qu'elle ne contient pas de '..' ou d'espace et que après le dernier point il y est 2,3 ou 4 caractères
  // et qu'il n'y est pas de point autour de l'arrobas et que l'adresse ne commence pas par un point
  // Alors
  if (adrMailLength>0 && posArrobas!=-1 && posPoint!=-1 && posArrobas<posPoint && posCaractFaux==-1 && adrMailLength-posPoint-1>=2 && adrMailLength-posPoint-1<=4) {
  
     // extraction d'un caractère et teste s'il existe dans la chaîne "_.-0123456789abcdefghijklmnopqrstuvwxyz"
     // S'il n'existe pas alors posCaract=-1 donc au prochain 'tour' on passe aux autres boucles (qui ne s'effecturont pas)
     // Si il existe on continue la boucle jusqu'au caractère avant l'arrobas et on passe à la boucle while suivante
  
     adrMail=adrMail.toLowerCase();
     posCaract=0;
  
     while (posCaract<posArrobas && posCaractOk!=-1) {
           caract=adrMail.charAt(posCaract);
           posCaractOk=caractOk.indexOf(caract,0);
           posCaract++;
     }
     posCaract++; // on passe l'arrobas
  
     // sur le même principe qu'au dessus mais pour la partie entre l'arrobas et le dernier point
     // le test ce fait sur les caractères ".-0123456789abcdefghijklmnopqrstuvwxyz"
     // caractOk.indexOf(caract,1) on ne teste plus l'underscore
     while (posCaract<posPoint && posCaractOk!=-1) {
           caract=adrMail.charAt(posCaract);
           posCaractOk=caractOk.indexOf(caract,1);
          posCaract++;
    }
     posCaract++; // on passe le point
  
     // sur le même principe qu'au dessus mais pour la partie entre le dernier point et la fin
     // le test ce fait sur les caractères "abcdefghijklmnopqrstuvwxyz"
     // caractOk.indexOf(caract,13) on ne teste plus que des lettres
     while (posCaract<adrMailLength && posCaractOk!=-1) {
           caract=adrMail.charAt(posCaract);
           posCaractOk=caractOk.indexOf(caract,13);
           posCaract++;
     } // fin de la boucle while
     
     // durant le parcour de l'adresse mail si n'y avait pas de caractère interdit
     // posCaractOk a changer plusieurs fois de valeur mais na jamais eu la valeur -1
     // donc l'adresse est bonne
     if (posCaractOk!=-1) {
        retour=true;
     }
  }
   return retour; // renvoi le résultat (true ou false)
} // fin de la fonction

