https://www.google.com/search?q=html%20canvas%20wave%20form&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a&source=hp&channel=np
html canvas wave form - Google Search
http://waveformjs.org/#fly
Waveform.js
http://stackoverflow.com/questions/6170169/waveform-visualization-in-javascript-from-audio
html5 - Waveform visualization in JavaScript from audio - Stack Overflow
https://wiki.mozilla.org/Audio_Data_API
Audio Data API - MozillaWiki
http://www.html5multimedia.com/code/ch11/moz-audio-api-waveform.html
Mozilla Audio API - Audio Waveform
http://www.nihilogic.dk/labs/pocket_full_of_html5/#presets/circular.js
All this is done in HTML5 by the way.
http://www.generalfuzz.net/
general fuzz
http://www.nihilogic.dk/labs/
Nihilogic : The Labs - Experiments in JavaScript, Canvas and DHTML
https://www.google.com/search?q=html5+canvas+select&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a&channel=fflb
html5 canvas select - Google Search
http://stackoverflow.com/questions/2801416/html5-canvas-select-drag-and-drop-features-in-a-js-lib
javascript - HTML5 Canvas + select / drag-and-drop features in a JS lib? - Stack Overflow
http://raphaeljs.com/
Raphaël—JavaScript Library
http://raphaeljs.com/reference.html#Element.getSubpath
Raphaël Reference
http://raphaeljs.com/icons/
Icons
https://www.google.com/search?q=raphael+selection&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
raphael selection - Google Search
http://stackoverflow.com/questions/11785366/raphael-selection-assistance
javascript - raphael selection assistance - Stack Overflow
http://stackoverflow.com/questions/5844927/selecting-multiple-svg-elements-and-dragging-them-in-raphael-js
selection - selecting multiple svg elements and dragging them in Raphael.js - Stack Overflow

cool visualization of bart trains arriving with javascript
http://bl.ocks.org/2009621