function colorize(id) {
  if(this.visible == true) {
    if(this.bgColor == null) {
      this.bgColor = null;
      this.needsUpdate = true;
    }
    for(var i = 0; i < document.lists.length; i++) {
      document.lists[i].touch = true;
      if(i != id) {
	if(document.lists[i].bgColor == null) {
	  document.lists[i].bgColor = null;
	  document.lists[i].needsUpdate = true;
	}
      }
    }
  }
  var p = this;
  while(p != null) { p.touch = false; p = p.parent; }
  for(var i = 0; i < document.lists.length; i++)
    if(document.lists[i].touch &&
       document.lists[i].visible)
      expand(document.lists[i].id);
}