/*
(c)2006 Gemius SA, Artur /gTg/ Wróbel
*/

/* aktualnie otwarte menu */
var current_open_item = null;

var mouseout_timer = null;

function show_menu_div(div)
{
	div.style.display = 'block';
	var ua = window.navigator.userAgent;
	
	if(window.opera || ua.indexOf("Windows")==-1)
	{
		var x = parseInt(div.offsetLeft);
		var y = parseInt(div.offsetTop);
		var w = parseInt(div.offsetWidth);
		var h = parseInt(div.offsetHeight);
	
		div.style.display = 'none';
		var parent = div.parentNode;
		if(parent)
		{
			var iframe = document.createElement('iframe');
			iframe.id = 'menuFakeIframe';
			iframe.src = 'null.html';
			iframe.style.position = 'absolute';
			iframe.style.left = x+'px';
			iframe.style.top = y+'px';
			iframe.style.width = w+'px';
			iframe.style.height = h+'px';
			parent.appendChild(iframe);
		}
		div.style.display = 'block';
	}
}

function show_dropdown_menu(itemNumber)
{
	if(current_open_item != itemNumber)
	{
		/* najpierw ukryj stare menu - jesli jest jakies otwarte */
		hide_dropdown_menu();

		var currentMenu = document.getElementById('submenu'+itemNumber);
		if(currentMenu)
		{
			position_dropdown_menu(itemNumber, currentMenu);
			show_menu_div(currentMenu);
			currentMenu.onmouseout = function(){
				if(mouseout_timer != null)
					clearTimeout(mouseout_timer);
				mouseout_timer = setTimeout("hide_dropdown_menu()", 300);
			}
			currentMenu.onmouseover = function(){
				if(mouseout_timer != null)
					clearTimeout(mouseout_timer);
			}
		}
		current_open_item = itemNumber;
	}
}

function hide_dropdown_menu()
{
	if(mouseout_timer != null)
		clearTimeout(mouseout_timer)
	if(current_open_item != null)
	{
		var currentMenu = document.getElementById('submenu'+current_open_item);
		if(currentMenu)
		{
			currentMenu.style.display = 'none';
		}
		var iframe = document.getElementById('menuFakeIframe');
		if(iframe)
		{
			iframe.parentNode.removeChild(iframe);
		}
		current_open_item = null;
	}
}


function position_dropdown_menu(itemNumber, currentMenu)
{
	var menuItem = get_menuitem(itemNumber);
	var left = get_object_offsetleft(menuItem);
	var top = get_object_offsettop(menuItem);
	if(currentMenu)
	{
		currentMenu.style.left = (left) + "px";
		if(window.opera)
			currentMenu.style.top = (top + 20) + "px";
		else
			currentMenu.style.top = (top + 30) + "px";
	}
}

function get_object_offsetleft(obj)
{
	var left = 0;
	var tmpObj = obj;
	while(tmpObj.parentNode)
	{
//		alert("tag="+tmpObj.tagName+"\nid="+tmpObj.id+"\nleft="+tmpObj.offsetLeft);
		left += parseInt(tmpObj.offsetLeft);
		tmpObj = tmpObj.parentNode;
	}
	return left;
}

function get_object_offsettop(obj)
{
	var top = 0;
	var tmpObj = obj;
	while(tmpObj.parentNode)
	{
		top += parseInt(tmpObj.offsetTop);
		tmpObj = tmpObj.parentNode;
	}
	return top;
}


function get_menuitem(itemNumber)
{
	var obj = document.getElementById('menu_level_1');
	obj.onmouseout = function(){
		if(mouseout_timer != null)
			clearTimeout(mouseout_timer);
		mouseout_timer = setTimeout("hide_dropdown_menu()", 800);
	}
	
	var children = obj.childNodes;
	if(children.length)
	{
		var counter = 0;
		for(var i=0; i<children.length; i++)
		{
			if(children[i].tagName && children[i].tagName.toLowerCase() == 'li')
			{
				counter++;
				
				if(counter == itemNumber)
					return children[i];
			}
		}
	}
	else
		return null;
}
