Javascript the Definitive Guide by David Flanagan