var g_hierachies = new Array();

function hi_save()
{
	var data = "";
	for (var i = 0; i < g_hierachies.length; i++)
	{
		var source = document.getElementById(g_hierachies[i]);
		if (source != null)
		{
			data += g_hierachies[i] + "=" + source.value + ":";
		}
		else
		{
			
		}
	}
	session_write("hierachies", data);
	//alert(data);
	
	session_write("heirachies_scroll", document.getElementById("hierachy").scrollTop);
}

function hi_load()
{	
	//alert("loading");
	var src = session_read("hierachies");
	
	var raw = src.split(":");

	for (var i = 0; i < raw.length; i++)
	{
		if (raw[i] != null)
		{
			var data = raw[i].split("=");
			var target = document.getElementById(data[0]);
			if (target != null)
			{
				target.value = "";
			}
			if (data[0] != null && data[1]!= null)
				hi_expandString(data[0], data[1]);
		}
	}
	
	document.getElementById("hierachy").scrollTop = session_read("heirachies_scroll");
	
}

function hi_expand(masterid, id)
{
	var found = false;
	for (var i = 0; i < g_hierachies.length; i++)
	{
		if (g_hierachies[i] == masterid)
		{
			found = true;
		}
	}
	
	if (!found)
	{
		g_hierachies.push(masterid);
	}
	
	var list = document.getElementById(masterid);
	var sender = document.getElementById(id + "_icon");
	var target = document.getElementById(id);
	if (target != null)
	{
		
		if (target.style.display != "inline")
		{
			target.style.display = "inline";
			if (sender != null)
				sender.innerHTML = '<img src="images/collapse.png" width="12" height="12"> ';
			//Add to expanded string
			list.value += id + ";";
		}
		else
		{
			target.style.display = "none";
			if (sender != null)
				sender.innerHTML = '<img src="images/expand.png" width="12" height="12"> ';
			//Remove from expanded string
			var str = id + ";";
			var rin = new RegExp(str, "g");
			list.value = list.value.replace(rin, "");
		}
	}
	else
	{
		
	}
}

function hi_expandString(masterid, str)
{
	var items = str.split(";");
	for (var i = 0; i < items.length; i++)
	{
		if (items[i] != null)
		{
			hi_expand(masterid, items[i]);
		}
	}
}
