var menu = new Array();
var menu_dir = 0;
var menu_timer = null;

var menu_root_width = 100;
var menu_root_height = 25;
var menu_root_bgcolor = '#333333';
var menu_root_border_color = '#333333';

var menu_child_width = 100;
var menu_child_height = 20;
var menu_child_bgcolor = '#FFFFFF';
var menu_child_border_color = '#BCBCBC';

var menu_timeout = 500;


function menu_add(id_parent, id, name, link, target)
{
	var counter = menu.length;
	menu[counter] = new Array();
	menu[counter]['id_parent'] = id_parent;
	menu[counter]['id'] = id;
	menu[counter]['name'] = name;

	if ((link == undefined) || (link == ''))
	{
		link = '#';
		target = '_self';
	}

	if ((target == undefined) || (target == ''))
	{
		target = '_self';
	}

	menu[counter]['link'] = link;
	menu[counter]['target'] = target;
}

function menu_getParents(id)
{
	var parents = new Array();
	for (var i=0; i<menu.length; i++)
	{
		if (menu[i]['id_parent'] == id)
		{
			parents[parents.length] = i;
		}
	}
	return parents;
}

function menu_create(what)
{
	menu_dir = what;
	// 0 - vertical | 1 - horizontal
	document.writeln('<table align="right" border="0" cellpadding="0" cellspacing="0" style="height: ' + menu_root_height + 'px; z-index: 998;">');
	if (what == 1)
	{
		document.writeln('<tr style="height: ' + menu_root_height + 'px;">');
		document.writeln('<td align="center" style="width: auto; height: ' + menu_root_height + 'px;">&nbsp;</td>');
	}

	var parents = menu_getParents(0);
	var child = '';
	var onmouseOver = '';

	for (var i=0; i<parents.length; i++)
	{
		if (what == 0)
		{
			document.writeln('<tr style="height: ' + menu_root_height + 'px;">');
		}

		child = menu_getParents(menu[parents[i]]['id']);

		onmouseOver = ' onMouseOver="menu_hideAll();"';

		if (child.length > 0)
		{
			onmouseOver = ' onMouseOver="menu_showWing(' + menu[parents[i]]['id'] + ');" onMouseOut="menu_hide();"';
		}

		var s = 'menu_start_next_new3.gif" width="13" height="25"';
		
		if (i==0) s = 'menu_start_new2.gif" width="19" height="25"';
	
	
	
		document.writeln('<td align="right" valign="bottom"><img src="images/' + s + ' alt="" style="border: 0px none;"></td>');
		document.writeln('<td id="menu_root_' + menu[parents[i]]['id'] + '" align="right" style="position: relative; background: url(images/menu_bg_new2.gif) repeat-x bottom;">');
		document.writeln('<div id="menu_item_' + menu[parents[i]]['id'] + '"' + onmouseOver + ' class="menu">');
		document.writeln('<a href="' + menu[parents[i]]['link'] + '" target="' + menu[parents[i]]['target'] + '">' + menu[parents[i]]['name'] + '</a>');
		document.writeln('</div>');
		document.writeln('</td>');
		document.writeln('<td align="right" valign="bottom"><img src="images/menu_end_new2.gif" width="4" height="25" alt="" style="border: 0px none;"></td>');


		if (what == 0)
		{
			document.writeln('</tr>');
		}
	}

	if (what == 1)
	{
		document.writeln('</tr>');
	}
	document.writeln('</table>');
	menu_drawWings();
}

function menu_drawWings()
{
	var child = '';
	var onmouseOver = '';
	var i=0;
	//document.writeln('<iframe frameborder="0">');
	menu_update();
// z-index=999; visibility=show; document.all.formselect.style.visibility="hidden";
	for (i=0; i<menu.length; i++)
	{
		var parents = menu_getParents(menu[i]['id']);
		if (parents.length > 0)
		{
			document.writeln('<div id="menu_wing_' + menu[i]['id'] + '" style="position: absolute; display: none; z-index: 999;">');
			document.writeln('<table border="0" cellpadding="0" cellspacing="0" style="border-top: 1px solid ' + menu_child_border_color + '; border-left: 1px solid ' + menu_child_border_color + '; border-right: 1px solid ' + menu_child_border_color + ';">');
			for (var j=0; j<parents.length; j++)
			{
				child = menu_getParents(menu[parents[j]]['id']);

				onmouseOver = ' onMouseOver="menu_hideWing(' + menu[parents[j]]['level'] + ',' + menu[parents[j]]['id_parent'] + ');" onMouseOut="menu_hide();"';

				if (child.length > 0)
				{
					onmouseOver = ' onMouseOver="menu_showWing(' + menu[parents[j]]['id'] + ');" onMouseOut="menu_hide();"';
				}

				document.writeln('<tr style="height: ' + menu_child_height + 'px;"><td id="menu_item_top_' + menu[parents[j]]['id'] + '" style="position: relative; padding-left: 5px; background-color: ' + menu_child_bgcolor + '; border-bottom: 1px solid ' + menu_child_border_color + ';">');
				document.writeln('<div id="menu_item_' + menu[parents[j]]['id'] + '"' + onmouseOver + ' style="width: ' + (menu_child_width - 5) + 'px;" class="menu">');
				document.writeln('<a href="' + menu[parents[j]]['link'] + '" target="' + menu[parents[j]]['target'] + '">' + menu[parents[j]]['name'] + '</a>');
				document.writeln('</td></tr>');
			}
			document.writeln('</table>');
			document.writeln('</div>');
		}
	}

	for (i=0; i<menu.length; i++)
	{
		child = document.getElementById('menu_item_' + menu[i]['id']);
		child.id_parent = menu[i]['id_parent'];
		child.level = menu[i]['level'];
		var wing = document.getElementById('menu_wing_' + menu[i]['id_parent']);
		if (wing)
		{
			if (wing.level == undefined)
			{
				wing.level = child.level;
				wing.root_id = menu[i]['root_id'];
			}
		}
	}
	//document.writeln('</iframe>');
}

var is_browser = null;

function check_browser()
{
	if (is_browser == null)
	{
		if (navigator.appName == 'Netscape')
		{
			is_browser = 1;
		}
		else if (navigator.userAgent.indexOf("Opera")!=-1)
		{
			is_browser = 2;
		}
		else
		{
			is_browser = 3;
		}
	}
}

function menu_showWing(id)
{
	var item = document.getElementById('menu_item_' + id);
	var wing = document.getElementById('menu_wing_' + id);
 //document.all.formselect.style.visibility="hidden";
 //document.getElementById('formdiv1').style.visibility="hidden";
	clearTimeout(menu_timer);
	if (item.id_parent == 0)
	{
		menu_hideAll();
	}
	else
	{
		menu_hideWing(wing.level,id);
	}

	wing.style.display = '';
	var wing_width = wing.offsetWidth;
	wing.style.display = 'none';

	var top = 0;
	var left = 0;

	check_browser();

	var item_top_add = 0;
	var item_left_add = 0;

	if (is_browser == 2)
	{
		item_top_add = (document.getElementById('opera_poz').offsetTop - 83);
		item_left_add = (document.getElementById('opera_poz').offsetLeft - 411);
	}

	if (item.id_parent == 0)
	{
		item = document.getElementById('menu_root_' + id);
		if (menu_dir == 0)
		{
			top = item.offsetTop;
			left = (item.offsetLeft + item.offsetWidth);
		}
		else
		{
			top = (item.offsetTop + item.offsetHeight + item_top_add);
			left = (item.offsetLeft + item_left_add);
		}
	}
	else
	{
		item = document.getElementById('menu_wing_' + item.id_parent);
		top = (item.offsetTop + document.getElementById('menu_item_top_' + id).offsetTop);
		left = ((item.offsetLeft + item.offsetWidth) - 1);
	}

	top = (top - 1);

	wing_width = (wing_width + left);

	if (wing_width > document.body.offsetWidth)
	{
		left = (left - (wing_width - document.body.offsetWidth));
		left = (left - 30);
		if (item.offsetLeft == left)
		{
			left = (left - 30);
		}
		top = (top + 15);
	}
	
	
	if (is_browser == 3)
	{
		top = top + 0;
	}



	wing.style.left = left;
	wing.style.top = top;
	wing.style.display = '';
}

function menu_getLevel(id)
{
	var ret = new Array();
	ret[0] = ret[1] = 0;

	for (var i=0; i<menu.length; i++)
	{
		if (menu[i]['id'] == id)
		{
			ret[0] = (ret[0] + 1);

			if (menu[i]['id_parent'] > 0)
			{
				var fun_ret = menu_getLevel(menu[i]['id_parent']);
				ret[0] = (ret[0] + fun_ret[0]);
				ret[1] = fun_ret[1];
			}
			else
			{
				ret[1] = menu[i]['id'];
			}
		}
	}

	return ret;
}

function menu_hideWing(level,id)
{
	clearTimeout(menu_timer);
	var all_wings = document.getElementsByTagName('div');
	for (var i=0; i<all_wings.length; i++)
	{
		if (all_wings[i].id.substring(0,10) == 'menu_wing_')
		{
			if ((all_wings[i].id.substring(10,all_wings[i].id.length) != id) && (all_wings[i].level >= level))
			{
				all_wings[i].style.display = 'none';
				//document.getElementById('formdiv1').style.visibility="visible";
			}
		}
	}
	//document.getElementById('formdiv1').style.visibility="visible";
}

function menu_hideAll()
{
	var all_wings = document.getElementsByTagName('div');
	for (var i=0; i<all_wings.length; i++)
	{
		if (all_wings[i].id.substring(0,10) == 'menu_wing_')
		{
			all_wings[i].style.display = 'none';
		}
	}
	//document.getElementById('formdiv1').style.visibility="visible";
}

function menu_hide()
{
	menu_timer = setTimeout('menu_hideAll()', menu_timeout);
}

function menu_update()
{
	for (var i=0; i<menu.length; i++)
	{
		var tab_level = menu_getLevel(menu[i]['id']);
		menu[i]['level'] = (tab_level[0] - 1);
		if (menu[i]['id'] == tab_level[1])
		{
			tab_level[1] = 0;
		}
		menu[i]['root_id'] = tab_level[1];
	}
}