﻿
//Just one expanded node, all other will collaps
function TreeView_ToggleNode(data, index, node, lineType, children) {
    if (!data) {
        return;
    }
    var img = node.childNodes[0];
    var newExpandState;
    try {
        //***Collapse Brothers-----
        CollapseBrothers(data, children);
        //---------------------------------------

        if (children.style.display == "none") {
            children.style.display = "block";
            newExpandState = "e";
            if ((typeof (img) != "undefined") && (img != null)) {
                if (lineType == "l") {
                    img.src = data.images[15];
                }
                else if (lineType == "t") {
                    img.src = data.images[12];
                }
                else if (lineType == "-") {
                    img.src = data.images[18];
                }
                else {
                    img.src = data.images[5];
                }
                img.alt = data.collapseToolTip.replace(/\{0\}/, TreeView_GetNodeText(node));
            }
        }
        else {
            children.style.display = "none";
            newExpandState = "c";
            if ((typeof (img) != "undefined") && (img != null)) {
                if (lineType == "l") {
                    img.src = data.images[14];
                }
                else if (lineType == "t") {
                    img.src = data.images[11];
                }
                else if (lineType == "-") {
                    img.src = data.images[17];
                }
                else {
                    img.src = data.images[4];
                }
                img.alt = data.expandToolTip.replace(/\{0\}/, TreeView_GetNodeText(node));
            }
        }
    }
    catch (e) { }
    data.expandState.value = data.expandState.value.substring(0, index) + newExpandState + data.expandState.value.slice(index + 1);
}

//Collapse Brothers
function CollapseBrothers(data, childContainer) {
    var parent = childContainer.parentNode;
    for (var i = 0; i < parent.childNodes.length; i++) {
        if (!parent.childNodes[i].tagName) {
            continue;
        }

        

        if (parent.childNodes[i].tagName.toLowerCase() == "div") {
            if (parent.childNodes[i].id != childContainer.id) {
                parent.childNodes[i].style.display = "none"
            }
        }
        else if (parent.childNodes[i].tagName.toLowerCase() == "table") {
            var treeLinks = parent.childNodes[i].getElementsByTagName("a");
            //if (treeLinks.length > 2) {
                var j = 0;
                if (treeLinks[j].firstChild.tagName) {
                    if (treeLinks[j].firstChild.tagName.toLowerCase() == "img") {
                        var img = treeLinks[j].firstChild;
                        if (i == 0)
                            img.src = data.images[8];
                        else if (i == parent.childNodes.length - 2)
                            img.src = data.images[14];
                        else
                            img.src = data.images[4];
                    }
                }
            //}
        }
    }
}
//-----------------------------------------------------------------------------

