﻿// $Revision: 2552 $
function ToggleHighlight(tree, rootId, id) {
	var url = new Url(LOADSCRIPT_URL);
	url.Append("command", "togglehighlight");
	url.Append("tree", tree);
	url.Append("rootid", rootId);
	url.Append("id", id);
	LoadScript(url.toString());
}

function SetTreeLabelWidth(id) {
	if (isIE) {
		return;
	}
    try {
        var treenode = getElement(unEscape(id));
        if (treenode == null || treenode.offsetWidth == null) {
            return;
        }
        var foldspanwidth = 0;
        var checkboxwidth = 0;
        var labels = GetDescendentsByTagNameAndClassName(treenode, "div", "label");
        if (labels.length > 0) {
			var label = labels[0];
			var parent = label.parentNode;
			for (var i = 0; i < parent.childNodes.length; i++) {
				var child = parent.childNodes[i];
				if (child.tagName == null) {
					continue;
				}
				switch (child.tagName.toLowerCase()) {
					case "img":
						if (ContainsStyleClass(child, "checkbox")) {
							checkboxwidth = child.offsetWidth;
						}
						break;
					case "span":
						if (ContainsStyleClass(child, "fold")) {
							foldspanwidth = child.offsetWidth;
						}
						break;
				}
			}
			for (i = 0; i < labels.length; i++) {
				label = labels[i];
				parent = label.parentNode;
				if (parent == null || parent.offsetWidth <= 0) {
					continue;
				}
				var maxwidth = parent.offsetWidth - checkboxwidth - foldspanwidth - 15;
				label.style.maxWidth = maxwidth + "px";
			}
        }
    } catch (e) {
        errorReporter.Report("Tree.js", "SetTreeLabelWidth(\"" + id + "\")", e);
    }
}
