move style and script to their own files
use knockout.js for data-binding.  rewrite formatting function using functional programming from underscore.js