function validation(modulo){

	var errMsg = "Attenzione!! Devi specificare \n";
	
	var validData = true;
	
   if(modulo.UTENTE__NOME.value == "")
	{
   	errMsg += "\n - Nome Utente";
      validData = false;
   }
   if(modulo.UTENTE__COGNOME.value == "")
	{
		errMsg += "\n - Cognome Utente";
		validData = false;
	}   
	 if(modulo.UTENTE__DATANASCITA.value == "")
	{
		errMsg += "\n - Data di nascita";
		validData = false;
	}  
  
  
  
  
  
     		
  
  
  var espressione = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;
  if (!espressione.test(modulo.UTENTE__DATANASCITA.value)){	
    errMsg += "\n - Formato data errato (gg/mm/aaaa)";
		validData = false;
  }
  
   if(modulo.UTENTE__LUOGONASCITA.value == "")
	{
		errMsg += "\n - Luogo di nascita";
		validData = false;
	}   	
        			
	if(modulo.UTENTE__CF.value == "")
	{
		errMsg += "\n - Codice fiscale";
		validData = false;
	}
	
	
	
	
	 caratteri= new Array ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
   pari= new Array (0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25)
   dispari=new Array (1,0,5,7,9,13,15,17,19,21,1,0,5,7,9,13,15,17,19,21,2,4,18,20,11,3,6,8,12,14,16,10,22,25,24,23)
   cod=modulo.UTENTE__CF.value.toLowerCase();
   check=true;
   if (cod.length!=16){
      check=false
      }
     else
      {
      lettere=cod.substr(0,6)+cod.substr(8,1)+cod.substr(11,1)+cod.substr(15);
      numeri=cod.substr(6,2)+cod.substr(9,2)+cod.substr(12,3);
      for (i=0;i<10;i++){
         if (lettere.charCodeAt(i)<97 || lettere.charCodeAt(i)>122){
            check=false;}
      }
      for (i=0;i<8;i++){
         if (numeri.charCodeAt(i)<48 || numeri.charCodeAt(i)>57){
            check=false;
         }
      }   
     }
   //checksum del codice fiscale
   test=cod.substr(15,1);
   var somma=0
   for (i=0;i<16;i=i+2){ //dispari
       carattere=cod.substr(i,1)
       for (k=0;k<36;k++){
          if (carattere==caratteri[k]){
             somma=somma+dispari[k]
             break
          }
       }
    }
    for (i=1;i<15;i=i+2){ //pari
       carattere=cod.substr(i,1)
       for (k=0;k<36;k++){
          if (carattere==caratteri[k]){
             somma=somma+pari[k]
             break
          }
       }
    }
   resto=somma % 26;
   var lettera=String.fromCharCode(97+resto);            
   if ((test != lettera)||(check==false)){
      	errMsg += "\n - Codice fiscale errato";
		    validData = false;
   }   
          			
	if(modulo.UTENTE__INDIRIZZO.value == "")
        {
		errMsg += "\n - Indirizzo";
		validData = false;
	}
	
	 if(modulo.UTENTE__CITTA.value == "")
	{
		errMsg += "\n - Cittā";
		validData = false;
	} 
	    
	 if(modulo.UTENTE__CAP.value == "")
	{
		errMsg += "\n - Cap";
		validData = false;
	}  
	
	 if(modulo.UTENTE__REGIONERESIDENZA.value == "")
	{
		errMsg += "\n - Regione di residenza";
		validData = false;
	}  
	
	 if(modulo.UTENTE__PROV.value == "")
	{
		errMsg += "\n - Provincia";
		validData = false;
	}  

	 if(modulo.UTENTE__TIPO.value == "")
	{
		errMsg += "\n - Tipo utente";
		validData = false;
	} 
	
	 if(modulo.UTENTE__PROFESSIONE.value == "")
	{
		errMsg += "\n - Professione";
		validData = false;
	} 
   
  if((document.utente.UTENTE__PROFESSIONE.options[document.utente.UTENTE__PROFESSIONE.selectedIndex].value!="TSB")){
   
    if((document.utente.UTENTE__PROFESSIONE.options[document.utente.UTENTE__PROFESSIONE.selectedIndex].value!="BIO")){
    
        if((document.utente.UTENTE__PROFESSIONE.options[document.utente.UTENTE__PROFESSIONE.selectedIndex].value!="CHI")){
   
          	var controllo=0;
            for (counter = 0; counter < document.utente.UTENTE__SPECIALIZZATO.length; counter++){ 
            	
                 if (document.utente.UTENTE__SPECIALIZZATO[counter].checked){ 
                 	controllo = 1;
                 } 
            } 
            if (controllo==0){
            	errMsg += "\n - Specializzato";
          		validData = false;
            } 
          	
          	 if(modulo.UTENTE__SPECIALIZZAZIONE.value == "")
          	{
          		errMsg += "\n - Specializzazione";
          		validData = false;
          	}   
          	
          	 if(modulo.UTENTE__NUMEROALBO.value == "")
          	{
          		errMsg += "\n - Numero albo";
          		validData = false;
          	}   
          	
          	 if(modulo.UTENTE__PROVALBO.value == "")
          	{
          		errMsg += "\n - Provincia albo";
          		validData = false;
          	}
         }
      } 
   }  
	    
	 if(modulo.UTENTE__TEL.value == "")
	{
		errMsg += "\n - Telefono";
		validData = false;
	}  
	
	if(modulo.UTENTE__EMAIL.value == "")
	{
		errMsg += "\n - Email";
		validData = false;
	}             
	
        var regularExp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/
	if (!regularExp.test(modulo.UTENTE__EMAIL.value)) {
		errMsg += "\n - L'indirizzo E-Mail non č valido";
		validData = false;
	}
	if(modulo.UTENTE__USERID.value == "")
	{
		errMsg += "\n - User Id";
		validData = false;
	} 
	
	
	if(modulo.UTENTE__PWD.value == "")
	{
		errMsg += "\n - Password";
		validData = false;
	}   
	
	if(modulo.UTENTE__CONFPWD.value == "")
	{
		errMsg += "\n - Conferma Password";
		validData = false;
	}        
	
	if(modulo.UTENTE__PWD.value != modulo.UTENTE__CONFPWD.value)
	{
		errMsg += "\n - Password e conferma password non coincidono";
		validData = false;
	} 
  
      
	 
	if (validData){
		return true;
	}else{
		alert(errMsg);
		return false;
	}
}      

