function validateForm(psForm)
{
	switch(psForm)
	{
		case "customer":
		case "customer-adm":
			var lasFields=Array("nom","prenom","tel","email","adresse1","cp","ville");
			for(lnJ=0;lnJ<lasFields.length;lnJ++)
			{
				if(!validateField(lasFields[lnJ],"novoid"))	
					return false;
			}
			if(!validateField("tel","phone"))	
				return false;	
			if(!validateField("email","email"))	
				return false;	
			if((getURLParam("num")=="0")||(getURLParam("num")==""))	
				if(!validateField("psw","psw"))	
					return false;
		break;
		
		case "newsletter":
			if(!validateField("email","email"))	
				return false;	
		break;
		
		default:
			return true;	
	}		
	return true;	
}

function validatePhone(psValue)
{
	var lnDigits=psValue.length;
	var lsDigits="0123456789";
	var lsAllowedChars=lsDigits+"+-.( )";
	
	for(lnI=0;lnI<psValue.length;lnI++)
		if(lsAllowedChars.indexOf(psValue.charAt(lnI))<0)
			return false;
		else
			if(lsDigits.indexOf(psValue.charAt(lnI))<0)
				lnDigits--;
	if(lnDigits<10)
		return false;
			
	return true;
}

function validateDate(psValue)
{

	return true;
}

function validateField(psField,psMode)
{
	if(document.getElementById(psField)==null)
	{
		alert("field not found : "+psField);
		return false;	
	}
	if(document.getElementById(psField).className=="errField")
		document.getElementById(psField).className="norField";
	var lsValue=document.getElementById(psField).value;
	var lasModes=psMode.split(";");
	for(lnK=0;lnK<lasModes.length;lnK++)
	{
		var lasArgs=lasModes[lnK].split("=");
		switch(lasArgs[0])
		{
			case "novoid":
				if(lsValue=="")
				{
					document.getElementById(psField).className="errField";
					alert("Veuillez entrer une valeur pour : "+getStr("FLD_"+psField));	
					return false;
				}
			break;
			
			case "email":
				if(lsValue.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1)
				{
					document.getElementById(psField).className="errField";
					alert("Veuillez fournir une adresse e-mail valide");
					return false;	
				}
			break;
			
			case "phone":
				if(!validatePhone(lsValue))
				{
					document.getElementById(psField).className="errField";
					alert("Veuillez fournir un numéro téléphonique valide");
					return false;	
				}
			break;
			
			case "date":
				if(!validateDate(lsValue))
				{
					document.getElementById(psField).className="errField";
					alert("Veuillez fournir une date valide");
					return false;	
				}
			break;
			
			case "psw":
				if(lsValue.length<6)
				{
					document.getElementById(psField).className="errField";
					alert("Veuillez fournir un mot de passe de 6 caractères ou plus");
					return false;	
				}
			break;
			
			default:
				alert("unknown mode for "+psField+" : "+psMode);
				return false;	
		}
	}
	return true;	
}
