//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: recheie o campo \"Teu e-mail\" corretamente.\n";
		etiqueta.innerHTML="* Teu e-mail:";
		etiqueta.className="errorform";
		firstErrorControl=form.Origen;
	}
	else
	{ 
		etiqueta.innerHTML="Teu 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: recheie o campo \"O e-mail de teu Amigo\"  correctamente.\n";
		etiqueta.innerHTML="* O e-mail de teu Amigo:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.Destino;
		}

	}
	else
	{ 
		etiqueta.innerHTML="O e-mail de teu 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="Atenciòn: recheie o campo \"Nome\" corretamente.\n";
		etiqueta.innerHTML="* Nome:";
		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+"Atenciòn: recheie o campo \"Sobrenomes\" corretamente.\n";
		etiqueta.innerHTML="* Sobrenomes:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.txtLastName;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Sobrenomes:";
		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+"Atenciòn: recheie o campo \"Email\" corretamente.\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+"Atenção: preencha o campo \"Confirmar Email\" correctamente, este tem de ser igual ao campo \"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+"Atenciòn: recheie o campo \"Pais\" corretamente.\n";
		etiqueta.innerHTML="* Pais:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.selCountry;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Pais:";
		etiqueta.className="textoizquierda";
	}
	
	etiqueta=document.getElementById("Phone");
	if(form.txtPhone.value!="" && checkInternationalPhone(form.txtPhone.value)==false)
	{
		
		mensaje=mensaje+"Recheada teu \"Telefone\" corretamente.\n";
		etiqueta.innerHTML="* Telefone:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.txtPhone;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Telefone:";
		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+"Se queres receber teu folheto por correio recheada teu \"Direccion\"\n";
				etiqueta.innerHTML="* Direccion:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtAddress;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="Direccion:";
				etiqueta.className="textoizquierda";
			}
			etiqueta=document.getElementById("City");
			form.txtCity.value=trim(form.txtCity.value);
			if(form.txtCity.value.length<1)
			{
				mensaje=mensaje+"Se queres receber teu folheto por correio recheada teu \"Cidade\"\n";
				etiqueta.innerHTML="* Cidade:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtCity;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="Cidade:";
				etiqueta.className="textoizquierda";
			}
			
			etiqueta=document.getElementById("Zip");
			form.txtZip.value=trim(form.txtZip.value);
			if(form.txtZip.value.length<1)
			{
				mensaje=mensaje+"Se queres receber teu folheto por correio recheada teu \"Codigo Postal\"\n";
				etiqueta.innerHTML="* Codigo Postal:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtZip;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="Codigo Postal:";
				etiqueta.className="textoizquierda";
			}
			
			etiqueta=document.getElementById("State");
			form.txtState.value=trim(form.txtState.value);
			if(form.txtState.value.length<1)
			{
				mensaje=mensaje+"Se queres receber teu folheto por correio recheada teu \"Provincia\"\n";
				etiqueta.innerHTML="* Provincia:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtState;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="Provincia:";
				etiqueta.className="textoizquierda";
			}
		}
		else
		{		
			etiqueta=document.getElementById("Address");
			etiqueta.innerHTML="Direccion:";
			etiqueta.className="textoizquierda";
			etiqueta=document.getElementById("City");
			etiqueta.innerHTML="Cidade:";
			etiqueta.className="textoizquierda";
			etiqueta=document.getElementById("Zip");
			etiqueta.innerHTML="Codigo Postal:";
			etiqueta.className="textoizquierda";
			etiqueta=document.getElementById("State");
			etiqueta.innerHTML="Provincia:";
			etiqueta.className="textoizquierda";
		}
	}
	else
	{
		etiqueta=document.getElementById("Address");
		form.txtAddress.value=trim(form.txtAddress.value);
		if(form.txtAddress.value.length<1)
		{
			mensaje=mensaje+"Se queres receber teu folheto por correio recheada teu \"Direccion\"\n";
			etiqueta.innerHTML="* Direccion:";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
			{ 
				firstErrorControl=form.txtAddress;
			}
	
		}
		else
		{ 
			etiqueta.innerHTML="Direccion:";
			etiqueta.className="textoizquierda";
		}
		etiqueta=document.getElementById("City");
		form.txtCity.value=trim(form.txtCity.value);
		if(form.txtCity.value.length<1)
		{
			mensaje=mensaje+"Se queres receber teu folheto por correio recheada teu \"Cidade\"\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+"Se queres receber teu folheto por correio recheada teu \"Codigo Postal\"\n";
			etiqueta.innerHTML="* Codigo Postal:";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
			{ 
				firstErrorControl=form.txtZip;
			}
	
		}
		else
		{ 
			etiqueta.innerHTML="Codigo Postal:";
			etiqueta.className="textoizquierda";
		}
		
		etiqueta=document.getElementById("State");
		form.txtState.value=trim(form.txtState.value);
		if(form.txtState.value.length<1)
		{
			mensaje=mensaje+"Se queres receber teu folheto por correio recheada teu \"Provincia:\"\n";
			etiqueta.innerHTML="* Provincia:";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
			{ 
				firstErrorControl=form.txtState;
			}
	
		}
		else
		{ 
			etiqueta.innerHTML="Provincia:";
			etiqueta.className="textoizquierda";
		}
	}
	
	etiqueta=document.getElementById("Comments");
	form.txtComments.value=trim(form.txtComments.value);
	if(form.txtComments.value.length>200)
	{
		
		mensaje=mensaje+"O campo \"Que informação precisas em concreto?\" não pude ter mas de 200 carateres\n";
		etiqueta.innerHTML="* Que informação precisas em concreto?";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.txtComments;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Que informação precisas em concreto?";
		etiqueta.className="textoizquierda";
	}
	
	if (mensaje=="")
	{
		return true;
	}
	else
	{
		alert(mensaje);
		if(firstErrorControl.name != "selCountry" && firstErrorControl.name != "selBirth")
		{ 
			firstErrorControl.select();
		}
		firstErrorControl.focus();
		return false;
	}

}