(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);
}())