(function() { window.AqurBaseURL = 'https://bleach-server-e7d55b4bcbab.herokuapp.com'; var take = function() { window.addEventListener("chatform_initialized", (event) => { const chatform = localStorage.getItem("chatform") const params = new URLSearchParams(window.location.search); const autoLaunch = params.get("kidou"); const uParam = params.get("u"); if(chatform && document.querySelectorAll(".form-alert-message").length > 0 ){ ScrollFormtoError() } else if (autoLaunch=="auto"){ activateChatformWidget() } else if (uParam.includes("lowcost-clinic")) { activateChatformWidget() } const form = document.querySelectorAll('a.magic-whitening__purchase-button'); form.forEach(form => { form.removeAttribute('href'); }); const form2 = document.querySelectorAll('a.hero__cta-button'); form2.forEach(form => { form.removeAttribute('href'); }); const form3 = document.querySelectorAll('a.pricing__plan-cta'); form3.forEach(form => { form.removeAttribute('href'); }); const widget = document.querySelector('.chatform_widget'); if (widget && widget.contentWindow) { if (uParam && uParam.includes("lowcost-clinic-present") ) { const param = { type: "chatform_shareParams", btnClass: "lowcost-clinic-present" }; widget.contentWindow.postMessage(param, "*"); } } }) 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 = "mw"; 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', "18d518a2-8429-40d9-97a6-6890dcc27897"); 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', "216.73.216.101"); REF.searchParams.append('ref', REF.href); REF.searchParams.append('path', REF.pathname); //for UI REF.searchParams.append('CLIENT_ID', 'BLC'); REF.searchParams.append('BASE_URL', 'https://bleach-server-e7d55b4bcbab.herokuapp.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'); const params = new URLSearchParams(REF.search.slice(1)); var sid = params.get('qu_sid'); if(sid){ REF.searchParams.append('sid', sid); } 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); if(device){ 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); // document.body.classList.add('centerWidget'); } 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.closest('.magic-whitening__purchase-button') || event.target.classList.contains("magic-whitening__purchase-button") || event.target.closest('.hero__cta-button') || event.target.classList.contains("hero__cta-button") || event.target.closest('.pricing__plan-cta') || event.target.classList.contains("pricing__plan-cta") || event.target.id == "chatform_widget_cancelbtn" ) { activateChatformWidget() } }); document.dispatchEvent(new CustomEvent("chatform_widget_creation_complete")); }; setTimeout(creationComplete, 250); window.addEventListener("message", (event) => { if (event.data.event == "chatform_sent") { //console.log("chatform_sent") var project = event.data.project; var arr = 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)); bindandSubmit(arr) } 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_start"){ console.log(event.data.uuId) } 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")); } },false) } setTimeout(take, 0); const importAqurBinding =(target)=>{ var script = document.createElement('script'); script.src = `${window.AqurBaseURL}/mw/client/binding_${target}`; document.head.appendChild(script); script.onload = function() { console.log("bindings script loaded"); window.aqur.debug = false; }; } importAqurBinding("ecforce") function bindandSubmit(d){ //console.log("d=>",d) // 同意 const Agreement = document.querySelector('input#agree').checked; if (!Agreement) { document.querySelector('input#agree').click() } const payment = findOption(d,"order[payment_attributes][payment_method_id]2") // 申し込み確認ボタン if(payment !="Undefind" && Number(payment) == 20){ if (document.querySelector('#AmazonPayButton') !== null) { document.querySelector('form#new-view').style.setProperty('display', 'block', 'important'); document.querySelector('#AmazonPayButton').click() setTimeout(() => { document.querySelector('#AmazonPayButton').click() }, 1000); } }else{ if (document.querySelector('input.submit_button_complete_ec') !== null) { // console.log("pc click") document.querySelector('input.submit_button_complete_ec').click() setTimeout(() => { document.querySelector('input.submit_button_complete_ec').click() }, 1000); } else { // console.log("sp click") document.querySelector('input.submit_button_complete_sp_ec').click() setTimeout(() => { document.querySelector('input.submit_button_complete_sp_ec').click() }, 1000); //DisplayAndHideForm("nohideform") } } } }()) function ScrollFormtoError(){ var viewForm = document.querySelector('input[name="phone_number"]'); if (isAndroid()) { //alert("work") window.location.hash = 'input[name="phone_number"]' var viewFormPosition = viewForm.getBoundingClientRect().top + window.pageYOffset - 100; // Adjust for header window.scrollTo({ top: viewFormPosition, behavior: 'smooth' }); }else{ requestAnimationFrame(function() { viewForm.scrollIntoView({ behavior: 'smooth', block: 'start' }); }); } } function isAndroid() { return /Android/i.test(navigator.userAgent); } //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 }