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 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 ChecknSubmit(zeForm)
{
	var mesg = '';

	if (listechamps != null)
	{
		for(var i=0; i<listechamps.length; i++)
		{
			Tab = zeForm.elements[listechamps[i][0]].length;
			if (Tab > 1)
			{
				rep = false;
				for(lst=0; lst<Tab; lst++)
				{
					if (zeForm.elements[listechamps[i][0]][lst].checked)
						rep = true;
				}
				if (!rep)
					mesg += listechamps[i][1];								
			}
			else
			{
				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 RaiseCallback(form, CallbackName, action)
{
	if (form.callback == null)
	{
		alert("Le champs Callback (INPUT HIDDEN) est abscent !");
		return false;
	}
	form.callback.value = CallbackName;
	if (action != null)
		form.action = action;
	ChecknSubmit(form);
}

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();
}



