function validateForm(whichform) {
  	var submitOk = "true";
  	var errormessage = document.getElementById('errorblock');
  	errormessage.style.display = "none";

  	for (var i=0; i<whichform.elements.length; i++) {
  		var element = whichform.elements[i];
		if (element.className.indexOf("required") != -1) {
      		element.style.borderColor = "#8D9DBC";
	  		element.style.color = "#000";
	  		if (!isFilled(element) || element.value == "required") {
        		element.value = "required";
        		element.style.borderColor = "red";
				element.style.color = "red";
				submitOk = "false";
      		}
    	}

		if (element.className.indexOf("agencySize") != -1) {
			element.style.borderColor = "#8D9DBC";
	  		element.style.color = "#000";
			if (isFilled(element)) {
				contactNumberSupplied = "true";
			}
			if (!isPhoneNumber(element) || element.value == "invalid number") {
        		//element.value = "invalid number";
				element.style.borderColor = "red";
				element.style.color = "red";
        		document.getElementById('agencySize').style.color = "red";
				//return false;
				submitOk = "false";
      		}
		}

		if (element.className.indexOf("size") != -1) {
			element.style.borderColor = "#8D9DBC";
	  		element.style.color = "#000";
			if (isFilled(element)) {
				contactNumberSupplied = "true";
			}
			if (!isPhoneNumber(element) || element.value == "invalid number") {
        		//element.value = "invalid number";
				element.style.borderColor = "red";
				element.style.color = "red";
        		document.getElementById('agencySize').style.color = "red";
				//return false;
				submitOk = "false";
      		}
		}

		if (element.className.indexOf("service") != -1) {
			element.style.borderColor = "#8D9DBC";
	  		element.style.color = "#000";
			if (isFilled(element)) {
				contactNumberSupplied = "true";
			}
			if (!isPhoneNumber(element) || element.value == "invalid number") {
        		//element.value = "invalid number";
				element.style.borderColor = "red";
				element.style.color = "red";
        		document.getElementById('agencySize').style.color = "red";
				//return false;
				submitOk = "false";
      		}
		}
 	}

  	if (submitOk == "true") {
		return true;
  	}
  	else {
  		errormessage.style.display = "block";
  		return false;
  	}
}

function isFilled(field) {
  //if (field.value.length < 1 || field.value == field.defaultValue || field.value == "" || /^\s+$/.test(field.value)) {
 if (field.value.length < 1 || field.value == "" || /^\s+$/.test(field.value)) {
    return false;
  } else {
    return true;
  }
}

function prepareForms() {
  for (var i=0; i<document.forms.length; i++) {
    var thisform = document.forms[i];
    if (thisform.className == "tovalidate") {
		thisform.onsubmit = function() {
      		return validateForm(this);
		}
    }

	for (var j=0; j<thisform.elements.length; j++) {
		var thiselement = thisform.elements[j];
		if (thiselement.className == "novalidate") {
			thiselement.onclick = function() {
				this.form.onsubmit = null;
			}
		}
	}

  }

}

addLoadEvent(prepareForms);
