I'm typing up a blog post on the timeout / modal dialog example I posted last week here. This version expands it by adding a heartbeat to reset the timeout anytime the mouse moves in any of the windows. Also, the direct calls to start the timer and to close the windows are replaced with events.