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 isPositif(str)
{
	if(str=="")
		return true;

	return (str>0);
}


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

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

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

	var validPatterns = /^(0|\+{0,1}33)[0-9]{9}$/;
	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 SizedNoSpace(str, junk, size)
{
	var validPatterns = new RegExp("^[^\\s]{" + size + "}$", "g");
	return (TestRegExp(validPatterns, str)||(str==""));
}

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

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

function isCP(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 CheckField(field, fonc)
{
	var val = field.value;
	
	if (!eval(fonc+"('" + field.value + "')"))
	{
		field.value = "";
		alert("Ce champ n'est pas valide, veuillez le saisir à nouveau.");
	}
}

function TestField(str, field, junk)
{
	var ok = true;

	if(str!="")
		if(field == "") ok = false;
	
	return ok;
}

function CompareField(str, field, junk)
{
	var ok = true;

	if(str!="")
		if(field != str) ok = false;
	
	return ok;
}

function ChecknSubmit(zeForm, confirmation)
{
	var mesg = '';
	var param = '';

	if (listechamps != null)
	{
		for(var i=0; i<listechamps.length; i++)
		{
			if (zeForm.elements[listechamps[i][0]] != null)
			{
				if (listechamps[i][2] != '')
				{
					param = '';
					valeur = zeForm.elements[listechamps[i][0]].value;
					if (listechamps[i][3] != null)
						param = ", '"+zeForm.elements[listechamps[i][3]].value+"', '"+listechamps[i][3]+"'";
					if (!eval(listechamps[i][2]+"('"+valeur+"'"+param+")"))
						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
		 if (confirmation != undefined) 
		{
			if (confirm(confirmation))
				zeForm.submit();
		}
		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 ConfirmSuppres(lien)
{
	if (confirm("!! ATTENTION !!\nVous vous apprêtez à 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();
}

function toLower(champ)
{
	champ.value = champ.value.toLowerCase();
}


