function formValidation() {
  var hidLanguage = document.getElementById("langcode");
  var languageCode = hidLanguage.value;
  var eCustID = document.getElementById("custid");
  var eCustName = document.getElementById("custname");
  var eEmail = document.getElementById("email");
  var aEmail = eEmail.value.split("@");
  var aDomain;
  var i, bValid;
  var eContact = document.getElementById("contact");
  var eCountry = document.getElementById("country");
  var ePhone = document.getElementById("tel");
  var eFax = document.getElementById("fax");

  if (eCustID.value.length != 7 || eCustID.value.replace(/[^0-9]/g, "").length != 7) {
	if (eCustID.value.length > 0) {
	    switch(languageCode) {
	    case 'ES':
		alert("El número de identificación de cliente debe tener 7 dígitos.");
		break;

	    case 'FR':
		alert("Le nombre clientèle d'identification doit avoir à 7 chiffres.");
		break;

	    default:
	    	alert("The customer identification number must have 7 digits.");
		break;
	    }

	    eCustID.focus();
	    return false;
	}

	if (eCustName.value.length == 0) {
	    switch(languageCode) {
	    case 'ES':
		alert("El número de identificación de cliente o nombre de compañía deben ser entrados.");
		break;

	    case 'FR':
		alert("Le nombre clientèle d'identification ou le nom de compagnie doit être entré.");
		break;

	    default:
		alert("The customer identification number or company name must be entered.");
		break;
	    }

	    eCustID.focus();
	    return false;
	}
  }

  if (eContact.value.toLocaleLowerCase() == eContact.value.toLocaleUpperCase()) {
	switch(languageCode) {
	case 'ES':
	    alert("Entre por favor su nombre.");
	    break;

	case 'FR':
	    alert("S'il vous plaît entrer votre nom.");
	    break;

	default:
	    alert("Please enter your name.");
	    break;
	}

	eContact.focus();
	return false;
  }

  if (eEmail.value.length == 0) {
	switch(languageCode) {
	case 'ES':
	    alert("La dirección correo electrónico debe ser entrada. ");
	    break;

	case 'FR':
	    alert("L'adresse e-mail doit être entrée.");
	    break;

	default:
	    alert("The e-mail address must be entered.");
	    break;
	}

	eEmail.focus();
	return false;
  }

  bValid = (aEmail.length == 2);

  if (bValid) {
	bValid = (aEmail[0].length >= 1);
  }

  if (bValid) {
	aDomain = aEmail[1].split(".");
	bValid = (aDomain.length >= 2);
  }

  if (bValid) {
	for (i = 0; i < aDomain.length; ++i) {
	  if (aDomain[i].length < 1) {
		bValid = false;
		break;
	  }
	}
  }

  if (!bValid) {
	switch(languageCode) {
	case 'ES':
	    alert("La dirección correo electrónico es inválida.  La dirección correo electrónico debe contener uno @, seguido por uno o más puntos.");
	    break;

	case 'FR':
	    alert("L'adresse e-mail est nulle. L'adresse électronique le doit un contenir @, suivi par un ou plus de points.");
	    break;

	default:
	    alert("The e-mail address is invalid.  The e-mail address must contain one @, followed by one or more dots/periods/full stops.");
	    break;
	}

	eEmail.focus();
	return false;
  }

  if (eCountry.value.length < 1) {
	switch(languageCode) {
	case 'ES':
	    alert("Entre por favor su país.");
	    break;

	case 'FR':
	    alert("S'il vous plaît entrer votre pays.");
	    break;

	default:
	    alert("Please enter your country.");
	    break;
	}

	eCountry.focus();
	return false;
  }

  if (ePhone.value.length == 0) {
	switch(languageCode) {
	case 'ES':
	    alert("El número de teléfono debe ser entrado.");
	    break;

	case 'FR':
	    alert("Le numéro de téléphone doit être entré.");
	    break;

	default:
	    alert("The telephone number must be entered.");
	    break;
	}

	ePhone.focus();
	return false;
  }

  if (ePhone.value.length > ePhone.value.replace(/[^0-9+-. x]/g, "").length) {
	switch(languageCode) {
	case 'ES':
	    alert("El número de teléfono es inválido.  Utilice por favor los símbolos y los dígitos siguientes: +1 23 456-7890 x.");
	    break;

	case 'FR':
	    alert("Le numéro de téléphone contient des caractères nuls. S'il vous plaît utiliser les caractères suivants : +1 23 456-7890 x.");
	    break;

	default:
	    alert("The telephone number contains invalid characters.  Please use the following characters: +1 23 456-7890 x.");
	    break;
	}

	ePhone.value = ePhone.value.replace(/[^0-9+-. x]/g, "");
	ePhone.focus();
	return false;
  }

  if (ePhone.value.replace(/[^0-9]/g, "").length < 10) {
	switch(languageCode) {
	case 'ES':
	    alert("El número de teléfono debe contener por lo menos 10 dígitos.");
	    break;

	case 'FR':
	    alert("Le numéro de téléphone doit contenir au moins à 10 chiffres.");
	    break;

	default:
	    alert("The telephone number must contain at least 10 digits.");
	    break;
	}

	ePhone.value = ePhone.value.replace(/[^0-9+-. x]/g, "");
	ePhone.focus();
	return false;
  }

  if (eFax.value.length > eFax.value.replace(/[^0-9+-. x]/g, "").length) {
	switch(languageCode) {
	case 'ES':
	    alert("El número de facsímile es inválido.  Utilice por favor los símbolos y los dígitos siguientes: +1 23 456-7890 x.");
	    break;

	case 'FR':
	    alert("Le numéro de télécopieur contient des caractères nuls. S'il vous plaît utiliser les caractères suivants : +1 23 456-7890 x.");
	    break;

	default:
	    alert("The fax number contains invalid characters.  Please use the following characters: +1 23 456-7890 x.");
	    break;
	}

	eFax.value = eFax.value.replace(/[^0-9+-. x]/g, "");
	eFax.focus();
	return false;
  }

  return true;
}

function setLanguage(languageCode) {
  var hidLanguage = document.getElementById("langcode");
  var aText, aLabels, i;

  hidLanguage.value = languageCode;

  switch (languageCode) {
  case 'ES':
	aText = "MyARI - Registre su cuenta nueva|Identificación de Cliente:|Nombre de Compañía:|Dirección Correo Electrónico:|Nombre:|País:|Número de Teléfono:|Número de Facsímile:|Registrar|Su cuenta será activada dentro de dos días hábiles.  Nosotros le mandaremos un correo electrónico con su contraseña.".split("|");
	break;

  case 'FR':
	aText = "MyARI - Enregistrer votre nouveau compte|Identification clientèle :|Nom de compagnie :|Adresse e-mail :|Votre nom :|Pays :|Numéro de téléphone :|Numéro de télécopieur :|Enregistrer|Votre compte sera activé dans deux journées de travail. Nous vous enverrons un e-mail avec votre mot de passe.".split("|");
	break;

  default:
	aText = "MyARI - Register your new account|Customer Identification:|Company Name:|E-mail Address:|Your Name:|Country:|Telephone Number:|Facsimile Number:|Register|Your account will be activated within two business days.  We will send you an email with your MyARI password.".split("|");
	break;
  }

  aLabels = document.getElementsByTagName("span");

  for (i = 0; i < aLabels.length; ++i) {
	aLabels[i].innerHTML = aText[i];
  }
}

function setCountry(sCountry) {
  var eCountry = document.getElementById("country");
  var hidLanguage = document.getElementById("langcode");
  var languageCode = hidLanguage.value;

  eCountry.value = sCountry;

  if (languageCode.length == 0) {
	switch (sCountry) {
	case 'Argentina':
	case 'Costa Rica':
	case 'Mexico':
	case 'Puerto Rico':
	  setLanguage("ES");
	  break;

	default:
	  setLanguage("EN");
	  break;
	}

	hidLanguage.value = "";
  }

//  var i, eOption;

//  for (i = 0; i < eCountry.options.length; ++i) {
//    eOption = eCountry.options[i];

//    if (eOption.value == sCountry) {
//      eCountry.selectedIndex = i;
//      return;
//    }
//  }
}
