vote works on all pages, refactor web_socket.js