I'm looking for the best way, best practice, to create a graphical and interactable timeline on a website.

I want to create an history timeline. There should be:
a timeline slider, both playable and slideable.
layers on the map and slider that you can turn on and off.
zoom so you can look closer in on the map.
event window that explanes the events you are clicking on that's represented on the map or slider.

So I'm turning to you with more experience than me and ask what way, what practice, is best to do this in? Flash, Java, Php, only html or other?

Thank you for your time and help!