



function validateFormOnSubmit(theForm) {



var reason = "";







  reason += validateUsername(theForm.username);

  reason += validateCountry(theForm.country);

  
  

  reason += validateEmail(theForm.email);



  reason += validateMessage(theForm.message);

  

  



  



  function validateUsername(fld) {



    var error = "";



    var illegalChars = /\W/; // allow letters, numbers, and underscores



 



    if (fld.value == "") {



        fld.style.background = 'Yellow'; 



        error = "You didn't enter a Name.\n";



    }  else {



        fld.style.background = 'White';



    } 



    return error;



}







      



  



  



  function trim(s)



{



  return s.replace(/^\s+|\s+$/, '');



} 



function validateCountry(fld) {



    var error = "";



    var illegalChars = /\W/; // allow letters, numbers, and underscores



 



    if (fld.value == "") {



        fld.style.background = 'Yellow'; 



        error = "You didn't select country.\n";



    }  else {



        fld.style.background = 'White';



    } 



    return error;



}





  function trim(s)



{



  return s.replace(/^\s+|\s+$/, '');



} 















function validatePhone(fld) {



    var error = "";



    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     







   if (fld.value == "") {



        error = "You didn't enter a phone number.\n";



        fld.style.background = 'Yellow';



    } else if (isNaN(parseInt(stripped))) {



        error = "The phone number contains illegal characters.\n";



        fld.style.background = 'Yellow';



    } else if (!(stripped.length <7)) {



        error = "The phone number is the wrong length. Make sure you included an country/area code.\n";



        fld.style.background = 'Yellow';



    } 



    return error;



}







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.style.background = 'Yellow';



        error = "You didn't enter an email address.\n";



    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters



        fld.style.background = 'Yellow';



        error = "Please enter a valid email address.\n";



    } else if (fld.value.match(illegalChars)) {



        fld.style.background = 'Yellow';



        error = "The email address contains illegal characters.\n";



    } else {



        fld.style.background = 'White';



    }



    return error;



}



function validateMessage(fld) {



    var error = "";



    var illegalChars = /\W/; // allow letters, numbers, and underscores



 



    if (fld.value == "") {



        fld.style.background = 'Yellow'; 



        error = "You didn't enter message.\n";



    } else if ((fld.value.length < 5) || (fld.value.length > 150)) {



        fld.style.background = 'Yellow'; 



        error = "The username is the wrong length.\n";



    }  else {



        fld.style.background = 'White';



    } 



    return error;



}







      



  if (reason != "") {



    alert("Some fields need correction:\n" + reason);



    return false;



  }



  



  function trim(s)



{



  return s.replace(/^\s+|\s+$/, '');



} 







  return true;



}



















