Beginning JavaScript by Russ Ferguson