window.addEvent('domready', function(){

	var subMenu = $$("#nav div");
	var timerId = {};
	var lastUkryjId = "";
	
	function ukryj(idstring){
	
		if(idstring){
		
			timerId[idstring] = setTimeout(function(){

				var sub = false;
				if(sub = $(idstring)){
					sub.setStyle("display", "none").setStyle("visibility", "hidden");
				}

			}, 400);
		}else{
			subMenu.each(function(el){
				el.setStyle("display", "none").setStyle("visibility", "hidden");
			});
		}
	}
	
	function nieUkrywaj(idstring){
		clearTimeout(timerId[idstring])
	}
	
	function ukryjPoziom(el){
		l = el.parentNode.childNodes.length;
		for(var i=0; i<l; i++){
			if(el.parentNode.childNodes[i].rel){
				try{
					$(el.parentNode.childNodes[i].rel).setStyle("display", "none").setStyle("visibility", "hidden");
					nieUkrywaj(el.parentNode.childNodes[i].rel);
				}catch(Ex){}
			}
		}
	}
	
	function getRealOffset(elem){
	
		var leftOffset = elem.offsetLeft;
		var topOffset = elem.offsetTop;
		var parent = elem.offsetParent;
	
        while(parent != document.body){
			leftOffset += parent.offsetLeft;
			topOffset += parent.offsetTop;
			parent = parent.offsetParent;
		}
        var Offsets = {
			top: topOffset,
			left: leftOffset
		}
	
		return Offsets;
	}
	
	subMenu.each(function(el){
		el.onmouseover = function(){
			nieUkrywaj(el.id);
		}
		
		el.onmouseout = function(){
		
			var idstring = this.id;
			ukryj(idstring);
		}
	});
	
	$$('#nav a').each(function(el){
		if(el.rel){

			el.onmouseover = function(){
				ukryj();
				var sub = false;
				if(sub = $(this.rel)){
					nieUkrywaj(this.rel);
					var off = getRealOffset(this);
					sub.setStyle("position", "absolute");
					sub.setStyle("left", off.left);
					sub.setStyle("top", off.top+this.offsetHeight + 7);
					sub.setStyle("display", "block").setStyle("visibility", "visible");
				}
			}
			
			el.onmouseout = function(){

				var idstring = this.rel;
				ukryj(idstring);
			}
		}else{
			el.onmouseover = function(){
				ukryj();
			}
		}
	});
	
	$$('#nav div a').each(function(el){
		el.onmouseover = function(){
			var sub = false;
			ukryjPoziom(this);
			if(sub = $(this.rel)){
				nieUkrywaj(this.rel);
				sub.setStyle("left", this.offsetLeft+153);
				sub.setStyle("top", this.offsetTop-4);
				sub.setStyle("display", "block").setStyle("visibility", "visible");
			}
		}
	});
	
	ukryj();
});
