I want to develop an online browser game which is heavy in graphics and functionality.I am new to these technologies so pardon me for any vague questions:

1. How and where should i start?
2. What should be my front-end programming choices and workflow?
3. What should be my back-end programming choices and workflow?
4. Do i need a game engine for a browser game?