ho buttato giu questo, vedi se fa al caso tuo
codice:
<script type="text/javascript">
var arrCol=new Array();

function selectMessages(n,color) { 
  var checked=document.forms['frmMessages'].elements['chbMsgId'+n].checked;
  arrCol[n]=color; 
  var rowStyle=document.getElementById('row'+n).style; 
  rowStyle.backgroundColor=(checked)?"#61c1e7":arrCol[n]; 
}

function selectAll(checked) { 
  var n = 1;
  while(document.getElementById('row'+n)) {
    var obj=document.forms['frmMessages'].elements['chbMsgId'+n]
    var rowAllStyle=document.getElementById('row'+n).style;
    if(obj.checked!=checked){
      obj.checked=checked;
      selectMessages(n, ((checked)?rowAllStyle.backgroundColor:arrCol[n]));
    }
    n++;
  }
}
</script>
<form name="frmMessages">
<div id="row1" style="background-color:#ff0000"><input type="checkbox" name="chbMsgId1" onclick="selectMessages(1,'#ff0000')" /> row 1</div>
<div id="row2" style="background-color:#00ff00"><input type="checkbox" name="chbMsgId2" onclick="selectMessages(2,'#00ff00')" /> row 2</div>
<div id="row3" style="background-color:#0000ff"><input type="checkbox" name="chbMsgId3" onclick="selectMessages(3,'#0000ff')" /> row 3</div>
<input type="checkbox" name="chbSelectAll" onclick="selectAll(this.checked)" /> seleziona/deseleziona tutti
</form>
ciao