/*
$JA#COPYRIGHT$
*/ 

window.addEvent ('domready', function() {
	var sfEls = $$('.ja-megamenu li.mega');
	sfEls.each (function(li){
		li.addEvent('mouseenter', function(e) {
			clearTimeout(this.timer);
			jaMegaHoverOutOther (this);
			if(this.className.indexOf("haschild-over") == -1) {
				if (this.hasClass ('haschild')) this.removeClass ('haschild').addClass ('haschild-over');
				else this.addClass ('over');
				if ((a = this.getElement('a.mega')) && this.hasChild (a)) {
					a.addClass ('over');
				}
			}
		});
		li.addEvent('mouseleave', function(e) {
			this.timer = setTimeout(jaMegaHoverOut.bind(this, e), 500);
			if ((a = this.getElement('a.mega')) && this.hasChild (a)) {
				a.removeClass ('over');
			}
		});
	});
	function jaMegaHoverOut(e) {
		clearTimeout(this.timer);
		if (this.hasClass ('haschild-over')) this.removeClass ('haschild-over').addClass ('haschild');
		else this.removeClass ('over');
	}
	function jaMegaHoverOutOther(el) {
		sfEls.each (function(li) {
			if (li != el && !li.hasChild (el)) {
				if (li.hasClass ('haschild-over'))
					li.removeClass ('haschild-over').addClass ('haschild');
				else
					li.removeClass ('over');
				if ((a = li.getElement('a.mega')) && li.hasChild (a)) {
					a.removeClass ('over');
				}
			}
		});
	}
});