/* ATS — Raed 2 custom JS (single file, replaces every earlier layer) — 2026-10-04
   Three ATS components only: home hero, category strip, offers + compatibility band.
   Small helpers on native blocks: WhatsApp fit-check (cards, product page), feature icons, product details card,
   written-review grid, empty-bundle cleanup. Header, search, footer and reviews stay Salla's own.
   Never rewrites texts that come from Salla settings and never touches cart, checkout or payment components. */
(function () {
  var WA_NUM = "966548739744", NL = String.fromCharCode(10);
  var FIT_MSG = "السلام عليكم، أبي أتأكد من توافق هذه القطعة مع سيارتي:";
  var CAR_LINE = "نوع السيارة وسنتها: ";
  function waLink(text) { return "https://wa.me/" + WA_NUM + "?text=" + encodeURIComponent(text); }
  function ready(f) { document.readyState != "loading" ? f() : document.addEventListener("DOMContentLoaded", f); }
  function wait(sel, f, n) { n = n == null ? 40 : n; var e = document.querySelector(sel); if (e) return f(e); if (n > 0) setTimeout(function () { wait(sel, f, n - 1); }, 250); }
  /* links use the store's own base URL so they work on the domain and inside Salla's preview */
  function base() {
    var u = window.salla && salla.config && salla.config.get && salla.config.get("store.url");
    if (!u) { var l = document.querySelector(".navbar-brand"); u = l ? l.href : "/"; }
    return u.replace(/\/?$/, "/");
  }
  function url(path) { return base() + path.replace(/^\//, ""); }

  var ICON = {
    chat: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12a8 8 0 01-11.8 7L4 20l1.1-4.6A8 8 0 1121 12z"/></svg>',
    wa: '<svg class="ats-wa-ico" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12a8 8 0 01-11.8 7L4 20l1.1-4.6A8 8 0 1121 12z"/></svg>'
  };

  /* ATS artwork hosted in Salla media, keyed by category id */
  var IMG_BASE = "https://cdn.files.salla.network/other/1580463517/";
  var CAT_IMG = {"166938917":"ab121306-b25d-40a6-b172-3949e6cf2559","360112577":"35543287-9acd-48e5-9601-66df465cee1e","1353793141":"8dca9bc5-70a9-4848-be20-f5d157d69282","910700283":"8c552d18-a2c8-4bd5-aa2c-113c0911fa9e","886457595":"56430e4f-0d84-4626-b52d-c7887a7aa263","147979406":"7f14e62f-ac40-4659-b44b-18168c3c639e","385327472":"bab00224-e092-4038-aeed-1b81c5063255","1061677048":"9dfde486-1495-4ab4-b780-5b4001dd1cc1","1259470907":"87c2f9db-29d8-4266-bc28-0f2f5f13f3ce","246787646":"3b7ad174-e207-45e6-a4d2-34616b870540","604682181":"486d6b55-6184-4a3c-9231-5cba79b831c0","100924689":"b3ecbb34-5b54-49c5-ac36-b922c01d2860","1668627548":"e87278dd-3ef8-4f1e-a081-a658f33cdc5a","451735076":"47eb6cd3-cfae-4ca9-bf5f-eccb59be16b2","1877750529":"02d2ce56-da0e-46cb-a089-b2302b3da1d5","636542792":"a3ba4efd-29ea-400e-a793-4a9a3e46b990","425174393":"a3ba4efd-29ea-400e-a793-4a9a3e46b990"};
  function img(id) { return CAT_IMG[id] ? IMG_BASE + CAT_IMG[id] + "-original.webp" : ""; }
  /* categories without ATS artwork: their own product photo from the store (mirrors & dash cams: 70mai S500) */
  var CAT_PHOTO = {"1037015446":"https://cdn.salla.sa/vXoVgK/bc8ab8da-dc4b-472c-9be5-c261c941060a-500x481.80677540778-sEz1X2G5ztY0HY27aY61PWkAPX1yqyxZVcajckGS.jpg"};

  /* Real store categories (name, slug/id, deal flag) */
  var CATS = [["المحرك و نظام الوقود","المحرك-و-نظام-الوقود/c166938917"],["تبريد","تبريد/c1259470907"],["بطانات","بطانات/c246787646"],["بواجي رياضية و ملحقاتها","بواجي-رياضية-و-ملحقاتها/c1061677048"],["قيجات","قيجات/c604682181"],["قطع تزويد","قطع-تزويد/c360112577"],["قطع غيار","قطع-غيار/c1353793141"],["منتجات العناية والزيوت","منتجات-العناية-والزيوت/c1877750529"],["سوبر برو SuperPro","سوبر-برو-superpro/c385327472"],["عدد و أدوات","عدد-و-أدوات/c451735076"],["اكسسوارات و زينة السيارات","اكسسوارات-و-زينة-السيارات/c886457595"],["استيكرات و خطوط","استيكرات-و-خطوط/c910700283"],["مرايا و داش كام","مرايا-و-داش-كام/c1037015446"],["مع التركيب","مع-التركيب/c1668627548"],["مستعمل","مستعمل/c100924689"],["عروض","عروض/c636542792",1],["تخفيضات","تخفيضات/c425174393",1]];
  function cat(i) { return { name: CATS[i][0], href: url(CATS[i][1]), id: CATS[i][1].split("/c")[1] }; }

  function isHome() { return document.body.classList.contains("index"); }
  function main() { return document.querySelector("main"); }

  /* ---------- Home: ATS hero (the stock slider is hidden in Raed 2 settings) ---------- */
  function hero() {
    var m = main(); if (!m || document.querySelector(".ats-hero")) return;
    var s = document.createElement("section");
    s.className = "ats-hero"; s.setAttribute("aria-labelledby", "ats-hero-t");
    s.innerHTML = '<div class="container ats-hero__in"><div class="ats-hero__copy">' +
      '<h2 id="ats-hero-t">قطع غيار وتزويد للفتك</h2>' +
      '<p>محرك ونظام وقود، تبريد، قطع تزويد وإكسسوارات. أرسل نوع سيارتك ونتأكد من توافق القطعة قبل الشراء.</p>' +
      '<div class="ats-hero__ctas"><a class="ats-btn ats-btn--amber" href="#ats-cats">تسوّق حسب القسم</a>' +
      '<a class="ats-btn ats-btn--ghost" href="' + waLink("السلام عليكم، أبي أتأكد من توافق قطعة مع سيارتي." + NL + CAR_LINE) + '" target="_blank" rel="noopener">' + ICON.wa + "تأكد من توافق القطعة</a></div></div>" +
      '<div class="ats-hero__media"><img src="' + img("166938917") + '" alt="محرك TB48 مع نيسان فتك" width="900" height="900" fetchpriority="high" decoding="async"><div class="ats-hero__spec" aria-hidden="true"><span>فتك Y61</span><span>TB48DE</span></div></div></div>';
    m.insertBefore(s, m.firstChild);
  }

  /* ---------- Home: every category as a small image tile (the quick-links slider is hidden in Raed 2 settings) ---------- */
  function catGrid() {
    var h = document.querySelector(".ats-hero"); if (!h || document.querySelector(".ats-cats")) return;
    var s = document.createElement("section");
    s.className = "ats-cats container"; s.id = "ats-cats"; s.setAttribute("aria-labelledby", "ats-cats-t");
    s.innerHTML = '<div class="ats-head"><div><h2 id="ats-cats-t">تسوّق حسب القسم</h2></div><div class="ats-cats__nav"><button type="button" class="ats-cats__btn" data-dir="1" aria-label="الأقسام السابقة"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6"/></svg></button><button type="button" class="ats-cats__btn" data-dir="-1" aria-label="الأقسام التالية"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M15 6l-6 6 6 6"/></svg></button></div></div><div class="ats-cats__track">' +
      CATS.map(function (x, i) {
        var c = cat(i), ph = CAT_PHOTO[c.id], src = ph || img(c.id);
        var art = !ph && c.id != "425174393"; /* ATS artwork already shows the category name */
        return '<a class="ats-cat' + (x[2] ? " is-deal" : "") + (art ? " is-art" : "") + '" href="' + c.href + '"><span class="ats-cat__img' + (ph ? " ats-cat__img--photo" : "") + '"><img src="' + src + '" alt="" loading="lazy" decoding="async" width="900" height="900"></span><span class="ats-cat__name">' + c.name + "</span></a>";
      }).join("") + "</div>";
    var t = s.querySelector(".ats-cats__track");
    [].forEach.call(s.querySelectorAll(".ats-cats__btn"), function (b) {
      b.addEventListener("click", function () { t.scrollBy({ left: +b.getAttribute("data-dir") * t.clientWidth * .8, behavior: "smooth" }); });
    });
    h.parentNode.insertBefore(s, h.nextSibling);
  }

  /* ---------- Home: one dark ATS band (offers + compatibility) after best sellers ---------- */
  function band() {
    wait(".s-block--best-offers", function (b) {
      if (document.querySelector(".ats-band")) return;
      var o = cat(15);
      var s = document.createElement("section");
      s.className = "ats-band container"; s.setAttribute("aria-label", "العروض وتأكيد التوافق");
      s.innerHTML = '<div class="ats-band__in"><a class="ats-promo" href="' + o.href + '"><img src="' + img(o.id) + '" alt="" loading="lazy" decoding="async" width="900" height="900"><div class="ats-promo__copy"><h3>عروض ATS</h3><p>قطع مختارة بأسعار مخفّضة.</p><span class="ats-btn ats-btn--amber">تسوّق العروض</span></div></a>' +
        '<a class="ats-fitcta" href="' + waLink("السلام عليكم، أبحث عن قطعة وأبي أتأكد من توافقها." + NL + CAR_LINE) + '" target="_blank" rel="noopener">'+
        '<div class="ats-fitcta__copy"><h3>تأكد من توافق القطعة مع سيارتك</h3><p>أرسل نوع سيارتك وسنتها واسم القطعة، ونرد عليك بالتأكيد قبل الطلب.</p><ul class="ats-fitcta__steps"><li>نوع السيارة</li><li>سنة الصنع</li><li>اسم القطعة</li></ul><span class="ats-btn ats-btn--amber">' + ICON.wa + "تحقق عبر واتساب</span></div></a></div>";
      b.parentNode.insertBefore(s, b.nextSibling);
    }, 20);
  }

  /* ---------- Product page: ATS fit-check after the buy form (Salla form untouched) ---------- */
  function fitButton() {
    wait("[data-testid=store-product-title]", function (t) {
      if (document.querySelector(".ats-fit")) return;
      var f = document.querySelector(".product-form"); if (!f) return;
      var a = document.createElement("a");
      a.className = "ats-fit";
      a.href = waLink(FIT_MSG + NL + t.textContent.trim() + NL + location.href.split("?")[0] + NL + CAR_LINE);
      a.target = "_blank"; a.rel = "noopener";
      a.innerHTML = '<span><strong>تأكد من توافق القطعة مع سيارتك</strong><small>أرسل نوع سيارتك وسنتها ونرد عليك قبل الطلب.</small></span><span class="ats-btn ats-btn--amber">' + ICON.wa + "تحقق</span>";
      f.parentNode.insertBefore(a, f.nextSibling);
    }, 20);
  }

  /* ---------- Product page: description as a full-width details card under the gallery/buy block ---------- */
  function details() {
    wait("[data-testid=store-product-description]", function (d) {
      var blk = d.closest("[id^=product-]"); if (!blk || document.querySelector(".ats-details")) return;
      if (!d.innerText.trim()) return;
      var s = document.createElement("section");
      s.className = "ats-details"; s.setAttribute("aria-labelledby", "ats-details-t");
      s.innerHTML = '<h2 id="ats-details-t">تفاصيل المنتج</h2>';
      s.appendChild(d);
      blk.parentNode.insertBefore(s, blk.nextSibling);
    }, 20);
  }

  /* ---------- Reviews: up to three written reviews in a fixed grid; none written -> one slim row ---------- */
  function reviews() {
    var b = document.querySelector(".s-block--testimonials"); if (!b) return;
    var slides = b.querySelectorAll(".swiper-slide"); if (!slides.length) return;
    var n = 0;
    [].forEach.call(slides, function (sl) {
      var p = sl.querySelector(".s-reviews-testimonial__text p");
      var ok = n < 3 && !sl.classList.contains("swiper-slide-duplicate") && !!p && p.textContent.trim().length > 3;
      sl.classList.toggle("ats-rev-off", !ok); sl.classList.toggle("ats-rev-3", ok && n == 2);
      if (ok) n++;
    });
    b.classList.toggle("ats-rev-slim", !n); b.classList.toggle("ats-rev-grid", !!n);
  }

  /* ---------- Product cards: secondary WhatsApp fit-check action ---------- */
  function cards() {
    document.querySelectorAll(".s-product-card-entry").forEach(function (c) {
      if (c.querySelector(".ats-card-wa")) return;
      var im = c.querySelector(".s-product-card-image"), ln = c.querySelector(".s-product-card-content-title a");
      if (!im || !ln) return;
      var name = ln.textContent.trim();
      var a = document.createElement("a");
      a.className = "ats-card-wa";
      a.href = waLink(FIT_MSG + NL + name + NL + ln.href.split("?")[0] + NL + CAR_LINE);
      a.target = "_blank"; a.rel = "noopener";
      a.setAttribute("aria-label", "اسأل عن توافق " + name + " عبر واتساب");
      a.innerHTML = ICON.chat;
      im.appendChild(a);
    });
  }

  /* ---------- Store features: line icons keyed by the icon chosen in Salla (texts stay from settings) ---------- */
  var S = '<svg class="ats-ico" viewBox="0 0 24 24" aria-hidden="true">';
  var FEAT_ICO = {
    "sicon-refund": S + '<rect x="2.5" y="5" width="19" height="14" rx="2.5"/><path d="M2.5 9.5h19"/><path class="a" d="M6 15h2.5M10.75 15h2.5M15.5 15h2.5"/></svg>',
    "sicon-shipping-fast": S + '<path d="M2.5 7h11v8.5h-11z"/><path d="M13.5 10h4l3 3.2v2.3h-7"/><circle cx="6.5" cy="17.5" r="1.8"/><circle cx="17" cy="17.5" r="1.8"/><path class="a" d="M5 4h8.5"/></svg>',
    "sicon-whatsapp": S + '<path d="M21 12a8 8 0 01-11.8 7L4 20l1.1-4.6A8 8 0 1121 12z"/><path class="a" d="M8.6 12.1l2.3 2.3 4.6-4.6"/></svg>'
  };
  function features() {
    document.querySelectorAll(".s-block--features__item").forEach(function (it) {
      var box = it.querySelector(".feature-icon"), i = box && box.querySelector("i");
      if (!i || box.querySelector(".ats-ico")) return;
      var k = Object.keys(FEAT_ICO).filter(function (c) { return i.classList.contains(c); })[0];
      if (!k) return;
      box.insertAdjacentHTML("beforeend", FEAT_ICO[k]);
      if (k == "sicon-whatsapp" && it.tagName != "A") {
        var a = document.createElement("a");
        a.className = it.className; a.href = waLink("السلام عليكم، أبي أتأكد من توافق قطعة مع سيارتي. " + CAR_LINE);
        a.target = "_blank"; a.rel = "noopener";
        while (it.firstChild) a.appendChild(it.firstChild);
        it.replaceWith(a);
      }
    });
  }

  /* Hide recommendation bundles that rendered empty (they leave a blank gap) */
  function emptyBundles() {
    document.querySelectorAll("[class*=s-block--bundle]").forEach(function (b) {
      b.classList.toggle("ats-empty", !b.innerText.trim() && !b.querySelector("img"));
    });
  }

  function run() { cards(); features(); reviews(); }
  var t = null;
  function later() { clearTimeout(t); t = setTimeout(function () { cards(); reviews(); }, 300); }

  ready(function () {
    if (isHome()) { hero(); catGrid(); band(); }
    fitButton(); details(); run();
    setTimeout(run, 800); setTimeout(run, 2500);
    setTimeout(emptyBundles, 3000); setTimeout(emptyBundles, 7000);
    new MutationObserver(later).observe(document.body, { childList: true, subtree: true });
  });
})();