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

var menu_root_width = 110;
var menu_root_height = 30;
//var menu_root_bgcolor = '#66A60A';
//var menu_root_border_color = '#F9FBF6';

var menu_child_width = 226;
var menu_child_width_ie = 218;
var menu_child_height = 26;
//var menu_child_bgcolor = '#000000';
//var menu_child_border_color = '#CC0033';
var menu_timeout = 500;

var menu_root_bgcolor_new = '';
var menu_root_font_color_new = '';

var last_menu_item = 0;

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

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

  if (what == 1)
  	{
  		document.writeln('<td valign="middle" align="left" style="background: ' + menu_root_bgcolor + '; padding-left: 17px; padding-top: 2px;"><a href="/?changeLocale=PL"><img src="images/flag_pl.gif" alt="Polish" title="Polish" border="0"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="/?changeLocale=EN"><img src="images/flag_en.gif" alt="Angielski" title="Angielski" border="0"></a></td><td	 valign="middle" align="right" style="background: ' + menu_root_bgcolor + ';"><table border="0" cellpadding="0" cellspacing="0" style="height: ' + menu_root_height + 'px;"><tr>');
  	}

	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();"';
		
		var strzaleczka = '';
		if (child.length > 0)
		{
			onmouseOver = ' onMouseOver="menu_showWing(' + menu[parents[i]]['id'] + ');" onMouseOut="menu_hide();"';
			strzaleczka = ' url(images/menu_elem.gif) 95px 15px no-repeat';			
		}

		/*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>');
		}*/
		var menu_root_bgcolor_new = menu_root_bgcolor;
		var menu_root_font_color_new = menu_root_font_color;
    if(menu[parents[i]]['id'] == getid)
    {
      menu_root_bgcolor_new = menu_root_current_element_bg; 
      menu_root_font_color_new = menu_root_current_element_font;
    }
    else
    {
      menu_root_bgcolor_new = menu_root_bgcolor;
		  menu_root_font_color_new = menu_root_font_color;
    }
		document.writeln('<td id="menu_root_' + menu[parents[i]]['id'] + '" style="position: relative; background: ' + menu_root_bgcolor_new + '' + strzaleczka + '; border-left: 1px solid ' + menu_root_border_color + ';" class="menu_top_td" onMouseOver="this.style.backgroundColor=\'' + menu_child_bgcolor + '\'; document.getElementById(\'menu_item_a_' + menu[parents[i]]['id'] + '\').style.color = \'' + menu_root_font_color + '\';" onMouseOut="this.style.backgroundColor=\'' + menu_root_bgcolor_new + '\'; document.getElementById(\'menu_item_a_' + menu[parents[i]]['id'] + '\').style.color = \'' + menu_root_font_color_new + '\';">');
		document.writeln('<div id="menu_item_' + menu[parents[i]]['id'] + '"' + onmouseOver + ' style="width: ' + (menu_root_width - 5) + 'px;" class="menu" align="left">');
		document.writeln('<a href="' + menu[parents[i]]['link'] + '" id="menu_item_a_' + menu[parents[i]]['id'] + '" target="' + menu[parents[i]]['target'] + '" style="color: ' + menu_root_font_color_new + ';">' + menu[parents[i]]['name'] + '</a>');
		document.writeln('</div>');
		document.writeln('</td>');

		if (what == 0)
		{
			document.writeln('</tr>');
		}
		if((i+1) == parents.length)
		{
			last_iter = i
		}
	}

	last_menu_item = menu[parents[last_iter]]['id'];

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

function menu_drawWings()
{
	var child = '';
	var onmouseOver = '';
	var i=0;
  var root_id = '';
	menu_update();
	//alert('test');

	for (i=0; i<menu.length; i++)
	{
	  if(menu[i]['id_parent'] == '0') root_id = menu[i]['id'];
    //dts_test = dts_test + '; ' + menu[i]['id'];
    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-bottom: 1px solid ' + menu_child_border_color + ';">');
			for (var j=0; j<parents.length; j++)
			{
				child = menu_getParents(menu[parents[j]]['id']);

        if(root_id == getid)
        {
          menu_root_bgcolor_new = menu_root_current_element_bg; 
          menu_root_font_color_new = menu_root_current_element_font;
        }
        else
        {
          menu_root_bgcolor_new = menu_root_bgcolor;
    		  menu_root_font_color_new = menu_root_font_color;
        }

				onmouseOver = ' onMouseOver="menu_hideWing(' + menu[parents[j]]['level'] + ',' + menu[parents[j]]['id_parent'] + '); document.getElementById(\'menu_root_' + root_id + '\').style.backgroundColor=\'' + menu_child_bgcolor + '\'; document.getElementById(\'menu_item_a_' + root_id + '\').style.color=\'' + menu_root_font_color + '\';" onMouseOut="menu_hide(); document.getElementById(\'menu_root_' + root_id + '\').style.backgroundColor=\'' + menu_root_bgcolor_new + '\'; document.getElementById(\'menu_item_a_' + root_id + '\').style.color=\'' + menu_root_font_color_new + '\';"';

        var strzaleczka = '';
				if (child.length > 0)
				{
					onmouseOver = ' onMouseOver="menu_showWing(' + menu[parents[j]]['id'] + '); document.getElementById(\'menu_root_' + root_id + '\').style.backgroundColor=\'' + menu_child_bgcolor + '\'; document.getElementById(\'menu_item_a_' + root_id + '\').style.color=\'' + menu_root_font_color + '\';" onMouseOut="menu_hide(); document.getElementById(\'menu_root_' + root_id + '\').style.backgroundColor=\'' + menu_root_bgcolor_new + '\'; document.getElementById(\'menu_item_a_' + root_id + '\').style.color=\'' + menu_root_font_color_new + '\';"';
					strzaleczka = ' background: url(images/submenu_arrow_right.gif) 220px 10px no-repeat; _background: url(images/submenu_arrow_right.gif) 210px 10px no-repeat;'; 
				}

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




//alert(left);

//alert(wing_width);
	if(id == last_menu_item)
	{
		if (is_browser == 3)
		{
			wing.style.left = (left-111);
		}
		else if (is_browser == 1)
		{
			wing.style.left = (left-116);
		}
	}
else
{
	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];
	}
}


function show_hide_tab(id)
{
  if (document.getElementById('tab_'+id).style.display == 'none')
  {
    document.getElementById('tab_'+id).style.display = '';
    document.getElementById('img_'+id).src = 'images/index_collapse.gif';
    if(lang == 'en')
    {
      document.getElementById('img_'+id).alt = 'Collapse';
      document.getElementById('img_'+id).title = 'Collapse';
      document.getElementById('text_'+id).innerHTML = 'Collapse';
    }
    else
    {
      document.getElementById('img_'+id).alt = 'Zwi�';
      document.getElementById('img_'+id).title = 'Zwi�';
      document.getElementById('text_'+id).innerHTML = 'Zwi�';
    }    
  }
  else
  {
    document.getElementById('tab_'+id).style.display = 'none';
    document.getElementById('img_'+id).src = 'images/index_expand.gif';
    if(lang == 'en')
    {
      document.getElementById('img_'+id).alt = 'Expand';
      document.getElementById('img_'+id).title = 'Expand';
      document.getElementById('text_'+id).innerHTML = 'Expand';
    }
    else
    {
      document.getElementById('img_'+id).alt = 'Rozwi�';
      document.getElementById('img_'+id).title = 'Rozwi�';
      document.getElementById('text_'+id).innerHTML = 'Rozwi�';
    }    
  }
}
