//----------------- MOUSE MOVING HANDLING --------------------------
var activeMenu = null;
var activeCell = null;
var activeCellId = 0;

var mouseX = 0;
var mouseY = 0;

document.onmousemove = mouseMove;

function mouseMove(ev){
	ev	= ev || window.event;
	var mousePos = mouseCoords(ev);
	mouseX = mousePos.x;
	mouseY = mousePos.y;

    trackMenu();

	return true;
}

function mouseCoords(ev){
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}

function trackMenu() {
	if ((activeCell != null) && (activeMenu != null)) {
        cellX = findPosX(activeCell);
        cellY = findPosY(activeCell);
        cellWidth = activeCell.offsetWidth;
        cellHeight = activeCell.offsetHeight;

        menuX = findPosX(activeMenu);
        menuY = findPosY(activeMenu);
        menuWidth = activeMenu.offsetWidth;
        menuHeight = activeMenu.offsetHeight;

        if (((mouseX < cellX) || (mouseY < cellY) || (mouseX > cellX + cellWidth) || (mouseY > cellY + cellHeight)) &&
            ((mouseX < menuX) || (mouseY < menuY) || (mouseX > menuX + menuWidth) || (mouseY > menuY + menuHeight)))
        {
            activeMenu.style.display = 'none';
            activeCell = null;
            activeMenu = null;
            activeCellId = 0;
        }
	}
}
