function toggleNode (id, forceShow) {
	// make sure the parent is open, too
	idStr = new String (id);
	pos1 = idStr.indexOf ('-');
	pos2 = idStr.lastIndexOf ('-');
	if (pos1 != pos2) {
		parentId = idStr.substr (0, pos2);
		toggleNode (parentId, true);
	}
	imgName = "IMG"+id;
	str = new String (document.getElementById(imgName).src);
	if (str.indexOf('folder2.gif') != -1 || forceShow) {
		document.cookie = "DocManOpenNode="+id;
		document.getElementById(imgName).src = "/wilson/Images/folder.gif";
		obj = document.getElementById (id);
		idx = 0;
		name = id + "-" + idx;
		obj = document.getElementById (name);
		while (obj) {
			obj.style.display = "";
			idx++;
			name = id + "-" + idx;
			obj = document.getElementById (name);
		}	
		idx = 0;
		name = id + "F-" + idx;
		obj = document.getElementById (name);
		while (obj) {
			obj.style.display = "";
			idx++;
			name = id + "F-" + idx;
			obj = document.getElementById (name);
		}
	} else {
		closeNode (id);
	}
}

function closeNode (id) {
	imgName = "IMG"+id
	document.getElementById(imgName).src = "/wilson/Images/folder2.gif";
	var idx;
	idx = 0;
	name = id + "-" + idx;
	obj = document.getElementById (name);
	while (obj) {
		obj.style.display = "none";
		closeNode (name);
		idx++;
		name = id + "-" + idx;
		obj = document.getElementById (name);
	}	
	idx = 0;
	name = id + "F-" + idx;
	obj = document.getElementById (name);
	while (obj) {
		obj.style.display = "none";
		idx++;
		name = id + "F-" + idx;
		obj = document.getElementById (name);
	}
	document.cookie = "DocManOpenNode="+id;
}
