tengo un menu arbol en tres niveles cada nivel con un check box como puedo hacer para que al marcar los checkbox principales se maquen los checkbox dependientes y que al estar marcados mas de un checkbox secundario el principal quede marcado y lo mismo para desmarcar el formato es el siguiente
-->nivel 1
----> nivel 1.1
----> nivel 1.1.1
----> nivel 1.1.2
----> nivel 1.2
-->nivel 2