function ControllaPIVA(iva)
{
	if( iva == '' )  return 'Il campo PARTITA IVA è obbligatorio';
	if( iva.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( iva.charAt(i) ) == -1 )
			return "La partita IVA contiene un carattere non valido `" +
				iva.charAt(i) + "'.\nI caratteri validi sono le cifre.\n";
	}
	s = 0;
	for( i = 0; i <= 9; i += 2 )
		s += iva.charCodeAt(i) - '0'.charCodeAt(0);
	for( i = 1; i <= 9; i += 2 ){
		c = 2*( iva.charCodeAt(i) - '0'.charCodeAt(0) );
		if( c > 9 )  c = c - 9;
		s += c;
	}
	if( ( 10 - s%10 )%10 != iva.charCodeAt(10) - '0'.charCodeAt(0) )
		return "La partita IVA non è valida:\n" +
			"il codice di controllo non corrisponde.\n";
	return '';
}

function ControllaCODFIS(iva)
{
    var validi, i, s, set1, set2, setpari, setdisp;
    if( iva == '' )  return 'Il campo CODICE FISCALE è obbligatorio';
    iva = iva.toUpperCase();
    if( iva.length != 16 )
        return "La lunghezza del codice fiscale non è\n"
        +"corretta: il codice fiscale dovrebbe essere lungo\n"
        +"esattamente 16 caratteri.\n";
    validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    for( i = 0; i < 16; i++ ){
        if( validi.indexOf( iva.charAt(i) ) == -1 )
            return "Il codice fiscale contiene un carattere non valido `" +
                iva.charAt(i) +
                "'.\nI caratteri validi sono le lettere e le cifre.\n";
    }
    set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
    setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
    s = 0;
    for( i = 1; i <= 13; i += 2 )
        s += setpari.indexOf( set2.charAt( set1.indexOf( iva.charAt(i) )));
    for( i = 0; i <= 14; i += 2 )
        s += setdisp.indexOf( set2.charAt( set1.indexOf( iva.charAt(i) )));
    if( s%26 != iva.charCodeAt(15)-'A'.charCodeAt(0) )
        return "Il codice fiscale non è corretto:\n"+
            "il codice di controllo non corrisponde.\n";
    return "";
}

function conf_invio() {
		
     var user  	   = document.form1.user.value;
     var nome      = document.form1.nome.value;
     var ragsoc      = document.form1.ragsoc.value;	 
     var cognome   = document.form1.cognome.value;	 
     var indirizzo = document.form1.indirizzo.value;
     var comune		= document.form1.comune.value;	 
     var cap		= document.form1.cap.value;	 	 	 
     var email     = document.form1.email.value;	 
	 var iva 	   = document.form1.iva.value;
	 var autorizzazione  = document.form1.autorizzazione.value;	 
     err = ControllaPIVA(iva);	
     var mail_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;

		if ((user == "") || (user == "undefined") || (user.length<"6")) {
           alert("Il campo USER deve essere almeno di 6 caratteri.");
           document.form1.user.focus();
           return false;        }	
        else if (!mail_reg_exp.test(email) || (email == "") || (email == "undefined")) {
           alert("Inserire un indirizzo E-mail corretto.");
           document.form1.email.focus();           
           return false;
        }		   
		else if ((nome == "") || (nome == "undefined")) {
           alert("Il campo NOME è obbligatorio.");
           document.form1.nome.focus();           
           return false;
        }
		else if ((cognome == "") || (cognome == "undefined")) {
           alert("Il campo COGNOME è obbligatorio.");
           document.form1.cognome.focus();           
           return false;
        }	
        else if ((indirizzo == "") || (indirizzo == "undefined")) {
           alert("Il campo INDIRIZZO è obbligatorio.");
           document.form1.indirizzo.focus();           
           return false;
        }	
        else if ((isNaN(cap)) || (cap.length != 5)) {
           alert("Il campo CAP deve essere composto da 5 numeri.");
           document.form1.cap.focus();           
           return false;
        }
        else if ((comune == "") || (comune == "undefined")) {
           alert("Il campo COMUNE è obbligatorio.");
           document.form1.comune.focus();           
           return false;
        }
        else if ((ragsoc == "") || (ragsoc == "undefined")) {
           alert("Il campo RAGIONE SOCIALE è obbligatorio.");
           document.form1.ragsoc.focus();           
           return false;
        }		
		else if ( err > '' ) {
	   alert(err);
	   document.form1.iva.focus();
	   return false;
		}				
        else if (!document.form1.autorizzazione.checked) {
           alert("Selezionare l'autorizzazione dei dati personali."); 	   
           return false;
        } 		
        //INVIA IL form1
        else {
           document.form1.submit();
        }
     
  }
  
function conf_invio_utenti() {
		
     var user  	   = document.form1.user.value;
     var nome      = document.form1.nome.value;
     var ragsoc      = document.form1.ragsoc.value;	 
     var cognome   = document.form1.cognome.value;	 
     var indirizzo = document.form1.indirizzo.value;
     var comune		= document.form1.comune.value;	 
     var cap		= document.form1.cap.value;	 	 	 
     var email     = document.form1.email.value;	 
	 var iva 	   = document.form1.iva.value;
	 var autorizzazione  = document.form1.autorizzazione.value;	 
	 var tipo  = document.form1.tipo[0].checked;	 
	 if(tipo==true) {
     err = ControllaPIVA(iva);	 
	 } else {
	 err = ControllaCODFIS(iva);
	 }
     var mail_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;

		if ((user == "") || (user == "undefined") || (user.length<"6")) {
           alert("Il campo USER deve essere almeno di 6 caratteri.");
           document.form1.user.focus();
           return false;        }	
        else if (!mail_reg_exp.test(email) || (email == "") || (email == "undefined")) {
           alert("Inserire un indirizzo E-mail corretto.");
           document.form1.email.focus();           
           return false;
        }		   
		else if ((nome == "") || (nome == "undefined")) {
           alert("Il campo NOME è obbligatorio.");
           document.form1.nome.focus();           
           return false;
        }
		else if ((cognome == "") || (cognome == "undefined")) {
           alert("Il campo COGNOME è obbligatorio.");
           document.form1.cognome.focus();           
           return false;
        }	
        else if ((indirizzo == "") || (indirizzo == "undefined")) {
           alert("Il campo INDIRIZZO è obbligatorio.");
           document.form1.indirizzo.focus();           
           return false;
        }	
        else if ((isNaN(cap)) || (cap.length != 5)) {
           alert("Il campo CAP deve essere composto da 5 numeri.");
           document.form1.cap.focus();           
           return false;
        }
        else if ((comune == "") || (comune == "undefined")) {
           alert("Il campo COMUNE è obbligatorio.");
           document.form1.comune.focus();           
           return false;
        }
        else if ((ragsoc == "") && (tipo == true)) {
           alert("Il campo RAGIONE SOCIALE è obbligatorio.");
           document.form1.ragsoc.focus();           
           return false;
        }		
		else if ( err > '' ) {
	   alert(err);
	   document.form1.iva.focus();
	   return false;
		}				
        else if (!document.form1.autorizzazione.checked) {
           alert("Selezionare l'autorizzazione dei dati personali."); 	   
           return false;
        } 		
        //INVIA IL form1
        else {
           document.form1.submit();
        }
     
  }  
