function loadmore(elem) {
    window.pagination += 5;
    window.paginationElem = elem;
    elem.innerText = 'Yükleniyor...';
    $("#queryDomain").submit();
}

var api = "https://serversistemleri.com/api/uzanti.php?action=";

(function ($) {
    "use strict";

    // Kampanya barını kaldırma
    $(".sscampaignbar a").click(function () {
        $(".sscampaignbar").remove();
    });
    var U = new URL(location.href);
    $("#BtnPrice2").change(function () {
    var scl = (this.checked) ? "USD" : "TRY";
    document.querySelector("html").className = scl;
    //console.log("Değişti");
    location.reload();
    if (document.querySelector(".basket-details")) {
        $('#ss-loader').addClass('show transparent');
        $("#cartCurChange option").removeAttr("selected");
        $("#cartCurChange option[value=" + scl + "]").attr('selected', 'selected')
        $("#cartCurChange").next(".select-check-styled").text((scl === "TRY") ? "TL" : "USD");
        document.getElementById("pp").src = "//sspanel.serversistemleri.com/feeds/req.php?currency=" + cookie[cookie.doviz.value].value;

    }
})
    window.pagination = 0;
    var urlPath = window.location.pathname.split("/");
    var aktifUzanti = urlPath[urlPath.length - 1]; // URL'deki son segmenti uzantı olarak kabul et

    $("#queryDomain").submit(function (event) {
      if (!event.isTrigger) {
          window.pagination = 0;
      }

      if (this.domain.value) {
          this[1].value = 'Bekleyiniz...';

          let domainInput = this.domain.value.trim(); // Kullanıcının girdiği domain
          let domainParts = domainInput.split(".");
          let domainName = domainParts[0]; // Kullanıcının girdiği domain adı

          // Kullanıcının girdiği uzantıyı **tamamen yok sayıp**, sadece sayfanın URL'sindeki uzantıyı kullan
          let ext = aktifUzanti;

          var results = $("#results"),
              html = '';
          if (window.pagination === 0) {
              $(".domain-whois").addClass("disnone");
              results.html('');
          }

          $.get(api + 'queryDomain&domain=' + domainName + '&ext=' + ext + '&skip=' + window.pagination, (data) => {
              if (data) {
                  $(".domain-whois").removeClass("disnone");
                  if (window.pagination === 0) {
                      $(document).scrollTop($("#results").offset().top - ($("#ss-navbar").height() + 420));
                  }

                  if (data.Code) {
                      html += `<div class="alert alert-danger">
                                  <span>Hata!</span>
                                  <p>${errors[data.Message] ? errors[data.Message] : errors["none"]}</p>
                              </div>`;
                  } else {
                      data.sort((e) => (e.TLD === ext ? -1 : 1)).forEach(e => {
                          var action, text;

                          if (window.Cart && window.Cart.domains && window.Cart.domains.find(f => f.domain === `${e.DomainName}.${e.TLD}`)) {
                              action = `href="sepet"`;
                              text = `<a ${action} class="domain-to-cart register"><span class="icon-basket"></span> Ödeme Yap</a>`;
                          } else {
                              action = e.Status === "notavailable"
                                  ? `href="./domain-transferi?domain=${e.DomainName}.${e.TLD}"`
                                  : e.Status === "unsupportedtld"
                                      ? ""
                                      : e.Status === "premium"
                                          ? `href='javascript:void(0)' onclick="Tawk_API.maximize()"`
                                          : `onclick="javascript:domainAddCart('${e.DomainName}.${e.TLD}', this, ${e.Premium},${e.Price});"`;

                              text = `<a ${action} data-domain="${e.DomainName}.${e.TLD}" class="domain-to-cart ${(e.Status === "notavailable") ? "transfer" : (e.Status === "premium") ? 'transfer' :'register'}">
                                          <span class="icon-${(e.Status === "notavailable") ? "rocket" : (e.Status === "premium") ? 'message' :'fs-plus'}"></span>
                                          ${(e.Status === "notavailable") ? '<i class="fa-solid fa-arrow-right-arrow-left"></i> Transfer' : (e.Status === "premium") ? 'İletişim' : '<i class="fa-solid fa-basket-shopping"></i> Sepete Ekle'}
                                      </a>`;
                          }
                          let alan;
                          if (e.Status === "notavailable") {
                              alan = `<a class="kime-ait" target="_blank" style="background-color: rgba(0, 0, 0, 0) !important;border: 1px solid #455cc7;" href="whois-sorgulama?domain=${e.DomainName}.${e.TLD}">Kime Ait?</a>`;
                          } else if (e.Status === "unsupportedtld") {
                              alan = "error";
                          } else if (e.Status === "premium") {
                              alan = `premium`;
                          } else {
                              alan = `<div class="fiyat"><span class="price usd"><usd>$${e.Price} / Yıl</usd><try>₺${new Number(e.Price.replace(",","")*document.getElementById("usdpr").innerText).toFixed(2)} / Yıl</try></span></div>`;
                          }

                          html += `<div class="item">
                              <div class="result ${(e.Status === "notavailable") ? "transfer" : (e.Status === "unsupportedtld") ? 'error' : (e.Status === "premium") ? 'transfer' :'register'}">
                              <div class="row">
                                <div class="col">
                                  <div class="domain-icon"></div>
                                  <div class="domain-name" style="font-size:19px;"> ${(e.Status === "notavailable") ? " <transfer>Alınmış</transfer>" : (e.Status === "unsupportedtld") ? 'error' : (e.Status === "premium") ? '<transfer>Alınmış</transfer>' :'<register>Müsait</register>'} <dikcizgi></dikcizgi> ${e.DomainName}.${e.TLD}${(e.Status === "premium") ? ' - Premium domainler için lütfen <a href="javascript:void()" onclick="Tawk_API.maximize()">iletişime geçin</a>' : ''}${(e.Status === "unsupportedtld") ? ' - Bu uzantı hatalıdır.' : ''}</div>
                                  <div class="domain-button whois-button">
                                    <a target="_blank" href="whois-sorgulama?domain=${e.DomainName}.${e.TLD}" ${(e.Status === "notavailable") ? "class='whois'" : ''}> Kime Ait?</a>
                                  </div>
                                  <div class="domain-badges">
                                    <div class="domain-status"></div>
                                    <div class="free-transfer"></div>
                                  </div>
                                </div>
                                <div class="col-sm-1 mobile-prices col-md-3 col-lg-3 justify-content-end mobile-center">
                                ${(!e.Aciklama && e.oldPrice) ? `<div class="domain-discount">%${Math.round(100 - (e.Price / e.oldPrice) * 100)} İndirim</div>

                                  <div class="domain-price-old">
                                    <span class="prices">
                                      <span class="price usd"><usd>$${e.oldPrice} / Yıl</usd><try>₺${new Number(e.oldPrice*document.getElementById("usdpr").innerText).toFixed(2)} / Yıl</try></span>
                                    </span>
                                  </div>`:''}
                                  ${(e.Aciklama)?`<div class="domain-discount" style="background-color:#3781d8;min-width: 40%; color: white;">${e.Aciklama}</div>`:''}

                                  <div class="domain-price">
                                    <span class="prices">
                                      <span class="price usd"><usd>$${e.Price} / Yıl</usd><try>₺${new Number(e.Price.replace(",","")*document.getElementById("usdpr").innerText).toFixed(2)} / Yıl</try></span>
                                    </span>
                                  </div>
                                </div>
                                <div class="col-sm-2 col-md-6 col-lg-2">
                                  <div class="domain-button">
                                     ${alan}
                                  </div>
                                  <div class="domain-button">
                                    ${text}
                                  </div>
                                </div>
                              </div>
                            </div>
                            </div>`;

                      });
                  }

                  if (window.pagination === 0) {
                      results.html(html);
                  } else {
                      results.append(html);
                  }
              }
          }).always(() => {
              this[1].value = "Sorgula";
          });
      }
      event.preventDefault();
      event.stopPropagation();
    });

window.startWaitedOpt = true;
    if (U.searchParams.get("domain") && $("#domain").length) {
        $("#domain").val(U.searchParams.get("domain"))
        var dsfdf = setInterval(() => {
            if (window.startWaitedOpt) {
                $("#queryDomain").submit();
                clearInterval(dsfdf);
            }
        }, 200);
    }
})(jQuery);

function checkAndUpdateButtonBasedOnCart() {
    // LocalStorage'dan cart verisini al ve JSON olarak parse et
    var cart = JSON.parse(localStorage.getItem('cart') || '[]');

    // Tüm domain-to-cart butonlarını seç
    var domainButtons = document.querySelectorAll('.domain-to-cart');

    // Sepetteki domainleri kontrol et
    domainButtons.forEach(function(button) {
        var domain = button.getAttribute('data-domain');

        // Cart içindeki verilerde, type "domain" ve belirli domain ile eşleşen öğeleri bul
        var isInCart = cart.some(function(item) {
            return item.type === 'domain' && item.domain === domain;
        });

        // Eğer domain sepetteyse butonu güncelle
        if (isInCart) {
            button.classList.remove("register");
            button.classList.add("register");
            button.innerHTML = '<span class="fa-solid fa-basket-shopping"></span> Ödeme Yap'; // Buton içeriğini güncelleme
            button.onclick = null; // Tekrar tıklamayı devre dışı bırakma
        }
    });
}

// Her 500 milisaniyede bir butonu kontrol et ve sepete göre güncelle
var intervalID = setInterval(function() {
    if (document.querySelectorAll('.domain-to-cart').length > 0) {
        checkAndUpdateButtonBasedOnCart();
        clearInterval(intervalID); // İşlem tamamlandıysa kontrolü durdur
    }
}, 500);




function domainAddCart(domain, element, premium, price) {
    element.innerHTML = '<span class="icon-spinner"></span> Bekleyiniz';

    const product = {
        productId: generateUUID(), // Rastgele UUID oluşturulur
        domain: domain,
        action: "registration",
        itemName: premium ? "Premium Domain Kaydı" : "Domain Kaydı", // Premium durumu
        type: "domain", // Domain türü
        price: price, // Fiyat bilgisi
        premium: premium, // Premium bilgisi
        pers: [] // İsteğe bağlı boş bir alan
    };

    // LocalStorage'a ekleme işlemi
    addToCart(product);

    // Sepeti sunucuya gönderme işlemi
    sendCartToServer(product, element);
}

// Sepete ürün ekle
function addToCart(product) {
    let cart = JSON.parse(localStorage.getItem('cart')) || [];

    // Ürünü sepete ekliyoruz
    cart.push(product);

    // Sepeti tekrar LocalStorage'a kaydet
    localStorage.setItem('cart', JSON.stringify(cart));

    console.log('Ürün sepete eklendi:', product);
}

// Sepeti sunucuya gönderme fonksiyonu
function sendCartToServer(product, element) {
    fetch('/require/pages/add-to-cart.php', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify([product]) // Sepet verisini JSON formatında gönderiyoruz
    })
    .then(response => {
        if (!response.ok) {
            throw new Error(`HTTP error! status: ${response.status}`);
        }
        return response.json();
    })
    .then(data => {
        if (data.status === 'success') {
            console.log('Sepet sunucuya başarıyla kaydedildi:', data.cart);
            element.href = 'https://serversistemleri.com/sepet';
            element.onclick = '';
            element.innerHTML = '<span class="fa-solid fa-basket-shopping"></span> Ödeme Yap';
        } else {
            console.error('Sepet kaydedilemedi:', data.message);
        }
    })
    .catch(error => {
        console.error('Sunucuya gönderim sırasında bir hata oluştu:', error);
        element.innerHTML = 'Hata oluştu. Tekrar deneyiniz.';
    });
}

// Rastgele UUID üretmek için basit bir fonksiyon
function generateUUID() {
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
        var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    });
}
