JavaScript Lab #2
Part 1
Part 2
Part 3