$(document).ready(function() {

    // تصدير الإعدادات
    $('#export-settings').on('click', function(e) {
        e.preventDefault();

        const format = $('#export-format').val();
        const group = $('#export-group').val();

        let url = `/settings/export?format=${format}`;
        if (group) {
            url += `&group=${group}`;
        }

        window.location.href = url;
    });

    // استيراد الإعدادات
    $('#import-settings').on('change', function(e) {
        const file = e.target.files[0];

        if (!file) return;

        const formData = new FormData();
        formData.append('settings_file', file);

        $.ajax({
            url: '/settings/import',
            type: 'POST',
            data: formData,
            processData: false,
            contentType: false,
            beforeSend: function() {
                showNotification('info', 'جاري استيراد الإعدادات...');
            },
            success: function(response) {
                showNotification('success', response.message || 'تم الاستيراد بنجاح');
                setTimeout(() => {
                    location.reload();
                }, 1500);
            },
            error: function(xhr) {
                let errorMessage = 'حدث خطأ أثناء الاستيراد';
                if (xhr.responseJSON && xhr.responseJSON.message) {
                    errorMessage = xhr.responseJSON.message;
                }
                showNotification('error', errorMessage);
            }
        });
    });

    // إعادة تعيين الإعدادات
    $('#reset-settings').on('click', function(e) {
        e.preventDefault();

        const group = $('#reset-group').val();
        const message = group ?
            'هل أنت متأكد من إعادة تعيين إعدادات هذه المجموعة؟' :
            'هل أنت متأكد من إعادة تعيين جميع الإعدادات؟';

        if (!confirm(message)) return;

        let url = '/settings/reset';
        if (group) {
            url += `?group=${group}`;
        }

        $.ajax({
            url: url,
            type: 'GET',
            success: function(response) {
                showNotification('success', response.message || 'تم إعادة التعيين بنجاح');
                setTimeout(() => {
                    location.reload();
                }, 1500);
            },
            error: function(xhr) {
                showNotification('error', 'حدث خطأ أثناء إعادة التعيين');
            }
        });
    });

    // وظيفة عرض الإشعارات
    function showNotification(type, message) {
        // يمكن استخدام Toastr أو أي مكتبة إشعارات أخرى
        if (typeof toastr !== 'undefined') {
            toastr[type](message);
        } else {
            alert(message);
        }
    }

    // تحديث واجهة المستخدم بعد حفظ الإعدادات
    function updateSettingsUI(group, settings) {
        // تحديث ألوان الثيم إذا تم تغييرها
        if (group === 'appearance' && settings) {
            if (settings.theme_color) {
                document.documentElement.style.setProperty('--primary-color', settings.theme_color);
            }
            if (settings.secondary_color) {
                document.documentElement.style.setProperty('--secondary-color', settings.secondary_color);
            }
        }

        // تحديث رمز العملة في الصفحة
        if (group === 'financial' && settings.currency_symbol) {
            $('.currency-symbol').text(settings.currency_symbol);
        }
    }

    // معاينة الصورة قبل الرفع
    $('input[type="file"]').on('change', function(e) {
        const input = this;
        const previewId = $(this).data('preview');

        if (input.files && input.files[0] && previewId) {
            const reader = new FileReader();

            reader.onload = function(e) {
                $('#' + previewId).attr('src', e.target.result);
            }

            reader.readAsDataURL(input.files[0]);
        }
    });

});
