(function() { var take = function() { window.AqurBaseURL = 'https://pr.aqur.com'; var vframe; document.addEventListener("DOMContentLoaded", () => { //console.log("DOMContentLoaded") }) window.addEventListener("chatform_initialized", (event) => { /* var launchBtn = document.createElement("img"); var btnUrl = "https://res.cloudinary.com/dts6mbw86/image/upload/f_auto/v1709101462/aqur/mtg/chatbot_btn_fgz5fl.png" launchBtn.src = btnUrl; launchBtn.classList.add("launchBtn"); launchBtn.classList.add("chatformBtn"); document.body.appendChild(launchBtn); launchBtn.style.position = "fixed"; launchBtn.style.bottom = "61px"; */ }) function render(template, data) { //console.log("render",template,data) return template.replace(/{{(.*?)}}/g, (match) => { return data[match.split(/{{|}}/).filter(Boolean)[0].trim()] }) } function activateChatformWidget() { if (!chatform_initialized) { console.log("Aqur is not ready") return } const w = document.querySelector('.chatform_widget'); w.classList.toggle("close"); if (w.classList.contains("close")) { document.body.classList.remove("chat_open"); } else { document.body.classList.add("chat_open"); } } var chatform_initialized = false const pid = "spr"; const target = "production"; const mode = "release"; const device = JSON.parse("false".toLowerCase()) ? "mobile" : "pc"; const launch = "click"; const client = "https://form.aqur.com/"; let REF = new URL(window.location); let userChatbot = REF.searchParams.get('usechatbot') if (userChatbot == "no") { console.log("no chatbot") return } REF.searchParams.append('pid', pid); REF.searchParams.append('mode', mode); REF.searchParams.append('target', target); REF.searchParams.append('hash', "31e3865a-d4de-4fa2-a94e-36dad32f6f22"); REF.searchParams.append('browser', "undefined"); REF.searchParams.append('device', device); REF.searchParams.append('os', "undefined"); REF.searchParams.append('ua', "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"); REF.searchParams.append('ip', "3.144.252.197"); REF.searchParams.append('ref', REF.href); REF.searchParams.append('path', REF.pathname); //for UI REF.searchParams.append('CLIENT_ID', 'PR'); REF.searchParams.append('BASE_URL', 'https://pr.aqur.com'); REF.searchParams.append('HEADER_LABEL', ''); REF.searchParams.append('HEADER_BG_COLOR', '#fff'); REF.searchParams.append('HEADER_LABEL_COLOR', '#fff'); REF.searchParams.append('SHOW_TIMER', 'false'); REF.searchParams.append('ICON_PATH', 'https://res.cloudinary.com/dts6mbw86/image/upload/v1713319985/aqur/common/icon_azvikf.png'); let search = REF.search.slice(1) //console.log(search) let widget = render( '' + '', { device: device, client: client, search: (search) ? "&" + search : "", } ); const body = document.body; if (body) { var filterId; const chatbotProgressBar = "
" body.insertAdjacentHTML('beforeend', chatbotProgressBar); body.classList.add(device) body.insertAdjacentHTML('beforeend', widget); const target = document.querySelector('.chatform_widget'); const observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { if (!target.classList.contains("close")) { var contentWindow = target.contentWindow; if (contentWindow) { contentWindow.postMessage("chat_open", "*"); contentWindow.postMessage( { type: "filterIdChanged", data: filterId }, "*"); } } }); }); const config = { characterData: true, attributes: true, subtree: true }; observer.observe(target, config); } let creationComplete = function () { if (device == "pc") { var resize = () => { let zoom_level = window.devicePixelRatio || window.screen.availWidth / document.documentElement.clientWidth * 100; const targets = document.querySelectorAll('body,.chatform_widget'); if (zoom_level >= 3) { targets[0].classList.add("mobile") targets[0].classList.remove("pc") targets[1].classList.add("mobile") targets[1].classList.remove("pc") } else { targets[0].classList.add("pc") targets[0].classList.remove("mobile") targets[1].classList.add("pc") targets[1].classList.remove("mobile") } } resize() window.addEventListener("resize", () => { resize() }) } document.addEventListener('click', (event) => { if (event.target && event.target.closest('.chatformBtn') || event.target.classList.contains("chatformBtn") || event.target.id == "chatform_widget_cancelbtn" ) { activateChatformWidget() filterId = event.target.closest(".chatformBtn").dataset.filterid } }); document.dispatchEvent(new CustomEvent("chatform_widget_creation_complete")); }; setTimeout(creationComplete, 0); window.addEventListener("message", (event) => { if (event.data.event == "redirect_thankPage") { //console.log("redirect_chatform", event.data.event) const target = document.querySelector('.chatform_widget'); var param = { event: "chatform_clear" } target.contentWindow.postMessage(param, "*"); let redirect = function () { window.location.href = event.data.url } setTimeout(redirect, 500); } /* Default Actions*/ if (event.data.event == "chatform_start") { console.log(event.data.uuId) } if (event.data.event == "chatform_close") { activateChatformWidget(); } if (event.data.event == "chatform_evalScript") { window.eval(event.data.script) } if (event.data.event == "chatform_insertTag") { body.insertAdjacentHTML("beforeend", event.data.tag); event.data.scripts.forEach((item) => { eval(item.textContent) }) } if (event.data.event == "chatform_initialized") { //console.log("Aqur Initialized") document.getElementById("chatbotProgressBar").style.width = "100%"; var opacity = function () { document.getElementById("chatbotProgressBar").style.opacity = "0"; }; setTimeout(opacity, 1000); chatform_initialized = true; if (launch == "auto") { activateChatformWidget(); } window.dispatchEvent(new CustomEvent("chatform_initialized")); } if (event.data.event == "chatform_vframe_bind") { //console.log("chatform_vframe_bind",event.data.project) var project = event.data.project; var arr = event.data.project.data var chatform = { pid: project.pid, sid: project.sid, uuId: project.uuId, id: arr[arr.length - 1].id } localStorage.setItem('chatform', JSON.stringify(chatform)); //console.log("arr",arr) bindForm(arr) } if (event.data.event == "chatform_vframe_submit") { //console.log("chatform_vframe_submit") var upSell = event.data.upSell; bindFormSubmit(upSell) } if (event.data.event == "chatform_bindFormErrorFound") { //console.log("chatform_bindFormErrorFound") const target = document.querySelector('.chatform_widget'); var param = { event: "chatform_bindFormErrorFound", text: event.data.text } target.contentWindow.postMessage(param, "*"); } if (event.data.event == "chatform_bindClick") { //console.log("chatform_bindClick",event.data) document.getElementById(event.data.elementId).click(); } if (event.data.event == "chatform_bindCheck") { //console.log("chatform_bindCheck",event.data) document.getElementById(event.data.elementId).click(); } }, false) } setTimeout(take, 0); const toggleCheckbox = (checkboxSelector, checked) => { return new Promise((resolve, reject) => { const checkbox = document.querySelector(checkboxSelector); if (checkbox) { checkbox.checked = checked; let event = new Event('change', { bubbles: true, composed: true }); checkbox.dispatchEvent(event); resolve(`Checkbox with selector '${checkboxSelector}' set to ${checked} and event dispatched.`); } else { reject(new Error(`Checkbox with selector '${checkboxSelector}' not found.`)); } }); }; const fillInput = (selector, value) => { return new Promise((resolve, reject) => { let inputEvent = new InputEvent('input', { bubbles: true, cancelable: false }); let inputEvent2 = new InputEvent('change', { bubbles: true, cancelable: false }); const inputElement = document.querySelector(selector); if (inputElement) { inputElement.value = value; inputElement.dispatchEvent(inputEvent); inputElement.dispatchEvent(inputEvent2); resolve(`Input with name "${selector}" filled and event dispatched`); } else { reject(`Element with name "${selector}" not found.`); } }); }; const chooseSelectBox = (selectBoxSelector, value, options = { useOptionVal: true, useInnerText: false }) => { return new Promise((resolve, reject) => { let option = ""; if (options.useInnerText) { option = Array.from(document.querySelectorAll(`${selectBoxSelector} option`)).find(opt => opt.innerText.trim() === value); } else if (options.useOptionVal) { option = document.querySelector(`${selectBoxSelector} option[value='${value}']`); } else { option = document.querySelector(`${selectBoxSelector} option[label='${value}']`); } const selectElement = document.querySelector(`${selectBoxSelector}`); if (option && selectElement) { option.selected = true; const event = new Event('change', { bubbles: true, composed: true }); selectElement.dispatchEvent(event); resolve(`Select box with name '${selectBoxSelector}' set to option with ${options.useInnerText ? 'text' : 'value'} '${value}' and event dispatched.`); } else { reject(new Error(`Select box with name '${selectBoxSelector}' and option with ${options.useInnerText ? 'text' : 'value'} '${value}' not found.`)); } }); }; const chooseRadioButton = (radioSelector, value) => { return new Promise((resolve, reject) => { const radioButton = document.querySelector(`${radioSelector}[value='${value}']`); if (radioButton) { radioButton.checked = true; let event = new Event('change', { bubbles: true, composed: true }) radioButton.dispatchEvent(event); resolve(`Radio button with name '${radioSelector}' and value '${value}' selected and event dispatched.`); } else { reject(new Error(`Radio button with name '${radioSelector}' and value '${value}' not found.`)); } }); }; const waitForElement = (selectors, timeout = 5000) => { return new Promise((resolve, reject) => { const interval = 100; let elapsedTime = 0; const checkExistence = () => { for (const selector of selectors) { const element = document.querySelector(selector); if (element) { resolve(element); return; } } elapsedTime += interval; if (elapsedTime >= timeout) { reject(new Error(`None of the elements with selectors "${selectors.join(', ')}" were found within the timeout`)); } else { setTimeout(checkExistence, interval); } }; checkExistence(); }); }; const waitForValue = (selector, options = {}) => { const { timeout = 10000, interval = 100, attribute = 'value' } = options; return new Promise((resolve, reject) => { let elapsedTime = 0; const checkValue = () => { const element = document.querySelector(selector); if (element) { const actualValue = element[attribute] || element.getAttribute(attribute); if (actualValue && actualValue.trim() !== '') { resolve(element); return; } } elapsedTime += interval; if (elapsedTime >= timeout) { reject(new Error(`Element with selector "${selector}" did not have a value within the timeout`)); } else { setTimeout(checkValue, interval); } }; checkValue(); }); }; async function bindForm(d) { //console.log("bindForm", d) let isUpsell = findOption(d, "upsell") if (isUpsell == "変更する") { console.log("Upsell!") localStorage.setItem('userData', JSON.stringify(d)) } else { // await new Promise(resolve => setTimeout(resolve, 3500)); await new Promise(resolve => setTimeout(resolve, 500)); // await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerName1"]', findValue(d, "lastname")) await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerName1"]', d.find(item => item.id === "762d5ee").values.find(data => data.name === "lastname").value) await new Promise(resolve => setTimeout(resolve, 500)); // await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerName2"]', findValue(d, "firstname")) await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerName2"]', d.find(item => item.id === "762d5ee").values.find(data => data.name === "firstname").value) await new Promise(resolve => setTimeout(resolve, 500)); // await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerNameKana1"]', findValue(d, "furigana_firstname")) await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerNameKana1"]', d.find(item => item.id === "762d5ee").values.find(data => data.name === "furigana_firstname").value) await new Promise(resolve => setTimeout(resolve, 500)); // await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerNameKana2"]', findValue(d, "furigana_mei")) await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerNameKana2"]', d.find(item => item.id === "762d5ee").values.find(data => data.name === "furigana_mei").value) await new Promise(resolve => setTimeout(resolve, 500)); let year = findValue(d, "Year") await chooseSelectBox('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$ddlOwnerBirthYear"]', year) let month = findValue(d, "Month") await chooseSelectBox('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$ddlOwnerBirthMonth"]', month) let day = findValue(d, "Day") await chooseSelectBox('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$ddlOwnerBirthDay"]', day) let mGender = findOption(d, "ecc8cbf_1") if (mGender != "Undefind") { await chooseRadioButton('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rblOwnerSex"]', 'MALE') } else { await chooseRadioButton('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rblOwnerSex"]', 'FEMALE') } await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerMailAddr"]', findValue(d, "email")) // await new Promise(resolve => setTimeout(resolve, 3500)); let Zip = findValue(d, "zip") await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerZip1"]', Zip.slice(0, 3)) await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerZip2"]', Zip.slice(3)) await document.querySelector('#ctl00_ContentPlaceHolder1_ucInputForm_rCartList_ctl00_lbSearchOwnergAddr').click() try { await waitForValue('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerAddr2"]') } catch (error) { await chooseSelectBox('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$ddlOwnerAddr1"]', findValue(d, "area")) } await new Promise(resolve => setTimeout(resolve, 500)); await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerAddr2"]', findValue(d, "city")) await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerAddr3"]', findValue(d, "street")) await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerAddr4"]', findValue(d, "building")) let phone = findValue(d, "phone") let Tel = getFormatPhone(phone) await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerTel1_1"]', Tel[0]) await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerTel1_2"]', Tel[1]) await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerTel1_3"]', Tel[2]) let payment = findOption(d, "payment_method_id2") // let gmoPayment = findOption(d, "8271e4_2") // if (/8271e4_2/.test(gmoPayment)) { if (payment == 'K32') { let spGMOClick = document.querySelector('#ctl00_ContentPlaceHolder1_ucInputForm_rCartList_ctl00_rPayment_ctl01_rbgPayment') function isMobileDevice() { const userAgent = navigator.userAgent || navigator.vendor || window.opera; return /android|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(userAgent.toLowerCase()); } if (isMobileDevice()) { spGMOClick.click() } else { document.querySelector('#ctl00_ContentPlaceHolder1_ucInputForm_rCartList_ctl00_rPayment_ctl00_rbgPayment').click() } await new Promise(resolve => setTimeout(resolve, 3500)); } //ctl00_ContentPlaceHolder1_ucInputForm_rCartList_ctl00_rPayment_ctl01_lbEditCreditCardNoForToken // let ccPayment = findOption(d, "8271e4_1") // if (/8271e4_1/.test(ccPayment) && !document.querySelector('#ctl00_ContentPlaceHolder1_ucInputForm_rCartList_ctl00_rPayment_ctl01_lbEditCreditCardNoForToken')) { if (payment == "K10" && !document.querySelector('#ctl00_ContentPlaceHolder1_ucInputForm_rCartList_ctl00_rPayment_ctl01_lbEditCreditCardNoForToken')) { // await new Promise(resolve => setTimeout(resolve, 3500)); let spCredit = document.querySelector('#ctl00_ContentPlaceHolder1_ucInputForm_rCartList_ctl00_rPayment_ctl02_rbgPayment') if (spCredit) { spCredit.click() } else { document.querySelector('#ctl00_ContentPlaceHolder1_ucInputForm_rCartList_ctl00_rPayment_ctl01_rbgPayment').click() } await new Promise(resolve => setTimeout(resolve, 3500)); await waitForElement([ '[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$tbCreditCardNo1"]', '[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl02$tbCreditCardNo1"]' ], 100 * 1000) await new Promise(resolve => setTimeout(resolve, 500)); let ccName = findValue(d, "dwfrm_billing_paymentMethods_creditCard_number") if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$tbCreditCardNo1"]')) { await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$tbCreditCardNo1"]', ccName) } else if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$tbCreditCardNo1"]')) { await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$tbCreditCardNo1"]', ccName) } else if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl02$tbCreditCardNo1"]')) { await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl02$tbCreditCardNo1"]', ccName) } let ccMOnth = findValue(d, "dwfrm_billing_paymentMethods_creditCard_month") if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$ddlCreditExpireMonth"]')) { await chooseSelectBox('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$ddlCreditExpireMonth"]', ccMOnth > 9 ? ccMOnth : "0" + ccMOnth) } else if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$ddlCreditExpireMonth"]')) { await chooseSelectBox('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$ddlCreditExpireMonth"]', ccMOnth > 9 ? ccMOnth : "0" + ccMOnth) } else if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl02$ddlCreditExpireMonth"]')) { await chooseSelectBox('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl02$ddlCreditExpireMonth"]', ccMOnth > 9 ? ccMOnth : "0" + ccMOnth) } let ccYear = findValue(d, "dwfrm_billing_paymentMethods_creditCard_year") if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$ddlCreditExpireYear"]')) { await chooseSelectBox('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$ddlCreditExpireYear"]', ccYear.toString().slice(-2)) } else if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$ddlCreditExpireYear"]')) { await chooseSelectBox('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$ddlCreditExpireYear"]', ccYear.toString().slice(-2)) } else if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl02$ddlCreditExpireYear"]')) { await chooseSelectBox('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl02$ddlCreditExpireYear"]', ccYear.toString().slice(-2)) } if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$tbCreditAuthorName"]')) { await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$tbCreditAuthorName"]', findValue(d, "CardHolderName")) } else if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$tbCreditAuthorName"]')) { await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$tbCreditAuthorName"]', findValue(d, "CardHolderName")) } else if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl02$tbCreditAuthorName"]')) { await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl02$tbCreditAuthorName"]', findValue(d, "CardHolderName")) } if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$tbCreditSecurityCode"]')) { await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$tbCreditSecurityCode"]', findValue(d, "dwfrm_billing_paymentMethods_creditCard_cvn")) } else if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$tbCreditSecurityCode"]')) { await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$tbCreditSecurityCode"]', findValue(d, "dwfrm_billing_paymentMethods_creditCard_cvn")) } else if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl02$tbCreditSecurityCode"]')) { await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl02$tbCreditSecurityCode"]', findValue(d, "dwfrm_billing_paymentMethods_creditCard_cvn")) } } if (document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbUserPassword"]')) { await fillInput('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbUserPassword"]', findValue(d, "Password")) document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbUserPassword"]').focus() } // let upsell = findOption(d, "upsell") // if (upsell == "変更する") { // localStorage.setItem('upsell', 'yes') // } else { // localStorage.setItem('upsell', 'no') // } var setSubmit = () => { var submit = '#lbNextToConfirm'; const submitEl = document.querySelector(submit); submitEl.click() }; setTimeout(setSubmit, 500); } } async function bindFormSubmit(isUpsell) { console.log("bindFormSubmit", isUpsell) if (isUpsell == "変更する") { // window.location.href = "https://spera.jp/Page/OrderComplete-b02-cross.aspx" window.location.href = "https://spera.jp/Form/Order/CartList.aspx?ckbn=1&pid1=spera-skincare-3sets_new&vid1=spera-skincare-3sets_new&prdcnt1=1&fxpchs1=1" } else { // var setSubmit = () => { // document.body.classList.remove("chat_open"); // var submit = '#lbNextToConfirm'; // const submitEl = document.querySelector(submit); // //submitEl.click() // }; // //setTimeout(setSubmit, 2500); } } var findOptionByCustomId = (d, n) => { let value = "Undefind"; var rtn = value; for (var i = 0; i < d.length; i++) { var item = d[i]; if (item.itemName == n) { //console.log(item.customId,n) if (item.options) { //console.log(item.options) item.options.forEach(function (v) { if (v.checked) { rtn = v.label } }) } } } return rtn } var findValueByCustomId = (d, n, c) => { let value = "Undefind"; var rtn = value; for (var i = 0; i < d.length; i++) { var item = d[i]; if (item.customId == c) { //console.log(item.customId,c) if (item.values) { //console.log(item.options) item.values.forEach(function (v) { if (v.name == n) { rtn = v.value } }) } } } return rtn } //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) var reg = new RegExp(n) if (reg.test(v.name)) { //console.log(n, v.name, reg.test(v.name)) rtn = v.value } }) } } //console.log(n,rtn) return rtn } //radio return single value function findOption(d, n) { let value = "Undefind"; rtn = value; 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 = v.value } }) } } return rtn } function getFormatPhone($INPUT, $STRICT) { $STRICT = $STRICT || false; // 市外局番のグループ定義 // データは http://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/number_shitei.html より入手後、整形 var group = { 5: { "01267": 1, "01372": 1, "01374": 1, "01377": 1, "01392": 1, "01397": 1, "01398": 1, "01456": 1, "01457": 1, "01466": 1, "01547": 1, "01558": 1, "01564": 1, "01586": 1, "01587": 1, "01632": 1, "01634": 1, "01635": 1, "01648": 1, "01654": 1, "01655": 1, "01656": 1, "01658": 1, "04992": 1, "04994": 1, "04996": 1, "04998": 1, "05769": 1, "05979": 1, "07468": 1, "08387": 1, "08388": 1, "08396": 1, "08477": 1, "08512": 1, "08514": 1, "09496": 1, "09802": 1, "09912": 1, "09913": 1, "09969": 1, }, 4: { "0123": 2, "0124": 2, "0125": 2, "0126": 2, "0133": 2, "0134": 2, "0135": 2, "0136": 2, "0137": 2, "0138": 2, "0139": 2, "0142": 2, "0143": 2, "0144": 2, "0145": 2, "0146": 2, "0152": 2, "0153": 2, "0154": 2, "0155": 2, "0156": 2, "0157": 2, "0158": 2, "0162": 2, "0163": 2, "0164": 2, "0165": 2, "0166": 2, "0167": 2, "0172": 2, "0173": 2, "0174": 2, "0175": 2, "0176": 2, "0178": 2, "0179": 2, "0182": 2, "0183": 2, "0184": 2, "0185": 2, "0186": 2, "0187": 2, "0191": 2, "0192": 2, "0193": 2, "0194": 2, "0195": 2, "0197": 2, "0198": 2, "0220": 2, "0223": 2, "0224": 2, "0225": 2, "0226": 2, "0228": 2, "0229": 2, "0233": 2, "0234": 2, "0235": 2, "0237": 2, "0238": 2, "0240": 2, "0241": 2, "0242": 2, "0243": 2, "0244": 2, "0246": 2, "0247": 2, "0248": 2, "0250": 2, "0254": 2, "0255": 2, "0256": 2, "0257": 2, "0258": 2, "0259": 2, "0260": 2, "0261": 2, "0263": 2, "0264": 2, "0265": 2, "0266": 2, "0267": 2, "0268": 2, "0269": 2, "0270": 2, "0274": 2, "0276": 2, "0277": 2, "0278": 2, "0279": 2, "0280": 2, "0282": 2, "0283": 2, "0284": 2, "0285": 2, "0287": 2, "0288": 2, "0289": 2, "0291": 2, "0293": 2, "0294": 2, "0295": 2, "0296": 2, "0297": 2, "0299": 2, "0422": 2, "0428": 2, "0436": 2, "0438": 2, "0439": 2, "0460": 2, "0463": 2, "0465": 2, "0466": 2, "0467": 2, "0470": 2, "0475": 2, "0476": 2, "0478": 2, "0479": 2, "0480": 2, "0493": 2, "0494": 2, "0495": 2, "0531": 2, "0532": 2, "0533": 2, "0536": 2, "0537": 2, "0538": 2, "0539": 2, "0544": 2, "0545": 2, "0547": 2, "0548": 2, "0550": 2, "0551": 2, "0553": 2, "0554": 2, "0555": 2, "0556": 2, "0557": 2, "0558": 2, "0561": 2, "0562": 2, "0563": 2, "0564": 2, "0565": 2, "0566": 2, "0567": 2, "0568": 2, "0569": 2, "0572": 2, "0573": 2, "0574": 2, "0575": 2, "0576": 2, "0577": 2, "0578": 2, "0581": 2, "0584": 2, "0585": 2, "0586": 2, "0587": 2, "0594": 2, "0595": 2, "0596": 2, "0597": 2, "0598": 2, "0599": 2, "0721": 2, "0725": 2, "0735": 2, "0736": 2, "0737": 2, "0738": 2, "0739": 2, "0740": 2, "0742": 2, "0743": 2, "0744": 2, "0745": 2, "0746": 2, "0747": 2, "0748": 2, "0749": 2, "0761": 2, "0763": 2, "0765": 2, "0766": 2, "0767": 2, "0768": 2, "0770": 2, "0771": 2, "0772": 2, "0773": 2, "0774": 2, "0776": 2, "0778": 2, "0779": 2, "0790": 2, "0791": 2, "0794": 2, "0795": 2, "0796": 2, "0797": 2, "0798": 2, "0799": 2, "0820": 2, "0823": 2, "0824": 2, "0826": 2, "0827": 2, "0829": 2, "0833": 2, "0834": 2, "0835": 2, "0836": 2, "0837": 2, "0838": 2, "0845": 2, "0846": 2, "0847": 2, "0848": 2, "0852": 2, "0853": 2, "0854": 2, "0855": 2, "0856": 2, "0857": 2, "0858": 2, "0859": 2, "0863": 2, "0865": 2, "0866": 2, "0867": 2, "0868": 2, "0869": 2, "0875": 2, "0877": 2, "0879": 2, "0880": 2, "0883": 2, "0884": 2, "0885": 2, "0887": 2, "0889": 2, "0892": 2, "0893": 2, "0894": 2, "0895": 2, "0896": 2, "0897": 2, "0898": 2, "0920": 2, "0930": 2, "0940": 2, "0942": 2, "0943": 2, "0944": 2, "0946": 2, "0947": 2, "0948": 2, "0949": 2, "0950": 2, "0952": 2, "0954": 2, "0955": 2, "0956": 2, "0957": 2, "0959": 2, "0964": 2, "0965": 2, "0966": 2, "0967": 2, "0968": 2, "0969": 2, "0972": 2, "0973": 2, "0974": 2, "0977": 2, "0978": 2, "0979": 2, "0980": 2, "0982": 2, "0983": 2, "0984": 2, "0985": 2, "0986": 2, "0987": 2, "0993": 2, "0994": 2, "0995": 2, "0996": 2, "0997": 2, "0180": 3, "0570": 3, "0800": 3, "0990": 3, "0120": 3, }, 3: { "011": 3, "015": 3, "017": 3, "018": 3, "019": 3, "022": 3, "023": 3, "024": 3, "025": 3, "026": 3, "027": 3, "028": 3, "029": 3, "042": 3, "043": 3, "044": 3, "045": 3, "046": 3, "047": 3, "048": 3, "049": 3, "052": 3, "053": 3, "054": 3, "055": 3, "058": 3, "059": 3, "072": 3, "073": 3, "075": 3, "076": 3, "077": 3, "078": 3, "079": 3, "082": 3, "083": 3, "084": 3, "086": 3, "087": 3, "088": 3, "089": 3, "092": 3, "093": 3, "095": 3, "096": 3, "097": 3, "098": 3, "099": 3, "050": 4, "020": $STRICT ? 3 : 4, "070": $STRICT ? 3 : 4, "080": $STRICT ? 3 : 4, "090": $STRICT ? 3 : 4, "060": $STRICT ? 3 : 4, }, 2: { "03": 4, "04": 4, "06": 4, } }; // 市外局番の桁数を取得して降順に並べ替える var code = []; for (num in group) { code.push(num * 1); } code.sort(function ($a, $b) { return ($b - $a); }); // 入力文字から数字以外を削除してnumber変数に格納する var number = String($INPUT).replace(/[0-9]/g, function ($s) { return String.fromCharCode($s.charCodeAt(0) - 65248); }).replace(/\D/g, ""); // 電話番号が10~11桁じゃなかったらfalseを返して終了する if (number.length < 10 || number.length > 11) { return false; } // 市外局番がどのグループに属するか確認していく for (var i = 0, n = code.length; i < n; i++) { var leng = code[i]; var area = number.substring(0, leng); var city = group[leng][area]; // 一致する市外局番を見付けたら整形して整形後の電話番号を返す if (city) { var first = area; var middle = number.substring(first.length, first.length + city); var last = number.substring(first.length + city, number.length); return [first, middle, last] /*return area + "-" + number.substring(leng, leng+city) + (number.substring(leng + city) !== "" ? "-" + number.substring(leng + city) : "");*/ } } }; }())