var errorColour = '#ffcccc';
var bgColour = '#efefef';
var focusLanguage = "";
var errorMessages = new Array();

function validateFormOnSubmit(theForm) {
	
 var reason = "";
 focusLanguage = "";
 focusLanguage = theForm.lang.value;
  
if (focusLanguage == "es") {
	alertHeader = "Corrija los siguientes campos";
	errorMessages = ["* Incluya su nombre.\n", "* Incluya su direccion de correo electronico.\n", "* Incluya una dirección de correo electronico valida.\n", "* Incluya una direccion de correo electronico valida.\n", "* Es necesario introducir la palabra de confirmacion.\n"];
} else if(focusLanguage == "fr") {
	alertHeader = "Veuillez corriger les champs suivants";
	errorMessages = ["* Veuillez inclure votre nom.\n", "* Veuillez inclure votre adresse e-mail.\n", "* Veuillez inclure une adresse e-mail valide.\n", "* Veuillez inclure une adresse e-mail valide.\n", "* Le mot de confirmation est obligatoire.\n"];
} else {
	alertHeader = "Please correct the fields described below";
	errorMessages = ["* Please include your name.\n", "* Please include an email address.\n", "* Please include a valid email address.\n", "* Your email address contains illegal characters.\n", "* Please include the confirmation word (captcha).\n"];
}
 
  reason += validateName(theForm.name);
  reason += validateEmail(theForm.email);
  reason += validateCaptcha(theForm.captcha);
      
  if (reason != "") {
    alert(alertHeader + ":" + "\n\n" + reason + "\n\n" );
    return false;
  }
return true;
}
function validateName(fld) {
    var error = "";
 
    if (fld.value == "" || fld.value == null) {

        fld.style.background = errorColour; 
        error = errorMessages[0];
		
    } else {
        fld.style.background = bgColour;
    }
    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.value == null) {
        fld.style.background = errorColour;
        error = errorMessages[1];
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = errorColour;
        error = errorMessages[2];
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = errorColour;
        error = errorMessages[3];
    } else {
        fld.style.background = bgColour;
    }
    return error;
}
function validateCaptcha(fld) {
    var error = "";
 
    if (fld.value == "" || fld.value == null) {

        fld.style.background = errorColour; 
        error = errorMessages[4];
    } else {
        fld.style.background = bgColour;
    }
    return error;
} 
function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}