A browser-based crossword puzzle implemented in JavaScript