// ESP Signup validation
function validateSignup() {

	// Setup
  var result = true;
  var form = document.getElementById('sun');
  var errmsg = "Required information:\n\n";
	
	// Field by Field
	if (document.getElementById('firstname').value == "") {
		result = false;
		errmsg += "First Name is Required\n"
	}

	if (document.getElementById('lastname').value == "") {
		result = false;
		errmsg += "Last Name is Required\n"
	}

	if (document.getElementById('streetAddress').value == "") {
		result = false;
		errmsg += "Street Address is Required\n"
	}

	if (document.getElementById('city').value == "") {
		result = false;
		errmsg += "City is Required\n"
	}

	if (document.getElementById('state').value == "") {
		result = false;
		errmsg += "State is Required\n"
	}

	if (document.getElementById('zip').value == "") {
		result = false;
		errmsg += "Zip Code is Required\n"
	}

	if (document.getElementById('country').value == "") {
		result = false;
		errmsg += "Country is Required\n"
	}

	if (document.getElementById('primaryPhone').value == "") {
		result = false;
		errmsg += "Phone is Required\n"
	}
	
	if (!validatePhone(document.getElementById('primaryPhone').value)) {
		result = false;
		errmsg += "Not a valid phone number\n"
	}
	
	if (document.getElementById('email').value == "") {
		result = false;
		errmsg += "Email is Required\n"
	}
	
	if (!checkEmail(form.email.value,0)) {
		result = false;
		errmsg += "Email is Invalid\n"
    }

	// return true or false + error
  if (result) {
    return true;
  } else {
    alert(errmsg);
    return false;
  }
}

function checkEmail(emailStr,sprFlag) {
  // regex from http://xyfer.blogspot.com/2005/01/javascript-regexp-email-validator.html
  var reg =  /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i
  if(reg.test(emailStr) == false) {
    return false;
  } else if  (emailStr == "test@test.com") {
	return false;
  }
  return true;
}

function validatePhone(value)
    {
        if(value.search(/^\(?[0-9]{3}\)?[- ]?[0-9]{3}[- ]?[0-9]{4}$/) == -1 && value.search(/^\+?[0-9]{3}[- ]?[0-9]{3}[- ]?[0-9]{3}[-]?[0-9]{3}$/) == -1)
        {
            return false;
        }       
        return true;
    }
