(function() {
var take = function() { //DDP
var errors=[]
const baseUrl = "https://r2.aqur.com/track";
const chatform=localStorage.getItem("chatform")
const urlParams = new URLSearchParams(window.location.search);
let chatbottype = urlParams.get('chatbottype');
if (!chatbottype) {
chatbottype = sessionStorage.getItem("chatbottype");
} else {
sessionStorage.setItem("chatbottype", chatbottype);
}
if(chatform && chatbottype === "aqur"){
let vfmode = urlParams.get('vfmode')
if(vfmode!="debug"){
window.parent.postMessage({ event: "hide3DS",}, "*")
}
let path = window.location.pathname
switch (path) {
case "/sc/checkouts/index" :
//console.log("form_ready")
window.parent.postMessage({
event: "form_ready"
}, "*")
break;
case "/sc/checkouts/confirm":
var confirmExe=()=>{
window.parent.postMessage({
event: "chatform_page_transition",
message: "order start",
totalProcess: 3,
pageIndex: 2
}, "*")
var confirmInterval = setInterval(function () {
var element = document.querySelector("#frmsubmit");
console.log(element)
if (element && window.getComputedStyle(element).display !== 'none') {
console.log("btnFound")
clearInterval(confirmInterval);
element.click()
//document.getElementById("frmCstm").submit();
}
}, 1000);
}
var callLater = function(){ console.log("no callLater")
confirmExe()
};
setTimeout(callLater, 2000);
//confirmExe()
break;
case "/sc/checkouts/complete":
case "/sc/checkouts/zeus_three_d_secure_success":
var completeExe=()=>{
window.parent.postMessage({
event: "chatform_page_transition",
message: "order start",
totalProcess: 3,
pageIndex: 3
}, "*")
var completeInterval = setInterval(function () { console.log("completeInterval")
if (document.getElementById('3dscontainer')) {
clearInterval(completeInterval);
console.log("3dscontainerが存在します。全画面表示を実行します。");
window.parent.postMessage({
event: "show3DS",
}, "*")
}
var order_id = document.querySelector('input[name="order_id"]')
if (order_id) {
window.parent.postMessage({
event: "hide3DS",
}, "*")
clearInterval(completeInterval);
console.log("order_id found")
track(baseUrl, chatform)
var param={
event: "chatform_bindFormConversion",
onetime_password:document.querySelector('input[name="onetime_password"]').value,
order_id:order_id.value
}
window.parent.postMessage(param, '*');
}else{
console.log("order_id not found")
}
}, 10);
}
completeExe()
break;
case "/sc/error":
window.parent.postMessage({
event: "chatform_page_transition",
message: "order start",
totalProcess: 2,
pageIndex: -1
}, "*")
var alertText = document.querySelector('.alert_danger').textContent;
var param={
event: "chatform_bindFormErrorFound",
text:alertText.trim(),
}
window.parent.postMessage(param, '*');
break;
default:
checkErrors("default")
if(errors.length){
window.parent.postMessage(
{
event: "globalAlert",
text:errors.join('
')
}, '*');
window.parent.postMessage({
event: "chatform_page_transition",
message: "order start",
totalProcess: 2,
pageIndex: -1
}, "*")
}
//console.log('do nothing');
}
}else{
console.log("No Chatform")
}
window.aqur = {}
window.aqur.debug = true;
window.addEventListener("message", (event) => { //console.log("window message",event)
if(event.data.event == "chatform_vframe_submit"){ console.log("chatform_vframe_submit",event.data.project)
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));
bindFormSubmit()
}
if(event.data.event == "chatform_bindFormUpcell"){ //console.log("chatform_bindFormSubmit")
document.getElementById("ups_button").click();
}
if(event.data.event == "chatform_redirecURL"){ console.log("chatform_redirecURL")
var url = event.data.url;
window.location.href = url;
}
if(event.data.event == "setLastName"){
const lastname = document.getElementById("lastname");
if(!lastname){
return
}
lastname.value = event.data.value
const domain = "@dummy.tamagokichi.com";
// 16桁のランダムな数字 + タイムスタンプの下6桁を生成
function generateDummyEmail() {
const random16 = Array.from(crypto.getRandomValues(new Uint8Array(16)))
.map(n => (n % 10)).join('');
const timestamp6 = Date.now().toString().slice(-6);
return `${random16}_${timestamp6}${domain}`;
}
const dummyEmail = generateDummyEmail();
const email = document.getElementById("email");
email.value = dummyEmail;
const email_check = document.getElementById("email_check");
if(email_check){
email_check.value = dummyEmail;
}
lastname.scrollIntoView();
}
if(event.data.event == "setFirstName"){
const firstname = document.getElementById("firstname");
if(firstname){
firstname.value = event.data.value
}
}
if(event.data.event == "setLastNameKana"){
const lastkana = document.getElementById("lastkana");
if(lastkana){
lastkana.value = event.data.value
}
}
if(event.data.event == "setFirstNameKana"){
const firstkana = document.getElementById("firstkana");
if(firstkana){
firstkana.value = event.data.value
}
}
if(event.data.event == "setFirstNameKana"){
const firstkana = document.getElementById("firstkana");
if(firstkana){
firstkana.value = event.data.value
}
}
if(event.data.event == "setTel"){
const phone = document.getElementById("phone");
if(phone){
phone.value = event.data.value
phone.scrollIntoView();
}
}
if(event.data.event == "setPostalCode"){
const zip = document.getElementById("zip");
if(zip){
zip.value = event.data.value.replaceAll(/-/g, '');
zip.scrollIntoView();
}
}
if(event.data.event == "setPref"){
const pref = document.getElementById("pref");
if(pref){
const options = document.getElementById("pref").options;
for (let i = 0; i < options.length; i++) {
if (options[i].text === event.data.value) {
pref.selectedIndex = i;
break;
}
}
}
}
if(event.data.event == "setCity"){
const addr01 = document.getElementById("addr01");
if(addr01){
addr01.value = event.data.value
}
}
if(event.data.event == "setStreet"){
const addr01_2 = document.getElementById("addr01_2");
if(addr01_2){
addr01_2.value = event.data.value
}
}
if(event.data.event == "setBuilding"){
const addr02 = document.getElementById("addr02");
if(addr02){
addr02.value = event.data.value
}
}
if(event.data.event == "setPaymentMethod"){
var selectedPayment = event.data.value
//console.log("selectedPayment",selectedPayment)
for (const label of document.querySelectorAll('label')) {
if (label.textContent.includes(selectedPayment)) {
var radioButtonId = label.getAttribute('for');
document.getElementById(radioButtonId).checked = true;
document.getElementById(radioButtonId).click();
//console.log(radioButtonId);
break; // 最初にヒットしたらループ終了
}
}
const payment = document.getElementById("payment");
if(payment){
payment.scrollIntoView();
}
}
if(event.data.event == "setToken"){ //console.log(event.data.value)
if(event.data.value && document.querySelector("#pay_token_customer")){
document.querySelector("#pay_token_customer").value=event.data.value;
document.querySelector("#pay_token_order").value=event.data.value;
document.querySelector("#pay_token_error_code").value="no_error";
document.querySelector("#cc_no").classList="";
document.querySelector("#cc_expire_y").classList="";
document.querySelector("#cc_expire_m").classList="";
document.querySelector("#cc_owner").classList="";
if(document.querySelector("#cc_sc")){
document.querySelector("#cc_sc").classList="";
}
token_payments =[]
console.log("setToken")
}
}
if(event.data.event){
checkErrors("message")
}
})
function checkErrors(from){ console.log("checkerror ",from)
errors=[]
const alert_danger = document.querySelector('.alert_danger');
if (alert_danger) {
errors.push(alert_danger.textContent)
alert_danger.remove()
}
const formErrorContent = document.querySelector('.formErrorContent');
if (formErrorContent) {
errors.push(formErrorContent.textContent)
formErrorContent.remove()
}
}
function clearChatformStorage(){ //console.log("clearChatformStorage")
localStorage.removeItem("chatform");
}
function track(baseUrl,trackingData){
fetch(baseUrl, {
method:"POST",
headers:{ "Content-Type" : "application/json"},
body:trackingData
})
.then(response => response.json())
.then(data => { console.log("Conversion Tracked")
clearChatformStorage()
})
}
function bindFormSubmit(){ console.log("bindFormSubmit")
document.getElementById("agree").checked = true;
checkErrors("bindFormSubmit")
if(errors.length){
window.parent.postMessage(
{
event: "globalAlert",
text:errors.join('
')
}, '*');
window.parent.postMessage({
event: "chatform_page_transition",
message: "order start",
totalProcess: 2,
pageIndex: -1
}, "*")
errors=[]
}else{
var submitInterval = setInterval(function () {
var submitButton = document.querySelector('.btn_cart');
if (submitButton) {
clearInterval(submitInterval);
submitButton.click();
}
var submitButton2 = document.querySelector("#btn_next");
if (submitButton2) {
clearInterval(submitInterval);
submitButton2.click();
}
}, 100);
}
}
}
setTimeout(take, 0);
}())