Despues de estar revisando de pies a cabeza tu formulario, me di cuenta, que nunca haces referencia al nombre del formulario que contiene tu checkbox
Código PHP:
var todos = document.forms[0].getElementsByTagName('input');
se llama forms, tu formulario??????, si no es asi usa
Código PHP:
var todos = document.form[0].getElementsByTagName('input');
o asignale un nombre a tu formulario, saludos, tu codigo ya funciona en mi equipo.....
y tambien usa el codigo que te pase anteriormente, tambien tenias error ahi.... salu2....