function doValidate() {
	var result;
	var oForm;
	oForm = document.forms[0]
	result = validateForm(oForm);
	if (result) {
		oForm.submit();
	}
}

function validateForm(oForm) {
	var msg = "";
	var checkboxMsg = "false";
	nFormFieldsTotal = oForm.elements.length;
	sRequired = oForm.required.value;
	
	for (var i = 0; i < nFormFieldsTotal; i++) {
		sFieldName = oForm.elements[i].name;

		sFieldValue = oForm.elements[i].value;
		rExp = /\s/gi;
		sFieldValue_test = sFieldValue.replace(rExp, "");
		oElement = oForm.elements[i];
		switch (sFieldName) {

			case ("var_firstname") :
				if (sRequired.indexOf(sFieldName) != -1) {
					if (sFieldValue_test == "") {
						document.getElementById(sFieldName+"_text").className="mediumtext_error";
						msg += "firstname_error";
					} else {
						document.getElementById(sFieldName+"_text").className="mediumtext666666";				
						rExp = /firstname_error/gi;
						msg = msg.replace(rExp, "");
					}
					break;
				}
			break;

			case ("var_lastname") :
				if (sRequired.indexOf(sFieldName) != -1) {
					if (sFieldValue_test == "") {
						document.getElementById(sFieldName+"_text").className="mediumtext_error";
						msg += "lastname_error";
					} else {
						 document.getElementById(sFieldName+"_text").className="mediumtext666666";				
						rExp = /lastname_error/gi;
						msg = msg.replace(rExp, "");
					}
					break;
				}
			break;

			case ("var_address1") :
				if (sRequired.indexOf(sFieldName) != -1) {
					if (sFieldValue_test == "") {
						document.getElementById(sFieldName+"_text").className="mediumtext_error";
						msg += "address_error";
					} else {
						 document.getElementById(sFieldName+"_text").className="mediumtext666666";				
						rExp = /address_error/gi;
						msg = msg.replace(rExp, "");
					}
					break;
				}
			break;

			case ("var_city") :
				if (sRequired.indexOf(sFieldName) != -1) {
					if (sFieldValue_test == "") {
						document.getElementById(sFieldName+"_text").className="mediumtext_error";
						msg += "city_error";
					} else {
						 document.getElementById(sFieldName+"_text").className="mediumtext666666";				
						rExp = /city_error/gi;
						msg = msg.replace(rExp, "");
					}
				break;
				}
			break;

			case ("var_state") :
				if (sRequired.indexOf(sFieldName) != -1) {
					if (sFieldValue_test == "") {
						document.getElementById(sFieldName+"_text").className="mediumtext_error";
						msg += "state_error";
					} else {
						 document.getElementById(sFieldName+"_text").className="mediumtext666666";				
						rExp = /state_error/gi;
						msg = msg.replace(rExp, "");
					}
					break;
				}
			break;

			case ("var_zip") :
				if (sRequired.indexOf(sFieldName) != -1) {
					if (sFieldValue_test == "") {
						document.getElementById(sFieldName+"_text").className="mediumtext_error";
						msg += "zip_error";
					} else {
						 document.getElementById(sFieldName+"_text").className="mediumtext666666";				
						rExp = /zip_error/gi;
						msg = msg.replace(rExp, "");
					}
					break;
				}
			break;

			case ("var_country") :
				if (sRequired.indexOf(sFieldName) != -1) {
					if (sFieldValue_test == "") {
						document.getElementById(sFieldName+"_text").className="mediumtext_error";
						msg += "var_country";
					} else {
						 document.getElementById(sFieldName+"_text").className="mediumtext666666";				
						rExp = /var_country/gi;
						msg = msg.replace(rExp, "");
					}
					break;
				}
			break;



			case ("var_phone") :
				if (sRequired.indexOf(sFieldName) != -1) {
					var nPhone = oForm.var_phone.value;
					sPhone = String(nPhone);
					rExp = /\(/gi;
					sPhone = sPhone.replace(rExp, "");
					rExp = /\)/gi;
					sPhone = sPhone.replace(rExp, "");
					rExp = /\./gi;
					sPhone = sPhone.replace(rExp, "");
					rExp = /\-/gi;
					sPhone = sPhone.replace(rExp, "");
					rExp = /\s/gi;
					sPhone = sPhone.replace(rExp, "");
					rExp = /[a-zA-Z]/gi;
					sPhone = sPhone.replace(rExp, "");
					if (sPhone.length <= 9) {
						 document.getElementById(sFieldName+"_text").className="mediumtext_error";
						msg += "phone_error";
					} else {
						 document.getElementById(sFieldName+"_text").className="mediumtext666666";				
						rExp = /phone_error/gi;
						msg = msg.replace(rExp, "");
					}
					break;
				}
			break;

			case ("var_email") :
				if (sRequired.indexOf(sFieldName) != -1) {

					sEmail = sFieldValue;
					nEmailDot = (sEmail.length - sEmail.lastIndexOf("."));
					if (sFieldValue_test == "" || sFieldValue.indexOf("@") == -1) {
						 document.getElementById(sFieldName+"_text").className="mediumtext_error";
						msg += "email_error";
					} else {
						if (nEmailDot > 2 && nEmailDot < 5)  {
							 document.getElementById(sFieldName+"_text").className="mediumtext666666";
							rExp = /email_error/gi;
							msg = msg.replace(rExp, "");
						} else {
							 document.getElementById(sFieldName+"_text").className="mediumtext_error";
							msg += "email_error";
						}
					}

					break;
				}
			break;

			case ("direct_mailing_list") :
				if (sRequired.indexOf("var_checkboxes") != -1) {
					if (oForm.elements[i].checked) {
						var checkboxMsg = "true";
						sFieldValue = "checked";
					}
					break;
				} else {
				}
			break;

			case ("gildagram_worldwide_newsletter") :
				if (sRequired.indexOf("var_checkboxes") != -1) {
					if (oForm.elements[i].checked) {
						var checkboxMsg = "true";
						sFieldValue = "checked";
					}
					break;
				} else {
				}
			break;

			case ("special_events_and_fundraising_opportunities") :
				if (sRequired.indexOf("var_checkboxes") != -1) {
					if (oForm.elements[i].checked) {
						var checkboxMsg = "true";
						sFieldValue = "checked";
					}
					break;
				} else {
				}
			break;

			case ("all_above_mailinsgs") :
				if (sRequired.indexOf("var_checkboxes") != -1) {
					if (oForm.elements[i].checked) {
						var checkboxMsg = "true";
						sFieldValue = "checked";
					}
					break;
				} else {
				}
			break;


			default :
		}

	}

	if (msg != "") 	{
		document.getElementById("error_div").style.display="block";
		if (checkboxMsg=="true") {
			document.getElementById("checkboxes_title").className="mediumtext666666";
		} else {
			document.getElementById("checkboxes_title").className="mediumtext_error";
		}
		return false;
	} else { 
		if (checkboxMsg=="true") {
			return true;
			document.getElementById("checkboxes_title").className="mediumtext666666";
		} else {
			document.getElementById("error_div").style.display="block";
			document.getElementById("checkboxes_title").className="mediumtext_error";
			return false;
		}
	}
}	







