Multi browser support 1

First draft proposal. Have a look and then lets have a talk.
This match statement looks suspiciously like a hash map rather than a pattern matcher...