$(document).ready(function() {
                    $( document).ajaxComplete(function() {
                    $('#grand-total-submit-btn').off('click');
                    $('#grand-total-submit-btn').on('click', function() {


                    if($('#hiddenfield_GrandTotal').length)
                                {
                                   //var test = parseFloat($('#hiddenfield_GrandTotal').val()) >= parseFloat($('#hd_KBANKSmartPayMinimumAmount').val();
                                    if (_this._EtmValidationForm(_this._reviewForm) == 0) 
                                    {
                                        if( (
                                         ($('#hiddenfield_PaymentMethod').val() == 'SMARTPAY' || $('#hiddenfield_PaymentMethod').val() == 'IPP') && (parseFloat($('#hiddenfield_GrandTotal').val())  > parseFloat($('#hd_KBANKSmartPayMinimumAmount').val()))
                                        ) ||($('#hiddenfield_PaymentMethod').val() != 'SMARTPAY' && $('#hiddenfield_PaymentMethod').val() != 'IPP') 
                                        )
                                        {
                                            //console.log('formvalid');
                                            $('#grand-total-submit-btn').prop('disabled', true);
                                            $('#grand-total-submit-btn').html('Please Wait, Processing...');
                                            $('#grand-total-submit-btn').attr('style', 'text-transform: none; background-color: #f1f1f1 !important; color: var(--main-theme-color)!important; text-align: left;');
                                            clearInterval(_this._Interval);
                                            _this._Basket = [];      
                                            _this._CookieID = {};      
                                            _this._AllotmentStore = [];
                                            _this._storeReservationValUpdate();
                                            $(_this._reviewForm).submit();
                                        }
                                    } else if (($('#hiddenfield_PaymentMethod').val() == 'SMARTPAY' || $('#hiddenfield_PaymentMethod').val() == 'IPP') && parseFloat($('#hiddenfield_GrandTotal').val()) < parseFloat($('#hd_KBANKSmartPayMinimumAmount').val())) {
                                        alert('This booking amount cannot be paid in installments.');
                                        return false;
                                    } else {
                                        //console.log('form_invalid');
                                        alert('please fill information');
    
                                        var reqEle = $(_this._reviewForm).find('.etm-required').not('div');
    
                                        $.each(reqEle, function() {
                                            $(this).on('change keyup', function() {
                                                // console.log($(this).val());
                                                _this._EtmValidationForm(_this._reviewForm);
                                            });
                                        });
    

                                        $('html, body').animate({
                                            scrollTop: $('.etm-invalid:eq(0)').offset().top - 100
                                        }, 1000);
    
                                        return false;
                                    }
                                }
                                else
                                {
                                    if (_this._EtmValidationForm(_this._reviewForm) == 0 ) {
                                        //console.log('formvalid');
                                        $('#grand-total-submit-btn').prop('disabled', true);
                                        $('#grand-total-submit-btn').html('Please Wait, Processing...');
                                        $('#grand-total-submit-btn').attr('style', 'text-transform: none; background-color: #f1f1f1 !important; color: var(--main-theme-color)!important; text-align: left;');
                                        clearInterval(_this._Interval);
                                        _this._Basket = [];      
                                        _this._CookieID = {};      
                                        _this._AllotmentStore = [];
                                        _this._storeReservationValUpdate();
                                        $(_this._reviewForm).submit();
                                    } 
                                    else 
                                    {
                                        //console.log('form_invalid');
                                        alert('please fill information');
    
                                        var reqEle = $(_this._reviewForm).find('.etm-required').not('div');
    
                                        $.each(reqEle, function() {
                                            $(this).on('change keyup', function() {
                                                // console.log($(this).val());
                                                _this._EtmValidationForm(_this._reviewForm);
                                            });
                                        });

    
                                        $('html, body').animate({
                                            scrollTop: $('.etm-invalid:eq(0)').offset().top - 100
                                        }, 1000);

                                        return false;
                                    }
                                }
                    }); }); });var str_Message =  '<div id="carousel_item_img" class="carousel-item etm_tab_banner carousel_item_img item_etm_tab_banner"><a href="https://reservations.instant-bookings.com/?hotelname=maldivesbeachresort&page=TT50&hotelkey=%3D%3DgTqlFN&hotelid=668&numberofadult=2&showby=rate&viewby=row&arrivaldate=30%2F06%2F2025&departuredate=01%2F07%2F2025&night=1&rate_type=1"  class="link-banner-promo"><img class="banner_promo-lg" src="https://ibs.instant-bookings.com/medias/gallerys/hotels/668/template/images/TT50-maldiveschanthaburi-L.jpg" width="100%"> <img class="banner_promo-sm" src="https://ibs.instant-bookings.com/medias/gallerys/hotels/668/template/images/TT50-maldiveschanthaburi-S.jpg" width="100%"></a></div>';
str_Message ="";

let searchParams = new URLSearchParams(window.location.search);
let pageRedeem = searchParams.get("page");
let currencycode = searchParams.get("currencycode");

/**ExitReeedeempage**/
if(pageRedeem == "tt50" || pageRedeem == "TT50")
{
   const Bookparams = new URLSearchParams(window.location.search);
  const const_numberOfAdult = Bookparams.get('numberofadult') || '2' ;
  const const_arrivalDate = Bookparams.get('arrivaldate') || getCurrentDate();
  const const_departureDate = Bookparams.get('departuredate') || getCurrentDate(1);
  const const_night = Bookparams.get('night') || '1';
var urlBook = '//reservations.instant-bookings.com/?hotelkey===gTqlFN&hotelid=668&numberofadult='+const_numberOfAdult+'&arrivaldate='+const_arrivalDate+'&departuredate='+const_departureDate+'&night='+const_night

var str_BookingBanner ="<div class='sold-out-Banner' style='width: 100%;text-align: center;'><h5 style='text-align: center; font-weight: normal;'>หน้านี้สำหรับใช้สิทธิ์จากโครงการ “เที่ยวไทยคนละครึ่ง” เท่านั้น </h5> หากคุณ <b style='font-weight: 600 !important;'>ไม่ได้ซื้อหรือรับสิทธิ์</b> จากโครงการดังกล่าว และต้องการจองห้องพักในราคาปกติ กรุณาคลิกปุ่มด้านล่าง <br><center style='margin-top: 20px;margin-bottom: 20px;'><a href='"+urlBook +"' style='padding-bottom: 5px;padding-left: 10px;padding-right: 10px;padding-top: 5px;'>CLICK</a></center></div>";

$('.row_etm_tab_banner').empty().append(str_BookingBanner );
	
}

function getCurrentDate(offset = 0) {
    const today = new Date();
    today.setDate(today.getDate() + offset);
    const year = today.getFullYear();
    const month = String(today.getMonth() + 1).padStart(2, '0');
    const day = String(today.getDate()).padStart(2, '0');
    return `${day}/${month}/${year}`;
}  
  
$("#etm_rate_table").bind("append", function() { 

let searchParams = new URLSearchParams(window.location.search);
let Site_pageRedeem = searchParams.get("page");

if(Site_pageRedeem != "redeemvoucher" && Site_pageRedeem != 'tt50'&& Site_pageRedeem != 'TT50')
{  
/*$('#etm_rate_message').html(str_Message);*/
$('.row_etm_tab_banner').empty().append(str_Message);
/*Banner tt50 
$('.row_etm_tab_banner').append(str_Message);
*/
}
else if (Site_pageRedeem == 'tt50' || Site_pageRedeem == 'TT50' && moment('31/10/2025', 'DD/MM/YYYY').diff(moment(global_ReadyEngine._SearchParameter.departuredate, 'DD/MM/YYYY'), 'day') >= 0) 
{
       $('#tab_addon').hide();
       DisplayPopupAddon = 0;
       $('.rate-plan-item .price .tooltip_show_content.modal_show_content').each(function(index) {
             var n = parseFloat(global_ReadyEngine._Search_tmp["night"]);
var a = parseFloat($(this).html().split("</span>")[1].trim().replace(",", ""))
var b = a / n;
var c = b * 40/100 <= 3000 ? b * 40/100 : 3000;
c = n <= 3? a - (c * n) : a - (c * 3) ;
$('.ttogether', this).remove();
/*
$(this).html($(this).html() + '<div class="ttogether"><b style="font-size:13px; font-weight:bold; color:#fc5b62;">ลูกค้าใช้สิทธิ์จ่ายเพียง ' + c.toLocaleString('en').toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,').split('.')[0] + ' บาท</b><div>');
*/
$(this).html($(this).html() + '<div class="ttogether"><b style="font-size:13px; font-weight:bold; color:#fc5b62;">ราคาก่อนรับสิทธ์ส่วนลด</b><div>');

/*TTogether Book at Least Day*/
var nd = moment().startOf('day').clone();
var bd = 0;
do { nd.add(1, 'd'); bd += "0123456".search(nd.day()) != -1 ? 1 : 0; } while (bd < 3);
if (moment(global_ReadyEngine._Search_tmp.arrivaldate, 'DD/MM/YYYY') < nd) { $(this).parent().parent().parent().html('<div style="font-size:12px;font-weight:bold;background-color:var(--main-theme-color-rgb3)!important;padding:5px 10px;border-radius:5px;width:fit-content;float:right;color:#ffffffba;">ต้องจองล่วงหน้าอย่างน้อย 3 วันทำการ</div>'); }
/*-----*/

      });
}


});



/*โครงการเราเที่ยวด้วยกัน*/
$(document).ready(function() {
if ($('body#reservation_engine_page_review').length > 0) {
   if ($('body.review_page.payment_page').length > 0) {
      VerifyGateway();
   }
   $( document).ajaxComplete(function() {
      VerifyGateway();
   });
}});

function VerifyGateway() {
$('.pannel-redeemvoucher').hide(); console.log("Hello ver!"); 
/**$('#pointspot_pannel').show();**/
if(global_ReadyEngine._Search_tmp["promotioncode"]  != undefined)
{
console.log("Hello world!"); 
var str_promocode = global_ReadyEngine._Search_tmp["promotioncode"].toLowerCase();
   if(str_promocode  == 'chillpn@samed' || str_promocode  ==  'gwf1' || str_promocode  ==  'unm2' || str_promocode  ==  'pmt3' || str_promocode  ==  'thaitour@smr')
   {

            $('#pointspot_pannel').hide();
                   $('#pointspot-message').hide();
                   $('#payment-message').show();
                   $('#pointspot_login').html('<b class="caption-pointspot" style="font-size:14px !important;">ขออภัยค่ะ!</b><br>ไม่สามารถใช้ร่วมกับการสะสมคะแนนหรือใช้คะแนนเป็นส่วนลดได้');
                   $('#pointspot_login2').html('<b class="caption-pointspot" style="font-size:14px !important;">ขออภัยค่ะ! </b><br>ไม่สามารถใช้ร่วมกับการสะสมคะแนนหรือใช้คะแนนเป็นส่วนลดได้');
                   $('#pointspot_login').show();
                   $('#pointspot_login2').show();
   }
  else if(str_promocode  == 'ktconly'  || str_promocode  == 'bbl2025'){  $('.pannel-pointspot').hide();   $('#pointspot-message').hide();
 $('#payment-message').show();
 }

}


if (global_ReadyEngine._Search_tmp["page"] != undefined && global_ReadyEngine._Search_tmp["page"].toLowerCase() == 'tt50' && moment('31/10/2025', 'DD/MM/YYYY').diff(moment(global_ReadyEngine._SearchParameter.departuredate, 'DD/MM/YYYY'), 'day') >= 0)
{   

      $('.payment_method_box:not(.box-paotang)').hide();
      $('input:radio[name=payment_method_radio]').prop('checked', true);
      $('.payment_method_box').trigger( "click" );
	  $("input[name='textbox_FirstName']").closest("div.col-sm-5").find("label").contents().filter(function() {
		return this.nodeType === 3;
		}).first().replaceWith("ชื่อ (ต้องเป็นภาษาไทย) : ");
	  $("input[name='textbox_LastName']").closest("div.col-sm-5").find("label").contents().filter(function() {
		return this.nodeType === 3;
		}).first().replaceWith("นามสกุล (ต้องเป็นภาษาไทย) : ");
    /* HidePointAndVoucher();*/

}
else if(global_ReadyEngine._Search_tmp["page"] != undefined && global_ReadyEngine._Search_tmp["page"].toLowerCase() == 'redeemvoucher')
{
       $('.pannel-redeemvoucher').show();
	   $('.payment_method_box.box-paotang').hide();
	   $('.payment_method_box.box-paotang').attr('style','visibility: hidden;max-height: 0px;padding: 0px;margin: 0px;');
          
    /** ซ่อน สะสมคะเเนะ **/

       
        $('#pointspot_pannel').hide();
                   $('#pointspot-message').hide();
                   $('#payment-message').show();
                   $('#pointspot_login').html('<b class="caption-pointspot" style="font-size:14px !important;">ขออภัยค่ะ!</b><br>ไม่สามารถใช้ร่วมกับการสะสมคะแนนหรือใช้คะแนนได้ และไม่สามารถใช้บัตรกำนัลร่วมได้');
                   $('#pointspot_login2').html('<b class="caption-pointspot" style="font-size:14px !important;">ขออภัยค่ะ! </b><br>ไม่สามารถใช้ร่วมกับการสะสมคะแนนหรือใช้คะแนนได้ และไม่สามารถใช้บัตรกำนัลร่วมได้');
                   $('#pointspot_login').show();
                   $('#pointspot_login2').show();

}
else if(global_ReadyEngine._Search_tmp["page"] != undefined && global_ReadyEngine._Search_tmp["page"].toLowerCase() == 'supersale')
{
 
  $('.pannel-pointspot').hide();   $('#pointspot-message').hide();
 $('.pannel-redeemvoucher').hide();


}
else if(global_ReadyEngine._Search_tmp["promotioncode"] != undefined && ( global_ReadyEngine._Search_tmp["promotioncode"].toLowerCase() == 'bdjul23' || global_ReadyEngine._Search_tmp["promotioncode"].toLowerCase() == 'bdaug23'  ))
{
 
  $('.pannel-pointspot').hide();   $('#pointspot-message').hide();
 $('.pannel-redeemvoucher').hide();


}
else if(global_ReadyEngine._Search_tmp["page"] != undefined && global_ReadyEngine._Search_tmp["page"].toLowerCase() == 'ttt67')
{
  $('.pannel-pointspot').hide();   $('#pointspot-message').hide();
 $('.pannel-redeemvoucher').hide();
}
else {
if (global_ReadyEngine._Search_tmp["page"] != undefined && global_ReadyEngine._Search_tmp["page"].toLowerCase() == 'early-deal'){   HidePointAndVoucherForBookDate();  }
      $('.payment_method_box.box-paotang').hide();
      $('.payment_method_box.box-paotang').attr('style','visibility: hidden;max-height: 0px;padding: 0px;margin: 0px;');
   }
}



$(document).ready(function() { try {
if (global_ReadyEngine._Search_tmp["page"] != undefined && global_ReadyEngine._Search_tmp["page"].toLowerCase() == 'tt50' && moment('31/10/2025', 'DD/MM/YYYY').diff(moment(global_ReadyEngine._SearchParameter.departuredate, 'DD/MM/YYYY'), 'day') >= 0) { 
var _nd = DNow.startOf('day').clone();
var _bd = 0;

do { _nd.add(1, 'd'); _bd += "0123456".search(_nd.day()) != -1 ? 1 : 0; } while (_bd < 3);
        
        try {$(global_ReadyEngine._Boxpickerdate).data('daterangepicker').minDate = _nd;
        $(document).on('click', '.modal_show_content', function() { $('.etmDateCheckin2:eq(2)').data('daterangepicker').minDate = _nd; });}
        catch(err){}

	if (moment(moment(global_ReadyEngine._SearchParameter.arrivaldate, 'DD/MM/YYYY'), 'DD/MM/YYYY').diff(_nd, 'day', 'day')  < 0) { 
		$(global_ReadyEngine._Boxpickerdate).data('daterangepicker').setStartDate(_nd);
		$(global_ReadyEngine._Boxpickerdate).data('daterangepicker').setEndDate(_nd.clone().add(1,'day'));
		global_ReadyEngine._Search_tmp['arrivaldate'] = _nd.format('DD/MM/YYYY');
		global_ReadyEngine._Search_tmp['departuredate']= _nd.clone().add(1,'day').format('DD/MM/YYYY');
		$(global_ReadyEngine._Boxpickerdate).trigger("apply.daterangepicker");
		$("#btn_search_desktop").trigger("click");
	}
}}catch(err){}});



$(document).on('click', '.room-item-remove', function() { calTTogether(); }); 
$(document).ajaxComplete(function() {  calTTogether();  });
function calTTogether() 
{

var ls_Data = localStorage.getItem(global_ReadyEngine._KeyStore);
var obj_LS = JSON.parse(ls_Data);
var n = 1;
var a = 0;
var b = 0;
var h = false;

 $.each(obj_LS.Basket, function(i, item) {
a += parseFloat(item.rateplan_price);


 if (global_ReadyEngine._Search_tmp["page"] != undefined && global_ReadyEngine._Search_tmp["page"].toLowerCase() == 'tt50' && moment('31/10/2025', 'DD/MM/YYYY').diff(moment(global_ReadyEngine._SearchParameter.departuredate, 'DD/MM/YYYY'), 'day') >= 0)
 {
 if (item.rate_id.search(/^(RR|SR|PA)-.*-.*-.*-.*/) >= 0 && n <= 5)
{
var c = parseFloat(item.rateplan_price)/parseFloat(obj_LS.SearchParameter.night);
    for (i = 1; i <= obj_LS.SearchParameter.night && n <= 5; i++) {
     b += (c * 40/100) <= 3000 ? (c * 40/100) : 3000;
     h = true;
     n++;

}
}

}

});


if (h) {

$('.sum-grand-total .ttogether').remove();
/*
$('.sum-grand-total').html($('.sum-grand-total').html() + `<div class="row ttogether"><div class="col-6" style="font-size:12px;"><strong style="font-size:12px;">ส่วนลดการใช้สิทธิ์ (40%)</strong></div><div class="col-6 price" style="font-size:12px;color:#fc5b62;font-weight:bold;"><span class="grand-total-currency">THB -</span><span style="">` + Number.parseFloat(b).toFixed(2).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + `</span></div></div>

<div class="row ttogether"><div class="col-6" style="font-size:12px;"><strong style="font-size:12px;">ยอดเงินที่ต้องชำระ</strong></div><div class="col-6 price" style="font-size:12px;font-weight:bold;"><span class="grand-total-currency">THB </span><span style="">` + Number.parseFloat(a - b).toFixed(2).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + `</span></div></div>`);

*/ 

$('.col-12.customer-remark').html('<p style="color:#fc5b62; font-size:11px;">* ราคาก่อนรับสิทธ์ส่วนลด</p>');

}
}
 $(".payment_method_box.box-mobile_banking").hide();
                    // device detection
                    if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) 
                        || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) { 
    
                       $(".payment_method_box.box-mobile_banking").show();
                         } 
                                $(window).on('load', function () {
                                     setTimeout(() => {
                                    if($('#mainmodal').hasClass('show') )
                                    {
                                       if($('#mainmodal-memberrate').hasClass('show'))
	                                    {
		                                    $('#mainmodal-memberrate').removeClass('show').addClass('hide');
	                                    }
                                    }
 
                                    }, 500);   
                                    });
                                    