From: <Saved by Windows Internet Explorer 7>
Subject: Delta Air Lines - Airline Tickets and Airfare to Worldwide Destinations
Date: Tue, 15 Sep 2009 13:46:45 -0500
MIME-Version: 1.0
Content-Type: multipart/related;
	type="multipart/alternative";
	boundary="----=_NextPart_000_0000_01CA360A.F6F3B4E0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://images.delta.com.edgesuite.net/delta/temp/logo_w_skyteam.gif

R0lGODlhAQFHANU1AOUZN5gBLv///3+evL/O3UBum+/z9xBJgZ+2zd/n7mCGqyBVis/a5jBiknCS
tKsHMFB6o6/C1ezP2P3x8o+qxKUhSPnv8ucnRJ4RO+g2UMuAlvKMm7JBYvzi5tifsPWotPSap+xT
aepEXasxVfB+j+9wgt+vvfLf5eW/y79hffrU2fjFzfe3wO1hdtKPo8VxitCBl8xXcuKisbhRcAA9
ef///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADUALAAAAAABAUcAAAb/wJpw
SCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq/b7/i8fs/v+/+AgYKD
hIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanihMTqJY0A0IGrgwReCQxrJARrzUE
CzQJNRE0DgsHDHYrAA8muI0FBQ7AAwsNBTUOBQcHEAQGdBMZyhUWXAgD5+jpBMBT6e7vu0sJ7lDm
8PfoBE7P/AhdCjQUULjWTR+BCBAg+KuzAYCyAC+4FKBBsaJFigsGsHtysePFJgQ+PpnosWTFeEoQ
XFyghcCxBAcWKPB2JAHNOSocPgyAYgtJ/5MWUTIB2hGkyH1ESwpF0qCjvisMjAmJ8PSPCJ0PAgQY
p+VnUhoNbi75WtGoRSheybpiwsAjBCwNqIltMmDumoZYtQbQ0NWiAnQFmnYM2+TiX3xmyz6xlw5g
0HdVkzjuuJGKTQgKohjI7KaDTodZ9UrI4pWAgNOnDQw4cNFBYYuRp4Q8a2W2Ys2sPS59ItYuEV0I
KjPYfSbE551aR5CGjbp51IuVkVyMLcU2xSvWaUyhYNErSyoUBi6J4AvCAAcLhSiIfgbEceRa+V4p
3dx566GwsR+lkn2KL4oHCJAbRbRQUQB1RKhUAHtCMMBZGh1c8F5oegVwwnzM1YcaBBZ9p//EdPrR
VkV/UVjngAAOWPSWFAw0oIAC6RUBkAICJADQAQWgtIBvYxg3YYVacYBhRaZpeJpKIiZxUTX8NOla
YtfVtp8THFaUQI3QacEAAVzOKEBUB8Q4hAMFnsHCe6ABqZULVtBnpADZIUgEWdZAqZ2USTaRgEUN
oCYYRU9aQd4CDqxGwwFkHtAAAwKspuhC56AxgYRoUlghBhcamOGbIH74VZ1MkDjilEwMYBECqCEJ
oBQDqSbEMAIYwCEFAqi0QAEINKWRAt8RsKIZLaCZppoBCKkpkW/G2qmSnzohKn+kLjHgAQagZsCA
NIjJBAIQLHBMDQWYpw2qUYUFE46sHSj/BAGgknGmsPABycwUbhqZHYNz+nWPtkg8K1u0SahKQ0bp
/EdRu004iOsQBAyAQLUIKGqAAQ1IZcQACIcBDrzxXkqOFPVqyF2eRywLLcklAoxEWkThiwQCCLhU
hAHzgDVxxd8aUagZJHBcAgwYEKvVDPRuqqHBNPzKLJEh3nay0/KoRdGDVmCMa404J7EAv14kg+YF
G6xSgwUaBE1sT1GE3FyKp+LHNJ5QV6eyEZORRS0UBkRQQJlFEKBNzka05TIX4RwHtthEkG12hVyh
ZXRqbFfkoadvj4oyFP4mce1j8FzENRKYEUA1AzBPtKgSCmT8BV46HT7EBB/I8PHYGlQA/2REjiOb
GgHEOPVa5U9HaXncL6uYRJUUNQCFQANQXQO3MC4REt9g5KRTBiAg3gEJEj6AQQqZCuGB7XqhjZTU
nxchtZxEZGeS6kZkjgTS1P92EeBLDDfxFAbcWsZVAMjAB4iwgmDlJUjzEh/5KjAECYxGCSwzSZg4
ohb2MYxOdoLS5I6ANOeBgWIHGJwWGiLA14GgcJ+x1FZcMLvx7aUGEhgBBh64MrKsBwrrCxUGdXg5
GVkkUEiI3KF4xAQRDgGE+PtCB0QwQCF0oASU+pGavkdDD3DAgRwYAQ2PEEHJQYACRFzaVyy4rh1K
b25C2JNFRKjGiohHCgaIxnhiksQxsIHAR/BSIZA44IEiOLAZfDhP/QyQq4CEsQsTOCHHDig0rVRA
A7MDZB8MQAEmYaMphDLiFlQAxUWmsJFqSsEWJckHA3CJS4ckpSpXycpWuvKVsIylLGdJy1ra8pa4
zKUud8nLXvryl8AMpjCHScxiGvOYyEymMpfJzGY685nQjKYkggAAOw==

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://images.delta.com.edgesuite.net/delta/enhancedCal/icon_calendar.gif

R0lGODlhDQANAKIAAP/39/n5+f/eAOqKGuAZM8zMzP///wAzZiH5BAAAAAAALAAAAAANAA0AAAMy
GLfcpyTKSRa9LjdjCvcdt3xkaCxFmg7skI7mIAiDeJQybatr+94dgAkEAxlFCg0jkAAAOw==

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://images.delta.com.edgesuite.net/delta/icons/help.gif

R0lGODlhEQARAJECAHeZzP///////wAAACH5BAEAAAIALAAAAAARABEAAAIulI+pywIPI0iyPhSD
1hE//gWQV4HTUZqnIakXmlmkNcKQuzqZKM10rvs1hsRFAQA7

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://images.delta.com.edgesuite.net/delta/backgrounds/headers/popup_header_left.jpg

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgIC
AwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD
AwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgAHwB4AwERAAIRAQMRAf/EAIUAAQEBAQADAAAAAAAAAAAA
AAAKCQgFBwsBAQEBAQADAQAAAAAAAAAAAAAHBgUCBAgJEAAABwEBAQABAwUBAAAAAAABAgMEBQYH
CAAJERITFiEiFBUKIxEAAgEEAgEEAQIGAgMAAAAAAQIDABEEBRIGITFBIhMHUTJhcYFSIxSRQtEk
Jf/aAAwDAQACEQMRAD8AlM9+iNfCVPKU8pTylPKU8pTylPKU8pTylPKU8pTylPKU8pTyld7fNXhS
8/Q/rLPue6qV7H1ldcLZr10aolUJQcmgnrItqsQioU6IyjsXiEbFJHASLyz9sRT9KQqKEy/b+zY3
VNHLtZ7GYDjEh/7ysDxX+QsWb9FUkebCtF1br2R2bcx62G4i/dI39kYI5N/PyFX9WI9r1qN/0F/J
WC4P02nbtz1VFYflbW0oyqDDNVHz5rlmrwsJ+leuOXsg5ePFY3QIeIVmI9VVU5zPEZJEQTTRb/uY
v8Wd6k7Nhyazavy3cF2ubAyRE/uAFhdCQjAD0KHySba38k9Nj69lpsNYnHUTWW3k/XIB+25ubOAW
H8Qw8AC84fq5Uwqv3tD5/wDwp5j65o3DekxvaGT3nTazTJmubhUL1TrZnlbkNDsMrV6ylcmFtaSc
0jEtpOGOZ6s1jVATSUL+TkKJ1kIL17tP5L3Ohl7JhnXT40LuGhZHWRhGoZuBUgXIPgFvX/g2re9c
/H2p3UfX8oZ0ORKilZVdWRS7FV5Brm1x5IX/AMic/wCgXGls4E6y1Tl622BncFaG8h3teubBirFt
bdT7VBx1mrE5/rF13R4x+pFyhEHzUFl020ggukmssmQqx6z1bsEHaNHBuoEMYlBDITcq6kqy38XF
xdTYXUgkA+BMeyaObrm5m1MzBzGQVYC3JWAZTb2NjYi5sQQCR5qlvuL5l/NXj243alMvm/8AU/ao
Wr59/NHO6443sdvxCHSWhX0m7VmLmZFtHNEqim0FWWFUxSNUiiY4gACPo/1vuPb9/jx5LbfSY8jy
8Ppl4rMfIAsnqeV7L+pqqdg6p1bSTyQLq9vPGkXL7YuTRDwSbt6fG12/Sps/m7hNA6c7o5nwPU28
o7z3UtJZVi2NoWTVh5VaKXjpFyoRjKIkUVZLiq2L+DlKIgH59Xu3bPK03WszaYRUZcEJZbi4vceo
96l3V9fjbbsGJrswE400oVrGxtY+h9q9a9mZhVcS7A6txiiovW9IyLpPc8wpyEk8PIyKFVoOn2iq
V5GQkFCkUfvU4iJRKqsYAMqoAmEAEfe31/Nn2Wgwdhk2OTPhwyPYWHJ41ZrD2FybD2r1N5iQ4G7z
MHHuMeHKljW5ueKSMq3PubAeaoP+dnL3xY7SyjZJJfBeuou9cp8zIbTtUi+1aEYwt1k61W3C9xSz
5nGy75Rt/tJiHdKMknpWqZElUynMUQH8Svtm6/IfXc7HQZWA2NnZn0wgRElAzfDmSB6Ai9r+b1Su
s6nom9w52ONmjIw8T7ZSZAA5VflwAJ9SDa9vasCetJnky6a/HrcOZtsWf5Q5rMFGBU9gm422Xl7f
DSEoWUdM3UDIS6CkbINV2KTZApxV/dIf+3+4PzUdFHvMfAI7JNjy5wdjyiBVAlhYEMB5Hkk+lrVO
dy+mnzQevxTx4ZQDjIQzl7m9rE+D4sP1reLvj4nYZzn85h0/KbHPWPs7l5lhc53PUhsgzMZWY/Za
4Dp81jq4mzTTYErlgno87R03VUKtCNHTlcoCAmTmPV/yLstt23/SzkVOvZpmGG3GxYxNYXa/nkqt
cEeHKgfxofYuh6/V9Y/28Nmbe4giOWvK4USr5stvHFiLEeqgk/wl3QRO4XRbpikVRdVNEhl10GqB
TqnAhRWcuVEmzdIBN/cdQ5SED+phAAEfWgmwufQVJQLmw9a2ix7m21WY5sT5i4uru/SCjW413Qeu
dVrlo0bKGLidpFRhLc1za15RY57P5ljX7dT5KToEvEJjcXH8j/1CUU8l0UF3E8z9vBD/APR3OxfF
W6MmLGyxyni7FTIsqq4LK6rOrf4h9f2F1jJA3WDq5pv/AENTgLktZlfJkVnjF0UNwaNihCsrNCy/
5Tz4BGcAnmzvbGtAidM0fSbhn2I5Y+Rm6I1cUnm2jyNLwSQq9mqq7ev6NkDZ+dN0tXpiw1KTQmEV
mbEI6QXagn+8V2JW3Y6vsMWTDhxMeXJnXi/zyHDzhlb5Ry28cgrKVILclDXtx88rsWDkplS5U8WP
C3JPhAhWEqy/F47/APUsrBgQOLFbX5eM6/ayszVx3xTLSuS+VUI3NdN49xnbt3QjbZtnRPT24Zmv
K1xH9Kv8Sz3NOdarfIq92iOoEVIL/wCZ/K56ikUsSztZunIxxmqnvm38if7G93ZfMhz8jW4xKwwY
8Mlm/ukknZCilyBb6km+AUEo/IVfuiCDTafhiy4UGfkANLNPLHdf7USFXDsEBN/seL5liAy2NaF9
K6DS9Q5+0vnHoDrXi3vTD9LgV4+Vl6/s/PPPfUtDkynK/hbLS4SRu489abPVKxNkH8UZxI56ZqCJ
UlzyRgOZfKafFyMLaQ7fVYOx1eyha4DRTz4zj0KuQn3xqy3VrLPe9xw8W0u1yYMvWy6vZZmDsdfK
tiRLDDkIfUMoL/TIVaxW7Q2tY8vf54O15rB5NdnFKhtBidFXjEnac5JwsNMRDCMlm09NRyUaipLJ
kTmEnkIwZyiTxmdZodCRImBxUSVAv1drsyTOxhkSRNEDawJBJHEG/j0sSVsbG6k2sRXzTn4seHkG
BJBKRe5AIANyLefW4Aa4uLNb1Bqrvt/rT4Qdedh0Tt/UekOjLo9y+tUOJS59omFTsbG6CXO7HN2e
KYyNgu8NBtk2Uu+mRSfNzPWJVWxBIVwkJxOEQ65ovyZodBL1vCw8SNZnc/e8ykp9ihSQqE+QBcGz
WPsasO/3P483W7j3+XlZUjQog+lIiA/BiwBLgeCT5Fxce4qc/wCkHaUr9AOw9Y6dfV09Pibi6hoe
mVBZ4V+4rlHqMKxrdaZP3ZAKitLvGUf/AJr8Ug/Z/wA50sCX/n+n1Z6j11OraCDTK/2PGCXe1uTs
SzED9ATZb+eIF/NTHtG9fsm7m2zLwRyAq3vxRQFUE/qQLn2uTbxVMXcPfvzX7M0+y3Rh9jO/ufqD
bKUwo83hWSUveovJpCOTjXcVOqP6oihHwsh/LGbw5JFNZqZNyQRKoByiIej3W+rdv69hJjv1/V5W
VHIXE0rwmUG4K2byRxI+Nj49qqu/7H1beZbzru9ljY7xhDFGswjItY3XwDyB+Vx596md+aG3Z1zd
3lzBumtSzqCzfM9NY2W3y7KKkpx2wiEI6SbqLoRMQ2dyT84KuSB+2ikc4/n8/j+nrD3DW5e36xm6
zBUNlzQlUBIAJuPc2A/rUq6rn4ur7FibDNYrixShmIBJAsfYXJ/pXaH0njflLpcn0f03zT2Js2k9
B7Htlp1hjj9lwyw06loG1PTXtqt7FO2y0CwMRvWI2ecmaCqoVRwKBCiAmN+PZ7qD93w0xNNuNfjw
6rHxliMqzK7/AOOMKh4gn9xUXt6Xru9pXp+W+VtdVnTy7KfIaQRtEVX/ACSFmHIgftBNr+tq8f8A
IjsvAeS6b9DofcLTJVt/0Fx/csjy5KPrFgsZZq8zEVZGrCNeKwUe+Thm6q0ikAuXQpIF/UIiYAAf
effOv7Te5Gqk1qK64ueksl2VbICpJFyL+h8C5rx6XvNdpoNmmwcq2ThNHHZS13IawNgbeo8nxXLP
y7t/L2a9w4bq/YNpdVjE8jsJtNfkZVKeubixW+oImks9gDRFejZZyLI10IyeOzLIGbqM2aqBhAyx
RDtd0x91mdbycHQIH2M6fWLsqcUfxI12I88LgWN7kH2rkdSn1OLv8fM3blMCFvsNlLcmXygsoPjl
Ym4tYEe9bsYD/wBC+W690Tv9U7O5n5nynlzq6l6DQte1fHsUtaPQlnrqVXmq/lzbZLMxuN0c6UaP
qblSE/JItQWLp6RZt/jNElSDNNp+Ks3A1OLP17MzJ91gyI8UUsy/Qrcg0n1KUT67t8/3eQCDdiDV
B135KxM3Z5MO9xMSHUZkbpJJFE33MvErH9rBm52X4ft8E3FlBqVmXWY0vQZRxntpUnY2p3J6tR7q
lGuYpWZYwM2qetWlOIlm6byNUkG7VB2DZykVVET/AKFCAYBD1sjDZGKoy04vJGOaXvYsPktx4Nrk
XB8+oqQuVgyScZ+SI54Na1wD8WsfIv4Nj6e9a65P9HNijL30Hf8AGT1qGh9FssjM0nD9v6Pj1YLL
F5hCcPLXAJDSI/Oa1fJCxy9zkFXqMI/hFHqjqSbSMWtX5N+weYPO6lr3xsXF2HNpIkAeaHHN5Lcb
LaMyMgUIti6vayFHEqKy7TD7PnJkZOTg8FSVyUilnFo73u13CK5Ys1whS92DIY3ZW5c6Q2GckM6s
Nc1bf5Dp/pDVLzB2rRbka5zGi1XJKnWf5RJJZ1XL6+dOK9b7Debfbf8AZy564LitxaEMxSZvnizt
4kw7Wo18SZaTYOKMLUQRFY04CNpWbiPsZAOSqiLxX7LSMXYsqhVLcjaZ0jYrRZmScvaTSBnbkXWN
V5Hgrn4szs3JuF0UKoVmLMFz79qqzdPKU8pTylPKU8pTylPKU8pTylPKU8pTylPKU8pX/9k=

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/shared/components/css/home.jsp?ts=2009815&version=42

HTML {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
BODY {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
DIV {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
SPAN {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
APPLET {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
OBJECT {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
IFRAME {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
H1 {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
H2 {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
H3 {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
H4 {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
H5 {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
H6 {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
P {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
BLOCKQUOTE {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
PRE {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
A {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
ABBR {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
ACRONYM {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
ADDRESS {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
BIG {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
CITE {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
CODE {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
DEL {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
DFN {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
EM {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
FONT {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
IMG {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
INS {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
KBD {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
Q {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
S {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
SAMP {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
SMALL {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
STRIKE {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
STRONG {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
TT {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
VAR {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
B {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
U {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
I {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
CENTER {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
DL {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
DT {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
DD {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
OL {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
UL {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
LI {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
FIELDSET {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
FORM {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
LABEL {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
LEGEND {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
TABLE {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
CAPTION {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
TBODY {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
TFOOT {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
THEAD {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
TR {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
TH {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
TD {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BACKGROUND: none transparent =
scroll repeat 0% 0%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; VERTICAL-ALIGN: baseline; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px; outline: 0
}
BODY {
	LINE-HEIGHT: 1
}
BLOCKQUOTE {
	quotes: none
}
Q {
	quotes: none
}
BLOCKQUOTE:unknown {
	content: none
}
BLOCKQUOTE:unknown {
	content: none
}
Q:unknown {
	content: none
}
Q:unknown {
	content: none
}
:focus {
	outline: 0
}
INS {
	TEXT-DECORATION: none
}
DEL {
	TEXT-DECORATION: line-through
}
TABLE {
	BORDER-COLLAPSE: collapse; border-spacing: 0
}
HTML BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
BODY {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/temp/header_bg_temp.gif) =
#fff no-repeat left top; MARGIN: 5px; FONT: 11px Verdana, sans-serif
}
BODY.hlpBackground {
	BACKGROUND: #fff no-repeat left top; MARGIN: 0px
}
BODY {
	COLOR: #333
}
TD {
	COLOR: #333
}
TD {
	FONT: 11px Tahoma, Arial, sans-serif; VERTICAL-ALIGN: top
}
IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
A {
	FONT-WEIGHT: bold; COLOR: #069; TEXT-DECORATION: none
}
A:hover {
	TEXT-DECORATION: underline
}
P {
	FONT-FAMILY: Verdana, sans-serif
}
* P {
	FONT-FAMILY: Verdana, sans-serif
}
TABLE P {
	FONT-FAMILY: Verdana, sans-serif
}
TABLE TR TD P {
	FONT-FAMILY: Verdana, sans-serif
}
TABLE TR TH P {
	FONT-FAMILY: Verdana, sans-serif
}
TABLE THEAD TR TH P {
	FONT-FAMILY: Verdana, sans-serif
}
TABLE THEAD TR TD P {
	FONT-FAMILY: Verdana, sans-serif
}
TABLE TBODY TR TD P {
	FONT-FAMILY: Verdana, sans-serif
}
TABLE TBODY TR TH P {
	FONT-FAMILY: Verdana, sans-serif
}
TABLE TBODY TR TD P {
	FONT-FAMILY: Verdana, sans-serif
}
TABLE TFOOT TR TD P {
	FONT-FAMILY: Verdana, sans-serif
}
P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 15px; MARGIN: =
0px; PADDING-TOP: 0px
}
H1 {
	FONT-FAMILY: Tahoma, Arial, sans-serif
}
H2 {
	FONT-FAMILY: Tahoma, Arial, sans-serif
}
H3 {
	FONT-FAMILY: Tahoma, Arial, sans-serif
}
H4 {
	FONT-FAMILY: Tahoma, Arial, sans-serif
}
H5 {
	FONT-FAMILY: Tahoma, Arial, sans-serif
}
H6 {
	FONT-FAMILY: Tahoma, Arial, sans-serif
}
H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 21px; PADDING-BOTTOM: =
15px; MARGIN: 0px; COLOR: #036; PADDING-TOP: 0px
}
H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 21px; PADDING-BOTTOM: =
15px; MARGIN: 0px; COLOR: #036; PADDING-TOP: 0px
}
H1 {
	FONT-WEIGHT: normal; FONT-SIZE: 21px
}
H1 SUP {
	FONT-SIZE: 11px
}
H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 13px; PADDING-BOTTOM: =
5px; PADDING-TOP: 0px
}
H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 13px; PADDING-BOTTOM: =
5px; PADDING-TOP: 0px
}
H3 {
	FONT-SIZE: 11px; MARGIN: 0px
}
HR {
	BORDER-TOP-WIDTH: 0px; CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: =
0px; BORDER-LEFT-WIDTH: 0px; BACKGROUND: #e01933; BORDER-BOTTOM-WIDTH: =
0px; PADDING-BOTTOM: 0px; MARGIN: 15px 0px; WIDTH: 100%; COLOR: #e01933; =
PADDING-TOP: 0px; HEIGHT: 1px; BORDER-RIGHT-WIDTH: 0px
}
SUP {
	LINE-HEIGHT: 200%
}
UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 30px; PADDING-BOTTOM: 15px; MARGIN: =
0px; PADDING-TOP: 0px
}
OL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 30px; PADDING-BOTTOM: 15px; MARGIN: =
0px; PADDING-TOP: 0px
}
UL {
	LIST-STYLE-TYPE: disc
}
UL LI UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LIST-STYLE-POSITION: outside; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 30px; PADDING-TOP: 0px; =
LIST-STYLE-TYPE: circle
}
UL LI UL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LIST-STYLE-POSITION: outside; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 30px; PADDING-TOP: 0px; =
LIST-STYLE-TYPE: circle
}
TABLE {
	CLEAR: left
}
DIV#layoutContainer {
	MARGIN: 10px; WIDTH: 950px; POSITION: relative
}
DIV#homepage_container {
	MARGIN: 10px; WIDTH: 950px; POSITION: relative
}
DIV#homepage_container {
	BACKGROUND: #e6ebef
}
DIV.showGrid {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/backgrounds/grid_debug.gi=
f) repeat-y center top
}
* DIV#siteNav {
	CLEAR: left; MARGIN-TOP: 5px; BACKGROUND: #002a50; FLOAT: left; WIDTH: =
950px; HEIGHT: 30px
}
DIV#siteNav DIV#plan {
	HEIGHT: 30px
}
DIV#siteNav DIV#travel {
	HEIGHT: 30px
}
DIV#siteNav DIV#skymiles {
	HEIGHT: 30px
}
DIV#siteNav DIV#plan A {
	HEIGHT: 30px
}
DIV#siteNav DIV#travel A {
	HEIGHT: 30px
}
DIV#siteNav DIV#skymiles A {
	HEIGHT: 30px
}
DIV#siteNav DIV.active#plan {
	HEIGHT: 35px
}
DIV#siteNav DIV.active#travel {
	HEIGHT: 35px
}
DIV#siteNav DIV.active#skymiles {
	HEIGHT: 35px
}
DIV#siteNav DIV#plan {
	LEFT: 280px; WIDTH: 200px; POSITION: relative
}
DIV#siteNav DIV#travel {
	LEFT: 480px; WIDTH: 200px; POSITION: relative
}
DIV#siteNav DIV#skymiles {
	LEFT: 680px; WIDTH: 202px; POSITION: relative
}
DIV#siteNav DIV A {
	FONT-WEIGHT: normal
}
DIV#siteNav DIV#plan A.active_activated {
	BACKGROUND-POSITION: right bottom; HEIGHT: 35px
}
DIV#siteNav DIV#travel A.active_activated {
	BACKGROUND-POSITION: right bottom; HEIGHT: 35px
}
DIV#siteNav DIV#skymiles A.active_activated {
	BACKGROUND-POSITION: right bottom; HEIGHT: 35px
}
DIV#siteNav DIV#plan A.active_activated:hover {
	BACKGROUND-POSITION: right bottom; HEIGHT: 35px
}
DIV#siteNav DIV#travel A.active_activated:hover {
	BACKGROUND-POSITION: right bottom; HEIGHT: 35px
}
DIV#siteNav DIV#skymiles A.active_activated:hover {
	BACKGROUND-POSITION: right bottom; HEIGHT: 35px
}
DIV#siteNav DIV#plan A.active_activated {
	HEIGHT: 35px
}
DIV#siteNav DIV#travel A.active_activated {
	HEIGHT: 35px
}
DIV#siteNav DIV#skymiles A.active_activated {
	HEIGHT: 35px
}
DIV#siteNav DIV#plan A.active_activated:hover {
	HEIGHT: 35px
}
DIV#siteNav DIV#travel A.active_activated:hover {
	HEIGHT: 35px
}
DIV#siteNav DIV#skymiles A.active_activated:hover {
	HEIGHT: 35px
}
DIV#siteNav DIV#plan A {
	DISPLAY: block; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/temp/planning_temp.gif) =
no-repeat left top; WIDTH: 200px; HEIGHT: 30px
}
DIV#siteNav DIV#plan A:hover {
	BACKGROUND-POSITION: right top
}
DIV#siteNav DIV#plan A.activated {
	BACKGROUND-POSITION: right top
}
DIV#siteNav DIV#plan A.active {
	DISPLAY: block; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/temp/planning_temp.gif) =
no-repeat left bottom; WIDTH: 200px; HEIGHT: 35px
}
DIV#siteNav DIV#plan A.active:hover {
	BACKGROUND-POSITION: right bottom
}
DIV#siteNav DIV#plan A.active_activated {
	BACKGROUND-POSITION: right bottom
}
DIV#siteNav DIV#travel A {
	DISPLAY: block; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/temp/travel_temp.gif) =
no-repeat left top; WIDTH: 200px; HEIGHT: 30px
}
DIV#siteNav DIV#travel A:hover {
	BACKGROUND-POSITION: right top
}
DIV#siteNav DIV#travel A.activated {
	BACKGROUND-POSITION: right top
}
DIV#siteNav DIV#travel A.active {
	DISPLAY: block; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/temp/travel_temp.gif) =
no-repeat left bottom; WIDTH: 200px; HEIGHT: 35px
}
DIV#siteNav DIV#travel A.active:hover {
	BACKGROUND-POSITION: right bottom
}
DIV#siteNav DIV#skymiles A {
	DISPLAY: block; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/temp/skymiles_temp.gif) =
no-repeat left top; WIDTH: 202px; HEIGHT: 30px
}
DIV#siteNav DIV#skymiles A:hover {
	BACKGROUND-POSITION: right top
}
DIV#siteNav DIV#skymiles A.activated {
	BACKGROUND-POSITION: right top
}
DIV#siteNav DIV#skymiles A.active {
	DISPLAY: block; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/temp/skymiles_temp.gif) =
no-repeat left bottom; WIDTH: 202px; HEIGHT: 35px
}
DIV#siteNav DIV#skymiles A.active:hover {
	BACKGROUND-POSITION: right bottom
}
DIV#siteNav DIV A SPAN {
	DISPLAY: none
}
DIV#menu1Container {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
DIV#menu2Container {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
DIV#menu3Container {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
DIV#menu1Container .menu {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/temp/top_level_nav_bg.gif=
) #fff no-repeat left bottom; MARGIN: 0px
}
DIV#menu2Container .menu {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/temp/top_level_nav_bg.gif=
) #fff no-repeat left bottom; MARGIN: 0px
}
DIV#menu3Container .menu {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/temp/top_level_nav_bg.gif=
) #fff no-repeat left bottom; MARGIN: 0px
}
.menu UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; MARGIN: =
0px; WIDTH: 100%; PADDING-TOP: 5px; LIST-STYLE-TYPE: none
}
.menu UL LI {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
4px; MARGIN: 0px 5px; PADDING-TOP: 3px; BORDER-BOTTOM: #eaeaea 1px solid
}
DIV#genHeader {
	MARGIN-TOP: 5px; FONT-SIZE: 11px; MARGIN-BOTTOM: 5px; WIDTH: 950px; =
COLOR: #c01933; HEIGHT: 70px; TEXT-ALIGN: right
}
DIV#genHeader DIV#branding {
	FLOAT: left; OVERFLOW: hidden; WIDTH: 230px; HEIGHT: 61px
}
DIV#branding IMG {
	LEFT: -14px; POSITION: relative; TOP: -10px
}
DIV#genHeader DIV.clear {
	HEIGHT: 0px
}
DIV#genHeader DIV#HeaderLinks {
	FLOAT: right; WIDTH: 550px; TEXT-ALIGN: right
}
DIV#genHeader DIV FORM {
	PADDING-TOP: 10px
}
DIV#genHeader A {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; MARGIN: 0px 5px; COLOR: #069
}
DIV#genHeader INPUT.genHeaderInput {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; MARGIN: 0px =
5px 0px 15px; FONT: 11px Verdana, sans-serif; VERTICAL-ALIGN: middle; =
WIDTH: 200px; PADDING-TOP: 2px
}
DIV#genHeader INPUT.genHeaderSubmit {
	VERTICAL-ALIGN: middle
}
DIV#genHeader DIV#headerFAQS A#merger {
	PADDING-LEFT: 15px; FONT-WEIGHT: bold; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/icons/green_arrow_dotted_=
right.gif) no-repeat left center; MARGIN: 0px; COLOR: #393
}
DIV#headerFAQS {
	MARGIN: 5px
}
DIV#headerFAQS A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
DIV#Footer {
	CLEAR: both; FONT-SIZE: 11px; MARGIN: 0px; WIDTH: 950px; COLOR: =
#c01933; PADDING-TOP: 30px; TEXT-ALIGN: right
}
DIV#Footer:unknown {
	CLEAR: both; DISPLAY: block; VISIBILITY: hidden; HEIGHT: 0px; content: =
"."
}
DIV.footerTerms {
=09
}
DIV#Footer A {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #069
}
DIV#Footer .cpySmall {
	COLOR: #333; TEXT-ALIGN: left
}
DIV#copyright {
	CLEAR: both; FONT-SIZE: 11px; PADDING-BOTTOM: 5px; WIDTH: 100%; COLOR: =
#ccc; PADDING-TOP: 5px; TEXT-ALIGN: right
}
DIV.disclaimer {
	PADDING-RIGHT: 20px; DISPLAY: none; PADDING-LEFT: 20px; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px; TEXT-ALIGN: left
}
DIV.disclaimer STRONG {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #333
}
DIV.disclaimer A {
	FONT-WEIGHT: normal
}
DIV#Feedback TABLE * {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
DIV#debug {
	DISPLAY: none
}
SPAN#lang_loc {
	PADDING-RIGHT: 0px; PADDING-LEFT: 14px; PADDING-BOTTOM: 3px; =
PADDING-TOP: 0px; text-alight: right
}
DIV#genHeader SPAN#lang_loc {
	DISPLAY: none
}
SPAN.pref_inactive {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/backgrounds/preferences/p=
ref_tab_bg_inactive.gif) no-repeat left top
}
SPAN.pref_active {
	PADDING-RIGHT: 0px; PADDING-LEFT: 18px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/backgrounds/preferences/p=
ref_tab_bg_active.gif) no-repeat left top; PADDING-BOTTOM: 3px; =
PADDING-TOP: 0px
}
SPAN.pref_active A {
	COLOR: #069! important
}
SPAN.pref_active A:link {
	COLOR: #069! important
}
SPAN.pref_active A:visited {
	COLOR: #069! important
}
DIV#menu4Container {
	WIDTH: 200px
}
DIV#menu4Content {
	BORDER-RIGHT: #e6ebef 5px solid; BORDER-TOP: #e6ebef 5px solid; LEFT: =
0px; BORDER-LEFT: #e6ebef 5px solid; WIDTH: 189px; BORDER-BOTTOM: =
#e6ebef 5px solid; HEIGHT: 226px
}
DIV.menu {
	FONT-SIZE: 11px; COLOR: #333; BACKGROUND-COLOR: #fff; TEXT-ALIGN: left
}
DIV.menu P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; MARGIN: =
5px 15px 0px; PADDING-TOP: 0px; BORDER-BOTTOM: #e6ebef 1px solid
}
DIV.menu INPUT#go_button {
	BORDER-TOP: #fff 3px solid
}
DIV.menu FORM {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
15px; PADDING-TOP: 0px
}
DIV.menu FORM FIELDSET {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
DIV.menu P.close {
	BORDER-TOP-WIDTH: 0px; CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: =
0px; BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 9px! important; =
BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 15px 5px; =
COLOR: #333; PADDING-TOP: 3px; TEXT-ALIGN: right; BORDER-RIGHT-WIDTH: =
0px
}
P.close A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-SIZE: 9px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/backgrounds/preferences/c=
lose_bg.gif) no-repeat left bottom; PADDING-BOTTOM: 0px; COLOR: #333! =
important; PADDING-TOP: 0px
}
P.close A:link {
	FONT-SIZE: 9px! important; COLOR: #333! important
}
P.close A:visited {
	FONT-SIZE: 9px! important; COLOR: #333! important
}
P.close A:hover {
	FONT-SIZE: 9px! important; COLOR: #333! important
}
SPAN.pwm {
	FONT-WEIGHT: bold; MARGIN: 4px 0px 0px; COLOR: #393
}
H1#pwm {
	FONT-WEIGHT: bold; MARGIN: 4px 0px 0px; COLOR: #393
}
DIV.pwm {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: #d6ebd6; =
PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
SPAN.pwm A:hover {
	TEXT-DECORATION: underline
}
A.pwm {
	FONT-WEIGHT: bold; COLOR: #393
}
A.pwm:link {
	FONT-WEIGHT: bold; COLOR: #393
}
A.pwm:visited {
	FONT-WEIGHT: bold; COLOR: #393
}
A.pwm:hover {
	FONT-WEIGHT: bold; COLOR: #393
}
A.pwm:hover {
	TEXT-DECORATION: underline
}
A.pwm_txt {
	FONT-WEIGHT: bold; COLOR: #393; TEXT-DECORATION: none
}
A.pwm_txt:link {
	FONT-WEIGHT: bold; COLOR: #393; TEXT-DECORATION: none
}
A.pwm_txt:visited {
	FONT-WEIGHT: bold; COLOR: #393; TEXT-DECORATION: none
}
A.pwm_txt:hover {
	TEXT-DECORATION: underline
}
SPAN.pwm_pitins_span {
	CLEAR: both; FLOAT: right
}
.milestxt {
	FONT-WEIGHT: bold; COLOR: #c01933
}
DIV.pwm_awards {
	BORDER-RIGHT: #339933 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#339933 1px solid; PADDING-LEFT: 5px; BACKGROUND: #d6ebd6; =
PADDING-BOTTOM: 5px; BORDER-LEFT: #339933 1px solid; PADDING-TOP: 5px; =
BORDER-BOTTOM: #339933 1px solid
}
DIV#pwm_awards_msg_schedule {
	FLOAT: left
}
DIV#pwm_awards_msg_price {
	FLOAT: right
}
DIV#pwm_awards_select_flights {
	WIDTH: 350px
}
DIV#pwm_awards_double_calendar P {
	FLOAT: left; MARGIN: 0em 0em 2em
}
DIV#pwm_awards_double_calendar UL {
	FLOAT: right; MARGIN: 0em; WIDTH: 325px; POSITION: relative; TOP: -1em
}
DIV#pwm_awards_double_calendar DIV.clear {
	MARGIN-BOTTOM: -2em
}
DIV#dash_pwm_ad {
	DISPLAY: block; WIDTH: 100%
}
DIV#pwm_ad {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em; LEFT: 0px; PADDING-BOTTOM: 1em; =
WIDTH: 100%; PADDING-TOP: 1em; POSITION: absolute; TOP: 0px; =
BACKGROUND-COLOR: #fff
}
DIV#pwm_ad H1 {
	MARGIN-BOTTOM: -0.7em; PADDING-BOTTOM: 5px; POSITION: relative; TOP: =
-0.4em
}
DIV#pwm_ad H1#segment_h1 {
	FONT-WEIGHT: bold; FONT-SIZE: 16px; MARGIN-BOTTOM: -1.5em; =
PADDING-BOTTOM: 5px; POSITION: relative; TOP: -0.4em
}
DIV#pwm_ad IMG {
	FLOAT: left; MARGIN: -1em 2em 100% -1em
}
DIV#pwm_ad UL {
	MARGIN-TOP: 1em; DISPLAY: block; PADDING-BOTTOM: 0.5em; MARGIN-RIGHT: =
0.5em
}
DIV#pwm_ad UL LI {
	MARGIN-LEFT: 1em; WIDTH: auto; LIST-STYLE-TYPE: disc
}
SPAN#dash_pwm_tagline {
	DISPLAY: block; PADDING-BOTTOM: 0.3em; CURSOR: pointer; COLOR: #393; =
HEIGHT: 1em
}
SPAN#pwm_pitins_tagline {
	DISPLAY: block; PADDING-BOTTOM: 0.3em; CURSOR: pointer; COLOR: #393; =
HEIGHT: 1em
}
DIV#dashboard_logout {
	CLEAR: both
}
DIV#dashboardBody SPAN.pwm {
=09
}
DIV#dashboardBody SPAN.pwm A {
	FONT-WEIGHT: normal; COLOR: #393
}
SPAN.pwm A:link {
	FONT-WEIGHT: normal; COLOR: #393
}
SPAN.pwm A:visited {
	FONT-WEIGHT: normal; COLOR: #393
}
DIV#pwm_dashboard_component {
	PADDING-RIGHT: 0em; PADDING-LEFT: 0em; PADDING-BOTTOM: 0.3em; WIDTH: =
100%; PADDING-TOP: 0em
}
IFRAME#pwm_iframe {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
DIV#pwm_dash_msg {
	BORDER-RIGHT: #069 2px solid; BORDER-TOP: #069 2px solid; DISPLAY: =
none; Z-INDEX: 1000; FLOAT: left; MARGIN-BOTTOM: 0.5em; BORDER-LEFT: =
#069 2px solid; BORDER-BOTTOM: #069 2px solid; POSITION: absolute; =
BACKGROUND-COLOR: #fff
}
DIV#pwm_segments_msg {
	BORDER-RIGHT: #069 2px solid; BORDER-TOP: #069 2px solid; DISPLAY: =
none; Z-INDEX: 1000; FLOAT: left; MARGIN-BOTTOM: 0.5em; BORDER-LEFT: =
#069 2px solid; BORDER-BOTTOM: #069 2px solid; POSITION: absolute; =
BACKGROUND-COLOR: #fff
}
DIV#pwm_pitins_msg {
	BORDER-RIGHT: #069 2px solid; BORDER-TOP: #069 2px solid; DISPLAY: =
none; Z-INDEX: 1000; FLOAT: left; MARGIN-BOTTOM: 0.5em; BORDER-LEFT: =
#069 2px solid; BORDER-BOTTOM: #069 2px solid; POSITION: absolute; =
BACKGROUND-COLOR: #fff
}
DIV#pwm_paxinfo_cctype {
	BORDER-RIGHT: #069 2px solid; BORDER-TOP: #069 2px solid; DISPLAY: =
none; Z-INDEX: 1000; FLOAT: left; MARGIN-BOTTOM: 0.5em; BORDER-LEFT: =
#069 2px solid; BORDER-BOTTOM: #069 2px solid; POSITION: absolute; =
BACKGROUND-COLOR: #fff
}
SPAN.pwm {
	COLOR: #393
}
H1.pwm {
	COLOR: #393
}
DIV.pwm {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; BACKGROUND: #d6ebd6; =
PADDING-BOTTOM: 3px; PADDING-TOP: 3px
}
DIV#formLoginOpen SPAN.pwm {
	PADDING-LEFT: 18px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/icons/confirmation_check.=
gif) no-repeat left 50%
}
DIV#formLoginOpen SPAN.pwm A {
	FONT-WEIGHT: normal; COLOR: #393
}
SPAN.pwm A:link {
	FONT-WEIGHT: normal; COLOR: #393
}
SPAN.pwm A:visited {
	FONT-WEIGHT: normal; COLOR: #393
}
SPAN.pwm A:hover {
	TEXT-DECORATION: underline
}
A.pwm {
	FONT-WEIGHT: bold; COLOR: #393
}
A.pwm:link {
	FONT-WEIGHT: bold; COLOR: #393
}
A.pwm:visited {
	FONT-WEIGHT: bold; COLOR: #393
}
A.pwm:hover {
	FONT-WEIGHT: bold; COLOR: #393
}
A.pwm:hover {
	TEXT-DECORATION: underline
}
TFOOT SPAN.pwm {
	PADDING-LEFT: 18px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/icons/confirmation_check.=
gif) no-repeat left 50%
}
TD.cardBody SPAN.pwm {
	PADDING-LEFT: 18px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/icons/confirmation_check.=
gif) no-repeat left 50%
}
DIV#dash_pwm_ad {
	DISPLAY: block; WIDTH: 100%
}
SPAN#dash_pwm_tagline {
	DISPLAY: block; PADDING-BOTTOM: 0.3em; CURSOR: pointer; COLOR: green; =
HEIGHT: 1em
}
DIV#dashboardBody SPAN.pwm A {
	FONT-WEIGHT: normal; COLOR: #393
}
SPAN.pwm A:link {
	FONT-WEIGHT: normal; COLOR: #393
}
SPAN.pwm A:visited {
	FONT-WEIGHT: normal; COLOR: #393
}
DIV#pwm_dashboard_component {
	PADDING-RIGHT: 0em; PADDING-LEFT: 0em; PADDING-BOTTOM: 0.4em; =
PADDING-TOP: 0.2em
}
DIV#pwm_dash_msg {
	BORDER-RIGHT: #006699 2px solid; BORDER-TOP: #006699 2px solid; =
DISPLAY: none; Z-INDEX: 1000; FLOAT: left; BORDER-LEFT: #006699 2px =
solid; BORDER-BOTTOM: #006699 2px solid; POSITION: absolute
}
DIV#pwm_pitins_msg {
	BORDER-RIGHT: #006699 2px solid; BORDER-TOP: #006699 2px solid; =
DISPLAY: none; Z-INDEX: 1000; FLOAT: left; BORDER-LEFT: #006699 2px =
solid; BORDER-BOTTOM: #006699 2px solid; POSITION: absolute
}
FORM {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; FONT: 11px Tahoma, Arial, sans-serif; PADDING-TOP: 0px
}
FIELDSET {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px
}
INPUT {
	FONT: 11px Tahoma, Arial, sans-serif; VERTICAL-ALIGN: middle
}
SELECT {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; FONT: 11px Tahoma, Arial, sans-serif; VERTICAL-ALIGN: middle; =
PADDING-TOP: 0px; -webkit-border-radius: 1px
}
LABEL {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px 0px 2px; VERTICAL-ALIGN: middle; PADDING-TOP: 0px; =
TEXT-ALIGN: left
}
INPUT.formCheckbox {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; FONT: 11px Tahoma, Arial, sans-serif; VERTICAL-ALIGN: middle; =
WIDTH: 14px; PADDING-TOP: 0px; HEIGHT: 14px
}
LABEL.formCheckbox {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; VERTICAL-ALIGN: middle; PADDING-TOP: 0px
}
INPUT[type=3D'button'] {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px; -webkit-border-radius: 1px
}
INPUT[type=3D'submit'] {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px; -webkit-border-radius: 1px
}
INPUT[type=3D'reset'] {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px; -webkit-border-radius: 1px
}
INPUT[type=3D'radio'] {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px; -webkit-border-radius: 1px
}
FORM INPUT.button {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 3px; =
MARGIN: 0px 5px; FONT: bold 11px Tahoma, Arial, sans-serif; CURSOR: =
hand; COLOR: #fff; PADDING-TOP: 2px; BORDER-RIGHT-WIDTH: 0px
}
FORM INPUT.submit {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 3px; =
MARGIN: 0px 5px; FONT: bold 11px Tahoma, Arial, sans-serif; CURSOR: =
hand; COLOR: #fff; PADDING-TOP: 2px; BORDER-RIGHT-WIDTH: 0px
}
INPUT.button {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 3px; =
MARGIN: 0px 5px; FONT: bold 11px Tahoma, Arial, sans-serif; CURSOR: =
hand; COLOR: #fff; PADDING-TOP: 2px; BORDER-RIGHT-WIDTH: 0px
}
INPUT.submit {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 3px; =
MARGIN: 0px 5px; FONT: bold 11px Tahoma, Arial, sans-serif; CURSOR: =
hand; COLOR: #fff; PADDING-TOP: 2px; BORDER-RIGHT-WIDTH: 0px
}
.button {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 3px; =
MARGIN: 0px 5px; FONT: bold 11px Tahoma, Arial, sans-serif; CURSOR: =
hand; COLOR: #fff; PADDING-TOP: 2px; BORDER-RIGHT-WIDTH: 0px
}
.submit {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 3px; =
MARGIN: 0px 5px; FONT: bold 11px Tahoma, Arial, sans-serif; CURSOR: =
hand; COLOR: #fff; PADDING-TOP: 2px; BORDER-RIGHT-WIDTH: 0px
}
FORM .left {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 16px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left.gif) =
#036 no-repeat left center; FLOAT: left
}
INPUT.left {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 16px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left.gif) =
#036 no-repeat left center; FLOAT: left
}
DIV.buttonNav .left {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 16px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left.gif) =
#036 no-repeat left center; FLOAT: left
}
FORM .right {
	PADDING-RIGHT: 16px! important; PADDING-LEFT: 0px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right.gif) =
#036 no-repeat right center; FLOAT: right
}
INPUT.right {
	PADDING-RIGHT: 16px! important; PADDING-LEFT: 0px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right.gif) =
#036 no-repeat right center; FLOAT: right
}
DIV.buttonNav .right {
	PADDING-RIGHT: 16px! important; PADDING-LEFT: 0px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right.gif) =
#036 no-repeat right center; FLOAT: right
}
FORM .stop {
	PADDING-RIGHT: 2px! important; PADDING-LEFT: 18px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop.gif) =
#036 no-repeat left center; FLOAT: left
}
INPUT.stop {
	PADDING-RIGHT: 2px! important; PADDING-LEFT: 18px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop.gif) =
#036 no-repeat left center; FLOAT: left
}
DIV.buttonNav .stop {
	PADDING-RIGHT: 2px! important; PADDING-LEFT: 18px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop.gif) =
#036 no-repeat left center; FLOAT: left
}
FORM INPUT.right:hover {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right_hover.gi=
f) #069 no-repeat right center; COLOR: #fff
}
INPUT.right:hover {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right_hover.gi=
f) #069 no-repeat right center; COLOR: #fff
}
FORM INPUT.left:hover {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left_hover.gif=
) #069 no-repeat left center; COLOR: #fff
}
INPUT.left:hover {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left_hover.gif=
) #069 no-repeat left center; COLOR: #fff
}
FORM INPUT.stop:hover {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop_hover.gif=
) #069 no-repeat left center; COLOR: #fff
}
INPUT.stop:hover {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop_hover.gif=
) #069 no-repeat left center; COLOR: #fff
}
FORM INPUT.right:active {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right_active.g=
if) #069 no-repeat right center; PADDING-BOTTOM: 4px; COLOR: #fff; =
PADDING-TOP: 2px
}
INPUT.right:active {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right_active.g=
if) #069 no-repeat right center; PADDING-BOTTOM: 4px; COLOR: #fff; =
PADDING-TOP: 2px
}
FORM INPUT.left:active {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left_active.gi=
f) #069 no-repeat left center; PADDING-BOTTOM: 4px; COLOR: #fff; =
PADDING-TOP: 2px
}
INPUT.left:active {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left_active.gi=
f) #069 no-repeat left center; PADDING-BOTTOM: 4px; COLOR: #fff; =
PADDING-TOP: 2px
}
FORM INPUT.stop:active {
	PADDING-RIGHT: 5px; PADDING-LEFT: 20px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop_active.gi=
f) #069 no-repeat left center; PADDING-BOTTOM: 1px; COLOR: #fff; =
PADDING-TOP: 2px
}
INPUT.stop:active {
	PADDING-RIGHT: 5px; PADDING-LEFT: 20px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop_active.gi=
f) #069 no-repeat left center; PADDING-BOTTOM: 1px; COLOR: #fff; =
PADDING-TOP: 2px
}
FORM INPUT.left_disabled {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; FONT: bold =
11px Tahoma, Arial, sans-serif; COLOR: #fff; PADDING-TOP: 1px
}
INPUT.left_disabled {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; FONT: bold =
11px Tahoma, Arial, sans-serif; COLOR: #fff; PADDING-TOP: 1px
}
.left_disabled {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; FONT: bold =
11px Tahoma, Arial, sans-serif; COLOR: #fff; PADDING-TOP: 1px
}
FORM INPUT.right_disabled {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; FONT: bold =
11px Tahoma, Arial, sans-serif; COLOR: #fff; PADDING-TOP: 1px
}
INPUT.right_disabled {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; FONT: bold =
11px Tahoma, Arial, sans-serif; COLOR: #fff; PADDING-TOP: 1px
}
.right_disabled {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; FONT: bold =
11px Tahoma, Arial, sans-serif; COLOR: #fff; PADDING-TOP: 1px
}
FORM INPUT.stop_disabled {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; FONT: bold =
11px Tahoma, Arial, sans-serif; COLOR: #fff; PADDING-TOP: 1px
}
INPUT.stop_disabled {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; FONT: bold =
11px Tahoma, Arial, sans-serif; COLOR: #fff; PADDING-TOP: 1px
}
.stop_disabled {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; FONT: bold =
11px Tahoma, Arial, sans-serif; COLOR: #fff; PADDING-TOP: 1px
}
FORM INPUT.left_disabled {
	PADDING-RIGHT: 1px! important; PADDING-LEFT: 18px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left_disabled.=
gif) #ccc no-repeat left center; FLOAT: left
}
INPUT.left_disabled {
	PADDING-RIGHT: 1px! important; PADDING-LEFT: 18px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left_disabled.=
gif) #ccc no-repeat left center; FLOAT: left
}
.left_disabled {
	PADDING-RIGHT: 1px! important; PADDING-LEFT: 18px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left_disabled.=
gif) #ccc no-repeat left center; FLOAT: left
}
FORM INPUT.right_disabled {
	PADDING-RIGHT: 17px! important; PADDING-LEFT: 2px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right_disabled=
.gif) #ccc no-repeat right center; FLOAT: right
}
INPUT.right_disabled {
	PADDING-RIGHT: 17px! important; PADDING-LEFT: 2px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right_disabled=
.gif) #ccc no-repeat right center; FLOAT: right
}
.right_disabled {
	PADDING-RIGHT: 17px! important; PADDING-LEFT: 2px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right_disabled=
.gif) #ccc no-repeat right center; FLOAT: right
}
FORM INPUT.stop_disabled {
	PADDING-RIGHT: 1px! important; PADDING-LEFT: 18px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop_disabled.=
gif) #ccc no-repeat left center; FLOAT: left
}
FORM > * .stop_disabled {
	PADDING-RIGHT: 1px! important; PADDING-LEFT: 18px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop_disabled.=
gif) #ccc no-repeat left center; FLOAT: left
}
INPUT.stop_disabled {
	PADDING-RIGHT: 1px! important; PADDING-LEFT: 18px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop_disabled.=
gif) #ccc no-repeat left center; FLOAT: left
}
.stop_disabled {
	PADDING-RIGHT: 1px! important; PADDING-LEFT: 18px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop_disabled.=
gif) #ccc no-repeat left center; FLOAT: left
}
DIV.imageNav * {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: 0px 5px; PADDING-TOP: 0px! =
important
}
DIV.imageNav {
	HEIGHT: 15px
}
DIV.imageNav IMG.left {
	FLOAT: left; MARGIN-RIGHT: 10px
}
DIV.imageNav IMG.right {
	FLOAT: right; MARGIN-LEFT: 10px
}
DIV.imageNav IMG.stop {
	FLOAT: left; MARGIN-RIGHT: 10px
}
FORM.inverse INPUT.button {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 4px; =
FONT: bold 11px Tahoma, Arial, sans-serif; COLOR: #036; PADDING-TOP: =
1px; BORDER-RIGHT-WIDTH: 0px
}
FORM.inverse INPUT.submit {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 4px; =
FONT: bold 11px Tahoma, Arial, sans-serif; COLOR: #036; PADDING-TOP: =
1px; BORDER-RIGHT-WIDTH: 0px
}
FORM.inverse .left {
	BORDER-RIGHT: #fff 2px solid; PADDING-RIGHT: 0px! important; =
PADDING-LEFT: 16px! important; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left.gif) =
#fff no-repeat left center; FLOAT: left; BORDER-LEFT: #036 0px solid
}
FORM.inverse DIV.buttonNav > .left {
	BORDER-RIGHT: #fff 2px solid; PADDING-RIGHT: 0px! important; =
PADDING-LEFT: 16px! important; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left.gif) =
#fff no-repeat left center; FLOAT: left; BORDER-LEFT: #036 0px solid
}
FORM.inverse .right {
	PADDING-RIGHT: 16px! important; PADDING-LEFT: 0px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right.gif) =
#fff no-repeat right center; FLOAT: right
}
FORM.inverse DIV.buttonNav > .right {
	PADDING-RIGHT: 16px! important; PADDING-LEFT: 0px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right.gif) =
#fff no-repeat right center; FLOAT: right
}
FORM.inverse .stop {
	PADDING-RIGHT: 3px! important; PADDING-LEFT: 20px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop.gif) =
#fff no-repeat left center; FLOAT: left
}
FORM.inverse INPUT.stop {
	PADDING-RIGHT: 3px! important; PADDING-LEFT: 20px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop.gif) =
#fff no-repeat left center; FLOAT: left
}
FORM.inverse DIV.buttonNav INPUT.stop {
	PADDING-RIGHT: 3px! important; PADDING-LEFT: 20px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop.gif) =
#fff no-repeat left center; FLOAT: left
}
FORM.inverse DIV.buttonNav > .stop {
	PADDING-RIGHT: 3px! important; PADDING-LEFT: 20px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop.gif) =
#fff no-repeat left center; FLOAT: left
}
FORM.inverse INPUT.right:hover {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right_hover.gi=
f) #069 no-repeat right center; BORDER-LEFT: #069 2px solid; COLOR: #fff
}
FORM.inverse INPUT.right:hover {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right_hover.gi=
f) #069 no-repeat right center; BORDER-LEFT: #069 2px solid; COLOR: #fff
}
FORM.inverse INPUT.left:hover {
	BORDER-RIGHT: #069 2px solid; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left_hover.gif=
) #069 no-repeat left center; BORDER-LEFT: #069 0px solid; COLOR: #fff
}
FORM.inverse INPUT.left:hover {
	BORDER-RIGHT: #069 2px solid; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left_hover.gif=
) #069 no-repeat left center; BORDER-LEFT: #069 0px solid; COLOR: #fff
}
FORM.inverse INPUT.stop:hover {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop_hover.gif=
) #069 no-repeat left center; BORDER-LEFT: #069 2px solid; COLOR: #fff
}
FORM.inverse INPUT.stop:hover {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop_hover.gif=
) #069 no-repeat left center; BORDER-LEFT: #069 2px solid; COLOR: #fff
}
FORM.inverse INPUT.right:active {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right_active.g=
if) #069 no-repeat right center; PADDING-BOTTOM: 4px; COLOR: #fff; =
PADDING-TOP: 2px
}
FORM.inverse INPUT.right:active {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right_active.g=
if) #069 no-repeat right center; PADDING-BOTTOM: 4px; COLOR: #fff; =
PADDING-TOP: 2px
}
FORM.inverse INPUT.left:active {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left_active.gi=
f) #069 no-repeat left center; PADDING-BOTTOM: 4px; COLOR: #fff; =
PADDING-TOP: 2px
}
FORM.inverse INPUT.left:active {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left_active.gi=
f) #069 no-repeat left center; PADDING-BOTTOM: 4px; COLOR: #fff; =
PADDING-TOP: 2px
}
FORM.inverse INPUT.stop:active {
	PADDING-RIGHT: 5px; PADDING-LEFT: 20px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop_active.gi=
f) #069 no-repeat left center; PADDING-BOTTOM: 1px; COLOR: #fff; =
PADDING-TOP: 2px
}
FORM.inverse INPUT.stop:active {
	PADDING-RIGHT: 5px; PADDING-LEFT: 20px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop_active.gi=
f) #069 no-repeat left center; PADDING-BOTTOM: 1px; COLOR: #fff; =
PADDING-TOP: 2px
}
DIV.buttonNav .submit {
	MARGIN-LEFT: 5px
}
DIV.buttonNav .right {
	MARGIN-LEFT: 5px
}
DIV.buttonNav .left {
	MARGIN-RIGHT: 5px
}
LABEL.error {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 22px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_x.gif) =
no-repeat; PADDING-BOTTOM: 2px! important; COLOR: #c01933; PADDING-TOP: =
2px! important; HEIGHT: 16px
}
A.ui_action {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 4px; BORDER-TOP: 0px; DISPLAY: block; =
PADDING-LEFT: 4px; BACKGROUND: #003366; PADDING-BOTTOM: 4px; MARGIN: 5px =
0px; FONT: bold 11px Tahoma,Arial,sans-serif; VERTICAL-ALIGN: middle; =
BORDER-LEFT: 0px; CURSOR: pointer; COLOR: #ffffff; PADDING-TOP: 3px; =
BORDER-BOTTOM: 0px; TEXT-ALIGN: center; TEXT-DECORATION: none; =
font-stretch: normal
}
A.right {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 4px; BORDER-TOP: 0px; DISPLAY: block; =
PADDING-LEFT: 4px; BACKGROUND: #003366; PADDING-BOTTOM: 4px; MARGIN: 5px =
0px; FONT: bold 11px Tahoma,Arial,sans-serif; VERTICAL-ALIGN: middle; =
BORDER-LEFT: 0px; CURSOR: pointer; COLOR: #ffffff; PADDING-TOP: 3px; =
BORDER-BOTTOM: 0px; TEXT-ALIGN: center; TEXT-DECORATION: none; =
font-stretch: normal
}
A.left {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 4px; BORDER-TOP: 0px; DISPLAY: block; =
PADDING-LEFT: 4px; BACKGROUND: #003366; PADDING-BOTTOM: 4px; MARGIN: 5px =
0px; FONT: bold 11px Tahoma,Arial,sans-serif; VERTICAL-ALIGN: middle; =
BORDER-LEFT: 0px; CURSOR: pointer; COLOR: #ffffff; PADDING-TOP: 3px; =
BORDER-BOTTOM: 0px; TEXT-ALIGN: center; TEXT-DECORATION: none; =
font-stretch: normal
}
A.stop {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 4px; BORDER-TOP: 0px; DISPLAY: block; =
PADDING-LEFT: 4px; BACKGROUND: #003366; PADDING-BOTTOM: 4px; MARGIN: 5px =
0px; FONT: bold 11px Tahoma,Arial,sans-serif; VERTICAL-ALIGN: middle; =
BORDER-LEFT: 0px; CURSOR: pointer; COLOR: #ffffff; PADDING-TOP: 3px; =
BORDER-BOTTOM: 0px; TEXT-ALIGN: center; TEXT-DECORATION: none; =
font-stretch: normal
}
A.ui_action:hover {
	BACKGROUND: #006699; TEXT-DECORATION: none
}
A.right {
	PADDING-RIGHT: 19px! important; PADDING-LEFT: 4px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right.gif) =
#003366 no-repeat right center; FLOAT: right
}
A.left {
	PADDING-RIGHT: 4px! important; PADDING-LEFT: 19px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left.gif) =
#003366 no-repeat left center; FLOAT: left
}
A.stop {
	PADDING-RIGHT: 4px! important; PADDING-LEFT: 19px! important; =
BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop.gif) =
#003366 no-repeat left center; FLOAT: left
}
A.left:hover {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/left_hover.gif=
) #006699 no-repeat left center
}
A.right:hover {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right_hover.gi=
f) #006699 no-repeat right center
}
A.stop:hover {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/stop_hover.gif=
) #006699 no-repeat left center
}
IMG.formIconArrow {
	MARGIN: 0px 3px 1px 0px; WIDTH: 6px; HEIGHT: 3px
}
IMG.formIconCity {
	VERTICAL-ALIGN: middle; WIDTH: 17px; HEIGHT: 17px
}
IMG.formIconCalendar {
	VERTICAL-ALIGN: middle; WIDTH: 17px; HEIGHT: 17px
}
IMG.formIconNewWindow {
	VERTICAL-ALIGN: middle; WIDTH: 17px; HEIGHT: 17px
}
IMG.formIconHelp {
	VERTICAL-ALIGN: middle; WIDTH: 17px; HEIGHT: 17px
}
IMG.formIconCalendar {
	MARGIN: 0px 0px 2px
}
IMG.formIconError {
	VERTICAL-ALIGN: middle; WIDTH: 19px; HEIGHT: 19px
}
DIV.formContainer {
	FONT: 11px Tahoma, Arial, sans-serif
}
DIV.formContainer DIV.formBackground {
	FONT: 11px Tahoma, Arial, sans-serif
}
DIV.formContainer DIV.formBackground P {
	FONT: 11px Tahoma, Arial, sans-serif
}
DIV.formContainer {
	BORDER-TOP: #ccc 1px solid; BACKGROUND: #ccc; FLOAT: left; WIDTH: =
230px; BORDER-BOTTOM: #ccc 1px solid
}
DIV.formContainer DIV.formBackground {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; PADDING-LEFT: 10px; =
BACKGROUND: #f9f9f9; PADDING-BOTTOM: 10px; MARGIN: 0px; BORDER-LEFT: =
#ccc 1px solid; PADDING-TOP: 10px
}
DIV.formContainer DIV.formBackground:unknown {
	CLEAR: both; DISPLAY: block; VISIBILITY: hidden; HEIGHT: 0px; content: =
"."
}
DIV.formContainer H3 {
	BORDER-RIGHT: #fff 3px solid; PADDING-RIGHT: 3px! important; =
BORDER-TOP: #fff 3px solid; PADDING-LEFT: 5px! important; FONT-WEIGHT: =
bold! important; FONT-SIZE: 11px! important; BACKGROUND: #036; =
PADDING-BOTTOM: 4px! important; MARGIN: 0px 1px; BORDER-LEFT: #fff 3px =
solid; COLOR: #fff! important; PADDING-TOP: 3px! important; =
BORDER-BOTTOM: #fff 0px solid
}
DIV.formContainer DIV {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
DIV.formContainer A {
	FONT-WEIGHT: normal; TEXT-DECORATION: underline
}
DIV.formContainer A.action {
	COLOR: #333; TEXT-DECORATION: none
}
DIV#flight_schedules {
	WIDTH: 230px
}
DIV#flight_schedules INPUT#schedules_departureDate {
	WIDTH: 80px
}
DIV.AirportList {
	BORDER-RIGHT: #069 thin solid; BORDER-TOP: #069 thin solid; =
BORDER-LEFT: #069 thin solid; BORDER-BOTTOM: #069 thin solid
}
UL.AirportList {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; BACKGROUND-COLOR: #fff
}
LI.AirportList {
=09
}
LI.SelectedAirport {
	MARGIN: 0px; CURSOR: pointer; COLOR: #e6ebef; LIST-STYLE-TYPE: none; =
BACKGROUND-COLOR: #069; TEXT-DECORATION: underline
}
DIV.error {
	COLOR: #c01933
}
.bookableDayOver {
	BORDER-RIGHT: #79c 1px solid; BORDER-TOP: #79c 1px solid; BACKGROUND: =
#e6ebef; BORDER-LEFT: #79c 1px solid; CURSOR: pointer; COLOR: #069; =
BORDER-BOTTOM: #79c 1px solid; TEXT-ALIGN: center
}
.bookableDay {
	BORDER-RIGHT: #fff 1px solid; BORDER-TOP: #fff 1px solid; BACKGROUND: =
#fff; BORDER-LEFT: #fff 1px solid; CURSOR: auto; COLOR: #000; =
BORDER-BOTTOM: #fff 1px solid; TEXT-ALIGN: center
}
.unbookableDate {
	BORDER-RIGHT: #fff 1px solid; BORDER-TOP: #fff 1px solid; BACKGROUND: =
#fff; BORDER-LEFT: #fff 1px solid; COLOR: #ccc; BORDER-BOTTOM: #fff 1px =
solid; TEXT-ALIGN: right; TEXT-DECORATION: line-through
}
.enhancedCalBorder {
	BACKGROUND: #fff
}
.monthJump {
	FONT-WEIGHT: bold; BACKGROUND: #069; COLOR: #fff; TEXT-ALIGN: center
}
.monthDisplay {
	FONT-WEIGHT: bold; BACKGROUND: #069; COLOR: #fff; TEXT-ALIGN: center
}
A.enahncedCalToday:link {
	TEXT-DECORATION: underline
}
A.enahncedCalToday:visited {
	TEXT-DECORATION: underline
}
A.enahncedCalToday:active {
	TEXT-DECORATION: underline
}
.enahncedCalJump {
	BACKGROUND: #eaeaea; TEXT-ALIGN: center
}
.calHeader {
	BACKGROUND: #eaeaea; TEXT-ALIGN: center
}
.daysOfWeek {
	FONT-WEIGHT: bold; BACKGROUND: #fff; COLOR: #333; TEXT-ALIGN: center
}
.placeHolder {
	BACKGROUND: #fff
}
.calendarDivider {
	BACKGROUND: #eaeaea; WIDTH: 2px
}
.today {
	COLOR: #ea8a1a; TEXT-ALIGN: center
}
.calTable {
	BACKGROUND: #fff
}
IFRAME#travelCalendar {
	BORDER-RIGHT: #069 thin solid; BORDER-TOP: #069 thin solid; Z-INDEX: =
50; BACKGROUND: #fff; BORDER-LEFT: #069 thin solid; WIDTH: 350px; =
BORDER-BOTTOM: #069 thin solid; HEIGHT: 210px
}
DIV#travelCalendarContainer {
	Z-INDEX: 51; POSITION: absolute
}
SPAN.calendarSelect {
	LEFT: -20px; CURSOR: pointer; POSITION: relative
}
IMG.enhancedIconCalendar {
	VERTICAL-ALIGN: middle
}
FORM#FlightSched FIELDSET FIELDSET {
	FLOAT: left; MARGIN-BOTTOM: 5px; MARGIN-RIGHT: 10px
}
FORM#FlightSched FIELDSET FIELDSET.help {
	MARGIN-BOTTOM: 0px; WIDTH: 100%; MARGIN-RIGHT: 0px
}
FORM#FlightSched IMG.formIconHelp {
	FLOAT: right
}
FORM#FlightSched FIELDSET FIELDSET.inputElement {
	WIDTH: 100%
}
FORM#FlightSched FIELDSET INPUT#DptText {
	WIDTH: 85px
}
FORM#FlightSched FIELDSET INPUT#ArrText {
	WIDTH: 85px
}
FORM#FlightSched FIELDSET INPUT#departureDate {
	WIDTH: 85px
}
DIV#itinFormNotLoggedIn {
	MARGIN-RIGHT: 50px! important
}
FORM#itinForm DIV {
	WIDTH: 100%
}
FORM#itinForm FIELDSET {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; MARGIN-BOTTOM: 5px; =
PADDING-BOTTOM: 0px; MARGIN-RIGHT: 5px; PADDING-TOP: 0px
}
FORM#itinForm P {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px 0px 5px; PADDING-TOP: 0px
}
FORM#itinForm FIELDSET INPUT#firstName {
	WIDTH: 90px
}
FORM#itinForm FIELDSET INPUT#lastName {
	WIDTH: 90px
}
FORM#itinForm FIELDSET INPUT#recLocId {
	WIDTH: 90px
}
FORM#itinForm FIELDSET.inputElement {
	WIDTH: 100%
}
BODY#search DIV.genContainer {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
BODY#search DIV.appContent {
	WIDTH: 470px
}
BODY#search DIV.info {
	WIDTH: 200px; TEXT-ALIGN: right
}
BODY#search DIV.formContainer DIV.buttonNav {
	WIDTH: 200px
}
BODY#search DIV.formContainer INPUT.submit {
	WIDTH: auto
}
BODY#search DIV.applicationTabsContent H2 {
	PADDING-LEFT: 15px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/icons/arrow_dotted.gif) =
no-repeat 0px 6px
}
DIV#alerts_errors {
	CLEAR: both; MARGIN: 0px; WIDTH: 100%
}
DIV#appContainer DIV#alerts_errors {
	CLEAR: both; MARGIN: 0px; WIDTH: 100%
}
DIV#rtr_alerts_errors {
	MARGIN: 20px 0px 0px; WIDTH: 400px
}
DIV#alerts_errors DIV {
	PADDING-RIGHT: 0px; PADDING-LEFT: 23px; MARGIN-BOTTOM: 2px; =
PADDING-BOTTOM: 2px; PADDING-TOP: 3px
}
DIV#appContainer DIV#alerts_errors DIV {
	PADDING-RIGHT: 0px; PADDING-LEFT: 23px; MARGIN-BOTTOM: 2px; =
PADDING-BOTTOM: 2px; PADDING-TOP: 3px
}
DIV.critical {
	PADDING-RIGHT: 0px; PADDING-LEFT: 23px; MARGIN-BOTTOM: 2px; =
PADDING-BOTTOM: 2px; PADDING-TOP: 3px
}
DIV.alert {
	PADDING-RIGHT: 0px; PADDING-LEFT: 23px; MARGIN-BOTTOM: 2px; =
PADDING-BOTTOM: 2px; PADDING-TOP: 3px
}
DIV.error {
	PADDING-RIGHT: 0px; PADDING-LEFT: 23px; MARGIN-BOTTOM: 2px; =
PADDING-BOTTOM: 2px; PADDING-TOP: 3px
}
DIV.success {
	PADDING-RIGHT: 0px; PADDING-LEFT: 23px; MARGIN-BOTTOM: 2px; =
PADDING-BOTTOM: 2px; PADDING-TOP: 3px
}
DIV.info {
	PADDING-RIGHT: 0px; PADDING-LEFT: 23px; MARGIN-BOTTOM: 2px; =
PADDING-BOTTOM: 2px; PADDING-TOP: 3px
}
P.critical {
	PADDING-RIGHT: 0px; PADDING-LEFT: 23px; MARGIN-BOTTOM: 2px; =
PADDING-BOTTOM: 2px; PADDING-TOP: 3px
}
P.alert {
	PADDING-RIGHT: 0px; PADDING-LEFT: 23px; MARGIN-BOTTOM: 2px; =
PADDING-BOTTOM: 2px; PADDING-TOP: 3px
}
P.error {
	PADDING-RIGHT: 0px; PADDING-LEFT: 23px; MARGIN-BOTTOM: 2px; =
PADDING-BOTTOM: 2px; PADDING-TOP: 3px
}
P.success {
	PADDING-RIGHT: 0px; PADDING-LEFT: 23px; MARGIN-BOTTOM: 2px; =
PADDING-BOTTOM: 2px; PADDING-TOP: 3px
}
P.info {
	PADDING-RIGHT: 0px; PADDING-LEFT: 23px; MARGIN-BOTTOM: 2px; =
PADDING-BOTTOM: 2px; PADDING-TOP: 3px
}
DIV.critical {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/critical.gif) =
no-repeat; COLOR: #333
}
DIV#alerts_errors DIV.critical {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/critical.gif) =
no-repeat; COLOR: #333
}
DIV#rtr_alerts_errors DIV.critical {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/critical.gif) =
no-repeat; COLOR: #333
}
DIV#appContainer DIV#alerts_errors DIV.critical {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/critical.gif) =
no-repeat; COLOR: #333
}
DIV.critical {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/critical.gif) =
no-repeat; COLOR: #333
}
P.critical {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/critical.gif) =
no-repeat; COLOR: #333
}
DIV.alert {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_arrow.gif) =
no-repeat; COLOR: #333
}
DIV#alerts_errors DIV.alert {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_arrow.gif) =
no-repeat; COLOR: #333
}
DIV#rtr_alerts_errors DIV.alert {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_arrow.gif) =
no-repeat; COLOR: #333
}
DIV#appContainer DIV#alerts_errors DIV.alert {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_arrow.gif) =
no-repeat; COLOR: #333
}
DIV.alert TR TD {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_arrow.gif) =
no-repeat; COLOR: #333
}
DIV.alert {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_arrow.gif) =
no-repeat; COLOR: #333
}
P.alert {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_arrow.gif) =
no-repeat; COLOR: #333
}
DIV.error {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_x.gif) =
no-repeat 1px 0px; COLOR: #c01933
}
DIV#alerts_errors DIV.error {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_x.gif) =
no-repeat 1px 0px; COLOR: #c01933
}
DIV#rtr_alerts_errors DIV.error {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_x.gif) =
no-repeat 1px 0px; COLOR: #c01933
}
DIV#appContainer DIV#alerts_errors DIV.error {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_x.gif) =
no-repeat 1px 0px; COLOR: #c01933
}
DIV.error {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_x.gif) =
no-repeat 1px 0px; COLOR: #c01933
}
P.error {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_x.gif) =
no-repeat 1px 0px; COLOR: #c01933
}
DIV.success {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/confirmation_check=
.gif) no-repeat 0px 1px; COLOR: #333
}
DIV#alerts_errors DIV.success {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/confirmation_check=
.gif) no-repeat 0px 1px; COLOR: #333
}
DIV#rtr_alerts_errors DIV.success {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/confirmation_check=
.gif) no-repeat 0px 1px; COLOR: #333
}
DIV#appContainer DIV#alerts_errors DIV.success {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/confirmation_check=
.gif) no-repeat 0px 1px; COLOR: #333
}
DIV.success {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/confirmation_check=
.gif) no-repeat 0px 1px; COLOR: #333
}
P.success {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/confirmation_check=
.gif) no-repeat 0px 1px; COLOR: #333
}
DIV.info {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/information.gif) =
no-repeat 0px 2px; COLOR: #333
}
DIV#alerts_errors DIV.info {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/information.gif) =
no-repeat 0px 2px; COLOR: #333
}
DIV#rtr_alerts_errors DIV.info {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/information.gif) =
no-repeat 0px 2px; COLOR: #333
}
DIV#appContainer DIV#alerts_errors DIV.info {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/information.gif) =
no-repeat 0px 2px; COLOR: #333
}
DIV.info {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/information.gif) =
no-repeat 0px 2px; COLOR: #333
}
P.info {
	BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/information.gif) =
no-repeat 0px 2px; COLOR: #333
}
LABEL.error {
	CLEAR: none; PADDING-RIGHT: 0px! important; PADDING-LEFT: 22px! =
important; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_x.gif) =
no-repeat; PADDING-BOTTOM: 2px! important; COLOR: #c01933; PADDING-TOP: =
2px! important; HEIGHT: 16px
}
INPUT.error {
	BORDER-RIGHT: #c01933 1px solid; BORDER-TOP: #c01933 1px solid; =
BORDER-LEFT: #c01933 1px solid; BORDER-BOTTOM: #c01933 1px solid
}
SELECT.error {
	BORDER-RIGHT: #c01933 1px solid; BORDER-TOP: #c01933 1px solid; =
BORDER-LEFT: #c01933 1px solid; BORDER-BOTTOM: #c01933 1px solid
}
DIV#dashboard {
	DISPLAY: block; Z-INDEX: 1; FLOAT: left; FONT: 11px Tahoma, Arial, =
sans-serif; WIDTH: 230px; POSITION: absolute; TOP: 60px
}
DIV#dashboard H3 {
	BORDER-RIGHT: #fff 3px solid; PADDING-RIGHT: 3px; BORDER-TOP: #fff 3px =
solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold! important; FONT-SIZE: 11px! =
important; BACKGROUND: #036; PADDING-BOTTOM: 4px; MARGIN: 0px 1px; =
BORDER-LEFT: #fff 3px solid; COLOR: #fff; PADDING-TOP: 3px; =
BORDER-BOTTOM: #fff 0px solid
}
DIV#dashboard DIV#dashboardBody {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; PADDING-LEFT: 10px; =
BACKGROUND: #f9f9f9; PADDING-BOTTOM: 10px; MARGIN: 0px; BORDER-LEFT: =
#ccc 1px solid; PADDING-TOP: 10px
}
DIV#dashboard INPUT.button {
	FONT-WEIGHT: bold
}
DIV#genLoginSpacer {
	FLOAT: left; WIDTH: 230px; HEIGHT: 150px; BACKGROUND-COLOR: #fff
}
BODY.lpBody DIV#genLoginSpacer {
	FLOAT: left; WIDTH: 230px; HEIGHT: 150px; BACKGROUND-COLOR: #fff
}
BODY.tech_ops DIV#genLoginSpacer {
	FLOAT: left; WIDTH: 230px; HEIGHT: 150px; BACKGROUND-COLOR: #fff
}
BODY.cargo DIV#genLoginSpacer {
	FLOAT: left; WIDTH: 230px; HEIGHT: 150px; BACKGROUND-COLOR: #fff
}
BODY.corporate DIV#genLoginSpacer {
	HEIGHT: 30px
}
DIV#homepage_applications DIV#genLoginSpacer {
	MARGIN-BOTTOM: 10px; HEIGHT: 106px
}
DIV#invalidSkyMiles {
	DISPLAY: none
}
DIV#invalidWorldPerks {
	DISPLAY: none
}
DIV#loyaltyAccount {
	MARGIN: 0px
}
DIV#loyaltyAccountSelection {
	MARGIN-TOP: 0px; WIDTH: 100%
}
DIV#loyaltyAccountSelection FIELDSET {
	FLOAT: left; MARGIN-BOTTOM: 5px
}
DIV#loyaltyAccountSelection FIELDSET INPUT {
	DISPLAY: inline; FLOAT: left; MARGIN: 0px 5px 0px 0px
}
DIV#loyaltyAccountSelection FIELDSET LABEL {
	PADDING-RIGHT: 10px; DISPLAY: inline; FLOAT: left
}
DIV#skyMilesData {
	MARGIN-TOP: 5px
}
DIV#worldPerksData {
	MARGIN-TOP: 5px
}
DIV#skyMilesData FIELDSET {
	FLOAT: left; MARGIN-BOTTOM: 5px; MARGIN-RIGHT: 5px
}
DIV#worldPerksData FIELDSET {
	FLOAT: left; MARGIN-BOTTOM: 5px; MARGIN-RIGHT: 5px
}
DIV#skyMilesData FIELDSET INPUT#skyMilesNumber {
	WIDTH: 80px! important
}
DIV#skyMilesData FIELDSET INPUT#pin {
	WIDTH: 80px! important
}
DIV#worldPerksData FIELDSET INPUT#worldPerksNumber {
	WIDTH: 80px! important
}
DIV#worldPerksData FIELDSET INPUT#lastName {
	WIDTH: 80px! important
}
DIV#worldPerksData FIELDSET INPUT#worldPerksPin {
	WIDTH: 80px! important
}
FIELDSET#rememberme {
	WIDTH: 90%
}
INPUT#deltaSkyMiles {
	WIDTH: 13px
}
INPUT#nwWorldPerks {
	WIDTH: 13px
}
INPUT#remember {
	WIDTH: 13px
}
DIV#skyMilesData FIELDSET INPUT.formCheckbox {
	WIDTH: 14px
}
DIV#worldPerksData FIELDSET INPUT.formCheckbox {
	WIDTH: 14px
}
DIV#worldPerksData FIELDSET LABEL {
	CLEAR: left; DISPLAY: block
}
DIV#skyMilesData P {
	CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; FONT: 11px Tahoma, Arial, sans-serif; PADDING-TOP: =
0px
}
DIV#skyMilesData INPUT.right {
	FLOAT: right; WIDTH: auto
}
DIV#worldPerksData INPUT.right {
	FLOAT: right; WIDTH: auto
}
DIV#worldPerksData INPUT#go_button {
	POSITION: relative; TOP: 15px
}
DIV#worldPerksData {
	DISPLAY: none
}
DIV#dashboard DIV#appBoxCrtl {
	CLEAR: both; DISPLAY: block; FONT-SIZE: 9px; WIDTH: 100%
}
DIV#dashboard DIV#appBoxCrtl FIELDSET#dashboard_close {
	PADDING-LEFT: 10px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/icons/arrow_small_close.g=
if) no-repeat left center; FLOAT: right; MARGIN: -5px 0px
}
DIV#dashboard DIV#appBoxCrtl FIELDSET#dashboard_open {
	PADDING-LEFT: 10px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/icons/arrow_small_down.gi=
f) no-repeat left center; FLOAT: right; MARGIN: -5px
}
DIV#homepageContainer DIV#dashboard DIV#appBoxCrtl {
	DISPLAY: none
}
DIV#skymilesInfo {
	MARGIN-TOP: 2px
}
FIELDSET#totalMiles A {
	LINE-HEIGHT: 11px
}
DIV#loyaltyAccount {
	WIDTH: 100%
}
DIV#notMe {
	WIDTH: auto
}
DIV#dashboard_logout {
	CLEAR: both
}
DIV#dashboard_close {
	FONT-SIZE: 9px; WIDTH: 100%; TEXT-ALIGN: right
}
DIV#dashboard_open {
	FONT-SIZE: 9px; WIDTH: 100%; TEXT-ALIGN: right
}
DIV#skyMilesData {
	MARGIN-TOP: 5px
}
DIV#worldPerksData {
	MARGIN-TOP: 5px
}
DIV#skyMilesData FIELDSET {
	FLOAT: left; MARGIN-BOTTOM: 5px; MARGIN-RIGHT: 5px
}
DIV#worldPerksData FIELDSET {
	FLOAT: left; MARGIN-BOTTOM: 5px; MARGIN-RIGHT: 5px
}
DIV#skyMilesData FIELDSET INPUT {
	WIDTH: 95px
}
DIV#worldPerksData FIELDSET INPUT {
	WIDTH: 95px
}
DIV#booking_itinerary_search {
	CLEAR: left; FLOAT: left; MARGIN-BOTTOM: 10px; WIDTH: 230px
}
H3#booking_search {
	BACKGROUND-IMAGE: none; WIDTH: 99px; TEXT-ALIGN: center
}
H3#itinerary_search {
	BACKGROUND-IMAGE: none; WIDTH: 99px; TEXT-ALIGN: center
}
H3#booking_search {
	FLOAT: left; PADDING-BOTTOM: 10px! important; PADDING-TOP: 10px! =
important
}
H3#itinerary_search {
	FLOAT: right
}
DIV#booking_itinerary_search H3.inactive {
	BACKGROUND: #79c
}
DIV#booking_itinerary_search H3 A {
	FONT-WEIGHT: bold; COLOR: #fff; TEXT-DECORATION: none
}
DIV#booking_itinerary_search DIV.clear {
	HEIGHT: 0px
}
DIV#booking_itinerary_search DIV.formBackground {
	CLEAR: both; BORDER-TOP: #036 3px solid
}
BODY.planning_reservations_landing DIV#booking_itinerary_search =
DIV.formBackground {
	BORDER-TOP: #036 0px solid
}
BODY.traveling_checkin_landing DIV#booking_itinerary_search =
DIV.formBackground {
	BORDER-TOP: #036 0px solid
}
DIV#booking_itinerary_search P {
	CLEAR: both; PADDING-BOTTOM: 5px; TEXT-ALIGN: center
}
A#HotelLink {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
A#CarLink {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
A#VacationsLink {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
A#CruiseLink {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
IMG#HelpIcon {
	FLOAT: left
}
DIV#RTRerror DIV.error {
	PADDING-RIGHT: 0px; PADDING-LEFT: 25px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}
DIV#itinerarySearchAlerts_Errors DIV.error {
	PADDING-RIGHT: 0px; PADDING-LEFT: 25px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}
DIV#MoreOptionsLinks {
	MARGIN-BOTTOM: 5px; TEXT-ALIGN: left
}
FIELDSET#PreferredTrips {
	PADDING-BOTTOM: 3px; WIDTH: 100%
}
FIELDSET#PreferredTrips SELECT#preferenceItinId {
	WIDTH: 100%
}
DIV#flights FIELDSET {
	MARGIN-BOTTOM: 2px
}
DIV#flights FIELDSET.inputElement {
	CLEAR: both; FLOAT: left
}
DIV#flights FIELDSET.inputElement FIELDSET {
	FLOAT: left; MARGIN-RIGHT: 5px
}
FIELDSET#FromLocation INPUT#leave {
	WIDTH: 85px
}
FIELDSET#ToLocation INPUT#going {
	WIDTH: 85px
}
FIELDSET#ToLocation {
	MARGIN-LEFT: 10px
}
FIELDSET#TripType INPUT {
	FLOAT: left; MARGIN-RIGHT: 5px
}
FIELDSET#TripType LABEL {
	FLOAT: left; MARGIN-RIGHT: 5px
}
DIV#flights FIELDSET.inputElement {
	WIDTH: 100%
}
FIELDSET#AdditionalOptions {
	WIDTH: 100%
}
FIELDSET#AdditionalOptions {
	CLEAR: left; FLOAT: left
}
FIELDSET#AdditionalOptions INPUT.right {
=09
}
DIV#booking_itinerary_search DIV#TripType LABEL.formCheckbox {
	PADDING-RIGHT: 10px
}
DIV#booking_itinerary_search INPUT#roundtrip {
	WIDTH: 14px
}
DIV#booking_itinerary_search INPUT#plusMinus {
	WIDTH: 14px
}
DIV#booking_itinerary_search INPUT[type=3D'radio'] {
	WIDTH: 14px
}
DIV#booking_itinerary_search INPUT[type=3D'checkbox'] {
	WIDTH: 14px
}
FIELDSET.travelDate INPUT#departureDate {
	WIDTH: 80px
}
FIELDSET.travelDate INPUT#returnDate {
	WIDTH: 80px
}
DIV#booking_itinerary_search SELECT#departuretime {
	WIDTH: 100px
}
DIV#booking_itinerary_search SELECT#returntime {
	WIDTH: 100px
}
DIV.travelDate {
	WIDTH: 120px
}
FIELDSET#FlexOptions * {
	FLOAT: left
}
FIELDSET#RefundableOption * {
	FLOAT: left
}
FIELDSET#FlexOptions LABEL {
	MARGIN-LEFT: 5px; WIDTH: 90%
}
DIV#booking_itinerary_search DIV#PaxOptions {
	WIDTH: 55px
}
DIV#booking_itinerary_search DIV#CabinOptions {
	WIDTH: 145px; TEXT-ALIGN: right
}
DIV#booking_itinerary_search FIELDSET#RefundableOption {
	WIDTH: 80px
}
DIV#booking_itinerary_search FIELDSET#RefundableOption INPUT#refundable =
{
	MARGIN-RIGHT: 5px
}
FIELDSET#AdditionalOptions FIELDSET {
	CLEAR: none; FLOAT: left; WIDTH: auto
}
DIV#booking_itinerary_search FIELDSET#UpgradeOption {
	CLEAR: none; FLOAT: left; WIDTH: 120px
}
DIV#booking_itinerary_search SELECT#passengers {
	WIDTH: 43px
}
DIV#booking_itinerary_search SELECT#cabinclass {
	WIDTH: 140px
}
DIV#booking_itinerary_search DIV.formSubmit {
	WIDTH: 120px; HEIGHT: 21px; TEXT-ALIGN: right
}
DIV#booking_itinerary_search DIV.wUpgrade DIV.formSubmit {
	MARGIN-TOP: 3px; WIDTH: 200px
}
LABEL#booking_itinerary_searchFromTo {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 0px
}
DIV#displayItins UL {
=09
}
DIV#displayItins P {
	TEXT-ALIGN: left
}
DIV#displayNoItinsFound P {
	TEXT-ALIGN: left
}
FORM#itinForm P {
	TEXT-ALIGN: left
}
DIV#applicationColumn DIV#booking_itinerary_search DIV.formBackground {
	BORDER-TOP: #036 0px solid
}
BODY.featured_departure_city DIV#booking_itinerary_search =
DIV.formBackground {
	BORDER-TOP: #036 0px solid
}
DIV#BestFareGuarantee DIV#booking_itinerary_search DIV.formBackground {
	BORDER-TOP: #036 0px solid
}
.rtrError {
	PADDING-LEFT: 22px; FONT-SIZE: 9px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/images/icons/error_x.gif) =
no-repeat; MARGIN-BOTTOM: -5px; COLOR: #c01933; MARGIN-RIGHT: 10px; =
PADDING-TOP: 3px! important; HEIGHT: 16px
}
FIELDSET#itinsearch_fname {
	WIDTH: 90px
}
FIELDSET#itinsearch_lname {
	WIDTH: 90px
}
BODY.planning_reservations_landing FIELDSET#TripType {
	MARGIN-TOP: 0px
}
DIV#BestFareGuarantee DIV#booking_itinerary_search {
	FLOAT: right; MARGIN: 0px 0px 10px 10px
}
BODY.planning_reservations_landing P#offsiteLinks {
	DISPLAY: none
}
BODY.planning_reservations_landing FIELDSET#PreferredTrips {
	DISPLAY: none
}
BODY.planning_reservations_landing DIV#MoreOptionsLinks {
	DISPLAY: none
}
BODY.planning_reservations_landing FIELDSET#FlexOptions {
	DISPLAY: none
}
DIV#travel_getaways P#offsiteLinks {
	DISPLAY: none
}
DIV#travel_getaways DIV#MoreOptionsLinks {
	DISPLAY: none
}
DIV#travel_getaways FIELDSET#PreferredTrips {
	DISPLAY: none
}
DIV#travel_getaways FIELDSET#FlexOptions {
	DISPLAY: none
}
DIV#getaway_ideas P#offsiteLinks {
	DISPLAY: none
}
DIV#getaway_ideas DIV#MoreOptionsLinks {
	DISPLAY: none
}
DIV#getaway_ideas FIELDSET#PreferredTrips {
	DISPLAY: none
}
DIV#getaway_ideas FIELDSET#FlexOptions {
	DISPLAY: none
}
DIV#BestFareGuarantee P#offsiteLinks {
	DISPLAY: none
}
DIV#BestFareGuarantee DIV#MoreOptionsLinks {
	DISPLAY: none
}
DIV#BestFareGuarantee FIELDSET#PreferredTrips {
	DISPLAY: none
}
DIV#BestFareGuarantee FIELDSET#FlexOptions {
	DISPLAY: none
}
BODY.featured_departure_city P#offsiteLinks {
	DISPLAY: none
}
BODY.featured_departure_city DIV#MoreOptionsLinks {
	DISPLAY: none
}
BODY.featured_departure_city FIELDSET#FlexOptions {
	DISPLAY: none
}
BODY.planning_reservations_landing DIV#booking_itinerary_search {
	MARGIN-RIGHT: 10px
}
BODY.traveling_checkin_landing DIV#booking_itinerary_search {
	MARGIN-RIGHT: 10px
}
DIV#flight_status {
	FLOAT: left; MARGIN-BOTTOM: 10px; WIDTH: 230px
}
DIV#flight_status DIV.formBackground {
	PADDING-TOP: 5px
}
FORM#flifoForm {
	MARGIN-TOP: 0px; PADDING-TOP: 0px
}
FORM#schedForm {
	MARGIN-TOP: 0px; PADDING-TOP: 0px
}
FORM#flifoData FIELDSET P {
	CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: auto; PADDING-TOP: 0px
}
FORM#flifoData FIELDSET FIELDSET#searchByCarrierAndNumber LABEL {
	MARGIN-LEFT: 20px
}
FORM#flifoData FIELDSET FIELDSET#searchByOriginAndDestination LABEL {
	MARGIN-LEFT: 20px
}
FORM#flifoData FIELDSET P {
	MARGIN-TOP: 0px
}
FORM#flifoData FIELDSET FIELDSET {
	MARGIN: 0px 10px 5px 0px
}
INPUT#byFlightNumber {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 3px 5px 0px 0px; WIDTH: 14px; PADDING-TOP: 0px; HEIGHT: =
14px
}
INPUT#byFlightDate {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 3px 5px 0px 0px; WIDTH: 14px; PADDING-TOP: 0px; HEIGHT: =
14px
}
FORM#flifoData P#orBlock {
	CLEAR: both; PADDING-RIGHT: 0px! important; DISPLAY: block; =
PADDING-LEFT: 0px! important; PADDING-BOTTOM: 0px! important; MARGIN: =
5px 0px 0px; WIDTH: 100%; PADDING-TOP: 0px! important
}
FORM#flifoData IMG {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px
}
FORM#flifoData INPUT#flightnumber {
	FLOAT: left; WIDTH: 65px
}
FORM#flifoData INPUT#leavingfrom {
	FLOAT: left; WIDTH: 65px
}
FORM#flifoData INPUT#goingto {
	FLOAT: left; WIDTH: 65px
}
FORM#flifoData FIELDSET {
	FLOAT: left
}
FORM#flifoData FIELDSET FIELDSET {
	MARGIN-BOTTOM: 0px
}
FORM#flifoData FIELDSET FIELDSET#flightDate {
	MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px
}
FORM#flifoData FIELDSET#flightDate * {
	FLOAT: left
}
FORM#flifoData FIELDSET#flightDate LABEL {
	MARGIN: 0px 5px 0px 0px; PADDING-TOP: 2px
}
FORM#flifoData FIELDSET.inputElement {
	FLOAT: left
}
INPUT#flifo_Go {
	CLEAR: both; MARGIN-RIGHT: 0px! important
}
DIV#ie_clear {
	DISPLAY: none
}
DIV#modalOverlayBgDiv {
	DISPLAY: none; Z-INDEX: 1000; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/backgrounds/apps/shadow.g=
if); LEFT: 0px; POSITION: absolute; TOP: 0px
}
DIV#popupDiv {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; OVERFLOW: =
hidden; PADDING-TOP: 0px
}
DIV#modalPopHeader {
	Z-INDEX: 1001
}
DIV#modalPopupContent {
	PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; Z-INDEX: 1001; =
PADDING-BOTTOM: 10px; PADDING-TOP: 10px; POSITION: absolute
}
* DIV.screenPopup_noFollow {
	BORDER-RIGHT: #069 2px solid; PADDING-RIGHT: 8px; BORDER-TOP: #069 2px =
solid; PADDING-LEFT: 8px; FONT-SIZE: 11px; Z-INDEX: 1001; LEFT: 0px; =
PADDING-BOTTOM: 8px; BORDER-LEFT: #069 2px solid; COLOR: #333; =
PADDING-TOP: 8px; BORDER-BOTTOM: #069 2px solid; POSITION: absolute; =
TOP: 0px; BACKGROUND-COLOR: #fff; TEXT-ALIGN: left
}
* > DIV.screenPopup_follow {
	BORDER-RIGHT: #069 2px solid; PADDING-RIGHT: 8px; BORDER-TOP: #069 2px =
solid; PADDING-LEFT: 8px; FONT-SIZE: 11px; Z-INDEX: 1001; LEFT: 0px; =
PADDING-BOTTOM: 8px; BORDER-LEFT: #069 2px solid; COLOR: #333; =
PADDING-TOP: 8px; BORDER-BOTTOM: #069 2px solid; POSITION: fixed! =
important; TOP: 0px; BACKGROUND-COLOR: #fff; TEXT-ALIGN: left
}
* IFRAME.popupFrame_noFollow {
	Z-INDEX: 999; POSITION: absolute; BACKGROUND-COLOR: #fff
}
* > IFRAME.popupFrame_follow {
	Z-INDEX: 999; POSITION: fixed! important; BACKGROUND-COLOR: #fff
}
.smallText {
	FONT: 9px Verdana, sans-serif; COLOR: #333
}
.smallText A {
	FONT-SIZE: 9px! important; COLOR: #069! important; TEXT-DECORATION: =
underline! important
}
DIV#genLoginSpacer {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
DIV#homepage_container DIV#genHeader {
	BACKGROUND: #fff
}
DIV#homepage_container DIV#Footer {
	BACKGROUND: #fff
}
DIV#homepage_container DIV.disclaimer {
	BACKGROUND: #fff
}
DIV#homepage_container DIV#copyright {
	BACKGROUND: #fff
}
DIV#homepage_applications {
	CLEAR: left; FLOAT: left; WIDTH: 230px
}
DIV#homepage_messaging {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0px 0px 0px 10px; WIDTH: 710px; PADDING-TOP: 0px
}
DIV#primary_message {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; BACKGROUND: =
no-repeat; PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 710px; PADDING-TOP: =
0px; HEIGHT: 360px
}
DIV#secondary_message {
	BORDER-TOP: #79c 2px solid; BACKGROUND: #f9f9f9; WIDTH: 710px; COLOR: =
#333; BORDER-BOTTOM: #79c 1px solid; HEIGHT: 110px
}
DIV#tertiary_message {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: =
710px; COLOR: #333; PADDING-TOP: 10px; POSITION: relative; TOP: 0px
}
DIV.fpe_tertiary {
=09
}
DIV#primary_message H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 40px; PADDING-BOTTOM: 10px; FONT: =
28px Tahoma, Arial, sans-serif; COLOR: #fff; PADDING-TOP: 20px
}
DIV#primary_message P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; MARGIN: =
0px 0px 0px 40px; FONT: bold 16px Tahoma, Arial, sans-serif; WIDTH: =
390px; COLOR: #fff; PADDING-TOP: 0px
}
DIV#primary_message DIV.button {
=09
}
DIV#primary_message DIV.button A {
	PADDING-RIGHT: 16px; PADDING-LEFT: 5px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/buttons/bg/right.gif) =
#fff no-repeat right center; FLOAT: left; PADDING-BOTTOM: 3px; MARGIN: =
0px 0px 0px 32px; COLOR: #036; PADDING-TOP: 3px; TEXT-DECORATION: none
}
DIV#primary_message DIV.button SPAN.label {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; BACKGROUND: #fff; PADDING-BOTTOM: 3px; PADDING-TOP: 2px
}
DIV#terms {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 0px 40px; FONT: 9px Tahoma, Arial, sans-serif; COLOR: #fff; =
PADDING-TOP: 10px
}
DIV#secondary_message DIV.full_image {
	FLOAT: left; WIDTH: 190px; MARGIN-RIGHT: 10px; HEIGHT: 110px
}
DIV#secondary_message DIV.no_image {
	FLOAT: left; WIDTH: 190px; MARGIN-RIGHT: 10px; HEIGHT: 110px
}
DIV#secondary_message DIV.small_image {
	FLOAT: left; WIDTH: 190px; MARGIN-RIGHT: 10px; HEIGHT: 110px
}
DIV#secondary_message DIV.full_image {
	MARGIN-LEFT: 40px; MARGIN-RIGHT: 40px
}
DIV#secondary_message DIV.no_image {
	MARGIN-RIGHT: 40px
}
DIV#secondary_message DIV.full_image DIV.content {
	MARGIN: 10px 0px 0px; FONT: 12px Tahoma, Arial, sans-serif
}
DIV#secondary_message DIV.no_image DIV.content {
	MARGIN: 10px 0px 0px; FONT: 12px Tahoma, Arial, sans-serif
}
DIV#secondary_message DIV.small_image DIV.content {
	MARGIN: 10px 0px 0px; FONT: 12px Tahoma, Arial, sans-serif
}
DIV#secondary_message DIV.full_image DIV.content P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; FONT: 12px Tahoma, Arial, sans-serif; WIDTH: auto; COLOR: #333; =
PADDING-TOP: 0px
}
DIV#secondary_message DIV.no_image DIV.content P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; FONT: 12px Tahoma, Arial, sans-serif; WIDTH: auto; COLOR: #333; =
PADDING-TOP: 0px
}
DIV#secondary_message DIV.small_image DIV.content P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; FONT: 12px Tahoma, Arial, sans-serif; WIDTH: auto; COLOR: #333; =
PADDING-TOP: 0px
}
DIV.no_image DIV.content H2 {
	COLOR: #333
}
DIV.small_image DIV.content H2 {
	COLOR: #333
}
DIV.no_image DIV.content P {
	HEIGHT: 58px
}
DIV#secondary_message DIV.no_image DIV.action {
	CLEAR: both; FLOAT: right; WIDTH: auto; MARGIN-RIGHT: 10px; TEXT-ALIGN: =
right
}
DIV#secondary_message DIV.small_image DIV.action {
	CLEAR: both; FLOAT: right; WIDTH: auto; MARGIN-RIGHT: 10px; TEXT-ALIGN: =
right
}
DIV#secondary_message DIV.action A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 16px; FONT-WEIGHT: bold; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/icons/arrow_dotted.gif) =
no-repeat left center; PADDING-BOTTOM: 0px; WIDTH: auto; PADDING-TOP: =
0px; HEIGHT: auto
}
DIV#tertiary_message {
	CLEAR: both; PADDING-TOP: 10px
}
DIV#tertiary_message H2 {
	COLOR: #333
}
DIV#tertiary_message DIV.column {
	FLOAT: left; MARGIN-LEFT: 40px; WIDTH: 190px
}
DIV#tertiary_message DIV#col1 DIV.action {
	FLOAT: left
}
DIV#tertiary_message DIV#col2 {
	FLOAT: left; MARGIN-LEFT: 40px; WIDTH: 390px
}
DIV#tertiary_message DIV.column DIV.item {
	CLEAR: both; MARGIN-BOTTOM: 30px
}
DIV#tertiary_message DIV.column DIV.item * {
	FONT-SIZE: 12px; FONT-FAMILY: Tahoma, Arial, sans-serif
}
DIV#tertiary_message UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; WIDTH: 420px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
DIV#tertiary_message UL A {
	BACKGROUND: none transparent scroll repeat 0% 0%; FONT: 12px Tahoma, =
Arial, sans-serif; WIDTH: 100%
}
DIV#tertiary_message UL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/icons/arrow_small_dotted.=
gif) no-repeat left center; PADDING-BOTTOM: 7px; FONT: 12px Tahoma, =
Arial, sans-serif; WIDTH: 100%; PADDING-TOP: 2px
}
DIV#tertiary_message DIV.action {
	CLEAR: both; FLOAT: right; WIDTH: auto; MARGIN-RIGHT: 10px; TEXT-ALIGN: =
right
}
DIV#tertiary_message DIV.action A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 16px; FONT-WEIGHT: bold; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/icons/arrow_dotted.gif) =
no-repeat left center; PADDING-BOTTOM: 0px; WIDTH: auto; PADDING-TOP: =
0px; HEIGHT: auto
}
DIV#Advisory {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 30px; BORDER-TOP: #fff 1px =
solid; PADDING-LEFT: 40px; BORDER-LEFT-WIDTH: 0px; BACKGROUND: #e6ebef; =
LEFT: 240px; PADDING-BOTTOM: 3px; PADDING-TOP: 2px; BORDER-BOTTOM: #ccc =
1px solid; POSITION: absolute; TOP: 326px
}
DIV#Advisory DIV#Current {
	PADDING-RIGHT: 30px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 3px; =
BACKGROUND: #fff; PADDING-BOTTOM: 4px; BORDER-LEFT: #ccc 1px solid; =
PADDING-TOP: 3px
}
DIV#Advisory DIV#Current STRONG {
	FONT-SIZE: 11px; COLOR: #f00
}
DIV#Advisory DIV#Current A {
	PADDING-LEFT: 10px; FONT-WEIGHT: normal; FONT-SIZE: 9px; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/icons/arrow_red.gif) =
#fff no-repeat left center; COLOR: #333
}
DIV.flashseo {
	DISPLAY: none
}
.link_fullsearch {
	PADDING-LEFT: 8px
}

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/shared/components/css/ie6.jsp?ts=2009815&version=42

DIV#genHeader {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 10px; OVERFLOW: hidden; PADDING-TOP: =
0px
}
DIV#branding {
	MARGIN-TOP: 0px
}
DIV#HeaderLinks DIV.clear {
	DISPLAY: none
}
DIV.menu P.close {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 2px =
15px 5px; PADDING-TOP: 0px
}
DIV#dashboard {
	DISPLAY: block! important; Z-INDEX: 100; LEFT: 0px; POSITION: absolute; =
TOP: 60px
}
DIV#skyMilesData FIELDSET INPUT {
	WIDTH: 90px
}
DIV#worldPerksData FIELDSET INPUT {
	WIDTH: 90px
}
FIELDSET#loyaltyOptions {
	MARGIN-TOP: -3px
}
FIELDSET#loyaltyOptions INPUT {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: 0px; PADDING-TOP: 0px! important
}
FIELDSET#loyaltyOptions LABEL {
	PADDING-RIGHT: 10px! important; PADDING-LEFT: 5px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: 0px; PADDING-TOP: 3px! important
}
DIV#skyMilesData P {
	DISPLAY: block; WIDTH: 150px
}
DIV#appBoxCrtl FIELDSET {
	HEIGHT: 15px
}
DIV#appBoxCrtl FIELDSET A {
	POSITION: relative
}
DIV#siteNav {
	Z-INDEX: 100; BACKGROUND: =
url(http://images.delta.com.edgesuite.net/delta/backgrounds/headers/top_l=
evel_nav_ie_bg.gif) repeat-x left top; MARGIN: 0px 0px -30px; HEIGHT: =
35px! important
}
DIV.genContainer {
	MARGIN-TOP: -30px! important; PADDING-TOP: 0px! important
}
DIV.appContainer {
	MARGIN-TOP: -30px! important; PADDING-TOP: 0px! important
}
DIV#menu1Container {
	Z-INDEX: 102; POSITION: absolute
}
DIV#menu2Container {
	Z-INDEX: 102; POSITION: absolute
}
DIV#menu3Container {
	Z-INDEX: 102; POSITION: absolute
}
DIV#menu1Content {
	Z-INDEX: 103; POSITION: absolute
}
DIV#menu2Content {
	Z-INDEX: 103; POSITION: absolute
}
DIV#menu3Content {
	Z-INDEX: 103; POSITION: absolute
}
DIV#booking_itinerary_search {
	BORDER-RIGHT: #ccc 1px solid; OVERFLOW: hidden; WIDTH: 230px
}
DIV#booking_itinerary_search DIV.clear {
	FONT-SIZE: 0px; MARGIN-BOTTOM: -3px; HEIGHT: 0px
}
H3#booking_search {
	FLOAT: left; MARGIN-LEFT: 1px; WIDTH: 98px; MARGIN-RIGHT: 0px
}
H3#itinerary_search {
	FLOAT: left; WIDTH: 99px
}
DIV#flights FIELDSET {
	MARGIN-BOTTOM: 0px
}
DIV#flights FIELDSET FIELDSET {
	MARGIN-BOTTOM: 0px
}
DIV#booking_itinerary_search DIV.formBackground {
	PADDING-BOTTOM: 0px! important; OVERFLOW: visible
}
DIV#booking_itinerary_search P#offsiteLinks {
	MARGIN: 0px
}
FIELDSET#flightSearchParams {
	MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 10px; WIDTH: 210px! important
}
FIELDSET#PreferredTrips {
	OVERFLOW: hidden; WIDTH: 210px! important
}
FIELDSET#TripType {
	MARGIN-LEFT: -3px! important
}
FIELDSET#TripType INPUT.formCheckbox {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: 0px; WIDTH: 25px; PADDING-TOP: =
0px! important
}
FIELDSET#Locations {
	MARGIN-BOTTOM: -3px
}
FIELDSET#FromLocation INPUT {
	MARGIN-BOTTOM: 0px
}
FIELDSET#ToLocation INPUT {
	MARGIN-BOTTOM: 0px
}
FIELDSET#ToLocation {
	MARGIN-LEFT: 10px
}
FIELDSET#ToLocation * {
	MARGIN-LEFT: 0px
}
FIELDSET#ToLocation INPUT {
	MARGIN-LEFT: 0px
}
FIELDSET#DepartMonthTime {
	PADDING-RIGHT: 0px; MARGIN-TOP: -3px; PADDING-LEFT: 0px; MARGIN-BOTTOM: =
-15px! important; PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
FIELDSET#ReturnMonthAndTime {
	MARGIN: 3px 0px -15px
}
FIELDSET#DepartMonthTime {
	MARGIN-RIGHT: -2px! important
}
FIELDSET#DepartMonthTime FIELDSET.travelDate {
	MARGIN-RIGHT: -2px! important
}
FIELDSET#ReturnMonthAndTime {
	MARGIN-RIGHT: -2px! important
}
FIELDSET#ReturnMonthAndTime FIELDSET.travelDate {
	MARGIN-RIGHT: -2px! important
}
SPAN.calendarSelect {
	MARGIN-BOTTOM: -18px; MARGIN-LEFT: 90px; MARGIN-RIGHT: 0px; TOP: -17px
}
DIV#booking_itinerary_search DIV.formBackground FIELDSET =
FIELDSET.travelTime {
	PADDING-LEFT: 5px
}
FIELDSET#DepartMonthTime FIELDSET.travelTime SELECT#departuretime {
	WIDTH: 70px! important
}
FIELDSET#ReturnMonthAndTime FIELDSET.travelTime SELECT#returntime {
	WIDTH: 70px! important
}
FIELDSET#FlexOptions {
	MARGIN-LEFT: -3px! important
}
FIELDSET#FlexOptions INPUT#plusMinus {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: 0px; PADDING-TOP: 0px! important
}
FIELDSET#FlexOptions INPUT.formCheckbox {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: 0px; WIDTH: 25px; PADDING-TOP: =
0px! important
}
FIELDSET#flightSearchParams FIELDSET#FlexOptions {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
FIELDSET#FlexOptions LABEL {
	CLEAR: none; DISPLAY: block; MARGIN-LEFT: 0px; WIDTH: 170px; HEIGHT: =
30px
}
FIELDSET#PaxOptions {
	WIDTH: 80px
}
FIELDSET#CabinOptions {
	WIDTH: 80px
}
FIELDSET#PaxAndCabin FIELDSET#PaxOptions {
	WIDTH: 60px
}
FIELDSET#PaxAndCabin FIELDSET#CabinOptions SELECT#cabinclass {
	WIDTH: 100px
}
FIELDSET#AdditionalOptions {
	MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 0px! important
}
FIELDSET#AdditionalOptions FIELDSET {
	CLEAR: none; FLOAT: left; WIDTH: auto
}
FIELDSET.wUpgrade {
	PADDING-BOTTOM: 5px
}
FIELDSET#RefundableOption {
	MARGIN-LEFT: -5px! important
}
FIELDSET#RefundableOption INPUT.formCheckbox {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: 0px; WIDTH: 25px; PADDING-TOP: =
0px! important
}
FIELDSET#AdditionalOptions FIELDSET#UpgradeOption {
	MARGIN-LEFT: 5px
}
DIV#booking_itinerary_search DIV.formBackground DIV.buttonNav {
	PADDING-RIGHT: 0px; FLOAT: none; WIDTH: auto
}
DIV#booking_itinerary_search DIV.formBackground DIV.buttonNav =
INPUT.right {
	MARGIN-RIGHT: 0px! important
}
FIELDSET.inputElement {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
5px; MARGIN: 0px; WIDTH: 100%; PADDING-TOP: 0px
}
FIELDSET.inputElement FIELDSET {
	FLOAT: left; MARGIN: 0px; WIDTH: 80px
}
DIV#flight_status {
	OVERFLOW: hidden
}
DIV#flight_status FORM#flifoData FIELDSET FIELDSET FIELDSET {
	FLOAT: left; WIDTH: 90px
}
FORM#flifoData {
	MARGIN-TOP: 5px; MARGIN-BOTTOM: 0px
}
FORM#flifoData FIELDSET {
	MARGIN: 0px
}
FORM#flifoData FIELDSET FIELDSET.inputGroup {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: 0px 0px -10px; WIDTH: 100%; =
PADDING-TOP: 0px! important
}
FORM#flifoData FIELDSET P {
	CLEAR: none; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: auto; PADDING-TOP: 0px
}
FORM#flifoData FIELDSET FIELDSET#flightDate {
	MARGIN-TOP: 10px! important
}
LABEL.selectOption {
	MARGIN-LEFT: 18px
}
P#orBlock {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: -50px 0px 0px; PADDING-TOP: 0px! =
important
}
FORM#flifoData FIELDSET DIV.clear {
	DISPLAY: none; WIDTH: 10px
}
FIELDSET.inputGroup FIELDSET.inputElement {
	CLEAR: none; FLOAT: right! important; WIDTH: 80px! important; =
MARGIN-RIGHT: 5px! important
}
FIELDSET#searchByCarrierAndNumber {
	FLOAT: left! important; PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 105px! =
important
}
FIELDSET#searchByOriginAndDestination {
	FLOAT: left! important; PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 105px! =
important
}
SELECT#carrier {
	CLEAR: none; FLOAT: left
}
FIELDSET.inputGroup FIELDSET INPUT {
	CLEAR: none; FLOAT: left
}
INPUT#flifo_Go {
	CLEAR: none
}
DIV#flight_schedules FORM {
	WIDTH: 95%
}
DIV#flight_schedules FORM#FlightSched FIELDSET#DptText_Fieldset {
	CLEAR: none; FLOAT: left; WIDTH: 80px
}
DIV#flight_schedules FORM#FlightSched FIELDSET#ArrText_Fieldset {
	CLEAR: none; FLOAT: left; WIDTH: 80px
}
DIV#flight_schedules FORM#FlightSched =
FIELDSET#schedules_departureDate_Fieldset {
	CLEAR: none; FLOAT: left; WIDTH: 80px
}
DIV#flight_schedules FORM#FlightSched FIELDSET#ArrText_Fieldset {
	MARGIN: 0px
}
DIV#flight_schedules FORM#FlightSched =
FIELDSET#schedules_departureDate_Fieldset {
	CLEAR: left
}
DIV#flight_schedules INPUT#schedules_departureDate {
	WIDTH: 90px
}
DIV#BestFareGuarantee FIELDSET#flightSearchParams {
	PADDING-TOP: 5px
}
INPUT#Go {
	MARGIN-BOTTOM: 10px
}
FORM#itinForm DIV.buttonNav {
	PADDING-BOTTOM: 10px
}
FORM#flifoData FIELDSET P {
	DISPLAY: block; PADDING-BOTTOM: 10px; WIDTH: 80%
}
DIV#homepage_messaging {
	FLOAT: left; MARGIN: -30px 0px 0px 8px; OVERFLOW: hidden; WIDTH: 710px; =
PADDING-TOP: 0px
}
DIV#ie_clear {
	DISPLAY: block
}
DIV.tabContainer {
	CLEAR: none; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; WIDTH: 220px! important; PADDING-TOP: 0px
}
DIV.genRelatedLinks {
	DISPLAY: block; FLOAT: left; MARGIN: 50px 0px; WIDTH: 100%
}
DIV.appContainer DIV.genLeft DIV.genRelatedLinks {
	DISPLAY: block; FLOAT: left; MARGIN: 50px 0px; WIDTH: 100%
}
BODY.planning_reservations_landing FIELDSET#TripType {
	MARGIN-TOP: 5px
}
BODY.featured_departure_city FIELDSET#TripType {
	MARGIN-TOP: 5px
}
DIV#travel_getaways FIELDSET#TripType {
	MARGIN-TOP: 5px
}
DIV#getaway_ideas FIELDSET#TripType {
	MARGIN-TOP: 5px
}
DIV#group_one {
	MARGIN-LEFT: 20px
}
DIV#secondary_message DIV.full_image {
	MARGIN-LEFT: 20px
}
DIV#tertiary_message DIV.column {
	MARGIN-LEFT: 20px
}
DIV.fpe_tertiary {
	MARGIN-TOP: 0px
}
INPUT#ItinGo {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 20px; =
PADDING-TOP: 0px
}
DIV.alertsWideTop {
	OVERFLOW: hidden; WIDTH: 470px! important
}
DIV.alertsWideBottom {
	OVERFLOW: hidden; WIDTH: 470px! important
}
DIV.alertsWideBody {
	OVERFLOW: hidden; WIDTH: 470px! important
}
DIV.alertsWideTop H2 {
	WIDTH: 470px! important
}
DIV.active DIV.alertsWideBody {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; OVERFLOW: =
hidden; WIDTH: 460px! important; PADDING-TOP: 0px
}
DIV.alertsWideBody {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; OVERFLOW: =
hidden; WIDTH: 460px! important; PADDING-TOP: 0px
}
DIV.alertsWideCell {
	DISPLAY: block
}
DIV.alertsWideCell P {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px
}
DIV.genContent {
	MARGIN-TOP: 0px
}
DIV.genContent DIV#weather {
	PADDING-TOP: 120px
}
DIV#contentTabs {
	MARGIN-BOTTOM: 0px
}
DIV#applicationTabs {
	MARGIN-BOTTOM: 0px
}
DIV.contentTabs_2 {
	MARGIN-BOTTOM: -1px
}
DIV.applicationTabs_2 {
	MARGIN-BOTTOM: -1px
}
DIV.applicationTabs_2_2Line {
	MARGIN-BOTTOM: -1px
}
DIV.contentTabs_3 {
	MARGIN-BOTTOM: -1px
}
DIV.applicationTabs_3 {
	MARGIN-BOTTOM: -1px
}
DIV.applicationTabs_3_2Line {
	MARGIN-BOTTOM: -1px
}
DIV.contentTabs_4 {
	MARGIN-BOTTOM: -1px
}
DIV.applicationTabs_4 {
	MARGIN-BOTTOM: -1px
}
DIV.applicationTabs_4_2Line {
	MARGIN-BOTTOM: -1px
}
DIV.contentTabs_5 {
	MARGIN-BOTTOM: -1px
}
DIV.applicationTabs_5 {
	MARGIN-BOTTOM: -1px
}
DIV.applicationTabs_5_2Line {
	MARGIN-BOTTOM: -1px
}
DIV.contentTabs_6 {
	MARGIN-BOTTOM: -1px
}
DIV.applicationTabs_6 {
	MARGIN-BOTTOM: -1px
}
DIV.applicationTabs_6_2Line {
	MARGIN-BOTTOM: -1px
}
DIV.applicationTabs_2 UL LI {
	MARGIN-RIGHT: 10px
}
DIV.applicationTabs_3 UL LI {
	MARGIN-RIGHT: 10px
}
DIV.applicationTabs_4 UL LI {
	MARGIN-RIGHT: 10px
}
DIV.applicationTabs_5 UL LI {
	MARGIN-RIGHT: 10px
}
DIV.applicationTabs_6 UL LI {
	MARGIN-RIGHT: 10px
}
DIV.applicationTabs_2_2Line UL LI {
	MARGIN-RIGHT: 10px
}
DIV.applicationTabs_3_2Line UL LI {
	MARGIN-RIGHT: 10px
}
DIV.applicationTabs_4_2Line UL LI {
	MARGIN-RIGHT: 10px
}
DIV.applicationTabs_5_2Line UL LI {
	MARGIN-RIGHT: 10px
}
DIV.applicationTabs_6_2Line UL LI {
	MARGIN-RIGHT: 10px
}
DIV#callouts DIV.promo P {
	PADDING-RIGHT: 5px; PADDING-LEFT: 20px; PADDING-BOTTOM: 20px; =
PADDING-TOP: 0px
}
DIV#callouts DIV.sidebar OL {
	PADDING-RIGHT: 10px; PADDING-LEFT: 35px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
DIV.nextSteps UL LI {
	MARGIN: 0px 0px 0px -5px
}
DIV.doYouKnow UL LI {
	MARGIN: 0px 0px 0px -5px
}
DIV.moreInfo UL LI {
	MARGIN: 0px 0px 0px -5px
}
DIV.linkAnchorLinks UL {
	MARGIN: 0px 10px 0px 16px
}
DIV.nextSteps UL LI {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 0px =
0px 0px -5px; PADDING-TOP: 3px
}
DIV.doYouKnow UL LI {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 0px =
0px 0px -5px; PADDING-TOP: 3px
}
DIV.moreInfo UL LI {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 0px =
0px 0px -5px; PADDING-TOP: 3px
}
DIV.genLeft {
	FLOAT: left; MARGIN: 0px; OVERFLOW: hidden; WIDTH: 230px! important
}
DIV#genLeftNav {
	OVERFLOW: hidden
}
DIV#genLeftNav H1 {
	WIDTH: 230px! important
}
DIV#globalContainer {
	MARGIN: 0px 13px 0px 0px
}
DIV#Advisory {
	LEFT: 237px
}
BODY#search DIV.genContainer {
	MARGIN-TOP: 0px
}
BODY#search DIV.appContent {
	MARGIN-TOP: 0px; FLOAT: left; MARGIN-LEFT: 50px; WIDTH: 470px
}
BODY#search DIV#search-content H1 {
	DISPLAY: block; MARGIN-BOTTOM: 10px
}
DIV#stepIndicator {
	MARGIN-TOP: 15px; FLOAT: right; WIDTH: 590px; MARGIN-RIGHT: 15px; =
HEIGHT: 60px
}
DIV.appContainer DIV#stepIndicator {
	MARGIN-TOP: 15px; FLOAT: right; WIDTH: 590px; MARGIN-RIGHT: 15px; =
HEIGHT: 60px
}
DIV.appContent H1 {
	MARGIN-TOP: 30px! important
}
DIV.appContent H2 {
	CLEAR: both! important; MARGIN-TOP: 70px! important; FLOAT: left
}
DIV#fullsearch-content DIV.appContent H2 {
	PADDING-LEFT: 15px
}
DIV#Subscribe {
	MARGIN-BOTTOM: 0px
}
BODY.corporate DIV.genContainer {
	MARGIN-TOP: 10px! important
}
BODY.tech_ops DIV.genContainer {
	MARGIN-TOP: 10px! important
}
BODY.cargo DIV.genContainer {
	MARGIN-TOP: 10px! important
}
DIV.details {
	OVERFLOW: hidden
}

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/shared/components/css/ie7.jsp?ts=2009815&version=42

DIV#booking_itinerary_search P#offsiteLinks {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: -13px 0px 5px; PADDING-TOP: 0px! =
important
}
FIELDSET#flightSearchParams DIV#MoreOptionsLinks {
	PADDING-BOTTOM: 5px! important
}
FIELDSET#TripType LABEL {
	PADDING-LEFT: 5px
}
FIELDSET#Locations {
	MARGIN-BOTTOM: -3px
}
FIELDSET#DepartMonthTime FIELDSET.travelTime {
	MARGIN-LEFT: 18px
}
FIELDSET#ReturnMonthAndTime FIELDSET.travelTime {
	MARGIN-LEFT: 18px
}
FIELDSET#FlexOptions INPUT#plusMinus {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: 0px 0px 0px 3px; PADDING-TOP: =
0px! important
}
FIELDSET#FlexOptions LABEL {
	MARGIN-LEFT: 5px
}
INPUT#flifo_Go {
	CLEAR: both! important
}
DIV#flight_status DIV.formBackground DIV.clear {
	HEIGHT: 1px
}
DIV#homepage_messaging {
	POSITION: relative; TOP: 55px
}
DIV#homepage_messaging DIV#primary_message {
	HEIGHT: 358px
}
DIV#homepage_messaging DIV#tertiary_message {
	CLEAR: both
}
DIV.genContainer {
	MARGIN-TOP: 30px! important
}
DIV.appContainer {
	MARGIN-TOP: 30px! important
}
BODY.lpBody DIV.genContainer {
	POSITION: relative; TOP: 30px
}
DIV#RTR DIV#applicationTabs {
	WIDTH: 670px
}
FIELDSET#Locations FIELDSET#FromLocation {
	MARGIN-RIGHT: 10px
}
FIELDSET#Locations FIELDSET#FromLocation INPUT {
	WIDTH: 80px
}
FIELDSET#Locations FIELDSET#ToLocation INPUT {
	WIDTH: 80px
}
FIELDSET#itinsearch_fname INPUT#firstName {
	WIDTH: 80px
}
FIELDSET#itinsearch_lname INPUT#lastName {
	WIDTH: 80px
}
BODY#emailus DIV.appContent H1 {
	LEFT: 0px; POSITION: absolute; TOP: -70px
}
BODY#cwsemail DIV.appContent H1 {
	LEFT: 0px; POSITION: absolute; TOP: -70px
}
BODY#emailus DIV.appContainer {
	POSITION: relative
}
BODY#emailus DIV.appContent {
	POSITION: relative
}
BODY#cwsemail DIV.appContainer {
	POSITION: relative
}
BODY#cwsemail DIV.appContent {
	POSITION: relative
}
BODY#gifting DIV#genContainer DIV.genContent {
	MARGIN-TOP: 10px
}
BODY#gifting DIV#genContainer DIV.genLeft {
	BORDER-BOTTOM: #e2e2e2 80px solid
}
BODY#gifting DIV#genContainer DIV.genLeft DIV#genLeftNav {
	BORDER-TOP: #fff 30px solid
}
BODY#cancelawardsticket DIV.genContent H1 {
	MARGIN-TOP: -30px
}
BODY#ism DIV.applicationTabs_4_2Line UL LI {
	MARGIN: 0px 0px 0px 20px; HEIGHT: 35px
}

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_000F_01CA360A.F6F3B4E0"


------=_NextPart_001_000F_01CA360A.F6F3B4E0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/index.jsp?Log=1&MkCpgn=SEzzzw1a&s_kwcid=TC|8489|delta%20airlines||S|e|1295365688

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML lang=3Den xml:lang=3D"en" =
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>Delta Air Lines - =
Airline Tickets and Airfare to Worldwide Destinations</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META=20
content=3D"Airline tickets, flight schedules, and air travel deals to =
destinations worldwide at Delta.com."=20
name=3Ddescription>
<META=20
content=3D"delta air lines, airline tickets, flight, cheap airfare, =
discount airfare, delta.com"=20
name=3Dkeywords>
<META http-equiv=3DPRAGMA content=3DNO-CACHE>
<META http-equiv=3DEXPIRES content=3D"Mon, 22 Jul 2002 11:12:01 GMT">
<META http-equiv=3DCACHE-CONTROL content=3DNO-CACHE>
<META content=3DJNg732/mwIkUyXHCgKHq/iwplz7T+WwWgdSFttnXc40=3D =
name=3Dverify-v1><LINK=20
href=3D"http://images.delta.com.edgesuite.net/delta/misc/favicon.ico"=20
rel=3D"shortcut icon"><!-- begin /shared/components/css/style.jsp =
--><LINK=20
href=3D"http://www.delta.com/shared/components/css/home.jsp?ts=3D2009815&=
amp;version=3D42"=20
type=3Dtext/css rel=3Dstylesheet><!--[if lt IE 8]><LINK=20
href=3D"http://www.delta.com/shared/components/css/ie6.jsp?ts=3D2009815&a=
mp;version=3D42"=20
type=3Dtext/css rel=3Dstylesheet><![endif]--><!--[if IE 7]><LINK=20
href=3D"http://www.delta.com/shared/components/css/ie7.jsp?ts=3D2009815&a=
mp;version=3D42"=20
type=3Dtext/css rel=3Dstylesheet><![endif]--><!-- end =
/shared/components/css/style.jsp --><!-- begin globalScriptInclude.jsp =
-->
<SCRIPT=20
src=3D"http://www.delta.com/shared/components/js/home.jsp?ts=3D2009815&am=
p;version=3D44"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.delta.com/shared/components/js/lib/TrackingObj.jsp?ts=3D=
2009815&amp;version=3D44"=20
type=3Dtext/javascript></SCRIPT>
<!-- end globalScriptInclude.jsp --><!--[if IE]>
<SCRIPT type=3Dtext/javascript>
		function fixOutOfMemoryError() {
			__flash_unloadHandler =3D function() {};
			__flash_savedUnloadHandler =3D function() {};
		}
		window.attachEvent("onbeforeunload", fixOutOfMemoryError);
	</SCRIPT>
<![endif]-->
<META content=3D"MSHTML 6.00.6000.16890" name=3DGENERATOR></HEAD>
<BODY>
<DIV id=3Dhomepage_container>
<DIV id=3DgenHeader>
<DIV id=3Dbranding><MAP name=3DbrandingImageMap><AREA shape=3DRECT=20
  coords=3D14,0,204,54 href=3D"http://www.delta.com/"><AREA shape=3DRECT =

  coords=3D205,0,257,54 href=3D"http://www.skyteam.com/"></MAP><IMG =
alt=3Ddelta.com=20
src=3D"http://images.delta.com.edgesuite.net/delta/temp/logo_w_skyteam.gi=
f"=20
useMap=3D#brandingImageMap> </DIV>
<DIV id=3DHeaderLinks><NOSCRIPT><A id=3Dnonjs_Worldwide =
title=3D"Worldwide Sites"=20
href=3D"http://www.delta.com/worldwide_sites/">Worldwide Sites</A> =
|</NOSCRIPT>=20
<SPAN class=3Dpref_inactive id=3Dlang_loc><A id=3Djs_Worldwide =
title=3DCountry/Language=20
onclick=3D"togglePrefTab('show');ypSlideOutMenu.showMenu('menu4');"=20
href=3D"http://www.delta.com/index.jsp?Log=3D1&amp;MkCpgn=3DSEzzzw1a&amp;=
s_kwcid=3DTC|8489|delta%20airlines||S|e|1295365688#">Country/Language</A>=
=20
|</SPAN> <A title=3DProfile =
href=3D"http://www.delta.com/profile/">Profile</A> | <A=20
title=3D"Site Map | FAQs | Contact Us | Web Compatibility"=20
href=3D"http://www.delta.com/help/">Need Help?</A> | <A=20
title=3D"Contact Us | Email Us | Reservations | SkyMiles | Ticket =
Offices | Support Services | Cargo | Business Solutions | Corporate =
Information | Subsidiaries"=20
href=3D"http://www.delta.com/help/contact_us/">Contact Us</A> | <A=20
title=3D"Site Map" href=3D"http://www.delta.com/help/site_map/">Site =
Map</A>=20
<FORM name=3DsearchForm action=3D/search/index.jsp method=3Dpost><INPUT =
class=3D"submit right" id=3Dgo type=3Dsubmit value=3DSearch name=3Dgo>=20
<INPUT class=3DgenHeaderInput id=3Dsearch name=3Dquerystring> </FORM>
<DIV class=3Dclear></DIV>
<DIV id=3DheaderFAQS><A id=3Dmerger=20
href=3D"http://www.delta.com/help/faqs/merger/index.jsp">Delta &amp; =
Northwest=20
Merger FAQs</A> </DIV></DIV>
<DIV id=3Dmenu4Container style=3D"DISPLAY: none">
<DIV class=3Dmenu id=3Dmenu4Content>
<P>Experience delta.com in a whole new way=97your way.</P>
<P><STRONG>Your current selection is:</STRONG><BR>
<SCRIPT language=3Djavascript=20
type=3Dtext/javascript>document.write(getLangLoc())</SCRIPT>
</P>
<FORM id=3Dpref name=3Dpref>
<FIELDSET><LABEL for=3Dloc>Country</LABEL> <SPAN id=3Dcountry_select>
<SCRIPT language=3Djavascript =
type=3Dtext/javascript>document.write(writeAvailableCountries())</SCRIPT>=

</SPAN><LABEL for=3Dlang>Language</LABEL> <SPAN id=3Dlang_select>
<SCRIPT language=3Djavascript =
type=3Dtext/javascript>document.write(writeAvailableLanguages(""))</SCRIP=
T>
</SPAN></FIELDSET> <SPAN class=3DsmallText=20
style=3D"PADDING-RIGHT: 1em; DISPLAY: inline; PADDING-LEFT: 1em; LEFT: =
0px; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; POSITION: absolute"><A=20
title=3D"Worldwide Sites"=20
href=3D"http://www.delta.com/worldwide_sites/index.jsp">Worldwide =
Sites</A></SPAN>=20
<INPUT class=3D"button right" id=3Dgo_button style=3D"WIDTH: 45px" =
onclick=3D"submitPreferences('pref'); return false;" type=3Dbutton =
value=3DGo name=3Dgo_button>=20
</FORM>
<P class=3Dclose><A onclick=3D"ypSlideOutMenu.hide('menu4'); return =
false"=20
href=3D"http://www.delta.com/index.jsp?Log=3D1&amp;MkCpgn=3DSEzzzw1a&amp;=
s_kwcid=3DTC|8489|delta%20airlines||S|e|1295365688#">Close</A></P></DIV><=
/DIV></DIV><!-- begin /shared/components/apps/dashboard.jsp -->
<SCRIPT language=3Djavascript>
	function postNotMe( ){
		document.smlogin_login.action =3D =
"https://www.delta.com/smlogin/skymiles_notme.action";
		document.smlogin_login.submit();
	}

	function setRefreshURL(url){
		document.smlogin_login.refreshURL.value =3D url;
		document.smlogin_login.redirectFlag.value=3D "true";
	}
</SCRIPT>
<!-- OPTIMOST ATTRIBUTE CODE -->
<SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--
var op_loginType =3D "yes";

var optrial =3D (typeof(optrial) =3D=3D "object") ? optrial : new =
Object;
optrial.op_loginType =3D (typeof(op_loginType) !=3D "undefined") ? =
op_loginType : "no";
-->
</SCRIPT>
<!-- END OPTIMOST ATTRIBUTE CODE --><!-- File =
/delta/shared_content/components/optimost/applicationExcludes.jsp-->
<DIV class=3DformContainer id=3Ddashboard>
<H3 id=3DsmLoginMessage>Log In </H3>
<DIV class=3DformBackground id=3DdashboardBody>
<FORM id=3Dsmlogin_login name=3Dsmlogin_login=20
onsubmit=3D"return dashboardUtil.postLoginData();"=20
action=3Dhttps://www.delta.com/smlogin/skymiles_login.action =
method=3Dpost>
<DIV id=3Dalerts_errors_dashboard>
<DIV class=3Derror id=3DinvalidSkyMiles>SkyMiles number must be 10 =
digits.</DIV>
<DIV class=3Derror id=3DinvalidWorldPerks>WorldPerks number must be 9 or =
12=20
digits.</DIV></DIV>
<DIV id=3DloyaltyAccount style=3D"DISPLAY: block">
<DIV id=3DloyaltyAccountSelection>
<FIELDSET id=3DloyaltyOptions><INPUT id=3DdeltaSkyMiles=20
onclick=3DdashboardUtil.handleProgramSwitch(this.value) tabIndex=3D1 =
type=3Dradio=20
CHECKED value=3DFF name=3DaccountType> <LABEL class=3DdisplayInline=20
for=3DdeltaSkyMiles>SkyMiles</LABEL> <INPUT id=3DnwWorldPerks=20
onclick=3DdashboardUtil.handleProgramSwitch(this.value) tabIndex=3D2 =
type=3Dradio=20
value=3DWP name=3DaccountType> <LABEL class=3DdisplayInline=20
for=3DnwWorldPerks>WorldPerks</LABEL> </FIELDSET> </DIV>
<DIV id=3DskyMilesData>
<FIELDSET><LABEL for=3DskyMilesNumber>SkyMiles #</LABEL> <INPUT =
id=3DskyMilesNumber=20
tabIndex=3D3 maxLength=3D10 name=3Dacct> </FIELDSET>=20
<FIELDSET><LABEL for=3Dpin>PIN</LABEL> <INPUT id=3Dpin tabIndex=3D4 =
type=3Dpassword=20
maxLength=3D4 name=3Dpin> </FIELDSET>=20
<FIELDSET id=3Drememberme><INPUT class=3DformCheckbox id=3Dremember =
tabIndex=3D4=20
type=3Dcheckbox value=3Dremember name=3Dpersonalize> <LABEL =
class=3DformCheckbox=20
for=3Dremember>Remember my SkyMiles number</LABEL> </FIELDSET>=20
<P>Forgot your <A=20
href=3D"http://www.delta.com/skymiles/manage_account/forgot_skymiles_numb=
er/index.jsp">SkyMiles=20
#</A> or <A=20
href=3D"https://www.delta.com/skymileslostpin/skymiles/enrollment/forgot_=
pin/lostpin_main.jsp">PIN</A>?<BR><A=20
href=3D"https://www.delta.com/skymilesenrollment/skymiles/enrollment/inde=
x.jsp">SkyMiles=20
Enrollment</A> </P><INPUT class=3D"button right" id=3Dgo_button =
tabIndex=3D5 type=3Dsubmit value=3DGo name=3Dgo_button>=20
</DIV>
<DIV id=3DworldPerksData>
<FIELDSET><LABEL for=3DworldPerksNumber><A title=3D"WorldPerks Number =
Reminder"=20
onclick=3D"javascript:openNewWin('https://www.nwa.com/worldperks/findwp/'=
, 'nwaLink', '800', '600', 'yes');cWin.focus();"=20
href=3D"http://www.delta.com/index.jsp?Log=3D1&amp;MkCpgn=3DSEzzzw1a&amp;=
s_kwcid=3DTC|8489|delta%20airlines||S|e|1295365688#">WorldPerks=20
#</A></LABEL> <INPUT id=3DworldPerksNumber tabIndex=3D6 maxLength=3D12 =
name=3Daccount>=20
</FIELDSET>=20
<FIELDSET><LABEL class=3DdisplayInline for=3DlastName>Last Name</LABEL> =
<INPUT=20
id=3DlastName tabIndex=3D7 name=3DworldPerksLastName> </FIELDSET>=20
<FIELDSET><LABEL for=3DworldPerksPin><A title=3D"WorldPerks Pin =
Reminder"=20
href=3D"javascript:openNewWin('https://www.nwa.com/worldperks/pinhelp.sht=
ml', 'nwaLink', '800', '600', 'yes');cWin.focus();">Pin</A></LABEL>=20
<INPUT id=3DworldPerksPin tabIndex=3D8 type=3Dpassword =
name=3DworldPerksPin> </FIELDSET>=20
<INPUT class=3D"button right" id=3Ddashboard_Go tabIndex=3D9 =
type=3Dsubmit value=3DGo name=3Dgo_button>=20
</DIV></DIV><INPUT type=3Dhidden=20
value=3Dhttp://www.delta.com/index.jsp?Log=3D1&amp;MkCpgn=3DSEzzzw1a&amp;=
s_kwcid=3DTC|8489|delta%20airlines||S|e|1295365688=20
name=3DrefreshURL> <INPUT type=3Dhidden value=3Ds_kwcid =
name=3DparamNames[0]> <INPUT=20
type=3Dhidden value=3D"TC|8489|delta airlines||S|e|1295365688" =
name=3DparamValues[0]>=20
<INPUT type=3Dhidden value=3DshowCtrl name=3DparamNames[1]> <INPUT =
type=3Dhidden=20
value=3Dno name=3DparamValues[1]> <INPUT type=3Dhidden value=3DMkCpgn=20
name=3DparamNames[2]> <INPUT type=3Dhidden value=3DSEzzzw1a =
name=3DparamValues[2]>=20
<INPUT type=3Dhidden value=3DLog name=3DparamNames[3]> <INPUT =
type=3Dhidden value=3D1=20
name=3DparamValues[3]> <INPUT type=3Dhidden value=3Dfalse =
name=3DredirectFlag> </FORM>
<SCRIPT type=3Dtext/javascript>
			dashboardUtil.init({nwaLoginAction : =
'https://www.delta.com/shared/components/interstitial/nwa/?action=3DsmLog=
in&URI=3D' + urlEncode('/index.jsp') + '&contextPath=3D' + =
urlEncode(''),=20
				skymilesLoginAction : =
'https://www.delta.com/smlogin/skymiles_login.action', skyMilesInputId : =
'skyMilesNumber', worldPerksInputId : 'worldPerksNumber',  =
skyMilesProgram : 'FF', worldParksProgram : 'WP',=20
				deltaContainerId : 'skyMilesData', nwaContainerId : =
'worldPerksData', isSkyMilesLogin : true, skyMilesRadioId : =
'deltaSkyMiles', loginFormId : 'smlogin_login', skyMilesFormTarget : =
'_self', nwaFormTarget : '_blank',
				status : 'open', isLoggedIn : false});
		</SCRIPT>
</DIV></DIV>
<SCRIPT language=3Djavascript type=3Dtext/javascript>
     <!--
try {
   if(typeof(optimost) =3D=3D "object" && optimost !=3D null && =
typeof(optimost.displayModule) =3D=3D "function")
   {
     optimost.displayModule("login");
   }
} catch (e) {
}
//-->
</SCRIPT>
<!-- end /shared/components/apps/dashboard.jsp --><!-- begin =
/delta/shared/components/top_level_nav.jsp -->
<STYLE>DIV#travel {
	TOP: -30px
}
DIV#skymiles {
	TOP: -60px
}
</STYLE>

<DIV id=3DsiteNav>
<DIV id=3Dplan><A id=3Dmenu1_trigger =
onmouseover=3D"ypSlideOutMenu.showMenu('menu1');"=20
onmouseout=3D"ypSlideOutMenu.hideMenu('menu1');"=20
href=3D"http://www.delta.com/planning_reservations/index.jsp"><SPAN>Plann=
ing &amp;=20
Reservations</SPAN></A></DIV>
<DIV id=3Dmenu1Container style=3D"DISPLAY: none">
<DIV class=3Dmenu id=3Dmenu1Content>
<UL>
  <LI><A title=3D"Book a Flight"=20
  href=3D"http://www.delta.com/booking/searchFlights.do">Book a =
Flight</A>=20
  <LI><A title=3D"Deals and Offers"=20
  =
href=3D"http://www.delta.com/planning_reservations/deals_offers/index.jsp=
">Deals=20
  &amp; Offers</A>=20
  <LI><A title=3D"Plan a Trip"=20
  =
href=3D"http://www.delta.com/planning_reservations/plan_flight/index.jsp"=
>Plan a=20
  Trip</A>=20
  <LI><A id=3Dext12 href=3D"http://trip.delta.com/hotel_searches/new"=20
  target=3D_blank>Hotel</A>, <A id=3Dext12=20
  href=3D"http://trip.delta.com/car_searches/new" =
target=3D_blank>Car</A>, <A=20
  id=3Dext12 href=3D"http://trip.delta.com/dsp_searches/new" =
target=3D_blank>Trip=20
  Activity Search</A>=20
  <LI><A id=3Dext12 href=3D"http://www.deltavacations.com/" =
target=3D_blank>Vacation=20
  Packages</A>=20
  <LI><A id=3Dext12 href=3D"http://skymilescruises.com/" =
target=3D_blank>SkyMiles=20
  Cruises</A>=20
  <LI><A title=3D"Flight Schedules"=20
  =
href=3D"http://www.delta.com/schedules/travel/reservations/flight_sched/i=
ndex.jsp">Flight=20
  Schedules</A>=20
  <LI><A title=3D"Special Travel Needs"=20
  =
href=3D"http://www.delta.com/planning_reservations/special_travel_needs/i=
ndex.jsp">Special=20
  Travel Needs</A> </LI></UL></DIV></DIV>
<DIV id=3Dtravel><A id=3Dmenu2_trigger=20
onmouseover=3D"ypSlideOutMenu.showMenu('menu2');"=20
onmouseout=3D"ypSlideOutMenu.hideMenu('menu2');"=20
href=3D"http://www.delta.com/traveling_checkin/index.jsp"><SPAN>Traveling=
 &amp;=20
Check-in</SPAN></A></DIV>
<DIV id=3Dmenu2Container style=3D"DISPLAY: none">
<DIV class=3Dmenu id=3Dmenu2Content>
<UL>
  <LI><A title=3D"Itineraries and Check-in"=20
  =
href=3D"http://www.delta.com/traveling_checkin/itineraries_checkin/index.=
jsp">Itineraries=20
  &amp; Check-in</A>=20
  <LI><A title=3D"Flight Status and Updates"=20
  =
href=3D"http://www.delta.com/traveling_checkin/flight_status_updates/inde=
x.jsp">Flight=20
  Status &amp; Updates</A>=20
  <LI><A title=3DBaggage=20
  =
href=3D"http://www.delta.com/traveling_checkin/baggage/index.jsp">Baggage=
</A>=20
  <LI><A title=3D"Ticket Changes and Refunds"=20
  =
href=3D"http://www.delta.com/traveling_checkin/ticket_changes_refunds/ind=
ex.jsp">Tickets=20
  Changes &amp; Refunds</A>=20
  <LI><A title=3D"Airport Information"=20
  =
href=3D"http://www.delta.com/traveling_checkin/airport_information/index.=
jsp">Airport=20
  Information</A>=20
  <LI><A title=3D"In-flight Services"=20
  =
href=3D"http://www.delta.com/traveling_checkin/inflight_services/index.js=
p">In-flight=20
  Services</A>=20
  <LI><A title=3D"Travel Tips"=20
  =
href=3D"http://www.delta.com/traveling_checkin/travel_tips/index.jsp">Tra=
vel=20
  Tips</A> </LI></UL></DIV></DIV>
<DIV id=3Dskymiles><A id=3Dmenu3_trigger=20
onmouseover=3D"ypSlideOutMenu.showMenu('menu3');"=20
onmouseout=3D"ypSlideOutMenu.hideMenu('menu3');"=20
href=3D"http://www.delta.com/skymiles/index.jsp"><SPAN>SkyMiles</SPAN></A=
></DIV>
<DIV id=3Dmenu3Container style=3D"DISPLAY: none">
<DIV class=3Dmenu id=3Dmenu3Content>
<UL>
  <LI><A title=3D"Join SkyMiles"=20
  href=3D"http://www.delta.com/app_links/join_skymiles/index.jsp">Join=20
  SkyMiles</A>=20
  <LI><A title=3D"Book Award Trip"=20
  =
href=3D"http://www.delta.com/awards/home.do?EventId=3DENTER_APPLICATION">=
Book=20
  Award Trip</A>=20
  <LI><A title=3D"Manage My Account"=20
  href=3D"http://www.delta.com/skymiles/manage_account/index.jsp">Manage =
My=20
  Account</A>=20
  <LI><A title=3D"Use Miles"=20
  href=3D"http://www.delta.com/skymiles/use_miles/index.jsp">Use =
Miles</A>=20
  <LI><A title=3D"Buy and Transfer Miles"=20
  =
href=3D"http://www.delta.com/skymiles/buy_transfer/index.jsp">Buy/Transfe=
r=20
  Miles</A>=20
  <LI><A title=3D"Ways to Earn Miles"=20
  =
href=3D"http://www.delta.com/skymiles/ways_to_get_miles/index.jsp">Ways =
to Earn=20
  Miles</A>=20
  <LI><A title=3D"About SkyMiles"=20
  href=3D"http://www.delta.com/skymiles/about_skymiles/index.jsp">About=20
  SkyMiles</A> </LI></UL></DIV></DIV></DIV>
<SCRIPT language=3Djavascript type=3Dtext/javascript>
=09
	planX =3D get("plan").offsetLeft;
	travelX =3D get("travel").offsetLeft;
	skymilesX =3D get("skymiles").offsetLeft;
=09
	var myMenu1 =3D new ypSlideOutMenu("menu1", "down", planX, 110, 201, =
195);
	var myMenu2 =3D new ypSlideOutMenu("menu2", "down", travelX, 110, 201, =
174);
	var myMenu3 =3D new ypSlideOutMenu("menu3", "down", skymilesX, 110, =
201, 174);
=09
	var myMenu4 =3D new ypSlideOutMenu("menu4", "down", left_pos+139, 16, =
200, 236);
	ypSlideOutMenu.writeCSS();
</SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript>
	addEvent(window, 'load', addBehaviors, false);
</SCRIPT>
<!-- end /delta/shared/components/top_level_nav.jsp -->
<DIV id=3Dhomepage_applications>
<DIV id=3DgenLoginSpacer></DIV><!-- begin: =
/delta/shared_content/components/apps/book_itinerary_search.jsp -->
<SCRIPT type=3Dtext/javascript>
	function showFlights(){
		hideDiv('itinsMenu');
		showDiv('flightsMenu');
		hideDiv('itins');
		showDiv('flights');
		setClassName('booking_search', '');
		setClassName('itinerary_search', 'inactive');
	}=20
	function showItins(){
		hideDiv('flightsMenu');
		hideDiv('flights');
		showDiv('itinsMenu');
		showDiv('itins');
	=09
		setClassName('booking_search', 'inactive');
		setClassName('itinerary_search', '');
	}
	</SCRIPT>

<DIV class=3DformContainer id=3Dbooking_itinerary_search>
<H3 id=3Dbooking_search><A onclick=3D"showFlights(); return false"=20
href=3D"http://www.delta.com/index.jsp?Log=3D1&amp;MkCpgn=3DSEzzzw1a&amp;=
s_kwcid=3DTC|8489|delta%20airlines||S|e|1295365688#">Book=20
a Trip </A></H3>
<H3 class=3Dinactive id=3Ditinerary_search><A onclick=3D"showItins(); =
return false"=20
href=3D"http://www.delta.com/index.jsp?Log=3D1&amp;MkCpgn=3DSEzzzw1a&amp;=
s_kwcid=3DTC|8489|delta%20airlines||S|e|1295365688#">Itineraries=20
<BR>&amp; Check-in </A></H3>
<DIV class=3Dclear></DIV>
<DIV class=3DformBackground>
<DIV id=3Dflights style=3D"DISPLAY: block"><!-- begin: =
/home/components/apps/flight.jsp -->
<P id=3DoffsiteLinks><A id=3DHotelLink=20
href=3D"http://trip.delta.com/hotel_searches/new" =
target=3D_blank>Hotel</A> | <A=20
id=3DCarLink href=3D"http://trip.delta.com/car_searches/new" =
target=3D_blank>Car</A> |=20
<A id=3DVacationsLink href=3D"http://www.deltavacations.com/"=20
target=3D_blank>Vacations</A> | <A id=3DCruiseLink=20
href=3D"http://www.clickmanage.com/events/clickevent.aspx?ca=3D10580&amp;=
e=3D2000&amp;l=3D12904&amp;u=3Dhttp%253a%252f%252fwww.skymilescruises.com=
%252fdefault.asp%253futm_source%253dDL%25252BHP%2526utm_medium%253dText%2=
5252BLink%2526utm_campaign%253dDL%25252BHP%252520Cruise%252520Link%252520=
Mar%252520-%252520May%25252009"=20
target=3D_blank>Cruises</A> </P>
<DIV id=3DRTRerror style=3D"DISPLAY: none"></DIV>
<FORM id=3DHomeForm name=3DHomeForm onsubmit=3D"return validateRTR()"=20
action=3D/booking/findFlights.do method=3Dpost>
<FIELDSET><INPUT type=3Dhidden value=3DfindFlights =
name=3DdispatchMethod> <INPUT=20
type=3Dhidden value=3Dyes name=3DbookingPostVerify> <INPUT type=3Dhidden =
value=3Dy=20
name=3Ddl> </FIELDSET>
<SCRIPT language=3DJavaScript=20
src=3D"http://www.delta.com/shared/components/js/calendar.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript=20
src=3D"http://www.delta.com/shared/components/js/cityCodes.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript=20
src=3D"http://www.delta.com/booking/javascripts/onewayRoundtrip.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript=20
src=3D"http://www.delta.com/booking/javascripts/nMileUpgradeValidate.js" =

type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.delta.com/predictivetext/dwr/engine.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.delta.com/predictivetext/dwr/util.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.delta.com/predictivetext/dwr/interface/PredictiveText.j=
s"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.delta.com/predictivetext/components/js/predictiveText.j=
s?ver=3D3"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT>
	addEvent(window, 'load', initPredictiveText, false);
</SCRIPT>
=20
<DIV id=3DtravelCalendarContainer style=3D"DISPLAY: none"><IFRAME =
id=3DtravelCalendar=20
src=3D"javascript:'<html></html>';" frameBorder=3D0 =
scrolling=3Dno></IFRAME></DIV>
<SCRIPT language=3Djavascript=20
src=3D"http://www.delta.com/shared/components/js/lib/enhancedCalendar.jsp=
?fromWhere=3DhomepageRTR&amp;ver=3D1&amp;bookingLimit=3D333"=20
type=3Dtext/javascript></SCRIPT>

<FIELDSET id=3DflightSearchParams>
<DIV id=3DMoreOptionsLinks><A class=3Dlink_skymiles title=3D"SkyMiles =
Award Ticket"=20
href=3D"https://www.delta.com/awards/skymiles/awards/programInfo/index.js=
p">SkyMiles=20
Award Ticket</A> <A class=3Dlink_fullsearch=20
title=3D"Flexible Days &amp; Airports | Search by Schedule"=20
href=3D"javascript:fullSearch(false);">Full Search Options</A> <A=20
class=3Dlink_redeem=20
href=3D"http://www.delta.com/booking/eCoupon.do?cmd=3DeCouponCodeLanding"=
>Redeem=20
Coupons &amp; Certificates</A> </DIV>
<DIV class=3Dclear></DIV>
<FIELDSET class=3DinputElement id=3DTripType><INPUT class=3DformCheckbox =
id=3Droundtrip=20
onclick=3DDoRoundtripOneway(this.value); tabIndex=3D11 type=3Dradio =
CHECKED=20
value=3Droundtrip name=3DtripType> <LABEL =
class=3DformCheckbox>Round-trip</LABEL>=20
<INPUT class=3DformCheckbox id=3Droundtrip =
onclick=3DDoRoundtripOneway(this.value);=20
type=3Dradio value=3Doneway name=3DtripType> <LABEL =
class=3DformCheckbox>One-way</LABEL>=20
<A title=3D"Multi-city search" =
href=3D"javascript:fullSearch(true);">Multi-city</A>=20
</FIELDSET>=20
<FIELDSET class=3DinputElement id=3DLocations>
<FIELDSET id=3DFromLocation><LABEL id=3DformHomepageRTRFrom =
for=3Dleave>From&nbsp;<A=20
onclick=3D"javascript:openCityCodes('HomeForm','departureCity[0]',event);=
 return false;"=20
href=3D"http://www.delta.com/index.jsp?Log=3D1&amp;MkCpgn=3DSEzzzw1a&amp;=
s_kwcid=3DTC|8489|delta%20airlines||S|e|1295365688#">airport</A></LABEL> =

<INPUT onkeypress=3D"return cancelEnter()" id=3Dleave =
onblur=3DcancelBox();=20
title=3D"Type in the city you are traveling from"=20
onfocus=3DairportLocator({TargetInput:get(this.id)}); tabIndex=3D12=20
name=3DdepartureCity[0] autocomplete=3D"off"> </FIELDSET>=20
<FIELDSET id=3DToLocation><LABEL id=3DformHomepageRTRTo =
for=3Dgoing>To&nbsp;<A=20
onclick=3D"javascript:openCityCodes('HomeForm','destinationCity[0]',event=
); return false;"=20
href=3D"http://www.delta.com/index.jsp?Log=3D1&amp;MkCpgn=3DSEzzzw1a&amp;=
s_kwcid=3DTC|8489|delta%20airlines||S|e|1295365688#">airport</A></LABEL> =

<INPUT onkeypress=3D"return cancelEnter()" id=3Dgoing =
onblur=3DcancelBox();=20
title=3D"Type in the city you wish to travel to"=20
onfocus=3DairportLocator({TargetInput:get(this.id)}); tabIndex=3D13=20
name=3DdestinationCity[0] autocomplete=3D"off"> </FIELDSET> </FIELDSET>=20
<FIELDSET class=3DinputElement id=3DDepartMonthTime>
<FIELDSET class=3DtravelDate><LABEL id=3DRTRdepartureDate=20
for=3DdepartureDate>Leave</LABEL> <INPUT id=3DdepartureDate=20
title=3D"Please provide a date in mm/dd/yyy format"=20
onfocus=3D"this.select();EnhancedCalendar.calendar({sourceElm:get('depart=
ureDate')});"=20
tabIndex=3D14 value=3Dmm/dd/yyyy name=3DdepartureDate[0]> <SPAN =
class=3DcalendarSelect=20
onclick=3D"EnhancedCalendar.calendar({sourceElm:get('departureDate')});">=
<IMG=20
class=3DenhancedIconCalendar title=3D"Select a date" alt=3D"Select a =
date"=20
src=3D"http://images.delta.com.edgesuite.net/delta/enhancedCal/icon_calen=
dar.gif">=20
</SPAN></FIELDSET>=20
<FIELDSET class=3DtravelTime><LABEL for=3Ddeparturetime>Time</LABEL> =
<SELECT=20
id=3Ddeparturetime tabIndex=3D16 name=3DdepartureTimeOptions[0]> <OPTION =
value=3DAT=20
  selected>anytime<OPTION value=3DAM>morning<OPTION =
value=3DMD>noon<OPTION=20
  value=3DPM>afternoon<OPTION value=3DNT>evening</OPTION></SELECT> =
</FIELDSET>=20
</FIELDSET>=20
<FIELDSET class=3DinputElement id=3DReturnMonthAndTime>
<FIELDSET class=3DtravelDate><LABEL id=3DRTRreturnDate =
for=3DreturnDate>Return</LABEL>=20
<INPUT id=3DreturnDate title=3D"Please provide a date in mm/dd/yyyy =
format"=20
onfocus=3D"this.select();EnhancedCalendar.calendar({sourceElm:get('return=
Date')});"=20
tabIndex=3D17 value=3Dmm/dd/yyyy name=3DdepartureDate[1]> <SPAN =
class=3DcalendarSelect=20
onclick=3D"EnhancedCalendar.calendar({sourceElm:get('returnDate')});"><IM=
G=20
class=3DenhancedIconCalendar title=3D"Select a date" alt=3D"Select a =
date"=20
src=3D"http://images.delta.com.edgesuite.net/delta/enhancedCal/icon_calen=
dar.gif">=20
</SPAN></FIELDSET>=20
<FIELDSET class=3DtravelTime><LABEL for=3Dreturntime>Time</LABEL> =
<SELECT=20
id=3Dreturntime tabIndex=3D19 name=3DdepartureTimeOptions[1]> <OPTION =
value=3DAT=20
  selected>anytime<OPTION value=3DAM>morning<OPTION =
value=3DMD>noon<OPTION=20
  value=3DPM>afternoon<OPTION value=3DNT>evening</OPTION></SELECT> =
</FIELDSET>=20
</FIELDSET>=20
<FIELDSET class=3DinputElement id=3DFlexOptions><INPUT =
class=3DformCheckbox=20
id=3DplusMinus tabIndex=3D20 type=3Dcheckbox value=3Don =
name=3DflexMainRTRTravelDate>=20
<LABEL class=3DformCheckbox for=3Dsearch>Search 1 day before and after =
my dates=20
</LABEL></FIELDSET>=20
<FIELDSET class=3DinputElement id=3DPaxAndCabin>
<FIELDSET id=3DPaxOptions><LABEL for=3Dpassengers>Passengers</LABEL> =
<SELECT=20
id=3Dpassengers tabIndex=3D22 name=3DpaxCount> <OPTION value=3D1 =
selected>1<OPTION=20
  value=3D2>2<OPTION value=3D3>3<OPTION value=3D4>4<OPTION =
value=3D5>5<OPTION=20
  value=3D6>6<OPTION value=3D7>7<OPTION value=3D8>8<OPTION =
value=3D9>9</OPTION></SELECT>=20
</FIELDSET>=20
<FIELDSET id=3DCabinOptions><LABEL for=3Dcabinclass><A=20
onclick=3D"openHelp('/components/help/apps/booking/cabin.jsp',event); =
return false"=20
href=3D"http://www.delta.com/index.jsp?Log=3D1&amp;MkCpgn=3DSEzzzw1a&amp;=
s_kwcid=3DTC|8489|delta%20airlines||S|e|1295365688#">Cabin</A></LABEL>=20
<SELECT id=3Dcabinclass=20
onclick=3D"javascript:validateUpgrade(document.HomeForm,'N')" =
tabIndex=3D23=20
onchange=3D"javascript:validateUpgrade(document.HomeForm,'N')" =
name=3DfareBundle>=20
  <OPTION value=3DB5-Coach selected>Coach</OPTION> <OPTION=20
  value=3DB1-First>First/Business</OPTION></SELECT> </FIELDSET> =
</FIELDSET>=20
<FIELDSET id=3DAdditionalOptions>
<FIELDSET id=3DRefundableOption><INPUT class=3DformCheckbox =
id=3Drefundable=20
tabIndex=3D24 type=3Dcheckbox value=3Don name=3DfareCategory> <LABEL =
class=3DformCheckbox=20
for=3Drefundable><A=20
onclick=3D"openHelp('/components/help/apps/booking/refundable.jsp',event)=
; return false"=20
href=3D"http://www.delta.com/index.jsp?Log=3D1&amp;MkCpgn=3DSEzzzw1a&amp;=
s_kwcid=3DTC|8489|delta%20airlines||S|e|1295365688#">Refundable</A></LABE=
L>=20
</FIELDSET> </FIELDSET>=20
<DIV class=3DbuttonNav><INPUT class=3D"button right" id=3DGo =
type=3Dsubmit value=3DGo name=3DGo>=20
</DIV></FIELDSET> </FORM>
<SCRIPT language=3DJavaScript type=3Dtext/javascript>
function setRTRFocus(){
	document.forms['HomeForm'].elements['leave'].focus();
}
addEvent(window, 'load', setRTRFocus, false);=20

</SCRIPT>
<!-- end: /home/components/apps/flight.jsp --></DIV>
<DIV id=3Ditins style=3D"DISPLAY: none"><!-- begin: =
/delta/shared_content/components/apps/itin_search.jsp -->
<FORM id=3DitinForm name=3DitinForm onsubmit=3D"return =
validateNumberform();"=20
action=3Dhttps://www.delta.com/myitinerary/itinSearch.action =
method=3Dpost>
<DIV id=3DitinerarySearchAlerts_Errors></DIV>
<FIELDSET id=3Ditinsearch_fname><LABEL id=3Dfirstnamelabel =
for=3DfirstName>First=20
name</LABEL> <INPUT id=3DfirstName tabIndex=3D10 name=3DfirstName> =
</FIELDSET>=20
<FIELDSET id=3Ditinsearch_lname><LABEL id=3Dlastnamelabel =
for=3DlastName>Last=20
name</LABEL> <INPUT id=3DlastName tabIndex=3D11 name=3DlastName> =
</FIELDSET>=20
<FIELDSET id=3Ditinsearch_reclocid><LABEL id=3DrecLocIdlabel=20
for=3DrecLocId>Confirmation number</LABEL> <INPUT id=3DrecLocId =
tabIndex=3D12=20
maxLength=3D6 name=3DrecLocId> </FIELDSET>=20
<P>Lost your confirmation #? <A=20
href=3D"https://www.delta.com/myitinerary/itinLanding.action">Other =
options</A>.=20
</P><INPUT type=3Dhidden value=3DconfirmNumberRad name=3DsearchType>=20
<DIV class=3DbuttonNav><INPUT class=3D"submit right" id=3Dgoitin =
tabIndex=3D13 type=3Dsubmit value=3DGo name=3Dgoitin>=20
</DIV></FORM><!-- end: =
/delta/shared_content/components/apps/itin_search.jsp =
--></DIV></DIV></DIV><!-- end: =
/delta/shared_content/components/apps/book_itinerary_search.jsp --><!-- =
begin: /shared/components/apps/flight_status.jsp -->
<DIV class=3DformContainer id=3Dflight_status>
<H3>Flight Status</H3>
<DIV class=3DformBackground>
<FORM id=3DflifoForm name=3DflifoForm=20
action=3D/flifo/travel/reservations/travel_Info/flifo/results/flifo_resul=
ts.jsp=20
method=3Dpost>
<FIELDSET><INPUT type=3Dhidden value=3Dmain name=3Drequest> <INPUT =
type=3Dhidden=20
name=3Dflight_number> <INPUT type=3Dhidden name=3Dflight_date> <INPUT =
type=3Dhidden=20
value=3DDL name=3Dairline_code> </FIELDSET> </FORM>
<FORM id=3DschedForm name=3DschedForm=20
action=3D/schedules/travel/reservations/flight_sched/results/index.jsp=20
method=3Dpost>
<FIELDSET><INPUT type=3Dhidden name=3DDptText> <INPUT type=3Dhidden =
name=3DArrText>=20
<INPUT type=3Dhidden value=3Dsched name=3Dcmd> <INPUT type=3Dhidden =
name=3Dflight_date>=20
<INPUT type=3Dhidden value=3D/D name=3DTimeOfDay> <INPUT type=3Dhidden =
value=3D2000=20
name=3DMaxFlights> <INPUT type=3Dhidden value=3DDL name=3Dairline_code> =
</FIELDSET>=20
</FORM>
<FORM id=3DflifoData name=3DinputForm action=3Djavascript:submitForm() =
method=3Dpost>
<FIELDSET>
<P>Search by:</P><A onfocus=3Dblur()=20
onclick=3D"openHelp('/components/help/apps/flight_status.jsp',event); =
return false"=20
href=3D"http://www.delta.com/index.jsp?Log=3D1&amp;MkCpgn=3DSEzzzw1a&amp;=
s_kwcid=3DTC|8489|delta%20airlines||S|e|1295365688#"><IMG=20
class=3DformIconHelp title=3D"Help for flight status" alt=3D"Help for =
flight status"=20
src=3D"http://images.delta.com.edgesuite.net/delta/icons/help.gif"> </A>
<FIELDSET class=3DinputGroup id=3DCarrierAndNumber>
<FIELDSET class=3DinputElement id=3DsearchByCarrierAndNumber><LABEL=20
class=3DselectOption for=3Dcarrier>Flight Carrier</LABEL> <INPUT =
id=3DbyFlightNumber=20
onclick=3DclearOrigDest(); type=3Dradio CHECKED value=3DflightNumber =
name=3DsearchBy>=20
<SELECT id=3Dcarrier=20
onblur=3D"document.flifoForm.airline_code.value =3D =
this.options[this.selectedIndex].value;document.schedForm.airline_code.va=
lue =3D this.options[this.selectedIndex].value;"=20
tabIndex=3D33 name=3Dairline_code> <OPTION value=3DDL =
selected>Delta</OPTION>=20
  <OPTION value=3DNW>Northwest</OPTION></SELECT> </FIELDSET>=20
<FIELDSET class=3DinputElement><LABEL for=3Dflightnumber>Flight =
number</LABEL>=20
<INPUT onmouseup=3DclearOrigDest(); id=3Dflightnumber =
onkeyup=3DclearOrigDest();=20
tabIndex=3D34 onchange=3DclearOrigDest(); name=3Dflight_number> =
</FIELDSET>=20
</FIELDSET>=20
<P id=3DorBlock>OR</P>
<FIELDSET class=3DinputGroup id=3DOriginAndDestination>
<FIELDSET class=3DinputElement id=3DsearchByOriginAndDestination><LABEL=20
class=3DselectOption for=3Dleavingfrom>From <A onfocus=3Dblur()=20
onclick=3D"clearFlightNumber(); =
openCityCodes('inputForm','DptText',event); return false"=20
href=3D"http://www.delta.com/index.jsp?Log=3D1&amp;MkCpgn=3DSEzzzw1a&amp;=
s_kwcid=3DTC|8489|delta%20airlines||S|e|1295365688#">Airport</A></LABEL> =

<INPUT id=3DbyFlightDate onclick=3DclearFlightNumber(); type=3Dradio =
value=3DflightDate=20
name=3DsearchBy> <INPUT onmouseup=3DclearFlightNumber();=20
onkeypress=3D"return cancelEnter()" id=3Dleavingfrom =
onblur=3DcancelBox();=20
onkeyup=3DclearFlightNumber(); =
onfocus=3DairportLocator({TargetInput:get(this.id)});=20
tabIndex=3D35 onchange=3DclearFlightNumber(); name=3DDptText =
autocomplete=3D"off">=20
</FIELDSET>=20
<FIELDSET class=3DinputElement><LABEL for=3Dgoingto>To&nbsp;<A =
onfocus=3Dblur()=20
onclick=3D"clearFlightNumber(); =
openCityCodes('inputForm','ArrText',event); return false"=20
href=3D"http://www.delta.com/index.jsp?Log=3D1&amp;MkCpgn=3DSEzzzw1a&amp;=
s_kwcid=3DTC|8489|delta%20airlines||S|e|1295365688#">Airport</A></LABEL> =

<INPUT onmouseup=3DclearFlightNumber(); onkeypress=3D"return =
cancelEnter()"=20
id=3Dgoingto onblur=3DcancelBox(); onkeyup=3DclearFlightNumber();=20
onfocus=3DairportLocator({TargetInput:get(this.id)}); tabIndex=3D36=20
onchange=3DclearFlightNumber(); name=3DArrText autocomplete=3D"off"> =
</FIELDSET>=20
</FIELDSET>=20
<FIELDSET id=3DflightDate><LABEL id=3DlabelWhen for=3Dwhen>Flight =
Date</LABEL> <SELECT=20
id=3Dwhen tabIndex=3D33 name=3Dflight_date> <OPTION =
value=3DYesterday>Yesterday Sep=20
  14</OPTION> <OPTION value=3DToday selected>Today Sep 15</OPTION> =
<OPTION=20
  value=3DTomorrow>Tomorrow Sep 16</OPTION></SELECT> </FIELDSET>=20
<P><A=20
href=3D"http://www.delta.com/traveling_checkin/flight_status_updates/flig=
ht_notifications/index.jsp">Flight=20
Notifications</A></P>
<DIV class=3DbuttonNav><INPUT class=3D"button right" id=3Dflifo_Go =
type=3Dsubmit value=3DGo name=3DGo>=20
</DIV></FIELDSET> </FORM><!--[if IE 6]><!-- --><![endif]--><!--[if IE =
7]>
<DIV class=3Dclear></DIV><![endif]--></DIV></DIV><!-- end =
/shared/components/apps/flight_status.jsp --></DIV>
<DIV id=3Dhomepage_messaging><!-- begin =
/delta/shared_content/components/fpe.jsp -->
<DIV id=3Dprimary_message>
<SCRIPT =
src=3D"http://www.delta.com/shared/components/js/lib/swfobject.js"=20
type=3Dtext/javascript></SCRIPT>

<DIV class=3Dfpe_primary>
<DIV id=3Dfpe_primary_357736575>
<P>This page requires the free Flash Player. Please <A=20
href=3D"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Vers=
ion=3DShockwaveFlash">download=20
it</A> and make sure JavaScript is enabled to view it.</P></DIV></DIV>
<SCRIPT type=3Dtext/javascript>
	=09
		var attributes =3D false;
		var params =3D { wmode: "opaque", allowScriptAccess: "always", =
quality: "high", bgcolor: "#F9F9F9" }
		var flashvars =3D {
			appName: "fpe_primary_357736575", configFailRedirectURL: =
"/?fpe=3Dfpe_primary", preloaderX: "525",
			 preloaderY: "177", appConfigPath: =
"http://www.delta.com/shared/components/personalization/home_primary_conf=
ig.jsp?imgServer=3Dhttp://images.delta.com.edgesuite.net%26lang=3D" + =
getLang(),
			cssPath: "/shared/components/css/flash_styles.jsp?lang=3D" + =
getLang(), trackImpressions: "1",=20
			xpov: "", randomnumber: "593153237",=20
	=09
			 disablePreloader: "1",
			=20
		=09
=09
=09
				xp_Log: "1",=20
			=09
		=09
	=09
				xp_MkCpgn: "SEzzzw1a",=20
			=09
		=09
	=09
				xp_s_kwcid: "TC|8489|delta%20airlines||S|e|1295365688",=20
			=09
		=09
	=09
=09
=09
		xp_povr: "0.10",     =20
=09
=09
=09
=09
=09
			xpbl: getPrefs(),=20
=09
			xpct: getLoc()
		}
		=
swfobject.embedSWF("http://images.delta.com.edgesuite.net/delta/messaging=
/FPE.swf", "fpe_primary_357736575", "710", "358", =
"8","http://images.delta.com.edgesuite.net/delta/messaging/expressInstall=
.swf", flashvars, params, attributes);
	</SCRIPT>
</DIV><!-- end /delta/shared_content/components/fpe.jsp -->
<DIV class=3Dclear>&nbsp;</DIV><!-- begin =
/delta/shared_content/components/fpe.jsp -->
<DIV id=3Dtertiary_message>
<SCRIPT =
src=3D"http://www.delta.com/shared/components/js/lib/swfobject.js"=20
type=3Dtext/javascript></SCRIPT>

<DIV class=3Dfpe_tertiary>
<DIV id=3Dfpe_tertiary_553422430>
<P>This page requires the free Flash Player. Please <A=20
href=3D"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Vers=
ion=3DShockwaveFlash">download=20
it</A> and make sure JavaScript is enabled to view it.</P></DIV></DIV>
<SCRIPT type=3Dtext/javascript>
	=09
		var attributes =3D false;
		var params =3D { wmode: "opaque", allowScriptAccess: "always", =
quality: "high", bgcolor: "#E6EBEF" }
		var flashvars =3D {
			appName: "fpe_tertiary_553422430", configFailRedirectURL: =
"/?fpe=3Dfpe_tertiary", preloaderX: "525",
			 preloaderY: "100", appConfigPath: =
"http://www.delta.com/shared/components/personalization/home_tertiary_con=
fig.jsp?imgServer=3Dhttp://images.delta.com.edgesuite.net%26lang=3D" + =
getLang(),
			cssPath: "/shared/components/css/flash_styles.jsp?lang=3D" + =
getLang(), trackImpressions: "1",=20
			xpov: "", randomnumber: "593153237",=20
	=09
			 disablePreloader: "1",
			 manualPreloadComplete: "1",
		=09
=09
=09
				xp_Log: "1",=20
			=09
		=09
	=09
				xp_MkCpgn: "SEzzzw1a",=20
			=09
		=09
	=09
				xp_s_kwcid: "TC|8489|delta%20airlines||S|e|1295365688",=20
			=09
		=09
	=09
=09
=09
		xp_povr: "0.10",     =20
=09
=09
=09
=09
=09
			xpbl: getPrefs(),=20
=09
			xpct: getLoc()
		}
		=
swfobject.embedSWF("http://images.delta.com.edgesuite.net/delta/messaging=
/FPE.swf", "fpe_tertiary_553422430", "710", "200", =
"8","http://images.delta.com.edgesuite.net/delta/messaging/expressInstall=
.swf", flashvars, params, attributes);
	</SCRIPT>
</DIV><!-- end /delta/shared_content/components/fpe.jsp -->
<DIV class=3Dclear>&nbsp;</DIV></DIV><!-- begin =
/delta/shared_content/components/footer.jsp -->
<DIV class=3DscreenPopup_noFollow id=3DpopupDiv style=3D"DISPLAY: none">
<DIV id=3DpopHeader>
<TABLE cellSpacing=3D0 cellPadding=3D0 border=3D0>
  <TBODY>
  <TR>
    <TD class=3Dleft><IMG title=3DDelta alt=3DDelta=20
      =
src=3D"http://images.delta.com.edgesuite.net/delta/backgrounds/headers/po=
pup_header_left.jpg"></TD>
    <TD class=3Dright><A=20
      href=3D"javascript:DeltaOverlayUtil.hideOverlay();"><NOBR>Close=20
      Window</NOBR></A></TD></TR></TBODY></TABLE></DIV>
<DIV id=3DmodalPopupContent><IFRAME id=3DpopupFrame=20
src=3D"javascript:'<html></html>';" frameBorder=3D0 width=3D"100%"=20
height=3D"100%"></IFRAME></DIV></DIV>
<DIV id=3DmodalOverlayBgDiv></DIV>
<DIV id=3DFooter><A=20
title=3D"About Delta | Newsroom | Investor Relations | Corporate =
Information | Employment Opportunities | Community Involvement | =
Partnering with Delta"=20
href=3D"http://www.delta.com/about_delta/index.jsp" target=3D_top>About =
Delta</A> |=20
<A title=3D"Under the Wing, Delta Air Lines Blog" =
href=3D"http://blog.delta.com/"=20
target=3D_top>Delta Blog</A> | <A=20
title=3D"Business Programs and Services | Charter Flights | Technical =
Operations | Training and Consulting Services | Business Rewards / Delta =
SkyBonus | Delta Cargo"=20
href=3D"http://www.delta.com/business_programs_services/index.jsp"=20
target=3D_top>Business Programs &amp; Services</A> | <A title=3D"Travel =
Agents"=20
href=3D"http://www.delta.com/travel-agency/index.jsp" =
target=3D_top>Travel=20
Agents</A> | <A id=3Dext12 title=3DCareers=20
href=3D"http://www.deltajobs.net/career_destinations.htm"=20
target=3D_blank>Careers</A> | <A title=3DPrivacy/Security=20
href=3D"http://www.delta.com/privacy_security/index.jsp"=20
target=3D_top>Privacy/Security</A> | <A=20
title=3D"Legal | Conditions of Contract | Terms of Use | Delta Customer =
Commitment | Contract of Carriage"=20
href=3D"http://www.delta.com/legal/index.jsp">Legal</A> | <A id=3Dext12=20
title=3D"Text Only"=20
href=3D"http://assistive.usablenet.com/tt/www.delta.com/home/index.jsp"=20
target=3D_blank>Text Only</A> </DIV>
<DIV class=3Ddisclaimer><STRONG>Travel may be on other =
airlines.</STRONG><BR>Terms=20
and conditions apply to all offers and SkyMiles benefits. See specific =
offer for=20
details, and <A=20
href=3D"http://www.delta.com/skymiles/about_skymiles/membership_guide_pro=
gram/"=20
target=3D_top>visit SkyMiles Membership Guide &amp; Program =
Rules</A>.<BR>+Subject=20
to government approval. </DIV>
<DIV id=3Dcopyright>=A92009 Delta Air Lines, Inc. </DIV><!-- =
SiteCatalyst Page Level Scripts -->
<SCRIPT language=3DJavaScript=20
src=3D"http://www.delta.com/shared/components/js/page_level.js?v=3D1"=20
type=3Dtext/javascript></SCRIPT>
<!-- End SiteCatalyst Code -->
<DIV id=3Ddebug></DIV>
<DIV id=3Dgreasemonkey></DIV>
<SCRIPT>
dashboardUtil.offset();
</SCRIPT>
<!-- end /delta/shared_content/components/footer.jsp --><!-- begin =
/delta/components/messaging/home/alerbar.jsp --><!-- end =
/delta/components/messaging/home/alerbar.jsp -->
<DIV style=3D"DISPLAY: none"><!-- Start of DoubleClick Spotlight Tag: =
Please do not remove-->
<SCRIPT type=3Dtext/javascript>
document.write('<iframe =
src=3D"//fls.doubleclick.net/activityi;src=3D383639;type=3Ddelta526;cat=3D=
delta742;ord=3D1;num=3D758285072?" width=3D1 height=3D1 =
frameborder=3D0></iframe>');
</SCRIPT>
<NOSCRIPT><IFRAME=20
src=3D"http://fls.doubleclick.net/activityi;src=3D383639;type=3Ddelta526;=
cat=3Ddelta742;ord=3D1;num=3D842164327?"=20
frameBorder=3D0 width=3D1 height=3D1></IFRAME></NOSCRIPT><!-- End of =
DoubleClick Spotlight Tag: Please do not =
remove--></DIV></DIV></BODY></HTML>

------=_NextPart_001_000F_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Location: javascript:'<html></html>';

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16890" name=GENERATOR></HEAD>
<BODY></BODY></HTML>

------=_NextPart_001_000F_01CA360A.F6F3B4E0--

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Location: javascript:'<html></html>';

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16890" name=GENERATOR></HEAD>
<BODY></BODY></HTML>

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://ad.doubleclick.net/activity;src=383639;type=delta526;cat=delta742;ord=1;num=842164327?

R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAICTAEAOw==

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: https://secure.leadback.advertising.com/adcedge/lb?site=695501&srvc=1&betr=deltap_cs=1&betq=4689=382006

R0lGODlhAQABAJH/AP///wAAAMDAwAAAACH5BAEAAAIALAAAAAABAAEAAAICVAEAOw0K

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://fls.doubleclick.net/activityi;src=383639;type=delta526;cat=delta742;ord=1;num=842164327?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><TITLE></TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.6000.16890" name=3DGENERATOR></HEAD>
<BODY style=3D"BACKGROUND-COLOR: transparent"><IMG alt=3D""=20
src=3D"http://ad.doubleclick.net/activity;src=3D383639;type=3Ddelta526;ca=
t=3Ddelta742;ord=3D1;num=3D842164327?"><!-- X+1 for Delta -->=20
<IMG height=3D1 src=3D"" width=3D1><!-- X+1 for Delta --> <IMG =
height=3D1 alt=3D"" src=3D""=20
border=3D0 1?><!-- Advertising.com LeadBack for Delta --> <IMG =
height=3D1=20
src=3D"https://secure.leadback.advertising.com/adcedge/lb?site=3D695501&a=
mp;srvc=3D1&amp;betr=3Ddeltap_cs=3D1&amp;betq=3D4689=3D382006"=20
width=3D1 border=3D0><!-- Blue Lithium for Digitas/Delta --> <IMG =
height=3D1 src=3D""=20
width=3D1><!-- Casale for Digitas/Delta --> <IMG height=3D1 alt=3D"" =
src=3D""=20
width=3D1></BODY></HTML>

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/shared/components/js/home.jsp?ts=2009815&version=44


/* begin util.js */
/* Generic Base Object */
function GenObj() {}
GenObj.prototype.setProp =3D function(prop,value) { this[prop] =3D =
value; }
GenObj.prototype.getProp =3D function(prop) { return this[prop]; }

function get(id) { return document.getElementById(id); }
function getByTagName(tag) { return document.getElementsByTagName(tag); =
}
function getByClassName(clsName) {
    var retVal =3D new Array();
    var elements =3D document.getElementsByTagName("*");
    for(var i =3D 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >=3D 0){
            var classes =3D elements[i].className.split(" ");
            for(var j =3D 0;j < classes.length;j++){
                if(classes[j] =3D=3D clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className =3D=3D clsName)
            retVal.push(elements[i]);
    }
    return retVal;
}
function getInnerHTML(id) { return =
document.getElementById(id).innerHTML; }
function setInnerHTML(id, d) { var e =3D get(id); if (e !=3D null) { =
e.innerHTML =3D d; } }
function getClassName(id) { return =
document.getElementById(id).className; }
function setClassName(id, c) {  var e =3D get(id);if (e !=3D null) { =
e.className =3D c; } }
function getStyleAttr(id,p) { var e =3D get(id);if(e !=3D null) { return =
e.style[p]; } }
function setStyleAttr(id,p,v) { var e =3D get(id);if(e !=3D null) { =
e.style[p] =3D v; } }
function changeCLS(id,cls) { setClassName(id,cls); }
function formatURL(url){ var formattedURL =3D =
unescape(url);window.location =3D formattedURL;}

function show(id) { var e =3D get(id);if (e !=3D null) { =
if(arguments.length>1) { setStyleAttr(id,"display",arguments[1]); } else =
{ setStyleAttr(id,'display','block'); } } }
function hide(id) { var e =3D get(id); if (e !=3D null) { =
if(arguments.length>1) { setStyleAttr(id,"display",arguments[1]); } else =
{ setStyleAttr(id,'display','none'); } } }

function showInline(id) { show(id,"inline"); }
function hideInline(id) { hide(id,"hidden"); }
function displayInline(id) { show(id,"inline"); }
function hideInline(id) { hide(id,"hidden"); }
function toggle(id) {
	if(get(id)!=3Dnull)
	{
		switch(getStyleAttr(id,"display"))
		{
			case "block":
				hide(id);
				break;
			case "inline":
				hideInline(id);
				break;
			case "none":
				show(id);
				break;
			case "hidden":
				displayInline(id);
				break;
			default:
				show(id);
				hide(id);
				break;
		}
	}
}
function showDiv(id) { show(id); }
function hideDiv(id) { hide(id); }
function elementHide(id) { =
document.getElementById(id).style.visibility=3D'hidden'; }
function elementShow(id) { =
document.getElementById(id).style.visibility=3D'visible'; }

function getContextPath() {
	var URIBegin =3D window.location.href.lastIndexOf('.delta.com') + 10;
	var URIEnd =3D (window.location.href.lastIndexOf('?') > URIBegin) ? =
window.location.href.lastIndexOf('?') : window.location.href.length;
	var URI =3D window.location.href.substring(URIBegin, URIEnd);
	var pageArray =3D URI.split("/");
	if(pageArray.length > 1 && pageArray[1] !=3D "index.jsp") {
		return pageArray[1];
	} else {
		return "home";
	}
}

function getPosition(e) {
	e =3D e || window.event;
	var cursor =3D {x:0, y:0};
	if (e.pageX || e.pageY) {
		cursor.x =3D e.pageX;
		cursor.y =3D e.pageY + 15;
		//Minus 115 to offset size of header in global.jsp file
	} else {
		cursor.x =3D e.clientX + (document.documentElement.scrollLeft || =
document.body.scrollLeft) - document.documentElement.clientLeft;
		cursor.y =3D e.clientY + (document.documentElement.scrollTop || =
document.body.scrollTop) - document.documentElement.clientTop + 15;
		//Minus 115 to offset size of header in global.jsp file
	}
	return cursor;
 }
function getElementXAndYPos(element) {
	var curLeft =3D 0, curTop =3D 0;
	if(element.offsetParent) {
		while (element.offsetParent) {
			curLeft +=3D element.offsetLeft
			curTop +=3D element.offsetTop
			element =3D element.offsetParent;
		}
	} else if(element.x) {
		curLeft =3D element.x;
		curTop =3D element.y;
	} else {}
	return {x:curLeft, y:curTop};
}
/* moved from preferences.js for use with fpe engine */
function getPrefs(){
	var pref=3DgetCookie("pref");
	if(pref=3D=3Dnull||pref=3D=3D"null") {=20
		pref =3D navigator.browserLanguage;
	}
	if(pref=3D=3Dnull||pref=3D=3D"null" || pref =3D=3D undefined || =
pref=3D=3D "undefined") {=20
		pref =3D =
getDefault(window.location.toString().match("//[^.]*").toString().split("=
//")[1]);=20
	}
	if(arguments.length=3D=3D1) { return pref.split("-")[1]; }
	else if(arguments.length=3D=3D2)
	{
		var rtnString =3D "lang=3D" + pref.split("-")[0] + ";";
		rtnString +=3D "loc=3D" + pref.split("-")[1] + ";";
		return rtnString;
	}
	else { return pref; }
}
function getLang() { return getPrefs().split("-")[0]; }
function getLoc() { return getPrefs().split("-")[1]; }
function =
showHoverContent(event,w,h,elm,source,scrolling,offX,offY,iFrameId,ignore=
XAxis) {
	if(hoverNumber =3D=3D 0){
		var cursor =3D getPosition(event);
		var element =3D get(elm);
		iFrameId =3D arguments[8] ? iFrameId : "pwm_iframe";=09
		//iFrame constructor	=09
		ifrm =3D document.createElement("IFRAME");
		ifrm.setAttribute("src", source);
		ifrm.setAttribute("id", iFrameId);
		ifrm.setAttribute("scrolling", scrolling);
		ifrm.style.width =3D w +"px";
		ifrm.style.height =3D h +"px";
		element.appendChild(ifrm);
		element.style.display=3D'block';
		element.style.width =3D w + "px";
		element.style.height =3D h + "px";
		if((ignoreXAxis !=3D null) && (ignoreXAxis)) {
			element.style.left =3D offX + "px";=20
		}
		else {
			element.style.left =3D cursor.x + offX + "px";
		}
		element.style.top =3D cursor.y + offY + "px";
		hoverNumber =3D 1;
	} else {
		return;
	}
}
function hideHoverContent(event,elm){
	var element =3D document.getElementById(elm);
	element.style.display =3D "none";
	if(element.hasChildNodes()){
		while (element.childNodes.length >=3D 1){
		element.removeChild(element.firstChild);
		}
	}
	hoverNumber =3D 0;
=09
}
function showDebugMsg(msg) {
	try { console.log(msg); } catch(err) {
		var curHtml =3D (getInnerHTML("debug") !=3D "" ) ? curHTML + "<hr />" =
: msg;
		setInnerHTML("debug",curHtml);
		if(getStyleAttr("debug","display") !=3D "block") {
			setStyleAttr("debug","width","200px");
			setStyleAttr("debug","height","250px");
			setStyleAttr("debug","padding","5px");
			setStyleAttr("debug","backgroundColor","#eee");
			setStyleAttr("debug","position","absolute");
			setStyleAttr("debug","top","0");
			setStyleAttr("debug","right","0");
			setStyleAttr("debug","overflow","auto");
			setStyleAttr("debug","display","block");
		}
	}
}

function addScriptTag(src) {
	var replaceStr =3D "_dyn" + numAddedScripts + "_";
	numAddedScripts++;
	var id =3D src.replace(/\./,replaceStr);
	//alert(id);
	if(!get(id)) {
		var s=3D document.createElement('script');
		s.type=3D 'text/javascript';
		s.onload=3D helper; /* good browsers */
		s.onreadystatechange=3D function () { if (this.readyState =3D=3D =
'complete' || this.readyState =3D=3D 'loaded') { helper(); }} /* ie */
		s.src=3D src; s.id =3D id;
		s.setAttribute('src',src); s.setAttribute('id',id);
		document.getElementsByTagName('head')[0].appendChild(s);
	}
	else {
		// script is already added to the page
	}
}
function helper() { return true; }

function strCompare(a,b) { if(a.toLowerCase()=3D=3Db.toLowerCase()) { =
return true; }  else { return false;  } }
function exists(o) { if((o!=3Dnull)&&(o!=3D"null")&&(o!=3Dundefined)) { =
return true; } else { return false; } }
function stripHTML(str) { return str.replace(/\<.+?\>/g, ""); }
function trimString (str) { str =3D this !=3D window? this : str; return =
str.replace(/^\s+/g, '').replace(/\s+$/g, '');}

/* use with EXTREME caution */
function addEvent(elm, evType, fn, useCapture)
{
	if(elm.addEventListener){ elm.addEventListener(evType, fn, useCapture); =
return true; }
	else if(elm.attachEvent){ var r =3D elm.attachEvent('on' + evType, fn); =
return r; }
	else { elm['on' + evType] =3D fn; }
}

function formatTo(base, precision, quantity) {
	var a =3D roundTo(base, precision);
	//alert(a + "x" + quantity);=20
	var b =3D a * quantity;
	 	b =3D roundTo(b,2);
	var s =3D b.toString();
=09
	var decimalIndex =3D s.indexOf(".");
	if(precision > 0 && decimalIndex < 0){
		decimalIndex =3D s.length;
		s +=3D '.';
	}
	while (decimalIndex + precision + 1 > s.length){
		s +=3D '0';
	}
	return s;
}
function roundTo(base, precision) {
  var m =3D Math.pow(10, precision);
  var a =3D Math.round(base * m) / m;
  return a;
}



/* -------------------- functions found online -------------------- */
// copyright Stephen Chapman 24th March 2006, 10th February 2007
// permission to use this function is granted provided
// that this copyright notice is retained intact
//javascript.about.com/library/blnumfmt.htm
function formatNumber(num,dec,thou,pnt,curr1,curr2,n1,n2) { var x =3D =
Math.round(num * Math.pow(10,dec));if (x >=3D 0) n1=3Dn2=3D'';var y =3D =
(''+Math.abs(x)).split('');var z =3D y.length - dec; if (z<0) z--; =
for(var i =3D z; i < 0; i++) y.unshift('0');y.splice(z, 0, pnt); while =
(z > 3) {z-=3D3; y.splice(z,0,thou);}var r =3D =
curr1+n1+y.join('')+n2+curr2;return r;}

function isComplete() {pageLoaded =3D true; }

addEvent(window,"load",isComplete,false);
var numAddedScripts =3D 0;
var pageLoaded =3D false;
var hoverNumber =3D 0; /* hoverNumber controls number of rollover popups =
with a limit of 1 */

function conCatTool() {
	var _self =3D this;
	this.conCatValue =3D [];
	this.currentIndex =3D 0;
	this.disableHTMLTranslationStartTag =3D "\n<!-- mp_trans_disable_start =
-->\n";
	this.disableHTMLTranslationEndTag =3D "\n<!-- mp_trans_disable_end =
-->\n";
	this.conCat =3D function(value, disableTranslation) {
		disableTranslation =3D arguments[1] ? disableTranslation : false;
		_self.conCatValue[_self.currentIndex] =3D (disableTranslation ? =
_self.disableHTMLTranslationStartTag : "") + value + (disableTranslation =
? _self.disableHTMLTranslationEndTag : "");
		_self.currentIndex ++;
	};
	this.toString =3D function(doClear, joinValue) {
		var returnValue =3D _self.conCatValue.join( (exists(joinValue) ? =
joinValue : "\n") );
		if(exists(doClear) && doClear) {
			_self.clear();
		}
		return returnValue;
	};
	this.clear =3D function() {
		_self.conCatValue.length =3D 0;
		_self.currentIndex =3D 0;
	};
}

var mp_util =3D {
	startMPTag : "\n<!-- ",
	endMPTag : " -->\n",
	equals : "=3D",
	quote : "\"",
	emptyString : "",
	disableStart : "mp_trans_disable_start",
	disableEnd : "mp_trans_disable_end",
	partialStart : "mp_trans_partial_start",
	partialEnd : "mp_trans_partial_end",
	enableStart : "mp_trans_enable_start",
	enableEnd : "mp_trans_enable_end",
	removeStart : "mp_trans_remove_start",
	removeEnd : "mp_trans_remove_start",
	addStart : "mp_trans_add ",
	nestedDisableStart : "mp_trans_disable_start --]>",
	nestedDisableEnd : "mp_trans_disable_end --]>",
	transJSStartTag : "mp_trans_textjs_start",
	transJSEndTag : "mp_trans_textjs_start",
	navDisableStart : "mp_trans_navdisable_start",
	navDisableEnd : "mp_trans_navdisable_end",
	enableTransURLJSStart : "mp_trans_urljs_enable_start",
	endableTransURLJSEnd : "mp_trans_urljs_enable_end",
	disableTransURLJSStart : "mp_trans_urljs_disbale_start",
	disableTransURLJSEnd : "mp_trans_urljs_disbale_end",
	processDisableStart : "mp_trans_process_disable_start",
	processDisableEnd : "mp_trans_process_disable_end",
	translate : "mp_trans_translate=3D\"",
	schedule : "mp_trans_schedule=3D\"",
	addLanguages : function(languages) {
		return exists(languages) ? this.equals + this.quote + languages + =
this.quote : this.emptyString;
	},
	returnContent : function(content) {
		return exists(content) ? content : this.emptyString;
	},
	returnDisableStartTag : function(languages) {
		return this.startMPTag + this.disableStart + =
this.addLanguages(languages) + this.endMPTag;
	},
	returnDisableEndTag : function() {
		return this.startMPTag + this.disableEnd + this.endMPTag;
	},
	doDisable : function(content, languages) {
		return this.returnDisableStartTag(languages) + =
this.returnContent(content) + this.returnDisableEndTag();
	},
	returnStartPartialTag : function(languages) {
		return this.startMPTag + this.partialStart + =
this.addLanguages(languages) + this.endMPTag;
	},
	returnEndPartialTag : function() {
		return this.startMPTag + this.partialEnd + this.endMPTag;
	},
	doPartial : function(content, languages) {
		return this.returnStartPartialTag(languages) + =
this.returnContent(content) + this.returnEndPartialTag();
	},
	returnEnableStartTag : function(languages) {
		return this.startMPTag + this.enableStart + =
this.addLanguages(languages) + this.endMPTag;
	},
	returnEnableEndTag : function() {
		return this.startMPTag + this.enableEnd + this.endMPTag;
	},
	doEnable : function(content, languages) {
		return this.returnEnableStartTag(languages) + =
this.returnContent(content) + this.returnEnableEndTag();
	},
	returnRemoveStartTag : function(languages) {
		return this.startMPTag + this.removeStart + =
this.addLanguages(languages) + this.endMPTag;
	},
	returnRemoveEndTag : function() {
		return this.startMPTag + this.removeEnd + this.endMPTag;
	},
	doRemove : function(content, languages) {
		return this.returnRemoveStartTag(languages) + =
this.returnContent(content) + this.returnRemoveEndTag();
	},
	add : function(content, languages, nestedContent) {
		return this.startMPTag + this.addStart + this.addLanguages(languages) =
+ this.returnContent(content) + this.nestedDisable(nestedContent) + =
this.endMPTag;
	},
	nestedDisable : function(content) {
		return exists(content) ? this.startMPTag + this.nestedDisableStart + =
content + this.startMPTag + this.nestedDisableEnd : this.emptyString;
	},
	disableNav : function(content) {
		return this.startMPTag + this.navDisableStart + this.endMPTag + =
this.returnContent(content) + this.startMPTag + this.navDisableEnd + =
this.endMPTag;
	},
	enableTransURLJS : function(content) {
		return this.startMPTag + this.enableTransURLJSStart + this.endMPTag + =
this.returnContent(content) + this.startMPTag + =
this.endableTransURLJSEnd + this.endMPTag;
	},
	disableTransURLJS : function(content) {
		return this.startMPTag + this.disableTransURLJSStart + this.endMPTag + =
this.returnContent(content) + this.startMPTag + =
this.disableTransURLJSEnd + this.endMPTag;
	},
	processDisable : function(content) {
		return this.startMPTag + this.processDisableStart + this.endMPTag + =
this.returnContent(content) + this.startMPTag + this.processDisableEnd + =
this.endMPTag;
	},
	translateTag : function(isDoTranslate) {
		return this.startMPTag + this.translate + isDoTranslate + this.quote + =
this.endMPTag;
	},
	scheduleTag : function(isDoSchedule) {
		return this.startMPTag + this.schedule + isDoSchedule + this.quote + =
this.endMPTag;
	}
};

var jsObjectArraySortUtil =3D {
	sortProperty : null,
	doSort : function(one, two) {
		if (exists(jsObjectArraySortUtil.sortProperty)) {
			var valueOne =3D one[jsObjectArraySortUtil.sortProperty];
			var valueTwo =3D two[jsObjectArraySortUtil.sortProperty];
			if (exists(valueOne) && exists(valueTwo)) {
				if (typeof(valueOne) =3D=3D=3D "string" && typeof(valueTwo) =
=3D=3D=3D "string") {
					valueOne =3D valueOne.toLowerCase();
					valueTwo =3D valueTwo.toLowerCase();
				}
				if (valueOne < valueTwo) {
					return -1;
				} else if (valueOne > valueTwo) {
					return 1;=20
				} else {
					return 0;
				}=20
			}
		}
		return 0;
	}
}

function collapseTable(elemId){
	if(elemId !=3D null && elemId !=3D ""){
		if(elemId.indexOf('_') > -1){
			elemId =3D elemId.split('_')[1];
		}
		setClassName(elemId + "_table_control", "display_ctl_closed");
		hide(elemId + "_table_container");	=09
	} else {
		return;
	}
}
function expandTable(elemId){
	if(elemId !=3D null && elemId !=3D ""){
		if(elemId.indexOf('_') > -1){
			elemId =3D elemId.split('_')[1];
		}
		setClassName(elemId + "_table_control", "display_ctl_open");
		show(elemId + "_table_container");
	} else {
		return;
	}
}

function iFrameUtility() {
	this.name =3D null;
	this.id =3D null;
	this.tagReference =3D null;
	this.documentBody =3D null;
	this.tagReferenceForForms =3D null;
	this.tagReferenceForJS =3D null;
	this.useContentDocument =3D null;
	this.timeoutId =3D null;
	this.isInitialized =3D false;
	this.isParentToChild =3D true;
	this.iframePadding =3D 20;
	this.childObjectToSet =3D null;
}
iFrameUtility.prototype.init =3D function(Definition) {
	this.name =3D Definition.name;
	this.id =3D Definition.id;
	this.isParentToChild =3D Definition.isParentToChild;
	this.setTagReferences(Definition.id);
	this.childObjectToSet =3D Definition.childObjectToSet;
	this.timeoutId =3D Definition.timeoutId;
};
iFrameUtility.prototype.setTagReferences =3D function(Reference) {
	if (Reference !=3D=3D this.tagReference) {
		if (this.isParentToChild) {
			this.tagReference =3D typeof(Reference) =3D=3D=3D "object" ? =
Reference : get(Reference);
		} else {
			this.tagReference =3D typeof(Reference) =3D=3D=3D "object" ? =
Reference : window.parent.get(Reference);
		}
	}
	if (exists(this.tagReference)) {
		try {
			this.useContentDocument =3D =
exists(this.tagReference.contentDocument);
			this.documentBody =3D !this.useContentDocument ? =
this.tagReference.Document.body : =
this.tagReference.contentDocument.body;
			this.tagReferenceForForms =3D !this.useContentDocument ? =
window.frames[this.tagReference.name] : =
this.tagReference.contentDocument;
			this.tagReferenceForJS =3D window.frames[this.tagReference.name];
			this.isInitialized =3D true;
		} catch(accessDeniedError) { /* YOU ARE TRYING TO GO HTTP PARENT TO =
HTTPS IFRAME, NOT ALLOWED */}
	}
};
iFrameUtility.prototype.clearTimeoutEvent =3D function() {
	if (exists(this.timeoutId)) {
		window.clearTimeout(this.timeoutId);
		this.timeoutId =3D null;
	}
};
iFrameUtility.prototype.setSrc =3D function(src) {
	if (this.isInitialized) {
		this.tagReference.src =3D src;
	}
};
iFrameUtility.prototype.setWidth =3D function(width) {
	if (this.isInitialized) {
		this.tagReference.width =3D width;
	}
};
iFrameUtility.prototype.setHeight =3D function(height) {
	if (this.isInitialized) {
		this.tagReference.height =3D height;
	}
};
iFrameUtility.prototype.resize =3D function(width, height) {
	this.setWidth(height);
	this.setHeight(height);
};
iFrameUtility.prototype.getFullHeight =3D function() {
	if (this.isInitialized) {
		if (this.isParentToChild) {
			return this.iframePadding + (!this.useContentDocument ? =
this.documentBody.scrollHeight : this.documentBody.offsetHeight);
		} else {
			return DeltaOverlayUtil.getPageSize().pageHeight;
		}
	}
};
iFrameUtility.prototype.fullySize =3D function(heightOffset) {
	if (this.isInitialized) {
		this.setWidth("100%");
		this.setHeight(this.getFullHeight() + (arguments[0] ? arguments[0]  : =
0));
		this.clearTimeoutEvent();
	}
};
iFrameUtility.prototype.fullySizeByReference =3D =
function(iFrameReference, heightOffset) {
	this.setTagReferences(iFrameReference);
	this.fullySize(heightOffset);
	this.clearTimeoutEvent();
	if (exists(this.childObjectToSet)) { =
this.setJavascriptValue(this.childObjectToSet, this); }
};
iFrameUtility.prototype.runJavascriptFunction =3D function(functionName, =
parameters) {
	if (this.isInitialized) {
		if (this.isParentToChild) {
			eval('window.frames["' + this.tagReference.name + '"].' + =
functionName + '(' + parameters + ');');
		} else {
			eval('window.parent.' + functionName + '(' + parameters + ');');
		}
	}
};
iFrameUtility.prototype.setJavascriptValue =3D function(variableName, =
value) {
	if (this.isInitialized) {
		if (this.isParentToChild) {
			this.tagReferenceForJS[variableName] =3D value;
		} else {
			window.parent[variableName] =3D value;
		}
	}
};
iFrameUtility.prototype.getJavascriptValue =3D function(variableName) {
	if (this.isInitialized) {
		if (this.isParentToChild) {
			return this.tagReferenceForJS[variableName];
		} else {
			return window.parent[variableName];
		}
	}
	return null;
};
iFrameUtility.prototype.getFormReference =3D function(formId, formName) =
{
	if (this.isParentToChild) {
		return !this.useContentDocument ? this.tagReferenceForForms[formName] =
: this.tagReferenceForForms.getElementById(formId);
	} else {
		return window.parent.document.getElementById(formId);
	}
};
iFrameUtility.prototype.getFieldReference =3D function(formId, formName, =
fieldName) {
	var formReference =3D this.getFormReference(formId, formName);
	if (exists(formReference)) {
		return formReference[fieldName];
	}
	return null;
};
iFrameUtility.prototype.setFormValue =3D function(formId, formName, =
fieldName, value) {
	if (this.isInitialized) {
		var fieldReference =3D this.getFieldReference(formId, formName, =
fieldName);
		if (exists(fieldReference) && fieldReference.length > 0) {
			var fieldType =3D fieldReference[0].type;
			switch(fieldType) {
				case "text":
				case "textarea":
				case "hidden":
					fieldReference[0].value =3D value;
					break;
				case "checkbox":
					fieldReference[0].checked =3D true;
					break;
				case "select-one":=20
					for (var i=3D0, j=3DfieldReference.length; i<j; i++) {
						if (fieldReference[i].value =3D=3D value) { =
fieldReference.selectedIndex =3D i; }=20
					}
					break;
				case "radio":
					for (var i=3D0, j=3DfieldReference.length; i<j; i++) {
						if (fieldReference[i].value =3D=3D value) { =
fieldReference[i].checked =3D true; }=20
					}
					break;
			}
		}
	}
};
iFrameUtility.prototype.getFormValue =3D function(formId, formName, =
fieldName) {
	if (this.isInitialized) {
		var fieldReference =3D this.getFieldReference(formId, formName, =
fieldName);
		if (exists(fieldReference) && fieldReference.length > 0) {
			var fieldType =3D fieldReference[0].type;
			switch(fieldType) {
				case "text":
				case "textarea":
				case "hidden":
					return fieldReference[0].value;
				case "checkbox":
					return fieldReference[0].checked ? fieldReference.value : null;
				case "select-one":=20
					return =
fieldReference[0].options[fieldReference[0].selectedIndex].value;
				case "radio":
					for (var i=3D0, j=3DfieldReference.length; i<j; i++) {
						if (fieldReference[i].checked) { return fieldReference[i].value; } =

					}
					return null;
			}
		}
	}
	return null;
};
iFrameUtility.prototype.submitForm =3D function(formName, formId) {
	if (this.isInitialized) {
		var formReference =3D this.getFormReference(formId, formName);
		if (exists(formReference)) {
			formReference.submit();
		}
	}
};
iFrameUtility.prototype.removeIframe =3D function() {
	if (this.isInitialized) {
		this.tagReference.parentNode.removeChild(this.tagReference);
	}
}

/** end delta/shared_content/components/js/lib/util.js **/


function currentPage() {=0A=
	var pageURL =3D "";=0A=
	var pageArray =3D window.location.toString().split("?");=0A=
	var re =3D new RegExp(/https?:\/\/(([a-zA-z]{2})\.)?delta.com/);=0A=
	if(pageArray.length>1)=0A=
	{=0A=
		if (pageArray[0].match(re)) =0A=
		{=0A=
			re =3D new RegExp(/https?:\/\/((si|pl|qa)\.)?delta.com/);=0A=
			if(!pageArray[0].match(re)) { pageArray.shift(); }=0A=
		}=0A=
	}=0A=
	re.compile(/\d+;/);=0A=
	pageURL =3D pageArray[0].toString();=0A=
	pageURL =3D pageURL.replace(re,'');=0A=
	re.compile(/https?:\/\/[a-zA-Z]*\.?delta.com/);=0A=
	pageURL =3D pageURL.replace(re,"");=0A=
	return pageURL;=0A=
}=0A=
function addBehaviors() {=0A=
	var pageURL =3D currentPage();=0A=
	if(exists(get("menu1Container"))) { =
setStyleAttr("menu1Container","display","block"); }=0A=
	if(exists(get("menu2Container"))) { =
setStyleAttr("menu2Container","display","block"); }=0A=
	if(exists(get("menu3Container"))) { =
setStyleAttr("menu3Container","display","block"); }=0A=
	if(exists(get("menu4Container")))=0A=
	{=0A=
		if(get("nonjs_Worldwide")!=3Dnull&&get("nonjs_Worldwide")!=3D"null") { =
setStyleAttr("nonjs_Worldwide","display","none"); }=0A=
		if(get("lang_loc")!=3Dnull&&get("lang_loc")!=3D"null") { =
setStyleAttr("lang_loc","display","inline"); }=0A=
		setStyleAttr("menu4Container","display","block");=0A=
	}=0A=
//	switch(pageURL)=0A=
//	{=0A=
//		case ("/home/index.jsp"||"/home/index.jsp#"||"/home/"||"/home/#"):=0A=
	//		setStyleAttr('hpApplications','display','block');=0A=
//			break;=0A=
//		default:=0A=
//			break;=0A=
//	}=0A=
}=0A=
=0A=
// function: left nav rollover=0A=
function navRoll(item) {=0A=
	// if the nav item is not defaulted to the rollover state then change =
the nav item class=0A=
	if(item.parentNode.className !=3D 'navHot')=0A=
	{=0A=
		// if the nav item is in the hover state change it to the default state=0A=
		if(item.parentNode.className =3D=3D 'navHover') { =
item.parentNode.className =3D ''; }=0A=
		// if the navitem is not in the hover state change it to the hover =
state=0A=
		else { item.parentNode.className =3D 'navHover'; }=0A=
	}=0A=
}=0A=
=0A=
function gotoAnchorLink(index) {=0A=
	if(index !=3D null && index !=3D "")=0A=
	{=0A=
		var locationString =3D document.location.href;=0A=
		var locationArray =3D locationString.toString().split('#');=0A=
		document.location.href =3D locationArray[0] + "#" + index;=0A=
	}=0A=
}=0A=
=0A=
//jump to tab URL when user clicks on tab=0A=
function goURL(theUrl) { document.location.href =3D theUrl; }=0A=
=0A=
=0A=
function initScreenOverlay() { =0A=
    var msgbox =3D document.getElementById('popupDiv');=0A=
    if (msgbox =3D=3D null=0A=
          || msgbox.style.display =3D=3D 'none') {=0A=
       return;=0A=
    }=0A=
=0A=
    var footerdiv =3D document.getElementById('Footer');=0A=
    var bottomOffset =3D document.body.clientWidth;=0A=
    if (footerdiv !=3D null) {=0A=
       bottomOffset =3D  footerdiv.offsetTop;=0A=
    }=0A=
    bottomOffset =3D eval(bottomOffset - 80);=0A=
    if (msgbox.style.display !=3D 'none') {=0A=
        var offsetht =3D msgbox.offsetHeight;=0A=
        var offsetwd =3D msgbox.offsetWidth;=0A=
=0A=
        var toppos =3D  Math.round(((document.body.clientHeight - =
offsetht) / 2.5) + document.body.scrollTop);=0A=
        var leftpos =3D  Math.round((document.body.clientWidth - =
offsetwd) / 4);=0A=
=0A=
        var totalht =3D toppos +  offsetht;=0A=
        if (totalht > bottomOffset ) {=0A=
           toppos =3D eval(toppos - (totalht - bottomOffset));=0A=
        }=0A=
        if (toppos < 188) {=0A=
           toppos =3D 188;=0A=
        }=0A=
        msgbox.style.top =3D toppos + "px";=0A=
=0A=
        var totalwd =3D leftpos +  offsetwd;=0A=
        if (totalwd > 750) {=0A=
           leftpos =3D eval(leftpos -(totalwd - 750));=0A=
        }=0A=
        if (leftpos < 0) {=0A=
           leftpos =3D 0;=0A=
        }=0A=
        msgbox.style.left  =3D leftpos + "px" ;=0A=
    }=0A=
} =0A=
 =0A=
=0A=
function resetPopupFrame() { =0A=
    var msgbox =3D document.getElementById('popupFrame');=0A=
    if (msgbox !=3D null) {=0A=
       document.getElementById('popupFrame').src =3D =
'/shared/components/blank.jsp';=0A=
    }=0A=
=0A=
}=0A=
=0A=
function openHelp(url,e) {=0A=
 w =3D 474;=0A=
 h =3D 408;=0A=
 openWin(url, e, w, h, "yes");=0A=
}=0A=
=0A=
function openHelp2(url,e,v) {=0A=
=0A=
   w =3D 474;=0A=
   h =3D v;=0A=
   openWin(url, e, w, h, "yes");=0A=
}=0A=
=0A=
=0A=
var cWin;=0A=
function openNewWin(url,name,w,h,scroll,chrome) {=0A=
	if(!arguments[5])  {=0A=
		chrome =3D 'no';=0A=
	}=0A=
	var att =3D 'width=3D'+ w +',height=3D'+ h =
+',left=3D50,top=3D50,scrollbars=3D'+ scroll =
+',resizable=3Dyes,toolbar=3D' + chrome + ',location=3D' + chrome + =
',status=3D' + chrome + ',menubar=3D' + chrome;=0A=
	cWin =3D window.open(url,name,att);=0A=
	self.name=3D"Main";=0A=
}=0A=
=0A=
function openWin(url,name,wd,ht,scroll) {=0A=
	openNewWin(url, "deltaPopup", wd, ht, scroll);=0A=
	//DeltaOverlayUtil.showPopupOverlay(url, name, wd, ht, scroll);=0A=
}=0A=
=0A=
=0A=
function closeWin() {=0A=
   if (window.opener) { =0A=
	   self.close();=0A=
   } else if (window.parent !=3D window) {=0A=
      DeltaOverlayUtil.hideOverlay();=0A=
    } else if(cWin !=3D null) { =0A=
         cWin.close(); =0A=
         cWin =3D null; =0A=
   }=0A=
}=0A=
=0A=
function closeNewWin() {=0A=
      self.close();=0A=
}=0A=
=0A=
function hidePopupHeader() {=0A=
    var divArea =3D document.getElementById('popHeader');=0A=
    if (divArea !=3D null) {=0A=
        divArea.style.display =3D 'none';=0A=
    }=0A=
}=0A=
=0A=
function hidePopupFrameHeader() {=0A=
   try {=0A=
      var popupframe =3D document.getElementById('popupFrame');   =0A=
      if (popupframe && popupframe.contentWindow) {=0A=
            popupframe.contentWindow.hidePopupHeader();=0A=
      }=0A=
   } catch (e) {}=0A=
}=0A=
=0A=
function closePopupDiv() {=0A=
    var divArea =3D document.getElementById('popupDiv');=0A=
    if (divArea !=3D null) {=0A=
        divArea.style.display =3D 'none';=0A=
    }=0A=
   resetPopupFrame();=0A=
}=0A=
=0A=
=0A=
function closeMe() {=0A=
	try { =0A=
	if (window.opener) { =0A=
		self.close();=0A=
   }=0A=
		=0A=
	if(cWin !=3D null){ cWin.close(); cWin =3D null; } }=0A=
	catch(e) {}=0A=
	try { if(childwin !=3D null){ childwin.close(); childwin =3D null; } }=0A=
	catch(e) {}=0A=
}=0A=
=0A=
// this will open a context-sensitive help window=0A=
function openNewHelpWin(url,e)=0A=
{=0A=
	w =3D screen.width-470;=0A=
	h =3D screen.height-370;=0A=
	x =3D e.screenX;=0A=
	y =3D e.screenY;=0A=
	if(x > w) { x =3D x-470; }=0A=
	if(y > h) { y =3D y-370; }=0A=
	childwin=3Dwindow.open(url, "childwin", =
"width=3D470,height=3D370,top=3D"+y+",left=3D"+x+",scrollbars=3Dyes,resiz=
able=3Dyes");=0A=
}=0A=
// this will open a pop-up help window=0A=
function openNewHelp2win(url,e,v)=0A=
{=0A=
	w =3D screen.width-470;=0A=
	h =3D screen.height-v;=0A=
	x =3D e.screenX;=0A=
	y =3D e.screenY;=0A=
	if(x > w) { x =3D x-470; }=0A=
	if(y > h) { y =3D y-v; }=0A=
	childwin=3Dwindow.open(url, "childwin", =
"width=3D470,height=3D"+v+",top=3D"+y+",left=3D"+x+",scrollbars=3Dyes,res=
izable=3Dyes");=0A=
}=0A=
=0A=
function openDesc(title,desc,e)=0A=
{=0A=
	w =3D screen.width-470;=0A=
	h =3D screen.height-150;=0A=
	x =3D e.screenX;=0A=
	y =3D e.screenY;=0A=
	if(x >  w) { x =3D x-470; }=0A=
	if(y >  h) { y =3D y-150; }=0A=
	var dWin =3D window.open('','movieDesc', =
'width=3D470,height=3D150,top=3D'+y+',left=3D'+x+',scrollbars=3Dyes,resiz=
able=3Dyes');=0A=
	var head =3D '<html><head><title>Movies</title><link rel=3D"stylesheet" =
type=3D"text/css" href=3D"/components/css/global.css" />\n<link =
rel=3D"stylesheet" type=3D"text/css" href=3D"/components/css/forms.css" =
/>\n<script type=3D"text/javascript" =
src=3D"/components/js/global.js"></script>'=0A=
	+'<script language=3D"JavaScript">\nwindow.onLoad =3D =
window.focus();\n</script></head>';=0A=
	var banner =3D '<div id=3D"popHeader">'=0A=
	+'<table cellspacing=3D"0" cellpadding=3D"0" border=3D"0">'=0A=
	+'<tr>'=0A=
	+'<td class=3D"left"><img =
src=3D"http://delta.m7z.net/delta/delta/backgrounds/headers/popup_header_=
left.jpg" alt=3D"Delta" title=3D"Delta" /></td>'=0A=
	+'<td class=3D"right"><a href=3D"javascript:self.close();"><nobr>Close =
Window</nobr></a></td>'=0A=
	+'</tr>'=0A=
	+'</table>'=0A=
	+'</div>';=0A=
	dWin.document.open();=0A=
	dWin.document.write('');=0A=
	dWin.document.write(head+'<body>\n'+banner+'<div =
class=3D"popContainer">\n<p><b>'+title+'</b><br>\n'+desc+'</p></div></bod=
y></html>');=0A=
	dWin.document.close();=0A=
}=0A=
=0A=
function logAction(string)=0A=
{=0A=
	var trackingPixelSrc =3D =
"http://www.delta.com/tracking/htmltag.gif?Log=3D1";=0A=
	if(document.getElementById("trackingPixel")!=3Dnull) { =
document.getElementById("trackingPixel").src =3D =
trackingPixelSrc+string.replace("amp;","")+"&rand=3D"+Math.round(Math.ran=
dom()*100000000); }=0A=
}=0A=
function setActiveTab(triggerID,type)=0A=
{=0A=
	var tabsID =3D type+"Tabs";=0A=
	var tabContentClass =3D type+"TabsContent";=0A=
	var activeTab =3D triggerID.split("_")[0];=0A=
	var tabs =3D get(tabsID);=0A=
	var tabCollection =3D tabs.getElementsByTagName('li');=0A=
	var tempCollection =3D document.getElementsByTagName('div');=0A=
	var tabContentCollection =3D new Array();=0A=
	for(var i=3D0;i<tempCollection.length;i++) { =
if(tempCollection[i].className.toString().split(" =
")[0]=3D=3DtabContentClass){tabContentCollection.push(tempCollection[i]);=
}}=0A=
	for(var i=3D0;i<tabCollection.length;i++)=0A=
	{=0A=
		setClassName(tabCollection[i].id,"");=0A=
		if(tabCollection[i].id=3D=3DtriggerID) { =
setClassName(tabCollection[i].id,"active"); }=0A=
		=
setClassName(tabContentCollection[i].id,tabContentCollection[i].className=
.toString().split(" ")[0]+" inactive");=0A=
		if(tabCollection[i].id=3D=3DtriggerID) { =
setClassName(tabContentCollection[i].id,tabContentCollection[i].className=
.toString().split(" ")[0]+" active"); }=0A=
	}=0A=
	=
if(document.getElementById(triggerID.split("_")[0]+"_tracking")!=3Dnull) =
{ =
logAction(document.getElementById(triggerID.split("_")[0]+"_tracking").in=
nerHTML); }=0A=
	=
if((document.getElementById(triggerID.split("_")[0]+"_additional")!=3Dnul=
l)&&(document.getElementById("additional")!=3Dnull)) { =
document.getElementById("additional").innerHTML =3D =
document.getElementById(triggerID.split("_")[0]+"_additional").innerHTML;=
 }=0A=
	else if(document.getElementById("additional")!=3Dnull) { =
document.getElementById("additional").innerHTML =3D ""; }=0A=
	else { /*doNothing()*/ }=0A=
}=0A=
function openPhotoViewer(title,path,imageRoot,numItem,numTotal)=0A=
{=0A=
	var winPath =3D "/components/popups/photo_viewer.jsp";=0A=
	var query =3D "?title=3D"+title.replace(" =
","_")+"&path=3D"+path+"&imageRoot=3D"+imageRoot+"&numItem=3D"+numItem+"&=
numTotal=3D"+numTotal;=0A=
	openWin(winPath+query,"PhotoViewer",450,450,'no');=0A=
}=0A=
function openClose(id1,id2)=0A=
{=0A=
	if (document.getElementById(id1).style.display=3D=3D"none") { =
setClassName(id2,"active"); show(id1); }=0A=
	else { setClassName(id2,"inactive"); hide(id1); }=0A=
}=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
// this opens window with customizable dimensions, chrome (controls), =
scroll bar and spawn location; used when content is whole page, not =
pop-up content=0A=
function openWinfull( url, name, width, height, xpos, ypos, chrome, =
scroll ) {
	var x, y, w, h, moveX=3D0, moveY=3D0, features=3D"";=0A=
	chrome =3D chrome ? "yes" : "no";=0A=
	scroll =3D scroll ? "yes" : "no";=0A=
	features +=3D =
"toolbar=3D"+chrome+",location=3D"+chrome+",status=3D"+chrome+",menubar=3D=
"+chrome;=0A=
	features +=3D ",scrollbars=3D"+scroll+",resizable=3D"+scroll;=0A=
	if(width) features +=3D ",width=3D"+width;=0A=
	if(height) features +=3D ",height=3D"+height;=0A=
	if(xpos && window.screen) {=0A=
		w =3D window.screen.availWidth;=0A=
		width =3D parseInt(width);=0A=
		switch(xpos){=0A=
			case "left": x =3D 0; break;=0A=
			case "center": x =3D (w-width)/2; break;=0A=
			case "right": x =3D w-width; break;=0A=
			default: x =3D xpos;=0A=
		}=0A=
		features +=3D ",screenX=3D"+x+",left=3D"+x;=0A=
		var moveX =3D x;=0A=
	}=0A=
	if(ypos && window.screen){=0A=
		h =3D window.screen.availHeight;=0A=
		height =3D parseInt(height);=0A=
		switch(ypos){=0A=
			case "top": y =3D 0; break;=0A=
			case "middle": y =3D (h-height)/2; break;=0A=
			case "bottom": y =3D h-height; break;=0A=
			default: y =3D ypos;=0A=
		}=0A=
		features +=3D ",screenY=3D"+y+",top=3D"+y;=0A=
		var moveY =3D y;=0A=
	}=0A=
	var openWinReference =3D window.open(url,name,features);=0A=
	if(moveX || moveY){=0A=
		// position the window for browsers that don't recognize screenX, =
screenY=0A=
		openWinReference.moveTo(moveX,moveY);=0A=
	}=0A=
}=0A=
openFull =3D function(url,name){ =
openWinfull(url,name,"640","480","center","middle",false,"scroll"); }=0A=
openAll =3D function(url,name,width,height){ =
openWinfull(url,name,"640","480","center","middle","chrome","scroll"); }=0A=
=0A=
=0A=
=0A=
=0A=
var cWin =3D null;=0A=
var childwin =3D null;=0A=
var home_containers =3D new =
Array("primary_messaging","secondary_messaging","group_one","group_two_to=
p","group_two_bottom");=0A=
var left_pos =3D 378;=0A=
var url_lang =3D window.location.toString().split(".")[0].split("//")[1];=0A=
=0A=
=0A=
function formatURL(url){=0A=
	var formattedURL =3D unescape(url);=0A=
	window.location =3D formattedURL;=0A=
}=0A=
=0A=
=0A=
function getDomainFromURL(url){=0A=
	var domain =3D null;=0A=
	if (url.length > 10 =0A=
		&& (url.substring(0,4) =3D=3D 'http'))  {=0A=
		domain =3D url.substring(0, url.indexOf('/', 7));=0A=
}
return domain;=0A=
}=0A=
// Javascript Code for TeaLeaf Technology, Inc.=0A=
// Round Trip calculation function=0A=
=0A=
function tltRoundTrip() {=0A=
//	var pos;=0A=
//	var GIF =3D "tlt_rt.gif";=0A=
//	var QueryString =3D "?TeaLeafRoundTrip=3DYes&";=0A=
//	var PageTime =3D 0;=0A=
//	var d =3D new Date()=0A=
//	if (d.getTimezoneOffset) { QueryString +=3D "TZ=3D" + =
-(d.getTimezoneOffset()/60) + "&"; }=0A=
//	PageTime =3D Math.round((new Date())/1000);=0A=
//	pos =3D document.cookie.indexOf("TLTSID=3D");=0A=
//	if (pos !=3D -1) { QueryString +=3D =
document.cookie.substring(pos,document.cookie.indexOf(";",pos)) + "&"; }=0A=
//	pos =3D document.cookie.indexOf("TLTUID=3D");=0A=
//	if (pos !=3D -1) { QueryString +=3D =
document.cookie.substring(pos,document.cookie.indexOf(";",pos)); }=0A=
//	QueryString +=3D "&PageTime=3D" + PageTime=0A=
//	document.write("<img src=3D\"\/\/images.delta.com/delta/thirdparty/" =
+ GIF + QueryString + "\" height=3D\"1\" width=3D\"1\" border=3D\"0\">");=0A=
//	return;=0A=
}=0A=
function SelectRadioButton(id){=0A=
	var tagRef =3D get(id);=0A=
	var radioList  =3D document[tagRef.form.name][tagRef.name];=0A=
	if(parseInt(radioList.length).toString() =3D=3D=3D 'NaN') {=0A=
		tagRef.checked =3D true;=0A=
	} else {=0A=
		for(var i =3D 0, j =3D radioList.length; i<j; i++) {=0A=
			radioList[i].checked =3D (radioList[i].value =3D=3D=3D tagRef.value);=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function urlEncode(stringToEncode) {=0A=
	stringToEncode =3D stringToEncode.toString();  =0A=
	var encodedString =3D escape(stringToEncode);=0A=
	encodedString =3D encodedString.replace(/\+/g, "%2B").replace(/\//g, =
"%2F"); =0A=
	return encodedString;=0A=
}=0A=
=0A=
function doNWAInterstitial() {=0A=
	var qs =3D [];=0A=
	for(var i=3D0, j=3Darguments.length; i<j; i++) {=0A=
		var qsDefinition =3D arguments[i];=0A=
		if(typeof(qsDefinition) =3D=3D=3D 'object' && =
exists(qsDefinition.qsProp) && exists(qsDefinition.value) ) {=0A=
			qs[qs.length] =3D qsDefinition.qsProp + '=3D' + =
urlEncode(qsDefinition.value);=0A=
		}=0A=
	}=0A=
	openNewWin('/shared/components/interstitial/nwa/index.jsp' + (qs.length =
!=3D=3D 0 ? '?' + qs.join('&') : ''), 'nwaWait', 750, 600, 'yes', 'yes');=0A=
	cWin.focus();=0A=
}=0A=

var dashboardUtil =3D {
	skyMilesInputId : null,
	skyMilesRadioId : null,
	worldPerksInputId : null,
	skyMilesInputRef : null,
	worldperksInputRef : null,
	skyMilesProgram : null,
	worldParksProgram : null,
	isSkyMilesLogin : true,
	skymilesLoginAction : null,
	deltaContainerId : null,
	nwaContainerId : null,
	nwaFormAction : null,
	loginFormId : null,
	skyMilesFormTarget : null,
	nwaFormTarget : null,
	inErrorState : false,
	webapp : null,
	dashboardContainerId : "dashboard",
	offsetContainerId : "genLoginSpacer",
	minimumOffset : 30,
	unitOfMeasure : "px",
	isBadBrowser : false,
	currentAction : null,
	offset : function() {
		var dashboardElement =3D get(this.dashboardContainerId);
		var offsetElement =3D get(this.offsetContainerId);
		var computedHeight;
		if( exists(dashboardElement) && exists(offsetElement) ) {
			show(this.dashboardContainerId);
			show(this.offsetContainerId);
			var offsetCords =3D getElementXAndYPos(offsetElement);
			var dashboardCords =3D getElementXAndYPos(dashboardElement);
			if(dashboardCords.y <=3D 0) { dashboardCords.x =3D 10; =
dashboardCords.y =3D 70;}
			if( (dashboardCords.y + dashboardElement.clientHeight) <=3D =
offsetCords.y ) {
				if( dashboardElement.clientHeight =3D=3D 0 ) {=20
					/* houston we have a problem in ie6 */
					if(this.currentAction =3D=3D "expand") {
						offsetElement.style.height =3D "120px";
					} else if (this.currentAction =3D=3D "collapse") {
						offsetElement.style.height =3D this.minimumOffset + =
this.unitOfMeasure;
					} else {
						offsetElement.style.height =3D "120px";
					}
				} else {
					offsetElement.style.height =3D this.minimumOffset + =
this.unitOfMeasure;
				}
			} else {
				if( getContextPath() =3D=3D "home" || getContextPath() =3D=3D "" || =
getContextPath() =3D=3D "schedules") {
					computedHeight =3D ((dashboardCords.y + =
dashboardElement.clientHeight) - offsetCords.y) + this.unitOfMeasure;
				} else {
					computedHeight =3D ((dashboardCords.y + =
dashboardElement.clientHeight) - offsetCords.y + this.minimumOffset) + =
this.unitOfMeasure;
				}
				offsetElement.style.height =3D computedHeight;
			}
			show(this.dashboardContainerId);
		} else {
		}
		try { show("dashboard"); } catch(error) { /*for the new netscape 4: =
ie6 */ }
	},
	expand : function() {
		this.currentAction =3D "expand";
		try { show("skymilesInfo"); } catch(e) {}
		try { show("loyaltyAccount"); } catch(e) {}
		show("dashboard_close");
		hide("dashboard_open");
		this.offset();
	},
	collapse : function() {
		this.currentAction =3D "collapse";
		try { hide("skymilesInfo"); } catch(e) {}
		try { hide("loyaltyAccount"); } catch(e) {}
		hide("dashboard_close");
		show("dashboard_open");
		this.offset();
	},
	handleErrorState : function() {
		if(dashboardUtil.inErrorState) {
			show( (dashboardUtil.isSkyMilesLogin ? 'invalidSkyMiles' : =
'invalidWorldPerks') );
		} else {
			hide( (dashboardUtil.isSkyMilesLogin ? 'invalidSkyMiles' : =
'invalidWorldPerks') );
		}
	},
	handleProgramSwitch : function(inputValue) {
		dashboardUtil.inErrorState =3D false;
		dashboardUtil.handleErrorState();
		dashboardUtil.isSkyMilesLogin =3D (inputValue =3D=3D=3D =
dashboardUtil.skyMilesProgram);
		hide( (dashboardUtil.isSkyMilesLogin ? dashboardUtil.nwaContainerId : =
dashboardUtil.deltaContainerId) );
		show( (dashboardUtil.isSkyMilesLogin ? dashboardUtil.deltaContainerId =
: dashboardUtil.nwaContainerId) );
		this.offset();
	},
	postLoginData : function() {
		try {
			if( (dashboardUtil.isSkyMilesLogin && =
!dashboardUtil.isValidSkyMilesNumber(dashboardUtil.skyMilesInputRef.value=
)) ||=20
				(!dashboardUtil.isSkyMilesLogin && =
!dashboardUtil.isValidWorldPerksNumber(dashboardUtil.worldperksInputRef.v=
alue)) ) {
				dashboardUtil.inErrorState =3D true;
				dashboardUtil.handleErrorState();
				return false;
			} else {
				dashboardUtil.inErrorState =3D true;
				dashboardUtil.handleErrorState();
				var formRef =3D get(dashboardUtil.loginFormId);
				formRef.target =3D dashboardUtil.isSkyMilesLogin ? =
dashboardUtil.skyMilesFormTarget : dashboardUtil.nwaFormTarget;
				formRef.action =3D dashboardUtil.isSkyMilesLogin ? =
dashboardUtil.skymilesLoginAction : dashboardUtil.nwaLoginAction;
				dashboardUtil.handleProgramSwitch(dashboardUtil.skyMilesProgram);
				SelectRadioButton(dashboardUtil.skyMilesRadioId);
			}
			return true;
		} catch(e) {
			//alert(e);
			return false;
		}
	},
	isValidSkyMilesNumber : function(value) {
		return /^\d{10}/.test(value);
	},
	isValidWorldPerksNumber : function(value) {
		return /^\d{9,12}/.test(value);
	},
	init : function(Definition) {
		dashboardUtil.nwaLoginAction =3D Definition.nwaLoginAction;
		dashboardUtil.skyMilesInputRef =3D get(Definition.skyMilesInputId);
		dashboardUtil.worldperksInputRef =3D =
get(Definition.worldPerksInputId);
		dashboardUtil.skyMilesProgram =3D Definition.skyMilesProgram;
		dashboardUtil.worldParksProgram =3D Definition.worldParksProgram;
		dashboardUtil.deltaContainerId =3D Definition.deltaContainerId;
		dashboardUtil.nwaContainerId =3D Definition.nwaContainerId;
		dashboardUtil.isSkyMilesLogin =3D Definition.isSkyMilesLogin;
		dashboardUtil.skyMilesRadioId =3D Definition.skyMilesRadioId;
		dashboardUtil.skymilesLoginAction =3D Definition.skymilesLoginAction;
		dashboardUtil.loginFormId =3D Definition.loginFormId;
		dashboardUtil.skyMilesFormTarget =3D Definition.skyMilesFormTarget;
		dashboardUtil.nwaFormTarget =3D Definition.nwaFormTarget;
	}
};
function expandingLogin() {
	this.openMargin =3D "89px";
	this.closedMargin =3D "11px";
	this.open =3D null;//expandingLogin_open;
	this.close =3D null;//expandingLogin_close;
}=09

var DeltaOverlayUtil =3D {
	followPopupClass : "screenPopup_follow",
	followIframClass : "popupFrame_follow",
	noFollowPopupClass : "screenPopup_noFollow",
	noFollowIframClass : "popupFrame_noFollow",
	popupId : "popupDiv",
	iFrameId : "popupFrame",
	overlayBgId : "modalOverlayBgDiv",
	pathToBlank : "java" + "script:'<html></html>';",
	isIe : function() { return ( !exists(window.opera) && =
exists(window.ActiveXObject) && exists(document.all) ) ? true : false; =
},
	isUsingOverlay : false,
	setIframeSrc : function(src) {
		var windowRef =3D window.parent !=3D window ? window.parent : window;
		windowRef.get(DeltaOverlayUtil.iFrameId).src =3D src;
	},
	setClassNames : function(modalDiv, popupHeight, popupWidth, pageHeight, =
pageWidth) {
//		if(DeltaOverlayUtil.isIe() || (popupHeight > pageHeight) || =
(popupWidth > pageWidth)) {
			setClassName(modalDiv.id, DeltaOverlayUtil.noFollowPopupClass);
//			setClassName(DeltaOverlayUtil.iFrameId, =
DeltaOverlayUtil.noFollowIframClass);
//		} else {
//			modalDiv.className =3D DeltaOverlayUtil.followPopupClass;
//			setClassName(modalDiv.id, DeltaOverlayUtil.followPopupClass);
//			setClassName(DeltaOverlayUtil.iFrameId, =
DeltaOverlayUtil.followIframClass);
//		}
	},
	showPopupOverlay : function(url, name, width, height, scroll) {
		try {
			var modalDiv =3D get(DeltaOverlayUtil.popupId);
			var overlayBgDiv =3D get(DeltaOverlayUtil.overlayBgId);
			var overlayIframe =3D get(DeltaOverlayUtil.iFrameId);
			if( exists(modalDiv) && exists(overlayBgDiv) && exists(overlayIframe) =
) {
				var pageSize =3D DeltaOverlayUtil.getPageSize();
				overlayBgDiv.style.height =3D pageSize.pageHeight + 'px';
				overlayBgDiv.style.width =3D pageSize.pageWidth + 'px';
				var modalDivStyle =3D modalDiv.style;
				modalDivStyle.height =3D height + 50 + 'px';
				modalDivStyle.width =3D width + 'px';
				DeltaOverlayUtil.centerElement(pageSize, modalDiv, height, width);
				var iFramStyle =3D overlayIframe.style;
				overlayIframe.width =3D (width - 10) + 'px';
				overlayIframe.height =3D height + 'px';
				DeltaOverlayUtil.setIframeSrc(url);
				DeltaOverlayUtil.setClassNames(modalDiv, height, width, =
pageSize.pageHeight, pageSize.pageWidth);
				show(DeltaOverlayUtil.popupId);
				show(DeltaOverlayUtil.overlayBgId);
				show(DeltaOverlayUtil.iFrameId);
				DeltaOverlayUtil.isUsingOverlay =3D true;
			} else {
				openNewWin(url, name, width, height, scroll);
				DeltaOverlayUtil.isUsingOverlay =3D false;
			}
		} catch(generalError) {
			openNewWin(url, name, width, height, scroll);
			DeltaOverlayUtil.isUsingOverlay =3D false;
		}
	},
	hideOverlay : function(id) {
		try {
			var windowRef =3D window.parent !=3D window ? window.parent : window;
			windowRef.hide(DeltaOverlayUtil.popupId);
			windowRef.hide(DeltaOverlayUtil.overlayBgId);
			windowRef.hide(DeltaOverlayUtil.iFrameId);
			DeltaOverlayUtil.setIframeSrc(DeltaOverlayUtil.pathToBlank);
		} catch(noOverlayError) {
			try {
				cWin.close();=20
				cWin =3D null;
			} catch(noWindowError) {}
		}
	},
	getPageSize : function() {
		var pageSize =3D { xScroll: 0, yScroll : 0, pageWidth : 0, pageHeight =
: 0, windowWidth : 0, windowHeight: 0 };
		var docBody =3D document.body;
		var docElem =3D document.documentElement;
		if (window.innerHeight && window.scrollMaxY) {=09
			pageSize.xScroll =3D docBody.scrollWidth;
			pageSize.yScroll =3D window.innerHeight + window.scrollMaxY;
		} else if (docBody.scrollHeight > docBody.offsetHeight){
			pageSize.xScroll =3D docBody.scrollWidth;
			pageSize.yScroll =3D docBody.scrollHeight;
		} else {
			pageSize.xScroll =3D docBody.offsetWidth;
			pageSize.yScroll =3D docBody.offsetHeight;
		}
		if (self.innerHeight) {
			pageSize.windowWidth =3D self.innerWidth;
			pageSize.windowHeight =3D self.innerHeight;
		} else if (docElem && docElem.clientHeight) {
			pageSize.windowWidth =3D docElem.clientWidth;
			pageSize.windowHeight =3D docElem.clientHeight;
		} else if (docBody) {
			pageSize.windowWidth =3D docBody.clientWidth;
			pageSize.windowHeight =3D docBody.clientHeight;
		}
		pageSize.pageHeight =3D pageSize.yScroll < pageSize.windowHeight ? =
pageSize.windowHeight : pageSize.yScroll;
		pageSize.pageWidth =3D pageSize.xScroll < pageSize.windowWidth ? =
pageSize.windowWidth : pageSize.xScroll;
		if (self.pageYOffset) {
			pageSize.yScroll =3D self.pageYOffset;
		} else if (docElem && docElem.scrollTop){
			pageSize.yScroll =3D docElem.scrollTop;
		} else if (docBody) {
			pageSize.yScroll =3D docBody.scrollTop;
		}
		if (self.pageXOffset) {
			pageSize.xScroll =3D self.pageXOffset;
		} else if (docElem && docElem.scrollLeft){
			pageSize.xScroll =3D docElem.scrollLeft;
		} else if (docBody) {
			pageSize.xScroll	=3D docBody.scrollLeft;
		}
		return pageSize;
	},
	centerElement : function(pageSize, objToCenter, height, width) {
		if(typeof pageSize !=3D "object") {
			pageSize =3D DeltaOverlayUtil.getPageSize();
		}
		var objStyle =3D objToCenter.style;
		var prevVisible =3D objStyle.visibility;
		var preDisplay =3D objStyle.display;=09
		objStyle.display =3D "none";
		objStyle.visibility =3D "hidden";
		objStyle.display =3D "block";
		var objTop =3D pageSize.yScroll + (( pageSize.windowHeight - 35 - =
objToCenter.offsetHeight) / 2);
		var objLeft =3D (pageSize.windowWidth - objToCenter.offsetWidth) / 2;
		objStyle.top =3D (objTop < 0) ? "0px" : objTop + "px";
		objStyle.left =3D (objLeft < 0) ? "0px" : objLeft + "px";
		objStyle.display =3D preDisplay;
		objStyle.visibility =3D "visible";
	}
};

/*****************************************************
 * ypSlideOutMenu
 * http://ypslideoutmenus.sourceforge.net/
 *
 * Licensed under AFL 2.0
 * http://www.opensource.org/licenses/afl-2.0.php
 *****************************************************/
=20
ypSlideOutMenu.Registry=3D[];
ypSlideOutMenu.aniLen=3D250;
ypSlideOutMenu.hideDelay=3D1000;
ypSlideOutMenu.minCPUResolution=3D10;
function ypSlideOutMenu(id,_2,_3,_4,_5,_6)
{
	this.ie=3Ddocument.all?1:0;
	this.ns4=3Ddocument.layers?1:0;
	this.dom=3Ddocument.getElementById?1:0;
	this.css=3D"";
	if(this.ie||this.ns4||this.dom)
	{
		this.id=3Did;
		this.dir=3D_2;
		this.orientation=3D_2=3D=3D"left"||_2=3D=3D"right"?"h":"v";
		this.dirType=3D_2=3D=3D"right"||_2=3D=3D"down"?"-":"+";
		this.dim=3Dthis.orientation=3D=3D"h"?_5:_6;
		this.hideTimer=3Dfalse;
		this.aniTimer=3Dfalse;
		this.open=3Dfalse;
		this.over=3Dfalse;
		this.startTime=3D0;
		this.gRef=3D"ypSlideOutMenu_"+id;
		eval(this.gRef+"=3Dthis");
		ypSlideOutMenu.Registry[id]=3Dthis;
		var d=3Ddocument;
		var _8=3D"";
		_8+=3D"#"+this.id+"Container{visibility:hidden;";
		_8+=3D"left:"+_3+"px;";
		_8+=3D"top:"+_4+"px;";
		_8+=3D"overflow:hidden;z-index:10000;}";
		_8+=3D"#"+this.id+"Container,#"+this.id+"Content{position:absolute;";
		_8+=3D"width:"+_5+"px;";
		_8+=3D"height:"+_6+"px;";
		_8+=3D"clip:rect(0 "+_5+" "+_6+" 0);";
		_8+=3D"}";
		this.css=3D_8;
		this.load();
	}
}
ypSlideOutMenu.writeCSS=3Dfunction()
{
	document.writeln("<style type=3D\"text/css\">");
	for(var id in ypSlideOutMenu.Registry)
	{
		document.writeln(ypSlideOutMenu.Registry[id].css);
	}
	document.writeln("</style>");
}
ypSlideOutMenu.prototype.load=3Dfunction()
{
	var d=3Ddocument;
	var _10=3Dthis.id+"Container";
	var _11=3Dthis.id+"Content";
	var =
_12=3Dthis.dom?d.getElementById(_10):this.ie?d.all[_10]:d.layers[_10];
	if(_12)
	{
		var =
_13=3Dthis.ns4?_12.layers[_11]:this.ie?d.all[_11]:d.getElementById(_11);
	}
	var _14;
	if(!_12||!_13)
	{
		window.setTimeout(this.gRef+".load()",100);
	}
	else
	{
		this.container=3D_12;
		this.menu=3D_13;
		this.style=3Dthis.ns4?this.menu:this.menu.style;
		this.homePos=3Deval("0"+this.dirType+this.dim);
		this.outPos=3D0;
		=
this.accelConst=3D(this.outPos-this.homePos)/ypSlideOutMenu.aniLen/ypSlid=
eOutMenu.aniLen;
		if(this.ns4)
		{
			//alert("ns4");
			this.menu.captureEvents(Event.MOUSEOVER|Event.MOUSEOUT);
		}
		this.menu.onmouseover=3Dnew =
Function("ypSlideOutMenu.showMenu('"+this.id+"')");
		this.menu.onmouseout=3Dnew =
Function("ypSlideOutMenu.hideMenu('"+this.id+"')");
		this.endSlide();
	}
}
ypSlideOutMenu.showMenu=3Dfunction(id)
{
	if((id=3D=3D"menu1")||(id=3D=3D"menu2")||(id=3D=3D"menu3")) { =
isOpening[id]=3Dtrue;setMenuState(id); }
	var reg=3DypSlideOutMenu.Registry;
	var obj=3DypSlideOutMenu.Registry[id];
	if(obj.container)
	{
		obj.over=3Dtrue;
		for(menu in reg)
		{
			if(id!=3Dmenu)
			{
				ypSlideOutMenu.hide(menu);
			}
		}
		if(obj.hideTimer)
		{
			reg[id].hideTimer=3Dwindow.clearTimeout(reg[id].hideTimer);
		}
		if(!obj.open&&!obj.aniTimer)
		{
			reg[id].startSlide(true);
		}
	}
}
ypSlideOutMenu.hideMenu=3Dfunction(id)
{
	var obj=3DypSlideOutMenu.Registry[id];
	if(id!=3D"menu4")
	{
		isOpening[id]=3Dfalse;
		if(obj.container)
		{
			if(obj.hideTimer)
			{
				window.clearTimeout(obj.hideTimer);
			}
			=
obj.hideTimer=3Dwindow.setTimeout("ypSlideOutMenu.hide('"+id+"')",ypSlide=
OutMenu.hideDelay);
		}
	}
}
ypSlideOutMenu.hideAll=3Dfunction()
{
	var reg=3DypSlideOutMenu.Registry;
	for(menu in reg)
	{
		ypSlideOutMenu.hide(menu);
		if(menu.hideTimer)
		{
			window.clearTimeout(menu.hideTimer);
		}
	}
}
ypSlideOutMenu.hide=3Dfunction(id)
{
	var obj=3DypSlideOutMenu.Registry[id];
	obj.over=3Dfalse;
	if(obj.hideTimer)
	{
		window.clearTimeout(obj.hideTimer);
	}
	obj.hideTimer=3D0;
	if(obj.open&&!obj.aniTimer)
	{
		obj.startSlide(false);
	}
}
ypSlideOutMenu.prototype.startSlide=3Dfunction(_21)
{
	this[_21?"onactivate":"ondeactivate"]();
	this.open=3D_21;
	if(_21)
	{
		this.setVisibility(true);
	}
	this.startTime=3D(new Date()).getTime();
	=
this.aniTimer=3Dwindow.setInterval(this.gRef+".slide()",ypSlideOutMenu.mi=
nCPUResolution);
}
ypSlideOutMenu.prototype.slide=3Dfunction()
{
	var _22=3D(new Date()).getTime()-this.startTime;
	if(_22>ypSlideOutMenu.aniLen)
	{
		this.endSlide(false);
	}
	else
	{
		var =
d=3DMath.round(Math.pow(ypSlideOutMenu.aniLen-_22,2)*this.accelConst);
		if(this.open&&this.dirType=3D=3D"-")
		{
			d=3D-d;
		}
		else
		{
			if(this.open&&this.dirType=3D=3D"+")
			{
				d=3D-d;
			}
			else
			{
				if(!this.open&&this.dirType=3D=3D"-")
				{
					d=3D-this.dim+d;
				}
				else
				{
					d=3Dthis.dim+d;
				}
			}
		}
		this.moveTo(d);
	}
}
ypSlideOutMenu.prototype.endSlide=3Dfunction()
{
	this.aniTimer=3Dwindow.clearTimeout(this.aniTimer);
	this.moveTo(this.open?this.outPos:this.homePos);
	if(!this.open)
	{
		this.setVisibility(false);
		if(this.id=3D=3D"menu4") { checkPrefTab(); /* see preferences.js */ }
		else { setMenuState(this.id); }
	}
	if((this.open&&!this.over)||(!this.open&&this.over))
	{
		this.startSlide(this.over);
	}
}
ypSlideOutMenu.prototype.setVisibility=3Dfunction(_24)
{
	var =
s=3Dthis.ns4?this.container:this.container.style;s.visibility=3D_24?"visi=
ble":"hidden";
}
ypSlideOutMenu.prototype.moveTo=3Dfunction(p)
{
	this.style[this.orientation=3D=3D"h"?"left":"top"]=3Dthis.ns4?p:p+"px";
}
ypSlideOutMenu.prototype.getPos=3Dfunction(c)
{
	return parseInt(this.style[c]);
}
ypSlideOutMenu.prototype.onactivate=3Dfunction(){}
ypSlideOutMenu.prototype.ondeactivate=3Dfunction(){}

/*****************************************************
 * added for handling of menu states
 *****************************************************/
function setMenuState(id)
{
	var t =3D "_trigger";
	if(isOpening[id])
	{
		/* reset menus to original state on page load */
		if(isActivated["menu1"]) { =
isActivated["menu1"]=3Dfalse;setClassName("menu1"+t,getClassName("menu1"+=
t).split("_")[0]); }
		if(isActivated["menu2"]) { =
isActivated["menu2"]=3Dfalse;setClassName("menu2"+t,getClassName("menu2"+=
t).split("_")[0]); }
		if(isActivated["menu3"]) { =
isActivated["menu3"]=3Dfalse;setClassName("menu3"+t,getClassName("menu3"+=
t).split("_")[0]); }
		isActivated[id]=3Dtrue;
		if(getClassName(id.toString()+t)=3D=3D"active") { =
setClassName(id.toString()+t,getClassName(id.toString()+t)+"_activated");=
 }
		else { setClassName(id.toString()+t,"activated"); }
	}
	else
	{
		isActivated[id]=3Dfalse;
		if(getClassName(id.toString()+t)!=3D"active")
		{
			if(getClassName(id.toString()+t).split("_").length>1) { =
setClassName(id.toString()+t,"active"); }
			else { setClassName(id.toString()+t,""); }
		}
	}
}
var isActivated =3D { menu1:false, menu2:false, menu3:false };
var isOpening =3D { menu1:false, menu2:false, menu3:false };

function GenObj() {}
GenObj.prototype.setProp =3D function(prop,value) { this[prop] =3D =
value; }
GenObj.prototype.getProp =3D function(prop) { return this[prop]; }

/* Country Object */
function =
Country(display,country_code,supported_languages,header_3c,more_3c,region=
_code)
{
	this.oProps =3D new GenObj();
	this.setProp("display",display);
	this.setProp("country_code",country_code);
	this.setProp("supported_languages",supported_languages);
	this.setProp("header_3c",header_3c);
	this.setProp("more_3c",more_3c);
	this.setProp("region_code",region_code);
}
Country.prototype.setProp =3D function(prop,value) { =
this.oProps.setProp(prop,value); }
Country.prototype.getProp =3D function(prop) { var rtn =3D =
this.oProps.getProp(prop); if(rtn=3D=3Dundefined) {} return rtn; }
Country.prototype.toString =3D function() { return =
this.oProps.getProp("display"); }
/* Language Object */
function Language(display,language_code,default_country)
{
	this.oProps =3D new GenObj();
	this.setProp("display",display);
	this.setProp("language_code",language_code);
	this.setProp("default_country",default_country);
}
Language.prototype.setProp =3D function(prop,value) { =
this.oProps.setProp(prop,value); }
Language.prototype.getProp =3D function(prop) { var rtn =3D =
this.oProps.getProp(prop); if(rtn=3D=3Dundefined) {} return rtn; }
Language.prototype.toString =3D function() { return =
this.oProps.getProp("display"); }

function strCompare(a,b) { if(a.toLowerCase()=3D=3Db.toLowerCase()) =
{return true; } else { return false; }}
function isEnglishURL(str)
{
	var re =3D new =
RegExp(/www\d*|delta|draft\d*|si\d*|pl\d*|qa\d*|ddwa\d*|dswa\d*|dtwa\d*|d=
pwa\d*|\d*|.*as\d*|localhost/);
	if (str.match(re)[0]!=3D"") { return true; }
	return false;
}

function getCountry(code)
{
	code =3D code.toLowerCase();
	for(var i=3D0;i<CountryOptions.length;i++) { =
if(CountryOptions[i].getProp("country_code")=3D=3Dcode) { return =
CountryOptions[i].getProp("display"); } }
}
function getLanguage(code)
{
	var rtnString;
	for(var i=3D0;i<LanguageOptions.length;i++) { =
if(LanguageOptions[i].getProp("language_code")=3D=3Dcode) { return =
LanguageOptions[i].getProp("display"); } }
}
function getCountryLanguages(code)
{
	for(var i=3D0;i<CountryOptions.length;i++) { =
if(CountryOptions[i].getProp("country_code")=3D=3Dcode) { return =
CountryOptions[i].getProp("supported_languages"); } }
}
function getProxy() {
	var rtn =3D window.location.href.split(";");
	if(rtn.length >1) { rtn =3D rtn[0] + ";" }
	else { rtn =3D rtn[0]; }
	return rtn;
}

/* function for creating country select */
function writeAvailableCountries()
{
	var rtnString =3D '<select id=3D"loc" name=3D"loc" =
onChange=3D"writeAvailableLanguages(this.value);" =
style=3D"width:100%;">';
	rtnString +=3D '<option value=3D"none" selected=3D"true">Select =
One</option>';
	for(var i=3D0;i<CountryOptions.length;i++)
	{
		rtnString +=3D '<option value=3D"'+ =
CountryOptions[i].getProp("country_code");
		rtnString +=3D'">' + CountryOptions[i].getProp("display")+'</option>';
	}
	rtnString +=3D '</select>';
	return rtnString;
}
/* function for creating language select */
function writeAvailableLanguages(code)
{
	var rtnString;
	if((code!=3D"none")&&(code!=3D""))
	{
		var supported =3D getCountryLanguages(code);
		rtnString =3D '<select id=3D"lang" name=3D"lang" =
style=3D"width:100%;">';
		rtnString +=3D '<option value=3D"none">Select One</option>';
		for(var i=3D0;i<supported.length;i++)
		{
			rtnString +=3D '<option value=3D"'+ supported[i];
			if(supported.length=3D=3D1) { rtnString +=3D '" selected=3D"selected' =
}
			rtnString +=3D'">' + getLanguage(supported[i])+'</option>';
		}
		document.getElementById("lang_select").innerHTML =3D rtnString;
	}
	else
	{
		rtnString =3D '<select id=3D"lang" name=3D"lang" style=3D"width:100%;" =
disabled>';
		rtnString +=3D '<option value=3D"none" selected=3D"selected">Select =
One</option>';
	}
	rtnString +=3D '</select>';
	return rtnString;
}

function refreshPage(oForm,lang,loc)
{
	var curURL =3D window.location.toString();
	var name =3D curURL.match("//[^.]*").toString().split("//")[1];
	var locatn;
	if(isEnglishURL(name)) {=20
	curURL =3D curURL.replace(name,"www");
	name=3D"www";=20
	}
	if( ((lang=3D=3D"en")&&(name=3D=3D"www"))||(lang=3D=3Dname) )
	{
		if(curURL.indexOf("#")!=3D-1) { =
window.location.href=3DcurURL.replace(/#/,""); }
		else { window.location.href=3DcurURL+"#"; }
	}
	else
	{
		if(lang=3D=3D"en")
		{
			if(curURL.indexOf("https")!=3D-1) { locatn =3D curURL.match("[^:]*") =
+ curURL.split(";")[1].replace(/https/,""); }
			else { locatn =3D curURL.match("[^:]*") + =
curURL.split(";")[1].replace(/http/,""); }
		}
		else
		{
			if(isEnglishURL(name)) { locatn =3D curURL.match("[^:]*") + =
"://"+lang+".delta.com/delta/en"+lang+"/?24;"+curURL; }
			else { locatn =3D curURL.match("[^:]*") + =
"://"+lang+".delta.com/delta/en"+lang+"/?24;"+curURL.split(";")[1]; }
		}
		window.location =3D locatn;
	}
}
/* form handler */
function submitPreferences(oForm)
{
	var lang=3D document.getElementById(oForm).lang.value;
	var loc =3D (document.getElementById(oForm).loc.value!=3D"none") ? =
document.getElementById(oForm).loc.value : "us";
	var oForm =3D document.getElementById(oForm);
	if(lang=3D=3D"none")
	{
		var curLang =3D =
window.location.toString().match("//[^.]*").toString().split("//")[1];
		lang =3D (isEnglishURL(curLang)) ? "en" : curLang;
	}
	var pref =3D lang + "-" + loc;
	setPref(pref);
	refreshPage(oForm,lang,loc);
}
function getPrefs()
{
	var pref=3DgetCookie("pref");
	if(pref=3D=3Dnull||pref=3D=3D"null") { pref =3D =
getDefault(window.location.toString().match("//[^.]*").toString().split("=
//")[1]); }
	if(arguments.length=3D=3D1) { return pref.split("-")[1]; }
	else if(arguments.length=3D=3D2)
	{
		var rtnString =3D "lang=3D" + pref.split("-")[0] + ";";
		rtnString +=3D "loc=3D" + pref.split("-")[1] + ";";
		return rtnString;
	}
	else { return pref; }
}
function getLang() { return getPrefs().split("-")[0]; }
function getLoc() { return getPrefs().split("-")[1]; }

// language and location cookie stuff
function createCookie(name,value,days)
{
	if (days)
	{
		var date =3D new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires =3D "; expires=3D"+date.toGMTString();
	}
	else var expires =3D "";
	document.cookie =3D name+"=3D"+value+expires+"; path=3D/" + "; =
domain=3Ddelta.com";
}
function getCookie(name)
{
	//alert(document.cookie);
	var nameEQ =3D name + "=3D";
	var cookieArray =3D document.cookie.split(';');
	for(var i=3D0;i < cookieArray.length;i++)
	{
		var c =3D cookieArray[i];
		while (c.charAt(0)=3D=3D' ') c =3D c.substring(1,c.length);
		if (c.indexOf(nameEQ) =3D=3D 0) return =
c.substring(nameEQ.length,c.length);
	}
	return null;
}
function setPref(value) { createCookie('pref',value,30); }
function checkPrefTab() { if(prefTabActive) { togglePrefTab("hide"); =
prefTabActive=3Dfalse; } }
function togglePrefTab(state)
{
	if(state=3D=3D"hide") { document.getElementById("lang_loc").className =
=3D 'pref_inactive'; }
	else if(state=3D=3D"show") { =
document.getElementById("lang_loc").className =3D =
'pref_active';prefTabActive=3Dtrue; }
	return true;
}
function getDefault(lang)
{
	var rtnString =3D "en-us";
	if(isEnglishURL(lang)) { return rtnString; }
	for(var i=3D0;i<LanguageOptions.length;i++)
	{
		if(LanguageOptions[i].getProp("language_code")=3D=3Dlang)
		{
			rtnString =3D LanguageOptions[i].getProp("language_code") + "-" + =
LanguageOptions[i].getProp("default_country");
			return rtnString;
		}
	}
	return rtnString;
}
function getLangLoc()
{
	var prefString =3D getPrefs();
	var rtnString =3D '<span style=3D"display:block;">';
	//var locFlag_open =3D '<img =
src=3D"//images.delta.com/delta/icons/flags/';
	//var locFlag_close =3D '.gif" style=3D"border:#000 1px =
solid;padding:2px;" />';
	if(prefString=3D=3D"null"||prefString=3D=3Dnull)
	{
		=
prefString=3DgetDefault(window.location.toString().match("//[^.]*").toStr=
ing().split("//")[1]);
		rtnString +=3D getCountry(prefString.split("-")[1]);
		rtnString +=3D "<br />" + getLanguage(prefString.split("-")[0]);
		//rtnString +=3D locFlag_open + prefString.split("-")[1] + =
locFlag_close;
	}
	else
	{
		rtnString +=3D getCountry(prefString.split("|")[0].split("-")[1]);
		rtnString +=3D "<br />" + =
getLanguage(prefString.split("|")[0].split("-")[0]);
		//rtnString +=3D locFlag_open + prefString.split("|")[0].split("-")[1] =
+ locFlag_close;
	}
	rtnString +=3D "</span>";
	return rtnString;
}
function autoRedirect()
{
	var prefLang=3DgetPrefs().split("|")[0].split("-")[0];
	var browserLang =3D =
window.location.toString().match("//[^.]*").toString().split("//")[1];
	var curLang;
	if(prefLang!=3Dnull&&prefLang!=3D"null")
	{
		for(var i=3D0;i<LanguageOptions.length;i++)
		{
			curLang =3D LanguageOptions[i].getProp("language_code");
			if((prefLang=3D=3DcurLang)&&(browserLang!=3DcurLang))
			{
				if( (strCompare(curLang,"en")) ) { break; }
				else {window.location.href =3D =
"http://"+curLang+".delta.com/delta/en"+curLang+"/?24;http://www.delta.co=
m/"; }
			}
		}
	}
}

var prefTabActive =3D false;
var CountryOptions =3D new Array(
	/****** Country, code, [ary lang codes], 3c region code ******/
	new Country("Antigua &amp; Barbuda","ag",["en"],"CAR"),  =09
	new Country("Argentina","ar",["en","es"],"SAM"),
	/* new Country("Aruba","aw",["en"],"CAR"), 	 */
	new Country("Austria","at",["en","de"],"EN"),=20
	new Country("Australia","au",["en"],"AP"),=20
	new Country("Bahamas","bs",["en"],"CAR"),=20
	new Country("Barbados","bb",["en"],"CAR"),=20
	new Country("Belgium","be",["en","fr"],"EN"),=20
	new Country("Belize","bz",["en","es"],"CAM"),=20
	new Country("Bermuda","bm",["en"],"CAR"),=20
	new Country("Brazil","br",["en","pt"],"BR"), =09
	new Country("Canada","ca",["en","fr"],"CA"),
	new Country("Cayman Islands","ky",["en"],"CAR"),=20
	new Country("Chile","cl",["en","es"],"SAM"),
	new Country("China","cn",["en","zh"],"AP"),=20
	new Country("Colombia","co",["en","es"],"SAM"),
	new Country("Costa Rica","cr",["en","es"],"CAM"),
	new Country("Czech Republic","cz",["en"],"EE"),=20
	new Country("Denmark","dk",["en"],"EN"),=20
	new Country("Dominican Republic","do",["en","es"],"CAR"),
	new Country("Ecuador","ec",["en","es"],"SAM"),
	new Country("El Salvador","sv",["en","es"],"CAM"),
	new Country("Finland","fi",["en"],"EN"),=20
	new Country("France","fr",["en","fr"],"FR"),=20
	new Country("Germany","de",["en","de"],"DE"),=20
	new Country("Greece","gr",["en"],"EZ"),=20
	new Country("Guadeloupe","gp",["en","fr"],"CAR"),=20
	new Country("Guatemala","gt",["en","es"],"CAM"),
	new Country("Honduras","hn",["en","es"],"CAM"),
	new Country("Hong Kong","hk",["en"],"AP"),=20
	new Country("Hungary","hu",["en"],"EE"),=20
	new Country("India","in",["en"],"IN"),
	new Country("Ireland","ie",["en"],"IE"),
	new Country("Israel","il",["en"],"EE"),=20
	new Country("Italy","it",["en","it"],"IT"),=20
	/* new Country("Jamaica","jm",["en"],"CAR"), */
	new Country("Japan","jp",["en", "ja"],"AP"),=20
	new Country("South Korea","kr",["en"],"AP"),=20
	new Country("Martinique","mq",["en","fr"],"CAR"),=20
	new Country("Mexico","mx",["en","es"],"MX"),
	new Country("Netherlands","nl",["en"],"EN"),=20
	new Country("New Zealand","nz",["en"],"AP"),=20
	new Country("Nicaragua","ni",["en","es"],"CAM"),
	new Country("Norway","no",["en"],"EN"),=20
	new Country("Panama","pa",["en","es"],"CAM"),
	new Country("Peru","pe",["en","es"],"SAM"),
	new Country("Puerto Rico","pr",["en","es"],"US"),
	new Country("Romania","ro",["en"],"EE"),=20
	new Country("Russia","ru",["en","ru"],"EE"),=20
	new Country("St. Croix","vi",["en"],"CAR"),=20
	new Country("St. Lucia","lc",["en"],"CAR"),=20
	new Country("St. Maarten","an",["en"],"CAR"),=20
	new Country("St. Thomas","vi",["en"],"CAR"),=20
	new Country("South Africa","za",["en"],"EZ"),=20
	new Country("Spain","es",["en","es"],"ES"),
	new Country("Sweden","se",["en"],"EN"),=20
	new Country("Switzerland","ch",["en","fr","de","it"],"EN"),=20
	new Country("Trinidad &amp Tobago","tt",["en"],"CAR"),=20
	new Country("Turkey","tr",["en"],"EZ"),=20
	new Country("Turks &amp; Caicos","tc",["en"],"CAR"),=20
	new Country("Ukraine","ua",["en","ru"],"EE"),=20
	/* new Country("United Arab Emirates","ae",["en"],"EZ"), */
	new Country("United Kingdom","gb",["en"],"GB"),
	new Country("United States","us",["en","es"],"US"),
	new Country("Uruguay","uy",["en","es"],"SAM"),=20
	new Country("Venezuela","ve",["en","es"],"SAM")
);

var LanguageOptions =3D new Array(
	/* Language, code, default_country */
	new Language("English","en","us"),
	new Language("Chinese","zh","cn"),
	new Language("French","fr","fr"),
	new Language("German","de","de"),
	new Language("Italian","it","it"),
	new Language("Portuguese","pt","br"),
	new Language("Russian","ru","ru"),
	new Language("Spanish","es","us"),
	new Language("Japanese","ja","jp")
);
CountryOptions.sort();
autoRedirect();



var calForm =3D "";
var calSDay =3D "";
var calSMonth =3D "";
childwin =3D null;

var cal_isNetscape =3D navigator.appName.indexOf("Netscape") !=3D -1;

var cal_today =3D new Date();
var cal_currentDate =3D cal_today.getDate();
var cal_currentMonth =3D cal_today.getMonth();
var cal_currentYear =3D cal_today.getYear();

if (cal_isNetscape) cal_currentYear +=3D 1900;

function openCalendar(tbForm, sDay, sMonth, e) {
   self.calForm =3D tbForm;
   self.calSDay =3D sDay;
   self.calSMonth =3D sMonth;

   w =3D screen.width-350
   h =3D screen.height-220
   x =3D e.screenX
   y =3D e.screenY
      if(x > w){
         x =3D x-350
         }
      if(y > h){
         y =3D y-220
         }

   var calendarUrl =3D "/components/popups/calendar.jsp";

   var monthSel =3D document.getElementsByName(calSMonth);

   if (monthSel !=3D null) {
      var selectedMonthIndex =3D monthSel[0].selectedIndex;
      var month =3D selectedMonthIndex;
      var year =3D  cal_currentYear;

      if (month < cal_currentMonth ) {
         year =3D year  + 1;
      }
      calendarUrl =3D calendarUrl + "?y=3D" + year + "&m=3D" + month;

   }
   =
childwin=3Dwindow.open(calendarUrl,'Calendar','width=3D350,height=3D220,t=
op=3D'+y+',left=3D'+x);
}

function setDate(day, month) {
   var daySel =3D document.getElementsByName(calSDay);
   daySel[0].options[day - 1].selected =3D true;
   var monthSel =3D document.getElementsByName(calSMonth);
   monthSel[0].options[month].selected =3D true;
}

function setRetMonth(tbForm, deptMonth, retMonth){
   var box1 =3D document.getElementsByName(deptMonth);
   var box2 =3D document.getElementsByName(retMonth);
   box2[0].selectedIndex =3D box1[0].selectedIndex;
}

//when dept date chnages , change destination date to +7 days
function setRetDate(deptMonth, retMonth, deptDay, retDay){
   var dayBox1 =3D document.getElementsByName(deptDay);
   var dayBox2 =3D document.getElementsByName(retDay);
   var monthBox1 =3D document.getElementsByName(deptMonth);
   var monthBox2 =3D document.getElementsByName(retMonth);
   var curDay =3D dayBox1[0].selectedIndex + 1; //since its 0 based add =
1
   var curMonth =3D monthBox1[0].selectedIndex; //its 0 based, so is the =
drop box
=20
   var cal =3D new Date();
   cal.setMonth(curMonth);
   cal.setDate(curDay + 7);

   dayBox2[0].selectedIndex =3D cal.getDate() - 1;
   monthBox2[0].selectedIndex =3D cal.getMonth();
}

// this will auto close the calendar window if no date is selected

function closeMe(){
   if (childwin !=3D null){
   childwin.close()
   childwin =3D null
   }
}



var airportListForm =3D "";
var airportListBox =3D "";

function openCityCodes(tbForm, tbBox, e) {
   self.airportListForm =3D tbForm;
   self.airportListBox =3D tbBox;

   w =3D screen.width-400
   h =3D screen.height-215
   x =3D e.screenX
   y =3D e.screenY
      if(x > w){
         x =3D x-400
         }
      if(y > h){
         y =3D y-215
         }

	=
childwin=3Dwindow.open('/booking/cityCodes.do','CityCodes','width=3D460,h=
eight=3D319,top=3D'+y+',left=3D'+x);
}

function setAirportValue(airportCode) {
   var box =3D document.getElementsByName(airportListBox);
   for (var i=3D0; i<box.length; i++) {
      box[i].value =3D airportCode;
   }
}

// this will auto close the calendar if no date is selected and focus is =
lost

function closeMe(){
   if (childwin !=3D null){
   childwin.close()
   childwin =3D null
   }
}

/* begin /delta/shared_content/components/js/myitineraryHomepage.js */
function validateNumberform() {
	var f =3D document.forms['itinForm'];
	var validationError =3D false;
	var invalidfirstname =3D false;
	var invalidlastname =3D false;
	var invalidnumber =3D false;

	var errorMsg =3D "";
	setInnerHTML("itinerarySearchAlerts_Errors",errorMsg);
	var firstnamelength =3D f.firstName.value.length;
	var firstnamematch =3D f.firstName.value.match(/[a-zA-Z\s]+/);
	var lastnamelength =3D f.lastName.value.length;
	var lastnamematch =3D f.lastName.value.match(/[a-zA-Z\s-]+/);
	var numberlengthmatch =3D f.recLocId.value.match(/[^\s]+/);

	if (numberlengthmatch =3D=3D null) {
		numberlength =3D 0;
		validationError =3D true;
	} else {
		numberlength =3D numberlengthmatch[0].length;
	}
	numbermatch1 =3D f.recLocId.value.match(/[\d]+/);
	numbermatch2 =3D f.recLocId.value.match(/[\w^_]+/);=20

	if(firstnamematch =3D=3D null || firstnamematch[0].length !=3D =
firstnamelength) {
		validationError =3D true;
		invalidfirstname =3D true;
	}
	if(lastnamematch =3D=3D null || lastnamematch[0].length !=3D =
lastnamelength) {
		validationError =3D true;
		invalidlastname =3D true;
	}
	if(numberlength !=3D 6) {
		validationError =3D true;
		invalidnumber =3D true;
	}
	if(numbermatch2 =3D=3D null || numbermatch2[0].length !=3D =
numberlength) {
		validationError =3D true;
		invalidnumber =3D true;
	}
	if(invalidfirstname) {
		setClassName('firstnamelabel','error');
		setClassName('firstName','error');
		errorMsg +=3D '<div class=3D"error">Please provide a first =
name.<\/div>';
	} else {
		setClassName('firstnamelabel','');
		setClassName('firstName','');
	}
	if(invalidlastname) {
		setClassName('lastnamelabel','error');
		setClassName('lastName','error');
		errorMsg +=3D '<div class=3D"error">Please provide a last =
name.<\/div>';
	} else {
		setClassName('lastnamelabel','');
		setClassName('lastName','');
	}
	if(invalidnumber) {
		setClassName('recLocIdlabel','error');
		setClassName('recLocId','error');
		errorMsg +=3D '<div class=3D"error">Please provide a confirmation =
number.<\/div>';
	} else {
		setClassName('recLocIdlabel','');
		setClassName('recLocId','');
	}
	setInnerHTML("itinerarySearchAlerts_Errors",errorMsg);
	if(validationError) { return false; }
	else { return true; }
}
/* end /delta/shared_content/components/js/myitineraryHomepage.js */

 function submitForm() {
	 var Index =3D document.getElementById('when').selectedIndex;
	switch(Index){
		case 0:
			document.flifoForm.flight_date.value =3D "Yesterday";
			document.schedForm.flight_date.value =3D "Yesterday";
			break;
		case 1:
			document.flifoForm.flight_date.value =3D "Today";
			document.schedForm.flight_date.value =3D "Today";
			 break;
		case 2:
			document.flifoForm.flight_date.value =3D "Tomorrow";
			document.schedForm.flight_date.value =3D "Tomorrow";
			break;
		default:
			break;
	}
	if (get('byFlightDate').checked) {
		document.schedForm.DptText.value =3D get('leavingfrom').value;
		document.schedForm.ArrText.value =3D get('goingto').value
		document.schedForm.submit();
	} else {
		document.flifoForm.flight_number.value =3D =
document.inputForm.flight_number.value;
		document.flifoForm.submit();
	}
}
function clearFlightNumber() {
	if(get('leavingfrom').value !=3D=3D "" || get('goingto').value !=3D=3D =
"") {
		get('flightnumber').value =3D "";
		document.flifoForm.flight_number.value =3D "";
		get('byFlightDate').checked =3D true;
	}
}
function clearOrigDest() {
	if(get('flightnumber').value !=3D=3D "") {
		get('leavingfrom').value =3D "";
		get('goingto').value =3D "";
		document.schedForm.DptText.value =3D "";
		document.schedForm.ArrText.value =3D "";
		get('byFlightNumber').checked =3D true;
	}
}


------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/shared/components/js/lib/TrackingObj.jsp?ts=2009815&version=44







// 'omniture 'english variable':'Omniture Variable'
var omtrMapping =3D {
eventMapping:{cartView:'scView',cartAdd:'scAdd',checkout:'scCheckout',boo=
kings:'purchase',prodView:'prodView',flightSearch:'event1',hotelSearch:'e=
vent2',carRentalSearch:'event3',viewSeats:'event4',changeSeats:'event5',s=
kyMilesEnrollStart:'event6',skyMilesEnrollComplete:'event7',skyMilesLogin=
Page:'event8',emailEnrollments:'event9',skyMilesPartnerClickThru:'event10=
',skyMilesToolsUsed:'event11',skyMilesPinRetrieval:'event12',emailUnsubsc=
ribe:'event13',OCIStart:'event14',OCIComplete:'event15',startCancel:'even=
t16',completeCancel:'event17',reissue:'event18',holdTicket:'event19', =
holdTicketPurch:'event20',redepositUnused:'event21',errorCodes:'event22',=
fareDiff:'event23',docDownload:'event24',potentialRevenue:'event25',poten=
tialTickets:'event26',skyMilesUsed:'event31',taxesAndFees:'event37',skyBo=
nusSignUp:'event38',skyBonusRedeem:'event39',skyBonusAddTicket:'event40',=
skyBonusLogin:'event41',crcConfirmation:'event45',calendarSearch:'event46=
',onlineBagCheckin:'event47',upsell:'event56'},
	=
pageName:'pageName',siteSection:'channel',server:'server',pageType:'pageT=
ype',state:'state',zip:'zip',hierarchy:'hier1',currencyCode:'currencyCode=
',
	=
confirmNum:'purchaseID',countryLanguage:'prop1,eVar2',flightSearchType:'p=
rop2,eVar3',priceSchedule:'prop3',searchOriginCity:'prop4,eVar4',
	=
searchDestinationCity:'prop5,eVar5',cityPairs:'prop6,eVar6',multiCityflig=
hts:'prop7',searchCabinPreference:'prop8,eVar7',
	=
searchFareClass:'prop9,eVar8',searchType:'prop10,eVar9',searchOutboundDat=
e:'prop11,eVar10',searchReturnDate:'prop12,eVar11',
	=
searchOutboundTime:'prop13',searchReturnTime:'prop14',searchNumPassengers=
:'prop15,eVar12',searchTripDuration:'prop16,eVar13',
	=
searchDaysToBooking:'prop17,eVar14',searchToolsUsed:'prop18,eVar15',numOu=
tboundFlights:'prop19',numReturnflights:'prop20',
	=
sortOption:'prop21,eVar17',searchCalendarUsage:'prop22,eVar16',timeDiffer=
enceFlightsAndPurchase:'prop23',timeSpentCarHotelAndPurchase:'prop24',
	=
emailPreferencesChecked:'prop25',emailPreferencesUnsubscribe:'prop26',int=
ernalSearch:'prop27',internalSearchResults:'prop28',eCreditsUsed:'prop29'=
,
	=
formAbandonment:'prop30',emailUsNatureOfComment:'prop31',emailUsTimeOfTra=
vel:'prop32',emailUsCommentPertainingTo:'prop33',OCIOptionsUsed:'prop34,e=
Var29',
	=
startOverButton:'prop35',startOverButtonPages:'prop36',skyMilesToolsUsed:=
'prop37,eVar33',skyMilesLoginPage:'prop38',loyaltyId:'prop39',
	=
daysHoldToPurchase:'prop40',skyBonusCountryLanguage:'prop41',skyBonusRewa=
rdsUsed:'prop42',skyBonusAccountNumer:'prop43',upsellCheckbox:'prop44',ti=
cketType:'eVar18',
	=
formPayment:'eVar19',credCardCity:'eVar20',credCardCtry:'eVar21',outbound=
FlightDate:'eVar22',tripDuration:'eVar23',bookingWindow:'eVar24',
	=
skyMilesMemType:'eVar25',EDPCodes:'eVar26',OASCCodes:'eVar27',errorCodes:=
'eVar28',skyMilesType:'eVar30',skyMilesBucket:'eVar31',
	=
skyMilesPartnerClickThru:'eVar32',skyMilesPinRetrieval:'eVar34',emailUnsu=
bscribe:'eVar35',internalCampaigns:'eVar39',
	skyBonusRewardsRedeem:'eVar43',promoName:'eVar44', tripEstimate: =
'eVar48'
};

function TrackingObject() {
	this.oProps =3D new GenObj();
	this.mapping =3D null;
	this.products =3D [];
	this.events =3D [];
	this.fileSep =3D ',';
	this.isResend =3D false;
	this.smLoginComponentWPErrorId =3D "alerts_errors_dashboard";
}

TrackingObject.prototype.setCurrencyCode =3D function(currency) {
	if(currency !=3D=3D 'USD') {
		var convertCodes =3D {RON:'ROL', IDR:'JOD', TDY:'TRL'};
		this.setProp({prop:'currencyCode', =
value:(!exists(convertCodes[currency]) ? currency : =
convertCodes[currency])} );
	}
};

TrackingObject.prototype.returnFlightString =3D function(Definition) {
	var originFlights =3D Definition.originCity.split(','), =
destinationFlights =3D Definition.destinationCity.split(',');
	if(Definition.flightType.toLowerCase() =3D=3D=3D 'multicity') {
		var flights =3D [];
		for(var i=3D0, j=3DoriginFlights.length; i<j; i++) {
			flights.push(originFlights[i] + '-' + destinationFlights[i]);	=09
		}
		return flights.join('-');
	}
	return originFlights[0] + '-' + destinationFlights[0];
};

TrackingObject.prototype.doProductView =3D function(Definition) {
	this.logEvent('prodView');
	switch(Definition.prodType.toLowerCase()) {
		case 'hotel':
			this.products.push('HO-' + Definition.brand);
			break;
	}
}
TrackingObject.prototype.doScAddEvent =3D function(Definition) {

	this.logEvent('cartAdd', 'cartView');
	switch(Definition.prodType.toLowerCase()) {
		case 'flight':
			this.products.push(';' + Definition.ticketType + '-' + =
Definition.flightType + '-' + this.returnFlightString(Definition));
			break;
		case 'carrental':
			this.products.push('CA-' + Definition.destinationCity.split(',')[0] + =
'-' + Definition.brand + '-' + Definition.type);
			break;
		case 'hotel':
			this.products.push('HO-' + Definition.destinationCity.split(',')[0] + =
'-' + Definition.brand);
			break;
		case 'insurance':
			this.products.push('TI-' + Definition.destinationCity.split(',')[0] + =
';' + Definition.passengers + ';' + Definition.insurance.total);
			break;
		case 'dsp':
			this.products.push('AM-' + Definition.originCity.split(',')[0] + '-' =
+ Definition.destinationCity.split(',')[0]);
			break;
	}
};

TrackingObject.prototype.doScCheckout =3D function(Definition) {

	this.logEvent('checkout');
	this.products.push(';' + Definition.ticketType + '-' + =
Definition.flightType + '-' + this.returnFlightString(Definition));
	if(exists(Definition.hotel)) {
		this.products.push('HO-' + Definition.destinationCity + '-' + =
Definition.hotel.brand);
	}
	if(exists(Definition.carRental)) {
		this.products.push('CA-' + Definition.destinationCity + '-' + =
Definition.carRental.brand + '-' + Definition.carRental.type);
	}
	if(exists(Definition.insurance)) {
		this.products.push('TI-' + Definition.destinationCity + ';' + =
Definition.passengers + ';' + Definition.insurance.total);
	}
};

TrackingObject.prototype.doAwardsPurchase =3D function(Definition) {

	this.logEvent('bookings', 'taxesAndFees', 'skyMilesUsed');
	this.products.push(';awards-' + Definition.flightType + '-' + =
this.returnFlightString(Definition) + ';' + Definition.numberTix + ';' + =
Definition.totalCost + ';event37=3D' + Definition.taxesAndFees + =
'|event31=3D' + Definition.skyMilesUsed);
	if(exists(Definition.hotel)) {
		this.products.push('HO-' + Definition.destinationCity + '-' + =
Definition.hotel.brand + ';' + Definition.hotel.numberNights + ';' + =
Definition.hotel.cost);
	}
	if(exists(Definition.carRental)) {
		this.products.push('CA-' + Definition.destinationCity + '-' + =
Definition.carRental.brand + '-' + Definition.carRental.type + ';' + =
Definition.carRental.numberDays + ';' + Definition.carRental.cost);
	}
	if(exists(Definition.insurance)) {
		this.products.push('TI-' + Definition.destinationCity + ';' + =
Definition.passengers + ';' + Definition.insurance.total);
	}
};

TrackingObject.prototype.doHoldTicketPurchase =3D function(Definition) {
	this.logEvent('bookings', 'holdTicketPurch');
	this.products.push(';' + Definition.ticketType + '-' + =
Definition.flightType + '-' + this.returnFlightString(Definition) + ';' =
+ Definition.numberTix + ';' + Definition.totalCost + ';event37=3D' + =
Definition.taxesAndFees + '|event31=3D' + Definition.skyMilesUsed);
};

TrackingObject.prototype.doHoldTicket =3D function(Definition) {
	this.logEvent('holdTicket');
	this.products.push(';awards-' + Definition.flightType + '-' + =
this.returnFlightString(Definition));
};

TrackingObject.prototype.checkEmailPrefs =3D function(checkedFieldName, =
unCheckedFieldName) {
	var uri =3D this.getProp('uri');
	if(uri.toLowerCase() =3D=3D=3D '/customerprofile/servlet/contactme' && =
document.contact_me) {
		var checkBoxes =3D document.contact_me.RsnForCtacCd;
		var checkedBoxes =3D [];
		var unCheckedBoxes =3D [];
		for(var i=3D0, j=3DcheckBoxes.length; i<j; i++) {
			if(checkBoxes[i].checked) {
				checkedBoxes.push(this.findEmailLongName(checkBoxes[i]));
			} else {
				unCheckedBoxes.push(this.findEmailLongName(checkBoxes[i]));
			}
		}
		var CheckedInput =3D =
this.createElement({elementType:'input',type:'hidden',name:checkedFieldNa=
me,id:checkedFieldName,value:checkedBoxes.join(this.fileSep)});
		document.contact_me.appendChild(CheckedInput);
		var UnCheckedInput =3D =
this.createElement({elementType:'input',type:'hidden',name:unCheckedField=
Name,id:unCheckedFieldName,value:unCheckedBoxes.join(this.fileSep)});
		document.contact_me.appendChild(UnCheckedInput);
	}
};

TrackingObject.prototype.findEmailLongName =3D function(Node) {
	while(Node.nextSibling) {
		var NextSibling =3D Node.nextSibling;
		if(NextSibling.getElementsByTagName && =
exists(NextSibling.getElementsByTagName('a'))) {
			var returnText =3D =
stripHTML(NextSibling.getElementsByTagName('a')[0].innerHTML);
			return returnText;
		} else {
			return this.findEmailLongName(NextSibling);
		}
	}
};
TrackingObject.prototype.checkSkyMilesLogin =3D function() {
	if ( (this.getProp('pageName').toLowerCase() =3D=3D=3D "home page" && =
window.location.protocol.toLowerCase() =3D=3D=3D 'https:' && =
document.referrer.indexOf('/smlogin/skymiles_login.action') !=3D=3D -1) =
|| this.findQSParamValue('source').toLowerCase() =3D=3D=3D 'login' ||  =
this.findQSParamValue('status').toLowerCase() =3D=3D=3D 'open' ) {
		this.setProp({prop:'skyMilesLoginPage', =
value:this.getProp('pageName')});
		this.setSkyMilesBucket();
		this.setskyMilesType();
	}
};

TrackingObject.prototype.createElement =3D function(Definition) {
	var element =3D document.createElement(Definition.elementType);
	element.setAttribute('name', Definition.name);
	element.setAttribute('id', Definition.id);
	if(Definition.type) { element.setAttribute('type', Definition.type); }
	if(Definition.value) { element.setAttribute('value', Definition.value); =
}
	return element;
};
TrackingObject.prototype.findPageName =3D function() {

	var uri =3D this.getProp('uri').toLowerCase();
	switch(true) {
		case uri =3D=3D=3D '/':
		case uri =3D=3D=3D '':
		case uri =3D=3D=3D '/index.jsp':
		case uri =3D=3D=3D '/home/index.jsp':
			return 'Home Page';
			break;
		case uri.substr(0, 8) =3D=3D '/awards/':
			var val =3D this.findQSParamValue('EventId');
			if(exists(val)) {
				switch(val.toLowerCase()) {
					case 'enter_application': return 'Awards: Home';
					case 'process_rtr' : return 'Awards: Wait Page';
					case 'process_calendar': return 'Awards: Wait Page';
					case 'process_start_over': return 'Awards: Start Over';
					case 'document_search': return 'Awards Search for eCredits';
					default: return uri;
				}
			} else {
				return uri;
			}
		case uri.substr(0, 17) =3D=3D=3D '/customerprofile/':
			switch(true) {
				case uri.indexOf('aboutme') !=3D=3D -1: return 'Customer Profile: =
About Me';
				case uri.indexOf('contactme') !=3D=3D -1: return 'Customer Profile: =
Contact Me';
				case uri.indexOf('creditcards') !=3D=3D -1: return 'Customer =
Profile: Credit Cards';
				case uri.indexOf('flights') !=3D=3D -1: return 'Customer Profile: =
Flights';
				default: return uri;
			}
			break;
		case uri =3D=3D=3D '/help/site_map/': return 'Site Map';
		case uri =3D=3D=3D '/accounthistory/servlet/accounthist': return =
'Account History';
		case uri =3D=3D=3D '/monthlystmt/servlet/monthlystmt': return 'Monthly =
Statement';
		case uri =3D=3D=3D '/emailus/servlet/emailus': return 'Email Us';
		case uri =3D=3D=3D '/smlogin/skymiles_logout.action': return 'Sky =
Miles Logout';
		case uri =3D=3D=3D '/smlogin/skymiles_sessionexpired.action': return =
'Sky Miles Session Expired';
		case uri =3D=3D=3D '/cns/travel/flight_notification/index.jsp':
		case uri =3D=3D=3D '/cns/travel/flight_notification/': return =
'One-time Flight Notification';
		case uri =3D=3D=3D =
'/schedules/travel/reservations/flight_sched/results/index.jsp': return =
'Flight Schedules';
		case uri =3D=3D=3D '/smlogin/skymiles_login.action': return 'Skymiles =
=96 Login Failure';
		default: return uri;
	}
};

TrackingObject.prototype.findQSParamValue =3D function(param) {
	if(!exists(this.getProp('queryString'))) { return ''; }
	var QSQuery =3D new RegExp('[?&]' + param + '=3D([^&$]*)', 'i');
	return ( this.getProp('queryString').search(QSQuery) >=3D 0 ) ? =
RegExp.$1 : '';
};

TrackingObject.prototype.getByClassName =3D function(Definition){

	var ClassTest =3D new RegExp('(^|\s)' + =
Definition.className.replace(/\-/g, '\\-') + '(\s|$)', 'i');
	var tagName =3D '';
	var testElements;
	if( exists(Definition.tagName) ) {
		switch(typeof Definition.tagName) {
			case 'object':
				var testElements =3D [];
				var RootElement =3D ( exists(Definition.startElem) ) ? =
Definition.startElem : document;
				for(var i=3D0, j=3DDefinition.tagName.length; i<j; i++) {
					var childElements =3D =
RootElement.getElementsByTagName(Definition.tagName[i]);
					for(var k=3D0, l=3DchildElements.length; k<l; k++) {
						testElements.push(childElements[k]);
					}
					=
testElements.push(RootElement.getElementsByTagName(Definition.tagName[i])=
);
				}
				break;
			default:
				testElements =3D ( exists(Definition.startElem) ) ? =
Definition.startElem.getElementsByTagName(Definition.tagName) : =
document.getElementsByTagName(Definition.tagName);
				break;
		}
	} else {
		testElements =3D ( exists(Definition.startElem) ) ? =
Definition.startElem.getElementsByTagName('*') : =
document.getElementsByTagName('*');
	}
	var matchingElements =3D [];
	for(var i=3D0, j=3DtestElements.length; i<j; i++){
		if(ClassTest.test(testElements[i].className)) {
			if( exists(Definition.childTagName) ) {
				var childElements =3D =
testElements[i].getElementsByTagName(Definition.childTagName);
				for(var k=3D0, l=3DchildElements.length; k<l; k++) {
					matchingElements.push(childElements[k]);
				}
			} else {
				matchingElements.push(testElements[i]);
			}
		}
	}
	return matchingElements;
};

TrackingObject.prototype.getCityPairs =3D function() {

	var searchOriginCity =3D ( exists(this.getProp('searchOriginCity')) ) ? =
this.getProp('searchOriginCity') : '';
	var searchDestinationCity =3D ( =
exists(this.getProp('searchDestinationCity')) ) ? =
this.getProp('searchDestinationCity') : '';
	var originCities =3D searchOriginCity.split(',');
	var destinationCity =3D searchDestinationCity.split(',');
	if( originCities.length =3D=3D=3D destinationCity.length ) {
		var cityPairs =3D [];
		for(i=3D0, j=3DoriginCities.length; i<j; i++) {
			cityPairs.push(originCities[i] + '-' + destinationCity[i]);
		}
		if( cityPairs.length > 1 ) { this.setProp({prop:'multiCityflights', =
value:cityPairs.length}); }
		return cityPairs.join('-');
	} else {
		return searchOriginCity + '-' + searchDestinationCity;
	}
};

TrackingObject.prototype.getPageErrors =3D function() {
	var rows =3D this.getByClassName({className:'cpyError',tagName:['td', =
'span']});
	var errors =3D [];
	var errorsString =3D '';
	for(var i=3D0, j=3Drows.length; i<j; i++) {
		if(rows[i].style.display.toLowerCase() !=3D=3D 'none') {
			errors.push(rows[i].innerHTML.replace(/\n/g, ' '));
		}
	}

	rows =3D this.getByClassName({className:'error',tagName:'div'});
	for(var i=3D0, j=3Drows.length; i<j; i++) {
		var logError =3D (exists(rows[i].parentNode) && rows[i].parentNode.id =
=3D=3D=3D this.smLoginComponentWPErrorId) ? false : true;
		if(logError) {
			errors.push(rows[i].innerHTML.replace(/\n/g, ' '));
		}
	}
	if(errors.length > 0) {
		var errorString =3D trimString(stripHTML(errors.join('|'))).substr(0, =
100);
		this.setProp({prop:'errorCodes', value:errorString});
	}
	return errorsString;
};

TrackingObject.prototype.getProp =3D function(prop) { var rtn =3D =
this.oProps.getProp(prop); return rtn; };

TrackingObject.prototype.getSearchType =3D function() {
	switch(true) {
		case this.getProp('uri').substr(0, 8) =3D=3D '/awards/': return 'Award =
Ticket Search';
		default: return 'Simple Search';
	}
};

TrackingObject.prototype.init =3D function(mappingObject) {
	this.mapping =3D mappingObject;
	this.setURI();
	this.setQueryString();
	this.setChannel();
	this.setHierarchy();
	this.setServer();
	this.setLoyaltyId();
	this.setCountryLanguage();
	this.setEvents();
	this.setGeneralProps();
};
TrackingObject.prototype.doOCIBags =3D function(Definition) {
	this.logEvent('bookings', 'onlineBagCheckin');
	this.products.push(';Bags Check-in;' + Definition.numberBags + ';' + =
Definition.totalCost);
};


TrackingObject.prototype.logEvent =3D function(events) {
	for(var i=3D0, j=3Darguments.length; i<j; i++) {
		this.events.push(arguments[i]);
	}
};

TrackingObject.prototype.readCookie =3D function(name) {
	var oRegExp =3D new RegExp(name + '=3D([\\w]*)', 'i');
    var Match =3D oRegExp.exec(document.cookie);
    if (Match !=3D=3D null && Match.length > 1) { return =
unescape(Match[1]); }
	return '';
};

TrackingObject.prototype.setChannel =3D function(){
	var uri =3D this.getProp('uri').toLowerCase();
	switch(true) {
		case uri =3D=3D=3D '/awards/home.do':
			uri =3D '/awards/home/';
			break;
		case uri.substr(0, 17) =3D=3D=3D '/customerprofile/':
			switch(true) {
				case uri.indexOf('aboutme') !=3D=3D -1:
					uri =3D '/customerprofile/servlet/aboutme/';
					break;
				case uri.indexOf('contactme') !=3D=3D -1:
					uri =3D '/customerprofile/servlet/contactme/';
					break;
				case uri.indexOf('creditcards') !=3D=3D -1:
					uri =3D '/customerprofile/servlet/creditcards/';
					break;
				case uri.indexOf('flights') !=3D=3D -1:
					uri =3D '/customerprofile/servlet/flights/';
					break;		=09
				default:
					uri =3D uri.substring(0, (uri.lastIndexOf('/')) + 1);
					break;
			}
			break;
		default:
			uri =3D uri.substring(0, (uri.lastIndexOf('/')) + 1);
			break;
	}
	this.setProp({prop:'siteSection', value:uri});
};

TrackingObject.prototype.setCountryLanguage =3D function() {
	var countryLanguage =3D this.readCookie('pref');
	switch(true) {
		case countryLanguage.split('-').length =3D=3D=3D 2:
			countryLanguage =3D countryLanguage.split('-')[1] + ':' + =
countryLanguage.split('-')[0];
			break;
		default:
			countryLanguage =3D 'US:EN';
	}
	this.setProp({prop:'countryLanguage', value:countryLanguage});
};

TrackingObject.prototype.setEvents =3D function() {
	var uri =3D this.getProp('uri');
	switch(uri) {
		case '/skymilesenrollment/skymiles/enrollment/index.jsp': =
this.logEvent('skyMilesEnrollStart'); this.setProp({prop:'pageName', =
value:'Start Skymiles Enrollment'}); break;
		case '/cancelawardticket/skymiles/awards/cancelConfirm/index.jsp': =
this.logEvent('redepositUnused'); break;
	}
};

TrackingObject.prototype.setFormTracking =3D function(trackingObject) {
	var currentForms =3D getByTagName('form');
	var formList =3D [];
	var doTrackForms =3D false;
	if(currentForms.length > 0) {
		doTrackForms =3D true;
		for(var i=3D0, j=3DcurrentForms.length; i<j; i++) {
			if(exists(currentForms[i].name)) { =
formList.push(currentForms[i].name); }
		}
	}
	trackingObject.formList =3D formList.join(',');
	trackingObject.trackFormList =3D doTrackForms;
};

TrackingObject.prototype.setGeneralProps =3D function() {
	var QSValue =3D this.findQSParamValue('displayMethod');
	if (QSValue.toLowerCase() =3D=3D=3D 'dostartover')  { =
this.setProp({prop:'startOverButton', value:'Purchase Start Over'}); }
	QSValue =3D this.findQSParamValue('EventId');
	if (QSValue.toLowerCase() =3D=3D=3D 'process_start_over') { =
this.setProp({prop:'startOverButton', value:'Award Start Over'}); }
	QSValue =3D this.findQSParamValue('t_cc');
	if (QSValue !=3D=3D 'null' && QSValue.length>0) { =
this.setProp({prop:'internalCampaigns', value:QSValue}); }
};

TrackingObject.prototype.setHierarchy =3D function(){
	var uri =3D this.getProp('uri').toLowerCase();
	var hierarchy =3D '';
	switch(true) {
		case uri =3D=3D=3D '/awards/home.do':
			hierarchy =3D 'Awards:Home';
			break;
		case uri.substr(0, 17) =3D=3D=3D '/customerprofile/':
			switch(true) {
				case uri.indexOf('aboutme') !=3D=3D -1:
					hierarchy =3D 'Customer Profile:Servlet:About Me';
					break;
				case uri.indexOf('contactme') !=3D=3D -1:
					hierarchy =3D 'Customer Profile:Servlet:Contact Me';
					break;
				case uri.indexOf('creditcards') !=3D=3D -1:
					hierarchy =3D 'Customer Profile:Servlet:Credit Cards';
					break;
				case uri.indexOf('flights') !=3D=3D -1:
					hierarchy =3D 'Customer Profile:Servlet:Flights';
					break;		=09
				default:
					hierarchy =3D uri.replace(/\//g, ':');
					hierarchy =3D  hierarchy.substring(hierarchy.indexOf(':') + 1, =
hierarchy.lastIndexOf(':'));
					break;
			}
			break;
		default:
			hierarchy =3D uri.replace(/\//g, ':');
			hierarchy =3D  hierarchy.substring(hierarchy.indexOf(':') + 1, =
hierarchy.lastIndexOf(':'));
	}
	this.setProp({prop:'hierarchy', value:hierarchy});
};

TrackingObject.prototype.setPageName =3D function(pageName) {
	if(!exists(this.getProp('pageName'))) {
		if(arguments[0]) {
			this.setProp({prop:'pageName', value:arguments[0]});
		} else {
			var uri =3D this.getProp('uri');
			var pageNameToSet =3D this.findPageName();
			if(pageNameToSet.toLowerCase() =3D=3D=3D uri.toLowerCase()) {
				var elements =3D =
this.getByClassName({className:'genContent',tagName:'div',childTagName:'h=
1'});
				pageNameToSet =3D (elements.length >=3D 1) ? elements[0].innerHTML : =
uri;
			}
			this.setProp({prop:'pageName', value:pageNameToSet});=20
		}
	}
};
=20
TrackingObject.prototype.setProp =3D function() {=20
=09
	for(var i=3D0, j=3Darguments.length; i<j; i++) {
		if(typeof(arguments[i]) =3D=3D=3D 'object' && =
exists(arguments[i].prop) && exists(arguments[i].value) && =
arguments[i].value !=3D '') {
			var prop =3D arguments[i].prop;
			var value =3D arguments[i].value;
			switch(true) {
				case (prop =3D=3D=3D 'searchOriginCity' || prop =3D=3D=3D =
'searchDestinationCity') && exists(this.getProp('flightSearchType')) && =
this.getProp('flightSearchType').toLowerCase() !=3D=3D 'multicity':
					value =3D value.split(',')[0];
					break;
				case (prop =3D=3D=3D 'pageName' && value =3D=3D=3D 'Awards: Select =
outbound flight'):
					this.logEvent('flightSearch');
					break;
				case prop =3D=3D=3D 'setOutboundTime':
					prop =3D 'searchOutboundTime';
					value =3D value.split(',')[0];
					break;
				case prop =3D=3D=3D 'setReturnTime':
					prop =3D 'searchReturnTime';
					var timeList =3D value.split(',');
					value =3D timeList[timeList.length-1];
					break;
			}
			this.oProps.setProp(prop, value);=20
			if(exists(this.mapping.eventMapping[prop])) { this.logEvent(prop); }
		}
	}
};

TrackingObject.prototype.setQueryString =3D function() {
	var queryString =3D '';
	var queryString =3D (window.location.href.lastIndexOf('?') =3D=3D=3D =
-1) ? '': =
window.location.href.substr(window.location.href.lastIndexOf('?')).split(=
'#')[0];
	if(queryString.indexOf('=3D') =3D=3D=3D -1) { queryString =3D ''; }
	this.setProp({prop:'queryString', value:queryString});
};

TrackingObject.prototype.setServer =3D function() {
	this.setProp({prop:'server', =
value:window.location.host.toString().split('.')[0]});
};

TrackingObject.prototype.setSkyMilesBucket =3D function() {
	var miles =3D "null".replace(/,/g, "");
	var Possibilities =3D [{range:'miles<5000',value:'<5000'},{range:'miles =
>=3D5000 && miles <=3D9999',value:'5000-9999'},{range:'miles >=3D10000 =
&&  miles <=3D14999',value:'10000-14999'},{range:'miles >=3D15000 &&  =
miles <=3D19999',value:'15000-19999'},{range:'miles >=3D20000 &&  miles =
<=3D24999',value:'20000-24999'},{range:'miles >=3D25000 &&  miles =
<=3D29999',value:'25000-29999'},{range:'miles >=3D30000 &&  miles =
<=3D34999',value:'30000-34999'},{range:'miles >=3D35000 &&  miles =
<=3D39999',value:'35000-39999'},{range:'miles >=3D40000 &&  miles =
<=3D44999',value:'40000-44999'},{range:'miles >=3D45000 &&  miles =
<=3D49999',value:'45000-49999'},{range:'miles >=3D50000 &&  miles =
<=3D54999',value:'50000-54999'},{range:'miles >=3D55000 &&  miles =
<=3D59999',value:'55000-59999'},{range:'miles >=3D60000 &&  miles =
<=3D64999',value:'60000-64999'},{range:'miles >=3D65000 &&  miles =
<=3D69999',value:'65000-69999'},{range:'miles >=3D70000 &&  miles =
<=3D74999',value:'70000-74999'},{range:'miles >=3D75000 &&  miles =
<=3D79999',value:'75000-79999'},{range:'miles >=3D80000 &&  miles =
<=3D84999',value:'80000-849999'},{range:'miles >=3D85000 &&  miles =
<=3D89999',value:'85000-89999'},{range:'miles >=3D90000 &&  miles =
<=3D94999',value:'90000-94999'},{range:'miles >=3D95000 &&  miles =
<=3D99999',value:'95000-99999'},{range:'miles >=3D100000 &&  miles =
<=3D104999',value:'100000-104999'},{range:'miles >=3D105000 &&  miles =
<=3D109999',value:'105000-109999'},{range:'miles >=3D110000 &&  miles =
<=3D114999',value:'110000-114999'},{range:'miles >=3D115000 &&  miles =
<=3D119999',value:'115000-119999'},{range:'miles >=3D120000 &&  miles =
<=3D124999',value:'120000-124999'},{range:'miles >=3D125000 &&  miles =
<=3D129999',value:'125000-129999'},{range:'miles >=3D130000 &&  miles =
<=3D134999',value:'130000-134999'},{range:'miles>135000',value:'>135000'}=
];
	if(exists(miles)) {
		for(var i=3D0, j=3DPossibilities.length; i<j; i++) {
			if(eval(Possibilities[i].range)) {
				this.setProp({prop:'skyMilesBucket', value:Possibilities[i].value});
				return Possibilities[i].value;
			}
		}
	}
};

TrackingObject.prototype.setLoyaltyId =3D function() { =
this.setProp({prop:'loyaltyId', value:'Not a SkyMiles number'}); };

TrackingObject.prototype.setskyMilesType =3D function() { =
this.setProp({prop:'skyMilesMemType', value:'it is null'}); };

TrackingObject.prototype.returnArrayDifferences =3D =
function(LongerArray, ShorterArray) {

	var difs =3D [];
	LongerArray.sort();
	ShorterArray.sort();
	for(var i=3D0, j =3D LongerArray.length; i<j; i++) {
		var x =3D ShorterArray.length - 1;
		var useValue =3D true;
		while(x >=3D 0) {
			if(ShorterArray[x].toLowerCase() =3D=3D=3D =
LongerArray[i].toLowerCase()) {
				useValue =3D false;
				x =3D -1;
			}
			x--;
		}
		if(useValue) { difs.push(LongerArray[i]); }
	}
	return difs.join(',');
};
TrackingObject.prototype.setSubscribeUnubscribe =3D =
function(currentChecked, currentUnChecked, prevChecked, prevUnChecked) {

	var enrollEmails =3D '', unsubscribeEmails =3D '', toolOne =3D '', =
toolTwo =3D '';
	this.setProp('emailPreferencesChecked', currentChecked);
	this.setProp('emailPreferencesUnsubscribe', currentUnChecked);
	if(currentChecked !=3D=3D '' && currentChecked.length > =
prevChecked.length) {
		enrollEmails =3D =
this.returnArrayDifferences(currentChecked.split(this.fileSep), =
prevChecked.split(this.fileSep));
		if(enrollEmails !=3D=3D '') { toolOne =3D 'Email Update'; }
	}
	if(currentUnChecked !=3D=3D '' && currentUnChecked.length > =
prevUnChecked.length) {
		unsubscribeEmails =3D =
this.returnArrayDifferences(currentUnChecked.split(this.fileSep), =
prevUnChecked.split(this.fileSep));
		if(unsubscribeEmails !=3D=3D '') { toolTwo =3D 'Email Update'; }
	}
	this.setProp({prop:'emailPreferencesChecked', value:currentChecked}, =
{prop:'emailPreferencesUnsubscribe', value:currentUnChecked}, =
{prop:'emailEnrollments', value:enrollEmails}, {prop:'emailUnsubscribe', =
value:unsubscribeEmails}, {prop:'skyMilesToolsUsed', value:toolOne}, =
{prop:'skyMilesToolsUsed', value:toolTwo});
};
TrackingObject.prototype.setTrackingVariables =3D =
function(trackingObject) {

	if(exists(this.mapping)) {
		for(var prop in this.mapping) {
			if(typeof(this.mapping[prop]) =3D=3D=3D 'string' && =
exists(this.oProps.getProp(prop)) && this.oProps.getProp(prop) !=3D=3D =
'') {
				var Options =3D this.mapping[prop].split(',');
				for(var i=3D0, j=3DOptions.length; i<j; i++) {
					switch (true) {
						case (prop =3D=3D=3D 'searchOriginCity' || prop =3D=3D=3D =
'searchDestinationCity') && exists(this.getProp('flightSearchType')) && =
this.getProp('flightSearchType').toLowerCase() =3D=3D=3D 'multicity':=20
							trackingObject[Options[i]] =3D =
this.oProps.getProp(prop).split(',')[0];=20
							break;
						default:
							trackingObject[Options[i]] =3D this.oProps.getProp(prop);
					}
				}
			}
		}
		if(this.events.length > 0) {
			var usedEvents =3D [];
			var EventHash =3D {};
			for(var i=3D0, j=3Dthis.events.length; i<j; i++){
				if( !exists(EventHash[this.events[i]]) ) {
					if(exists(this.mapping.eventMapping[this.events[i]])) { =
usedEvents.push(this.mapping.eventMapping[this.events[i]]); }
					EventHash[this.events[i]] =3D true;
				}
			}
			if(usedEvents.length > 0) { trackingObject.events =3D =
usedEvents.join(','); }
		}
		if(this.products.length > 0) { trackingObject.products =3D =
this.products.join(',;'); }
		if(this.isResend) {
			void(trackingObject.t());
		}
		this.isResend =3D true;
	}
};

TrackingObject.prototype.setURI =3D function() {
	var URIBegin =3D window.location.href.lastIndexOf('.delta.com') + 10;
	var URIEnd =3D (window.location.href.lastIndexOf('?') > URIBegin) ? =
window.location.href.lastIndexOf('?') : window.location.href.length;
	var URI =3D window.location.href.substring(URIBegin, URIEnd);
	this.setProp({prop:'uri', value:URI});
};

TrackingObject.prototype.clearProps =3D function(trackingObj) {
	if(exists(this.mapping)) {
		for(var prop in this.mapping) {
			if(typeof(this.mapping[prop]) =3D=3D=3D 'string' && =
exists(this.oProps.getProp(prop)) && this.oProps.getProp(prop) !=3D=3D =
'') {
				var Options =3D this.mapping[prop].split(',');
				for(var i=3D0, j=3DOptions.length; i<j; i++) {
					trackingObj[Options[i]] =3D "";
				}
			}
		}
	}
	trackingObj.events =3D "";
	trackingObj.products =3D "";
	this.oProps =3D null;
	this.oProps =3D new GenObj();
	this.products =3D [];
	this.events =3D [];
}
var UserTracking =3D new TrackingObject();
UserTracking.init(omtrMapping);
=0A=
=0A=
=0A=



=09
		/* SiteCatalyst code version: H.14.
Copyright 1997-2008 Omniture, Inc. More info available at
http://www.omniture.com
Date Modified: 8/24/2009  */
/************************ ADDITIONAL FEATURES ************************
     Universal Tag
     Plugins
*/
/* Specify the Report Suite ID(s) to track here */
var s_account=3D"dalcom"
var s=3Ds_gi(s_account)
/************************** CONFIG SECTION **************************/
/* You may add or alter any code config here. */
/* Conversion Config */
s.currencyCode=3D"USD"
/* Link Tracking Config */
s.trackDownloadLinks=3Dtrue
s.trackExternalLinks=3Dtrue
s.trackInlineStats=3Dtrue
s.linkDownloadFileTypes=3D"exe,zip,wav,mp3,mov,mpg,avi,wmv,doc,pdf,xls"
s.linkInternalFilters=3D"javascript:,delta.com,blog.delta.com,airelite.co=
m,si.delta.com,delta-offers.com"
s.linkLeaveQueryString=3Dfalse
s.linkTrackVars=3D"None"
s.linkTrackEvents=3D"None"
/* Plugin Config */
s.usePlugins=3Dtrue
/********************************************************************
 *
 * Page name Config variables=20
 *
 *******************************************************************/
/* Page Name Plugin Config */
s.siteID=3D""            // leftmost value in pagename
s.defaultPage=3D""       // filename to add when none exists
s.queryVarsList=3D""     // query parameters to keep
s.pathExcludeDelim=3D";" // portion of the path to exclude
s.pathConcatDelim=3D":"   // page name component separator
s.pathExcludeList=3D""   // elements to exclude from the path

s.variableProvider=3D'DFA#1513586:v45=3D[["DFA-"+lis+"-"+lip+"-"+lastimp+=
"-"+lastimptime+"-"+lcs+"-"+lcp+"-"+lastclk+"-"+lastclktime]]';

function s_doPlugins(s) {
	/* Add calls to plugins here */
=09
	/* Plugin Example: getPagename v2.1*/
	if(!s.pageType && !s.pageName)
			s.pageName=3Ds.getPageName();

	/* Plugin Example: getQueryParam 2.1*/
=09
=09
/* Test for an X+1 partner campaign and persist value */

	var pCampaign=3Ds.getQueryParam('part');
	pCampaign=3Ds.getValOnce(pCampaign,"p_campaign",0);
	s.prop45=3Ds.getAndPersistValue(pCampaign,'p_persist',0);

	if(s.prop45!=3D""){
	=09

		if(typeof(s.products!=3D"undefined")){
		  if(s.products!=3Dnull){
			document.write("<SCR"+"IPT"
				+"src=3D'https://s.xp1.ru4.com/meta?_o=3D5&_t=3Dpt-2670-001"
				+"&ssv_partnerid=3D"+s.prop45+"'></SCR"+"IPT>");}}}
=09
=09
	if(!s.eVar1) { s.eVar1=3Ds.getQueryParam('itc'); }

	/*timeparting EST */
	var currYear =3D new Date().getFullYear();
	var temphr=3Ds.getTimeParting('h','-5',currYear); // Set hour=20
	var tempday=3Ds.getTimeParting('d','-5',currYear); // Set day
	var tempweek=3Ds.getTimeParting('w','-5',currYear); // Set Weekend / =
Weekday

	if(temphr)
		s.eVar37=3Dtempweek + " : " + tempday + " : " + temphr;

	=09
	/*DFA integration*/
=09
	s.partnerDFACheck("dfa_cookie","dfa");

	s.eVar2=3Ds.getValOnce(s.eVar2,"ev2",0);

	/* Correct SearchCenter Tracking Code */
	if(s.getQueryParam('s_kwcid'))
		s.pageURL=3Ds.manageQueryParam('s_kwcid',1,1);
=09
/* If referring is www.airelite.com, do not step through Channel Manager =
*/

	var sURI=3Dlocation.href;
        var sDoManager=3D"true";
=09
	if (sURI.indexOf('airelite') >-1)=20
	    sDoManager=3D"false";

	if(!s.campaign){

	   tCampaign=3Ds.getQueryParam('mkcpgn,mkast,mkplac,om_mid',',');
	   /* If mkcpgn=3DSEzzzw1a do not set campaign here - let it go through =
CM */
		  if (tCampaign !=3D "SEzzzw1a"){
			s.campaign=3DtCampaign;
			s.campaign=3Ds.getValOnce(s.campaign,"cname",0);
			s.eVar39=3Ds.campaign;
			if(sDoManager =3D=3D "true"){
			        s.eVar48 =3D =
s.crossVisitParticipation(s.campaign,'s_cpm','90','5','>','purchase',0);
			}
		  }
	   if(!s.eVar30)
		{
			s.eVar30=3Ds.getQueryParam('om_rid');
		}
	}

	/* collect natural search and unpaid referrals and direct */

	  var o =3D s.channelManager(true);
	  var cCampaign=3D"";
	  var cKeyword=3D"";

	  if(o && typeof o !=3D 'undefined'){

	    if (!s.campaign && sDoManager !=3D "false"){

	    	if(o.channel=3D=3D'Other Websites'){
			o.channel=3D'Referrers';
			o.referringDomain=3Ds.split(o.referringDomain,'/');
			s.campaign=3D'REF|'+o.referringDomain[0];
			cCampaign=3Ds.campaign;
			s.eVar49=3Do.referringDomain[0];
		}
	=09
		if(o.channel=3D=3D'Natural'){
			o.channel=3D'Natural Search';
			s.campaign=3D"SEzzznat";
			cCampaign=3Ds.campaign;
			cKeyword=3D'NS|'+o.keyword;
		}
		if(o.channel=3D=3D'Paid Search'){
			o.channel=3D'Paid Search';
			s.campaign=3D"SEzzzw1a";
			cCampaign=3Ds.campaign;
			cKeyword=3Do.campaignId;
		}

		if (o.channel=3D=3D'Direct Load')
		{
	   		cCampaign=3Do.channel;
		}
	=09
		if (o.channel !=3D 'Direct Load'){
			s.eVar39=3DcCampaign;
		}
	=09
		/* Campaign Stacking */
		if (!s.eVar48 && sDoManager !=3D "false"){
		    s.eVar48 =3D =
s.crossVisitParticipation(cCampaign,'s_cpm','90','5','>','purchase',0)=20
		}
		/* Keyword Stacking */
		if (!s.eVar47){
		       	s.eVar47 =3D =
s.crossVisitParticipation(cKeyword,'s_cpmscm','90','5','>','purchase',0);=

		}
		    =20
	  }
	     =20
     }
=09
}
s.doPlugins=3Ds_doPlugins
/************************** PLUGINS SECTION *************************/
/* You may insert any plugins you wish to use here.                 */
/*
 * Plugin: manageQueryParam 1.1 - swap parameters in query string=20
 */
s.manageQueryParam=3Dnew Function("p","w","e","u",""
+"var =
s=3Dthis,x,y,i,qs,qp,qv,f,b;u=3Du?u:(s.pageURL?s.pageURL:''+s.wd.lo"
+"cation);u=3Du=3D=3D'f'?''+s.gtfs().location:u+'';x=3Du.indexOf('?');qs=3D=
x>-1"
+"?u.substring(x,u.length):'';u=3Dx>-1?u.substring(0,x):u;x=3Dqs.indexOf(=
"
+"'?'+p+'=3D');if(x>-1){y=3Dqs.indexOf('&');f=3D'';if(y>-1){qp=3Dqs.subst=
ring"
+"(x+1,y);b=3Dqs.substring(y+1,qs.length);}else{qp=3Dqs.substring(1,qs.le=
"
+"ngth);b=3D'';}}else{x=3Dqs.indexOf('&'+p+'=3D');if(x>-1){f=3Dqs.substri=
ng(1"
+",x);b=3Dqs.substring(x+1,qs.length);y=3Db.indexOf('&');if(y>-1){qp=3Db.=
su"
+"bstring(0,y);b=3Db.substring(y,b.length);}else{qp=3Db;b=3D'';}}}if(e&&q=
p)"
+"{y=3Dqp.indexOf('=3D');qv=3Dy>-1?qp.substring(y+1,qp.length):'';qv=3Ds.=
epa("
+"qv);qv=3Dunescape(qv);qv=3Dunescape(qv);i=3Dqv.indexOf('|');if(i>-1){x=3D=
qv"
+".substring(0,i);qv=3Descape(x)+qv.substring(i);}else{qv=3Descape(qv)}qp=
"
+"=3Dqp.substring(0,y+1)+qv;}if(w&&qp){if(f)qs=3D'?'+qp+'&'+f+b;else =
if(b"
+")qs=3D'?'+qp+'&'+b;else	qs=3D'?'+qp}else if(f)qs=3D'?'+f+'&'+qp+b;else =
if"
+"(b)qs=3D'?'+qp+'&'+b;else	qs=3D'?'+qp;return u+qs");
/*
 *	Plug-in: crossVisitParticipation v1.4 - stacks values from
 *	specified variable in cookie and returns value
 */

s.crossVisitParticipation =3D new =
Function("v","cn","ex","ct","dl","ev","dv",""
+"var =
s=3Dthis;if(typeof(dv)=3D=3D=3D'undefined')dv=3D0;if(s.events&&ev){var =
ay"
+"=3Ds.split(ev,',');var ea=3Ds.split(s.events,',');for(var =
u=3D0;u<ay.leng"
+"th;u++){for(var =
x=3D0;x<ea.length;x++){if(ay[u]=3D=3Dea[x]){s.c_w(cn,'');"
+"return'';}}}}if(!v||v=3D=3D'')return '';v=3Descape(v);var arry=3Dnew =
Array("
+"),a=3Dnew Array(),c=3Ds.c_r(cn),g=3D0,h=3Dnew =
Array();if(c&&c!=3D'')arry=3Deval"
+"(c);var e=3Dnew Date();e.setFullYear(e.getFullYear()+5);if(dv=3D=3D0 =
&& a"
+"rry.length>0 && =
arry[arry.length-1][0]=3D=3Dv)arry[arry.length-1]=3D[v, n"
+"ew Date().getTime()];else arry[arry.length]=3D[v, new Date().getTime("
+")];var start=3Darry.length-ct<0?0:arry.length-ct;for(var =
x=3Dstart;x<ar"
+"ry.length;x++){var diff=3DMath.round(new Date()-new Date(parseInt(arr"
+"y[x][1])))/86400000;if(diff<ex){h[g]=3Dunescape(arry[x][0]);a[g]=3D[arr=
"
+"y[x][0],arry[x][1]];g++;}}var data=3Ds.join(a,{delim:',',front:'[',ba"
+"ck:']',wrap:\"'\"});s.c_w(cn,data,e);var r=3Ds.join(h,{delim:dl});ret"
+"urn r;");
/*
 * Plugin Utility: s.join: 1.0
 */
s.join =3D new Function("v","p",""
+"var s =3D this;var =
f,b,d,w;if(p){f=3Dp.front?p.front:'';b=3Dp.back?p.back"
+":'';d=3Dp.delim?p.delim:'';w=3Dp.wrap?p.wrap:'';}var str=3D'';for(var =
x=3D0"
+";x<v.length;x++){if(typeof(v[x])=3D=3D'object' )str+=3Ds.join( =
v[x],p);el"
+"se str+=3Dw+v[x]+w;if(x<v.length-1)str+=3Dd;}return f+str+b;");
/*
 * Plugin Utility: Replace v1.0
 */
s.repl=3Dnew Function("x","o","n",""
+"var =
i=3Dx.indexOf(o),l=3Dn.length;while(x&&i>=3D0){x=3Dx.substring(0,i)+n+x."=

+"substring(i+o.length);i=3Dx.indexOf(o,i+l)}return x");
/*
 * Plugin: getQueryParamNoEncode - return non-encoded query string =
parameter(s)
 */
s.getQueryParamNoEncode=3Dnew Function("p","d","u",""
+"var =
s=3Dthis,v=3D'',i,t;d=3Dd?d:'';u=3Du?u:(s.pageURL?s.pageURL:s.wd.locati"
+"on);if(u=3D=3D'f')u=3Ds.gtfs().location;while(p){i=3Dp.indexOf(',');i=3D=
i<0?p"
+".length:i;t=3Ds.p_gpvne(p.substring(0,i),u+'');if(t)v+=3Dv?d+t:t;p=3Dp.=
subs"
+"tring(i=3D=3Dp.length?i:i+1)}return v");
s.p_gpvne=3Dnew Function("k","u",""
+"var =
s=3Dthis,v=3D'',i=3Du.indexOf('?'),q;if(k&&i>-1){q=3Du.substring(i+1);v"
+"=3Ds.pt(q,'&','p_gvfne',k)}return v");
s.p_gvfne=3Dnew Function("t","k",""
+"if(t){var =
s=3Dthis,i=3Dt.indexOf('=3D'),p=3Di<0?t:t.substring(0,i),v=3Di<0?'T"
+"rue':t.substring(i+1);if(p.toLowerCase()=3D=3Dk.toLowerCase())return =
v;"
+"}return ''");
/*
 * Plugin: getPageName v2.1 - parse URL and return
 */
s.getPageName=3Dnew Function("u",""
+"var =
s=3Dthis,v=3Du?u:''+s.wd.location,x=3Dv.indexOf(':'),y=3Dv.indexOf('/',"
+"x+4),z=3Dv.indexOf('?'),c=3Ds.pathConcatDelim,e=3Ds.pathExcludeDelim,g=3D=
s."
+"queryVarsList,d=3Ds.siteID,n=3Dd?d:'',q=3Dz<0?'':v.substring(z+1),p=3Dv=
.sub"
+"string(y+1,q?z:v.length);z=3Dp.indexOf('#');p=3Dz<0?p:s.fl(p,z);x=3De?p=
.i"
+"ndexOf(e):-1;p=3Dx<0?p:s.fl(p,x);p+=3D!p||p.charAt(p.length-1)=3D=3D'/'=
?s.d"
+"efaultPage:'';y=3Dc?c:'/';while(p){x=3Dp.indexOf('/');x=3Dx<0?p.length:=
x;"
+"z=3Ds.fl(p,x);if(!s.pt(s.pathExcludeList,',','p_c',z))n+=3Dn?y+z:z;p=3D=
p."
+"substring(x+1)}y=3Dc?c:'?';while(g){x=3Dg.indexOf(',');x=3Dx<0?g.length=
:x"
+";z=3Ds.fl(g,x);z=3Ds.pt(q,'&','p_c',z);if(z){n+=3Dn?y+z:z;y=3Dc?c:'&'}g=
=3Dg.s"
+"ubstring(x+1)}return n");
/*
 * Utility Function: p_c
 */
s.p_c=3Dnew Function("v","c",""
+"var x=3Dv.indexOf('=3D');return =
c.toLowerCase()=3D=3Dv.substring(0,x<0?v.le"
+"ngth:x).toLowerCase()?v:0");
/*
 * Plugin: getQueryParam 2.1 - return query string parameter(s)
 */
s.getQueryParam=3Dnew Function("p","d","u",""
+"var =
s=3Dthis,v=3D'',i,t;d=3Dd?d:'';u=3Du?u:(s.pageURL?s.pageURL:s.wd.locati"
+"on);if(u=3D=3D'f')u=3Ds.gtfs().location;while(p){i=3Dp.indexOf(',');i=3D=
i<0?p"
+".length:i;t=3Ds.p_gpv(p.substring(0,i),u+'');if(t)v+=3Dv?d+t:t;p=3Dp.su=
bs"
+"tring(i=3D=3Dp.length?i:i+1)}return v");
s.p_gpv=3Dnew Function("k","u",""
+"var =
s=3Dthis,v=3D'',i=3Du.indexOf('?'),q;if(k&&i>-1){q=3Du.substring(i+1);v"
+"=3Ds.pt(q,'&','p_gvf',k)}return v");
s.p_gvf=3Dnew Function("t","k",""
+"if(t){var =
s=3Dthis,i=3Dt.indexOf('=3D'),p=3Di<0?t:t.substring(0,i),v=3Di<0?'T"
+"rue':t.substring(i+1);if(p.toLowerCase()=3D=3Dk.toLowerCase())return =
s."
+"epa(v)}return ''");
/*
 * Plugin: getValOnce 0.2 - get a value once per session or number of =
days
 */
s.getValOnce=3Dnew Function("v","c","e",""
+"var s=3Dthis,k=3Ds.c_r(c),a=3Dnew =
Date;e=3De?e:0;if(v){a.setTime(a.getTime("
+")+e*86400000);s.c_w(c,v,e?a:0);}return v=3D=3Dk?'':v");
/*
 * Plugin: getTimeParting 1.3 - Set timeparting values based on time =
zone
 */
s.getTimeParting=3Dnew Function("t","z","y",""
+"dc=3Dnew Date('1/1/2000');f=3D15;ne=3D8;if(dc.getDay()!=3D6||"
+"dc.getMonth()!=3D0){return'Data Not Available'}else{;z=3DparseInt(z);"
+"if(y=3D=3D'2009'){f=3D8;ne=3D1};gmar=3Dnew =
Date('3/1/'+y);dsts=3Df-gmar.getDay("
+");gnov=3Dnew Date('11/1/'+y);dste=3Dne-gnov.getDay();spr=3Dnew =
Date('3/'"
+"+dsts+'/'+y);fl=3Dnew Date('11/'+dste+'/'+y);cd=3Dnew Date();"
+"if(cd>spr&&cd<fl){z=3Dz+1}else{z=3Dz};utc=3Dcd.getTime()+(cd.getTimezon=
eO"
+"ffset()*60000);tz=3Dnew Date(utc + =
(3600000*z));thisy=3Dtz.getFullYear("
+");var days=3D['Sunday','Monday','Tuesday','Wednesday','Thursday','Fr"
+"iday','Saturday'];if(thisy!=3Dy){return'Data Not Available'}else{;thi"
+"sh=3Dtz.getHours();thismin=3Dtz.getMinutes();thisd=3Dtz.getDay();var =
dow=3D"
+"days[thisd];var ap=3D'AM';var dt=3D'Weekday';var =
mint=3D'00';if(thismin>3"
+"0){mint=3D'30'}if(thish>=3D12){ap=3D'PM';thish=3Dthish-12};if =
(thish=3D=3D0){th"
+"ish=3D12};if(thisd=3D=3D6||thisd=3D=3D0){dt=3D'Weekend'};var =
timestring=3Dthish+'"
+":'+mint+ap;var daystring=3Ddow;var =
endstring=3Ddt;if(t=3D=3D'h'){return tim"
+"estring}if(t=3D=3D'd'){return daystring};if(t=3D=3D'w'){return en"
+"dstring}}};"
);
/*
 * Partner Plugin: DFA Check 0.8 - Restrict DFA calls to once a visit,
 * per report suite, per click through. Used in conjunction with VISTA
 */

s.partnerDFACheck=3Dnew Function("c","src","p",""
+"var s=3Dthis,dl=3D',',cr,nc,q,g,i,j,k,fnd,v=3D1,t=3Dnew =
Date,cn=3D0,ca=3Dnew Ar"
+"ray,aa=3Dnew Array,cs=3Dnew =
Array;t.setTime(t.getTime()+1800000);cr=3Ds.c"
+"_r(c);if(cr){v=3D0;}ca=3Ds.split(cr,dl);aa=3Ds.split(s.un,dl);for(i=3D0=
;i<a"
+"a.length;i++){fnd=3D0;for(j=3D0;j<ca.length;j++){if(aa[i]=3D=3Dca[j]){f=
nd=3D1"
+";}}if(!fnd){cs[cn]=3Daa[i];cn++;}}if(cs.length){for(k=3D0;k<cs.length;k=
"
+"++){nc=3D(nc?nc+dl:'')+cs[k];}cr=3D(cr?cr+dl:'')+nc;s.vpr(p,nc);v=3D1;}=
q=3D"
+"s.wd.location.search.toLowerCase();q=3Ds.repl(q,'?','&');g=3Dq.indexOf(=
"
+"'&'+src.toLowerCase()+'=3D');if(g>-1){s.vpr(p,cr);v=3D1;}if(!s.c_w(c,cr=
"
+",t)){s.c_w(c,cr,0);}if(!s.c_r(c)){v=3D0;}if(v<1){s.vpr('variableProvi"
+"der','');}");

/*
 * Utility Function: vpr - set the variable vs with value v
 */
s.vpr=3Dnew Function("vs","v",
"if(typeof(v)!=3D'undefined'){var s=3Dthis; =
eval('s.'+vs+'=3D\"'+v+'\"')}");
/*
 * Utility Function: split v1.5 - split a string (JS 1.0 compatible)
 */
s.split=3Dnew Function("l","d",""
+"var i,x=3D0,a=3Dnew =
Array;while(l){i=3Dl.indexOf(d);i=3Di>-1?i:l.length;a[x"
+"++]=3Dl.substring(0,i);l=3Dl.substring(i+d.length);}return a");
/*
 * Plugin Utility: apl v1.1
 */
s.apl=3Dnew Function("L","v","d","u",""
+"var s=3Dthis,m=3D0;if(!L)L=3D'';if(u){var =
i,n,a=3Ds.split(L,d);for(i=3D0;i<a."
+"length;i++){n=3Da[i];m=3Dm||(u=3D=3D1?(n=3D=3Dv):(n.toLowerCase()=3D=3D=
v.toLowerCas"
+"e()));}}if(!m)L=3DL?L+d+v:v;return L");
/*
 * Plugin: getAndPersistValue 0.3 - get a value on every page
 */
s.getAndPersistValue=3Dnew Function("v","c","e",""
+"var s=3Dthis,a=3Dnew =
Date;e=3De?e:0;a.setTime(a.getTime()+e*86400000);if("
+"v)s.c_w(c,v,e?a:0);return s.c_r(c);");

/*
 * Plugin: getPreviousValue_v1.0 - return previous value of designated
 *   variable (requires split utility)
 */
s.getPreviousValue=3Dnew Function("v","c","el",""
+"var s=3Dthis,t=3Dnew =
Date,i,j,r=3D'';t.setTime(t.getTime()+1800000);if(el"
+"){if(s.events){i=3Ds.split(el,',');j=3Ds.split(s.events,',');for(x in =
i"
+"){for(y in j){if(i[x]=3D=3Dj[y]){if(s.c_r(c)) =
r=3Ds.c_r(c);v?s.c_w(c,v,t)"
+":s.c_w(c,'no value',t);return r}}}}}else{if(s.c_r(c)) r=3Ds.c_r(c);v?"
+"s.c_w(c,v,t):s.c_w(c,'no value',t);return r}");

/*=20
 * ChannelManager - v1.1
 */=20
s.___se=3D"{'Paid Search':{i:['s_kwcid|'Sina - =
China':{^q=3D|~g`.cn/$?cli"
+"ent=3Daff-sina>,'National =
Directory':{^;=3D|~$.NationalDirectory*>,'eer"
+"stekeuze.nl':{^Terms=3D|~+.eerstekeuze.nl/>,'Excite - Netscape':{^gen"
+"eral=3D','$=3D|~excite$.netscape*','$excite.netscape*>,'Andromeda =
Searc"
+"h':{^<=3D|~p-$.virtualave.net>,'So-net':{^MT=3D|~so-net.$.goo.ne.jp>,'I=
"
+"nfoSeek - Japan':{^;=3D','qt=3D|~$.m.infoseek.co.jp>,'Goo =
(Japan)':{^MT"
+"=3D|~$.mobile.goo.ne.jp>,'AllSearchEngines':{^;=3Ds|~all$engines.co.uk>=
"
+",'zoeken.nl':{^;=3D|~+.zoeken.nl/>,'Northern =
Light':{^qr=3D|~www.northe"
+"rnlight*>,'Biglobe':{^q=3D|~$.biglobe.ne.jp>,'track.nl':{^qr=3D|~+.trac=
"
+"k.nl/>,'Baidu':{^wd=3D','s=3D|~+.baidu*>,'3721*':{^p=3D|~+.3721*/>,'Gal=
ax"
+"y':{^|~galaxy.tradewave*>,'G` - Norway (Startsiden)':{^q=3D|~g`.start"
+"siden.no>,'NetSearch':{^Terms=3D','$=3D|~net$voyager*','net$.org>,'au.A=
"
+"nzwers':{^p=3D|~au.anzwers.y%*>,'MSN - Latin =
America':{^q=3D|~$.latam.m"
+"sn*>,'Searchteria':{^p=3D|~ad.$teria.co.jp>,'FreshEye':{^ord=3D','kw=3D=
|~"
+"$.fresheye*>,'Metacrawler':{^general=3D','/$/web/|~www.metacrawler*',"
+"'$.metacrawler*>,'Y%! - Austria':{^p=3D|~at.$.y%*>,'Y%! - Spanish (US"
+" : Telemundo)':{^p=3D|~telemundo.y%*','espanol.$.y%*>,'Business*':{^;"
+"=3D|~business*/$>,'Y%! - Switzer#':{^p=3D|~ch.$.y%*>,'Y%! - =
Fin#':{^p=3D|"
+"~fi.$.y%*>,'Dino Online':{^;=3D|~www.dino-online.de>,'Internet Times'"
+":{^$=3D',';=3D|~internet-times*>,'TheYellowPages':{^$=3D|~theyellowpage=
s*"
+">,'Web-Search':{^q=3D|~www.web-$*>,'Y%! - =
Malaysia':{^p=3D|~malaysia.y%"
+"*','malaysia.$.y%*>,'WebCrawler':{^$Text=3D','$=3D|~www.webcrawler*>,'M=
"
+"onster Crawler':{^qry=3D|~monstercrawler*>,'Sina - Hong =
Kong':{^word=3D"
+"|~g`.sina*.hk>,'Sina - Taiwan':{^kw=3D|~g`.sina*.tw>,'Y%Japan - Mobil"
+"e':{^p=3D|~mobile.y%.co.jp>,'Livedoor - =
Mobile':{^q=3D','<=3D|~dir.m.live"
+"door*>,'Blue =
Window':{^q=3D','qry=3D|~$.bluewin.ch','$.bluewindow.ch>,'"
+"General =
Search':{^<=3D|~general$*>,'InternetTrash':{^words=3D|~internet"
+"trash*>,'MSN - United Kingdom':{^q=3D|~uk.$.msn*','msn.co.uk>,'Y%! - "
+"Chinese (US)':{^p=3D|~chinese.y%*>,'MSN - =
Singapore':{^q=3D|~$.msn*.sg>"
+",'MSN - Republic of the Phlippines':{^q=3D|~$.msn*.ph>,'MSN - Taiwan'"
+":{^q=3D|~$.msn*.tw>,'MSN - Turkey':{^q=3D|~$.msn*.tr>,'MSN - =
People\\'s"
+" Republic of China':{^q=3D|~$.msn*.cn>,'MSN - =
Malaysia':{^q=3D|~$.msn*."
+"my>,'MSN - Hong Kong S.A.R.':{^q=3D|~$.msn*.hk>,'MSN - =
Brazil':{^q=3D|~"
+"$.msn*.br>,'G` @ EZweb':{^;=3D|~ezsch.ezweb.ne.jp>,'AltaVista - Nethe"
+"r#s':{^q=3D|~nl.altavista*>,'AltaVista - =
Spain':{^q=3D','r=3D|~es.altavis"
+"ta*>,'AltaVista - Italy':{^q=3D','r=3D|~it.altavista*>,'AltaVista - =
Can"
+"ada':{^q=3D|~ca.altavista*>,'AltaVista - =
Switzer#':{^q=3D','r=3D|~ch.alta"
+"vista*>,'AltaVista - France':{^q=3D','r=3D|~fr.altavista*>,'AltaVista =
-"
+" United Kingdom':{^q=3D','r=3D|~uk.altavista*>,'AltaVista - =
Sweden':{^q"
+"=3D','r=3D|~se.altavista*>,'DejaNews':{^QRY=3D|~www.dejanews*>,'Excite'=
:{"
+"^/$/web/','qkw=3D|~msxml.excite*>,'Globe =
Crawler':{^$=3D|~globecrawler*"
+">,'HotBot':{^MT=3D',';=3D|~hotbot.lycos*>,'InfoSeek':{^qt=3D|~www.infos=
ee"
+"k*','infoseek.go*>,'MSN - South Africa':{^q=3D|~$.msn.co.za>,'MSN - I"
+"sreal':{^q=3D|~$.msn.co.il>,'MSN - Japan':{^q=3D|~$.msn.co.jp>,'MSN - =
C"
+"anada':{^q=3D|~sympatico.msn.ca','$.fr.msn.ca>,'MSN - =
Korea':{^q=3D',';"
+"=3D|~$.msn.co.kr>,'Search City':{^$=3D','<=3D|~$city.co.uk>,'Search =
Vikin"
+"g':{^$=3D|~$viking*>,'Thunderstone':{^q=3D|~thunderstone*>,'Web Wombat =
"
+"(Au.)':{^I=3D','ix=3D|~webwombat*.au>,'AltaVista - =
Norway':{^q=3D|~no.alt"
+"avista*>,'AltaVista - Denmark':{^q=3D|~dk.altavista*>,'MSN - India (E"
+"nglish)':{^q=3D|~$.msn.co.in>,'MSN - Indonesia =
(English)':{^q=3D|~$.msn"
+".co.id>,'Nifty':{^Text=3D|~$.nifty*>,'ANZWERS':{^;=3D|~www.anzwers*>,'B=
"
+"uyersIndex':{^;=3D|~buyersindex*>,'CNET =
Search*':{^q=3D|~cnet.$*>,'Dmoz"
+"':{^$=3D|~$.dmoz*','dmoz*>,'Final =
Search':{^pattern=3D|~final$*>,'FullW"
+"ebinfo Directory & Search Engine':{^k=3D','s=3D|~fullwebinfo*>,'Go =
(Inf"
+"oseek)':{^qt=3D|~infoseek.go*>,'GoEureka':{^q=3D','key=3D|~goeureka*.au=
>,"
+"'Live*':{^q=3D|~$.live*>,'QuestFinder':{^s=3D|~questfinder*','questfind=
"
+"er.net>,'SearchHound':{^?|~$hound*>,'TopFile*':{^;=3D|~www.topfile*>,"
+"'Sina - North America':{^$_key=3D|~g`.sina*>,'AOL* =
Search':{^;=3D|~$.ao"
+"l*','$.aol.ca>,'ByteSearch':{^$=3D','q=3D|~byte$*>,'ComFind':{^|~debrie=
"
+"fing*','allbusiness*find*>,'Dictionary*':{^term=3D',';=3D|~Dictionary*'=
"
+",'Dictionary>,'ilse.nl':{^$_for=3D|~$.ilse.nl>,'Infoseek - Japan':{^q"
+"t=3D|~infoseek.co.jp>,'InfoSeek':{^qt=3D|~infoseek.co.uk>,'Rex =
Search':"
+"{^terms=3D|~rex-$*','rex-$*>,'Search =
King':{^$term=3D','<=3D|~$king*>,'Se"
+"archalot':{^;=3D','q=3D|~$alot*>,'Web Trawler':{^|~webtrawler*>,'Y%! - =
"
+"Asia':{^p=3D|~asia.y%*','asia.$.y%*>,'Y%! - =
Kids':{^p=3D|~kids.y%*','ki"
+"ds.y%*/$>,'SmartPages*':{^QueryString=3D|~smartpages*>,'MetaGopher':{"
+"^;=3D|~metagopher*>,'Froute':{^k=3D|~item.froute.jp','$.froute.jp>,'All=
"
+" The =
Web':{^;=3D','q=3D|~alltheweb*>,'DirectHit':{^qry=3D','q=3D|~directhit"
+"*>,'Excite Canada':{^$=3D','q=3D|~www.excite.ca','$.excite.ca>,'Excite =
"
+"- Germany':{^$=3D','q=3D|~www.excite.de>,'Excite - =
Dutch':{^$=3D|~nl.exci"
+"te*>,'G` - Australia':{^q=3D|~g`*.au>,'G` - =
Brasil':{^q=3D|~g`*.br>,'In"
+"foSpace':{^QKW=3D','qhqn=3D|~infospace*>,'InfoTiger':{^qs=3D|~infotiger=
*>"
+",'LookSmart':{^key=3D','qt=3D|~looksmart*','looksmart.co.uk>,'Lycos':{^=
"
+";=3D|~www.lycos*','$.lycos*>,'Excite - =
Australia':{^$=3D','key=3D|~excite"
+"*.au>,'Metacrawler - Germany':{^qry=3D|~216.15.219.34','216.15.192.22"
+"6>,'MSN - Nether#s':{^q=3D|~$.msn.nl>,'MSN - =
Belgium':{^q=3D|~$.msn.be>"
+",'MSN - Germany':{^q=3D|~$.msn.de>,'MSN - =
Austria':{^q=3D|~$.msn.at>,'M"
+"SN - Spain':{^q=3D|~$.msn.es>,'MSN - Italy':{^q=3D|~$.msn.it>,'MSN - =
Fr"
+"ance':{^q=3D|~$.msn.fr>,'MSN - =
Switzer#':{^q=3D|~$.msn.ch','fr.ch.msn*>"
+",'MSN - =
Sweden':{^q=3D|~$.msn.se>,'RageWorld*':{^$=3D|~rageworld*>,'Tog"
+"gleBot!':{^$=3D',';=3D|~togglebot*>,'Web =
Wombat':{^I=3D','ix=3D|~webwombat*"
+">,'MSN - Norway':{^q=3D|~$.msn.no>,'MSN - =
Denmark':{^q=3D|~$.msn.dk>,'G"
+"` - Nicaragua':{^q=3D|~g`*.ni>,'G` - Antigua and =
Barbuda':{^q=3D|~g`*.a"
+"g>,'G` - Anguilla':{^q=3D|~g`*.ai>,'G` - Taiwan':{^q=3D|~g`*.tw>,'G` - =
"
+"Ukraine':{^q=3D|~g`*.ua>,'G` - Namibia':{^q=3D|~g`*.na>,'G` - =
Uruguay':"
+"{^q=3D|~g`*.uy>,'G` - Ecuador':{^q=3D|~g`*.ec>,'G` - =
Libya':{^q=3D|~g`*.l"
+"y>,'G` - Norfolk Is#':{^q=3D|~g`*.nf>,'G` - =
Tajikistan':{^q=3D|~g`*.tj>"
+",'G` - Ethiopia':{^q=3D|~g`*.et>,'G` - Malta':{^q=3D|~g`*.mt>,'G` - =
Phi"
+"lippines':{^q=3D|~g`*.ph>,'G` - Hong Kong':{^q=3D|~g`*.hk>,'G` - =
Singap"
+"ore':{^q=3D|~g`*.sg>,'G` - Jamaica':{^q=3D|~g`*.jm>,'G` - =
Paraguay':{^q"
+"=3D|~g`*.py>,'G` - Panama':{^q=3D|~g`*.pa>,'G` - =
Guatemala':{^q=3D|~g`*.g"
+"t>,'G` - Isle of Gibraltar':{^q=3D|~g`*.gi>,'G` - El =
Salvador':{^q=3D|~"
+"g`*.sv>,'G` - Colombia':{^q=3D|~g`*.co>,'G` - =
Turkey':{^q=3D|~g`*.tr>,'"
+"G` - Peru':{^q=3D|~g`*.pe>,'G` - Afghanistan':{^q=3D|~g`*.af>,'G` - =
Mal"
+"aysia':{^q=3D|~g`*.my>,'G` - Mexico':{^q=3D|~g`*.mx>,'G` - Viet =
Nam':{^"
+"q=3D|~g`*.vn>,'G` - Nigeria':{^q=3D|~g`*.ng>,'G` - =
Nepal':{^q=3D|~g`*.np>"
+",'G` - Solomon Is#s':{^q=3D|~g`*.sb>,'G` - Belize':{^q=3D|~g`*.bz>,'G` =
"
+"- Puerto Rico':{^q=3D|~g`*.pr>,'G` - Oman':{^q=3D|~g`*.om>,'G` - =
Cuba':"
+"{^q=3D|~g`*.cu>,'G` - Bolivia':{^q=3D|~g`*.bo>,'G` - =
Bahrain':{^q=3D|~g`*"
+".bh>,'G` - Bangladesh':{^q=3D|~g`*.bd>,'G` - =
Cambodia':{^q=3D|~g`*.kh>,"
+"'G` - Argentina':{^q=3D|~g`*.ar>,'G` - Brunei':{^q=3D|~g`*.bn>,'G` - =
Fi"
+"ji':{^q=3D|~g`*.fj>,'G` - Saint Vincent and the =
Grenadine':{^q=3D|~g`*."
+"vc>,'G` - Qatar':{^q=3D|~g`*.qa>,'MSN - Ire#':{^q=3D|~$.msn.ie>,'G` - =
P"
+"akistan':{^q=3D|~g`*.pk>,'G` - Dominican Republic':{^q=3D|~g`*.do>,'G` =
"
+"- Saudi Arabia':{^q=3D|~g`*.sa>,'G` - Egypt':{^q=3D|~g`*.eg>,'G` - =
Bela"
+"rus':{^q=3D|~g`*.by>,'Biglobe':{^extrakey=3D|~$.kbg.jp>,'AltaVista':{^q=
"
+"=3D','r=3D|~altavista.co>,'AltaVista - =
Germany':{^q=3D','r=3D|~altavista.de"
+">,'AOL - Germany':{^q=3D|~suche.aol.de','suche.aolsvc.de>,'Excite - J"
+"apan':{^$=3D','s=3D|~excite.co.jp>,'Fansites*':{^q1=3D|~fansites*>,'Fin=
dL"
+"ink':{^|~findlink*>,'GoButton':{^|~gobutton*>,'G` - India':{^q=3D|~g`"
+".co.in>,'G` - New Zea#':{^q=3D|~g`.co.nz>,'G` - Costa =
Rica':{^q=3D|~g`."
+"co.cr>,'G` - Japan':{^q=3D|~g`.co.jp>,'G` - United =
Kingdom':{^q=3D|~g`."
+"co.uk>,'G` - =
Yugoslavia':{^q=3D|~g`.co.yu>,'Overture':{^Keywords=3D|~ov"
+"erture*>,'Hotbot - United Kingdom':{^;=3D|~hotbot.co.uk>,'Loquax Open"
+" Directory':{^$=3D|~loquax.co.uk>,'MSN - =
Mexico':{^q=3D|~t1msn*.mx','$."
+"prodigy.msn*>,'Netscape Search':{^;=3D','$=3D|~netscape*>,'Y%! - =
Philip"
+"pines':{^p=3D|~ph.y%*','ph.$.y%*>,'Y%! - =
Thai#':{^p=3D|~th.y%*','th.$.y"
+"%*>,'Y%! - Argentina':{^p=3D|~ar.y%*','ar.$.y%*>,'Y%! - Indonesia':{^"
+"p=3D|~id.y%*','id.$.y%*>,'Y%! - Hong =
Kong':{^p=3D|~hk.y%*','hk.$.y%*>,'"
+"Y%! - Russia':{^p=3D|~ru.y%*','ru.$.y%*>,'Y%! - =
Canada':{^p=3D|~ca.y%*'"
+",'ca.$.y%*>,'Y%! - Taiwan':{^p=3D|~tw.y%*','tw.$.y%*>,'Y%! - Catalan'"
+":{^p=3D|~ct.y%*','ct.$.y%*>,'Y%! - Canada =
(French)':{^p=3D|~qc.y%*','cf"
+".$.y%*>,'Y%! - China':{^p=3D|~cn.y%*','$.cn.y%*>,'Y%! - =
India':{^p=3D|~"
+"in.y%*','in.$.y%*>,'Y%! - Brazil':{^p=3D|~br.y%*','br.$.y%*>,'Y%! - K"
+"orea':{^p=3D|~kr.y%*','kr.$.y%*>,'Y%! - =
Australia':{^p=3D|~au.y%*','au."
+"$.y%*>,'Y%! - Mexico':{^p=3D|~mx.y%*','mx.$.y%*>,'Y%! - Singapore':{^"
+"p=3D|~sg.y%*','sg.$.y%*>,'Y%! - =
Denmark':{^p=3D|~dk.y%*','dk.$.y%*>,'Y%"
+"! - Germany':{^p=3D|~de.y%*','de.$.y%*>,'Y%! - UK and =
Ire#':{^p=3D|~uk."
+"y%*','uk.$.y%*>,'Y%! - Sweden':{^p=3D|~se.y%*','se.$.y%*>,'Y%! - Spai"
+"n':{^p=3D|~es.y%*','es.$.y%*>,'Y%! - =
Italy':{^p=3D|~it.y%*','it.$.y%*>,"
+"'Y%! - France':{^p=3D|~fr.y%*','fr.$.y%*>,'Y%! - =
Norway':{^p=3D|~no.y%*"
+"','no.$.y%*>,'G` - Virgin Is#s':{^q=3D|~g`.co.vi>,'G` - Uzbekiston':{"
+"^q=3D|~g`.co.uz>,'G` - Thai#':{^q=3D|~g`.co.th>,'G` - =
Israel':{^q=3D|~g`."
+"co.il>,'G` - Korea':{^q=3D|~g`.co.kr>,'Y%! - =
Nether#s':{^p=3D|~nl.y%*',"
+"'nl.$.y%*>,'Y%! - New Zea#':{^p=3D|~nz.y%*','nz.$.y%*>,'G` - Zambia':"
+"{^q=3D|~g`.co.zm>,'G` - South Africa':{^q=3D|~g`.co.za>,'G` - =
Zimbabwe'"
+":{^q=3D|~g`.co.zw>,'Y%! - Viet Nam':{^p=3D|~vn.y%*','vn.$.y%*>,'G` - =
Ug"
+"anda':{^q=3D|~g`.co.ug>,'G` - Indonesia':{^q=3D|~g`.co.id>,'G` - =
Morocc"
+"o':{^q=3D|~g`.co.ma>,'G` - Lesotho':{^q=3D|~g`.co.ls>,'G` - =
Kenya':{^q=3D"
+"|~g`.co.ke>,'G` - Cook Is#s':{^q=3D|~g`.co.ck>,'G` - =
Botswana':{^q=3D|~"
+"g`.co.bw>,'G` - =
Venezuela':{^q=3D|~g`.co.ve>,'BeGuide*':{^$=3D|~beguide"
+"*>,'dog*':{^$=3D|~doginfo*>,'Dogpile':{^q=3D','/$/web/|~dogpile*>,'Fire=
"
+"ball':{^q=3D',';=3D|~fireball.de>,'FishHoo!':{^;=3D|~fishhoo*>,'InfoSee=
k "
+"- Germany':{^qt=3D',';=3D|~infoseek.de>,'Lycos - United =
Kingdom':{^;=3D|~"
+"lycos.co.uk>,'MetaDog*':{^$=3D','<=3D|~metapro*','metadog*>,'TooCool':{=
"
+"^?|~toocool*>,'Y%! - =
Japan':{^p=3D','va=3D|~y%.co.jp','$.y%.co.jp>,'Caf"
+"esta':{^<=3D','<s=3D|~cafesta*>,'Oh! New? =
Mobile':{^k=3D|~ohnew.co.jp>,'C"
+"hubba':{^arg=3D|~chubba*>,'CyberBritain*':{^qry=3D|~hermia*','cyberbrit=
"
+"ain.co.uk>,'GeoBoz Search':{^$=3D|~geoboz*>,'Go2net Metacrawler':{^ge"
+"neral=3D|~go2net*>,'Tiscali':{^key=3D|~tiscali.it>,'TooZen':{^|~toozen*=
"
+">,'WAKWAK':{^MT=3D|~wakwak*>,'Webalta':{^q=3D|~webalta.ru>,'MSN =
LiveSea"
+"rch Mobile':{^q=3D|~m.live*>,'AOL - United =
Kingdom':{^;=3D|~aol.co.uk',"
+"'$.aol.co.uk>,'Dazzo!':{^$=3D|~dazzo*>,'Deoji':{^$=3D','k=3D|~deoji*>,'=
Ex"
+"cite - =
France':{^$=3D','q=3D|~excite.fr>,'Excite.ch':{^$=3D','q=3D|~excite."
+"ch>,'Godado':{^Keywords=3D|~godado.it>,'Goo =
(Jp.)':{^MT=3D|~goo.ne.jp>,"
+"'G` - Po#':{^q=3D|~g`.pl>,'G` - United Arab =
Emirates':{^q=3D|~g`.ae>,'G"
+"` - Luxembourg':{^q=3D|~g`.lu>,'G` - Slovakia':{^q=3D|~g`.sk>,'G` - =
Rus"
+"sia':{^q=3D|~g`.ru>,'G` - Denmark':{^q=3D|~g`.dk>,'G` - =
Portugal':{^q=3D|"
+"~g`.pt>,'G` - Romania':{^q=3D|~g`.ro>,'G` - Fin#':{^q=3D|~g`.fi>,'G` - =
"
+"Latvia':{^q=3D|~g`.lv>,'G` - Guernsey':{^q=3D|~g`.gg>,'G` - =
Ire#':{^q=3D|"
+"~g`.ie>,'G` - Sweden':{^q=3D|~g`.se>,'G` - =
Lithuania':{^q=3D|~g`.lt>,'G"
+"` - Canada':{^q=3D|~g`.ca>,'G` - =
Spain':{^q=3D|~g`.es>,'G`':{^q=3D|~g`.co"
+"','g`syndication*>,'G` - Germany':{^q=3D|~g`.de>,'G` - =
Switzer#':{^q=3D"
+"|~g`.ch>,'G` - China':{^q=3D|~g`.cn>,'G` - =
Nether#s':{^q=3D|~g`.nl>,'G`"
+" - Austria':{^q=3D|~g`.at>,'G` - Belgium':{^q=3D|~g`.be>,'G` - =
Chile':{"
+"^q=3D|~g`.cl>,'G` - France':{^q=3D|~g`.fr>,'G` - =
Italy':{^q=3D|~g`.it>,'N"
+"exet Open =
Directory':{^SEARCH=3D','q=3D|~nexet.net>,'Nomade':{^s=3D','MT=3D"
+"|~nomade.fr>,'Orbit.net':{^|~orbit.net>,'Search.ch':{^q=3D|~$.ch>,'Y%"
+"!':{^p=3D|~y%*','$.y%*>,'G` - Norway':{^q=3D|~g`.no>,'G` - =
Haiti':{^q=3D|"
+"~g`.ht>,'G` - Vanuatu':{^q=3D|~g`.vu>,'G` - Repulic of =
Georgia':{^q=3D|"
+"~g`.ge>,'G` - The Gambia':{^q=3D|~g`.gm>,'G` - =
Timor-Leste':{^q=3D|~g`."
+"tp>,'G` - Armenia':{^q=3D|~g`.am>,'G` - British Virgin =
Is#s':{^q=3D|~g`"
+".vg>,'G` - American Samoa':{^q=3D|~g`.as>,'G` - =
Turkmenistan':{^q=3D|~g"
+"`.tm>,'G` - Trinidad and Tobago':{^q=3D|~g`.tt>,'G` - Cote D\\'Ivoire"
+"':{^q=3D|~g`.ci>,'G` - Seychelles':{^q=3D|~g`.sc>,'G` - =
Greece':{^q=3D|~g"
+"`.gr>,'G` - The Bahamas':{^q=3D|~g`.bs>,'G` - =
Kyrgyzstan':{^q=3D|~g`.kg"
+">,'G` - Saint Helena':{^q=3D|~g`.sh>,'G` - Burundi':{^q=3D|~g`.bi>,'G` =
"
+"- Tokelau':{^q=3D|~g`.tk>,'G` - Rep. du Congo':{^q=3D|~g`.cg>,'G` - =
Dom"
+"inica':{^q=3D|~g`.dm>,'G` - Sao Tome and Principe':{^q=3D|~g`.st>,'G` =
-"
+" Rwanda':{^q=3D|~g`.rw>,'G` - Jordan':{^q=3D|~g`.jo>,'G` - Czech =
Republ"
+"ic':{^q=3D|~g`.cz>,'Yandex.ru':{^text=3D|~yandex.ru>,'G` - =
Senegal':{^q"
+"=3D|~g`.sn>,'G` - Jersey':{^q=3D|~g`.je>,'G` - =
Honduras':{^q=3D|~g`.hn>,'"
+"G` - Green#':{^q=3D|~g`.gl>,'G` - Hungary':{^q=3D|~g`.hu>,'G` - =
Is#':{^"
+"q=3D|~g`.is>,'G` - Pitcairn Is#s':{^q=3D|~g`.pn>,'G` - =
Mongolia':{^q=3D|~"
+"g`.mn>,'G` - Malawi':{^q=3D|~g`.mw>,'G` - =
Montserrat':{^q=3D|~g`.ms>,'G"
+"` - Liechtenstein':{^q=3D|~g`.li>,'G` - Micronesia':{^q=3D|~g`.fm>,'G` =
"
+"- Mauritius':{^q=3D|~g`.mu>,'G` - Moldova':{^q=3D|~g`.md>,'G` - =
Maldive"
+"s':{^q=3D|~g`.mv>,'G` - Niue':{^q=3D|~g`.nu>,'G` - =
Kazakhstan':{^q=3D|~g`"
+".kz>,'G` - Kiribati':{^q=3D|~g`.ki>,'G` - Nauru':{^q=3D|~g`.nr>,'G` - =
L"
+"aos':{^q=3D|~g`.la>,'G` - Isle of Man':{^q=3D|~g`.im>,'G` - =
Guyana':{^q"
+"=3D|~g`.gy>,'G` - Croatia':{^q=3D|~g`.hr>,'G` - =
Slovenia':{^q=3D|~g`.si>,"
+"'G` - Sri Lanka':{^q=3D|~g`.lk>,'G` - Azerbaijan':{^q=3D|~g`.az>,'G` - =
"
+"Bulgaria':{^q=3D|~g`.bg>,'G` - Bosnia-Hercegovina':{^q=3D|~g`.ba>,'G` =
-"
+" Tonga':{^q=3D|~g`.to>,'G` - Rep. Dem. du Congo':{^q=3D|~g`.cd>,'MSN - =
"
+"New Zea#':{^q=3D','mkt=3Den-nz|~msn.co.nz>,'G` - =
Djibouti':{^q=3D|~g`.dj>"
+",'G` - Guadeloupe':{^q=3D|~g`.gp>,'G` - Estonia':{^q=3D|~g`.ee>,'G` - =
S"
+"amoa':{^q=3D|~g`.ws>,'G` - San Marino':{^q=3D|~g`.sm>,'MSN =
UK':{^q=3D|~ms"
+"n.co.uk>,'Mobagee Search':{^q=3D|~s.mbga.jp>,'Lycos - =
Italy':{^;=3D|~ly"
+"cos.it>,'Lycos - France':{^;=3D|~lycos.fr>,'Lycos - =
Spain':{^;=3D|~lyco"
+"s.es>,'Lycos - Nether#s':{^;=3D|~lycol.nl>,'Lycos - =
Germany':{^;=3D|~ly"
+"col.de','$.lycos.de>,'Magellan':{^$=3D|~magellan>,'myGO':{^qry=3D|~mygo=
"
+"*>,'NBCi':{^<=3D','qkw=3D|~nbci*>,'Nate*':{^;=3D|~nate*','$.nate*>,'Cro=
oz"
+"':{^;=3D|~crooz.jp>,'Ask =
Jeeves':{^ask=3D','q=3D|~ask*','ask.co.uk>,'MSN'"
+":{^q=3D|~msn*>,'AOL - =
France':{^q=3D|~aol.fr>,'MetaIQ*':{^$=3D','qry=3D|~me"
+"taiq>,'Web.de':{^su=3D|~web.de>,'Ask - =
Japan':{^q=3D|~ask.jp>,'Microsof"
+"t Bing':{^q=3D|~bing*>}}";
s.__se =3D new Function(""
+"var l=3D{'~':'tl:[\\'','^': 'kw:[\\'','%': 'ahoo','|': '\\'],','>': '"
+"\\']}','*': '.com','$': 'search',';':'query','#':'land','`':'oogle'"
+",'+':'http://www','<':'keyword'};var f=3Dthis.___se+'';var =
g=3D'';for(v"
+"ar i=3D0;i<f.length;i++){if(l[f.substring(i,i+1)]&&typeof l[f.substri"
+"ng(i,i+1)]!=3D'undefined'){g+=3Dl[f.substring(i,i+1)];}else{g+=3Df.subs=
tr"
+"ing(i,i+1);}}return eval('('+g+')');");
s.isEntry=3Dnew Function(""
+"var s=3Dthis;var l=3Ds.linkInternalFilters,r=3Ds.referrer||typeof =
s.refer"
+"rer!=3D'undefined'?s.referrer:document.referrer,p=3Dl.indexOf(','),b=3D=
0,"
+"v=3D'',I2=3Dr.indexOf('?')>-1?r.indexOf('?'):r.length,r2=3Dr.substring(=
0,"
+"I2);if(!r){return =
1;}while(p=3Dl.indexOf(',')){v=3Dp>-1?l.substring(0,p"
+"):l;if(v=3D=3D'.'||r2.indexOf(v)>-1){return =
0;}if(p=3D=3D-1){break;}b=3Dp+1;l"
+"=3Dl.substring(b,l.length);}return 1;");
s.p_fo=3Dnew Function("n",""
+"var s=3Dthis;if(!s.__fo){s.__fo=3Dnew =
Object;}if(!s.__fo[n]){s.__fo[n]=3D"
+"new Object;return 1;}else {return 0;}");
s.channelManager=3Dnew Function("p","f",""
+"var dl=3D'Direct Load',nr=3D'No Referrer',ow=3D'Other =
Websites';if(!this."
+"p_fo('cm')) {return -1;}if(!this.isEntry()){return 0;}var =
s=3Dthis,r=3D"
+"s.referrer||typeof s.referrer!=3D'undefined'?s.referrer:document.refe"
+"rrer,e,k,c,w,_b=3D0,url=3Ds.pageURL?s.pageURL:s.wd.location,url=3Durl+'=
',"
+"rf=3D'';s.__se=3Ds.__se();var br=3D0;var ob=3Dnew =
Object;ob.debug=3Dfunction("
+"m){if(f){f(m);}};ob.channel=3D'';ob.keyword=3D'';ob.partner=3D'';ob.toS=
tr"
+"ing=3Dfunction(ar){var str=3D'';var x=3D0;for(x in =
ar){str+=3Dar[x]+':\\\''"
+"+ob[ar[x]]+'\\\',';}str=3D'{'+str.substring(0,str.length-1)+'}';retur"
+"n =
str;};ob.referrer=3Dr?r:nr;ob.getReferringDomain=3Dfunction(){if(this"
+".referrer=3D=3D''){return '';}if(r&&typeof r!=3D'undefined'){var =
end=3Dr.in"
+"dexOf('?') =
>-1?r.indexOf('?'):r.substring(r.length-1,r.length)=3D=3D'/'"
+"?r.length-1:r.length;var start=3Dr.indexOf('://')>-1?r.indexOf('://')"
+"+3:0;return r.substring(start,end);}else{return nr;}};ob.clear=3Dfunc"
+"tion(ar){var x=3D0;for(x in =
ar){this[ar[x]]=3D'';}this.referringDomain=3D"
+"this.getReferringDomain();};ob.referringDomain=3Dob.getReferringDomai"
+"n();ob.campaignId=3D''; ob.isComplete=3Dfunction(){var =
ar=3D['channel','k"
+"eyword','partner','referrer','campaignId'];for(var i=3D0;i<ar.length;"
+"i++){if(!ob[ar[i]]){return =
0;}}if(p&&s.c_r('cmm')=3D=3Dob.toString(ar))"
+"{this.debug('Duplicate');this.clear(ar);return 1;}else if(p){s.c_w("
+"'cmm',ob.toString(ar));return 1;}return 1;};ob.matcher=3Dfunction(u,x"
+"){if(!u){return false;}if(typeof s.__se[u].i!=3D'undefined'&&(s.campa"
+"ign||s.getQueryParam&&s.getQueryParam(ids[x]))){ob.campaignId=3Ds.get"
+"QueryParam(ids[x]);return true;}else if(typeof s.__se[u].p!=3D'undefi"
+"ned' &&(s.campaign||s.getQueryParam&&s.getQueryParam&&s.getQueryPar"
+"am(ids[x].substring(0,ids[x].indexOf('=3D'))))){var =
_ii=3Dids[x].substr"
+"ing(ids[x].indexOf('=3D') +1,ids[x].length);var =
_id=3Ds.campaign||s.get"
+"QueryParam(ids[x].substring(0,ids[x].indexOf('=3D')));if =
(_ii=3D=3D_id.su"
+"bstring(0,_ii.length)){ob.campaignId=3D_id;return true;}}else{return "
+"false;}};var ids=3D'';var _p=3D'';for(var i in =
s.__se){if(_p){break;}fo"
+"r(var j in s.__se[i]){if(!(j=3D=3D'p' ||j=3D=3D'i')){_p=3Di;}}}for(var =
u in s"
+".__se[_p]){if(u!=3D'i' &&u!=3D'p'){for(var =
h=3D0;h<s.__se[_p][u].tl.lengt"
+"h;h++){if(s.__se[_p][u].tl[h]&&typeof =
s.__se[_p][u].tl[h]=3D=3D'string'"
+"){if(r.indexOf(s.__se[_p][u].tl[h])!=3D-1){ob.partner=3Du;br=3D1;break;=
}}"
+"if(br){break;}}}else {ids=3Ds.__se[_p][u];}if(br){for(var =
i=3D0;i<s.__s"
+"e[_p][ob.partner].kw.length;i++){if(s.__se[_p][u].kw[i]&&typeof s._"
+"_se[_p][u].kw[i]=3D=3D'string') {var =
kwd=3Ds.__se[_p][u].kw[i].substring("
+"0,s.__se[_p][u].kw[i].length-1);ob.keyword=3Ds.getQueryParam?s.getQue"
+"ryParam(kwd,'', r):''; if(ob.keyword){break;}}}for(var x=3D0;x<ids.le"
+"ngth;x++){if(ob.matcher(_p,x)){ob.channel=3D_p;if(!ob.keyword){ob.key"
+"word=3D'n/a'; }break;}};if(!ob.channel){ob.channel=3D'Natural'; =
ob.camp"
+"aignId=3D'n/a'; }break;}}if(ob.isComplete()){return ob;}for(var _u in"
+" s.__se){if(_u=3D=3D_p){continue;}for(var u in =
s.__se[_u]){ids=3Ds.__se[_"
+"u][u];for(var x=3D0;x<ids.length;x++){if(ob.matcher(_u,x)){ob.channel"
+"=3D_u;ob.partner=3D_u;ob.keyword=3D'n/a'; =
break;}}if(ob.isComplete()){ret"
+"urn ob;}}}if(ob.isComplete()){return ob;}if(ob.referrer&&(ob.referr"
+"er!=3Dnr)){ob.channel=3Dow;ob.partner=3Dow;ob.keyword=3D'n/a'; =
ob.campaignI"
+"d=3D'n/a'; }if(ob.isComplete()){return =
ob;}ob.channel=3Ddl;ob.partner=3Dd"
+"l;ob.keyword=3D'n/a'; ob.campaignId=3D'n/a';return ob;");

/*
 * X+1 integration=20
 */
var xpToSend=3Dfunction(vc){if(!vc)return;var vd=3D'';var ve=3D'';var =
vf=3Dnew Array();
if(p.xp1_content_event_mapping){var =
vg=3Dp.fl(p.xp1_content_event_mapping,'|');
for(var i=3D0;i<vg.length;++i){var =
vh=3Dp.fl(vg[i],':');vf[vh[1]]=3Dvh[0];}}var vi=3Dp.fl(vc,'|');
for(var i=3D0;i<vi.length;++i){var vj,vk,vl;var =
vm=3Dp.fl(vi[i],':');if(vm[0].indexOf(';')>=3D0)
{var =
vn=3Dp.fl(vm[0],';');vj=3Dvn[0];vk=3Dvn[1];}else{vj=3Dvm[0];vk=3D0;}vl=3D=
vf[vm[1]];if(vk)vl+=3D'=3D'
+vk;else vl+=3D'=3D1';ve+=3Dvf[vm[1]]+',';var =
vo=3D';'+vj+';';vo+=3D';';vo+=3D';'+vl+',';vd+=3Dvo;}
var =
op,oe,olte,oltv;op=3Ds.products;oe=3Ds.events;olte=3Ds.linkTrackEvents;ol=
tv=3Ds.linkTrackVars;
s.products=3Dvd;s.linkTrackEvents=3Dve;s.events=3Ds.linkTrackEvents;
s.linkTrackVars=3D'products,events';s.tl('', =
'o');s.products=3Dop;s.events=3Doe;s.linkTrackEvents=3Dolte;
s.linkTrackVars=3Doltv;};s.sendXP1Data=3DxpToSend;

s.p("XP1",new Array(s.p_m("setup","this.fa();"),s.p_m("run","if(s.pev"
+"1){var va=3Dnew Date();var =
vb=3D'http';if(this.fw())vb=3Dvb+'s';vb+=3D'//';"
+"var =
vc=3Dthis.fd();if(!vc)vc=3D'2391-014';vb+=3Dthis.xp1_exit_path+'?plac"
+"ement=3D'+vc+'&invocation=3D4000&xvar_37=3D'+this.ft(this.fc(s.pev1))+'=
&r"
+"id=3D'+va.getTime();p.si(vb);}"),s.p_m("fa","this.fs();this.fk(this);"
+"var va=3Dthis.fd();var vb=3Dthis.fn();var vc=3Dthis.fe();var =
vd=3Dthis.fo()"
+";var ve=3Dthis.ff();var vf=3Dthis.fh(va,vb,vc);var vg=3Dthis.fb();var =
vh=3D"
+"this.fi(vd,ve,vg);this.fj(vf,vh);"),s.p_m("fb","var va=3Ddocument.ref"
+"errer,vc=3D'';vb=3Dthis.fc(va);if(!vb)vc=3D'Typed Bookmarked';else =
if(vb."
+"toLowerCase().indexOf('delta.com')>=3D0)vc=3D'';else vc=3Dvb;return =
this."
+"ft(vc);"),s.p_m("fc","va","if(!va)return '';var vb=3D'';var =
vc=3Dva.ind"
+"exOf('://')+3;var =
vd=3Dva.indexOf(':',vc);if(vd=3D=3D-1)vd=3Dva.indexOf('/'"
+",vc);if(vd=3D=3D-1)vd=3Dva.indexOf('?',vc);if(vd=3D=3D-1)vd=3Dva.indexO=
f('#',vc"
+");if(vd=3D=3D-1)vd=3Dva.indexOf(':',vc);if(vd=3D=3D-1)vd=3Dva.indexOf('=
;',vc);i"
+"f(vd=3D=3D-1)vb=3Dva.substring(vc);else =
vb=3Dva.substr(vc,vd-vc);return vb;"
),s.p_m("fd","var va=3Dthis.fq(this.omtr_page_name_mapping,'|','^');for"
+"(var vb in va)if(vb=3D=3Dthis.pageName)return va[vb];return =
'';"),s.p_m(
"fe","var va=3Dthis.fl(this.xp1_reward_ticket_hold_event_mapping,'|');v"
+"ar vb=3Dthis.fl(va[0],':');var vc=3Dthis.fl(va[1],':');var vd=3Dnew =
Objec"
+"t();var ve=3Dthis.fl(this['events'],',');if(!this.fP('purchase',ve)&&"
+"!this.fP(vb[0],ve))return vd;var vf=3D0;var =
vg=3Dthis.fl(this['products"
+"'],',');for(var i=3D0;i<vg.length;++i){var =
vh=3Dthis.fl(vg[i],';');if(v"
+"h.length>=3D4)if(this.fE(vh[1]))vf=3D1;}if(!vf)return =
vd;if(this.fP('pu"
+"rchase',ve))vd[vc[0]]=3Dvc[1];if(this.fP(vb[0],ve))vd[vb[0]]=3Dvb[1];re=
"
+"turn vd;"),s.p_m("ff","var va=3Dnew Object();var vb=3Dthis.fN();var =
vc=3D"
+"this.fK();var vd=3Dthis.fL();var ve=3Dthis.fM();var vf=3Dthis.fJ();var =
vg"
+"=3Dthis.fI();var vh=3Dthis.fH();var vi=3Dthis.fG();var =
vj=3Dthis.fF();if(vb"
+")va['xvar_5']=3Dthis.fN();if(vc)va['xvar_3']=3Dthis.fK();if(vd)va['xvar=
"
+"_16']=3Dthis.fL();if(ve)va['xvar_17']=3Dthis.fM();if(vf)va['xvar_19']=3D=
t"
+"his.fJ();if(vg)va['xvar_20']=3Dthis.fI();if(vh)va['xvar_26']=3Dthis.fH(=
"
+");if(vi)va['xvar_27']=3Dthis.fG();if(vj)va['xvar_35']=3Dthis.fF();retur=
"
+"n va;"),s.p_m("fg","va","var vb=3D','+this['events']+',';if(vb.indexO"
+"f(',purchase,')<0)return '';var vc=3D0;var =
vd=3Dthis.fl(this['vd'],',')"
+";var ve;for(var i=3D0;i<vd.length;++i){var =
vf=3D0;ve=3Dthis.fl(vd[i],';');"
+"if(ve.length>=3D4){if(va=3D=3D'pnr'&&this.fx(ve[1]))vf=3D1;else =
if(va=3D=3D'hot"
+"el'&&this.fA(ve[1]))vf=3D1;else =
if(va=3D=3D'booking'&&this.fB(ve[1]))vf=3D1"
+";else if(va=3D=3D'car'&&this.fC(ve[1]))vf=3D1;else =
if(va=3D=3D'crownroom'&&th"
+"is.fz(ve[1]))vf=3D1;else =
if(va=3D=3D'travlersinsurance'&&this.fy(ve[1]))v"
+"f=3D1;else if(va=3D=3D'bookingorigin'&&this.fD(ve[1]))vf=3D1;else =
if(va=3D=3D'b"
+"ookingdestination'&&this.fD(ve[1]))vf=3D1;else =
if(va=3D=3D'bookingrevenue"
+"'&&this.fD(ve[1]))vf=3D1;if(vf)vc+=3DparseFloat(ve[3]);}}return =
vc!=3D0?v"
+"c.toString():'';"),s.p_m("fh","va,vb,vc","var vd=3D0;var ve=3Dnew =
Array"
+"();if(va){ve[vd]=3Dva;vd++;}if(vb){for(var vf in =
vb){ve[vd]=3Dvb[vf];vd"
+"++;}}if(vc){for(var vf in vc){ve[vd]=3Dvc[vf];vd++;}}return ve;"),
s.p_m("fi","va,vb,vc","var vd=3Dnew Object();for(var ve in =
va)vd[ve]=3Dva"
+"[ve];for(var ve in vb)vd[ve]=3Dvb[ve];if(vc)vd['xvar_36']=3Dvc;return =
v"
+"d;"),s.p_m("fj","va,vb","if(!va)return;var vc=3D'<script =
src=3Dhttp';if"
+"(this.fw())vc=3Dvc+'s';vc=3Dvc+'://'+this.xp1_host_path+'?_o=3D5&_t=3Dp=
t-"
+"';var vd=3D'></script>';var ve=3Dthis.fm(vb);var v"
+"f=3D'';for(var i=3D0;i<va.length;++i){var =
vg=3Dvc+va[i]+ve+vd;if(vg.index"
+"Of('undefined') < 0) vf+=3Dvg;}if(vf){document.write(vf);}else if(ve)"
+"{if((vc+this.xp1_default_placement_id+ve+vd).indexOf('undefined') <"
+" 0){var xp1defaultflag=3D'true';}}"),
s.p_m("fk","va","var vb=3Dfunction(vc){if(!vc)return;var vd=3D'';var =
ve=3D'"
+"';var vf=3Dnew Array();if(p.xp1_content_event_mapping){var =
vg=3Dp.fl(p."
+"xp1_content_event_mapping,'|');for(var i=3D0;i<vg.length;++i){var =
vh=3D"
+"p.fl(vg[i],':');vf[vh[1]]=3Dvh[0];}}var vi=3Dp.fl(vc,'|');for(var =
i=3D0;i"
+"<vi.length;++i){var vj,vk,vl;var vm=3Dp.fl(vi[i],':');if(vm[0].indexO"
+"f(';')>=3D0){var =
vn=3Dp.fl(vm[0],';');vj=3Dvn[0];vk=3Dvn[1];}else{vj=3Dvm[0];"
+"vk=3D0;}vl=3Dvf[vm[1]];if(vk)vl+=3D'=3D'+vk;else =
vl+=3D'=3D1';ve+=3Dvf[vm[1]]+',';var vo=3D';'+vj"
+"+';';vo+=3D';';vo+=3D';'+vl+',';vd+=3Dvo;}s.products=3Dvd;s.linkTrackEv=
ents"
+"=3Dve+'purchase';s.linkTrackVars=3D'products,events';s.tl();};s.sendXP2=
"
+"Data=3Dvb;"),s.p_m("fl","va,vb","var vc=3Dnew Array();if(!va)return =
vc;"
+"if(va.length){var vd=3D0;var ve=3D1;var vf;do{vf=3Dva.indexO"
+"f(vb);if(vf>=3D0){vc[vd]=3Dva.substring(0,vf);va=3Dva.substring(vf+1,va=
.l"
+"ength);}else{vc[vd]=3Dva.substring(0,va.length);ve=3D0;}vd++;}while(ve)=
"
+";}return vc;"),s.p_m("fm","va","var vb=3D'';for(vc in =
va)vb+=3D'&'+vc+'"
+"=3D'+va[vc];return vb;"),s.p_m("fn","if(!this['events']) return '';va"
+"r va=3Dthis.fl(this['events'],',');var vb=3Dnew Object();var =
vc=3Dthis.fq"
+"(this.omtr_event_mapping,'|',':');for(var vd in vc){for(var ve in v"
+"a)if(va[ve]=3D=3Dvd)vb[vd]=3Dvc[vd];}return vb;"),s.p_m("fo","var =
va=3Dthis"
+".fq(this.omtr_variable_mapping,'|',':');var vb=3Dnew Object();for(var"
+" vc in va)if(this[vc])vb[va[vc]]=3Dthis.ft(this[vc]);return vb;"),
s.p_m("fp","va,vb","if(va.length<vb.length)return 0;if(va.indexOf(vb)"
+"!=3D0)return 0;return 1;"),s.p_m("fq","va,vb,vc","var vd=3Dnew =
Object()"
+";var ve=3Dthis.fl(va,vb);for(var i=3D0;i<ve.length;++i){var =
vf=3Dthis.fl("
+"ve[i],vc);vd[vf[0]]=3Dvf[1];}return vd;"),s.p_m("fr","x,d,f,a","var p"
+"=3Dthis;var t=3Dx;var =
z=3D0,y,r;while(t){y=3Dt.indexOf(d);y=3Dy<0?t.length:y;"
+"t=3Dt.substring(0,y);(f+' '+t+' =
'+a);r=3Dp.fu(f)?p[f](t,a):f(t,a);if(r)"
+"return =
r;z+=3Dy+d.length;t=3Dx.substring(z,x.length);t=3Dz<x.length?t:''}"
+"return '';"),s.p_m("fs","var =
p=3Dthis;p.variable_list=3D'pageName,pageU"
+"RL,referrer,purchaseID,channel,server,pageType,'+'campaign,state,zi"
+"p,events,products,linkName,linkType';for(var n=3D1;n<91;n++)p.variabl"
+"e_list+=3D',prop'+n+',eVar'+n+',hier'+n;p.fr(p.variable_list,',','fv'"
+",0);"),s.p_m("ft","x","var =
p=3Dthis,i;x=3Dx?p.fO(escape(''+x),'+','%2B'"
+"):x;if(x&&p.s.charSet&&p.s.em=3D=3D1&&x.indexOf('%u')<0&&x.indexOf('%U'=
"
+")<0){i=3Dx.indexOf('%');while(i>=3D0){i++;if(('89ABCDEFabcdef').indexOf=
"
+"(x.substring(i,i+1))>=3D0)return x.substring(0,i)+'u00'+x.substring(i"
+");i=3Dx.indexOf('%',i)}}return x"),s.p_m("fu","m","var p=3Dthis;return =
"
+"(''+m).indexOf('{')<0"),s.p_m("fv","t,a","var =
p=3Dthis;p[t]=3Dp.s[t];"),
s.p_m("fw","","return =
window.location.toString().substring(0,5)=3D=3D'https'?1:0;"),
s.p_m("fx","va","return (this.fD(va)||this.fE(va));"),s.p_m("fy","va",
"return this.fp(va,'TI');"),s.p_m("fz","va","return this.fp(va,'CRM')"
+";"),s.p_m("fA","va","return this.fp(va,'HO');"),s.p_m("fB","va","re"
+"turn this.fp(va,'R');"),s.p_m("fC","va","return this.fp(va,'CA');"),
s.p_m("fD","va","return this.fp(va,'Revenue-');"),s.p_m("fE","va","re"
+"turn this.fp(va,'Award-');"),s.p_m("fF","return this.fg('bookingrev"
+"enue');"),s.p_m("fG","return this.fg('bookingdestination');"),s.p_m(
"fH","return this.fg('bookingorigin');"),s.p_m("fI","return this.fg('"
+"travlersinsurance');"),s.p_m("fJ","return this.fg('crownroom');"),
s.p_m("fK","return this.fg('booking');"),s.p_m("fL","return this.fg('"
+"hotel');"),s.p_m("fM","return this.fg('car');"),s.p_m("fN","return "
+"this.fg('pnr');"),s.p_m("fO","x,o,n","var =
i=3Dx.indexOf(o),l=3Dn.length"
+">0?n.length:1;while(x&&i>=3D0){x=3Dx.substring(0,i)+n+x.substring(i+o.l=
"
+"ength);i=3Dx.indexOf(o,i+l);}return x;"),s.p_m("fP","va,vb","for(var "
+"i=3D0;i<vb.length;++i)if(vb[i]=3D=3Dva)return 1;return 0;")))
/*
 * Function - read combined cookies v 0.3
 */
if(!s.__ccucr){s.c_rr=3Ds.c_r;s.__ccucr =3D true;
s.c_r=3Dnew Function("k",""
+"var s=3Dthis,d=3Dnew =
Date,v=3Ds.c_rr(k),c=3Ds.c_rr('s_pers'),i,m,e;if(v)ret"
+"urn v;k=3Ds.ape(k);i=3Dc.indexOf(' =
'+k+'=3D');c=3Di<0?s.c_rr('s_sess'):c;i=3D"
+"c.indexOf(' =
'+k+'=3D');m=3Di<0?i:c.indexOf('|',i);e=3Di<0?i:c.indexOf(';'"
+",i);m=3Dm>0?m:e;v=3Di<0?'':s.epa(c.substring(i+2+k.length,m<0?c.length:=
"
+"m));if(m>0&&m!=3De)if(parseInt(c.substring(m+1,e<0?c.length:e))<d.get"
+"Time()){d.setTime(d.getTime()-60000);s.c_w(s.epa(k),'',d);v=3D'';}ret"
+"urn v;");}
/*
 * Function - write combined cookies v 0.3
 */
if(!s.__ccucw){s.c_wr=3Ds.c_w;s.__ccucw =3D true;
s.c_w=3Dnew Function("k","v","e",""
+"this.new2 =3D true;"
+"var s=3Dthis,d=3Dnew =
Date,ht=3D0,pn=3D's_pers',sn=3D's_sess',pc=3D0,sc=3D0,pv,sv,"
+"c,i,t;d.setTime(d.getTime()-60000);if(s.c_rr(k)) s.c_wr(k,'',d);k=3Ds"
+".ape(k);pv=3Ds.c_rr(pn);i=3Dpv.indexOf(' =
'+k+'=3D');if(i>-1){pv=3Dpv.substr"
+"ing(0,i)+pv.substring(pv.indexOf(';',i)+1);pc=3D1;}sv=3Ds.c_rr(sn);i=3D=
sv"
+".indexOf(' =
'+k+'=3D');if(i>-1){sv=3Dsv.substring(0,i)+sv.substring(sv.i"
+"ndexOf(';',i)+1);sc=3D1;}d=3Dnew =
Date;if(e){if(e.getTime()>d.getTime())"
+"{pv+=3D' '+k+'=3D'+s.ape(v)+'|'+e.getTime()+';';pc=3D1;}}else{sv+=3D' =
'+k+'"
+"=3D'+s.ape(v)+';';sc=3D1;}if(sc) =
s.c_wr(sn,sv,0);if(pc){t=3Dpv;while(t&&t"
+".indexOf(';')!=3D-1){var =
t1=3DparseInt(t.substring(t.indexOf('|')+1,t.i"
+"ndexOf(';')));t=3Dt.substring(t.indexOf(';')+1);ht=3Dht<t1?t1:ht;}d.set=
"
+"Time(ht);s.c_wr(pn,pv,d);}return v=3D=3Ds.c_r(s.epa(k));");}

/* WARNING: Changing any of the below variables will cause drastic
changes to how your visitor data is collected.  Changes should only be
made when instructed to do so by your account manager.*/
s.visitorNamespace=3D"delta"
s.trackingServer=3D"metrics.delta.com"
s.trackingServerSecure=3D"smetrics.delta.com"
s.dc=3D112
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
var s_code=3D'',s_objectID;function s_gi(un,pg,ss){var d=3D"function =
s_dr"
+"(x,o,n){var =
i=3Dx.indexOf(o);if(i>=3D0&&x.split)x=3D(x.split(o)).join(n);"
+"else =
while(i>=3D0){x=3Dx.substring(0,i)+n+x.substring(i+o.length);i=3Dx.i"
+"ndexOf(o)}return x}w.s_dr=3Ds_dr;function s_d(x) {var =
t=3D'`^@$#',l=3D'01"
+"23456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',d,n=3D0"
+",b,k,w,i=3Dx.lastIndexOf('~~');if(i>0){d=3Dx.substring(0,i);x=3Dx.subst=
ri"
+"ng(i+2);while(d){w=3Dd;i=3Dd.indexOf('~');if(i>0){w=3Dd.substring(0,i);=
d=3D"
+"d.substring(i+1)}else =
d=3D'';b=3DparseInt(n/62);k=3Dn-b*62;k=3Dt.substring("
+"b,b+1)+l.substring(k,k+1);x=3Ds_dr(x,k,w);n++}for(i=3D0;i<5;i++){w=3Dt.=
su"
+"bstring(i,i+1);x=3Ds_dr(x,w+' ',w)}}return =
x}w.s_d=3Ds_d;",c=3D"=3Df`I(~.su"
+"bstring(~return ~){`Ns=3D^I~.indexOf(~;$U~`s $U~.toLowerCase()~`YF`I("
+"'e`u`Ns=3Ds_c_il['+s@T+']~};s.~`YObject~.length~.toUpperCase~s.wd~@I>"
+"=3D~t^H~.location~')q=3D'~unction~dynamicAccount~link~#4$t~)$Ux^g!Objec=
"
+"t||!Object.prototype||!Object.prototype[x])~var ~@Q`ll)@Q`ll['+s@T+"
+"'].mrq(\"'+un+'\")'~s.pt(~ookieDomainPeriods~,`u,'~){$U~@I=3DparseFlo"
+"at(~$R+~while(~s@F~);s.~=3Dnew =
~.protocol~=3D''~visitor~;@P^cs[k],255)}"
+"~s_c2f~javaEnabled~connection^J~.lastIndexOf('~tm.get~eval(\"$ns.b."
+"addBehavior('# default# ~onclick~ternalFilters~^qc_i~ent$Y~Name~jav"
+"ascriptVersion~cookie~parseInt(~s.^Q~else~^g!s.iso@9||~','~o^qoid~b"
+"rowser~referrer~colorDepth~String~.host~}catch(e){~r=3Ds.m(f)?s[f](~}"
+"$U~s.un~s.eo~s.sq~s.p_l~t=3Ds.ot(o)~track~j=3D'1.~)?'Y':'N'~$yURL~for(~=
"
+"s.ismac~lugins~');~=3D=3D'~this~Type~s.c_r(k)~Sampling~s.rc[un]~s.b.add=
"
+"EventListener~)s.d.write(~Download~tfs~resolution~.get@U()~s.eh~s.i"
+"sie~s.vl_l~s.vl_t~s.d.images~Height~t,h){t=3Dt?t~escape(~screen.~s.fl"
+"(~harCode~name~variableProvider~&&(~_'+~&&s.~:'';h=3Dh?h~e&&l#3SESSIO"
+"N'~f',~Date~home$y~objectID~;eval(~.s_~s.c_w(~s.rl[u~s.ns6~o.href~s"
+".ppu~Lifetime~Width~sEnabled~'){q=3D'~transactionID~b.attachEvent~&&l"
+"#3NONE'){~ExternalLinks~charSet~onerror~currencyCode~.src~s=3Ds_gi(~p"
+"era~;s.gl(s.vl_g~.parent~){p=3D~Array~lnk~.rep(~Math.~s.fsg~s.apv~doc"
+"um~s.oun~InlineStats~Track~'0123456789~&&!~s[k]=3D~window~onload~heig"
+"ht~._in~Time~s.epa(~=3D's_~o.type~(s.ssl~=3D1 =
border=3D~Selection,~n=3Ds.oi"
+"d(o)~sr'+'c=3D\"'+~.set~LeaveQuery~')>=3D~&&t~'=3D')~\",\"\\~),\"\\~){n=
=3D~"
+"+1))~' '+~s.t()}~=3Ds.oh(o);~+(y<1900?~'<im'+'g ~ingServer~s_gs~true~"
+"sess~width~campaign~lif~un)~._il~ in ~,100)~s.co(~ffset~s.c_d~'&pe~"
+"s.gg(~s.gv(~s.qav~s.pl~=3D(apn~ =
alt=3D\"\">~sqs',q);~Year(~=3Ds.n.app~++}"
+"~(\")>=3D~e))~)+'/~',s~''+~'+n~s()+':'+~){c=3D~():''~a):f(~;n++)~:'')~)=
"
+"{v=3Ds.n.~channel~if(~.target~Image;i~o.value~Element~etscape~(ns?ns:"
+"~s_')t=3Dt~omePage~')<~'+(~){x~1);~[b](e);~events~trk~random~code~un,"
+"~try{~'MSIE ~INPUT'~floor(~s.pg~s.num(~s.ape(~s.c_gd~s.dc~.inner~Ev"
+"ents~page~Group,~Match,~.fromC~?'':~!=3D'~=3D'+~(\")<~?'&~+';~\",''~+'"=

+"\" ~(f){~){i=3D~&&i>~'\"'+~=3Dl[n];~~f`I =
`de#A`Nx`a,s=3D0,e,a,b,c;`V1){e=3D"
+"f`4'\"$J);b=3Df`4'\\\\',s);c=3Df`4\"\\n\",s)`5e<0||(b>=3D0&&b<$He=3Db`5=
e<0|"
+"|(c>=3D0&&c<$He=3Dc`5e>=3D0$f+=3D(e>s?f`1s,e)`U(e=3D=3Dc?'\\\\n':'\\\\'=
+f`1e,e@"
+"l;s=3De+1}`s `2x+f`1s)}`2f}w.`de=3D`de;f`I =
`da#A`Ns=3Df`4'(')+1,e=3Df`4')')"
+",a`a,c;`Vs>=3D0&&s<e$Nf`1s,s+1)`5c=3D=3D`u)a+=3D'\",\"';`6(\"\\n\\r\\t =
\")`"
+"4c)<0)a+=3Dc;s$F`2a?#Da+'\"':a}w.`da=3D`de;f`I =
`d(cc){cc`a+cc;`Nfc=3D'`Nf"
+"`YF`I($J=3Dcc`4';',cc`4'{')),e=3Dcc`g}'),o,a,d,q,c,f,h,x;fc+=3D`da(cc)+=
',"
+"\"`Ns`A;';c=3Dcc`1s+1,e);s=3Dc`4'f`I^G`Vs>=3D0){d=3D1;q`a;x=3D0;f=3Dc`1=
s);a=3D`da"
+"(f);e=3Do=3Dc`4'{$J);e++;`Vd>0){h=3Dc`1e,e+1)`5q`Sh=3D=3Dq@Ox)q`a`5h^H\=
\\\')x"
+"=3Dx?0:1;`s =
x=3D0}`s{$Uh^H\"'||h=3D=3D\"'\")q=3Dh`5h^H{')d++`5h^H}')d--^3d>0)"
+"e$Fc=3Dc`10,s)+'new =
F`I($ea?a+`u`U#D`de(c`1o+1,$H+'\")'+c`1e+$gs=3Dc`4'"
+"f`I')}fc+=3D`de(c)#7`2s\");'^pfc);`2f}w.`d=3D`d`5pg){f`I =
s_co(o){`N@8\""
+"_\",1,$g`2$2o)}w^qco=3Ds_co;f`I @s(@y{`N@8$m1,$g`2@nw^qgs=3D@s;f`I =
s_dc"
+"(@y{`N@8$m$g`2@nw^qdc=3Ds_dc;}f`I =
s_c($mpg,ss`3;s._c@Wc';`D=3D@Q`5!`D`l"
+"n){`D`ll`Y@D;`D`ln=3D0;}s@z=3D`D`ll;s@T=3D`D`ln;s@z[s@T]=3Ds;`D`ln++;s.=
m`0m"
+"){`2($Km)`4'{$d0`9fl`0x,l){`2x?($Kx)`10,l):x`9co`0o`S!o)`2o;`Nn`A,x"
+";^Dx$0o)$Ux`4'select$d0&&x`4'filter$d0)n[x]=3Do[x];`2n`9num`0x$f`a+x;"
+"^D`Np=3D0;p<x`B;p++)$U(@N')`4x`1p,p@l<0)`20;`21`9rep`0x,o,n){`Ni=3Dx`4o=
"
+");`Vx#C=3D0$f=3Dx`10,i)+n+x`1i+o`B);i=3Dx`4o,i+n`B)}`2x`9ape`0x`3,h=3D@=
NABC"
+"DEF',i,c=3Ds.@4,n,l,e,y`a;c=3Dc?c`C$O`5x$f`a+x`5c^HAUTO'^g'').c^dAt){^D=
"
+"i=3D0;i<x`B;i++$Nx`1i,i+$gn=3Dx.c^dAt(i)`5n>127){l=3D0;e`a;`Vn||l<4){e=3D=
h`"
+"1n%16,n%16+1)+e;n=3D`qn/16);l$Fy+=3D'%u'+e}`6c^H+')y+=3D'%2B';`s =
y+=3D^ac)}"
+"x=3Dy}`s{x=3Dx?`W^a$Kx),'+`u%2B'):x`5x&&c^iem=3D=3D1&&x`4'%u$d0&&x`4'%U=
$d0#"
+"Bx`4'%^G`Vi>=3D0){i++`5h`18)`4x`1i,i+1)`C())>=3D0)`2x`10,i)+'u00'+x`1i)=
"
+";i=3Dx`4'%',i)}}}}`2x`9epa`0x`3;`2x?un^a`W$Kx,'+`u ')):x`9pt`0x,d,f,a"
+"`3,t=3Dx,z=3D0,y,r;`Vt){y=3Dt`4d);y=3Dy<0?t`B:y;t=3Dt`10,y);^2t,$Pt,a)`=
5r)`2r"
+";z+=3Dy+d`B;t=3Dx`1z,x`B);t=3Dz<x`B?t:''}`2''`9isf`0t,a){`Nc=3Da`4':')`=
5c>=3D"
+"0)a=3Da`10,c)`5t`10,2)^H$b`12);`2(t!`a@g=3D=3Da)`9fsf`0t,a`3`5`Pa`Ris^l=
t)"
+")@H+=3D(@H!`a?`u`Ut;`20`9fs`0x,f`3;@H`a;`Px`Rfs^lf);`2@H`9c_d`a;$uf`0"
+"t,a`3`5!$st))`21;`20`9c_gd`0`3,d=3D`D`G^0^e,n=3Ds.fpC`Q,p`5!n)n=3Ds.c`Q=
`5"
+"d@O$4@kn?`qn):2;n=3Dn>2?n:2;p=3Dd`g.')`5p>=3D0){`Vp>=3D0&&n>1@Cd`g.',p-=
$gn-"
+"-}$4=3Dp>0&&`Pd,'.`uc_gd^l0)?d`1p):d}}`2$4`9c_r`0k`3;k=3D$tk);`Nc=3D@ms=
.d"
+".`p,i=3Dc`4@mk+@h,e=3Di<0?i:c`4';',i),v=3Di<0#2@Vc`1i+2+k`B,e<0?c`B:$H;=
`2"
+"v#3[[B]]'?v:''`9c_w`0k,v,e`3,d=3D$u(),l=3Ds.`p^w,t;v`a+v;l=3Dl?($Kl)`C$=
O`"
+"5^k@2t=3D(v!`a?`ql?l:0):-60)`5t){e`Y^m;e@d@U(e^S+(t*1000))}^3k@2s.d.`"
+"p=3Dk+'`Lv!`a?v:'[[B]]')#7 path=3D/;$e^k?' =
expires#4e.toGMT`z()#7'`U(d?"
+"' =
domain#4d#7':'^G`2^K=3D=3Dv}`20`9eh`0o,e,r,f`3,b=3D's^he+'^hs@T,n=3D-1,l,=
"
+"i,x`5!^Tl)^Tl`Y@D;l=3D^Tl;^Di=3D0;i<l`B&&n<0;i++`Sl[i].o=3D=3Do&&l[i].e=
=3D=3De)"
+"n=3Di^3n<0@ki;l[n]`A}x#Ex.o=3Do;x.e=3De;f=3Dr?x.b:f`5r||f$f.b=3Dr?0:o[e=
];x.o["
+"e]=3Df^3x.b$f.o[b]=3Dx.b;`2b}`20`9cet`0f,a,t,o,b`3,r`5`E5`t`E7))eval('$=
"
+"n^2$Pa)^1r=3Ds.m(t)?s[t](e):t(e)}^G`s{$U^E^iu`4$o4@f0)r=3Ds.m(b)?s[b](a=
"
+"):b(a);`s{^T(`D,'@5',0,o);^2$Pa`Xeh(`D,'@5',1)}}`2r`9g^Qet`0e`3;`2`"
+"r`9g^Qoe`8;^T(@Q,\"@5\",1`Xe^Q=3D1;`Nc=3Ds.t()`5c^Oc`Xe^Q=3D0;`2@t'`Xg^=
Qf"
+"b`0a){`2@Q`9g^Qf`0w`3,p=3Dw@B,l=3Dw`G;`r=3Dw`5p&&p`G!=3Dl&&p`G^0=3D=3Dl=
^0){`r=3Dp"

+";`2s.g^Qf(`r)}`2`r`9g^Q`0`3`5!`r){`r=3D`D`5!s.e^Q)`r=3Ds.cet('g^Q^l`r,'=
"
+"g^Qet$J.g^Qoe,'g^Qfb')}`2`r`9mrq`0u`3,l=3D^s],n,r;^s]=3D0`5l)^Dn=3D0;n<=
l`"
+"B$Q{r#Es.mr(0,0,r.t,r.u,r.r)}`9mr`0@u,q,ta,u,rs`3,dc=3D$v,t1=3Ds.^9@r,t=
"
+"2=3Ds.^9@rSecure,ns=3Ds.`b`nspace,un=3Du?u:$as.f@y,unc=3D`W$m'_`u-'),r`=
A,l,"
+"imn@Wi^h(@y,im,b,e`5!rs){rs=3D'http'+@Y?'s'`U'://$et1?@Y@g2?t2:t1):($"
+"a@Y?'102':unc))+'.$e$v?$v:112)+'.2o7.net')$Ib/ss/'+^4+'/1/H.14/'+@u"
+"+'?[AQB]&ndh=3D1$eq?q`U'&[AQE]'`5^U@O^E`S@I>5.5)rs=3D^crs,4095);`s =
rs=3D^"
+"crs,2047)}^3^X&&`E3`t`E7)^g^t<0||`E6.1)`S!s.rc)s.rc`A`5!^M){^M=3D1`5!"
+"s.rl)s.rl`A;^sn]`Y@D;set@Uout('$U`O,750)}`s{l=3D^sn]`5l){r.t=3Dta;r.u=3D=
u"
+"n;r.r=3Drs;l[l`B]=3Dr;`2''}imn+=3D'^h^M;^M$Fim=3D`D[imn]`5!im)im=3D`D[i=
mn]`Y$"
+"Wm^ql=3D0;im.@R`YF`I('e`u^I^ql=3D1`5`O);im@7=3Drs`5rs`4$5=3D@f0^g!ta||t=
a^H_"
+"self'||ta^H_top'||(`D.^e@ga=3D=3D`D.^e))){b=3De`Y^m;`V!im^ql&&e^S-b^S<5=
00"
+")e`Y^m}`2''}`2@q@crs#9@v=3D1 @S@Z0$B'`9gg`0v`3`5!`D['s^hv])`D['s^hv]`"
+"a;`2`D['s^hv]`9glf`0t,a`St`10,2)^H$b`12);`Ns=3D^I,v=3D$6t)`5v)s[t]=3Dv`=
9g"
+"l`0v`3`5$r)`Pv`Rgl^l0)`9gv`0v`3;`2s['vpm^hv]?s['vpv^hv]:(s[v]?s[v]$"
+"R`9havf`0t,a`3,b=3Dt`10,4),x=3Dt`14),n=3D`qx),k=3D'g^ht,m=3D'vpm^ht,q=3D=
t,v=3Ds.`"
+"K@MVars,e=3Ds.`K@M$x;@P$7t)`5s.@E||^5){v=3Dv?v+`u+^V+`u+^V2:''`5v@O`Pv`=
"
+"Ris^lt))s[k]`a`5`F$i'&&e)@Ps.fs(s[k],e)}s[m]=3D0`5`F`bID`Hvid';`6`F^C"
+"^zg'`c`6`F`x^zr'`c`6`Fvmk`Hvmt';`6`F@4^zce'`5s[k]&&s[k]`C()^HAUTO')"
+"@P'ISO8859-1';`6s[k]^iem=3D=3D2)@P'UTF-8'}`6`F`b`nspace`Hns';`6`Fc`Q`Hc=
"
+"dp';`6`F`p^w`Hcl';`6`F^f`Hvvp';`6`F@6`Hcc';`6`F$T`Hch';`6`F@0`Hxact"
+"';`6`F@w`Hv0';`6`F^R`Hs';`6`F`y`Hc';`6`F`o`Hj';`6`F`e`Hv';`6`F`p^y`"
+"Hk';`6`F`w^x`Hbw';`6`F`w^Y`Hbh';`6`F`f`Hct';`6`F^n`Hhp';`6`Fp^F`Hp'"
+";`6$sx)`Sb^Hprop`Hc$L;`6b^HeVar`Hv$L;`6b^Hhier^zh$L`c^3s[k]@g#3`K`n"
+"'@g#3`K^J')$8+=3D'&'+q+'`Ls[k]);`2''`9hav`0`3;$8`a;`P^W`Rhav^l0);`2$8"
+"`9lnf`0^Z`7^j`7:'';`Nte=3Dt`4@h`5t@ge>0&&h`4t`1te@l>=3D0)`2t`10,te);`2'=
"
+"'`9ln`0h`3,n=3Ds.`K`ns`5n)`2`Pn`Rln^lh);`2''`9ltdf`0^Z`7^j`7:'';`Nqi=3D=
"
+"h`4'?^Gh=3Dqi>=3D0?h`10,qi):h`5t&&h`1h`B-(t`B@l^H.'+t)`21;`20`9ltef`0^Z=
"
+"`7^j`7:''`5t&&h`4t)>=3D0)`21;`20`9lt`0h`3,lft=3Ds.`K^PFile^Js,lef=3Ds.`=
KE"
+"x`k,@x=3Ds.`KIn`k;@x=3D@x?@x:`D`G^0^e;h=3Dh`7`5s.^9^PLinks&&lft&&`Plft`=
Rl"
+"td^lh))`2'd'`5s.^9@3^glef||@x)^g!lef||`Plef`Rlte^lh))^g!@x||!`P@x`R"
+"lte^lh)))`2'e';`2''`9lc`8,b=3D^T(^I,\"`j\"`X@E=3D$2^I`Xt(`X@E=3D0`5b)`2=
^I"
+"$h`2@t'`Xbc`8,f`5s.d^id.all^id.all.cppXYctnr)return;^5=3De@7$Y?e@7$Y:"
+"e$V^p\"$n$U^5^g^5.tag`n||^5.par`m||^5@BNod$H@ncatch#A}\"`Xeo=3D0'`Xoh"
+"`0o`3,l=3D`D`G,h=3D^u?^u:'',i,j,k,p;i=3Dh`4':^Gj=3Dh`4'?^Gk=3Dh`4'/')`5=
h^gi<0"
+"||(j>=3D0#Cj)||(k>=3D0#Ck))@Co`Z&&o`Z`B>1?o`Z:(l`Z?l`Z:'^Gi=3Dl.path^e`=
g/"
+"^Gh=3D(p?p+'//'`U(o^0?o^0:(l^0?l^0$R)+(h`10,1)#3/'?l.path^e`10,i<0?0:"
+"i$I'`Uh}`2h`9ot`0o){`Nt=3Do.tag`n;t=3Dt@g`C?t`C$O`5`FSHAPE')t`a`5t`S`F$=
"
+"p&&@X&&@X`C)t=3D@X`C();`6^u)t=3D'A';}`2t`9oid`0o`3,^8,p,c,n`a,x=3D0`5t@=
O`"
+"v@Co`Z;c=3Do.`j`5^u^g`FA'||`FAREA')^g!c||!p||p`7`4'javascript$d0))n@o"
+"`6c@k`Ws@F`Ws@F$Kc,\"\\r#8@jn#8@jt#8),' `u^Gx=3D2}`6$X^g`F$p||`FSUBMI"
+"T')@k$X;x=3D3}`6o@7&&`FIMAGE')n=3Do@7`5n){`v=3D^cn$1;`vt=3Dx}}`2`v`9rqf=
`0t,"
+"un`3,e=3Dt`4@h,u=3De>=3D0?`u+t`10,e)+`u:'';`2u&&u`4`u+un+`u)>=3D0?@Vt`1=
e@l:"
+"''`9rq`0un`3,c=3Dun`4`u),v=3Ds.c_r('s_sq'),q`a`5c<0)`2`Pv,'&`urq^l@y;`2=
"
+"`Pun`Rrq',0)`9sqp`0t,a`3,e=3Dt`4@h,q=3De<0#2@Vt`1e+1)`Xsqq[q]`a`5e>=3D0=
)`"
+"Pt`10,e)`R$C`20`9sqs`0$mq`3;^6u[un]=3Dq;`20`9sq`0q`3,k@Wsq',v=3D^K,x,c=3D=
"
+"0;^6q`A;^6u`A;^6q[q]`a;`Pv,'&`usqp',0);`P^4`R$Cv`a;^Dx$0^6u`M)^6q[^"
+"6u[x]]+=3D(^6q[^6u[x]]?`u`Ux;^Dx$0^6q`M&&^6q[x]^gx=3D=3Dq||c<2)){v+=3D(=
v#6'"
+"`U^6q[x]+'`Lx);c$F`2^rk,v,0)`9wdl`8,r=3D@t,b=3D^T(`D,\"@R\"),i,o,oc`5b)=
"
+"r=3D^I$h^Di=3D0;i<s.d.`Ks`B;i++){o=3Ds.d.`Ks[i];oc=3Do.`j?\"\"+o.`j:\"\=
"`5("
+"oc`4\"@s#50||oc`4\"^qoc$G0)&&oc`4\".tl#50)^T(o,\"`j\",0,s.lc);}`2r^"
+"G`Ds`0`3`5@I>3^g!^U||!^E||`E5)`Ss.b^i@1)s.@1('`j$J.bc);`6s.b&&^N)^N"
+"('click$J.bc,false);`s =
^T(`D,'@R',0,`Dl)}`9vs`0x`3,v=3Ds.`b^L,g=3Ds.`b^"
+"L$zk@Wvsn^h^4+(g?'^hg$R,n=3D^K,e`Y^m,y=3De.get$D);e@d$Dy+10@p1900:0))`5=
"
+"v){v*=3D100`5!n`S!^rk,x,$H`20;n=3Dx^3n%10000>v)`20}`21`9dyasmf`0t,m`St&=
"
+"&m&&m`4t)>=3D0)`21;`20`9dyasf`0t,m`3,i=3Dt?t`4@h:-1,n,x`5i>=3D0&&m){`Nn=
=3Dt"
+"`10,i),x=3Dt`1i+1)`5`Px`Rdyasm^lm))`2n}`20`9uns`0`3,x=3Ds.`J@al=3Ds.`JL=
is"
+"t,m=3Ds.`J#0n,i;^4=3D^4`7`5x&&l`S!m)m=3D`D`G^0`5!m.toLowerCase)m`a+m;l=3D=
l`"
+"7;m=3Dm`7;n=3D`Pl,';`udyas^lm)`5n)^4=3Dn}i=3D^4`4`u`Xfun=3Di<0?^4:^4`10=
,i)`9s"
+"a`0un`3;^4=3Dun`5!@K)@K=3Dun;`6(`u+@K+`u)`4@y<0)@K+=3D`u+un;^4s()`9p_e`=
0i"
+",c`3,p`5!^7)^7`A`5!^7[i]@C^7[i]`A;p@z=3D`D`ll;p@T=3D`D`ln;p@z[p@T]=3Dp;=
`D"
+"`ln++;p.i=3Di;p.s=3Ds;p.si=3Ds.p_si;p.sh=3Ds.p_sh;p.cr=3Ds.p_cr;p.cw=3D=
s.p_cw;}"
+"p=3D^7[i]`5!p.e@Oc){p.e=3D1`5!^v)^v`a;^v+=3D(^v?`u`Ui}`2p`9p`0i,l`3,p=3D=
s.p"
+"_e(i,1),n`5l)^Dn=3D0;n<l`B$Qp[l[n].n]=3Dl[n].f`9p_m`0n,a,c`3,m`A;m.n=3D=
n`"
+"5!c$Na;a=3D'\"p\",\"s\",\"o\",\"e\"'}`s =
a=3D#D`Wa,\",@i\",\\\"\")+'\"'^"
+"p'm.f`YF`I('+a+',\"'+`Ws@F`Ws@Fc,\"\\\\\",\"\\\\\\\\\"@j\"@i\\\\\""
+"\"@jr@i\\r\"@jn@i\\n\")+'\")^G`2m`9p_si`0u){`Np=3D^I,s=3Dp.s,n,i;n@Wp_i=
"
+"^hp.i`5!p.u@Os.ss^O@q^e=3D\"$L#9$eu?'@cu#9'`U'@S=3D1 =
@v@Z0$B^G`6u&&^X&&"
+"`E3`t`E7)^g^t<0||`E6.1)#B`D[n]?`D[n]:^X[n]`5!i)i=3D`D[n]`Y$W@7=3Du}p.u=3D=
"
+"1`9p_sh`0h){`Np=3D^I,s=3Dp.s`5!p.h&&h^Oh);p.h=3D1`9p_cr`0k){`2^I.^K`9p_=
cw"
+"`0k,v,e){`2^I.^rk,v,e)`9p_r`0`3,p,n`5^7)^Dn$0^7@C^7[n]`5p&&p.e`Sp@d"
+"up@Op.c)p@dup(p,s)`5p.r@yp.run(p,s)`5!p.c)p.c=3D0;p.c$F}`9t`0`3,$j=3D1,=
"
+"tm`Y^m,sed=3DMath&&@G$k?@G$q@G$k()*10000000000000):`h@U(),@u=3D's'+@G$q=
"
+"`h@U()/10800000)%10+sed,y=3D`h$D),vt=3D`h^m($I'+`hMonth($I'@py+1900:y)+=
"
+"@m`hHour$M`hMinute$M`hSeconds()+@m`hDay()+@m`h@UzoneO$3(),^Q=3Ds.g^Q("
+"),ta`a,q`a,qs`a@A`Xuns()`5!s.td){`Ntl=3D^Q`G,a,o,i,x`a,c`a,v`a,p`a,bw"
+"`a,bh`a,^A0',k=3D^r's_cc`u@t',0^B,hp`a,ct`a,pn=3D0,ps`5`z&&`z.prototype=
"
+"){^A1'`5j.match){^A2'`5tm@dUTC^m){^A3'`5^U&&^E&&`E5)^A4'`5pn.toPrec"
+"ision){^A5';a`Y@D`5a.forEach){^A6';i=3D0;o`A^p'$ni`YIterator(o)^1}')`"
+"5i&&i.next)^A7'}}}}^3`E4)x=3D^b@v+'x'+^b@S`5s.isns||s.iso@9`S`E3$S`e("
+"^B`5`E4$N^bpixelDepth;bw=3D`D$w^x;bh=3D`D$w^Y}}$9=3Ds.n.p^F}`6^U`S`E4$S=
`e"
+"(^B;c=3D^b`y`5`E5){bw=3Ds.d.@J`m.o$3^x;bh=3Ds.d.@J`m.o$3^Y`5!^E^ib){`ih=
$c"
+"^Ghp=3Ds.b.isH$c(tl^B^1}\");`iclientCaps^Gct=3Ds.b.`f^1}\")}}}`s =
r`a^3$"
+"9)`Vpn<$9`B&&pn<30){ps=3D^c$9[pn].^e$1#7'`5p`4ps)<0)p+=3Dps;pn$Fs.^R=3D=
x;"
+"s.`y=3Dc;s.`o=3Dj;s.`e=3Dv;s.`p^y=3Dk;s.`w^x=3Dbw;s.`w^Y=3Dbh;s.`f=3Dct=
;s.^n=3Dhp;s"
+".p^F=3Dp;s.td=3D1^3s.useP^F)s.doP^F(s);`Nl=3D`D`G,r=3D^Q.@Jent.`x`5!s.^=
C)s."
+"^C=3Dl`5!s.`x)s.`x=3Dr`5s.@E||^5){`No=3D^5?^5:s.@E`5!o)`2'';`Np=3D$7'$y=
`n')"
+",w=3D1,^8,@b,x=3D`vt,h,l,i,oc`5^5&&o=3D=3D^5){`Vo@On@g#3BODY'){o=3Do.pa=
r`m?o."
+"par`m:o@BNode`5!o)`2'';^8;@b;x=3D`vt}oc=3Do.`j?$Ko.`j:''`5(oc`4\"@s$G0&=
"
+"&oc`4\"^qoc#50)||oc`4\".tl$G0)`2''}ta=3Dn?o$V:1;h@oi=3Dh`4'?^Gh=3Ds.`K@=
e`"
+"z||i<0?h:h`10,i);l=3Ds.`K`n?s.`K`n:s.ln(h);t=3Ds.`K^J?s.`K^J`7:s.lt(h)`=
"
+"5t^gh||l))q+=3D$5=3D@E^h(`Fd'||`Fe'?$tt):'o')+(h?$5v1`Lh)`U(l?$5v2`Ll):=
"
+"'^G`s =
$j=3D0`5s.^9@L`S!p@C$7'^C^Gw=3D0}^8;i=3Do.sourceIndex`5$6'^o')@k$6'"
+"^o^Gx=3D1;i=3D1^3p&&n@g)qs=3D'&pid`L^cp,255))+(w#6pidt#4w`U'&oid`L^cn$1=
)+"
+"(x#6oidt#4x`U'&ot`Lt)+(i#6oi#4i$R}^3!$j@Oqs)`2''`5s.p_r)s.p_r();`N$"
+"l`a`5$j^ivs(sed))$l=3Ds.mr(@u,(vt#6t`Lvt)`Us.hav()+q+(qs?qs:s.rq(^4))"
+",ta`Xsq($j#2qs`X@E=3D^5=3Ds.`K`n=3Ds.`K^J=3D`D^q^o=3D^v`a`5$r)`D^q@E=3D=
`D^qeo=3D`"
+"D^q`K`n=3D`D^q`K^J`a;`2$l`9tl`0o,t,n`3;s.@E=3D$2o`X`K^J=3Dt;s.`K`n=3Dn;=
s.t("
+")`9ssl=3D(`D`G`Z`7`4'https@f0`Xd=3D@Jent;s.b=3Ds.d.body;s.n=3Dnavigator=
;s.u"
+"=3Ds.n.userAgent;^t=3Ds.u`4'N$Z6/^G`Napn$E`n,v$EVersion,ie=3Dv`4$o'),o=3D=
s."
+"u`4'O@9 '),i`5v`4'O@9@f0||o>0)apn=3D'O@9';^U$A^HMicrosoft Internet Ex"
+"plorer'`Xisns$A^HN$Z'`Xiso@9$A^HO@9'`Xismac=3D(s.u`4'Mac@f0)`5o>0)`Ts"
+".u`1o+6));`6ie>0){@I=3D`qi=3Dv`1ie+5))`5@I>3)`Ti)}`6^t>0)`Ts.u`1^t+10))=
"
+";`s =
`Tv`Xem=3D0`5`z#1^d#B^a`z#1^d(256))`C(`Xem=3D(i^H%C4%80'?2:(i^H%U01"
+"00'?1:0))}s.sa(un`Xvl_l=3D'`bID,vmk,ppu,@4,`b`nspace,c`Q,`p^w,$y`n,^C"
+",`x,@6';^W=3D^V+',^f,$T,server,$y^J,@0,purchaseID,@w,state,zip,$i,pro"
+"ducts,`K`n,`K^J';^D`Nn=3D1;n<51$Q^W+=3D',prop$L+',eVar$L+',hier$L;^V2=3D=
'"
+"^R,`y,`o,`e,`p^y,`w^x,`w^Y,`f,^n,p^F';^W+=3D`u+^V2;s.vl_g=3D^W+',`b^L,`=
"
+"b^L$z`J@a`JList,`J#0^9^PLinks,^9@3,^9@L,`K@e`z,`K^PFile^Js,`KEx`k,`"
+"KIn`k,`K@MVars,`K@M$x,`K`ns,@E';$r=3Dpg@A)`5!ss)`Ds()}",
w=3Dwindow,l=3Dw.s_c_il,n=3Dnavigator,u=3Dn.userAgent,v=3Dn.appVersion,e=3D=

v.indexOf('MSIE '),m=3Du.indexOf('Netscape6/'),a,i,s;if(un){un=3D
un.toLowerCase();if(l)for(i=3D0;i<l.length;i++){s=3Dl[i];if(s._c=3D=3D's_=
c'){
if(s.oun=3D=3Dun)return s;else if(s.fs(s.oun,un)){s.sa(un);return s}}}}
eval(d);c=3Ds_d(c);i=3Dc.indexOf("function s_c(");eval(c.substring(0,i))
if(!un)return =
0;c=3Dc.substring(i);if(e>0){a=3DparseInt(i=3Dv.substring(e
+5));if(a>3)a=3DparseFloat(i)}else =
if(m>0)a=3DparseFloat(u.substring(m+10)
);else a=3DparseFloat(v);if(a>=3D5&&v.indexOf('Opera')<0&&u.indexOf(
'Opera')<0){eval(c);return new s_c(un,pg,ss)}else s=3Ds_c2f(c);return s(
un,pg,ss)}s_gi()


=09


------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/shared/components/js/calendar.js

var calForm =3D "";
var calSDay =3D "";
var calSMonth =3D "";
childwin =3D null;

var cal_isNetscape =3D navigator.appName.indexOf("Netscape") !=3D -1;

var cal_today =3D new Date();
var cal_currentDate =3D cal_today.getDate();
var cal_currentMonth =3D cal_today.getMonth();
var cal_currentYear =3D cal_today.getYear();

if (cal_isNetscape) cal_currentYear +=3D 1900;

function openCalendar(tbForm, sDay, sMonth, e) {
   self.calForm =3D tbForm;
   self.calSDay =3D sDay;
   self.calSMonth =3D sMonth;

   w =3D screen.width-350
   h =3D screen.height-220
   x =3D e.screenX
   y =3D e.screenY
      if(x > w){
         x =3D x-350
         }
      if(y > h){
         y =3D y-220
         }

   var calendarUrl =3D "/components/popups/calendar.jsp";

   var monthSel =3D document.getElementsByName(calSMonth);

   if (monthSel !=3D null) {
      var selectedMonthIndex =3D monthSel[0].selectedIndex;
      var month =3D selectedMonthIndex;
      var year =3D  cal_currentYear;

      if (month < cal_currentMonth ) {
         year =3D year  + 1;
      }
      calendarUrl =3D calendarUrl + "?y=3D" + year + "&m=3D" + month;

   }
   =
childwin=3Dwindow.open(calendarUrl,'Calendar','width=3D350,height=3D220,t=
op=3D'+y+',left=3D'+x);
}

function setDate(day, month) {
   var daySel =3D document.getElementsByName(calSDay);
   daySel[0].options[day - 1].selected =3D true;
   var monthSel =3D document.getElementsByName(calSMonth);
   monthSel[0].options[month].selected =3D true;
}

function setRetMonth(tbForm, deptMonth, retMonth){
   var box1 =3D document.getElementsByName(deptMonth);
   var box2 =3D document.getElementsByName(retMonth);
   box2[0].selectedIndex =3D box1[0].selectedIndex;
}

//when dept date chnages , change destination date to +7 days
function setRetDate(deptMonth, retMonth, deptDay, retDay){
   var dayBox1 =3D document.getElementsByName(deptDay);
   var dayBox2 =3D document.getElementsByName(retDay);
   var monthBox1 =3D document.getElementsByName(deptMonth);
   var monthBox2 =3D document.getElementsByName(retMonth);
   var curDay =3D dayBox1[0].selectedIndex + 1; //since its 0 based add =
1
   var curMonth =3D monthBox1[0].selectedIndex; //its 0 based, so is the =
drop box
=20
   var cal =3D new Date();
   cal.setMonth(curMonth);
   cal.setDate(curDay + 7);

   dayBox2[0].selectedIndex =3D cal.getDate() - 1;
   monthBox2[0].selectedIndex =3D cal.getMonth();
}

// this will auto close the calendar window if no date is selected

function closeMe(){
   if (childwin !=3D null){
   childwin.close()
   childwin =3D null
   }
}



------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/shared/components/js/cityCodes.js

var airportListForm =3D "";
var airportListBox =3D "";

function openCityCodes(tbForm, tbBox, e) {
   self.airportListForm =3D tbForm;
   self.airportListBox =3D tbBox;

   w =3D screen.width-400
   h =3D screen.height-215
   x =3D e.screenX
   y =3D e.screenY
      if(x > w){
         x =3D x-400
         }
      if(y > h){
         y =3D y-215
         }

	=
childwin=3Dwindow.open('/booking/cityCodes.do','CityCodes','width=3D460,h=
eight=3D319,top=3D'+y+',left=3D'+x);
}

function setAirportValue(airportCode) {
   var box =3D document.getElementsByName(airportListBox);
   for (var i=3D0; i<box.length; i++) {
      box[i].value =3D airportCode;
   }
}

// this will auto close the calendar if no date is selected and focus is =
lost

function closeMe(){
   if (childwin !=3D null){
   childwin.close()
   childwin =3D null
   }
}

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/booking/javascripts/onewayRoundtrip.js

function DoRoundtripOneway(which) {
document.getElementById('RTRerror').style.display =3D 'none';
clearForm('HomeForm');
	if (which =3D=3D 'roundtrip') { show("ReturnMonthAndTime"); }
	else if (which =3D=3D 'oneway') { hide("ReturnMonthAndTime"); }
	else {}
}

function fullSearch(multicity){
	var formAction =3D '/booking/searchFlights.do?displayTripType=3D';
	if (multicity) {
		formAction =3D formAction + 'multicity';
		var deptCity =3D document.getElementById("leave");
		var destCity =3D document.getElementById("going");
		if (deptCity !=3D null && deptCity.value !=3D null && deptCity.value =
!=3D '') {
			if (document.HomeForm.tripType[0].checked =3D=3D true && destCity =
!=3D null) {
				formAction =3D formAction + '&departureCity[1]=3D' + destCity.value =
+ '&destinationCity[1]=3D' + deptCity.value;
			}
		}
	} else {
		if (document.HomeForm.tripType[1].checked =3D=3D true){
			formAction =3D formAction + 'oneway';   =20
		} else {
			formAction =3D formAction + 'roundtrip';
		}
	}
	document.forms['HomeForm'].action =3D formAction;
	document.forms['HomeForm'].submit();
}=20

function validateRTR(){
	errorText =3D '';
	var today =3D new Date().getTime();
	var leaveDate =3D new =
Date(document.getElementById('departureDate').value).getTime();
	var returnDate =3D new =
Date(document.getElementById('returnDate').value).getTime();
	var isError =3D false;
	clearForm('HomeForm');
	document.getElementById('RTRerror').style.display =3D 'none';
	if(document.getElementById('leave').value.length < 3){
		updateErrorText('You must enter a departure city.');
		document.getElementById('formHomepageRTRFrom').className =3D 'error';
		isError =3D true;=09
	}
	if(document.getElementById('going').value.length < 3){
		updateErrorText('You must enter a destination city.');
		document.getElementById('formHomepageRTRTo').className =3D 'error';
		isError =3D true;=09
	}
	if(document.getElementById('departureDate').value =3D=3D 'mm/dd/yyyy' =
|| document.getElementById('departureDate').value.length =3D=3D 0){
		updateErrorText('You must enter a departure date.');
		document.getElementById('RTRdepartureDate').className =3D 'error';
		isError =3D true;=09
	}
	if((document.HomeForm.tripType[0].checked) && =
(document.getElementById('returnDate').value =3D=3D 'mm/dd/yyyy' || =
document.getElementById('returnDate').value.length =3D=3D 0)){
		updateErrorText('You must enter a return date.');
		document.getElementById('RTRreturnDate').className =3D 'error';
		isError =3D true;	=09
	}
	if((document.HomeForm.tripType[0].checked) && =
(document.getElementById('departureDate').value !=3D 'mm/dd/yyyy') && =
(returnDate < leaveDate)){
		updateErrorText('Departure date must be before return date.');
		document.getElementById('RTRdepartureDate').className =3D 'error';
		document.getElementById('RTRreturnDate').className =3D 'error';
		isError =3D true;	=09
	}
	if(dateDifference(leaveDate,today) > 332){
		updateErrorText('Departure date must not be further than 331 days from =
today.');
		document.getElementById('RTRdepartureDate').className =3D 'error';
		isError =3D true;
	}
	if(dateDifference(returnDate,today) > 332){
		updateErrorText('Return date must not be further than 331 days from =
today.');
		document.getElementById('RTRreturnDate').className =3D 'error';
		isError =3D true;
	}
	if(isError){
		document.getElementById('RTRerror').innerHTML =3D errorText;
		document.getElementById('RTRerror').style.display =3D 'block';
		return false;=09
	} else {
		document.getElementById('RTRerror').innerHTML =3D '';
		document.getElementById('RTRerror').style.display =3D 'none';
		return true;=09
	}
}

function clearForm(form){
var allLabels =3D =
document.getElementById(form).getElementsByTagName('label');
var labelsLength =3D allLabels.length;
	for(i=3D0; i<labelsLength; i++){
		allLabels[i].className =3D 'none';
	}
}

function updateErrorText(text){
	errorText +=3D '<div class=3D"error">'+text+'</div>';=09
}

function dateDifference(date1,date2){
	var daysDiff =3D ((date1 - date2) / (1000*60*60*24) );
	return Math.round(daysDiff);
}

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/booking/javascripts/nMileUpgradeValidate.js

function validateUpgrade(form, nMUOption) {

  var upgradeCheckbox =3D -1;
  var checkUpgrade =3D true;

  if (nMUOption =3D=3D "Y" ) {

    for (var i =3D 0; i < form.length; i++) {
      var elem =3D form.elements[i];
 =20
      if (elem.name =3D=3D "MUUpgrade" && elem.type =3D=3D "checkbox" ) =
{
        upgradeCheckbox =3D i;
      }

      if (elem.name =3D=3D "fareBundle") {
        if (elem.value =3D=3D "B5-Coach" || elem.value =3D=3D "B4-Coach" =
|| elem.value =3D=3D "B3-Coach" ) {
          checkUpgrade =3D true;=20
        } else {
          checkUpgrade =3D false;=20
        }
      } // end if
    } // end for
 =20
    if (upgradeCheckbox >=3D 0){
      if ( checkUpgrade =3D=3D false) {
        form.elements[upgradeCheckbox].checked =3D false;
	form.elements[upgradeCheckbox].disabled =3D true;
      } else {
        form.elements[upgradeCheckbox].disabled =3D false;
	form.elements[upgradeCheckbox].checked =3D true;
      }
    }=20

  } // end if (nMUOption =3D=3D "Y" )

  return true;

}=20

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/predictivetext/dwr/engine.js

/*=0A=
 * Copyright 2005 Joe Walker=0A=
 *=0A=
 * Licensed under the Apache License, Version 2.0 (the "License");=0A=
 * you may not use this file except in compliance with the License.=0A=
 * You may obtain a copy of the License at=0A=
 *=0A=
 *     http://www.apache.org/licenses/LICENSE-2.0=0A=
 *=0A=
 * Unless required by applicable law or agreed to in writing, software=0A=
 * distributed under the License is distributed on an "AS IS" BASIS,=0A=
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or =
implied.=0A=
 * See the License for the specific language governing permissions and=0A=
 * limitations under the License.=0A=
 */=0A=
=0A=
/**=0A=
 * Declare an object to which we can add real functions.=0A=
 */=0A=
if (dwr =3D=3D null) var dwr =3D {};=0A=
if (dwr.engine =3D=3D null) dwr.engine =3D {};=0A=
if (DWREngine =3D=3D null) var DWREngine =3D dwr.engine;=0A=
=0A=
/**=0A=
 * Set an alternative error handler from the default alert box.=0A=
 * @see getahead.org/dwr/browser/engine/errors=0A=
 */=0A=
dwr.engine.setErrorHandler =3D function(handler) {=0A=
  dwr.engine._errorHandler =3D handler;=0A=
};=0A=
=0A=
/**=0A=
 * Set an alternative warning handler from the default alert box.=0A=
 * @see getahead.org/dwr/browser/engine/errors=0A=
 */=0A=
dwr.engine.setWarningHandler =3D function(handler) {=0A=
  dwr.engine._warningHandler =3D handler;=0A=
};=0A=
=0A=
/**=0A=
 * Setter for the text/html handler - what happens if a DWR request gets =
an HTML=0A=
 * reply rather than the expected Javascript. Often due to login timeout=0A=
 */=0A=
dwr.engine.setTextHtmlHandler =3D function(handler) {=0A=
  dwr.engine._textHtmlHandler =3D handler;=0A=
}=0A=
=0A=
/**=0A=
 * Set a default timeout value for all calls. 0 (the default) turns =
timeouts off.=0A=
 * @see getahead.org/dwr/browser/engine/errors=0A=
 */=0A=
dwr.engine.setTimeout =3D function(timeout) {=0A=
  dwr.engine._timeout =3D timeout;=0A=
};=0A=
=0A=
/**=0A=
 * The Pre-Hook is called before any DWR remoting is done.=0A=
 * @see getahead.org/dwr/browser/engine/hooks=0A=
 */=0A=
dwr.engine.setPreHook =3D function(handler) {=0A=
  dwr.engine._preHook =3D handler;=0A=
};=0A=
=0A=
/**=0A=
 * The Post-Hook is called after any DWR remoting is done.=0A=
 * @see getahead.org/dwr/browser/engine/hooks=0A=
 */=0A=
dwr.engine.setPostHook =3D function(handler) {=0A=
  dwr.engine._postHook =3D handler;=0A=
};=0A=
=0A=
/**=0A=
 * Custom headers for all DWR calls=0A=
 * @see getahead.org/dwr/????=0A=
 */=0A=
dwr.engine.setHeaders =3D function(headers) {=0A=
  dwr.engine._headers =3D headers;=0A=
};=0A=
=0A=
/**=0A=
 * Custom parameters for all DWR calls=0A=
 * @see getahead.org/dwr/????=0A=
 */=0A=
dwr.engine.setParameters =3D function(parameters) {=0A=
  dwr.engine._parameters =3D parameters;=0A=
};=0A=
=0A=
/** XHR remoting type constant. See dwr.engine.set[Rpc|Poll]Type() */=0A=
dwr.engine.XMLHttpRequest =3D 1;=0A=
=0A=
/** XHR remoting type constant. See dwr.engine.set[Rpc|Poll]Type() */=0A=
dwr.engine.IFrame =3D 2;=0A=
=0A=
/** XHR remoting type constant. See dwr.engine.setRpcType() */=0A=
dwr.engine.ScriptTag =3D 3;=0A=
=0A=
/**=0A=
 * Set the preferred remoting type.=0A=
 * @param newType One of dwr.engine.XMLHttpRequest or dwr.engine.IFrame =
or dwr.engine.ScriptTag=0A=
 * @see getahead.org/dwr/browser/engine/options=0A=
 */=0A=
dwr.engine.setRpcType =3D function(newType) {=0A=
  if (newType !=3D dwr.engine.XMLHttpRequest && newType !=3D =
dwr.engine.IFrame && newType !=3D dwr.engine.ScriptTag) {=0A=
    dwr.engine._handleError(null, { name:"dwr.engine.invalidRpcType", =
message:"RpcType must be one of dwr.engine.XMLHttpRequest or =
dwr.engine.IFrame or dwr.engine.ScriptTag" });=0A=
    return;=0A=
  }=0A=
  dwr.engine._rpcType =3D newType;=0A=
};=0A=
=0A=
/**=0A=
 * Which HTTP method do we use to send results? Must be one of "GET" or =
"POST".=0A=
 * @see getahead.org/dwr/browser/engine/options=0A=
 */=0A=
dwr.engine.setHttpMethod =3D function(httpMethod) {=0A=
  if (httpMethod !=3D "GET" && httpMethod !=3D "POST") {=0A=
    dwr.engine._handleError(null, { name:"dwr.engine.invalidHttpMethod", =
message:"Remoting method must be one of GET or POST" });=0A=
    return;=0A=
  }=0A=
  dwr.engine._httpMethod =3D httpMethod;=0A=
};=0A=
=0A=
/**=0A=
 * Ensure that remote calls happen in the order in which they were sent? =
(Default: false)=0A=
 * @see getahead.org/dwr/browser/engine/ordering=0A=
 */=0A=
dwr.engine.setOrdered =3D function(ordered) {=0A=
  dwr.engine._ordered =3D ordered;=0A=
};=0A=
=0A=
/**=0A=
 * Do we ask the XHR object to be asynchronous? (Default: true)=0A=
 * @see getahead.org/dwr/browser/engine/options=0A=
 */=0A=
dwr.engine.setAsync =3D function(async) {=0A=
  dwr.engine._async =3D async;=0A=
};=0A=
=0A=
/**=0A=
 * Does DWR poll the server for updates? (Default: false)=0A=
 * @see getahead.org/dwr/browser/engine/options=0A=
 */=0A=
dwr.engine.setActiveReverseAjax =3D function(activeReverseAjax) {=0A=
  if (activeReverseAjax) {=0A=
    // Bail if we are already started=0A=
    if (dwr.engine._activeReverseAjax) return;=0A=
    dwr.engine._activeReverseAjax =3D true;=0A=
    dwr.engine._poll();=0A=
  }=0A=
  else {=0A=
    // Can we cancel an existing request?=0A=
    if (dwr.engine._activeReverseAjax && dwr.engine._pollReq) =
dwr.engine._pollReq.abort();=0A=
    dwr.engine._activeReverseAjax =3D false;=0A=
  }=0A=
  // TODO: in iframe mode, if we start, stop, start then the second =
start may=0A=
  // well kick off a second iframe while the first is still about to =
return=0A=
  // we should cope with this but we don't=0A=
};=0A=
=0A=
/**=0A=
 * Set the preferred polling type.=0A=
 * @param newPollType One of dwr.engine.XMLHttpRequest or =
dwr.engine.IFrame=0A=
 * @see getahead.org/dwr/browser/engine/options=0A=
 */=0A=
dwr.engine.setPollType =3D function(newPollType) {=0A=
  if (newPollType !=3D dwr.engine.XMLHttpRequest && newPollType !=3D =
dwr.engine.IFrame) {=0A=
    dwr.engine._handleError(null, { name:"dwr.engine.invalidPollType", =
message:"PollType must be one of dwr.engine.XMLHttpRequest or =
dwr.engine.IFrame"  });=0A=
    return;=0A=
  }=0A=
  dwr.engine._pollType =3D newPollType;=0A=
};=0A=
=0A=
/**=0A=
 * The default message handler.=0A=
 * @see getahead.org/dwr/browser/engine/errors=0A=
 */=0A=
dwr.engine.defaultErrorHandler =3D function(message, ex) {=0A=
  dwr.engine._debug("Error: " + ex.name + ", " + ex.message, true);=0A=
=0A=
  if (message =3D=3D null || message =3D=3D "") alert("A server error =
has occured. More information may be available in the console.");=0A=
  // Ignore NS_ERROR_NOT_AVAILABLE if Mozilla is being narky=0A=
  else if (message.indexOf("0x80040111") !=3D -1) =
dwr.engine._debug(message);=0A=
  else alert(message);=0A=
};=0A=
=0A=
/**=0A=
 * The default warning handler.=0A=
 * @see getahead.org/dwr/browser/engine/errors=0A=
 */=0A=
dwr.engine.defaultWarningHandler =3D function(message, ex) {=0A=
  dwr.engine._debug(message);=0A=
};=0A=
=0A=
/**=0A=
 * For reduced latency you can group several remote calls together using =
a batch.=0A=
 * @see getahead.org/dwr/browser/engine/batch=0A=
 */=0A=
dwr.engine.beginBatch =3D function() {=0A=
  if (dwr.engine._batch) {=0A=
    dwr.engine._handleError(null, { name:"dwr.engine.batchBegun", =
message:"Batch already begun" });=0A=
    return;=0A=
  }=0A=
  dwr.engine._batch =3D dwr.engine._createBatch();=0A=
};=0A=
=0A=
/**=0A=
 * Finished grouping a set of remote calls together. Go and execute them =
all.=0A=
 * @see getahead.org/dwr/browser/engine/batch=0A=
 */=0A=
dwr.engine.endBatch =3D function(options) {=0A=
  var batch =3D dwr.engine._batch;=0A=
  if (batch =3D=3D null) {=0A=
    dwr.engine._handleError(null, { name:"dwr.engine.batchNotBegun", =
message:"No batch in progress" });=0A=
    return;=0A=
  }=0A=
  dwr.engine._batch =3D null;=0A=
  if (batch.map.callCount =3D=3D 0) return;=0A=
=0A=
  // The hooks need to be merged carefully to preserve ordering=0A=
  if (options) dwr.engine._mergeBatch(batch, options);=0A=
=0A=
  // In ordered mode, we don't send unless the list of sent items is =
empty=0A=
  if (dwr.engine._ordered && dwr.engine._batchesLength !=3D 0) {=0A=
    dwr.engine._batchQueue[dwr.engine._batchQueue.length] =3D batch;=0A=
  }=0A=
  else {=0A=
    dwr.engine._sendData(batch);=0A=
  }=0A=
};=0A=
=0A=
/** @deprecated */=0A=
dwr.engine.setPollMethod =3D function(type) { =
dwr.engine.setPollType(type); };=0A=
dwr.engine.setMethod =3D function(type) { dwr.engine.setRpcType(type); };=0A=
dwr.engine.setVerb =3D function(verb) { dwr.engine.setHttpMethod(verb); =
};=0A=
=0A=
//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=0A=
// Only private stuff below here=0A=
//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=0A=
=0A=
/** The original page id sent from the server */=0A=
dwr.engine._origScriptSessionId =3D "11CA085EBB92816345FC019F4E0EC5FB";=0A=
=0A=
/** The session cookie name */=0A=
dwr.engine._sessionCookieName =3D "JSESSIONID"; // JSESSIONID=0A=
=0A=
/** Is GET enabled for the benefit of Safari? */=0A=
dwr.engine._allowGetForSafariButMakeForgeryEasier =3D "false";=0A=
=0A=
/** The script prefix to strip in the case of scriptTagProtection. */=0A=
dwr.engine._scriptTagProtection =3D "throw 'allowScriptTagRemoting is =
false.';";=0A=
=0A=
/** The default path to the DWR servlet */=0A=
dwr.engine._defaultPath =3D "/predictivetext/dwr";=0A=
=0A=
/** The read page id that we calculate */=0A=
dwr.engine._scriptSessionId =3D null;=0A=
=0A=
/** The function that we use to fetch/calculate a session id */=0A=
dwr.engine._getScriptSessionId =3D function() {=0A=
  if (dwr.engine._scriptSessionId =3D=3D null) {=0A=
    dwr.engine._scriptSessionId =3D dwr.engine._origScriptSessionId + =
Math.floor(Math.random() * 1000);=0A=
  }=0A=
  return dwr.engine._scriptSessionId;=0A=
};=0A=
=0A=
/** A function to call if something fails. */=0A=
dwr.engine._errorHandler =3D dwr.engine.defaultErrorHandler;=0A=
=0A=
/** For debugging when something unexplained happens. */=0A=
dwr.engine._warningHandler =3D dwr.engine.defaultWarningHandler;=0A=
=0A=
/** A function to be called before requests are marshalled. Can be null. =
*/=0A=
dwr.engine._preHook =3D null;=0A=
=0A=
/** A function to be called after replies are received. Can be null. */=0A=
dwr.engine._postHook =3D null;=0A=
=0A=
/** An map of the batches that we have sent and are awaiting a reply on. =
*/=0A=
dwr.engine._batches =3D {};=0A=
=0A=
/** A count of the number of outstanding batches. Should be =3D=3D to =
_batches.length unless prototype has messed things up */=0A=
dwr.engine._batchesLength =3D 0;=0A=
=0A=
/** In ordered mode, the array of batches waiting to be sent */=0A=
dwr.engine._batchQueue =3D [];=0A=
=0A=
/** What is the default rpc type */=0A=
dwr.engine._rpcType =3D dwr.engine.XMLHttpRequest;=0A=
=0A=
/** What is the default remoting method (ie GET or POST) */=0A=
dwr.engine._httpMethod =3D "POST";=0A=
=0A=
/** Do we attempt to ensure that calls happen in the order in which they =
were sent? */=0A=
dwr.engine._ordered =3D false;=0A=
=0A=
/** Do we make the calls async? */=0A=
dwr.engine._async =3D true;=0A=
=0A=
/** The current batch (if we are in batch mode) */=0A=
dwr.engine._batch =3D null;=0A=
=0A=
/** The global timeout */=0A=
dwr.engine._timeout =3D 0;=0A=
=0A=
/** ActiveX objects to use when we want to convert an xml string into a =
DOM object. */=0A=
dwr.engine._DOMDocument =3D ["Msxml2.DOMDocument.6.0", =
"Msxml2.DOMDocument.5.0", "Msxml2.DOMDocument.4.0", =
"Msxml2.DOMDocument.3.0", "MSXML2.DOMDocument", "MSXML.DOMDocument", =
"Microsoft.XMLDOM"];=0A=
=0A=
/** The ActiveX objects to use when we want to do an XMLHttpRequest =
call. */=0A=
dwr.engine._XMLHTTP =3D ["Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", =
"Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", =
"Microsoft.XMLHTTP"];=0A=
=0A=
/** Are we doing comet or polling? */=0A=
dwr.engine._activeReverseAjax =3D false;=0A=
=0A=
/** What is the default polling type */=0A=
dwr.engine._pollType =3D dwr.engine.XMLHttpRequest;=0A=
//dwr.engine._pollType =3D dwr.engine.IFrame;=0A=
=0A=
/** The iframe that we are using to poll */=0A=
dwr.engine._outstandingIFrames =3D [];=0A=
=0A=
/** The xhr object that we are using to poll */=0A=
dwr.engine._pollReq =3D null;=0A=
=0A=
/** How many milliseconds between internal comet polls */=0A=
dwr.engine._pollCometInterval =3D 200;=0A=
=0A=
/** How many times have we re-tried to poll? */=0A=
dwr.engine._pollRetries =3D 0;=0A=
dwr.engine._maxPollRetries =3D 0;=0A=
=0A=
/** Do we do a document.reload if we get a text/html reply? */=0A=
dwr.engine._textHtmlHandler =3D null;=0A=
=0A=
/** If you wish to send custom headers with every request */=0A=
dwr.engine._headers =3D null;=0A=
=0A=
/** If you wish to send extra custom request parameters with each =
request */=0A=
dwr.engine._parameters =3D null;=0A=
=0A=
/** Undocumented interceptors - do not use */=0A=
dwr.engine._postSeperator =3D "\n";=0A=
dwr.engine._defaultInterceptor =3D function(data) {return data;}=0A=
dwr.engine._urlRewriteHandler =3D dwr.engine._defaultInterceptor;=0A=
dwr.engine._contentRewriteHandler =3D dwr.engine._defaultInterceptor;=0A=
dwr.engine._replyRewriteHandler =3D dwr.engine._defaultInterceptor;=0A=
=0A=
/** Batch ids allow us to know which batch the server is answering */=0A=
dwr.engine._nextBatchId =3D 0;=0A=
=0A=
/** A list of the properties that need merging from calls to a batch */=0A=
dwr.engine._propnames =3D [ "rpcType", "httpMethod", "async", "timeout", =
"errorHandler", "warningHandler", "textHtmlHandler" ];=0A=
=0A=
/** Do we stream, or can be hacked to do so? */=0A=
dwr.engine._partialResponseNo =3D 0;=0A=
dwr.engine._partialResponseYes =3D 1;=0A=
dwr.engine._partialResponseFlush =3D 2;=0A=
=0A=
/**=0A=
 * @private Send a request. Called by the Javascript interface stub=0A=
 * @param path part of URL after the host and before the exec bit =
without leading or trailing /s=0A=
 * @param scriptName The class to execute=0A=
 * @param methodName The method on said class to execute=0A=
 * @param func The callback function to which any returned data should =
be passed=0A=
 *       if this is null, any returned data will be ignored=0A=
 * @param vararg_params The parameters to pass to the above class=0A=
 */=0A=
dwr.engine._execute =3D function(path, scriptName, methodName, =
vararg_params) {=0A=
  var singleShot =3D false;=0A=
  if (dwr.engine._batch =3D=3D null) {=0A=
    dwr.engine.beginBatch();=0A=
    singleShot =3D true;=0A=
  }=0A=
  var batch =3D dwr.engine._batch;=0A=
  // To make them easy to manipulate we copy the arguments into an args =
array=0A=
  var args =3D [];=0A=
  for (var i =3D 0; i < arguments.length - 3; i++) {=0A=
    args[i] =3D arguments[i + 3];=0A=
  }=0A=
  // All the paths MUST be to the same servlet=0A=
  if (batch.path =3D=3D null) {=0A=
    batch.path =3D path;=0A=
  }=0A=
  else {=0A=
    if (batch.path !=3D path) {=0A=
      dwr.engine._handleError(batch, { =
name:"dwr.engine.multipleServlets", message:"Can't batch requests to =
multiple DWR Servlets." });=0A=
      return;=0A=
    }=0A=
  }=0A=
  // From the other params, work out which is the function (or object =
with=0A=
  // call meta-data) and which is the call parameters=0A=
  var callData;=0A=
  var lastArg =3D args[args.length - 1];=0A=
  if (typeof lastArg =3D=3D "function" || lastArg =3D=3D null) callData =
=3D { callback:args.pop() };=0A=
  else callData =3D args.pop();=0A=
=0A=
  // Merge from the callData into the batch=0A=
  dwr.engine._mergeBatch(batch, callData);=0A=
  batch.handlers[batch.map.callCount] =3D {=0A=
    exceptionHandler:callData.exceptionHandler,=0A=
    callback:callData.callback=0A=
  };=0A=
=0A=
  // Copy to the map the things that need serializing=0A=
  var prefix =3D "c" + batch.map.callCount + "-";=0A=
  batch.map[prefix + "scriptName"] =3D scriptName;=0A=
  batch.map[prefix + "methodName"] =3D methodName;=0A=
  batch.map[prefix + "id"] =3D batch.map.callCount;=0A=
  for (i =3D 0; i < args.length; i++) {=0A=
    dwr.engine._serializeAll(batch, [], args[i], prefix + "param" + i);=0A=
  }=0A=
=0A=
  // Now we have finished remembering the call, we incr the call count=0A=
  batch.map.callCount++;=0A=
  if (singleShot) dwr.engine.endBatch();=0A=
};=0A=
=0A=
/** @private Poll the server to see if there is any data waiting */=0A=
dwr.engine._poll =3D function(overridePath) {=0A=
  if (!dwr.engine._activeReverseAjax) return;=0A=
=0A=
  var batch =3D dwr.engine._createBatch();=0A=
  batch.map.id =3D 0; // TODO: Do we need this??=0A=
  batch.map.callCount =3D 1;=0A=
  batch.isPoll =3D true;=0A=
  if (navigator.userAgent.indexOf("Gecko/") !=3D -1) {=0A=
    batch.rpcType =3D dwr.engine._pollType;=0A=
    batch.map.partialResponse =3D dwr.engine._partialResponseYes;=0A=
  }=0A=
  else if (document.all) {=0A=
    batch.rpcType =3D dwr.engine.IFrame;=0A=
    batch.map.partialResponse =3D dwr.engine._partialResponseFlush;=0A=
  }=0A=
  else {=0A=
    batch.rpcType =3D dwr.engine._pollType;=0A=
    batch.map.partialResponse =3D dwr.engine._partialResponseNo;=0A=
  }=0A=
  batch.httpMethod =3D "POST";=0A=
  batch.async =3D true;=0A=
  batch.timeout =3D 0;=0A=
  batch.path =3D (overridePath) ? overridePath : dwr.engine._defaultPath;=0A=
  batch.preHooks =3D [];=0A=
  batch.postHooks =3D [];=0A=
  batch.errorHandler =3D dwr.engine._pollErrorHandler;=0A=
  batch.warningHandler =3D dwr.engine._pollErrorHandler;=0A=
  batch.handlers[0] =3D {=0A=
    callback:function(pause) {=0A=
      dwr.engine._pollRetries =3D 0;=0A=
      setTimeout("dwr.engine._poll()", pause);=0A=
    }=0A=
  };=0A=
=0A=
  // Send the data=0A=
  dwr.engine._sendData(batch);=0A=
  if (batch.rpcType =3D=3D dwr.engine.XMLHttpRequest) {=0A=
  // if (batch.map.partialResponse !=3D dwr.engine._partialResponseNo) {=0A=
    dwr.engine._checkCometPoll();=0A=
  }=0A=
};=0A=
=0A=
/** Try to recover from polling errors */=0A=
dwr.engine._pollErrorHandler =3D function(msg, ex) {=0A=
  // if anything goes wrong then just silently try again (up to 3x) =
after 10s=0A=
  dwr.engine._pollRetries++;=0A=
  dwr.engine._debug("Reverse Ajax poll failed (pollRetries=3D" + =
dwr.engine._pollRetries + "): " + ex.name + " : " + ex.message);=0A=
  if (dwr.engine._pollRetries < dwr.engine._maxPollRetries) {=0A=
    setTimeout("dwr.engine._poll()", 10000);=0A=
  }=0A=
  else {=0A=
    dwr.engine._debug("Giving up.");=0A=
  }=0A=
};=0A=
=0A=
/** @private Generate a new standard batch */=0A=
dwr.engine._createBatch =3D function() {=0A=
  var batch =3D {=0A=
    map:{=0A=
      callCount:0,=0A=
      page:window.location.pathname + window.location.search,=0A=
      httpSessionId:dwr.engine._getJSessionId(),=0A=
      scriptSessionId:dwr.engine._getScriptSessionId()=0A=
    },=0A=
    charsProcessed:0, paramCount:0,=0A=
    headers:[], parameters:[],=0A=
    isPoll:false, headers:{}, handlers:{}, preHooks:[], postHooks:[],=0A=
    rpcType:dwr.engine._rpcType,=0A=
    httpMethod:dwr.engine._httpMethod,=0A=
    async:dwr.engine._async,=0A=
    timeout:dwr.engine._timeout,=0A=
    errorHandler:dwr.engine._errorHandler,=0A=
    warningHandler:dwr.engine._warningHandler,=0A=
    textHtmlHandler:dwr.engine._textHtmlHandler=0A=
  };=0A=
  if (dwr.engine._preHook) batch.preHooks.push(dwr.engine._preHook);=0A=
  if (dwr.engine._postHook) batch.postHooks.push(dwr.engine._postHook);=0A=
  var propname, data;=0A=
  if (dwr.engine._headers) {=0A=
    for (propname in dwr.engine._headers) {=0A=
      data =3D dwr.engine._headers[propname];=0A=
      if (typeof data !=3D "function") batch.headers[propname] =3D data;=0A=
    }=0A=
  }=0A=
  if (dwr.engine._parameters) {=0A=
    for (propname in dwr.engine._parameters) {=0A=
      data =3D dwr.engine._parameters[propname];=0A=
      if (typeof data !=3D "function") batch.parameters[propname] =3D =
data;=0A=
    }=0A=
  }=0A=
  return batch;=0A=
}=0A=
=0A=
/** @private Take further options and merge them into */=0A=
dwr.engine._mergeBatch =3D function(batch, overrides) {=0A=
  var propname, data;=0A=
  for (var i =3D 0; i < dwr.engine._propnames.length; i++) {=0A=
    propname =3D dwr.engine._propnames[i];=0A=
    if (overrides[propname] !=3D null) batch[propname] =3D =
overrides[propname];=0A=
  }=0A=
  if (overrides.preHook !=3D null) =
batch.preHooks.unshift(overrides.preHook);=0A=
  if (overrides.postHook !=3D null) =
batch.postHooks.push(overrides.postHook);=0A=
  if (overrides.headers) {=0A=
    for (propname in overrides.headers) {=0A=
      data =3D overrides.headers[propname];=0A=
      if (typeof data !=3D "function") batch.headers[propname] =3D data;=0A=
    }=0A=
  }=0A=
  if (overrides.parameters) {=0A=
    for (propname in overrides.parameters) {=0A=
      data =3D overrides.parameters[propname];=0A=
      if (typeof data !=3D "function") batch.map["p-" + propname] =3D "" =
+ data;=0A=
    }=0A=
  }=0A=
};=0A=
=0A=
/** @private What is our session id? */=0A=
dwr.engine._getJSessionId =3D  function() {=0A=
  var cookies =3D document.cookie.split(';');=0A=
  for (var i =3D 0; i < cookies.length; i++) {=0A=
    var cookie =3D cookies[i];=0A=
    while (cookie.charAt(0) =3D=3D ' ') cookie =3D cookie.substring(1, =
cookie.length);=0A=
    if (cookie.indexOf(dwr.engine._sessionCookieName + "=3D") =3D=3D 0) {=0A=
      return cookie.substring(11, cookie.length);=0A=
    }=0A=
  }=0A=
  return "";=0A=
}=0A=
=0A=
/** @private Check for reverse Ajax activity */=0A=
dwr.engine._checkCometPoll =3D function() {=0A=
  for (var i =3D 0; i < dwr.engine._outstandingIFrames.length; i++) {=0A=
    var text =3D "";=0A=
    var iframe =3D dwr.engine._outstandingIFrames[i];=0A=
    try {=0A=
      text =3D dwr.engine._getTextFromCometIFrame(iframe);=0A=
    }=0A=
    catch (ex) {=0A=
      dwr.engine._handleWarning(iframe.batch, ex);=0A=
    }=0A=
    if (text !=3D "") dwr.engine._processCometResponse(text, =
iframe.batch);=0A=
  }=0A=
  if (dwr.engine._pollReq) {=0A=
    var req =3D dwr.engine._pollReq;=0A=
    var text =3D req.responseText;=0A=
    dwr.engine._processCometResponse(text, req.batch);=0A=
  }=0A=
=0A=
  // If the poll resources are still there, come back again=0A=
  if (dwr.engine._outstandingIFrames.length > 0 || dwr.engine._pollReq) {=0A=
    setTimeout("dwr.engine._checkCometPoll()", =
dwr.engine._pollCometInterval);=0A=
  }=0A=
};=0A=
=0A=
/** @private Extract the whole (executed an all) text from the current =
iframe */=0A=
dwr.engine._getTextFromCometIFrame =3D function(frameEle) {=0A=
  var body =3D frameEle.contentWindow.document.body;=0A=
  if (body =3D=3D null) return "";=0A=
  var text =3D body.innerHTML;=0A=
  // We need to prevent IE from stripping line feeds=0A=
  if (text.indexOf("<PRE>") =3D=3D 0 || text.indexOf("<pre>") =3D=3D 0) {=0A=
    text =3D text.substring(5, text.length - 7);=0A=
  }=0A=
  return text;=0A=
};=0A=
=0A=
/** @private Some more text might have come in, test and execute the new =
stuff */=0A=
dwr.engine._processCometResponse =3D function(response, batch) {=0A=
  if (batch.charsProcessed =3D=3D response.length) return;=0A=
  if (response.length =3D=3D 0) {=0A=
    batch.charsProcessed =3D 0;=0A=
    return;=0A=
  }=0A=
=0A=
  var firstStartTag =3D response.indexOf("//#DWR-START#", =
batch.charsProcessed);=0A=
  if (firstStartTag =3D=3D -1) {=0A=
    // dwr.engine._debug("No start tag (search from " + =
batch.charsProcessed + "). skipping '" + =
response.substring(batch.charsProcessed) + "'");=0A=
    batch.charsProcessed =3D response.length;=0A=
    return;=0A=
  }=0A=
  // if (firstStartTag > 0) {=0A=
  //   dwr.engine._debug("Start tag not at start (search from " + =
batch.charsProcessed + "). skipping '" + =
response.substring(batch.charsProcessed, firstStartTag) + "'");=0A=
  // }=0A=
=0A=
  var lastEndTag =3D response.lastIndexOf("//#DWR-END#");=0A=
  if (lastEndTag =3D=3D -1) {=0A=
    // dwr.engine._debug("No end tag. unchanged charsProcessed=3D" + =
batch.charsProcessed);=0A=
    return;=0A=
  }=0A=
=0A=
  // Skip the end tag too for next time, remembering CR and LF=0A=
  if (response.charCodeAt(lastEndTag + 11) =3D=3D 13 && =
response.charCodeAt(lastEndTag + 12) =3D=3D 10) {=0A=
    batch.charsProcessed =3D lastEndTag + 13;=0A=
  }=0A=
  else {=0A=
    batch.charsProcessed =3D lastEndTag + 11;=0A=
  }=0A=
=0A=
  var exec =3D response.substring(firstStartTag + 13, lastEndTag);=0A=
=0A=
  dwr.engine._receivedBatch =3D batch;=0A=
  dwr.engine._eval(exec);=0A=
  dwr.engine._receivedBatch =3D null;=0A=
};=0A=
=0A=
/** @private Actually send the block of data in the batch object. */=0A=
dwr.engine._sendData =3D function(batch) {=0A=
  batch.map.batchId =3D dwr.engine._nextBatchId++;=0A=
  dwr.engine._batches[batch.map.batchId] =3D batch;=0A=
  dwr.engine._batchesLength++;=0A=
  batch.completed =3D false;=0A=
=0A=
  for (var i =3D 0; i < batch.preHooks.length; i++) {=0A=
    batch.preHooks[i]();=0A=
  }=0A=
  batch.preHooks =3D null;=0A=
  // Set a timeout=0A=
  if (batch.timeout && batch.timeout !=3D 0) {=0A=
    batch.interval =3D setInterval(function() { =
dwr.engine._abortRequest(batch); }, batch.timeout);=0A=
  }=0A=
  // Get setup for XMLHttpRequest if possible=0A=
  if (batch.rpcType =3D=3D dwr.engine.XMLHttpRequest) {=0A=
    if (window.XMLHttpRequest) {=0A=
      batch.req =3D new XMLHttpRequest();=0A=
    }=0A=
    // IE5 for the mac claims to support window.ActiveXObject, but =
throws an error when it's used=0A=
    else if (window.ActiveXObject && =
!(navigator.userAgent.indexOf("Mac") >=3D 0 && =
navigator.userAgent.indexOf("MSIE") >=3D 0)) {=0A=
      batch.req =3D dwr.engine._newActiveXObject(dwr.engine._XMLHTTP);=0A=
    }=0A=
  }=0A=
=0A=
  var prop, request;=0A=
  if (batch.req) {=0A=
    // Proceed using XMLHttpRequest=0A=
    if (batch.async) {=0A=
      batch.req.onreadystatechange =3D function() { =
dwr.engine._stateChange(batch); };=0A=
    }=0A=
    // If we're polling, record this for monitoring=0A=
    if (batch.isPoll) {=0A=
      dwr.engine._pollReq =3D batch.req;=0A=
      // In IE XHR is an ActiveX control so you can't augment it like =
this=0A=
      // however batch.isPoll uses IFrame on IE so were safe here=0A=
      batch.req.batch =3D batch;=0A=
    }=0A=
    // Workaround for Safari 1.x POST bug=0A=
    var indexSafari =3D navigator.userAgent.indexOf("Safari/");=0A=
    if (indexSafari >=3D 0) {=0A=
      var version =3D navigator.userAgent.substring(indexSafari + 7);=0A=
      if (parseInt(version, 10) < 400) {=0A=
        if (dwr.engine._allowGetForSafariButMakeForgeryEasier =3D=3D =
"true") batch.httpMethod =3D "GET";=0A=
        else dwr.engine._handleWarning(batch, { =
name:"dwr.engine.oldSafari", message:"Safari GET support disabled. See =
getahead.org/dwr/server/servlet and =
allowGetForSafariButMakeForgeryEasier." });=0A=
      }=0A=
    }=0A=
    batch.mode =3D batch.isPoll ? dwr.engine._ModePlainPoll : =
dwr.engine._ModePlainCall;=0A=
    request =3D dwr.engine._constructRequest(batch);=0A=
    try {=0A=
      batch.req.open(batch.httpMethod, request.url, batch.async);=0A=
      try {=0A=
        for (prop in batch.headers) {=0A=
          var value =3D batch.headers[prop];=0A=
          if (typeof value =3D=3D "string") =
batch.req.setRequestHeader(prop, value);=0A=
        }=0A=
        if (!batch.headers["Content-Type"]) =
batch.req.setRequestHeader("Content-Type", "text/plain");=0A=
      }=0A=
      catch (ex) {=0A=
        dwr.engine._handleWarning(batch, ex);=0A=
      }=0A=
      batch.req.send(request.body);=0A=
      if (!batch.async) dwr.engine._stateChange(batch);=0A=
    }=0A=
    catch (ex) {=0A=
      dwr.engine._handleError(batch, ex);=0A=
    }=0A=
  }=0A=
  else if (batch.rpcType !=3D dwr.engine.ScriptTag) {=0A=
    // Proceed using iframe=0A=
    var idname =3D batch.isPoll ? "dwr-if-poll-" + batch.map.batchId : =
"dwr-if-" + batch.map["c0-id"];=0A=
    batch.div =3D document.createElement("div");=0A=
    batch.div.innerHTML =3D "<iframe src=3D'javascript:void(0)' =
frameborder=3D'0' style=3D'width:0px;height:0px;border:0;' id=3D'" + =
idname + "' name=3D'" + idname + "'></iframe>";=0A=
    document.body.appendChild(batch.div);=0A=
    batch.iframe =3D document.getElementById(idname);=0A=
    batch.iframe.batch =3D batch;=0A=
    batch.mode =3D batch.isPoll ? dwr.engine._ModeHtmlPoll : =
dwr.engine._ModeHtmlCall;=0A=
    if (batch.isPoll) dwr.engine._outstandingIFrames.push(batch.iframe);=0A=
    request =3D dwr.engine._constructRequest(batch);=0A=
    if (batch.httpMethod =3D=3D "GET") {=0A=
      batch.iframe.setAttribute("src", request.url);=0A=
      // document.body.appendChild(batch.iframe);=0A=
    }=0A=
    else {=0A=
      batch.form =3D document.createElement("form");=0A=
      batch.form.setAttribute("id", "dwr-form");=0A=
      batch.form.setAttribute("action", request.url);=0A=
      batch.form.setAttribute("target", idname);=0A=
      batch.form.target =3D idname;=0A=
      batch.form.setAttribute("method", batch.httpMethod);=0A=
      for (prop in batch.map) {=0A=
        var value =3D batch.map[prop];=0A=
        if (typeof value !=3D "function") {=0A=
          var formInput =3D document.createElement("input");=0A=
          formInput.setAttribute("type", "hidden");=0A=
          formInput.setAttribute("name", prop);=0A=
          formInput.setAttribute("value", value);=0A=
          batch.form.appendChild(formInput);=0A=
        }=0A=
      }=0A=
      document.body.appendChild(batch.form);=0A=
      batch.form.submit();=0A=
    }=0A=
  }=0A=
  else {=0A=
    batch.httpMethod =3D "GET"; // There's no such thing as ScriptTag =
using POST=0A=
    batch.mode =3D batch.isPoll ? dwr.engine._ModePlainPoll : =
dwr.engine._ModePlainCall;=0A=
    request =3D dwr.engine._constructRequest(batch);=0A=
    batch.script =3D document.createElement("script");=0A=
    batch.script.id =3D "dwr-st-" + batch.map["c0-id"];=0A=
    batch.script.src =3D request.url;=0A=
    document.body.appendChild(batch.script);=0A=
  }=0A=
};=0A=
=0A=
dwr.engine._ModePlainCall =3D "/call/plaincall/";=0A=
dwr.engine._ModeHtmlCall =3D "/call/htmlcall/";=0A=
dwr.engine._ModePlainPoll =3D "/call/plainpoll/";=0A=
dwr.engine._ModeHtmlPoll =3D "/call/htmlpoll/";=0A=
=0A=
/** @private Work out what the URL should look like */=0A=
dwr.engine._constructRequest =3D function(batch) {=0A=
  // A quick string to help people that use web log analysers=0A=
  var request =3D { url:batch.path + batch.mode, body:null };=0A=
  if (batch.isPoll =3D=3D true) {=0A=
    request.url +=3D "ReverseAjax.dwr";=0A=
  }=0A=
  else if (batch.map.callCount =3D=3D 1) {=0A=
    request.url +=3D batch.map["c0-scriptName"] + "." + =
batch.map["c0-methodName"] + ".dwr";=0A=
  }=0A=
  else {=0A=
    request.url +=3D "Multiple." + batch.map.callCount + ".dwr";=0A=
  }=0A=
  // Play nice with url re-writing=0A=
  var sessionMatch =3D location.href.match(/jsessionid=3D([^?]+)/);=0A=
  if (sessionMatch !=3D null) {=0A=
    request.url +=3D ";jsessionid=3D" + sessionMatch[1];=0A=
  }=0A=
=0A=
  var prop;=0A=
  if (batch.httpMethod =3D=3D "GET") {=0A=
    // Some browsers (Opera/Safari2) seem to fail to convert the =
callCount value=0A=
    // to a string in the loop below so we do it manually here.=0A=
    batch.map.callCount =3D "" + batch.map.callCount;=0A=
    request.url +=3D "?";=0A=
    for (prop in batch.map) {=0A=
      if (typeof batch.map[prop] !=3D "function") {=0A=
        request.url +=3D encodeURIComponent(prop) + "=3D" + =
encodeURIComponent(batch.map[prop]) + "&";=0A=
      }=0A=
    }=0A=
    request.url =3D request.url.substring(0, request.url.length - 1);=0A=
  }=0A=
  else {=0A=
    // PERFORMANCE: for iframe mode this is thrown away.=0A=
    request.body =3D "";=0A=
    for (prop in batch.map) {=0A=
      if (typeof batch.map[prop] !=3D "function") {=0A=
        request.body +=3D prop + "=3D" + batch.map[prop] + =
dwr.engine._postSeperator;=0A=
      }=0A=
    }=0A=
    request.body =3D dwr.engine._contentRewriteHandler(request.body);=0A=
  }=0A=
  request.url =3D dwr.engine._urlRewriteHandler(request.url);=0A=
  return request;=0A=
};=0A=
=0A=
/** @private Called by XMLHttpRequest to indicate that something has =
happened */=0A=
dwr.engine._stateChange =3D function(batch) {=0A=
  var toEval;=0A=
=0A=
  if (batch.completed) {=0A=
    dwr.engine._debug("Error: _stateChange() with batch.completed");=0A=
    return;=0A=
  }=0A=
=0A=
  var req =3D batch.req;=0A=
  try {=0A=
    if (req.readyState !=3D 4) return;=0A=
  }=0A=
  catch (ex) {=0A=
    dwr.engine._handleWarning(batch, ex);=0A=
    // It's broken - clear up and forget this call=0A=
    dwr.engine._clearUp(batch);=0A=
    return;=0A=
  }=0A=
=0A=
  try {=0A=
    var reply =3D req.responseText;=0A=
    reply =3D dwr.engine._replyRewriteHandler(reply);=0A=
    var status =3D req.status; // causes Mozilla to except on page moves=0A=
=0A=
    if (reply =3D=3D null || reply =3D=3D "") {=0A=
      dwr.engine._handleWarning(batch, { name:"dwr.engine.missingData", =
message:"No data received from server" });=0A=
    }=0A=
    else if (status !=3D 200) {=0A=
      dwr.engine._handleError(batch, { name:"dwr.engine.http." + status, =
message:req.statusText });=0A=
    }=0A=
    else {=0A=
      var contentType =3D req.getResponseHeader("Content-Type");=0A=
      if (!contentType.match(/^text\/plain/) && =
!contentType.match(/^text\/javascript/)) {=0A=
        if (contentType.match(/^text\/html/) && typeof =
batch.textHtmlHandler =3D=3D "function") {=0A=
          batch.textHtmlHandler();=0A=
        }=0A=
        else {=0A=
          dwr.engine._handleWarning(batch, { =
name:"dwr.engine.invalidMimeType", message:"Invalid content type: '" + =
contentType + "'" });=0A=
        }=0A=
      }=0A=
      else {=0A=
        // Comet replies might have already partially executed=0A=
        if (batch.isPoll && batch.map.partialResponse =3D=3D =
dwr.engine._partialResponseYes) {=0A=
          dwr.engine._processCometResponse(reply, batch);=0A=
        }=0A=
        else {=0A=
          if (reply.search("//#DWR") =3D=3D -1) {=0A=
            dwr.engine._handleWarning(batch, { =
name:"dwr.engine.invalidReply", message:"Invalid reply from server" });=0A=
          }=0A=
          else {=0A=
            toEval =3D reply;=0A=
          }=0A=
        }=0A=
      }=0A=
    }=0A=
  }=0A=
  catch (ex) {=0A=
    dwr.engine._handleWarning(batch, ex);=0A=
  }=0A=
=0A=
  dwr.engine._callPostHooks(batch);=0A=
=0A=
  // Outside of the try/catch so errors propogate normally:=0A=
  dwr.engine._receivedBatch =3D batch;=0A=
  if (toEval !=3D null) toEval =3D =
toEval.replace(dwr.engine._scriptTagProtection, "");=0A=
  dwr.engine._eval(toEval);=0A=
  dwr.engine._receivedBatch =3D null;=0A=
=0A=
  dwr.engine._clearUp(batch);=0A=
};=0A=
=0A=
/** @private Called by the server: Execute a callback */=0A=
dwr.engine._remoteHandleCallback =3D function(batchId, callId, reply) {=0A=
  var batch =3D dwr.engine._batches[batchId];=0A=
  if (batch =3D=3D null) {=0A=
    dwr.engine._debug("Warning: batch =3D=3D null in =
remoteHandleCallback for batchId=3D" + batchId, true);=0A=
    return;=0A=
  }=0A=
  // Error handlers inside here indicate an error that is nothing to do=0A=
  // with DWR so we handle them differently.=0A=
  try {=0A=
    var handlers =3D batch.handlers[callId];=0A=
    if (!handlers) {=0A=
      dwr.engine._debug("Warning: Missing handlers. callId=3D" + callId, =
true);=0A=
    }=0A=
    else if (typeof handlers.callback =3D=3D "function") =
handlers.callback(reply);=0A=
  }=0A=
  catch (ex) {=0A=
    dwr.engine._handleError(batch, ex);=0A=
  }=0A=
};=0A=
=0A=
/** @private Called by the server: Handle an exception for a call */=0A=
dwr.engine._remoteHandleException =3D function(batchId, callId, ex) {=0A=
  var batch =3D dwr.engine._batches[batchId];=0A=
  if (batch =3D=3D null) { dwr.engine._debug("Warning: null batch in =
remoteHandleException", true); return; }=0A=
  var handlers =3D batch.handlers[callId];=0A=
  if (handlers =3D=3D null) { dwr.engine._debug("Warning: null handlers =
in remoteHandleException", true); return; }=0A=
  if (ex.message =3D=3D undefined) ex.message =3D "";=0A=
  if (typeof handlers.exceptionHandler =3D=3D "function") =
handlers.exceptionHandler(ex.message, ex);=0A=
  else if (typeof batch.errorHandler =3D=3D "function") =
batch.errorHandler(ex.message, ex);=0A=
};=0A=
=0A=
/** @private Called by the server: The whole batch is broken */=0A=
dwr.engine._remoteHandleBatchException =3D function(ex, batchId) {=0A=
  var searchBatch =3D (dwr.engine._receivedBatch =3D=3D null && batchId =
!=3D null);=0A=
  if (searchBatch) {=0A=
    dwr.engine._receivedBatch =3D dwr.engine._batches[batchId];=0A=
  }=0A=
  if (ex.message =3D=3D undefined) ex.message =3D "";=0A=
  dwr.engine._handleError(dwr.engine._receivedBatch, ex);=0A=
  if (searchBatch) {=0A=
    dwr.engine._receivedBatch =3D null;=0A=
    dwr.engine._clearUp(dwr.engine._batches[batchId]);=0A=
  }=0A=
};=0A=
=0A=
/** @private Called by the server: Reverse ajax should not be used */=0A=
dwr.engine._remotePollCometDisabled =3D function(ex, batchId) {=0A=
  dwr.engine.setActiveReverseAjax(false);=0A=
  var searchBatch =3D (dwr.engine._receivedBatch =3D=3D null && batchId =
!=3D null);=0A=
  if (searchBatch) {=0A=
    dwr.engine._receivedBatch =3D dwr.engine._batches[batchId];=0A=
  }=0A=
  if (ex.message =3D=3D undefined) ex.message =3D "";=0A=
  dwr.engine._handleError(dwr.engine._receivedBatch, ex);=0A=
  if (searchBatch) {=0A=
    dwr.engine._receivedBatch =3D null;=0A=
    dwr.engine._clearUp(dwr.engine._batches[batchId]);=0A=
  }=0A=
};=0A=
=0A=
/** @private Called by the server: An IFrame reply is about to start */=0A=
dwr.engine._remoteBeginIFrameResponse =3D function(iframe, batchId) {=0A=
  if (iframe !=3D null) dwr.engine._receivedBatch =3D iframe.batch;=0A=
  dwr.engine._callPostHooks(dwr.engine._receivedBatch);=0A=
};=0A=
=0A=
/** @private Called by the server: An IFrame reply is just completing */=0A=
dwr.engine._remoteEndIFrameResponse =3D function(batchId) {=0A=
  dwr.engine._clearUp(dwr.engine._receivedBatch);=0A=
  dwr.engine._receivedBatch =3D null;=0A=
};=0A=
=0A=
/** @private This is a hack to make the context be this window */=0A=
dwr.engine._eval =3D function(script) {=0A=
  if (script =3D=3D null) return null;=0A=
  if (script =3D=3D "") { dwr.engine._debug("Warning: blank script", =
true); return null; }=0A=
  // dwr.engine._debug("Exec: [" + script + "]", true);=0A=
  return eval(script);=0A=
};=0A=
=0A=
/** @private Called as a result of a request timeout */=0A=
dwr.engine._abortRequest =3D function(batch) {=0A=
  if (batch && !batch.completed) {=0A=
    clearInterval(batch.interval);=0A=
    dwr.engine._clearUp(batch);=0A=
    if (batch.req) batch.req.abort();=0A=
    dwr.engine._handleError(batch, { name:"dwr.engine.timeout", =
message:"Timeout" });=0A=
  }=0A=
};=0A=
=0A=
/** @private call all the post hooks for a batch */=0A=
dwr.engine._callPostHooks =3D function(batch) {=0A=
  if (batch.postHooks) {=0A=
    for (var i =3D 0; i < batch.postHooks.length; i++) {=0A=
      batch.postHooks[i]();=0A=
    }=0A=
    batch.postHooks =3D null;=0A=
  }=0A=
}=0A=
=0A=
/** @private A call has finished by whatever means and we need to shut =
it all down. */=0A=
dwr.engine._clearUp =3D function(batch) {=0A=
  if (!batch) { dwr.engine._debug("Warning: null batch in =
dwr.engine._clearUp()", true); return; }=0A=
  if (batch.completed =3D=3D "true") { dwr.engine._debug("Warning: =
Double complete", true); return; }=0A=
=0A=
  // IFrame tidyup=0A=
  if (batch.div) batch.div.parentNode.removeChild(batch.div);=0A=
  if (batch.iframe) {=0A=
    // If this is a poll frame then stop comet polling=0A=
    for (var i =3D 0; i < dwr.engine._outstandingIFrames.length; i++) {=0A=
      if (dwr.engine._outstandingIFrames[i] =3D=3D batch.iframe) {=0A=
        dwr.engine._outstandingIFrames.splice(i, 1);=0A=
      }=0A=
    }=0A=
    batch.iframe.parentNode.removeChild(batch.iframe);=0A=
  }=0A=
  if (batch.form) batch.form.parentNode.removeChild(batch.form);=0A=
=0A=
  // XHR tidyup: avoid IE handles increase=0A=
  if (batch.req) {=0A=
    // If this is a poll frame then stop comet polling=0A=
    if (batch.req =3D=3D dwr.engine._pollReq) dwr.engine._pollReq =3D =
null;=0A=
    delete batch.req;=0A=
  }=0A=
=0A=
  if (batch.map && batch.map.batchId) {=0A=
    delete dwr.engine._batches[batch.map.batchId];=0A=
    dwr.engine._batchesLength--;=0A=
  }=0A=
=0A=
  batch.completed =3D true;=0A=
=0A=
  // If there is anything on the queue waiting to go out, then send it.=0A=
  // We don't need to check for ordered mode, here because when ordered =
mode=0A=
  // gets turned off, we still process *waiting* batches in an ordered =
way.=0A=
  if (dwr.engine._batchQueue.length !=3D 0) {=0A=
    var sendbatch =3D dwr.engine._batchQueue.shift();=0A=
    dwr.engine._sendData(sendbatch);=0A=
  }=0A=
};=0A=
=0A=
/** @private Generic error handling routing to save having null checks =
everywhere */=0A=
dwr.engine._handleError =3D function(batch, ex) {=0A=
  if (typeof ex =3D=3D "string") ex =3D { name:"unknown", message:ex };=0A=
  if (ex.message =3D=3D null) ex.message =3D "";=0A=
  if (ex.name =3D=3D null) ex.name =3D "unknown";=0A=
  if (batch && typeof batch.errorHandler =3D=3D "function") =
batch.errorHandler(ex.message, ex);=0A=
  else if (dwr.engine._errorHandler) =
dwr.engine._errorHandler(ex.message, ex);=0A=
  dwr.engine._clearUp(batch);=0A=
};=0A=
=0A=
/** @private Generic error handling routing to save having null checks =
everywhere */=0A=
dwr.engine._handleWarning =3D function(batch, ex) {=0A=
  if (typeof ex =3D=3D "string") ex =3D { name:"unknown", message:ex };=0A=
  if (ex.message =3D=3D null) ex.message =3D "";=0A=
  if (ex.name =3D=3D null) ex.name =3D "unknown";=0A=
  if (batch && typeof batch.warningHandler =3D=3D "function") =
batch.warningHandler(ex.message, ex);=0A=
  else if (dwr.engine._warningHandler) =
dwr.engine._warningHandler(ex.message, ex);=0A=
  dwr.engine._clearUp(batch);=0A=
};=0A=
=0A=
/**=0A=
 * @private Marshall a data item=0A=
 * @param batch A map of variables to how they have been marshalled=0A=
 * @param referto An array of already marshalled variables to prevent =
recurrsion=0A=
 * @param data The data to be marshalled=0A=
 * @param name The name of the data being marshalled=0A=
 */=0A=
dwr.engine._serializeAll =3D function(batch, referto, data, name) {=0A=
  if (data =3D=3D null) {=0A=
    batch.map[name] =3D "null:null";=0A=
    return;=0A=
  }=0A=
=0A=
  switch (typeof data) {=0A=
  case "boolean":=0A=
    batch.map[name] =3D "boolean:" + data;=0A=
    break;=0A=
  case "number":=0A=
    batch.map[name] =3D "number:" + data;=0A=
    break;=0A=
  case "string":=0A=
    batch.map[name] =3D "string:" + encodeURIComponent(data);=0A=
    break;=0A=
  case "object":=0A=
    if (data instanceof String) batch.map[name] =3D "String:" + =
encodeURIComponent(data);=0A=
    else if (data instanceof Boolean) batch.map[name] =3D "Boolean:" + =
data;=0A=
    else if (data instanceof Number) batch.map[name] =3D "Number:" + =
data;=0A=
    else if (data instanceof Date) batch.map[name] =3D "Date:" + =
data.getTime();=0A=
    else if (data && data.join) batch.map[name] =3D =
dwr.engine._serializeArray(batch, referto, data, name);=0A=
    else batch.map[name] =3D dwr.engine._serializeObject(batch, referto, =
data, name);=0A=
    break;=0A=
  case "function":=0A=
    // We just ignore functions.=0A=
    break;=0A=
  default:=0A=
    dwr.engine._handleWarning(null, { name:"dwr.engine.unexpectedType", =
message:"Unexpected type: " + typeof data + ", attempting default =
converter." });=0A=
    batch.map[name] =3D "default:" + data;=0A=
    break;=0A=
  }=0A=
};=0A=
=0A=
/** @private Have we already converted this object? */=0A=
dwr.engine._lookup =3D function(referto, data, name) {=0A=
  var lookup;=0A=
  // Can't use a map: getahead.org/ajax/javascript-gotchas=0A=
  for (var i =3D 0; i < referto.length; i++) {=0A=
    if (referto[i].data =3D=3D data) {=0A=
      lookup =3D referto[i];=0A=
      break;=0A=
    }=0A=
  }=0A=
  if (lookup) return "reference:" + lookup.name;=0A=
  referto.push({ data:data, name:name });=0A=
  return null;=0A=
};=0A=
=0A=
/** @private Marshall an object */=0A=
dwr.engine._serializeObject =3D function(batch, referto, data, name) {=0A=
  var ref =3D dwr.engine._lookup(referto, data, name);=0A=
  if (ref) return ref;=0A=
=0A=
  // This check for an HTML is not complete, but is there a better way?=0A=
  // Maybe we should add: data.hasChildNodes typeof "function" =3D=3D =
true=0A=
  if (data.nodeName && data.nodeType) {=0A=
    return dwr.engine._serializeXml(batch, referto, data, name);=0A=
  }=0A=
=0A=
  // treat objects as an associative arrays=0A=
  var reply =3D "Object_" + dwr.engine._getObjectClassName(data) + ":{";=0A=
  var element;=0A=
  for (element in data) {=0A=
    if (typeof data[element] !=3D "function") {=0A=
      batch.paramCount++;=0A=
      var childName =3D "c" + dwr.engine._batch.map.callCount + "-e" + =
batch.paramCount;=0A=
      dwr.engine._serializeAll(batch, referto, data[element], childName);=0A=
=0A=
      reply +=3D encodeURIComponent(element) + ":reference:" + childName =
+ ", ";=0A=
    }=0A=
  }=0A=
=0A=
  if (reply.substring(reply.length - 2) =3D=3D ", ") {=0A=
    reply =3D reply.substring(0, reply.length - 2);=0A=
  }=0A=
  reply +=3D "}";=0A=
=0A=
  return reply;=0A=
};=0A=
=0A=
/** @private Returns the classname of supplied argument obj */=0A=
dwr.engine._errorClasses =3D { "Error":Error, "EvalError":EvalError, =
"RangeError":RangeError, "ReferenceError":ReferenceError, =
"SyntaxError":SyntaxError, "TypeError":TypeError, "URIError":URIError };=0A=
dwr.engine._getObjectClassName =3D function(obj) {=0A=
  // Try to find the classname by stringifying the object's constructor=0A=
  // and extract <class> from "function <class>".=0A=
  if (obj && obj.constructor && obj.constructor.toString)=0A=
  {=0A=
    var str =3D obj.constructor.toString();=0A=
    var regexpmatch =3D str.match(/function\s+(\w+)/);=0A=
    if (regexpmatch && regexpmatch.length =3D=3D 2) {=0A=
      return regexpmatch[1];=0A=
    }=0A=
  }=0A=
=0A=
  // Now manually test against the core Error classes, as these in some =0A=
  // browsers successfully match to the wrong class in the =0A=
  // Object.toString() test we will do later=0A=
  if (obj && obj.constructor) {=0A=
	for (var errorname in dwr.engine._errorClasses) {=0A=
      if (obj.constructor =3D=3D dwr.engine._errorClasses[errorname]) =
return errorname;=0A=
    }=0A=
  }=0A=
=0A=
  // Try to find the classname by calling Object.toString() on the object=0A=
  // and extracting <class> from "[object <class>]"=0A=
  if (obj) {=0A=
    var str =3D Object.prototype.toString.call(obj);=0A=
    var regexpmatch =3D str.match(/\[object\s+(\w+)/);=0A=
    if (regexpmatch && regexpmatch.length=3D=3D2) {=0A=
      return regexpmatch[1];=0A=
    }=0A=
  }=0A=
=0A=
  // Supplied argument was probably not an object, but what is better?=0A=
  return "Object";=0A=
};=0A=
=0A=
/** @private Marshall an object */=0A=
dwr.engine._serializeXml =3D function(batch, referto, data, name) {=0A=
  var ref =3D dwr.engine._lookup(referto, data, name);=0A=
  if (ref) return ref;=0A=
=0A=
  var output;=0A=
  if (window.XMLSerializer) output =3D new =
XMLSerializer().serializeToString(data);=0A=
  else if (data.toXml) output =3D data.toXml;=0A=
  else output =3D data.innerHTML;=0A=
=0A=
  return "XML:" + encodeURIComponent(output);=0A=
};=0A=
=0A=
/** @private Marshall an array */=0A=
dwr.engine._serializeArray =3D function(batch, referto, data, name) {=0A=
  var ref =3D dwr.engine._lookup(referto, data, name);=0A=
  if (ref) return ref;=0A=
=0A=
  var reply =3D "Array:[";=0A=
  for (var i =3D 0; i < data.length; i++) {=0A=
    if (i !=3D 0) reply +=3D ",";=0A=
    batch.paramCount++;=0A=
    var childName =3D "c" + dwr.engine._batch.map.callCount + "-e" + =
batch.paramCount;=0A=
    dwr.engine._serializeAll(batch, referto, data[i], childName);=0A=
    reply +=3D "reference:";=0A=
    reply +=3D childName;=0A=
  }=0A=
  reply +=3D "]";=0A=
=0A=
  return reply;=0A=
};=0A=
=0A=
/** @private Convert an XML string into a DOM object. */=0A=
dwr.engine._unserializeDocument =3D function(xml) {=0A=
  var dom;=0A=
  if (window.DOMParser) {=0A=
    var parser =3D new DOMParser();=0A=
    dom =3D parser.parseFromString(xml, "text/xml");=0A=
    if (!dom.documentElement || dom.documentElement.tagName =3D=3D =
"parsererror") {=0A=
      var message =3D dom.documentElement.firstChild.data;=0A=
      message +=3D "\n" + =
dom.documentElement.firstChild.nextSibling.firstChild.data;=0A=
      throw message;=0A=
    }=0A=
    return dom;=0A=
  }=0A=
  else if (window.ActiveXObject) {=0A=
    dom =3D dwr.engine._newActiveXObject(dwr.engine._DOMDocument);=0A=
    dom.loadXML(xml); // What happens on parse fail with IE?=0A=
    return dom;=0A=
  }=0A=
  else {=0A=
    var div =3D document.createElement("div");=0A=
    div.innerHTML =3D xml;=0A=
    return div;=0A=
  }=0A=
};=0A=
=0A=
/** @param axarray An array of strings to attempt to create ActiveX =
objects from */=0A=
dwr.engine._newActiveXObject =3D function(axarray) {=0A=
  var returnValue;  =0A=
  for (var i =3D 0; i < axarray.length; i++) {=0A=
    try {=0A=
      returnValue =3D new ActiveXObject(axarray[i]);=0A=
      break;=0A=
    }=0A=
    catch (ex) { /* ignore */ }=0A=
  }=0A=
  return returnValue;=0A=
};=0A=
=0A=
/** @private Used internally when some message needs to get to the =
programmer */=0A=
dwr.engine._debug =3D function(message, stacktrace) {=0A=
  var written =3D false;=0A=
  try {=0A=
    if (window.console) {=0A=
      if (stacktrace && window.console.trace) window.console.trace();=0A=
      window.console.log(message);=0A=
      written =3D true;=0A=
    }=0A=
    else if (window.opera && window.opera.postError) {=0A=
      window.opera.postError(message);=0A=
      written =3D true;=0A=
    }=0A=
  }=0A=
  catch (ex) { /* ignore */ }=0A=
=0A=
  if (!written) {=0A=
    var debug =3D document.getElementById("dwr-debug");=0A=
    if (debug) {=0A=
      var contents =3D message + "<br/>" + debug.innerHTML;=0A=
      if (contents.length > 2048) contents =3D contents.substring(0, =
2048);=0A=
      debug.innerHTML =3D contents;=0A=
    }=0A=
  }=0A=
};=0A=


------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/predictivetext/dwr/util.js

/*=0A=
 * Copyright 2005 Joe Walker=0A=
 *=0A=
 * Licensed under the Apache License, Version 2.0 (the "License");=0A=
 * you may not use this file except in compliance with the License.=0A=
 * You may obtain a copy of the License at=0A=
 *=0A=
 *     http://www.apache.org/licenses/LICENSE-2.0=0A=
 *=0A=
 * Unless required by applicable law or agreed to in writing, software=0A=
 * distributed under the License is distributed on an "AS IS" BASIS,=0A=
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or =
implied.=0A=
 * See the License for the specific language governing permissions and=0A=
 * limitations under the License.=0A=
 */=0A=
=0A=
/**=0A=
 * Declare an object to which we can add real functions.=0A=
 */=0A=
if (dwr =3D=3D null) var dwr =3D {};=0A=
if (dwr.util =3D=3D null) dwr.util =3D {};=0A=
if (DWRUtil =3D=3D null) var DWRUtil =3D dwr.util;=0A=
=0A=
/** @private The flag we use to decide if we should escape html */=0A=
dwr.util._escapeHtml =3D true;=0A=
=0A=
/**=0A=
 * Set the global escapeHtml flag=0A=
 */=0A=
dwr.util.setEscapeHtml =3D function(escapeHtml) {=0A=
  dwr.util._escapeHtml =3D escapeHtml;=0A=
}=0A=
=0A=
/** @private Work out from an options list and global settings if we =
should be esccaping */=0A=
dwr.util._shouldEscapeHtml =3D function(options) {=0A=
  if (options && options.escapeHtml !=3D null) {=0A=
    return options.escapeHtml;=0A=
  }=0A=
  return dwr.util._escapeHtml;=0A=
}=0A=
=0A=
/**=0A=
 * Return a string with &, <, >, ' and " replaced with their entities=0A=
 * @see TODO=0A=
 */=0A=
dwr.util.escapeHtml =3D function(original) {=0A=
  var div =3D document.createElement('div');=0A=
  var text =3D document.createTextNode(original);=0A=
  div.appendChild(text);=0A=
  return div.innerHTML;=0A=
}=0A=
=0A=
/**=0A=
 * Replace common XML entities with characters (see =
dwr.util.escapeHtml())=0A=
 * @see TODO=0A=
 */=0A=
dwr.util.unescapeHtml =3D function(original) {=0A=
  var div =3D document.createElement('div');=0A=
  div.innerHTML =3D original.replace(/<\/?[^>]+>/gi, '');=0A=
  return div.childNodes[0] ? div.childNodes[0].nodeValue : '';=0A=
}=0A=
=0A=
/**=0A=
 * Replace characters dangerous for XSS reasons with visually similar =
characters=0A=
 * @see TODO=0A=
 */=0A=
dwr.util.replaceXmlCharacters =3D function(original) {=0A=
  original =3D original.replace("&", "+");=0A=
  original =3D original.replace("<", "\u2039");=0A=
  original =3D original.replace(">", "\u203A");=0A=
  original =3D original.replace("\'", "\u2018");=0A=
  original =3D original.replace("\"", "\u201C");=0A=
  return original;=0A=
}=0A=
=0A=
/**=0A=
 * Return true iff the input string contains any XSS dangerous characters=0A=
 * @see TODO=0A=
 */=0A=
dwr.util.containsXssRiskyCharacters =3D function(original) {=0A=
  return (original.indexOf('&') !=3D -1=0A=
    || original.indexOf('<') !=3D -1=0A=
    || original.indexOf('>') !=3D -1=0A=
    || original.indexOf('\'') !=3D -1=0A=
    || original.indexOf('\"') !=3D -1);=0A=
}=0A=
=0A=
/**=0A=
 * Enables you to react to return being pressed in an input=0A=
 * @see http://getahead.org/dwr/browser/util/selectrange=0A=
 */=0A=
dwr.util.onReturn =3D function(event, action) {=0A=
  if (!event) event =3D window.event;=0A=
  if (event && event.keyCode && event.keyCode =3D=3D 13) action();=0A=
};=0A=
=0A=
/**=0A=
 * Select a specific range in a text box. Useful for 'google suggest' =
type functions.=0A=
 * @see http://getahead.org/dwr/browser/util/selectrange=0A=
 */=0A=
dwr.util.selectRange =3D function(ele, start, end) {=0A=
  ele =3D dwr.util._getElementById(ele, "selectRange()");=0A=
  if (ele =3D=3D null) return;=0A=
  if (ele.setSelectionRange) {=0A=
    ele.setSelectionRange(start, end);=0A=
  }=0A=
  else if (ele.createTextRange) {=0A=
    var range =3D ele.createTextRange();=0A=
    range.moveStart("character", start);=0A=
    range.moveEnd("character", end - ele.value.length);=0A=
    range.select();=0A=
  }=0A=
  ele.focus();=0A=
};=0A=
=0A=
/**=0A=
 * Find the element in the current HTML document with the given id or ids=0A=
 * @see http://getahead.org/dwr/browser/util/$=0A=
 */=0A=
if (document.getElementById) {=0A=
  dwr.util.byId =3D function() {=0A=
    var elements =3D new Array();=0A=
    for (var i =3D 0; i < arguments.length; i++) {=0A=
      var element =3D arguments[i];=0A=
      if (typeof element =3D=3D 'string') {=0A=
        element =3D document.getElementById(element);=0A=
      }=0A=
      if (arguments.length =3D=3D 1) {=0A=
        return element;=0A=
      }=0A=
      elements.push(element);=0A=
    }=0A=
    return elements;=0A=
  };=0A=
}=0A=
else if (document.all) {=0A=
  dwr.util.byId =3D function() {=0A=
    var elements =3D new Array();=0A=
    for (var i =3D 0; i < arguments.length; i++) {=0A=
      var element =3D arguments[i];=0A=
      if (typeof element =3D=3D 'string') {=0A=
        element =3D document.all[element];=0A=
      }=0A=
      if (arguments.length =3D=3D 1) {=0A=
        return element;=0A=
      }=0A=
      elements.push(element);=0A=
    }=0A=
    return elements;=0A=
  };=0A=
}=0A=
=0A=
/**=0A=
 * Alias $ to dwr.util.byId=0A=
 * @see http://getahead.org/dwr/browser/util/$=0A=
 */=0A=
var $;=0A=
if (!$) {=0A=
  $ =3D dwr.util.byId;=0A=
}=0A=
=0A=
/**=0A=
 * This function pretty-prints simple data or whole object graphs, f ex =
as an aid in debugging.=0A=
 * @see http://getahead.org/dwr/browser/util/todescriptivestring=0A=
 */=0A=
dwr.util.toDescriptiveString =3D function(data, showLevels, options) {=0A=
  if (showLevels =3D=3D=3D undefined) showLevels =3D 1;=0A=
  var opt =3D {};=0A=
  if (dwr.util._isObject(options)) opt =3D options;=0A=
  var defaultoptions =3D {=0A=
    escapeHtml:false,=0A=
    baseIndent: "",=0A=
    childIndent: "\u00A0\u00A0",=0A=
    lineTerminator: "\n",=0A=
    oneLineMaxItems: 5,=0A=
    shortStringMaxLength: 13,=0A=
    propertyNameMaxLength: 30 =0A=
  };=0A=
  for (var p in defaultoptions) if (!(p in opt)) opt[p] =3D =
defaultoptions[p];=0A=
  if (typeof options =3D=3D "number") {=0A=
    var baseDepth =3D options;=0A=
    opt.baseIndent =3D dwr.util._indent2(baseDepth, opt);=0A=
  }=0A=
=0A=
  var skipDomProperties =3D {=0A=
    document:true, ownerDocument:true,=0A=
    all:true,=0A=
    parentElement:true, parentNode:true, offsetParent:true,=0A=
    children:true, firstChild:true, lastChild:true,=0A=
    previousSibling:true, nextSibling:true,=0A=
    innerHTML:true, outerHTML:true,=0A=
    innerText:true, outerText:true, textContent:true,=0A=
    attributes:true,=0A=
    style:true, currentStyle:true, runtimeStyle:true,=0A=
    parentTextEdit:true=0A=
  };=0A=
  =0A=
  function recursive(data, showLevels, indentDepth, options) {=0A=
    var reply =3D "";=0A=
    try {=0A=
      // string=0A=
      if (typeof data =3D=3D "string") {=0A=
        var str =3D data;=0A=
        if (showLevels =3D=3D 0 && str.length > =
options.shortStringMaxLength)=0A=
          str =3D str.substring(0, options.shortStringMaxLength-3) + =
"...";=0A=
        if (options.escapeHtml) {=0A=
          // Do the escape separately for every line as escapeHtml() on =
some =0A=
          // browsers (IE) will strip line breaks and we want to =
preserve them=0A=
          var lines =3D str.split("\n");=0A=
          for (var i =3D 0; i < lines.length; i++) lines[i] =3D =
dwr.util.escapeHtml(lines[i]);=0A=
          str =3D lines.join("\n");=0A=
        }=0A=
        if (showLevels =3D=3D 0) { // Short format=0A=
          str =3D str.replace(/\n|\r|\t/g, function(ch) {=0A=
            switch (ch) {=0A=
              case "\n": return "\\n";=0A=
              case "\r": return "";=0A=
              case "\t": return "\\t";=0A=
            }=0A=
          });=0A=
        }=0A=
        else { // Long format=0A=
          str =3D str.replace(/\n|\r|\t/g, function(ch) {=0A=
            switch (ch) {=0A=
              case "\n": return options.lineTerminator + =
indent(indentDepth+1, options);=0A=
              case "\r": return "";=0A=
              case "\t": return "\\t";=0A=
            }=0A=
          });=0A=
        }=0A=
        reply =3D '"' + str + '"';=0A=
      }=0A=
      =0A=
      // function=0A=
      else if (typeof data =3D=3D "function") {=0A=
        reply =3D "function";=0A=
      }=0A=
    =0A=
      // Array=0A=
      else if (dwr.util._isArray(data)) {=0A=
        if (showLevels =3D=3D 0) { // Short format (don't show items)=0A=
          if (data.length > 0)=0A=
            reply =3D "[...]";=0A=
          else=0A=
            reply =3D "[]";=0A=
        }=0A=
        else { // Long format (show items)=0A=
          var strarr =3D [];=0A=
          strarr.push("[");=0A=
          var count =3D 0;=0A=
          for (var i =3D 0; i < data.length; i++) {=0A=
            if (! (i in data)) continue;=0A=
            var itemvalue =3D data[i];=0A=
            if (count > 0) strarr.push(", ");=0A=
            if (showLevels =3D=3D 1) { // One-line format=0A=
              if (count =3D=3D options.oneLineMaxItems) {=0A=
                strarr.push("...");=0A=
                break;=0A=
              }=0A=
            }=0A=
            else { // Multi-line format=0A=
              strarr.push(options.lineTerminator + indent(indentDepth+1, =
options));=0A=
            }=0A=
            if (i !=3D count) {=0A=
              strarr.push(i);=0A=
              strarr.push(":");=0A=
            }=0A=
            strarr.push(recursive(itemvalue, showLevels-1, =
indentDepth+1, options));=0A=
            count++;=0A=
          }=0A=
          if (showLevels > 1) strarr.push(options.lineTerminator + =
indent(indentDepth, options));=0A=
          strarr.push("]");=0A=
          reply =3D strarr.join("");=0A=
        }=0A=
      }=0A=
      =0A=
      // Objects except Date=0A=
      else if (dwr.util._isObject(data) && !dwr.util._isDate(data)) {=0A=
        if (showLevels =3D=3D 0) { // Short format (don't show =
properties)=0A=
          reply =3D dwr.util._detailedTypeOf(data);=0A=
        }=0A=
        else { // Long format (show properties)=0A=
          var strarr =3D [];=0A=
          if (dwr.util._detailedTypeOf(data) !=3D "Object") {=0A=
            strarr.push(dwr.util._detailedTypeOf(data));=0A=
            if (typeof data.valueOf() !=3D "object") {=0A=
              strarr.push(":");=0A=
              strarr.push(recursive(data.valueOf(), 1, indentDepth, =
options));=0A=
            }=0A=
            strarr.push(" ");=0A=
          }=0A=
          strarr.push("{");=0A=
          var isDomObject =3D dwr.util._isHTMLElement(data); =0A=
          var count =3D 0;=0A=
          for (var prop in data) {=0A=
            var propvalue =3D data[prop];=0A=
            if (isDomObject) {=0A=
              if (!propvalue) continue;=0A=
              if (typeof propvalue =3D=3D "function") continue;=0A=
              if (skipDomProperties[prop]) continue;=0A=
              if (prop.toUpperCase() =3D=3D prop) continue;=0A=
            }=0A=
            if (count > 0) strarr.push(", ");=0A=
            if (showLevels =3D=3D 1) { // One-line format=0A=
              if (count =3D=3D options.oneLineMaxItems) {=0A=
                strarr.push("...");=0A=
                break;=0A=
              }=0A=
            }=0A=
            else { // Multi-line format=0A=
              strarr.push(options.lineTerminator + indent(indentDepth+1, =
options));=0A=
            }=0A=
            strarr.push(prop.length > options.propertyNameMaxLength ? =
prop.substring(0, options.propertyNameMaxLength-3) + "..." : prop);=0A=
            strarr.push(":");=0A=
            strarr.push(recursive(propvalue, showLevels-1, =
indentDepth+1, options));=0A=
            count++;=0A=
          }=0A=
          if (showLevels > 1 && count > 0) =
strarr.push(options.lineTerminator + indent(indentDepth, options));=0A=
          strarr.push("}");=0A=
          reply =3D strarr.join("");=0A=
        }=0A=
      }=0A=
  =0A=
      // undefined, null, number, boolean, Date=0A=
      else {=0A=
        reply =3D "" + data;=0A=
      }=0A=
  =0A=
      return reply;=0A=
    }=0A=
    catch(err) {=0A=
      return (err.message ? err.message : ""+err);=0A=
    }=0A=
  }=0A=
=0A=
  function indent(count, options) {=0A=
    var strarr =3D [];=0A=
    strarr.push(options.baseIndent);=0A=
    for (var i=3D0; i<count; i++) {=0A=
      strarr.push(options.childIndent);=0A=
    }=0A=
    return strarr.join("");=0A=
  };=0A=
  =0A=
  return recursive(data, showLevels, 0, opt);=0A=
}=0A=
=0A=
/**=0A=
 * Setup a GMail style loading message.=0A=
 * @see http://getahead.org/dwr/browser/util/useloadingmessage=0A=
 */=0A=
dwr.util.useLoadingMessage =3D function(message) {=0A=
  var loadingMessage;=0A=
  if (message) loadingMessage =3D message;=0A=
  else loadingMessage =3D "Loading";=0A=
  dwr.engine.setPreHook(function() {=0A=
    var disabledZone =3D dwr.util.byId('disabledZone');=0A=
    if (!disabledZone) {=0A=
      disabledZone =3D document.createElement('div');=0A=
      disabledZone.setAttribute('id', 'disabledZone');=0A=
      disabledZone.style.position =3D "absolute";=0A=
      disabledZone.style.zIndex =3D "1000";=0A=
      disabledZone.style.left =3D "0px";=0A=
      disabledZone.style.top =3D "0px";=0A=
      disabledZone.style.width =3D "100%";=0A=
      disabledZone.style.height =3D "100%";=0A=
      document.body.appendChild(disabledZone);=0A=
      var messageZone =3D document.createElement('div');=0A=
      messageZone.setAttribute('id', 'messageZone');=0A=
      messageZone.style.position =3D "absolute";=0A=
      messageZone.style.top =3D "0px";=0A=
      messageZone.style.right =3D "0px";=0A=
      messageZone.style.background =3D "red";=0A=
      messageZone.style.color =3D "white";=0A=
      messageZone.style.fontFamily =3D "Arial,Helvetica,sans-serif";=0A=
      messageZone.style.padding =3D "4px";=0A=
      disabledZone.appendChild(messageZone);=0A=
      var text =3D document.createTextNode(loadingMessage);=0A=
      messageZone.appendChild(text);=0A=
      dwr.util._disabledZoneUseCount =3D 1;=0A=
    }=0A=
    else {=0A=
      dwr.util.byId('messageZone').innerHTML =3D loadingMessage;=0A=
      disabledZone.style.visibility =3D 'visible';=0A=
      dwr.util._disabledZoneUseCount++;=0A=
    }=0A=
  });=0A=
  dwr.engine.setPostHook(function() {=0A=
    dwr.util._disabledZoneUseCount--;=0A=
    if (dwr.util._disabledZoneUseCount =3D=3D 0) {=0A=
      dwr.util.byId('disabledZone').style.visibility =3D 'hidden';=0A=
    }=0A=
  });=0A=
};=0A=
=0A=
/**=0A=
 * Set a global highlight handler=0A=
 */=0A=
dwr.util.setHighlightHandler =3D function(handler) {=0A=
  dwr.util._highlightHandler =3D handler;=0A=
};=0A=
=0A=
/**=0A=
 * An example highlight handler=0A=
 */=0A=
dwr.util.yellowFadeHighlightHandler =3D function(ele) {=0A=
  dwr.util._yellowFadeProcess(ele, 0);=0A=
};=0A=
dwr.util._yellowFadeSteps =3D [ "d0", "b0", "a0", "90", "98", "a0", =
"a8", "b0", "b8", "c0", "c8", "d0", "d8", "e0", "e8", "f0", "f8" ];=0A=
dwr.util._yellowFadeProcess =3D function(ele, colorIndex) {=0A=
  ele =3D dwr.util.byId(ele);=0A=
  if (colorIndex < dwr.util._yellowFadeSteps.length) {=0A=
    ele.style.backgroundColor =3D "#ffff" + =
dwr.util._yellowFadeSteps[colorIndex];=0A=
    setTimeout("dwr.util._yellowFadeProcess('" + ele.id + "'," + =
(colorIndex + 1) + ")", 200);=0A=
  }=0A=
  else {=0A=
    ele.style.backgroundColor =3D "transparent";=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * An example highlight handler=0A=
 */=0A=
dwr.util.borderFadeHighlightHandler =3D function(ele) {=0A=
  ele.style.borderWidth =3D "2px";=0A=
  ele.style.borderStyle =3D "solid";=0A=
  dwr.util._borderFadeProcess(ele, 0);=0A=
};=0A=
dwr.util._borderFadeSteps =3D [ "d0", "b0", "a0", "90", "98", "a0", =
"a8", "b0", "b8", "c0", "c8", "d0", "d8", "e0", "e8", "f0", "f8" ];=0A=
dwr.util._borderFadeProcess =3D function(ele, colorIndex) {=0A=
  ele =3D dwr.util.byId(ele);=0A=
  if (colorIndex < dwr.util._borderFadeSteps.length) {=0A=
    ele.style.borderColor =3D "#ff" + =
dwr.util._borderFadeSteps[colorIndex] + =
dwr.util._borderFadeSteps[colorIndex];=0A=
    setTimeout("dwr.util._borderFadeProcess('" + ele.id + "'," + =
(colorIndex + 1) + ")", 200);=0A=
  }=0A=
  else {=0A=
    ele.style.backgroundColor =3D "transparent";=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * A focus highlight handler=0A=
 */=0A=
dwr.util.focusHighlightHandler =3D function(ele) {=0A=
  try {=0A=
    ele.focus();=0A=
  }=0A=
  catch (ex) { /* ignore */ }=0A=
};=0A=
=0A=
/** @private the current global highlight style */=0A=
dwr.util._highlightHandler =3D null;=0A=
=0A=
/**=0A=
 * Highlight that an element has changed=0A=
 */=0A=
dwr.util.highlight =3D function(ele, options) {=0A=
  if (options && options.highlightHandler) {=0A=
    options.highlightHandler(dwr.util.byId(ele));=0A=
  }=0A=
  else if (dwr.util._highlightHandler !=3D null) {=0A=
    dwr.util._highlightHandler(dwr.util.byId(ele));=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Set the value an HTML element to the specified value.=0A=
 * @see http://getahead.org/dwr/browser/util/setvalue=0A=
 */=0A=
dwr.util.setValue =3D function(ele, val, options) {=0A=
  if (val =3D=3D null) val =3D "";=0A=
  if (options =3D=3D null) options =3D {};=0A=
  if (dwr.util._shouldEscapeHtml(options) && typeof(val) =3D=3D =
"string") {=0A=
    val =3D dwr.util.escapeHtml(val);=0A=
  }=0A=
=0A=
  var orig =3D ele;=0A=
  if (typeof ele =3D=3D "string") {=0A=
    ele =3D dwr.util.byId(ele);=0A=
    // We can work with names and need to sometimes for radio buttons, =
and IE has=0A=
    // an annoying bug where getElementById() returns an element based =
on name if=0A=
    // it doesn't find it by id. Here we don't want to do that, so:=0A=
    if (ele && ele.id !=3D orig) ele =3D null;=0A=
  }=0A=
  var nodes =3D null;=0A=
  if (ele =3D=3D null) {=0A=
    // Now it is time to look by name=0A=
    nodes =3D document.getElementsByName(orig);=0A=
    if (nodes.length >=3D 1) ele =3D nodes.item(0);=0A=
  }=0A=
=0A=
  if (ele =3D=3D null) {=0A=
    dwr.util._debug("setValue() can't find an element with id/name: " + =
orig + ".");=0A=
    return;=0A=
  }=0A=
=0A=
  // All paths now lead to some update so we highlight a change=0A=
  dwr.util.highlight(ele, options);=0A=
=0A=
  if (dwr.util._isHTMLElement(ele, "select")) {=0A=
    if (ele.type =3D=3D "select-multiple" && dwr.util._isArray(val)) =
dwr.util._selectListItems(ele, val);=0A=
    else dwr.util._selectListItem(ele, val);=0A=
    return;=0A=
  }=0A=
=0A=
  if (dwr.util._isHTMLElement(ele, "input")) {=0A=
    if (ele.type =3D=3D "radio" || ele.type =3D=3D "checkbox") {=0A=
      if (nodes && nodes.length >=3D 1) {=0A=
        for (var i =3D 0; i < nodes.length; i++) {=0A=
          var node =3D nodes.item(i);=0A=
          if (node.type !=3D ele.type) continue;=0A=
          if (dwr.util._isArray(val)) {=0A=
            node.checked =3D false;=0A=
            for (var j =3D 0; j < val.length; j++)=0A=
              if (val[i] =3D=3D node.value) node.checked =3D true;=0A=
          }=0A=
          else {=0A=
            node.checked =3D (node.value =3D=3D val);=0A=
          }=0A=
        }=0A=
      }=0A=
      else ele.checked =3D (val =3D=3D true);=0A=
    }=0A=
    else ele.value =3D val;=0A=
=0A=
    return;=0A=
  }=0A=
=0A=
  if (dwr.util._isHTMLElement(ele, "textarea")) {=0A=
    ele.value =3D val;=0A=
    return;=0A=
  }=0A=
=0A=
  // If the value to be set is a DOM object then we try importing the =
node=0A=
  // rather than serializing it out=0A=
  if (val.nodeType) {=0A=
    if (val.nodeType =3D=3D 9 /*Node.DOCUMENT_NODE*/) val =3D =
val.documentElement;=0A=
    val =3D dwr.util._importNode(ele.ownerDocument, val, true);=0A=
    ele.appendChild(val);=0A=
    return;=0A=
  }=0A=
=0A=
  // Fall back to innerHTML=0A=
  ele.innerHTML =3D val;=0A=
};=0A=
=0A=
/**=0A=
 * @private Find multiple items in a select list and select them. Used =
by setValue()=0A=
 * @param ele The select list item=0A=
 * @param val The array of values to select=0A=
 */=0A=
dwr.util._selectListItems =3D function(ele, val) {=0A=
  // We deal with select list elements by selecting the matching option=0A=
  // Begin by searching through the values=0A=
  var found  =3D false;=0A=
  var i;=0A=
  var j;=0A=
  for (i =3D 0; i < ele.options.length; i++) {=0A=
    ele.options[i].selected =3D false;=0A=
    for (j =3D 0; j < val.length; j++) {=0A=
      if (ele.options[i].value =3D=3D val[j]) {=0A=
        ele.options[i].selected =3D true;=0A=
      }=0A=
    }=0A=
  }=0A=
  // If that fails then try searching through the visible text=0A=
  if (found) return;=0A=
=0A=
  for (i =3D 0; i < ele.options.length; i++) {=0A=
    for (j =3D 0; j < val.length; j++) {=0A=
      if (ele.options[i].text =3D=3D val[j]) {=0A=
        ele.options[i].selected =3D true;=0A=
      }=0A=
    }=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * @private Find an item in a select list and select it. Used by =
setValue()=0A=
 * @param ele The select list item=0A=
 * @param val The value to select=0A=
 */=0A=
dwr.util._selectListItem =3D function(ele, val) {=0A=
  // We deal with select list elements by selecting the matching option=0A=
  // Begin by searching through the values=0A=
  var found =3D false;=0A=
  var i;=0A=
  for (i =3D 0; i < ele.options.length; i++) {=0A=
    if (ele.options[i].value =3D=3D val) {=0A=
      ele.options[i].selected =3D true;=0A=
      found =3D true;=0A=
    }=0A=
    else {=0A=
      ele.options[i].selected =3D false;=0A=
    }=0A=
  }=0A=
=0A=
  // If that fails then try searching through the visible text=0A=
  if (found) return;=0A=
=0A=
  for (i =3D 0; i < ele.options.length; i++) {=0A=
    if (ele.options[i].text =3D=3D val) {=0A=
      ele.options[i].selected =3D true;=0A=
    }=0A=
    else {=0A=
      ele.options[i].selected =3D false;=0A=
    }=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Read the current value for a given HTML element.=0A=
 * @see http://getahead.org/dwr/browser/util/getvalue=0A=
 */=0A=
dwr.util.getValue =3D function(ele, options) {=0A=
  if (options =3D=3D null) options =3D {};=0A=
  var orig =3D ele;=0A=
  if (typeof ele =3D=3D "string") {=0A=
    ele =3D dwr.util.byId(ele);=0A=
    // We can work with names and need to sometimes for radio buttons, =
and IE has=0A=
    // an annoying bug where getElementById() returns an element based =
on name if=0A=
    // it doesn't find it by id. Here we don't want to do that, so:=0A=
    if (ele && ele.id !=3D orig) ele =3D null;=0A=
  }=0A=
  var nodes =3D null;=0A=
  if (ele =3D=3D null) {=0A=
    // Now it is time to look by name=0A=
    nodes =3D document.getElementsByName(orig);=0A=
    if (nodes.length >=3D 1) ele =3D nodes.item(0);=0A=
  }=0A=
  if (ele =3D=3D null) {=0A=
    dwr.util._debug("getValue() can't find an element with id/name: " + =
orig + ".");=0A=
    return "";=0A=
  }=0A=
=0A=
  if (dwr.util._isHTMLElement(ele, "select")) {=0A=
    // Using "type" property instead of "multiple" as "type" is an =
official =0A=
    // client-side property since JS 1.1=0A=
    if (ele.type =3D=3D "select-multiple") {=0A=
      var reply =3D new Array();=0A=
      for (var i =3D 0; i < ele.options.length; i++) {=0A=
        var item =3D ele.options[i];=0A=
        if (item.selected) {=0A=
          var valueAttr =3D item.getAttributeNode("value");=0A=
          if (valueAttr && valueAttr.specified) {=0A=
            reply.push(item.value);=0A=
          }=0A=
          else {=0A=
            reply.push(item.text);=0A=
          }=0A=
        }=0A=
      }=0A=
      return reply;=0A=
    }=0A=
    else {=0A=
      var sel =3D ele.selectedIndex;=0A=
      if (sel !=3D -1) {=0A=
        var item =3D ele.options[sel];=0A=
        var valueAttr =3D item.getAttributeNode("value");=0A=
        if (valueAttr && valueAttr.specified) {=0A=
          return item.value;=0A=
        }=0A=
        return item.text;=0A=
      }=0A=
      else {=0A=
        return "";=0A=
      }=0A=
    }=0A=
  }=0A=
=0A=
  if (dwr.util._isHTMLElement(ele, "input")) {=0A=
    if (ele.type =3D=3D "radio") {=0A=
      if (nodes && nodes.length >=3D 1) {=0A=
        for (var i =3D 0; i < nodes.length; i++) {=0A=
          var node =3D nodes.item(i);=0A=
          if (node.type =3D=3D ele.type) {=0A=
            if (node.checked) return node.value;=0A=
          }=0A=
        }=0A=
      }=0A=
      return ele.checked;=0A=
    }=0A=
    if (ele.type =3D=3D "checkbox") {=0A=
      if (nodes && nodes.length >=3D 1) {=0A=
        var reply =3D [];=0A=
        for (var i =3D 0; i < nodes.length; i++) {=0A=
          var node =3D nodes.item(i);=0A=
          if (node.type =3D=3D ele.type) {=0A=
            if (node.checked) reply.push(node.value);=0A=
          }=0A=
        }=0A=
        return reply;=0A=
      }=0A=
      return ele.checked;=0A=
    }=0A=
    return ele.value;=0A=
  }=0A=
=0A=
  if (dwr.util._isHTMLElement(ele, "textarea")) {=0A=
    return ele.value;=0A=
  }=0A=
=0A=
  if (dwr.util._shouldEscapeHtml(options)) {=0A=
    if (ele.textContent) return ele.textContent;=0A=
    else if (ele.innerText) return ele.innerText;=0A=
  }=0A=
  return ele.innerHTML;=0A=
};=0A=
=0A=
/**=0A=
 * getText() is like getValue() except that it reads the text (and not =
the value) from select elements=0A=
 * @see http://getahead.org/dwr/browser/util/gettext=0A=
 */=0A=
dwr.util.getText =3D function(ele) {=0A=
  ele =3D dwr.util._getElementById(ele, "getText()");=0A=
  if (ele =3D=3D null) return null;=0A=
  if (!dwr.util._isHTMLElement(ele, "select")) {=0A=
    dwr.util._debug("getText() can only be used with select elements. =
Attempt to use: " + dwr.util._detailedTypeOf(ele) + " from  id: " + orig =
+ ".");=0A=
    return "";=0A=
  }=0A=
=0A=
  // This is a bit of a scam because it assumes single select=0A=
  // but I'm not sure how we should treat multi-select.=0A=
  var sel =3D ele.selectedIndex;=0A=
  if (sel !=3D -1) {=0A=
    return ele.options[sel].text;=0A=
  }=0A=
  else {=0A=
    return "";=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Given a map, or a recursive structure consisting of arrays and maps, =
call =0A=
 * setValue() for all leaf entries and use intermediate levels to form =
nested=0A=
 * element ids.=0A=
 * @see http://getahead.org/dwr/browser/util/setvalues=0A=
 */=0A=
dwr.util.setValues =3D function(data, options) {=0A=
  var prefix =3D "";=0A=
  if (options && options.prefix) prefix =3D options.prefix;=0A=
  if (options && options.idPrefix) prefix =3D options.idPrefix;=0A=
  dwr.util._setValuesRecursive(data, prefix);=0A=
};=0A=
=0A=
/**=0A=
 * @private Recursive helper for setValues()=0A=
 */=0A=
dwr.util._setValuesRecursive =3D function(data, idpath) {=0A=
  // Array containing objects -> add "[n]" to prefix and make recursive =
call=0A=
  // for each item object=0A=
  if (dwr.util._isArray(data) && data.length > 0 && =
dwr.util._isObject(data[0])) {=0A=
    for (var i =3D 0; i < data.length; i++) {=0A=
      dwr.util._setValuesRecursive(data[i], idpath+"["+i+"]");=0A=
    }=0A=
  }=0A=
  // Object (not array) -> handle nested object properties=0A=
  else if (dwr.util._isObject(data) && !dwr.util._isArray(data)) {=0A=
    for (var prop in data) {=0A=
      var subidpath =3D idpath ? idpath+"."+prop : prop;=0A=
      // Object (not array), or array containing objects -> call =
ourselves recursively=0A=
      if (dwr.util._isObject(data[prop]) && =
!dwr.util._isArray(data[prop]) =0A=
          || dwr.util._isArray(data[prop]) && data[prop].length > 0 && =
dwr.util._isObject(data[prop][0])) {=0A=
        dwr.util._setValuesRecursive(data[prop], subidpath);=0A=
      }=0A=
      // Functions -> skip=0A=
      else if (typeof data[prop] =3D=3D "function") {=0A=
        // NOP=0A=
      }=0A=
      // Only simple values left (or array of simple values, or empty =
array)=0A=
      // -> call setValue()=0A=
      else {=0A=
        // Are there any elements with that id or name=0A=
        if (dwr.util.byId(subidpath) !=3D null || =
document.getElementsByName(subidpath).length >=3D 1) {=0A=
          dwr.util.setValue(subidpath, data[prop]);=0A=
        }=0A=
      }=0A=
    }=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Given a map, or a recursive structure consisting of arrays and maps, =
call =0A=
 * getValue() for all leaf entries and use intermediate levels to form =
nested=0A=
 * element ids.=0A=
 * Given a string or element that refers to a form, create an object =
from the =0A=
 * elements of the form.=0A=
 * @see http://getahead.org/dwr/browser/util/getvalues=0A=
 */=0A=
dwr.util.getValues =3D function(data, options) {=0A=
  if (typeof data =3D=3D "string" || dwr.util._isHTMLElement(data)) {=0A=
    return dwr.util.getFormValues(data);=0A=
  }=0A=
  else {=0A=
    var prefix =3D "";=0A=
    if (options !=3D null && options.prefix) prefix =3D options.prefix;=0A=
    if (options !=3D null && options.idPrefix) prefix =3D =
options.idPrefix;=0A=
    dwr.util._getValuesRecursive(data, prefix);=0A=
    return data;=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Given a string or element that refers to a form, create an object =
from the =0A=
 * elements of the form.=0A=
 * @see http://getahead.org/dwr/browser/util/getvalues=0A=
 */=0A=
dwr.util.getFormValues =3D function(eleOrNameOrId) {=0A=
  var ele =3D null;=0A=
  if (typeof eleOrNameOrId =3D=3D "string") {=0A=
    ele =3D document.forms[eleOrNameOrId];=0A=
    if (ele =3D=3D null) ele =3D dwr.util.byId(eleOrNameOrId);=0A=
  }=0A=
  else if (dwr.util._isHTMLElement(eleOrNameOrId)) {=0A=
    ele =3D eleOrNameOrId;=0A=
  }=0A=
  if (ele !=3D null) {=0A=
    if (ele.elements =3D=3D null) {=0A=
      alert("getFormValues() requires an object or reference to a form =
element.");=0A=
      return null;=0A=
    }=0A=
    var reply =3D {};=0A=
    var name;=0A=
    var value;=0A=
    for (var i =3D 0; i < ele.elements.length; i++) {=0A=
      if (ele[i].type in {button:0,submit:0,reset:0,image:0,file:0}) =
continue;=0A=
      if (ele[i].name) {=0A=
        name =3D ele[i].name;=0A=
        value =3D dwr.util.getValue(name);=0A=
      }=0A=
      else {=0A=
        if (ele[i].id) name =3D ele[i].id;=0A=
        else name =3D "element" + i;=0A=
        value =3D dwr.util.getValue(ele[i]);=0A=
      }=0A=
      reply[name] =3D value;=0A=
    }=0A=
    return reply;=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * @private Recursive helper for getValues().=0A=
 */=0A=
dwr.util._getValuesRecursive =3D function(data, idpath) {=0A=
  // Array containing objects -> add "[n]" to idpath and make recursive =
call=0A=
  // for each item object=0A=
  if (dwr.util._isArray(data) && data.length > 0 && =
dwr.util._isObject(data[0])) {=0A=
    for (var i =3D 0; i < data.length; i++) {=0A=
      dwr.util._getValuesRecursive(data[i], idpath+"["+i+"]");=0A=
    }=0A=
  }=0A=
  // Object (not array) -> handle nested object properties=0A=
  else if (dwr.util._isObject(data) && !dwr.util._isArray(data)) {=0A=
    for (var prop in data) {=0A=
      var subidpath =3D idpath ? idpath+"."+prop : prop;=0A=
      // Object, or array containing objects -> call ourselves =
recursively=0A=
      if (dwr.util._isObject(data[prop]) && =
!dwr.util._isArray(data[prop])=0A=
          || dwr.util._isArray(data[prop]) && data[prop].length > 0 && =
dwr.util._isObject(data[prop][0])) {=0A=
        dwr.util._getValuesRecursive(data[prop], subidpath);=0A=
      }=0A=
      // Functions -> skip=0A=
      else if (typeof data[prop] =3D=3D "function") {=0A=
        // NOP=0A=
      }=0A=
      // Only simple values left (or array of simple values, or empty =
array)=0A=
      // -> call getValue()=0A=
      else {=0A=
        // Are there any elements with that id or name=0A=
        if (dwr.util.byId(subidpath) !=3D null || =
document.getElementsByName(subidpath).length >=3D 1) {=0A=
          data[prop] =3D dwr.util.getValue(subidpath);=0A=
        }=0A=
      }=0A=
    }=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Add options to a list from an array or map.=0A=
 * @see http://getahead.org/dwr/browser/lists=0A=
 */=0A=
dwr.util.addOptions =3D function(ele, data/*, options*/) {=0A=
  ele =3D dwr.util._getElementById(ele, "addOptions()");=0A=
  if (ele =3D=3D null) return;=0A=
  var useOptions =3D dwr.util._isHTMLElement(ele, "select");=0A=
  var useLi =3D dwr.util._isHTMLElement(ele, ["ul", "ol"]);=0A=
  if (!useOptions && !useLi) {=0A=
    dwr.util._debug("addOptions() can only be used with select/ul/ol =
elements. Attempt to use: " + dwr.util._detailedTypeOf(ele));=0A=
    return;=0A=
  }=0A=
  if (data =3D=3D null) return;=0A=
  =0A=
  var argcount =3D arguments.length;=0A=
  var options =3D {};=0A=
  var lastarg =3D arguments[argcount - 1]; =0A=
  if (argcount > 2 && dwr.util._isObject(lastarg)) {=0A=
    options =3D lastarg;=0A=
    argcount--;=0A=
  }=0A=
  var arg3 =3D null; if (argcount >=3D 3) arg3 =3D arguments[2];=0A=
  var arg4 =3D null; if (argcount >=3D 4) arg4 =3D arguments[3];=0A=
  if (!options.optionCreator && useOptions) options.optionCreator =3D =
dwr.util._defaultOptionCreator;=0A=
  if (!options.optionCreator && useLi) options.optionCreator =3D =
dwr.util._defaultListItemCreator;=0A=
=0A=
  var text, value, li;=0A=
  if (dwr.util._isArray(data)) {=0A=
    // Loop through the data that we do have=0A=
    for (var i =3D 0; i < data.length; i++) {=0A=
      options.data =3D data[i];=0A=
      options.text =3D null;=0A=
      options.value =3D null;=0A=
      if (useOptions) {=0A=
        if (arg3 !=3D null) {=0A=
          if (arg4 !=3D null) {=0A=
            options.text =3D dwr.util._getValueFrom(data[i], arg4);=0A=
            options.value =3D dwr.util._getValueFrom(data[i], arg3);=0A=
          }=0A=
          else options.text =3D options.value =3D =
dwr.util._getValueFrom(data[i], arg3);=0A=
        }=0A=
        else options.text =3D options.value =3D =
dwr.util._getValueFrom(data[i]);=0A=
=0A=
        if (options.text !=3D null || options.value) {=0A=
          var opt =3D options.optionCreator(options);=0A=
          opt.text =3D options.text;=0A=
          opt.value =3D options.value;=0A=
          ele.options[ele.options.length] =3D opt;=0A=
        }=0A=
      }=0A=
      else {=0A=
        options.value =3D dwr.util._getValueFrom(data[i], arg3);=0A=
        if (options.value !=3D null) {=0A=
          li =3D options.optionCreator(options);=0A=
          if (dwr.util._shouldEscapeHtml(options)) {=0A=
            options.value =3D dwr.util.escapeHtml(options.value);=0A=
          }=0A=
          li.innerHTML =3D options.value;=0A=
          ele.appendChild(li);=0A=
        }=0A=
      }=0A=
    }=0A=
  }=0A=
  else if (arg4 !=3D null) {=0A=
    if (!useOptions) {=0A=
      alert("dwr.util.addOptions can only create select lists from =
objects.");=0A=
      return;=0A=
    }=0A=
    for (var prop in data) {=0A=
      options.data =3D data[prop];=0A=
      options.value =3D dwr.util._getValueFrom(data[prop], arg3);=0A=
      options.text =3D dwr.util._getValueFrom(data[prop], arg4);=0A=
=0A=
      if (options.text !=3D null || options.value) {=0A=
        var opt =3D options.optionCreator(options);=0A=
        opt.text =3D options.text;=0A=
        opt.value =3D options.value;=0A=
        ele.options[ele.options.length] =3D opt;=0A=
      }=0A=
    }=0A=
  }=0A=
  else {=0A=
    if (!useOptions) {=0A=
      dwr.util._debug("dwr.util.addOptions can only create select lists =
from objects.");=0A=
      return;=0A=
    }=0A=
    for (var prop in data) {=0A=
      options.data =3D data[prop];=0A=
      if (!arg3) {=0A=
        options.value =3D prop;=0A=
        options.text =3D data[prop];=0A=
      }=0A=
      else {=0A=
        options.value =3D data[prop];=0A=
        options.text =3D prop;=0A=
      }=0A=
      if (options.text !=3D null || options.value) {=0A=
        var opt =3D options.optionCreator(options);=0A=
        opt.text =3D options.text;=0A=
        opt.value =3D options.value;=0A=
        ele.options[ele.options.length] =3D opt;=0A=
      }=0A=
    }=0A=
  }=0A=
=0A=
  // All error routes through this function result in a return, so =
highlight now=0A=
  dwr.util.highlight(ele, options); =0A=
};=0A=
=0A=
/**=0A=
 * @private Get the data from an array function for dwr.util.addOptions=0A=
 */=0A=
dwr.util._getValueFrom =3D function(data, method) {=0A=
  if (method =3D=3D null) return data;=0A=
  else if (typeof method =3D=3D 'function') return method(data);=0A=
  else return data[method];=0A=
};=0A=
=0A=
/**=0A=
 * @private Default option creation function=0A=
 */=0A=
dwr.util._defaultOptionCreator =3D function(options) {=0A=
  return new Option();=0A=
};=0A=
=0A=
/**=0A=
 * @private Default list item creation function=0A=
 */=0A=
dwr.util._defaultListItemCreator =3D function(options) {=0A=
  return document.createElement("li");=0A=
};=0A=
=0A=
/**=0A=
 * Remove all the options from a select list (specified by id)=0A=
 * @see http://getahead.org/dwr/browser/lists=0A=
 */=0A=
dwr.util.removeAllOptions =3D function(ele) {=0A=
  ele =3D dwr.util._getElementById(ele, "removeAllOptions()");=0A=
  if (ele =3D=3D null) return;=0A=
  var useOptions =3D dwr.util._isHTMLElement(ele, "select");=0A=
  var useLi =3D dwr.util._isHTMLElement(ele, ["ul", "ol"]);=0A=
  if (!useOptions && !useLi) {=0A=
    dwr.util._debug("removeAllOptions() can only be used with select, ol =
and ul elements. Attempt to use: " + dwr.util._detailedTypeOf(ele));=0A=
    return;=0A=
  }=0A=
  if (useOptions) {=0A=
    ele.options.length =3D 0;=0A=
  }=0A=
  else {=0A=
    while (ele.childNodes.length > 0) {=0A=
      ele.removeChild(ele.firstChild);=0A=
    }=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Create rows inside a the table, tbody, thead or tfoot element (given =
by id).=0A=
 * @see http://getahead.org/dwr/browser/tables=0A=
 */=0A=
dwr.util.addRows =3D function(ele, data, cellFuncs, options) {=0A=
  ele =3D dwr.util._getElementById(ele, "addRows()");=0A=
  if (ele =3D=3D null) return;=0A=
  if (!dwr.util._isHTMLElement(ele, ["table", "tbody", "thead", =
"tfoot"])) {=0A=
    dwr.util._debug("addRows() can only be used with table, tbody, thead =
and tfoot elements. Attempt to use: " + dwr.util._detailedTypeOf(ele));=0A=
    return;=0A=
  }=0A=
  if (!options) options =3D {};=0A=
  if (!options.rowCreator) options.rowCreator =3D =
dwr.util._defaultRowCreator;=0A=
  if (!options.cellCreator) options.cellCreator =3D =
dwr.util._defaultCellCreator;=0A=
  var tr, rowNum;=0A=
  if (dwr.util._isArray(data)) {=0A=
    for (rowNum =3D 0; rowNum < data.length; rowNum++) {=0A=
      options.rowData =3D data[rowNum];=0A=
      options.rowIndex =3D rowNum;=0A=
      options.rowNum =3D rowNum;=0A=
      options.data =3D null;=0A=
      options.cellNum =3D -1;=0A=
      tr =3D dwr.util._addRowInner(cellFuncs, options);=0A=
      if (tr !=3D null) ele.appendChild(tr);=0A=
    }=0A=
  }=0A=
  else if (typeof data =3D=3D "object") {=0A=
    rowNum =3D 0;=0A=
    for (var rowIndex in data) {=0A=
      options.rowData =3D data[rowIndex];=0A=
      options.rowIndex =3D rowIndex;=0A=
      options.rowNum =3D rowNum;=0A=
      options.data =3D null;=0A=
      options.cellNum =3D -1;=0A=
      tr =3D dwr.util._addRowInner(cellFuncs, options);=0A=
      if (tr !=3D null) ele.appendChild(tr);=0A=
      rowNum++;=0A=
    }=0A=
  }=0A=
=0A=
  dwr.util.highlight(ele, options);=0A=
};=0A=
=0A=
/**=0A=
 * @private Internal function to draw a single row of a table.=0A=
 */=0A=
dwr.util._addRowInner =3D function(cellFuncs, options) {=0A=
  var tr =3D options.rowCreator(options);=0A=
  if (tr =3D=3D null) return null;=0A=
  for (var cellNum =3D 0; cellNum < cellFuncs.length; cellNum++) {=0A=
    var func =3D cellFuncs[cellNum];=0A=
    if (typeof func =3D=3D 'function') options.data =3D =
func(options.rowData, options);=0A=
    else options.data =3D func || "";=0A=
    options.cellNum =3D cellNum;=0A=
    var td =3D options.cellCreator(options);=0A=
    if (td !=3D null) {=0A=
      if (options.data !=3D null) {=0A=
        if (dwr.util._isHTMLElement(options.data)) =
td.appendChild(options.data);=0A=
        else {=0A=
          if (dwr.util._shouldEscapeHtml(options) && =
typeof(options.data) =3D=3D "string") {=0A=
            td.innerHTML =3D dwr.util.escapeHtml(options.data);=0A=
          }=0A=
          else {=0A=
            td.innerHTML =3D options.data;=0A=
          }=0A=
        }=0A=
      }=0A=
      tr.appendChild(td);=0A=
    }=0A=
  }=0A=
  return tr;=0A=
};=0A=
=0A=
/**=0A=
 * @private Default row creation function=0A=
 */=0A=
dwr.util._defaultRowCreator =3D function(options) {=0A=
  return document.createElement("tr");=0A=
};=0A=
=0A=
/**=0A=
 * @private Default cell creation function=0A=
 */=0A=
dwr.util._defaultCellCreator =3D function(options) {=0A=
  return document.createElement("td");=0A=
};=0A=
=0A=
/**=0A=
 * Remove all the children of a given node.=0A=
 * @see http://getahead.org/dwr/browser/tables=0A=
 */=0A=
dwr.util.removeAllRows =3D function(ele, options) {=0A=
  ele =3D dwr.util._getElementById(ele, "removeAllRows()");=0A=
  if (ele =3D=3D null) return;=0A=
  if (!options) options =3D {};=0A=
  if (!options.filter) options.filter =3D function() { return true; };=0A=
  if (!dwr.util._isHTMLElement(ele, ["table", "tbody", "thead", =
"tfoot"])) {=0A=
    dwr.util._debug("removeAllRows() can only be used with table, tbody, =
thead and tfoot elements. Attempt to use: " + =
dwr.util._detailedTypeOf(ele));=0A=
    return;=0A=
  }=0A=
  var child =3D ele.firstChild;=0A=
  var next;=0A=
  while (child !=3D null) {=0A=
    next =3D child.nextSibling;=0A=
    if (options.filter(child)) {=0A=
      ele.removeChild(child);=0A=
    }=0A=
    child =3D next;=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * dwr.util.byId(ele).className =3D "X", that we can call from Java =
easily.=0A=
 */=0A=
dwr.util.setClassName =3D function(ele, className) {=0A=
  ele =3D dwr.util._getElementById(ele, "setClassName()");=0A=
  if (ele =3D=3D null) return;=0A=
  ele.className =3D className;=0A=
};=0A=
=0A=
/**=0A=
 * dwr.util.byId(ele).className +=3D "X", that we can call from Java =
easily.=0A=
 */=0A=
dwr.util.addClassName =3D function(ele, className) {=0A=
  ele =3D dwr.util._getElementById(ele, "addClassName()");=0A=
  if (ele =3D=3D null) return;=0A=
  ele.className +=3D " " + className;=0A=
};=0A=
=0A=
/**=0A=
 * dwr.util.byId(ele).className -=3D "X", that we can call from Java =
easily=0A=
 * From code originally by Gavin Kistner=0A=
 */=0A=
dwr.util.removeClassName =3D function(ele, className) {=0A=
  ele =3D dwr.util._getElementById(ele, "removeClassName()");=0A=
  if (ele =3D=3D null) return;=0A=
  var regex =3D new RegExp("(^|\\s)" + className + "(\\s|$)", 'g');=0A=
  ele.className =3D ele.className.replace(regex, '');=0A=
};=0A=
=0A=
/**=0A=
 * dwr.util.byId(ele).className |=3D "X", that we can call from Java =
easily.=0A=
 */=0A=
dwr.util.toggleClassName =3D function(ele, className) {=0A=
  ele =3D dwr.util._getElementById(ele, "toggleClassName()");=0A=
  if (ele =3D=3D null) return;=0A=
  var regex =3D new RegExp("(^|\\s)" + className + "(\\s|$)");=0A=
  if (regex.test(ele.className)) {=0A=
    ele.className =3D ele.className.replace(regex, '');=0A=
  }=0A=
  else {=0A=
    ele.className +=3D " " + className;=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Clone a node and insert it into the document just above the =
'template' node=0A=
 * @see http://getahead.org/dwr/???=0A=
 */=0A=
dwr.util.cloneNode =3D function(ele, options) {=0A=
  ele =3D dwr.util._getElementById(ele, "cloneNode()");=0A=
  if (ele =3D=3D null) return null;=0A=
  if (options =3D=3D null) options =3D {};=0A=
  var clone =3D ele.cloneNode(true);=0A=
  if (options.idPrefix || options.idSuffix) {=0A=
    dwr.util._updateIds(clone, options);=0A=
  }=0A=
  else {=0A=
    dwr.util._removeIds(clone);=0A=
  }=0A=
  ele.parentNode.insertBefore(clone, ele);=0A=
  return clone;=0A=
};=0A=
=0A=
/**=0A=
 * @private Update all of the ids in an element tree=0A=
 */=0A=
dwr.util._updateIds =3D function(ele, options) {=0A=
  if (options =3D=3D null) options =3D {};=0A=
  if (ele.id) {=0A=
    ele.setAttribute("id", (options.idPrefix || "") + ele.id + =
(options.idSuffix || ""));=0A=
  }=0A=
  var children =3D ele.childNodes;=0A=
  for (var i =3D 0; i < children.length; i++) {=0A=
    var child =3D children.item(i);=0A=
    if (child.nodeType =3D=3D 1 /*Node.ELEMENT_NODE*/) {=0A=
      dwr.util._updateIds(child, options);=0A=
    }=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * @private Remove all the Ids from an element=0A=
 */=0A=
dwr.util._removeIds =3D function(ele) {=0A=
  if (ele.id) ele.removeAttribute("id");=0A=
  var children =3D ele.childNodes;=0A=
  for (var i =3D 0; i < children.length; i++) {=0A=
    var child =3D children.item(i);=0A=
    if (child.nodeType =3D=3D 1 /*Node.ELEMENT_NODE*/) {=0A=
      dwr.util._removeIds(child);=0A=
    }=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * Clone a template node and its embedded template child nodes according =
to=0A=
 * cardinalities (of arrays) in supplied data.  =0A=
 */=0A=
dwr.util.cloneNodeForValues =3D function(templateEle, data, options) {=0A=
  templateEle =3D dwr.util._getElementById(templateEle, =
"cloneNodeForValues()");=0A=
  if (templateEle =3D=3D null) return null;=0A=
  if (options =3D=3D null) options =3D {};=0A=
  var idpath;=0A=
  if (options.idPrefix !=3D null)=0A=
    idpath =3D options.idPrefix;=0A=
  else=0A=
    idpath =3D templateEle.id || ""; =0A=
  return dwr.util._cloneNodeForValuesRecursive(templateEle, data, =
idpath, options);=0A=
};=0A=
=0A=
/**=0A=
 * @private Recursive helper for cloneNodeForValues(). =0A=
 */=0A=
dwr.util._cloneNodeForValuesRecursive =3D function(templateEle, data, =
idpath, options) {=0A=
  // Incoming array -> make an id for each item and call clone of the =
template =0A=
  // for each of them=0A=
  if (dwr.util._isArray(data)) {=0A=
    var clones =3D [];=0A=
    for (var i =3D 0; i < data.length; i++) {=0A=
      var item =3D data[i];=0A=
      var clone =3D dwr.util._cloneNodeForValuesRecursive(templateEle, =
item, idpath + "[" + i + "]", options);=0A=
      clones.push(clone);=0A=
    }=0A=
    return clones;=0A=
  }=0A=
  else=0A=
  // Incoming object (not array) -> clone the template, add id prefixes, =
add =0A=
  // clone to DOM, and then recurse into any array properties if they =
contain =0A=
  // objects and there is a suitable template=0A=
  if (dwr.util._isObject(data) && !dwr.util._isArray(data)) {=0A=
    var clone =3D templateEle.cloneNode(true);=0A=
    if (options.updateCloneStyle && clone.style) {=0A=
      for (var propname in options.updateCloneStyle) {=0A=
        clone.style[propname] =3D options.updateCloneStyle[propname];=0A=
      }=0A=
    }=0A=
    dwr.util._replaceIds(clone, templateEle.id, idpath);=0A=
    templateEle.parentNode.insertBefore(clone, templateEle);=0A=
    dwr.util._cloneSubArrays(data, idpath, options);=0A=
    return clone;=0A=
  }=0A=
=0A=
  // It is an error to end up here so we return nothing=0A=
  return null;=0A=
};=0A=
=0A=
/**=0A=
 * @private Substitute a leading idpath fragment with another idpath for =
all =0A=
 * element ids tree, and remove ids that don't match the idpath. =0A=
 */=0A=
dwr.util._replaceIds =3D function(ele, oldidpath, newidpath) {=0A=
  if (ele.id) {=0A=
    var newId =3D null;=0A=
    if (ele.id =3D=3D oldidpath) {=0A=
      newId =3D newidpath;=0A=
    }=0A=
    else if (ele.id.length > oldidpath.length) {=0A=
      if (ele.id.substr(0, oldidpath.length) =3D=3D oldidpath) {=0A=
        var trailingChar =3D ele.id.charAt(oldidpath.length);=0A=
        if (trailingChar =3D=3D "." || trailingChar =3D=3D "[") {=0A=
          newId =3D newidpath + ele.id.substr(oldidpath.length);=0A=
        }=0A=
      }=0A=
    }=0A=
    if (newId) {=0A=
      ele.setAttribute("id", newId);=0A=
    }=0A=
    else {=0A=
      ele.removeAttribute("id");=0A=
    }=0A=
  }=0A=
  var children =3D ele.childNodes;=0A=
  for (var i =3D 0; i < children.length; i++) {=0A=
    var child =3D children.item(i);=0A=
    if (child.nodeType =3D=3D 1 /*Node.ELEMENT_NODE*/) {=0A=
      dwr.util._replaceIds(child, oldidpath, newidpath);=0A=
    }=0A=
  }=0A=
};=0A=
=0A=
/**=0A=
 * @private Finds arrays in supplied data and uses any corresponding =
template =0A=
 * node to make a clone for each item in the array. =0A=
 */=0A=
dwr.util._cloneSubArrays =3D function(data, idpath, options) {=0A=
  for (prop in data) {=0A=
    var value =3D data[prop];=0A=
    // Look for potential recursive cloning in all array properties=0A=
    if (dwr.util._isArray(value)) {=0A=
      // Only arrays with objects are interesting for cloning=0A=
      if (value.length > 0 && dwr.util._isObject(value[0])) {=0A=
        var subTemplateId =3D idpath + "." + prop;=0A=
        var subTemplateEle =3D dwr.util.byId(subTemplateId);=0A=
        if (subTemplateEle !=3D null) {=0A=
          dwr.util._cloneNodeForValuesRecursive(subTemplateEle, value, =
subTemplateId, options);=0A=
        }=0A=
      }=0A=
    }=0A=
    // Continue looking for arrays in object properties=0A=
    else if (dwr.util._isObject(value)) {=0A=
      dwr.util._cloneSubArrays(value, idpath + "." + prop, options);=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
/**=0A=
 * @private Helper to turn a string into an element with an error message=0A=
 */=0A=
dwr.util._getElementById =3D function(ele, source) {=0A=
  var orig =3D ele;=0A=
  ele =3D dwr.util.byId(ele);=0A=
  if (ele =3D=3D null) {=0A=
    dwr.util._debug(source + " can't find an element with id: " + orig + =
".");=0A=
  }=0A=
  return ele;=0A=
};=0A=
=0A=
/**=0A=
 * @private Is the given node an HTML element (optionally of a given =
type)?=0A=
 * @param ele The element to test=0A=
 * @param nodeName eg "input", "textarea" - check for node name =
(optional)=0A=
 *         if nodeName is an array then check all for a match.=0A=
 */=0A=
dwr.util._isHTMLElement =3D function(ele, nodeName) {=0A=
  if (ele =3D=3D null || typeof ele !=3D "object" || ele.nodeName =3D=3D =
null) {=0A=
    return false;=0A=
  }=0A=
  if (nodeName !=3D null) {=0A=
    var test =3D ele.nodeName.toLowerCase();=0A=
    if (typeof nodeName =3D=3D "string") {=0A=
      return test =3D=3D nodeName.toLowerCase();=0A=
    }=0A=
    if (dwr.util._isArray(nodeName)) {=0A=
      var match =3D false;=0A=
      for (var i =3D 0; i < nodeName.length && !match; i++) {=0A=
        if (test =3D=3D nodeName[i].toLowerCase()) {=0A=
          match =3D  true;=0A=
        }=0A=
      }=0A=
      return match;=0A=
    }=0A=
    dwr.util._debug("dwr.util._isHTMLElement was passed test node name =
that is neither a string or array of strings");=0A=
    return false;=0A=
  }=0A=
  return true;=0A=
};=0A=
=0A=
/**=0A=
 * @private Like typeOf except that more information for an object is =
returned other than "object"=0A=
 */=0A=
dwr.util._detailedTypeOf =3D function(x) {=0A=
  var reply =3D typeof x;=0A=
  if (reply =3D=3D "object") {=0A=
    reply =3D Object.prototype.toString.apply(x); // Returns "[object =
class]"=0A=
    reply =3D reply.substring(8, reply.length-1);  // Just get the class =
bit=0A=
  }=0A=
  return reply;=0A=
};=0A=
=0A=
/**=0A=
 * @private Object detector. Excluding null from objects.=0A=
 */=0A=
dwr.util._isObject =3D function(data) {=0A=
  return (data && typeof data =3D=3D "object");=0A=
};=0A=
=0A=
/**=0A=
 * @private Array detector. Note: instanceof doesn't work with multiple =
frames.=0A=
 */=0A=
dwr.util._isArray =3D function(data) {=0A=
  return (data && data.join);=0A=
};=0A=
=0A=
/**=0A=
 * @private Date detector. Note: instanceof doesn't work with multiple =
frames.=0A=
 */=0A=
dwr.util._isDate =3D function(data) {=0A=
  return (data && data.toUTCString) ? true : false;=0A=
};=0A=
=0A=
/**=0A=
 * @private Used by setValue. Gets around the missing functionallity in =
IE.=0A=
 */=0A=
dwr.util._importNode =3D function(doc, importedNode, deep) {=0A=
  var newNode;=0A=
=0A=
  if (importedNode.nodeType =3D=3D 1 /*Node.ELEMENT_NODE*/) {=0A=
    newNode =3D doc.createElement(importedNode.nodeName);=0A=
=0A=
    for (var i =3D 0; i < importedNode.attributes.length; i++) {=0A=
      var attr =3D importedNode.attributes[i];=0A=
      if (attr.nodeValue !=3D null && attr.nodeValue !=3D '') {=0A=
        newNode.setAttribute(attr.name, attr.nodeValue);=0A=
      }=0A=
    }=0A=
=0A=
    if (typeof importedNode.style !=3D "undefined") {=0A=
      newNode.style.cssText =3D importedNode.style.cssText;=0A=
    }=0A=
  }=0A=
  else if (importedNode.nodeType =3D=3D 3 /*Node.TEXT_NODE*/) {=0A=
    newNode =3D doc.createTextNode(importedNode.nodeValue);=0A=
  }=0A=
=0A=
  if (deep && importedNode.hasChildNodes()) {=0A=
    for (i =3D 0; i < importedNode.childNodes.length; i++) {=0A=
      newNode.appendChild(dwr.util._importNode(doc, =
importedNode.childNodes[i], true));=0A=
    }=0A=
  }=0A=
=0A=
  return newNode;=0A=
};=0A=
=0A=
/** @private Used internally when some message needs to get to the =
programmer */=0A=
dwr.util._debug =3D function(message, stacktrace) {=0A=
  var written =3D false;=0A=
  try {=0A=
    if (window.console) {=0A=
      if (stacktrace && window.console.trace) window.console.trace();=0A=
      window.console.log(message);=0A=
      written =3D true;=0A=
    }=0A=
    else if (window.opera && window.opera.postError) {=0A=
      window.opera.postError(message);=0A=
      written =3D true;=0A=
    }=0A=
  }=0A=
  catch (ex) { /* ignore */ }=0A=
=0A=
  if (!written) {=0A=
    var debug =3D document.getElementById("dwr-debug");=0A=
    if (debug) {=0A=
      var contents =3D message + "<br/>" + debug.innerHTML;=0A=
      if (contents.length > 2048) contents =3D contents.substring(0, =
2048);=0A=
      debug.innerHTML =3D contents;=0A=
    }=0A=
  }=0A=
};=0A=


------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/predictivetext/dwr/interface/PredictiveText.js

=0A=
// Provide a default path to dwr.engine=0A=
if (dwr =3D=3D null) var dwr =3D {};=0A=
if (dwr.engine =3D=3D null) dwr.engine =3D {};=0A=
if (DWREngine =3D=3D null) var DWREngine =3D dwr.engine;=0A=
=0A=
if (PredictiveText =3D=3D null) var PredictiveText =3D {};=0A=
PredictiveText._path =3D '/predictivetext/dwr';=0A=
PredictiveText.getPredictiveCities =3D function(p0, p1, callback) {=0A=
  dwr.engine._execute(PredictiveText._path, 'PredictiveText', =
'getPredictiveCities', p0, p1, callback);=0A=
}=0A=

------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/predictivetext/components/js/predictiveText.js?ver=3

var predictiveTextReady =3D false;
var DELAY_betweenTypingCalls =3D 0, REQUIRED_chars =3D 3, =
IFRAME_width_Max =3D 250, IFRAME_width =3D 250, DIV_width =3D 250, =
UL_width =3D 250, MAX_SHOW =3D 8, DIV_HEIGHT =3D 134, SCROLL_INCR =3D =
17;
var YOFFSET_applicationTabsContentClass =3D 16;
var YOFFSET_MSIE =3D 18;
var NAME_tabsClassForOffset =3D 'applicationTabsContent';
var handleKeyPressedRef =3D null, eventHandle =3D null;
var lastSent =3D '';
var itemCount =3D 0, currentSelection =3D -1, prevSelection =3D -1, =
LastSentTime =3D 0, lastKeyCode =3D 0
var WriteToIFrame, WriteToDiv, SourceInput;
var isStopped =3D false, isReallyOut =3D true, isOutLastKeyEnter =3D =
false, hasBlurred =3D false;
var ObjectHash =3D new Object;
var CurrentMatches =3D new Array();
var ExceptionCodes =3D {NYC:'New York-All Airports, NY, US =
(NYC)',CHI:'Chicago-All Airports, IL, US (CHI)',WAS:'Washington-All =
Airports, DC, US (WAS)',PAR:'Paris-All Airports, France, FR =
(PAR)',LON:'Londong-All Airports, United Kingdom, GB (LON)'}
var includeAwards =3D false;

function initPredictiveText() {
  predictiveTextReady =3D true;
}       =20

function returnURI() {
	var URIBegin =3D window.location.href.lastIndexOf('.delta.com') + 10;
	var URIEnd =3D (window.location.href.lastIndexOf('?') > URIBegin) ? =
window.location.href.lastIndexOf('?') : window.location.href.length;
	return window.location.href.substring(URIBegin, URIEnd)
}

function setIsreallyOut(value) { isReallyOut =3D value; }

function checkPTBlur() { if(isReallyOut) { cancelBox(); } hasBlurred =3D =
true;}

function airportLocator(Definition) {
	includeAwards =3D exists(Definition.inclAwd) ? Definition.inclAwd : =
false;
	var counter =3D 0;
	DELAY_betweenTypingCalls =3D 0;
	cancelBox();
	setIsreallyOut(false);
	initOnKeyDownHandler(keypressed);
	SourceInput =3D Definition.TargetInput;
	Definition.TargetInput.autocomplete =3D 'off';
	Definition.TargetInput.setAttribute('autocomplete', 'off');
	SourceInput.onblur =3D checkPTBlur;
	SourceInput.onmouseout =3D function() { setIsreallyOut(true); }
	isOutLastKeyEnter =3D false;
	hasBlurred =3D false;
	if (eventHandle) {
		clearTimeout(eventHandle);
		eventHandle =3D '';
	}
	lastSent =3D '';
	currentSelection=3D -1;
	prevSelection =3D -1;
	isStopped =3D false;
	CurrentMatches.length =3D 0;
}

function cancelBox() {
	if(exists(SourceInput) && exists(SourceInput.value)) { =
setAirportCodeAndDisplay(currentSelection); }
	initOnKeyDownHandler(null);
	setIsreallyOut(true);
	closeBox();
	SourceInput =3D null;
	isStopped =3D false;
}

function cancelEnter() {
	var v =3D (isStopped =3D=3D null || isStopped !=3D true);
    isStopped =3D false;
	if(isOutLastKeyEnter) return true;
	return (v ? true: isLastKeyEnter());
}

function checkMatch(Value, ObjectInstance, Dictionary, AddToArray) {
	if(!Dictionary[ObjectInstance.airportCode]) {
		switch(true) {
			case ObjectInstance.airportCode.toUpperCase() =3D=3D =
Value.toUpperCase():
				AddToArray.unshift(ObjectInstance);
				break;
			case ObjectInstance.cityName.substr(0, Value.length).toUpperCase() =
=3D=3D Value.toUpperCase():
				AddToArray.push(ObjectInstance);
				break;
			default:
				for(var i=3D0, j=3DObjectInstance.aliases.length; i<j; i++) {
					if(ObjectInstance.aliases[i].substr(0, Value.length).toUpperCase() =
=3D=3D Value.toUpperCase()) {
						AddToArray.push(ObjectInstance);
						break;
					}
				}
				break;
		}
		Dictionary[ObjectInstance.airportCode] =3D true;
	}
}

function closeBox() {
    if (WriteToDiv !=3D null) {
        hide(WriteToDiv.id);
        WriteToDiv.innerHTML =3D '';
    }
    if (WriteToIFrame!=3D null) { hide(WriteToIFrame.id); }
    isStopped =3D true;
}

function continueTyping(input) {
	if (isLastKeyEnter()) {
		var now =3D new Date().getTime();
		if (now - LastSentTime > DELAY_betweenTypingCalls) {
			clearTimeout(eventHandle);
			takeTypingInput();
		} else {
			clearTimeout(eventHandle);
			eventHandle =3D self.setTimeout('continueTyping()', =
DELAY_betweenTypingCalls);
		}
	}
}

function createPTextHTMLElement(Definition) {
	var Element =3D document.createElement(Definition.elementType);
	Element.id =3D Definition.id;
	if(Definition.className) { Element.className =3D Definition.className; =
}
	if(Definition.position) { Element.style.position =3D =
Definition.position; }
	if(Definition.width) { Element.style.width =3D Definition.width; }
	if(Definition.zIndex) { Element.style.zIndex =3D Definition.zIndex; }
	if(Definition.frameborder) { Element.setAttribute('frameborder', =
Definition.frameborder); }
	if(Definition.scrolling) { Element.setAttribute('scrolling', =
Definition.scrolling); }
	if(Definition.src) { Element.setAttribute('src', Definition.src); }
	Definition.appendChildTo.appendChild(Element);
	return Element;
}

function displayPTResults() {
	if(itemCount > MAX_SHOW) {
		WriteToDiv.style.height =3D DIV_HEIGHT + 'px';
		WriteToDiv.style.overflow =3D 'auto';
		if(isShowIframe()) { WriteToIFrame.style.width =3D IFRAME_width_Max; }
	} else {
		WriteToDiv.style.height =3D '';
		WriteToDiv.style.overflow =3D 'hidden';=09
	}
    show(WriteToDiv.id, 'block');
    if (isShowIframe() && WriteToIFrame !=3D null) {
		show(WriteToIFrame.id, 'block');
		WriteToIFrame.style.height =3D (WriteToDiv.offsetHeight) + "px";
		WriteToIFrame.style.top =3D WriteToDiv.style.top;
		WriteToIFrame.style.left =3D WriteToDiv.style.left;
	}
}

function drawPTChoices(isUseObjectHash) {
	hidePTResults();
	var Matches =3D (isUseObjectHash) ? ObjectHash[lastSent] : =
CurrentMatches;
	setInnerHTML(WriteToDiv.id, '');
	if(exists(Matches) && Matches.length > 0) {
		var HTML =3D new Array();
		HTML.push('<!-- mp_trans_disable_start -->');
		HTML.push('<ul class=3D"AirportList" style=3D"width: ' + (UL_width) + =
'px;">');
		for(var i=3D0, j=3DMatches.length; i<j; i++) {
			var uri =3D returnURI();
			if(exists(ExceptionCodes[Matches[i].airportCode])) {
				if(uri.toLowerCase().indexOf('/awards/') =3D=3D -1) {
					HTML.push('<li style=3D"width: ' + UL_width + 'px" id=3D"' + =
Matches[i].airportCode + '" class=3D"AirportList">' + =
returnPTDisplayString(Matches[i]) + '</li>');
				}
			} else {
				HTML.push('<li style=3D"width: ' + UL_width + '" id=3D"' + =
Matches[i].airportCode + '" class=3D"AirportList">' + =
returnPTDisplayString(Matches[i]) + '</li>');
			}
		}
		HTML.push('</ul>');
		HTML.push('<!-- mp_trans_disable_end -->');
		setInnerHTML(WriteToDiv.id, HTML.join(''))
		var List =3D getAirportBoxList();
		itemCount =3D List.childNodes.length
		for (var i=3D0, j=3DList.childNodes.length; i<j; i++) {
			li =3D List.childNodes[i];
			li.onmousedown =3D handleOnMouseDown;
			li.onmouseover =3D hanldeOnMouseOver;
			li.onmouseout =3D handleOnMouseOut;
		}
		WriteToDiv.scrollTop =3D 0;
		displayPTResults();
		currentSelection=3D0;
		prevSelection=3D0;
		selPTChoice(0);
	} else {
		itemCount =3D 0;
		if(SourceInput.value !=3D '') {
			WriteToDiv.innerHTML =3D '';
			hidePTResults();
		} else {
			hidePTResults();
		}
	}
}

function findAirport() {
   try{
         if(!predictiveTextReady) { return; }
	      var TotalFixed =3D fixPTString(SourceInput.value);
	      var TruncatedFixed =3D fixPTString(SourceInput.value.substr(0, =
REQUIRED_chars))
	      switch(true) {
         case (SourceInput.value.length >=3D REQUIRED_chars && lastSent =
!=3D SourceInput.value.substr(0, REQUIRED_chars).toUpperCase() && =
!isInObjectHash(TruncatedFixed)):
	      		lastSent =3D TruncatedFixed;
				hasBlurred =3D false;

	      		PredictiveText.getPredictiveCities(lastSent, includeAwards,
                                                  =
{callback:handlePTCallback,
                                                   =
errorHandler:handlePTError,
                                                   timeout:6000
                                                   });

	      		break;
	      	case isInObjectHash(TruncatedFixed):
	      			setPTDisplay();
	      			fineTuneMatches(TotalFixed);
	      			if(exists(SourceInput)) { drawPTChoices(false); }
	      			currentSelection=3D0;
	      			prevSelection=3D0;
	      			selPTChoice(0);
	      		break;
	      	default:
	      		hidePTResults();
	      		break;
	      }
   } catch (e) {
      handlePTError();
   }
}

function fineTuneMatches(Value) {
	CurrentMatches.length =3D 0;
	var Dictionary =3D new Array();
	for(var obj in ObjectHash) {
		var Matches =3D ObjectHash[obj];
		for(var i=3D0, j=3DMatches.length; i<j; i++) {
			if(Value.length =3D=3D 3) {
				if(obj =3D=3D Value) { CurrentMatches.push(Matches[i]); }
			} else {
				checkMatch(Value, Matches[i], Dictionary, CurrentMatches);
			}
		}
	}
}

function fixPTString(Value) {
    var strSound =3D Value;
	strSound =3D strSound.replace(/^FOR /gi, 'FORT ');
    return strSound.toUpperCase();
}

function getAirportBoxList() {
    var ul;
    for (var i=3D0; i < WriteToDiv.childNodes.length; i++) {
       var node =3D WriteToDiv.childNodes[i];
       if (node.nodeName =3D=3D 'UL') {
           ul =3D node;
           break;
       }
    }
    return ul;
}

function getPTIndex(elem) {
    var list =3D getAirportBoxList();
    var currentIndex =3D 0;
    for (var i=3D0, j=3Dlist.childNodes.length; i < j; i++) {
        if (elem =3D=3D list.childNodes[i]) {
            return i;
		}
    }
    return currentIndex;
}

function handlePTCallback(data) {=20
	try {
		DELAY_betweenTypingCalls =3D 100;
		CurrentMatches.length =3D 0;
		setPTDisplay();
		if(data.citiesDWR !=3D null && lastSent !=3D '') {
			ObjectHash[lastSent] =3D new Array();
			for(var i=3D0, j=3Ddata.citiesDWR.length; i<j; i++) {
				ObjectHash[lastSent].push(data.citiesDWR[i])
			}
			if(hasBlurred) { throw {desc:'Exited before callback',num:1001}; }
			if(exists(SourceInput)) { drawPTChoices(true); }
		} else  {
			hidePTResults();
		}
	} catch (e) { handlePTError(); }
}


function handlePTError() {
	try {
		hidePTResults();
	} catch (e) {}
}

function handleOnKeyDown(e) {
	var eventKeyCode =3D (document.all) ? window.event.keyCode : e.which;
	var eventString =3D String.fromCharCode(eventKeyCode).toLowerCase();
	lastKeyCode =3D eventKeyCode;
	if(handleKeyPressedRef !=3D null) { handleKeyPressedRef(eventKeyCode, =
eventString); }
}

function handleOnMouseDown(event) {
    var obj =3D event ? event.target : this;
    currentSelection =3D getPTIndex(obj);
    setAirportCodeAndDisplay(currentSelection);
	setIsreallyOut(true);
    cancelBox();
}

function handleOnMouseOut(event) {
    var obj =3D event ? event.target : this;
    currentSelection =3D -1;
    selPTChoice(-1);
}

function hanldeOnMouseOver(event) {
    var obj =3D event ? event.target : this;
    currentSelection =3D getPTIndex(obj);
    selPTChoice(currentSelection);
	setIsreallyOut(false);
}

function hidePTResults() {
	if(exists(WriteToDiv)) {
		hide(WriteToDiv.id);
		if(isShowIframe()) { hide(WriteToIFrame.id); }
	}
}

function initOnKeyDownHandler(keyPressedRef) {
	document.onkeydown =3D handleOnKeyDown;
	handleKeyPressedRef =3D keyPressedRef;
	if (document.layers) { document.captureEvents(Event.KEYPRESS); }
}

function isInObjectHash(Value) {
	return exists(ObjectHash[Value]);
}

function isLastKeyEnter() { if(lastKeyCode =3D=3D 13 && isReallyOut =
=3D=3D true) { isOutLastKeyEnter =3D true } return lastKeyCode !=3D 13; =
}

function isShowIframe() { return ( !exists(window.opera) && =
exists(window.ActiveXObject) && exists(document.all) ) ? true : false; }

function keypressed(keycode, keyvalue) {
    clearTimeout(eventHandle);
    LastSentTime =3D new Date().getTime();
    switch (keycode) {
		case 37: //left
		case 38: //up
	        currentSelection --;
			setIsreallyOut(false);
			if (currentSelection < 0) { currentSelection =3D 0; }
			selPTChoice(currentSelection);
			if(itemCount > MAX_SHOW) {
				var presentVisible =3D parseInt((currentSelection) * SCROLL_INCR);
				WriteToDiv.scrollTop =3D presentVisible;
			}
	        break;
		case 39: //right
		case 40: //down
	        currentSelection++;
			setIsreallyOut(false);
			if (currentSelection >=3D itemCount) { currentSelection =3D =
itemCount-1; }
			selPTChoice(currentSelection);
			if(itemCount > MAX_SHOW) {
				var presentVisible =3D parseInt((currentSelection) * SCROLL_INCR);
				WriteToDiv.scrollTop =3D presentVisible;
			}
	        break;
		case 13: //enter=20
			if (itemCount>0) {
				setIsreallyOut(true);
				setAirportCodeAndDisplay(currentSelection);
				closeBox();
			}
			break;
		case 27: //esc
			setIsreallyOut(true);
			closeBox();
			break;
		case 9: //tab
			if (currentSelection >=3D 0 && currentSelection < itemCount) {
				setIsreallyOut(true);
				setAirportCodeAndDisplay(currentSelection);
			}
			break;
		case 18: //alt
		case 16: //shift
			break;
		default:
			setAirportCodeAndDisplay(-1);
			eventHandle =3D self.setTimeout('continueTyping()', =
DELAY_betweenTypingCalls);
    }
}

function returnPTDisplayString(ObjectInstance) {
	return ObjectInstance.cityName + ((exists(ObjectInstance.region)) ? ', =
' + ObjectInstance.region : '') + ((exists(ObjectInstance.countryCode)) =
? ', ' + ObjectInstance.countryCode : '') + ' (' + =
ObjectInstance.airportCode + ')';
}

function selPTChoice(ID) {		=09
	try {
		var list =3D getAirportBoxList();
		if (typeof(list) !=3D 'undefined' && list.childNodes.length > 0) {
			if (ID >=3D 0) {
				if(prevSelection >=3D 0) { list.childNodes[prevSelection].className =
=3D 'AirportList';}
				prevSelection =3D ID;
				list.childNodes[prevSelection].className =3D 'SelectedAirport';
			}
		}
    } catch(e) { handlePTError(); }
}

function setAirportCodeAndDisplay(ID) {
	switch(true) {
		case ID < 0:
			lastSent =3D '';
			break;
		case itemCount > 0:
			var AiportList =3D getAirportBoxList();
			if (AiportList =3D=3D null || AiportList.childNodes =3D=3D null) =
return;
			var Chosen =3D AiportList.childNodes[ID]
			SourceInput.value =3D Chosen.id;
			break;
    }
}

function setPTDisplay() {
	try {
			WriteToDiv =3D get('AirportListDiv');
			if (!WriteToDiv) {
				WriteToDiv =3D createPTextHTMLElement({elementType:'div', =
id:'AirportListDiv', zIndex:51, className:'AirportList', =
position:'absolute', width:DIV_width, appendChildTo:document.body});
				hide(WriteToDiv.id);
			}
			WriteToDiv.onmouseout =3D function() { setIsreallyOut(true); }
			WriteToDiv.onmouseover =3D function() { setIsreallyOut(false); }

			if (isShowIframe()) {
				WriteToIFrame =3D get('AirportListIframe');
				if (!WriteToIFrame) {
					WriteToIFrame =3D createPTextHTMLElement({elementType:'iframe', =
id:'AirportListIframe', zIndex:50, className:'AirportList', =
position:'absolute', frameborder:'0', scrolling:'no', =
width:IFRAME_width, appendChildTo:document.body,src:'java' + =
'script:\'<html></html>\';'});
					hide(WriteToIFrame.id);
				}
			}
			if(exists(SourceInput)) {
				var XY;
				XY =3D getPTElementXAndYPos(SourceInput);
				if(!isNaN(XY.y)) { WriteToDiv.style.top =3D XY.y + =
SourceInput.clientHeight + 'px'; }
				if(!isNaN(XY.x)) { WriteToDiv.style.left =3D (XY.x) + 'px'; }
			}
	} catch(e) { handlePTError(); }
}
function takeTypingInput() {
    if ( (SourceInput !=3D null ) && SourceInput.value.length > 0) {
		findAirport();
	} else {
		setAirportCodeAndDisplay(-1);
		closeBox();
	}
}


function getPTElementXAndYPos(element) {
	var curLeft =3D 0, curTop =3D 0;
	if(element.offsetParent) {
		while (element.offsetParent) {
			var topOffSet =3D 0;
			// updated to include booking for the full search placement
			var uri =3D returnURI();
			if(!isShowIframe() && uri.toLowerCase().indexOf('/booking/') =3D=3D =
-1 && exists(element.className) && =
element.className.indexOf(NAME_tabsClassForOffset) !=3D=3D -1) {
				// the border top for the application tabs class is not accounted =
for in non-ie browsers when it comes to the offsetTop
				topOffSet =3D YOFFSET_applicationTabsContentClass;  // this is 16
			}

			var bName =3D navigator.appName;
			if(uri.toLowerCase().indexOf('/awards/') !=3D -1 && bName =3D=3D =
'Microsoft Internet Explorer' && exists(element.className) && =
element.className.indexOf(NAME_tabsClassForOffset) !=3D=3D -1) {
				topOffSet =3D YOFFSET_MSIE;  // this is 18
			}

			curLeft +=3D element.offsetLeft;
			curTop +=3D element.offsetTop + topOffSet;
			element =3D element.offsetParent;
		}
	} else if(element.x) {
		curLeft =3D element.x;
		curTop =3D element.y;
	}
	return {x:curLeft, y:curTop};
}
                                                                 
------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/shared/components/js/lib/enhancedCalendar.jsp?fromWhere=homepageRTR&ver=1&bookingLimit=333




var EnhancedCalendar =3D {
=09
	updateInputs:{ departureDate : {field : "returnDate", offset : 0}, =
returnDate : {field : "departureDate", offset : 0} },
=09
	today:new Date(2009, 8, 14),
	maxDate:new Date(2010, 7, 14),
	displayDiv:get("travelCalendarContainer"),
	displayIFrame:get("travelCalendar"),
	=
calendarNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct=
","Nov","Dec"],
	sourceElm:null,
	currentMonth:-1,
	currentYear:-1,
	invalidDate:1001,
	parsedDate:null,
	setInternals:function(Definition) {
		this.setParsedDate(Definition.sourceElm.value);
		if ( this.parsedDate.date =3D=3D=3D "" ) { this.setParsedDate( =
(this.today.getMonth() + 1) + "/" + this.today.getDate() + "/" + =
this.today.getFullYear()); }
		var sendYear =3D this.parsedDate.year, sendMonth =3D =
this.parsedDate.month, sendDay =3D this.parsedDate.day;
		this.sourceElm =3D Definition.sourceElm;
		this.sourceElm.onkeyup =3D this.updateCalendar;
		this.sourceElm.onkeydown =3D this.checkKeyBoardOut;
		if((this.sourceElm.value.toLowerCase() =3D=3D=3D "mm/dd/yyyy" || =
this.sourceElm.value.toLowerCase() =3D=3D=3D "") && =
exists(this.updateInputs)=20
		 ) {
			var updateDef =3D =
this.updateInputs[this.sourceElm.id.replace(/\[|\]/g, "")];
			var otherInputId =3D updateDef.field;
			var otherInput =3D get(otherInputId);
			if(exists(otherInput) && otherInput.value.toLowerCase() !=3D=3D =
"mm/dd/yyyy") {
				var data =3D otherInput.value.split("/")
				if(this.isValidDate(data)) {
					var adjustedDate =3D new Date( data[2], (data[0] - 1), data[1]);
					adjustedDate.setDate(adjustedDate.getDate() + updateDef.offset)
					sendMonth =3D adjustedDate.getMonth();
					sendDay =3D adjustedDate.getDate();
					sendYear =3D adjustedDate.getFullYear();
				}
			}
		=09
		}if(this.displayIFrame.src.indexOf("RTRCalendar.jsp?y=3D" + sendYear + =
"&m=3D" + sendMonth) =3D=3D -1) {
			this.displayIFrame.src =3D =
"/shared/components/apps/RTRCalendar.jsp?y=3D" + sendYear + "&m=3D" + =
sendMonth + "&d=3D" + sendDay + "&from=3Dscript" + =
"&bookingLimit=3D333";
		}
	},
	=09
	calendar:function(Definition) {
		try {
			this.close();
			this.setInternals(Definition);
			var XY =3D getElementXAndYPos(Definition.sourceElm);
			this.displayDiv.style.top =3D (XY.y + (10)) + "px";
			this.displayDiv.style.left =3D (XY.x + (-10)) + "px";
			this.currentMonth =3D this.parsedDate.year;
			this.currentYear =3D this.parsedDate.month;
			show(this.displayDiv.id);
		} catch (e){ }
	},
	setDate:function(day, month, year, dayOfWeek) {
		//Had to convert month back to string so that I could display date =
properly as say, 03/03/2009
		var monthToDisplay =3D (parseInt(month, 10) + 1);
		var addZeroToDayAsPrefix =3D (parseInt(day, 10) < 10) ? "0" : "";
		var addZeroToMonthAsPrefix =3D (monthToDisplay < 10) ? "0" : "";

		this.setParsedDate(addZeroToMonthAsPrefix + monthToDisplay.toString() =
+ "/" + (addZeroToDayAsPrefix + day) + "/" + year);
		this.setValues( { date : addZeroToMonthAsPrefix + =
monthToDisplay.toString() + "/" + (addZeroToDayAsPrefix + day) + "/" + =
year, month : month, day : day, dayOfWeek : dayOfWeek, year : year} );

	=09
		try {
			if(get("departureDate")) {
				var outbound =3D new Date (get("departureDate").value);
			} else if(get("revisedDeptDate")) {
				var outbound =3D new Date (get("revisedDeptDate").value);
			}
			if(get("returnDate")) {
				var inbound =3D new Date (get("returnDate").value);
			} else if(get("revisedReturnDate")) {
				var inbound =3D new Date (get("revisedReturnDate").value);
			}
			var sourceField =3D this.sourceElm.id;
			if(sourceField =3D=3D "returnDate" && outbound > inbound){
				get("departureDate").value =3D "";
			} else if(sourceField =3D=3D "revisedReturnDate" && outbound > =
inbound) {
				get("revisedDeptDate").value =3D "";
			}
			if(sourceField =3D=3D "departureDate" && outbound > inbound){
				get("returnDate").value =3D "";
			} else if(sourceField =3D=3D "revisedDeptDate" && outbound > =
inbound){
				get("revisedReturnDate").value =3D "";
			}
		} catch (noUpdateError) {}
	=09
	=09
				//Hiding this for new enhanced calendar pop out to work =
properly...hide(this.displayDiv.id);
	},
	close:function() {
		EnhancedCalendar.sourceElm =3D null;
		hide(EnhancedCalendar.displayDiv.id);
	},
	setValues:function (Definition) {
		this.sourceElm.value =3D Definition.date;
	},
	isValidDate:function(dataArray){
		if( dataArray.length !=3D=3D 3) { return false; }
		if( isNaN(dataArray[0]) || isNaN(dataArray[1]) || isNaN(dataArray[2]) =
) { return false; }
		if( parseInt(dataArray[0], 10) < 1 || parseInt(dataArray[0], 10) > 12 =
) { return false; }
		if( parseInt(dataArray[1], 10) < 1 || parseInt(dataArray[1], 10) > 31 =
) { return false; }
		if( parseInt(dataArray[2], 10) < this.today.getFullYear() || =
parseInt(dataArray[2], 10) > (this.today.getFullYear() + 1) ) { return =
false; }
		if(( parseInt(dataArray[0], 10) =3D=3D 4 || parseInt(dataArray[0], 10) =
=3D=3D 6 || parseInt(dataArray[0], 10) =3D=3D 9 || =
parseInt(dataArray[0], 10) =3D=3D 11 ) && parseInt(dataArray[1], 10) > =
30) { return false;}
		//need condition to satisfy Leap Day { return true; }
		if ( parseInt(dataArray[0], 10) =3D=3D 2 && parseInt(dataArray[1], 10) =
> 28 ) { return false;}
		return true;
	},
	setParsedDate:function(value) {
		this.parsedDate =3D { date:"", month:"month", day:"day", year:"year"};
		if(value.toLowerCase() =3D=3D=3D "mm/dd/yyyy") {
			this.parsedDate.month =3D this.today.getMonth();
			this.parsedDate.day =3D this.today.getDate();
			this.parsedDate.year =3D this.today.getFullYear();
			this.parsedDate.date =3D (this.parsedDate.month + 1) + "/" + =
this.parsedDate.day + "/" + this.parsedDate.year;
		} else {
			var date =3D value.split("/");
			if(this.isValidDate(date)) {
				var passedDate =3D new Date( date[2], (date[0] - 1), date[1]);
				this.parsedDate.month =3D passedDate.getMonth();
				this.parsedDate.day =3D passedDate.getDate();
				this.parsedDate.year =3D passedDate.getFullYear();
				this.parsedDate.date =3D (this.parsedDate.month + 1) + "/" + =
this.parsedDate.day + "/" + this.parsedDate.year;
			}
		}
	},
	checkKeyBoardOut:function(e) {
		var eventKeyCode =3D (document.all) ? window.event.keyCode : e.which;
		if(eventKeyCode =3D=3D=3D 9 || eventKeyCode =3D=3D=3D 27) {
			EnhancedCalendar.close();
		}
	},
	updateCalendar:function(e) {
		try {
			var eventKeyCode =3D (document.all) ? window.event.keyCode : e.which;
			if( EnhancedCalendar.sourceElm.value.split("/").length =3D=3D=3D 3  =
&& ( (eventKeyCode >=3D 48 && eventKeyCode <=3D 57) || (eventKeyCode =
>=3D 96 && eventKeyCode <=3D 105) ) ) {
				EnhancedCalendar.setParsedDate(EnhancedCalendar.sourceElm.value);
				if(EnhancedCalendar.parsedDate.date !=3D=3D "") {
					var newDate =3D new Date(EnhancedCalendar.parsedDate.year, =
EnhancedCalendar.parsedDate.month, EnhancedCalendar.parsedDate.day);
					if( newDate.getTime() <=3D EnhancedCalendar.maxDate.getTime() && =
newDate.getTime() >=3D EnhancedCalendar.today.getTime() ) {
						EnhancedCalendar.displayIFrame.src =3D =
"/shared/components/apps/RTRCalendar.jsp?y=3D" + =
EnhancedCalendar.parsedDate.year + "&m=3D" + =
EnhancedCalendar.parsedDate.month + "&from=3Dscript";
					}
				}
			}
		} catch(e) {}
	}
};
function parseDate(enhancedDateId, monthInputId, dayInputId) {
	var months =3D new =
Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","=
Dec");
	var dateInput =3D get(enhancedDateId).value.split("/");
	if(EnhancedCalendar.isValidDate(dateInput)) {
		get(monthInputId).value =3D months[(dateInput[0] - 1)];
		get(dayInputId).value =3D dateInput[1];
	}
}
------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/shared/components/js/lib/swfobject.js

/*	SWFObject v2.0 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der =
Sluis
	This software is released under the MIT License =
<http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=3Dfunction(){var =
Z=3D"undefined",P=3D"object",B=3D"Shockwave =
Flash",h=3D"ShockwaveFlash.ShockwaveFlash",W=3D"application/x-shockwave-f=
lash",K=3D"SWFObjectExprInst",G=3Dwindow,g=3Ddocument,N=3Dnavigator,f=3D[=
],H=3D[],Q=3Dnull,L=3Dnull,T=3Dnull,S=3Dfalse,C=3Dfalse;var =
a=3Dfunction(){var l=3Dtypeof g.getElementById!=3DZ&&typeof =
g.getElementsByTagName!=3DZ&&typeof g.createElement!=3DZ&&typeof =
g.appendChild!=3DZ&&typeof g.replaceChild!=3DZ&&typeof =
g.removeChild!=3DZ&&typeof =
g.cloneNode!=3DZ,t=3D[0,0,0],n=3Dnull;if(typeof N.plugins!=3DZ&&typeof =
N.plugins[B]=3D=3DP){n=3DN.plugins[B].description;if(n){n=3Dn.replace(/^.=
*\s+(\S+\s+\S+$)/,"$1");t[0]=3DparseInt(n.replace(/^(.*)\..*$/,"$1"),10);=
t[1]=3DparseInt(n.replace(/^.*\.(.*)\s.*$/,"$1"),10);t[2]=3D/r/.test(n)?p=
arseInt(n.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof =
G.ActiveXObject!=3DZ){var o=3Dnull,s=3Dfalse;try{o=3Dnew =
ActiveXObject(h+".7")}catch(k){try{o=3Dnew =
ActiveXObject(h+".6");t=3D[6,0,21];o.AllowScriptAccess=3D"always"}catch(k=
){if(t[0]=3D=3D6){s=3Dtrue}}if(!s){try{o=3Dnew =
ActiveXObject(h)}catch(k){}}}if(!s&&o){try{n=3Do.GetVariable("$version");=
if(n){n=3Dn.split(" =
")[1].split(",");t=3D[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],1=
0)]}}catch(k){}}}}var =
v=3DN.userAgent.toLowerCase(),j=3DN.platform.toLowerCase(),r=3D/webkit/.t=
est(v)?parseFloat(v.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,i=3D=
false,q=3Dj?/win/.test(j):/win/.test(v),m=3Dj?/mac/.test(j):/mac/.test(v)=
;/*@cc_on =
i=3Dtrue;@if(@_win32)q=3Dtrue;@elif(@_mac)m=3Dtrue;@end@*/return{w3cdom:l=
,pv:t,webkit:r,ie:i,win:q,mac:m}}();var =
e=3Dfunction(){if(!a.w3cdom){return =
}J(I);if(a.ie&&a.win){try{g.write("<script id=3D__ie_ondomload =
defer=3Dtrue src=3D//:><\/script>");var =
i=3Dc("__ie_ondomload");if(i){i.onreadystatechange=3Dfunction(){if(this.r=
eadyState=3D=3D"complete"){this.parentNode.removeChild(this);V()}}}}catch=
(j){}}if(a.webkit&&typeof =
g.readyState!=3DZ){Q=3DsetInterval(function(){if(/loaded|complete/.test(g=
.readyState)){V()}},10)}if(typeof =
g.addEventListener!=3DZ){g.addEventListener("DOMContentLoaded",V,null)}M(=
V)}();function V(){if(S){return }if(a.ie&&a.win){var =
m=3DY("span");try{var =
l=3Dg.getElementsByTagName("body")[0].appendChild(m);l.parentNode.removeC=
hild(l)}catch(n){return }}S=3Dtrue;if(Q){clearInterval(Q);Q=3Dnull}var =
j=3Df.length;for(var k=3D0;k<j;k++){f[k]()}}function =
J(i){if(S){i()}else{f[f.length]=3Di}}function M(j){if(typeof =
G.addEventListener!=3DZ){G.addEventListener("load",j,false)}else{if(typeo=
f =
g.addEventListener!=3DZ){g.addEventListener("load",j,false)}else{if(typeo=
f G.attachEvent!=3DZ){G.attachEvent("onload",j)}else{if(typeof =
G.onload=3D=3D"function"){var =
i=3DG.onload;G.onload=3Dfunction(){i();j()}}else{G.onload=3Dj}}}}}functio=
n I(){var l=3DH.length;for(var j=3D0;j<l;j++){var =
m=3DH[j].id;if(a.pv[0]>0){var =
k=3Dc(m);if(k){H[j].width=3Dk.getAttribute("width")?k.getAttribute("width=
"):"0";H[j].height=3Dk.getAttribute("height")?k.getAttribute("height"):"0=
";if(O(H[j].swfVersion)){if(a.webkit&&a.webkit<312){U(k)}X(m,true)}else{i=
f(H[j].expressInstall&&!C&&O("6.0.65")&&(a.win||a.mac)){D(H[j])}else{d(k)=
}}}}else{X(m,true)}}}function U(m){var =
k=3Dm.getElementsByTagName(P)[0];if(k){var =
p=3DY("embed"),r=3Dk.attributes;if(r){var o=3Dr.length;for(var =
n=3D0;n<o;n++){if(r[n].nodeName.toLowerCase()=3D=3D"data"){p.setAttribute=
("src",r[n].nodeValue)}else{p.setAttribute(r[n].nodeName,r[n].nodeValue)}=
}}var q=3Dk.childNodes;if(q){var s=3Dq.length;for(var =
l=3D0;l<s;l++){if(q[l].nodeType=3D=3D1&&q[l].nodeName.toLowerCase()=3D=3D=
"param"){p.setAttribute(q[l].getAttribute("name"),q[l].getAttribute("valu=
e"))}}}m.parentNode.replaceChild(p,m)}}function =
F(i){if(a.ie&&a.win&&O("8.0.0")){G.attachEvent("onbeforeunload",function(=
){var k=3Dc(i);if(k){for(var j in k){if(typeof =
k[j]=3D=3D"function"){k[j]=3Dfunction(){}}}k.parentNode.removeChild(k)}})=
}}function D(j){C=3Dtrue;var o=3Dc(j.id);if(o){if(j.altContentId){var =
l=3Dc(j.altContentId);if(l){L=3Dl;T=3Dj.altContentId}}else{L=3Db(o)}if(!(=
/%$/.test(j.width))&&parseInt(j.width,10)<310){j.width=3D"310"}if(!(/%$/.=
test(j.height))&&parseInt(j.height,10)<137){j.height=3D"137"}g.title=3Dg.=
title.slice(0,47)+" - Flash Player Installation";var =
n=3Da.ie&&a.win?"ActiveX":"PlugIn",k=3Dg.title,m=3D"MMredirectURL=3D"+G.l=
ocation+"&MMplayerType=3D"+n+"&MMdoctitle=3D"+k,p=3Dj.id;if(a.ie&&a.win&&=
o.readyState!=3D4){var =
i=3DY("div");p+=3D"SWFObjectNew";i.setAttribute("id",p);o.parentNode.inse=
rtBefore(i,o);o.style.display=3D"none";G.attachEvent("onload",function(){=
o.parentNode.removeChild(o)})}R({data:j.expressInstall,id:K,width:j.width=
,height:j.height},{flashvars:m},p)}}function =
d(j){if(a.ie&&a.win&&j.readyState!=3D4){var =
i=3DY("div");j.parentNode.insertBefore(i,j);i.parentNode.replaceChild(b(j=
),i);j.style.display=3D"none";G.attachEvent("onload",function(){j.parentN=
ode.removeChild(j)})}else{j.parentNode.replaceChild(b(j),j)}}function =
b(n){var m=3DY("div");if(a.win&&a.ie){m.innerHTML=3Dn.innerHTML}else{var =
k=3Dn.getElementsByTagName(P)[0];if(k){var o=3Dk.childNodes;if(o){var =
j=3Do.length;for(var =
l=3D0;l<j;l++){if(!(o[l].nodeType=3D=3D1&&o[l].nodeName.toLowerCase()=3D=3D=
"param")&&!(o[l].nodeType=3D=3D8)){m.appendChild(o[l].cloneNode(true))}}}=
}}return m}function R(AE,AC,q){var p,t=3Dc(q);if(typeof =
AE.id=3D=3DZ){AE.id=3Dq}if(a.ie&&a.win){var AD=3D"";for(var z in =
AE){if(AE[z]!=3DObject.prototype[z]){if(z=3D=3D"data"){AC.movie=3DAE[z]}e=
lse{if(z.toLowerCase()=3D=3D"styleclass"){AD+=3D' =
class=3D"'+AE[z]+'"'}else{if(z!=3D"classid"){AD+=3D" =
"+z+'=3D"'+AE[z]+'"'}}}}}var AB=3D"";for(var y in =
AC){if(AC[y]!=3DObject.prototype[y]){AB+=3D'<param name=3D"'+y+'" =
value=3D"'+AC[y]+'" />'}}t.outerHTML=3D'<object =
classid=3D"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AD+">"+AB+"</obje=
ct>";F(AE.id);p=3Dc(AE.id)}else{if(a.webkit&&a.webkit<312){var =
AA=3DY("embed");AA.setAttribute("type",W);for(var x in =
AE){if(AE[x]!=3DObject.prototype[x]){if(x=3D=3D"data"){AA.setAttribute("s=
rc",AE[x])}else{if(x.toLowerCase()=3D=3D"styleclass"){AA.setAttribute("cl=
ass",AE[x])}else{if(x!=3D"classid"){AA.setAttribute(x,AE[x])}}}}}for(var =
w in =
AC){if(AC[w]!=3DObject.prototype[w]){if(w!=3D"movie"){AA.setAttribute(w,A=
C[w])}}}t.parentNode.replaceChild(AA,t);p=3DAA}else{var =
s=3DY(P);s.setAttribute("type",W);for(var v in =
AE){if(AE[v]!=3DObject.prototype[v]){if(v.toLowerCase()=3D=3D"styleclass"=
){s.setAttribute("class",AE[v])}else{if(v!=3D"classid"){s.setAttribute(v,=
AE[v])}}}}for(var u in =
AC){if(AC[u]!=3DObject.prototype[u]&&u!=3D"movie"){E(s,u,AC[u])}}t.parent=
Node.replaceChild(s,t);p=3Ds}}return p}function E(k,i,j){var =
l=3DY("param");l.setAttribute("name",i);l.setAttribute("value",j);k.appen=
dChild(l)}function c(i){return g.getElementById(i)}function Y(i){return =
g.createElement(i)}function O(k){var =
j=3Da.pv,i=3Dk.split(".");i[0]=3DparseInt(i[0],10);i[1]=3DparseInt(i[1],1=
0);i[2]=3DparseInt(i[2],10);return(j[0]>i[0]||(j[0]=3D=3Di[0]&&j[1]>i[1])=
||(j[0]=3D=3Di[0]&&j[1]=3D=3Di[1]&&j[2]>=3Di[2]))?true:false}function =
A(m,j){if(a.ie&&a.mac){return }var =
l=3Dg.getElementsByTagName("head")[0],k=3DY("style");k.setAttribute("type=
","text/css");k.setAttribute("media","screen");if(!(a.ie&&a.win)&&typeof =
g.createTextNode!=3DZ){k.appendChild(g.createTextNode(m+" =
{"+j+"}"))}l.appendChild(k);if(a.ie&&a.win&&typeof =
g.styleSheets!=3DZ&&g.styleSheets.length>0){var =
i=3Dg.styleSheets[g.styleSheets.length-1];if(typeof =
i.addRule=3D=3DP){i.addRule(m,j)}}}function X(k,i){var =
j=3Di?"visible":"hidden";if(S){c(k).style.visibility=3Dj}else{A("#"+k,"vi=
sibility:"+j)}}return{registerObject:function(l,i,k){if(!a.w3cdom||!l||!i=
){return }var =
j=3D{};j.id=3Dl;j.swfVersion=3Di;j.expressInstall=3Dk?k:false;H[H.length]=
=3Dj;X(l,false)},getObjectById:function(l){var =
i=3Dnull;if(a.w3cdom&&S){var j=3Dc(l);if(j){var =
k=3Dj.getElementsByTagName(P)[0];if(!k||(k&&typeof =
j.SetVariable!=3DZ)){i=3Dj}else{if(typeof =
k.SetVariable!=3DZ){i=3Dk}}}}return =
i},embedSWF:function(n,u,r,t,j,m,k,p,s){if(!a.w3cdom||!n||!u||!r||!t||!j)=
{return }r+=3D"";t+=3D"";if(O(j)){X(u,false);var q=3D(typeof =
s=3D=3DP)?s:{};q.data=3Dn;q.width=3Dr;q.height=3Dt;var o=3D(typeof =
p=3D=3DP)?p:{};if(typeof k=3D=3DP){for(var l in =
k){if(k[l]!=3DObject.prototype[l]){if(typeof =
o.flashvars!=3DZ){o.flashvars+=3D"&"+l+"=3D"+k[l]}else{o.flashvars=3Dl+"=3D=
"+k[l]}}}}J(function(){R(q,o,u);if(q.id=3D=3Du){X(u,true)}})}else{if(m&&!=
C&&O("6.0.65")&&(a.win||a.mac)){X(u,false);J(function(){var =
i=3D{};i.id=3Di.altContentId=3Du;i.width=3Dr;i.height=3Dt;i.expressInstal=
l=3Dm;D(i)})}}},getFlashPlayerVersion:function(){return{major:a.pv[0],min=
or:a.pv[1],release:a.pv[2]}},hasFlashPlayerVersion:O,createSWF:function(k=
,j,i){if(a.w3cdom&&S){return R(k,j,i)}else{return =
undefined}},createCSS:function(j,i){if(a.w3cdom){A(j,i)}},addDomLoadEvent=
:J,addLoadEvent:M,getQueryParamValue:function(m){var =
l=3Dg.location.search||g.location.hash;if(m=3D=3Dnull){return =
l}if(l){var k=3Dl.substring(1).split("&");for(var =
j=3D0;j<k.length;j++){if(k[j].substring(0,k[j].indexOf("=3D"))=3D=3Dm){re=
turn =
k[j].substring((k[j].indexOf("=3D")+1))}}}return""},expressInstallCallbac=
k:function(){if(C&&L){var =
i=3Dc(K);if(i){i.parentNode.replaceChild(L,i);if(T){X(T,true);if(a.ie&&a.=
win){L.style.display=3D"block"}}L=3Dnull;T=3Dnull;C=3Dfalse}}}}}();
------=_NextPart_000_0000_01CA360A.F6F3B4E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.delta.com/shared/components/js/page_level.js?v=1

<!--=20
/* SiteCatalyst code version: H.10.
Copyright 1997-2007 Omniture, Inc. More info available at
http://www.omniture.com */
/* You may give each page an identifying name, server, and channel on
the next lines. */
	// SiteCatalyst Page Level Scripts
try {
	if(window.parent !=3D=3D window && =
window.parent.exists(window.parent.UserTracking)) {
		window.parent.UserTracking.setPageName();
		window.parent.UserTracking.getPageErrors();
		window.parent.UserTracking.checkEmailPrefs('prevChecked', =
'prevUnChecked');
		window.parent.UserTracking.checkSkyMilesLogin(window.parent.s);
		window.parent.UserTracking.setFormTracking(window.parent.s);
		window.parent.UserTracking.setTrackingVariables(window.parent.s);
	=09
	} else {
		if( exists(UserTracking) ) {
			UserTracking.setPageName();
			UserTracking.getPageErrors();
			UserTracking.checkEmailPrefs('prevChecked', 'prevUnChecked');
			UserTracking.checkSkyMilesLogin(s);
			UserTracking.setFormTracking(s);
			UserTracking.setTrackingVariables(s);
		}
	}
} catch(e) {/* fail out gracefully */ }
var locate =3D location.href;
var start =3D (locate.indexOf("//") + 2);
var end =3D (locate.indexOf("delta.com") - 1);
var server =3D locate.substring((start),(end));
var X1Server =3D (server.indexOf("www") !=3D -1) ? "s.xp1.ru4.com/meta" =
: "s.xp1.ru4.com/meta";

/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
var p =3D (window.parent !=3D=3D window) ? window.parent.s.p_e("XP1") : =
s.p_e("XP1");
p.s =3D (window.parent !=3D=3D window) ? window.parent.s : s;

p.omtr_variable_mapping =3D
"eVar7:ssv_xvar_10|"
+"zip:ssv_xvar_11|"
+"eVar8:ssv_xvar_12|"
+"eVar12:ssv_xvar_13|"
+"eVar15:ssv_xvar_14|"
+"eVar19:ssv_xvar_15|"
+"eVar25:ssv_xvar_18|"
+"eVar9:ssv_xvar_2|"
+"eVar30:ssv_xvar_21|"
+"eVar3:ssv_xvar_22|"
+"eVar5:ssv_xvar_23|"
+"eVar13:ssv_xvar_24|"
+"eVar14:ssv_xvar_25|"
+"evar23:ssv_xvar_28|"
+"evar24:ssv_xvar_29|"
+"eVar21:ssv_xvar_30|"
+"state:ssv_xvar_31|"
+"zip:ssv_xvar_32|"
+"channel:ssv_xvar_33|"
+"prop39:ssv_xvar_34|"
+"eVar4:ssv_xvar_6|"
+"eVar10:ssv_xvar_7|"
+"eVar11:ssv_xvar_8|"
+"prop3:ssv_xvar_9|"
+"eVar18:ssv_xvar_4|";

p.omtr_event_mapping =3D
"event7:2391-002|"
+"event15:2391-003|"
+"event1:2391-006|"
+"event45:2391-007|"
+"purchase:2391-025|"
+"event19:2391-027|"
+"event20:2391-028|"
+"event9:2391-047|"
+"event44:2391-048|";
                     =20
p.omtr_page_name_mapping =3D=20
"Home Page^2391-001|"
+"Booking Car Search^2391-004|"
+"Revenue Booking Full Search^2391-005|"
+"Traveling &amp; Check-in^2391-008|"
+"Itineraries Search Page^2391-009|"
+"Flight Status &amp; Updates^2391-010|"
+"Baggage^2391-011|"
+"Ticket Changes &amp; Refunds^2391-012|"
+"Travel Getaways Around the World^2391-018|"
+"planning_reservations:plan_flight:destinations:getaway_ideas:ski_vacati=
ons:index.jsp^2391-019|"
+"Booking Confirmation Page^2391-026|"
+"Deals &amp; Offers^2391-029|"
+"Plan a Flight^2391-030|"
+"schedules:travel:reservations:flight_sched:index.jsp^2391-031|"
+"Special Travel Needs^2391-032|"
+"SkyMiles^2391-033|"
+"Start Skymiles Enrollment^2391-034|"
+"Account History^2391-035|"
+"View Account Activity^2391-035|"
+"Manage Account^2391-036|"
+"Use Miles^2391-037|"
+"Select Outbound Flight^2391-038|"
+"Select Return Flight^2391-039|"
+"Booking Passenger Information^2391-040|"
+"Booking Verify and Purchase^2391-041|"
+"Hotel Details Page^2391-043|"
+"Booking View Itinerary Flights^2391-046|"
+"New York Flights on Sale^2391-015|"
+"Atlanta, Boston &amp; New York Flights on Sale^2391-016|";

               =20
p.xp1_host_path =3D X1Server;
p.xp1_exit_path =3D X1Server;
p.xp1_pnr_var =3D 'ssv_xvar_5';
p.xp1_default_placement_id =3D '2391-014';
p.xp1_reward_ticket_hold_event_mapping =3D =
'event19:2391-027|purchase:2391-028';
p.xp1_content_event_mapping  =3D =
'event42:imp|event43:cli|event51:wsreply';

/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
	if(window.parent !=3D=3D window) {
		var s_code=3Dwindow.parent.s.t();if(s_code)document.write(s_code)
	} else {
		var s_code=3Ds.t();if(s_code)document.write(s_code)
	}

//End SiteCatalyst code version: H.10.
// -->



------=_NextPart_000_0000_01CA360A.F6F3B4E0--

