
Window.addEvent('domready', function(){
	//console.log($ES('.main_menu li.has_childs'));
	$ES('.main_menu li.has_childs').addEvents({
		mouseenter: show,
		mouseleave: hide
	})

});
var openedElement = false;

var getLi = function(container){
	container = $(container);
	
	var findLi = function (el){
		var result = null;

		if(el.hasClass('main_menu')){
			result = false;
		}
		else if(el.getTag() == 'li'){
			result = el;
		}
		else{
			result = findLi(el.getParent());	
		}

		return result;	
	}

	return findLi(container);
}

var checkLi = function(el, p){
	var result = null;
	
	if(el.hasClass('main_menu')){
		result = false;
	}
	else if(el == p){
		result = el;	
	}
	else{
		result = checkLi(el.getParent(), p);
	}
	return result;
}

var getSubMenuContainer = function(baseContainer){
	var ul, result = false;

	if(
		(ul = $E('ul', baseContainer))
	){
		result = ul;
	}
	return result;
}
var show = function(event) {
	//event = new Event((window.ie)?window.event:event);
	event = new Event(event || window.event);


	var ul, li;

	if((li = getLi(event.target)) && (ul = getSubMenuContainer(li))) {
		li.addClass('selected');
		ul.removeClass('hidden');
		openedElement = li;
	}
}
var hide = function(event) {
	event = new Event(event || window.event);
	var ul,li;
	
	if((li = checkLi($(event.target), openedElement)) && (ul = getSubMenuContainer(li))) {
		if((!$ES('li.active', li).length)){
			ul.addClass('hidden');
			if(!li.hasClass('active'))li.removeClass('selected');
			$ES('ul', ul).addClass('hidden');
			$ES('li.selected', ul).removeClass('selected');

		}

	}
}