<!--

function testExtensions(fichier,extensions)
{
	if(extensions!='') {
		var extens = extensions.toLowerCase().split(',');
		var re = "";
		for (var i = 0; i < extens.length; i++)
			{
				re = new RegExp(".*\."+extens[i]+"$");
				if (re.exec(fichier.toLowerCase()))
					return true;
			}
		return false;
	}
else
	return false;
}

function VerifDate(val) {
	var err=0
	//a=val.value
	if (val.length != 10) err=1
		d = val.substring(0, 2)// jour
		c = val.substring(2, 3)// '/'
		b = val.substring(3, 5)// mois
		e = val.substring(5, 6)// '/'
		f = val.substring(6, 10)// annee
		if (b<1 || b>12) err = 1
		if (d<1 || d>31) err = 2
		if (f<1900) err = 3
		if (b==4 || b==6 || b==9 || b==11) {
			if (d==31) err=4
		}
		if (b==2) {
			var g=parseInt(f/4)
			if (isNaN(g)) err=5
			if (d>29) err=6
			if (d==29 && ((f/4)!=parseInt(f/4))) err=7
		}
		if (err!=0) {
			//alert(val);
			//alert(val.length);
			//alert('' + err);
			return false
		}
	return true;
}

function isDateTime(val) // sous la forme 'jj/mm/aa hh:mm:ss' ou 'jj/mm/aaaa hh:mm:ss'
{
	var mDate, mTime;
	
	if (val == "") // si la variable est vide on retourne faux
		return false;
	mDate = val.split(" ")[0];
	mTime = val.split(" ")[1];
	if (!(isDate(mDate) && isTime(mTime)))
		return (false);
		
	return (true);
}

function isTime(val) // sous la forme hh:mm:ss pour un format europeen
{
	var h, m, s;
	
	if (val == "") // si la variable est vide on retourne faux
		return false;
		
	e = new RegExp("^[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}$");
	
	if (!e.test(val)) // On teste l'expression régulière pour valider la forme de la date
		return false; // Si pas bon, retourne faux
		
	h = parseInt(val.split(":")[0], 10);
	m =	parseInt(val.split(":")[1], 10);
	s = parseInt(val.split(":")[2], 10);
	
	if (h < 0 || h > 24)
		return (false);
	if (m < 0 || m > 59)
		return (false);
	if (s < 0 || s > 59)
		return (false);
		
	return (true);
}

function isDate(val)
{
	// Cette fonction permet de vérifier la validité d'une date au format jj/mm/aa ou jj/mm/aaaa
	// Par Romuald
	var j, m, a;
	
	if (val == "") // si la variable est vide on retourne faux
		return false;
	
	e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$");
	
	if (!e.test(val)) // On teste l'expression régulière pour valider la forme de la date
		return false; // Si pas bon, retourne faux

	// On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
	j = parseInt(val.split("/")[0], 10); // jour
	m = parseInt(val.split("/")[1], 10); // mois
	a = parseInt(val.split("/")[2], 10); // année

	// Si l'année n'est composée que de 2 chiffres on complète automatiquement
	if (a < 1000) {
		if (a < 89)    a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
		else a+=1900;
	}

	// Définition du dernier jour de février
	// Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
	if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
	else fev = 28;

	// Nombre de jours pour chaque mois
	nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);

	// Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
	return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
}

function testEmail(val) {
	if (!val.length)
		return (false);
	if(val.indexOf('@')<1 || val.indexOf('@')>(val.length-4))
		return (false);
	if(val.indexOf('.')<1 || val.indexOf('.')>(val.length-1))
		return (false);
	if(val.indexOf(' ') > 0)
		return (false);
	
	return true;
}

function testPercent(val) {
	var rExp = /,/gi;
	val = val.replace(rExp,"."); //remplacement des virgules par des points
	if(isNaN(val)) return false;
	else {
		if(val < 0 || val > 100) return false;
		else return true;
	}
}

function testNumeric(val,entier) {
	if(val.length == 0)
		return false;
	if(entier==false) {
		var rExp = /,/gi;
		val = val.replace(rExp,"."); //remplacement des virgules par des points
		if(isNaN(val)) return false;
		else return true;
	}
	else {
		if(isNaN(val) || val.indexOf('.') > 0) return false;
		else return true;
	}
}

function testSiret(val) {
	var total = 0;
	//si SIRET pas numérique on renvoie false
	if(!testNumeric(val,true)) return false;
	
	for(var i=13;i>=0; i--) { 
		/* Caractere interdit : refus ! */
		//if(val.charAt(i) == '0') return false;
		
		/* Les chiffres de rangs impairs sont sommés : */
		//if( ((13-i+1)%2)!= 0) total = total + (val.charAt(i) - '0');
		if( ((13-i+1)%2)!= 0) {
			total = total + eval(val.charAt(i));
			//alert(total);
		}
		else {
		/* Les chiffres de rangs pairs sont sommes après avoir été doublés,et si le double dépasse 10, on rajoute 1 aux unitées : */
			if(val.charAt(i) >= 5) {
				total = total + ((eval(val.charAt(i))*2)-10)+1;
			}
			else {
				total = total + (eval(val.charAt(i))*2);
			}
		}
    }

	/* Le total DOIT etre un multiple de 10 : */

	if((total % 10) == 0) return true;
	else return false;
}

function testNoNumber(val) {
	var numbers = "0123456789";
	for(var i=0;i<=val.length-1;i++) {
		for(var j=0;j<=numbers.length-1;j++) {
			if(val.charAt(i)==numbers.charAt(j)) {
				//alert(val.charAt(i)+'/'+numbers.charAt(j)+'/i='+i+'/j='+j);
				return false;
			}
		}
	}
	return true;
}

function diffDateNow(jour,mois,annee,heure,min) // la date fournie en entree doit etre GMT
{
	var offset_diff, diff, Maintenant, Futur;
	
	Maintenant = new Date;
	Futur = new Date(annee, mois-1, jour, heure, min, 0, 0);

	offset_diff = Futur.getMinutes() - Maintenant.getTimezoneOffset();
	diff = Date.UTC(Futur.getYear(),Futur.getMonth(),Futur.getDate(),Futur.getHours(),offset_diff,0,0) - Date.UTC(Maintenant.getYear(),Maintenant.getMonth(),Maintenant.getDate(),Maintenant.getHours(),Maintenant.getMinutes(),0,0);
	diff /= 1000;
	diff /= 60;
	return (diff);
}

function supportsCookies(rootPath) {
	setCookie('checking_for_cookie_support', 'testing123', '', (rootPath != null ? rootPath : ''));
	if (getCookie('checking_for_cookie_support')) return true;
	else return false;
}
//-->