
function doMouseOver(e) {
	var el = $(this)
	if (detectMouseEnter(el,e)) {
		show(el);
	}
}

function doMouseOut(e) {
	var el = $(this)
	if (detectMouseLeave(el,e)) {
		hide(el);
	}
}

function show(el) {
	el.addClass('activeItem');

	var html = zt_main_menu['sub' + el.attr('id')];
	el.children(":first-child").after(html);
}

function hide(el) {
	el.removeClass('activeItem');

	var tmp = el.children(":first-child").next();
	if (tmp) { tmp.remove(); }
}

function containsElement(el1, el2) {
	return $(el2).parents().index(el1) != -1;
}

function detectMouseLeave( srcEl, e ) {
	// relTarg is "where the mouse goes to"
	var relTarg = e.relatedTarget || e.toElement;

	return ( !containsElement(srcEl, relTarg) );
}

function detectMouseEnter( srcEl, e ) {

	// relTarg is "where the mouse comes from"
	var relTarg = e.relatedTarget || e.fromElement;

	return ( !containsElement(srcEl, relTarg) );
}

$(document).ready(function () {
	$(".hasChildren").mouseover(doMouseOver);
	$(".hasChildren").mouseout(doMouseOut);
	$(".hasChildren").focus(show);
	$(".hasChildren").blur(hide);
});


