// Teste que la date est valide
// et saisie au bon format
function JSDateValide(val, dateFmt)
{
	s_src = val;

	if (s_src.length>0)
	{
		// Pour changer le format
		s_src = s_src.replace('/', '-');
		s_src = s_src.replace('/', '-');
		i_pos1 = s_src.indexOf('-',  0);
		i_pos2 = s_src.indexOf('-', i_pos1 + 1);
		if ((i_pos1 == -1) || (i_pos2 == -1))
		{
			if (dateFmt == 'o')
				alert('Les dates doivent être au format mm-jj-aaaa');			
			else
				alert('Les dates doivent être au format jj-mm-aaaa');
				
			s_src = ""; //Seul cas ou on vide
			return s_src;
		}
		if ((i_pos1 == 2) && (i_pos2 == 5) && (s_src.length == 10))
		{
			if (dateFmt == 'o')
				{
				s_mois = s_src.substring(0, i_pos1);
				s_jour = s_src.substring(i_pos1 + 1, i_pos2);
				}
			else
				{
				s_jour = s_src.substring(0, i_pos1);
				s_mois = s_src.substring(i_pos1 + 1, i_pos2);
				}
			s_an = s_src.substring(i_pos2 + 1, s_src.length);

			for (var i = 0; i < 2; i++)
			{
				var ch = s_jour.substring(i, i + 1);
				var ch2 = s_mois.substring(i, i + 1);

				if ((ch < '0' || ch > '9') || (ch2 < '0' || ch2 > '9'))
				{
					alert('Date non valide.');
					//s_src="";// on ne vide pas
					return s_src;
				}
			}

			for (var i = 0; i < 4; i++)
			{
				var ch = s_an.substring(i, i + 1);

				if (ch < '0' || ch > '9')
				{
					alert('Date non valide.');
					//s_src = ""; // on ne vide pas
					return s_src;
				}
			}

			if (((s_jour == 30) && (s_mois == 2)) || (s_jour < 1) || (s_jour > 31) || (s_mois < 1) || (s_mois > 12) || (s_an < 1000))
			{
				alert('Date non valide.');
				//s_src = "";// on ne vide pas
				return s_src;
			}

			if ((s_jour == 31) && ((s_mois == 2) || (s_mois == 4) || (s_mois == 6) || (s_mois == 9) || (s_mois == 11)))
			{
				alert('Date non valide.');
				//s_src = ""; // on ne vide pas
				return s_src;
			}

			if ((s_jour == 29) && (s_mois == 2))
			{
				if ((s_an / 4) != Math.floor(s_an / 4))
				{
					alert('Date non valide.');
					//s_src = ""; // On ne vode pas
					return s_src;
				}
			}
			return s_src;
		}
		else
		{
			if (dateFmt == 'o')
				alert('Les dates doivent être au format mm-jj-aaaa');			
			else
				alert('Les dates doivent être au format jj-mm-aaaa');
				
			//s_src = ""; // on ne vide pas
			return s_src;
		}
	}
	if (val == "")
	{
		s_src = "";
		return s_src;
	}
}

// Teste si la date saisie est valide ou non
function isDateValide(val, dateFmt)
{
	s_src = val;

	if (s_src.length>0)
	{
		// Pour changer le format
		s_src = s_src.replace('/', '-');
		s_src = s_src.replace('/', '-');
		i_pos1 = s_src.indexOf('-',  0);
		i_pos2 = s_src.indexOf('-', i_pos1 + 1);
		if ((i_pos1 == -1) || (i_pos2 == -1))
		{
			return false;
		}
		if ((i_pos1 == 2) && (i_pos2 == 5) && (s_src.length == 10))
		{
			if (dateFmt == 'o')
				{
				s_mois = s_src.substring(0, i_pos1);
				s_jour = s_src.substring(i_pos1 + 1, i_pos2);
				}
			else
				{
				s_jour = s_src.substring(0, i_pos1);
				s_mois = s_src.substring(i_pos1 + 1, i_pos2);
				}
			s_an = s_src.substring(i_pos2 + 1, s_src.length);

			for (var i = 0; i < 2; i++)
			{
				var ch = s_jour.substring(i, i + 1);
				var ch2 = s_mois.substring(i, i + 1);

				if ((ch < '0' || ch > '9') || (ch2 < '0' || ch2 > '9'))
				{
					return false;
				}
			}

			for (var i = 0; i < 4; i++)
			{
				var ch = s_an.substring(i, i + 1);

				if (ch < '0' || ch > '9')
				{
					return false;
				}
			}

			if (((s_jour == 30) && (s_mois == 2)) || (s_jour < 1) || (s_jour > 31) || (s_mois < 1) || (s_mois > 12) || (s_an < 1000))
			{
				return false;
			}

			if ((s_jour == 31) && ((s_mois == 2) || (s_mois == 4) || (s_mois == 6) || (s_mois == 9) || (s_mois == 11)))
			{
				return false;
			}

			if ((s_jour == 29) && (s_mois == 2))
			{
				if ((s_an / 4) != Math.floor(s_an / 4))
				{
					return false;
				}
			}
			return true;
		}
		else
		{
			return false;
		}
	}
	if (val == "")
	{
		return false;
	}
}

// Teste que la chaine est bien un asterisque
// La vide sinon
function valideAsterisque(val)
{
	s_src = val;
	if (s_src == "")
	{
		return s_src;
	}
	if (s_src.substring(0,1) == '*')
	{
		return s_src;
	}
	else
	{
		alert('Seul le caractère * est autorisé.');
		s_src = '*';
		return s_src;
	}
}


// Fonction qui vérifie que la chaine est bien
// en nombre
function checkNum(checkString)
{
    newString = "";    // REVISED/CORRECTED STRING
    count = 0;         // COUNTER FOR LOOPING THROUGH STRING

    for (i = 0; i < checkString.length; i++)
	{
        ch = checkString.substring(i, i+1);

        if (ch >= "0" && ch <= "9")
		{
            newString += ch;
        }
    }

    if (checkString != newString)
	{
		return false;
	}
	else
	{
	    return true;
	}
}


