function $(id) { return document.getElementById(id); }

var FormValidation = {
  checkForm: function() {
    warning = (this.checkText($("fname")) ? "" : "First Name\n");
    warning += (this.checkText($("lname")) ? "" : "Last Name\n");
    warning += (this.checkText($("practice_name")) ? "" : "Practice Name\n");
    warning += (this.checkText($("address")) ? "" : "Address\n");
    warning += (this.checkText($("city")) ? "" : "City\n");
    warning += (this.checkState($("state")) ? "" : "State\n");
    warning += (this.checkZip($("postal_code")) ? "" : "A Valid Postal Code\n");
    warning += (this.checkPhone($("phone_number")) ? "" : "Phone With Area Code\n");
    warning += (this.checkText($("call_time")) ? "" : "Best Time To Call\n");
    warning += (this.checkEmailAddress($("email_address")) ? "" : "A Valid Email Address\n");

    if (warning != "")
    {
      warning = "Please Enter:\n\n" + warning;
      alert(warning);
    }

    return (warning == "") ? true : false; 
  },
  checkText : function(element) { return (element.value != "") ? true : false; },
  checkState : function(element) { return (element.selectedIndex != 0) ? true : false; },
  checkZip : function(element) { return (element.value.match(/^\d+$/)) ? true : false; },
  checkPhone : function(element) {
      var valid = true;
      var stripped = element.value.replace(/[\(\)\.\-\ ]/g, '');
      if (isNaN(parseInt(stripped)) || !(stripped.length == 10)) valid = false;
      return valid;
  },
  checkEmailAddress : function(element) { return ((element.value.indexOf(".") > 2) && (element.value.indexOf("@") > 0)); }
}
