var listechamps;

function TestRegExp(re, str)
{
	if (re.test(str))
		return true;
	else
		return false;
}

function isNumeric(str)
{
	if(str=="")
		return true;

	var validPatterns = /^[0-9]+$/;
	return TestRegExp(validPatterns, str);
}

function isNotEqualZero(str)
{
	return (isNumeric(str) && (str != "0"));	
}

function isFloat(str)
{
	if(str=="")
		return true;

	var validPatterns = /^[0-9]+([,|\.][0-9]{1,2})?$/;
	return TestRegExp(validPatterns, str);
}

function isYear(str)
{
	var validPatterns = /^[0-9]{4}$/;
	return (TestRegExp(validPatterns, str)||(str==""));
}


function isDateFR(str)
{
	if (str=="")
	return true;
	
	reg = new RegExp("^([0-9]{1,2})[ \/]([0-9]{1,2})[ \/]([0-9]{4})$", "g");
	result = reg.exec(str);
	if (result)
	{
		DateStrUser = eval(result[1]) + " " + eval(result[2] - 1) + " " + eval(result[3]);
		DateUser = new Date(result[3], eval(result[2] - 1), result[1]);
		VerifiedDateStr = DateUser.getDate() + " " + DateUser.getMonth() + " " + DateUser.getFullYear();
		if (DateStrUser == VerifiedDateStr)
			return true;
		else
			return false;
	}
	else return false;
}

function isCPFR(str)
{
	if (str=="") return true;

	if ((isNumeric(str)) && (str.length == 5))
		return true;
	else
		return false;
}

function isDeptFR(str)
{
	if (str=="") return true;

	if ((isNumeric(str)) && (str.length == 2))
		return true;
	else
		return false;
}

function isEmail(str)
{
	if(str!="")
	{
		var ok = false;
		var invalidPatterns = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
		var validPatterns = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;

		if (window.RegExp)
		{
			if (!invalidPatterns.test(str) && validPatterns.test(str))
			{
				ok = true;
			}
		}
		else
		{
			if(str.indexOf("@") >= 0)
			{
				ok = true;
			}
		}
		return ok;
	}
	
	return true;
}

function ChecknSubmit(zeForm)
{
	var mesg = '';

	if (listechamps != null)
	{
		for(var i=0; i<listechamps.length; i++)
		{
			if (listechamps[i][2] != '')
			{
				valeur = zeForm.elements[listechamps[i][0]].value;
				if (!eval(listechamps[i][2]+"('"+valeur+"')"))
					mesg += listechamps[i][1];
			}
			else
			{
				if (zeForm.elements[listechamps[i][0]].value=='')
					mesg += listechamps[i][1];
			}
		}
	}
	
	if (mesg!='')
	{
		alert('Certains champs requis ne sont pas corrects :\n' + mesg);
		return false;
	}
	else
		zeForm.submit();	
}

function ChecknSubmitTrad(zeForm,alerte_langue)
{
	var mesg = '';

	if (listechamps != null)
	{
		for(var i=0; i<listechamps.length; i++)
		{
			if (listechamps[i][2] != '')
			{
				valeur = zeForm.elements[listechamps[i][0]].value;
				if (!eval(listechamps[i][2]+"('"+valeur+"')"))
					mesg += listechamps[i][1];
			}
			else
			{
				if (zeForm.elements[listechamps[i][0]].value=='')
					mesg += listechamps[i][1];
			}
		}
	}
	
	if (mesg!='')
	{
		alert(alerte_langue+ '\n' + mesg);
		return false;
	}
	else
		zeForm.submit();	
}


function ConfirmSuppres(lien)
{
	if (confirm("!! ATTENTION !!\nVous vous appretez à supprimer un élément.\nToutes les données seront DEFINITIVEMENT perdues\nVoulez vous continuer ?"))
		document.location = lien;
}


function toUpper(champ)
{
	champ.value = champ.value.toUpperCase();
}


