function validatenip(nip) { var nip_bez_kresek = String(nip).replace(/-/g, ""); var reg = /^[0-9]{10}$/; if (reg.test(nip_bez_kresek) == false) { return false; } else { var dig = ("" + nip_bez_kresek).split(""); var kontrola = (6 * parseInt(dig[0]) + 5 * parseInt(dig[1]) + 7 * parseInt(dig[2]) + 2 * parseInt(dig[3]) + 3 * parseInt(dig[4]) + 4 * parseInt(dig[5]) + 5 * parseInt(dig[6]) + 6 * parseInt(dig[7]) + 7 * parseInt(dig[8])) % 11; if (parseInt(dig[9]) == kontrola) { return true; } else { return false; } } } function formatToNumber(inp) { return +(String(inp).replace(/\s+/g, '').replace(',', '.')); } function formatToPrice(inp) { return formatToNumber(inp).toFixed(2) + ' zł'; } // ACTIVITY INDICATOR $(function () { var imageLightBoxItems = { count: 0, byIndex: {}, byHref: {}, }; var activityIndicatorOn = function(){ $('
').appendTo('body'); }, activityIndicatorOff = function(){ $('#imagelightbox-loading').remove(); }, // OVERLAY overlayOn = function(){ $('
').appendTo('body'); }, overlayOff = function(){ $('#imagelightbox-overlay').remove(); }, // CLOSE BUTTON closeButtonOn = function(instance){ $('').appendTo('body').on('click touchend', function() { $(this).remove(); instance.quitImageLightbox(); return false; }); }, closeButtonOff = function(){ $('#imagelightbox-close').remove(); }, // CAPTION captionOn = function(){ var description = $('a[href="' + $('#imagelightbox').attr('src') + '"] img').attr('alt'); if (description != '' && description != undefined) $('
' + description + '
').appendTo('body'); }, captionOff = function(){ $('#imagelightbox-caption').remove(); }, // NAVIGATION navigationOn = function(instance, selector){ var images = $(selector); if (images.length) { var nav = $('
'); for (var i = 0; i < images.length; i++) nav.append(''); nav.appendTo('body'); nav.on('click touchend', function() { return false; }); var navItems = nav.find('button'); navItems.on('click touchend', function() { var $this = $(this); if (images.eq($this.index()).attr('href') != $('#imagelightbox').attr('src')) instance.switchImageLightbox($this.index()); navItems.removeClass('active'); navItems.eq($this.index()).addClass('active'); return false; }) .on('touchend', function() { return false; }); } }, navigationUpdate = function(selector) { var items = $('#imagelightbox-nav button'); items.removeClass('active'); items.eq($(selector).filter('[href="' + $('#imagelightbox').attr('src') + '"]').index(selector)).addClass('active'); }, navigationOff = function(){ $('#imagelightbox-nav').remove(); }, // ARROWS arrowsOn = function (instance, selector) { var $arrows = $(''); $arrows.appendTo('body'); $arrows.on('click touchend', function (e) { var $this = $(this); var index = imageLightBoxItems.byHref[$('#imagelightbox').attr('src')]; e.preventDefault(); if (typeof index === 'undefined') { return false; } if ($this.hasClass('imagelightbox-arrow-left')) { index = index - 1; if (typeof imageLightBoxItems.byIndex[index] === 'undefined') { index = imageLightBoxItems.count - 1; } } else { index = index + 1; if (typeof imageLightBoxItems.byIndex[index] === 'undefined') { index = 0; } } instance.switchImageLightbox(index); return false; }); }, arrowsOff = function() { $('.imagelightbox-arrow').remove(); }; var imageLighBoxSelector = 'a.fancybox', imageLightboxInstance = $(imageLighBoxSelector).imageLightbox({ onStart: function() { overlayOn(); closeButtonOn( imageLightboxInstance ); arrowsOn( imageLightboxInstance, imageLighBoxSelector ); }, onEnd: function() { overlayOff(); captionOff(); closeButtonOff(); arrowsOff(); activityIndicatorOff(); }, onLoadStart: function() { captionOff(); activityIndicatorOn(); }, onLoadEnd: function() { captionOn(); activityIndicatorOff(); $( '.imagelightbox-arrow' ).css( 'display', 'block' ); } }); $(imageLighBoxSelector).each(function (index) { imageLightBoxItems.byHref[$(this).attr('href')] = index; imageLightBoxItems.byIndex[index] = $(this).attr('href'); imageLightBoxItems.count += 1; }); console.log(imageLighBoxSelector); }); $(function () { var owlSliderResponsiveOptions = { 0: { items: 1, autoplay: true, nav: false }, 500: { items: 2, autoplay: true, nav: false }, 1022: { items: 3 }, 1230: { items: 4 }, }; if ($.lockfixed) { if ($('.order-floating-sidebar').length > 0) { $.lockfixed($('.order-floating-sidebar'), { offset: { top: $('.top-links').outerHeight() + 15, bottom: $('.l-footer').outerHeight() + 40, } }); } } $('.main-slider .slider').owlCarousel({ nav: false, dots: true, loop: true, autoplay: true, autoplayTimeout: 3500, items: 1 }).addClass("owl-carousel").addClass("owl-theme"); $('.products-carousel').owlCarousel({ nav: true, dots: false, loop: true, responsive: owlSliderResponsiveOptions }).addClass("owl-carousel").addClass("owl-theme"); $('.specialOccasions').owlCarousel({ nav: false, dots: false, loop: true, autoplay: true, autoplayTimeout:2700, smartSpeed: 900, responsive: { 0: { items: 1, autoplay: true, nav: false }, 500: { items: 2, autoplay: true, nav: false }, 798: { items: 1 }, } }).addClass("owl-carousel").addClass("owl-theme"); $('.product-slider-inner').owlCarousel({ nav: true, dots: false, loop: true, autoplay: false, responsive: owlSliderResponsiveOptions }).addClass("owl-carousel").addClass("owl-theme"); $('.producerNav a').click(function(e){ e.preventDefault(); scroll(this.hash); }); function scroll(hash) { var target = $(hash); if (target.length) { $('html,body').stop().animate({ scrollTop: (target.offset().top-30) }, 1000); return false; } } $('#contactFormSend').on('submit', function(evt){ evt.preventDefault(); var k = [ 'name', 'question' ], good = true; $(this).find('[name]').removeClass('error'); $(this).find('p.ajaxInfo').hide(); if ( /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test( $(this).find('[name="mail"]').val() ) == false ){ //$(this).find('[name="mail"]').addClass('error'); good = false; } if ( $(this).find('[name="phone"]').val().replace(/[^\d]/, '').length < 9 ){ //$(this).find('[name="phone"]').addClass('error'); good = false; } for ( var i = 0; i < k.length; i++ ){ var obj = $(this).find('[name="'+ k[i] +'"]'); if ( obj.val().length <= 1 ){ good = false; // obj.addClass('error'); } } if ( good ){ $.post( $(this).attr('action'), $(this).serialize(), (function(response){ if (response.indexOf('false') === -1) { $(this).find('input, textarea').val(''); $(this).find('p.ajaxInfo.ok').show(); } else { $(this).find('p.ajaxInfo.error_send').show(); } }).bind(this)); } else { $(this).find('p.ajaxInfo.error').show(); } }); $('#shopAskForm').on('submit', function(evt){ evt.preventDefault(); var k = [ 'question' ], good = true; $(this).find('.error').removeClass('error'); $(this).find('p.ajaxInfo').hide(); if ( /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test( $(this).find('[name="mail"]').val() ) == false ){ $(this).find('[name="mail"]').addClass('error'); good = false; } for ( var i = 0; i < k.length; i++ ){ var obj = $(this).find('[name="'+ k[i] +'"]'); if ( obj.val().length <= 1 ){ good = false; obj.addClass('error'); } } if ( good ){ $.post( $(this).attr('action'), $(this).serialize(), (function(response){ if (response.indexOf('false') === -1) { $(this).find('input:not([type="hidden"]), textarea').val(''); $(this).find('p.ajaxInfo.ok').show(); } else { $(this).find('p.ajaxInfo.error_send').show(); } }).bind(this)); } else { $(this).find('p.ajaxInfo.error').show(); } }); /* * FORMULARZ REJESTRACJI */ $(document).on('change', '#r_addressData', function(evt){ if ( $(this).prop('checked') ){ // pokazujemy adres w formularzu $('.address-switch').show(250); } else { // ukrywamy adres w formularzu $('.address-switch').hide(250); } }); $('#cookiebtn').click(function(){ $('#cookieinfo').load(__URL__ +'acceptcookie.php').remove(); return false; }); $('#registerFrm').on('submit', function(evt){ var good = true, form = $(this), fieldNames = [ 'name','surname','street','town','company' ]; form.find('[name]').removeClass('error'); form.find('p.ajaxInfo').hide(); // wymagane if ( /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test( form.find('[name="email"]').val() ) == false ){ good = false; form.find('[name="email"]').addClass('error'); } if ( form.find('[name="pass"]').val().length < 6 || form.find('[name="pass"]').val() !== form.find('[name="pass2"]').val() ){ good = false; form.find('[name="pass"], [name="pass2"]').addClass('error'); } if ( form.find('[name="regulamin"]').prop('checked') === false ){ good = false; form.find('[name="regulamin"]').addClass('error'); } if ( form.find('[name="zgoda"]').prop('checked') === false ){ good = false; form.find('[name="zgoda"]').addClass('error'); } // opcjonalne if ( form.find('[name="addressData"]').prop('checked') === true ){ if ( form.find('[name="phone"]').val().length > 0 && form.find('[name="phone"]').val().replace(/[^\d+]/gi, '').length < 9 ){ good = false; form.find('[name="phone"]').addClass('error'); } if ( form.find('[name="zipCode"]').val().length > 0 && /^[\d]{2}-[\d]{3}$/.test( form.find('[name="zipCode"]').val() ) === false ){ good = false; form.find('[name="zipCode"]').addClass('error'); } if ( form.find('[name="nip"]').val().length > 0 && !validatenip( form.find('[name="nip"]').val() ) ){ good = false; form.find('[name="nip"]').addClass('error'); } } if ( !good ){ evt.preventDefault(); return false; } }); }); /* * BASKET DISCOUNTS */ $(function () { var $message_box = $('#basket-discount-success'); var hideMessage = function () { $message_box.addClass('hidden'); }; var showMessage = function (message, is_error) { $message_box.removeClass('hidden'); if (is_error) { $message_box.addClass('alert-danger'); $message_box.removeClass('alert-success'); } else { $message_box.removeClass('alert-danger'); $message_box.addClass('alert-success'); } $message_box.text(message); }; if (!$('#basket-form') || $('#basket-form').length !== 1) { return false; } $(document).on('keydown', '.discount-box input[name="discount_code"]', function (evt) { if (evt.keyCode === 13) { evt.preventDefault(); evt.stopPropagation(); $('#basket-discount-submit').trigger('click'); } }); $(document).on('click', '#basket-discount-submit', function (evt) { var elem = $('.discount-box input[name="order_value"]'); var data = { code: $('.discount-box input[name="discount_code"]').val(), order_value: +elem.val(), prices: { can: +elem.data('can'), cannot: +elem.data('cannot'), new_can: +elem.data('new-can'), new_cannot: +elem.data('new-cannot'), } }; var handleErrors = function (resp) { if (resp.hasOwnProperty('code') && $('#login-popup .alert-placerholder').length.length > 0) { // alert( resp.error ); $('#mainheader [data-popup="login-popup"]').click(); $('#login-popup').addClass('with-msg'); $('#login-popup .alert-placerholder').html('

' + resp.error + '

'); } else { showMessage(resp.error, true); // alert(resp.error); } }; var getFreeShippingInfo = function (resp) { var html = ''; if (!resp.free_shipping_ids || resp.free_shipping_ids.length === 0 || !resp.free_shipping_names || resp.free_shipping_names.length === 0) { return false; } html += ''; return html; }; var getRowHtml = function (display_name, display_value) { var html = '\ \  \  \ ' + display_name + '\ ' + display_value + '\ \ '; return html; }; var updateDiscountInfo = function (resp) { var new_collection_only = false; var value = 0; var value_type = '%'; var order_value = parseFloat($('.discount-box input[name="order_value"]').val()); var end_value = order_value; var display_value = ''; var display_name = ''; var free_shipping_info = getFreeShippingInfo(resp); var html = ''; $('#discount-price-regular .totalPrice').removeClass('line-through'); $('#discount-price-discounted .totalPrice').text(''); $('#discount-price-discounted').addClass('hidden'); value = parseFloat(resp.value); value_type = resp.value_type; new_collection_only = +resp.new === 1 ? true : false; if (value > 0) { display_name = 'Rabat'; if (value_type === '%') { if (new_collection_only) { end_value = order_value - data.prices.new_can; end_value += data.prices.new_can * (1 - (value / 100)); } else { end_value = order_value - data.prices.can; end_value += data.prices.can * (1 - (value / 100)); } display_value = value + value_type; } else if (value_type === 'pln') { end_value = order_value - value; display_value = value.toFixed(2).replace('.', ',') + value_type.replace('pln', ' zł'); } html += getRowHtml(display_name, display_value); } if (free_shipping_info) { display_name = 'Darmowa dostawa dla opcji: ' + free_shipping_info; display_value = ''; html += getRowHtml(display_name, display_value); } if (resp.price_after_discount) { $('#discount-price-regular .totalPrice').addClass('line-through'); $('#discount-price-discounted .totalPrice').text(formatToPrice(resp.price_after_discount)).removeClass('hidden'); $('#discount-price-discounted').removeClass('hidden'); } $('.basket-table tbody tr:last-of-type').before(html); showMessage('Kod rabatowy został uznany'); }; var handleResponse = function (resp) { if (resp.hasOwnProperty('error')) { handleErrors(resp); } else if (resp.hasOwnProperty('value') && resp.hasOwnProperty('value_type') && resp.hasOwnProperty('new')) { updateDiscountInfo(resp); } else { $('#discount-price-regular .totalPrice').removeClass('line-through'); $('#discount-price-discounted .totalPrice').text(''); $('#discount-price-discounted').addClass('hidden'); hideMessage(); } }; hideMessage(); evt.preventDefault(); $.post(__URL__ + 'ajax/checkRabat.php', data, function (resp) { var order_value = parseFloat($('.discount-box input[name="order_value"]').val()); $('.basket-table tbody .discountRow').remove(); $('#basket-form .totalPrice').text(order_value.toFixed(2).toString().replace('.', ',') + ' zł'); handleResponse(resp); }, 'json'); }); if ($('.discount-box input[name="discount_code"]').length > 0 && $('.discount-box input[name="discount_code"]').val().length > 1) { $('#basket-discount-submit').trigger('click'); } }); /* * // BASKET DISCOUNTS */ /* * ORDER FORM */ $(function () { var form = $('#zamowienieForm'); var tableDelivery = $('.tableDelivery'); var tablePayment = $('.tablePayment'); var invoiceSwitch = $('#zamowienieForm input[name="invoice"]'); var invoiceContent = $('.js--invoiceContent'); var copyToInvoice = $('.js--copyToInvoice'); var need_full_address = true; var full_address_fields = [ form.find('[name="street"]'), form.find('[name="number"]'), form.find('[name="zipCode"]'), form.find('[name="town"]') ]; var full_address_field_names = ['street', 'number', 'zipCode', 'town']; var payment_tables = {}; var summary_elems = { delivery: form.find('#order-summary-delivery'), payment: form.find('#order-summary-payment'), address: form.find('#order-summary-address'), invoice: form.find('#order-summary-invoice'), invoice_wrap: form.find('#order-summary-invoice-wrap') }; var getFormatted = (function () { var row_template = form.find('#order-summary-address .template'); var fieldNames = ['name', 'surname', 'street', 'town', 'number']; var fieldNamesCompany = ['company', 'nip', 'invoice_street', 'invoice_number', 'invoice_zipCode', 'invoice_town']; var delivery = function () { var shipping_input = form.find('[name="shipping_id"]:checked'); var table = shipping_input.closest('table'); var details_html = table.find('.tableDelivery--details label').eq(0).text(); var image_html = table.find('.tableDelivery--img img').html(); var point = table.find('.shipping-point-label'); if (point.length > 0 && point.text()) { details_html += '
' + point.text() + ''; } return details_html; }; var payment = function () { var payment_input = form.find('[name="payment_id"]:checked'); var table = payment_input.closest('table'); var details_html = table.find('.tablePayment--label').html(); var image_html = table.find('.tablePayment--img img').html(); return details_html.replace('(nie podano)'; var field_label = field.closest('.row').find('label').text(); var row = row_template.clone().removeClass('hidden'); row.find('.field-name').html(field_label); row.find('.field-value').html(field_value); html += row[0].outerHTML; }); return html; }; var invoice = function () { var html = ''; $(fieldNamesCompany).each(function (_ignore, field_name) { var field = form.find('[name="' + field_name + '"]'); var field_value = field.val().trim() || '(nie podano)'; var field_label = field.closest('.row').find('label').text(); var row = row_template.clone().removeClass('hidden'); row.find('.field-name').html(field_label); row.find('.field-value').html(field_value); html += row[0].outerHTML; }); return html; }; return { delivery: delivery, payment: payment, address: address, invoice: invoice }; }()); var updateSummaryInfo = function () { var has_invoice = form.find('input[name="invoice"]:checked').val() === 'true'; summary_elems.delivery.html(getFormatted.delivery()); summary_elems.payment.html(getFormatted.payment()); summary_elems.address.html(getFormatted.address()); if (has_invoice) { summary_elems.invoice_wrap.removeClass('hidden'); summary_elems.invoice.html(getFormatted.invoice()); } else { summary_elems.invoice_wrap.addClass('hidden'); summary_elems.invoice.html(''); } }; var validateDeliverySubservices = (function () { var validate_map = { inpost: 'inpost-point', pp: 'poczta-point', pwr: 'pwr-point', }; var subserviceValidate = function (type) { var $table = form.find('[name="'+ validate_map[type] +'"]').closest('.tableDelivery'); var val; $table.find('.shipping-subservice-error').fadeOut(250); if (String(type).trim().length === 0) { return true; } if (!validate_map[type]) { return false; } val = form.find('[name="'+ validate_map[type] +'"]').val(); if (String(val).trim().length < 1) { $("html, body").stop().animate({ scrollTop: $table.offset().top - 100 }, '500', 'swing', function () { $table.find('.shipping-subservice-error').fadeIn(250); }); return false; } return true; }; return subserviceValidate; }()); var needFullAddressUpdate = function () { if (need_full_address) { $(full_address_fields).each(function () { $(this).closest('.row').addClass('required'); }); } else { $(full_address_fields).each(function () { $(this).closest('.row').removeClass('required'); }); } }; var copyInvoice = function () { var dataToCopy = ['street', 'number', 'zipCode', 'town']; dataToCopy.forEach(function (item) { var name = $('[name="' + item + '"]'); var nameValue = name.val(); var invoiceName = $('[name="invoice_' + item + '"]'); invoiceName.val(nameValue); }); }; var updatePayments = function (payments) { var keys = Object.keys(payment_tables); var current_id_payment = form.find('[name="payment_id"]:checked').val(); keys.forEach(function (id_payment) { if (payments.indexOf(String(id_payment)) > -1) { payment_tables[id_payment].show(); } else { payment_tables[id_payment].hide(); } }); if (payments.indexOf(String(current_id_payment)) === -1) { payment_tables[payments[0]].find('[name="payment_id"]').prop('checked', true).trigger('change'); } }; var setupPaymentTables = function () { payment_tables = {}; form.find('[name="payment_id"]').each(function () { var id_payment = +$(this).val(); payment_tables[id_payment] = $(this).closest('.tablePayment'); }); }; var validateOrderDelivery = function (show_errors) { var checked_delivery_input = form.find('[name="shipping_id"]:checked'); var subservice = checked_delivery_input.data('service'); if (checked_delivery_input.length !== 1 || (String(subservice).length > 0 && !validateDeliverySubservices(subservice))) { if (show_errors) { checked_delivery_input.closest('table').addClass('error'); } return false; } return true; }; var validateOrderPayment = function (show_errors) { var checked_payment_input = form.find('[name="payment_id"]:checked'); var id_payment = String(checked_payment_input.val()); var checked_delivery_input = form.find('[name="shipping_id"]:checked'); var payments = String(checked_delivery_input.data('payments')).split(','); if (payments.indexOf(id_payment) === -1) { if (show_errors) { checked_payment_input.closest('table').addClass('error'); } return false; } return true; }; var validateOrderAddress = function (show_errors, dont_check_checkbox) { var i, obj; var good = true; var invoiceInput = form.find('input[name="invoice"]:checked').val(); var fieldNames = ['name', 'surname', 'street', 'town', 'number']; var fieldNamesCompany = ['company', 'nip', 'invoice_street', 'invoice_number', 'invoice_zipCode', 'invoice_town']; if (/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(form.find('[name="email"]').val()) == false) { good = false; if (show_errors) { form.find('[name="email"]').addClass('error'); } } if (dont_check_checkbox !== true) { if (form.find('[name="regulamin"]').prop('checked') === false) { good = false; if (show_errors) { form.find('[name="regulamin"]').addClass('error'); } } } if (form.find('[name="phone"]').val().replace(/[^\d+]/gi, '').length < 9) { good = false; if (show_errors) { form.find('[name="phone"]').addClass('error'); } } if (need_full_address && full_address_field_names.indexOf('zipCode') > -1) { if (/^[\d]{2}-[\d]{3}$/.test(form.find('[name="zipCode"]').val()) === false) { good = false; if (show_errors) { form.find('[name="zipCode"]').addClass('error'); } } } if ($('#r_invoice').prop('checked')) { fieldNames.push('company'); if (!validatenip(form.find('[name="nip"]').val())) { good = false; if (show_errors) { form.find('[name="nip"]').addClass('error'); } } } for (i = 0; i < fieldNames.length; i++) { obj = form.find('[name="' + fieldNames[i] + '"]'); if ((need_full_address && full_address_field_names.indexOf(fieldNames[i]) > -1) || full_address_field_names.indexOf(fieldNames[i]) === -1) { if (obj.val().length < 1) { good = false; if (show_errors) { obj.addClass('error'); } } } } if (invoiceInput == 'true') { for (i = 0; i < fieldNamesCompany.length; i++) { obj = form.find('[name="' + fieldNamesCompany[i] + '"]'); if (obj.val().length < 1) { good = false; if (show_errors) { obj.addClass('error'); } } } } if (good === false) { if (show_errors) { form.find('p.ajaxInfo.error_send').show(); } return false; } return true; }; var validateOrderFrom = function () { var address_validation; var delivery_validation; var payment_validation; form.find('.error').removeClass('error'); form.find('p.ajaxInfo').hide(); address_validation = validateOrderAddress(true); delivery_validation = validateOrderDelivery(true); payment_validation = validateOrderPayment(true); if (!address_validation || !delivery_validation || !payment_validation) { return false; } return true; }; var updateSumPrice = function () { var shipping_input = tableDelivery.find('input:checked'); var payment_input = tablePayment.find('input:checked'); var shipment_price = parseFloat(shipping_input.attr('rel')); var payment_fee = +payment_input.data('fee'); var payment_multiplier = 1 + (payment_fee / 100); var orderWorth = parseFloat($('.orderWorth').val()); var payment_value = (orderWorth + shipment_price) * (payment_fee / 100); var ow = (orderWorth + shipment_price) * payment_multiplier; if (payment_fee > 0) { $('#paymentRow').removeClass('hidden'); } else { $('#paymentRow').addClass('hidden'); } $('#shippingRow .shippingPrice').text(formatToPrice(shipment_price)); $('#paymentRow .paymentPrice').text(payment_fee + '%'); $('#paymentRow .paymentPriceValue').text(formatToPrice(payment_value)); $('.cena_sum').text(formatToPrice(ow)); }; var toggleOrderDiscount = function (show) { if (show) { $('#discountRow').show(); $('.orderWorth').val($('.orderWorth').data('discount')); } else { $('#discountRow').hide(); $('.orderWorth').val($('.orderWorth').data('normal')); } updateSumPrice(); }; if (form.length !== 1) { return false; } $('[data-toggle="tooltip"]').tooltip(); $('#zamowienieForm input[name="shipping_id"]').on('change', function () { var closestTable = $(this).closest('table'); var shipmentPrice = parseFloat($(this).attr('rel')); tableDelivery.removeClass('is-active'); closestTable.addClass('is-active'); if (+$(this).data('full-address') === 0) { need_full_address = false; } else { need_full_address = true; } needFullAddressUpdate(); updatePayments(String($(this).data('payments')).split(',')); updateSumPrice(); }); $('#zamowienieForm input[name="payment_id"]').on('change', function (evt) { var fee = +$(this).data('fee'); var closestTable = $(this).closest('table'); tablePayment.removeClass('is-active'); closestTable.addClass('is-active'); updateSumPrice(); }); $('#zamowienieForm').on('submit', function (evt) { if (!validateOrderFrom()) { evt.preventDefault(); return false; } }); $(document).on('click tap', '.tableDelivery .input-toggle-on-click', function (evt) { var input; var closestTable = $(this).closest('table'); if (evt.target.tagName.toLowerCase() !== 'input' && evt.target.tagName.toLowerCase() !== 'label') { input = $(this).find('input[type="radio"]'); input.prop('checked', true).trigger('change'); } tableDelivery.removeClass('is-active'); closestTable.addClass('is-active'); }); $(document).on('click tap', '.tablePayment .input-toggle-on-click', function (evt) { var input; var closestTable = $(this).closest('table'); if (evt.target.tagName.toLowerCase() !== 'input' && evt.target.tagName.toLowerCase() !== 'label') { input = $(this).find('input[type="radio"]'); input.prop('checked', true).trigger('change'); } tablePayment.removeClass('is-active'); closestTable.addClass('is-active'); }); invoiceSwitch.change(function () { invoiceContent.slideToggle(250); copyInvoice(); if ($(this).val() === 'true') { toggleOrderDiscount(false); } else { toggleOrderDiscount(true); } }); copyToInvoice.change(function () { var dataToCopy = ['street', 'number', 'zipCode', 'town']; if (!$(this).is(':checked')) { return; } dataToCopy.forEach(function (item) { var name = $('[name="' + item + '"]'); var nameValue = name.val(); var invoiceName = $('[name="invoice_' + item + '"]'); invoiceName.val(nameValue); }); }); (function () { var $step_buttons = form.find('.goto-step'); var $step_1 = form.find('.step-1'); var $step_2 = form.find('.step-2'); var $step_3 = form.find('.step-3'); var steps = { 1: $step_1, 2: $step_2, 3: $step_3 }; var $next_step = $step_1.find('.goto-step-2'); var $prev_step = $step_1.find('.goto-step-1'); var validateStep_1 = function () { var delivery_validation; var payment_validation; form.find('.error').removeClass('error'); form.find('p.ajaxInfo').hide(); delivery_validation = validateOrderDelivery(true); payment_validation = validateOrderPayment(true); if (!delivery_validation || !payment_validation) { return false; } return true; }; $step_buttons.on('click tap', function () { var step = +$(this).data('step'); var update_active = false; if (!steps[step]) { return false; } if (step === 1) { update_active = true; } else if (step === 2) { if (validateStep_1()) { update_active = true; } } else if (step === 3) { if (validateOrderAddress(true, true)) { update_active = true; updateSummaryInfo(); } } if (update_active) { $step_1.removeClass('active'); $step_2.removeClass('active'); $step_3.removeClass('active'); steps[step].addClass('active'); $('html, body').animate({ scrollTop: steps[step].offset().top - $('.top-links').outerHeight() }, 500); } }); $next_step.on('click tap', function () { if (validateStep_1()) { $step_1.removeClass('active'); $step_2.addClass('active'); $('html, body').animate({ scrollTop: $step_2.offset().top - $('.top-links').outerHeight() }, 500); } }); $prev_step.on('click tap', function () { $step_1.addClass('active'); $step_2.removeClass('active'); $('html, body').animate({ scrollTop: $step_1.offset().top - $('.top-links').outerHeight() }, 500); }); $('.add-comment-toggle').on('click', function () { $('.order-comment').slideToggle(300); }); }()); setupPaymentTables(); $('#zamowienieForm input[name="shipping_id"]:checked').trigger('change'); }); /* * // ORDER FORM */ /* * ???? */ $(function () { $('.selectProducer--mobile').on('change', function(){ var url = $(this).val(); if(url.length > 1) { location = url; } }); $('.mainMenu-toggle').on('click', function(){ $('.main-menu').slideToggle(300); }); $('.showSubMenu').on('click', function(e) { var parent = $(this).closest('li'); parent.toggleClass('subMenu--active'); e.preventDefault(); e.stopPropagation(); return false; }); $('.showSubMenu').on('tap', function(e) { var parent = $(this).closest('li'); parent.toggleClass('subMenu--active'); e.preventDefault(); e.stopPropagation(); return false; }); $('.showSubMenu').on('touchstart', function(e) { var parent = $(this).closest('li'); parent.toggleClass('subMenu--active'); e.preventDefault(); e.stopPropagation(); return false; }); }); /* * // ???? */ /* * SEARCH BOX */ $(function () { var form = $('#search-box'); var input = form.find('input[name="k"]'); var ul = form.find('ul'); var current_ajax_call; var current_ajax_call_timeout = null; var current_index = false; var max = 5; var prevent_scroll_key_codes = [33,34,35,36,37,38,39,40]; var getPositionTemplate = function (position) { return '\
  • \ \ \ ' + position.name + '\ \
  • '; }; var showMessage = function (msg) { ul.empty(); ul.append('
  • ' + msg + '
  • '); ul.show(); }; var showLoader = function () { if (ul.children('.loader').length === 0) { ul.empty(); ul.append('
  • '); ul.show(); } }; var addPosition = function (position) { var $tpl = getPositionTemplate(position); ul.append($tpl); ul.show(); }; var addSeeMore = function () { ul.append('
  • zobacz wszystkie
  • '); ul.show(); }; var onAjaxComplete = function (response) { var i = 0; current_index = false; if (response && response.positions) { if (Array.isArray(response.positions)) { ul.empty(); response.positions.forEach(function (position) { if (i < max) { addPosition(position); } i += 1; }); if (response.positions.length > max) { addSeeMore(); } } else { showMessage('Brak wyników'); } } else if (response) { if (response.short) { ul.empty(); ul.hide(); return false; } if (response.message) { showMessage(response.message); } } else { showMessage('Wystąpił błąd. Prosimy spróbować ponownie.'); } }; var ajaxSearch = function (keyword) { if (current_ajax_call) { current_ajax_call.abort(); } showLoader(); if (current_ajax_call_timeout) { window.clearTimeout(current_ajax_call_timeout); } current_ajax_call_timeout = window.setTimeout(function () { current_ajax_call = $.post(__URL__ + 'ajax/search.php', { keyword: keyword }, onAjaxComplete, 'json'); }, 500); }; var moveSelection = function (direction) { var item; if (direction === 'up') { if (current_index === false) { item = ul.children().last(); current_index = item.index(); } else { item = ul.children().eq(current_index - 1); if (item.length === 1 && item.index() === current_index - 1) { current_index = item.index(); } else { current_index = false; input.focus(); return false; } } } else { if (current_index === false) { item = ul.children().first(); current_index = 0; } else { item = ul.children().eq(current_index + 1); if (item.length === 1) { current_index = item.index(); } else { current_index = false; input.focus(); return false; } } } if (item.children('a').length === 1) { item.children('a').focus(); } else { input.focus(); } }; var onInput = function (evt) { if (evt.keyCode === 40) { // down evt.preventDefault(); moveSelection('down'); } else if (evt.keyCode === 38) { // up evt.preventDefault(); moveSelection('up'); } else { if (evt.currentTarget.tagName.toLowerCase() === 'input') { ajaxSearch(input.val()); } } }; input.on('keyup', onInput); input.on('blur', function () { if (!input.val()) { ul.empty(); ul.hide(); } }); form.on('keyup', 'ul li', onInput); form.on('click', '.see-more', function () { form.submit(); }); form.on('keydown', 'ul li, input', function (evt) { if ($.inArray(evt.which, prevent_scroll_key_codes) > -1) { evt.preventDefault(); return false; } return true; }); }); /* * // SEARCH BOX */ /* * SHOP FILTERS */ $(function () { var ajax_url = __URL__ + 'ajax/get-filtered-positions.php'; var $form = $('#filter-box'); var $inner = $form.find('.filter-box-inner'); var $filter_list = $('#filter-box-current-filters'); var $filter_result_box = $('#filter-box-results'); var send_data = {}; var ajax_timeout = null; var ajax_call = null; var tab_title = 'Filtrowanie'; var shop_filters = null; var sort_query = null; var $list_buttons = $form.find('.filter-list .list li button, .filter-list .list li .toggle'); var onListToggle = function () { var btn = $(this); if (btn.closest('li').hasClass('show')) { btn.closest('li').removeClass('show'); btn.siblings('ul').slideUp(250); } else { btn.closest('li').addClass('show'); btn.siblings('ul').slideDown(250); } }; var onSearchResponse = function (response) { if (!response) { // błąd return false; } if (response.positions) { $filter_result_box.empty().append(response.positions); } else if (response.code) { if (response.code === 'no-products') { $filter_result_box.empty().append('
    ' + response.message + '
    '); } else { $filter_result_box.empty().append('
    ' + response.message + '
    '); } } else { $filter_result_box.empty().append('
    ' + response.message + '
    '); } }; var getLoader = function () { var html = '
    '; return $(html); }; var updateLink = function () { var new_url = __URL__ + 'szukaj?' + $.param(send_data); if (!window.history.pushState) { return false; } if (sort_query) { new_url += '&sort=' + sort_query; } window.history.pushState(send_data, tab_title, new_url); }; var search = function () { $filter_result_box.empty().append(getLoader()); if (ajax_timeout) { window.clearTimeout(ajax_timeout); } if (ajax_call) { ajax_call.abort(); } ajax_timeout = window.setTimeout(function () { ajax_call = $.post(ajax_url, send_data, onSearchResponse, 'json'); }, 500); updateLink(); // todo }; var getFilterListItemTemplate = function (name) { var html = '\
    \ \ ' + name + '\
    '; return $(html); }; var categories = function () { var $wrapper = $form.find('#filter-box-categories'); var $category_inputs = $wrapper.find('input'); var $category_wappers = $category_inputs.parent(); var currently_selected = []; var category_infos = {}; var loading = false; var getData = function () { var ret = []; currently_selected.forEach(function (id) { var category = category_infos[id]; if (!category) { console.warn('category not found'); return false; } ret.push({ id: id, name: category.name }); }); return ret; }; var cacheCategoryInfos = function () { $category_wappers.each(function (ignore, item) { var $item = $(item); var name = $item.children('label').text(); var id = +$item.children('input').val(); category_infos[id] = { name: name, input: $item.children('input'), wrap: $item }; }); }; var updateCategories = function () { currently_selected = []; $category_inputs.filter(':checked').each(function (ignore, input) { var id = +$(input).val(); currently_selected.push(id); }); update(); }; var onListDeleteButtonClick = function (evt) { var $button = $(evt.currentTarget); var id = +$button.data('id'); var category; if (isNaN(id) || !id) { console.warn('Nieprawidłowe ID przy usuwaniu kategorii z listy'); return false; } category = category_infos[id]; if (!category) { console.warn('Nie odnaleziono kategorii'); return false; } category.input.prop('checked', false); updateCategories(); }; var updateFilterList = function (list_name, data) { var $list = $filter_list.children('.list-' + list_name); if ($list.length === 0) { $list = $('
  • '); $filter_list.append($list); } $list.empty(); data.forEach(function (item) { var $tpl = getFilterListItemTemplate(item.name); $tpl.find('button').data('id', item.id).on('click tap', onListDeleteButtonClick); $list.append($tpl); }); }; var update = function () { send_data.categories = currently_selected; updateFilterList('categories', getData()); if (loading === false) { search(); } }; var onCategoryChange = function () { updateCategories(); }; var load = function () { loading = true; if (!shop_filters || !shop_filters.categories) { loading = false; return false; } shop_filters.categories.forEach(function (id) { var category = category_infos[+id]; if (!category) { console.warn('Nie odnaleziono kategorii'); return false; } category.input.prop('checked', true); }); updateCategories(); loading = false; }; var init = function () { cacheCategoryInfos(); $category_inputs.on('change', onCategoryChange); load(); }; if ($wrapper.length === 1) { init(); } }; var attributes = function () { var $wrapper = $form.find('#filter-box-attributes'); var $attribute_inputs = $wrapper.find('input'); var $attribute_wappers = $attribute_inputs.parent(); var currently_selected = []; var attribute_infos = {}; var loading = false; var getData = function () { var ret = []; currently_selected.forEach(function (id) { var attribute = attribute_infos[id]; if (!attribute) { console.warn('attribute not found'); return false; } ret.push({ id: id, name: attribute.name }); }); return ret; }; var cacheAttributeInfos = function () { $attribute_wappers.each(function (ignore, item) { var $item = $(item); var name = $item.children('label').text(); var id = $item.children('input').val(); attribute_infos[id] = { name: name, input: $item.children('input'), wrap: $item }; }); }; var updateAttributes = function () { currently_selected = []; $attribute_inputs.filter(':checked').each(function (ignore, input) { var id = $(input).val(); currently_selected.push(id); }); update(); }; var onListDeleteButtonClick = function (evt) { var $button = $(evt.currentTarget); var id = $button.data('id'); var attribute; if (!id) { console.warn('Nieprawidłowe ID przy usuwaniu atrybutu z listy'); return false; } attribute = attribute_infos[id]; if (!attribute) { console.warn('Nie odnaleziono atrybutu'); return false; } attribute.input.prop('checked', false); updateAttributes(); }; var updateFilterList = function (list_name, data) { var $list = $filter_list.children('.list-' + list_name); if ($list.length === 0) { $list = $('
  • '); $filter_list.append($list); } $list.empty(); data.forEach(function (item) { var $tpl = getFilterListItemTemplate(item.name); $tpl.find('button').data('id', item.id).on('click tap', onListDeleteButtonClick); $list.append($tpl); }); }; var update = function () { send_data.attributes = currently_selected; updateFilterList('attributes', getData()); if (loading === false) { search(); } }; var onAttributeChange = function () { updateAttributes(); }; var load = function () { loading = true; if (!shop_filters || !shop_filters.attributes) { loading = false; return false; } shop_filters.attributes.forEach(function (id) { var attribute = attribute_infos[id]; if (!attribute) { console.warn('Nie odnaleziono atrybutu'); return false; } attribute.input.prop('checked', true); }); updateAttributes(); loading = false; }; var init = function () { cacheAttributeInfos(); $attribute_inputs.on('change', onAttributeChange); load(); }; if ($wrapper.length === 1) { init(); } }; var producers = function () { var $wrapper = $form.find('#filter-box-producers'); var $letter_wrappers = $wrapper.find('.letter'); var $letter_inputs = $wrapper.find('.letter input'); var $lette_tabs = $wrapper.find('.list .list-tab'); var $producer_wraps = $lette_tabs.find('.producer'); var $producer_inputs = $lette_tabs.find('.producer input'); var current_letter = null; var letter_tabs_cache = {}; var currently_selected = []; var producer_infos = {}; var loading = false; var getData = function () { var ret = []; currently_selected.forEach(function (id) { var producer = producer_infos[id]; if (!producer) { console.warn('producer not found'); return false; } ret.push({ id: id, name: producer.name }); }); return ret; }; var updateProducers = function () { currently_selected = []; $producer_inputs.filter(':checked').each(function (ignore, input) { var id = +$(input).val(); currently_selected.push(id); }); update(); }; var onListDeleteButtonClick = function (evt) { var $button = $(evt.currentTarget); var id = +$button.data('id'); var producer; if (isNaN(id) || !id) { console.warn('Nieprawidłowe ID przy usuwaniu producenta z listy'); return false; } producer = producer_infos[id]; if (!producer) { console.warn('Nie odnaleziono producenta'); return false; } producer.input.prop('checked', false); updateProducers(); }; var updateFilterList = function (list_name, data) { var $list = $filter_list.children('.list-producers'); if ($list.length === 0) { $list = $('
  • '); $filter_list.append($list); } $list.empty(); data.forEach(function (item) { var $tpl = getFilterListItemTemplate(item.name); $tpl.find('button').data('id', item.id).on('click tap', onListDeleteButtonClick); $list.append($tpl); }); }; var update = function () { send_data.producers = currently_selected; updateFilterList('producers', getData()); if (loading === false) { search(); } }; var cacheLetterTabs = function () { $lette_tabs.each(function (ignore, item) { var letter = $(item).data('letter'); letter_tabs_cache[letter] = $(item); }); }; var cacheProducerInfos = function () { $producer_wraps.each(function (ignore, item) { var $item = $(item); var name = $item.find('label').text(); var id = +$item.find('input').val(); producer_infos[id] = { name: name, input: $item.find('input'), wrap: $item }; }); }; var openLetterTab = function (letter) { if (current_letter === letter) { return false; } $lette_tabs.addClass('hidden'); letter_tabs_cache[letter].removeClass('hidden'); }; var onLetterChange = function (evt) { var letter = $(evt.currentTarget).val(); openLetterTab(letter); }; var onProducerChange = function () { updateProducers(); }; var load = function () { loading = true; if (!shop_filters || !shop_filters.producers) { loading = false; return false; } shop_filters.producers.forEach(function (id) { var producer = producer_infos[+id]; if (!producer) { console.warn('Nie odnaleziono producenta'); return false; } producer.input.prop('checked', true); }); updateProducers(); loading = false; }; var init = function () { cacheProducerInfos(); cacheLetterTabs(); $producer_wraps.disableSelection(); $letter_wrappers.disableSelection(); $producer_inputs.on('change', onProducerChange); $letter_inputs.on('change', onLetterChange); load(); }; if ($wrapper.length === 1) { init(); } }; var load = function () { if (typeof def_shop_sort === 'string' && def_shop_sort) { sort_query = def_shop_sort; } if (typeof def_shop_filters === 'object' && def_shop_filters) { shop_filters = def_shop_filters; } }; var init = function () { $form.on('submit', function (evt) { evt.preventDefault(); }); load(); $list_buttons.on('click tap', onListToggle); categories(); attributes(); producers(); $(window).on('popstate', function (evt) { console.log(evt.originalEvent.state); }); $('.js-toggle-filter').on('click tap', function (evt) { evt.preventDefault(); evt.stopPropagation(); $inner.slideToggle(250); }); }; if ($form.length === 1) { init(); } }); /* * // SHOP FILTERS */ /* * SORT BOX */ $(function () { $('.sort-box a').on('click', function (evt) { var tmp = location.search.replace(/(\?|\&)sort=[^&]+/g, ''); evt.preventDefault(); if (tmp[0] === '?') { tmp += '&'; } else { tmp += '?'; } tmp += 'sort=' + $(this).data('sort'); location.search = tmp; }); }); /* * // SORT BOX */ /* * CLIENT ADDRESSES */ $(function () { var button = $('#add-address-toggle'); var form = $('#add-address-form'); button.on('click', function (evt) { evt.preventDefault(); form.toggleClass('hidden'); }); }); $(function () { var addresses = {}; var $select = $('#user_addresses'); var $form = $('#zamowienieForm'); var map = { name: $form.find('[name="name"]'), surname: $form.find('[name="surname"]'), street: $form.find('[name="street"]'), number: $form.find('[name="number"]'), zipCode: $form.find('[name="zipCode"]'), phone: $form.find('[name="phone"]'), phone_prefix: $form.find('[name="phone_prefix"]'), town: $form.find('[name="town"]'), country_iso: $form.find('[name="country_iso"]'), company: $form.find('[name="company"]'), nip: $form.find('[name="nip"]'), invoice_number: $form.find('[name="invoice_number"]'), invoice_street: $form.find('[name="invoice_street"]'), invoice_town: $form.find('[name="invoice_town"]'), invoice_zipCode: $form.find('[name="invoice_zipCode"]'), }; var fillForm = function (data) { var keys = Object.keys(map); keys.forEach(function (key) { var $elem = map[key]; if (data && data[key]) { $elem.val(data[key]); } else if (key === 'country_iso') { $elem.val('PL'); } else if (key === 'phone_prefix') { $elem.val('48'); } else { $elem.val(''); } }); }; var init = function () { if (typeof USER_ADDRESSES !== 'object') { return false; } addresses = USER_ADDRESSES; $select.on('change', function () { var id = +$(this).val(); fillForm(addresses[id]); }); fillForm(addresses[$select.val()]); }; init(); }); /* * // CLIENT ADDRESSES */ /* * INPUT AMOUNT */ $(function () { var $inputs = $('.custom-input-amount'); var createButton = function (char) { return $(''); }; var validateAmountElemAndNewValue = function ($elem, new_val) { var val = +$elem.val(); var min = +$elem.attr('min'); var max = +$elem.attr('max'); if (isNaN(val) || isNaN(min) || isNaN(max)) { return false; } if (new_val < min || max < new_val) { return false; } return true; }; var inputIncrement = function () { var $elem = $(this); var val = +$elem.val(); var new_val = val + 1; if (!validateAmountElemAndNewValue($elem, new_val)) { return false; } $elem.val(new_val); return true; }; var inputDecrement = function () { var $elem = $(this); var val = +$elem.val(); var new_val = val - 1; if (!validateAmountElemAndNewValue($elem, new_val)) { return false; } $(this).val(new_val); return true; }; var checkElemValue = function () { var $elem = $(this); var val = +$elem.val(); var min = +$elem.attr('min'); var max = +$elem.attr('max'); if (isNaN(min)) { min = 1; } if (isNaN(max)) { max = 5; } if (isNaN(val)) { $elem.val(min); return false; } if (val < min) { $elem.val(min); return false; } if (val > max) { $elem.val(max); return false; } return true; }; var changeInput = function (ignore, elem) { var $elem = $(elem); var $button_plus = createButton('+'); var $button_minus = createButton('-'); var $wrapping_element = $('
    '); var $buttons_wrapper = $('
    '); $button_plus.on('click', inputIncrement.bind($elem)); $button_minus.on('click', inputDecrement.bind($elem)); $elem.attr('type', 'text'); $elem.on('blur change', checkElemValue.bind($elem)); $elem.before($wrapping_element); $wrapping_element.append($elem); $buttons_wrapper.append($button_plus); $buttons_wrapper.append($button_minus); $wrapping_element.append($buttons_wrapper); }; $inputs.each(changeInput); }); /* * // INPUT AMOUNT */ /* * NEWSLETTER MODAL */ $(function () { if (!$('#newsletter_popup').length) { return false; } $('#newsletter_popup').modal('show'); }); /* * // NEWSLETTER MODAL */ /* * FAVOURITES */ var favouritesHanlder = (function () { var waiting = {}; var favedClass = 'faved'; var onServerSuccess = function (resp) { var parts, id, status; if (resp.indexOf('error') !== -1) { console.log('server error'); return false; } parts = resp.split(':'); id = +parts[0]; status = +parts[1]; if (waiting[id] === undefined) { console.log('item already handled'); return false; } if (status === 0) { waiting[id].removeClass(favedClass); } else if (status === 1) { waiting[id].addClass(favedClass); } else { console.log('wrong status'); return false; } delete waiting[id]; }; var sendToServer = function (id, status) { $.ajax({ url: __URL__ + 'ajax/addToFav.php', method: 'POST', data: { id: id, status: status }, success: onServerSuccess }); }; var toggle = function (obj, status) { var id = +obj.data('id'); if (isNaN(+id)) { console.log('cannot add empty ID to favourites'); return false; } waiting[id] = obj; sendToServer(id, status); }; var bindButtons = function () { $(document).on('click', '.fav[data-id]', function (evt) { evt.preventDefault(); evt.stopPropagation(); if ($(this).hasClass(favedClass)) { toggle($(this), 0); } else { toggle($(this), 1); } }); }; bindButtons(); }()); /* * // FAVOURITES */ /* * PRODUCT COMMENTS */ $(function () { var $form = $('#product-comment-form'); var $elems = {}; var validateForm = function () { var is_valid = true; $elems.comment.removeClass('error'); if ($elems.comment.val().length < 5) { is_valid = false; $elems.comment.addClass('error'); } $elems.name.removeClass('error'); if ($elems.name.val().length < 2) { is_valid = false; $elems.name.addClass('error'); } $elems.email.removeClass('error'); if (/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test($elems.email.val()) === false) { is_valid = false; $elems.email.addClass('error'); } return is_valid; }; var showError = function () { $elems.msg_error_response.hide(); $elems.msg_error.show(); $elems.msg_success.hide(); }; var showErrorResponse = function () { $elems.msg_error_response.show(); $elems.msg_success.hide(); $elems.msg_error.hide(); }; var getData = function () { var data = {}; data.id_target = $elems.id_target.val(); data.comment = $elems.comment.val(); data.name = $elems.name.val(); data.email = $elems.email.val(); data.stars_1 = $elems.stars_1.filter(':checked').val(); data.stars_2 = $elems.stars_2.filter(':checked').val(); data.stars_3 = $elems.stars_3.filter(':checked').val(); return data; }; var onError = function () { showErrorResponse(); }; var onSuccess = function () { $elems.msg_success.show(); }; var sendData = function () { $elems.msg_error.hide(); $elems.msg_error_response.hide(); $elems.msg_success.hide(); $.ajax({ url: $form.attr('action'), method: 'post', data: getData(), dataType: 'json', success: onSuccess, error: onError }); }; var onSubmit = function (evt) { evt.preventDefault(); evt.stopPropagation(); if (validateForm()) { sendData(); } else { showError(); } }; var setupInputs = function () { $elems.id_target = $form.find('[name="id"]'); $elems.comment = $form.find('[name="comment"]'); $elems.name = $form.find('[name="name"]'); $elems.email = $form.find('[name="email"]'); $elems.stars_1 = $form.find('[name="stars[1]"]'); $elems.stars_2 = $form.find('[name="stars[2]"]'); $elems.stars_3 = $form.find('[name="stars[3]"]'); $elems.msg_success = $form.find('.ajaxInfo.ok'); $elems.msg_error = $form.find('.ajaxInfo.error'); $elems.msg_error_response = $form.find('.ajaxInfo.error_send'); }; if (!$form || $form.length !== 1) { return false; } setupInputs(); $form.on('submit', onSubmit); }); /* * /PRODUCT COMMENTS */ /* * PHONE PREFIXES */ $(function () { var $countries = $('.js-phone-country'); var $phone_codes = $('.js-phone-prefix'); var updatePhoneCode = function () { var phone_code = $(this).find(':selected').data('phonecode'); $phone_codes.val(phone_code); }; $countries.on('change', updatePhoneCode); }); /* * PHONE PREFIXES */ /* * ORDER INSURANCE */ $(function () { var $checkbox = $('.js-order-insurance'); var current_ajax = null; var saveChoice = function () { var choice = $checkbox.prop('checked'); if (current_ajax) { current_ajax.abort(); } current_ajax = $.post(__URL__ + 'ajax/order-insurance.php', { choice: choice ? 1 : 0 }); }; if (!$checkbox || $checkbox.length !== 1) { return false; } $checkbox.on('change', saveChoice); }); /* * /ORDER INSURANCE */ $(document).ready(function(){ $('.backgroundLogo').owlCarousel({ items: 1, nav: false, dots: false, autoplay: true, autoplaySpeed: 2000, loop : true, animateOut: 'fadeOut', touchDrag: false, mouseDrag: false }).addClass("owl-carousel").addClass("owl-theme");; });