');\r\n\r\n for (var i = 0; i < recommendations.length; i++) {\r\n var product = recommendations[i];\r\n if (product.oldPrice && product.oldPrice <= product.price) {\r\n product.oldPrice = null;\r\n }\r\n product.customFields = product.customFields || {};\r\n product.discount = (product.oldPrice && product.price !== product.oldPrice) ? (100 * (product.oldPrice - product.price) / product.oldPrice).toFixed(0) + '%' : null;\r\n /*try {\r\n product.formattedPrice = product.price.toLocaleString().replace(',', ' ');\r\n if (product.oldPrice) { product.formattedOldPrice = product.oldPrice.toLocaleString().replace(',', ' '); }\r\n } catch (e) {}*/\r\n\r\n try {\r\n var $item = PopMechanic.$(\r\n cardTemplate({\r\n product: product,\r\n recommendations: recommendations,\r\n index: i\r\n })\r\n );\r\n } catch (e) {\r\n if (location.href.indexOf('pm-debug') > -1) {\r\n console.log('card template error', e);\r\n }\r\n continue;\r\n }\r\n if (groupSlidesBy === 1) {\r\n $carousel.append($item);\r\n } else {\r\n slideAccumulator.push($item);\r\n $slideContainer.append($item);\r\n if (slideAccumulator.length == groupSlidesBy) {\r\n slideAccumulator = [];\r\n $carousel.append($slideContainer);\r\n $slideContainer = PopMechanic.$('
');\r\n }\r\n }\r\n\r\n (function(i, product) {\r\n $item.attr('data-click-track', i);\r\n PopMechanic.$('#popmechanic-container-' + formId).on('click', '[data-click-track=\"' + i + '\"]', function(event) {\r\n event.stopPropagation();\r\n mindbox(\"async\", {\r\n operation: \"popmechanic-widget-click-\" + formId,\r\n data: {\r\n clicked: {\r\n product: {\r\n ids: product.ids,\r\n }\r\n }\r\n },\r\n onSuccess: function() {},\r\n onError: function(error) {\r\n console.log(error);\r\n }\r\n });\r\n\r\n settings.gaTracker.selectItem(product, i);\r\n return true;\r\n });\r\n }(i, product));\r\n }\r\n\r\n recommendations.map(function(product, i) {\r\n impressionMap[i] = function() {\r\n settings.gaTracker.viewItemList(product, i, { non_interaction: true });\r\n };\r\n });\r\n\r\n onInit();\r\n }\r\n\r\n var recommendationsLimit = recommendations.length;\r\n\r\n if (recommendationsLimit) {\r\n if (lessCount === 0 || lessCount <= recommendationsLimit) {\r\n renderProductList();\r\n } else {\r\n PopMechanic.$('[data-popmechanic-embed=\"' + formId + '\"]').remove();\r\n PopMechanic.$('#popmechanic-container-' + formId).remove();\r\n console.log('PopMechanic widget ' + formId + ': empty response');\r\n form.reportSlaSuccess();\r\n }\r\n } else {\r\n form.reportSlaSuccess();\r\n throw new Error('no data from mindbox');\r\n }\r\n} catch (e) {\r\n PopMechanic.$('#popmechanic-container-' + formId).remove();\r\n PopMechanic.$('[data-popmechanic-embed=\"' + form.id + '\"]').remove();\r\n console.error('PopMechanic widget ' + formId, e.message);\r\n form.reportSlaSuccess();\r\n}", "on_close": "var form = arguments[0] || {};\r\nwindow.PopMechanicSlider && window.PopMechanicSlider[form.id] && window.PopMechanicSlider[form.id].destroy && window.PopMechanicSlider[form.id].destroy();", "embed_code": "", "behaviors": ["info", "reco-sla", "reco_data", "tns"], "template_type": "embedded", "need_reset": false, "parameters": [], "on_targeting_ready": "", "on_child_ready": ""}, {"id": 2723, "html": "<%\r\n\ttry {\r\n\t\tfunction resolveAttr(obj, attr) {\r\n\t\t\treturn attr.split('.').reduce(function (acc, val) {\r\n\t\t\t\treturn acc && acc[val];\r\n\t\t\t}, obj);\r\n\t\t}\r\n\r\n\t\tfunction getUniqueValue(val, idx, self) {\r\n\t\t\treturn self.indexOf(val) === idx;\r\n\t\t}\r\n\r\n\t\tfunction createTab(val, txt, numb) {\r\n\t\t\treturn `
`;\r\n\t\t}\r\n\r\n\t\tvar allValues = recommendations.map(function (el) {\r\n\t\t\tif (resolveAttr(el, grouping_attr)) return String(resolveAttr(el, grouping_attr)).toLowerCase();\r\n\t\t}).filter(function(el) {return el;}).sort();\r\n\r\n\t\tvar counters = {}\r\n\r\n\t\tfor (var el of allValues) {\r\n\t\t\tcounters[el] = counters[el] ? counters[el] + 1 : 1;\r\n\t\t}\r\n\r\n\t\tvar uniqueValue = allValues.filter(getUniqueValue);\r\n\r\n\t\tvar userValues = grouping_values.split(',').map(function (el) {\r\n\t\t\treturn el.trim().toLowerCase();\r\n\t\t});\r\n\r\n\t\tvar selectedValues = userValues.filter(function (el) {\r\n\t\t\treturn uniqueValue.includes(String(el));\r\n\t\t});\r\n\r\n\t\tvar otherValues = uniqueValue.filter(function (el) {\r\n\t\t\treturn !userValues.includes(String(el));\r\n\t\t});\r\n\r\n\t\tvar otherValuesCounter = otherValues.reduce(function (a, b) {\r\n\t\t\treturn a + counters[b];\r\n\t\t}, 0)\r\n\r\n\t} catch (err) {\r\n\t\tconsole.error(err);\r\n\t}\r\n%>\r\n\r\n
", "css": "<% if (!parseInt(font_custom_show)) { %>\r\n\t@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');\r\n<% } %>\r\n\r\n.tns-outer{padding:0 !important}.tns-outer [hidden]{display:none !important}.tns-outer [aria-controls],.tns-outer [data-action]{cursor:pointer}.tns-slider{-webkit-transition:all 0.3s;-moz-transition:all 0.3s;transition:all 0.3s}.tns-slider>.tns-item{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tns-horizontal.tns-subpixel{white-space:nowrap}.tns-horizontal.tns-subpixel>.tns-item{display:inline-block;vertical-align:top;white-space:normal}.tns-horizontal.tns-no-subpixel:after{content:'';display:table;clear:both}.tns-horizontal.tns-no-subpixel>.tns-item{float:left;margin-right:-100%}.tns-no-calc{position:relative;left:0}.tns-gallery{position:relative;left:0;min-height:1px}.tns-gallery>.tns-item{position:absolute;left:-100%;-webkit-transition:transform 0s, opacity 0s;-moz-transition:transform 0s, opacity 0s;transition:transform 0s, opacity 0s}.tns-gallery>.tns-slide-active{position:relative;left:unset !important}.tns-gallery>.tns-moving{-webkit-transition:all 0.25s;-moz-transition:all 0.25s;transition:all 0.25s}.tns-lazy-img{-webkit-transition:opacity 0.6s;-moz-transition:opacity 0.6s;transition:opacity 0.6s;opacity:0.6}.tns-lazy-img.loaded{opacity:1}.tns-ah{-webkit-transition:height 0s;-moz-transition:height 0s;transition:height 0s}.tns-ovh{overflow:hidden}.tns-visually-hidden{position:absolute;left:-10000em}.tns-transparent{opacity:0;visibility:hidden}.tns-fadeIn{opacity:1;filter:alpha(opacity=100);z-index:0}.tns-normal,.tns-fadeOut{opacity:0;filter:alpha(opacity=0);z-index:-1}.tns-t-subp2{margin:0 auto;width:310px;position:relative;height:10px;overflow:hidden}.tns-t-ct{width:2333.3333333%;width:-webkit-calc(100% * 70 / 3);width:-moz-calc(100% * 70 / 3);width:calc(100% * 70 / 3);position:absolute;right:0}.tns-t-ct:after{content:'';display:table;clear:both}.tns-t-ct>div{width:1.4285714%;width:-webkit-calc(100% / 70);width:-moz-calc(100% / 70);width:calc(100% / 70);height:10px;float:left}\r\n\r\n#popmechanic-form * {\r\n\tbox-sizing: border-box;\r\n}\r\n#popmechanic-form a {\r\n\tdisplay: block;\r\n\ttext-decoration: none;\r\n\tcolor: inherit;\r\n}\r\n#popmechanic-form img,\r\n#popmechanic-form svg {\r\n\tdisplay: block;\r\n\tmax-width: 100%;\r\n\tmax-height: 100%;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n}\r\n#popmechanic-form [tabindex=\"0\"] {\r\n\toutline: none;\r\n}\r\n#popmechanic-form button {\r\n\tdisplay: flex;\r\n\tflex-shrink: 0;\r\n\tpadding: 0;\r\n\tmargin: 0;\r\n\tline-height: 0;\r\n\tbackground: none;\r\n\toutline: none;\r\n\tuser-select: none;\r\n\tborder: none;\r\n\tappearance: none;\r\n\t-webkit-appearance: none;\r\n\tcursor: pointer;\r\n}\r\n#popmechanic-form .popmechanic-controls-btn {\r\n\tposition: absolute;\r\n\tz-index: 3;\r\n\twidth: <%= slider_button_width %>px;\r\n\theight: <%= slider_button_height %>px;\r\n\ttransform: translateY(-50%);\r\n\tborder-radius: 50%;\r\n\tborder: <%= slider_button_border_width %>px solid <%= slider_button_border_color %>;\r\n\ttransition: background-image 0.3s ease-in-out;\r\n\tbackground-repeat: no-repeat;\r\n\tbackground-position: center;\r\n\tbackground-size: cover;\r\n\t<% if (parseInt(slider_show_bullit) && slider_bullit_position === \"bottom\") { %>\r\n\t\ttop: calc(50% - <%= slider_bullit_size %>px);\r\n\t<% } else if (parseInt(slider_show_bullit) && slider_bullit_position === \"top\") { %>\r\n\t\ttop: calc(50% + <%= slider_bullit_size %>px);\r\n\t<% } else { %>\r\n\t\ttop: 50%;\r\n\t<% } %>\r\n}\r\n#popmechanic-form .popmechanic-controls-btn:focus {\r\n\toutline: none;\r\n}\r\n#popmechanic-form .popmechanic-controls-btn:disabled {\r\n\tdisplay: none;\r\n}\r\n#popmechanic-form .popmechanic-controls-btn-prev {\r\n\tleft: 0;\r\n\tbackground-image: url(<%= slider_button_icon_prev %>);\r\n}\r\n#popmechanic-form .popmechanic-controls-btn-next {\r\n\tright: 0;\r\n\tbackground-image: url(<%= slider_button_icon_next %>);\r\n}\r\n#popmechanic-form .tns-nav {\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tmax-width: 100%;\r\n\toverflow: hidden;\r\n\t<% if (slider_bullit_position === \"bottom\") { %>\r\n\t\tpadding-top: <%= slider_bullit_size %>px;\r\n\t<% } else { %>\r\n\t\tpadding-bottom: <%= slider_bullit_size %>px;\r\n\t<% } %>\r\n}\r\n#popmechanic-form .tns-nav button {\r\n\twidth: <%= slider_bullit_size %>px;\r\n\theight: <%= slider_bullit_size %>px;\r\n\tborder: 1px solid <%= slider_bullit_border_color %>;\r\n\tborder-radius: 50%;\r\n\tbackground-color: <%= slider_bullit_bg %>;\r\n\ttransition: background-color 0.3s ease-in-out;\r\n}\r\n#popmechanic-form .tns-nav button:not(:last-child) {\r\n\tmargin-right: 10px;\r\n}\r\n#popmechanic-form .tns-nav .tns-nav-active {\r\n\tbackground-color: <%= slider_bullit_bg_active %>;\r\n}\r\n#popmechanic-form .popmechanic-main {\r\n\tpadding-top: <%= main_padding_vert %>px;\r\n\tpadding-bottom: <%= main_padding_vert %>px;\r\n\t<% if (parseInt(font_custom_show)) { %>\r\n\t\tfont-family: <%= font_custom %>;\r\n\t<% } else { %>\r\n\t\tfont-family: <%= font_family %>;\r\n\t<% } %>\r\n}\r\n#popmechanic-form .popmechanic-header {\r\n\tmargin-bottom: <%= header_margin_bottom %>px;\r\n\tcolor: <%= header_color %>;\r\n\tfont-weight: <%= header_fw %>;\r\n}\r\n#popmechanic-form .popmechanic-slider {\r\n\tposition: relative;\r\n}\r\n#popmechanic-form .popmechanic-items {\r\n\tdisplay: flex;\r\n}\r\n#popmechanic-form .tns-inner {\r\n\tpadding: 10px 9px;\r\n}\r\n\r\n<% if (grouping_attr) { %>\r\n/* TABS */\r\n#popmechanic-form .popmechanic-tabs {\r\n\t--grouping_position: center;\r\n\t--grouping_mb: 10px;\r\n\t--grouping_gap: 16px;\r\n\t--grouping_height: 32px;\r\n\t--grouping_padding_x: 10px;\r\n\t--grouping_br: 8px;\r\n\t--grouping_fs_text: 16px;\r\n\t--grouping_fs_count: 16px;\r\n\tdisplay: flex;\r\n\tjustify-content: var(--grouping_position);\r\n\talign-items: stretch;\r\n\tflex-wrap: wrap;\r\n\tgap: var(--grouping_gap);\r\n\tmargin-bottom: var(--grouping_mb);\r\n}\r\n#popmechanic-form .popmechanic-tab {\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tgap: 1ch;\r\n\theight: var(--grouping_height);\r\n\tborder: <%= grouping_border_width %>px solid <%= grouping_border_color %>;\r\n\tpadding: 0 var(--grouping_padding_x);\r\n\tborder-radius: var(--grouping_br);\r\n\tbackground-color: <%= grouping_bg_color %>;\r\n\ttransition: all 0.3s ease-in-out;\r\n\tfont-weight: <%= grouping_fw %>;\r\n\tline-height: 1;\r\n}\r\n#popmechanic-form .popmechanic-tab:not(.popmechanic-tab-active):focus {\r\n\tbackground-color: <%= grouping_bg_color_hov %>;\r\n\tborder-color: <%= grouping_border_color_hov %>;\r\n}\r\n#popmechanic-form .popmechanic-tab:not(.popmechanic-tab-active):focus .popmechanic-tab-text {\r\n\tcolor: <%= grouping_text_color_hov %>;\r\n}\r\n#popmechanic-form .popmechanic-tab:not(.popmechanic-tab-active):focus .popmechanic-tab-numb {\r\n\tcolor: <%= grouping_count_color_hov %>;\r\n}\r\n#popmechanic-form .popmechanic-tab-text,\r\n#popmechanic-form .popmechanic-tab-numb {\r\n\ttransition: inherit;\r\n}\r\n#popmechanic-form .popmechanic-tab-text {\r\n\tcolor: <%= grouping_text_color %>;\r\n\tfont-size: var(--grouping_fs_text);\r\n\ttext-transform: capitalize;\r\n}\r\n#popmechanic-form .popmechanic-tab-numb {\r\n\tcolor: <%= grouping_count_color %>;\r\n\tfont-size: var(--grouping_fs_count);\r\n}\r\n#popmechanic-form .popmechanic-tab-active {\r\n\tbackground-color: <%= grouping_bg_color_active %>;\r\n\tborder-color: <%= grouping_border_color_active %>;\r\n}\r\n#popmechanic-form .popmechanic-tab-active .popmechanic-tab-text {\r\n\tcolor: <%= grouping_text_color_active %>;\r\n}\r\n#popmechanic-form .popmechanic-tab-active .popmechanic-tab-numb {\r\n\tcolor: <%= grouping_count_color_active %>;\r\n}\r\n<% } %>\r\n\r\n/* DESKTOP */\r\n.popmechanic-desktop #popmechanic-form .popmechanic-header {\r\n\tfont-size: <%= header_fz_desk %>px;\r\n\ttext-align: <%= header_align_desk %>;\r\n}\r\n<% if (grouping_attr) { %>\r\n.popmechanic-desktop #popmechanic-form .popmechanic-tabs {\r\n\t--grouping_position: <%= grouping_position_desk %>;\r\n\t--grouping_mb: <%= grouping_mb_desk %>px;\r\n\t--grouping_gap: <%= grouping_gap_desk %>px;\r\n\t--grouping_height: <%= grouping_height_desk %>px;\r\n\t--grouping_padding_x: <%= grouping_padding_x_desk %>px;\r\n\t--grouping_br: <%= grouping_br_desk %>px;\r\n\t--grouping_fs_text: <%= grouping_fs_text_desk %>px;\r\n\t--grouping_fs_count: <%= grouping_fs_count_desk %>px;\r\n}\r\n<% } %>\r\n\r\n/* TABLET, MOBILE */\r\n.popmechanic-tablet #popmechanic-form .popmechanic-header,\r\n.popmechanic-mobile #popmechanic-form .popmechanic-header {\r\n\tfont-size: <%= header_fz_mob %>px;\r\n\ttext-align: <%= header_align_mob %>;\r\n}\r\n<% if (grouping_attr) { %>\r\n.popmechanic-tablet #popmechanic-form .popmechanic-tabs,\r\n.popmechanic-mobile #popmechanic-form .popmechanic-tabs {\r\n\t--grouping_position: <%= grouping_position_mob %>;\r\n\t--grouping_mb: <%= grouping_mb_mob %>px;\r\n\t--grouping_gap: <%= grouping_gap_mob %>px;\r\n\t--grouping_height: <%= grouping_height_mob %>px;\r\n\t--grouping_padding_x: <%= grouping_padding_x_mob %>px;\r\n\t--grouping_br: <%= grouping_br_mob %>px;\r\n\t--grouping_fs_text: <%= grouping_fs_text_mob %>px;\r\n\t--grouping_fs_count: <%= grouping_fs_count_mob %>px;\r\n}\r\n<% } %>\r\n\r\n/* HOVER */\r\n@media (hover: hover) {\r\n\t#popmechanic-form .popmechanic-controls-btn-prev:hover {\r\n\t\tbackground-image: url(<%= slider_button_icon_prev_hover %>);\r\n\t}\r\n\t#popmechanic-form .popmechanic-controls-btn-next:hover {\r\n\t\tbackground-image: url(<%= slider_button_icon_next_hover %>);\r\n\t}\r\n\t#popmechanic-form .popmechanic-tab:not(.popmechanic-tab-active):hover {\r\n\t\tbackground-color: <%= grouping_bg_color_hov %>;\r\n\t\tborder-color: <%= grouping_border_color_hov %>;\r\n\t}\r\n\t#popmechanic-form .popmechanic-tab:not(.popmechanic-tab-active):hover .popmechanic-tab-text {\r\n\t\tcolor: <%= grouping_text_color_hov %>;\r\n\t}\r\n\t#popmechanic-form .popmechanic-tab:not(.popmechanic-tab-active):hover .popmechanic-tab-numb {\r\n\t\tcolor: <%= grouping_count_color_hov %>;\r\n\t}\r\n}\r\n\r\n<%\r\n\ttry {\r\n\t\tprint(PopMechanic._.template(css)(arguments[0]));\r\n\t} catch {}\r\n%>", "button": "", "on_show": "\"use strict\";\r\n\r\ntry {\r\n form.reportSlaSuccess();\r\n} catch (e) {}\r\n\r\nif (location.href.indexOf('pm-debug') > -1) {\r\n debugger;\r\n}\r\n\r\nvar impressionMap = {};\r\nvar formId = form.id;\r\nvar $removal\u0421ontainersEmbed = PopMechanic.$('[data-popmechanic-embed=\"' + formId + '\"]');\r\nvar $removal\u0421ontainers = PopMechanic.$('#popmechanic-container-' + formId);\r\nvar recommendations = settings.recommendations || [];\r\n\r\nif (settings.map_recommendations) {\r\n try {\r\n recommendations = new Function('recommendations', settings.map_recommendations)(settings.recommendations) || settings.recommendations;\r\n } catch (err) {}\r\n}\r\n\r\nvar form = arguments[0] || {};\r\n\r\ntry {\r\n var lessCount;\r\n try {\r\n lessCount = parseInt('<% try { print(lessCount); } catch (e) { print(0); } %>') || 0;\r\n } catch (e) {\r\n lessCount = 0;\r\n };\r\n var enableTns = true;\r\n try {\r\n enableTns = !!(parseInt('<% try { print(enableTns); } catch (e) { print(0); } %>') || 1);\r\n } catch (e) {\r\n enableTns = true;\r\n };\r\n var groupSlidesBy = parseInt('<%= groupSlidesBy %>');\r\n\r\n var responsiveArray = '<%= responsive %>'.split(';');\r\n var firstPoint = responsiveArray[0].split(',');\r\n var responsive = {};\r\n for (var i = 1; i < responsiveArray.length; i++) {\r\n var params = responsiveArray[i].split(',');\r\n responsive[params[0]] = {\r\n items: params[1],\r\n gutter: params[2] || 0,\r\n slideBy: params[3] || 1\r\n };\r\n }\r\n\r\n var tnsParams = {\r\n nav: parseInt('<%= slider_show_bullit %>'),\r\n navPosition: '<%= slider_bullit_position %>',\r\n controlsContainer: '#popmechanic-form-' + formId + ' .popmechanic-controls',\r\n items: firstPoint[0],\r\n mouseDrag: true,\r\n gutter: firstPoint[1] || 0,\r\n slideBy: firstPoint[2] || 1,\r\n responsive: responsive,\r\n loop: parseInt('<%= loopSlider %>'),\r\n controls: !!<%= controls %>\r\n };\r\n\r\n var userParams = <% try { print(user_tns); } catch (e) { print('{}'); } %>;\r\n\r\n tnsParams = PopMechanic.$.extend(true, tnsParams, userParams);\r\n\r\n var $container = PopMechanic.$('#popmechanic-form-' + formId + ', [data-popmechanic-embed=\"' + formId + '\"]');\r\n\r\n if (!$container.length) {\r\n $container = PopMechanic.$('#popmechanic-container-' + formId);\r\n }\r\n if (!$container.length) {\r\n return;\r\n }\r\n\r\n var cardTemplate = PopMechanic._.template(\r\n $container.find('script[type=\"text\\/x-template\"]')\r\n .html()\r\n .replace(/\\s+/g, ' '),\r\n {\r\n interpolate: /\\{\\{(.+?)\\}\\}/g,\r\n evaluate: /\\{\\%(.+?)\\%\\}/g\r\n }\r\n );\r\n\r\n var templateSettings = {\r\n card_label_discount_show: '<%= card_label_discount_show %>',\r\n card_label_new_show: '<%= card_label_new_show %>',\r\n card_label_new_text: '<%= card_label_new_text %>',\r\n card_name_show: '<%= card_name_show %>',\r\n card_rating_show: '<%= card_rating_show %>',\r\n card_prices_show: '<%= card_prices_show %>',\r\n card_prices_symbol: '<%= card_prices_symbol %>',\r\n card_price_discount_show: '<%= card_price_discount_show %>',\r\n btn_cart_show: '<%= btn_cart_show %>',\r\n btn_cart_text: '<%= btn_cart_text %>',\r\n btn_cart_text_after: '<%= btn_cart_text_after %>',\r\n btn_cart_func: '<%= btn_cart_func %>',\r\n btn_fav_show: '<%= btn_fav_show %>',\r\n btn_fav_func: '<%= btn_fav_func %>',\r\n card_vendor_show: '<%= card_vendor_show %>',\r\n card_label_new_customfield: '<%= card_label_new_customfield %>',\r\n card_rating_customfield: '<%= card_rating_customfield %>',\r\n btn_cart_icon_show: '<%= btn_cart_icon_show %>',\r\n card_name_ordering: '<%= card_name_ordering %>',\r\n card_vendor_ordering: '<%= card_vendor_ordering %>',\r\n card_rating_ordering: '<%= card_rating_ordering %>',\r\n card_prices_ordering: '<%= card_prices_ordering %>',\r\n btn_cart_ordering: '<%= btn_cart_ordering %>',\r\n grouping_attr: '<%= grouping_attr %>',\r\n recommendations: recommendations,\r\n };\r\n\r\n function renderProductList() {\r\n function onInit() {\r\n try {\r\n var container = $container.find('.popmechanic-items')[0];\r\n if (!container) {\r\n return;\r\n }\r\n\r\n if (!$container.find('.popmechanic-item-card').length) {\r\n $removal\u0421ontainersEmbed.remove();\r\n $removal\u0421ontainers.remove();\r\n return;\r\n }\r\n window.PopMechanicTnsQ = window.PopMechanicTnsQ || [];\r\n\r\n if (enableTns) {\r\n window.PopMechanicTnsQ.push(function () {\r\n form.reportSlaSuccess();\r\n window.PopMechanicSlider = window.PopMechanicSlider || {};\r\n window.PopMechanicSlider[formId] = PopMechanicTns(PopMechanic.$.extend({ container: container }, tnsParams));\r\n\r\n var reco = null;\r\n if ($container.is('.popmechanic-widget-reco')) {\r\n reco = $container;\r\n } else {\r\n reco = $container.find('.popmechanic-widget-reco');\r\n }\r\n reco.addClass('popmechanic-loaded');\r\n var debouncedStopDrag = PopMechanic._.debounce(function() {\r\n PopMechanic.$(\"#popmechanic-form-\" + formId).removeClass('popmechanic-dragged');\r\n }, 200)\r\n PopMechanicSlider[formId].events.on('dragMove', function() {\r\n PopMechanic.$(\"#popmechanic-form-\" + formId).addClass('popmechanic-dragged');\r\n debouncedStopDrag();\r\n });\r\n PopMechanicSlider[formId].events.on('dragEnd', function() {\r\n PopMechanic.$(\"#popmechanic-form-\" + formId).removeClass('popmechanic-dragged');\r\n });\r\n\r\n // GROUPING\r\n function resolveAttr(obj, attr) {\r\n var result = attr.split('.').reduce((acc, val) => acc && acc[val], obj);\r\n if (result) {\r\n return result.toString(10).toLowerCase();\r\n }\r\n }\r\n\r\n PopMechanic.$('.popmechanic-tab').on('click', function(e) {\r\n var $this = PopMechanic.$(this);\r\n\r\n // UPDATE TABS\r\n e.preventDefault();\r\n $this.toggleClass('popmechanic-tab-active');\r\n $this.siblings().removeClass('popmechanic-tab-active');\r\n\r\n // UPDATE SLIDES\r\n var tabName = $this.data('popmechanic-tab').toString(10).split(',').map(el => el.trim().toLowerCase());\r\n\r\n PopMechanicSlider[formId].destroy();\r\n $container.find('.popmechanic-items').empty();\r\n\r\n if ($this.hasClass('popmechanic-tab-active')) {\r\n recommendations.map(function(product, i) {\r\n if (tabName.includes(resolveAttr(product, '<%= grouping_attr %>'))) {\r\n var $item = PopMechanic.$(\r\n cardTemplate(PopMechanic.$.extend(true, templateSettings, {\r\n product: product,\r\n index: i,\r\n })));\r\n $container.find('.popmechanic-items').append($item);\r\n }\r\n });\r\n } else {\r\n recommendations.map(function(product, i) {\r\n var $item = PopMechanic.$(\r\n cardTemplate(PopMechanic.$.extend(true, templateSettings, {\r\n product: product,\r\n index: i,\r\n })));\r\n $container.find('.popmechanic-items').append($item);\r\n });\r\n }\r\n window.PopMechanicSlider[formId] = PopMechanicSlider[formId].rebuild();\r\n });\r\n\r\n PopMechanicSlider[formId].events.on('indexChanged', function() {\r\n reco.find('.tns-slide-active').each(function(i, el) {\r\n impressionMap[PopMechanic.$(el).data('clickTrack')]();\r\n });\r\n });\r\n reco.find('.tns-slide-active').each(function(i, el) {\r\n impressionMap[PopMechanic.$(el).data('clickTrack')]();\r\n });\r\n });\r\n } else {\r\n $container.find('.popmechanic-widget-reco').addClass('popmechanic-loaded');\r\n $container.find('.popmechanic-item-card').each(function(i, el) {\r\n impressionMap[PopMechanic.$(el).data('clickTrack')]();\r\n });\r\n form.reportSlaSuccess();\r\n }\r\n } catch (e) {\r\n $removal\u0421ontainersEmbed.remove();\r\n $removal\u0421ontainers.remove();\r\n console.error('PopMechanic widget ' + formId, e.message);\r\n form.reportSlaFailure('script-error', e);\r\n }\r\n }\r\n\r\n $container.find(\".popmechanic-items\").empty();\r\n $container.find('.popmechanic-items-wrapper').html('
');\r\n var $carousel = $container.find('.popmechanic-items');\r\n $carousel.empty();\r\n var slideAccumulator = [];\r\n var $slideContainer = PopMechanic.$('
');\r\n\r\n for (var i = 0; i < recommendations.length; i++) {\r\n var product = recommendations[i];\r\n if (product.oldPrice && product.oldPrice <= product.price) {\r\n product.oldPrice = null;\r\n }\r\n product.customFields = product.customFields || {};\r\n product.discount = (product.oldPrice && product.price !== product.oldPrice) ? (100 * (product.oldPrice - product.price) / product.oldPrice).toFixed(0) + '%' : null;\r\n\r\n try {\r\n var $item = PopMechanic.$(\r\n cardTemplate(PopMechanic.$.extend(true, templateSettings, {\r\n product: product,\r\n index: i,\r\n })));\r\n } catch (e) { continue; }\r\n if (groupSlidesBy === 1) {\r\n $carousel.append($item);\r\n } else {\r\n slideAccumulator.push($item);\r\n $slideContainer.append($item);\r\n if (slideAccumulator.length == groupSlidesBy) {\r\n slideAccumulator = [];\r\n $carousel.append($slideContainer);\r\n $slideContainer = PopMechanic.$('
');\r\n }\r\n }\r\n\r\n (function(i, product) {\r\n $item.attr('data-click-track', i);\r\n PopMechanic.$('#popmechanic-form-' + formId).on('click', '[data-click-track=\"' + i + '\"]', function() {\r\n event.stopPropagation(); \r\n if (mindbox) {\r\n mindbox(\"async\", {\r\n operation: \"popmechanic-widget-click-\" + formId,\r\n data: {\r\n clicked: {\r\n product: {\r\n ids: product.ids,\r\n }\r\n }\r\n },\r\n onSuccess: function() {\r\n // console.log('successful click');\r\n },\r\n onError: function(error) {\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n settings.gaTracker.selectItem(product, i);\r\n return true;\r\n });\r\n }(i, product));\r\n }\r\n\r\n \r\n recommendations.map(function(product, i) {\r\n impressionMap[i] = function() {\r\n settings.gaTracker.viewItemList(product, i, { non_interaction: true });\r\n };\r\n });\r\n\r\n onInit();\r\n }\r\n\r\n var recommendationsLimit = recommendations.length;\r\n\r\n if (recommendationsLimit) {\r\n if (lessCount === 0 || lessCount <= recommendationsLimit) {\r\n renderProductList();\r\n } else {\r\n $removal\u0421ontainersEmbed.remove();\r\n $removal\u0421ontainers.remove();\r\n console.log('PopMechanic widget ' + formId + ': empty response');\r\n form.reportSlaSuccess();\r\n }\r\n } else {\r\n form.reportSlaSuccess();\r\n throw new Error('no data from mindbox');\r\n }\r\n} catch (e) {\r\n $removal\u0421ontainersEmbed.remove();\r\n $removal\u0421ontainers.remove();\r\n console.error('PopMechanic widget ' + formId, e.message);\r\n form.reportSlaSuccess();\r\n}", "on_close": "var form = arguments[0] || {};\r\nwindow.PopMechanicSlider && window.PopMechanicSlider[form.id] && window.PopMechanicSlider[form.id].destroy && window.PopMechanicSlider[form.id].destroy();", "embed_code": "", "behaviors": ["info", "reco-sla", "reco_data", "tns"], "template_type": "embedded", "need_reset": false, "parameters": [], "on_targeting_ready": "", "on_child_ready": ""}], "button_templates": [], "integrations": [{"id": 54618, "form": 57642, "filter": null, "filter_type": null, "account": 25289, "integration_type": "mindbox_tracking", "show_operation": "popmechanic-reco-widget-57642-show", "click_operation": null, "targeting_operation": "popmechanic-reco-widget-57642-targeting"}, {"id": 93800, "form": 83425, "filter": null, "filter_type": null, "account": 25289, "integration_type": "mindbox_tracking", "show_operation": "popmechanic-reco-widget-83425-show", "click_operation": null, "targeting_operation": "popmechanic-reco-widget-83425-targeting"}], "settings": {"hide_copyright": true, "premium": true}, "frequency": {"minimal_timeout": null, "session": null, "day": null, "week": null, "month": null}, "global_ab_tests": [], "ip": "1.1.1.1", "contacts": [], "geo": null}