var Menu = function() {
	var $ = function(id) { return document.getElementById(id); };
	var os = $('menu'), self = this, elemek = [], aktualis = false;

	this.megjelenit = function(obj) {
		if (aktualis !== false && aktualis != obj) {
			this.eltuntet();
		}
		var _os = obj.parentNode;
		_os.getElementsByTagName('ul')[0].style.visibility = 'visible';
		var a = _os.getElementsByTagName('a')[0];
		a.className = a.id + '_over';
		aktualis = obj;
		aktualis.over = aktualis.onmouseover;
		aktualis.onmouseover = null;
	};

	this.eltuntet = function() {
		var _os = aktualis.parentNode;
		_os.getElementsByTagName('ul')[0].style.visibility = 'hidden';
		var a = _os.getElementsByTagName('a')[0];
		a.className = '';
		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) {
		if (!obj.timer) {
			obj.timer = setTimeout(obj.obj.eltuntet, 500);
		}
	};

	var konstruktor = function konstruktor() {
		var elem, ak, a, a2, ul, ujkeret, uja, divek, szelesseg, magassag, i, stilusok = [];

		for (i = 0; i < os.childNodes.length; i++) {
			elem = os.childNodes[i];
			if (elem.nodeName.toLowerCase() == 'li') {
				ak = elem.getElementsByTagName('a');
				a = ak[0];
				ul = elem.getElementsByTagName('ul');
				if (ul.length === 0) {
					continue;
				}
				elemek[elemek.length] = a;
				ul[0].obj = a;
				a.obj = self;
				a.timer = false;
				a.onmouseover	= function() { this.obj.over(this); };
				a.onmouseout	= function() { this.obj.out(this); };
				ul[0].onmouseover	= function() { this.obj.obj.over(this.obj); };
				ul[0].onmouseout	= function() { this.obj.obj.out(this.obj); };
			}
		}
	}();
};


/* preloads image */
var elotolto_tomb = [];

var elotolto = {

	hozzaad: function hozzaad(elem) {
		if (typeof(elem) == 'string') {
			elotolto_tomb.push(elem);
			return true;
		}
		if (typeof(elem) == 'object') {
			for (var i in elem) {
				elotolto_tomb.push(elem[i]);
			}
			return true;
		}
		return false;
	},

	elotolt: function elotolt() {
		var kep = new Image();
		if (elotolto_tomb.length) {
			kep.src = elotolto_tomb.shift();
			if (elotolto_tomb.length) {
				kep.onload = function() {
					kep.src = elotolto_tomb.shift();
					if (elotolto_tomb.length === 0) {
						this.onload = null;
					}
				}
			}
		}
	}
};

