let mxOdswiezGratis = function (basket) {}; (function($) { let position = 'products'; let selector = ''; let sum_basket = 'sum_no_shipping'; let line_color = '#03d503'; let line_end_color = '#02b002'; let line_background_color = '#d3d3d3'; let tag_background_color = '#d3f4ca'; let tag_font_color = '#333333'; let tag_off_background_color = '#eeeeee'; let tag_off_font_color = '#333333'; let line_height = '7'; let line_margin = '10'; let tag_font = '13px'; let tag_padding = '5px'; let tag_triangle_height = '7'; let tag_border_radius_tl = '0px'; let tag_border_radius_tr = '0px'; let tag_border_radius_br = '0px'; let shopId = 140; let translations_array = {"text_addToBasket":{"__default":"wybierz prezent","pl_PL":"wybierz prezent"},"text_variant":{"__default":"Ten produkt otrzymujesz jako prezent","pl_PL":"Ten produkt otrzymujesz jako prezent"},"text_boxhead":{"__default":"Wybierz prezent do Twojego zam\u00f3wienia!","pl_PL":"Wybierz prezent do Twojego zam\u00f3wienia!"},"text_tag":{"__default":"xxx","pl_PL":"xxx"},"text_productExceed":{"__default":"W koszyku jest ju\u017c maksymalna liczba prezent\u00f3w. Usu\u0144 kt\u00f3ry\u015b z nich, aby zmieni\u0107 wyb\u00f3r.","pl_PL":"W koszyku jest ju\u017c maksymalna liczba prezent\u00f3w. Usu\u0144 kt\u00f3ry\u015b z nich, aby zmieni\u0107 wyb\u00f3r."},"text_productLowPrice":{"__default":"Brakuje Ci jeszcze xxx, \u017ceby wybra\u0107 ten gratis.","pl_PL":"Brakuje Ci jeszcze xxx, \u017ceby wybra\u0107 ten gratis."},"text_productLowMaxPrice":{"__default":"Prezent dost\u0119pny dla produkt\u00f3w powy\u017cej yyy","pl_PL":"Prezent dost\u0119pny dla produkt\u00f3w powy\u017cej yyy"},"text_productAbovePrice":{"__default":"Prezent powy\u017cej xxx","pl_PL":"Prezent powy\u017cej xxx"},"text_blockBuying":{"__default":"Ten produkt jest dost\u0119pny tylko jako gratis do zam\u00f3wienia","pl_PL":"Ten produkt jest dost\u0119pny tylko jako gratis do zam\u00f3wienia"}}; let freeProducts = {"pl_PL":[{"productId":3448,"name":"","image":"","price":199,"description":"","settings":{"blockBuying":true,"categoriesChildrens":false,"sumCategories":false,"sumProducers":false,"needAllSettings":true,"showHigherPrices":true,"highestPrice":false,"price":199,"categories":{},"producers":{},"usersGroups":{"0":"Wszystkie grupy klient\u00f3w"}}},{"productId":3449,"name":"","image":"","price":495,"description":"","settings":{"blockBuying":true,"categoriesChildrens":false,"sumCategories":false,"sumProducers":false,"needAllSettings":true,"showHigherPrices":true,"highestPrice":false,"price":495,"categories":{},"producers":{},"usersGroups":{"0":"Wszystkie grupy klient\u00f3w"}}},{"productId":3450,"name":"","image":"","price":693,"description":"","settings":{"blockBuying":true,"categoriesChildrens":false,"sumCategories":false,"sumProducers":false,"needAllSettings":true,"showHigherPrices":true,"highestPrice":false,"price":693,"categories":{},"producers":{},"usersGroups":{"0":"Wszystkie grupy klient\u00f3w"}}},{"productId":3451,"name":"","image":"","price":1188,"description":"","settings":{"blockBuying":true,"categoriesChildrens":false,"sumCategories":false,"sumProducers":false,"needAllSettings":true,"showHigherPrices":true,"highestPrice":false,"price":1188,"categories":{},"producers":{},"usersGroups":{"0":"Wszystkie grupy klient\u00f3w"}}}]}; let freeProductsIds = {"pl_PL":[3448,3449,3450,3451]}; let allFreeProductsIds = {"pl_PL":[3448,3449,3450,3451]}; let freeProductsCount = 4; let optionGroupId = 4; let optionId = 6; let delayedPreloader = 0; let forceSingleDownload = 0; let template = 0; freeProducts = freeProducts[Shop.lang.name] || []; freeProductsIds = freeProductsIds[Shop.lang.name] || []; function getTranslation(var_name,current_lang=Shop.lang.name){ if(!(current_lang in translations_array[var_name])){ translation = translations_array[var_name]['__default']; }else{ translation = translations_array[var_name][current_lang]; } return translation; } //let add_text = getTranslation('add_text'); let text_addToBasket = getTranslation('text_addToBasket'); let text_variant = getTranslation('text_variant'); let text_boxhead = getTranslation('text_boxhead'); let text_tag = getTranslation('text_tag'); let text_productExceed = getTranslation('text_productExceed'); let text_productLowPrice = getTranslation('text_productLowPrice'); let text_productLowMaxPrice = getTranslation('text_productLowMaxPrice'); let text_productAbovePrice = getTranslation('text_productAbovePrice'); let text_blockBuying = getTranslation('text_blockBuying'); let current_curr = (Shop.values.currency) ? Shop.values.currency : "PLN"; let priceFormater = new Intl.NumberFormat( Shop.lang.name.split('_').join('-'), {style: 'currency', currency: current_curr} ); function priceFormat(price){ return priceFormater.format(price); } if (template == 0) { $('head').append(''); $('head').append(''); $('head').append(''); } function APIloader () { if (!window.frontAPI || template == 0 && typeof jQuery().owlCarousel !== 'function') { setTimeout(APIloader, 0); } else { let userGroupId = null; let sum = 0; let maxPrice = 0; let producers = {}; let categories = {}; let htmlToUpdate = {}; let freeProductsLeft = freeProductsCount; let container = $('
'); let avaibleIds = []; let productDatas = {}; let waitingForIds = true; let waitingForFrontApi = true; let waitingForSoobasket = false; if ($('#box_basketlist').length > 0) { if (typeof GlobalSoolutionSoobasket != 'undefined') { waitingForSoobasket = true; } } let generatePreloader = function () { if (position == 'container') { container.appendTo(selector); } else { if (typeof GlobalSoolutionSoobasket != 'undefined' && $('.el-table .el-table__row').length != 0) { if (position == 'products') { $('
').insertAfter($('.el-table').parent().next()); $('
').insertAfter('.mx_free_products_container'); } if (position == 'price') { $('
').insertAfter('.el-form + .fixed-summary'); $('
').appendTo('.mx_free_products_container'); } if (position == 'buttons') { $('
').insertAfter($('.el-table').parent().next().next()); $('
').appendTo('.mx_free_products_container'); } } else { if (position == 'products') { $('
').insertAfter('#box_basketlist .productlist'); } if (position == 'price') { $('
').insertBefore('#box_basketlist #cart-options .buttons'); } if (position == 'buttons') { $('
').insertAfter('#box_basketlist'); } } container.appendTo('.mx_free_products_container'); } if (text_boxhead != '') { if (typeof GlobalSoolutionSoobasket != 'undefined' && $('.el-table .el-table__row').length != 0) { $('

'+text_boxhead+'

').insertBefore(container); } else { $('
'+text_boxhead+'
').insertBefore(container); } } container.css({'height': '250px', 'display': 'flex', 'align-items': 'center', 'justify-content': 'center'}); container.append(''); }; let generateHtml = function () { if (waitingForFrontApi || waitingForSoobasket) return; let isAdding = false; let prevWidth = 0; if (container.find('.line_filler').length > 0) prevWidth = container.find('.line_filler').get(0).offsetWidth; let tempElement = $('
').insertBefore(container); container.remove(); container = $('
').insertAfter(tempElement); tempElement.remove(); if (template == 0) { container.addClass('template_slider owl-carousel'); for (let freeProduct of freeProducts) { if (!avaibleIds.includes(freeProduct.productId)) continue; let product = productDatas[freeProduct.productId]; let name = (freeProduct.name != '') ? freeProduct.name : product.name; let image = (freeProduct.image != '') ? freeProduct.image : '/environment/cache/images/300_300_productGfx_'+((product.main_image) ? product.main_image : '__overlay')+'.jpg'; let description = (freeProduct.description != '') ? freeProduct.description : product.shortDescription; let productHtml = $('
'); productHtml.append('
'+name+'
'); productHtml.append('
'+name+'
'); let button = $('
'); button.append(''+text_addToBasket+''); button.append(''); if (sum < freeProduct.settings.price) { productHtml.addClass('is_off'); } if (freeProductsLeft == 0 || sum < freeProduct.settings.price) { button.addClass('is_off'); button.find('.btn').removeClass('btn-red'); } button.on('click.add', '.btn', function(){ if (isAdding) return; isAdding = true; let options = {}; options[optionId] = true; let response = frontAPI.addToBasket({data:{product_id:freeProduct.productId,options:options}}); if (response.added.length == 0) { console.error('appProduktGratisowy', response); alert('Przepraszamy, wystąpił problem przy dodawaniu prezentu do koszyka. Prosimy o wpisanie nazwy prezentu w uwagach do zamówienia.'); } else { addedFreeProducts = []; if(localStorage.mx_app_produkt_gratisowy){ addedFreeProducts = JSON.parse(localStorage.mx_app_produkt_gratisowy); } addedFreeProducts.push(response.added[0].id); localStorage.mx_app_produkt_gratisowy = JSON.stringify(addedFreeProducts); location.reload(); } }); productHtml.append(button); if (freeProductsLeft == 0 && text_productExceed != '') { productHtml.append('
'+text_productExceed+'
'); } else if (freeProduct.settings.highestPrice && maxPrice < freeProduct.settings.price) { if (text_productLowPrice != '') { productHtml.append('
'+text_productLowMaxPrice.replace('xxx', priceFormat(freeProduct.settings.price-maxPrice)).replace('yyy', priceFormat(freeProduct.settings.price))+'
'); } } else if (!freeProduct.settings.highestPrice && sum < freeProduct.settings.price) { if (text_productLowPrice != '') { productHtml.append('
'+text_productLowPrice.replace('xxx', priceFormat(freeProduct.settings.price-sum)).replace('yyy', priceFormat(freeProduct.settings.price))+'
'); } } container.append(productHtml); } container.on('refreshed.owl.carousel', function(e){ if (e.relatedTarget.$stage.width() < e.relatedTarget.$element.width()) { setTimeout(function(){ e.relatedTarget.$element.find('.owl-nav').addClass('disabled'); },1); } }); container.on('translate.owl.carousel', function(e){ let X = 0; if (e.item.index > 0) X = -e.relatedTarget._coordinates[e.item.index-1]; let newX = e.relatedTarget.$stage.width()-e.relatedTarget._width-e.relatedTarget.settings.margin; if (X > newX && newX > 0) { setTimeout(function(){ e.relatedTarget.$stage.css('transform', 'translate3d('+(-newX)+'px, 0px, 0px)'); },1); } }); container.owlCarousel({autoWidth: true, items: 1, margin: 10, dots: false, nav: true}); let drawLine = function(){ let line = $('
'); let width = 0; let afterTag = 0; let step = 0; for (let freeProduct of freeProducts) { if (!avaibleIds.includes(freeProduct.productId)) continue; let price = freeProduct.settings.price; if (step < price) { let box = container.find('[data-id="'+freeProduct.productId+'"]').parent().get(0); let left = (box.offsetLeft == 0) ? (box.offsetLeft+box.offsetWidth/4) : box.offsetLeft; if (left == 0) { setTimeout(drawLine, 100); return } if (sum > price) { width = -left; } if (sum > step) { if (sum <= price) { width = -width+(left+width)*(sum-step)/(price-step); } else { afterTag = -width+box.offsetWidth*(sum-price)/(price-step); } } if (price <= sum) { line.append('
'+text_tag.replace('xxx', priceFormat(price))+'
'); } else { line.append('
'+text_tag.replace('xxx', priceFormat(price))+'
'); } step = price; } } if (sum > step) { width = afterTag; } line.prepend('
'); setTimeout(function(){line.find('.line_filler').css('width', width+'px');},1); if (step != 0) { line.appendTo(container.find('.owl-stage')); let tagHeight = line.find('.line_tag').get(0).scrollHeight; line.css('top', tagHeight-line.height()); line.find('.line_tag').css('top', -(tagHeight-line.height())); container.find('.owl-stage').css('padding-top', tagHeight+line_margin*1+'px'); } else { container.find('.owl-stage').css('padding-top', 0); } }; setTimeout(drawLine,1); } if (template == 1) { container.addClass('template_list'); for (let freeProduct of freeProducts) { if (!avaibleIds.includes(freeProduct.productId)) continue; let product = productDatas[freeProduct.productId]; let name = (freeProduct.name != '') ? freeProduct.name : product.name; let image = (freeProduct.image != '') ? freeProduct.image : '/environment/cache/images/300_300_productGfx_'+((product.main_image) ? product.main_image : '__overlay')+'.jpg'; let description = (freeProduct.description != '') ? freeProduct.description : product.shortDescription; let productHtml = $('
'); productHtml.append('
'+name+'
'); productHtml.append('
'); if (freeProduct.settings.price > 0 && text_productAbovePrice != '') { productHtml.find('.mx_info').append('
'+text_productAbovePrice.replace('xxx', priceFormat(freeProduct.settings.price))+'
'); } productHtml.find('.mx_info').append('
'+name+'
'); productHtml.find('.mx_info').append('
'+description+'
'); let button = $('
'); button.append(''+text_addToBasket+''); button.append(''); if (sum < freeProduct.settings.price) { productHtml.addClass('is_off'); } if (freeProductsLeft == 0 || sum < freeProduct.settings.price) { button.addClass('is_off'); button.find('.btn').removeClass('btn-red'); } button.on('click.add', '.btn', function(){ if (isAdding) return; isAdding = true; let options = {}; options[optionId] = true; let response = frontAPI.addToBasket({data:{product_id:freeProduct.productId,options:options}}); if (response.added.length == 0) { console.error('appProduktGratisowy', response); alert('Przepraszamy, wystąpił problem przy dodawaniu prezentu do koszyka. Prosimy o wpisanie nazwy prezentu w uwagach do zamówienia.'); } else { addedFreeProducts = []; if(localStorage.mx_app_produkt_gratisowy){ addedFreeProducts = JSON.parse(localStorage.mx_app_produkt_gratisowy); } addedFreeProducts.push(response.added[0].id); localStorage.mx_app_produkt_gratisowy = JSON.stringify(addedFreeProducts); location.reload(); } }); productHtml.find('.mx_info').append(button); if (freeProductsLeft == 0 && text_productExceed != '') { productHtml.append('
'+text_productExceed+'
'); } else if (freeProduct.settings.highestPrice && maxPrice < freeProduct.settings.price) { if (text_productLowPrice != '') { productHtml.append('
'+text_productLowMaxPrice.replace('xxx', priceFormat(freeProduct.settings.price-maxPrice)).replace('yyy', priceFormat(freeProduct.settings.price))+'
'); } } else if (!freeProduct.settings.highestPrice && sum < freeProduct.settings.price) { if (text_productLowPrice != '') { productHtml.append('
'+text_productLowPrice.replace('xxx', priceFormat(freeProduct.settings.price-sum)).replace('yyy', priceFormat(freeProduct.settings.price))+'
'); } } container.append(productHtml); } } }; let selectProducts = function () { avaibleIds = []; let downloadIds = []; for (let freeProduct of freeProducts) { let isProducer = false, isCategory = false, isPrice = false, isUserGroup = false; let counter = 0; let adder = 0; if (Object.keys(freeProduct.settings.producers).length > 0) { for (let producerId in freeProduct.settings.producers) { if (typeof producers[producerId] != 'undefined') { counter += producers[producerId].quantity; adder += producers[producerId].price; if (freeProduct.settings.producers[producerId].quantity <= producers[producerId].quantity && freeProduct.settings.producers[producerId].price <= producers[producerId].price ) { isProducer = true; break; } } } if (!isProducer && freeProduct.settings.sumProducers) { for (let producerId in freeProduct.settings.producers) { if (freeProduct.settings.producers[producerId].quantity <= counter && freeProduct.settings.producers[producerId].price <= adder ) { isProducer = true; break; } } } } else { isProducer = true; } counter = 0; adder = 0; if (Object.keys(freeProduct.settings.categories).length > 0) { for (let cateroryId in freeProduct.settings.categories) { if (typeof categories[cateroryId] != 'undefined') { let countChildrens = 0; let sumChildrens = 0; if (freeProduct.settings.categoriesChildrens) { //TODO for categoriesChildrens countChildrens += categories[cateroryId].quantity;//usuń sumChildrens += categories[cateroryId].price;//usuń /*for (let categoryChildrenId of categoriesChildrens[cateroryId]) { if (categories[categoryChildrenId] !== undefined) { countChildrens += categories[categoryChildrenId].quantity; sumChildrens += categories[categoryChildrenId].price; } }*/ } else { countChildrens += categories[cateroryId].quantity; sumChildrens += categories[cateroryId].price; } counter += countChildrens; adder += sumChildrens; if (freeProduct.settings.categories[cateroryId].quantity <= countChildrens && freeProduct.settings.categories[cateroryId].price <= sumChildrens ) { isCategory = true; break; } } } if (!isCategory && freeProduct.settings.sumCategories) { for (let cateroryId in freeProduct.settings.categories) { if (freeProduct.settings.categories[cateroryId].quantity <= counter && freeProduct.settings.categories[cateroryId].price <= adder ) { isCategory = true; break; } } } } else { isCategory = true; } if (freeProduct.settings.highestPrice) { if (freeProduct.settings.price <= maxPrice) { isPrice = true; } } else { if (freeProduct.settings.price <= sum) { isPrice = true; } } if (!(0 in freeProduct.settings.usersGroups)) { if (userGroupId in freeProduct.settings.usersGroups) { isUserGroup = true; } } else { if (!(userGroupId in freeProduct.settings.usersGroups)) { isUserGroup = true; } } if (freeProduct.settings.needAllSettings) { if (!isProducer || !isCategory || !isUserGroup) { continue; } if (!isPrice && !freeProduct.settings.showHigherPrices) { continue; } } else { if ((!isUserGroup || ((0 in freeProduct.settings.usersGroups) && Object.keys(freeProduct.settings.usersGroups).length == 1)) && (!isProducer || Object.keys(freeProduct.settings.producers).length == 0) && (!isCategory || Object.keys(freeProduct.settings.categories).length == 0)) { if (!isPrice && !freeProduct.settings.showHigherPrices) { continue; } } else { freeProduct.settings.price = 0; } } if (freeProduct.productId in productDatas) { avaibleIds.push(freeProduct.productId); } else { downloadIds.push(freeProduct.productId); } } if (avaibleIds.length == 0 && downloadIds.length == 0) { container.parent().remove(); container = null; return; } waitingForIds = false; if (delayedPreloader && !waitingForSoobasket) generatePreloader(); waitingForFrontApi = true; if (downloadIds.length == 0) { waitingForFrontApi = false; generateHtml(); } else { if (!forceSingleDownload) { frontAPI.getProducts(function(products){ if (products.count > 0) { for (let product of products.list) { if (!product.can_buy) continue; productDatas[product.id] = product; avaibleIds.push(product.id); } } if (avaibleIds.length < downloadIds.length && avaibleIds.length < 5) { let remainingIds = []; for (let key in downloadIds) { if (!avaibleIds.includes(downloadIds[key])) remainingIds.push(downloadIds[key]); } for (let key in remainingIds) { frontAPI.getProduct(function(product) { if (!('error_description' in product) && product.can_buy) { productDatas[product.id] = product; avaibleIds.push(product.id); } if (key == remainingIds.length-1 || avaibleIds.length >= 5) { if (avaibleIds.length == 0) { container.parent().remove(); container = null; return; } waitingForFrontApi = false; generateHtml(); } }, {id: remainingIds[key]}); } } else { waitingForFrontApi = false; generateHtml(); } }, {ids:downloadIds, urlParams: '?limit=50'}); } else { for (let key in downloadIds) { frontAPI.getProduct(function(product) { if (!('error_description' in product) && product.can_buy) { productDatas[product.id] = product; avaibleIds.push(product.id); } if (key == downloadIds.length-1) { if (avaibleIds.length == 0) { container.parent().remove(); container = null; return; } waitingForFrontApi = false; generateHtml(); } }, {id: downloadIds[key]}); } } } }; mxOdswiezGratis = function (basket) { sum = 0; maxPrice = 0; producers = {}; categories = {}; htmlToUpdate = {}; freeProductsLeft = freeProductsCount; if (userGroupId == null) { userGroupId = -1; let userId = Shop.fn.getVisitorId(); if (userId != null) { let user = frontAPI.getUser({id: userId}); if (0 in user.groups) { userGroupId = user.groups[0].group_id; } } } let addedFreeProducts = []; if(localStorage.mx_app_produkt_gratisowy){ addedFreeProducts = JSON.parse(localStorage.mx_app_produkt_gratisowy); } sum = 0; switch (sum_basket) { case 'sum_products': sum = Math.round(basket.basket.sum_products_float*100)/100; break; case 'sum_shipping': sum = Math.round((basket.basket.sum_products_float+basket.basket.sum_float-basket.basket.sum_no_shipping_float)*100)/100; break; case 'sum_no_shipping': sum = Math.round(basket.basket.sum_no_shipping_float*100)/100; break; case 'sum': sum = Math.round(basket.basket.sum_float*100)/100; break; default: console.error('appProduktGratisowy maxsote.pl - niewłaściwy sposób sumowania'); } let reload = false; let basketProductsIds = []; for (let product of basket.products) { basketProductsIds.push(product.id); for (let langKey in allFreeProductsIds) { if (langKey == Shop.lang.name) continue; let langFreeKey = allFreeProductsIds[langKey].indexOf(product.product_id); let addedFreeProductsKey = addedFreeProducts.indexOf(product.id); if (langFreeKey != -1 && addedFreeProductsKey != -1 && product.variant != '') { frontAPI.removeFromBasket({id: product.id}); addedFreeProducts.splice(addedFreeProductsKey, 1); reload = true; } } let freeKey = freeProductsIds.indexOf(product.product_id); let addedFreeProductsKey = addedFreeProducts.indexOf(product.id); if (freeKey != -1 && addedFreeProductsKey != -1 && product.variant != '') { if (freeProductsLeft < product.quantity) { frontAPI.removeFromBasket({id: product.id}); addedFreeProducts.splice(addedFreeProductsKey, 1); reload = true; continue; } freeProductsLeft -= product.quantity; htmlToUpdate[freeKey] = product; continue; } if (maxPrice < product.price_float) { maxPrice = product.price_float; } if (product.producer) { if (producers[product.producer.producer_id] !== undefined) { producers[product.producer.producer_id].quantity += product.quantity; producers[product.producer.producer_id].price += product.sum_float; } else { producers[product.producer.producer_id] = []; producers[product.producer.producer_id].quantity = product.quantity; producers[product.producer.producer_id].price = product.sum_float; } } if (product.category) { if (categories[product.category.category_id] !== undefined) { categories[product.category.category_id].quantity += product.quantity; categories[product.category.category_id].price += product.sum_float; } else { categories[product.category.category_id] = {}; categories[product.category.category_id].quantity = product.quantity; categories[product.category.category_id].price = product.sum_float; } } } for (let product of basket.products) { let freeKey = freeProductsIds.indexOf(product.product_id); let addedFreeProductsKey = addedFreeProducts.indexOf(product.id); if (freeKey != -1 && addedFreeProductsKey != -1 && product.variant != '') { let isProducer = false, isCategory = false, isPrice = false, isUserGroup = false; let counter = 0; let adder = 0; if (Object.keys(freeProducts[freeKey].settings.producers).length > 0) { for (let producerId in freeProducts[freeKey].settings.producers) { if (typeof producers[producerId] != 'undefined') { counter += producers[producerId].quantity; adder += producers[producerId].price; if (freeProducts[freeKey].settings.producers[producerId].quantity <= producers[producerId].quantity && freeProducts[freeKey].settings.producers[producerId].price <= producers[producerId].price ) { isProducer = true; break; } } } if (!isProducer && freeProducts[freeKey].settings.sumProducers) { for (let producerId in freeProducts[freeKey].settings.producers) { if (freeProducts[freeKey].settings.producers[producerId].quantity <= counter && freeProducts[freeKey].settings.producers[producerId].price <= adder ) { isProducer = true; break; } } } } else { isProducer = true; } counter = 0; adder = 0; if (Object.keys(freeProducts[freeKey].settings.categories).length > 0) { for (let cateroryId in freeProducts[freeKey].settings.categories) { if (typeof categories[cateroryId] != 'undefined') { let countChildrens = 0; let sumChildrens = 0; if (freeProducts[freeKey].settings.categoriesChildrens) { //TODO for categoriesChildrens countChildrens += categories[cateroryId].quantity;//usuń sumChildrens += categories[cateroryId].price;//usuń /*for (let categoryChildrenId of categoriesChildrens[cateroryId]) { if (categories[categoryChildrenId] !== undefined) { countChildrens += categories[categoryChildrenId].quantity; sumChildrens += categories[categoryChildrenId].price; } }*/ } else { countChildrens += categories[cateroryId].quantity; sumChildrens += categories[cateroryId].price; } counter += countChildrens; adder += sumChildrens; if (freeProducts[freeKey].settings.categories[cateroryId].quantity <= countChildrens && freeProducts[freeKey].settings.categories[cateroryId].price <= sumChildrens ) { isCategory = true; break; } } } if (!isCategory && freeProducts[freeKey].settings.sumCategories) { for (let cateroryId in freeProducts[freeKey].settings.categories) { if (freeProducts[freeKey].settings.categories[cateroryId].quantity <= counter && freeProducts[freeKey].settings.categories[cateroryId].price <= adder ) { isCategory = true; break; } } } } else { isCategory = true; } if (freeProducts[freeKey].settings.highestPrice) { if (freeProducts[freeKey].settings.price <= maxPrice) { isPrice = true; } } else { if (freeProducts[freeKey].settings.price <= sum) { isPrice = true; } } if (!(0 in freeProducts[freeKey].settings.usersGroups)) { if (userGroupId in freeProducts[freeKey].settings.usersGroups) { isUserGroup = true; } } else { if (!(userGroupId in freeProducts[freeKey].settings.usersGroups)) { isUserGroup = true; } } if (freeProducts[freeKey].settings.needAllSettings) { if (!isProducer || !isCategory || !isPrice || !isUserGroup) { frontAPI.removeFromBasket({id: product.id}); addedFreeProducts.splice(addedFreeProductsKey, 1); reload = true; } } else { if ((!isUserGroup || ((0 in freeProducts[freeKey].settings.usersGroups) && Object.keys(freeProducts[freeKey].settings.usersGroups).length == 1)) && (!isProducer || Object.keys(freeProducts[freeKey].settings.producers).length == 0) && (!isCategory || Object.keys(freeProducts[freeKey].settings.categories).length == 0) && !isPrice) { frontAPI.removeFromBasket({id: product.id}); addedFreeProducts.splice(addedFreeProductsKey, 1); reload = true; } } } } let diffAddedFreeProducts = []; for (let item of addedFreeProducts) { if (basketProductsIds.includes(item)) { diffAddedFreeProducts.push(item); } } addedFreeProducts = diffAddedFreeProducts; localStorage.mx_app_produkt_gratisowy = JSON.stringify(addedFreeProducts); if (reload) location.reload(); selectProducts(); }; frontAPI.getBasketInfo(function(basket) { mxOdswiezGratis(basket); if ($('#box_basketsummary').length > 0) { for (let freeKey in htmlToUpdate) { let product = htmlToUpdate[freeKey]; let item; $('#box_basketsummary [data-product-id="'+product.product_id+'"]').each(function(index2, item2){ if ($(item2).find('.variant').text().trim() == product.variant) { item = $(item2); return false; } }); if (freeProducts[freeKey].image != '') { item.find('.img img').attr('src', freeProducts[freeKey].image); } if (freeProducts[freeKey].name != '') { item.find('.name a').html(freeProducts[freeKey].name).attr('title', freeProducts[freeKey].name); } item.find('.name .variant').html(text_variant); item.find('.price').html(product.price); } } if ($('#box_basketlist').length > 0) { if (typeof GlobalSoolutionSoobasket != 'undefined') { waitingForSoobasket = true; let waitingFunction = function () { if ($('#box_basketlist').is(':visible')) { for (let freeKey in htmlToUpdate) { let product = htmlToUpdate[freeKey]; let item = $('#box_basketlist [href="/pl/basket/remove/'+product.id+'"]').parent().parent(); if (freeProducts[freeKey].image != '') { item.find('.img img').attr('src', freeProducts[freeKey].image); } if (freeProducts[freeKey].name != '') { item.find('.name a').html(freeProducts[freeKey].name).attr('title', freeProducts[freeKey].name); } item.find('.name .variant').html(text_variant); item.find('.quantity input').val(product.quantity).prop('readonly', true).css({'background': '#33333333', 'cursor': 'auto'}); item.find('.price').html(product.price); } waitingForSoobasket = false; if (!delayedPreloader || delayedPreloader && !waitingForIds) generatePreloader(); generateHtml(); } else if ($('.el-table .el-table__row').length == 0) { setTimeout(waitingFunction, 100); } else { for (let freeKey in htmlToUpdate) { let product = htmlToUpdate[freeKey]; let item = $('.el-table [data-product-id="'+product.product_id+'"]').parent().parent().parent(); if (freeProducts[freeKey].image != '') { item.find('img').attr('src', freeProducts[freeKey].image); } if (freeProducts[freeKey].name != '') { item.find('.name a').html(freeProducts[freeKey].name).attr('title', freeProducts[freeKey].name); } item.find('.name .variant').html(text_variant); item.find('.quantity-input').append('
'); item.find('.quantity-input input').val(product.quantity).prop('readonly', true); item.find('.el-table_1_column_5 .cell').html(`${product.price}`); } waitingForSoobasket = false; if (!delayedPreloader || delayedPreloader && !waitingForIds) generatePreloader(); generateHtml(); } }; waitingFunction(); } else { for (let freeKey in htmlToUpdate) { let product = htmlToUpdate[freeKey]; let item = $('#box_basketlist [href="/pl/basket/remove/'+product.id+'"]').parent().parent(); if (freeProducts[freeKey].image != '') { item.find('.img img').attr('src', freeProducts[freeKey].image); } if (freeProducts[freeKey].name != '') { item.find('.name a').html(freeProducts[freeKey].name).attr('title', freeProducts[freeKey].name); } item.find('.name .variant').html(text_variant); item.find('.quantity input').val(product.quantity).prop('readonly', true).css({'background': '#33333333', 'cursor': 'auto'}); item.find('.price').html(product.price); } if (!delayedPreloader) generatePreloader(); } } if ($('#box_productfull').length > 0) { for (let freeProduct of freeProducts) { $(`#box_productfull #option_${optionId}`).parent().parent().parent().parent().remove(); if (freeProduct.productId == Shop.pageId && Boolean(freeProduct.settings.blockBuying)) { $('#box_productfull .form-basket').append(`
${text_blockBuying}
`); } else { $(`#box_productfull .stocks`).show(); } } } },{}); } } APIloader(); let halfPoint = Math.round(tag_triangle_height/Math.sqrt(2)); let style = ''; style += ` \n`; $("head").append(style); }(jQuery));