jQuery(function($) {
    "use strict";

    // Search focus handler
    function digitalx_agencies_searchFocusHandler() {
    const searchFirstTab = $('.inner_searchbox input[type="search"]');
    const searchLastTab = $('button.search-close');

    $(".open-search").click(function(e) {
      e.preventDefault();
      e.stopPropagation();
      $('body').addClass("search-focus");
      searchFirstTab.focus();
    });

    $("button.search-close").click(function(e) {
      e.preventDefault();
      e.stopPropagation();
      $('body').removeClass("search-focus");
      $(".open-search").focus();
    });

    // Redirect last tab to first input
    searchLastTab.on('keydown', function(e) {
      if ($('body').hasClass('search-focus') && e.which === 9 && !e.shiftKey) {
        e.preventDefault();
        searchFirstTab.focus();
      }
    });

    // Redirect first shift+tab to last input
    searchFirstTab.on('keydown', function(e) {
      if ($('body').hasClass('search-focus') && e.which === 9 && e.shiftKey) {
        e.preventDefault();
        searchLastTab.focus();
      }
    });

    // Allow escape key to close menu
    $('.inner_searchbox').on('keyup', function(e) {
      if ($('body').hasClass('search-focus') && e.keyCode === 27) {
        $('body').removeClass('search-focus');
        searchLastTab.focus();
      }
    });
  }

  // Call the search focus handler
    digitalx_agencies_searchFocusHandler();

    // Keyboard loop function (Fix for ReferenceError)
    function digitalx_agencies_Keyboard_loop(nav) {
        if (!nav.length) return;

        var focusable = nav.find('a, button, input, select, textarea').filter(':visible');
        var first = focusable.first();
        var last = focusable.last();

        nav.on('keydown', function(e) {
            if (e.key === 'Tab') {
                if (e.shiftKey) {
                    if ($(document.activeElement).is(first)) {
                        e.preventDefault();
                        last.focus();
                    }
                } else {
                    if ($(document.activeElement).is(last)) {
                        e.preventDefault();
                        first.focus();
                    }
                }
            }
        });
    }

    // Scroll to top functionality
    $(window).on('scroll', function() {
        if ($(this).scrollTop() >= 50) {
            $('#return-to-top').fadeIn(200);
        } else {
            $('#return-to-top').fadeOut(200);
        }
    });

    $('#return-to-top').on('click', function() {
        $('body,html').animate({ scrollTop: 0 }, 500);
    });

    // Side navigation toggle
    $('.gb_toggle').on('click', function() {
        var nav = $('.side_gb_nav');
        nav.toggleClass('active');

        // Call keyboard accessibility function
        digitalx_agencies_Keyboard_loop(nav);
    });

    // Preloader fade out
    setTimeout(function() {
        $(".loader").fadeOut("slow");
    }, 1000);

});

// Mobile responsive menu
function digitalx_agencies_menu_open_nav() {
    jQuery(".sidenav").addClass('open');
}

function digitalx_agencies_menu_close_nav() {
    jQuery(".sidenav").removeClass('open');
}

jQuery(document).ready(function($) {
  $('#slider .main-bottom1.owl-carousel').owlCarousel({
    loop: true,
    margin: 30,
    nav: false,
    dots: false,
    autoplay: true,
    responsive: {
      0: {
        items: 1
      },
      768: {
        items: 3
      },
      1024: {
        items: 5
      }
    }
  });

  $('#slider .main-bottom2.owl-carousel').owlCarousel({
    loop: true,
    margin: 30,
    nav: false,
    dots: false,
    autoplay: true,
    responsive: {
      0: {
        items: 1
      },
      768: {
        items: 3
      },
      1024: {
        items: 5
      }
    }
  });

  // Service section
  $('#service-section .owl-carousel').owlCarousel({
    loop: true,
    margin: 30,
    nav: false,
    dots: false,
    autoplay: false,
    responsive: {
      0: {
        items: 1
      },
      768: {
        items: 2
      },
      1024: {
        items: 2
      }
    }
  });
});

// Video Popup
(function($) {
  $(document).ready(function(){

    $('#openBtn').on('click', function(e) {
      e.preventDefault(); // stop normal link

      var videoUrl = $(this).data('video');
      if (!videoUrl) return;

      $('#videoFrame').attr('src', videoUrl);
      $('#videoOverlay').css('display', 'flex');
    });

    $('.close-btn, #videoOverlay').on('click', function(e) {
      // close when clicking on X or dark background
      if (e.target !== this && !$(e.target).closest('.close-btn').length) return;

      $('#videoOverlay').hide();
      $('#videoFrame').attr('src', ''); // stop video
    });

  });
})(jQuery);