﻿function $(id){return document.getElementById(id);}

function treeMenu(varID, treeID, treeName, treePath, autoclose){
    var _tree = $(treeID);
    var _name = treeName;
    var _path = typeof(treePath)=='undefined' ? '' : treePath;
    var _autoclose = typeof(autoclose)=='undefined' ? true : autoclose;
    var _lastNodeID = null;

    this._showhide = function(objID, pstr){
    	var submenu = $(_name+'_s_'+objID);
    	if (submenu==null) return;
    	submenu.style.display = submenu.style.display=='none' ? '' : 'none';
    	if (!_autoclose) return;
    	if ((','+pstr+',').indexOf(','+_lastNodeID+',')>=0) return;
    	if (_lastNodeID!=null){
    		submenu = $(_name+'_s_'+_lastNodeID);
    		if (submenu) submenu.style.display = 'none';
    	}
    	if (_lastNodeID==objID) _lastNodeID = null;
    	else _lastNodeID = objID;
    }

    this._onclick = function(ref){
        return function(){eval(varID)._showhide(ref[0],ref[1]);}
    }

    var lis = _tree.getElementsByTagName('li');
    for (var i=0; i<lis.length; i++){
        var ref = lis[i].getAttribute('ref');
        if (ref==null) continue;
        ref = ref.split('|');
        if (ref.length<2) {ref.push('')}
        lis[i].onclick = this._onclick(ref);
    }

	var ppath = _path.split(',');
	if (_path!='') _lastNodeID = ppath[0];
	for(var i=0; i<ppath.length; i++){
		var submenu = $(_name+'_s_'+ppath[i]);
		if(submenu) submenu.style.display='';
	}
}