/*TREE MENU*/
var treeMenuClick = function() {

    var ulEls = this.parentNode.getElementsByTagName("ul");
    for (var i = 0; i < ulEls.length; i++) {
        var ulObj = ulEls[i];
        if (ulObj.parentNode == this.parentNode) {
            if (this.src != null && (this.src.indexOf("plus") != -1 || this.src.indexOf("minus") != -1))
                this.src = ulObj.style.display != 'none' ? window.urlpath + "/layout/sa/plus.png" : window.urlpath + "/layout/sa/minus.png";
                
            ulObj.style.display = ulObj.style.display != 'none' ? 'none' : 'block';
        }

    }

}
function createTreeMenu(ulMenu,head) {
   
    var ulEl = ulMenu.getElementsByTagName("ul");
    var liEl = ulMenu.getElementsByTagName("li");

    displayObjects(false, ulEl);

    for (var i = 0; i < liEl.length; i++) {
        var el = liEl[i];
        var childNodes = getChildNodes(el);
        if (el.parentNode != ulMenu || !head) {
            var image = document.createElement('img');
            image.src = childNodes.length == 1 ? window.urlpath + "/layout/sa/list.png?" : window.urlpath + "/layout/sa/plus.png?";
            image.className = "treeMenuIcon";
            el.insertBefore(image, childNodes[0]);

            if (childNodes.length > 1) {
                image.onclick = treeMenuClick;
            }

        }
        else {
            childNodes[0].onclick = treeMenuClick;
            childNodes[1].onclick = treeMenuClick;


        }
        
        
        //  el.style.display = "none";
    }

    var liOpen = document.getElementById("menuItemOpener");
    var obj = liOpen;

    if (obj != null) {

        var ulsublist = liOpen.getElementsByTagName("ul");        
        if(ulsublist.length>0)
            ulsublist[0].style.display = 'block';
            
        while (obj != ulMenu) {
            switch (obj.tagName) {
                case "UL":
                    obj.style.display = 'block';
                    break;
                case "LI":
                    var childs = getChildNodes(obj);
                    if (childs.length > 0 && childs[0].src != null && childs[0].src.indexOf("list") == -1 && childs[0].src.indexOf("menu") == -1)
                        childs[0].src = window.urlpath + "/layout/sa/minus.png?";
                    break;
            }
            obj = obj.parentNode;
        }
        
    }
}
function getChildNodes(obj) {

    var elements = new Array();
    var i = 0;
    for (var j = 0; j < obj.childNodes.length; j++) {
        if (obj.childNodes[j].nodeType == 1) {
            elements[i] = obj.childNodes[j];
            i++;
        }

    }
    return elements;


}
function displayObjects(visible, objects) {
    for (var i = 0; i < objects.length; i++) {
        var el = objects[i];
        el.vis = visible;
        if (!visible)
            el.style.display = "none";
        else
            el.style.display = "block";
    }

}
