if(document.all && !document.getElementById) { //IE4 support
  document.getElementById = function(id) { return document.all[id]; }
}
function toggle(box,theId) {
  var el;
  if(document.getElementById) {
    var row = document.getElementById(theId);
    var f = row;
    while(f.tagName.toLowerCase() != 'form') {
      if(f.parentNode) f=f.parentNode;
      else if(f.parentElement) f=f.parentElement; //IE4 support
      if(f.tagName.toLowerCase() == 'body') {
        alert('ERROR: looped to find <'+'body'+'>'); return;
      }
    }
    for(var i=0;i<f.elements.length;i++) {
      if(f.elements[i].tagName.toLowerCase() == 'input')
        //the if condition above is to compensate for an NS6.0 bug.
        if(f.elements[i].type.toLowerCase() == 'radio')
          if(f.elements[i].name.toLowerCase().indexOf('pkg')!=-1) {
            el=f.elements[i];
            while(el.tagName.toLowerCase() != 'td') {
              if(el.parentNode) el=el.parentNode;
              else if(el.parentElement) el=el.parentElement; //IE4 support
              if(el.tagName.toLowerCase() == 'form') {
                alert('ERROR: looped to find <'+'form'+'>'); return;
              }
            }
          if(box != el) { el.className = "off"; }
          }
    }
    row.className = (box.checked)?"on":"off";
  }
}
