var Menu = function() {
	var $ = function(id) { return document.getElementById(id); };
	var os = $('menu'), self = this, aktualis = false;

	this.megjelenit = function(obj) {
		if (aktualis !== false && aktualis != obj) {
			this.eltuntet();
		}
		var _os = obj.parentNode.parentNode;
		_os.getElementsByTagName('div')[0].style.visibility = 'visible';
		aktualis = obj;
		aktualis.className += ' aktiv';
		aktualis.over = aktualis.onmouseover;
		aktualis.onmouseover = null;
	};

	this.eltuntet = function() {
		var _os = aktualis.parentNode.parentNode;
		_os.getElementsByTagName('div')[0].style.visibility = 'hidden';
		aktualis.className = aktualis.className.substr(0, aktualis.className.indexOf(' '));
		if (aktualis.timer !== false) {
			clearTimeout(aktualis.timer);
			aktualis.timer = false;
		}
		aktualis.onmouseover = aktualis.over;
		aktualis = false;
	};

	this.over = function(obj) {
		if (obj.timer !== false) {
			clearTimeout(obj.timer);
			obj.timer = false;
		}
		if (aktualis != obj) {
			this.megjelenit(obj);
		}
	};

	this.out = function(obj) {
		//aktualis.className = aktualis.className.substr(0, aktualis.className.indexOf(' '));
		if (!obj.timer) {
			obj.timer = setTimeout(obj.obj.eltuntet, 500);
		}
	};

	function ujdiv(className) {
		var div = document.createElement('div');
		div.className = className;
		return div;
	}

	var konstruktor = function konstruktor() {
		var elem, ak, a, ul, ulek, lik, litomb, i, j, ujkeret;

		var keret = ujdiv('submenu');
		keret.appendChild(ujdiv('submenu_header'));
		keret.appendChild(ujdiv('submenu_holder'));
		keret.appendChild(ujdiv('submenu_footer'));
		var img = document.createElement('img');
		img.src = 'i/s.gif';
		img.alt = '';
		var li = document.createElement('li');
		li.className = 'divider';
		li.appendChild(img);
		for (i = 0; i < os.childNodes.length; i++) {
			elem = os.childNodes[i];
			if (elem.nodeName.toLowerCase() == 'li') {
				ulek = elem.getElementsByTagName('ul');
				if (ulek.length === 0) {
					continue;
				}
				ul = elem.removeChild(ulek[0]);
				ujkeret = keret.cloneNode(true);
				ujkeret.getElementsByTagName('div')[1].appendChild(ul);
				ak = elem.getElementsByTagName('a');
				a = ak[0];
				elem.appendChild(ujkeret);
				ul.obj = a;
				a.obj = self;
				a.timer = false;
				a.onmouseover	= function() { this.obj.over(this); };
				a.onmouseout	= function() { this.obj.out(this); };
				ul.onmouseover	= function() { this.obj.obj.over(this.obj); };
				ul.onmouseout	= function() { this.obj.obj.out(this.obj); };
				ul.style.display = 'block';
				lik = ul.getElementsByTagName('li');
				litomb = [];
				for (j = 0; j < lik.length; j++) {
					litomb.push(lik[j]);
				}
				if (litomb.length > 1) {
					for (j = 1; j < litomb.length; j++) {
						ul.insertBefore(li.cloneNode(true), litomb[j]);
					}
				}
			}
		}
	}();
};
