/**
 * نظام تبديل اللغات
 * Language Switcher System
 */

document.addEventListener('DOMContentLoaded', function() {
    // إضافة تأثيرات بصرية لتبديل اللغة
    const languageSwitcher = document.querySelector('.language-switcher');
    const languageButtons = document.querySelectorAll('.language-switcher .btn');
    
    if (languageSwitcher) {
        // إضافة تأثير hover
        languageSwitcher.addEventListener('mouseenter', function() {
            this.style.transform = 'scale(1.05)';
        });
        
        languageSwitcher.addEventListener('mouseleave', function() {
            this.style.transform = 'scale(1)';
        });
        
        // إضافة تأثير النقر
        languageButtons.forEach(button => {
            button.addEventListener('click', function(e) {
                // إضافة تأثير تحميل
                const originalText = this.innerHTML;
                this.innerHTML = '<i class="fas fa-spinner fa-spin"></i>';
                this.style.pointerEvents = 'none';
                
                // السماح للرابط بالعمل بعد التأثير
                setTimeout(() => {
                    window.location.href = this.href;
                }, 300);
                
                e.preventDefault();
            });
        });
    }
    
    // حفظ تفضيل اللغة في localStorage
    const currentLang = document.documentElement.lang;
    localStorage.setItem('preferred_language', currentLang);
    
    // تطبيق تحسينات CSS حسب اللغة
    applyLanguageStyles(currentLang);
});

/**
 * تطبيق تحسينات CSS حسب اللغة
 */
function applyLanguageStyles(language) {
    const body = document.body;
    
    // إزالة فئات اللغة السابقة
    body.classList.remove('lang-ar', 'lang-en');
    
    // إضافة فئة اللغة الحالية
    body.classList.add(`lang-${language}`);
    
    // تحسينات خاصة بكل لغة
    if (language === 'ar') {
        // تحسينات للعربية
        document.querySelectorAll('.form-control, .form-select').forEach(element => {
            element.style.textAlign = 'right';
        });
        
        // تحسين اتجاه الأرقام
        document.querySelectorAll('.number-field').forEach(element => {
            element.style.direction = 'ltr';
            element.style.textAlign = 'left';
        });
        
    } else if (language === 'en') {
        // تحسينات للإنجليزية
        document.querySelectorAll('.form-control, .form-select').forEach(element => {
            element.style.textAlign = 'left';
        });
    }
}

/**
 * تبديل اللغة برمجياً
 */
function switchLanguage(language) {
    const currentUrl = window.location.href;
    const separator = currentUrl.includes('?') ? '&' : '?';
    window.location.href = `change_language.php?lang=${language}&redirect=${encodeURIComponent(currentUrl)}`;
}

/**
 * الحصول على اللغة المفضلة من localStorage
 */
function getPreferredLanguage() {
    return localStorage.getItem('preferred_language') || 'ar';
}

/**
 * تحديث النصوص ديناميكياً (للاستخدام مع AJAX)
 */
function updateTextsForLanguage(language, translations) {
    document.querySelectorAll('[data-translate]').forEach(element => {
        const key = element.getAttribute('data-translate');
        if (translations[key]) {
            element.textContent = translations[key];
        }
    });
}

/**
 * إضافة اختصارات لوحة المفاتيح لتبديل اللغة
 */
document.addEventListener('keydown', function(e) {
    // Ctrl + Shift + L لتبديل اللغة
    if (e.ctrlKey && e.shiftKey && e.key === 'L') {
        e.preventDefault();
        const currentLang = document.documentElement.lang;
        const newLang = currentLang === 'ar' ? 'en' : 'ar';
        switchLanguage(newLang);
    }
});

/**
 * تحسين تجربة المستخدم على الموبايل
 */
if (window.innerWidth <= 768) {
    document.addEventListener('DOMContentLoaded', function() {
        const languageSwitcher = document.querySelector('.language-switcher');
        if (languageSwitcher) {
            // تقليل حجم الأزرار على الموبايل
            languageSwitcher.style.transform = 'scale(0.9)';
            
            // إضافة تأثير اللمس
            languageSwitcher.addEventListener('touchstart', function() {
                this.style.transform = 'scale(0.85)';
            });
            
            languageSwitcher.addEventListener('touchend', function() {
                this.style.transform = 'scale(0.9)';
            });
        }
    });
}

/**
 * تحديث اتجاه النص للحقول الديناميكية
 */
function updateFieldDirection() {
    const currentLang = document.documentElement.lang;
    const direction = currentLang === 'ar' ? 'rtl' : 'ltr';
    const textAlign = currentLang === 'ar' ? 'right' : 'left';
    
    // تحديث الحقول الجديدة
    document.querySelectorAll('.form-control:not([data-direction-set])').forEach(field => {
        if (!field.classList.contains('number-field')) {
            field.style.direction = direction;
            field.style.textAlign = textAlign;
        }
        field.setAttribute('data-direction-set', 'true');
    });
}

// تشغيل تحديث الاتجاه عند تحميل محتوى جديد
const observer = new MutationObserver(updateFieldDirection);
observer.observe(document.body, { childList: true, subtree: true });