Javascript The Definitive Guide By David Flanagan