Processing:

HTML/Javascript: