[1] Removed jquery ui dependency [2] Fixed missing semicolons [3] Focus does not work on non input elements without tabIndex attribute [4] Attaching to document does not work, use body instead