	<!-- Script de contrôle de saisie du formulaire  -->
	var msg = "";
	
	function noSpaces(formname, entry, message) 
	{
		str = eval('document.' + formname + '.'  + entry + '.value');
		temp = "";
		localOK = ok;
		local = true
		
		if 	(str.length != 0) 
		{
			for (i = 0; i <= str.length-1; i++)
			{ // start for loop
					temp= temp + " ";
			} // end for loop
		
			if (str.substring(0, str.length)== temp) 
			{
				ok = false ;
				local = false;
			}
		} // if str.length ...
		else
		 {
			ok = false ;
			local = false;
		}
		
		if (localOK != ok )
		{ msg = msg + "Vous devez obligatoirement renseigner les donnees suivantes :\n"; }
		if (ok == false && local == false)
		{ msg = msg + message + "\n"; }
	}
	
	/* Verifies if fields are valid for New form*/
	
	function CheckFormValues(formname)
	{
		ok=true;
		numchar=true;
		form=eval('document.'+formname);
			
		noSpaces(formname,"id_fonds", "Fonds");
		
	   if (ok==false) {
			 alert(msg);
			 msg = "";
		 }
		else {form.submit();}
	} // end function


function controlDate(e)
{
    if (!validerDate(e))
    {
        //alert(e.title + " : Date incorrecte !")
        e.style.backgroundColor="#FFCCCC";
        e.focus();
    }
    else
        e.style.backgroundColor="#FFFFFF";
}
// détermine si une date saisie est valide et la transforme au format JJ/MM/AAAA
// les formats possibles en entrée sont :
// JJMMAA JJMMAAAA JJ/MM/AA JJ/MM/AAAA
// On peut utiliser comme séparateur de champ soit ' ', soit '-', soit '/'.
function validerDate(e) {
	var num = "0123456789";
	var sepa = " /-";
	var separateur = "/";
	var jour = "";
	var mois = "";
	var annee ="";
	var retour = "";
	var taille = e.value.length;
	var date = e.value;
	var sortie = "";
	var j, m, a;

	var title = "Ce champ"
	if (e.title != "") title = e.title;
	
		// test de la taille
	if (taille == 0) 
	{
	    e.value = "";
		return true;
	}
	TestDate:if (taille != 0)
	{
		if (taille != 6 && taille != 8 && taille != 10) {
			retour  = "Date invalide";
			break TestDate;
		}

		// test des caractères de la chaine
		for (var i = 0 ; i < taille ; i ++) {
			if (-1 == num.indexOf(date.charAt(i)) && -1 == sepa.indexOf(date.charAt(i))) { 
				retour = "Date invalide";			
				break TestDate;
			}
		}

		// test du format de la chaine & découpage
		if (taille == 6) {							// JJMMAA
			for (var i = 0 ; i < taille ; i ++) {
				if (-1 == num.indexOf(date.charAt(i))) { 
					retour = "Date invalide";			
					break TestDate;
				}
			}
			jour  = date.charAt(0) + date.charAt(1);
			mois  = date.charAt(2) + date.charAt(3);
			annee = date.charAt(4) + date.charAt(5);
		} else if (taille == 8) {					// JJMMAAAA ou JJ/MM/AA
			if (-1 == num.indexOf(date.charAt(0)) || -1 == num.indexOf(date.charAt(1)) 
				|| -1 == num.indexOf(date.charAt(3)) || -1 == num.indexOf(date.charAt(4)) 
				|| -1 == num.indexOf(date.charAt(6)) || -1 == num.indexOf(date.charAt(7))) { 
				retour = "Date invalide";			
				break TestDate;
			}
			if ((-1 == num.indexOf(date.charAt(2)) && -1 == sepa.indexOf(date.charAt(5))) 
				|| (-1 == sepa.indexOf(date.charAt(2)) && -1 == num.indexOf(date.charAt(5)))) { 
				retour = "Date invalide";			
				break TestDate;
			}
			jour  = date.charAt(0) + date.charAt(1);
			if (-1 == num.indexOf(date.charAt(2))) {
				mois  = date.charAt(3) + date.charAt(4);
				annee = date.charAt(6) + date.charAt(7);
			} else {
				mois  = date.charAt(2) + date.charAt(3);
				annee = date.charAt(4) + date.charAt(5) + date.charAt(6) + date.charAt(7);
			}
		} else if (taille == 10) {					// JJ/MM/AAAA
			if (-1 == num.indexOf(date.charAt(0)) || -1 == num.indexOf(date.charAt(1)) 
				|| -1 == num.indexOf(date.charAt(3)) || -1 == num.indexOf(date.charAt(4)) 
				|| -1 == num.indexOf(date.charAt(6)) || -1 == num.indexOf(date.charAt(7))
				|| -1 == num.indexOf(date.charAt(8)) || -1 == num.indexOf(date.charAt(9))
				|| -1 == sepa.indexOf(date.charAt(2)) || -1 == sepa.indexOf(date.charAt(5))) { 
				retour = "Date invalide";			
				break TestDate;
			}
			jour  = date.charAt(0) + date.charAt(1);
			mois  = date.charAt(3) + date.charAt(4);
			annee = date.charAt(6) + date.charAt(7) + date.charAt(8) + date.charAt(9);
		}	
		j = eval(jour);
		m = eval(mois);
		a = eval(annee);
		if (a < 40) {
			a += 2000;
		} else if (a < 100) {
			a += 1900;
		}
		if (j < 1) {
			retour = "- Le jour spécifié (" + day + ") est invalide.\n";
			break TestDate;
		}
		if (j > 31) {
			retour =  "- Le nombre de jours dans un mois est limité à 31!\n";
			break TestDate;
		}
		if (m < 1 || m > 12) {
			retour =  "- Le mois spécifié est invalide.\n";
			break TestDate;
		}
		if (a < 1900) {
			retour =  "- L'année doit etre supérieure à 1900.\n";
			break TestDate;
		}
		//
		//	Vérifier le jour du mois
		if ((m == 4 || m == 6 || m == 9 || m == 11) && j > 30) {
			retour =  "- Le nombre de jours est limité à 30 pour les mois d'avril, juin, septembre et novembre!\n";
			break TestDate;
		}

		if (m == 2) {
			if (j > 29) {
				retour =  "- Le mois de février ne peut comporter que 29 jours au maximum.\n";
				break TestDate;
			} else if (j == 29 && (a % 4 != 0)) {
				retour =  "- L'année " + a + " n'est pas bissextile\n";
				break TestDate;
			}
		}
	}
	
	if (retour != "")
	{
		//NNS	AfficherMessages('0','MSG_RECH_ERR_SAISIE','E', '$saut$' + retour );
		alert(title + " : " + retour);
		return false;
	}
	
	sortie = jour + separateur + mois + separateur + a;
	e.value = sortie;
	return true;
}


<!-- Fin Script de contr&ocirc;le de saisie du formulaire  -->