function FormVerify(f, bEmailMandatory)
{
	var iTmp = -1;
	var iVerify = -1;
	var iVerifyIndex = -1
	var sOut="";
	var lOut=new Array();
	var bFocus=false;
	var sCurrentName ="";
	for (i = 0; i < f.length; i++)
	{
		var t = f.elements[i];
		var sType = String(t.type).toLowerCase();
		if ((sType == "undefined") || (sType=="button") || (sType == "hidden") || (sType == "radio")||(sType == "checkbox"))
		{
			continue;
		}
		if (t.disabled)
		{
			continue;
		}

		if (sType == "text") 
		{
			if (t.value == "")
			{
				sCurrentName = String(t.name).toLowerCase();
				iVerifyIndex = iVerify;
				if (sCurrentName=="nom")
				{
					iVerify++;
					lOut[iVerify] = "nom";
				}
				if (sCurrentName=="prenom")
				{
					iVerify++;
					lOut[iVerify] = "prénom";
				}
				if (sCurrentName=="dossard")
				{
					iVerify++;
					lOut[iVerify] = "dossard";
				}

				if (sCurrentName=="email")
				{
					if (bEmailMandatory)
					{
						iVerify++;
						lOut[iVerify] = "e-mail";
					}
				}

				if ((iVerify != iVerifyIndex)&&(bFocus==false))
				{
					t.focus();
					bFocus = true;
				}
			}
			else
			{
				sCurrentName = String(t.name).toLowerCase();
				if (sCurrentName=="nom")
				{
					t.value = FormatName(t.value);
				}

				if (sCurrentName=="email")
				{
					// On passe tout en minuscules
					t.value = String(t.value).toLowerCase();
				}


				continue;
			}
		}
		else
		{
			continue;
		}
	}
	
	
	if (iVerify > -1)
	{
		if (iVerify < 1)
		{
			sOut = "Le champ '" + lOut[0] + "' n'est pas rempli. Merci de le remplir afin de valider votre demande.";
		}
		else
		{
			sOut = "Les champs '" + lOut.join(", ") + "' ne sont pas remplis. Merci de les remplir afin de valider votre demande.";
		}
		DivAlert (sOut, "FormErrorMessage");
		return(false);
	}
	else
	{
		var sDivAlertMsg = "";
		
		// Vérification mail
		var sLetter
		var sBadChars = 'àâäãçéèêëìîïòôöõùûüñ &*?!:;,\t#~"^¨%$£?²¤§%*()[]{}<>|\\/`\'';
		var bBadChars = false;
		var sBadCharsList = "";
		var adresse = f.email.value;
		var place1 = adresse.indexOf("@");
		var place2 = adresse.indexOf("@",place1 + 1);
		var point = adresse.indexOf(".",place1+1);
		for(x = 0; x < adresse.length; x++)
		{
			sLetter = adresse.charAt(x);
			if (sBadChars.indexOf(sLetter) > -1)
			{
				bBadChars = true;
				sBadCharsList = sBadCharsList + sLetter;
			}
		}
		if (((place1 > 0)&&(place2 == -1)&&(adresse.length >2)&&(point > 1)&&(bBadChars==false)) || ((!bEmailMandatory) && (f.email.value=="")))
		{
			return(true);
		}
		else
		{
			sDivAlertMsg = "Votre adresse e-mail est incorrecte. Merci de la saisir à nouveau afin de valider votre inscription.";
			if (bBadChars)
			{
				sDivAlertMsg = sDivAlertMsg +"<BR>Vous avez saisi des caractères non autorisés : '" + sBadCharsList + "'";
			}
			DivAlert(sDivAlertMsg, "FormErrorMessage");
			return(false);
		}

	}
}


function DivAlert (sMessage, sId)
{
	document.getElementById(sId).innerHTML = "<BR>&nbsp;" + sMessage + "<BR>&nbsp;";
}


function FormatName(sName)
{
	var lettres = new RegExp("[A-Z À-ÖÙ-ÝŒŽŠß]");
	var verif;
	sName=String(sName).toUpperCase();
	for(x = 0; x < sName.length; x++)
	{
		verif = lettres.test(sName.charAt(x));
		if((sName.charAt(x) == "-") && (x > 0) && (x < sName.length - 1)){verif = true;}
		if((sName.charAt(x) == "'") && (x > 0) ){verif = true;}
		if(verif == false)
		{
			sName = sName.substr(0,x) + sName.substr(x+1,sName.length-x+1);
			x--;
		}
	}
	return sName;
}

function FormatFirstName(sName)
{
	sName = String(sName).toLowerCase();
	//sName = sName.replace(" ","-");
	var bNextUpper = true
	var lettres = new RegExp("[A-Z À-ÖÙ-ÝŒŽŠ]");
	var verif;
	for(x = 0; x < sName.length; x++)
	{
		verif = lettres.test((String(sName).toUpperCase()).charAt(x));
		if ((verif) && (bNextUpper) && (sName.charAt(x) != " "))
		{
			bNextUpper = false;
			sName = sName.substr(0,x) + sName.charAt(x).toUpperCase() + sName.substr(x+1,sName.length-x+1);
		}
		if((sName.charAt(x) == "-") && (x > 0) && (x < sName.length - 1))
		{
			verif = true;
			bNextUpper = true;
		}
		if((sName.charAt(x) == "'") && (x > 0) )
		{
			verif = true;
			bNextUpper = true;
		}
		if(sName.charAt(x) == " ")
		{
			bNextUpper = true;
		}
		if(verif == false)
		{
			sName = sName.substr(0,x) + sName.substr(x+1,sName.length-x+1);
			x--;
		}
	}
	return sName;
}


