135 lines
2.5 KiB
JavaScript
135 lines
2.5 KiB
JavaScript
/*
|
|
Name: Church
|
|
Written by: Okler Themes - (http://www.okler.net)
|
|
Theme Version: 9.9.2
|
|
*/
|
|
|
|
(function( $ ) {
|
|
|
|
'use strict';
|
|
|
|
/*
|
|
* Validate
|
|
*/
|
|
if($('#contactFormMessage').get(0) ) {
|
|
$('#contactFormMessage').validate({
|
|
onkeyup: false,
|
|
onclick: false,
|
|
onfocusout: false,
|
|
errorPlacement: function(error, element) {
|
|
if (element.attr('type') == 'radio' || element.attr('type') == 'checkbox') {
|
|
error.appendTo(element.parent().parent());
|
|
} else {
|
|
error.insertAfter(element);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
/*
|
|
* Ajax on Page
|
|
*/
|
|
var ajaxOnPagePortfolioDetails = {
|
|
|
|
pages: [],
|
|
$ajaxBox: $('#galleryAjaxBox'),
|
|
$ajaxBoxContent: $('#galleryAjaxBoxContent'),
|
|
|
|
build: function() {
|
|
|
|
var self = this;
|
|
|
|
$('a[data-ajax-on-page]').each(function() {
|
|
self.add($(this));
|
|
});
|
|
|
|
$(document).on('mousedown', 'a[data-ajax-on-page]', function (ev) {
|
|
if (ev.which == 2) {
|
|
ev.preventDefault();
|
|
return false;
|
|
}
|
|
});
|
|
|
|
},
|
|
|
|
add: function($el) {
|
|
|
|
var self = this,
|
|
href = $el.attr('data-href');
|
|
|
|
self.pages.push(href);
|
|
|
|
$el.on('click', function(e) {
|
|
e.preventDefault();
|
|
self.show(self.pages.indexOf(href));
|
|
|
|
// Remove active from all items
|
|
$('a[data-ajax-on-page]').find('.thumb-info-wrapper').removeClass('active');
|
|
|
|
// Set active current selected item
|
|
$(this).find('.thumb-info-wrapper').addClass('active');
|
|
});
|
|
|
|
},
|
|
|
|
events: function() {
|
|
|
|
var self = this;
|
|
|
|
// Carousel
|
|
if ($.isFunction($.fn['themePluginCarousel'])) {
|
|
|
|
$(function() {
|
|
$('[data-plugin-carousel]:not(.manual), .owl-carousel:not(.manual)').each(function() {
|
|
var $this = $(this),
|
|
opts;
|
|
|
|
var pluginOptions = theme.fn.getOptions($this.data('plugin-options'));
|
|
if (pluginOptions)
|
|
opts = pluginOptions;
|
|
|
|
$this.themePluginCarousel(opts);
|
|
});
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
show: function(i) {
|
|
|
|
var self = this;
|
|
|
|
self.$ajaxBoxContent.empty();
|
|
self.$ajaxBox.removeClass('ajax-box-init').addClass('ajax-box-loading');
|
|
|
|
$('html, body').animate({
|
|
scrollTop: self.$ajaxBox.offset().top - 100
|
|
}, 300, 'easeOutQuad');
|
|
|
|
// Ajax
|
|
$.ajax({
|
|
url: self.pages[i],
|
|
complete: function(data) {
|
|
|
|
setTimeout(function() {
|
|
|
|
self.$ajaxBoxContent.html(data.responseText);
|
|
self.$ajaxBox.removeClass('ajax-box-loading');
|
|
|
|
self.events();
|
|
|
|
}, 1000);
|
|
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if($('#galleryAjaxBox').get(0)) {
|
|
ajaxOnPagePortfolioDetails.build();
|
|
}
|
|
|
|
}).apply( this, [ jQuery ]); |