function getCart(){ //запрос содержимого корзины с сервера
$.post('/cart/show').done(function(res){showCart(res)}).fail(function(){ alert('Error! Ошибка получения корзины'+res)});
}
function showCart(cart) { // отображение содержимого корзины в модальном окне
$('#cart .modal-body').html(cart);
$('#cart').modal();
}
function clearCart(){ //функция для очистки корзины
$.post('/cart/clear').done(function(res){renewCart(); showCart(res);}).fail(function(){alert('Error clearCart')});
}
function renewCart(){ // функция для обновления итога корзины
$.ajax({
url: '/cart/rechange',
type: 'POST',
dataType: 'json',
data: {_csrf: yii.getCsrfToken()},
success: function(res){
$('#cart_qty').html(res[0]); //это количество товаров в модальной корзине
$('#cart_sum_modal').html(res[0]=='' ? '' : res[1]+" руб."); //это сумма итого в модальной корзине
$('#price2_rub').html(res[0]=='' ? '' : number_format(res[1],0,'',' ')+" руб."); // этонижняя корзина
var tovar= String(res[0]).length==1? String(res[0]) : (String(res[0]).substr(-2,1)!=1)? String(res[0]).substr(-1,1) : 9;
$('#price3_rub').html(res[0]=='' ? '' : res[0]+" "+(tovar==1 ? 'товар' : (tovar>1 && tovar<5) ? 'товара' : 'товаров')+"
"+number_format(res[1],0,'',' ')+" руб."); // это верхняя корзина
},
error: function(res){var str= res['responseText'];}
});
}
function changeCart(id, qty) { //передает серверу информацию об изменении корзины при корректировке количества товара в модальном окне
$.post('/cart/change', {id: id, qty: qty}).done(function(res){renewCart()}).fail(function() {alert('Error changeCart')})
};
$('#cart .modal-body').on('click', '.del-item', function(){// функция для удаления товара из модального окна
$.post('/cart/del-item',{id: $(this).data('id')}).done(function(res){renewCart(); showCart(res)}).fail(function(){alert('Error modal!')})
});
$('.add-to-cart').on('click', function (e) { //функция для добавления товара в корзину
e.preventDefault();
var str='';
$.post('/cart/add', {id: $(this).data('id'), qty: Math.abs($('#qty').val())}).done(function () {renewCart(); flyProduct(e)}).fail(function (res) {for(k in res) {
str += k+": "+ res[k]+"\r\n";
}
/*alert("Ошибка добавления в корзину!"+str)*/})
});
function addToCartNew(id, qty, event) {
var str='';
$.post('/cart/add', {id: id, qty: qty})
.done(function () {renewCart(); flyProduct(event)})
.fail(function (res) {for(k in res) {
str += k+": "+ res[k]+"\r\n";
}
})
};
function number_format(number, decimals, dec_point, thousands_sep) {//number -исходное число, decimals -количество знаков после разделителя, dec_point - разделитель, thousands_sep - разделитель тысячных
var number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
var n = !isFinite(+number) ? 0 : +number;
var prec = !isFinite(+decimals) ? 0 : Math.abs(decimals);
var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
var s = '';
toFixedFix = function(n, prec) {var k = Math.pow(10, prec); return '' + (Math.round(n * k) / k) .toFixed(prec)};
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)) // Fix for IE parseFloat(0.55).toFixed(0) = 0;
.split('.');
if (s[0].length > 3) s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
if ((s[1] || '') .length < prec) { s[1] = s[1] || ''; s[1] += new Array(prec - s[1].length + 1) .join('0');}
return s.join(dec);
}
function flyProduct(event) {
console.log(event);
console.log(event.offsetTop);
console.log(event.clientLeft);
$('body').append('');
$('.animtocart').css({'left': event.clientX-25,'top' : event.clientY-25});
var cart = $('.korzina_verh').is(':visible') ? $('.korzina_verh').offset() : $('.korzina_niz').offset();
$('.animtocart').animate({top: cart.top - window.pageYOffset + 'px', left: cart.left + 'px', width:25, height:25}, 800, function(){$('.animtocart').remove()});
}