JavaScript port of OctoClock with graphical representation