
function isblank(s) {

  for (var i = 0; i < s.length; i++) {
      var c = s.charAt(i);
      if ((c != ' ') && (c != '\n') && (c != '\t')){ return false; }
  }
  return true;
}



function validateForm(f)
{

    var reqElements = new Array("name", "email", "phone");

    var elementNames = new Array("Name", "E-mail Address", "Telephone");


    var emptyFields  = false;
    var emptyEmail  = false;
    var msg = "____________________________________________________     \n\n";
    msg += "The form was not submitted because of the following error(s).\n";
    msg += "Please correct these error(s) and re-submit.\n";
    msg += "____________________________________________________     \n\n"; 

    var  emptyMsg = " - The following required field(s) must have a value set:\n\n\t";
   
    var list = f.who;
    var listValue = list.options[list.selectedIndex].value;
    if(listValue == ""){emptyMsg += "Who would you like to contact?\n\t"; emptyFields = true;}
    
    for(var i=0; i < reqElements.length; i++) {
        if ((f.elements[reqElements[i]].value == "") ||
            (f.elements[reqElements[i]].value == null) || isblank(f.elements[reqElements[i]].value) ) {

            emptyMsg += elementNames[i] + "\n\t";
            if(reqElements[i] == "email"){emptyEmail = true;}
            emptyFields = true;
        }
    }


    var emailError = "";
    if(!emptyEmail){
        emailError = validateEmail(f.email.value);
    }

    if (!emptyFields && !emailError)
    {
        return true;
    }
    else
    {
        
    
        if(emptyFields){
           msg += emptyMsg;
        }
        
        if(emailError){msg += "\n - " + emailError;}
        alert(msg + "\n\n");
        return false;
    }
}

