HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/rentman.komma.pro/wwwroot/js/customerLogoSlider.js
var CustomerLogoSlider = {


    sliderObject: '',
    slides: '',
    availableSlides: 0,
    navigation: '',

    previousLocatorSlideId: 6,
    previouserSlideId: 0,
    previousSlideId: 1,
    activeSlideId: 2,
    nextSlideId: 3,
    nexterSlideId: 4,
    nextLocatorSlideId: 5,

    preventInteraction: false,


    init: function () {
        CustomerLogoSlider.sliderObject = document.getElementById('customerLogoSlider');
        CustomerLogoSlider.sliderNavigation = document.getElementById('customerLogoSliderNavigation');
        CustomerLogoSlider.slides = CustomerLogoSlider.sliderObject.querySelectorAll('.logo');
        CustomerLogoSlider.availableSlides = (CustomerLogoSlider.slides.length - 1);

        // Only load slider if more then 5
        if (CustomerLogoSlider.availableSlides >= 5) {

            CustomerLogoSlider.previousLocatorSlideId = CustomerLogoSlider.availableSlides;

            // Set active slide (and possible previous and next classes)
            CustomerLogoSlider.setSlide();

            // Swipe interaction
            $(CustomerLogoSlider.sliderObject).swipe({
                swipeLeft: function () {
                    if (!CustomerLogoSlider.preventInteraction) {
                        CustomerLogoSlider.nextSlide();
                        CustomerLogoSlider.setSlide();
                    }
                },
                swipeRight: function () {
                    if (!CustomerLogoSlider.preventInteraction) {
                        CustomerLogoSlider.previousSlide();
                        CustomerLogoSlider.setSlide();
                    }
                }
            });

            CustomerLogoSlider.sliderNavigation.querySelector('.next').addEventListener('click', function () {
                if (!CustomerLogoSlider.preventInteraction) {
                    CustomerLogoSlider.nextSlide();
                    CustomerLogoSlider.setSlide();
                }
            });

            CustomerLogoSlider.sliderNavigation.querySelector('.previous').addEventListener('click', function () {
                if (!CustomerLogoSlider.preventInteraction) {
                    CustomerLogoSlider.previousSlide();
                    CustomerLogoSlider.setSlide();
                }
            });


            // Loop through the form elements
            for (var i = 0; i <= CustomerLogoSlider.availableSlides; i++) {
                var slide = CustomerLogoSlider.slides[i];

                slide.addEventListener('click', function (event) {
                    CustomerLogoSlider.clickLogo(this, event);
                    CustomerLogoSlider.setSlide();
                });

            }
        }
        else {
            CustomerLogoSlider.sliderObject.classList.add('hide');
            console.log('Add more customer logos to the slider');
        }
    },

    nextSlide: function () {
        CustomerLogoSlider.previousLocatorSlideId++;
        CustomerLogoSlider.previouserSlideId++;
        CustomerLogoSlider.previousSlideId++;
        CustomerLogoSlider.activeSlideId++;
        CustomerLogoSlider.nextSlideId++;
        CustomerLogoSlider.nexterSlideId++;
        CustomerLogoSlider.nextLocatorSlideId++;

        if (CustomerLogoSlider.activeSlideId === (CustomerLogoSlider.availableSlides + 1)) {
            CustomerLogoSlider.activeSlideId = 0;
            CustomerLogoSlider.nextSlideId = 1;
            CustomerLogoSlider.nexterSlideId = 2;
            CustomerLogoSlider.nextLocatorSlideId = 3;
        }
        else if (CustomerLogoSlider.activeSlideId === CustomerLogoSlider.availableSlides) {
            CustomerLogoSlider.nextSlideId = 0;
            CustomerLogoSlider.nexterSlideId = 1;
            CustomerLogoSlider.nextLocatorSlideId = 2;
        }
        else if (CustomerLogoSlider.nextSlideId === CustomerLogoSlider.availableSlides) {
            CustomerLogoSlider.nexterSlideId = 0;
            CustomerLogoSlider.nextLocatorSlideId = 1;
        }
        else if (CustomerLogoSlider.nexterSlideId === CustomerLogoSlider.availableSlides) {
            CustomerLogoSlider.nextLocatorSlideId = 0;
        }

    },

    previousSlide: function () {
        CustomerLogoSlider.previousLocatorSlideId--;
        CustomerLogoSlider.previouserSlideId--;
        CustomerLogoSlider.previousSlideId--;
        CustomerLogoSlider.activeSlideId--;
        CustomerLogoSlider.nextSlideId--;
        CustomerLogoSlider.nexterSlideId--;
        CustomerLogoSlider.nextLocatorSlideId--;

        if (CustomerLogoSlider.activeSlideId === -1) {
            CustomerLogoSlider.activeSlideId = CustomerLogoSlider.availableSlides;
            CustomerLogoSlider.previousSlideId = (CustomerLogoSlider.availableSlides - 1);
            CustomerLogoSlider.previouserSlideId = (CustomerLogoSlider.availableSlides - 2);
            CustomerLogoSlider.previousLocatorSlideId = (CustomerLogoSlider.availableSlides - 3);
        }
        else if (CustomerLogoSlider.activeSlideId === 0) {
            CustomerLogoSlider.previousSlideId = CustomerLogoSlider.availableSlides;
            CustomerLogoSlider.previouserSlideId = (CustomerLogoSlider.availableSlides - 1);
            CustomerLogoSlider.previousLocatorSlideId = (CustomerLogoSlider.availableSlides - 2);
        }
        else if (CustomerLogoSlider.previousSlideId === 0) {
            CustomerLogoSlider.previouserSlideId = CustomerLogoSlider.availableSlides;
            CustomerLogoSlider.previousLocatorSlideId = (CustomerLogoSlider.availableSlides - 1);
        }
        else if (CustomerLogoSlider.previouserSlideId === 0) {
            CustomerLogoSlider.previousLocatorSlideId = CustomerLogoSlider.availableSlides;
        }
    },

    checkForOverSet: function () {
        if (CustomerLogoSlider.previousLocatorSlideId === -1) CustomerLogoSlider.previousLocatorSlideId = CustomerLogoSlider.availableSlides;
        else if (CustomerLogoSlider.previousLocatorSlideId === (CustomerLogoSlider.availableSlides + 1)) CustomerLogoSlider.previousLocatorSlideId = 0;

        if (CustomerLogoSlider.previouserSlideId === -1) CustomerLogoSlider.previouserSlideId = CustomerLogoSlider.availableSlides;
        else if (CustomerLogoSlider.previouserSlideId === (CustomerLogoSlider.availableSlides + 1)) CustomerLogoSlider.previouserSlideId = 0;

        if (CustomerLogoSlider.previousSlideId === -1) CustomerLogoSlider.previousSlideId = CustomerLogoSlider.availableSlides;
        else if (CustomerLogoSlider.previousSlideId === (CustomerLogoSlider.availableSlides + 1)) CustomerLogoSlider.previousSlideId = 0;

        if (CustomerLogoSlider.nextSlideId === -1) CustomerLogoSlider.nextSlideId = CustomerLogoSlider.availableSlides;
        else if (CustomerLogoSlider.nextSlideId === (CustomerLogoSlider.availableSlides + 1)) CustomerLogoSlider.nextSlideId = 0;

        if (CustomerLogoSlider.nexterSlideId === -1) CustomerLogoSlider.nexterSlideId = CustomerLogoSlider.availableSlides;
        else if (CustomerLogoSlider.nexterSlideId === (CustomerLogoSlider.availableSlides + 1)) CustomerLogoSlider.nexterSlideId = 0;

        if (CustomerLogoSlider.nextLocatorSlideId === -1) CustomerLogoSlider.nextLocatorSlideId = CustomerLogoSlider.availableSlides;
        else if (CustomerLogoSlider.nextLocatorSlideId === (CustomerLogoSlider.availableSlides + 1)) CustomerLogoSlider.nextLocatorSlideId = 0;
    },

    setSlide: function () {

        CustomerLogoSlider.checkForOverSet();

        // console.log(CustomerLogoSlider.previousLocatorSlideId + ' ' + CustomerLogoSlider.previouserSlideId + ' ' + CustomerLogoSlider.previousSlideId  + ' ' + CustomerLogoSlider.activeSlideId  + ' ' +  CustomerLogoSlider.nextSlideId  + ' ' +  CustomerLogoSlider.nexterSlideId + ' ' +  CustomerLogoSlider.nextLocatorSlideId);

        CustomerLogoSlider.preventInteraction = true;

        // Loop through the form elements
        for (var i = 0; i <= CustomerLogoSlider.availableSlides; i++) {
            var slide = CustomerLogoSlider.slides[i];

            // Convert data-set attribute to desired type
            var slideOrder = parseInt(slide.getAttribute('data-slide-id'));

            // Remove and set active for all slides
            if (slideOrder !== CustomerLogoSlider.activeSlideId) slide.classList.remove('active');
            else slide.classList.add('active');

            if (slideOrder !== CustomerLogoSlider.previousSlideId) slide.classList.remove('previous');
            else slide.classList.add('previous');

            if (slideOrder !== CustomerLogoSlider.previouserSlideId) slide.classList.remove('previouser');
            else slide.classList.add('previouser');

            if (slideOrder !== CustomerLogoSlider.previousLocatorSlideId) slide.classList.remove('previousLocator');
            else slide.classList.add('previousLocator');

            if (slideOrder !== CustomerLogoSlider.nextSlideId) slide.classList.remove('next');
            else slide.classList.add('next');

            if (slideOrder !== CustomerLogoSlider.nexterSlideId) slide.classList.remove('nexter');
            else slide.classList.add('nexter');

            if (slideOrder !== CustomerLogoSlider.nextLocatorSlideId) slide.classList.remove('nextLocator');
            else slide.classList.add('nextLocator');

        }

        setTimeout(function () {
            CustomerLogoSlider.preventInteraction = false;
        }, 450);

    },

    clickLogo: function (logo, event) {

        if ($(logo).hasClass('previouser')) {
            // console.log('prevent click: previouser');
            CustomerLogoSlider.previousSlide();
            CustomerLogoSlider.previousSlide();
            event.preventDefault();
        }
        if ($(logo).hasClass('nexter')) {
            // console.log('prevent click: nexter');
            CustomerLogoSlider.nextSlide();
            CustomerLogoSlider.nextSlide();
            event.preventDefault();
        }
    },

};

// We need to wait until the jquery is loaded because of the swip functionality
$(function () {
    CustomerLogoSlider.init();
});