/** regular expression constants **/
var zipRegex = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
var emailRegex = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
var phoneRegex = /(^\d{3}-\d{3}-\d{4}$)/;
var numEntriesRegex = /(^\d{1,2}$)/;

function validateRegistration(form) {

/** variables to check **/
var first_name = form.first_name.value;
var last_name = form.last_name.value;
var street_address_1 = form.street_address_1.value;
var city = form.city.value;
var state = form.state.value;
var zip = form.zip_code.value;
var phone = form.phone.value;
var email = form.email.value;
var numEntries = form.number_to_reserve.value;
var comments = form.comments.value;

/** assume at start everything is set correctly **/
var isSuccess = true;

if (first_name == "") {
  inlineMsg(document.getElementById("first_name_blank"));
  isSuccess = false;
} else {
  clear_error(document.getElementById("first_name_blank"));
}

if (last_name == "") {
  inlineMsg(document.getElementById("last_name_blank"));
  isSuccess = false;
}
else {
  clear_error(document.getElementById("last_name_blank"));
}

if (street_address_1 == "") {
  inlineMsg(document.getElementById("street_address_1_blank"));
  isSuccess = false;
}
else {
  clear_error(document.getElementById("street_address_1_blank"));
}

if (city == "") {
  inlineMsg(document.getElementById("city_blank"));
  isSuccess = false;
}
else {
  clear_error(document.getElementById("city_blank"));
}

if (state == "") {
  inlineMsg(document.getElementById("state_blank"));
  isSuccess = false;
}
else {
  clear_error(document.getElementById("state_blank"));
}

if (zip == "") {
  clear_error(document.getElementById("zip_code_invalid"));
  inlineMsg(document.getElementById("zip_code_blank"));
  isSuccess = false;
}
else if (!zip.match(zipRegex)) {
  clear_error(document.getElementById("zip_code_blank"));
  inlineMsg(document.getElementById("zip_code_invalid"));
  isSuccess = false;
}
else {
  clear_error(document.getElementById("zip_code_blank"));
  clear_error(document.getElementById("zip_code_invalid"));
}

if (phone == "") {
  clear_error(document.getElementById("phone_num_invalid"));
  inlineMsg(document.getElementById("phone_num_blank"));
  isSuccess = false;
}
else if (!phone.match(phoneRegex)) {
  clear_error(document.getElementById("phone_num_blank"));
  inlineMsg(document.getElementById("phone_num_invalid"));
  isSuccess = false;
}
else {
  clear_error(document.getElementById("phone_num_blank"));
  clear_error(document.getElementById("phone_num_invalid"));
}

if (email == "") {
  clear_error(document.getElementById("email_invalid"));
  inlineMsg(document.getElementById("email_blank"));
  isSuccess = false;
}
else if (!email.match(emailRegex)) {
  clear_error(document.getElementById("email_blank"));
  inlineMsg(document.getElementById("email_invalid"));
  isSuccess = false;
}
else {
  clear_error(document.getElementById("email_blank"));
  clear_error(document.getElementById("email_invalid"));
}

if (numEntries == "") {
  clear_error(document.getElementById("reserve_invalid"));
  inlineMsg(document.getElementById("reserve_blank"));
  isSuccess = false;
}
else if (!numEntries.match(numEntriesRegex)) {
  clear_error(document.getElementById("reserve_blank"));
  inlineMsg(document.getElementById("reserve_invalid"));
  isSuccess = false;
}
else {
  clear_error(document.getElementById("reserve_blank"));
  clear_error(document.getElementById("reserve_invalid"));
}

var MAX_LEN = 255;

if (comments.length > MAX_LEN) {
  inlineMsg(document.getElementById("comments_2_long"));
  isSuccess = false;
} else {
  clear_error(document.getElementById("comments_2_long"));
}

return isSuccess;

}

function validateVerification(form) {

var email = form.email.value;

var isSuccess = true;

if (email == "") {
  clear_error(document.getElementById("email_ver_invalid"));
  inlineMsg(document.getElementById("email_ver_blank"));
  isSuccess = false;
}
else if (!email.match(emailRegex)) {
  clear_error(document.getElementById("email_ver_blank"));
  inlineMsg(document.getElementById("email_ver_invalid"));
  isSuccess = false;
}
else {
  clear_error(document.getElementById("email_ver_blank"));
  clear_error(document.getElementById("email_ver_invalid"));
}

return isSuccess;

}

/**************************/
/* Set the inline message */
/**************************/

function inlineMsg(name) {
  name.style.display = "inline";
}


/****************************/
/* Clear the inline message */
/****************************/

function clear_error(name) {
  name.style.display="none";
}