document.addEventListener('DOMContentLoaded', function () {
  // Verifica se existem botões com a classe '.lkn-custom-payment-button'
  const paymentButtons = document.querySelectorAll('.lkn-custom-payment-button')
  if (paymentButtons.length > 0) {
    paymentButtons.forEach(function (button) {
      button.addEventListener('click', function () {
        const amount = button.getAttribute('data-amount')
        const customValueInput = document.getElementById('custom-value-input')
        if (customValueInput) {
          customValueInput.value = amount
        }
      })
    })
  }

  const submitButton = document.getElementById('lkn-submit-campaing-value')

  let editMode = null
  const editModeValue = document.querySelector('.lkn-edit-mode')
  if (editModeValue) {
    editMode = editModeValue.value
  }
  const isEditMode = editMode === 'active'
  if (!isEditMode) {
    if (submitButton) {
      submitButton.addEventListener('click', function (e) {
        e.preventDefault()

        const customAmount = document.getElementById('custom-value-input').value

        // Validação do valor
        if (!customAmount || isNaN(customAmount) || parseFloat(customAmount) <= 0) {
          alert(lknWpCrowdfundingParams.custom_amount_error)
          return
        }

        // Confirmação sobre o carrinho
        const confirmation = confirm(lknWpCrowdfundingParams.confirmation_message)
        if (!confirmation) {
          return
        }

        // Desabilita o botão e altera o cursor para 'not-allowed'
        submitButton.disabled = true
        submitButton.style.cursor = 'not-allowed'

        // Verifica se o ID do produto está presente
        const productId = document.getElementById('product-id')
        if (productId) {
          // Redireciona para adicionar ao carrinho
          fetch('/wp-json/lknwpcrowdfunding/v1/add-to-cart', {
            method: 'POST',
            headers: {
              'Content-Type': 'application/json'
            },
            body: JSON.stringify({
              custom_amount: customAmount,
              product_id: productId.value
            })
          })
            .then((response) => response.json())
            .then((data) => {
              if (data.success) {
                window.location.href = lknwpGlobal.finalization_url
              } else {
                alert(lknWpCrowdfundingParams.add_to_cart_error)
                // Reabilita o botão em caso de erro
                submitButton.disabled = false
                submitButton.style.cursor = ''
              }
            })
            .catch(() => {
              alert(lknWpCrowdfundingParams.general_error)
              // Reabilita o botão em caso de erro
              submitButton.disabled = false
              submitButton.style.cursor = ''
            })
        } else {
          alert(lknWpCrowdfundingParams.product_id_error)
          // Reabilita o botão
          submitButton.disabled = false
          submitButton.style.cursor = ''
        }
      })
    }
  }
})
