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

var menu_root_width = 108;
var menu_root_height = 25;
var menu_root_bgcolor = '#66A60A';
var menu_root_border_color = '#F9FBF6';

var menu_child_width = 150;
var menu_child_height = 15;
var menu_child_bgcolor = '#FFFFFF';
var menu_child_border_color = '#EFE7E7';

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 border="0" cellpadding="0" cellspacing="0">');
	if (what == 1)
	{
		document.writeln('<tr style="height: ' + menu_root_height + 'px;">');
	}

	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();"';
			
		}

		if (i > 0)
		{
			document.writeln('<td style="font-size: 1px; background-image: url(images/menu_spacer1.gif); background-repeat: no-repeat; background-position: top;">&nbsp;</td>');
		}

		document.writeln('<td id="menu_root_' + menu[parents[i]]['id'] + '" style="position: relative;">');
		document.writeln('<div id="menu_item_' + menu[parents[i]]['id'] + '"' + onmouseOver + ' style="width: ' + (menu_root_width - 15) + 'px;" class="menu" align="center">');
		document.writeln('<a href="' + menu[parents[i]]['link'] + '" target="' + menu[parents[i]]['target'] + '">' + menu[parents[i]]['name'] + '</a>');
		document.writeln('</div>');
		document.writeln('</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;

	menu_update();

	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;">');
			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'] + ');this.style.backgroundColor=\'#FC520F\'; document.getElementById(\'menu_item_top_' + menu[parents[j]]['id'] +'\').style.backgroundColor=\'#FC520F\'; document.getElementById(\'menu_item_a_' + menu[parents[j]]['id'] +'\').style.color=\'#FFFFFF\';" onMouseOut="menu_hide();this.style.backgroundColor=\'#FFFFFF\'; document.getElementById(\'menu_item_top_' + menu[parents[j]]['id'] +'\').style.backgroundColor=\'#FFFFFF\'; document.getElementById(\'menu_item_a_' + menu[parents[j]]['id'] +'\').style.color=\'#3D3D3D\';"';

				if (child.length > 0)
				{
					onmouseOver = ' onMouseOver="menu_showWing(' + menu[parents[j]]['id'] + ');this.style.backgroundColor=\'#FC520F\'; document.getElementById(\'menu_item_top_' + menu[parents[j]]['id'] +'\').style.backgroundColor=\'#FC520F\'; document.getElementById(\'menu_item_a_' + menu[parents[j]]['id'] +'\').style.color=\'#FFFFFF\';" onMouseOut="menu_hide();this.style.backgroundColor=\'#FFFFFF\'; document.getElementById(\'menu_item_top_' + menu[parents[j]]['id'] +'\').style.backgroundColor=\'#FFFFFF\'; document.getElementById(\'menu_item_a_' + menu[parents[j]]['id'] +'\').style.color=\'#3D3D3D\';"';
				}

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


var is_browser = null;

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


function menu_showWing(id)
{
	var item = document.getElementById('menu_item_' + id);
	var wing = document.getElementById('menu_wing_' + id);

	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';
	
	check_browser();

	var top = 0;
	var left = 0;

	var item_top_add = 0;
	var item_left_add = 0;

	if (is_browser == 2)
	{
		if (menu_dir == 1)
		{
			item_top_add = document.getElementById('opera_poz').offsetTop;
			item_left_add = document.getElementById('opera_poz').offsetLeft;
		}
		else
		{
			item_top_add = (document.getElementById('opera_poz').offsetTop + 7);
			item_left_add = document.getElementById('opera_poz').offsetLeft;
		}
	}

	

	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) - 100);
	}

	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);
	}

	wing.style.left = left;
	wing.style.top = (top+1);
	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';
			}
		}
	}
}

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';
		}
	}
}

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];
	}
}