Non puoi fare così dato che lo scope è completamente diverso. Dovresti riscivere l'intera funzione.
Io farei così:

codice:
window.onload = function(){
  var allInputs = document.getElementsByTagName('input');
  for(var i = 0; i < allInputs.length; i++){
     var inp = allInputs[i];
     if(i.type.toLowerCase() == 'checkbox'){
        inp.onclick = function(){
            showHide(this, 'gianni', '');
        }
     }
  } 
}