function showSlide(galleryId, slideIndex) {
    const slides = document.querySelectorAll(`#${galleryId} .slide`);
    const dots = document.querySelectorAll(`#${galleryId} .dot`);
    
    // Hide all slides
    slides.forEach(slide => {
        slide.classList.remove('active');
    });
    
    // Remove active class from all dots
    dots.forEach(dot => {
        dot.classList.remove('active');
    });
    
    // Show the selected slide and activate dot
    slides[slideIndex].classList.add('active');
    dots[slideIndex].classList.add('active');
}

function moveSlide(galleryId, direction) {
    const slides = document.querySelectorAll(`#${galleryId} .slide`);
    let currentIndex = 0;
    
    // Find current active slide
    slides.forEach((slide, index) => {
        if (slide.classList.contains('active')) {
            currentIndex = index;
        }
    });
    
    // Calculate new index
    let newIndex = currentIndex + direction;
    if (newIndex < 0) newIndex = slides.length - 1;
    if (newIndex >= slides.length) newIndex = 0;
    
    // Show the new slide
    showSlide(galleryId, newIndex);
}

// Handle keyboard navigation
document.addEventListener('keydown', function(event) {
    // Only handle if a gallery is present
    const galleries = document.querySelectorAll('.image-gallery');
    if (galleries.length === 0) return;
    
    // Find gallery with active slide
    let activeGalleryId = null;
    galleries.forEach(gallery => {
        const activeSlide = gallery.querySelector('.slide.active');
        if (activeSlide) {
            activeGalleryId = gallery.id;
        }
    });
    
    if (!activeGalleryId) return;
    
    // Left arrow
    if (event.keyCode === 37) {
        moveSlide(activeGalleryId, -1);
    }
    // Right arrow
    else if (event.keyCode === 39) {
        moveSlide(activeGalleryId, 1);
    }
});
