var field_bg_color = '#f9ebeb';

function validateContact(theForm) {

var reason = "";

  reason += validateEmpty(theForm.formname);
  reason += validateEmail(theForm.formemail);
  reason += validateEmpty(theForm.formcomments);
    
  if (reason != "") {
    alert("Some fields need correction:\n\n" + reason );
    return false;
  }
  return true;
}

function validateEmpty(fld) {
    var error = "";
 
    if (fld.value.length < 2) {
        fld.style.background = field_bg_color; 
        error = "Please enter your " + fld.id + ".\n"
    } else {
        fld.style.background = 'White';
    }
    return error;  
}

function validateSelection(fld) {
    var error = "";
 
    if (fld.value.length == 0) {
        fld.style.background = field_bg_color; 
        error = "Please select your " + fld.id + ".\n"
    } else {
        fld.style.background = 'White';
    }
    return error;  
}

function validatePhone(fld) {
    var error = "";
    var ph = fld.value;
    ph = ph.replace( /\D/g,'');  //strip non-numeric characters except hyphen
     
    if (fld.value.length == 0) {
        fld.style.background = field_bg_color; 
        error = "Please enter your telephone number.\n"
    } else if (ph.length < 10) {
        fld.style.background = field_bg_color;
        error = "Please enter a valid telephone number (include your area code).\n";
    } else {
        fld.style.background = 'White';
    }
    return error;  
}

function validateChecked(fld1,fld2,fld3) {
    var error = "";
    
    if (!fld1.checked && !fld2.checked && !fld3.checked) {
      error = "Please select your project type.\n";
    } else {
    }
    return error;

}

function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}

function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars = /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (fld.value == "" || fld.value == "Your Email") {
        fld.style.background = field_bg_color;
        error = "Please enter your email address.\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = field_bg_color;
        error = "The email address you entered is not valid.\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = field_bg_color;
        error = "Your email address contains illegal characters.\n";
    } else {
        fld.style.background = 'White';
    }
    return error;
}
