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.
information-system/application/views/mobile_first/htravel-lantern-form-2025.php

623 lines
36 KiB
PHTML

<!--lantern-form start-->
<script src="https://www.recaptcha.net/recaptcha/enterprise.js?render=6Lf828MhAAAAANNetijCXKwW5ARyhcJ-b1Hhslja"></script>
<div class="tmbottom">
<h3 style="font-size: 24px; line-height: 22px; font-family: Calibri;margin-top: 60px;">Chiang Mai CAD Yi Peng Festival 2025 Ticket Booking</h3>
<form id='ticket_form' action="https://www.asiahighlights.com/orders/lantern_save" method="post" >
<p style="font-size: 20px; margin-bottom: 15px;"><strong>Choose a Date:</strong></p>
<div class="selectHotl" style="margin-bottom: 20px;" id="ticket_date_november15th">
<div class="optionLable">
2 years ago
<input type="radio" value="2025-11-5" checked id="november15th" name="ticket_date">
<label for="november15th">
November 5th, 2025
</label>
</div>
<div class="optionLable" id="ticket_date_november16th">
2 years ago
<input type="radio" value="2025-11-6" id="november16th" name="ticket_date">
<label for="november16th">
November 6th, 2025
</label>
</div>
</div>
<p style="font-size: 20px; margin-bottom: 15px;"><strong>Select a Ticket Type:</strong></p>
<div class="selectHotl" style="margin-bottom: 20px;">
<div class="optionLable" id="ticket_type_premium_khomloy">
11 months ago
<input type="radio" value="Premium+Transfer+Dinner" checked id="premium_khomloy" data-price="229" name="ticket_type">
<label for="premium_khomloy" style="font-size:18px;">
Premium+Transfer+Dinner
<div class="selectionMemo">
11 months ago
US$229
</div>
</label>
</div>
<div class="optionLable" id="ticket_type_vip_khomloy">
11 months ago
<input type="radio" value="VIP+Transfer+Dinner" id="vip_khomloy" data-price="209" name="ticket_type">
<label for="vip_khomloy" style="font-size:18px;">
VIP+Transfer+Dinner
<div class="selectionMemo">
11 months ago
US$209
</div>
</label>
</div>
<div class="optionLable" id="ticket_type_standard_khomloy">
11 months ago
<input type="radio" value="Standard+Transfer+Dinner" id="standard_khomloy" data-price="169" name="ticket_type">
<label for="standard_khomloy" style="font-size:18px;">
Standard+Transfer+Dinner
<div class="selectionMemo">
11 months ago
US$169
</div>
</label>
</div>
<div class="optionLable" id="ticket_type_standard_khomloy">
11 months ago
<input type="radio" value="Premium+Dinner+Exclusive Transfer+Thai Costume" id="premium_costume" data-price="369" name="ticket_type">
<label for="premium_costume" style="font-size:18px;">
12 months ago
Premium+Thai Costume<br>+Exclusive Transfer+Dinner
<div class="selectionMemo">
11 months ago
US$369
</div>
</label>
</div>
</div>
<div id="ticket_type_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please select at least one option.</div>
</div>
<p style="font-size: 20px;margin-bottom: 5px; margin-top: 10px;"><strong>Quantity:</strong> Adults & children (8+) Free for under 8</p>
<div class="peopleSelect" style="width: auto;">
<div class="numberBtn">
<input class="minaddBtn reduceadult" id='minusButton' type="button" value="-">
<input class="number" id="adultNumberValue" readonly="readonly" type="text" value="1"
name="adult" style="width: 50px;
height: 22px;
top: -5px;
position: relative;
text-align: center;
font-size: 20px;">
<input class="minaddBtn addadult" id='plusButton' type="button" value="+">
</div>
</div>
1 year ago
<div style="clear: both;
display: inline-block;
border: 3px dashed #d1d1d1;
border-radius: 10px;
padding: 10px 10px 0px 10px;
width: calc(100% - 30px);
background: #fff;margin-top: 15px; margin-bottom: 20px; display: none;">
<p style=" font-size: 19px;
margin-bottom: 5px;
font-style: italic;
clear: both;"><strong>Exclusive Add-on:</strong> Thai Costume with Makeup & Hairstyle <span style="color: #ad1818;">US$119 per person</span></p>
<div class="numberBtn">
<input class="minaddBtn reduceadult" id='minusButton_makeup' type="button" value="-">
<input class="number" id="makeupNumberValue" readonly="readonly" type="text" value="0"
name="makeupNumber" style="width: 50px;
height: 22px;
top: -5px;
position: relative;
text-align: center;
font-size: 20px;">
<input class="minaddBtn addadult" id='plusButton_makeup' type="button" value="+">
</div>
</div>
2 years ago
<div class="payonline_price">Total price: <strong id="totalPriceText">$149</strong></div>
<p style=" margin-top: 30px;
margin-bottom: 10px;"><strong>Please provide correct personal info. Double check.</strong></p>
<input class="FullName" id="ticket_realname" name="fullname"
placeholder="Your name * (exactly per 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" id="country_code">
12 months ago
<option value="Afghanistan +93">Afghanistan    +93</option>
<option value="Albania +355">Albania    +355</option>
<option value="Algeria +213">Algeria   +213</option>
<option value="Andorra +376">Andorra   +376</option>
<option value="Angola +244">Angola   +244</option>
<option value="Anguilla +1264">Anguilla   +1264</option>
<option value="Australia +61">Australia   +61</option>
<option value="Antigua and Barbuda +1268">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 +1242">Bahamas   +1242</option>
<option value="Bahrain +973">Bahrain   +973</option>
<option value="Bangladesh +880">Bangladesh   +880</option>
<option value="Barbados +1246">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 +1441">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 +1284">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 +001">Canada   +001</option>
12 months ago
<option value="Cape Verde +238">Cape Verde   +238</option>
<option value="Caribbean Netherlands +599">Caribbean Netherlands   +599</option>
<option value="Cayman Islands +1345">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 +6189164">Christmas Island   +6189164</option>
<option value="Cocos Islands +6189162">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 +1767">Dominica   +1767</option>
<option value="Dominican Republic +1809">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 +1473">Grenada   +1473</option>
<option value="Guadeloupe +590">Guadeloupe   +590</option>
<option value="Guam +1671">Guam   +1671</option>
<option value="Guatemala +502">Guatemala   +502</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="Israel +972">Israel   +972</option>
<option value="Italy +39">Italy   +39</option>
<option value="Jamaica +1876">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="Mexico +52">Mexico   +52</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 +1664">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="Netherlands +31">Netherlands   +31</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 +6723">Norfolk Island   +6723</option>
<option value="North Korea +850">North Korea   +850</option>
<option value="Northern Mariana Islands +1670">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 +1787">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 +1869">Saint Kitts and Nevis   +1869</option>
<option value="Saint Lucia +1758">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 +1784">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="Singapore +65">Singapore   +65</option>
<option value="Sint Maarten +1721">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 +597">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 +1868">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 +1649">Turks and Caicos Islands   +1649</option>
<option value="Tuvalu +688">Tuvalu   +688</option>
<option value="U.S. Virgin Islands +1340">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 +21228">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 +35818">Å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>
1 year ago
<textarea name="other_travelers_names" placeholder="If booking two or more tickets, please fill in other traveler name(s) here: (per passport, e.g.Smith Sarah Jean)."></textarea>
<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" style="margin-top: 20px;">Proceed to Payment</button>
<p style=" text-align: center;
margin-top: -15px;
line-height: 20px;"><strong>Once payment is received, we'll send your e-ticket within 24 hours.</strong></p>
</form>
</div>
<script>
function calcTotalPrice(ticketPrice, adultNumber) {
var makeupPrice = makeupNumberValue * 119;
var totalPrice = (ticketPrice * adultNumber) + makeupPrice;
if (adultNumber >= 10) {
totalPrice = totalPrice * 0.95;
}
totalPrice = totalPrice.toFixed(2);
totalPriceHidden.value = totalPrice;
totalPriceText.innerText = '$' + totalPrice;
}
var adultNumberNode = document.getElementById("adultNumberValue");
var makeupNumberNode = document.getElementById("makeupNumberValue");
var ticketDateList = document.querySelectorAll("input[name='ticket_date']");
var ticketTypeList = document.querySelectorAll("input[name='ticket_type']");
var ticket_type_premium_khomloy_div = document.getElementById("ticket_type_premium_khomloy");
var ticket_type_vip_khomloy_div = document.getElementById("ticket_type_vip_khomloy");
var ticket_type_standard_khomloy_div = document.getElementById("ticket_type_standard_khomloy");
var ticket_type_premium_heritage_div = document.getElementById("ticket_type_premium_heritage");
var ticket_type_vip_heritage_div = document.getElementById("ticket_type_vip_heritage");
var premium_khomloy_radio = document.getElementById("premium_khomloy");
var premium_heritage_radio = document.getElementById("premium_heritage");
var ticket_date_november15th = document.getElementById("ticket_date_november15th");
var ticket_date_november16th = document.getElementById("ticket_date_november16th");
var venueList = document.querySelectorAll("input[name='Venue']");
var totalPriceText = document.getElementById("totalPriceText");
var totalPriceHidden = document.getElementById("totalPriceHidden");
var adultNumberValue = parseInt(adultNumberNode.value);
var makeupNumberValue = parseInt(makeupNumberNode.value);
var currentTicketPrice = 10000;
for (var i = 0; i < venueList.length; i++) {
var venueNode = venueList[i];
venueNode.addEventListener('click', function (event) {
var currentTarget = event.currentTarget;
if (currentTarget.id === 'Khomloy') {
setKhomloyTicket();
}
if (currentTarget.id === 'Heritage') {
setHeritageTicket();
}
});
}
for (var i = 0; i < ticketTypeList.length; i++) {
var ticketTypeNode = ticketTypeList[i];
var dataPrice = parseInt(ticketTypeNode.getAttribute('data-price'));
if (ticketTypeNode.checked) {
currentTicketPrice = dataPrice;
calcTotalPrice(currentTicketPrice, adultNumberValue);
}
ticketTypeNode.addEventListener('click', function (event) {
var currentTarget = event.currentTarget;
currentTicketPrice = parseInt(currentTarget.getAttribute('data-price'));
adultNumberValue = parseInt(adultNumberNode.value);
calcTotalPrice(currentTicketPrice, adultNumberValue);
});
}
function setKhomloyTicket() {
ticket_type_premium_khomloy_div.style.display = '';
ticket_type_vip_khomloy_div.style.display = '';
ticket_type_standard_khomloy_div.style.display = '';
ticket_type_premium_heritage_div.style.display = 'none';
ticket_type_vip_heritage_div.style.display = 'none';
ticket_date_november15th.style.display = '';
ticket_date_november16th.style.display = '';
premium_khomloy_radio.checked = true;
currentTicketPrice = parseInt(premium_khomloy_radio.getAttribute('data-price'));
adultNumberValue = parseInt(adultNumberNode.value);
calcTotalPrice(currentTicketPrice, adultNumberValue);
}
function setHeritageTicket() {
ticket_type_premium_khomloy_div.style.display = 'none';
ticket_type_vip_khomloy_div.style.display = 'none';
ticket_type_standard_khomloy_div.style.display = 'none';
ticket_type_premium_heritage_div.style.display = '';
ticket_type_vip_heritage_div.style.display = '';
ticket_date_november15th.style.display = '';
ticket_date_november16th.style.display = 'none';
premium_heritage_radio.checked = true;
currentTicketPrice = parseInt(premium_heritage_radio.getAttribute('data-price'));
adultNumberValue = parseInt(adultNumberNode.value);
calcTotalPrice(currentTicketPrice, adultNumberValue);
}
var plusButton = document.getElementById("plusButton");
var minusButton = document.getElementById("minusButton");
plusButton.addEventListener('click', function (event) {
adultNumberValue = parseInt(adultNumberNode.value) + 1;
adultNumberNode.value = adultNumberValue;
calcTotalPrice(currentTicketPrice, adultNumberValue);
});
minusButton.addEventListener('click', function (event) {
var beforeValue = parseInt(adultNumberNode.value);
if (beforeValue > 1) {
adultNumberValue = beforeValue - 1;
adultNumberNode.value = adultNumberValue;
calcTotalPrice(currentTicketPrice, adultNumberValue);
}
});
var plusMakeupButton = document.getElementById("plusButton_makeup");
var minusMakeupButton = document.getElementById("minusButton_makeup");
plusMakeupButton.addEventListener('click', function (event) {
makeupNumberValue = parseInt(makeupNumberNode.value) + 1;
makeupNumberNode.value = makeupNumberValue;
calcTotalPrice(currentTicketPrice, adultNumberValue);
});
minusMakeupButton.addEventListener('click', function (event) {
var beforeValue = parseInt(makeupNumberNode.value);
if (beforeValue > 0) {
makeupNumberValue = beforeValue - 1;
makeupNumberNode.value = makeupNumberValue;
calcTotalPrice(currentTicketPrice, adultNumberValue);
}
});
</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");
var ticketTypeErrEl = document.getElementById("ticket_type_errmsg");
realnameErrEl.style.display = 'none';
emailErrEl.style.display = 'none';
emailVerifyErrEl.style.display = 'none';
contactErrEl.style.display = 'none';
ticketTypeErrEl.style.display = 'none';
var selectedTicketType = false;
for (var i = 0; i < ticketTypeList.length; i++) {
var ticketTypeNode = ticketTypeList[i];
if (ticketTypeNode.checked) {
selectedTicketType = true;
}
}
if (!selectedTicketType) {
ticketTypeErrEl.style.display = '';
result = false;
}
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>
<script src="https://data.chinahighlights.com/js/min.php?f=/js/jquery-1.8.2.min.js,/js/jquery.mailAutoComplete-4.0.min.js&amp;v=20231110"></script>
<script>
$(function () {
$.getJSON("https://www.chinahighlights.com/guide-use.php/apps/ip2location/index/get_country", function (data) {
var yourCountry = data.country_name;
$('#country_code option').each((i, optionEle) => {
var countryName = optionEle.value.split('+')[0].trim();
if (yourCountry === countryName) {
optionEle.selected = true;
}
});
})
.fail(function (xhr, status, error) {
console.error(error);
});
})
</script>
<style>
.minaddBtn { width:auto !important;}
.optionLable input[type="radio"]+label {min-height: auto;}
.optionLable input[type="radio"]:checked+label, .optionLable input[type="radio"]+label:hover {
border: 1px solid #ad1818;
color: #ad1818;
background: #ad1818;
color: #fff;
}
</style>
<!--lantern-form end-->