/*
Pour vérifier le contenu d'un formulaire avant de l'envoyer:

1°) Inclure le présent script dans le Head

		<script src="/inc/scripts.js"></script>


2°) toujours dans le HEAD, créer un script qui précisera les vérifications à effectuer sur les champs:

! ATTENTION, pour les 3 premiers caratères, du texte, bien préciser la casse: un code "cp" ne fonctionnerapa, "CP" étant attendu !

les paramètres à donner à la fonction "validite" sont les suivants (dans l'ordre):
	- nom du formulaire
	- nom du chanp à tester
	-type du champ à tester, 
			A	: alphabetique
			AN	: alphanumerique
			N	: numerique
			CP	: code postal francais (5 chiffres)
			D	: Date (xx/xx/xx ou xx/xx/xxxx ou xx-xx-xx ou xx-xx-xxxx)
			EMAIL	: email
	-longueur minimun en caractères.
		Un mini de 0 signifie que le champ n'est pas requis.
		Pour vérifier qu'un champ est bien remplis, il suffit de positionner ce paramètre sur 1 (ou +)
		
	-longueur maximum en caratères
		Un maxi de 0 signifie que l'on ne limite pas la taille du champ.

<SCRIPT language="JavaScript">
	function check_form()
	{
		if (!validite("form1","nom","A",1,0)) {return false;}				//Vérifier que le nom n'est pas vide est est uniquement constirué de caractères
		if (!validite("form1","cp","CP",0,0)) {return false;}				//Vérifier que le code postal, si rempli, est correct
		if (!validite("form1","email","EMAIL",0,0)) {return false;}			//Vérifier que l'email, si rempli, est correct
		if (!validite("form1","dat1","D",1,0)) {return false;}				//Vérifier que la date est biern remplie, et est correcte.
	}
</SCRIPT>

3°) Faire appel à la fonction définie en 2° dans  le bouton submit
		<INPUT type=submit OnClick="check_form();>

 ou bien dans le FORM:
		 <form ... onSubmit="return check_form();>

*/



function popup(theURL,winName,features){ //v2.0
  window.open(theURL,winName,features);
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function di(id,name){
  if (document.images) {document.images[id].src=eval(name+".src"); }
}

function IsEmail(email)
{
// Vérifie si un Email est correct
   var saisie,saisie1,saisie2,saisie3;
   saisie = email.indexOf("@");
   if (saisie!=(-1)) {
      longueur = email.length;
      saisie1 = email.substring(saisie+1,longueur);
      saisie2 = saisie1.indexOf(".");
      longueur = saisie1.length;
      saisie3 = saisie1.substring(saisie2+1,longueur);
      if (saisie2==(-1)) return false;
      else {
         if (saisie3 == "") return false;
         else return true;
      }
   }
   else return false;
  }	

function validite(formulaire,champ,format,mini,maxi) {
// Paramètres: nom du formulaire, nom du champ, format , taille mini, taille maxi
// Initialisation de la variable
var probleme;
	probleme = false;

	if ( format == "A" ) { RE = /^([A-Za-z\.]+[ ]*[-]*[A-Za-z\.]*)+$/;}
	if ( format == "AN" ) { RE = /^[A-Za-zàâäéèêëîïôùûç\.\s,'0-9\-]+$/;}
	if ( format == "N" ) { RE = /^\d+$/;}
	if ( format == "CP" ) { RE = /^\d{5}$/;}
	if ( format == "D" ) { RE = /^\d{2}([\/]|[\-])+\d{2}([\/]|[\-])+\d{2}(\d{2})*$/;}
	if ( format == "EMAIL" ) { RE = /^[A-Za-z0-9\.\-_]+[@][A-Za-z0-9\-\.]+[\.][A-Za-z][A-Za-z][A-Za-z]?$/;}

	var controle = eval('document.' + formulaire + '.' + champ);	// Creation d'un raccourci pour manipuler le champ a tester

	if(controle.value.length==0 && mini>0)							// si le champ est requis et vide
	{
		alert('Vous devez saisir ce champ.');
		bloque(formulaire,champ);								// On active le blocage du champ
		return false;
	}
	else
	{
		if (controle.value.length > 0)									// On ne fera les tests que si le champ est rempli d'au moins un caractere (pas vide)
		{
			if (!RE.test(controle.value))								// Si on ne trouve pas dans le champ l'expression reguliere recherchee
			{
				alert('Votre saisie est incorrecte.');
				bloque(formulaire,champ);								// On active le blocage du champ
				return false;
			}
		
			if ( mini != 0 )											// Tests de longueur du champ (nombre de caracteres saisis)
			{															// Si il a ete specifie '0', le test n'est pas effectue
				if ( controle.value.length < mini )
				{
					alert('Vous devez saisir au moins ' + mini + ' caracteres.');
					bloque(formulaire,champ);								// On active le blocage du champ
					return false;
				}
			}
		
			if ( maxi != 0 )											// Si il a ete specifie '0', le test n'est pas effectue
			{
				if ( controle.value.length > maxi )						// Si la longueur de la saisie est superieure au maximum demande
				{
					alert('Vous ne devez pas saisir plus de ' + maxi + ' caracteres.');
					bloque(formulaire,champ);								// On active le blocage du champ
					return false;
				}
			}
		}
	}		
	return true;
}


function bloque(formulaire,champ)
{
	var controle = eval('document.' + formulaire + '.' + champ);			// Creation d'un raccourci pour manipuler le champ
	controle.focus();														// On se place sur le champ incrimine
	controle.select();														// On selectionne le contenu pour faciliter la reprise de la saisie
}