function CheckDate(d) {

      var amin=1850; // année mini
      var amax=2500; // année maxi
      var separateur="/";
      var j=(d.substring(0,2));
      var m=(d.substring(3,5));
      var a=(d.substring(6));
      var ok=1;
      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
         /*alert("Le jour n'est pas correct."); */ok=0;
      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         /*alert("Le mois n'est pas correct."); */ok=0;
      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         /*alert("L'année n'est pas correcte."); */ok=0;
      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         /*alert("Les séparateurs doivent être des "+separateur);*/ ok=0;
      }
      if (ok==1) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getYear();
         if (a2<=100) {a2=1900+a2}
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
           /* alert("La date "+d+" n'existe pas merci de recommencer votre saisie.");*/
            ok=0;
         }
		 ok=d2;
      }
      return ok;
   }

function tjs_age(dt) {
	// Cette fonction retourne une chaîne de type :
	//  "15 ans et 6 mois"
	var d=CheckDate(dt)
	var m=new Date()
	var age=""; var age_a=0;var age_m=0;
	if (d!=0) {
		if (d.getTime()>m.getTime()) {
			age="La date de naissance est supérieure à la date du jour !";
		}
		age_a = m.getFullYear()-d.getFullYear();
		m.setYear(d.getYear());
		if ((d.getTime()>m.getTime())&&(d.getMonth()-m.getMonth()!=0)) {age_a--;}
		if (d.getMonth() >= m.getMonth()) {
			age_m = 12 - (d.getMonth()-m.getMonth())
		} else {
			age_m = (m.getMonth()-d.getMonth())
		}
		if (age_m==12) {age_m=0;}
		if (age_a==1) { age=age_a+" an"}
		if (age_a>1) { age=age_a+" ans"}
		if ((age_a>0)&&(age_m>0)) {age+=" et "}
		if (age_m>0) {age+=age_m+" mois"}
		if (age=="") { age="moins de 1 mois"}
	}
	return age_a;
}

function codeTouche(evenement)
{
	for (prop in evenement)
	{
		if(prop == 'which') return(evenement.which);
	}
	return(evenement.keyCode);
}

function scanTouche(evenement,type)
{
	switch(type)
	{
		case 'int' 			:	var reCarValides = /^[0-9]$/; break;
		case 'pseudo'		:	var reCarValides = /^[a-zA-Z0-9_]$/;break;
		case 'nomination'	:	var reCarValides = /^[a-zA-Z-.éèêëôöùûü]$/;break;
		case 'email'		:	var reCarValides = /^[a-zA-Z0-9._@-]$/;break;
	}

	var codeDecimal  = codeTouche(evenement);
	var car = String.fromCharCode(codeDecimal);
	var autorisation = reCarValides.test(car);

	if (codeDecimal==8 || codeDecimal==13 || codeDecimal<=0)	autorisation=true;

	return autorisation;
}


