<?php
/**
 * Veritabanı Bağlantı Ayarları
 */
$host = 'localhost';
$dbname = 'univs';
$username = 'root';
$password = 'Z15454drfdll8r8drtG';

/**
 * Türkçe karakterleri temizleyip URL dostu (slug) yapan fonksiyon
 */
function createSlug($str) {
    $turkce = array("ş", "Ş", "ı", "ü", "Ü", "ö", "Ö", "ç", "Ç", "ş", "Ş", "ı", "ğ", "Ğ", "İ", "ö", "Ö", "Ç", "ç", "ü", "Ü");
    $duzgun = array("s", "s", "i", "u", "u", "o", "o", "c", "c", "s", "s", "i", "g", "g", "i", "o", "o", "c", "c", "u", "u");
    $str = str_replace($turkce, $duzgun, $str);
    $str = mb_strtolower($str, 'UTF-8');
    $str = preg_replace('/[^a-z0-9]/', '-', $str);
    $str = preg_replace('/-+/', '-', $str);
    return trim($str, '-');
}

function formatBolumAdi($bolumAdi, $burs = '') {
    if (!empty($burs) && mb_stripos($bolumAdi, '(' . $burs . ')', 0, 'UTF-8') === false) {
        return $bolumAdi . ' (' . $burs . ')';
    }
    return $bolumAdi;
}

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    // Filtreleme parametreleri
    $search = isset($_GET['search']) ? $_GET['search'] : '';
    $puan_turleri = isset($_GET['puan_turu']) ? (array)$_GET['puan_turu'] : [];
    $ek_filtreler = isset($_GET['ek_filtreler']) ? (array)$_GET['ek_filtreler'] : [];
    $sort_by = isset($_GET['sort_by']) ? $_GET['sort_by'] : 'bs'; // 'bs' veya 'puan'
    
    $min_bs = (isset($_GET['min_bs']) && $_GET['min_bs'] !== '') ? (int)$_GET['min_bs'] : null;
    $max_bs = (isset($_GET['max_bs']) && $_GET['max_bs'] !== '') ? (int)$_GET['max_bs'] : null;
    $min_puan = (isset($_GET['min_puan']) && $_GET['min_puan'] !== '') ? (float)$_GET['min_puan'] : null;
    $max_puan = (isset($_GET['max_puan']) && $_GET['max_puan'] !== '') ? (float)$_GET['max_puan'] : null;
    
    // Eğitim türü mantığını puan_turu içindeki Lisans/Önlisans'a göre güncelle
    $egitim_turu = [];
    if (in_array('Lisans', $puan_turleri)) $egitim_turu[] = 'lisans';
    if (in_array('Önlisans', $puan_turleri)) $egitim_turu[] = 'onlisans';
    if (empty($egitim_turu)) $egitim_turu = ['lisans', 'onlisans'];

    $page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
    $limit = 20;
    $offset = ($page - 1) * $limit;

// SQL Sorgusu Oluşturma (SADECE Bolumler tablosu)
$params = [];

// Eğitim türü filtresi (Sure alanına göre)
// Önlisans: Sure <= 2, Lisans: Sure > 2
$only_lisans = in_array('lisans', $egitim_turu) && !in_array('onlisans', $egitim_turu);
$only_onlisans = in_array('onlisans', $egitim_turu) && !in_array('lisans', $egitim_turu);

$sql = "
    SELECT
        Bolumler.*,
        CASE WHEN Sure <= 2 THEN 'Önlisans' ELSE 'Lisans' END AS EgitimTuruLabel,
        COALESCE(TBS, 10000000) AS tbs_numeric,
        COALESCE(TabanPuan, -999999) AS puan_numeric
    FROM Bolumler
    WHERE 1=1
";

if ($only_onlisans) {
    $sql .= " AND Sure <= 2";
} elseif ($only_lisans) {
    $sql .= " AND Sure > 2";
}

if (!empty($search)) {
    $sql .= " AND (BolumAdi LIKE ? OR UniversiteAdi LIKE ? OR AkademikBirim LIKE ? OR Il LIKE ?)";
    for($i=0;$i<4;$i++) $params[] = "%$search%";
}

// Puan türü filtrelemesi (Lisans/Önlisans checkbox'ları hariç)
$actual_puan_turleri = array_diff($puan_turleri, ['Lisans', 'Önlisans']);
if (!empty($actual_puan_turleri)) {
    $placeholders = implode(',', array_fill(0, count($actual_puan_turleri), '?'));
    $sql .= " AND PuanTuru IN ($placeholders)";
    foreach ($actual_puan_turleri as $pt) $params[] = $pt;
}

// Ek Filtreler
if (!empty($ek_filtreler)) {
    foreach ($ek_filtreler as $filtre) {
        if ($filtre == 'Devlet') { $sql .= " AND UniversiteTuru = 'Devlet'"; }
        elseif ($filtre == 'Vakıf') { $sql .= " AND UniversiteTuru = 'Vakıf'"; }
        elseif ($filtre == 'K.K.T.C.') { $sql .= " AND UniversiteTuru = 'K.K.T.C.'"; }
        elseif ($filtre == 'Yurtdışı') { $sql .= " AND UniversiteTuru = 'Yurtdışı'"; }
        elseif ($filtre == 'Normal Öğretim') { $sql .= " AND OgretimTuru = 'Normal Öğretim'"; }
        elseif ($filtre == 'Açık Öğretim') { $sql .= " AND OgretimTuru = 'Açık Öğretim'"; }
        elseif ($filtre == 'Uzaktan Eğitim') { $sql .= " AND OgretimTuru = 'Uzaktan Eğitim'"; }
        elseif ($filtre == 'Ücretsiz') { $sql .= " AND OgretimUcreti = 'Ücretsiz'"; }
        elseif ($filtre == 'Ücretli') { $sql .= " AND OgretimUcreti = 'Ücretli'"; }
        elseif ($filtre == 'Tam Burslu') { $sql .= " AND Burs = 'Tam Burslu'"; }
        elseif ($filtre == '%75 Burslu') { $sql .= " AND Burs = '%75 Burslu'"; }
        elseif ($filtre == '%50 Burslu') { $sql .= " AND Burs = '%50 Burslu'"; }
        elseif ($filtre == '%25 Burslu') { $sql .= " AND Burs = '%25 Burslu'"; }
    }
}

// TBS / Taban Puan aralık filtreleri
if ($min_bs !== null) { $sql .= " AND COALESCE(TBS, 10000000) >= ?"; $params[] = $min_bs; }
if ($max_bs !== null) { $sql .= " AND COALESCE(TBS, 10000000) <= ?"; $params[] = $max_bs; }
if ($min_puan !== null) { $sql .= " AND COALESCE(TabanPuan, -999999) >= ?"; $params[] = $min_puan; }
if ($max_puan !== null) { $sql .= " AND COALESCE(TabanPuan, -999999) <= ?"; $params[] = $max_puan; }

// Global Sıralama Mantığı
if ($sort_by == 'puan') {
    $order_col = "puan_numeric DESC, tbs_numeric ASC";
} else {
    // TBS'ye göre sıralarken 10.000.000 olanları en sona atıyoruz, diğerlerini küçükten büyüğe sıralıyoruz
    $order_col = "CASE WHEN tbs_numeric = 10000000 THEN 1 ELSE 0 END ASC, tbs_numeric ASC";
}

$final_sql = $sql . " ORDER BY $order_col LIMIT $limit OFFSET $offset";
$stmt = $pdo->prepare($final_sql);
$stmt->execute($params);
$bolumler = $stmt->fetchAll(PDO::FETCH_ASSOC);

    // AJAX isteği ise sadece satırları döndür
    if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
        if (!empty($bolumler)) {
            foreach ($bolumler as $b) {
                $tbs_raw = $b['TBS'];
                $tbs_display = (is_null($tbs_raw) || $tbs_raw == 10000000 || $tbs_raw === '') ? 'Bilinmiyor' : (is_numeric($tbs_raw) ? number_format($tbs_raw, 0, ',', '.') : $tbs_raw);
                echo '<tr>
                    <td>
                        <div class="bolum-name-cell">
                            <a href="/'.createSlug($b['BolumAdi']).'-bolumu-'.$b['Kodu'].'/" class="bolum-link">
                                '.htmlspecialchars(formatBolumAdi($b['BolumAdi'], $b['Burs'])).'
                            </a>
                            <span class="univ-name">'.htmlspecialchars($b['UniversiteAdi']).'</span>
                            <span class="birim-name">'.htmlspecialchars($b['AkademikBirim']).'</span>
                        </div>
                    </td>
                    <td><span class="badge-type">'.$b['EgitimTuruLabel'].'</span></td>
                    <td><strong>'.htmlspecialchars($b['PuanTuru']).'</strong></td>
                    <td><span class="puan-val">'.(is_numeric($b['TabanPuan']) ? number_format($b['TabanPuan'], 3, ',', '.') : $b['TabanPuan']).'</span></td>
                    <td><span class="bs-val">'.$tbs_display.'</span></td>
                    <td>'.$b['Kontenjan'].' Kişi</td>
                </tr>';
            }
        }
        exit;
    }

} catch (PDOException $e) {
    $error = "Veritabanı bağlantı hatası: " . $e->getMessage();
    $bolumler = [];
}
?>
<!doctype html>
<html lang="tr">
<head>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1345582547235607"
     crossorigin="anonymous"></script>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <link rel="canonical" href="https://www.tercihrobotu.com.tr/bolumler/" />
  <title>Bölümler - 2026 Tercih Robotu</title>
  <meta name="description" content="Üniversite bölümleri, taban puanları ve başarı sıralamaları." />
  <meta name="theme-color" content="#0b2a5b" />

<link rel="icon" href="https://www.tercihrobotu.com.tr/duyurular/wp-content/uploads/2026/01/ico.png" sizes="32x32" />
<link rel="icon" href="https://www.tercihrobotu.com.tr/duyurular/wp-content/uploads/2026/01/ico.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://www.tercihrobotu.com.tr/duyurular/wp-content/uploads/2026/01/ico.png" />
<meta name="msapplication-TileImage" content="https://www.tercihrobotu.com.tr/duyurular/wp-content/uploads/2026/01/ico.png" />
  
  <link rel="stylesheet" href="/css/styles.css?v=8" />
  <script defer src="/css/main.js?v=8"></script>

  <style>
    /* Orijinal index.php'den alınan tam CSS yapısı */
    .meslek-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; margin-top: 20px; }
    .meslek-card-link { text-decoration: none !important; color: inherit !important; display: block !important; cursor: pointer !important; }
    .meslek-card { background: #fff; border: 1px solid #eee; border-radius: 8px; padding: 20px; text-align: left; transition: all 0.2s ease-in-out; box-shadow: 0 2px 5px rgba(0,0,0,0.05); height: 100%; display: flex; flex-direction: column; justify-content: center; }
    .meslek-card:hover { transform: translateY(-5px); box-shadow: 0 8px 20px rgba(0,0,0,0.1); border-color: #0b2a5b; background-color: #fcfcfc; }
    .meslek-name { font-size: 16px; font-weight: bold; color: #0b2a5b; margin: 0; }
    .meslek-type-label { font-size: 13px; color: #666; margin-top: 8px; display: inline-block; background: #f0f4f8; padding: 2px 8px; border-radius: 4px; }
    .error-msg { color: #721c24; background-color: #f8d7da; border: 1px solid #f5c6cb; padding: 10px; border-radius: 4px; }
    .filter-section { margin: 20px 0; padding: 20px; background: #f9f9f9; border-radius: 8px; border: 1px solid #eee; }
    .search-box { width: 100%; padding: 12px 15px; border: 1px solid #ddd; border-radius: 8px; font-size: 15px; margin-bottom: 15px; outline: none; transition: border-color 0.2s; box-sizing: border-box; }
    .search-box:focus { border-color: #0b2a5b; }
    .filter-group { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; margin-bottom: 15px; }
    .filter-item { display: flex; align-items: center; background: #fff; padding: 6px 12px; border-radius: 20px; border: 1px solid #ddd; cursor: pointer; user-select: none; transition: all 0.2s; font-size: 13px; }
    .filter-item:hover { border-color: #0b2a5b; background: #f0f4f8; }
    .filter-item input { margin-right: 8px; cursor: pointer; }
    .filter-item.active { background: #0b2a5b; color: #fff; border-color: #0b2a5b; }
    
    /* Bölümler Tablo Tasarımı */
    .bolum-table-container { width: 100%; overflow-x: auto; background: #fff; border-radius: 8px; border: 1px solid #eee; }
    .bolum-table { width: 100%; border-collapse: collapse; min-width: 800px; }
    .bolum-table th { background: #f8f9fa; padding: 12px; text-align: left; font-size: 13px; color: #666; border-bottom: 2px solid #eee; }
    .bolum-table td { padding: 15px 12px; border-bottom: 1px solid #eee; vertical-align: middle; }
    .bolum-name-cell { display: flex; flex-direction: column; }
    .bolum-link { font-weight: bold; color: #0b2a5b; text-decoration: none; font-size: 15px; }
    .bolum-link:hover { text-decoration: underline; }
    .univ-name { font-size: 13px; color: #555; margin-top: 2px; }
    .birim-name { font-size: 11px; color: #888; }
    .badge-type { background: #e9ecef; padding: 3px 8px; border-radius: 4px; font-size: 12px; color: #495057; font-weight: 600; }
    .puan-val { font-weight: bold; color: #333; }
    .bs-val { font-weight: bold; color: #e67e22; }
    .btn-submit { background: #0b2a5b; color: #fff; border: none; padding: 10px 25px; border-radius: 8px; cursor: pointer; font-weight: bold; transition: opacity 0.2s; }
    .btn-submit:hover { opacity: 0.9; }
    .range-group { display: flex; gap: 10px; align-items: center; margin-bottom: 15px; }
    .range-group input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; box-sizing: border-box; }
    .range-group input:disabled { background: #f3f5f7; cursor: not-allowed; opacity: 0.75; }
.sort-options { display: flex; gap: 20px; margin-bottom: 15px; }
    .sort-option { display: flex; align-items: center; cursor: pointer; font-size: 14px; }
    .sort-option input { margin-right: 8px; }
    #loading-spinner { text-align: center; padding: 20px; display: none; font-weight: bold; color: #0b2a5b; }
    .filter-label { display: block; font-weight: bold; margin-bottom: 8px; font-size: 14px; color: #333; }
  </style>
</head>

<body>
  <div class="topbar">
    <div class="container">
 <div class="topbar-inner">
        <a class="brand" href="/" aria-label="Tercih Robotu Ana Sayfa">
          <img class="brand-logo" src="/css/logo.png" alt="Tercih Robotu Logo" loading="eager" />
        </a>

        <div class="topbar-ad" aria-label="Sponsor">
          <a class="topbar-ad-link" href="/step1.php" aria-label="Sponsor - Step 1"><img class="topbar-ad-img" src="/a.png" alt="Sponsor" loading="eager" /></a>
        </div>

        <div class="social" aria-label="Sosyal Medya">
                  <a href="https://www.instagram.com/tercihrobotucom/" target="_blank" rel="noopener" aria-label="Instagram">
                    <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm10 2H7a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3zm-5 4.2A3.8 3.8 0 1 1 8.2 12 3.8 3.8 0 0 1 12 8.2zm0 2A1.8 1.8 0 1 0 13.8 12 1.8 1.8 0 0 0 12 10.2zM17.6 6.7a.8.8 0 1 1-.8-.8.8.8 0 0 1 .8.8z"/></svg>
                  </a>
                  <a href="https://x.com/tercihrobotucom/" target="_blank" rel="noopener" aria-label="X">
                    <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M18.9 2H22l-6.8 7.8L23 22h-6.7l-5.2-6.4L5.6 22H2l7.3-8.4L1.5 2h6.8l4.7 5.7L18.9 2zm-1.2 18h1.7L6.2 3.9H4.4L17.7 20z"/></svg>
                  </a>
                  <a href="https://www.youtube.com/user/tercihrobotu/" target="_blank" rel="noopener" aria-label="YouTube">
                    <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M21.6 7.2a3 3 0 0 0-2.1-2.1C17.7 4.6 12 4.6 12 4.6s-5.7 0-7.5.5A3 3 0 0 0 2.4 7.2 31.6 31.6 0 0 0 2 12a31.6 31.6 0 0 0 .4 4.8 3 3 0 0 0 2.1 2.1c1.8.5 7.5.5 7.5.5s5.7 0 7.5-.5a3 3 0 0 0 2.1-2.1A31.6 31.6 0 0 0 22 12a31.6 31.6 0 0 0-.4-4.8zM10 15.2V8.8L16 12l-6 3.2z"/></svg>
                  </a>
                  <a href="https://www.facebook.com/tercihrobotucom/" target="_blank" rel="noopener" aria-label="Facebook">
                    <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M13.5 22v-8h2.7l.4-3H13.5V9.1c0-.9.3-1.5 1.6-1.5h1.6V4.9c-.3 0-1.4-.1-2.7-.1-2.7 0-4.6 1.6-4.6 4.6V11H7v3h2.8v8h3.7z"/></svg>
                  </a>
                </div>
      </div>
    </div>
  </div>

 <!-- Mobilde: logo + sosyal aynı kalsın, sponsor (a.png) menünün üstünde görünsün -->
  <div class="mobile-top-ad" aria-label="Sponsor">
    <div class="container">
      <div class="mobile-top-ad-inner">
        <a class="mobile-top-ad-link" href="/step1.php" aria-label="Sponsor - Step 1"><img class="mobile-top-ad-img" src="/a.png" alt="Sponsor" loading="eager" /></a>
      </div>
    </div>
  </div>

  <nav class="nav" aria-label="Ana Menü">
    <div class="container">
      <div class="nav-inner">
        <button class="hamburger" id="hamburger" aria-controls="menu" aria-expanded="false">Menü</button>
        <div class="menu" id="menu">
          <a href="/" aria-current="page">Ana Sayfa</a>
        
		    <a href="/universiteler/">Üniversiteler</a>
          <a href="/bolumler/">Bölümler</a>
          <a href="/meslekler/">Meslekler</a>
          <a href="/tercihte-12-kural/">Tercihte 12 Kural</a>
     
        </div>
      </div>
    </div>
  </nav>




  <!-- MOBIL SPONSORLAR (Menünün hemen altında) -->
  <div class="mobile-sponsors" aria-label="Sponsorlar">
    <div class="container">
      <div class="mobile-sponsors-grid">
        <div class="ad-box">
          <div class="sponsor-badge" role="note" aria-label="Sponsor"><span>SPONSOR</span></div>
          <div class="ad-slot">
            <a class="ad-img-link" href="https://aday.esenyurt.edu.tr/?utm_source=TercihRobotu&utm_medium=Banner&utm_campaign=YKS2025" aria-label="Mobil Sponsor 1">
              <img src="/1-m.jpg" alt="Mobil Sponsor 1" loading="lazy">
            </a>
          </div>
        </div>

        <div class="ad-box">
          <div class="sponsor-badge" role="note" aria-label="Sponsor"><span>SPONSOR</span></div>
          <div class="ad-slot">
            <a class="ad-img-link" href="https://www.emu.edu.tr/ogrenciadaylari?utm_source=TercihRobotu&utm_medium=Banner&utm_campaign=YKS2025" aria-label="Mobil Sponsor 2">
              <img src="/2-m.jpg" alt="Mobil Sponsor 2" loading="lazy">
            </a>
          </div>
        </div>

        <div class="ad-box">
          <div class="sponsor-badge" role="note" aria-label="Sponsor"><span>SPONSOR</span></div>
          <div class="ad-slot">
            <a class="ad-img-link" href="https://aday.sanko.edu.tr/?utm_source=TercihRobotu&utm_medium=Banner&utm_campaign=YKS2025" aria-label="Mobil Sponsor 3">
              <img src="/3-m.jpg" alt="Mobil Sponsor 3" loading="lazy">
            </a>
          </div>
        </div>

        <div class="ad-box">
          <div class="sponsor-badge" role="note" aria-label="Sponsor"><span>SPONSOR</span></div>
          <div class="ad-slot">
            <a class="ad-img-link" href="https://run.admost.com/adx/goto.ashx?pbk=532117-379644-65342" aria-label="Mobil Sponsor 4">
              <img src="/4-m.jpg" alt="Mobil Sponsor 4" loading="lazy">
            </a>
          </div>
        </div>
      </div>
    </div>
  </div>

  <main class="container">
    <div class="layout">
      <div class="maincol">
          <div class="hero-decor" aria-hidden="true"></div>

          <br><br>
        <div style="background:#fff;padding:18px 20px;border-radius:16px;border:1px solid rgba(0,0,0,.12);box-shadow:0 6px 20px rgba(0,0,0,.07);display:inline-block;font-size:24px;line-height:1.35;">
        <a href="/step1.php" style="color:#ff6600;font-size:inherit;text-decoration:none;display:block;">Sonuç belgenizi otomatik aktararak <strong>Başarı Sıranıza</strong> ve <strong>Puanınıza</strong> göre<br />Detaylı <strong>Tercih Listenizi Oluşturmak</strong> için <strong>YKS Tercih Robotu</strong>'nu Kullanınız.</a>
        </div>
          <h1>Bölümler</h1>
          <p>2026 YKS Taban Puanları ve Başarı Sıralamaları</p>

          <form id="filter-form" method="GET" class="filter-section">
              <input type="text" name="search" class="search-box" placeholder="Üniversite, fakülte, bölüm veya şehir adı giriniz..." value="<?php echo htmlspecialchars($search); ?>">
              
              <div class="sort-options">
                  <label class="sort-option">
                      <input type="radio" name="sort_by" value="bs" <?php echo ($sort_by == 'bs') ? 'checked' : ''; ?>> Başarı Sırasına Göre
                  </label>
                  <label class="sort-option">
                      <input type="radio" name="sort_by" value="puan" <?php echo ($sort_by == 'puan') ? 'checked' : ''; ?>> Puana Göre
                  </label>
              </div>

              <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-bottom: 15px;">
                  <div>
                      <span class="filter-label">Başarı Sırası Aralığı:</span>
                      <div class="range-group">
                          <input type="number" name="min_bs" placeholder="En Az" value="<?php echo $min_bs; ?>">
                          <input type="number" name="max_bs" placeholder="En Fazla" value="<?php echo $max_bs; ?>">
                      </div>
                  </div>
                  <div>
                      <span class="filter-label">Taban Puan Aralığı:</span>
                      <div class="range-group">
                          <input type="text" name="min_puan" placeholder="En Az" value="<?php echo $min_puan; ?>">
                          <input type="text" name="max_puan" placeholder="En Fazla" value="<?php echo $max_puan; ?>">
                      </div>
                  </div>
              </div>

              <span class="filter-label">Puan Türü:</span>
              <div class="filter-group">
                  <?php 
                  $pts_list = ['TYT', 'SAY', 'EA', 'SÖZ', 'DİL', 'DİL-İNG', 'DİL-ALM', 'DİL-FRA', 'Lisans', 'Önlisans'];
                  foreach($pts_list as $pt): ?>
                      <label class="filter-item <?php echo in_array($pt, $puan_turleri) ? 'active' : ''; ?>">
                          <input type="checkbox" name="puan_turu[]" value="<?php echo $pt; ?>" <?php echo in_array($pt, $puan_turleri) ? 'checked' : ''; ?>> <?php echo $pt; ?>
                      </label>
                  <?php endforeach; ?>
              </div>

              <span class="filter-label">Ek Filtreler:</span>
              <div class="filter-group">
                  <?php 
                  $ek_list = ['Devlet', 'Vakıf', 'K.K.T.C.', 'Yurtdışı', 'Normal Öğretim', 'Açık Öğretim', 'Uzaktan Eğitim', 'Ücretsiz', 'Ücretli', 'Tam Burslu', '%75 Burslu', '%50 Burslu', '%25 Burslu'];
                  foreach($ek_list as $ek): ?>
                      <label class="filter-item <?php echo in_array($ek, $ek_filtreler) ? 'active' : ''; ?>">
                          <input type="checkbox" name="ek_filtreler[]" value="<?php echo $ek; ?>" <?php echo in_array($ek, $ek_filtreler) ? 'checked' : ''; ?>> <?php echo $ek; ?>
                      </label>
                  <?php endforeach; ?>
              </div>

              <button type="submit" class="btn-submit">Filtrele</button>
          </form>

          <?php if (isset($error)): ?>
              <div class="error-msg"><?php echo $error; ?></div>
          <?php endif; ?>

          <div class="bolum-table-container">
              <table class="bolum-table">
                  <thead>
                      <tr>
                          <th>Bölüm / Üniversite</th>
                          <th>Tür</th>
                          <th>Puan</th>
                          <th>Taban Puan</th>
                          <th>Başarı Sırası</th>
                          <th>Kontenjan</th>
                      </tr>
                  </thead>
                  <tbody id="bolum-list-body">
                      <?php if (!empty($bolumler)): ?>
                          <?php foreach ($bolumler as $b): ?>
                              <?php 
                                  $tbs_raw = $b['TBS'];
                                  $tbs_display = (is_null($tbs_raw) || $tbs_raw == 10000000 || $tbs_raw === '') ? 'Bilinmiyor' : (is_numeric($tbs_raw) ? number_format($tbs_raw, 0, ',', '.') : $tbs_raw);
                              ?>
                              <tr>
                                  <td>
                                      <div class="bolum-name-cell">
                                          <a href="/<?php echo createSlug($b['BolumAdi']); ?>-bolumu-<?php echo $b['Kodu']; ?>/" class="bolum-link">
                                              <?php echo htmlspecialchars(formatBolumAdi($b['BolumAdi'], $b['Burs'])); ?>
                                          </a>
                                          <span class="univ-name"><?php echo htmlspecialchars($b['UniversiteAdi']); ?></span>
                                          <span class="birim-name"><?php echo htmlspecialchars($b['AkademikBirim']); ?></span>
                                      </div>
                                  </td>
                                  <td><span class="badge-type"><?php echo $b['EgitimTuruLabel']; ?></span></td>
                                  <td><strong><?php echo htmlspecialchars($b['PuanTuru']); ?></strong></td>
                                  <td><span class="puan-val"><?php echo is_numeric($b['TabanPuan']) ? number_format($b['TabanPuan'], 3, ',', '.') : $b['TabanPuan']; ?></span></td>
                                  <td><span class="bs-val"><?php echo $tbs_display; ?></span></td>
                                  <td><?php echo $b['Kontenjan']; ?> Kişi</td>
                              </tr>
                          <?php endforeach; ?>
                      <?php else: ?>
                          <tr><td colspan="6" style="text-align:center; padding:40px;">Kriterlere uygun bölüm bulunamadı.</td></tr>
                      <?php endif; ?>
                  </tbody>
              </table>
          </div>
          <div id="loading-spinner">Daha fazla bölüm yükleniyor...</div>
      </div>

     <aside class="sidebar" aria-label="Sponsor Alanları">
        <div class="ad-box">
                            <div class="sponsor-badge" role="note" aria-label="Sponsor">
                <span>SPONSOR</span>
              </div>

<div class="ad-slot">
  <a class="ad-img-link" href="https://aday.esenyurt.edu.tr/?utm_source=TercihRobotu&utm_medium=Banner&utm_campaign=YKS2025" aria-label="Sponsor 1">
    <img src="/1.jpg" alt="Sponsor 1" loading="lazy">
  </a>
</div>
        </div>

        <div class="ad-box">
                            <div class="sponsor-badge" role="note" aria-label="Sponsor">
                <span>SPONSOR</span>
              </div>

<div class="ad-slot">
  <a class="ad-img-link" href="https://www.emu.edu.tr/ogrenciadaylari?utm_source=TercihRobotu&utm_medium=Banner&utm_campaign=YKS2025" aria-label="Sponsor 2">
    <img src="/2.jpg" alt="Sponsor 2" loading="lazy">
  </a>
</div>
        </div>

        <div class="ad-box">
                            <div class="sponsor-badge" role="note" aria-label="Sponsor">
                <span>SPONSOR</span>
              </div>

<div class="ad-slot">
  <a class="ad-img-link" href="https://aday.sanko.edu.tr/?utm_source=TercihRobotu&utm_medium=Banner&utm_campaign=YKS2025" aria-label="Sponsor 3">
    <img src="/3.jpg" alt="Sponsor 3" loading="lazy">
  </a>
</div>
        </div>

        <div class="ad-box">
                            <div class="sponsor-badge" role="note" aria-label="Sponsor">
                <span>SPONSOR</span>
              </div>

<div class="ad-slot">
  <a class="ad-img-link" href="https://run.admost.com/adx/goto.ashx?pbk=532117-379644-65342" aria-label="Sponsor 4">
    <img src="/4.jpg" alt="Sponsor 4" loading="lazy">
  </a>
</div>
        </div>

        <div class="ad-box">
                            <div class="sponsor-badge" role="note" aria-label="Sponsor">
                <span>SPONSOR</span>
              </div>

<div class="ad-slot">
  <a class="ad-img-link" href="https://ciu.edu.tr/tr/aday-ogrenci/tc-adaylar?utm_source=TercihRobotu&utm_medium=Banner&utm_campaign=YKS2025" aria-label="Sponsor 5">
    <img src="/5.jpg" alt="Sponsor 5" loading="lazy">
  </a>
</div>
        </div>
      </aside>

    </div>
  </main>
  <footer>
    <div class="container">
      <div class="footer-links" aria-label="Alt Menü">
        <a href="/hakkimizda/">Hakkımızda</a>
        <a href="/kullanim-kosullari/">Kullanım Koşulları</a>
        <a href="/gizlilik-bildirimi/">Gizlilik Bildirimi</a>
        <a href="/sss/">Sıkça Sorulan Sorular</a>
        <a href="/yasal-uyari/">Yasal Uyarı</a>
        <a href="/bize-ulasin/">Bize Ulaşın</a>
      </div>

      <div class="footer-meta">
        <div class="footer-brand">Tercih Robotu bir Es Eğitim Danışmanlık markasıdır.</div>
        <div class="copyright">Copyright © 2026</div>
      </div>
    </div>
  </footer>

  <button class="to-top" id="toTop" aria-label="Yukarı çık">⬆️</button>

  <script>
    let page = 1;
    let isLoading = false;
    let hasMore = true;

    window.addEventListener('scroll', function() {
        if ((window.innerHeight + window.scrollY) >= document.documentElement.scrollHeight - 800) {
            if (!isLoading && hasMore) {
                loadMoreData();
            }
        }
    });

    function loadMoreData() {
        isLoading = true;
        const spinner = document.getElementById('loading-spinner');
        spinner.style.display = 'block';
        page++;

        const urlParams = new URLSearchParams(window.location.search);
        urlParams.set('page', page);

        const xhr = new XMLHttpRequest();
        xhr.open('GET', window.location.pathname + '?' + urlParams.toString(), true);
        xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
        
        xhr.onreadystatechange = function() {
            if (xhr.readyState === 4) {
                if (xhr.status === 200) {
                    const data = xhr.responseText.trim();
                    if (data === "") {
                        hasMore = false;
                        spinner.innerHTML = "Tüm bölümler listelendi.";
                    } else {
                        document.getElementById('bolum-list-body').insertAdjacentHTML('beforeend', data);
                        isLoading = false;
                        spinner.style.display = 'none';
                    }
                } else {
                    isLoading = false;
                    spinner.style.display = 'none';
                }
            }
        };
        xhr.send();
    }

    document.querySelectorAll('.filter-item').forEach(item => {
        item.addEventListener('click', function(e) {
            const checkbox = this.querySelector('input[type="checkbox"]');
            if (e.target !== checkbox) {
                checkbox.checked = !checkbox.checked;
            }
            this.classList.toggle('active', checkbox.checked);
        });
    });


    // Aralık kutularını (Başarı Sırası / Taban Puan) ters mantıkla kilitle
    function updateRangeInputs() {
        const checked = document.querySelector('input[name="sort_by"]:checked');
        const sortBy = checked ? checked.value : '';

        const bsInputs = document.querySelectorAll('input[name="min_bs"], input[name="max_bs"]');
        const puanInputs = document.querySelectorAll('input[name="min_puan"], input[name="max_puan"]');

        // Varsayılan: hepsi açık
        bsInputs.forEach(i => i.disabled = false);
        puanInputs.forEach(i => i.disabled = false);

        if (sortBy === 'bs') {
            // Başarı sırası seçiliyse -> puan kutuları kilitli
            puanInputs.forEach(i => i.disabled = true);
        } else if (sortBy === 'puan') {
            // Puan seçiliyse -> başarı sırası kutuları kilitli
            bsInputs.forEach(i => i.disabled = true);
        }
    }

    document.querySelectorAll('input[name="sort_by"]').forEach(radio => {
        radio.addEventListener('change', updateRangeInputs);
    });

    // Sayfa ilk açıldığında mevcut seçime göre uygula
    updateRangeInputs();

  </script>
  
  <!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-TLZ841LTVZ"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-TLZ841LTVZ');
</script>
</body>
</html>
