function codiceFISCALE(cfins){
   var cf = cfins.toUpperCase();
   var cfReg = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
   if (!cfReg.test(cf))
      return false;
   var set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
   var 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) )
      return false;
   return true;
}

function ControllaPIVA(pi)
{
	if( pi == '' )  return '';
	if( pi.length != 11 )
		return "La lunghezza della partita IVA non è\n" +
			"corretta: la partita IVA dovrebbe essere lunga\n" +
			"esattamente 11 caratteri.\n";
	validi = "0123456789";
	for( i = 0; i < 11; i++ ){
		if( validi.indexOf( pi.charAt(i) ) == -1 )
			return "La partita IVA contiene un carattere non valido `" +
				pi.charAt(i) + "'.\nI caratteri validi sono le cifre.\n";
	}
	s = 0;
	for( i = 0; i <= 9; i += 2 )
		s += pi.charCodeAt(i) - '0'.charCodeAt(0);
	for( i = 1; i <= 9; i += 2 ){
		c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
		if( c > 9 )  c = c - 9;
		s += c;
	}
	if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) )
		return "La partita IVA non è valida:\n" +
			"il codice di controllo non corrisponde.\n";
	return '';
}



function isLiteral(s) {
	s = s.toLowerCase();
	for (var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if (((c < 'a') || (c > 'z')) && (c != ' ') && (c != ',') && (c != '.') && (c != '\'') && (c != '/') && (c != '\(') && (c != '\)')) return false;
	}
	return true
}

function isNumeric(s) { 
	for (var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if ((c < '0') || (c > '9')) {return false;}
	}
	return true
}

function isAlphaNum(s) {
	for (var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if ((!isLiteral(c)) && (!isNumeric(c))) return false;
	}
	return true
}

function sizeIs(s,n) {
	if (s.length > 2) return true; return false
}


function isEmail(s) {
	if (s != '') {	
		var chiocciola,chiocciola2,punto;
		chiocciola = s.indexOf('@');
		chiocciola2 = s.lastIndexOf('@');
		punto = s.lastIndexOf('.'); 
		s = s.toLowerCase();
		if ((chiocciola < 2) || (chiocciola2 != chiocciola) || (punto < chiocciola+4) || (s.length-punto < 3)) 
			return false;
		for (var i = 0; i < s.length; i++) {
			var c = s.charAt(i);
			if ((!isAlphaNum(c)) && (c != '@') && (c != "_") && (c != "-")) return false;
		}
		
	}
	return true;
}

function isGGMMAAAA(s) {
	if (minAge == null) var minAge = 0;
	if (!sizeIs(s,10)) return false;
	var GG = s.substr(0,2);	
	var MM = s.substr(3,2);
	var AAAA = s.substr(6,4);
	var lRitorno=false;
	if (MM=="11" || MM=="04" || MM=="06" || MM=="09") lRitorno=(GG<"31");
	else 
		if (MM=="02") lRitorno = ((GG < "29") || ((GG == "29") && (AAAA % 4 == 0) && (AAAA % 400 == 0)));
		else
			lRitorno = (MM<"13" && GG<"32")
	return lRitorno;
}

function isHTTP(url){
	if (url.indexOf("http://")>=0) {
		return true;
	} else {
		return false;
	}	
}

function init() {document.getElementById('countArea').innerHTML = 1750-document.getElementById('attivita_descrizione_it').value.length; 
} 
function updateCounter(field,maxlength,id,counter) {
var totalLength = field.value.length; 
if(totalLength >= maxlength) {
field.value = field.value.substring(0, maxlength);
}
document.getElementById(counter).innerHTML = maxlength-field.value.length;
}



function Verifica(mioform) {

	if (mioform.titolo.value=='') {
		alert("Attenzione!\nIl campo titolo e' obbligatorio");
		return false;
	}

	if (mioform.testo.value=='') {
		alert("Attenzione!\nIl campo testo e' obbligatorio");		
		return false;
	}

}




function Login(mioform) {


  	if (mioform.email.value=='') {
		alert("Attenzione!\nIl campo email e\' obbligatorio");
		return false;
	}

	if (!isEmail(mioform.email.value)) {
		alert("Attenzione!\nIl formato del campo email non e\' corretto.");
		return false;
	}

  	if (mioform.password.value=='') {
		alert("Attenzione!\nIl campo password e\' obbligatorio");
		return false;
	}

}

function Recupera(mioform) {


  	if (mioform.email.value=='') {
		alert("Attenzione!\nIl campo email e\' obbligatorio");
		return false;
	}

	if (!isEmail(mioform.email.value)) {
		alert("Attenzione!\nIl formato del campo email non e\' corretto.");
		return false;
	}

}


function Registrazione_privati(mioform) {
  
  	if (mioform.nome.value=='') {
		alert("Attenzione!\nIl campo nome e\' obbligatorio");
		return false;
	} 
	if (!isLiteral(mioform.nome.value)) {
		alert("Attenzione!\nIl formato del campo nome non e\' corretto.");
		return false;
	}

  	if (mioform.cognome.value=='') {
		alert("Attenzione!\nIl campo cognome e\' obbligatorio");
		return false;
	}

	if (!isLiteral(mioform.cognome.value)) {
		alert("Attenzione!\nIl formato del campo cognome non e\' corretto.");
		return false;
	}

	if (mioform.nome.value==mioform.cognome.value) {
	alert("Attenzione!\n Registrazione irregolare");
	return false;
  } 



  if (mioform.codice_fiscale.value=='') {
  	alert("Attenzione!\nIl campo codice fiscale e\' obbligatorio");
  	return false;
  } 
 
 	if (mioform.codice_fiscale.value!='') {
		if (!codiceFISCALE(mioform.codice_fiscale.value)) {
		alert("Attenzione!\nIl formato del campo codice fiscale non e\' corretto.");
		return false;
	}
}	


  if (mioform.email.value=='') {
  	alert("Attenzione!\nIl campo email e\' obbligatorio");
  	return false;
  }
  
  if (!isEmail(mioform.email.value)) {
  	alert("Attenzione!\nIl formato del campo email non e\' corretto.");
  	return false;
  }

  if (mioform.telefono.value=='') {
  	alert("Attenzione!\nIl campo telefono e\' obbligatorio");
  	return false;
  }
  
  if (!isNumeric(mioform.telefono.value)) {
  	alert("Attenzione!\nIl formato del campo telefono non e\' corretto.");
  	return false;
  }

  if (!isNumeric(mioform.cellulare.value)) {
  	alert("Attenzione!\nIl formato del campo cellulare non e\' corretto.");
  	return false;
  }
  
   if (mioform.indirizzo.value=='') {
  	alert("Attenzione!\nIl campo indirizzo e\' obbligatorio");
  	return false;
  } 

   if (mioform.regione.value=='') {
  	alert("Attenzione!\nIl campo regione e\' obbligatorio");
  	return false;
  }

   if (mioform.citta.value=='') {
  	alert("Attenzione!\nIl campo citta e\' obbligatorio");
  	return false;
  }
  
  if (!isLiteral(mioform.citta.value)) {
  	alert("Attenzione!\nIl formato del campo citta non e\' corretto.");
  	return false;
  }

   if (mioform.provincia.value=='') {
  	alert("Attenzione!\nIl campo provincia e\' obbligatorio");
  	return false;
  }
  
  if (!isLiteral(mioform.provincia.value)) {
  	alert("Attenzione!\nIl formato del campo provincia non e\' corretto.");
  	return false;
  }
  
   if (mioform.cap.value=='') {
  	alert("Attenzione!\nIl campo cap e\' obbligatorio");
  	return false;
  }
  
  if (!isNumeric(mioform.cap.value)) {
  	alert("Attenzione!\nIl formato del campo cap non e\' corretto.");
  	return false;
  }

  
   if (mioform.nazione.value=='') {
  	alert("Attenzione!\nIl campo nazione e\' obbligatorio");
  	return false;
  }
  
  if (!isLiteral(mioform.nazione.value)) {
  	alert("Attenzione!\nIl formato del campo nazione non e\' corretto.");
  	return false;
  }

   if (mioform.password.value=='') {
  	alert("Attenzione!\nIl campo password e\' obbligatorio");
  	return false;
  }

   if (mioform.password_conferma.value=='') {
  	alert("Attenzione!\nIl campo conferma password e\' obbligatorio");
  	return false;
  }       

  
   if (mioform.password.value!=mioform.password_conferma.value) {
  	alert("Attenzione!\nLe password non coincidono");
  	return false;
  }

    	if (mioform.check_privacy.checked==false) {
		alert("Attenzione!\nE' necessario autorizzare il trattamento dei dati personali.");
		return false;	
	
	}


}




function Registrazione_aziende(mioform) {

  
      	if (mioform.azienda.value=='') {
		alert("Attenzione!\nIl campo azienda e\' obbligatorio");
		return false;
	}

  	if (mioform.partita_iva.value=='') {
		alert("Attenzione!\nIl campo partita iva e\' obbligatorio");
		return false;
	}

	if (ControllaPIVA(mioform.partita_iva.value)) {
		alert("Attenzione!\nIl formato del campo partita iva non e\' corretto.");
		return false;
	}  

  	if (mioform.nome.value=='') {
		alert("Attenzione!\nIl campo nome e\' obbligatorio");
		return false;
	} 
	if (!isLiteral(mioform.nome.value)) {
		alert("Attenzione!\nIl formato del campo nome non e\' corretto.");
		return false;
	}

  	if (mioform.cognome.value=='') {
		alert("Attenzione!\nIl campo cognome e\' obbligatorio");
		return false;
	}

	if (!isLiteral(mioform.cognome.value)) {
		alert("Attenzione!\nIl formato del campo cognome non e\' corretto.");
		return false;
	}

	if (mioform.nome.value==mioform.cognome.value) {
	alert("Attenzione!\n Registrazione irregolare");
	return false;
  } 
 
 
 	if (mioform.codice_fiscale.value!='') {
		if (!codiceFISCALE(mioform.codice_fiscale.value)) {
		alert("Attenzione!\nIl formato del campo codice fiscale non e\' corretto.");
		return false;
	}
}	


  if (mioform.email.value=='') {
  	alert("Attenzione!\nIl campo email e\' obbligatorio");
  	return false;
  }
  
  if (!isEmail(mioform.email.value)) {
  	alert("Attenzione!\nIl formato del campo email non e\' corretto.");
  	return false;
  }

  if (mioform.telefono.value=='') {
  	alert("Attenzione!\nIl campo telefono e\' obbligatorio");
  	return false;
  }
  
  if (!isNumeric(mioform.telefono.value)) {
  	alert("Attenzione!\nIl formato del campo telefono non e\' corretto.");
  	return false;
  }

  if (!isNumeric(mioform.cellulare.value)) {
  	alert("Attenzione!\nIl formato del campo cellulare non e\' corretto.");
  	return false;
  }
  
   if (mioform.indirizzo.value=='') {
  	alert("Attenzione!\nIl campo indirizzo e\' obbligatorio");
  	return false;
  } 


   if (mioform.regione2.value=='') {
  	alert("Attenzione!\nIl campo regione e\' obbligatorio");
  	return false;
  }

   if (mioform.citta.value=='') {
  	alert("Attenzione!\nIl campo citta e\' obbligatorio");
  	return false;
  }
  
  if (!isLiteral(mioform.citta.value)) {
  	alert("Attenzione!\nIl formato del campo citta non e\' corretto.");
  	return false;
  }

   if (mioform.provincia.value=='') {
  	alert("Attenzione!\nIl campo provincia e\' obbligatorio");
  	return false;
  }
  
  if (!isLiteral(mioform.provincia.value)) {
  	alert("Attenzione!\nIl formato del campo provincia non e\' corretto.");
  	return false;
  }
  
   if (mioform.cap.value=='') {
  	alert("Attenzione!\nIl campo cap e\' obbligatorio");
  	return false;
  }
  
  if (!isNumeric(mioform.cap.value)) {
  	alert("Attenzione!\nIl formato del campo cap non e\' corretto.");
  	return false;
  }

  
   if (mioform.nazione.value=='') {
  	alert("Attenzione!\nIl campo nazione e\' obbligatorio");
  	return false;
  }
  
  if (!isLiteral(mioform.nazione.value)) {
  	alert("Attenzione!\nIl formato del campo nazione non e\' corretto.");
  	return false;
  }

   if (mioform.password.value=='') {
  	alert("Attenzione!\nIl campo password e\' obbligatorio");
  	return false;
  }

   if (mioform.password_conferma.value=='') {
  	alert("Attenzione!\nIl campo conferma password e\' obbligatorio");
  	return false;
  }       


  
   if (mioform.password.value!=mioform.password_conferma.value) {
  	alert("Attenzione!\nLe password non coincidono");
  	return false;
  }
  

    	if (mioform.check_privacy.checked==false) {
		alert("Attenzione!\nE' necessario autorizzare il trattamento dei dati personali.");
		return false;	
	
	}
}



function Registrazione(mioform) {

   if (mioform.indirizzo.value=='') {
  	alert("Attenzione!\nIl campo indirizzo e\' obbligatorio");
  	return false;
  } 

   if (mioform.regione.value=='') {
  	alert("Attenzione!\nIl campo regione e\' obbligatorio");
  	return false;
  }

   if (mioform.citta.value=='') {
  	alert("Attenzione!\nIl campo citta e\' obbligatorio");
  	return false;
  }
  
  if (!isLiteral(mioform.citta.value)) {
  	alert("Attenzione!\nIl formato del campo citta non e\' corretto.");
  	return false;
  }

   if (mioform.provincia.value=='') {
  	alert("Attenzione!\nIl campo provincia e\' obbligatorio");
  	return false;
  }
  
  if (!isLiteral(mioform.provincia.value)) {
  	alert("Attenzione!\nIl formato del campo provincia non e\' corretto.");
  	return false;
  }
  
   if (mioform.cap.value=='') {
  	alert("Attenzione!\nIl campo cap e\' obbligatorio");
  	return false;
  }
  
  if (!isNumeric(mioform.cap.value)) {
  	alert("Attenzione!\nIl formato del campo cap non e\' corretto.");
  	return false;
  }

  
   if (mioform.nazione.value=='') {
  	alert("Attenzione!\nIl campo nazione e\' obbligatorio");
  	return false;
  }
  
  if (!isLiteral(mioform.nazione.value)) {
  	alert("Attenzione!\nIl formato del campo nazione non e\' corretto.");
  	return false;
  }


}



function Password(mioform) {

   if (mioform.vecchia_password.value=='') {
  	alert("Attenzione!\Il campo digita la vecchia password e\' obbligatorio");
  	return false;
  }


   if (mioform.password.value=='') {
  	alert("Attenzione!\nIl campo nuova password e\' obbligatorio");
  	return false;
  }

   if (mioform.password_conferma.value=='') {
  	alert("Attenzione!\nIl campo conferma password e\' obbligatorio");
  	return false;
  }
  
     if (mioform.password.value!=mioform.password_conferma.value) {
  	alert("Attenzione!\nLa nuova password non coincide con la password di conferma");
  	return false;
  }
    
}


function Quantita(mioform) {
   
   
   if (mioform.quantita.value=='') {
  	alert("Attenzione!\Il campo quantita non puo\' essere vuoto");
  	return false;
  } 
  
     if (mioform.quantita.value=='0') {
  	alert("Attenzione!\Il campo quantita non puo\' essere zero");
  	return false;
  } 
  
    if (!isNumeric(mioform.quantita.value)) {
  	alert("Attenzione!\nIl formato del campo quantita non e\' corretto.");
  	return false;
  }
     
}

function Contatti(mioform) {
   
   
   if (mioform.nome.value=='') {
  	alert("Attenzione!\Il campo nome non puo\' essere vuoto");
  	return false;
  } 
  
     if (mioform.cognome.value=='') {
  	alert("Attenzione!\Il campo cognome non puo\' essere vuoto");
  	return false;
  } 
  
  	if (mioform.email.value=='') {
		alert("Attenzione!\nIl campo email e\' obbligatorio");
		return false;
	}

	if (!isEmail(mioform.email.value)) {
		alert("Attenzione!\nIl formato del campo email non e\' corretto.");
		return false;
	}
    	if (mioform.messaggio.value=='') {
		alert("Attenzione!\nIl campo messaggio e\' obbligatorio");
		return false;
	}
  
   if (mioform.check_privacy.checked==false) {
		alert("Attenzione!\nE' necessario autorizzare il trattamento dei dati personali.");
		return false;	
	
	}
     
}

function Newsletter(mioform) {
   
   
  	if (mioform.email.value=='') {
		alert("Attenzione!\nIl campo email e\' obbligatorio");
		return false;
	}

	if (!isEmail(mioform.email.value)) {
		alert("Attenzione!\nIl formato del campo email non e\' corretto.");
		return false;
	} 
     
}


function Invia_amico(mioform) {

  	if (mioform.destinatario.value=='') {
		alert("Attenzione!\nIl campo destinatario e\' obbligatorio");
		return false;
	}

	if (!isEmail(mioform.destinatario.value)) {
		alert("Attenzione!\nIl formato del campo destinatario non e\' corretto.");
		return false;
	} 

  	if (mioform.mittente.value=='') {
		alert("Attenzione!\nIl campo destinatario e\' obbligatorio");
		return false;
	}

	if (!isEmail(mioform.mittente.value)) {
		alert("Attenzione!\nIl formato del campo destinatario non e\' corretto.");
		return false;
	} 
    	if (mioform.messaggio.value=='') {
		alert("Attenzione!\nIl campo messaggio e\' obbligatorio");
		return false;
	}
     
}


function Assistenza(mioform) {

  	if (mioform.email.value=='') {
		alert("Attenzione!\nIl campo email e\' obbligatorio");
		return false;
	}

	if (!isEmail(mioform.email.value)) {
		alert("Attenzione!\nIl formato del campo email non e\' corretto.");
		return false;
	} 
  	if (mioform.telefono.value=='') {
		alert("Attenzione!\nInserire un numero telefonico");
		return false;
	}
  if (!isNumeric(mioform.telefono.value)) {
  	alert("Attenzione!\nIl formato del campo telefono non e\' corretto.");
  	return false;
  }


    	if (mioform.messaggio.value=='') {
		alert("Attenzione!\nIl campo messaggio e\' obbligatorio");
		return false;
	}
     	if (mioform.chk1.checked==false) {
		alert("Attenzione!\nE' necessario autorizzare il trattamento dei dati personali.");
		return false;	
	
	}    
}


function Search(mioform) {

	if (!sizeIs(mioform.ricerca.value)) {
		alert("Attenzione!\nDigitare una parola con almeno 3 caratteri.");
		return false;
	} 
	
}	
