(function($) {
"use strict";
//Hide Loading Box (Preloader)
function handlePreloader() {
if($('.preloader').length){
$('.preloader').delay(200).fadeOut(500);
}
}
//Update Header Style and Scroll to Top
function headerStyle() {
if($('.main-header').length){
var windowpos = $(window).scrollTop();
var siteHeader = $('.main-header');
var scrollLink = $('.scroll-to-top');
var HeaderHight = $('.main-header').height();
if (windowpos >= HeaderHight) {
siteHeader.addClass('fixed-header');
scrollLink.fadeIn(300);
} else {
siteHeader.removeClass('fixed-header');
scrollLink.fadeOut(300);
}
}
}
headerStyle();
//Submenu Dropdown Toggle
if($('.main-header li.dropdown ul').length){
$('.main-header li.dropdown').append('
');
//Dropdown Button
$('.main-header li.dropdown .dropdown-btn').on('click', function() {
$(this).prev('ul').slideToggle(500);
});
//Dropdown Menu / Fullscreen Nav
//$('.fullscreen-menu .navigation li.dropdown > a').on('click', function() {
//$(this).next('ul').slideToggle(500);
//});
//Disable dropdown parent link
$('.navigation li.dropdown > a').on('click', function(e) {
e.preventDefault();
});
//Disable dropdown parent link
$('.main-header .navigation li.dropdown > a,.hidden-bar .side-menu li.dropdown > a').on('click', function(e) {
e.preventDefault();
});
//Main Menu Fade Toggle
$('.main-header .menu-toggler').on('click', function() {
$('.main-header .main-menu').fadeToggle(300);
});
}
//Dropdown Menu / Fullscreen Nav
$('.fullscreen-menu .navigation li.dropdown > a').on('click', function() {
$(this).next('ul').slideToggle(500);
$(this).parent('li.dropdown').siblings("li").find('ul').slideUp(500);
});
//Mobile Nav Hide Show
if($('.mobile-menu').length){
$('.mobile-menu .menu-box').mCustomScrollbar();
var mobileMenuContent = $('.main-header .nav-outer .main-menu').html();
$('.mobile-menu .menu-box .menu-outer').append(mobileMenuContent);
$('.sticky-header .main-menu').append(mobileMenuContent);
//Dropdown Button
$('.mobile-menu li.dropdown .dropdown-btn').on('click', function() {
$(this).toggleClass('open');
$(this).prev('ul').slideToggle(500);
});
//Menu Toggle Btn
$('.mobile-nav-toggler').on('click', function() {
$('body').addClass('mobile-menu-visible');
});
//Menu Toggle Btn
$('.mobile-menu .menu-backdrop,.mobile-menu .close-btn').on('click', function() {
$('body').removeClass('mobile-menu-visible');
});
}
//Hidden Sidebar
if ($('.hidden-bar,.fullscreen-menu').length) {
var hiddenBar = $('.hidden-bar');
var hiddenBarOpener = $('.nav-toggler');
var hiddenBarCloser = $('.hidden-bar-closer,.close-menu');
$('.hidden-bar-wrapper').mCustomScrollbar();
//Show Sidebar
hiddenBarOpener.on('click', function () {
$('body').addClass('visible-menu-bar');
hiddenBar.addClass('visible-sidebar');
});
//Hide Sidebar
hiddenBarCloser.on('click', function () {
$('body').removeClass('visible-menu-bar');
hiddenBar.removeClass('visible-sidebar');
});
}
//Custom Seclect Box
if($('.custom-select-box').length){
$('.custom-select-box').selectmenu().selectmenu('menuWidget').addClass('overflow');
}
//Event Countdown Timer
if($('.time-countdown').length){
$('.time-countdown').each(function() {
var $this = $(this), finalDate = $(this).data('countdown');
$this.countdown(finalDate, function(event) {
var $this = $(this).html(event.strftime('' + '%DDays
' + '%HHours
' + '%MMinutes
' + '%SSeconds
'));
});
});
}
//Price Range Slider
if($('.price-range-slider').length){
$( ".price-range-slider" ).slider({
range: true,
min: 0,
max: 90,
values: [ 8, 85 ],
slide: function( event, ui ) {
$( "input.property-amount" ).val( ui.values[ 0 ] + " - " + ui.values[ 1 ] );
}
});
$( "input.property-amount" ).val( $( ".price-range-slider" ).slider( "values", 0 ) + " - $" + $( ".price-range-slider" ).slider( "values", 1 ) );
}
//Fact Counter + Text Count
if($('.count-box').length){
$('.count-box').appear(function(){
var $t = $(this),
n = $t.find(".count-text").attr("data-stop"),
r = parseInt($t.find(".count-text").attr("data-speed"), 10);
if (!$t.hasClass("counted")) {
$t.addClass("counted");
$({
countNum: $t.find(".count-text").text()
}).animate({
countNum: n
}, {
duration: r,
easing: "linear",
step: function() {
$t.find(".count-text").text(Math.floor(this.countNum));
},
complete: function() {
$t.find(".count-text").text(this.countNum);
}
});
}
},{accY: 0});
}
//Accordion Box
if($('.accordion-box').length){
$(".accordion-box").on('click', '.acc-btn', function() {
var outerBox = $(this).parents('.accordion-box');
var target = $(this).parents('.accordion');
if($(this).hasClass('active')!==true){
$(outerBox).find('.accordion .acc-btn').removeClass('active');
}
if ($(this).next('.acc-content').is(':visible')){
return false;
}else{
$(this).addClass('active');
$(outerBox).children('.accordion').removeClass('active-block');
$(outerBox).find('.accordion').children('.acc-content').slideUp(300);
target.addClass('active-block');
$(this).next('.acc-content').slideDown(300);
}
});
}
// Product Carousel Slider
if ($('.shop-page .image-carousel').length && $('.shop-page .thumbs-carousel').length) {
var $sync1 = $(".shop-page .image-carousel"),
$sync2 = $(".shop-page .thumbs-carousel"),
flag = false,
duration = 500;
$sync1
.owlCarousel({
loop:true,
items: 1,
margin: 0,
nav: false,
navText: [ '', '' ],
dots: false,
autoplay: true,
autoplayTimeout: 5000
})
.on('changed.owl.carousel', function (e) {
if (!flag) {
flag = false;
$sync2.trigger('to.owl.carousel', [e.item.index, duration, true]);
flag = false;
}
});
$sync2
.owlCarousel({
loop:true,
margin: 20,
items: 1,
nav: true,
navText: [ '', '' ],
dots: false,
center: false,
autoplay: true,
autoplayTimeout: 5000,
responsive: {
0:{
items:2,
autoWidth: false
},
400:{
items:3,
autoWidth: false
},
600:{
items:3,
autoWidth: false
},
900:{
items:3,
autoWidth: false
},
1000:{
items:3,
autoWidth: false
}
},
})
.on('click', '.owl-item', function () {
$sync1.trigger('to.owl.carousel', [$(this).index(), duration, true]);
})
.on('changed.owl.carousel', function (e) {
if (!flag) {
flag = true;
$sync1.trigger('to.owl.carousel', [e.item.index, duration, true]);
flag = false;
}
});
}
//Search Popup
if($('#purchase-popup').length){
//Show Popup
$('.purchase-box-btn').on('click', function() {
$('#purchase-popup').addClass('popup-visible');
});
$(document).keydown(function(e){
if(e.keyCode == 27) {
$('#purchase-popup').removeClass('popup-visible');
}
});
//Hide Popup
$('.close-search,.purchase-popup .overlay-layer').on('click', function() {
$('#purchase-popup').removeClass('popup-visible');
});
}
//Jquery Spinner / Quantity Spinner
if($('.quantity-spinner').length){
$("input.quantity-spinner").TouchSpin({
verticalbuttons: true
});
}
//Main Slider Carousel
if ($('.main-slider-carousel').length) {
$('.main-slider-carousel').owlCarousel({
animateOut: 'fadeOut',
animateIn: 'fadeIn',
loop:true,
margin:0,
nav:true,
autoHeight: true,
smartSpeed: 500,
autoplay: true,
autoplayTimeout: 6000,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
600:{
items:1
},
800:{
items:1
},
1024:{
items:1
},
1200:{
items:1
}
}
});
}
//Tabs Box
if($('.tabs-box').length){
$('.tabs-box .tab-buttons .tab-btn').on('click', function(e) {
e.preventDefault();
var target = $($(this).attr('data-tab'));
if ($(target).is(':visible')){
return false;
}else{
target.parents('.tabs-box').find('.tab-buttons').find('.tab-btn').removeClass('active-btn');
$(this).addClass('active-btn');
target.parents('.tabs-box').find('.tabs-content').find('.tab').fadeOut(0);
target.parents('.tabs-box').find('.tabs-content').find('.tab').removeClass('active-tab');
$(target).fadeIn(300);
$(target).addClass('active-tab');
}
});
}
// Single Item Carousel
if ($('.single-item-carousel').length) {
$('.single-item-carousel').owlCarousel({
loop:true,
margin:0,
nav:true,
smartSpeed: 500,
autoplay:false,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
480:{
items:1
},
600:{
items:1
},
800:{
items:1
},
1024:{
items:1
}
}
});
}
// Four Item Carousel
if ($('.four-item-carousel').length) {
$('.four-item-carousel').owlCarousel({
loop:true,
margin:0,
nav:true,
autoplay:false,
smartSpeed: 500,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
480:{
items:1
},
600:{
items:3
},
800:{
items:3
},
1024:{
items:4
}
}
});
}
// Client Testimonial Carousel
if ($('.client-testimonial-carousel').length && $('.client-thumbs-carousel').length) {
var $sync3 = $(".client-testimonial-carousel"),
$sync4 = $(".client-thumbs-carousel"),
flag = false,
duration = 500;
$sync3
.owlCarousel({
loop:true,
items: 1,
margin: 0,
nav: true,
navText: [ '', '' ],
dots: true,
autoplay:false,
autoplayTimeout: 5000
})
.on('changed.owl.carousel', function (e) {
if (!flag) {
flag = false;
$sync4.trigger('to.owl.carousel', [e.item.index, duration, true]);
flag = false;
}
});
$sync4
.owlCarousel({
loop:true,
margin:20,
items: 1,
nav: true,
navText: [ '', '' ],
dots: false,
center: false,
autoplay:false,
autoplayTimeout: 5000,
responsive: {
0:{
items:1,
autoWidth: false
},
400:{
items:1,
autoWidth: false
},
600:{
items:1,
autoWidth: false
},
1000:{
items:1,
autoWidth: false
},
1200:{
items:1,
autoWidth: false
}
},
})
.on('click', '.owl-item', function () {
$sync3.trigger('to.owl.carousel', [$(this).index(), duration, true]);
})
.on('changed.owl.carousel', function (e) {
if (!flag) {
flag = true;
$sync3.trigger('to.owl.carousel', [e.item.index, duration, true]);
flag = false;
}
});
}
//Date Picker
if($('.datepicker').length){
$( '.datepicker' ).datepicker();
}
//LightBox / Fancybox
if($('.lightbox-image').length) {
$('.lightbox-image').fancybox({
openEffect : 'fade',
closeEffect : 'fade',
helpers : {
media : {}
}
});
}
//Contact Form Validation
if($('#contact-form').length){
$('#contact-form').validate({
rules: {
username: {
required: true
},
email: {
required: true,
email: true
},
message: {
required: true
}
}
});
}
// Scroll to a Specific Div
if($('.scroll-to-target').length){
$(".scroll-to-target").on('click', function() {
var target = $(this).attr('data-target');
// animate
$('html, body').animate({
scrollTop: $(target).offset().top
}, 1500);
});
}
// Elements Animation
if($('.wow').length){
var wow = new WOW(
{
boxClass: 'wow', // animated element css class (default is wow)
animateClass: 'animated', // animation css class (default is animated)
offset: 0, // distance to the element when triggering the animation (default is 0)
mobile: true, // trigger animations on mobile devices (default is true)
live: true // act on asynchronously loaded content (default is true)
}
);
wow.init();
}
/* ==========================================================================
When document is Scrollig, do
========================================================================== */
$(window).on('scroll', function() {
headerStyle();
});
/* ==========================================================================
When document is loading, do
========================================================================== */
$(window).on('load', function() {
handlePreloader();
});
})(window.jQuery);