$ (dollar sign), using with plugins, 200
) (parenthesis), using to close code, 4
// (double slash), using with comments, 8
/* (slash-asterisk), using with comments, 8
} (brace), using to close code, 4
Accordion widget
features of, 149
using, 226–229
account page, displaying, 107
actions, examining with Firebug, 11
addClass
method, using with sprites, 223
addMovie
form, binding to submit
method, 124
AJAX (Asynchronous JavaScript and XML), 92. See also JavaScript
handling volume of content, 231–234
including jQuery UI widgets, 226–229
loading multiple items, 230–231
AJAX calls, triggering events for, 118–125
AJAX content updates
basing on request, 110–111
basing on user, 108–110
loading scripts, 112–116
AJAX extras
ajaxSetup
low-level interface, 116
JSON (JavaScript Object Notation), 126–133
low-level interfaces, 116–117
triggering events, 118–126
ajax
method, using, 117–118
AJAX methods
getScript
, 112–116
HTTP request, 93
load
, 110–111
post
, 103
XMLHttpRequest, 93
AJAX requests
cleansing user-supplied data, 141–144
cookies for identifying users, 139–141
versus JSONP AJAX requests, 128
MD5 hash, 139–140
preventing form submission, 135–138
providing options for, 116
securing, 134
transmitting data securely, 144
AJAX validation
callback for post
function, 101
check boxes, 94
connection for PHP function, 93
cookie setup, 98–100
data
variable, 101
else
statement, 96–97
error message, 101–102
inserting user’s information, 94
logging in users, 105–107
modal window, 104
mysql_query
PHP function, 96
mysqlErrorNum
variable, 103–104
newName
variable, 101
password, 94
PHP for user login, 97–100
PHP registration, 92–100
PHP’s switch
method, 93–94
registration form, 94–95
registration function, 102–105
SQL statement, 94–95
user name, 94
user name and blur
method, 100
user-name availability, 96–97
validating post
method, 100–102
validation file, 92–100
validation function, 100–102
ajaxSetup
low-level interface, 116
ajaxStart
method
calling waiting indicator, 125
ajaxStop
method
binding, 123
using, 119–121
Alman, Ben, 241
anchor tag, creating, 4
animated graphics Web site, 125
animation
adding to sprite-based navigation, 55–56
easing, 38
animation methods
invisible elements, 30
invoking for modal window, 30
visible elements, 30
application interface
adding sprites to, 224–225
Back button, 241
content area, 206
contextual help, 241–246
CSS (Cascading Style Sheets), 209–214
disabling right-click context menu, 235–240
footer, 206
HTML (HyperText Markup Language), 207–208
improving sprites, 217–221
layout, 206–207
loading content with AJAX, 226–234
navigation items, 206
primary navigation, 206
resize
method, 214–216
secondary navigation, 206
sprite interaction, 221–224
Asynchronous JavaScript and XML (AJAX), 92. See also JavaScript
handling volume of content, 231–234
including jQuery UI widgets, 226–229
loading multiple items, 230–231
attribute selector, using with uploads, 70
Autocomplete widget
div
tag, 167
form input box, 167
script file, 168
selectedAttraction
variable, 169
Bach, Christian, 172
Back Button
handling, 241
and Query (BBQ) Library, 241
background color, removing, 22
background image
gradient-filled, 194
resizing, 194–196
bar chart
creating, 183–188
displaying, 186–187
BBEdit, xii
BBQ (Back Button and Query) Library, 241
Blue-ray Disc example
::contains
selector, 112
loading scripts, 112–116
modal window, 112–113
blur
method
binding to email input, 62
using with user name, 100
brace (}), using to close code, 4
browsers, xiii
caching selectors, 10
calendars, adding to forms, 155–157
callback, using with modal window, 33
cameras.jpg image, using, 85
carousel. See image carousel
carousel file, creating, 37
Cascading Style Sheets (CSS)
applying for application interface, 209–214
border rules, 213
:focus
pseudo selector, 211
footer section, 212
for image carousel, 35–37
important property, 209
inner container, 212
navigation areas, 212–213
outer container, 210–211
for Progressbar widget, 163
for sprites, 52–54
styling Web pages with, 18
Cecco, Raff, 191
chained methods, spreading, 8. See also methods
chaining, explained, 3
Champeon, Steve, 19
charting data, 183–188
Chrome browser, xiii
click
event, using with modal windows, 27–28
click
method
sprite interaction, 222
using in DVD catalog, 115
client-side validation, performing, 68–71
Closure Compiler
downloading, 11
packing and unpacking code, 11–14
Cloud Zoom plugin
centering photo, 192
downloading, 191
options, 193
photo container, 192
zoom effect, 193
code. See also jQuery code
closing, 4
packing up, 11–15
sharing, 16
colorText
plugin, declaring, 200–202
comments and line breaks, 8
::contains
selector, using, 112
content, handling volume of, 231–234
context menu
disabling, 235–240
id notesContext
, 238
notes interface, 239
notes_add.php file, 238
notes.php file, 237
plugin, 236
unordered HTML list, 239
contextual help
class
attribute, 246
CSS (Cascading Style Sheets), 242–243
delegate
method, 243
div
, 244
fadeIn
method, 244
fadeOut
method, 245
helpDisplay
function, 244–245
mouseout
event, 243
mouseout
method, 245
mouseover
event, 243
providing, 241–246
setTimeout
method, 244–245
title
information, 244–246
using, 245–246
cookies
assigning value of, 109
“remember me” value, 140
setting for user login, 98–100
time()
function, 99
using MD5 hash with, 139–140
using to identify users, 139–141
cover art, creating for DVD, 120
CSS (Cascading Style Sheets)
applying for application interface, 209–214
border rules, 213
:focus
pseudo selector, 211
footer section, 212
for image carousel, 35–37
and HTML, 19–22
important property, 209
inner container, 212
navigation areas, 212–213
outer container, 210–211
for Progressbar widget, 163
for sprites, 52–54
styling Web pages with, 18
CSS states, moving elements from, 30
Custom Context Menu widget, 240
dashboards, creating, 188
data
cleansing, 142
transmitting securely, 144
Datepicker
function, using, 156–157
dates, adding to forms, 155–157
debugging with Firebug, xiii, 10
delegate
method
using, 32
using with contextual help, 243
design, planning, 23
dialog boxes, setting widths of, 161
autoOpen
option, 160
buttons, 161
close
method, 162
modal option, 161
NO button, 162
preventDefault
method, 160
reserverequest
table, 159
resizable
option, 161
sleep
function, 159
“Stay with us” tab, 162
Submit button, 160
YES button, 161
div
tag, creating, 4
dollar sign ($), using with plugins, 200
DOM (Document Object Model)
API (Application Programming Interface), 7
examining, 5–6
inspector applications, 6
tree-like structure, 6–7
DOM tree, traversing, 7–10
double slash (//), using with comments, 8
DVD catalog
binding click
method, 115
load
method, 114
main page of, 113–115
Summary element, 115
DVD Collection Catalog, cover art, 120
DVD example. See also postdvd.php file
::contains
selector, 112
loading scripts, 112–116
modal window, 112–113
dvdcount.js script
loading, 115
setting up, 112
dvdcover.php file, creating, 120
each
method, using with forms, 61
easing methods
linear, 38
swing, 38
Easing Plugin, downloading, 38
Easy Background Resize plugin
adding to lodge Web site, 194–196
downloading, 194–196
features of, 194
image path, 195
Electronic Frontier Foundation Web site, 144
elements, selecting, 9
else
statement in AJAX validation, 96–97
email addresses
binding blur
method, 62
hidden error span, 62
inputEmail
variable, 64
.next()
method, 66
span
element with error, 66
test method, 64–65
validating in forms, 62–66
email validation
performing, 141–142
updating, 137–138
error message, for AJAX validation, 101–102
errors, catching for uploads, 69–71
event handler, binding, 3
events. See also submit event
for form methods, 60
triggering for AJAX calls, 118–125
exif_imagetype
function, using, 73
Extensible Markup Language (XML), versus JavaScript Object Notation (JSON), 126
fadeIn()
method, using with modal windows, 30
fields, completing automatically, 167–170
file extensions
regular expressions for, 120–121
testing for uploads, 70
file uploads. See uploads
Firebug
examining actions, 11
features of, 10
handler feature, 10
troubleshooting with, 10
Firefox browser, xiii
fn
object, using with plugins, 200
focus
function
tabindex
attribute, 60
using with forms, 60–62
:focus
pseudo selector, using with CSS, 211
form data, serializing, 103, 125
form elements, clearing, 124
form fields, avoiding blanks, 66–68
form input
for adding movies, 120
client-side validation, 68
completing, 66–68
cursor placement, 61–62
each
method, 61
focus
function, 60–62
looking for, 61
regular expressions, 63–65
form methods, events, 60
form submission
email validation, 137–138
errorCount
function, 135–136
errors
argument variable, 136
incrementing submitErrors
, 138
password validation, 136–137
preventing, 135–138
$submitErrors
variable, 135
forms
adding calendars to, 155–157
adding dates to, 155–157
users_add.php, 232
users_search.php, 230
validating email addresses, 62–66
forums, participating in, 9
functions. See methods
get
method
closing, 109
using, 108–110
getJSON
request method, using with tweets, 131
getScript
method, using, 112–116
Given, J.P., 194
centering map, 182
downloading, 180
loading page, 182
map type, 181
plotting points, 182
properties, 180
setting options, 181
style rules, 180
zoom level, 181
Google Closure Compiler
downloading, 11
packing and unpacking code, 11–14
Google Maps API, popularity of, 180
graceful degradation, 19
GSGD Web site, 38
Gustafson, Aaron, 19
“Hello World” example
anchor tag, 4
binding event handler, 3
chaining, 3
completing, 5
document ready function, 3
head section, 4
HTML div
, 4
HTML markup, 2
jQuery source file, 2
script tag, 2
selector, 3
span element, 4
hello_world.html file, saving, 5
hover
function
image carousel, 39–41
sprite interaction, 222
HTML (HyperText Markup Language)
creating for application interface, 207–209
and CSS, 19–22
unordered list, 239
HTML div
, creating, 4
HTML files, referencing jQuery UI files in, 150–152
HTML form, creating for notes_add.php, 238
HTML list, unordered, 27
HTML markup, defining for sprite-based navigation, 51
HTMLDOM elements, selecting, 18
htmlspecialchars()
function, using, 142–143
HTTPS security protocol, considering, 144
iframe
method
removing from DOM, 125
uploading images with, 124
using with uploads, 75
image carousel
animate
method, 40
automatic scrolling, 37–39
bodyHeight
variable for thumbnail, 48
building, 34
carThumb
class, 45
centering modal window, 49
controlling manual scrolling, 41–44
CSS (Cascading Style Sheets), 35–37
easing animations, 38
enlarging thumbnails, 44–50
features of, 35
function
keyword, 37
height of list items, 36
hover functions, 39–41
invisible portions, 37
left margin for CSS, 36
list items, 37
modal window for thumbnail, 48
mouse cursor, 40
moving, 38
moving list items, 38
moving to right, 42–44
naming items, 48
photoModal
style rule, 45
photoPathArr
array, 46
resetting left margin, 39
restarting automatic scrolling, 41
scrollRight
element, 42
setInterval
function, 39
splitting thumbnail path info, 46
stop
method, 40
stopping scrolling animation, 41
visible portions, 37
width of list items, 36
zooming in on larger images, 44–50
! important
CSS property, 209
images, uploading with iframe
method, 124
inc/movieUp.js file. See also movies
ajaxStart
method, 123
beginning form handler, 124
binding ajaxStop
method, 123
clearing form elements, 124
form handler, 124
modal pop-up window, 123
post
method, 125
removing modal indicator, 124
serializing form data, 125
starting, 123
uploading data, 125
uploading image, 124
interaction, planning, 23
interface.css file
contextual help, 242–243
creating, 209
interface.js file
contextual help, 243
creating, 214
Internet Explorer browser, xiii
JavaScript. See also AJAX (Asynchronous JavaScript and XML)
object literal notation, 126
test
method, 72
unobtrusive, 22
JavaScript Object Notation (JSON)
arrays, 126
name:value pairs, 126–127
person object, 127
requirements, 126
returning in functions, 128
versus XML, 126
JavaScript objects, setting up, 126
jqPlot plugin
$requestArray
, 183–184
barMargin
option, 187
CSS style sheet, 186
dashboards, 188
downloading, 183
features of, 171
$.jqplot.BarRenderer
add-on, 187
JSON array string, 185
margin, 187
mysql_result
, 185
renderer, 187
requestArray
, 184
requestChart
selector, 183
ticks
option, 187–188
x-axis of chart, 188
jQuery code. See also code
closing, 4
combining with other code, 18
jsFiddle tool, 16
testing snippets, 17
jQuery Context Menu plugin, Images folder, 236
jQuery Custom Context Menu widget, 240
jQuery forums, participating in, 9
jQuery library
downloading, xii
including in progressive enhancement, 21
jQuery plugins
Back Button and Query (BBQ) Library, 241
Cloud Zoom, 191–193
colorText
, 200–202
Context Menu, 236
creating, 200–202
Easy Background Resize, 194–196
fn
object, 200
returning this
object, 201
Sexy Curls, 197–199
structuring, 202
Tablesorter, 171–178
tool tips, 178–181
using $ (dollar sign) with, 200
versus widgets, 148
zWeatherFeedjQuery, 189–191
jQuery UI
customizing, 148–150
downloading, xii
referencing files in HTML, 150–152
Web site, 148
jQuery UI widgets
Autocomplete, 149
calendars for forms, 155–157
Custom Context Menu, 240
Datepicker
function, 156–157
“dialog” for visitors, 158–162
Dialog, 149
design of, 152
field completion, 167–170
onSelect
option for dates, 156
versus plugins, 148
Progressbar, 163–167
tabbed interfaces, 152–155
Tabs, 149
ThemeRoller, 148
jquery.colorText.js file, creating, 200
jsFiddle tool, downloading, 16
JSON (JavaScript Object Notation)
arrays, 126
name:value pairs, 126–127
person object, 127
requirements, 126
returning in functions, 128
versus XML, 126
JSON example
DOCTYPE
setup, 129
style info for Twitter widget, 129–130
JSON request, setting up, 127–133
JSONP format
cross-domain request, 128
using with tweet data, 127
Kastner, Cedric, 180
Kember, Elliott, 198
Leonello, Chris, 183
library, including in progressive enhancement, 21
line breaks and comments, 8
live
method, using, 32
load
method
invoking, 111
syntax, 110
using, 110–111
using with DVD catalog, 114
using with multiple items, 230–231
lodge Web site
Easy Background Resize plugin, 194–196
page-curl effect, 197–199
sorting table records, 189–190
zWeatherFeed plugin, 189–191
login, creating PHP for, 97–100
login function, creating, 105–107
mainNav.jpg sprite
categories of, 50
measurement for, 51
MD5 hash, using with cookies, 139–140
Merritt, Mike, 178
methods, applying to objects, 3. See also chained methods
modal windows
for AJAX validation, 104
animations, 30
callback, 33
calling, 27–30
centering, 31
centering for thumbnails, 49
determining for closing, 33
fadeIn()
method, 30
fadeOut
function, 33
margins, 28–29
opening, 31
padding, 28–29
pop-up window, 123
rel
attribute, 28
shaded backgrounds, 31–32
using with scripts, 112–113
movies. See also inc/movieUp.js file
form for, 120
including in discs, 112
mySQL, using, 18
mySQL database, connecting to, 80
mysql_query
function
running, 122
for validation, 96
mysql_real_escape_string()
function, using, 142–144
mysql_result
, using with jqPlot plugin, 185
mysqlErrorNum
variable, 103–104
name:value pair
creating for tweets, 131
parsing, 108
using with get method, 109
naming convention, 48
navigation
making graceful, 27–33
modal windows, 27–30
sprite-based, 50–56
newName
variable, using with post
method, 101
.next()
method, using with forms, 66
notes_add.php file
creating, 238
HTML form, 238
notes.php file, creating for context menu, 237
Notepad, xii
Notepad++, xii
object literal notation, explained, 126
objects, applying methods to, 3
Opera browser, xiii
page redirections, avoiding, 92
page reloads, avoiding, 92
pages. See Web pages
parenthesis ()), using to close code, 4
password
checking for AJAX validation, 94
checking for user login, 97–98
prompting for, 246
password field, avoiding blanks, 67–68
password validation, updating, 136–137
pephoto.sql file, running, 109
pePhotoUp.js file, saving, 70
peRegister.php file, opening, 141
photo table, creating, 109–110
Photographer’s Exchange Web site. See also Web sites
account page, 107
client-side validation, 69–71
cookies for identifying users, 139–141
email validation, 137–138
errorCount
function, 135–136
errors
argument variable, 136
file types, 73
file upload form, 69
form inputs, 61
forms, 60
front page, 26
incrementing submitErrors
, 138
password field, 67–68
password validation, 136–137
preventing form submission, 135–138
retrieving pictures, 108–110
saving image data, 82–83
server-side validation, 72–73
sprite, 50
$submitErrors
variable, 135
upload function, 75–76
photos
retrieving, 108–110
zooming in on, 191–193
photoUpload.php file, locating, 72
photoUservariable
, contents of, 109–110
PHP
createThumbnail()
function, 85
explode
method, 85
imagecopyresampledto
function, 87
ImageCreateTrueColor
function, 87
mysql_query
function, 96
photo upload script, 80
preg_match
function, 72
resource, 100
switch
method for validation, 93–94
testing capability, 72–73
troubleshooting info for uploads, 83
for user login, 97–100
using, 18
using in server-side validation, 72
PHP functions
for data cleansing, 142–144
htmlspecialchars()
, 142–143
mysql_real_escape_string()
, 142–144
PHP registration, building for validation, 92–100
pictures
retrieving, 108–110
zooming in on, 191–193
planning design, 23
plotting data, 183–188
plugins
Back Button and Query (BBQ) Library, 241
Cloud Zoom, 191–193
colorText
, 200–202
Context Menu, 236
creating, 200–202
Easy Background Resize, 194–196
fn
object, 200
returning this
object, 201
Sexy Curls, 197–199
structuring, 202
Tablesorter, 171–178
tool tips, 178–181
using $ (dollar sign) with, 200
versus widgets, 148
zWeatherFeedjQuery, 189–191
callback for, 101
closing, 102
GET
method, 108
invoking, 103
using with ajaxSetup
, 116–118
using with inc/movieUp.js file, 125
validating, 100–102
postdvd.php file. See also DVD example
creating, 121
database connection, 121
database update, 122
running SQL query, 122
sleep timer, 122
preventDefault
setting, using with submit event, 102–103
Progressbar widget
calling, 165
CSS (Cascading Style Sheets), 163
CSS rules, 164
displaying, 165–166
fading in, 165
features of, 163
hiding, 164
removing, 166
setting margin, 164
shade, 163–164
using to close code, 163
z-index, 164
progressive enhancement
applying principles of, 27
examples, 19–22
explained, 19
HTML and CSS, 20
including jQuery library, 21
query strings, identifying, 108
registration function
preventDefault
setting, 102–103
serializing form data, 103
setting submit event, 102–103
starting, 102
registration window, fading out, 105
regular expressions
for file extensions, 70, 120–121
using with forms, 63–65
using with thumbnails, 85
using with tweets, 131–132
return false;
anchor tag, 15
encountering, 15
preventDefault();
call, 15–16
stopPropagation()
, 15
right-click context menu, disabling, 235–240
Safari browser, xiii
script tag, using to close code, 4
scripts. See also server-side scripts
::contains
selector, 112
loading dynamically, 112–116
modal window, 112–113
for tweets, 130–133
Secure Sockets Layer (SSL), 144
security certificate, considering, 144
security protocol, HTTPS, 144
selectors
binding event handlers to, 3
caching, 10
::contains
, 112
creating, 3
reading, 9
requestChart
, 183
serializing form data, 103
server, retrieving info from, 110–111
server-side scripts, securing, 141–142. See also scripts
server-side validation
developing for forms, 72–73
exif_imagetype
function, 73
Sexy Curls plugin, using, 198–199
sites. See Web sites
slash-asterisk (/*), using with comments, 8
sleep
function, using with Dialog widget, 159
sleep timer, creating for postdvd.php, 122
Smith, George, 38
span
element, 4
sprite interaction
addClass
method, 223
click
function, 222–223
creating, 221–224
hover
function, 222
mouseout section of hover
event, 222–223
span
element, 222
span selected
element, 222
sprite-based navigation
animation, 55–56
background images, 52–53
background
position, 53
column position, 53
column width, 53
creating, 50–56
CSS layout, 50
defining markup, 51
hover effect, 56
layout of items, 54
mainNav.jpg sprite, 50–51
span background-position
, 53
span
element, 55–56
spriteNav
rule, 52
sprites, 52–54
width
position, 53
x- and y-axes, 53
spritenav.css file, creating, 218
spritenav.js file
creating, 221
packing, 11–14
unpacking, 14
sprites
adding to application interface, 223
anchor tags, 218
background-position
, 219–220
base width
, 219
CSS (Cascading Style Sheets), 218–221
images, 221
span elements, 219–220
uses of, 54
SSL (Secure Sockets Layer), 144
“Stay with us” tab, navigating to, 162
storyboards, using, 23
styles, applying with ThemeRoller widget, 149
submit event, setting, 102–103. See also events
submit
method, binding addMovie
form to, 124
submitErrors
, incrementing, 138
$submitErrors
variable, initializing, 135
SXSW Interactive conference, 19
tabbed interfaces
creating, 152–155
div
tags, 152–153
unordered list, 153
tabindex
attribute, using with focus
function, 60
table records, sorting, 172–177
Tablesorter plugin
arrival dates, 177
columns, 176
conditional check, 174
features of, 171
HTML markup, 174
HTML section, 173
HTML table output, 175
requests id
, 174
sorter
property, 174
sorting records, 176–177
tbody
section, 175
testing for data, 174
thead
section, 175
unsorted data, 177
using, 172–177
Tabs widget, features of, 149–155
text editors, xii
ThemeRoller widget
choosing styles with, 149
downloading, 148
this
object, returning for plugins, 201
thumbnails
createThumbnail()
function, 85
creating for uploads, 83–88
height and width for, 86
naming, 48
time()
function, using with cookie, 99
timeout, setting for uploads, 77–79
TinyTips plugin
creating on tabs, 179
downloading, 178
features of, 171
setting up, 179
source references, 178–179
Tool tips. See TinyTips plugin
tweet data, returning in JSONP format, 127
tweets
containing in name:value pairs, 131
getJSON
request method, 131
hash tags, 132
regular expressions, 131–132
script for, 130–133
search @
prefix, 132
tweetText
, inserting anchor tags in, 132
Twitter, creating URL access to, 130–131
Twitter API, popularity of, 127
Twitter widget
body section, 130
function of, 133
style info for, 129–130
Ullman, Larry, 100
unobtrusive JavaScript, 22
unordered HTML list
creating, 239
example of, 27
uploaded files
beginning loop for, 80
connecting to mySQL database, 80
createThumbnail
function, 81
processing, 80–81
validation code, 81
uploads
attribute selector, 70
callback-style functionality, 77–79
clearing input fields, 79
client-side jQuery, 76
client-side validation, 69–71
creating thumbnails, 83–88
error span for file types, 69–71
fading in confirmation message, 78
fading out confirmation message, 79
file types, 69–70
iframe, 75–76
inputLength
variable, 77–78
inserting image information, 82–83
modal windows, 78
performing, 74–75
PHP code, 75
PHP troubleshooting info, 83
removing confirmation modal, 79
saving image data, 82–83
scripting, 76–77
server-side validation, 72–73
setTimeout
function, 77–79
SQL query, 82
thumbnails, 83–88
user login, creating PHP for, 97–100
user name, in use, 102–103
users
identifying via cookies, 139–141
informing with Progressbar, 163–167
users_add.php form, loading, 232
users_search.php form, creating, 230
users.php page, creating, 227
user-supplied data, cleansing, 141–144
validation. See AJAX validation; client-side validation; email validation; password validation; server-side validation
visitor, establishing “dialog” with, 158–162
waiting indicator, calling, 125
weather, predicting, 189–191
Web application interface. See application interface
Web pages
curl effect, 198–199
features of, 5
loading portions of, 111
styling with CSS, 18
Web sites. See also Photographer’s Exchange Web site
animated graphics, 125
Cloud Zoom plugin, 191
Easing Plugin, 38
Easy Background Resize plugin, 194–196
Electronic Frontier Foundation, 144
gMap plugin, 180
Google Closure Compiler, 11
GSGD, 38
jqPlot plugin, 183
jQuery UI, 148
jsFiddle tool, 16
regular expressions, 63
Tablesorter plugin, 172
ThemeRoller, 148
TinyTips plugin, 178
zWeatherFeedjQuery plugin, 189
widgets
Autocomplete, 149
calendars for forms, 155–157
Custom Context Menu, 240
Datepicker
function, 156–157
“dialog” for visitors, 158–162
Dialog, 149
design of, 152
field completion, 167–170
onSelect
option for dates, 156
versus plugins, 148
Progressbar, 163–167
tabbed interfaces, 152–155
Tabs, 149
ThemeRoller, 148
XAMPP, xiii
XML (Extensible Markup Language), versus JavaScript Object Notation (JSON), 126
zWeatherFeedjQuery plugin
adding to lodge Web site, 189–190
downloading, 189
RSSlocation code, 190–191
44.200.94.150