(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);