function validate_form(form_name){

	var valid=true;

	for(i=0; i<form_name.length; i++)
	{
		switch (form_name.elements[i].field_type)
		{
		case "required":
			if (form_name.elements[i].type == "radio")
			{
				radio_valid=false;
				var radio_name=form_name.elements[i].name;
				for(j=0; j<form_name.length; j++)
				{
					if (form_name.elements[j].name==radio_name && form_name.elements[j].checked == true)
					{
					radio_valid=true;
					}
				}
				if (!radio_valid)
				{
					valid = false;
					alert(form_name.elements[i].name + " field is required")
				}
			}
			if (form_name.elements[i].value==null || form_name.elements[i].value=="")
			{
			valid=false;
			alert(form_name.elements[i].name + " field is required");
			// call validation alert
			}
		break
		case "phone_number":
			re=/.*\d{3}.*\d{3}.*\d{4}.*/;
			if (re.test(form_name.elements[i].value) == false)
			{
			valid=false;
			alert(form_name.elements[i].name + " field is a phone number - must have 10 digits");
			// call validation alert
			}
		break
		case "postal_code":
			form_name.elements[i].value = form_name.elements[i].value.toUpperCase();
			form_name.elements[i].value = form_name.elements[i].value.replace(" ","");
			re=/[A-Z]\d[A-Z]\W*\d[A-Z]\d/;
			if (re.test(form_name.elements[i].value) == false)
			{
			valid=false;
			alert (form_name.elements[i].name + " field is a postal code, 6 alphanumerics");
			// call validation alert
			}
		break
		case "email_address":
			re=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
			if (re.test(form_name.elements[i].value) == false)
			{
			valid=false;
			alert (form_name.elements[i].name + " field is an email address, format like me@myurl.domain");
			}
		break
		case "currency":
			re=/^\$?\d+(\.\d{1,2})?$/;
			if (re.test(form_name.elements[i].value) == false)
			{
			valid=false;
			alert (form_name.elements[i].name + " field is a currency, format like xxx.xx or xxxx");
			}
			form_name.elements[i].value = form_name.elements[i].value.replace("$","");
		break
		case "date_ddmmyyyy":
			//re=/\d|/; (Still working on this)
			if (re.test(form_name.elements[i].value) == false)
			{
			valid=false;
			alert (form_name.elements[i].name + " field is a date, format like dd/mm/yyyy");
			}
			form_name.elements[i].value = form_name.elements[i].value.replace("$","");
		break
		default:
		}
	}
	if (valid == true)
	{
		form_name.submit()
	}
}

