// LTH modifications
// è -> &egrave;
// é -> &eacute;
// à -> &agrave;
var chiffre="0123456789"
var nombre = chiffre+"., "
// LTH Modifications
//var alpha = "abcdefghijklmnopq...">
var alpha = document.form_diag.fpCharAlpha.value;
var alphanum= alpha+chiffre
var alphanom= alpha+nombre
var alphanom1= alphanom+"- '()€$£%[]{}&=+@?!/°;:*~_’"

function verif_email(dc,facu,min,max,car_vald) {
	// Renvoi une chaine vide si ok, sinon retourne l'erreur
	var unemail = /^((\w+(\-\w+)*)*\.?(\w+(\-\w+)*))+@((\w+(\-\w+)*)*\.(\w+(\-\w+)*))+$/;
	dc = dc.toLowerCase()
	if (dc.length==0) {
		if(!facu) return " mandatory - size: "+min+((min!=max)?" to "+max:"")+" characters";
	}
	else {
		if (dc.length>max) return " too long - maximum size: "+max+" characters"
		if (dc.length<min) return " too short - minimum size: "+min+" characters"
		if (min==max&&dc.length!=min) return " incorrect in size - size: "+max+" characters"
	}

	if (car_vald=="") return "" // si rien à vérifier renvoi ok

	for (var i=0;i<dc.length;i++) {
		if (car_vald.indexOf(dc.charAt(i))==-1 ) return " incorrectly filled out - unauthorized character: "+dc.charAt(i)
		
	}
	if(!unemail.test(dc)&&dc.length!=0) {return " incorrectly filled out"} 
	
	return ""
}





function verif_chp(dc,facu,min,max,car_vald) {
	// Renvoi une chaine vide si ok, sinon retourne l'erreur
	dc = dc.toLowerCase()
	if (dc.length==0) {
		if(!facu) return " mandatory - size: "+min+((min!=max)?" to "+max:"")+" characters"
	}
	else {
		if (dc.length>max) return " too long - maximum size: "+max+" characters"
		if (dc.length<min) return " too short - minimum size: "+min+" characters"
		if (min==max&&dc.length!=min) return " incorrect in size - size: "+max+" characters"
	}

	if (car_vald=="") return "" // si rien à vérifier renvoi ok

	for (var i=0;i<dc.length;i++) {
		if (car_vald.indexOf(dc.charAt(i))==-1 && dc.charAt(i)!="\n" && escape(dc.charAt(i))!="%0D" ) {
			return " incorrectly filled out - unauthorized character: "+dc.charAt(i)
		}
	}
	return ""
}

function verif_select (dc,facu,min,car_vald) {
	// Renvoi une chaine vide si ok, sinon retourne l'erreur
	dc = dc.toLowerCase()
	if (dc.length==0) {
		if(!facu) return " minimum required: "+min+" selected choice"
	}
	return ""
}

function verif_checkbox (dc,min,max)
{
// Renvoi une chaine vide si ok, sinon retourne l'erreur
	if (max==undefined){max='infini'}
	taille_dc = dc.length; 
	i=0;
	nb_check=0;
	for (i=0;i<taille_dc;i++)
	{
		if (dc[i].checked == true){nb_check=nb_check+1;}
	}

	if (nb_check<min) {
		if (max!='infini')
		{
		return " mandatory - choice number: "+min+((min!=max)?" to "+max:"")
		}
		else
		{
			return " mandatory - minimum choice number: "+min
		}
	}
	else {
		if (max!='infini')
		{
		if (nb_check>max) return " mandatory - choice number: "+min+((min!=max)?" to "+max:"")
		}
		else{return ""}
	}


}

function getChp(f,c) {return eval("document."+f+".elements['"+c+"']") }

function getChptxt(f,c) { return getChp(f,c).value}
function getSelect(f,c) { return eval("document."+f+"."+c+".value")}
function getChekbox(f,c) { return document.getElementsByName(c)}
function setChptxt(f,c,t) { return getChp(f,c).value=t }

function surbr(o,etat) {
	o.style.backgroundColor=(etat)?"#B6F1C5":"#FFFFFF"
	/*o.style.borderTopColor=(etat)?"#ffffff":"#ffffff"
	o.style.borderLeftColor=(etat)?"#003399":"#003399"
	o.style.borderBottomStyle="solid"
	o.style.borderRightStyle="solid"
	o.style.borderBottomWidth="1px"
	o.style.borderRightWidth="1px"
	o.style.borderRightColor=(etat)?"#003399":"#003399"
	o.style.borderBottomColor=(etat)?"#003399":"#003399"*/
}

function err(s1,s2) { return "The field ["+s1+"] is"+s2+"" }
function err_bis(s1,s2) { return "The question ["+s1+"] is"+s2+"" }



function verif_birthday(dc,facu,min,max,car_vald) {
	// Renvoi une chaine vide si ok, sinon retourne l'erreur
	 var exp=new RegExp("^[0-3][0-9]/[01]?[0-9]/[0-9]{4}$","g");
	 	

	dc = dc.toLowerCase()
	if (dc.length==0) {
		if(!facu) {return " mandatory - Format DD/MM/YYYY"}
		else{return ""}
		
	}
	else
	{
	      //Modifications AUP - 18/10/2006
	      // vérifie le format JJ/MM/AAAA saisi et la validité de la date.
	      // Le séparateur est défini dans la variable separateur
	      var amin=1900; // année mini
	      var amax=2200; // année maxi
	      var separateur="/"; // separateur entre jour/mois/annee
	      var j=(dc.substring(0,2));
	      var m=(dc.substring(3,5));
	      var a=(dc.substring(6));
	      var ok=1;
	      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
	         return " incorrectly filled out - Format DD/MM/YYYY"
	      }
	      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
	         return " incorrectly filled out - Format DD/MM/YYYY"
	      }
	      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
	         return " incorrectly filled out - Format DD/MM/YYYY"
	      }
	      if ( ((dc.substring(2,3)!=separateur)||(dc.substring(5,6)!=separateur)) && (ok==1) ) {
	         return " incorrectly filled out - Format DD/MM/YYYY"
	      }

	      var d2=new Date(a,m-1,j);
	      j2=d2.getDate();
	      m2=d2.getMonth()+1;
	      a2=d2.getFullYear();
	      if (a2<=100) {a2=1900+a2}
	      if ( (j!=j2)||(m!=m2)||(a!=a2) ) { return " incorrectly filled out !" }
	      return ""

		//if(!exp.test(dc)&&dc.length!=0) {return " incorrectly filled out - Format DD-MM-YYYY"} 
		//else {
		//return ""
		//}
	}
}