{{-- Quick-view genel form etkileşimleri (ulaşım göster/gizle, transfer noktaları repeater). Bir kez bağlanır. --}}
<script>
(function () {
    if (window.__qgInit) return;
    window.__qgInit = true;

    // Ulaşım şekli → hava/kara alanlarını göster/gizle
    document.addEventListener('change', function (e) {
        var sel = e.target.closest('[data-qg-transport]');
        if (!sel) return;
        var form = sel.closest('.qv-gform'); if (!form) return;
        var v = sel.value;
        form.querySelectorAll('.qg-air').forEach(function (x) { x.style.display = v === 'air' ? '' : 'none'; });
        form.querySelectorAll('.qg-road').forEach(function (x) { x.style.display = ['road', 'train', 'ferry', 'other'].indexOf(v) !== -1 ? '' : 'none'; });
    });

    // Transfer noktaları aç/kapa
    document.addEventListener('change', function (e) {
        var cb = e.target.closest('[data-qg-transfer-toggle]');
        if (!cb) return;
        var road = cb.closest('.qg-road');
        var wrap = road ? road.querySelector('[data-qg-transfer-wrap]') : null;
        if (wrap) wrap.style.display = cb.checked ? '' : 'none';
    });

    // Transfer noktası ekle
    document.addEventListener('click', function (e) {
        var btn = e.target.closest('[data-qg-tp-add]');
        if (!btn) return;
        var wrap = btn.closest('[data-qg-transfer-wrap]');
        var rows = wrap.querySelector('[data-qg-transfer-rows]');
        var div = document.createElement('div');
        div.className = 'dp-row qg-tp-row';
        div.innerHTML =
            '<div class="dp-marker"></div>' +
            '<div class="dp-fields">' +
                '<div class="dp-field dp-loc"><i class="fas fa-location-dot"></i><input type="text" data-tp="location_name" class="dp-input" placeholder="Kalkış noktası (ör. Taksim Meydanı)"></div>' +
                '<div class="dp-field dp-time"><i class="fas fa-clock"></i><input type="time" data-tp="pickup_time" class="dp-input"></div>' +
                '<div class="dp-field dp-note"><i class="fas fa-pen"></i><input type="text" data-tp="notes" class="dp-input" placeholder="Not (opsiyonel)"></div>' +
            '</div>' +
            '<button type="button" class="dp-del" data-qg-tp-remove title="Kalkış noktasını kaldır"><i class="fas fa-xmark"></i></button>';
        rows.appendChild(div);
        div.querySelector('.dp-input').focus();
    });

    // Transfer noktası sil
    document.addEventListener('click', function (e) {
        var btn = e.target.closest('[data-qg-tp-remove]');
        if (!btn) return;
        var row = btn.closest('.qg-tp-row');
        if (row) row.remove();
    });

    // Ödeme planı aşaması ekle
    document.addEventListener('click', function (e) {
        var btn = e.target.closest('[data-qpp-add]');
        if (!btn) return;
        var form = btn.closest('.qv-payplan');
        var rows = form.querySelector('[data-qpp-rows]');
        rows.__c = (rows.__c || rows.querySelectorAll('.qpp-row').length);
        var i = rows.__c++;
        var div = document.createElement('div');
        div.className = 'row g-2 mb-2 qpp-row';
        div.innerHTML =
            '<div class="col-md-3"><input type="text" data-pp="label" name="payment_plan[' + i + '][label]" class="form-control form-control-sm" placeholder="Etiket"></div>' +
            '<div class="col-md-2"><input type="number" data-pp="percent" name="payment_plan[' + i + '][percent]" class="form-control form-control-sm" placeholder="%"></div>' +
            '<div class="col-md-4"><select data-pp="trigger" name="payment_plan[' + i + '][trigger]" class="form-select form-select-sm">' +
                '<option value="at_booking">Rezervasyonda</option>' +
                '<option value="days_before_departure">Kalkıştan X gün önce</option>' +
                '<option value="on_departure">Kalkışta</option></select></div>' +
            '<div class="col-md-2"><input type="number" data-pp="offset_days" name="payment_plan[' + i + '][offset_days]" class="form-control form-control-sm" placeholder="Gün"></div>' +
            '<div class="col-md-1"><button type="button" class="btn btn-sm btn-outline-danger" data-qpp-remove><i class="fas fa-times"></i></button></div>';
        rows.appendChild(div);
    });

    // Ödeme planı aşaması sil
    document.addEventListener('click', function (e) {
        var btn = e.target.closest('[data-qpp-remove]');
        if (!btn) return;
        var row = btn.closest('.qpp-row');
        if (row) row.remove();
    });
})();
</script>
