Fully functional and working at this stage, writeup is finished. Only thing left to do is clean up the javascript.