opino que hay que rehacer todo tu codigo porque tu codigo no se puede corregir con pocos cambios. basicamente lo que se necesita es verificar el estado de todos los checkbox, si al menos uno esta marcado se habilita el boton, de lo contrario se inhabilita. en la siguiente funcion le pasas dos argumentos: la coleccion de checkbox y la referencia del boton.
Código:
function enableDisable(collection, control){
for(var i = 0; collection[i]; i++) if(collection[i].checked){ // si al menos uno esta marcado;
control.disabled = false;
return; // salir del bucle y funcion ya que no es necesario verificar el resto de los checkbox;
}
control.disabled = true;
}
para implementarlo, la forma mas facil es tener todos los checboxes en un elemento contenedor, en este elemento defines el evento onclick. a la misma vez de este elemento vas a obtener la coleccion de checkboxes. el siguiente ejemplo muestra como se implementa.
Código:
<div onclick="enableDisable(this.getElementsByTagName('input'), document.getElementById('button'))">
<input type="checkbox" ... />
<!-- mas de un checkbox -->
</div>
con este ejemplo no tienes que repetir la funcion en cada checkbox. la porcion en rojo varia segun como debes obtener la referencia del boton. por ejemplo en tu caso podria ser algo como
parent.document.form_name.submit_name.