/**
 * نی نی بلاگ - فایل جاوااسکریپت اصلی (بدون Bootstrap)
 */

document.addEventListener('DOMContentLoaded', function() {
    
    // ========================================
    // منوی موبایل (سفارشی - بدون Bootstrap)
    // ========================================
    window.toggleMobileMenu = function() {
        const sidebar = document.querySelector('.mobile-menu-sidebar');
        const overlay = document.querySelector('.mobile-menu-overlay');
        const body = document.body;
        
        if (sidebar && overlay) {
            sidebar.classList.add('active');
            overlay.classList.add('active');
            body.style.overflow = 'hidden';
        }
    };
    
    window.closeMobileMenu = function() {
        const sidebar = document.querySelector('.mobile-menu-sidebar');
        const overlay = document.querySelector('.mobile-menu-overlay');
        const body = document.body;
        
        if (sidebar && overlay) {
            sidebar.classList.remove('active');
            overlay.classList.remove('active');
            body.style.overflow = '';
        }
    };
    
    // بستن منو با کلیک روی لینک‌ها
    const mobileNavLinks = document.querySelectorAll('.mobile-nav-list a');
    mobileNavLinks.forEach(function(link) {
        link.addEventListener('click', function() {
            closeMobileMenu();
        });
    });
    
    // بستن منو با دکمه Escape
    document.addEventListener('keydown', function(e) {
        if (e.key === 'Escape') {
            closeMobileMenu();
            closeSearchPanel();
        }
    });

    // ========================================
    // پنل جستجو (سفارشی - بدون Bootstrap)
    // ========================================
    window.toggleSearchPanel = function() {
        const panel = document.querySelector('.search-panel');
        const overlay = document.querySelector('.search-panel-overlay');
        const body = document.body;
        
        if (panel && overlay) {
            panel.classList.add('active');
            overlay.classList.add('active');
            body.style.overflow = 'hidden';
            
            // فوکوس روی اینپوت
            setTimeout(function() {
                const input = panel.querySelector('.search-input');
                if (input) input.focus();
            }, 300);
        }
    };
    
    window.closeSearchPanel = function() {
        const panel = document.querySelector('.search-panel');
        const overlay = document.querySelector('.search-panel-overlay');
        const body = document.body;
        
        if (panel && overlay) {
            panel.classList.remove('active');
            overlay.classList.remove('active');
            body.style.overflow = '';
        }
    };

    // ========================================
    // دکمه بازگشت به بالا (بهینه‌سازی شده)
    // ========================================
    const backToTopBtn = document.getElementById('backToTopBtn');

    if (backToTopBtn) {
        let ticking = false;

        window.addEventListener('scroll', function() {
            if (!ticking) {
                window.requestAnimationFrame(function() {
                    if (window.pageYOffset > 300) {
                        backToTopBtn.classList.add('show');
                    } else {
                        backToTopBtn.classList.remove('show');
                    }
                    ticking = false;
                });
                ticking = true;
            }
        });

        backToTopBtn.addEventListener('click', function(e) {
            e.preventDefault();
            window.scrollTo({
                top: 0,
                behavior: 'smooth'
            });
        });
    }

    // ========================================
    // انیمیشن کارت‌ها هنگام اسکرول
    // ========================================
    const animateOnScroll = function() {
        const cards = document.querySelectorAll('.blog-card, .sidebar-widget');
        
        cards.forEach(function(card) {
            const cardTop = card.getBoundingClientRect().top;
            const windowHeight = window.innerHeight;
            
            if (cardTop < windowHeight - 50) {
                card.style.opacity = '1';
                card.style.transform = 'translateY(0)';
            }
        });
    };

    // تنظیم اولیه کارت‌ها
    document.querySelectorAll('.blog-card, .sidebar-widget').forEach(function(card) {
        card.style.opacity = '0';
        card.style.transform = 'translateY(30px)';
        card.style.transition = 'opacity 0.6s ease, transform 0.6s ease';
    });

    // اجرای اولیه
    setTimeout(animateOnScroll, 100);
    
    // اجرا هنگام اسکرول
    window.addEventListener('scroll', animateOnScroll);

    // ========================================
    // اشتراک‌گذاری شبکه‌های اجتماعی
    // ========================================
    const shareButtons = document.querySelectorAll('.share-buttons a');
    
    shareButtons.forEach(function(button) {
        button.addEventListener('click', function(e) {
            e.preventDefault();
            
            const href = this.getAttribute('href');
            if (href && href !== '#') {
                window.open(href, '_blank', 'width=600,height=400');
            }
        });
    });

    // ========================================
    // بارگذاری تصاویر با تأخیر
    // ========================================
    const images = document.querySelectorAll('.blog-card-img img');
    
    images.forEach(function(img) {
        img.style.opacity = '0';
        img.style.transition = 'opacity 0.5s ease';
        
        if (img.complete) {
            img.style.opacity = '1';
        } else {
            img.addEventListener('load', function() {
                this.style.opacity = '1';
            });
        }
    });

    // ========================================
    // برچسب‌های رنگارنگ
    // ========================================
    const tags = document.querySelectorAll('.tags-cloud a');
    const colors = ['#FF6B9D', '#C490E4', '#7EB6FF', '#6BCB77', '#FFD93D', '#FF9A5C'];
    
    tags.forEach(function(tag, index) {
        const colorIndex = index % colors.length;
        tag.addEventListener('mouseenter', function() {
            this.style.background = colors[colorIndex];
            this.style.color = '#fff';
        });
        tag.addEventListener('mouseleave', function() {
            this.style.background = '';
            this.style.color = '';
        });
    });

    // ========================================
    // فرم جستجو
    // ========================================
    const searchForms = document.querySelectorAll('.search-form');
    
    searchForms.forEach(function(form) {
        form.addEventListener('submit', function(e) {
            const input = this.querySelector('input[type="text"]');
            if (input && !input.value.trim()) {
                e.preventDefault();
                input.focus();
            }
        });
    });

    // ========================================
    // فرم نظرات
    // ========================================
    const commentForm = document.getElementById('comment-form');
    
    if (commentForm) {
        commentForm.addEventListener('submit', function() {
            const submitBtn = this.querySelector('.btn-primary');
            if (submitBtn) {
                submitBtn.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i> در حال ارسال...';
                submitBtn.disabled = true;
            }
        });
    }

    // ========================================
    // پیام خوش‌آمدگویی در کنسول
    // ========================================
    console.log('%c🍼 نی نی بلاگ 🍼', 'font-size: 24px; font-weight: bold; color: #FF6B9D;');
    console.log('%cپوسته وبلاگ کودکان برای تایپچو', 'font-size: 14px; color: #C490E4;');
});

// ========================================
// تابع تبدیل اعداد فارسی
// ========================================
function toPersianNumber(num) {
    const persianDigits = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
    return num.toString().replace(/\d/g, function(x) { return persianDigits[x]; });
}
