$(document).ready(function() {
var $root = $('html, body');
var mql = window.matchMedia("screen and (max-width: 992px)");
mediaqueryresponse(mql);
mql.addListener(mediaqueryresponse);
var mqt = window.matchMedia("screen and (max-width: 768px)");
mediaquerytable(mqt);
mqt.addListener(mediaquerytable);
function mediaquerytable(mqt) {
if(mqt.matches) {
$('.flex-table.responsive tr td').each(function(){
if($.trim($(this).html()) == "") {
$(this).hide();
}
});
} else {
$('.flex-table.responsive tr td').show();
}
}
var scrollt = 110;
function mediaqueryresponse(mql) {
if(mql.matches) {
$(".footer-navigation .heading, .menu-navigation .heading, .widget .subheading").attr("data-toggle", "collapse");
$(".topheader .menu-nav, .site-menu .toggle").removeClass("active");
scrollt = 40;
} else {
$(".footer-navigation .heading[data-toggle='collapse'], .menu-navigation .heading[data-toggle='collapse'], .widget .subheading[data-toggle='collapse']").addClass("collapsed").removeAttr("data-toggle");
$(".panel-collapse.show, .toggle-bar").removeClass("show");
$(".page-overlay, .topheader .menu-nav").removeClass("active");
$(".navbar-collapse").collapse("hide");
scrollt = 110;
}
}
$(window).on("load", function(event) {
var hs = location.hash.replace(/#/, '');
if(hs != '') {
if(window.matchMedia("screen and (max-width: 768px)").matches) {
var margin = 55;
} else {
var margin = 140;
}
target = $('[name=' + hs + ']');
if(target.length == 0) {
target = $('#' + hs);
}
if(target.length) {
event.preventDefault();
$root.stop().animate({
scrollTop: target.offset().top-margin
}, 100);
return false;
}
}
});
$("body").on("keypress", "[role='button']", function(event) {
if(event.keyCode == 13 || event.keyCode == 32) {
// click element
$(this).click();
// toggle aria-expanded if set
if($(this).not('.toggle').attr("aria-expanded")) {
$(this).attr('aria-expanded', function(_, attr) { return !(attr == 'true') });
}
return false;
}
});
// tab out of megamenu desktop/mobile
$('#navbarNavMenu > div:last-child > div:last-child .menu-navigation .menu-items li:last-child').keydown(function(e) {
if(e.which == 9 && e.shiftKey) {
// do nothing
} else if(e.which == 9) {
if(window.matchMedia("screen and (max-width: 992px)").matches) {
// mobile menu
$(".navbar-toggler").trigger('click');
} else {
$(".site-menu").trigger('click');
}
}
});
$('.nav-search > form > button.home-search').keydown(function(e) {
if(e.which == 9 && e.shiftKey) {
// do nothing
} else if(e.which == 9) {
if(window.matchMedia("screen and (max-width: 992px)").matches) {
// mobile menu
$(".navbar-toggler").trigger('click');
}
}
});
// tab out of last megamenu ul (mobile only)
$('#navbarNavMenu > div:last-child > div:last-child .menu-navigation .heading').keydown(function(e) {
if(e.which == 9 && e.shiftKey) {
// do nothing
} else if(e.which == 9 && $(this).hasClass("collapsed")) {
if(window.matchMedia("screen and (max-width: 992px)").matches) {
// mobile menu
$(".navbar-toggler").trigger('click');
}
}
});
$(".topheader").on('keyup', function(e) {
if(e.keyCode === 27) {
if(window.matchMedia("screen and (max-width: 992px)").matches) {
$(".navbar-toggler").trigger('click');
}
}
e.stopPropagation();
});
// smooth scroll to anchor and focus
$('a[href*="#"]').not('[href="#"]').not('[href="#0"]').not('[data-toggle="modal"]').not('[role="tab"]').not('.skip').not('.col-links__arrow').click(function(event) {
if(location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')) {
let target = $('[name=' + this.hash.slice(1) + ']');
if(target.length == 0) {
target = $('#' + this.hash.slice(1));
}
if(target.length) {
event.preventDefault();
target.attr('tabindex', '-1');
target.one('blur', function () {
target.removeAttribute('tabindex');
});
const focusTarget = () => $target.trigger('focus');
// Use scrollend if available, otherwise fall back to a timeout
if ('onscrollend' in window) {
$(window).one('scrollend', focusTarget);
} else {
setTimeout(focusTarget, 500); // Fallback for Safari
}
const margin = window.matchMedia('screen and (max-width: 768px)').matches ? 55 : 140;
$root.stop().animate({
scrollTop: target.offset().top-margin
}, 100);
}
}
});
$("[data-scroll]").click(function(event) {
var target = $($(this).data("scroll"));
if(target.length) {
event.preventDefault();
$root.stop().animate({
scrollTop: target.offset().top - 90
}, 150);
target.attr('tabindex', '-1');
target.focus();
return false;
}
});
$(window).scroll(function() {
if($(window).scrollTop() < 500) {
$('#top-page').stop().hide();
} else if($(window).scrollTop() + $(window).height() < $(document).height() - $(".footer").height()) {
$('.top-page').css({"position": "fixed", "bottom": "40px"});
$('#top-page').stop().show();
} else {
$('.top-page').css({"position": "sticky", "margin-left": "auto", "margin-top": "-15px"});
$('#top-page').stop().show();
}
});
$("#top-page").click(function(event) {
event.preventDefault();
if($(this).is("[data-scroll]")) {
var target = $($(this).data("scroll"));
if(target.length) {
$root.stop().animate({
scrollTop: target.offset().top - 100
}, 150);
} else {
$root.stop().animate({ scrollTop: 0 }, 150);
}
} else {
$root.stop().animate({ scrollTop: 0 }, 150);
}
});
// add table headers to each column on mobile
var resT = $('.responsive__table2');
if(resT.length > 0) {
$('.responsive__table2 tbody tr').each(function() {
$(this).find('td').each(function(s) {
th = $(this).parent().parent().parent().find('thead tr th').eq(s);
if($.trim(th.text()) != '') {
$(this).prepend('
'+th.text()+'
');
}
})
});
$('.responsive__table2 tfoot tr').each(function() {
$(this).find('th').each(function(s) {
th = $(this).parent().parent().parent().find('thead tr th').eq(s);
if($.trim(th.text()) != '') {
$(this).prepend(''+th.text()+'
');
}
})
});
}
// accordion toggle
$('.accordion-toggle').click(function(){
$(this).next().slideToggle('fast');
if($(this).find('span').hasClass('icon-arrow-down')) {
$(this).find('span').removeClass('icon-arrow-down').addClass('icon-arrow-up');
} else {
$(this).find('span').removeClass('icon-arrow-up').addClass('icon-arrow-down');
}
$(".accordion-content").not($(this).next()).slideUp('fast');
$(".accordion-toggle").not($(this)).find('span').removeClass('icon-arrow-up').addClass('icon-arrow-down');
});
// accordion toggle 2
$('.accordion .toggle').click(function(e) {
e.preventDefault();
var $this = $(this);
if($this.next().hasClass('show')) {
$this.next().removeClass('show');
$this.removeClass("open");
$this.next().slideUp("fast");
} else {
$this.parent().parent().find('.toggle').removeClass('open').attr('aria-expanded', 'false');
$this.parent().parent().find('.tcontent').removeClass('show').attr('aria-hidden', 'true');
$this.parent().parent().find('.tcontent').slideUp(350);
$this.next().toggleClass('show');
$this.toggleClass("open");
$this.next().slideToggle("fast");
}
$this.attr('aria-expanded', function(_, attr) { return !(attr == 'true') });
$this.next().attr('aria-hidden', function(_, attr) { return (attr == 'false') });
});
$('.content__more-btn').click(function(e) {
e.preventDefault();
$('.content__less-btn').removeClass("hide").addClass("show");
$(this).removeClass("show").addClass("hide");
$('.content__fullcontent').addClass("active");
});
$('.content__less-btn').click(function(e) {
e.preventDefault();
$('.content__more-btn').removeClass("hide").addClass("show");
$(this).removeClass("show").addClass("hide");
$('.content__fullcontent').removeClass("active");
});
$(document).click(function(event) {
if($(".site-menu .toggle").hasClass("active")) {
if($(event.target).closest('.menu-nav').length === 0) {
$(".site-menu").trigger('click');
}
}
if($(".page-overlay").hasClass("active")) {
if($(event.target).closest('.topheader').length === 0) {
$(".navbar-toggler").trigger('click');
}
}
});
$(".navbar-toggler").click(function(e) {
if($(this).hasClass("collapsed")) {
$(this).parent().addClass("show");
$(".page-overlay").addClass("active");
} else {
$(this).parent().removeClass("show");
$(".page-overlay").removeClass("active");
}
});
$(".site-menu").click(function(e) {
e.preventDefault();
e.stopPropagation();
$(".menu-nav").toggleClass("active");
$(this).children(".toggle").toggleClass("active");
});
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = window.location.search.substring(1),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
}
}
};
$.fn.screenDimensions = function($newSettings){
var $html = $('html'),
$defaultSettings = {
desktop:960,
tablet:768,
mobile:640
};
var $el = $(this);
var $settings = $.extend($defaultSettings , $newSettings);
var $oldClass = false;
var that = this;
this.status = '';
function checkForScreenType($w){
if($w >= $settings.tablet) {
return 'screen-desktop';
} else if( $w <= $settings.tablet && $w > $settings.mobile ) {
return 'screen-tablet';
} else if( $w <= $settings.mobile ) {
return 'screen-mobile';
} else {
return false;
}
}
$el.on('resize' , function(ev){
var self = $(ev.currentTarget);
var w_width = ev.currentTarget.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
var w_heigth = ev.currentTarget.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
var $screen = checkForScreenType(w_width);
if($screen){
if( !$html.hasClass( $screen ) ){
$html.addClass( $screen );
if($oldClass){
$html.removeClass($oldClass);
}
$oldClass = $screen;
self.trigger($screen);
that.status = $screen;
}
}
}).trigger('resize');
return this;
}
$screenDimensions = $(window).screenDimensions();
if($(".swiper").length) {
new Swiper('.swiper', {
loop: true,
preventClicks: true,
a11y: {
slideLabelMessage: 'slide {{index}} out of {{slidesLength}}',
wrapperLiveRegion: false
},
pagination: {
el: '.pagination'
},
navigation: {
nextEl: '.button-next',
prevEl: '.button-prev'
}
});
}
window.newSlider = function($el, $options) {
var slider = $el;
var options = $options;
if(slider.is("[data-slick]")) {
options = slider.data("slick");
}
if(slider.length > 0){
slider.each(function() {
var current = $(this);
var slides = current.children();
var h = 0;
slides.each(function(){
var newH = $(this).outerHeight(true);
if(newH > h){
h = newH;
}
});
slides.css({
'min-height': h
});
if(slides.length > 1){
if(current.hasClass("two-block") || current.children(":first").is("[class]") && current.children(":first").attr("class").match(/col-.*?-6/)) {
//console.log("two-block");
var slideShow = 2;
var slideShowL = 2;
var slideShowM = 2;
var slideShowS = 1;
} else if(current.hasClass("three-block") || current.children(":first").is("[class]") && current.children(":first").attr("class").match(/col-.*?-4/)) {
//console.log("three-block");
var slideShow = 3;
var slideShowL = 3;
var slideShowM = 2;
var slideShowS = 1;
} else if(current.hasClass("four-block") || current.children(":first").is("[class]") && current.children(":first").attr("class").match(/col-.*?-3/)) {
//console.log("four-block");
var slideShow = 4;
var slideShowL = 3;
var slideShowM = 2;
var slideShowS = 1;
} else if(current.hasClass("five-block")) {
//console.log("five-block");
var slideShow = 5;
var slideShowL = 3;
var slideShowM = 2;
var slideShowS = 1;
} else {
//console.log("default");
var slideShow = 1;
var slideShowL = 1;
var slideShowM = 1;
var slideShowS = 1;
}
if(typeof options != 'undefined') {
$.each(options, function(index, item) {
if(index == "slideShow") {
slideShow = item;
} else if(index == "slideShowL") {
slideShowL = item;
} else if(index == "slideShowM") {
slideShowM = item;
} else if(index == "slideShowS") {
slideShowS = item;
}
});
}
var sliderSettings = {
slidesToShow: slideShow,
slidesToScroll: slideShow,
arrows: false,
dots: true,
autoplay: false,
responsive: [
{
breakpoint: 1280,
settings: {
slidesToShow: slideShowL,
slidesToScroll: slideShowL,
arrows: false,
dots: true
}
},
{
breakpoint: 992,
settings: {
slidesToShow: slideShowM,
slidesToScroll: slideShowM,
arrows: false,
dots: true
}
},
{
breakpoint: 768,
settings: {
slidesToShow: slideShowS,
slidesToScroll: slideShowS,
arrows: false,
dots: true
}
}
]
};
if(typeof options != 'undefined') {
$.each(options, function(index, item) {
if(index == "slideShow") {
} else if(index == "slideShowL") {
} else if(index == "slideShowM") {
} else if(index == "slideShowS") {
} else {
sliderSettings[index] = item;
}
});
}
if(current.hasClass("controls")) {
sliderSettings["arrows"] = true;
sliderSettings["responsive"][0]["settings"]["arrows"] = true;
sliderSettings["responsive"][1]["settings"]["arrows"] = true;
sliderSettings["responsive"][2]["settings"]["arrows"] = true;
}
if(current.hasClass("auto")) {
sliderSettings["autoplay"] = true;
}
if(current.hasClass("pager-off")) {
sliderSettings["dots"] = false;
sliderSettings["responsive"][0]["settings"]["dots"] = false;
sliderSettings["responsive"][1]["settings"]["dots"] = false;
sliderSettings["responsive"][2]["settings"]["dots"] = false;
}
if(current.hasClass("infinite-off")) {
sliderSettings["infinite"] = false;
}
if(current.hasClass("custom-buttons")) {
sliderSettings["arrows"] = true;
sliderSettings["appendArrows"] = current.parent().parent().find('.buttons .custom');
sliderSettings["prevArrow"] = current.parent().parent().find('.buttons .custom .prev');
sliderSettings["nextArrow"] = current.parent().parent().find('.buttons .custom .next');
}
if(sliderSettings["arrows"] == true && !(current.hasClass("custom-buttons"))) {
sliderSettings["prevArrow"] = '';
sliderSettings["nextArrow"] = '';
}
current.slick(sliderSettings);
if(current.hasClass("desktop-off")) {
sliderSettings["responsive"] = "";
if($screenDimensions.status == 'screen-desktop') {
current.slick("unslick");
}
$(window).on('screen-desktop', function(){
current.slick("unslick");
});
$(window).on('screen-tablet screen-mobile', function(){
if(!current.hasClass('slick-initialized')) {
current.slick(sliderSettings);
}
});
}
}
});
}
}
//var $sliders = $('.home-page-header-slider');
//newSlider($sliders);
var slider = $('.home-page-header-s