amtrak 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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=11%2F06%2F2014&%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=000065tHVGUGHER9esd8VnxZg3P:186s7u8kg; 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:23 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=\"11/06/2014\" /><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=\"11/06/2014\" /><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=\"11/06/2014\" /><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=\"11/06/2014\" /><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=\"2014/11/06\" />\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:23 GMT
1071
- recorded_with: VCR 2.9.3