code: function expandCollapseList(ul,cName,itemId) {
  	if (!ul.childNodes || ul.childNodes.length==0) { return false; }
  	// Iterate LIs
  	for (var itemi=0;itemi<ul.childNodes.length;itemi++) {
  		var item = ul.childNodes[itemi];
  		if (itemId!=null && item.id==itemId) { return true; }
  		if (item.nodeName == "LI") {
  			// Iterate things in this LI
  			var subLists = false;
  			for (var sitemi=0;sitemi<item.childNodes.length;sitemi++) {
  				var sitem = item.childNodes[sitemi];
  				if (sitem.nodeName=="UL") {
  					subLists = true;
  					var ret = expandCollapseList(sitem,cName,itemId);
  					if (itemId!=null && ret) {
  						item.className=cName;
  						return true;
  					}
  				}
  			}
  			if (subLists && itemId==null) {
  				item.className = cName;
  			}
  		}
  	}
  }
docs: Performs 3 functions: a) Expand all nodes b) Collapse all nodes c) Expand all nodes to reach a certain ID