Off topic but I don't like the "best viewed in Google Chrome". Your code should be standards compliant and it will work everywhere.
It should also be noted standards compliant !== work everywhere.
Also, canvas is faster in Chrome. For instance, here is one benchmark about layered canvases (sigma.js actually layers different canvases): http://jsperf.com/layered-canvases/9
So, it is actually "best viewed in Google Chrome", despite it is indeed standards compliant.