(function () { var take = function () { //DDP console.log('DDP - SIROSHU') const BASE_URL = "https://pr.aqur.com"; const fetchOptions = { method: "POST", headers: { "Content-Type": "application/json" } }; const chatform = localStorage.getItem("chatform"); if (chatform) { setTimeout(errorCheck, 5000) let path = window.location.pathname switch (path) { case "/Form/Error.aspx": console.log("DDP - /Form/Error.aspx") setTimeout(errorCheck, 3000) break; case "/Landing/LandingCartConfirm.aspx": console.log("DDP - /Landing/LandingCartConfirm.aspx") var submitInterval = setInterval(function () { var submitButton = document.querySelector('#ctl00_ContentPlaceHolder1_rCartList_ctl00_lbComplete2'); if (submitButton) { console.log("submitButton clicked") clearInterval(submitInterval); submitButton.click(); let param = { event: "chatform_page_transition", totalProcess: 4, pageIndex: 2 } window.parent.postMessage(param, "*") } }, 100); break; case "/Form/Order/OrderComplete.aspx": console.log("DDP - /Form/Order/OrderComplete.aspx") const completeExe = () => { const completeInterval = setInterval(() => { console.log("Checking for order_id..."); const emTags = document.querySelectorAll('em'); let orderId = null; // Look for the one that contains '注文番号' emTags.forEach(el => { if (el.textContent.includes('注文番号')) { orderId = el.textContent.match(/\d{13}/)?.[0]; } }); if (!orderId && document.querySelector('.order-history-id h3')) { const cartHeader = document.querySelector('.order-history-id h3'); if (cartHeader && cartHeader.textContent.includes('カート番号')) { const match = cartHeader.textContent.match(/\d{13}/); if (match) orderId = match[0]; } } if (orderId) { clearInterval(completeInterval); console.log("order_id found:", orderId); if(localStorage.getItem("upsell_submit") == "true") { localStorage.removeItem("upsell_submit"); let param2 = { event: "chatform_page_transition", totalProcess: 4, pageIndex: 4 } window.parent.postMessage(param2, "*") var confirmExe=()=>{ let param6 = { event: "chatform_bindUpsellConversion", order_id: orderId } window.parent.postMessage(param6, "*") } confirmExe() track(chatform, "order_id_Upsell", orderId, "Upsell_Completed") } else { let param = { event: "chatform_page_transition", totalProcess: 4, pageIndex: 4 } window.parent.postMessage(param, "*") let param2 = { event: "chatform_bindFormConversion", order_id: "ご注文いただきましてありがとうございました。SMSにてご注文内容をお送りしておりますので、ご確認ください。", orderId: orderId } window.parent.postMessage(param2, "*") track(chatform, "order_id", orderId) } } else { console.log("order_id not found yet..."); } }, 100); // Using 100ms to avoid excessive DOM polling }; // Run the function completeExe(); break; default: //console.log('do nothing'); } } else { console.log("No Chatform") } function clearChatformStorage() { //console.log("clearChatformStorage") localStorage.removeItem("chatform"); } async function track(trackingData, orderKey, orderValue, status = "") { try { console.log("track", trackingData, orderKey, orderValue, status) await fetch(`${BASE_URL}/track`, { ...fetchOptions, body: trackingData }); let chatformData = JSON.parse(chatform); const response2 = await fetch(`${BASE_URL}/pdi/${chatformData.uuId}`); const data2 = await response2.json(); data2.data.data = { ...data2.data.data, [orderKey]: orderValue }; data2.data.Completed = true; if(status) { data2.status = status; } await fetch(`${BASE_URL}/pdi/set`, { ...fetchOptions, body: JSON.stringify(data2.data) }); console.log("Conversion Tracked!!"); } catch (error) { console.error('Error:', error); } } function errorCheck() { console.log("ERRROR CHECK !!!") const errorContents = document.querySelectorAll('.error_inline'); // added const errorContents2 = document.querySelectorAll('.dvErrorContents'); const errorContents3 = document.querySelectorAll('#ctl00_ContentPlaceHolder1_ucInputForm_rCartList_ctl00_rPayment_ctl00_divCreditCardInputForm span #ctl00_ContentPlaceHolder1_ucInputForm_rCartList_ctl00_rPayment_ctl01_spanErrorMessageForCreditCard'); if (errorContents.length > 0 || errorContents2.length > 0 || errorContents3.length > 0) { console.log("ERROR FOUND !!!") let errorText = []; // LP if (errorContents.length > 0) { errorText.push( ...Array.from(errorContents) .map(el => el.textContent.trim()) .filter(msg => msg !== '') ); } // Credit Card Error Page if (errorContents2.length > 0) { errorText.push( ...Array.from(errorContents2) .map(el => el.textContent.trim()) .filter(msg => msg !== '') ); } if(errorContents3.length > 0) { errorText.push( ...Array.from(errorContents3) .map(el => el.textContent.trim()) .filter(msg => msg !== '') ); } console.log("errorText => ", errorText) if(errorText.length > 0) { console.log("errorText Check => ", errorText) const param = { event: "chatform_bindFormErrorFound", text: errorText.join(','), }; window.parent.postMessage(param, '*'); } if(errorContents2.length > 0) { document.querySelector('#ctl00_ContentPlaceHolder1_aGoBack').click(); } // Clear error messages from DOM [...errorContents, ...errorContents3].forEach(el => { el.textContent = ''; }); setTimeout(() => { window.parent.postMessage({ event: "tryReset" }, "*"); }, 2000); } } window.addEventListener("message", async (event) => { //console.log("window message") //aqurBindidng if (event.data.event == "setLastName") { window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerName1"]', event.data.value) } if (event.data.event == "setFirstName") { window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerName2"]', event.data.value) } if (event.data.event == "setLastNameKana") { window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerNameKana1"]', event.data.value) } if (event.data.event == "setFirstNameKana") { window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerNameKana2"]', event.data.value) } if (event.data.event == "setEmail") { window.useUserEmail = true; window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerMailAddr"]', event.data.value) if(document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerMailAddrConf"]')){ // SP window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerMailAddrConf"]', event.data.value) } } if (event.data.event == "setTel") { var value = event.data.value.replaceAll(/-/g, ''); window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerTel1"]', value) } if (event.data.event == "setPostalCode") { var value = event.data.value.replaceAll(/-/g, ''); window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerZip"]', value) } if (event.data.event == "setPref") { window.aqur.chooseSelectBoxLabel('select[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$ddlOwnerAddr1"]', event.data.value) } if (event.data.event == "setCity") { window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerAddr2"]', event.data.value) } if (event.data.event == "setStreet") { window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerAddr3"]', event.data.value) } if (event.data.event == "setBuilding") { window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbOwnerAddr4"]', event.data.value) } if (event.data.event == "setPassword") { window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbUserPassword"]', event.data.value) window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$tbUserPasswordConf"]', event.data.value) } if (event.data.event == "setBirthdayYear") { window.aqur.chooseSelectBox('select[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$ddlOwnerBirthYear"]', event.data.value) } if (event.data.event == "setBirthdayMonth") { window.aqur.chooseSelectBox('select[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$ddlOwnerBirthMonth"]', event.data.value) } if (event.data.event == "setBirthdayDay") { window.aqur.chooseSelectBox('select[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$ddlOwnerBirthDay"]', event.data.value) } if (event.data.event == "setGender") { window.aqur.chooseRadioButton('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rblOwnerSex"]', event.data.value) } if (event.data.event == "setPaymentMethod") { console.log("event payment=>", event.data) if (event.data.value == "K10") { //クレジットカード if(document.querySelector('[name="Payment_0"][value="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$rbgPayment"]')){ document.querySelector('[name="Payment_0"][value="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$rbgPayment"]').click() } else { //SP document.querySelector('[name="Payment_0"][value="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$rbgPayment"]').click() } } else { //コンビニ後払い(GMO) if(document.querySelector('[name="Payment_0"][value="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$rbgPayment"]')){ document.querySelector('[name="Payment_0"][value="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$rbgPayment"]').click() } else { //SP document.querySelector('[name="Payment_0"][value="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl02$rbgPayment"]').click() } } await new Promise(resolve => setTimeout(resolve, 2000)); window.aqur.PaymentMethod = event.data.value; } if (event.data.event == "setCardNumber") { if(document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$tbCreditCardNo1"]')){ window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$tbCreditCardNo1"]', event.data.value) } else { //SP window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$tbCreditCardNo1"]', event.data.value) } } if (event.data.event == "setCardExpirationYear") { if(document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$ddlCreditExpireYear"]')){ window.aqur.chooseSelectBox('select[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$ddlCreditExpireYear"]', event.data.value) } else { //SP window.aqur.chooseSelectBox('select[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$ddlCreditExpireYear"]', event.data.value) } } if (event.data.event == "setCardExpirationMonth") { if(document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$ddlCreditExpireMonth"]')){ window.aqur.chooseSelectBox('select[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$ddlCreditExpireMonth"]', event.data.value.toString().padStart(2, '0')) } else { //SP window.aqur.chooseSelectBox('select[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$ddlCreditExpireMonth"]', event.data.value.toString().padStart(2, '0')) } } if (event.data.event == "setCardHolderName") { if(document.querySelector('[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$tbCreditAuthorName"]')){ window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$tbCreditAuthorName"]', event.data.value) } else { //SP window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$tbCreditAuthorName"]', event.data.value) } } if (event.data.event == "setCardCvc") { if(document.querySelector('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$tbCreditSecurityCode"]')) { window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl00$tbCreditSecurityCode"]', event.data.value) } else { //SP window.aqur.fillInput('input[name="ctl00$ContentPlaceHolder1$ucInputForm$rCartList$ctl00$rPayment$ctl01$tbCreditSecurityCode"]', event.data.value) } } //フロント商品購入確定ボタン押下 if (event.data.event == "chatform_bindFormSubmit") { console.log("chatform_bindFormSubmit") // document.querySelector('#isOptin1').checked = true; const sendButton = document.querySelector('#lbNextToConfirm'); const sendButtonSp = document.querySelector('#ctl00_ContentPlaceHolder1_ucInputForm_UpdatePanel1 a'); if (sendButton !== null) { sendButton.click(); let param = { event: "chatform_page_transition", totalProcess: 4, pageIndex: 1 } window.parent.postMessage(param, "*") } else if(sendButtonSp !== null) { sendButtonSp.click(); let param = { event: "chatform_page_transition", totalProcess: 4, pageIndex: 1 } window.parent.postMessage(param, "*") }else { console.error('Element with ID ".__send" not found.'); } setTimeout(errorCheck, 3000) } //アップセル変更ボタン押下 if (event.data.event == "chatform_bindFormUpsellComplete") { console.log("chatform_bindFormUpsellComplete") const UpsellButton = document.querySelector('#orderbutton2 a'); if (UpsellButton !== null) { let param = { event: "chatform_page_transition", totalProcess: 4, pageIndex: 1 } window.parent.postMessage(param, "*") UpsellButton.click(); await new Promise(resolve => setTimeout(resolve, 5000)); const upsellSubmitBtn = document.querySelector('#ctl00_ContentPlaceHolder1_ctl60_lbComplete'); const upsellSubmitBtnSp = document.querySelector('#ctl00_ContentPlaceHolder1_ctl59_lbComplete2') if(upsellSubmitBtn !== null) { console.log("upsellSubmitBtn found") localStorage.setItem("upsell_submit", "true"); let param2 = { event: "chatform_page_transition", totalProcess: 4, pageIndex: 2 } window.parent.postMessage(param2, "*") upsellSubmitBtn.click(); } else if(upsellSubmitBtnSp !== null) { console.log("upsellSubmitBtn-Sp found") localStorage.setItem("upsell_submit", "true"); let param2 = { event: "chatform_page_transition", totalProcess: 4, pageIndex: 2 } window.parent.postMessage(param2, "*") upsellSubmitBtnSp.click(); } } else { console.error('UpsellButton not found.'); } } //クロスセル変更ボタン押下 if (event.data.event == "chatform_bindFormxsellComplete") { console.log("chatform_bindFormxsellComplete") document.querySelector('#isOptin1').checked = true; const XsellButton = document.querySelector('#memberSaveButton_disp'); if (XsellButton !== null) { XsellButton.click(); } else { console.error('Element with ID ".__send" not found.'); } } }) // setTimeout(() => { if (!window.aqur) { window.aqur = {}; } window.aqur.fillInput = (selector, value) => { const inputElement = document.querySelector(selector); if (inputElement) { inputElement.value = value; var event = new Event('input', { bubbles: true, cancelable: true }); inputElement.dispatchEvent(event); inputElement.scrollIntoView(); } }; window.aqur.chooseRadioButton = (radioSelector, value) => { const radioButton = document.querySelector(`${radioSelector}[value='${value}']`); if (radioButton) { radioButton.checked = true; let event = new Event('change', { bubbles: true, composed: true }) radioButton.dispatchEvent(event); } }; window.aqur.chooseSelectBox = (selectBoxSelector, value, useOptionVal = true) => { let option = "" if (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); } }; window.aqur.chooseSelectBoxLabel = (selectBoxSelector, label) => { const selectElement = document.querySelector(selectBoxSelector); var option; if (selectElement) { option = Array.from(selectElement.options).find( opt => opt.textContent.trim() === label ); } if (option) { option.selected = true; const event = new Event('change', { bubbles: true, composed: true }); selectElement.dispatchEvent(event); } }; // }, 1000); } setTimeout(take, 0); }())