/**
* Total Custom JS
*
* @package Total
*
* Distributed under the MIT license - http://opensource.org/licenses/MIT
*/
jQuery(function ($) {
/* Sticky Header */
var hHeight = 0;
var adminbarHeight = 0;
if ($('body').hasClass('admin-bar')) {
adminbarHeight = 32;
}
var $stickyHeader = $('.ht-header');
if ($('.ht-sticky-header').length > 0 && $stickyHeader.length > 0) {
hHeight = $stickyHeader.outerHeight();
$pageWrapper = $('#ht-content');
var hOffset = $stickyHeader.offset().top;
var offset = hOffset - adminbarHeight + 2;
$stickyHeader.headroom({
offset: offset,
onTop: function () {
$pageWrapper.css({
paddingTop: 0
});
},
onNotTop: function () {
$pageWrapper.css({
paddingTop: hHeight + 'px'
});
}
});
}
if ($('#ht-bx-slider .ht-slide').length > 0) {
$('#ht-bx-slider').owlCarousel({
rtl: JSON.parse(total_localize.is_rtl),
autoplay: true,
items: 1,
loop: true,
nav: true,
dots: false,
autoplayTimeout: 7000,
animateOut: 'fadeOut'
});
}
$('.ht-testimonial-slider').owlCarousel({
rtl: JSON.parse(total_localize.is_rtl),
autoplay: true,
items: 1,
loop: true,
nav: true,
dots: false,
autoplayTimeout: 7000,
navText: ['', '']
});
$(".ht-logo-slider").owlCarousel({
rtl: JSON.parse(total_localize.is_rtl),
autoplay: true,
items: 5,
loop: true,
nav: false,
dots: false,
autoplayTimeout: 7000,
responsive: {
0: {
items: 2,
},
768: {
items: 3,
},
979: {
items: 4,
},
1200: {
items: 5,
}
}
});
$('.ht-portfolio-image').nivoLightbox();
var sf = $('.ht-menu > ul').superfish({
delay: 500, // one second delay on mouseout
animation: {opacity: 'show', height: 'show'}, // fade-in and slide-down animation
speed: 'fast', // faster animation speed
});
$(window).resize(function () {
if ($(window).width() < 1000) {
sf.superfish('destroy');
$('.ht-dropdown').removeClass('ht-opened');
} else {
sf.superfish('init');
}
}).resize();
$('.ht-menu .menu-item-has-children > a').append('');
$('.ht-dropdown').on('click', function () {
$(this).parent('a').next('ul').slideToggle();
$(this).toggleClass('ht-opened');
return false;
})
$('.ht-service-excerpt h5').click(function () {
$(this).next('.ht-service-text').slideToggle();
$(this).parents('.ht-service-post').toggleClass('ht-active');
});
$('.ht-service-icon').click(function () {
$(this).next('.ht-service-excerpt').find('.ht-service-text').slideToggle();
$(this).parent('.ht-service-post').toggleClass('ht-active');
});
$('.toggle-bar').click(function () {
$(this).next('.ht-menu').slideToggle();
totalKeyboardLoop($('.ht-main-navigation'));
return false;
});
setTimeout(function () {
$.stellar({
horizontalScrolling: false,
responsive: true,
});
}, 3000);
$('.ht-team-counter-wrap').waypoint(function () {
setTimeout(function () {
$('.odometer1').html($('.odometer1').data('count'));
}, 500);
setTimeout(function () {
$('.odometer2').html($('.odometer2').data('count'));
}, 1000);
setTimeout(function () {
$('.odometer3').html($('.odometer3').data('count'));
}, 1500);
setTimeout(function () {
$('.odometer4').html($('.odometer4').data('count'));
}, 2000);
}, {
offset: 800,
triggerOnce: true
});
if ($('.ht-sticky-header').length > 0) {
var onpageOffset = 74;
} else {
onpageOffset = 0
}
$('.ht-sticky-header .ht-menu').onePageNav({
currentClass: 'current',
changeHash: false,
scrollSpeed: 750,
scrollThreshold: 0.1,
scrollOffset: onpageOffset
});
// *only* if we have anchor on the url
var anchorId = window.location.hash;
anchorId = anchorId.replace('/', '');
if ($(anchorId).length > 0) {
$('html, body').animate({
scrollTop: $(anchorId).offset().top - onpageOffset
}, 1000);
}
$(window).scroll(function () {
if ($(window).scrollTop() > 300) {
$('#ht-back-top').removeClass('ht-hide');
} else {
$('#ht-back-top').addClass('ht-hide');
}
});
$('#ht-back-top').click(function () {
$('html,body').animate({scrollTop: 0}, 800);
});
if ($('.ht-portfolio-posts').length > 0) {
var first_class = $('.ht-portfolio-cat-name:first').data('filter');
$('.ht-portfolio-cat-name:first').addClass('active');
var $container = $('.ht-portfolio-posts').imagesLoaded(function () {
$container.isotope({
itemSelector: '.ht-portfolio',
filter: first_class
});
var elems = $container.isotope('getFilteredItemElements');
elems.forEach(function (item, index) {
if (index == 0 || index == 4) {
$(item).addClass('wide');
var bg = $(item).find('.ht-portfolio-image').attr('href');
$(item).find('.ht-portfolio-wrap').css('background-image', 'url(' + bg + ')');
} else {
$(item).removeClass('wide');
}
});
GetMasonary();
setTimeout(function () {
$container.isotope({
itemSelector: '.ht-portfolio',
filter: first_class,
});
}, 2000);
$(window).on('resize', function () {
GetMasonary();
});
});
$('.ht-portfolio-cat-name-list').on('click', '.ht-portfolio-cat-name', function () {
var filterValue = $(this).attr('data-filter');
$container.isotope({filter: filterValue});
var elems = $container.isotope('getFilteredItemElements');
elems.forEach(function (item, index) {
if (index == 0 || index == 4) {
$(item).addClass('wide');
var bg = $(item).find('.ht-portfolio-image').attr('href');
$(item).find('.ht-portfolio-wrap').css('background-image', 'url(' + bg + ')');
} else {
$(item).removeClass('wide');
}
});
GetMasonary();
var filterValue = $(this).attr('data-filter');
$container.isotope({filter: filterValue});
$('.ht-portfolio-cat-name').removeClass('active');
$(this).addClass('active');
});
function GetMasonary() {
var winWidth = window.innerWidth;
if (winWidth > 580) {
$container.find('.ht-portfolio').each(function () {
var image_width = $(this).find('img').width();
if ($(this).hasClass('wide')) {
$(this).find('.ht-portfolio-wrap').css({
height: (image_width * 2) + 15 + 'px'
});
} else {
$(this).find('.ht-portfolio-wrap').css({
height: image_width + 'px'
});
}
});
} else {
$container.find('.ht-portfolio').each(function () {
var image_width = $(this).find('img').width();
if ($(this).hasClass('wide')) {
$(this).find('.ht-portfolio-wrap').css({
height: (image_width * 2) + 8 + 'px'
});
} else {
$(this).find('.ht-portfolio-wrap').css({
height: image_width + 'px'
});
}
});
}
}
}
var totalKeyboardLoop = function (elem) {
var tabbable = elem.find('select, input, textarea, button, a').filter(':visible');
var firstTabbable = tabbable.first();
var lastTabbable = tabbable.last();
/*set focus on first input*/
firstTabbable.focus();
/*redirect last tab to first input*/
lastTabbable.on('keydown', function (e) {
if ((e.which === 9 && !e.shiftKey)) {
e.preventDefault();
firstTabbable.focus();
}
});
/*redirect first shift+tab to last input*/
firstTabbable.on('keydown', function (e) {
if ((e.which === 9 && e.shiftKey)) {
e.preventDefault();
lastTabbable.focus();
}
});
/* allow escape key to close insiders div */
elem.on('keyup', function (e) {
if (e.keyCode === 27) {
elem.hide();
}
;
});
};
});