// ####  Tree code:Start #### //
function Tree(sTreeId)
{
	var oTree = document.getElementById(sTreeId);
	var thisTree = this;
	var _nodes = oTree.getElementsByTagName("a");
	var oSelectedNode;
	var hdnSelectedIndexHolder = document.getElementById("ctl00_ctl00_menyDiv_SelectedIndex");//sTreeId + "_SelectedIndex"); 
	//var intSelectedIndexId = hdnSelectedIndexHolder.value;
	
	for(i=0; i<_nodes.length; i++){
		
		var currentNode = _nodes[i];
		
		if(CheckHasChildren(currentNode)){
			SetNodeStyleHaveChildren(currentNode, 0);
		}else{
			SetNodeStyleHaveNotChildren(currentNode);
		}
		
		currentNode.IndexId = i; 
		hdnSelectedIndexHolder.value = this.IndexId;

		currentNode.onclick = function(){
			
			var navTopNode = this.parentNode;
			var navSubNodes = navTopNode.getElementsByTagName("ul")[0];
			hdnSelectedIndexHolder.value = this.IndexId;
			
			if(navSubNodes != undefined){
				
				if(this.state == "open"){
					if(this.hasChildren)
						SetNodeStyleHaveChildren(this, 0);
					
					navSubNodes.style.display = "None";
					this.state = "closed";
				}else{
					if(this.hasChildren)
						SetNodeStyleHaveChildren(this, 1);
						
					navSubNodes.style.display = "Block";
					this.state = "open";
				}
			}
			
			if(oSelectedNode != undefined && oSelectedNode != this){
				oSelectedNode.className = "nodeNotSelected";
			}
			
			oSelectedNode = this;
			oSelectedNode.className = "nodeSelected";	
			
			
			if(this.href.indexOf("#") != -1)
			{
			    return false;
			}
		}
		
	}
	
	function CheckHasChildren(oNode)
	{
		var navTopNode = oNode.parentNode;
		var navSubNodes = navTopNode.getElementsByTagName("ul")[0];

		if(navSubNodes != undefined){
			return true;
		}else{
			return false;
		}
	}
	
	function SetNodeStyleHaveChildren(oNode, iState){

		var navTopNode = oNode.parentNode;
		
		if(iState == 0){
			navTopNode.className = "MenuItemClosed";
		}
		if(iState == 1){
			navTopNode.className = "MenuItemOpen";
		}
		
		if(oNode.hasChildren == undefined)
			oNode.hasChildren = true;
		
	}

	function SetNodeStyleHaveNotChildren(oNode){
		var navTopNode = oNode.parentNode;
		if(navTopNode.className != "DynMenuLank")
		{
			navTopNode.className = "MenuItemHasParent";
		}else{
			navTopNode.className = "MenuItemHasNotChildren";
		}

	}	
	
	this.SetSelected = function(iIndex){

    	var oNode = _nodes[iIndex];
		oNode.className = "nodeSelected";		
		oSelectedNode = oNode;
		hdnSelectedIndexHolder.value = iIndex;

		while(oNode.tagName != "DIV"){
			if(oNode.className == "MenuItemClosed"){
				var navTopNode = oNode.parentNode;
				var navSubNodes = oNode.getElementsByTagName("ul")[0];
				oNode.className = "MenuItemOpen";
				oNode.state = "open";
				navSubNodes.style.display = "block";
			}

			oNode = oNode.parentNode;
		}
		
	}
	
}
// ####  Tree code:End #### //
