< 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 2024< / h3 >
< 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" id = "ticket_date_november15th" >
< input type = "radio" value = "2024-11-15" checked id = "november15th" name = "ticket_date" >
< label for = "november15th" >
November 15th, 2024
< / label >
< / div >
< div class = "optionLable" id = "ticket_date_november16th" >
< input type = "radio" value = "2024-11-16" id = "november16th" name = "ticket_date" >
< label for = "november16th" >
November 16th, 2024
< / label >
< / div >
< / div >
< p style = "font-size: 22px;" > < strong > Select a Ticket Type:< / strong > < / p >
< div class = "selectHotl" style = "margin-bottom: 20px;" >
< div class = "optionLable" id = "ticket_type_premium_khomloy" >
< input type = "radio" value = "Premium+Transfer+Dinner" id = "premium_khomloy" data-price = "199" name = "ticket_type" disabled = "Premium+Transfer+Dinner" >
< label for = "premium_khomloy" style = "font-size:18px;" >
Premium+Transfer+Dinner
< div class = "selectionMemo" >
US$199
< / div >
< / label >
< / div >
< div class = "optionLable" id = "ticket_type_vip_khomloy" >
< input type = "radio" value = "VIP+Transfer+Dinner" id = "vip_khomloy" data-price = "179" name = "ticket_type" checked >
< label for = "vip_khomloy" style = "font-size:18px;" >
VIP+Transfer+Dinner
< div class = "selectionMemo" >
US$179
< / div >
< / label >
< / div >
< div class = "optionLable" id = "ticket_type_standard_khomloy" >
< input type = "radio" disabled = "Standard+Transfer+Dinner" id = "standard_khomloy" data-price = "139" name = "ticket_type" value = "Standard+Transfer+Dinner" >
< label for = "standard_khomloy" style = "font-size:18px;" >
Standard+Transfer+Dinner
< div class = "selectionMemo" >
US$139
< / div >
< / label >
< / div >
<!-- <div class="optionLable" id="ticket_type_premium_heritage" style="display: none;">
< input type = "radio" value = "Premium service+Exclusive Hotel Transfer+Dinner" id = "premium_heritage" data-price = "159" name = "ticket_type" >
< label for = "premium_heritage" style = "font-size:18px;" >
Premium service+< strong > Exclusive Hotel Transfer< / strong > +Dinner
< div class = "selectionMemo" >
US$159 (5500THB)
< / div >
< / label >
< / div >
< div class = "optionLable" id = "ticket_type_vip_heritage" style = "display: none;" >
< input type = "radio" value = "VIP Service+Shuttle Transfer+Dinner" id = "vip_heritage" data-price = "109" name = "ticket_type" >
< label for = "vip_heritage" style = "font-size:18px;" >
VIP Service+Shuttle Transfer+Dinner
< div class = "selectionMemo" >
US$109
< / 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: 22px;" > < strong > Select Ticket Quantity< / strong > < / p >
< div class = "peopleSelect" style = "width: auto;" >
< span class = "formMemo" >
Adults and older children (8+ years old)
< / span >
< 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 >
< div class = "payonline_price" > Total price: < strong id = "totalPriceText" > $129< / strong > < / div >
< p style = "margin-top: 50px;" > < 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" >
< 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 = "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">Proceed to Payment< / button >
< p style = " text-align: center ;
font-style: italic;
margin-top: -15px;
line-height: 20px;">< strong > Once we receive your payment, our travel advisor will contact you within 24 hours and send you your e-ticket.< / strong > < / p >
< / form >
< / div >
< script >
function calcTotalPrice(ticketPrice, adultNumber) {
var totalPrice = ticketPrice * adultNumber;
if (adultNumber >= 10) {
totalPrice = totalPrice * 0.95;
}
totalPrice = totalPrice.toFixed(2);
totalPriceHidden.value = totalPrice;
totalPriceText.innerText = '$' + totalPrice;
}
var adultNumberNode = document.getElementById("adultNumberValue");
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");
document.addEventListener('DOMContentLoaded', function () {
function initDefaultSelection() {
// 初始化时添加默认的余量信息
addStyledLabel("ticket_type_premium_khomloy", "Sold out", "dynamic-label");
addStyledLabel("ticket_type_vip_khomloy", "93 tickets left", "dynamic-label");
addStyledLabel("ticket_type_standard_khomloy", "Sold out", "dynamic-label");
}
// 初始化默认显示
initDefaultSelection();
var ticket_date_november15th = document.getElementById("ticket_date_november15th");
var ticket_date_november16th = document.getElementById("ticket_date_november16th");
ticket_date_november15th.addEventListener('click', function () {
console.log("ticket_date_november15th clicked");
// 先移除旧的标签
removeExistingLabels("ticket_type_premium_khomloy", "dynamic-label");
removeExistingLabels("ticket_type_vip_khomloy", "dynamic-label");
removeExistingLabels("ticket_type_standard_khomloy", "dynamic-label");
// 添加新的余量标签
addStyledLabel("ticket_type_premium_khomloy", "Sold out", "dynamic-label");
addStyledLabel("ticket_type_vip_khomloy", "93 left", "dynamic-label");
addStyledLabel("ticket_type_standard_khomloy", "Sold out", "dynamic-label");
// 设置standard_khomloy为disabled
var standardInput = document.getElementById("standard_khomloy");
if (standardInput) {
standardInput.disabled = true;
}
var premiumInput = document.getElementById("premium_khomloy");
if (premiumInput) {
premiumInput.disabled = true;
}
});
ticket_date_november16th.addEventListener('click', function () {
console.log("ticket_date_november16th clicked");
// 先移除旧的标签
removeExistingLabels("ticket_type_premium_khomloy", "dynamic-label");
removeExistingLabels("ticket_type_vip_khomloy", "dynamic-label");
removeExistingLabels("ticket_type_standard_khomloy", "dynamic-label");
// 添加新的余量标签
addStyledLabel("ticket_type_premium_khomloy", "240 left", "dynamic-label");
addStyledLabel("ticket_type_vip_khomloy", "149 left", "dynamic-label");
addStyledLabel("ticket_type_standard_khomloy", "19 left", "dynamic-label");
var standardInput = document.getElementById("standard_khomloy");
if (standardInput) {
standardInput.disabled = false;
}
var premiumInput = document.getElementById("premium_khomloy");
if (premiumInput) {
premiumInput.disabled = false;
}
});
});
// 添加新的余量信息标签
function addStyledLabel(targetId, text, labelClass) {
var target = document.getElementById(targetId);
if (target) {
removeExistingLabels(targetId, labelClass);
var existingLabel = target.querySelector('label[for]');
if (existingLabel) {
var selectionMemo = existingLabel.querySelector('.selectionMemo');
if (selectionMemo) {
var newLabel = document.createElement('label');
newLabel.style.fontSize = '18px';
newLabel.textContent = text;
newLabel.classList.add(labelClass);
selectionMemo.parentNode.insertBefore(newLabel, selectionMemo.nextSibling);
} else {
console.error('SelectionMemo element not found within label.');
}
} else {
console.error('Existing label not found within target ID:', targetId);
}
} else {
console.error('Element not found for ID:', targetId);
}
}
// 移除旧的余量标签
function removeExistingLabels(targetId, labelClass) {
var target = document.getElementById(targetId);
if (target) {
var existingLabels = target.querySelectorAll('.' + labelClass);
existingLabels.forEach(function(label) {
label.parentNode.removeChild(label);
});
}
}
var venueList = document.querySelectorAll("input[name='Venue']");
var totalPriceText = document.getElementById("totalPriceText");
var totalPriceHidden = document.getElementById("totalPriceHidden");
var adultNumberValue = parseInt(adultNumberNode.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);
}
});
< / 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 >
< style >
.dynamic-label { font-size: 16px;
font-style: italic;
padding-top: 5px;
display: block;}
< / style >