The original is written by JARROD OVERSON here http://html5hub.com/build-a-javascript-particle-system/
I made some minor additions, like colours,. Let me edit the title too as I dont want to give the impression i came up with it.
EDIT: I also forgot to mention you can double click to add a new field to repel particles. You get some interesting effects when you add a few.