Hi Harry,
A couple of quick answers:
- the cryptography in JavaScript is used in the browser, while in Python it's used on the server. The server-side functions are needed for homomorphic tabulation, decryption, and proofs. There is also a fallback for super old web clients where the ballot encryption is done on the server, but I don't think there are any remaining browsers that need this.
- there isn't one file that contains all of the events in Helios. Helios is written in 12+ year old JavaScript, so no great framework to manage the client-side app back then. At some point, it will be nice to build a more modern client, of course.
-Ben