﻿function init_menu(menuid) {
	if (!document.getElementById) return;
	var menu = document.getElementById(menuid);
	if (!menu) return;
	menu.className = 'js';

	var li;
	var alist;
	var i;

	var visible_li;
	var next_li;
	var focus_li;
	var step = 0;

	function show_li() {
		if (visible_li) {
			if (visible_li != next_li) visible_li.className = '';
		}
		if (next_li || focus_li) {
			visible_li = next_li || focus_li;
			visible_li.className = 'widoczna';
		}
	}

	function init_mouse(el) {
		el.onmouseover = function() {
			var n = ++step;
			next_li = el;
			if (visible_li) setTimeout(function() {
				if (step == n) show_li();
			}, 100);
			else show_li();
		}
		el.onmouseout = function() {
			var n = ++step;
			next_li = null;
			setTimeout(function() {
				if (step == n) show_li();
			}, 300);
		}
	}

	function init_keyboard(lnk, li) {
		lnk.onfocus = function() {
			focus_li = next_li = li;
			step++;
			show_li();
		}
		lnk.onblur = function() {
			focus_li = next_li = null;
			step++;
			show_li();
		}
	}

	for (li = menu.firstChild; li; li = li.nextSibling) {
		if (li.nodeName.toLowerCase() != 'li') continue;
		alist = li.getElementsByTagName('a');
		init_mouse(li);
		for (i = 0; i < alist.length; i++) init_keyboard(alist[i], li);
	}
}

