You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
655 lines
36 KiB
PHP
655 lines
36 KiB
PHP
<!--AH-Lantern-Form-->
|
|
<script src="https://www.recaptcha.net/recaptcha/enterprise.js?render=6Lf828MhAAAAANNetijCXKwW5ARyhcJ-b1Hhslja"></script>
|
|
<div class="tmbottom">
|
|
<h3 style="font-size: 24px; line-height: 22px;">Chiang Mai CAD Yi Peng Festival 2023 - Secure Your Exclusive Tickets Before They're Gone!</h3>
|
|
<p>
|
|
As the Lantern Festival approaches, all tourism resources are in high demand. We are currently offering two types of services: <br>
|
|
1. Single ticket sales: VIP and standard tickets.<br>
|
|
2. Package: The exclusive <strong>premium ticket</strong> paired with the most <strong>convenient hotel</strong>.
|
|
</p>
|
|
<form id='ticket_form' action="https://www.asiahighlights.com/orders/lantern_save" method="post" >
|
|
<p style=" font-size: 22px;"><strong>Select Date</strong></p>
|
|
<div class="selectHotl" style="margin-bottom: 20px;">
|
|
<div class="optionLable">
|
|
<input type="radio" value="2023-11-27" id="november27th" name="ticket_date">
|
|
<label for="november27th">
|
|
November 27th, 2023
|
|
</label>
|
|
</div>
|
|
<div class="optionLable">
|
|
<input type="radio" value="2023-11-28" checked id="november28th" name="ticket_date">
|
|
<label for="november28th">
|
|
November 28th, 2023
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<p style="font-size: 22px;"><strong>Select Ticket Type</strong></p>
|
|
|
|
<div class="selectHotl" style="margin-bottom: 20px;">
|
|
<div class="optionLable" id="ticket_type_premium">
|
|
<input type="radio" value="Premium+Transfer+Dinner" id="Premium" name="ticket_type">
|
|
<label for="Premium" style="font-size:18px;">
|
|
Premium+Transfer+Dinner
|
|
<div class="selectionMemo">
|
|
US$199
|
|
</div>
|
|
<div id='premium_ticket_left'>0 left</div>
|
|
</label>
|
|
</div>
|
|
<div class="optionLable" id="ticket_type_premium_hotel">
|
|
<input type="radio" value="Premium (+Transfer+Dinner)+ Novotel Hotel" id="Premium_hotel" name="ticket_type">
|
|
<label for="Premium_hotel" style="font-size:18px;">
|
|
Premium <span style="font-size:17px;">(+Transfer+Dinner)</span>+ Novotel Hotel
|
|
<div class="selectionMemo">
|
|
US$ 199 per ticket<br>
|
|
US$100 PRPN
|
|
</div>
|
|
</label>
|
|
</div>
|
|
<div class="optionLable" id="vip_type_premium">
|
|
<input type="radio" value="VIP+Transfer+Dinner" id="VIP" name="ticket_type">
|
|
<label for="VIP" style="font-size:18px;">
|
|
VIP+Transfer+Dinner
|
|
<div class="selectionMemo">
|
|
US$179
|
|
</div>
|
|
<div id='vip_ticket_left'>0 left</div>
|
|
</label>
|
|
</div>
|
|
<div class="optionLable" id="ticket_type_standard">
|
|
<input type="radio" value="Standard+Transfer+Dinner" checked id="Standard" name="ticket_type">
|
|
<label for="Standard" style="font-size:18px;">
|
|
Standard+Transfer+Dinner
|
|
<div class="selectionMemo">
|
|
US$139
|
|
</div>
|
|
<div id='standard_ticket_left'>0 left</div>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div id="hotel_choice" style="display: none">
|
|
<div class="peopleSelect" style="width: auto;">
|
|
<p style="font-size: 22px; margin-bottom: 5px;"><strong>Select the Number of Hotel Room(s)</strong></p>
|
|
<div class="numberBtn">
|
|
<input class="minaddBtn reduce_room" id='minusRoomBtn' type="button" value="-">
|
|
<input class="number" id="hotel_room" readonly="readonly" type="text" value="1" name="hotelrooms">
|
|
<input class="minaddBtn add_room" id='plusRoomBtn' type="button" value="+">
|
|
</div>
|
|
<p style="font-size: 22px; margin-bottom: 5px;"><strong>Select the Length of Stay (Night)</strong></p>
|
|
<div class="numberBtn">
|
|
<input class="minaddBtn reduce_stay" id='minusStayBtn' type="button" value="-">
|
|
<input class="number" id="stay_length" readonly="readonly" type="text" value="1" name="hotelstay">
|
|
<input class="minaddBtn add_stay" id='plusStayBtn' type="button" value="+">
|
|
</div>
|
|
</div>
|
|
<p style="clear: both;">
|
|
|
|
1. Regardless of the quantity of premium tickets required, a minimum of one night's stay in one room at <strong>Novotel Chiang Mai</strong> between November 26th and 29th is required.<br>
|
|
2. The superior room at Novotel Chiang Mai is pricing at US$100 PRPN, include <strong>breakfast</strong> and tax.
|
|
</p>
|
|
</div>
|
|
<p style="font-size: 22px; margin-bottom: 5px;"><strong>Select Ticket Quantity</strong></p>
|
|
<div class="peopleSelect" style="width: auto;">
|
|
<span class="formMemo">
|
|
Adults and older children (8+ years old)
|
|
</span>
|
|
<p style="display: inline-block;">Children under 8 years old enter free; 8-year-olds and above are charged the same as adults.</p>
|
|
<div class="numberBtn" style="width: 60%;">
|
|
<input class="minaddBtn reduceadult" id='minusButton' type="button" value="-">
|
|
<input class="number" id="adultNumberValue" readonly="readonly" type="text" value="1" name="adult">
|
|
<input class="minaddBtn addadult" id='plusButton' type="button" value="+">
|
|
</div>
|
|
</div>
|
|
<div class="payonline_price" style="clear: both;">Total price (ticket + hotel): <strong id="totalPriceText">$122</strong>
|
|
<p style="font-size: 17px; margin-bottom: 0;"><em>* Only premium tickets require a purchase along with accommodation.</em></p>
|
|
</div>
|
|
<p style="margin-top: 50px;"><strong>Please provide correct personal information for your ticket
|
|
booking. Double
|
|
check.</strong></p>
|
|
<input class="FullName" id="ticket_realname" name="fullname"
|
|
placeholder="Your name * (exactly as in your passport)" required="" type="text" value="" />
|
|
<div id="ticket_realname_errmsg" style="display: none">
|
|
<div class="requiredArea" style="margin-top:-10px;">Please enter your name.</div>
|
|
</div>
|
|
<input class="EmailAddress" id="ticket_email" name="email" placeholder="Email *" required="" type="text"
|
|
value="" />
|
|
<div id="ticket_email_errmsg" style="display: none">
|
|
<div class="requiredArea" style="margin-top:-10px;">Please enter your email.</div>
|
|
</div>
|
|
<div id="ticket_email_verify_errmsg" style="display: none">
|
|
<div class="requiredArea" style="margin-top:-10px;">Please verify your email.</div>
|
|
</div>
|
|
<select name="country_code" class="country_code">
|
|
<option style="font-weight: 600;" value="United States +1">United States +1</option>
|
|
<option style="font-weight: 600;" value="United Kingdom +44">United Kingdom +44</option>
|
|
<option style="font-weight: 600;" value="Australia +61">Australia +61</option>
|
|
<option style="font-weight: 600;" value="Canada +1">Canada +1</option>
|
|
<option style="font-weight: 600;" value="France +33">France +33</option>
|
|
<option style="font-weight: 600;" value="Germany +49">Germany +49</option>
|
|
<option style="font-weight: 600; " value="Italy +39">Italy +39</option>
|
|
<option style="font-weight: 600; " value="Mexico +52">Mexico +52</option>
|
|
<option style="font-weight: 600; " value="Netherlands +31">Netherlands +31</option>
|
|
<option style="font-weight: 600; " value="Singapore +65">Singapore +65</option>
|
|
<option value="Afghanistan +93">Afghanistan +93</option>
|
|
<option value="Albania +355">Albania +355</option>
|
|
<option value="Algeria +213">Algeria +213</option>
|
|
<option value="American Samoa +1">American Samoa +1684</option>
|
|
<option value="Andorra +376">Andorra +376</option>
|
|
<option value="Angola +244">Angola +244</option>
|
|
<option value="Anguilla +1">Anguilla +1264</option>
|
|
<option value="Australia +61">Australia +61</option>
|
|
<option value="Antigua and Barbuda +1">Antigua and Barbuda +1268</option>
|
|
<option value="Argentina +54">Argentina +54</option>
|
|
<option value="Armenia +374">Armenia +374</option>
|
|
<option value="Aruba +297">Aruba +297</option>
|
|
<option value="Ascension Island +247">Ascension Island +247</option>
|
|
<option value="Austria +43">Austria +43</option>
|
|
<option value="Azerbaijan +994">Azerbaijan +994</option>
|
|
<option value="Bahamas +1">Bahamas +1242</option>
|
|
<option value="Bahrain +973">Bahrain +973</option>
|
|
<option value="Bangladesh +880">Bangladesh +880</option>
|
|
<option value="Barbados +1">Barbados +1246</option>
|
|
<option value="Belarus +375">Belarus +375</option>
|
|
<option value="Belgium +32">Belgium +32</option>
|
|
<option value="Belize +501">Belize +501</option>
|
|
<option value="Benin +229">Benin +229</option>
|
|
<option value="Bermuda +1">Bermuda +1441</option>
|
|
<option value="Bhutan +975">Bhutan +975</option>
|
|
<option value="Bolivia +591">Bolivia +591</option>
|
|
<option value="Bosnia and Herzegovina +387">Bosnia and Herzegovina +387</option>
|
|
<option value="Botswana +267">Botswana +267</option>
|
|
<option value="Brazil +55">Brazil +55</option>
|
|
<option value="British Indian Ocean Territory +246">British Indian Ocean Territory +246</option>
|
|
<option value="British Virgin Islands +1">British Virgin Islands +1284</option>
|
|
<option value="Brunei +673">Brunei +673</option>
|
|
<option value="Bulgaria +359">Bulgaria +359</option>
|
|
<option value="Burkina Faso +226">Burkina Faso +226</option>
|
|
<option value="Burundi +257">Burundi +257</option>
|
|
<option value="Cambodia +855">Cambodia +855</option>
|
|
<option value="Cameroon +237">Cameroon +237</option>
|
|
<option value="Canada +1">Canada +1</option>
|
|
<option value="Cape Verde +238">Cape Verde +238</option>
|
|
<option value="Caribbean Netherlands +599">Caribbean Netherlands +599</option>
|
|
<option value="Cayman Islands +1">Cayman Islands +1345</option>
|
|
<option value="Central African Republic +236">Central African Republic +236</option>
|
|
<option value="Chad +235">Chad +235</option>
|
|
<option value="Chile +56">Chile +56</option>
|
|
<option value="China +86">China +86</option>
|
|
<option value="Christmas Island +61">Christmas Island +6189164</option>
|
|
<option value="Cocos Islands +61">Cocos Islands +6189162</option>
|
|
<option value="Colombia +57">Colombia +57</option>
|
|
<option value="Comoros +269">Comoros +269</option>
|
|
<option value="Congo +243">Congo (DRC) +243</option>
|
|
<option value="Congo +242">Congo (Republic) +242</option>
|
|
<option value="Cook Islands +682">Cook Islands +682</option>
|
|
<option value="Costa Rica +506">Costa Rica +506</option>
|
|
<option value="Côte d'Ivoire +225">Côte d'Ivoire +225</option>
|
|
<option value="Croatia +385">Croatia +385</option>
|
|
<option value="Cuba +53">Cuba +53</option>
|
|
<option value="Curaçao +599">Curaçao +599</option>
|
|
<option value="Cyprus +357">Cyprus +357</option>
|
|
<option value="Czech Republic +420">Czech Republic +420</option>
|
|
<option value="Denmark +45">Denmark +45</option>
|
|
<option value="Djibouti +253">Djibouti +253</option>
|
|
<option value="Dominica +1">Dominica +1767</option>
|
|
<option value="Dominican Republic +1">Dominican Republic +1809</option>
|
|
<option value="Ecuador +593">Ecuador +593</option>
|
|
<option value="Egypt +20">Egypt +20</option>
|
|
<option value="El Salvador +503">El Salvador +503</option>
|
|
<option value="Equatorial Guinea +240">Equatorial Guinea +240</option>
|
|
<option value="Eritrea +291">Eritrea +291</option>
|
|
<option value="Estonia +372">Estonia +372</option>
|
|
<option value="Eswatini +268">Eswatini +268</option>
|
|
<option value="Ethiopia +251">Ethiopia +251</option>
|
|
<option value="Falkland Islands +500">Falkland Islands +500</option>
|
|
<option value="Faroe Islands +298">Faroe Islands +298</option>
|
|
<option value="Fiji +679">Fiji +679</option>
|
|
<option value="Finland +358">Finland +358</option>
|
|
<option value="France +33">France +33</option>
|
|
<option value="French Guiana +594">French Guiana +594</option>
|
|
<option value="French Polynesia +689">French Polynesia +689</option>
|
|
<option value="Gabon +241">Gabon +241</option>
|
|
<option value="Gambia +220">Gambia +220</option>
|
|
<option value="Georgia +995">Georgia +995</option>
|
|
<option value="Germany +49">Germany +49</option>
|
|
<option value="Ghana +233">Ghana +233</option>
|
|
<option value="Gibraltar +350">Gibraltar +350</option>
|
|
<option value="Greece +30">Greece +30</option>
|
|
<option value="Greenland +299">Greenland +299</option>
|
|
<option value="Grenada +1">Grenada +1473</option>
|
|
<option value="Guadeloupe +590">Guadeloupe +590</option>
|
|
<option value="Guam +1">Guam +1671</option>
|
|
<option value="Guatemala +502">Guatemala +502</option>
|
|
<option value="Guernsey +44">Guernsey +441481</option>
|
|
<option value="Guinea +224">Guinea +224</option>
|
|
<option value="Guinea-Bissau +245">Guinea-Bissau +245</option>
|
|
<option value="Guyana +592">Guyana +592</option>
|
|
<option value="Haiti +509">Haiti +509</option>
|
|
<option value="Honduras +504">Honduras +504</option>
|
|
<option value="Hong Kong +852">Hong Kong +852</option>
|
|
<option value="Hungary +36">Hungary +36</option>
|
|
<option value="Iceland +354">Iceland +354</option>
|
|
<option value="India +91">India +91</option>
|
|
<option value="Indonesia +62">Indonesia +62</option>
|
|
<option value="Iran +98">Iran +98</option>
|
|
<option value="Iraq +964">Iraq +964</option>
|
|
<option value="Ireland +353">Ireland +353</option>
|
|
<option value="Isle of Man +44">Isle of Man +44</option>
|
|
<option value="Israel +972">Israel +972</option>
|
|
<option value="Italy +39">Italy +39</option>
|
|
<option value="Jamaica +1">Jamaica +1876</option>
|
|
<option value="Japan +81">Japan +81</option>
|
|
<option value="Jersey +44">Jersey +44</option>
|
|
<option value="Jordan +962">Jordan +962</option>
|
|
<option value="Kazakhstan +7">Kazakhstan +7</option>
|
|
<option value="Kenya +254">Kenya +254</option>
|
|
<option value="Kiribati +686">Kiribati +686</option>
|
|
<option value="Kosovo +383">Kosovo +383</option>
|
|
<option value="Kuwait +965">Kuwait +965</option>
|
|
<option value="Kyrgyzstan +996">Kyrgyzstan +996</option>
|
|
<option value="Laos +856">Laos +856</option>
|
|
<option value="Latvia +371">Latvia +371</option>
|
|
<option value="Lebanon +961">Lebanon +961</option>
|
|
<option value="Lesotho +266">Lesotho +266</option>
|
|
<option value="Liberia +231">Liberia +231</option>
|
|
<option value="Libya +218">Libya +218</option>
|
|
<option value="Liechtenstein +423">Liechtenstein +423</option>
|
|
<option value="Lithuania +370">Lithuania +370</option>
|
|
<option value="Luxembourg +352">Luxembourg +352</option>
|
|
<option value="Macau +853">Macau +853</option>
|
|
<option value="Macedonia +389">Macedonia +389</option>
|
|
<option value="Madagascar +261">Madagascar +261</option>
|
|
<option value="Malawi +265">Malawi +265</option>
|
|
<option value="Malaysia +60">Malaysia +60</option>
|
|
<option value="Maldives +960">Maldives +960</option>
|
|
<option value="Mali +223">Mali +223</option>
|
|
<option value="Malta +356">Malta +356</option>
|
|
<option value="Marshall +692">Marshall Islands +692</option>
|
|
<option value="Martinique +596">Martinique +596</option>
|
|
<option value="Mauritania +222">Mauritania +222</option>
|
|
<option value="Mauritius +230">Mauritius +230</option>
|
|
<option value="Mayotte +262">Mayotte +262</option>
|
|
<option value="Micronesia +691">Micronesia +691</option>
|
|
<option value="Moldova +373">Moldova +373</option>
|
|
<option value="Monaco +377">Monaco +377</option>
|
|
<option value="Mongolia +976">Mongolia +976</option>
|
|
<option value="Montenegro +382">Montenegro +382</option>
|
|
<option value="Montserrat +1">Montserrat +1664</option>
|
|
<option value="Morocco +212">Morocco +212</option>
|
|
<option value="Mozambique +258">Mozambique +258</option>
|
|
<option value="Myanmar +95">Myanmar +95</option>
|
|
<option value="Namibia +264">Namibia +264</option>
|
|
<option value="Nauru +674">Nauru +674</option>
|
|
<option value="Nepal +977">Nepal +977</option>
|
|
<option value="New Caledonia +687">New Caledonia +687</option>
|
|
<option value="New Zealand +64">New Zealand +64</option>
|
|
<option value="Nicaragua +505">Nicaragua +505</option>
|
|
<option value="Niger +227">Niger +227</option>
|
|
<option value="Nigeria +234">Nigeria +234</option>
|
|
<option value="Niue +683">Niue +683</option>
|
|
<option value="Norfolk Island +672">Norfolk Island +6723</option>
|
|
<option value="North Korea +850">North Korea +850</option>
|
|
<option value="Northern Mariana Islands +1">Northern Mariana Islands +1670</option>
|
|
<option value="Norway +47">Norway +47</option>
|
|
<option value="Oman +968">Oman +968</option>
|
|
<option value="Pakistan +92">Pakistan +92</option>
|
|
<option value="Palau +680">Palau +680</option>
|
|
<option value="Palestine +970">Palestine +970</option>
|
|
<option value="Panama +507">Panama +507</option>
|
|
<option value="Papua New Guinea 675">Papua New Guinea +675</option>
|
|
<option value="Paraguay +595">Paraguay +595</option>
|
|
<option value="Peru +51">Peru +51</option>
|
|
<option value="Philippines +63">Philippines +63</option>
|
|
<option value="Poland +48">Poland +48</option>
|
|
<option value="Portugal +351">Portugal +351</option>
|
|
<option value="Puerto Rico +1">Puerto Rico +1787</option>
|
|
<option value="Qatar +974">Qatar +974</option>
|
|
<option value="Réunion +262">Réunion +262</option>
|
|
<option value="Romania +40">Romania +40</option>
|
|
<option value="Russia +7">Russia +7</option>
|
|
<option value="Rwanda +250">Rwanda +250</option>
|
|
<option value="Saint Barthélemy +590">Saint Barthélemy +590</option>
|
|
<option value="Saint Helena +290">Saint Helena +290</option>
|
|
<option value="Saint Kitts and Nevis +1">Saint Kitts and Nevis +1869</option>
|
|
<option value="Saint Lucia +1">Saint Lucia +1758</option>
|
|
<option value="Saint Martin +590">Saint Martin +590</option>
|
|
<option value="Saint Pierre and Miquelon +508">Saint Pierre and Miquelon +508</option>
|
|
<option value="Saint Vincent and the Grenadines +1">Saint Vincent and the Grenadines +1784</option>
|
|
<option value="Samoa +685">Samoa +685</option>
|
|
<option value="San Marino +378">San Marino +378</option>
|
|
<option value="São Tomé and Príncipe +239">São Tomé and Príncipe +239</option>
|
|
<option value="Saudi Arabia +966">Saudi Arabia +966</option>
|
|
<option value="Senegal +221">Senegal +221</option>
|
|
<option value="Serbia +381">Serbia +381</option>
|
|
<option value="Seychelles +248">Seychelles +248</option>
|
|
<option value="Sierra Leone +232">Sierra Leone +232</option>
|
|
<option value="Sint Maarten +1">Sint Maarten +1721</option>
|
|
<option value="Slovakia +421">Slovakia +421</option>
|
|
<option value="Slovenia +386">Slovenia +386</option>
|
|
<option value="Solomon Islands +677">Solomon Islands +677</option>
|
|
<option value="Somalia +252">Somalia +252</option>
|
|
<option value="South Africa +27">South Africa +27</option>
|
|
<option value="South Korea +82">South Korea +82</option>
|
|
<option value="South Sudan +211">South Sudan +211</option>
|
|
<option value="Spain +34">Spain +34</option>
|
|
<option value="Sri Lanka +94">Sri Lanka +94</option>
|
|
<option value="Sudan +249">Sudan +249</option>
|
|
<option value="Suriname">Suriname +597</option>
|
|
<option value="Svalbard and Jan Mayen +47">Svalbard and Jan Mayen +47</option>
|
|
<option value="Sweden +46">Sweden +46</option>
|
|
<option value="Switzerland +41">Switzerland +41</option>
|
|
<option value="Syria +963">Syria +963</option>
|
|
<option value="Taiwan +886">Taiwan +886</option>
|
|
<option value="Tajikistan +992">Tajikistan +992</option>
|
|
<option value="Tanzania +255">Tanzania +255</option>
|
|
<option value="Thailand +66">Thailand +66</option>
|
|
<option value="Timor-Leste +670">Timor-Leste +670</option>
|
|
<option value="Togo +228">Togo +228</option>
|
|
<option value="Tokelau +690">Tokelau +690</option>
|
|
<option value="Tonga +676">Tonga +676</option>
|
|
<option value="Trinidad and Tobago +1">Trinidad and Tobago +1868</option>
|
|
<option value="Tunisia +216">Tunisia +216</option>
|
|
<option value="Turkey +90">Turkey +90</option>
|
|
<option value="Turkmenistan +993">Turkmenistan +993</option>
|
|
<option value="Turks and Caicos Islands +1">Turks and Caicos Islands +1649</option>
|
|
<option value="Tuvalu +688">Tuvalu +688</option>
|
|
<option value="U.S. Virgin Islands +1">U.S. Virgin Islands +1340</option>
|
|
<option value="Uganda +256">Uganda +256</option>
|
|
<option value="Ukraine +380">Ukraine +380</option>
|
|
<option value="United Arab Emirates +971">United Arab Emirates +971</option>
|
|
<option value="United Kingdom +44">United Kingdom +44</option>
|
|
<option value="United States +1">United States +1</option>
|
|
<option value="Uruguay +598">Uruguay +598</option>
|
|
<option value="Uzbekistan +998">Uzbekistan +998</option>
|
|
<option value="Vanuatu +678">Vanuatu +678</option>
|
|
<option value="Vatican City +39">Vatican City +379</option>
|
|
<option value="Venezuela +58">Venezuela +58</option>
|
|
<option value="Vietnam +84">Vietnam +84</option>
|
|
<option value="Wallis and Futuna +681">Wallis and Futuna +681</option>
|
|
<option value="Western Sahara +212">Western Sahara +21228</option>
|
|
<option value="Yemen +967">Yemen +967</option>
|
|
<option value="Zambia +260">Zambia +260</option>
|
|
<option value="Zimbabwe +263">Zimbabwe +263</option>
|
|
<option value="Åland Islands +385">Åland Islands +35818</option>
|
|
</select>
|
|
<input class="Inquiryphone" id="ticket_PhoneNo" name="PhoneNo"
|
|
placeholder="Phone number *" type="tel" value="" />
|
|
|
|
<div id="ticket_contact_errmsg" style="display: none">
|
|
<div class="requiredArea" style="margin-top:-10px;">Please enter your phone number.</div>
|
|
</div>
|
|
<textarea name="other_travelers_names" placeholder="For booking two/or more tickets, please fill in other traveler name(s) here: (per passport, e.g. Smith Sarah Jean)"></textarea>
|
|
<textarea name="additional_requirements"
|
|
placeholder="If you have other requirements such as hotel booking, customized guided tour, private transport, or a full tour package, please let us know .... (optional)"
|
|
></textarea>
|
|
|
|
<p style="
|
|
margin-top: 0;
|
|
margin-bottom: 10px;
|
|
padding: 0;
|
|
">I prefer to be contacted via:</p>
|
|
|
|
<div class="checkYes">
|
|
<input type="checkbox" value="yes" name="contact_via_whatsapp" id="whatsapp" class="checkBorder" >
|
|
<label for="whatsapp">WhatsApp</label>
|
|
</div>
|
|
<div class="checkYes">
|
|
<input type="checkbox" value="yes" name="contact_via_iMessage" id="iMessage" class="checkBorder" >
|
|
<label for="iMessage">iMessage</label>
|
|
</div>
|
|
<div class="checkYes">
|
|
<input type="checkbox" value="yes" name="contact_via_phone_call" id="Phone" class="checkBorder" >
|
|
<label for="Phone">Phone call</label>
|
|
</div>
|
|
<div class="checkYes">
|
|
<input type="checkbox" value="yes" name="contact_via_email" id="Email" class="checkBorder" >
|
|
<label for="Email">Email</label>
|
|
</div>
|
|
<div class="checkYes">
|
|
<input type="checkbox" value="yes" name="contact_via_video_appointment" id="Video" class="checkBorder" >
|
|
<label for="Video">Video appointment</label>
|
|
</div>
|
|
|
|
<input name="total_price" id="totalPriceHidden" type="hidden" value="10000" />
|
|
<input name="product_code" id="cli_no" type="hidden" value="YDFW-AH"/>
|
|
<input name="itinerary" type="hidden" value="<?php echo $information->ic_title; ?>" />
|
|
<button class="sendButton" id="submit_ticket_button" name="submit_ticket_form"
|
|
type="button">Proceed to Payment</button>
|
|
|
|
</form>
|
|
</div>
|
|
<script>
|
|
function calcTotalPrice() {
|
|
var ticketTotalPrice = ticketPrice * adultNumberValue;
|
|
if (adultNumberValue >= 10) {
|
|
ticketTotalPrice = ticketTotalPrice * 0.95;
|
|
}
|
|
|
|
// Premium Hotel 票要选酒店 100 美金/间/夜
|
|
var hotelTotalPrice = 0;
|
|
if (selectedTicketType === 'Premium_hotel') {
|
|
hotelTotalPrice = 100 * hotelRoomValue * stayLengthValue;
|
|
}
|
|
|
|
var totalPrice = ticketTotalPrice + hotelTotalPrice;
|
|
|
|
if (!Number.isInteger(totalPrice)) {
|
|
totalPrice = totalPrice.toFixed(2);
|
|
}
|
|
|
|
totalPriceText.innerText = '$' + totalPrice;
|
|
totalPriceHidden.value = totalPrice;
|
|
}
|
|
var adultNumberNode = document.getElementById("adultNumberValue");
|
|
var hotelRoomNode = document.getElementById("hotel_room");
|
|
var stayLengthNode = document.getElementById("stay_length");
|
|
var ticketTypeList = document.querySelectorAll("input[name='ticket_type']");
|
|
var totalPriceText = document.getElementById("totalPriceText");
|
|
var totalPriceHidden = document.getElementById("totalPriceHidden");
|
|
var hotelChoiceBlock = document.getElementById("hotel_choice");
|
|
|
|
var adultNumberValue = parseInt(adultNumberNode.value);
|
|
var hotelRoomValue = parseInt(hotelRoomNode.value);
|
|
var stayLengthValue = parseInt(stayLengthNode.value);
|
|
var ticketPrice = 139;
|
|
var selectedTicketDate = '';
|
|
var selectedTicketType = '';
|
|
calcTotalPrice();
|
|
for (var i = 0; i < ticketTypeList.length; i++) {
|
|
var ticketTypeNode = ticketTypeList[i];
|
|
ticketTypeNode.addEventListener('click', function (event) {
|
|
var currentTarget = event.currentTarget;
|
|
selectedTicketType = currentTarget.id;
|
|
var adultNumberValue = parseInt(adultNumberNode.value);
|
|
if (selectedTicketType === 'Premium') {
|
|
ticketPrice = 199;
|
|
} else if (selectedTicketType === 'Premium_hotel') {
|
|
ticketPrice = 199;
|
|
} else if (selectedTicketType === 'VIP') {
|
|
ticketPrice = 179;
|
|
} else if (selectedTicketType === 'Standardr') {
|
|
ticketPrice = 139;
|
|
}
|
|
|
|
if (selectedTicketType === 'Premium_hotel') {
|
|
hotelChoiceBlock.style.display = '';
|
|
} else {
|
|
hotelChoiceBlock.style.display = 'none';
|
|
}
|
|
calcTotalPrice();
|
|
});
|
|
}
|
|
|
|
var ticketDateList = document.querySelectorAll("input[name='ticket_date']");
|
|
var ticketTypePremium = document.getElementById("ticket_type_premium");
|
|
var vipTypePremium = document.getElementById("vip_type_premium");
|
|
var ticketTypeStandard = document.getElementById("ticket_type_standard");
|
|
|
|
var premiumOption = document.getElementById("Premium");
|
|
var vipOption = document.getElementById("VIP");
|
|
var standardOption = document.getElementById("Standard");
|
|
|
|
var premiumTicketLeft = document.getElementById("premium_ticket_left");
|
|
var vipTicketLeft = document.getElementById("vip_ticket_left");
|
|
var standardTicketLeft = document.getElementById("standard_ticket_left");
|
|
setNovember28thTicketLeft();
|
|
|
|
ticketTypePremium.style.display = 'none';
|
|
|
|
for (var i = 0; i < ticketDateList.length; i++) {
|
|
var ticketDateNode = ticketDateList[i];
|
|
ticketDateNode.addEventListener('click', function (event) {
|
|
var currentTarget = event.currentTarget;
|
|
selectedTicketDate = currentTarget.id;
|
|
if (currentTarget.id === 'november27th') {
|
|
ticketTypeStandard.style.display = 'none';
|
|
vipTypePremium.style.display = 'none';
|
|
// standardOption.disabled = true;
|
|
setNovember27thTicketLeft();
|
|
} else { // november28th
|
|
// ticketTypePremium.style.display = '';
|
|
ticketTypeStandard.style.display = '';
|
|
vipTypePremium.style.display = '';
|
|
// standardOption.disabled = false;
|
|
setNovember28thTicketLeft();
|
|
}
|
|
|
|
if (selectedTicketType === 'Premium_hotel') {
|
|
hotelChoiceBlock.style.display = '';
|
|
} else {
|
|
hotelChoiceBlock.style.display = 'none';
|
|
}
|
|
});
|
|
}
|
|
|
|
function setNovember27thTicketLeft() {
|
|
premiumTicketLeft.innerText = '30 left';
|
|
vipTicketLeft.innerText = '14 left';
|
|
standardTicketLeft.innerText = '0 left';
|
|
}
|
|
|
|
function setNovember28thTicketLeft() {
|
|
premiumTicketLeft.innerText = '35 left';
|
|
vipTicketLeft.innerText = '198 left';
|
|
standardTicketLeft.innerText = '149 left';
|
|
}
|
|
var plusButton = document.getElementById("plusButton");
|
|
var minusButton = document.getElementById("minusButton");
|
|
plusButton.addEventListener('click', function (event) {
|
|
adultNumberValue = parseInt(adultNumberNode.value) + 1;
|
|
adultNumberNode.value = adultNumberValue;
|
|
calcTotalPrice();
|
|
});
|
|
minusButton.addEventListener('click', function (event) {
|
|
var beforeValue = parseInt(adultNumberNode.value);
|
|
if (beforeValue > 1) {
|
|
adultNumberValue = beforeValue - 1;
|
|
adultNumberNode.value = adultNumberValue;
|
|
calcTotalPrice();
|
|
}
|
|
});
|
|
var plusRoomBtn = document.getElementById("plusRoomBtn");
|
|
var minusRoomBtn = document.getElementById("minusRoomBtn");
|
|
var plusStayBtn = document.getElementById("plusStayBtn");
|
|
var minusStayBtn = document.getElementById("minusStayBtn");
|
|
plusRoomBtn.addEventListener('click', function (event) {
|
|
hotelRoomValue = parseInt(hotelRoomNode.value) + 1;
|
|
hotelRoomNode.value = hotelRoomValue;
|
|
calcTotalPrice();
|
|
});
|
|
minusRoomBtn.addEventListener('click', function (event) {
|
|
var beforeValue = parseInt(hotelRoomNode.value);
|
|
if (beforeValue > 1) {
|
|
hotelRoomValue = beforeValue - 1;
|
|
hotelRoomNode.value = hotelRoomValue;
|
|
calcTotalPrice();
|
|
}
|
|
});
|
|
plusStayBtn.addEventListener('click', function (event) {
|
|
stayLengthValue = parseInt(stayLengthNode.value) + 1;
|
|
stayLengthNode.value = stayLengthValue;
|
|
calcTotalPrice();
|
|
});
|
|
minusStayBtn.addEventListener('click', function (event) {
|
|
var beforeValue = parseInt(stayLengthNode.value);
|
|
if (beforeValue > 1) {
|
|
stayLengthValue = beforeValue - 1;
|
|
stayLengthNode.value = stayLengthValue;
|
|
calcTotalPrice();
|
|
}
|
|
});
|
|
</script>
|
|
<script>
|
|
var submit_ticket_button = document.getElementById("submit_ticket_button");
|
|
var ticket_form = document.getElementById("ticket_form");
|
|
|
|
submit_ticket_button.addEventListener('click', function (event) {
|
|
var validateResult = validateTicketForm();
|
|
if (validateResult) {
|
|
if (typeof (grecaptcha) === "undefined") {
|
|
console.warn('grecaptcha is disabled.');
|
|
ticket_form.submit();
|
|
} else {
|
|
grecaptcha.enterprise.ready(async () => {
|
|
const token = await grecaptcha.enterprise.execute('6Lf828MhAAAAANNetijCXKwW5ARyhcJ-b1Hhslja', { action: 'ADD_TO_CART' });
|
|
var el = document.createElement("input");
|
|
el.type = "hidden";
|
|
el.name = "__grecaptcha_token__";
|
|
el.value = token;
|
|
ticket_form.appendChild(el);
|
|
ticket_form.submit();
|
|
submit_ticket_button.innerText = "Submitted successfully";
|
|
});
|
|
}
|
|
}
|
|
});
|
|
function validateTicketForm() {
|
|
var result = true;
|
|
var realnameVal = document.getElementById("ticket_realname").value;
|
|
var emailVal = document.getElementById("ticket_email").value;
|
|
var contactVal = document.getElementById("ticket_PhoneNo").value;
|
|
|
|
var realnameErrEl = document.getElementById("ticket_realname_errmsg");
|
|
var emailErrEl = document.getElementById("ticket_email_errmsg");
|
|
var emailVerifyErrEl = document.getElementById("ticket_email_verify_errmsg");
|
|
var contactErrEl = document.getElementById("ticket_contact_errmsg");
|
|
|
|
realnameErrEl.style.display = 'none';
|
|
emailErrEl.style.display = 'none';
|
|
emailVerifyErrEl.style.display = 'none';
|
|
contactErrEl.style.display = 'none';
|
|
|
|
if (realnameVal === '') {
|
|
realnameErrEl.style.display = '';
|
|
result = false;
|
|
}
|
|
if (emailVal === '') {
|
|
emailErrEl.style.display = '';
|
|
result = false;
|
|
} else {
|
|
var emailPattern = /^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/;
|
|
if (!emailPattern.test(emailVal)) {
|
|
emailVerifyErrEl.style.display = '';
|
|
result = false;
|
|
}
|
|
}
|
|
if (contactVal === '') {
|
|
contactErrEl.style.display = '';
|
|
result = false;
|
|
}
|
|
return result;
|
|
}
|
|
</script>
|
|
<style>
|
|
#hotel_choice { display: inline-block;}
|
|
.selectionMemo {
|
|
font-size: 18px;
|
|
line-height: 17px;
|
|
}
|
|
@media (min-width: 751px){
|
|
.optionLable {
|
|
width: 31.8%;
|
|
}}
|
|
</style>
|
|
|
|
<!--AH-Lantern-From--> |