/* [Main Script] Project: QuickFix - Multipurpose Servicing and Repairing HTML Template Version: 1.3 Author : themelooks.com */ ;(function ($) { "use strict"; /* ------------------------------------------------------------------------- * * COMMON VARIABLES * ------------------------------------------------------------------------- */ var $wn = $(window), $body = $('body'); /* ------------------------------------------------------------------------- * * FAKELOADER * ------------------------------------------------------------------------- */ var $preloader = $('.preloader'); if ( $preloader.length ) { $preloader.fakeLoader({ spinner: 'spinner2', bgColor: false }); } /* ------------------------------------------------------------------------- * * CHECK DATA * ------------------------------------------------------------------------- */ var checkData = function (data, value) { return typeof data === 'undefined' ? value : data; }; $(function () { /* ------------------------------------------------------------------------- * * BANNER SECTION * ------------------------------------------------------------------------- */ var $banner = $('.banner--section'), $bannerSlider = $banner.find('.banner--slider'), $bannerContent = $banner.find('.banner--content'), $bannerForm = $banner.find('.banner--form'); $bannerSlider.on('initialized.owl.carousel', function (e) { $banner.css( 'min-height', $bannerContent.outerHeight() ); $bannerForm.css( 'margin-top', $bannerContent.outerHeight() - 80 ); }); /* ------------------------------------------------------------------------- * * SHOP SECTION * ------------------------------------------------------------------------- */ var $products = $('.products--section'), $productItemImg = $products.find('.product--item-img'); if ( $productItemImg.length ) { $productItemImg.directionalHover({ overlay: '.product--item-img-info' }); } var $productSingle = $('.product-single--section'), $productSingleThumbnails = $productSingle.find('.product--single-gallery .thumbnails'); $productSingleThumbnails.on('shown.bs.tab', '[data-toggle="tab"]', function (e) { $(e.target).addClass('active').parent().siblings().children().removeClass('active'); }); var $productRatingSelect = $('#productRatingSelect'); if ( $productRatingSelect.length ) { $productRatingSelect.barrating({ theme: 'fontawesome-stars-o', hoverState: false }); } /* ------------------------------------------------------------------------- * * CHECKOUT SECTION * ------------------------------------------------------------------------- */ var $checkout = $('.checkout--section'), $checkoutOrderInfo = $checkout.find('.checkout--order-info'); $checkout.on('click', '.checkout--info-toggle', function (e) { e.preventDefault(); var $t = $(this); $t.parent('p').siblings('.checkout--info-form').slideToggle(); }); /* ------------------------------------------------------------------------- * * MAP * ------------------------------------------------------------------------- */ var $map = $('#map'), setMap = function () { var map = new google.maps.Map($map[0], { center: {lat: $map.data('map-latitude'), lng: $map.data('map-longitude')}, zoom: $map.data('map-zoom'), scrollwheel: false, disableDefaultUI: true, zoomControl: true, styles: [{"featureType":"landscape","stylers":[{"hue":"#FFBB00"},{"saturation":43.400000000000006},{"lightness":37.599999999999994},{"gamma":1}]},{"featureType":"road.highway","stylers":[{"hue":"#FFC200"},{"saturation":-61.8},{"lightness":45.599999999999994},{"gamma":1}]},{"featureType":"road.arterial","stylers":[{"hue":"#FF0300"},{"saturation":-100},{"lightness":51.19999999999999},{"gamma":1}]},{"featureType":"road.local","stylers":[{"hue":"#FF0300"},{"saturation":-100},{"lightness":52},{"gamma":1}]},{"featureType":"water","stylers":[{"hue":"#0078FF"},{"saturation":-13.200000000000003},{"lightness":2.4000000000000057},{"gamma":1}]},{"featureType":"poi","stylers":[{"hue":"#00FF6A"},{"saturation":-1.0989010989011234},{"lightness":11.200000000000017},{"gamma":1}]}] }); if ( typeof $map.data('map-marker') !== 'undefined' ) { var data = $map.data('map-marker'), i = 0; for ( i; i < data.length; i++ ) { new google.maps.Marker({ position: {lat: data[i][0], lng: data[i][1]}, map: map, animation: google.maps.Animation.DROP, draggable: true }); } } }; if ( $map.length ) { setMap(); } /* ------------------------------------------------------------------------- * * BACK TO TOP BUTTON * ------------------------------------------------------------------------- */ var $backToTopBtn = $('.back-to-top-btn'); $backToTopBtn.on('click', 'a', function (e) { e.preventDefault(); $('html, body').animate({ scrollTop: 0 }, 800); }); /* ------------------------------------------------------------------------- * * BACKGROUND IMAGE * ------------------------------------------------------------------------- */ var $bgImg = $('[data-bg-img]'); $bgImg.each(function () { var $t = $(this); $t.css('background-image', 'url(' + $t.data('bg-img') + ')').addClass('bg--img bg--overlay').attr('data-rjs', 2).removeAttr('data-bg-img'); }); /* ------------------------------------------------------------------------- * * RETINAJS * ------------------------------------------------------------------------- */ retinajs(); /* ------------------------------------------------------------------------- * * STICKYJS * ------------------------------------------------------------------------- */ var $sticky = $('[data-trigger="sticky"]'); $sticky.each(function () { $(this).sticky({ zIndex: 999 }); }); /* ------------------------------------------------------------------------- * * FORM VALIDATION * ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- * * FORM AJAX * ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- * * FILE INPUT * ------------------------------------------------------------------------- */ var $fileInput = $('input[type="file"]'), $fileInputStatus = $fileInput.siblings('.file-status'); $fileInput.on('change', function () { var value = $(this).val().split('\\'), txt = value[value.length - 1]; return txt ? $fileInputStatus.text( txt ) : ''; }); /* ------------------------------------------------------------------------- * * TOOLTIP * ------------------------------------------------------------------------- */ var $tooltip = $('[data-toggle="tooltip"]'); if ( $tooltip.length ) { $tooltip.tooltip(); } /* ------------------------------------------------------------------------- * * SPINNER * ------------------------------------------------------------------------- */ var $spinner = $('[data-trigger="spinner"]'); $spinner.each(function () { var $t = $(this); $t.spinner({ min: $t.data('min'), max: $t.data('max') }); }); /* ------------------------------------------------------------------------- * * DATE * ------------------------------------------------------------------------- */ var $date = $('[data-trigger="date"]'); if ( $date.length ) { $date.datepicker({ showOtherMonths: true, selectOtherMonths: true }); } /* ------------------------------------------------------------------------- * * TIME * ------------------------------------------------------------------------- */ var $time = $('[data-trigger="time"]'); if ( $date.length ) { $time.timepicker(); } /* ------------------------------------------------------------------------- * * OWL CAROUSEL * ------------------------------------------------------------------------- */ var $owlCarousel = $('.owl-carousel'); $owlCarousel.each(function () { var $t = $(this); $t.owlCarousel({ items: checkData( $t.data('owl-items'), 1 ), margin: checkData( $t.data('owl-margin'), 0 ), loop: checkData( $t.data('owl-loop'), true ), smartSpeed: 1200, autoplayTimeout: 800, autoplay: checkData( $t.data('owl-autoplay'), true ), mouseDrag: checkData( $t.data('owl-drag'), true ), nav: checkData( $t.data('owl-nav'), false ), navText: ['', ''], dots: checkData( $t.data('owl-dots'), false ), responsive: checkData( $t.data('owl-responsive'), {} ) }); }); /* ------------------------------------------------------------------------- * * MAGNIFIC POPUP * ------------------------------------------------------------------------- */ var $popupImg = $('[data-popup="img"]'); if ( $popupImg.length ) { $popupImg.magnificPopup({ type: 'image' }); } var $popupVideo = $('[data-popup="video"]'); if ( $popupVideo.length ) { $popupVideo.magnificPopup({ type: 'iframe' }); } /* ------------------------------------------------------------------------- * * COUNTER UP * ------------------------------------------------------------------------- */ var $counterUp = $('[data-counter-up="numbers"]'); if ( $counterUp.length ) { $counterUp.counterUp({ delay: 10, time: 1000 }); } /* -------------------------------------------------------------------------* * COUNTDOWN * -------------------------------------------------------------------------*/ var $countDown = $('[data-countdown]'); $countDown.each(function () { var $t = $(this); $t.countdown($t.data('countdown'), function(e) { $(this).html( '