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();
});