function ControllaCODFIS(codfis)
{
    var validi, i, s, set1, set2, setpari, setdisp;
    if( codfis == '' )  return 'Il campo CODICE FISCALE è obbligatorio';
    codfis = codfis.toUpperCase();
    if( codfis.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( codfis.charAt(i) ) == -1 )
            return "Il codice fiscale contiene un carattere non valido `" +
                codfis.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( codfis.charAt(i) )));
    for( i = 0; i <= 14; i += 2 )
        s += setdisp.indexOf( set2.charAt( set1.indexOf( codfis.charAt(i) )));
    if( s%26 != codfis.charCodeAt(15)-'A'.charCodeAt(0) )
        return "Il codice fiscale non è corretto:\n"+
            "il codice di controllo non corrisponde.\n";
    return "";
}

function ricambio() {
		 var tipo=document.form1.tipot[0];
		 if(tipo.checked==true) {
			document.form1.ragsoc.value="";
			document.form1.ragsoc.disabled=true;
			document.form1.ragsoc.className="seln";
			document.form1.iva.value="";
			document.form1.iva.disabled=true;
			document.form1.iva.className="seln";
		 } else {
			document.form1.ragsoc.disabled=false;
			document.form1.iva.disabled=false;			
			document.form1.ragsoc.className="sel";
			document.form1.iva.className="sel";
		 }
}

function conf_invio() {
		
     var user  	   = document.form1.username.value;
     var nome      = document.form1.nome.value;
     var ragsoc      = document.form1.ragsoc.value;	 
     var cognome   = document.form1.cognome.value;	 
	 var tipo=document.form1.tipot[1]; 
     var indirizzo = document.form1.indirizzo.value;
     var comune		= document.form1.comune.value;
     var telefono		= document.form1.telefono.value;	 
     var cap		= document.form1.cap.value;	 	 	 
     var email     = document.form1.email.value;
	 var nazione     = document.form1.nazione.value;
	 var autorizzazione  = document.form1.autorizzazione.value;	 
     var mail_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
	 var codfis 	   = document.form1.codfis.value;
	 var iva 	   = document.form1.iva.value;
	 err = ControllaCODFIS(codfis);

		if ((user == "") || (user == "undefined") || (user.length<"6")) {
           alert("Il campo USER deve essere almeno di 6 caratteri.");
           document.form1.username.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 ((tipo.checked == true) && (ragsoc == "")) {
           alert("Il campo RAGIONE SOCIALE è obbligatorio.");
           document.form1.ragsoc.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 ((tipo.checked==false) && (err > '')) {
	   alert(err);
	   document.form1.codfis.focus();
	   return false;
		}
		else if ((tipo.checked == true) && (codfis == "")) {
		alert("Il campo CODICE FISCALE è obbligatorio.");
	   document.form1.codfis.focus();
	   return false;
		}			
		else if ((iva == "")  && (tipo.checked == true)) {
	   alert("La Partita IVA è obbligatoria.");
	   document.form1.iva.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")) && nazione=="2") {
           alert("Il campo COMUNE è obbligatorio.");
           document.form1.comune.focus();           
           return false;
        }
        else if ((telefono == "") || (telefono == "undefined")) {
           alert("Il campo TELEFONO è obbligatorio.");
           document.form1.telefono.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();
        }
     
  }
