function multilevel_vertical_menu(varname)
{
	this.varname = varname;

	var src = '';
	if (document.getElementById('multilevel_vertical_menu'))
		src = document.getElementById('multilevel_vertical_menu').value;

	var menu_title = new Array();
	var menu_parent = new Array();
	var menu_click = new Array();
	var menu_style = new Array();
	var menu_raised = new Array();
	
	this.build = function()
	{
		var level = 0;
		var last_parent_of = new Array();
		var puffer = '';
		var chr = '';
		var last_chr = '';
		for (var i = 0; i < src.length; i ++)
		{
			last_chr = chr;
			chr = src.substring(i, ((+i) + (+1)));
			if (chr == "\r" || (last_chr == "	" && chr == "	" && puffer.length > 0))
			{
			}
			else if (chr == "\n")
			{
				if (puffer.length > 0)
				{
					var line = menu_title.length;
					var tmp = '';
					puffer += "	";

					menu_style[line] = '';
					if (puffer.toLowerCase().indexOf("	style=") > -1)
					{
						menu_style[line] = puffer.substring(((+puffer.toLowerCase().indexOf("	style=")) + (+1)), puffer.length);
						menu_style[line] = menu_style[line].substring(0, menu_style[line].indexOf("	"));
					}

					menu_click[line] = '';
					if (puffer.toLowerCase().indexOf("	onclick=") > -1)
					{
						menu_click[line] = puffer.substring(((+puffer.toLowerCase().indexOf("	click=")) + (+1)), puffer.length);
						menu_click[line] = menu_click[line].substring(0, menu_click[line].indexOf("	"));
					}

					menu_title[line] = puffer.substring(0, puffer.indexOf("	"));
					menu_raised[line] = false;

					menu_parent[line] = -1;
					if (level > 0)
						menu_parent[line] = last_parent_of[(level - 1)];

					last_parent_of[level] = line;
				}
				level = 0;
				puffer = '';
			}
			else if (chr == "	" && puffer.length == 0)
				level ++;
			else
				puffer += chr;
		}
	}
	
	this.mouse_move = function(line)
	{
		if (!menu_raised[line])
		{
			this.menu_raise(line);
			menu_raised[line] = true;
		}
		else
		{
			this.menu_decrease(line);
			menu_raised[line] = false;
		}
	}
	
	this.menu_raise = function(line)
	{
		document.getElementById('multilevel_vertical_menu__block_of_' + line).style.display = 'block';
		document.getElementById('multilevel_vertical_menu__img_of_' + line).src = 'images/drop_up.gif';
	}

	this.menu_decrease = function(line)
	{
		document.getElementById('multilevel_vertical_menu__block_of_' + line).style.display = 'none';
		document.getElementById('multilevel_vertical_menu__img_of_' + line).src = 'images/drop_down.gif';
	}

	this.flush_subcycle = function(parent)
	{
		var r = '';
		var tmp = '';

		for (var i = 0; i < menu_title.length; i ++)
		{
			if (menu_parent[i] == parent)
			{
				tmp = this.flush_subcycle(i);
				r += '<table cellspacing=0 cellpadding=0 border=0 width="100%"';
				if (tmp.length > 0)
					r += ' onClick="' + this.varname + '.mouse_move(' + i + ');"';
				r += '>';
				r +=   '<tr>';
				r +=     '<td ' + menu_style[i] + ' >' + menu_title[i] + '</td>';
				if (tmp.length > 0)
					r +=     '<td width=15 ' + menu_style[i] + ' ><img id="multilevel_vertical_menu__img_of_' + i + '" src="images/drop_down.gif" width=15 height=15 border=0></td>';
				r +=   '</tr>';
				r += '</table>';
				if (tmp.length > 0)
				{
					r += '<div style="display: none; align:right; text-align: right;" id="multilevel_vertical_menu__block_of_' + i + '">';
					r +=   '<table cellspacing=0 cellpadding=0 border=0 width="100%">';
					r +=     '<tr>';
					r +=       '<td width=1>&nbsp;&nbsp;</td>';
					r +=       '<td align=right>';
					r +=         tmp;
					r +=       '</td>';
					r +=     '</tr>';
					r +=   '</table>';
					r += '</div>';
				}
			}
		}

		return r;
	}

	this.flush = function()
	{
		var r = '';

		r += this.flush_subcycle(-1);
		
		return r;
	}
	
	this.build();
}
