1. update the structure to better MVC
2. remove mass jQuery DOM creation with underscore template
3. separate the events to each view instance instead of join together
4. pure display will set the "view" at the start of the method name
5. the method name start with "run" means event handler
6. js template (underscore) id will always start with "t_"

todo:
1.fix the position of the arrow for popContent
2. update unnecessary <img> to background-image attribute
3. split CSS files to independent CSS file
4. evaluate the necessary of jQuery version, might change to 2.x or zepto