amtrak 2.0.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +5 -0
  3. data/README.markdown +184 -2
  4. data/amtrak.gemspec +3 -4
  5. data/lib/amtrak.rb +2 -3
  6. data/lib/amtrak/train_fetcher.rb +25 -28
  7. data/lib/amtrak/train_parser.rb +30 -86
  8. data/lib/amtrak/version.rb +1 -1
  9. data/spec/amtrak/train_fetcher_spec.rb +26 -22
  10. data/spec/amtrak/train_parser_spec.rb +8 -64
  11. data/spec/amtrak_spec.rb +1 -2
  12. data/spec/fixtures/json/_get.json +223 -28
  13. data/spec/fixtures/json/_parse.json +211 -42
  14. data/spec/fixtures/json/pvd_to_bby.json +1131 -0
  15. data/spec/fixtures/vcr/Amtrak/_get/returns_a_list_of_train_times.yml +1160 -1250
  16. data/spec/fixtures/vcr/Amtrak_TrainFetcher/_get/does_the_same_as_get.yml +1159 -1628
  17. data/spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_a_valid_date_and_invalid_train_stations/does_not_include_various_keys_and_includes_an_error.yml +66 -0
  18. data/spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_a_valid_date_and_train_stations/includes_various_keys.yml +1181 -0
  19. data/spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_an_invalid_date_and_valid_train_stations/does_not_include_various_keys_and_includes_an_error.yml +66 -0
  20. metadata +22 -54
  21. data/lib/amtrak/train_fetcher/main_page.rb +0 -83
  22. data/lib/amtrak/train_fetcher/train_page.rb +0 -52
  23. data/spec/amtrak/train_fetcher/main_page_spec.rb +0 -53
  24. data/spec/amtrak/train_fetcher/train_page_spec.rb +0 -18
  25. data/spec/fixtures/html/pvd_to_bby.html +0 -2596
  26. data/spec/fixtures/html/pvd_to_bby_cancelled.html +0 -2671
  27. data/spec/fixtures/json/_parse_cancelled.json +0 -132
  28. data/spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_a_valid_date_and_invalid_train_stations/does_not_include_various_classes_and_includes_an_error.yml +0 -1073
  29. data/spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_a_valid_date_and_train_stations/includes_various_classes.yml +0 -1650
  30. data/spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_an_invalid_date_and_valid_train_stations/does_not_include_various_classes_and_includes_an_error.yml +0 -1071
  31. data/spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_session_id/pulls_the_session_id_from_the_cookies.yml +0 -1071
  32. data/spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_total_pages/when_more_than_one_page_exists_on_the_website/returns_2.yml +0 -1263
  33. data/spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_total_pages/when_only_one_page_exists_on_the_website/returns_1.yml +0 -1154
  34. data/spec/fixtures/vcr/Amtrak_TrainFetcher_TrainPage/_get/when_it_works/includes_various_classes.yml +0 -198
@@ -1,1071 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://tickets.amtrak.com/itd/amtrak
6
- body:
7
- encoding: US-ASCII
8
- string: _handler%3Damtrak.presentation.handler.request.rail.AmtrakRailTrainStatusSearchRequestHandler%2F_xpath%3D%2FsessionWorkflow%2FproductWorkflow%5B%40product%3D%27Rail%27%5D=SEARCH&%2FsessionWorkflow%2FproductWorkflow%5B%40product%3D%27Rail%27%5D%2FtripRequirements%2FjourneyRequirements%5B1%5D%2FdepartDate.usdate=01%2F03%2F2015&%2FsessionWorkflow%2FproductWorkflow%5B%40product%3D%27Rail%27%5D%2FtripRequirements%2F%40trainStatusType=statusByCityPair&%2FsessionWorkflow%2FproductWorkflow%5B%40product%3D%27Rail%27%5D%2FtripRequirements%2FjourneyRequirements%5B1%5D%2FdepartDate%2F%40radioSelect=arrivalTime&requestor=amtrak.presentation.handler.page.AmtrakCMSNavigationTabPageHandler&xwdf_origin=%2FsessionWorkflow%2FproductWorkflow%5B%40product%3D%27Rail%27%5D%2FtravelSelection%2FjourneySelection%5B1%5D%2FdepartLocation%2Fsearch&wdf_origin=pvd&xwdf_destination=%2FsessionWorkflow%2FproductWorkflow%5B%40product%3D%27Rail%27%5D%2FtravelSelection%2FjourneySelection%5B1%5D%2FarriveLocation%2Fsearch&wdf_destination=bby
9
- headers:
10
- Content-Type:
11
- - application/x-www-form-urlencoded
12
- response:
13
- status:
14
- code: 200
15
- message:
16
- headers:
17
- Server:
18
- - WebServer
19
- Content-Length:
20
- - '91106'
21
- Content-Type:
22
- - text/html;charset=UTF-8
23
- Set-Cookie:
24
- - JSESSIONID=0000gn_-LBSDXNzROKxj3N_N50J:187j59hj4; HTTPOnly; Path=/; Domain=.amtrak.com;
25
- HttpOnly
26
- X-powered-by:
27
- - Servlet/3.0
28
- Expires:
29
- - Thu, 01 Dec 1994 16:00:00 GMT
30
- Content-Language:
31
- - en-US
32
- X-frame-options:
33
- - SAMEORIGIN
34
- Date:
35
- - Mon, 04 Jan 2016 02:35:19 GMT
36
- Connection:
37
- - keep-alive
38
- body:
39
- encoding: UTF-8
40
- string: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\r\n\t\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\r\n\r\n\r\n\r\n\r\n
41
- <!--\r\n \t\"Amtrak Release 6.27.03a\"\r\n -->\r\n \r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n
42
- \r\n<meta content=\"IE=edge\" http-equiv=\"X-UA-Compatible\" />\r\n\r\n \r\n\t\r\n\t
43
- \ <head ><title>Amtrak - Train Status - Details</title>\n<meta http-equiv=\"content-type\"
44
- content=\"text/html; charset=UTF-8\" />\n<meta name=\"robots\" content=\"noindex,nofollow\"
45
- />\n<meta http-equiv=\"imagetoolbar\" content=\"no\" />\n<style type=\"text/css\">\n<!--\n@import
46
- url(/css/amtrak.css);\n-->\n</style>\n\r\n\t\t <!-- IE8 renders as IE7
47
- to spare ourselves another column in the compatability matrix -->\r\n\t \r\n\t
48
- \ <style type=\"text/css\">\r\n\t <!--\r\n\t @import
49
- url(/css/base.css?v=1.1);\r\n\t @import url(/css/base_screen.css);\r\n\t
50
- \ @import url(/css/topnav.css?v=1.1);\r\n\t @import url(/css/basic_booking.css?v=1.3);\r\n\t
51
- \ @import url(/css/special_booking.css);\r\n\t @import
52
- url(/css/basic_booking_screen.css);\r\n\t @import url(/css/ib_misc.css);\r\n\t
53
- \ @import url(/css/popup.css);\r\n\t @import url(/css/profile.css?v=1.2);\r\n\t
54
- \ @import url(/css/amtrak_autocomplete.css);\r\n\t -->\r\n\t
55
- \ </style>\r\n\t \r\n\t <!-- Diginet script(when USE_ESI=true)
56
- introduces 'c_root' form and this is causing orange bar to display on all
57
- pages. \r\n\t Following lines are added to get rid of the orange bar.-->\r\n\t
58
- \ <style type=\"text/css\">\r\n\t form#c_root { \r\n\t display:
59
- none; \r\n\t }\r\n\t </style>\r\n\t \r\n\t <link
60
- href=\"/css/basic_booking_print.css\" rel=\"stylesheet\" type=\"text/css\"
61
- media=\"print\" />\r\n\t <link href=\"/css/base_print.css\" rel=\"stylesheet\"
62
- type=\"text/css\" media=\"print\" /> \r\n\t <script type=\"text/javascript\">\r\n\t
63
- \ \r\n \t\t\t\tvar _gaq = _gaq || [];\r\n \t\t\t\t_gaq.push(['_setAccount',
64
- 'UA-23218774-1']);\r\n \t\t\t\t_gaq.push(['_setDomainName', '.amtrak.com']);\r\n
65
- \ \t\t\t\t\r\n \t\t\t\t_gaq.push(['_trackPageview']);\r\n\r\n \t\t\t\t(function()
66
- {\r\n \t\t\t\tvar ga = document.createElement('script'); ga.type = 'text/javascript';
67
- ga.async = true;\r\n \t\t\t\tga.src = ('https:' == document.location.protocol
68
- ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r\n \t\t\t\tvar
69
- s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga,
70
- s);\r\n \t\t\t\t})();\r\n\r\n\t\t\t</script>\r\n <script>\r\n
71
- \ (function(d) {\r\n var config = {\r\n kitId:
72
- 'ijm4cfl',\r\n scriptTimeout: 3000\r\n },\r\n
73
- \ h=d.documentElement,t=setTimeout(function(){h.className=h.className.replace(/\\bwf-loading\\b/g,\"\")+\"
74
- wf-inactive\";},config.scriptTimeout),tk=d.createElement(\"script\"),f=false,s=d.getElementsByTagName(\"script\")[0],a;h.className+=\"
75
- wf-loading\";tk.src='//use.typekit.net/'+config.kitId+'.js';tk.async=true;tk.onload=tk.onreadystatechange=function(){a=this.readyState;if(f||a&&a!=\"complete\"&&a!=\"loaded\")return;f=true;clearTimeout(t);try{Typekit.load(config)}catch(e){}};s.parentNode.insertBefore(tk,s)\r\n
76
- \ })(document);\r\n </script>\r\n \r\n
77
- \ \r\n <script type=\"text/javascript\" language=\"javascript\"
78
- src='https://assets.adobedtm.com/b6ce373c321eacd4084683e01459ac4c347614f5/satelliteLib-073129b141b5f91c45cd8781dde0bb81599a5e0e.js'
79
- ></script>\r\n \r\n\t </head>\r\n\t\r\n \t\r\n \t \t\r\n
80
- \ \t\r\n \t<body class=\"site\">\r\n\r\n<link href=\"/css/header.css\" rel=\"stylesheet\"
81
- type=\"text/css\" />\r\n<script type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/prototype.js\"></script>\r\n<div
82
- id=\"top_nav_wrapper\">\r\n<div id=\"top_navigation_body\"></div>\r\n\r\n\r\n\r\n<div
83
- id=\"pi_actions_list\">\r\n<a href=\"javascript:LoginPopout.show()\">Log in</a>
84
- &nbsp;or&nbsp;\r\n<a href=\"https://tickets.amtrak.com/itd/amtrak/Register\">Register</a>\r\n</div>\r\n\r\n\r\n\r\n<script
85
- type=\"text/javascript\">\r\ndocument.observe('dom:loaded', function() {\r\n$(\"login_popout\").hide();\r\n});\r\n</script>\r\n<div
86
- class=\"popout\" id=\"login_popout\" >\r\n\r\n\r\n\r\n<style type=\"text/css\">\r\n#loading
87
- {\r\nposition: fixed;\r\ntop: 30%;\r\nleft: 25%;\r\nbackground:url(/images/en/superpnr/image_loader_blue.gif)
88
- no-repeat center #fff;\r\npadding:7px;\r\n}\r\n#overlay {\r\nbackground-color:#EEE;\r\n}\r\n.link_item
89
- {\r\nfloat:left;\r\nwidth:65%;\r\n}\r\n</style>\r\n<style type=\"text/css\">\r\n.submit_image
90
- {\r\nfloat:right;\r\nvertical-align:top;\r\nbackground-color: transparent;\r\nborder:
91
- none;\r\nfont-size:1px;\r\nwidth: 70px;\r\nheight: 24px;\r\nbackground-image:
92
- url(/images/en/btn_login.gif);\r\nbackground-repeat: no-repeat;\r\n}\r\n</style>\r\n\r\n<script>\r\nfunction
93
- enterKeyPress(event) {\r\nif (Event.KEY_RETURN == event.keyCode) {\r\n// do
94
- something usefull\r\nLoginPopout.doLogon();\r\nreturn false;\r\n}\r\nreturn
95
- true;\r\n}\r\n</script>\r\n\r\n\r\n<div id=\"loading\"></div>\r\n<script>\r\n$('loading').hide();\r\n</script>\r\n<div
96
- id=\"overlay\" style=\"background-color: white;\">\r\n<div class=\"popout_inner\"
97
- id=\"login_popout_inner\">\r\n<a href=\"javascript:LoginPopout.hide()\" class=\"close_btn
98
- button\" style=\"margin-bottom:0px;\"><img alt=\"X\" src=\"/images/en/btn_closeXorange.gif\"
99
- /></a>\r\n<div id=\"login_form_header\"><h3 style=\"margin-top:0px;\">Log
100
- In to Amtrak.com</h3></div>\r\n\r\n<div class=\"form_holder\" id=\"login_form_holder\">\r\n<form
101
- class=\"std_form clearfix\" onsubmit=\"doRegularLogon(); return true;\" id=\"login_ajax_form\"
102
- action=\"https://tickets.amtrak.com/itd/amtrak\" method=\"post\"><input type=\"hidden\"
103
- name=\"requestor\" value=\"amtrak.presentation.handler.page.rail.AmtrakRailGetTrainStatusPageHandler\"
104
- />\r\n<div class=\"form_line\">\r\n\r\n<div class=\"form_label\"><label for=\"login_email_address\">E-Mail
105
- Address or Member Number</label></div>\r\n\r\n\r\n<div class=\"form_item\"><input
106
- type=\"hidden\" name=\"xwdf_username\" value=\"/sessionWorkflow/userWorkflow/profileAccountRequirements/userName\"
107
- /><input class=\"text\" autocomplete=\"off\" type=\"text\" id=\"login_email_address\"
108
- maxlength=\"64\" name=\"wdf_username\" /></div>\r\n</div>\r\n<div class=\"form_line\">\r\n<div
109
- class=\"form_label\"><label for=\"login_password\">Password</label></div>\r\n<div
110
- class=\"form_item\"><input type=\"hidden\" name=\"xwdf_password\" value=\"/sessionWorkflow/userWorkflow/profileAccountRequirements/password\"
111
- /><input class=\"text password\" autocomplete=\"off\" type=\"password\" id=\"login_password\"
112
- maxlength=\"20\" name=\"wdf_password\" /></div>\r\n</div>\r\n<div class=\"form_line\"
113
- id=\"login_go\">\r\n<div class=\"link_item submit_item\">\r\n\r\n<a class=\"forgot_pass\"
114
- title=\"Click here to request your Password\" href=\"javascript:openForgotPwdBox();\">Forgot
115
- password?</a>\r\n\r\n\r\n</div>\r\n\r\n<input class=\"submit_image\" type=\"submit\"
116
- name=\"_handler=amtrak.presentation.handler.request.profile.AmtrakProfileLogonRequestHandler/_xpath=/sessionWorkflow/userWorkflow/profileAccountRequirements\"
117
- value=\"\" />\r\n</div>\r\n</form>\r\n</div>\r\n</div>\r\n<hr/>\r\n<div class=\"agrmerge_popout_inner\">\r\n\r\n<h4>Amtrak.com
118
- and Amtrak Guest Rewards Accounts are Merging</h4><p>Combine your accounts
119
- and enjoy the ease and convenience of a single Amtrak account. All of your
120
- information will be available with a single log-in &mdash; eliminating the
121
- need for you to keep two profiles.</p>\n\r\n\r\n\r\n</div>\r\n</div>\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n\r\n</div>\r\n<script
122
- language=\"JavaScript\" type=\"text/javascript\">\r\n<!--\r\nvar url = \"/\"
123
- + \"itd/amtrak\" + \"/DisplayCmsContent\";\r\nvar functionName = 'topNavigation';\r\n\r\nnew
124
- Ajax.Request(url,\r\n{ method: 'post',\r\nparameters: {'functionName': functionName},\r\nonSuccess:
125
- function (transport) {\r\nif(transport.responseText!='') {\r\n$('top_navigation_body').update(transport.responseText);\r\n}
126
- else {\r\n$('top_nav_wrapper').hide();\r\n}\r\n},\r\nonFailure: function (transport)
127
- {\r\n$('top_nav_wrapper').hide();\r\n}\r\n}\r\n);\r\n//-->\r\n</script>\r\n\r\n
128
- \ \t \r\n\t <script type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/prototype.js\"></script>\r\n\t
129
- \ <script type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/scriptaculous.js\"></script>\r\n\t
130
- \ <script type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/effects.js\"></script>\r\n\t
131
- \ <script type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/controls.js\"></script>\r\n\t
132
- \ <script type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/formutils.js\"></script>\r\n\t
133
- \ <script type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/popups.js\"></script>\r\n\t
134
- \ <script type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/profile_rewrite.js\"></script>\r\n\t
135
- \ <script type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/farefinderrequest.js\"></script>\r\n
136
- \ <script type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/header.js\"></script>\r\n
137
- \ <script type=\"text/javascript\" src=\"/itd/project/scripts/en/motionpoint/motionpoint.js\"></script>\r\n\t
138
- \ <script type=\"text/javascript\">\r\n <!-- \r\n var
139
- pageName='amtrak/rail/trainstatus/trainstatusresponse.jsp';\r\n\r\n /*
140
- if the subPageName has been defined use it to prefix the page name */\r\n
141
- \ if (typeof subPageName != 'undefined'){\r\n var
142
- path=pageName.substr(0,pageName.lastIndexOf(\"/\")+1);\r\n var
143
- page=pageName.substr(pageName.lastIndexOf(\"/\")+1);\r\n pageName=path+subPageName+page;\r\n
144
- \ }\r\n //-->\r\n </script>\r\n <script
145
- type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/jquery-1.11.2.min.js\"></script>\r\n
146
- \ <script type=\"text/javascript\">\r\n jQuery.noConflict();\r\n
147
- \ </script>\r\n \t\r\n\t \t\r\n<div id=\"outer_wrapper_confirmation\">\r\n<div
148
- id=\"top_level_wrapper_confirmation\">\r\n<div id=\"lower_wrapper_confirmation\">\r\n\r\n<div
149
- id=\"left_column_wrapper_confirmation\">\r\n\r\n\r\n<style type=\"text/css\">\r\n<!--\r\n@import
150
- url(/css/base.css?v=1.1);\r\n-->\r\n</style>\r\n<script language=\"JavaScript\"
151
- type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/base.js\"></script>\r\n<script
152
- language=\"JavaScript\" type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/basic_booking_left.js\"></script>\r\n<link
153
- rel=\"stylesheet\" type=\"text/css\" href=\"/css/amtrak-calendar.css\" media=\"screen\"
154
- />\r\n\r\n\r\n<div id=\"persistent_info_wrapper\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<script
155
- src=\"/itd/project/scripts/en/amtrak/jquery-ui.min.js\"></script>\r\n<script
156
- src=\"/itd/project/scripts/en/amtrak/moment.js\"></script>\r\n<script src=\"/itd/project/scripts/en/amtrak/jquery.comiseo.daterangepicker.js\"></script>\r\n<script
157
- src=\"/itd/project/scripts/en/amtrak/datepicker.js?v=1.1\"></script>\r\n<link
158
- type=\"text/css\" rel=\"stylesheet\" href=\"/css/jquery-ui.css\" />\r\n<link
159
- type=\"text/css\" rel=\"stylesheet\" href=\"/css/jquery.comiseo.daterangepicker.css\"
160
- />\r\n<link type=\"text/css\" rel=\"stylesheet\" href=\"/css/datepicker.css\"
161
- />\r\n<input name=\"daterangepicker\" class=\"daterangepicker\">\r\n\r\n\r\n\r\n\r\n<script
162
- type=\"text/javascript\">\r\nareCookiesEnabled();\r\nfunction createCookie(name,
163
- value, days) {\r\nvar expires;\r\nif (days) {\r\nvar date = new Date();\r\ndate.setTime(date.getTime()
164
- + (days * 24 * 60 * 60 * 1000));\r\nexpires = \"; expires=\" + date.toGMTString();\r\n}\r\nelse
165
- expires = \"\";\r\ndocument.cookie = name + \"=\" + value + expires + \";
166
- path=/\";\r\n}\r\nfunction readCookie(name) {\r\nvar nameEQ = name + \"=\";\r\nvar
167
- ca = document.cookie.split(';');\r\nfor (var i = 0; i < ca.length; i++) {\r\nvar
168
- c = ca[i];\r\nwhile (c.charAt(0) == ' ') c = c.substring(1, c.length);\r\nif
169
- (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);\r\n}\r\nreturn
170
- null;\r\n}\r\nfunction eraseCookie(name) {\r\ncreateCookie(name, \"\", -1);\r\n}\r\nfunction
171
- areCookiesEnabled() {\r\ncreateCookie(\"test\", \"Hello\", 1);\r\nif (readCookie(\"test\")
172
- == null) {\r\n// No stored cookie, therefore client cannot (or will not) accept\r\n//
173
- cookies - display error msg\r\nvar output = '<tr class=\"errorrow\">'\r\n+
174
- '<td class=\"error\">'\r\n+ '<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"
175
- class=\"errorimagetable\">'\r\n+ '<tr class=\"errorimagerow\">'\r\n+ '<td
176
- class=\"errorimagecell\">'\r\n+ '<img class=\"errorimage\" src=\"/images/en/warn.gif\"
177
- />'\r\n+ '</td>'\r\n+ '<td class=\"errortextcell\" >'\r\n+ '<span class=\"error\">'\r\n+
178
- 'Cookies Must Be Enabled: To use advanced features of Amtrak.com, your browser
179
- must be capable of accepting session cookies. Please <a href=\"javascript:var
180
- child=window.open(\\'http://www.amtrak.com/servlet/ContentServer?pagename=am/AM_Snippet_C/IBLegacy&help=cookies\\',\\'help\\',\\'directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1\\');child.focus();\">click
181
- here</a> to learn more about how to accept cookies.'\r\n+ '</span></td></tr>'\r\n+
182
- '</table>'\r\n+ '</td></tr>'\r\n+ '<tr><td>&nbsp;</td></tr>';\r\ndocument.write(output);\r\n}\r\neraseCookie(\"test\");\r\n}\r\n</script>\r\n\r\n\r\n\n\n\n\n\n
183
- \ \n<!--[if IE]>\n<script type=\"text/javascript\">\t \nfunction isCalendarEvent(e)
184
- {\n\n var element = Event.element(e); \n var names = element.classNames();
185
- \n if (names.include('selector')) {\n return true;\n }\n if
186
- (names.include('calnavright')) {\n return true;\n }\n if (names.include('calnavleft'))
187
- {\n return true;\n }\n if (names.include('link-close')) {\n
188
- \ return true;\n }\n return false;\n} \n\nfunction addFormSubmitEvent(form)
189
- {\n form.onkeydown = function(e) {\n e = e || window.event;\n \n
190
- \ if (e.keyCode == 13) {\n \n \t// If this is a Calendar
191
- return key entry then do not\n \t// call form.submit() \n \tif
192
- (isCalendarEvent(e)) {\n\t\t\t return;\n\t\t\t}\t\t\n \n if
193
- (form.name == 'ff_status_form') {\n if(CheckMandatoryTrainStatusFields(form))
194
- {\n \t form.submit();\n \t return true;\n }\n
195
- \ return false;\n }\n if (form.name == 'mytrip_acct')
196
- {\n if (CheckMandatoryLoginFields(form)) {\n \tform.submit();\n
197
- \ \treturn false;\n }\n return true;\n }\n
198
- \ if (form.name == 'mytrip_res') {\n if (CheckMandatoryMyTripFields(form))
199
- {\n \tform.submit();\n \treturn false;\n }\n
200
- \ return true;\n }\n if (form.name == 'ff_schedules_form')
201
- {\n if (CheckMandatoryScheduleFields(form)) {\n \tform.submit();\n
202
- \ \treturn false;\n }\n return true;\n }\n
203
- \ }\n };\n}\n\ndocument.observe('dom:loaded', function() {\n var
204
- forms = document.getElementsByTagName('form');\n for (var i=0;i < forms.length;i++)
205
- {\n if (forms[i].name == 'mytrip_res' || forms[i].name == 'mytrip_acct'
206
- || forms[i].name == 'ff_schedules_form' || forms[i].name == 'ff_status_form')
207
- {\n \t addFormSubmitEvent(forms[i]);\n \t}\n }\n});\n\n</script>
208
- \ \t\n<![endif]-->\n\n<!-- Begin HTML for Fare Finder --> \n <div
209
- id=\"farefinder\">\n <div id=\"ff_tabbar\">\n <div
210
- class=\"active\" id=\"ff_tabbar_tickets\">Tickets<span onclick=\"compare_dates('wdfdate1');show_ff_tab('tickets');showHideRedeemTabBarSection('ff_sub_tabbar',
211
- true);\"></span></div>\n <div id=\"ff_tabbar_status\">Status<span
212
- onclick=\"set_status_date('wdfdate10');set_status_date('wdfdate11');show_ff_tab('status');setDepartOrArrivalFieldVisibility();switchToStatusByTrain();\"></span></div>\n
213
- \ <div id=\"ff_tabbar_mytrip\">My Trip<span onclick=\"show_ff_tab('mytrip');\"></span></div>\n
214
- \ </div>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t \n\t \t<div
215
- id=\"ff_sub_tabbar\" class=\"show_section\">\n\t \t<div class=\"active\"
216
- id=\"ff_sub_tabbar_bookatrip\">Book<span onclick=\"show_ff_sub_tab('bookatrip');\"></span></div>\n\t
217
- \ \t<div id=\"ff_sub_tabbar_redeem\">Redeem<span onclick=\"show_ff_sub_tab('redeem');\"></span></div>\n\t
218
- \ \t<div id=\"ff_sub_tabbar_traveloptions\">Travel Options<span
219
- onclick=\"show_ff_sub_tab('traveloptions');\"></span></div>\n\t \t</div>\n\t
220
- \ \n\t\t\t\n\n \n \r\n\r\n\r\n\r\n \r\n \r\n <div
221
- id=\"farefinder_tabbody_tickets\" class=\"farefinder_tabbody ff_active\">\r\n
222
- \ \r\n <form name=\"form\" action=\"https://tickets.amtrak.com/itd/amtrak\"
223
- method=\"post\"><input type=\"hidden\" name=\"requestor\" value=\"amtrak.presentation.handler.page.rail.AmtrakRailFareFinderPageHandler\"
224
- />\r\n <input type=\"hidden\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/@bookpath\"
225
- value=\"farefamilies\" />\r\n <input type=\"hidden\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/allJourneyRequirements/@ff_tab_selected\"
226
- value=\"bookatrip\" />\r\n <h2>Tickets</h2>\r\n \r\n
227
- \ <div id=\"ff_tickets_tt_cities_subdiv\" class=\"subdiv level6\">\r\n
228
- \ <div id=\"tickets_trip_type\"><p> \r\n
229
- \ <input type=\"hidden\" name=\"xwdf_TripType\" value=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/tripType\"
230
- /><input type=\"radio\" id=\"oneway\" name=\"wdf_TripType\" value=\"OneWay\"
231
- onclick=\"javascript:blankReturnDate(false)\" />&nbsp;<label for=\"oneway\">One-Way</label>
232
- \ \r\n <input type=\"hidden\"
233
- name=\"xwdf_TripType\" value=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/tripType\"
234
- /><input type=\"radio\" id=\"return\" name=\"wdf_TripType\" value=\"Return\"
235
- onclick=\"javascript:setReturnDate(false)\" />&nbsp;<label for=\"return\">Round-Trip</label>\r\n
236
- \ <a href=\"/itd/amtrak/ComplexRail\">Multi-City</a> &gt;</p>\r\n
237
- \ </div>\r\n \r\n
238
- \ <div id=\"tickets_dep_city\" class=\"ff_city_wrapper\">\r\n
239
- \ <label for=\"departs\">From</label> \r\n
240
- \ <input type=\"hidden\" name=\"xwdf_origin\" value=\"/sessionWorkflow/productWorkflow[@product='Rail']/travelSelection/journeySelection[1]/departLocation/search\"
241
- /><input type=\"text\" autocomplete=\"off\" id=\"departs\" maxlength=\"150\"
242
- name=\"wdf_origin\" value=\"Providence, RI (PVD)\" />\r\n <p><span
243
- class=\"find_a_station\"><a title=\"Click for a list of stations.\" href=\"javascript:fieldName='departs';
244
- openStationList();\">Find a Station</a></span></p> \r\n
245
- \ </div>\r\n \r\n <div
246
- id=\"tickets_arr_city\" class=\"ff_city_wrapper level3\">\r\n <label
247
- for=\"arrives\">To</label>\r\n <input type=\"hidden\" name=\"xwdf_destination\"
248
- value=\"/sessionWorkflow/productWorkflow[@product='Rail']/travelSelection/journeySelection[1]/arriveLocation/search\"
249
- /><input type=\"text\" autocomplete=\"off\" id=\"arrives\" maxlength=\"150\"
250
- name=\"wdf_destination\" value=\"Boston - Back Bay, MA (BBY)\" /> \r\n
251
- \ <p><span class=\"find_a_station\"><a title=\"Click for
252
- a list of stations.\" href=\"javascript:fieldName='arrives'; openStationList();\">Find
253
- a Station</a></span></p>\r\n </div>\r\n <div
254
- id=\"autocomplete_availability_from\" class=\"autocomplete level5\" style=\"display:none\"></div>\r\n
255
- \ <div id=\"autocomplete_availability_to\" class=\"autocomplete
256
- level5\" style=\"display:none\"></div> \r\n
257
- \ </div> \r\n \r\n <div
258
- id=\"ff_tickets_dep_ret_date_subdiv\" class=\"subdiv level3\" style=\"position:static;\">\r\n
259
- \ <div id=\"tickets_dep_date_time\" class=\"level5\">\r\n <div
260
- class=\"ff_date_wrapper\"> \r\n <label
261
- for=\"tickets_dep_date\">Departs</label> \r\n
262
- \ <input class=\"wdfDate\" type=\"text\" size=\"22\"
263
- id=\"wdfdate1\" maxlength=\"22\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/journeyRequirements[1]/departDate.usdate\"
264
- value=\"01/03/2015\" /><a class=\"calLink noloading\" id=\"calLink1\">&nbsp;</a><br
265
- /><div id=\"calContainer1\" class=\"calContainer\" bookingpath=\"regularBooking\"
266
- calwrapper=\"farefinder\" caloffsetx=\"50\" calpickerxpos=\"50\" maxdate=\"+335d\"></div></div><div
267
- class=\"ff_time_wrapper\"><label for=\"wdftime1\"><b>Time</b></label><select
268
- id=\"wdftime1\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/journeyRequirements[1]/departTime.hourmin\"><option
269
- value=\"\">Anytime</option><option value=\"01:00\">Morning</option><option
270
- value=\"13:00\">Afternoon</option><option value=\"19:00\">Evening</option></select>
271
- \ \r\n
272
- \ </div>\r\n </div>\r\n \r\n
273
- \ \r\n <div id=\"tickets_ret_date_time\"
274
- class=\"hide_section level4\"> \r\n <div
275
- class=\"ff_date_wrapper\">\r\n \r\n
276
- \ <label for=\"tickets_ret_date\">Returns</label>\r\n
277
- \ <input class=\"wdfDate\" type=\"text\" size=\"22\"
278
- id=\"wdfdate2\" maxlength=\"22\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/journeyRequirements[2]/departDate.usdate\"
279
- /><a class=\"calLink noloading\" id=\"calLink2\">&nbsp;</a><br /><div id=\"calContainer2\"
280
- \ class=\"calContainer\" bookingpath=\"regularBooking\" calwrapper=\"farefinder\"
281
- caloffsetx=\"50\" calpickerxpos=\"50\" maxdate=\"+335d\"></div></div><div
282
- class=\"ff_time_wrapper\"><label for=\"wdftime2\"><b>Time</b></label><select
283
- id=\"wdftime2\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/journeyRequirements[2]/departTime.hourmin\"><option
284
- value=\"\">Anytime</option><option value=\"01:00\">Morning</option><option
285
- value=\"13:00\">Afternoon</option><option value=\"19:00\">Evening</option></select>\r\n
286
- \ </div>\r\n </div> \r\n \r\n
287
- \ </div>\r\n <div id=\"ff_tickets_passengers_subdiv\"
288
- class=\"subdiv level1\">\r\n <div id=\"tickets_passengers\">
289
- \ \r\n \t\r\n
290
- \ \t\r\n\t \r\n\t \t<div
291
- id=\"ff_adults_wrapper\">\r\n\t\t <label style=\"line-height:1.1;\"
292
- for=\"ff_adults\"><a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&pass=Adult','pass','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\"
293
- CLASS=\"smallblue\">Adults</a><br /> (13-61)</label>\r\n\t\t <select
294
- onchange=\"javascript:discounttype('adult')\" id=\"oth_adults\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/allJourneyRequirements/numberOfTravellers[@key='Adult']\"><option
295
- value=\"0\">0</option><option value=\"1\" selected=\"selected\">1</option><option
296
- value=\"2\">2</option><option value=\"3\">3</option><option value=\"4\">4</option><option
297
- value=\"5\">5</option><option value=\"6\">6</option><option value=\"7\">7</option><option
298
- value=\"8\">8</option></select>\r\n\t\t </div>\r\n\t\t
299
- \ <div id=\"ff_seniors_wrapper\">\r\n\t\t <label
300
- style=\"line-height:1.1;\" for=\"ff_seniors\"><a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&pass=Senior','pass','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\"
301
- CLASS=\"smallblue\">Seniors</a><br /> (62+)</label>\r\n\t\t <select
302
- onchange=\"javascript:discounttype('senior')\" id=\"oth_seniors\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/allJourneyRequirements/numberOfTravellers[@key='Senior']\"><option
303
- value=\"0\" selected=\"selected\">0</option><option value=\"1\">1</option><option
304
- value=\"2\">2</option><option value=\"3\">3</option><option value=\"4\">4</option><option
305
- value=\"5\">5</option><option value=\"6\">6</option><option value=\"7\">7</option><option
306
- value=\"8\">8</option></select>\r\n\t\t </div>\r\n\t \r\n
307
- \ \r\n \r\n <div id=\"ff_kids_wrapper\">\r\n
308
- \ <label style=\"line-height:1.1;\" for=\"ff_kids\"><a
309
- href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&pass=Child','pass','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\"
310
- CLASS=\"smallblue\">Children</a><br /> (2-12)</label> \r\n
311
- \ <select onchange=\"showChildPopup(this.options[this.selectedIndex].value,
312
- document.getElementById('oth_infants').options[document.getElementById('oth_infants').selectedIndex].value,
313
- 'oth_child_popup'),discounttype('child')\" id=\"oth_children\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/allJourneyRequirements/numberOfTravellers[@key='Child']\"><option
314
- value=\"0\" selected=\"selected\">0</option><option value=\"1\">1</option><option
315
- value=\"2\">2</option><option value=\"3\">3</option><option value=\"4\">4</option><option
316
- value=\"5\">5</option></select>\r\n </div>\r\n <div
317
- id=\"ff_infants_wrapper\">\r\n <label style=\"line-height:1.1;\"
318
- for=\"ff_infants\"><a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&pass=Infant','pass','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\"
319
- CLASS=\"smallblue\">Infants</a><br /> (under 2)</label> \r\n
320
- \ <select onchange=\"showChildPopup(this.options[this.selectedIndex].value,
321
- document.getElementById('oth_children').options[document.getElementById('oth_children').selectedIndex].value,
322
- 'oth_child_popup'),discounttype('infant')\" id=\"oth_infants\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/allJourneyRequirements/numberOfTravellers[@key='Infant']\"><option
323
- value=\"0\" selected=\"selected\">0</option><option value=\"1\">1</option><option
324
- value=\"2\">2</option><option value=\"3\">3</option><option value=\"4\">4</option></select>\r\n
325
- \ </div>\r\n </div>\r\n <br>\r\n
326
- \ \r\n \r\n \r\n <div
327
- id=\"oth_child_popup\" class=\"info_childpopup_ff hide_section\">Children
328
- and infants must travel with an adult who is at least 18 years or older.</div>\r\n
329
- \ \r\n \r\n \r\n <div
330
- class=\"subdiv unaccompaniedminor_link\"><a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&ibsref=unaccompaniedMinor_FareFinder','ibsref','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\"
331
- CLASS=\"smallblue\">Children 13-15 traveling alone</a></div>\r\n<style>\r\n.info_childpopup_ff
332
- {\r\n margin-bottom: 10px;\r\n }\r\n .unaccompaniedminor_link{\r\n font-size:11px;\r\n
333
- padding-bottom:5px;\r\n }\r\n</style> \r\n \r\n \r\n \r\n
334
- \ </div>\r\n \r\n <div id=\"ff_submit_button\"
335
- class=\"subdiv\"> \r\n \r\n \r\n
336
- \ \r\n <input type=\"image\" alt=\"Click
337
- to Find Tickets\" name=\"_handler=amtrak.presentation.handler.request.rail.farefamilies.AmtrakRailFareFamiliesSearchRequestHandler/_xpath=/sessionWorkflow/productWorkflow[@product='Rail']\"
338
- onclick=\"javascript:return ( preFareFinderSubmitActions('The following information
339
- is needed to process your request:', 'Problem Pricing the Itinerary: Atlantic
340
- City Express Service offers adult fares only for all passengers. Please modify
341
- your selection to continue. \\n[Error ID: 1121S]') && ValidateBookingDate())\"
342
- src=\"/images/en/btn_ff_findTrains.gif\" border=\"0\" /> \r\n \r\n
343
- \ \r\n </div> \r\n \r\n
344
- \ <div id=\"ff_promocode\" class=\"subdiv oth_promocode\">\r\n
345
- \ <input type=\"hidden\" name=\"xwdf_promoCode\" value=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/couponRequirements/coupon/code\"
346
- /><input onfocus=\"focuspromotext();\" type=\"text\" size=\"15\" id=\"ff_disc_promoCode\"
347
- maxlength=\"10\" name=\"wdf_promoCode\" onblur=\"blurpromotext();\" />\r\n
348
- \ </div>\r\n <script>\r\n var
349
- promocode = 'Promo Code';\r\n function blurpromotext(){\r\n
350
- \ \tif(document.getElementById('ff_disc_promoCode').value ==
351
- '') {\r\n document.getElementById('ff_disc_promoCode').value
352
- = promocode;\r\n } \r\n }\r\n function
353
- focuspromotext(){\r\n if(document.getElementById('ff_disc_promoCode').value
354
- == promocode) {\r\n document.getElementById('ff_disc_promoCode').value
355
- = \"\";\r\n } \r\n \r\n }\r\n </script>\r\n
356
- \ <script type=\"text/javascript\"> \r\n //<![CDATA[
357
- \r\n Element.observe(window, 'load', function(){\r\n \t
358
- \ if(document.getElementById('ff_disc_promoCode').value == '') {\r\n document.getElementById('ff_disc_promoCode').value
359
- = promocode;\r\n } \r\n \r\n }); \r\n //]]>
360
- \r\n </script>\r\n \r\n <div class=\"clear_both\"></div>\r\n
361
- \ \r\n \r\n \r\n \r\n
362
- \ <div id=\"ff_disctype\" class=\"subdiv\" > \r\n \t\t\t\t\t
363
- \ \r\n </div>\r\n <div id=\"discountsrules\" class=\"subdiv\"><a
364
- href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&ibsref=preffare','ibsref','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\"
365
- CLASS=\"smallblue\">Passenger type/discount rules</a></div>\r\n \r\n
366
- \ \r\n \r\n\t <script
367
- type=\"text/javascript\">\r\n\t\t //<![CDATA[\r\n\t\t Element.observe(window,
368
- 'load', function(){\r\n\t\t \tdiscounttype(\"adult\");\r\n\t\t
369
- \ \tjQuery(\"#adult_select0 option[value='Adult']\").attr(\"selected\",
370
- \"selected\");\r\n\t\t }); \r\n\t\t //]]>\r\n\t
371
- \ </script> \r\n\t \r\n\t \r\n
372
- \ \r\n \r\n \r\n
373
- \ </form> \r\n </div>\r\n\r\n<script>\r\nif( $('ff_sub_tabbar_bookatrip').hasClassName(\"active\")
374
- ){\r\n\tshow_ff_sub_tab('bookatrip');\r\n } else if( $('ff_sub_tabbar_redeem').hasClassName(\"active\")
375
- ){\t \r\n\tshow_ff_sub_tab('redeem');\r\n }\r\n\r\n function discounttype(passtype)
376
- {\t \r\n var totaladults = jQuery('#oth_adults').val();\r\n var totalseniors
377
- = jQuery('#oth_seniors').val();\r\n var totalchilds = jQuery('#oth_children').val();\r\n
378
- \ var totalinfants = jQuery('#oth_infants').val();\r\n var totaladperson
379
- = parseInt(totaladults) + parseInt(totalseniors) ;\r\n var dischtml='';\r\n
380
- \ var count=0;\r\n var sencount =0;\r\n var adtcount= 0;\r\n var
381
- j=0;\r\n var k=0;\r\n\r\n if ( totaladperson != 0 ){\r\n for
382
- ( var i=0; i<totaladperson; i++) {\r\n count++;\r\n var
383
- adultopts= \"<option value='Default'>Select</option><option value='Adult'>Adult</option><option
384
- value='Senior'>Senior</option><option value='ADAPaxType_Adult'>Passenger with
385
- Disability (PWD)</option><option value='ADAPaxType_Companion'>Companion (Book
386
- with PWD)</option><option value='AAA Adult'>AAA Adult</option><option value='NARP'>NARP</option><option
387
- value='Military'>Military Adult (Active)</option><option value='Veterans Advantage'>Veterans
388
- Advantage</option><option value='Student Advantage'>Student Advantage</option><option
389
- value='ISIC'>ISIC</option>\";\r\n var senopts= \"<option value='Default'>Select</option><option
390
- value='Adult'>Adult</option><option value='Senior' selected='selected'>Senior</option><option
391
- value='ADAPaxType_Adult'>Passenger with Disability (PWD)</option><option value='ADAPaxType_Companion'>Companion
392
- (Book with PWD)</option><option value='AAA Adult'>AAA Adult</option><option
393
- value='NARP'>NARP</option><option value='Military'>Military Adult (Active)</option><option
394
- value='Veterans Advantage'>Veterans Advantage</option><option value='Student
395
- Advantage'>Student Advantage</option><option value='ISIC'>ISIC</option>\";\r\n
396
- \ var adtlabel=\"Adult\";\r\n if (jQuery('#adult_select'+i).val())
397
- {\r\n var curadtval = \"value='\"+jQuery('#adult_select'+i).val()+\"'\";\r\n
398
- \ var newadtval = \"value='\"+jQuery('#adult_select'+i).val()+\"'
399
- selected='selected'\";\r\n \r\n if
400
- (curadtval == \"value='Senior'\" && sencount<totalseniors ){\r\n adtlabel
401
- = \"Senior\";\r\n \tsencount++;\r\n \tadultopts
402
- = adultopts.replace(curadtval, newadtval); \r\n } else {\r\n
403
- \ \tif (curadtval == \"value='Senior'\" && sencount>=totalseniors
404
- ){\r\n \tif (j==0) {\r\n \tj=i;\r\n
405
- \ \t} else {\r\n \t\tj=j+1;\r\n \t}\r\n
406
- \ \twhile (j<=totaladperson) {\r\n \t\t
407
- if (jQuery('#adult_select'+(j+1)).val() != 'Senior') {\r\n var
408
- ncuradtval = \"value='\"+jQuery('#adult_select'+(j+1)).val()+\"'\";\r\n var
409
- nnewadtval = \"value='\"+jQuery('#adult_select'+(j+1)).val()+\"' selected='selected'\";\r\n
410
- \ adultopts = adultopts.replace(ncuradtval,
411
- nnewadtval); \r\n break;\r\n }\r\n
412
- \ \t j++; \t\r\n \t }\r\n \t}
413
- else {\r\n \t\tif (curadtval != \"value='Senior'\" && adtcount<totaladults
414
- ){\r\n adtcount++;\r\n adultopts
415
- = adultopts.replace(curadtval, newadtval); \r\n }
416
- else {\r\n if (curadtval != \"value='Senior'\"
417
- && adtcount>=totaladults ){\r\n if (k==0) {\r\n
418
- \ k=i;\r\n }
419
- else {\r\n k=k+1;\r\n }\r\n
420
- \ while (k<=totaladperson) {\r\n if
421
- (jQuery('#adult_select'+(k+1)).val() == 'Senior') {\r\n var
422
- ncuradtval = \"value='\"+jQuery('#adult_select'+(k+1)).val()+\"'\";\r\n var
423
- nnewadtval = \"value='\"+jQuery('#adult_select'+(k+1)).val()+\"' selected='selected'\";\r\n
424
- \ adultopts = adultopts.replace(ncuradtval,
425
- nnewadtval); \r\n adtlabel = \"Senior\";\r\n
426
- \ break;\r\n }\r\n
427
- \ k++; \r\n }\r\n
428
- \ } else {\r\n \tadultopts
429
- = adultopts.replace(curadtval, newadtval);\r\n }\r\n
430
- \ }\r\n\r\n \t}\r\n }\r\n
431
- \ \r\n } else {\r\n\r\n if (passtype==
432
- 'senior' || passtype== 'Senior') {\r\n \t adultopts=senopts;\r\n
433
- \ \t adtlabel =\"Senior\";\r\n }\r\n }\r\n
434
- \ \r\n dischtml += '<div id =\"pass'+count+'\" class=\"'+adtlabel+'\"><div
435
- class=\"ff_disc_passenger\"><label id=\"label'+count+'\" for=\"disc_passenger'+count+'\">Passenger
436
- #'+count+' ('+adtlabel+')</label><br/><input type=\"hidden\" value=\"/sessionWorkflow/productWorkflow[@product=\\'Rail\\']/tripRequirements/allJourneyRequirements/person['+count+']/personType\"
437
- name=\"xwdf_person_type'+count+'\"><select onfocus=\"this.oldvalue = this.value;\"
438
- \ onchange=\"totalpass(this,'+count+');this.oldvalue = this.value;\" name=\"wdf_person_type'+count+'\"
439
- id=\"adult_select'+i+'\" class=\"disc_passenger_select\">'+adultopts+'</select></div></div>';\r\n
440
- \r\n }\r\n } \r\n \r\n\r\n if ( totalchilds != 0) {\r\n
441
- \ for ( var i=0; i<totalchilds; i++) {\r\n count++;\r\n
442
- \ var childopts= \"<option value='Default'>Select</option><option
443
- value='Child'>Child (Ages 2-12)</option><option value='ADAPaxType_Child'>Passenger
444
- with Disability (PWD)</option><option value='AAA Child'>AAA Child (Ages 2-12)</option><option
445
- value='Military Child'>Military Child (Ages 2-12)</option>\";\r\n if
446
- (jQuery('#child_select'+i).val()) {\r\n var curchival = \"value='\"+jQuery('#child_select'+i).val()+\"'\";\r\n
447
- \ var newchival = \"value='\"+jQuery('#child_select'+i).val()+\"'
448
- selected='selected'\";\r\n childopts = childopts.replace(curchival,
449
- newchival); \r\n }\r\n dischtml += '<div id =\"pass'+count+'\"
450
- class=\"ff_disc_passenger\"><label for=\"disc_passenger'+count+'\">Passenger
451
- #'+count+' (Child)</label><br/><input type=\"hidden\" value=\"/sessionWorkflow/productWorkflow[@product=\\'Rail\\']/tripRequirements/allJourneyRequirements/person['+count+']/personType\"
452
- name=\"xwdf_person_type'+count+'\"><select name=\"wdf_person_type'+count+'\"
453
- id=\"child_select'+i+'\" class=\"disc_passenger_select\">'+childopts+'</select></div>';
454
- \ \r\n }\r\n }\r\n if ( totalinfants != 0 ) {\r\n for
455
- ( var i=0; i<totalinfants; i++) {\r\n count++;\r\n dischtml
456
- += '<div id =\"pass'+count+'\" class=\"ff_disc_passenger\"><label for=\"disc_passenger'+count+'\">Passenger
457
- #'+count+' (Infant)</label><br/><p>Infant (Under age 2)</p><input type=\"hidden\"
458
- value=\"Infant\" name=\"/sessionWorkflow/productWorkflow[@product=\\'Rail\\']/tripRequirements/allJourneyRequirements/person['+count+']/personType\"></div>';
459
- \ \r\n }\r\n }\r\n \r\n document.getElementById('ff_disctype').innerHTML
460
- = dischtml;\r\n if ( count != 0) {\r\n document.getElementById(\"ff_disctype\"
461
- ).style.display = 'block';\r\n } else {\r\n document.getElementById(\"ff_disctype\"
462
- ).style.display = 'none';\r\n }\r\n}\r\n\r\nfunction validatePassDiscountSelect(){\r\n\tvar
463
- totaladults = jQuery('#oth_adults').val();\r\n\tvar totalseniors = jQuery('#oth_seniors').val();\r\n
464
- \ var totaladperson = parseInt(totaladults) + parseInt(totalseniors) ;\r\n
465
- \ var totalchilds = jQuery('#oth_children').val();\r\n var errorMsg =
466
- \"\";\r\n if ( totaladperson != 0 ){\r\n \t for (i = 0; i < totaladperson;
467
- i++) {\r\n \t\t if (jQuery('#adult_select'+i).val() == 'Default') {\r\n
468
- \ \t\t \t errorMsg = 'Please make sure you have selected a passenger
469
- type for all of the members in your traveling party.';\r\n \t\t }\r\n
470
- \ \t}\r\n }\r\n if ( totalchilds != 0 ){\r\n for (i =
471
- 0; i < totalchilds; i++) {\r\n if (jQuery('#child_select'+i).val()
472
- == 'Default') {\r\n errorMsg = 'Please make sure you
473
- have selected a passenger type for all of the members in your traveling party.';\r\n
474
- \ }\r\n }\r\n }\r\n\r\n if (errorMsg!=\"\"){\r\n
475
- \ alert(errorMsg);\r\n return false;\r\n } else {\r\n return
476
- true;\r\n }\r\n \r\n}\r\n\r\nfunction totalpass(id, ct) {\r\n\r\n\tvar
477
- oldvalue = id.oldvalue;\r\n\tvar newvalue = id.value;\r\n\tvar newlabel =
478
- \"label\"+ct;\r\n\r\n\tif (oldvalue == 'Senior' || newvalue == 'Senior') {\r\n\r\n\t\tif
479
- (oldvalue == 'Senior' && newvalue != 'Senior') {\r\n\t\t\tvar tadt = parseInt(document.getElementById(\"oth_adults\").value);\r\n\t\t\tvar
480
- tsen = parseInt(document.getElementById(\"oth_seniors\").value);\r\n\t\t\ttadt
481
- += 1;\r\n\t\t\ttsen -= 1;\r\n\t\t\tdocument.getElementById(\"oth_adults\").value
482
- = tadt;\r\n\t\t\tdocument.getElementById(\"oth_seniors\").value = tsen;\r\n\t\t\tvar
483
- res = document.getElementById(newlabel).innerHTML.replace(\"Senior\",\"Adult\");
484
- \r\n\t\t\tdocument.getElementById(newlabel).innerHTML =res; \r\n\t\t} else
485
- {\r\n\r\n\t\t\tif (newvalue == 'Senior' && oldvalue != 'Senior') {\r\n\t var
486
- tadt = parseInt(document.getElementById(\"oth_adults\").value);\r\n\t var
487
- tsen = parseInt(document.getElementById(\"oth_seniors\").value);\r\n\t tadt
488
- -= 1;\r\n\t tsen += 1;\r\n\t document.getElementById(\"oth_adults\").value
489
- = tadt;\r\n\t document.getElementById(\"oth_seniors\").value =
490
- tsen;\r\n\t var res = document.getElementById(newlabel).innerHTML.replace(\"Adult\",\"Senior\");
491
- \r\n\t document.getElementById(newlabel).innerHTML =res; \r\n\t\t
492
- \ \r\n\t } \r\n\t\t} \r\n\t}\r\n\t \r\n\t \r\n}\r\n\r\n\r\nfunction
493
- closeAlertBox() { \r\n var $j = jQuery.noConflict();\r\n $j(\".ui-dialog-content\").dialog(\"close\");
494
- \r\n}\r\n\r\nfunction ValidateBookingDate(){\r\n\tvar errMinMsg=\"\";\r\n\tvar
495
- errMaxMsg=\"\";\r\n\tvar errMsg=\"\";\r\n\tvar newdate = new Date();\r\n\tvar
496
- numberOfDaysToAdd = '+335d';\r\n\tnumberOfDaysToAdd = parseInt(numberOfDaysToAdd.replace(/\\D/g,''));\r\n\tvar
497
- mindate= $j.datepicker.formatDate('mm/dd/yy', newdate);\r\n\tnewdate.setDate(newdate.getDate()
498
- + numberOfDaysToAdd); \r\n\tvar maxdate= $j.datepicker.formatDate('mm/dd/yy',
499
- newdate);\r\n\tvar depdate=document.getElementById(\"wdfdate1\").value;\r\n\t\r\n\tif
500
- (depdate != \"\" && validMinDateRange(mindate,depdate) == false ){\r\n \terrMinMsg
501
- = 'Problem with Travel Date: Our system cannot make reservations for dates
502
- in the past. Check your date(s) and try again. [Error ID: 532S]\\n\\n' ;\r\n
503
- \t}\r\n if(document.getElementById('return').checked) {\r\n var
504
- retdate=document.getElementById(\"wdfdate2\").value;\r\n if (retdate
505
- != \"\" && validMinDateRange(mindate,retdate) == false ){\r\n errMinMsg
506
- = 'Problem with Travel Date: Our system cannot make reservations for dates
507
- in the past. Check your date(s) and try again. [Error ID: 532S]\\n\\n' ;\r\n
508
- \ } \r\n \r\n }\r\n if (depdate != \"\" && validMaxDateRange(maxdate,depdate)
509
- == false ){\r\n \terrMaxMsg = 'Problem with Travel Date: Our system cannot
510
- make reservations for dates more than 11 months in the future. Check your
511
- date(s) and try again. [Error ID: 533S]' ;\r\n }\r\n if(document.getElementById('return').checked)
512
- {\r\n var retdate=document.getElementById(\"wdfdate2\").value;\r\n
513
- \ if (retdate != \"\" && validMaxDateRange(maxdate,retdate) == false
514
- ){\r\n errMaxMsg = 'Problem with Travel Date: Our system cannot
515
- make reservations for dates more than 11 months in the future. Check your
516
- date(s) and try again. [Error ID: 533S]' ;\r\n } \r\n \r\n
517
- \ }\r\n \r\n errMsg += errMinMsg+errMaxMsg;\r\n\r\n if (null !=
518
- errMsg && errMsg != \"\" ) {\r\n alert(errMsg);\r\n return
519
- false;\r\n } else {\r\n return true;\r\n }\r\n \r\n\r\n}\r\n\r\n</script>\r\n<style>\r\n
520
- .disc_passenger_select {\r\n margin-top:2px;\r\n margin-left:0px;\r\n }\r\n
521
- </style>\r\n\r\n \r\n \r\n \r\n \r\n
522
- \ \r\n\t \r\n \r\n \r\n
523
- \ \r\n \r\n <script type=\"text/javascript\">\r\n //<![CDATA[\r\n
524
- \ var $j = jQuery.noConflict();\r\n $j( document ).ready(function()
525
- {\r\n \t document.getElementById(\"wdfdate1\").value = ''; \r\n \t
526
- \ document.getElementById(\"wdfdate15\").value = 'Select a date'; \r\n
527
- \ }); \r\n //]]>\r\n </script>\r\n\t <script type=\"text/javascript\">\r\n\t
528
- \ if (document.getElementById(\"wdfdate15\") != null && \r\n\t \t document.getElementById(\"wdfdate15\").value
529
- == '') {\r\n\t document.getElementById(\"wdfdate15\").value = 'Select
530
- a date'; \r\n\t } \r\n\t </script>\r\n \r\n\n \n \n
531
- \ \r\n\r\n\r\n\r\n\r\n <div id=\"farefinder_tabbody_redeem\"
532
- class=\"farefinder_tabbody\">\r\n \t<h2>Redeem Points</h2>\r\n \t\r\n
533
- \ \t<form onsubmit=\"javascript: return ValidateRedeemDate()\" name=\"ff_redeem_form\"
534
- action=\"https://tickets.amtrak.com/itd/amtrak\" method=\"post\"><input type=\"hidden\"
535
- name=\"requestor\" value=\"amtrak.presentation.handler.page.rail.redeem.PresAmtrakRailRedeemFindATicketReqsPageHandler\"
536
- />\r\n \t\t<div id=\"ff_redeem_step_1\" class=\"subdiv\"> \t\t\r\n\t
537
- \ \t<div id=\"ff_member_wrapper\">\r\n\t \t\t\r\n\t \t\t\r\n\t
538
- \ \t\t\r\n\t \t\t\r\n\t\t\t \r\n\t\t\t \t\r\n\t\t\t
539
- \ \t\r\n\t\t\t \t<div class=\"form_line_wrapper first\">\r\n\t\t\t
540
- \ \t<label for=\"ff_membernumber\">Member Number</label>\r\n\t\t\t
541
- \ \t<span class=\"form_entry\">\r\n\t\t\t \t<input
542
- type=\"text\" autocomplete=\"off\" id=\"ff_membernumber\" maxlength=\"10\"
543
- name=\"/sessionWorkflow/profileWorkflow/schemeAccount/membershipNumber\" />\r\n\t\t\t
544
- \ </span>\r\n\t\t\t </div>\r\n\t\t\t <div
545
- class=\"form_line_wrapper\">\r\n\t\t\t \t<label for=\"ff_memberpassword\">Member
546
- Password</label>\r\n\t\t\t <span class=\"form_entry\">\t\r\n\t\t\t
547
- \ \t<input type=\"password\" autocomplete=\"off\" id=\"ff_memberpassword\"
548
- maxlength=\"29\" name=\"/sessionWorkflow/profileWorkflow/schemeAccount/@password\"
549
- />\r\n\t\t\t </span>\t \r\n\t\t\t </div>\r\n\t\t\t
550
- \ <br class=\"clear_both\" />\t\t\t \r\n\t\t\t
551
- \ \r\n\t \t\t\r\n\t \t\t \r\n\t \t</div>\r\n \t</div>\r\n\t
552
- \ \r\n\t <div id=\"ff_tickets_redeem_cities_subdiv\" class=\"subdiv\">\r\n\t\t\t\r\n\t\t
553
- \ \t<div id=\"tickets_dep_city\" class=\"ff_city_wrapper\">\t\t\t \t\t\t\t\t\t
554
- \ \r\n\t\t \t<input type=\"hidden\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/journeyRequirements[1]/departDate/@radioSelect\"
555
- value=\"arrivalTime\" />\r\n\t\t \t<input type=\"hidden\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/@bookpath\"
556
- value=\"redeem\" />\t\t\t \t\t\t\r\n\t\t \t\t<label for=\"agrdeparts\">From</label>\t\t\t\t
557
- \ \r\n\t\t \t<input type=\"hidden\" name=\"xwdf_origin\"
558
- value=\"/sessionWorkflow/productWorkflow[@product='Rail']/travelSelection/journeySelection[1]/departLocation/search\"
559
- /><input class=\"text\" type=\"text\" id=\"agrdeparts\" name=\"wdf_origin\"
560
- value=\"Providence, RI (PVD)\" />\r\n\t\t \t<p><span class=\"find_a_station\"><a
561
- title=\"Click for a list of stations.\" href=\"javascript:fieldName='agrdeparts';
562
- openStationList();\">Find a Station</a></span></p> \t\t\t\t \r\n\t
563
- \ \t</div>\r\n\t \r\n\t \t<div id=\"tickets_arr_city\"
564
- class=\"ff_city_wrapper level3\">\r\n\t \t\t<label for=\"agrarrives\">To</label>\r\n\t
565
- \ \t\t<input type=\"hidden\" name=\"xwdf_destination\" value=\"/sessionWorkflow/productWorkflow[@product='Rail']/travelSelection/journeySelection[1]/arriveLocation/search\"
566
- /><input class=\"text\" type=\"text\" id=\"agrarrives\" name=\"wdf_destination\"
567
- value=\"Boston - Back Bay, MA (BBY)\" />\r\n\t \t\t<p><span class=\"find_a_station\"><a
568
- title=\"Click for a list of stations.\" href=\"javascript:fieldName='agrarrives';
569
- openStationList();\">Find a Station</a></span></p>\t\t\r\n\t \t</div>\t\r\n\t
570
- \ \t \t<div id=\"redeem_from_auto\" class=\"autocomplete level5\" style=\"display:none\"></div>\r\n
571
- \ \t<div id=\"redeem_to_auto\" class=\"autocomplete level5\"
572
- style=\"display:none\"></div>\t\t\r\n\t \t\r\n\t </div>\r\n \r\n
573
- \ <div id=\"ff_redeem_dep_date_subdiv\" class=\"subdiv\">\r\n \t<div
574
- id=\"redeem_dep_date_time\">\r\n \t<div class=\"ff_date_wrapper\">
575
- \ \r\n \t<label for=\"wdfdate15\">Departs</label>\r\n
576
- \ <input class=\"wdfDate\" type=\"text\" size=\"22\" id=\"wdfdate15\"
577
- maxlength=\"22\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/journeyRequirements[1]/departDate.usdate\"
578
- value=\"01/03/2015\" /><a class=\"calLink noloading\" id=\"calLink15\">&nbsp;</a><br
579
- /><div id=\"calContainer15\" class=\"calContainer\" bookingpath=\"redeemff\"
580
- calwrapper=\"farefinder\" caloffsetx=\"50\" calpickerxpos=\"50\" maxdate=\"+335d\"></div></div><div
581
- class=\"ff_time_wrapper\"><label for=\"wdftimenull\"><b>Time</b></label><select
582
- id=\"wdftime15\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/journeyRequirements[1]/departTime.hourmin\"><option
583
- value=\"\">Anytime</option><option value=\"01:00\">Morning</option><option
584
- value=\"13:00\">Afternoon</option><option value=\"19:00\">Evening</option></select>\r\n
585
- \ </div> \r\n\t </div>\r\n
586
- \ </div>\r\n \r\n <div id=\"ff_redeem_passengers_subdiv\"
587
- class=\"subdiv\">\r\n \t<div id=\"redeem_passengers\">\r\n \t<div
588
- id=\"ff_submit_button\"> \r\n <input
589
- type=\"image\" alt=\"Click to Find Tickets\" name=\"_handler=amtrak.presentation.handler.request.rail.redeem.PresAmtrakRailRedeemSearchRequestHandler\"
590
- onclick=\"javascript:return preRedeemSubmitActions('The following information
591
- is needed to process your request:') \" src=\"/images/en/btn_ff_findTrains.gif\"
592
- border=\"0\" /> \r\n </div>\r\n
593
- \ \t<div id=\"passenger_wrapper\">\r\n \t<label
594
- for=\"redeemadults\">Passengers</label><br> (Max. of 8)\t \t
595
- \ \r\n </div>\t \r\n <div
596
- id=\"ff_redeem_passenger_select_wrapper\">\r\n \t<select id=\"redeemadults\"
597
- name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/allJourneyRequirements/numberOfTravellers[@key='Adult']\"><option
598
- value=\"1\" selected=\"selected\">1</option><option value=\"2\">2</option><option
599
- value=\"3\">3</option><option value=\"4\">4</option><option value=\"5\">5</option><option
600
- value=\"6\">6</option><option value=\"7\">7</option><option value=\"8\">8</option></select>\r\n
601
- \ </div>\r\n \r\n </div> \r\n <br/>\r\n
602
- \ <p><a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&help=agrFindTicket','help','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\"
603
- \ CLASS=\"smallblue\">Learn more</a> about redeeming points online for Amtrak
604
- travel.</p> \r\n </div>\r\n \t<br class=\"clear_both\"
605
- /> \r\n\t</form>\r\n </div> \r\n\t\t <script language=\"JavaScript\"
606
- type=\"text/javascript\"> \r\n\t\t <!--\r\n\t\t\t if( $('ff_sub_tabbar_bookatrip').hasClassName(\"active\")
607
- ){\r\n\t\t\t\tshow_ff_sub_tab('bookatrip');\r\n\t \t\t } else if( $('ff_sub_tabbar_redeem').hasClassName(\"active\")
608
- ){\r\n\t\t \t\tshow_ff_sub_tab('redeem');\r\n\t \t\t }\r\n\t\t //-->\r\n\t\t
609
- </script>\r\n\t\t \n \n \n <div id=\"farefinder_tabbody_traveloptions\"
610
- class=\"farefinder_tabbody\">\n <div class=\"cmstraveloptions\"
611
- id=\"cmstraveloptions\">\n <p><a class=\"button\" href=\"/rail-deals-every-week-25-off-amtrak-fares-across-the-us\"><img
612
- src='https://www.amtrak.com/servlet/Satellite?blobcol=urldata&blobheader=image%2Fpng&blobkey=id&blobtable=MungoBlobs&blobwhere=1249288596252&ssbinary=true&eHA_media_type=.png'/></a><br
613
- />\r\n<a class=\"button\" href=\"http://tickets.amtrak.com/itd/amtrak/autotrain\"><img
614
- src='https://www.amtrak.com/servlet/Satellite?blobcol=urldata&blobheader=image%2Fpng&blobkey=id&blobtable=MungoBlobs&blobwhere=1249288596551&ssbinary=true&eHA_media_type=.png'/></a><br
615
- />\r\n<a class=\"button\" href=\"http://tickets.amtrak.com/itd/amtrak/multiride\"><img
616
- src='https://www.amtrak.com/servlet/Satellite?blobcol=urldata&blobheader=image%2Fpng&blobkey=id&blobtable=MungoBlobs&blobwhere=1249288591884&ssbinary=true&eHA_media_type=.png'/></a><br
617
- />\r\n<a class=\"button\" href=\"http://tickets.amtrak.com/itd/amtrak/selectpass\"><img
618
- src='https://www.amtrak.com/servlet/Satellite?blobcol=urldata&blobheader=image%2Fpng&blobkey=id&blobtable=MungoBlobs&blobwhere=1249288591915&ssbinary=true&eHA_media_type=.png'/></a><br
619
- />\r\n<a class=\"button\" href=\"/hotels-cars-travel-insurance-and-more\"><img
620
- src='https://www.amtrak.com/servlet/Satellite?blobcol=urldata&blobheader=image%2Fpng&blobkey=id&blobtable=MungoBlobs&blobwhere=1249288591946&ssbinary=true&eHA_media_type=.png'/></a><br
621
- />\r\n<a class=\"button\" href=\"http://tickets.amtrak.com/itd/amtrak/grouptravel\"><img
622
- src='https://www.amtrak.com/servlet/Satellite?blobcol=urldata&blobheader=image%2Fpng&blobkey=id&blobtable=MungoBlobs&blobwhere=1249288591983&ssbinary=true&eHA_media_type=.png'/></a></p>\n\n
623
- \ </div>\n </div>\n \n \n <div id=\"farefinder_tabbody_status\"
624
- class=\"farefinder_tabbody\">\n \n \n <div id=\"status_by_train_number\">\n
625
- \ <form onsubmit=\"javascript:return CheckMandatoryTrainStatusFieldsForStatusByTrainNumber();\"
626
- name=\"ff_status_form1\" action=\"https://tickets.amtrak.com/itd/amtrak\"
627
- method=\"post\"><input type=\"hidden\" name=\"requestor\" value=\"amtrak.presentation.handler.page.rail.AmtrakRailGetTrainStatusPageHandler\"
628
- /> \n <input type=\"hidden\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/@trainStatusType\"
629
- value=\"statusByTrainNumber\" />\n <h2>Status</h2>\n\n <div
630
- id=\"ff_status_step_1\" class=\"subdiv1\"> \n <div id=\"status_arr_or_dep_wrapper\">
631
- \n \n \n <p>\n
632
- \ <input type=\"hidden\" name=\"xwdf_SortBy\"
633
- value=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/journeyRequirements[1]/departDate/@radioSelect\"
634
- /><input type=\"radio\" id=\"status_arr\" name=\"wdf_SortBy\" value=\"arrivalTime\"
635
- onclick=\"javascript:return setDepartOrArrivalFieldVisibility();\" checked=\"checked\"
636
- />\n <label for=\"status_arr\">\n Arrival
637
- Status\n </label> \n
638
- \ </p>\n <p>\n
639
- \ <input type=\"hidden\" name=\"xwdf_SortBy\"
640
- value=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/journeyRequirements[1]/departDate/@radioSelect\"
641
- /><input type=\"radio\" id=\"status_dep\" name=\"wdf_SortBy\" value=\"departTime\"
642
- onclick=\"javascript:return setDepartOrArrivalFieldVisibility();\" />\n <label
643
- for=\"status_dep\">\n Departure Status\n
644
- \ </label>\n </p>\n
645
- \ \n \n \n
646
- \ \n </div>\n \n
647
- \ <div id=\"status_dep_city\" class=\"ff_status_city_wrapper\">
648
- \ \n <label for=\"status_from\">\n
649
- \ Station\n </label> \n \n
650
- \ <!-- itd:locationinput id=\"status_dep\" wdfxpath=\"travelSelection/journeySelection[1]/departLocation\"
651
- wdfhtmlname=\"wdf_origin\" wdflimitedlocations=\"resource:TRAVEL_USE_LIMITED_LOCATIONS\"
652
- size=\"25\" / -->\n <div id=\"div_depart_station\">\n\t
653
- \ <input type=\"hidden\" name=\"xwdf_origin\" value=\"/sessionWorkflow/productWorkflow[@product='Rail']/travelSelection/journeySelection[1]/departLocation/search\"
654
- /><input type=\"text\" autocomplete=\"off\" id=\"status_from\" maxlength=\"150\"
655
- name=\"wdf_origin\" value=\"Providence, RI (PVD)\" />\n\t <p><span
656
- class=\"find_a_station\">\n\t <a title=\"Click for
657
- a list of stations.\" href=\"javascript:fieldName='status_from'; openStationList();\">Find
658
- a Station</a>\n\t </span></p>\n </div>\n
659
- \ <div id=\"div_arrive_station\">\n <input
660
- type=\"hidden\" name=\"xwdf_destination\" value=\"/sessionWorkflow/productWorkflow[@product='Rail']/travelSelection/journeySelection[1]/arriveLocation/search\"
661
- /><input type=\"text\" autocomplete=\"off\" id=\"status_to\" maxlength=\"150\"
662
- name=\"wdf_destination\" value=\"Boston - Back Bay, MA (BBY)\" />\n <p><span
663
- class=\"find_a_station\">\n <a title=\"Click
664
- for a list of stations.\" href=\"javascript:fieldName='status_to'; openStationList();\">Find
665
- a Station</a>\n </span></p>\n </div>\n
666
- \ </div>\n <div id=\"status_from_auto\"
667
- class=\"autocomplete\" style=\"display:none\"></div>\n <div
668
- id=\"status_to_auto\" class=\"autocomplete\" style=\"display:none\"></div>\n
669
- \ \n \n <div class=\"form_line_wrapper1\">
670
- \ \n <label for=\"status_train_num\">\n
671
- \ Train/Bus No.\n </label>\n
672
- \ <span class=\"form_entry\">\n <input
673
- type=\"hidden\" name=\"xwdf_trainNumber\" value=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/journeyRequirements[1]/segmentRequirements[1]/serviceCode\"
674
- /><input onfocus=\"if (this.value=='optional') { this.value=''; updateMaxLength();
675
- };\" type=\"text\" size=\"4\" id=\"status_train_num\" maxlength=\"8\" name=\"wdf_trainNumber\"
676
- />\n </span>\n </div>\n \n
677
- \ <div class=\"form_line_wrapper\">\n <div
678
- id=\"div_depart_date_label\">\n <label for=\"status_date\">\n
679
- \ Depart Date\n </label>\n
680
- \ </div>\n <div id=\"div_arrival_date_label\">\n
681
- \ <label for=\"status_date\">\n Arrival
682
- Date\n </label>\n </div>\n \n
683
- \ <span class=\"form_entry\">\n <input
684
- class=\"wdfDate\" type=\"text\" size=\"22\" id=\"wdfdate10\" maxlength=\"22\"
685
- name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/journeyRequirements[1]/departDate.usdate\"
686
- value=\"01/03/2015\" /><a class=\"calLink noloading\" id=\"calLink10\">&nbsp;</a><br
687
- /><div id=\"calContainer10\" class=\"calContainer\" bookingpath=\"checkStatus\"
688
- calwrapper=\"status_by_train_number\" caloffsetx=\"53\" calpickerxpos=\"50\"
689
- mindate=\"-5d\" maxdate=\"+5d\"></div> \n
690
- \ </span>\n </div> \n
691
- \ <br class=\"clear_both\" /> \n </div>\n
692
- \ <div id=\"ff_status_submit_wrapper\" class=\"subdiv\">\n <input
693
- type=\"hidden\" name=\"_handler=amtrak.presentation.handler.request.rail.AmtrakRailTrainStatusSearchRequestHandler/_xpath=/sessionWorkflow/productWorkflow[@product='Rail']\"
694
- />\n <input type=\"image\" alt=\"Check Status\" name=\"_handler=amtrak.presentation.handler.request.rail.AmtrakRailTrainStatusSearchRequestHandler/_xpath=/sessionWorkflow/productWorkflow[@product='Rail']\"
695
- onclick=\" javascript:return (ValidateStatusDate('wdfdate10') )\" src=\"/images/en/btn_checkStatus.gif\"
696
- border=\"0\" />\n </div>\n \n <div
697
- class=\"form_line_wrapper subdiv2\">\n Late trains often
698
- make up time en route and may arrive earlier than expected. When trains are
699
- late, we suggest you arrive at your departure station prior to the estimated
700
- arrival or departure time.\n </div>\n <div class=\"form_line_wrapper
701
- subdiv\">\n <h3 style=\"margin-bottom:2px;\">Don't know
702
- your train number?</h3>\n <a href=\"javascript:switchToStatusByCity();\">Check
703
- status by city</a>\n </div>\n </form> \n </div>
704
- \ \n \n \n \n
705
- \ <div id=\"status_by_city_pair\">\n <form onsubmit=\"javascript:return
706
- CheckMandatoryTrainStatusFieldsForStatusByCityPair();\" name=\"ff_status_form2\"
707
- action=\"https://tickets.amtrak.com/itd/amtrak\" method=\"post\"><input type=\"hidden\"
708
- name=\"requestor\" value=\"amtrak.presentation.handler.page.rail.AmtrakRailGetTrainStatusPageHandler\"
709
- />\n <input type=\"hidden\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/@trainStatusType\"
710
- value=\"statusByCityPair\" />\n <input type=\"hidden\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/journeyRequirements[1]/departDate/@radioSelect\"
711
- value=\"arrivalTime\" />\n \n <div id=\"ff_status_step_1\"
712
- class=\"subdiv\">\n <div id=\"status_dep_city\" class=\"ff_status_city_wrapper
713
- citypair_from\">\n <label for=\"status_from\">\n From\n
714
- \ </label> \n \n <!--
715
- itd:locationinput id=\"status_dep\" wdfxpath=\"travelSelection/journeySelection[1]/departLocation\"
716
- wdfhtmlname=\"wdf_origin\" wdflimitedlocations=\"resource:TRAVEL_USE_LIMITED_LOCATIONS\"
717
- size=\"25\" / -->\n <input type=\"hidden\" name=\"xwdf_origin\"
718
- value=\"/sessionWorkflow/productWorkflow[@product='Rail']/travelSelection/journeySelection[1]/departLocation/search\"
719
- /><input type=\"text\" autocomplete=\"off\" id=\"status_from1\" maxlength=\"150\"
720
- name=\"wdf_origin\" value=\"Providence, RI (PVD)\" />\n <p><span
721
- class=\"find_a_station\">\n <a title=\"Click for
722
- a list of stations.\" href=\"javascript:fieldName='status_from1'; openStationList();\">Find
723
- a Station</a>\n </span></p>\n </div>\n\n
724
- \ <div id=\"status_arr_city\" class=\"ff_status_city_wrapper\">\n
725
- \ <label for=\"status_to\">\n To\n
726
- \ </label> \n <!-- itd:locationinput
727
- id=\"status_to\" wdfxpath=\"travelSelection/journeySelection[1]/arriveLocation\"
728
- wdfhtmlname=\"wdf_destination\" wdflimitedlocations=\"resource:TRAVEL_USE_LIMITED_LOCATIONS\"
729
- size=\"25\" / -->\n <input type=\"hidden\" name=\"xwdf_destination\"
730
- value=\"/sessionWorkflow/productWorkflow[@product='Rail']/travelSelection/journeySelection[1]/arriveLocation/search\"
731
- /><input type=\"text\" autocomplete=\"off\" id=\"status_to1\" maxlength=\"150\"
732
- name=\"wdf_destination\" value=\"Boston - Back Bay, MA (BBY)\" /> \n
733
- \ <p><span class=\"find_a_station\">\n <a
734
- title=\"Click for a list of stations.\" href=\"javascript:fieldName='status_to1';
735
- openStationList();\">Find a Station</a>\n </span></p>\n
736
- \ </div>\n \n <div id=\"status_from_auto1\"
737
- class=\"autocomplete\" style=\"display:none\"></div>\n <div
738
- id=\"status_to_auto1\" class=\"autocomplete\" style=\"display:none\"></div>
739
- \ \n \n <div class=\"form_line_wrapper\">
740
- \ \n <div id=\"div_depart_date_label\">\n
741
- \ <label for=\"status_date\">\n Arrival
742
- Date\n </label>\n </div>\n <span
743
- class=\"form_entry\">\n <input class=\"wdfDate\" type=\"text\"
744
- size=\"22\" id=\"wdfdate11\" maxlength=\"22\" name=\"/sessionWorkflow/productWorkflow[@product='Rail']/tripRequirements/journeyRequirements[1]/departDate.usdate\"
745
- value=\"01/03/2015\" /><a class=\"calLink noloading\" id=\"calLink11\">&nbsp;</a><br
746
- /><div id=\"calContainer11\" class=\"calContainer\" bookingpath=\"checkStatus\"
747
- calwrapper=\"status_by_train_number\" caloffsetx=\"53\" calpickerxpos=\"50\"
748
- mindate=\"-5d\" maxdate=\"+5d\"></div> \n
749
- \ </span> \n </div> \n
750
- \ <br class=\"clear_both\" /> \n </div>\n \n
751
- \ <div id=\"ff_status_submit_wrapper\" class=\"subdiv\">\n <input
752
- type=\"hidden\" name=\"_handler=amtrak.presentation.handler.request.rail.AmtrakRailTrainStatusSearchRequestHandler/_xpath=/sessionWorkflow/productWorkflow[@product='Rail']\"
753
- />\n <input type=\"image\" alt=\"Check Status\" name=\"_handler=amtrak.presentation.handler.request.rail.AmtrakRailTrainStatusSearchRequestHandler/_xpath=/sessionWorkflow/productWorkflow[@product='Rail']\"
754
- onclick=\" javascript:return (ValidateStatusDate('wdfdate11') )\" src=\"/images/en/btn_checkStatus.gif\"
755
- border=\"0\" />\n </div>\n \n\t <div
756
- class=\"form_line_wrapper subdiv2\">\n\t Late trains often make
757
- up time en route and may arrive earlier than expected. When trains are late,
758
- we suggest you arrive at your departure station prior to the estimated arrival
759
- or departure time.\n\t </div>\n\t <div class=\"form_line_wrapper
760
- subdiv\">\n\t <h3 style=\"margin-bottom:45px;\"><a href=\"javascript:switchToStatusByTrain();\">Check
761
- status by train number</a></h3>\t \n </div>\n
762
- \ </form>\n </div>\n \n \n </div>\n
763
- \ \n <div id=\"farefinder_tabbody_mytrip\" class=\"farefinder_tabbody\">\n
764
- \ <h2>My Trip</h2>\n <div id=\"ff_mytrip_step_1\"
765
- class=\"subdiv\">\n <form onsubmit=\"javascript:return
766
- CheckMandatoryMyTripFields(this)\" name=\"mytrip_res\" action=\"https://tickets.amtrak.com/itd/amtrak\"
767
- method=\"post\"><input type=\"hidden\" name=\"requestor\" value=\"amtrak.presentation.handler.page.rail.AmtrakRailGetTrainStatusPageHandler\"
768
- />\n <h3>Find a Reservation</h3>\n <div
769
- class=\"form_line_wrapper first\">\n <label for=\"mytrip_res_num\">Reservation
770
- Number</label><span class=\"form_entry\">\n <input
771
- type=\"text\" id=\"mytrip_res_num\" name=\"/sessionWorkflow/itineraryWorkflow/basket/booking/reference\"
772
- value=\"\" />\n </span>\n </div>\n
773
- \ <div class=\"form_line_wrapper\">\n <strong>and</strong>\n
774
- \ </div>\n <div class=\"form_line_wrapper\">\n
775
- \ <label for=\"mytrip_res_email\">E-mail Address</label><span
776
- class=\"form_entry\">\n <input type=\"text\" autocomplete=\"off\"
777
- id=\"mytrip_res_email\" name=\"/sessionWorkflow/itineraryWorkflow/basket/booking/bookingOptions/bookingFulfilment/contact/contactEmailAddress/emailAddress\"
778
- value=\"\" />\n </span>\n </div>\n
779
- \ <div class=\"form_line_wrapper\">\n <div
780
- class=\"separator\">-or-</div>\n </div>\n <div
781
- class=\"form_line_wrapper\">\n <label for=\"mytrip_res_zip\">Telephone
782
- Number</label><span class=\"form_entry\">\n <input
783
- type=\"text\" id=\"mytrip_res_zip\" name=\"/sessionWorkflow/itineraryWorkflow/basket/booking/bookingOptions/bookingFulfilment/contact/contactTelephone/number\"
784
- value=\"\" />\n </span>\n </div>\n
785
- \ <div id=\"ff_mytrip_res_submit\">\n <input
786
- type=\"hidden\" name=\"_handler=com.sita.ats.amtrak.presentation.handler.request.itinerary.AmtrakLoggedOutTripDetailsRequestHandler\"
787
- />\n <input class=\"image\" type=\"image\" alt=\"Find
788
- Reservation\" name=\"_handler=com.sita.ats.amtrak.presentation.handler.request.itinerary.AmtrakLoggedOutTripDetailsRequestHandler\"
789
- src=\"/images/en/btn_find.gif\" />\n </div>\n </form>\n
790
- \ </div>\n\n \n <div
791
- id=\"ff_mytrip_step_2\" class=\"subdiv\">\n <div id=\"mytrip_or\"><span>Or</span></div>\n
792
- \ \n <form onsubmit=\"javascript:return
793
- CheckMandatoryLoginFields(this)\" name=\"mytrip_acct\" action=\"https://tickets.amtrak.com/itd/amtrak\"
794
- method=\"post\"><input type=\"hidden\" name=\"requestor\" value=\"amtrak.presentation.handler.page.rail.AmtrakRailGetTrainStatusPageHandler\"
795
- />\n\t\t\t\t\t\t<input type=\"hidden\" name=\"/sessionWorkflow/userWorkflow/profileAccountRequirements/@logontype\"
796
- value=\"mytrip\" /> \n <h3>Log in to your Amtrak.com
797
- Account</h3>\n <div class=\"form_line_wrapper\">\n
798
- \ <label for=\"mytrip_acct_email\">E-mail Address</label><span
799
- class=\"form_entry\">\n <input type=\"hidden\"
800
- name=\"xwdf_username\" value=\"/sessionWorkflow/userWorkflow/profileAccountRequirements/userName\"
801
- /><input autocomplete=\"off\" type=\"text\" id=\"mytrip_acct_email\" maxlength=\"64\"
802
- name=\"wdf_username\" />\n </span>\n </div>\n
803
- \ <div class=\"form_line_wrapper\">\n <label
804
- for=\"mytrip_acct_pwd\">Password</label><span class=\"form_entry\">\n <input
805
- type=\"hidden\" name=\"xwdf_password\" value=\"/sessionWorkflow/userWorkflow/profileAccountRequirements/password\"
806
- /><input type=\"password\" autocomplete=\"off\" id=\"mytrip_acct_pwd\" maxlength=\"20\"
807
- name=\"wdf_password\" />\n </span>\n </div>\n
808
- \ <div id=\"ff_mytrip_acct_submit\">\n \n
809
- \ <a class=\"forgot_pass\" title=\"Click here
810
- to request your Password\" href=\"javascript:openForgotPwdBox();\">Forgot
811
- password?</a>\n \n \n
812
- \ <input type=\"hidden\" name=\"_handler=com.sita.ats.amtrak.presentation.handler.request.profile.AmtrakProfileLogonRequestHandler/_xpath=/sessionWorkflow/userWorkflow/profileAccountRequirements\"
813
- />\n <input type=\"image\" alt=\"Log In\" name=\"_handler=com.sita.ats.amtrak.presentation.handler.request.profile.AmtrakProfileLogonRequestHandler/_xpath=/sessionWorkflow/userWorkflow/profileAccountRequirements\"
814
- onclick=\"\" src=\"/images/en/btn_login.gif\" />\n </div>\n
815
- \ </form>\n\t\t\t\t\t\n </div>\n\t\t\t\t\t\n
816
- \ </div>\t\t\n </div>\n \n \n \n\t \n\t \n\t
817
- \ <script type=\"text/javascript\" language=\"javascript\" charset=\"utf-8\">\n
818
- \ // <![CDATA[\n\n new Ajax.Autocompleter('departs','autocomplete_availability_from',
819
- '/itd/amtrak/AutoComplete', {\n paramName: \"_origin\",\n minChars:
820
- 2,\n frequency: 0.5\n }\n ); \n \n
821
- \ new Ajax.Autocompleter('arrives','autocomplete_availability_to','/itd/amtrak/AutoComplete',
822
- {\n paramName: \"_destination\",\n minChars: 2,\n frequency:
823
- 0.5\n }\n );\n\n new Ajax.Autocompleter('agrdeparts','redeem_from_auto',
824
- '/itd/amtrak/AutoComplete', {\n paramName: \"_origin\",\n minChars:
825
- 2,\n frequency: 0.5\n }\n ); \n
826
- \ \n new Ajax.Autocompleter('agrarrives','redeem_to_auto','/itd/amtrak/AutoComplete',
827
- {\n paramName: \"_destination\",\n minChars: 2,\n
828
- \ frequency: 0.5\n }\n );\n\n\n\t\tnew
829
- Ajax.Autocompleter('status_from','status_from_auto','/itd/amtrak/AutoComplete',
830
- {\n\t\t\tparamName: \"_origin\",\n\t\t\tminChars: 2,\n\t\t\tfrequency: 0.5\n\t\t\t}\n\t\t);\n\t\t\n\t\tnew
831
- Ajax.Autocompleter('status_to','status_to_auto','/itd/amtrak/AutoComplete',
832
- {\n\t\t\tparamName: \"_destination\",\n\t\t\tminChars: 2,\n\t\t\tfrequency:
833
- 0.5\n\t\t\t}\n\t\t);\n\t\t\n\t\tnew Ajax.Autocompleter('status_from1','status_from_auto1','/itd/amtrak/AutoComplete',
834
- {\n paramName: \"_origin\",\n minChars: 2,\n frequency:
835
- 0.5\n }\n );\n \n new Ajax.Autocompleter('status_to1','status_to_auto1','/itd/amtrak/AutoComplete',
836
- {\n paramName: \"_destination\",\n minChars: 2,\n frequency:
837
- 0.5\n }\n\t\t);\n\n // ]]>\n </script>\n\t \n
838
- \ <!-- End HTML for Fare Finder -->\n \n \n<script language=\"JavaScript\"
839
- type=\"text/javascript\"> \n<!--\n\nfunction CheckMandatoryTrainStatusFieldsForStatusByTrainNumber()
840
- {\n\tvar errorMsg = \"\";\n\tvar fieldList = \"\";\t \n\n var arrivalStatus_checked
841
- = document.ff_status_form1.status_arr.checked;\n var departureStatus_checked
842
- = document.ff_status_form1.status_dep.checked; \n var origin = document.ff_status_form1.wdf_origin.value;\n
843
- \ var destination = document.ff_status_form1.wdf_destination.value;\n var
844
- trainNumber = document.ff_status_form1.wdf_trainNumber.value;\n\n if(trainNumber
845
- == \"\") {\n trainNumber = \"\";\n } \n\n if (departureStatus_checked
846
- && origin == \"\") \n fieldList = fieldList + \" -- Departure Station\"
847
- + \"\\n\";\n \t\n if (arrivalStatus_checked && destination == \"\")\n
848
- \ fieldList = fieldList + \" -- Arrival Station\" + \"\\n\";\n \n
849
- \ if (trainNumber == \"\" || ((trainNumber != \"\") && (!IsNumber(trainNumber))))\n
850
- \ fieldList = fieldList + \" -- Valid Train or Bus Number\" + \"\\n\";\n\n
851
- \ if (fieldList != \"\") \n errorMsg = \"The following information
852
- is needed to process your request:\" + \"\\n\" + fieldList;\n \n \n
853
- \ if (errorMsg != \"\"){\n alert(errorMsg);\n return false;\n
854
- \ }\n\n if(arrivalStatus_checked) {\n \tdocument.ff_status_form1.wdf_origin.value
855
- = '';\n } else if(departureStatus_checked) {\n \tdocument.ff_status_form1.wdf_destination.value
856
- = '';\n }\n return true; \n}\n\n\nfunction CheckMandatoryTrainStatusFieldsForStatusByCityPair()
857
- {\n var errorMsg =\"\";\n var fieldList = \"\";\n \n var origin
858
- = document.ff_status_form2.wdf_origin.value;\n var destination = document.ff_status_form2.wdf_destination.value;\n\n
859
- \ if (origin == \"\") \n fieldList = fieldList + \" -- From\" + \"\\n\";\n
860
- \ \n if (destination == \"\") \n fieldList =
861
- fieldList + \" -- To\" + \"\\n\";\n \n if (fieldList != \"\")\n errorMsg
862
- = \"The following information is needed to process your request:\" + \"\\n\"
863
- + fieldList;\n \n if (errorMsg != \"\") {\n alert(errorMsg);\n
864
- \ return false;\n }\n \n return true; \n}\n\nfunction
865
- CheckMandatoryScheduleFields(statusForm) {\n var errorMsg =\"\";\n var fieldList
866
- = \"\";\n\t\n var origin = statusForm.wdf_origin.value;\n var destination
867
- = statusForm.wdf_destination.value;\n \n if (origin == \"\" && destination
868
- == \"\") \n fieldList = \"Problem with Departure and Arrival Station/City:
869
- Please provide a valid departure and arrival station or city name and resubmit.
870
- \\n[Error ID: 573S]\" + \"\\n\"; \n\n if (origin != \"\" && destination ==
871
- \"\") \n fieldList = fieldList + \"Problem with Departure and Arrival Station/City:
872
- Please provide a valid departure and arrival station or city name and resubmit.
873
- \\n[Error ID: 573S]\" + \"\\n\"; \n \n if (origin == \"\" && destination
874
- != \"\") \n fieldList = fieldList + \"Problem with Departure and Arrival
875
- Station/City: Please provide a valid departure and arrival station or city
876
- name and resubmit. \\n[Error ID: 573S]\" + \"\\n\"; \n\n if (fieldList !=
877
- \"\") { \n errorMsg = \"The following information is needed to process
878
- your request:\" + \"\\n\\n\" + fieldList;\n }\n if (errorMsg != \"\") {\n
879
- \ alert(errorMsg);\n return false;\n }\n return true;\n}\n\nfunction
880
- CheckMandatoryMyTripFields(theForm) {\n var errorMsg =\"\";\n var fieldList
881
- = \"\";\n \n if ($('mytrip_res_num').value.empty()) {\n fieldList +=
882
- \" -- reservation number\\n\";\n }\n if ($('mytrip_res_email').value.empty()
883
- && $('mytrip_res_zip').value.empty()) {\n fieldList += \" -- email address
884
- or telephone number\\n\";\n }\n \n if (fieldList != \"\") {\n errorMsg=\"The
885
- following information is needed to process your request:\" + \"\\n\" + fieldList+
886
- \"\\n\\n\";\n alert(errorMsg);\n return false;\n }\n return true;\n}\n\nfunction
887
- CheckMandatoryMyTripFields(theForm) {\n var errorMsg =\"\";\n var fieldList
888
- = \"\";\n \n if ($('mytrip_res_num').value.empty()) {\n fieldList +=
889
- \" -- reservation number\\n\";\n }\n if ($('mytrip_res_email').value.empty()
890
- && $('mytrip_res_zip').value.empty()) {\n fieldList += \" -- email address
891
- or telephone number\\n\";\n }\n \n if (fieldList != \"\") {\n errorMsg=\"The
892
- following information is needed to process your request:\" + \"\\n\" + fieldList+
893
- \"\\n\\n\";\n alert(errorMsg);\n return false;\n }\n return true;\n}\n\nfunction
894
- CheckMandatoryLoginFields(theForm) {\n var errorMsg =\"\";\n var fieldList
895
- = \"\";\n \n if(eval(\"theForm.wdf_username.value\") == \"\") {\n fieldList
896
- += \" -- username\\n\";\n }\n if(eval(\"theForm.wdf_password.value\") ==
897
- \"\") {\n fieldList += \" -- password\\n\";\n }\n \n if (fieldList !=
898
- \"\") {\n errorMsg=\"The following information is needed to process your
899
- request:\" + \"\\n\" + fieldList+ \"\\n\\n\";\n alert(errorMsg);\n return
900
- false;\n }\n return true;\n}\n\n//Aibe-2026,Mac safari issue.\nfunction
901
- updateMaxLength()\n{\n trainNum = document.getElementById('status_train_num');\n
902
- \ trainNum.setAttribute(\"maxLength\", 4);\n}\n\nfunction validatePasswordSize()
903
- {\n var memberPwd = document.getElementById('ff_memberpassword');\n if((memberPwd
904
- != null) && (memberPwd.value != \"\")) {\n \tif ((memberPwd.value.length
905
- < '6') ||\n \t \t(memberPwd.value.length > '29') ) {\n \t return 'The password
906
- you entered is invalid. Please try again or call 1-800-307-5000 for assistance
907
- (Sunday - Saturday, 5 am - midnight ET). [Error ID: 1114R]'; \t\n\t} \n
908
- \ }\n return \"\";\n}\n\nfunction checkRedeemMandatoryFields(theForm) {\n\t
909
- \ var errorMsg =\"\";\n\t var fieldList = \"\";\n\t var origin = document.ff_redeem_form.agrdeparts.value;\n\t
910
- \ var destination = document.ff_redeem_form.agrarrives.value;\n\t var startDate
911
- = document.getElementById('wdfdate15').value;\n\t var memberNo = document.getElementById('ff_membernumber');\n\t
912
- \ var memberPwd = document.getElementById('ff_memberpassword');\n\n\t if
913
- (memberNo != null) { //member number null means login was already validated\n\t
914
- \ \tif (memberNo.value == \"\") {\n\t\t\tfieldList = fieldList + \" -- Member
915
- Number\\n\";\n\t\t}\t\n\t }\n\t \n\t if(memberPwd != null) {//member password
916
- null means login was already validated\n\t \tif (memberPwd.value == \"\")
917
- {\n\t\t fieldList = fieldList + \" -- Member Passsword\\n\";\n\t\t} \n\t
918
- \ }\n\t \n\t if (origin == \"\") {\n\t fieldList = fieldList + \" --
919
- From\\n\";\n\t }\n\n\t if(destination == \"\") {\n\t fieldList = fieldList
920
- + \" -- To\\n\";\n\t }\n\t \n\t if (startDate == \"\" || startDate == 'Select
921
- a date') {\n\t fieldList = fieldList + \" -- Day\\n\";\n\t }\n\n\t if
922
- (fieldList != \"\") {\n\t\terrorMsg=\"The following information is needed
923
- to process your request:\" + \"\\n\" + fieldList+ \"\\n\\n\";\n\t\talert(errorMsg);\n\t\treturn
924
- false;\n\t }\n\t \n\t return fieldList;\n}\n\nfunction checkValidCouponCode(id){\n\n\tvar
925
- errorMsg='';\n\tvar newCouponCode = document.getElementById(id).value;\n\n
926
- \ if(newCouponCode == \"Promo Code\") {\n document.getElementById('ff_disc_promoCode').value
927
- = \"\";\n newCouponCode= \"\"\n } \n\n\tnewCouponCode = trim(newCouponCode);\n\t\n
928
- \ if(newCouponCode == '')\n return true;\n\n var isValidCode =
929
- validateCouponCode(newCouponCode);\n \n if(isValidCode == false) {\n
930
- \ errorMsg = 'Problem with Promotion Code: The Promotion Code you entered
931
- is not valid. Please check for accuracy and re-enter it, or continue without
932
- it. \\n[Error ID: 744S]';\n \n } \n\n if (errorMsg!=\"\"){\n
933
- \ alert(errorMsg);\n return false;\n } else {\n \treturn
934
- true;\n }\n\n}\nfunction trim(s) {\n return s.replace(/^\\s+|\\s+$/g,
935
- \"\");\n}\n\nfunction ValidateStatusDate(id){\n var errMsg=\"\";\n var
936
- mindate = new Date();\n var maxdate = new Date();\n var numberOfDaysToAdd
937
- = +5;\n var numberOfPastDays = -5;\n mindate.setDate(mindate.getDate()
938
- + numberOfPastDays); \n mindate= $j.datepicker.formatDate('mm/dd/yy', mindate);\n
939
- \ maxdate.setDate(maxdate.getDate() + numberOfDaysToAdd); \n maxdate=
940
- $j.datepicker.formatDate('mm/dd/yy', maxdate);\n var depdate=document.getElementById(id).value;\n
941
- \ \n if (depdate != \"\" && validDateRange(mindate,maxdate,depdate) ==
942
- false ){\n \terrMsg = 'Train status information is available only for today\\'s
943
- date, five days in the past, and five days in the future. Please select a
944
- valid date and resubmit.[Error ID: 568S]' ;\n }\n if (null != errMsg
945
- && errMsg != \"\" ) {\n alert(errMsg);\n return false;\n
946
- \ } else {\n return true;\n }\n \n\n}\nfunction ValidateRedeemDate(id){\n
947
- \ var errMsg=\"\";\n var mindate = new Date();\n var newdate = new
948
- Date();\n\tvar numberOfDaysToAdd = '+335d';\n\tnumberOfDaysToAdd = parseInt(numberOfDaysToAdd.replace(/\\D/g,''));\n
949
- \ var mindate= $j.datepicker.formatDate('mm/dd/yy', newdate);\n newdate.setDate(newdate.getDate()
950
- + numberOfDaysToAdd); \n var maxdate= $j.datepicker.formatDate('mm/dd/yy',
951
- newdate);\n var depdate=document.getElementById(\"wdfdate15\").value;\n
952
- \ \n if (depdate != \"\" && validMinDateRange(mindate,depdate) == false
953
- ){\n errMsg = 'Problem with Travel Date: Our system cannot make reservations
954
- for dates in the past. Check your date(s) and try again. [Error ID: 532S]\\n\\n'
955
- ;\n }\n if (depdate != \"\" && validMaxDateRange(maxdate,depdate) ==
956
- false ){\n errMsg = 'Problem with Travel Date: Our system cannot make
957
- reservations for dates more than 11 months in the future. Check your date(s)
958
- and try again. [Error ID: 533S]' ;\n }\n \n if (null != errMsg &&
959
- errMsg != \"\" ) {\n alert(errMsg);\n return false;\n
960
- \ } else {\n return true;\n }\n \n\n}\n\n\n//-->\n</script>\n
961
- \n \n\r\n\r\n<meta name=\"WT.cg_s\" content=\"book\" />\r\n\r\n\r\n\r\n\n<meta
962
- name=\"DCSext.ORG\" content=\"PVD\" />\n<meta name=\"DCSext.DST\" content=\"preencoded:BBY\"
963
- />\n<meta name=\"DCSext.DDT\" content=\"2015/01/03\" />\n<meta name=\"DCSext.PAX\"
964
- content=\"0\" />\n<meta name=\"DCSext.SORT\" content=\"\" />\n<meta name=\"DCSext.PTP\"
965
- content=\"\" />\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n<div id=\"special_booking_menu\">\r\n\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n<style
966
- type=\"text/css\">\r\n<!--\r\n@import url(/css/basic_booking.css?v=1.3);\r\n-->\r\n</style>\r\n\r\n\r\n\r\n<span
967
- id=\"IB_diginet_div\">\r\n\r\n</span>\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n<div
968
- id=\"mb_column_1_confirmation\">\r\n<form name=\"form\" action=\"https://tickets.amtrak.com/itd/amtrak\"
969
- method=\"post\"><input type=\"hidden\" name=\"requestor\" value=\"amtrak.presentation.handler.page.rail.AmtrakRailGetTrainStatusPageHandler\"
970
- />\r\n\r\n\r\n<div id=\"amtrak_error_id\" class=\"error\"><b>We were unable
971
- to process your request:</b> Please correct the error(s) shown below and resubmit.<hr
972
- /><b>Problem with Train Status Date: </b>Train status information is available
973
- only for today&#39;s date, five days in the past, and five days in the future.
974
- Please select a valid date and resubmit. <br>[Error ID: 568S]<hr />Warning:
975
- This site is designed for Internet Explorer, Netscape/Gecko and Opera<br />Some
976
- pages may not display correctly as a result</div>\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<style
977
- type=\"text/css\">\r\n#pagination_bar {\r\nclear:both;\r\npadding-top: 20px;\r\nfont-family:
978
- Arial, Verdana, Helvetica, sans-serif;\r\nsize: 108%;\r\ncolor: #1375b3;\r\n}\r\n#pagination_bar
979
- #pagination_data {\r\nwidth: 49%;\r\nfloat: left;\r\ntext-align: left;\r\npadding-bottom:
980
- 1px;\r\n}\r\n#pagination_bar #pagination_nav {\r\nwidth: 49%;\r\nfloat: right;\r\ntext-align:
981
- right;\r\npadding-bottom: 1px;\r\n}\r\n#pagination_bar #pagination_nav span
982
- {\r\npadding-left: 10px;\r\n}\r\n#pagination_bar #pagination_nav a, #availability_grid
983
- #pagination_bar #pagination_nav a:visited, #availability_grid #pagination_bar
984
- #pagination_nav a:hover {\r\ncolor: #1375b3;\r\n}\r\n#pagination_bar #pagination_nav
985
- a.selected, #availability_grid #pagination_bar #pagination_nav a.selected:visited,
986
- #availability_grid #pagination_bar #pagination_nav a.selected:hover {\r\ncolor:
987
- #ff9933;\r\ntext-decoration: none;\r\ncursor: text;\r\nbackground-color: white;\r\n}\r\n#loadingtrain
988
- {\r\nwidth:100px;\r\nheight: 100px;\r\nposition: fixed;\r\ntop: 50%;\r\nleft:
989
- 60%;\r\nbackground:url(/images/en/superpnr/image_loader_blue.gif) no-repeat
990
- center #fff;\r\ntext-align:center;\r\npadding:10px;\r\nfont:normal 16px Tahoma,
991
- Geneva, sans-serif;\r\nborder:1px solid #666;\r\nmargin-left: -50px;\r\nmargin-top:
992
- -50px;\r\nz-index:2;\r\noverflow: auto;\r\n}\r\n#loadingfailed {\r\nwidth:100px;\r\nheight:
993
- 100px;\r\nposition: fixed;\r\ntop: 50%;\r\nleft: 60%;\r\nbackground:#fff;\r\ntext-align:center;\r\npadding:10px;\r\nfont:normal
994
- 16px Tahoma, Geneva, sans-serif;\r\nborder:1px solid #666;\r\nmargin-left:
995
- -50px;\r\nmargin-top: -50px;\r\nz-index:2;\r\noverflow: auto;\r\n}\r\n#overlay
996
- {\r\nbackground-color:#EEE;\r\n}\r\n.statusalert_icon{\r\nfloat:left;\r\npadding:
997
- 9px 10px 0 10px;\r\n}\r\n.statusalert_icon2{\r\npadding-right:10px;\r\npadding-top:3px;\r\nfloat:left;\r\n}\r\n</style>\r\n<script
998
- language=\"JavaScript\" type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/basic_pagination_trainstatus.js\"></script>\r\n<script
999
- language=\"JavaScript\" type=\"text/javascript\" src=\"/itd/project/scripts/en/amtrak/selecttrain.js\"></script>\r\n<script
1000
- type=\"text/javascript\">\r\nvar pageDisplay = '10';\r\nvar currentPage =
1001
- 0;\r\nvar availabilityLength = '0';\r\nvar trainStatusType = 'statusByCityPair';\r\nvar
1002
- statusResult;\r\nElement.observe(window, 'load', function(){\r\nshow_ff_tab('status');\r\nif(trainStatusType
1003
- == 'statusByTrainNumber') {\r\nswitchToStatusByTrain();\r\n} else if(trainStatusType
1004
- == 'statusByCityPair') {\r\nswitchToStatusByCity();\r\n}\r\nsetDepartOrArrivalFieldVisibility();\r\npageFilterDisplay(availabilityLength);\r\n});\r\n</script>\r\n\r\n\r\n\r\n<meta
1005
- name=\"WT.cg_s\" content=\"status\" />\r\n\n\r\n\r\n\r\n</form>\r\n</div>\r\n<br
1006
- class=\"clear_both\" />\r\n</div>\r\n</div>\r\n</div>\r\n\r\n\t \t\r\n<script
1007
- language=\"JavaScript\">\r\n<!--\r\nfunction getProfileStr(){\r\nreturn 'amtrak';\r\n}\r\ndocument.write('<meta
1008
- name=\"DCSext.PROFILE\" content=\"'+getProfileStr()+'\" />');\r\n// -->\r\n</script>\r\n<meta
1009
- name=\"WT.cg_n\" content=\"booking\" />\r\n\r\n\r\n\t \r\n<!-- START OF
1010
- SmartSource Data Collector TAG -->\r\n<!-- Copyright (c) 1996-2011 WebTrends
1011
- Inc. All rights reserved. -->\r\n<!-- Version: 9.3.0 -->\r\n<!-- Tag Builder
1012
- Version: 3.1 -->\r\n<!-- Created: 2/11/2011 4:14:35 PM -->\r\n<script src=\"/itd/project/scripts/en/sitewise/webtrends_session.js\"
1013
- type=\"text/javascript\"></script>\r\n<!-- -----------------------------------------------------------------------------------
1014
- -->\r\n<!-- Warning: The two script blocks below must remain inline. Moving
1015
- them to an external -->\r\n<!-- JavaScript include file can cause serious
1016
- problems with cross-domain tracking. -->\r\n<!-- -----------------------------------------------------------------------------------
1017
- -->\r\n<script type=\"text/javascript\">\r\n//<![CDATA[\r\nvar _tag=new WebTrends();\r\nvar
1018
- defSiteWiseParams = \"&PROFILE=amtrak&WT.cg_n=booking\";\r\nvar CMS_dcsqry
1019
- = window.location.search + defSiteWiseParams;\r\n//]]>\r\n</script>\r\n<script
1020
- type=\"text/javascript\">\r\n//<![CDATA[\r\n_tag.dcsCustom=function(){\r\n//
1021
- Add custom parameters here.\r\n//_tag.DCSext.param_name=param_value;\r\n}\r\n_tag.dcsCollect();\r\n//]]>\r\n</script>\r\n<noscript>\r\n<div><img
1022
- alt=\"DCSIMG\" id=\"DCSIMG\" width=\"1\" height=\"1\" src=\"http://statse.webtrendslive.com/dcsn42u4k11e5hyzziz7zntl5_1j8l/njs.gif?dcsuri=/nojavascript&amp;WT.js=No&amp;DCS.dcscfg=1&amp;WT.tv=9.3.0&amp;WT.dcssip=www.amtrak.com\"/></div>\r\n</noscript>\r\n<!--
1023
- END OF SmartSource Data Collector TAG -->\r\n\r\n\t \t\r\n \r\n \r\n
1024
- \ \r\n\r\n\r\n<div id=\"forgot_passwordwin\" >\r\n<div id=\"pwdwin_error\"
1025
- class=\"error\"> </div>\r\n<h3>Reset Your Password</h3>\r\n\r\n<div id=\"confirmpwdreset\"
1026
- style=\"display:none;\">\r\n<p>An e-mail with password reset instructions
1027
- is on its way.</p>\r\n</div>\r\n<div id=\"pwdresetsec\">\r\n<p>To receive
1028
- an e-mail that allows you to reset your password, please enter the e-mail
1029
- address associated with your account. </p>\r\n<label for=\"emailaddress\">E-mail
1030
- Address</label><br/>\r\n<input type=\"hidden\" name=\"xwdf_email_address\"
1031
- value=\"/sessionWorkflow/userWorkflow/profilePersonRequirements/primaryEmailAddress\"
1032
- /><input class=\"forgotpwd_emailaddress \" autocomplete=\"off\" type=\"text\"
1033
- size=\"32\" id=\"pwdemailaddress\" maxlength=\"64\" name=\"wdf_email_address\"
1034
- /><br/>\r\n<input type=\"image\" alt=\"\" name=\"_xpath=/sessionWorkflow/userWorkflow/profilePersonRequirements\"
1035
- onclick=\"javascript:sendPasswordReset()\" src=\"/images/en/btn_continue.gif\"
1036
- border=\"0\" />\r\n</div>\r\n\r\n</div>\r\n<script>\r\n<!--\r\nvar closeCrossButton
1037
- = '<a id=\"forgotpassword_close\" class=\"button right_align\" href=\"javascript:closeForgotPwdBox();\"><img
1038
- \ src=\"/images/en/btn_windowClose.png\" alt=\"Close\" /></a>';\r\nfunction
1039
- show_disabledFareAlert() {\r\ndocument.getElementById(\"forgot_passwordwin\").style.display
1040
- = 'block';\r\n}\r\nfunction closeForgotPwdBox() {\r\nvar $j = jQuery.noConflict();\r\n$j(\".ui-dialog-content\").dialog(\"close\");\r\n}\r\nfunction
1041
- openForgotPwdBox() {\r\nvar $j = jQuery.noConflict();\r\n$j( document ).ready(function()
1042
- {\r\n$j( \"#forgot_passwordwin\" ).dialog({\r\nresizable: false,\r\nwidth:100,\r\ndialogClass:'pwdwin',\r\nmodal:
1043
- true\r\n});\r\nif ($('forgotpassword_close') == null) {\r\n$j($('forgot_passwordwin')).before(closeCrossButton);\r\n}\r\n$j(\".ui-dialog\").position({\r\n\"my\":
1044
- \"left top+300\",\r\n\"at\": \"left+400\",\r\n\"of\": $j(\"#top_navigation_body\")\r\n});\r\n$j('#forgotpassword_close').blur();\r\ndocument.getElementById(\"pwdwin_error\").style.display
1045
- = 'none';\r\ndocument.getElementById(\"forgot_passwordwin\" ).style.display
1046
- = 'block';\r\ndocument.getElementById(\"confirmpwdreset\").style.display =
1047
- 'none';\r\ndocument.getElementById(\"pwdresetsec\").style.display = 'block';\r\n});\r\n}\r\nfunction
1048
- sendPasswordReset(){\r\nvar emailaddress = document.getElementById('pwdemailaddress').value;\r\nvar
1049
- url = \"/\" + \"itd/amtrak\" + \"/resetpassword\";\r\ndocument.getElementById(\"pwdwin_error\").innerHTML
1050
- = \"\";\r\ndocument.getElementById(\"pwdwin_error\").style.display = 'none';\r\nnew
1051
- Ajax.Request(url,\r\n{ method: 'post',\r\nparameters: {'emailaddress':emailaddress},\r\nonComplete:
1052
- function (transport) {\r\nif(transport.responseText!='') {\r\nif(transport.responseText
1053
- == 'valid') {\r\ndocument.getElementById(\"pwdresetsec\").style.display =
1054
- 'none';\r\ndocument.getElementById(\"confirmpwdreset\").style.display = 'block';\r\n}
1055
- else {\r\ndocument.getElementById(\"confirmpwdreset\").style.display = 'none';\r\ndocument.getElementById(\"pwdresetsec\").style.display
1056
- = 'block';\r\ndocument.getElementById(\"pwdwin_error\").innerHTML = transport.responseText;\r\ndocument.getElementById(\"pwdwin_error\").style.display
1057
- = 'block';\r\n}\r\n}\r\n},\r\nonFailure: function (transport) {\r\ndocument.getElementById(\"confirmpwdreset\").style.display
1058
- = 'none';\r\n}\r\n});\r\n}\r\n//-->\r\n</script>\r\n\r\n \r\n \r\n\t
1059
- \ \t\r\n\t \t\r\n <!-- javascript for SSO -->\r\n\t <script type=\"text/javascript\">\r\n\t
1060
- \ var agrHost = ((\"https:\"== document.location.protocol) ? \"https://agr.amtrak.com/m/js\":\"http://agr.amtrak.com/m/js\");
1061
- \r\n \t document.write(\r\n unescape(\"%3Cscript
1062
- src='\" + agrHost + \"/shoebox-simple.js' type='text/javascript'%3E%3C/script%3E\")\r\n
1063
- \ );\r\n\t </script>\r\n <!-- mp_trans_remove_start
1064
- --><script type=\"text/javascript\" language=\"javascript\" src='https://askjulie.amtrak.com/ui/includes/NIT.Embed.js'
1065
- id=\"agentScript\"></script><!-- mp_trans_remove_end -->\r\n \r\n \r\n
1066
- \ <script type =\"text/javascript\">_satellite.pageBottom();</script>\r\n
1067
- \ \r\n \r\n \r\n\t \r\n \r\n \r\n
1068
- \ </body> \t\r\n</html>"
1069
- http_version:
1070
- recorded_at: Mon, 04 Jan 2016 02:35:19 GMT
1071
- recorded_with: VCR 2.9.3