Understanding JavaScript (and Its History) 5 --
Setting Up a Test System 7 --
Configuring Web Browsers 9 --
Including JavaScript Code 11 --
Using External JavaScript Files 12 --
Dynamically Loading JavaScript Files 13 --
Using JavaScript Pseudo URLs 14 --
Executing JavaScript with Event Handlers 15 --
Coping with Browsers without JavaScript 16 --
Detecting the Browser Type 19 --
Checking Browser Capabilities 22 --
Redirecting the Browser 23 --
Creating a Random Number 25 --
Date and Time Information 25 --
Searching with Regular Expressions 28 --
Navigating within the Browser's History 30 --
Displaying the Modification Date of the Page 30 --
Retrieving GET Parameters 31 --
Asking for User Confirmation 32 --
Asking for User Data 32 --
3 Images and Animations 35 --
Creating Mouseover Buttons 36 --
Stretching Graphics 42 --
Visualizing the Page Loading State with a Progress Bar 44 --
Accessing CSS Styles 48 --
Accessing CSS Classes 50 --
Accessing Individual Style Sheets 51 --
Accessing Individual CSS Rules 52 --
Letting the Contents of a Website Disappear 55 --
Applying JavaScript to CSS Selectors 58 --
Changing the Mouse Cursor 60 --
Understanding DHTML 65 --
Accessing Specific Elements 65 --
Determining Node Information 68 --
Creating Text Elements 73 --
Working with Attributes 74 --
Creating a Bulleted List from JavaScript Data 78 --
Creating a Table from JavaScript Data 80 --
Changing HTML Fragments 82 --
Positioning Elements 83 --
Creating a Sticky Navigation 86 --
Creating a Flash Pop-Up Ad 88 --
Accessing Class Members 94 --
Extending Built-In JavaScript Objects 99 --
Reacting Upon JavaScript Events 100 --
Using Keyboard Events 103 --
Submitting a Form with the Enter Key 105 --
Using Mouse Events 106 --
Understanding Cookies 110 --
Reading Out Cookies 113 --
Setting an Expiration Date 116 --
Using Other Cookie Options 117 --
Checking for Cookie Support 119 --
Saving Multiple Information in One Cookie 120 --
Understanding HTML Forms with JavaScript 123 --
Accessing Text Fields 125 --
Accessing Check Boxes 126 --
Accessing Radio Buttons 127 --
Accessing Selection Lists 129 --
Accessing a Multiple Selection List 131 --
Disabling Form Elements 134 --
Preventing Form Submission 137 --
Preventing Repeated Form Submissions 138 --
Giving a Field the Focus 140 --
Selecting Text in a Field 141 --
Emptying Text Fields When Clicked Upon 143 --
Validating Text Fields 145 --
Validating Check Boxes 146 --
Validating Radio Buttons 147 --
Validating Selection Lists 148 --
Automatically Validating a Form 151 --
Implementing Navigation with a Selection List 154 --
Implementing a Hierarchical Navigation with a Selection List 155 --
Emptying a Set of Radio Buttons 158 --
Creating Prefilled Date Selection Lists 159 --
Creating Validating Date Selection Lists 160 --
9 Windows and Frames 163 --
Using Window Options 164 --
Opening a Modal Window 167 --
Determining Screen Size 169 --
Determining the Window Size 170 --
Repositioning a Window 173 --
Opening a Centered Pop-Up Window 174 --
Opening a Full-Screen Window 176 --
Opening a New Window in a Corner of the Screen 177 --
Creating a Sitemap 178 --
Checking for the Presence of a Pop-Up Blocker 181 --
Changing the Contents of Two Frames at Once 185 --
Creating a Web Service with PHP 192 --
Creating a Web Service with ASP.NET 193 --
Calling a Web Service from Internet Explorer 195 --
Calling a Web Service from a Mozilla Browser 198 --
Calling an ASP.NET Web Service from a Mozilla Browser 201 --
11 AJAX (and Related Topics) 203 --
Initializing an AJAX Application 205 --
Sending a GET Request 206 --
Sending a POST Request 208 --
Sending a Synchronous Request 210 --
Receiving Multiple Data from the Server 211 --
Aborting an HTTP Request 213 --
Retrieving HTTP Headers 215 --
Receiving XML from the Server 216 --
Using JSON for Data (De)Serialization 220 --
Creating a Waiting Screen 221 --
Solving the Bookmark Problem 224 --
Solving the Back Button Problem 225 --
Using an XML Library 230 --
Using the Yahoo! Web Service 233 --
Accessing Embedded Media 237 --
Checking for Plug-Ins 238 --
Coping with Recent Internet Explorer Versions 240 --
Accessing Multimedia Content 241 --
Accessing Java Content 242 --
Accessing Flash Content 244.