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', ''); } } } }