/*
Element.addMethods({
	onmouseenter: function(element,observer) {
		element = $(element);
		element.observe('mouseover',function(evt,currentTarget) {
			var relatedTarget = $(evt.relatedTarget || evt.fromElement);
			if(relatedTarget && relatedTarget!=currentTarget && relatedTarget.childOf(currentTarget)==false ) {
				observer();
			}
		}.bindAsEventListener({},element));
		return element;
	},
	onmouseleave: function(element,observer) {
		element = $(element);
		element.observe('mouseout',function(evt,currentTarget) {
			var relatedTarget = $(evt.relatedTarget || evt.toElement);
			if(relatedTarget && relatedTarget!=currentTarget && relatedTarget.childOf(currentTarget)==false ) {
				observer();
			}
		}.bindAsEventListener({},element));
		return element;
	}
});
*/
Event.observe(window,"load",function()
{
	var topLevel = $$('.menu_item');
	var timer = null;
	topLevel.each(function(menuItem)
	{
		//var overlayItem = menuItem.down('div').next('div');
		menuItem.observe("mouseenter",function()
		//Element.onmouseenter(menuItem,function()
		{
			if(timer){
			//	clearTimeout(timer);	
			}
				//menuItem.down('div').setStyle({
				 // height: '0px',
				//});
			var queues = Effect.Queues.get("m_"+menuItem.down('div').id);
			if(queues) queues.each(function(effect) { effect.cancel(); });
	

			//new Effect.BlindDown(menuItem.down('div'), {duration: 0.3, queue: { position: 'end', scope: "m_"+menuItem.down('div').id }});
			new Effect.Morph(menuItem.down('div'), { style:'height:100%;', duration: 0.3,queue: { position: 'end', scope: "m_"+menuItem.down('div').id }});
			//setTimeout(function(){
//			if(menuItem.down('div').getHeight() != 148)
//			{
//				menuItem.down('div').setStyle({
//				  height: '148px',
//				});
//			}
//			},300);
			
		}).observe("mouseleave",function()
		//Element.onmouseleave(menuItem,function()
		{
			var queues2 = Effect.Queues.get("m_"+menuItem.down('div').id);
			//alert(queues);
			if(queues2) queues2.each(function(effect) { effect.cancel(); });
			
			//timer = setTimeout(function(){
			//new Effect.BlindUp(menuItem.down('div'), {duration: 0.3, queue: { position: 'end', scope: "m_"+menuItem.down('div').id }});
			new Effect.Morph(menuItem.down('div'), { style:'height:0px;', duration: 0.3,queue: { position: 'end', scope: "m_"+menuItem.down('div').id }});
			//},400)
			//setTimeout(function(){
//			if(menuItem.down('div').getHeight() != 0)
//			{
//				menuItem.down('div').setStyle({
//				  height: '0px',
//				});
//			}
//			},300);
		});
	});
});