/**
* Header Connect
* retinaLogo
* ajaxContactForm
* headerFixed
* select js
* mobileNav
* ajaxSubscribe
* alertBox
* loadmore
*/
; (function ($) {
"use strict";
var themesflatTheme = {
// Main init function
init: function () {
this.config();
this.events();
},
// Define vars for caching
config: function () {
this.config = {
$window: $(window),
$document: $(document),
};
},
// Events
events: function () {
var self = this;
// Run on document ready
self.config.$document.on('ready', function () {
// Retina Logos
self.retinaLogo();
});
// Run on Window Load
self.config.$window.on('load', function () {
});
},
}; // end themesflatTheme
// Start things up
themesflatTheme.init();
// show logo home2
$('#showlogo').prepend('
');
$('.select_js').niceSelect();
//Submenu Dropdown Toggle
if ($('.main-header li.dropdown2 ul').length) {
$('.main-header li.dropdown2').append('
');
//Dropdown Button
$('.main-header li.dropdown2 .dropdown2-btn').on('click', function () {
$(this).prev('ul').slideToggle(500);
});
//Disable dropdown parent link
$('.navigation li.dropdown2 > a').on('click', function (e) {
e.preventDefault();
});
//Disable dropdown parent link
$('.main-header .navigation li.dropdown2 > a,.hidden-bar .side-menu li.dropdown2 > a').on('click', function (e) {
e.preventDefault();
});
$('.price-block .features .arrow').on('click', function (e) {
$(e.target.offsetParent.offsetParent.offsetParent).toggleClass('active-show-hidden')
});
}
// 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);
//Hide / Show Submenu
$('.mobile-menu .navigation > li.dropdown2 > .dropdown2-btn').on('click', function (e) {
e.preventDefault();
var target = $(this).parent('li').children('ul');
if ($(target).is(':visible')) {
$(this).parent('li').removeClass('open');
$(target).slideUp(500);
$(this).parents('.navigation').children('li.dropdown2').removeClass('open');
$(this).parents('.navigation').children('li.dropdown2 > ul').slideUp(500);
return false;
} else {
$(this).parents('.navigation').children('li.dropdown2').removeClass('open');
$(this).parents('.navigation').children('li.dropdown2').children('ul').slideUp(500);
$(this).parent('li').toggleClass('open');
$(this).parent('li').children('ul').slideToggle(500);
}
});
//3rd Level Nav
$('.mobile-menu .navigation > li.dropdown2 > ul > li.dropdown2 > .dropdown2-btn').on('click', function (e) {
e.preventDefault();
var targetInner = $(this).parent('li').children('ul');
if ($(targetInner).is(':visible')) {
$(this).parent('li').removeClass('open');
$(targetInner).slideUp(500);
$(this).parents('.navigation > ul').find('li.dropdown2').removeClass('open');
$(this).parents('.navigation > ul').find('li.dropdown > ul').slideUp(500);
return false;
} else {
$(this).parents('.navigation > ul').find('li.dropdown2').removeClass('open');
$(this).parents('.navigation > ul').find('li.dropdown2 > ul').slideUp(500);
$(this).parent('li').toggleClass('open');
$(this).parent('li').children('ul').slideToggle(500);
}
});
//Menu Toggle Btn
$('.mobile-nav-toggler').on('click', function () {
$('body').addClass('mobile-menu-visible');
});
//Menu Toggle Btn
$('.mobile-menu .menu-backdrop, .close-btn').on('click', function () {
$('body').removeClass('mobile-menu-visible');
$('.mobile-menu .navigation > li').removeClass('open');
$('.mobile-menu .navigation li ul').slideUp(0);
});
$(document).keydown(function (e) {
if (e.keyCode === 27) {
$('body').removeClass('mobile-menu-visible');
$('.mobile-menu .navigation > li').removeClass('open');
$('.mobile-menu .navigation li ul').slideUp(0);
}
});
}
var ajaxSubscribe = {
obj: {
subscribeEmail: $('#subscribe-email'),
subscribeButton: $('#subscribe-button'),
subscribeMsg: $('#subscribe-msg'),
subscribeContent: $("#subscribe-content"),
dataMailchimp: $('#subscribe-form').attr('data-mailchimp'),
success_message: 'Thank you for joining our mailing list! Please check your email for a confirmation link.
',
failure_message: 'Error! There was a problem processing your submission.
',
noticeError: '{msg}
',
noticeInfo: '{msg}
',
basicAction: 'mail/subscribe.php',
mailChimpAction: 'mail/subscribe-mailchimp.php'
},
eventLoad: function () {
var objUse = ajaxSubscribe.obj;
$(objUse.subscribeButton).on('click', function () {
if (window.ajaxCalling) return;
var isMailchimp = objUse.dataMailchimp === 'true';
if (isMailchimp) {
ajaxSubscribe.ajaxCall(objUse.mailChimpAction);
} else {
ajaxSubscribe.ajaxCall(objUse.basicAction);
}
});
},
ajaxCall: function (action) {
window.ajaxCalling = true;
var objUse = ajaxSubscribe.obj;
var messageDiv = objUse.subscribeMsg.html('').hide();
$.ajax({
url: action,
type: 'POST',
dataType: 'json',
data: {
subscribeEmail: objUse.subscribeEmail.val()
},
success: function (responseData, textStatus, jqXHR) {
if (responseData.status) {
objUse.subscribeContent.fadeOut(500, function () {
messageDiv.html(objUse.success_message).fadeIn(500);
});
} else {
switch (responseData.msg) {
case "email-required":
messageDiv.html(objUse.noticeError.replace('{msg}', 'Error! Email is required.'));
break;
case "email-err":
messageDiv.html(objUse.noticeError.replace('{msg}', 'Error! Email invalid.'));
break;
case "duplicate":
messageDiv.html(objUse.noticeError.replace('{msg}', 'Error! Email is duplicate.'));
break;
case "filewrite":
messageDiv.html(objUse.noticeInfo.replace('{msg}', 'Error! Mail list file is open.'));
break;
case "undefined":
messageDiv.html(objUse.noticeInfo.replace('{msg}', 'Error! undefined error.'));
break;
case "api-error":
objUse.subscribeContent.fadeOut(500, function () {
messageDiv.html(objUse.failure_message);
});
}
messageDiv.fadeIn(500);
}
},
error: function (jqXHR, textStatus, errorThrown) {
alert('Connection error');
},
complete: function (data) {
window.ajaxCalling = false;
}
});
}
};
var alertBox = function () {
$(document).on('click', '.close', function (e) {
$(this).closest('.flat-alert').remove();
e.preventDefault();
})
};
$("#newsearch").focus(function () {
$(".search-content").slideDown(250).show();
});
$("#newsearch").on("change, blur", function () {
$(".search-content").slideUp().hide(250);
});
$(".faq-question").on('click', function () {
let box = $(this).closest(".faq");
if (box.hasClass('faq-active')) {
box.find('.faq-answer').slideUp(300);
box.removeClass('faq-active');
} else {
box.find('.faq-answer').slideDown(300);
box.addClass('faq-active');
}
});
// Dom Ready
$(function () {
ajaxSubscribe.eventLoad();
alertBox();
});
})(jQuery);