function cssTree()
{
    this.treeId = "";
    this.node = -1;
    
    /* css class */
    this.offClass = "offImg";     
    this.onClass = "onImg";   
    this.lineClass = "lineImg";
    
    this._clickHandler = null;
}
 
cssTree.prototype =
{
    zmenStav : function(e)
    {
	    var obj = e.target.parentNode.getElementsByTagName("ul")[0];

	    if(obj.className == "on")
	    {
	        obj.className = "off";
	        e.target.className = this.offClass;
	    }
	    else
	    {
	        obj.className = "on";
	        e.target.className = this.onClass;
	    }
    },

    init : function()
    {
    
        this._clickHandler = Function.createDelegate(this, this.zmenStav);        
        //this._clickHandler = this.zmenStav;
	    var li = document.getElementById(this.treeId).getElementsByTagName("li");
	    for(var n = 0; n < li.length; n++)
	    {
		    var imgAdd = document.createElement("span");
		    li[n].insertBefore(imgAdd, li[n].getElementsByTagName('a')[0]);
		    if(li[n].getElementsByTagName('ul').length)
		    {
			    imgAdd.className=this.offClass;
			    //imgAdd.onclick = this.zmenStav
                //imgAdd.onclick = this._clickHandler;
                //imgAdd.setAttribute("onclick", "csstree.zmenStav(window.event)");
                $addHandler(imgAdd, "click", this._clickHandler);
			    //imgAdd.style.cursor = "pointer";
		    }
		    else
			    imgAdd.className=this.lineClass;
	    }

	    this.rozbalIndex()
    },

    rozbalIndex : function()
    {
		if(this.node == -1) return
		if(this.node.constructor != Array) this.node = [ this.node ]
		var currNode
		var ulList

		for(var n in this.node)
		{
			currNode = document.getElementById("s"+this.node[n])
			currNode.className = "sel"
			do
			{
				ulList = currNode.getElementsByTagName("ul");
				if( ulList.length > 0 )
				{
					ulList[0].className = "on";
					currNode.getElementsByTagName("span")[0].className = this.onClass;
				}
				currNode = currNode.parentNode.parentNode;
			}
			while(currNode.tagName == "LI")
		}
    }
}
