//Sólo admite direcciones de correo electrónico válidas
function isEmail(value) {
	var regExp = /^([a-zA-Z0-9_\-])([a-zA-Z0-9_\-\.]*)@(\[((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}|((([a-zA-Z0-9\-]+)\.)+))([a-zA-Z]{2,}|(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\])$/;
  return regExp.test(value);
}

function trim(str) {
	str=str.replace(/^\s*|\s*$/g,"");
	return str;
}

function validateRecomendUs(form)
{ 
	var etiqueta;
	var mensaje="";
	var firstErrorControl=null;
	
	etiqueta=document.getElementById("youremail");
	form.Origen.value=trim(form.Origen.value);
	if(form.Origen.value.length<1 || !isEmail(form.Origen.value))
	{
		mensaje="Svp, compléter \"Votre email\" correctement.\n";
		etiqueta.innerHTML="* Votre email:";
		etiqueta.className="errorform";
		firstErrorControl=form.Origen;
	}
	else
	{ 
		etiqueta.innerHTML="Votre email:";
		etiqueta.className="textocentrado";
	}
	
	etiqueta=document.getElementById("friendsemail");
	form.Destino.value=trim(form.Destino.value);
	if(form.Destino.value.length<1 || !isEmail(form.Destino.value))
	{
		mensaje=mensaje+"Svp, compléter \"L'email de l'ami\" correctement.\n";
		etiqueta.innerHTML="* L'email de l'ami:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.Destino;
		}

	}
	else
	{ 
		etiqueta.innerHTML="L'email de l'ami:";
		etiqueta.className="textocentrado";
	}
	
	
	if (mensaje=="")
	{
		return true;
	}
	else
	{
		alert(mensaje);
		firstErrorControl.select();
		firstErrorControl.focus();
		return false;
	}
}

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone)
{
	var phoneNumberDelimiters = "()- ";
	// characters which are allowed in international phone numbers
	// (a leading + is OK)
	var validWorldPhoneChars = phoneNumberDelimiters + "+";
	// Minimum no of digits in an international phone no.
	var minDigitsInIPhoneNumber = 9;

	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function validateBrochure(form)
{
	var etiqueta;
	var mensaje="";
	var firstErrorControl=null;
	
	etiqueta=document.getElementById("FirstName");
	form.txtFirstName.value=trim(form.txtFirstName.value);
	if(form.txtFirstName.value.length<1)
	{
		mensaje="Svp, compléter \"Prénom(s)\".\n";
		etiqueta.innerHTML="* Prénom(s):";
		etiqueta.className="errorform";
		firstErrorControl=form.txtFirstName;
	}
	else
	{ 
		etiqueta.innerHTML="Prénom(s):";
		etiqueta.className="textoizquierda";
	}
	
	etiqueta=document.getElementById("LastName");
	form.txtLastName.value=trim(form.txtLastName.value);
	if(form.txtLastName.value.length<1)
	{
		mensaje=mensaje+"Svp, compléter \"Nom\".\n";
		etiqueta.innerHTML="* Nom:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.txtLastName;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Nom:";
		etiqueta.className="textoizquierda";
	}

	etiqueta=document.getElementById("Email");
	form.txtEmail.value=trim(form.txtEmail.value);
	if(form.txtEmail.value.length<1 || !isEmail(form.txtEmail.value))
	{
		mensaje=mensaje+"Svp, compléter \"Email\" correctement.\n";
		etiqueta.innerHTML="* Email:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.txtEmail;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Email:";
		etiqueta.className="textoizquierda";
	}
	
	etiqueta=document.getElementById("Email2");
	form.txtEmail2.value=trim(form.txtEmail2.value);
	if(form.txtEmail2.value.length<1 || !isEmail(form.txtEmail2.value) || (form.txtEmail2.value!=form.txtEmail.value))
	{
		mensaje=mensaje+"Svp, compléter \"Confirmer Email\" correctement, doit être égal à \"Email\"\n";
		etiqueta.innerHTML="* Confirmer Email:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.txtEmail2;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Confirmer Email:";
		etiqueta.className="textoizquierda";
	}
	
	etiqueta=document.getElementById("Country");
	if(form.selCountry.selectedIndex==0)
	{
		mensaje=mensaje+"Svp, compléter \"Etat/Région\".\n";
		etiqueta.innerHTML="* Etat/Région:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.selCountry;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Etat/Région:";
		etiqueta.className="textoizquierda";
	}
	
	etiqueta=document.getElementById("Phone");
	if(form.txtPhone.value!="" && checkInternationalPhone(form.txtPhone.value)==false)
	{
		
		mensaje=mensaje+"Svp, compléter \"Numero de téléphone\" correctement.\n";
		etiqueta.innerHTML="* Numero de téléphone:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.txtPhone;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Numero de téléphone:";
		etiqueta.className="textoizquierda";
	}
	
	etiqueta=document.getElementById("Birth");
	form.selBirth.value=trim(form.selBirth.value);
	if(form.selBirth.value.length<1)
	{
		mensaje=mensaje+"Svp, compléter \"Année de Naissance\".\n";
		etiqueta.innerHTML="* Année de Naissance:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.selBirth;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Année de Naissance:";
		etiqueta.className="textoizquierda";
	}
	
	if(form.SendMethod[0])
	{
		if(form.SendMethod[0].checked)
		{
			etiqueta=document.getElementById("Address");
			form.txtAddress.value=trim(form.txtAddress.value);
			if(form.txtAddress.value.length<1)
			{
				mensaje=mensaje+"Si vous voulez la brochure \"par la poste\", compléter svp votre \"Adresse\".\n";
				etiqueta.innerHTML="* Adresse:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtAddress;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="Adresse:";
				etiqueta.className="";
			}
			etiqueta=document.getElementById("City");
			form.txtCity.value=trim(form.txtCity.value);
			if(form.txtCity.value.length<1)
			{
				mensaje=mensaje+"Si vous voulez la brochure \"par la poste\", compléter svp votre \"Ville\".\n";
				etiqueta.innerHTML="* Ville:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtCity;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="Ville:";
				etiqueta.className="";
			}
			
			etiqueta=document.getElementById("Zip");
			form.txtZip.value=trim(form.txtZip.value);
			if(form.txtZip.value.length<1)
			{
				mensaje=mensaje+"Si vous voulez la brochure \"par la poste\", compléter svp votre \"Code Postal\".\n";
				etiqueta.innerHTML="* Code Postal:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtZip;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="Code Postal:";
				etiqueta.className="";
			}
			
			etiqueta=document.getElementById("State");
			form.txtState.value=trim(form.txtState.value);
			if(form.txtState.value.length<1)
			{
				mensaje=mensaje+"Si vous voulez la brochure \"par la poste\", compléter svp votre \"Département\".\n";
				etiqueta.innerHTML="* Département:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtState;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="Département:";
				etiqueta.className="";
			}
		}
		else
		{		
			etiqueta=document.getElementById("Address");
			etiqueta.innerHTML="Adresse:";
			etiqueta.className="";
			etiqueta=document.getElementById("City");
			etiqueta.innerHTML="Ville:";
			etiqueta.className="";
			etiqueta=document.getElementById("Zip");
			etiqueta.innerHTML="Code Postal:";
			etiqueta.className="";
			etiqueta=document.getElementById("State");
			etiqueta.innerHTML="Département:";
			etiqueta.className="";
		}
	}
	else
	{
		etiqueta=document.getElementById("Address");
		form.txtAddress.value=trim(form.txtAddress.value);
		if(form.txtAddress.value.length<1)
		{
			mensaje=mensaje+"Si vous voulez la brochure \"par la poste\", compléter svp votre \"Adresse\".\n";
			etiqueta.innerHTML="* Adresse:";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
			{ 
				firstErrorControl=form.txtAddress;
			}
	
		}
		else
		{ 
			etiqueta.innerHTML="Adresse:";
			etiqueta.className="";
		}
		etiqueta=document.getElementById("City");
		form.txtCity.value=trim(form.txtCity.value);
		if(form.txtCity.value.length<1)
		{
			mensaje=mensaje+"Si vous voulez la brochure \"par la poste\", compléter svp votre \"Ville\".\n";
			etiqueta.innerHTML="* Ville:";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
			{ 
				firstErrorControl=form.txtCity;
			}
	
		}
		else
		{ 
			etiqueta.innerHTML="Ville:";
			etiqueta.className="";
		}
		
		etiqueta=document.getElementById("Zip");
		form.txtZip.value=trim(form.txtZip.value);
		if(form.txtZip.value.length<1)
		{
			mensaje=mensaje+"Si vous voulez la brochure \"par la poste\", compléter svp votre \"Code Postal\".\n";
			etiqueta.innerHTML="* Code Postal:";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
			{ 
				firstErrorControl=form.txtZip;
			}
	
		}
		else
		{ 
			etiqueta.innerHTML="Code Postal:";
			etiqueta.className="";
		}
		
		etiqueta=document.getElementById("State");
		form.txtState.value=trim(form.txtState.value);
		if(form.txtState.value.length<1)
		{
			mensaje=mensaje+"Si vous voulez la brochure \"par la poste\", compléter svp votre \"Département\".\n";
			etiqueta.innerHTML="* Département:";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
			{ 
				firstErrorControl=form.txtState;
			}
	
		}
		else
		{ 
			etiqueta.innerHTML="Département:";
			etiqueta.className="";
		}
	}
	
	etiqueta=document.getElementById("Comments");
	form.txtComments.value=trim(form.txtComments.value);
	if(form.txtComments.value.length>200)
	{
		
		mensaje=mensaje+"Votre \"commente\" le can´t soit plus de 200 caractères longtemps\n";
		etiqueta.innerHTML="* Si vous avez des questions, vous pouvez nous préciser vos besoins (dates, durée des cours...):";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.txtComments;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Si vous avez des questions, vous pouvez nous préciser vos besoins (dates, durée des cours...):";
		etiqueta.className="";
	}
	
	if (mensaje=="")
	{
		return true;
	}
	else
	{
		alert(mensaje);
		if(firstErrorControl.name != "selCountry" && firstErrorControl.name != "selBirth")
		{ 
			firstErrorControl.select();
		}
		firstErrorControl.focus();
		return false;
	}

}