//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="Atenciòn: rellene el campo \"Tu e-Mail\" correctamente.\n";
		etiqueta.innerHTML="* Tu e-Mail:";
		etiqueta.className="errorform";
		firstErrorControl=form.Origen;
	}
	else
	{ 
		etiqueta.innerHTML="Tu e-Mail:";
		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+"Atenciòn: rellene el campo \"El e-Mail de tu Amigo\"  correctamente.\n";
		etiqueta.innerHTML="* El e-Mail de tu Amigo:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.Destino;
		}

	}
	else
	{ 
		etiqueta.innerHTML="El e-Mail de tu Amigo:";
		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="Por favor: rellene el campo \"Nombre\" correctamente.\n";
		etiqueta.innerHTML="* Nombre:";
		etiqueta.className="errorform";
		firstErrorControl=form.txtFirstName;
	}
	else
	{ 
		etiqueta.innerHTML="Nome:";
		etiqueta.className="textoizquierda";
	}
	
	etiqueta=document.getElementById("LastName");
	form.txtLastName.value=trim(form.txtLastName.value);
	if(form.txtLastName.value.length<1)
	{
		mensaje=mensaje+"Por favor: rellene el campo \"Apellidos\" correctamente.\n";
		etiqueta.innerHTML="* Apellidos:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.txtLastName;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Apellidos:";
		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+"Por favor: rellene el campo \"Email\" correctamente.\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+"Por favor: rellene el campo \"Confirmar Email\" correctamente, debe ser igual que \"Email\"\n";
		etiqueta.innerHTML="* Confirmar Email:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.txtEmail2;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Confirmar Email:";
		etiqueta.className="textoizquierda";
	}
	
	etiqueta=document.getElementById("Country");
	if(form.selCountry.selectedIndex==0)
	{
		mensaje=mensaje+"Por favor: rellene el campo \"Pais\" correctamente.\n";
		etiqueta.innerHTML="* Pais:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.selCountry;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Pais:";
		etiqueta.className="textoizquierda";
	}
	
	
	etiqueta=document.getElementById("Howlong");
	form.txtHowlong.value=trim(form.txtHowlong.value);
	if(form.txtHowlong.value=="nulo")
	{
		mensaje=mensaje+"Por favor, selecciona \"Cuanto tiempo\".\n";
		etiqueta.innerHTML="* ¿Cu&aacute;nto tiempo planeas estar? (semanas)";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.txtHowlong;
		}
	
	}
	else
	{ 
		etiqueta.innerHTML="¿Cu&aacute;nto tiempo planeas estar? (semanas)";
		etiqueta.className="textoizquierda";
	}
	
	
	
	
	
	if(form.tipo.value == "all")
	{
		etiqueta=document.getElementById("Phone");
		form.txtPhone.value=trim(form.txtPhone.value);
		if(form.txtPhone.value!="" && checkInternationalPhone(form.txtPhone.value)==false)
		{
			
			mensaje=mensaje+"Por favor: rellene el campo  \"Número de Teléfono:\" correctamente.\n";
			etiqueta.innerHTML="* N&uacute;mero de Tel&eacute;fono:";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
			{ 
				firstErrorControl=form.txtPhone;
			}

		}
		else
		{ 
			etiqueta.innerHTML="N&uacute;mero de Tel&eacute;fono:";
			etiqueta.className="textoizquierda";
		}
	}else{
		
		etiqueta=document.getElementById("Phone");
		form.txtPhone.value=trim(form.txtPhone.value);
		if(form.txtPhone.value.length<1)
		{
			
			mensaje=mensaje+"Por favor: rellene el campo  \"Número de Teléfono:\" correctamente.\n";
			etiqueta.innerHTML="* N&uacute;mero de Tel&eacute;fono:";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
			{ 
				firstErrorControl=form.txtPhone;
			}

		}
		else if(form.txtPhone.value!="" && checkInternationalPhone(form.txtPhone.value)==false)
		{
			
			mensaje=mensaje+"Por favor: rellene el campo  \"Número de Teléfono:\" correctamente.\n";
			etiqueta.innerHTML="* N&uacute;mero de Tel&eacute;fono:";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
			{ 
				firstErrorControl=form.txtPhone;
			}

		}
		else
		{ 
			etiqueta.innerHTML="N&uacute;mero de Tel&eacute;fono:";
			etiqueta.className="textoizquierda";
		}
	}
	

	
	
	
	if(form.SendMethod[0] && form.SendMethod[0].value == "post")
	{
		if(form.SendMethod[0].checked)
		{
			etiqueta=document.getElementById("Address");
			form.txtAddress.value=trim(form.txtAddress.value);
			if(form.txtAddress.value.length<1)
			{
				mensaje=mensaje+"Por favor, si quieres recibir el folleto por correo, rellena \"Direccion\".\n";
				etiqueta.innerHTML="* Direcci&oacute;n:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtAddress;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="Direcci&oacute;n:";
				etiqueta.className="textoizquierda";
			}
			etiqueta=document.getElementById("City");
			form.txtCity.value=trim(form.txtCity.value);
			if(form.txtCity.value.length<1)
			{
				mensaje=mensaje+"Por favor, si quieres recibir el folleto por correo, rellena \"Ciudad\".\n";
				etiqueta.innerHTML="* Ciudad:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtCity;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="Ciudad:";
				etiqueta.className="textoizquierda";
			}
			
			etiqueta=document.getElementById("Zip");
			form.txtZip.value=trim(form.txtZip.value);
			if(form.txtZip.value.length<1)
			{
				mensaje=mensaje+"Por favor, si quieres recibir el folleto por correo, rellena tu \"Código Postal\".\n";
				etiqueta.innerHTML="* C&oacute;digo Postal:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtZip;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="C&oacute;digo Postal:";
				etiqueta.className="textoizquierda";
			}
			
			etiqueta=document.getElementById("State");
			form.txtState.value=trim(form.txtState.value);
			if(form.txtState.value.length<1)
			{
				mensaje=mensaje+"Por favor, si quieres recibir el folleto por correo, rellena tu \"Provincia/Estado\".\n";
				etiqueta.innerHTML="* Provincia/Estado:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtState;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="Provincia/Estado:";
				etiqueta.className="textoizquierda";
			}
		}
		else
		{		
			etiqueta=document.getElementById("Address");
			etiqueta.innerHTML="Direcci&oacute;n:";
			etiqueta.className="textoizquierda";
			etiqueta=document.getElementById("City");
			etiqueta.innerHTML="Ciudad:";
			etiqueta.className="textoizquierda";
			etiqueta=document.getElementById("Zip");
			etiqueta.innerHTML="C&oacute;digo Postal:";
			etiqueta.className="textoizquierda";
			etiqueta=document.getElementById("State");
			etiqueta.innerHTML="Provincia/Estado:";
			etiqueta.className="textoizquierda";
		}
	}
	else
	{
		etiqueta=document.getElementById("Address");
		form.txtAddress.value=trim(form.txtAddress.value);
		
		etiqueta=document.getElementById("City");
		form.txtCity.value=trim(form.txtCity.value);
	
		etiqueta=document.getElementById("Zip");
		form.txtZip.value=trim(form.txtZip.value);
		
		etiqueta=document.getElementById("State");
		form.txtState.value=trim(form.txtState.value);
		
	
	}
	
	if(form.tipocampo.value == "campokaplan")
			{
			
			etiqueta=document.getElementById("Comments");
			form.txtComments.value=trim(form.txtComments.value);
				if(form.txtComments.value.length<10)
				{
					
					mensaje=mensaje+"Por favor, rellena al menos una frase en 'Comentarios'.\n";
					etiqueta.innerHTML="Comentarios(*)";
					etiqueta.className="errorform";
						if (firstErrorControl == null)
						{ 
							firstErrorControl=form.txtComments;
						}
			
				}
				else if(form.txtComments.value.length>200)
				{
					
					mensaje=mensaje+"Lo sentimos pero el campo de comentarios no puede tener más de 200 caracteres.\n";
					etiqueta.innerHTML="Comentarios(*)";
					etiqueta.className="errorform";
					if (firstErrorControl == null)
						{ 
							firstErrorControl=form.txtComments;
						}
			
				}
				else
				{ 
					etiqueta.innerHTML="Comentarios(*)";
					etiqueta.className="textoizquierda";
				}
		
		}else {
			
			etiqueta=document.getElementById("Comments");
			form.txtComments.value=trim(form.txtComments.value);
			 if(form.txtComments.value.length>200)
				{
					
					mensaje=mensaje+"Lo sentimos pero el campo de comentarios no puede tener más de 200 caracteres.\n";
					etiqueta.innerHTML="* ¿Alguna pregunta o información adicional que necesites?";
					etiqueta.className="errorform";
					if (firstErrorControl == null)
						{ 
							firstErrorControl=form.txtComments;
						}
			
				}
				else
				{ 
					etiqueta.innerHTML="¿Alguna pregunta o información adicional que necesites?";
					etiqueta.className="textoizquierda";
				}
			
			
		}
	
	if (mensaje=="")
	{
		return true;
	}
	else
	{
		alert(mensaje);
		if(firstErrorControl.name != "selCountry" && firstErrorControl.name != "txtHowlong" && firstErrorControl.name != "selBirth")
		{ 
			firstErrorControl.select();
		}
		firstErrorControl.focus();
		return false;
	}

}
