$(document).ready(function() {
    // ১. ড্রপডাউন পরিবর্তন লজিক
    $('.geoSelect').on('change', function() {
        let $this = $(this);
        let geoId = $this.val();
        let geoGroup = $this.data("geo-group");
        let geoOrder = parseInt($this.data("geo-order"));

        let nextOrder = geoOrder + 1;
        let targetSelector = "#" + geoGroup + getTargetName(nextOrder);
        let $targetSelect = $(targetSelector);

        if (geoId && geoId != "-1") {
            // হিডেন ফিল্ড প্রদর্শন
            $targetSelect.closest('.form-group').show();
            $targetSelect.closest('div[class^="col"]').show();

            $targetSelect.html('<option>লোডিং...</option>').prop('disabled', true);

            $.get('proxy_geo.php', { parentId: geoId, order: nextOrder }, function(res) {
                try {
                    let data = JSON.parse(res);
                    let options = '<option value="-1">নির্বাচন করুন</option>';
                    if(data.geoObject) {
                        data.geoObject.forEach(item => {
                            options += `<option value="${item.id}" data-name="${item.nameBn}">${item.nameBn}</option>`;
                        });
                    }
                    $targetSelect.html(options).prop('disabled', false);
                } catch(e) {
                    console.error("JSON Error:", res);
                }
            });
        }
    });

    // ২. অনুসন্ধান বাটন (Search Office)
    $('#searchOfficeButton').on('click', function() {
        let officeId = $('#officeId').val(); // অফিস আইডি হিডেন ইনপুট থেকে
        let csrfToken = $('input[name="_csrf"]').val();

        if(!officeId) {
            // যদি অফিস আইডি সরাসরি না থাকে, শেষ সিলেক্ট করা ড্রপডাউন থেকে মান নেবে
            officeId = $('.geoSelect').last().val();
        }

        if(!officeId || officeId == "-1") {
            alert("অনুগ্রহ করে অফিস বা এলাকা নির্বাচন করুন!");
            return;
        }

        $("#warning-message-div").hide();
        $(this).text("খোঁজা হচ্ছে...").prop('disabled', true);

        $.post('proxy_list.php', { 
            officeId: officeId, 
            _csrf: csrfToken 
        }, function(res) {
            $('#searchOfficeButton').text("অনুসন্ধান").prop('disabled', false);
            try {
                let results = JSON.parse(res);
                console.log("Data Received:", results);
                // এখানে আপনার ডাটা টেবিল রেন্ডার করার কোড বসবে
                alert("ডাটা পাওয়া গেছে, কনসোল চেক করুন।");
            } catch(e) {
                alert("সার্ভার থেকে সঠিক ডাটা আসেনি।");
            }
        });
    });
});

function getTargetName(order) {
    const map = { 1: "Div", 2: "Dist", 3: "CityCorpCantOrUpazila", 4: "PaurasavaOrUnion", 5: "WardInCityCorp" };
    return map[order] || "";
}