The HTML is just that. Nothing special other than adding a unique ID value for each row.
The onclick in each checkbox calls on the setreset() function in the JS function described below.
The <body onload=...> is replaced by the "window.onload = function() ..." on startup.
The JS has only two functions: CheckList() and setreset().
Each used the same parameters passed.
The IDS relates to the unique row ids in each <tr> tag of the table.
The setreset() function just changes the CSS display parameter for each IDS specified.
The flag parameter is just true or false depending upon the checkbox.checked value.
The CheckList() function just collect all the <input...> tags in the variable 'sel'
'sel' is SIMILAR to an array, but in this context is called a collection.
Each 'sel' points to each of the <input type="checkbox" ...>s in the <fieldset> tag.
Again, CSS parameters are set (true) or reset (false), depending upon the 'flag' setting passed.
Let me know if that is not clear enough.
You should be able to google each of the commands for further explanations,
but speak up if you continue to have problems