//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="Attenzione: inserire il campo correttamente \"La tua mail\" \n";
		etiqueta.innerHTML="* La tua mail:";
		etiqueta.className="errorform";
		firstErrorControl=form.Origen;
	}
	else
	{ 
		etiqueta.innerHTML="La tua 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+"Attenzione: inserire il campo correttamente \"Vuoi consigliarla ad un tuo amico\" \n";
		etiqueta.innerHTML="* Vuoi consigliarla ad un tuo amico:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.Destino;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Vuoi consigliarla ad un tuo amico:";
		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="Attenzione: riempire il campo \"Nome\" correttamente.\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+"Attenzione: riempire il campo \"Cognome\" correttamente.\n";
		etiqueta.innerHTML="* Cognome:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.txtLastName;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Cognome:";
		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+"Attenzione: riempire il campo \"Email\" correttamente.\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+"Attenzione: riempire il campo \"Conferma Email\" correttamente, debe ser igual que \"Email\"\n";
		etiqueta.innerHTML="* Conferma Email:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.txtEmail2;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Conferma Email:";
		etiqueta.className="textoizquierda";
	}
	
	etiqueta=document.getElementById("Country");
	if(form.selCountry.selectedIndex==0)
	{
		mensaje=mensaje+"Attenzione: riempire il campo \"Nazione\" correttamente.\n";
		etiqueta.innerHTML="* Nazione:";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.selCountry;
		}

	}
	else
	{ 
		etiqueta.innerHTML="Nazione:";
		etiqueta.className="textoizquierda";
	}
	
	etiqueta=document.getElementById("Howlong");
	form.txtHowlong.value=trim(form.txtHowlong.value);
	if(form.txtHowlong.value=="nulo")
	{
		mensaje=mensaje+"Attenzione: Scegliere un'opzione \"Per quanto tempo\".\n";
		etiqueta.innerHTML="* Per quanto tempo avete intenzione di rimanere? (settimane)";
		etiqueta.className="errorform";
		if (firstErrorControl == null)
		{ 
			firstErrorControl=form.txtHowlong;
		}
	
	}
	else
	{ 
		etiqueta.innerHTML="Per quanto tempo avete intenzione di rimanere? (settimane)";
		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+"Attenzione: riempire il \"Numero de telefono\" correttamente.\n";
			etiqueta.innerHTML="* Numero di telefono:";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
			{ 
				firstErrorControl=form.txtPhone;
			}

		}
		else
		{ 
			etiqueta.innerHTML="Numero di telefono:";
			etiqueta.className="textoizquierda";
		}
	}else{
		
		etiqueta=document.getElementById("Phone");
		form.txtPhone.value=trim(form.txtPhone.value);
		if(form.txtPhone.value.length<1)
		{
			
			mensaje=mensaje+"Attenzione: riempire il \"Numero de telefono\" correttamente.\n";
			etiqueta.innerHTML="* Numero di telefono:";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
			{ 
				firstErrorControl=form.txtPhone;
			}

		}
		else if(form.txtPhone.value!="" && checkInternationalPhone(form.txtPhone.value)==false)
		{
			
			mensaje=mensaje+"Attenzione: riempire il \"Numero de telefono\" correttamente.\n";
			etiqueta.innerHTML="* Numero di telefono:";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
			{ 
				firstErrorControl=form.txtPhone;
			}

		}
		else
		{ 
			etiqueta.innerHTML="Numero di telefono:";
			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+"Per riceveri il depliant per posta riempire \"Indirizzo\" correttamente.\n";
				etiqueta.innerHTML="* Indirizzo:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtAddress;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="Indirizzo:";
				etiqueta.className="textoizquierda";
			}
			etiqueta=document.getElementById("City");
			form.txtCity.value=trim(form.txtCity.value);
			if(form.txtCity.value.length<1)
			{
				mensaje=mensaje+"Per riceveri il depliant per posta riempire \"Citta\"\n";
				etiqueta.innerHTML="* Citt&agrave;:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtCity;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="Citt&agrave;:";
				etiqueta.className="textoizquierda";
			}
			
			etiqueta=document.getElementById("Zip");
			form.txtZip.value=trim(form.txtZip.value);
			if(form.txtZip.value.length<1)
			{
				mensaje=mensaje+"Per riceveri il depliant per posta riempire \"Codice Postale\"\n";
				etiqueta.innerHTML="* Codice Postale:";
				etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtZip;
				}
		
			}
			else
			{ 
				etiqueta.innerHTML="Codice Postale:";
				etiqueta.className="textoizquierda";
			}
			
			etiqueta=document.getElementById("State");
			form.txtState.value=trim(form.txtState.value);
			if(form.txtState.value.length<1)
			{
				mensaje=mensaje+"Per riceveri il depliant per posta riempire \"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="Address:";
			etiqueta.className="textoizquierda";
			etiqueta=document.getElementById("City");
			etiqueta.innerHTML="City:";
			etiqueta.className="textoizquierda";
			etiqueta=document.getElementById("Zip");
			etiqueta.innerHTML="Zip Code:";
			etiqueta.className="textoizquierda";
			etiqueta=document.getElementById("State");
			etiqueta.innerHTML="State:";
			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+"Errore: Il campo 'Commenti' non è compilato correttamente.\n";
			etiqueta.innerHTML="Commenti*";
			etiqueta.className="errorform";
				if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtComments;
				}
	
		}
		else if(form.txtComments.value.length>200)
		{
			
			mensaje=mensaje+"\"Commenti\" non possono essere piu di 200 caratteri lungamente\n";
			etiqueta.innerHTML="Commenti*";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtComments;
				}
	
		}
		else
		{ 
			etiqueta.innerHTML="Commenti*";
			etiqueta.className="textoizquierda";
		}

}else {
	
	etiqueta=document.getElementById("Comments");
	form.txtComments.value=trim(form.txtComments.value);
	 if(form.txtComments.value.length>200)
		{
			
			mensaje=mensaje+"\"Hai altre domande... \" non possono essere piu di 200 caratteri lungamente\n";
			etiqueta.innerHTML="* Hai altre domande o hai bisogno di ulteriori informazioni?:";
			etiqueta.className="errorform";
			if (firstErrorControl == null)
				{ 
					firstErrorControl=form.txtComments;
				}
	
		}
		else
		{ 
			etiqueta.innerHTML="Hai altre domande o hai bisogno di ulteriori informazioni?:";
			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;
	}
}

