477 lines
10 KiB
JavaScript
477 lines
10 KiB
JavaScript
/*
|
|
Name: Wedding
|
|
Written by: Okler Themes - (http://www.okler.net)
|
|
Theme Version: 8.0.0
|
|
*/
|
|
|
|
(function( $ ) {
|
|
|
|
'use strict';
|
|
|
|
/*
|
|
Slider
|
|
*/
|
|
$('#revolutionSlider').revolution({
|
|
sliderType: 'standard',
|
|
sliderLayout: 'fullwidth',
|
|
delay: 9000,
|
|
gridwidth: 1170,
|
|
gridheight: 810,
|
|
disableProgressBar: 'on',
|
|
spinner: 'spinner3',
|
|
parallax:{
|
|
type:"mouse",
|
|
origo:"slidercenter",
|
|
speed:2000,
|
|
levels:[2,3,4,5,6,7,12,16,10,50],
|
|
},
|
|
navigation: {
|
|
arrows: {
|
|
style: "hades",
|
|
enable: false,
|
|
hide_onmobile: false,
|
|
hide_onleave: false,
|
|
tmp: '<div class="tp-arr-allwrapper"> <div class="tp-arr-imgholder"></div></div>',
|
|
left: {
|
|
h_align: "left",
|
|
v_align: "center",
|
|
h_offset: 10,
|
|
v_offset: 0
|
|
},
|
|
right: {
|
|
h_align: "right",
|
|
v_align: "center",
|
|
h_offset: 10,
|
|
v_offset: 0
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
/*
|
|
Header Logo
|
|
*/
|
|
var $headerLogo = $('.header-logo');
|
|
|
|
var showLogo = function() {
|
|
$headerLogo.addClass('loaded').addClass('animated fadeInUp');
|
|
};
|
|
|
|
fontSpy('Great Vibes', {
|
|
success: function() {
|
|
showLogo();
|
|
},
|
|
failure: function() {
|
|
showLogo();
|
|
}
|
|
});
|
|
|
|
/*
|
|
Custom History Load More
|
|
*/
|
|
var historyLoadMore = {
|
|
|
|
pages: 0,
|
|
currentPage: 0,
|
|
$wrapper: $('#historyLoadMoreWrapper'),
|
|
$btn: $('#historyLoadMore'),
|
|
$loader: $('#historyLoadMoreLoader'),
|
|
$btnWrapper: $('#historyLoadMoreBtnWrapper'),
|
|
|
|
build: function() {
|
|
|
|
var self = this
|
|
|
|
self.pages = self.$wrapper.data('total-pages');
|
|
|
|
if(self.pages <= 1) {
|
|
|
|
self.$btnWrapper.remove();
|
|
return;
|
|
|
|
} else {
|
|
|
|
self.$btn.on('click', function() {
|
|
self.loadMore();
|
|
});
|
|
|
|
// Lazy Load
|
|
if(self.$btn.hasClass('btn-history-lazy-load')) {
|
|
self.$btn.appear(function() {
|
|
self.$btn.trigger('click');
|
|
}, {
|
|
data: undefined,
|
|
one: false,
|
|
accX: 0,
|
|
accY: 0
|
|
});
|
|
}
|
|
|
|
zoomHistoryGallery(self.$wrapper);
|
|
|
|
}
|
|
|
|
},
|
|
loadMore: function() {
|
|
|
|
var self = this;
|
|
|
|
self.$btn.hide();
|
|
self.$loader.show();
|
|
|
|
// Ajax
|
|
$.ajax({
|
|
url: 'demo-wedding-history-ajax-load-more.html',
|
|
complete: function(data) {
|
|
|
|
var $items = $(data.responseText);
|
|
|
|
setTimeout(function() {
|
|
|
|
self.$wrapper.append($items)
|
|
|
|
self.currentPage++;
|
|
|
|
if(self.currentPage < self.pages) {
|
|
self.$btn.show().blur();
|
|
} else {
|
|
self.$btnWrapper.remove();
|
|
}
|
|
|
|
// Lightbox
|
|
zoomHistoryGallery(self.$wrapper);
|
|
|
|
self.$loader.hide();
|
|
|
|
// Refresh Parallax
|
|
$(window).trigger('scroll');
|
|
|
|
}, 1000);
|
|
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var zoomHistoryGallery = function($wrapper) {
|
|
$wrapper.magnificPopup({
|
|
delegate: 'a',
|
|
type: 'image',
|
|
closeOnContentClick: false,
|
|
closeBtnInside: false,
|
|
mainClass: 'mfp-with-zoom mfp-img-mobile',
|
|
image: {
|
|
verticalFit: true,
|
|
titleSrc: function(item) {
|
|
|
|
}
|
|
},
|
|
gallery: {
|
|
enabled: true
|
|
},
|
|
zoom: {
|
|
enabled: true,
|
|
duration: 300,
|
|
opener: function(element) {
|
|
return element.find('img');
|
|
}
|
|
},
|
|
callbacks: {
|
|
open: function() {
|
|
$('html').addClass('lightbox-opened');
|
|
},
|
|
close: function() {
|
|
$('html').removeClass('lightbox-opened');
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
/*
|
|
Custom Blog Load More
|
|
*/
|
|
var blogLoadMore = {
|
|
|
|
pages: 0,
|
|
currentPage: 0,
|
|
$wrapper: $('#blogLoadMoreWrapper'),
|
|
$btn: $('#blogLoadMore'),
|
|
$loader: $('#blogLoadMoreLoader'),
|
|
$btnWrapper: $('#blogLoadMoreBtnWrapper'),
|
|
|
|
build: function() {
|
|
|
|
var self = this
|
|
|
|
self.pages = self.$wrapper.data('total-pages');
|
|
|
|
if(self.pages <= 1) {
|
|
|
|
self.$btnWrapper.remove();
|
|
return;
|
|
|
|
} else {
|
|
|
|
// init isotope
|
|
self.$wrapper.isotope();
|
|
|
|
self.$btn.on('click', function() {
|
|
self.loadMore();
|
|
});
|
|
|
|
// Lazy Load
|
|
if(self.$btn.hasClass('btn-blog-lazy-load')) {
|
|
self.$btn.appear(function() {
|
|
self.$btn.trigger('click');
|
|
}, {
|
|
data: undefined,
|
|
one: false,
|
|
accX: 0,
|
|
accY: 0
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
loadMore: function() {
|
|
|
|
var self = this;
|
|
|
|
self.$btn.hide();
|
|
self.$loader.show();
|
|
|
|
// Ajax
|
|
$.ajax({
|
|
url: 'demo-wedding-blog-ajax-load-more.html',
|
|
complete: function(data) {
|
|
|
|
var $items = $(data.responseText);
|
|
|
|
setTimeout(function() {
|
|
|
|
self.$wrapper.append($items)
|
|
|
|
self.$wrapper.isotope('appended', $items);
|
|
|
|
self.currentPage++;
|
|
|
|
if(self.currentPage < self.pages) {
|
|
self.$btn.show().blur();
|
|
} else {
|
|
self.$btnWrapper.remove();
|
|
}
|
|
|
|
// Carousel
|
|
$(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);
|
|
});
|
|
});
|
|
|
|
self.$loader.hide();
|
|
|
|
// Refresh Parallax
|
|
$(window).trigger('scroll');
|
|
|
|
}, 1000);
|
|
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
setTimeout(function(){
|
|
if($('#historyLoadMoreWrapper').get(0)) {
|
|
historyLoadMore.build();
|
|
}
|
|
|
|
if($('#blogLoadMoreWrapper').get(0)) {
|
|
blogLoadMore.build();
|
|
}
|
|
}, 500);
|
|
|
|
/*
|
|
Popup with video or map
|
|
*/
|
|
$('.popup-gmaps').magnificPopup({
|
|
type: 'iframe',
|
|
mainClass: 'mfp-fade',
|
|
removalDelay: 160,
|
|
preloader: false,
|
|
|
|
fixedContentPos: false
|
|
});
|
|
|
|
/*
|
|
Guestbook Form
|
|
*/
|
|
$('#guestbookSendMessage').validate({
|
|
submitHandler: function(form) {
|
|
|
|
var $form = $(form),
|
|
$messageSuccess = $('#guestBookSuccess'),
|
|
$messageError = $('#guestBookError'),
|
|
$submitButton = $(this.submitButton),
|
|
$errorMessage = $('#guestBookErrorMessage'),
|
|
submitButtonText = $submitButton.val();
|
|
|
|
$submitButton.val( $submitButton.data('loading-text') ? $submitButton.data('loading-text') : 'Loading...' ).attr('disabled', true);
|
|
|
|
// Ajax Submit
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: $form.attr('action'),
|
|
data: {
|
|
name: $form.find('#guestbookName').val(),
|
|
email: 'you@domain.com',
|
|
subject: 'Wedding - Guestbook',
|
|
message: $form.find('#guestbookMessage').val()
|
|
}
|
|
}).always(function(data, textStatus, jqXHR) {
|
|
|
|
$errorMessage.empty().hide();
|
|
|
|
if (data.response == 'success') {
|
|
|
|
$messageSuccess.removeClass('d-none');
|
|
$messageError.addClass('d-none');
|
|
|
|
// Reset Form
|
|
$form.find('.form-control')
|
|
.val('')
|
|
.blur()
|
|
.parent()
|
|
.removeClass('has-success')
|
|
.removeClass('has-danger')
|
|
.find('label.error')
|
|
.remove();
|
|
|
|
if (($messageSuccess.offset().top - 80) < $(window).scrollTop()) {
|
|
$('html, body').animate({
|
|
scrollTop: $messageSuccess.offset().top - 80
|
|
}, 300);
|
|
}
|
|
|
|
$form.find('.form-control').removeClass('error');
|
|
|
|
$submitButton.val( submitButtonText ).attr('disabled', false);
|
|
|
|
return;
|
|
|
|
} else if (data.response == 'error' && typeof data.errorMessage !== 'undefined') {
|
|
$errorMessage.html(data.errorMessage).show();
|
|
} else {
|
|
$errorMessage.html(data.responseText).show();
|
|
}
|
|
|
|
$messageError.removeClass('d-none');
|
|
$messageSuccess.addClass('d-none');
|
|
|
|
if (($messageError.offset().top - 80) < $(window).scrollTop()) {
|
|
$('html, body').animate({
|
|
scrollTop: $messageError.offset().top - 80
|
|
}, 300);
|
|
}
|
|
|
|
$form.find('.has-success')
|
|
.removeClass('has-success');
|
|
|
|
$submitButton.val( submitButtonText ).attr('disabled', false);
|
|
|
|
});
|
|
}
|
|
});
|
|
|
|
/*
|
|
RSVP Form
|
|
*/
|
|
$('#rsvpForm').validate({
|
|
submitHandler: function(form) {
|
|
|
|
var $form = $(form),
|
|
$messageSuccess = $('#rsvpSuccess'),
|
|
$messageError = $('#rsvpError'),
|
|
$submitButton = $(this.submitButton),
|
|
$errorMessage = $('#rsvpErrorMessage'),
|
|
submitButtonText = $submitButton.val();
|
|
|
|
$submitButton.val( $submitButton.data('loading-text') ? $submitButton.data('loading-text') : 'Loading...' ).attr('disabled', true);
|
|
|
|
// Ajax Submit
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: $form.attr('action'),
|
|
data: {
|
|
name: $form.find('#rsvpName').val(),
|
|
email: 'you@domain.com',
|
|
subject: 'Wedding - RSVP',
|
|
message: 'Name' + $form.find('#rsvpName').val() + '<br>Number of guests:' + $form.find('#rsvpName').val() + '<br>Attending to:' + $form.find('#rsvpAttendingTo').val()
|
|
}
|
|
}).always(function(data, textStatus, jqXHR) {
|
|
|
|
$errorMessage.empty().hide();
|
|
|
|
if (data.response == 'success') {
|
|
|
|
$messageSuccess.removeClass('d-none');
|
|
$messageError.addClass('d-none');
|
|
|
|
// Reset Form
|
|
$form.find('.form-control')
|
|
.val('')
|
|
.blur()
|
|
.parent()
|
|
.removeClass('has-success')
|
|
.removeClass('has-danger')
|
|
.find('label.error')
|
|
.remove();
|
|
|
|
if (($messageSuccess.offset().top - 80) < $(window).scrollTop()) {
|
|
$('html, body').animate({
|
|
scrollTop: $messageSuccess.offset().top - 80
|
|
}, 300);
|
|
}
|
|
|
|
$form.find('.form-control').removeClass('error');
|
|
|
|
$submitButton.val( submitButtonText ).attr('disabled', false);
|
|
|
|
return;
|
|
|
|
} else if (data.response == 'error' && typeof data.errorMessage !== 'undefined') {
|
|
$errorMessage.html(data.errorMessage).show();
|
|
} else {
|
|
$errorMessage.html(data.responseText).show();
|
|
}
|
|
|
|
$messageError.removeClass('d-none');
|
|
$messageSuccess.addClass('d-none');
|
|
|
|
if (($messageError.offset().top - 80) < $(window).scrollTop()) {
|
|
$('html, body').animate({
|
|
scrollTop: $messageError.offset().top - 80
|
|
}, 300);
|
|
}
|
|
|
|
$form.find('.has-success')
|
|
.removeClass('has-success');
|
|
|
|
$submitButton.val( submitButtonText ).attr('disabled', false);
|
|
|
|
});
|
|
}
|
|
});
|
|
|
|
}).apply( this, [ jQuery ]); |