+function onMouseMove(event) {
+ if (typeof event === 'undefined') {
+ return;
+ }
+
+ var x = event.pageX;
+ var y = event.pageY;
+
+ if ( x === g_state.mousePos.x
+ && y === g_state.mousePos.y)
+ {
+ // No change from previous known position.
+ // Nothing to see (or do) here, move along.
+ return;
+ }
+
+ // Remember current mouse (x,y) position
+ g_state.mousePos.x = x;
+ g_state.mousePos.y = y;
+
+ // Is there an active tooltip?
+ if (typeof g_state.tooltip.mousePos.x === 'undefined') {
+ // No active tooltip, so nothing further to do
+ return;
+ }
+
+ var deltaX = Math.abs(x - g_state.tooltip.mousePos.x);
+ var deltaY = Math.abs(y - g_state.tooltip.mousePos.y);
+
+ if ( deltaX > g_state.tooltip.threshold
+ || deltaY > g_state.tooltip.threshold )
+ {
+ hideDetails();
+ }
+}
+