function numeralsOnly(evt) 
{
	evt = (evt) ? evt : event;
	var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
		((evt.which) ? evt.which : 0));
	if (charCode > 31 && (charCode < 48 || charCode > 57)) {
		alert("Puoi inserire solo numeri");
		return false;
	}
	return true;
}

function prefisso(formSms)
{

		if(formSms.pre.value=="none")
		{
			formSms.cell.disabled=true;
			formSms.cell.style.backgroundColor="#cccccc";

		}
		else
		{
			formSms.cell.disabled=false;
			formSms.cell.style.backgroundColor="#ffffff";
		
		}
}

function ControllaCF(cf)
{
	var validi, i, s, set1, set2, setpari, setdisp;
	if( cf == '' )
	{
		alert("Inserisci il codice fiscale");
		return false;
	}
	cf = cf.toUpperCase();
	if( cf.length != 16 )
	{
		alert("La lunghezza del codice fiscale non e'\n"
		+"corretta: il codice fiscale dovrebbe essere lungo\n"
		+"esattamente 16 caratteri.\n");
		return false;
	}
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for( i = 0; i < 16; i++ ){
		if( validi.indexOf( cf.charAt(i) ) == -1 )
		{
			alert("Il codice fiscale contiene un carattere non valido `" +
				cf.charAt(i) +
				"'.\nI caratteri validi sono le lettere e le cifre.\n");
			return false;
		}
	}
	set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
	s = 0;
	for( i = 1; i <= 13; i += 2 )
		s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	for( i = 0; i <= 14; i += 2 )
		s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
	{
		alert("Il codice fiscale non e' corretto:\n"+
			"il codice di controllo non corrisponde.\n");
		return false;
			
	}
	return true;
}
	
function numeralsOnly(evt) {
		evt = (evt) ? evt : event;
		var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
			((evt.which) ? evt.which : 0));
		if (charCode > 31 && (charCode < 48 || charCode > 57)) {
			alert("Puoi inserire solo numeri");
			return false;
		}
		return true;
}

function formchecker(){	
	if(( formSms.pre.value == "none" )|(formSms.cell.value == ""))
	{
		alert("Inserire il prefisso e il numero di telefono");
		formSms.pre.focus();
		return false;
	}
	if(( formSms.cell.value.length < 6 )|( formSms.cell.value.length > 8 ))
	{
		alert("Numero di telefono non valido");
		formSms.cell.focus();
		return false;
	}
}

function formchecker2() {	
	if( form_mail.mail.value == "")
	{
		alert("Inserire un indirizzo mail valido");
		form_mail.mail.focus();
		return false;
	}
	else
	{
		if(emailCheck(form_mail.mail.value)==false) return false;
	}
}	

function emailCheck(emailStr) {
		var emailPat=/^(.+)@(.+)$/
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
		var validChars="\[^\\s" + specialChars + "\]"
		var quotedUser="(\"[^\"]*\")"
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
		var atom=validChars + '+'
		var word="(" + atom + "|" + quotedUser + ")"
		// The following pattern describes the structure of the user
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
		var matchArray=emailStr.match(emailPat)
		if (matchArray==null) {
		alert("L'email non é corretta")
		form_mail.mail.focus();
		return false
		}
		var user=matchArray[1]
		var domain=matchArray[2]

		// See if "user" is valid 
		if (user.match(userPat)==null) {
			// user is not valid
			alert("L'email non é corretta")
			form_mail.mail.focus();
			return false
		}
		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) {
			// this is an IP address
			  for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
					alert("L'email non é corretta")
					form_mail.mail.focus();
				return false
				}
			}
			return true
		}

		// Domain is symbolic name
		var domainArray=domain.match(domainPat)
		if (domainArray==null) {
			alert("L'email non é corretta")
			form_mail.mail.focus();
			return false
		}
		var atomPat=new RegExp(atom,"g")
		var domArr=domain.match(atomPat)
		var len=domArr.length
		if (domArr[domArr.length-1].length<2 || 
			domArr[domArr.length-1].length>4) {
		   // the address must end in a two letter or three letter word.
		   alert("L'email non é corretta")
		   form_mail.mail.focus();
		   return false
		}

		// Make sure there's a host name preceding the domain.
		if (len<2) {
		   var errStr="L'email non é corretta"
		   alert(errStr)
		   form_mail.mail.focus();
		   return false
		}

		// If we've gotten this far, everything's valid!
		return true;
	}
	
function formcheck()
		{			
		//if(register.nome.value=="")
		//{
			//alert("Inserire il nome");
			//register.nome.focus();
			//return false;
		//}
		
		if(register.email.value=="")
		{
			alert("Inserire l'e-mail");
			register.email.focus();
			return false;
		}
		else
		{
			if(emailCheck(register.email.value)==false) return false;
		}
		
		//if(register.telefono.value=="")
		//{
		//	alert("Inserire il numero di telefono");
		//	register.telefono.focus();
		//	return false;
		//}
		
		if(register.textarea.value=="")
		{
			alert("Inserire la richiesta informazioni");
			register.textarea.focus();
			return false;		
		}
		
		if(register.partenza.value=="")
		{
			alert("Inserire la città di partenza preferita");
			register.partenza.focus();
			return false;		
		}		
		
		if(!(register.privacy.checked))
		{
			alert("Autorizzare il trattamento dei dati personali");
			register.privacy.focus();
			return false;
		}	
		
		if(register.Provenienza.value=="")
		{
			alert("Inserire la città da cui scrivi");
			register.partenza.focus();
			return false;		
		}	
		
		if(register.DataPartenza.value=="")
		{
			alert("Inserire la data di partenza");
			register.DataPartenza.focus();
			return false;		
		}
		
		if(register.DataArrivo.value=="")
		{
			alert("Inserire la data di Arrivo");
			register.DataArrivo.focus();
			return false;		
		}
		
}	

function formchecker_ricerca()
		{			
				
		if(ricerca.Destinazione.value=="")
		{
			alert("Inserire la destinazione");
			ricerca.Destinazione.focus();
			return false;		
		}
		
			
}

function formchecker_ricerca_news()
		{			
				
		if(ricerca.Testo.value=="")
		{
			alert("Inserire le parole chiave");
			ricerca.Testo.focus();
			return false;		
		}	
}

function formcheck_shopping() {	

		if(registra_articolo.Nome.value=="")
		{
			alert("Inserire il nome");
			registra_articolo.Nome.focus();
			return false;		
		}	
		
		if(registra_articolo.Cognome.value=="")
		{
			alert("Inserire il cognome");
			registra_articolo.Cognome.focus();
			return false;		
		}
		
		if(registra_articolo.Indirizzo.value=="")
		{
			alert("Inserire l'indirizzo");
			registra_articolo.Indirizzo.focus();
			return false;		
		}
		
		if(registra_articolo.Comune.value=="")
		{
			alert("Inserire il Comune");
			registra_articolo.Comune.focus();
			return false;		
		}
		
		if(registra_articolo.CAP.value=="")
		{
			alert("Inserire il CAP");
			registra_articolo.CAP.focus();
			return false;		
		}
		
		if(registra_articolo.Telefono.value=="")
		{
			alert("Inserire il Telefono");
			registra_articolo.Telefono.focus();
			return false;		
		}
		
		if(registra_articolo.Email.value=="")
		{
			alert("Inserire l'e-mail");
			registra_articolo.Email.focus();
			return false;
		}
		else
		{
			if(emailCheck(registra_articolo.Email.value)==false) return false;
		}
		
		if(registra_articolo.textarea.value=="")
		{
			alert("Inserire la richiesta informazioni");
			registra_articolo.textarea.focus();
			return false;		
		}	
		
		if(!(registra_articolo.Copia.checked))
		{
			// Controlla i campi per la spedizione se
			// l'indirizzo di spedizione è diverso da quello personale
			if(registra_articolo.CognomeSpedizione.value=="")
			{
				alert("Inserire il cognome destinatario spedizione");
				registra_articolo.CognomeSpedizione.focus();
				return false;		
			}
			
			if(registra_articolo.NomeSpedizione.value=="")
			{
				alert("Inserire il nome destinatario spedizione");
				registra_articolo.NomeSpedizione.focus();
				return false;		
			}	
			
			if(registra_articolo.IndirizzoSpedizione.value=="")
			{
				alert("Inserire l'indirizzo del destinatario");
				registra_articolo.IndirizzoSpedizione.focus();
				return false;		
			}
			
			if(registra_articolo.ComuneSpedizione.value=="")
			{
				alert("Inserire il Comune del destinatario");
				registra_articolo.ComuneSpedizione.focus();
				return false;		
			}
			
			if(registra_articolo.CAPSpedizione.value=="")
			{
				alert("Inserire il CAP del destinatario");
				registra_articolo.CAPSpedizione.focus();
				return false;		
			}	
				
		}	
		
		if(!(registra_articolo.privacy.checked))
		{
			alert("Autorizzare il trattamento dei dati personali");
			registra_articolo.privacy.focus();
			return false;
		}
		
}	

function winPrivacy(URL){
	window.open(URL,"form","width=650,height=565,toolbar=0,menubar=1,location=0,status=0,scrollbars=1,resizable=0")
}

function CopiaValori(){
	registra_articolo.CognomeSpedizione.value = registra_articolo.Cognome.value;
	registra_articolo.NomeSpedizione.value = registra_articolo.Nome.value;
	registra_articolo.IndirizzoSpedizione.value = registra_articolo.Indirizzo.value;
	registra_articolo.ComuneSpedizione.value = registra_articolo.Comune.value;
	registra_articolo.CAPSpedizione.value = registra_articolo.CAP.value;
}
