(function ($) {
// -- Widget Class additional js
("use strict");
$("#today").addClass("active");
var $document = $(document),
$window = $(window),
$body = $("body"),
$html = $("html"),
$htmlBody = $("html, body"),
// Template Blocks
blocks = {
mainSlider: $(".mainSlider"),
ttCarusel: $(".tt-carusel"),
ttPromoTableCarusel: $(".tt-promo-table-carusel"),
ttNewsCarousel: $(".tt-news-carousel"),
ttBoxLayoutIcon: $(".tt-box-layout-icon"),
ttTestimonialsCarousel: $(".tt-testimonials-carousel"),
ttContentSlider: $(".tt-content-slider"),
ttMenuObj: $(".tt-menu"),
ttBtnToggle: $(".btn-toggle"),
ttAccordionBox: $(".tt-accordion-box"),
googleMap: $("#googleMap"),
backToTop: $(".back-to-top"),
ttToggleMenu: $(".tt-toggle-menu"),
videoBlock: $(".video-block"),
ttCountdown: $(".countdown"),
ttCalendarDatepicker: $(".calendarDatepicker"),
ttCounter: $(".tt-counter"),
ttTabs: $(".tt-tabs"),
ttInstafeed: $("#instafeed"),
ttTotalCarusel: $(".tt-total-carusel"),
rtltrue: jQuery("body").hasClass("rtl"),
};
$document.ready(function () {
if (blocks.mainSlider.length) {
mainSlider();
}
if (blocks.ttInstafeed.length) {
instaFeed();
}
var pageNumber = 1;
$(document).on(
"click",
".view-more-post.ajax_load_post_btn.blog-grid",
function (e) {
pageNumber++;
var item;
var post_per_load = $(this).data("post_per_load");
var rdmoreBtn = $(this);
$(".ajax_load_post_img").show(); // Disable the button, temp.
$(rdmoreBtn).hide(); // Disable the button, temp.
$.ajax({
type: "POST",
url: ajax_object.ajax_url,
data: {
action: "dricub_driving_school_more_post_ajax",
security: ajax_object.ajax_nonce_morepost,
post_per_load: post_per_load,
pageNumber: pageNumber,
},
context: document.body,
success: function (data) {
$(".ajax_load_post_img").hide();
$(rdmoreBtn).show();
if (data == "") {
$(rdmoreBtn).hide();
}
e.preventDefault();
var obj = JSON.parse(data);
if (obj.count == "blank") {
$(rdmoreBtn).hide();
}
$("#postPreload").append(obj.html);
$("#postPreload > .item").each(function () {
item = $(this);
$("#blog-masonry")
.masonry()
.append(item)
.masonry("appended", item)
.masonry();
});
$(".post-all-content .tt-content-slider").slick({
rtl: blocks.rtltrue,
mobileFirst: false,
slidesToShow: 1,
slidesToScroll: 1,
infinite: true,
autoplay: false,
arrows: true,
dots: false,
});
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
},
});
return false;
}
);
if (typeof elementorFrontend != "undefined") {
if (typeof elementorFrontend.hooks != "undefined") {
elementorFrontend.hooks.addAction(
"frontend/element_ready/widget",
function (scrollTop) {
if ($(".tt-content-slider").length) {
ttContentSlider($(".tt-content-slider"));
}
if ($(".tt-tabs").length) {
ttTabs($(".tt-tabs"));
}
var windowWidth = window.innerWidth || $window.width();
if ($(".tt-box-layout-icon").length && windowWidth < 601) {
ttBoxLayoutIcon($(".tt-box-layout-icon"));
}
if ($(".tt-total-carusel").length) {
ttTotalCarusel($(".tt-total-carusel"));
}
}
);
}
}
const ttContentSlider = (ttContentSlider) => {
ttContentSlider.slick({
rtl: blocks.rtltrue,
mobileFirst: false,
infinite: true,
autoplay: true,
slidesToShow: 1,
slidesToScroll: 1,
arrows: true,
dots: true,
pauseOnHover: false,
});
};
if (blocks.ttContentSlider.length) {
ttContentSlider(blocks.ttContentSlider);
}
//tabs(custom)
const ttTabs = (ttTabs) => {
ttTabs.ttTabs({
singleOpen: true,
anim_tab_duration: 270,
anim_scroll_duration: 500,
toggleOnDesktop: false,
scrollToOpenMobile: false,
effect: "slide",
});
};
if (blocks.ttTabs.length) {
ttTabs(blocks.ttTabs);
}
// tt-box-layout-icon
const ttBoxLayoutIcon = (ttBoxLayoutIcon) => {
blocks.ttBoxLayoutIcon.slick({
rtl: blocks.rtltrue,
dots: true,
slidesToShow: 1,
slidesToScroll: 1,
arrows: false,
autoplay: true,
autoplaySpeed: 4000,
adaptiveHeight: true,
pauseOnHover: false,
});
};
var windowWidth = window.innerWidth || $window.width();
if (blocks.ttBoxLayoutIcon.length && windowWidth < 601) {
ttBoxLayoutIcon(blocks.ttBoxLayoutIcon.length);
}
const ttTotalCarusel = (ttTotalCarusel) => {
if (!ttTotalCarusel.hasClass("slick-initialized")) {
ttTotalCarusel.slick({
rtl: blocks.rtltrue,
mobileFirst: false,
slidesToShow: 4,
slidesToScroll: 1,
infinite: true,
arrows: false,
dots: true,
autoplay: true,
autoplaySpeed: 3200,
pauseOnHover: false,
responsive: [
{
breakpoint: 1024,
settings: {
slidesToShow: 3,
slidesToScroll: 2,
},
},
{
breakpoint: 700,
settings: {
slidesToShow: 2,
slidesToScroll: 2,
},
},
{
breakpoint: 551,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
],
});
}
};
if (blocks.ttTotalCarusel.length) {
ttTotalCarusel(blocks.ttTotalCarusel);
}
$("#vdo video").removeAttr("width").removeAttr("height");
// tt-boxSubjects-carusel
if (blocks.ttCarusel.length) {
if (typeof ajax_ttslider != "undefined") {
blocks.ttCarusel.slick({
rtl: blocks.rtltrue,
slidesToShow: parseInt(ajax_ttslider.slides_to_show),
slidesToScroll: parseInt(ajax_ttslider.slides_to_scroll),
arrows: JSON.parse(ajax_ttslider.arrows),
dots: JSON.parse(ajax_ttslider.dots),
autoplay: JSON.parse(ajax_ttslider.autoplay),
autoplaySpeed: parseInt(ajax_ttslider.autoplay_speed),
pauseOnHover: JSON.parse(ajax_ttslider.pause_on_hover),
responsive: [
{
breakpoint: 1209,
settings: {
slidesToShow: 2,
slidesToScroll: 2,
},
},
{
breakpoint: 700,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
},
},
],
});
}
}
// tt-promo-table-carusel
if (blocks.ttPromoTableCarusel.length) {
if (typeof ajax_priceSlider != "undefined") {
blocks.ttPromoTableCarusel.slick({
rtl: blocks.rtltrue,
mobileFirst: false,
slidesToShow: parseInt(ajax_priceSlider.slides_to_show),
slidesToScroll: parseInt(ajax_priceSlider.slides_to_scroll),
infinite: true,
autoplay: JSON.parse(ajax_priceSlider.autoplay),
autoplaySpeed: parseInt(ajax_priceSlider.autoplay_speed),
arrows: JSON.parse(ajax_priceSlider.arrows),
dots: JSON.parse(ajax_priceSlider.dots),
pauseOnHover: JSON.parse(ajax_priceSlider.pause_on_hover),
responsive: [
{
breakpoint: 1209,
settings: {
slidesToShow: 2,
},
},
{
breakpoint: 769,
settings: {
slidesToShow: 1,
},
},
],
});
}
}
// tt-news-carousel
if (blocks.ttNewsCarousel.length) {
if (typeof ajax_newsSlider != "undefined") {
blocks.ttNewsCarousel.slick({
rtl: blocks.rtltrue,
slidesToShow: parseInt(ajax_newsSlider.slides_to_show),
slidesToScroll: parseInt(ajax_newsSlider.slides_to_scroll),
arrows: JSON.parse(ajax_newsSlider.arrows),
dots: JSON.parse(ajax_newsSlider.dots),
autoplay: JSON.parse(ajax_newsSlider.autoplay),
autoplaySpeed: parseInt(ajax_newsSlider.autoplay_speed),
pauseOnHover: JSON.parse(ajax_newsSlider.pause_on_hover),
infinite: JSON.parse(ajax_newsSlider.infinite),
adaptiveHeight: JSON.parse(ajax_newsSlider.adaptiveHeight),
responsive: [
{
breakpoint: 1209,
settings: {
slidesToShow: 2,
},
},
{
breakpoint: 700,
settings: {
slidesToShow: 1,
},
},
],
});
}
}
// tt-testimonials-carousel
if (blocks.ttTestimonialsCarousel.length) {
if (typeof ajax_tesSlider != "undefined") {
blocks.ttTestimonialsCarousel.slick({
rtl: blocks.rtltrue,
slidesToShow: parseInt(ajax_tesSlider.slides_to_show),
slidesToScroll: parseInt(ajax_tesSlider.slides_to_scroll),
arrows: JSON.parse(ajax_tesSlider.arrows),
dots: JSON.parse(ajax_tesSlider.dots),
autoplay: JSON.parse(ajax_tesSlider.autoplay),
autoplaySpeed: parseInt(ajax_tesSlider.autoplay_speed),
pauseOnHover: JSON.parse(ajax_tesSlider.pause_on_hover),
infinite: JSON.parse(ajax_tesSlider.infinite),
adaptiveHeight: JSON.parse(ajax_tesSlider.adaptiveHeight),
responsive: [
{
breakpoint: 1420,
settings: {
arrows: false,
},
},
],
});
}
}
//btn toggle mobile header
if (blocks.ttBtnToggle.length) {
var $ttBtnToggle = $(".btn-toggle"),
ttHeader = $("#tt-header");
$ttBtnToggle.on("click", function (e) {
e.preventDefault();
ttHeader.toggleClass("open");
});
}
//tt-accordion-box
if (blocks.ttAccordionBox.length) {
var $ttAccordionBox = blocks.ttAccordionBox,
$ttAccordionBoxItem = $ttAccordionBox.find(".item");
$ttAccordionBoxItem.on("click", function () {
$(this).toggleClass("active");
});
}
if (blocks.ttToggleMenu.length) {
var $ttToggleMenu = $(".tt-toggle-menu"),
$ttMenu = $(".tt-menu");
$ttToggleMenu.on("click", function (e) {
$(this).toggleClass("active");
$ttMenu.toggleClass("open-menu");
$body.toggleClass("open-menu");
e.preventDefault();
});
}
});
$window.on("load", function () {
var windowWidth = window.innerWidth || $window.width();
$body.addClass("is-loaded");
/* menu */
if (blocks.ttMenuObj.length) {
var ttMenuObjLevel_0 = blocks.ttMenuObj.find("> ul > li");
blocks.ttMenuObj
.find("ul")
.parent("li")
.addClass("is-subMenu")
.append('');
ttMenuObjLevel_0.on("mouseenter mouseleave", function (event) {
$(this).toggleClass("is-hover");
});
}
if (blocks.backToTop.length) {
backToTop();
}
if (blocks.videoBlock.length) {
videoPost();
}
if (blocks.ttCalendarDatepicker.length) {
blocks.ttCalendarDatepicker.datepicker();
}
if (blocks.ttCountdown.length) {
countDown(true);
}
if (windowWidth > 768) {
setInterval("scroll_bg()", 1);
setInterval("scroll_bg1()", 1);
}
if (blocks.ttMenuObj.length) {
ttMenuStuck(windowWidth);
}
if (blocks.ttCounter.length) {
ttCounter();
}
});
$window.on("resize load", function () {
var windowWidth = window.innerWidth || $window.width();
if (blocks.googleMap.length) {
if (windowWidth > 899) {
var $googleMap = googleMap,
pageMain = $("main"),
pageMainHeight = $("main").height() + 282,
$objMap = $(".google-map");
$objMap.css({
height: pageMainHeight,
});
}
}
if (blocks.ttToggleMenu.length) {
if (windowWidth < 701) {
var $mobilsubMenu = $(".tt-menu .is-subMenu .tt-icon-subMenu");
$mobilsubMenu.off("click");
$mobilsubMenu.on("click", function (e) {
e.preventDefault();
$(this).parent(".tt-menu .is-subMenu").find("> ul").slideToggle();
});
}
}
if (blocks.mainSlider.length && windowWidth > 768) {
var viewportHeight = $(window).height(),
headerHeight = $("#tt-header").height(),
sliderHeight = viewportHeight - headerHeight;
blocks.mainSlider.find(".img--holder").height(sliderHeight);
}
});
/* ---------------------------------------------
Functions
--------------------------------------------- */
// instagram feed
function instaFeed() {
var userFeed = new Instafeed({
get: "user",
userId: "self",
template:
'',
accessToken: "3483630941.1677ed0.66c4618b32444ac08a70cb2fe84c1bf8",
limit: 9,
resolution: "low_resolution",
sortBy: "most-recent",
});
userFeed.run();
}
//tt-menu-stuck
function ttMenuStuck(windowWidth) {
if ($body.hasClass("open-menu")) return;
var $objStuck = $(".tt-menu-stuck-row"),
$objStuckInsert = $objStuck.find(".tt-menu-stuck"),
$objBreakpoint = $("#page-main"),
$objColMenu = $(".col-menu"),
$mobileObj = $(".tt-header-bottom"),
valueHeight1 = $mobileObj.height(),
$mobileObjParent = $(".tt-header-wrapper-bottom"),
$returnMobileHeader = $mobileObjParent.find(".container"),
$objBreakpointOffset1 = $objBreakpoint.offset().top + 70;
$objColMenu.removeAttr("style");
$window.scroll(function () {
$body.addClass("scroll");
if ($body.hasClass("open-menu")) return;
if ($window.scrollTop() > $objBreakpointOffset1) {
var $objDetach = $mobileObj.detach();
$objStuckInsert.prepend($objDetach);
$objStuck.addClass("stuck-is");
$mobileObjParent.css({ minHeight: valueHeight1 });
} else {
var $objDetachBack = $objStuckInsert.find($mobileObj).detach();
$returnMobileHeader.prepend($objDetachBack);
$objStuck.removeClass("stuck-is");
$body.removeClass("scroll");
}
});
$(".tt-toggle-menu").one("click", function () {
var heightViewport = $window.innerHeight(),
errorHeight = $("#tt-header").innerHeight(),
totalValue = heightViewport - errorHeight;
$(".tt-menu.open-menu").height(totalValue);
});
}
// main slider
function mainSlider() {
if (typeof ajax_slickslider != "undefined") {
var $el = blocks.mainSlider;
$el.find(".slide").first().imagesLoaded({
background: true,
});
$el.on("init", function (e, slick) {
var $firstAnimatingElements = $("div.slide:first-child").find(
"[data-animation]"
);
doAnimations($firstAnimatingElements);
});
$el.on("beforeChange", function (e, slick, currentSlide, nextSlide) {
var $currentSlide = $(
'div.slide[data-slick-index="' + nextSlide + '"]'
);
var $animatingElements = $currentSlide.find("[data-animation]");
doAnimations($animatingElements);
});
$el.slick({
rtl: blocks.rtltrue,
arrows: JSON.parse(ajax_slickslider.arrows),
dots: JSON.parse(ajax_slickslider.dots),
autoplay: JSON.parse(ajax_slickslider.autoplay),
autoplaySpeed: parseInt(ajax_slickslider.autoplay_speed),
fade: JSON.parse(ajax_slickslider.fade),
speed: parseInt(ajax_slickslider.speed),
pauseOnHover: JSON.parse(ajax_slickslider.pause_on_hover),
pauseOnDotsHover: JSON.parse(ajax_slickslider.pause_on_dots_hover),
responsive: [
{
breakpoint: 768,
settings: {
arrows: false,
},
},
{
breakpoint: 1025,
settings: {
dots: false,
arrows: false,
},
},
],
});
}
}
// Slider Animation
function doAnimations(elements) {
var animationEndEvents =
"webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend";
elements.each(function () {
var $this = $(this);
var $animationDelay = $this.data("animation-delay");
var $animationType = "animated " + $this.data("animation");
$this.css({
"animation-delay": $animationDelay,
"-webkit-animation-delay": $animationDelay,
});
$this.addClass($animationType).one(animationEndEvents, function () {
$this.removeClass($animationType);
});
if ($this.hasClass("animate")) {
$this.removeClass("animation");
}
});
}
// backToTop
function backToTop() {
var $obj = blocks.backToTop;
if ($obj.length > 0) {
$obj.on("click", function () {
$htmlBody.animate(
{
scrollTop: 0,
},
500
);
return false;
});
$window.scroll(function () {
if ($window.scrollTop() > 500) {
$obj.stop(true.false).fadeIn(110);
} else {
$obj.stop(true.false).fadeOut(110);
}
});
}
}
// Countdown
function countDown(showZero) {
if (blocks.ttCountdown.length) {
var showZero = showZero || false;
blocks.ttCountdown.each(function () {
var $this = $(this),
date = $this.data("date"),
set_year = $this.data("year") || "Yrs",
set_month = $this.data("month") || "Mths",
set_week = $this.data("week") || "Wk",
set_day = $this.data("day") || "Day",
set_hour = $this.data("hour") || "Hrs",
set_minute = $this.data("minute") || "Min",
set_second = $this.data("second") || "Sec";
if ((date = date.split("-"))) {
date = date.join("/");
} else return;
$this.countdown(date, function (e) {
var format = '';
function addFormat(func, timeNum, showZero) {
if (timeNum === 0 && !showZero) return;
func(format);
}
addFormat(
function () {
format +=
'' +
'' +
e.offset.totalDays +
"" +
'' +
set_day +
"" +
"";
},
e.offset.totalDays,
showZero
);
addFormat(
function () {
format +=
'' +
'' +
e.offset.hours +
"" +
'' +
set_hour +
"" +
"";
},
e.offset.hours,
showZero
);
addFormat(
function () {
format +=
'' +
'' +
e.offset.minutes +
"" +
'' +
set_minute +
"" +
"";
},
e.offset.minutes,
showZero
);
addFormat(
function () {
format +=
'' +
'' +
e.offset.seconds +
"" +
'' +
set_second +
"" +
"";
},
e.offset.seconds,
showZero
);
format += "";
$(this).html(format);
});
});
}
}
//videoPost
function videoPost() {
blocks.videoBlock.find(".link-video").on("click", function (e) {
e.preventDefault();
var myVideo = $(this).parent().find(".movie")[0];
if (myVideo.paused) {
myVideo.play();
$(this).addClass("play");
} else {
myVideo.pause();
$(this).removeClass("play");
}
});
}
function ttCounter() {
$window.scroll(function () {
var ttCounterObj = $(".tt-counter");
ttCounterObj.each(function () {
var cPos = $(this).offset().top,
topWindow = $window.scrollTop();
if (cPos < topWindow + 800) {
$(".tt-counter").countTo().removeClass("tt-counter");
}
});
});
}
var cssFix = (function () {
var u = navigator.userAgent.toLowerCase(),
is = function (t) {
return u.indexOf(t) != -1;
};
$html.addClass(
[
!/opera|webtv/i.test(u) && /msie (\d)/.test(u)
? "ie ie" + RegExp.$1
: is("firefox/2")
? "gecko ff2"
: is("firefox/3")
? "gecko ff3"
: is("gecko/")
? "gecko"
: is("opera/9")
? "opera opera9"
: /opera (\d)/.test(u)
? "opera opera" + RegExp.$1
: is("konqueror")
? "konqueror"
: is("applewebkit/")
? "webkit safari"
: is("mozilla/")
? "gecko"
: "",
is("x11") || is("linux")
? " linux"
: is("mac")
? " mac"
: is("win")
? " win"
: "",
].join("")
);
})();
/*
touch-device and gallery(mobile)
*/
function is_touch_device() {
return !!("ontouchstart" in window) || !!("onmsgesturechange" in window);
}
if (is_touch_device()) {
$body.addClass("touch-device");
}
function getInternetExplorerVersion() {
var rv = -1;
if (navigator.appName == "Microsoft Internet Explorer") {
var ua = navigator.userAgent;
var re = new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");
if (re.exec(ua) != null) rv = parseFloat(RegExp.$1);
} else if (navigator.appName == "Netscape") {
var ua = navigator.userAgent;
var re = new RegExp("Trident/.*rv:([0-9]{1,}[.0-9]{0,})");
if (re.exec(ua) != null) rv = parseFloat(RegExp.$1);
}
return rv;
}
if (getInternetExplorerVersion() !== -1) {
$html.addClass("ie");
}
/*
tabs(custom)
*/
$.fn.ttTabs = function (options) {
function ttTabs(tabs) {
var $tabs = $(tabs),
$head = $tabs.find(".tt-tabs__head"),
$head_ul = $head.find("> ul"),
$head_li = $head_ul.find("> li"),
$head_span = $head_li.find("> span"),
$border = $head.find(".tt-tabs__border"),
$body = $tabs.find(".tt-tabs__body"),
$body_li = $body.find("> div"),
anim_tab_duration = options.anim_tab_duration || 500,
anim_scroll_duration = options.anim_scroll_duration || 500,
breakpoint = 1025,
scrollToOpenMobile =
options.scrollToOpenMobile !== undefined
? options.scrollToOpenMobile
: true,
singleOpen =
options.singleOpen !== undefined ? options.singleOpen : true,
toggleOnDesktop =
options.toggleOnDesktop !== undefined
? options.toggleOnDesktop
: true,
effect = options.effect !== undefined ? options.effect : "slide",
offsetTop = options.offsetTop !== undefined ? options.offsetTop : "",
goToTab = options.goToTab,
$btn_prev = $("