(function() { var take = function() { //DDP const chatform=localStorage.getItem("chatform") function ErrorCheck(){ const chkElm = document.querySelector('.checktype_mail') if(chkElm && chkElm.nextElementSibling.querySelector('[src="/img/sys/input_error.gif"]')){ errorTxt = 'このメールアドレスはすでに登録されています。別のメールアドレスをご利用ください。' ErrSend(errorTxt) } const loginUser_1 = document.querySelector('input#dest_r0') const loginUser_2 = document.querySelector('div#address address') if(loginUser_1 && loginUser_2){ errorTxt = "現在ログイン中のユーザーです。ご購入の際は、マイページからログアウトしたうえで、チャットよりご購入ください。" ErrSend(errorTxt) } function ErrSend(errorTxt){ localStorage.removeItem('pdtype') localStorage.removeItem('wrapping') localStorage.removeItem('secondConfirm') var paramErr={ event: "chatform_bindFormErrorFound", text: errorTxt, } window.parent.postMessage(paramErr, '*'); } } if(chatform){ switch (window.location.pathname) { case '/shop/cart/goodsagree.aspx': let agreeElem = document.querySelector('[name="agree.x"]') if(agreeElem) { agreeElem.click() } break; case '/shop/cart/cart.aspx': let checkEmailErrSp = document.querySelector('.error_') if(checkEmailErrSp) { errorTxt = checkEmailErrSp.innerText.trim() var param5={ event: "chatform_bindFormErrorFound", text: errorTxt, } window.parent.postMessage(param5, '*'); if(errorTxt){ clearStorage() setTimeout(() => { window.parent.location.reload() }, 3500); } } break; case '/shop/lp/refa_dryer_smart.aspx': ErrorCheck() break; case '/shop/lp/refa_dryer.aspx': ErrorCheck() break; case '/shop/lp/refa_hairiron_pro.aspx': ErrorCheck() break; case '/shop/lp/refa_straightiron_pro.aspx': ErrorCheck() break; case '/shop/order/estimate.aspx': let secondConfirm = localStorage.getItem("secondConfirm") //document.addEventListener("DOMContentLoaded", () => { let password = decrypt(localStorage.getItem('password'), "mtg@qur") document.querySelector('[name="pwd"]').value = password document.querySelector('[name="cpwd"]').value = password console.log("no have secondConfirm", secondConfirm) let ccInfo = localStorage.getItem('ccInfo') if(!secondConfirm){ let param = { event: "chatform_page_transition", message: "order first confrm page", totalProcess: ccInfo ? 5 : 6, pageIndex: 1 } window.parent.postMessage(param, "*") localStorage.setItem('secondConfirm', true); const submitCopuon = () => { let CouponLink = document.querySelector('[href*="/shop/order/method.aspx"]'); CouponLink.click() } //for debug setTimeout(submitCopuon, 2500) } if(secondConfirm){ console.log("inside secondConfirm", secondConfirm) let param1 = { event: "chatform_page_transition", message: "order second confrm page", totalProcess: ccInfo ? 5 : 6, pageIndex: 3 } window.parent.postMessage(param1, "*") if(localStorage.getItem('ccInfo')){ var url = "https://pr.aqur.com/track"; function track(trackingData){ fetch(url, { method:"POST", headers:{ "Content-Type" : "application/json"}, body:trackingData }) .then(response => response.json()) .then(data => { console.log("Conversion Tracked!!") //clear localstorage data localStorage.removeItem("chatform"); //localStorage.removeItem("password") localStorage.removeItem("ccInfo") localStorage.removeItem("coupon") localStorage.removeItem('pdtype') localStorage.removeItem('cEmail') localStorage.removeItem('wrapping') localStorage.removeItem('secondConfirm') // sessionStorage.clear(); // localStorage.clear(); let param2 = { event: "chatform_page_transition", message: "order first confrm page", totalProcess: ccInfo ? 5 : 6, pageIndex: 4 } window.parent.postMessage(param2, "*") }) } track(chatform) var param3={ event: "chatform_CreditRedirectPage", url: window.location.href, } window.parent.postMessage(param3, '*'); }else{ const submitNext = () => { //click to /order/order.aspx var subEl = document.querySelector('[value="注文する"]'); subEl.click() } //for debug console.log("submit注文する") setTimeout(submitNext, 2500) } } break; case '/shop/order/method.aspx': let count=0 function checkError(a, b) { var resultArr = [] //Find error then tell to Chatbot const lperror = document.querySelectorAll('.errorBox_ p'); lperror.forEach((val) => { resultArr.push(val.innerText.trim()) }) var errorTxt = "" if (resultArr.length > 0) { errorTxt = resultArr.join("
") } if (errorTxt) { var param2 = { event: "chatform_bindFormErrorFound", text: errorTxt, } window.parent.postMessage(param2, '*'); lperror.innerHTML = "" clearInterval(intervalID); } count++ if (count >= 3) { clearInterval(intervalID); } } const intervalID = setInterval(checkError, 1000); if(localStorage.getItem('coupon') && localStorage.getItem('coupon') !=""){ let inputEvent = new InputEvent('change', { bubbles: true, cancelable: false }); const couponElement = document.querySelector('input[name="coupon"]'); couponElement.value = localStorage.getItem('coupon'); couponElement.dispatchEvent(inputEvent); } if(localStorage.getItem('cEmail')){ let inputEvent1 = new InputEvent('change', { bubbles: true, cancelable: false }); const Email = document.querySelector('[name="s_mail"]'); Email.value = localStorage.getItem('cEmail') Email.dispatchEvent(inputEvent1); const Check_Email = document.querySelector('[name="s_cmail"]'); Check_Email.value = localStorage.getItem('cEmail') Check_Email.dispatchEvent(inputEvent1); } if (localStorage.getItem('wrapping')) { const checkboxes = document.querySelectorAll('input[name^="item"][name$="_1"]'); if (checkboxes.length > 0) { checkboxes.forEach((checkbox) => { if (!checkbox.checked) { checkbox.click(); // Click to check the checkbox } }); } } let param = { event: "chatform_page_transition", message: "order order method change page", totalProcess: localStorage.getItem('ccInfo') ? 5 : 6, pageIndex: 2 } window.parent.postMessage(param, "*") //for fix bug if(localStorage.getItem('ccInfo')){ document.querySelector("#method_pay input[value='D']").click(); } //for fix bug if(!localStorage.getItem('secondConfirm')){ localStorage.setItem('secondConfirm', true); } const submitNext = () => { //click to estimate.aspx var subEl = document.querySelector('input[name="submit.x"]'); subEl.click() } //for debug setTimeout(submitNext, 2500) break; case '/shop/order/order.aspx': //console.log('OrderComplete.aspx'); let param1 = { event: "chatform_page_transition", message: "order complete page", totalProcess: 6, pageIndex: 4 } window.parent.postMessage(param1, "*") //document.addEventListener("DOMContentLoaded", () => { //console.log("DOMContentLoaded OrderComplete.aspx") let checkComplete = () => { let orderId = document.querySelector(".order_id_").innerText var url = "https://pr.aqur.com/track"; function track(trackingData){ fetch(url, { method:"POST", headers:{ "Content-Type" : "application/json"}, body:trackingData }) .then(response => response.json()) .then(data => { console.log("Conversion Tracked!!") //clear localstorage data localStorage.removeItem('secondConfirm') localStorage.removeItem("chatform"); localStorage.removeItem("password") localStorage.removeItem("ccInfo") localStorage.removeItem("coupon") localStorage.removeItem('pdtype') localStorage.removeItem('cEmail') localStorage.removeItem('wrapping') // sessionStorage.clear(); // localStorage.clear(); let param2 = { event: "chatform_page_transition", message: "order complete conversion", totalProcess: 6, pageIndex: 5 } window.parent.postMessage(param2, "*") let param = { event: "chatform_bindFormConversion", order_id: orderId } window.parent.postMessage(param, "*") }) } track(chatform) } checkComplete() //}) break; default: console.log('do nothing'); } }else{ console.log("No Chatform") switch (window.location.pathname) { case '/shop/order/estimate.aspx': console.log(localStorage.getItem('password')) if(localStorage.getItem('password')) { let password = decrypt(localStorage.getItem('password'), "mtg@qur") document.querySelector('[name="pwd"]').value = password document.querySelector('[name="cpwd"]').value = password } break; default: console.log('chat form do nothing'); break; } } document.addEventListener("DOMContentLoaded", () => { //console.log("DOMContentLoaded") var param={ event: "chatform_DOMContentLoaded" } window.parent.postMessage(param, '*'); const lperror = document.querySelector('.lp-error.lp-confirm, .smp-lp-error.smp-lp-confirm'); if(lperror && lperror.innerHTML.trim()){ //console.log(lperror.innerHTML.trim()) const lpshoppingcolumn = document.querySelector('#lpshoppingcolumn, #smp-lpshoppingcolumn'); if(lpshoppingcolumn){ lpshoppingcolumn.style.display= "block"; } lperror.scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest" }); var param={ event: "chatform_bindFormErrorFound", text:lperror.innerHTML.trim(), } window.parent.postMessage(param, '*'); } }) window.addEventListener("message", (event) => { //console.log("window message") if(event.data.event == "chatform_vframe_debug"){ //console.log("chatform_vframe_debug") const lpshoppingcolumn = document.querySelector('#lpshoppingcolumn, #smp-lpshoppingcolumn'); lpshoppingcolumn.style.display= "block"; lpshoppingcolumn.scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest" }); } if(event.data.event == "chatform_bindForm"){ // console.log("1 chatform_bindForm",event.data.project) var project = event.data.project; var arr = project.data; var pdData = event.data.product; var chatform = { pid:project.pid, sid:project.sid, uuId:project.uuId, id:arr[arr.length-1].id } localStorage.setItem('chatform', JSON.stringify(chatform)); localStorage.setItem('pdtype', pdData); if(findOption(arr, 'payment') == 'D') { // const ccInfo = { // "CardNumber": findValue(arr, "dwfrm_billing_paymentMethods_creditCard_number"), // "CardExpiryYear": findValue(arr, "dwfrm_billing_paymentMethods_creditCard_year"), // "CardExpiryMonth": findValue(arr, "dwfrm_billing_paymentMethods_creditCard_month"), // "CardCVC": findValue(arr, "dwfrm_billing_paymentMethods_creditCard_cvn"), // "CardHolderName": findValue(arr, "CardHolderName") // } //localStorage.setItem('ccInfo', JSON.stringify(ccInfo)); localStorage.setItem('ccInfo', true); }else{ localStorage.removeItem("ccInfo") } let encPass = encrypt(findValue(arr, 'Password'), "mtg@qur") localStorage.setItem('password', encPass); //console.log("coupon=>", findValue(arr, "coupon")) // console.log("coupon2 => ", findValue(arr, "coupon2")) // localStorage.setItem('coupon', "dryer2000"); if(pdData == "dry2" && findValue(arr, "coupon2") !="Undefind"){ localStorage.setItem('coupon', findValue(arr, "coupon2")); }else if(pdData == "dryer" && findValue(arr, "coupon") !="Undefind"){ localStorage.setItem('coupon', findValue(arr, "coupon")); }else if(pdData == "dry2"){ //dry2のLPにdefaultする localStorage.setItem('coupon', "dryer2409"); } bindForm(arr, pdData) } if(event.data.event == "chatform_bindFormSubmit"){ //console.log("chatform_bindFormSubmit") bindFormSubmit() } if(event.data.event == "chatform_bindFormUpcell"){ //console.log("chatform_bindFormSubmit") document.getElementById("ups_button").click(); } }) function bindForm(d, productType){ // console.log("bindForm",d) // console.log("productType", productType) let selectEvent = new Event('change', { bubbles: true, composed: true }) let inputEvent = new InputEvent('change', { bubbles: true, cancelable: false }); var wrappingA = findOptionByID(d, "070b055") var wrappingB = findOptionByID(d, "820bbe2") if(wrappingA !="Undefind" && wrappingA == "希望する"){ localStorage.setItem("wrapping", true) }else if(wrappingB !="Undefind" && wrappingB == "希望する"){ localStorage.setItem("wrapping", true) }else{ localStorage.removeItem("wrapping") } //商品「ラジオボタンに選択」 if(productType == "dryer"){ dryerProductSelect(d) }else if(productType == "dry2"){ dry2ProductSelect(d) }else if(productType == "hairiron"){ hairironProductSelect(d) }else if(productType == "straightiron"){ straightironProductSelect(d) } // 宅配ボックスへ配達希望 let isAgree = findOption(d, "6b57e15_1") var agreement = 'input[name="string18"]'; const agreementEl = document.querySelector(agreement); if(isAgree) agreementEl.checked=true; else agreementEl.checked=true; const LastName = document.querySelector('[name="s_name"]'); LastName.value = findValue(d,"lastname") LastName.dispatchEvent(inputEvent); const FirstName = document.querySelector('[name="s_name2"]'); FirstName.value = findValue(d,"firstname") FirstName.dispatchEvent(inputEvent); const LastNameKana = document.querySelector('[name="s_kana"]'); LastNameKana.value = findValue(d,"furigana_firstname") LastNameKana.dispatchEvent(inputEvent); const FirstNameKana = document.querySelector('[name="s_kana2"]'); FirstNameKana.value = findValue(d,"furigana_mei") FirstNameKana.dispatchEvent(inputEvent); // 必須 let gender = findOption(d,"gender"); document.querySelector("input[name='sex-pseudo'][value='"+ gender +"']").checked = true; document.querySelector("input[name='sex-pseudo'][value='"+ gender +"']").dispatchEvent(selectEvent) var Year = findOptionValue(d, "Year"); var Month = findOptionValue(d, "Month"); Month = Month > 9 ? Month : "0" + Month var Day = findOptionValue(d, "Day"); Day = Day > 9 ? Day : "0" + Day if(Year !="Undefind"){ document.querySelector("select[name='yy_s_birth'] option[value='"+Year+"']").selected = true; const bdYear = document.querySelector("select[name='yy_s_birth']"); bdYear.dispatchEvent(new Event('change', { bubbles: true, composed: true })); } if(Month !="Undefind"){ document.querySelector("select[name='mm_s_birth'] option[value='"+Month+"']").selected = true; const bdMonth = document.querySelector("select[name='mm_s_birth']"); bdMonth.dispatchEvent(new Event('change', { bubbles: true, composed: true })); } if(Day !="Undefind"){ document.querySelector("select[name='dd_s_birth'] option[value='"+Day+"']").selected = true; const bdDay = document.querySelector("select[name='dd_s_birth']"); bdDay.dispatchEvent(new Event('change', { bubbles: true, composed: true })); } const Tel = document.querySelector("input[name='s_tel']"); Tel.value = findValue(d,"phone") Tel.dispatchEvent(inputEvent); const Email = document.querySelector('[name="s_mail"]'); Email.value = findValue(d, "email") Email.dispatchEvent(inputEvent); const Check_Email = document.querySelector('[name="s_cmail"]'); Check_Email.value = findValue(d, "email") Check_Email.dispatchEvent(inputEvent); localStorage.setItem("cEmail", findValue(d, "email")) const Zip = document.querySelector('[name="s_zip"]'); Zip.value = findValue(d,"zip") Zip.dispatchEvent(inputEvent); var Area = findValue(d, "area"); document.querySelector("select[name='s_pref'] option[value='"+Area+"']").selected = true; const eleArea = document.querySelector("select[name='s_pref']"); eleArea.dispatchEvent(new Event('change', { bubbles: true, composed: true })); const City = document.querySelector('[name="s_addr"]'); City.value = findValue(d,"city") City.dispatchEvent(inputEvent); const Address1 = document.querySelector('[name="s_addr2"]'); Address1.value = findValue(d,"street") Address1.dispatchEvent(inputEvent); const Address2 = document.querySelector('[name="s_addr3"]'); Address2.value = findValue(d,"building") Address2.dispatchEvent(inputEvent); let payment_id = findOption(d, 'payment') if(payment_id == "D"){ payment_id = "2" } //console.log("payment_id", payment_id) if(document.querySelector("#method_radio input[type='radio'][value='"+payment_id+"']") !== null){ document.querySelector("#method_radio input[type='radio'][value='"+payment_id+"']").checked = true; }else{ document.querySelector("#method_pay input[value='"+payment_id+"']").checked = true; } // 配送希望時間: const bindDeliTime = () => { var delivery_time = findOption(d,"delivery_time"); //console.log(delivery_time) const SelectDeliTime = document.querySelector("[name='time_spec'] option[value='"+delivery_time+"']"); SelectDeliTime.selected=true; SelectDeliTime.dispatchEvent(new Event('change')); } setTimeout(bindDeliTime, 1000) } function dryerProductSelect(d) { let GoodsName = "", GoodsType = "", goods = ""; // 商品名取得 const nameRaw = findOptionByID(d, "6de41c8"); if (nameRaw && nameRaw !== "Undefind") { GoodsName = nameRaw.split(">")[1].split("<")[0]; // console.log("GoodsName",GoodsName) } // タイプ取得 const typeRaw = findOptionByID(d, "8a80123"); if (typeRaw && typeRaw !== "Undefind") { GoodsType = typeRaw; //console.log("GoodsType", GoodsType) } // 商品判定 if (/つけない/.test(GoodsType) && /ホワイト/.test(GoodsName)) { goods = "5608720301"; } else if (/つける/.test(GoodsType) && /ホワイト/.test(GoodsName)) { goods = "5608720401"; } else if (/つけない/.test(GoodsType) && /ブラック/.test(GoodsName)) { goods = "5609420301"; } else if (/つける/.test(GoodsType) && /ブラック/.test(GoodsName)) { goods = "5609420401"; } else if (/つけない/.test(GoodsType) && /ピンク/.test(GoodsName)) { goods = "1150420201"; } else if (/つける/.test(GoodsType) && /ピンク/.test(GoodsName)) { goods = "1150420401"; } // クーポンなし(念のためリセット) localStorage.setItem('coupon', ""); // 商品選択 if (goods) { const inputEl = document.querySelector(`input[value='${goods}']`); if (inputEl) inputEl.checked = true; } } function dry2ProductSelect(d) { let goods = "", GoodsName = "", GoodsPrice = "", GoodType = ""; const nameRaw = findOptionByID(d, "c97de4d"); if (nameRaw && nameRaw !== "Undefind") { GoodsName = nameRaw.split(">")[1].split("<")[0]; } if (/リファビューテックドライヤースマート ダブル/.test(GoodsName)) { GoodType = findOptionByID(d, "10e2cd8") || ""; GoodsPrice = findOptionByID(d, "76038e5") || ""; // console.log("GoodType",GoodType) // console.log("GoodType",GoodsPrice) if (/ホワイト/.test(GoodType) && /つける/.test(GoodsPrice)) goods = "1382920301"; else if (/ホワイト/.test(GoodType) && /つけない/.test(GoodsPrice)) goods = "1382920201"; else if (/ブラック/.test(GoodType) && /つける/.test(GoodsPrice)) goods = "1383620301"; else if (/ブラック/.test(GoodType) && /つけない/.test(GoodsPrice)) goods = "1383620201"; else if (/ピンク/.test(GoodType) && /つける/.test(GoodsPrice)) goods = "1384320301"; else if (/ピンク/.test(GoodType) && /つけない/.test(GoodsPrice)) goods = "1384320201"; else if (/アイボリー/.test(GoodType) && /つける/.test(GoodsPrice)) goods = "1914120302"; else if (/アイボリー/.test(GoodType) && /つけない/.test(GoodsPrice)) goods = "1914120201"; } if (/リファビューテック ドライヤーS+/.test(GoodsName)) { GoodType = findOptionByID(d, "051197") || ""; GoodsPrice = findOptionByID(d, "c66a7d") || ""; // console.log("GoodType",GoodType) // console.log("GoodType",GoodsPrice) if (/ホワイト/.test(GoodType) && /つける/.test(GoodsPrice)) goods = "1850320401"; else if (/ホワイト/.test(GoodType) && /つけない/.test(GoodsPrice)) goods = "1850320301"; else if (/ブラック/.test(GoodType) && /つける/.test(GoodsPrice)) goods = "1851020501"; else if (/ブラック/.test(GoodType) && /つけない/.test(GoodsPrice)) goods = "1851020401"; else if (/ピンク/.test(GoodType) && /つける/.test(GoodsPrice)) goods = "852720302"; else if (/ピンク/.test(GoodType) && /つけない/.test(GoodsPrice)) goods = "852720201"; } if (/リファビューテック ドライヤーBX/.test(GoodsName)) { GoodType = findOptionByID(d, "051197") || ""; GoodsPrice = findOptionByID(d, "76103e") || ""; // console.log("GoodType",GoodType) // console.log("GoodType",GoodsPrice) if (/ホワイト/.test(GoodType) && /つける/.test(GoodsPrice)) goods = "1246310201"; else if (/ホワイト/.test(GoodType) && /つけない/.test(GoodsPrice)) goods = "1246310101"; else if (/ブラック/.test(GoodType) && /つける/.test(GoodsPrice)) goods = "1247010201"; else if (/ブラック/.test(GoodType) && /つけない/.test(GoodsPrice)) goods = "1247010101"; else if (/ピンク/.test(GoodType) && /つける/.test(GoodsPrice)) goods = "1248720201"; else if (/ピンク/.test(GoodType) && /つけない/.test(GoodsPrice)) goods = "1247010101"; } localStorage.setItem('coupon', "") // localStorage.setItem('coupon', "REFAIR2501") // console.log("GoodsName =>", GoodsName) // console.log("GoodType =>", GoodType) // console.log("GoodsPrice =>", GoodsPrice) // console.log("good=>", goods) if (goods) { const inputEl = document.querySelector(`input[value='${goods}']`); if (inputEl) inputEl.checked = true; } } function hairironProductSelect(d) { let GoodsName2 = "", GoodsSize = "", GoodsColor1 = "", GoodsColor = "", goods2 = ""; // 商品名の取得 const nameRaw = findOptionByID(d, "78d6737"); if (nameRaw && nameRaw !== "Undefind") { GoodsName2 = nameRaw.split(">")[1].split("<")[0]; } // リファカールアイロン プロ if (/リファカールアイロン プロ/.test(GoodsName2)) { GoodsSize = findOptionByID(d, "65d0ab5") || ""; GoodsColor1 = findOptionByID(d, "b598524") || ""; // console.log("GoodsSize",GoodsSize) // console.log("GoodsColor1",GoodsColor1) if (/38cm/.test(GoodsSize) && /ホワイト/.test(GoodsColor1)) goods2 = "1195520501"; else if (/38cm/.test(GoodsSize) && /ブラック/.test(GoodsColor1)) goods2 = "1195520601"; else if (/32cm/.test(GoodsSize) && /ホワイト/.test(GoodsColor1)) goods2 = "1195520101"; else if (/32cm/.test(GoodsSize) && /ブラック/.test(GoodsColor1)) goods2 = "1195520201"; else if (/26cm/.test(GoodsSize) && /ホワイト/.test(GoodsColor1)) goods2 = "1195520301"; else if (/26cm/.test(GoodsSize) && /ブラック/.test(GoodsColor1)) goods2 = "1195520401"; else if (/19cm/.test(GoodsSize) && /ホワイト/.test(GoodsColor1)) goods2 = "1195520701"; else if (/19cm/.test(GoodsSize) && /ブラック/.test(GoodsColor1)) goods2 = "1195520801"; } //2025/06/03 // アイロン2000円クーポン(対象商品:ストレートアイロン、カールアイロン) // クーポンコード:REFAIR2506 // アイロン1000円クーポン(対象商品:フィンガーアイロン) // クーポンコード:iron_chat_2507 // リファストレートアイロン プロ if (/リファストレートアイロン プロ/.test(GoodsName2)) { GoodsColor = findOptionByID(d, "d4880f1") || ""; // console.log("GoodsColor",GoodsColor) if (/ホワイト/.test(GoodsColor)) goods2 = "1191720701"; else if (/ブラック/.test(GoodsColor)) goods2 = "1191720801"; else if (/ピンク/.test(GoodsColor)) goods2 = "1191720301"; } // リファフィンガーアイロン ST if (/リファフィンガーアイロン ST/.test(GoodsName2)) { GoodsColor = findOptionByID(d, "3c6dd8") || ""; // console.log("GoodsColor",GoodsColor) if (/ホワイト/.test(GoodsColor)) goods2 = "5439720101"; else if (/ブラック/.test(GoodsColor)) goods2 = "5605620101"; else if (/ピンク/.test(GoodsColor)) goods2 = "5439720301"; } // クーポン設定 if (/リファカールアイロン プロ/.test(GoodsName2) || /リファストレートアイロン プロ/.test(GoodsName2)) { localStorage.setItem('coupon', "REFAIR2506"); } else if (/リファフィンガーアイロン ST/.test(GoodsName2)) { localStorage.setItem('coupon', "iron_chat_2507"); } else { localStorage.setItem('coupon', ""); } // 商品選択 if (goods2) { const inputEl = document.querySelector(`input[value='${goods2}']`); if (inputEl) inputEl.checked = true; } //console.log("goods2 =>", goods2); } function straightironProductSelect(d) { // 商品情報取得 const goods4 = findOptionByID(d, "30b89a2") || ""; //console.log("goods4",goods4) let goods = ""; if (/リファストレートアイロン プロ/.test(goods4)) { if (/ホワイト/.test(goods4)) { goods = "1191720701"; } else if (/ブラック/.test(goods4)) { goods = "1191720801"; } else if (/ピンク/.test(goods4)) { goods = "1191720301"; } else if (/アイボリー/.test(goods4)) { goods = "1915820101"; } } // console.log("goods straightiron =>",goods) // クーポン設定 localStorage.setItem('coupon', "REFAIR2506"); // 商品選択 if (goods) { const inputEl = document.querySelector(`input[value='${goods}']`); if (inputEl) inputEl.checked = true; } } function bindFormSubmit(){ //console.log("bindFormSubmit") var setSubmit = () => { document.body.classList.remove("chat_open"); var submit = 'input[name="order"]'; const submitEl = document.querySelector(submit); submitEl.click() }; //for fix bug if(localStorage.getItem('secondConfirm')){ localStorage.removeItem('secondConfirm'); } setTimeout(setSubmit, 2000); let param = { event: "chatform_page_transition", message: "order start", totalProcess: 6, pageIndex: 0 } window.parent.postMessage(param, "*") let count=0 function checkError(a, b) { var resultArr = [] //Find error then tell to Chatbot const lperror = document.querySelectorAll('.errorBox_ p'); lperror.forEach((val) => { resultArr.push(val.innerText.trim()) }) var errorTxt = "" if(resultArr.length > 0){ errorTxt = resultArr.join("
") } if(errorTxt){ var param2={ event: "chatform_bindFormErrorFound", text: errorTxt, } window.parent.postMessage(param2, '*'); lperror.innerHTML="" clearInterval(intervalID); } count++ if(count>=3){ clearInterval(intervalID); } } const intervalID = setInterval(checkError, 1000); } function clearStorage() { return new Promise((resolve, reject) => { try { // Clear localStorage and sessionStorage localStorage.clear(); sessionStorage.clear(); // Clear cookies const cookies = document.cookie.split("; "); for (const cookie of cookies) { const eqPos = cookie.indexOf("="); const name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie; document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/"; } // Clear IndexedDB const databases = indexedDB.databases(); databases.then((dbs) => { const deletePromises = []; dbs.forEach((db) => { const deletePromise = new Promise((res, rej) => { const req = indexedDB.deleteDatabase(db.name); req.onsuccess = () => res(); req.onerror = () => rej(req.error); }); deletePromises.push(deletePromise); }); return Promise.all(deletePromises); }).then(resolve).catch(reject); } catch (error) { reject(error); } }); } function bindText(d,t,n){ //console.log(t) const el = document.querySelector(t); if(el){ el.value = findValue(d,n); el.dispatchEvent(new Event('change')); } } function bindSelect(d,t,n){ //console.log(t) const el = document.querySelector(t); var value = findOption(d,n); if(el){ el.querySelector("option[value='"+value+"']").selected = true; } } function bindRadio(d,t,n){ //console.log(t) var value = findOption(d,n); var str = t +"[value='"+value+"']" const el = document.querySelector(str); if(el){ el.click() } } function bindCheckbox(d,t,n){ //console.log(t) var values = findOptions(d,n); values.forEach(function(v) { var str = t +"[value='"+v+"']" const el = document.querySelector(str); if(el){ el.checked=true el.dispatchEvent(new Event('change')); } }) } //radio return single value function findValue(d,n){ //console.log(d,n) let value="Undefind"; rtn = value; for(var i=0; i < d.length; i++){ var item = d[i]; if(item.values){ item.values.forEach(function(v) { //console.log(v.name, n) if(v.name==n){ //console.log(n, v.name) rtn = v.value } }) } } //console.log(n,rtn) return rtn } //radio return single value function findOptionValue(d,n){ //console.log(d,n) let value="Undefind"; rtn = value; for(var i=0; i < d.length; i++){ var item = d[i]; if(item.values){ item.values.forEach(function(v) { //console.log(v.name, n) if(v.name==n){ //console.log(n, v.name) if(v.value !=""){ rtn = v.value return rtn } } }) } } //console.log(n,rtn) return rtn } //radio return single value function findOption(d,n){ //console.log(n) let value="Undefind"; rtn = value; for(var i=0; i < d.length; i++){ var item = d[i]; //console.log(item) if(item.options){ item.options.forEach(function(v) { if(v.name==n && v.checked){ //console.log(v) rtn = v.value } }) } } return rtn } function findOptionLabel(d,n){ //console.log(n) let value="Undefind"; rtn = value; for(var i=0; i < d.length; i++){ var item = d[i]; //console.log(item) if(item.options){ item.options.forEach(function(v) { if(v.name==n && v.checked){ //console.log(v) rtn = v.label } }) } } return rtn } //radio return single value function findOptionByID(d,id){ //console.log(n) let value="Undefind"; rtn = value; for(var i=0; i < d.length; i++){ var item = d[i]; //console.log(item) if(item.options && item.id == id){ item.options.forEach(function(v) { if(v.checked){ //console.log(v) rtn = v.label } }) } } return rtn } //checkbox return array function findOptions(d,n){ rtn = []; for(var i=0; i < d.length; i++){ var item = d[i]; if(item.options){ item.options.forEach(function(v) { var reg = new RegExp(n) if(reg.test(v.name) && v.checked){ rtn.push(v.value) } }) } } return rtn } function encrypt(text, key) { return [...text].map((x, i) => (x.codePointAt() ^ key.charCodeAt(i % key.length) % 255) .toString(16) .padStart(2, "0") ).join('') } function decrypt(text, key) { return String.fromCharCode(...text.match(/.{1,2}/g) .map((e, i) => parseInt(e, 16) ^ key.charCodeAt(i % key.length) % 255) ) } //Inserted End } setTimeout(take, 0); }())