var TREE_RELOAD_NODE = false;//czy klikniecie na grupe ma powodowac odswiezenie strony
var TREE_EXPAND_ALL = false;

function MenuItem(divObj)
{
	this.divObj;
	this.imgObj;
	this.lnkObj;
	this.url;
	this.id;
	this.idgroup;
	this.idprev;
	this.islast;
	this.imgOpen = "minus3.gif";
	this.imgClose = "plus3.gif";
	this.imgDefault = "last.gif";
		
	this.Init = function()
	{
		this.divObj = divObj;		
		this.id = this.divObj.id;
		var arr = this.id.split("-");
		this.idgroup = arr[0].replace("m","");
		this.idprev = arr[1];
		this.islast = arr[2];		
		this.imgObj = document.getElementById("img_"+this.idgroup);
		this.lnkObj = document.getElementById("lnk_"+this.idgroup);
		this.url = document.getElementById("hdn_"+this.idgroup).value;
		this.divObj.style.display = "block";
	}
	
	this.Visible = function()
	{
		if(this.divObj.style.display == "block")
		{
			this.divObj.style.display="none";
		}
		else
		{
			this.divObj.style.display = "block";
		}
	}
	
	this.Hide = function()
	{
		this.divObj.style.display="none";
	}
	
	this.SetImage = function()
	{
		var src = this.imgObj.src;
		var result = src.search(this.imgClose);
		
		if(result != -1)
		{
			result = src.replace(this.imgClose, this.imgOpen);
		}
		else
		{
			result = src.replace(this.imgOpen, this.imgClose);
		}

		this.imgObj.src = result;
	}
	
	this.Load = function(displayMode, imageNo)
	{
		if(displayMode == 1)
		{
		    this.divObj.style.display = "block";
		}
		else
		{
		    this.divObj.style.display = "none";
		}
		
		var index = this.imgObj.src.lastIndexOf("/");
		var currentImage = this.imgObj.src.substring(index+1);
		
		if(imageNo == 1)
		{
		    this.imgObj.src = this.imgObj.src.replace(currentImage, this.imgOpen);
		}
		if(imageNo == 2)
		{
		    this.imgObj.src = this.imgObj.src.replace(currentImage, this.imgClose);
		}
	}
	
	this.Init();
}

function Menu(idContener, name)
{
	this.contener = document.getElementById(idContener);
	this.arrItems = Array();
	this.name = name;
	
	this.Init = function()
	{
		if(this.contener == null)
		{
			return;
		}
		
		var id="";
		
		for(var i = 0; i < this.contener.childNodes.length; i++)
		{
			var item = new MenuItem(this.contener.childNodes[i]);
			this.arrItems.push(item);				
		}
		
		for(var i = 0; i < this.arrItems.length; i++)
		{
			if(this.arrItems[i].idprev != 0)
			{
				this.arrItems[i].Visible();
				this.arrItems[i].divObj.onmouseover = function(){this.className = "divminsub"};
				this.arrItems[i].divObj.onmouseout = function(){this.className = "divmsub"};
			}
			else
			{
				this.arrItems[i].divObj.onmouseover = function(){this.className = "divmin"};
				this.arrItems[i].divObj.onmouseout = function(){this.className = "divm"};
			}
			
			if(this.arrItems[i].islast != 1)
			{
				//this.arrItems[i].imgObj.onclick = new Function(this.name+'.Drill('+this.arrItems[i].idgroup+')');
				this.arrItems[i].divObj.onclick = new Function(this.name+'.ItemAction('+i+','+this.arrItems[i].idgroup+',"'+this.arrItems[i].url+'")');
			}
			else
			{
				this.arrItems[i].divObj.onclick = new Function(this.name+'.GoUrl("'+this.arrItems[i].url+'")');
			}		
		}
		
		if(TREE_EXPAND_ALL)
		{
			for(var i = 0; i < this.arrItems.length; i++)
			{
				this.Drill(this.arrItems[i].idgroup);
			}
		}
	}
	
	this.ItemAction = function(iditem,idprev,url)
	{
		this.Drill(idprev);
		//this.DrillHide(idprev);
		this.Save();
		if(TREE_RELOAD_NODE)
		{
			this.GoUrl(url);
		}
	}
	
	this.GoUrl = function(url)
	{		
		location.href = url;
	}
	
	this.Drill = function(idprev)
	{
		for(var i = 0; i < this.arrItems.length; i++)
		{
			if(this.arrItems[i].idgroup == idprev)
			{
				this.arrItems[i].SetImage();
			}
			if(this.arrItems[i].idprev == idprev)
			{
				this.arrItems[i].Visible();	
				
				if(this.arrItems[i].imgObj.src.search(this.arrItems[i].imgOpen) != -1 )
				{
					this.Drill(this.arrItems[i].idgroup);
				}							
			}	
		}		
	}
	
	this.DrillHide = function(idprev)
	{
		for(var i = 0; i < this.arrItems.length; i++)
		{
			if(this.arrItems[i].idgroup != idprev)			
			{
				if(this.arrItems[i].idprev != 0)
				{
					this.arrItems[i].Hide();
				}
			}
		}
	}
	
	this.Save = function()
	{
		var tmp="";
		for(var i = 0; i < this.arrItems.length; i++)
		{
			tmp += this.arrItems[i].idgroup;
			tmp += ",";
			
			if(this.arrItems[i].divObj.style.display=="block")
			{
				tmp += "1"; //block
			}
			else
			{
				tmp += "0"; //none
			}
			
			tmp += ",";
			var src = this.arrItems[i].imgObj.src;
			
			var result = src.search(this.arrItems[i].imgOpen);						
			if(result != -1)
			{
				tmp += "1";//minus3.gif
			}
			else
			{		
			    result = src.search(this.arrItems[i].imgClose);						
			    if(result != -1)
			    {
				    tmp += "2";//plus3.gif
			    }
			    else
			    {
				    tmp += "0";//last.gif
			    }	
			}
			tmp += "|";
		}
		
		tmp = tmp.substring(0,tmp.length-1);
		SetCookie("treemenu",tmp);
	}
	
	this.GetItem = function(idgroup)
	{
	    for(var i = 0; i < this.arrItems.length; i++)
	    {
	        if(this.arrItems[i].idgroup == idgroup)
	        {
	            return this.arrItems[i];
	        }
	    }
	    return null;
	}
	
	this.Load = function()
	{
	    if(GetCookie("treemenu") == null)	
	    {
	        return false;
	    }
		
		var tmp = GetCookie("treemenu");
		//alert(tmp);
		var arr = Array();
		arr = tmp.split("|");
				
		for(var i = 0; i < arr.length; i++)
		{
			var arr2 = Array();
			arr2 = arr[i].split(",");
			
			try
			{
				this.GetItem(arr2[0]).Load(arr2[1],arr2[2]);				
			}
			catch(e){}
		}
	}
		
	this.Init();
	this.Load();
}