'));
}
}
//create calender days
else {
//check for a matching date that is already selected
if (dayCounter == currentDay && !navClick && !$input.val() == "") {
thisDate = new Date(currentYear, currentMonth, dayCounter);
//create highlighted square for the current day on the calendar
if (currentYear == todayYear && currentMonth == todayMonth && dayCounter == todayDay) {
$bodyRow.append($('
' + dayCounter + '
'));
dayCounter++;
}
//create normal nonselected/current squares for the remaining days
else {
$bodyRow.append($('
' + dayCounter + '
'));
dayCounter++;
}
}
//if not matching selected date create days without selected class
else {
thisDate = new Date(currentYear, currentMonth, dayCounter);
//create highlighted square for the current day on the calendar
if (currentYear == todayYear && currentMonth == todayMonth && dayCounter == todayDay) {
$bodyRow.append($('
' + dayCounter + '
'));
dayCounter++;
}
//create normal nonselected/current squares for the remaining days
else {
$bodyRow.append($('
' + dayCounter + '
'));
dayCounter++;
}
}
}
//increase gird location index number for each loop of days in the calender
gridLocationIndex++;
}
//Build calendar
$calendar.append($headRow).append($dayRow).append($bodyRow);
//Add calendar to the DOM
$datePicker.append($calendar);
}
ready('formValidate', '.formValidate', function (form) {
var inputs = [].slice.call(form.querySelectorAll("input, textarea, select"));
var submit = form.querySelector('.formValidate-submit');
var error = function error(message) {
return '
' + message + '
';
};
form.setAttribute('data-validated', 'false');
/*
Function to reset validation errors then check for validity using HTML5 validation methods.
This function is triggered but the 'blur' event on a form element.
The function also removes, then re-adds the event handler for the 'input' event,
so that the element is only validated on 'input' after it has been blured at least once.
This gives the user the chance to enter valid data before the validation starts.
*/
var validate = function validate(event) {
var input = event.target;
var group = void 0;
input.removeEventListener('input', validate);
input.classList.remove('is-invalid');
input.parentNode.classList.remove('is-errored');
// Remove the error div if it exists
if (input.parentNode.querySelectorAll('.formError').length) {
input.parentNode.removeChild(input.parentNode.querySelector('.formError'));
}
input.addEventListener('input', validate);
input.checkValidity();
// This is to handle removing error messages on radio buttons
if (input.getAttribute('name') != null && input.checkValidity()) {
group = [].slice.call(form.querySelectorAll('[name="' + input.getAttribute('name') + '"'));
group.forEach(function (item) {
item.parentNode.classList.remove('is-errored');
item.classList.remove('is-invalid');
// Remove the error div if it exists from other radio buttons
if (item.parentNode.querySelectorAll('.formError').length) {
item.parentNode.removeChild(item.parentNode.querySelector('.formError'));
}
});
}
};
/*
This function is triggered by the 'invalid' event. On 'blur', or on 'input', the element is
checked for validity (el.checkValidity()). If the element is invalid (per HTML5 validation),
the element triggers the 'invalid' event.
*/
var invalidate = function invalidate(event) {
var input = event.target;
input.classList.add('is-invalid');
input.parentNode.classList.add('is-errored');
// Remove the error div if it exists so we dont get duplicates
if (input.parentNode.querySelectorAll('.formError').length) {
input.parentNode.removeChild(input.parentNode.querySelector('.formError'));
}
if (input.value.length && input.getAttribute('pattern')) {
// Add the error div
input.parentNode.insertAdjacentHTML('beforeend', error(input.getAttribute('title')));
} else {
// Add the error div
input.parentNode.insertAdjacentHTML('beforeend', error(input.validationMessage));
}
event.preventDefault();
};
/*
Loop over each input and bind the above functions to the 'blur', and 'invalid' events.
*/
inputs.forEach(function (input) {
input.noValidate = true;
input.addEventListener('blur', validate);
input.addEventListener('invalid', invalidate);
});
/*
If the submit button is clicked, check each button for validity. An invalid input will
trigger its 'invalid' event handler. If any invalid inputs are found, it will preventDefault()
on the form.
*/
submit.addEventListener('click', function (event) {
var valid = true;
event.preventDefault();
inputs.forEach(function (input) {
// Trigger a blur to bind to the input event
input.focus();
input.blur();
if (!input.checkValidity()) {
valid = false;
}
});
if (!valid) {
form.setAttribute('data-validated', 'false');
} else {
form.setAttribute('data-validated', 'true');
}
});
});
// Function to watch for form becoming valid. It takes a CSS selector to target a form
// and a call back function for actually posting the form.
var postForm = function postForm(selector, callback) {
window.addEventListener('DOMContentLoaded', function () {
var element = document.querySelector(selector);
var observer = new window.MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
if (mutation.type === 'attributes') {
if (mutation.attributeName === 'data-validated') {
if (element.getAttribute('data-validated') === 'true') {
callback();
}
}
}
});
});
observer.observe(element, {
attributes: true
});
});
};
// Move .something to .somewhere when the screen is smaller than 992, put it back when its larger.
// ready('retach', '.something', (retach) => {
// $(retach).retach({
// destination: '.somewhere',
// mediaQuery: 992
// });
// });
(function ($) {
$.fn.retach = function (opts) {
var defaults = {
destination: 'body',
mediaQuery: 1023,
movedClass: 'is-moved',
moveMethod: 'append',
wrapper: '',
callback_move: function callback_move() {
return;
},
callback_back: function callback_back() {
return;
}
};
var options = $.extend({}, defaults, opts);
var $items = this;
var $dest = $(options.destination);
var mq = options.mediaQuery;
var mc = options.movedClass;
var mm = options.moveMethod;
var cm = options.callback_move;
var cb = options.callback_back;
if (options.wrapper !== '') {
var wrapperID = Math.floor(Math.random() * 10000 + 1) + Math.floor(Math.random() * 10000 + 1);
var $wrap = $('<' + options.wrapper + '/>', { 'data-wrapperid': wrapperID });
}
var placeholderID = Math.floor(Math.random() * 10000 + 1) + Math.floor(Math.random() * 10000 + 1);
var $placeholder = $('
');
$placeholder.css('display', 'none');
$items.each(function (index) {
if (index === 0) {
$(this).before($placeholder);
}
});
if (mm === 'prepend') {
$($items.get().reverse()).each(function (index) {
var $item = $(this);
moveMe($item);
$(window).on('load resize', function () {
moveMe($item);
});
});
$items.each(function (index) {
var $item = $(this);
putMeBack($item);
$(window).on('load resize', function () {
putMeBack($item);
});
});
}
if (mm === 'append') {
$items.each(function (index) {
var $item = $(this);
moveMe($item);
$(window).on('load resize', function () {
moveMe($item);
});
});
$($items.get().reverse()).each(function (index) {
var $item = $(this);
putMeBack($item);
$(window).on('load resize', function () {
putMeBack($item);
});
});
}
function moveMe($el) {
var shouldMove = window.matchMedia("(max-width: " + mq + "px)").matches;
var hasClass = $el.hasClass(mc);
if (shouldMove && !hasClass) {
if (mm === 'prepend') {
$dest.prepend($el);
} else if (mm === 'append') {
$dest.append($el);
}
$el.addClass(mc);
cm.call(this);
if ($wrap != void 0) {
$el.wrap($wrap);
}
}
return;
}
function putMeBack($el) {
var shouldMove = window.matchMedia("(max-width: " + mq + "px)").matches;
var hasClass = $el.hasClass(mc);
if (!shouldMove) {
if ($wrap != void 0) {
if ($el.parent().attr('data-wrapperid') == wrapperID) {
$el.unwrap();
}
}
$placeholder.after($el);
$el.removeClass(mc);
cb.call(this);
}
return;
}
};
})(jQuery);
ready('swap', '[data-lg][data-sm]', function (swap) {
$(swap).swapBackground({
mediaQuery: 768
});
});
(function ($) {
$.fn.swapBackground = function (options) {
var opts = options;
return this.each(function () {
var defaults = { srcSm: $(this).data("sm"), srcLg: $(this).data("lg"), mediaQuery: 1023 };
var options = $.extend({}, defaults, opts);
var $this = $(this);
var srcSm = options.srcSm;
var srcLg = options.srcLg;
var mediaQuery = options.mediaQuery;
function swapImages() {
if (window.matchMedia("(max-width: " + mediaQuery + "px)").matches) {
if ($this.attr('data-sm')) {
//console.log('got it');
$this.css('background-image', 'url(' + srcSm + ')');
} else {
$this.css('background-image', '');
}
} else {
if ($this.attr('data-lg')) {
$this.css('background-image', 'url(' + srcLg + ')');
} else {
$this.css('background-image', '');
}
}
}
swapImages();
$(window).resize(function () {
swapImages();
});
});
};
})(jQuery);
//toggle search
ready('headerSearch', '.header-utilSearch', function (search) {
var input = search.querySelector('.header-utilSearchInput');
var btn = search.querySelector('.header-utilSearchBtn');
var body = document.querySelector('body');
search.addEventListener('click', function (e) {
if (body.classList.contains('is-searchActive')) {
// search.classList.remove('is-active');
input.blur();
body.classList.remove('is-searchActive');
} else {
// search.classList.add('is-active');
input.focus();
body.classList.add('is-searchActive');
}
});
input.addEventListener('click', function (e) {
return e.stopPropagation();
});
btn.addEventListener('click', function (e) {
return e.stopPropagation();
});
document.addEventListener('click', function (e) {
if (e.target.closest('.header-utilSearch') == undefined) {
body.classList.remove('is-searchActive');
input.blur();
}
});
});
//toggle user dropdown
ready('headerUser', '.header-utilUser--loggedin .header-utilUserTrigger', function (trigger) {
var menu = trigger.closest('.header-utilUser');
trigger.addEventListener('click', function (e) {
e.preventDefault();
menu.classList.toggle('is-active');
});
document.addEventListener('click', function (e) {
if (!e.target.closest('.header-utilUser') && !e.target.matches('.header-utilUser')) {
document.querySelector('.header-utilUser').classList.remove('is-active');
}
});
});
//header padding
ready('headerPadding', '.header', function (header) {
if (document.querySelector('html.kentico-page-builder') == undefined) {
var main = document.querySelector('main');
var height = void 0;
var adjust = function adjust() {
height = header.offsetHeight;
main.style.marginTop = height + 'px';
};
adjust();
window.addEventListener('resize', adjust);
window.addEventListener('orientationchange', adjust);
window.addEventListener('beforeprint', function () {
if (document.querySelector("body.asbmbToday")) {
main.style.marginTop = 0;
}
});
window.addEventListener('afterprint', adjust);
}
});
//header fixed
ready('headerFixed', '.header', function (header) {
if (document.querySelector('html.kentico-page-builder') == undefined) {
header.classList.add('is-primed');
}
});
//toggle nav desktop
ready('toggleNav_desktop', '.header-navMenu > .header-navItem--children', function (item) {
var link = item.querySelector(':scope > a');
var siblings = [].concat(_toConsumableArray(item.parentElement.querySelectorAll(':scope > .header-navItem')));
link.addEventListener('click', function (e) {
return e.preventDefault();
});
siblings = siblings.filter(function (sibling) {
return sibling != item;
});
item.addEventListener('click', function (e) {
siblings.forEach(function (sibling) {
return sibling.classList.remove('is-active');
});
item.classList.toggle('is-active');
});
});
//toggle nav mobile
ready('toggleNav', '.header', function (header) {
var trigger = header.querySelector('.header-navTrigger'); //mobile trigger
var nav = header.querySelector('.header-nav'); //outer nav container
var inner = nav.querySelector('.header-navInner'); //inner nav container
var parents = [].concat(_toConsumableArray(inner.querySelectorAll('.header-navItem--children'))); //menu items with children
var backs = [].concat(_toConsumableArray(inner.querySelectorAll('.header-navItem--back'))); //back buttons (inside parents)
var level = {
depth: 0,
get current() {
return this.depth * -100;
},
set change(x) {
if (x == 0) {
this.depth = 0;
} else {
this.depth = this.depth + x;
}
}
};
var subs = void 0; // container for sub menu ul's
// function to open/reset the menu of click of trigger
var toggle = function toggle() {
if (!media.matches) {
if (trigger.classList.contains('is-active')) {
reset();
} else {
trigger.classList.add('is-active');
nav.classList.add('is-active');
disableBodyScroll(nav);
}
}
};
//function to descend into menu (click on an item with children)
var descend = function descend(parent) {
if (!media.matches) {
level.change = 1;
inner.style.transform = 'translateX(' + level.current + '%)';
parent.classList.add('is-sub-active');
}
};
//function to ascend in menu (click on a back button)
var ascend = function ascend(parent) {
if (!media.matches) {
level.change = -1;
inner.style.transform = 'translateX(' + level.current + '%)';
parent.classList.remove('is-sub-active');
}
};
//reset all menu classes, styles, and variables to default state;
var reset = function reset() {
subs = [].concat(_toConsumableArray(header.querySelectorAll('.is-sub-active')));
var actives = [].concat(_toConsumableArray(inner.querySelectorAll('.is-active')));
trigger.classList.remove('is-active');
nav.classList.remove('is-active');
console.log(inner.querySelectorAll('.is-active'));
inner.style.transform = '';
level.change = 0;
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
try {
for (var _iterator4 = actives[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var active = _step4.value;
active.classList.remove('is-active');
}
} catch (err) {
_didIteratorError4 = true;
_iteratorError4 = err;
} finally {
try {
if (!_iteratorNormalCompletion4 && _iterator4.return) {
_iterator4.return();
}
} finally {
if (_didIteratorError4) {
throw _iteratorError4;
}
}
}
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
try {
for (var _iterator5 = subs[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var sub = _step5.value;
sub.classList.remove('is-sub-active');
}
} catch (err) {
_didIteratorError5 = true;
_iteratorError5 = err;
} finally {
try {
if (!_iteratorNormalCompletion5 && _iterator5.return) {
_iterator5.return();
}
} finally {
if (_didIteratorError5) {
throw _iteratorError5;
}
}
}
enableBodyScroll(nav);
console.log('resetting');
};
//add descend click event to parents
var _loop = function _loop(parent) {
parent.addEventListener('click', function (e) {
if (!media.matches) {
if (e.target.parentElement == parent) {
e.preventDefault();
e.stopPropagation();
descend(parent);
}
}
});
};
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
try {
for (var _iterator6 = parents[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var parent = _step6.value;
_loop(parent);
}
//add ascend click event to back buttons
} catch (err) {
_didIteratorError6 = true;
_iteratorError6 = err;
} finally {
try {
if (!_iteratorNormalCompletion6 && _iterator6.return) {
_iterator6.return();
}
} finally {
if (_didIteratorError6) {
throw _iteratorError6;
}
}
}
var _loop2 = function _loop2(back) {
back.addEventListener('click', function (e) {
e.preventDefault();
e.stopPropagation();
if (!media.matches) {
var _parent = back.closest('.header-navItem--children');
ascend(_parent);
}
});
};
var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false;
var _iteratorError7 = undefined;
try {
for (var _iterator7 = backs[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var back = _step7.value;
_loop2(back);
}
// add toggle click event to trigger
} catch (err) {
_didIteratorError7 = true;
_iteratorError7 = err;
} finally {
try {
if (!_iteratorNormalCompletion7 && _iterator7.return) {
_iterator7.return();
}
} finally {
if (_didIteratorError7) {
throw _iteratorError7;
}
}
}
trigger.addEventListener('click', function (e) {
if (!media.matches) {
e.preventDefault();
toggle();
}
});
//reset menu when we hit the desktop size
media.addListener(function (e) {
if (e.matches) {
reset();
}
});
//reset menu when we click on outside of the menu
document.addEventListener('click', function (e) {
if (e.target.closest('.header-nav') == undefined && e.target.closest('.header-navTrigger') == undefined) {
reset();
}
});
});
ready('smallHeader', '.header', function (header) {
if (document.querySelector('html.kentico-page-builder') == undefined) {
setSmall(header);
}
});
//convert logo img -> svg
// ready('.header-logoImg', (img) => {
// const src = img.getAttribute('src');
// const wrapper = document.createElement('div');
// let svg;
// if (src.indexOf('svg') > -1) {
// api.get(src).then(rsp => {
// wrapper.innerHTML = rsp;
// svg = wrapper.firstElementChild;
// svg.classList.add('header-logoImg');
// img.insertAdjacentElement('beforebegin', svg);
// img.parentElement.removeChild(img);
// });
// }
// });
ready('breadcrumbs', '.breadcrumbs', function (breadcrumbs) {
if (document.querySelector('html.kentico-page-builder') == undefined) {
var placeholder = document.createElement('div');
placeholder.className = 'breadCrumbPlaceholder';
breadcrumbs.parentNode.insertBefore(placeholder, breadcrumbs);
var stickPoint = void 0;
var stick = function stick() {
var stickPos = document.querySelector('.header').offsetHeight;
var stickPoint = placeholder.getBoundingClientRect().top - stickPos;
var breadcrumbsHeight = breadcrumbs.offsetHeight;
if (stickPoint <= -1) {
breadcrumbs.classList.add('is-fixed');
breadcrumbs.style.top = stickPos + 'px';
placeholder.style.height = breadcrumbsHeight + 'px';
} else {
breadcrumbs.classList.remove('is-fixed');
breadcrumbs.style.top = '';
placeholder.style.height = '';
}
};
window.addEventListener('scroll', stick);
}
});
ready('backToTop', '.footer', function (footer) {
var back = document.createElement('div');
var footSize = inViewport(footer);
var adjustRight = function adjustRight() {
var contSize = parseInt(getComputedStyle(footer.querySelector('.footer-main')).maxWidth);
var wWidth = window.innerWidth;
var right = wWidth / 2 - contSize / 2;
if (right < 20) {
right = 20;
}
back.style.right = right + 'px';
};
var adjustBottom = function adjustBottom() {
var padding = 20;
footSize = inViewport(footer);
back.style.bottom = footSize + padding + 'px';
};
var adjustVis = function adjustVis() {
if (window.pageYOffset < 200) {
back.classList.add('is-hidden');
} else {
back.classList.remove('is-hidden');
}
};
var scroll = function scroll() {
window.scrollTo({
top: 0,
behavior: 'smooth'
});
};
back.classList.add('back');
back.insertAdjacentHTML('afterbegin', '');
back.addEventListener('click', scroll);
window.addEventListener('scroll', adjustBottom);
window.addEventListener('scroll', adjustVis);
window.addEventListener('resize', adjustRight);
window.addEventListener('orientationchange', adjustRight);
adjustBottom();
adjustRight();
adjustVis();
footer.insertAdjacentElement('beforebegin', back);
});
ready('profileTabs', '.profileTabs', function (tabs) {
var profiles = [].concat(_toConsumableArray(tabs.querySelectorAll('.profile')));
var contents = [].concat(_toConsumableArray(tabs.querySelectorAll('.profileTabs-content')));
var sibs = void 0;
var index = void 0;
var _loop3 = function _loop3(profile) {
profile.addEventListener('click', function () {
// scrollIntoView doesn't work well in IE11
//profile.scrollIntoView({behavior: 'smooth})
sibs = profiles.filter(function (sib) {
return sib != profile;
});
var _iteratorNormalCompletion9 = true;
var _didIteratorError9 = false;
var _iteratorError9 = undefined;
try {
for (var _iterator9 = sibs[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
var sib = _step9.value;
sib.classList.remove('is-active');
}
} catch (err) {
_didIteratorError9 = true;
_iteratorError9 = err;
} finally {
try {
if (!_iteratorNormalCompletion9 && _iterator9.return) {
_iterator9.return();
}
} finally {
if (_didIteratorError9) {
throw _iteratorError9;
}
}
}
profile.classList.add('is-active');
index = profiles.indexOf(profile);
var _iteratorNormalCompletion10 = true;
var _didIteratorError10 = false;
var _iteratorError10 = undefined;
try {
for (var _iterator10 = contents[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
var content = _step10.value;
content.classList.remove('is-active');
}
} catch (err) {
_didIteratorError10 = true;
_iteratorError10 = err;
} finally {
try {
if (!_iteratorNormalCompletion10 && _iterator10.return) {
_iterator10.return();
}
} finally {
if (_didIteratorError10) {
throw _iteratorError10;
}
}
}
contents[index].classList.add('is-active');
});
};
var _iteratorNormalCompletion8 = true;
var _didIteratorError8 = false;
var _iteratorError8 = undefined;
try {
for (var _iterator8 = profiles[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
var profile = _step8.value;
_loop3(profile);
}
} catch (err) {
_didIteratorError8 = true;
_iteratorError8 = err;
} finally {
try {
if (!_iteratorNormalCompletion8 && _iterator8.return) {
_iterator8.return();
}
} finally {
if (_didIteratorError8) {
throw _iteratorError8;
}
}
}
});
ready('profileSider', '.profileSlider-inner', function (slide) {
var slides = [].concat(_toConsumableArray(slide.querySelectorAll('.profile')));
var index = 1;
var glide = new Glide(slide, {
type: 'carousel',
startAt: 1,
perView: 3,
focusAt: 'center',
animationDuration: 500,
animationTimingFunction: 'ease',
dragThreshold: false,
swipeThreshold: 10,
perTouch: 2,
gap: 0,
breakpoints: {
850: {
perView: 1,
dragThreshold: true
}
}
}).mount();
glide.on('swipe.start', function (e) {
document.ontouchmove = function (e) {
e.preventDefault();
};
});
glide.on('swipe.end', function () {
document.ontouchmove = function (e) {
return true;
};
});
glide.on('run', function () {
var diff = glide.index - index;
slides[index].classList.remove('glide__slide--active');
if (diff === -1 || diff === slides.length - 1) {
slides[index].previousElementSibling.classList.add('glide__slide--active');
index = endCheck(index - 1);
} else if (diff === 1 || diff === -(slides.length - 1)) {
slides[index].nextElementSibling.classList.add('glide__slide--active');
index = endCheck(index + 1);
slides[glide.index].classList.add('glide__slide--active');
}
slides[glide.index].classList.add('glide__slide--active');
});
var endCheck = function endCheck(n) {
if (n > slides.length - 1) {
return 0;
} else if (n < 0) {
return slides.length - 1;
}
return n;
};
});
ready('newsSlider', '.newsSlider-inner', function (slide) {
var slides = [].concat(_toConsumableArray(slide.querySelectorAll('.newsCard')));
var index = 1;
var glide = new Glide(slide, {
type: 'carousel',
perView: 1,
focusAt: 'center',
animationDuration: 0,
animationTimingFunction: 'ease',
dragThreshold: false,
swipeThreshold: 10,
perTouch: 1,
breakpoints: {
850: {
dragThreshold: true
}
}
}).mount();
glide.on('swipe.start', function (e) {
document.ontouchmove = function (e) {
e.preventDefault();
};
});
glide.on('swipe.end', function () {
document.ontouchmove = function (e) {
return true;
};
});
glide.on('run', function () {
setTimeout(function () {
var diff = glide.index - index;
slides[index].classList.remove('glide__slide--active');
if (diff === -1 || diff === slides.length - 1) {
slides[index].previousElementSibling.classList.add('glide__slide--active');
index = endCheck(index - 1);
} else if (diff === 1 || diff === -(slides.length - 1)) {
slides[index].nextElementSibling.classList.add('glide__slide--active');
index = endCheck(index + 1);
slides[glide.index].classList.add('glide__slide--active');
}
slides[glide.index].classList.add('glide__slide--active');
}, 250);
});
var endCheck = function endCheck(n) {
if (n > slides.length - 1) {
return 0;
} else if (n < 0) {
return slides.length - 1;
}
return n;
};
});
ready('tileSlider', '.tileSlider-inner', function (slide) {
var slides = [].concat(_toConsumableArray(slide.querySelectorAll('.tile-slide')));
// const dotContainer = slide.querySelector('.tileSlider-dots');
var index = 1;
// for (let i = 0; i < slides.length; i++) {
// dotContainer.insertAdjacentHTML('beforeend', ``);
// }
var glide = new Glide(slide, {
type: 'carousel',
startAt: 1,
focusAt: 'center',
animationDuration: 1000,
animationTimingFunction: 'ease',
perView: 3,
perTouch: 1,
gap: 60,
dragThreshold: false,
swipeThreshold: 10,
breakpoints: {
1600: {
gap: 160,
perView: 3
},
1300: {
gap: 60,
perView: 2
},
1050: {
gap: 160,
perView: 1
}
}
}).mount();
glide.on('swipe.start', function (e) {
document.ontouchmove = function (e) {
e.preventDefault();
};
});
glide.on('swipe.end', function () {
document.ontouchmove = function (e) {
return true;
};
});
glide.on('run', function () {
var diff = glide.index - index;
slides[index].classList.remove('glide__slide--active');
if (diff === -1 || diff === slides.length - 1) {
slides[index].previousElementSibling.classList.add('glide__slide--active');
index = endCheck(index - 1);
} else if (diff === 1 || diff === -(slides.length - 1)) {
slides[index].nextElementSibling.classList.add('glide__slide--active');
index = endCheck(index + 1);
slides[glide.index].classList.add('glide__slide--active');
}
slides[glide.index].classList.add('glide__slide--active');
});
var endCheck = function endCheck(n) {
if (n > slides.length - 1) {
return 0;
} else if (n < 0) {
return slides.length - 1;
}
return n;
};
});
// search filter elements
ready('filter-container', '.filter-container', function (filter__container) {
var accordionItemAll = document.querySelectorAll('.accordion-item');
var filterContainer = document.querySelector('.filter-container');
var mdBreakpoint = window.matchMedia("(max-width: 991px)");
var expandButton = document.querySelector('.filter__expand');
var expandText = document.querySelector('.filter__expand__text');
var filterBlock = document.querySelector('.filter__block');
var filterContainer = document.querySelector('.filter-container');
var filterBlockClear = document.querySelector('.filter__block-clear');
var filterInputsAll = document.querySelectorAll('.formCheckbox input');
var expanded = false;
if (filterContainer) {
if (mdBreakpoint.matches) {
$('.accordion-item').removeClass('is-open');
}
}
mdBreakpoint.addListener(function () {
if (filterContainer) {
if (mdBreakpoint.matches) {
$('.accordion-item').removeClass('is-open');
}
}
});
$('.formCheckbox').find("input").bind('click', function () {
if ($(this).closest('.formCheckbox').hasClass('select-siblings')) {
if ($(this).is(':checked')) {
$(this).closest('.select-siblings').siblings(".formCheckbox").find("input").prop("checked", true);
$(this).closest('.select-siblings').addClass('checked-on');
console.log('checked');
} else {
$(this).closest('.select-siblings').removeClass('checked-on');
console.log('not checked');
}
} else {
var parentSelectAll = $(this).closest('.formCheckbox').siblings('.select-siblings');
if (parentSelectAll.hasClass('checked-on')) {
parentSelectAll.find("input").prop("checked", false);
parentSelectAll.removeClass('checked-on');
}
}
});
expandButton.addEventListener('click', function () {
expanded = !expanded;
expanded ? expandText.textContent = 'Collapse All' : expandText.textContent = 'Expand All';
filterBlock.classList.toggle('filter__block--expanded');
$('.accordion-theme2').toggleClass('filter__accordion--expanded');
$('.filterSubmit-wrap').toggleClass('filterSubmit-wrap--expanded');
filterContainer.classList.toggle('filter-container--expanded');
});
filterBlockClear.addEventListener('click', function () {
var filterItemsAll = document.querySelectorAll('.filter__block-item');
if (filterItemsAll) {
Array.from(filterItemsAll).forEach(function (item) {
item.parentNode.removeChild(item);
});
}
for (var i = 0; i < filterInputsAll.length; i++) {
filterInputsAll[i].checked = false;
}
});
});
ready('scheduleTabs', '.schedule', function (tabs) {
var scheduleDays = [].concat(_toConsumableArray(tabs.querySelectorAll('.schedule-days-item')));
var contents = [].concat(_toConsumableArray(tabs.querySelectorAll('.schedule-day')));
var sibs = void 0;
var index = void 0;
var _loop4 = function _loop4(scheduleDay) {
scheduleDay.addEventListener('click', function () {
sibs = scheduleDays.filter(function (sib) {
return sib != scheduleDay;
});
var _iteratorNormalCompletion12 = true;
var _didIteratorError12 = false;
var _iteratorError12 = undefined;
try {
for (var _iterator12 = sibs[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
var sib = _step12.value;
sib.classList.remove('isActive');
}
} catch (err) {
_didIteratorError12 = true;
_iteratorError12 = err;
} finally {
try {
if (!_iteratorNormalCompletion12 && _iterator12.return) {
_iterator12.return();
}
} finally {
if (_didIteratorError12) {
throw _iteratorError12;
}
}
}
scheduleDay.classList.add('isActive');
index = scheduleDays.indexOf(scheduleDay);
var _iteratorNormalCompletion13 = true;
var _didIteratorError13 = false;
var _iteratorError13 = undefined;
try {
for (var _iterator13 = contents[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) {
var content = _step13.value;
content.classList.remove('isActive');
}
} catch (err) {
_didIteratorError13 = true;
_iteratorError13 = err;
} finally {
try {
if (!_iteratorNormalCompletion13 && _iterator13.return) {
_iterator13.return();
}
} finally {
if (_didIteratorError13) {
throw _iteratorError13;
}
}
}
contents[index].classList.add('isActive');
if (window.outerWidth < 992) {
var elmnt = document.getElementById("js-scheduleScrollTo");
elmnt.scrollIntoView(true);
}
});
};
var _iteratorNormalCompletion11 = true;
var _didIteratorError11 = false;
var _iteratorError11 = undefined;
try {
for (var _iterator11 = scheduleDays[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) {
var scheduleDay = _step11.value;
_loop4(scheduleDay);
}
} catch (err) {
_didIteratorError11 = true;
_iteratorError11 = err;
} finally {
try {
if (!_iteratorNormalCompletion11 && _iterator11.return) {
_iterator11.return();
}
} finally {
if (_didIteratorError11) {
throw _iteratorError11;
}
}
}
});
// basic accordion
ready('accordion', '.accordion', function (accordion) {
//toggle the "is-open" class on the links with click
var $trigger = $(accordion).find('.accordion-trigger');
$trigger.click(function () {
if (!$(this).parent().hasClass('is-open')) {
$(this).closest('.accordion').find('.is-open').removeClass('is-open');
$(this).parent().addClass('is-open is-opening');
setTimeout(function () {
$('.accordion-item').removeClass('is-opening');
}, 800);
if ($(window).outerWidth() < 768) {
setTimeout(function () {
var $headerHeight = $('.header').outerHeight();
$('html, body').animate({
scrollTop: $('.accordion-item.is-open').offset().top - $headerHeight
}, 500);
}, 250);
}
} else {
$(this).parent().removeClass('is-open');
}
});
if (window.location.hash.length) {
var $item = $('.accordion-item[data-hash="' + window.location.hash.slice(1) + '"]');
$item.closest('.accordion').find('.is-open').removeClass('is-open');
$item.addClass('is-open');
setTimeout(function () {
var $headerHeight = $('.header').outerHeight();
$('html, body').animate({
scrollTop: $('.accordion-item.is-open').offset().top - $headerHeight
}, 500);
}, 250);
}
});;