var playedFlag = false var keepTopCurrent function keepTop(){ keepTopCurrent = $(window).scrollTop() } function toTop(){ if(keepTopCurrent){ $("html,body").scrollTop(keepTopCurrent) } } function formAuth() { $("#Main_Form").fromsAuth({ type: 'AJAX', callafter: function () { let delType = $("#Del_Type").val(); let payType = $("[name='Pay_Type']:checked").val(); //超取且非到付的話檢查姓名 if(delType == '2' && payType != '7') { let name = $("#Send_Name").val(); let nameRegex = /^[\u4e00-\u9fa5]+$/; if(!nameRegex.test(name) || name.length != 3) { return confirm(_jsLang.是否已確認收件人姓名為本名+'?'); } } return true; }, callafter2: function () { //是否玩遊戲 if ($("#Game_Play").val() == "1" && !playedFlag) { // let playGame = confirm(_jsLang.是否遊玩遊戲) // if (playGame) { // } else { // return true // } $.ajax({ url: Project_Country + "shopcart/ajax/ajax_play_game.php", type: "POST", cache: false, error: function (d) { alert('網路連線過慢,網頁請重新整理'); }, success: function (d) { $("body").append(d) let counter = 0 //為了讓刮刮卡銀漆渲染 const interval = setInterval(function () { $(window).trigger("resize") if (counter === 5) { clearInterval(interval) } counter++ }, 100) playedFlag = true } }); return false } else { return true } }, }); } $(document).ready(function () { window.addEventListener("popstate", function (e) { var path = e.currentTarget.location.pathname.split("/"); if (path.indexOf('step1') > -1) { //回到step1 //重載頁面記錄目前步驟SESSION updatePage('&step=' + 'step1', false); $(window).scrollTop(0); } else if (path.indexOf('step2') > -1) { let noStock = $("#noStock").val(); if(noStock == 1){ alert("購物車中有庫存不足商品") return; } updatePage('&step=' + 'step2', false); $(window).scrollTop(0); } }) $("html,body").animate({ scrollTop: $('.login-offset').offset().top - 150 }, 800); if ($("#Cart_Step").val().length > 0) { if ($("#Cart_Type").val() == 'common') { var sit = 'single'; } else if ($("#Cart_Type").val() == 'regula') { var sit = 'regula'; } else if ($("#Cart_Type").val() == 'pre') { var sit = 'preorder'; } //切換網址 var new_url = '/' + $("#Website_Language").val() + '/' + $("#Website_Mall_ID").val() + '/shopcart/' + $("#Cart_Step").val() + '/' + sit; window.history.pushState({}, null, new_url); } //商品加減 $(document).on('click', '.shopcart-table .spec-button', function () { let _this = $(this) let box = _this.parents('.spec-amount') let input = box.find(".amountBox") let ID = input.data("sid") let Act = input.data("act") let Ch_Flag = input.data("ch") let Amount = parseInt(_this.parents(".spec-amount").find(".Prod_Amount_Change").val()) || 0; let plus = parseInt(_this.parents(".spec-amount").find(".Prod_Amount_Change").data('plus') || 0); let max = input.attr("max") let Type = input.data("type") let Delta = 0 Amount += plus; if (_this.hasClass("spec-minus")) { Amount -= 1; if (Amount < 1) { _this.addClass("in-disabled") Amount = 1; }else{ _this.removeClass("in-disabled") Delta = -1 } } else { Amount += 1; if (Amount > max) { Amount = max; _this.addClass("in-disabled") alert((_jsLang['最多可購買數量'] ??'最多可購買數量') + max) }else{ _this.removeClass("in-disabled") Delta = 1 } } if (ID && Amount && (Delta !== 0)) { var data = { ID: ID, Amount:Amount, Act:Act, Ch_Flag:Ch_Flag, Type:Type, Delta: Delta } loadChangeProd(box, data); } }); //商品修改數量 $(document).on('change', '.Prod_Amount_Change', function () { let val = this.value.replace(/\D/g,'') this.value = val let input = $(this) let box = input.parents('.spec-amount') let ID = input.data("sid") let Act = input.data("act") let Ch_Flag = input.data("ch") let updateVal = parseInt($(this).val()) let Amount = 0; let plus = parseInt($(this).data('plus') || 0); let max = input.attr("max") let Type = input.data("type") let Delta = 0 let originVal = parseInt(input.data("origin") || 0) if(originVal !== updateVal){ Delta = updateVal - originVal } Amount += updateVal Amount += plus; if (Amount < 1) { Delta += (1 - Amount) Amount = 1; } if (Amount > max) { Delta += (max - Amount) Amount = max; alert((_jsLang['最多可購買數量'] ??'最多可購買數量') + max) } if (ID && Amount) { var data = { ID: ID, Amount:Amount, Act:Act, Ch_Flag:Ch_Flag, Type:Type, Delta: Delta } loadChangeProd(box, data); } }); function loadChangeProd(box, data) { //載入中 box.next('.number-load').css('display', 'inline-block'); box.next('.amountBox').css('cursor', 'no-drop').attr('disabled', 'disabled'); box.next('.fa').css('cursor', 'no-drop'); //鎖定數量 $(".Prod_Amount").removeClass("Prod_Amount"); $("#Shopcart_List").find(".amountBox").prop("disabled", true); function inputRecover(){ $("#Shopcart_List").find(".amountBox").each(function(){ let input = $(this) let origin = input.data("origin") if(origin || origin == "0"){ input.val(origin) } input.prop("disabled", false) }); } //增加數量 $.ajax({ url: Project_Country + "shopcart/ajax/ajax_cart_edit.php", type: "POST", cache: false, data: data, dataType: 'json', error: function (d) { alert('網路連線過慢,網頁請重新整理'); inputRecover() }, success: function (d) { switch (d.Status) { case "RET_SUCCESS": updatePage(); break; case "RET_NO_MEMBER_NO": alert(_jsLang.欲購買紅利兌換商品請先登入會員並完成會員認證); inputRecover() break; case "RET_RBONUS_OUT": alert(_jsLang.紅利不足); inputRecover() break; case "RET_ERROR": alert(_jsLang.資料庫忙線中); inputRecover() break; case "RET_PROD_ERROR": alert(_jsLang商品已下架); inputRecover() break; case "RET_NO_PROD": alert(_jsLang.請選擇商品); inputRecover() break; case "RET_STOCK_ERROR": alert(_jsLang.商品庫存不足); inputRecover() break; case "RET_LIMIT_ERROR": alert(_jsLang.數量超過限購量); inputRecover() break; case "RET_OVER_SIT_MAX": alert(_jsLang.數量超過定期購限購量); inputRecover() break; case "RET_PROD_IN_ONESHOPPAGE_ERROR": alert(_jsLang.此商品於一頁式購物推廣中 + ',' + _jsLang.暫無法加入購物車); inputRecover() break; case "GAME_PLAYED": alert(_jsLang.購物車內有遊戲未結商品無法修改購物車); inputRecover() break; default: alert(_jsLang.資料庫忙線中); inputRecover() break; }; } }); } formAuth() var _window = $(window); var change = 0; var moreview = false; var change_1023 = 1024; runSildeBoxOwl() // runOproductSlide() $(document).on('click', '.click-pic', function () { // prodpop-new popBox var ID = $(this).data('id'); $.post(Project_Country + 'shopcart/ajax/ajax_prodnew.php', { 'ID': ID }, function (data) { $('.prodpop-new').replaceWith(data) $('.prodpop-new').css('display', 'block'); }) }); $(document).on('click', '.prodpop-new .close', function () { $('.prodpop-new').css('display', 'none'); }); //購物車無資料,導回step1 if (parseInt($("#Main_Form").attr('cart_num')) < 1 || $("#Main_Form").attr('cart_num') == '') { Shopcart_Step_Go('step1'); } //選擇步驟 $("#Main_Content").on('click', '.Step_Button', function () { var step = $(this).attr('step'); if(step == 'step2') { var gift = $("#Left_Gift").val(); if (gift > '0') { let str1 = _jsLang?.尚可挑選 || '尚可挑選'; let str2 = _jsLang?.件贈品請挑選後再前往結帳 || '件贈品請挑選後再前往結帳'; alert(str1 + gift + str2, false); return false; } if($("#noStock").val() == 1){ alert($("#noStock_info").val()); return; } } Shopcart_Step_Go(step); }); function Shopcart_Step_Go(step) { if(step == 'step2') { let noStock = $("#noStock").val(); if(noStock == 1){ alert("購物車中有庫存不足商品") return; } } //步驟按鈕樣式 $("#Main_Content").find('.Step_Button').each(function () { //初始步驟樣式 $(this).removeClass('now'); var chk_step = $(this).attr('step'); //目前步驟樣式 if (step == chk_step) { $(this).addClass('now'); } }); //步驟區塊開啟或關閉 $("#Main_Content").find('.Step_Block').each(function () { //初始步驟區塊(關閉) $(this).addClass('hide'); var chk_step = $(this).attr('step'); //開啟目前步驟區塊 if (step == chk_step) { $(this).removeClass('hide'); } }); if ($("#Cart_Type").val() == 'common') { var sit = 'single'; } else if ($("#Cart_Type").val() == 'regula') { var sit = 'regula'; } else if ($("#Cart_Type").val() == 'pre') { var sit = 'preorder'; } //切換網址 var new_url = '/' + $("#Website_Language").val() +'/' + $("#Website_Mall_ID").val() + '/shopcart/' + step + '/' + sit; window.history.pushState({}, 'shopcart', new_url); let other = ''; if(step == 'step2') { other += '&payType='+$("[name='Pay_Type']:checked").val(); } //重載頁面記錄目前步驟SESSION updatePage('&step=' + step + other, false); $(window).scrollTop(0); } $(document).on('click', '.click-block2 .button2', function (e) { if ($(this).hasClass('GiftpickPopupAddBtn')) { return false; } e.preventDefault(); $(".loading").show(); var SID = $(this).attr('sid'); var Amount = $(this).parents('.click-block2').find('.num').val(); if (!$.isNumeric(Amount)) { alert(_jsLang.請選擇數量); return false; } $.ajax({ url: Project_Country + "shopcart/ajax/ajax_cart_add.php", type: "POST", cache: false, data: { "ID": SID, "Amount": Amount }, dataType: 'json', error: function (d) { alert('網路連線過慢,網頁請重新整理'); }, success: function (d) { switch (d.Status) { case "RET_SUCCESS": if (d.DataLayer) { eval(d.DataLayer) } // alert(_jsLang.加入購物車成功); AlertPop({ icon: '', string: _jsLang.加入購物車成功, }) updatePage(); break; case "RET_NO_MEMBER_NO": alert(_jsLang.欲購買紅利兌換商品請先登入會員並完成會員認證); break; case "RET_RBONUS_OUT": alert(_jsLang.紅利不足); break; case "RET_ERROR": alert(_jsLang.資料庫忙線中); break; case "RET_PROD_ERROR": alert(_jsLang.商品已下架); break; case "RET_NO_PROD": alert(_jsLang.請選擇商品); break; case "RET_STOCK_ERROR": alert(_jsLang.商品庫存不足); break; case "RET_LIMIT_ERROR": alert(_jsLang.數量超過限購量) break; case "RET_OVER_SIT_MAX": alert(_jsLang.數量超過定期購限購量); break; case "RET_PROD_IN_ONESHOPPAGE_ERROR": alert(_jsLang.此商品於一頁式購物推廣中 + ',' + _jsLang.暫無法加入購物車); break; case "GAME_PLAYED": alert(_jsLang.購物車內有遊戲未結商品無法修改購物車); break; default: alert(_jsLang.資料庫忙線中); break; }; } }); }) $(document).on('click', '.GiftpickPopupAddBtn', function (e) { e.preventDefault(); $(".loading").show(); var SID = $(this).attr('sid'); var OID = $('.GiftpickOid').val(); var Type = $(this).data("type"); $.ajax({ url: Project_Country + "shopcart/ajax/ajax_cart_edit_gift.php", type: "POST", cache: false, data: { "ID": SID, "OID": OID, "Type": Type }, dataType: 'json', error: function (d) { alert('網路連線過慢,網頁請重新整理'); }, success: function (d) { switch (d.Status) { case "RET_SUCCESS": if (d.DataLayer) { eval(d.DataLayer) } // alert(_jsLang.加入購物車成功); AlertPop({ icon: '', string: _jsLang.加入購物車成功, }) updatePage(); break; case "RET_NO_MEMBER_NO": alert(_jsLang.欲購買紅利兌換商品請先登入會員並完成會員認證); break; case "RET_RBONUS_OUT": alert(_jsLang.紅利不足); break; case "RET_ERROR": alert(_jsLang.資料庫忙線中); break; case "RET_PROD_ERROR": alert(_jsLang.商品已下架); break; case "RET_NO_PROD": alert(_jsLang.請選擇商品); break; case "RET_STOCK_ERROR": alert(_jsLang.商品庫存不足); break; case "RET_LIMIT_ERROR": alert(_jsLang.數量超過限購量) break; case "RET_OVER_SIT_MAX": alert(_jsLang.數量超過定期購限購量); break; case "RET_PROD_IN_ONESHOPPAGE_ERROR": alert(_jsLang.此商品於一頁式購物推廣中 + ',' + _jsLang.暫無法加入購物車); break; case "GAME_PLAYED": alert(_jsLang.購物車內有遊戲未結商品無法修改購物車); break; default: alert(_jsLang.資料庫忙線中); break; }; } }); }) //刪除商品 function DelShopcart(target) { $.ajax({ url: Project_Country + "shopcart/ajax/ajax_cart_del.php", type: "POST", cache: false, // data: { ID: $(target).attr("sid"), Act: $(target).attr("act"), Ch_Flag: $(target).attr("ch"), Type: $(target).data("type") }, data: { ID: $(target).attr("sid"), Act: $(target).attr("act"), Ch_Flag: $(target).attr("ch"), Type: $(target).data("type"), GroupID: $(target).data("group_id") }, dataType: 'json', }).done(function (d) { if (d.Status == 'RET_SUCCESS') { if (d.DataLayer) { eval(d.DataLayer) } updatePage(); } else { alert(_jsLang.資料庫忙線中); } }).fail(function (err) { alert('網路連線過慢,網頁請重新整理'); }) } $("#Main_Content").on('click', '.prod_del', function () { const clickTarget = this ConfirmPop({ titleName: _jsLang.移除商品, string: _jsLang['您是否要移除此商品?'], trueFunction: () => DelShopcart(clickTarget), }) }); //下次買 $("#Main_Content").on('click', '.prod_next', function () { if (confirm(_jsLang.確定加入喜愛清單嗎)) { $(".loading").show(); $.ajax({ url: Project_Country + "shopcart/ajax/ajax_cart_next.php", type: "POST", cache: false, data: { ID: $(this).attr("sid"), Act: $(this).attr("act"), Ch_Flag: $(this).attr("ch") }, dataType: 'json', error: function (d) { alert('網路連線過慢,網頁請重新整理'); }, success: function (d) { switch (d.Msg) { case "RET_SUCCESS": if (d.DataLayer) { eval(d.DataLayer) } alert(_jsLang.加入喜愛清單成功); updatePage(); break; case "RET_NO_MEMBER": alert(_jsLang.請先登入會員); window.location.href = '/' + $("#Website_Language").val() +'/' + $("#Website_Mall_ID").val() + '/member-login'; break; default: alert(_jsLang.資料庫忙線中); break; } } }); } }); //加購加減 $(document).on('click', '.Amount_Minus', function () { var amount = parseInt($(this).next(".amountBox").val()) || 0; amount -= 1; if (amount < 1) { amount = 1; } $(this).next(".amountBox").val(amount); }); $(document).on('click', '.Amount_Plus', function () { var amount = parseInt($(this).prev(".amountBox").val()) || 0, max = parseInt($(this).prev(".amountBox").attr("max")); amount += 1; if (amount > max) { amount = max; } $(this).prev(".amountBox").val(amount); }); //加購商品 $(document).on('click', '#All_Add_List .button2,#Full_Add_List .button2', function () { if ($(this).hasClass('GiftpickPopupAddBtn')) { return false; } $(".loading").show(); $.ajax({ url: Project_Country + "shopcart/ajax/ajax_cart_add.php", type: "POST", cache: false, data: { ID: $(this).attr("sid"), Amount: $(this).parents(".productBox").find(".amountBox").val(), Type: $(this).data("type") }, dataType: 'json', error: function (d) { alert('網路連線過慢,網頁請重新整理'); }, success: function (d) { switch (d.Status) { case "RET_SUCCESS": if (d.DataLayer) { eval(d.DataLayer) } // alert(_jsLang.加入購物車成功); AlertPop({ icon: '', string: _jsLang.加入購物車成功, }) updatePage(); break; case "RET_NO_MEMBER_NO": alert(_jsLang.欲購買紅利兌換商品請先登入會員並完成會員認證); break; case "RET_RBONUS_OUT": alert(_jsLang.紅利不足); break; case "RET_ERROR": alert(_jsLang.資料庫忙線中); break; case "RET_PROD_ERROR": alert(_jsLang.商品已下架); break; case "RET_NO_PROD": alert(_jsLang.請選擇商品); break; case "RET_STOCK_ERROR": alert(_jsLang.商品庫存不足); break; case "RET_LIMIT_ERROR": alert(_jsLang.數量超過限購量) break; case "RET_OVER_SIT_MAX": alert(_jsLang.數量超過定期購限購量); break; case "RET_PROD_IN_ONESHOPPAGE_ERROR": alert(_jsLang.此商品於一頁式購物推廣中 + ',' + _jsLang.暫無法加入購物車); break; case "GAME_PLAYED": alert(_jsLang.購物車內有遊戲未結商品無法修改購物車); break; default: alert(_jsLang.資料庫忙線中); break; }; } }); }); //取消優惠折扣 $("#Main_Content").on('click', '.money-button', function (e) { var $data = 'cate=' + $(this).attr("cate") + '&value='; if ($(this).attr("class").indexOf("usd") != -1) { e.preventDefault(); updatePage($data); } }); //優惠折扣送出 $("#Main_Content").on('click', '.money-send', function () { var cateAttr = $(this).attr("cate"); var $data = 'cate=' + $(this).attr("cate") + '&value=' + $(this).parents("span").find("input").val(); // if($(this).attr("cate") == 'MemberMoney'){ // var $data = 'cate='+$(this).attr("cate")+'&value='+$(this).parents("span").find("input").val(); // }else{ // var $data = 'cate='+$(this).attr("cate")+'&value='+$(this).parents("span").find("input").val(); // } updatePage($data); }); //購物金勾選 $("#Main_Content").on('click', "input[name='use_bonus']", function () { var $data = 'cate=Bonus&Bonus_Code=' + $(this).attr('Bonus_Code') + '&value=' + $(this).val(); updatePage($data); }); //取消各項優惠方案 $("#Main_Content").on('click', "#Cancel_Bonus", function () { updatePage('&Cancel_Bonus=1'); }); $("#Main_Content").on('click', "#Cancel_ActStr", function () { updatePage('&Cancel_ActStr=1'); }); $("#Main_Content").on('click', "#Cancel_RBonus", function () { updatePage('&Cancel_RBonus=1'); }); $("#Main_Content").on('click', "#Cancel_Usable", function () { updatePage('&Cancel_Usable=1'); }); $("#Main_Content").on('click', "#Cancel_MemberMoney", function () { updatePage('&Cancel_MemberMoney=1'); }); //紅利勾選 $("#Main_Content").on('click', "input[name='use_Rbonus']", function () { var $data = 'cate=RBonus&value=' + $(this).val(); updatePage($data); }); //抵用券勾選 $("#Main_Content").on('change', "input[name='usable_no']", function (e) { const $data = 'cate=' + $(this).attr("cate") + '&value=' + $(this).val(); updatePage($data); }); //選擇配送國家 $("#Main_Content").on('change', "[name='Country_Type']", function () { let checked = $("[name='Country_Type']:checked") switch (checked.val()) { case "1": case "2": var $data = 'countryType=' + checked.val(); break; case "3": var $data = 'countryType=3&Send_Country=' + $("[name='Country']:checked").val(); break; } updatePage($data); $.ajax({ url: Project_Country + "ajax/ajax_get_city-p.php", type: "POST", cache: false, data: { "Send_ID": $("#Send_Country_ID option:eq(1)").val() }, dataType: 'json', error: function (d) { alert('網路連線過慢,網頁請重新整理'); }, success: function (d) { var the_sub = 'Send_City_ID'; $("#" + the_sub).children("option:gt(0)").remove(); for (k in d) { $("#" + the_sub).append(''); } } }); }); $("#Main_Content").on('click', "[name='Country']", function () { var $data = 'countryType=3&Send_Country=' + $(this).val(); updatePage($data); }); $("#Main_Content").on('change', "#Buy_Country", function () { // var $data = 'countryType=3&country='+$(this).val(); updatePage(); }); //選擇運送方式 $("#Main_Content").on('change', "[name='Ship_Type']", function () { let checked = $("[name='Ship_Type']:checked") var $data = 'shipType=' + checked.val(); updatePage($data); }); $("#Main_Content").on("click", "#Choose_Store", function () { updatePage(); window.location.href = '/shopcart/e_returns/emap-p.php?url=shopcart/step2/'+$('#Cart_Type').val()+'&type=' + $(this).attr("type") + '&coll=' + $(this).attr("coll") + '&Country=' + $(this).attr("Country") + '&Cart=' + $('#Cart_Type').val(); }); //選擇付款方式 $("#Main_Content").on('change', "[name='Pay_Type']", function () { let checked = $("[name='Pay_Type']:checked") var $data = 'payType=' + checked.val(); if (checked.val() == 5) $data += '&countryType=1'; updatePage($data); }); //選擇定期定額天數 $("#Main_Content").on('change',"#Sit_Frequency",function(){ var $data = 'Sit_Frequency='+$('#Sit_Frequency').val(); updatePage($data); }); //選擇定期定額次數 $("#Main_Content").on('change',"#Sit_Period",function(){ var $data = 'Sit_Period='+$('#Sit_Period').val(); updatePage($data); }); //保價勾選 $("#Main_Content").on('click', "input[name='Premiu']", function () { var $data = 'premiu=' + $(this).val(); updatePage($data); }); //國家切換 $("#Main_Content").on('change', ".Country", function () { var Send_ID = $(this).val(); $.ajax({ url: Project_Country + "ajax/ajax_get_city-p.php", type: "POST", cache: false, data: { "Send_ID": Send_ID }, dataType: 'json', error: function (d) { alert('網路連線過慢,網頁請重新整理'); }, success: function (d) { var the_sub = 'Send_City_ID'; $("#" + the_sub).children("option:gt(0)").remove(); for (k in d) { $("#" + the_sub).append(''); } } }); }); //縣市切換 $("#Main_Content").on('change', ".City", function () { updatePage(); }); //地區切換 $("#Main_Content").on('change', ".Area", function () { var opt = $(this).find("option:selected").text(), area = opt.split(" "), zip = area[0]; $("#Send_Area_No").val(zip); updatePage(); }); //同訂購人資料 $("#Main_Content").on('click', "#Same_Button", function () { let sameValue = $("#Same_Button").val() ?? 1; var $data = 'same=' + sameValue; updatePage($data); }); //預設發票地址 var Del_Type = $("#Del_Type").val(); var Send_Address = $("#Send_Address").val() || ''; var Send_Area_ID = $("#Send_Area_ID option:selected").attr("name") || ''; var Send_City_ID = $("#Send_City_ID option:selected").attr("name") || ''; var Send_Addr_Full = Send_City_ID + Send_Area_ID + Send_Address; if (Send_Addr_Full && Del_Type != '2') { $("#Invo_Same_Button").prop("checked", true); $("#Invo_Address").val(Send_Addr_Full); } //同訂購人資料 $("#Main_Content").on('click', "#Invo_Same_Button", function () { var dt = $(this).attr('dt'); if ($("#Invo_Same_Button").prop("checked") && dt != '2') { var Send_Address = $("#Send_Address").val() || ''; var Send_Area_ID = $("#Send_Area_ID option:selected").attr("name") || ''; var Send_City_ID = $("#Send_City_ID option:selected").attr("name") || ''; $("#Invo_Address").val(Send_City_ID + Send_Area_ID + Send_Address); } }); //從常用收件資料中挑選 $("#Main_Content").on('click', ".Send_Book", function () { var $data = 'send_book=' + $(this).attr("sid"); updatePage($data); }); //門市取貨 $("#Main_Content").on("change", "#Store_Pick", function () { var $data = 'CVSStoreID=' + $(this).val(); updatePage($data); }); //發票載具 $("#Main_Content").on('change', "#CarrierType", function () { updatePage(); }); //送出 $("#Main_Content").on('click', "#Form_Submit", function () { var gift = $("#Left_Gift").val(); var bir_gift = $("#Left_Birthday_Gift").val() const check_country = ['TW', 'CN', 'HK', 'MO']; //不檢查的國家 var pattern_En = /^[A-Za-z0-9\~\!\@\#\$\%\^\&\(\)\_\+\`\-\=\.\,\/ ]+$/; var check_Address = $("#Send_Address").val(); var check_Address2 = $("#Send_Address2").val(); if (gift > '0') { alert(_jsLang.尚可挑選 + gift + _jsLang.件贈品請挑選後再送出購物車); } else if (bir_gift > '0') { alert(_jsLang.尚可挑選 + bir_gift + _jsLang.件贈品請挑選後再送出購物車); } else if ($("[name='Country_Type']:checked").val() == 3 && !check_country.includes($("#Send_Country").find(":selected").data("code")) && (!pattern_En.test(check_Address) || !pattern_En.test(check_Address2))) { alert(_jsLang.地址為英數); return false; } else { $("#Main_Form").submit(); } }); //到貨日期資料同步 $("#Main_Content").on('click', "input[name='Send_Week2']", function () { $("#Send_Week").val($(this).val()); }); $("#Main_Content").on('change', "#Send_Week", function () { $("#Send_Week2" + $(this).val()).prop("checked", true); }); //到貨時間資料同步 $("#Main_Content").on('click', "input[name='Send_Time2']", function () { $("#Send_Time").val($(this).val()); }); $("#Main_Content").on('change', "#Send_Time", function () { $("#Send_Time2" + $(this).val()).prop("checked", true); }); //雲端發票資料同步 $("#Main_Content").on('click', "input[name='Invo_Mod']", function () { updatePage(); }); $("#Main_Content").on('change', "input[name='Invo_Mod2']", function () { let checked = $("[name='Invo_Mod2']:checked") $("#changeradio-0" + checked.val()).prop("checked", true); updatePage(); }); $("#Main_Content").on('click', "input[name='Invo_Send_Type']", function () { updatePage(); }); $("#Main_Content").on('change', "input.js-update", function () { updatePage(); }); $("#Main_Content").on('change', "input[name='Invo_Type']", function () { if ($(this).val() == 1) { $(".invo_type1").hide(); } else { $(".invo_type1").show(); } updatePage(); }); /* $("#Main_Content").on('click','#Invo_Agree',function(){ var val = $(this).prop('checked'), data = '&Invo_Agree='+val; updatePage(data); }); */ if ($('.prod_in_page_area').length > 0) { var alert_check_prod_in_page = "親愛的會員您好,目前下列產品正在一頁式購物推廣中,故系統將自動移除\n"; $('.prod_in_page_area .prod_data').each(function (index) { alert_check_prod_in_page += "\n《" + $(this).val() + "》"; }) alert(alert_check_prod_in_page); window.location.reload(); } // 購物流程中登入 $("#Main_Content").on('click', '#Cart_Login_Btn', function (e) { // 先紀錄畫面上資料 updatePage(); window.location.href = '/' + $("#Website_Language").val() +'/' + $("#Website_Mall_ID").val() + '/member-login'; }); //結帳登入 手機驗證碼 function timeout(btn, verifyFlag = true) { let sec = btn.attr('countdown'); let t sec = sec - 1; let count_min = 0; let count_sec = 0; count_min = Math.floor(sec / 60); count_sec = (Array(2).join('0') + (sec % 60)).slice(-2); if (sec != '0') { if(!verifyFlag){ btn.text(`剩餘(${count_min}:${count_sec})`) }else{ btn.text(`送出驗證(${count_min}:${count_sec})`) } btn.attr('countdown', sec); t = setTimeout(function () { timeout(btn, verifyFlag) }, 1000); } else { clearTimeout(t); btn.removeClass("js-verify-submit") if(!verifyFlag){ btn.prop("disabled", false) btn.removeClass("btn-muted") btn.addClass("btn-primary") } btn.text("重發驗證信"); btn.attr('countdown', '0'); } } function smsRemaining(){ let remaining = parseInt($("#SMS_Remaining").val()) let btn = $("#VerifyCode_Button") let isMember = btn.data("is-member") //有倒數中的簡訊驗證 if(remaining && remaining > 0){ $(".cellphone-verify-show").removeClass("hide") if(isMember == 1) { btn.attr("countdown", remaining) btn.addClass("js-verify-submit").html(`送出驗證(${String(Math.floor(remaining / 60)).padStart(2,'0')}:${String(Math.floor(remaining % 60)).padStart(2,'0')})`); timeout(btn) } else { btn.prop("disabled", true) btn.removeClass("btn-primary") btn.addClass("btn-muted") btn.attr("countdown", remaining) btn.html(`${String(Math.floor(remaining / 60)).padStart(2,'0')}:${String(Math.floor(remaining % 60)).padStart(2,'0')}`); timeout(btn, false) } } } smsRemaining() $("#Main_Content").on('click', '#VerifyCode_Button', function (e) { var Button = $(this); var Email = $('#Email').val(); var Buy_Cellphone = $('#Send_Cellphone').val(); var Password = $('#Login_Password').val(); var Country_Tel_Code = $('#Country_Tel_Code').val(); var Country_ID = $('#Send_Country_ID').val(); if(!Button.hasClass("js-verify-submit")){ //送出驗證信 // if(Email == ""){alert('請輸入訂購人的E-mail');return false;} if (Buy_Cellphone == "") { alert('請輸入訂購人的行動電話'); return false; } // if(Password == ""){alert('請輸入密碼');return false;} // if(Country_Tel_Code == ""){alert("請輸入國碼");return false;} $.ajax({ url: Project_Country + "shopcart/ajax/ajax_verifycode.php", type: "POST", cache: false, data: { Email: Email, CellPhone: Buy_Cellphone, Password: Password, Country_Tel_Code: Country_Tel_Code, Country_ID: Country_ID }, success: function (h) { if (h == "ERROR1") { alert(Email + ' - 此E-Mail已是網站會員,請直接登入。\n若忘記密碼,請按"忘記密碼?"進行索取。'); window.location.href = '/' + $("#Website_Language").val() +'/' + $("#Website_Mall_ID").val() + '/member-login'; } else if (h == "ERROR2") { alert(Buy_Cellphone + ' - 此手機號碼已是網站會員,請直接登入。\n若忘記密碼,請按"忘記密碼?"進行索取。'); window.location.href = '/' + $("#Website_Language").val() +'/' + $("#Website_Mall_ID").val() + '/member-login'; } else if (h == 'OK') { $('#VerifyCode_Tag').hide(); $('#VerifyCode').attr("fun", ""); alert('您已是網站會員,請直接登入。'); window.location.href = '/' + $("#Website_Language").val() +'/' + $("#Website_Mall_ID").val() + '/member-login'; } else if (h == 'RET_REPLY') { alert('請勿重覆發送簡訊, 請等侯10分鐘'); smsRemaining() } else if (h == 'RET_OVER') { alert('手機簡訊發送已上限'); } else if (h == 'RET_CELLPHONE_REPLY') { alert('您已經是會員,請登入會員,如忘記登入密碼,可至會員登入處點選「忘記密碼?」'); window.location.href = '/' + $("#Website_Language").val() +'/' + $("#Website_Mall_ID").val() + '/member-login'; } else if (h == 'RET_OK') { $(".cellphone-verify-show").removeClass("hide") Button.attr("countdown", 600) Button.addClass("js-verify-submit").html('送出驗證(10:00)'); timeout(Button) alert('認證簡訊已發送,請在有效時間內送出驗證'); } else if (h == 'RET_ERROR_CRM') { alert(_jsLang.會員中心呼叫異常); } } }); }else{ //驗證驗證碼 $.ajax({ url: Project_Country + "shopcart/ajax/ajax_verifycode_verify.php", type:"POST", cache:false, dataType:"JSON", data:{ code: $("#SMSCode").val() }, success: function(res){ if(res.status == "OK"){ console.log("aaa") updatePage("&smsverify=success") } if(res.alert){ alert(res.alert) } }, error: function(){ alert('網路連線過慢,網頁請重新整理'); } }) } }) //滿額挑選 $(".GiftpickPopupBtn").click(function () { var oid = $(this).data('oid'); $(".GiftpickOid").val(oid); }) }); // ========================================================== // 退貨保留款使用切換 // ========================================================== ; (function ($) { $('body').on('change', '[name="Member_Money"]', function (e) { // console.log($(this)) if ($(this).val() === 'inUse') { $(this).parents('.content').find('.slideBox').slideDown(500) } }) })($) function updatePage($data, autoStep = true) { $(".loading").show(); var $member = ""; var $invo = ""; // console.log($("#Cart_Step").val()); let step = ''; if (autoStep) { step = "&step=" + $("#Cart_Step").val(); } $(".card_content").each(function () { if ($(this).attr("name") && $(this).attr("name") != undefined) { $member += '&' + $(this).attr("name") + '=' + $(this).val(); } }); $("#Buy_Data").find("input:text,input:checked,select,input:password").each(function () { if ($(this).attr("name") && $(this).attr("name") != undefined) { $member += '&' + $(this).attr("name") + '=' + $(this).val(); } }); $("#Send_Data").find("input:text,input:hidden,input:checked,select,textarea").each(function () { if ($(this).attr("name") && $(this).attr("name") != undefined) { if($(this).attr("name") == 'Send_Country' && $data && $data.indexOf('Send_Country') != -1){ }else{ $member += '&' + $(this).attr("name") + '=' + $(this).val(); } } }); $("#Send_Data").find("#Buy_Cellphone").each(function () { if ($(this).attr("name") && $(this).attr("name") != undefined) { $member += '&' + $(this).attr("name") + '=' + $(this).val(); } }); $("#Send_Data").find("#Send_Cellphone").each(function () { if ($(this).attr("name") && $(this).attr("name") != undefined) { $member += '&' + $(this).attr("name") + '=' + $(this).val(); } }); $("#Send_Data").find("#Login_Password").each(function () { if ($(this).attr("name") && $(this).attr("name") != undefined) { $member += '&' + $(this).attr("name") + '=' + $(this).val(); } }); $("#Send_Data").find("#Login_Password2").each(function () { if ($(this).attr("name") && $(this).attr("name") != undefined) { $member += '&' + $(this).attr("name") + '=' + $(this).val(); } }); $("#Send_Data").find("#Code").each(function () { if ($(this).attr("name") && $(this).attr("name") != undefined) { $member += '&' + $(this).attr("name") + '=' + $(this).val(); } }); $("#Send_Data").find("#Send_Time24").each(function () { var val = $(this).is(":checked") ? '1' : '0'; $member += '&' + $(this).attr("id") + '=' + val; }); $("#Send_Data").find("#Send_Time21").each(function () { var val = $(this).is(":checked") ? '1' : '0'; $member += '&' + $(this).attr("id") + '=' + val; }); $("#Send_Data").find("#Send_Time22").each(function () { var val = $(this).is(":checked") ? '1' : '0'; $member += '&' + $(this).attr("id") + '=' + val; }); $("#Invo_Data").find("input:text,input:checked,select").each(function () { $invo += '&' + $(this).attr("name") + '=' + $(this).val(); }); $invo += '&Member_Agree=' + $("#Member_Agree").val(); keepTop() $.ajax({ url: Project_Country + "shopcart/ajax/ajax_cart_update.php", type: "POST", cache: false, async: false, data: $data + $member + $invo + '&updatePage=1&Cart_Type=' + $("#Cart_Type").val() + step, error: function (d) { alert('網路連線過慢,網頁請重新整理'); }, success: function (d) { var _window = $(window); var change_1023 = 1024; $("#Main_Content").html(d); toTop() // runOproductSlide() formAuth() // var bill = JSON.parse(base64_decode($("#Bill_Update").val())); // console.log(bill); // for(s in bill){ // $("#Bill_"+s).html(bill[s]); // } if ($("#Coupon_Msg").val()) { alert($("#Coupon_Msg").val()); } $(".GiftpickPopupBtn").click(function () { var oid = $(this).data('oid'); $(".GiftpickOid").val(oid); }) $("#Show_Shopcart_Total").html($("#Shop_Cart_Total_Update").val()); runSildeBoxOwl() //修改國旗圖片 $.post(Project_Country + 'ajax/ajax_change_country.php', { Type: 'update', ID: $("#Update_Country_ID").val() }, function (h) { if (h.status == 'SUCCESS') { $("#This_Country_Pic").attr("src", "/upload_files/fonlego-rwd/website/" + h.pic); } }, 'json'); $(".loading").fadeOut(); var file_Obj = new prod_file({ amountBox: 'num-select', specUrl: Project_Country + 'shopcart/ajax/ajax_get_item.php', ordButton: 'button2' }); file_Obj.init(); } }); } function runSildeBoxOwl() { const block = $(".shopcart-product-slide") block.each(function(){ const _this = $(this) initSwiper(_this) $(window).on("resize", function(){ initSwiper(_this) }) }) function initSwiper(parent){ const swiper = new Swiper(parent.find('.swiper')[0] , { loop:false, centeredSlides: false, navigation: { nextEl: parent.find('.swiper-button-next')[0], prevEl: parent.find('.swiper-button-prev')[0], }, pagination: { el: parent.find('.swiper-pagination')[0], clickable: true }, breakpoints: { 0: { slidesPerView: 2.2, spaceBetween: 12 }, 450: { slidesPerView: 3.5, spaceBetween: 12 }, 576: { slidesPerView: 4.5, spaceBetween: 16 }, 768: { slidesPerView: 5.5, spaceBetween: 20 }, 1200: { slidesPerView: 6, spaceBetween: 20, slidePerGrroup:6 }, 1440: { slidesPerView: 7, spaceBetween: 20, slidePerGrroup:7 } }, on: { init: function(){ updateToolbar(parent) }, resize: function(){ updateToolbar(parent) } } }) } function updateToolbar(parent){ let toolbar = parent.find(".swiper-toolbar") if($(window).width() < 576){ checkToolbar(parent, toolbar, Infinity) }else if($(window).width() >= 576 && $(window).width() < 768){ checkToolbar(parent, toolbar, Infinity) }else if($(window).width() >= 768 && $(window).width() < 1200){ checkToolbar(parent, toolbar, Infinity) }else if($(window).width() >= 1200 && $(window).width() < 1440){ checkToolbar(parent, toolbar, 4) }else{ checkToolbar(parent, toolbar, 5) } } $('.sildeBox').owlCarousel({ nav: true, navText: ['', ''], margin: 30, dots: false, responsive: { 0: { items: 1, }, 576: { items: 2, }, 992: { items: 3, }, 1400: { items: 4, }, }, }) } function runOproductSlide() { const owlStep = { responsive: { 0: { items: 1 }, 480: { items: 2 }, 992: { items: 3 } }, nav: true, navText: ['', ''], dots: false, } if ($('.content_1 .click-block').length > 1) { $('.content_1 .click-block').css('width', "98%"); $('.oproduct-tagcontent .content_1').owlCarousel(owlStep); } if ($('.content_2 .click-block2').length > 1) { $('.content_2 .click-block2').css('width', "98%"); $('.oproduct-tagcontent .content_2').owlCarousel(owlStep); } if ($('.content_3 .click-block').length > 1) { $('.content_3 .click-block').css('width', "98%"); $('.oproduct-tagcontent .content_3').owlCarousel(owlStep); } } // ========================================================== // 開啟活動加購跳窗 // ========================================================== ; (function ($) { let canClickAddon = true if (canClickAddon) { $(document).on('click', '.QuickAddon', function (e) { e.preventDefault() canClickAddon = false const act_id = $(this).data("act_id"), serial_no = $(this).data("serial_no"), gap = $(this).data("gap"); $.ajax({ url: Project_Country + 'shopcart/ajax/ajax_popup_addon.php', type: 'POST', dataType: 'HTML', data: { act_id: act_id, serial_no: serial_no, gap: gap }, async: true, }) .done(function (res) { $('body').addClass('overflow-hidden').append(res); }) .fail(function (x, y, z) { console.log(x); }) .always(function () { canClickAddon = true }); }) } })($) // ========================================================== // 開啟滿額贈品挑選彈窗 // ========================================================== ; (function ($) { $(document).on("click", ".btn-gift-change", function () { let target = $(this).data("target") if ($("#" + target).length > 0) { $("#" + target).removeClass("hide") } }) })($) // ========================================================== // step2商品列表折疊 // ========================================================== ; (function ($) { $(document).on("click", ".collapse-title", function () { let wrapper = $(this).parents(".cartBox") wrapper.toggleClass("theme-collapse") }) })($) // ========================================================== // 遊戲後處理 // ========================================================== ; (function ($) { $(document).on("click", ".gift-link", function (e) { e.preventDefault() $("#Main_Form").submit() }) })($) // ========================================================== // 優惠展開摺疊 // ========================================================== ; (function ($) { $(document).on("click", ".discount-list-toggle", function () { $(".discount-list-box").toggleClass("in-collapse") }) })($)