$(function() {
var basket = new ArtboxBasket({
'cartSelector': '#cart'
});
/**
* Modal form submit code
*/
$(document)
.on('beforeSubmit', '#feedback-form', function(e) {
var f = this;
var form = $(this);
var formData = form.serialize();
$.ajax({
url: form.attr("action"),
type: form.attr("method"),
data: formData,
success: function(data) {
f.reset();
$('#feedback-modal')
.modal('hide');
$('#success-modal')
.modal('show');
},
error: function() {
$('#feedback-modal')
.modal('hide');
}
});
})
.on('submit', '#feedback-form', function(e) {
e.preventDefault();
});
/**
* Contact form submitting
*/
$(document)
.on('beforeSubmit', '#contact-form', function(e) {
var f = this;
var form = $(this);
var formData = form.serialize();
$.ajax({
url: form.attr("action"),
type: form.attr("method"),
data: formData,
success: function(data) {
f.reset();
form.replaceWith(data.alert);
},
error: function() {
}
});
})
.on('submit', '#contact-form', function(e) {
e.preventDefault();
});
/**
* Button UP code
*/
if ($('#back-to-top').length) {
var scrollTrigger = 100, // px
backToTop = function() {
var scrollTop = $(window)
.scrollTop();
if (scrollTop > scrollTrigger) {
$('#back-to-top')
.addClass('show');
} else {
$('#back-to-top')
.removeClass('show');
}
};
backToTop();
$(window)
.on('scroll', function() {
backToTop();
});
$('#back-to-top')
.on('click', function(e) {
e.preventDefault();
$('html,body')
.animate({
scrollTop: 0
}, 700);
});
}
$(document)
.on('click', '.add-to-basket', function(e) {
e.preventDefault();
var id = $(this)
.data('id');
var xhr = basket.add(id, 1);
xhr.done(function() {
$.pjax.reload({
container: '#basket-modal',
fragment: '#basket-modal',
timeout: 5000
});
});
if ($('.alert-cart').length > 0) {
} else {
$('body')
.prepend($("
Товар добавлен в корзину.
"));
setTimeout(function() {
$(".alert-cart")
.addClass("active");
}, 100);
setTimeout(function() {
$(".alert-cart")
.removeClass("active");
}, 3500);
setTimeout(function() {
$(".alert-cart")
.remove();
}, 3600);
}
});
$(document)
.on('click', '.remove-product-cart', function(e) {
e.preventDefault();
var id = $(this)
.parents('.product-row-basket')
.data('id');
showLoader('#basket');
var xhr = basket.remove(id);
xhr.done(function() {
$.pjax.reload({
container: '#basket',
fragment: '#basket',
timeout: 5000
});
})
});
$(document)
.on('change', '.increase-product-basket', function(e) {
var id = $(this)
.parents('.product-row-basket')
.data('id');
showLoader('#basket');
showLoader('#basket-modal');
var xhr = basket.set(id, $(this)
.val());
xhr.done(function() {
if ($('#basket').length) {
$.pjax.reload({
container: '#basket',
fragment: '#basket',
timeout: 5000
});
}
$.pjax.reload({
container: '#basket-modal',
fragment: '#basket-modal',
timeout: 5000
});
});
});
$(document)
.on('click', 'li.disabled a', function(e) {
e.preventDefault();
});
$(document)
.on('submit', '#fast-buy-form', function(e) {
e.preventDefault();
});
$(document)
.on('afterValidate', '#fast-buy-form', function(e, m, errors) {
if (!errors.length) {
var form = $(e.target);
var action = form.attr('action');
$.post(action, form.serialize(), function(data) {
if (data.success) {
$('#oneclick-modal')
.find('.modal-body')
.text(data.msg);
}
});
}
}.bind(this));
$(document)
.on(
'click', '.wishlist-rm, .wishlist-add', function() {
var button = $(this);
$.ajax(
{
url: button.data('url'),
type: "POST",
data: {
'variant': button.data('variant'),
'product': button.data('product'),
'user': button.data('user')
},
success: function(data) {
button.replaceWith(data.button);
new PNotify(
{
title: 'Info',
text: data.message,
type: 'info',
styling: 'fontawesome'
}
);
}
}
)
}
);
$(document)
.on(
'click', '.wishlist-delete', function(e) {
e.preventDefault();
var button = $(this);
$.ajax(
{
url: button.data('url'),
type: "POST",
data: {
'product': button.data('product'),
'variant': button.data('variant'),
'user': button.data('user')
},
success: function(data) {
if (data.success) {
$.pjax.reload({container: '#wishlist-products'});
new PNotify(
{
title: 'Info',
text: data.message,
type: 'info',
styling: 'fontawesome'
}
);
}
}
}
);
}
);
$(document).on('click', '.sort-cat>a', function(e){
$(this).parent().toggleClass("active");
return false;
});
$(document).on('click', '.sorter li a', function(e){
var sortclick = $(this).text();
parentsort = $(".sort-cat a span");
pstext = $(parentsort).text();
mainlink = $(".sort-cat a").attr('href');
newmainlink = $(this).attr('href');
$(parentsort).text(sortclick);
$(".sort-cat>a").attr('href', newmainlink);
$(this).text(pstext);
$(this).attr('href', mainlink);
$(".sort-cat>a").click();
$(location).attr('href',newmainlink);
return false;
});
});
function showLoader(container) {
$(container)
.prepend('');
}
$(document).ready(function ($) {
$('.vcovers').perfectScrollbar({wheelSpeed: 0.5});
});
$(function(){
var pricemin = $(".price_slider input").data("pricemin");
pricemax = $(".price_slider input").data("pricemax");
$(".price-inputs #price-min").val(pricemin);
$(".price-inputs #price-max").val(pricemax);
$("#price_interval").ionRangeSlider({
type: "double",
min: pricemin,
max: pricemax,
from: 0,
to: pricemax,
onChange: function (data) {
$(".price-inputs #price-min").val(data.from);
$(".price-inputs #price-max").val(data.to);
}
});
var slider = $("#price_interval").data("ionRangeSlider");
$(document).on('change','.price-inputs #price-min',function(){
var newmin = $(this).val();
slider.update({from: newmin});
});
$(document).on('change','.price-inputs #price-max',function(){
var newmax = $(this).val();
slider.update({to: newmax});
});
});