
document.addEventListener('DOMContentLoaded',function(){
  const menu=document.getElementById('offcanvasMenu');
  const backdrop=document.getElementById('menuBackdrop');
  const close=document.getElementById('closeMenu');
  ['openMenu','openMenuDesktop','openMenuBottom'].map(id=>document.getElementById(id)).filter(Boolean).forEach(btn=>{
    btn.addEventListener('click',()=>{menu.classList.add('active');backdrop.classList.add('active');document.body.style.overflow='hidden';});
  });
  function closeMenu(){menu.classList.remove('active');backdrop.classList.remove('active');document.body.style.overflow='';}
  if(close) close.addEventListener('click',closeMenu);
  if(backdrop) backdrop.addEventListener('click',closeMenu);

  const search=document.getElementById('searchPanel');
  const openSearch=document.getElementById('openSearch');
  const closeSearch=document.getElementById('closeSearch');
  if(openSearch) openSearch.addEventListener('click',()=>search.classList.add('active'));
  if(closeSearch) closeSearch.addEventListener('click',()=>search.classList.remove('active'));

  const tabs=document.querySelectorAll('[data-mega-slide]');
  const panels=document.querySelectorAll('[data-mega-panel]');
  let current=1;
  function setSlide(id){
    current=parseInt(id,10);
    tabs.forEach(btn=>btn.classList.toggle('active',btn.dataset.megaSlide===String(id)));
    panels.forEach(panel=>panel.classList.toggle('active',panel.dataset.megaPanel===String(id)));
  }
  tabs.forEach(btn=>btn.addEventListener('click',e=>{e.preventDefault();setSlide(btn.dataset.megaSlide);}));
  if(tabs.length) setInterval(()=>{current=current>=tabs.length?1:current+1;setSlide(current);},6500);
  document.addEventListener('keydown',e=>{if(e.key==='Escape')closeMenu();});
});


/* Ana yatay haber slider numaraları aktiflik */
document.addEventListener('DOMContentLoaded',function(){
  const mainSlideBtns = document.querySelectorAll('[data-main-slide]');
  if(mainSlideBtns.length){
    mainSlideBtns.forEach(btn=>{
      btn.addEventListener('click',function(e){
        e.preventDefault();
        mainSlideBtns.forEach(b=>b.classList.remove('active'));
        this.classList.add('active');
      });
    });
  }
});


/* Ana yatay haber sliderı - 15 haber canlı geçiş */
document.addEventListener('DOMContentLoaded', function(){
  const mainHeroSlide = document.getElementById('mainHeroSlide');
  const mainHeroImage = document.getElementById('mainHeroImage');
  const mainHeroCategory = document.getElementById('mainHeroCategory');
  const mainHeroTitle = document.getElementById('mainHeroTitle');
  const mainHeroSummary = document.getElementById('mainHeroSummary');
  const mainSlideButtons = Array.from(document.querySelectorAll('[data-main-slide]'));
  const prevBtn = document.getElementById('mainSlidePrev');
  const nextBtn = document.getElementById('mainSlideNext');

  if(!mainHeroSlide || !mainHeroImage || !mainHeroCategory || !mainHeroTitle || !mainHeroSummary || !mainSlideButtons.length){
    return;
  }

  const mainSlides = [
    {
      category:'GÜNDEM',
      title:'Meclis’te yeni dönemde ilk kritik hafta',
      summary:'TBMM Genel Kurulu’nda bu hafta yoğun mesai var. Yeni yasa teklifleri görüşülecek.',
      image:'https://images.unsplash.com/photo-1529107386315-e1a2ed48a620?q=80&w=1500&auto=format&fit=crop',
      link:'13-haber_detay_sayfasi/haber-detay.html'
    },
    {
      category:'EKONOMİ',
      title:'Merkez Bankası faiz kararını açıkladı',
      summary:'Piyasalarda haftanın en çok beklenen kararı sonrası döviz ve altın tarafında hareketlilik arttı.',
      image:'https://images.unsplash.com/photo-1642790106117-e829e14a795f?q=80&w=1500&auto=format&fit=crop',
      link:'05-finans_kategori_sayfasi/finans.html'
    },
    {
      category:'SPOR',
      title:'Derbi sonrası ligde zirve yarışı kızıştı',
      summary:'Süper Lig’de haftanın kritik karşılaşması sonrası puan tablosunda dikkat çeken değişiklikler yaşandı.',
      image:'https://images.unsplash.com/photo-1431324155629-1a6deb1dec8d?q=80&w=1500&auto=format&fit=crop',
      link:'32-spor_kategori_sayfasi/spor.html'
    },
    {
      category:'YEREL',
      title:'Bursa’da ulaşım yatırımları için yeni takvim',
      summary:'Şehir içi ulaşımı rahatlatacak yeni projeler için uygulama süreci ve etaplar açıklandı.',
      image:'https://images.unsplash.com/photo-1581094794329-c8112a89af12?q=80&w=1500&auto=format&fit=crop',
      link:'39-yerel_haberler/yerel-haberler.html'
    },
    {
      category:'TEKNOLOJİ',
      title:'Yapay zekâ destekli haber sistemleri yaygınlaşıyor',
      summary:'Dijital yayıncılıkta yeni nesil yapay zekâ araçları haber üretim ve analiz süreçlerini dönüştürüyor.',
      image:'https://images.unsplash.com/photo-1677442136019-21780ecad995?q=80&w=1500&auto=format&fit=crop',
      link:'33-teknoloji_kategori_detay/teknoloji.html'
    },
    {
      category:'DÜNYA',
      title:'Küresel piyasalarda jeopolitik gündem etkisi',
      summary:'Uluslararası diplomasi trafiği ve ekonomik veriler dünya piyasalarının yönünü belirliyor.',
      image:'https://images.unsplash.com/photo-1517006667795-7fc9bbaceeb3?q=80&w=1500&auto=format&fit=crop',
      link:'20-kategori_sayfasi/kategori.html'
    },
    {
      category:'VİDEO',
      title:'O anlar kamerada: şehir merkezinde dikkat çeken olay',
      summary:'Günün en çok izlenen video haberleri ve sıcak gelişmeler video galeri sayfasında.',
      image:'https://images.unsplash.com/photo-1495020689067-958852a7765e?q=80&w=1500&auto=format&fit=crop',
      link:'36-video_galeri_sayfasi/video-galeri.html'
    },
    {
      category:'FOTO GALERİ',
      title:'Haftanın en dikkat çeken fotoğrafları',
      summary:'Gündemin öne çıkan başlıkları fotoğraflarla derlendi.',
      image:'https://images.unsplash.com/photo-1529156069898-49953e39b3ac?q=80&w=1500&auto=format&fit=crop',
      link:'08-foto_galeri_kategori_sayfasi/foto-galeri.html'
    },
    {
      category:'SİNEMA',
      title:'Bu hafta vizyona giren filmler belli oldu',
      summary:'Sinema salonlarında bu hafta izleyiciyle buluşacak yeni yapımlar listelendi.',
      image:'https://images.unsplash.com/photo-1489599849927-2ee91cede3ba?q=80&w=1500&auto=format&fit=crop',
      link:'28-sinemalar_sinema_havasi_listeleme/sinemalar.html'
    },
    {
      category:'KİM KİMDİR',
      title:'Günün merak edilen ismi kimdir?',
      summary:'Biyografi sayfasında gündemdeki isimlerin hayatı, kariyeri ve açıklamaları yer alıyor.',
      image:'https://images.unsplash.com/photo-1544005313-94ddf0286df2?q=80&w=1500&auto=format&fit=crop',
      link:'21-kim_kimdir_biyografi/kim-kimdir.html'
    },
    {
      category:'BURÇLAR',
      title:'Günlük burç yorumları açıklandı',
      summary:'Aşk, para, kariyer ve sağlık başlıklarında günlük burç yorumları.',
      image:'https://images.unsplash.com/photo-1515942661900-94b3d1972591?q=80&w=1500&auto=format&fit=crop',
      link:'02-burclar_estetik_guncel/burclar.html'
    },
    {
      category:'HAVA DURUMU',
      title:'Meteoroloji il il uyardı',
      summary:'Yağış, sıcaklık ve rüzgar tahminleri şehir şehir güncellendi.',
      image:'https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?q=80&w=1500&auto=format&fit=crop',
      link:'14-hava_durumu_ve_detay/hava-durumu.html'
    },
    {
      category:'İLANLAR',
      title:'Yeni ilanlar yayına alındı',
      summary:'Emlak, otomotiv, ürün, ikinci el ürün ve hizmet ilanları tek ekranda listeleniyor.',
      image:'https://images.unsplash.com/photo-1556742049-0cfed4f6a45d?q=80&w=1500&auto=format&fit=crop',
      link:'16-ilanlar_5_kategori_ozel_sayfalar/ilanlar.html'
    },
    {
      category:'FİRMA REHBERİ',
      title:'Şehir firmaları firma rehberinde',
      summary:'Firma rehberi ile şehirdeki işletmelere ve detay bilgilerine hızlıca ulaşın.',
      image:'https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?q=80&w=1500&auto=format&fit=crop',
      link:'06-firma_rehberi_detay/firma-rehberi.html'
    },
    {
      category:'YAZARLAR',
      title:'Günün köşe yazıları ve yorumları',
      summary:'Haber Nova yazarlarının gündeme dair analizleri ve yorumları.',
      image:'https://images.unsplash.com/photo-1495020689067-958852a7765e?q=80&w=1500&auto=format&fit=crop',
      link:'38-yazarlar_yatay_sade/yazarlar.html'
    }
  ];

  let currentMainSlide = 1;

  function setMainSlide(index){
    const total = mainSlides.length;
    if(index < 1) index = total;
    if(index > total) index = 1;

    currentMainSlide = index;
    const data = mainSlides[index - 1];

    mainHeroSlide.href = data.link;
    mainHeroImage.src = data.image;
    mainHeroCategory.textContent = data.category;
    mainHeroTitle.textContent = data.title;
    mainHeroSummary.textContent = data.summary;

    mainSlideButtons.forEach(btn=>{
      btn.classList.toggle('active', Number(btn.dataset.mainSlide) === index);
    });
  }

  mainSlideButtons.forEach(btn=>{
    btn.addEventListener('click', function(e){
      e.preventDefault();
      setMainSlide(Number(this.dataset.mainSlide));
    });
  });

  if(prevBtn){
    prevBtn.addEventListener('click', function(e){
      e.preventDefault();
      setMainSlide(currentMainSlide - 1);
    });
  }

  if(nextBtn){
    nextBtn.addEventListener('click', function(e){
      e.preventDefault();
      setMainSlide(currentMainSlide + 1);
    });
  }
});


/* Sinemalar ray navigasyonu */
document.addEventListener('DOMContentLoaded', function(){
  const rail = document.getElementById('cinemaRail');
  const prev = document.getElementById('cinemaPrev');
  const next = document.getElementById('cinemaNext');
  if(rail && prev && next){
    prev.addEventListener('click', function(){
      rail.scrollBy({left:-420, behavior:'smooth'});
    });
    next.addEventListener('click', function(){
      rail.scrollBy({left:420, behavior:'smooth'});
    });
  }

  const standingTabs = document.querySelectorAll('[data-standing-tab]');
  const standingPanels = document.querySelectorAll('[data-standing-panel]');
  if(standingTabs.length && standingPanels.length){
    standingTabs.forEach(btn=>{
      btn.addEventListener('click', function(){
        const key = this.dataset.standingTab;
        standingTabs.forEach(b=>b.classList.toggle('active', b===this));
        standingPanels.forEach(panel=>{
          panel.classList.toggle('active', panel.dataset.standingPanel === key);
        });
      });
    });
  }
});


/* Düzeltilmiş sinemalar ve spor tab çalışmaları */
document.addEventListener('DOMContentLoaded', function(){
  const rail = document.getElementById('cinemaRail');
  const prev = document.getElementById('cinemaPrev');
  const next = document.getElementById('cinemaNext');

  if(rail && prev && next){
    prev.addEventListener('click', function(){
      rail.scrollBy({ left: -420, behavior: 'smooth' });
    });

    next.addEventListener('click', function(){
      rail.scrollBy({ left: 420, behavior: 'smooth' });
    });
  }

  const modal = document.getElementById('movieModal');
  const modalTitle = document.getElementById('movieModalTitle');
  document.querySelectorAll('[data-movie]').forEach(btn => {
    btn.addEventListener('click', function(){
      if(modal && modalTitle){
        modalTitle.textContent = this.dataset.movie + ' - Fragman';
        modal.classList.add('active');
        document.body.style.overflow = 'hidden';
      }
    });
  });

  document.querySelectorAll('[data-close-movie]').forEach(el => {
    el.addEventListener('click', function(){
      if(modal){
        modal.classList.remove('active');
        document.body.style.overflow = '';
      }
    });
  });

  const standingTabs = document.querySelectorAll('[data-standing-tab]');
  const standingPanels = document.querySelectorAll('[data-standing-panel]');

  standingTabs.forEach(tab => {
    tab.addEventListener('click', function(){
      const key = this.dataset.standingTab;
      standingTabs.forEach(t => t.classList.toggle('active', t === this));
      standingPanels.forEach(panel => {
        panel.classList.toggle('active', panel.dataset.standingPanel === key);
      });
    });
  });
});


/* Fikstür devamını aç/kapat */
document.addEventListener('DOMContentLoaded', function(){
  document.querySelectorAll('[data-standing-more]').forEach(btn => {
    btn.addEventListener('click', function(){
      const panel = this.closest('.standing-panel');
      if(panel){
        panel.classList.toggle('expanded');
      }
    });
  });
});


/* Gazete manşetleri ray navigasyonu */
document.addEventListener('DOMContentLoaded', function(){
  const paperRail = document.getElementById('newspaperRail');
  const paperPrev = document.getElementById('newspaperPrev');
  const paperNext = document.getElementById('newspaperNext');

  if(paperRail && paperPrev && paperNext){
    paperPrev.addEventListener('click', function(){
      paperRail.scrollBy({ left: -420, behavior: 'smooth' });
    });

    paperNext.addEventListener('click', function(){
      paperRail.scrollBy({ left: 420, behavior: 'smooth' });
    });
  }
});


/* Sağ side Son İlanlar tekli slider */
document.addEventListener('DOMContentLoaded', function(){
  const listingSlides = Array.from(document.querySelectorAll('[data-listing-slide]'));
  const listingDots = Array.from(document.querySelectorAll('[data-listing-dot]'));
  if(!listingSlides.length || !listingDots.length) return;

  let listingIndex = 1;

  function setListingSlide(index){
    if(index < 1) index = listingSlides.length;
    if(index > listingSlides.length) index = 1;
    listingIndex = index;

    listingSlides.forEach(slide => {
      slide.classList.toggle('active', Number(slide.dataset.listingSlide) === index);
    });

    listingDots.forEach(dot => {
      dot.classList.toggle('active', Number(dot.dataset.listingDot) === index);
    });
  }

  listingDots.forEach(dot => {
    dot.addEventListener('click', function(){
      setListingSlide(Number(this.dataset.listingDot));
    });
  });

  setInterval(function(){
    setListingSlide(listingIndex + 1);
  }, 4000);
});


/* Sağ menü güvenli tetikleme */
document.addEventListener('DOMContentLoaded', function(){
  const menu = document.getElementById('offcanvasMenu');
  const backdrop = document.getElementById('menuBackdrop');
  const close = document.getElementById('closeMenu');

  function openSideMenu(){
    if(menu) menu.classList.add('active');
    if(backdrop) backdrop.classList.add('active');
    document.body.style.overflow = 'hidden';
  }

  function closeSideMenu(){
    if(menu) menu.classList.remove('active');
    if(backdrop) backdrop.classList.remove('active');
    document.body.style.overflow = '';
  }

  ['openMenu','openMenuDesktop','openMenuBottom'].forEach(id => {
    const btn = document.getElementById(id);
    if(btn && !btn.dataset.sideMenuBound){
      btn.dataset.sideMenuBound = '1';
      btn.addEventListener('click', function(e){
        e.preventDefault();
        openSideMenu();
      });
    }
  });

  if(close && !close.dataset.sideMenuBound){
    close.dataset.sideMenuBound = '1';
    close.addEventListener('click', closeSideMenu);
  }

  if(backdrop && !backdrop.dataset.sideMenuBound){
    backdrop.dataset.sideMenuBound = '1';
    backdrop.addEventListener('click', closeSideMenu);
  }
});


/* Sağ menü güvenli tetikleme - final */
document.addEventListener('DOMContentLoaded', function(){
  const menu = document.getElementById('offcanvasMenu');
  const backdrop = document.getElementById('menuBackdrop');
  const close = document.getElementById('closeMenu');

  function openSideMenu(){
    if(menu) menu.classList.add('active');
    if(backdrop) backdrop.classList.add('active');
    document.body.style.overflow = 'hidden';
  }

  function closeSideMenu(){
    if(menu) menu.classList.remove('active');
    if(backdrop) backdrop.classList.remove('active');
    document.body.style.overflow = '';
  }

  ['openMenu','openMenuDesktop','openMenuBottom'].forEach(id => {
    const btn = document.getElementById(id);
    if(btn && !btn.dataset.finalSideMenuBound){
      btn.dataset.finalSideMenuBound = '1';
      btn.addEventListener('click', function(e){
        e.preventDefault();
        openSideMenu();
      });
    }
  });

  if(close && !close.dataset.finalSideMenuBound){
    close.dataset.finalSideMenuBound = '1';
    close.addEventListener('click', closeSideMenu);
  }

  if(backdrop && !backdrop.dataset.finalSideMenuBound){
    backdrop.dataset.finalSideMenuBound = '1';
    backdrop.addEventListener('click', closeSideMenu);
  }
});


/* Header menü ikonlu / ikonsuz demo toggle */
document.addEventListener('DOMContentLoaded', function(){
  const toggle = document.getElementById('headerIconToggle');
  if(!toggle) return;

  const icon = toggle.querySelector('i');
  const text = toggle.querySelector('span');

  function syncToggle(){
    const off = document.body.classList.contains('header-icons-off');
    if(icon){
      icon.className = off ? 'bi bi-eye' : 'bi bi-eye-slash';
    }
    if(text){
      text.textContent = off ? 'İkonlu' : 'İkonsuz';
    }
    toggle.setAttribute('aria-pressed', off ? 'true' : 'false');
  }

  toggle.addEventListener('click', function(){
    document.body.classList.toggle('header-icons-off');
    syncToggle();
  });

  syncToggle();
});


/* Header ikon toggle fix */
document.addEventListener('DOMContentLoaded', function(){
  const toggle = document.getElementById('headerIconToggle');
  if(!toggle) return;

  const icon = toggle.querySelector('i');
  const text = toggle.querySelector('span');

  function syncHeaderIconToggle(){
    const off = document.body.classList.contains('header-icons-off');
    if(icon) icon.className = off ? 'bi bi-eye' : 'bi bi-eye-slash';
    if(text) text.textContent = off ? 'İkonlu' : 'İkonsuz';
  }

  toggle.addEventListener('click', function(){
    document.body.classList.toggle('header-icons-off');
    syncHeaderIconToggle();
  });

  syncHeaderIconToggle();
});


/* Header icon toggle görünür buton fix */
document.addEventListener('DOMContentLoaded', function(){
  const toggle = document.getElementById('headerIconToggle');
  if(!toggle) return;

  const icon = toggle.querySelector('i');
  const text = toggle.querySelector('span');

  function syncHeaderIconToggleVisible(){
    const off = document.body.classList.contains('header-icons-off');
    if(icon) icon.className = off ? 'bi bi-eye' : 'bi bi-eye-slash';
    if(text) text.textContent = off ? 'İkonlu' : 'İkonsuz';
    toggle.setAttribute('aria-pressed', off ? 'true' : 'false');
  }

  toggle.addEventListener('click', function(e){
    e.preventDefault();
    document.body.classList.toggle('header-icons-off');
    syncHeaderIconToggleVisible();
  });

  syncHeaderIconToggleVisible();
});


/* Mobil slider swipe kontrolleri */
document.addEventListener('DOMContentLoaded', function(){
  /* Dikey mega slider: touch / mouse yukarı-aşağı */
  const mega = document.querySelector('.home-mega-slider');
  const megaBtns = Array.from(document.querySelectorAll('[data-mega-slide]'));
  let megaIndex = megaBtns.findIndex(btn => btn.classList.contains('active'));
  if(megaIndex < 0) megaIndex = 0;

  function clickMega(index){
    if(!megaBtns.length) return;
    const target = megaBtns[((index % megaBtns.length) + megaBtns.length) % megaBtns.length];
    target.click();
    megaIndex = megaBtns.indexOf(target);
  }

  if(mega && megaBtns.length){
    let startY = 0;
    let startX = 0;
    let mouseDown = false;

    mega.addEventListener('touchstart', function(e){
      startY = e.touches[0].clientY;
      startX = e.touches[0].clientX;
    }, {passive:true});

    mega.addEventListener('touchend', function(e){
      const endY = e.changedTouches[0].clientY;
      const endX = e.changedTouches[0].clientX;
      const diffY = endY - startY;
      const diffX = endX - startX;
      if(Math.abs(diffY) > 35 && Math.abs(diffY) > Math.abs(diffX)){
        clickMega(megaIndex + (diffY < 0 ? 1 : -1));
      }
    }, {passive:true});

    mega.addEventListener('mousedown', function(e){
      mouseDown = true;
      startY = e.clientY;
      startX = e.clientX;
    });

    window.addEventListener('mouseup', function(e){
      if(!mouseDown) return;
      mouseDown = false;
      const diffY = e.clientY - startY;
      const diffX = e.clientX - startX;
      if(Math.abs(diffY) > 35 && Math.abs(diffY) > Math.abs(diffX)){
        clickMega(megaIndex + (diffY < 0 ? 1 : -1));
      }
    });
  }

  /* Yatay manşet slider: mobil elle sağ-sol kaydırma */
  const mainHero = document.querySelector('.headline-slider');
  const slideBtns = Array.from(document.querySelectorAll('[data-main-slide]'));
  let mainIndex = slideBtns.findIndex(btn => btn.classList.contains('active'));
  if(mainIndex < 0) mainIndex = 0;

  function clickMain(index){
    if(!slideBtns.length) return;
    const target = slideBtns[((index % slideBtns.length) + slideBtns.length) % slideBtns.length];
    target.click();
    mainIndex = slideBtns.indexOf(target);
  }

  if(mainHero && slideBtns.length){
    let startX = 0;
    let startY = 0;

    mainHero.addEventListener('touchstart', function(e){
      startX = e.touches[0].clientX;
      startY = e.touches[0].clientY;
    }, {passive:true});

    mainHero.addEventListener('touchend', function(e){
      const endX = e.changedTouches[0].clientX;
      const endY = e.changedTouches[0].clientY;
      const diffX = endX - startX;
      const diffY = endY - startY;
      if(Math.abs(diffX) > 40 && Math.abs(diffX) > Math.abs(diffY)){
        clickMain(mainIndex + (diffX < 0 ? 1 : -1));
      }
    }, {passive:true});
  }
});


/* Mobil dikey manşet: sağa/sola kaydırınca değişsin */
document.addEventListener('DOMContentLoaded', function(){
  const mega = document.querySelector('.home-mega-slider');
  const megaBtns = Array.from(document.querySelectorAll('[data-mega-slide]'));
  if(!mega || !megaBtns.length) return;

  let startX = 0;
  let startY = 0;
  let mobileMegaIndex = megaBtns.findIndex(btn => btn.classList.contains('active'));
  if(mobileMegaIndex < 0) mobileMegaIndex = 0;

  function currentMegaIndex(){
    const active = megaBtns.findIndex(btn => btn.classList.contains('active'));
    return active >= 0 ? active : mobileMegaIndex;
  }

  function goMega(index){
    const len = megaBtns.length;
    const targetIndex = ((index % len) + len) % len;
    mobileMegaIndex = targetIndex;
    megaBtns[targetIndex].click();
  }

  mega.addEventListener('touchstart', function(e){
    if(window.innerWidth > 768) return;
    startX = e.touches[0].clientX;
    startY = e.touches[0].clientY;
  }, {passive:true, capture:true});

  mega.addEventListener('touchend', function(e){
    if(window.innerWidth > 768) return;

    const endX = e.changedTouches[0].clientX;
    const endY = e.changedTouches[0].clientY;
    const diffX = endX - startX;
    const diffY = endY - startY;

    /* Mobilde sadece yatay hareket dikkate alınır */
    if(Math.abs(diffX) > 38 && Math.abs(diffX) > Math.abs(diffY)){
      e.stopPropagation();
      const idx = currentMegaIndex();
      goMega(idx + (diffX < 0 ? 1 : -1));
    }
  }, {passive:false, capture:true});
});





/* Auto changing Son Dakika ticker */
document.addEventListener('DOMContentLoaded', function(){
  const items = [
    'İçişleri Bakanı Yerlikaya: 12 ilde düzenlenen operasyonlarda 98 şüpheli yakalandı',
    'Bursa’da yeni ulaşım takvimi şehir gündeminde öne çıktı',
    'Altın ve dövizde günün kritik seviyeleri yakından izleniyor',
    'Süper Lig’de derbi sonrası puan tablosu yeniden şekillendi',
    'Teknoloji dünyasında yapay zekâ rekabeti büyüyor',
    'Meteoroloji’den sağanak ve kuvvetli rüzgar uyarısı geldi',
    'Kabine toplantısı sonrası yeni kararlar açıklandı',
    'Yerel yönetimlerden yeni ulaşım ve altyapı açıklaması',
    'Sağlık Bakanlığı randevu sistemiyle ilgili yeni düzenlemeyi paylaştı',
    'Dünya gündeminde ateşkes görüşmeleri öne çıktı'
  ];

  const links = [
    '12-gelismis_son_dakika_akis/son-dakika.html',
    '39-yerel_haberler/yerel-haberler.html',
    '05-finans_kategori_sayfasi/finans.html',
    '32-spor_kategori_sayfasi/spor.html',
    '33-teknoloji_kategori_detay/teknoloji.html',
    '14-hava_durumu_ve_detay/hava-durumu.html',
    '20-kategori_sayfasi/kategori.html',
    '39-yerel_haberler/yerel-haberler.html',
    '13-haber_detay_sayfasi/haber-detay.html',
    '20-kategori_sayfasi/kategori.html'
  ];

  const current = document.getElementById('tickerCurrent');
  const prev = document.getElementById('tickerPrev');
  const next = document.getElementById('tickerNext');
  let index = 0;

  function render(){
    if(!current) return;
    current.textContent = items[index];
    current.href = links[index];
    current.style.animation = 'none';
    current.offsetHeight;
    current.style.animation = '';
  }

  function go(step){
    index = (index + step + items.length) % items.length;
    render();
  }

  if(prev) prev.addEventListener('click', function(){ go(-1); });
  if(next) next.addEventListener('click', function(){ go(1); });

  render();
  setInterval(function(){ go(1); }, 4000);

  const searchForm = document.querySelector('.offcanvas-search');
  if(searchForm && searchForm.tagName.toLowerCase() === 'form'){
    searchForm.addEventListener('submit', function(e){
      const input = searchForm.querySelector('input[name="q"]');
      if(input && !input.value.trim()){
        e.preventDefault();
        input.focus();
      }
    });
  }
});


/* Reklam modalı */
document.addEventListener('DOMContentLoaded', function(){
  const modal = document.getElementById('adModalOverlay');
  const closeBtn = document.getElementById('adModalClose');

  if(!modal || !closeBtn) return;

  const alreadySeen = sessionStorage.getItem('habersysAdModalClosed');

  if(!alreadySeen && document.body.classList.contains('homepage-with-ads')){
    setTimeout(function(){
      modal.classList.add('show');
      modal.setAttribute('aria-hidden', 'false');
    }, 900);
  }

  function closeModal(){
    modal.classList.remove('show');
    modal.setAttribute('aria-hidden', 'true');
    sessionStorage.setItem('habersysAdModalClosed', '1');
  }

  closeBtn.addEventListener('click', closeModal);

  modal.addEventListener('click', function(e){
    if(e.target === modal) closeModal();
  });

  document.addEventListener('keydown', function(e){
    if(e.key === 'Escape' && modal.classList.contains('show')) closeModal();
  });
});


// HABERSYS benzersiz son dakika şeridi
document.addEventListener('DOMContentLoaded', function(){
  document.querySelectorAll('.hn-breaking').forEach(function(root){
    const current = root.querySelector('.hn-breaking-current');
    const data = Array.from(root.querySelectorAll('.hn-breaking-data a'));
    const prev = root.querySelector('.hn-breaking-prev');
    const next = root.querySelector('.hn-breaking-next');

    if(!current || !data.length) return;

    let index = Math.max(0, data.findIndex(function(a){
      return a.textContent.trim() === current.textContent.trim();
    }));

    if(index < 0) index = 0;

    function render(){
      const item = data[index];
      current.textContent = item.textContent;
      current.setAttribute('href', item.getAttribute('href') || '#');
    }

    function go(step){
      index = (index + step + data.length) % data.length;
      render();
    }

    if(prev) prev.addEventListener('click', function(){ go(-1); });
    if(next) next.addEventListener('click', function(){ go(1); });

    setInterval(function(){ go(1); }, 4000);
  });
});
