Javascript: The Definitive Guide - David Flanagan