
function JSCtrlSaisie(LeChamp,LeChampLuiMeme,LeType)   
// renvoie TRUE si les charactères de la string LeChamp sont tous valides
//ie : compris dans la plage spécifiée par le paramètre LeType
{		

	if (LeChamp.length==0) return true
	var aaa=1; // ne sert qu'a obtenir le type d'une numérique
	if (typeof(LeType)!=typeof(aaa)) LeType=1;  // si on ne passe pas le param LeType, alors on prend 1 par defaut pour ce param
	var allValid = true;
		
//¤¤¤ Type Titre : lettres maj min, chiffres, espace, moins, souligné 
	var LesChars1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ-abcdefghijklmnopqrstuvwxyz_0123456789 éèêëàäïöôùüûç'/\\,;:()[]{}*=!.?@";
		
//¤¤¤ Type Code : lettres maj min, chiffres, moins, souligné 
	var LesChars2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ-abcdefghijklmnopqrstuvwxyz_0123456789éèêëàäïöôùüûç";
		
//¤¤¤ Type Float
	var LesChars3 = "0123456789.";
		
//¤¤¤ Type Date
	var LesChars4 = "0123456789/";
		
//¤¤¤ type alpha : lettre maj et min espace moins 
	var LesChars5 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ-abcdefghijklmnopqrstuvwxyz";

//¤¤¤ Type Numeric
	var LesChars6 = "0123456789";	
	
	LesChars = eval("LesChars"+LeType);
	for (i = 0;  i < LeChamp.length;  i++)
	{
		ch = LeChamp.charAt(i);
		for (j = 0;  j < LesChars.length;  j++)
			if (ch == LesChars.charAt(j))
				break;
		if (j == LesChars.length)
		{
			allValid = false;
			LeChamp=LeChamp.substring(0,i);
			LeChampLuiMeme.value=LeChamp;
			break;
		}
	}
	if (!allValid)
	{
		return (false);
	}
	return (true);
}




function date_valide(d)
{

	theStepA=d.indexOf("/");
	x=d.substring(0,theStepA);
	theStepA=theStepA+1;
	theStepB=d.indexOf("/",theStepA);
	y=d.substring(theStepA,theStepB);
	theStepA=theStepB+1;
	z=d.substring(theStepA,d.length);
/*
pour mes dates j'utilise 3 listes réroulantes (on peut utiliser aussi 3inputbox... il faut juste adapter si nécessaire.)
1 pour les jours, 1 pour les mois et 1 pour les années.
x = jours
y = mois
z = année
-------------------------------
Cette fonction envoie "True" si une date est valide
et dans le cas contraire "False".*/

  if (y > 12 || y < 1 || x<1 || x>31)
  {
  return(false);
  }
  if ((x <= 31)&&(nbjours_mois(y,z)==31))
  {
  return(true);
  }
  else if ((x <= 29)&&(nbjours_mois(y,z)==29))
  {
  return(true);
  }  
  else if ((x<=28)&&(nbjours_mois(y,z)==28))
  {
  return(true);
  }  
  else if ((x<=30)&&(nbjours_mois(y,z)==30))
  {
  return(true);
  }  
  else
  {
  return(false);
  }
}
function nbjours_mois(mois,annee)
{

/* cette fonction envoie le nombre de jours dans 1 mois.
il prend en compte les années bissextiles.
!!! l'année bissextile n'est pas vraiment juste !!!
il arrive tous les 400 ans si je ne me trompes pas qu'une année
divisible par 4 ne soit pas bissextile.. d'ici là on sera plus là :-))*/
  
  if ((mois==1)||(mois==3)||
    (mois==5)||(mois==7)||
    (mois==8)||(mois==10)||
    (mois==12))
  {
  return(31);
  }
  else if ((mois==4)||(mois==6)||
    (mois==9)||(mois==11))
  {
  return(30);
  }
  else if ((mois==2)&&(annee % 4 ==0))
  {
  return(29);
  }
  else
  {
  return(28);
  }

}

function unbuildOneDate(S,D)
	{
	  if (S.length==0) {return true}

	var entry = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;

	if (!entry.test(S)) 
		{	
				alert("La date de "+D+" que vous indiquez n\'est pas valide. Nous vous prions de bien vouloir la corriger");
				return false;
		  }

	if (!date_valide(S))
	{
				alert("La date de "+D+" que vous indiquez n\'est pas valide. Nous vous prions de bien vouloir la corriger");
				return false;
	}

	return true;
	}

function unbuildOneHourFull(S,D) {
  if (S.length==0) return true;
  return /^([01]?[0-9]|[2][0-3])(:[0-5][0-9])(:[0-5][0-9])?$/.test(S) 
  
  }

function unbuildOneHour(S,D)
	{
	  if (S.length==0) {return true}
	  if (!(/^([01]?[0-9]|[2][0-3])(:[0-5][0-9])?$/.test(S)))
		  {
				alert("L\'heure de "+D+" que vous indiquez n\'est pas valide. Nous vous prions de bien vouloir la corriger");
				return false;
		  }
	return true;
	}


function valideEmail(control) {
	if (control.value.length == 0) {
		alert("Veuillez saisir une adresse Email SVP.");
	    control.focus();
	    return false;
	} else {
	  if (!(/^([a-zA-Z0-9]+(([\.\-\_]?[a-zA-Z0-9]+)+)?)\@(([a-zA-Z0-9]+[\.\-\_])+[a-zA-Z]{2,4})$/.test(control.value)))
		  {
				alert("L\'adresse e-mail que vous indiquez n\'est pas valide. Nous vous prions de bien vouloir la corriger");
				control.focus();
				return false;
		  }
	  }
	return true;
}

