var menu_parent = new Array();
var menu_text = new Array();
var menu_link = new Array();
var menu_level = new Array();
var menu_contains_submenu = new Array();
var menu_last_parent_on_level = new Array();
var menu_num_on_level = new Array();
var menu_line_on_level = new Array();
var menu_to_close = new Array();
var menu_each_align_submenu_left_to = new Array();
var menu_each_align_submenu_left_by = new Array();
var menu_each_align_submenu_top_to = new Array();
var menu_each_align_submenu_top_by = new Array();
var menu_each_width = new Array();
var menu_counter = 0;
var menu_heads = new Array();
var menu_head_counter = 0;
var menu_width_head_each = new Array();
var menu_head_x = new Array();
var menu_head_y = new Array();



function menu_mover(id)
{
	menu_to_close[id] = 1;

	var c = 0;

	for (c = 0; c < menu_counter; c ++)
	{
		if (menu_parent[id] == c || id == c || menu_parent[menu_parent[id]] == c || menu_parent[menu_parent[menu_parent[id]]] == c || menu_parent[menu_parent[menu_parent[menu_parent[id]]]] == c || menu_parent[menu_parent[menu_parent[menu_parent[menu_parent[c]]]]])
		{
			document.getElementById("menu_item_" + c).style.color = menu_parent_items_text_color;
		}
		else if (menu_parent[c] == id)
		{
			document.getElementById("menu_item_" + c).style.color = menu_items_text_color;
		}
		else
		{
			document.getElementById("menu_item_" + c).style.color = menu_items_text_color;
			if (menu_contains_submenu[c] > 0)
			{
				document.getElementById('menu_block_' + c).style.display = 'none';
			}
			menu_to_close[c] = 0;
		}		
	}

	var place_x = 0;
	var place_y = 0;

	idp = menu_parent[id];
	if (idp < 0)
	{
		idp = "m" + id;
	}

	var aff_img = document.getElementById('menu_block_' + idp);
	if (menu_contains_submenu[id] > 0)
	{
		var aff_block = document.getElementById('menu_block_' + id);

		var i = 0;
		var x = aff_img.style.left;
		var res_x = "";
		while (i < x.length && x.substring(i, i + 2) != "px")
		{
			res_x += x.substring(i, i + 1);
			i ++;
		}

		i = 0;
		var y = aff_img.style.top;
		var res_y = "";
		while (i < y.length && y.substring(i, i + 2) != "px")
		{
			res_y += y.substring(i, i + 1);
			i ++;
		}
		
		res_x ++; res_x --;
		res_y ++; res_y --;

		place_x += res_x + menu_each_align_submenu_left_by[id];
		if (menu_each_align_submenu_left_to[id] == "right")
		{
			if (menu_level[id] == 0)
			{
				place_x += menu_width_head_each[id];
			}
			else
			{
				place_x += menu_each_width[menu_parent[id]];
			}
		}

		if (menu_parent[id] >= 0)
		{
			place_y += res_y + (menu_line_on_level[id] * menu_height) + menu_each_align_submenu_top_by[id];
		}
		else
		{
			place_y += res_y + menu_each_align_submenu_top_by[id];
		}
		if (menu_each_align_submenu_top_to[id] == "bottom")
		{
			if (menu_level[id] == 0)
			{
				place_y += menu_height_head;
			}
			else
			{
				place_y += menu_height;
			}
		}

		aff_block.style.top = place_y;
		aff_block.style.left = place_x;
		aff_block.style.display = "block";
	}
	setTimeout("menu_check_to_close(" + id + ")", 667);
}

function menu_mout(id)
{
	menu_to_close[id] = 2;
}

function menu_check_to_close(id)
{
	if (menu_to_close[id] == 2)
	{
		var i = id + 1;
		var x = 0;
		while (menu_level[i] > menu_level[id])
		{
			if (menu_to_close[i] == 1)
			{
				x = 1;
			}
			i ++;
		}

		if (x == 1)
		{
			setTimeout("menu_check_to_close(" + id + ")", 667);
		}
		else
		{
			i = id + 1;
			while (menu_level[i] > menu_level[id])
			{
				if (menu_contains_submenu[i] > 0)
				{
					document.getElementById('menu_block_' + i).style.display = 'none';
					menu_to_close[i] = 0;
				}
				i ++;
			}
			if (menu_contains_submenu[id] > 0)
			{
				document.getElementById('menu_block_' + id).style.display = 'none';
			}
			menu_to_close[id] = 0;
		}
	}

	var c = 0;
	var x = 0;
	for (c = 0; c < menu_counter; c ++)
	{
		if (menu_to_close[c] > 0)
		{
			x = 1;
		}
	}
	if (x == 0)
	{
		for (c = 0; c < menu_counter; c ++)
		{
			document.getElementById("menu_item_" + c).style.color = menu_items_text_color;
		}
	}
}

function menu_prepare()
{
	var i = 0;

	for (i = 0; i < menu_counter; i ++)
	{
		if (menu_level[i] == 0)
		{
			menu_add_HTML_block(i, "head");
		}
	}

	for (i = 0; i < menu_counter; i ++)
	{
		if (menu_contains_submenu[i] > 0)
		{
			menu_add_HTML_block(i, "");
		}
	}

	for (i = 0; i < menu_head_counter; i ++)
	{
		document.getElementById("menu_block_m" + menu_heads[i]).style.display = "block";
		document.getElementById("menu_block_m" + menu_heads[i]).style.left = menu_head_x[i] + "px";
		document.getElementById("menu_block_m" + menu_heads[i]).style.top = menu_head_y[i] + "px";
	}
}

function menu_add_new()
{
	var content = arguments[0];
	var lnk = arguments[1];
	var w = 0;
	var head_x = 0;
	var head_y = 0;
	if (arguments.length > 2)
	{
		w = arguments[2];
	}
	if (arguments.length > 5)
	{
		head_w = arguments[3];
		head_x = arguments[4];
		head_y = arguments[5];
	}

	var i = 0;
	var nontabbed = 0;
	var tabs = 0;
	var real_content = "";

	while (i < content.length)
	{
		if (content.substring(i, i + 1) == "	" && nontabbed == 0)
		{
			tabs ++;
		}
		else
		{
			nontabbed = 1;
			real_content = real_content + content.substring(i, i + 1);
		}

		i ++;
	}

	menu_text[menu_counter] = real_content;

	menu_link[menu_counter] = lnk;

	menu_level[menu_counter] = tabs;

	if (tabs < 1)
	{
		menu_parent[menu_counter] = -1;
	}
	else
	{
		menu_parent[menu_counter] = menu_last_parent_on_level[tabs - 1];
	}

	menu_contains_submenu[menu_parent[menu_counter]] ++;
	
	menu_last_parent_on_level[tabs] = menu_counter;
	menu_contains_submenu[menu_counter] = 0;

	if (!menu_num_on_level[tabs] && menu_num_on_level[tabs] != 0)
	{
		menu_num_on_level[tabs] = -1;
	}
	menu_num_on_level[tabs] ++;
	menu_line_on_level[menu_counter] = menu_num_on_level[tabs];

	if (tabs == 0)
	{
		menu_each_align_submenu_top_by[menu_counter] = menu_align_head_submenu_top_by;
		menu_each_align_submenu_top_to[menu_counter] = menu_align_head_submenu_top_to;
		menu_each_align_submenu_left_by[menu_counter] = menu_align_head_submenu_left_by;
		menu_each_align_submenu_left_to[menu_counter] = menu_align_head_submenu_left_to;
	}
	else
	{
		menu_each_align_submenu_top_by[menu_counter] = menu_align_submenu_top_by;
		menu_each_align_submenu_top_to[menu_counter] = menu_align_submenu_top_to;
		menu_each_align_submenu_left_by[menu_counter] = menu_align_submenu_left_by;
		menu_each_align_submenu_left_to[menu_counter] = menu_align_submenu_left_to;
	}
	if (w < 1)
	{
		menu_each_width[menu_counter] = menu_width;
	}
	else
	{
		menu_each_width[menu_counter] = w;
	}
	if (tabs == 0)
	{
		menu_width_head_each[menu_counter] = head_w;
		menu_head_x[menu_head_counter] = head_x;
		menu_head_y[menu_head_counter] = head_y;
		menu_heads[menu_head_counter] = menu_counter;
		menu_head_counter ++;
	}
	
	var l = tabs;
	l ++;
	menu_num_on_level[l] = -1;

	menu_counter ++;
}

function menu_add_HTML_block(id, mid)
{
	var out = "";
	var i = 0;

	if (mid == "")
	{
		out += '<div id="menu_block_' + id + '" style="position:absolute; top:0px; left:0px; display:none; width:' + menu_each_width[id] + 'px;">';
		out += '<table cellspacing=' + menu_submenu_border_width + ' cellpadding=0 border=0 bgcolor="' + menu_submenu_border_color + '"><tr><td>';
		out += '<table cellspacing=' + menu_border_width + ' cellpadding=' + menu_content_padding + ' border=0 width=' + menu_each_width[id] + ' bgcolor="' + menu_border_color + '">';
	}
	else
	{
		var xid = "m" + id;
		out += '<div id="menu_block_' + xid + '" style="position:absolute; top:0px; left:0px; display:none; width:' + menu_width_head_each[id] + 'px;">';
		out += '<table cellspacing=' + menu_border_width_head + ' cellpadding=' + menu_content_padding_head + ' border=0 width=' + menu_width_head_each[id] + ' bgcolor="' + menu_border_color_head + '">';
	}

	if (mid == "")
	{
		for (i = 0; i < menu_counter; i ++)
		{
			if (id == menu_parent[i])
			{
				out += '<tr height=' + menu_height + '><td id="menu_item_' + i + '" bgcolor="' + menu_background_color + '" class="' + menu_class + '"';
				if (menu_link[i] != "")
				{
					out += ' onclick="document.location=\'' + menu_link[i] + '\';" style="cursor:hand;';
					if (menu_underline_links == "yes" || menu_underline_links == 1)
					{
						out += ' text-decoration:underline;';
					}
				}
				else
				{
					out += ' style="cursor:default;';
				}
				out += ' color:' + menu_items_text_color + ';" onMouseOver="menu_mover(' + i + ')" onMouseOut="menu_mout(' + i + ')">';
				if (menu_contains_submenu[i] > 0)
				{
					out += ' <img src="images/arrow.gif" width=8 height=10 border=0 align="right">';
				}
				out += menu_text[i];
				out += '</td></tr>';
			}
		}
	}
	else
	{
		out += '<tr height=' + menu_height_head + '><td  id="menu_item_' + id + '" bgcolor="' + menu_background_color_head + '" class="' + menu_class_head + '"';
		if (menu_link[id] != "")
		{
			out += ' onclick="document.location=\'' + menu_link[id] + '\';" style="cursor:hand;';
			if (menu_underline_links == "yes" || menu_underline_links == 1)
			{
				out += ' text-decoration:underline;';
			}
		}
		else
		{
			out += ' style="cursor:default;';
		}
		out += ' color:' + menu_items_text_color + ';" onMouseOver="menu_mover(' + id + ')" onMouseOut="menu_mout(' + id + ')">';
		out += menu_text[id];
		if (menu_contains_submenu[id] > 0)
		{
			out += ' <img src="images/arrow_down.gif" width=5 height=10 border=0 align="absMiddle">';
		}
		out += '</td></tr>';
	}

	out += '</table>';
	if (mid == "")
	{
		out += '</td></tr></table>';
	}
	out += '</div>';

	document.write(out);
}

function menu_add_insider_block(id)
{
	var out = "";

	out += menu_text[id];

	return out;
}

function menu_head_set(id, x, y, w)
{
	menu_width_head_each[id] = w;
	menu_head_x[menu_head_counter] = x;
	menu_head_y[menu_head_counter] = y;
	menu_heads[menu_head_counter] = id;

	menu_head_counter ++;
}
