//<!-- 
function Validate_Form(theForm)
{
	var Name;
	var Type;
	var Caption;
	var Required;
	var Min_Length;
	var Max_Length;
	
	var formLength = theForm.length;
	
	// loop over each form field
	var FieldIDArray = theForm.Field_ID_List.value.split(',');
	for (var temp=0; temp < FieldIDArray.length; temp++)
	{
	    var count = FieldIDArray[temp];
		
		// get form field name
		Field = "Field" + count;
		
//		for (var j=0; j<formLength; j++)
//		{
			// check if the field exists
//			if (theForm.elements[j].name == Field)
//			{
				// get name of each variable 
				Type = "Type" + count;
				Caption = "Caption" + count;
				Required = "Required" + count;
				Min_Length = "Min_Length" + count;
				Max_Length = "Max_Length" + count;

				switch (theForm.elements[Type].value)
				{
					case "Text":
					case "Textarea":
					case "Color":
						if (!CheckLength(theForm.elements[theForm.elements[Field].value],
										 theForm.elements[Caption].value,
										 theForm.elements[Required].value,
										 theForm.elements[Min_Length].value,
										 theForm.elements[Max_Length].value))
							return (false);
						break;
					case "Password":
					case "LetterDigit":
						if (!CheckLength(theForm.elements[theForm.elements[Field].value],
										 theForm.elements[Caption].value,
										 theForm.elements[Required].value,
										 theForm.elements[Min_Length].value,
										 theForm.elements[Max_Length].value))
							return (false);
						if (!CheckLetterDigit(theForm.elements[theForm.elements[Field].value],
										 	  theForm.elements[Caption].value))
							return (false);
						break;
					case "Letter":
						if (!CheckLength(theForm.elements[theForm.elements[Field].value],
										 theForm.elements[Caption].value,
										 theForm.elements[Required].value,
										 theForm.elements[Min_Length].value,
										 theForm.elements[Max_Length].value))
							return (false);
						if (!CheckLetter(theForm.elements[theForm.elements[Field].value],
										 theForm.elements[Caption].value))
							return (false);
						break;
					case "Digit":
						if (!CheckLength(theForm.elements[theForm.elements[Field].value],
										 theForm.elements[Caption].value,
										 theForm.elements[Required].value,
										 theForm.elements[Min_Length].value,
										 theForm.elements[Max_Length].value))
							return (false);
						if (!CheckDigit(theForm.elements[theForm.elements[Field].value],
										theForm.elements[Caption].value))
							return (false);
						break;
					case "Number":
						if (!CheckLength(theForm.elements[theForm.elements[Field].value],
										 theForm.elements[Caption].value,
										 theForm.elements[Required].value,
										 theForm.elements[Min_Length].value,
										 theForm.elements[Max_Length].value))
							return (false);
						if (!CheckNumber(theForm.elements[theForm.elements[Field].value],
										 theForm.elements[Caption].value))
							return (false);
						break;
					case "Date":
					case "Date/Time":
						if (!CheckDate(theForm.elements[(theForm.elements[Field].value+"_Month")],
									   theForm.elements[Caption].value,
									   theForm.elements[(theForm.elements[Field].value+"_Year")],
									   theForm.elements[(theForm.elements[Field].value+"_Month")],
									   theForm.elements[(theForm.elements[Field].value+"_Day")] ))
							return (false);
						break;
					case "Time":
						break;
					case "Listbox":
					case "ComboBox":
					case "DropDown":
						if (!CheckSelect(theForm.elements[theForm.elements[Field].value],
										 theForm.elements[Caption].value,
										 theForm.elements[Required].value))
							return (false);
						break;
					case "Province/State":
						if (!ValidateProv(theForm))
							return (false);
						break;
					case "Office Phone":
						if (!CheckLength(theForm.C_Area_Code, "Code régional au travail", 
										 theForm.elements[Required].value, 0, 3))
							return (false);
						if (!CheckDigit(theForm.C_Area_Code, "Code régional au travail"))
							return (false);
						if (!CheckLength(theForm.C_Number, "Téléphone au travail", 
										 theForm.elements[Required].value, 0, 7))
							return (false);
						if (!CheckDigit(theForm.C_Number, "Téléphone au travail"))
							return (false);
						break;
					case "Home Phone":
						if (!CheckLength(theForm.C_Area_Code2, "Code régional à la maison", 
										 theForm.elements[Required].value, 0, 3))
							return (false);
						if (!CheckDigit(theForm.C_Area_Code2, "Code régional à la maison"))
							return (false);
						if (!CheckLength(theForm.C_Number2, "Téléphone à la maison", 
										 theForm.elements[Required].value, 0, 7))
							return (false);
						if (!CheckDigit(theForm.C_Number2, "Téléphone à la maison"))
							return (false);
						break;
					case "Fax":
						if (!CheckLength(theForm.C_Area_Code3, "Code régional du télécopieur", 
										 theForm.elements[Required].value, 0, 3))
							return (false);
						if (!CheckDigit(theForm.C_Area_Code3, "Code régional du télécopieur"))
							return (false);
						if (!CheckLength(theForm.C_Number3, "Télécopieur", 
										 theForm.elements[Required].value, 0, 7))
							return (false);
						if (!CheckDigit(theForm.C_Number3, "Télécopieur"))
							return (false);
						break;
					case "CheckBox":
						if (theForm.elements['CheckBox_' + Field].checked)
							theForm.elements[theForm.elements[Field].value].value = '1';
						else
							theForm.elements[theForm.elements[Field].value].value = '0';
						break;
					case "CheckBoxList":
					case "RadioList":
						if (theForm.elements[Required].value)
						{
							if (!SelectCheckbox(theForm, theForm.elements[Field].value, theForm.elements[Caption].value))
								return (false);
						}
						break;
					case "Iframe":
						if (eval("HTML" + theForm.elements[Field].value + ".oDiv"))
						{
							theForm.elements[theForm.elements[Field].value].value = eval("HTML" + theForm.elements[Field].value + ".oDiv").innerHTML;
						}
						else
						{
							eval("HTML" + theForm.elements[Field].value).MENU_FILE_SAVE_onclick();
							theForm.elements[theForm.elements[Field].value].value = eval("HTML" + theForm.elements[Field].value).UploadForm.UploadDocument.value;
						}
						break;
					case "Address":
						if (!CheckLength(theForm.Street, "Prov", 1, 0, 100) ||
							!CheckLength(theForm.City, "Ville", 1, 0, 50) ||
							!ValidateProv(theForm) ||
							!CheckLength(theForm.Zip, "Code Postal/Zip", 1, 0, 15) ||
							!CheckLetterDigit(theForm.Zip, "Code Postal/Zip"))
							return (false);
						break;
					case "Email":
						if (!CheckLength(theForm.elements[theForm.elements[Field].value],
										 theForm.elements[Caption].value,
										 theForm.elements[Required].value,
										 theForm.elements[Min_Length].value,
										 theForm.elements[Max_Length].value))
							return (false);
						if (Number(theForm.elements[Required].value) && !CheckEmail(theForm.elements[theForm.elements[Field].value], theForm.elements[Caption].value))
							return (false);
						break;
			
				}
//				break;
//			}
//		}
	
	}

	
	return (true);
}
// -->

function fnDeleteFile(objForm, strField)
{
	if (objForm && objForm.elements[strField])
	{
		objForm.elements[strField].value = '';
		alert("Le fichier sera effacé après avoir soumis ce formulaire.");
	}
}