$(function() {
  var form = $('form#quickapp')
  var fields = {
    required: {
      firstname: 'First Name',
      lastname: 'Last Name',
      //email: 'Email',
      phone: 'Phone #',
      state: 'State'
    },
    phone: {
      phone: 'Phone #'
    }/*,
    email: {
      email: 'Email'
    }*/
  };
  
  form.submit(function() {
    var blankfields = [];
    $.each(fields.required, function(key, value) {
      if ($('#' + key).val() == '') {
        blankfields.push(value);
      }
    });

    var phonefields = [];
    $.each(fields.phone, function(key, value) {
      if (!$('#' + key).val().replace(/[()-. ]/g, '').match(/[0-9]{10}/)) {
        phonefields.push(value);
      }
    });
    
    var emailfields = [];
    $.each(fields.email, function(key, value) {
      if (!$('#' + key).val().match(/.*@.*\..*/)) {
        emailfields.push(value);
      }
    });
    
    var errorstring = "";
    if (blankfields.length > 0) {
      errorstring += "The following fields are required:\n";
      $.each(blankfields, function(idx, s) {
        errorstring += "  " + s + "\n";
      });
      errorstring += "\n";
    }
    if (phonefields.length > 0) {
      $.each(phonefields, function(idx, s) {
        errorstring += "The " + s + " field is invalid.  Please use the format 'xxx-yyy-zzzz'.\n";
      });
      errorstring += "\n";
    }
    if (emailfields.length > 0) {
      $.each(emailfields, function(idx, s) {
        errorstring += "The " + s + " field is invalid.  Please use the format 'mailbox@domain.tld'.\n";
      });
      errorstring += "\n";
    }
    
    if (errorstring == "") {
      return true;
    }
    else {
      alert(errorstring);
      return false;
    }
  });
});
