var elOpened = null;
var bOvered = false;
window.addEvent('domready', function(){
	$(document.body).addEvent('mouseover', function(event){
		var t = $(event.target);
		if (!t.getParents)
			return;
		bOvered = $(event.target).getParents().some(function(el){ return (el.id == 'main-menu'); });
	});
	
	$('main-menu').getChildren().each(function(elChild){
		if (elChild.get('tag') != 'li')
			return;
		var elA = elChild.getFirst();
		var elUl = elA.getNext();
		if (!elUl)
		{
			elA.addEvent('mouseover', function(){
				if (elOpened && elOpened != this)
					hideSub(elOpened);
				elOpened = this;
			});
			return;
		}
		elUl.nHeight = elUl.offsetHeight;
		var elDiv = new Element('div').inject(elUl, 'before');
		elUl.inject(elDiv);
		elUl.setStyles({
			'visibility': 'visible',
			'margin-top': elUl.nHeight * -1
		});
		elUl.set('morph', {duration: 500});

		elDiv.setStyles({
			'overflow': 'hidden',
			'height': 0
		});
		elDiv.set('morph', {duration: 500});

//		elA.onclick = function(){ return false; }
		elA.addEvent('mouseover', function(){
			showSub(this);
			if (elOpened && elOpened != this && elOpened.getNext())
				hideSub(elOpened)
			elOpened = this;
		});
	});

	(function delayTest()
	{
		if (!bOvered && elOpened && elOpened.hasClass('opened'))
			hideSub(elOpened);
	}).periodical(1000);
});

function showSub(elA)
{
	elA.addClass('opened');
	var elDiv = elA.getNext();
	elDiv.get('morph').start({'height': elDiv.firstChild.nHeight});
	elDiv.firstChild.get('morph').start({'margin-top': 0});
}

function hideSub(elA)
{
	elA.removeClass('opened');
	var elDiv = elA.getNext()
	elDiv.get('morph').start({'height': 0});
	elDiv.firstChild.get('morph').start({'margin-top': elDiv.firstChild.nHeight * -1});
}
