﻿function set_cookie(name, value)
{
	document.cookie= name + "=" + escape(value);
}

function get_cookie(name)
{
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);

	if (begin == -1)
	{
		begin = dc.indexOf(prefix);
		if (begin != 0)
		{
			return null;
		}
	}
	else
	{
		begin += 2;
	}

	var end = document.cookie.indexOf(";", begin);

	if (end == -1)
	{
		end = dc.length;
	}
	return unescape(dc.substring(begin + prefix.length, end));
}

function set_nodes_status()
{
	var divs = document.getElementsByTagName('div');
	var ids_str = '';

	for (i = 0; i < divs.length; i++)
	{
		if (divs[i].id.substring(0, 3) == 'div')
		{
			if (divs[i].style.display == '')
			{
				var id = divs[i].id.substring(3, divs[i].id.length);
				ids_str = ids_str + '[' + id + ']';
			}
		}
	}				
	set_cookie('node_status', ids_str);
}

function init_menu_nodes()
{
	var ids_str = get_cookie('node_status');
	var divs = document.getElementsByTagName('div');

	if (ids_str == null)
	{
		ids_str = '';
	}

	for (i = 0; i < divs.length; i++)
	{
		if (divs[i].id.substring(0, 3) == 'div')
		{
			var id = divs[i].id.substring(3, divs[i].id.length);

			if (ids_str.indexOf('[' + id + ']') != -1)
			{							
				var theImg = document.getElementById('img' + id);
					
				divs[i].style.display = '';
				theImg.src = 'img/down.gif';
			}
		}
	}				
}

function ocopen(node)
{
	var theDiv = document.getElementById('div' + node);
	var theImg = document.getElementById('img' + node);
	
	if (theDiv.style.display == 'none')
	{
		theDiv.style.display = '';
		theImg.src = 'img/down.gif';
	}
	else
	{
		theDiv.style.display = 'none';
		theImg.src = 'img/next.gif';
	}
	set_nodes_status();
}

function close_all()
{
	var divs = document.getElementsByTagName('div');

	for (i = 0; i < divs.length; i++)
	{
		if (divs[i].id.substring(0, 3) == 'div')
		{
			var id = divs[i].id.substring(3, divs[i].id.length);
			var theImg = document.getElementById('img' + id);
					
			divs[i].style.display = 'none';
			theImg.src = 'img/next.gif';
		}
	}
	set_nodes_status();
}