JavaScript: A Programmer's Companion from Basic through DHTML, CSS and DOM