$(document).on('click', '.yamm .dropdown-menu', function (e) { e.stopPropagation(); }); $(document).ready(function () { $("#shop-categories").on('affix.bs.affix', function () { $('.header-middle').css('margin-bottom', $("#shop-categories").css('height')); }); $("#shop-categories").on('affix-top.bs.affix', function () { $('.header-middle').css('margin-bottom', '0px'); }); function reset_page_and_go(url) { window.location = $.param.querystring(window.location.href, 'page=1&' + url); } $('select[name=products-sort]').on('change', function () { reset_page_and_go('sort=' + $(this).val()); }); $('select[name=show-count]').on('change', function () { reset_page_and_go('paginate_by=' + $(this).val()); }); var category_sort = $.deparam.querystring().sort; if (category_sort) { $("select[name=products-sort] option[value=" + category_sort + "]").prop("selected", "selected"); } var paginate_by = $.deparam.querystring().paginate_by; if (paginate_by) { $("select[name=show-count] option[value=" + paginate_by + "]").prop("selected", "selected"); } $('.paginate a').on('click', function () { window.location = $.param.querystring(window.location.href, $(this).attr('href').replace('?', '')); return false; }); $('.attr-filter').each(function () { var check_block = $(this); var checkboxes = []; $(this).find('input:checkbox').each(function () { var current_checkbox = $(this); checkboxes.push(current_checkbox); current_checkbox.change(function () { var retstring = ''; $.each(checkboxes, function () { if ($(this).prop('name') != current_checkbox.prop('name')) { var checkval = 'false'; if ($(this).prop('checked')) { checkval = $(this).val(); } retstring += '&' + $(this).prop('name') + '=' + checkval; } }); var current_val = 'false'; if (current_checkbox.prop('checked')) { current_val = current_checkbox.val() } retstring += '&' + current_checkbox.prop('name') + '=' + current_val reset_page_and_go(retstring); }); }); }); $('.product-min-thumbnails a').each(function () { var link = $(this); link.on('click', function () { $('.product-big-thumbnail img').prop('src', link.prop('href')); $('#product-big-img').attr('data-zoom-image', link.attr("data-big-url")); $('.zoomContainer').remove(); $('#product-big-img').removeData('elevateZoom'); $('#product-big-img').removeData('zoomImage'); $('#product-big-img').elevateZoom({ zoomType: "inner", cursor: "crosshair", lensFadeIn: 500, lensFadeOut: 500, easing: true }); // $('.product-big-thumbnail-container').trigger('zoom.destroy'); // $('.product-big-thumbnail-container').zoom({url: link.attr("data-big-url")}); //$('a#product-big-image-url').prop('href', link.attr('data-big-url')) return false; }) }); $('#product-big-img').elevateZoom({ zoomType: "inner", cursor: "crosshair", lensFadeIn: 500, lensFadeOut: 500, easing: true }); //$('.product-big-thumbnail-container').zoom({url: $('#product-big-image-url').prop("href")}); function create_cart_add_link(product_pk, count) { return $.param.querystring('/store/cart/add/', 'pk=' + product_pk + '&count=' + count + '&next=' + window.location.pathname); } function selectVariation(value, index) { var price = $('.product-variations-selecter option[value=' + value + ']').attr('data-price'); var in_stock = $('.product-variations-selecter option[value=' + value + ']').attr('data-count'); $('.product-detail-price-span').html(price); if (in_stock > 0) { $(".product-count-selecter").dropdown('destroy'); $('.product-in-stock').show(); $('.product-not-in-stock').hide(); $('.product-count-selecter').html(''); for (i = 0; i < in_stock; i++) { var option = $(''); option.attr({'value': i + 1}).text((i + 1) + ' шт.'); $('.product-count-selecter').append(option); } //$(".product-count-selecter") $(".product-count-selecter").dropdown(); $(".product-count-selecter").on("change", function () { selectCount($(this).val(), $(this).index()); }); selectCount(1, index); $('#product-add-to-cart-link').prop('href', create_cart_add_link($('.product-variations-selecter').val(), $('.product-count-selecter').val())); } else { $('.product-count-selecter').dropdown('destroy'); $('.product-in-stock').hide(); $('.product-not-in-stock').show(); } } $(".product-variations-selecter").dropdown(); $(".product-variations-selecter").on("change", function () { selectVariation($(this).val(), $(this).index()); }); function selectCount(value, index) { var price = parseInt($('.product-detail-price-span').html()); $('.itogo-span').html(price * value); $('#product-add-to-cart-link').prop('href', create_cart_add_link($('.product-variations-selecter').val(), $('.product-count-selecter').val())); } $(".product-count-selecter").dropdown(); $(".product-count-selecter").on("change", function () { selectCount($(this).val(), $(this).index()); }); if ($('.product-count-selecter option').size() < 1) { $('.product-in-stock').hide(); $('.product-not-in-stock').show(); } else { $(".product-count-selecter").dropdown(); } $('ul.messages li').each(function () { var li = $(this); var messageType = li.attr('data-type'); swal({ html: true, type: messageType, title: "OK!", text: li.html() }); }); function selectCity() { var city = $('#id_city').val(); console.log(city); var deliv = $('#id_deliv_type').val(); var cart_itogo = $('#cart-itogo'); var order_itogo_delivery = $('#order-itogo-delivery'); var order_itogo = $('#order-itogo-amount'); var order_itogo_up = $('#order-itogo-amount-up'); var order_itogo_delivery_up = $('#order-itogo-delivery-up'); if (city && deliv) { $.ajax({ method: "GET", url: "/get_order_amount/", data: { city: city, deliv: deliv, } }) .done(function (msg) { order_itogo.html( parseFloat(msg.AmountPlusFSAmount) + parseFloat(cart_itogo.html()) ); order_itogo_up.html( parseFloat(msg.AmountPlusFSAmount) + parseFloat(cart_itogo.html()) ); order_itogo_delivery.html( parseFloat(msg.AmountPlusFSAmount) ); //cart_itogo.html( // parseFloat(msg.AmountPlusFSAmount) + parseFloat(cart_itogo.html()) //); order_itogo_delivery_up.html( parseFloat(msg.AmountPlusFSAmount) ); }); } else { order_itogo.html(cart_itogo); order_itogo_up.html(cart_itogo); order_itogo_delivery.html(0); order_itogo_delivery_up.html(0); } } function selectKazpostCity() { var city = $('#id_kazpost_city').val(); var cart_itogo = $('#cart-itogo'); var order_itogo_delivery = $('#order-itogo-delivery'); var order_itogo = $('#order-itogo-amount'); var order_itogo_up = $('#order-itogo-amount-up'); var order_itogo_delivery_up = $('#order-itogo-delivery-up'); if (city) { $.ajax({ method: "GET", url: "/get_order_kazpost_amount/", data: { city: city, } }) .done(function (msg) { order_itogo.html( parseFloat(msg.amount) + parseFloat(cart_itogo.html()) ); order_itogo_up.html( parseFloat(msg.amount) + parseFloat(cart_itogo.html()) ); order_itogo_delivery.html( parseFloat(msg.amount) ); //cart_itogo.html( // parseFloat(msg.AmountPlusFSAmount) + parseFloat(cart_itogo.html()) //); order_itogo_delivery_up.html( parseFloat(msg.amount) ); }); } else { order_itogo.html(cart_itogo); order_itogo_up.html(cart_itogo); order_itogo_delivery.html(0); order_itogo_delivery_up.html(0); } } $('#id_kazpost_city').select2({ placeholder: "Выберите почтовое отделение", allowClear: false }).on('change', function () { selectKazpostCity(); }); $('#order-call-link, #order-call-link2').magnificPopup({ type: 'inline', preloader: false, }); $('.order-order-link').magnificPopup({ type: 'inline', preloader: false, callbacks: { open: function () { $('#order-form #id_item').val($(this)[0].currItem.el[0].attributes['data-itemid'].value); } } }); $('input[name=deliv_service]').change(function () { switch ($(this).val()) { case 'kazpost' : selectKazpostCity(); $('.alemtat_block').hide(); $('.kazpost_block').show(); break; case 'alemtat' : selectCity(); $('.alemtat_block').show(); $('.kazpost_block').hide(); $('#id_city').select2({ placeholder: "Выберите город", allowClear: false }).on('change', function () { selectCity(); }); $('#id_deliv_type').select2({ placeholder: "Выберите способ доставки", allowClear: false }).on('change', function () { selectCity(); }); break; } }); selectCity(); selectKazpostCity(); $('#call-form').on('submit', function () { var f_name = $('#call-form #id_name'); var f_phone = $('#call-form #id_phone'); var f_time = $('#call-form #id_time'); var is_full = true; if (!f_name.val()) { f_name.parent().parent('.form-group').addClass('has-error'); is_full = false; } else { f_name.parent().parent('.form-group').removeClass('has-error'); } if (!f_phone.val()) { f_phone.parent().parent('.form-group').addClass('has-error'); is_full = false; } else { f_phone.parent().parent('.form-group').removeClass('has-error'); } if (!f_time.val()) { f_time.parent().parent('.form-group').addClass('has-error'); is_full = false; } else { f_time.parent().parent('.form-group').removeClass('has-error'); } if (is_full) { $.ajax({ type: "POST", url: '/order_call/', data: { name: f_name.val(), phone: f_phone.val(), time: f_time.val(), }, success: function (data) { $.magnificPopup.close(); swal("Спасибо!", "Мы приняли вашу заявку! Наш менеджер свяжется с вами в указанное время.", "success") } }); } //form-group has-error return false; }); $('#order-form').on('submit', function () { var f_name = $('#order-form #id_name'); var f_phone = $('#order-form #id_phone'); var f_email = $('#order-form #id_email'); var f_comment = $('#order-form #id_comment'); var f_item = $('#order-form #id_item'); var is_full = true; if (!f_name.val()) { f_name.parent().parent('.form-group').addClass('has-error'); is_full = false; } else { f_name.parent().parent('.form-group').removeClass('has-error'); } if (!f_phone.val()) { f_phone.parent().parent('.form-group').addClass('has-error'); is_full = false; } else { f_phone.parent().parent('.form-group').removeClass('has-error'); } if (is_full) { $.ajax({ type: "POST", url: '/order_order/', data: { name: f_name.val(), phone: f_phone.val(), email: f_email.val(), comment: f_comment.val(), item: f_item.val(), }, success: function (data) { $.magnificPopup.close(); swal("Спасибо!", "Мы приняли вашу заявку! Наш менеджер свяжется с вами в ближайшее время.", "success") } }); } //form-group has-error return false; }) $('input[name=stars]').each(function () { var star = $(this); star.parent('label').replaceWith(star); }) $('input[name=stars]').rating(); $('.star-rating-control').append('