(function ($) { 'use strict'; var Conversi = { // Initialization the functions init: function () { Conversi.AffixMenu(); // Conversi.MobileMenu(); Conversi.ScrollSpy(); Conversi.SmoothScroll(); Conversi.FitVids(); Conversi.PlaceHolder(); Conversi.Carousel(); Conversi.Lightbox(); Conversi.CounterUp(); Conversi.Button(); Conversi.Form(); $(window).on('load', function () { Conversi.Preload(); }); }, // Navigation menu affix AffixMenu: function () { var navMenu = ''; $('#header').before(navMenu); if ($('#navigation').hasClass('scrollspy')) { $('#navigation_affix').addClass('scrollspy'); } $('#navigation').waypoint(function () { $('#navigation_affix').removeClass('show'); }, { offset: -120 }); $('#navigation').waypoint(function () { $('#navigation_affix').addClass('show'); }, { offset: -121 }); }, // Add mobile navigation MobileMenu: function () { var navMenu = ''; $('#header').before(navMenu); $('.nav-menu-toggle').on('click', function () { $(this).parent('.nav-menu-button').prev('.nav-menu-links').slideToggle(300, function () { $(window).trigger('resize.px.parallax'); }); }); }, // Navigation menu scrollspy to anchor section ScrollSpy: function () { $('body').scrollspy({ target: '#navigation_affix.scrollspy', offset: parseInt($('#navigation_affix.scrollspy').height(), 0) }); }, // Smooth scrolling to anchor section SmoothScroll: function () { $('a.smooth-scroll').on('click', function (event) { var $anchor = $(this); var offsetTop = ''; var elemHeight = parseInt($('#navigation_affix').height() - 1, 0); if (window.Response.band(768)) { offsetTop = parseInt($($anchor.attr('href')).offset().top - elemHeight, 0); } else { offsetTop = parseInt($($anchor.attr('href')).offset().top, 0); } $('html, body').stop().animate({ scrollTop: offsetTop }, 1500, 'easeInOutExpo'); event.preventDefault(); }); }, // Responsive video size FitVids: function () { $('body').fitVids(); }, // Placeholder compatibility for IE8 PlaceHolder: function () { $('input, textarea').placeholder(); }, // Slider with SliderPro & Slick carousel Carousel: function () { // Testimonials carousel $('.carousel-slider.affa-testimonials-carousel').slick({ arrows: false, dots: true, speed: 300, draggable: false, autoplay: true, autoplaySpeed: 5000, infinite: true }); // General slider $('.carousel-slider.general-slider').slick({ dots: true, speed: 300, adaptiveHeight: true, draggable: false, responsive: [{ breakpoint: 768, settings: { draggable: true } }] }); $('.carousel-slider.general-slider').on('afterChange', function () { $(window).trigger('resize.px.parallax'); }); }, // Preview images popup gallery with Fancybox Lightbox: function () { $('.fancybox').fancybox({ loop: false }); $('.fancybox-media').attr('rel', 'media-gallery').fancybox({ openEffect: 'none', closeEffect: 'none', prevEffect: 'none', nextEffect: 'none', arrows: false, helpers: { media: {}, buttons: {} } }); }, // Number counter ticker animation CounterUp: function () { $('.affa-counter-txt > h4').counterUp({ delay: 10, time: 3000 }); }, // Preload function after images loaded Preload: function () { $('img.parallax-slider').imgpreload({ all: function () { $('img.parallax-slider').addClass('loaded'); } }); $('.bg-img-base').addClass('in'); }, // Button click function Button: function () { $('.affa-map .btn-collapse').on('click', function (e) { if ($(this).hasClass('in')) { $(this).removeClass('in').siblings('.map-overlay').fadeIn(100); } else { $(this).addClass('in').siblings('.map-overlay').fadeOut(100); } return false; }); }, // Form submit function Form: function () { var pattern = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i; // Checking subcribe form input when focus and keypress event $('.affa-form-subscribe input[type="text"], .affa-form-subscribe input[type="email"]').on('focus keypress', function () { var $input = $(this); if ($input.hasClass('error')) { $input.val('').removeClass('error'); } if ($input.hasClass('success')) { $input.val('').removeClass('success'); } }); // Checking form input when focus and keypress event $('.affa-form-signup input[type="text"], .affa-form-signup input[type="email"], .affa-form-signup input[type="password"], .affa-form-signup input[type="number"], .affa-form-signup textarea, .affa-form-signup select').on('focus keypress', function () { var $input = $(this); if ($input.hasClass('error')) { $input.removeClass('error'); } }); // Subscribe form when submit button clicked $('.affa-form-subscribe').submit(function () { var $email = $(this).find('input[name="email"]'); var $submit = $(this).find('input[name="submit"]'); if (pattern.test($email.val()) === false) { $email.val('Please enter a valid email address!').addClass('error'); } else { var submitData = $(this).serialize(); $email.attr('disabled', 'disabled'); $submit.attr('disabled', 'disabled'); $.ajax({ type: 'POST', url: 'process-subscribe.php', data: submitData + '&action=add', dataType: 'html', success: function (msg) { if (parseInt(msg, 0) !== 0) { var msg_split = msg.split('|'); if (msg_split[0] === 'success') { $submit.removeAttr('disabled'); $email.removeAttr('disabled').val(msg_split[1]).addClass('success'); } else { $submit.removeAttr('disabled'); $email.removeAttr('disabled').val(msg_split[1]).addClass('error'); } } } }); } return false; }); // Signup form when submit button clicked $('.affa-form-signup').submit(function () { var $form = $(this); var submitData = $form.serialize(); var $name = $form.find('input[name="name"]'); var $email = $form.find('input[name="email"]'); var $phone = $form.find('input[name="phone"]'); var $message = $form.find('textarea[name="message"]'); var $submit = $form.find('input[name="submit"]'); var status = true; if ($email.val() === '' || pattern.test($email.val()) === false) { $email.addClass('error'); status = false; } if ($message.val() === '') { $message.addClass('error'); status = false; } if (status) { $name.attr('disabled', 'disabled'); $email.attr('disabled', 'disabled'); $phone.attr('disabled', 'disabled'); $message.attr('disabled', 'disabled'); $submit.attr('disabled', 'disabled'); $.ajax({ type: 'POST', url: 'process-signup.php', data: submitData + '&action=add', dataType: 'html', success: function (msg) { if (parseInt(msg, 0) !== 0) { var msg_split = msg.split('|'); if (msg_split[0] === 'success') { $name.val('').removeAttr('disabled'); $email.val('').removeAttr('disabled'); $phone.val('').removeAttr('disabled'); $message.val('').removeAttr('disabled'); $submit.removeAttr('disabled'); $form.parents('.header-form').find('.submit-status').html(' ' + msg_split[1] + '').fadeIn(300).delay(3000).fadeOut(300); } else { $name.removeAttr('disabled'); $email.removeAttr('disabled'); $phone.removeAttr('disabled'); $message.removeAttr('disabled'); $submit.removeAttr('disabled'); $form.parents('.header-form').find('.submit-status').html(' ' + msg_split[1] + '').fadeIn(300).delay(3000).fadeOut(300); } } } }); } status = true; return false; }); } }; // Run the main function $(function () { Conversi.init(); }); })(window.jQuery);