// JavaScript Document

$(function () {
    'use strict'

    $('[data-bs-toggle="offcanvas"]').on('click', function () {
        $(this).toggleClass('is-active');
        $('html').toggleClass('no-scroll');
    });

    $('#menu-mobile a.btn, #menu-mobile a:not(.dropdown-toggle)').on('click', function() {
        $('.offcanvas').offcanvas('hide');
        $('[data-bs-toggle="offcanvas"]').removeClass('is-active');
        $('html').removeClass('no-scroll');
    });

});

AOS.init({
	easing: 'ease-in-out-cubic',
	duration: 500,
	offset: 50,
	once: true,
    disable: 'mobile'
});

$(document).ready(function(){

    //mobile navbar js
    let didScroll;
    let lastScrollTop = 0;
    let delta = 5;
    let navbarClass = '.navbar-updown'; // replace with your class name

    $(window).scroll(function(event){
        didScroll = true;
    });

    setInterval(function() {
        if (didScroll) {
            hasScrolled();
            didScroll = false;
        }
    }, 250);

    function hasScrolled() {
        var navbarHeight = $(navbarClass).outerHeight();
        var st = $(this).scrollTop();

        if(Math.abs(lastScrollTop - st) <= delta)
            return;

        if (st > lastScrollTop && st > navbarHeight){
            // Scroll Down
            $(navbarClass).removeClass('down').addClass('up');
        } else {
            // Scroll Up
            if(st + $(window).height() < $(document).height()) {
                $(navbarClass).removeClass('up').addClass('down');
            }
        }

        lastScrollTop = st;
    }
    // mobile navbar js
			
	$("#nav-main").sticky({
		topSpacing: 0,
		responsiveWidth: true
	});

    $(function () {
        'use strict';

        var navMain = $('#nav-main');

        // Dropdown toggle
        $('#nav-main .dropdown-toggle').on('click', function () {
            if ($(this).hasClass('show')) {
                navMain.addClass('full');
            } else {
                navMain.removeClass('full');
            }
        });

    });

    $("section.w-bg picture").imgLiquid();

    $(".thumb-nail > div").imgLiquid();

    $(".action-calls-main picture").imgLiquid();
			
	$('[data-fancybox]').fancybox({
		loop: true,
		buttons: [
			//"zoom",
			"slideShow",
			"fullScreen",
			"download",
			"share",
			"thumbs",
			"close"
		],
		mobile: { clickOutside : 'close' },
		idleTime: 10,
        opts: {
            touch: false
        },
        hash: false
	});

    (function () {
        'use strict'

        // Fetch all the forms we want to apply custom Bootstrap validation styles to
        var forms = document.querySelectorAll('.needs-validation')

        // Loop over them and prevent submission
        Array.prototype.slice.call(forms)
            .forEach(function (form) {
                form.addEventListener('submit', function (event) {
                    if (!form.checkValidity()) {
                        event.preventDefault()
                        event.stopPropagation()
                        var errorElements = document.querySelectorAll(".form-control:invalid");
                        $(errorElements[0]).focus();
                    }

                    form.classList.add('was-validated')
                }, false)
            })
    })()

    $('.input-phone').toArray().forEach(function(field){
        new Cleave(field, {
            numericOnly: true,
            blocks: [0, 3, 0, 3, 4],
            delimiters: ["(", ")", " ", "-"]
        });
    });

    $('.input-date').toArray().forEach(function(field){
        new Cleave(field, {
            date: true,
            datePattern: ['m', 'd', 'Y']
        });
    });

    $('.input-money').toArray().forEach(function(field){
        new Cleave(field, {
            numeral: true,
            numeralThousandsGroupStyle: 'thousand'
        });
    });

    const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]');
    const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl));

    $("#search-box-main").keyup(function(event) { // mobile search
        if (event.keyCode === 13) {
            $("#search-addon").click();
        }
    });

    $("#search-addon").on("click", function(){ // mobile search
        $("#search-results").empty();

        const term = $("#search-box-main").val();

        $.post(window.location.origin+"/search/search?term="+term, {'term': term}, function(results) {
            results = JSON.parse(results);
            // console.log(results);

            if (results.length === 0) {
                $("#no-results").show();
            } else {
                $("#no-results").hide();
                $.each(results, function (index, value) {
                    $("#search-results").append("<div class='d-flex mt-2'><div class='me-2 me-xl-3'><i class='fa-sharp fa-solid fa-caret-right text-primary-color'></i></div><a href='"+value.link+"' target='_blank'><span>"+value.title+"</span></a></div>");
                });
            }
        });
    });
	
});