jQuery(document).ready(oxygen_init_repeater_carousel);
function oxygen_init_repeater_carousel($){
Flickity.createMethods.push('_createPrevNextCells');
Flickity.prototype._createPrevNextCells=function(){
this.on('select', this.setPrevNextCells);
};
Flickity.prototype.setPrevNextCells=function(){
changeSlideClasses(this.previousSlide, 'remove', 'is-previous');
changeSlideClasses(this.nextSlide, 'remove', 'is-next');
var previousI=fizzyUIUtils.modulo(this.selectedIndex - 1, this.slides.length);
var nextI=fizzyUIUtils.modulo(this.selectedIndex + 1, this.slides.length);
this.previousSlide=this.slides[previousI];
this.nextSlide=this.slides[nextI];
changeSlideClasses(this.previousSlide, 'add', 'is-previous');
changeSlideClasses(this.nextSlide, 'add', 'is-next');
};
function changeSlideClasses(slide, method, className){
if(!slide){
return;
}
slide.getCellElements().forEach(function(cellElem){
cellElem.classList[method](className);
});
}
Flickity.prototype._createResizeClass=function(){
this.element.classList.add('flickity-resize');
};
Flickity.createMethods.push('_createResizeClass');
var resize=Flickity.prototype.resize;
Flickity.prototype.resize=function(){
this.element.classList.remove('flickity-resize');
if(!this.isAnimating){
resize.call(this);
}
this.element.classList.add('flickity-resize');
};
var originalOnResize=Flickity.prototype.onresize;
Flickity.prototype.onresize=function(){
var currentWidth=this.element.offsetWidth;
if(this._lastResizeWidth===undefined||currentWidth!==this._lastResizeWidth){
this._lastResizeWidth=currentWidth;
originalOnResize.call(this);
}};
;(function (){
let touchingCarousel=false
let startXCoordinate
document.body.addEventListener('touchstart', e=> {
if(e.target.closest('.flickity-slider')){
touchingCarousel=true
}else{
touchingCarousel=false
return
}
startXCoordinate=e.touches[0].pageX
})
document.body.addEventListener('touchmove', e=> {
if(!touchingCarousel ||
!e.cancelable ||
Math.abs(e.touches[0].pageX - startXCoordinate) < 4
) return
e.preventDefault()
e.stopPropagation()
}, { passive: false })
}())
var extrasCarousel=function(container){
$(container).find('.oxy-carousel-builder').each(function(i, carousel){
var $carousel=$(carousel),
$inner=$carousel.find('.oxy-carousel-builder_inner'),
$carouselslider='#' + $carousel.attr('id') + ' ' + $inner.data('carousel'),
$carouselcell;
if('.oxy-dynamic-list'===$inner.data('carousel')){
if(true!=$inner.data('repeater-cell')){
var id_attr=$($carouselslider).children('.ct-div-block').attr('data-id');
if(typeof id_attr!==typeof undefined&&id_attr!==false){
$carouselcell='[data-id="' + id_attr + '"]';
}else{
$carouselcell='#' + $($carouselslider).children('.ct-div-block').attr('id');
}}else{
$carouselcell=$inner.data('cell');
}}else{
$carouselcell=$inner.data('cell');
}
var $prev=$inner.data('prev'),
$next=$inner.data('next'),
$contain=$inner.data('contain'),
$free_scroll=$inner.data('freescroll'),
$draggable=$inner.data('draggable'),
$wrap_around=$inner.data('wraparound'),
$group_cells=$inner.data('groupcells'),
$autoplay=$inner.data('autoplay'),
$initial_index=$inner.data('initial') - 1,
$accessibility=$inner.data('accessibility'),
$cell_align=$inner.data('cellalign'),
$right_to_left=$inner.data('righttoleft'),
$images_loaded=false==$inner.data('images-loaded') ? false:true,
$page_dots=$inner.data('pagedots'),
$percent=$inner.data('percent'),
$asnavfor=$inner.closest('.oxy-dynamic-list > .ct-div-block').length ? $('#' + $inner.closest('.oxy-dynamic-list > .ct-div-block').attr('id') + ' ' +  $inner.data('asnavfor') + ' ' + $($inner.data('asnavfor')).find('.oxy-carousel-builder_inner').data('carousel'))[0]:$($inner.data('asnavfor') + ' ' + $($inner.data('asnavfor')).find('.oxy-carousel-builder_inner').data('carousel'))[0],
$sync=$inner.closest('.oxy-dynamic-list > .ct-div-block').length ? '#' + $inner.closest('.oxy-dynamic-list > .ct-div-block').attr('id') + ' ' + $inner.data('sync') + ' ' + $($inner.data('sync')).find('.oxy-carousel-builder_inner').data('carousel'):$inner.data('sync') + ' ' + $($inner.data('sync')).find('.oxy-carousel-builder_inner').data('carousel'),
$dragthreshold=$inner.data('dragthreshold'),
$selectedattraction=$inner.data('selectedattraction'),
$friction=$inner.data('friction'),
$freescrollfriction=$inner.data('freescrollfriction'),
$bgspeed=$inner.data('bgspeed'),
$adaptheight=$inner.data('adaptheight'),
$fullscreen=$inner.data('fullscreen'),
$lazy=$inner.data('lazy'),
$bglazy=$inner.data('bg-lazy'),
$maybe_fade=$inner.data('fade'),
$pause_autoplay=$inner.data('pauseautoplay'),
$triggeraos=$inner.data('trigger-aos'),
$triggeraosDelay=$inner.data('trigger-aos-delay'),
$resumeAutoplay=$inner.data('resume-autoplay'),
$hash=$inner.data('hash'),
$fixHiddenFocus=$inner.data('fix-hidden-focus');
function manageSlideFocus(){
if(true!==$fixHiddenFocus) return;
var flickity=$($carouselslider).data('flickity');
if(!flickity) return;
var focusableSelector='a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])';
flickity.slides.forEach(function(slide, i){
var cell=slide.cells[0].element;
var isHidden=cell.getAttribute('aria-hidden')==='true';
if(cell.matches(focusableSelector)){
if(isHidden){
if(!cell.hasAttribute('data-oxy-carousel-tabindex')){
cell.setAttribute('data-oxy-carousel-tabindex', 'modified');
cell.setAttribute('tabindex', '-1');
}}else{
if(cell.hasAttribute('data-oxy-carousel-tabindex')){
cell.removeAttribute('data-oxy-carousel-tabindex');
cell.removeAttribute('tabindex');
}}
}
var focusableElements=cell.querySelectorAll(focusableSelector);
focusableElements.forEach(function(element){
if(isHidden){
if(!element.hasAttribute('data-oxy-carousel-tabindex')){
element.setAttribute('data-oxy-carousel-tabindex', 'modified');
element.setAttribute('tabindex', '-1');
}}else{
if(element.hasAttribute('data-oxy-carousel-tabindex')){
element.removeAttribute('data-oxy-carousel-tabindex');
element.removeAttribute('tabindex');
}}
});
});
}
$($carouselslider).on('ready.flickity', function(event, index){
setTimeout(function(){
disable_nav();
manageSlideFocus();
}, 0);
});
if(true===$triggeraos){
$($carouselslider).find('.aos-init').css("visibility", "hidden");
$($carouselslider).find('.aos-init').removeClass('aos-animate');
$($carouselslider).on('ready.flickity', function(){
$($carouselslider).find('.aos-init').css("visibility", "visible");
$($carouselslider).find('.aos-init').removeClass('aos-animate');
if(typeof AOS!=='undefined'){
AOS.refresh(true);
}
setTimeout(function(){
$($carouselslider).find('.is-selected').siblings().find('.aos-init').removeClass('aos-animate');
}, $triggeraosDelay);
});
}
$inner.removeClass('oxy-carousel-builder_hidden');
if(null!=$($carouselslider)[0]){
$($carouselslider)[0].offsetHeight;
}
var options={
groupCells: $group_cells,
contain: $contain,
freeScroll: $free_scroll,
draggable: $draggable,
wrapAround: $wrap_around,
cellSelector: $carouselcell,
autoPlay: $autoplay,
accessibility: $accessibility,
cellAlign: $cell_align,
rightToLeft: $right_to_left,
pageDots: $page_dots,
percentPosition: $percent,
asNavFor: $asnavfor,
adaptiveHeight: $adaptheight,
dragThreshold: $dragthreshold,
selectedAttraction: $selectedattraction,
friction: $friction,
freeScrollFriction: $freescrollfriction,
imagesLoaded: $images_loaded,
lazyLoad: $lazy,
bgLazyLoad: $bglazy,
prevNextButtons: false,
watchCSS: true,
fullscreen: $fullscreen,
fade: $maybe_fade,
pauseAutoPlayOnHover: $pause_autoplay,
sync: $sync,
hash: $hash
};
if(true!==$hash){
Object.assign(options, {initialIndex: $initial_index});
}
var $flickityCarousel=$($carouselslider).flickity(options);
$flickityCarousel.on('change.flickity', manageSlideFocus);
if(true===$fixHiddenFocus){
$($carouselslider).on('focusin', function(e){
var $target=$(e.target);
var $cell=$target.closest('.flickity-slider > *');
if($cell.length&&$cell.attr('aria-hidden')==='true'){
e.target.blur();
manageSlideFocus();
}});
}
var currentCarousel;
$next=($next==='.oxy-carousel-builder_next') ? '#' + $carousel.attr('id') + ' ' + $next:$next;
$prev=($prev==='.oxy-carousel-builder_prev') ? '#' + $carousel.attr('id') + ' ' + $prev:$prev;
$($next).off('click');
$($next).on('click', function(e){
e.preventDefault();
if($(this).parent('.oxy-carousel-builder').length){
currentCarousel=$(this).parent('.oxy-carousel-builder').find($inner.data('carousel'));
}else{
currentCarousel=$($carouselslider);
}
currentCarousel.flickity('next');
if(0!==$autoplay){
currentCarousel.flickity('pausePlayer');
setTimeout(function(){ currentCarousel.flickity('unpausePlayer') }, $autoplay);
}});
$($prev).off('click');
$($prev).on('click', function(e){
e.preventDefault();
if($(this).parent('.oxy-carousel-builder').length){
currentCarousel=$(this).parent('.oxy-carousel-builder').find($inner.data('carousel'));
}else{
currentCarousel=$($carouselslider);
}
currentCarousel.flickity('previous');
if(0!==$autoplay){
currentCarousel.flickity('pausePlayer');
setTimeout(function(){ currentCarousel.flickity('unpausePlayer') }, $autoplay);
}});
$($next).off('keydown');
$($next).on('keydown', function(e){
if(e.key==='Enter'||e.key===' '){
e.preventDefault();
if($(this).attr('aria-disabled')!=='true'){
$(this).trigger('click');
}}
});
$($prev).off('keydown');
$($prev).on('keydown', function(e){
if(e.key==='Enter'||e.key===' '){
e.preventDefault();
if($(this).attr('aria-disabled')!=='true'){
$(this).trigger('click');
}}
});
if(true===$inner.data('clickselect')){
$flickityCarousel.on('staticClick.flickity', function(event, pointer, cellElement, cellIndex){
if(typeof cellIndex=='number'){
$(this).flickity('selectCell', cellIndex);
}});
}
$flickityCarousel.on('dragStart.flickity', function(){ $($carouselslider).find('.flickity-slider > *').css('pointer-events', 'none')});
$flickityCarousel.on('dragEnd.flickity', function(){ $($carouselslider).find('.flickity-slider > *').css('pointer-events', 'all')});
if(true===$inner.data('parallaxbg')){
if('.oxy-dynamic-list'===$inner.data('carousel')){
var $parallaxCells=$flickityCarousel.find('.flickity-slider').children('.ct-div-block');
}else{
var $parallaxCells=$flickityCarousel.find($carouselcell);
}
var docStyle=document.documentElement.style;
var transformProp=typeof docStyle.transform=='string' ?
'transform':'WebkitTransform';
var flkty=$flickityCarousel.data('flickity');
function parallaxbg(){
flkty.slides.forEach(function(slide, i){
var $parallaxCell=$parallaxCells[i];
var $parallaxElem=$($parallaxCell).find('[data-speed]');
var x=(slide.target + flkty.x);
$parallaxElem.each(function(){
var $parallaxSpeed=$(this).attr('data-speed');
var $parallaxElemDom=$(this)[0];
var trans=x * (-1 / $parallaxSpeed);
$parallaxElemDom.style[transformProp]='translateX(' + trans + 'px)';
});
});
}
parallaxbg();
$flickityCarousel.on('scroll.flickity', function(event, progress){
parallaxbg();
});
}
if(true===$triggeraos){
$flickityCarousel.on('change.flickity', function(event, index){
$($carouselslider).find('.aos-init').css("visibility", "hidden");
$($carouselslider).find('.aos-init').removeClass('aos-animate');
setTimeout(function(){
$($carouselslider).find('.is-selected .aos-init').css("visibility", "visible");
setTimeout(function(){
$($carouselslider).find('.is-selected .aos-init').addClass('aos-animate');
$($carouselslider).find('.is-selected').siblings().find('.aos-init').removeClass('aos-animate');
}, 20);
}, $triggeraosDelay);
});
}
if((true===$inner.data('tick'))&&(true===$inner.data('wraparound'))){
var tickerSpeed=$inner.data('ticker');
var flickity=null;
var isPaused=false;
const slideshowEl=document.querySelector($carouselslider);
const update=function(){
if(isPaused) return;
if(flickity.slides){
flickity.x=(flickity.x - tickerSpeed) % flickity.slideableWidth;
flickity.selectedIndex=flickity.dragEndRestingSelect();
flickity.updateSelectedSlide();
flickity.settle(flickity.x);
}
window.requestAnimationFrame(update);
};
const pause=function(){
isPaused=true;
};
const play=function(){
if(isPaused){
isPaused=false;
window.requestAnimationFrame(update);
}};
flickity=$($carouselslider).data('flickity');
flickity.x=0;
if(true===$inner.data('tickerpause')){
slideshowEl.addEventListener('mouseenter', pause, false);
slideshowEl.addEventListener('focusin', pause, false);
slideshowEl.addEventListener('mouseleave', play, false);
slideshowEl.addEventListener('focusout', play, false);
}
flickity.on('dragStart', function(){
isPaused=true;
});
update();
}
$flickityCarousel.on('select.flickity', function(event, index){
disable_nav();
});
$flickityCarousel.on('fullscreenChange.flickity', function(event, isFullscreen){
if(true===isFullscreen){
$($prev).addClass('oxy-carousel-builder_icon-fullscreen');
$($next).addClass('oxy-carousel-builder_icon-fullscreen');
}else{
$($prev).removeClass('oxy-carousel-builder_icon-fullscreen');
$($next).removeClass('oxy-carousel-builder_icon-fullscreen');
}
setTimeout(function(){
$flickityCarousel.flickity('resize');
}, 300);
});
function disable_nav(){
if(false===$inner.data('wraparound')){
var flickity=$($carouselslider).data('flickity');
if(null!=flickity.selectedCell){
var target=flickity.selectedCell.target;
if(!flickity.slides[flickity.selectedIndex - 1]&&!flickity.slides[flickity.selectedIndex + 1]){
$($prev).addClass('oxy-carousel-builder_icon_disabled').attr('aria-disabled', 'true');
$($next).addClass('oxy-carousel-builder_icon_disabled').attr('aria-disabled', 'true');
}else if(!flickity.slides[flickity.selectedIndex - 1]){
$($prev).addClass('oxy-carousel-builder_icon_disabled').attr('aria-disabled', 'true');
$($next).removeClass('oxy-carousel-builder_icon_disabled').attr('aria-disabled', 'false');
}else if(!flickity.slides[flickity.selectedIndex + 1]){
$($next).addClass('oxy-carousel-builder_icon_disabled').attr('aria-disabled', 'true');
$($prev).removeClass('oxy-carousel-builder_icon_disabled').attr('aria-disabled', 'false');
}else{
$($prev).removeClass('oxy-carousel-builder_icon_disabled').attr('aria-disabled', 'false');
$($next).removeClass('oxy-carousel-builder_icon_disabled').attr('aria-disabled', 'false');
}}
}}
if((0!==$autoplay)&&(null!=$resumeAutoplay)){
$flickityCarousel.on('dragEnd.flickity', function(){
setTimeout(function(){ $($carouselslider).flickity('playPlayer')}, $resumeAutoplay);
});
$flickityCarousel.on('staticClick.flickity', function(){
setTimeout(function(){ $($carouselslider).flickity('playPlayer')}, $resumeAutoplay);
});
$flickityCarousel.on('pointerMove.flickity', function(){
setTimeout(function(){ $($carouselslider).flickity('playPlayer')}, $resumeAutoplay);
});
}
$carousel.find('.oxy-carousel-next').parent('.oxy-carousel-navigation').addClass('oxy-carousel-navigation_next');
$carousel.find('.oxy-carousel-previous').parent('.oxy-carousel-navigation').addClass('oxy-carousel-navigation_prev');
$(window).on('load', function(){
$flickityCarousel.flickity('resize');
});
if($($carouselslider).has('.oxy-read-more-less')){
$($carouselslider).find('.oxy-read-more-less').on('extras_readmore:expand extras_readmore:collapse', function(){
setTimeout(function(){
$flickityCarousel.flickity('resize');
}, 5);
});
}});
if($('.oxy-tab-content').length){
if(window.angular) return;
if($('.oxy-tab-content').has('.oxy-carousel-builder')){
$('.oxy-tabs').on('click', function(){
let tabContent='#' + $(this).attr('data-oxy-tabs-contents-wrapper');
let tabCarousels=$(tabContent).find('.oxy-carousel-builder');
tabCarousels.each(function(){
let tabflkty=Flickity.data($(this).find('.flickity-enabled')[0]);
setTimeout(function(){
tabflkty.resize();
}, 20);
});
});
}}
};
extrasCarousel('body');
window.doExtrasCarousel=extrasCarousel;
};