var submited = false;

var userLanguage = 'fr';
var msgLastName;
var msgFirstName;
var msgEntrepriseNom;
var msgAdresse;
var msgTelephone;
var msgPosteur;
var msgPeriodeRejoint;

if (userLanguage == 'en') {
  msgPosteur = 'You must enter your email correctly.';
}
else {
  msgLastName = 'Vous devez saisir votre nom.';
  msgFirstName = 'Vous devez saisir votre prénom.';
  msgPosteur = 'Vous devez saisir votre email correctement.';
  msgAdresse = 'Vous devez saisir votre adresse actuelle.';
  msgTelephone = 'Vous devez saisir votre téléphone sous le format:\n999-999-9999';
  msgEntrepriseNom = 'Vous devez saisir le nom de l\'entreprise.';
  msgPeriodeRejoint = 'Vous devez préciser à quel moment de la journée vous préférez être contacté.';
}

var rePostalCode = /^[A-Za-z]\d[A-Za-z][ ]?\d[A-Za-z]\d$/;
var rePhone = /^\d{3}-\d{3}-\d{4}$/;
var rePhone3 = /^\d{3}$/;
var rePhone4 = /^\d{4}$/;
var reEmail = /^.+\@.+\..+$/;

function fieldIsntEmpty(field, msg) {
	if (field.value == "") {
		alert(msg);
		field.focus();
		return false;
	}
	else {
	  return true;
	}
}

function fieldIsntEmptyTextArea(field, msg) {
	if (field.innerHTML == "" && field.value == "") {
		alert(msg);
		field.focus();
		return false;
	}
	else {
	  return true;
	}
}

function checkboxIsChecked(field, msg) {
  if (!field.checked) {
    alert(msg);
    field.focus();
    return false;
  }
  else {
    return true;
  }
}

function radioIsChecked(field, msg) {
  var fieldIsChecked = false;
  for (i=0; i < field.length; i++) {
    if (field[i].checked) {
      fieldIsChecked = true;
    }
  }
	if (!fieldIsChecked) {
		alert(msg);
		return false;
	}
	else {
	  return true;
	}
}

function regexIsValid(regex, field, msg) {
	if (!regex.test(field.value)) {
		alert(msg);
		field.focus();
		return false;
	}
	else {
	  return true;
	}
}

function validForm(theForm) {
  var formValid = true;

	if (formValid) {
    formValid = fieldIsntEmpty(theForm.prenom, msgFirstName);
	}

	if (formValid) {
    formValid = fieldIsntEmpty(theForm.nom, msgLastName);
	}

	if (formValid) {
    formValid = fieldIsntEmpty(theForm.entrepriseNom, msgEntrepriseNom);
	}

	if (formValid) {
    formValid = fieldIsntEmptyTextArea(theForm.adresse, msgAdresse);
	}

	if (formValid) {
    formValid = regexIsValid(rePhone3, theForm.telephone1, msgTelephone) && regexIsValid(rePhone3, theForm.telephone2, msgTelephone) && regexIsValid(rePhone4, theForm.telephone3, msgTelephone);
	}

	if (formValid) {
    formValid = regexIsValid(reEmail, theForm.courriel, msgPosteur);
	}

	if (formValid) {
    formValid = radioIsChecked(theForm.periodeRejoint, msgPeriodeRejoint);
	}

  if (formValid && !submited) {
    submited = true;
    return true;
  }
  return false;
}