
menuHandler = {
	menuOver : function (e) {
		e = e || window.event;
		var object = e.target || e.srcElement;
		if ( floatPointer.style.display != 'inline' )
			floatPointer.style.display = 'inline';
	},
	menuOut : function (e) {
		e = e || window.event;
		var object = e.target || e.srcElement;
		objectUL = object;

		if (e.toElement) { // с этой фигней надо разобраться
			objectToElement = e.toElement;
			while ( objectToElement.tagName != "UL" && objectToElement.tagName != "TD" && objectToElement.tagName != "BODY" ){
				objectToElement = objectToElement.parentNode;
			}
			//alert(objectToElement.tagName);

			while ( objectUL.tagName != "UL" )
				objectUL = objectUL.parentNode; // находит тот блок, в котором сидит подменю

			if ( objectUL != objectToElement ) // убрать стрелку, если уехали куда-нибудь вовне, а не внутрнее событие вызвало виновато
				floatPointer.style.display = 'none';
			//alert(objectUL == objectToElement);

		} else // для FireFox например можно сразу убрать
			floatPointer.style.display = 'none';

	},
	menuMove : function (e) {
		e = e || window.event;
		var object = e.target || e.srcElement;
		floatPointer.style.top = e.clientY - 4 + (document.documentElement.scrollTop || document.body.scrollTop) + "px";
	},
	init : function() {
		floatPointer = ge("floating_pointer");
		menuHandler.addHandler( ge("menu"), 'mousemove', menuHandler.menuMove);
		menuHandler.addHandler( ge("menu"), 'mouseover', menuHandler.menuOver);
		menuHandler.addHandler( ge("menu"), 'mouseout', menuHandler.menuOut);
	},
	addHandler : function(object, eventType, functionHandler){
		if ( object.addEventListener )
			return object.addEventListener(eventType, functionHandler, false);
		else
			if ( object.attachEvent )
				return object.attachEvent("on" + eventType, functionHandler);
			else
				return false;
	}
}

menuHandler.addHandler( window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null, "load", menuHandler.init );





function getBodyScrollTop()
{
	return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}
function getBodyScrollLeft()
{
	return self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);
}