/*-- Function to validate form --

 Add the following to the tags to form elements to validate:

 1. valid_switch="X|Y" where 
	X= C of compulsory field / A for not compulsory;
	Y= A for anything / N for number / E for eMail
 
 2. invalid_message="error message is invald"
*/ 

	function validate_Form(oForm)
	{
		for (i=0; i<oForm.elements.length; i++)
		{
			if (oForm.elements[i].type=='radio')
			{
				if (oForm.elements[i].valid_switch)
				if (oForm.elements[i].valid_switch.substring(0,1)=='C')
				{
					isChecked = false

					for (j=0; j<document.all(oForm.elements[i].name).length; j++)
					{
						if (document.all(oForm.elements[i].name).item(j).checked)
						{
							isChecked = true;
							break;							
						}
					}
					
					if (!(isChecked))
					{
						alert(oForm.elements[i].invalid_message);
						oForm.elements[i].focus();
						return false;
					}
				}
			}
			else
			{

				if (oForm.elements[i].valid_switch)
				{
					arrValid = oForm.elements[i].valid_switch.split("|");
					
					//Compulsory
					if ((arrValid[0] == 'C')&&(oForm.elements[i].value==''))
					{
						alert(oForm.elements[i].invalid_message);
						oForm.elements[i].focus();
						return false;
					}

					//eMail
					if (arrValid[1] == 'E')
					{
						strReqExp = '^[\\w-]+(?:\\.[\w-]+)*@(?:[\\w-]+\\.)+[a-zA-Z]{2,7}$';
						re = new RegExp(strReqExp);
						
						if ((re.exec(oForm.elements[i].value)==null)&&(oForm.elements[i].value!=''))
						{
							alert(oForm.elements[i].invalid_message);
							oForm.elements[i].focus();
							return false;
						}
					}

					//Number
					if (arrValid[1] == 'N')
					{
						re = new RegExp('^[0-9.]+$');
						if ((re.exec(oForm.elements[i].value)==null)&&(oForm.elements[i].value!=''))
						{
							alert(oForm.elements[i].invalid_message);
							oForm.elements[i].focus();
							return false;
						}
					}

				}
			}
		}

		return true;
	}
