/**
 * Madrasa Terms & Conditions Management JS
 */

$(document).ready(function () {
    const apiBase = 'APIs/madrasa_terms_conditions.php';

    // 1. Initialize TinyMCE if the editor exists
    if ($('#termsUrEditor').length) {
        // We load TinyMCE from CDN in the settings page, then init here
        tinymce.init({
            selector: '#termsUrEditor',
            height: 500,
            directionality: 'rtl',
            plugins: 'advlist autolink lists link charmap preview anchor searchreplace visualblocks code fullscreen insertdatetime table help wordcount',
            toolbar: 'undo redo | blocks | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | code help',
            content_style: 'body { font-family: "Jameel Noori Nastaleeq", Arial, sans-serif; font-size: 18px; direction: rtl; text-align: right; }',
            setup: function (editor) {
                editor.on('init', function () {
                    loadTermsContent();
                });
            }
        });
    }

    // 2. Load Content from API
    function loadTermsContent() {
        $.getJSON(`${apiBase}?action=get_terms`, function (res) {
            if (res.success && res.data) {
                if (tinymce.get('termsUrEditor')) {
                    tinymce.get('termsUrEditor').setContent(res.data.contents_ur || '');
                }
            }
        });
    }

    // 3. Handle Form Submission
    $('#termsForm').on('submit', function (e) {
        e.preventDefault();

        const content = tinymce.get('termsUrEditor').getContent();
        if (!content.trim()) {
            Swal.fire('توجہ', 'براہ کرم قواعد و ضوابط درج کریں۔', 'warning');
            return;
        }

        const data = {
            action: 'save_terms',
            contents_ur: content
        };

        const $btn = $('#btnSaveTerms');
        $btn.prop('disabled', true).html('<span class="spinner-border spinner-border-sm me-2"></span>محفوظ ہورہا ہے...');

        $.ajax({
            url: apiBase,
            method: 'POST',
            contentType: 'application/json',
            data: JSON.stringify(data),
            success: function (res) {
                $btn.prop('disabled', false).text('محفوظ کریں (Save)');
                if (res.success) {
                    Swal.fire('کامیابی', res.message, 'success');
                } else {
                    Swal.fire('غلطی', res.message, 'error');
                }
            },
            error: function () {
                $btn.prop('disabled', false).text('محفوظ کریں (Save)');
                Swal.fire('غلطی', 'سرور سے رابطہ نہیں ہو سکا۔', 'error');
            }
        });
    });
});
