Salve a tutti
Ho scritto questo codice:

codice:
$(document).ready(function(){  
 $("#checkbox_form").click( function(){      
    if( $(this).is(':checked') && $('#nome_mittente').val() && $('#email_mittente').val() ) {
       
$('#email_mittente').focusout(function(){
   $('#email_mittente').filter(function(){
   var emil=$('#email_mittente').val();
   var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
   if( !emailReg.test( emil ) ) {
     $('#invia_messaggio').attr('disabled','disabled');
   } else {
   $('#invia_messaggio').removeAttr('disabled');
  }
})                
});
       
       
    } else {
       $('#invia_messaggio').attr('disabled','disabled');      
    }
    }); 
    
 $("#nome_mittente").click( function(){
    if( $(this).is(':checked') && $("#checkbox_form").is(':checked') && $('#email_mittente').val() ) {


$('#email_mittente').focusout(function(){
   $('#email_mittente').filter(function(){
   var emil=$('#email_mittente').val();
   var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
   if( !emailReg.test( emil ) ) {
     $('#invia_messaggio').attr('disabled','disabled');
   } else {
   $('#invia_messaggio').removeAttr('disabled');
  }
})                
});




       } else {
      $('#invia_messaggio').attr('disabled','disabled');         
     }
   });
   
  $("#email_mittente").click( function(){
    if( $(this).is(':checked') && $("#checkbox_form").is(':checked') && $('#nome_mittente').val()) {


$('#email_mittente').focusout(function(){
   $('#email_mittente').filter(function(){
   var emil=$('#email_mittente').val();
   var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
   if( !emailReg.test( emil ) ) {
     $('#invia_messaggio').attr('disabled','disabled');
   } else {
   $('#invia_messaggio').removeAttr('disabled');
  }
})                
});


       } else {
       $('#invia_messaggio').attr('disabled','disabled');         
     }
    }); 
  });   
  
$("#email_mittente").on("change paste keyup", function() {   
      
$('#email_mittente').focusout(function(){
   $('#email_mittente').filter(function(){
   var emil=$('#email_mittente').val();
   var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
   if( !emailReg.test( emil ) ) {
     $('#invia_messaggio').attr('disabled','disabled');
   } else {
   $('#invia_messaggio').removeAttr('disabled');
  }
})                
});
     
});
Non funziona molto bene, dipende cosa compilo non funziona.
Devo attivare il button se vi sono queste 3 condizioni:
1) Nome > 0 (lunghezza) o diverso da 0 (carattere)
2) Email (verifica format email)
3) Checkbox checked

Scusate se mi sono spiegato male, fatemi sapere se avete capito.
Cosa sbaglio? Come posso risolvere?
Grazie in anticipo